From patchwork Fri Jul 6 08:55:17 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Szabolcs Nagy X-Patchwork-Id: 940335 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=sourceware.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=libc-alpha-return-94051-incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b="I7DuOMIw"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=armh.onmicrosoft.com header.i=@armh.onmicrosoft.com header.b="BoeW1OVQ"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41MTBh1bk5z9s1B for ; Fri, 6 Jul 2018 18:57:32 +1000 (AEST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:cc:subject:from:to:references:message-id:date :mime-version:in-reply-to:content-type; q=dns; s=default; b=vhDS W0inBZjkK/fYoEcxUBNuKelG7jG81aridOIc40x0v3PBAcsLVaTGgFJSTAAHd0jB WYLd2kt3v5yEux3vO7h2t9WgVdHfrF0qSwF0E522pORSVzaWumuCjdrs+ZEszgb4 yqRGa0JnnzxtwTGeYIsuzTZFV0r3T+055IOCuX4= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:cc:subject:from:to:references:message-id:date :mime-version:in-reply-to:content-type; s=default; bh=M15nZwV7LM FtO9dT8zUGo7LJwuY=; b=I7DuOMIwNFCIIR7vHKyV4VaBNnRO91HFkoYRUok5OA 60EUNiiGnIqTDJmKAKu5nllKvk4kPkmYQ3aw4ABugaFkvgRtdxFMO8J7lHAtUYd7 jaldugOm7rNGn6DJKnt30wA4ZgwVn4j3YAVx+VF4SusfLfWiMxjispzUxjhl0p6w g= Received: (qmail 27943 invoked by alias); 6 Jul 2018 08:57:25 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 11454 invoked by uid 89); 6 Jul 2018 08:55:32 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-25.9 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 spammy=3823, Hx-languages-length:4695 X-HELO: EUR04-VI1-obe.outbound.protection.outlook.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qwBXgsImG/DsvAAiZuPlATwbEgQxcYGWJLg9wM8LfUw=; b=BoeW1OVQhKnVHS3jOBHV83OBi5ANfYrrL530LJGo6OrXZ8nrNQ/ASYoUZYXxA9HkmrD1r5BtZppwpEjrwWH2b/8vROvrttbn8rpiXgTFtIkTpmqX9BO2BlAPmo2MCW/3dhxJ9Og8rsUa9S0apykQQ5DYorBpBHtsIPwSyEpALJw= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Szabolcs.Nagy@arm.com; Cc: nd@arm.com, Wilco Dijkstra , Joseph Myers Subject: [PATCH 01/10] Clean up converttoint handling and document the semantics From: Szabolcs Nagy To: GNU C Library References: Message-ID: Date: Fri, 6 Jul 2018 09:55:17 +0100 User-Agent: Mozilla/5.0 (X11; Linux aarch64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: Received-SPF: None (protection.outlook.com: arm.com does not designate permitted sender hosts) This patch currently only affects aarch64. The roundtoint and converttoint internal functions are only called with small values, so 32 bit result is enough for converttoint and it is a signed int conversion so the return type is changed to int32_t. The original idea was to help the compiler keeping the result in uint64_t, then it's clear that no sign extension is needed and there is no accidental undefined or implementation defined signed int arithmetics. But it turns out gcc does a good job with inlining so changing the type has no overhead and the semantics of the conversion is less surprising this way. Since we want to allow the asuint64 (x + 0x1.8p52) style conversion, the top bits were never usable and the existing code ensures that only the bottom 32 bits of the conversion result are used. On aarch64 the neon intrinsics (which round ties to even) are changed to round and lround (which round ties away from zero) this does not affect the results in a significant way, but more portable (relies on round and lround being inlined which works with -fno-math-errno). The TOINT_SHIFT and TOINT_RINT macros were removed, only keep separate code paths for TOINT_INTRINSICS and !TOINT_INTRINSICS. 2018-07-06 Wilco Dijkstra Szabolcs Nagy * sysdeps/aarch64/fpu/math_private.h (roundtoint): Use round. (converttoint): Use lround. * sysdeps/ieee754/flt-32/math_config.h (roundtoint): Declare and document the semantics when TOINT_INTRINSICS is set. (converttoint): Likewise. (TOINT_RINT): Remove. (TOINT_SHIFT): Remove. * sysdeps/ieee754/flt-32/e_expf.c (__expf): Remove the TOINT_RINT code path. --- sysdeps/aarch64/fpu/math_private.h | 17 +++++++---------- sysdeps/ieee754/flt-32/e_expf.c | 5 +---- sysdeps/ieee754/flt-32/math_config.h | 20 +++++++++++++++----- 3 files changed, 23 insertions(+), 19 deletions(-) diff --git a/sysdeps/aarch64/fpu/math_private.h b/sysdeps/aarch64/fpu/math_private.h index fcd02c0654..d2e0abc0b2 100644 --- a/sysdeps/aarch64/fpu/math_private.h +++ b/sysdeps/aarch64/fpu/math_private.h @@ -21,6 +21,8 @@ #include #include +#include +#include static __always_inline void libc_feholdexcept_aarch64 (fenv_t *envp) @@ -298,25 +300,20 @@ libc_feresetround_noex_aarch64_ctx (struct rm_ctx *ctx) #define libc_feresetround_noexf_ctx libc_feresetround_noex_aarch64_ctx #define libc_feresetround_noexl_ctx libc_feresetround_noex_aarch64_ctx -/* Hack: only include the large arm_neon.h when needed. */ -#ifdef _MATH_CONFIG_H -# include - -/* ACLE intrinsics for frintn and fcvtns instructions. */ -# define TOINT_INTRINSICS 1 +/* Use inline round and lround instructions. */ +#define TOINT_INTRINSICS 1 static inline double_t roundtoint (double_t x) { - return vget_lane_f64 (vrndn_f64 (vld1_f64 (&x)), 0); + return round (x); } -static inline uint64_t +static inline int32_t converttoint (double_t x) { - return vcvtnd_s64_f64 (x); + return lround (x); } -#endif #include_next diff --git a/sysdeps/ieee754/flt-32/e_expf.c b/sysdeps/ieee754/flt-32/e_expf.c index f2238bfd74..384a586172 100644 --- a/sysdeps/ieee754/flt-32/e_expf.c +++ b/sysdeps/ieee754/flt-32/e_expf.c @@ -85,10 +85,7 @@ __expf (float x) #if TOINT_INTRINSICS kd = roundtoint (z); ki = converttoint (z); -#elif TOINT_RINT - kd = rint (z); - ki = (long) kd; -#elif TOINT_SHIFT +#else # define SHIFT __exp2f_data.shift kd = math_narrow_eval ((double) (z + SHIFT)); /* Needs to be double. */ ki = asuint64 (kd); diff --git a/sysdeps/ieee754/flt-32/math_config.h b/sysdeps/ieee754/flt-32/math_config.h index 9c4ef30173..8ca7532686 100644 --- a/sysdeps/ieee754/flt-32/math_config.h +++ b/sysdeps/ieee754/flt-32/math_config.h @@ -38,13 +38,23 @@ #endif #ifndef TOINT_INTRINSICS +/* When set, the roundtoint and converttoint functions are provided with + the semantics documented below. */ # define TOINT_INTRINSICS 0 #endif -#ifndef TOINT_RINT -# define TOINT_RINT 0 -#endif -#ifndef TOINT_SHIFT -# define TOINT_SHIFT 1 + +#if TOINT_INTRINSICS +/* Round x to nearest int in all rounding modes, ties have to be rounded + consistently with converttoint so the results match. If the result + would be outside of [-2^31, 2^31-1] then the semantics is unspecified. */ +static inline double_t +roundtoint (double_t x); + +/* Convert x to nearest int in all rounding modes, ties have to be rounded + consistently with roundtoint. If the result is not representible in an + int32_t then the semantics is unspecified. */ +static inline int32_t +converttoint (double_t x); #endif static inline uint32_t From patchwork Fri Jul 6 08:57:38 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Szabolcs Nagy X-Patchwork-Id: 940336 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=sourceware.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=libc-alpha-return-94052-incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b="GGfJVr+D"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=armh.onmicrosoft.com header.i=@armh.onmicrosoft.com header.b="JgBbOYzG"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41MTC74LhNz9s1B for ; Fri, 6 Jul 2018 18:57:55 +1000 (AEST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:cc:subject:from:to:references:message-id:date :mime-version:in-reply-to:content-type; q=dns; s=default; b=PkS7 JjbMGmGf6YAJATkjhj/he3TGuQxgQOp4lpyQPpR8+kInieTfnAN+75+glfNkKLH/ wV6Y4GRKoS5FjRG0JjjJhl6vVPk0OnT3jaUZNndx0rE2wB7UWWOR+uwVtdvADNbm WjERvj2hAFGruoYb28GAJqcOuC4VNdqhIgorWEU= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:cc:subject:from:to:references:message-id:date :mime-version:in-reply-to:content-type; s=default; bh=du/CoHl3Qr VH9ZBxZx/j+nO9pBI=; b=GGfJVr+Dn8rPY3eov9wBBrAz2wFJcHkS3dTjXvc13L vI0mZWUlMjvJhLmhmrbOQYhfYDFgHt/cNff6oz+cJJubAaZ1H9+wY21m1wWDICu4 eVnYE41P/xRSIslRX1FFTvUGjOzTwpXqDBydqDvtviMOyD2qlnOk+FdiCUgCqsN2 4= Received: (qmail 35780 invoked by alias); 6 Jul 2018 08:57:49 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 35381 invoked by uid 89); 6 Jul 2018 08:57:48 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-25.9 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 spammy=billion, signs X-HELO: EUR02-VE1-obe.outbound.protection.outlook.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gvoThCIWkHabIigQziSOh9gCY1gqHEPOwjoaQThPU+s=; b=JgBbOYzG7emgL81fnPGicCsr1Sp22Cv3GvOWYUymcDMMp7VELC4BdN7MOhBFjWcMvu8aD+5E1ICtA2bcvWaxhRphn05NIP/nsXiyRm6yFeF2pzpJofbJUAwpkdpKLUJyaG6vs7BfMoR6hgH4EQixdkZl5bzcekIQozuKLbV9Y08= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Szabolcs.Nagy@arm.com; Cc: nd@arm.com, Wilco Dijkstra , Joseph Myers Subject: [PATCH 02/10] Improve performance of sincosf From: Szabolcs Nagy To: GNU C Library References: Message-ID: <725dd4a7-f002-65da-4e5c-370cb78c3e77@arm.com> Date: Fri, 6 Jul 2018 09:57:38 +0100 User-Agent: Mozilla/5.0 (X11; Linux aarch64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: Received-SPF: None (protection.outlook.com: arm.com does not designate permitted sender hosts) v4: - Added empty s_sincosf_data.c on targets with their own sincosf. - Moved round/converttoint changes in math_private.h to separate patch. This patch is a complete rewrite of sinf, cosf and sincosf. The new version is significantly faster, as well as simple and accurate. The worst-case ULP is 0.56072, maximum relative error is 0.5303p-23 over all 4 billion inputs. In non-nearest rounding modes the error is 1ULP. The algorithm uses 3 main cases: small inputs which don't need argument reduction, small inputs which need a simple range reduction and large inputs requiring complex range reduction. The code uses approximate integer comparisons to quickly decide between these cases - on some targets this may be slow, so this can be configured to use floating point comparisons. The small range reducer uses a single reduction step to handle values up to 120.0. It is fastest on targets which support inlined round instructions. The large range reducer uses integer arithmetic for simplicity. It does a 32x96 bit multiply to compute a 64-bit modulo result. This is more than accurate enough to handle the worst-case cancellation for values close to an integer multiple of PI/4. It could be further optimized, however it is already much faster than necessary. sincosf throughput gains on Cortex-A72: * |x| < 0x1p-12 : 1.6x * |x| < M_PI_4 : 1.7x * |x| < 2 * M_PI: 1.5x * |x| < 120.0 : 1.8x * |x| < Inf : 2.3x On a benchmark with significant use of sincosf the overall speedup is >33%. ChangeLog: 2018-07-06 Wilco Dijkstra Szabolcs Nagy * math/Makefile: Add s_sincosf_data.c. * sysdeps/ia64/fpu/s_sincosf_data.c: New file. * sysdeps/ieee754/flt-32/math_config.h (PREFER_FLOAT_COMPARISON): Define. * sysdeps/ieee754/flt-32/s_sincosf.h (abstop12): Add new function. (sincosf_poly): Likewise. (reduce_small): Likewise. (reduce_large): Likewise. * sysdeps/ieee754/flt-32/s_sincosf.c (sincosf): Rewrite. * sysdeps/ieee754/flt-32/s_sincosf_data.c: New file with sincosf data. * sysdeps/m68k/m680x0/fpu/s_sincosf_data.c: New file. * sysdeps/x86_64/fpu/s_sincosf_data.c: New file. --- math/Makefile | 2 +- sysdeps/ia64/fpu/s_sincosf_data.c | 1 + sysdeps/ieee754/flt-32/math_config.h | 3 + sysdeps/ieee754/flt-32/s_sincosf.c | 197 ++++++++++--------------------- sysdeps/ieee754/flt-32/s_sincosf.h | 119 +++++++++++++++++++ sysdeps/ieee754/flt-32/s_sincosf_data.c | 74 ++++++++++++ sysdeps/m68k/m680x0/fpu/s_sincosf_data.c | 1 + sysdeps/x86_64/fpu/s_sincosf_data.c | 1 + 8 files changed, 265 insertions(+), 133 deletions(-) create mode 100644 sysdeps/ia64/fpu/s_sincosf_data.c create mode 100644 sysdeps/ieee754/flt-32/s_sincosf_data.c create mode 100644 sysdeps/m68k/m680x0/fpu/s_sincosf_data.c create mode 100644 sysdeps/x86_64/fpu/s_sincosf_data.c diff --git a/math/Makefile b/math/Makefile index 90b3b68916..e73ceb8d4e 100644 --- a/math/Makefile +++ b/math/Makefile @@ -131,7 +131,7 @@ type-double-routines := branred doasin dosincos mpa mpatan2 \ # float support type-float-suffix := f type-float-routines := k_rem_pio2f math_errf e_exp2f_data e_logf_data \ - e_log2f_data e_powf_log2_data + e_log2f_data e_powf_log2_data s_sincosf_data # _Float128 support type-float128-suffix := f128 diff --git a/sysdeps/ia64/fpu/s_sincosf_data.c b/sysdeps/ia64/fpu/s_sincosf_data.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/ia64/fpu/s_sincosf_data.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/ieee754/flt-32/math_config.h b/sysdeps/ieee754/flt-32/math_config.h index 8ca7532686..145e31f382 100644 --- a/sysdeps/ieee754/flt-32/math_config.h +++ b/sysdeps/ieee754/flt-32/math_config.h @@ -42,6 +42,9 @@ the semantics documented below. */ # define TOINT_INTRINSICS 0 #endif +#ifndef PREFER_FLOAT_COMPARISON +# define PREFER_FLOAT_COMPARISON 0 +#endif #if TOINT_INTRINSICS /* Round x to nearest int in all rounding modes, ties have to be rounded diff --git a/sysdeps/ieee754/flt-32/s_sincosf.c b/sysdeps/ieee754/flt-32/s_sincosf.c index d4a5a1b22c..cb3c379f88 100644 --- a/sysdeps/ieee754/flt-32/s_sincosf.c +++ b/sysdeps/ieee754/flt-32/s_sincosf.c @@ -1,5 +1,5 @@ /* Compute sine and cosine of argument. - Copyright (C) 2017-2018 Free Software Foundation, Inc. + Copyright (C) 2018 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -17,9 +17,11 @@ . */ #include +#include #include -#include +#include #include +#include "math_config.h" #include "s_sincosf.h" #ifndef SINCOSF @@ -28,141 +30,72 @@ # define SINCOSF_FUNC SINCOSF #endif +/* Fast sincosf implementation. Worst-case ULP is 0.56072, maximum relative + error is 0.5303p-23. A single-step signed range reduction is used for + small values. Large inputs have their range reduced using fast integer + arithmetic. +*/ void -SINCOSF_FUNC (float x, float *sinx, float *cosx) +SINCOSF_FUNC (float y, float *sinp, float *cosp) { - double cx; - double theta = x; - double abstheta = fabs (theta); - /* If |x|< Pi/4. */ - if (isless (abstheta, M_PI_4)) + double x = y; + double s; + int n; + const sincos_t *p = &__sincosf_table[0]; + + if (abstop12 (y) < abstop12 (pio4)) + { + double x2 = x * x; + + if (__glibc_unlikely (abstop12 (y) < abstop12 (0x1p-12f))) + { + /* Force underflow for tiny y. */ + if (__glibc_unlikely (abstop12 (y) < abstop12 (0x1p-126f))) + math_force_eval ((float)x2); + *sinp = y; + *cosp = 1.0f; + return; + } + + sincosf_poly (x, x2, p, 0, sinp, cosp); + } + else if (abstop12 (y) < abstop12 (120.0f)) { - if (abstheta >= 0x1p-5) /* |x| >= 2^-5. */ - { - const double theta2 = theta * theta; - /* Chebyshev polynomial of the form for sin and cos. */ - cx = C3 + theta2 * C4; - cx = C2 + theta2 * cx; - cx = C1 + theta2 * cx; - cx = C0 + theta2 * cx; - cx = 1.0 + theta2 * cx; - *cosx = cx; - cx = S3 + theta2 * S4; - cx = S2 + theta2 * cx; - cx = S1 + theta2 * cx; - cx = S0 + theta2 * cx; - cx = theta + theta * theta2 * cx; - *sinx = cx; - } - else if (abstheta >= 0x1p-27) /* |x| >= 2^-27. */ - { - /* A simpler Chebyshev approximation is close enough for this range: - for sin: x+x^3*(SS0+x^2*SS1) - for cos: 1.0+x^2*(CC0+x^3*CC1). */ - const double theta2 = theta * theta; - cx = CC0 + theta * theta2 * CC1; - cx = 1.0 + theta2 * cx; - *cosx = cx; - cx = SS0 + theta2 * SS1; - cx = theta + theta * theta2 * cx; - *sinx = cx; - } - else - { - /* Handle some special cases. */ - if (theta) - *sinx = theta - (theta * SMALL); - else - *sinx = theta; - *cosx = 1.0 - abstheta; - } + x = reduce_fast (x, p, &n); + + /* Setup the signs for sin and cos. */ + s = p->sign[n & 3]; + + if (n & 2) + p = &__sincosf_table[1]; + + sincosf_poly (x * s, x * x, p, n, sinp, cosp); } - else /* |x| >= Pi/4. */ + else if (__glibc_likely (abstop12 (y) < abstop12 (INFINITY))) { - unsigned int signbit = isless (x, 0); - if (isless (abstheta, 9 * M_PI_4)) /* |x| < 9*Pi/4. */ - { - /* There are cases where FE_UPWARD rounding mode can - produce a result of abstheta * inv_PI_4 == 9, - where abstheta < 9pi/4, so the domain for - pio2_table must go to 5 (9 / 2 + 1). */ - unsigned int n = (abstheta * inv_PI_4) + 1; - theta = abstheta - pio2_table[n / 2]; - *sinx = reduced_sin (theta, n, signbit); - *cosx = reduced_cos (theta, n); - } - else if (isless (abstheta, INFINITY)) - { - if (abstheta < 0x1p+23) /* |x| < 2^23. */ - { - unsigned int n = ((unsigned int) (abstheta * inv_PI_4)) + 1; - double x = n / 2; - theta = (abstheta - x * PI_2_hi) - x * PI_2_lo; - /* Argument reduction needed. */ - *sinx = reduced_sin (theta, n, signbit); - *cosx = reduced_cos (theta, n); - } - else /* |x| >= 2^23. */ - { - x = fabsf (x); - int exponent; - GET_FLOAT_WORD (exponent, x); - exponent - = (exponent >> FLOAT_EXPONENT_SHIFT) - FLOAT_EXPONENT_BIAS; - exponent += 3; - exponent /= 28; - double a = invpio4_table[exponent] * x; - double b = invpio4_table[exponent + 1] * x; - double c = invpio4_table[exponent + 2] * x; - double d = invpio4_table[exponent + 3] * x; - uint64_t l = a; - l &= ~0x7; - a -= l; - double e = a + b; - l = e; - e = a - l; - if (l & 1) - { - e -= 1.0; - e += b; - e += c; - e += d; - e *= M_PI_4; - *sinx = reduced_sin (e, l + 1, signbit); - *cosx = reduced_cos (e, l + 1); - } - else - { - e += b; - e += c; - e += d; - if (e <= 1.0) - { - e *= M_PI_4; - *sinx = reduced_sin (e, l + 1, signbit); - *cosx = reduced_cos (e, l + 1); - } - else - { - l++; - e -= 2.0; - e *= M_PI_4; - *sinx = reduced_sin (e, l + 1, signbit); - *cosx = reduced_cos (e, l + 1); - } - } - } - } - else - { - int32_t ix; - /* High word of x. */ - GET_FLOAT_WORD (ix, abstheta); - /* sin/cos(Inf or NaN) is NaN. */ - *sinx = *cosx = x - x; - if (ix == 0x7f800000) - __set_errno (EDOM); - } + uint32_t xi = asuint (y); + int sign = xi >> 31; + + x = reduce_large (xi, &n); + + /* Setup signs for sin and cos - include original sign. */ + s = p->sign[(n + sign) & 3]; + + if ((n + sign) & 2) + p = &__sincosf_table[1]; + + sincosf_poly (x * s, x * x, p, n, sinp, cosp); + } + else + { + /* Return NaN if Inf or NaN for both sin and cos. */ + *sinp = *cosp = y - y; +#if WANT_ERRNO + /* Needed to set errno for +-Inf, the add is a hack to work + around a gcc register allocation issue: just passing y + affects code generation in the fast path. */ + __math_invalidf (y + y); +#endif } } diff --git a/sysdeps/ieee754/flt-32/s_sincosf.h b/sysdeps/ieee754/flt-32/s_sincosf.h index 35b5eee536..f1fcf4ce5f 100644 --- a/sysdeps/ieee754/flt-32/s_sincosf.h +++ b/sysdeps/ieee754/flt-32/s_sincosf.h @@ -16,6 +16,10 @@ License along with the GNU C Library; if not, see . */ +#include +#include +#include "math_config.h" + /* Chebyshev constants for cos, range -PI/4 - PI/4. */ static const double C0 = -0x1.ffffffffe98aep-2; static const double C1 = 0x1.55555545c50c7p-5; @@ -153,3 +157,118 @@ reduced_cos (double theta, unsigned int n) } return sign * cx; } + + +/* PI * 2^-64. */ +static const double pi64 = 0x1.921FB54442D18p-62; +/* PI / 4. */ +static const double pio4 = 0x1.921FB54442D18p-1; + +typedef struct +{ + double sign[4]; + double hpi_inv, hpi, c0, c1, c2, c3, c4, s1, s2, s3; +} sincos_t; + +extern const sincos_t __sincosf_table[2] attribute_hidden; + +extern const uint32_t __inv_pio4[] attribute_hidden; + +/* abstop12 assumes floating point reinterpret is fast by default. + If floating point comparisons are faster, define PREFER_FLOAT_COMPARISON. */ +#if PREFER_FLOAT_COMPARISON +static inline float +abstop12 (float x) +{ + return fabsf (x); +} +#else +static inline uint32_t +abstop12 (float x) +{ + return (asuint (x) >> 20) & 0x7ff; +} +#endif + +/* Compute the sine and cosine of inputs X and X2 (X squared), using the + polynomial P and store the results in SINP and COSP. N is the quadrant, + if odd the cosine and sine polynomials are swapped. */ +static inline void +sincosf_poly (double x, double x2, const sincos_t *p, int n, float *sinp, + float *cosp) +{ + double x3, x4, x5, x6, s, c, c1, c2, s1; + + x4 = x2 * x2; + x3 = x2 * x; + c2 = p->c3 + x2 * p->c4; + s1 = p->s2 + x2 * p->s3; + + /* Swap sin/cos result based on quadrant. */ + float *tmp = (n & 1 ? cosp : sinp); + cosp = (n & 1 ? sinp : cosp); + sinp = tmp; + + c1 = p->c0 + x2 * p->c1; + x5 = x3 * x2; + x6 = x4 * x2; + + s = x + x3 * p->s1; + c = c1 + x4 * p->c2; + + *sinp = s + x5 * s1; + *cosp = c + x6 * c2; +} + +/* Fast range reduction using single multiply-subtract. Return the modulo of + X as a value between -PI/4 and PI/4 and store the quadrant in NP. + The values for PI/2 and 2/PI are accessed via P. Since PI/2 as a double + is accurate to 55 bits and the worst-case cancellation happens at 6 * PI/4, + only 2 multiplies are required and the result is accurate for |X| <= 120.0. + Use round/lround if inlined, otherwise convert to int. To avoid inaccuracies + introduced by truncating negative values, compute the quadrant * 2^24. */ +static inline double +reduce_fast (double x, const sincos_t *p, int *np) +{ + double r; +#if TOINT_INTRINSICS + r = x * p->hpi_inv; + *np = converttoint (r); + return x - roundtoint (r) * p->hpi; +#else + r = x * p->hpi_inv; + int n = ((int32_t)r + 0x800000) >> 24; + *np = n; + return x - n * p->hpi; +#endif +} + +/* Reduce the range of XI to a multiple of PI/4 using fast integer arithmetic. + XI is a reinterpreted float and must be >= 2.0f (the sign bit is ignored). + Return the modulo between -PI/4 and PI/4 and store the quadrant in NP. + Reduction uses a table of 4/PI with 192 bits of precision. A 32x96->128 bit + multiply computes the exact 2.62-bit fixed-point modulo. Since the result + can have at most 29 leading zeros after the binary point, the double + precision result is accurate to 33 bits. */ +static inline double +reduce_large (uint32_t xi, int *np) +{ + const uint32_t *arr = &__inv_pio4[(xi >> 26) & 15]; + int shift = (xi >> 23) & 7; + uint64_t n, res0, res1, res2; + + xi = (xi & 0xffffff) | 0x800000; + xi <<= shift; + + res0 = xi * arr[0]; + res1 = (uint64_t)xi * arr[4]; + res2 = (uint64_t)xi * arr[8]; + res0 = (res2 >> 32) | (res0 << 32); + res0 += res1; + + n = (res0 + (1ULL << 61)) >> 62; + res0 -= n << 62; + double x = (int64_t)res0; + *np = n; + return x * pi64; +} diff --git a/sysdeps/ieee754/flt-32/s_sincosf_data.c b/sysdeps/ieee754/flt-32/s_sincosf_data.c new file mode 100644 index 0000000000..21fc2b60f9 --- /dev/null +++ b/sysdeps/ieee754/flt-32/s_sincosf_data.c @@ -0,0 +1,74 @@ +/* Compute sine and cosine of argument. + Copyright (C) 2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for 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 +#include "math_config.h" +#include "s_sincosf.h" + +/* The constants and polynomials for sine and cosine. The 2nd entry + computes -cos (x) rather than cos (x) to get negation for free. */ +const sincos_t __sincosf_table[2] = +{ + { + { 1.0, -1.0, -1.0, 1.0 }, +#if TOINT_INTRINSICS + 0x1.45F306DC9C883p-1, +#else + 0x1.45F306DC9C883p+23, +#endif + 0x1.921FB54442D18p0, + 0x1p0, + -0x1.ffffffd0c621cp-2, + 0x1.55553e1068f19p-5, + -0x1.6c087e89a359dp-10, + 0x1.99343027bf8c3p-16, + -0x1.555545995a603p-3, + 0x1.1107605230bc4p-7, + -0x1.994eb3774cf24p-13 + }, + { + { 1.0, -1.0, -1.0, 1.0 }, +#if TOINT_INTRINSICS + 0x1.45F306DC9C883p-1, +#else + 0x1.45F306DC9C883p+23, +#endif + 0x1.921FB54442D18p0, + -0x1p0, + 0x1.ffffffd0c621cp-2, + -0x1.55553e1068f19p-5, + 0x1.6c087e89a359dp-10, + -0x1.99343027bf8c3p-16, + -0x1.555545995a603p-3, + 0x1.1107605230bc4p-7, + -0x1.994eb3774cf24p-13 + } +}; + +/* Table with 4/PI to 192 bit precision. To avoid unaligned accesses + only 8 new bits are added per entry, making the table 4 times larger. */ +const uint32_t __inv_pio4[24] = +{ + 0xa2, 0xa2f9, 0xa2f983, 0xa2f9836e, + 0xf9836e4e, 0x836e4e44, 0x6e4e4415, 0x4e441529, + 0x441529fc, 0x1529fc27, 0x29fc2757, 0xfc2757d1, + 0x2757d1f5, 0x57d1f534, 0xd1f534dd, 0xf534ddc0, + 0x34ddc0db, 0xddc0db62, 0xc0db6295, 0xdb629599, + 0x6295993c, 0x95993c43, 0x993c4390, 0x3c439041 +}; diff --git a/sysdeps/m68k/m680x0/fpu/s_sincosf_data.c b/sysdeps/m68k/m680x0/fpu/s_sincosf_data.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/m68k/m680x0/fpu/s_sincosf_data.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/x86_64/fpu/s_sincosf_data.c b/sysdeps/x86_64/fpu/s_sincosf_data.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/x86_64/fpu/s_sincosf_data.c @@ -0,0 +1 @@ +/* Not needed. */ From patchwork Fri Jul 6 08:58:50 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Szabolcs Nagy X-Patchwork-Id: 940337 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=sourceware.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=libc-alpha-return-94053-incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b="YLnVlWvU"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=armh.onmicrosoft.com header.i=@armh.onmicrosoft.com header.b="FgKEofm+"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41MTF833nCz9s47 for ; Fri, 6 Jul 2018 18:59:40 +1000 (AEST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:cc:subject:from:to:references:message-id:date :mime-version:in-reply-to:content-type; q=dns; s=default; b=tMF6 4gagvX/0j3rbqH6ZHXfjFiPtRo6DWry+V/i+ZLZCMlWFol5nNTWW9H/ZJqqc7WKy 9Rs5sSSchW4VzqcU7oeN9/rCPcCRhnIO0cr7vmSxJ2s1/8doT0X3konelTF8LKt5 dTHedkH2LmO6xy8v9H+RkNw4b+SB6xcSr+KV7OQ= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:cc:subject:from:to:references:message-id:date :mime-version:in-reply-to:content-type; s=default; bh=VGE9mKlyFj yrRAub/EKhGgrYmhM=; b=YLnVlWvUQSpXsEj9P3/tC3uwSiWD3oYs2127oHdKvJ Ubv0uojg8Z7cPG4+A987sVgKfyK6+SsCYdGeWTm4N00f9cUNPaLj1z6PNu7cI9e/ j8A/+NJtyWcpoGwx4zhcXv9PO0n3GlWrHxQwjAmnQXeMX5MCbJ7ztZSFNQw6WLES U= Received: (qmail 48767 invoked by alias); 6 Jul 2018 08:59:33 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 48530 invoked by uid 89); 6 Jul 2018 08:59:04 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-25.9 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: EUR02-VE1-obe.outbound.protection.outlook.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ThoxTpDfr61U3O1oMwNXdV9YokKiAhGJAHiPI/lRsbE=; b=FgKEofm+gpvf2c9EGJH9He0j6L0P5BwnDjfXF11BC5XqxYlHKwxg/XburYWLf6kD8ysyY9xRb7HWz856SvIDSJqzfroJdR/GmxPJSWEHUebQScwe/HQApbQHozE88N+MUMpgFtPMCohcUcs/ecuK2XtSRNEvYQzJpg9HAOqj0Dk= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Szabolcs.Nagy@arm.com; Cc: nd@arm.com, Wilco Dijkstra , Joseph Myers Subject: [PATCH 03/10] Improve performance of sinf and cosf From: Szabolcs Nagy To: GNU C Library References: Message-ID: <480576b5-fbb7-39b2-d80c-80c8931fde21@arm.com> Date: Fri, 6 Jul 2018 09:58:50 +0100 User-Agent: Mozilla/5.0 (X11; Linux aarch64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: Received-SPF: None (protection.outlook.com: arm.com does not designate permitted sender hosts) v4: - remove x86_64 s_sincosf_data.c as now it is used for sinf and cosf. The second patch improves performance of sinf and cosf using the same algorithms and polynomials. The returned values are identical to sincosf for the same input. ULP definitions for AArch64 and x64 are updated. sinf/cosf througput gains on Cortex-A72: * |x| < 0x1p-12 : 1.2x * |x| < M_PI_4 : 1.8x * |x| < 2 * M_PI: 1.7x * |x| < 120.0 : 2.3x * |x| < Inf : 3.0x ChangeLog: 2018-07-06 Wilco Dijkstra Szabolcs Nagy * NEWS: Mention sinf, cosf, sincosf. * sysdeps/aarch64/libm-test-ulps: Update ULP for sinf, cosf, sincosf. * sysdeps/x86_64/fpu/libm-test-ulps: Update ULP for sinf and cosf. * sysdeps/x86_64/fpu/multiarch/s_sincosf-fma.c: Add definitions of constants rather than including generic sincosf.h. * sysdeps/x86_64/fpu/s_sincosf_data.c: Remove. * sysdeps/ieee754/flt-32/s_cosf.c (cosf): Rewrite. * sysdeps/ieee754/flt-32/s_sincosf.h (reduced_sin): Remove. (reduced_cos): Remove. (sinf_poly): New function. * sysdeps/ieee754/flt-32/s_sinf.c (sinf): Rewrite. --- NEWS | 2 + sysdeps/aarch64/libm-test-ulps | 24 ++-- sysdeps/ieee754/flt-32/s_cosf.c | 161 ++++++++----------------- sysdeps/ieee754/flt-32/s_sincosf.h | 171 +++++--------------------- sysdeps/ieee754/flt-32/s_sinf.c | 172 +++++++++------------------ sysdeps/x86_64/fpu/libm-test-ulps | 12 ++ sysdeps/x86_64/fpu/multiarch/s_sincosf-fma.c | 33 ++++- sysdeps/x86_64/fpu/s_sincosf_data.c | 1 - 8 files changed, 192 insertions(+), 384 deletions(-) delete mode 100644 sysdeps/x86_64/fpu/s_sincosf_data.c diff --git a/NEWS b/NEWS index b1ce067d27..8252a2168c 100644 --- a/NEWS +++ b/NEWS @@ -13,6 +13,8 @@ Major new features: transliteration tables are all updated to Unicode 11.0.0, using generator scripts contributed by Mike FABIAN (Red Hat). +* Optimized generic sinf, cosf and sincosf. + * functions that round their results to a narrower type are added from TS 18661-1:2014 and TS 18661-3:2015: diff --git a/sysdeps/aarch64/libm-test-ulps b/sysdeps/aarch64/libm-test-ulps index be06085154..6a89028459 100644 --- a/sysdeps/aarch64/libm-test-ulps +++ b/sysdeps/aarch64/libm-test-ulps @@ -1021,9 +1021,9 @@ ldouble: 1 Function: "cos_downward": double: 1 -float: 2 +float: 1 idouble: 1 -ifloat: 2 +ifloat: 1 ildouble: 3 ldouble: 3 @@ -1037,9 +1037,9 @@ ldouble: 1 Function: "cos_upward": double: 1 -float: 2 +float: 1 idouble: 1 -ifloat: 2 +ifloat: 1 ildouble: 2 ldouble: 2 @@ -1981,9 +1981,9 @@ ldouble: 1 Function: "sin_downward": double: 1 -float: 2 +float: 1 idouble: 1 -ifloat: 2 +ifloat: 1 ildouble: 3 ldouble: 3 @@ -1997,9 +1997,9 @@ ldouble: 2 Function: "sin_upward": double: 1 -float: 2 +float: 1 idouble: 1 -ifloat: 2 +ifloat: 1 ildouble: 3 ldouble: 3 @@ -2013,9 +2013,9 @@ ldouble: 1 Function: "sincos_downward": double: 1 -float: 2 +float: 1 idouble: 1 -ifloat: 2 +ifloat: 1 ildouble: 3 ldouble: 3 @@ -2029,9 +2029,9 @@ ldouble: 2 Function: "sincos_upward": double: 1 -float: 2 +float: 1 idouble: 1 -ifloat: 2 +ifloat: 1 ildouble: 3 ldouble: 3 diff --git a/sysdeps/ieee754/flt-32/s_cosf.c b/sysdeps/ieee754/flt-32/s_cosf.c index 061264d259..b2d760ca89 100644 --- a/sysdeps/ieee754/flt-32/s_cosf.c +++ b/sysdeps/ieee754/flt-32/s_cosf.c @@ -1,5 +1,5 @@ /* Compute cosine of argument. - Copyright (C) 2017-2018 Free Software Foundation, Inc. + Copyright (C) 2018 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -16,10 +16,11 @@ License along with the GNU C Library; if not, see . */ -#include +#include #include -#include +#include #include +#include "math_config.h" #include "s_sincosf.h" #ifndef COSF @@ -28,121 +29,57 @@ # define COSF_FUNC COSF #endif +/* Fast cosf implementation. Worst-case ULP is 0.56072, maximum relative + error is 0.5303p-23. A single-step signed range reduction is used for + small values. Large inputs have their range reduced using fast integer + arithmetic. +*/ float -COSF_FUNC (float x) +COSF_FUNC (float y) { - double theta = x; - double abstheta = fabs (theta); - if (isless (abstheta, M_PI_4)) + double x = y; + double s; + int n; + const sincos_t *p = &__sincosf_table[0]; + + if (abstop12 (y) < abstop12 (pio4)) + { + double x2 = x * x; + + if (__glibc_unlikely (abstop12 (y) < abstop12 (0x1p-12f))) + return 1.0f; + + return sinf_poly (x, x2, p, 1); + } + else if (__glibc_likely (abstop12 (y) < abstop12 (120.0f))) { - double cx; - if (abstheta >= 0x1p-5) - { - const double theta2 = theta * theta; - /* Chebyshev polynomial of the form for cos: - * 1 + x^2 (C0 + x^2 (C1 + x^2 (C2 + x^2 (C3 + x^2 * C4)))). */ - cx = C3 + theta2 * C4; - cx = C2 + theta2 * cx; - cx = C1 + theta2 * cx; - cx = C0 + theta2 * cx; - cx = 1. + theta2 * cx; - return cx; - } - else if (abstheta >= 0x1p-27) - { - /* A simpler Chebyshev approximation is close enough for this range: - * 1 + x^2 (CC0 + x^3 * CC1). */ - const double theta2 = theta * theta; - cx = CC0 + theta * theta2 * CC1; - cx = 1.0 + theta2 * cx; - return cx; - } - else - { - /* For small enough |theta|, this is close enough. */ - return 1.0 - abstheta; - } + x = reduce_fast (x, p, &n); + + /* Setup the signs for sin and cos. */ + s = p->sign[n & 3]; + + if (n & 2) + p = &__sincosf_table[1]; + + return sinf_poly (x * s, x * x, p, n ^ 1); } - else /* |theta| >= Pi/4. */ + else if (abstop12 (y) < abstop12 (INFINITY)) { - if (isless (abstheta, 9 * M_PI_4)) - { - /* There are cases where FE_UPWARD rounding mode can - produce a result of abstheta * inv_PI_4 == 9, - where abstheta < 9pi/4, so the domain for - pio2_table must go to 5 (9 / 2 + 1). */ - unsigned int n = (abstheta * inv_PI_4) + 1; - theta = abstheta - pio2_table[n / 2]; - return reduced_cos (theta, n); - } - else if (isless (abstheta, INFINITY)) - { - if (abstheta < 0x1p+23) - { - unsigned int n = ((unsigned int) (abstheta * inv_PI_4)) + 1; - double x = n / 2; - theta = (abstheta - x * PI_2_hi) - x * PI_2_lo; - /* Argument reduction needed. */ - return reduced_cos (theta, n); - } - else /* |theta| >= 2^23. */ - { - x = fabsf (x); - int exponent; - GET_FLOAT_WORD (exponent, x); - exponent = (exponent >> FLOAT_EXPONENT_SHIFT) - - FLOAT_EXPONENT_BIAS; - exponent += 3; - exponent /= 28; - double a = invpio4_table[exponent] * x; - double b = invpio4_table[exponent + 1] * x; - double c = invpio4_table[exponent + 2] * x; - double d = invpio4_table[exponent + 3] * x; - uint64_t l = a; - l &= ~0x7; - a -= l; - double e = a + b; - l = e; - e = a - l; - if (l & 1) - { - e -= 1.0; - e += b; - e += c; - e += d; - e *= M_PI_4; - return reduced_cos (e, l + 1); - } - else - { - e += b; - e += c; - e += d; - if (e <= 1.0) - { - e *= M_PI_4; - return reduced_cos (e, l + 1); - } - else - { - l++; - e -= 2.0; - e *= M_PI_4; - return reduced_cos (e, l + 1); - } - } - } - } - else - { - int32_t ix; - GET_FLOAT_WORD (ix, abstheta); - /* cos(Inf or NaN) is NaN. */ - if (ix == 0x7f800000) /* Inf. */ - __set_errno (EDOM); - return x - x; - } + uint32_t xi = asuint (y); + int sign = xi >> 31; + + x = reduce_large (xi, &n); + + /* Setup signs for sin and cos - include original sign. */ + s = p->sign[(n + sign) & 3]; + + if ((n + sign) & 2) + p = &__sincosf_table[1]; + + return sinf_poly (x * s, x * x, p, n ^ 1); } + else + return __math_invalidf (y); } #ifndef COSF diff --git a/sysdeps/ieee754/flt-32/s_sincosf.h b/sysdeps/ieee754/flt-32/s_sincosf.h index f1fcf4ce5f..7169881355 100644 --- a/sysdeps/ieee754/flt-32/s_sincosf.h +++ b/sysdeps/ieee754/flt-32/s_sincosf.h @@ -1,5 +1,5 @@ /* Used by sinf, cosf and sincosf functions. - Copyright (C) 2017-2018 Free Software Foundation, Inc. + Copyright (C) 2018 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -20,145 +20,6 @@ #include #include "math_config.h" -/* Chebyshev constants for cos, range -PI/4 - PI/4. */ -static const double C0 = -0x1.ffffffffe98aep-2; -static const double C1 = 0x1.55555545c50c7p-5; -static const double C2 = -0x1.6c16b348b6874p-10; -static const double C3 = 0x1.a00eb9ac43ccp-16; -static const double C4 = -0x1.23c97dd8844d7p-22; - -/* Chebyshev constants for sin, range -PI/4 - PI/4. */ -static const double S0 = -0x1.5555555551cd9p-3; -static const double S1 = 0x1.1111110c2688bp-7; -static const double S2 = -0x1.a019f8b4bd1f9p-13; -static const double S3 = 0x1.71d7264e6b5b4p-19; -static const double S4 = -0x1.a947e1674b58ap-26; - -/* Chebyshev constants for sin, range 2^-27 - 2^-5. */ -static const double SS0 = -0x1.555555543d49dp-3; -static const double SS1 = 0x1.110f475cec8c5p-7; - -/* Chebyshev constants for cos, range 2^-27 - 2^-5. */ -static const double CC0 = -0x1.fffffff5cc6fdp-2; -static const double CC1 = 0x1.55514b178dac5p-5; - -/* PI/2 with 98 bits of accuracy. */ -static const double PI_2_hi = 0x1.921fb544p+0; -static const double PI_2_lo = 0x1.0b4611a626332p-34; - -static const double SMALL = 0x1p-50; /* 2^-50. */ -static const double inv_PI_4 = 0x1.45f306dc9c883p+0; /* 4/PI. */ - -#define FLOAT_EXPONENT_SHIFT 23 -#define FLOAT_EXPONENT_BIAS 127 - -static const double pio2_table[] = { - 0 * M_PI_2, - 1 * M_PI_2, - 2 * M_PI_2, - 3 * M_PI_2, - 4 * M_PI_2, - 5 * M_PI_2 -}; - -static const double invpio4_table[] = { - 0x0p+0, - 0x1.45f306cp+0, - 0x1.c9c882ap-28, - 0x1.4fe13a8p-58, - 0x1.f47d4dp-85, - 0x1.bb81b6cp-112, - 0x1.4acc9ep-142, - 0x1.0e4107cp-169 -}; - -static const double ones[] = { 1.0, -1.0 }; - -/* Compute the sine value using Chebyshev polynomials where - THETA is the range reduced absolute value of the input - and it is less than Pi/4, - N is calculated as trunc(|x|/(Pi/4)) + 1 and it is used to decide - whether a sine or cosine approximation is more accurate and - SIGNBIT is used to add the correct sign after the Chebyshev - polynomial is computed. */ -static inline float -reduced_sin (const double theta, const unsigned int n, - const unsigned int signbit) -{ - double sx; - const double theta2 = theta * theta; - /* We are operating on |x|, so we need to add back the original - signbit for sinf. */ - double sign; - /* Determine positive or negative primary interval. */ - sign = ones[((n >> 2) & 1) ^ signbit]; - /* Are we in the primary interval of sin or cos? */ - if ((n & 2) == 0) - { - /* Here sinf() is calculated using sin Chebyshev polynomial: - x+x^3*(S0+x^2*(S1+x^2*(S2+x^2*(S3+x^2*S4)))). */ - sx = S3 + theta2 * S4; /* S3+x^2*S4. */ - sx = S2 + theta2 * sx; /* S2+x^2*(S3+x^2*S4). */ - sx = S1 + theta2 * sx; /* S1+x^2*(S2+x^2*(S3+x^2*S4)). */ - sx = S0 + theta2 * sx; /* S0+x^2*(S1+x^2*(S2+x^2*(S3+x^2*S4))). */ - sx = theta + theta * theta2 * sx; - } - else - { - /* Here sinf() is calculated using cos Chebyshev polynomial: - 1.0+x^2*(C0+x^2*(C1+x^2*(C2+x^2*(C3+x^2*C4)))). */ - sx = C3 + theta2 * C4; /* C3+x^2*C4. */ - sx = C2 + theta2 * sx; /* C2+x^2*(C3+x^2*C4). */ - sx = C1 + theta2 * sx; /* C1+x^2*(C2+x^2*(C3+x^2*C4)). */ - sx = C0 + theta2 * sx; /* C0+x^2*(C1+x^2*(C2+x^2*(C3+x^2*C4))). */ - sx = 1.0 + theta2 * sx; - } - - /* Add in the signbit and assign the result. */ - return sign * sx; -} - -/* Compute the cosine value using Chebyshev polynomials where - THETA is the range reduced absolute value of the input - and it is less than Pi/4, - N is calculated as trunc(|x|/(Pi/4)) + 1 and it is used to decide - whether a sine or cosine approximation is more accurate and - the sign of the result. */ -static inline float -reduced_cos (double theta, unsigned int n) -{ - double sign, cx; - const double theta2 = theta * theta; - - /* Determine positive or negative primary interval. */ - n += 2; - sign = ones[(n >> 2) & 1]; - - /* Are we in the primary interval of sin or cos? */ - if ((n & 2) == 0) - { - /* Here cosf() is calculated using sin Chebyshev polynomial: - x+x^3*(S0+x^2*(S1+x^2*(S2+x^2*(S3+x^2*S4)))). */ - cx = S3 + theta2 * S4; - cx = S2 + theta2 * cx; - cx = S1 + theta2 * cx; - cx = S0 + theta2 * cx; - cx = theta + theta * theta2 * cx; - } - else - { - /* Here cosf() is calculated using cos Chebyshev polynomial: - 1.0+x^2*(C0+x^2*(C1+x^2*(C2+x^2*(C3+x^2*C4)))). */ - cx = C3 + theta2 * C4; - cx = C2 + theta2 * cx; - cx = C1 + theta2 * cx; - cx = C0 + theta2 * cx; - cx = 1. + theta2 * cx; - } - return sign * cx; -} - - /* PI * 2^-64. */ static const double pi64 = 0x1.921FB54442D18p-62; /* PI / 4. */ @@ -220,6 +81,36 @@ sincosf_poly (double x, double x2, const sincos_t *p, int n, float *sinp, *cosp = c + x6 * c2; } +/* Return the sine of inputs X and X2 (X squared) using the polynomial P. + N is the quadrant, and if odd the cosine polynomial is used. */ +static inline float +sinf_poly (double x, double x2, const sincos_t *p, int n) +{ + double x3, x4, x6, x7, s, c, c1, c2, s1; + + if ((n & 1) == 0) + { + x3 = x * x2; + s1 = p->s2 + x2 * p->s3; + + x7 = x3 * x2; + s = x + x3 * p->s1; + + return s + x7 * s1; + } + else + { + x4 = x2 * x2; + c2 = p->c3 + x2 * p->c4; + c1 = p->c0 + x2 * p->c1; + + x6 = x4 * x2; + c = c1 + x4 * p->c2; + + return c + x6 * c2; + } +} + /* Fast range reduction using single multiply-subtract. Return the modulo of X as a value between -PI/4 and PI/4 and store the quadrant in NP. The values for PI/2 and 2/PI are accessed via P. Since PI/2 as a double diff --git a/sysdeps/ieee754/flt-32/s_sinf.c b/sysdeps/ieee754/flt-32/s_sinf.c index 138e318dcc..2ad4c1fb4f 100644 --- a/sysdeps/ieee754/flt-32/s_sinf.c +++ b/sysdeps/ieee754/flt-32/s_sinf.c @@ -1,5 +1,5 @@ /* Compute sine of argument. - Copyright (C) 2017-2018 Free Software Foundation, Inc. + Copyright (C) 2018 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -16,10 +16,11 @@ License along with the GNU C Library; if not, see . */ -#include +#include #include -#include +#include #include +#include "math_config.h" #include "s_sincosf.h" #ifndef SINF @@ -28,127 +29,62 @@ # define SINF_FUNC SINF #endif +/* Fast sinf implementation. Worst-case ULP is 0.56072, maximum relative + error is 0.5303p-23. A single-step signed range reduction is used for + small values. Large inputs have their range reduced using fast integer + arithmetic. +*/ float -SINF_FUNC (float x) +SINF_FUNC (float y) { - double cx; - double theta = x; - double abstheta = fabs (theta); - /* If |x|< Pi/4. */ - if (isless (abstheta, M_PI_4)) + double x = y; + double s; + int n; + const sincos_t *p = &__sincosf_table[0]; + + if (abstop12 (y) < abstop12 (pio4)) + { + s = x * x; + + if (__glibc_unlikely (abstop12 (y) < abstop12 (0x1p-12f))) + { + /* Force underflow for tiny y. */ + if (__glibc_unlikely (abstop12 (y) < abstop12 (0x1p-126f))) + math_force_eval ((float)s); + return y; + } + + return sinf_poly (x, s, p, 0); + } + else if (__glibc_likely (abstop12 (y) < abstop12 (120.0f))) { - if (abstheta >= 0x1p-5) /* |x| >= 2^-5. */ - { - const double theta2 = theta * theta; - /* Chebyshev polynomial of the form for sin - x+x^3*(S0+x^2*(S1+x^2*(S2+x^2*(S3+x^2*S4)))). */ - cx = S3 + theta2 * S4; - cx = S2 + theta2 * cx; - cx = S1 + theta2 * cx; - cx = S0 + theta2 * cx; - cx = theta + theta * theta2 * cx; - return cx; - } - else if (abstheta >= 0x1p-27) /* |x| >= 2^-27. */ - { - /* A simpler Chebyshev approximation is close enough for this range: - for sin: x+x^3*(SS0+x^2*SS1). */ - const double theta2 = theta * theta; - cx = SS0 + theta2 * SS1; - cx = theta + theta * theta2 * cx; - return cx; - } - else - { - /* Handle some special cases. */ - if (theta) - return theta - (theta * SMALL); - else - return theta; - } + x = reduce_fast (x, p, &n); + + /* Setup the signs for sin and cos. */ + s = p->sign[n & 3]; + + if (n & 2) + p = &__sincosf_table[1]; + + return sinf_poly (x * s, x * x, p, n); } - else /* |x| >= Pi/4. */ + else if (abstop12 (y) < abstop12 (INFINITY)) { - unsigned int signbit = isless (x, 0); - if (isless (abstheta, 9 * M_PI_4)) /* |x| < 9*Pi/4. */ - { - /* There are cases where FE_UPWARD rounding mode can - produce a result of abstheta * inv_PI_4 == 9, - where abstheta < 9pi/4, so the domain for - pio2_table must go to 5 (9 / 2 + 1). */ - unsigned int n = (abstheta * inv_PI_4) + 1; - theta = abstheta - pio2_table[n / 2]; - return reduced_sin (theta, n, signbit); - } - else if (isless (abstheta, INFINITY)) - { - if (abstheta < 0x1p+23) /* |x| < 2^23. */ - { - unsigned int n = ((unsigned int) (abstheta * inv_PI_4)) + 1; - double x = n / 2; - theta = (abstheta - x * PI_2_hi) - x * PI_2_lo; - /* Argument reduction needed. */ - return reduced_sin (theta, n, signbit); - } - else /* |x| >= 2^23. */ - { - x = fabsf (x); - int exponent; - GET_FLOAT_WORD (exponent, x); - exponent - = (exponent >> FLOAT_EXPONENT_SHIFT) - FLOAT_EXPONENT_BIAS; - exponent += 3; - exponent /= 28; - double a = invpio4_table[exponent] * x; - double b = invpio4_table[exponent + 1] * x; - double c = invpio4_table[exponent + 2] * x; - double d = invpio4_table[exponent + 3] * x; - uint64_t l = a; - l &= ~0x7; - a -= l; - double e = a + b; - l = e; - e = a - l; - if (l & 1) - { - e -= 1.0; - e += b; - e += c; - e += d; - e *= M_PI_4; - return reduced_sin (e, l + 1, signbit); - } - else - { - e += b; - e += c; - e += d; - if (e <= 1.0) - { - e *= M_PI_4; - return reduced_sin (e, l + 1, signbit); - } - else - { - l++; - e -= 2.0; - e *= M_PI_4; - return reduced_sin (e, l + 1, signbit); - } - } - } - } - else - { - int32_t ix; - /* High word of x. */ - GET_FLOAT_WORD (ix, abstheta); - /* Sin(Inf or NaN) is NaN. */ - if (ix == 0x7f800000) - __set_errno (EDOM); - return x - x; - } + uint32_t xi = asuint (y); + int sign = xi >> 31; + + x = reduce_large (xi, &n); + + /* Setup signs for sin and cos - include original sign. */ + s = p->sign[(n + sign) & 3]; + + if ((n + sign) & 2) + p = &__sincosf_table[1]; + + return sinf_poly (x * s, x * x, p, n); } + else + return __math_invalidf (y); } #ifndef SINF diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 912db318b6..a51faecfc7 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -1271,24 +1271,30 @@ ldouble: 1 Function: "cos_downward": double: 1 +float: 1 float128: 3 idouble: 1 +ifloat: 1 ifloat128: 3 ildouble: 3 ldouble: 3 Function: "cos_towardzero": double: 1 +float: 1 float128: 1 idouble: 1 +ifloat: 1 ifloat128: 1 ildouble: 2 ldouble: 2 Function: "cos_upward": double: 1 +float: 1 float128: 2 idouble: 1 +ifloat: 1 ifloat128: 2 ildouble: 2 ldouble: 2 @@ -2539,24 +2545,30 @@ ldouble: 1 Function: "sin_downward": double: 1 +float: 1 float128: 3 idouble: 1 +ifloat:1 ifloat128: 3 ildouble: 3 ldouble: 3 Function: "sin_towardzero": double: 1 +float:1 float128: 2 idouble: 1 +ifloat: 1 ifloat128: 2 ildouble: 2 ldouble: 2 Function: "sin_upward": double: 1 +float:1 float128: 3 idouble: 1 +ifloat: 1 ifloat128: 3 ildouble: 3 ldouble: 3 diff --git a/sysdeps/x86_64/fpu/multiarch/s_sincosf-fma.c b/sysdeps/x86_64/fpu/multiarch/s_sincosf-fma.c index 64abe7abca..0b80c4fe0d 100644 --- a/sysdeps/x86_64/fpu/multiarch/s_sincosf-fma.c +++ b/sysdeps/x86_64/fpu/multiarch/s_sincosf-fma.c @@ -21,7 +21,6 @@ #include #include #include -#include "s_sincosf.h" #define SINCOSF __sincosf_fma @@ -31,6 +30,38 @@ # define SINCOSF_FUNC SINCOSF #endif +/* PI/2 with 98 bits of accuracy. */ +static const double PI_2_hi = 0x1.921fb544p+0; +static const double PI_2_lo = 0x1.0b4611a626332p-34; + +static const double SMALL = 0x1p-50; /* 2^-50. */ +static const double inv_PI_4 = 0x1.45f306dc9c883p+0; /* 4/PI. */ + +#define FLOAT_EXPONENT_SHIFT 23 +#define FLOAT_EXPONENT_BIAS 127 + +static const double pio2_table[] = { + 0 * M_PI_2, + 1 * M_PI_2, + 2 * M_PI_2, + 3 * M_PI_2, + 4 * M_PI_2, + 5 * M_PI_2 +}; + +static const double invpio4_table[] = { + 0x0p+0, + 0x1.45f306cp+0, + 0x1.c9c882ap-28, + 0x1.4fe13a8p-58, + 0x1.f47d4dp-85, + 0x1.bb81b6cp-112, + 0x1.4acc9ep-142, + 0x1.0e4107cp-169 +}; + +static const double ones[] = { 1.0, -1.0 }; + /* Chebyshev constants for sin and cos, range -PI/4 - PI/4. */ static const __v2df V0 = { -0x1.5555555551cd9p-3, -0x1.ffffffffe98aep-2}; static const __v2df V1 = { 0x1.1111110c2688bp-7, 0x1.55555545c50c7p-5 }; diff --git a/sysdeps/x86_64/fpu/s_sincosf_data.c b/sysdeps/x86_64/fpu/s_sincosf_data.c deleted file mode 100644 index 1cc8931700..0000000000 --- a/sysdeps/x86_64/fpu/s_sincosf_data.c +++ /dev/null @@ -1 +0,0 @@ -/* Not needed. */ From patchwork Fri Jul 6 09:01:56 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Szabolcs Nagy X-Patchwork-Id: 940340 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=sourceware.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=libc-alpha-return-94054-incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b="eDNnYY5r"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=armh.onmicrosoft.com header.i=@armh.onmicrosoft.com header.b="ai8HUL8V"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41MTJP42n6z9s47 for ; Fri, 6 Jul 2018 19:02:29 +1000 (AEST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:cc:subject:from:to:references:message-id:date :mime-version:in-reply-to:content-type; q=dns; s=default; b=TYMI vagoVv09XxuHZ5+AX0W0NBHP7OYQkGLher31wPWx8LcD0BKEE6+avF4n8jg0Kw+a XoCvagjXrT031qNlrgZuPVFIS6kE9LqajX3cthL77z8LEQ8GgdMj1NvXDpqXTbVz cSrUMFGi7QKF/11o4X2szyvZhD7EvkRZhn7tUPo= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:cc:subject:from:to:references:message-id:date :mime-version:in-reply-to:content-type; s=default; bh=PHEJLIJd+g ZYAHFZfok7XNCA9+I=; b=eDNnYY5rQpPUR+Lx3LtpHJ7WYqUIRVy1QUpS4luEus 4ftloI9wfCtj51Xf6P2WHHY/DsJ3/3SkQP0e2dccnLMgbju3GySp1dmVP3WZZFB9 pDi79MrFsssK26RDpZLNLQAP83AntIxL+MKhvHQ8M0T/QT85A0IVYx698byNnUgX Q= Received: (qmail 57849 invoked by alias); 6 Jul 2018 09:02:16 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 57831 invoked by uid 89); 6 Jul 2018 09:02:15 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-25.0 required=5.0 tests=GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS, TIME_LIMIT_EXCEEDED autolearn=unavailable version=3.3.2 spammy=0n, NEEDED X-HELO: EUR02-VE1-obe.outbound.protection.outlook.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TDiqaXHHzoM/zMaszfY83IPr/IzV8rIxpoQ9QniHhDw=; b=ai8HUL8VMyuuZCwcZuHQBra/mzXT5vxzinUrpzjAODXbl5S1Of/KNwyIyI9V+t8K2r8nR1seiRYjNy+/tBpDS/lXUvQCTvLEAKLxR7qSKFpJrG5ejCGzW6LEk+ZG8himugZva3+l1s4q+sDD8AgikQ9WmeHh6f2NtgU98jgHIvE= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Szabolcs.Nagy@arm.com; Cc: nd@arm.com Subject: [PATCH 04/10] Add new exp and exp2 implementations From: Szabolcs Nagy To: GNU C Library References: Message-ID: Date: Fri, 6 Jul 2018 10:01:56 +0100 User-Agent: Mozilla/5.0 (X11; Linux aarch64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: Received-SPF: None (protection.outlook.com: arm.com does not designate permitted sender hosts) v4: - Update math_config.h with documentation for round/converttoint. - Remove unused configurations and related code/data. - Update comment for the specialcase function. - Document tested targets in the commit message. - Merge NEWS entry with sincosf improvements. v3: - Remove t_exp.c from targets too. - Add empty math_err.c and e_exp_data.c to targets that don't need them. - Fix GNU style issues. - Document internal function semantics. - Add NEWS entry. v2: - define TOINT_INTRINSICS for all targets. Optimized exp and exp2 implementations using a lookup table for fractional powers of 2. There are several variants, see e_exp_data.c, they can be selected by modifying math_config.h allowing different tradeoffs. The default selection should be acceptable as generic libm code. Worst case error is 0.509 ULP for exp and 0.507 ULP for exp2, on aarch64 the rodata size is 2160 bytes, shared between exp and exp2. On aarch64 .text + .rodata size decreased by 24912 bytes. The non-nearest rounding error is less than 1 ULP even on targets without efficient round implementation (although the error rate is higher in that case). Targets with single instruction, rounding mode independent, to nearest integer rounding and conversion can use them by setting TOINT_INTRINSICS and adding the necessary code to their math_private.h. The __exp1 code uses the same algorithm, so the error bound of pow increased a bit. New double precision error handling code was added following the style of the single precision error handling code. Improvements on Cortex-A72 compared to current glibc master: exp latency: 1.5x exp thruput: 2.3x exp latency: 1.3x on small inputs exp thruput: 1.8x on small inputs exp2 latency: 1.6x exp2 thruput: 3.2x For small inputs the current exp code uses a separate algorithm so the speed up there is less. Was tested on aarch64-linux-gnu (TOINT_INTRINSICS, fma contraction) and arm-linux-gnueabihf (!TOINT_INTRINSICS, no fma contraction) and x86_64-linux-gnu (!TOINT_INTRINSICS, no fma contraction) targets, only non-nearest rounding ulp errors increase and they are within acceptable bounds (ulp updates are in separate patches). 2018-07-06 Szabolcs Nagy * NEWS: Mention exp and exp2 improvements. * math/Makefile (libm-support): Remove t_exp. (type-double-routines): Add math_err and e_exp_data. * sysdeps/i386/fpu/e_exp_data.c: New file. * sysdeps/i386/fpu/math_err.c: New file. * sysdeps/i386/fpu/t_exp.c: Remove. * sysdeps/ia64/fpu/e_exp_data.c: New file. * sysdeps/ia64/fpu/math_err.c: New file. * sysdeps/ia64/fpu/t_exp.c: Remove. * sysdeps/ieee754/dbl-64/e_exp.c: Rewrite. * sysdeps/ieee754/dbl-64/e_exp2.c: Rewrite. * sysdeps/ieee754/dbl-64/e_exp_data.c: New file. * sysdeps/ieee754/dbl-64/e_pow.c (__ieee754_pow): Update error bound. * sysdeps/ieee754/dbl-64/eexp.tbl: Remove. * sysdeps/ieee754/dbl-64/math_config.h: New file. * sysdeps/ieee754/dbl-64/math_err.c: New file. * sysdeps/ieee754/dbl-64/t_exp.c: Remove. * sysdeps/ieee754/dbl-64/t_exp2.h: Remove. * sysdeps/ieee754/dbl-64/uexp.h: Remove. * sysdeps/ieee754/dbl-64/uexp.tbl: Remove. * sysdeps/m68k/m680x0/fpu/e_exp_data.c: New file. * sysdeps/m68k/m680x0/fpu/math_err.c: New file. * sysdeps/m68k/m680x0/fpu/t_exp.c: Remove. --- NEWS | 2 +- math/Makefile | 4 +- sysdeps/i386/fpu/e_exp_data.c | 1 + sysdeps/i386/fpu/math_err.c | 1 + sysdeps/i386/fpu/t_exp.c | 1 - sysdeps/ia64/fpu/e_exp_data.c | 1 + sysdeps/ia64/fpu/math_err.c | 1 + sysdeps/ia64/fpu/t_exp.c | 1 - sysdeps/ieee754/dbl-64/e_exp.c | 485 +++------ sysdeps/ieee754/dbl-64/e_exp2.c | 220 +++-- sysdeps/ieee754/dbl-64/e_exp_data.c | 196 ++++ sysdeps/ieee754/dbl-64/e_pow.c | 6 +- sysdeps/ieee754/dbl-64/eexp.tbl | 172 ---- sysdeps/ieee754/dbl-64/math_config.h | 136 +++ sysdeps/ieee754/dbl-64/math_err.c | 92 ++ sysdeps/ieee754/dbl-64/t_exp.c | 435 --------- sysdeps/ieee754/dbl-64/t_exp2.h | 585 ----------- sysdeps/ieee754/dbl-64/uexp.h | 68 -- sysdeps/ieee754/dbl-64/uexp.tbl | 1786 ---------------------------------- sysdeps/m68k/m680x0/fpu/e_exp_data.c | 1 + sysdeps/m68k/m680x0/fpu/math_err.c | 1 + sysdeps/m68k/m680x0/fpu/t_exp.c | 1 - 22 files changed, 705 insertions(+), 3491 deletions(-) create mode 100644 sysdeps/i386/fpu/e_exp_data.c create mode 100644 sysdeps/i386/fpu/math_err.c delete mode 100644 sysdeps/i386/fpu/t_exp.c create mode 100644 sysdeps/ia64/fpu/e_exp_data.c create mode 100644 sysdeps/ia64/fpu/math_err.c delete mode 100644 sysdeps/ia64/fpu/t_exp.c create mode 100644 sysdeps/ieee754/dbl-64/e_exp_data.c delete mode 100644 sysdeps/ieee754/dbl-64/eexp.tbl create mode 100644 sysdeps/ieee754/dbl-64/math_config.h create mode 100644 sysdeps/ieee754/dbl-64/math_err.c delete mode 100644 sysdeps/ieee754/dbl-64/t_exp.c delete mode 100644 sysdeps/ieee754/dbl-64/t_exp2.h delete mode 100644 sysdeps/ieee754/dbl-64/uexp.h delete mode 100644 sysdeps/ieee754/dbl-64/uexp.tbl create mode 100644 sysdeps/m68k/m680x0/fpu/e_exp_data.c create mode 100644 sysdeps/m68k/m680x0/fpu/math_err.c delete mode 100644 sysdeps/m68k/m680x0/fpu/t_exp.c diff --git a/NEWS b/NEWS index 8252a2168c..63e65743d4 100644 --- a/NEWS +++ b/NEWS @@ -13,7 +13,7 @@ Major new features: transliteration tables are all updated to Unicode 11.0.0, using generator scripts contributed by Mike FABIAN (Red Hat). -* Optimized generic sinf, cosf and sincosf. +* Optimized generic exp, exp2, sinf, cosf and sincosf. * functions that round their results to a narrower type are added from TS 18661-1:2014 and TS 18661-3:2015: diff --git a/math/Makefile b/math/Makefile index e73ceb8d4e..4d0731b64b 100644 --- a/math/Makefile +++ b/math/Makefile @@ -42,7 +42,7 @@ extra-libs-others = $(extra-libs) libm-support = s_lib_version s_matherr s_signgam \ fclrexcpt fgetexcptflg fraiseexcpt fsetexcptflg \ ftestexcept fegetround fesetround fegetenv feholdexcpt \ - fesetenv feupdateenv t_exp fedisblxcpt feenablxcpt \ + fesetenv feupdateenv fedisblxcpt feenablxcpt \ fegetexcept fesetexcept fetestexceptflag fegetmode \ fesetmode @@ -126,7 +126,7 @@ type-ldouble-yes := ldouble type-double-suffix := type-double-routines := branred doasin dosincos mpa mpatan2 \ mpatan mpsqrt mptan sincos32 \ - sincostab k_rem_pio2 + sincostab k_rem_pio2 math_err e_exp_data # float support type-float-suffix := f diff --git a/sysdeps/i386/fpu/e_exp_data.c b/sysdeps/i386/fpu/e_exp_data.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/i386/fpu/e_exp_data.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/i386/fpu/math_err.c b/sysdeps/i386/fpu/math_err.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/i386/fpu/math_err.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/i386/fpu/t_exp.c b/sysdeps/i386/fpu/t_exp.c deleted file mode 100644 index fd37963b05..0000000000 --- a/sysdeps/i386/fpu/t_exp.c +++ /dev/null @@ -1 +0,0 @@ -/* Empty. Not needed. */ diff --git a/sysdeps/ia64/fpu/e_exp_data.c b/sysdeps/ia64/fpu/e_exp_data.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/ia64/fpu/e_exp_data.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/ia64/fpu/math_err.c b/sysdeps/ia64/fpu/math_err.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/ia64/fpu/math_err.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/ia64/fpu/t_exp.c b/sysdeps/ia64/fpu/t_exp.c deleted file mode 100644 index 41254ae60a..0000000000 --- a/sysdeps/ia64/fpu/t_exp.c +++ /dev/null @@ -1 +0,0 @@ -/* Not needed. */ diff --git a/sysdeps/ieee754/dbl-64/e_exp.c b/sysdeps/ieee754/dbl-64/e_exp.c index ddd2bcb1c2..a22c818b64 100644 --- a/sysdeps/ieee754/dbl-64/e_exp.c +++ b/sysdeps/ieee754/dbl-64/e_exp.c @@ -1,47 +1,158 @@ -/* - * IBM Accurate Mathematical Library - * written by International Business Machines Corp. - * Copyright (C) 2001-2018 Free Software Foundation, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation; either version 2.1 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, see . - */ -/***************************************************************************/ -/* MODULE_NAME:uexp.c */ -/* */ -/* FUNCTION:uexp */ -/* exp1 */ -/* */ -/* FILES NEEDED:dla.h endian.h mpa.h mydefs.h uexp.h */ -/* */ -/* An ultimate exp routine. Given an IEEE double machine number x */ -/* it computes an almost correctly rounded (to nearest) value of e^x */ -/* Assumption: Machine arithmetic operations are performed in */ -/* round to nearest mode of IEEE 754 standard. */ -/* */ -/***************************************************************************/ +/* Double-precision e^x function. + Copyright (C) 2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for 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 "endian.h" -#include "uexp.h" -#include "mydefs.h" -#include "MathLib.h" -#include "uexp.tbl" +#include #include -#include -#include -#include -#include "eexp.tbl" +#include +#include "math_config.h" + +#define N (1 << EXP_TABLE_BITS) +#define InvLn2N __exp_data.invln2N +#define NegLn2hiN __exp_data.negln2hiN +#define NegLn2loN __exp_data.negln2loN +#define Shift __exp_data.shift +#define T __exp_data.tab +#define C2 __exp_data.poly[5 - EXP_POLY_ORDER] +#define C3 __exp_data.poly[6 - EXP_POLY_ORDER] +#define C4 __exp_data.poly[7 - EXP_POLY_ORDER] +#define C5 __exp_data.poly[8 - EXP_POLY_ORDER] + +/* Handle cases that may overflow or underflow when computing the result that + is scale*(1+TMP) without intermediate rounding. The bit representation of + scale is in SBITS, however it has a computed exponent that may have + overflown into the sign bit so that needs to be adjusted before using it as + a double. (int32_t)KI is the k used in the argument reduction and exponent + adjustment of scale, positive k here means the result may overflow and + negative k means the result may underflow. */ +static inline double +specialcase (double_t tmp, uint64_t sbits, uint64_t ki) +{ + double_t scale, y; + + if ((ki & 0x80000000) == 0) + { + /* k > 0, the exponent of scale might have overflowed by <= 460. */ + sbits -= 1009ull << 52; + scale = asdouble (sbits); + y = 0x1p1009 * (scale + scale * tmp); + return check_oflow (y); + } + /* k < 0, need special care in the subnormal range. */ + sbits += 1022ull << 52; + scale = asdouble (sbits); + y = scale + scale * tmp; + if (y < 1.0) + { + /* Round y to the right precision before scaling it into the subnormal + range to avoid double rounding that can cause 0.5+E/2 ulp error where + E is the worst-case ulp error outside the subnormal range. So this + is only useful if the goal is better than 1 ulp worst-case error. */ + double_t hi, lo; + lo = scale - y + scale * tmp; + hi = 1.0 + y; + lo = 1.0 - hi + y + lo; + y = math_narrow_eval (hi + lo) - 1.0; + /* Avoid -0.0 with downward rounding. */ + if (WANT_ROUNDING && y == 0.0) + y = 0.0; + /* The underflow exception needs to be signaled explicitly. */ + math_force_eval (math_opt_barrier (0x1p-1022) * 0x1p-1022); + } + y = 0x1p-1022 * y; + return check_uflow (y); +} + +/* Top 12 bits of a double (sign and exponent bits). */ +static inline uint32_t +top12 (double x) +{ + return asuint64 (x) >> 52; +} + +/* Computes exp(x+xtail) where |xtail| < 2^-8/N and |xtail| <= |x|. + If hastail is 0 then xtail is assumed to be 0 too. */ +static inline double +exp_inline (double x, double xtail, int hastail) +{ + uint32_t abstop; + uint64_t ki, idx, top, sbits; + /* double_t for better performance on targets with FLT_EVAL_METHOD==2. */ + double_t kd, z, r, r2, scale, tail, tmp; + + abstop = top12 (x) & 0x7ff; + if (__glibc_unlikely (abstop - top12 (0x1p-54) + >= top12 (512.0) - top12 (0x1p-54))) + { + if (abstop - top12 (0x1p-54) >= 0x80000000) + /* Avoid spurious underflow for tiny x. */ + /* Note: 0 is common input. */ + return WANT_ROUNDING ? 1.0 + x : 1.0; + if (abstop >= top12 (1024.0)) + { + if (asuint64 (x) == asuint64 (-INFINITY)) + return 0.0; + if (abstop >= top12 (INFINITY)) + return 1.0 + x; + if (asuint64 (x) >> 63) + return __math_uflow (0); + else + return __math_oflow (0); + } + /* Large x is special cased below. */ + abstop = 0; + } + + /* exp(x) = 2^(k/N) * exp(r), with exp(r) in [2^(-1/2N),2^(1/2N)]. */ + /* x = ln2/N*k + r, with int k and r in [-ln2/2N, ln2/2N]. */ + z = InvLn2N * x; +#if TOINT_INTRINSICS + kd = roundtoint (z); + ki = converttoint (z); +#else + /* z - kd is in [-1, 1] in non-nearest rounding modes. */ + kd = math_narrow_eval (z + Shift); + ki = asuint64 (kd); + kd -= Shift; +#endif + r = x + kd * NegLn2hiN + kd * NegLn2loN; + /* The code assumes 2^-200 < |xtail| < 2^-8/N. */ + if (hastail) + r += xtail; + /* 2^(k/N) ~= scale * (1 + tail). */ + idx = 2 * (ki % N); + top = ki << (52 - EXP_TABLE_BITS); + tail = asdouble (T[idx]); + /* This is only a valid scale when -1023*N < k < 1024*N. */ + sbits = T[idx + 1] + top; + /* exp(x) = 2^(k/N) * exp(r) ~= scale + scale * (tail + exp(r) - 1). */ + /* Evaluation is optimized assuming superscalar pipelined execution. */ + r2 = r * r; + /* Without fma the worst case error is 0.25/N ulp larger. */ + /* Worst case error is less than 0.5+1.11/N+(abs poly error * 2^53) ulp. */ + tmp = tail + r + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5); + if (__glibc_unlikely (abstop == 0)) + return specialcase (tmp, sbits, ki); + scale = asdouble (sbits); + /* Note: tmp == 0 or |tmp| > 2^-200 and scale > 2^-739, so there + is no spurious underflow here even without fma. */ + return scale + scale * tmp; +} #ifndef SECTION # define SECTION @@ -51,303 +162,15 @@ double SECTION __ieee754_exp (double x) { - double bexp, t, eps, del, base, y, al, bet, res, rem, cor; - double z; - mynumber junk1, junk2, binexp = {{0, 0}}; - int4 i, j, m, n, ex; - int4 k; - double retval; - - { - SET_RESTORE_ROUND (FE_TONEAREST); - - junk1.x = x; - m = junk1.i[HIGH_HALF]; - n = m & hugeint; - - if (n < 0x3ff0a2b2) /* |x| < 1.03972053527832 */ - { - if (n < 0x3f862e42) /* |x| < 3/2 ln 2 */ - { - if (n < 0x3ed00000) /* |x| < 1/64 ln 2 */ - { - if (n < 0x3e300000) /* |x| < 2^18 */ - { - retval = one + junk1.x; - goto ret; - } - retval = one + junk1.x * (one + half * junk1.x); - goto ret; - } - t = junk1.x * junk1.x; - retval = junk1.x + (t * (half + junk1.x * t2) + - (t * t) * (t3 + junk1.x * t4 + t * t5)); - retval = one + retval; - goto ret; - } - - /* Find the multiple of 2^-6 nearest x. */ - k = n >> 20; - j = (0x00100000 | (n & 0x000fffff)) >> (0x40c - k); - j = (j - 1) & ~1; - if (m < 0) - j += 134; - z = junk1.x - TBL2[j]; - t = z * z; - retval = z + (t * (half + (z * t2)) - + (t * t) * (t3 + z * t4 + t * t5)); - retval = TBL2[j + 1] + TBL2[j + 1] * retval; - goto ret; - } - - if (n < bigint) /* && |x| >= 1.03972053527832 */ - { - y = x * log2e.x + three51.x; - bexp = y - three51.x; /* multiply the result by 2**bexp */ - - junk1.x = y; - - eps = bexp * ln_two2.x; /* x = bexp*ln(2) + t - eps */ - t = x - bexp * ln_two1.x; - - y = t + three33.x; - base = y - three33.x; /* t rounded to a multiple of 2**-18 */ - junk2.x = y; - del = (t - base) - eps; /* x = bexp*ln(2) + base + del */ - eps = del + del * del * (p3.x * del + p2.x); - - binexp.i[HIGH_HALF] = (junk1.i[LOW_HALF] + 1023) << 20; - - i = ((junk2.i[LOW_HALF] >> 8) & 0xfffffffe) + 356; - j = (junk2.i[LOW_HALF] & 511) << 1; - - al = coar.x[i] * fine.x[j]; - bet = ((coar.x[i] * fine.x[j + 1] + coar.x[i + 1] * fine.x[j]) - + coar.x[i + 1] * fine.x[j + 1]); - - rem = (bet + bet * eps) + al * eps; - res = al + rem; - /* Maximum relative error is 7.8e-22 (70.1 bits). - Maximum ULP error is 0.500007. */ - retval = res * binexp.x; - goto ret; - } - - if (n >= badint) - { - if (n > infint) - { - retval = x + x; - goto ret; - } /* x is NaN */ - if (n < infint) - { - if (x > 0) - goto ret_huge; - else - goto ret_tiny; - } - /* x is finite, cause either overflow or underflow */ - if (junk1.i[LOW_HALF] != 0) - { - retval = x + x; - goto ret; - } /* x is NaN */ - retval = (x > 0) ? inf.x : zero; /* |x| = inf; return either inf or 0 */ - goto ret; - } - - y = x * log2e.x + three51.x; - bexp = y - three51.x; - junk1.x = y; - eps = bexp * ln_two2.x; - t = x - bexp * ln_two1.x; - y = t + three33.x; - base = y - three33.x; - junk2.x = y; - del = (t - base) - eps; - eps = del + del * del * (p3.x * del + p2.x); - i = ((junk2.i[LOW_HALF] >> 8) & 0xfffffffe) + 356; - j = (junk2.i[LOW_HALF] & 511) << 1; - al = coar.x[i] * fine.x[j]; - bet = ((coar.x[i] * fine.x[j + 1] + coar.x[i + 1] * fine.x[j]) - + coar.x[i + 1] * fine.x[j + 1]); - rem = (bet + bet * eps) + al * eps; - res = al + rem; - cor = (al - res) + rem; - if (m >> 31) - { - ex = junk1.i[LOW_HALF]; - if (res < 1.0) - { - res += res; - cor += cor; - ex -= 1; - } - if (ex >= -1022) - { - binexp.i[HIGH_HALF] = (1023 + ex) << 20; - /* Does not underflow: res >= 1.0, binexp >= 0x1p-1022 - Maximum relative error is 7.8e-22 (70.1 bits). - Maximum ULP error is 0.500007. */ - retval = res * binexp.x; - goto ret; - } - ex = -(1022 + ex); - binexp.i[HIGH_HALF] = (1023 - ex) << 20; - res *= binexp.x; - cor *= binexp.x; - t = 1.0 + res; - y = ((1.0 - t) + res) + cor; - res = t + y; - /* Maximum ULP error is 0.5000035. */ - binexp.i[HIGH_HALF] = 0x00100000; - retval = (res - 1.0) * binexp.x; - if (retval < DBL_MIN) - { - double force_underflow = tiny * tiny; - math_force_eval (force_underflow); - } - if (retval == 0) - goto ret_tiny; - goto ret; - } - else - { - binexp.i[HIGH_HALF] = (junk1.i[LOW_HALF] + 767) << 20; - /* Maximum relative error is 7.8e-22 (70.1 bits). - Maximum ULP error is 0.500007. */ - retval = res * binexp.x * t256.x; - if (isinf (retval)) - goto ret_huge; - else - goto ret; - } - } -ret: - return retval; - - ret_huge: - return hhuge * hhuge; - - ret_tiny: - return tiny * tiny; + return exp_inline (x, 0, 0); } #ifndef __ieee754_exp strong_alias (__ieee754_exp, __exp_finite) #endif -/* Compute e^(x+xx). */ double SECTION __exp1 (double x, double xx) { - double bexp, t, eps, del, base, y, al, bet, res, rem, cor; - mynumber junk1, junk2, binexp = {{0, 0}}; - int4 i, j, m, n, ex; - - junk1.x = x; - m = junk1.i[HIGH_HALF]; - n = m & hugeint; /* no sign */ - - /* fabs (x) > 5.551112e-17 and fabs (x) < 7.080010e+02. */ - if (n > smallint && n < bigint) - { - y = x * log2e.x + three51.x; - bexp = y - three51.x; /* multiply the result by 2**bexp */ - - junk1.x = y; - - eps = bexp * ln_two2.x; /* x = bexp*ln(2) + t - eps */ - t = x - bexp * ln_two1.x; - - y = t + three33.x; - base = y - three33.x; /* t rounded to a multiple of 2**-18 */ - junk2.x = y; - del = (t - base) + (xx - eps); /* x = bexp*ln(2) + base + del */ - eps = del + del * del * (p3.x * del + p2.x); - - binexp.i[HIGH_HALF] = (junk1.i[LOW_HALF] + 1023) << 20; - - i = ((junk2.i[LOW_HALF] >> 8) & 0xfffffffe) + 356; - j = (junk2.i[LOW_HALF] & 511) << 1; - - al = coar.x[i] * fine.x[j]; - bet = ((coar.x[i] * fine.x[j + 1] + coar.x[i + 1] * fine.x[j]) - + coar.x[i + 1] * fine.x[j + 1]); - - rem = (bet + bet * eps) + al * eps; - res = al + rem; - /* Maximum relative error before rounding is 8.8e-22 (69.9 bits). - Maximum ULP error is 0.500008. */ - return res * binexp.x; - } - - if (n <= smallint) - return 1.0; /* if x->0 e^x=1 */ - - if (n >= badint) - { - if (n > infint) - return (zero / zero); /* x is NaN, return invalid */ - if (n < infint) - return ((x > 0) ? (hhuge * hhuge) : (tiny * tiny)); - /* x is finite, cause either overflow or underflow */ - if (junk1.i[LOW_HALF] != 0) - return (zero / zero); /* x is NaN */ - return ((x > 0) ? inf.x : zero); /* |x| = inf; return either inf or 0 */ - } - - y = x * log2e.x + three51.x; - bexp = y - three51.x; - junk1.x = y; - eps = bexp * ln_two2.x; - t = x - bexp * ln_two1.x; - y = t + three33.x; - base = y - three33.x; - junk2.x = y; - del = (t - base) + (xx - eps); - eps = del + del * del * (p3.x * del + p2.x); - i = ((junk2.i[LOW_HALF] >> 8) & 0xfffffffe) + 356; - j = (junk2.i[LOW_HALF] & 511) << 1; - al = coar.x[i] * fine.x[j]; - bet = ((coar.x[i] * fine.x[j + 1] + coar.x[i + 1] * fine.x[j]) - + coar.x[i + 1] * fine.x[j + 1]); - rem = (bet + bet * eps) + al * eps; - res = al + rem; - cor = (al - res) + rem; - if (m >> 31) - { - /* x < 0. */ - ex = junk1.i[LOW_HALF]; - if (res < 1.0) - { - res += res; - cor += cor; - ex -= 1; - } - if (ex >= -1022) - { - binexp.i[HIGH_HALF] = (1023 + ex) << 20; - /* Maximum ULP error is 0.500008. */ - return res * binexp.x; - } - /* Denormal case - ex < -1022. */ - ex = -(1022 + ex); - binexp.i[HIGH_HALF] = (1023 - ex) << 20; - res *= binexp.x; - cor *= binexp.x; - t = 1.0 + res; - y = ((1.0 - t) + res) + cor; - res = t + y; - binexp.i[HIGH_HALF] = 0x00100000; - /* Maximum ULP error is 0.500004. */ - return (res - 1.0) * binexp.x; - } - else - { - binexp.i[HIGH_HALF] = (junk1.i[LOW_HALF] + 767) << 20; - /* Maximum ULP error is 0.500008. */ - return res * binexp.x * t256.x; - } + return exp_inline (x, xx, 1); } diff --git a/sysdeps/ieee754/dbl-64/e_exp2.c b/sysdeps/ieee754/dbl-64/e_exp2.c index c45bb44744..96afcf9c20 100644 --- a/sysdeps/ieee754/dbl-64/e_exp2.c +++ b/sysdeps/ieee754/dbl-64/e_exp2.c @@ -1,7 +1,6 @@ -/* Double-precision floating point 2^x. - Copyright (C) 1997-2018 Free Software Foundation, Inc. +/* Double-precision 2^x function. + Copyright (C) 2018 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Geoffrey Keating The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -17,119 +16,130 @@ License along with the GNU C Library; if not, see . */ -/* The basic design here is from - Shmuel Gal and Boris Bachelis, "An Accurate Elementary Mathematical - Library for the IEEE Floating Point Standard", ACM Trans. Math. Soft., - 17 (1), March 1991, pp. 26-45. - It has been slightly modified to compute 2^x instead of e^x. - */ -#include -#include -#include #include -#include -#include +#include #include -#include -#include +#include +#include "math_config.h" + +#define N (1 << EXP_TABLE_BITS) +#define Shift __exp_data.exp2_shift +#define T __exp_data.tab +#define C1 __exp_data.exp2_poly[0] +#define C2 __exp_data.exp2_poly[1] +#define C3 __exp_data.exp2_poly[2] +#define C4 __exp_data.exp2_poly[3] +#define C5 __exp_data.exp2_poly[4] + +/* Handle cases that may overflow or underflow when computing the result that + is scale*(1+TMP) without intermediate rounding. The bit representation of + scale is in SBITS, however it has a computed exponent that may have + overflown into the sign bit so that needs to be adjusted before using it as + a double. (int32_t)KI is the k used in the argument reduction and exponent + adjustment of scale, positive k here means the result may overflow and + negative k means the result may underflow. */ +static inline double +specialcase (double_t tmp, uint64_t sbits, uint64_t ki) +{ + double_t scale, y; -#include "t_exp2.h" + if ((ki & 0x80000000) == 0) + { + /* k > 0, the exponent of scale might have overflowed by 1. */ + sbits -= 1ull << 52; + scale = asdouble (sbits); + y = 2 * (scale + scale * tmp); + return check_oflow (y); + } + /* k < 0, need special care in the subnormal range. */ + sbits += 1022ull << 52; + scale = asdouble (sbits); + y = scale + scale * tmp; + if (y < 1.0) + { + /* Round y to the right precision before scaling it into the subnormal + range to avoid double rounding that can cause 0.5+E/2 ulp error where + E is the worst-case ulp error outside the subnormal range. So this + is only useful if the goal is better than 1 ulp worst-case error. */ + double_t hi, lo; + lo = scale - y + scale * tmp; + hi = 1.0 + y; + lo = 1.0 - hi + y + lo; + y = math_narrow_eval (hi + lo) - 1.0; + /* Avoid -0.0 with downward rounding. */ + if (WANT_ROUNDING && y == 0.0) + y = 0.0; + /* The underflow exception needs to be signaled explicitly. */ + math_force_eval (math_opt_barrier (0x1p-1022) * 0x1p-1022); + } + y = 0x1p-1022 * y; + return check_uflow (y); +} -static const double TWO1023 = 8.988465674311579539e+307; -static const double TWOM1000 = 9.3326361850321887899e-302; +/* Top 12 bits of a double (sign and exponent bits). */ +static inline uint32_t +top12 (double x) +{ + return asuint64 (x) >> 52; +} double __ieee754_exp2 (double x) { - static const double himark = (double) DBL_MAX_EXP; - static const double lomark = (double) (DBL_MIN_EXP - DBL_MANT_DIG - 1); - - /* Check for usual case. */ - if (__glibc_likely (isless (x, himark))) + uint32_t abstop; + uint64_t ki, idx, top, sbits; + /* double_t for better performance on targets with FLT_EVAL_METHOD==2. */ + double_t kd, r, r2, scale, tail, tmp; + + abstop = top12 (x) & 0x7ff; + if (__glibc_unlikely (abstop - top12 (0x1p-54) + >= top12 (512.0) - top12 (0x1p-54))) { - /* Exceptional cases: */ - if (__glibc_unlikely (!isgreaterequal (x, lomark))) - { - if (isinf (x)) - /* e^-inf == 0, with no error. */ - return 0; - else - /* Underflow */ - return TWOM1000 * TWOM1000; - } - - static const double THREEp42 = 13194139533312.0; - int tval, unsafe; - double rx, x22, result; - union ieee754_double ex2_u, scale_u; - - if (fabs (x) < DBL_EPSILON / 4.0) - return 1.0 + x; - - { - SET_RESTORE_ROUND_NOEX (FE_TONEAREST); - - /* 1. Argument reduction. - Choose integers ex, -256 <= t < 256, and some real - -1/1024 <= x1 <= 1024 so that - x = ex + t/512 + x1. - - First, calculate rx = ex + t/512. */ - rx = x + THREEp42; - rx -= THREEp42; - x -= rx; /* Compute x=x1. */ - /* Compute tval = (ex*512 + t)+256. - Now, t = (tval mod 512)-256 and ex=tval/512 [that's mod, NOT %; - and /-round-to-nearest not the usual c integer /]. */ - tval = (int) (rx * 512.0 + 256.0); - - /* 2. Adjust for accurate table entry. - Find e so that - x = ex + t/512 + e + x2 - where -1e6 < e < 1e6, and - (double)(2^(t/512+e)) - is accurate to one part in 2^-64. */ - - /* 'tval & 511' is the same as 'tval%512' except that it's always - positive. - Compute x = x2. */ - x -= exp2_deltatable[tval & 511]; - - /* 3. Compute ex2 = 2^(t/512+e+ex). */ - ex2_u.d = exp2_accuratetable[tval & 511]; - tval >>= 9; - /* x2 is an integer multiple of 2^-54; avoid intermediate - underflow from the calculation of x22 * x. */ - unsafe = abs (tval) >= -DBL_MIN_EXP - 56; - ex2_u.ieee.exponent += tval >> unsafe; - scale_u.d = 1.0; - scale_u.ieee.exponent += tval - (tval >> unsafe); - - /* 4. Approximate 2^x2 - 1, using a fourth-degree polynomial, - with maximum error in [-2^-10-2^-30,2^-10+2^-30] - less than 10^-19. */ - - x22 = (((.0096181293647031180 - * x + .055504110254308625) - * x + .240226506959100583) - * x + .69314718055994495) * ex2_u.d; - math_opt_barrier (x22); - } - - /* 5. Return (2^x2-1) * 2^(t/512+e+ex) + 2^(t/512+e+ex). */ - result = x22 * x + ex2_u.d; - - if (!unsafe) - return result; - else + if (abstop - top12 (0x1p-54) >= 0x80000000) + /* Avoid spurious underflow for tiny x. */ + /* Note: 0 is common input. */ + return WANT_ROUNDING ? 1.0 + x : 1.0; + if (abstop >= top12 (1024.0)) { - result *= scale_u.d; - math_check_force_underflow_nonneg (result); - return result; + if (asuint64 (x) == asuint64 (-INFINITY)) + return 0.0; + if (abstop >= top12 (INFINITY)) + return 1.0 + x; + if (!(asuint64 (x) >> 63)) + return __math_oflow (0); + else if (asuint64 (x) >= asuint64 (-1075.0)) + return __math_uflow (0); } + if (2 * asuint64 (x) > 2 * asuint64 (928.0)) + /* Large x is special cased below. */ + abstop = 0; } - else - /* Return x, if x is a NaN or Inf; or overflow, otherwise. */ - return TWO1023 * x; + + /* exp2(x) = 2^(k/N) * 2^r, with 2^r in [2^(-1/2N),2^(1/2N)]. */ + /* x = k/N + r, with int k and r in [-1/2N, 1/2N]. */ + kd = math_narrow_eval (x + Shift); + ki = asuint64 (kd); /* k. */ + kd -= Shift; /* k/N for int k. */ + r = x - kd; + /* 2^(k/N) ~= scale * (1 + tail). */ + idx = 2 * (ki % N); + top = ki << (52 - EXP_TABLE_BITS); + tail = asdouble (T[idx]); + /* This is only a valid scale when -1023*N < k < 1024*N. */ + sbits = T[idx + 1] + top; + /* exp2(x) = 2^(k/N) * 2^r ~= scale + scale * (tail + 2^r - 1). */ + /* Evaluation is optimized assuming superscalar pipelined execution. */ + r2 = r * r; + /* Without fma the worst case error is 0.5/N ulp larger. */ + /* Worst case error is less than 0.5+0.86/N+(abs poly error * 2^53) ulp. */ + tmp = tail + r * C1 + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5); + if (__glibc_unlikely (abstop == 0)) + return specialcase (tmp, sbits, ki); + scale = asdouble (sbits); + /* Note: tmp == 0 or |tmp| > 2^-65 and scale > 2^-928, so there + is no spurious underflow here even without fma. */ + return scale + scale * tmp; } +#ifndef __ieee754_exp2 strong_alias (__ieee754_exp2, __exp2_finite) +#endif diff --git a/sysdeps/ieee754/dbl-64/e_exp_data.c b/sysdeps/ieee754/dbl-64/e_exp_data.c new file mode 100644 index 0000000000..ef02f848b0 --- /dev/null +++ b/sysdeps/ieee754/dbl-64/e_exp_data.c @@ -0,0 +1,196 @@ +/* Shared data between exp, exp2 and pow. + Copyright (C) 2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for 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 "math_config.h" + +#define N (1 << EXP_TABLE_BITS) + +const struct exp_data __exp_data = { +// N/ln2 +.invln2N = 0x1.71547652b82fep0 * N, +// -ln2/N +#if N == 128 +.negln2hiN = -0x1.62e42fefa0000p-8, +.negln2loN = -0x1.cf79abc9e3b3ap-47, +#endif +// Used for rounding when !TOINT_INTRINSICS +.shift = 0x1.8p52, +// exp polynomial coefficients. +.poly = { +#if N == 128 && EXP_POLY_ORDER == 5 +// abs error: 1.555*2^-66 +// ulp error: 0.509 (0.511 without fma) +// if |x| < ln2/256+eps +// abs error if |x| < ln2/128: 1.7145*2^-56 +0x1.ffffffffffdbdp-2, +0x1.555555555543cp-3, +0x1.55555cf172b91p-5, +0x1.1111167a4d017p-7, +#endif +}, +.exp2_shift = 0x1.8p52 / N, +// exp2 polynomial coefficients. +.exp2_poly = { +#if N == 128 && EXP2_POLY_ORDER == 5 +// abs error: 1.2195*2^-65 +// ulp error: 0.507 (0.511 without fma) +// if |x| < 1/256 +// abs error if |x| < 1/128: 1.9941*2^-56 +0x1.62e42fefa39efp-1, +0x1.ebfbdff82c424p-3, +0x1.c6b08d70cf4b5p-5, +0x1.3b2abd24650ccp-7, +0x1.5d7e09b4e3a84p-10, +#endif +}, +// 2^(k/N) ~= H[k]*(1 + T[k]) for int k in [0,N) +// tab[2*k] = asuint64(T[k]) +// tab[2*k+1] = asuint64(H[k]) - (k << 52)/N +.tab = { +#if N == 128 +0x0, 0x3ff0000000000000, +0x3c9b3b4f1a88bf6e, 0x3feff63da9fb3335, +0xbc7160139cd8dc5d, 0x3fefec9a3e778061, +0xbc905e7a108766d1, 0x3fefe315e86e7f85, +0x3c8cd2523567f613, 0x3fefd9b0d3158574, +0xbc8bce8023f98efa, 0x3fefd06b29ddf6de, +0x3c60f74e61e6c861, 0x3fefc74518759bc8, +0x3c90a3e45b33d399, 0x3fefbe3ecac6f383, +0x3c979aa65d837b6d, 0x3fefb5586cf9890f, +0x3c8eb51a92fdeffc, 0x3fefac922b7247f7, +0x3c3ebe3d702f9cd1, 0x3fefa3ec32d3d1a2, +0xbc6a033489906e0b, 0x3fef9b66affed31b, +0xbc9556522a2fbd0e, 0x3fef9301d0125b51, +0xbc5080ef8c4eea55, 0x3fef8abdc06c31cc, +0xbc91c923b9d5f416, 0x3fef829aaea92de0, +0x3c80d3e3e95c55af, 0x3fef7a98c8a58e51, +0xbc801b15eaa59348, 0x3fef72b83c7d517b, +0xbc8f1ff055de323d, 0x3fef6af9388c8dea, +0x3c8b898c3f1353bf, 0x3fef635beb6fcb75, +0xbc96d99c7611eb26, 0x3fef5be084045cd4, +0x3c9aecf73e3a2f60, 0x3fef54873168b9aa, +0xbc8fe782cb86389d, 0x3fef4d5022fcd91d, +0x3c8a6f4144a6c38d, 0x3fef463b88628cd6, +0x3c807a05b0e4047d, 0x3fef3f49917ddc96, +0x3c968efde3a8a894, 0x3fef387a6e756238, +0x3c875e18f274487d, 0x3fef31ce4fb2a63f, +0x3c80472b981fe7f2, 0x3fef2b4565e27cdd, +0xbc96b87b3f71085e, 0x3fef24dfe1f56381, +0x3c82f7e16d09ab31, 0x3fef1e9df51fdee1, +0xbc3d219b1a6fbffa, 0x3fef187fd0dad990, +0x3c8b3782720c0ab4, 0x3fef1285a6e4030b, +0x3c6e149289cecb8f, 0x3fef0cafa93e2f56, +0x3c834d754db0abb6, 0x3fef06fe0a31b715, +0x3c864201e2ac744c, 0x3fef0170fc4cd831, +0x3c8fdd395dd3f84a, 0x3feefc08b26416ff, +0xbc86a3803b8e5b04, 0x3feef6c55f929ff1, +0xbc924aedcc4b5068, 0x3feef1a7373aa9cb, +0xbc9907f81b512d8e, 0x3feeecae6d05d866, +0xbc71d1e83e9436d2, 0x3feee7db34e59ff7, +0xbc991919b3ce1b15, 0x3feee32dc313a8e5, +0x3c859f48a72a4c6d, 0x3feedea64c123422, +0xbc9312607a28698a, 0x3feeda4504ac801c, +0xbc58a78f4817895b, 0x3feed60a21f72e2a, +0xbc7c2c9b67499a1b, 0x3feed1f5d950a897, +0x3c4363ed60c2ac11, 0x3feece086061892d, +0x3c9666093b0664ef, 0x3feeca41ed1d0057, +0x3c6ecce1daa10379, 0x3feec6a2b5c13cd0, +0x3c93ff8e3f0f1230, 0x3feec32af0d7d3de, +0x3c7690cebb7aafb0, 0x3feebfdad5362a27, +0x3c931dbdeb54e077, 0x3feebcb299fddd0d, +0xbc8f94340071a38e, 0x3feeb9b2769d2ca7, +0xbc87deccdc93a349, 0x3feeb6daa2cf6642, +0xbc78dec6bd0f385f, 0x3feeb42b569d4f82, +0xbc861246ec7b5cf6, 0x3feeb1a4ca5d920f, +0x3c93350518fdd78e, 0x3feeaf4736b527da, +0x3c7b98b72f8a9b05, 0x3feead12d497c7fd, +0x3c9063e1e21c5409, 0x3feeab07dd485429, +0x3c34c7855019c6ea, 0x3feea9268a5946b7, +0x3c9432e62b64c035, 0x3feea76f15ad2148, +0xbc8ce44a6199769f, 0x3feea5e1b976dc09, +0xbc8c33c53bef4da8, 0x3feea47eb03a5585, +0xbc845378892be9ae, 0x3feea34634ccc320, +0xbc93cedd78565858, 0x3feea23882552225, +0x3c5710aa807e1964, 0x3feea155d44ca973, +0xbc93b3efbf5e2228, 0x3feea09e667f3bcd, +0xbc6a12ad8734b982, 0x3feea012750bdabf, +0xbc6367efb86da9ee, 0x3fee9fb23c651a2f, +0xbc80dc3d54e08851, 0x3fee9f7df9519484, +0xbc781f647e5a3ecf, 0x3fee9f75e8ec5f74, +0xbc86ee4ac08b7db0, 0x3fee9f9a48a58174, +0xbc8619321e55e68a, 0x3fee9feb564267c9, +0x3c909ccb5e09d4d3, 0x3feea0694fde5d3f, +0xbc7b32dcb94da51d, 0x3feea11473eb0187, +0x3c94ecfd5467c06b, 0x3feea1ed0130c132, +0x3c65ebe1abd66c55, 0x3feea2f336cf4e62, +0xbc88a1c52fb3cf42, 0x3feea427543e1a12, +0xbc9369b6f13b3734, 0x3feea589994cce13, +0xbc805e843a19ff1e, 0x3feea71a4623c7ad, +0xbc94d450d872576e, 0x3feea8d99b4492ed, +0x3c90ad675b0e8a00, 0x3feeaac7d98a6699, +0x3c8db72fc1f0eab4, 0x3feeace5422aa0db, +0xbc65b6609cc5e7ff, 0x3feeaf3216b5448c, +0x3c7bf68359f35f44, 0x3feeb1ae99157736, +0xbc93091fa71e3d83, 0x3feeb45b0b91ffc6, +0xbc5da9b88b6c1e29, 0x3feeb737b0cdc5e5, +0xbc6c23f97c90b959, 0x3feeba44cbc8520f, +0xbc92434322f4f9aa, 0x3feebd829fde4e50, +0xbc85ca6cd7668e4b, 0x3feec0f170ca07ba, +0x3c71affc2b91ce27, 0x3feec49182a3f090, +0x3c6dd235e10a73bb, 0x3feec86319e32323, +0xbc87c50422622263, 0x3feecc667b5de565, +0x3c8b1c86e3e231d5, 0x3feed09bec4a2d33, +0xbc91bbd1d3bcbb15, 0x3feed503b23e255d, +0x3c90cc319cee31d2, 0x3feed99e1330b358, +0x3c8469846e735ab3, 0x3feede6b5579fdbf, +0xbc82dfcd978e9db4, 0x3feee36bbfd3f37a, +0x3c8c1a7792cb3387, 0x3feee89f995ad3ad, +0xbc907b8f4ad1d9fa, 0x3feeee07298db666, +0xbc55c3d956dcaeba, 0x3feef3a2b84f15fb, +0xbc90a40e3da6f640, 0x3feef9728de5593a, +0xbc68d6f438ad9334, 0x3feeff76f2fb5e47, +0xbc91eee26b588a35, 0x3fef05b030a1064a, +0x3c74ffd70a5fddcd, 0x3fef0c1e904bc1d2, +0xbc91bdfbfa9298ac, 0x3fef12c25bd71e09, +0x3c736eae30af0cb3, 0x3fef199bdd85529c, +0x3c8ee3325c9ffd94, 0x3fef20ab5fffd07a, +0x3c84e08fd10959ac, 0x3fef27f12e57d14b, +0x3c63cdaf384e1a67, 0x3fef2f6d9406e7b5, +0x3c676b2c6c921968, 0x3fef3720dcef9069, +0xbc808a1883ccb5d2, 0x3fef3f0b555dc3fa, +0xbc8fad5d3ffffa6f, 0x3fef472d4a07897c, +0xbc900dae3875a949, 0x3fef4f87080d89f2, +0x3c74a385a63d07a7, 0x3fef5818dcfba487, +0xbc82919e2040220f, 0x3fef60e316c98398, +0x3c8e5a50d5c192ac, 0x3fef69e603db3285, +0x3c843a59ac016b4b, 0x3fef7321f301b460, +0xbc82d52107b43e1f, 0x3fef7c97337b9b5f, +0xbc892ab93b470dc9, 0x3fef864614f5a129, +0x3c74b604603a88d3, 0x3fef902ee78b3ff6, +0x3c83c5ec519d7271, 0x3fef9a51fbc74c83, +0xbc8ff7128fd391f0, 0x3fefa4afa2a490da, +0xbc8dae98e223747d, 0x3fefaf482d8e67f1, +0x3c8ec3bc41aa2008, 0x3fefba1bee615a27, +0x3c842b94c3a9eb32, 0x3fefc52b376bba97, +0x3c8a64a931d185ee, 0x3fefd0765b6e4540, +0xbc8e37bae43be3ed, 0x3fefdbfdad9cbe14, +0x3c77893b4d91cd9d, 0x3fefe7c1819e90d8, +0x3c5305c14160cc89, 0x3feff3c22b8f71f1, +#endif +}, +}; diff --git a/sysdeps/ieee754/dbl-64/e_pow.c b/sysdeps/ieee754/dbl-64/e_pow.c index 96d5b23ccc..060a8f0559 100644 --- a/sysdeps/ieee754/dbl-64/e_pow.c +++ b/sysdeps/ieee754/dbl-64/e_pow.c @@ -107,12 +107,12 @@ __ieee754_pow (double x, double y) a2 = (a - a1) + aa; /* Maximum relative error RElog of log1 is 1.0e-21 (69.7 bits). - Maximum relative error REexp of __exp1 is 8.8e-22 (69.9 bits). + Maximum relative error REexp of __exp1 is 1.0e-18 (59.8 bits). We actually compute exp ((1 + RElog) * log (x) * y) * (1 + REexp). Since RElog/REexp are tiny and log (x) * y is at most log (DBL_MAX), this is equivalent to pow (x, y) * (1 + 710 * RElog + REexp). - So the relative error is 710 * 1.0e-21 + 8.8e-22 = 7.1e-19 - (60.2 bits). The worst-case ULP error is 0.5064. */ + So the relative error is 710 * 1.0e-21 + 1.0e-18 = 1.7e-18 + (59 bits). The worst-case ULP error is 0.515. */ retval = __exp1 (a1, a2); } diff --git a/sysdeps/ieee754/dbl-64/eexp.tbl b/sysdeps/ieee754/dbl-64/eexp.tbl deleted file mode 100644 index 4ee6040638..0000000000 --- a/sysdeps/ieee754/dbl-64/eexp.tbl +++ /dev/null @@ -1,172 +0,0 @@ -/* EXP function tables - for use in computing double precision exponential - Copyright (C) 2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -/* For i = 0, ..., 66, - TBL2[2*i] is a double precision number near (i+1)*2^-6, and - TBL2[2*i+1] = exp(TBL2[2*i]) to within a relative error less - than 2^-60. - - For i = 67, ..., 133, - TBL2[2*i] is a double precision number near -(i+1)*2^-6, and - TBL2[2*i+1] = exp(TBL2[2*i]) to within a relative error less - than 2^-60. */ - -static const double TBL2[268] = { - 0x1.ffffffffffc82p-7, 0x1.04080ab55de32p+0, - 0x1.fffffffffffdbp-6, 0x1.08205601127ecp+0, - 0x1.80000000000a0p-5, 0x1.0c49236829e91p+0, - 0x1.fffffffffff79p-5, 0x1.1082b577d34e9p+0, - 0x1.3fffffffffffcp-4, 0x1.14cd4fc989cd6p+0, - 0x1.8000000000060p-4, 0x1.192937074e0d4p+0, - 0x1.c000000000061p-4, 0x1.1d96b0eff0e80p+0, - 0x1.fffffffffffd6p-4, 0x1.2216045b6f5cap+0, - 0x1.1ffffffffff58p-3, 0x1.26a7793f6014cp+0, - 0x1.3ffffffffff75p-3, 0x1.2b4b58b372c65p+0, - 0x1.5ffffffffff00p-3, 0x1.3001ecf601ad1p+0, - 0x1.8000000000020p-3, 0x1.34cb8170b583ap+0, - 0x1.9ffffffffa629p-3, 0x1.39a862bd3b344p+0, - 0x1.c00000000000fp-3, 0x1.3e98deaa11dcep+0, - 0x1.e00000000007fp-3, 0x1.439d443f5f16dp+0, - 0x1.0000000000072p-2, 0x1.48b5e3c3e81abp+0, - 0x1.0fffffffffecap-2, 0x1.4de30ec211dfbp+0, - 0x1.1ffffffffff8fp-2, 0x1.5325180cfacd2p+0, - 0x1.300000000003bp-2, 0x1.587c53c5a7b04p+0, - 0x1.4000000000034p-2, 0x1.5de9176046007p+0, - 0x1.4ffffffffff89p-2, 0x1.636bb9a98322fp+0, - 0x1.5ffffffffffe7p-2, 0x1.690492cbf942ap+0, - 0x1.6ffffffffff78p-2, 0x1.6eb3fc55b1e45p+0, - 0x1.7ffffffffff65p-2, 0x1.747a513dbef32p+0, - 0x1.8ffffffffffd5p-2, 0x1.7a57ede9ea22ep+0, - 0x1.9ffffffffff6ep-2, 0x1.804d30347b50fp+0, - 0x1.affffffffffc3p-2, 0x1.865a7772164aep+0, - 0x1.c000000000053p-2, 0x1.8c802477b0030p+0, - 0x1.d00000000004dp-2, 0x1.92be99a09bf1ep+0, - 0x1.e000000000096p-2, 0x1.99163ad4b1e08p+0, - 0x1.efffffffffefap-2, 0x1.9f876d8e8c4fcp+0, - 0x1.fffffffffffd0p-2, 0x1.a61298e1e0688p+0, - 0x1.0800000000002p-1, 0x1.acb82581eee56p+0, - 0x1.100000000001fp-1, 0x1.b3787dc80f979p+0, - 0x1.17ffffffffff8p-1, 0x1.ba540dba56e4fp+0, - 0x1.1fffffffffffap-1, 0x1.c14b431256441p+0, - 0x1.27fffffffffc4p-1, 0x1.c85e8d43f7c9bp+0, - 0x1.2fffffffffffdp-1, 0x1.cf8e5d84758a6p+0, - 0x1.380000000001fp-1, 0x1.d6db26d16cd84p+0, - 0x1.3ffffffffffd8p-1, 0x1.de455df80e39bp+0, - 0x1.4800000000052p-1, 0x1.e5cd799c6a59cp+0, - 0x1.4ffffffffffc8p-1, 0x1.ed73f240dc10cp+0, - 0x1.5800000000013p-1, 0x1.f539424d90f71p+0, - 0x1.5ffffffffffbcp-1, 0x1.fd1de6182f885p+0, - 0x1.680000000002dp-1, 0x1.02912df5ce741p+1, - 0x1.7000000000040p-1, 0x1.06a39207f0a2ap+1, - 0x1.780000000004fp-1, 0x1.0ac660691652ap+1, - 0x1.7ffffffffff6fp-1, 0x1.0ef9db467dcabp+1, - 0x1.87fffffffffe5p-1, 0x1.133e45d82e943p+1, - 0x1.9000000000035p-1, 0x1.1793e4652cc6dp+1, - 0x1.97fffffffffb3p-1, 0x1.1bfafc47bda48p+1, - 0x1.a000000000000p-1, 0x1.2073d3f1bd518p+1, - 0x1.a80000000004ap-1, 0x1.24feb2f105ce2p+1, - 0x1.affffffffffedp-1, 0x1.299be1f3e7f11p+1, - 0x1.b7ffffffffffbp-1, 0x1.2e4baacdb6611p+1, - 0x1.c00000000001dp-1, 0x1.330e587b62b39p+1, - 0x1.c800000000079p-1, 0x1.37e437282d538p+1, - 0x1.cffffffffff51p-1, 0x1.3ccd943268248p+1, - 0x1.d7fffffffff74p-1, 0x1.41cabe304cadcp+1, - 0x1.e000000000011p-1, 0x1.46dc04f4e5343p+1, - 0x1.e80000000001ep-1, 0x1.4c01b9950a124p+1, - 0x1.effffffffff9ep-1, 0x1.513c2e6c73196p+1, - 0x1.f7fffffffffedp-1, 0x1.568bb722dd586p+1, - 0x1.0000000000034p+0, 0x1.5bf0a8b1457b0p+1, - 0x1.03fffffffffe2p+0, 0x1.616b5967376dfp+1, - 0x1.07fffffffff4bp+0, 0x1.66fc20f0337a9p+1, - 0x1.0bffffffffffdp+0, 0x1.6ca35859290f5p+1, - -0x1.fffffffffffe4p-7, 0x1.f80feabfeefa5p-1, - -0x1.ffffffffffb0bp-6, 0x1.f03f56a88b5fep-1, - -0x1.7ffffffffffa7p-5, 0x1.e88dc6afecfc5p-1, - -0x1.ffffffffffea8p-5, 0x1.e0fabfbc702b8p-1, - -0x1.3ffffffffffb3p-4, 0x1.d985c89d041acp-1, - -0x1.7ffffffffffe3p-4, 0x1.d22e6a0197c06p-1, - -0x1.bffffffffff9ap-4, 0x1.caf42e73a4c89p-1, - -0x1.fffffffffff98p-4, 0x1.c3d6a24ed822dp-1, - -0x1.1ffffffffffe9p-3, 0x1.bcd553b9d7b67p-1, - -0x1.3ffffffffffe0p-3, 0x1.b5efd29f24c2dp-1, - -0x1.5fffffffff553p-3, 0x1.af25b0a61a9f4p-1, - -0x1.7ffffffffff8bp-3, 0x1.a876812c08794p-1, - -0x1.9fffffffffe51p-3, 0x1.a1e1d93d68828p-1, - -0x1.bffffffffff6ep-3, 0x1.9b674f8f2f3f5p-1, - -0x1.dffffffffff7fp-3, 0x1.95067c7837a0cp-1, - -0x1.fffffffffff7ap-3, 0x1.8ebef9eac8225p-1, - -0x1.0fffffffffffep-2, 0x1.8890636e31f55p-1, - -0x1.1ffffffffff41p-2, 0x1.827a56188975ep-1, - -0x1.2ffffffffffbap-2, 0x1.7c7c708877656p-1, - -0x1.3fffffffffff8p-2, 0x1.769652df22f81p-1, - -0x1.4ffffffffff90p-2, 0x1.70c79eba33c2fp-1, - -0x1.5ffffffffffdbp-2, 0x1.6b0ff72deb8aap-1, - -0x1.6ffffffffff9ap-2, 0x1.656f00bf5798ep-1, - -0x1.7ffffffffff9fp-2, 0x1.5fe4615e98eb0p-1, - -0x1.8ffffffffffeep-2, 0x1.5a6fc061433cep-1, - -0x1.9fffffffffc4ap-2, 0x1.5510c67cd26cdp-1, - -0x1.affffffffff30p-2, 0x1.4fc71dc13566bp-1, - -0x1.bfffffffffff0p-2, 0x1.4a9271936fd0ep-1, - -0x1.cfffffffffff3p-2, 0x1.45726ea84fb8cp-1, - -0x1.dfffffffffff3p-2, 0x1.4066c2ff3912bp-1, - -0x1.effffffffff80p-2, 0x1.3b6f1ddd05ab9p-1, - -0x1.fffffffffffdfp-2, 0x1.368b2fc6f9614p-1, - -0x1.0800000000000p-1, 0x1.31baaa7dca843p-1, - -0x1.0ffffffffffa4p-1, 0x1.2cfd40f8bdce4p-1, - -0x1.17fffffffff0ap-1, 0x1.2852a760d5ce7p-1, - -0x1.2000000000000p-1, 0x1.23ba930c1568bp-1, - -0x1.27fffffffffbbp-1, 0x1.1f34ba78d568dp-1, - -0x1.2fffffffffe32p-1, 0x1.1ac0d5492c1dbp-1, - -0x1.37ffffffff042p-1, 0x1.165e9c3e67ef2p-1, - -0x1.3ffffffffff77p-1, 0x1.120dc93499431p-1, - -0x1.47fffffffff6bp-1, 0x1.0dce171e34ecep-1, - -0x1.4fffffffffff1p-1, 0x1.099f41ffbe588p-1, - -0x1.57ffffffffe02p-1, 0x1.058106eb8a7aep-1, - -0x1.5ffffffffffe5p-1, 0x1.017323fd9002ep-1, - -0x1.67fffffffffb0p-1, 0x1.faeab0ae9386cp-2, - -0x1.6ffffffffffb2p-1, 0x1.f30ec837503d7p-2, - -0x1.77fffffffff7fp-1, 0x1.eb5210d627133p-2, - -0x1.7ffffffffffe8p-1, 0x1.e3b40ebefcd95p-2, - -0x1.87fffffffffc8p-1, 0x1.dc3448110dae2p-2, - -0x1.8fffffffffb30p-1, 0x1.d4d244cf4ef06p-2, - -0x1.97fffffffffefp-1, 0x1.cd8d8ed8ee395p-2, - -0x1.9ffffffffffa7p-1, 0x1.c665b1e1f1e5cp-2, - -0x1.a7fffffffffdcp-1, 0x1.bf5a3b6bf18d6p-2, - -0x1.affffffffff95p-1, 0x1.b86ababeef93bp-2, - -0x1.b7fffffffffcbp-1, 0x1.b196c0e24d256p-2, - -0x1.bffffffffff32p-1, 0x1.aadde095dadf7p-2, - -0x1.c7fffffffff6ap-1, 0x1.a43fae4b047c9p-2, - -0x1.cffffffffffb6p-1, 0x1.9dbbc01e182a4p-2, - -0x1.d7fffffffffcap-1, 0x1.9751adcfa81ecp-2, - -0x1.dffffffffffcdp-1, 0x1.910110be0699ep-2, - -0x1.e7ffffffffffbp-1, 0x1.8ac983dedbc69p-2, - -0x1.effffffffff88p-1, 0x1.84aaa3b8d51a9p-2, - -0x1.f7fffffffffbbp-1, 0x1.7ea40e5d6d92ep-2, - -0x1.fffffffffffdbp-1, 0x1.78b56362cef53p-2, - -0x1.03fffffffff00p+0, 0x1.72de43ddcb1f2p-2, - -0x1.07ffffffffe6fp+0, 0x1.6d1e525bed085p-2, - -0x1.0bfffffffffd6p+0, 0x1.677532dda1c57p-2}; - -static const double - half = 0.5, - one = 1.0, -/* t2-t5 terms used for polynomial computation. */ - t2 = 0x1.5555555555555p-3, /* 1.6666666666666665741e-1 */ - t3 = 0x1.5555555555555p-5, /* 4.1666666666666664354e-2 */ - t4 = 0x1.1111111111111p-7, /* 8.3333333333333332177e-3 */ - t5 = 0x1.6c16c16c16c17p-10; /* 1.3888888888888889419e-3 */ diff --git a/sysdeps/ieee754/dbl-64/math_config.h b/sysdeps/ieee754/dbl-64/math_config.h new file mode 100644 index 0000000000..02d94fed3e --- /dev/null +++ b/sysdeps/ieee754/dbl-64/math_config.h @@ -0,0 +1,136 @@ +/* Configuration for double precision math routines. + Copyright (C) 2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _MATH_CONFIG_H +#define _MATH_CONFIG_H + +#include +#include +#include + +#ifndef WANT_ROUNDING +/* Correct special case results in non-nearest rounding modes. */ +# define WANT_ROUNDING 1 +#endif +#ifndef WANT_ERRNO +/* Set errno according to ISO C with (math_errhandling & MATH_ERRNO) != 0. */ +# define WANT_ERRNO 1 +#endif +#ifndef WANT_ERRNO_UFLOW +/* Set errno to ERANGE if result underflows to 0 (in all rounding modes). */ +# define WANT_ERRNO_UFLOW (WANT_ROUNDING && WANT_ERRNO) +#endif + +#ifndef TOINT_INTRINSICS +/* When set, the roundtoint and converttoint functions are provided with + the semantics documented below. */ +# define TOINT_INTRINSICS 0 +#endif + +#if TOINT_INTRINSICS +/* Round x to nearest int in all rounding modes, ties have to be rounded + consistently with converttoint so the results match. If the result + would be outside of [-2^31, 2^31-1] then the semantics is unspecified. */ +static inline double_t +roundtoint (double_t x); + +/* Convert x to nearest int in all rounding modes, ties have to be rounded + consistently with roundtoint. If the result is not representible in an + int32_t then the semantics is unspecified. */ +static inline int32_t +converttoint (double_t x); +#endif + +static inline uint64_t +asuint64 (double f) +{ + union + { + double f; + uint64_t i; + } u = {f}; + return u.i; +} + +static inline double +asdouble (uint64_t i) +{ + union + { + uint64_t i; + double f; + } u = {i}; + return u.f; +} + +#define NOINLINE __attribute__ ((noinline)) + +/* Error handling tail calls for special cases, with a sign argument. + The sign of the return value is set if the argument is non-zero. */ + +/* The result overflows. */ +attribute_hidden double __math_oflow (uint32_t); +/* The result underflows to 0 in nearest rounding mode. */ +attribute_hidden double __math_uflow (uint32_t); +/* The result underflows to 0 in some directed rounding mode only. */ +attribute_hidden double __math_may_uflow (uint32_t); +/* Division by zero. */ +attribute_hidden double __math_divzero (uint32_t); + +/* Error handling using input checking. */ + +/* Invalid input unless it is a quiet NaN. */ +attribute_hidden double __math_invalid (double); + +/* Error handling using output checking, only for errno setting. */ + +/* Check if the result overflowed to infinity. */ +attribute_hidden double __math_check_oflow (double); +/* Check if the result underflowed to 0. */ +attribute_hidden double __math_check_uflow (double); + +/* Check if the result overflowed to infinity. */ +static inline double +check_oflow (double x) +{ + return WANT_ERRNO ? __math_check_oflow (x) : x; +} + +/* Check if the result underflowed to 0. */ +static inline double +check_uflow (double x) +{ + return WANT_ERRNO ? __math_check_uflow (x) : x; +} + +#define EXP_TABLE_BITS 7 +#define EXP_POLY_ORDER 5 +#define EXP2_POLY_ORDER 5 +extern const struct exp_data +{ + double invln2N; + double shift; + double negln2hiN; + double negln2loN; + double poly[4]; /* Last four coefficients. */ + double exp2_shift; + double exp2_poly[EXP2_POLY_ORDER]; + uint64_t tab[2*(1 << EXP_TABLE_BITS)]; +} __exp_data attribute_hidden; + +#endif diff --git a/sysdeps/ieee754/dbl-64/math_err.c b/sysdeps/ieee754/dbl-64/math_err.c new file mode 100644 index 0000000000..efd7ef0832 --- /dev/null +++ b/sysdeps/ieee754/dbl-64/math_err.c @@ -0,0 +1,92 @@ +/* Double-precision math error handling. + Copyright (C) 2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for 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 "math_config.h" + +#if WANT_ERRNO +#include +/* NOINLINE reduces code size and avoids making math functions non-leaf + when the error handling is inlined. */ +NOINLINE static double +with_errno (double y, int e) +{ + errno = e; + return y; +} +#else +#define with_errno(x, e) (x) +#endif + +/* NOINLINE reduces code size. */ +NOINLINE static double +xflow (uint32_t sign, double y) +{ + y = math_opt_barrier (sign ? -y : y) * y; + return with_errno (y, ERANGE); +} + +attribute_hidden double +__math_uflow (uint32_t sign) +{ + return xflow (sign, 0x1p-767); +} + +#if WANT_ERRNO_UFLOW +/* Underflows to zero in some non-nearest rounding mode, setting errno + is valid even if the result is non-zero, but in the subnormal range. */ +attribute_hidden double +__math_may_uflow (uint32_t sign) +{ + return xflow (sign, 0x1.8p-538); +} +#endif + +attribute_hidden double +__math_oflow (uint32_t sign) +{ + return xflow (sign, 0x1p769); +} + +attribute_hidden double +__math_divzero (uint32_t sign) +{ + double y = math_opt_barrier (sign ? -1.0 : 1.0) / 0.0; + return with_errno (y, ERANGE); +} + +attribute_hidden double +__math_invalid (double x) +{ + double y = (x - x) / (x - x); + return isnan (x) ? y : with_errno (y, EDOM); +} + +/* Check result and set errno if necessary. */ + +attribute_hidden double +__math_check_uflow (double y) +{ + return y == 0.0 ? with_errno (y, ERANGE) : y; +} + +attribute_hidden double +__math_check_oflow (double y) +{ + return isinf (y) ? with_errno (y, ERANGE) : y; +} diff --git a/sysdeps/ieee754/dbl-64/t_exp.c b/sysdeps/ieee754/dbl-64/t_exp.c deleted file mode 100644 index 555c4ff01b..0000000000 --- a/sysdeps/ieee754/dbl-64/t_exp.c +++ /dev/null @@ -1,435 +0,0 @@ -/* Accurate tables for exp(). - Copyright (C) 1998-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Geoffrey Keating - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -/* This table has the property that, for all integers -177 <= i <= 177, - exp(i/512.0 + __exp_deltatable[abs(i)]) == __exp_atable[i+177] + r - for some -2^-64 < r < 2^-64 (abs(r) < 2^-65 if i <= 0); and that - __exp_deltatable[abs(i)] == t * 2^-60 - for integer t so that abs(t) <= 8847927 * 2^8. */ - -#define W52 (2.22044605e-16) -#define W55 (2.77555756e-17) -#define W58 (3.46944695e-18) -#define W59 (1.73472348e-18) -#define W60 (8.67361738e-19) -const float __exp_deltatable[178] = { - 0*W60, 16558714*W60, -10672149*W59, 1441652*W60, - -15787963*W55, 462888*W60, 7291806*W60, 1698880*W60, - -14375103*W58, -2021016*W60, 728829*W60, -3759654*W60, - 3202123*W60, -10916019*W58, -251570*W60, -1043086*W60, - 8207536*W60, -409964*W60, -5993931*W60, -475500*W60, - 2237522*W60, 324170*W60, -244117*W60, 32077*W60, - 123907*W60, -1019734*W60, -143*W60, 813077*W60, - 743345*W60, 462461*W60, 629794*W60, 2125066*W60, - -2339121*W60, -337951*W60, 9922067*W60, -648704*W60, - 149407*W60, -2687209*W60, -631608*W60, 2128280*W60, - -4882082*W60, 2001360*W60, 175074*W60, 2923216*W60, - -538947*W60, -1212193*W60, -1920926*W60, -1080577*W60, - 3690196*W60, 2643367*W60, 2911937*W60, 671455*W60, - -1128674*W60, 593282*W60, -5219347*W60, -1941490*W60, - 11007953*W60, 239609*W60, -2969658*W60, -1183650*W60, - 942998*W60, 699063*W60, 450569*W60, -329250*W60, - -7257875*W60, -312436*W60, 51626*W60, 555877*W60, - -641761*W60, 1565666*W60, 884327*W60, -10960035*W60, - -2004679*W60, -995793*W60, -2229051*W60, -146179*W60, - -510327*W60, 1453482*W60, -3778852*W60, -2238056*W60, - -4895983*W60, 3398883*W60, -252738*W60, 1230155*W60, - 346918*W60, 1109352*W60, 268941*W60, -2930483*W60, - -1036263*W60, -1159280*W60, 1328176*W60, 2937642*W60, - -9371420*W60, -6902650*W60, -1419134*W60, 1442904*W60, - -1319056*W60, -16369*W60, 696555*W60, -279987*W60, - -7919763*W60, 252741*W60, 459711*W60, -1709645*W60, - 354913*W60, 6025867*W60, -421460*W60, -853103*W60, - -338649*W60, 962151*W60, 955965*W60, 784419*W60, - -3633653*W60, 2277133*W60, -8847927*W52, 1223028*W60, - 5907079*W60, 623167*W60, 5142888*W60, 2599099*W60, - 1214280*W60, 4870359*W60, 593349*W60, -57705*W60, - 7761209*W60, -5564097*W60, 2051261*W60, 6216869*W60, - 4692163*W60, 601691*W60, -5264906*W60, 1077872*W60, - -3205949*W60, 1833082*W60, 2081746*W60, -987363*W60, - -1049535*W60, 2015244*W60, 874230*W60, 2168259*W60, - -1740124*W60, -10068269*W60, -18242*W60, -3013583*W60, - 580601*W60, -2547161*W60, -535689*W60, 2220815*W60, - 1285067*W60, 2806933*W60, -983086*W60, -1729097*W60, - -1162985*W60, -2561904*W60, 801988*W60, 244351*W60, - 1441893*W60, -7517981*W60, 271781*W60, -15021588*W60, - -2341588*W60, -919198*W60, 1642232*W60, 4771771*W60, - -1220099*W60, -3062372*W60, 628624*W60, 1278114*W60, - 13083513*W60, -10521925*W60, 3180310*W60, -1659307*W60, - 3543773*W60, 2501203*W60, 4151*W60, -340748*W60, - -2285625*W60, 2495202*W60 -}; - -const double __exp_atable[355] /* __attribute__((mode(DF))) */ = { - 0.707722561055888932371, /* 0x0.b52d4e46605c27ffd */ - 0.709106182438804188967, /* 0x0.b587fb96f75097ffb */ - 0.710492508843861281234, /* 0x0.b5e2d649899167ffd */ - 0.711881545564593931623, /* 0x0.b63dde74d36bdfffe */ - 0.713273297897442870573, /* 0x0.b699142f945f87ffc */ - 0.714667771153751463236, /* 0x0.b6f477909c4ea0001 */ - 0.716064970655995725059, /* 0x0.b75008aec758f8004 */ - 0.717464901723956938193, /* 0x0.b7abc7a0eea7e0002 */ - 0.718867569715736398602, /* 0x0.b807b47e1586c7ff8 */ - 0.720272979947266023271, /* 0x0.b863cf5d10e380003 */ - 0.721681137825144314297, /* 0x0.b8c01855195c37ffb */ - 0.723092048691992950199, /* 0x0.b91c8f7d213740004 */ - 0.724505717938892290800, /* 0x0.b97934ec5002d0007 */ - 0.725922150953176470431, /* 0x0.b9d608b9c92ea7ffc */ - 0.727341353138962865022, /* 0x0.ba330afcc29e98003 */ - 0.728763329918453162104, /* 0x0.ba903bcc8618b7ffc */ - 0.730188086709957051568, /* 0x0.baed9b40591ba0000 */ - 0.731615628948127705309, /* 0x0.bb4b296f931e30002 */ - 0.733045962086486091436, /* 0x0.bba8e671a05617ff9 */ - 0.734479091556371366251, /* 0x0.bc06d25dd49568001 */ - 0.735915022857225542529, /* 0x0.bc64ed4bce8f6fff9 */ - 0.737353761441304711410, /* 0x0.bcc33752f915d7ff9 */ - 0.738795312814142124419, /* 0x0.bd21b08af98e78005 */ - 0.740239682467211168593, /* 0x0.bd80590b65e9a8000 */ - 0.741686875913991849885, /* 0x0.bddf30ebec4a10000 */ - 0.743136898669507939299, /* 0x0.be3e38443c84e0007 */ - 0.744589756269486091620, /* 0x0.be9d6f2c1d32a0002 */ - 0.746045454254026796384, /* 0x0.befcd5bb59baf8004 */ - 0.747503998175051087583, /* 0x0.bf5c6c09ca84c0003 */ - 0.748965393601880857739, /* 0x0.bfbc322f5b18b7ff8 */ - 0.750429646104262104698, /* 0x0.c01c2843f776fffff */ - 0.751896761271877989160, /* 0x0.c07c4e5fa18b88002 */ - 0.753366744698445112140, /* 0x0.c0dca49a5fb18fffd */ - 0.754839601988627206827, /* 0x0.c13d2b0c444db0005 */ - 0.756315338768691947122, /* 0x0.c19de1cd798578006 */ - 0.757793960659406629066, /* 0x0.c1fec8f623723fffd */ - 0.759275473314173443536, /* 0x0.c25fe09e8a0f47ff8 */ - 0.760759882363831851927, /* 0x0.c2c128dedc88f8000 */ - 0.762247193485956486805, /* 0x0.c322a1cf7d6e7fffa */ - 0.763737412354726363781, /* 0x0.c3844b88cb9347ffc */ - 0.765230544649828092739, /* 0x0.c3e626232bd8f7ffc */ - 0.766726596071518051729, /* 0x0.c44831b719bf18002 */ - 0.768225572321911687194, /* 0x0.c4aa6e5d12d078001 */ - 0.769727479119219348810, /* 0x0.c50cdc2da64a37ffb */ - 0.771232322196981678892, /* 0x0.c56f7b41744490001 */ - 0.772740107296721268087, /* 0x0.c5d24bb1259e70004 */ - 0.774250840160724651565, /* 0x0.c6354d95640dd0007 */ - 0.775764526565368872643, /* 0x0.c6988106fec447fff */ - 0.777281172269557396602, /* 0x0.c6fbe61eb1bd0ffff */ - 0.778800783068235302750, /* 0x0.c75f7cf560942fffc */ - 0.780323364758801041312, /* 0x0.c7c345a3f1983fffe */ - 0.781848923151573727006, /* 0x0.c8274043594cb0002 */ - 0.783377464064598849602, /* 0x0.c88b6cec94b3b7ff9 */ - 0.784908993312207869935, /* 0x0.c8efcbb89cba27ffe */ - 0.786443516765346961618, /* 0x0.c9545cc0a88c70003 */ - 0.787981040257604625744, /* 0x0.c9b9201dc643bfffa */ - 0.789521569657452682047, /* 0x0.ca1e15e92a5410007 */ - 0.791065110849462849192, /* 0x0.ca833e3c1ae510005 */ - 0.792611669712891875319, /* 0x0.cae8992fd84667ffd */ - 0.794161252150049179450, /* 0x0.cb4e26ddbc207fff8 */ - 0.795713864077794763584, /* 0x0.cbb3e75f301b60003 */ - 0.797269511407239561694, /* 0x0.cc19dacd978cd8002 */ - 0.798828200086368567220, /* 0x0.cc8001427e55d7ffb */ - 0.800389937624300440456, /* 0x0.cce65ade24d360006 */ - 0.801954725261124767840, /* 0x0.cd4ce7a5de839fffb */ - 0.803522573691593189330, /* 0x0.cdb3a7c79a678fffd */ - 0.805093487311204114563, /* 0x0.ce1a9b563965ffffc */ - 0.806667472122675088819, /* 0x0.ce81c26b838db8000 */ - 0.808244534127439906441, /* 0x0.cee91d213f8428002 */ - 0.809824679342317166307, /* 0x0.cf50ab9144d92fff9 */ - 0.811407913793616542005, /* 0x0.cfb86dd5758c2ffff */ - 0.812994243520784198882, /* 0x0.d0206407c20e20005 */ - 0.814583674571603966162, /* 0x0.d0888e4223facfff9 */ - 0.816176213022088536960, /* 0x0.d0f0ec9eb3f7c8002 */ - 0.817771864936188586101, /* 0x0.d1597f377d6768002 */ - 0.819370636400374108252, /* 0x0.d1c24626a46eafff8 */ - 0.820972533518165570298, /* 0x0.d22b41865ff1e7ff9 */ - 0.822577562404315121269, /* 0x0.d2947170f32ec7ff9 */ - 0.824185729164559344159, /* 0x0.d2fdd60097795fff8 */ - 0.825797039949601741075, /* 0x0.d3676f4fb796d0001 */ - 0.827411500902565544264, /* 0x0.d3d13d78b5f68fffb */ - 0.829029118181348834154, /* 0x0.d43b40960546d8001 */ - 0.830649897953322891022, /* 0x0.d4a578c222a058000 */ - 0.832273846408250750368, /* 0x0.d50fe617a3ba78005 */ - 0.833900969738858188772, /* 0x0.d57a88b1218e90002 */ - 0.835531274148056613016, /* 0x0.d5e560a94048f8006 */ - 0.837164765846411529371, /* 0x0.d6506e1aac8078003 */ - 0.838801451086016225394, /* 0x0.d6bbb1204074e0001 */ - 0.840441336100884561780, /* 0x0.d72729d4c28518004 */ - 0.842084427144139224814, /* 0x0.d792d8530e12b0001 */ - 0.843730730487052604790, /* 0x0.d7febcb61273e7fff */ - 0.845380252404570153833, /* 0x0.d86ad718c308dfff9 */ - 0.847032999194574087728, /* 0x0.d8d727962c69d7fff */ - 0.848688977161248581090, /* 0x0.d943ae49621ce7ffb */ - 0.850348192619261200615, /* 0x0.d9b06b4d832ef8005 */ - 0.852010651900976245816, /* 0x0.da1d5ebdc22220005 */ - 0.853676361342631029337, /* 0x0.da8a88b555baa0006 */ - 0.855345327311054837175, /* 0x0.daf7e94f965f98004 */ - 0.857017556155879489641, /* 0x0.db6580a7c98f7fff8 */ - 0.858693054267390953857, /* 0x0.dbd34ed9617befff8 */ - 0.860371828028939855647, /* 0x0.dc4153ffc8b65fff9 */ - 0.862053883854957292436, /* 0x0.dcaf90368bfca8004 */ - 0.863739228154875360306, /* 0x0.dd1e0399328d87ffe */ - 0.865427867361348468455, /* 0x0.dd8cae435d303fff9 */ - 0.867119807911702289458, /* 0x0.ddfb9050b1cee8006 */ - 0.868815056264353846599, /* 0x0.de6aa9dced8448001 */ - 0.870513618890481399881, /* 0x0.ded9fb03db7320006 */ - 0.872215502247877139094, /* 0x0.df4983e1380657ff8 */ - 0.873920712852848668986, /* 0x0.dfb94490ffff77ffd */ - 0.875629257204025623884, /* 0x0.e0293d2f1cb01fff9 */ - 0.877341141814212965880, /* 0x0.e0996dd786fff0007 */ - 0.879056373217612985183, /* 0x0.e109d6a64f5d57ffc */ - 0.880774957955916648615, /* 0x0.e17a77b78e72a7ffe */ - 0.882496902590150900078, /* 0x0.e1eb5127722cc7ff8 */ - 0.884222213673356738383, /* 0x0.e25c63121fb0c8006 */ - 0.885950897802399772740, /* 0x0.e2cdad93ec5340003 */ - 0.887682961567391237685, /* 0x0.e33f30c925fb97ffb */ - 0.889418411575228162725, /* 0x0.e3b0ecce2d05ffff9 */ - 0.891157254447957902797, /* 0x0.e422e1bf727718006 */ - 0.892899496816652704641, /* 0x0.e4950fb9713fc7ffe */ - 0.894645145323828439008, /* 0x0.e50776d8b0e60fff8 */ - 0.896394206626591749641, /* 0x0.e57a1739c8fadfffc */ - 0.898146687421414902124, /* 0x0.e5ecf0f97c5798007 */ - 0.899902594367530173098, /* 0x0.e660043464e378005 */ - 0.901661934163603406867, /* 0x0.e6d3510747e150006 */ - 0.903424713533971135418, /* 0x0.e746d78f06cd97ffd */ - 0.905190939194458810123, /* 0x0.e7ba97e879c91fffc */ - 0.906960617885092856864, /* 0x0.e82e92309390b0007 */ - 0.908733756358986566306, /* 0x0.e8a2c6845544afffa */ - 0.910510361377119825629, /* 0x0.e9173500c8abc7ff8 */ - 0.912290439722343249336, /* 0x0.e98bddc30f98b0002 */ - 0.914073998177417412765, /* 0x0.ea00c0e84bc4c7fff */ - 0.915861043547953501680, /* 0x0.ea75de8db8094fffe */ - 0.917651582652244779397, /* 0x0.eaeb36d09d3137ffe */ - 0.919445622318405764159, /* 0x0.eb60c9ce4ed3dffff */ - 0.921243169397334638073, /* 0x0.ebd697a43995b0007 */ - 0.923044230737526172328, /* 0x0.ec4ca06fc7768fffa */ - 0.924848813220121135342, /* 0x0.ecc2e44e865b6fffb */ - 0.926656923710931002014, /* 0x0.ed39635df34e70006 */ - 0.928468569126343790092, /* 0x0.edb01dbbc2f5b7ffa */ - 0.930283756368834757725, /* 0x0.ee2713859aab57ffa */ - 0.932102492359406786818, /* 0x0.ee9e44d9342870004 */ - 0.933924784042873379360, /* 0x0.ef15b1d4635438005 */ - 0.935750638358567643520, /* 0x0.ef8d5a94f60f50007 */ - 0.937580062297704630580, /* 0x0.f0053f38f345cffff */ - 0.939413062815381727516, /* 0x0.f07d5fde3a2d98001 */ - 0.941249646905368053689, /* 0x0.f0f5bca2d481a8004 */ - 0.943089821583810716806, /* 0x0.f16e55a4e497d7ffe */ - 0.944933593864477061592, /* 0x0.f1e72b028a2827ffb */ - 0.946780970781518460559, /* 0x0.f2603cd9fb5430001 */ - 0.948631959382661205081, /* 0x0.f2d98b497d2a87ff9 */ - 0.950486566729423554277, /* 0x0.f353166f63e3dffff */ - 0.952344799896018723290, /* 0x0.f3ccde6a11ae37ffe */ - 0.954206665969085765512, /* 0x0.f446e357f66120000 */ - 0.956072172053890279009, /* 0x0.f4c12557964f0fff9 */ - 0.957941325265908139014, /* 0x0.f53ba48781046fffb */ - 0.959814132734539637840, /* 0x0.f5b66106555d07ffa */ - 0.961690601603558903308, /* 0x0.f6315af2c2027fffc */ - 0.963570739036113010927, /* 0x0.f6ac926b8aeb80004 */ - 0.965454552202857141381, /* 0x0.f728078f7c5008002 */ - 0.967342048278315158608, /* 0x0.f7a3ba7d66a908001 */ - 0.969233234469444204768, /* 0x0.f81fab543e1897ffb */ - 0.971128118008140250896, /* 0x0.f89bda33122c78007 */ - 0.973026706099345495256, /* 0x0.f9184738d4cf97ff8 */ - 0.974929006031422851235, /* 0x0.f994f284d3a5c0008 */ - 0.976835024947348973265, /* 0x0.fa11dc35bc7820002 */ - 0.978744770239899142285, /* 0x0.fa8f046b4fb7f8007 */ - 0.980658249138918636210, /* 0x0.fb0c6b449ab1cfff9 */ - 0.982575468959622777535, /* 0x0.fb8a10e1088fb7ffa */ - 0.984496437054508843888, /* 0x0.fc07f5602d79afffc */ - 0.986421160608523028820, /* 0x0.fc8618e0e55e47ffb */ - 0.988349647107594098099, /* 0x0.fd047b83571b1fffa */ - 0.990281903873210800357, /* 0x0.fd831d66f4c018002 */ - 0.992217938695037382475, /* 0x0.fe01fead3320bfff8 */ - 0.994157757657894713987, /* 0x0.fe811f703491e8006 */ - 0.996101369488558541238, /* 0x0.ff007fd5744490005 */ - 0.998048781093141101932, /* 0x0.ff801ffa9b9280007 */ - 1.000000000000000000000, /* 0x1.00000000000000000 */ - 1.001955033605393285965, /* 0x1.0080200565d29ffff */ - 1.003913889319761887310, /* 0x1.0100802aa0e80fff0 */ - 1.005876574715736104818, /* 0x1.01812090377240007 */ - 1.007843096764807100351, /* 0x1.020201541aad7fff6 */ - 1.009813464316352327214, /* 0x1.0283229c4c9820007 */ - 1.011787683565730677817, /* 0x1.030484836910a000e */ - 1.013765762469146736174, /* 0x1.0386272b9c077fffe */ - 1.015747708536026694351, /* 0x1.04080ab526304fff0 */ - 1.017733529475172815584, /* 0x1.048a2f412375ffff0 */ - 1.019723232714418781378, /* 0x1.050c94ef7ad5e000a */ - 1.021716825883923762690, /* 0x1.058f3be0f1c2d0004 */ - 1.023714316605201180057, /* 0x1.06122436442e2000e */ - 1.025715712440059545995, /* 0x1.06954e0fec63afff2 */ - 1.027721021151397406936, /* 0x1.0718b98f41c92fff6 */ - 1.029730250269221158939, /* 0x1.079c66d49bb2ffff1 */ - 1.031743407506447551857, /* 0x1.082056011a9230009 */ - 1.033760500517691527387, /* 0x1.08a487359ebd50002 */ - 1.035781537016238873464, /* 0x1.0928fa93490d4fff3 */ - 1.037806524719013578963, /* 0x1.09adb03b3e5b3000d */ - 1.039835471338248051878, /* 0x1.0a32a84e9e5760004 */ - 1.041868384612101516848, /* 0x1.0ab7e2eea5340ffff */ - 1.043905272300907460835, /* 0x1.0b3d603ca784f0009 */ - 1.045946142174331239262, /* 0x1.0bc3205a042060000 */ - 1.047991002016745332165, /* 0x1.0c4923682a086fffe */ - 1.050039859627715177527, /* 0x1.0ccf698898f3a000d */ - 1.052092722826109660856, /* 0x1.0d55f2dce5d1dfffb */ - 1.054149599440827866881, /* 0x1.0ddcbf86b09a5fff6 */ - 1.056210497317612961855, /* 0x1.0e63cfa7abc97fffd */ - 1.058275424318780855142, /* 0x1.0eeb23619c146fffb */ - 1.060344388322010722446, /* 0x1.0f72bad65714bffff */ - 1.062417397220589476718, /* 0x1.0ffa9627c38d30004 */ - 1.064494458915699715017, /* 0x1.1082b577d0eef0003 */ - 1.066575581342167566880, /* 0x1.110b18e893a90000a */ - 1.068660772440545025953, /* 0x1.1193c09c267610006 */ - 1.070750040138235936705, /* 0x1.121cacb4959befff6 */ - 1.072843392435016474095, /* 0x1.12a5dd543cf36ffff */ - 1.074940837302467588937, /* 0x1.132f529d59552000b */ - 1.077042382749654914030, /* 0x1.13b90cb250d08fff5 */ - 1.079148036789447484528, /* 0x1.14430bb58da3dfff9 */ - 1.081257807444460983297, /* 0x1.14cd4fc984c4a000e */ - 1.083371702785017154417, /* 0x1.1557d910df9c7000e */ - 1.085489730853784307038, /* 0x1.15e2a7ae292d30002 */ - 1.087611899742884524772, /* 0x1.166dbbc422d8c0004 */ - 1.089738217537583819804, /* 0x1.16f9157586772ffff */ - 1.091868692357631731528, /* 0x1.1784b4e533cacfff0 */ - 1.094003332327482702577, /* 0x1.18109a360fc23fff2 */ - 1.096142145591650907149, /* 0x1.189cc58b155a70008 */ - 1.098285140311341168136, /* 0x1.1929370751ea50002 */ - 1.100432324652149906842, /* 0x1.19b5eecdd79cefff0 */ - 1.102583706811727015711, /* 0x1.1a42ed01dbdba000e */ - 1.104739294993289488947, /* 0x1.1ad031c69a2eafff0 */ - 1.106899097422573863281, /* 0x1.1b5dbd3f66e120003 */ - 1.109063122341542140286, /* 0x1.1beb8f8fa8150000b */ - 1.111231377994659874592, /* 0x1.1c79a8dac6ad0fff4 */ - 1.113403872669181282605, /* 0x1.1d0809445a97ffffc */ - 1.115580614653132185460, /* 0x1.1d96b0effc9db000e */ - 1.117761612217810673898, /* 0x1.1e25a001332190000 */ - 1.119946873713312474002, /* 0x1.1eb4d69bdb2a9fff1 */ - 1.122136407473298902480, /* 0x1.1f4454e3bfae00006 */ - 1.124330221845670330058, /* 0x1.1fd41afcbb48bfff8 */ - 1.126528325196519908506, /* 0x1.2064290abc98c0001 */ - 1.128730725913251964394, /* 0x1.20f47f31c9aa7000f */ - 1.130937432396844410880, /* 0x1.21851d95f776dfff0 */ - 1.133148453059692917203, /* 0x1.2216045b6784efffa */ - 1.135363796355857157764, /* 0x1.22a733a6692ae0004 */ - 1.137583470716100553249, /* 0x1.2338ab9b3221a0004 */ - 1.139807484614418608939, /* 0x1.23ca6c5e27aadfff7 */ - 1.142035846532929888057, /* 0x1.245c7613b7f6c0004 */ - 1.144268564977221958089, /* 0x1.24eec8e06b035000c */ - 1.146505648458203463465, /* 0x1.258164e8cea85fff8 */ - 1.148747105501412235671, /* 0x1.26144a5180d380009 */ - 1.150992944689175123667, /* 0x1.26a7793f5de2efffa */ - 1.153243174560058870217, /* 0x1.273af1d712179000d */ - 1.155497803703682491111, /* 0x1.27ceb43d81d42fff1 */ - 1.157756840726344771440, /* 0x1.2862c097a3d29000c */ - 1.160020294239811677834, /* 0x1.28f7170a74cf4fff1 */ - 1.162288172883275239058, /* 0x1.298bb7bb0faed0004 */ - 1.164560485298402170388, /* 0x1.2a20a2ce920dffff4 */ - 1.166837240167474476460, /* 0x1.2ab5d86a4631ffff6 */ - 1.169118446164539637555, /* 0x1.2b4b58b36d5220009 */ - 1.171404112007080167155, /* 0x1.2be123cf786790002 */ - 1.173694246390975415341, /* 0x1.2c7739e3c0aac000d */ - 1.175988858069749065617, /* 0x1.2d0d9b15deb58fff6 */ - 1.178287955789017793514, /* 0x1.2da4478b627040002 */ - 1.180591548323240091978, /* 0x1.2e3b3f69fb794fffc */ - 1.182899644456603782686, /* 0x1.2ed282d76421d0004 */ - 1.185212252993012693694, /* 0x1.2f6a11f96c685fff3 */ - 1.187529382762033236513, /* 0x1.3001ecf60082ffffa */ - 1.189851042595508889847, /* 0x1.309a13f30f28a0004 */ - 1.192177241354644978669, /* 0x1.31328716a758cfff7 */ - 1.194507987909589896687, /* 0x1.31cb4686e1e85fffb */ - 1.196843291137896336843, /* 0x1.32645269dfd04000a */ - 1.199183159977805113226, /* 0x1.32fdaae604c39000f */ - 1.201527603343041317132, /* 0x1.339750219980dfff3 */ - 1.203876630171082595692, /* 0x1.3431424300e480007 */ - 1.206230249419600664189, /* 0x1.34cb8170b3fee000e */ - 1.208588470077065268869, /* 0x1.35660dd14dbd4fffc */ - 1.210951301134513435915, /* 0x1.3600e78b6bdfc0005 */ - 1.213318751604272271958, /* 0x1.369c0ec5c38ebfff2 */ - 1.215690830512196507537, /* 0x1.373783a718d29000f */ - 1.218067546930756250870, /* 0x1.37d3465662f480007 */ - 1.220448909901335365929, /* 0x1.386f56fa770fe0008 */ - 1.222834928513994334780, /* 0x1.390bb5ba5fc540004 */ - 1.225225611877684750397, /* 0x1.39a862bd3c7a8fff3 */ - 1.227620969111500981433, /* 0x1.3a455e2a37bcafffd */ - 1.230021009336254911271, /* 0x1.3ae2a8287dfbefff6 */ - 1.232425741726685064472, /* 0x1.3b8040df76f39fffa */ - 1.234835175450728295084, /* 0x1.3c1e287682e48fff1 */ - 1.237249319699482263931, /* 0x1.3cbc5f151b86bfff8 */ - 1.239668183679933477545, /* 0x1.3d5ae4e2cc0a8000f */ - 1.242091776620540377629, /* 0x1.3df9ba07373bf0006 */ - 1.244520107762172811399, /* 0x1.3e98deaa0d8cafffe */ - 1.246953186383919165383, /* 0x1.3f3852f32973efff0 */ - 1.249391019292643401078, /* 0x1.3fd816ffc72b90001 */ - 1.251833623164381181797, /* 0x1.40782b17863250005 */ - 1.254280999953110153911, /* 0x1.41188f42caf400000 */ - 1.256733161434815393410, /* 0x1.41b943b42945bfffd */ - 1.259190116985283935980, /* 0x1.425a4893e5f10000a */ - 1.261651875958665236542, /* 0x1.42fb9e0a2df4c0009 */ - 1.264118447754797758244, /* 0x1.439d443f608c4fff9 */ - 1.266589841787181258708, /* 0x1.443f3b5bebf850008 */ - 1.269066067469190262045, /* 0x1.44e183883e561fff7 */ - 1.271547134259576328224, /* 0x1.45841cecf7a7a0001 */ - 1.274033051628237434048, /* 0x1.462707b2c43020009 */ - 1.276523829025464573684, /* 0x1.46ca44023aa410007 */ - 1.279019475999373156531, /* 0x1.476dd2045d46ffff0 */ - 1.281520002043128991825, /* 0x1.4811b1e1f1f19000b */ - 1.284025416692967214122, /* 0x1.48b5e3c3edd74fff4 */ - 1.286535729509738823464, /* 0x1.495a67d3613c8fff7 */ - 1.289050950070396384145, /* 0x1.49ff3e396e19d000b */ - 1.291571087985403654081, /* 0x1.4aa4671f5b401fff1 */ - 1.294096152842774794011, /* 0x1.4b49e2ae56d19000d */ - 1.296626154297237043484, /* 0x1.4befb10fd84a3fff4 */ - 1.299161101984141142272, /* 0x1.4c95d26d41d84fff8 */ - 1.301701005575179204100, /* 0x1.4d3c46f01d9f0fff3 */ - 1.304245874766450485904, /* 0x1.4de30ec21097d0003 */ - 1.306795719266019562007, /* 0x1.4e8a2a0ccce3d0002 */ - 1.309350548792467483458, /* 0x1.4f3198fa10346fff5 */ - 1.311910373099227200545, /* 0x1.4fd95bb3be8cffffd */ - 1.314475201942565174546, /* 0x1.50817263bf0e5fffb */ - 1.317045045107389400535, /* 0x1.5129dd3418575000e */ - 1.319619912422941299109, /* 0x1.51d29c4f01c54ffff */ - 1.322199813675649204855, /* 0x1.527bafde83a310009 */ - 1.324784758729532718739, /* 0x1.5325180cfb8b3fffd */ - 1.327374757430096474625, /* 0x1.53ced504b2bd0fff4 */ - 1.329969819671041886272, /* 0x1.5478e6f02775e0001 */ - 1.332569955346704748651, /* 0x1.55234df9d8a59fff8 */ - 1.335175174370685002822, /* 0x1.55ce0a4c5a6a9fff6 */ - 1.337785486688218616860, /* 0x1.56791c1263abefff7 */ - 1.340400902247843806217, /* 0x1.57248376aef21fffa */ - 1.343021431036279800211, /* 0x1.57d040a420c0bfff3 */ - 1.345647083048053138662, /* 0x1.587c53c5a630f0002 */ - 1.348277868295411074918, /* 0x1.5928bd063fd7bfff9 */ - 1.350913796821875845231, /* 0x1.59d57c9110ad60006 */ - 1.353554878672557082439, /* 0x1.5a8292913d68cfffc */ - 1.356201123929036356254, /* 0x1.5b2fff3212db00007 */ - 1.358852542671913132777, /* 0x1.5bddc29edcc06fff3 */ - 1.361509145047255398051, /* 0x1.5c8bdd032ed16000f */ - 1.364170941142184734180, /* 0x1.5d3a4e8a5bf61fff4 */ - 1.366837941171020309735, /* 0x1.5de9176042f1effff */ - 1.369510155261156381121, /* 0x1.5e9837b062f4e0005 */ - 1.372187593620959988833, /* 0x1.5f47afa69436cfff1 */ - 1.374870266463378287715, /* 0x1.5ff77f6eb3f8cfffd */ - 1.377558184010425845733, /* 0x1.60a7a734a9742fff9 */ - 1.380251356531521533853, /* 0x1.6158272490016000c */ - 1.382949794301995272203, /* 0x1.6208ff6a8978a000f */ - 1.385653507605306700170, /* 0x1.62ba3032c0a280004 */ - 1.388362506772382154503, /* 0x1.636bb9a994784000f */ - 1.391076802081129493127, /* 0x1.641d9bfb29a7bfff6 */ - 1.393796403973427855412, /* 0x1.64cfd7545928b0002 */ - 1.396521322756352656542, /* 0x1.65826be167badfff8 */ - 1.399251568859207761660, /* 0x1.663559cf20826000c */ - 1.401987152677323100733, /* 0x1.66e8a14a29486fffc */ - 1.404728084651919228815, /* 0x1.679c427f5a4b6000b */ - 1.407474375243217723560, /* 0x1.68503d9ba0add000f */ - 1.410226034922914983815, /* 0x1.690492cbf6303fff9 */ - 1.412983074197955213304, /* 0x1.69b9423d7b548fff6 */ -}; diff --git a/sysdeps/ieee754/dbl-64/t_exp2.h b/sysdeps/ieee754/dbl-64/t_exp2.h deleted file mode 100644 index 1fd73338cf..0000000000 --- a/sysdeps/ieee754/dbl-64/t_exp2.h +++ /dev/null @@ -1,585 +0,0 @@ -/* These values are accurate to 52+12 bits when represented as - a double. */ -static const double exp2_accuratetable[512] = { -0.707106781187802013759 /* 0x0.b504f333fb3f80007 */, -0.708064712808760599040 /* 0x0.b543baa0f71b38000 */, -0.709023942160304065938 /* 0x0.b58297d3a8d518002 */, -0.709984470998547667624 /* 0x0.b5c18ad39b4ba0001 */, -0.710946301084324217006 /* 0x0.b60093a85e8d30001 */, -0.711909434180505784637 /* 0x0.b63fb25984e628005 */, -0.712873872052760648733 /* 0x0.b67ee6eea3b5f8003 */, -0.713839616467838999908 /* 0x0.b6be316f518c98001 */, -0.714806669195984345523 /* 0x0.b6fd91e328d148007 */, -0.715775032009894562898 /* 0x0.b73d0851c69e20002 */, -0.716744706683768884058 /* 0x0.b77c94c2c9b3d0003 */, -0.717715694995770148178 /* 0x0.b7bc373dd52eb0003 */, -0.718687998724665488852 /* 0x0.b7fbefca8cd530004 */, -0.719661619652575468291 /* 0x0.b83bbe70981da8001 */, -0.720636559564428180758 /* 0x0.b87ba337a194b0006 */, -0.721612820246623098989 /* 0x0.b8bb9e27556508004 */, -0.722590403488338473025 /* 0x0.b8fbaf4762c798006 */, -0.723569311081411870036 /* 0x0.b93bd69f7be1d0000 */, -0.724549544820974333906 /* 0x0.b97c1437567828007 */, -0.725531106502312561633 /* 0x0.b9bc6816a87ae8002 */, -0.726513997924421062181 /* 0x0.b9fcd2452bee00000 */, -0.727498220889519875430 /* 0x0.ba3d52ca9e6148002 */, -0.728483777200401694265 /* 0x0.ba7de9aebe05c8003 */, -0.729470668664712662563 /* 0x0.babe96f94e62a8002 */, -0.730458897090379144517 /* 0x0.baff5ab2134df0004 */, -0.731448464287988597833 /* 0x0.bb4034e0d38ab0000 */, -0.732439372072965166897 /* 0x0.bb81258d5b2d60001 */, -0.733431622260458326859 /* 0x0.bbc22cbf75fd28001 */, -0.734425216668725511232 /* 0x0.bc034a7ef32c00001 */, -0.735420157118880535324 /* 0x0.bc447ed3a50fe0005 */, -0.736416445434497690674 /* 0x0.bc85c9c560b350001 */, -0.737414083433310718618 /* 0x0.bcc72b5bf4b4e0000 */, -0.738413072966152328496 /* 0x0.bd08a39f5417a8007 */, -0.739413415848264365956 /* 0x0.bd4a32974abcd0002 */, -0.740415113911250699637 /* 0x0.bd8bd84bb68300002 */, -0.741418168994518067562 /* 0x0.bdcd94c47ddd30003 */, -0.742422582936659858376 /* 0x0.be0f6809865968006 */, -0.743428357577745613238 /* 0x0.be515222b72530003 */, -0.744435494762383687126 /* 0x0.be935317fc6ba0002 */, -0.745443996335090397492 /* 0x0.bed56af1423de8001 */, -0.746453864145572798553 /* 0x0.bf1799b67a6248007 */, -0.747465100043933849969 /* 0x0.bf59df6f970e70002 */, -0.748477705883256683178 /* 0x0.bf9c3c248dbee8001 */, -0.749491683518965001732 /* 0x0.bfdeafdd568308000 */, -0.750507034813367890373 /* 0x0.c0213aa1f0fc38004 */, -0.751523761622240105153 /* 0x0.c063dc7a559ca0003 */, -0.752541865811731880422 /* 0x0.c0a6956e883ed8000 */, -0.753561349247157341600 /* 0x0.c0e965868bd220006 */, -0.754582213796583967110 /* 0x0.c12c4cca664cb8002 */, -0.755604461332336940791 /* 0x0.c16f4b42225350006 */, -0.756628093726406381068 /* 0x0.c1b260f5ca2c48002 */, -0.757653112855631305506 /* 0x0.c1f58ded6d72d8001 */, -0.758679520599333412360 /* 0x0.c238d2311e7d08001 */, -0.759707318837184453227 /* 0x0.c27c2dc8f00368005 */, -0.760736509456435783249 /* 0x0.c2bfa0bcfd1400000 */, -0.761767094336480043995 /* 0x0.c3032b155818d0000 */, -0.762799075372231349951 /* 0x0.c346ccda248cc0001 */, -0.763832454453522768941 /* 0x0.c38a8613805488005 */, -0.764867233473625618441 /* 0x0.c3ce56c98d1ca8005 */, -0.765903414329434539816 /* 0x0.c4123f04708d80002 */, -0.766940998920452976510 /* 0x0.c4563ecc532dc0001 */, -0.767979989148100838946 /* 0x0.c49a56295f9f88006 */, -0.769020386915772125040 /* 0x0.c4de8523c2b0a0001 */, -0.770062194131770905170 /* 0x0.c522cbc3ae94e0003 */, -0.771105412703856241146 /* 0x0.c5672a1154e6b8004 */, -0.772150044545352520777 /* 0x0.c5aba014ed5f18003 */, -0.773196091570364285606 /* 0x0.c5f02dd6b09288003 */, -0.774243555696622731700 /* 0x0.c634d35edb1260003 */, -0.775292438842697939641 /* 0x0.c67990b5aa5c18004 */, -0.776342742931542928455 /* 0x0.c6be65e360bed8000 */, -0.777394469888802008854 /* 0x0.c70352f0437f50004 */, -0.778447621641124243320 /* 0x0.c74857e498fd00006 */, -0.779502200118583399303 /* 0x0.c78d74c8ab5b60000 */, -0.780558207255445668515 /* 0x0.c7d2a9a4c959f8000 */, -0.781615644985491186966 /* 0x0.c817f681412f80002 */, -0.782674515247667956808 /* 0x0.c85d5b6666c150006 */, -0.783734819983036512536 /* 0x0.c8a2d85c904760003 */, -0.784796561133562109454 /* 0x0.c8e86d6c14f850002 */, -0.785859740645942328471 /* 0x0.c92e1a9d513ec8002 */, -0.786924360469767103536 /* 0x0.c973dff8a4b390007 */, -0.787990422552312885808 /* 0x0.c9b9bd866c6440007 */, -0.789057928854407064640 /* 0x0.c9ffb34f1444b0001 */, -0.790126881326406182996 /* 0x0.ca45c15afcc570001 */, -0.791197281930050233534 /* 0x0.ca8be7b292db38000 */, -0.792269132620954885659 /* 0x0.cad2265e3cbee8000 */, -0.793342435380726906957 /* 0x0.cb187d667d3d38006 */, -0.794417192158282659010 /* 0x0.cb5eecd3b33158006 */, -0.795493404931386649540 /* 0x0.cba574ae5d2e80001 */, -0.796571075671306805268 /* 0x0.cbec14fef2a348004 */, -0.797650206352955137846 /* 0x0.cc32cdcdef0000000 */, -0.798730798954342069432 /* 0x0.cc799f23d11d18000 */, -0.799812855456121796232 /* 0x0.ccc089091abb28004 */, -0.800896377841454287795 /* 0x0.cd078b86505c18003 */, -0.801981368096190028208 /* 0x0.cd4ea6a3f97720007 */, -0.803067828208752554378 /* 0x0.cd95da6aa057b8007 */, -0.804155760170129796375 /* 0x0.cddd26e2d21b28001 */, -0.805245165974338261710 /* 0x0.ce248c151f3330001 */, -0.806336047619038653883 /* 0x0.ce6c0a0a1c1350001 */, -0.807428407102107836855 /* 0x0.ceb3a0ca5d6be0006 */, -0.808522246427078927792 /* 0x0.cefb505e7e2550007 */, -0.809617567597010201484 /* 0x0.cf4318cf18a268002 */, -0.810714372621179513182 /* 0x0.cf8afa24ce1c98004 */, -0.811812663508675536069 /* 0x0.cfd2f4683f9810005 */, -0.812912442272482604912 /* 0x0.d01b07a2126188003 */, -0.814013710929394895825 /* 0x0.d06333daeff618001 */, -0.815116471495287542325 /* 0x0.d0ab791b80d028006 */, -0.816220725993571205593 /* 0x0.d0f3d76c75b330000 */, -0.817326476447408967199 /* 0x0.d13c4ed67f1cf8000 */, -0.818433724883006474832 /* 0x0.d184df6250e3b0001 */, -0.819542473330909460055 /* 0x0.d1cd8918a3a328004 */, -0.820652723822034690935 /* 0x0.d2164c02305fa0002 */, -0.821764478391968422618 /* 0x0.d25f2827b53fb0005 */, -0.822877739077315761840 /* 0x0.d2a81d91f188b8000 */, -0.823992507918612782109 /* 0x0.d2f12c49a8d290005 */, -0.825108786960634610365 /* 0x0.d33a5457a35e40003 */, -0.826226578247117093869 /* 0x0.d38395c4a84848007 */, -0.827345883828319528258 /* 0x0.d3ccf09985d958004 */, -0.828466705754248966560 /* 0x0.d41664df0a1320005 */, -0.829589046080638992111 /* 0x0.d45ff29e094330000 */, -0.830712906863802391671 /* 0x0.d4a999df585a20005 */, -0.831838290163696481037 /* 0x0.d4f35aabd04a60006 */, -0.832965198041969556729 /* 0x0.d53d350c4be258002 */, -0.834093632565442222342 /* 0x0.d5872909aba050007 */, -0.835223595802037643865 /* 0x0.d5d136acd138e8006 */, -0.836355089820669306292 /* 0x0.d61b5dfe9f7780004 */, -0.837488116698010487424 /* 0x0.d6659f0801afa8005 */, -0.838622678508982644113 /* 0x0.d6aff9d1e147d8004 */, -0.839758777333464490056 /* 0x0.d6fa6e652d19e0000 */, -0.840896415254110962690 /* 0x0.d744fccad70d00003 */, -0.842035594355151628676 /* 0x0.d78fa50bd2c3b0000 */, -0.843176316724478125433 /* 0x0.d7da673117e730007 */, -0.844318584453106590905 /* 0x0.d8254343a19038003 */, -0.845462399634695271912 /* 0x0.d870394c6dbf30003 */, -0.846607764365415071965 /* 0x0.d8bb49547d37c0004 */, -0.847754680744707056494 /* 0x0.d9067364d45608003 */, -0.848903150873708822763 /* 0x0.d951b7867953b0006 */, -0.850053176859071113491 /* 0x0.d99d15c2787a30006 */, -0.851204760807439786431 /* 0x0.d9e88e21de11a0003 */, -0.852357904828824897169 /* 0x0.da3420adba1508003 */, -0.853512611037803181642 /* 0x0.da7fcd6f2184d8005 */, -0.854668881550406100980 /* 0x0.dacb946f2afaf8000 */, -0.855826718478671755185 /* 0x0.db1775b6e8ad48000 */, -0.856986123964844970247 /* 0x0.db63714f8e0818006 */, -0.858147100114499461478 /* 0x0.dbaf87422625b8000 */, -0.859309649060962410524 /* 0x0.dbfbb797daa460002 */, -0.860473772936213743282 /* 0x0.dc480259d3a710001 */, -0.861639473872910177676 /* 0x0.dc9467913a0f48006 */, -0.862806754008130227807 /* 0x0.dce0e7473b9b28003 */, -0.863975615481124226159 /* 0x0.dd2d8185086c20006 */, -0.865146060433749419813 /* 0x0.dd7a3653d38168005 */, -0.866318091005120138881 /* 0x0.ddc705bcccd628000 */, -0.867491709362415264210 /* 0x0.de13efc9434100004 */, -0.868666917636779056818 /* 0x0.de60f4825df9b8005 */, -0.869843717989716047624 /* 0x0.deae13f16599c0003 */, -0.871022112578215268471 /* 0x0.defb4e1f9dc388002 */, -0.872202103559697183859 /* 0x0.df48a3164a92f0001 */, -0.873383693097737778847 /* 0x0.df9612deb6e878007 */, -0.874566883362160263365 /* 0x0.dfe39d82348310001 */, -0.875751676517234511901 /* 0x0.e031430a0f0688000 */, -0.876938074732511840819 /* 0x0.e07f037f97e548001 */, -0.878126080186539592654 /* 0x0.e0ccdeec2a75e0006 */, -0.879315695055312818168 /* 0x0.e11ad5591f4078001 */, -0.880506921518618312932 /* 0x0.e168e6cfd2f880004 */, -0.881699761760385225541 /* 0x0.e1b71359a6df60003 */, -0.882894217964411143207 /* 0x0.e2055afffc1178000 */, -0.884090292325693805080 /* 0x0.e253bdcc3ffbb8001 */, -0.885287987031581180559 /* 0x0.e2a23bc7d7a1d8002 */, -0.886487304278189114386 /* 0x0.e2f0d4fc31ab80004 */, -0.887688246263368285778 /* 0x0.e33f8972bea8a8005 */, -0.888890815189881999840 /* 0x0.e38e5934f49010007 */, -0.890095013257492739835 /* 0x0.e3dd444c460bd0007 */, -0.891300842677948068626 /* 0x0.e42c4ac232f380000 */, -0.892508305659222567226 /* 0x0.e47b6ca036f8b8005 */, -0.893717404414979710310 /* 0x0.e4caa9efd40e58002 */, -0.894928141160697743242 /* 0x0.e51a02ba8e2610007 */, -0.896140518115016826430 /* 0x0.e5697709ecab90000 */, -0.897354537501434679237 /* 0x0.e5b906e77c61d0006 */, -0.898570201543732793877 /* 0x0.e608b25cca5ba8005 */, -0.899787512470129891014 /* 0x0.e6587973688ce8002 */, -0.901006472512270728537 /* 0x0.e6a85c34ecadb8000 */, -0.902227083902570559127 /* 0x0.e6f85aaaed4f20006 */, -0.903449348881299796343 /* 0x0.e74874df09a530003 */, -0.904673269686823378091 /* 0x0.e798aadadecba0007 */, -0.905898848559668845585 /* 0x0.e7e8fca80c3ee0001 */, -0.907126087750156795426 /* 0x0.e8396a503c3fe0005 */, -0.908354989505901100354 /* 0x0.e889f3dd1615b0002 */, -0.909585556079328783087 /* 0x0.e8da9958465228007 */, -0.910817789726044213523 /* 0x0.e92b5acb7d0578001 */, -0.912051692703457872481 /* 0x0.e97c38406c3c30003 */, -0.913287267274154990210 /* 0x0.e9cd31c0cbb370001 */, -0.914524515702244578108 /* 0x0.ea1e475654d540000 */, -0.915763440256158633982 /* 0x0.ea6f790ac5cc78001 */, -0.917004043205012497909 /* 0x0.eac0c6e7dd8448007 */, -0.918246326823137892807 /* 0x0.eb1230f760a428007 */, -0.919490293387826285200 /* 0x0.eb63b7431714a8007 */, -0.920735945178816406225 /* 0x0.ebb559d4cb6f30007 */, -0.921983284479243714322 /* 0x0.ec0718b64c0940002 */, -0.923232313574974705626 /* 0x0.ec58f3f16a3910002 */, -0.924483034755387955725 /* 0x0.ecaaeb8ffb3168005 */, -0.925735450311948926408 /* 0x0.ecfcff9bd67078000 */, -0.926989562542820610982 /* 0x0.ed4f301edad1a0007 */, -0.928245373740515189457 /* 0x0.eda17d22e0f9b0001 */, -0.929502886213858126045 /* 0x0.edf3e6b1d37d40001 */, -0.930762102264245716494 /* 0x0.ee466cd594c5c8005 */, -0.932023024199046146183 /* 0x0.ee990f980dcdb0005 */, -0.933285654329454095216 /* 0x0.eeebcf032bc470007 */, -0.934549994971191289044 /* 0x0.ef3eab20e0d3c0001 */, -0.935816048439005676599 /* 0x0.ef91a3fb1e1340004 */, -0.937083817055075818404 /* 0x0.efe4b99bdcc618006 */, -0.938353303143720007819 /* 0x0.f037ec0d1889b8000 */, -0.939624509028518128972 /* 0x0.f08b3b58cc2bb8006 */, -0.940897437041863904384 /* 0x0.f0dea788fc2a90000 */, -0.942172089516254085427 /* 0x0.f13230a7ad21b8003 */, -0.943448468787511540534 /* 0x0.f185d6bee754e0006 */, -0.944726577195256100890 /* 0x0.f1d999d8b73478005 */, -0.946006417082291717338 /* 0x0.f22d79ff2cb130000 */, -0.947287990793413858827 /* 0x0.f281773c59ec48007 */, -0.948571300678290207925 /* 0x0.f2d5919a566268001 */, -0.949856349088629370320 /* 0x0.f329c9233bceb0001 */, -0.951143138379053731954 /* 0x0.f37e1de1272068002 */, -0.952431670908847949364 /* 0x0.f3d28fde3a6728006 */, -0.953721949039916472305 /* 0x0.f4271f249a93f0001 */, -0.955013975135367898520 /* 0x0.f47bcbbe6deab0001 */, -0.956307751564417496418 /* 0x0.f4d095b5e16638004 */, -0.957603280698967163097 /* 0x0.f5257d1524f590006 */, -0.958900564911197350604 /* 0x0.f57a81e668d628000 */, -0.960199606581278120057 /* 0x0.f5cfa433e60e50007 */, -0.961500408088936442422 /* 0x0.f624e407d527a0007 */, -0.962802971817578789903 /* 0x0.f67a416c72b760006 */, -0.964107300155846558292 /* 0x0.f6cfbc6c011458004 */, -0.965413395493874504368 /* 0x0.f7255510c439a8002 */, -0.966721260225105960572 /* 0x0.f77b0b6503c5b8006 */, -0.968030896745834645873 /* 0x0.f7d0df730a7940005 */, -0.969342307458006424716 /* 0x0.f826d145294be8003 */, -0.970655494764855020231 /* 0x0.f87ce0e5b29fd8000 */, -0.971970461071268720958 /* 0x0.f8d30e5efaa8f0004 */, -0.973287208789983648852 /* 0x0.f92959bb5e3c08001 */, -0.974605740331924708124 /* 0x0.f97fc305383028004 */, -0.975926058115625383329 /* 0x0.f9d64a46ebb9f8004 */, -0.977248164559556209435 /* 0x0.fa2cef8adbfc68004 */, -0.978572062087848637573 /* 0x0.fa83b2db7253d0007 */, -0.979897753126343307191 /* 0x0.fada944319fda0005 */, -0.981225240104636631254 /* 0x0.fb3193cc425870002 */, -0.982554525455618277276 /* 0x0.fb88b1815e61d0003 */, -0.983885611617111077747 /* 0x0.fbdfed6ce683e0007 */, -0.985218501026348891812 /* 0x0.fc3747995282f8006 */, -0.986553196127724962867 /* 0x0.fc8ec0112202a0005 */, -0.987889699367056062238 /* 0x0.fce656ded63710002 */, -0.989228013193998778636 /* 0x0.fd3e0c0cf48d50005 */, -0.990568140061241164686 /* 0x0.fd95dfa605c7b0003 */, -0.991910082424819927754 /* 0x0.fdedd1b4965710004 */, -0.993253842749249660216 /* 0x0.fe45e2433bfea0000 */, -0.994599423484053835071 /* 0x0.fe9e115c7c05f0005 */, -0.995946827107488830167 /* 0x0.fef65f0afb4c28006 */, -0.997296056085008264529 /* 0x0.ff4ecb59509cc8001 */, -0.998647112892057764479 /* 0x0.ffa756521dbfd0007 */, -1.000000000000000000000 /* 0x1.00000000000000000 */, -1.001354719891689004659 /* 0x1.0058c86da14aa0005 */, -1.002711275050312211844 /* 0x1.00b1afa5abead0003 */, -1.004069667960743483835 /* 0x1.010ab5b2cc0660009 */, -1.005429901112333324093 /* 0x1.0163da9fb2af30008 */, -1.006791976999887428009 /* 0x1.01bd1e7716f6a0008 */, -1.008155898118476168101 /* 0x1.02168143b03890006 */, -1.009521666967782227439 /* 0x1.027003103ae320002 */, -1.010889286051850133326 /* 0x1.02c9a3e7783030002 */, -1.012258757875921233497 /* 0x1.032363d42aaa8000e */, -1.013630084952214405194 /* 0x1.037d42e11c88d0000 */, -1.015003269791313389451 /* 0x1.03d741191635a0001 */, -1.016378314911229763267 /* 0x1.04315e86e84630008 */, -1.017755222831652872635 /* 0x1.048b9b35652800002 */, -1.019133996077934645224 /* 0x1.04e5f72f65827000b */, -1.020514637175266248212 /* 0x1.0540727fc1cfa0006 */, -1.021897148653734488385 /* 0x1.059b0d3157ebb0002 */, -1.023281533050062419584 /* 0x1.05f5c74f0cfeb0002 */, -1.024667792897328677539 /* 0x1.0650a0e3c22ee0003 */, -1.026055930738840826806 /* 0x1.06ab99fa63e1b0008 */, -1.027445949118511947550 /* 0x1.0706b29ddf2700009 */, -1.028837850584049418178 /* 0x1.0761ead9253ab0009 */, -1.030231637685799839262 /* 0x1.07bd42b72a3f80008 */, -1.031627312979383592802 /* 0x1.0818ba42e824a000c */, -1.033024879021186448496 /* 0x1.0874518759b0b0008 */, -1.034424338374263729911 /* 0x1.08d0088f80ffa0006 */, -1.035825693601787333992 /* 0x1.092bdf66604e30005 */, -1.037228947273990842283 /* 0x1.0987d617019cd000a */, -1.038634101961269928846 /* 0x1.09e3ecac6f199000f */, -1.040041160239590700707 /* 0x1.0a402331b91270002 */, -1.041450124688240164200 /* 0x1.0a9c79b1f37c3000b */, -1.042860997889083929381 /* 0x1.0af8f038352160000 */, -1.044273782427270314011 /* 0x1.0b5586cf986890006 */, -1.045688480893644856116 /* 0x1.0bb23d833dfbf0006 */, -1.047105095879385272564 /* 0x1.0c0f145e46e330007 */, -1.048523629981608529302 /* 0x1.0c6c0b6bdaadc000f */, -1.049944085800634585634 /* 0x1.0cc922b72470a000f */, -1.051366465939483019223 /* 0x1.0d265a4b5238b0007 */, -1.052790773004648849929 /* 0x1.0d83b23395e510002 */, -1.054217009607077093512 /* 0x1.0de12a7b263970006 */, -1.055645178360430591625 /* 0x1.0e3ec32d3cf680000 */, -1.057075281882416506511 /* 0x1.0e9c7c55184f5000e */, -1.058507322794714378170 /* 0x1.0efa55fdfad51000a */, -1.059941303721639416236 /* 0x1.0f58503329fed0003 */, -1.061377227289284297385 /* 0x1.0fb66affed37f0000 */, -1.062815096132297298980 /* 0x1.1014a66f95540000c */, -1.064254912884593951029 /* 0x1.1073028d725850007 */, -1.065696680185205469411 /* 0x1.10d17f64d9ea2000b */, -1.067140400676658718053 /* 0x1.11301d012586a0007 */, -1.068586077004890055886 /* 0x1.118edb6db26ab0003 */, -1.070033711820396415998 /* 0x1.11edbab5e2d6e000b */, -1.071483307775789262099 /* 0x1.124cbae51b5ef0001 */, -1.072934867526001312439 /* 0x1.12abdc06c3240000c */, -1.074388393734249103080 /* 0x1.130b1e264a62e0005 */, -1.075843889063253344684 /* 0x1.136a814f20ccd0003 */, -1.077301356179926061823 /* 0x1.13ca058cbaaed000b */, -1.078760797756675327056 /* 0x1.1429aaea9260e000e */, -1.080222216468626150775 /* 0x1.148971742537c0009 */, -1.081685614993597610617 /* 0x1.14e95934f37e8000b */, -1.083150996013011013776 /* 0x1.1549623881762000d */, -1.084618362213087383633 /* 0x1.15a98c8a58a6a000b */, -1.086087716284427351384 /* 0x1.1609d8360768c0008 */, -1.087559060917626885283 /* 0x1.166a45471c13f0008 */, -1.089032398810997337465 /* 0x1.16cad3c92d7b50009 */, -1.090507732647478578212 /* 0x1.172b83c7c18b5000f */, -1.091985065182095926460 /* 0x1.178c554ead72a000c */, -1.093464399073070136880 /* 0x1.17ed48695befe000c */, -1.094945737045367906172 /* 0x1.184e5d23812500007 */, -1.096429081816546080591 /* 0x1.18af9388c90e40005 */, -1.097914436104650892651 /* 0x1.1910eba4e031a0001 */, -1.099401802629782043408 /* 0x1.19726583755720003 */, -1.100891184121537858001 /* 0x1.19d4013041b860007 */, -1.102382583308144647940 /* 0x1.1a35beb6fd0cd0007 */, -1.103876002922312915544 /* 0x1.1a979e2363fa10000 */, -1.105371445702084232160 /* 0x1.1af99f8139025000e */, -1.106868914387219016199 /* 0x1.1b5bc2dc408b9000e */, -1.108368411723785085252 /* 0x1.1bbe084045eb30002 */, -1.109869940458469095340 /* 0x1.1c206fb91524c000e */, -1.111373503344554869449 /* 0x1.1c82f952817cc0001 */, -1.112879103137133007859 /* 0x1.1ce5a51860344000f */, -1.114386742595953938610 /* 0x1.1d4873168babf000e */, -1.115896424484008608911 /* 0x1.1dab6358e1d4a000f */, -1.117408151567338414664 /* 0x1.1e0e75eb43f9c000c */, -1.118921926613465345265 /* 0x1.1e71aad995078000f */, -1.120437752409564780022 /* 0x1.1ed5022fcd8600003 */, -1.121955631720569668277 /* 0x1.1f387bf9cd88b0000 */, -1.123475567332998359439 /* 0x1.1f9c18438cdec000a */, -1.124997562033035469759 /* 0x1.1fffd71902f970002 */, -1.126521618608448571713 /* 0x1.2063b88629079000e */, -1.128047739853580200284 /* 0x1.20c7bc96ff72a0002 */, -1.129575928566289189112 /* 0x1.212be3578a81e0006 */, -1.131106187546149888259 /* 0x1.21902cd3d05f70007 */, -1.132638519598779369743 /* 0x1.21f49917ddda5000c */, -1.134172927531616359481 /* 0x1.2259282fc1c24000e */, -1.135709414157753949251 /* 0x1.22bdda27911e90007 */, -1.137247982292643566662 /* 0x1.2322af0b638e60007 */, -1.138788634756517259562 /* 0x1.2387a6e755f270000 */, -1.140331374372893558110 /* 0x1.23ecc1c788c890006 */, -1.141876203969685699176 /* 0x1.2451ffb821639000c */, -1.143423126377846266197 /* 0x1.24b760c5486dc0009 */, -1.144972144431494420774 /* 0x1.251ce4fb2a0cc0005 */, -1.146523260971646252006 /* 0x1.25828c65f9fb8000d */, -1.148076478839068270690 /* 0x1.25e85711ebaeb0000 */, -1.149631800883562204903 /* 0x1.264e450b3c8a30008 */, -1.151189229953253789786 /* 0x1.26b4565e281a20003 */, -1.152748768902654319399 /* 0x1.271a8b16f0f000002 */, -1.154310420590433317050 /* 0x1.2780e341de2fc0001 */, -1.155874187878668246681 /* 0x1.27e75eeb3abc90007 */, -1.157440073633736243899 /* 0x1.284dfe1f5633e000a */, -1.159008080725518974322 /* 0x1.28b4c0ea840d90001 */, -1.160578212048386514965 /* 0x1.291ba75932ae60000 */, -1.162150470417516290340 /* 0x1.2982b177796850008 */, -1.163724858777502646494 /* 0x1.29e9df51fdd900001 */, -1.165301379991388053320 /* 0x1.2a5130f50bf34000e */, -1.166880036952526289469 /* 0x1.2ab8a66d10fdc0008 */, -1.168460832550151540268 /* 0x1.2b203fc675b7a000a */, -1.170043769683112966389 /* 0x1.2b87fd0dad7260008 */, -1.171628851252754177681 /* 0x1.2befde4f2e3da000d */, -1.173216080163546060084 /* 0x1.2c57e397719940002 */, -1.174805459325657830448 /* 0x1.2cc00cf2f7491000c */, -1.176396991650083379037 /* 0x1.2d285a6e3ff90000b */, -1.177990680055698513602 /* 0x1.2d90cc15d4ff90005 */, -1.179586527463262646306 /* 0x1.2df961f641c57000c */, -1.181184536796979545103 /* 0x1.2e621c1c157cd000d */, -1.182784710984701836994 /* 0x1.2ecafa93e35af0004 */, -1.184387052960675701386 /* 0x1.2f33fd6a459cb0000 */, -1.185991565661414393112 /* 0x1.2f9d24abd8fd1000e */, -1.187598252026902612178 /* 0x1.300670653e083000a */, -1.189207115003001469262 /* 0x1.306fe0a31bc040008 */, -1.190818157535919796833 /* 0x1.30d9757219895000e */, -1.192431382587621380206 /* 0x1.31432edef01a1000f */, -1.194046793097208292195 /* 0x1.31ad0cf63f0630008 */, -1.195664392040319823392 /* 0x1.32170fc4ce0db000c */, -1.197284182375793593084 /* 0x1.32813757527750005 */, -1.198906167074650808198 /* 0x1.32eb83ba8eef3000f */, -1.200530349107333139048 /* 0x1.3355f4fb457e5000d */, -1.202156731453099647353 /* 0x1.33c08b2641df9000c */, -1.203785317090505513368 /* 0x1.342b46484f07b0005 */, -1.205416109005122526928 /* 0x1.3496266e3fa270005 */, -1.207049110184904572310 /* 0x1.35012ba4e8fa10000 */, -1.208684323627194912036 /* 0x1.356c55f92aabb0004 */, -1.210321752322854882437 /* 0x1.35d7a577dd33f0004 */, -1.211961399276747286580 /* 0x1.36431a2de8748000d */, -1.213603267492579629347 /* 0x1.36aeb4283309e000c */, -1.215247359985374142610 /* 0x1.371a7373b00160000 */, -1.216893679753690671322 /* 0x1.3786581d404e90000 */, -1.218542229828181611183 /* 0x1.37f26231e82e4000c */, -1.220193013225231215567 /* 0x1.385e91be9c2d20002 */, -1.221846032973555429280 /* 0x1.38cae6d05e66f0000 */, -1.223501292099485437962 /* 0x1.393761742e5830001 */, -1.225158793636904830441 /* 0x1.39a401b713cb3000e */, -1.226818540625497444577 /* 0x1.3a10c7a61ceae0007 */, -1.228480536107136034131 /* 0x1.3a7db34e5a4a50003 */, -1.230144783126481566885 /* 0x1.3aeac4bcdf8d60001 */, -1.231811284734168454619 /* 0x1.3b57fbfec6e950008 */, -1.233480043984379381835 /* 0x1.3bc559212e7a2000f */, -1.235151063936380300149 /* 0x1.3c32dc3139f2a0004 */, -1.236824347652524913647 /* 0x1.3ca0853c106ac000e */, -1.238499898199571624970 /* 0x1.3d0e544eddd240003 */, -1.240177718649636107175 /* 0x1.3d7c4976d3fcd0000 */, -1.241857812073360767273 /* 0x1.3dea64c1231f70004 */, -1.243540181554270152039 /* 0x1.3e58a63b099920005 */, -1.245224830175077013244 /* 0x1.3ec70df1c4e46000e */, -1.246911761022835740725 /* 0x1.3f359bf29741c000e */, -1.248600977188942806639 /* 0x1.3fa4504ac7b800009 */, -1.250292481770148400634 /* 0x1.40132b07a330d000a */, -1.251986277866492969263 /* 0x1.40822c367a340000b */, -1.253682368581898742876 /* 0x1.40f153e4a18e0000d */, -1.255380757024939564249 /* 0x1.4160a21f73289000d */, -1.257081446308726757662 /* 0x1.41d016f44deaa000c */, -1.258784439550028944083 /* 0x1.423fb27094c090008 */, -1.260489739869405489991 /* 0x1.42af74a1aec1c0006 */, -1.262197350394008266193 /* 0x1.431f5d950a453000c */, -1.263907274252603851764 /* 0x1.438f6d58176860004 */, -1.265619514578811388761 /* 0x1.43ffa3f84b9eb000d */, -1.267334074511444086425 /* 0x1.44700183221180008 */, -1.269050957191869555296 /* 0x1.44e0860618b930006 */, -1.270770165768063009230 /* 0x1.4551318eb4d20000e */, -1.272491703389059036805 /* 0x1.45c2042a7cc26000b */, -1.274215573211836316547 /* 0x1.4632fde6ffacd000d */, -1.275941778396075143580 /* 0x1.46a41ed1cfac40001 */, -1.277670322103555911043 /* 0x1.471566f8812ac0000 */, -1.279401207505722393185 /* 0x1.4786d668b33260005 */, -1.281134437771823675369 /* 0x1.47f86d3002637000a */, -1.282870016078732078362 /* 0x1.486a2b5c13c00000e */, -1.284607945607987078432 /* 0x1.48dc10fa916bd0004 */, -1.286348229545787758022 /* 0x1.494e1e192aaa30007 */, -1.288090871080605159846 /* 0x1.49c052c5913df000c */, -1.289835873406902644341 /* 0x1.4a32af0d7d8090002 */, -1.291583239722392528754 /* 0x1.4aa532feab5e10002 */, -1.293332973229098792374 /* 0x1.4b17dea6db8010008 */, -1.295085077135345708087 /* 0x1.4b8ab213d57d9000d */, -1.296839554650994097442 /* 0x1.4bfdad53629e10003 */, -1.298596408992440220988 /* 0x1.4c70d0735358a000d */, -1.300355643380135983739 /* 0x1.4ce41b817c99e0001 */, -1.302117261036232376282 /* 0x1.4d578e8bb52cb0003 */, -1.303881265192249561154 /* 0x1.4dcb299fde2920008 */, -1.305647659079073541490 /* 0x1.4e3eeccbd7f4c0003 */, -1.307416445934474813521 /* 0x1.4eb2d81d8a86f000b */, -1.309187629001237640529 /* 0x1.4f26eba2e35a5000e */, -1.310961211525240921493 /* 0x1.4f9b2769d35090009 */, -1.312737196755087820678 /* 0x1.500f8b804e4a30000 */, -1.314515587949291131086 /* 0x1.508417f4530d00009 */, -1.316296388365203462468 /* 0x1.50f8ccd3df1840003 */, -1.318079601265708777911 /* 0x1.516daa2cf60020002 */, -1.319865229921343141607 /* 0x1.51e2b00da3c2b0007 */, -1.321653277603506371251 /* 0x1.5257de83f5512000d */, -1.323443747588034513690 /* 0x1.52cd359dfc7d5000e */, -1.325236643161341820781 /* 0x1.5342b569d6baa000f */, -1.327031967602244177939 /* 0x1.53b85df59921b0000 */, -1.328829724206201046165 /* 0x1.542e2f4f6b17e0006 */, -1.330629916266568235675 /* 0x1.54a4298571b27000e */, -1.332432547083447937938 /* 0x1.551a4ca5d97190009 */, -1.334237619959296017340 /* 0x1.559098bed16bf0008 */, -1.336045138203900251029 /* 0x1.56070dde90c800000 */, -1.337855105129210686631 /* 0x1.567dac13510cd0009 */, -1.339667524053662184301 /* 0x1.56f4736b52e2c000c */, -1.341482398296830025383 /* 0x1.576b63f4d8333000f */, -1.343299731186792467254 /* 0x1.57e27dbe2c40e0003 */, -1.345119526053918823702 /* 0x1.5859c0d59cd37000f */, -1.346941786233264881662 /* 0x1.58d12d497cd9a0005 */, -1.348766515064854010261 /* 0x1.5948c32824b87000c */, -1.350593715891792223641 /* 0x1.59c0827ff03890007 */, -1.352423392064920459908 /* 0x1.5a386b5f43a3e0006 */, -1.354255546937278120764 /* 0x1.5ab07dd485af1000c */, -1.356090183865519494030 /* 0x1.5b28b9ee21085000f */, -1.357927306213322804534 /* 0x1.5ba11fba8816e000b */, -1.359766917346459269620 /* 0x1.5c19af482f8f2000f */, -1.361609020638567812980 /* 0x1.5c9268a594cc00004 */, -1.363453619463660171403 /* 0x1.5d0b4be135916000c */, -1.365300717204201985683 /* 0x1.5d84590998eeb0005 */, -1.367150317245710233754 /* 0x1.5dfd902d494e40001 */, -1.369002422974674892971 /* 0x1.5e76f15ad22c40008 */, -1.370857037789471544224 /* 0x1.5ef07ca0cc166000b */, -1.372714165088220639199 /* 0x1.5f6a320dcf5280006 */, -1.374573808273481745378 /* 0x1.5fe411b0790800009 */, -1.376435970755022220096 /* 0x1.605e1b976e4b1000e */, -1.378300655944092456600 /* 0x1.60d84fd155d15000e */, -1.380167867259843417228 /* 0x1.6152ae6cdf0030003 */, -1.382037608124419003675 /* 0x1.61cd3778bc879000d */, -1.383909881963391264069 /* 0x1.6247eb03a4dc40009 */, -1.385784692209972801544 /* 0x1.62c2c91c56d9b0002 */, -1.387662042298923203992 /* 0x1.633dd1d1930ec0001 */, -1.389541935670444372533 /* 0x1.63b90532200630004 */, -1.391424375772021271329 /* 0x1.6434634ccc4cc0007 */, -1.393309366052102982208 /* 0x1.64afec30677e90008 */, -1.395196909966106124701 /* 0x1.652b9febc8e0f000d */, -1.397087010973788290271 /* 0x1.65a77e8dcc7f10004 */, -1.398979672539331309267 /* 0x1.66238825534170000 */, -1.400874898129892187656 /* 0x1.669fbcc1415600008 */, -1.402772691220124823310 /* 0x1.671c1c708328e000a */, -1.404673055288671035301 /* 0x1.6798a7420988b000d */, -1.406575993818903302975 /* 0x1.68155d44ca77a000f */, -1.408481510297352468121 /* 0x1.68923e87bf70e000a */, -1.410389608216942924956 /* 0x1.690f4b19e8f74000c */, -1.412300291075172076232 /* 0x1.698c830a4c94c0008 */ -}; -#define S (1.0/4503599627370496.0) /* 2^-52 */ -static const float exp2_deltatable[512] = { - 11527*S, -963*S, 884*S, -781*S, -2363*S, -3441*S, 123*S, 526*S, - -6*S, 1254*S, -1138*S, 1519*S, 1576*S, -65*S, 1040*S, 793*S, - -1662*S, -5063*S, -387*S, 968*S, -941*S, 984*S, -2856*S, -545*S, - 495*S, -5246*S, -2109*S, 1281*S, 2075*S, 909*S, -1642*S,-78233*S, --31653*S, -265*S, 130*S, 430*S, 2482*S, -742*S, 1616*S, -2213*S, - -519*S, 20*S, -3134*S,-13981*S, 1343*S, -1740*S, 247*S, 1679*S, - -1097*S, 3131*S, 871*S, -1480*S, 1936*S, -1827*S, 17325*S, 528*S, - -322*S, 1404*S, -152*S, -1845*S, -212*S, 2639*S, -476*S, 2960*S, - -962*S, -1012*S, -1231*S, 3030*S, 1659*S, -486*S, 2154*S, 1728*S, - -2793*S, 699*S, -1560*S, -2125*S, 2156*S, 142*S, -1888*S, 4426*S, --13443*S, 1970*S, -50*S, 1771*S,-43399*S, 4979*S, -2448*S, -370*S, - 1414*S, 1075*S, 232*S, 206*S, 873*S, 2141*S, 2970*S, 1279*S, - -2331*S, 336*S, -2595*S, 753*S, -3384*S, -616*S, 89*S, -818*S, - 5755*S, -241*S, -528*S, -661*S, -3777*S, -354*S, 250*S, 3881*S, - 2632*S, -2131*S, 2565*S, -316*S, 1746*S, -2541*S, -1324*S, -50*S, - 2564*S, -782*S, 1176*S, 6452*S, -1002*S, 1288*S, 336*S, -185*S, - 3063*S, 3784*S, 2169*S, 686*S, 328*S, -400*S, 312*S, -4517*S, - -1457*S, 1046*S, -1530*S, -685*S, 1328*S,-49815*S, -895*S, 1063*S, - -2091*S, -672*S, -1710*S, -665*S, 1545*S, 1819*S,-45265*S, 3548*S, - -554*S, -568*S, 4752*S, -1907*S,-13738*S, 675*S, 9611*S, -1115*S, - -815*S, 408*S, -1281*S, -937*S,-16376*S, -4772*S, -1440*S, 992*S, - 788*S, 10364*S, -1602*S, -661*S, -1783*S, -265*S, -20*S, -3781*S, - -861*S, -345*S, -994*S, 1364*S, -5339*S, 1620*S, 9390*S, -1066*S, - -305*S, -170*S, 175*S, 2461*S, -490*S, -769*S, -1450*S, 3315*S, - 2418*S, -45*S, -852*S, -1295*S, -488*S, -96*S, 1142*S, -2639*S, - 7905*S, -9306*S, -3859*S, 760*S, 1057*S, -1570*S, 3977*S, 209*S, - -514*S, 7151*S, 1646*S, 627*S, 599*S, -774*S, -1468*S, 633*S, - -473*S, 851*S, 2406*S, 143*S, 74*S, 4260*S, 1177*S, -913*S, - 2670*S, -3298*S, -1662*S, -120*S, -3264*S, -2148*S, 410*S, 2078*S, - -2098*S, -926*S, 3580*S, -1289*S, 2450*S, -1158*S, 907*S, -590*S, - 986*S, 1801*S, 1145*S, -1677*S, 3455*S, 956*S, 710*S, 144*S, - 153*S, -255*S, -1898*S, 28102*S, 2748*S, 1194*S, -3009*S, 7076*S, - 0*S, -2720*S, 711*S, 1225*S, -3034*S, -473*S, 378*S, -1046*S, - 962*S, -2006*S, 4647*S, 3206*S, 1769*S, -2665*S, 1254*S, 2025*S, - -2430*S, 6193*S, 1224*S, -856*S, -1592*S, -325*S, -1521*S, 1827*S, - -264*S, 2403*S, -1065*S, 967*S, -681*S, -2106*S, -474*S, 1333*S, - -893*S, 2296*S, 592*S, -1220*S, -326*S, 990*S, 139*S, 206*S, - -779*S, -1683*S, 1238*S, 6098*S, 136*S, 1197*S, 790*S, -107*S, - -1004*S, -2449*S, 939*S, 5568*S, 156*S, 1812*S, 2792*S, -1094*S, - -2677*S, -251*S, 2297*S, 943*S, -1329*S, 2883*S, -853*S, -2626*S, --105929*S, -6552*S, 1095*S, -1508*S, 1003*S, 5039*S, -2600*S, -749*S, - 1790*S, 890*S, 2016*S, -1073*S, 624*S, -2084*S, -1536*S, -1330*S, - 358*S, 2444*S, -179*S,-25759*S, -243*S, -552*S, -124*S, 3766*S, - 1192*S, -1614*S, 6*S, -1227*S, 345*S, -981*S, -295*S, -1006*S, - -995*S, -1195*S, 706*S, 2512*S, -1758*S, -734*S, -6286*S, -922*S, - 1530*S, 1542*S, 1223*S, 61*S, -83*S, 522*S,116937*S, -914*S, - -418*S, -7339*S, 249*S, -520*S, -762*S, 426*S, -505*S, 2664*S, - -1093*S, -1035*S, 2130*S, 4878*S, 1982*S, 1551*S, 2304*S, 193*S, - 1532*S, -7268*S, 24357*S, 531*S, 2676*S, -1170*S, 1465*S, -1917*S, - 2143*S, 1466*S, -7*S, -7300*S, 3297*S, -1197*S, -289*S, -1548*S, - 26226*S, 4401*S, 4123*S, -1588*S, 4243*S, 4069*S, -1276*S, -2010*S, - 1407*S, 1478*S, 488*S, -2366*S, -2909*S, -2534*S, -1285*S, 7095*S, - -645*S, -2089*S, -944*S, -40*S, -1363*S, -833*S, 917*S, 1609*S, - 1286*S, 1677*S, 1613*S, -2295*S, -1248*S, 40*S, 26*S, 2038*S, - 698*S, 2675*S, -1755*S, -3522*S, -1614*S, -6111*S, 270*S, 1822*S, - -234*S, -2844*S, -1201*S, -830*S, 1193*S, 2354*S, 47*S, 1522*S, - -78*S, -640*S, 2425*S, -1596*S, 1563*S, 1169*S, -1006*S, -83*S, - 2362*S, -3521*S, -314*S, 1814*S, -1751*S, 305*S, 1715*S, -3741*S, - 7847*S, 1291*S, 1206*S, 36*S, 1397*S, -1419*S, -1194*S, -2014*S, - 1742*S, -578*S, -207*S, 875*S, 1539*S, 2826*S, -1165*S, -909*S, - 1849*S, 927*S, 2018*S, -981*S, 1637*S, -463*S, 905*S, 6618*S, - 400*S, 630*S, 2614*S, 900*S, 2323*S, -1094*S, -1858*S, -212*S, - -2069*S, 747*S, 1845*S, -1450*S, 444*S, -213*S, -438*S, 1158*S, - 4738*S, 2497*S, -370*S, -2016*S, -518*S, -1160*S, -1510*S, 123*S -}; -/* Maximum magnitude in above table: 116937 */ -#undef S diff --git a/sysdeps/ieee754/dbl-64/uexp.h b/sysdeps/ieee754/dbl-64/uexp.h deleted file mode 100644 index 64ab2c8fca..0000000000 --- a/sysdeps/ieee754/dbl-64/uexp.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * IBM Accurate Mathematical Library - * Written by International Business Machines Corp. - * Copyright (C) 2001-2018 Free Software Foundation, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation; either version 2.1 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, see . - */ - -/******************************************************************/ -/* */ -/* MODULE_NAME:uexp.h */ -/* */ -/* common data and variables prototype and definition */ -/******************************************************************/ - -#ifndef UEXP_H -#define UEXP_H - -#include "mydefs.h" - -const static double zero = 0.0, hhuge = 1.0e300, tiny = 1.0e-300; -const static int4 bigint = 0x40862002, - badint = 0x40876000,smallint = 0x3C8fffff; -const static int4 hugeint = 0x7FFFFFFF, infint = 0x7ff00000; - -#ifdef BIG_ENDI -const static mynumber inf = {{0x7FF00000, 0}}; /* inf */ -const static mynumber t256 = {{0x4ff00000, 0}}; /* 2^256 */ - -const static mynumber ln_two1 = {{0x3FE62E42, 0xFEFA3800}};/*0.69314718055989033 */ -const static mynumber ln_two2 = {{0x3D2EF357, 0x93C76730}};/*5.4979230187083712e-14*/ -const static mynumber log2e = {{0x3FF71547, 0x652B82FE}};/* 1.4426950408889634 */ - -const static mynumber p2 = {{0x3FE00000, 0x000004DC}};/* 0.50000000000013811 */ -const static mynumber p3 = {{0x3FC55555, 0x55555A0F}};/* 0.16666666666670024 */ - -const static mynumber three33 = {{0x42180000, 0}}; /* 25769803776 */ -const static mynumber three51 = {{0x43380000, 0}}; /* 6755399441055744 */ - -#else -#ifdef LITTLE_ENDI - const static mynumber inf = {{0, 0x7FF00000}}; /* inf */ - const static mynumber t256 = {{0, 0x4ff00000}}; /* 2^256 */ - - const static mynumber ln_two1 = {{0xFEFA3800, 0x3FE62E42}};/*0.69314718055989033 */ - const static mynumber ln_two2 = {{0x93C76730, 0x3D2EF357}};/*5.4979230187083712e-14*/ - const static mynumber log2e = {{0x652B82FE, 0x3FF71547}};/* 1.4426950408889634 */ - - const static mynumber p2 = {{0x000004DC, 0x3FE00000}};/* 0.50000000000013811 */ - const static mynumber p3 = {{0x55555A0F, 0x3FC55555}};/* 0.16666666666670024 */ - - const static mynumber three33 = {{0, 0x42180000}}; /* 25769803776 */ - const static mynumber three51 = {{0, 0x43380000}}; /* 6755399441055744 */ - -#endif -#endif -#endif diff --git a/sysdeps/ieee754/dbl-64/uexp.tbl b/sysdeps/ieee754/dbl-64/uexp.tbl deleted file mode 100644 index b1eff5253e..0000000000 --- a/sysdeps/ieee754/dbl-64/uexp.tbl +++ /dev/null @@ -1,1786 +0,0 @@ -/* - * IBM Accurate Mathematical Library - * Written by International Business Machines Corp. - * Copyright (C) 2001-2018 Free Software Foundation, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation; either version 2.1 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, see . - */ - -/****************************************************************/ -/* TABLES FOR THE ulog() FUNCTION */ -/****************************************************************/ - -#ifdef BIG_ENDI - -static const union { - int i[1424]; - double x[712]; -} coar = { .i = { - 0x3FE69A59, 0xC8000000, 0x3DF22D4D, 0x6079C9F7, - 0x3FE6A5A9, 0xC8000000, 0x3E19882D, 0x25AF6823, - 0x3FE6B0FF, 0x74000000, 0xBE221476, 0x31DABF59, - 0x3FE6BC5A, 0xC8000000, 0x3E2312AC, 0x99A2DC0A, - 0x3FE6C7BB, 0xD0000000, 0xBE265926, 0xCE9F9355, - 0x3FE6D322, 0x84000000, 0x3E2F2C26, 0x2D298DED, - 0x3FE6DE8E, 0xF4000000, 0xBE2EC28E, 0x1E748D2F, - 0x3FE6EA01, 0x14000000, 0x3E2D8C6D, 0xC68CB7E5, - 0x3FE6F578, 0xF4000000, 0x3DEE1A9E, 0x419FE2F0, - 0x3FE700F6, 0x90000000, 0xBDFF1AFD, 0xDEAEAE34, - 0x3FE70C79, 0xEC000000, 0xBE0730FE, 0x558B7122, - 0x3FE71803, 0x0C000000, 0xBE25CB85, 0x2D280C3B, - 0x3FE72391, 0xF0000000, 0xBE06F2CE, 0x337B7B54, - 0x3FE72F26, 0x9C000000, 0x3E289BCA, 0x45C02B72, - 0x3FE73AC1, 0x18000000, 0xBE18DEA6, 0x5039F1CA, - 0x3FE74661, 0x60000000, 0xBE09D090, 0x86CE0538, - 0x3FE75207, 0x78000000, 0x3E290E79, 0xCFCE5DDB, - 0x3FE75DB3, 0x68000000, 0x3DD61DF0, 0xB249A17C, - 0x3FE76965, 0x2C000000, 0x3E2F22F7, 0xE13445F7, - 0x3FE7751C, 0xD0000000, 0xBE2CD454, 0x874E75CE, - 0x3FE780DA, 0x4C000000, 0xBE0159CE, 0xDF43E3BC, - 0x3FE78C9D, 0xA8000000, 0x3E279291, 0x699A1332, - 0x3FE79866, 0xEC000000, 0xBE2A0BCD, 0x2DD98C6C, - 0x3FE7A436, 0x10000000, 0x3E25F375, 0x15AC979E, - 0x3FE7B00B, 0x20000000, 0x3E26CCF5, 0x2FEAFCF6, - 0x3FE7BBE6, 0x1C000000, 0x3E27D4F4, 0x53ADAD67, - 0x3FE7C7C7, 0x08000000, 0x3E10EEC7, 0x7FBD9566, - 0x3FE7D3AD, 0xE4000000, 0x3E2837F0, 0x9A831D86, - 0x3FE7DF9A, 0xB8000000, 0xBE129BE0, 0x5CB4C35B, - 0x3FE7EB8D, 0x80000000, 0x3E23990A, 0x0234F04D, - 0x3FE7F786, 0x44000000, 0x3E2EB807, 0x64D5C842, - 0x3FE80385, 0x08000000, 0x3E0FC86F, 0x02B4E9E8, - 0x3FE80F89, 0xCC000000, 0xBDD7B5B3, 0x7B4274BF, - 0x3FE81B94, 0x94000000, 0xBE16888B, 0xB899B00F, - 0x3FE827A5, 0x60000000, 0x3E288971, 0x5E94D155, - 0x3FE833BC, 0x38000000, 0x3E2AEEB2, 0x099F3E5E, - 0x3FE83FD9, 0x20000000, 0xBE23B922, 0x3FF60B7C, - 0x3FE84BFC, 0x14000000, 0xBDF7D3B1, 0x2DBD8012, - 0x3FE85825, 0x1C000000, 0xBDF24BA3, 0xA8872BEB, - 0x3FE86454, 0x38000000, 0x3E2EFE04, 0x01AA18A7, - 0x3FE87089, 0x70000000, 0x3E21986C, 0x944496A2, - 0x3FE87CC4, 0xC4000000, 0x3E096A8B, 0xB71FFAFF, - 0x3FE88906, 0x38000000, 0xBE21CE0A, 0xBC4C7AC5, - 0x3FE8954D, 0xCC000000, 0xBE076F45, 0xBAC02491, - 0x3FE8A19B, 0x84000000, 0x3E2B4FA2, 0xD922B925, - 0x3FE8ADEF, 0x68000000, 0x3DF759DB, 0x641863AF, - 0x3FE8BA49, 0x78000000, 0xBE2DB97C, 0xC6AB5E04, - 0x3FE8C6A9, 0xB4000000, 0xBE25364C, 0xE2156713, - 0x3FE8D310, 0x20000000, 0x3E1BEB7C, 0x862BEFF7, - 0x3FE8DF7C, 0xC4000000, 0xBDF4DD0C, 0x1CEA33A5, - 0x3FE8EBEF, 0xA0000000, 0xBE2537DF, 0x51797D47, - 0x3FE8F868, 0xB4000000, 0x3E0FB1C4, 0xF0107B28, - 0x3FE904E8, 0x08000000, 0x3E0AD6A1, 0xE01B68BD, - 0x3FE9116D, 0x9C000000, 0x3E292117, 0x1F78D9D9, - 0x3FE91DF9, 0x78000000, 0xBE1D75DA, 0x4F50E5CF, - 0x3FE92A8B, 0x98000000, 0x3DE5102B, 0x74959E58, - 0x3FE93724, 0x04000000, 0xBE01CA50, 0xD2216C35, - 0x3FE943C2, 0xBC000000, 0x3E225BFD, 0xB0B05884, - 0x3FE95067, 0xC8000000, 0xBE0F2183, 0x60B7C5C1, - 0x3FE95D13, 0x24000000, 0x3E2FB47A, 0xB5860441, - 0x3FE969C4, 0xDC000000, 0xBE01FFD2, 0xE2D4059E, - 0x3FE9767C, 0xEC000000, 0xBDE9ED72, 0x12BB6A8D, - 0x3FE9833B, 0x58000000, 0x3E2B3815, 0x43BFFB24, - 0x3FE99000, 0x28000000, 0x3E03FA22, 0xEE9EAD1E, - 0x3FE99CCB, 0x5C000000, 0xBE213841, 0x377138F7, - 0x3FE9A99C, 0xF4000000, 0x3E178105, 0xDB636C94, - 0x3FE9B674, 0xF8000000, 0x3E1E5E7A, 0xF5720122, - 0x3FE9C353, 0x6C000000, 0xBE238BFF, 0xA2AC5AAE, - 0x3FE9D038, 0x4C000000, 0x3E270893, 0xF93BDBD8, - 0x3FE9DD23, 0xA4000000, 0x3DF40420, 0x354B86CF, - 0x3FE9EA15, 0x74000000, 0xBE2D76D3, 0x88CB06B7, - 0x3FE9F70D, 0xBC000000, 0xBE251639, 0x9ED0EC60, - 0x3FEA040C, 0x80000000, 0x3E1F06E9, 0xE2DDE506, - 0x3FEA1111, 0xC8000000, 0x3E014549, 0x8E6DB477, - 0x3FEA1E1D, 0x94000000, 0xBDF4BC17, 0xF8716509, - 0x3FEA2B2F, 0xE8000000, 0xBE2107DB, 0xDA723A49, - 0x3FEA3848, 0xC4000000, 0x3E1A932A, 0x986AA369, - 0x3FEA4568, 0x30000000, 0x3E198092, 0x41592CDB, - 0x3FEA528E, 0x30000000, 0xBE2E260F, 0x676BCAB8, - 0x3FEA5FBA, 0xC0000000, 0x3DE2E821, 0x2D5D5610, - 0x3FEA6CED, 0xE8000000, 0x3E2F7046, 0x7DA20167, - 0x3FEA7A27, 0xB0000000, 0xBE1D2832, 0xF9FAAD30, - 0x3FEA8768, 0x14000000, 0xBE23F788, 0x43FA6C45, - 0x3FEA94AF, 0x18000000, 0x3E011E27, 0xAA082732, - 0x3FEAA1FC, 0xC4000000, 0xBE20BACB, 0xC682F0BF, - 0x3FEAAF51, 0x18000000, 0xBE2DC7DD, 0x7BD08C78, - 0x3FEABCAC, 0x14000000, 0x3E2271A2, 0xA3B10F9A, - 0x3FEACA0D, 0xC4000000, 0xBE15449C, 0x7966F94C, - 0x3FEAD776, 0x24000000, 0x3DD06137, 0x6FD8F3EE, - 0x3FEAE4E5, 0x3C000000, 0xBE267CD1, 0x8C5A144A, - 0x3FEAF25B, 0x0C000000, 0xBE29E584, 0xB59DA94B, - 0x3FEAFFD7, 0x98000000, 0xBE23DFCF, 0x7B52192F, - 0x3FEB0D5A, 0xE4000000, 0xBE1CF2FE, 0x78A76B45, - 0x3FEB1AE4, 0xF4000000, 0xBE23A561, 0x7EC80FF6, - 0x3FEB2875, 0xC8000000, 0x3E22C4C9, 0x932EED68, - 0x3FEB360D, 0x68000000, 0x3E2B085C, 0xB5833C97, - 0x3FEB43AB, 0xD8000000, 0xBE01F093, 0x93B9319A, - 0x3FEB5151, 0x18000000, 0xBE254F01, 0xFABCE670, - 0x3FEB5EFD, 0x28000000, 0x3E2F24C2, 0x627ABFB0, - 0x3FEB6CB0, 0x14000000, 0x3E1F1EEC, 0xE6AC0B48, - 0x3FEB7A69, 0xDC000000, 0xBE1A8671, 0x127F9ABC, - 0x3FEB882A, 0x80000000, 0xBDCB0C28, 0xC87C73B3, - 0x3FEB95F2, 0x08000000, 0xBE22E8DD, 0x7F2B5A97, - 0x3FEBA3C0, 0x74000000, 0xBE1B3645, 0x2D22A9D5, - 0x3FEBB195, 0xC8000000, 0x3E0ADACA, 0x428F8B88, - 0x3FEBBF72, 0x0C000000, 0xBE2E9E07, 0xCDF9F681, - 0x3FEBCD55, 0x3C000000, 0xBE08A127, 0x7FA54ACF, - 0x3FEBDB3F, 0x60000000, 0x3E0E92CE, 0x8225B385, - 0x3FEBE930, 0x7C000000, 0x3DF38C2A, 0x7BB09485, - 0x3FEBF728, 0x94000000, 0xBE2DFD64, 0xF681FA5F, - 0x3FEC0527, 0xA4000000, 0x3E2E384D, 0xDCE88BD2, - 0x3FEC132D, 0xBC000000, 0xBE20F111, 0xFE46A893, - 0x3FEC213A, 0xD4000000, 0x3E193DA1, 0xB189BFDA, - 0x3FEC2F4E, 0xF8000000, 0xBE20E3A1, 0x0E39FB00, - 0x3FEC3D6A, 0x24000000, 0x3E1DB044, 0x30F0FAC5, - 0x3FEC4B8C, 0x64000000, 0xBE2BC12C, 0x97446B17, - 0x3FEC59B5, 0xB4000000, 0xBE282696, 0x963F4150, - 0x3FEC67E6, 0x18000000, 0x3E224D26, 0x3049824B, - 0x3FEC761D, 0x98000000, 0x3E2C5BA5, 0x87F84C7D, - 0x3FEC845C, 0x38000000, 0xBDE1D14D, 0xC4852339, - 0x3FEC92A1, 0xF8000000, 0xBE1A451E, 0x5588D9E1, - 0x3FECA0EE, 0xDC000000, 0xBE1D3B96, 0x68BFF457, - 0x3FECAF42, 0xE8000000, 0xBE18B670, 0x4DADF774, - 0x3FECBD9E, 0x20000000, 0xBE1A1548, 0x7FB1FC01, - 0x3FECCC00, 0x88000000, 0xBE273F2E, 0x78FC5AF0, - 0x3FECDA6A, 0x20000000, 0x3E1D218F, 0xA6F4A841, - 0x3FECE8DA, 0xF0000000, 0x3E2E0BA9, 0x4D002CA0, - 0x3FECF752, 0xFC000000, 0x3E20F4BB, 0x065EF979, - 0x3FED05D2, 0x48000000, 0xBE2ED3D5, 0x11793B33, - 0x3FED1458, 0xD0000000, 0x3E115E3C, 0x913341B3, - 0x3FED22E6, 0xA0000000, 0x3DE97C02, 0xB3546109, - 0x3FED317B, 0xB8000000, 0x3E087540, 0x1BF898EF, - 0x3FED4018, 0x1C000000, 0x3E209430, 0x346F9641, - 0x3FED4EBB, 0xD0000000, 0x3E2B6DF4, 0x88F4B20B, - 0x3FED5D66, 0xDC000000, 0xBE2EC68F, 0x0CB26035, - 0x3FED6C19, 0x38000000, 0x3E2CA2C8, 0x1F44D9C3, - 0x3FED7AD2, 0xF4000000, 0x3E10E6F4, 0x41704EE0, - 0x3FED8994, 0x0C000000, 0x3E2F9273, 0x25F8F0E2, - 0x3FED985C, 0x88000000, 0x3E2D041A, 0x318798DE, - 0x3FEDA72C, 0x6C000000, 0xBE005680, 0x9349CF58, - 0x3FEDB603, 0xB8000000, 0xBE10F665, 0xCF0C934D, - 0x3FEDC4E2, 0x70000000, 0x3E166124, 0x19461C64, - 0x3FEDD3C8, 0x9C000000, 0xBE1B2ED6, 0x405624C8, - 0x3FEDE2B6, 0x3C000000, 0xBE273A7F, 0x62171501, - 0x3FEDF1AB, 0x54000000, 0xBE26022B, 0xE36E1450, - 0x3FEE00A7, 0xE8000000, 0xBE1C341E, 0x2E07AE15, - 0x3FEE0FAB, 0xFC000000, 0xBDFC7EAE, 0x18D0E701, - 0x3FEE1EB7, 0x94000000, 0x3E06B34F, 0xECD1FF8B, - 0x3FEE2DCA, 0xB4000000, 0x3E1394A3, 0x6813A649, - 0x3FEE3CE5, 0x60000000, 0x3E045496, 0xC1754D14, - 0x3FEE4C07, 0x9C000000, 0xBE180FFF, 0xF5C6087C, - 0x3FEE5B31, 0x68000000, 0x3E22FBCD, 0xADD9A300, - 0x3FEE6A62, 0xCC000000, 0x3E2EC7C7, 0xAF0289E5, - 0x3FEE799B, 0xCC000000, 0x3E242182, 0x3FB3EDD4, - 0x3FEE88DC, 0x6C000000, 0xBE201304, 0x04E39885, - 0x3FEE9824, 0xAC000000, 0xBE20D352, 0xE6831D31, - 0x3FEEA774, 0x90000000, 0x3E1E032D, 0x618DFCEB, - 0x3FEEB6CC, 0x20000000, 0x3E1956A3, 0xF9BB457E, - 0x3FEEC62B, 0x60000000, 0xBE2A77E0, 0x50845DB2, - 0x3FEED592, 0x4C000000, 0x3E2714F7, 0x47C43858, - 0x3FEEE500, 0xF0000000, 0x3E2EED96, 0x71813A66, - 0x3FEEF477, 0x50000000, 0xBE04CDBE, 0x4FB4AA34, - 0x3FEF03F5, 0x6C000000, 0xBE2774A2, 0x86EB4FF5, - 0x3FEF137B, 0x48000000, 0xBE29DD95, 0xAD43B2D2, - 0x3FEF2308, 0xE8000000, 0xBE1CADB0, 0xAC16E506, - 0x3FEF329E, 0x50000000, 0x3E12AC33, 0x58745C7B, - 0x3FEF423B, 0x88000000, 0xBE248118, 0x6EC2D854, - 0x3FEF51E0, 0x8C000000, 0x3E26986B, 0x304ACE08, - 0x3FEF618D, 0x68000000, 0x3E126D81, 0x3B09354E, - 0x3FEF7142, 0x1C000000, 0x3DF06AAE, 0x773C23B3, - 0x3FEF80FE, 0xAC000000, 0xBDA105B6, 0xD82EF423, - 0x3FEF90C3, 0x1C000000, 0x3DECDEED, 0x465499B8, - 0x3FEFA08F, 0x70000000, 0x3E0AEFD4, 0xE2EF03AE, - 0x3FEFB063, 0xAC000000, 0x3E1BD4C0, 0x0567B2E7, - 0x3FEFC03F, 0xD4000000, 0x3E26AA22, 0x4F97FCBF, - 0x3FEFD023, 0xF0000000, 0xBE2F9420, 0x5E4E88D1, - 0x3FEFE00F, 0xFC000000, 0xBE254004, 0x438E52E2, - 0x3FEFF004, 0x00000000, 0xBE1552AA, 0xEEE93EFC, - 0x3FF00000, 0x00000000, 0x00000000, 0x00000000, - 0x3FF00802, 0x00000000, 0x3E155800, 0x4449F507, - 0x3FF01008, 0x04000000, 0xBE354AA8, 0x882D75D6, - 0x3FF01812, 0x08000000, 0x3E303610, 0x3740DE56, - 0x3FF02020, 0x14000000, 0x3E360044, 0x5B0C3264, - 0x3FF02832, 0x28000000, 0x3E3C4C26, 0x0197EDC3, - 0x3FF03048, 0x48000000, 0x3E0B103B, 0x5046CA09, - 0x3FF03862, 0x74000000, 0xBE34659C, 0xF9A62624, - 0x3FF04080, 0xAC000000, 0xBE254438, 0xDD0A8F37, - 0x3FF048A2, 0xF4000000, 0x3DF256C2, 0x97AFB6E2, - 0x3FF050C9, 0x50000000, 0xBE3085DF, 0x923D25E1, - 0x3FF058F3, 0xC0000000, 0xBE3F0A93, 0x5EA3B091, - 0x3FF06122, 0x44000000, 0xBE237DE4, 0x5D63534C, - 0x3FF06954, 0xE0000000, 0x3E301719, 0xFF0C58B7, - 0x3FF0718B, 0x98000000, 0x3E2E8410, 0x9DF7B665, - 0x3FF079C6, 0x6C000000, 0x3E349CB9, 0x3B127222, - 0x3FF08205, 0x60000000, 0x3DF127EC, 0x98E0BD08, - 0x3FF08A48, 0x74000000, 0xBE24C1B6, 0x706CC41F, - 0x3FF0928F, 0xA8000000, 0x3E334EF9, 0x093044EF, - 0x3FF09ADB, 0x04000000, 0xBE1304B1, 0x56BC6C83, - 0x3FF0A32A, 0x84000000, 0x3E2D383E, 0xB028B984, - 0x3FF0AB7E, 0x30000000, 0xBE315B1E, 0x64E7A202, - 0x3FF0B3D6, 0x04000000, 0xBE0AC1E6, 0xC678291E, - 0x3FF0BC32, 0x04000000, 0x3E3A0418, 0x2F12FFE2, - 0x3FF0C492, 0x38000000, 0xBE37D617, 0x43D6D302, - 0x3FF0CCF6, 0x98000000, 0x3E2133F2, 0x152CC8FA, - 0x3FF0D55F, 0x2C000000, 0x3E3CE5D1, 0xE966E6B7, - 0x3FF0DDCB, 0xF8000000, 0x3E1ABF24, 0x7BCACA64, - 0x3FF0E63C, 0xFC000000, 0xBE3854F6, 0x2E8CDBED, - 0x3FF0EEB2, 0x38000000, 0xBE3E6463, 0x0C32156B, - 0x3FF0F72B, 0xAC000000, 0x3E365671, 0xB69772CC, - 0x3FF0FFA9, 0x64000000, 0xBE383E9A, 0x02B1201A, - 0x3FF1082B, 0x58000000, 0xBE205962, 0x50549CC0, - 0x3FF110B1, 0x90000000, 0xBE376BFE, 0xFFDACA72, - 0x3FF1193C, 0x08000000, 0x3E3C1C59, 0x5C43E2F3, - 0x3FF121CA, 0xCC000000, 0xBE26D374, 0xF7067C8B, - 0x3FF12A5D, 0xD4000000, 0x3E343CCC, 0x4DDAFE1D, - 0x3FF132F5, 0x28000000, 0x3E3D5C16, 0x58EBCB7F, - 0x3FF13B90, 0xCC000000, 0xBE2B5D12, 0xB66E8B53, - 0x3FF14430, 0xBC000000, 0xBE24E919, 0xB326B482, - 0x3FF14CD4, 0xFC000000, 0x3E23139A, 0xC8AABD43, - 0x3FF1557D, 0x90000000, 0x3E30DD8B, 0x16743B55, - 0x3FF15E2A, 0x7C000000, 0xBE31D701, 0x35904C50, - 0x3FF166DB, 0xBC000000, 0x3E107F42, 0x30E0CA83, - 0x3FF16F91, 0x58000000, 0xBE24F1F2, 0xDA1B7123, - 0x3FF1784B, 0x50000000, 0xBE3ACAF2, 0x0DC79E23, - 0x3FF18109, 0xA4000000, 0xBE23DC79, 0x609374EE, - 0x3FF189CC, 0x58000000, 0x3E262CF7, 0x3A40C3B7, - 0x3FF19293, 0x70000000, 0x3E1D3833, 0x5A24F463, - 0x3FF19B5E, 0xEC000000, 0x3E2BA9AD, 0x8A2E4440, - 0x3FF1A42E, 0xD0000000, 0x3DFD8CBC, 0x61C41828, - 0x3FF1AD03, 0x1C000000, 0x3E1A65E6, 0x5A4DDF0D, - 0x3FF1B5DB, 0xD4000000, 0xBDE2FDBB, 0x9F828DB5, - 0x3FF1BEB8, 0xF8000000, 0x3E2F4EE8, 0xB79B700F, - 0x3FF1C79A, 0x8C000000, 0x3E3ACC35, 0x0DE1D7E8, - 0x3FF1D080, 0x94000000, 0x3E11729E, 0xFF9E20A0, - 0x3FF1D96B, 0x10000000, 0xBE300F18, 0x6C2EA70B, - 0x3FF1E25A, 0x00000000, 0x3DF32E02, 0xCE425A35, - 0x3FF1EB4D, 0x68000000, 0x3E3BDE56, 0x9A322D12, - 0x3FF1F445, 0x50000000, 0xBE3C3F0D, 0xBA737AEF, - 0x3FF1FD41, 0xB0000000, 0xBE0A2DD0, 0xC896DB7A, - 0x3FF20642, 0x90000000, 0x3E2577B0, 0xF8B782F6, - 0x3FF20F47, 0xF4000000, 0xBE2C6DA3, 0x73607FC8, - 0x3FF21851, 0xD8000000, 0x3E35F7D1, 0xC8917348, - 0x3FF22160, 0x44000000, 0x3E3B6F5C, 0xCF9CED69, - 0x3FF22A73, 0x3C000000, 0xBE39967E, 0x85775C2E, - 0x3FF2338A, 0xB8000000, 0x3E3B3213, 0x497226D4, - 0x3FF23CA6, 0xC4000000, 0x3E3E2710, 0x30733227, - 0x3FF245C7, 0x60000000, 0x3E33B8A9, 0xAF215A72, - 0x3FF24EEC, 0x90000000, 0xBE3F96B2, 0x1365623F, - 0x3FF25816, 0x50000000, 0xBE37324F, 0x27DEE202, - 0x3FF26144, 0xA4000000, 0x3E318CD5, 0x4E484D87, - 0x3FF26A77, 0x94000000, 0xBDE3FD37, 0xA94519E8, - 0x3FF273AF, 0x1C000000, 0x3E37132F, 0xEE788C29, - 0x3FF27CEB, 0x44000000, 0xBE03DDB7, 0xE842E5C0, - 0x3FF2862C, 0x08000000, 0x3E37A3FB, 0xE17C9693, - 0x3FF28F71, 0x70000000, 0x3E24EABF, 0xAEB3D9A0, - 0x3FF298BB, 0x7C000000, 0xBE13C7B6, 0x853B0733, - 0x3FF2A20A, 0x2C000000, 0x3E2D2C80, 0xC7B588B5, - 0x3FF2AB5D, 0x88000000, 0xBE35B750, 0x708F3912, - 0x3FF2B4B5, 0x8C000000, 0xBE291A70, 0xD5FD9130, - 0x3FF2BE12, 0x3C000000, 0x3E2EE937, 0x0CCF9F73, - 0x3FF2C773, 0xA0000000, 0xBE3C3F0C, 0xD42CF76C, - 0x3FF2D0D9, 0xB0000000, 0x3E35DD54, 0x60763D61, - 0x3FF2DA44, 0x78000000, 0x3E26C418, 0xE7D6AA3B, - 0x3FF2E3B3, 0xF8000000, 0xBE3605C6, 0x6FB9B7A8, - 0x3FF2ED28, 0x2C000000, 0x3E3763D4, 0x24DCDDF5, - 0x3FF2F6A1, 0x20000000, 0xBE1A411E, 0xA8EC1AA8, - 0x3FF3001E, 0xD0000000, 0xBE23FCA1, 0x1FE8546F, - 0x3FF309A1, 0x40000000, 0xBE29DF0D, 0x3AAEE75E, - 0x3FF31328, 0x70000000, 0x3E36A5D6, 0x3C2C4206, - 0x3FF31CB4, 0x68000000, 0x3E1B7A3E, 0xB4C979B0, - 0x3FF32645, 0x28000000, 0xBE36157D, 0x706CD593, - 0x3FF32FDA, 0xB0000000, 0xBE39F357, 0x8DA4C646, - 0x3FF33975, 0x04000000, 0xBE3E64DE, 0xD575FE6F, - 0x3FF34314, 0x24000000, 0x3E07F9E3, 0x44D008E0, - 0x3FF34CB8, 0x18000000, 0xBE2E94F9, 0x5A563E77, - 0x3FF35660, 0xDC000000, 0x3E314DC2, 0x2475EF19, - 0x3FF3600E, 0x78000000, 0x3E26D623, 0xA33AC606, - 0x3FF369C0, 0xEC000000, 0x3E170F86, 0xC05B3160, - 0x3FF37378, 0x3C000000, 0xBE38DDFE, 0xDB0AE31A, - 0x3FF37D34, 0x64000000, 0x3E3662A9, 0x5706B570, - 0x3FF386F5, 0x70000000, 0xBE1625E4, 0x6770731E, - 0x3FF390BB, 0x5C000000, 0xBE1678F1, 0x62971091, - 0x3FF39A86, 0x2C000000, 0xBE061F7C, 0xD045CB0C, - 0x3FF3A455, 0xE4000000, 0xBE35CF51, 0x568B1CA2, - 0x3FF3AE2A, 0x84000000, 0xBE378185, 0x7FB61F58, - 0x3FF3B804, 0x0C000000, 0x3E3F77F4, 0x4FA133AF, - 0x3FF3C1E2, 0x88000000, 0xBE22F96A, 0xB00B73FE, - 0x3FF3CBC5, 0xF0000000, 0x3E351A64, 0x1EB4CE2F, - 0x3FF3D5AE, 0x50000000, 0xBE3D3516, 0xD3755639, - 0x3FF3DF9B, 0xA0000000, 0x3E1CD938, 0x43E8C10E, - 0x3FF3E98D, 0xEC000000, 0xBE35EE23, 0x455C8842, - 0x3FF3F385, 0x30000000, 0xBE29B282, 0x96C9F4ED, - 0x3FF3FD81, 0x70000000, 0x3E24A40E, 0x3168CC0B, - 0x3FF40782, 0xB0000000, 0x3E3784BC, 0x86C72839, - 0x3FF41188, 0xF4000000, 0x3E061F19, 0x0785D847, - 0x3FF41B94, 0x3C000000, 0xBE27AEF2, 0xE654A9C9, - 0x3FF425A4, 0x88000000, 0x3E33DFC3, 0xF9E4C1BA, - 0x3FF42FB9, 0xE0000000, 0x3E2455A8, 0x593D0C75, - 0x3FF439D4, 0x44000000, 0xBDE41D4E, 0x238B65D1, - 0x3FF443F3, 0xB4000000, 0x3E3BE616, 0x454CBECB, - 0x3FF44E18, 0x38000000, 0x3E207B3C, 0x931C5332, - 0x3FF45841, 0xD0000000, 0xBE330846, 0x7615DCC9, - 0x3FF46270, 0x7C000000, 0xBE2A8A7B, 0xE497F84E, - 0x3FF46CA4, 0x40000000, 0x3E020B50, 0xF737AF78, - 0x3FF476DD, 0x20000000, 0x3E116B19, 0xE34AFBD3, - 0x3FF4811B, 0x20000000, 0xBE3E15A7, 0x841EDB52, - 0x3FF48B5E, 0x3C000000, 0x3E0F40C3, 0x33B3DE1E, - 0x3FF495A6, 0x7C000000, 0x3E33607F, 0x92EFEE02, - 0x3FF49FF3, 0xE4000000, 0xBE1A2DB5, 0x14F7E168, - 0x3FF4AA46, 0x70000000, 0x3E3F59EC, 0x3EBA1C94, - 0x3FF4B49E, 0x2C000000, 0xBE31A539, 0x8B9AE885, - 0x3FF4BEFB, 0x10000000, 0x3E2FAC0B, 0xF13C8C95, - 0x3FF4C95D, 0x28000000, 0xBE32C0BB, 0xF8B74775, - 0x3FF4D3C4, 0x70000000, 0xBE2FC24E, 0x4F9474BB, - 0x3FF4DE30, 0xEC000000, 0x3E008F30, 0x09DA911F, - 0x3FF4E8A2, 0xA0000000, 0x3E2994C1, 0xBAF8D98B, - 0x3FF4F319, 0x90000000, 0xBE17C38C, 0x18648D0A, - 0x3FF4FD95, 0xBC000000, 0xBE288852, 0xF22F8698, - 0x3FF50817, 0x28000000, 0xBE3C3EC3, 0x30A2C153, - 0x3FF5129D, 0xD4000000, 0xBE27B606, 0x968492AA, - 0x3FF51D29, 0xC4000000, 0x3E2E0396, 0x61101629, - 0x3FF527BA, 0xFC000000, 0x3E3E876F, 0xDAEEAB38, - 0x3FF53251, 0x80000000, 0x3E29F59E, 0xED945B30, - 0x3FF53CED, 0x50000000, 0x3E12D7DA, 0x0B4AE3F1, - 0x3FF5478E, 0x70000000, 0xBE2FAFB8, 0x5FB946D0, - 0x3FF55234, 0xE0000000, 0xBE18A8B3, 0x87D80C66, - 0x3FF55CE0, 0xA4000000, 0x3E28B18F, 0x764CF85C, - 0x3FF56791, 0xC0000000, 0x3E326017, 0x2BDBC6F4, - 0x3FF57248, 0x38000000, 0xBE229F98, 0x53D523FE, - 0x3FF57D04, 0x0C000000, 0xBE3BDD08, 0x4D9B8720, - 0x3FF587C5, 0x3C000000, 0x3E169EBC, 0x09D8749E, - 0x3FF5928B, 0xD0000000, 0x3E190C8C, 0x339C2080, - 0x3FF59D57, 0xC8000000, 0x3E310FA4, 0xDE75E9CA, - 0x3FF5A829, 0x28000000, 0x3E313D18, 0x1097F186, - 0x3FF5B2FF, 0xF4000000, 0xBE2BDE04, 0xD51C23F6, - 0x3FF5BDDC, 0x28000000, 0x3E3EE67E, 0x8938C386, - 0x3FF5C8BD, 0xD0000000, 0x3E0973B8, 0x47DF6575, - 0x3FF5D3A4, 0xE8000000, 0x3E24DF02, 0x1DB97781, - 0x3FF5DE91, 0x78000000, 0xBE3FBA00, 0xAC4AECDC, - 0x3FF5E983, 0x7C000000, 0xBE2F37AF, 0x939F646A, - 0x3FF5F47A, 0xFC000000, 0xBE396DEF, 0x58A6EEE9, - 0x3FF5FF77, 0xF8000000, 0xBE315248, 0xE3613C7B, - 0x3FF60A7A, 0x74000000, 0xBE26A9E2, 0xF1553706, - 0x3FF61582, 0x74000000, 0xBE3B6BF6, 0xAE4D7CB6, - 0x3FF6208F, 0xF8000000, 0xBE35775B, 0x9EB5EBA5, - 0x3FF62BA3, 0x04000000, 0xBE2A821B, 0xC1E43506, - 0x3FF636BB, 0x9C000000, 0xBE367CDA, 0x7B2D8CF4, - 0x3FF641D9, 0xC0000000, 0xBE13218B, 0x3E907A1D, - 0x3FF64CFD, 0x74000000, 0x3E3454EE, 0x7BF5DFE4, - 0x3FF65826, 0xC0000000, 0xBE3E960F, 0x6366C5FD, - 0x3FF66355, 0x9C000000, 0x3E2E378F, 0x8B43C17E, - 0x3FF66E8A, 0x14000000, 0x3E244BE0, 0xA4306535, - 0x3FF679C4, 0x28000000, 0xBDE4B6C1, 0x8DF63D6E, - 0x3FF68503, 0xD8000000, 0x3E3BA122, 0xE6A239CF, - 0x3FF69049, 0x2C000000, 0x3E27F286, 0x59FB5F30, - 0x3FF69B94, 0x24000000, 0xBE044041, 0x971D3970 } }; - -static const union { - int4 i[2048]; - double x[1024]; -} fine = { .i = { - 0x3FF00000, 0x00000000, 0x00000000, 0x00000000, - 0x3FF00004, 0x00000000, 0x3DA00001, 0x55556AAB, - 0x3FF00008, 0x00000000, 0x3DC00002, 0xAAAB0000, - 0x3FF0000C, 0x00000000, 0x3DD20004, 0x8000D800, - 0x3FF00010, 0x00000000, 0x3DE00005, 0x5556AAAB, - 0x3FF00014, 0x00000000, 0x3DE9000A, 0x6AADEC01, - 0x3FF00018, 0x00000000, 0x3DF20009, 0x00036001, - 0x3FF0001C, 0x00000000, 0x3DF8800E, 0x4AB0EB58, - 0x3FF00020, 0x00000000, 0x3E00000A, 0xAAB00002, - 0x3FF00024, 0x00000000, 0x3E04400F, 0x30088B04, - 0x3FF00028, 0x00000000, 0x3E090014, 0xD5625AB1, - 0x3FF0002C, 0x00000000, 0x3E0E401B, 0xBABDBB0A, - 0x3FF00030, 0x00000000, 0x3E120012, 0x000D8008, - 0x3FF00034, 0x00000000, 0x3E152016, 0xE2BD42E1, - 0x3FF00038, 0x00000000, 0x3E18801C, 0x956E5812, - 0x3FF0003C, 0x00000000, 0x3E1C2023, 0x2820F599, - 0x3FF00040, 0x00000000, 0x3E200015, 0x556AAABC, - 0x3FF00044, 0x00000000, 0x3E221019, 0x96C5DAD7, - 0x3FF00048, 0x00000000, 0x3E24401E, 0x60222C1F, - 0x3FF0004C, 0x00000000, 0x3E269023, 0xB97FC193, - 0x3FF00050, 0x00000000, 0x3E290029, 0xAADEC034, - 0x3FF00054, 0x00000000, 0x3E2B9030, 0x3C3F4F02, - 0x3FF00058, 0x00000000, 0x3E2E4037, 0x75A196FF, - 0x3FF0005C, 0x00000000, 0x3E30881F, 0xAF82E194, - 0x3FF00060, 0x00000000, 0x3E320024, 0x00360041, - 0x3FF00064, 0x00000000, 0x3E338828, 0xB0EA3F05, - 0x3FF00068, 0x00000000, 0x3E35202D, 0xC59FB661, - 0x3FF0006C, 0x00000000, 0x3E36C833, 0x42567FD5, - 0x3FF00070, 0x00000000, 0x3E388039, 0x2B0EB5E1, - 0x3FF00074, 0x00000000, 0x3E3A483F, 0x83C87407, - 0x3FF00078, 0x00000000, 0x3E3C2046, 0x5083D6C6, - 0x3FF0007C, 0x00000000, 0x3E3E084D, 0x9540FB9E, - 0x3FF00080, 0x04000000, 0xBE3FFFAA, 0xA9FFFEEF, - 0x3FF00084, 0x04000000, 0xBE3DF7A2, 0x693EF962, - 0x3FF00088, 0x04000000, 0xBE3BDF99, 0xA47BD339, - 0x3FF0008C, 0x04000000, 0xBE39B790, 0x57B66AF5, - 0x3FF00090, 0x04000000, 0xBE377F86, 0x7EEE9E14, - 0x3FF00094, 0x04000000, 0xBE35377C, 0x16244916, - 0x3FF00098, 0x04000000, 0xBE32DF71, 0x1957477B, - 0x3FF0009C, 0x04000000, 0xBE307765, 0x848773C2, - 0x3FF000A0, 0x04000000, 0xBE2BFEB2, 0xA7694ED3, - 0x3FF000A4, 0x04000000, 0xBE26EE99, 0x05BD75E2, - 0x3FF000A8, 0x04000000, 0xBE21BE7E, 0x1C0B0BB1, - 0x3FF000AC, 0x04000000, 0xBE18DCC3, 0xC4A37A79, - 0x3FF000B0, 0x04000000, 0xBE0BF911, 0x4244D60F, - 0x3FF000B4, 0x04000000, 0xBDE6E255, 0xEC91D848, - 0x3FF000B8, 0x04000000, 0x3E0107EB, 0xEC1B8F0C, - 0x3FF000BC, 0x04000000, 0x3E142439, 0x89BE52AA, - 0x3FF000C0, 0x04000000, 0x3E200240, 0x06C01033, - 0x3FF000C4, 0x04000000, 0x3E261264, 0xC8A9F760, - 0x3FF000C8, 0x04000000, 0x3E2C428B, 0x129D3FDE, - 0x3FF000CC, 0x04000000, 0x3E314959, 0x764D2658, - 0x3FF000D0, 0x04000000, 0x3E34816E, 0x2F50C16C, - 0x3FF000D4, 0x04000000, 0x3E37C983, 0xB859A4AB, - 0x3FF000D8, 0x04000000, 0x3E3B219A, 0x15680499, - 0x3FF000DC, 0x04000000, 0x3E3E89B1, 0x4A7C16B5, - 0x3FF000E0, 0x08000000, 0xBE3DFE36, 0xA469EE7E, - 0x3FF000E4, 0x08000000, 0xBE3A761D, 0xB349D37F, - 0x3FF000E8, 0x08000000, 0xBE36DE03, 0xDE235FCD, - 0x3FF000EC, 0x08000000, 0xBE3335E9, 0x20F659E6, - 0x3FF000F0, 0x08000000, 0xBE2EFB9A, 0xEF850E8F, - 0x3FF000F4, 0x08000000, 0xBE276B61, 0xBD0F58E2, - 0x3FF000F8, 0x08000000, 0xBE1F764D, 0x45163381, - 0x3FF000FC, 0x08000000, 0xBE0FABA6, 0x5FDF589A, - 0x3FF00100, 0x08000000, 0x3D8555AA, 0xABBBBE94, - 0x3FF00104, 0x08000000, 0x3E102B2C, 0xDABB690B, - 0x3FF00108, 0x08000000, 0x3E2045D9, 0x7820FBA0, - 0x3FF0010C, 0x08000000, 0x3E28961E, 0x92F54742, - 0x3FF00110, 0x08000000, 0x3E308332, 0xE2ED8E39, - 0x3FF00114, 0x08000000, 0x3E34CB57, 0x8C698119, - 0x3FF00118, 0x08000000, 0x3E39237D, 0x49EEC0C4, - 0x3FF0011C, 0x08000000, 0x3E3D8BA4, 0x1F7D92BC, - 0x3FF00120, 0x0C000000, 0xBE3DFC33, 0xEEE9C27D, - 0x3FF00124, 0x0C000000, 0xBE39740A, 0xDD46F763, - 0x3FF00128, 0x0C000000, 0xBE34DBE0, 0xA799C375, - 0x3FF0012C, 0x0C000000, 0xBE3033B5, 0x49E1DD2F, - 0x3FF00130, 0x0C000000, 0xBE26F711, 0x803DF41F, - 0x3FF00134, 0x0C000000, 0xBE1ACD6C, 0x19433A4C, - 0x3FF00138, 0x0C000000, 0xBDFDB2C1, 0x8770E36F, - 0x3FF0013C, 0x0C000000, 0x3E086820, 0x6B74A43E, - 0x3FF00140, 0x0C000000, 0x3E200A6A, 0xDEC0D058, - 0x3FF00144, 0x0C000000, 0x3E2A1AD0, 0x22BD7872, - 0x3FF00148, 0x0C000000, 0x3E32259B, 0xF769E132, - 0x3FF0014C, 0x0C000000, 0x3E374DD1, 0x2582289A, - 0x3FF00150, 0x0C000000, 0x3E3C8607, 0x9FA7E4F4, - 0x3FF00154, 0x10000000, 0xBE3E31C0, 0x9624963C, - 0x3FF00158, 0x10000000, 0xBE38D987, 0x77E2F472, - 0x3FF0015C, 0x10000000, 0xBE33714D, 0x0192E02C, - 0x3FF00160, 0x10000000, 0xBE2BF222, 0x5E6805CB, - 0x3FF00164, 0x10000000, 0xBE20E1A7, 0xF98C0A34, - 0x3FF00168, 0x10000000, 0xBE06C4AB, 0x32447238, - 0x3FF0016C, 0x10000000, 0x3E067D54, 0xC225D8C1, - 0x3FF00170, 0x10000000, 0x3E210FD8, 0x05C4630F, - 0x3FF00174, 0x10000000, 0x3E2CA05D, 0xBB206115, - 0x3FF00178, 0x10000000, 0x3E342873, 0x2C4F14A6, - 0x3FF0017C, 0x10000000, 0x3E3A10B8, 0xF31F3B5E, - 0x3FF00180, 0x14000000, 0xBE3FF6FF, 0xC9FEFCC9, - 0x3FF00184, 0x14000000, 0xBE39EEB7, 0x070B344A, - 0x3FF00188, 0x14000000, 0xBE33D66C, 0xC0050AA2, - 0x3FF0018C, 0x14000000, 0xBE2B5C41, 0xE1D83C97, - 0x3FF00190, 0x14000000, 0xBE1DD74E, 0x57003305, - 0x3FF00194, 0x14000000, 0xBDF2D84A, 0xA80727F1, - 0x3FF00198, 0x14000000, 0x3E14AB2F, 0x534C5401, - 0x3FF0019C, 0x14000000, 0x3E27263B, 0xD875DE83, - 0x3FF001A0, 0x14000000, 0x3E320B71, 0x9FB782CA, - 0x3FF001A4, 0x14000000, 0x3E3893C6, 0xF349371F, - 0x3FF001A8, 0x14000000, 0x3E3F2C1D, 0xEAF074C6, - 0x3FF001AC, 0x18000000, 0xBE3A2B89, 0x75525ABC, - 0x3FF001B0, 0x18000000, 0xBE33732F, 0x297ECCE2, - 0x3FF001B4, 0x18000000, 0xBE2955A6, 0x5B28EC49, - 0x3FF001B8, 0x18000000, 0xBE1749D5, 0xF64BA7FD, - 0x3FF001BC, 0x18000000, 0x3DF15E9E, 0xA8645141, - 0x3FF001C0, 0x18000000, 0x3E201C96, 0x1D6F0B37, - 0x3FF001C4, 0x18000000, 0x3E2E2D5B, 0xE6028E39, - 0x3FF001C8, 0x18000000, 0x3E362F12, 0x9B63FA1E, - 0x3FF001CC, 0x18000000, 0x3E3D5779, 0x0BE01026, - 0x3FF001D0, 0x1C000000, 0xBE3B701E, 0xB78A0445, - 0x3FF001D4, 0x1C000000, 0xBE3427B4, 0xAAD9CF9D, - 0x3FF001D8, 0x1C000000, 0xBE299E91, 0x941DBAB5, - 0x3FF001DC, 0x1C000000, 0xBE159B6C, 0x44A2DFDD, - 0x3FF001E0, 0x1C000000, 0x3E008CA4, 0x1EC8B89C, - 0x3FF001E4, 0x1C000000, 0x3E23340B, 0xF1EE0E9A, - 0x3FF001E8, 0x1C000000, 0x3E313279, 0x5231913C, - 0x3FF001EC, 0x1C000000, 0x3E38DAEE, 0x93892E68, - 0x3FF001F0, 0x20000000, 0xBE3F6C9A, 0x3F01A6A8, - 0x3FF001F4, 0x20000000, 0xBE37A421, 0x216E726C, - 0x3FF001F8, 0x20000000, 0xBE2F974C, 0x1F7970B9, - 0x3FF001FC, 0x20000000, 0xBE1F8CA4, 0x17AFEBC8, - 0x3FF00200, 0x20000000, 0x3DB55600, 0x04445B06, - 0x3FF00204, 0x20000000, 0x3E203BAE, 0x0C290A26, - 0x3FF00208, 0x20000000, 0x3E30365A, 0x104547BD, - 0x3FF0020C, 0x20000000, 0x3E385EDF, 0x22970DE3, - 0x3FF00210, 0x24000000, 0xBE3F6899, 0xBEF5A5F4, - 0x3FF00214, 0x24000000, 0xBE372010, 0x90605040, - 0x3FF00218, 0x24000000, 0xBE2D8F0A, 0x9B50D8EE, - 0x3FF0021C, 0x24000000, 0xBE197BDF, 0xCB35D444, - 0x3FF00220, 0x24000000, 0x3E00CCBC, 0x2188E3D5, - 0x3FF00224, 0x24000000, 0x3E254452, 0x36A79F6A, - 0x3FF00228, 0x24000000, 0x3E333ABC, 0xD69B2D28, - 0x3FF0022C, 0x24000000, 0x3E3BE352, 0xBA07BE5B, - 0x3FF00230, 0x28000000, 0xBE3B6415, 0x3665F227, - 0x3FF00234, 0x28000000, 0xBE329B7A, 0xF6AD58D5, - 0x3FF00238, 0x28000000, 0xBE2385BD, 0x059BD24A, - 0x3FF0023C, 0x28000000, 0xBDEB47FA, 0xD8E2B1B4, - 0x3FF00240, 0x28000000, 0x3E203CC2, 0x22CF60F6, - 0x3FF00244, 0x28000000, 0x3E312704, 0x39BEF87F, - 0x3FF00248, 0x28000000, 0x3E3A3FA9, 0xA63F5309, - 0x3FF0024C, 0x2C000000, 0xBE3C97AE, 0xA516AE5E, - 0x3FF00250, 0x2C000000, 0xBE335F04, 0xA442792A, - 0x3FF00254, 0x2C000000, 0xBE242CB0, 0xA686F3A2, - 0x3FF00258, 0x2C000000, 0xBDE7B535, 0xC3237903, - 0x3FF0025C, 0x2C000000, 0x3E21560E, 0x9E7A6CF7, - 0x3FF00260, 0x2C000000, 0x3E3223BA, 0xA8C01385, - 0x3FF00264, 0x2C000000, 0x3E3BAC70, 0x627012DF, - 0x3FF00268, 0x30000000, 0xBE3ABAD7, 0x7FB232EA, - 0x3FF0026C, 0x30000000, 0xBE31121C, 0xF9A6244B, - 0x3FF00270, 0x30000000, 0xBE1D6580, 0x1DAC9AE4, - 0x3FF00274, 0x30000000, 0x3E037AFA, 0xD7FB0AC3, - 0x3FF00278, 0x30000000, 0x3E289042, 0x633420EB, - 0x3FF0027C, 0x30000000, 0x3E3630E5, 0x8065842A, - 0x3FF00280, 0x34000000, 0xBE3FD653, 0xB49DA4FF, - 0x3FF00284, 0x34000000, 0xBE35CD8A, 0x696ECB76, - 0x3FF00288, 0x34000000, 0xBE27697D, 0x341A9D63, - 0x3FF0028C, 0x34000000, 0xBDF8BF04, 0x2788D238, - 0x3FF00290, 0x34000000, 0x3E2159C1, 0x42A03782, - 0x3FF00294, 0x34000000, 0x3E32F5B4, 0x154D4F89, - 0x3FF00298, 0x34000000, 0x3E3D4E8A, 0x1D7FB2C1, - 0x3FF0029C, 0x38000000, 0xBE38489D, 0x42181508, - 0x3FF002A0, 0x38000000, 0xBE2B9F84, 0x0AF2C28C, - 0x3FF002A4, 0x38000000, 0xBE0A3721, 0x451C5357, - 0x3FF002A8, 0x38000000, 0x3E1D47F1, 0x61A8605E, - 0x3FF002AC, 0x38000000, 0x3E31FADF, 0x81B02FCF, - 0x3FF002B0, 0x38000000, 0x3E3CB3C5, 0x572F674A, - 0x3FF002B4, 0x3C000000, 0xBE388352, 0x231795EA, - 0x3FF002B8, 0x3C000000, 0xBE2B54CD, 0xD248367A, - 0x3FF002BC, 0x3C000000, 0xBE060BC7, 0xB7ABD90D, - 0x3FF002C0, 0x3C000000, 0x3E206EEF, 0x6EE9F1EF, - 0x3FF002C4, 0x3C000000, 0x3E33406B, 0x261BF09E, - 0x3FF002C8, 0x3C000000, 0x3E3E5961, 0x59001C60, - 0x3FF002CC, 0x40000000, 0xBE367DA5, 0xABDDD232, - 0x3FF002D0, 0x40000000, 0xBE268953, 0xC8FA5113, - 0x3FF002D4, 0x40000000, 0x3D9152CC, 0x8B33A701, - 0x3FF002D8, 0x40000000, 0x3E26BAAC, 0x3E058570, - 0x3FF002DC, 0x40000000, 0x3E36C65A, 0x63236E71, - 0x3FF002E0, 0x44000000, 0xBE3DC09E, 0x7C7A795C, - 0x3FF002E4, 0x44000000, 0xBE323794, 0x7BD63D1D, - 0x3FF002E8, 0x44000000, 0xBE1A7A1E, 0x5BBC9105, - 0x3FF002EC, 0x44000000, 0x3E142A20, 0xD8EE2B1B, - 0x3FF002F0, 0x44000000, 0x3E30C39A, 0xEFAA8A8D, - 0x3FF002F4, 0x44000000, 0x3E3C8CB0, 0x995E96A2, - 0x3FF002F8, 0x48000000, 0xBE379A36, 0xC8A79469, - 0x3FF002FC, 0x48000000, 0xBE276236, 0x64CE7203, - 0x3FF00300, 0x48000000, 0x3DD200D8, 0x0819DA68, - 0x3FF00304, 0x48000000, 0x3E28A249, 0xE5E018D4, - 0x3FF00308, 0x48000000, 0x3E386A49, 0x8A087692, - 0x3FF0030C, 0x4C000000, 0xBE3B6C8E, 0xD695988B, - 0x3FF00310, 0x4C000000, 0xBE2E66C8, 0x55D2BCBA, - 0x3FF00314, 0x4C000000, 0xBE0751B3, 0x7790BA7A, - 0x3FF00318, 0x4C000000, 0x3E22DDF4, 0xC2A20261, - 0x3FF0031C, 0x4C000000, 0x3E35D82E, 0x49E0B0B5, - 0x3FF00320, 0x50000000, 0xBE3DAE9A, 0xB142422E, - 0x3FF00324, 0x50000000, 0xBE312560, 0x8C170FE6, - 0x3FF00328, 0x50000000, 0xBE12308D, 0x0A73BF77, - 0x3FF0032C, 0x50000000, 0x3E203A3A, 0x5E59CEFA, - 0x3FF00330, 0x50000000, 0x3E34D660, 0xCD4740BF, - 0x3FF00334, 0x54000000, 0xBE3E6058, 0x644D1883, - 0x3FF00338, 0x54000000, 0xBE31870E, 0x618F57B6, - 0x3FF0033C, 0x54000000, 0xBE127704, 0x99FABD0F, - 0x3FF00340, 0x54000000, 0x3E20B71E, 0xA1CB5ECF, - 0x3FF00344, 0x54000000, 0x3E3564E3, 0x089E93E1, - 0x3FF00348, 0x58000000, 0xBE3D81C5, 0xFB533142, - 0x3FF0034C, 0x58000000, 0xBE30586B, 0xB6EECE6C, - 0x3FF00350, 0x58000000, 0xBE08F871, 0x319B883E, - 0x3FF00354, 0x58000000, 0x3E2454A5, 0x75BF7503, - 0x3FF00358, 0x58000000, 0x3E3783B6, 0xF04B88C5, - 0x3FF0035C, 0x5C000000, 0xBE3B12E1, 0x81EF30A7, - 0x3FF00360, 0x5C000000, 0xBE2B32ED, 0x2F9F3657, - 0x3FF00364, 0x5C000000, 0xBDB0084D, 0x54DF31BC, - 0x3FF00368, 0x5C000000, 0x3E2B12D2, 0xC303B7B9, - 0x3FF0036C, 0x5C000000, 0x3E3B32DE, 0x78B56F97, - 0x3FF00370, 0x60000000, 0xBE3713A9, 0x03B9496C, - 0x3FF00374, 0x60000000, 0xBE22945A, 0x1F92E726, - 0x3FF00378, 0x60000000, 0x3E123D49, 0x621736DF, - 0x3FF0037C, 0x60000000, 0x3E3278D5, 0x3935580D, - 0x3FF00380, 0x64000000, 0xBE3F8DA4, 0x69B9F5FB, - 0x3FF00384, 0x64000000, 0xBE31841A, 0x8C473CC8, - 0x3FF00388, 0x64000000, 0xBE0B5469, 0x538CDE07, - 0x3FF0038C, 0x64000000, 0x3E257E07, 0x7F8F9D65, - 0x3FF00390, 0x64000000, 0x3E38F898, 0x3665E52B, - 0x3FF00394, 0x68000000, 0xBE38BDCF, 0xC29674BD, - 0x3FF00398, 0x68000000, 0xBE24C868, 0x4E58B4D9, - 0x3FF0039C, 0x68000000, 0x3E1015AC, 0x329466D7, - 0x3FF003A0, 0x68000000, 0x3E327F0D, 0xDCDECE44, - 0x3FF003A4, 0x6C000000, 0xBE3EF74B, 0xB27E5528, - 0x3FF003A8, 0x6C000000, 0xBE305DA1, 0x9D7167F2, - 0x3FF003AC, 0x6C000000, 0xBDFB3F3D, 0xFF980820, - 0x3FF003B0, 0x6C000000, 0x3E2A0B7B, 0x13D49789, - 0x3FF003B4, 0x6C000000, 0x3E3BCF72, 0xA43AE87C, - 0x3FF003B8, 0x70000000, 0xBE3556D4, 0x8D06BDC0, - 0x3FF003BC, 0x70000000, 0xBE19B460, 0x1766E54D, - 0x3FF003C0, 0x70000000, 0x3E211950, 0x7B85C8BA, - 0x3FF003C4, 0x70000000, 0x3E37966C, 0x41D00AED, - 0x3FF003C8, 0x74000000, 0xBE394FCB, 0xF5B15507, - 0x3FF003CC, 0x74000000, 0xBE244C00, 0xC98093C4, - 0x3FF003D0, 0x74000000, 0x3E144F3B, 0xE2907BDF, - 0x3FF003D4, 0x74000000, 0x3E345DA2, 0x267CD924, - 0x3FF003D8, 0x78000000, 0xBE3C4886, 0xD73526C0, - 0x3FF003DC, 0x78000000, 0xBE29BD57, 0xF8E1D62E, - 0x3FF003E0, 0x78000000, 0x3E04D995, 0xD65415E1, - 0x3FF003E4, 0x78000000, 0x3E322515, 0x527E1A58, - 0x3FF003E8, 0x7C000000, 0xBE3E4104, 0x31552BA5, - 0x3FF003EC, 0x7C000000, 0xBE2D2E33, 0x995CAB3B, - 0x3FF003F0, 0x7C000000, 0x3DF22D48, 0x473970DC, - 0x3FF003F4, 0x7C000000, 0x3E30ECC6, 0xC61195FC, - 0x3FF003F8, 0x80000000, 0xBE3F3943, 0x03D35C34, - 0x3FF003FC, 0x80000000, 0xBE2E9E91, 0xAA7483C7, - 0x3FF00400, 0x80000000, 0x3DE556AA, 0xBBBC71CE, - 0x3FF00404, 0x80000000, 0x3E30B4B7, 0x817613C1, - 0x3FF00408, 0x84000000, 0xBE3F3142, 0x4E70B0AC, - 0x3FF0040C, 0x84000000, 0xBE2E0E70, 0x2BAAD02F, - 0x3FF00410, 0x84000000, 0x3DF32D62, 0xF48F01F2, - 0x3FF00414, 0x84000000, 0x3E317CE8, 0x84EB5B98, - 0x3FF00418, 0x88000000, 0xBE3E2901, 0x10ED210B, - 0x3FF0041C, 0x88000000, 0xBE2B7DCD, 0x1C7F0051, - 0x3FF00420, 0x88000000, 0x3E05D9C0, 0x87AA2706, - 0x3FF00424, 0x88000000, 0x3E33455A, 0xD0B235B3, - 0x3FF00428, 0x8C000000, 0xBE3C207E, 0x4B07A510, - 0x3FF0042C, 0x8C000000, 0xBE26ECA6, 0x7C6E838B, - 0x3FF00430, 0x8C000000, 0x3E150F6F, 0xEC91A8D5, - 0x3FF00434, 0x8C000000, 0x3E360E0F, 0x650C6A83, - 0x3FF00438, 0x90000000, 0xBE3917B8, 0xFC7E3439, - 0x3FF0043C, 0x90000000, 0xBE205AFA, 0x4AF4C8B6, - 0x3FF00440, 0x90000000, 0x3E219985, 0xDC31D181, - 0x3FF00444, 0x90000000, 0x3E39D707, 0x423CC2BE, - 0x3FF00448, 0x94000000, 0xBE350EB0, 0x250DC5BF, - 0x3FF0044C, 0x94000000, 0xBE0F231A, 0x1E2CF893, - 0x3FF00450, 0x94000000, 0x3E2AABDB, 0xD42C92D4, - 0x3FF00454, 0x94000000, 0x3E3EA043, 0x6887075B, - 0x3FF00458, 0x98000000, 0xBE300562, 0xC472509B, - 0x3FF0045C, 0x98000000, 0x3DF64FB6, 0x72B572E0, - 0x3FF00460, 0x98000000, 0x3E32DF5D, 0xEF61155C, - 0x3FF00464, 0x9C000000, 0xBE3B963B, 0x27CFFE6A, - 0x3FF00468, 0x9C000000, 0xBE23F79F, 0xB4CD96FE, - 0x3FF0046C, 0x9C000000, 0x3E1EBA7F, 0x6E771F13, - 0x3FF00470, 0x9C000000, 0x3E396913, 0xFE3ED608, - 0x3FF00474, 0xA0000000, 0xBE34CC73, 0x6E82850F, - 0x3FF00478, 0xA0000000, 0xBE078FB3, 0x352966B7, - 0x3FF0047C, 0xA0000000, 0x3E2DF116, 0x33AFF8AE, - 0x3FF00480, 0xA4000000, 0xBE3F0CEE, 0xE909EADD, - 0x3FF00484, 0xA4000000, 0xBE2A04C8, 0xD6938597, - 0x3FF00488, 0xA4000000, 0x3E1460AA, 0x5C6654D8, - 0x3FF0048C, 0xA4000000, 0x3E3742BE, 0x22213ECF, - 0x3FF00490, 0xA8000000, 0xBE3682A9, 0xC631A356, - 0x3FF00494, 0xA8000000, 0xBE10E034, 0x7777B644, - 0x3FF00498, 0xA8000000, 0x3E2C4528, 0x3E3B0991, - 0x3FF0049C, 0xAC000000, 0xBE3F72C6, 0x0B3E269F, - 0x3FF004A0, 0xAC000000, 0xBE29F037, 0x31DF923B, - 0x3FF004A4, 0xAC000000, 0x3E164A4D, 0xE82713DE, - 0x3FF004A8, 0xAC000000, 0x3E382D47, 0x31AFAC4B, - 0x3FF004AC, 0xB0000000, 0xBE352800, 0x6DFCE978, - 0x3FF004B0, 0xB0000000, 0xBE036A1B, 0x07D68D27, - 0x3FF004B4, 0xB0000000, 0x3E305D7E, 0x5CB71F6F, - 0x3FF004B8, 0xB4000000, 0xBE3CC7BB, 0x30E5E990, - 0x3FF004BC, 0xB4000000, 0xBE23B9E0, 0x0BA17DEA, - 0x3FF004C0, 0xB4000000, 0x3E223BBF, 0xC3EF9BD8, - 0x3FF004C4, 0xB4000000, 0x3E3C28B4, 0x8A74ECC0, - 0x3FF004C8, 0xB8000000, 0xBE30BC72, 0x085831CA, - 0x3FF004CC, 0xB8000000, 0x3E037361, 0x6C8D1FC8, - 0x3FF004D0, 0xB8000000, 0x3E35A94F, 0x3033A0B8, - 0x3FF004D4, 0xBC000000, 0xBE370BC8, 0xFC7107DE, - 0x3FF004D8, 0xBC000000, 0xBE0D86E2, 0xA2D908DA, - 0x3FF004DC, 0xBC000000, 0x3E2F742A, 0x58ED155E, - 0x3FF004E0, 0xC0000000, 0xBE3CCAF4, 0x75FACDD0, - 0x3FF004E4, 0xC0000000, 0xBE227FF2, 0x6F5BE5D3, - 0x3FF004E8, 0xC0000000, 0x3E24B60D, 0xD6BCA827, - 0x3FF004EC, 0xC0000000, 0x3E3E060B, 0xF72B40D6, - 0x3FF004F0, 0xC4000000, 0xBE2C7DD4, 0x208BE3E3, - 0x3FF004F4, 0xC4000000, 0x3E163093, 0x642FDDB8, - 0x3FF004F8, 0xC4000000, 0x3E396738, 0xB72239A5, - 0x3FF004FC, 0xC8000000, 0xBE32ADAE, 0x7201ED9B, - 0x3FF00500, 0xC8000000, 0x3DF4D6F6, 0x1A0C05F3, - 0x3FF00504, 0xC8000000, 0x3E355892, 0x360B8346, - 0x3FF00508, 0xCC000000, 0xBE368C45, 0xF0C06435, - 0x3FF0050C, 0xCC000000, 0xBE0308C8, 0x760DA2F6, - 0x3FF00510, 0xCC000000, 0x3E31DA18, 0xE008D57B, - 0x3FF00514, 0xD0000000, 0xBE39DAB0, 0x205F82F4, - 0x3FF00518, 0xD0000000, 0xBE15FDD0, 0x2FE5E3E3, - 0x3FF0051C, 0xD0000000, 0x3E2DD79A, 0x42787241, - 0x3FF00520, 0xD4000000, 0xBE3C98EC, 0x94BD25F4, - 0x3FF00524, 0xD4000000, 0xBE201B42, 0x53C89D03, - 0x3FF00528, 0xD4000000, 0x3E291B5E, 0xCB901057, - 0x3FF0052C, 0xD8000000, 0xBE3EC6FA, 0xE1B6D837, - 0x3FF00530, 0xD8000000, 0xBE24173F, 0xF8BF49E7, - 0x3FF00534, 0xD8000000, 0x3E257F80, 0x339DDB57, - 0x3FF00538, 0xD8000000, 0x3E3F9B25, 0x64D62C5C, - 0x3FF0053C, 0xDC000000, 0xBE26F2E0, 0x2E913659, - 0x3FF00540, 0xDC000000, 0x3E2303FF, 0x52E7CB93, - 0x3FF00544, 0xDC000000, 0x3E3E8D74, 0xAB0CFEF5, - 0x3FF00548, 0xE0000000, 0xBE28AE22, 0x1CF7FDE6, - 0x3FF0054C, 0xE0000000, 0x3E21A8DD, 0x01B47B93, - 0x3FF00550, 0xE0000000, 0x3E3E0FF3, 0x5D1107E2, - 0x3FF00554, 0xE4000000, 0xBE294904, 0xEBAC99E1, - 0x3FF00558, 0xE4000000, 0x3E216E1A, 0x184B2814, - 0x3FF0055C, 0xE4000000, 0x3E3E22A1, 0xE706008B, - 0x3FF00560, 0xE8000000, 0xBE28C387, 0xC267616A, - 0x3FF00564, 0xE8000000, 0x3E2253B7, 0x6EF3B008, - 0x3FF00568, 0xE8000000, 0x3E3EC580, 0xB50FF371, - 0x3FF0056C, 0xEC000000, 0xBE271DA9, 0xC8E0096B, - 0x3FF00570, 0xEC000000, 0x3E2459B5, 0xDDF69498, - 0x3FF00574, 0xEC000000, 0x3E3FF890, 0x33533C31, - 0x3FF00578, 0xF0000000, 0xBE24576A, 0x26CDA497, - 0x3FF0057C, 0xF0000000, 0x3E278016, 0x3D9CF923, - 0x3FF00580, 0xF4000000, 0xBE3E442F, 0x320B787B, - 0x3FF00584, 0xF4000000, 0xBE2070C8, 0x03E6A36B, - 0x3FF00588, 0xF4000000, 0x3E2BC6D9, 0x6630A33F, - 0x3FF0058C, 0xF8000000, 0xBE3BF0BD, 0x0EE72CBF, - 0x3FF00590, 0xF8000000, 0xBE16D385, 0x0FC1A853, - 0x3FF00594, 0xF8000000, 0x3E309700, 0x17FDFD5D, - 0x3FF00598, 0xFC000000, 0xBE390D18, 0xF71A91AC, - 0x3FF0059C, 0xFC000000, 0xBE050963, 0x69C58B86, - 0x3FF005A0, 0xFC000000, 0x3E33DAC5, 0xB9A504CD, - 0x3FF005A5, 0x00000000, 0xBE359942, 0x7E800734, - 0x3FF005A9, 0x00000000, 0x3DF02BAE, 0xE59934CD, - 0x3FF005AD, 0x00000000, 0x3E37AEBE, 0x04333E0E, - 0x3FF005B1, 0x04000000, 0xBE319539, 0x38F19C2F, - 0x3FF005B5, 0x04000000, 0x3E14DB54, 0xEBB1C157, - 0x3FF005B9, 0x04000000, 0x3E3C12E9, 0x63CED05D, - 0x3FF005BD, 0x08000000, 0xBE2A01F9, 0x74921CAF, - 0x3FF005C1, 0x08000000, 0x3E23F645, 0xC94C85F2, - 0x3FF005C5, 0x0C000000, 0xBE3EF8B7, 0xBB61CBEE, - 0x3FF005C9, 0x0C000000, 0xBE1F7232, 0x597F2931, - 0x3FF005CD, 0x0C000000, 0x3E2E9F48, 0xAF5B7345, - 0x3FF005D1, 0x10000000, 0xBE397424, 0xED37CD5F, - 0x3FF005D5, 0x10000000, 0xBE013F43, 0x08775C6B, - 0x3FF005D9, 0x10000000, 0x3E35345A, 0x0029D3DB, - 0x3FF005DD, 0x14000000, 0xBE335F5D, 0xC58C1962, - 0x3FF005E1, 0x14000000, 0x3E1073C1, 0x47430E04, - 0x3FF005E5, 0x14000000, 0x3E3BA944, 0x4A41E248, - 0x3FF005E9, 0x18000000, 0xBE2974C3, 0xB06E888E, - 0x3FF005ED, 0x18000000, 0x3E25E3FB, 0xDCCD9333, - 0x3FF005F1, 0x1C000000, 0xBE3D519C, 0x5DE27951, - 0x3FF005F5, 0x1C000000, 0xBE1614C2, 0xE4464502, - 0x3FF005F9, 0x1C000000, 0x3E325740, 0xE0DAFE93, - 0x3FF005FD, 0x20000000, 0xBE35BC47, 0x8C1B4C10, - 0x3FF00601, 0x20000000, 0x3E0201B0, 0x20686CE9, - 0x3FF00605, 0x20000000, 0x3E3A4CB9, 0x95558B63, - 0x3FF00609, 0x24000000, 0xBE2B2D79, 0xA880A3EB, - 0x3FF0060D, 0x24000000, 0x3E252BA5, 0x9699EEB7, - 0x3FF00611, 0x28000000, 0xBE3D2D97, 0x880115E1, - 0x3FF00615, 0x28000000, 0xBE1383EF, 0x28A3D788, - 0x3FF00619, 0x28000000, 0x3E337BA6, 0x08D6DC23, - 0x3FF0061D, 0x2C000000, 0xBE3417B2, 0x0B001A08, - 0x3FF00621, 0x2C000000, 0x3E1193EF, 0xF94EB99A, - 0x3FF00625, 0x2C000000, 0x3E3CF1B0, 0x28D3BD3B, - 0x3FF00629, 0x30000000, 0xBE24E32B, 0x0EFCC982, - 0x3FF0062D, 0x30000000, 0x3E2C7655, 0xE2BDA47F, - 0x3FF00631, 0x34000000, 0xBE39080E, 0x689312F8, - 0x3FF00635, 0x34000000, 0xBDCDA0C8, 0xA9444DB4, - 0x3FF00639, 0x34000000, 0x3E38A191, 0x7B21FE23, - 0x3FF0063D, 0x38000000, 0xBE2CE32A, 0x7E67E1E1, - 0x3FF00641, 0x38000000, 0x3E251694, 0x875A71F0, - 0x3FF00645, 0x3C000000, 0xBE3C67CF, 0xF838F455, - 0x3FF00649, 0x3C000000, 0xBE0A571F, 0x77274052, - 0x3FF0064D, 0x3C000000, 0x3E35E20E, 0x63AAEFA8, - 0x3FF00651, 0x40000000, 0xBE30E0F8, 0xFC87DA70, - 0x3FF00655, 0x40000000, 0x3E20D80B, 0xE9089AFD, - 0x3FF00659, 0x44000000, 0xBE3E36F4, 0xC52F03BD, - 0x3FF0065D, 0x44000000, 0xBE1327A4, 0x9680E14E, - 0x3FF00661, 0x44000000, 0x3E34B328, 0xD732468D, - 0x3FF00665, 0x48000000, 0xBE31BFBE, 0xCAB5EF4A, - 0x3FF00669, 0x48000000, 0x3E1F757F, 0xE2A2FBE1, - 0x3FF0066D, 0x4C000000, 0xBE3E757A, 0xDAB014DA, - 0x3FF00671, 0x4C000000, 0xBE12E13D, 0x02FB3FBB, - 0x3FF00675, 0x4C000000, 0x3E3514E2, 0xCA7E298D, - 0x3FF00679, 0x50000000, 0xBE310DE4, 0xB4F78B94, - 0x3FF0067D, 0x50000000, 0x3E21BEB4, 0x89C35D05, - 0x3FF00681, 0x54000000, 0xBE3D2360, 0x43F4895C, - 0x3FF00685, 0x54000000, 0xBE08B0A2, 0x5BC49ADF, - 0x3FF00689, 0x54000000, 0x3E37073E, 0x32573159, - 0x3FF0068D, 0x58000000, 0xBE2D96D1, 0x8D0732D2, - 0x3FF00691, 0x58000000, 0x3E26E3ED, 0x9BF15E67, - 0x3FF00695, 0x5C000000, 0xBE3A40A3, 0x0C3250FB, - 0x3FF00699, 0x5C000000, 0x3DBCC9AE, 0xFD0AE214, - 0x3FF0069D, 0x5C000000, 0x3E3A8A3D, 0x038868A1, - 0x3FF006A1, 0x60000000, 0xBE25F092, 0x151D21CE, - 0x3FF006A5, 0x60000000, 0x3E2F2A6F, 0x11738C43, - 0x3FF006A9, 0x64000000, 0xBE35CD41, 0x3E9CE96D, - 0x3FF006AD, 0x64000000, 0x3E138132, 0x8DBC2918, - 0x3FF006B1, 0x64000000, 0x3E3F9DE1, 0x32DF4C13, - 0x3FF006B5, 0x68000000, 0xBE16520E, 0x3129E0B2, - 0x3FF006B9, 0x68000000, 0x3E35491E, 0x69F36A61, - 0x3FF006BD, 0x6C000000, 0xBE2F9271, 0xCCCABCD4, - 0x3FF006C1, 0x6C000000, 0x3E2668ED, 0x0D59B899, - 0x3FF006C5, 0x70000000, 0xBE39BDD3, 0x4AD435A0, - 0x3FF006C9, 0x70000000, 0x3DF5FE9A, 0x9191CABB, - 0x3FF006CD, 0x70000000, 0x3E3C8DAD, 0x6676850B, - 0x3FF006D1, 0x74000000, 0xBE206910, 0x1D74934A, - 0x3FF006D5, 0x74000000, 0x3E331949, 0x4D886478, - 0x3FF006D9, 0x78000000, 0xBE3188DE, 0x80BFBBC2, - 0x3FF006DD, 0x78000000, 0x3E23CA01, 0x14DE1719, - 0x3FF006E1, 0x7C000000, 0xBE3A9D19, 0x8CE98EC0, - 0x3FF006E5, 0x7C000000, 0x3DEE1A67, 0xA705A6E7, - 0x3FF006E9, 0x7C000000, 0x3E3C8EC6, 0xECD5F851, - 0x3FF006ED, 0x80000000, 0xBE1F0CF9, 0xE839CE4D, - 0x3FF006F1, 0x80000000, 0x3E33FAC3, 0x0C8CA46A, - 0x3FF006F5, 0x84000000, 0xBE303734, 0x7B5703D8, - 0x3FF006F9, 0x84000000, 0x3E274DB5, 0xE490A112, - 0x3FF006FD, 0x88000000, 0xBE386B0E, 0xA693A093, - 0x3FF00701, 0x88000000, 0x3E0C9875, 0xF0B73DAA, - 0x3FF00705, 0x88000000, 0x3E3FA133, 0x2449A944, - 0x3FF00709, 0x8C000000, 0xBE110285, 0xBFE66C14, - 0x3FF0070D, 0x8C000000, 0x3E37ED91, 0x054EDCBD, - 0x3FF00711, 0x90000000, 0xBE27A86A, 0xEFB65924, - 0x3FF00715, 0x90000000, 0x3E307A0B, 0x1C8A0CF1, - 0x3FF00719, 0x94000000, 0xBE3327AD, 0x397FB1D6, - 0x3FF0071D, 0x94000000, 0x3E228D43, 0x1412B9FB, - 0x3FF00721, 0x98000000, 0xBE3A3B08, 0x94D8FFB0, - 0x3FF00725, 0x98000000, 0x3E029AA3, 0x6ED80040, - 0x3FF00729, 0x98000000, 0x3E3EF1B8, 0x9627250A, - 0x3FF0072D, 0x9C000000, 0xBE117F70, 0x5FCB1B09, - 0x3FF00731, 0x9C000000, 0x3E385E96, 0x678F0789, - 0x3FF00735, 0xA0000000, 0xBE25A5DF, 0xCEA3485B, - 0x3FF00739, 0xA0000000, 0x3E320B90, 0xFF6D0303, - 0x3FF0073D, 0xA4000000, 0xBE3105E6, 0xE03334FF, - 0x3FF00741, 0xA4000000, 0x3E27F150, 0xFB9F056D, - 0x3FF00745, 0xA8000000, 0xBE36F8C0, 0xE28905F4, - 0x3FF00749, 0xA8000000, 0x3E189774, 0x0B1407AA, - 0x3FF0074D, 0xAC000000, 0xBE3CAB7D, 0xCE4493C4, - 0x3FF00751, 0xAC000000, 0x3DE265D5, 0xCB817D78, - 0x3FF00755, 0xAC000000, 0x3E3DE1E2, 0x7CA8B4E3, - 0x3FF00759, 0xB0000000, 0xBE12FD89, 0x7D730FC6, - 0x3FF0075D, 0xB0000000, 0x3E38AF60, 0x1E4D7759, - 0x3FF00761, 0xB4000000, 0xBE23A3AC, 0x0CAD84A2, - 0x3FF00765, 0xB4000000, 0x3E33BCFB, 0x36B866FD, - 0x3FF00769, 0xB8000000, 0xBE2D4858, 0x4D0667A1, - 0x3FF0076D, 0xB8000000, 0x3E2E1567, 0xCBF08E6A, - 0x3FF00771, 0xBC000000, 0xBE333664, 0x9FD34D05, - 0x3FF00775, 0xBC000000, 0x3E253114, 0x9837D6E0, - 0x3FF00779, 0xC0000000, 0xBE37887F, 0x5238327D, - 0x3FF0077D, 0xC0000000, 0x3E1999FA, 0x24C8DC90, - 0x3FF00781, 0xC4000000, 0xBE3B9A7C, 0x1DA2F8BE, - 0x3FF00785, 0xC4000000, 0x3E03A485, 0xEA50EE6A, - 0x3FF00789, 0xC8000000, 0xBE3F6C5A, 0xE204A449, - 0x3FF0078D, 0xC8000000, 0xBDF3D3EF, 0x78D5D0F3, - 0x3FF00791, 0xC8000000, 0x3E3D01E4, 0x80B1D66C, - 0x3FF00795, 0xCC000000, 0xBE12BBC1, 0xD5149796, - 0x3FF00799, 0xCC000000, 0x3E39B042, 0x2A8F92F0, - 0x3FF0079D, 0xD0000000, 0xBE1F820E, 0x6F386487, - 0x3FF007A1, 0xD0000000, 0x3E369EBE, 0x3BA3BCDA, - 0x3FF007A5, 0xD4000000, 0xBE25A3F0, 0x96320652, - 0x3FF007A9, 0xD4000000, 0x3E33CD58, 0xD3FD8FCA, - 0x3FF007AD, 0xD8000000, 0xBE2B069C, 0xC62D40B1, - 0x3FF007B1, 0xD8000000, 0x3E313C12, 0x13AC5766, - 0x3FF007B5, 0xDC000000, 0xBE2FE90B, 0x876F3A0B, - 0x3FF007B9, 0xDC000000, 0x3E2DD5D4, 0x357EDEB8, - 0x3FF007BD, 0xE0000000, 0xBE32259E, 0x4CEC957E, - 0x3FF007C1, 0xE0000000, 0x3E29B3C2, 0x128C86C6, - 0x3FF007C5, 0xE4000000, 0xBE341697, 0xDEA61608, - 0x3FF007C9, 0xE4000000, 0x3E2611ED, 0xFEA09E70, - 0x3FF007CD, 0xE8000000, 0xBE35C772, 0x58D49AE3, - 0x3FF007D1, 0xE8000000, 0x3E22F058, 0x39DA3D42, - 0x3FF007D5, 0xEC000000, 0xBE37382D, 0x9B689043, - 0x3FF007D9, 0xEC000000, 0x3E204F01, 0x04589AD6, - 0x3FF007DD, 0xF0000000, 0xBE3868C9, 0x86525259, - 0x3FF007E1, 0xF0000000, 0x3E1C5BD1, 0x3C761DAC, - 0x3FF007E5, 0xF4000000, 0xBE395945, 0xF9822D4C, - 0x3FF007E9, 0xF4000000, 0x3E191A1E, 0x8F4221F9, - 0x3FF007ED, 0xF8000000, 0xBE3A09A2, 0xD4E85D3A, - 0x3FF007F1, 0xF8000000, 0x3E16D8EA, 0x81547225, - 0x3FF007F5, 0xFC000000, 0xBE3A79DF, 0xF8750E3B, - 0x3FF007F9, 0xFC000000, 0x3E159835, 0x92EC7DE3, - 0x3FF007FE, 0x00000000, 0xBE3AA9FD, 0x44185C5D } }; - -#else -#ifdef LITTLE_ENDI - -static const union { - int i[1424]; - double x[712]; -} coar = { .i = { - 0xC8000000, 0x3FE69A59, 0x6079C9F7, 0x3DF22D4D, - 0xC8000000, 0x3FE6A5A9, 0x25AF6823, 0x3E19882D, - 0x74000000, 0x3FE6B0FF, 0x31DABF59, 0xBE221476, - 0xC8000000, 0x3FE6BC5A, 0x99A2DC0A, 0x3E2312AC, - 0xD0000000, 0x3FE6C7BB, 0xCE9F9355, 0xBE265926, - 0x84000000, 0x3FE6D322, 0x2D298DED, 0x3E2F2C26, - 0xF4000000, 0x3FE6DE8E, 0x1E748D2F, 0xBE2EC28E, - 0x14000000, 0x3FE6EA01, 0xC68CB7E5, 0x3E2D8C6D, - 0xF4000000, 0x3FE6F578, 0x419FE2F0, 0x3DEE1A9E, - 0x90000000, 0x3FE700F6, 0xDEAEAE34, 0xBDFF1AFD, - 0xEC000000, 0x3FE70C79, 0x558B7122, 0xBE0730FE, - 0x0C000000, 0x3FE71803, 0x2D280C3B, 0xBE25CB85, - 0xF0000000, 0x3FE72391, 0x337B7B54, 0xBE06F2CE, - 0x9C000000, 0x3FE72F26, 0x45C02B72, 0x3E289BCA, - 0x18000000, 0x3FE73AC1, 0x5039F1CA, 0xBE18DEA6, - 0x60000000, 0x3FE74661, 0x86CE0538, 0xBE09D090, - 0x78000000, 0x3FE75207, 0xCFCE5DDB, 0x3E290E79, - 0x68000000, 0x3FE75DB3, 0xB249A17C, 0x3DD61DF0, - 0x2C000000, 0x3FE76965, 0xE13445F7, 0x3E2F22F7, - 0xD0000000, 0x3FE7751C, 0x874E75CE, 0xBE2CD454, - 0x4C000000, 0x3FE780DA, 0xDF43E3BC, 0xBE0159CE, - 0xA8000000, 0x3FE78C9D, 0x699A1332, 0x3E279291, - 0xEC000000, 0x3FE79866, 0x2DD98C6C, 0xBE2A0BCD, - 0x10000000, 0x3FE7A436, 0x15AC979E, 0x3E25F375, - 0x20000000, 0x3FE7B00B, 0x2FEAFCF6, 0x3E26CCF5, - 0x1C000000, 0x3FE7BBE6, 0x53ADAD67, 0x3E27D4F4, - 0x08000000, 0x3FE7C7C7, 0x7FBD9566, 0x3E10EEC7, - 0xE4000000, 0x3FE7D3AD, 0x9A831D86, 0x3E2837F0, - 0xB8000000, 0x3FE7DF9A, 0x5CB4C35B, 0xBE129BE0, - 0x80000000, 0x3FE7EB8D, 0x0234F04D, 0x3E23990A, - 0x44000000, 0x3FE7F786, 0x64D5C842, 0x3E2EB807, - 0x08000000, 0x3FE80385, 0x02B4E9E8, 0x3E0FC86F, - 0xCC000000, 0x3FE80F89, 0x7B4274BF, 0xBDD7B5B3, - 0x94000000, 0x3FE81B94, 0xB899B00F, 0xBE16888B, - 0x60000000, 0x3FE827A5, 0x5E94D155, 0x3E288971, - 0x38000000, 0x3FE833BC, 0x099F3E5E, 0x3E2AEEB2, - 0x20000000, 0x3FE83FD9, 0x3FF60B7C, 0xBE23B922, - 0x14000000, 0x3FE84BFC, 0x2DBD8012, 0xBDF7D3B1, - 0x1C000000, 0x3FE85825, 0xA8872BEB, 0xBDF24BA3, - 0x38000000, 0x3FE86454, 0x01AA18A7, 0x3E2EFE04, - 0x70000000, 0x3FE87089, 0x944496A2, 0x3E21986C, - 0xC4000000, 0x3FE87CC4, 0xB71FFAFF, 0x3E096A8B, - 0x38000000, 0x3FE88906, 0xBC4C7AC5, 0xBE21CE0A, - 0xCC000000, 0x3FE8954D, 0xBAC02491, 0xBE076F45, - 0x84000000, 0x3FE8A19B, 0xD922B925, 0x3E2B4FA2, - 0x68000000, 0x3FE8ADEF, 0x641863AF, 0x3DF759DB, - 0x78000000, 0x3FE8BA49, 0xC6AB5E04, 0xBE2DB97C, - 0xB4000000, 0x3FE8C6A9, 0xE2156713, 0xBE25364C, - 0x20000000, 0x3FE8D310, 0x862BEFF7, 0x3E1BEB7C, - 0xC4000000, 0x3FE8DF7C, 0x1CEA33A5, 0xBDF4DD0C, - 0xA0000000, 0x3FE8EBEF, 0x51797D47, 0xBE2537DF, - 0xB4000000, 0x3FE8F868, 0xF0107B28, 0x3E0FB1C4, - 0x08000000, 0x3FE904E8, 0xE01B68BD, 0x3E0AD6A1, - 0x9C000000, 0x3FE9116D, 0x1F78D9D9, 0x3E292117, - 0x78000000, 0x3FE91DF9, 0x4F50E5CF, 0xBE1D75DA, - 0x98000000, 0x3FE92A8B, 0x74959E58, 0x3DE5102B, - 0x04000000, 0x3FE93724, 0xD2216C35, 0xBE01CA50, - 0xBC000000, 0x3FE943C2, 0xB0B05884, 0x3E225BFD, - 0xC8000000, 0x3FE95067, 0x60B7C5C1, 0xBE0F2183, - 0x24000000, 0x3FE95D13, 0xB5860441, 0x3E2FB47A, - 0xDC000000, 0x3FE969C4, 0xE2D4059E, 0xBE01FFD2, - 0xEC000000, 0x3FE9767C, 0x12BB6A8D, 0xBDE9ED72, - 0x58000000, 0x3FE9833B, 0x43BFFB24, 0x3E2B3815, - 0x28000000, 0x3FE99000, 0xEE9EAD1E, 0x3E03FA22, - 0x5C000000, 0x3FE99CCB, 0x377138F7, 0xBE213841, - 0xF4000000, 0x3FE9A99C, 0xDB636C94, 0x3E178105, - 0xF8000000, 0x3FE9B674, 0xF5720122, 0x3E1E5E7A, - 0x6C000000, 0x3FE9C353, 0xA2AC5AAE, 0xBE238BFF, - 0x4C000000, 0x3FE9D038, 0xF93BDBD8, 0x3E270893, - 0xA4000000, 0x3FE9DD23, 0x354B86CF, 0x3DF40420, - 0x74000000, 0x3FE9EA15, 0x88CB06B7, 0xBE2D76D3, - 0xBC000000, 0x3FE9F70D, 0x9ED0EC60, 0xBE251639, - 0x80000000, 0x3FEA040C, 0xE2DDE506, 0x3E1F06E9, - 0xC8000000, 0x3FEA1111, 0x8E6DB477, 0x3E014549, - 0x94000000, 0x3FEA1E1D, 0xF8716509, 0xBDF4BC17, - 0xE8000000, 0x3FEA2B2F, 0xDA723A49, 0xBE2107DB, - 0xC4000000, 0x3FEA3848, 0x986AA369, 0x3E1A932A, - 0x30000000, 0x3FEA4568, 0x41592CDB, 0x3E198092, - 0x30000000, 0x3FEA528E, 0x676BCAB8, 0xBE2E260F, - 0xC0000000, 0x3FEA5FBA, 0x2D5D5610, 0x3DE2E821, - 0xE8000000, 0x3FEA6CED, 0x7DA20167, 0x3E2F7046, - 0xB0000000, 0x3FEA7A27, 0xF9FAAD30, 0xBE1D2832, - 0x14000000, 0x3FEA8768, 0x43FA6C45, 0xBE23F788, - 0x18000000, 0x3FEA94AF, 0xAA082732, 0x3E011E27, - 0xC4000000, 0x3FEAA1FC, 0xC682F0BF, 0xBE20BACB, - 0x18000000, 0x3FEAAF51, 0x7BD08C78, 0xBE2DC7DD, - 0x14000000, 0x3FEABCAC, 0xA3B10F9A, 0x3E2271A2, - 0xC4000000, 0x3FEACA0D, 0x7966F94C, 0xBE15449C, - 0x24000000, 0x3FEAD776, 0x6FD8F3EE, 0x3DD06137, - 0x3C000000, 0x3FEAE4E5, 0x8C5A144A, 0xBE267CD1, - 0x0C000000, 0x3FEAF25B, 0xB59DA94B, 0xBE29E584, - 0x98000000, 0x3FEAFFD7, 0x7B52192F, 0xBE23DFCF, - 0xE4000000, 0x3FEB0D5A, 0x78A76B45, 0xBE1CF2FE, - 0xF4000000, 0x3FEB1AE4, 0x7EC80FF6, 0xBE23A561, - 0xC8000000, 0x3FEB2875, 0x932EED68, 0x3E22C4C9, - 0x68000000, 0x3FEB360D, 0xB5833C97, 0x3E2B085C, - 0xD8000000, 0x3FEB43AB, 0x93B9319A, 0xBE01F093, - 0x18000000, 0x3FEB5151, 0xFABCE670, 0xBE254F01, - 0x28000000, 0x3FEB5EFD, 0x627ABFB0, 0x3E2F24C2, - 0x14000000, 0x3FEB6CB0, 0xE6AC0B48, 0x3E1F1EEC, - 0xDC000000, 0x3FEB7A69, 0x127F9ABC, 0xBE1A8671, - 0x80000000, 0x3FEB882A, 0xC87C73B3, 0xBDCB0C28, - 0x08000000, 0x3FEB95F2, 0x7F2B5A97, 0xBE22E8DD, - 0x74000000, 0x3FEBA3C0, 0x2D22A9D5, 0xBE1B3645, - 0xC8000000, 0x3FEBB195, 0x428F8B88, 0x3E0ADACA, - 0x0C000000, 0x3FEBBF72, 0xCDF9F681, 0xBE2E9E07, - 0x3C000000, 0x3FEBCD55, 0x7FA54ACF, 0xBE08A127, - 0x60000000, 0x3FEBDB3F, 0x8225B385, 0x3E0E92CE, - 0x7C000000, 0x3FEBE930, 0x7BB09485, 0x3DF38C2A, - 0x94000000, 0x3FEBF728, 0xF681FA5F, 0xBE2DFD64, - 0xA4000000, 0x3FEC0527, 0xDCE88BD2, 0x3E2E384D, - 0xBC000000, 0x3FEC132D, 0xFE46A893, 0xBE20F111, - 0xD4000000, 0x3FEC213A, 0xB189BFDA, 0x3E193DA1, - 0xF8000000, 0x3FEC2F4E, 0x0E39FB00, 0xBE20E3A1, - 0x24000000, 0x3FEC3D6A, 0x30F0FAC5, 0x3E1DB044, - 0x64000000, 0x3FEC4B8C, 0x97446B17, 0xBE2BC12C, - 0xB4000000, 0x3FEC59B5, 0x963F4150, 0xBE282696, - 0x18000000, 0x3FEC67E6, 0x3049824B, 0x3E224D26, - 0x98000000, 0x3FEC761D, 0x87F84C7D, 0x3E2C5BA5, - 0x38000000, 0x3FEC845C, 0xC4852339, 0xBDE1D14D, - 0xF8000000, 0x3FEC92A1, 0x5588D9E1, 0xBE1A451E, - 0xDC000000, 0x3FECA0EE, 0x68BFF457, 0xBE1D3B96, - 0xE8000000, 0x3FECAF42, 0x4DADF774, 0xBE18B670, - 0x20000000, 0x3FECBD9E, 0x7FB1FC01, 0xBE1A1548, - 0x88000000, 0x3FECCC00, 0x78FC5AF0, 0xBE273F2E, - 0x20000000, 0x3FECDA6A, 0xA6F4A841, 0x3E1D218F, - 0xF0000000, 0x3FECE8DA, 0x4D002CA0, 0x3E2E0BA9, - 0xFC000000, 0x3FECF752, 0x065EF979, 0x3E20F4BB, - 0x48000000, 0x3FED05D2, 0x11793B33, 0xBE2ED3D5, - 0xD0000000, 0x3FED1458, 0x913341B3, 0x3E115E3C, - 0xA0000000, 0x3FED22E6, 0xB3546109, 0x3DE97C02, - 0xB8000000, 0x3FED317B, 0x1BF898EF, 0x3E087540, - 0x1C000000, 0x3FED4018, 0x346F9641, 0x3E209430, - 0xD0000000, 0x3FED4EBB, 0x88F4B20B, 0x3E2B6DF4, - 0xDC000000, 0x3FED5D66, 0x0CB26035, 0xBE2EC68F, - 0x38000000, 0x3FED6C19, 0x1F44D9C3, 0x3E2CA2C8, - 0xF4000000, 0x3FED7AD2, 0x41704EE0, 0x3E10E6F4, - 0x0C000000, 0x3FED8994, 0x25F8F0E2, 0x3E2F9273, - 0x88000000, 0x3FED985C, 0x318798DE, 0x3E2D041A, - 0x6C000000, 0x3FEDA72C, 0x9349CF58, 0xBE005680, - 0xB8000000, 0x3FEDB603, 0xCF0C934D, 0xBE10F665, - 0x70000000, 0x3FEDC4E2, 0x19461C64, 0x3E166124, - 0x9C000000, 0x3FEDD3C8, 0x405624C8, 0xBE1B2ED6, - 0x3C000000, 0x3FEDE2B6, 0x62171501, 0xBE273A7F, - 0x54000000, 0x3FEDF1AB, 0xE36E1450, 0xBE26022B, - 0xE8000000, 0x3FEE00A7, 0x2E07AE15, 0xBE1C341E, - 0xFC000000, 0x3FEE0FAB, 0x18D0E701, 0xBDFC7EAE, - 0x94000000, 0x3FEE1EB7, 0xECD1FF8B, 0x3E06B34F, - 0xB4000000, 0x3FEE2DCA, 0x6813A649, 0x3E1394A3, - 0x60000000, 0x3FEE3CE5, 0xC1754D14, 0x3E045496, - 0x9C000000, 0x3FEE4C07, 0xF5C6087C, 0xBE180FFF, - 0x68000000, 0x3FEE5B31, 0xADD9A300, 0x3E22FBCD, - 0xCC000000, 0x3FEE6A62, 0xAF0289E5, 0x3E2EC7C7, - 0xCC000000, 0x3FEE799B, 0x3FB3EDD4, 0x3E242182, - 0x6C000000, 0x3FEE88DC, 0x04E39885, 0xBE201304, - 0xAC000000, 0x3FEE9824, 0xE6831D31, 0xBE20D352, - 0x90000000, 0x3FEEA774, 0x618DFCEB, 0x3E1E032D, - 0x20000000, 0x3FEEB6CC, 0xF9BB457E, 0x3E1956A3, - 0x60000000, 0x3FEEC62B, 0x50845DB2, 0xBE2A77E0, - 0x4C000000, 0x3FEED592, 0x47C43858, 0x3E2714F7, - 0xF0000000, 0x3FEEE500, 0x71813A66, 0x3E2EED96, - 0x50000000, 0x3FEEF477, 0x4FB4AA34, 0xBE04CDBE, - 0x6C000000, 0x3FEF03F5, 0x86EB4FF5, 0xBE2774A2, - 0x48000000, 0x3FEF137B, 0xAD43B2D2, 0xBE29DD95, - 0xE8000000, 0x3FEF2308, 0xAC16E506, 0xBE1CADB0, - 0x50000000, 0x3FEF329E, 0x58745C7B, 0x3E12AC33, - 0x88000000, 0x3FEF423B, 0x6EC2D854, 0xBE248118, - 0x8C000000, 0x3FEF51E0, 0x304ACE08, 0x3E26986B, - 0x68000000, 0x3FEF618D, 0x3B09354E, 0x3E126D81, - 0x1C000000, 0x3FEF7142, 0x773C23B3, 0x3DF06AAE, - 0xAC000000, 0x3FEF80FE, 0xD82EF423, 0xBDA105B6, - 0x1C000000, 0x3FEF90C3, 0x465499B8, 0x3DECDEED, - 0x70000000, 0x3FEFA08F, 0xE2EF03AE, 0x3E0AEFD4, - 0xAC000000, 0x3FEFB063, 0x0567B2E7, 0x3E1BD4C0, - 0xD4000000, 0x3FEFC03F, 0x4F97FCBF, 0x3E26AA22, - 0xF0000000, 0x3FEFD023, 0x5E4E88D1, 0xBE2F9420, - 0xFC000000, 0x3FEFE00F, 0x438E52E2, 0xBE254004, - 0x00000000, 0x3FEFF004, 0xEEE93EFC, 0xBE1552AA, - 0x00000000, 0x3FF00000, 0x00000000, 0x00000000, - 0x00000000, 0x3FF00802, 0x4449F507, 0x3E155800, - 0x04000000, 0x3FF01008, 0x882D75D6, 0xBE354AA8, - 0x08000000, 0x3FF01812, 0x3740DE56, 0x3E303610, - 0x14000000, 0x3FF02020, 0x5B0C3264, 0x3E360044, - 0x28000000, 0x3FF02832, 0x0197EDC3, 0x3E3C4C26, - 0x48000000, 0x3FF03048, 0x5046CA09, 0x3E0B103B, - 0x74000000, 0x3FF03862, 0xF9A62624, 0xBE34659C, - 0xAC000000, 0x3FF04080, 0xDD0A8F37, 0xBE254438, - 0xF4000000, 0x3FF048A2, 0x97AFB6E2, 0x3DF256C2, - 0x50000000, 0x3FF050C9, 0x923D25E1, 0xBE3085DF, - 0xC0000000, 0x3FF058F3, 0x5EA3B091, 0xBE3F0A93, - 0x44000000, 0x3FF06122, 0x5D63534C, 0xBE237DE4, - 0xE0000000, 0x3FF06954, 0xFF0C58B7, 0x3E301719, - 0x98000000, 0x3FF0718B, 0x9DF7B665, 0x3E2E8410, - 0x6C000000, 0x3FF079C6, 0x3B127222, 0x3E349CB9, - 0x60000000, 0x3FF08205, 0x98E0BD08, 0x3DF127EC, - 0x74000000, 0x3FF08A48, 0x706CC41F, 0xBE24C1B6, - 0xA8000000, 0x3FF0928F, 0x093044EF, 0x3E334EF9, - 0x04000000, 0x3FF09ADB, 0x56BC6C83, 0xBE1304B1, - 0x84000000, 0x3FF0A32A, 0xB028B984, 0x3E2D383E, - 0x30000000, 0x3FF0AB7E, 0x64E7A202, 0xBE315B1E, - 0x04000000, 0x3FF0B3D6, 0xC678291E, 0xBE0AC1E6, - 0x04000000, 0x3FF0BC32, 0x2F12FFE2, 0x3E3A0418, - 0x38000000, 0x3FF0C492, 0x43D6D302, 0xBE37D617, - 0x98000000, 0x3FF0CCF6, 0x152CC8FA, 0x3E2133F2, - 0x2C000000, 0x3FF0D55F, 0xE966E6B7, 0x3E3CE5D1, - 0xF8000000, 0x3FF0DDCB, 0x7BCACA64, 0x3E1ABF24, - 0xFC000000, 0x3FF0E63C, 0x2E8CDBED, 0xBE3854F6, - 0x38000000, 0x3FF0EEB2, 0x0C32156B, 0xBE3E6463, - 0xAC000000, 0x3FF0F72B, 0xB69772CC, 0x3E365671, - 0x64000000, 0x3FF0FFA9, 0x02B1201A, 0xBE383E9A, - 0x58000000, 0x3FF1082B, 0x50549CC0, 0xBE205962, - 0x90000000, 0x3FF110B1, 0xFFDACA72, 0xBE376BFE, - 0x08000000, 0x3FF1193C, 0x5C43E2F3, 0x3E3C1C59, - 0xCC000000, 0x3FF121CA, 0xF7067C8B, 0xBE26D374, - 0xD4000000, 0x3FF12A5D, 0x4DDAFE1D, 0x3E343CCC, - 0x28000000, 0x3FF132F5, 0x58EBCB7F, 0x3E3D5C16, - 0xCC000000, 0x3FF13B90, 0xB66E8B53, 0xBE2B5D12, - 0xBC000000, 0x3FF14430, 0xB326B482, 0xBE24E919, - 0xFC000000, 0x3FF14CD4, 0xC8AABD43, 0x3E23139A, - 0x90000000, 0x3FF1557D, 0x16743B55, 0x3E30DD8B, - 0x7C000000, 0x3FF15E2A, 0x35904C50, 0xBE31D701, - 0xBC000000, 0x3FF166DB, 0x30E0CA83, 0x3E107F42, - 0x58000000, 0x3FF16F91, 0xDA1B7123, 0xBE24F1F2, - 0x50000000, 0x3FF1784B, 0x0DC79E23, 0xBE3ACAF2, - 0xA4000000, 0x3FF18109, 0x609374EE, 0xBE23DC79, - 0x58000000, 0x3FF189CC, 0x3A40C3B7, 0x3E262CF7, - 0x70000000, 0x3FF19293, 0x5A24F463, 0x3E1D3833, - 0xEC000000, 0x3FF19B5E, 0x8A2E4440, 0x3E2BA9AD, - 0xD0000000, 0x3FF1A42E, 0x61C41828, 0x3DFD8CBC, - 0x1C000000, 0x3FF1AD03, 0x5A4DDF0D, 0x3E1A65E6, - 0xD4000000, 0x3FF1B5DB, 0x9F828DB5, 0xBDE2FDBB, - 0xF8000000, 0x3FF1BEB8, 0xB79B700F, 0x3E2F4EE8, - 0x8C000000, 0x3FF1C79A, 0x0DE1D7E8, 0x3E3ACC35, - 0x94000000, 0x3FF1D080, 0xFF9E20A0, 0x3E11729E, - 0x10000000, 0x3FF1D96B, 0x6C2EA70B, 0xBE300F18, - 0x00000000, 0x3FF1E25A, 0xCE425A35, 0x3DF32E02, - 0x68000000, 0x3FF1EB4D, 0x9A322D12, 0x3E3BDE56, - 0x50000000, 0x3FF1F445, 0xBA737AEF, 0xBE3C3F0D, - 0xB0000000, 0x3FF1FD41, 0xC896DB7A, 0xBE0A2DD0, - 0x90000000, 0x3FF20642, 0xF8B782F6, 0x3E2577B0, - 0xF4000000, 0x3FF20F47, 0x73607FC8, 0xBE2C6DA3, - 0xD8000000, 0x3FF21851, 0xC8917348, 0x3E35F7D1, - 0x44000000, 0x3FF22160, 0xCF9CED69, 0x3E3B6F5C, - 0x3C000000, 0x3FF22A73, 0x85775C2E, 0xBE39967E, - 0xB8000000, 0x3FF2338A, 0x497226D4, 0x3E3B3213, - 0xC4000000, 0x3FF23CA6, 0x30733227, 0x3E3E2710, - 0x60000000, 0x3FF245C7, 0xAF215A72, 0x3E33B8A9, - 0x90000000, 0x3FF24EEC, 0x1365623F, 0xBE3F96B2, - 0x50000000, 0x3FF25816, 0x27DEE202, 0xBE37324F, - 0xA4000000, 0x3FF26144, 0x4E484D87, 0x3E318CD5, - 0x94000000, 0x3FF26A77, 0xA94519E8, 0xBDE3FD37, - 0x1C000000, 0x3FF273AF, 0xEE788C29, 0x3E37132F, - 0x44000000, 0x3FF27CEB, 0xE842E5C0, 0xBE03DDB7, - 0x08000000, 0x3FF2862C, 0xE17C9693, 0x3E37A3FB, - 0x70000000, 0x3FF28F71, 0xAEB3D9A0, 0x3E24EABF, - 0x7C000000, 0x3FF298BB, 0x853B0733, 0xBE13C7B6, - 0x2C000000, 0x3FF2A20A, 0xC7B588B5, 0x3E2D2C80, - 0x88000000, 0x3FF2AB5D, 0x708F3912, 0xBE35B750, - 0x8C000000, 0x3FF2B4B5, 0xD5FD9130, 0xBE291A70, - 0x3C000000, 0x3FF2BE12, 0x0CCF9F73, 0x3E2EE937, - 0xA0000000, 0x3FF2C773, 0xD42CF76C, 0xBE3C3F0C, - 0xB0000000, 0x3FF2D0D9, 0x60763D61, 0x3E35DD54, - 0x78000000, 0x3FF2DA44, 0xE7D6AA3B, 0x3E26C418, - 0xF8000000, 0x3FF2E3B3, 0x6FB9B7A8, 0xBE3605C6, - 0x2C000000, 0x3FF2ED28, 0x24DCDDF5, 0x3E3763D4, - 0x20000000, 0x3FF2F6A1, 0xA8EC1AA8, 0xBE1A411E, - 0xD0000000, 0x3FF3001E, 0x1FE8546F, 0xBE23FCA1, - 0x40000000, 0x3FF309A1, 0x3AAEE75E, 0xBE29DF0D, - 0x70000000, 0x3FF31328, 0x3C2C4206, 0x3E36A5D6, - 0x68000000, 0x3FF31CB4, 0xB4C979B0, 0x3E1B7A3E, - 0x28000000, 0x3FF32645, 0x706CD593, 0xBE36157D, - 0xB0000000, 0x3FF32FDA, 0x8DA4C646, 0xBE39F357, - 0x04000000, 0x3FF33975, 0xD575FE6F, 0xBE3E64DE, - 0x24000000, 0x3FF34314, 0x44D008E0, 0x3E07F9E3, - 0x18000000, 0x3FF34CB8, 0x5A563E77, 0xBE2E94F9, - 0xDC000000, 0x3FF35660, 0x2475EF19, 0x3E314DC2, - 0x78000000, 0x3FF3600E, 0xA33AC606, 0x3E26D623, - 0xEC000000, 0x3FF369C0, 0xC05B3160, 0x3E170F86, - 0x3C000000, 0x3FF37378, 0xDB0AE31A, 0xBE38DDFE, - 0x64000000, 0x3FF37D34, 0x5706B570, 0x3E3662A9, - 0x70000000, 0x3FF386F5, 0x6770731E, 0xBE1625E4, - 0x5C000000, 0x3FF390BB, 0x62971091, 0xBE1678F1, - 0x2C000000, 0x3FF39A86, 0xD045CB0C, 0xBE061F7C, - 0xE4000000, 0x3FF3A455, 0x568B1CA2, 0xBE35CF51, - 0x84000000, 0x3FF3AE2A, 0x7FB61F58, 0xBE378185, - 0x0C000000, 0x3FF3B804, 0x4FA133AF, 0x3E3F77F4, - 0x88000000, 0x3FF3C1E2, 0xB00B73FE, 0xBE22F96A, - 0xF0000000, 0x3FF3CBC5, 0x1EB4CE2F, 0x3E351A64, - 0x50000000, 0x3FF3D5AE, 0xD3755639, 0xBE3D3516, - 0xA0000000, 0x3FF3DF9B, 0x43E8C10E, 0x3E1CD938, - 0xEC000000, 0x3FF3E98D, 0x455C8842, 0xBE35EE23, - 0x30000000, 0x3FF3F385, 0x96C9F4ED, 0xBE29B282, - 0x70000000, 0x3FF3FD81, 0x3168CC0B, 0x3E24A40E, - 0xB0000000, 0x3FF40782, 0x86C72839, 0x3E3784BC, - 0xF4000000, 0x3FF41188, 0x0785D847, 0x3E061F19, - 0x3C000000, 0x3FF41B94, 0xE654A9C9, 0xBE27AEF2, - 0x88000000, 0x3FF425A4, 0xF9E4C1BA, 0x3E33DFC3, - 0xE0000000, 0x3FF42FB9, 0x593D0C75, 0x3E2455A8, - 0x44000000, 0x3FF439D4, 0x238B65D1, 0xBDE41D4E, - 0xB4000000, 0x3FF443F3, 0x454CBECB, 0x3E3BE616, - 0x38000000, 0x3FF44E18, 0x931C5332, 0x3E207B3C, - 0xD0000000, 0x3FF45841, 0x7615DCC9, 0xBE330846, - 0x7C000000, 0x3FF46270, 0xE497F84E, 0xBE2A8A7B, - 0x40000000, 0x3FF46CA4, 0xF737AF78, 0x3E020B50, - 0x20000000, 0x3FF476DD, 0xE34AFBD3, 0x3E116B19, - 0x20000000, 0x3FF4811B, 0x841EDB52, 0xBE3E15A7, - 0x3C000000, 0x3FF48B5E, 0x33B3DE1E, 0x3E0F40C3, - 0x7C000000, 0x3FF495A6, 0x92EFEE02, 0x3E33607F, - 0xE4000000, 0x3FF49FF3, 0x14F7E168, 0xBE1A2DB5, - 0x70000000, 0x3FF4AA46, 0x3EBA1C94, 0x3E3F59EC, - 0x2C000000, 0x3FF4B49E, 0x8B9AE885, 0xBE31A539, - 0x10000000, 0x3FF4BEFB, 0xF13C8C95, 0x3E2FAC0B, - 0x28000000, 0x3FF4C95D, 0xF8B74775, 0xBE32C0BB, - 0x70000000, 0x3FF4D3C4, 0x4F9474BB, 0xBE2FC24E, - 0xEC000000, 0x3FF4DE30, 0x09DA911F, 0x3E008F30, - 0xA0000000, 0x3FF4E8A2, 0xBAF8D98B, 0x3E2994C1, - 0x90000000, 0x3FF4F319, 0x18648D0A, 0xBE17C38C, - 0xBC000000, 0x3FF4FD95, 0xF22F8698, 0xBE288852, - 0x28000000, 0x3FF50817, 0x30A2C153, 0xBE3C3EC3, - 0xD4000000, 0x3FF5129D, 0x968492AA, 0xBE27B606, - 0xC4000000, 0x3FF51D29, 0x61101629, 0x3E2E0396, - 0xFC000000, 0x3FF527BA, 0xDAEEAB38, 0x3E3E876F, - 0x80000000, 0x3FF53251, 0xED945B30, 0x3E29F59E, - 0x50000000, 0x3FF53CED, 0x0B4AE3F1, 0x3E12D7DA, - 0x70000000, 0x3FF5478E, 0x5FB946D0, 0xBE2FAFB8, - 0xE0000000, 0x3FF55234, 0x87D80C66, 0xBE18A8B3, - 0xA4000000, 0x3FF55CE0, 0x764CF85C, 0x3E28B18F, - 0xC0000000, 0x3FF56791, 0x2BDBC6F4, 0x3E326017, - 0x38000000, 0x3FF57248, 0x53D523FE, 0xBE229F98, - 0x0C000000, 0x3FF57D04, 0x4D9B8720, 0xBE3BDD08, - 0x3C000000, 0x3FF587C5, 0x09D8749E, 0x3E169EBC, - 0xD0000000, 0x3FF5928B, 0x339C2080, 0x3E190C8C, - 0xC8000000, 0x3FF59D57, 0xDE75E9CA, 0x3E310FA4, - 0x28000000, 0x3FF5A829, 0x1097F186, 0x3E313D18, - 0xF4000000, 0x3FF5B2FF, 0xD51C23F6, 0xBE2BDE04, - 0x28000000, 0x3FF5BDDC, 0x8938C386, 0x3E3EE67E, - 0xD0000000, 0x3FF5C8BD, 0x47DF6575, 0x3E0973B8, - 0xE8000000, 0x3FF5D3A4, 0x1DB97781, 0x3E24DF02, - 0x78000000, 0x3FF5DE91, 0xAC4AECDC, 0xBE3FBA00, - 0x7C000000, 0x3FF5E983, 0x939F646A, 0xBE2F37AF, - 0xFC000000, 0x3FF5F47A, 0x58A6EEE9, 0xBE396DEF, - 0xF8000000, 0x3FF5FF77, 0xE3613C7B, 0xBE315248, - 0x74000000, 0x3FF60A7A, 0xF1553706, 0xBE26A9E2, - 0x74000000, 0x3FF61582, 0xAE4D7CB6, 0xBE3B6BF6, - 0xF8000000, 0x3FF6208F, 0x9EB5EBA5, 0xBE35775B, - 0x04000000, 0x3FF62BA3, 0xC1E43506, 0xBE2A821B, - 0x9C000000, 0x3FF636BB, 0x7B2D8CF4, 0xBE367CDA, - 0xC0000000, 0x3FF641D9, 0x3E907A1D, 0xBE13218B, - 0x74000000, 0x3FF64CFD, 0x7BF5DFE4, 0x3E3454EE, - 0xC0000000, 0x3FF65826, 0x6366C5FD, 0xBE3E960F, - 0x9C000000, 0x3FF66355, 0x8B43C17E, 0x3E2E378F, - 0x14000000, 0x3FF66E8A, 0xA4306535, 0x3E244BE0, - 0x28000000, 0x3FF679C4, 0x8DF63D6E, 0xBDE4B6C1, - 0xD8000000, 0x3FF68503, 0xE6A239CF, 0x3E3BA122, - 0x2C000000, 0x3FF69049, 0x59FB5F30, 0x3E27F286, - 0x24000000, 0x3FF69B94, 0x971D3970, 0xBE044041 } }; - -static const union { - int4 i[2048]; - double x[1024]; -} fine = { .i = { - 0x00000000, 0x3FF00000, 0x00000000, 0x00000000, - 0x00000000, 0x3FF00004, 0x55556AAB, 0x3DA00001, - 0x00000000, 0x3FF00008, 0xAAAB0000, 0x3DC00002, - 0x00000000, 0x3FF0000C, 0x8000D800, 0x3DD20004, - 0x00000000, 0x3FF00010, 0x5556AAAB, 0x3DE00005, - 0x00000000, 0x3FF00014, 0x6AADEC01, 0x3DE9000A, - 0x00000000, 0x3FF00018, 0x00036001, 0x3DF20009, - 0x00000000, 0x3FF0001C, 0x4AB0EB58, 0x3DF8800E, - 0x00000000, 0x3FF00020, 0xAAB00002, 0x3E00000A, - 0x00000000, 0x3FF00024, 0x30088B04, 0x3E04400F, - 0x00000000, 0x3FF00028, 0xD5625AB1, 0x3E090014, - 0x00000000, 0x3FF0002C, 0xBABDBB0A, 0x3E0E401B, - 0x00000000, 0x3FF00030, 0x000D8008, 0x3E120012, - 0x00000000, 0x3FF00034, 0xE2BD42E1, 0x3E152016, - 0x00000000, 0x3FF00038, 0x956E5812, 0x3E18801C, - 0x00000000, 0x3FF0003C, 0x2820F599, 0x3E1C2023, - 0x00000000, 0x3FF00040, 0x556AAABC, 0x3E200015, - 0x00000000, 0x3FF00044, 0x96C5DAD7, 0x3E221019, - 0x00000000, 0x3FF00048, 0x60222C1F, 0x3E24401E, - 0x00000000, 0x3FF0004C, 0xB97FC193, 0x3E269023, - 0x00000000, 0x3FF00050, 0xAADEC034, 0x3E290029, - 0x00000000, 0x3FF00054, 0x3C3F4F02, 0x3E2B9030, - 0x00000000, 0x3FF00058, 0x75A196FF, 0x3E2E4037, - 0x00000000, 0x3FF0005C, 0xAF82E194, 0x3E30881F, - 0x00000000, 0x3FF00060, 0x00360041, 0x3E320024, - 0x00000000, 0x3FF00064, 0xB0EA3F05, 0x3E338828, - 0x00000000, 0x3FF00068, 0xC59FB661, 0x3E35202D, - 0x00000000, 0x3FF0006C, 0x42567FD5, 0x3E36C833, - 0x00000000, 0x3FF00070, 0x2B0EB5E1, 0x3E388039, - 0x00000000, 0x3FF00074, 0x83C87407, 0x3E3A483F, - 0x00000000, 0x3FF00078, 0x5083D6C6, 0x3E3C2046, - 0x00000000, 0x3FF0007C, 0x9540FB9E, 0x3E3E084D, - 0x04000000, 0x3FF00080, 0xA9FFFEEF, 0xBE3FFFAA, - 0x04000000, 0x3FF00084, 0x693EF962, 0xBE3DF7A2, - 0x04000000, 0x3FF00088, 0xA47BD339, 0xBE3BDF99, - 0x04000000, 0x3FF0008C, 0x57B66AF5, 0xBE39B790, - 0x04000000, 0x3FF00090, 0x7EEE9E14, 0xBE377F86, - 0x04000000, 0x3FF00094, 0x16244916, 0xBE35377C, - 0x04000000, 0x3FF00098, 0x1957477B, 0xBE32DF71, - 0x04000000, 0x3FF0009C, 0x848773C2, 0xBE307765, - 0x04000000, 0x3FF000A0, 0xA7694ED3, 0xBE2BFEB2, - 0x04000000, 0x3FF000A4, 0x05BD75E2, 0xBE26EE99, - 0x04000000, 0x3FF000A8, 0x1C0B0BB1, 0xBE21BE7E, - 0x04000000, 0x3FF000AC, 0xC4A37A79, 0xBE18DCC3, - 0x04000000, 0x3FF000B0, 0x4244D60F, 0xBE0BF911, - 0x04000000, 0x3FF000B4, 0xEC91D848, 0xBDE6E255, - 0x04000000, 0x3FF000B8, 0xEC1B8F0C, 0x3E0107EB, - 0x04000000, 0x3FF000BC, 0x89BE52AA, 0x3E142439, - 0x04000000, 0x3FF000C0, 0x06C01033, 0x3E200240, - 0x04000000, 0x3FF000C4, 0xC8A9F760, 0x3E261264, - 0x04000000, 0x3FF000C8, 0x129D3FDE, 0x3E2C428B, - 0x04000000, 0x3FF000CC, 0x764D2658, 0x3E314959, - 0x04000000, 0x3FF000D0, 0x2F50C16C, 0x3E34816E, - 0x04000000, 0x3FF000D4, 0xB859A4AB, 0x3E37C983, - 0x04000000, 0x3FF000D8, 0x15680499, 0x3E3B219A, - 0x04000000, 0x3FF000DC, 0x4A7C16B5, 0x3E3E89B1, - 0x08000000, 0x3FF000E0, 0xA469EE7E, 0xBE3DFE36, - 0x08000000, 0x3FF000E4, 0xB349D37F, 0xBE3A761D, - 0x08000000, 0x3FF000E8, 0xDE235FCD, 0xBE36DE03, - 0x08000000, 0x3FF000EC, 0x20F659E6, 0xBE3335E9, - 0x08000000, 0x3FF000F0, 0xEF850E8F, 0xBE2EFB9A, - 0x08000000, 0x3FF000F4, 0xBD0F58E2, 0xBE276B61, - 0x08000000, 0x3FF000F8, 0x45163381, 0xBE1F764D, - 0x08000000, 0x3FF000FC, 0x5FDF589A, 0xBE0FABA6, - 0x08000000, 0x3FF00100, 0xABBBBE94, 0x3D8555AA, - 0x08000000, 0x3FF00104, 0xDABB690B, 0x3E102B2C, - 0x08000000, 0x3FF00108, 0x7820FBA0, 0x3E2045D9, - 0x08000000, 0x3FF0010C, 0x92F54742, 0x3E28961E, - 0x08000000, 0x3FF00110, 0xE2ED8E39, 0x3E308332, - 0x08000000, 0x3FF00114, 0x8C698119, 0x3E34CB57, - 0x08000000, 0x3FF00118, 0x49EEC0C4, 0x3E39237D, - 0x08000000, 0x3FF0011C, 0x1F7D92BC, 0x3E3D8BA4, - 0x0C000000, 0x3FF00120, 0xEEE9C27D, 0xBE3DFC33, - 0x0C000000, 0x3FF00124, 0xDD46F763, 0xBE39740A, - 0x0C000000, 0x3FF00128, 0xA799C375, 0xBE34DBE0, - 0x0C000000, 0x3FF0012C, 0x49E1DD2F, 0xBE3033B5, - 0x0C000000, 0x3FF00130, 0x803DF41F, 0xBE26F711, - 0x0C000000, 0x3FF00134, 0x19433A4C, 0xBE1ACD6C, - 0x0C000000, 0x3FF00138, 0x8770E36F, 0xBDFDB2C1, - 0x0C000000, 0x3FF0013C, 0x6B74A43E, 0x3E086820, - 0x0C000000, 0x3FF00140, 0xDEC0D058, 0x3E200A6A, - 0x0C000000, 0x3FF00144, 0x22BD7872, 0x3E2A1AD0, - 0x0C000000, 0x3FF00148, 0xF769E132, 0x3E32259B, - 0x0C000000, 0x3FF0014C, 0x2582289A, 0x3E374DD1, - 0x0C000000, 0x3FF00150, 0x9FA7E4F4, 0x3E3C8607, - 0x10000000, 0x3FF00154, 0x9624963C, 0xBE3E31C0, - 0x10000000, 0x3FF00158, 0x77E2F472, 0xBE38D987, - 0x10000000, 0x3FF0015C, 0x0192E02C, 0xBE33714D, - 0x10000000, 0x3FF00160, 0x5E6805CB, 0xBE2BF222, - 0x10000000, 0x3FF00164, 0xF98C0A34, 0xBE20E1A7, - 0x10000000, 0x3FF00168, 0x32447238, 0xBE06C4AB, - 0x10000000, 0x3FF0016C, 0xC225D8C1, 0x3E067D54, - 0x10000000, 0x3FF00170, 0x05C4630F, 0x3E210FD8, - 0x10000000, 0x3FF00174, 0xBB206115, 0x3E2CA05D, - 0x10000000, 0x3FF00178, 0x2C4F14A6, 0x3E342873, - 0x10000000, 0x3FF0017C, 0xF31F3B5E, 0x3E3A10B8, - 0x14000000, 0x3FF00180, 0xC9FEFCC9, 0xBE3FF6FF, - 0x14000000, 0x3FF00184, 0x070B344A, 0xBE39EEB7, - 0x14000000, 0x3FF00188, 0xC0050AA2, 0xBE33D66C, - 0x14000000, 0x3FF0018C, 0xE1D83C97, 0xBE2B5C41, - 0x14000000, 0x3FF00190, 0x57003305, 0xBE1DD74E, - 0x14000000, 0x3FF00194, 0xA80727F1, 0xBDF2D84A, - 0x14000000, 0x3FF00198, 0x534C5401, 0x3E14AB2F, - 0x14000000, 0x3FF0019C, 0xD875DE83, 0x3E27263B, - 0x14000000, 0x3FF001A0, 0x9FB782CA, 0x3E320B71, - 0x14000000, 0x3FF001A4, 0xF349371F, 0x3E3893C6, - 0x14000000, 0x3FF001A8, 0xEAF074C6, 0x3E3F2C1D, - 0x18000000, 0x3FF001AC, 0x75525ABC, 0xBE3A2B89, - 0x18000000, 0x3FF001B0, 0x297ECCE2, 0xBE33732F, - 0x18000000, 0x3FF001B4, 0x5B28EC49, 0xBE2955A6, - 0x18000000, 0x3FF001B8, 0xF64BA7FD, 0xBE1749D5, - 0x18000000, 0x3FF001BC, 0xA8645141, 0x3DF15E9E, - 0x18000000, 0x3FF001C0, 0x1D6F0B37, 0x3E201C96, - 0x18000000, 0x3FF001C4, 0xE6028E39, 0x3E2E2D5B, - 0x18000000, 0x3FF001C8, 0x9B63FA1E, 0x3E362F12, - 0x18000000, 0x3FF001CC, 0x0BE01026, 0x3E3D5779, - 0x1C000000, 0x3FF001D0, 0xB78A0445, 0xBE3B701E, - 0x1C000000, 0x3FF001D4, 0xAAD9CF9D, 0xBE3427B4, - 0x1C000000, 0x3FF001D8, 0x941DBAB5, 0xBE299E91, - 0x1C000000, 0x3FF001DC, 0x44A2DFDD, 0xBE159B6C, - 0x1C000000, 0x3FF001E0, 0x1EC8B89C, 0x3E008CA4, - 0x1C000000, 0x3FF001E4, 0xF1EE0E9A, 0x3E23340B, - 0x1C000000, 0x3FF001E8, 0x5231913C, 0x3E313279, - 0x1C000000, 0x3FF001EC, 0x93892E68, 0x3E38DAEE, - 0x20000000, 0x3FF001F0, 0x3F01A6A8, 0xBE3F6C9A, - 0x20000000, 0x3FF001F4, 0x216E726C, 0xBE37A421, - 0x20000000, 0x3FF001F8, 0x1F7970B9, 0xBE2F974C, - 0x20000000, 0x3FF001FC, 0x17AFEBC8, 0xBE1F8CA4, - 0x20000000, 0x3FF00200, 0x04445B06, 0x3DB55600, - 0x20000000, 0x3FF00204, 0x0C290A26, 0x3E203BAE, - 0x20000000, 0x3FF00208, 0x104547BD, 0x3E30365A, - 0x20000000, 0x3FF0020C, 0x22970DE3, 0x3E385EDF, - 0x24000000, 0x3FF00210, 0xBEF5A5F4, 0xBE3F6899, - 0x24000000, 0x3FF00214, 0x90605040, 0xBE372010, - 0x24000000, 0x3FF00218, 0x9B50D8EE, 0xBE2D8F0A, - 0x24000000, 0x3FF0021C, 0xCB35D444, 0xBE197BDF, - 0x24000000, 0x3FF00220, 0x2188E3D5, 0x3E00CCBC, - 0x24000000, 0x3FF00224, 0x36A79F6A, 0x3E254452, - 0x24000000, 0x3FF00228, 0xD69B2D28, 0x3E333ABC, - 0x24000000, 0x3FF0022C, 0xBA07BE5B, 0x3E3BE352, - 0x28000000, 0x3FF00230, 0x3665F227, 0xBE3B6415, - 0x28000000, 0x3FF00234, 0xF6AD58D5, 0xBE329B7A, - 0x28000000, 0x3FF00238, 0x059BD24A, 0xBE2385BD, - 0x28000000, 0x3FF0023C, 0xD8E2B1B4, 0xBDEB47FA, - 0x28000000, 0x3FF00240, 0x22CF60F6, 0x3E203CC2, - 0x28000000, 0x3FF00244, 0x39BEF87F, 0x3E312704, - 0x28000000, 0x3FF00248, 0xA63F5309, 0x3E3A3FA9, - 0x2C000000, 0x3FF0024C, 0xA516AE5E, 0xBE3C97AE, - 0x2C000000, 0x3FF00250, 0xA442792A, 0xBE335F04, - 0x2C000000, 0x3FF00254, 0xA686F3A2, 0xBE242CB0, - 0x2C000000, 0x3FF00258, 0xC3237903, 0xBDE7B535, - 0x2C000000, 0x3FF0025C, 0x9E7A6CF7, 0x3E21560E, - 0x2C000000, 0x3FF00260, 0xA8C01385, 0x3E3223BA, - 0x2C000000, 0x3FF00264, 0x627012DF, 0x3E3BAC70, - 0x30000000, 0x3FF00268, 0x7FB232EA, 0xBE3ABAD7, - 0x30000000, 0x3FF0026C, 0xF9A6244B, 0xBE31121C, - 0x30000000, 0x3FF00270, 0x1DAC9AE4, 0xBE1D6580, - 0x30000000, 0x3FF00274, 0xD7FB0AC3, 0x3E037AFA, - 0x30000000, 0x3FF00278, 0x633420EB, 0x3E289042, - 0x30000000, 0x3FF0027C, 0x8065842A, 0x3E3630E5, - 0x34000000, 0x3FF00280, 0xB49DA4FF, 0xBE3FD653, - 0x34000000, 0x3FF00284, 0x696ECB76, 0xBE35CD8A, - 0x34000000, 0x3FF00288, 0x341A9D63, 0xBE27697D, - 0x34000000, 0x3FF0028C, 0x2788D238, 0xBDF8BF04, - 0x34000000, 0x3FF00290, 0x42A03782, 0x3E2159C1, - 0x34000000, 0x3FF00294, 0x154D4F89, 0x3E32F5B4, - 0x34000000, 0x3FF00298, 0x1D7FB2C1, 0x3E3D4E8A, - 0x38000000, 0x3FF0029C, 0x42181508, 0xBE38489D, - 0x38000000, 0x3FF002A0, 0x0AF2C28C, 0xBE2B9F84, - 0x38000000, 0x3FF002A4, 0x451C5357, 0xBE0A3721, - 0x38000000, 0x3FF002A8, 0x61A8605E, 0x3E1D47F1, - 0x38000000, 0x3FF002AC, 0x81B02FCF, 0x3E31FADF, - 0x38000000, 0x3FF002B0, 0x572F674A, 0x3E3CB3C5, - 0x3C000000, 0x3FF002B4, 0x231795EA, 0xBE388352, - 0x3C000000, 0x3FF002B8, 0xD248367A, 0xBE2B54CD, - 0x3C000000, 0x3FF002BC, 0xB7ABD90D, 0xBE060BC7, - 0x3C000000, 0x3FF002C0, 0x6EE9F1EF, 0x3E206EEF, - 0x3C000000, 0x3FF002C4, 0x261BF09E, 0x3E33406B, - 0x3C000000, 0x3FF002C8, 0x59001C60, 0x3E3E5961, - 0x40000000, 0x3FF002CC, 0xABDDD232, 0xBE367DA5, - 0x40000000, 0x3FF002D0, 0xC8FA5113, 0xBE268953, - 0x40000000, 0x3FF002D4, 0x8B33A701, 0x3D9152CC, - 0x40000000, 0x3FF002D8, 0x3E058570, 0x3E26BAAC, - 0x40000000, 0x3FF002DC, 0x63236E71, 0x3E36C65A, - 0x44000000, 0x3FF002E0, 0x7C7A795C, 0xBE3DC09E, - 0x44000000, 0x3FF002E4, 0x7BD63D1D, 0xBE323794, - 0x44000000, 0x3FF002E8, 0x5BBC9105, 0xBE1A7A1E, - 0x44000000, 0x3FF002EC, 0xD8EE2B1B, 0x3E142A20, - 0x44000000, 0x3FF002F0, 0xEFAA8A8D, 0x3E30C39A, - 0x44000000, 0x3FF002F4, 0x995E96A2, 0x3E3C8CB0, - 0x48000000, 0x3FF002F8, 0xC8A79469, 0xBE379A36, - 0x48000000, 0x3FF002FC, 0x64CE7203, 0xBE276236, - 0x48000000, 0x3FF00300, 0x0819DA68, 0x3DD200D8, - 0x48000000, 0x3FF00304, 0xE5E018D4, 0x3E28A249, - 0x48000000, 0x3FF00308, 0x8A087692, 0x3E386A49, - 0x4C000000, 0x3FF0030C, 0xD695988B, 0xBE3B6C8E, - 0x4C000000, 0x3FF00310, 0x55D2BCBA, 0xBE2E66C8, - 0x4C000000, 0x3FF00314, 0x7790BA7A, 0xBE0751B3, - 0x4C000000, 0x3FF00318, 0xC2A20261, 0x3E22DDF4, - 0x4C000000, 0x3FF0031C, 0x49E0B0B5, 0x3E35D82E, - 0x50000000, 0x3FF00320, 0xB142422E, 0xBE3DAE9A, - 0x50000000, 0x3FF00324, 0x8C170FE6, 0xBE312560, - 0x50000000, 0x3FF00328, 0x0A73BF77, 0xBE12308D, - 0x50000000, 0x3FF0032C, 0x5E59CEFA, 0x3E203A3A, - 0x50000000, 0x3FF00330, 0xCD4740BF, 0x3E34D660, - 0x54000000, 0x3FF00334, 0x644D1883, 0xBE3E6058, - 0x54000000, 0x3FF00338, 0x618F57B6, 0xBE31870E, - 0x54000000, 0x3FF0033C, 0x99FABD0F, 0xBE127704, - 0x54000000, 0x3FF00340, 0xA1CB5ECF, 0x3E20B71E, - 0x54000000, 0x3FF00344, 0x089E93E1, 0x3E3564E3, - 0x58000000, 0x3FF00348, 0xFB533142, 0xBE3D81C5, - 0x58000000, 0x3FF0034C, 0xB6EECE6C, 0xBE30586B, - 0x58000000, 0x3FF00350, 0x319B883E, 0xBE08F871, - 0x58000000, 0x3FF00354, 0x75BF7503, 0x3E2454A5, - 0x58000000, 0x3FF00358, 0xF04B88C5, 0x3E3783B6, - 0x5C000000, 0x3FF0035C, 0x81EF30A7, 0xBE3B12E1, - 0x5C000000, 0x3FF00360, 0x2F9F3657, 0xBE2B32ED, - 0x5C000000, 0x3FF00364, 0x54DF31BC, 0xBDB0084D, - 0x5C000000, 0x3FF00368, 0xC303B7B9, 0x3E2B12D2, - 0x5C000000, 0x3FF0036C, 0x78B56F97, 0x3E3B32DE, - 0x60000000, 0x3FF00370, 0x03B9496C, 0xBE3713A9, - 0x60000000, 0x3FF00374, 0x1F92E726, 0xBE22945A, - 0x60000000, 0x3FF00378, 0x621736DF, 0x3E123D49, - 0x60000000, 0x3FF0037C, 0x3935580D, 0x3E3278D5, - 0x64000000, 0x3FF00380, 0x69B9F5FB, 0xBE3F8DA4, - 0x64000000, 0x3FF00384, 0x8C473CC8, 0xBE31841A, - 0x64000000, 0x3FF00388, 0x538CDE07, 0xBE0B5469, - 0x64000000, 0x3FF0038C, 0x7F8F9D65, 0x3E257E07, - 0x64000000, 0x3FF00390, 0x3665E52B, 0x3E38F898, - 0x68000000, 0x3FF00394, 0xC29674BD, 0xBE38BDCF, - 0x68000000, 0x3FF00398, 0x4E58B4D9, 0xBE24C868, - 0x68000000, 0x3FF0039C, 0x329466D7, 0x3E1015AC, - 0x68000000, 0x3FF003A0, 0xDCDECE44, 0x3E327F0D, - 0x6C000000, 0x3FF003A4, 0xB27E5528, 0xBE3EF74B, - 0x6C000000, 0x3FF003A8, 0x9D7167F2, 0xBE305DA1, - 0x6C000000, 0x3FF003AC, 0xFF980820, 0xBDFB3F3D, - 0x6C000000, 0x3FF003B0, 0x13D49789, 0x3E2A0B7B, - 0x6C000000, 0x3FF003B4, 0xA43AE87C, 0x3E3BCF72, - 0x70000000, 0x3FF003B8, 0x8D06BDC0, 0xBE3556D4, - 0x70000000, 0x3FF003BC, 0x1766E54D, 0xBE19B460, - 0x70000000, 0x3FF003C0, 0x7B85C8BA, 0x3E211950, - 0x70000000, 0x3FF003C4, 0x41D00AED, 0x3E37966C, - 0x74000000, 0x3FF003C8, 0xF5B15507, 0xBE394FCB, - 0x74000000, 0x3FF003CC, 0xC98093C4, 0xBE244C00, - 0x74000000, 0x3FF003D0, 0xE2907BDF, 0x3E144F3B, - 0x74000000, 0x3FF003D4, 0x267CD924, 0x3E345DA2, - 0x78000000, 0x3FF003D8, 0xD73526C0, 0xBE3C4886, - 0x78000000, 0x3FF003DC, 0xF8E1D62E, 0xBE29BD57, - 0x78000000, 0x3FF003E0, 0xD65415E1, 0x3E04D995, - 0x78000000, 0x3FF003E4, 0x527E1A58, 0x3E322515, - 0x7C000000, 0x3FF003E8, 0x31552BA5, 0xBE3E4104, - 0x7C000000, 0x3FF003EC, 0x995CAB3B, 0xBE2D2E33, - 0x7C000000, 0x3FF003F0, 0x473970DC, 0x3DF22D48, - 0x7C000000, 0x3FF003F4, 0xC61195FC, 0x3E30ECC6, - 0x80000000, 0x3FF003F8, 0x03D35C34, 0xBE3F3943, - 0x80000000, 0x3FF003FC, 0xAA7483C7, 0xBE2E9E91, - 0x80000000, 0x3FF00400, 0xBBBC71CE, 0x3DE556AA, - 0x80000000, 0x3FF00404, 0x817613C1, 0x3E30B4B7, - 0x84000000, 0x3FF00408, 0x4E70B0AC, 0xBE3F3142, - 0x84000000, 0x3FF0040C, 0x2BAAD02F, 0xBE2E0E70, - 0x84000000, 0x3FF00410, 0xF48F01F2, 0x3DF32D62, - 0x84000000, 0x3FF00414, 0x84EB5B98, 0x3E317CE8, - 0x88000000, 0x3FF00418, 0x10ED210B, 0xBE3E2901, - 0x88000000, 0x3FF0041C, 0x1C7F0051, 0xBE2B7DCD, - 0x88000000, 0x3FF00420, 0x87AA2706, 0x3E05D9C0, - 0x88000000, 0x3FF00424, 0xD0B235B3, 0x3E33455A, - 0x8C000000, 0x3FF00428, 0x4B07A510, 0xBE3C207E, - 0x8C000000, 0x3FF0042C, 0x7C6E838B, 0xBE26ECA6, - 0x8C000000, 0x3FF00430, 0xEC91A8D5, 0x3E150F6F, - 0x8C000000, 0x3FF00434, 0x650C6A83, 0x3E360E0F, - 0x90000000, 0x3FF00438, 0xFC7E3439, 0xBE3917B8, - 0x90000000, 0x3FF0043C, 0x4AF4C8B6, 0xBE205AFA, - 0x90000000, 0x3FF00440, 0xDC31D181, 0x3E219985, - 0x90000000, 0x3FF00444, 0x423CC2BE, 0x3E39D707, - 0x94000000, 0x3FF00448, 0x250DC5BF, 0xBE350EB0, - 0x94000000, 0x3FF0044C, 0x1E2CF893, 0xBE0F231A, - 0x94000000, 0x3FF00450, 0xD42C92D4, 0x3E2AABDB, - 0x94000000, 0x3FF00454, 0x6887075B, 0x3E3EA043, - 0x98000000, 0x3FF00458, 0xC472509B, 0xBE300562, - 0x98000000, 0x3FF0045C, 0x72B572E0, 0x3DF64FB6, - 0x98000000, 0x3FF00460, 0xEF61155C, 0x3E32DF5D, - 0x9C000000, 0x3FF00464, 0x27CFFE6A, 0xBE3B963B, - 0x9C000000, 0x3FF00468, 0xB4CD96FE, 0xBE23F79F, - 0x9C000000, 0x3FF0046C, 0x6E771F13, 0x3E1EBA7F, - 0x9C000000, 0x3FF00470, 0xFE3ED608, 0x3E396913, - 0xA0000000, 0x3FF00474, 0x6E82850F, 0xBE34CC73, - 0xA0000000, 0x3FF00478, 0x352966B7, 0xBE078FB3, - 0xA0000000, 0x3FF0047C, 0x33AFF8AE, 0x3E2DF116, - 0xA4000000, 0x3FF00480, 0xE909EADD, 0xBE3F0CEE, - 0xA4000000, 0x3FF00484, 0xD6938597, 0xBE2A04C8, - 0xA4000000, 0x3FF00488, 0x5C6654D8, 0x3E1460AA, - 0xA4000000, 0x3FF0048C, 0x22213ECF, 0x3E3742BE, - 0xA8000000, 0x3FF00490, 0xC631A356, 0xBE3682A9, - 0xA8000000, 0x3FF00494, 0x7777B644, 0xBE10E034, - 0xA8000000, 0x3FF00498, 0x3E3B0991, 0x3E2C4528, - 0xAC000000, 0x3FF0049C, 0x0B3E269F, 0xBE3F72C6, - 0xAC000000, 0x3FF004A0, 0x31DF923B, 0xBE29F037, - 0xAC000000, 0x3FF004A4, 0xE82713DE, 0x3E164A4D, - 0xAC000000, 0x3FF004A8, 0x31AFAC4B, 0x3E382D47, - 0xB0000000, 0x3FF004AC, 0x6DFCE978, 0xBE352800, - 0xB0000000, 0x3FF004B0, 0x07D68D27, 0xBE036A1B, - 0xB0000000, 0x3FF004B4, 0x5CB71F6F, 0x3E305D7E, - 0xB4000000, 0x3FF004B8, 0x30E5E990, 0xBE3CC7BB, - 0xB4000000, 0x3FF004BC, 0x0BA17DEA, 0xBE23B9E0, - 0xB4000000, 0x3FF004C0, 0xC3EF9BD8, 0x3E223BBF, - 0xB4000000, 0x3FF004C4, 0x8A74ECC0, 0x3E3C28B4, - 0xB8000000, 0x3FF004C8, 0x085831CA, 0xBE30BC72, - 0xB8000000, 0x3FF004CC, 0x6C8D1FC8, 0x3E037361, - 0xB8000000, 0x3FF004D0, 0x3033A0B8, 0x3E35A94F, - 0xBC000000, 0x3FF004D4, 0xFC7107DE, 0xBE370BC8, - 0xBC000000, 0x3FF004D8, 0xA2D908DA, 0xBE0D86E2, - 0xBC000000, 0x3FF004DC, 0x58ED155E, 0x3E2F742A, - 0xC0000000, 0x3FF004E0, 0x75FACDD0, 0xBE3CCAF4, - 0xC0000000, 0x3FF004E4, 0x6F5BE5D3, 0xBE227FF2, - 0xC0000000, 0x3FF004E8, 0xD6BCA827, 0x3E24B60D, - 0xC0000000, 0x3FF004EC, 0xF72B40D6, 0x3E3E060B, - 0xC4000000, 0x3FF004F0, 0x208BE3E3, 0xBE2C7DD4, - 0xC4000000, 0x3FF004F4, 0x642FDDB8, 0x3E163093, - 0xC4000000, 0x3FF004F8, 0xB72239A5, 0x3E396738, - 0xC8000000, 0x3FF004FC, 0x7201ED9B, 0xBE32ADAE, - 0xC8000000, 0x3FF00500, 0x1A0C05F3, 0x3DF4D6F6, - 0xC8000000, 0x3FF00504, 0x360B8346, 0x3E355892, - 0xCC000000, 0x3FF00508, 0xF0C06435, 0xBE368C45, - 0xCC000000, 0x3FF0050C, 0x760DA2F6, 0xBE0308C8, - 0xCC000000, 0x3FF00510, 0xE008D57B, 0x3E31DA18, - 0xD0000000, 0x3FF00514, 0x205F82F4, 0xBE39DAB0, - 0xD0000000, 0x3FF00518, 0x2FE5E3E3, 0xBE15FDD0, - 0xD0000000, 0x3FF0051C, 0x42787241, 0x3E2DD79A, - 0xD4000000, 0x3FF00520, 0x94BD25F4, 0xBE3C98EC, - 0xD4000000, 0x3FF00524, 0x53C89D03, 0xBE201B42, - 0xD4000000, 0x3FF00528, 0xCB901057, 0x3E291B5E, - 0xD8000000, 0x3FF0052C, 0xE1B6D837, 0xBE3EC6FA, - 0xD8000000, 0x3FF00530, 0xF8BF49E7, 0xBE24173F, - 0xD8000000, 0x3FF00534, 0x339DDB57, 0x3E257F80, - 0xD8000000, 0x3FF00538, 0x64D62C5C, 0x3E3F9B25, - 0xDC000000, 0x3FF0053C, 0x2E913659, 0xBE26F2E0, - 0xDC000000, 0x3FF00540, 0x52E7CB93, 0x3E2303FF, - 0xDC000000, 0x3FF00544, 0xAB0CFEF5, 0x3E3E8D74, - 0xE0000000, 0x3FF00548, 0x1CF7FDE6, 0xBE28AE22, - 0xE0000000, 0x3FF0054C, 0x01B47B93, 0x3E21A8DD, - 0xE0000000, 0x3FF00550, 0x5D1107E2, 0x3E3E0FF3, - 0xE4000000, 0x3FF00554, 0xEBAC99E1, 0xBE294904, - 0xE4000000, 0x3FF00558, 0x184B2814, 0x3E216E1A, - 0xE4000000, 0x3FF0055C, 0xE706008B, 0x3E3E22A1, - 0xE8000000, 0x3FF00560, 0xC267616A, 0xBE28C387, - 0xE8000000, 0x3FF00564, 0x6EF3B008, 0x3E2253B7, - 0xE8000000, 0x3FF00568, 0xB50FF371, 0x3E3EC580, - 0xEC000000, 0x3FF0056C, 0xC8E0096B, 0xBE271DA9, - 0xEC000000, 0x3FF00570, 0xDDF69498, 0x3E2459B5, - 0xEC000000, 0x3FF00574, 0x33533C31, 0x3E3FF890, - 0xF0000000, 0x3FF00578, 0x26CDA497, 0xBE24576A, - 0xF0000000, 0x3FF0057C, 0x3D9CF923, 0x3E278016, - 0xF4000000, 0x3FF00580, 0x320B787B, 0xBE3E442F, - 0xF4000000, 0x3FF00584, 0x03E6A36B, 0xBE2070C8, - 0xF4000000, 0x3FF00588, 0x6630A33F, 0x3E2BC6D9, - 0xF8000000, 0x3FF0058C, 0x0EE72CBF, 0xBE3BF0BD, - 0xF8000000, 0x3FF00590, 0x0FC1A853, 0xBE16D385, - 0xF8000000, 0x3FF00594, 0x17FDFD5D, 0x3E309700, - 0xFC000000, 0x3FF00598, 0xF71A91AC, 0xBE390D18, - 0xFC000000, 0x3FF0059C, 0x69C58B86, 0xBE050963, - 0xFC000000, 0x3FF005A0, 0xB9A504CD, 0x3E33DAC5, - 0x00000000, 0x3FF005A5, 0x7E800734, 0xBE359942, - 0x00000000, 0x3FF005A9, 0xE59934CD, 0x3DF02BAE, - 0x00000000, 0x3FF005AD, 0x04333E0E, 0x3E37AEBE, - 0x04000000, 0x3FF005B1, 0x38F19C2F, 0xBE319539, - 0x04000000, 0x3FF005B5, 0xEBB1C157, 0x3E14DB54, - 0x04000000, 0x3FF005B9, 0x63CED05D, 0x3E3C12E9, - 0x08000000, 0x3FF005BD, 0x74921CAF, 0xBE2A01F9, - 0x08000000, 0x3FF005C1, 0xC94C85F2, 0x3E23F645, - 0x0C000000, 0x3FF005C5, 0xBB61CBEE, 0xBE3EF8B7, - 0x0C000000, 0x3FF005C9, 0x597F2931, 0xBE1F7232, - 0x0C000000, 0x3FF005CD, 0xAF5B7345, 0x3E2E9F48, - 0x10000000, 0x3FF005D1, 0xED37CD5F, 0xBE397424, - 0x10000000, 0x3FF005D5, 0x08775C6B, 0xBE013F43, - 0x10000000, 0x3FF005D9, 0x0029D3DB, 0x3E35345A, - 0x14000000, 0x3FF005DD, 0xC58C1962, 0xBE335F5D, - 0x14000000, 0x3FF005E1, 0x47430E04, 0x3E1073C1, - 0x14000000, 0x3FF005E5, 0x4A41E248, 0x3E3BA944, - 0x18000000, 0x3FF005E9, 0xB06E888E, 0xBE2974C3, - 0x18000000, 0x3FF005ED, 0xDCCD9333, 0x3E25E3FB, - 0x1C000000, 0x3FF005F1, 0x5DE27951, 0xBE3D519C, - 0x1C000000, 0x3FF005F5, 0xE4464502, 0xBE1614C2, - 0x1C000000, 0x3FF005F9, 0xE0DAFE93, 0x3E325740, - 0x20000000, 0x3FF005FD, 0x8C1B4C10, 0xBE35BC47, - 0x20000000, 0x3FF00601, 0x20686CE9, 0x3E0201B0, - 0x20000000, 0x3FF00605, 0x95558B63, 0x3E3A4CB9, - 0x24000000, 0x3FF00609, 0xA880A3EB, 0xBE2B2D79, - 0x24000000, 0x3FF0060D, 0x9699EEB7, 0x3E252BA5, - 0x28000000, 0x3FF00611, 0x880115E1, 0xBE3D2D97, - 0x28000000, 0x3FF00615, 0x28A3D788, 0xBE1383EF, - 0x28000000, 0x3FF00619, 0x08D6DC23, 0x3E337BA6, - 0x2C000000, 0x3FF0061D, 0x0B001A08, 0xBE3417B2, - 0x2C000000, 0x3FF00621, 0xF94EB99A, 0x3E1193EF, - 0x2C000000, 0x3FF00625, 0x28D3BD3B, 0x3E3CF1B0, - 0x30000000, 0x3FF00629, 0x0EFCC982, 0xBE24E32B, - 0x30000000, 0x3FF0062D, 0xE2BDA47F, 0x3E2C7655, - 0x34000000, 0x3FF00631, 0x689312F8, 0xBE39080E, - 0x34000000, 0x3FF00635, 0xA9444DB4, 0xBDCDA0C8, - 0x34000000, 0x3FF00639, 0x7B21FE23, 0x3E38A191, - 0x38000000, 0x3FF0063D, 0x7E67E1E1, 0xBE2CE32A, - 0x38000000, 0x3FF00641, 0x875A71F0, 0x3E251694, - 0x3C000000, 0x3FF00645, 0xF838F455, 0xBE3C67CF, - 0x3C000000, 0x3FF00649, 0x77274052, 0xBE0A571F, - 0x3C000000, 0x3FF0064D, 0x63AAEFA8, 0x3E35E20E, - 0x40000000, 0x3FF00651, 0xFC87DA70, 0xBE30E0F8, - 0x40000000, 0x3FF00655, 0xE9089AFD, 0x3E20D80B, - 0x44000000, 0x3FF00659, 0xC52F03BD, 0xBE3E36F4, - 0x44000000, 0x3FF0065D, 0x9680E14E, 0xBE1327A4, - 0x44000000, 0x3FF00661, 0xD732468D, 0x3E34B328, - 0x48000000, 0x3FF00665, 0xCAB5EF4A, 0xBE31BFBE, - 0x48000000, 0x3FF00669, 0xE2A2FBE1, 0x3E1F757F, - 0x4C000000, 0x3FF0066D, 0xDAB014DA, 0xBE3E757A, - 0x4C000000, 0x3FF00671, 0x02FB3FBB, 0xBE12E13D, - 0x4C000000, 0x3FF00675, 0xCA7E298D, 0x3E3514E2, - 0x50000000, 0x3FF00679, 0xB4F78B94, 0xBE310DE4, - 0x50000000, 0x3FF0067D, 0x89C35D05, 0x3E21BEB4, - 0x54000000, 0x3FF00681, 0x43F4895C, 0xBE3D2360, - 0x54000000, 0x3FF00685, 0x5BC49ADF, 0xBE08B0A2, - 0x54000000, 0x3FF00689, 0x32573159, 0x3E37073E, - 0x58000000, 0x3FF0068D, 0x8D0732D2, 0xBE2D96D1, - 0x58000000, 0x3FF00691, 0x9BF15E67, 0x3E26E3ED, - 0x5C000000, 0x3FF00695, 0x0C3250FB, 0xBE3A40A3, - 0x5C000000, 0x3FF00699, 0xFD0AE214, 0x3DBCC9AE, - 0x5C000000, 0x3FF0069D, 0x038868A1, 0x3E3A8A3D, - 0x60000000, 0x3FF006A1, 0x151D21CE, 0xBE25F092, - 0x60000000, 0x3FF006A5, 0x11738C43, 0x3E2F2A6F, - 0x64000000, 0x3FF006A9, 0x3E9CE96D, 0xBE35CD41, - 0x64000000, 0x3FF006AD, 0x8DBC2918, 0x3E138132, - 0x64000000, 0x3FF006B1, 0x32DF4C13, 0x3E3F9DE1, - 0x68000000, 0x3FF006B5, 0x3129E0B2, 0xBE16520E, - 0x68000000, 0x3FF006B9, 0x69F36A61, 0x3E35491E, - 0x6C000000, 0x3FF006BD, 0xCCCABCD4, 0xBE2F9271, - 0x6C000000, 0x3FF006C1, 0x0D59B899, 0x3E2668ED, - 0x70000000, 0x3FF006C5, 0x4AD435A0, 0xBE39BDD3, - 0x70000000, 0x3FF006C9, 0x9191CABB, 0x3DF5FE9A, - 0x70000000, 0x3FF006CD, 0x6676850B, 0x3E3C8DAD, - 0x74000000, 0x3FF006D1, 0x1D74934A, 0xBE206910, - 0x74000000, 0x3FF006D5, 0x4D886478, 0x3E331949, - 0x78000000, 0x3FF006D9, 0x80BFBBC2, 0xBE3188DE, - 0x78000000, 0x3FF006DD, 0x14DE1719, 0x3E23CA01, - 0x7C000000, 0x3FF006E1, 0x8CE98EC0, 0xBE3A9D19, - 0x7C000000, 0x3FF006E5, 0xA705A6E7, 0x3DEE1A67, - 0x7C000000, 0x3FF006E9, 0xECD5F851, 0x3E3C8EC6, - 0x80000000, 0x3FF006ED, 0xE839CE4D, 0xBE1F0CF9, - 0x80000000, 0x3FF006F1, 0x0C8CA46A, 0x3E33FAC3, - 0x84000000, 0x3FF006F5, 0x7B5703D8, 0xBE303734, - 0x84000000, 0x3FF006F9, 0xE490A112, 0x3E274DB5, - 0x88000000, 0x3FF006FD, 0xA693A093, 0xBE386B0E, - 0x88000000, 0x3FF00701, 0xF0B73DAA, 0x3E0C9875, - 0x88000000, 0x3FF00705, 0x2449A944, 0x3E3FA133, - 0x8C000000, 0x3FF00709, 0xBFE66C14, 0xBE110285, - 0x8C000000, 0x3FF0070D, 0x054EDCBD, 0x3E37ED91, - 0x90000000, 0x3FF00711, 0xEFB65924, 0xBE27A86A, - 0x90000000, 0x3FF00715, 0x1C8A0CF1, 0x3E307A0B, - 0x94000000, 0x3FF00719, 0x397FB1D6, 0xBE3327AD, - 0x94000000, 0x3FF0071D, 0x1412B9FB, 0x3E228D43, - 0x98000000, 0x3FF00721, 0x94D8FFB0, 0xBE3A3B08, - 0x98000000, 0x3FF00725, 0x6ED80040, 0x3E029AA3, - 0x98000000, 0x3FF00729, 0x9627250A, 0x3E3EF1B8, - 0x9C000000, 0x3FF0072D, 0x5FCB1B09, 0xBE117F70, - 0x9C000000, 0x3FF00731, 0x678F0789, 0x3E385E96, - 0xA0000000, 0x3FF00735, 0xCEA3485B, 0xBE25A5DF, - 0xA0000000, 0x3FF00739, 0xFF6D0303, 0x3E320B90, - 0xA4000000, 0x3FF0073D, 0xE03334FF, 0xBE3105E6, - 0xA4000000, 0x3FF00741, 0xFB9F056D, 0x3E27F150, - 0xA8000000, 0x3FF00745, 0xE28905F4, 0xBE36F8C0, - 0xA8000000, 0x3FF00749, 0x0B1407AA, 0x3E189774, - 0xAC000000, 0x3FF0074D, 0xCE4493C4, 0xBE3CAB7D, - 0xAC000000, 0x3FF00751, 0xCB817D78, 0x3DE265D5, - 0xAC000000, 0x3FF00755, 0x7CA8B4E3, 0x3E3DE1E2, - 0xB0000000, 0x3FF00759, 0x7D730FC6, 0xBE12FD89, - 0xB0000000, 0x3FF0075D, 0x1E4D7759, 0x3E38AF60, - 0xB4000000, 0x3FF00761, 0x0CAD84A2, 0xBE23A3AC, - 0xB4000000, 0x3FF00765, 0x36B866FD, 0x3E33BCFB, - 0xB8000000, 0x3FF00769, 0x4D0667A1, 0xBE2D4858, - 0xB8000000, 0x3FF0076D, 0xCBF08E6A, 0x3E2E1567, - 0xBC000000, 0x3FF00771, 0x9FD34D05, 0xBE333664, - 0xBC000000, 0x3FF00775, 0x9837D6E0, 0x3E253114, - 0xC0000000, 0x3FF00779, 0x5238327D, 0xBE37887F, - 0xC0000000, 0x3FF0077D, 0x24C8DC90, 0x3E1999FA, - 0xC4000000, 0x3FF00781, 0x1DA2F8BE, 0xBE3B9A7C, - 0xC4000000, 0x3FF00785, 0xEA50EE6A, 0x3E03A485, - 0xC8000000, 0x3FF00789, 0xE204A449, 0xBE3F6C5A, - 0xC8000000, 0x3FF0078D, 0x78D5D0F3, 0xBDF3D3EF, - 0xC8000000, 0x3FF00791, 0x80B1D66C, 0x3E3D01E4, - 0xCC000000, 0x3FF00795, 0xD5149796, 0xBE12BBC1, - 0xCC000000, 0x3FF00799, 0x2A8F92F0, 0x3E39B042, - 0xD0000000, 0x3FF0079D, 0x6F386487, 0xBE1F820E, - 0xD0000000, 0x3FF007A1, 0x3BA3BCDA, 0x3E369EBE, - 0xD4000000, 0x3FF007A5, 0x96320652, 0xBE25A3F0, - 0xD4000000, 0x3FF007A9, 0xD3FD8FCA, 0x3E33CD58, - 0xD8000000, 0x3FF007AD, 0xC62D40B1, 0xBE2B069C, - 0xD8000000, 0x3FF007B1, 0x13AC5766, 0x3E313C12, - 0xDC000000, 0x3FF007B5, 0x876F3A0B, 0xBE2FE90B, - 0xDC000000, 0x3FF007B9, 0x357EDEB8, 0x3E2DD5D4, - 0xE0000000, 0x3FF007BD, 0x4CEC957E, 0xBE32259E, - 0xE0000000, 0x3FF007C1, 0x128C86C6, 0x3E29B3C2, - 0xE4000000, 0x3FF007C5, 0xDEA61608, 0xBE341697, - 0xE4000000, 0x3FF007C9, 0xFEA09E70, 0x3E2611ED, - 0xE8000000, 0x3FF007CD, 0x58D49AE3, 0xBE35C772, - 0xE8000000, 0x3FF007D1, 0x39DA3D42, 0x3E22F058, - 0xEC000000, 0x3FF007D5, 0x9B689043, 0xBE37382D, - 0xEC000000, 0x3FF007D9, 0x04589AD6, 0x3E204F01, - 0xF0000000, 0x3FF007DD, 0x86525259, 0xBE3868C9, - 0xF0000000, 0x3FF007E1, 0x3C761DAC, 0x3E1C5BD1, - 0xF4000000, 0x3FF007E5, 0xF9822D4C, 0xBE395945, - 0xF4000000, 0x3FF007E9, 0x8F4221F9, 0x3E191A1E, - 0xF8000000, 0x3FF007ED, 0xD4E85D3A, 0xBE3A09A2, - 0xF8000000, 0x3FF007F1, 0x81547225, 0x3E16D8EA, - 0xFC000000, 0x3FF007F5, 0xF8750E3B, 0xBE3A79DF, - 0xFC000000, 0x3FF007F9, 0x92EC7DE3, 0x3E159835, - 0x00000000, 0x3FF007FE, 0x44185C5D, 0xBE3AA9FD } }; - -#endif -#endif diff --git a/sysdeps/m68k/m680x0/fpu/e_exp_data.c b/sysdeps/m68k/m680x0/fpu/e_exp_data.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/m68k/m680x0/fpu/e_exp_data.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/m68k/m680x0/fpu/math_err.c b/sysdeps/m68k/m680x0/fpu/math_err.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/m68k/m680x0/fpu/math_err.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/m68k/m680x0/fpu/t_exp.c b/sysdeps/m68k/m680x0/fpu/t_exp.c deleted file mode 100644 index fd37963b05..0000000000 --- a/sysdeps/m68k/m680x0/fpu/t_exp.c +++ /dev/null @@ -1 +0,0 @@ -/* Empty. Not needed. */ From patchwork Fri Jul 6 09:04:14 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Szabolcs Nagy X-Patchwork-Id: 940342 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=sourceware.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=libc-alpha-return-94055-incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b="mqStMdrH"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=armh.onmicrosoft.com header.i=@armh.onmicrosoft.com header.b="q1Byq434"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41MTLr30Nmz9s47 for ; Fri, 6 Jul 2018 19:04:36 +1000 (AEST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:cc:subject:to:references:from:message-id:date :mime-version:in-reply-to:content-type; q=dns; s=default; b=CgR2 Pdh360rT6C+UClfrUv0efy5WBuPzPGvUcIH1KWWfTI2JJDTKjKrSdGIeuDaRpbPH 12I9i/Re0E3dssNds/nz9uBltA097KmLbMr/QM+4qt5CTZjNnYLTIP62I776/Zdz dS9AgaJ4Vr4hN+H//txgvcXBSmlUxvHnhrNsTzg= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:cc:subject:to:references:from:message-id:date :mime-version:in-reply-to:content-type; s=default; bh=+yOWXuamci WokQu1wV+dcyoqpR4=; b=mqStMdrHcfpllJPpHG1iWhqdXx91LZ/8FyBTEMUpcm nRFvuwhRiY8E4jKHsfGvOgx2Wtn3B1QuSy1BqUPr61aCZMW54iltiEn3BjVZ4wzN DsyK0jnNsr64jpPS8EZybFA0TUE3xjkq6TSEOcMeE2L5yGArb9gWFZpK0Ek9QhOx A= Received: (qmail 60395 invoked by alias); 6 Jul 2018 09:04:25 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 60372 invoked by uid 89); 6 Jul 2018 09:04:24 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-25.9 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 spammy=Real, 12209 X-HELO: EUR02-VE1-obe.outbound.protection.outlook.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HavsHkvPE75eTGK0Vly2uc0NsFkHIQ/zIBA7nbRlSHo=; b=q1Byq434/1yVqYgD+TytD0hliYDIeLBw5XmjPWbNl0SYgdhi2Z1bfUhDq/uJFQkig8o0cupC9tD1jf/GpkhowuJSCCSDsfeqSlBjQvcooaGsoMZHbX/OtKENaCRx/w9TfRulRMIW/4OgnBC0ro8gVLIqbXhU6oS7ZCUdafVh20M= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Szabolcs.Nagy@arm.com; Cc: nd@arm.com Subject: [PATCH 05/10] aarch64: update libm-test-ulps To: GNU C Library References: From: Szabolcs Nagy Message-ID: <3e0675c8-a12b-ed8a-132f-f332c064a430@arm.com> Date: Fri, 6 Jul 2018 10:04:14 +0100 User-Agent: Mozilla/5.0 (X11; Linux aarch64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: Received-SPF: None (protection.outlook.com: arm.com does not designate permitted sender hosts) Update error bounds for the new exp implementation. Only non-nearest rounding ulp bounds increased. 2018-07-06 Szabolcs Nagy * sysdeps/aarch64/libm-test-ulps: Update. --- sysdeps/aarch64/libm-test-ulps | 88 +++++++++++++++++++++--------------------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/sysdeps/aarch64/libm-test-ulps b/sysdeps/aarch64/libm-test-ulps index 6a89028459..585e5bbce7 100644 --- a/sysdeps/aarch64/libm-test-ulps +++ b/sysdeps/aarch64/libm-test-ulps @@ -716,9 +716,9 @@ ildouble: 2 ldouble: 2 Function: Imaginary part of "ccos_downward": -double: 2 +double: 3 float: 3 -idouble: 2 +idouble: 3 ifloat: 3 ildouble: 2 ldouble: 2 @@ -732,9 +732,9 @@ ildouble: 2 ldouble: 2 Function: Imaginary part of "ccos_towardzero": -double: 2 +double: 3 float: 3 -idouble: 2 +idouble: 3 ifloat: 3 ildouble: 2 ldouble: 2 @@ -772,33 +772,33 @@ ildouble: 1 ldouble: 1 Function: Real part of "ccosh_downward": -double: 1 +double: 2 float: 3 -idouble: 1 +idouble: 2 ifloat: 3 ildouble: 2 ldouble: 2 Function: Imaginary part of "ccosh_downward": -double: 2 +double: 3 float: 3 -idouble: 2 +idouble: 3 ifloat: 3 ildouble: 2 ldouble: 2 Function: Real part of "ccosh_towardzero": -double: 1 +double: 2 float: 3 -idouble: 1 +idouble: 2 ifloat: 3 ildouble: 2 ldouble: 2 Function: Imaginary part of "ccosh_towardzero": -double: 2 +double: 3 float: 3 -idouble: 2 +idouble: 3 ifloat: 3 ildouble: 2 ldouble: 2 @@ -836,33 +836,33 @@ ildouble: 1 ldouble: 1 Function: Real part of "cexp_downward": -double: 1 +double: 2 float: 2 -idouble: 1 +idouble: 2 ifloat: 2 ildouble: 2 ldouble: 2 Function: Imaginary part of "cexp_downward": -double: 1 +double: 3 float: 3 -idouble: 1 +idouble: 3 ifloat: 3 ildouble: 2 ldouble: 2 Function: Real part of "cexp_towardzero": -double: 1 +double: 2 float: 2 -idouble: 1 +idouble: 2 ifloat: 2 ildouble: 2 ldouble: 2 Function: Imaginary part of "cexp_towardzero": -double: 1 +double: 3 float: 3 -idouble: 1 +idouble: 3 ifloat: 3 ildouble: 2 ldouble: 2 @@ -876,9 +876,9 @@ ildouble: 3 ldouble: 3 Function: Imaginary part of "cexp_upward": -double: 1 +double: 3 float: 2 -idouble: 1 +idouble: 3 ifloat: 2 ildouble: 3 ldouble: 3 @@ -1052,25 +1052,25 @@ ildouble: 1 ldouble: 1 Function: "cosh_downward": -double: 1 +double: 2 float: 1 -idouble: 1 +idouble: 2 ifloat: 1 ildouble: 1 ldouble: 2 Function: "cosh_towardzero": -double: 1 +double: 2 float: 1 -idouble: 1 +idouble: 2 ifloat: 1 ildouble: 1 ldouble: 2 Function: "cosh_upward": -double: 1 +double: 2 float: 2 -idouble: 1 +idouble: 2 ifloat: 2 ildouble: 1 ldouble: 3 @@ -1090,9 +1090,9 @@ ildouble: 1 ldouble: 1 Function: Real part of "cpow_downward": -double: 4 +double: 5 float: 8 -idouble: 4 +idouble: 5 ifloat: 8 ildouble: 6 ldouble: 6 @@ -1106,9 +1106,9 @@ ildouble: 2 ldouble: 2 Function: Real part of "cpow_towardzero": -double: 4 +double: 5 float: 8 -idouble: 4 +idouble: 5 ifloat: 8 ildouble: 6 ldouble: 6 @@ -1150,9 +1150,9 @@ ildouble: 1 ldouble: 1 Function: Real part of "csin_downward": -double: 2 +double: 3 float: 3 -idouble: 2 +idouble: 3 ifloat: 3 ildouble: 2 ldouble: 2 @@ -1166,9 +1166,9 @@ ildouble: 2 ldouble: 2 Function: Real part of "csin_towardzero": -double: 2 +double: 3 float: 3 -idouble: 2 +idouble: 3 ifloat: 3 ildouble: 2 ldouble: 2 @@ -1220,9 +1220,9 @@ ildouble: 2 ldouble: 2 Function: Imaginary part of "csinh_downward": -double: 2 +double: 3 float: 3 -idouble: 2 +idouble: 3 ifloat: 3 ildouble: 2 ldouble: 2 @@ -1236,9 +1236,9 @@ ildouble: 2 ldouble: 2 Function: Imaginary part of "csinh_towardzero": -double: 2 +double: 3 float: 3 -idouble: 2 +idouble: 3 ifloat: 3 ildouble: 2 ldouble: 2 @@ -1492,9 +1492,9 @@ ildouble: 2 ldouble: 2 Function: "erfc_downward": -double: 3 +double: 4 float: 4 -idouble: 3 +idouble: 4 ifloat: 4 ildouble: 5 ldouble: 5 @@ -1508,9 +1508,9 @@ ildouble: 4 ldouble: 4 Function: "erfc_upward": -double: 3 +double: 4 float: 4 -idouble: 3 +idouble: 4 ifloat: 4 ildouble: 5 ldouble: 5 From patchwork Fri Jul 6 09:05:35 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Szabolcs Nagy X-Patchwork-Id: 940343 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=sourceware.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=libc-alpha-return-94056-incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b="cXYR68RA"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=armh.onmicrosoft.com header.i=@armh.onmicrosoft.com header.b="TBDSDjV8"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41MTNK6294z9s1B for ; Fri, 6 Jul 2018 19:05:53 +1000 (AEST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:cc:subject:to:references:from:message-id:date :mime-version:in-reply-to:content-type; q=dns; s=default; b=dzKZ F0dlVSSXhVkFuKrdzXy50hSNFjxM69LTm3AYZKd0RNfW8UnkphmJcwk92qJj9K16 ajEw3ZTVC+WRwxTGDGLVUN0Lc+T0t371/imCzOJ+JXuCREoxHJDa2IZH38o8b6mK 52WhbzhT9RdRpHQ6yCExpt1yIFVYDuj22NolpfA= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:cc:subject:to:references:from:message-id:date :mime-version:in-reply-to:content-type; s=default; bh=cjpdPt4DVE kdXtv77hTgJa153IA=; b=cXYR68RA2hbhZkF3vDqmEuG4qtjaiIGWpxZDRNzaoT hEta+Q02lGqigpLSW/GjAu3nbLpsI4eWcvu5Dp95/63aMrwDjvoRyabYFTghtYe7 SI9MZEOXp3LrM2XvboFJaaSBam+7eSIZAxYA3lQx7zdmwDN9gLPxalKeFiuWeRXl s= Received: (qmail 62454 invoked by alias); 6 Jul 2018 09:05:47 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 62385 invoked by uid 89); 6 Jul 2018 09:05:43 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-25.9 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 spammy=clog X-HELO: EUR03-AM5-obe.outbound.protection.outlook.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DyO0MzNDV1TVjgeRfWXYghiXDoEhuFyP9R567Q/gflk=; b=TBDSDjV8KUl5Hm0+11IgmeM9QHMdQOxAkeRakNWVea27E6Td4xYB7R5cz/mOeQJCjCelW5roKjIxVO4SpKB8h4bY2gLgX3kE33eIQk+E2nHf7xNPoQk5xU9iZGO3lg195ZoVt4pBFzNprzw3XhQw2PVBA1rkUwhkKd0bDDrtIvE= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Szabolcs.Nagy@arm.com; Cc: nd@arm.com Subject: [PATCH 06/10] arm: update libm-test-ulps To: libc-alpha@sourceware.org References: From: Szabolcs Nagy Message-ID: <36c87521-bb8f-2b92-a99d-b8dfde52b59a@arm.com> Date: Fri, 6 Jul 2018 10:05:35 +0100 User-Agent: Mozilla/5.0 (X11; Linux aarch64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: Received-SPF: None (protection.outlook.com: arm.com does not designate permitted sender hosts) Update error bounds for the new exp implementation. Only non-nearest rounding ulp bounds increased. 2018-07-06 Szabolcs Nagy * sysdeps/arm/libm-test-ulps: Update. --- sysdeps/arm/libm-test-ulps | 88 +++++++++++++++++++++++----------------------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/sysdeps/arm/libm-test-ulps b/sysdeps/arm/libm-test-ulps index e62cca3e03..798e3c465c 100644 --- a/sysdeps/arm/libm-test-ulps +++ b/sysdeps/arm/libm-test-ulps @@ -530,9 +530,9 @@ idouble: 1 ifloat: 1 Function: Imaginary part of "ccos_downward": -double: 2 +double: 3 float: 3 -idouble: 2 +idouble: 3 ifloat: 3 Function: Real part of "ccos_towardzero": @@ -542,9 +542,9 @@ idouble: 1 ifloat: 2 Function: Imaginary part of "ccos_towardzero": -double: 2 +double: 3 float: 3 -idouble: 2 +idouble: 3 ifloat: 3 Function: Real part of "ccos_upward": @@ -572,27 +572,27 @@ idouble: 1 ifloat: 1 Function: Real part of "ccosh_downward": -double: 1 +double: 2 float: 3 -idouble: 1 +idouble: 2 ifloat: 3 Function: Imaginary part of "ccosh_downward": -double: 2 +double: 3 float: 3 -idouble: 2 +idouble: 3 ifloat: 3 Function: Real part of "ccosh_towardzero": -double: 1 +double: 2 float: 3 -idouble: 1 +idouble: 2 ifloat: 3 Function: Imaginary part of "ccosh_towardzero": -double: 2 +double: 3 float: 3 -idouble: 2 +idouble: 3 ifloat: 3 Function: Real part of "ccosh_upward": @@ -620,27 +620,27 @@ idouble: 1 ifloat: 2 Function: Real part of "cexp_downward": -double: 1 +double: 2 float: 2 -idouble: 1 +idouble: 2 ifloat: 2 Function: Imaginary part of "cexp_downward": -double: 1 +double: 3 float: 3 -idouble: 1 +idouble: 3 ifloat: 3 Function: Real part of "cexp_towardzero": -double: 1 +double: 2 float: 2 -idouble: 1 +idouble: 2 ifloat: 2 Function: Imaginary part of "cexp_towardzero": -double: 1 +double: 3 float: 3 -idouble: 1 +idouble: 3 ifloat: 3 Function: Real part of "cexp_upward": @@ -650,9 +650,9 @@ idouble: 1 ifloat: 2 Function: Imaginary part of "cexp_upward": -double: 1 +double: 3 float: 2 -idouble: 1 +idouble: 3 ifloat: 2 Function: Real part of "clog": @@ -780,21 +780,21 @@ idouble: 1 ifloat: 1 Function: "cosh_downward": -double: 1 +double: 2 float: 1 -idouble: 1 +idouble: 2 ifloat: 1 Function: "cosh_towardzero": -double: 1 +double: 2 float: 1 -idouble: 1 +idouble: 2 ifloat: 1 Function: "cosh_upward": -double: 1 +double: 2 float: 2 -idouble: 1 +idouble: 2 ifloat: 2 Function: Real part of "cpow": @@ -808,9 +808,9 @@ float: 2 ifloat: 2 Function: Real part of "cpow_downward": -double: 4 +double: 5 float: 8 -idouble: 4 +idouble: 5 ifloat: 8 Function: Imaginary part of "cpow_downward": @@ -820,9 +820,9 @@ idouble: 1 ifloat: 2 Function: Real part of "cpow_towardzero": -double: 4 +double: 5 float: 8 -idouble: 4 +idouble: 5 ifloat: 8 Function: Imaginary part of "cpow_towardzero": @@ -850,9 +850,9 @@ idouble: 1 ifloat: 1 Function: Real part of "csin_downward": -double: 2 +double: 3 float: 3 -idouble: 2 +idouble: 3 ifloat: 3 Function: Imaginary part of "csin_downward": @@ -862,9 +862,9 @@ idouble: 1 ifloat: 1 Function: Real part of "csin_towardzero": -double: 2 +double: 3 float: 3 -idouble: 2 +idouble: 3 ifloat: 3 Function: Imaginary part of "csin_towardzero": @@ -902,9 +902,9 @@ idouble: 2 ifloat: 2 Function: Imaginary part of "csinh_downward": -double: 2 +double: 3 float: 3 -idouble: 2 +idouble: 3 ifloat: 3 Function: Real part of "csinh_towardzero": @@ -914,9 +914,9 @@ idouble: 2 ifloat: 2 Function: Imaginary part of "csinh_towardzero": -double: 2 +double: 3 float: 3 -idouble: 2 +idouble: 3 ifloat: 3 Function: Real part of "csinh_upward": @@ -1132,15 +1132,15 @@ double: 2 idouble: 2 Function: "exp10_downward": -double: 2 +double: 3 float: 1 -idouble: 2 +idouble: 3 ifloat: 1 Function: "exp10_towardzero": -double: 2 +double: 3 float: 1 -idouble: 2 +idouble: 3 ifloat: 1 Function: "exp10_upward": From patchwork Fri Jul 6 09:06:49 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Szabolcs Nagy X-Patchwork-Id: 940344 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=sourceware.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=libc-alpha-return-94057-incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b="XzpwwGZN"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=armh.onmicrosoft.com header.i=@armh.onmicrosoft.com header.b="VdANKFHR"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41MTPh1VV0z9s1B for ; Fri, 6 Jul 2018 19:07:04 +1000 (AEST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:cc:subject:to:references:from:message-id:date :mime-version:in-reply-to:content-type; q=dns; s=default; b=VSJn N1TDnZ41DoIujjVazq/Kiv4Z5RrvmMVCnFIRsu7Ex8sjgUHNFAGP0OuU6GeYqqam 9iuZRMg0NghXDfvOqezRfAuJdcFr6La6Vo85A8Vza7UmFHMl/gRkksmGttExqhYP zZjmmDEuMBrl+KLGHRWSN0TQ3MpR86cPEE/eTrQ= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:cc:subject:to:references:from:message-id:date :mime-version:in-reply-to:content-type; s=default; bh=8nOC3OUZxO C94K1/bwpSwPI8Avo=; b=XzpwwGZNyVDRpqXpTV6aYsTXQ9K0RFky4cOoOkrTP9 OD5ZUz0OAJcrz3huImknHWfdb/qGURErUdRMMMQ+hEDiuEipQWAXOZ6DUKXrW7rO 8o0jHcppR7R2K2daWk0i0RD9Au7ogYx4gdTwKROdCjlg+OrE17K2tXAgSrr227q9 U= Received: (qmail 64001 invoked by alias); 6 Jul 2018 09:06:58 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 63988 invoked by uid 89); 6 Jul 2018 09:06:56 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-25.9 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: EUR02-VE1-obe.outbound.protection.outlook.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oSyjCSxK13wHIlDdjucL/U9E6mrCd6u/M+jYx6gFi/w=; b=VdANKFHRl8XePc4ljmibZxogCjCbTZ6kpdUK3ef+HiZhPV4KpMXQY3K1zanRgg4Cfdx0kNJUIabg/aP+XMkqeP/pbB+Jd8XfpkuXnL0i4P0r6SRXaVsyRv13Eximvfbxy6wwuAD7vQBWUWViUxDqOGVRULcSCNoH/+V3S0ewJFc= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Szabolcs.Nagy@arm.com; Cc: nd@arm.com Subject: [PATCH 07/10] x86_64: update libm-test-ulps To: libc-alpha@sourceware.org References: From: Szabolcs Nagy Message-ID: Date: Fri, 6 Jul 2018 10:06:49 +0100 User-Agent: Mozilla/5.0 (X11; Linux aarch64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: Received-SPF: None (protection.outlook.com: arm.com does not designate permitted sender hosts) Update error bounds for the new exp implementation. Only non-nearest rounding ulp bounds increased. 2018-07-06 Szabolcs Nagy * sysdeps/x86_64/fpu/libm-test-ulps: Update. --- sysdeps/x86_64/fpu/libm-test-ulps | 94 +++++++++++++++++++-------------------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index a51faecfc7..493ad8749d 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -894,10 +894,10 @@ ildouble: 3 ldouble: 3 Function: Imaginary part of "ccos_downward": -double: 2 +double: 3 float: 3 float128: 2 -idouble: 2 +idouble: 3 ifloat: 3 ifloat128: 2 ildouble: 3 @@ -914,10 +914,10 @@ ildouble: 3 ldouble: 3 Function: Imaginary part of "ccos_towardzero": -double: 2 +double: 3 float: 3 float128: 2 -idouble: 2 +idouble: 3 ifloat: 3 ifloat128: 2 ildouble: 3 @@ -964,40 +964,40 @@ ildouble: 1 ldouble: 1 Function: Real part of "ccosh_downward": -double: 1 +double: 2 float: 2 float128: 2 -idouble: 1 +idouble: 2 ifloat: 2 ifloat128: 2 ildouble: 3 ldouble: 3 Function: Imaginary part of "ccosh_downward": -double: 2 +double: 3 float: 3 float128: 2 -idouble: 2 +idouble: 3 ifloat: 3 ifloat128: 2 ildouble: 3 ldouble: 3 Function: Real part of "ccosh_towardzero": -double: 1 +double: 2 float: 3 float128: 2 -idouble: 1 +idouble: 2 ifloat: 3 ifloat128: 2 ildouble: 3 ldouble: 3 Function: Imaginary part of "ccosh_towardzero": -double: 2 +double: 3 float: 3 float128: 2 -idouble: 2 +idouble: 3 ifloat: 3 ifloat128: 2 ildouble: 3 @@ -1044,40 +1044,40 @@ ildouble: 1 ldouble: 1 Function: Real part of "cexp_downward": -double: 1 +double: 2 float: 2 float128: 2 -idouble: 1 +idouble: 2 ifloat: 2 ifloat128: 2 ildouble: 3 ldouble: 3 Function: Imaginary part of "cexp_downward": -double: 1 +double: 3 float: 3 float128: 2 -idouble: 1 +idouble: 3 ifloat: 3 ifloat128: 2 ildouble: 3 ldouble: 3 Function: Real part of "cexp_towardzero": -double: 1 +double: 2 float: 2 float128: 2 -idouble: 1 +idouble: 2 ifloat: 2 ifloat128: 2 ildouble: 3 ldouble: 3 Function: Imaginary part of "cexp_towardzero": -double: 1 +double: 3 float: 3 float128: 2 -idouble: 1 +idouble: 3 ifloat: 3 ifloat128: 2 ildouble: 3 @@ -1094,10 +1094,10 @@ ildouble: 2 ldouble: 2 Function: Imaginary part of "cexp_upward": -double: 1 +double: 3 float: 2 float128: 3 -idouble: 1 +idouble: 3 ifloat: 2 ifloat128: 3 ildouble: 3 @@ -1330,30 +1330,30 @@ ildouble: 2 ldouble: 2 Function: "cosh_downward": -double: 1 +double: 2 float: 1 float128: 2 -idouble: 1 +idouble: 2 ifloat: 1 ifloat128: 1 ildouble: 2 ldouble: 3 Function: "cosh_towardzero": -double: 1 +double: 2 float: 1 float128: 2 -idouble: 1 +idouble: 2 ifloat: 1 ifloat128: 1 ildouble: 2 ldouble: 2 Function: "cosh_upward": -double: 1 +double: 2 float: 2 float128: 3 -idouble: 1 +idouble: 2 ifloat: 2 ifloat128: 1 ildouble: 2 @@ -1378,10 +1378,10 @@ ildouble: 4 ldouble: 4 Function: Real part of "cpow_downward": -double: 4 +double: 5 float: 8 float128: 6 -idouble: 4 +idouble: 5 ifloat: 8 ifloat128: 6 ildouble: 7 @@ -1398,10 +1398,10 @@ ildouble: 2 ldouble: 2 Function: Real part of "cpow_towardzero": -double: 4 +double: 5 float: 8 float128: 6 -idouble: 4 +idouble: 5 ifloat: 8 ifloat128: 6 ildouble: 7 @@ -1452,10 +1452,10 @@ float128: 1 ifloat128: 1 Function: Real part of "csin_downward": -double: 2 +double: 3 float: 3 float128: 2 -idouble: 2 +idouble: 3 ifloat: 3 ifloat128: 2 ildouble: 3 @@ -1472,10 +1472,10 @@ ildouble: 3 ldouble: 3 Function: Real part of "csin_towardzero": -double: 2 +double: 3 float: 3 float128: 2 -idouble: 2 +idouble: 3 ifloat: 3 ifloat128: 2 ildouble: 3 @@ -1540,10 +1540,10 @@ ildouble: 3 ldouble: 3 Function: Imaginary part of "csinh_downward": -double: 2 +double: 3 float: 3 float128: 2 -idouble: 2 +idouble: 3 ifloat: 3 ifloat128: 2 ildouble: 3 @@ -1560,10 +1560,10 @@ ildouble: 3 ldouble: 3 Function: Imaginary part of "csinh_towardzero": -double: 2 +double: 3 float: 3 float128: 2 -idouble: 2 +idouble: 3 ifloat: 3 ifloat128: 2 ildouble: 3 @@ -1924,20 +1924,20 @@ ildouble: 1 ldouble: 1 Function: "exp10_downward": -double: 2 +double: 3 float: 1 float128: 3 -idouble: 2 +idouble: 3 ifloat: 1 ifloat128: 3 ildouble: 2 ldouble: 2 Function: "exp10_towardzero": -double: 2 +double: 3 float: 1 float128: 3 -idouble: 2 +idouble: 3 ifloat: 1 ifloat128: 3 ildouble: 2 @@ -2548,14 +2548,14 @@ double: 1 float: 1 float128: 3 idouble: 1 -ifloat:1 +ifloat: 1 ifloat128: 3 ildouble: 3 ldouble: 3 Function: "sin_towardzero": double: 1 -float:1 +float: 1 float128: 2 idouble: 1 ifloat: 1 @@ -2565,7 +2565,7 @@ ldouble: 2 Function: "sin_upward": double: 1 -float:1 +float: 1 float128: 3 idouble: 1 ifloat: 1 From patchwork Fri Jul 6 09:08:05 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Szabolcs Nagy X-Patchwork-Id: 940349 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=sourceware.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=libc-alpha-return-94058-incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b="ep6VU22k"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=armh.onmicrosoft.com header.i=@armh.onmicrosoft.com header.b="bkwt0qQq"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41MTRS3xBbz9s47 for ; Fri, 6 Jul 2018 19:08:36 +1000 (AEST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:cc:subject:to:references:from:message-id:date :mime-version:in-reply-to:content-type; q=dns; s=default; b=nkc5 gb38OFlB5W6pUXCALydyM948B2NxEpwumY9ESYjPzTQZ5HZLRxBDfi1EvIhaxhde naV64cPE+ytrGlgQBBrExe5R0xOLg0cHwQfdKp+apuvMqBVxgj+x1M+quHIY6tx6 ruvfwZcflwPbUFR+3qAfshRoYY7/uLlb+kBYrTk= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:cc:subject:to:references:from:message-id:date :mime-version:in-reply-to:content-type; s=default; bh=/8voP3EiQt xiHGAzgk2OQHVqQlY=; b=ep6VU22kA3+q6U3Zi/yr9whe6UKPFYCQcrdr58sUdR KQTz2XflF3AghIq3qaJgfSVJNbrg+rw88UTNKGLZsjPbvkThTsBD3f5OmJ8ypfk/ WTwVnABidwYgCa3g/XclaWFwAP5MYBPMY98Oi4CY6jYA05qMOiuTEQPx5VaAtNia 0= Received: (qmail 65751 invoked by alias); 6 Jul 2018 09:08:24 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 65734 invoked by uid 89); 6 Jul 2018 09:08:23 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-25.0 required=5.0 tests=GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS, TIME_LIMIT_EXCEEDED autolearn=unavailable version=3.3.2 spammy=NEEDED, 0249, nu, Near X-HELO: EUR03-DB5-obe.outbound.protection.outlook.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=iFS9vD3zuUXpYGIHYUNBJVRTnKNg7q+LHKx8QRkuVpg=; b=bkwt0qQqVZ/ncOqLyo1smSsE5rAD89DTwDBc9K5MpwwTb2/IgGUA/I+1EisajoY9LCefNSgkPgc/w34/RfrmQMHuyaq4M2xj/XlJPwpMzg0ywZWeTdtlzGt25KhY5fasFgf8uHsKNJVdEMHX8chFPAfTS9E9cK5zWtqWUNScWyA= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Szabolcs.Nagy@arm.com; Cc: nd@arm.com Subject: [PATCH 08/10] Add new log implementation To: libc-alpha@sourceware.org References: From: Szabolcs Nagy Message-ID: <66ab169b-df54-4d96-0a18-ed27f53e0912@arm.com> Date: Fri, 6 Jul 2018 10:08:05 +0100 User-Agent: Mozilla/5.0 (X11; Linux aarch64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: Received-SPF: None (protection.outlook.com: arm.com does not designate permitted sender hosts) v4: - Remove unused configurations and related code/data. - Update NEWS entry. - Document tested targets in the commit message. v3: - Add empty e_log_data.c to targets that have their own log. - Fix GNU style issues. - Document internal function semantics. - Fix remaining __FP_FAST_FMA that was missed in v2 - Add NEWS entry. v2: - Use __FP_FAST_FMA and __builtin_fma. Optimized log using carefully generated lookup table with 1/c and log(c) values for small intervalls around 1. The log(c) is very near a double precision value, it has about 62 bits precision. The algorithm is log(2^k x) = k log(2) + log(c) + log(x/c), where the last term is approximated by a polynomial of x/c - 1. Near 1 a single polynomial of x - 1 is used. There is separate code path when fma instruction is not available for computing x/c - 1 precisely, in which case the table size is doubled. The code uses __builtin_fma under __FP_FAST_FMA to ensure it is inlined as an instruction. With the default configuration settings the worst case error is 0.519 ULP (and 0.520 without fma), the rodata size is 2192 bytes (4240 without fma). The non-nearest rounding error is less than 1 ULP. Improvements on Cortex-A72 compared to current glibc master: latency: 2.0x thruput: 2.9x Tested on aarch64-linux-gnu (defined __FP_FAST_FMA) and arm-linux-gnueabihf (!defined __FP_FAST_FMA) and x86_64-linux-gnu (!defined __FP_FAST_FMA) targets. 2018-07-06 Szabolcs Nagy * NEWS: Mention log improvement. * math/Makefile (type-double-routines): Add e_log_data. * sysdeps/i386/fpu/e_log_data.c: New file. * sysdeps/ia64/fpu/e_log_data.c: New file. * sysdeps/ieee754/dbl-64/e_log.c: Rewrite. * sysdeps/ieee754/dbl-64/e_log_data.c: New file. * sysdeps/ieee754/dbl-64/math_config.h (__log_data): Add. * sysdeps/ieee754/dbl-64/ulog.h: Remove. * sysdeps/ieee754/dbl-64/ulog.tbl: Remove. * sysdeps/m68k/m680x0/fpu/e_log_data.c: New file. --- NEWS | 2 +- math/Makefile | 3 +- sysdeps/i386/fpu/e_log_data.c | 1 + sysdeps/ia64/fpu/e_log_data.c | 1 + sysdeps/ieee754/dbl-64/e_log.c | 257 ++- sysdeps/ieee754/dbl-64/e_log_data.c | 321 ++++ sysdeps/ieee754/dbl-64/math_config.h | 15 + sysdeps/ieee754/dbl-64/ulog.h | 93 - sysdeps/ieee754/dbl-64/ulog.tbl | 3326 ---------------------------------- sysdeps/m68k/m680x0/fpu/e_log_data.c | 1 + 10 files changed, 453 insertions(+), 3567 deletions(-) create mode 100644 sysdeps/i386/fpu/e_log_data.c create mode 100644 sysdeps/ia64/fpu/e_log_data.c create mode 100644 sysdeps/ieee754/dbl-64/e_log_data.c delete mode 100644 sysdeps/ieee754/dbl-64/ulog.h delete mode 100644 sysdeps/ieee754/dbl-64/ulog.tbl create mode 100644 sysdeps/m68k/m680x0/fpu/e_log_data.c diff --git a/NEWS b/NEWS index 63e65743d4..21bc23c2ca 100644 --- a/NEWS +++ b/NEWS @@ -13,7 +13,7 @@ Major new features: transliteration tables are all updated to Unicode 11.0.0, using generator scripts contributed by Mike FABIAN (Red Hat). -* Optimized generic exp, exp2, sinf, cosf and sincosf. +* Optimized generic exp, exp2, log, sinf, cosf and sincosf. * functions that round their results to a narrower type are added from TS 18661-1:2014 and TS 18661-3:2015: diff --git a/math/Makefile b/math/Makefile index 4d0731b64b..d546157aa9 100644 --- a/math/Makefile +++ b/math/Makefile @@ -126,7 +126,8 @@ type-ldouble-yes := ldouble type-double-suffix := type-double-routines := branred doasin dosincos mpa mpatan2 \ mpatan mpsqrt mptan sincos32 \ - sincostab k_rem_pio2 math_err e_exp_data + sincostab k_rem_pio2 math_err e_exp_data \ + e_log_data # float support type-float-suffix := f diff --git a/sysdeps/i386/fpu/e_log_data.c b/sysdeps/i386/fpu/e_log_data.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/i386/fpu/e_log_data.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/ia64/fpu/e_log_data.c b/sysdeps/ia64/fpu/e_log_data.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/ia64/fpu/e_log_data.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/ieee754/dbl-64/e_log.c b/sysdeps/ieee754/dbl-64/e_log.c index 2483dd8551..a56b714fb7 100644 --- a/sysdeps/ieee754/dbl-64/e_log.c +++ b/sysdeps/ieee754/dbl-64/e_log.c @@ -1,167 +1,132 @@ -/* - * IBM Accurate Mathematical Library - * written by International Business Machines Corp. - * Copyright (C) 2001-2018 Free Software Foundation, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation; either version 2.1 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, see . - */ -/*********************************************************************/ -/* */ -/* MODULE_NAME:ulog.c */ -/* */ -/* FUNCTION:ulog */ -/* */ -/* FILES NEEDED: dla.h endian.h mpa.h mydefs.h ulog.h */ -/* ulog.tbl */ -/* */ -/* An ultimate log routine. Given an IEEE double machine number x */ -/* it computes the rounded (to nearest) value of log(x). */ -/* Assumption: Machine arithmetic operations are performed in */ -/* round to nearest mode of IEEE 754 standard. */ -/* */ -/*********************************************************************/ +/* Double-precision log(x) function. + Copyright (C) 2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for 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 "endian.h" -#include -#include "mpa.h" -#include "MathLib.h" #include -#include +#include +#include "math_config.h" + +#define T __log_data.tab +#define T2 __log_data.tab2 +#define B __log_data.poly1 +#define A __log_data.poly +#define Ln2hi __log_data.ln2hi +#define Ln2lo __log_data.ln2lo +#define N (1 << LOG_TABLE_BITS) +#define OFF 0x3fe6000000000000 + +/* Top 16 bits of a double. */ +static inline uint32_t +top16 (double x) +{ + return asuint64 (x) >> 48; +} #ifndef SECTION # define SECTION #endif -/*********************************************************************/ -/* An ultimate log routine. Given an IEEE double machine number x */ -/* it computes the rounded (to nearest) value of log(x). */ -/*********************************************************************/ double SECTION __ieee754_log (double x) { - int i, j, n, ux, dx; - double dbl_n, u, p0, q, r0, w, nln2a, luai, lubi, lvaj, lvbj, - sij, ssij, ttij, A, B, B0, polI, polII, t8, a, aa, b, bb, c; -#ifndef DLA_FMS - double t1, t2, t3, t4, t5; -#endif - number num; - -#include "ulog.tbl" -#include "ulog.h" - - /* Treating special values of x ( x<=0, x=INF, x=NaN etc.). */ - - num.d = x; - ux = num.i[HIGH_HALF]; - dx = num.i[LOW_HALF]; - n = 0; - if (__glibc_unlikely (ux < 0x00100000)) + /* double_t for better performance on targets with FLT_EVAL_METHOD==2. */ + double_t w, z, r, r2, r3, y, invc, logc, kd, hi, lo; + uint64_t ix, iz, tmp; + uint32_t top; + int k, i; + + ix = asuint64 (x); + top = top16 (x); + +#define LO asuint64 (1.0 - 0x1p-4) +#define HI asuint64 (1.0 + 0x1.09p-4) + if (__glibc_unlikely (ix - LO < HI - LO)) { - if (__glibc_unlikely (((ux & 0x7fffffff) | dx) == 0)) - return MHALF / 0.0; /* return -INF */ - if (__glibc_unlikely (ux < 0)) - return (x - x) / 0.0; /* return NaN */ - n -= 54; - x *= two54.d; /* scale x */ - num.d = x; + /* Handle close to 1.0 inputs separately. */ + /* Fix sign of zero with downward rounding when x==1. */ + if (WANT_ROUNDING && __glibc_unlikely (ix == asuint64 (1.0))) + return 0; + r = x - 1.0; + r2 = r * r; + r3 = r * r2; + y = r3 * (B[1] + r * B[2] + r2 * B[3] + + r3 * (B[4] + r * B[5] + r2 * B[6] + + r3 * (B[7] + r * B[8] + r2 * B[9] + r3 * B[10]))); + /* Worst-case error is around 0.507 ULP. */ + w = r * 0x1p27; + double_t rhi = r + w - w; + double_t rlo = r - rhi; + w = rhi * rhi * B[0]; /* B[0] == -0.5. */ + hi = r + w; + lo = r - hi + w; + lo += B[0] * rlo * (rhi + r); + y += lo; + y += hi; + return y; } - if (__glibc_unlikely (ux >= 0x7ff00000)) - return x + x; /* INF or NaN */ - - /* Regular values of x */ - - w = x - 1; - if (__glibc_likely (fabs (w) > U03)) - goto case_03; - - /* log (1) is +0 in all rounding modes. */ - if (w == 0.0) - return 0.0; - - /*--- The case abs(x-1) < 0.03 */ - - t8 = MHALF * w; - EMULV (t8, w, a, aa, t1, t2, t3, t4, t5); - EADD (w, a, b, bb); - /* Evaluate polynomial II */ - polII = b7.d + w * b8.d; - polII = b6.d + w * polII; - polII = b5.d + w * polII; - polII = b4.d + w * polII; - polII = b3.d + w * polII; - polII = b2.d + w * polII; - polII = b1.d + w * polII; - polII = b0.d + w * polII; - polII *= w * w * w; - c = (aa + bb) + polII; - - /* Here b contains the high part of the result, and c the low part. - Maximum error is b * 2.334e-19, so accuracy is >61 bits. - Therefore max ULP error of b + c is ~0.502. */ - return b + c; - - /*--- The case abs(x-1) > 0.03 */ -case_03: - - /* Find n,u such that x = u*2**n, 1/sqrt(2) < u < sqrt(2) */ - n += (num.i[HIGH_HALF] >> 20) - 1023; - num.i[HIGH_HALF] = (num.i[HIGH_HALF] & 0x000fffff) | 0x3ff00000; - if (num.d > SQRT_2) + if (__glibc_unlikely (top - 0x0010 >= 0x7ff0 - 0x0010)) { - num.d *= HALF; - n++; + /* x < 0x1p-1022 or inf or nan. */ + if (ix * 2 == 0) + return __math_divzero (1); + if (ix == asuint64 (INFINITY)) /* log(inf) == inf. */ + return x; + if ((top & 0x8000) || (top & 0x7ff0) == 0x7ff0) + return __math_invalid (x); + /* x is subnormal, normalize it. */ + ix = asuint64 (x * 0x1p52); + ix -= 52ULL << 52; } - u = num.d; - dbl_n = (double) n; - - /* Find i such that ui=1+(i-75)/2**8 is closest to u (i= 0,1,2,...,181) */ - num.d += h1.d; - i = (num.i[HIGH_HALF] & 0x000fffff) >> 12; - - /* Find j such that vj=1+(j-180)/2**16 is closest to v=u/ui (j= 0,...,361) */ - num.d = u * Iu[i].d + h2.d; - j = (num.i[HIGH_HALF] & 0x000fffff) >> 4; - /* Compute w=(u-ui*vj)/(ui*vj) */ - p0 = (1 + (i - 75) * DEL_U) * (1 + (j - 180) * DEL_V); - q = u - p0; - r0 = Iu[i].d * Iv[j].d; - w = q * r0; - - /* Evaluate polynomial I */ - polI = w + (a2.d + a3.d * w) * w * w; - - /* Add up everything */ - nln2a = dbl_n * LN2A; - luai = Lu[i][0].d; - lubi = Lu[i][1].d; - lvaj = Lv[j][0].d; - lvbj = Lv[j][1].d; - EADD (luai, lvaj, sij, ssij); - EADD (nln2a, sij, A, ttij); - B0 = (((lubi + lvbj) + ssij) + ttij) + dbl_n * LN2B; - B = polI + B0; - - /* Here A contains the high part of the result, and B the low part. - Maximum abs error is 6.095e-21 and min log (x) is 0.0295 since x > 1.03. - Therefore max ULP error of A + B is ~0.502. */ - return A + B; + /* x = 2^k z; where z is in range [OFF,2*OFF) and exact. + The range is split into N subintervals. + The ith subinterval contains z and c is near its center. */ + tmp = ix - OFF; + i = (tmp >> (52 - LOG_TABLE_BITS)) % N; + k = (int64_t) tmp >> 52; /* arithmetic shift */ + iz = ix - (tmp & 0xfffULL << 52); + invc = T[i].invc; + logc = T[i].logc; + z = asdouble (iz); + + /* log(x) = log1p(z/c-1) + log(c) + k*Ln2. */ + /* r ~= z/c - 1, |r| < 1/(2*N). */ +#ifdef __FP_FAST_FMA + /* rounding error: 0x1p-55/N. */ + r = __builtin_fma (z, invc, -1.0); +#else + /* rounding error: 0x1p-55/N + 0x1p-66. */ + r = (z - T2[i].chi - T2[i].clo) * invc; +#endif + kd = (double_t) k; + + /* hi + lo = r + log(c) + k*Ln2. */ + w = kd * Ln2hi + logc; + hi = w + r; + lo = w - hi + r + kd * Ln2lo; + + /* log(x) = lo + (log1p(r) - r) + hi. */ + r2 = r * r; /* rounding error: 0x1p-54/N^2. */ + /* Worst case error if |y| > 0x1p-4: 0.519 ULP (0.520 ULP without fma). + 0.5 + 2.06/N + abs-poly-error*2^56 ULP (+ 0.001 ULP without fma). */ + y = lo + r2 * A[0] + r * r2 * (A[1] + r * A[2] + r2 * (A[3] + r * A[4])) + hi; + return y; } - #ifndef __ieee754_log strong_alias (__ieee754_log, __log_finite) #endif diff --git a/sysdeps/ieee754/dbl-64/e_log_data.c b/sysdeps/ieee754/dbl-64/e_log_data.c new file mode 100644 index 0000000000..6ec23cb74e --- /dev/null +++ b/sysdeps/ieee754/dbl-64/e_log_data.c @@ -0,0 +1,321 @@ +/* Data for log. + Copyright (C) 2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for 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 "math_config.h" + +#define N (1 << LOG_TABLE_BITS) + +const struct log_data __log_data = { +.ln2hi = 0x1.62e42fefa3800p-1, +.ln2lo = 0x1.ef35793c76730p-45, +.poly1 = { +#if LOG_POLY1_ORDER == 12 +// relative error: 0x1.c04d76cp-63 +// in -0x1p-4 0x1.09p-4 (|log(1+x)| > 0x1p-4 outside the interval) +-0x1p-1, +0x1.5555555555577p-2, +-0x1.ffffffffffdcbp-3, +0x1.999999995dd0cp-3, +-0x1.55555556745a7p-3, +0x1.24924a344de3p-3, +-0x1.fffffa4423d65p-4, +0x1.c7184282ad6cap-4, +-0x1.999eb43b068ffp-4, +0x1.78182f7afd085p-4, +-0x1.5521375d145cdp-4, +#endif +}, +.poly = { +#if N == 128 && LOG_POLY_ORDER == 6 +// relative error: 0x1.926199e8p-56 +// abs error: 0x1.882ff33p-65 +// in -0x1.fp-9 0x1.fp-9 +-0x1.0000000000001p-1, +0x1.555555551305bp-2, +-0x1.fffffffeb459p-3, +0x1.999b324f10111p-3, +-0x1.55575e506c89fp-3, +#endif +}, +.tab = { +#if N == 128 +{0x1.734f0c3e0de9fp+0, -0x1.7cc7f79e69000p-2}, +{0x1.713786a2ce91fp+0, -0x1.76feec20d0000p-2}, +{0x1.6f26008fab5a0p+0, -0x1.713e31351e000p-2}, +{0x1.6d1a61f138c7dp+0, -0x1.6b85b38287800p-2}, +{0x1.6b1490bc5b4d1p+0, -0x1.65d5590807800p-2}, +{0x1.69147332f0cbap+0, -0x1.602d076180000p-2}, +{0x1.6719f18224223p+0, -0x1.5a8ca86909000p-2}, +{0x1.6524f99a51ed9p+0, -0x1.54f4356035000p-2}, +{0x1.63356aa8f24c4p+0, -0x1.4f637c36b4000p-2}, +{0x1.614b36b9ddc14p+0, -0x1.49da7fda85000p-2}, +{0x1.5f66452c65c4cp+0, -0x1.445923989a800p-2}, +{0x1.5d867b5912c4fp+0, -0x1.3edf439b0b800p-2}, +{0x1.5babccb5b90dep+0, -0x1.396ce448f7000p-2}, +{0x1.59d61f2d91a78p+0, -0x1.3401e17bda000p-2}, +{0x1.5805612465687p+0, -0x1.2e9e2ef468000p-2}, +{0x1.56397cee76bd3p+0, -0x1.2941b3830e000p-2}, +{0x1.54725e2a77f93p+0, -0x1.23ec58cda8800p-2}, +{0x1.52aff42064583p+0, -0x1.1e9e129279000p-2}, +{0x1.50f22dbb2bddfp+0, -0x1.1956d2b48f800p-2}, +{0x1.4f38f4734ded7p+0, -0x1.141679ab9f800p-2}, +{0x1.4d843cfde2840p+0, -0x1.0edd094ef9800p-2}, +{0x1.4bd3ec078a3c8p+0, -0x1.09aa518db1000p-2}, +{0x1.4a27fc3e0258ap+0, -0x1.047e65263b800p-2}, +{0x1.4880524d48434p+0, -0x1.feb224586f000p-3}, +{0x1.46dce1b192d0bp+0, -0x1.f474a7517b000p-3}, +{0x1.453d9d3391854p+0, -0x1.ea4443d103000p-3}, +{0x1.43a2744b4845ap+0, -0x1.e020d44e9b000p-3}, +{0x1.420b54115f8fbp+0, -0x1.d60a22977f000p-3}, +{0x1.40782da3ef4b1p+0, -0x1.cc00104959000p-3}, +{0x1.3ee8f5d57fe8fp+0, -0x1.c202956891000p-3}, +{0x1.3d5d9a00b4ce9p+0, -0x1.b81178d811000p-3}, +{0x1.3bd60c010c12bp+0, -0x1.ae2c9ccd3d000p-3}, +{0x1.3a5242b75dab8p+0, -0x1.a45402e129000p-3}, +{0x1.38d22cd9fd002p+0, -0x1.9a877681df000p-3}, +{0x1.3755bc5847a1cp+0, -0x1.90c6d69483000p-3}, +{0x1.35dce49ad36e2p+0, -0x1.87120a645c000p-3}, +{0x1.34679984dd440p+0, -0x1.7d68fb4143000p-3}, +{0x1.32f5cceffcb24p+0, -0x1.73cb83c627000p-3}, +{0x1.3187775a10d49p+0, -0x1.6a39a9b376000p-3}, +{0x1.301c8373e3990p+0, -0x1.60b3154b7a000p-3}, +{0x1.2eb4ebb95f841p+0, -0x1.5737d76243000p-3}, +{0x1.2d50a0219a9d1p+0, -0x1.4dc7b8fc23000p-3}, +{0x1.2bef9a8b7fd2ap+0, -0x1.4462c51d20000p-3}, +{0x1.2a91c7a0c1babp+0, -0x1.3b08abc830000p-3}, +{0x1.293726014b530p+0, -0x1.31b996b490000p-3}, +{0x1.27dfa5757a1f5p+0, -0x1.2875490a44000p-3}, +{0x1.268b39b1d3bbfp+0, -0x1.1f3b9f879a000p-3}, +{0x1.2539d838ff5bdp+0, -0x1.160c8252ca000p-3}, +{0x1.23eb7aac9083bp+0, -0x1.0ce7f57f72000p-3}, +{0x1.22a012ba940b6p+0, -0x1.03cdc49fea000p-3}, +{0x1.2157996cc4132p+0, -0x1.f57bdbc4b8000p-4}, +{0x1.201201dd2fc9bp+0, -0x1.e370896404000p-4}, +{0x1.1ecf4494d480bp+0, -0x1.d17983ef94000p-4}, +{0x1.1d8f5528f6569p+0, -0x1.bf9674ed8a000p-4}, +{0x1.1c52311577e7cp+0, -0x1.adc79202f6000p-4}, +{0x1.1b17c74cb26e9p+0, -0x1.9c0c3e7288000p-4}, +{0x1.19e010c2c1ab6p+0, -0x1.8a646b372c000p-4}, +{0x1.18ab07bb670bdp+0, -0x1.78d01b3ac0000p-4}, +{0x1.1778a25efbcb6p+0, -0x1.674f145380000p-4}, +{0x1.1648d354c31dap+0, -0x1.55e0e6d878000p-4}, +{0x1.151b990275fddp+0, -0x1.4485cdea1e000p-4}, +{0x1.13f0ea432d24cp+0, -0x1.333d94d6aa000p-4}, +{0x1.12c8b7210f9dap+0, -0x1.22079f8c56000p-4}, +{0x1.11a3028ecb531p+0, -0x1.10e4698622000p-4}, +{0x1.107fbda8434afp+0, -0x1.ffa6c6ad20000p-5}, +{0x1.0f5ee0f4e6bb3p+0, -0x1.dda8d4a774000p-5}, +{0x1.0e4065d2a9fcep+0, -0x1.bbcece4850000p-5}, +{0x1.0d244632ca521p+0, -0x1.9a1894012c000p-5}, +{0x1.0c0a77ce2981ap+0, -0x1.788583302c000p-5}, +{0x1.0af2f83c636d1p+0, -0x1.5715e67d68000p-5}, +{0x1.09ddb98a01339p+0, -0x1.35c8a49658000p-5}, +{0x1.08cabaf52e7dfp+0, -0x1.149e364154000p-5}, +{0x1.07b9f2f4e28fbp+0, -0x1.e72c082eb8000p-6}, +{0x1.06ab58c358f19p+0, -0x1.a55f152528000p-6}, +{0x1.059eea5ecf92cp+0, -0x1.63d62cf818000p-6}, +{0x1.04949cdd12c90p+0, -0x1.228fb8caa0000p-6}, +{0x1.038c6c6f0ada9p+0, -0x1.c317b20f90000p-7}, +{0x1.02865137932a9p+0, -0x1.419355daa0000p-7}, +{0x1.0182427ea7348p+0, -0x1.81203c2ec0000p-8}, +{0x1.008040614b195p+0, -0x1.0040979240000p-9}, +{0x1.fe01ff726fa1ap-1, 0x1.feff384900000p-9}, +{0x1.fa11cc261ea74p-1, 0x1.7dc41353d0000p-7}, +{0x1.f6310b081992ep-1, 0x1.3cea3c4c28000p-6}, +{0x1.f25f63ceeadcdp-1, 0x1.b9fc114890000p-6}, +{0x1.ee9c8039113e7p-1, 0x1.1b0d8ce110000p-5}, +{0x1.eae8078cbb1abp-1, 0x1.58a5bd001c000p-5}, +{0x1.e741aa29d0c9bp-1, 0x1.95c8340d88000p-5}, +{0x1.e3a91830a99b5p-1, 0x1.d276aef578000p-5}, +{0x1.e01e009609a56p-1, 0x1.07598e598c000p-4}, +{0x1.dca01e577bb98p-1, 0x1.253f5e30d2000p-4}, +{0x1.d92f20b7c9103p-1, 0x1.42edd8b380000p-4}, +{0x1.d5cac66fb5ccep-1, 0x1.606598757c000p-4}, +{0x1.d272caa5ede9dp-1, 0x1.7da76356a0000p-4}, +{0x1.cf26e3e6b2ccdp-1, 0x1.9ab434e1c6000p-4}, +{0x1.cbe6da2a77902p-1, 0x1.b78c7bb0d6000p-4}, +{0x1.c8b266d37086dp-1, 0x1.d431332e72000p-4}, +{0x1.c5894bd5d5804p-1, 0x1.f0a3171de6000p-4}, +{0x1.c26b533bb9f8cp-1, 0x1.067152b914000p-3}, +{0x1.bf583eeece73fp-1, 0x1.147858292b000p-3}, +{0x1.bc4fd75db96c1p-1, 0x1.2266ecdca3000p-3}, +{0x1.b951e0c864a28p-1, 0x1.303d7a6c55000p-3}, +{0x1.b65e2c5ef3e2cp-1, 0x1.3dfc33c331000p-3}, +{0x1.b374867c9888bp-1, 0x1.4ba366b7a8000p-3}, +{0x1.b094b211d304ap-1, 0x1.5933928d1f000p-3}, +{0x1.adbe885f2ef7ep-1, 0x1.66acd2418f000p-3}, +{0x1.aaf1d31603da2p-1, 0x1.740f8ec669000p-3}, +{0x1.a82e63fd358a7p-1, 0x1.815c0f51af000p-3}, +{0x1.a5740ef09738bp-1, 0x1.8e92954f68000p-3}, +{0x1.a2c2a90ab4b27p-1, 0x1.9bb3602f84000p-3}, +{0x1.a01a01393f2d1p-1, 0x1.a8bed1c2c0000p-3}, +{0x1.9d79f24db3c1bp-1, 0x1.b5b515c01d000p-3}, +{0x1.9ae2505c7b190p-1, 0x1.c2967ccbcc000p-3}, +{0x1.9852ef297ce2fp-1, 0x1.cf635d5486000p-3}, +{0x1.95cbaeea44b75p-1, 0x1.dc1bd3446c000p-3}, +{0x1.934c69de74838p-1, 0x1.e8c01b8cfe000p-3}, +{0x1.90d4f2f6752e6p-1, 0x1.f5509c0179000p-3}, +{0x1.8e6528effd79dp-1, 0x1.00e6c121fb800p-2}, +{0x1.8bfce9fcc007cp-1, 0x1.071b80e93d000p-2}, +{0x1.899c0dabec30ep-1, 0x1.0d46b9e867000p-2}, +{0x1.87427aa2317fbp-1, 0x1.13687334bd000p-2}, +{0x1.84f00acb39a08p-1, 0x1.1980d67234800p-2}, +{0x1.82a49e8653e55p-1, 0x1.1f8ffe0cc8000p-2}, +{0x1.8060195f40260p-1, 0x1.2595fd7636800p-2}, +{0x1.7e22563e0a329p-1, 0x1.2b9300914a800p-2}, +{0x1.7beb377dcb5adp-1, 0x1.3187210436000p-2}, +{0x1.79baa679725c2p-1, 0x1.377266dec1800p-2}, +{0x1.77907f2170657p-1, 0x1.3d54ffbaf3000p-2}, +{0x1.756cadbd6130cp-1, 0x1.432eee32fe000p-2}, +#endif +}, +#ifndef __FP_FAST_FMA +.tab2 = { +# if N == 128 +{0x1.61000014fb66bp-1, 0x1.e026c91425b3cp-56}, +{0x1.63000034db495p-1, 0x1.dbfea48005d41p-55}, +{0x1.650000d94d478p-1, 0x1.e7fa786d6a5b7p-55}, +{0x1.67000074e6fadp-1, 0x1.1fcea6b54254cp-57}, +{0x1.68ffffedf0faep-1, -0x1.c7e274c590efdp-56}, +{0x1.6b0000763c5bcp-1, -0x1.ac16848dcda01p-55}, +{0x1.6d0001e5cc1f6p-1, 0x1.33f1c9d499311p-55}, +{0x1.6efffeb05f63ep-1, -0x1.e80041ae22d53p-56}, +{0x1.710000e86978p-1, 0x1.bff6671097952p-56}, +{0x1.72ffffc67e912p-1, 0x1.c00e226bd8724p-55}, +{0x1.74fffdf81116ap-1, -0x1.e02916ef101d2p-57}, +{0x1.770000f679c9p-1, -0x1.7fc71cd549c74p-57}, +{0x1.78ffffa7ec835p-1, 0x1.1bec19ef50483p-55}, +{0x1.7affffe20c2e6p-1, -0x1.07e1729cc6465p-56}, +{0x1.7cfffed3fc9p-1, -0x1.08072087b8b1cp-55}, +{0x1.7efffe9261a76p-1, 0x1.dc0286d9df9aep-55}, +{0x1.81000049ca3e8p-1, 0x1.97fd251e54c33p-55}, +{0x1.8300017932c8fp-1, -0x1.afee9b630f381p-55}, +{0x1.850000633739cp-1, 0x1.9bfbf6b6535bcp-55}, +{0x1.87000204289c6p-1, -0x1.bbf65f3117b75p-55}, +{0x1.88fffebf57904p-1, -0x1.9006ea23dcb57p-55}, +{0x1.8b00022bc04dfp-1, -0x1.d00df38e04b0ap-56}, +{0x1.8cfffe50c1b8ap-1, -0x1.8007146ff9f05p-55}, +{0x1.8effffc918e43p-1, 0x1.3817bd07a7038p-55}, +{0x1.910001efa5fc7p-1, 0x1.93e9176dfb403p-55}, +{0x1.9300013467bb9p-1, 0x1.f804e4b980276p-56}, +{0x1.94fffe6ee076fp-1, -0x1.f7ef0d9ff622ep-55}, +{0x1.96fffde3c12d1p-1, -0x1.082aa962638bap-56}, +{0x1.98ffff4458a0dp-1, -0x1.7801b9164a8efp-55}, +{0x1.9afffdd982e3ep-1, -0x1.740e08a5a9337p-55}, +{0x1.9cfffed49fb66p-1, 0x1.fce08c19bep-60}, +{0x1.9f00020f19c51p-1, -0x1.a3faa27885b0ap-55}, +{0x1.a10001145b006p-1, 0x1.4ff489958da56p-56}, +{0x1.a300007bbf6fap-1, 0x1.cbeab8a2b6d18p-55}, +{0x1.a500010971d79p-1, 0x1.8fecadd78793p-55}, +{0x1.a70001df52e48p-1, -0x1.f41763dd8abdbp-55}, +{0x1.a90001c593352p-1, -0x1.ebf0284c27612p-55}, +{0x1.ab0002a4f3e4bp-1, -0x1.9fd043cff3f5fp-57}, +{0x1.acfffd7ae1ed1p-1, -0x1.23ee7129070b4p-55}, +{0x1.aefffee510478p-1, 0x1.a063ee00edea3p-57}, +{0x1.b0fffdb650d5bp-1, 0x1.a06c8381f0ab9p-58}, +{0x1.b2ffffeaaca57p-1, -0x1.9011e74233c1dp-56}, +{0x1.b4fffd995badcp-1, -0x1.9ff1068862a9fp-56}, +{0x1.b7000249e659cp-1, 0x1.aff45d0864f3ep-55}, +{0x1.b8ffff987164p-1, 0x1.cfe7796c2c3f9p-56}, +{0x1.bafffd204cb4fp-1, -0x1.3ff27eef22bc4p-57}, +{0x1.bcfffd2415c45p-1, -0x1.cffb7ee3bea21p-57}, +{0x1.beffff86309dfp-1, -0x1.14103972e0b5cp-55}, +{0x1.c0fffe1b57653p-1, 0x1.bc16494b76a19p-55}, +{0x1.c2ffff1fa57e3p-1, -0x1.4feef8d30c6edp-57}, +{0x1.c4fffdcbfe424p-1, -0x1.43f68bcec4775p-55}, +{0x1.c6fffed54b9f7p-1, 0x1.47ea3f053e0ecp-55}, +{0x1.c8fffeb998fd5p-1, 0x1.383068df992f1p-56}, +{0x1.cb0002125219ap-1, -0x1.8fd8e64180e04p-57}, +{0x1.ccfffdd94469cp-1, 0x1.e7ebe1cc7ea72p-55}, +{0x1.cefffeafdc476p-1, 0x1.ebe39ad9f88fep-55}, +{0x1.d1000169af82bp-1, 0x1.57d91a8b95a71p-56}, +{0x1.d30000d0ff71dp-1, 0x1.9c1906970c7dap-55}, +{0x1.d4fffea790fc4p-1, -0x1.80e37c558fe0cp-58}, +{0x1.d70002edc87e5p-1, -0x1.f80d64dc10f44p-56}, +{0x1.d900021dc82aap-1, -0x1.47c8f94fd5c5cp-56}, +{0x1.dafffd86b0283p-1, 0x1.c7f1dc521617ep-55}, +{0x1.dd000296c4739p-1, 0x1.8019eb2ffb153p-55}, +{0x1.defffe54490f5p-1, 0x1.e00d2c652cc89p-57}, +{0x1.e0fffcdabf694p-1, -0x1.f8340202d69d2p-56}, +{0x1.e2fffdb52c8ddp-1, 0x1.b00c1ca1b0864p-56}, +{0x1.e4ffff24216efp-1, 0x1.2ffa8b094ab51p-56}, +{0x1.e6fffe88a5e11p-1, -0x1.7f673b1efbe59p-58}, +{0x1.e9000119eff0dp-1, -0x1.4808d5e0bc801p-55}, +{0x1.eafffdfa51744p-1, 0x1.80006d54320b5p-56}, +{0x1.ed0001a127fa1p-1, -0x1.002f860565c92p-58}, +{0x1.ef00007babcc4p-1, -0x1.540445d35e611p-55}, +{0x1.f0ffff57a8d02p-1, -0x1.ffb3139ef9105p-59}, +{0x1.f30001ee58ac7p-1, 0x1.a81acf2731155p-55}, +{0x1.f4ffff5823494p-1, 0x1.a3f41d4d7c743p-55}, +{0x1.f6ffffca94c6bp-1, -0x1.202f41c987875p-57}, +{0x1.f8fffe1f9c441p-1, 0x1.77dd1f477e74bp-56}, +{0x1.fafffd2e0e37ep-1, -0x1.f01199a7ca331p-57}, +{0x1.fd0001c77e49ep-1, 0x1.181ee4bceacb1p-56}, +{0x1.feffff7e0c331p-1, -0x1.e05370170875ap-57}, +{0x1.00ffff465606ep+0, -0x1.a7ead491c0adap-55}, +{0x1.02ffff3867a58p+0, -0x1.77f69c3fcb2ep-54}, +{0x1.04ffffdfc0d17p+0, 0x1.7bffe34cb945bp-54}, +{0x1.0700003cd4d82p+0, 0x1.20083c0e456cbp-55}, +{0x1.08ffff9f2cbe8p+0, -0x1.dffdfbe37751ap-57}, +{0x1.0b000010cda65p+0, -0x1.13f7faee626ebp-54}, +{0x1.0d00001a4d338p+0, 0x1.07dfa79489ff7p-55}, +{0x1.0effffadafdfdp+0, -0x1.7040570d66bcp-56}, +{0x1.110000bbafd96p+0, 0x1.e80d4846d0b62p-55}, +{0x1.12ffffae5f45dp+0, 0x1.dbffa64fd36efp-54}, +{0x1.150000dd59ad9p+0, 0x1.a0077701250aep-54}, +{0x1.170000f21559ap+0, 0x1.dfdf9e2e3deeep-55}, +{0x1.18ffffc275426p+0, 0x1.10030dc3b7273p-54}, +{0x1.1b000123d3c59p+0, 0x1.97f7980030188p-54}, +{0x1.1cffff8299eb7p+0, -0x1.5f932ab9f8c67p-57}, +{0x1.1effff48ad4p+0, 0x1.37fbf9da75bebp-54}, +{0x1.210000c8b86a4p+0, 0x1.f806b91fd5b22p-54}, +{0x1.2300003854303p+0, 0x1.3ffc2eb9fbf33p-54}, +{0x1.24fffffbcf684p+0, 0x1.601e77e2e2e72p-56}, +{0x1.26ffff52921d9p+0, 0x1.ffcbb767f0c61p-56}, +{0x1.2900014933a3cp+0, -0x1.202ca3c02412bp-56}, +{0x1.2b00014556313p+0, -0x1.2808233f21f02p-54}, +{0x1.2cfffebfe523bp+0, -0x1.8ff7e384fdcf2p-55}, +{0x1.2f0000bb8ad96p+0, -0x1.5ff51503041c5p-55}, +{0x1.30ffffb7ae2afp+0, -0x1.10071885e289dp-55}, +{0x1.32ffffeac5f7fp+0, -0x1.1ff5d3fb7b715p-54}, +{0x1.350000ca66756p+0, 0x1.57f82228b82bdp-54}, +{0x1.3700011fbf721p+0, 0x1.000bac40dd5ccp-55}, +{0x1.38ffff9592fb9p+0, -0x1.43f9d2db2a751p-54}, +{0x1.3b00004ddd242p+0, 0x1.57f6b707638e1p-55}, +{0x1.3cffff5b2c957p+0, 0x1.a023a10bf1231p-56}, +{0x1.3efffeab0b418p+0, 0x1.87f6d66b152bp-54}, +{0x1.410001532aff4p+0, 0x1.7f8375f198524p-57}, +{0x1.4300017478b29p+0, 0x1.301e672dc5143p-55}, +{0x1.44fffe795b463p+0, 0x1.9ff69b8b2895ap-55}, +{0x1.46fffe80475ep+0, -0x1.5c0b19bc2f254p-54}, +{0x1.48fffef6fc1e7p+0, 0x1.b4009f23a2a72p-54}, +{0x1.4afffe5bea704p+0, -0x1.4ffb7bf0d7d45p-54}, +{0x1.4d000171027dep+0, -0x1.9c06471dc6a3dp-54}, +{0x1.4f0000ff03ee2p+0, 0x1.77f890b85531cp-54}, +{0x1.5100012dc4bd1p+0, 0x1.004657166a436p-57}, +{0x1.530001605277ap+0, -0x1.6bfcece233209p-54}, +{0x1.54fffecdb704cp+0, -0x1.902720505a1d7p-55}, +{0x1.56fffef5f54a9p+0, 0x1.bbfe60ec96412p-54}, +{0x1.5900017e61012p+0, 0x1.87ec581afef9p-55}, +{0x1.5b00003c93e92p+0, -0x1.f41080abf0ccp-54}, +{0x1.5d0001d4919bcp+0, -0x1.8812afb254729p-54}, +{0x1.5efffe7b87a89p+0, -0x1.47eb780ed6904p-54}, +#endif +}, +#endif /* __FP_FAST_FMA */ +}; diff --git a/sysdeps/ieee754/dbl-64/math_config.h b/sysdeps/ieee754/dbl-64/math_config.h index 02d94fed3e..3fb4eae954 100644 --- a/sysdeps/ieee754/dbl-64/math_config.h +++ b/sysdeps/ieee754/dbl-64/math_config.h @@ -133,4 +133,19 @@ extern const struct exp_data uint64_t tab[2*(1 << EXP_TABLE_BITS)]; } __exp_data attribute_hidden; +#define LOG_TABLE_BITS 7 +#define LOG_POLY_ORDER 6 +#define LOG_POLY1_ORDER 12 +extern const struct log_data +{ + double ln2hi; + double ln2lo; + double poly[LOG_POLY_ORDER - 1]; /* First coefficient is 1. */ + double poly1[LOG_POLY1_ORDER - 1]; + struct {double invc, logc;} tab[1 << LOG_TABLE_BITS]; +#ifndef __FP_FAST_FMA + struct {double chi, clo;} tab2[1 << LOG_TABLE_BITS]; +#endif +} __log_data attribute_hidden; + #endif diff --git a/sysdeps/ieee754/dbl-64/ulog.h b/sysdeps/ieee754/dbl-64/ulog.h deleted file mode 100644 index 087b76e2ab..0000000000 --- a/sysdeps/ieee754/dbl-64/ulog.h +++ /dev/null @@ -1,93 +0,0 @@ -/* - * IBM Accurate Mathematical Library - * Written by International Business Machines Corp. - * Copyright (C) 2001-2018 Free Software Foundation, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation; either version 2.1 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, see . - */ - -/******************************************************************/ -/* */ -/* MODULE_NAME:ulog.h */ -/* */ -/* common data and variables prototype and definition */ -/******************************************************************/ - -#ifndef ULOG_H -#define ULOG_H - -#ifdef BIG_ENDI - static const number - /* polynomial I */ -/**/ a2 = {{0xbfe00000, 0x0001aa8f} }, /* -0.500... */ -/**/ a3 = {{0x3fd55555, 0x55588d2e} }, /* 0.333... */ - /* polynomial II */ -/**/ b0 = {{0x3fd55555, 0x55555555} }, /* 0.333... */ -/**/ b1 = {{0xbfcfffff, 0xffffffbb} }, /* -0.249... */ -/**/ b2 = {{0x3fc99999, 0x9999992f} }, /* 0.199... */ -/**/ b3 = {{0xbfc55555, 0x556503fd} }, /* -0.166... */ -/**/ b4 = {{0x3fc24924, 0x925b3d62} }, /* 0.142... */ -/**/ b5 = {{0xbfbffffe, 0x160472fc} }, /* -0.124... */ -/**/ b6 = {{0x3fbc71c5, 0x25db58ac} }, /* 0.111... */ -/**/ b7 = {{0xbfb9a4ac, 0x11a2a61c} }, /* -0.100... */ -/**/ b8 = {{0x3fb75077, 0x0df2b591} }, /* 0.091... */ - /* constants */ -/**/ sqrt_2 = {{0x3ff6a09e, 0x667f3bcc} }, /* sqrt(2) */ -/**/ h1 = {{0x3fd2e000, 0x00000000} }, /* 151/2**9 */ -/**/ h2 = {{0x3f669000, 0x00000000} }, /* 361/2**17 */ -/**/ delu = {{0x3f700000, 0x00000000} }, /* 1/2**8 */ -/**/ delv = {{0x3ef00000, 0x00000000} }, /* 1/2**16 */ -/**/ ln2a = {{0x3fe62e42, 0xfefa3800} }, /* ln(2) 43 bits */ -/**/ ln2b = {{0x3d2ef357, 0x93c76730} }, /* ln(2)-ln2a */ -/**/ two54 = {{0x43500000, 0x00000000} }, /* 2**54 */ -/**/ u03 = {{0x3f9eb851, 0xeb851eb8} }; /* 0.03 */ - -#else -#ifdef LITTLE_ENDI - static const number - /* polynomial I */ -/**/ a2 = {{0x0001aa8f, 0xbfe00000} }, /* -0.500... */ -/**/ a3 = {{0x55588d2e, 0x3fd55555} }, /* 0.333... */ - /* polynomial II */ -/**/ b0 = {{0x55555555, 0x3fd55555} }, /* 0.333... */ -/**/ b1 = {{0xffffffbb, 0xbfcfffff} }, /* -0.249... */ -/**/ b2 = {{0x9999992f, 0x3fc99999} }, /* 0.199... */ -/**/ b3 = {{0x556503fd, 0xbfc55555} }, /* -0.166... */ -/**/ b4 = {{0x925b3d62, 0x3fc24924} }, /* 0.142... */ -/**/ b5 = {{0x160472fc, 0xbfbffffe} }, /* -0.124... */ -/**/ b6 = {{0x25db58ac, 0x3fbc71c5} }, /* 0.111... */ -/**/ b7 = {{0x11a2a61c, 0xbfb9a4ac} }, /* -0.100... */ -/**/ b8 = {{0x0df2b591, 0x3fb75077} }, /* 0.091... */ - /* constants */ -/**/ sqrt_2 = {{0x667f3bcc, 0x3ff6a09e} }, /* sqrt(2) */ -/**/ h1 = {{0x00000000, 0x3fd2e000} }, /* 151/2**9 */ -/**/ h2 = {{0x00000000, 0x3f669000} }, /* 361/2**17 */ -/**/ delu = {{0x00000000, 0x3f700000} }, /* 1/2**8 */ -/**/ delv = {{0x00000000, 0x3ef00000} }, /* 1/2**16 */ -/**/ ln2a = {{0xfefa3800, 0x3fe62e42} }, /* ln(2) 43 bits */ -/**/ ln2b = {{0x93c76730, 0x3d2ef357} }, /* ln(2)-ln2a */ -/**/ two54 = {{0x00000000, 0x43500000} }, /* 2**54 */ -/**/ u03 = {{0xeb851eb8, 0x3f9eb851} }; /* 0.03 */ - -#endif -#endif - -#define SQRT_2 sqrt_2.d -#define DEL_U delu.d -#define DEL_V delv.d -#define LN2A ln2a.d -#define LN2B ln2b.d -#define U03 u03.d - -#endif diff --git a/sysdeps/ieee754/dbl-64/ulog.tbl b/sysdeps/ieee754/dbl-64/ulog.tbl deleted file mode 100644 index 93fa1b36d3..0000000000 --- a/sysdeps/ieee754/dbl-64/ulog.tbl +++ /dev/null @@ -1,3326 +0,0 @@ -/* - * IBM Accurate Mathematical Library - * Written by International Business Machines Corp. - * Copyright (C) 2001-2018 Free Software Foundation, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation; either version 2.1 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, see . - */ - -/****************************************************************/ -/* TABLES FOR THE ulog() FUNCTION */ -/****************************************************************/ - -#ifdef BIG_ENDI - static const number - Iu[182] = { /* 1/ui */ -/**/ {{0x3ff6a13c, 0xd1537290} }, -/**/ {{0x3ff68168, 0x16816817} }, -/**/ {{0x3ff661ec, 0x6a5122f9} }, -/**/ {{0x3ff642c8, 0x590b2164} }, -/**/ {{0x3ff623fa, 0x77016240} }, -/**/ {{0x3ff60581, 0x60581606} }, -/**/ {{0x3ff5e75b, 0xb8d015e7} }, -/**/ {{0x3ff5c988, 0x2b931057} }, -/**/ {{0x3ff5ac05, 0x6b015ac0} }, -/**/ {{0x3ff58ed2, 0x308158ed} }, -/**/ {{0x3ff571ed, 0x3c506b3a} }, -/**/ {{0x3ff55555, 0x55555555} }, -/**/ {{0x3ff53909, 0x48f40feb} }, -/**/ {{0x3ff51d07, 0xeae2f815} }, -/**/ {{0x3ff50150, 0x15015015} }, -/**/ {{0x3ff4e5e0, 0xa72f0539} }, -/**/ {{0x3ff4cab8, 0x8725af6e} }, -/**/ {{0x3ff4afd6, 0xa052bf5b} }, -/**/ {{0x3ff49539, 0xe3b2d067} }, -/**/ {{0x3ff47ae1, 0x47ae147b} }, -/**/ {{0x3ff460cb, 0xc7f5cf9a} }, -/**/ {{0x3ff446f8, 0x6562d9fb} }, -/**/ {{0x3ff42d66, 0x25d51f87} }, -/**/ {{0x3ff41414, 0x14141414} }, -/**/ {{0x3ff3fb01, 0x3fb013fb} }, -/**/ {{0x3ff3e22c, 0xbce4a902} }, -/**/ {{0x3ff3c995, 0xa47babe7} }, -/**/ {{0x3ff3b13b, 0x13b13b14} }, -/**/ {{0x3ff3991c, 0x2c187f63} }, -/**/ {{0x3ff38138, 0x13813814} }, -/**/ {{0x3ff3698d, 0xf3de0748} }, -/**/ {{0x3ff3521c, 0xfb2b78c1} }, -/**/ {{0x3ff33ae4, 0x5b57bcb2} }, -/**/ {{0x3ff323e3, 0x4a2b10bf} }, -/**/ {{0x3ff30d19, 0x0130d190} }, -/**/ {{0x3ff2f684, 0xbda12f68} }, -/**/ {{0x3ff2e025, 0xc04b8097} }, -/**/ {{0x3ff2c9fb, 0x4d812ca0} }, -/**/ {{0x3ff2b404, 0xad012b40} }, -/**/ {{0x3ff29e41, 0x29e4129e} }, -/**/ {{0x3ff288b0, 0x1288b013} }, -/**/ {{0x3ff27350, 0xb8812735} }, -/**/ {{0x3ff25e22, 0x708092f1} }, -/**/ {{0x3ff24924, 0x92492492} }, -/**/ {{0x3ff23456, 0x789abcdf} }, -/**/ {{0x3ff21fb7, 0x8121fb78} }, -/**/ {{0x3ff20b47, 0x0c67c0d9} }, -/**/ {{0x3ff1f704, 0x7dc11f70} }, -/**/ {{0x3ff1e2ef, 0x3b3fb874} }, -/**/ {{0x3ff1cf06, 0xada2811d} }, -/**/ {{0x3ff1bb4a, 0x4046ed29} }, -/**/ {{0x3ff1a7b9, 0x611a7b96} }, -/**/ {{0x3ff19453, 0x808ca29c} }, -/**/ {{0x3ff18118, 0x11811812} }, -/**/ {{0x3ff16e06, 0x89427379} }, -/**/ {{0x3ff15b1e, 0x5f75270d} }, -/**/ {{0x3ff1485f, 0x0e0acd3b} }, -/**/ {{0x3ff135c8, 0x1135c811} }, -/**/ {{0x3ff12358, 0xe75d3033} }, -/**/ {{0x3ff11111, 0x11111111} }, -/**/ {{0x3ff0fef0, 0x10fef011} }, -/**/ {{0x3ff0ecf5, 0x6be69c90} }, -/**/ {{0x3ff0db20, 0xa88f4696} }, -/**/ {{0x3ff0c971, 0x4fbcda3b} }, -/**/ {{0x3ff0b7e6, 0xec259dc8} }, -/**/ {{0x3ff0a681, 0x0a6810a7} }, -/**/ {{0x3ff0953f, 0x39010954} }, -/**/ {{0x3ff08421, 0x08421084} }, -/**/ {{0x3ff07326, 0x0a47f7c6} }, -/**/ {{0x3ff0624d, 0xd2f1a9fc} }, -/**/ {{0x3ff05197, 0xf7d73404} }, -/**/ {{0x3ff04104, 0x10410410} }, -/**/ {{0x3ff03091, 0xb51f5e1a} }, -/**/ {{0x3ff02040, 0x81020408} }, -/**/ {{0x3ff01010, 0x10101010} }, -/**/ {{0x3ff00000, 0x00000000} }, -/**/ {{0x3fefe01f, 0xe01fe020} }, -/**/ {{0x3fefc07f, 0x01fc07f0} }, -/**/ {{0x3fefa11c, 0xaa01fa12} }, -/**/ {{0x3fef81f8, 0x1f81f820} }, -/**/ {{0x3fef6310, 0xaca0dbb5} }, -/**/ {{0x3fef4465, 0x9e4a4271} }, -/**/ {{0x3fef25f6, 0x44230ab5} }, -/**/ {{0x3fef07c1, 0xf07c1f08} }, -/**/ {{0x3feee9c7, 0xf8458e02} }, -/**/ {{0x3feecc07, 0xb301ecc0} }, -/**/ {{0x3feeae80, 0x7aba01eb} }, -/**/ {{0x3fee9131, 0xabf0b767} }, -/**/ {{0x3fee741a, 0xa59750e4} }, -/**/ {{0x3fee573a, 0xc901e574} }, -/**/ {{0x3fee3a91, 0x79dc1a73} }, -/**/ {{0x3fee1e1e, 0x1e1e1e1e} }, -/**/ {{0x3fee01e0, 0x1e01e01e} }, -/**/ {{0x3fede5d6, 0xe3f8868a} }, -/**/ {{0x3fedca01, 0xdca01dca} }, -/**/ {{0x3fedae60, 0x76b981db} }, -/**/ {{0x3fed92f2, 0x231e7f8a} }, -/**/ {{0x3fed77b6, 0x54b82c34} }, -/**/ {{0x3fed5cac, 0x807572b2} }, -/**/ {{0x3fed41d4, 0x1d41d41d} }, -/**/ {{0x3fed272c, 0xa3fc5b1a} }, -/**/ {{0x3fed0cb5, 0x8f6ec074} }, -/**/ {{0x3fecf26e, 0x5c44bfc6} }, -/**/ {{0x3fecd856, 0x89039b0b} }, -/**/ {{0x3fecbe6d, 0x9601cbe7} }, -/**/ {{0x3feca4b3, 0x055ee191} }, -/**/ {{0x3fec8b26, 0x5afb8a42} }, -/**/ {{0x3fec71c7, 0x1c71c71c} }, -/**/ {{0x3fec5894, 0xd10d4986} }, -/**/ {{0x3fec3f8f, 0x01c3f8f0} }, -/**/ {{0x3fec26b5, 0x392ea01c} }, -/**/ {{0x3fec0e07, 0x0381c0e0} }, -/**/ {{0x3febf583, 0xee868d8b} }, -/**/ {{0x3febdd2b, 0x899406f7} }, -/**/ {{0x3febc4fd, 0x65883e7b} }, -/**/ {{0x3febacf9, 0x14c1bad0} }, -/**/ {{0x3feb951e, 0x2b18ff23} }, -/**/ {{0x3feb7d6c, 0x3dda338b} }, -/**/ {{0x3feb65e2, 0xe3beee05} }, -/**/ {{0x3feb4e81, 0xb4e81b4f} }, -/**/ {{0x3feb3748, 0x4ad806ce} }, -/**/ {{0x3feb2036, 0x406c80d9} }, -/**/ {{0x3feb094b, 0x31d922a4} }, -/**/ {{0x3feaf286, 0xbca1af28} }, -/**/ {{0x3feadbe8, 0x7f94905e} }, -/**/ {{0x3feac570, 0x1ac5701b} }, -/**/ {{0x3feaaf1d, 0x2f87ebfd} }, -/**/ {{0x3fea98ef, 0x606a63be} }, -/**/ {{0x3fea82e6, 0x5130e159} }, -/**/ {{0x3fea6d01, 0xa6d01a6d} }, -/**/ {{0x3fea5741, 0x07688a4a} }, -/**/ {{0x3fea41a4, 0x1a41a41a} }, -/**/ {{0x3fea2c2a, 0x87c51ca0} }, -/**/ {{0x3fea16d3, 0xf97a4b02} }, -/**/ {{0x3fea01a0, 0x1a01a01a} }, -/**/ {{0x3fe9ec8e, 0x951033d9} }, -/**/ {{0x3fe9d79f, 0x176b682d} }, -/**/ {{0x3fe9c2d1, 0x4ee4a102} }, -/**/ {{0x3fe9ae24, 0xea5510da} }, -/**/ {{0x3fe99999, 0x9999999a} }, -/**/ {{0x3fe9852f, 0x0d8ec0ff} }, -/**/ {{0x3fe970e4, 0xf80cb872} }, -/**/ {{0x3fe95cbb, 0x0be377ae} }, -/**/ {{0x3fe948b0, 0xfcd6e9e0} }, -/**/ {{0x3fe934c6, 0x7f9b2ce6} }, -/**/ {{0x3fe920fb, 0x49d0e229} }, -/**/ {{0x3fe90d4f, 0x120190d5} }, -/**/ {{0x3fe8f9c1, 0x8f9c18fa} }, -/**/ {{0x3fe8e652, 0x7af1373f} }, -/**/ {{0x3fe8d301, 0x8d3018d3} }, -/**/ {{0x3fe8bfce, 0x8062ff3a} }, -/**/ {{0x3fe8acb9, 0x0f6bf3aa} }, -/**/ {{0x3fe899c0, 0xf601899c} }, -/**/ {{0x3fe886e5, 0xf0abb04a} }, -/**/ {{0x3fe87427, 0xbcc092b9} }, -/**/ {{0x3fe86186, 0x18618618} }, -/**/ {{0x3fe84f00, 0xc2780614} }, -/**/ {{0x3fe83c97, 0x7ab2bedd} }, -/**/ {{0x3fe82a4a, 0x0182a4a0} }, -/**/ {{0x3fe81818, 0x18181818} }, -/**/ {{0x3fe80601, 0x80601806} }, -/**/ {{0x3fe7f405, 0xfd017f40} }, -/**/ {{0x3fe7e225, 0x515a4f1d} }, -/**/ {{0x3fe7d05f, 0x417d05f4} }, -/**/ {{0x3fe7beb3, 0x922e017c} }, -/**/ {{0x3fe7ad22, 0x08e0ecc3} }, -/**/ {{0x3fe79baa, 0x6bb6398b} }, -/**/ {{0x3fe78a4c, 0x8178a4c8} }, -/**/ {{0x3fe77908, 0x119ac60d} }, -/**/ {{0x3fe767dc, 0xe434a9b1} }, -/**/ {{0x3fe756ca, 0xc201756d} }, -/**/ {{0x3fe745d1, 0x745d1746} }, -/**/ {{0x3fe734f0, 0xc541fe8d} }, -/**/ {{0x3fe72428, 0x7f46debc} }, -/**/ {{0x3fe71378, 0x6d9c7c09} }, -/**/ {{0x3fe702e0, 0x5c0b8170} }, -/**/ {{0x3fe6f260, 0x16f26017} }, -/**/ {{0x3fe6e1f7, 0x6b4337c7} }, -/**/ {{0x3fe6d1a6, 0x2681c861} }, -/**/ {{0x3fe6c16c, 0x16c16c17} }, -/**/ {{0x3fe6b149, 0x0aa31a3d} }, -/**/ {{0x3fe6a13c, 0xd1537290} }, - }; - - static const number - Iv[362] = { /* 1/vj */ -/**/ {{0x3ff00b47, 0xee93bfe3} }, -/**/ {{0x3ff00b37, 0xd80c106f} }, -/**/ {{0x3ff00b27, 0xc1a4a47a} }, -/**/ {{0x3ff00b17, 0xab5d7ba2} }, -/**/ {{0x3ff00b07, 0x95369587} }, -/**/ {{0x3ff00af7, 0x7f2ff1c6} }, -/**/ {{0x3ff00ae7, 0x69499000} }, -/**/ {{0x3ff00ad7, 0x53836fd3} }, -/**/ {{0x3ff00ac7, 0x3ddd90dd} }, -/**/ {{0x3ff00ab7, 0x2857f2bf} }, -/**/ {{0x3ff00aa7, 0x12f29517} }, -/**/ {{0x3ff00a96, 0xfdad7784} }, -/**/ {{0x3ff00a86, 0xe88899a5} }, -/**/ {{0x3ff00a76, 0xd383fb19} }, -/**/ {{0x3ff00a66, 0xbe9f9b7f} }, -/**/ {{0x3ff00a56, 0xa9db7a76} }, -/**/ {{0x3ff00a46, 0x9537979d} }, -/**/ {{0x3ff00a36, 0x80b3f293} }, -/**/ {{0x3ff00a26, 0x6c508af8} }, -/**/ {{0x3ff00a16, 0x580d606a} }, -/**/ {{0x3ff00a06, 0x43ea7288} }, -/**/ {{0x3ff009f6, 0x2fe7c0f1} }, -/**/ {{0x3ff009e6, 0x1c054b44} }, -/**/ {{0x3ff009d6, 0x08431122} }, -/**/ {{0x3ff009c5, 0xf4a11227} }, -/**/ {{0x3ff009b5, 0xe11f4df4} }, -/**/ {{0x3ff009a5, 0xcdbdc428} }, -/**/ {{0x3ff00995, 0xba7c7462} }, -/**/ {{0x3ff00985, 0xa75b5e40} }, -/**/ {{0x3ff00975, 0x945a8162} }, -/**/ {{0x3ff00965, 0x8179dd68} }, -/**/ {{0x3ff00955, 0x6eb971ef} }, -/**/ {{0x3ff00945, 0x5c193e98} }, -/**/ {{0x3ff00935, 0x49994301} }, -/**/ {{0x3ff00925, 0x37397eca} }, -/**/ {{0x3ff00915, 0x24f9f192} }, -/**/ {{0x3ff00905, 0x12da9af7} }, -/**/ {{0x3ff008f5, 0x00db7a99} }, -/**/ {{0x3ff008e4, 0xeefc9018} }, -/**/ {{0x3ff008d4, 0xdd3ddb12} }, -/**/ {{0x3ff008c4, 0xcb9f5b26} }, -/**/ {{0x3ff008b4, 0xba210ff4} }, -/**/ {{0x3ff008a4, 0xa8c2f91a} }, -/**/ {{0x3ff00894, 0x97851639} }, -/**/ {{0x3ff00884, 0x866766ef} }, -/**/ {{0x3ff00874, 0x7569eadb} }, -/**/ {{0x3ff00864, 0x648ca19d} }, -/**/ {{0x3ff00854, 0x53cf8ad3} }, -/**/ {{0x3ff00844, 0x4332a61e} }, -/**/ {{0x3ff00834, 0x32b5f31b} }, -/**/ {{0x3ff00824, 0x2259716c} }, -/**/ {{0x3ff00814, 0x121d20ad} }, -/**/ {{0x3ff00804, 0x02010080} }, -/**/ {{0x3ff007f3, 0xf2051083} }, -/**/ {{0x3ff007e3, 0xe2295056} }, -/**/ {{0x3ff007d3, 0xd26dbf97} }, -/**/ {{0x3ff007c3, 0xc2d25de5} }, -/**/ {{0x3ff007b3, 0xb3572ae2} }, -/**/ {{0x3ff007a3, 0xa3fc262a} }, -/**/ {{0x3ff00793, 0x94c14f5f} }, -/**/ {{0x3ff00783, 0x85a6a61e} }, -/**/ {{0x3ff00773, 0x76ac2a08} }, -/**/ {{0x3ff00763, 0x67d1dabb} }, -/**/ {{0x3ff00753, 0x5917b7d7} }, -/**/ {{0x3ff00743, 0x4a7dc0fb} }, -/**/ {{0x3ff00733, 0x3c03f5c7} }, -/**/ {{0x3ff00723, 0x2daa55da} }, -/**/ {{0x3ff00713, 0x1f70e0d3} }, -/**/ {{0x3ff00703, 0x11579652} }, -/**/ {{0x3ff006f3, 0x035e75f5} }, -/**/ {{0x3ff006e2, 0xf5857f5d} }, -/**/ {{0x3ff006d2, 0xe7ccb228} }, -/**/ {{0x3ff006c2, 0xda340df6} }, -/**/ {{0x3ff006b2, 0xccbb9266} }, -/**/ {{0x3ff006a2, 0xbf633f18} }, -/**/ {{0x3ff00692, 0xb22b13ab} }, -/**/ {{0x3ff00682, 0xa5130fbe} }, -/**/ {{0x3ff00672, 0x981b32f1} }, -/**/ {{0x3ff00662, 0x8b437ce4} }, -/**/ {{0x3ff00652, 0x7e8bed35} }, -/**/ {{0x3ff00642, 0x71f48383} }, -/**/ {{0x3ff00632, 0x657d3f70} }, -/**/ {{0x3ff00622, 0x59262098} }, -/**/ {{0x3ff00612, 0x4cef269e} }, -/**/ {{0x3ff00602, 0x40d8511e} }, -/**/ {{0x3ff005f2, 0x34e19fba} }, -/**/ {{0x3ff005e2, 0x290b1211} }, -/**/ {{0x3ff005d2, 0x1d54a7c1} }, -/**/ {{0x3ff005c2, 0x11be606b} }, -/**/ {{0x3ff005b2, 0x06483bad} }, -/**/ {{0x3ff005a1, 0xfaf23928} }, -/**/ {{0x3ff00591, 0xefbc587b} }, -/**/ {{0x3ff00581, 0xe4a69945} }, -/**/ {{0x3ff00571, 0xd9b0fb25} }, -/**/ {{0x3ff00561, 0xcedb7dbc} }, -/**/ {{0x3ff00551, 0xc42620a9} }, -/**/ {{0x3ff00541, 0xb990e38b} }, -/**/ {{0x3ff00531, 0xaf1bc601} }, -/**/ {{0x3ff00521, 0xa4c6c7ac} }, -/**/ {{0x3ff00511, 0x9a91e82a} }, -/**/ {{0x3ff00501, 0x907d271c} }, -/**/ {{0x3ff004f1, 0x86888421} }, -/**/ {{0x3ff004e1, 0x7cb3fed8} }, -/**/ {{0x3ff004d1, 0x72ff96e0} }, -/**/ {{0x3ff004c1, 0x696b4bdb} }, -/**/ {{0x3ff004b1, 0x5ff71d66} }, -/**/ {{0x3ff004a1, 0x56a30b21} }, -/**/ {{0x3ff00491, 0x4d6f14ad} }, -/**/ {{0x3ff00481, 0x445b39a8} }, -/**/ {{0x3ff00471, 0x3b6779b3} }, -/**/ {{0x3ff00461, 0x3293d46c} }, -/**/ {{0x3ff00451, 0x29e04974} }, -/**/ {{0x3ff00441, 0x214cd869} }, -/**/ {{0x3ff00431, 0x18d980ed} }, -/**/ {{0x3ff00421, 0x1086429d} }, -/**/ {{0x3ff00411, 0x08531d1a} }, -/**/ {{0x3ff00401, 0x00401004} }, -/**/ {{0x3ff003f0, 0xf84d1afa} }, -/**/ {{0x3ff003e0, 0xf07a3d9b} }, -/**/ {{0x3ff003d0, 0xe8c77787} }, -/**/ {{0x3ff003c0, 0xe134c85f} }, -/**/ {{0x3ff003b0, 0xd9c22fc1} }, -/**/ {{0x3ff003a0, 0xd26fad4d} }, -/**/ {{0x3ff00390, 0xcb3d40a3} }, -/**/ {{0x3ff00380, 0xc42ae963} }, -/**/ {{0x3ff00370, 0xbd38a72c} }, -/**/ {{0x3ff00360, 0xb666799e} }, -/**/ {{0x3ff00350, 0xafb46058} }, -/**/ {{0x3ff00340, 0xa9225afa} }, -/**/ {{0x3ff00330, 0xa2b06925} }, -/**/ {{0x3ff00320, 0x9c5e8a77} }, -/**/ {{0x3ff00310, 0x962cbe90} }, -/**/ {{0x3ff00300, 0x901b0511} }, -/**/ {{0x3ff002f0, 0x8a295d98} }, -/**/ {{0x3ff002e0, 0x8457c7c6} }, -/**/ {{0x3ff002d0, 0x7ea6433a} }, -/**/ {{0x3ff002c0, 0x7914cf94} }, -/**/ {{0x3ff002b0, 0x73a36c73} }, -/**/ {{0x3ff002a0, 0x6e521978} }, -/**/ {{0x3ff00290, 0x6920d642} }, -/**/ {{0x3ff00280, 0x640fa271} }, -/**/ {{0x3ff00270, 0x5f1e7da5} }, -/**/ {{0x3ff00260, 0x5a4d677d} }, -/**/ {{0x3ff00250, 0x559c5f9a} }, -/**/ {{0x3ff00240, 0x510b659a} }, -/**/ {{0x3ff00230, 0x4c9a791f} }, -/**/ {{0x3ff00220, 0x484999c6} }, -/**/ {{0x3ff00210, 0x4418c732} }, -/**/ {{0x3ff00200, 0x40080100} }, -/**/ {{0x3ff001f0, 0x3c1746d2} }, -/**/ {{0x3ff001e0, 0x38469846} }, -/**/ {{0x3ff001d0, 0x3495f4fd} }, -/**/ {{0x3ff001c0, 0x31055c96} }, -/**/ {{0x3ff001b0, 0x2d94ceb2} }, -/**/ {{0x3ff001a0, 0x2a444af0} }, -/**/ {{0x3ff00190, 0x2713d0ef} }, -/**/ {{0x3ff00180, 0x24036051} }, -/**/ {{0x3ff00170, 0x2112f8b4} }, -/**/ {{0x3ff00160, 0x1e4299b9} }, -/**/ {{0x3ff00150, 0x1b9242ff} }, -/**/ {{0x3ff00140, 0x1901f427} }, -/**/ {{0x3ff00130, 0x1691acd0} }, -/**/ {{0x3ff00120, 0x14416c9a} }, -/**/ {{0x3ff00110, 0x12113324} }, -/**/ {{0x3ff00100, 0x10010010} }, -/**/ {{0x3ff000f0, 0x0e10d2fc} }, -/**/ {{0x3ff000e0, 0x0c40ab89} }, -/**/ {{0x3ff000d0, 0x0a908957} }, -/**/ {{0x3ff000c0, 0x09006c05} }, -/**/ {{0x3ff000b0, 0x07905334} }, -/**/ {{0x3ff000a0, 0x06403e82} }, -/**/ {{0x3ff00090, 0x05102d92} }, -/**/ {{0x3ff00080, 0x04002001} }, -/**/ {{0x3ff00070, 0x03101571} }, -/**/ {{0x3ff00060, 0x02400d80} }, -/**/ {{0x3ff00050, 0x019007d0} }, -/**/ {{0x3ff00040, 0x01000400} }, -/**/ {{0x3ff00030, 0x009001b0} }, -/**/ {{0x3ff00020, 0x00400080} }, -/**/ {{0x3ff00010, 0x00100010} }, -/**/ {{0x3ff00000, 0x00000000} }, -/**/ {{0x3fefffe0, 0x001fffe0} }, -/**/ {{0x3fefffc0, 0x007fff00} }, -/**/ {{0x3fefffa0, 0x011ffca0} }, -/**/ {{0x3fefff80, 0x01fff800} }, -/**/ {{0x3fefff60, 0x031ff060} }, -/**/ {{0x3fefff40, 0x047fe501} }, -/**/ {{0x3fefff20, 0x061fd521} }, -/**/ {{0x3fefff00, 0x07ffc002} }, -/**/ {{0x3feffee0, 0x0a1fa4e3} }, -/**/ {{0x3feffec0, 0x0c7f8305} }, -/**/ {{0x3feffea0, 0x0f1f59a7} }, -/**/ {{0x3feffe80, 0x11ff280a} }, -/**/ {{0x3feffe60, 0x151eed6e} }, -/**/ {{0x3feffe40, 0x187ea913} }, -/**/ {{0x3feffe20, 0x1c1e5a39} }, -/**/ {{0x3feffe00, 0x1ffe0020} }, -/**/ {{0x3feffde0, 0x241d9a09} }, -/**/ {{0x3feffdc0, 0x287d2733} }, -/**/ {{0x3feffda0, 0x2d1ca6e0} }, -/**/ {{0x3feffd80, 0x31fc184e} }, -/**/ {{0x3feffd60, 0x371b7abf} }, -/**/ {{0x3feffd40, 0x3c7acd72} }, -/**/ {{0x3feffd20, 0x421a0fa9} }, -/**/ {{0x3feffd00, 0x47f940a2} }, -/**/ {{0x3feffce0, 0x4e185f9f} }, -/**/ {{0x3feffcc0, 0x54776bdf} }, -/**/ {{0x3feffca0, 0x5b1664a3} }, -/**/ {{0x3feffc80, 0x61f5492c} }, -/**/ {{0x3feffc60, 0x691418b9} }, -/**/ {{0x3feffc40, 0x7072d28b} }, -/**/ {{0x3feffc20, 0x781175e3} }, -/**/ {{0x3feffc00, 0x7ff00200} }, -/**/ {{0x3feffbe0, 0x880e7623} }, -/**/ {{0x3feffbc0, 0x906cd18c} }, -/**/ {{0x3feffba0, 0x990b137c} }, -/**/ {{0x3feffb80, 0xa1e93b34} }, -/**/ {{0x3feffb60, 0xab0747f3} }, -/**/ {{0x3feffb40, 0xb46538fa} }, -/**/ {{0x3feffb20, 0xbe030d89} }, -/**/ {{0x3feffb00, 0xc7e0c4e1} }, -/**/ {{0x3feffae0, 0xd1fe5e43} }, -/**/ {{0x3feffac0, 0xdc5bd8ee} }, -/**/ {{0x3feffaa0, 0xe6f93424} }, -/**/ {{0x3feffa80, 0xf1d66f25} }, -/**/ {{0x3feffa60, 0xfcf38931} }, -/**/ {{0x3feffa41, 0x08508189} }, -/**/ {{0x3feffa21, 0x13ed576d} }, -/**/ {{0x3feffa01, 0x1fca0a1e} }, -/**/ {{0x3feff9e1, 0x2be698dd} }, -/**/ {{0x3feff9c1, 0x384302e9} }, -/**/ {{0x3feff9a1, 0x44df4785} }, -/**/ {{0x3feff981, 0x51bb65ef} }, -/**/ {{0x3feff961, 0x5ed75d6a} }, -/**/ {{0x3feff941, 0x6c332d34} }, -/**/ {{0x3feff921, 0x79ced490} }, -/**/ {{0x3feff901, 0x87aa52be} }, -/**/ {{0x3feff8e1, 0x95c5a6fe} }, -/**/ {{0x3feff8c1, 0xa420d091} }, -/**/ {{0x3feff8a1, 0xb2bbceb7} }, -/**/ {{0x3feff881, 0xc196a0b2} }, -/**/ {{0x3feff861, 0xd0b145c2} }, -/**/ {{0x3feff841, 0xe00bbd28} }, -/**/ {{0x3feff821, 0xefa60624} }, -/**/ {{0x3feff801, 0xff801ff8} }, -/**/ {{0x3feff7e2, 0x0f9a09e3} }, -/**/ {{0x3feff7c2, 0x1ff3c328} }, -/**/ {{0x3feff7a2, 0x308d4b05} }, -/**/ {{0x3feff782, 0x4166a0bd} }, -/**/ {{0x3feff762, 0x527fc390} }, -/**/ {{0x3feff742, 0x63d8b2bf} }, -/**/ {{0x3feff722, 0x75716d8b} }, -/**/ {{0x3feff702, 0x8749f334} }, -/**/ {{0x3feff6e2, 0x996242fb} }, -/**/ {{0x3feff6c2, 0xabba5c21} }, -/**/ {{0x3feff6a2, 0xbe523de8} }, -/**/ {{0x3feff682, 0xd129e78f} }, -/**/ {{0x3feff662, 0xe4415858} }, -/**/ {{0x3feff642, 0xf7988f84} }, -/**/ {{0x3feff623, 0x0b2f8c54} }, -/**/ {{0x3feff603, 0x1f064e08} }, -/**/ {{0x3feff5e3, 0x331cd3e1} }, -/**/ {{0x3feff5c3, 0x47731d21} }, -/**/ {{0x3feff5a3, 0x5c092908} }, -/**/ {{0x3feff583, 0x70def6d7} }, -/**/ {{0x3feff563, 0x85f485d0} }, -/**/ {{0x3feff543, 0x9b49d532} }, -/**/ {{0x3feff523, 0xb0dee440} }, -/**/ {{0x3feff503, 0xc6b3b23b} }, -/**/ {{0x3feff4e3, 0xdcc83e62} }, -/**/ {{0x3feff4c3, 0xf31c87f8} }, -/**/ {{0x3feff4a4, 0x09b08e3d} }, -/**/ {{0x3feff484, 0x20845073} }, -/**/ {{0x3feff464, 0x3797cdda} }, -/**/ {{0x3feff444, 0x4eeb05b4} }, -/**/ {{0x3feff424, 0x667df741} }, -/**/ {{0x3feff404, 0x7e50a1c3} }, -/**/ {{0x3feff3e4, 0x9663047b} }, -/**/ {{0x3feff3c4, 0xaeb51eaa} }, -/**/ {{0x3feff3a4, 0xc746ef91} }, -/**/ {{0x3feff384, 0xe0187672} }, -/**/ {{0x3feff364, 0xf929b28d} }, -/**/ {{0x3feff345, 0x127aa323} }, -/**/ {{0x3feff325, 0x2c0b4776} }, -/**/ {{0x3feff305, 0x45db9ec7} }, -/**/ {{0x3feff2e5, 0x5feba858} }, -/**/ {{0x3feff2c5, 0x7a3b6369} }, -/**/ {{0x3feff2a5, 0x94cacf3b} }, -/**/ {{0x3feff285, 0xaf99eb11} }, -/**/ {{0x3feff265, 0xcaa8b62a} }, -/**/ {{0x3feff245, 0xe5f72fc9} }, -/**/ {{0x3feff226, 0x0185572f} }, -/**/ {{0x3feff206, 0x1d532b9d} }, -/**/ {{0x3feff1e6, 0x3960ac54} }, -/**/ {{0x3feff1c6, 0x55add896} }, -/**/ {{0x3feff1a6, 0x723aafa3} }, -/**/ {{0x3feff186, 0x8f0730be} }, -/**/ {{0x3feff166, 0xac135b27} }, -/**/ {{0x3feff146, 0xc95f2e21} }, -/**/ {{0x3feff126, 0xe6eaa8eb} }, -/**/ {{0x3feff107, 0x04b5cac9} }, -/**/ {{0x3feff0e7, 0x22c092fb} }, -/**/ {{0x3feff0c7, 0x410b00c2} }, -/**/ {{0x3feff0a7, 0x5f951360} }, -/**/ {{0x3feff087, 0x7e5eca16} }, -/**/ {{0x3feff067, 0x9d682426} }, -/**/ {{0x3feff047, 0xbcb120d2} }, -/**/ {{0x3feff027, 0xdc39bf5a} }, -/**/ {{0x3feff007, 0xfc01ff00} }, -/**/ {{0x3fefefe8, 0x1c09df07} }, -/**/ {{0x3fefefc8, 0x3c515eae} }, -/**/ {{0x3fefefa8, 0x5cd87d38} }, -/**/ {{0x3fefef88, 0x7d9f39e6} }, -/**/ {{0x3fefef68, 0x9ea593fa} }, -/**/ {{0x3fefef48, 0xbfeb8ab5} }, -/**/ {{0x3fefef28, 0xe1711d5a} }, -/**/ {{0x3fefef09, 0x03364b28} }, -/**/ {{0x3fefeee9, 0x253b1363} }, -/**/ {{0x3fefeec9, 0x477f754b} }, -/**/ {{0x3fefeea9, 0x6a037022} }, -/**/ {{0x3fefee89, 0x8cc7032a} }, -/**/ {{0x3fefee69, 0xafca2da5} }, -/**/ {{0x3fefee49, 0xd30ceed4} }, -/**/ {{0x3fefee29, 0xf68f45f8} }, -/**/ {{0x3fefee0a, 0x1a513254} }, -/**/ {{0x3fefedea, 0x3e52b329} }, -/**/ {{0x3fefedca, 0x6293c7b8} }, -/**/ {{0x3fefedaa, 0x87146f44} }, -/**/ {{0x3fefed8a, 0xabd4a90e} }, -/**/ {{0x3fefed6a, 0xd0d47458} }, -/**/ {{0x3fefed4a, 0xf613d064} }, -/**/ {{0x3fefed2b, 0x1b92bc73} }, -/**/ {{0x3fefed0b, 0x415137c7} }, -/**/ {{0x3fefeceb, 0x674f41a2} }, -/**/ {{0x3fefeccb, 0x8d8cd945} }, -/**/ {{0x3fefecab, 0xb409fdf3} }, -/**/ {{0x3fefec8b, 0xdac6aeed} }, -/**/ {{0x3fefec6c, 0x01c2eb76} }, -/**/ {{0x3fefec4c, 0x28feb2ce} }, -/**/ {{0x3fefec2c, 0x507a0437} }, -/**/ {{0x3fefec0c, 0x7834def5} }, -/**/ {{0x3fefebec, 0xa02f4247} }, -/**/ {{0x3fefebcc, 0xc8692d71} }, -/**/ {{0x3fefebac, 0xf0e29fb4} }, -/**/ {{0x3fefeb8d, 0x199b9852} }, -/**/ {{0x3fefeb6d, 0x4294168d} }, -/**/ {{0x3fefeb4d, 0x6bcc19a7} }, -/**/ {{0x3fefeb2d, 0x9543a0e2} }, -/**/ {{0x3fefeb0d, 0xbefaab7f} }, -/**/ {{0x3fefeaed, 0xe8f138c2} }, -/**/ {{0x3fefeace, 0x132747ea} }, -/**/ {{0x3fefeaae, 0x3d9cd83c} }, -/**/ {{0x3fefea8e, 0x6851e8f7} }, -/**/ {{0x3fefea6e, 0x93467960} }, -/**/ {{0x3fefea4e, 0xbe7a88b7} }, -/**/ {{0x3fefea2e, 0xe9ee163f} }, -/**/ {{0x3fefea0f, 0x15a12139} }, -/**/ {{0x3fefe9ef, 0x4193a8e8} }, -/**/ {{0x3fefe9cf, 0x6dc5ac8e} }, -/**/ {{0x3fefe9af, 0x9a372b6d} }, -/**/ {{0x3fefe98f, 0xc6e824c6} }, -/**/ {{0x3fefe96f, 0xf3d897dd} }, - }; - - static const number - Lu[182][2] = { /* log(ui) */ -/**/ {{{0xbfd63003, 0x0b3aac49} }, -/**/ {{0xbc6dc18c, 0xe51fff99} },}, -/**/ {{{0xbfd5d5bd, 0xdf595f30} }, -/**/ {{0x3c765411, 0x48cbb8a2} },}, -/**/ {{{0xbfd57bf7, 0x53c8d1fb} }, -/**/ {{0x3c60908d, 0x15f88b63} },}, -/**/ {{{0xbfd522ae, 0x0738a3d8} }, -/**/ {{0x3c68f7e9, 0xb38a6979} },}, -/**/ {{{0xbfd4c9e0, 0x9e172c3c} }, -/**/ {{0x3c512361, 0x5b147a5d} },}, -/**/ {{{0xbfd4718d, 0xc271c41b} }, -/**/ {{0xbc38fb4c, 0x14c56eef} },}, -/**/ {{{0xbfd419b4, 0x23d5e8c7} }, -/**/ {{0xbc60dbb2, 0x43827392} },}, -/**/ {{{0xbfd3c252, 0x77333184} }, -/**/ {{0x3c72ad27, 0xe50a8ec6} },}, -/**/ {{{0xbfd36b67, 0x76be1117} }, -/**/ {{0x3c5324f0, 0xe883858e} },}, -/**/ {{{0xbfd314f1, 0xe1d35ce4} }, -/**/ {{0x3c73d699, 0x09e5c3dc} },}, -/**/ {{{0xbfd2bef0, 0x7cdc9354} }, -/**/ {{0x3c782dad, 0x7fd86088} },}, -/**/ {{{0xbfd26962, 0x1134db92} }, -/**/ {{0xbc7e0efa, 0xdd9db02b} },}, -/**/ {{{0xbfd21445, 0x6d0eb8d4} }, -/**/ {{0xbc6f7ae9, 0x1aeba60a} },}, -/**/ {{{0xbfd1bf99, 0x635a6b95} }, -/**/ {{0x3c612aeb, 0x84249223} },}, -/**/ {{{0xbfd16b5c, 0xcbacfb73} }, -/**/ {{0xbc766fbd, 0x28b40935} },}, -/**/ {{{0xbfd1178e, 0x8227e47c} }, -/**/ {{0x3c60e63a, 0x5f01c691} },}, -/**/ {{{0xbfd0c42d, 0x676162e3} }, -/**/ {{0xbc5162c7, 0x9d5d11ee} },}, -/**/ {{{0xbfd07138, 0x604d5862} }, -/**/ {{0xbc7cdb16, 0xed4e9138} },}, -/**/ {{{0xbfd01eae, 0x5626c691} }, -/**/ {{0x3c418290, 0xbd2932e2} },}, -/**/ {{{0xbfcf991c, 0x6cb3b379} }, -/**/ {{0xbc6f6650, 0x66f980a2} },}, -/**/ {{{0xbfcef5ad, 0xe4dcffe6} }, -/**/ {{0x3c508ab2, 0xddc708a0} },}, -/**/ {{{0xbfce530e, 0xffe71012} }, -/**/ {{0xbc422760, 0x41f43042} },}, -/**/ {{{0xbfcdb13d, 0xb0d48940} }, -/**/ {{0xbc5aa11d, 0x49f96cb9} },}, -/**/ {{{0xbfcd1037, 0xf2655e7b} }, -/**/ {{0xbc660629, 0x242471a2} },}, -/**/ {{{0xbfcc6ffb, 0xc6f00f71} }, -/**/ {{0x3c68e58b, 0x2c57a4a5} },}, -/**/ {{{0xbfcbd087, 0x383bd8ad} }, -/**/ {{0xbc3dd355, 0xf6a516d7} },}, -/**/ {{{0xbfcb31d8, 0x575bce3d} }, -/**/ {{0x3c66353a, 0xb386a94d} },}, -/**/ {{{0xbfca93ed, 0x3c8ad9e3} }, -/**/ {{0xbc6bcafa, 0x9de97203} },}, -/**/ {{{0xbfc9f6c4, 0x07089664} }, -/**/ {{0xbc435a19, 0x605e67ef} },}, -/**/ {{{0xbfc95a5a, 0xdcf7017f} }, -/**/ {{0xbc5142c5, 0x07fb7a3d} },}, -/**/ {{{0xbfc8beaf, 0xeb38fe8c} }, -/**/ {{0xbc555aa8, 0xb6997a40} },}, -/**/ {{{0xbfc823c1, 0x6551a3c2} }, -/**/ {{0x3c61232c, 0xe70be781} },}, -/**/ {{{0xbfc7898d, 0x85444c73} }, -/**/ {{0xbc5ef8f6, 0xebcfb201} },}, -/**/ {{{0xbfc6f012, 0x8b756abc} }, -/**/ {{0x3c68de59, 0xc21e166c} },}, -/**/ {{{0xbfc6574e, 0xbe8c133a} }, -/**/ {{0x3c3d34f0, 0xf4621bed} },}, -/**/ {{{0xbfc5bf40, 0x6b543db2} }, -/**/ {{0x3c21f5b4, 0x4c0df7e7} },}, -/**/ {{{0xbfc527e5, 0xe4a1b58d} }, -/**/ {{0x3c271a96, 0x82395bfd} },}, -/**/ {{{0xbfc4913d, 0x8333b561} }, -/**/ {{0x3c50d560, 0x4930f135} },}, -/**/ {{{0xbfc3fb45, 0xa59928cc} }, -/**/ {{0x3c6d87e6, 0xa354d056} },}, -/**/ {{{0xbfc365fc, 0xb0159016} }, -/**/ {{0xbc57d411, 0xa5b944ad} },}, -/**/ {{{0xbfc2d161, 0x0c86813a} }, -/**/ {{0x3c5499a3, 0xf25af95f} },}, -/**/ {{{0xbfc23d71, 0x2a49c202} }, -/**/ {{0x3c66e381, 0x61051d69} },}, -/**/ {{{0xbfc1aa2b, 0x7e23f72a} }, -/**/ {{0x3c4c6ef1, 0xd9b2ef7e} },}, -/**/ {{{0xbfc1178e, 0x8227e47c} }, -/**/ {{0x3c50e63a, 0x5f01c691} },}, -/**/ {{{0xbfc08598, 0xb59e3a07} }, -/**/ {{0x3c6dd700, 0x9902bf32} },}, -/**/ {{{0xbfbfe891, 0x39dbd566} }, -/**/ {{0x3c5ac9f4, 0x215f9393} },}, -/**/ {{{0xbfbec739, 0x830a1120} }, -/**/ {{0x3c4a2bf9, 0x91780d3f} },}, -/**/ {{{0xbfbda727, 0x638446a2} }, -/**/ {{0xbc5401fa, 0x71733019} },}, -/**/ {{{0xbfbc8858, 0x01bc4b23} }, -/**/ {{0xbc5a38cb, 0x559a6706} },}, -/**/ {{{0xbfbb6ac8, 0x8dad5b1c} }, -/**/ {{0x3c40057e, 0xed1ca59f} },}, -/**/ {{{0xbfba4e76, 0x40b1bc38} }, -/**/ {{0x3c55b5ca, 0x203e4259} },}, -/**/ {{{0xbfb9335e, 0x5d594989} }, -/**/ {{0x3c5478a8, 0x5704ccb7} },}, -/**/ {{{0xbfb8197e, 0x2f40e3f0} }, -/**/ {{0xbc3b9f2d, 0xffbeed43} },}, -/**/ {{{0xbfb700d3, 0x0aeac0e1} }, -/**/ {{0x3c272566, 0x212cdd05} },}, -/**/ {{{0xbfb5e95a, 0x4d9791cb} }, -/**/ {{0xbc5f3874, 0x5c5c450a} },}, -/**/ {{{0xbfb4d311, 0x5d207eac} }, -/**/ {{0xbc5769f4, 0x2c7842cc} },}, -/**/ {{{0xbfb3bdf5, 0xa7d1ee64} }, -/**/ {{0xbc47a976, 0xd3b5b45f} },}, -/**/ {{{0xbfb2aa04, 0xa44717a5} }, -/**/ {{0x3c5d15d3, 0x8d2fa3f7} },}, -/**/ {{{0xbfb1973b, 0xd1465567} }, -/**/ {{0x3c475583, 0x67a6acf6} },}, -/**/ {{{0xbfb08598, 0xb59e3a07} }, -/**/ {{0x3c5dd700, 0x9902bf32} },}, -/**/ {{{0xbfaeea31, 0xc006b87c} }, -/**/ {{0x3c43e4fc, 0x93b7b66c} },}, -/**/ {{{0xbfaccb73, 0xcdddb2cc} }, -/**/ {{0x3c4e48fb, 0x0500efd4} },}, -/**/ {{{0xbfaaaef2, 0xd0fb10fc} }, -/**/ {{0xbc2a353b, 0xb42e0add} },}, -/**/ {{{0xbfa894aa, 0x149fb343} }, -/**/ {{0xbc3a8be9, 0x7660a23d} },}, -/**/ {{{0xbfa67c94, 0xf2d4bb58} }, -/**/ {{0xbc40413e, 0x6505e603} },}, -/**/ {{{0xbfa466ae, 0xd42de3ea} }, -/**/ {{0x3c4cdd6f, 0x7f4a137e} },}, -/**/ {{{0xbfa252f3, 0x2f8d183f} }, -/**/ {{0x3c4947f7, 0x92615916} },}, -/**/ {{{0xbfa0415d, 0x89e74444} }, -/**/ {{0xbc4c05cf, 0x1d753622} },}, -/**/ {{{0xbf9c63d2, 0xec14aaf2} }, -/**/ {{0x3c3ce030, 0xa686bd86} },}, -/**/ {{{0xbf984925, 0x28c8cabf} }, -/**/ {{0x3c3d192d, 0x0619fa67} },}, -/**/ {{{0xbf9432a9, 0x25980cc1} }, -/**/ {{0x3c38cdaf, 0x39004192} },}, -/**/ {{{0xbf902056, 0x58935847} }, -/**/ {{0xbc327c8e, 0x8416e71f} },}, -/**/ {{{0xbf882448, 0xa388a2aa} }, -/**/ {{0xbc104b16, 0x137f09a0} },}, -/**/ {{{0xbf801015, 0x7588de71} }, -/**/ {{0xbc146662, 0xd417ced0} },}, -/**/ {{{0xbf700805, 0x59588b35} }, -/**/ {{0xbc1f9663, 0x8cf63677} },}, -/**/ {{{0x00000000, 0x00000000} }, -/**/ {{0x00000000, 0x00000000} },}, -/**/ {{{0x3f6ff00a, 0xa2b10bc0} }, -/**/ {{0x3c02821a, 0xd5a6d353} },}, -/**/ {{{0x3f7fe02a, 0x6b106789} }, -/**/ {{0xbbce44b7, 0xe3711ebf} },}, -/**/ {{{0x3f87dc47, 0x5f810a77} }, -/**/ {{0xbc116d76, 0x87d3df21} },}, -/**/ {{{0x3f8fc0a8, 0xb0fc03e4} }, -/**/ {{0xbc183092, 0xc59642a1} },}, -/**/ {{{0x3f93cea4, 0x4346a575} }, -/**/ {{0xbc10cb5a, 0x902b3a1c} },}, -/**/ {{{0x3f97b91b, 0x07d5b11b} }, -/**/ {{0xbc35b602, 0xace3a510} },}, -/**/ {{{0x3f9b9fc0, 0x27af9198} }, -/**/ {{0xbbf0ae69, 0x229dc868} },}, -/**/ {{{0x3f9f829b, 0x0e783300} }, -/**/ {{0x3c333e3f, 0x04f1ef23} },}, -/**/ {{{0x3fa1b0d9, 0x8923d980} }, -/**/ {{0xbc3e9ae8, 0x89bac481} },}, -/**/ {{{0x3fa39e87, 0xb9febd60} }, -/**/ {{0xbc45bfa9, 0x37f551bb} },}, -/**/ {{{0x3fa58a5b, 0xafc8e4d5} }, -/**/ {{0xbc4ce55c, 0x2b4e2b72} },}, -/**/ {{{0x3fa77458, 0xf632dcfc} }, -/**/ {{0x3c418d3c, 0xa87b9296} },}, -/**/ {{{0x3fa95c83, 0x0ec8e3eb} }, -/**/ {{0x3c4f5a0e, 0x80520bf2} },}, -/**/ {{{0x3fab42dd, 0x711971bf} }, -/**/ {{0xbc3eb975, 0x9c130499} },}, -/**/ {{{0x3fad276b, 0x8adb0b52} }, -/**/ {{0x3c21e3c5, 0x3257fd47} },}, -/**/ {{{0x3faf0a30, 0xc01162a6} }, -/**/ {{0x3c485f32, 0x5c5bbacd} },}, -/**/ {{{0x3fb07598, 0x3598e471} }, -/**/ {{0x3c480da5, 0x333c45b8} },}, -/**/ {{{0x3fb16536, 0xeea37ae1} }, -/**/ {{0xbc379da3, 0xe8c22cda} },}, -/**/ {{{0x3fb253f6, 0x2f0a1417} }, -/**/ {{0xbc1c1259, 0x63fc4cfd} },}, -/**/ {{{0x3fb341d7, 0x961bd1d1} }, -/**/ {{0xbc5b599f, 0x227becbb} },}, -/**/ {{{0x3fb42edc, 0xbea646f0} }, -/**/ {{0x3c4ddd4f, 0x935996c9} },}, -/**/ {{{0x3fb51b07, 0x3f06183f} }, -/**/ {{0x3c5a49e3, 0x9a1a8be4} },}, -/**/ {{{0x3fb60658, 0xa93750c4} }, -/**/ {{0xbc538845, 0x8ec21b6a} },}, -/**/ {{{0x3fb6f0d2, 0x8ae56b4c} }, -/**/ {{0xbc5906d9, 0x9184b992} },}, -/**/ {{{0x3fb7da76, 0x6d7b12cd} }, -/**/ {{0xbc5eeedf, 0xcdd94131} },}, -/**/ {{{0x3fb8c345, 0xd6319b21} }, -/**/ {{0xbc24a697, 0xab3424a9} },}, -/**/ {{{0x3fb9ab42, 0x462033ad} }, -/**/ {{0xbc42099e, 0x1c184e8e} },}, -/**/ {{{0x3fba926d, 0x3a4ad563} }, -/**/ {{0x3c5942f4, 0x8aa70ea9} },}, -/**/ {{{0x3fbb78c8, 0x2bb0eda1} }, -/**/ {{0x3c20878c, 0xf0327e21} },}, -/**/ {{{0x3fbc5e54, 0x8f5bc743} }, -/**/ {{0x3c35d617, 0xef8161b1} },}, -/**/ {{{0x3fbd4313, 0xd66cb35d} }, -/**/ {{0x3c5790dd, 0x951d90fa} },}, -/**/ {{{0x3fbe2707, 0x6e2af2e6} }, -/**/ {{0xbc361578, 0x001e0162} },}, -/**/ {{{0x3fbf0a30, 0xc01162a6} }, -/**/ {{0x3c585f32, 0x5c5bbacd} },}, -/**/ {{{0x3fbfec91, 0x31dbeabb} }, -/**/ {{0xbc55746b, 0x9981b36c} },}, -/**/ {{{0x3fc06715, 0x12ca596e} }, -/**/ {{0x3c550c64, 0x7eb86499} },}, -/**/ {{{0x3fc0d77e, 0x7cd08e59} }, -/**/ {{0x3c69a5dc, 0x5e9030ac} },}, -/**/ {{{0x3fc14785, 0x846742ac} }, -/**/ {{0x3c6a2881, 0x3e3a7f07} },}, -/**/ {{{0x3fc1b72a, 0xd52f67a0} }, -/**/ {{0x3c548302, 0x3472cd74} },}, -/**/ {{{0x3fc2266f, 0x190a5acb} }, -/**/ {{0x3c6f547b, 0xf1809e88} },}, -/**/ {{{0x3fc29552, 0xf81ff523} }, -/**/ {{0x3c630177, 0x1c407dbf} },}, -/**/ {{{0x3fc303d7, 0x18e47fd3} }, -/**/ {{0xbc06b9c7, 0xd96091fa} },}, -/**/ {{{0x3fc371fc, 0x201e8f74} }, -/**/ {{0x3c5de6cb, 0x62af18a0} },}, -/**/ {{{0x3fc3dfc2, 0xb0ecc62a} }, -/**/ {{0xbc5ab3a8, 0xe7d81017} },}, -/**/ {{{0x3fc44d2b, 0x6ccb7d1e} }, -/**/ {{0x3c69f4f6, 0x543e1f88} },}, -/**/ {{{0x3fc4ba36, 0xf39a55e5} }, -/**/ {{0x3c668981, 0xbcc36756} },}, -/**/ {{{0x3fc526e5, 0xe3a1b438} }, -/**/ {{0xbc6746ff, 0x8a470d3a} },}, -/**/ {{{0x3fc59338, 0xd9982086} }, -/**/ {{0xbc565d22, 0xaa8ad7cf} },}, -/**/ {{{0x3fc5ff30, 0x70a793d4} }, -/**/ {{0xbc5bc60e, 0xfafc6f6e} },}, -/**/ {{{0x3fc66acd, 0x4272ad51} }, -/**/ {{0xbc50900e, 0x4e1ea8b2} },}, -/**/ {{{0x3fc6d60f, 0xe719d21d} }, -/**/ {{0xbc6caae2, 0x68ecd179} },}, -/**/ {{{0x3fc740f8, 0xf54037a5} }, -/**/ {{0xbc5b2640, 0x62a84cdb} },}, -/**/ {{{0x3fc7ab89, 0x0210d909} }, -/**/ {{0x3c4be36b, 0x2d6a0608} },}, -/**/ {{{0x3fc815c0, 0xa14357eb} }, -/**/ {{0xbc54be48, 0x073a0564} },}, -/**/ {{{0x3fc87fa0, 0x6520c911} }, -/**/ {{0xbc6bf7fd, 0xbfa08d9a} },}, -/**/ {{{0x3fc8e928, 0xde886d41} }, -/**/ {{0xbc6569d8, 0x51a56770} },}, -/**/ {{{0x3fc9525a, 0x9cf456b4} }, -/**/ {{0x3c6d904c, 0x1d4e2e26} },}, -/**/ {{{0x3fc9bb36, 0x2e7dfb83} }, -/**/ {{0x3c6575e3, 0x1f003e0c} },}, -/**/ {{{0x3fca23bc, 0x1fe2b563} }, -/**/ {{0x3c493711, 0xb07a998c} },}, -/**/ {{{0x3fca8bec, 0xfc882f19} }, -/**/ {{0xbc5e8c37, 0x918c39eb} },}, -/**/ {{{0x3fcaf3c9, 0x4e80bff3} }, -/**/ {{0xbc5398cf, 0xf3641985} },}, -/**/ {{{0x3fcb5b51, 0x9e8fb5a4} }, -/**/ {{0x3c6ba27f, 0xdc19e1a0} },}, -/**/ {{{0x3fcbc286, 0x742d8cd6} }, -/**/ {{0x3c54fce7, 0x44870f55} },}, -/**/ {{{0x3fcc2968, 0x558c18c1} }, -/**/ {{0xbc673dee, 0x38a3fb6b} },}, -/**/ {{{0x3fcc8ff7, 0xc79a9a22} }, -/**/ {{0xbc64f689, 0xf8434012} },}, -/**/ {{{0x3fccf635, 0x4e09c5dc} }, -/**/ {{0x3c6239a0, 0x7d55b695} },}, -/**/ {{{0x3fcd5c21, 0x6b4fbb91} }, -/**/ {{0x3c66e443, 0x597e4d40} },}, -/**/ {{{0x3fcdc1bc, 0xa0abec7d} }, -/**/ {{0x3c6834c5, 0x1998b6fc} },}, -/**/ {{{0x3fce2707, 0x6e2af2e6} }, -/**/ {{0xbc461578, 0x001e0162} },}, -/**/ {{{0x3fce8c02, 0x52aa5a60} }, -/**/ {{0xbc46e03a, 0x39bfc89b} },}, -/**/ {{{0x3fcef0ad, 0xcbdc5936} }, -/**/ {{0x3c648637, 0x950dc20d} },}, -/**/ {{{0x3fcf550a, 0x564b7b37} }, -/**/ {{0x3c2c5f6d, 0xfd018c37} },}, -/**/ {{{0x3fcfb918, 0x6d5e3e2b} }, -/**/ {{0xbc6caaae, 0x64f21acb} },}, -/**/ {{{0x3fd00e6c, 0x45ad501d} }, -/**/ {{0xbc6cb956, 0x8ff6fead} },}, -/**/ {{{0x3fd04025, 0x94b4d041} }, -/**/ {{0xbc628ec2, 0x17a5022d} },}, -/**/ {{{0x3fd071b8, 0x5fcd590d} }, -/**/ {{0x3c5d1707, 0xf97bde80} },}, -/**/ {{{0x3fd0a324, 0xe27390e3} }, -/**/ {{0x3c77dcfd, 0xe8061c03} },}, -/**/ {{{0x3fd0d46b, 0x579ab74b} }, -/**/ {{0x3c603ec8, 0x1c3cbd92} },}, -/**/ {{{0x3fd1058b, 0xf9ae4ad5} }, -/**/ {{0x3c589fa0, 0xab4cb31d} },}, -/**/ {{{0x3fd13687, 0x0293a8b0} }, -/**/ {{0x3c77b662, 0x98edd24a} },}, -/**/ {{{0x3fd1675c, 0xababa60e} }, -/**/ {{0x3c2ce63e, 0xab883717} },}, -/**/ {{{0x3fd1980d, 0x2dd4236f} }, -/**/ {{0x3c79d3d1, 0xb0e4d147} },}, -/**/ {{{0x3fd1c898, 0xc16999fb} }, -/**/ {{0xbc30e5c6, 0x2aff1c44} },}, -/**/ {{{0x3fd1f8ff, 0x9e48a2f3} }, -/**/ {{0xbc7c9fdf, 0x9a0c4b07} },}, -/**/ {{{0x3fd22941, 0xfbcf7966} }, -/**/ {{0xbc776f5e, 0xb09628af} },}, -/**/ {{{0x3fd25960, 0x10df763a} }, -/**/ {{0xbc50f76c, 0x57075e9e} },}, -/**/ {{{0x3fd2895a, 0x13de86a3} }, -/**/ {{0x3c77ad24, 0xc13f040e} },}, -/**/ {{{0x3fd2b930, 0x3ab89d25} }, -/**/ {{0xbc7896b5, 0xfd852ad4} },}, -/**/ {{{0x3fd2e8e2, 0xbae11d31} }, -/**/ {{0xbc78f4cd, 0xb95ebdf9} },}, -/**/ {{{0x3fd31871, 0xc9544185} }, -/**/ {{0xbc351acc, 0x4c09b379} },}, -/**/ {{{0x3fd347dd, 0x9a987d55} }, -/**/ {{0xbc64dd4c, 0x580919f8} },}, -/**/ {{{0x3fd37726, 0x62bfd85b} }, -/**/ {{0xbc4b5629, 0xd8117de7} },}, -/**/ {{{0x3fd3a64c, 0x556945ea} }, -/**/ {{0xbc6c6865, 0x1945f97c} },}, -/**/ {{{0x3fd3d54f, 0xa5c1f710} }, -/**/ {{0xbc7e3265, 0xc6a1c98d} },}, -/**/ {{{0x3fd40430, 0x8686a7e4} }, -/**/ {{0xbc70bcfb, 0x6082ce6d} },}, -/**/ {{{0x3fd432ef, 0x2a04e814} }, -/**/ {{0xbc729931, 0x715ac903} },}, -/**/ {{{0x3fd4618b, 0xc21c5ec2} }, -/**/ {{0x3c7f42de, 0xcdeccf1d} },}, -/**/ {{{0x3fd49006, 0x804009d1} }, -/**/ {{0xbc69ffc3, 0x41f177dc} },}, -/**/ {{{0x3fd4be5f, 0x957778a1} }, -/**/ {{0xbc6259b3, 0x5b04813d} },}, -/**/ {{{0x3fd4ec97, 0x3260026a} }, -/**/ {{0xbc742a87, 0xd977dc5e} },}, -/**/ {{{0x3fd51aad, 0x872df82d} }, -/**/ {{0x3c43927a, 0xc19f55e3} },}, -/**/ {{{0x3fd548a2, 0xc3add263} }, -/**/ {{0xbc6819cf, 0x7e308ddb} },}, -/**/ {{{0x3fd57677, 0x17455a6c} }, -/**/ {{0x3c7526ad, 0xb283660c} },}, -/**/ {{{0x3fd5a42a, 0xb0f4cfe2} }, -/**/ {{0xbc78ebcb, 0x7dee9a3d} },}, -/**/ {{{0x3fd5d1bd, 0xbf5809ca} }, -/**/ {{0x3c742363, 0x83dc7fe1} },}, -/**/ {{{0x3fd5ff30, 0x70a793d4} }, -/**/ {{0xbc6bc60e, 0xfafc6f6e} },}, -/**/ {{{0x3fd62c82, 0xf2b9c795} }, -/**/ {{0x3c67b7af, 0x915300e5} },}, - }; - - static const number - Lv[362][2] = { /* log(vj) */ - -/**/ {{{0xbf6687ec, 0xb72daabf} }, -/**/ {{0x3c052c69, 0x0f13318f} },}, -/**/ {{{0xbf6667d6, 0x3767104f} }, -/**/ {{0x3bd3efa3, 0xd27a7bac} },}, -/**/ {{{0xbf6647bf, 0xd7cd64fb} }, -/**/ {{0x3c09b725, 0x55a89c36} },}, -/**/ {{{0xbf6627a9, 0x9860683b} }, -/**/ {{0x3bcbae22, 0xfebc844a} },}, -/**/ {{{0xbf660793, 0x791fd98a} }, -/**/ {{0xbbfe34af, 0x78fa1cb5} },}, -/**/ {{{0xbf65e77d, 0x7a0b7863} }, -/**/ {{0xbc02f1b1, 0xea78fdd0} },}, -/**/ {{{0xbf65c767, 0x9b230442} }, -/**/ {{0x3bf70d8c, 0x2202b2ca} },}, -/**/ {{{0xbf65a751, 0xdc663ca2} }, -/**/ {{0xbbfdc63d, 0xc3444e64} },}, -/**/ {{{0xbf65873c, 0x3dd4e102} }, -/**/ {{0x3c021b11, 0x370d69c3} },}, -/**/ {{{0xbf656726, 0xbf6eb0de} }, -/**/ {{0xbbfb6da8, 0x154dd8d8} },}, -/**/ {{{0xbf654711, 0x61336bb6} }, -/**/ {{0xbc0b12d2, 0xdf9a4709} },}, -/**/ {{{0xbf6526fc, 0x2322d10a} }, -/**/ {{0x3bf997f2, 0x68d1274f} },}, -/**/ {{{0xbf6506e7, 0x053ca059} }, -/**/ {{0x3c0c2a1f, 0xe70c852a} },}, -/**/ {{{0xbf64e6d2, 0x07809924} }, -/**/ {{0x3c04cc9e, 0xa808538f} },}, -/**/ {{{0xbf64c6bd, 0x29ee7aed} }, -/**/ {{0x3befe68c, 0x7797a4bd} },}, -/**/ {{{0xbf64a6a8, 0x6c860537} }, -/**/ {{0x3c06794d, 0x9efaae3d} },}, -/**/ {{{0xbf648693, 0xcf46f784} }, -/**/ {{0xbbfed318, 0xb2ddd9d1} },}, -/**/ {{{0xbf64667f, 0x5231115a} }, -/**/ {{0x3c061f62, 0x4643624b} },}, -/**/ {{{0xbf64466a, 0xf544123c} }, -/**/ {{0x3c0666a0, 0x9387f11e} },}, -/**/ {{{0xbf642656, 0xb87fb9b0} }, -/**/ {{0x3c0043b2, 0x116ec598} },}, -/**/ {{{0xbf640642, 0x9be3c73c} }, -/**/ {{0xbbfbd84d, 0xd2de6e3e} },}, -/**/ {{{0xbf63e62e, 0x9f6ffa68} }, -/**/ {{0xbbe9149b, 0x433d8c65} },}, -/**/ {{{0xbf63c61a, 0xc32412bb} }, -/**/ {{0xbbf6b88d, 0x08e5a7bb} },}, -/**/ {{{0xbf63a607, 0x06ffcfbe} }, -/**/ {{0xbb9f3c7a, 0xccfac9e2} },}, -/**/ {{{0xbf6385f3, 0x6b02f0fa} }, -/**/ {{0x3bee405c, 0xbec6f6e4} },}, -/**/ {{{0xbf6365df, 0xef2d35f9} }, -/**/ {{0x3bf02993, 0xaf0c0b4c} },}, -/**/ {{{0xbf6345cc, 0x937e5e46} }, -/**/ {{0x3bf9be97, 0xaa64716f} },}, -/**/ {{{0xbf6325b9, 0x57f6296c} }, -/**/ {{0xbbfdeb4d, 0xa2e863ae} },}, -/**/ {{{0xbf6305a6, 0x3c9456f9} }, -/**/ {{0x3c0f3c7f, 0x636d2b2c} },}, -/**/ {{{0xbf62e593, 0x4158a678} }, -/**/ {{0x3c01a8df, 0xb166ca7f} },}, -/**/ {{{0xbf62c580, 0x6642d778} }, -/**/ {{0x3c020ff1, 0x53a2d534} },}, -/**/ {{{0xbf62a56d, 0xab52a987} }, -/**/ {{0xbbe8fef1, 0x0412f1e7} },}, -/**/ {{{0xbf62855b, 0x1087dc35} }, -/**/ {{0xbbfcd17e, 0x4b7ac6c6} },}, -/**/ {{{0xbf626548, 0x95e22f12} }, -/**/ {{0xbbfbfc21, 0x9a8127bf} },}, -/**/ {{{0xbf624536, 0x3b6161af} }, -/**/ {{0x3bd7eda1, 0x66d42390} },}, -/**/ {{{0xbf622524, 0x0105339d} }, -/**/ {{0xbbdf374e, 0x77fedcad} },}, -/**/ {{{0xbf620511, 0xe6cd646f} }, -/**/ {{0x3be1d1fb, 0x52d05dea} },}, -/**/ {{{0xbf61e4ff, 0xecb9b3b8} }, -/**/ {{0x3c02c2fc, 0xffd8e706} },}, -/**/ {{{0xbf61c4ee, 0x12c9e10b} }, -/**/ {{0xbc02b4f8, 0xf1d5cc2c} },}, -/**/ {{{0xbf61a4dc, 0x58fdabfe} }, -/**/ {{0xbc0618c3, 0x1315b191} },}, -/**/ {{{0xbf6184ca, 0xbf54d426} }, -/**/ {{0xbc01f8d5, 0xcb3cdab0} },}, -/**/ {{{0xbf6164b9, 0x45cf1919} }, -/**/ {{0xbc014ff7, 0xc025605a} },}, -/**/ {{{0xbf6144a7, 0xec6c3a6e} }, -/**/ {{0xbbff04ff, 0x87cb08cd} },}, -/**/ {{{0xbf612496, 0xb32bf7bd} }, -/**/ {{0x3bee89b4, 0xe6af1b84} },}, -/**/ {{{0xbf610485, 0x9a0e109e} }, -/**/ {{0x3c07e99e, 0x35a60879} },}, -/**/ {{{0xbf60e474, 0xa11244aa} }, -/**/ {{0x3c04b698, 0x20f2325a} },}, -/**/ {{{0xbf60c463, 0xc838537b} }, -/**/ {{0x3bc0657e, 0x3617200d} },}, -/**/ {{{0xbf60a453, 0x0f7ffcac} }, -/**/ {{0xbc008feb, 0xa5080961} },}, -/**/ {{{0xbf608442, 0x76e8ffd9} }, -/**/ {{0x3bd13002, 0xbb5e1df7} },}, -/**/ {{{0xbf606431, 0xfe731c9d} }, -/**/ {{0xbc0509f3, 0x6e2858c0} },}, -/**/ {{{0xbf604421, 0xa61e1296} }, -/**/ {{0xbc04b556, 0x5f5d9695} },}, -/**/ {{{0xbf602411, 0x6de9a162} }, -/**/ {{0x3c042b89, 0xe79a4e00} },}, -/**/ {{{0xbf600401, 0x55d5889e} }, -/**/ {{0x3be8f98e, 0x1113f403} },}, -/**/ {{{0xbf5fc7e2, 0xbbc30fd4} }, -/**/ {{0xbbfc709b, 0x93382bc9} },}, -/**/ {{{0xbf5f87c3, 0x0c1abdcd} }, -/**/ {{0xbbf2a90d, 0x76a55d1c} },}, -/**/ {{{0xbf5f47a3, 0x9cb19a68} }, -/**/ {{0x3be1b815, 0x76e7826b} },}, -/**/ {{{0xbf5f0784, 0x6d8724e7} }, -/**/ {{0xbbe72d46, 0x2b63756d} },}, -/**/ {{{0xbf5ec765, 0x7e9adc90} }, -/**/ {{0x3beb1a66, 0x73bb17c5} },}, -/**/ {{{0xbf5e8746, 0xcfec40a8} }, -/**/ {{0x3bf11af5, 0xb5e5a553} },}, -/**/ {{{0xbf5e4728, 0x617ad077} }, -/**/ {{0x3bfb2cad, 0xf57dd14f} },}, -/**/ {{{0xbf5e070a, 0x33460b45} }, -/**/ {{0xbbf8db75, 0x4902c8d5} },}, -/**/ {{{0xbf5dc6ec, 0x454d705f} }, -/**/ {{0x3bef5cc6, 0xe8a41057} },}, -/**/ {{{0xbf5d86ce, 0x97907f0f} }, -/**/ {{0x3bed8277, 0xdf8672ef} },}, -/**/ {{{0xbf5d46b1, 0x2a0eb6a3} }, -/**/ {{0xbbc2f9c2, 0x3717e5ee} },}, -/**/ {{{0xbf5d0693, 0xfcc7966b} }, -/**/ {{0x3bf4deed, 0xab4852c6} },}, -/**/ {{{0xbf5cc677, 0x0fba9db6} }, -/**/ {{0xbbf3a2b4, 0x9db2a368} },}, -/**/ {{{0xbf5c865a, 0x62e74bd8} }, -/**/ {{0xbbd2c51d, 0x58fa0c24} },}, -/**/ {{{0xbf5c463d, 0xf64d2024} }, -/**/ {{0x3bf838ca, 0xe3a09391} },}, -/**/ {{{0xbf5c0621, 0xc9eb99ee} }, -/**/ {{0xbbdc2a9e, 0x61b7de71} },}, -/**/ {{{0xbf5bc605, 0xddc2388e} }, -/**/ {{0xbbea9808, 0x4accb195} },}, -/**/ {{{0xbf5b85ea, 0x31d07b5c} }, -/**/ {{0xbbd811a2, 0x032e030b} },}, -/**/ {{{0xbf5b45ce, 0xc615e1b1} }, -/**/ {{0xbbfd5427, 0x821e0b81} },}, -/**/ {{{0xbf5b05b3, 0x9a91eaea} }, -/**/ {{0x3bfffeba, 0x2619306b} },}, -/**/ {{{0xbf5ac598, 0xaf441661} }, -/**/ {{0x3bd22824, 0x9eac7d15} },}, -/**/ {{{0xbf5a857e, 0x042be376} }, -/**/ {{0x3bc20736, 0x24893f0e} },}, -/**/ {{{0xbf5a4563, 0x9948d188} }, -/**/ {{0xbbf58ab4, 0x04d734cd} },}, -/**/ {{{0xbf5a0549, 0x6e9a5ff9} }, -/**/ {{0xbbf22673, 0x5723a6c3} },}, -/**/ {{{0xbf59c52f, 0x84200e2c} }, -/**/ {{0x3bfc81da, 0xa538e8e1} },}, -/**/ {{{0xbf598515, 0xd9d95b83} }, -/**/ {{0xbbfa1a37, 0x2a8e3feb} },}, -/**/ {{{0xbf5944fc, 0x6fc5c767} }, -/**/ {{0x3bf8e1ce, 0x385159f9} },}, -/**/ {{{0xbf5904e3, 0x45e4d13c} }, -/**/ {{0xbbfc4737, 0x1567c7a7} },}, -/**/ {{{0xbf58c4ca, 0x5c35f86e} }, -/**/ {{0x3bf41581, 0x23c9ae0c} },}, -/**/ {{{0xbf5884b1, 0xb2b8bc65} }, -/**/ {{0x3bf70c2c, 0x2b66cfb6} },}, -/**/ {{{0xbf584499, 0x496c9c8d} }, -/**/ {{0xbbdb9042, 0xe5a11e3e} },}, -/**/ {{{0xbf580481, 0x20511854} }, -/**/ {{0xbbf9cf9d, 0x61bcb040} },}, -/**/ {{{0xbf57c469, 0x3765af29} }, -/**/ {{0xbbf65ceb, 0xe26a419b} },}, -/**/ {{{0xbf578451, 0x8ea9e07c} }, -/**/ {{0xbbf1c2f5, 0xb70a4088} },}, -/**/ {{{0xbf57443a, 0x261d2bbf} }, -/**/ {{0xbbbc7b8f, 0x29704ba7} },}, -/**/ {{{0xbf570422, 0xfdbf1065} }, -/**/ {{0x3bca0a54, 0x433ccb3b} },}, -/**/ {{{0xbf56c40c, 0x158f0de3} }, -/**/ {{0x3bd9e257, 0x207cde2d} },}, -/**/ {{{0xbf5683f5, 0x6d8ca3af} }, -/**/ {{0xbbef17a4, 0xf7b51b49} },}, -/**/ {{{0xbf5643df, 0x05b75142} }, -/**/ {{0x3be28239, 0x9d345bf8} },}, -/**/ {{{0xbf5603c8, 0xde0e9614} }, -/**/ {{0xbbde6c21, 0x0918d1bf} },}, -/**/ {{{0xbf55c3b2, 0xf691f1a1} }, -/**/ {{0x3bd37d78, 0x377de4c8} },}, -/**/ {{{0xbf55839d, 0x4f40e365} }, -/**/ {{0x3bf52b7d, 0xbbf7c9d1} },}, -/**/ {{{0xbf554387, 0xe81aeadd} }, -/**/ {{0xbbf0be6a, 0x679c3d9a} },}, -/**/ {{{0xbf550372, 0xc11f878a} }, -/**/ {{0xbbdd9e20, 0xb6cdd88e} },}, -/**/ {{{0xbf54c35d, 0xda4e38ec} }, -/**/ {{0xbbe3b1e7, 0x09302da0} },}, -/**/ {{{0xbf548349, 0x33a67e86} }, -/**/ {{0x3be8cba8, 0x085b922d} },}, -/**/ {{{0xbf544334, 0xcd27d7db} }, -/**/ {{0xbba5f2c9, 0xf024ab43} },}, -/**/ {{{0xbf540320, 0xa6d1c471} }, -/**/ {{0xbbeb31f3, 0xf686cf3d} },}, -/**/ {{{0xbf53c30c, 0xc0a3c3cf} }, -/**/ {{0xbbf74ffe, 0xd4ad32f6} },}, -/**/ {{{0xbf5382f9, 0x1a9d557e} }, -/**/ {{0x3bd2e555, 0x4acb368f} },}, -/**/ {{{0xbf5342e5, 0xb4bdf907} }, -/**/ {{0x3be13442, 0x07812806} },}, -/**/ {{{0xbf5302d2, 0x8f052df6} }, -/**/ {{0x3bf5f429, 0x70b1e756} },}, -/**/ {{{0xbf52c2bf, 0xa97273d7} }, -/**/ {{0xbbf20aa3, 0x43a03fff} },}, -/**/ {{{0xbf5282ad, 0x04054a3a} }, -/**/ {{0xbbed4d57, 0x8bebd7ad} },}, -/**/ {{{0xbf52429a, 0x9ebd30ae} }, -/**/ {{0xbbff9529, 0x5a71c5a4} },}, -/**/ {{{0xbf520288, 0x7999a6c6} }, -/**/ {{0x3bfb055a, 0x54100f9e} },}, -/**/ {{{0xbf51c276, 0x949a2c12} }, -/**/ {{0xbbff6978, 0xa2e9f1b4} },}, -/**/ {{{0xbf518264, 0xefbe402a} }, -/**/ {{0x3bf01fb9, 0xbc188323} },}, -/**/ {{{0xbf514253, 0x8b0562a1} }, -/**/ {{0xbbf7c87c, 0x957bf23a} },}, -/**/ {{{0xbf510242, 0x666f1311} }, -/**/ {{0x3bdc2cb9, 0xc8be6880} },}, -/**/ {{{0xbf50c231, 0x81fad111} }, -/**/ {{0xbbf59fc1, 0x07ba000d} },}, -/**/ {{{0xbf508220, 0xdda81c3d} }, -/**/ {{0xbbf06a0a, 0xbf5c8a0b} },}, -/**/ {{{0xbf504210, 0x79767431} }, -/**/ {{0x3bf3a6cf, 0xa9a705bc} },}, -/**/ {{{0xbf500200, 0x55655889} }, -/**/ {{0xbbe9abe6, 0xbf0fa436} },}, -/**/ {{{0xbf4f83e0, 0xe2e891cc} }, -/**/ {{0x3be4aa59, 0x1b81bf62} },}, -/**/ {{{0xbf4f03c1, 0x9b4589ce} }, -/**/ {{0xbbe60518, 0x8a47f50a} },}, -/**/ {{{0xbf4e83a2, 0xd3e0985f} }, -/**/ {{0x3bed32d8, 0x5ef17e96} },}, -/**/ {{{0xbf4e0384, 0x8cb8bcc3} }, -/**/ {{0xbbeb7b30, 0xf09afa4d} },}, -/**/ {{{0xbf4d8366, 0xc5ccf647} }, -/**/ {{0xbbd527fc, 0xf586cec2} },}, -/**/ {{{0xbf4d0349, 0x7f1c4437} }, -/**/ {{0x3bc2bcf0, 0x4a686886} },}, -/**/ {{{0xbf4c832c, 0xb8a5a5e3} }, -/**/ {{0x3bc98f93, 0x721c2ebe} },}, -/**/ {{{0xbf4c0310, 0x72681a9e} }, -/**/ {{0xbbe20f00, 0xb5308d22} },}, -/**/ {{{0xbf4b82f4, 0xac62a1bf} }, -/**/ {{0xbbe1edd0, 0x9737b561} },}, -/**/ {{{0xbf4b02d9, 0x66943a9f} }, -/**/ {{0xbbcc950b, 0x23f894a1} },}, -/**/ {{{0xbf4a82be, 0xa0fbe49a} }, -/**/ {{0xbb81da04, 0x866bc982} },}, -/**/ {{{0xbf4a02a4, 0x5b989f0f} }, -/**/ {{0xbbd9114d, 0x9d76196e} },}, -/**/ {{{0xbf49828a, 0x96696961} }, -/**/ {{0x3bc10d20, 0xd3292fd6} },}, -/**/ {{{0xbf490271, 0x516d42f4} }, -/**/ {{0xbbee53a3, 0x2e9a5dd5} },}, -/**/ {{{0xbf488258, 0x8ca32b32} }, -/**/ {{0xbbc55af5, 0xd18f8004} },}, -/**/ {{{0xbf480240, 0x480a2185} }, -/**/ {{0xbbb32d23, 0xa9b0178a} },}, -/**/ {{{0xbf478228, 0x83a1255c} }, -/**/ {{0x3be84cc3, 0x8152093a} },}, -/**/ {{{0xbf470211, 0x3f673627} }, -/**/ {{0xbbd0055a, 0xf4881c71} },}, -/**/ {{{0xbf4681fa, 0x7b5b535c} }, -/**/ {{0x3bd2b73f, 0xb98336ea} },}, -/**/ {{{0xbf4601e4, 0x377c7c71} }, -/**/ {{0xbbcdcbed, 0x2ed05089} },}, -/**/ {{{0xbf4581ce, 0x73c9b0e1} }, -/**/ {{0xbbdda0c2, 0x61414697} },}, -/**/ {{{0xbf4501b9, 0x3041f02a} }, -/**/ {{0x3bee5d53, 0x22f8b33c} },}, -/**/ {{{0xbf4481a4, 0x6ce439ca} }, -/**/ {{0xbbe5512f, 0x9c25c999} },}, -/**/ {{{0xbf440190, 0x29af8d47} }, -/**/ {{0x3b7f48c2, 0xa4df0dfd} },}, -/**/ {{{0xbf43817c, 0x66a2ea26} }, -/**/ {{0x3bd157c0, 0x517febd8} },}, -/**/ {{{0xbf430169, 0x23bd4ff0} }, -/**/ {{0xbbe2e229, 0x0176d244} },}, -/**/ {{{0xbf428156, 0x60fdbe33} }, -/**/ {{0x3be64664, 0x175812b3} },}, -/**/ {{{0xbf420144, 0x1e63347c} }, -/**/ {{0xbbe39ab4, 0xd9355524} },}, -/**/ {{{0xbf418132, 0x5becb260} }, -/**/ {{0x3be74b27, 0xb6e1edc9} },}, -/**/ {{{0xbf410121, 0x19993772} }, -/**/ {{0xbbaa390b, 0x393ab56a} },}, -/**/ {{{0xbf408110, 0x5767c34c} }, -/**/ {{0x3bd128e6, 0xf8c7783b} },}, -/**/ {{{0xbf400100, 0x15575589} }, -/**/ {{0x3bec8863, 0xf23ef222} },}, -/**/ {{{0xbf3f01e0, 0xa6cddb8d} }, -/**/ {{0x3b8a9419, 0xcdd29c3f} },}, -/**/ {{{0xbf3e01c2, 0x232b174e} }, -/**/ {{0xbbc7cf55, 0xd5f5b191} },}, -/**/ {{{0xbf3d01a4, 0x9fc45d9e} }, -/**/ {{0x3bddc58f, 0xb5038e7e} },}, -/**/ {{{0xbf3c0188, 0x1c97adca} }, -/**/ {{0x3bc0238d, 0xbb933e41} },}, -/**/ {{{0xbf3b016c, 0x99a30728} }, -/**/ {{0xbbabde04, 0xc3c43664} },}, -/**/ {{{0xbf3a0152, 0x16e46913} }, -/**/ {{0x3bafe081, 0x5adc3673} },}, -/**/ {{{0xbf390138, 0x9459d2eb} }, -/**/ {{0xbbd949da, 0xc2a33d26} },}, -/**/ {{{0xbf380120, 0x12014418} }, -/**/ {{0xbbd3acbc, 0xf76e0326} },}, -/**/ {{{0xbf370108, 0x8fd8bc07} }, -/**/ {{0x3bdbde09, 0x4cd6ce34} },}, -/**/ {{{0xbf3600f2, 0x0dde3a29} }, -/**/ {{0xbbb0bc28, 0x05442a35} },}, -/**/ {{{0xbf3500dc, 0x8c0fbdf9} }, -/**/ {{0x3bd21c68, 0x0908cbf7} },}, -/**/ {{{0xbf3400c8, 0x0a6b46f4} }, -/**/ {{0xbbdbd35e, 0x0f107564} },}, -/**/ {{{0xbf3300b4, 0x88eed4a1} }, -/**/ {{0xbbc22067, 0x49a3dcb8} },}, -/**/ {{{0xbf3200a2, 0x0798668a} }, -/**/ {{0x3bcdb7f0, 0xe7c5d0e5} },}, -/**/ {{{0xbf310090, 0x8665fc3f} }, -/**/ {{0xbbd00add, 0xc7f9d69c} },}, -/**/ {{{0xbf300080, 0x05559559} }, -/**/ {{0x3bddd332, 0xa0e20e2f} },}, -/**/ {{{0xbf2e00e1, 0x08ca62e5} }, -/**/ {{0xbbb15ff9, 0x3a04bb77} },}, -/**/ {{{0xbf2c00c4, 0x0725a061} }, -/**/ {{0x3bc88ab0, 0xcc052f3e} },}, -/**/ {{{0xbf2a00a9, 0x05b8e275} }, -/**/ {{0xbbcbba1a, 0xf5f3cbcf} },}, -/**/ {{{0xbf280090, 0x04802882} }, -/**/ {{0x3bcec900, 0xa5bd7bd0} },}, -/**/ {{{0xbf260079, 0x037771ef} }, -/**/ {{0x3bb77ea0, 0x9b7b54fa} },}, -/**/ {{{0xbf240064, 0x029abe33} }, -/**/ {{0xbbc1bbf0, 0x3ae68d18} },}, -/**/ {{{0xbf220051, 0x01e60cd1} }, -/**/ {{0x3bb1dcd9, 0x2b45cfcd} },}, -/**/ {{{0xbf200040, 0x01555d56} }, -/**/ {{0x3bcddd88, 0x863f53f6} },}, -/**/ {{{0xbf1c0062, 0x01c95eb7} }, -/**/ {{0x3bbd88f7, 0xaa4dfd9a} },}, -/**/ {{{0xbf180048, 0x01200510} }, -/**/ {{0xbb984d46, 0x4f3db50b} },}, -/**/ {{{0xbf140032, 0x00a6ad1c} }, -/**/ {{0x3bb2e44b, 0x28ff1135} },}, -/**/ {{{0xbf100020, 0x00555655} }, -/**/ {{0xbbb62224, 0xccd5f17f} },}, -/**/ {{{0xbf080024, 0x004800a2} }, -/**/ {{0xbb484d09, 0x8d690542} },}, -/**/ {{{0xbf000010, 0x00155575} }, -/**/ {{0xbba56222, 0x37779c0a} },}, -/**/ {{{0xbef00008, 0x00055559} }, -/**/ {{0xbb955622, 0x22cccd5f} },}, -/**/ {{{0x00000000, 0x00000000} }, -/**/ {{0x00000000, 0x00000000} },}, -/**/ {{{0x3eeffff0, 0x000aaaa3} }, -/**/ {{0xbb8553bb, 0xbd110fec} },}, -/**/ {{{0x3effffe0, 0x002aaa6b} }, -/**/ {{0xbb953bbb, 0xe6661d42} },}, -/**/ {{{0x3f07ffdc, 0x0047ff5e} }, -/**/ {{0x3b484c90, 0x0d69020e} },}, -/**/ {{{0x3f0fffc0, 0x00aaa8ab} }, -/**/ {{0xbba3bbc1, 0x10fec82c} },}, -/**/ {{{0x3f13ffce, 0x00a6a83a} }, -/**/ {{0xbbb2e45f, 0x81546808} },}, -/**/ {{{0x3f17ffb8, 0x011ffaf0} }, -/**/ {{0x3b984c53, 0x4f3d9b6a} },}, -/**/ {{{0x3f1bff9e, 0x01c94bf5} }, -/**/ {{0xbbbd8990, 0xdaa368ee} },}, -/**/ {{{0x3f1fff80, 0x02aa9aab} }, -/**/ {{0x3b910e66, 0x78af0afc} },}, -/**/ {{{0x3f21ffaf, 0x01e5f330} }, -/**/ {{0xbbb1df8d, 0x26467402} },}, -/**/ {{{0x3f23ff9c, 0x029a9723} }, -/**/ {{0x3bc1b965, 0x303b23b1} },}, -/**/ {{{0x3f25ff87, 0x037738be} }, -/**/ {{0xbbb787a3, 0x53d3dc06} },}, -/**/ {{{0x3f27ff70, 0x047fd782} }, -/**/ {{0xbbced098, 0xa5c0aff0} },}, -/**/ {{{0x3f29ff57, 0x05b872e4} }, -/**/ {{0x3bcbadd4, 0x81c30d42} },}, -/**/ {{{0x3f2bff3c, 0x07250a51} }, -/**/ {{0xbbc89dd6, 0xd6bad8c1} },}, -/**/ {{{0x3f2dff1f, 0x08c99d24} }, -/**/ {{0x3bb12609, 0xaede8ad0} },}, -/**/ {{{0x3f2fff00, 0x0aaa2ab1} }, -/**/ {{0x3ba0bbc0, 0x4dc4e3dc} },}, -/**/ {{{0x3f30ff6f, 0x8665591f} }, -/**/ {{0xbbd013d3, 0x80357b54} },}, -/**/ {{{0x3f31ff5e, 0x07979982} }, -/**/ {{0xbbce0e70, 0x4817ebcd} },}, -/**/ {{{0x3f32ff4b, 0x88edd619} }, -/**/ {{0xbbd72b9e, 0xc582abc3} },}, -/**/ {{{0x3f33ff38, 0x0a6a0e74} }, -/**/ {{0x3bdb81fc, 0xb95bc1fe} },}, -/**/ {{{0x3f34ff23, 0x8c0e4220} }, -/**/ {{0x3bcaed12, 0x9b549aae} },}, -/**/ {{{0x3f35ff0e, 0x0ddc70a1} }, -/**/ {{0x3bacf6f3, 0xd97a3c05} },}, -/**/ {{{0x3f36fef7, 0x8fd69976} }, -/**/ {{0x3bab2dcf, 0x6f810a3c} },}, -/**/ {{{0x3f37fee0, 0x11febc18} }, -/**/ {{0x3bd2b9bc, 0xf5d3f323} },}, -/**/ {{{0x3f38fec7, 0x9456d7fb} }, -/**/ {{0xbbbfb258, 0x6eaa1d6a} },}, -/**/ {{{0x3f39feae, 0x16e0ec8b} }, -/**/ {{0xbbb6137a, 0xceeb34b1} },}, -/**/ {{{0x3f3afe93, 0x999ef930} }, -/**/ {{0xbbde70e0, 0xdc639b08} },}, -/**/ {{{0x3f3bfe78, 0x1c92fd4a} }, -/**/ {{0xbbc4ed10, 0x713cc126} },}, -/**/ {{{0x3f3cfe5b, 0x9fbef835} }, -/**/ {{0xbb873d63, 0xcc0e81bd} },}, -/**/ {{{0x3f3dfe3e, 0x2324e946} }, -/**/ {{0x3bc09164, 0x62dd5deb} },}, -/**/ {{{0x3f3efe1f, 0xa6c6cfcc} }, -/**/ {{0x3bdac2da, 0x3512d15c} },}, -/**/ {{{0x3f3ffe00, 0x2aa6ab11} }, -/**/ {{0x3b999e2b, 0x62cc632d} },}, -/**/ {{{0x3f407eef, 0xd7633d2c} }, -/**/ {{0xbbebc98b, 0x63ff6024} },}, -/**/ {{{0x3f40fedf, 0x19941e6e} }, -/**/ {{0xbbb194c2, 0xe0aa6338} },}, -/**/ {{{0x3f417ecd, 0xdbe6f8eb} }, -/**/ {{0x3be4241b, 0x57b0f571} },}, -/**/ {{{0x3f41febc, 0x1e5ccc3c} }, -/**/ {{0x3bdc657d, 0x895d3592} },}, -/**/ {{{0x3f427ea9, 0xe0f697f6} }, -/**/ {{0x3be35a5d, 0x1c0ec17c} },}, -/**/ {{{0x3f42fe97, 0x23b55bac} }, -/**/ {{0x3bd6cfb7, 0x3e538464} },}, -/**/ {{{0x3f437e83, 0xe69a16ed} }, -/**/ {{0x3bee96f7, 0x7cef2478} },}, -/**/ {{{0x3f43fe70, 0x29a5c947} }, -/**/ {{0xbbd4d578, 0xbf46e36a} },}, -/**/ {{{0x3f447e5b, 0xecd97242} }, -/**/ {{0xbbc9eb66, 0x3ff7dd44} },}, -/**/ {{{0x3f44fe47, 0x30361165} }, -/**/ {{0x3be400d7, 0x7e93f2fd} },}, -/**/ {{{0x3f457e31, 0xf3bca635} }, -/**/ {{0xbbe0e2a2, 0xd375017f} },}, -/**/ {{{0x3f45fe1c, 0x376e3031} }, -/**/ {{0xbbd524eb, 0x8a5ae7f6} },}, -/**/ {{{0x3f467e05, 0xfb4baed7} }, -/**/ {{0x3be204fb, 0x4e85c4e9} },}, -/**/ {{{0x3f46fdef, 0x3f5621a3} }, -/**/ {{0xbbdf09d7, 0x34886d52} },}, -/**/ {{{0x3f477dd8, 0x038e880b} }, -/**/ {{0xbbb8900e, 0x14e596a3} },}, -/**/ {{{0x3f47fdc0, 0x47f5e185} }, -/**/ {{0xbbebfa5c, 0x57d202d3} },}, -/**/ {{{0x3f487da8, 0x0c8d2d81} }, -/**/ {{0x3be2f6ae, 0xd68c0614} },}, -/**/ {{{0x3f48fd8f, 0x51556b70} }, -/**/ {{0xbbd0f4f2, 0xe08fd201} },}, -/**/ {{{0x3f497d76, 0x164f9abc} }, -/**/ {{0x3b5296b7, 0xa871af60} },}, -/**/ {{{0x3f49fd5c, 0x5b7cbace} }, -/**/ {{0x3beb6ed4, 0x9f17d42d} },}, -/**/ {{{0x3f4a7d42, 0x20ddcb0d} }, -/**/ {{0xbbcb1149, 0x67c30397} },}, -/**/ {{{0x3f4afd27, 0x6673cada} }, -/**/ {{0x3bd32225, 0x45da594f} },}, -/**/ {{{0x3f4b7d0c, 0x2c3fb996} }, -/**/ {{0xbbb68893, 0x208d4630} },}, -/**/ {{{0x3f4bfcf0, 0x7242969d} }, -/**/ {{0x3bc5db4d, 0x2b3efe1c} },}, -/**/ {{{0x3f4c7cd4, 0x387d6149} }, -/**/ {{0x3be46eff, 0xed57d98a} },}, -/**/ {{{0x3f4cfcb7, 0x7ef118f1} }, -/**/ {{0x3becc554, 0x06f300fb} },}, -/**/ {{{0x3f4d7c9a, 0x459ebce9} }, -/**/ {{0x3be1d251, 0x13638eb6} },}, -/**/ {{{0x3f4dfc7c, 0x8c874c82} }, -/**/ {{0xbbe863e9, 0xd57a176f} },}, -/**/ {{{0x3f4e7c5e, 0x53abc708} }, -/**/ {{0x3be2d95c, 0x9528e50d} },}, -/**/ {{{0x3f4efc3f, 0x9b0d2bc8} }, -/**/ {{0x3bd1e8e8, 0xa5f5b8b7} },}, -/**/ {{{0x3f4f7c20, 0x62ac7a09} }, -/**/ {{0x3b5c8123, 0x17802a46} },}, -/**/ {{{0x3f4ffc00, 0xaa8ab110} }, -/**/ {{0xbbe0fecb, 0xeb9b6cdb} },}, -/**/ {{{0x3f503df0, 0x3954680f} }, -/**/ {{0x3bdac89b, 0x1c693678} },}, -/**/ {{{0x3f507ddf, 0xdd83eb3a} }, -/**/ {{0xbbf638f6, 0x0a75ad5f} },}, -/**/ {{{0x3f50bdcf, 0x41d461a5} }, -/**/ {{0x3bfd4bc9, 0x45f05b10} },}, -/**/ {{{0x3f50fdbe, 0x66464aef} }, -/**/ {{0xbbbd0554, 0x6abbf59c} },}, -/**/ {{{0x3f513dad, 0x4ada26b1} }, -/**/ {{0x3be38c65, 0x6036fe6f} },}, -/**/ {{{0x3f517d9b, 0xef907485} }, -/**/ {{0x3bfdc8a1, 0xf158bbc3} },}, -/**/ {{{0x3f51bd8a, 0x5469b404} }, -/**/ {{0xbbdea231, 0x55632e3f} },}, -/**/ {{{0x3f51fd78, 0x796664c3} }, -/**/ {{0xbbe00849, 0x2edb73c2} },}, -/**/ {{{0x3f523d66, 0x5e870657} }, -/**/ {{0x3bfba943, 0x0789343e} },}, -/**/ {{{0x3f527d54, 0x03cc1855} }, -/**/ {{0x3bc5f644, 0xeafafc52} },}, -/**/ {{{0x3f52bd41, 0x69361a4e} }, -/**/ {{0xbbf2f743, 0xa4a6e79f} },}, -/**/ {{{0x3f52fd2e, 0x8ec58bd2} }, -/**/ {{0xbbd4f786, 0x5ceb1abf} },}, -/**/ {{{0x3f533d1b, 0x747aec71} }, -/**/ {{0xbbf369e3, 0x49dc497d} },}, -/**/ {{{0x3f537d08, 0x1a56bbb8} }, -/**/ {{0xbbfc5e6f, 0x3726b14a} },}, -/**/ {{{0x3f53bcf4, 0x80597933} }, -/**/ {{0xbbfe8b82, 0x808f75a7} },}, -/**/ {{{0x3f53fce0, 0xa683a46c} }, -/**/ {{0x3be02719, 0x9cd06ae6} },}, -/**/ {{{0x3f543ccc, 0x8cd5bced} }, -/**/ {{0x3bf9f98d, 0x758f80f8} },}, -/**/ {{{0x3f547cb8, 0x3350423e} }, -/**/ {{0xbbd79c3d, 0x48401f45} },}, -/**/ {{{0x3f54bca3, 0x99f3b3e4} }, -/**/ {{0xbbf422b8, 0x2fba8948} },}, -/**/ {{{0x3f54fc8e, 0xc0c09163} }, -/**/ {{0x3bf32cc1, 0xf4044be8} },}, -/**/ {{{0x3f553c79, 0xa7b75a40} }, -/**/ {{0xbbe72cac, 0xf2249008} },}, -/**/ {{{0x3f557c64, 0x4ed88dfb} }, -/**/ {{0xbbe7183c, 0x459a204f} },}, -/**/ {{{0x3f55bc4e, 0xb624ac14} }, -/**/ {{0x3bf8aa64, 0xba26d3d7} },}, -/**/ {{{0x3f55fc38, 0xdd9c340b} }, -/**/ {{0x3bdbb2ff, 0x45fa193c} },}, -/**/ {{{0x3f563c22, 0xc53fa55c} }, -/**/ {{0x3bd67249, 0x0484397b} },}, -/**/ {{{0x3f567c0c, 0x6d0f7f83} }, -/**/ {{0xbbd183d7, 0xf1e73188} },}, -/**/ {{{0x3f56bbf5, 0xd50c41fa} }, -/**/ {{0xbbef433d, 0x4ab68187} },}, -/**/ {{{0x3f56fbde, 0xfd366c39} }, -/**/ {{0x3be796b8, 0x66e09e58} },}, -/**/ {{{0x3f573bc7, 0xe58e7db8} }, -/**/ {{0x3bf65ec5, 0x81e6e7e6} },}, -/**/ {{{0x3f577bb0, 0x8e14f5ed} }, -/**/ {{0xbbdb944d, 0xa9463a9c} },}, -/**/ {{{0x3f57bb98, 0xf6ca544b} }, -/**/ {{0xbbc396ec, 0xc5eda344} },}, -/**/ {{{0x3f57fb81, 0x1faf1845} }, -/**/ {{0x3beb9e6d, 0xbb624f97} },}, -/**/ {{{0x3f583b69, 0x08c3c14d} }, -/**/ {{0xbbe6ee13, 0xe6295bf2} },}, -/**/ {{{0x3f587b50, 0xb208ced1} }, -/**/ {{0x3bfcf1a5, 0x6ca19875} },}, -/**/ {{{0x3f58bb38, 0x1b7ec041} }, -/**/ {{0x3bf2d181, 0x07b4fc7e} },}, -/**/ {{{0x3f58fb1f, 0x45261509} }, -/**/ {{0x3bc419c5, 0x21bad336} },}, -/**/ {{{0x3f593b06, 0x2eff4c94} }, -/**/ {{0xbbdc2a4c, 0x700b305b} },}, -/**/ {{{0x3f597aec, 0xd90ae64c} }, -/**/ {{0xbbfc53d3, 0xa23f359c} },}, -/**/ {{{0x3f59bad3, 0x43496198} }, -/**/ {{0x3bf0c270, 0xaed6b50f} },}, -/**/ {{{0x3f59fab9, 0x6dbb3de1} }, -/**/ {{0xbbf11464, 0x7a8be031} },}, -/**/ {{{0x3f5a3a9f, 0x5860fa8a} }, -/**/ {{0x3beae9e7, 0x470dbe32} },}, -/**/ {{{0x3f5a7a85, 0x033b16f8} }, -/**/ {{0x3bfc4721, 0xda1f8579} },}, -/**/ {{{0x3f5aba6a, 0x6e4a128e} }, -/**/ {{0xbbf41852, 0x029258ce} },}, -/**/ {{{0x3f5afa4f, 0x998e6cab} }, -/**/ {{0xbbf28584, 0x2eb18782} },}, -/**/ {{{0x3f5b3a34, 0x8508a4af} }, -/**/ {{0xbbea7970, 0x23241a2c} },}, -/**/ {{{0x3f5b7a19, 0x30b939f8} }, -/**/ {{0xbbf1d8db, 0x600551b6} },}, -/**/ {{{0x3f5bb9fd, 0x9ca0abe2} }, -/**/ {{0xbbeaa412, 0x8c26cc71} },}, -/**/ {{{0x3f5bf9e1, 0xc8bf79c8} }, -/**/ {{0xbbe7f81b, 0x30427cfc} },}, -/**/ {{{0x3f5c39c5, 0xb5162303} }, -/**/ {{0x3bd9ec5f, 0xd1f134e1} },}, -/**/ {{{0x3f5c79a9, 0x61a526eb} }, -/**/ {{0x3bff0cb0, 0x8980e47d} },}, -/**/ {{{0x3f5cb98c, 0xce6d04d7} }, -/**/ {{0x3bf35aca, 0xe84ca4e2} },}, -/**/ {{{0x3f5cf96f, 0xfb6e3c1b} }, -/**/ {{0x3bf9b1b8, 0x1b0bd69f} },}, -/**/ {{{0x3f5d3952, 0xe8a94c0b} }, -/**/ {{0x3be21310, 0x3ce51832} },}, -/**/ {{{0x3f5d7935, 0x961eb3f8} }, -/**/ {{0x3bf90786, 0x840c58ce} },}, -/**/ {{{0x3f5db918, 0x03cef334} }, -/**/ {{0xbbfe0048, 0xf2dfb3f4} },}, -/**/ {{{0x3f5df8fa, 0x31ba890b} }, -/**/ {{0x3bfcf652, 0x3e295bec} },}, -/**/ {{{0x3f5e38dc, 0x1fe1f4ce} }, -/**/ {{0xbbfc5ebe, 0x151c9300} },}, -/**/ {{{0x3f5e78bd, 0xce45b5c6} }, -/**/ {{0xbbef2cc4, 0x8a25b9c7} },}, -/**/ {{{0x3f5eb89f, 0x3ce64b3e} }, -/**/ {{0x3bfe6d27, 0xa6fea7bd} },}, -/**/ {{{0x3f5ef880, 0x6bc43481} }, -/**/ {{0xbbf68037, 0x914a6dab} },}, -/**/ {{{0x3f5f3861, 0x5adff0d4} }, -/**/ {{0xbbf1d2f3, 0xf909e0e6} },}, -/**/ {{{0x3f5f7842, 0x0a39ff7e} }, -/**/ {{0xbbf64661, 0xff1e1f71} },}, -/**/ {{{0x3f5fb822, 0x79d2dfc3} }, -/**/ {{0xbbd76ce8, 0x5a6f9e9a} },}, -/**/ {{{0x3f5ff802, 0xa9ab10e6} }, -/**/ {{0x3bfe29e3, 0xa153e3b2} },}, -/**/ {{{0x3f601bf1, 0x4ce18915} }, -/**/ {{0xbbe57c28, 0xa3a73044} },}, -/**/ {{{0x3f603be1, 0x250db166} }, -/**/ {{0x3c0fd271, 0xc1ad9590} },}, -/**/ {{{0x3f605bd0, 0xdd5a4107} }, -/**/ {{0x3bfe4b5d, 0xc424c676} },}, -/**/ {{{0x3f607bc0, 0x75c77796} }, -/**/ {{0xbc068804, 0xc0eff1ba} },}, -/**/ {{{0x3f609baf, 0xee5594b0} }, -/**/ {{0xbc0ff798, 0x51dbded5} },}, -/**/ {{{0x3f60bb9f, 0x4704d7f2} }, -/**/ {{0xbbf70ef4, 0x2d5aba70} },}, -/**/ {{{0x3f60db8e, 0x7fd580f9} }, -/**/ {{0xbbeccb65, 0x7ae804b5} },}, -/**/ {{{0x3f60fb7d, 0x98c7cf60} }, -/**/ {{0x3bfede2f, 0x1775134d} },}, -/**/ {{{0x3f611b6c, 0x91dc02c3} }, -/**/ {{0xbc04d41e, 0x91ca4a67} },}, -/**/ {{{0x3f613b5b, 0x6b125aba} }, -/**/ {{0x3bfe6d0c, 0x4a12201d} },}, -/**/ {{{0x3f615b4a, 0x246b16e0} }, -/**/ {{0x3bfe507d, 0x4d4238d3} },}, -/**/ {{{0x3f617b38, 0xbde676cd} }, -/**/ {{0x3bfe0272, 0x0640462a} },}, -/**/ {{{0x3f619b27, 0x3784ba19} }, -/**/ {{0x3bd94ab3, 0x02285659} },}, -/**/ {{{0x3f61bb15, 0x9146205b} }, -/**/ {{0xbbff1e2e, 0x1cc35b7b} },}, -/**/ {{{0x3f61db03, 0xcb2ae929} }, -/**/ {{0xbc03ee8e, 0x12f6bf8d} },}, -/**/ {{{0x3f61faf1, 0xe5335418} }, -/**/ {{0x3c0bae5f, 0x7b7d619b} },}, -/**/ {{{0x3f621adf, 0xdf5fa0bf} }, -/**/ {{0xbbf5546a, 0xb3b731b0} },}, -/**/ {{{0x3f623acd, 0xb9b00eb0} }, -/**/ {{0xbbafb2b0, 0x105fd253} },}, -/**/ {{{0x3f625abb, 0x7424dd7f} }, -/**/ {{0x3c011647, 0xca53444b} },}, -/**/ {{{0x3f627aa9, 0x0ebe4cbf} }, -/**/ {{0x3c01678f, 0x592f3be8} },}, -/**/ {{{0x3f629a96, 0x897c9c02} }, -/**/ {{0xbbef2b12, 0x4347451d} },}, -/**/ {{{0x3f62ba83, 0xe4600ad8} }, -/**/ {{0x3bfb5bb7, 0xb2a477bc} },}, -/**/ {{{0x3f62da71, 0x1f68d8d3} }, -/**/ {{0xbc0590e1, 0x7a5822e4} },}, -/**/ {{{0x3f62fa5e, 0x3a974581} }, -/**/ {{0xbbf0f2e5, 0x53123101} },}, -/**/ {{{0x3f631a4b, 0x35eb9072} }, -/**/ {{0xbc018db4, 0x0e3f5fde} },}, -/**/ {{{0x3f633a38, 0x1165f933} }, -/**/ {{0x3c0921d5, 0x8d0afb38} },}, -/**/ {{{0x3f635a24, 0xcd06bf53} }, -/**/ {{0x3c01f6ba, 0xb5791b80} },}, -/**/ {{{0x3f637a11, 0x68ce225e} }, -/**/ {{0x3bde2af8, 0xa1894236} },}, -/**/ {{{0x3f6399fd, 0xe4bc61e0} }, -/**/ {{0xbc062a48, 0xd0f06ff3} },}, -/**/ {{{0x3f63b9ea, 0x40d1bd63} }, -/**/ {{0x3bffc80c, 0x4b4f9c11} },}, -/**/ {{{0x3f63d9d6, 0x7d0e7473} }, -/**/ {{0x3c02219b, 0x6a92c891} },}, -/**/ {{{0x3f63f9c2, 0x9972c699} }, -/**/ {{0x3c0d3590, 0x790ade9e} },}, -/**/ {{{0x3f6419ae, 0x95fef35f} }, -/**/ {{0xbc01c279, 0x792a458c} },}, -/**/ {{{0x3f64399a, 0x72b33a4b} }, -/**/ {{0x3c02ce64, 0x327bffae} },}, -/**/ {{{0x3f645986, 0x2f8fdae7} }, -/**/ {{0xbc070aec, 0xd231155c} },}, -/**/ {{{0x3f647971, 0xcc9514b7} }, -/**/ {{0x3c0f373d, 0xe4bbf776} },}, -/**/ {{{0x3f64995d, 0x49c32744} }, -/**/ {{0xbbf6d7e5, 0xbf22b2a7} },}, -/**/ {{{0x3f64b948, 0xa71a5211} }, -/**/ {{0xbbedec69, 0x64fe2936} },}, -/**/ {{{0x3f64d933, 0xe49ad4a3} }, -/**/ {{0x3bf5fc4b, 0xabee4257} },}, -/**/ {{{0x3f64f91f, 0x0244ee7e} }, -/**/ {{0x3c0c6fe3, 0x3cd1474f} },}, -/**/ {{{0x3f65190a, 0x0018df26} }, -/**/ {{0xbc023957, 0xd11e7fa5} },}, -/**/ {{{0x3f6538f4, 0xde16e61b} }, -/**/ {{0x3c006c31, 0x55380346} },}, -/**/ {{{0x3f6558df, 0x9c3f42e1} }, -/**/ {{0xbc09b7d4, 0xc4a5134c} },}, -/**/ {{{0x3f6578ca, 0x3a9234f7} }, -/**/ {{0xbc0e3f10, 0x2772c19c} },}, -/**/ {{{0x3f6598b4, 0xb90ffbdd} }, -/**/ {{0x3be6f110, 0x5592b468} },}, -/**/ {{{0x3f65b89f, 0x17b8d714} }, -/**/ {{0xbc0a5fea, 0xb251ace2} },}, -/**/ {{{0x3f65d889, 0x568d0619} }, -/**/ {{0xbc0aacc9, 0x315da285} },}, -/**/ {{{0x3f65f873, 0x758cc86a} }, -/**/ {{0xbbeb0782, 0xba64d81a} },}, -/**/ {{{0x3f66185d, 0x74b85d85} }, -/**/ {{0xbc09b459, 0x8e1eb3fa} },}, -/**/ {{{0x3f663847, 0x541004e5} }, -/**/ {{0x3bce9c22, 0x1d86e863} },}, -/**/ {{{0x3f665831, 0x1393fe07} }, -/**/ {{0xbbfbeb77, 0xcf37ee90} },}, -/**/ {{{0x3f66781a, 0xb3448865} }, -/**/ {{0xbc02dc68, 0xc252e3c9} },}, -/**/ {{{0x3f669804, 0x3321e379} }, -/**/ {{0xbbe73a0b, 0xb40b3741} },}, - }; - -#else -#ifdef LITTLE_ENDI - static const number - Iu[182] = { /* 1/ui */ -/**/ {{0xd1537290, 0x3ff6a13c} }, -/**/ {{0x16816817, 0x3ff68168} }, -/**/ {{0x6a5122f9, 0x3ff661ec} }, -/**/ {{0x590b2164, 0x3ff642c8} }, -/**/ {{0x77016240, 0x3ff623fa} }, -/**/ {{0x60581606, 0x3ff60581} }, -/**/ {{0xb8d015e7, 0x3ff5e75b} }, -/**/ {{0x2b931057, 0x3ff5c988} }, -/**/ {{0x6b015ac0, 0x3ff5ac05} }, -/**/ {{0x308158ed, 0x3ff58ed2} }, -/**/ {{0x3c506b3a, 0x3ff571ed} }, -/**/ {{0x55555555, 0x3ff55555} }, -/**/ {{0x48f40feb, 0x3ff53909} }, -/**/ {{0xeae2f815, 0x3ff51d07} }, -/**/ {{0x15015015, 0x3ff50150} }, -/**/ {{0xa72f0539, 0x3ff4e5e0} }, -/**/ {{0x8725af6e, 0x3ff4cab8} }, -/**/ {{0xa052bf5b, 0x3ff4afd6} }, -/**/ {{0xe3b2d067, 0x3ff49539} }, -/**/ {{0x47ae147b, 0x3ff47ae1} }, -/**/ {{0xc7f5cf9a, 0x3ff460cb} }, -/**/ {{0x6562d9fb, 0x3ff446f8} }, -/**/ {{0x25d51f87, 0x3ff42d66} }, -/**/ {{0x14141414, 0x3ff41414} }, -/**/ {{0x3fb013fb, 0x3ff3fb01} }, -/**/ {{0xbce4a902, 0x3ff3e22c} }, -/**/ {{0xa47babe7, 0x3ff3c995} }, -/**/ {{0x13b13b14, 0x3ff3b13b} }, -/**/ {{0x2c187f63, 0x3ff3991c} }, -/**/ {{0x13813814, 0x3ff38138} }, -/**/ {{0xf3de0748, 0x3ff3698d} }, -/**/ {{0xfb2b78c1, 0x3ff3521c} }, -/**/ {{0x5b57bcb2, 0x3ff33ae4} }, -/**/ {{0x4a2b10bf, 0x3ff323e3} }, -/**/ {{0x0130d190, 0x3ff30d19} }, -/**/ {{0xbda12f68, 0x3ff2f684} }, -/**/ {{0xc04b8097, 0x3ff2e025} }, -/**/ {{0x4d812ca0, 0x3ff2c9fb} }, -/**/ {{0xad012b40, 0x3ff2b404} }, -/**/ {{0x29e4129e, 0x3ff29e41} }, -/**/ {{0x1288b013, 0x3ff288b0} }, -/**/ {{0xb8812735, 0x3ff27350} }, -/**/ {{0x708092f1, 0x3ff25e22} }, -/**/ {{0x92492492, 0x3ff24924} }, -/**/ {{0x789abcdf, 0x3ff23456} }, -/**/ {{0x8121fb78, 0x3ff21fb7} }, -/**/ {{0x0c67c0d9, 0x3ff20b47} }, -/**/ {{0x7dc11f70, 0x3ff1f704} }, -/**/ {{0x3b3fb874, 0x3ff1e2ef} }, -/**/ {{0xada2811d, 0x3ff1cf06} }, -/**/ {{0x4046ed29, 0x3ff1bb4a} }, -/**/ {{0x611a7b96, 0x3ff1a7b9} }, -/**/ {{0x808ca29c, 0x3ff19453} }, -/**/ {{0x11811812, 0x3ff18118} }, -/**/ {{0x89427379, 0x3ff16e06} }, -/**/ {{0x5f75270d, 0x3ff15b1e} }, -/**/ {{0x0e0acd3b, 0x3ff1485f} }, -/**/ {{0x1135c811, 0x3ff135c8} }, -/**/ {{0xe75d3033, 0x3ff12358} }, -/**/ {{0x11111111, 0x3ff11111} }, -/**/ {{0x10fef011, 0x3ff0fef0} }, -/**/ {{0x6be69c90, 0x3ff0ecf5} }, -/**/ {{0xa88f4696, 0x3ff0db20} }, -/**/ {{0x4fbcda3b, 0x3ff0c971} }, -/**/ {{0xec259dc8, 0x3ff0b7e6} }, -/**/ {{0x0a6810a7, 0x3ff0a681} }, -/**/ {{0x39010954, 0x3ff0953f} }, -/**/ {{0x08421084, 0x3ff08421} }, -/**/ {{0x0a47f7c6, 0x3ff07326} }, -/**/ {{0xd2f1a9fc, 0x3ff0624d} }, -/**/ {{0xf7d73404, 0x3ff05197} }, -/**/ {{0x10410410, 0x3ff04104} }, -/**/ {{0xb51f5e1a, 0x3ff03091} }, -/**/ {{0x81020408, 0x3ff02040} }, -/**/ {{0x10101010, 0x3ff01010} }, -/**/ {{0x00000000, 0x3ff00000} }, -/**/ {{0xe01fe020, 0x3fefe01f} }, -/**/ {{0x01fc07f0, 0x3fefc07f} }, -/**/ {{0xaa01fa12, 0x3fefa11c} }, -/**/ {{0x1f81f820, 0x3fef81f8} }, -/**/ {{0xaca0dbb5, 0x3fef6310} }, -/**/ {{0x9e4a4271, 0x3fef4465} }, -/**/ {{0x44230ab5, 0x3fef25f6} }, -/**/ {{0xf07c1f08, 0x3fef07c1} }, -/**/ {{0xf8458e02, 0x3feee9c7} }, -/**/ {{0xb301ecc0, 0x3feecc07} }, -/**/ {{0x7aba01eb, 0x3feeae80} }, -/**/ {{0xabf0b767, 0x3fee9131} }, -/**/ {{0xa59750e4, 0x3fee741a} }, -/**/ {{0xc901e574, 0x3fee573a} }, -/**/ {{0x79dc1a73, 0x3fee3a91} }, -/**/ {{0x1e1e1e1e, 0x3fee1e1e} }, -/**/ {{0x1e01e01e, 0x3fee01e0} }, -/**/ {{0xe3f8868a, 0x3fede5d6} }, -/**/ {{0xdca01dca, 0x3fedca01} }, -/**/ {{0x76b981db, 0x3fedae60} }, -/**/ {{0x231e7f8a, 0x3fed92f2} }, -/**/ {{0x54b82c34, 0x3fed77b6} }, -/**/ {{0x807572b2, 0x3fed5cac} }, -/**/ {{0x1d41d41d, 0x3fed41d4} }, -/**/ {{0xa3fc5b1a, 0x3fed272c} }, -/**/ {{0x8f6ec074, 0x3fed0cb5} }, -/**/ {{0x5c44bfc6, 0x3fecf26e} }, -/**/ {{0x89039b0b, 0x3fecd856} }, -/**/ {{0x9601cbe7, 0x3fecbe6d} }, -/**/ {{0x055ee191, 0x3feca4b3} }, -/**/ {{0x5afb8a42, 0x3fec8b26} }, -/**/ {{0x1c71c71c, 0x3fec71c7} }, -/**/ {{0xd10d4986, 0x3fec5894} }, -/**/ {{0x01c3f8f0, 0x3fec3f8f} }, -/**/ {{0x392ea01c, 0x3fec26b5} }, -/**/ {{0x0381c0e0, 0x3fec0e07} }, -/**/ {{0xee868d8b, 0x3febf583} }, -/**/ {{0x899406f7, 0x3febdd2b} }, -/**/ {{0x65883e7b, 0x3febc4fd} }, -/**/ {{0x14c1bad0, 0x3febacf9} }, -/**/ {{0x2b18ff23, 0x3feb951e} }, -/**/ {{0x3dda338b, 0x3feb7d6c} }, -/**/ {{0xe3beee05, 0x3feb65e2} }, -/**/ {{0xb4e81b4f, 0x3feb4e81} }, -/**/ {{0x4ad806ce, 0x3feb3748} }, -/**/ {{0x406c80d9, 0x3feb2036} }, -/**/ {{0x31d922a4, 0x3feb094b} }, -/**/ {{0xbca1af28, 0x3feaf286} }, -/**/ {{0x7f94905e, 0x3feadbe8} }, -/**/ {{0x1ac5701b, 0x3feac570} }, -/**/ {{0x2f87ebfd, 0x3feaaf1d} }, -/**/ {{0x606a63be, 0x3fea98ef} }, -/**/ {{0x5130e159, 0x3fea82e6} }, -/**/ {{0xa6d01a6d, 0x3fea6d01} }, -/**/ {{0x07688a4a, 0x3fea5741} }, -/**/ {{0x1a41a41a, 0x3fea41a4} }, -/**/ {{0x87c51ca0, 0x3fea2c2a} }, -/**/ {{0xf97a4b02, 0x3fea16d3} }, -/**/ {{0x1a01a01a, 0x3fea01a0} }, -/**/ {{0x951033d9, 0x3fe9ec8e} }, -/**/ {{0x176b682d, 0x3fe9d79f} }, -/**/ {{0x4ee4a102, 0x3fe9c2d1} }, -/**/ {{0xea5510da, 0x3fe9ae24} }, -/**/ {{0x9999999a, 0x3fe99999} }, -/**/ {{0x0d8ec0ff, 0x3fe9852f} }, -/**/ {{0xf80cb872, 0x3fe970e4} }, -/**/ {{0x0be377ae, 0x3fe95cbb} }, -/**/ {{0xfcd6e9e0, 0x3fe948b0} }, -/**/ {{0x7f9b2ce6, 0x3fe934c6} }, -/**/ {{0x49d0e229, 0x3fe920fb} }, -/**/ {{0x120190d5, 0x3fe90d4f} }, -/**/ {{0x8f9c18fa, 0x3fe8f9c1} }, -/**/ {{0x7af1373f, 0x3fe8e652} }, -/**/ {{0x8d3018d3, 0x3fe8d301} }, -/**/ {{0x8062ff3a, 0x3fe8bfce} }, -/**/ {{0x0f6bf3aa, 0x3fe8acb9} }, -/**/ {{0xf601899c, 0x3fe899c0} }, -/**/ {{0xf0abb04a, 0x3fe886e5} }, -/**/ {{0xbcc092b9, 0x3fe87427} }, -/**/ {{0x18618618, 0x3fe86186} }, -/**/ {{0xc2780614, 0x3fe84f00} }, -/**/ {{0x7ab2bedd, 0x3fe83c97} }, -/**/ {{0x0182a4a0, 0x3fe82a4a} }, -/**/ {{0x18181818, 0x3fe81818} }, -/**/ {{0x80601806, 0x3fe80601} }, -/**/ {{0xfd017f40, 0x3fe7f405} }, -/**/ {{0x515a4f1d, 0x3fe7e225} }, -/**/ {{0x417d05f4, 0x3fe7d05f} }, -/**/ {{0x922e017c, 0x3fe7beb3} }, -/**/ {{0x08e0ecc3, 0x3fe7ad22} }, -/**/ {{0x6bb6398b, 0x3fe79baa} }, -/**/ {{0x8178a4c8, 0x3fe78a4c} }, -/**/ {{0x119ac60d, 0x3fe77908} }, -/**/ {{0xe434a9b1, 0x3fe767dc} }, -/**/ {{0xc201756d, 0x3fe756ca} }, -/**/ {{0x745d1746, 0x3fe745d1} }, -/**/ {{0xc541fe8d, 0x3fe734f0} }, -/**/ {{0x7f46debc, 0x3fe72428} }, -/**/ {{0x6d9c7c09, 0x3fe71378} }, -/**/ {{0x5c0b8170, 0x3fe702e0} }, -/**/ {{0x16f26017, 0x3fe6f260} }, -/**/ {{0x6b4337c7, 0x3fe6e1f7} }, -/**/ {{0x2681c861, 0x3fe6d1a6} }, -/**/ {{0x16c16c17, 0x3fe6c16c} }, -/**/ {{0x0aa31a3d, 0x3fe6b149} }, -/**/ {{0xd1537290, 0x3fe6a13c} }, - }; - - static const number - Iv[362] = { /* 1/vj */ -/**/ {{0xee93bfe3, 0x3ff00b47} }, -/**/ {{0xd80c106f, 0x3ff00b37} }, -/**/ {{0xc1a4a47a, 0x3ff00b27} }, -/**/ {{0xab5d7ba2, 0x3ff00b17} }, -/**/ {{0x95369587, 0x3ff00b07} }, -/**/ {{0x7f2ff1c6, 0x3ff00af7} }, -/**/ {{0x69499000, 0x3ff00ae7} }, -/**/ {{0x53836fd3, 0x3ff00ad7} }, -/**/ {{0x3ddd90dd, 0x3ff00ac7} }, -/**/ {{0x2857f2bf, 0x3ff00ab7} }, -/**/ {{0x12f29517, 0x3ff00aa7} }, -/**/ {{0xfdad7784, 0x3ff00a96} }, -/**/ {{0xe88899a5, 0x3ff00a86} }, -/**/ {{0xd383fb19, 0x3ff00a76} }, -/**/ {{0xbe9f9b7f, 0x3ff00a66} }, -/**/ {{0xa9db7a76, 0x3ff00a56} }, -/**/ {{0x9537979d, 0x3ff00a46} }, -/**/ {{0x80b3f293, 0x3ff00a36} }, -/**/ {{0x6c508af8, 0x3ff00a26} }, -/**/ {{0x580d606a, 0x3ff00a16} }, -/**/ {{0x43ea7288, 0x3ff00a06} }, -/**/ {{0x2fe7c0f1, 0x3ff009f6} }, -/**/ {{0x1c054b44, 0x3ff009e6} }, -/**/ {{0x08431122, 0x3ff009d6} }, -/**/ {{0xf4a11227, 0x3ff009c5} }, -/**/ {{0xe11f4df4, 0x3ff009b5} }, -/**/ {{0xcdbdc428, 0x3ff009a5} }, -/**/ {{0xba7c7462, 0x3ff00995} }, -/**/ {{0xa75b5e40, 0x3ff00985} }, -/**/ {{0x945a8162, 0x3ff00975} }, -/**/ {{0x8179dd68, 0x3ff00965} }, -/**/ {{0x6eb971ef, 0x3ff00955} }, -/**/ {{0x5c193e98, 0x3ff00945} }, -/**/ {{0x49994301, 0x3ff00935} }, -/**/ {{0x37397eca, 0x3ff00925} }, -/**/ {{0x24f9f192, 0x3ff00915} }, -/**/ {{0x12da9af7, 0x3ff00905} }, -/**/ {{0x00db7a99, 0x3ff008f5} }, -/**/ {{0xeefc9018, 0x3ff008e4} }, -/**/ {{0xdd3ddb12, 0x3ff008d4} }, -/**/ {{0xcb9f5b26, 0x3ff008c4} }, -/**/ {{0xba210ff4, 0x3ff008b4} }, -/**/ {{0xa8c2f91a, 0x3ff008a4} }, -/**/ {{0x97851639, 0x3ff00894} }, -/**/ {{0x866766ef, 0x3ff00884} }, -/**/ {{0x7569eadb, 0x3ff00874} }, -/**/ {{0x648ca19d, 0x3ff00864} }, -/**/ {{0x53cf8ad3, 0x3ff00854} }, -/**/ {{0x4332a61e, 0x3ff00844} }, -/**/ {{0x32b5f31b, 0x3ff00834} }, -/**/ {{0x2259716c, 0x3ff00824} }, -/**/ {{0x121d20ad, 0x3ff00814} }, -/**/ {{0x02010080, 0x3ff00804} }, -/**/ {{0xf2051083, 0x3ff007f3} }, -/**/ {{0xe2295056, 0x3ff007e3} }, -/**/ {{0xd26dbf97, 0x3ff007d3} }, -/**/ {{0xc2d25de5, 0x3ff007c3} }, -/**/ {{0xb3572ae2, 0x3ff007b3} }, -/**/ {{0xa3fc262a, 0x3ff007a3} }, -/**/ {{0x94c14f5f, 0x3ff00793} }, -/**/ {{0x85a6a61e, 0x3ff00783} }, -/**/ {{0x76ac2a08, 0x3ff00773} }, -/**/ {{0x67d1dabb, 0x3ff00763} }, -/**/ {{0x5917b7d7, 0x3ff00753} }, -/**/ {{0x4a7dc0fb, 0x3ff00743} }, -/**/ {{0x3c03f5c7, 0x3ff00733} }, -/**/ {{0x2daa55da, 0x3ff00723} }, -/**/ {{0x1f70e0d3, 0x3ff00713} }, -/**/ {{0x11579652, 0x3ff00703} }, -/**/ {{0x035e75f5, 0x3ff006f3} }, -/**/ {{0xf5857f5d, 0x3ff006e2} }, -/**/ {{0xe7ccb228, 0x3ff006d2} }, -/**/ {{0xda340df6, 0x3ff006c2} }, -/**/ {{0xccbb9266, 0x3ff006b2} }, -/**/ {{0xbf633f18, 0x3ff006a2} }, -/**/ {{0xb22b13ab, 0x3ff00692} }, -/**/ {{0xa5130fbe, 0x3ff00682} }, -/**/ {{0x981b32f1, 0x3ff00672} }, -/**/ {{0x8b437ce4, 0x3ff00662} }, -/**/ {{0x7e8bed35, 0x3ff00652} }, -/**/ {{0x71f48383, 0x3ff00642} }, -/**/ {{0x657d3f70, 0x3ff00632} }, -/**/ {{0x59262098, 0x3ff00622} }, -/**/ {{0x4cef269e, 0x3ff00612} }, -/**/ {{0x40d8511e, 0x3ff00602} }, -/**/ {{0x34e19fba, 0x3ff005f2} }, -/**/ {{0x290b1211, 0x3ff005e2} }, -/**/ {{0x1d54a7c1, 0x3ff005d2} }, -/**/ {{0x11be606b, 0x3ff005c2} }, -/**/ {{0x06483bad, 0x3ff005b2} }, -/**/ {{0xfaf23928, 0x3ff005a1} }, -/**/ {{0xefbc587b, 0x3ff00591} }, -/**/ {{0xe4a69945, 0x3ff00581} }, -/**/ {{0xd9b0fb25, 0x3ff00571} }, -/**/ {{0xcedb7dbc, 0x3ff00561} }, -/**/ {{0xc42620a9, 0x3ff00551} }, -/**/ {{0xb990e38b, 0x3ff00541} }, -/**/ {{0xaf1bc601, 0x3ff00531} }, -/**/ {{0xa4c6c7ac, 0x3ff00521} }, -/**/ {{0x9a91e82a, 0x3ff00511} }, -/**/ {{0x907d271c, 0x3ff00501} }, -/**/ {{0x86888421, 0x3ff004f1} }, -/**/ {{0x7cb3fed8, 0x3ff004e1} }, -/**/ {{0x72ff96e0, 0x3ff004d1} }, -/**/ {{0x696b4bdb, 0x3ff004c1} }, -/**/ {{0x5ff71d66, 0x3ff004b1} }, -/**/ {{0x56a30b21, 0x3ff004a1} }, -/**/ {{0x4d6f14ad, 0x3ff00491} }, -/**/ {{0x445b39a8, 0x3ff00481} }, -/**/ {{0x3b6779b3, 0x3ff00471} }, -/**/ {{0x3293d46c, 0x3ff00461} }, -/**/ {{0x29e04974, 0x3ff00451} }, -/**/ {{0x214cd869, 0x3ff00441} }, -/**/ {{0x18d980ed, 0x3ff00431} }, -/**/ {{0x1086429d, 0x3ff00421} }, -/**/ {{0x08531d1a, 0x3ff00411} }, -/**/ {{0x00401004, 0x3ff00401} }, -/**/ {{0xf84d1afa, 0x3ff003f0} }, -/**/ {{0xf07a3d9b, 0x3ff003e0} }, -/**/ {{0xe8c77787, 0x3ff003d0} }, -/**/ {{0xe134c85f, 0x3ff003c0} }, -/**/ {{0xd9c22fc1, 0x3ff003b0} }, -/**/ {{0xd26fad4d, 0x3ff003a0} }, -/**/ {{0xcb3d40a3, 0x3ff00390} }, -/**/ {{0xc42ae963, 0x3ff00380} }, -/**/ {{0xbd38a72c, 0x3ff00370} }, -/**/ {{0xb666799e, 0x3ff00360} }, -/**/ {{0xafb46058, 0x3ff00350} }, -/**/ {{0xa9225afa, 0x3ff00340} }, -/**/ {{0xa2b06925, 0x3ff00330} }, -/**/ {{0x9c5e8a77, 0x3ff00320} }, -/**/ {{0x962cbe90, 0x3ff00310} }, -/**/ {{0x901b0511, 0x3ff00300} }, -/**/ {{0x8a295d98, 0x3ff002f0} }, -/**/ {{0x8457c7c6, 0x3ff002e0} }, -/**/ {{0x7ea6433a, 0x3ff002d0} }, -/**/ {{0x7914cf94, 0x3ff002c0} }, -/**/ {{0x73a36c73, 0x3ff002b0} }, -/**/ {{0x6e521978, 0x3ff002a0} }, -/**/ {{0x6920d642, 0x3ff00290} }, -/**/ {{0x640fa271, 0x3ff00280} }, -/**/ {{0x5f1e7da5, 0x3ff00270} }, -/**/ {{0x5a4d677d, 0x3ff00260} }, -/**/ {{0x559c5f9a, 0x3ff00250} }, -/**/ {{0x510b659a, 0x3ff00240} }, -/**/ {{0x4c9a791f, 0x3ff00230} }, -/**/ {{0x484999c6, 0x3ff00220} }, -/**/ {{0x4418c732, 0x3ff00210} }, -/**/ {{0x40080100, 0x3ff00200} }, -/**/ {{0x3c1746d2, 0x3ff001f0} }, -/**/ {{0x38469846, 0x3ff001e0} }, -/**/ {{0x3495f4fd, 0x3ff001d0} }, -/**/ {{0x31055c96, 0x3ff001c0} }, -/**/ {{0x2d94ceb2, 0x3ff001b0} }, -/**/ {{0x2a444af0, 0x3ff001a0} }, -/**/ {{0x2713d0ef, 0x3ff00190} }, -/**/ {{0x24036051, 0x3ff00180} }, -/**/ {{0x2112f8b4, 0x3ff00170} }, -/**/ {{0x1e4299b9, 0x3ff00160} }, -/**/ {{0x1b9242ff, 0x3ff00150} }, -/**/ {{0x1901f427, 0x3ff00140} }, -/**/ {{0x1691acd0, 0x3ff00130} }, -/**/ {{0x14416c9a, 0x3ff00120} }, -/**/ {{0x12113324, 0x3ff00110} }, -/**/ {{0x10010010, 0x3ff00100} }, -/**/ {{0x0e10d2fc, 0x3ff000f0} }, -/**/ {{0x0c40ab89, 0x3ff000e0} }, -/**/ {{0x0a908957, 0x3ff000d0} }, -/**/ {{0x09006c05, 0x3ff000c0} }, -/**/ {{0x07905334, 0x3ff000b0} }, -/**/ {{0x06403e82, 0x3ff000a0} }, -/**/ {{0x05102d92, 0x3ff00090} }, -/**/ {{0x04002001, 0x3ff00080} }, -/**/ {{0x03101571, 0x3ff00070} }, -/**/ {{0x02400d80, 0x3ff00060} }, -/**/ {{0x019007d0, 0x3ff00050} }, -/**/ {{0x01000400, 0x3ff00040} }, -/**/ {{0x009001b0, 0x3ff00030} }, -/**/ {{0x00400080, 0x3ff00020} }, -/**/ {{0x00100010, 0x3ff00010} }, -/**/ {{0x00000000, 0x3ff00000} }, -/**/ {{0x001fffe0, 0x3fefffe0} }, -/**/ {{0x007fff00, 0x3fefffc0} }, -/**/ {{0x011ffca0, 0x3fefffa0} }, -/**/ {{0x01fff800, 0x3fefff80} }, -/**/ {{0x031ff060, 0x3fefff60} }, -/**/ {{0x047fe501, 0x3fefff40} }, -/**/ {{0x061fd521, 0x3fefff20} }, -/**/ {{0x07ffc002, 0x3fefff00} }, -/**/ {{0x0a1fa4e3, 0x3feffee0} }, -/**/ {{0x0c7f8305, 0x3feffec0} }, -/**/ {{0x0f1f59a7, 0x3feffea0} }, -/**/ {{0x11ff280a, 0x3feffe80} }, -/**/ {{0x151eed6e, 0x3feffe60} }, -/**/ {{0x187ea913, 0x3feffe40} }, -/**/ {{0x1c1e5a39, 0x3feffe20} }, -/**/ {{0x1ffe0020, 0x3feffe00} }, -/**/ {{0x241d9a09, 0x3feffde0} }, -/**/ {{0x287d2733, 0x3feffdc0} }, -/**/ {{0x2d1ca6e0, 0x3feffda0} }, -/**/ {{0x31fc184e, 0x3feffd80} }, -/**/ {{0x371b7abf, 0x3feffd60} }, -/**/ {{0x3c7acd72, 0x3feffd40} }, -/**/ {{0x421a0fa9, 0x3feffd20} }, -/**/ {{0x47f940a2, 0x3feffd00} }, -/**/ {{0x4e185f9f, 0x3feffce0} }, -/**/ {{0x54776bdf, 0x3feffcc0} }, -/**/ {{0x5b1664a3, 0x3feffca0} }, -/**/ {{0x61f5492c, 0x3feffc80} }, -/**/ {{0x691418b9, 0x3feffc60} }, -/**/ {{0x7072d28b, 0x3feffc40} }, -/**/ {{0x781175e3, 0x3feffc20} }, -/**/ {{0x7ff00200, 0x3feffc00} }, -/**/ {{0x880e7623, 0x3feffbe0} }, -/**/ {{0x906cd18c, 0x3feffbc0} }, -/**/ {{0x990b137c, 0x3feffba0} }, -/**/ {{0xa1e93b34, 0x3feffb80} }, -/**/ {{0xab0747f3, 0x3feffb60} }, -/**/ {{0xb46538fa, 0x3feffb40} }, -/**/ {{0xbe030d89, 0x3feffb20} }, -/**/ {{0xc7e0c4e1, 0x3feffb00} }, -/**/ {{0xd1fe5e43, 0x3feffae0} }, -/**/ {{0xdc5bd8ee, 0x3feffac0} }, -/**/ {{0xe6f93424, 0x3feffaa0} }, -/**/ {{0xf1d66f25, 0x3feffa80} }, -/**/ {{0xfcf38931, 0x3feffa60} }, -/**/ {{0x08508189, 0x3feffa41} }, -/**/ {{0x13ed576d, 0x3feffa21} }, -/**/ {{0x1fca0a1e, 0x3feffa01} }, -/**/ {{0x2be698dd, 0x3feff9e1} }, -/**/ {{0x384302e9, 0x3feff9c1} }, -/**/ {{0x44df4785, 0x3feff9a1} }, -/**/ {{0x51bb65ef, 0x3feff981} }, -/**/ {{0x5ed75d6a, 0x3feff961} }, -/**/ {{0x6c332d34, 0x3feff941} }, -/**/ {{0x79ced490, 0x3feff921} }, -/**/ {{0x87aa52be, 0x3feff901} }, -/**/ {{0x95c5a6fe, 0x3feff8e1} }, -/**/ {{0xa420d091, 0x3feff8c1} }, -/**/ {{0xb2bbceb7, 0x3feff8a1} }, -/**/ {{0xc196a0b2, 0x3feff881} }, -/**/ {{0xd0b145c2, 0x3feff861} }, -/**/ {{0xe00bbd28, 0x3feff841} }, -/**/ {{0xefa60624, 0x3feff821} }, -/**/ {{0xff801ff8, 0x3feff801} }, -/**/ {{0x0f9a09e3, 0x3feff7e2} }, -/**/ {{0x1ff3c328, 0x3feff7c2} }, -/**/ {{0x308d4b05, 0x3feff7a2} }, -/**/ {{0x4166a0bd, 0x3feff782} }, -/**/ {{0x527fc390, 0x3feff762} }, -/**/ {{0x63d8b2bf, 0x3feff742} }, -/**/ {{0x75716d8b, 0x3feff722} }, -/**/ {{0x8749f334, 0x3feff702} }, -/**/ {{0x996242fb, 0x3feff6e2} }, -/**/ {{0xabba5c21, 0x3feff6c2} }, -/**/ {{0xbe523de8, 0x3feff6a2} }, -/**/ {{0xd129e78f, 0x3feff682} }, -/**/ {{0xe4415858, 0x3feff662} }, -/**/ {{0xf7988f84, 0x3feff642} }, -/**/ {{0x0b2f8c54, 0x3feff623} }, -/**/ {{0x1f064e08, 0x3feff603} }, -/**/ {{0x331cd3e1, 0x3feff5e3} }, -/**/ {{0x47731d21, 0x3feff5c3} }, -/**/ {{0x5c092908, 0x3feff5a3} }, -/**/ {{0x70def6d7, 0x3feff583} }, -/**/ {{0x85f485d0, 0x3feff563} }, -/**/ {{0x9b49d532, 0x3feff543} }, -/**/ {{0xb0dee440, 0x3feff523} }, -/**/ {{0xc6b3b23b, 0x3feff503} }, -/**/ {{0xdcc83e62, 0x3feff4e3} }, -/**/ {{0xf31c87f8, 0x3feff4c3} }, -/**/ {{0x09b08e3d, 0x3feff4a4} }, -/**/ {{0x20845073, 0x3feff484} }, -/**/ {{0x3797cdda, 0x3feff464} }, -/**/ {{0x4eeb05b4, 0x3feff444} }, -/**/ {{0x667df741, 0x3feff424} }, -/**/ {{0x7e50a1c3, 0x3feff404} }, -/**/ {{0x9663047b, 0x3feff3e4} }, -/**/ {{0xaeb51eaa, 0x3feff3c4} }, -/**/ {{0xc746ef91, 0x3feff3a4} }, -/**/ {{0xe0187672, 0x3feff384} }, -/**/ {{0xf929b28d, 0x3feff364} }, -/**/ {{0x127aa323, 0x3feff345} }, -/**/ {{0x2c0b4776, 0x3feff325} }, -/**/ {{0x45db9ec7, 0x3feff305} }, -/**/ {{0x5feba858, 0x3feff2e5} }, -/**/ {{0x7a3b6369, 0x3feff2c5} }, -/**/ {{0x94cacf3b, 0x3feff2a5} }, -/**/ {{0xaf99eb11, 0x3feff285} }, -/**/ {{0xcaa8b62a, 0x3feff265} }, -/**/ {{0xe5f72fc9, 0x3feff245} }, -/**/ {{0x0185572f, 0x3feff226} }, -/**/ {{0x1d532b9d, 0x3feff206} }, -/**/ {{0x3960ac54, 0x3feff1e6} }, -/**/ {{0x55add896, 0x3feff1c6} }, -/**/ {{0x723aafa3, 0x3feff1a6} }, -/**/ {{0x8f0730be, 0x3feff186} }, -/**/ {{0xac135b27, 0x3feff166} }, -/**/ {{0xc95f2e21, 0x3feff146} }, -/**/ {{0xe6eaa8eb, 0x3feff126} }, -/**/ {{0x04b5cac9, 0x3feff107} }, -/**/ {{0x22c092fb, 0x3feff0e7} }, -/**/ {{0x410b00c2, 0x3feff0c7} }, -/**/ {{0x5f951360, 0x3feff0a7} }, -/**/ {{0x7e5eca16, 0x3feff087} }, -/**/ {{0x9d682426, 0x3feff067} }, -/**/ {{0xbcb120d2, 0x3feff047} }, -/**/ {{0xdc39bf5a, 0x3feff027} }, -/**/ {{0xfc01ff00, 0x3feff007} }, -/**/ {{0x1c09df07, 0x3fefefe8} }, -/**/ {{0x3c515eae, 0x3fefefc8} }, -/**/ {{0x5cd87d38, 0x3fefefa8} }, -/**/ {{0x7d9f39e6, 0x3fefef88} }, -/**/ {{0x9ea593fa, 0x3fefef68} }, -/**/ {{0xbfeb8ab5, 0x3fefef48} }, -/**/ {{0xe1711d5a, 0x3fefef28} }, -/**/ {{0x03364b28, 0x3fefef09} }, -/**/ {{0x253b1363, 0x3fefeee9} }, -/**/ {{0x477f754b, 0x3fefeec9} }, -/**/ {{0x6a037022, 0x3fefeea9} }, -/**/ {{0x8cc7032a, 0x3fefee89} }, -/**/ {{0xafca2da5, 0x3fefee69} }, -/**/ {{0xd30ceed4, 0x3fefee49} }, -/**/ {{0xf68f45f8, 0x3fefee29} }, -/**/ {{0x1a513254, 0x3fefee0a} }, -/**/ {{0x3e52b329, 0x3fefedea} }, -/**/ {{0x6293c7b8, 0x3fefedca} }, -/**/ {{0x87146f44, 0x3fefedaa} }, -/**/ {{0xabd4a90e, 0x3fefed8a} }, -/**/ {{0xd0d47458, 0x3fefed6a} }, -/**/ {{0xf613d064, 0x3fefed4a} }, -/**/ {{0x1b92bc73, 0x3fefed2b} }, -/**/ {{0x415137c7, 0x3fefed0b} }, -/**/ {{0x674f41a2, 0x3fefeceb} }, -/**/ {{0x8d8cd945, 0x3fefeccb} }, -/**/ {{0xb409fdf3, 0x3fefecab} }, -/**/ {{0xdac6aeed, 0x3fefec8b} }, -/**/ {{0x01c2eb76, 0x3fefec6c} }, -/**/ {{0x28feb2ce, 0x3fefec4c} }, -/**/ {{0x507a0437, 0x3fefec2c} }, -/**/ {{0x7834def5, 0x3fefec0c} }, -/**/ {{0xa02f4247, 0x3fefebec} }, -/**/ {{0xc8692d71, 0x3fefebcc} }, -/**/ {{0xf0e29fb4, 0x3fefebac} }, -/**/ {{0x199b9852, 0x3fefeb8d} }, -/**/ {{0x4294168d, 0x3fefeb6d} }, -/**/ {{0x6bcc19a7, 0x3fefeb4d} }, -/**/ {{0x9543a0e2, 0x3fefeb2d} }, -/**/ {{0xbefaab7f, 0x3fefeb0d} }, -/**/ {{0xe8f138c2, 0x3fefeaed} }, -/**/ {{0x132747ea, 0x3fefeace} }, -/**/ {{0x3d9cd83c, 0x3fefeaae} }, -/**/ {{0x6851e8f7, 0x3fefea8e} }, -/**/ {{0x93467960, 0x3fefea6e} }, -/**/ {{0xbe7a88b7, 0x3fefea4e} }, -/**/ {{0xe9ee163f, 0x3fefea2e} }, -/**/ {{0x15a12139, 0x3fefea0f} }, -/**/ {{0x4193a8e8, 0x3fefe9ef} }, -/**/ {{0x6dc5ac8e, 0x3fefe9cf} }, -/**/ {{0x9a372b6d, 0x3fefe9af} }, -/**/ {{0xc6e824c6, 0x3fefe98f} }, -/**/ {{0xf3d897dd, 0x3fefe96f} }, - }; - - static const number - Lu[182][2] = { /* log(ui) */ -/**/ {{{0x0b3aac49, 0xbfd63003} }, -/**/ {{0xe51fff99, 0xbc6dc18c} },}, -/**/ {{{0xdf595f30, 0xbfd5d5bd} }, -/**/ {{0x48cbb8a2, 0x3c765411} },}, -/**/ {{{0x53c8d1fb, 0xbfd57bf7} }, -/**/ {{0x15f88b63, 0x3c60908d} },}, -/**/ {{{0x0738a3d8, 0xbfd522ae} }, -/**/ {{0xb38a6979, 0x3c68f7e9} },}, -/**/ {{{0x9e172c3c, 0xbfd4c9e0} }, -/**/ {{0x5b147a5d, 0x3c512361} },}, -/**/ {{{0xc271c41b, 0xbfd4718d} }, -/**/ {{0x14c56eef, 0xbc38fb4c} },}, -/**/ {{{0x23d5e8c7, 0xbfd419b4} }, -/**/ {{0x43827392, 0xbc60dbb2} },}, -/**/ {{{0x77333184, 0xbfd3c252} }, -/**/ {{0xe50a8ec6, 0x3c72ad27} },}, -/**/ {{{0x76be1117, 0xbfd36b67} }, -/**/ {{0xe883858e, 0x3c5324f0} },}, -/**/ {{{0xe1d35ce4, 0xbfd314f1} }, -/**/ {{0x09e5c3dc, 0x3c73d699} },}, -/**/ {{{0x7cdc9354, 0xbfd2bef0} }, -/**/ {{0x7fd86088, 0x3c782dad} },}, -/**/ {{{0x1134db92, 0xbfd26962} }, -/**/ {{0xdd9db02b, 0xbc7e0efa} },}, -/**/ {{{0x6d0eb8d4, 0xbfd21445} }, -/**/ {{0x1aeba60a, 0xbc6f7ae9} },}, -/**/ {{{0x635a6b95, 0xbfd1bf99} }, -/**/ {{0x84249223, 0x3c612aeb} },}, -/**/ {{{0xcbacfb73, 0xbfd16b5c} }, -/**/ {{0x28b40935, 0xbc766fbd} },}, -/**/ {{{0x8227e47c, 0xbfd1178e} }, -/**/ {{0x5f01c691, 0x3c60e63a} },}, -/**/ {{{0x676162e3, 0xbfd0c42d} }, -/**/ {{0x9d5d11ee, 0xbc5162c7} },}, -/**/ {{{0x604d5862, 0xbfd07138} }, -/**/ {{0xed4e9138, 0xbc7cdb16} },}, -/**/ {{{0x5626c691, 0xbfd01eae} }, -/**/ {{0xbd2932e2, 0x3c418290} },}, -/**/ {{{0x6cb3b379, 0xbfcf991c} }, -/**/ {{0x66f980a2, 0xbc6f6650} },}, -/**/ {{{0xe4dcffe6, 0xbfcef5ad} }, -/**/ {{0xddc708a0, 0x3c508ab2} },}, -/**/ {{{0xffe71012, 0xbfce530e} }, -/**/ {{0x41f43042, 0xbc422760} },}, -/**/ {{{0xb0d48940, 0xbfcdb13d} }, -/**/ {{0x49f96cb9, 0xbc5aa11d} },}, -/**/ {{{0xf2655e7b, 0xbfcd1037} }, -/**/ {{0x242471a2, 0xbc660629} },}, -/**/ {{{0xc6f00f71, 0xbfcc6ffb} }, -/**/ {{0x2c57a4a5, 0x3c68e58b} },}, -/**/ {{{0x383bd8ad, 0xbfcbd087} }, -/**/ {{0xf6a516d7, 0xbc3dd355} },}, -/**/ {{{0x575bce3d, 0xbfcb31d8} }, -/**/ {{0xb386a94d, 0x3c66353a} },}, -/**/ {{{0x3c8ad9e3, 0xbfca93ed} }, -/**/ {{0x9de97203, 0xbc6bcafa} },}, -/**/ {{{0x07089664, 0xbfc9f6c4} }, -/**/ {{0x605e67ef, 0xbc435a19} },}, -/**/ {{{0xdcf7017f, 0xbfc95a5a} }, -/**/ {{0x07fb7a3d, 0xbc5142c5} },}, -/**/ {{{0xeb38fe8c, 0xbfc8beaf} }, -/**/ {{0xb6997a40, 0xbc555aa8} },}, -/**/ {{{0x6551a3c2, 0xbfc823c1} }, -/**/ {{0xe70be781, 0x3c61232c} },}, -/**/ {{{0x85444c73, 0xbfc7898d} }, -/**/ {{0xebcfb201, 0xbc5ef8f6} },}, -/**/ {{{0x8b756abc, 0xbfc6f012} }, -/**/ {{0xc21e166c, 0x3c68de59} },}, -/**/ {{{0xbe8c133a, 0xbfc6574e} }, -/**/ {{0xf4621bed, 0x3c3d34f0} },}, -/**/ {{{0x6b543db2, 0xbfc5bf40} }, -/**/ {{0x4c0df7e7, 0x3c21f5b4} },}, -/**/ {{{0xe4a1b58d, 0xbfc527e5} }, -/**/ {{0x82395bfd, 0x3c271a96} },}, -/**/ {{{0x8333b561, 0xbfc4913d} }, -/**/ {{0x4930f135, 0x3c50d560} },}, -/**/ {{{0xa59928cc, 0xbfc3fb45} }, -/**/ {{0xa354d056, 0x3c6d87e6} },}, -/**/ {{{0xb0159016, 0xbfc365fc} }, -/**/ {{0xa5b944ad, 0xbc57d411} },}, -/**/ {{{0x0c86813a, 0xbfc2d161} }, -/**/ {{0xf25af95f, 0x3c5499a3} },}, -/**/ {{{0x2a49c202, 0xbfc23d71} }, -/**/ {{0x61051d69, 0x3c66e381} },}, -/**/ {{{0x7e23f72a, 0xbfc1aa2b} }, -/**/ {{0xd9b2ef7e, 0x3c4c6ef1} },}, -/**/ {{{0x8227e47c, 0xbfc1178e} }, -/**/ {{0x5f01c691, 0x3c50e63a} },}, -/**/ {{{0xb59e3a07, 0xbfc08598} }, -/**/ {{0x9902bf32, 0x3c6dd700} },}, -/**/ {{{0x39dbd566, 0xbfbfe891} }, -/**/ {{0x215f9393, 0x3c5ac9f4} },}, -/**/ {{{0x830a1120, 0xbfbec739} }, -/**/ {{0x91780d3f, 0x3c4a2bf9} },}, -/**/ {{{0x638446a2, 0xbfbda727} }, -/**/ {{0x71733019, 0xbc5401fa} },}, -/**/ {{{0x01bc4b23, 0xbfbc8858} }, -/**/ {{0x559a6706, 0xbc5a38cb} },}, -/**/ {{{0x8dad5b1c, 0xbfbb6ac8} }, -/**/ {{0xed1ca59f, 0x3c40057e} },}, -/**/ {{{0x40b1bc38, 0xbfba4e76} }, -/**/ {{0x203e4259, 0x3c55b5ca} },}, -/**/ {{{0x5d594989, 0xbfb9335e} }, -/**/ {{0x5704ccb7, 0x3c5478a8} },}, -/**/ {{{0x2f40e3f0, 0xbfb8197e} }, -/**/ {{0xffbeed43, 0xbc3b9f2d} },}, -/**/ {{{0x0aeac0e1, 0xbfb700d3} }, -/**/ {{0x212cdd05, 0x3c272566} },}, -/**/ {{{0x4d9791cb, 0xbfb5e95a} }, -/**/ {{0x5c5c450a, 0xbc5f3874} },}, -/**/ {{{0x5d207eac, 0xbfb4d311} }, -/**/ {{0x2c7842cc, 0xbc5769f4} },}, -/**/ {{{0xa7d1ee64, 0xbfb3bdf5} }, -/**/ {{0xd3b5b45f, 0xbc47a976} },}, -/**/ {{{0xa44717a5, 0xbfb2aa04} }, -/**/ {{0x8d2fa3f7, 0x3c5d15d3} },}, -/**/ {{{0xd1465567, 0xbfb1973b} }, -/**/ {{0x67a6acf6, 0x3c475583} },}, -/**/ {{{0xb59e3a07, 0xbfb08598} }, -/**/ {{0x9902bf32, 0x3c5dd700} },}, -/**/ {{{0xc006b87c, 0xbfaeea31} }, -/**/ {{0x93b7b66c, 0x3c43e4fc} },}, -/**/ {{{0xcdddb2cc, 0xbfaccb73} }, -/**/ {{0x0500efd4, 0x3c4e48fb} },}, -/**/ {{{0xd0fb10fc, 0xbfaaaef2} }, -/**/ {{0xb42e0add, 0xbc2a353b} },}, -/**/ {{{0x149fb343, 0xbfa894aa} }, -/**/ {{0x7660a23d, 0xbc3a8be9} },}, -/**/ {{{0xf2d4bb58, 0xbfa67c94} }, -/**/ {{0x6505e603, 0xbc40413e} },}, -/**/ {{{0xd42de3ea, 0xbfa466ae} }, -/**/ {{0x7f4a137e, 0x3c4cdd6f} },}, -/**/ {{{0x2f8d183f, 0xbfa252f3} }, -/**/ {{0x92615916, 0x3c4947f7} },}, -/**/ {{{0x89e74444, 0xbfa0415d} }, -/**/ {{0x1d753622, 0xbc4c05cf} },}, -/**/ {{{0xec14aaf2, 0xbf9c63d2} }, -/**/ {{0xa686bd86, 0x3c3ce030} },}, -/**/ {{{0x28c8cabf, 0xbf984925} }, -/**/ {{0x0619fa67, 0x3c3d192d} },}, -/**/ {{{0x25980cc1, 0xbf9432a9} }, -/**/ {{0x39004192, 0x3c38cdaf} },}, -/**/ {{{0x58935847, 0xbf902056} }, -/**/ {{0x8416e71f, 0xbc327c8e} },}, -/**/ {{{0xa388a2aa, 0xbf882448} }, -/**/ {{0x137f09a0, 0xbc104b16} },}, -/**/ {{{0x7588de71, 0xbf801015} }, -/**/ {{0xd417ced0, 0xbc146662} },}, -/**/ {{{0x59588b35, 0xbf700805} }, -/**/ {{0x8cf63677, 0xbc1f9663} },}, -/**/ {{{0x00000000, 0x00000000} }, -/**/ {{0x00000000, 0x00000000} },}, -/**/ {{{0xa2b10bc0, 0x3f6ff00a} }, -/**/ {{0xd5a6d353, 0x3c02821a} },}, -/**/ {{{0x6b106789, 0x3f7fe02a} }, -/**/ {{0xe3711ebf, 0xbbce44b7} },}, -/**/ {{{0x5f810a77, 0x3f87dc47} }, -/**/ {{0x87d3df21, 0xbc116d76} },}, -/**/ {{{0xb0fc03e4, 0x3f8fc0a8} }, -/**/ {{0xc59642a1, 0xbc183092} },}, -/**/ {{{0x4346a575, 0x3f93cea4} }, -/**/ {{0x902b3a1c, 0xbc10cb5a} },}, -/**/ {{{0x07d5b11b, 0x3f97b91b} }, -/**/ {{0xace3a510, 0xbc35b602} },}, -/**/ {{{0x27af9198, 0x3f9b9fc0} }, -/**/ {{0x229dc868, 0xbbf0ae69} },}, -/**/ {{{0x0e783300, 0x3f9f829b} }, -/**/ {{0x04f1ef23, 0x3c333e3f} },}, -/**/ {{{0x8923d980, 0x3fa1b0d9} }, -/**/ {{0x89bac481, 0xbc3e9ae8} },}, -/**/ {{{0xb9febd60, 0x3fa39e87} }, -/**/ {{0x37f551bb, 0xbc45bfa9} },}, -/**/ {{{0xafc8e4d5, 0x3fa58a5b} }, -/**/ {{0x2b4e2b72, 0xbc4ce55c} },}, -/**/ {{{0xf632dcfc, 0x3fa77458} }, -/**/ {{0xa87b9296, 0x3c418d3c} },}, -/**/ {{{0x0ec8e3eb, 0x3fa95c83} }, -/**/ {{0x80520bf2, 0x3c4f5a0e} },}, -/**/ {{{0x711971bf, 0x3fab42dd} }, -/**/ {{0x9c130499, 0xbc3eb975} },}, -/**/ {{{0x8adb0b52, 0x3fad276b} }, -/**/ {{0x3257fd47, 0x3c21e3c5} },}, -/**/ {{{0xc01162a6, 0x3faf0a30} }, -/**/ {{0x5c5bbacd, 0x3c485f32} },}, -/**/ {{{0x3598e471, 0x3fb07598} }, -/**/ {{0x333c45b8, 0x3c480da5} },}, -/**/ {{{0xeea37ae1, 0x3fb16536} }, -/**/ {{0xe8c22cda, 0xbc379da3} },}, -/**/ {{{0x2f0a1417, 0x3fb253f6} }, -/**/ {{0x63fc4cfd, 0xbc1c1259} },}, -/**/ {{{0x961bd1d1, 0x3fb341d7} }, -/**/ {{0x227becbb, 0xbc5b599f} },}, -/**/ {{{0xbea646f0, 0x3fb42edc} }, -/**/ {{0x935996c9, 0x3c4ddd4f} },}, -/**/ {{{0x3f06183f, 0x3fb51b07} }, -/**/ {{0x9a1a8be4, 0x3c5a49e3} },}, -/**/ {{{0xa93750c4, 0x3fb60658} }, -/**/ {{0x8ec21b6a, 0xbc538845} },}, -/**/ {{{0x8ae56b4c, 0x3fb6f0d2} }, -/**/ {{0x9184b992, 0xbc5906d9} },}, -/**/ {{{0x6d7b12cd, 0x3fb7da76} }, -/**/ {{0xcdd94131, 0xbc5eeedf} },}, -/**/ {{{0xd6319b21, 0x3fb8c345} }, -/**/ {{0xab3424a9, 0xbc24a697} },}, -/**/ {{{0x462033ad, 0x3fb9ab42} }, -/**/ {{0x1c184e8e, 0xbc42099e} },}, -/**/ {{{0x3a4ad563, 0x3fba926d} }, -/**/ {{0x8aa70ea9, 0x3c5942f4} },}, -/**/ {{{0x2bb0eda1, 0x3fbb78c8} }, -/**/ {{0xf0327e21, 0x3c20878c} },}, -/**/ {{{0x8f5bc743, 0x3fbc5e54} }, -/**/ {{0xef8161b1, 0x3c35d617} },}, -/**/ {{{0xd66cb35d, 0x3fbd4313} }, -/**/ {{0x951d90fa, 0x3c5790dd} },}, -/**/ {{{0x6e2af2e6, 0x3fbe2707} }, -/**/ {{0x001e0162, 0xbc361578} },}, -/**/ {{{0xc01162a6, 0x3fbf0a30} }, -/**/ {{0x5c5bbacd, 0x3c585f32} },}, -/**/ {{{0x31dbeabb, 0x3fbfec91} }, -/**/ {{0x9981b36c, 0xbc55746b} },}, -/**/ {{{0x12ca596e, 0x3fc06715} }, -/**/ {{0x7eb86499, 0x3c550c64} },}, -/**/ {{{0x7cd08e59, 0x3fc0d77e} }, -/**/ {{0x5e9030ac, 0x3c69a5dc} },}, -/**/ {{{0x846742ac, 0x3fc14785} }, -/**/ {{0x3e3a7f07, 0x3c6a2881} },}, -/**/ {{{0xd52f67a0, 0x3fc1b72a} }, -/**/ {{0x3472cd74, 0x3c548302} },}, -/**/ {{{0x190a5acb, 0x3fc2266f} }, -/**/ {{0xf1809e88, 0x3c6f547b} },}, -/**/ {{{0xf81ff523, 0x3fc29552} }, -/**/ {{0x1c407dbf, 0x3c630177} },}, -/**/ {{{0x18e47fd3, 0x3fc303d7} }, -/**/ {{0xd96091fa, 0xbc06b9c7} },}, -/**/ {{{0x201e8f74, 0x3fc371fc} }, -/**/ {{0x62af18a0, 0x3c5de6cb} },}, -/**/ {{{0xb0ecc62a, 0x3fc3dfc2} }, -/**/ {{0xe7d81017, 0xbc5ab3a8} },}, -/**/ {{{0x6ccb7d1e, 0x3fc44d2b} }, -/**/ {{0x543e1f88, 0x3c69f4f6} },}, -/**/ {{{0xf39a55e5, 0x3fc4ba36} }, -/**/ {{0xbcc36756, 0x3c668981} },}, -/**/ {{{0xe3a1b438, 0x3fc526e5} }, -/**/ {{0x8a470d3a, 0xbc6746ff} },}, -/**/ {{{0xd9982086, 0x3fc59338} }, -/**/ {{0xaa8ad7cf, 0xbc565d22} },}, -/**/ {{{0x70a793d4, 0x3fc5ff30} }, -/**/ {{0xfafc6f6e, 0xbc5bc60e} },}, -/**/ {{{0x4272ad51, 0x3fc66acd} }, -/**/ {{0x4e1ea8b2, 0xbc50900e} },}, -/**/ {{{0xe719d21d, 0x3fc6d60f} }, -/**/ {{0x68ecd179, 0xbc6caae2} },}, -/**/ {{{0xf54037a5, 0x3fc740f8} }, -/**/ {{0x62a84cdb, 0xbc5b2640} },}, -/**/ {{{0x0210d909, 0x3fc7ab89} }, -/**/ {{0x2d6a0608, 0x3c4be36b} },}, -/**/ {{{0xa14357eb, 0x3fc815c0} }, -/**/ {{0x073a0564, 0xbc54be48} },}, -/**/ {{{0x6520c911, 0x3fc87fa0} }, -/**/ {{0xbfa08d9a, 0xbc6bf7fd} },}, -/**/ {{{0xde886d41, 0x3fc8e928} }, -/**/ {{0x51a56770, 0xbc6569d8} },}, -/**/ {{{0x9cf456b4, 0x3fc9525a} }, -/**/ {{0x1d4e2e26, 0x3c6d904c} },}, -/**/ {{{0x2e7dfb83, 0x3fc9bb36} }, -/**/ {{0x1f003e0c, 0x3c6575e3} },}, -/**/ {{{0x1fe2b563, 0x3fca23bc} }, -/**/ {{0xb07a998c, 0x3c493711} },}, -/**/ {{{0xfc882f19, 0x3fca8bec} }, -/**/ {{0x918c39eb, 0xbc5e8c37} },}, -/**/ {{{0x4e80bff3, 0x3fcaf3c9} }, -/**/ {{0xf3641985, 0xbc5398cf} },}, -/**/ {{{0x9e8fb5a4, 0x3fcb5b51} }, -/**/ {{0xdc19e1a0, 0x3c6ba27f} },}, -/**/ {{{0x742d8cd6, 0x3fcbc286} }, -/**/ {{0x44870f55, 0x3c54fce7} },}, -/**/ {{{0x558c18c1, 0x3fcc2968} }, -/**/ {{0x38a3fb6b, 0xbc673dee} },}, -/**/ {{{0xc79a9a22, 0x3fcc8ff7} }, -/**/ {{0xf8434012, 0xbc64f689} },}, -/**/ {{{0x4e09c5dc, 0x3fccf635} }, -/**/ {{0x7d55b695, 0x3c6239a0} },}, -/**/ {{{0x6b4fbb91, 0x3fcd5c21} }, -/**/ {{0x597e4d40, 0x3c66e443} },}, -/**/ {{{0xa0abec7d, 0x3fcdc1bc} }, -/**/ {{0x1998b6fc, 0x3c6834c5} },}, -/**/ {{{0x6e2af2e6, 0x3fce2707} }, -/**/ {{0x001e0162, 0xbc461578} },}, -/**/ {{{0x52aa5a60, 0x3fce8c02} }, -/**/ {{0x39bfc89b, 0xbc46e03a} },}, -/**/ {{{0xcbdc5936, 0x3fcef0ad} }, -/**/ {{0x950dc20d, 0x3c648637} },}, -/**/ {{{0x564b7b37, 0x3fcf550a} }, -/**/ {{0xfd018c37, 0x3c2c5f6d} },}, -/**/ {{{0x6d5e3e2b, 0x3fcfb918} }, -/**/ {{0x64f21acb, 0xbc6caaae} },}, -/**/ {{{0x45ad501d, 0x3fd00e6c} }, -/**/ {{0x8ff6fead, 0xbc6cb956} },}, -/**/ {{{0x94b4d041, 0x3fd04025} }, -/**/ {{0x17a5022d, 0xbc628ec2} },}, -/**/ {{{0x5fcd590d, 0x3fd071b8} }, -/**/ {{0xf97bde80, 0x3c5d1707} },}, -/**/ {{{0xe27390e3, 0x3fd0a324} }, -/**/ {{0xe8061c03, 0x3c77dcfd} },}, -/**/ {{{0x579ab74b, 0x3fd0d46b} }, -/**/ {{0x1c3cbd92, 0x3c603ec8} },}, -/**/ {{{0xf9ae4ad5, 0x3fd1058b} }, -/**/ {{0xab4cb31d, 0x3c589fa0} },}, -/**/ {{{0x0293a8b0, 0x3fd13687} }, -/**/ {{0x98edd24a, 0x3c77b662} },}, -/**/ {{{0xababa60e, 0x3fd1675c} }, -/**/ {{0xab883717, 0x3c2ce63e} },}, -/**/ {{{0x2dd4236f, 0x3fd1980d} }, -/**/ {{0xb0e4d147, 0x3c79d3d1} },}, -/**/ {{{0xc16999fb, 0x3fd1c898} }, -/**/ {{0x2aff1c44, 0xbc30e5c6} },}, -/**/ {{{0x9e48a2f3, 0x3fd1f8ff} }, -/**/ {{0x9a0c4b07, 0xbc7c9fdf} },}, -/**/ {{{0xfbcf7966, 0x3fd22941} }, -/**/ {{0xb09628af, 0xbc776f5e} },}, -/**/ {{{0x10df763a, 0x3fd25960} }, -/**/ {{0x57075e9e, 0xbc50f76c} },}, -/**/ {{{0x13de86a3, 0x3fd2895a} }, -/**/ {{0xc13f040e, 0x3c77ad24} },}, -/**/ {{{0x3ab89d25, 0x3fd2b930} }, -/**/ {{0xfd852ad4, 0xbc7896b5} },}, -/**/ {{{0xbae11d31, 0x3fd2e8e2} }, -/**/ {{0xb95ebdf9, 0xbc78f4cd} },}, -/**/ {{{0xc9544185, 0x3fd31871} }, -/**/ {{0x4c09b379, 0xbc351acc} },}, -/**/ {{{0x9a987d55, 0x3fd347dd} }, -/**/ {{0x580919f8, 0xbc64dd4c} },}, -/**/ {{{0x62bfd85b, 0x3fd37726} }, -/**/ {{0xd8117de7, 0xbc4b5629} },}, -/**/ {{{0x556945ea, 0x3fd3a64c} }, -/**/ {{0x1945f97c, 0xbc6c6865} },}, -/**/ {{{0xa5c1f710, 0x3fd3d54f} }, -/**/ {{0xc6a1c98d, 0xbc7e3265} },}, -/**/ {{{0x8686a7e4, 0x3fd40430} }, -/**/ {{0x6082ce6d, 0xbc70bcfb} },}, -/**/ {{{0x2a04e814, 0x3fd432ef} }, -/**/ {{0x715ac903, 0xbc729931} },}, -/**/ {{{0xc21c5ec2, 0x3fd4618b} }, -/**/ {{0xcdeccf1d, 0x3c7f42de} },}, -/**/ {{{0x804009d1, 0x3fd49006} }, -/**/ {{0x41f177dc, 0xbc69ffc3} },}, -/**/ {{{0x957778a1, 0x3fd4be5f} }, -/**/ {{0x5b04813d, 0xbc6259b3} },}, -/**/ {{{0x3260026a, 0x3fd4ec97} }, -/**/ {{0xd977dc5e, 0xbc742a87} },}, -/**/ {{{0x872df82d, 0x3fd51aad} }, -/**/ {{0xc19f55e3, 0x3c43927a} },}, -/**/ {{{0xc3add263, 0x3fd548a2} }, -/**/ {{0x7e308ddb, 0xbc6819cf} },}, -/**/ {{{0x17455a6c, 0x3fd57677} }, -/**/ {{0xb283660c, 0x3c7526ad} },}, -/**/ {{{0xb0f4cfe2, 0x3fd5a42a} }, -/**/ {{0x7dee9a3d, 0xbc78ebcb} },}, -/**/ {{{0xbf5809ca, 0x3fd5d1bd} }, -/**/ {{0x83dc7fe1, 0x3c742363} },}, -/**/ {{{0x70a793d4, 0x3fd5ff30} }, -/**/ {{0xfafc6f6e, 0xbc6bc60e} },}, -/**/ {{{0xf2b9c795, 0x3fd62c82} }, -/**/ {{0x915300e5, 0x3c67b7af} },}, - }; - - static const number - Lv[362][2] = { /* log(vj) */ - -/**/ {{{0xb72daabf, 0xbf6687ec} }, -/**/ {{0x0f13318f, 0x3c052c69} },}, -/**/ {{{0x3767104f, 0xbf6667d6} }, -/**/ {{0xd27a7bac, 0x3bd3efa3} },}, -/**/ {{{0xd7cd64fb, 0xbf6647bf} }, -/**/ {{0x55a89c36, 0x3c09b725} },}, -/**/ {{{0x9860683b, 0xbf6627a9} }, -/**/ {{0xfebc844a, 0x3bcbae22} },}, -/**/ {{{0x791fd98a, 0xbf660793} }, -/**/ {{0x78fa1cb5, 0xbbfe34af} },}, -/**/ {{{0x7a0b7863, 0xbf65e77d} }, -/**/ {{0xea78fdd0, 0xbc02f1b1} },}, -/**/ {{{0x9b230442, 0xbf65c767} }, -/**/ {{0x2202b2ca, 0x3bf70d8c} },}, -/**/ {{{0xdc663ca2, 0xbf65a751} }, -/**/ {{0xc3444e64, 0xbbfdc63d} },}, -/**/ {{{0x3dd4e102, 0xbf65873c} }, -/**/ {{0x370d69c3, 0x3c021b11} },}, -/**/ {{{0xbf6eb0de, 0xbf656726} }, -/**/ {{0x154dd8d8, 0xbbfb6da8} },}, -/**/ {{{0x61336bb6, 0xbf654711} }, -/**/ {{0xdf9a4709, 0xbc0b12d2} },}, -/**/ {{{0x2322d10a, 0xbf6526fc} }, -/**/ {{0x68d1274f, 0x3bf997f2} },}, -/**/ {{{0x053ca059, 0xbf6506e7} }, -/**/ {{0xe70c852a, 0x3c0c2a1f} },}, -/**/ {{{0x07809924, 0xbf64e6d2} }, -/**/ {{0xa808538f, 0x3c04cc9e} },}, -/**/ {{{0x29ee7aed, 0xbf64c6bd} }, -/**/ {{0x7797a4bd, 0x3befe68c} },}, -/**/ {{{0x6c860537, 0xbf64a6a8} }, -/**/ {{0x9efaae3d, 0x3c06794d} },}, -/**/ {{{0xcf46f784, 0xbf648693} }, -/**/ {{0xb2ddd9d1, 0xbbfed318} },}, -/**/ {{{0x5231115a, 0xbf64667f} }, -/**/ {{0x4643624b, 0x3c061f62} },}, -/**/ {{{0xf544123c, 0xbf64466a} }, -/**/ {{0x9387f11e, 0x3c0666a0} },}, -/**/ {{{0xb87fb9b0, 0xbf642656} }, -/**/ {{0x116ec598, 0x3c0043b2} },}, -/**/ {{{0x9be3c73c, 0xbf640642} }, -/**/ {{0xd2de6e3e, 0xbbfbd84d} },}, -/**/ {{{0x9f6ffa68, 0xbf63e62e} }, -/**/ {{0x433d8c65, 0xbbe9149b} },}, -/**/ {{{0xc32412bb, 0xbf63c61a} }, -/**/ {{0x08e5a7bb, 0xbbf6b88d} },}, -/**/ {{{0x06ffcfbe, 0xbf63a607} }, -/**/ {{0xccfac9e2, 0xbb9f3c7a} },}, -/**/ {{{0x6b02f0fa, 0xbf6385f3} }, -/**/ {{0xbec6f6e4, 0x3bee405c} },}, -/**/ {{{0xef2d35f9, 0xbf6365df} }, -/**/ {{0xaf0c0b4c, 0x3bf02993} },}, -/**/ {{{0x937e5e46, 0xbf6345cc} }, -/**/ {{0xaa64716f, 0x3bf9be97} },}, -/**/ {{{0x57f6296c, 0xbf6325b9} }, -/**/ {{0xa2e863ae, 0xbbfdeb4d} },}, -/**/ {{{0x3c9456f9, 0xbf6305a6} }, -/**/ {{0x636d2b2c, 0x3c0f3c7f} },}, -/**/ {{{0x4158a678, 0xbf62e593} }, -/**/ {{0xb166ca7f, 0x3c01a8df} },}, -/**/ {{{0x6642d778, 0xbf62c580} }, -/**/ {{0x53a2d534, 0x3c020ff1} },}, -/**/ {{{0xab52a987, 0xbf62a56d} }, -/**/ {{0x0412f1e7, 0xbbe8fef1} },}, -/**/ {{{0x1087dc35, 0xbf62855b} }, -/**/ {{0x4b7ac6c6, 0xbbfcd17e} },}, -/**/ {{{0x95e22f12, 0xbf626548} }, -/**/ {{0x9a8127bf, 0xbbfbfc21} },}, -/**/ {{{0x3b6161af, 0xbf624536} }, -/**/ {{0x66d42390, 0x3bd7eda1} },}, -/**/ {{{0x0105339d, 0xbf622524} }, -/**/ {{0x77fedcad, 0xbbdf374e} },}, -/**/ {{{0xe6cd646f, 0xbf620511} }, -/**/ {{0x52d05dea, 0x3be1d1fb} },}, -/**/ {{{0xecb9b3b8, 0xbf61e4ff} }, -/**/ {{0xffd8e706, 0x3c02c2fc} },}, -/**/ {{{0x12c9e10b, 0xbf61c4ee} }, -/**/ {{0xf1d5cc2c, 0xbc02b4f8} },}, -/**/ {{{0x58fdabfe, 0xbf61a4dc} }, -/**/ {{0x1315b191, 0xbc0618c3} },}, -/**/ {{{0xbf54d426, 0xbf6184ca} }, -/**/ {{0xcb3cdab0, 0xbc01f8d5} },}, -/**/ {{{0x45cf1919, 0xbf6164b9} }, -/**/ {{0xc025605a, 0xbc014ff7} },}, -/**/ {{{0xec6c3a6e, 0xbf6144a7} }, -/**/ {{0x87cb08cd, 0xbbff04ff} },}, -/**/ {{{0xb32bf7bd, 0xbf612496} }, -/**/ {{0xe6af1b84, 0x3bee89b4} },}, -/**/ {{{0x9a0e109e, 0xbf610485} }, -/**/ {{0x35a60879, 0x3c07e99e} },}, -/**/ {{{0xa11244aa, 0xbf60e474} }, -/**/ {{0x20f2325a, 0x3c04b698} },}, -/**/ {{{0xc838537b, 0xbf60c463} }, -/**/ {{0x3617200d, 0x3bc0657e} },}, -/**/ {{{0x0f7ffcac, 0xbf60a453} }, -/**/ {{0xa5080961, 0xbc008feb} },}, -/**/ {{{0x76e8ffd9, 0xbf608442} }, -/**/ {{0xbb5e1df7, 0x3bd13002} },}, -/**/ {{{0xfe731c9d, 0xbf606431} }, -/**/ {{0x6e2858c0, 0xbc0509f3} },}, -/**/ {{{0xa61e1296, 0xbf604421} }, -/**/ {{0x5f5d9695, 0xbc04b556} },}, -/**/ {{{0x6de9a162, 0xbf602411} }, -/**/ {{0xe79a4e00, 0x3c042b89} },}, -/**/ {{{0x55d5889e, 0xbf600401} }, -/**/ {{0x1113f403, 0x3be8f98e} },}, -/**/ {{{0xbbc30fd4, 0xbf5fc7e2} }, -/**/ {{0x93382bc9, 0xbbfc709b} },}, -/**/ {{{0x0c1abdcd, 0xbf5f87c3} }, -/**/ {{0x76a55d1c, 0xbbf2a90d} },}, -/**/ {{{0x9cb19a68, 0xbf5f47a3} }, -/**/ {{0x76e7826b, 0x3be1b815} },}, -/**/ {{{0x6d8724e7, 0xbf5f0784} }, -/**/ {{0x2b63756d, 0xbbe72d46} },}, -/**/ {{{0x7e9adc90, 0xbf5ec765} }, -/**/ {{0x73bb17c5, 0x3beb1a66} },}, -/**/ {{{0xcfec40a8, 0xbf5e8746} }, -/**/ {{0xb5e5a553, 0x3bf11af5} },}, -/**/ {{{0x617ad077, 0xbf5e4728} }, -/**/ {{0xf57dd14f, 0x3bfb2cad} },}, -/**/ {{{0x33460b45, 0xbf5e070a} }, -/**/ {{0x4902c8d5, 0xbbf8db75} },}, -/**/ {{{0x454d705f, 0xbf5dc6ec} }, -/**/ {{0xe8a41057, 0x3bef5cc6} },}, -/**/ {{{0x97907f0f, 0xbf5d86ce} }, -/**/ {{0xdf8672ef, 0x3bed8277} },}, -/**/ {{{0x2a0eb6a3, 0xbf5d46b1} }, -/**/ {{0x3717e5ee, 0xbbc2f9c2} },}, -/**/ {{{0xfcc7966b, 0xbf5d0693} }, -/**/ {{0xab4852c6, 0x3bf4deed} },}, -/**/ {{{0x0fba9db6, 0xbf5cc677} }, -/**/ {{0x9db2a368, 0xbbf3a2b4} },}, -/**/ {{{0x62e74bd8, 0xbf5c865a} }, -/**/ {{0x58fa0c24, 0xbbd2c51d} },}, -/**/ {{{0xf64d2024, 0xbf5c463d} }, -/**/ {{0xe3a09391, 0x3bf838ca} },}, -/**/ {{{0xc9eb99ee, 0xbf5c0621} }, -/**/ {{0x61b7de71, 0xbbdc2a9e} },}, -/**/ {{{0xddc2388e, 0xbf5bc605} }, -/**/ {{0x4accb195, 0xbbea9808} },}, -/**/ {{{0x31d07b5c, 0xbf5b85ea} }, -/**/ {{0x032e030b, 0xbbd811a2} },}, -/**/ {{{0xc615e1b1, 0xbf5b45ce} }, -/**/ {{0x821e0b81, 0xbbfd5427} },}, -/**/ {{{0x9a91eaea, 0xbf5b05b3} }, -/**/ {{0x2619306b, 0x3bfffeba} },}, -/**/ {{{0xaf441661, 0xbf5ac598} }, -/**/ {{0x9eac7d15, 0x3bd22824} },}, -/**/ {{{0x042be376, 0xbf5a857e} }, -/**/ {{0x24893f0e, 0x3bc20736} },}, -/**/ {{{0x9948d188, 0xbf5a4563} }, -/**/ {{0x04d734cd, 0xbbf58ab4} },}, -/**/ {{{0x6e9a5ff9, 0xbf5a0549} }, -/**/ {{0x5723a6c3, 0xbbf22673} },}, -/**/ {{{0x84200e2c, 0xbf59c52f} }, -/**/ {{0xa538e8e1, 0x3bfc81da} },}, -/**/ {{{0xd9d95b83, 0xbf598515} }, -/**/ {{0x2a8e3feb, 0xbbfa1a37} },}, -/**/ {{{0x6fc5c767, 0xbf5944fc} }, -/**/ {{0x385159f9, 0x3bf8e1ce} },}, -/**/ {{{0x45e4d13c, 0xbf5904e3} }, -/**/ {{0x1567c7a7, 0xbbfc4737} },}, -/**/ {{{0x5c35f86e, 0xbf58c4ca} }, -/**/ {{0x23c9ae0c, 0x3bf41581} },}, -/**/ {{{0xb2b8bc65, 0xbf5884b1} }, -/**/ {{0x2b66cfb6, 0x3bf70c2c} },}, -/**/ {{{0x496c9c8d, 0xbf584499} }, -/**/ {{0xe5a11e3e, 0xbbdb9042} },}, -/**/ {{{0x20511854, 0xbf580481} }, -/**/ {{0x61bcb040, 0xbbf9cf9d} },}, -/**/ {{{0x3765af29, 0xbf57c469} }, -/**/ {{0xe26a419b, 0xbbf65ceb} },}, -/**/ {{{0x8ea9e07c, 0xbf578451} }, -/**/ {{0xb70a4088, 0xbbf1c2f5} },}, -/**/ {{{0x261d2bbf, 0xbf57443a} }, -/**/ {{0x29704ba7, 0xbbbc7b8f} },}, -/**/ {{{0xfdbf1065, 0xbf570422} }, -/**/ {{0x433ccb3b, 0x3bca0a54} },}, -/**/ {{{0x158f0de3, 0xbf56c40c} }, -/**/ {{0x207cde2d, 0x3bd9e257} },}, -/**/ {{{0x6d8ca3af, 0xbf5683f5} }, -/**/ {{0xf7b51b49, 0xbbef17a4} },}, -/**/ {{{0x05b75142, 0xbf5643df} }, -/**/ {{0x9d345bf8, 0x3be28239} },}, -/**/ {{{0xde0e9614, 0xbf5603c8} }, -/**/ {{0x0918d1bf, 0xbbde6c21} },}, -/**/ {{{0xf691f1a1, 0xbf55c3b2} }, -/**/ {{0x377de4c8, 0x3bd37d78} },}, -/**/ {{{0x4f40e365, 0xbf55839d} }, -/**/ {{0xbbf7c9d1, 0x3bf52b7d} },}, -/**/ {{{0xe81aeadd, 0xbf554387} }, -/**/ {{0x679c3d9a, 0xbbf0be6a} },}, -/**/ {{{0xc11f878a, 0xbf550372} }, -/**/ {{0xb6cdd88e, 0xbbdd9e20} },}, -/**/ {{{0xda4e38ec, 0xbf54c35d} }, -/**/ {{0x09302da0, 0xbbe3b1e7} },}, -/**/ {{{0x33a67e86, 0xbf548349} }, -/**/ {{0x085b922d, 0x3be8cba8} },}, -/**/ {{{0xcd27d7db, 0xbf544334} }, -/**/ {{0xf024ab43, 0xbba5f2c9} },}, -/**/ {{{0xa6d1c471, 0xbf540320} }, -/**/ {{0xf686cf3d, 0xbbeb31f3} },}, -/**/ {{{0xc0a3c3cf, 0xbf53c30c} }, -/**/ {{0xd4ad32f6, 0xbbf74ffe} },}, -/**/ {{{0x1a9d557e, 0xbf5382f9} }, -/**/ {{0x4acb368f, 0x3bd2e555} },}, -/**/ {{{0xb4bdf907, 0xbf5342e5} }, -/**/ {{0x07812806, 0x3be13442} },}, -/**/ {{{0x8f052df6, 0xbf5302d2} }, -/**/ {{0x70b1e756, 0x3bf5f429} },}, -/**/ {{{0xa97273d7, 0xbf52c2bf} }, -/**/ {{0x43a03fff, 0xbbf20aa3} },}, -/**/ {{{0x04054a3a, 0xbf5282ad} }, -/**/ {{0x8bebd7ad, 0xbbed4d57} },}, -/**/ {{{0x9ebd30ae, 0xbf52429a} }, -/**/ {{0x5a71c5a4, 0xbbff9529} },}, -/**/ {{{0x7999a6c6, 0xbf520288} }, -/**/ {{0x54100f9e, 0x3bfb055a} },}, -/**/ {{{0x949a2c12, 0xbf51c276} }, -/**/ {{0xa2e9f1b4, 0xbbff6978} },}, -/**/ {{{0xefbe402a, 0xbf518264} }, -/**/ {{0xbc188323, 0x3bf01fb9} },}, -/**/ {{{0x8b0562a1, 0xbf514253} }, -/**/ {{0x957bf23a, 0xbbf7c87c} },}, -/**/ {{{0x666f1311, 0xbf510242} }, -/**/ {{0xc8be6880, 0x3bdc2cb9} },}, -/**/ {{{0x81fad111, 0xbf50c231} }, -/**/ {{0x07ba000d, 0xbbf59fc1} },}, -/**/ {{{0xdda81c3d, 0xbf508220} }, -/**/ {{0xbf5c8a0b, 0xbbf06a0a} },}, -/**/ {{{0x79767431, 0xbf504210} }, -/**/ {{0xa9a705bc, 0x3bf3a6cf} },}, -/**/ {{{0x55655889, 0xbf500200} }, -/**/ {{0xbf0fa436, 0xbbe9abe6} },}, -/**/ {{{0xe2e891cc, 0xbf4f83e0} }, -/**/ {{0x1b81bf62, 0x3be4aa59} },}, -/**/ {{{0x9b4589ce, 0xbf4f03c1} }, -/**/ {{0x8a47f50a, 0xbbe60518} },}, -/**/ {{{0xd3e0985f, 0xbf4e83a2} }, -/**/ {{0x5ef17e96, 0x3bed32d8} },}, -/**/ {{{0x8cb8bcc3, 0xbf4e0384} }, -/**/ {{0xf09afa4d, 0xbbeb7b30} },}, -/**/ {{{0xc5ccf647, 0xbf4d8366} }, -/**/ {{0xf586cec2, 0xbbd527fc} },}, -/**/ {{{0x7f1c4437, 0xbf4d0349} }, -/**/ {{0x4a686886, 0x3bc2bcf0} },}, -/**/ {{{0xb8a5a5e3, 0xbf4c832c} }, -/**/ {{0x721c2ebe, 0x3bc98f93} },}, -/**/ {{{0x72681a9e, 0xbf4c0310} }, -/**/ {{0xb5308d22, 0xbbe20f00} },}, -/**/ {{{0xac62a1bf, 0xbf4b82f4} }, -/**/ {{0x9737b561, 0xbbe1edd0} },}, -/**/ {{{0x66943a9f, 0xbf4b02d9} }, -/**/ {{0x23f894a1, 0xbbcc950b} },}, -/**/ {{{0xa0fbe49a, 0xbf4a82be} }, -/**/ {{0x866bc982, 0xbb81da04} },}, -/**/ {{{0x5b989f0f, 0xbf4a02a4} }, -/**/ {{0x9d76196e, 0xbbd9114d} },}, -/**/ {{{0x96696961, 0xbf49828a} }, -/**/ {{0xd3292fd6, 0x3bc10d20} },}, -/**/ {{{0x516d42f4, 0xbf490271} }, -/**/ {{0x2e9a5dd5, 0xbbee53a3} },}, -/**/ {{{0x8ca32b32, 0xbf488258} }, -/**/ {{0xd18f8004, 0xbbc55af5} },}, -/**/ {{{0x480a2185, 0xbf480240} }, -/**/ {{0xa9b0178a, 0xbbb32d23} },}, -/**/ {{{0x83a1255c, 0xbf478228} }, -/**/ {{0x8152093a, 0x3be84cc3} },}, -/**/ {{{0x3f673627, 0xbf470211} }, -/**/ {{0xf4881c71, 0xbbd0055a} },}, -/**/ {{{0x7b5b535c, 0xbf4681fa} }, -/**/ {{0xb98336ea, 0x3bd2b73f} },}, -/**/ {{{0x377c7c71, 0xbf4601e4} }, -/**/ {{0x2ed05089, 0xbbcdcbed} },}, -/**/ {{{0x73c9b0e1, 0xbf4581ce} }, -/**/ {{0x61414697, 0xbbdda0c2} },}, -/**/ {{{0x3041f02a, 0xbf4501b9} }, -/**/ {{0x22f8b33c, 0x3bee5d53} },}, -/**/ {{{0x6ce439ca, 0xbf4481a4} }, -/**/ {{0x9c25c999, 0xbbe5512f} },}, -/**/ {{{0x29af8d47, 0xbf440190} }, -/**/ {{0xa4df0dfd, 0x3b7f48c2} },}, -/**/ {{{0x66a2ea26, 0xbf43817c} }, -/**/ {{0x517febd8, 0x3bd157c0} },}, -/**/ {{{0x23bd4ff0, 0xbf430169} }, -/**/ {{0x0176d244, 0xbbe2e229} },}, -/**/ {{{0x60fdbe33, 0xbf428156} }, -/**/ {{0x175812b3, 0x3be64664} },}, -/**/ {{{0x1e63347c, 0xbf420144} }, -/**/ {{0xd9355524, 0xbbe39ab4} },}, -/**/ {{{0x5becb260, 0xbf418132} }, -/**/ {{0xb6e1edc9, 0x3be74b27} },}, -/**/ {{{0x19993772, 0xbf410121} }, -/**/ {{0x393ab56a, 0xbbaa390b} },}, -/**/ {{{0x5767c34c, 0xbf408110} }, -/**/ {{0xf8c7783b, 0x3bd128e6} },}, -/**/ {{{0x15575589, 0xbf400100} }, -/**/ {{0xf23ef222, 0x3bec8863} },}, -/**/ {{{0xa6cddb8d, 0xbf3f01e0} }, -/**/ {{0xcdd29c3f, 0x3b8a9419} },}, -/**/ {{{0x232b174e, 0xbf3e01c2} }, -/**/ {{0xd5f5b191, 0xbbc7cf55} },}, -/**/ {{{0x9fc45d9e, 0xbf3d01a4} }, -/**/ {{0xb5038e7e, 0x3bddc58f} },}, -/**/ {{{0x1c97adca, 0xbf3c0188} }, -/**/ {{0xbb933e41, 0x3bc0238d} },}, -/**/ {{{0x99a30728, 0xbf3b016c} }, -/**/ {{0xc3c43664, 0xbbabde04} },}, -/**/ {{{0x16e46913, 0xbf3a0152} }, -/**/ {{0x5adc3673, 0x3bafe081} },}, -/**/ {{{0x9459d2eb, 0xbf390138} }, -/**/ {{0xc2a33d26, 0xbbd949da} },}, -/**/ {{{0x12014418, 0xbf380120} }, -/**/ {{0xf76e0326, 0xbbd3acbc} },}, -/**/ {{{0x8fd8bc07, 0xbf370108} }, -/**/ {{0x4cd6ce34, 0x3bdbde09} },}, -/**/ {{{0x0dde3a29, 0xbf3600f2} }, -/**/ {{0x05442a35, 0xbbb0bc28} },}, -/**/ {{{0x8c0fbdf9, 0xbf3500dc} }, -/**/ {{0x0908cbf7, 0x3bd21c68} },}, -/**/ {{{0x0a6b46f4, 0xbf3400c8} }, -/**/ {{0x0f107564, 0xbbdbd35e} },}, -/**/ {{{0x88eed4a1, 0xbf3300b4} }, -/**/ {{0x49a3dcb8, 0xbbc22067} },}, -/**/ {{{0x0798668a, 0xbf3200a2} }, -/**/ {{0xe7c5d0e5, 0x3bcdb7f0} },}, -/**/ {{{0x8665fc3f, 0xbf310090} }, -/**/ {{0xc7f9d69c, 0xbbd00add} },}, -/**/ {{{0x05559559, 0xbf300080} }, -/**/ {{0xa0e20e2f, 0x3bddd332} },}, -/**/ {{{0x08ca62e5, 0xbf2e00e1} }, -/**/ {{0x3a04bb77, 0xbbb15ff9} },}, -/**/ {{{0x0725a061, 0xbf2c00c4} }, -/**/ {{0xcc052f3e, 0x3bc88ab0} },}, -/**/ {{{0x05b8e275, 0xbf2a00a9} }, -/**/ {{0xf5f3cbcf, 0xbbcbba1a} },}, -/**/ {{{0x04802882, 0xbf280090} }, -/**/ {{0xa5bd7bd0, 0x3bcec900} },}, -/**/ {{{0x037771ef, 0xbf260079} }, -/**/ {{0x9b7b54fa, 0x3bb77ea0} },}, -/**/ {{{0x029abe33, 0xbf240064} }, -/**/ {{0x3ae68d18, 0xbbc1bbf0} },}, -/**/ {{{0x01e60cd1, 0xbf220051} }, -/**/ {{0x2b45cfcd, 0x3bb1dcd9} },}, -/**/ {{{0x01555d56, 0xbf200040} }, -/**/ {{0x863f53f6, 0x3bcddd88} },}, -/**/ {{{0x01c95eb7, 0xbf1c0062} }, -/**/ {{0xaa4dfd9a, 0x3bbd88f7} },}, -/**/ {{{0x01200510, 0xbf180048} }, -/**/ {{0x4f3db50b, 0xbb984d46} },}, -/**/ {{{0x00a6ad1c, 0xbf140032} }, -/**/ {{0x28ff1135, 0x3bb2e44b} },}, -/**/ {{{0x00555655, 0xbf100020} }, -/**/ {{0xccd5f17f, 0xbbb62224} },}, -/**/ {{{0x004800a2, 0xbf080024} }, -/**/ {{0x8d690542, 0xbb484d09} },}, -/**/ {{{0x00155575, 0xbf000010} }, -/**/ {{0x37779c0a, 0xbba56222} },}, -/**/ {{{0x00055559, 0xbef00008} }, -/**/ {{0x22cccd5f, 0xbb955622} },}, -/**/ {{{0x00000000, 0x00000000} }, -/**/ {{0x00000000, 0x00000000} },}, -/**/ {{{0x000aaaa3, 0x3eeffff0} }, -/**/ {{0xbd110fec, 0xbb8553bb} },}, -/**/ {{{0x002aaa6b, 0x3effffe0} }, -/**/ {{0xe6661d42, 0xbb953bbb} },}, -/**/ {{{0x0047ff5e, 0x3f07ffdc} }, -/**/ {{0x0d69020e, 0x3b484c90} },}, -/**/ {{{0x00aaa8ab, 0x3f0fffc0} }, -/**/ {{0x10fec82c, 0xbba3bbc1} },}, -/**/ {{{0x00a6a83a, 0x3f13ffce} }, -/**/ {{0x81546808, 0xbbb2e45f} },}, -/**/ {{{0x011ffaf0, 0x3f17ffb8} }, -/**/ {{0x4f3d9b6a, 0x3b984c53} },}, -/**/ {{{0x01c94bf5, 0x3f1bff9e} }, -/**/ {{0xdaa368ee, 0xbbbd8990} },}, -/**/ {{{0x02aa9aab, 0x3f1fff80} }, -/**/ {{0x78af0afc, 0x3b910e66} },}, -/**/ {{{0x01e5f330, 0x3f21ffaf} }, -/**/ {{0x26467402, 0xbbb1df8d} },}, -/**/ {{{0x029a9723, 0x3f23ff9c} }, -/**/ {{0x303b23b1, 0x3bc1b965} },}, -/**/ {{{0x037738be, 0x3f25ff87} }, -/**/ {{0x53d3dc06, 0xbbb787a3} },}, -/**/ {{{0x047fd782, 0x3f27ff70} }, -/**/ {{0xa5c0aff0, 0xbbced098} },}, -/**/ {{{0x05b872e4, 0x3f29ff57} }, -/**/ {{0x81c30d42, 0x3bcbadd4} },}, -/**/ {{{0x07250a51, 0x3f2bff3c} }, -/**/ {{0xd6bad8c1, 0xbbc89dd6} },}, -/**/ {{{0x08c99d24, 0x3f2dff1f} }, -/**/ {{0xaede8ad0, 0x3bb12609} },}, -/**/ {{{0x0aaa2ab1, 0x3f2fff00} }, -/**/ {{0x4dc4e3dc, 0x3ba0bbc0} },}, -/**/ {{{0x8665591f, 0x3f30ff6f} }, -/**/ {{0x80357b54, 0xbbd013d3} },}, -/**/ {{{0x07979982, 0x3f31ff5e} }, -/**/ {{0x4817ebcd, 0xbbce0e70} },}, -/**/ {{{0x88edd619, 0x3f32ff4b} }, -/**/ {{0xc582abc3, 0xbbd72b9e} },}, -/**/ {{{0x0a6a0e74, 0x3f33ff38} }, -/**/ {{0xb95bc1fe, 0x3bdb81fc} },}, -/**/ {{{0x8c0e4220, 0x3f34ff23} }, -/**/ {{0x9b549aae, 0x3bcaed12} },}, -/**/ {{{0x0ddc70a1, 0x3f35ff0e} }, -/**/ {{0xd97a3c05, 0x3bacf6f3} },}, -/**/ {{{0x8fd69976, 0x3f36fef7} }, -/**/ {{0x6f810a3c, 0x3bab2dcf} },}, -/**/ {{{0x11febc18, 0x3f37fee0} }, -/**/ {{0xf5d3f323, 0x3bd2b9bc} },}, -/**/ {{{0x9456d7fb, 0x3f38fec7} }, -/**/ {{0x6eaa1d6a, 0xbbbfb258} },}, -/**/ {{{0x16e0ec8b, 0x3f39feae} }, -/**/ {{0xceeb34b1, 0xbbb6137a} },}, -/**/ {{{0x999ef930, 0x3f3afe93} }, -/**/ {{0xdc639b08, 0xbbde70e0} },}, -/**/ {{{0x1c92fd4a, 0x3f3bfe78} }, -/**/ {{0x713cc126, 0xbbc4ed10} },}, -/**/ {{{0x9fbef835, 0x3f3cfe5b} }, -/**/ {{0xcc0e81bd, 0xbb873d63} },}, -/**/ {{{0x2324e946, 0x3f3dfe3e} }, -/**/ {{0x62dd5deb, 0x3bc09164} },}, -/**/ {{{0xa6c6cfcc, 0x3f3efe1f} }, -/**/ {{0x3512d15c, 0x3bdac2da} },}, -/**/ {{{0x2aa6ab11, 0x3f3ffe00} }, -/**/ {{0x62cc632d, 0x3b999e2b} },}, -/**/ {{{0xd7633d2c, 0x3f407eef} }, -/**/ {{0x63ff6024, 0xbbebc98b} },}, -/**/ {{{0x19941e6e, 0x3f40fedf} }, -/**/ {{0xe0aa6338, 0xbbb194c2} },}, -/**/ {{{0xdbe6f8eb, 0x3f417ecd} }, -/**/ {{0x57b0f571, 0x3be4241b} },}, -/**/ {{{0x1e5ccc3c, 0x3f41febc} }, -/**/ {{0x895d3592, 0x3bdc657d} },}, -/**/ {{{0xe0f697f6, 0x3f427ea9} }, -/**/ {{0x1c0ec17c, 0x3be35a5d} },}, -/**/ {{{0x23b55bac, 0x3f42fe97} }, -/**/ {{0x3e538464, 0x3bd6cfb7} },}, -/**/ {{{0xe69a16ed, 0x3f437e83} }, -/**/ {{0x7cef2478, 0x3bee96f7} },}, -/**/ {{{0x29a5c947, 0x3f43fe70} }, -/**/ {{0xbf46e36a, 0xbbd4d578} },}, -/**/ {{{0xecd97242, 0x3f447e5b} }, -/**/ {{0x3ff7dd44, 0xbbc9eb66} },}, -/**/ {{{0x30361165, 0x3f44fe47} }, -/**/ {{0x7e93f2fd, 0x3be400d7} },}, -/**/ {{{0xf3bca635, 0x3f457e31} }, -/**/ {{0xd375017f, 0xbbe0e2a2} },}, -/**/ {{{0x376e3031, 0x3f45fe1c} }, -/**/ {{0x8a5ae7f6, 0xbbd524eb} },}, -/**/ {{{0xfb4baed7, 0x3f467e05} }, -/**/ {{0x4e85c4e9, 0x3be204fb} },}, -/**/ {{{0x3f5621a3, 0x3f46fdef} }, -/**/ {{0x34886d52, 0xbbdf09d7} },}, -/**/ {{{0x038e880b, 0x3f477dd8} }, -/**/ {{0x14e596a3, 0xbbb8900e} },}, -/**/ {{{0x47f5e185, 0x3f47fdc0} }, -/**/ {{0x57d202d3, 0xbbebfa5c} },}, -/**/ {{{0x0c8d2d81, 0x3f487da8} }, -/**/ {{0xd68c0614, 0x3be2f6ae} },}, -/**/ {{{0x51556b70, 0x3f48fd8f} }, -/**/ {{0xe08fd201, 0xbbd0f4f2} },}, -/**/ {{{0x164f9abc, 0x3f497d76} }, -/**/ {{0xa871af60, 0x3b5296b7} },}, -/**/ {{{0x5b7cbace, 0x3f49fd5c} }, -/**/ {{0x9f17d42d, 0x3beb6ed4} },}, -/**/ {{{0x20ddcb0d, 0x3f4a7d42} }, -/**/ {{0x67c30397, 0xbbcb1149} },}, -/**/ {{{0x6673cada, 0x3f4afd27} }, -/**/ {{0x45da594f, 0x3bd32225} },}, -/**/ {{{0x2c3fb996, 0x3f4b7d0c} }, -/**/ {{0x208d4630, 0xbbb68893} },}, -/**/ {{{0x7242969d, 0x3f4bfcf0} }, -/**/ {{0x2b3efe1c, 0x3bc5db4d} },}, -/**/ {{{0x387d6149, 0x3f4c7cd4} }, -/**/ {{0xed57d98a, 0x3be46eff} },}, -/**/ {{{0x7ef118f1, 0x3f4cfcb7} }, -/**/ {{0x06f300fb, 0x3becc554} },}, -/**/ {{{0x459ebce9, 0x3f4d7c9a} }, -/**/ {{0x13638eb6, 0x3be1d251} },}, -/**/ {{{0x8c874c82, 0x3f4dfc7c} }, -/**/ {{0xd57a176f, 0xbbe863e9} },}, -/**/ {{{0x53abc708, 0x3f4e7c5e} }, -/**/ {{0x9528e50d, 0x3be2d95c} },}, -/**/ {{{0x9b0d2bc8, 0x3f4efc3f} }, -/**/ {{0xa5f5b8b7, 0x3bd1e8e8} },}, -/**/ {{{0x62ac7a09, 0x3f4f7c20} }, -/**/ {{0x17802a46, 0x3b5c8123} },}, -/**/ {{{0xaa8ab110, 0x3f4ffc00} }, -/**/ {{0xeb9b6cdb, 0xbbe0fecb} },}, -/**/ {{{0x3954680f, 0x3f503df0} }, -/**/ {{0x1c693678, 0x3bdac89b} },}, -/**/ {{{0xdd83eb3a, 0x3f507ddf} }, -/**/ {{0x0a75ad5f, 0xbbf638f6} },}, -/**/ {{{0x41d461a5, 0x3f50bdcf} }, -/**/ {{0x45f05b10, 0x3bfd4bc9} },}, -/**/ {{{0x66464aef, 0x3f50fdbe} }, -/**/ {{0x6abbf59c, 0xbbbd0554} },}, -/**/ {{{0x4ada26b1, 0x3f513dad} }, -/**/ {{0x6036fe6f, 0x3be38c65} },}, -/**/ {{{0xef907485, 0x3f517d9b} }, -/**/ {{0xf158bbc3, 0x3bfdc8a1} },}, -/**/ {{{0x5469b404, 0x3f51bd8a} }, -/**/ {{0x55632e3f, 0xbbdea231} },}, -/**/ {{{0x796664c3, 0x3f51fd78} }, -/**/ {{0x2edb73c2, 0xbbe00849} },}, -/**/ {{{0x5e870657, 0x3f523d66} }, -/**/ {{0x0789343e, 0x3bfba943} },}, -/**/ {{{0x03cc1855, 0x3f527d54} }, -/**/ {{0xeafafc52, 0x3bc5f644} },}, -/**/ {{{0x69361a4e, 0x3f52bd41} }, -/**/ {{0xa4a6e79f, 0xbbf2f743} },}, -/**/ {{{0x8ec58bd2, 0x3f52fd2e} }, -/**/ {{0x5ceb1abf, 0xbbd4f786} },}, -/**/ {{{0x747aec71, 0x3f533d1b} }, -/**/ {{0x49dc497d, 0xbbf369e3} },}, -/**/ {{{0x1a56bbb8, 0x3f537d08} }, -/**/ {{0x3726b14a, 0xbbfc5e6f} },}, -/**/ {{{0x80597933, 0x3f53bcf4} }, -/**/ {{0x808f75a7, 0xbbfe8b82} },}, -/**/ {{{0xa683a46c, 0x3f53fce0} }, -/**/ {{0x9cd06ae6, 0x3be02719} },}, -/**/ {{{0x8cd5bced, 0x3f543ccc} }, -/**/ {{0x758f80f8, 0x3bf9f98d} },}, -/**/ {{{0x3350423e, 0x3f547cb8} }, -/**/ {{0x48401f45, 0xbbd79c3d} },}, -/**/ {{{0x99f3b3e4, 0x3f54bca3} }, -/**/ {{0x2fba8948, 0xbbf422b8} },}, -/**/ {{{0xc0c09163, 0x3f54fc8e} }, -/**/ {{0xf4044be8, 0x3bf32cc1} },}, -/**/ {{{0xa7b75a40, 0x3f553c79} }, -/**/ {{0xf2249008, 0xbbe72cac} },}, -/**/ {{{0x4ed88dfb, 0x3f557c64} }, -/**/ {{0x459a204f, 0xbbe7183c} },}, -/**/ {{{0xb624ac14, 0x3f55bc4e} }, -/**/ {{0xba26d3d7, 0x3bf8aa64} },}, -/**/ {{{0xdd9c340b, 0x3f55fc38} }, -/**/ {{0x45fa193c, 0x3bdbb2ff} },}, -/**/ {{{0xc53fa55c, 0x3f563c22} }, -/**/ {{0x0484397b, 0x3bd67249} },}, -/**/ {{{0x6d0f7f83, 0x3f567c0c} }, -/**/ {{0xf1e73188, 0xbbd183d7} },}, -/**/ {{{0xd50c41fa, 0x3f56bbf5} }, -/**/ {{0x4ab68187, 0xbbef433d} },}, -/**/ {{{0xfd366c39, 0x3f56fbde} }, -/**/ {{0x66e09e58, 0x3be796b8} },}, -/**/ {{{0xe58e7db8, 0x3f573bc7} }, -/**/ {{0x81e6e7e6, 0x3bf65ec5} },}, -/**/ {{{0x8e14f5ed, 0x3f577bb0} }, -/**/ {{0xa9463a9c, 0xbbdb944d} },}, -/**/ {{{0xf6ca544b, 0x3f57bb98} }, -/**/ {{0xc5eda344, 0xbbc396ec} },}, -/**/ {{{0x1faf1845, 0x3f57fb81} }, -/**/ {{0xbb624f97, 0x3beb9e6d} },}, -/**/ {{{0x08c3c14d, 0x3f583b69} }, -/**/ {{0xe6295bf2, 0xbbe6ee13} },}, -/**/ {{{0xb208ced1, 0x3f587b50} }, -/**/ {{0x6ca19875, 0x3bfcf1a5} },}, -/**/ {{{0x1b7ec041, 0x3f58bb38} }, -/**/ {{0x07b4fc7e, 0x3bf2d181} },}, -/**/ {{{0x45261509, 0x3f58fb1f} }, -/**/ {{0x21bad336, 0x3bc419c5} },}, -/**/ {{{0x2eff4c94, 0x3f593b06} }, -/**/ {{0x700b305b, 0xbbdc2a4c} },}, -/**/ {{{0xd90ae64c, 0x3f597aec} }, -/**/ {{0xa23f359c, 0xbbfc53d3} },}, -/**/ {{{0x43496198, 0x3f59bad3} }, -/**/ {{0xaed6b50f, 0x3bf0c270} },}, -/**/ {{{0x6dbb3de1, 0x3f59fab9} }, -/**/ {{0x7a8be031, 0xbbf11464} },}, -/**/ {{{0x5860fa8a, 0x3f5a3a9f} }, -/**/ {{0x470dbe32, 0x3beae9e7} },}, -/**/ {{{0x033b16f8, 0x3f5a7a85} }, -/**/ {{0xda1f8579, 0x3bfc4721} },}, -/**/ {{{0x6e4a128e, 0x3f5aba6a} }, -/**/ {{0x029258ce, 0xbbf41852} },}, -/**/ {{{0x998e6cab, 0x3f5afa4f} }, -/**/ {{0x2eb18782, 0xbbf28584} },}, -/**/ {{{0x8508a4af, 0x3f5b3a34} }, -/**/ {{0x23241a2c, 0xbbea7970} },}, -/**/ {{{0x30b939f8, 0x3f5b7a19} }, -/**/ {{0x600551b6, 0xbbf1d8db} },}, -/**/ {{{0x9ca0abe2, 0x3f5bb9fd} }, -/**/ {{0x8c26cc71, 0xbbeaa412} },}, -/**/ {{{0xc8bf79c8, 0x3f5bf9e1} }, -/**/ {{0x30427cfc, 0xbbe7f81b} },}, -/**/ {{{0xb5162303, 0x3f5c39c5} }, -/**/ {{0xd1f134e1, 0x3bd9ec5f} },}, -/**/ {{{0x61a526eb, 0x3f5c79a9} }, -/**/ {{0x8980e47d, 0x3bff0cb0} },}, -/**/ {{{0xce6d04d7, 0x3f5cb98c} }, -/**/ {{0xe84ca4e2, 0x3bf35aca} },}, -/**/ {{{0xfb6e3c1b, 0x3f5cf96f} }, -/**/ {{0x1b0bd69f, 0x3bf9b1b8} },}, -/**/ {{{0xe8a94c0b, 0x3f5d3952} }, -/**/ {{0x3ce51832, 0x3be21310} },}, -/**/ {{{0x961eb3f8, 0x3f5d7935} }, -/**/ {{0x840c58ce, 0x3bf90786} },}, -/**/ {{{0x03cef334, 0x3f5db918} }, -/**/ {{0xf2dfb3f4, 0xbbfe0048} },}, -/**/ {{{0x31ba890b, 0x3f5df8fa} }, -/**/ {{0x3e295bec, 0x3bfcf652} },}, -/**/ {{{0x1fe1f4ce, 0x3f5e38dc} }, -/**/ {{0x151c9300, 0xbbfc5ebe} },}, -/**/ {{{0xce45b5c6, 0x3f5e78bd} }, -/**/ {{0x8a25b9c7, 0xbbef2cc4} },}, -/**/ {{{0x3ce64b3e, 0x3f5eb89f} }, -/**/ {{0xa6fea7bd, 0x3bfe6d27} },}, -/**/ {{{0x6bc43481, 0x3f5ef880} }, -/**/ {{0x914a6dab, 0xbbf68037} },}, -/**/ {{{0x5adff0d4, 0x3f5f3861} }, -/**/ {{0xf909e0e6, 0xbbf1d2f3} },}, -/**/ {{{0x0a39ff7e, 0x3f5f7842} }, -/**/ {{0xff1e1f71, 0xbbf64661} },}, -/**/ {{{0x79d2dfc3, 0x3f5fb822} }, -/**/ {{0x5a6f9e9a, 0xbbd76ce8} },}, -/**/ {{{0xa9ab10e6, 0x3f5ff802} }, -/**/ {{0xa153e3b2, 0x3bfe29e3} },}, -/**/ {{{0x4ce18915, 0x3f601bf1} }, -/**/ {{0xa3a73044, 0xbbe57c28} },}, -/**/ {{{0x250db166, 0x3f603be1} }, -/**/ {{0xc1ad9590, 0x3c0fd271} },}, -/**/ {{{0xdd5a4107, 0x3f605bd0} }, -/**/ {{0xc424c676, 0x3bfe4b5d} },}, -/**/ {{{0x75c77796, 0x3f607bc0} }, -/**/ {{0xc0eff1ba, 0xbc068804} },}, -/**/ {{{0xee5594b0, 0x3f609baf} }, -/**/ {{0x51dbded5, 0xbc0ff798} },}, -/**/ {{{0x4704d7f2, 0x3f60bb9f} }, -/**/ {{0x2d5aba70, 0xbbf70ef4} },}, -/**/ {{{0x7fd580f9, 0x3f60db8e} }, -/**/ {{0x7ae804b5, 0xbbeccb65} },}, -/**/ {{{0x98c7cf60, 0x3f60fb7d} }, -/**/ {{0x1775134d, 0x3bfede2f} },}, -/**/ {{{0x91dc02c3, 0x3f611b6c} }, -/**/ {{0x91ca4a67, 0xbc04d41e} },}, -/**/ {{{0x6b125aba, 0x3f613b5b} }, -/**/ {{0x4a12201d, 0x3bfe6d0c} },}, -/**/ {{{0x246b16e0, 0x3f615b4a} }, -/**/ {{0x4d4238d3, 0x3bfe507d} },}, -/**/ {{{0xbde676cd, 0x3f617b38} }, -/**/ {{0x0640462a, 0x3bfe0272} },}, -/**/ {{{0x3784ba19, 0x3f619b27} }, -/**/ {{0x02285659, 0x3bd94ab3} },}, -/**/ {{{0x9146205b, 0x3f61bb15} }, -/**/ {{0x1cc35b7b, 0xbbff1e2e} },}, -/**/ {{{0xcb2ae929, 0x3f61db03} }, -/**/ {{0x12f6bf8d, 0xbc03ee8e} },}, -/**/ {{{0xe5335418, 0x3f61faf1} }, -/**/ {{0x7b7d619b, 0x3c0bae5f} },}, -/**/ {{{0xdf5fa0bf, 0x3f621adf} }, -/**/ {{0xb3b731b0, 0xbbf5546a} },}, -/**/ {{{0xb9b00eb0, 0x3f623acd} }, -/**/ {{0x105fd253, 0xbbafb2b0} },}, -/**/ {{{0x7424dd7f, 0x3f625abb} }, -/**/ {{0xca53444b, 0x3c011647} },}, -/**/ {{{0x0ebe4cbf, 0x3f627aa9} }, -/**/ {{0x592f3be8, 0x3c01678f} },}, -/**/ {{{0x897c9c02, 0x3f629a96} }, -/**/ {{0x4347451d, 0xbbef2b12} },}, -/**/ {{{0xe4600ad8, 0x3f62ba83} }, -/**/ {{0xb2a477bc, 0x3bfb5bb7} },}, -/**/ {{{0x1f68d8d3, 0x3f62da71} }, -/**/ {{0x7a5822e4, 0xbc0590e1} },}, -/**/ {{{0x3a974581, 0x3f62fa5e} }, -/**/ {{0x53123101, 0xbbf0f2e5} },}, -/**/ {{{0x35eb9072, 0x3f631a4b} }, -/**/ {{0x0e3f5fde, 0xbc018db4} },}, -/**/ {{{0x1165f933, 0x3f633a38} }, -/**/ {{0x8d0afb38, 0x3c0921d5} },}, -/**/ {{{0xcd06bf53, 0x3f635a24} }, -/**/ {{0xb5791b80, 0x3c01f6ba} },}, -/**/ {{{0x68ce225e, 0x3f637a11} }, -/**/ {{0xa1894236, 0x3bde2af8} },}, -/**/ {{{0xe4bc61e0, 0x3f6399fd} }, -/**/ {{0xd0f06ff3, 0xbc062a48} },}, -/**/ {{{0x40d1bd63, 0x3f63b9ea} }, -/**/ {{0x4b4f9c11, 0x3bffc80c} },}, -/**/ {{{0x7d0e7473, 0x3f63d9d6} }, -/**/ {{0x6a92c891, 0x3c02219b} },}, -/**/ {{{0x9972c699, 0x3f63f9c2} }, -/**/ {{0x790ade9e, 0x3c0d3590} },}, -/**/ {{{0x95fef35f, 0x3f6419ae} }, -/**/ {{0x792a458c, 0xbc01c279} },}, -/**/ {{{0x72b33a4b, 0x3f64399a} }, -/**/ {{0x327bffae, 0x3c02ce64} },}, -/**/ {{{0x2f8fdae7, 0x3f645986} }, -/**/ {{0xd231155c, 0xbc070aec} },}, -/**/ {{{0xcc9514b7, 0x3f647971} }, -/**/ {{0xe4bbf776, 0x3c0f373d} },}, -/**/ {{{0x49c32744, 0x3f64995d} }, -/**/ {{0xbf22b2a7, 0xbbf6d7e5} },}, -/**/ {{{0xa71a5211, 0x3f64b948} }, -/**/ {{0x64fe2936, 0xbbedec69} },}, -/**/ {{{0xe49ad4a3, 0x3f64d933} }, -/**/ {{0xabee4257, 0x3bf5fc4b} },}, -/**/ {{{0x0244ee7e, 0x3f64f91f} }, -/**/ {{0x3cd1474f, 0x3c0c6fe3} },}, -/**/ {{{0x0018df26, 0x3f65190a} }, -/**/ {{0xd11e7fa5, 0xbc023957} },}, -/**/ {{{0xde16e61b, 0x3f6538f4} }, -/**/ {{0x55380346, 0x3c006c31} },}, -/**/ {{{0x9c3f42e1, 0x3f6558df} }, -/**/ {{0xc4a5134c, 0xbc09b7d4} },}, -/**/ {{{0x3a9234f7, 0x3f6578ca} }, -/**/ {{0x2772c19c, 0xbc0e3f10} },}, -/**/ {{{0xb90ffbdd, 0x3f6598b4} }, -/**/ {{0x5592b468, 0x3be6f110} },}, -/**/ {{{0x17b8d714, 0x3f65b89f} }, -/**/ {{0xb251ace2, 0xbc0a5fea} },}, -/**/ {{{0x568d0619, 0x3f65d889} }, -/**/ {{0x315da285, 0xbc0aacc9} },}, -/**/ {{{0x758cc86a, 0x3f65f873} }, -/**/ {{0xba64d81a, 0xbbeb0782} },}, -/**/ {{{0x74b85d85, 0x3f66185d} }, -/**/ {{0x8e1eb3fa, 0xbc09b459} },}, -/**/ {{{0x541004e5, 0x3f663847} }, -/**/ {{0x1d86e863, 0x3bce9c22} },}, -/**/ {{{0x1393fe07, 0x3f665831} }, -/**/ {{0xcf37ee90, 0xbbfbeb77} },}, -/**/ {{{0xb3448865, 0x3f66781a} }, -/**/ {{0xc252e3c9, 0xbc02dc68} },}, -/**/ {{{0x3321e379, 0x3f669804} }, -/**/ {{0xb40b3741, 0xbbe73a0b} },}, - }; - -#endif -#endif diff --git a/sysdeps/m68k/m680x0/fpu/e_log_data.c b/sysdeps/m68k/m680x0/fpu/e_log_data.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/m68k/m680x0/fpu/e_log_data.c @@ -0,0 +1 @@ +/* Not needed. */ From patchwork Fri Jul 6 09:09:11 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Szabolcs Nagy X-Patchwork-Id: 940350 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=sourceware.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=libc-alpha-return-94059-incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b="fADBc1bl"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=armh.onmicrosoft.com header.i=@armh.onmicrosoft.com header.b="gFwy5XZ3"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41MTSS4Gbhz9s1B for ; Fri, 6 Jul 2018 19:09:28 +1000 (AEST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:cc:subject:to:references:from:message-id:date :mime-version:in-reply-to:content-type; q=dns; s=default; b=cwca v7DZWZs2TW4gKnZ5d8Sb9EVyTUGrXYRfzoGK0QD+TJSvwDJVBSbGJ/KTMLGsbf3d pOT7CiHH+VIzM0ynEQVkDT3f/upB+WzR9OVssQ21zbPpianxpfsCwz/bRJ8pZcp8 wwOaxq1Kebic//sula2fbYpVCxNHBf2e/w33Veo= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:cc:subject:to:references:from:message-id:date :mime-version:in-reply-to:content-type; s=default; bh=mgao/uPYzo gkKR5nSdKQcNdVce4=; b=fADBc1blcjRjo9Wc4lcKaNQpISdNMtiJK8kbfkz/vp j09HLHL8Ns5bVFoZ9EH770siwjXCm3iG5gK3E2NEAL3sqaK3BusQs2n6TF+i/Mw6 xVYcL6W5i9Vducjgq+0Ayak8icTr55f6btS99+HaOuINTlP++60jw8ZbfFZRz5UJ w= Received: (qmail 67321 invoked by alias); 6 Jul 2018 09:09:22 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 67300 invoked by uid 89); 6 Jul 2018 09:09:21 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-25.2 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_ASCII_DIVIDERS, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 spammy=1993 X-HELO: EUR04-VI1-obe.outbound.protection.outlook.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vi12he6VKv96wLWcV6A0qESXOSUViJZWLfMk0lRdCLY=; b=gFwy5XZ3NVfHMRU91wzEe0IhsCBGwrFVUOqqAwjUopNpbJ9GTuMf25ixwFdvJMuFAzyaXqzadxUlbphD7ck3IOrDosThsUndErKP0wT+XbsYlGPEScD7x6DBDOh264i/gn0UjzVSt+TwWsNVzKIG5kenH32N1sQAwo7naI033V0= Cc: nd@arm.com Subject: [PATCH 09/10] Add new log2 implementation To: libc-alpha@sourceware.org References: From: Szabolcs Nagy Message-ID: <22c96a56-2f9f-fbba-e1d7-6071671d4711@arm.com> Date: Fri, 6 Jul 2018 10:09:11 +0100 User-Agent: Mozilla/5.0 (X11; Linux aarch64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Szabolcs.Nagy@arm.com; Received-SPF: None (protection.outlook.com: arm.com does not designate permitted sender hosts) v4: - Remove ifdefs from the code that is not configurable. - Update the NEWS entry. - Document tested targets in the commit message. v3: - Add empty e_log2_data.c to targets that have their own log2. - Fix GNU style issues. - Document internal function semantics. - Fix remaining __FP_FAST_FMA that was missed in v2 - Add NEWS entry. v2: - use __FP_FAST_MATH and __builtin_fma - drop the wordsize-64/ version - add e_log2_data to the Makefile Similar algorithm is used as in log: log2(2^k x) = k + log2(c) + log2(x/c) where the last term is approximated by a polynomial of x/c - 1, the first order coefficient is about 1/ln2 in this case. There is separate code path when fma instruction is not available for computing x/c - 1 precisely, for which the table size is doubled. The worst case error is 0.547 ULP (0.55 without fma), the read only global data size is 1168 bytes (2192 without fma) on aarch64. The non-nearest rounding error is less than 1 ULP. Improvements on Cortex-A72 compared to current glibc master: latency: 2.0x thruput: 1.9x Tested on aarch64-linux-gnu (defined __FP_FAST_FMA) and arm-linux-gnueabihf (!defined __FP_FAST_FMA) and x86_64-linux-gnu (!defined __FP_FAST_FMA) targets. 2018-07-06 Szabolcs Nagy * NEWS: Mention log2 improvements. * math/Makefile (type-double-routines): Add e_log2_data. * sysdeps/i386/fpu/e_log2_data.c: New file. * sysdeps/ia64/fpu/e_log2_data.c: New file. * sysdeps/ieee754/dbl-64/e_log2.c: Rewrite. * sysdeps/ieee754/dbl-64/e_log2_data.c: New file. * sysdeps/ieee754/dbl-64/math_config.h (__log2_data): Add. * sysdeps/ieee754/dbl-64/wordsize-64/e_log2.c: Remove. * sysdeps/m68k/m680x0/fpu/e_log2_data.c: New file. --- NEWS | 2 +- math/Makefile | 2 +- sysdeps/i386/fpu/e_log2_data.c | 1 + sysdeps/ia64/fpu/e_log2_data.c | 1 + sysdeps/ieee754/dbl-64/e_log2.c | 240 ++++++++++++++-------------- sysdeps/ieee754/dbl-64/e_log2_data.c | 194 ++++++++++++++++++++++ sysdeps/ieee754/dbl-64/math_config.h | 15 ++ sysdeps/ieee754/dbl-64/wordsize-64/e_log2.c | 128 --------------- sysdeps/m68k/m680x0/fpu/e_log2_data.c | 1 + 9 files changed, 338 insertions(+), 246 deletions(-) create mode 100644 sysdeps/i386/fpu/e_log2_data.c create mode 100644 sysdeps/ia64/fpu/e_log2_data.c create mode 100644 sysdeps/ieee754/dbl-64/e_log2_data.c delete mode 100644 sysdeps/ieee754/dbl-64/wordsize-64/e_log2.c create mode 100644 sysdeps/m68k/m680x0/fpu/e_log2_data.c diff --git a/NEWS b/NEWS index 21bc23c2ca..44eb1cd8ec 100644 --- a/NEWS +++ b/NEWS @@ -13,7 +13,7 @@ Major new features: transliteration tables are all updated to Unicode 11.0.0, using generator scripts contributed by Mike FABIAN (Red Hat). -* Optimized generic exp, exp2, log, sinf, cosf and sincosf. +* Optimized generic exp, exp2, log, log2, sinf, cosf and sincosf. * functions that round their results to a narrower type are added from TS 18661-1:2014 and TS 18661-3:2015: diff --git a/math/Makefile b/math/Makefile index d546157aa9..4901040200 100644 --- a/math/Makefile +++ b/math/Makefile @@ -127,7 +127,7 @@ type-double-suffix := type-double-routines := branred doasin dosincos mpa mpatan2 \ mpatan mpsqrt mptan sincos32 \ sincostab k_rem_pio2 math_err e_exp_data \ - e_log_data + e_log_data e_log2_data # float support type-float-suffix := f diff --git a/sysdeps/i386/fpu/e_log2_data.c b/sysdeps/i386/fpu/e_log2_data.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/i386/fpu/e_log2_data.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/ia64/fpu/e_log2_data.c b/sysdeps/ia64/fpu/e_log2_data.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/ia64/fpu/e_log2_data.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/ieee754/dbl-64/e_log2.c b/sysdeps/ieee754/dbl-64/e_log2.c index e4a6aff9a3..916eb466f8 100644 --- a/sysdeps/ieee754/dbl-64/e_log2.c +++ b/sysdeps/ieee754/dbl-64/e_log2.c @@ -1,133 +1,141 @@ -/* Adapted for log2 by Ulrich Drepper . */ -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunPro, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ +/* Double-precision log2(x) function. + Copyright (C) 2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. -/* __ieee754_log2(x) - * Return the logarithm to base 2 of x - * - * Method : - * 1. Argument Reduction: find k and f such that - * x = 2^k * (1+f), - * where sqrt(2)/2 < 1+f < sqrt(2) . - * - * 2. Approximation of log(1+f). - * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) - * = 2s + 2/3 s**3 + 2/5 s**5 + ....., - * = 2s + s*R - * We use a special Reme algorithm on [0,0.1716] to generate - * a polynomial of degree 14 to approximate R The maximum error - * of this polynomial approximation is bounded by 2**-58.45. In - * other words, - * 2 4 6 8 10 12 14 - * R(z) ~ Lg1*s +Lg2*s +Lg3*s +Lg4*s +Lg5*s +Lg6*s +Lg7*s - * (the values of Lg1 to Lg7 are listed in the program) - * and - * | 2 14 | -58.45 - * | Lg1*s +...+Lg7*s - R(z) | <= 2 - * | | - * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. - * In order to guarantee error in log below 1ulp, we compute log - * by - * log(1+f) = f - s*(f - R) (if f is not too large) - * log(1+f) = f - (hfsq - s*(hfsq+R)). (better accuracy) - * - * 3. Finally, log(x) = k + log(1+f). - * = k+(f-(hfsq-(s*(hfsq+R)))) - * - * Special cases: - * log2(x) is NaN with signal if x < 0 (including -INF) ; - * log2(+INF) is +INF; log(0) is -INF with signal; - * log2(NaN) is that NaN with no signal. - * - * Constants: - * The hexadecimal values are the intended ones for the following - * constants. The decimal values may be used, provided that the - * compiler will convert from decimal to binary accurately enough - * to produce the hexadecimal values shown. - */ + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for 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 -#include +#include +#include "math_config.h" -static const double ln2 = 0.69314718055994530942; -static const double two54 = 1.80143985094819840000e+16; /* 43500000 00000000 */ -static const double Lg1 = 6.666666666666735130e-01; /* 3FE55555 55555593 */ -static const double Lg2 = 3.999999999940941908e-01; /* 3FD99999 9997FA04 */ -static const double Lg3 = 2.857142874366239149e-01; /* 3FD24924 94229359 */ -static const double Lg4 = 2.222219843214978396e-01; /* 3FCC71C5 1D8E78AF */ -static const double Lg5 = 1.818357216161805012e-01; /* 3FC74664 96CB03DE */ -static const double Lg6 = 1.531383769920937332e-01; /* 3FC39A09 D078C69F */ -static const double Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ +#define T __log2_data.tab +#define T2 __log2_data.tab2 +#define B __log2_data.poly1 +#define A __log2_data.poly +#define InvLn2hi __log2_data.invln2hi +#define InvLn2lo __log2_data.invln2lo +#define N (1 << LOG2_TABLE_BITS) +#define OFF 0x3fe6000000000000 -static const double zero = 0.0; +/* Top 16 bits of a double. */ +static inline uint32_t +top16 (double x) +{ + return asuint64 (x) >> 48; +} double __ieee754_log2 (double x) { - double hfsq, f, s, z, R, w, t1, t2, dk; - int32_t k, hx, i, j; - uint32_t lx; + /* double_t for better performance on targets with FLT_EVAL_METHOD==2. */ + double_t z, r, r2, r4, y, invc, logc, kd, hi, lo, t1, t2, t3, p; + uint64_t ix, iz, tmp; + uint32_t top; + int k, i; - EXTRACT_WORDS (hx, lx, x); + ix = asuint64 (x); + top = top16 (x); - k = 0; - if (hx < 0x00100000) - { /* x < 2**-1022 */ - if (__glibc_unlikely (((hx & 0x7fffffff) | lx) == 0)) - return -two54 / fabs (x); /* log(+-0)=-inf */ - if (__glibc_unlikely (hx < 0)) - return (x - x) / (x - x); /* log(-#) = NaN */ - k -= 54; - x *= two54; /* subnormal number, scale up x */ - GET_HIGH_WORD (hx, x); - } - if (__glibc_unlikely (hx >= 0x7ff00000)) - return x + x; - k += (hx >> 20) - 1023; - hx &= 0x000fffff; - i = (hx + 0x95f64) & 0x100000; - SET_HIGH_WORD (x, hx | (i ^ 0x3ff00000)); /* normalize x or x/2 */ - k += (i >> 20); - dk = (double) k; - f = x - 1.0; - if ((0x000fffff & (2 + hx)) < 3) - { /* |f| < 2**-20 */ - if (f == zero) - { - if (FIX_INT_FP_CONVERT_ZERO && dk == 0.0) - dk = 0.0; - return dk; - } - R = f * f * (0.5 - 0.33333333333333333 * f); - return dk - (R - f) / ln2; - } - s = f / (2.0 + f); - z = s * s; - i = hx - 0x6147a; - w = z * z; - j = 0x6b851 - hx; - t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); - t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); - i |= j; - R = t2 + t1; - if (i > 0) +#define LO asuint64 (1.0 - 0x1.5b51p-5) +#define HI asuint64 (1.0 + 0x1.6ab2p-5) + if (__glibc_unlikely (ix - LO < HI - LO)) { - hfsq = 0.5 * f * f; - return dk - ((hfsq - (s * (hfsq + R))) - f) / ln2; + /* Handle close to 1.0 inputs separately. */ + /* Fix sign of zero with downward rounding when x==1. */ + if (WANT_ROUNDING && __glibc_unlikely (ix == asuint64 (1.0))) + return 0; + r = x - 1.0; +#ifdef __FP_FAST_FMA + hi = r * InvLn2hi; + lo = r * InvLn2lo + __builtin_fma (r, InvLn2hi, -hi); +#else + double_t rhi, rlo; + rhi = asdouble (asuint64 (r) & -1ULL << 32); + rlo = r - rhi; + hi = rhi * InvLn2hi; + lo = rlo * InvLn2hi + r * InvLn2lo; +#endif + r2 = r * r; /* rounding error: 0x1p-62. */ + r4 = r2 * r2; + /* Worst-case error is less than 0.54 ULP (0.55 ULP without fma). */ + p = r2 * (B[0] + r * B[1]); + y = hi + p; + lo += hi - y + p; + lo += r4 * (B[2] + r * B[3] + r2 * (B[4] + r * B[5]) + + r4 * (B[6] + r * B[7] + r2 * (B[8] + r * B[9]))); + y += lo; + return y; } - else + if (__glibc_unlikely (top - 0x0010 >= 0x7ff0 - 0x0010)) { - return dk - ((s * (f - R)) - f) / ln2; + /* x < 0x1p-1022 or inf or nan. */ + if (ix * 2 == 0) + return __math_divzero (1); + if (ix == asuint64 (INFINITY)) /* log(inf) == inf. */ + return x; + if ((top & 0x8000) || (top & 0x7ff0) == 0x7ff0) + return __math_invalid (x); + /* x is subnormal, normalize it. */ + ix = asuint64 (x * 0x1p52); + ix -= 52ULL << 52; } -} + /* x = 2^k z; where z is in range [OFF,2*OFF) and exact. + The range is split into N subintervals. + The ith subinterval contains z and c is near its center. */ + tmp = ix - OFF; + i = (tmp >> (52 - LOG2_TABLE_BITS)) % N; + k = (int64_t) tmp >> 52; /* arithmetic shift */ + iz = ix - (tmp & 0xfffULL << 52); + invc = T[i].invc; + logc = T[i].logc; + z = asdouble (iz); + kd = (double_t) k; + + /* log2(x) = log2(z/c) + log2(c) + k. */ + /* r ~= z/c - 1, |r| < 1/(2*N). */ +#ifdef __FP_FAST_FMA + /* rounding error: 0x1p-55/N. */ + r = __builtin_fma (z, invc, -1.0); + t1 = r * InvLn2hi; + t2 = r * InvLn2lo + __builtin_fma (r, InvLn2hi, -t1); +#else + double_t rhi, rlo; + /* rounding error: 0x1p-55/N + 0x1p-65. */ + r = (z - T2[i].chi - T2[i].clo) * invc; + rhi = asdouble (asuint64 (r) & -1ULL << 32); + rlo = r - rhi; + t1 = rhi * InvLn2hi; + t2 = rlo * InvLn2hi + r * InvLn2lo; +#endif + + /* hi + lo = r/ln2 + log2(c) + k. */ + t3 = kd + logc; + hi = t3 + t1; + lo = t3 - hi + t1 + t2; + + /* log2(r+1) = r/ln2 + r^2*poly(r). */ + /* Evaluation is optimized assuming superscalar pipelined execution. */ + r2 = r * r; /* rounding error: 0x1p-54/N^2. */ + r4 = r2 * r2; + /* Worst-case error if |y| > 0x1p-4: 0.547 ULP (0.550 ULP without fma). + ~ 0.5 + 2/N/ln2 + abs-poly-error*0x1p56 ULP (+ 0.003 ULP without fma). */ + p = A[0] + r * A[1] + r2 * (A[2] + r * A[3]) + r4 * (A[4] + r * A[5]); + y = lo + r2 * p + hi; + return y; +} +#ifndef __ieee754_log2 strong_alias (__ieee754_log2, __log2_finite) +#endif diff --git a/sysdeps/ieee754/dbl-64/e_log2_data.c b/sysdeps/ieee754/dbl-64/e_log2_data.c new file mode 100644 index 0000000000..f3ab6630e6 --- /dev/null +++ b/sysdeps/ieee754/dbl-64/e_log2_data.c @@ -0,0 +1,194 @@ +/* Data for log2. + Copyright (C) 2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for 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 "math_config.h" + +#define N (1 << LOG2_TABLE_BITS) + +const struct log2_data __log2_data = { +// First coefficient: 0x1.71547652b82fe1777d0ffda0d24p0 +.invln2hi = 0x1.7154765200000p+0, +.invln2lo = 0x1.705fc2eefa200p-33, +.poly1 = { +#if LOG2_POLY1_ORDER == 11 +// relative error: 0x1.2fad8188p-63 +// in -0x1.5b51p-5 0x1.6ab2p-5 +-0x1.71547652b82fep-1, +0x1.ec709dc3a03f7p-2, +-0x1.71547652b7c3fp-2, +0x1.2776c50f05be4p-2, +-0x1.ec709dd768fe5p-3, +0x1.a61761ec4e736p-3, +-0x1.7153fbc64a79bp-3, +0x1.484d154f01b4ap-3, +-0x1.289e4a72c383cp-3, +0x1.0b32f285aee66p-3, +#endif +}, +.poly = { +#if N == 64 && LOG2_POLY_ORDER == 7 +// relative error: 0x1.a72c2bf8p-58 +// abs error: 0x1.67a552c8p-66 +// in -0x1.f45p-8 0x1.f45p-8 +-0x1.71547652b8339p-1, +0x1.ec709dc3a04bep-2, +-0x1.7154764702ffbp-2, +0x1.2776c50034c48p-2, +-0x1.ec7b328ea92bcp-3, +0x1.a6225e117f92ep-3, +#endif +}, +.tab = { +#if N == 64 +{0x1.724286bb1acf8p+0, -0x1.1095feecdb000p-1}, +{0x1.6e1f766d2cca1p+0, -0x1.08494bd76d000p-1}, +{0x1.6a13d0e30d48ap+0, -0x1.00143aee8f800p-1}, +{0x1.661ec32d06c85p+0, -0x1.efec5360b4000p-2}, +{0x1.623fa951198f8p+0, -0x1.dfdd91ab7e000p-2}, +{0x1.5e75ba4cf026cp+0, -0x1.cffae0cc79000p-2}, +{0x1.5ac055a214fb8p+0, -0x1.c043811fda000p-2}, +{0x1.571ed0f166e1ep+0, -0x1.b0b67323ae000p-2}, +{0x1.53909590bf835p+0, -0x1.a152f5a2db000p-2}, +{0x1.5014fed61adddp+0, -0x1.9217f5af86000p-2}, +{0x1.4cab88e487bd0p+0, -0x1.8304db0719000p-2}, +{0x1.49539b4334feep+0, -0x1.74189f9a9e000p-2}, +{0x1.460cbdfafd569p+0, -0x1.6552bb5199000p-2}, +{0x1.42d664ee4b953p+0, -0x1.56b23a29b1000p-2}, +{0x1.3fb01111dd8a6p+0, -0x1.483650f5fa000p-2}, +{0x1.3c995b70c5836p+0, -0x1.39de937f6a000p-2}, +{0x1.3991c4ab6fd4ap+0, -0x1.2baa1538d6000p-2}, +{0x1.3698e0ce099b5p+0, -0x1.1d98340ca4000p-2}, +{0x1.33ae48213e7b2p+0, -0x1.0fa853a40e000p-2}, +{0x1.30d191985bdb1p+0, -0x1.01d9c32e73000p-2}, +{0x1.2e025cab271d7p+0, -0x1.e857da2fa6000p-3}, +{0x1.2b404cf13cd82p+0, -0x1.cd3c8633d8000p-3}, +{0x1.288b02c7ccb50p+0, -0x1.b26034c14a000p-3}, +{0x1.25e2263944de5p+0, -0x1.97c1c2f4fe000p-3}, +{0x1.234563d8615b1p+0, -0x1.7d6023f800000p-3}, +{0x1.20b46e33eaf38p+0, -0x1.633a71a05e000p-3}, +{0x1.1e2eefdcda3ddp+0, -0x1.494f5e9570000p-3}, +{0x1.1bb4a580b3930p+0, -0x1.2f9e424e0a000p-3}, +{0x1.19453847f2200p+0, -0x1.162595afdc000p-3}, +{0x1.16e06c0d5d73cp+0, -0x1.f9c9a75bd8000p-4}, +{0x1.1485f47b7e4c2p+0, -0x1.c7b575bf9c000p-4}, +{0x1.12358ad0085d1p+0, -0x1.960c60ff48000p-4}, +{0x1.0fef00f532227p+0, -0x1.64ce247b60000p-4}, +{0x1.0db2077d03a8fp+0, -0x1.33f78b2014000p-4}, +{0x1.0b7e6d65980d9p+0, -0x1.0387d1a42c000p-4}, +{0x1.0953efe7b408dp+0, -0x1.a6f9208b50000p-5}, +{0x1.07325cac53b83p+0, -0x1.47a954f770000p-5}, +{0x1.05197e40d1b5cp+0, -0x1.d23a8c50c0000p-6}, +{0x1.03091c1208ea2p+0, -0x1.16a2629780000p-6}, +{0x1.0101025b37e21p+0, -0x1.720f8d8e80000p-8}, +{0x1.fc07ef9caa76bp-1, 0x1.6fe53b1500000p-7}, +{0x1.f4465d3f6f184p-1, 0x1.11ccce10f8000p-5}, +{0x1.ecc079f84107fp-1, 0x1.c4dfc8c8b8000p-5}, +{0x1.e573a99975ae8p-1, 0x1.3aa321e574000p-4}, +{0x1.de5d6f0bd3de6p-1, 0x1.918a0d08b8000p-4}, +{0x1.d77b681ff38b3p-1, 0x1.e72e9da044000p-4}, +{0x1.d0cb5724de943p-1, 0x1.1dcd2507f6000p-3}, +{0x1.ca4b2dc0e7563p-1, 0x1.476ab03dea000p-3}, +{0x1.c3f8ee8d6cb51p-1, 0x1.7074377e22000p-3}, +{0x1.bdd2b4f020c4cp-1, 0x1.98ede8ba94000p-3}, +{0x1.b7d6c006015cap-1, 0x1.c0db86ad2e000p-3}, +{0x1.b20366e2e338fp-1, 0x1.e840aafcee000p-3}, +{0x1.ac57026295039p-1, 0x1.0790ab4678000p-2}, +{0x1.a6d01bc2731ddp-1, 0x1.1ac056801c000p-2}, +{0x1.a16d3bc3ff18bp-1, 0x1.2db11d4fee000p-2}, +{0x1.9c2d14967feadp-1, 0x1.406464ec58000p-2}, +{0x1.970e4f47c9902p-1, 0x1.52dbe093af000p-2}, +{0x1.920fb3982bcf2p-1, 0x1.651902050d000p-2}, +{0x1.8d30187f759f1p-1, 0x1.771d2cdeaf000p-2}, +{0x1.886e5ebb9f66dp-1, 0x1.88e9c857d9000p-2}, +{0x1.83c97b658b994p-1, 0x1.9a80155e16000p-2}, +{0x1.7f405ffc61022p-1, 0x1.abe186ed3d000p-2}, +{0x1.7ad22181415cap-1, 0x1.bd0f2aea0e000p-2}, +{0x1.767dcf99eff8cp-1, 0x1.ce0a43dbf4000p-2}, +#endif +}, +#ifndef __FP_FAST_FMA +.tab2 = { +# if N == 64 +{0x1.6200012b90a8ep-1, 0x1.904ab0644b605p-55}, +{0x1.66000045734a6p-1, 0x1.1ff9bea62f7a9p-57}, +{0x1.69fffc325f2c5p-1, 0x1.27ecfcb3c90bap-55}, +{0x1.6e00038b95a04p-1, 0x1.8ff8856739326p-55}, +{0x1.71fffe09994e3p-1, 0x1.afd40275f82b1p-55}, +{0x1.7600015590e1p-1, -0x1.2fd75b4238341p-56}, +{0x1.7a00012655bd5p-1, 0x1.808e67c242b76p-56}, +{0x1.7e0003259e9a6p-1, -0x1.208e426f622b7p-57}, +{0x1.81fffedb4b2d2p-1, -0x1.402461ea5c92fp-55}, +{0x1.860002dfafcc3p-1, 0x1.df7f4a2f29a1fp-57}, +{0x1.89ffff78c6b5p-1, -0x1.e0453094995fdp-55}, +{0x1.8e00039671566p-1, -0x1.a04f3bec77b45p-55}, +{0x1.91fffe2bf1745p-1, -0x1.7fa34400e203cp-56}, +{0x1.95fffcc5c9fd1p-1, -0x1.6ff8005a0695dp-56}, +{0x1.9a0003bba4767p-1, 0x1.0f8c4c4ec7e03p-56}, +{0x1.9dfffe7b92da5p-1, 0x1.e7fd9478c4602p-55}, +{0x1.a1fffd72efdafp-1, -0x1.a0c554dcdae7ep-57}, +{0x1.a5fffde04ff95p-1, 0x1.67da98ce9b26bp-55}, +{0x1.a9fffca5e8d2bp-1, -0x1.284c9b54c13dep-55}, +{0x1.adfffddad03eap-1, 0x1.812c8ea602e3cp-58}, +{0x1.b1ffff10d3d4dp-1, -0x1.efaddad27789cp-55}, +{0x1.b5fffce21165ap-1, 0x1.3cb1719c61237p-58}, +{0x1.b9fffd950e674p-1, 0x1.3f7d94194cep-56}, +{0x1.be000139ca8afp-1, 0x1.50ac4215d9bcp-56}, +{0x1.c20005b46df99p-1, 0x1.beea653e9c1c9p-57}, +{0x1.c600040b9f7aep-1, -0x1.c079f274a70d6p-56}, +{0x1.ca0006255fd8ap-1, -0x1.a0b4076e84c1fp-56}, +{0x1.cdfffd94c095dp-1, 0x1.8f933f99ab5d7p-55}, +{0x1.d1ffff975d6cfp-1, -0x1.82c08665fe1bep-58}, +{0x1.d5fffa2561c93p-1, -0x1.b04289bd295f3p-56}, +{0x1.d9fff9d228b0cp-1, 0x1.70251340fa236p-55}, +{0x1.de00065bc7e16p-1, -0x1.5011e16a4d80cp-56}, +{0x1.e200002f64791p-1, 0x1.9802f09ef62ep-55}, +{0x1.e600057d7a6d8p-1, -0x1.e0b75580cf7fap-56}, +{0x1.ea00027edc00cp-1, -0x1.c848309459811p-55}, +{0x1.ee0006cf5cb7cp-1, -0x1.f8027951576f4p-55}, +{0x1.f2000782b7dccp-1, -0x1.f81d97274538fp-55}, +{0x1.f6000260c450ap-1, -0x1.071002727ffdcp-59}, +{0x1.f9fffe88cd533p-1, -0x1.81bdce1fda8bp-58}, +{0x1.fdfffd50f8689p-1, 0x1.7f91acb918e6ep-55}, +{0x1.0200004292367p+0, 0x1.b7ff365324681p-54}, +{0x1.05fffe3e3d668p+0, 0x1.6fa08ddae957bp-55}, +{0x1.0a0000a85a757p+0, -0x1.7e2de80d3fb91p-58}, +{0x1.0e0001a5f3fccp+0, -0x1.1823305c5f014p-54}, +{0x1.11ffff8afbaf5p+0, -0x1.bfabb6680bac2p-55}, +{0x1.15fffe54d91adp+0, -0x1.d7f121737e7efp-54}, +{0x1.1a00011ac36e1p+0, 0x1.c000a0516f5ffp-54}, +{0x1.1e00019c84248p+0, -0x1.082fbe4da5dap-54}, +{0x1.220000ffe5e6ep+0, -0x1.8fdd04c9cfb43p-55}, +{0x1.26000269fd891p+0, 0x1.cfe2a7994d182p-55}, +{0x1.2a00029a6e6dap+0, -0x1.00273715e8bc5p-56}, +{0x1.2dfffe0293e39p+0, 0x1.b7c39dab2a6f9p-54}, +{0x1.31ffff7dcf082p+0, 0x1.df1336edc5254p-56}, +{0x1.35ffff05a8b6p+0, -0x1.e03564ccd31ebp-54}, +{0x1.3a0002e0eaeccp+0, 0x1.5f0e74bd3a477p-56}, +{0x1.3e000043bb236p+0, 0x1.c7dcb149d8833p-54}, +{0x1.4200002d187ffp+0, 0x1.e08afcf2d3d28p-56}, +{0x1.460000d387cb1p+0, 0x1.20837856599a6p-55}, +{0x1.4a00004569f89p+0, -0x1.9fa5c904fbcd2p-55}, +{0x1.4e000043543f3p+0, -0x1.81125ed175329p-56}, +{0x1.51fffcc027f0fp+0, 0x1.883d8847754dcp-54}, +{0x1.55ffffd87b36fp+0, -0x1.709e731d02807p-55}, +{0x1.59ffff21df7bap+0, 0x1.7f79f68727b02p-55}, +{0x1.5dfffebfc3481p+0, -0x1.180902e30e93ep-54}, +# endif +}, +#endif /* __FP_FAST_FMA */ +}; diff --git a/sysdeps/ieee754/dbl-64/math_config.h b/sysdeps/ieee754/dbl-64/math_config.h index 3fb4eae954..4cc9c565d1 100644 --- a/sysdeps/ieee754/dbl-64/math_config.h +++ b/sysdeps/ieee754/dbl-64/math_config.h @@ -148,4 +148,19 @@ extern const struct log_data #endif } __log_data attribute_hidden; +#define LOG2_TABLE_BITS 6 +#define LOG2_POLY_ORDER 7 +#define LOG2_POLY1_ORDER 11 +extern const struct log2_data +{ + double invln2hi; + double invln2lo; + double poly[LOG2_POLY_ORDER - 1]; + double poly1[LOG2_POLY1_ORDER - 1]; + struct {double invc, logc;} tab[1 << LOG2_TABLE_BITS]; +#ifndef __FP_FAST_FMA + struct {double chi, clo;} tab2[1 << LOG2_TABLE_BITS]; +#endif +} __log2_data attribute_hidden; + #endif diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/e_log2.c b/sysdeps/ieee754/dbl-64/wordsize-64/e_log2.c deleted file mode 100644 index f08d5b337d..0000000000 --- a/sysdeps/ieee754/dbl-64/wordsize-64/e_log2.c +++ /dev/null @@ -1,128 +0,0 @@ -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunPro, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - -/* __ieee754_log2(x) - * Return the logarithm to base 2 of x - * - * Method : - * 1. Argument Reduction: find k and f such that - * x = 2^k * (1+f), - * where sqrt(2)/2 < 1+f < sqrt(2) . - * - * 2. Approximation of log(1+f). - * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) - * = 2s + 2/3 s**3 + 2/5 s**5 + ....., - * = 2s + s*R - * We use a special Reme algorithm on [0,0.1716] to generate - * a polynomial of degree 14 to approximate R The maximum error - * of this polynomial approximation is bounded by 2**-58.45. In - * other words, - * 2 4 6 8 10 12 14 - * R(z) ~ Lg1*s +Lg2*s +Lg3*s +Lg4*s +Lg5*s +Lg6*s +Lg7*s - * (the values of Lg1 to Lg7 are listed in the program) - * and - * | 2 14 | -58.45 - * | Lg1*s +...+Lg7*s - R(z) | <= 2 - * | | - * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. - * In order to guarantee error in log below 1ulp, we compute log - * by - * log(1+f) = f - s*(f - R) (if f is not too large) - * log(1+f) = f - (hfsq - s*(hfsq+R)). (better accuracy) - * - * 3. Finally, log(x) = k + log(1+f). - * = k+(f-(hfsq-(s*(hfsq+R)))) - * - * Special cases: - * log2(x) is NaN with signal if x < 0 (including -INF) ; - * log2(+INF) is +INF; log(0) is -INF with signal; - * log2(NaN) is that NaN with no signal. - * - * Constants: - * The hexadecimal values are the intended ones for the following - * constants. The decimal values may be used, provided that the - * compiler will convert from decimal to binary accurately enough - * to produce the hexadecimal values shown. - */ - -#include -#include - -static const double ln2 = 0.69314718055994530942; -static const double two54 = 1.80143985094819840000e+16; /* 4350000000000000 */ -static const double Lg1 = 6.666666666666735130e-01; /* 3FE5555555555593 */ -static const double Lg2 = 3.999999999940941908e-01; /* 3FD999999997FA04 */ -static const double Lg3 = 2.857142874366239149e-01; /* 3FD2492494229359 */ -static const double Lg4 = 2.222219843214978396e-01; /* 3FCC71C51D8E78AF */ -static const double Lg5 = 1.818357216161805012e-01; /* 3FC7466496CB03DE */ -static const double Lg6 = 1.531383769920937332e-01; /* 3FC39A09D078C69F */ -static const double Lg7 = 1.479819860511658591e-01; /* 3FC2F112DF3E5244 */ - -static const double zero = 0.0; - -double -__ieee754_log2 (double x) -{ - double hfsq, f, s, z, R, w, t1, t2, dk; - int64_t hx, i, j; - int32_t k; - - EXTRACT_WORDS64 (hx, x); - - k = 0; - if (hx < INT64_C(0x0010000000000000)) - { /* x < 2**-1022 */ - if (__glibc_unlikely ((hx & UINT64_C(0x7fffffffffffffff)) == 0)) - return -two54 / fabs (x); /* log(+-0)=-inf */ - if (__glibc_unlikely (hx < 0)) - return (x - x) / (x - x); /* log(-#) = NaN */ - k -= 54; - x *= two54; /* subnormal number, scale up x */ - EXTRACT_WORDS64 (hx, x); - } - if (__glibc_unlikely (hx >= UINT64_C(0x7ff0000000000000))) - return x + x; - k += (hx >> 52) - 1023; - hx &= UINT64_C(0x000fffffffffffff); - i = (hx + UINT64_C(0x95f6400000000)) & UINT64_C(0x10000000000000); - /* normalize x or x/2 */ - INSERT_WORDS64 (x, hx | (i ^ UINT64_C(0x3ff0000000000000))); - k += (i >> 52); - dk = (double) k; - f = x - 1.0; - if ((UINT64_C(0x000fffffffffffff) & (2 + hx)) < 3) - { /* |f| < 2**-20 */ - if (f == zero) - return dk; - R = f * f * (0.5 - 0.33333333333333333 * f); - return dk - (R - f) / ln2; - } - s = f / (2.0 + f); - z = s * s; - i = hx - UINT64_C(0x6147a00000000); - w = z * z; - j = UINT64_C(0x6b85100000000) - hx; - t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); - t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); - i |= j; - R = t2 + t1; - if (i > 0) - { - hfsq = 0.5 * f * f; - return dk - ((hfsq - (s * (hfsq + R))) - f) / ln2; - } - else - { - return dk - ((s * (f - R)) - f) / ln2; - } -} - -strong_alias (__ieee754_log2, __log2_finite) diff --git a/sysdeps/m68k/m680x0/fpu/e_log2_data.c b/sysdeps/m68k/m680x0/fpu/e_log2_data.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/m68k/m680x0/fpu/e_log2_data.c @@ -0,0 +1 @@ +/* Not needed. */ From patchwork Fri Jul 6 09:10:27 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Szabolcs Nagy X-Patchwork-Id: 940353 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=sourceware.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=libc-alpha-return-94060-incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b="YQXgQlWa"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=armh.onmicrosoft.com header.i=@armh.onmicrosoft.com header.b="MYGUeHi+"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41MTVY3pT8z9s1B for ; Fri, 6 Jul 2018 19:11:17 +1000 (AEST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:cc:subject:to:references:from:message-id:date :mime-version:in-reply-to:content-type; q=dns; s=default; b=hEsQ kn2EBPMA9IQEoN25jFeJez9Xzi5uddosUpixJlZZT6HRx6r86rs2LN78iYSPDgVj lXvDMukvFJ+zYcbRspu9HBZI04iY+47ikNgemThHU6gD4tYGLOCEIPKcuRt+pYgX ZcUt06JuUJGeRdTVkcnfkfeG0kjMSG0YdesakR0= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:cc:subject:to:references:from:message-id:date :mime-version:in-reply-to:content-type; s=default; bh=quAY5hR2DU AIkZ+BGUDKqQyBwGY=; b=YQXgQlWa5tOkPPZD1maCU5I1bro5FEmfHH1hxo9O78 bl7AeRsOodlt7RR426jwO9MHhcBWrXGA2Z5nRqXEIvyexI/UEOJwTd7tZn4SKTza ZHtWgq7r6DlYrU7mpRwy32uXoAT3N4YlUc0gQbjjc5b7RP/mZc7AdiAAKBik5c22 I= Received: (qmail 122474 invoked by alias); 6 Jul 2018 09:10:51 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 122462 invoked by uid 89); 6 Jul 2018 09:10:49 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-25.0 required=5.0 tests=GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS, TIME_LIMIT_EXCEEDED autolearn=unavailable version=3.3.2 spammy=2900, ux X-HELO: EUR02-HE1-obe.outbound.protection.outlook.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6AydprvwSMhN8BHBLngQ57ePL69os9u5CKMCXgRcw44=; b=MYGUeHi+KY8eF4T6dRGm9DHm3aOt/ek4BYhpV8v1/dslivmVHCBJ2lJ3aqBA+UY0O5OfxBtksDR1RTbPJDJtF9xqt5iKW3uXoGtVRUgxYNCE2ypoYFYKs5LnobSgbq021OtT0WKGGK4ZWWyL+8jhrCTplU+3qrMdKYlM5ZWb8K8= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Szabolcs.Nagy@arm.com; Cc: nd@arm.com Subject: [PATCH 10/10] Add new pow implementation To: libc-alpha@sourceware.org References: From: Szabolcs Nagy Message-ID: <7d7a3622-79d9-a31c-3855-476e90dbeba7@arm.com> Date: Fri, 6 Jul 2018 10:10:27 +0100 User-Agent: Mozilla/5.0 (X11; Linux aarch64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: Received-SPF: None (protection.outlook.com: arm.com does not designate permitted sender hosts) v4: - Fixed a !__FP_FAST_FMA bug: pow(0x1.ffffffffXXXp-1, big) had large ulp error. - Update specialcase documentation. - Fix a GNU style issue. - Remove unused configurations and related code/data. - Update NEWS entry. - Document tested targets in the commit message. v3: - Add empty e_pow_log_data.c to targets that have their own pow. - Fix GNU style issues. - Document internal function semantics. - Add NEWS entry. v2: - use __FP_FAST_FMA and __builtin_fma - update x86_64 makefiles too to allow fma contraction. The algorithm is exp(y * log(x)), where log(x) is computed with about 1.3*2^-68 relative error (1.5*2^-68 without fma), returning the result in two doubles, and the exp part uses the same algorithm (and lookup tables) as exp, but takes the input as two doubles and a sign (to handle negative bases with odd integer exponent). The __exp1 internal symbol is no longer necessary. There is separate code path when fma is not available but the worst case error is about 0.54 ULP in both cases. The lookup table and consts for log are 4168 bytes. The .rodata+.text is decreased by 37908 bytes on aarch64. The non-nearest rounding error is less than 1 ULP. Improvements on Cortex-A72 compared to current glibc master: latency: 1.8x thruput: 2.5x Tested on aarch64-linux-gnu (defined __FP_FAST_FMA, TOINT_INTRINSICS) and arm-linux-gnueabihf (!defined __FP_FAST_FMA, !TOINT_INTRINSICS) and x86_64-linux-gnu (!defined __FP_FAST_FMA, !TOINT_INTRINSICS) targets. 2018-07-06 Szabolcs Nagy * NEWS: Mention pow improvements. * math/Makefile (type-double-routines): Add e_pow_log_data. * sysdeps/generic/math_private.h (__exp1): Remove. * sysdeps/i386/fpu/e_pow_log_data.c: New file. * sysdeps/ia64/fpu/e_pow_log_data.c: New file. * sysdeps/ieee754/dbl-64/Makefile (CFLAGS-e_pow.c): Allow fma contraction. * sysdeps/ieee754/dbl-64/e_exp.c (__exp1): Remove. (exp_inline): Remove. (__ieee754_exp): Only single double input is handled. * sysdeps/ieee754/dbl-64/e_pow.c: Rewrite. * sysdeps/ieee754/dbl-64/e_pow_log_data.c: New file. * sysdeps/ieee754/dbl-64/math_config.h (issignaling_inline): Define. (__pow_log_data): Define. * sysdeps/ieee754/dbl-64/upow.h: Remove. * sysdeps/ieee754/dbl-64/upow.tbl: Remove. * sysdeps/m68k/m680x0/fpu/e_pow_log_data.c: New file. * sysdeps/x86_64/fpu/multiarch/Makefile (CFLAGS-e_pow-fma.c): Allow fma contraction. (CFLAGS-e_pow-fma4.c): Likewise --- NEWS | 2 +- math/Makefile | 2 +- sysdeps/generic/math_private.h | 1 - sysdeps/i386/fpu/e_pow_log_data.c | 1 + sysdeps/ia64/fpu/e_pow_log_data.c | 1 + sysdeps/ieee754/dbl-64/Makefile | 1 - sysdeps/ieee754/dbl-64/e_exp.c | 34 +- sysdeps/ieee754/dbl-64/e_pow.c | 656 +- sysdeps/ieee754/dbl-64/e_pow_log_data.c | 173 + sysdeps/ieee754/dbl-64/math_config.h | 21 + sysdeps/ieee754/dbl-64/upow.h | 76 - sysdeps/ieee754/dbl-64/upow.tbl | 10188 ----------------------------- sysdeps/m68k/m680x0/fpu/e_pow_log_data.c | 1 + sysdeps/x86_64/fpu/multiarch/Makefile | 4 +- 14 files changed, 547 insertions(+), 10614 deletions(-) create mode 100644 sysdeps/i386/fpu/e_pow_log_data.c create mode 100644 sysdeps/ia64/fpu/e_pow_log_data.c create mode 100644 sysdeps/ieee754/dbl-64/e_pow_log_data.c delete mode 100644 sysdeps/ieee754/dbl-64/upow.h delete mode 100644 sysdeps/ieee754/dbl-64/upow.tbl create mode 100644 sysdeps/m68k/m680x0/fpu/e_pow_log_data.c diff --git a/NEWS b/NEWS index 44eb1cd8ec..f9f50a8d06 100644 --- a/NEWS +++ b/NEWS @@ -13,7 +13,7 @@ Major new features: transliteration tables are all updated to Unicode 11.0.0, using generator scripts contributed by Mike FABIAN (Red Hat). -* Optimized generic exp, exp2, log, log2, sinf, cosf and sincosf. +* Optimized generic exp, exp2, log, log2, pow, sinf, cosf and sincosf. * functions that round their results to a narrower type are added from TS 18661-1:2014 and TS 18661-3:2015: diff --git a/math/Makefile b/math/Makefile index 4901040200..ba32939cc4 100644 --- a/math/Makefile +++ b/math/Makefile @@ -127,7 +127,7 @@ type-double-suffix := type-double-routines := branred doasin dosincos mpa mpatan2 \ mpatan mpsqrt mptan sincos32 \ sincostab k_rem_pio2 math_err e_exp_data \ - e_log_data e_log2_data + e_log_data e_log2_data e_pow_log_data # float support type-float-suffix := f diff --git a/sysdeps/generic/math_private.h b/sysdeps/generic/math_private.h index 1212abaf47..5f9a2cb3a0 100644 --- a/sysdeps/generic/math_private.h +++ b/sysdeps/generic/math_private.h @@ -249,7 +249,6 @@ fabsf128 (_Float128 x) /* Prototypes for functions of the IBM Accurate Mathematical Library. */ -extern double __exp1 (double __x, double __xx); extern double __sin (double __x); extern double __cos (double __x); extern int __branred (double __x, double *__a, double *__aa); diff --git a/sysdeps/i386/fpu/e_pow_log_data.c b/sysdeps/i386/fpu/e_pow_log_data.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/i386/fpu/e_pow_log_data.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/ia64/fpu/e_pow_log_data.c b/sysdeps/ia64/fpu/e_pow_log_data.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/ia64/fpu/e_pow_log_data.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/ieee754/dbl-64/Makefile b/sysdeps/ieee754/dbl-64/Makefile index c965982fa5..78530b5966 100644 --- a/sysdeps/ieee754/dbl-64/Makefile +++ b/sysdeps/ieee754/dbl-64/Makefile @@ -2,5 +2,4 @@ ifeq ($(subdir),math) # branred depends on precise IEEE double rounding CFLAGS-branred.c += $(config-cflags-nofma) CFLAGS-e_sqrt.c += $(config-cflags-nofma) -CFLAGS-e_pow.c += $(config-cflags-nofma) endif diff --git a/sysdeps/ieee754/dbl-64/e_exp.c b/sysdeps/ieee754/dbl-64/e_exp.c index a22c818b64..37fdafcfa0 100644 --- a/sysdeps/ieee754/dbl-64/e_exp.c +++ b/sysdeps/ieee754/dbl-64/e_exp.c @@ -85,10 +85,13 @@ top12 (double x) return asuint64 (x) >> 52; } -/* Computes exp(x+xtail) where |xtail| < 2^-8/N and |xtail| <= |x|. - If hastail is 0 then xtail is assumed to be 0 too. */ -static inline double -exp_inline (double x, double xtail, int hastail) +#ifndef SECTION +# define SECTION +#endif + +double +SECTION +__ieee754_exp (double x) { uint32_t abstop; uint64_t ki, idx, top, sbits; @@ -131,9 +134,6 @@ exp_inline (double x, double xtail, int hastail) kd -= Shift; #endif r = x + kd * NegLn2hiN + kd * NegLn2loN; - /* The code assumes 2^-200 < |xtail| < 2^-8/N. */ - if (hastail) - r += xtail; /* 2^(k/N) ~= scale * (1 + tail). */ idx = 2 * (ki % N); top = ki << (52 - EXP_TABLE_BITS); @@ -149,28 +149,10 @@ exp_inline (double x, double xtail, int hastail) if (__glibc_unlikely (abstop == 0)) return specialcase (tmp, sbits, ki); scale = asdouble (sbits); - /* Note: tmp == 0 or |tmp| > 2^-200 and scale > 2^-739, so there + /* Note: tmp == 0 or |tmp| > 2^-65 and scale > 2^-739, so there is no spurious underflow here even without fma. */ return scale + scale * tmp; } - -#ifndef SECTION -# define SECTION -#endif - -double -SECTION -__ieee754_exp (double x) -{ - return exp_inline (x, 0, 0); -} #ifndef __ieee754_exp strong_alias (__ieee754_exp, __exp_finite) #endif - -double -SECTION -__exp1 (double x, double xx) -{ - return exp_inline (x, xx, 1); -} diff --git a/sysdeps/ieee754/dbl-64/e_pow.c b/sysdeps/ieee754/dbl-64/e_pow.c index 060a8f0559..4acaf814db 100644 --- a/sysdeps/ieee754/dbl-64/e_pow.c +++ b/sysdeps/ieee754/dbl-64/e_pow.c @@ -1,359 +1,379 @@ -/* - * IBM Accurate Mathematical Library - * written by International Business Machines Corp. - * Copyright (C) 2001-2018 Free Software Foundation, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation; either version 2.1 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, see . - */ -/***************************************************************************/ -/* MODULE_NAME: upow.c */ -/* */ -/* FUNCTIONS: upow */ -/* log1 */ -/* checkint */ -/* FILES NEEDED: dla.h endian.h mpa.h mydefs.h */ -/* root.tbl uexp.tbl upow.tbl */ -/* An ultimate power routine. Given two IEEE double machine numbers y,x */ -/* it computes the correctly rounded (to nearest) value of x^y. */ -/* Assumption: Machine arithmetic operations are performed in */ -/* round to nearest mode of IEEE 754 standard. */ -/* */ -/***************************************************************************/ +/* Double-precision x^y function. + Copyright (C) 2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for 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 "endian.h" -#include "upow.h" -#include -#include "mydefs.h" -#include "MathLib.h" -#include "upow.tbl" -#include -#include -#include +#include +#include +#include +#include "math_config.h" -#ifndef SECTION -# define SECTION -#endif +/* +Worst-case error: 0.54 ULP (~= ulperr_exp + 1024*Ln2*relerr_log*2^53) +relerr_log: 1.3 * 2^-68 (Relative error of log, 1.5 * 2^-68 without fma) +ulperr_exp: 0.509 ULP (ULP error of exp, 0.511 ULP without fma) +*/ -static const double huge = 1.0e300, tiny = 1.0e-300; +#define T __pow_log_data.tab +#define A __pow_log_data.poly +#define Ln2hi __pow_log_data.ln2hi +#define Ln2lo __pow_log_data.ln2lo +#define N (1 << POW_LOG_TABLE_BITS) +#define OFF 0x3fe6955500000000 -double __exp1 (double x, double xx); -static double log1 (double x, double *delta); -static int checkint (double x); +/* Top 12 bits of a double (sign and exponent bits). */ +static inline uint32_t +top12 (double x) +{ + return asuint64 (x) >> 52; +} -/* An ultimate power routine. Given two IEEE double machine numbers y, x it - computes the correctly rounded (to nearest) value of X^y. */ -double -SECTION -__ieee754_pow (double x, double y) +/* Compute y+tail = log(x) where the rounded result is y and tail has about + additional 15 bits precision. The bit representation of x if in ix, but + normalized in the subnormal range using sign bit too for the exponent. */ +static inline double_t +log_inline (uint64_t ix, double_t *tail) { - double z, a, aa, t, a1, a2, y1, y2; - mynumber u, v; - int k; - int4 qx, qy; - v.x = y; - u.x = x; - if (v.i[LOW_HALF] == 0) - { /* of y */ - qx = u.i[HIGH_HALF] & 0x7fffffff; - /* Is x a NaN? */ - if ((((qx == 0x7ff00000) && (u.i[LOW_HALF] != 0)) || (qx > 0x7ff00000)) - && (y != 0 || issignaling (x))) - return x + x; - if (y == 1.0) - return x; - if (y == 2.0) - return x * x; - if (y == -1.0) - return 1.0 / x; - if (y == 0) - return 1.0; - } - /* else */ - if (((u.i[HIGH_HALF] > 0 && u.i[HIGH_HALF] < 0x7ff00000) || /* x>0 and not x->0 */ - (u.i[HIGH_HALF] == 0 && u.i[LOW_HALF] != 0)) && - /* 2^-1023< x<= 2^-1023 * 0x1.0000ffffffff */ - (v.i[HIGH_HALF] & 0x7fffffff) < 0x4ff00000) - { /* if y<-1 or y>1 */ - double retval; + /* double_t for better performance on targets with FLT_EVAL_METHOD==2. */ + double_t z, r, y, invc, logc, logctail, kd, hi, t1, t2, lo, lo1, lo2, p; + uint64_t iz, tmp; + int k, i; - { - SET_RESTORE_ROUND (FE_TONEAREST); + /* x = 2^k z; where z is in range [OFF,2*OFF) and exact. + The range is split into N subintervals. + The ith subinterval contains z and c is near its center. */ + tmp = ix - OFF; + i = (tmp >> (52 - POW_LOG_TABLE_BITS)) % N; + k = (int64_t) tmp >> 52; /* arithmetic shift */ + iz = ix - (tmp & 0xfffULL << 52); + z = asdouble (iz); + kd = (double_t) k; - /* Avoid internal underflow for tiny y. The exact value of y does - not matter if |y| <= 2**-64. */ - if (fabs (y) < 0x1p-64) - y = y < 0 ? -0x1p-64 : 0x1p-64; - z = log1 (x, &aa); /* x^y =e^(y log (X)) */ - t = y * CN; - y1 = t - (t - y); - y2 = y - y1; - t = z * CN; - a1 = t - (t - z); - a2 = (z - a1) + aa; - a = y1 * a1; - aa = y2 * a1 + y * a2; - a1 = a + aa; - a2 = (a - a1) + aa; + /* log(x) = k*Ln2 + log(c) + log1p(z/c-1). */ + invc = T[i].invc; + logc = T[i].logc; + logctail = T[i].logctail; - /* Maximum relative error RElog of log1 is 1.0e-21 (69.7 bits). - Maximum relative error REexp of __exp1 is 1.0e-18 (59.8 bits). - We actually compute exp ((1 + RElog) * log (x) * y) * (1 + REexp). - Since RElog/REexp are tiny and log (x) * y is at most log (DBL_MAX), - this is equivalent to pow (x, y) * (1 + 710 * RElog + REexp). - So the relative error is 710 * 1.0e-21 + 1.0e-18 = 1.7e-18 - (59 bits). The worst-case ULP error is 0.515. */ + /* Note: 1/c is j/N or j/N/2 where j is an integer in [N,2N) and + |z/c - 1| < 1/N, so r = z/c - 1 is exactly representible. */ +#ifdef __FP_FAST_FMA + r = __builtin_fma (z, invc, -1.0); +#else + /* Split z such that rhi, rlo and rhi*rhi are exact and |rlo| <= |r|. */ + double_t zhi = asdouble ((iz + (1ULL << 31)) & (-1ULL << 32)); + double_t zlo = z - zhi; + double_t rhi = zhi * invc - 1.0; + double_t rlo = zlo * invc; + r = rhi + rlo; +#endif - retval = __exp1 (a1, a2); - } + /* k*Ln2 + log(c) + r. */ + t1 = kd * Ln2hi + logc; + t2 = t1 + r; + lo1 = kd * Ln2lo + logctail; + lo2 = t1 - t2 + r; - if (isinf (retval)) - retval = huge * huge; - else if (retval == 0) - retval = tiny * tiny; - else - math_check_force_underflow_nonneg (retval); - return retval; - } + /* Evaluation is optimized assuming superscalar pipelined execution. */ + double_t ar, ar2, ar3, lo3, lo4; + ar = A[0] * r; /* A[0] = -0.5. */ + ar2 = r * ar; + ar3 = r * ar2; + /* k*Ln2 + log(c) + r + A[0]*r*r. */ +#ifdef __FP_FAST_FMA + hi = t2 + ar2; + lo3 = __builtin_fma (ar, r, -ar2); + lo4 = t2 - hi + ar2; +#else + double_t arhi = A[0] * rhi; + double_t arhi2 = rhi * arhi; + hi = t2 + arhi2; + lo3 = rlo * (ar + arhi); + lo4 = t2 - hi + arhi2; +#endif + /* p = log1p(r) - r - A[0]*r*r. */ + p = (ar3 + * (A[1] + r * A[2] + ar2 * (A[3] + r * A[4] + ar2 * (A[5] + r * A[6])))); + lo = lo1 + lo2 + lo3 + lo4 + p; + y = hi + lo; + *tail = hi - y + lo; + return y; +} + +#undef N +#undef T +#define N (1 << EXP_TABLE_BITS) +#define InvLn2N __exp_data.invln2N +#define NegLn2hiN __exp_data.negln2hiN +#define NegLn2loN __exp_data.negln2loN +#define Shift __exp_data.shift +#define T __exp_data.tab +#define C2 __exp_data.poly[5 - EXP_POLY_ORDER] +#define C3 __exp_data.poly[6 - EXP_POLY_ORDER] +#define C4 __exp_data.poly[7 - EXP_POLY_ORDER] +#define C5 __exp_data.poly[8 - EXP_POLY_ORDER] +#define C6 __exp_data.poly[9 - EXP_POLY_ORDER] - if (x == 0) +/* Handle cases that may overflow or underflow when computing the result that + is scale*(1+TMP) without intermediate rounding. The bit representation of + scale is in SBITS, however it has a computed exponent that may have + overflown into the sign bit so that needs to be adjusted before using it as + a double. (int32_t)KI is the k used in the argument reduction and exponent + adjustment of scale, positive k here means the result may overflow and + negative k means the result may underflow. */ +static inline double +specialcase (double_t tmp, uint64_t sbits, uint64_t ki) +{ + double_t scale, y; + + if ((ki & 0x80000000) == 0) + { + /* k > 0, the exponent of scale might have overflowed by <= 460. */ + sbits -= 1009ull << 52; + scale = asdouble (sbits); + y = 0x1p1009 * (scale + scale * tmp); + return check_oflow (y); + } + /* k < 0, need special care in the subnormal range. */ + sbits += 1022ull << 52; + /* Note: sbits is signed scale. */ + scale = asdouble (sbits); + y = scale + scale * tmp; + if (fabs (y) < 1.0) { - if (((v.i[HIGH_HALF] & 0x7fffffff) == 0x7ff00000 && v.i[LOW_HALF] != 0) - || (v.i[HIGH_HALF] & 0x7fffffff) > 0x7ff00000) /* NaN */ - return y + y; - if (fabs (y) > 1.0e20) - return (y > 0) ? 0 : 1.0 / 0.0; - k = checkint (y); - if (k == -1) - return y < 0 ? 1.0 / x : x; - else - return y < 0 ? 1.0 / 0.0 : 0.0; /* return 0 */ + /* Round y to the right precision before scaling it into the subnormal + range to avoid double rounding that can cause 0.5+E/2 ulp error where + E is the worst-case ulp error outside the subnormal range. So this + is only useful if the goal is better than 1 ulp worst-case error. */ + double_t hi, lo, one = 1.0; + if (y < 0.0) + one = -1.0; + lo = scale - y + scale * tmp; + hi = one + y; + lo = one - hi + y + lo; + y = math_narrow_eval (hi + lo) - one; + /* Fix the sign of 0. */ + if (y == 0.0) + y = asdouble (sbits & 0x8000000000000000); + /* The underflow exception needs to be signaled explicitly. */ + math_force_eval (math_opt_barrier (0x1p-1022) * 0x1p-1022); } + y = 0x1p-1022 * y; + return check_uflow (y); +} - qx = u.i[HIGH_HALF] & 0x7fffffff; /* no sign */ - qy = v.i[HIGH_HALF] & 0x7fffffff; /* no sign */ +#define SIGN_BIAS (0x800 << EXP_TABLE_BITS) - if (qx >= 0x7ff00000 && (qx > 0x7ff00000 || u.i[LOW_HALF] != 0)) /* NaN */ - return x + y; - if (qy >= 0x7ff00000 && (qy > 0x7ff00000 || v.i[LOW_HALF] != 0)) /* NaN */ - return x == 1.0 && !issignaling (y) ? 1.0 : y + y; +/* Computes sign*exp(x+xtail) where |xtail| < 2^-8/N and |xtail| <= |x|. + The sign_bias argument is SIGN_BIAS or 0 and sets the sign to -1 or 1. */ +static inline double +exp_inline (double x, double xtail, uint32_t sign_bias) +{ + uint32_t abstop; + uint64_t ki, idx, top, sbits; + /* double_t for better performance on targets with FLT_EVAL_METHOD==2. */ + double_t kd, z, r, r2, scale, tail, tmp; - /* if x<0 */ - if (u.i[HIGH_HALF] < 0) + abstop = top12 (x) & 0x7ff; + if (__glibc_unlikely (abstop - top12 (0x1p-54) + >= top12 (512.0) - top12 (0x1p-54))) { - k = checkint (y); - if (k == 0) + if (abstop - top12 (0x1p-54) >= 0x80000000) { - if (qy == 0x7ff00000) - { - if (x == -1.0) - return 1.0; - else if (x > -1.0) - return v.i[HIGH_HALF] < 0 ? INF.x : 0.0; - else - return v.i[HIGH_HALF] < 0 ? 0.0 : INF.x; - } - else if (qx == 0x7ff00000) - return y < 0 ? 0.0 : INF.x; - return (x - x) / (x - x); /* y not integer and x<0 */ + /* Avoid spurious underflow for tiny x. */ + /* Note: 0 is common input. */ + double_t one = WANT_ROUNDING ? 1.0 + x : 1.0; + return sign_bias ? -one : one; } - else if (qx == 0x7ff00000) + if (abstop >= top12 (1024.0)) { - if (k < 0) - return y < 0 ? nZERO.x : nINF.x; + /* Note: inf and nan are already handled. */ + if (asuint64 (x) >> 63) + return __math_uflow (sign_bias); else - return y < 0 ? 0.0 : INF.x; - } - /* if y even or odd */ - if (k == 1) - return __ieee754_pow (-x, y); - else - { - double retval; - { - SET_RESTORE_ROUND (FE_TONEAREST); - retval = -__ieee754_pow (-x, y); - } - if (isinf (retval)) - retval = -huge * huge; - else if (retval == 0) - retval = -tiny * tiny; - return retval; + return __math_oflow (sign_bias); } + /* Large x is special cased below. */ + abstop = 0; } - /* x>0 */ - if (qx == 0x7ff00000) /* x= 2^-0x3ff */ - return y > 0 ? x : 0; + /* exp(x) = 2^(k/N) * exp(r), with exp(r) in [2^(-1/2N),2^(1/2N)]. */ + /* x = ln2/N*k + r, with int k and r in [-ln2/2N, ln2/2N]. */ + z = InvLn2N * x; +#if TOINT_INTRINSICS + /* z - kd is in [-0.5, 0.5] in all rounding modes. */ + kd = roundtoint (z); + ki = converttoint (z); +#else + /* z - kd is in [-1, 1] in non-nearest rounding modes. */ + kd = math_narrow_eval (z + Shift); + ki = asuint64 (kd); + kd -= Shift; +#endif + r = x + kd * NegLn2hiN + kd * NegLn2loN; + /* The code assumes 2^-200 < |xtail| < 2^-8/N. */ + r += xtail; + /* 2^(k/N) ~= scale * (1 + tail). */ + idx = 2 * (ki % N); + top = (ki + sign_bias) << (52 - EXP_TABLE_BITS); + tail = asdouble (T[idx]); + /* This is only a valid scale when -1023*N < k < 1024*N. */ + sbits = T[idx + 1] + top; + /* exp(x) = 2^(k/N) * exp(r) ~= scale + scale * (tail + exp(r) - 1). */ + /* Evaluation is optimized assuming superscalar pipelined execution. */ + r2 = r * r; + /* Without fma the worst case error is 0.25/N ulp larger. */ + /* Worst case error is less than 0.5+1.11/N+(abs poly error * 2^53) ulp. */ + tmp = tail + r + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5); + if (__glibc_unlikely (abstop == 0)) + return specialcase (tmp, sbits, ki); + scale = asdouble (sbits); + /* Note: tmp == 0 or |tmp| > 2^-200 and scale > 2^-739, so there + is no spurious underflow here even without fma. */ + return scale + scale * tmp; +} - if (qy > 0x45f00000 && qy < 0x7ff00000) - { - if (x == 1.0) - return 1.0; - if (y > 0) - return (x > 1.0) ? huge * huge : tiny * tiny; - if (y < 0) - return (x < 1.0) ? huge * huge : tiny * tiny; - } +/* Returns 0 if not int, 1 if odd int, 2 if even int. */ +static inline int +checkint (uint64_t iy) +{ + int e = iy >> 52 & 0x7ff; + if (e < 0x3ff) + return 0; + if (e > 0x3ff + 52) + return 2; + if (iy & ((1ULL << (0x3ff + 52 - e)) - 1)) + return 0; + if (iy & (1ULL << (0x3ff + 52 - e))) + return 1; + return 2; +} - if (x == 1.0) - return 1.0; - if (y > 0) - return (x > 1.0) ? INF.x : 0; - if (y < 0) - return (x < 1.0) ? INF.x : 0; - return 0; /* unreachable, to make the compiler happy */ +/* Returns 1 if input is the bit representation of 0, infinity or nan. */ +static inline int +zeroinfnan (uint64_t i) +{ + return 2 * i - 1 >= 2 * asuint64 (INFINITY) - 1; } -#ifndef __ieee754_pow -strong_alias (__ieee754_pow, __pow_finite) +#ifndef SECTION +# define SECTION #endif -/* Compute log(x) (x is left argument). The result is the returned double + the - parameter DELTA. */ -static double +double SECTION -log1 (double x, double *delta) +__ieee754_pow (double x, double y) { - unsigned int i, j; - int m; - double uu, vv, eps, nx, e, e1, e2, t, t1, t2, res, add = 0; - mynumber u, v; -#ifdef BIG_ENDI - mynumber /**/ two52 = {{0x43300000, 0x00000000}}; /* 2**52 */ -#else -# ifdef LITTLE_ENDI - mynumber /**/ two52 = {{0x00000000, 0x43300000}}; /* 2**52 */ -# endif -#endif - - u.x = x; - m = u.i[HIGH_HALF]; - if (m < 0x00100000) /* Handle denormal x. */ - { - x = x * t52.x; - add = -52.0; - u.x = x; - m = u.i[HIGH_HALF]; - } + uint32_t sign_bias = 0; + uint64_t ix, iy; + uint32_t topx, topy; - if ((m & 0x000fffff) < 0x0006a09e) + ix = asuint64 (x); + iy = asuint64 (y); + topx = top12 (x); + topy = top12 (y); + if (__glibc_unlikely (topx - 0x001 >= 0x7ff - 0x001 + || (topy & 0x7ff) - 0x3be >= 0x43e - 0x3be)) { - u.i[HIGH_HALF] = (m & 0x000fffff) | 0x3ff00000; - two52.i[LOW_HALF] = (m >> 20); - } - else - { - u.i[HIGH_HALF] = (m & 0x000fffff) | 0x3fe00000; - two52.i[LOW_HALF] = (m >> 20) + 1; - } - - v.x = u.x + bigu.x; - uu = v.x - bigu.x; - i = (v.i[LOW_HALF] & 0x000003ff) << 2; - if (two52.i[LOW_HALF] == 1023) /* Exponent of x is 0. */ - { - if (i > 1192 && i < 1208) /* |x-1| < 1.5*2**-10 */ + /* Note: if |y| > 1075 * ln2 * 2^53 ~= 0x1.749p62 then pow(x,y) = inf/0 + and if |y| < 2^-54 / 1075 ~= 0x1.e7b6p-65 then pow(x,y) = +-1. */ + /* Special cases: (x < 0x1p-126 or inf or nan) or + (|y| < 0x1p-65 or |y| >= 0x1p63 or nan). */ + if (__glibc_unlikely (zeroinfnan (iy))) { - t = x - 1.0; - t1 = (t + 5.0e6) - 5.0e6; - t2 = t - t1; - e1 = t - 0.5 * t1 * t1; - e2 = (t * t * t * (r3 + t * (r4 + t * (r5 + t * (r6 + t - * (r7 + t * r8))))) - - 0.5 * t2 * (t + t1)); - res = e1 + e2; - *delta = (e1 - res) + e2; - /* Max relative error is 1.464844e-24, so accurate to 79.1 bits. */ - return res; - } /* |x-1| < 1.5*2**-10 */ - else + if (2 * iy == 0) + return issignaling_inline (x) ? x + y : 1.0; + if (ix == asuint64 (1.0)) + return issignaling_inline (y) ? x + y : 1.0; + if (2 * ix > 2 * asuint64 (INFINITY) + || 2 * iy > 2 * asuint64 (INFINITY)) + return x + y; + if (2 * ix == 2 * asuint64 (1.0)) + return 1.0; + if ((2 * ix < 2 * asuint64 (1.0)) == !(iy >> 63)) + return 0.0; /* |x|<1 && y==inf or |x|>1 && y==-inf. */ + return y * y; + } + if (__glibc_unlikely (zeroinfnan (ix))) { - v.x = u.x * (ui.x[i] + ui.x[i + 1]) + bigv.x; - vv = v.x - bigv.x; - j = v.i[LOW_HALF] & 0x0007ffff; - j = j + j + j; - eps = u.x - uu * vv; - e1 = eps * ui.x[i]; - e2 = eps * (ui.x[i + 1] + vj.x[j] * (ui.x[i] + ui.x[i + 1])); - e = e1 + e2; - e2 = ((e1 - e) + e2); - t = ui.x[i + 2] + vj.x[j + 1]; - t1 = t + e; - t2 = ((((t - t1) + e) + (ui.x[i + 3] + vj.x[j + 2])) + e2 + e * e - * (p2 + e * (p3 + e * p4))); - res = t1 + t2; - *delta = (t1 - res) + t2; - /* Max relative error is 1.0e-24, so accurate to 79.7 bits. */ - return res; + double_t x2 = x * x; + if (ix >> 63 && checkint (iy) == 1) + { + x2 = -x2; + sign_bias = 1; + } + if (WANT_ERRNO && 2 * ix == 0 && iy >> 63) + return __math_divzero (sign_bias); + /* Without the barrier some versions of clang hoist the 1/x2 and + thus division by zero exception can be signaled spuriously. */ + return iy >> 63 ? math_opt_barrier (1 / x2) : x2; + } + /* Here x and y are non-zero finite. */ + if (ix >> 63) + { + /* Finite x < 0. */ + int yint = checkint (iy); + if (yint == 0) + return __math_invalid (x); + if (yint == 1) + sign_bias = SIGN_BIAS; + ix &= 0x7fffffffffffffff; + topx &= 0x7ff; + } + if ((topy & 0x7ff) - 0x3be >= 0x43e - 0x3be) + { + /* Note: sign_bias == 0 here because y is not odd. */ + if (ix == asuint64 (1.0)) + return 1.0; + if ((topy & 0x7ff) < 0x3be) + { + /* |y| < 2^-65, x^y ~= 1 + y*log(x). */ + if (WANT_ROUNDING) + return ix > asuint64 (1.0) ? 1.0 + y : 1.0 - y; + else + return 1.0; + } + return (ix > asuint64 (1.0)) == (topy < 0x800) ? __math_oflow (0) + : __math_uflow (0); + } + if (topx == 0) + { + /* Normalize subnormal x so exponent becomes negative. */ + ix = asuint64 (x * 0x1p52); + ix &= 0x7fffffffffffffff; + ix -= 52ULL << 52; } } - else /* Exponent of x != 0. */ - { - eps = u.x - uu; - nx = (two52.x - two52e.x) + add; - e1 = eps * ui.x[i]; - e2 = eps * ui.x[i + 1]; - e = e1 + e2; - e2 = (e1 - e) + e2; - t = nx * ln2a.x + ui.x[i + 2]; - t1 = t + e; - t2 = ((((t - t1) + e) + nx * ln2b.x + ui.x[i + 3] + e2) + e * e - * (q2 + e * (q3 + e * (q4 + e * (q5 + e * q6))))); - res = t1 + t2; - *delta = (t1 - res) + t2; - /* Max relative error is 1.0e-21, so accurate to 69.7 bits. */ - return res; - } -} - -/* This function receives a double x and checks if it is an integer. If not, - it returns 0, else it returns 1 if even or -1 if odd. */ -static int -SECTION -checkint (double x) -{ - union - { - int4 i[2]; - double x; - } u; - int k; - unsigned int m, n; - u.x = x; - m = u.i[HIGH_HALF] & 0x7fffffff; /* no sign */ - if (m >= 0x7ff00000) - return 0; /* x is +/-inf or NaN */ - if (m >= 0x43400000) - return 1; /* |x| >= 2**53 */ - if (m < 0x40000000) - return 0; /* |x| < 2, can not be 0 or 1 */ - n = u.i[LOW_HALF]; - k = (m >> 20) - 1023; /* 1 <= k <= 52 */ - if (k == 52) - return (n & 1) ? -1 : 1; /* odd or even */ - if (k > 20) - { - if (n << (k - 20) != 0) - return 0; /* if not integer */ - return (n << (k - 21) != 0) ? -1 : 1; - } - if (n) - return 0; /*if not integer */ - if (k == 20) - return (m & 1) ? -1 : 1; - if (m << (k + 12) != 0) - return 0; - return (m << (k + 11) != 0) ? -1 : 1; + double_t lo; + double_t hi = log_inline (ix, &lo); + double_t ehi, elo; +#ifdef __FP_FAST_FMA + ehi = y * hi; + elo = y * lo + __builtin_fma (y, hi, -ehi); +#else + double_t yhi = asdouble (iy & -1ULL << 27); + double_t ylo = y - yhi; + double_t lhi = asdouble (asuint64 (hi) & -1ULL << 27); + double_t llo = hi - lhi + lo; + ehi = yhi * lhi; + elo = ylo * lhi + y * llo; /* |elo| < |ehi| * 2^-25. */ +#endif + return exp_inline (ehi, elo, sign_bias); } +#ifndef __ieee754_pow +strong_alias (__ieee754_pow, __pow_finite) +#endif diff --git a/sysdeps/ieee754/dbl-64/e_pow_log_data.c b/sysdeps/ieee754/dbl-64/e_pow_log_data.c new file mode 100644 index 0000000000..40983fcfdb --- /dev/null +++ b/sysdeps/ieee754/dbl-64/e_pow_log_data.c @@ -0,0 +1,173 @@ +/* Data for the log part of pow. + Copyright (C) 2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for 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 "math_config.h" + +#define N (1 << POW_LOG_TABLE_BITS) + +const struct pow_log_data __pow_log_data = { +.ln2hi = 0x1.62e42fefa3800p-1, +.ln2lo = 0x1.ef35793c76730p-45, +.poly = { +#if N == 128 && POW_LOG_POLY_ORDER == 8 +// relative error: 0x1.11922ap-70 +// in -0x1.6bp-8 0x1.6bp-8 +// Coefficients are scaled to match the scaling during evaluation. +-0x1p-1, +0x1.555555555556p-2 * -2, +-0x1.0000000000006p-2 * -2, +0x1.999999959554ep-3 * 4, +-0x1.555555529a47ap-3 * 4, +0x1.2495b9b4845e9p-3 * -8, +-0x1.0002b8b263fc3p-3 * -8, +#endif +}, +.tab = { +#if N == 128 +#define A(a,b,c) {a,0,b,c}, +A(0x1.6a00000000000p+0, -0x1.62c82f2b9c800p-2, 0x1.ab42428375680p-48) +A(0x1.6800000000000p+0, -0x1.5d1bdbf580800p-2, -0x1.ca508d8e0f720p-46) +A(0x1.6600000000000p+0, -0x1.5767717455800p-2, -0x1.362a4d5b6506dp-45) +A(0x1.6400000000000p+0, -0x1.51aad872df800p-2, -0x1.684e49eb067d5p-49) +A(0x1.6200000000000p+0, -0x1.4be5f95777800p-2, -0x1.41b6993293ee0p-47) +A(0x1.6000000000000p+0, -0x1.4618bc21c6000p-2, 0x1.3d82f484c84ccp-46) +A(0x1.5e00000000000p+0, -0x1.404308686a800p-2, 0x1.c42f3ed820b3ap-50) +A(0x1.5c00000000000p+0, -0x1.3a64c55694800p-2, 0x1.0b1c686519460p-45) +A(0x1.5a00000000000p+0, -0x1.347dd9a988000p-2, 0x1.5594dd4c58092p-45) +A(0x1.5800000000000p+0, -0x1.2e8e2bae12000p-2, 0x1.67b1e99b72bd8p-45) +A(0x1.5600000000000p+0, -0x1.2895a13de8800p-2, 0x1.5ca14b6cfb03fp-46) +A(0x1.5600000000000p+0, -0x1.2895a13de8800p-2, 0x1.5ca14b6cfb03fp-46) +A(0x1.5400000000000p+0, -0x1.22941fbcf7800p-2, -0x1.65a242853da76p-46) +A(0x1.5200000000000p+0, -0x1.1c898c1699800p-2, -0x1.fafbc68e75404p-46) +A(0x1.5000000000000p+0, -0x1.1675cababa800p-2, 0x1.f1fc63382a8f0p-46) +A(0x1.4e00000000000p+0, -0x1.1058bf9ae4800p-2, -0x1.6a8c4fd055a66p-45) +A(0x1.4c00000000000p+0, -0x1.0a324e2739000p-2, -0x1.c6bee7ef4030ep-47) +A(0x1.4a00000000000p+0, -0x1.0402594b4d000p-2, -0x1.036b89ef42d7fp-48) +A(0x1.4a00000000000p+0, -0x1.0402594b4d000p-2, -0x1.036b89ef42d7fp-48) +A(0x1.4800000000000p+0, -0x1.fb9186d5e4000p-3, 0x1.d572aab993c87p-47) +A(0x1.4600000000000p+0, -0x1.ef0adcbdc6000p-3, 0x1.b26b79c86af24p-45) +A(0x1.4400000000000p+0, -0x1.e27076e2af000p-3, -0x1.72f4f543fff10p-46) +A(0x1.4200000000000p+0, -0x1.d5c216b4fc000p-3, 0x1.1ba91bbca681bp-45) +A(0x1.4000000000000p+0, -0x1.c8ff7c79aa000p-3, 0x1.7794f689f8434p-45) +A(0x1.4000000000000p+0, -0x1.c8ff7c79aa000p-3, 0x1.7794f689f8434p-45) +A(0x1.3e00000000000p+0, -0x1.bc286742d9000p-3, 0x1.94eb0318bb78fp-46) +A(0x1.3c00000000000p+0, -0x1.af3c94e80c000p-3, 0x1.a4e633fcd9066p-52) +A(0x1.3a00000000000p+0, -0x1.a23bc1fe2b000p-3, -0x1.58c64dc46c1eap-45) +A(0x1.3a00000000000p+0, -0x1.a23bc1fe2b000p-3, -0x1.58c64dc46c1eap-45) +A(0x1.3800000000000p+0, -0x1.9525a9cf45000p-3, -0x1.ad1d904c1d4e3p-45) +A(0x1.3600000000000p+0, -0x1.87fa06520d000p-3, 0x1.bbdbf7fdbfa09p-45) +A(0x1.3400000000000p+0, -0x1.7ab890210e000p-3, 0x1.bdb9072534a58p-45) +A(0x1.3400000000000p+0, -0x1.7ab890210e000p-3, 0x1.bdb9072534a58p-45) +A(0x1.3200000000000p+0, -0x1.6d60fe719d000p-3, -0x1.0e46aa3b2e266p-46) +A(0x1.3000000000000p+0, -0x1.5ff3070a79000p-3, -0x1.e9e439f105039p-46) +A(0x1.3000000000000p+0, -0x1.5ff3070a79000p-3, -0x1.e9e439f105039p-46) +A(0x1.2e00000000000p+0, -0x1.526e5e3a1b000p-3, -0x1.0de8b90075b8fp-45) +A(0x1.2c00000000000p+0, -0x1.44d2b6ccb8000p-3, 0x1.70cc16135783cp-46) +A(0x1.2c00000000000p+0, -0x1.44d2b6ccb8000p-3, 0x1.70cc16135783cp-46) +A(0x1.2a00000000000p+0, -0x1.371fc201e9000p-3, 0x1.178864d27543ap-48) +A(0x1.2800000000000p+0, -0x1.29552f81ff000p-3, -0x1.48d301771c408p-45) +A(0x1.2600000000000p+0, -0x1.1b72ad52f6000p-3, -0x1.e80a41811a396p-45) +A(0x1.2600000000000p+0, -0x1.1b72ad52f6000p-3, -0x1.e80a41811a396p-45) +A(0x1.2400000000000p+0, -0x1.0d77e7cd09000p-3, 0x1.a699688e85bf4p-47) +A(0x1.2400000000000p+0, -0x1.0d77e7cd09000p-3, 0x1.a699688e85bf4p-47) +A(0x1.2200000000000p+0, -0x1.fec9131dbe000p-4, -0x1.575545ca333f2p-45) +A(0x1.2000000000000p+0, -0x1.e27076e2b0000p-4, 0x1.a342c2af0003cp-45) +A(0x1.2000000000000p+0, -0x1.e27076e2b0000p-4, 0x1.a342c2af0003cp-45) +A(0x1.1e00000000000p+0, -0x1.c5e548f5bc000p-4, -0x1.d0c57585fbe06p-46) +A(0x1.1c00000000000p+0, -0x1.a926d3a4ae000p-4, 0x1.53935e85baac8p-45) +A(0x1.1c00000000000p+0, -0x1.a926d3a4ae000p-4, 0x1.53935e85baac8p-45) +A(0x1.1a00000000000p+0, -0x1.8c345d631a000p-4, 0x1.37c294d2f5668p-46) +A(0x1.1a00000000000p+0, -0x1.8c345d631a000p-4, 0x1.37c294d2f5668p-46) +A(0x1.1800000000000p+0, -0x1.6f0d28ae56000p-4, -0x1.69737c93373dap-45) +A(0x1.1600000000000p+0, -0x1.51b073f062000p-4, 0x1.f025b61c65e57p-46) +A(0x1.1600000000000p+0, -0x1.51b073f062000p-4, 0x1.f025b61c65e57p-46) +A(0x1.1400000000000p+0, -0x1.341d7961be000p-4, 0x1.c5edaccf913dfp-45) +A(0x1.1400000000000p+0, -0x1.341d7961be000p-4, 0x1.c5edaccf913dfp-45) +A(0x1.1200000000000p+0, -0x1.16536eea38000p-4, 0x1.47c5e768fa309p-46) +A(0x1.1000000000000p+0, -0x1.f0a30c0118000p-5, 0x1.d599e83368e91p-45) +A(0x1.1000000000000p+0, -0x1.f0a30c0118000p-5, 0x1.d599e83368e91p-45) +A(0x1.0e00000000000p+0, -0x1.b42dd71198000p-5, 0x1.c827ae5d6704cp-46) +A(0x1.0e00000000000p+0, -0x1.b42dd71198000p-5, 0x1.c827ae5d6704cp-46) +A(0x1.0c00000000000p+0, -0x1.77458f632c000p-5, -0x1.cfc4634f2a1eep-45) +A(0x1.0c00000000000p+0, -0x1.77458f632c000p-5, -0x1.cfc4634f2a1eep-45) +A(0x1.0a00000000000p+0, -0x1.39e87b9fec000p-5, 0x1.502b7f526feaap-48) +A(0x1.0a00000000000p+0, -0x1.39e87b9fec000p-5, 0x1.502b7f526feaap-48) +A(0x1.0800000000000p+0, -0x1.f829b0e780000p-6, -0x1.980267c7e09e4p-45) +A(0x1.0800000000000p+0, -0x1.f829b0e780000p-6, -0x1.980267c7e09e4p-45) +A(0x1.0600000000000p+0, -0x1.7b91b07d58000p-6, -0x1.88d5493faa639p-45) +A(0x1.0400000000000p+0, -0x1.fc0a8b0fc0000p-7, -0x1.f1e7cf6d3a69cp-50) +A(0x1.0400000000000p+0, -0x1.fc0a8b0fc0000p-7, -0x1.f1e7cf6d3a69cp-50) +A(0x1.0200000000000p+0, -0x1.fe02a6b100000p-8, -0x1.9e23f0dda40e4p-46) +A(0x1.0200000000000p+0, -0x1.fe02a6b100000p-8, -0x1.9e23f0dda40e4p-46) +A(0x1.0000000000000p+0, 0x0.0000000000000p+0, 0x0.0000000000000p+0) +A(0x1.0000000000000p+0, 0x0.0000000000000p+0, 0x0.0000000000000p+0) +A(0x1.fc00000000000p-1, 0x1.0101575890000p-7, -0x1.0c76b999d2be8p-46) +A(0x1.f800000000000p-1, 0x1.0205658938000p-6, -0x1.3dc5b06e2f7d2p-45) +A(0x1.f400000000000p-1, 0x1.8492528c90000p-6, -0x1.aa0ba325a0c34p-45) +A(0x1.f000000000000p-1, 0x1.0415d89e74000p-5, 0x1.111c05cf1d753p-47) +A(0x1.ec00000000000p-1, 0x1.466aed42e0000p-5, -0x1.c167375bdfd28p-45) +A(0x1.e800000000000p-1, 0x1.894aa149fc000p-5, -0x1.97995d05a267dp-46) +A(0x1.e400000000000p-1, 0x1.ccb73cdddc000p-5, -0x1.a68f247d82807p-46) +A(0x1.e200000000000p-1, 0x1.eea31c006c000p-5, -0x1.e113e4fc93b7bp-47) +A(0x1.de00000000000p-1, 0x1.1973bd1466000p-4, -0x1.5325d560d9e9bp-45) +A(0x1.da00000000000p-1, 0x1.3bdf5a7d1e000p-4, 0x1.cc85ea5db4ed7p-45) +A(0x1.d600000000000p-1, 0x1.5e95a4d97a000p-4, -0x1.c69063c5d1d1ep-45) +A(0x1.d400000000000p-1, 0x1.700d30aeac000p-4, 0x1.c1e8da99ded32p-49) +A(0x1.d000000000000p-1, 0x1.9335e5d594000p-4, 0x1.3115c3abd47dap-45) +A(0x1.cc00000000000p-1, 0x1.b6ac88dad6000p-4, -0x1.390802bf768e5p-46) +A(0x1.ca00000000000p-1, 0x1.c885801bc4000p-4, 0x1.646d1c65aacd3p-45) +A(0x1.c600000000000p-1, 0x1.ec739830a2000p-4, -0x1.dc068afe645e0p-45) +A(0x1.c400000000000p-1, 0x1.fe89139dbe000p-4, -0x1.534d64fa10afdp-45) +A(0x1.c000000000000p-1, 0x1.1178e8227e000p-3, 0x1.1ef78ce2d07f2p-45) +A(0x1.be00000000000p-1, 0x1.1aa2b7e23f000p-3, 0x1.ca78e44389934p-45) +A(0x1.ba00000000000p-1, 0x1.2d1610c868000p-3, 0x1.39d6ccb81b4a1p-47) +A(0x1.b800000000000p-1, 0x1.365fcb0159000p-3, 0x1.62fa8234b7289p-51) +A(0x1.b400000000000p-1, 0x1.4913d8333b000p-3, 0x1.5837954fdb678p-45) +A(0x1.b200000000000p-1, 0x1.527e5e4a1b000p-3, 0x1.633e8e5697dc7p-45) +A(0x1.ae00000000000p-1, 0x1.6574ebe8c1000p-3, 0x1.9cf8b2c3c2e78p-46) +A(0x1.ac00000000000p-1, 0x1.6f0128b757000p-3, -0x1.5118de59c21e1p-45) +A(0x1.aa00000000000p-1, 0x1.7898d85445000p-3, -0x1.c661070914305p-46) +A(0x1.a600000000000p-1, 0x1.8beafeb390000p-3, -0x1.73d54aae92cd1p-47) +A(0x1.a400000000000p-1, 0x1.95a5adcf70000p-3, 0x1.7f22858a0ff6fp-47) +A(0x1.a000000000000p-1, 0x1.a93ed3c8ae000p-3, -0x1.8724350562169p-45) +A(0x1.9e00000000000p-1, 0x1.b31d8575bd000p-3, -0x1.c358d4eace1aap-47) +A(0x1.9c00000000000p-1, 0x1.bd087383be000p-3, -0x1.d4bc4595412b6p-45) +A(0x1.9a00000000000p-1, 0x1.c6ffbc6f01000p-3, -0x1.1ec72c5962bd2p-48) +A(0x1.9600000000000p-1, 0x1.db13db0d49000p-3, -0x1.aff2af715b035p-45) +A(0x1.9400000000000p-1, 0x1.e530effe71000p-3, 0x1.212276041f430p-51) +A(0x1.9200000000000p-1, 0x1.ef5ade4dd0000p-3, -0x1.a211565bb8e11p-51) +A(0x1.9000000000000p-1, 0x1.f991c6cb3b000p-3, 0x1.bcbecca0cdf30p-46) +A(0x1.8c00000000000p-1, 0x1.07138604d5800p-2, 0x1.89cdb16ed4e91p-48) +A(0x1.8a00000000000p-1, 0x1.0c42d67616000p-2, 0x1.7188b163ceae9p-45) +A(0x1.8800000000000p-1, 0x1.1178e8227e800p-2, -0x1.c210e63a5f01cp-45) +A(0x1.8600000000000p-1, 0x1.16b5ccbacf800p-2, 0x1.b9acdf7a51681p-45) +A(0x1.8400000000000p-1, 0x1.1bf99635a6800p-2, 0x1.ca6ed5147bdb7p-45) +A(0x1.8200000000000p-1, 0x1.214456d0eb800p-2, 0x1.a87deba46baeap-47) +A(0x1.7e00000000000p-1, 0x1.2bef07cdc9000p-2, 0x1.a9cfa4a5004f4p-45) +A(0x1.7c00000000000p-1, 0x1.314f1e1d36000p-2, -0x1.8e27ad3213cb8p-45) +A(0x1.7a00000000000p-1, 0x1.36b6776be1000p-2, 0x1.16ecdb0f177c8p-46) +A(0x1.7800000000000p-1, 0x1.3c25277333000p-2, 0x1.83b54b606bd5cp-46) +A(0x1.7600000000000p-1, 0x1.419b423d5e800p-2, 0x1.8e436ec90e09dp-47) +A(0x1.7400000000000p-1, 0x1.4718dc271c800p-2, -0x1.f27ce0967d675p-45) +A(0x1.7200000000000p-1, 0x1.4c9e09e173000p-2, -0x1.e20891b0ad8a4p-45) +A(0x1.7000000000000p-1, 0x1.522ae0738a000p-2, 0x1.ebe708164c759p-45) +A(0x1.6e00000000000p-1, 0x1.57bf753c8d000p-2, 0x1.fadedee5d40efp-46) +A(0x1.6c00000000000p-1, 0x1.5d5bddf596000p-2, -0x1.a0b2a08a465dcp-47) +#endif +}, +}; diff --git a/sysdeps/ieee754/dbl-64/math_config.h b/sysdeps/ieee754/dbl-64/math_config.h index 4cc9c565d1..2c35c98113 100644 --- a/sysdeps/ieee754/dbl-64/math_config.h +++ b/sysdeps/ieee754/dbl-64/math_config.h @@ -21,6 +21,7 @@ #include #include +#include #include #ifndef WANT_ROUNDING @@ -78,6 +79,15 @@ asdouble (uint64_t i) return u.f; } +static inline int +issignaling_inline (double x) +{ + uint64_t ix = asuint64 (x); + if (HIGH_ORDER_BIT_IS_SET_FOR_SNAN) + return (ix & 0x7ff8000000000000) == 0x7ff8000000000000; + return 2 * (ix ^ 0x0008000000000000) > 2 * 0x7ff8000000000000ULL; +} + #define NOINLINE __attribute__ ((noinline)) /* Error handling tail calls for special cases, with a sign argument. @@ -163,4 +173,15 @@ extern const struct log2_data #endif } __log2_data attribute_hidden; +#define POW_LOG_TABLE_BITS 7 +#define POW_LOG_POLY_ORDER 8 +extern const struct pow_log_data +{ + double ln2hi; + double ln2lo; + double poly[POW_LOG_POLY_ORDER - 1]; /* First coefficient is 1. */ + /* Note: the pad field is unused, but allows slightly faster indexing. */ + struct {double invc, pad, logc, logctail;} tab[1 << POW_LOG_TABLE_BITS]; +} __pow_log_data attribute_hidden; + #endif diff --git a/sysdeps/ieee754/dbl-64/upow.h b/sysdeps/ieee754/dbl-64/upow.h deleted file mode 100644 index c1b9d8e3cc..0000000000 --- a/sysdeps/ieee754/dbl-64/upow.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - * IBM Accurate Mathematical Library - * Written by International Business Machines Corp. - * Copyright (C) 2001-2018 Free Software Foundation, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation; either version 2.1 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, see . - */ - -/******************************************************************/ -/* */ -/* MODULE_NAME:upow.h */ -/* */ -/* common data and variables prototype and definition */ -/******************************************************************/ - -#ifndef UPOW_H -#define UPOW_H - -#include "mydefs.h" - -#ifdef BIG_ENDI - const static mynumber -/**/ nZERO = {{0x80000000, 0}}, /* -0.0 */ -/**/ INF = {{0x7ff00000, 0x00000000}}, /* INF */ -/**/ nINF = {{0xfff00000, 0x00000000}}, /* -INF */ -/**/ ln2a = {{0x3fe62e42, 0xfefa3800}}, /* ln(2) 43 bits */ -/**/ ln2b = {{0x3d2ef357, 0x93c76730}}, /* ln(2)-ln2a */ -/**/ bigu = {{0x4297ffff, 0xfffffd2c}}, /* 1.5*2**42 -724*2**-10 */ -/**/ bigv = {{0x4207ffff, 0xfff8016a}}, /* 1.5*2**33-1+362*2**-19 */ -/**/ t52 = {{0x43300000, 0x00000000}}, /* 2**52 */ -/**/ two52e = {{0x43300000, 0x000003ff}}; /* 2**52' */ - -#else -#ifdef LITTLE_ENDI - const static mynumber -/**/ nZERO = {{0, 0x80000000}}, /* -0.0 */ -/**/ INF = {{0x00000000, 0x7ff00000}}, /* INF */ -/**/ nINF = {{0x00000000, 0xfff00000}}, /* -INF */ -/**/ ln2a = {{0xfefa3800, 0x3fe62e42}}, /* ln(2) 43 bits */ -/**/ ln2b = {{0x93c76730, 0x3d2ef357}}, /* ln(2)-ln2a */ -/**/ bigu = {{0xfffffd2c, 0x4297ffff}}, /* 1.5*2**42 -724*2**-10 */ -/**/ bigv = {{0xfff8016a, 0x4207ffff}}, /* 1.5*2**33-1+362*2**-19 */ -/**/ t52 = {{0x00000000, 0x43300000}}, /* 2**52 */ -/**/ two52e = {{0x000003ff, 0x43300000}}; /* 2**52' */ - -#endif -#endif - -const static double p2=-0.5, p3 = 3.3333333333333333333e-1, p4 = -0.25, - q2 = -0.5, q3 = 3.3333333333331404e-01, q4 = -2.4999999999996436e-01, - q5 = 2.0000010500004459e-01, q6 = -1.6666678916688004e-01, - r3 = 3.33333333333333333372884096563030E-01, - r4 = -2.50000000000000000213574153875908E-01, - r5 = 1.99999999999683593814072199830603E-01, - r6 = -1.66666666666065494878165510225378E-01, - r7 = 1.42857517857114380606360005067609E-01, - r8 = -1.25000449999974370683775964001702E-01, - s3 = 0.333251953125000000e0, - ss3 = 8.138020833333333333e-05, - s4 = -2.500000000000000000e-01, - s5 = 1.999999999999960937e-01, - s6 = -1.666666666666592447e-01, - s7 = 1.428571845238194705e-01, - s8 = -1.250000500000149097e-01; -#endif diff --git a/sysdeps/ieee754/dbl-64/upow.tbl b/sysdeps/ieee754/dbl-64/upow.tbl deleted file mode 100644 index c1ad333583..0000000000 --- a/sysdeps/ieee754/dbl-64/upow.tbl +++ /dev/null @@ -1,10188 +0,0 @@ -/* - * IBM Accurate Mathematical Library - * Written by International Business Machines Corp. - * Copyright (C) 2001-2018 Free Software Foundation, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation; either version 2.1 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, see . - */ - -/****************************************************************/ -/* TABLES FOR THE upow() FUNCTION */ -/****************************************************************/ - - - -#ifdef BIG_ENDI -static const union {int4 i[5800]; double x[2900];} ui = { .i = { -/**/ 0x3FF6A000, 0x00000000, -/**/ 0x3F33CD15, 0x3729043E, -/**/ 0xBFD63003, 0x0B3AB000, -/**/ 0x3D2DB623, 0xE731AE00, -/**/ 0x3FF69800, 0x00000000, -/**/ 0x3F33F349, 0xCC7267D0, -/**/ 0xBFD61965, 0xCDB03000, -/**/ 0x3D2F08AD, 0x603C488E, -/**/ 0x3FF69000, 0x00000000, -/**/ 0x3F3473A8, 0x8D0BFD2E, -/**/ 0xBFD602D0, 0x8AF09000, -/**/ 0xBD1EBE91, 0x76DF3F65, -/**/ 0x3FF68800, 0x00000000, -/**/ 0x3F354DD2, 0x390B9ED0, -/**/ 0xBFD5EC43, 0x3D5C3000, -/**/ 0xBD36B71A, 0x1229D17F, -/**/ 0x3FF68000, 0x00000000, -/**/ 0x3F368168, 0x16816817, -/**/ 0xBFD5D5BD, 0xDF596000, -/**/ 0x3D0A0B2A, 0x08A465DC, -/**/ 0x3FF67800, 0x00000000, -/**/ 0x3F380E0B, 0xF08C7765, -/**/ 0xBFD5BF40, 0x6B544000, -/**/ 0x3D227023, 0xEB68981C, -/**/ 0x3FF67000, 0x00000000, -/**/ 0x3F39F360, 0x16719F36, -/**/ 0xBFD5A8CA, 0xDBBEE000, -/**/ 0x3CF7C79B, 0x0AF7ECF8, -/**/ 0x3FF66800, 0x00000000, -/**/ 0x3F3C3107, 0x5AB40167, -/**/ 0xBFD5925D, 0x2B113000, -/**/ 0x3D369BF5, 0xA7A56F34, -/**/ 0x3FF66000, 0x00000000, -/**/ 0x3F3EC6A5, 0x122F9016, -/**/ 0xBFD57BF7, 0x53C8D000, -/**/ 0xBD1FADED, 0xEE5D40EF, -/**/ 0x3FF65C00, 0x00000000, -/**/ 0xBF3E4C22, 0xECCA9097, -/**/ 0xBFD56599, 0x50695000, -/**/ 0xBD14C5FD, 0x2BADC774, -/**/ 0x3FF65400, 0x00000000, -/**/ 0xBF3B07AC, 0x4B55CC62, -/**/ 0xBFD54F43, 0x1B7BE000, -/**/ 0xBD1A8954, 0xC0910952, -/**/ 0x3FF64C00, 0x00000000, -/**/ 0xBF376C52, 0x32DA090E, -/**/ 0xBFD538F4, 0xAF8F7000, -/**/ 0xBD27EC02, 0xE45547CE, -/**/ 0x3FF64400, 0x00000000, -/**/ 0xBF337A6F, 0x4DE9BD38, -/**/ 0xBFD522AE, 0x0738A000, -/**/ 0xBD2EBE70, 0x8164C759, -/**/ 0x3FF63C00, 0x00000000, -/**/ 0xBF2E64BB, 0x923C708B, -/**/ 0xBFD50C6F, 0x1D11C000, -/**/ 0x3D3A0E6B, 0x7E827C2C, -/**/ 0x3FF63400, 0x00000000, -/**/ 0xBF2528EE, 0xA7E43FD4, -/**/ 0xBFD4F637, 0xEBBAA000, -/**/ 0x3D3FC158, 0xCB3124B9, -/**/ 0x3FF62C00, 0x00000000, -/**/ 0xBF168454, 0x86689DF7, -/**/ 0xBFD4E008, 0x6DD8C000, -/**/ 0x3D34D692, 0xA1E44788, -/**/ 0x3FF62400, 0x00000000, -/**/ 0xBED623FA, 0x77016240, -/**/ 0xBFD4C9E0, 0x9E173000, -/**/ 0x3D2E2089, 0x1B0AD8A4, -/**/ 0x3FF61C00, 0x00000000, -/**/ 0x3F151300, 0x58715130, -/**/ 0xBFD4B3C0, 0x77268000, -/**/ 0x3D165B46, 0x81052B9F, -/**/ 0x3FF61400, 0x00000000, -/**/ 0x3F266D06, 0x35D2754E, -/**/ 0xBFD49DA7, 0xF3BCC000, -/**/ 0xBD307B33, 0x4DAF4B9A, -/**/ 0x3FF60C00, 0x00000000, -/**/ 0x3F317C61, 0xDA197F23, -/**/ 0xBFD48797, 0x0E958000, -/**/ 0xBD3DC1B8, 0x465CF25F, -/**/ 0x3FF60400, 0x00000000, -/**/ 0x3F381605, 0x81605816, -/**/ 0xBFD4718D, 0xC271C000, -/**/ 0xBD306C18, 0xFB4C14C5, -/**/ 0x3FF5FC00, 0x00000000, -/**/ 0x3F3F0317, 0xB5C6F559, -/**/ 0xBFD45B8C, 0x0A17E000, -/**/ 0x3D0D9120, 0xE7D0A853, -/**/ 0x3FF5F800, 0x00000000, -/**/ 0xBF39BCBD, 0x6D2041E3, -/**/ 0xBFD44591, 0xE053A000, -/**/ 0x3D06E958, 0x92923D88, -/**/ 0x3FF5F000, 0x00000000, -/**/ 0xBF3229CF, 0x5604CC40, -/**/ 0xBFD42F9F, 0x3FF62000, -/**/ 0xBD390644, 0x0F7D3354, -/**/ 0x3FF5E800, 0x00000000, -/**/ 0xBF2488E5, 0xFD431489, -/**/ 0xBFD419B4, 0x23D5F000, -/**/ 0x3D3CE379, 0x226DE3EC, -/**/ 0x3FF5E000, 0x00000000, -/**/ 0xBF0067E7, 0x6424E9C9, -/**/ 0xBFD403D0, 0x86CEA000, -/**/ 0xBD3E6EF5, 0x74487308, -/**/ 0x3FF5D800, 0x00000000, -/**/ 0x3F19F0FB, 0x38A94D24, -/**/ 0xBFD3EDF4, 0x63C17000, -/**/ 0x3D3F067C, 0x297F2C3F, -/**/ 0x3FF5D000, 0x00000000, -/**/ 0x3F2EADD9, 0x23CAD2AA, -/**/ 0xBFD3D81F, 0xB5947000, -/**/ 0x3D222C7C, 0x2A9D37A4, -/**/ 0x3FF5C800, 0x00000000, -/**/ 0x3F3882B9, 0x31057262, -/**/ 0xBFD3C252, 0x77333000, -/**/ 0xBD183B54, 0xB606BD5C, -/**/ 0x3FF5C400, 0x00000000, -/**/ 0xBF3E00AE, 0x10FFA8F8, -/**/ 0xBFD3AC8C, 0xA38E6000, -/**/ 0x3D2D0BEF, 0xBC02BE4A, -/**/ 0x3FF5BC00, 0x00000000, -/**/ 0xBF34339B, 0x8056EAF3, -/**/ 0xBFD396CE, 0x359BC000, -/**/ 0x3D05839C, 0x5663663D, -/**/ 0x3FF5B400, 0x00000000, -/**/ 0xBF242CC1, 0xF31D7FD5, -/**/ 0xBFD38117, 0x28565000, -/**/ 0x3D2A71E4, 0x93A0702B, -/**/ 0x3FF5AC00, 0x00000000, -/**/ 0x3ED5AC05, 0x6B015AC0, -/**/ 0xBFD36B67, 0x76BE1000, -/**/ 0xBD116ECD, 0xB0F177C8, -/**/ 0x3FF5A400, 0x00000000, -/**/ 0x3F26268D, 0x5BA55E5A, -/**/ 0xBFD355BF, 0x1BD83000, -/**/ 0x3D2BA99B, 0x8964F0E8, -/**/ 0x3FF59C00, 0x00000000, -/**/ 0x3F361F12, 0x3CCAA376, -/**/ 0xBFD3401E, 0x12AED000, -/**/ 0x3D317C73, 0x556E291D, -/**/ 0x3FF59800, 0x00000000, -/**/ 0xBF3E863D, 0x62D32417, -/**/ 0xBFD32A84, 0x56512000, -/**/ 0xBD04F928, 0x139AF5D6, -/**/ 0x3FF59000, 0x00000000, -/**/ 0xBF32DCF7, 0xEA712DCF, -/**/ 0xBFD314F1, 0xE1D36000, -/**/ 0x3D28E27A, 0xD3213CB8, -/**/ 0x3FF58800, 0x00000000, -/**/ 0xBF1B95B2, 0xA0CC87E8, -/**/ 0xBFD2FF66, 0xB04EB000, -/**/ 0x3D38AED2, 0x541E6E2E, -/**/ 0x3FF58000, 0x00000000, -/**/ 0x3F158056, 0x01580560, -/**/ 0xBFD2E9E2, 0xBCE12000, -/**/ 0xBD24300C, 0x128D1DC2, -/**/ 0x3FF57800, 0x00000000, -/**/ 0x3F31F340, 0x15791F34, -/**/ 0xBFD2D466, 0x02ADD000, -/**/ 0x3D288D0D, 0xDCD54196, -/**/ 0x3FF57000, 0x00000000, -/**/ 0x3F3ED3C5, 0x06B39A23, -/**/ 0xBFD2BEF0, 0x7CDC9000, -/**/ 0xBD2A9CFA, 0x4A5004F4, -/**/ 0x3FF56C00, 0x00000000, -/**/ 0xBF33FEA9, 0x53FEA954, -/**/ 0xBFD2A982, 0x269A4000, -/**/ 0x3D22058E, 0x557285CF, -/**/ 0x3FF56400, 0x00000000, -/**/ 0xBF1A1160, 0xEB478503, -/**/ 0xBFD2941A, 0xFB187000, -/**/ 0x3D3210C2, 0xB730E28B, -/**/ 0x3FF55C00, 0x00000000, -/**/ 0x3F1D09AD, 0xE4A18B2E, -/**/ 0xBFD27EBA, 0xF58D9000, -/**/ 0x3D2B1988, 0x00B4BDA7, -/**/ 0x3FF55400, 0x00000000, -/**/ 0x3F355555, 0x55555555, -/**/ 0xBFD26962, 0x1134E000, -/**/ 0x3D31B61F, 0x10522625, -/**/ 0x3FF55000, 0x00000000, -/**/ 0xBF3C4BE6, 0xB319A21F, -/**/ 0xBFD25410, 0x494E5000, -/**/ 0xBD3B1D7A, 0xC0EF77F2, -/**/ 0x3FF54800, 0x00000000, -/**/ 0xBF2B4328, 0x8FA03FD5, -/**/ 0xBFD23EC5, 0x991EC000, -/**/ 0x3D36DBE4, 0x48A2E522, -/**/ 0x3FF54000, 0x00000000, -/**/ 0x3EF54015, 0x40154015, -/**/ 0xBFD22981, 0xFBEF8000, -/**/ 0x3D3A1421, 0x609580DA, -/**/ 0x3FF53800, 0x00000000, -/**/ 0x3F30948F, 0x40FEAC6F, -/**/ 0xBFD21445, 0x6D0EC000, -/**/ 0x3D3CAF04, 0x28B728A3, -/**/ 0x3FF53400, 0x00000000, -/**/ 0xBF3FE034, 0xFD04F7B8, -/**/ 0xBFD1FF0F, 0xE7CF4000, -/**/ 0xBD3E9D5B, 0x513FF0C1, -/**/ 0x3FF52C00, 0x00000000, -/**/ 0xBF300A95, 0x7FAB5403, -/**/ 0xBFD1E9E1, 0x6788A000, -/**/ 0x3D382EAE, 0xD3C8B65E, -/**/ 0x3FF52400, 0x00000000, -/**/ 0x3EB52401, 0x52401524, -/**/ 0xBFD1D4B9, 0xE796C000, -/**/ 0xBD222A66, 0x7C42E56D, -/**/ 0x3FF51C00, 0x00000000, -/**/ 0x3F307EAE, 0x2F8151D0, -/**/ 0xBFD1BF99, 0x635A7000, -/**/ 0x3D31AC89, 0x575C2125, -/**/ 0x3FF51800, 0x00000000, -/**/ 0xBF3ECE3F, 0xEAE9ECE4, -/**/ 0xBFD1AA7F, 0xD638D000, -/**/ 0xBD29F60A, 0x9616F7A0, -/**/ 0x3FF51000, 0x00000000, -/**/ 0xBF2BA3DD, 0xC7675243, -/**/ 0xBFD1956D, 0x3B9BC000, -/**/ 0xBD27D2F7, 0x3AD1AA14, -/**/ 0x3FF50800, 0x00000000, -/**/ 0x3F0B9AC8, 0x764E368D, -/**/ 0xBFD18061, 0x8EF19000, -/**/ 0x3D3482FF, 0xC86D38E5, -/**/ 0x3FF50000, 0x00000000, -/**/ 0x3F350150, 0x15015015, -/**/ 0xBFD16B5C, 0xCBAD0000, -/**/ 0x3D323299, 0x042D74BF, -/**/ 0x3FF4FC00, 0x00000000, -/**/ 0xBF392851, 0x4A683C50, -/**/ 0xBFD1565E, 0xED456000, -/**/ 0x3CEE75AD, 0xFB6ABA25, -/**/ 0x3FF4F400, 0x00000000, -/**/ 0xBF1C2748, 0xACD95EF0, -/**/ 0xBFD14167, 0xEF367000, -/**/ 0xBD3E0C07, 0x824DAAF5, -/**/ 0x3FF4EC00, 0x00000000, -/**/ 0x3F26B90D, 0x67A47465, -/**/ 0xBFD12C77, 0xCD007000, -/**/ 0xBD13B294, 0x8A11F797, -/**/ 0x3FF4E400, 0x00000000, -/**/ 0x3F3E0A72, 0xF0539783, -/**/ 0xBFD1178E, 0x8227E000, -/**/ 0xBD31EF78, 0xCE2D07F2, -/**/ 0x3FF4E000, 0x00000000, -/**/ 0xBF2E00A6, 0xF87FD642, -/**/ 0xBFD102AC, 0x0A35D000, -/**/ 0x3D2F1FBD, 0xDFDFD686, -/**/ 0x3FF4D800, 0x00000000, -/**/ 0x3F10EFB7, 0x0B12E3FD, -/**/ 0xBFD0EDD0, 0x60B78000, -/**/ 0xBD0019B5, 0x2D8435F5, -/**/ 0x3FF4D000, 0x00000000, -/**/ 0x3F37BEF1, 0x5CB4DBE5, -/**/ 0xBFD0D8FB, 0x813EB000, -/**/ 0xBD1EE8C8, 0x8753FA35, -/**/ 0x3FF4CC00, 0x00000000, -/**/ 0xBF34778D, 0xA50918B1, -/**/ 0xBFD0C42D, 0x67616000, -/**/ 0xBD27188B, 0x163CEAE9, -/**/ 0x3FF4C400, 0x00000000, -/**/ 0xBED9F4F7, 0xE37288EC, -/**/ 0xBFD0AF66, 0x0EB9E000, -/**/ 0xBD23C7C3, 0xF528D80A, -/**/ 0x3FF4BC00, 0x00000000, -/**/ 0x3F33EDDA, 0x68FE0E42, -/**/ 0xBFD09AA5, 0x72E6C000, -/**/ 0xBD3B50A1, 0xE1734342, -/**/ 0x3FF4B800, 0x00000000, -/**/ 0xBF3776C6, 0xB72E47D9, -/**/ 0xBFD085EB, 0x8F8AE000, -/**/ 0xBD3E5D51, 0x3F45FE7B, -/**/ 0x3FF4B000, 0x00000000, -/**/ 0xBF04AFD6, 0xA052BF5B, -/**/ 0xBFD07138, 0x604D6000, -/**/ 0x3D3E7632, 0x4E912B17, -/**/ 0x3FF4A800, 0x00000000, -/**/ 0x3F328FFA, 0xD5B5C015, -/**/ 0xBFD05C8B, 0xE0D96000, -/**/ 0xBD2AD0F1, 0xC77CCB58, -/**/ 0x3FF4A400, 0x00000000, -/**/ 0xBF380528, 0x9FEB5D80, -/**/ 0xBFD047E6, 0x0CDE8000, -/**/ 0xBD2DBDF1, 0x0D397F3C, -/**/ 0x3FF49C00, 0x00000000, -/**/ 0xBF02AD3E, 0x25FF5B21, -/**/ 0xBFD03346, 0xE0106000, -/**/ 0xBCF89FF8, 0xA966395C, -/**/ 0x3FF49400, 0x00000000, -/**/ 0x3F339E3B, 0x2D066EA2, -/**/ 0xBFD01EAE, 0x5626C000, -/**/ 0xBD3A43DC, 0xFADE85AE, -/**/ 0x3FF49000, 0x00000000, -/**/ 0xBF3629C1, 0xAFB2E932, -/**/ 0xBFD00A1C, 0x6ADDA000, -/**/ 0xBD31CD8D, 0x688B9E18, -/**/ 0x3FF48800, 0x00000000, -/**/ 0x3ED48805, 0x22014880, -/**/ 0xBFCFEB22, 0x33EA0000, -/**/ 0xBD2F3418, 0xDE00938B, -/**/ 0x3FF48000, 0x00000000, -/**/ 0x3F37119F, 0x3D324D89, -/**/ 0xBFCFC218, 0xBE620000, -/**/ 0xBD34BBA4, 0x6F1CF6A0, -/**/ 0x3FF47C00, 0x00000000, -/**/ 0xBF31EB85, 0x1EB851EC, -/**/ 0xBFCF991C, 0x6CB3C000, -/**/ 0x3D390D04, 0xCD7CC834, -/**/ 0x3FF47400, 0x00000000, -/**/ 0x3F1569C9, 0xAAFC7C01, -/**/ 0xBFCF702D, 0x36778000, -/**/ 0x3D108195, 0x16673E23, -/**/ 0x3FF46C00, 0x00000000, -/**/ 0x3F3CE345, 0x96066250, -/**/ 0xBFCF474B, 0x134E0000, -/**/ 0x3D3BAE49, 0xF1DF7B5E, -/**/ 0x3FF46800, 0x00000000, -/**/ 0xBF26A297, 0x1D02DE87, -/**/ 0xBFCF1E75, 0xFADFA000, -/**/ 0x3D20862B, 0x25D83F6D, -/**/ 0x3FF46000, 0x00000000, -/**/ 0x3F2978FE, 0xB9F34381, -/**/ 0xBFCEF5AD, 0xE4DD0000, -/**/ 0x3CCA2115, 0x65BB8E11, -/**/ 0x3FF45C00, 0x00000000, -/**/ 0xBF3AF398, 0xF6C71366, -/**/ 0xBFCECCF2, 0xC8FEA000, -/**/ 0x3D3BEC63, 0xA3E75640, -/**/ 0x3FF45400, 0x00000000, -/**/ 0xBF030E9C, 0x449AFF5D, -/**/ 0xBFCEA444, 0x9F04A000, -/**/ 0xBD35E916, 0x63732A36, -/**/ 0x3FF44C00, 0x00000000, -/**/ 0x3F367190, 0xF8B42EF3, -/**/ 0xBFCE7BA3, 0x5EB78000, -/**/ 0x3D0D5EEE, 0x23793649, -/**/ 0x3FF44800, 0x00000000, -/**/ 0xBF3079A9, 0xD260511C, -/**/ 0xBFCE530E, 0xFFE72000, -/**/ 0x3D3FDBDB, 0xB13F7C18, -/**/ 0x3FF44000, 0x00000000, -/**/ 0x3F21B87C, 0x0B644FBE, -/**/ 0xBFCE2A87, 0x7A6B2000, -/**/ 0xBD382381, 0x7787081A, -/**/ 0x3FF43C00, 0x00000000, -/**/ 0xBF3D8CF5, 0x411B2E25, -/**/ 0xBFCE020C, 0xC6236000, -/**/ 0x3D252B00, 0xADB91424, -/**/ 0x3FF43400, 0x00000000, -/**/ 0xBF0DAC08, 0xD6A60978, -/**/ 0xBFCDD99E, 0xDAF6E000, -/**/ 0x3D302EC6, 0x69C756EB, -/**/ 0x3FF42C00, 0x00000000, -/**/ 0x3F36625D, 0x51F86EFA, -/**/ 0xBFCDB13D, 0xB0D48000, -/**/ 0xBD32806A, 0x847527E6, -/**/ 0x3FF42800, 0x00000000, -/**/ 0xBF2E8B2D, 0xA8766564, -/**/ 0xBFCD88E9, 0x3FB30000, -/**/ 0x3D375F28, 0x0234BF51, -/**/ 0x3FF42000, 0x00000000, -/**/ 0x3F26A4CB, 0xCB2A247B, -/**/ 0xBFCD60A1, 0x7F904000, -/**/ 0x3D35D6E0, 0x6FC20D39, -/**/ 0x3FF41C00, 0x00000000, -/**/ 0xBF39D5E8, 0xC17DF552, -/**/ 0xBFCD3866, 0x68720000, -/**/ 0x3D373650, 0xB38932BC, -/**/ 0x3FF41400, 0x00000000, -/**/ 0x3EF41414, 0x14141414, -/**/ 0xBFCD1037, 0xF2656000, -/**/ 0x3D084A7E, 0x75B6F6E4, -/**/ 0x3FF40C00, 0x00000000, -/**/ 0x3F3C97A8, 0x43AE87FD, -/**/ 0xBFCCE816, 0x157F2000, -/**/ 0x3D29E0AB, 0xA2099515, -/**/ 0x3FF40800, 0x00000000, -/**/ 0xBF1F4BBC, 0x66A67E6F, -/**/ 0xBFCCC000, 0xC9DB4000, -/**/ 0x3D1D6D58, 0x5D57AFF9, -/**/ 0x3FF40000, 0x00000000, -/**/ 0x3F340140, 0x14014014, -/**/ 0xBFCC97F8, 0x079D4000, -/**/ 0xBD23B161, 0xA8C6E6C5, -/**/ 0x3FF3FC00, 0x00000000, -/**/ 0xBF2FD809, 0xFD809FD8, -/**/ 0xBFCC6FFB, 0xC6F00000, -/**/ 0xBD3EE138, 0xD3A69D43, -/**/ 0x3FF3F400, 0x00000000, -/**/ 0x3F28CA0E, 0x57EE89D2, -/**/ 0xBFCC480C, 0x0005C000, -/**/ 0xBD39A294, 0xD5E44E76, -/**/ 0x3FF3F000, 0x00000000, -/**/ 0xBF370BD5, 0xA50F9260, -/**/ 0xBFCC2028, 0xAB180000, -/**/ 0x3D292E0E, 0xE55C7AC6, -/**/ 0x3FF3E800, 0x00000000, -/**/ 0x3F1704AA, 0x75945FCE, -/**/ 0xBFCBF851, 0xC0676000, -/**/ 0x3D35420E, 0x4C0854AD, -/**/ 0x3FF3E400, 0x00000000, -/**/ 0xBF3D3431, 0xB56FD83C, -/**/ 0xBFCBD087, 0x383BE000, -/**/ 0x3D2D4BC4, 0x595412B6, -/**/ 0x3FF3DC00, 0x00000000, -/**/ 0x3EB3DC01, 0x3DC013DC, -/**/ 0xBFCBA8C9, 0x0AE4A000, -/**/ 0xBD3A32E7, 0xF44432DA, -/**/ 0x3FF3D400, 0x00000000, -/**/ 0x3F3D991A, 0xA75C5BBD, -/**/ 0xBFCB8117, 0x30B82000, -/**/ 0xBD1E9068, 0x3B9CD768, -/**/ 0x3FF3D000, 0x00000000, -/**/ 0xBF1292BA, 0x59C52F5D, -/**/ 0xBFCB5971, 0xA213A000, -/**/ 0xBD39B50E, 0x83AA91DF, -/**/ 0x3FF3C800, 0x00000000, -/**/ 0x3F395A47, 0xBABE7440, -/**/ 0xBFCB31D8, 0x575BC000, -/**/ 0xBD3C794E, 0x562A63CB, -/**/ 0x3FF3C400, 0x00000000, -/**/ 0xBF20D475, 0x58A0943A, -/**/ 0xBFCB0A4B, 0x48FC2000, -/**/ 0x3D22E72D, 0x5C3998ED, -/**/ 0x3FF3BC00, 0x00000000, -/**/ 0x3F360D92, 0x3295482C, -/**/ 0xBFCAE2CA, 0x6F672000, -/**/ 0xBD37A8D5, 0xAE54F550, -/**/ 0x3FF3B800, 0x00000000, -/**/ 0xBF267D12, 0xCAB48651, -/**/ 0xBFCABB55, 0xC316A000, -/**/ 0x3D38A65A, 0xCAF14CD8, -/**/ 0x3FF3B000, 0x00000000, -/**/ 0x3F33B13B, 0x13B13B14, -/**/ 0xBFCA93ED, 0x3C8AE000, -/**/ 0x3D287243, 0x50562169, -/**/ 0x3FF3AC00, 0x00000000, -/**/ 0xBF2A46AF, 0x2C8FD3BF, -/**/ 0xBFCA6C90, 0xD44B8000, -/**/ 0x3D3F63B7, 0xF037B0C6, -/**/ 0x3FF3A400, 0x00000000, -/**/ 0x3F324387, 0xAC822610, -/**/ 0xBFCA4540, 0x82E6A000, -/**/ 0xBD360A77, 0xC81F7171, -/**/ 0x3FF3A000, 0x00000000, -/**/ 0xBF2C34BB, 0xA1923DEE, -/**/ 0xBFCA1DFC, 0x40F1C000, -/**/ 0x3D301E0F, 0x004F3781, -/**/ 0x3FF39800, 0x00000000, -/**/ 0x3F31C2C1, 0x87F63372, -/**/ 0xBFC9F6C4, 0x0708A000, -/**/ 0x3D3337D9, 0x4BCD3F43, -/**/ 0x3FF39400, 0x00000000, -/**/ 0xBF2C4AA0, 0xE11BD52E, -/**/ 0xBFC9CF97, 0xCDCE0000, -/**/ 0xBD3D862F, 0x10C414E3, -/**/ 0x3FF38C00, 0x00000000, -/**/ 0x3F322D36, 0x6088DBF4, -/**/ 0xBFC9A877, 0x8DEBA000, -/**/ 0xBD3470FA, 0x3EFEC390, -/**/ 0x3FF38800, 0x00000000, -/**/ 0xBF2A8BBF, 0x503F774E, -/**/ 0xBFC98163, 0x4011A000, -/**/ 0xBD34EADD, 0x9E9045E2, -/**/ 0x3FF38000, 0x00000000, -/**/ 0x3F338138, 0x13813814, -/**/ 0xBFC95A5A, 0xDCF70000, -/**/ 0xBD07F228, 0x58A0FF6F, -/**/ 0x3FF37C00, 0x00000000, -/**/ 0xBF26FB6F, 0x1B177053, -/**/ 0xBFC9335E, 0x5D594000, -/**/ 0xBD33115C, 0x3ABD47DA, -/**/ 0x3FF37400, 0x00000000, -/**/ 0x3F35BD1C, 0x945EDC20, -/**/ 0xBFC90C6D, 0xB9FCC000, -/**/ 0x3D1935F5, 0x7718D7CA, -/**/ 0x3FF37000, 0x00000000, -/**/ 0xBF219D00, 0x4DBDCC60, -/**/ 0xBFC8E588, 0xEBAC2000, -/**/ 0xBD3B7D5C, 0xAB2D1140, -/**/ 0x3FF36800, 0x00000000, -/**/ 0x3F38DF3D, 0xE0747954, -/**/ 0xBFC8BEAF, 0xEB390000, -/**/ 0x3D073D54, 0xAAE92CD1, -/**/ 0x3FF36400, 0x00000000, -/**/ 0xBF14E775, 0xD9D3C49F, -/**/ 0xBFC897E2, 0xB17B2000, -/**/ 0x3D296B37, 0x380CBE9E, -/**/ 0x3FF35C00, 0x00000000, -/**/ 0x3F3CE5F9, 0xF2AF821E, -/**/ 0xBFC87121, 0x3750E000, -/**/ 0xBD3328EB, 0x42F9AF75, -/**/ 0x3FF35800, 0x00000000, -/**/ 0xBEE82DF0, 0xE34971F2, -/**/ 0xBFC84A6B, 0x759F6000, -/**/ 0x3D3DA280, 0x2ADF8609, -/**/ 0x3FF35400, 0x00000000, -/**/ 0xBF3E304D, 0x4873ECAE, -/**/ 0xBFC823C1, 0x6551A000, -/**/ 0xBD1E0DDB, 0x9A631E83, -/**/ 0x3FF34C00, 0x00000000, -/**/ 0x3F1264B6, 0x1FF659DB, -/**/ 0xBFC7FD22, 0xFF59A000, -/**/ 0x3D158BEB, 0xF457B7D2, -/**/ 0x3FF34800, 0x00000000, -/**/ 0xBF386531, 0xFECB9865, -/**/ 0xBFC7D690, 0x3CAF6000, -/**/ 0x3D24C06B, 0x17C301D7, -/**/ 0x3FF34000, 0x00000000, -/**/ 0x3F25A8C2, 0xEEDA65AE, -/**/ 0xBFC7B009, 0x16516000, -/**/ 0x3D3AE75F, 0xCB067E57, -/**/ 0x3FF33C00, 0x00000000, -/**/ 0xBF31BA4A, 0x8434E1F4, -/**/ 0xBFC7898D, 0x85444000, -/**/ 0xBD38E67B, 0xE3DBAF3F, -/**/ 0x3FF33400, 0x00000000, -/**/ 0x3F31EE97, 0xDBFC660A, -/**/ 0xBFC7631D, 0x82936000, -/**/ 0x3D25E77D, 0xC7C5F3E1, -/**/ 0x3FF33000, 0x00000000, -/**/ 0xBF246252, 0xBC40BFDA, -/**/ 0xBFC73CB9, 0x074FE000, -/**/ 0x3D3D66A9, 0x0D0005A6, -/**/ 0x3FF32800, 0x00000000, -/**/ 0x3F39E640, 0x13299E64, -/**/ 0xBFC71660, 0x0C914000, -/**/ 0xBCE51B15, 0x7CEC3838, -/**/ 0x3FF32400, 0x00000000, -/**/ 0xBEFCB5D4, 0xEF40991F, -/**/ 0xBFC6F012, 0x8B756000, -/**/ 0xBD357739, 0x0D31EF0F, -/**/ 0x3FF32000, 0x00000000, -/**/ 0xBF3D4632, 0xC823D892, -/**/ 0xBFC6C9D0, 0x7D204000, -/**/ 0x3CDC73FA, 0xFD9B2DCA, -/**/ 0x3FF31800, 0x00000000, -/**/ 0x3F1DD63A, 0x7AED804C, -/**/ 0xBFC6A399, 0xDABBE000, -/**/ 0x3D38F934, 0xE66A15A6, -/**/ 0x3FF31400, 0x00000000, -/**/ 0xBF339849, 0xE8C11E1A, -/**/ 0xBFC67D6E, 0x9D786000, -/**/ 0x3D311E88, 0x30A706D3, -/**/ 0x3FF30C00, 0x00000000, -/**/ 0x3F319013, 0x0D190131, -/**/ 0xBFC6574E, 0xBE8C2000, -/**/ 0x3D398C1D, 0x34F0F462, -/**/ 0x3FF30800, 0x00000000, -/**/ 0xBF222315, 0xB47A7FDA, -/**/ 0xBFC6313A, 0x37336000, -/**/ 0x3D144DF5, 0x4F21EA6D, -/**/ 0x3FF30000, 0x00000000, -/**/ 0x3F3C82AC, 0x40260390, -/**/ 0xBFC60B31, 0x00B0A000, -/**/ 0x3D371456, 0xC988F814, -/**/ 0x3FF2FC00, 0x00000000, -/**/ 0x3F026443, 0xA2430A62, -/**/ 0xBFC5E533, 0x144C2000, -/**/ 0x3D31CE0B, 0xF3B290EA, -/**/ 0x3FF2F800, 0x00000000, -/**/ 0xBF37B425, 0xED097B42, -/**/ 0xBFC5BF40, 0x6B544000, -/**/ 0x3D127023, 0xEB68981C, -/**/ 0x3FF2F000, 0x00000000, -/**/ 0x3F2D00E3, 0x4AE0553C, -/**/ 0xBFC59958, 0xFF1D6000, -/**/ 0x3D3A1D05, 0x9769CA05, -/**/ 0x3FF2EC00, 0x00000000, -/**/ 0xBF262BC0, 0x25D69D44, -/**/ 0xBFC5737C, 0xC9018000, -/**/ 0xBD39BAA7, 0xA6B887F6, -/**/ 0x3FF2E400, 0x00000000, -/**/ 0x3F3B88B5, 0xE3103D6B, -/**/ 0xBFC54DAB, 0xC2610000, -/**/ 0xBD2746FE, 0xE5C8D0D8, -/**/ 0x3FF2E000, 0x00000000, -/**/ 0x3F02E025, 0xC04B8097, -/**/ 0xBFC527E5, 0xE4A1C000, -/**/ 0x3D34E60B, 0x8D4B411D, -/**/ 0x3FF2DC00, 0x00000000, -/**/ 0xBF369C22, 0x2C305021, -/**/ 0xBFC5022B, 0x292F6000, -/**/ 0xBD348A05, 0xFF36A25B, -/**/ 0x3FF2D400, 0x00000000, -/**/ 0x3F30A012, 0xD50A012D, -/**/ 0xBFC4DC7B, 0x897BC000, -/**/ 0xBD0C79B6, 0x0AE1FF0F, -/**/ 0x3FF2D000, 0x00000000, -/**/ 0xBF1FBE29, 0xBC66484E, -/**/ 0xBFC4B6D6, 0xFEFE2000, -/**/ 0xBD1522EC, 0xF56E7952, -/**/ 0x3FF2C800, 0x00000000, -/**/ 0x3F3FB4D8, 0x12C9FB4E, -/**/ 0xBFC4913D, 0x8333C000, -/**/ 0x3D353E43, 0x558124C4, -/**/ 0x3FF2C400, 0x00000000, -/**/ 0x3F1E3432, 0x7004B11E, -/**/ 0xBFC46BAF, 0x0F9F6000, -/**/ 0x3D1249CD, 0x0790841A, -/**/ 0x3FF2C000, 0x00000000, -/**/ 0xBF30671A, 0x5C8EF02F, -/**/ 0xBFC4462B, 0x9DC9C000, -/**/ 0x3D384858, 0xA711B062, -/**/ 0x3FF2B800, 0x00000000, -/**/ 0x3F37D835, 0xD548D9AC, -/**/ 0xBFC420B3, 0x27410000, -/**/ 0x3D116282, 0xC85A0884, -/**/ 0x3FF2B400, 0x00000000, -/**/ 0x3ED2B404, 0xAD012B40, -/**/ 0xBFC3FB45, 0xA5992000, -/**/ 0xBD319713, 0xC0CAE559, -/**/ 0x3FF2B000, 0x00000000, -/**/ 0xBF370F78, 0x8E7302A1, -/**/ 0xBFC3D5E3, 0x126BC000, -/**/ 0xBD13FB2F, 0x85096C4B, -/**/ 0x3FF2A800, 0x00000000, -/**/ 0x3F31C92F, 0x3C1053F9, -/**/ 0xBFC3B08B, 0x67580000, -/**/ 0x3D3AADE8, 0xF29320FB, -/**/ 0x3FF2A400, 0x00000000, -/**/ 0xBF14AD94, 0x3DBE2E04, -/**/ 0xBFC38B3E, 0x9E028000, -/**/ 0x3D370EF0, 0x545C17F9, -/**/ 0x3FF2A000, 0x00000000, -/**/ 0xBF3BED61, 0xBED61BED, -/**/ 0xBFC365FC, 0xB015A000, -/**/ 0x3D3FD3A0, 0xAFB9691B, -/**/ 0x3FF29800, 0x00000000, -/**/ 0x3F2B061A, 0x26F004A6, -/**/ 0xBFC340C5, 0x97412000, -/**/ 0x3D37A3DC, 0xF7D9D386, -/**/ 0x3FF29400, 0x00000000, -/**/ 0xBF21B488, 0xFF6B646D, -/**/ 0xBFC31B99, 0x4D3A4000, -/**/ 0xBD3F098E, 0xE3A50810, -/**/ 0x3FF29000, 0x00000000, -/**/ 0xBF3F0582, 0x2CA5D5AC, -/**/ 0xBFC2F677, 0xCBBC0000, -/**/ 0xBD352B30, 0x2160F40D, -/**/ 0x3FF28800, 0x00000000, -/**/ 0x3F260251, 0x16025116, -/**/ 0xBFC2D161, 0x0C868000, -/**/ 0xBD039D6C, 0xCB81B4A1, -/**/ 0x3FF28400, 0x00000000, -/**/ 0xBF258CDF, 0x502065D2, -/**/ 0xBFC2AC55, 0x095F6000, -/**/ 0x3D1D3466, 0xD0C6C8A8, -/**/ 0x3FF27C00, 0x00000000, -/**/ 0x3F3FA38A, 0x1CE4D6F8, -/**/ 0xBFC28753, 0xBC11A000, -/**/ 0xBD37494E, 0x359302E6, -/**/ 0x3FF27800, 0x00000000, -/**/ 0x3F247DD5, 0xDCCA0781, -/**/ 0xBFC2625D, 0x1E6DE000, -/**/ 0x3CF52962, 0xF09E3D82, -/**/ 0x3FF27400, 0x00000000, -/**/ 0xBF25E8EF, 0xDB195E8F, -/**/ 0xBFC23D71, 0x2A49C000, -/**/ 0xBD100D23, 0x8FD3DF5C, -/**/ 0x3FF27000, 0x00000000, -/**/ 0xBF3FF6C8, 0xFFB647FE, -/**/ 0xBFC2188F, 0xD9808000, -/**/ 0x3D3B3A1E, 0x7F50C701, -/**/ 0x3FF26800, 0x00000000, -/**/ 0x3F266F9A, 0xC024D167, -/**/ 0xBFC1F3B9, 0x25F26000, -/**/ 0x3D15F74E, 0x9B083633, -/**/ 0x3FF26400, 0x00000000, -/**/ 0xBF22D1BD, 0xEABD0E14, -/**/ 0xBFC1CEED, 0x09854000, -/**/ 0x3D315C1C, 0x39192AF9, -/**/ 0x3FF26000, 0x00000000, -/**/ 0xBF3DD8F7, 0xF6D0EEC8, -/**/ 0xBFC1AA2B, 0x7E240000, -/**/ 0x3D31AC38, 0xDDE3B366, -/**/ 0x3FF25800, 0x00000000, -/**/ 0x3F2BCEB1, 0x2A241EF6, -/**/ 0xBFC18574, 0x7DBEC000, -/**/ 0xBD3E6744, 0x45BD9B49, -/**/ 0x3FF25400, 0x00000000, -/**/ 0xBF18A05B, 0xA21378D7, -/**/ 0xBFC160C8, 0x024B2000, -/**/ 0xBD2EC2D2, 0xA9009E3D, -/**/ 0x3FF25000, 0x00000000, -/**/ 0xBF3A076F, 0xD6CFA90C, -/**/ 0xBFC13C26, 0x05C3A000, -/**/ 0x3D2CF5FD, 0xD94F6509, -/**/ 0x3FF24800, 0x00000000, -/**/ 0x3F324924, 0x92492492, -/**/ 0xBFC1178E, 0x8227E000, -/**/ 0xBD21EF78, 0xCE2D07F2, -/**/ 0x3FF24400, 0x00000000, -/**/ 0xBEF3682B, 0x6151E899, -/**/ 0xBFC0F301, 0x717D0000, -/**/ 0x3D3E09B4, 0x41AE86C5, -/**/ 0x3FF24000, 0x00000000, -/**/ 0xBF34868E, 0x89FA4C67, -/**/ 0xBFC0CE7E, 0xCDCCC000, -/**/ 0xBD14652D, 0xABFF5447, -/**/ 0x3FF23800, 0x00000000, -/**/ 0x3F3858D8, 0x6B11F09F, -/**/ 0xBFC0AA06, 0x91268000, -/**/ 0x3D345519, 0xD7032129, -/**/ 0x3FF23400, 0x00000000, -/**/ 0x3F159E26, 0xAF37C049, -/**/ 0xBFC08598, 0xB59E4000, -/**/ 0x3D27E5DD, 0x7009902C, -/**/ 0x3FF23000, 0x00000000, -/**/ 0xBF2AB546, 0x2E076329, -/**/ 0xBFC06135, 0x354D4000, -/**/ 0xBD363046, 0x28340EE9, -/**/ 0x3FF22C00, 0x00000000, -/**/ 0xBF3FEDD5, 0xFEDD5FEE, -/**/ 0xBFC03CDC, 0x0A51E000, -/**/ 0xBD381A9C, 0xF169FC5C, -/**/ 0x3FF22400, 0x00000000, -/**/ 0x3F2B5B92, 0x009126D7, -/**/ 0xBFC0188D, 0x2ECF6000, -/**/ 0xBD03F965, 0x1CFF9DFE, -/**/ 0x3FF22000, 0x00000000, -/**/ 0xBF121FB7, 0x8121FB78, -/**/ 0xBFBFE891, 0x39DBC000, -/**/ 0xBD356594, 0xD82F7A82, -/**/ 0x3FF21C00, 0x00000000, -/**/ 0xBF368F22, 0x3A459635, -/**/ 0xBFBFA01C, 0x9DB58000, -/**/ 0x3D08F351, 0xFA48A730, -/**/ 0x3FF21400, 0x00000000, -/**/ 0x3F379804, 0x855E6012, -/**/ 0xBFBF57BC, 0x7D900000, -/**/ 0xBD176A6C, 0x9EA8B04E, -/**/ 0x3FF21000, 0x00000000, -/**/ 0x3F17B57C, 0x78CD7A37, -/**/ 0xBFBF0F70, 0xCDD98000, -/**/ 0xBD32E31F, 0x6C272C1E, -/**/ 0x3FF20C00, 0x00000000, -/**/ 0xBF271E73, 0x07E4EF15, -/**/ 0xBFBEC739, 0x830A0000, -/**/ 0xBD311FCB, 0xA80CDD10, -/**/ 0x3FF20800, 0x00000000, -/**/ 0xBF3CDDEC, 0x49392BA7, -/**/ 0xBFBE7F16, 0x91A34000, -/**/ 0x3D32C1C5, 0x9BC77BFA, -/**/ 0x3FF20000, 0x00000000, -/**/ 0x3F320120, 0x12012012, -/**/ 0xBFBE3707, 0xEE304000, -/**/ 0xBD20F684, 0xE6766ABD, -/**/ 0x3FF1FC00, 0x00000000, -/**/ 0x3EF0DC4F, 0xCE8AD1A2, -/**/ 0xBFBDEF0D, 0x8D468000, -/**/ 0x3D324750, 0x412E9A74, -/**/ 0x3FF1F800, 0x00000000, -/**/ 0xBF2F7047, 0xDC11F704, -/**/ 0xBFBDA727, 0x63844000, -/**/ 0xBD1A8940, 0x1FA71733, -/**/ 0x3FF1F000, 0x00000000, -/**/ 0x3F3FAF3F, 0x16B6419D, -/**/ 0xBFBD5F55, 0x65920000, -/**/ 0xBD30E239, 0xCC185469, -/**/ 0x3FF1EC00, 0x00000000, -/**/ 0x3F2E878F, 0xF70985E2, -/**/ 0xBFBD1797, 0x88218000, -/**/ 0xBD336433, 0xB5EFBEED, -/**/ 0x3FF1E800, 0x00000000, -/**/ 0xBEEF55E4, 0x94D7FDC3, -/**/ 0xBFBCCFED, 0xBFEE0000, -/**/ 0xBD33A823, 0x2FE71256, -/**/ 0x3FF1E400, 0x00000000, -/**/ 0xBF310C4C, 0x0478BBCF, -/**/ 0xBFBC8858, 0x01BC4000, -/**/ 0xBD2646D1, 0xC65AACD3, -/**/ 0x3FF1DC00, 0x00000000, -/**/ 0x3F3F0ECB, 0xCB840C49, -/**/ 0xBFBC40D6, 0x425A4000, -/**/ 0xBD3CB112, 0x1D1930DD, -/**/ 0x3FF1D800, 0x00000000, -/**/ 0x3F2EACE5, 0xC9579074, -/**/ 0xBFBBF968, 0x769FC000, -/**/ 0xBD24218C, 0x8D824283, -/**/ 0x3FF1D400, 0x00000000, -/**/ 0xBECABDFA, 0xFC60F0AE, -/**/ 0xBFBBB20E, 0x936D8000, -/**/ 0x3D368BA8, 0x35459B8E, -/**/ 0x3FF1D000, 0x00000000, -/**/ 0xBF2F2A4B, 0xAFDC61F3, -/**/ 0xBFBB6AC8, 0x8DAD4000, -/**/ 0xBD3B1BDF, 0xF50225C7, -/**/ 0x3FF1CC00, 0x00000000, -/**/ 0xBF3EC8AF, 0xAB802394, -/**/ 0xBFBB2396, 0x5A530000, -/**/ 0x3CEFF64E, 0xEA137079, -/**/ 0x3FF1C400, 0x00000000, -/**/ 0x3F322FC1, 0xCE058D9B, -/**/ 0xBFBADC77, 0xEE5B0000, -/**/ 0x3D3573B2, 0x09C31904, -/**/ 0x3FF1C000, 0x00000000, -/**/ 0x3F0AA04F, 0xE0EFA2CF, -/**/ 0xBFBA956D, 0x3ECAC000, -/**/ 0xBD3E6379, 0x4C02C4AF, -/**/ 0x3FF1BC00, 0x00000000, -/**/ 0xBF26B7F7, 0x225ADFDD, -/**/ 0xBFBA4E76, 0x40B1C000, -/**/ 0x3D0E42B6, 0xB94407C8, -/**/ 0x3FF1B800, 0x00000000, -/**/ 0xBF39E073, 0x217CD13A, -/**/ 0xBFBA0792, 0xE9278000, -/**/ 0x3D0A9CE6, 0xC9AD51BF, -/**/ 0x3FF1B000, 0x00000000, -/**/ 0x3F37C67F, 0x2BAE2B21, -/**/ 0xBFB9C0C3, 0x2D4D4000, -/**/ 0x3D3AB7C0, 0x9E838668, -/**/ 0x3FF1AC00, 0x00000000, -/**/ 0x3F23316E, 0xBD720DCF, -/**/ 0xBFB97A07, 0x024CC000, -/**/ 0x3CF8BCC1, 0x732093CE, -/**/ 0x3FF1A800, 0x00000000, -/**/ 0xBF11A7B9, 0x611A7B96, -/**/ 0xBFB9335E, 0x5D594000, -/**/ 0xBD23115C, 0x3ABD47DA, -/**/ 0x3FF1A400, 0x00000000, -/**/ 0xBF324195, 0xA1C1B8E7, -/**/ 0xBFB8ECC9, 0x33AEC000, -/**/ 0x3D222F39, 0xBE67F7AA, -/**/ 0x3FF1A000, 0x00000000, -/**/ 0xBF3FEE61, 0xFEE61FEE, -/**/ 0xBFB8A647, 0x7A91C000, -/**/ 0xBD3C28C0, 0xAF9BD6DF, -/**/ 0x3FF19800, 0x00000000, -/**/ 0x3F328F89, 0x362B721D, -/**/ 0xBFB85FD9, 0x27508000, -/**/ 0x3D35B818, 0x19970C1C, -/**/ 0x3FF19400, 0x00000000, -/**/ 0x3F14E023, 0x28A70119, -/**/ 0xBFB8197E, 0x2F410000, -/**/ 0x3D3C0FE4, 0x60D20041, -/**/ 0x3FF19000, 0x00000000, -/**/ 0xBF1FD419, 0x3E48FC6F, -/**/ 0xBFB7D336, 0x87C28000, -/**/ 0xBD33C88C, 0x3E706706, -/**/ 0x3FF18C00, 0x00000000, -/**/ 0xBF34F7C6, 0xFD42546B, -/**/ 0xBFB78D02, 0x263D8000, -/**/ 0xBD069B57, 0x94B69FB7, -/**/ 0x3FF18400, 0x00000000, -/**/ 0x3F3E2FA4, 0x01185E30, -/**/ 0xBFB746E1, 0x00228000, -/**/ 0x3D3126D1, 0x6E1E21D2, -/**/ 0x3FF18000, 0x00000000, -/**/ 0x3F318118, 0x11811812, -/**/ 0xBFB700D3, 0x0AEAC000, -/**/ 0xBCEC1E8D, 0xA99DED32, -/**/ 0x3FF17C00, 0x00000000, -/**/ 0x3F13F1CA, 0xFF2E2C43, -/**/ 0xBFB6BAD8, 0x3C188000, -/**/ 0xBD0DAF3C, 0xC08926AE, -/**/ 0x3FF17800, 0x00000000, -/**/ 0xBF1D79B9, 0x0A5EF9FF, -/**/ 0xBFB674F0, 0x89364000, -/**/ 0xBD3A7999, 0x4C9D3302, -/**/ 0x3FF17400, 0x00000000, -/**/ 0xBF338FAD, 0x1ECEA765, -/**/ 0xBFB62F1B, 0xE7D78000, -/**/ 0x3D217995, 0x7ED63C4E, -/**/ 0x3FF17000, 0x00000000, -/**/ 0xBF3F976B, 0xD8C8714B, -/**/ 0xBFB5E95A, 0x4D978000, -/**/ 0xBD31CB7C, 0xE1D17171, -/**/ 0x3FF16800, 0x00000000, -/**/ 0x3F348A33, 0xB08FA497, -/**/ 0xBFB5A3AB, 0xB01AC000, -/**/ 0xBD3E2574, 0x9E6AFA18, -/**/ 0x3FF16400, 0x00000000, -/**/ 0x3F21AA1F, 0x864022C9, -/**/ 0xBFB55E10, 0x050E0000, -/**/ 0xBD0C1D74, 0x0C53C72E, -/**/ 0x3FF16000, 0x00000000, -/**/ 0xBF05B7C9, 0xB487BCAD, -/**/ 0xBFB51887, 0x42260000, -/**/ 0xBD330A1D, 0x96258B3E, -/**/ 0x3FF15C00, 0x00000000, -/**/ 0xBF2C3411, 0x5B1E5F75, -/**/ 0xBFB4D311, 0x5D208000, -/**/ 0x3CF53A25, 0x82F4E1EF, -/**/ 0x3FF15800, 0x00000000, -/**/ 0xBF39543F, 0xEEA99544, -/**/ 0xBFB48DAE, 0x4BC30000, -/**/ 0xBD30185B, 0x208C200C, -/**/ 0x3FF15000, 0x00000000, -/**/ 0x3F3B9A3F, 0xDD5C8CB8, -/**/ 0xBFB4485E, 0x03DBC000, -/**/ 0xBD3FAD46, 0xE8D26AB7, -/**/ 0x3FF14C00, 0x00000000, -/**/ 0x3F30B155, 0xB19AE5C7, -/**/ 0xBFB40320, 0x7B414000, -/**/ 0xBD26FD84, 0xAA8157C0, -/**/ 0x3FF14800, 0x00000000, -/**/ 0x3F17C382, 0xB34EDA32, -/**/ 0xBFB3BDF5, 0xA7D20000, -/**/ 0x3D319BD0, 0xAD125895, -/**/ 0x3FF14400, 0x00000000, -/**/ 0xBF129CFF, 0xBAF129D0, -/**/ 0xBFB378DD, 0x7F748000, -/**/ 0xBD371411, 0x28F1FACA, -/**/ 0x3FF14000, 0x00000000, -/**/ 0xBF2E2E59, 0x771B7C7F, -/**/ 0xBFB333D7, 0xF8184000, -/**/ 0x3CE692B6, 0xA81B8848, -/**/ 0x3FF13C00, 0x00000000, -/**/ 0xBF395F06, 0x30FE1D9C, -/**/ 0xBFB2EEE5, 0x07B40000, -/**/ 0xBD08081E, 0xDD77C860, -/**/ 0x3FF13400, 0x00000000, -/**/ 0x3F3C8113, 0x5C81135D, -/**/ 0xBFB2AA04, 0xA4470000, -/**/ 0xBD37A48B, 0xA8B1CB41, -/**/ 0x3FF13000, 0x00000000, -/**/ 0x3F3288FF, 0xBB3B5DC0, -/**/ 0xBFB26536, 0xC3D8C000, -/**/ 0xBD0B4BAC, 0x097C5BA3, -/**/ 0x3FF12C00, 0x00000000, -/**/ 0x3F21713D, 0xB81577AE, -/**/ 0xBFB2207B, 0x5C784000, -/**/ 0xBD349D8C, 0xFC10C7BF, -/**/ 0x3FF12800, 0x00000000, -/**/ 0xBEEE05E5, 0xBAD6FC84, -/**/ 0xBFB1DBD2, 0x643D0000, -/**/ 0xBD390B24, 0xD977C494, -/**/ 0x3FF12400, 0x00000000, -/**/ 0xBF24E314, 0x59F992BF, -/**/ 0xBFB1973B, 0xD1464000, -/**/ 0xBD3566D1, 0x54F930B3, -/**/ 0x3FF12000, 0x00000000, -/**/ 0xBF33CB91, 0xC9F6E7A8, -/**/ 0xBFB152B7, 0x99BB4000, -/**/ 0x3D09BB29, 0x07030829, -/**/ 0x3FF11C00, 0x00000000, -/**/ 0xBF3CFE65, 0x8B7D9851, -/**/ 0xBFB10E45, 0xB3CB0000, -/**/ 0x3D37CF69, 0x284A3465, -/**/ 0x3FF11400, 0x00000000, -/**/ 0x3F39F5DB, 0x29605DF7, -/**/ 0xBFB0C9E6, 0x15AC4000, -/**/ 0xBD2C2DA8, 0x0974D976, -/**/ 0x3FF11000, 0x00000000, -/**/ 0x3F311111, 0x11111111, -/**/ 0xBFB08598, 0xB59E4000, -/**/ 0x3D17E5DD, 0x7009902C, -/**/ 0x3FF10C00, 0x00000000, -/**/ 0x3F20A63A, 0x12A5B1AE, -/**/ 0xBFB0415D, 0x89E74000, -/**/ 0xBD1111C0, 0x5CF1D753, -/**/ 0x3FF10800, 0x00000000, -/**/ 0xBED107FB, 0xBE011080, -/**/ 0xBFAFFA69, 0x11AB8000, -/**/ 0xBD23008C, 0x98381A8F, -/**/ 0x3FF10400, 0x00000000, -/**/ 0xBF216989, 0x6FEABBAE, -/**/ 0xBFAF723B, 0x51800000, -/**/ 0x3D3D6EB0, 0xDD5610D3, -/**/ 0x3FF10000, 0x00000000, -/**/ 0xBF30FEF0, 0x10FEF011, -/**/ 0xBFAEEA31, 0xC0068000, -/**/ 0xBD3C3DD8, 0x3606D891, -/**/ 0x3FF0FC00, 0x00000000, -/**/ 0xBF3922C0, 0x98CDDC74, -/**/ 0xBFAE624C, 0x4A0B8000, -/**/ 0x3D30F25C, 0x74676689, -/**/ 0x3FF0F400, 0x00000000, -/**/ 0x3F3EDFAB, 0x325A1A80, -/**/ 0xBFADDA8A, 0xDC680000, -/**/ 0x3D21B1AC, 0x64D9E42F, -/**/ 0x3FF0F000, 0x00000000, -/**/ 0x3F370834, 0xF27F9A57, -/**/ 0xBFAD52ED, 0x64060000, -/**/ 0x3D33C85D, 0x2A29BBD6, -/**/ 0x3FF0EC00, 0x00000000, -/**/ 0x3F2EAD7C, 0xD391FBC5, -/**/ 0xBFACCB73, 0xCDDD8000, -/**/ 0xBD3965C3, 0x6E09F5FE, -/**/ 0x3FF0E800, 0x00000000, -/**/ 0x3F1F2CA5, 0xE9479870, -/**/ 0xBFAC441E, 0x06F70000, -/**/ 0xBD354F1F, 0x49850D15, -/**/ 0x3FF0E400, 0x00000000, -/**/ 0x3ED95609, 0x80439019, -/**/ 0xBFABBCEB, 0xFC690000, -/**/ 0x3D17BF86, 0x8C317C2A, -/**/ 0x3FF0E000, 0x00000000, -/**/ 0xBF1B6B4D, 0xC6867596, -/**/ 0xBFAB35DD, 0x9B588000, -/**/ 0xBD3D5674, 0xD6CF558E, -/**/ 0x3FF0DC00, 0x00000000, -/**/ 0xBF2BEAEE, 0x172D4CE8, -/**/ 0xBFAAAEF2, 0xD0FB0000, -/**/ 0xBD20FC1A, 0x353BB42E, -/**/ 0x3FF0D800, 0x00000000, -/**/ 0xBF34EAB0, 0x479071A9, -/**/ 0xBFAA282B, 0x8A938000, -/**/ 0x3D2E8F59, 0x80EFC8E3, -/**/ 0x3FF0D400, 0x00000000, -/**/ 0xBF3BBA9C, 0xA61C62D3, -/**/ 0xBFA9A187, 0xB5740000, -/**/ 0x3D30C22E, 0x4EC4D90D, -/**/ 0x3FF0CC00, 0x00000000, -/**/ 0x3F3D9AA6, 0x77344011, -/**/ 0xBFA91B07, 0x3EFD8000, -/**/ 0x3D19D7C5, 0x3F76CA96, -/**/ 0x3FF0C800, 0x00000000, -/**/ 0x3F3714FB, 0xCDA3AC11, -/**/ 0xBFA894AA, 0x149F8000, -/**/ 0xBD39A19A, 0x8BE97661, -/**/ 0x3FF0C400, 0x00000000, -/**/ 0x3F30B446, 0x391F2E61, -/**/ 0xBFA80E70, 0x23D90000, -/**/ 0x3D399DC1, 0x6F28BF45, -/**/ 0x3FF0C000, 0x00000000, -/**/ 0x3F24F0D1, 0x682E11CD, -/**/ 0xBFA78859, 0x5A358000, -/**/ 0x3D108B0D, 0x083B3A4C, -/**/ 0x3FF0BC00, 0x00000000, -/**/ 0x3F118519, 0x5D5A36EA, -/**/ 0xBFA70265, 0xA5510000, -/**/ 0x3D2888DF, 0x11FD5CE7, -/**/ 0x3FF0B800, 0x00000000, -/**/ 0xBEF913DA, 0x62386CAB, -/**/ 0xBFA67C94, 0xF2D48000, -/**/ 0xBD3DAC20, 0x827CCA0C, -/**/ 0x3FF0B400, 0x00000000, -/**/ 0xBF1D7CFF, 0xBD31D7D0, -/**/ 0xBFA5F6E7, 0x30790000, -/**/ 0x3D20485A, 0x8012494C, -/**/ 0x3FF0B000, 0x00000000, -/**/ 0xBF2A11BA, 0x226951DC, -/**/ 0xBFA5715C, 0x4C040000, -/**/ 0x3D38888D, 0xDFC47628, -/**/ 0x3FF0AC00, 0x00000000, -/**/ 0xBF328E31, 0x7B2E9DD2, -/**/ 0xBFA4EBF4, 0x334A0000, -/**/ 0x3D2D9150, 0xF73BE773, -/**/ 0x3FF0A800, 0x00000000, -/**/ 0xBF37EF59, 0x7EF597EF, -/**/ 0xBFA466AE, 0xD42E0000, -/**/ 0x3D2C1673, 0x75BDFD28, -/**/ 0x3FF0A400, 0x00000000, -/**/ 0xBF3D2C71, 0x50D413C1, -/**/ 0xBFA3E18C, 0x1CA08000, -/**/ 0xBD3748ED, 0x3F6E378E, -/**/ 0x3FF09C00, 0x00000000, -/**/ 0x3F3DBA6A, 0xF836010A, -/**/ 0xBFA35C8B, 0xFAA10000, -/**/ 0xBD38357D, 0x5EF9EB35, -/**/ 0x3FF09800, 0x00000000, -/**/ 0x3F38C51F, 0x624D4AF5, -/**/ 0xBFA2D7AE, 0x5C3C8000, -/**/ 0x3D322939, 0x459DA66D, -/**/ 0x3FF09400, 0x00000000, -/**/ 0x3F33F390, 0x10953F39, -/**/ 0xBFA252F3, 0x2F8D0000, -/**/ 0xBD283E9A, 0xE021B67B, -/**/ 0x3FF09000, 0x00000000, -/**/ 0x3F2E8B42, 0x861539B9, -/**/ 0xBFA1CE5A, 0x62BC0000, -/**/ 0xBD3A9CC7, 0x8D8DF999, -/**/ 0x3FF08C00, 0x00000000, -/**/ 0x3F25766E, 0xACBC4021, -/**/ 0xBFA149E3, 0xE4008000, -/**/ 0x3D32B98A, 0x9A4168FD, -/**/ 0x3FF08800, 0x00000000, -/**/ 0x3F1950DB, 0x0F3DBD5A, -/**/ 0xBFA0C58F, 0xA19E0000, -/**/ 0x3D0559D1, 0x58B17913, -/**/ 0x3FF08400, 0x00000000, -/**/ 0x3F008421, 0x08421084, -/**/ 0xBFA0415D, 0x89E78000, -/**/ 0x3D3DDDC7, 0xF461C516, -/**/ 0x3FF08000, 0x00000000, -/**/ 0xBF007FDF, 0x0041FF7C, -/**/ 0xBF9F7A9B, 0x16780000, -/**/ 0xBD242AD9, 0x271BE7D7, -/**/ 0x3FF07C00, 0x00000000, -/**/ 0xBF183591, 0xC54798FB, -/**/ 0xBF9E72BF, 0x28140000, -/**/ 0x3D28D751, 0x49774D47, -/**/ 0x3FF07800, 0x00000000, -/**/ 0xBF23CFA1, 0x518F4EFD, -/**/ 0xBF9D6B27, 0x25980000, -/**/ 0x3D39FF7B, 0x50D1B838, -/**/ 0x3FF07400, 0x00000000, -/**/ 0xBF2B3EB7, 0x01073261, -/**/ 0xBF9C63D2, 0xEC150000, -/**/ 0x3D35439C, 0xE030A687, -/**/ 0x3FF07000, 0x00000000, -/**/ 0xBF31341F, 0xD6EAB025, -/**/ 0xBF9B5CC2, 0x58B70000, -/**/ 0xBD18E611, 0xB8AFBFE8, -/**/ 0x3FF06C00, 0x00000000, -/**/ 0xBF34A638, 0x6ED049E0, -/**/ 0xBF9A55F5, 0x48C60000, -/**/ 0x3D2DE070, 0x9F2D03C9, -/**/ 0x3FF06800, 0x00000000, -/**/ 0xBF37F5BF, 0xEF997F5C, -/**/ 0xBF994F6B, 0x99A20000, -/**/ 0xBD311D5E, 0xF96CF7F5, -/**/ 0x3FF06400, 0x00000000, -/**/ 0xBF3B22D0, 0xE5604189, -/**/ 0xBF984925, 0x28C90000, -/**/ 0x3D2AA0BA, 0x325A0C34, -/**/ 0x3FF06000, 0x00000000, -/**/ 0xBF3E2D85, 0xC1163FF0, -/**/ 0xBF974321, 0xD3D00000, -/**/ 0xBCFB4A69, 0x0FE94778, -/**/ 0x3FF05800, 0x00000000, -/**/ 0x3F3EEA07, 0x27586632, -/**/ 0xBF963D61, 0x78690000, -/**/ 0xBD07ABF3, 0x89596542, -/**/ 0x3FF05400, 0x00000000, -/**/ 0x3F3C23BB, 0x98E2A5E7, -/**/ 0xBF9537E3, 0xF45F0000, -/**/ 0xBD2AB259, 0xD2D7F253, -/**/ 0x3FF05000, 0x00000000, -/**/ 0x3F397F7D, 0x73404146, -/**/ 0xBF9432A9, 0x25980000, -/**/ 0xBD098139, 0x928637FE, -/**/ 0x3FF04C00, 0x00000000, -/**/ 0x3F36FD32, 0xB0C7B49A, -/**/ 0xBF932DB0, 0xEA130000, -/**/ 0xBD2710CB, 0x130895FC, -/**/ 0x3FF04800, 0x00000000, -/**/ 0x3F349CC1, 0x664C578A, -/**/ 0xBF9228FB, 0x1FEA0000, -/**/ 0xBD2713E3, 0x284991FE, -/**/ 0x3FF04400, 0x00000000, -/**/ 0x3F325E0F, 0xC2FCB1F4, -/**/ 0xBF912487, 0xA5500000, -/**/ 0xBD3FDBE5, 0xFED4B393, -/**/ 0x3FF04000, 0x00000000, -/**/ 0x3F304104, 0x10410410, -/**/ 0xBF902056, 0x58930000, -/**/ 0xBD3611D2, 0x7C8E8417, -/**/ 0x3FF03C00, 0x00000000, -/**/ 0x3F2C8B09, 0x6334030B, -/**/ 0xBF8E38CE, 0x30340000, -/**/ 0x3D39DE88, 0xA3DA281A, -/**/ 0x3FF03800, 0x00000000, -/**/ 0x3F28D6F0, 0x48FF7E3A, -/**/ 0xBF8C3173, 0x84C80000, -/**/ 0x3D341F33, 0xFCEFB9FE, -/**/ 0x3FF03400, 0x00000000, -/**/ 0x3F25658A, 0x0081A559, -/**/ 0xBF8A2A9C, 0x6C180000, -/**/ 0x3D3F73BC, 0x4D6D3472, -/**/ 0x3FF03000, 0x00000000, -/**/ 0x3F2236A3, 0xEBC349DE, -/**/ 0xBF882448, 0xA3880000, -/**/ 0xBD345544, 0x12C584E0, -/**/ 0x3FF02C00, 0x00000000, -/**/ 0x3F1E9417, 0x3FEFD386, -/**/ 0xBF861E77, 0xE8B60000, -/**/ 0x3D38073E, 0xEAF8EAF3, -/**/ 0x3FF02800, 0x00000000, -/**/ 0x3F193F1D, 0xCA7A317C, -/**/ 0xBF841929, 0xF9680000, -/**/ 0xBD1977C7, 0x55D01368, -/**/ 0x3FF02400, 0x00000000, -/**/ 0x3F146DF7, 0x6CB49652, -/**/ 0xBF82145E, 0x939E0000, -/**/ 0xBD3E3D12, 0x38C4EA00, -/**/ 0x3FF02000, 0x00000000, -/**/ 0x3F102040, 0x81020408, -/**/ 0xBF801015, 0x75880000, -/**/ 0xBD3BCE25, 0x1998B506, -/**/ 0x3FF01C00, 0x00000000, -/**/ 0x3F08AB2B, 0x8C355D63, -/**/ 0xBF7C189C, 0xBB100000, -/**/ 0x3D3D8055, 0x12588560, -/**/ 0x3FF01800, 0x00000000, -/**/ 0x3F021B28, 0xBD1BA97E, -/**/ 0xBF781212, 0x14580000, -/**/ 0xBD1AD503, 0x82973F27, -/**/ 0x3FF01400, 0x00000000, -/**/ 0x3EF91F67, 0x411155AB, -/**/ 0xBF740C8A, 0x74780000, -/**/ 0xBD1E3871, 0xDF070002, -/**/ 0x3FF01000, 0x00000000, -/**/ 0x3EF01010, 0x10101010, -/**/ 0xBF700805, 0x59580000, -/**/ 0xBD2166AF, 0xCB31C67B, -/**/ 0x3FF00C00, 0x00000000, -/**/ 0x3EE20D8A, 0x279DB649, -/**/ 0xBF680904, 0x82880000, -/**/ 0xBD285C06, 0x96A70C0C, -/**/ 0x3FF00800, 0x00000000, -/**/ 0x3ED00804, 0x02010080, -/**/ 0xBF600401, 0x55D80000, -/**/ 0x3D33BB10, 0xC7CC7089, -/**/ 0x3FF00400, 0x00000000, -/**/ 0x3EB00401, 0x00401004, -/**/ 0xBF500200, 0x55600000, -/**/ 0xBD356224, 0xCD5F35F8, -/**/ 0x3FF00000, 0x00000000, -/**/ 0x00000000, 0x00000000, -/**/ 0x00000000, 0x00000000, -/**/ 0x00000000, 0x00000000, -/**/ 0x3FEFF800, 0x00000000, -/**/ 0x3EAFF801, 0xFF801FF8, -/**/ 0x3F4FFC00, 0xAA800000, -/**/ 0x3D35621F, 0x7809A0A3, -/**/ 0x3FEFF000, 0x00000000, -/**/ 0x3ECFF007, 0xFC01FF00, -/**/ 0x3F5FF802, 0xA9B00000, -/**/ 0xBD33BC66, 0x1D61C5EB, -/**/ 0x3FEFE800, 0x00000000, -/**/ 0x3EE1F28A, 0x186DADBE, -/**/ 0x3F67F704, 0x7D780000, -/**/ 0x3D283DA6, 0x89D68648, -/**/ 0x3FEFE000, 0x00000000, -/**/ 0x3EEFE01F, 0xE01FE020, -/**/ 0x3F6FF00A, 0xA2B00000, -/**/ 0x3D20BC04, 0xA086B56A, -/**/ 0x3FEFD800, 0x00000000, -/**/ 0x3EF8E0E6, 0xDF68BD14, -/**/ 0x3F73F38A, 0x60F00000, -/**/ 0x3D192256, 0x93C93749, -/**/ 0x3FEFD000, 0x00000000, -/**/ 0x3F01E528, 0x439A981C, -/**/ 0x3F77EE11, 0xEBD80000, -/**/ 0x3D0749D3, 0xC2D23A07, -/**/ 0x3FEFC800, 0x00000000, -/**/ 0x3F08556A, 0x8596391C, -/**/ 0x3F7BE79C, 0x70040000, -/**/ 0x3D38EC8F, 0x9A6C0404, -/**/ 0x3FEFC000, 0x00000000, -/**/ 0x3F0FC07F, 0x01FC07F0, -/**/ 0x3F7FE02A, 0x6B100000, -/**/ 0x3D19E23F, 0x0DDA40E4, -/**/ 0x3FEFB800, 0x00000000, -/**/ 0x3F1412D5, 0x9F5976B5, -/**/ 0x3F81EBDE, 0x2D1A0000, -/**/ 0xBD2A0683, 0xFF48DC36, -/**/ 0x3FEFB000, 0x00000000, -/**/ 0x3F18C21A, 0xBD271E34, -/**/ 0x3F83E729, 0x5D260000, -/**/ 0xBD2609C1, 0xFF29A114, -/**/ 0x3FEFA800, 0x00000000, -/**/ 0x3F1DEDB2, 0x5594A734, -/**/ 0x3F85E1F7, 0x03EC0000, -/**/ 0x3D37CA09, 0xF585DA1B, -/**/ 0x3FEFA000, 0x00000000, -/**/ 0x3F21CAA0, 0x1FA11CAA, -/**/ 0x3F87DC47, 0x5F820000, -/**/ 0xBD3EB124, 0x5B5DA1F5, -/**/ 0x3FEF9800, 0x00000000, -/**/ 0x3F24DC34, 0x55E8CB6B, -/**/ 0x3F89D61A, 0xADC60000, -/**/ 0x3D37B196, 0x327B4257, -/**/ 0x3FEF9000, 0x00000000, -/**/ 0x3F282B68, 0x13BAF1B2, -/**/ 0x3F8BCF71, 0x2C740000, -/**/ 0x3D1C25E0, 0x97BD9771, -/**/ 0x3FEF8800, 0x00000000, -/**/ 0x3F2BB80D, 0xCC420861, -/**/ 0x3F8DC84B, 0x19120000, -/**/ 0x3D1C0A54, 0x1E3A5B30, -/**/ 0x3FEF8000, 0x00000000, -/**/ 0x3F2F81F8, 0x1F81F820, -/**/ 0x3F8FC0A8, 0xB0FC0000, -/**/ 0x3CDF1E7C, 0xF6D3A69C, -/**/ 0x3FEF7800, 0x00000000, -/**/ 0x3F31C47C, 0xED1079FA, -/**/ 0x3F90DC45, 0x18B00000, -/**/ 0xBD29BC2F, 0x380313FC, -/**/ 0x3FEF7000, 0x00000000, -/**/ 0x3F33E672, 0xFA98528D, -/**/ 0x3F91D7F7, 0xEB9F0000, -/**/ 0xBD14193A, 0x83FCC7A6, -/**/ 0x3FEF6800, 0x00000000, -/**/ 0x3F3626C7, 0xCAFBD3D2, -/**/ 0x3F92D36C, 0xEFB50000, -/**/ 0x3D35F0BB, 0x341706C3, -/**/ 0x3FEF6000, 0x00000000, -/**/ 0x3F388565, 0x06DDABA6, -/**/ 0x3F93CEA4, 0x43470000, -/**/ 0xBD36A2C4, 0x32D6A40B, -/**/ 0x3FEF5800, 0x00000000, -/**/ 0x3F3B0234, 0x6CC4F5F5, -/**/ 0x3F94C99E, 0x04900000, -/**/ 0x3D1DECC6, 0x5DF5F4A5, -/**/ 0x3FEF5000, 0x00000000, -/**/ 0x3F3D9D1F, 0xD102728A, -/**/ 0x3F95C45A, 0x51B90000, -/**/ 0xBD263BB6, 0x216D87D8, -/**/ 0x3FEF5000, 0x00000000, -/**/ 0xBF3FA9EE, 0xE26A1DD4, -/**/ 0x3F96BED9, 0x48D20000, -/**/ 0xBD320BC4, 0x160A43F8, -/**/ 0x3FEF4800, 0x00000000, -/**/ 0xBF3CD30D, 0xADEC7540, -/**/ 0x3F97B91B, 0x07D60000, -/**/ 0xBD33B955, 0xB602ACE4, -/**/ 0x3FEF4000, 0x00000000, -/**/ 0xBF39DE52, 0x7C761DC6, -/**/ 0x3F98B31F, 0xACAA0000, -/**/ 0xBD33FC78, 0xA96E4964, -/**/ 0x3FEF3800, 0x00000000, -/**/ 0xBF36CBD3, 0x23989FF0, -/**/ 0x3F99ACE7, 0x551D0000, -/**/ 0xBD2D75D9, 0x7EC7C410, -/**/ 0x3FEF3000, 0x00000000, -/**/ 0xBF339BA5, 0x639F8B15, -/**/ 0x3F9AA672, 0x1EE80000, -/**/ 0x3D2AD4EB, 0x5C5AF494, -/**/ 0x3FEF2800, 0x00000000, -/**/ 0xBF304DDE, 0xE7AA579B, -/**/ 0x3F9B9FC0, 0x27B00000, -/**/ 0xBD3B9A01, 0x0AE6922A, -/**/ 0x3FEF2000, 0x00000000, -/**/ 0xBF29C52A, 0x8B8C46FD, -/**/ 0x3F9C98D1, 0x8D010000, -/**/ 0xBD2BF615, 0x0589DF0F, -/**/ 0x3FEF1800, 0x00000000, -/**/ 0xBF22B3BB, 0xFE0E92B4, -/**/ 0x3F9D91A6, 0x6C540000, -/**/ 0x3D2E61F1, 0x658CFB9A, -/**/ 0x3FEF1000, 0x00000000, -/**/ 0xBF16CF39, 0xFE8B488E, -/**/ 0x3F9E8A3E, 0xE30D0000, -/**/ 0xBD21A9FA, 0x3DE53900, -/**/ 0x3FEF0800, 0x00000000, -/**/ 0xBEFF07C1, 0xF07C1F08, -/**/ 0x3F9F829B, 0x0E780000, -/**/ 0x3D298026, 0x7C7E09E4, -/**/ 0x3FEF0000, 0x00000000, -/**/ 0x3EFF003E, 0x007C00F8, -/**/ 0x3FA03D5D, 0x85E70000, -/**/ 0x3D3F7789, 0x60ED29CF, -/**/ 0x3FEEF800, 0x00000000, -/**/ 0x3F17B671, 0x3D759870, -/**/ 0x3FA0B94F, 0x7C198000, -/**/ 0xBD2E8989, 0x6F022783, -/**/ 0x3FEEF000, 0x00000000, -/**/ 0x3F241070, 0x2A8BB96A, -/**/ 0x3FA13523, 0x78598000, -/**/ 0xBD1C1AC3, 0xB71FA59B, -/**/ 0x3FEEE800, 0x00000000, -/**/ 0x3F2C7F84, 0x58E01EEA, -/**/ 0x3FA1B0D9, 0x89240000, -/**/ 0xBD33401E, 0x9AE889BB, -/**/ 0x3FEEE000, 0x00000000, -/**/ 0x3F329425, 0xA3D491BC, -/**/ 0x3FA22C71, 0xBCEA8000, -/**/ 0x3CFD2818, 0xF87F888F, -/**/ 0x3FEED800, 0x00000000, -/**/ 0x3F37054D, 0x9E9D2AE8, -/**/ 0x3FA2A7EC, 0x22150000, -/**/ 0xBD278CE7, 0x7A9163FE, -/**/ 0x3FEED000, 0x00000000, -/**/ 0x3F3B9325, 0x540C85E6, -/**/ 0x3FA32348, 0xC7000000, -/**/ 0x3D2696DB, 0x90B1E49F, -/**/ 0x3FEED000, 0x00000000, -/**/ 0xBF3FC267, 0xF099FC26, -/**/ 0x3FA39E87, 0xB9FE8000, -/**/ 0x3D3EAFD4, 0x80AD9015, -/**/ 0x3FEEC800, 0x00000000, -/**/ 0xBF3AFB6E, 0xD02A4E5D, -/**/ 0x3FA419A9, 0x09590000, -/**/ 0x3D3B5CDC, 0x67D48EA7, -/**/ 0x3FEEC000, 0x00000000, -/**/ 0xBF361803, 0xD7A79FF1, -/**/ 0x3FA494AC, 0xC34D8000, -/**/ 0x3D211C78, 0xA56FD247, -/**/ 0x3FEEB800, 0x00000000, -/**/ 0xBF31183B, 0x805C2197, -/**/ 0x3FA50F92, 0xF60F8000, -/**/ 0x3D296CFB, 0x0A91FFE3, -/**/ 0x3FEEB000, 0x00000000, -/**/ 0xBF27F854, 0x5FE15180, -/**/ 0x3FA58A5B, 0xAFC90000, -/**/ 0xBD2B2B73, 0x9570AD39, -/**/ 0x3FEEA800, 0x00000000, -/**/ 0xBF1B0F90, 0xE210C36A, -/**/ 0x3FA60506, 0xFE990000, -/**/ 0xBD32BA40, 0x8194E036, -/**/ 0x3FEEA000, 0x00000000, -/**/ 0xBEF6F7DD, 0x8C33ADB2, -/**/ 0x3FA67F94, 0xF0948000, -/**/ 0x3D3ECC1F, 0x3E7E4ED7, -/**/ 0x3FEE9800, 0x00000000, -/**/ 0x3F1003D3, 0x1003D310, -/**/ 0x3FA6FA05, 0x93C78000, -/**/ 0x3D3B415E, 0x41D634A1, -/**/ 0x3FEE9000, 0x00000000, -/**/ 0x3F231ABF, 0x0B7672A0, -/**/ 0x3FA77458, 0xF6330000, -/**/ 0xBD3181DC, 0xE586AF09, -/**/ 0x3FEE8800, 0x00000000, -/**/ 0x3F2E6B5C, 0xCF172481, -/**/ 0x3FA7EE8F, 0x25CD8000, -/**/ 0xBD3F4216, 0x11A5C1E9, -/**/ 0x3FEE8000, 0x00000000, -/**/ 0x3F34F9CD, 0x77A84876, -/**/ 0x3FA868A8, 0x30840000, -/**/ 0xBD12623A, 0x134AC693, -/**/ 0x3FEE7800, 0x00000000, -/**/ 0x3F3AD9A8, 0xD7473427, -/**/ 0x3FA8E2A4, 0x243A0000, -/**/ 0x3D2B9EEB, 0x01426490, -/**/ 0x3FEE7800, 0x00000000, -/**/ 0xBF3F2AD3, 0x4578DCCA, -/**/ 0x3FA95C83, 0x0EC90000, -/**/ 0xBD2C1482, 0x97C5FEB8, -/**/ 0x3FEE7000, 0x00000000, -/**/ 0xBF3913BA, 0x97A6A035, -/**/ 0x3FA9D644, 0xFDFF8000, -/**/ 0x3D313C90, 0x539A473B, -/**/ 0x3FEE6800, 0x00000000, -/**/ 0xBF32E120, 0xC594A915, -/**/ 0x3FAA4FE9, 0xFFA40000, -/**/ 0xBD36E584, 0xA0402925, -/**/ 0x3FEE6000, 0x00000000, -/**/ 0xBF292632, 0xC5DF4232, -/**/ 0x3FAAC972, 0x21710000, -/**/ 0x3D2F8D3E, 0xF013222C, -/**/ 0x3FEE5800, 0x00000000, -/**/ 0xBF18A6DF, 0xC3518A6E, -/**/ 0x3FAB42DD, 0x71198000, -/**/ 0xBD1C827A, 0xE5D6704C, -/**/ 0x3FEE5000, 0x00000000, -/**/ 0x3ED6BC08, 0x86833271, -/**/ 0x3FABBC2B, 0xFC450000, -/**/ 0xBD17D186, 0x91417DAF, -/**/ 0x3FEE4800, 0x00000000, -/**/ 0x3F1BEB2D, 0xE672838D, -/**/ 0x3FAC355D, 0xD0920000, -/**/ 0x3D2F2CCC, 0x9ABF8388, -/**/ 0x3FEE4000, 0x00000000, -/**/ 0x3F2B6B8D, 0x9785150A, -/**/ 0x3FACAE72, 0xFB960000, -/**/ 0xBD3EFABF, 0x2025B1BE, -/**/ 0x3FEE3800, 0x00000000, -/**/ 0x3F348BCE, 0xE0D399FA, -/**/ 0x3FAD276B, 0x8ADB0000, -/**/ 0x3D16A423, 0xC78A64B0, -/**/ 0x3FEE3000, 0x00000000, -/**/ 0x3F3B7CD0, 0x933AC00F, -/**/ 0x3FADA047, 0x8BE38000, -/**/ 0x3D2252C7, 0xB1F6FE05, -/**/ 0x3FEE3000, 0x00000000, -/**/ 0xBF3D7747, 0x308F5281, -/**/ 0x3FAE1907, 0x0C278000, -/**/ 0xBD2FEA46, 0x64629E86, -/**/ 0x3FEE2800, 0x00000000, -/**/ 0xBF36508B, 0x6C196F66, -/**/ 0x3FAE91AA, 0x19150000, -/**/ 0xBD0E82A0, 0x1DCC6A76, -/**/ 0x3FEE2000, 0x00000000, -/**/ 0xBF2E1E1E, 0x1E1E1E1E, -/**/ 0x3FAF0A30, 0xC0118000, -/**/ 0xBD2D599E, 0x83368E91, -/**/ 0x3FEE1800, 0x00000000, -/**/ 0xBF1ECB93, 0xDD355CDB, -/**/ 0x3FAF829B, 0x0E780000, -/**/ 0x3D398026, 0x7C7E09E4, -/**/ 0x3FEE1000, 0x00000000, -/**/ 0xBECE0FF8, 0x7C01E100, -/**/ 0x3FAFFAE9, 0x119B8000, -/**/ 0x3D230337, 0x4262C554, -/**/ 0x3FEE0800, 0x00000000, -/**/ 0x3F1D54B5, 0x25C73724, -/**/ 0x3FB0398D, 0x6B624000, -/**/ 0xBD3AB14D, 0xFCBFCD00, -/**/ 0x3FEE0000, 0x00000000, -/**/ 0x3F2E01E0, 0x1E01E01E, -/**/ 0x3FB07598, 0x35990000, -/**/ 0xBD3B8ECF, 0xE4B59987, -/**/ 0x3FEDF800, 0x00000000, -/**/ 0x3F36C715, 0xC84194BA, -/**/ 0x3FB0B194, 0xEE0D0000, -/**/ 0x3D3666EA, 0x4F69EDCC, -/**/ 0x3FEDF000, 0x00000000, -/**/ 0x3F3EA78B, 0xEF26D838, -/**/ 0x3FB0ED83, 0x9B554000, -/**/ 0xBD3901F4, 0x6D48ABB4, -/**/ 0x3FEDF000, 0x00000000, -/**/ 0xBF395DBF, 0xF10995DC, -/**/ 0x3FB12964, 0x44030000, -/**/ 0xBD3D53BB, 0x751AA773, -/**/ 0x3FEDE800, 0x00000000, -/**/ 0xBF3148E0, 0x3BCBADC8, -/**/ 0x3FB16536, 0xEEA38000, -/**/ 0xBD147C5E, 0x768FA309, -/**/ 0x3FEDE000, 0x00000000, -/**/ 0xBF2233CE, 0x86E25CE1, -/**/ 0x3FB1A0FB, 0xA1BF8000, -/**/ 0x3D24A3FC, 0xC319D6DC, -/**/ 0x3FEDD800, 0x00000000, -/**/ 0xBEEA1CE9, 0x26B3FE23, -/**/ 0x3FB1DCB2, 0x63DB0000, -/**/ 0x3D39444F, 0x5E9E8981, -/**/ 0x3FEDD000, 0x00000000, -/**/ 0x3F1E4836, 0x0AB71710, -/**/ 0x3FB2185B, 0x3B75C000, -/**/ 0xBD3E3189, 0xF8F32304, -/**/ 0x3FEDC800, 0x00000000, -/**/ 0x3F300EE5, 0x00EE500F, -/**/ 0x3FB253F6, 0x2F0A0000, -/**/ 0x3D3416F8, 0xFB69A701, -/**/ 0x3FEDC000, 0x00000000, -/**/ 0x3F38A58D, 0x231C226A, -/**/ 0x3FB28F83, 0x450EC000, -/**/ 0x3D3A8D75, 0xAA119769, -/**/ 0x3FEDC000, 0x00000000, -/**/ 0xBF3EAA0C, 0x14715D63, -/**/ 0x3FB2CB02, 0x83F5C000, -/**/ 0x3D3E1EE2, 0xCA657021, -/**/ 0x3FEDB800, 0x00000000, -/**/ 0xBF35DFF8, 0x92AEFFC5, -/**/ 0x3FB30673, 0xF22C8000, -/**/ 0x3D24C9E2, 0x9DCF0BA5, -/**/ 0x3FEDB000, 0x00000000, -/**/ 0xBF29F894, 0x67E251A0, -/**/ 0x3FB341D7, 0x961BC000, -/**/ 0x3D31D092, 0x99837610, -/**/ 0x3FEDA800, 0x00000000, -/**/ 0xBF0FF896, 0x1FF89620, -/**/ 0x3FB37D2D, 0x76284000, -/**/ 0xBD2C60AA, 0x9B7FF15C, -/**/ 0x3FEDA000, 0x00000000, -/**/ 0x3F145E70, 0x076828BD, -/**/ 0x3FB3B875, 0x98B1C000, -/**/ 0xBD222415, 0x94ACA313, -/**/ 0x3FED9800, 0x00000000, -/**/ 0x3F2C8F60, 0xE567D573, -/**/ 0x3FB3F3B0, 0x04140000, -/**/ 0x3CEE2474, 0xACDFCEC5, -/**/ 0x3FED9000, 0x00000000, -/**/ 0x3F379118, 0xF3FC4DA2, -/**/ 0x3FB42EDC, 0xBEA64000, -/**/ 0x3D1BC0EE, 0xEA7C9ACD, -/**/ 0x3FED9000, 0x00000000, -/**/ 0xBF3F0C3C, 0x049DE4C3, -/**/ 0x3FB469FB, 0xCEBB4000, -/**/ 0x3D3B663C, 0x4F257194, -/**/ 0x3FED8800, 0x00000000, -/**/ 0xBF35905F, 0xF13D5906, -/**/ 0x3FB4A50D, 0x3AA1C000, -/**/ 0xBD2F7FE1, 0x308973E2, -/**/ 0x3FED8000, 0x00000000, -/**/ 0xBF27F6C8, 0x77D1EA57, -/**/ 0x3FB4E011, 0x08A34000, -/**/ 0x3D3AE5CF, 0xDF2C5AE5, -/**/ 0x3FED7800, 0x00000000, -/**/ 0xBF026AD1, 0xF4F31BA0, -/**/ 0x3FB51B07, 0x3F060000, -/**/ 0x3D383F69, 0x278E686A, -/**/ 0x3FED7000, 0x00000000, -/**/ 0x3F1DE6B2, 0xF26DF1BD, -/**/ 0x3FB555EF, 0xE40B4000, -/**/ 0x3D30B497, 0x8C868E23, -/**/ 0x3FED6800, 0x00000000, -/**/ 0x3F31599F, 0x7BA23D96, -/**/ 0x3FB590CA, 0xFDF00000, -/**/ 0x3D3C284F, 0x5722ABAA, -/**/ 0x3FED6000, 0x00000000, -/**/ 0x3F3B526C, 0xD425A760, -/**/ 0x3FB5CB98, 0x92ED4000, -/**/ 0x3D17BE44, 0xA64FC52F, -/**/ 0x3FED6000, 0x00000000, -/**/ 0xBF3A9BFC, 0x546A6FF1, -/**/ 0x3FB60658, 0xA9374000, -/**/ 0x3D30C3B1, 0xDEE9C4F8, -/**/ 0x3FED5800, 0x00000000, -/**/ 0xBF3071AD, 0x08F02FAC, -/**/ 0x3FB6410B, 0x46FE8000, -/**/ 0xBD153F8F, 0x3CBD8D14, -/**/ 0x3FED5000, 0x00000000, -/**/ 0xBF18BAD9, 0x12C6C142, -/**/ 0x3FB67BB0, 0x726EC000, -/**/ 0x3CEF724B, 0x69EF5912, -/**/ 0x3FED4800, 0x00000000, -/**/ 0x3F10B35C, 0x3254A5A2, -/**/ 0x3FB6B648, 0x31B00000, -/**/ 0xBD3BF30A, 0x1377DE92, -/**/ 0x3FED4000, 0x00000000, -/**/ 0x3F2D41D4, 0x1D41D41D, -/**/ 0x3FB6F0D2, 0x8AE58000, -/**/ 0xBD34B464, 0x1B664613, -/**/ 0x3FED3800, 0x00000000, -/**/ 0x3F392D71, 0xF494E548, -/**/ 0x3FB72B4F, 0x842EC000, -/**/ 0xBD3704CC, 0xC00C9DD3, -/**/ 0x3FED3800, 0x00000000, -/**/ 0xBF3C2DA1, 0xFF165C2E, -/**/ 0x3FB765BF, 0x23A6C000, -/**/ 0xBCFECBC0, 0x35C4256A, -/**/ 0x3FED3000, 0x00000000, -/**/ 0xBF317062, 0x7AA49674, -/**/ 0x3FB7A021, 0x6F648000, -/**/ 0x3D3E124C, 0xA18418FF, -/**/ 0x3FED2800, 0x00000000, -/**/ 0xBF1A6B80, 0x749CB290, -/**/ 0x3FB7DA76, 0x6D7B0000, -/**/ 0x3D32CC84, 0x4480C89B, -/**/ 0x3FED2000, 0x00000000, -/**/ 0x3F114B52, 0x25C6336D, -/**/ 0x3FB814BE, 0x23F8C000, -/**/ 0x3CCB2381, 0xDA82FDFD, -/**/ 0x3FED1800, 0x00000000, -/**/ 0x3F2EB155, 0xF08A3B1D, -/**/ 0x3FB84EF8, 0x98E84000, -/**/ 0xBD37D5CD, 0x246977C9, -/**/ 0x3FED1000, 0x00000000, -/**/ 0x3F3A7692, 0xBD71CD93, -/**/ 0x3FB88925, 0xD24FC000, -/**/ 0xBD31D505, 0x44FBB806, -/**/ 0x3FED1000, 0x00000000, -/**/ 0xBF3A5384, 0x89FC5E69, -/**/ 0x3FB8C345, 0xD6318000, -/**/ 0x3D3B20F5, 0xACB42A66, -/**/ 0x3FED0800, 0x00000000, -/**/ 0xBF2E0B56, 0x6439240E, -/**/ 0x3FB8FD58, 0xAA8C4000, -/**/ 0xBD3EEC90, 0x1BCB725B, -/**/ 0x3FED0000, 0x00000000, -/**/ 0xBF0CFF8C, 0x01CFF8C0, -/**/ 0x3FB9375E, 0x55594000, -/**/ 0x3D3EDDC3, 0x7380C364, -/**/ 0x3FECF800, 0x00000000, -/**/ 0x3F1F7661, 0x546D8D78, -/**/ 0x3FB97156, 0xDC8F8000, -/**/ 0xBD3C1FC1, 0x9AFDB97B, -/**/ 0x3FECF000, 0x00000000, -/**/ 0x3F3372E2, 0x25FE30D9, -/**/ 0x3FB9AB42, 0x46204000, -/**/ 0xBD28A648, 0x26787061, -/**/ 0x3FECE800, 0x00000000, -/**/ 0x3F3F1FDB, 0xD92305A6, -/**/ 0x3FB9E520, 0x97F9C000, -/**/ 0x3D235FAC, 0xB52DD050, -/**/ 0x3FECE800, 0x00000000, -/**/ 0xBF351B8A, 0x9C37FC63, -/**/ 0x3FBA1EF1, 0xD8060000, -/**/ 0x3D3CD417, 0x6DF97BCB, -/**/ 0x3FECE000, 0x00000000, -/**/ 0xBF227EC2, 0x6CB725AB, -/**/ 0x3FBA58B6, 0x0C2B4000, -/**/ 0xBD3CDC73, 0x5C5C9F2A, -/**/ 0x3FECD800, 0x00000000, -/**/ 0x3F05A240, 0xE6C2B448, -/**/ 0x3FBA926D, 0x3A4AC000, -/**/ 0x3D356365, 0x0BD22A9C, -/**/ 0x3FECD000, 0x00000000, -/**/ 0x3F2D7EC2, 0xFBB8D9F3, -/**/ 0x3FBACC17, 0x68434000, -/**/ 0xBD2AA783, 0xA0B7FA4C, -/**/ 0x3FECC800, 0x00000000, -/**/ 0x3F3AE1DB, 0x1B71D3E9, -/**/ 0x3FBB05B4, 0x9BEE4000, -/**/ 0x3D0FF22C, 0x18F84A5E, -/**/ 0x3FECC800, 0x00000000, -/**/ 0xBF38E45A, 0xCD6DE82D, -/**/ 0x3FBB3F44, 0xDB220000, -/**/ 0x3D3FD153, 0xD8DE09AF, -/**/ 0x3FECC000, 0x00000000, -/**/ 0xBF29269F, 0xE341926A, -/**/ 0x3FBB78C8, 0x2BB10000, -/**/ 0xBD325EF7, 0xBC3987E7, -/**/ 0x3FECB800, 0x00000000, -/**/ 0xBEC589FB, 0xF620C1DA, -/**/ 0x3FBBB23E, 0x93690000, -/**/ 0xBD368B18, 0x3559DB8B, -/**/ 0x3FECB000, 0x00000000, -/**/ 0x3F28A893, 0x0DE5FF1A, -/**/ 0x3FBBEBA8, 0x18148000, -/**/ 0xBD389B78, 0xB6DF1F57, -/**/ 0x3FECA800, 0x00000000, -/**/ 0x3F38EAB9, 0x0039563B, -/**/ 0x3FBC2504, 0xBF79C000, -/**/ 0x3D3717C4, 0xD0EF4ADC, -/**/ 0x3FECA800, 0x00000000, -/**/ 0xBF3A67D5, 0x08F377F2, -/**/ 0x3FBC5E54, 0x8F5BC000, -/**/ 0x3D1D0C57, 0x585FBE06, -/**/ 0x3FECA000, 0x00000000, -/**/ 0xBF2B46E0, 0x072792E4, -/**/ 0x3FBC9797, 0x8D790000, -/**/ 0xBD36E010, 0x977D1884, -/**/ 0x3FEC9800, 0x00000000, -/**/ 0xBEE904EA, 0x1BB327C3, -/**/ 0x3FBCD0CD, 0xBF8C0000, -/**/ 0x3D33E14D, 0xB50DD743, -/**/ 0x3FEC9000, 0x00000000, -/**/ 0x3F2853EB, 0x77683AEC, -/**/ 0x3FBD09F7, 0x2B4C4000, -/**/ 0x3D2048C0, 0x00354E33, -/**/ 0x3FEC8800, 0x00000000, -/**/ 0x3F3932D7, 0xDC52100E, -/**/ 0x3FBD4313, 0xD66CC000, -/**/ 0xBD294543, 0x79135713, -/**/ 0x3FEC8800, 0x00000000, -/**/ 0xBF39AD90, 0x2736962B, -/**/ 0x3FBD7C23, 0xC69CC000, -/**/ 0xBD297EE4, 0xDD328771, -/**/ 0x3FEC8000, 0x00000000, -/**/ 0xBF28EEA2, 0xF316B4C2, -/**/ 0x3FBDB527, 0x0187C000, -/**/ 0x3D392778, 0x56AE181F, -/**/ 0x3FEC7800, 0x00000000, -/**/ 0x3EEAB099, 0x058F7536, -/**/ 0x3FBDEE1D, 0x8CD60000, -/**/ 0xBD328DA0, 0x729EFF89, -/**/ 0x3FEC7000, 0x00000000, -/**/ 0x3F2C71C7, 0x1C71C71C, -/**/ 0x3FBE2707, 0x6E2B0000, -/**/ 0xBD2A342C, 0x2AF0003C, -/**/ 0x3FEC6800, 0x00000000, -/**/ 0x3F3BB2BB, 0xD6422A30, -/**/ 0x3FBE5FE4, 0xAB274000, -/**/ 0xBD35FAE9, 0xF74FFE4D, -/**/ 0x3FEC6800, 0x00000000, -/**/ 0xBF36BD01, 0x54BDE47E, -/**/ 0x3FBE98B5, 0x49670000, -/**/ 0x3D346774, 0x89C50E97, -/**/ 0x3FEC6000, 0x00000000, -/**/ 0xBF222CC5, 0xB5157FE4, -/**/ 0x3FBED179, 0x4E838000, -/**/ 0xBD1FD143, 0x749D0484, -/**/ 0x3FEC5800, 0x00000000, -/**/ 0x3F129A21, 0xA930B840, -/**/ 0x3FBF0A30, 0xC0118000, -/**/ 0xBD3D599E, 0x83368E91, -/**/ 0x3FEC5000, 0x00000000, -/**/ 0x3F3279B1, 0xAC5CEE14, -/**/ 0x3FBF42DB, 0xA3A24000, -/**/ 0xBD3312B7, 0x32DF6C0D, -/**/ 0x3FEC5000, 0x00000000, -/**/ 0xBF3F9CF5, 0xD4AB8D0B, -/**/ 0x3FBF7B79, 0xFEC38000, -/**/ 0xBD010987, 0xE897ED01, -/**/ 0x3FEC4800, 0x00000000, -/**/ 0xBF319D7C, 0xCC17DAE4, -/**/ 0x3FBFB40B, 0xD6FF4000, -/**/ 0x3D2C0BEC, 0xB7B53B5B, -/**/ 0x3FEC4000, 0x00000000, -/**/ 0xBF0C3F8F, 0x01C3F8F0, -/**/ 0x3FBFEC91, 0x31DC0000, -/**/ 0xBD354555, 0xD1AE6607, -/**/ 0x3FEC3800, 0x00000000, -/**/ 0x3F254738, 0xAB1B8FFC, -/**/ 0x3FC01285, 0x0A6E0000, -/**/ 0xBD1A8619, 0x4805BF94, -/**/ 0x3FEC3000, 0x00000000, -/**/ 0x3F38E51F, 0x48B3C5D7, -/**/ 0x3FC02EBB, 0x42BF4000, -/**/ 0xBD15A8FA, 0x5CE00E5D, -/**/ 0x3FEC3000, 0x00000000, -/**/ 0xBF38C377, 0x867E595E, -/**/ 0x3FC04AEB, 0x449F6000, -/**/ 0x3D2AFA90, 0x65CCD35C, -/**/ 0x3FEC2800, 0x00000000, -/**/ 0xBF24AC6D, 0x15FE3D95, -/**/ 0x3FC06715, 0x12CA6000, -/**/ 0xBD2A4757, 0x9CDC0A3D, -/**/ 0x3FEC2000, 0x00000000, -/**/ 0x3F10B34F, 0x53B8CDAE, -/**/ 0x3FC08338, 0xAFFA2000, -/**/ 0x3D30533C, 0xAC823E27, -/**/ 0x3FEC1800, 0x00000000, -/**/ 0x3F32C599, 0x3FABB0F6, -/**/ 0x3FC09F56, 0x1EE72000, -/**/ 0xBD28F305, 0x7157D1A8, -/**/ 0x3FEC1800, 0x00000000, -/**/ 0xBF3E8BF4, 0x97CD1B6C, -/**/ 0x3FC0BB6D, 0x6247A000, -/**/ 0x3D35464F, 0x3CCD04B3, -/**/ 0x3FEC1000, 0x00000000, -/**/ 0xBF2F8FC7, 0xE3F1F8FC, -/**/ 0x3FC0D77E, 0x7CD08000, -/**/ 0x3D3CB2CD, 0x2EE2F482, -/**/ 0x3FEC0800, 0x00000000, -/**/ 0xBEEDC860, 0x5B199F35, -/**/ 0x3FC0F389, 0x7134C000, -/**/ 0xBD3DA359, 0xE893D6C6, -/**/ 0x3FEC0000, 0x00000000, -/**/ 0x3F2C01C0, 0x1C01C01C, -/**/ 0x3FC10F8E, 0x42254000, -/**/ 0xBD293B38, 0x43396307, -/**/ 0x3FEBF800, 0x00000000, -/**/ 0x3F3D0577, 0x256228AA, -/**/ 0x3FC12B8C, 0xF2518000, -/**/ 0x3D348A4A, 0x13C0A0FC, -/**/ 0x3FEBF800, 0x00000000, -/**/ 0xBF33E08B, 0xCB93A8A1, -/**/ 0x3FC14785, 0x84674000, -/**/ 0x3D156345, 0x1027C750, -/**/ 0x3FEBF000, 0x00000000, -/**/ 0xBF12C4DB, 0x1DE63F4A, -/**/ 0x3FC16377, 0xFB124000, -/**/ 0x3D091E1A, 0xBF41763E, -/**/ 0x3FEBE800, 0x00000000, -/**/ 0x3F2526D0, 0x769F9E4F, -/**/ 0x3FC17F64, 0x58FCA000, -/**/ 0x3D2843FA, 0xD093C8DC, -/**/ 0x3FEBE000, 0x00000000, -/**/ 0x3F39ED43, 0x5292D891, -/**/ 0x3FC19B4A, 0xA0CEE000, -/**/ 0xBD3D8824, 0x9621338B, -/**/ 0x3FEBE000, 0x00000000, -/**/ 0xBF36A3B3, 0x5FC845A9, -/**/ 0x3FC1B72A, 0xD52F6000, -/**/ 0x3D2E80A4, 0x1811A396, -/**/ 0x3FEBD800, 0x00000000, -/**/ 0xBF1C7E26, 0xB7230491, -/**/ 0x3FC1D304, 0xF8C36000, -/**/ 0xBD3A6D44, 0xDF451042, -/**/ 0x3FEBD000, 0x00000000, -/**/ 0x3F20F365, 0x451B61CB, -/**/ 0x3FC1EED9, 0x0E2DC000, -/**/ 0x3D161563, 0x7097648F, -/**/ 0x3FEBC800, 0x00000000, -/**/ 0x3F3827F3, 0xD72DD0AA, -/**/ 0x3FC20AA7, 0x18102000, -/**/ 0x3D3F2C94, 0x348552FE, -/**/ 0x3FEBC800, 0x00000000, -/**/ 0xBF3814D3, 0xBE0C262F, -/**/ 0x3FC2266F, 0x190A6000, -/**/ 0xBD24D20A, 0xB840E7F6, -/**/ 0x3FEBC000, 0x00000000, -/**/ 0xBF207963, 0x7ECECB53, -/**/ 0x3FC24231, 0x13BA6000, -/**/ 0xBD3E3A00, 0x78EE9D9C, -/**/ 0x3FEBB800, 0x00000000, -/**/ 0x3F1EC130, 0xF29268D3, -/**/ 0x3FC25DED, 0x0ABC6000, -/**/ 0x3D35A385, 0x4F176449, -/**/ 0x3FEBB000, 0x00000000, -/**/ 0x3F37B218, 0xAB6353BF, -/**/ 0x3FC279A3, 0x00AB4000, -/**/ 0x3D3EF432, 0xB3235108, -/**/ 0x3FEBB000, 0x00000000, -/**/ 0xBF383759, 0xF2298376, -/**/ 0x3FC29552, 0xF8200000, -/**/ 0xBD35B967, 0xF4471DFC, -/**/ 0x3FEBA800, 0x00000000, -/**/ 0xBF201832, 0x1EAD4253, -/**/ 0x3FC2B0FC, 0xF3B1A000, -/**/ 0x3D177CA3, 0xE30A59EA, -/**/ 0x3FEBA000, 0x00000000, -/**/ 0x3F20679B, 0xD84886B1, -/**/ 0x3FC2CCA0, 0xF5F60000, -/**/ 0xBD3B5EF1, 0x91AFF120, -/**/ 0x3FEB9800, 0x00000000, -/**/ 0x3F38884D, 0xA41FEB4C, -/**/ 0x3FC2E83F, 0x0180E000, -/**/ 0xBD3F0C2A, 0xC284E1CE, -/**/ 0x3FEB9800, 0x00000000, -/**/ 0xBF370EA7, 0x3806E548, -/**/ 0x3FC303D7, 0x18E48000, -/**/ 0xBCD680B5, 0xCE3ECB05, -/**/ 0x3FEB9000, 0x00000000, -/**/ 0xBF1A4477, 0xB5EF34C0, -/**/ 0x3FC31F69, 0x3EB1A000, -/**/ 0xBD2A6726, 0xE5A396FB, -/**/ 0x3FEB8800, 0x00000000, -/**/ 0x3F2401B8, 0x9401B894, -/**/ 0x3FC33AF5, 0x75770000, -/**/ 0x3D3C9ECC, 0xA2FE72A5, -/**/ 0x3FEB8000, 0x00000000, -/**/ 0x3F3AA73A, 0x400DC1AA, -/**/ 0x3FC3567B, 0xBFC22000, -/**/ 0x3D3250D2, 0x53991A1F, -/**/ 0x3FEB8000, 0x00000000, -/**/ 0xBF349E11, 0x2E63A6A8, -/**/ 0x3FC371FC, 0x201E8000, -/**/ 0x3D3EE877, 0x9B2D8ABC, -/**/ 0x3FEB7800, 0x00000000, -/**/ 0xBF0E7898, 0xC8DA04B9, -/**/ 0x3FC38D76, 0x99164000, -/**/ 0x3D1844A5, 0x9E39BB70, -/**/ 0x3FEB7000, 0x00000000, -/**/ 0x3F2A284E, 0xE6B33E2D, -/**/ 0x3FC3A8EB, 0x2D31A000, -/**/ 0x3D1BAFB7, 0x7D5D503E, -/**/ 0x3FEB6800, 0x00000000, -/**/ 0x3F3E0B91, 0x759C2BB4, -/**/ 0x3FC3C459, 0xDEF76000, -/**/ 0x3D3EDC86, 0xF6B70D33, -/**/ 0x3FEB6800, 0x00000000, -/**/ 0xBF30E8E2, 0x088FD6E7, -/**/ 0x3FC3DFC2, 0xB0ECC000, -/**/ 0x3D28A72A, 0x62B8C13F, -/**/ 0x3FEB6000, 0x00000000, -/**/ 0x3ECB6006, 0xD801B600, -/**/ 0x3FC3FB25, 0xA5952000, -/**/ 0x3D3195BE, 0x6B358FF7, -/**/ 0x3FEB5800, 0x00000000, -/**/ 0x3F316A6A, 0xD840F62C, -/**/ 0x3FC41682, 0xBF728000, -/**/ 0xBD210047, 0x081F849D, -/**/ 0x3FEB5800, 0x00000000, -/**/ 0xBF3D4DEE, 0x7DF8BD99, -/**/ 0x3FC431DA, 0x01050000, -/**/ 0x3D304837, 0x836E0391, -/**/ 0x3FEB5000, 0x00000000, -/**/ 0xBF27E4B1, 0x7E4B17E5, -/**/ 0x3FC44D2B, 0x6CCB8000, -/**/ 0xBD170CC1, 0x6135783C, -/**/ 0x3FEB4800, 0x00000000, -/**/ 0x3F15F47D, 0x55E6D8FE, -/**/ 0x3FC46877, 0x05430000, -/**/ 0xBD3D8145, 0xF8D5087E, -/**/ 0x3FEB4000, 0x00000000, -/**/ 0x3F37006D, 0x0B803686, -/**/ 0x3FC483BC, 0xCCE6E000, -/**/ 0x3D1EEA52, 0x723F6369, -/**/ 0x3FEB4000, 0x00000000, -/**/ 0xBF37687C, 0x46A66920, -/**/ 0x3FC49EFC, 0xC6314000, -/**/ 0xBD090F59, 0x9F55572B, -/**/ 0x3FEB3800, 0x00000000, -/**/ 0xBF16F6A4, 0xFF2645BE, -/**/ 0x3FC4BA36, 0xF39A6000, -/**/ 0xBD34354B, 0xB3F219E5, -/**/ 0x3FEB3000, 0x00000000, -/**/ 0x3F2801B3, 0x1801B318, -/**/ 0x3FC4D56B, 0x5798E000, -/**/ 0x3D380580, 0x15A96555, -/**/ 0x3FEB2800, 0x00000000, -/**/ 0x3F3DD2FF, 0x93511680, -/**/ 0x3FC4F099, 0xF4A24000, -/**/ 0xBD3E9BF2, 0xFAFEAF27, -/**/ 0x3FEB2800, 0x00000000, -/**/ 0xBF304743, 0xA89DCCAC, -/**/ 0x3FC50BC2, 0xCD29C000, -/**/ 0x3D1ADA57, 0x28DB8D4F, -/**/ 0x3FEB2000, 0x00000000, -/**/ 0x3EFB2036, 0x406C80D9, -/**/ 0x3FC526E5, 0xE3A1C000, -/**/ 0xBD3790BA, 0x37FC5238, -/**/ 0x3FEB1800, 0x00000000, -/**/ 0x3F33BEC8, 0x4F9DC00E, -/**/ 0x3FC54203, 0x3A7A8000, -/**/ 0x3D268D68, 0xED855F0E, -/**/ 0x3FEB1800, 0x00000000, -/**/ 0xBF3A2101, 0x44F8CE7E, -/**/ 0x3FC55D1A, 0xD4232000, -/**/ 0x3D3ADD94, 0xDDA647E8, -/**/ 0x3FEB1000, 0x00000000, -/**/ 0xBF1FB596, 0xB99AF3F3, -/**/ 0x3FC5782C, 0xB3092000, -/**/ 0xBD33A463, 0x51794442, -/**/ 0x3FEB0800, 0x00000000, -/**/ 0x3F24B31D, 0x922A3E85, -/**/ 0x3FC59338, 0xD9982000, -/**/ 0x3CF0BA68, 0xB7555D4A, -/**/ 0x3FEB0000, 0x00000000, -/**/ 0x3F3CB3CF, 0xE19BF6B7, -/**/ 0x3FC5AE3F, 0x4A3AA000, -/**/ 0x3D21EA25, 0xF012A8B9, -/**/ 0x3FEB0000, 0x00000000, -/**/ 0xBF30DEAE, 0x9A5BF0D1, -/**/ 0x3FC5C940, 0x07598000, -/**/ 0xBD3A8D94, 0x8CD23322, -/**/ 0x3FEAF800, 0x00000000, -/**/ 0x3EFA2072, 0x9EDE13CE, -/**/ 0x3FC5E43B, 0x135BE000, -/**/ 0xBD343AB4, 0xCEED9C31, -/**/ 0x3FEAF000, 0x00000000, -/**/ 0x3F3435E5, 0x0D79435E, -/**/ 0x3FC5FF30, 0x70A7A000, -/**/ 0xBD38586F, 0x183BEBF2, -/**/ 0x3FEAF000, 0x00000000, -/**/ 0xBF392321, 0x06855D30, -/**/ 0x3FC61A20, 0x21A0E000, -/**/ 0x3D3DD9DD, 0x1BDF3CDD, -/**/ 0x3FEAE800, 0x00000000, -/**/ 0xBF19A45C, 0x7ABED811, -/**/ 0x3FC6350A, 0x28AAA000, -/**/ 0x3D2D5EC0, 0xAB8163AF, -/**/ 0x3FEAE000, 0x00000000, -/**/ 0x3F28C7ED, 0x84EF68CB, -/**/ 0x3FC64FEE, 0x88260000, -/**/ 0xBD1DA40D, 0x759DDED6, -/**/ 0x3FEAD800, 0x00000000, -/**/ 0x3F3F43FC, 0xA482F00D, -/**/ 0x3FC66ACD, 0x4272A000, -/**/ 0x3D3AA1BD, 0xBFC6C785, -/**/ 0x3FEAD800, 0x00000000, -/**/ 0xBF2B9222, 0xCDE3E7AE, -/**/ 0x3FC685A6, 0x59EF0000, -/**/ 0xBD21F2A9, 0x6C103214, -/**/ 0x3FEAD000, 0x00000000, -/**/ 0x3F14F302, 0xEED254A3, -/**/ 0x3FC6A079, 0xD0F7A000, -/**/ 0x3D35A3F8, 0x448D14F5, -/**/ 0x3FEAC800, 0x00000000, -/**/ 0x3F385567, 0x32071DEF, -/**/ 0x3FC6BB47, 0xA9E80000, -/**/ 0x3D19F64D, 0x23EA3296, -/**/ 0x3FEAC800, 0x00000000, -/**/ 0xBF347F29, 0xD47F29D4, -/**/ 0x3FC6D60F, 0xE719E000, -/**/ 0xBD3BC6E5, 0x57134767, -/**/ 0x3FEAC000, 0x00000000, -/**/ 0xBEF40FE1, 0xE82D23BC, -/**/ 0x3FC6F0D2, 0x8AE56000, -/**/ 0x3D369737, 0xC93373DA, -/**/ 0x3FEAB800, 0x00000000, -/**/ 0x3F320FDE, 0x972D8538, -/**/ 0x3FC70B8F, 0x97A1A000, -/**/ 0x3D34EA64, 0xF6A95BEF, -/**/ 0x3FEAB800, 0x00000000, -/**/ 0xBF3A8C9F, 0x66711513, -/**/ 0x3FC72647, 0x0FA40000, -/**/ 0xBD3774DF, 0x0E743A45, -/**/ 0x3FEAB000, 0x00000000, -/**/ 0xBF1C5A0F, 0x02806ABC, -/**/ 0x3FC740F8, 0xF5404000, -/**/ 0xBD30B66C, 0x99018AA1, -/**/ 0x3FEAA800, 0x00000000, -/**/ 0x3F28E44B, 0xD22C937A, -/**/ 0x3FC75BA5, 0x4AC8E000, -/**/ 0x3D3DDCA5, 0x8BC4A7C0, -/**/ 0x3FEAA800, 0x00000000, -/**/ 0xBF3FF2AD, 0xFF2ADFF3, -/**/ 0x3FC7764C, 0x128F2000, -/**/ 0x3D027490, 0x3479E3D1, -/**/ 0x3FEAA000, 0x00000000, -/**/ 0xBF288A16, 0x0B3ADA5C, -/**/ 0x3FC790ED, 0x4EE26000, -/**/ 0x3D199BBD, 0x4E7746F6, -/**/ 0x3FEA9800, 0x00000000, -/**/ 0x3F1DEC0D, 0x4C77B035, -/**/ 0x3FC7AB89, 0x0210E000, -/**/ 0xBD2BDB90, 0x72534A58, -/**/ 0x3FEA9000, 0x00000000, -/**/ 0x3F3B4D71, 0x91F59E6B, -/**/ 0x3FC7C61F, 0x2E674000, -/**/ 0xBD32392D, 0xB31BE8E0, -/**/ 0x3FEA9000, 0x00000000, -/**/ 0xBF30CDCB, 0xB8A2A522, -/**/ 0x3FC7E0AF, 0xD630C000, -/**/ 0x3D139E7C, 0x1D8F1034, -/**/ 0x3FEA8800, 0x00000000, -/**/ 0x3F094A00, 0x6A2194A0, -/**/ 0x3FC7FB3A, 0xFBB76000, -/**/ 0xBD37DBF5, 0x24609D57, -/**/ 0x3FEA8000, 0x00000000, -/**/ 0x3F373289, 0x870AC52E, -/**/ 0x3FC815C0, 0xA1436000, -/**/ 0xBD302A52, 0xF9201CE8, -/**/ 0x3FEA8000, 0x00000000, -/**/ 0xBF34B1FA, 0x9E8684DD, -/**/ 0x3FC83040, 0xC91BC000, -/**/ 0x3D3E5B71, 0xC6E66F32, -/**/ 0x3FEA7800, 0x00000000, -/**/ 0xBEE08AF5, 0xA9267648, -/**/ 0x3FC84ABB, 0x75866000, -/**/ 0xBD3D8DAA, 0xDF4E2BD2, -/**/ 0x3FEA7000, 0x00000000, -/**/ 0x3F33BB67, 0x1A3D927E, -/**/ 0x3FC86530, 0xA8C70000, -/**/ 0x3D398BB0, 0xCB4EA3E3, -/**/ 0x3FEA7000, 0x00000000, -/**/ 0xBF37F2C9, 0x7F2C97F3, -/**/ 0x3FC87FA0, 0x6520C000, -/**/ 0x3D322120, 0x401202FC, -/**/ 0x3FEA6800, 0x00000000, -/**/ 0xBF0C77A5, 0x3C076D20, -/**/ 0x3FC89A0A, 0xACD4E000, -/**/ 0x3D2C0BFB, 0xDA8F5A72, -/**/ 0x3FEA6000, 0x00000000, -/**/ 0x3F30E6DA, 0x7C7EF82B, -/**/ 0x3FC8B46F, 0x82236000, -/**/ 0x3D12D9F2, 0x102DD7C9, -/**/ 0x3FEA6000, 0x00000000, -/**/ 0xBF3A9167, 0x2EC05C44, -/**/ 0x3FC8CECE, 0xE74AE000, -/**/ 0xBD3A5BA0, 0xAA429BB5, -/**/ 0x3FEA5800, 0x00000000, -/**/ 0xBF17DF12, 0xEEB6BD53, -/**/ 0x3FC8E928, 0xDE886000, -/**/ 0x3D3A8154, 0xB13D72D5, -/**/ 0x3FEA5000, 0x00000000, -/**/ 0x3F2D676D, 0x98C70AE6, -/**/ 0x3FC9037D, 0x6A180000, -/**/ 0x3D230DEA, 0x57C1C8D9, -/**/ 0x3FEA5000, 0x00000000, -/**/ 0xBF3C8EFF, 0x96CE4780, -/**/ 0x3FC91DCC, 0x8C340000, -/**/ 0x3D37BC6A, 0xBDDEFF46, -/**/ 0x3FEA4800, 0x00000000, -/**/ 0xBF1EFFCB, 0x71EFFCB7, -/**/ 0x3FC93816, 0x4715A000, -/**/ 0xBD34C63D, 0x6A3A39D9, -/**/ 0x3FEA4000, 0x00000000, -/**/ 0x3F2A41A4, 0x1A41A41A, -/**/ 0x3FC9525A, 0x9CF46000, -/**/ 0xBD329713, 0x7D9F158F, -/**/ 0x3FEA4000, 0x00000000, -/**/ 0xBF3DECBB, 0xBF3B3C0E, -/**/ 0x3FC96C99, 0x9006A000, -/**/ 0x3D2A88D5, 0x9CBB452C, -/**/ 0x3FEA3800, 0x00000000, -/**/ 0xBF21D14E, 0x3BCD35A8, -/**/ 0x3FC986D3, 0x22818000, -/**/ 0x3CF93B56, 0x4DD44000, -/**/ 0x3FEA3000, 0x00000000, -/**/ 0x3F285A0A, 0x3B5832C0, -/**/ 0x3FC9A107, 0x56988000, -/**/ 0x3D264AA6, 0x242CD098, -/**/ 0x3FEA3000, 0x00000000, -/**/ 0xBF3EABC1, 0xD71AFD8C, -/**/ 0x3FC9BB36, 0x2E7E0000, -/**/ 0xBD21F2A8, 0xA1CE0FFC, -/**/ 0x3FEA2800, 0x00000000, -/**/ 0xBF22E60D, 0x7C041611, -/**/ 0x3FC9D55F, 0xAC62E000, -/**/ 0xBD3F4669, 0xFC3B5BC3, -/**/ 0x3FEA2000, 0x00000000, -/**/ 0x3F27AE57, 0x5FF2EF43, -/**/ 0x3FC9EF83, 0xD276A000, -/**/ 0xBD2730B7, 0xB3F9CE00, -/**/ 0x3FEA2000, 0x00000000, -/**/ 0xBF3ECD35, 0x3D66322E, -/**/ 0x3FCA09A2, 0xA2E7A000, -/**/ 0xBD2DD99D, 0xCD411233, -/**/ 0x3FEA1800, 0x00000000, -/**/ 0xBF22C068, 0x5B4FE5E9, -/**/ 0x3FCA23BC, 0x1FE2C000, -/**/ 0xBD3539CD, 0x91DC9F0B, -/**/ 0x3FEA1000, 0x00000000, -/**/ 0x3F283C48, 0x80B67A9A, -/**/ 0x3FCA3DD0, 0x4B938000, -/**/ 0x3D297DA1, 0x366E2C5A, -/**/ 0x3FEA1000, 0x00000000, -/**/ 0xBF3E5236, 0x89907BBA, -/**/ 0x3FCA57DF, 0x28244000, -/**/ 0x3D3B99C8, 0xCA1D9ABB, -/**/ 0x3FEA0800, 0x00000000, -/**/ 0xBF21629E, 0x32054967, -/**/ 0x3FCA71E8, 0xB7BE0000, -/**/ 0xBD210ACA, 0x6EF05323, -/**/ 0x3FEA0000, 0x00000000, -/**/ 0x3F2A01A0, 0x1A01A01A, -/**/ 0x3FCA8BEC, 0xFC882000, -/**/ 0x3D3E3185, 0xCF21B9CF, -/**/ 0x3FEA0000, 0x00000000, -/**/ 0xBF3D3BE3, 0x93FF301D, -/**/ 0x3FCAA5EB, 0xF8A94000, -/**/ 0xBD32A0A9, 0x36951A8F, -/**/ 0x3FE9F800, 0x00000000, -/**/ 0xBF1D9DD1, 0xBFE608ED, -/**/ 0x3FCABFE5, 0xAE462000, -/**/ 0xBD3B68F5, 0x395F139D, -/**/ 0x3FE9F000, 0x00000000, -/**/ 0x3F2CFC26, 0x1B29257F, -/**/ 0x3FCAD9DA, 0x1F828000, -/**/ 0xBD3882B7, 0xC803F050, -/**/ 0x3FE9F000, 0x00000000, -/**/ 0xBF3B8B57, 0x7E613717, -/**/ 0x3FCAF3C9, 0x4E80C000, -/**/ 0xBCBA4E63, 0x3FCD9066, -/**/ 0x3FE9E800, 0x00000000, -/**/ 0xBF160EF9, 0xB9FABD04, -/**/ 0x3FCB0DB3, 0x3D620000, -/**/ 0x3D3FEE14, 0x38EAB906, -/**/ 0x3FE9E000, 0x00000000, -/**/ 0x3F3094D3, 0xEAF850E2, -/**/ 0x3FCB2797, 0xEE464000, -/**/ 0xBD3BE88A, 0x906D00A9, -/**/ 0x3FE9E000, 0x00000000, -/**/ 0xBF3941AA, 0xBBE88FDC, -/**/ 0x3FCB4177, 0x634BA000, -/**/ 0x3D355D01, 0x5666069F, -/**/ 0x3FE9D800, 0x00000000, -/**/ 0xBF083A25, 0x25F4B1AA, -/**/ 0x3FCB5B51, 0x9E8FC000, -/**/ 0xBD34B722, 0xEC011F31, -/**/ 0x3FE9D000, 0x00000000, -/**/ 0x3F3343FB, 0xF71FAC14, -/**/ 0x3FCB7526, 0xA22E4000, -/**/ 0x3D2C0DBF, 0x2E785490, -/**/ 0x3FE9D000, 0x00000000, -/**/ 0xBF365FF3, 0x1965FF32, -/**/ 0x3FCB8EF6, 0x70420000, -/**/ 0x3D387533, 0x321788E0, -/**/ 0x3FE9C800, 0x00000000, -/**/ 0x3EA9C801, 0x9C8019C8, -/**/ 0x3FCBA8C1, 0x0AE46000, -/**/ 0x3D3A32E2, 0x9EEE9D85, -/**/ 0x3FE9C000, 0x00000000, -/**/ 0x3F368A77, 0x25080CE1, -/**/ 0x3FCBC286, 0x742D8000, -/**/ 0x3D39AC53, 0xF39D121C, -/**/ 0x3FE9C000, 0x00000000, -/**/ 0xBF32E743, 0xC54763F2, -/**/ 0x3FCBDC46, 0xAE344000, -/**/ 0x3D3625B4, 0x023D6505, -/**/ 0x3FE9B800, 0x00000000, -/**/ 0x3F0DBD49, 0x8B7424F9, -/**/ 0x3FCBF601, 0xBB0E4000, -/**/ 0x3D2386A9, 0x47C378B5, -/**/ 0x3FE9B000, 0x00000000, -/**/ 0x3F3A6734, 0x00CD9A67, -/**/ 0x3FCC0FB7, 0x9CCFE000, -/**/ 0xBD346FFF, 0x99E8A558, -/**/ 0x3FE9B000, 0x00000000, -/**/ 0xBF2DB15A, 0xAEF25B7C, -/**/ 0x3FCC2968, 0x558C2000, -/**/ 0xBD2CFD73, 0xDEE38A40, -/**/ 0x3FE9A800, 0x00000000, -/**/ 0x3F1FDFEC, 0xC140C073, -/**/ 0x3FCC4313, 0xE754E000, -/**/ 0x3D3279BE, 0x74CAD7D6, -/**/ 0x3FE9A000, 0x00000000, -/**/ 0x3F3ED923, 0xA7DCBEB3, -/**/ 0x3FCC5CBA, 0x543AE000, -/**/ 0x3D20929D, 0xECB454FC, -/**/ 0x3FE9A000, 0x00000000, -/**/ 0xBF246A7B, 0xB256DE2C, -/**/ 0x3FCC765B, 0x9E4D6000, -/**/ 0x3D31AB6B, 0x36976F6C, -/**/ 0x3FE99800, 0x00000000, -/**/ 0x3F299999, 0x9999999A, -/**/ 0x3FCC8FF7, 0xC79AA000, -/**/ 0xBD27794F, 0x689F8434, -/**/ 0x3FE99800, 0x00000000, -/**/ 0xBF3C20C6, 0x3EC03FF3, -/**/ 0x3FCCA98E, 0xD22F6000, -/**/ 0xBCF698C1, 0x8CA209C8, -/**/ 0x3FE99000, 0x00000000, -/**/ 0xBF13F803, 0x31EC07FD, -/**/ 0x3FCCC320, 0xC0176000, -/**/ 0x3D240903, 0x9A653794, -/**/ 0x3FE98800, 0x00000000, -/**/ 0x3F323513, 0x5AC98715, -/**/ 0x3FCCDCAD, 0x935D2000, -/**/ 0xBD0A0FF0, 0x34C9A447, -/**/ 0x3FE98800, 0x00000000, -/**/ 0xBF368793, 0x89F80661, -/**/ 0x3FCCF635, 0x4E09C000, -/**/ 0x3D277123, 0x9A07D55B, -/**/ 0x3FE98000, 0x00000000, -/**/ 0x3EE98019, 0x8019801A, -/**/ 0x3FCD0FB7, 0xF2256000, -/**/ 0xBD0AF52B, 0x20633B29, -/**/ 0x3FE97800, 0x00000000, -/**/ 0x3F382FC6, 0xAB329020, -/**/ 0x3FCD2935, 0x81B6C000, -/**/ 0xBD383270, 0x128AAA5F, -/**/ 0x3FE97800, 0x00000000, -/**/ 0xBF305C4B, 0x962DBFF3, -/**/ 0x3FCD42AD, 0xFEC36000, -/**/ 0xBD175C00, 0xFD804272, -/**/ 0x3FE97000, 0x00000000, -/**/ 0x3F1C9F01, 0x970E4F81, -/**/ 0x3FCD5C21, 0x6B4FC000, -/**/ 0xBD21BA91, 0xBBCA681B, -/**/ 0x3FE96800, 0x00000000, -/**/ 0x3F3EBBE1, 0x049160B8, -/**/ 0x3FCD758F, 0xC95F0000, -/**/ 0xBD15A10A, 0x8B4162AA, -/**/ 0x3FE96800, 0x00000000, -/**/ 0xBF233FE6, 0x9933FE6A, -/**/ 0x3FCD8EF9, 0x1AF32000, -/**/ 0xBD15105F, 0xC364C784, -/**/ 0x3FE96000, 0x00000000, -/**/ 0x3F2C2873, 0xCE078906, -/**/ 0x3FCDA85D, 0x620CE000, -/**/ 0x3D240194, 0xC16CC7EC, -/**/ 0x3FE96000, 0x00000000, -/**/ 0xBF3A27A0, 0xE442936B, -/**/ 0x3FCDC1BC, 0xA0ABE000, -/**/ 0x3D38FAC1, 0xA628CCC6, -/**/ 0x3FE95800, 0x00000000, -/**/ 0xBF029C69, 0x548A97A9, -/**/ 0x3FCDDB16, 0xD8CEA000, -/**/ 0xBD1EEF79, 0x7104B8BC, -/**/ 0x3FE95000, 0x00000000, -/**/ 0x3F35906B, 0x9F74B92D, -/**/ 0x3FCDF46C, 0x0C722000, -/**/ 0x3D3A5E82, 0xB0B79039, -/**/ 0x3FE95000, 0x00000000, -/**/ 0xBF327BBF, 0xF35927BC, -/**/ 0x3FCE0DBC, 0x3D92A000, -/**/ 0x3D359233, 0xF0529BF1, -/**/ 0x3FE94800, 0x00000000, -/**/ 0x3F161F9A, 0xDD3C0CA4, -/**/ 0x3FCE2707, 0x6E2B0000, -/**/ 0xBD3A342C, 0x2AF0003C, -/**/ 0x3FE94000, 0x00000000, -/**/ 0x3F3D9B56, 0x41228A8F, -/**/ 0x3FCE404D, 0xA034C000, -/**/ 0xBD3187EE, 0xE09A2799, -/**/ 0x3FE94000, 0x00000000, -/**/ 0xBF2482F5, 0x598A73F8, -/**/ 0x3FCE598E, 0xD5A88000, -/**/ 0xBD0D134B, 0xCF1E98A1, -/**/ 0x3FE93800, 0x00000000, -/**/ 0x3F2BE2D5, 0x3C1B9728, -/**/ 0x3FCE72CB, 0x107DA000, -/**/ 0x3D1DD48C, 0xCDF5471C, -/**/ 0x3FE93800, 0x00000000, -/**/ 0xBF39CC03, 0x2698CFF3, -/**/ 0x3FCE8C02, 0x52AA6000, -/**/ 0xBD26805B, 0x80E8E6FF, -/**/ 0x3FE93000, 0x00000000, -/**/ 0xBEF79CD3, 0xB9F30358, -/**/ 0x3FCEA534, 0x9E23A000, -/**/ 0x3D381B93, 0x4C73CCB5, -/**/ 0x3FE92800, 0x00000000, -/**/ 0x3F36E803, 0x255BA00D, -/**/ 0x3FCEBE61, 0xF4DD8000, -/**/ 0xBD23D453, 0x30FDCA4D, -/**/ 0x3FE92800, 0x00000000, -/**/ 0xBF30A69B, 0x36077742, -/**/ 0x3FCED78A, 0x58CA8000, -/**/ 0x3D16F1B5, 0x3793387E, -/**/ 0x3FE92000, 0x00000000, -/**/ 0x3F1F693A, 0x1C451AB3, -/**/ 0x3FCEF0AD, 0xCBDC6000, -/**/ 0xBD2B26B7, 0x9C86AF24, -/**/ 0x3FE92000, 0x00000000, -/**/ 0xBF3F9548, 0xC74EA9E2, -/**/ 0x3FCF09CC, 0x50036000, -/**/ 0x3D3DA094, 0x18D999DB, -/**/ 0x3FE91800, 0x00000000, -/**/ 0xBF1BD5A8, 0xF7C46911, -/**/ 0x3FCF22E5, 0xE72F2000, -/**/ 0xBD3F454F, 0x1417E41F, -/**/ 0x3FE91000, 0x00000000, -/**/ 0x3F31B9E1, 0x0D83D1C6, -/**/ 0x3FCF3BFA, 0x934D6000, -/**/ 0x3D2D9F2A, 0x937B903B, -/**/ 0x3FE91000, 0x00000000, -/**/ 0xBF35876F, 0xF3795877, -/**/ 0x3FCF550A, 0x564B8000, -/**/ 0xBD2323E3, 0xA09202FE, -/**/ 0x3FE90800, 0x00000000, -/**/ 0x3F0A34CD, 0xBD1D87EC, -/**/ 0x3FCF6E15, 0x32154000, -/**/ 0xBD3C9A97, 0x7AC4EC74, -/**/ 0x3FE90000, 0x00000000, -/**/ 0x3F3C23F5, 0x0E760899, -/**/ 0x3FCF871B, 0x28956000, -/**/ 0xBD3F75FD, 0x6A526EFE, -/**/ 0x3FE90000, 0x00000000, -/**/ 0xBF25DECD, 0xD0BE9594, -/**/ 0x3FCFA01C, 0x3BB58000, -/**/ 0xBD1A1F71, 0xFAE1D786, -/**/ 0x3FE8F800, 0x00000000, -/**/ 0x3F2C18F9, 0xC18F9C19, -/**/ 0x3FCFB918, 0x6D5E4000, -/**/ 0xBD0D572A, 0xAB993C87, -/**/ 0x3FE8F800, 0x00000000, -/**/ 0xBF38E868, 0x8176594C, -/**/ 0x3FCFD20F, 0xBF770000, -/**/ 0xBD11C55B, 0x72C6FE70, -/**/ 0x3FE8F000, 0x00000000, -/**/ 0x3EC8F006, 0x3C018F00, -/**/ 0x3FCFEB02, 0x33E60000, -/**/ 0x3D2F316E, 0x32D5E8C7, -/**/ 0x3FE8E800, 0x00000000, -/**/ 0x3F395B4D, 0xAD115384, -/**/ 0x3FD001F7, 0xE6484000, -/**/ 0x3D38A957, 0x40C9ABBC, -/**/ 0x3FE8E800, 0x00000000, -/**/ 0xBF2AD850, 0xEC8C0F90, -/**/ 0x3FD00E6C, 0x45AD5000, -/**/ 0x3CDCC68D, 0x52E01203, -/**/ 0x3FE8E000, 0x00000000, -/**/ 0x3F27B6E9, 0xA56B1AA1, -/**/ 0x3FD01ADE, 0x3913A000, -/**/ 0xBD108930, 0xCCDC1521, -/**/ 0x3FE8E000, 0x00000000, -/**/ 0xBF3ACDE3, 0x40DFC1D8, -/**/ 0x3FD0274D, 0xC16C2000, -/**/ 0x3D2979E8, 0x9CF835C2, -/**/ 0x3FE8D800, 0x00000000, -/**/ 0xBEF68397, 0x317DF64C, -/**/ 0x3FD033BA, 0xDFA74000, -/**/ 0x3D0C30BC, 0x1485BDFF, -/**/ 0x3FE8D000, 0x00000000, -/**/ 0x3F380C69, 0x80C6980C, -/**/ 0x3FD04025, 0x94B4D000, -/**/ 0x3CF036B8, 0x9EF42D7F, -/**/ 0x3FE8D000, 0x00000000, -/**/ 0xBF2CE006, 0x338C7FE7, -/**/ 0x3FD04C8D, 0xE1842000, -/**/ 0xBD1FE6BA, 0x512CEB86, -/**/ 0x3FE8C800, 0x00000000, -/**/ 0x3F2644F0, 0x1EFBBD63, -/**/ 0x3FD058F3, 0xC703F000, -/**/ 0xBD30E866, 0xBCD236AD, -/**/ 0x3FE8C800, 0x00000000, -/**/ 0xBF3B3C2D, 0xAA79217A, -/**/ 0x3FD06557, 0x46227000, -/**/ 0x3D0131DF, 0xB4868D6A, -/**/ 0x3FE8C000, 0x00000000, -/**/ 0xBEF8BFCE, 0x8062FF3A, -/**/ 0x3FD071B8, 0x5FCD6000, -/**/ 0xBD3BCB8B, 0xA3E01A11, -/**/ 0x3FE8B800, 0x00000000, -/**/ 0x3F383301, 0xBD2672C4, -/**/ 0x3FD07E17, 0x14F1D000, -/**/ 0xBD3EFCC6, 0x4F384BD5, -/**/ 0x3FE8B800, 0x00000000, -/**/ 0xBF2BFE74, 0x9BFE749C, -/**/ 0x3FD08A73, 0x667C5000, -/**/ 0x3D3EBC1D, 0x40C5A329, -/**/ 0x3FE8B000, 0x00000000, -/**/ 0x3F27BA8C, 0xD4353EB3, -/**/ 0x3FD096CD, 0x55591000, -/**/ 0x3D3F998D, 0x20550A31, -/**/ 0x3FE8B000, 0x00000000, -/**/ 0xBF3A3784, 0xA062B2E4, -/**/ 0x3FD0A324, 0xE2739000, -/**/ 0x3D0C6BEE, 0x7EF4030E, -/**/ 0x3FE8A800, 0x00000000, -/**/ 0xBECED1F6, 0x5E630281, -/**/ 0x3FD0AF7A, 0x0EB6C000, -/**/ 0x3D23CCF9, 0x4945ADAD, -/**/ 0x3FE8A000, 0x00000000, -/**/ 0x3F39CAE0, 0x0C519CAE, -/**/ 0x3FD0BBCC, 0xDB0D2000, -/**/ 0x3D32F32C, 0xCC5DCDFB, -/**/ 0x3FE8A000, 0x00000000, -/**/ 0xBF283C02, 0x4EDBA5FD, -/**/ 0x3FD0C81D, 0x4860B000, -/**/ 0xBD3E5BCF, 0x401D1731, -/**/ 0x3FE89800, 0x00000000, -/**/ 0x3F2C0F60, 0x1899C0F6, -/**/ 0x3FD0D46B, 0x579AB000, -/**/ 0x3D3D2C81, 0xF640E1E6, -/**/ 0x3FE89800, 0x00000000, -/**/ 0xBF37C414, 0xBDBE51D0, -/**/ 0x3FD0E0B7, 0x09A43000, -/**/ 0x3D32A038, 0xA7862F2A, -/**/ 0x3FE89000, 0x00000000, -/**/ 0x3F03F540, 0xDD12CE7D, -/**/ 0x3FD0ED00, 0x5F658000, -/**/ 0xBD22DC75, 0x285AA803, -/**/ 0x3FE88800, 0x00000000, -/**/ 0x3F3CCFDE, 0x400C45CD, -/**/ 0x3FD0F947, 0x59C67000, -/**/ 0xBD395261, 0x7F0818B6, -/**/ 0x3FE88800, 0x00000000, -/**/ 0xBF21A0F5, 0x44FB66B5, -/**/ 0x3FD1058B, 0xF9AE5000, -/**/ 0xBD34AB9D, 0x817D52CD, -/**/ 0x3FE88000, 0x00000000, -/**/ 0x3F319D95, 0x2866A138, -/**/ 0x3FD111CE, 0x4003F000, -/**/ 0xBD1B3237, 0x096B4B6B, -/**/ 0x3FE88000, 0x00000000, -/**/ 0xBF33E5FA, 0xA48B49DA, -/**/ 0x3FD11E0E, 0x2DADA000, -/**/ 0xBD2A47F8, 0x8FCCE5BA, -/**/ 0x3FE87800, 0x00000000, -/**/ 0x3F1A9336, 0xDEECB0A8, -/**/ 0x3FD12A4B, 0xC3912000, -/**/ 0xBD35A750, 0x61473259, -/**/ 0x3FE87800, 0x00000000, -/**/ 0xBF3EC219, 0xFB6A388D, -/**/ 0x3FD13687, 0x0293B000, -/**/ 0xBD3D3E84, 0x99D67123, -/**/ 0x3FE87000, 0x00000000, -/**/ 0xBF106AE7, 0xC1625090, -/**/ 0x3FD142BF, 0xEB9A0000, -/**/ 0x3D31CE61, 0x85B58A9E, -/**/ 0x3FE86800, 0x00000000, -/**/ 0x3F369AE5, 0xACD4200C, -/**/ 0x3FD14EF6, 0x7F887000, -/**/ 0xBD3E97A6, 0x5DFC9794, -/**/ 0x3FE86800, 0x00000000, -/**/ 0xBF2D4286, 0x9389D11C, -/**/ 0x3FD15B2A, 0xBF429000, -/**/ 0xBD2D8E3B, 0x49B629B2, -/**/ 0x3FE86000, 0x00000000, -/**/ 0x3F286186, 0x18618618, -/**/ 0x3FD1675C, 0xABABA000, -/**/ 0x3D38380E, 0x731F55C4, -/**/ 0x3FE86000, 0x00000000, -/**/ 0xBF38EF0F, 0x6AC71708, -/**/ 0x3FD1738C, 0x45A67000, -/**/ 0xBD39C6E9, 0x0032C176, -/**/ 0x3FE85800, 0x00000000, -/**/ 0x3EFFF3D3, 0xE00C2C20, -/**/ 0x3FD17FB9, 0x8E151000, -/**/ 0xBD3A8A8B, 0xA74A2684, -/**/ 0x3FE85000, 0x00000000, -/**/ 0x3F3CFBA0, 0xF9592266, -/**/ 0x3FD18BE4, 0x85D93000, -/**/ 0x3D3C167F, 0x6F3604AB, -/**/ 0x3FE85000, 0x00000000, -/**/ 0xBF1FE7B0, 0xFF3D87FA, -/**/ 0x3FD1980D, 0x2DD42000, -/**/ 0x3D2B7B3A, 0x7A361C9A, -/**/ 0x3FE84800, 0x00000000, -/**/ 0x3F331E8D, 0x918DC223, -/**/ 0x3FD1A433, 0x86E68000, -/**/ 0xBD07A850, 0x634E0AAC, -/**/ 0x3FE84800, 0x00000000, -/**/ 0xBF31BAF9, 0x8D76B549, -/**/ 0x3FD1B057, 0x91F08000, -/**/ 0xBD32DD46, 0x6DC55E2D, -/**/ 0x3FE84000, 0x00000000, -/**/ 0x3F22F2EC, 0xDC90C512, -/**/ 0x3FD1BC79, 0x4FD1D000, -/**/ 0xBD3CCF0C, 0x747BA7BE, -/**/ 0x3FE84000, 0x00000000, -/**/ 0xBF3B442A, 0x6A0916B9, -/**/ 0x3FD1C898, 0xC169A000, -/**/ 0xBD381410, 0xE5C62AFF, -/**/ 0x3FE83800, 0x00000000, -/**/ 0x3EA83801, 0x83801838, -/**/ 0x3FD1D4B5, 0xE796A000, -/**/ 0x3D222A5B, 0xD197BAC2, -/**/ 0x3FE83000, 0x00000000, -/**/ 0x3F3B6A41, 0xCBD11C5C, -/**/ 0x3FD1E0D0, 0xC3371000, -/**/ 0x3D3AF8F2, 0xA9B0D4A0, -/**/ 0x3FE83000, 0x00000000, -/**/ 0xBF225381, 0xCB7A3CD6, -/**/ 0x3FD1ECE9, 0x5528B000, -/**/ 0xBD184E7B, 0x09B4A3B8, -/**/ 0x3FE82800, 0x00000000, -/**/ 0x3F32500C, 0x152500C1, -/**/ 0x3FD1F8FF, 0x9E48A000, -/**/ 0x3D27946C, 0x040CBE77, -/**/ 0x3FE82800, 0x00000000, -/**/ 0xBF32285F, 0x14902134, -/**/ 0x3FD20513, 0x9F73B000, -/**/ 0x3CF6E15E, 0x1609E0A4, -/**/ 0x3FE82000, 0x00000000, -/**/ 0x3F22D9EB, 0xA4018213, -/**/ 0x3FD21125, 0x59861000, -/**/ 0x3D382E78, 0xBA2950C4, -/**/ 0x3FE82000, 0x00000000, -/**/ 0xBF3AEFFC, 0xFC6BBFF4, -/**/ 0x3FD21D34, 0xCD5B9000, -/**/ 0x3D3B552F, 0xB28BADAA, -/**/ 0x3FE81800, 0x00000000, -/**/ 0x3EE81818, 0x18181818, -/**/ 0x3FD22941, 0xFBCF8000, -/**/ 0xBD3A6976, 0xF5EB0963, -/**/ 0x3FE81000, 0x00000000, -/**/ 0x3F3C7F27, 0x4FF0F3C6, -/**/ 0x3FD2354C, 0xE5BC9000, -/**/ 0xBD3D78ED, 0x0602A663, -/**/ 0x3FE81000, 0x00000000, -/**/ 0xBF1ED344, 0x0A86941D, -/**/ 0x3FD24155, 0x8BFD1000, -/**/ 0x3D300FFF, 0x3228FCAD, -/**/ 0x3FE80800, 0x00000000, -/**/ 0x3F3424D0, 0x1B0BD52D, -/**/ 0x3FD24D5B, 0xEF6AF000, -/**/ 0xBCBDD780, 0xFC9FABDD, -/**/ 0x3FE80800, 0x00000000, -/**/ 0xBF2FE7F9, 0xFE7F9FE8, -/**/ 0x3FD25960, 0x10DF7000, -/**/ 0x3D38E7BC, 0x224EA3E3, -/**/ 0x3FE80000, 0x00000000, -/**/ 0x3F280180, 0x18018018, -/**/ 0x3FD26561, 0xF1338000, -/**/ 0x3D38B488, 0x66FAA45F, -/**/ 0x3FE80000, 0x00000000, -/**/ 0xBF37FD00, 0x5FF40180, -/**/ 0x3FD27161, 0x913F8000, -/**/ 0x3D34F4F1, 0xF61564B4, -/**/ 0x3FE7F800, 0x00000000, -/**/ 0x3F104AE8, 0x9750B6C7, -/**/ 0x3FD27D5E, 0xF1DB6000, -/**/ 0xBD092374, 0x78CAC9F4, -/**/ 0x3FE7F800, 0x00000000, -/**/ 0xBF3FD017, 0xF405FD01, -/**/ 0x3FD2895A, 0x13DE8000, -/**/ 0x3D3A8D7A, 0xD24C13F0, -/**/ 0x3FE7F000, 0x00000000, -/**/ 0xBF0D2BF1, 0xC9C5485E, -/**/ 0x3FD29552, 0xF81FF000, -/**/ 0x3D348D30, 0x1771C408, -/**/ 0x3FE7E800, 0x00000000, -/**/ 0x3F38927F, 0xD029DB60, -/**/ 0x3FD2A149, 0x9F763000, -/**/ 0xBD30DBBF, 0x51F3AADC, -/**/ 0x3FE7E800, 0x00000000, -/**/ 0xBF26504A, 0xB0A45169, -/**/ 0x3FD2AD3E, 0x0AB73000, -/**/ 0x3D2B972E, 0x488C359F, -/**/ 0x3FE7E000, 0x00000000, -/**/ 0x3F312A8A, 0xD278E8DD, -/**/ 0x3FD2B930, 0x3AB8A000, -/**/ 0xBD26DB12, 0xD6BFB0A5, -/**/ 0x3FE7E000, 0x00000000, -/**/ 0xBF327577, 0x24BB32E7, -/**/ 0x3FD2C520, 0x304F8000, -/**/ 0x3D230852, 0x8C342F39, -/**/ 0x3FE7D800, 0x00000000, -/**/ 0x3F23EF9A, 0xA4B45AEC, -/**/ 0x3FD2D10D, 0xEC508000, -/**/ 0x3D360C61, 0xF7088353, -/**/ 0x3FE7D800, 0x00000000, -/**/ 0xBF398DAF, 0x32748CC1, -/**/ 0x3FD2DCF9, 0x6F8FD000, -/**/ 0x3D20B4A2, 0x8E33C9CE, -/**/ 0x3FE7D000, 0x00000000, -/**/ 0x3F07D05F, 0x417D05F4, -/**/ 0x3FD2E8E2, 0xBAE12000, -/**/ 0xBD267B1E, 0x99B72BD8, -/**/ 0x3FE7C800, 0x00000000, -/**/ 0x3F3F8EF7, 0x431D3027, -/**/ 0x3FD2F4C9, 0xCF17A000, -/**/ 0x3D371F04, 0x9374B87B, -/**/ 0x3FE7C800, 0x00000000, -/**/ 0xBF0E77A3, 0xDAD83E6C, -/**/ 0x3FD300AE, 0xAD063000, -/**/ 0x3D342F56, 0x8B75FCAC, -/**/ 0x3FE7C000, 0x00000000, -/**/ 0x3F38E041, 0x588D1676, -/**/ 0x3FD30C91, 0x557F2000, -/**/ 0xBD142958, 0xA1451755, -/**/ 0x3FE7C000, 0x00000000, -/**/ 0xBF24C6DD, 0x1FE8414C, -/**/ 0x3FD31871, 0xC9544000, -/**/ 0x3D184FAB, 0x94CECFD9, -/**/ 0x3FE7B800, 0x00000000, -/**/ 0x3F3265F4, 0x81C2D3B2, -/**/ 0x3FD32450, 0x09570000, -/**/ 0x3D3D271B, 0x9BDAE59D, -/**/ 0x3FE7B800, 0x00000000, -/**/ 0xBF30C39C, 0xB6466407, -/**/ 0x3FD3302C, 0x16586000, -/**/ 0x3D36217D, 0xC2A3E08B, -/**/ 0x3FE7B000, 0x00000000, -/**/ 0x3F283FAD, 0x12B21224, -/**/ 0x3FD33C05, 0xF128E000, -/**/ 0xBD22B906, 0x380E1A7D, -/**/ 0x3FE7B000, 0x00000000, -/**/ 0xBF36EFB8, 0xF899E55D, -/**/ 0x3FD347DD, 0x9A988000, -/**/ 0xBD25594D, 0xD4C58092, -/**/ 0x3FE7A800, 0x00000000, -/**/ 0x3F1836B6, 0x3FF42B9F, -/**/ 0x3FD353B3, 0x1376E000, -/**/ 0xBD1331AF, 0xE6C26D9B, -/**/ 0x3FE7A800, 0x00000000, -/**/ 0xBF3CE7FD, 0x0B739FF4, -/**/ 0x3FD35F86, 0x5C933000, -/**/ 0xBD3B07DE, 0x4EA1A54A, -/**/ 0x3FE7A000, 0x00000000, -/**/ 0x3EC7A005, 0xE8017A00, -/**/ 0x3FD36B57, 0x76BC1000, -/**/ 0x3D116978, 0x5A9C223F, -/**/ 0x3FE79800, 0x00000000, -/**/ 0x3F3D535D, 0xB1CC5B7B, -/**/ 0x3FD37726, 0x62BFE000, -/**/ 0xBD3E9436, 0xAC53B023, -/**/ 0x3FE79800, 0x00000000, -/**/ 0xBF15EEAC, 0xE0DA37A9, -/**/ 0x3FD382F3, 0x216C5000, -/**/ 0xBD1061D2, 0x1D1A7F6D, -/**/ 0x3FE79000, 0x00000000, -/**/ 0x3F37C21E, 0x344E16D6, -/**/ 0x3FD38EBD, 0xB38ED000, -/**/ 0x3D290582, 0xE67D4CA0, -/**/ 0x3FE79000, 0x00000000, -/**/ 0xBF25E69A, 0x39C9E465, -/**/ 0x3FD39A86, 0x19F45000, -/**/ 0x3D18EE51, 0x937354F5, -/**/ 0x3FE78800, 0x00000000, -/**/ 0x3F32640B, 0xC52640BC, -/**/ 0x3FD3A64C, 0x55694000, -/**/ 0x3D37A71C, 0xBCD735D0, -/**/ 0x3FE78800, 0x00000000, -/**/ 0xBF3037DE, 0x2F6A09ED, -/**/ 0x3FD3B210, 0x66B9C000, -/**/ 0xBD33C1ED, 0x9811560E, -/**/ 0x3FE78000, 0x00000000, -/**/ 0x3F2A71DC, 0x01781A72, -/**/ 0x3FD3BDD2, 0x4EB15000, -/**/ 0xBD3257B4, 0x970E6ED9, -/**/ 0x3FE78000, 0x00000000, -/**/ 0xBF354996, 0xA9EEBFF4, -/**/ 0x3FD3C992, 0x0E1B2000, -/**/ 0x3D141C28, 0xAA680B76, -/**/ 0x3FE77800, 0x00000000, -/**/ 0x3F208119, 0xAC60D341, -/**/ 0x3FD3D54F, 0xA5C1F000, -/**/ 0x3D3C3E1C, 0xD9A395E3, -/**/ 0x3FE77800, 0x00000000, -/**/ 0xBF3A28AE, 0x742E2DD0, -/**/ 0x3FD3E10B, 0x16701000, -/**/ 0x3D3F3BCF, 0x145429C7, -/**/ 0x3FE77000, 0x00000000, -/**/ 0x3F0BD584, 0x36340177, -/**/ 0x3FD3ECC4, 0x60EF6000, -/**/ 0xBD060286, 0x27C1300F, -/**/ 0x3FE77000, 0x00000000, -/**/ 0xBF3ED55D, 0x240C7174, -/**/ 0x3FD3F87B, 0x86094000, -/**/ 0xBD35DFD7, 0x54589889, -/**/ 0x3FE76800, 0x00000000, -/**/ 0xBEF18DE5, 0xAB277F45, -/**/ 0x3FD40430, 0x8686A000, -/**/ 0x3D3F8EF4, 0x3049F7D3, -/**/ 0x3FE76000, 0x00000000, -/**/ 0x3F3CB026, 0x01D3C7B8, -/**/ 0x3FD40FE3, 0x63303000, -/**/ 0x3D3E5C5F, 0xE79F05C6, -/**/ 0x3FE76000, 0x00000000, -/**/ 0xBF15E95B, 0xA9D08664, -/**/ 0x3FD41B94, 0x1CCE1000, -/**/ 0xBD304690, 0x13E43FC9, -/**/ 0x3FE75800, 0x00000000, -/**/ 0x3F3867A4, 0x097CFD43, -/**/ 0x3FD42742, 0xB427E000, -/**/ 0xBD398727, 0x02B82675, -/**/ 0x3FE75800, 0x00000000, -/**/ 0xBF2353DF, 0xE8A9353E, -/**/ 0x3FD432EF, 0x2A04F000, -/**/ 0xBD3FB129, 0x931715AD, -/**/ 0x3FE75000, 0x00000000, -/**/ 0x3F3450E6, 0x4F13DC4A, -/**/ 0x3FD43E99, 0x7F2C1000, -/**/ 0x3D1C3F72, 0x40C41A04, -/**/ 0x3FE75000, 0x00000000, -/**/ 0xBF2B4FBF, 0xE8B1B4FC, -/**/ 0x3FD44A41, 0xB463C000, -/**/ 0x3D31EE28, 0xF37CF612, -/**/ 0x3FE74800, 0x00000000, -/**/ 0x3F306BB6, 0x7E458100, -/**/ 0x3FD455E7, 0xCA720000, -/**/ 0x3D1AD8C6, 0x36629AED, -/**/ 0x3FE74800, 0x00000000, -/**/ 0xBF31745D, 0x1745D174, -/**/ 0x3FD4618B, 0xC21C6000, -/**/ 0xBD13D82F, 0x484C84CC, -/**/ 0x3FE74000, 0x00000000, -/**/ 0x3F296FBD, 0x236DEC04, -/**/ 0x3FD46D2D, 0x9C280000, -/**/ 0x3D359B27, 0x5F67F75A, -/**/ 0x3FE74000, 0x00000000, -/**/ 0xBF350F9D, 0x3B304B87, -/**/ 0x3FD478CD, 0x5959B000, -/**/ 0x3D2EC89B, 0xF0C8D098, -/**/ 0x3FE73800, 0x00000000, -/**/ 0x3F226A51, 0xA4EBDC70, -/**/ 0x3FD4846A, 0xFA75C000, -/**/ 0xBD263EA2, 0xE3798DCE, -/**/ 0x3FE73800, 0x00000000, -/**/ 0xBF3879D5, 0xF00B9A78, -/**/ 0x3FD49006, 0x80401000, -/**/ 0xBD38BCCF, 0xFE1A0F8C, -/**/ 0x3FE73000, 0x00000000, -/**/ 0x3F178D7F, 0x5DAAD90C, -/**/ 0x3FD49B9F, 0xEB7C1000, -/**/ 0x3D3DAC1C, 0x58AB60D7, -/**/ 0x3FE73000, 0x00000000, -/**/ 0xBF3BB33C, 0x783709C7, -/**/ 0x3FD4A737, 0x3CED0000, -/**/ 0xBD39A234, 0xEBF35449, -/**/ 0x3FE72800, 0x00000000, -/**/ 0x3F061274, 0x265AD23A, -/**/ 0x3FD4B2CC, 0x75556000, -/**/ 0xBD380FCB, 0xC78BFA4B, -/**/ 0x3FE72800, 0x00000000, -/**/ 0xBF3EBC05, 0xC90A1FD2, -/**/ 0x3FD4BE5F, 0x95778000, -/**/ 0xBD3D7C92, 0xCD9AD824, -/**/ 0x3FE72000, 0x00000000, -/**/ 0xBEC71FFA, 0x38017200, -/**/ 0x3FD4C9F0, 0x9E153000, -/**/ 0xBD2E1DDE, 0x70E02DE0, -/**/ 0x3FE71800, 0x00000000, -/**/ 0x3F3E6B99, 0x74A050E1, -/**/ 0x3FD4D57F, 0x8FEFE000, -/**/ 0x3D23F926, 0x7FD06868, -/**/ 0x3FE71800, 0x00000000, -/**/ 0xBF077400, 0xB8BD1180, -/**/ 0x3FD4E10C, 0x6BC8A000, -/**/ 0x3CF8283F, 0x1636F061, -/**/ 0x3FE71000, 0x00000000, -/**/ 0x3F3BC36C, 0xE3E0453A, -/**/ 0x3FD4EC97, 0x32600000, -/**/ 0x3D234D7A, 0xAF04D104, -/**/ 0x3FE71000, 0x00000000, -/**/ 0xBF15FA98, 0x6935DDC5, -/**/ 0x3FD4F81F, 0xE4764000, -/**/ 0xBD27FCF6, 0x434FF08D, -/**/ 0x3FE70800, 0x00000000, -/**/ 0x3F394B40, 0x7337CF08, -/**/ 0x3FD503A6, 0x82CB2000, -/**/ 0xBD2A68C8, 0xF16F9B5D, -/**/ 0x3FE70800, 0x00000000, -/**/ 0xBF1F7B97, 0xA835403A, -/**/ 0x3FD50F2B, 0x0E1E0000, -/**/ 0x3D3A0940, 0x8C47B8D8, -/**/ 0x3FE70000, 0x00000000, -/**/ 0x3F3702E0, 0x5C0B8170, -/**/ 0x3FD51AAD, 0x872E0000, -/**/ 0xBD3F4BD8, 0xDB0A7CC1, -/**/ 0x3FE70000, 0x00000000, -/**/ 0xBF241EE6, 0x4F67A855, -/**/ 0x3FD5262D, 0xEEB99000, -/**/ 0xBD3E1B9F, 0x70894A01, -/**/ 0x3FE6F800, 0x00000000, -/**/ 0x3F34EA19, 0x221C0170, -/**/ 0x3FD531AC, 0x457EE000, -/**/ 0x3D3DF83B, 0x7D931501, -/**/ 0x3FE6F800, 0x00000000, -/**/ 0xBF282102, 0x5508CA5C, -/**/ 0x3FD53D28, 0x8C3BE000, -/**/ 0xBD111397, 0xEB6DFAC5, -/**/ 0x3FE6F000, 0x00000000, -/**/ 0x3F3300B7, 0x9300B793, -/**/ 0x3FD548A2, 0xC3ADD000, -/**/ 0x3D23167E, 0x63081CF7, -/**/ 0x3FE6F000, 0x00000000, -/**/ 0xBF2BC486, 0x005BB90F, -/**/ 0x3FD5541A, 0xEC91C000, -/**/ 0xBCF816AA, 0xDC72EEBA, -/**/ 0x3FE6E800, 0x00000000, -/**/ 0x3F314688, 0xC5A3A00B, -/**/ 0x3FD55F91, 0x07A44000, -/**/ 0xBD11E647, 0x78DF4A62, -/**/ 0x3FE6E800, 0x00000000, -/**/ 0xBF2F09D6, 0xDA9C5AE1, -/**/ 0x3FD56B05, 0x15A18000, -/**/ 0x3D29247B, 0xBC4A23FC, -/**/ 0x3FE6E000, 0x00000000, -/**/ 0x3F2F76B4, 0x337C6CB1, -/**/ 0x3FD57677, 0x17456000, -/**/ 0xBD364EAD, 0x9524D7CA, -/**/ 0x3FE6E000, 0x00000000, -/**/ 0xBF30F8AC, 0xEDF4EC87, -/**/ 0x3FD581E7, 0x0D4B3000, -/**/ 0xBD1F31E1, 0xB12D8F1D, -/**/ 0x3FE6D800, 0x00000000, -/**/ 0x3F2CBDF2, 0x6EAEF381, -/**/ 0x3FD58D54, 0xF86E0000, -/**/ 0x3D2791F3, 0x0A795215, -/**/ 0x3FE6D800, 0x00000000, -/**/ 0xBF323DB9, 0xB624BFF5, -/**/ 0x3FD598C0, 0xD9688000, -/**/ 0xBD385F49, 0x70D96DA4, -/**/ 0x3FE6D000, 0x00000000, -/**/ 0x3F2A6268, 0x1C860FB0, -/**/ 0x3FD5A42A, 0xB0F4D000, -/**/ 0xBCDE63AF, 0x2DF7BA69, -/**/ 0x3FE6D000, 0x00000000, -/**/ 0xBF335443, 0xB253BAE1, -/**/ 0x3FD5AF92, 0x7FCCE000, -/**/ 0xBD1C032F, 0xF5FFC77A, -/**/ 0x3FE6C800, 0x00000000, -/**/ 0x3F2863B1, 0xAB4294D4, -/**/ 0x3FD5BAF8, 0x46AA2000, -/**/ 0xBD339AE8, 0xF873FA41, -/**/ 0x3FE6C800, 0x00000000, -/**/ 0xBF343C7C, 0x87EAA6DF, -/**/ 0x3FD5C65C, 0x0645A000, -/**/ 0xBD39FE06, 0x0180EE65, -/**/ 0x3FE6C000, 0x00000000, -/**/ 0x3F26C16C, 0x16C16C17, -/**/ 0x3FD5D1BD, 0xBF581000, -/**/ 0xBD38D6BD, 0xC9C7C238, -/**/ 0x3FE6C000, 0x00000000, -/**/ 0xBF34F695, 0x95C33E00, -/**/ 0x3FD5DD1D, 0x7299C000, -/**/ 0xBD38AF61, 0x8815CE17, -/**/ 0x3FE6B800, 0x00000000, -/**/ 0x3F257B34, 0xE7802D73, -/**/ 0x3FD5E87B, 0x20C29000, -/**/ 0x3D3527D1, 0x8F7738FA, -/**/ 0x3FE6B800, 0x00000000, -/**/ 0xBF3582BF, 0xF4A5582C, -/**/ 0x3FD5F3D6, 0xCA8A2000, -/**/ 0x3D37AF84, 0x8E19CC75, -/**/ 0x3FE6B000, 0x00000000, -/**/ 0x3F2490AA, 0x31A3CFC7, -/**/ 0x3FD5FF30, 0x70A79000, -/**/ 0x3D2E9E43, 0x9F105039, -/**/ 0x3FE6B000, 0x00000000, -/**/ 0xBF35E12C, 0x77C30E5A, -/**/ 0x3FD60A88, 0x13D1A000, -/**/ 0x3D36E9B9, 0xC879AF55, -/**/ 0x3FE6A800, 0x00000000, -/**/ 0x3F24016A, 0x94016A94, -/**/ 0x3FD615DD, 0xB4BEC000, -/**/ 0x3D13C7CA, 0x90BC04B2, -/**/ 0x3FE6A800, 0x00000000, -/**/ 0xBF36120B, 0xAD33D63F, -/**/ 0x3FD62131, 0x5424F000, -/**/ 0xBD3382FC, 0x4AA68669, -/**/ 0x3FE6A000, 0x00000000, -/**/ 0x3F23CD15, 0x3729043E, -/**/ 0x3FD62C82, 0xF2B9C000, -/**/ 0x3D3E54BD, 0xBD7C8A98 } }; - -static const union {int4 i[4350]; double x[2175]; } vj = { .i = { -/**/ 0x3F46A400, 0x7D161C28, -/**/ 0xBF46A200, 0x20600000, -/**/ 0x3D27DC4E, 0xAA7623D9, -/**/ 0x3F4693FA, 0xD596E639, -/**/ 0xBF4691FD, 0x4CE00000, -/**/ 0x3D26B0CF, 0x29C3F0AD, -/**/ 0x3F4683F5, 0x3219CE89, -/**/ 0xBF4681FA, 0x7B600000, -/**/ 0x3D22B290, 0x95B9FDCC, -/**/ 0x3F4673EF, 0x929ED397, -/**/ 0xBF4671F7, 0xABE00000, -/**/ 0x3D17C727, 0xFA2F2D87, -/**/ 0x3F4663E9, 0xF725F3E2, -/**/ 0xBF4661F4, 0xDE600000, -/**/ 0x3CF22ED3, 0x6EDBFF1C, -/**/ 0x3F4653E4, 0x5FAF2DE9, -/**/ 0xBF4651F2, 0x12E00000, -/**/ 0xBD144936, 0x157812BB, -/**/ 0x3F4643DE, 0xCC3A802B, -/**/ 0xBF4641EF, 0x49600000, -/**/ 0xBD2959CB, 0x60314E05, -/**/ 0x3F4633D9, 0x3CC7E927, -/**/ 0xBF4631EC, 0x81E00000, -/**/ 0xBD35ABDA, 0xC3638E99, -/**/ 0x3F4623D3, 0xB157675C, -/**/ 0xBF4621E9, 0xBC800000, -/**/ 0x3D3FF1D3, 0xC63F9A21, -/**/ 0x3F4613CE, 0x29E8F948, -/**/ 0xBF4611E6, 0xF9000000, -/**/ 0x3D342D26, 0x71EEE611, -/**/ 0x3F4603C8, 0xA67C9D6B, -/**/ 0xBF4601E4, 0x37800000, -/**/ 0x3D1C1C77, 0x11A09689, -/**/ 0x3F45F3C3, 0x27125244, -/**/ 0xBF45F1E1, 0x78000000, -/**/ 0xBD1DFD16, 0xF7DC643C, -/**/ 0x3F45E3BD, 0xABAA1651, -/**/ 0xBF45E1DE, 0xBA800000, -/**/ 0xBD376503, 0x91318A02, -/**/ 0x3F45D3B8, 0x3443E812, -/**/ 0xBF45D1DB, 0xFF200000, -/**/ 0x3D3756E4, 0xCE55DCDD, -/**/ 0x3F45C3B2, 0xC0DFC606, -/**/ 0xBF45C1D9, 0x45A00000, -/**/ 0x3D12D5CF, 0x8F6F8FA0, -/**/ 0x3F45B3AD, 0x517DAEAB, -/**/ 0xBF45B1D6, 0x8E200000, -/**/ 0xBD2E90AB, 0x9B85DC2C, -/**/ 0x3F45A3A7, 0xE61DA081, -/**/ 0xBF45A1D3, 0xD8C00000, -/**/ 0x3D3B5E88, 0x3BF5AC54, -/**/ 0x3F4593A2, 0x7EBF9A07, -/**/ 0xBF4591D1, 0x25400000, -/**/ 0x3D12AC3A, 0x0C86DDB1, -/**/ 0x3F45839D, 0x1B6399BB, -/**/ 0xBF4581CE, 0x73C00000, -/**/ 0xBD3361C2, 0x76830985, -/**/ 0x3F457397, 0xBC099E1C, -/**/ 0xBF4571CB, 0xC4600000, -/**/ 0x3D333915, 0xD062EBFF, -/**/ 0x3F456392, 0x60B1A5AA, -/**/ 0xBF4561C9, 0x16E00000, -/**/ 0xBD1E0DA0, 0x9CC4988F, -/**/ 0x3F45538D, 0x095BAEE4, -/**/ 0xBF4551C6, 0x6B800000, -/**/ 0x3D3C69C4, 0x235BC18A, -/**/ 0x3F454387, 0xB607B848, -/**/ 0xBF4541C3, 0xC2000000, -/**/ 0xBCEFCC99, 0xF7737723, -/**/ 0x3F453382, 0x66B5C056, -/**/ 0xBF4531C1, 0x1A800000, -/**/ 0xBD3FBAE2, 0x809CBCBB, -/**/ 0x3F45237D, 0x1B65C58C, -/**/ 0xBF4521BE, 0x75200000, -/**/ 0x3CCAA5C8, 0x194FEE63, -/**/ 0x3F451377, 0xD417C66A, -/**/ 0xBF4511BB, 0xD1C00000, -/**/ 0x3D3ED325, 0xE1CC7BBC, -/**/ 0x3F450372, 0x90CBC16E, -/**/ 0xBF4501B9, 0x30400000, -/**/ 0xBD0F0298, 0x68AB3742, -/**/ 0x3F44F36D, 0x5181B517, -/**/ 0xBF44F1B6, 0x90E00000, -/**/ 0x3D381BE1, 0x41E67AD9, -/**/ 0x3F44E368, 0x16399FE6, -/**/ 0xBF44E1B3, 0xF3600000, -/**/ 0xBD2A6E79, 0x668D3662, -/**/ 0x3F44D362, 0xDEF38058, -/**/ 0xBF44D1B1, 0x58000000, -/**/ 0x3D284EA7, 0x21F8B7C2, -/**/ 0x3F44C35D, 0xABAF54EC, -/**/ 0xBF44C1AE, 0xBE800000, -/**/ 0xBD3BC76D, 0x7417D9C5, -/**/ 0x3F44B358, 0x7C6D1C22, -/**/ 0xBF44B1AC, 0x27200000, -/**/ 0xBD1409FD, 0x16AAD1FC, -/**/ 0x3F44A353, 0x512CD479, -/**/ 0xBF44A1A9, 0x91C00000, -/**/ 0x3D30771E, 0x98BC14FD, -/**/ 0x3F44934E, 0x29EE7C70, -/**/ 0xBF4491A6, 0xFE400000, -/**/ 0xBD3B5993, 0x5CCB7232, -/**/ 0x3F448349, 0x06B21285, -/**/ 0xBF4481A4, 0x6CE00000, -/**/ 0xBD20E729, 0x5512F9C2, -/**/ 0x3F447343, 0xE7779538, -/**/ 0xBF4471A1, 0xDD800000, -/**/ 0x3D225436, 0x55B30899, -/**/ 0x3F44633E, 0xCC3F0308, -/**/ 0xBF44619F, 0x50200000, -/**/ 0x3D39807C, 0x9E54E31F, -/**/ 0x3F445339, 0xB5085A73, -/**/ 0xBF44519C, 0xC4A00000, -/**/ 0xBD376F6F, 0xD5804C0E, -/**/ 0x3F444334, 0xA1D399FA, -/**/ 0xBF44419A, 0x3B400000, -/**/ 0xBD234953, 0x6CDE6425, -/**/ 0x3F44332F, 0x92A0C01A, -/**/ 0xBF443197, 0xB3E00000, -/**/ 0x3D070E7B, 0xAAF6596F, -/**/ 0x3F44232A, 0x876FCB54, -/**/ 0xBF442195, 0x2E800000, -/**/ 0x3D2C49F8, 0x4EC011F1, -/**/ 0x3F441325, 0x8040BA25, -/**/ 0xBF441192, 0xAB200000, -/**/ 0x3D3825DC, 0xD8AAA7EB, -/**/ 0x3F440320, 0x7D138B0E, -/**/ 0xBF440190, 0x29A00000, -/**/ 0xBD3F1A8D, 0xFE0B73D6, -/**/ 0x3F43F31B, 0x7DE83C8C, -/**/ 0xBF43F18D, 0xAA400000, -/**/ 0xBD379B43, 0xE46CA26B, -/**/ 0x3F43E316, 0x82BECD20, -/**/ 0xBF43E18B, 0x2CE00000, -/**/ 0xBD315B44, 0x6283780D, -/**/ 0x3F43D311, 0x8B973B49, -/**/ 0xBF43D188, 0xB1800000, -/**/ 0xBD28B31E, 0x017589BE, -/**/ 0x3F43C30C, 0x98718584, -/**/ 0xBF43C186, 0x38200000, -/**/ 0xBD212A46, 0x8FBB296E, -/**/ 0x3F43B307, 0xA94DAA52, -/**/ 0xBF43B183, 0xC0C00000, -/**/ 0xBD183403, 0x045CBBD2, -/**/ 0x3F43A302, 0xBE2BA832, -/**/ 0xBF43A181, 0x4B600000, -/**/ 0xBD13009B, 0xD7CC5936, -/**/ 0x3F4392FD, 0xD70B7DA2, -/**/ 0xBF43917E, 0xD8000000, -/**/ 0xBD12B655, 0xC1742279, -/**/ 0x3F4382F8, 0xF3ED2921, -/**/ 0xBF43817C, 0x66A00000, -/**/ 0xBD17512E, 0xEA83FAE8, -/**/ 0x3F4372F4, 0x14D0A930, -/**/ 0xBF437179, 0xF7400000, -/**/ 0xBD206692, 0xBED65875, -/**/ 0x3F4362EF, 0x39B5FC4C, -/**/ 0xBF436177, 0x89E00000, -/**/ 0xBD27931B, 0xD38FFE9E, -/**/ 0x3F4352EA, 0x629D20F5, -/**/ 0xBF435175, 0x1E800000, -/**/ 0xBD309618, 0xE524208F, -/**/ 0x3F4342E5, 0x8F8615AA, -/**/ 0xBF434172, 0xB5200000, -/**/ 0xBD3697E9, 0xDD4C72C5, -/**/ 0x3F4332E0, 0xC070D8EB, -/**/ 0xBF433170, 0x4DC00000, -/**/ 0xBD3DCE00, 0x5E6E12C3, -/**/ 0x3F4322DB, 0xF55D6935, -/**/ 0xBF43216D, 0xE8800000, -/**/ 0x3D39C8A4, 0x0AE9A8CE, -/**/ 0x3F4312D7, 0x2E4BC509, -/**/ 0xBF43116B, 0x85200000, -/**/ 0x3D302D03, 0xD1CD2FA1, -/**/ 0x3F4302D2, 0x6B3BEAE5, -/**/ 0xBF430169, 0x23C00000, -/**/ 0x3D15807D, 0xA3BADFD1, -/**/ 0x3F42F2CD, 0xAC2DD949, -/**/ 0xBF42F166, 0xC4600000, -/**/ 0xBD1A7422, 0xF57F0504, -/**/ 0x3F42E2C8, 0xF1218EB3, -/**/ 0xBF42E164, 0x67000000, -/**/ 0xBD33C974, 0x2F2C781C, -/**/ 0x3F42D2C4, 0x3A1709A3, -/**/ 0xBF42D162, 0x0BC00000, -/**/ 0x3D3DDBDD, 0x851A1E61, -/**/ 0x3F42C2BF, 0x870E4898, -/**/ 0xBF42C15F, 0xB2600000, -/**/ 0x3D2CA7D9, 0xA14AA8FD, -/**/ 0x3F42B2BA, 0xD8074A10, -/**/ 0xBF42B15D, 0x5B000000, -/**/ 0xBD03022E, 0xDDCDDFF5, -/**/ 0x3F42A2B6, 0x2D020C8C, -/**/ 0xBF42A15B, 0x05A00000, -/**/ 0xBD343FBA, 0x0F9231A8, -/**/ 0x3F4292B1, 0x85FE8E8A, -/**/ 0xBF429158, 0xB2600000, -/**/ 0x3D38B690, 0xA52C9CCF, -/**/ 0x3F4282AC, 0xE2FCCE8A, -/**/ 0xBF428156, 0x61000000, -/**/ 0x3D120E6A, 0xC8CC82EB, -/**/ 0x3F4272A8, 0x43FCCB0A, -/**/ 0xBF427154, 0x11A00000, -/**/ 0xBD30D79B, 0x792E6C51, -/**/ 0x3F4262A3, 0xA8FE8289, -/**/ 0xBF426151, 0xC4600000, -/**/ 0x3D38A5EE, 0x91F7F7AA, -/**/ 0x3F42529F, 0x1201F387, -/**/ 0xBF42514F, 0x79000000, -/**/ 0x3CEFA728, 0x46C2E8BA, -/**/ 0x3F42429A, 0x7F071C84, -/**/ 0xBF42414D, 0x2FA00000, -/**/ 0xBD37D0BA, 0xFA447A17, -/**/ 0x3F423295, 0xF00DFBFD, -/**/ 0xBF42314A, 0xE8600000, -/**/ 0x3D2C7A24, 0x94AF3FED, -/**/ 0x3F422291, 0x65169072, -/**/ 0xBF422148, 0xA3000000, -/**/ 0xBD29B0BD, 0x050CEA04, -/**/ 0x3F42128C, 0xDE20D863, -/**/ 0xBF421146, 0x5FC00000, -/**/ 0x3D36EFF3, 0x0C3035EB, -/**/ 0x3F420288, 0x5B2CD24E, -/**/ 0xBF420144, 0x1E600000, -/**/ 0xBD19A3E2, 0x73569B27, -/**/ 0x3F41F283, 0xDC3A7CB2, -/**/ 0xBF41F141, 0xDF200000, -/**/ 0x3D3B1DDE, 0xEEB67715, -/**/ 0x3F41E27F, 0x6149D610, -/**/ 0xBF41E13F, 0xA1C00000, -/**/ 0xBD11EA17, 0x94F49154, -/**/ 0x3F41D27A, 0xEA5ADCE5, -/**/ 0xBF41D13D, 0x66800000, -/**/ 0x3D3ACED9, 0x52DD9D37, -/**/ 0x3F41C276, 0x776D8FB1, -/**/ 0xBF41C13B, 0x2D200000, -/**/ 0xBD1C140B, 0xF72D8EEB, -/**/ 0x3F41B272, 0x0881ECF4, -/**/ 0xBF41B138, 0xF5E00000, -/**/ 0x3D360AE5, 0x939583E1, -/**/ 0x3F41A26D, 0x9D97F32C, -/**/ 0xBF41A136, 0xC0800000, -/**/ 0xBD2C00D9, 0x1D246C7C, -/**/ 0x3F419269, 0x36AFA0D9, -/**/ 0xBF419134, 0x8D400000, -/**/ 0x3D29B40E, 0x0B955CFB, -/**/ 0x3F418264, 0xD3C8F479, -/**/ 0xBF418132, 0x5BE00000, -/**/ 0xBD3964BF, 0x45A6C249, -/**/ 0x3F417260, 0x74E3EC8D, -/**/ 0xBF417130, 0x2CA00000, -/**/ 0xBCE777E0, 0xF3363612, -/**/ 0x3F41625C, 0x1A008792, -/**/ 0xBF41612D, 0xFF600000, -/**/ 0x3D36D608, 0x28DE8296, -/**/ 0x3F415257, 0xC31EC409, -/**/ 0xBF41512B, 0xD4000000, -/**/ 0xBD32AE69, 0x4BB1B788, -/**/ 0x3F414253, 0x703EA071, -/**/ 0xBF414129, 0xAAC00000, -/**/ 0x3D05BF68, 0x170ECD8C, -/**/ 0x3F41324F, 0x21601B48, -/**/ 0xBF413127, 0x83800000, -/**/ 0x3D370A0B, 0x7C653BFC, -/**/ 0x3F41224A, 0xD683330E, -/**/ 0xBF412125, 0x5E200000, -/**/ 0xBD35B70D, 0x77BBBEBF, -/**/ 0x3F411246, 0x8FA7E642, -/**/ 0xBF411123, 0x3AE00000, -/**/ 0xBD0C52EB, 0x93ABC1CD, -/**/ 0x3F410242, 0x4CCE3363, -/**/ 0xBF410121, 0x19A00000, -/**/ 0x3D2B2237, 0xE5C6F4C7, -/**/ 0x3F40F23E, 0x0DF618F1, -/**/ 0xBF40F11E, 0xFA600000, -/**/ 0x3D3D9C5F, 0x1E9A50AD, -/**/ 0x3F40E239, 0xD31F956A, -/**/ 0xBF40E11C, 0xDD000000, -/**/ 0xBD336793, 0x8965F0DA, -/**/ 0x3F40D235, 0x9C4AA74E, -/**/ 0xBF40D11A, 0xC1C00000, -/**/ 0xBD15E6EE, 0x7E49E231, -/**/ 0x3F40C231, 0x69774D1D, -/**/ 0xBF40C118, 0xA8800000, -/**/ 0x3D1D9B9D, 0x04FD621C, -/**/ 0x3F40B22D, 0x3AA58554, -/**/ 0xBF40B116, 0x91400000, -/**/ 0x3D333B55, 0x7DD9EED3, -/**/ 0x3F40A229, 0x0FD54E74, -/**/ 0xBF40A114, 0x7C000000, -/**/ 0x3D3E048F, 0x7AA78478, -/**/ 0x3F409224, 0xE906A6FC, -/**/ 0xBF409112, 0x68A00000, -/**/ 0xBD383C6A, 0x644DDE88, -/**/ 0x3F408220, 0xC6398D6B, -/**/ 0xBF408110, 0x57600000, -/**/ 0xBD2F0D2F, 0x76B8C83A, -/**/ 0x3F40721C, 0xA76E0040, -/**/ 0xBF40710E, 0x48200000, -/**/ 0xBD1F63E0, 0x9CE99FD3, -/**/ 0x3F406218, 0x8CA3FDFB, -/**/ 0xBF40610C, 0x3AE00000, -/**/ 0xBCF328B4, 0x4FE774F2, -/**/ 0x3F405214, 0x75DB851A, -/**/ 0xBF40510A, 0x2FA00000, -/**/ 0x3D11B6BD, 0x3782BCD4, -/**/ 0x3F404210, 0x6314941D, -/**/ 0xBF404108, 0x26600000, -/**/ 0x3D22116F, 0xE7183792, -/**/ 0x3F40320C, 0x544F2983, -/**/ 0xBF403106, 0x1F200000, -/**/ 0x3D293F1E, 0x1B995B3D, -/**/ 0x3F402208, 0x498B43CB, -/**/ 0xBF402104, 0x19E00000, -/**/ 0x3D2E6669, 0xFC162630, -/**/ 0x3F401204, 0x42C8E175, -/**/ 0xBF401102, 0x16A00000, -/**/ 0x3D30C4AA, 0x254FC9F8, -/**/ 0x3F400200, 0x40080100, -/**/ 0xBF400100, 0x15600000, -/**/ 0x3D3154EE, 0xE4431F92, -/**/ 0x3F3FE3F8, 0x829141D6, -/**/ 0xBF3FE1FC, 0x2C400000, -/**/ 0x3D30E503, 0x9B2D30FB, -/**/ 0x3F3FC3F0, 0x8D157F6B, -/**/ 0xBF3FC1F8, 0x31C00000, -/**/ 0x3D2EEBD1, 0x53EBD670, -/**/ 0x3F3FA3E8, 0x9F9CB7BC, -/**/ 0xBF3FA1F4, 0x3B400000, -/**/ 0x3D2A113C, 0xE04A16E0, -/**/ 0x3F3F83E0, 0xBA26E7CA, -/**/ 0xBF3F81F0, 0x48C00000, -/**/ 0x3D233C4A, 0x99C43E34, -/**/ 0x3F3F63D8, 0xDCB40C91, -/**/ 0xBF3F61EC, 0x5A400000, -/**/ 0x3D14DDF6, 0x7BD210C1, -/**/ 0x3F3F43D1, 0x07442311, -/**/ 0xBF3F41E8, 0x6FC00000, -/**/ 0xBCC52C1D, 0x9E4B51C8, -/**/ 0x3F3F23C9, 0x39D72849, -/**/ 0xBF3F21E4, 0x89400000, -/**/ 0xBD1A196F, 0x8EA8C754, -/**/ 0x3F3F03C1, 0x746D1936, -/**/ 0xBF3F01E0, 0xA6C00000, -/**/ 0xBD2BB719, 0xF95AF98D, -/**/ 0x3F3EE3B9, 0xB705F2D8, -/**/ 0xBF3EE1DC, 0xC8400000, -/**/ 0xBD3628EB, 0x28FFD598, -/**/ 0x3F3EC3B2, 0x01A1B22C, -/**/ 0xBF3EC1D8, 0xEDC00000, -/**/ 0xBD3F6D76, 0x0BBAC8F8, -/**/ 0x3F3EA3AA, 0x54405432, -/**/ 0xBF3EA1D5, 0x17800000, -/**/ 0x3D3657D2, 0xB7A7EE0D, -/**/ 0x3F3E83A2, 0xAEE1D5E8, -/**/ 0xBF3E81D1, 0x45000000, -/**/ 0x3D264FDE, 0xFA9CCC78, -/**/ 0x3F3E639B, 0x1186344C, -/**/ 0xBF3E61CD, 0x76800000, -/**/ 0xBCEF83EB, 0xE02EF455, -/**/ 0x3F3E4393, 0x7C2D6C5E, -/**/ 0xBF3E41C9, 0xAC000000, -/**/ 0xBD2C26B3, 0x03C3E129, -/**/ 0x3F3E238B, 0xEED77B1B, -/**/ 0xBF3E21C5, 0xE5800000, -/**/ 0xBD3C1CBE, 0x904D773D, -/**/ 0x3F3E0384, 0x69845D83, -/**/ 0xBF3E01C2, 0x23400000, -/**/ 0x3D34E8B1, 0xD0615454, -/**/ 0x3F3DE37C, 0xEC341093, -/**/ 0xBF3DE1BE, 0x64C00000, -/**/ 0x3D13F7DF, 0xE9BE933E, -/**/ 0x3F3DC375, 0x76E6914B, -/**/ 0xBF3DC1BA, 0xAA400000, -/**/ 0xBD27B7D7, 0x707B004A, -/**/ 0x3F3DA36E, 0x099BDCA9, -/**/ 0xBF3DA1B6, 0xF3C00000, -/**/ 0xBD3DA3F8, 0xEE2141C3, -/**/ 0x3F3D8366, 0xA453EFAC, -/**/ 0xBF3D81B3, 0x41800000, -/**/ 0x3D2F4DA1, 0x63D21825, -/**/ 0x3F3D635F, 0x470EC752, -/**/ 0xBF3D61AF, 0x93000000, -/**/ 0xBD0FD473, 0xFAD0B844, -/**/ 0x3F3D4357, 0xF1CC609A, -/**/ 0xBF3D41AB, 0xE8800000, -/**/ 0xBD388716, 0x298657C2, -/**/ 0x3F3D2350, 0xA48CB882, -/**/ 0xBF3D21A8, 0x42400000, -/**/ 0x3D32023A, 0x0B68711A, -/**/ 0x3F3D0349, 0x5F4FCC0A, -/**/ 0xBF3D01A4, 0x9FC00000, -/**/ 0xBD117676, 0x23A704B0, -/**/ 0x3F3CE342, 0x22159830, -/**/ 0xBF3CE1A1, 0x01400000, -/**/ 0xBD3BA59C, 0x8F391F09, -/**/ 0x3F3CC33A, 0xECDE19F1, -/**/ 0xBF3CC19D, 0x67000000, -/**/ 0x3D28567A, 0x9EBBF706, -/**/ 0x3F3CA333, 0xBFA94E4E, -/**/ 0xBF3CA199, 0xD0800000, -/**/ 0xBD29D41F, 0x2D41F1CC, -/**/ 0x3F3C832C, 0x9A773245, -/**/ 0xBF3C8196, 0x3E400000, -/**/ 0x3D391B7D, 0x14ED5134, -/**/ 0x3F3C6325, 0x7D47C2D4, -/**/ 0xBF3C6192, 0xAFC00000, -/**/ 0xBCFC31C5, 0x83403B5B, -/**/ 0x3F3C431E, 0x681AFCFA, -/**/ 0xBF3C418F, 0x25400000, -/**/ 0xBD3D84DB, 0x88A1FFF3, -/**/ 0x3F3C2317, 0x5AF0DDB6, -/**/ 0xBF3C218B, 0x9F000000, -/**/ 0x3D175CFF, 0x6298A63B, -/**/ 0x3F3C0310, 0x55C96207, -/**/ 0xBF3C0188, 0x1C800000, -/**/ 0xBD37ADC9, 0xDFB8E489, -/**/ 0x3F3BE309, 0x58A486EA, -/**/ 0xBF3BE184, 0x9E400000, -/**/ 0x3D23DA0F, 0x45069C64, -/**/ 0x3F3BC302, 0x6382495F, -/**/ 0xBF3BC181, 0x23C00000, -/**/ 0xBD35574B, 0x4CC2EFE0, -/**/ 0x3F3BA2FB, 0x7662A665, -/**/ 0xBF3BA17D, 0xAD800000, -/**/ 0x3D250C7B, 0x4BED0B89, -/**/ 0x3F3B82F4, 0x91459AFA, -/**/ 0xBF3B817A, 0x3B000000, -/**/ 0xBD36795D, 0x322E5605, -/**/ 0x3F3B62ED, 0xB42B241D, -/**/ 0xBF3B6176, 0xCCC00000, -/**/ 0x3D1EAB91, 0xF6413886, -/**/ 0x3F3B42E6, 0xDF133ECC, -/**/ 0xBF3B4173, 0x62400000, -/**/ 0xBD3B0BFC, 0xF86BE5B5, -/**/ 0x3F3B22E0, 0x11FDE807, -/**/ 0xBF3B216F, 0xFC000000, -/**/ 0x3CF62FEB, 0xDDE8D701, -/**/ 0x3F3B02D9, 0x4CEB1CCC, -/**/ 0xBF3B016C, 0x99C00000, -/**/ 0x3D3CF8D7, 0xF210FD9E, -/**/ 0x3F3AE2D2, 0x8FDADA1A, -/**/ 0xBF3AE169, 0x3B400000, -/**/ 0xBD2092E2, 0x1526CFB0, -/**/ 0x3F3AC2CB, 0xDACD1CEF, -/**/ 0xBF3AC165, 0xE1000000, -/**/ 0x3D319D24, 0x18D261D5, -/**/ 0x3F3AA2C5, 0x2DC1E24A, -/**/ 0xBF3AA162, 0x8A800000, -/**/ 0xBD355268, 0x533CC8EC, -/**/ 0x3F3A82BE, 0x88B9272B, -/**/ 0xBF3A815F, 0x38400000, -/**/ 0x3D074750, 0x0AFE6139, -/**/ 0x3F3A62B7, 0xEBB2E88F, -/**/ 0xBF3A615B, 0xEA000000, -/**/ 0x3D3A501B, 0x6668AD57, -/**/ 0x3F3A42B1, 0x56AF2375, -/**/ 0xBF3A4158, 0x9F800000, -/**/ 0xBD2E37A7, 0xA98381BD, -/**/ 0x3F3A22AA, 0xC9ADD4DD, -/**/ 0xBF3A2155, 0x59400000, -/**/ 0x3D1A9872, 0x7B82F9AC, -/**/ 0x3F3A02A4, 0x44AEF9C5, -/**/ 0xBF3A0152, 0x17000000, -/**/ 0x3D3B96ED, 0x0FF040AD, -/**/ 0x3F39E29D, 0xC7B28F2C, -/**/ 0xBF39E14E, 0xD8800000, -/**/ 0xBD304862, 0x33534BD7, -/**/ 0x3F39C297, 0x52B89211, -/**/ 0xBF39C14B, 0x9E400000, -/**/ 0x3D084979, 0x17AF009B, -/**/ 0x3F39A290, 0xE5C0FF72, -/**/ 0xBF39A148, 0x68000000, -/**/ 0x3D358CA1, 0x604B64C9, -/**/ 0x3F39828A, 0x80CBD44E, -/**/ 0xBF398145, 0x35800000, -/**/ 0xBD38BD0B, 0x2E334404, -/**/ 0x3F396284, 0x23D90DA4, -/**/ 0xBF396142, 0x07400000, -/**/ 0xBD1F4B58, 0xEF1B1C68, -/**/ 0x3F39427D, 0xCEE8A873, -/**/ 0xBF39413E, 0xDD000000, -/**/ 0x3D209881, 0x07E010EC, -/**/ 0x3F392277, 0x81FAA1B9, -/**/ 0xBF39213B, 0xB6C00000, -/**/ 0x3D37A139, 0x5CF03181, -/**/ 0x3F390271, 0x3D0EF676, -/**/ 0xBF390138, 0x94400000, -/**/ 0xBD39D2EB, 0x65276B0B, -/**/ 0x3F38E26B, 0x0025A3A8, -/**/ 0xBF38E135, 0x76000000, -/**/ 0xBD281E5A, 0xEE3023F6, -/**/ 0x3F38C264, 0xCB3EA64F, -/**/ 0xBF38C132, 0x5BC00000, -/**/ 0x3CEDAE6E, 0x3F9A4B53, -/**/ 0x3F38A25E, 0x9E59FB68, -/**/ 0xBF38A12F, 0x45800000, -/**/ 0x3D2A47EF, 0x412B648E, -/**/ 0x3F388258, 0x79779FF3, -/**/ 0xBF38812C, 0x33400000, -/**/ 0x3D38955F, 0x5ED0D8F2, -/**/ 0x3F386252, 0x5C9790EE, -/**/ 0xBF386129, 0x24C00000, -/**/ 0xBD3CBD55, 0x09939374, -/**/ 0x3F38424C, 0x47B9CB5A, -/**/ 0xBF384126, 0x1A800000, -/**/ 0xBD32D325, 0x4F399186, -/**/ 0x3F382246, 0x3ADE4C33, -/**/ 0xBF382123, 0x14400000, -/**/ 0xBD235622, 0x524688EB, -/**/ 0x3F380240, 0x3605107A, -/**/ 0xBF380120, 0x12000000, -/**/ 0xBCF44184, 0xEB2F3DDC, -/**/ 0x3F37E23A, 0x392E152C, -/**/ 0xBF37E11D, 0x13C00000, -/**/ 0x3D198B16, 0x2153D1B8, -/**/ 0x3F37C234, 0x4459574A, -/**/ 0xBF37C11A, 0x19800000, -/**/ 0x3D2A9511, 0x47A3C923, -/**/ 0x3F37A22E, 0x5786D3D1, -/**/ 0xBF37A117, 0x23400000, -/**/ 0x3D337431, 0x4B4128D9, -/**/ 0x3F378228, 0x72B687C1, -/**/ 0xBF378114, 0x31000000, -/**/ 0x3D38E0BF, 0xC5BFE9E8, -/**/ 0x3F376222, 0x95E87019, -/**/ 0xBF376111, 0x42C00000, -/**/ 0x3D3D9134, 0x5A0B2CE9, -/**/ 0x3F37421C, 0xC11C89D8, -/**/ 0xBF37410E, 0x58400000, -/**/ 0xBD3E7970, 0xB1802C40, -/**/ 0x3F372216, 0xF452D1FB, -/**/ 0xBF37210B, 0x72000000, -/**/ 0xBD3B3E2F, 0x16E562C9, -/**/ 0x3F370211, 0x2F8B4583, -/**/ 0xBF370108, 0x8FC00000, -/**/ 0xBD38BC06, 0x9087DACD, -/**/ 0x3F36E20B, 0x72C5E16F, -/**/ 0xBF36E105, 0xB1800000, -/**/ 0xBD36F1F6, 0xD92B1B21, -/**/ 0x3F36C205, 0xBE02A2BC, -/**/ 0xBF36C102, 0xD7400000, -/**/ 0xBD35DEFF, 0xABF2CD23, -/**/ 0x3F36A200, 0x1141866B, -/**/ 0xBF36A100, 0x01000000, -/**/ 0xBD358220, 0xC462BC85, -/**/ 0x3F3681FA, 0x6C828979, -/**/ 0xBF3680FD, 0x2EC00000, -/**/ 0xBD35DA59, 0xDE5ED723, -/**/ 0x3F3661F4, 0xCFC5A8E7, -/**/ 0xBF3660FA, 0x60800000, -/**/ 0xBD36E6AA, 0xB62B2CD1, -/**/ 0x3F3641EF, 0x3B0AE1B2, -/**/ 0xBF3640F7, 0x96400000, -/**/ 0xBD38A613, 0x086BEF29, -/**/ 0x3F3621E9, 0xAE5230DA, -/**/ 0xBF3620F4, 0xD0000000, -/**/ 0xBD3B1792, 0x9225715D, -/**/ 0x3F3601E4, 0x299B935F, -/**/ 0xBF3600F2, 0x0DC00000, -/**/ 0xBD3E3A29, 0x10BC2805, -/**/ 0x3F35E1DE, 0xACE7063E, -/**/ 0xBF35E0EF, 0x4FC00000, -/**/ 0x3D3DF329, 0xBE0B570D, -/**/ 0x3F35C1D9, 0x38348676, -/**/ 0xBF35C0EC, 0x95800000, -/**/ 0x3D397166, 0x1C0C5502, -/**/ 0x3F35A1D3, 0xCB841108, -/**/ 0xBF35A0E9, 0xDF400000, -/**/ 0x3D34418C, 0x4AC1FA2D, -/**/ 0x3F3581CE, 0x66D5A2F1, -/**/ 0xBF3580E7, 0x2D000000, -/**/ 0x3D2CC939, 0x168E9C6E, -/**/ 0x3F3561C9, 0x0A293931, -/**/ 0xBF3560E4, 0x7EC00000, -/**/ 0x3D1F6E5C, 0x795CE154, -/**/ 0x3F3541C3, 0xB57ED0C7, -/**/ 0xBF3540E1, 0xD4800000, -/**/ 0x3CE4EF88, 0x898FEE67, -/**/ 0x3F3521BE, 0x68D666B1, -/**/ 0xBF3520DF, 0x2E400000, -/**/ 0xBD1CDACF, 0x0B78D65E, -/**/ 0x3F3501B9, 0x242FF7EF, -/**/ 0xBF3500DC, 0x8C000000, -/**/ 0xBD2F7BF1, 0x6F1CBFB8, -/**/ 0x3F34E1B3, 0xE78B8180, -/**/ 0xBF34E0D9, 0xEDC00000, -/**/ 0xBD38ED52, 0x5A899820, -/**/ 0x3F34C1AE, 0xB2E90063, -/**/ 0xBF34C0D7, 0x53C00000, -/**/ 0x3D3D3C3F, 0x930A694E, -/**/ 0x3F34A1A9, 0x86487196, -/**/ 0xBF34A0D4, 0xBD800000, -/**/ 0x3D32BFBD, 0x4FA7CCCB, -/**/ 0x3F3481A4, 0x61A9D219, -/**/ 0xBF3480D2, 0x2B400000, -/**/ 0x3D1E789C, 0x65A26E32, -/**/ 0x3F34619F, 0x450D1EEB, -/**/ 0xBF3460CF, 0x9D000000, -/**/ 0xBD109E0B, 0x47E500B5, -/**/ 0x3F34419A, 0x3072550B, -/**/ 0xBF3440CD, 0x12C00000, -/**/ 0xBD309040, 0x3523FAE9, -/**/ 0x3F342195, 0x23D97178, -/**/ 0xBF3420CA, 0x8C800000, -/**/ 0xBD3D9B10, 0xD31DE7C2, -/**/ 0x3F340190, 0x1F427131, -/**/ 0xBF3400C8, 0x0A800000, -/**/ 0x3D34B90B, 0x90B287C4, -/**/ 0x3F33E18B, 0x22AD5135, -/**/ 0xBF33E0C5, 0x8C400000, -/**/ 0x3D19B454, 0xCA1B0FC2, -/**/ 0x3F33C186, 0x2E1A0E83, -/**/ 0xBF33C0C3, 0x12000000, -/**/ 0xBD20FBE7, 0x638FC1F4, -/**/ 0x3F33A181, 0x4188A61A, -/**/ 0xBF33A0C0, 0x9BC00000, -/**/ 0xBD38070E, 0xE0C03290, -/**/ 0x3F33817C, 0x5CF914F9, -/**/ 0xBF3380BE, 0x29C00000, -/**/ 0x3D37D2C3, 0xE0B6E5F5, -/**/ 0x3F336177, 0x806B5820, -/**/ 0xBF3360BB, 0xBB800000, -/**/ 0x3D1C4213, 0x35598794, -/**/ 0x3F334172, 0xABDF6C8D, -/**/ 0xBF3340B9, 0x51400000, -/**/ 0xBD249997, 0xC111C569, -/**/ 0x3F33216D, 0xDF554F40, -/**/ 0xBF3320B6, 0xEB000000, -/**/ 0xBD3C442D, 0xEEEE28E2, -/**/ 0x3F330169, 0x1ACCFD37, -/**/ 0xBF3300B4, 0x89000000, -/**/ 0x3D312B5E, 0xDBBF316D, -/**/ 0x3F32E164, 0x5E467372, -/**/ 0xBF32E0B2, 0x2AC00000, -/**/ 0xBCFFD254, 0x7484E6E1, -/**/ 0x3F32C15F, 0xA9C1AEF0, -/**/ 0xBF32C0AF, 0xD0800000, -/**/ 0xBD35BCBA, 0x1F2C3F9D, -/**/ 0x3F32A15A, 0xFD3EACAF, -/**/ 0xBF32A0AD, 0x7A800000, -/**/ 0x3D35EDA0, 0x8C8BAA61, -/**/ 0x3F328156, 0x58BD69B0, -/**/ 0xBF3280AB, 0x28400000, -/**/ 0x3CF02EAF, 0x3F79FE5E, -/**/ 0x3F326151, 0xBC3DE2F1, -/**/ 0xBF3260A8, 0xDA000000, -/**/ 0xBD347BDA, 0xB1304AA8, -/**/ 0x3F32414D, 0x27C01572, -/**/ 0xBF3240A6, 0x90000000, -/**/ 0x3D35724F, 0xD46BE359, -/**/ 0x3F322148, 0x9B43FE30, -/**/ 0xBF3220A4, 0x49C00000, -/**/ 0xBCF31954, 0x43BF90C9, -/**/ 0x3F320144, 0x16C99A2D, -/**/ 0xBF3200A2, 0x07800000, -/**/ 0xBD386689, 0xC4901E30, -/**/ 0x3F31E13F, 0x9A50E666, -/**/ 0xBF31E09F, 0xC9800000, -/**/ 0x3D2FA8E5, 0x134E34BF, -/**/ 0x3F31C13B, 0x25D9DFDB, -/**/ 0xBF31C09D, 0x8F400000, -/**/ 0xBD20FF40, 0x477D87DF, -/**/ 0x3F31A136, 0xB964838C, -/**/ 0xBF31A09B, 0x59400000, -/**/ 0x3D3E9E3E, 0x68B5B77B, -/**/ 0x3F318132, 0x54F0CE76, -/**/ 0xBF318099, 0x27000000, -/**/ 0x3D14BC39, 0x906F8A53, -/**/ 0x3F31612D, 0xF87EBD9A, -/**/ 0xBF316096, 0xF8C00000, -/**/ 0xBD34CC2F, 0xFCD50724, -/**/ 0x3F314129, 0xA40E4DF7, -/**/ 0xBF314094, 0xCEC00000, -/**/ 0x3D30AD83, 0x7A3A1B8D, -/**/ 0x3F312125, 0x579F7C8B, -/**/ 0xBF312092, 0xA8800000, -/**/ 0xBD24C5AE, 0x057F5C66, -/**/ 0x3F310121, 0x13324657, -/**/ 0xBF310090, 0x86800000, -/**/ 0x3D3A03C0, 0xBFD488E0, -/**/ 0x3F30E11C, 0xD6C6A858, -/**/ 0xBF30E08E, 0x68400000, -/**/ 0xBD00EDA8, 0x56935D63, -/**/ 0x3F30C118, 0xA25C9F8F, -/**/ 0xBF30C08C, 0x4E000000, -/**/ 0xBD3EC638, 0x2FDDD1CE, -/**/ 0x3F30A114, 0x75F428FB, -/**/ 0xBF30A08A, 0x38000000, -/**/ 0x3D102CDE, 0x0CA3DCBE, -/**/ 0x3F308110, 0x518D419B, -/**/ 0xBF308088, 0x25C00000, -/**/ 0xBD39A865, 0xBFA78921, -/**/ 0x3F30610C, 0x3527E66D, -/**/ 0xBF306086, 0x17C00000, -/**/ 0x3D203FE0, 0x72CE37BD, -/**/ 0x3F304108, 0x20C41472, -/**/ 0xBF304084, 0x0D800000, -/**/ 0xBD369AC6, 0x6054C3FA, -/**/ 0x3F302104, 0x1461C8A9, -/**/ 0xBF302082, 0x07800000, -/**/ 0x3D2450ED, 0x4836293A, -/**/ 0x3F300100, 0x10010010, -/**/ 0xBF300080, 0x05400000, -/**/ 0xBD359558, 0x88B3357C, -/**/ 0x3F2FC1F8, 0x27436F4F, -/**/ 0xBF2FC0FC, 0x0E800000, -/**/ 0x3D245998, 0x92ECD4D1, -/**/ 0x3F2F81F0, 0x3E87D8DC, -/**/ 0xBF2F80F8, 0x1A000000, -/**/ 0xBD36901A, 0xB592170A, -/**/ 0x3F2F41E8, 0x65CF36C6, -/**/ 0xBF2F40F4, 0x2E000000, -/**/ 0x3D2069E5, 0x53524603, -/**/ 0x3F2F01E0, 0x9D19830B, -/**/ 0xBF2F00F0, 0x49800000, -/**/ 0xBD39830B, 0x69C22240, -/**/ 0x3F2EC1D8, 0xE466B7AB, -/**/ 0xBF2EC0EC, 0x6D800000, -/**/ 0x3D1123AC, 0xFB871BBA, -/**/ 0x3F2E81D1, 0x3BB6CEA4, -/**/ 0xBF2E80E8, 0x99000000, -/**/ 0xBD3E6629, 0x2E158AF6, -/**/ 0x3F2E41C9, 0xA309C1F4, -/**/ 0xBF2E40E4, 0xCD000000, -/**/ 0xBCF8F488, 0x2B29884E, -/**/ 0x3F2E01C2, 0x1A5F8B99, -/**/ 0xBF2E00E1, 0x09000000, -/**/ 0x3D3ACE8D, 0x6EA006C6, -/**/ 0x3F2DC1BA, 0xA1B82593, -/**/ 0xBF2DC0DD, 0x4C800000, -/**/ 0xBD22974E, 0x59D0B687, -/**/ 0x3F2D81B3, 0x391389E0, -/**/ 0xBF2D80D9, 0x98800000, -/**/ 0x3D322319, 0xD7897CAD, -/**/ 0x3F2D41AB, 0xE071B27F, -/**/ 0xBF2D40D5, 0xEC000000, -/**/ 0xBD32E42F, 0x57954C6E, -/**/ 0x3F2D01A4, 0x97D2996E, -/**/ 0xBF2D00D2, 0x48000000, -/**/ 0x3D1E7DF5, 0xC741610E, -/**/ 0x3F2CC19D, 0x5F3638AB, -/**/ 0xBF2CC0CE, 0xAB800000, -/**/ 0xBD3E50DF, 0xA0909C5A, -/**/ 0x3F2C8196, 0x369C8A37, -/**/ 0xBF2C80CB, 0x17800000, -/**/ 0xBD12D119, 0x8D8D1C8F, -/**/ 0x3F2C418F, 0x1E05880E, -/**/ 0xBF2C40C7, 0x8B800000, -/**/ 0x3D347649, 0x544D2574, -/**/ 0x3F2C0188, 0x15712C30, -/**/ 0xBF2C00C4, 0x07000000, -/**/ 0xBD32D030, 0x4EEA9E68, -/**/ 0x3F2BC181, 0x1CDF709C, -/**/ 0xBF2BC0C0, 0x8B000000, -/**/ 0x3D15E533, 0x74A84109, -/**/ 0x3F2B817A, 0x34504F50, -/**/ 0xBF2B80BD, 0x17000000, -/**/ 0x3D3D53C1, 0x025FBF68, -/**/ 0x3F2B4173, 0x5BC3C24B, -/**/ 0xBF2B40B9, 0xAA800000, -/**/ 0xBD267FA7, 0x6BAA2FA8, -/**/ 0x3F2B016C, 0x9339C38C, -/**/ 0xBF2B00B6, 0x46800000, -/**/ 0x3D277F1D, 0xBB3FDE1E, -/**/ 0x3F2AC165, 0xDAB24D11, -/**/ 0xBF2AC0B2, 0xEA000000, -/**/ 0xBD3DAD17, 0x1A8CDBE2, -/**/ 0x3F2A815F, 0x322D58D9, -/**/ 0xBF2A80AF, 0x96000000, -/**/ 0xBD1E1315, 0xD81CF36E, -/**/ 0x3F2A4158, 0x99AAE0E3, -/**/ 0xBF2A40AC, 0x4A000000, -/**/ 0x3D2C7307, 0xE649E7B4, -/**/ 0x3F2A0152, 0x112ADF2D, -/**/ 0xBF2A00A9, 0x05800000, -/**/ 0xBD3C713A, 0xB77435EC, -/**/ 0x3F29C14B, 0x98AD4DB7, -/**/ 0xBF29C0A5, 0xC9800000, -/**/ 0xBD1E1005, 0x3A7AE827, -/**/ 0x3F298145, 0x3032267F, -/**/ 0xBF2980A2, 0x95800000, -/**/ 0x3D2A0460, 0xA8F2A842, -/**/ 0x3F29413E, 0xD7B96385, -/**/ 0xBF29409F, 0x69000000, -/**/ 0xBD3EDDA5, 0xA7B8321E, -/**/ 0x3F290138, 0x8F42FEC5, -/**/ 0xBF29009C, 0x45000000, -/**/ 0xBD264506, 0x3A3F0D33, -/**/ 0x3F28C132, 0x56CEF241, -/**/ 0xBF28C099, 0x29000000, -/**/ 0x3D206930, 0x33EE13CD, -/**/ 0x3F28812C, 0x2E5D37F6, -/**/ 0xBF288096, 0x15000000, -/**/ 0x3D3B28AC, 0x22DF1FDA, -/**/ 0x3F284126, 0x15EDC9E3, -/**/ 0xBF284093, 0x08800000, -/**/ 0xBD324546, 0xDD73B6DB, -/**/ 0x3F280120, 0x0D80A208, -/**/ 0xBF280090, 0x04800000, -/**/ 0xBCB440C2, 0x6DFEB485, -/**/ 0x3F27C11A, 0x1515BA62, -/**/ 0xBF27C08D, 0x08800000, -/**/ 0x3D31BCBE, 0x9823B19D, -/**/ 0x3F278114, 0x2CAD0CF1, -/**/ 0xBF27808A, 0x14000000, -/**/ 0xBD3CD148, 0xA9EB4E97, -/**/ 0x3F27410E, 0x544693B4, -/**/ 0xBF274087, 0x28000000, -/**/ 0xBD277AAC, 0xCA4F73AA, -/**/ 0x3F270108, 0x8BE248AA, -/**/ 0xBF270084, 0x44000000, -/**/ 0x3D13E656, 0x26068EF7, -/**/ 0x3F26C102, 0xD38025D2, -/**/ 0xBF26C081, 0x68000000, -/**/ 0x3D35547B, 0x44C3EC8A, -/**/ 0x3F2680FD, 0x2B20252A, -/**/ 0xBF26807E, 0x93800000, -/**/ 0xBD3AABA5, 0x110DCE4B, -/**/ 0x3F2640F7, 0x92C240B1, -/**/ 0xBF26407B, 0xC7800000, -/**/ 0xBD260B96, 0xAC011956, -/**/ 0x3F2600F2, 0x0A667267, -/**/ 0xBF260079, 0x03800000, -/**/ 0x3D111C22, 0x5DFA826E, -/**/ 0x3F25C0EC, 0x920CB44A, -/**/ 0xBF25C076, 0x47800000, -/**/ 0x3D333BD6, 0xD8A2980A, -/**/ 0x3F2580E7, 0x29B5005A, -/**/ 0xBF258073, 0x93000000, -/**/ 0xBD3E2660, 0x71C1D861, -/**/ 0x3F2540E1, 0xD15F5095, -/**/ 0xBF254070, 0xE7000000, -/**/ 0xBD2FBD3A, 0x4E77E5EE, -/**/ 0x3F2500DC, 0x890B9EFA, -/**/ 0xBF25006E, 0x43000000, -/**/ 0xBCFEBDF2, 0x7B90A2D9, -/**/ 0x3F24C0D7, 0x50B9E589, -/**/ 0xBF24C06B, 0xA7000000, -/**/ 0x3D2765B3, 0x58F2FF2C, -/**/ 0x3F2480D2, 0x286A1E40, -/**/ 0xBF248069, 0x13000000, -/**/ 0x3D38FE8D, 0x74AE382C, -/**/ 0x3F2440CD, 0x101C431E, -/**/ 0xBF244066, 0x86800000, -/**/ 0xBD3A07C3, 0xB0286224, -/**/ 0x3F2400C8, 0x07D04E23, -/**/ 0xBF240064, 0x02800000, -/**/ 0xBD2ABE33, 0x46EFC0EC, -/**/ 0x3F23C0C3, 0x0F86394D, -/**/ 0xBF23C061, 0x86800000, -/**/ 0xBCF06744, 0x70DE3151, -/**/ 0x3F2380BE, 0x273DFE9C, -/**/ 0xBF23805F, 0x12800000, -/**/ 0x3D260659, 0x05CFCD61, -/**/ 0x3F2340B9, 0x4EF7980F, -/**/ 0xBF23405C, 0xA6800000, -/**/ 0x3D36BEC8, 0xD7DBBEBC, -/**/ 0x3F2300B4, 0x86B2FFA4, -/**/ 0xBF23005A, 0x42000000, -/**/ 0xBD3DD29F, 0x2B2027B4, -/**/ 0x3F22C0AF, 0xCE702F5C, -/**/ 0xBF22C057, 0xE6000000, -/**/ 0xBD32B00B, 0x6959A7D0, -/**/ 0x3F2280AB, 0x262F2134, -/**/ 0xBF228055, 0x92000000, -/**/ 0xBD1F61EF, 0x19FAAC2D, -/**/ 0x3F2240A6, 0x8DEFCF2C, -/**/ 0xBF224053, 0x46000000, -/**/ 0x3D05A87E, 0xCB16B8A8, -/**/ 0x3F2200A2, 0x05B23344, -/**/ 0xBF220051, 0x02000000, -/**/ 0x3D29F32F, 0x23B9B257, -/**/ 0x3F21C09D, 0x8D76477A, -/**/ 0xBF21C04E, 0xC6000000, -/**/ 0x3D36F61B, 0x7E214821, -/**/ 0x3F218099, 0x253C05CD, -/**/ 0xBF21804C, 0x91800000, -/**/ 0xBD3F5464, 0x46FDFCA2, -/**/ 0x3F214094, 0xCD03683D, -/**/ 0xBF21404A, 0x65800000, -/**/ 0xBD35E4E7, 0xA30F2308, -/**/ 0x3F210090, 0x84CC68C9, -/**/ 0xBF210048, 0x41800000, -/**/ 0xBD2974DC, 0xF800CC34, -/**/ 0x3F20C08C, 0x4C970171, -/**/ 0xBF20C046, 0x25800000, -/**/ 0xBD0E9FC5, 0xC1006E9D, -/**/ 0x3F208088, 0x24632C32, -/**/ 0xBF208044, 0x11800000, -/**/ 0x3D133DE7, 0x078E4438, -/**/ 0x3F204084, 0x0C30E30D, -/**/ 0xBF204042, 0x05800000, -/**/ 0x3D2A61D2, 0x15F82A7B, -/**/ 0x3F200080, 0x04002001, -/**/ 0xBF200040, 0x01800000, -/**/ 0x3D355155, 0x3BBB110C, -/**/ 0x3F1F80F8, 0x17A1BA1A, -/**/ 0xBF1F807C, 0x0B000000, -/**/ 0x3D3D31BE, 0x6C520A9B, -/**/ 0x3F1F00F0, 0x47462860, -/**/ 0xBF1F0078, 0x22000000, -/**/ 0xBD3B2CDB, 0x4B6D83F6, -/**/ 0x3F1E80E8, 0x96ED7ED3, -/**/ 0xBF1E8074, 0x4A000000, -/**/ 0xBD33C977, 0xD4122C5A, -/**/ 0x3F1E00E1, 0x0697B172, -/**/ 0xBF1E0070, 0x82000000, -/**/ 0xBD29462E, 0x2D1517C4, -/**/ 0x3F1D80D9, 0x9644B43B, -/**/ 0xBF1D806C, 0xCA000000, -/**/ 0xBD16E2E3, 0xF0952D45, -/**/ 0x3F1D00D2, 0x45F47B2C, -/**/ 0xBF1D0069, 0x22000000, -/**/ 0x3CEED452, 0x2DDC2A8D, -/**/ 0x3F1C80CB, 0x15A6FA46, -/**/ 0xBF1C8065, 0x8A000000, -/**/ 0x3D1DAFEE, 0xA08CEBE8, -/**/ 0x3F1C00C4, 0x055C2585, -/**/ 0xBF1C0062, 0x02000000, -/**/ 0x3D2B50A4, 0xBB11EF55, -/**/ 0x3F1B80BD, 0x1513F0E9, -/**/ 0xBF1B805E, 0x8A000000, -/**/ 0x3D33ACA6, 0xC6D142BF, -/**/ 0x3F1B00B6, 0x44CE5071, -/**/ 0xBF1B005B, 0x22000000, -/**/ 0x3D3979F8, 0xF8CD3D11, -/**/ 0x3F1A80AF, 0x948B381A, -/**/ 0xBF1A8057, 0xCA000000, -/**/ 0x3D3F1149, 0x07EDFD29, -/**/ 0x3F1A00A9, 0x044A9BE5, -/**/ 0xBF1A0054, 0x81000000, -/**/ 0xBD3B8C68, 0xF7BB7092, -/**/ 0x3F1980A2, 0x940C6FCF, -/**/ 0xBF198051, 0x49000000, -/**/ 0xBD365E1C, 0xF27E09A9, -/**/ 0x3F19009C, 0x43D0A7D8, -/**/ 0xBF19004E, 0x21000000, -/**/ 0xBD3162D2, 0xD508D564, -/**/ 0x3F188096, 0x139737FE, -/**/ 0xBF18804B, 0x09000000, -/**/ 0xBD293315, 0x18D5C93E, -/**/ 0x3F180090, 0x03601440, -/**/ 0xBF180048, 0x01000000, -/**/ 0xBD200288, 0x0C26A328, -/**/ 0x3F17808A, 0x132B309E, -/**/ 0xBF178045, 0x09000000, -/**/ 0xBD0CC7F9, 0x7E89FD6F, -/**/ 0x3F170084, 0x42F88115, -/**/ 0xBF170042, 0x21000000, -/**/ 0x3CE40881, 0x058494DC, -/**/ 0x3F16807E, 0x92C7F9A5, -/**/ 0xBF16803F, 0x49000000, -/**/ 0x3D12AE16, 0xCD5698B9, -/**/ 0x3F160079, 0x02998E4D, -/**/ 0xBF16003C, 0x81000000, -/**/ 0x3D21138B, 0xC5780E17, -/**/ 0x3F158073, 0x926D330B, -/**/ 0xBF158039, 0xC9000000, -/**/ 0x3D287809, 0x4E2001E2, -/**/ 0x3F15006E, 0x4242DBDF, -/**/ 0xBF150037, 0x21000000, -/**/ 0x3D2F8684, 0x21448AA2, -/**/ 0x3F148069, 0x121A7CC8, -/**/ 0xBF148034, 0x89000000, -/**/ 0x3D33207E, 0x2F637D8E, -/**/ 0x3F140064, 0x01F409C4, -/**/ 0xBF140032, 0x01000000, -/**/ 0x3D3654B9, 0x12E44B29, -/**/ 0x3F13805F, 0x11CF76D3, -/**/ 0xBF13802F, 0x89000000, -/**/ 0x3D3960F2, 0xCA5547F3, -/**/ 0x3F13005A, 0x41ACB7F4, -/**/ 0xBF13002D, 0x21000000, -/**/ 0x3D3C462B, 0x6487063D, -/**/ 0x3F128055, 0x918BC126, -/**/ 0xBF12802A, 0xC9000000, -/**/ 0x3D3F0562, 0xEFEA1107, -/**/ 0x3F120051, 0x016C8668, -/**/ 0xBF120028, 0x80000000, -/**/ 0xBD3E6066, 0x857113CE, -/**/ 0x3F11804C, 0x914EFBBA, -/**/ 0xBF118026, 0x48000000, -/**/ 0xBD3BEA30, 0xEDD9EB54, -/**/ 0x3F110048, 0x41331519, -/**/ 0xBF110024, 0x20000000, -/**/ 0xBD3996FC, 0x3BFFFF5A, -/**/ 0x3F108044, 0x1118C686, -/**/ 0xBF108022, 0x08000000, -/**/ 0xBD3765C8, 0x62F2E042, -/**/ 0x3F100040, 0x01000400, -/**/ 0xBF100020, 0x00000000, -/**/ 0xBD355595, 0x562224CD, -/**/ 0x3F0F0078, 0x21D1830C, -/**/ 0xBF0F003C, 0x10000000, -/**/ 0xBD336563, 0x095D69EB, -/**/ 0x3F0E0070, 0x81A5E62E, -/**/ 0xBF0E0038, 0x40000000, -/**/ 0xBD319431, 0x70D45290, -/**/ 0x3F0D0069, 0x217D1965, -/**/ 0xBF0D0034, 0x90000000, -/**/ 0xBD2FC201, 0x022D0EF6, -/**/ 0x3F0C0062, 0x015704B1, -/**/ 0xBF0C0031, 0x00000000, -/**/ 0xBD2C95A0, 0x5E276E21, -/**/ 0x3F0B005B, 0x2133900E, -/**/ 0xBF0B002D, 0x90000000, -/**/ 0xBD29A140, 0xE0372A42, -/**/ 0x3F0A0054, 0x8112A37D, -/**/ 0xBF0A002A, 0x40000000, -/**/ 0xBD26E2E2, 0x73BBB580, -/**/ 0x3F09004E, 0x20F426FB, -/**/ 0xBF090027, 0x10000000, -/**/ 0xBD245885, 0x04D48C20, -/**/ 0x3F080048, 0x00D80288, -/**/ 0xBF080024, 0x00000000, -/**/ 0xBD220028, 0x80613426, -/**/ 0x3F070042, 0x20BE1E23, -/**/ 0xBF070021, 0x10000000, -/**/ 0xBD1FAF99, 0xA80279F3, -/**/ 0x3F06003C, 0x80A661CA, -/**/ 0xBF06001E, 0x40000000, -/**/ 0xBD1BBAE3, 0xDC287DFE, -/**/ 0x3F050037, 0x2090B57C, -/**/ 0xBF05001B, 0x90000000, -/**/ 0xBD181E2F, 0x7B73B67C, -/**/ 0x3F040032, 0x007D0139, -/**/ 0xBF040019, 0x00000000, -/**/ 0xBD14D57C, 0x65A375F8, -/**/ 0x3F03002D, 0x206B2CFF, -/**/ 0xBF030016, 0x90000000, -/**/ 0xBD11DCCA, 0x7BF71EC1, -/**/ 0x3F020028, 0x805B20CD, -/**/ 0xBF020014, 0x40000000, -/**/ 0xBD0E6033, 0x425C4447, -/**/ 0x3F010024, 0x204CC4A3, -/**/ 0xBF010012, 0x10000000, -/**/ 0xBD0996D3, 0x730FFF5C, -/**/ 0x3F000020, 0x00400080, -/**/ 0xBF000010, 0x00000000, -/**/ 0xBD055575, 0x558888DE, -/**/ 0x3EFE0038, 0x406978C6, -/**/ 0xBEFE001C, 0x20000000, -/**/ 0xBD019418, 0xB845146A, -/**/ 0x3EFC0031, 0x0055C096, -/**/ 0xBEFC0018, 0x80000000, -/**/ 0xBCFC957A, 0xD989DB3C, -/**/ 0x3EFA002A, 0x4044A870, -/**/ 0xBEFA0015, 0x20000000, -/**/ 0xBCF6E2C6, 0x8F0EED2F, -/**/ 0x3EF80024, 0x00360051, -/**/ 0xBEF80012, 0x00000000, -/**/ 0xBCF20014, 0x40184CEB, -/**/ 0x3EF6001E, 0x40299839, -/**/ 0xBEF6000F, 0x20000000, -/**/ 0xBCEBBAC7, 0x434A1F5C, -/**/ 0x3EF40019, 0x001F4027, -/**/ 0xBEF4000C, 0x80000000, -/**/ 0xBCE4D568, 0xDD68DD6A, -/**/ 0x3EF20014, 0x4016C81A, -/**/ 0xBEF2000A, 0x20000000, -/**/ 0xBCDE6019, 0xA11710FC, -/**/ 0x3EF00010, 0x00100010, -/**/ 0xBEF00008, 0x00000000, -/**/ 0xBCD55565, 0x5562222D, -/**/ 0x3EEC0018, 0x80157013, -/**/ 0xBEEC000C, 0x40000000, -/**/ 0xBCCC9568, 0x176276C5, -/**/ 0x3EE80012, 0x000D800A, -/**/ 0xBEE80009, 0x00000000, -/**/ 0xBCC2000A, 0x20061337, -/**/ 0x3EE4000C, 0x8007D005, -/**/ 0xBEE40006, 0x40000000, -/**/ 0xBCB4D55F, 0x195A3758, -/**/ 0x3EE00008, 0x00040002, -/**/ 0xBEE00004, 0x00000000, -/**/ 0xBCA5555D, 0x5558888A, -/**/ 0x3ED80009, 0x00036001, -/**/ 0xBED80004, 0x80000000, -/**/ 0xBC920005, 0x100184CD, -/**/ 0x3ED00004, 0x00010000, -/**/ 0xBED00002, 0x00000000, -/**/ 0xBC755559, 0x55562222, -/**/ 0x3EC00002, 0x00004000, -/**/ 0xBEC00001, 0x00000000, -/**/ 0xBC455557, 0x55558889, -/**/ 0x00000000, 0x00000000, -/**/ 0x00000000, 0x00000000, -/**/ 0x00000000, 0x00000000, -/**/ 0xBEBFFFFC, 0x00008000, -/**/ 0x3EBFFFFE, 0x00000000, -/**/ 0x3C455553, 0x55558889, -/**/ 0xBECFFFF8, 0x00020000, -/**/ 0x3ECFFFFC, 0x00000000, -/**/ 0x3C755551, 0x55562222, -/**/ 0xBED7FFF7, 0x00035FFF, -/**/ 0x3ED7FFFB, 0x80000000, -/**/ 0x3C91FFFA, 0xF00184CC, -/**/ 0xBEDFFFF0, 0x0007FFFC, -/**/ 0x3EDFFFF8, 0x00000000, -/**/ 0x3CA5554D, 0x55588887, -/**/ 0xBEE3FFF3, 0x8007CFFB, -/**/ 0x3EE3FFF9, 0xC0000000, -/**/ 0x3CB4D54B, 0x915A3753, -/**/ 0xBEE7FFEE, 0x000D7FF6, -/**/ 0x3EE7FFF7, 0x00000000, -/**/ 0x3CC1FFF5, 0xE006132F, -/**/ 0xBEEBFFE7, 0x80156FED, -/**/ 0x3EEBFFF3, 0xC0000000, -/**/ 0x3CCC9542, 0x936276B2, -/**/ 0xBEEFFFE0, 0x001FFFE0, -/**/ 0x3EEFFFF0, 0x00000000, -/**/ 0x3CD55545, 0x55622217, -/**/ 0xBEF1FFEB, 0xC016C7E6, -/**/ 0x3EF1FFF5, 0xE0000000, -/**/ 0x3CDE5FE6, 0x5F1710D1, -/**/ 0xBEF3FFE7, 0x001F3FD9, -/**/ 0x3EF3FFF3, 0x80000000, -/**/ 0x3CE4D541, 0xCD68DD41, -/**/ 0xBEF5FFE1, 0xC02997C7, -/**/ 0x3EF5FFF0, 0xE0000000, -/**/ 0x3CEBBA8E, 0x124A1F13, -/**/ 0xBEF7FFDC, 0x0035FFAF, -/**/ 0x3EF7FFEE, 0x00000000, -/**/ 0x3CF1FFEB, 0xC0184CAE, -/**/ 0xBEF9FFD5, 0xC044A790, -/**/ 0x3EF9FFEA, 0xE0000000, -/**/ 0x3CF6E28E, 0xC68EECCD, -/**/ 0xBEFBFFCF, 0x0055BF6A, -/**/ 0x3EFBFFE7, 0x80000000, -/**/ 0x3CFC952F, 0xD189DAA2, -/**/ 0xBEFDFFC7, 0xC069773A, -/**/ 0x3EFDFFE3, 0xE0000000, -/**/ 0x3D0193E7, 0x480513F6, -/**/ 0xBEFFFFC0, 0x007FFF00, -/**/ 0x3EFFFFE0, 0x00000000, -/**/ 0x3D055535, 0x55888833, -/**/ 0xBF00FFDB, 0xE04CC35D, -/**/ 0x3F00FFED, 0xF0000000, -/**/ 0x3D099681, 0xE2CFFE66, -/**/ 0xBF01FFD7, 0x805B1F33, -/**/ 0x3F01FFEB, 0xC0000000, -/**/ 0x3D0E5FCC, 0xBE5C42ED, -/**/ 0xBF02FFD2, 0xE06B2B01, -/**/ 0x3F02FFE9, 0x70000000, -/**/ 0x3D11DC8A, 0xD9D71DD1, -/**/ 0xBF03FFCE, 0x007CFEC8, -/**/ 0x3F03FFE7, 0x00000000, -/**/ 0x3D14D52E, 0x45A374B3, -/**/ 0xBF04FFC8, 0xE090B284, -/**/ 0x3F04FFE4, 0x70000000, -/**/ 0x3D181DD0, 0x8553B4C7, -/**/ 0xBF05FFC3, 0x80A65E36, -/**/ 0x3F05FFE1, 0xC0000000, -/**/ 0x3D1BBA71, 0x7A287BBE, -/**/ 0xBF06FFBD, 0xE0BE19DD, -/**/ 0x3F06FFDE, 0xF0000000, -/**/ 0x3D1FAF11, 0x03E27702, -/**/ 0xBF07FFB8, 0x00D7FD78, -/**/ 0x3F07FFDC, 0x00000000, -/**/ 0x3D21FFD7, 0x80613240, -/**/ 0xBF08FFB1, 0xE0F42105, -/**/ 0x3F08FFD8, 0xF0000000, -/**/ 0x3D245825, 0xA6C489B3, -/**/ 0xBF09FFAB, 0x81129C84, -/**/ 0x3F09FFD5, 0xC0000000, -/**/ 0x3D26E272, 0xE2BBB26F, -/**/ 0xBF0AFFA4, 0xE13387F2, -/**/ 0x3F0AFFD2, 0x70000000, -/**/ 0x3D29A0BF, 0x21272669, -/**/ 0xBF0BFF9E, 0x0156FB50, -/**/ 0x3F0BFFCF, 0x00000000, -/**/ 0x3D2C950A, 0x4E276957, -/**/ 0xBF0CFF96, 0xE17D0E9B, -/**/ 0x3F0CFFCB, 0x70000000, -/**/ 0x3D2FC154, 0x551D090E, -/**/ 0xBF0DFF8F, 0x81A5D9D2, -/**/ 0x3F0DFFC7, 0xC0000000, -/**/ 0x3D3193CE, 0x90544EF1, -/**/ 0xBF0EFF87, 0xE1D174F4, -/**/ 0x3F0EFFC3, 0xF0000000, -/**/ 0x3D3364F2, 0x4D556583, -/**/ 0xBF0FFF80, 0x01FFF800, -/**/ 0x3F0FFFC0, 0x00000000, -/**/ 0x3D355515, 0x56221F78, -/**/ 0xBF107FBB, 0xF118BD7A, -/**/ 0x3F107FDD, 0xF8000000, -/**/ 0x3D376537, 0x9EEAD9D8, -/**/ 0xBF10FFB7, 0xC1330AE7, -/**/ 0x3F10FFDB, 0xE0000000, -/**/ 0x3D399659, 0x1B7FF7AE, -/**/ 0xBF117FB3, 0x714EF047, -/**/ 0x3F117FD9, 0xB8000000, -/**/ 0x3D3BE979, 0xBF51E233, -/**/ 0xBF11FFAF, 0x016C7998, -/**/ 0x3F11FFD7, 0x80000000, -/**/ 0x3D3E5F99, 0x7D7108FF, -/**/ 0xBF127FAA, 0x718BB2DA, -/**/ 0x3F127FD5, 0x39000000, -/**/ 0xBD3F0647, 0xB7721DC6, -/**/ 0xBF12FFA5, 0xC1ACA80C, -/**/ 0x3F12FFD2, 0xE1000000, -/**/ 0xBD3C4729, 0xED071532, -/**/ 0xBF137FA0, 0xF1CF652D, -/**/ 0x3F137FD0, 0x79000000, -/**/ 0xBD39620D, 0x315D596D, -/**/ 0xBF13FF9C, 0x01F3F63C, -/**/ 0x3F13FFCE, 0x01000000, -/**/ 0xBD3655F1, 0x92E45F81, -/**/ 0xBF147F96, 0xF21A6739, -/**/ 0x3F147FCB, 0x79000000, -/**/ 0xBD3321D7, 0x206B9526, -/**/ 0xBF14FF91, 0xC242C421, -/**/ 0x3F14FFC8, 0xE1000000, -/**/ 0xBD2F897B, 0xD244C12A, -/**/ 0xBF157F8C, 0x726D18F6, -/**/ 0x3F157FC6, 0x39000000, -/**/ 0xBD287B4B, 0xF93040AE, -/**/ 0xBF15FF87, 0x029971B4, -/**/ 0x3F15FFC3, 0x81000000, -/**/ 0xBD21171E, 0xD578562C, -/**/ 0xBF167F81, 0x72C7DA5C, -/**/ 0x3F167FC0, 0xB9000000, -/**/ 0xBD12B5E9, 0x0F773DB4, -/**/ 0xBF16FF7B, 0xC2F85EEC, -/**/ 0x3F16FFBD, 0xE1000000, -/**/ 0xBCE44CD3, 0x158A76C2, -/**/ 0xBF177F75, 0xF32B0B63, -/**/ 0x3F177FBA, 0xF9000000, -/**/ 0x3D0CB55C, 0x2E48511B, -/**/ 0xBF17FF70, 0x035FEBC0, -/**/ 0x3F17FFB8, 0x01000000, -/**/ 0x3D1FFAF0, 0x184C534F, -/**/ 0xBF187F69, 0xF3970C03, -/**/ 0x3F187FB4, 0xF9000000, -/**/ 0x3D292D95, 0xACC53FBE, -/**/ 0xBF18FF63, 0xC3D07829, -/**/ 0x3F18FFB1, 0xE1000000, -/**/ 0x3D315FD7, 0xE48887C8, -/**/ 0xBF197F5D, 0x740C3C32, -/**/ 0x3F197FAE, 0xB9000000, -/**/ 0x3D365AE3, 0x1DF5B242, -/**/ 0xBF19FF57, 0x044A641C, -/**/ 0x3F19FFAB, 0x81000000, -/**/ 0x3D3B88EC, 0x6FBB0E5F, -/**/ 0xBF1A7F50, 0x748AFBE7, -/**/ 0x3F1A7FA8, 0x3A000000, -/**/ 0xBD3F150C, 0x39766B40, -/**/ 0xBF1AFF49, 0xC4CE0F91, -/**/ 0x3F1AFFA4, 0xE2000000, -/**/ 0xBD397E06, 0xF14DB839, -/**/ 0xBF1B7F42, 0xF513AB19, -/**/ 0x3F1B7FA1, 0x7A000000, -/**/ 0xBD33B103, 0xCBD9CC3D, -/**/ 0xBF1BFF3C, 0x055BDA7D, -/**/ 0x3F1BFF9E, 0x02000000, -/**/ 0xBD2B5A05, 0xBB1321B5, -/**/ 0xBF1C7F34, 0xF5A6A9BD, -/**/ 0x3F1C7F9A, 0x7A000000, -/**/ 0xBD1DC410, 0xECAF9551, -/**/ 0xBF1CFF2D, 0xC5F424D6, -/**/ 0x3F1CFF96, 0xE2000000, -/**/ 0xBCEF80FF, 0x3DF3CD68, -/**/ 0xBF1D7F26, 0x764457C8, -/**/ 0x3F1D7F93, 0x3A000000, -/**/ 0x3D16CBC7, 0x4271E737, -/**/ 0xBF1DFF1F, 0x06974E91, -/**/ 0x3F1DFF8F, 0x82000000, -/**/ 0x3D2939D2, 0x1D134848, -/**/ 0xBF1E7F17, 0x76ED1530, -/**/ 0x3F1E7F8B, 0xBA000000, -/**/ 0x3D33C2DD, 0xA9892C73, -/**/ 0xBF1EFF0F, 0xC745B7A4, -/**/ 0x3F1EFF87, 0xE2000000, -/**/ 0x3D3B25CF, 0x8AEC69D5, -/**/ 0xBF1F7F07, 0xF7A141EA, -/**/ 0x3F1F7F83, 0xFB000000, -/**/ 0xBD3D3941, 0x645B412A, -/**/ 0xBF1FFF00, 0x07FFC002, -/**/ 0x3F1FFF80, 0x03000000, -/**/ 0xBD355955, 0x3BBC6662, -/**/ 0xBF203F7B, 0xFC309EF5, -/**/ 0x3F203FBD, 0xFD800000, -/**/ 0xBD2A72D8, 0x260B17B3, -/**/ 0xBF207F77, 0xE462E3D0, -/**/ 0x3F207FBB, 0xF1800000, -/**/ 0xBD136218, 0x0994AE68, -/**/ 0xBF20BF73, 0xBC96B492, -/**/ 0x3F20BFB9, 0xDD800000, -/**/ 0x3D0E52E6, 0xECB2641F, -/**/ 0xBF20FF6F, 0x84CC1739, -/**/ 0x3F20FFB7, 0xC1800000, -/**/ 0x3D296078, 0xE7FCF60B, -/**/ 0xBF213F6B, 0x3D0311C6, -/**/ 0x3F213FB5, 0x9D800000, -/**/ 0x3D35DA18, 0xA7850AFF, -/**/ 0xBF217F66, 0xE53BAA36, -/**/ 0x3F217FB3, 0x71800000, -/**/ 0x3D3F48F1, 0x5E7BB444, -/**/ 0xBF21BF62, 0x7D75E68A, -/**/ 0x3F21BFB1, 0x3E000000, -/**/ 0xBD370239, 0x812BC469, -/**/ 0xBF21FF5E, 0x05B1CCC0, -/**/ 0x3F21FFAF, 0x02000000, -/**/ 0xBD2A0CD0, 0x23BF1A4D, -/**/ 0xBF223F59, 0x7DEF62D8, -/**/ 0x3F223FAC, 0xBE000000, -/**/ 0xBD0614D3, 0x736E3623, -/**/ 0xBF227F54, 0xE62EAED0, -/**/ 0x3F227FAA, 0x72000000, -/**/ 0x3D1F28BD, 0x37EDEDB0, -/**/ 0xBF22BF50, 0x3E6FB6A9, -/**/ 0x3F22BFA8, 0x1E000000, -/**/ 0x3D32A0F5, 0x07CE33C8, -/**/ 0xBF22FF4B, 0x86B28060, -/**/ 0x3F22FFA5, 0xC2000000, -/**/ 0x3D3DC2B6, 0xA31C6A8D, -/**/ 0xBF233F46, 0xBEF711F6, -/**/ 0x3F233FA3, 0x5E800000, -/**/ 0xBD36CF8B, 0xFC67C9FB, -/**/ 0xBF237F41, 0xE73D7169, -/**/ 0x3F237FA0, 0xF2800000, -/**/ 0xBD2629A5, 0xE6D88A89, -/**/ 0xBF23BF3C, 0xFF85A4B8, -/**/ 0x3F23BF9E, 0x7E800000, -/**/ 0x3CEE7C34, 0x202574EC, -/**/ 0xBF23FF38, 0x07CFB1E3, -/**/ 0x3F23FF9C, 0x02800000, -/**/ 0x3D2A9723, 0x46E594C1, -/**/ 0xBF243F33, 0x001B9EE8, -/**/ 0x3F243F99, 0x7E800000, -/**/ 0x3D39F33C, 0xF61AE74C, -/**/ 0xBF247F2D, 0xE86971C7, -/**/ 0x3F247F96, 0xF3000000, -/**/ 0xBD39141C, 0x85341E31, -/**/ 0xBF24BF28, 0xC0B9307F, -/**/ 0x3F24BF94, 0x5F000000, -/**/ 0xBD2792F5, 0xDA0FAF09, -/**/ 0xBF24FF23, 0x890AE10E, -/**/ 0x3F24FF91, 0xC3000000, -/**/ 0x3CFD4219, 0xFB239430, -/**/ 0xBF253F1E, 0x415E8974, -/**/ 0x3F253F8F, 0x1F000000, -/**/ 0x3D2F8B72, 0x0359434A, -/**/ 0xBF257F18, 0xE9B42FAF, -/**/ 0x3F257F8C, 0x73000000, -/**/ 0x3D3E0C4B, 0x1939FEDF, -/**/ 0xBF25BF13, 0x820BD9BF, -/**/ 0x3F25BF89, 0xBF800000, -/**/ 0xBD335728, 0x39B301E2, -/**/ 0xBF25FF0E, 0x0A658DA3, -/**/ 0x3F25FF87, 0x03800000, -/**/ 0xBD118E84, 0x5E1E8D4F, -/**/ 0xBF263F08, 0x82C15159, -/**/ 0x3F263F84, 0x3F800000, -/**/ 0x3D25CFC0, 0xBDDDD045, -/**/ 0xBF267F02, 0xEB1F2AE1, -/**/ 0x3F267F81, 0x73800000, -/**/ 0x3D3A8C5C, 0x08837E99, -/**/ 0xBF26BEFD, 0x437F203A, -/**/ 0x3F26BF7E, 0xA0000000, -/**/ 0xBD35752E, 0x3C56F12D, -/**/ 0xBF26FEF7, 0x8BE13762, -/**/ 0x3F26FF7B, 0xC4000000, -/**/ 0xBD146EFA, 0x46359E28, -/**/ 0xBF273EF1, 0xC4457659, -/**/ 0x3F273F78, 0xE0000000, -/**/ 0x3D273355, 0xCD265865, -/**/ 0xBF277EEB, 0xECABE31C, -/**/ 0x3F277F75, 0xF4000000, -/**/ 0x3D3CAC0E, 0x095DEBF8, -/**/ 0xBF27BEE6, 0x051483AC, -/**/ 0x3F27BF73, 0x00800000, -/**/ 0xBD31E395, 0x4C39F4DB, -/**/ 0xBF27FEE0, 0x0D7F5E08, -/**/ 0x3F27FF70, 0x04800000, -/**/ 0xBCB43F3D, 0xA1314B81, -/**/ 0xBF283EDA, 0x05EC782D, -/**/ 0x3F283F6D, 0x00800000, -/**/ 0x3D321B10, 0x115B8D70, -/**/ 0xBF287ED3, 0xEE5BD81B, -/**/ 0x3F287F69, 0xF5000000, -/**/ 0xBD3B54A7, 0x83704FE1, -/**/ 0xBF28BECD, 0xC6CD83D1, -/**/ 0x3F28BF66, 0xE1000000, -/**/ 0xBD20C4CC, 0x41229C91, -/**/ 0xBF28FEC7, 0x8F41814D, -/**/ 0x3F28FF63, 0xC5000000, -/**/ 0x3D25E5A8, 0x2A183F17, -/**/ 0xBF293EC1, 0x47B7D68F, -/**/ 0x3F293F60, 0xA1000000, -/**/ 0x3D3EAC06, 0xF81B997D, -/**/ 0xBF297EBA, 0xF0308995, -/**/ 0x3F297F5D, 0x75800000, -/**/ 0xBD2A6B9B, 0x3A1E5BAD, -/**/ 0xBF29BEB4, 0x88ABA05E, -/**/ 0x3F29BF5A, 0x41800000, -/**/ 0x3D1D3958, 0xBDFE3C77, -/**/ 0xBF29FEAE, 0x112920E9, -/**/ 0x3F29FF57, 0x05800000, -/**/ 0x3D3C3972, 0x375BA904, -/**/ 0xBF2A3EA7, 0x89A91135, -/**/ 0x3F2A3F53, 0xC2000000, -/**/ 0xBD2CE6F3, 0x588DE85B, -/**/ 0xBF2A7EA0, 0xF22B7740, -/**/ 0x3F2A7F50, 0x76000000, -/**/ 0x3D1D2249, 0x75AEDBFD, -/**/ 0xBF2ABE9A, 0x4AB05909, -/**/ 0x3F2ABF4D, 0x22000000, -/**/ 0x3D3D6E96, 0x2CE7BDAC, -/**/ 0xBF2AFE93, 0x9337BC90, -/**/ 0x3F2AFF49, 0xC6800000, -/**/ 0xBD2800DC, 0xCB7D724C, -/**/ 0xBF2B3E8C, 0xCBC1A7D1, -/**/ 0x3F2B3F46, 0x62800000, -/**/ 0x3D25F908, 0xFA591B29, -/**/ 0xBF2B7E85, 0xF44E20CE, -/**/ 0x3F2B7F42, 0xF7000000, -/**/ 0xBD3D9991, 0x53021ED8, -/**/ 0xBF2BBE7F, 0x0CDD2D83, -/**/ 0x3F2BBF3F, 0x83000000, -/**/ 0xBD1706BF, 0xFD596AD6, -/**/ 0xBF2BFE78, 0x156ED3F0, -/**/ 0x3F2BFF3C, 0x07000000, -/**/ 0x3D328528, 0x4EC45253, -/**/ 0xBF2C3E71, 0x0E031A14, -/**/ 0x3F2C3F38, 0x83800000, -/**/ 0xBD34C408, 0x927D8A9E, -/**/ 0xBF2C7E69, 0xF69A05ED, -/**/ 0x3F2C7F34, 0xF7800000, -/**/ 0x3D118EF4, 0xCAE2C25F, -/**/ 0xBF2CBE62, 0xCF339D7A, -/**/ 0x3F2CBF31, 0x63800000, -/**/ 0x3D3DFD79, 0x73DBBB41, -/**/ 0xBF2CFE5B, 0x97CFE6B9, -/**/ 0x3F2CFF2D, 0xC8000000, -/**/ 0xBD1FD74F, 0xE7FE77E6, -/**/ 0xBF2D3E54, 0x506EE7AA, -/**/ 0x3F2D3F2A, 0x24000000, -/**/ 0x3D328AD4, 0xBDDB871F, -/**/ 0xBF2D7E4C, 0xF910A64A, -/**/ 0x3F2D7F26, 0x78800000, -/**/ 0xBD327F8C, 0x903DDD81, -/**/ 0xBF2DBE45, 0x91B52899, -/**/ 0x3F2DBF22, 0xC4800000, -/**/ 0x3D21D80F, 0xDF52840A, -/**/ 0xBF2DFE3E, 0x1A5C7495, -/**/ 0x3F2DFF1F, 0x09000000, -/**/ 0xBD3B316D, 0xEED9F651, -/**/ 0xBF2E3E36, 0x9306903D, -/**/ 0x3F2E3F1B, 0x45000000, -/**/ 0x3CF2911A, 0x76DB3C6B, -/**/ 0xBF2E7E2E, 0xFBB3818F, -/**/ 0x3F2E7F17, 0x79000000, -/**/ 0x3D3DFC86, 0x85559113, -/**/ 0xBF2EBE27, 0x54634E89, -/**/ 0x3F2EBF13, 0xA5800000, -/**/ 0xBD12D83E, 0x0AB3DBE7, -/**/ 0xBF2EFE1F, 0x9D15FD2B, -/**/ 0x3F2EFF0F, 0xC9800000, -/**/ 0x3D39124F, 0x617B99F1, -/**/ 0xBF2F3E17, 0xD5CB9373, -/**/ 0x3F2F3F0B, 0xE6000000, -/**/ 0xBD2152B9, 0xF8F64DA1, -/**/ 0xBF2F7E0F, 0xFE841760, -/**/ 0x3F2F7F07, 0xFA000000, -/**/ 0x3D3617EB, 0x34C4735B, -/**/ 0xBF2FBE08, 0x173F8EEF, -/**/ 0x3F2FBF04, 0x06800000, -/**/ 0xBD2551B0, 0x739FA712, -/**/ 0xBF2FFE00, 0x1FFE0020, -/**/ 0x3F2FFF00, 0x0A800000, -/**/ 0x3D351558, 0x885DE027, -/**/ 0xBF301EFC, 0x0C5FB879, -/**/ 0x3F301F7E, 0x03800000, -/**/ 0xBD255905, 0x68F8FC50, -/**/ 0xBF303EF8, 0x00C1F3B0, -/**/ 0x3F303F7B, 0xFD800000, -/**/ 0x3D361295, 0xDF771CF4, -/**/ 0xBF305EF3, 0xED25B4B7, -/**/ 0x3F305F79, 0xF3C00000, -/**/ 0xBD2158BB, 0xD8A255DB, -/**/ 0xBF307EEF, 0xD18AFE8B, -/**/ 0x3F307F77, 0xE5C00000, -/**/ 0x3D3917A1, 0xB740E625, -/**/ 0xBF309EEB, 0xADF1D42C, -/**/ 0x3F309F75, 0xD4000000, -/**/ 0xBD1281AD, 0x9C716D59, -/**/ 0xBF30BEE7, 0x825A3899, -/**/ 0x3F30BF73, 0xBE000000, -/**/ 0x3D3E2C7A, 0x86ED7DDC, -/**/ 0xBF30DEE3, 0x4EC42ED1, -/**/ 0x3F30DF71, 0xA4400000, -/**/ 0x3CF7F534, 0xF54F7E28, -/**/ 0xBF30FEDF, 0x132FB9D5, -/**/ 0x3F30FF6F, 0x86800000, -/**/ 0xBD3AA6E1, 0x404F4E01, -/**/ 0xBF311EDA, 0xCF9CDCA2, -/**/ 0x3F311F6D, 0x64800000, -/**/ 0x3D2375B9, 0x4A6EC981, -/**/ 0xBF313ED6, 0x840B9A38, -/**/ 0x3F313F6B, 0x3EC00000, -/**/ 0xBD315A73, 0x33401DD0, -/**/ 0xBF315ED2, 0x307BF596, -/**/ 0x3F315F69, 0x14C00000, -/**/ 0x3D341A2F, 0x02C11605, -/**/ 0xBF317ECD, 0xD4EDF1BC, -/**/ 0x3F317F66, 0xE7000000, -/**/ 0xBD1798F3, 0xB2B7E8C5, -/**/ 0xBF319EC9, 0x716191A8, -/**/ 0x3F319F64, 0xB5400000, -/**/ 0xBD3F5AB7, 0x35D62ED5, -/**/ 0xBF31BEC5, 0x05D6D85A, -/**/ 0x3F31BF62, 0x7F400000, -/**/ 0x3D1EF6FF, 0xCA7EC7CD, -/**/ 0xBF31DEC0, 0x924DC8D2, -/**/ 0x3F31DF60, 0x45800000, -/**/ 0xBD309BD7, 0xA8550396, -/**/ 0xBF31FEBC, 0x16C6660D, -/**/ 0x3F31FF5E, 0x07800000, -/**/ 0x3D379981, 0xC3E31F70, -/**/ 0xBF321EB7, 0x9340B30B, -/**/ 0x3F321F5B, 0xC5C00000, -/**/ 0x3CD7B300, 0x5FE92B94, -/**/ 0xBF323EB3, 0x07BCB2CC, -/**/ 0x3F323F59, 0x80000000, -/**/ 0xBD364AF9, 0x25A7CF34, -/**/ 0xBF325EAE, 0x743A684F, -/**/ 0x3F325F57, 0x36000000, -/**/ 0x3D339D32, 0x17E48399, -/**/ 0xBF327EA9, 0xD8B9D692, -/**/ 0x3F327F54, 0xE8400000, -/**/ 0xBCFE7B27, 0xCC387BD1, -/**/ 0xBF329EA5, 0x353B0095, -/**/ 0x3F329F52, 0x96800000, -/**/ 0xBD36D8A7, 0x1AE7FA80, -/**/ 0xBF32BEA0, 0x89BDE957, -/**/ 0x3F32BF50, 0x40800000, -/**/ 0x3D34CB54, 0x05CF3DC3, -/**/ 0xBF32DE9B, 0xD64293D7, -/**/ 0x3F32DF4D, 0xE6C00000, -/**/ 0x3CF053EA, 0xD5A4F691, -/**/ 0xBF32FE97, 0x1AC90315, -/**/ 0x3F32FF4B, 0x89000000, -/**/ 0xBD3229E7, 0x5CAE7B16, -/**/ 0xBF331E92, 0x57513A0F, -/**/ 0x3F331F49, 0x27000000, -/**/ 0x3D3B3EE1, 0xAEED4509, -/**/ 0xBF333E8D, 0x8BDB3BC4, -/**/ 0x3F333F46, 0xC1400000, -/**/ 0x3D228133, 0x2E0C2605, -/**/ 0xBF335E88, 0xB8670B34, -/**/ 0x3F335F44, 0x57800000, -/**/ 0xBD20477F, 0xBBD6E280, -/**/ 0xBF337E83, 0xDCF4AB5D, -/**/ 0x3F337F41, 0xE9C00000, -/**/ 0xBD38ED2A, 0xE9CE8AFC, -/**/ 0xBF339E7E, 0xF9841F3F, -/**/ 0x3F339F3F, 0x77C00000, -/**/ 0x3D36E558, 0x39159F9B, -/**/ 0xBF33BE7A, 0x0E1569D9, -/**/ 0x3F33BF3D, 0x02000000, -/**/ 0x3D1D5325, 0x40681634, -/**/ 0xBF33DE75, 0x1AA88E2A, -/**/ 0x3F33DF3A, 0x88400000, -/**/ 0xBD1E775F, 0x7F2112CE, -/**/ 0xBF33FE70, 0x1F3D8F31, -/**/ 0x3F33FF38, 0x0A800000, -/**/ 0xBD35F18B, 0x91F80D1B, -/**/ 0xBF341E6B, 0x1BD46FED, -/**/ 0x3F341F35, 0x88800000, -/**/ 0x3D3C5AAD, 0xFDC3FC2F, -/**/ 0xBF343E66, 0x106D335D, -/**/ 0x3F343F33, 0x02C00000, -/**/ 0x3D2E8FA9, 0x268A89F1, -/**/ 0xBF345E60, 0xFD07DC80, -/**/ 0x3F345F30, 0x79000000, -/**/ 0x3D06B73F, 0x902AC9EE, -/**/ 0xBF347E5B, 0xE1A46E55, -/**/ 0x3F347F2D, 0xEB400000, -/**/ 0xBD21EE30, 0x45C43959, -/**/ 0xBF349E56, 0xBE42EBDC, -/**/ 0x3F349F2B, 0x59800000, -/**/ 0xBD34212B, 0xE8B753E8, -/**/ 0xBF34BE51, 0x92E35813, -/**/ 0x3F34BF28, 0xC3C00000, -/**/ 0xBD3EA653, 0x9D2064DB, -/**/ 0xBF34DE4C, 0x5F85B5F9, -/**/ 0x3F34DF26, 0x29C00000, -/**/ 0x3D377A70, 0x81DCB6FB, -/**/ 0xBF34FE47, 0x242A088D, -/**/ 0x3F34FF23, 0x8C000000, -/**/ 0x3D2C8440, 0x6BB44A6D, -/**/ 0xBF351E41, 0xE0D052CF, -/**/ 0x3F351F20, 0xEA400000, -/**/ 0x3D16C6ED, 0x0048AAF8, -/**/ 0xBF353E3C, 0x957897BD, -/**/ 0x3F353F1E, 0x44800000, -/**/ 0xBD01ADF4, 0xF506A07E, -/**/ 0xBF355E37, 0x4222DA57, -/**/ 0x3F355F1B, 0x9AC00000, -/**/ 0xBD22E69B, 0x4B88A655, -/**/ 0xBF357E31, 0xE6CF1D9B, -/**/ 0x3F357F18, 0xED000000, -/**/ 0xBD3005F2, 0x153DAEB0, -/**/ 0xBF359E2C, 0x837D6488, -/**/ 0x3F359F16, 0x3B400000, -/**/ 0xBD35ECAC, 0x2D5222B4, -/**/ 0xBF35BE27, 0x182DB21E, -/**/ 0x3F35BF13, 0x85800000, -/**/ 0xBD3B267C, 0x2EA6CB14, -/**/ 0xBF35DE21, 0xA4E0095B, -/**/ 0x3F35DF10, 0xCBC00000, -/**/ 0xBD3FB262, 0x5A40A340, -/**/ 0xBF35FE1C, 0x29946D3F, -/**/ 0x3F35FF0E, 0x0DC00000, -/**/ 0x3D3C70A1, 0x0E7B79ED, -/**/ 0xBF361E16, 0xA64AE0C7, -/**/ 0x3F361F0B, 0x4C000000, -/**/ 0x3D39438D, 0xC9C8D263, -/**/ 0xBF363E11, 0x1B0366F4, -/**/ 0x3F363F08, 0x86400000, -/**/ 0x3D36C763, 0x9582CD0C, -/**/ 0xBF365E0B, 0x87BE02C5, -/**/ 0x3F365F05, 0xBC800000, -/**/ 0x3D34FD22, 0x2F24F1F9, -/**/ 0xBF367E05, 0xEC7AB737, -/**/ 0x3F367F02, 0xEEC00000, -/**/ 0x3D33E5C9, 0x53CAEA94, -/**/ 0xBF369E00, 0x4939874A, -/**/ 0x3F369F00, 0x1D000000, -/**/ 0x3D338258, 0xC03081D0, -/**/ 0xBF36BDFA, 0x9DFA75FE, -/**/ 0x3F36BEFD, 0x47400000, -/**/ 0x3D33D3D0, 0x30B1A458, -/**/ 0xBF36DDF4, 0xEABD8651, -/**/ 0x3F36DEFA, 0x6D800000, -/**/ 0x3D34DB2F, 0x614A60C1, -/**/ 0xBF36FDEF, 0x2F82BB41, -/**/ 0x3F36FEF7, 0x8FC00000, -/**/ 0x3D369976, 0x0D96E7B8, -/**/ 0xBF371DE9, 0x6C4A17CF, -/**/ 0x3F371EF4, 0xAE000000, -/**/ 0x3D390FA3, 0xF0D38C30, -/**/ 0xBF373DE3, 0xA1139EF8, -/**/ 0x3F373EF1, 0xC8400000, -/**/ 0x3D3C3EB8, 0xC5DCC397, -/**/ 0xBF375DDD, 0xCDDF53BC, -/**/ 0x3F375EEE, 0xDEC00000, -/**/ 0xBD3FD84B, 0xB8D0D9FD, -/**/ 0xBF377DD7, 0xF2AD3919, -/**/ 0x3F377EEB, 0xF1000000, -/**/ 0xBD3B3469, 0xD11891A0, -/**/ 0xBF379DD2, 0x0F7D520F, -/**/ 0x3F379EE8, 0xFF400000, -/**/ 0xBD35D4A1, 0xC93D855B, -/**/ 0xBF37BDCC, 0x244FA19D, -/**/ 0x3F37BEE6, 0x09800000, -/**/ 0xBD2F6FE7, 0xCFC56806, -/**/ 0xBF37DDC6, 0x31242AC1, -/**/ 0x3F37DEE3, 0x0FC00000, -/**/ 0xBD21BAC0, 0xE815F202, -/**/ 0xBF37FDC0, 0x35FAF079, -/**/ 0x3F37FEE0, 0x12000000, -/**/ 0xBCF43E7B, 0x5190C28B, -/**/ 0xBF381DBA, 0x32D3F5C6, -/**/ 0x3F381EDD, 0x10400000, -/**/ 0x3D1C55D8, 0x34C1F9E9, -/**/ 0xBF383DB4, 0x27AF3DA6, -/**/ 0x3F383EDA, 0x0A800000, -/**/ 0x3D302FB8, 0x8AAF36D4, -/**/ 0xBF385DAE, 0x148CCB18, -/**/ 0x3F385ED7, 0x00C00000, -/**/ 0x3D3A0BDF, 0x7AE0D0F8, -/**/ 0xBF387DA7, 0xF96CA11B, -/**/ 0x3F387ED3, 0xF3400000, -/**/ 0xBD3B5515, 0x6B1CDAAF, -/**/ 0xBF389DA1, 0xD64EC2AD, -/**/ 0x3F389ED0, 0xE1800000, -/**/ 0xBD2FE44C, 0xE1179E5E, -/**/ 0xBF38BD9B, 0xAB3332CD, -/**/ 0x3F38BECD, 0xCBC00000, -/**/ 0xBD0E529E, 0xF86F56EC, -/**/ 0xBF38DD95, 0x7819F47A, -/**/ 0x3F38DECA, 0xB2000000, -/**/ 0x3D2246C3, 0xFEB631AB, -/**/ 0xBF38FD8F, 0x3D030AB4, -/**/ 0x3F38FEC7, 0x94400000, -/**/ 0x3D36D7FA, 0xE04DA791, -/**/ 0xBF391D88, 0xF9EE7878, -/**/ 0x3F391EC4, 0x72C00000, -/**/ 0xBD3AAB89, 0x86F7ADBB, -/**/ 0xBF393D82, 0xAEDC40C7, -/**/ 0x3F393EC1, 0x4D000000, -/**/ 0xBD26CC57, 0x032C6155, -/**/ 0xBF395D7C, 0x5BCC669D, -/**/ 0x3F395EBE, 0x23400000, -/**/ 0x3D12A452, 0x93C3EB3D, -/**/ 0xBF397D76, 0x00BEECFB, -/**/ 0x3F397EBA, 0xF5800000, -/**/ 0x3D358336, 0xA0BCD695, -/**/ 0xBF399D6F, 0x9DB3D6E0, -/**/ 0x3F399EB7, 0xC4000000, -/**/ 0xBD38D6C5, 0xDA737570, -/**/ 0xBF39BD69, 0x32AB2749, -/**/ 0x3F39BEB4, 0x8E400000, -/**/ 0xBD198F84, 0x65026C7D, -/**/ 0xBF39DD62, 0xBFA4E136, -/**/ 0x3F39DEB1, 0x54800000, -/**/ 0x3D29B9C9, 0x2EA9B41A, -/**/ 0xBF39FD5C, 0x44A107A5, -/**/ 0x3F39FEAE, 0x17000000, -/**/ 0xBD3F1375, 0x16137ACF, -/**/ 0xBF3A1D55, 0xC19F9D96, -/**/ 0x3F3A1EAA, 0xD5400000, -/**/ 0xBD2467DC, 0xDE73AFA0, -/**/ 0xBF3A3D4F, 0x36A0A607, -/**/ 0x3F3A3EA7, 0x8F800000, -/**/ 0x3D26F8F0, 0x7B8357C6, -/**/ 0xBF3A5D48, 0xA3A423F7, -/**/ 0x3F3A5EA4, 0x46000000, -/**/ 0xBD3E0141, 0x5DA0DFB7, -/**/ 0xBF3A7D42, 0x08AA1A64, -/**/ 0x3F3A7EA0, 0xF8400000, -/**/ 0xBD1AB06E, 0x41050D29, -/**/ 0xBF3A9D3B, 0x65B28C4E, -/**/ 0x3F3A9E9D, 0xA6800000, -/**/ 0x3D317CE9, 0x56A0E005, -/**/ 0xBF3ABD34, 0xBABD7CB3, -/**/ 0x3F3ABE9A, 0x51000000, -/**/ 0xBD358532, 0xF899EF39, -/**/ 0xBF3ADD2E, 0x07CAEE92, -/**/ 0x3F3ADE96, 0xF7400000, -/**/ 0x3D113A3C, 0xC83BF5C2, -/**/ 0xBF3AFD27, 0x4CDAE4EA, -/**/ 0x3F3AFE93, 0x99800000, -/**/ 0x3D3EF92F, 0x863C7C8E, -/**/ 0xBF3B1D20, 0x89ED62B9, -/**/ 0x3F3B1E90, 0x38000000, -/**/ 0xBD161149, 0x3341CC3C, -/**/ 0xBF3B3D19, 0xBF026AFE, -/**/ 0x3F3B3E8C, 0xD2400000, -/**/ 0x3D36D709, 0x67C955DF, -/**/ 0xBF3B5D12, 0xEC1A00B8, -/**/ 0x3F3B5E89, 0x68C00000, -/**/ 0xBD27E77B, 0x5AE9B17A, -/**/ 0xBF3B7D0C, 0x113426E6, -/**/ 0x3F3B7E85, 0xFB000000, -/**/ 0x3D321C58, 0x219679DE, -/**/ 0xBF3B9D05, 0x2E50E086, -/**/ 0x3F3B9E82, 0x89800000, -/**/ 0xBD2DEF6A, 0xFAA62113, -/**/ 0xBF3BBCFE, 0x43703097, -/**/ 0x3F3BBE7F, 0x13C00000, -/**/ 0x3D30D119, 0x23305306, -/**/ 0xBF3BDCF7, 0x50921A17, -/**/ 0x3F3BDE7B, 0x9A400000, -/**/ 0xBD2D1078, 0x9FBACE27, -/**/ 0xBF3BFCF0, 0x55B6A006, -/**/ 0x3F3BFE78, 0x1C800000, -/**/ 0x3D32FD49, 0xD625DF1E, -/**/ 0xBF3C1CE9, 0x52DDC563, -/**/ 0x3F3C1E74, 0x9B000000, -/**/ 0xBD253AA9, 0x7D07255B, -/**/ 0xBF3C3CE2, 0x48078D2B, -/**/ 0x3F3C3E71, 0x15400000, -/**/ 0x3D38A8E7, 0x9E08B538, -/**/ 0xBF3C5CDB, 0x3533FA5D, -/**/ 0x3F3C5E6D, 0x8BC00000, -/**/ 0xBD09780B, 0x45956AFC, -/**/ 0xBF3C7CD4, 0x1A630FF9, -/**/ 0x3F3C7E69, 0xFE400000, -/**/ 0xBD3E2410, 0x2792F44E, -/**/ 0xBF3C9CCC, 0xF794D0FC, -/**/ 0x3F3C9E66, 0x6C800000, -/**/ 0x3D1F2AEC, 0x30AB4456, -/**/ 0xBF3CBCC5, 0xCCC94066, -/**/ 0x3F3CBE62, 0xD7000000, -/**/ 0xBD3161A0, 0x231641D5, -/**/ 0xBF3CDCBE, 0x9A006135, -/**/ 0x3F3CDE5F, 0x3D400000, -/**/ 0x3D3657DD, 0xF4AD1934, -/**/ 0xBF3CFCB7, 0x5F3A3668, -/**/ 0x3F3CFE5B, 0x9FC00000, -/**/ 0xBCF07CB0, 0x2E7AC798, -/**/ 0xBF3D1CB0, 0x1C76C2FD, -/**/ 0x3F3D1E57, 0xFE400000, -/**/ 0xBD377F9B, 0x6090F643, -/**/ 0xBF3D3CA8, 0xD1B609F3, -/**/ 0x3F3D3E54, 0x58800000, -/**/ 0x3D32F16C, 0x849503E6, -/**/ 0xBF3D5CA1, 0x7EF80E49, -/**/ 0x3F3D5E50, 0xAF000000, -/**/ 0xBCFB3B3A, 0xAF1CA4EA, -/**/ 0xBF3D7C9A, 0x243CD2FE, -/**/ 0x3F3D7E4D, 0x01800000, -/**/ 0xBD356DFC, 0x4701415B, -/**/ 0xBF3D9C92, 0xC1845B0F, -/**/ 0x3F3D9E49, 0x4FC00000, -/**/ 0x3D37C392, 0x582AEA48, -/**/ 0xBF3DBC8B, 0x56CEA97C, -/**/ 0x3F3DBE45, 0x9A400000, -/**/ 0x3D1787DF, 0x67DCC15E, -/**/ 0xBF3DDC83, 0xE41BC143, -/**/ 0x3F3DDE41, 0xE0C00000, -/**/ 0xBD262398, 0x352F961F, -/**/ 0xBF3DFC7C, 0x696BA563, -/**/ 0x3F3DFE3E, 0x23400000, -/**/ 0xBD3B16B9, 0xDEDD373A, -/**/ 0xBF3E1C74, 0xE6BE58DA, -/**/ 0x3F3E1E3A, 0x61800000, -/**/ 0x3D35D42E, 0x336BE94B, -/**/ 0xBF3E3C6D, 0x5C13DEA7, -/**/ 0x3F3E3E36, 0x9C000000, -/**/ 0x3D1EBFAF, 0x08A303A2, -/**/ 0xBF3E5C65, 0xC96C39C9, -/**/ 0x3F3E5E32, 0xD2800000, -/**/ 0xBD160A06, 0x34856362, -/**/ 0xBF3E7C5E, 0x2EC76D3D, -/**/ 0x3F3E7E2F, 0x05000000, -/**/ 0xBD31C21A, 0x154CDF1A, -/**/ 0xBF3E9C56, 0x8C257C04, -/**/ 0x3F3E9E2B, 0x33800000, -/**/ 0xBD3D0DDE, 0x31941F7F, -/**/ 0xBF3EBC4E, 0xE186691B, -/**/ 0x3F3EBE27, 0x5DC00000, -/**/ 0x3D389B31, 0xC26EC60D, -/**/ 0xBF3EDC47, 0x2EEA3781, -/**/ 0x3F3EDE23, 0x84400000, -/**/ 0x3D2E742A, 0xD583BEF8, -/**/ 0xBF3EFC3F, 0x7450EA34, -/**/ 0x3F3EFE1F, 0xA6C00000, -/**/ 0x3D1B3F31, 0xAC2DA351, -/**/ 0xBF3F1C37, 0xB1BA8433, -/**/ 0x3F3F1E1B, 0xC5400000, -/**/ 0xBCE45533, 0x2DC67430, -/**/ 0xBF3F3C2F, 0xE727087C, -/**/ 0x3F3F3E17, 0xDFC00000, -/**/ 0xBD1C7133, 0xFF1174AE, -/**/ 0xBF3F5C28, 0x14967A0F, -/**/ 0x3F3F5E13, 0xF6400000, -/**/ 0xBD29383C, 0x4AE098DC, -/**/ 0xBF3F7C20, 0x3A08DBE9, -/**/ 0x3F3F7E10, 0x08C00000, -/**/ 0xBD31211D, 0x684B0B3B, -/**/ 0xBF3F9C18, 0x577E3109, -/**/ 0x3F3F9E0C, 0x17400000, -/**/ 0xBD34AA4B, 0x268D7464, -/**/ 0xBF3FBC10, 0x6CF67C6E, -/**/ 0x3F3FBE08, 0x21C00000, -/**/ 0xBD3736A7, 0xBED03388, -/**/ 0xBF3FDC08, 0x7A71C116, -/**/ 0x3F3FDE04, 0x28400000, -/**/ 0xBD38C533, 0x900BC4E5, -/**/ 0xBF3FFC00, 0x7FF00200, -/**/ 0x3F3FFE00, 0x2AC00000, -/**/ 0xBD3954EE, 0xF9987527, -/**/ 0xBF400DFC, 0x3EB8A115, -/**/ 0x3F400EFE, 0x14A00000, -/**/ 0xBD38E4DA, 0x5B2E613B, -/**/ 0xBF401DF8, 0x397AC249, -/**/ 0x3F401EFC, 0x11E00000, -/**/ 0xBD3773F6, 0x14E5761B, -/**/ 0xBF402DF4, 0x303E661C, -/**/ 0x3F402EFA, 0x0D200000, -/**/ 0xBD350142, 0x873570A0, -/**/ 0xBF403DF0, 0x23038E0C, -/**/ 0x3F403EF8, 0x06600000, -/**/ 0xBD318BC0, 0x12F5DD53, -/**/ 0xBF404DEC, 0x11CA3B9A, -/**/ 0x3F404EF5, 0xFDA00000, -/**/ 0xBD2A24DE, 0x32BC307C, -/**/ 0xBF405DE7, 0xFC927044, -/**/ 0x3F405EF3, 0xF2E00000, -/**/ 0xBD1E513F, 0xF01532DA, -/**/ 0xBF406DE3, 0xE35C2D8A, -/**/ 0x3F406EF1, 0xE6200000, -/**/ 0xBCF10631, 0xCE27534E, -/**/ 0xBF407DDF, 0xC62774EA, -/**/ 0x3F407EEF, 0xD7600000, -/**/ 0x3D19E95C, 0x86CE9380, -/**/ 0xBF408DDB, 0xA4F447E4, -/**/ 0x3F408EED, 0xC6A00000, -/**/ 0x3D2E19BC, 0xBA0CD2C3, -/**/ 0xBF409DD7, 0x7FC2A7F8, -/**/ 0x3F409EEB, 0xB3E00000, -/**/ 0x3D38A832, 0x31FF7199, -/**/ 0xBF40ADD3, 0x569296A4, -/**/ 0x3F40AEE9, 0x9F400000, -/**/ 0xBD3CB2AD, 0xC2D77791, -/**/ 0xBF40BDCF, 0x29641567, -/**/ 0x3F40BEE7, 0x88800000, -/**/ 0xBD3102C1, 0xE5545563, -/**/ 0xBF40CDCA, 0xF83725C2, -/**/ 0x3F40CEE5, 0x6FC00000, -/**/ 0xBD111C2A, 0x66B3E48D, -/**/ 0xBF40DDC6, 0xC30BC932, -/**/ 0x3F40DEE3, 0x55000000, -/**/ 0x3D2302EF, 0x7711FC2A, -/**/ 0xBF40EDC2, 0x89E20138, -/**/ 0x3F40EEE1, 0x38400000, -/**/ 0x3D3857C4, 0xB558238E, -/**/ 0xBF40FDBE, 0x4CB9CF52, -/**/ 0x3F40FEDF, 0x19A00000, -/**/ 0xBD37C324, 0x1194C2E1, -/**/ 0xBF410DBA, 0x0B933501, -/**/ 0x3F410EDC, 0xF8E00000, -/**/ 0xBD1B390B, 0xFBCAF285, -/**/ 0xBF411DB5, 0xC66E33C2, -/**/ 0x3F411EDA, 0xD6200000, -/**/ 0x3D266ECF, 0x0E52C3A4, -/**/ 0xBF412DB1, 0x7D4ACD15, -/**/ 0x3F412ED8, 0xB1600000, -/**/ 0x3D3E4EDB, 0x1A4AF71D, -/**/ 0xBF413DAD, 0x30290279, -/**/ 0x3F413ED6, 0x8AC00000, -/**/ 0xBD2B0DD1, 0x58C4D599, -/**/ 0xBF414DA8, 0xDF08D56E, -/**/ 0x3F414ED4, 0x62000000, -/**/ 0x3D1EDC6F, 0x2FB4061D, -/**/ 0xBF415DA4, 0x89EA4773, -/**/ 0x3F415ED2, 0x37400000, -/**/ 0x3D3E09E8, 0x1BA53538, -/**/ 0xBF416DA0, 0x30CD5A06, -/**/ 0x3F416ED0, 0x0AA00000, -/**/ 0xBD251B08, 0x4A5B4574, -/**/ 0xBF417D9B, 0xD3B20EA8, -/**/ 0x3F417ECD, 0xDBE00000, -/**/ 0x3D2BE3AD, 0x4241B57B, -/**/ 0xBF418D97, 0x729866D7, -/**/ 0x3F418ECB, 0xAB400000, -/**/ 0xBD387707, 0xFA22BD16, -/**/ 0xBF419D93, 0x0D806412, -/**/ 0x3F419EC9, 0x78800000, -/**/ 0x3D01C6FC, 0xFFA2FC2F, -/**/ 0xBF41AD8E, 0xA46A07D9, -/**/ 0x3F41AEC7, 0x43C00000, -/**/ 0x3D3E028D, 0x05F32EE8, -/**/ 0xBF41BD8A, 0x375553AB, -/**/ 0x3F41BEC5, 0x0D200000, -/**/ 0xBD146400, 0xC7E46F2B, -/**/ 0xBF41CD85, 0xC6424907, -/**/ 0x3F41CEC2, 0xD4600000, -/**/ 0x3D38E737, 0x8DFCE791, -/**/ 0xBF41DD81, 0x5130E96B, -/**/ 0x3F41DEC0, 0x99C00000, -/**/ 0xBD1FEF30, 0x92F4A6CE, -/**/ 0xBF41ED7C, 0xD8213659, -/**/ 0x3F41EEBE, 0x5D000000, -/**/ 0x3D383EF4, 0x4AE68315, -/**/ 0xBF41FD78, 0x5B13314D, -/**/ 0x3F41FEBC, 0x1E600000, -/**/ 0xBD199E1E, 0x39A8276A, -/**/ 0xBF420D73, 0xDA06DBC8, -/**/ 0x3F420EB9, 0xDDA00000, -/**/ 0x3D3C11BF, 0xE39F6D77, -/**/ 0xBF421D6F, 0x54FC3749, -/**/ 0x3F421EB7, 0x9B000000, -/**/ 0xBCD50D72, 0xC3A8C440, -/**/ 0xBF422D6A, 0xCBF3454F, -/**/ 0x3F422EB5, 0x56600000, -/**/ 0xBD3B9869, 0x06E59170, -/**/ 0xBF423D66, 0x3EEC0759, -/**/ 0x3F423EB3, 0x0FA00000, -/**/ 0x3D248C4B, 0x86930551, -/**/ 0xBF424D61, 0xADE67EE6, -/**/ 0x3F424EB0, 0xC7000000, -/**/ 0xBD2D6F13, 0xB3649FF7, -/**/ 0xBF425D5D, 0x18E2AD76, -/**/ 0x3F425EAE, 0x7C400000, -/**/ 0x3D396F87, 0xB496441D, -/**/ 0xBF426D58, 0x7FE09487, -/**/ 0x3F426EAC, 0x2FA00000, -/**/ 0x3D05E2D0, 0x01961A2F, -/**/ 0xBF427D53, 0xE2E03598, -/**/ 0x3F427EA9, 0xE1000000, -/**/ 0xBD32D013, 0x652D1720, -/**/ 0xBF428D4F, 0x41E1922A, -/**/ 0x3F428EA7, 0x90400000, -/**/ 0x3D38CB3F, 0x15C6A78A, -/**/ 0xBF429D4A, 0x9CE4ABBA, -/**/ 0x3F429EA5, 0x3DA00000, -/**/ 0x3D163D44, 0x07F8A52A, -/**/ 0xBF42AD45, 0xF3E983C8, -/**/ 0x3F42AEA2, 0xE9000000, -/**/ 0xBD2905BC, 0x1FEC6070, -/**/ 0xBF42BD41, 0x46F01BD4, -/**/ 0x3F42BEA0, 0x92600000, -/**/ 0xBD3D6A4E, 0x8FE5CB8E, -/**/ 0xBF42CD3C, 0x95F8755C, -/**/ 0x3F42CE9E, 0x39A00000, -/**/ 0x3D32D9FF, 0x120028B6, -/**/ 0xBF42DD37, 0xE10291DF, -/**/ 0x3F42DE9B, 0xDF000000, -/**/ 0x3D112C29, 0x94B2D8A6, -/**/ 0xBF42ED33, 0x280E72DD, -/**/ 0x3F42EE99, 0x82600000, -/**/ 0xBD222C5A, 0x0E9DC27F, -/**/ 0xBF42FD2E, 0x6B1C19D4, -/**/ 0x3F42FE97, 0x23C00000, -/**/ 0xBD3548A7, 0xA4C12307, -/**/ 0xBF430D29, 0xAA2B8844, -/**/ 0x3F430E94, 0xC3000000, -/**/ 0x3D3FB49A, 0x1B27A40C, -/**/ 0xBF431D24, 0xE53CBFAC, -/**/ 0x3F431E92, 0x60600000, -/**/ 0x3D35E297, 0xC65D601D, -/**/ 0xBF432D20, 0x1C4FC18B, -/**/ 0x3F432E8F, 0xFBC00000, -/**/ 0x3D2A84A1, 0xD4E46CD5, -/**/ 0xBF433D1B, 0x4F648F60, -/**/ 0x3F433E8D, 0x95200000, -/**/ 0x3D175314, 0x526215F8, -/**/ 0xBF434D16, 0x7E7B2AAB, -/**/ 0x3F434E8B, 0x2C800000, -/**/ 0xBCD9430B, 0x9746A94C, -/**/ 0xBF435D11, 0xA99394E9, -/**/ 0x3F435E88, 0xC1E00000, -/**/ 0xBD15A88D, 0x47EF6144, -/**/ 0xBF436D0C, 0xD0ADCF9B, -/**/ 0x3F436E86, 0x55400000, -/**/ 0xBD227301, 0x94614FFB, -/**/ 0xBF437D07, 0xF3C9DC3F, -/**/ 0x3F437E83, 0xE6A00000, -/**/ 0xBD27A44A, 0x16908831, -/**/ 0xBF438D03, 0x12E7BC55, -/**/ 0x3F438E81, 0x76000000, -/**/ 0xBD2A6621, 0x13DE59AC, -/**/ 0xBF439CFE, 0x2E07715C, -/**/ 0x3F439E7F, 0x03600000, -/**/ 0xBD2AB687, 0x76635000, -/**/ 0xBF43ACF9, 0x4528FCD2, -/**/ 0x3F43AE7C, 0x8EC00000, -/**/ 0xBD28937E, 0x28F7818F, -/**/ 0xBF43BCF4, 0x584C6037, -/**/ 0x3F43BE7A, 0x18200000, -/**/ 0xBD23FB06, 0x17328F27, -/**/ 0xBF43CCEF, 0x67719D0A, -/**/ 0x3F43CE77, 0x9F800000, -/**/ 0xBD19D640, 0x5AD74747, -/**/ 0xBF43DCEA, 0x7298B4CA, -/**/ 0x3F43DE75, 0x24E00000, -/**/ 0xBCFB0E6A, 0xC5CB9C74, -/**/ 0xBF43ECE5, 0x79C1A8F6, -/**/ 0x3F43EE72, 0xA8400000, -/**/ 0x3D1145E2, 0xF21B8682, -/**/ 0xBF43FCE0, 0x7CEC7B0D, -/**/ 0x3F43FE70, 0x29A00000, -/**/ 0x3D27251B, 0x59543A06, -/**/ 0xBF440CDB, 0x7C192C8E, -/**/ 0x3F440E6D, 0xA9000000, -/**/ 0x3D341357, 0xAC6250B6, -/**/ 0xBF441CD6, 0x7747BEF8, -/**/ 0x3F441E6B, 0x26600000, -/**/ 0x3D3DD4D6, 0x43A510F7, -/**/ 0xBF442CD1, 0x6E7833CB, -/**/ 0x3F442E68, 0xA1E00000, -/**/ 0xBD3727F7, 0x05F7D1E1, -/**/ 0xBF443CCC, 0x61AA8C85, -/**/ 0x3F443E66, 0x1B400000, -/**/ 0xBD25C421, 0x527C9668, -/**/ 0xBF444CC7, 0x50DECAA5, -/**/ 0x3F444E63, 0x92A00000, -/**/ 0x3D053C47, 0x053F70AC, -/**/ 0xBF445CC2, 0x3C14EFAB, -/**/ 0x3F445E61, 0x08000000, -/**/ 0x3D3175D5, 0x1E315FBB, -/**/ 0xBF446CBD, 0x234CFD15, -/**/ 0x3F446E5E, 0x7B800000, -/**/ 0xBD3E762C, 0x6A8B33AC, -/**/ 0xBF447CB8, 0x0686F463, -/**/ 0x3F447E5B, 0xECE00000, -/**/ 0xBD2A36F8, 0x67AD9900, -/**/ 0xBF448CB2, 0xE5C2D713, -/**/ 0x3F448E59, 0x5C400000, -/**/ 0x3D161B95, 0x1E974853, -/**/ 0xBF449CAD, 0xC100A6A5, -/**/ 0x3F449E56, 0xC9A00000, -/**/ 0x3D3971F7, 0x8CE22250, -/**/ 0xBF44ACA8, 0x98406498, -/**/ 0x3F44AE54, 0x35200000, -/**/ 0xBD315945, 0xDF8A23F8, -/**/ 0xBF44BCA3, 0x6B82126A, -/**/ 0x3F44BE51, 0x9E800000, -/**/ 0x3D1498B2, 0x1A63D360, -/**/ 0xBF44CC9E, 0x3AC5B19B, -/**/ 0x3F44CE4F, 0x05E00000, -/**/ 0x3D3CF14E, 0x4323A054, -/**/ 0xBF44DC99, 0x060B43AA, -/**/ 0x3F44DE4C, 0x6B600000, -/**/ 0xBD23EDC2, 0x4CE35F94, -/**/ 0xBF44EC93, 0xCD52CA15, -/**/ 0x3F44EE49, 0xCEC00000, -/**/ 0x3D306E9D, 0xCCF1B48E, -/**/ 0xBF44FC8E, 0x909C465C, -/**/ 0x3F44FE47, 0x30400000, -/**/ 0xBD33DD35, 0x5FF9440B, -/**/ 0xBF450C89, 0x4FE7B9FF, -/**/ 0x3F450E44, 0x8FA00000, -/**/ 0x3D224D49, 0xAA4D276D, -/**/ 0xBF451C84, 0x0B35267A, -/**/ 0x3F451E41, 0xED200000, -/**/ 0xBD3884D4, 0x11B557F9, -/**/ 0xBF452C7E, 0xC2848D4F, -/**/ 0x3F452E3F, 0x48800000, -/**/ 0x3D1C857D, 0xB43290C4, -/**/ 0xBF453C79, 0x75D5EFFC, -/**/ 0x3F453E3C, 0xA2000000, -/**/ 0xBD37E5C1, 0x2D598D3C, -/**/ 0xBF454C74, 0x25294FFF, -/**/ 0x3F454E39, 0xF9600000, -/**/ 0x3D24CD93, 0x3FE47B89, -/**/ 0xBF455C6E, 0xD07EAED8, -/**/ 0x3F455E37, 0x4EE00000, -/**/ 0xBD31F800, 0xAA959122, -/**/ 0xBF456C69, 0x77D60E06, -/**/ 0x3F456E34, 0xA2400000, -/**/ 0x3D32FEDF, 0x7329AF92, -/**/ 0xBF457C64, 0x1B2F6F08, -/**/ 0x3F457E31, 0xF3C00000, -/**/ 0xBD1ACE5A, 0x1C545A6F, -/**/ 0xBF458C5E, 0xBA8AD35D, -/**/ 0x3F458E2F, 0x43400000, -/**/ 0xBD3F0E63, 0x19F6B9EF, -/**/ 0xBF459C59, 0x55E83C84, -/**/ 0x3F459E2C, 0x90A00000, -/**/ 0x3D23DEF2, 0x73005F6F, -/**/ 0xBF45AC53, 0xED47ABFB, -/**/ 0x3F45AE29, 0xDC200000, -/**/ 0xBD277204, 0x1C295DE7, -/**/ 0xBF45BC4E, 0x80A92343, -/**/ 0x3F45BE27, 0x25800000, -/**/ 0x3D3FF92A, 0x8D869589, -/**/ 0xBF45CC49, 0x100CA3D9, -/**/ 0x3F45CE24, 0x6D000000, -/**/ 0x3D2A0DFD, 0x145C5335, -/**/ 0xBF45DC43, 0x9B722F3C, -/**/ 0x3F45DE21, 0xB2800000, -/**/ 0xBD123A1A, 0x6A8614B3, -/**/ 0xBF45EC3E, 0x22D9C6ED, -/**/ 0x3F45EE1E, 0xF6000000, -/**/ 0xBD34C665, 0x63CBC7E7, -/**/ 0xBF45FC38, 0xA6436C69, -/**/ 0x3F45FE1C, 0x37600000, -/**/ 0x3D3C6061, 0xAB6C51D7, -/**/ 0xBF460C33, 0x25AF2130, -/**/ 0x3F460E19, 0x76E00000, -/**/ 0x3D2DCD9C, 0x1EC7F453, -/**/ 0xBF461C2D, 0xA11CE6C1, -/**/ 0x3F461E16, 0xB4600000, -/**/ 0x3D066EFA, 0x20C52899, -/**/ 0xBF462C28, 0x188CBE9A, -/**/ 0x3F462E13, 0xEFE00000, -/**/ 0xBD1FA5AC, 0xEB5FDD5C, -/**/ 0xBF463C22, 0x8BFEAA3B, -/**/ 0x3F463E11, 0x29600000, -/**/ 0xBD313E11, 0xF22FE2BC, -/**/ 0xBF464C1C, 0xFB72AB23, -/**/ 0x3F464E0E, 0x60E00000, -/**/ 0xBD392F15, 0x6710E251, -/**/ 0xBF465C17, 0x66E8C2D0, -/**/ 0x3F465E0B, 0x96600000, -/**/ 0xBD3FBB76, 0x1EFC78A7, -/**/ 0xBF466C11, 0xCE60F2C1, -/**/ 0x3F466E08, 0xC9C00000, -/**/ 0x3D3B1DCB, 0x602C1A84, -/**/ 0xBF467C0C, 0x31DB3C76, -/**/ 0x3F467E05, 0xFB400000, -/**/ 0x3D375DAE, 0x9027DA74, -/**/ 0xBF468C06, 0x9157A16E, -/**/ 0x3F468E03, 0x2AC00000, -/**/ 0x3D350532, 0xEA560DA0, -/**/ 0xBF469C00, 0xECD62326, -/**/ 0x3F469E00, 0x58400000, -/**/ 0x3D341557, 0xE7B63DE2 } }; - -#else -#ifdef LITTLE_ENDI -static const union {int4 i[5800]; double x[2900];} ui = { .i = { -/**/ 0x00000000, 0x3FF6A000, -/**/ 0x3729043E, 0x3F33CD15, -/**/ 0x0B3AB000, 0xBFD63003, -/**/ 0xE731AE00, 0x3D2DB623, -/**/ 0x00000000, 0x3FF69800, -/**/ 0xCC7267D0, 0x3F33F349, -/**/ 0xCDB03000, 0xBFD61965, -/**/ 0x603C488E, 0x3D2F08AD, -/**/ 0x00000000, 0x3FF69000, -/**/ 0x8D0BFD2E, 0x3F3473A8, -/**/ 0x8AF09000, 0xBFD602D0, -/**/ 0x76DF3F65, 0xBD1EBE91, -/**/ 0x00000000, 0x3FF68800, -/**/ 0x390B9ED0, 0x3F354DD2, -/**/ 0x3D5C3000, 0xBFD5EC43, -/**/ 0x1229D17F, 0xBD36B71A, -/**/ 0x00000000, 0x3FF68000, -/**/ 0x16816817, 0x3F368168, -/**/ 0xDF596000, 0xBFD5D5BD, -/**/ 0x08A465DC, 0x3D0A0B2A, -/**/ 0x00000000, 0x3FF67800, -/**/ 0xF08C7765, 0x3F380E0B, -/**/ 0x6B544000, 0xBFD5BF40, -/**/ 0xEB68981C, 0x3D227023, -/**/ 0x00000000, 0x3FF67000, -/**/ 0x16719F36, 0x3F39F360, -/**/ 0xDBBEE000, 0xBFD5A8CA, -/**/ 0x0AF7ECF8, 0x3CF7C79B, -/**/ 0x00000000, 0x3FF66800, -/**/ 0x5AB40167, 0x3F3C3107, -/**/ 0x2B113000, 0xBFD5925D, -/**/ 0xA7A56F34, 0x3D369BF5, -/**/ 0x00000000, 0x3FF66000, -/**/ 0x122F9016, 0x3F3EC6A5, -/**/ 0x53C8D000, 0xBFD57BF7, -/**/ 0xEE5D40EF, 0xBD1FADED, -/**/ 0x00000000, 0x3FF65C00, -/**/ 0xECCA9097, 0xBF3E4C22, -/**/ 0x50695000, 0xBFD56599, -/**/ 0x2BADC774, 0xBD14C5FD, -/**/ 0x00000000, 0x3FF65400, -/**/ 0x4B55CC62, 0xBF3B07AC, -/**/ 0x1B7BE000, 0xBFD54F43, -/**/ 0xC0910952, 0xBD1A8954, -/**/ 0x00000000, 0x3FF64C00, -/**/ 0x32DA090E, 0xBF376C52, -/**/ 0xAF8F7000, 0xBFD538F4, -/**/ 0xE45547CE, 0xBD27EC02, -/**/ 0x00000000, 0x3FF64400, -/**/ 0x4DE9BD38, 0xBF337A6F, -/**/ 0x0738A000, 0xBFD522AE, -/**/ 0x8164C759, 0xBD2EBE70, -/**/ 0x00000000, 0x3FF63C00, -/**/ 0x923C708B, 0xBF2E64BB, -/**/ 0x1D11C000, 0xBFD50C6F, -/**/ 0x7E827C2C, 0x3D3A0E6B, -/**/ 0x00000000, 0x3FF63400, -/**/ 0xA7E43FD4, 0xBF2528EE, -/**/ 0xEBBAA000, 0xBFD4F637, -/**/ 0xCB3124B9, 0x3D3FC158, -/**/ 0x00000000, 0x3FF62C00, -/**/ 0x86689DF7, 0xBF168454, -/**/ 0x6DD8C000, 0xBFD4E008, -/**/ 0xA1E44788, 0x3D34D692, -/**/ 0x00000000, 0x3FF62400, -/**/ 0x77016240, 0xBED623FA, -/**/ 0x9E173000, 0xBFD4C9E0, -/**/ 0x1B0AD8A4, 0x3D2E2089, -/**/ 0x00000000, 0x3FF61C00, -/**/ 0x58715130, 0x3F151300, -/**/ 0x77268000, 0xBFD4B3C0, -/**/ 0x81052B9F, 0x3D165B46, -/**/ 0x00000000, 0x3FF61400, -/**/ 0x35D2754E, 0x3F266D06, -/**/ 0xF3BCC000, 0xBFD49DA7, -/**/ 0x4DAF4B9A, 0xBD307B33, -/**/ 0x00000000, 0x3FF60C00, -/**/ 0xDA197F23, 0x3F317C61, -/**/ 0x0E958000, 0xBFD48797, -/**/ 0x465CF25F, 0xBD3DC1B8, -/**/ 0x00000000, 0x3FF60400, -/**/ 0x81605816, 0x3F381605, -/**/ 0xC271C000, 0xBFD4718D, -/**/ 0xFB4C14C5, 0xBD306C18, -/**/ 0x00000000, 0x3FF5FC00, -/**/ 0xB5C6F559, 0x3F3F0317, -/**/ 0x0A17E000, 0xBFD45B8C, -/**/ 0xE7D0A853, 0x3D0D9120, -/**/ 0x00000000, 0x3FF5F800, -/**/ 0x6D2041E3, 0xBF39BCBD, -/**/ 0xE053A000, 0xBFD44591, -/**/ 0x92923D88, 0x3D06E958, -/**/ 0x00000000, 0x3FF5F000, -/**/ 0x5604CC40, 0xBF3229CF, -/**/ 0x3FF62000, 0xBFD42F9F, -/**/ 0x0F7D3354, 0xBD390644, -/**/ 0x00000000, 0x3FF5E800, -/**/ 0xFD431489, 0xBF2488E5, -/**/ 0x23D5F000, 0xBFD419B4, -/**/ 0x226DE3EC, 0x3D3CE379, -/**/ 0x00000000, 0x3FF5E000, -/**/ 0x6424E9C9, 0xBF0067E7, -/**/ 0x86CEA000, 0xBFD403D0, -/**/ 0x74487308, 0xBD3E6EF5, -/**/ 0x00000000, 0x3FF5D800, -/**/ 0x38A94D24, 0x3F19F0FB, -/**/ 0x63C17000, 0xBFD3EDF4, -/**/ 0x297F2C3F, 0x3D3F067C, -/**/ 0x00000000, 0x3FF5D000, -/**/ 0x23CAD2AA, 0x3F2EADD9, -/**/ 0xB5947000, 0xBFD3D81F, -/**/ 0x2A9D37A4, 0x3D222C7C, -/**/ 0x00000000, 0x3FF5C800, -/**/ 0x31057262, 0x3F3882B9, -/**/ 0x77333000, 0xBFD3C252, -/**/ 0xB606BD5C, 0xBD183B54, -/**/ 0x00000000, 0x3FF5C400, -/**/ 0x10FFA8F8, 0xBF3E00AE, -/**/ 0xA38E6000, 0xBFD3AC8C, -/**/ 0xBC02BE4A, 0x3D2D0BEF, -/**/ 0x00000000, 0x3FF5BC00, -/**/ 0x8056EAF3, 0xBF34339B, -/**/ 0x359BC000, 0xBFD396CE, -/**/ 0x5663663D, 0x3D05839C, -/**/ 0x00000000, 0x3FF5B400, -/**/ 0xF31D7FD5, 0xBF242CC1, -/**/ 0x28565000, 0xBFD38117, -/**/ 0x93A0702B, 0x3D2A71E4, -/**/ 0x00000000, 0x3FF5AC00, -/**/ 0x6B015AC0, 0x3ED5AC05, -/**/ 0x76BE1000, 0xBFD36B67, -/**/ 0xB0F177C8, 0xBD116ECD, -/**/ 0x00000000, 0x3FF5A400, -/**/ 0x5BA55E5A, 0x3F26268D, -/**/ 0x1BD83000, 0xBFD355BF, -/**/ 0x8964F0E8, 0x3D2BA99B, -/**/ 0x00000000, 0x3FF59C00, -/**/ 0x3CCAA376, 0x3F361F12, -/**/ 0x12AED000, 0xBFD3401E, -/**/ 0x556E291D, 0x3D317C73, -/**/ 0x00000000, 0x3FF59800, -/**/ 0x62D32417, 0xBF3E863D, -/**/ 0x56512000, 0xBFD32A84, -/**/ 0x139AF5D6, 0xBD04F928, -/**/ 0x00000000, 0x3FF59000, -/**/ 0xEA712DCF, 0xBF32DCF7, -/**/ 0xE1D36000, 0xBFD314F1, -/**/ 0xD3213CB8, 0x3D28E27A, -/**/ 0x00000000, 0x3FF58800, -/**/ 0xA0CC87E8, 0xBF1B95B2, -/**/ 0xB04EB000, 0xBFD2FF66, -/**/ 0x541E6E2E, 0x3D38AED2, -/**/ 0x00000000, 0x3FF58000, -/**/ 0x01580560, 0x3F158056, -/**/ 0xBCE12000, 0xBFD2E9E2, -/**/ 0x128D1DC2, 0xBD24300C, -/**/ 0x00000000, 0x3FF57800, -/**/ 0x15791F34, 0x3F31F340, -/**/ 0x02ADD000, 0xBFD2D466, -/**/ 0xDCD54196, 0x3D288D0D, -/**/ 0x00000000, 0x3FF57000, -/**/ 0x06B39A23, 0x3F3ED3C5, -/**/ 0x7CDC9000, 0xBFD2BEF0, -/**/ 0x4A5004F4, 0xBD2A9CFA, -/**/ 0x00000000, 0x3FF56C00, -/**/ 0x53FEA954, 0xBF33FEA9, -/**/ 0x269A4000, 0xBFD2A982, -/**/ 0x557285CF, 0x3D22058E, -/**/ 0x00000000, 0x3FF56400, -/**/ 0xEB478503, 0xBF1A1160, -/**/ 0xFB187000, 0xBFD2941A, -/**/ 0xB730E28B, 0x3D3210C2, -/**/ 0x00000000, 0x3FF55C00, -/**/ 0xE4A18B2E, 0x3F1D09AD, -/**/ 0xF58D9000, 0xBFD27EBA, -/**/ 0x00B4BDA7, 0x3D2B1988, -/**/ 0x00000000, 0x3FF55400, -/**/ 0x55555555, 0x3F355555, -/**/ 0x1134E000, 0xBFD26962, -/**/ 0x10522625, 0x3D31B61F, -/**/ 0x00000000, 0x3FF55000, -/**/ 0xB319A21F, 0xBF3C4BE6, -/**/ 0x494E5000, 0xBFD25410, -/**/ 0xC0EF77F2, 0xBD3B1D7A, -/**/ 0x00000000, 0x3FF54800, -/**/ 0x8FA03FD5, 0xBF2B4328, -/**/ 0x991EC000, 0xBFD23EC5, -/**/ 0x48A2E522, 0x3D36DBE4, -/**/ 0x00000000, 0x3FF54000, -/**/ 0x40154015, 0x3EF54015, -/**/ 0xFBEF8000, 0xBFD22981, -/**/ 0x609580DA, 0x3D3A1421, -/**/ 0x00000000, 0x3FF53800, -/**/ 0x40FEAC6F, 0x3F30948F, -/**/ 0x6D0EC000, 0xBFD21445, -/**/ 0x28B728A3, 0x3D3CAF04, -/**/ 0x00000000, 0x3FF53400, -/**/ 0xFD04F7B8, 0xBF3FE034, -/**/ 0xE7CF4000, 0xBFD1FF0F, -/**/ 0x513FF0C1, 0xBD3E9D5B, -/**/ 0x00000000, 0x3FF52C00, -/**/ 0x7FAB5403, 0xBF300A95, -/**/ 0x6788A000, 0xBFD1E9E1, -/**/ 0xD3C8B65E, 0x3D382EAE, -/**/ 0x00000000, 0x3FF52400, -/**/ 0x52401524, 0x3EB52401, -/**/ 0xE796C000, 0xBFD1D4B9, -/**/ 0x7C42E56D, 0xBD222A66, -/**/ 0x00000000, 0x3FF51C00, -/**/ 0x2F8151D0, 0x3F307EAE, -/**/ 0x635A7000, 0xBFD1BF99, -/**/ 0x575C2125, 0x3D31AC89, -/**/ 0x00000000, 0x3FF51800, -/**/ 0xEAE9ECE4, 0xBF3ECE3F, -/**/ 0xD638D000, 0xBFD1AA7F, -/**/ 0x9616F7A0, 0xBD29F60A, -/**/ 0x00000000, 0x3FF51000, -/**/ 0xC7675243, 0xBF2BA3DD, -/**/ 0x3B9BC000, 0xBFD1956D, -/**/ 0x3AD1AA14, 0xBD27D2F7, -/**/ 0x00000000, 0x3FF50800, -/**/ 0x764E368D, 0x3F0B9AC8, -/**/ 0x8EF19000, 0xBFD18061, -/**/ 0xC86D38E5, 0x3D3482FF, -/**/ 0x00000000, 0x3FF50000, -/**/ 0x15015015, 0x3F350150, -/**/ 0xCBAD0000, 0xBFD16B5C, -/**/ 0x042D74BF, 0x3D323299, -/**/ 0x00000000, 0x3FF4FC00, -/**/ 0x4A683C50, 0xBF392851, -/**/ 0xED456000, 0xBFD1565E, -/**/ 0xFB6ABA25, 0x3CEE75AD, -/**/ 0x00000000, 0x3FF4F400, -/**/ 0xACD95EF0, 0xBF1C2748, -/**/ 0xEF367000, 0xBFD14167, -/**/ 0x824DAAF5, 0xBD3E0C07, -/**/ 0x00000000, 0x3FF4EC00, -/**/ 0x67A47465, 0x3F26B90D, -/**/ 0xCD007000, 0xBFD12C77, -/**/ 0x8A11F797, 0xBD13B294, -/**/ 0x00000000, 0x3FF4E400, -/**/ 0xF0539783, 0x3F3E0A72, -/**/ 0x8227E000, 0xBFD1178E, -/**/ 0xCE2D07F2, 0xBD31EF78, -/**/ 0x00000000, 0x3FF4E000, -/**/ 0xF87FD642, 0xBF2E00A6, -/**/ 0x0A35D000, 0xBFD102AC, -/**/ 0xDFDFD686, 0x3D2F1FBD, -/**/ 0x00000000, 0x3FF4D800, -/**/ 0x0B12E3FD, 0x3F10EFB7, -/**/ 0x60B78000, 0xBFD0EDD0, -/**/ 0x2D8435F5, 0xBD0019B5, -/**/ 0x00000000, 0x3FF4D000, -/**/ 0x5CB4DBE5, 0x3F37BEF1, -/**/ 0x813EB000, 0xBFD0D8FB, -/**/ 0x8753FA35, 0xBD1EE8C8, -/**/ 0x00000000, 0x3FF4CC00, -/**/ 0xA50918B1, 0xBF34778D, -/**/ 0x67616000, 0xBFD0C42D, -/**/ 0x163CEAE9, 0xBD27188B, -/**/ 0x00000000, 0x3FF4C400, -/**/ 0xE37288EC, 0xBED9F4F7, -/**/ 0x0EB9E000, 0xBFD0AF66, -/**/ 0xF528D80A, 0xBD23C7C3, -/**/ 0x00000000, 0x3FF4BC00, -/**/ 0x68FE0E42, 0x3F33EDDA, -/**/ 0x72E6C000, 0xBFD09AA5, -/**/ 0xE1734342, 0xBD3B50A1, -/**/ 0x00000000, 0x3FF4B800, -/**/ 0xB72E47D9, 0xBF3776C6, -/**/ 0x8F8AE000, 0xBFD085EB, -/**/ 0x3F45FE7B, 0xBD3E5D51, -/**/ 0x00000000, 0x3FF4B000, -/**/ 0xA052BF5B, 0xBF04AFD6, -/**/ 0x604D6000, 0xBFD07138, -/**/ 0x4E912B17, 0x3D3E7632, -/**/ 0x00000000, 0x3FF4A800, -/**/ 0xD5B5C015, 0x3F328FFA, -/**/ 0xE0D96000, 0xBFD05C8B, -/**/ 0xC77CCB58, 0xBD2AD0F1, -/**/ 0x00000000, 0x3FF4A400, -/**/ 0x9FEB5D80, 0xBF380528, -/**/ 0x0CDE8000, 0xBFD047E6, -/**/ 0x0D397F3C, 0xBD2DBDF1, -/**/ 0x00000000, 0x3FF49C00, -/**/ 0x25FF5B21, 0xBF02AD3E, -/**/ 0xE0106000, 0xBFD03346, -/**/ 0xA966395C, 0xBCF89FF8, -/**/ 0x00000000, 0x3FF49400, -/**/ 0x2D066EA2, 0x3F339E3B, -/**/ 0x5626C000, 0xBFD01EAE, -/**/ 0xFADE85AE, 0xBD3A43DC, -/**/ 0x00000000, 0x3FF49000, -/**/ 0xAFB2E932, 0xBF3629C1, -/**/ 0x6ADDA000, 0xBFD00A1C, -/**/ 0x688B9E18, 0xBD31CD8D, -/**/ 0x00000000, 0x3FF48800, -/**/ 0x22014880, 0x3ED48805, -/**/ 0x33EA0000, 0xBFCFEB22, -/**/ 0xDE00938B, 0xBD2F3418, -/**/ 0x00000000, 0x3FF48000, -/**/ 0x3D324D89, 0x3F37119F, -/**/ 0xBE620000, 0xBFCFC218, -/**/ 0x6F1CF6A0, 0xBD34BBA4, -/**/ 0x00000000, 0x3FF47C00, -/**/ 0x1EB851EC, 0xBF31EB85, -/**/ 0x6CB3C000, 0xBFCF991C, -/**/ 0xCD7CC834, 0x3D390D04, -/**/ 0x00000000, 0x3FF47400, -/**/ 0xAAFC7C01, 0x3F1569C9, -/**/ 0x36778000, 0xBFCF702D, -/**/ 0x16673E23, 0x3D108195, -/**/ 0x00000000, 0x3FF46C00, -/**/ 0x96066250, 0x3F3CE345, -/**/ 0x134E0000, 0xBFCF474B, -/**/ 0xF1DF7B5E, 0x3D3BAE49, -/**/ 0x00000000, 0x3FF46800, -/**/ 0x1D02DE87, 0xBF26A297, -/**/ 0xFADFA000, 0xBFCF1E75, -/**/ 0x25D83F6D, 0x3D20862B, -/**/ 0x00000000, 0x3FF46000, -/**/ 0xB9F34381, 0x3F2978FE, -/**/ 0xE4DD0000, 0xBFCEF5AD, -/**/ 0x65BB8E11, 0x3CCA2115, -/**/ 0x00000000, 0x3FF45C00, -/**/ 0xF6C71366, 0xBF3AF398, -/**/ 0xC8FEA000, 0xBFCECCF2, -/**/ 0xA3E75640, 0x3D3BEC63, -/**/ 0x00000000, 0x3FF45400, -/**/ 0x449AFF5D, 0xBF030E9C, -/**/ 0x9F04A000, 0xBFCEA444, -/**/ 0x63732A36, 0xBD35E916, -/**/ 0x00000000, 0x3FF44C00, -/**/ 0xF8B42EF3, 0x3F367190, -/**/ 0x5EB78000, 0xBFCE7BA3, -/**/ 0x23793649, 0x3D0D5EEE, -/**/ 0x00000000, 0x3FF44800, -/**/ 0xD260511C, 0xBF3079A9, -/**/ 0xFFE72000, 0xBFCE530E, -/**/ 0xB13F7C18, 0x3D3FDBDB, -/**/ 0x00000000, 0x3FF44000, -/**/ 0x0B644FBE, 0x3F21B87C, -/**/ 0x7A6B2000, 0xBFCE2A87, -/**/ 0x7787081A, 0xBD382381, -/**/ 0x00000000, 0x3FF43C00, -/**/ 0x411B2E25, 0xBF3D8CF5, -/**/ 0xC6236000, 0xBFCE020C, -/**/ 0xADB91424, 0x3D252B00, -/**/ 0x00000000, 0x3FF43400, -/**/ 0xD6A60978, 0xBF0DAC08, -/**/ 0xDAF6E000, 0xBFCDD99E, -/**/ 0x69C756EB, 0x3D302EC6, -/**/ 0x00000000, 0x3FF42C00, -/**/ 0x51F86EFA, 0x3F36625D, -/**/ 0xB0D48000, 0xBFCDB13D, -/**/ 0x847527E6, 0xBD32806A, -/**/ 0x00000000, 0x3FF42800, -/**/ 0xA8766564, 0xBF2E8B2D, -/**/ 0x3FB30000, 0xBFCD88E9, -/**/ 0x0234BF51, 0x3D375F28, -/**/ 0x00000000, 0x3FF42000, -/**/ 0xCB2A247B, 0x3F26A4CB, -/**/ 0x7F904000, 0xBFCD60A1, -/**/ 0x6FC20D39, 0x3D35D6E0, -/**/ 0x00000000, 0x3FF41C00, -/**/ 0xC17DF552, 0xBF39D5E8, -/**/ 0x68720000, 0xBFCD3866, -/**/ 0xB38932BC, 0x3D373650, -/**/ 0x00000000, 0x3FF41400, -/**/ 0x14141414, 0x3EF41414, -/**/ 0xF2656000, 0xBFCD1037, -/**/ 0x75B6F6E4, 0x3D084A7E, -/**/ 0x00000000, 0x3FF40C00, -/**/ 0x43AE87FD, 0x3F3C97A8, -/**/ 0x157F2000, 0xBFCCE816, -/**/ 0xA2099515, 0x3D29E0AB, -/**/ 0x00000000, 0x3FF40800, -/**/ 0x66A67E6F, 0xBF1F4BBC, -/**/ 0xC9DB4000, 0xBFCCC000, -/**/ 0x5D57AFF9, 0x3D1D6D58, -/**/ 0x00000000, 0x3FF40000, -/**/ 0x14014014, 0x3F340140, -/**/ 0x079D4000, 0xBFCC97F8, -/**/ 0xA8C6E6C5, 0xBD23B161, -/**/ 0x00000000, 0x3FF3FC00, -/**/ 0xFD809FD8, 0xBF2FD809, -/**/ 0xC6F00000, 0xBFCC6FFB, -/**/ 0xD3A69D43, 0xBD3EE138, -/**/ 0x00000000, 0x3FF3F400, -/**/ 0x57EE89D2, 0x3F28CA0E, -/**/ 0x0005C000, 0xBFCC480C, -/**/ 0xD5E44E76, 0xBD39A294, -/**/ 0x00000000, 0x3FF3F000, -/**/ 0xA50F9260, 0xBF370BD5, -/**/ 0xAB180000, 0xBFCC2028, -/**/ 0xE55C7AC6, 0x3D292E0E, -/**/ 0x00000000, 0x3FF3E800, -/**/ 0x75945FCE, 0x3F1704AA, -/**/ 0xC0676000, 0xBFCBF851, -/**/ 0x4C0854AD, 0x3D35420E, -/**/ 0x00000000, 0x3FF3E400, -/**/ 0xB56FD83C, 0xBF3D3431, -/**/ 0x383BE000, 0xBFCBD087, -/**/ 0x595412B6, 0x3D2D4BC4, -/**/ 0x00000000, 0x3FF3DC00, -/**/ 0x3DC013DC, 0x3EB3DC01, -/**/ 0x0AE4A000, 0xBFCBA8C9, -/**/ 0xF44432DA, 0xBD3A32E7, -/**/ 0x00000000, 0x3FF3D400, -/**/ 0xA75C5BBD, 0x3F3D991A, -/**/ 0x30B82000, 0xBFCB8117, -/**/ 0x3B9CD768, 0xBD1E9068, -/**/ 0x00000000, 0x3FF3D000, -/**/ 0x59C52F5D, 0xBF1292BA, -/**/ 0xA213A000, 0xBFCB5971, -/**/ 0x83AA91DF, 0xBD39B50E, -/**/ 0x00000000, 0x3FF3C800, -/**/ 0xBABE7440, 0x3F395A47, -/**/ 0x575BC000, 0xBFCB31D8, -/**/ 0x562A63CB, 0xBD3C794E, -/**/ 0x00000000, 0x3FF3C400, -/**/ 0x58A0943A, 0xBF20D475, -/**/ 0x48FC2000, 0xBFCB0A4B, -/**/ 0x5C3998ED, 0x3D22E72D, -/**/ 0x00000000, 0x3FF3BC00, -/**/ 0x3295482C, 0x3F360D92, -/**/ 0x6F672000, 0xBFCAE2CA, -/**/ 0xAE54F550, 0xBD37A8D5, -/**/ 0x00000000, 0x3FF3B800, -/**/ 0xCAB48651, 0xBF267D12, -/**/ 0xC316A000, 0xBFCABB55, -/**/ 0xCAF14CD8, 0x3D38A65A, -/**/ 0x00000000, 0x3FF3B000, -/**/ 0x13B13B14, 0x3F33B13B, -/**/ 0x3C8AE000, 0xBFCA93ED, -/**/ 0x50562169, 0x3D287243, -/**/ 0x00000000, 0x3FF3AC00, -/**/ 0x2C8FD3BF, 0xBF2A46AF, -/**/ 0xD44B8000, 0xBFCA6C90, -/**/ 0xF037B0C6, 0x3D3F63B7, -/**/ 0x00000000, 0x3FF3A400, -/**/ 0xAC822610, 0x3F324387, -/**/ 0x82E6A000, 0xBFCA4540, -/**/ 0xC81F7171, 0xBD360A77, -/**/ 0x00000000, 0x3FF3A000, -/**/ 0xA1923DEE, 0xBF2C34BB, -/**/ 0x40F1C000, 0xBFCA1DFC, -/**/ 0x004F3781, 0x3D301E0F, -/**/ 0x00000000, 0x3FF39800, -/**/ 0x87F63372, 0x3F31C2C1, -/**/ 0x0708A000, 0xBFC9F6C4, -/**/ 0x4BCD3F43, 0x3D3337D9, -/**/ 0x00000000, 0x3FF39400, -/**/ 0xE11BD52E, 0xBF2C4AA0, -/**/ 0xCDCE0000, 0xBFC9CF97, -/**/ 0x10C414E3, 0xBD3D862F, -/**/ 0x00000000, 0x3FF38C00, -/**/ 0x6088DBF4, 0x3F322D36, -/**/ 0x8DEBA000, 0xBFC9A877, -/**/ 0x3EFEC390, 0xBD3470FA, -/**/ 0x00000000, 0x3FF38800, -/**/ 0x503F774E, 0xBF2A8BBF, -/**/ 0x4011A000, 0xBFC98163, -/**/ 0x9E9045E2, 0xBD34EADD, -/**/ 0x00000000, 0x3FF38000, -/**/ 0x13813814, 0x3F338138, -/**/ 0xDCF70000, 0xBFC95A5A, -/**/ 0x58A0FF6F, 0xBD07F228, -/**/ 0x00000000, 0x3FF37C00, -/**/ 0x1B177053, 0xBF26FB6F, -/**/ 0x5D594000, 0xBFC9335E, -/**/ 0x3ABD47DA, 0xBD33115C, -/**/ 0x00000000, 0x3FF37400, -/**/ 0x945EDC20, 0x3F35BD1C, -/**/ 0xB9FCC000, 0xBFC90C6D, -/**/ 0x7718D7CA, 0x3D1935F5, -/**/ 0x00000000, 0x3FF37000, -/**/ 0x4DBDCC60, 0xBF219D00, -/**/ 0xEBAC2000, 0xBFC8E588, -/**/ 0xAB2D1140, 0xBD3B7D5C, -/**/ 0x00000000, 0x3FF36800, -/**/ 0xE0747954, 0x3F38DF3D, -/**/ 0xEB390000, 0xBFC8BEAF, -/**/ 0xAAE92CD1, 0x3D073D54, -/**/ 0x00000000, 0x3FF36400, -/**/ 0xD9D3C49F, 0xBF14E775, -/**/ 0xB17B2000, 0xBFC897E2, -/**/ 0x380CBE9E, 0x3D296B37, -/**/ 0x00000000, 0x3FF35C00, -/**/ 0xF2AF821E, 0x3F3CE5F9, -/**/ 0x3750E000, 0xBFC87121, -/**/ 0x42F9AF75, 0xBD3328EB, -/**/ 0x00000000, 0x3FF35800, -/**/ 0xE34971F2, 0xBEE82DF0, -/**/ 0x759F6000, 0xBFC84A6B, -/**/ 0x2ADF8609, 0x3D3DA280, -/**/ 0x00000000, 0x3FF35400, -/**/ 0x4873ECAE, 0xBF3E304D, -/**/ 0x6551A000, 0xBFC823C1, -/**/ 0x9A631E83, 0xBD1E0DDB, -/**/ 0x00000000, 0x3FF34C00, -/**/ 0x1FF659DB, 0x3F1264B6, -/**/ 0xFF59A000, 0xBFC7FD22, -/**/ 0xF457B7D2, 0x3D158BEB, -/**/ 0x00000000, 0x3FF34800, -/**/ 0xFECB9865, 0xBF386531, -/**/ 0x3CAF6000, 0xBFC7D690, -/**/ 0x17C301D7, 0x3D24C06B, -/**/ 0x00000000, 0x3FF34000, -/**/ 0xEEDA65AE, 0x3F25A8C2, -/**/ 0x16516000, 0xBFC7B009, -/**/ 0xCB067E57, 0x3D3AE75F, -/**/ 0x00000000, 0x3FF33C00, -/**/ 0x8434E1F4, 0xBF31BA4A, -/**/ 0x85444000, 0xBFC7898D, -/**/ 0xE3DBAF3F, 0xBD38E67B, -/**/ 0x00000000, 0x3FF33400, -/**/ 0xDBFC660A, 0x3F31EE97, -/**/ 0x82936000, 0xBFC7631D, -/**/ 0xC7C5F3E1, 0x3D25E77D, -/**/ 0x00000000, 0x3FF33000, -/**/ 0xBC40BFDA, 0xBF246252, -/**/ 0x074FE000, 0xBFC73CB9, -/**/ 0x0D0005A6, 0x3D3D66A9, -/**/ 0x00000000, 0x3FF32800, -/**/ 0x13299E64, 0x3F39E640, -/**/ 0x0C914000, 0xBFC71660, -/**/ 0x7CEC3838, 0xBCE51B15, -/**/ 0x00000000, 0x3FF32400, -/**/ 0xEF40991F, 0xBEFCB5D4, -/**/ 0x8B756000, 0xBFC6F012, -/**/ 0x0D31EF0F, 0xBD357739, -/**/ 0x00000000, 0x3FF32000, -/**/ 0xC823D892, 0xBF3D4632, -/**/ 0x7D204000, 0xBFC6C9D0, -/**/ 0xFD9B2DCA, 0x3CDC73FA, -/**/ 0x00000000, 0x3FF31800, -/**/ 0x7AED804C, 0x3F1DD63A, -/**/ 0xDABBE000, 0xBFC6A399, -/**/ 0xE66A15A6, 0x3D38F934, -/**/ 0x00000000, 0x3FF31400, -/**/ 0xE8C11E1A, 0xBF339849, -/**/ 0x9D786000, 0xBFC67D6E, -/**/ 0x30A706D3, 0x3D311E88, -/**/ 0x00000000, 0x3FF30C00, -/**/ 0x0D190131, 0x3F319013, -/**/ 0xBE8C2000, 0xBFC6574E, -/**/ 0x34F0F462, 0x3D398C1D, -/**/ 0x00000000, 0x3FF30800, -/**/ 0xB47A7FDA, 0xBF222315, -/**/ 0x37336000, 0xBFC6313A, -/**/ 0x4F21EA6D, 0x3D144DF5, -/**/ 0x00000000, 0x3FF30000, -/**/ 0x40260390, 0x3F3C82AC, -/**/ 0x00B0A000, 0xBFC60B31, -/**/ 0xC988F814, 0x3D371456, -/**/ 0x00000000, 0x3FF2FC00, -/**/ 0xA2430A62, 0x3F026443, -/**/ 0x144C2000, 0xBFC5E533, -/**/ 0xF3B290EA, 0x3D31CE0B, -/**/ 0x00000000, 0x3FF2F800, -/**/ 0xED097B42, 0xBF37B425, -/**/ 0x6B544000, 0xBFC5BF40, -/**/ 0xEB68981C, 0x3D127023, -/**/ 0x00000000, 0x3FF2F000, -/**/ 0x4AE0553C, 0x3F2D00E3, -/**/ 0xFF1D6000, 0xBFC59958, -/**/ 0x9769CA05, 0x3D3A1D05, -/**/ 0x00000000, 0x3FF2EC00, -/**/ 0x25D69D44, 0xBF262BC0, -/**/ 0xC9018000, 0xBFC5737C, -/**/ 0xA6B887F6, 0xBD39BAA7, -/**/ 0x00000000, 0x3FF2E400, -/**/ 0xE3103D6B, 0x3F3B88B5, -/**/ 0xC2610000, 0xBFC54DAB, -/**/ 0xE5C8D0D8, 0xBD2746FE, -/**/ 0x00000000, 0x3FF2E000, -/**/ 0xC04B8097, 0x3F02E025, -/**/ 0xE4A1C000, 0xBFC527E5, -/**/ 0x8D4B411D, 0x3D34E60B, -/**/ 0x00000000, 0x3FF2DC00, -/**/ 0x2C305021, 0xBF369C22, -/**/ 0x292F6000, 0xBFC5022B, -/**/ 0xFF36A25B, 0xBD348A05, -/**/ 0x00000000, 0x3FF2D400, -/**/ 0xD50A012D, 0x3F30A012, -/**/ 0x897BC000, 0xBFC4DC7B, -/**/ 0x0AE1FF0F, 0xBD0C79B6, -/**/ 0x00000000, 0x3FF2D000, -/**/ 0xBC66484E, 0xBF1FBE29, -/**/ 0xFEFE2000, 0xBFC4B6D6, -/**/ 0xF56E7952, 0xBD1522EC, -/**/ 0x00000000, 0x3FF2C800, -/**/ 0x12C9FB4E, 0x3F3FB4D8, -/**/ 0x8333C000, 0xBFC4913D, -/**/ 0x558124C4, 0x3D353E43, -/**/ 0x00000000, 0x3FF2C400, -/**/ 0x7004B11E, 0x3F1E3432, -/**/ 0x0F9F6000, 0xBFC46BAF, -/**/ 0x0790841A, 0x3D1249CD, -/**/ 0x00000000, 0x3FF2C000, -/**/ 0x5C8EF02F, 0xBF30671A, -/**/ 0x9DC9C000, 0xBFC4462B, -/**/ 0xA711B062, 0x3D384858, -/**/ 0x00000000, 0x3FF2B800, -/**/ 0xD548D9AC, 0x3F37D835, -/**/ 0x27410000, 0xBFC420B3, -/**/ 0xC85A0884, 0x3D116282, -/**/ 0x00000000, 0x3FF2B400, -/**/ 0xAD012B40, 0x3ED2B404, -/**/ 0xA5992000, 0xBFC3FB45, -/**/ 0xC0CAE559, 0xBD319713, -/**/ 0x00000000, 0x3FF2B000, -/**/ 0x8E7302A1, 0xBF370F78, -/**/ 0x126BC000, 0xBFC3D5E3, -/**/ 0x85096C4B, 0xBD13FB2F, -/**/ 0x00000000, 0x3FF2A800, -/**/ 0x3C1053F9, 0x3F31C92F, -/**/ 0x67580000, 0xBFC3B08B, -/**/ 0xF29320FB, 0x3D3AADE8, -/**/ 0x00000000, 0x3FF2A400, -/**/ 0x3DBE2E04, 0xBF14AD94, -/**/ 0x9E028000, 0xBFC38B3E, -/**/ 0x545C17F9, 0x3D370EF0, -/**/ 0x00000000, 0x3FF2A000, -/**/ 0xBED61BED, 0xBF3BED61, -/**/ 0xB015A000, 0xBFC365FC, -/**/ 0xAFB9691B, 0x3D3FD3A0, -/**/ 0x00000000, 0x3FF29800, -/**/ 0x26F004A6, 0x3F2B061A, -/**/ 0x97412000, 0xBFC340C5, -/**/ 0xF7D9D386, 0x3D37A3DC, -/**/ 0x00000000, 0x3FF29400, -/**/ 0xFF6B646D, 0xBF21B488, -/**/ 0x4D3A4000, 0xBFC31B99, -/**/ 0xE3A50810, 0xBD3F098E, -/**/ 0x00000000, 0x3FF29000, -/**/ 0x2CA5D5AC, 0xBF3F0582, -/**/ 0xCBBC0000, 0xBFC2F677, -/**/ 0x2160F40D, 0xBD352B30, -/**/ 0x00000000, 0x3FF28800, -/**/ 0x16025116, 0x3F260251, -/**/ 0x0C868000, 0xBFC2D161, -/**/ 0xCB81B4A1, 0xBD039D6C, -/**/ 0x00000000, 0x3FF28400, -/**/ 0x502065D2, 0xBF258CDF, -/**/ 0x095F6000, 0xBFC2AC55, -/**/ 0xD0C6C8A8, 0x3D1D3466, -/**/ 0x00000000, 0x3FF27C00, -/**/ 0x1CE4D6F8, 0x3F3FA38A, -/**/ 0xBC11A000, 0xBFC28753, -/**/ 0x359302E6, 0xBD37494E, -/**/ 0x00000000, 0x3FF27800, -/**/ 0xDCCA0781, 0x3F247DD5, -/**/ 0x1E6DE000, 0xBFC2625D, -/**/ 0xF09E3D82, 0x3CF52962, -/**/ 0x00000000, 0x3FF27400, -/**/ 0xDB195E8F, 0xBF25E8EF, -/**/ 0x2A49C000, 0xBFC23D71, -/**/ 0x8FD3DF5C, 0xBD100D23, -/**/ 0x00000000, 0x3FF27000, -/**/ 0xFFB647FE, 0xBF3FF6C8, -/**/ 0xD9808000, 0xBFC2188F, -/**/ 0x7F50C701, 0x3D3B3A1E, -/**/ 0x00000000, 0x3FF26800, -/**/ 0xC024D167, 0x3F266F9A, -/**/ 0x25F26000, 0xBFC1F3B9, -/**/ 0x9B083633, 0x3D15F74E, -/**/ 0x00000000, 0x3FF26400, -/**/ 0xEABD0E14, 0xBF22D1BD, -/**/ 0x09854000, 0xBFC1CEED, -/**/ 0x39192AF9, 0x3D315C1C, -/**/ 0x00000000, 0x3FF26000, -/**/ 0xF6D0EEC8, 0xBF3DD8F7, -/**/ 0x7E240000, 0xBFC1AA2B, -/**/ 0xDDE3B366, 0x3D31AC38, -/**/ 0x00000000, 0x3FF25800, -/**/ 0x2A241EF6, 0x3F2BCEB1, -/**/ 0x7DBEC000, 0xBFC18574, -/**/ 0x45BD9B49, 0xBD3E6744, -/**/ 0x00000000, 0x3FF25400, -/**/ 0xA21378D7, 0xBF18A05B, -/**/ 0x024B2000, 0xBFC160C8, -/**/ 0xA9009E3D, 0xBD2EC2D2, -/**/ 0x00000000, 0x3FF25000, -/**/ 0xD6CFA90C, 0xBF3A076F, -/**/ 0x05C3A000, 0xBFC13C26, -/**/ 0xD94F6509, 0x3D2CF5FD, -/**/ 0x00000000, 0x3FF24800, -/**/ 0x92492492, 0x3F324924, -/**/ 0x8227E000, 0xBFC1178E, -/**/ 0xCE2D07F2, 0xBD21EF78, -/**/ 0x00000000, 0x3FF24400, -/**/ 0x6151E899, 0xBEF3682B, -/**/ 0x717D0000, 0xBFC0F301, -/**/ 0x41AE86C5, 0x3D3E09B4, -/**/ 0x00000000, 0x3FF24000, -/**/ 0x89FA4C67, 0xBF34868E, -/**/ 0xCDCCC000, 0xBFC0CE7E, -/**/ 0xABFF5447, 0xBD14652D, -/**/ 0x00000000, 0x3FF23800, -/**/ 0x6B11F09F, 0x3F3858D8, -/**/ 0x91268000, 0xBFC0AA06, -/**/ 0xD7032129, 0x3D345519, -/**/ 0x00000000, 0x3FF23400, -/**/ 0xAF37C049, 0x3F159E26, -/**/ 0xB59E4000, 0xBFC08598, -/**/ 0x7009902C, 0x3D27E5DD, -/**/ 0x00000000, 0x3FF23000, -/**/ 0x2E076329, 0xBF2AB546, -/**/ 0x354D4000, 0xBFC06135, -/**/ 0x28340EE9, 0xBD363046, -/**/ 0x00000000, 0x3FF22C00, -/**/ 0xFEDD5FEE, 0xBF3FEDD5, -/**/ 0x0A51E000, 0xBFC03CDC, -/**/ 0xF169FC5C, 0xBD381A9C, -/**/ 0x00000000, 0x3FF22400, -/**/ 0x009126D7, 0x3F2B5B92, -/**/ 0x2ECF6000, 0xBFC0188D, -/**/ 0x1CFF9DFE, 0xBD03F965, -/**/ 0x00000000, 0x3FF22000, -/**/ 0x8121FB78, 0xBF121FB7, -/**/ 0x39DBC000, 0xBFBFE891, -/**/ 0xD82F7A82, 0xBD356594, -/**/ 0x00000000, 0x3FF21C00, -/**/ 0x3A459635, 0xBF368F22, -/**/ 0x9DB58000, 0xBFBFA01C, -/**/ 0xFA48A730, 0x3D08F351, -/**/ 0x00000000, 0x3FF21400, -/**/ 0x855E6012, 0x3F379804, -/**/ 0x7D900000, 0xBFBF57BC, -/**/ 0x9EA8B04E, 0xBD176A6C, -/**/ 0x00000000, 0x3FF21000, -/**/ 0x78CD7A37, 0x3F17B57C, -/**/ 0xCDD98000, 0xBFBF0F70, -/**/ 0x6C272C1E, 0xBD32E31F, -/**/ 0x00000000, 0x3FF20C00, -/**/ 0x07E4EF15, 0xBF271E73, -/**/ 0x830A0000, 0xBFBEC739, -/**/ 0xA80CDD10, 0xBD311FCB, -/**/ 0x00000000, 0x3FF20800, -/**/ 0x49392BA7, 0xBF3CDDEC, -/**/ 0x91A34000, 0xBFBE7F16, -/**/ 0x9BC77BFA, 0x3D32C1C5, -/**/ 0x00000000, 0x3FF20000, -/**/ 0x12012012, 0x3F320120, -/**/ 0xEE304000, 0xBFBE3707, -/**/ 0xE6766ABD, 0xBD20F684, -/**/ 0x00000000, 0x3FF1FC00, -/**/ 0xCE8AD1A2, 0x3EF0DC4F, -/**/ 0x8D468000, 0xBFBDEF0D, -/**/ 0x412E9A74, 0x3D324750, -/**/ 0x00000000, 0x3FF1F800, -/**/ 0xDC11F704, 0xBF2F7047, -/**/ 0x63844000, 0xBFBDA727, -/**/ 0x1FA71733, 0xBD1A8940, -/**/ 0x00000000, 0x3FF1F000, -/**/ 0x16B6419D, 0x3F3FAF3F, -/**/ 0x65920000, 0xBFBD5F55, -/**/ 0xCC185469, 0xBD30E239, -/**/ 0x00000000, 0x3FF1EC00, -/**/ 0xF70985E2, 0x3F2E878F, -/**/ 0x88218000, 0xBFBD1797, -/**/ 0xB5EFBEED, 0xBD336433, -/**/ 0x00000000, 0x3FF1E800, -/**/ 0x94D7FDC3, 0xBEEF55E4, -/**/ 0xBFEE0000, 0xBFBCCFED, -/**/ 0x2FE71256, 0xBD33A823, -/**/ 0x00000000, 0x3FF1E400, -/**/ 0x0478BBCF, 0xBF310C4C, -/**/ 0x01BC4000, 0xBFBC8858, -/**/ 0xC65AACD3, 0xBD2646D1, -/**/ 0x00000000, 0x3FF1DC00, -/**/ 0xCB840C49, 0x3F3F0ECB, -/**/ 0x425A4000, 0xBFBC40D6, -/**/ 0x1D1930DD, 0xBD3CB112, -/**/ 0x00000000, 0x3FF1D800, -/**/ 0xC9579074, 0x3F2EACE5, -/**/ 0x769FC000, 0xBFBBF968, -/**/ 0x8D824283, 0xBD24218C, -/**/ 0x00000000, 0x3FF1D400, -/**/ 0xFC60F0AE, 0xBECABDFA, -/**/ 0x936D8000, 0xBFBBB20E, -/**/ 0x35459B8E, 0x3D368BA8, -/**/ 0x00000000, 0x3FF1D000, -/**/ 0xAFDC61F3, 0xBF2F2A4B, -/**/ 0x8DAD4000, 0xBFBB6AC8, -/**/ 0xF50225C7, 0xBD3B1BDF, -/**/ 0x00000000, 0x3FF1CC00, -/**/ 0xAB802394, 0xBF3EC8AF, -/**/ 0x5A530000, 0xBFBB2396, -/**/ 0xEA137079, 0x3CEFF64E, -/**/ 0x00000000, 0x3FF1C400, -/**/ 0xCE058D9B, 0x3F322FC1, -/**/ 0xEE5B0000, 0xBFBADC77, -/**/ 0x09C31904, 0x3D3573B2, -/**/ 0x00000000, 0x3FF1C000, -/**/ 0xE0EFA2CF, 0x3F0AA04F, -/**/ 0x3ECAC000, 0xBFBA956D, -/**/ 0x4C02C4AF, 0xBD3E6379, -/**/ 0x00000000, 0x3FF1BC00, -/**/ 0x225ADFDD, 0xBF26B7F7, -/**/ 0x40B1C000, 0xBFBA4E76, -/**/ 0xB94407C8, 0x3D0E42B6, -/**/ 0x00000000, 0x3FF1B800, -/**/ 0x217CD13A, 0xBF39E073, -/**/ 0xE9278000, 0xBFBA0792, -/**/ 0xC9AD51BF, 0x3D0A9CE6, -/**/ 0x00000000, 0x3FF1B000, -/**/ 0x2BAE2B21, 0x3F37C67F, -/**/ 0x2D4D4000, 0xBFB9C0C3, -/**/ 0x9E838668, 0x3D3AB7C0, -/**/ 0x00000000, 0x3FF1AC00, -/**/ 0xBD720DCF, 0x3F23316E, -/**/ 0x024CC000, 0xBFB97A07, -/**/ 0x732093CE, 0x3CF8BCC1, -/**/ 0x00000000, 0x3FF1A800, -/**/ 0x611A7B96, 0xBF11A7B9, -/**/ 0x5D594000, 0xBFB9335E, -/**/ 0x3ABD47DA, 0xBD23115C, -/**/ 0x00000000, 0x3FF1A400, -/**/ 0xA1C1B8E7, 0xBF324195, -/**/ 0x33AEC000, 0xBFB8ECC9, -/**/ 0xBE67F7AA, 0x3D222F39, -/**/ 0x00000000, 0x3FF1A000, -/**/ 0xFEE61FEE, 0xBF3FEE61, -/**/ 0x7A91C000, 0xBFB8A647, -/**/ 0xAF9BD6DF, 0xBD3C28C0, -/**/ 0x00000000, 0x3FF19800, -/**/ 0x362B721D, 0x3F328F89, -/**/ 0x27508000, 0xBFB85FD9, -/**/ 0x19970C1C, 0x3D35B818, -/**/ 0x00000000, 0x3FF19400, -/**/ 0x28A70119, 0x3F14E023, -/**/ 0x2F410000, 0xBFB8197E, -/**/ 0x60D20041, 0x3D3C0FE4, -/**/ 0x00000000, 0x3FF19000, -/**/ 0x3E48FC6F, 0xBF1FD419, -/**/ 0x87C28000, 0xBFB7D336, -/**/ 0x3E706706, 0xBD33C88C, -/**/ 0x00000000, 0x3FF18C00, -/**/ 0xFD42546B, 0xBF34F7C6, -/**/ 0x263D8000, 0xBFB78D02, -/**/ 0x94B69FB7, 0xBD069B57, -/**/ 0x00000000, 0x3FF18400, -/**/ 0x01185E30, 0x3F3E2FA4, -/**/ 0x00228000, 0xBFB746E1, -/**/ 0x6E1E21D2, 0x3D3126D1, -/**/ 0x00000000, 0x3FF18000, -/**/ 0x11811812, 0x3F318118, -/**/ 0x0AEAC000, 0xBFB700D3, -/**/ 0xA99DED32, 0xBCEC1E8D, -/**/ 0x00000000, 0x3FF17C00, -/**/ 0xFF2E2C43, 0x3F13F1CA, -/**/ 0x3C188000, 0xBFB6BAD8, -/**/ 0xC08926AE, 0xBD0DAF3C, -/**/ 0x00000000, 0x3FF17800, -/**/ 0x0A5EF9FF, 0xBF1D79B9, -/**/ 0x89364000, 0xBFB674F0, -/**/ 0x4C9D3302, 0xBD3A7999, -/**/ 0x00000000, 0x3FF17400, -/**/ 0x1ECEA765, 0xBF338FAD, -/**/ 0xE7D78000, 0xBFB62F1B, -/**/ 0x7ED63C4E, 0x3D217995, -/**/ 0x00000000, 0x3FF17000, -/**/ 0xD8C8714B, 0xBF3F976B, -/**/ 0x4D978000, 0xBFB5E95A, -/**/ 0xE1D17171, 0xBD31CB7C, -/**/ 0x00000000, 0x3FF16800, -/**/ 0xB08FA497, 0x3F348A33, -/**/ 0xB01AC000, 0xBFB5A3AB, -/**/ 0x9E6AFA18, 0xBD3E2574, -/**/ 0x00000000, 0x3FF16400, -/**/ 0x864022C9, 0x3F21AA1F, -/**/ 0x050E0000, 0xBFB55E10, -/**/ 0x0C53C72E, 0xBD0C1D74, -/**/ 0x00000000, 0x3FF16000, -/**/ 0xB487BCAD, 0xBF05B7C9, -/**/ 0x42260000, 0xBFB51887, -/**/ 0x96258B3E, 0xBD330A1D, -/**/ 0x00000000, 0x3FF15C00, -/**/ 0x5B1E5F75, 0xBF2C3411, -/**/ 0x5D208000, 0xBFB4D311, -/**/ 0x82F4E1EF, 0x3CF53A25, -/**/ 0x00000000, 0x3FF15800, -/**/ 0xEEA99544, 0xBF39543F, -/**/ 0x4BC30000, 0xBFB48DAE, -/**/ 0x208C200C, 0xBD30185B, -/**/ 0x00000000, 0x3FF15000, -/**/ 0xDD5C8CB8, 0x3F3B9A3F, -/**/ 0x03DBC000, 0xBFB4485E, -/**/ 0xE8D26AB7, 0xBD3FAD46, -/**/ 0x00000000, 0x3FF14C00, -/**/ 0xB19AE5C7, 0x3F30B155, -/**/ 0x7B414000, 0xBFB40320, -/**/ 0xAA8157C0, 0xBD26FD84, -/**/ 0x00000000, 0x3FF14800, -/**/ 0xB34EDA32, 0x3F17C382, -/**/ 0xA7D20000, 0xBFB3BDF5, -/**/ 0xAD125895, 0x3D319BD0, -/**/ 0x00000000, 0x3FF14400, -/**/ 0xBAF129D0, 0xBF129CFF, -/**/ 0x7F748000, 0xBFB378DD, -/**/ 0x28F1FACA, 0xBD371411, -/**/ 0x00000000, 0x3FF14000, -/**/ 0x771B7C7F, 0xBF2E2E59, -/**/ 0xF8184000, 0xBFB333D7, -/**/ 0xA81B8848, 0x3CE692B6, -/**/ 0x00000000, 0x3FF13C00, -/**/ 0x30FE1D9C, 0xBF395F06, -/**/ 0x07B40000, 0xBFB2EEE5, -/**/ 0xDD77C860, 0xBD08081E, -/**/ 0x00000000, 0x3FF13400, -/**/ 0x5C81135D, 0x3F3C8113, -/**/ 0xA4470000, 0xBFB2AA04, -/**/ 0xA8B1CB41, 0xBD37A48B, -/**/ 0x00000000, 0x3FF13000, -/**/ 0xBB3B5DC0, 0x3F3288FF, -/**/ 0xC3D8C000, 0xBFB26536, -/**/ 0x097C5BA3, 0xBD0B4BAC, -/**/ 0x00000000, 0x3FF12C00, -/**/ 0xB81577AE, 0x3F21713D, -/**/ 0x5C784000, 0xBFB2207B, -/**/ 0xFC10C7BF, 0xBD349D8C, -/**/ 0x00000000, 0x3FF12800, -/**/ 0xBAD6FC84, 0xBEEE05E5, -/**/ 0x643D0000, 0xBFB1DBD2, -/**/ 0xD977C494, 0xBD390B24, -/**/ 0x00000000, 0x3FF12400, -/**/ 0x59F992BF, 0xBF24E314, -/**/ 0xD1464000, 0xBFB1973B, -/**/ 0x54F930B3, 0xBD3566D1, -/**/ 0x00000000, 0x3FF12000, -/**/ 0xC9F6E7A8, 0xBF33CB91, -/**/ 0x99BB4000, 0xBFB152B7, -/**/ 0x07030829, 0x3D09BB29, -/**/ 0x00000000, 0x3FF11C00, -/**/ 0x8B7D9851, 0xBF3CFE65, -/**/ 0xB3CB0000, 0xBFB10E45, -/**/ 0x284A3465, 0x3D37CF69, -/**/ 0x00000000, 0x3FF11400, -/**/ 0x29605DF7, 0x3F39F5DB, -/**/ 0x15AC4000, 0xBFB0C9E6, -/**/ 0x0974D976, 0xBD2C2DA8, -/**/ 0x00000000, 0x3FF11000, -/**/ 0x11111111, 0x3F311111, -/**/ 0xB59E4000, 0xBFB08598, -/**/ 0x7009902C, 0x3D17E5DD, -/**/ 0x00000000, 0x3FF10C00, -/**/ 0x12A5B1AE, 0x3F20A63A, -/**/ 0x89E74000, 0xBFB0415D, -/**/ 0x5CF1D753, 0xBD1111C0, -/**/ 0x00000000, 0x3FF10800, -/**/ 0xBE011080, 0xBED107FB, -/**/ 0x11AB8000, 0xBFAFFA69, -/**/ 0x98381A8F, 0xBD23008C, -/**/ 0x00000000, 0x3FF10400, -/**/ 0x6FEABBAE, 0xBF216989, -/**/ 0x51800000, 0xBFAF723B, -/**/ 0xDD5610D3, 0x3D3D6EB0, -/**/ 0x00000000, 0x3FF10000, -/**/ 0x10FEF011, 0xBF30FEF0, -/**/ 0xC0068000, 0xBFAEEA31, -/**/ 0x3606D891, 0xBD3C3DD8, -/**/ 0x00000000, 0x3FF0FC00, -/**/ 0x98CDDC74, 0xBF3922C0, -/**/ 0x4A0B8000, 0xBFAE624C, -/**/ 0x74676689, 0x3D30F25C, -/**/ 0x00000000, 0x3FF0F400, -/**/ 0x325A1A80, 0x3F3EDFAB, -/**/ 0xDC680000, 0xBFADDA8A, -/**/ 0x64D9E42F, 0x3D21B1AC, -/**/ 0x00000000, 0x3FF0F000, -/**/ 0xF27F9A57, 0x3F370834, -/**/ 0x64060000, 0xBFAD52ED, -/**/ 0x2A29BBD6, 0x3D33C85D, -/**/ 0x00000000, 0x3FF0EC00, -/**/ 0xD391FBC5, 0x3F2EAD7C, -/**/ 0xCDDD8000, 0xBFACCB73, -/**/ 0x6E09F5FE, 0xBD3965C3, -/**/ 0x00000000, 0x3FF0E800, -/**/ 0xE9479870, 0x3F1F2CA5, -/**/ 0x06F70000, 0xBFAC441E, -/**/ 0x49850D15, 0xBD354F1F, -/**/ 0x00000000, 0x3FF0E400, -/**/ 0x80439019, 0x3ED95609, -/**/ 0xFC690000, 0xBFABBCEB, -/**/ 0x8C317C2A, 0x3D17BF86, -/**/ 0x00000000, 0x3FF0E000, -/**/ 0xC6867596, 0xBF1B6B4D, -/**/ 0x9B588000, 0xBFAB35DD, -/**/ 0xD6CF558E, 0xBD3D5674, -/**/ 0x00000000, 0x3FF0DC00, -/**/ 0x172D4CE8, 0xBF2BEAEE, -/**/ 0xD0FB0000, 0xBFAAAEF2, -/**/ 0x353BB42E, 0xBD20FC1A, -/**/ 0x00000000, 0x3FF0D800, -/**/ 0x479071A9, 0xBF34EAB0, -/**/ 0x8A938000, 0xBFAA282B, -/**/ 0x80EFC8E3, 0x3D2E8F59, -/**/ 0x00000000, 0x3FF0D400, -/**/ 0xA61C62D3, 0xBF3BBA9C, -/**/ 0xB5740000, 0xBFA9A187, -/**/ 0x4EC4D90D, 0x3D30C22E, -/**/ 0x00000000, 0x3FF0CC00, -/**/ 0x77344011, 0x3F3D9AA6, -/**/ 0x3EFD8000, 0xBFA91B07, -/**/ 0x3F76CA96, 0x3D19D7C5, -/**/ 0x00000000, 0x3FF0C800, -/**/ 0xCDA3AC11, 0x3F3714FB, -/**/ 0x149F8000, 0xBFA894AA, -/**/ 0x8BE97661, 0xBD39A19A, -/**/ 0x00000000, 0x3FF0C400, -/**/ 0x391F2E61, 0x3F30B446, -/**/ 0x23D90000, 0xBFA80E70, -/**/ 0x6F28BF45, 0x3D399DC1, -/**/ 0x00000000, 0x3FF0C000, -/**/ 0x682E11CD, 0x3F24F0D1, -/**/ 0x5A358000, 0xBFA78859, -/**/ 0x083B3A4C, 0x3D108B0D, -/**/ 0x00000000, 0x3FF0BC00, -/**/ 0x5D5A36EA, 0x3F118519, -/**/ 0xA5510000, 0xBFA70265, -/**/ 0x11FD5CE7, 0x3D2888DF, -/**/ 0x00000000, 0x3FF0B800, -/**/ 0x62386CAB, 0xBEF913DA, -/**/ 0xF2D48000, 0xBFA67C94, -/**/ 0x827CCA0C, 0xBD3DAC20, -/**/ 0x00000000, 0x3FF0B400, -/**/ 0xBD31D7D0, 0xBF1D7CFF, -/**/ 0x30790000, 0xBFA5F6E7, -/**/ 0x8012494C, 0x3D20485A, -/**/ 0x00000000, 0x3FF0B000, -/**/ 0x226951DC, 0xBF2A11BA, -/**/ 0x4C040000, 0xBFA5715C, -/**/ 0xDFC47628, 0x3D38888D, -/**/ 0x00000000, 0x3FF0AC00, -/**/ 0x7B2E9DD2, 0xBF328E31, -/**/ 0x334A0000, 0xBFA4EBF4, -/**/ 0xF73BE773, 0x3D2D9150, -/**/ 0x00000000, 0x3FF0A800, -/**/ 0x7EF597EF, 0xBF37EF59, -/**/ 0xD42E0000, 0xBFA466AE, -/**/ 0x75BDFD28, 0x3D2C1673, -/**/ 0x00000000, 0x3FF0A400, -/**/ 0x50D413C1, 0xBF3D2C71, -/**/ 0x1CA08000, 0xBFA3E18C, -/**/ 0x3F6E378E, 0xBD3748ED, -/**/ 0x00000000, 0x3FF09C00, -/**/ 0xF836010A, 0x3F3DBA6A, -/**/ 0xFAA10000, 0xBFA35C8B, -/**/ 0x5EF9EB35, 0xBD38357D, -/**/ 0x00000000, 0x3FF09800, -/**/ 0x624D4AF5, 0x3F38C51F, -/**/ 0x5C3C8000, 0xBFA2D7AE, -/**/ 0x459DA66D, 0x3D322939, -/**/ 0x00000000, 0x3FF09400, -/**/ 0x10953F39, 0x3F33F390, -/**/ 0x2F8D0000, 0xBFA252F3, -/**/ 0xE021B67B, 0xBD283E9A, -/**/ 0x00000000, 0x3FF09000, -/**/ 0x861539B9, 0x3F2E8B42, -/**/ 0x62BC0000, 0xBFA1CE5A, -/**/ 0x8D8DF999, 0xBD3A9CC7, -/**/ 0x00000000, 0x3FF08C00, -/**/ 0xACBC4021, 0x3F25766E, -/**/ 0xE4008000, 0xBFA149E3, -/**/ 0x9A4168FD, 0x3D32B98A, -/**/ 0x00000000, 0x3FF08800, -/**/ 0x0F3DBD5A, 0x3F1950DB, -/**/ 0xA19E0000, 0xBFA0C58F, -/**/ 0x58B17913, 0x3D0559D1, -/**/ 0x00000000, 0x3FF08400, -/**/ 0x08421084, 0x3F008421, -/**/ 0x89E78000, 0xBFA0415D, -/**/ 0xF461C516, 0x3D3DDDC7, -/**/ 0x00000000, 0x3FF08000, -/**/ 0x0041FF7C, 0xBF007FDF, -/**/ 0x16780000, 0xBF9F7A9B, -/**/ 0x271BE7D7, 0xBD242AD9, -/**/ 0x00000000, 0x3FF07C00, -/**/ 0xC54798FB, 0xBF183591, -/**/ 0x28140000, 0xBF9E72BF, -/**/ 0x49774D47, 0x3D28D751, -/**/ 0x00000000, 0x3FF07800, -/**/ 0x518F4EFD, 0xBF23CFA1, -/**/ 0x25980000, 0xBF9D6B27, -/**/ 0x50D1B838, 0x3D39FF7B, -/**/ 0x00000000, 0x3FF07400, -/**/ 0x01073261, 0xBF2B3EB7, -/**/ 0xEC150000, 0xBF9C63D2, -/**/ 0xE030A687, 0x3D35439C, -/**/ 0x00000000, 0x3FF07000, -/**/ 0xD6EAB025, 0xBF31341F, -/**/ 0x58B70000, 0xBF9B5CC2, -/**/ 0xB8AFBFE8, 0xBD18E611, -/**/ 0x00000000, 0x3FF06C00, -/**/ 0x6ED049E0, 0xBF34A638, -/**/ 0x48C60000, 0xBF9A55F5, -/**/ 0x9F2D03C9, 0x3D2DE070, -/**/ 0x00000000, 0x3FF06800, -/**/ 0xEF997F5C, 0xBF37F5BF, -/**/ 0x99A20000, 0xBF994F6B, -/**/ 0xF96CF7F5, 0xBD311D5E, -/**/ 0x00000000, 0x3FF06400, -/**/ 0xE5604189, 0xBF3B22D0, -/**/ 0x28C90000, 0xBF984925, -/**/ 0x325A0C34, 0x3D2AA0BA, -/**/ 0x00000000, 0x3FF06000, -/**/ 0xC1163FF0, 0xBF3E2D85, -/**/ 0xD3D00000, 0xBF974321, -/**/ 0x0FE94778, 0xBCFB4A69, -/**/ 0x00000000, 0x3FF05800, -/**/ 0x27586632, 0x3F3EEA07, -/**/ 0x78690000, 0xBF963D61, -/**/ 0x89596542, 0xBD07ABF3, -/**/ 0x00000000, 0x3FF05400, -/**/ 0x98E2A5E7, 0x3F3C23BB, -/**/ 0xF45F0000, 0xBF9537E3, -/**/ 0xD2D7F253, 0xBD2AB259, -/**/ 0x00000000, 0x3FF05000, -/**/ 0x73404146, 0x3F397F7D, -/**/ 0x25980000, 0xBF9432A9, -/**/ 0x928637FE, 0xBD098139, -/**/ 0x00000000, 0x3FF04C00, -/**/ 0xB0C7B49A, 0x3F36FD32, -/**/ 0xEA130000, 0xBF932DB0, -/**/ 0x130895FC, 0xBD2710CB, -/**/ 0x00000000, 0x3FF04800, -/**/ 0x664C578A, 0x3F349CC1, -/**/ 0x1FEA0000, 0xBF9228FB, -/**/ 0x284991FE, 0xBD2713E3, -/**/ 0x00000000, 0x3FF04400, -/**/ 0xC2FCB1F4, 0x3F325E0F, -/**/ 0xA5500000, 0xBF912487, -/**/ 0xFED4B393, 0xBD3FDBE5, -/**/ 0x00000000, 0x3FF04000, -/**/ 0x10410410, 0x3F304104, -/**/ 0x58930000, 0xBF902056, -/**/ 0x7C8E8417, 0xBD3611D2, -/**/ 0x00000000, 0x3FF03C00, -/**/ 0x6334030B, 0x3F2C8B09, -/**/ 0x30340000, 0xBF8E38CE, -/**/ 0xA3DA281A, 0x3D39DE88, -/**/ 0x00000000, 0x3FF03800, -/**/ 0x48FF7E3A, 0x3F28D6F0, -/**/ 0x84C80000, 0xBF8C3173, -/**/ 0xFCEFB9FE, 0x3D341F33, -/**/ 0x00000000, 0x3FF03400, -/**/ 0x0081A559, 0x3F25658A, -/**/ 0x6C180000, 0xBF8A2A9C, -/**/ 0x4D6D3472, 0x3D3F73BC, -/**/ 0x00000000, 0x3FF03000, -/**/ 0xEBC349DE, 0x3F2236A3, -/**/ 0xA3880000, 0xBF882448, -/**/ 0x12C584E0, 0xBD345544, -/**/ 0x00000000, 0x3FF02C00, -/**/ 0x3FEFD386, 0x3F1E9417, -/**/ 0xE8B60000, 0xBF861E77, -/**/ 0xEAF8EAF3, 0x3D38073E, -/**/ 0x00000000, 0x3FF02800, -/**/ 0xCA7A317C, 0x3F193F1D, -/**/ 0xF9680000, 0xBF841929, -/**/ 0x55D01368, 0xBD1977C7, -/**/ 0x00000000, 0x3FF02400, -/**/ 0x6CB49652, 0x3F146DF7, -/**/ 0x939E0000, 0xBF82145E, -/**/ 0x38C4EA00, 0xBD3E3D12, -/**/ 0x00000000, 0x3FF02000, -/**/ 0x81020408, 0x3F102040, -/**/ 0x75880000, 0xBF801015, -/**/ 0x1998B506, 0xBD3BCE25, -/**/ 0x00000000, 0x3FF01C00, -/**/ 0x8C355D63, 0x3F08AB2B, -/**/ 0xBB100000, 0xBF7C189C, -/**/ 0x12588560, 0x3D3D8055, -/**/ 0x00000000, 0x3FF01800, -/**/ 0xBD1BA97E, 0x3F021B28, -/**/ 0x14580000, 0xBF781212, -/**/ 0x82973F27, 0xBD1AD503, -/**/ 0x00000000, 0x3FF01400, -/**/ 0x411155AB, 0x3EF91F67, -/**/ 0x74780000, 0xBF740C8A, -/**/ 0xDF070002, 0xBD1E3871, -/**/ 0x00000000, 0x3FF01000, -/**/ 0x10101010, 0x3EF01010, -/**/ 0x59580000, 0xBF700805, -/**/ 0xCB31C67B, 0xBD2166AF, -/**/ 0x00000000, 0x3FF00C00, -/**/ 0x279DB649, 0x3EE20D8A, -/**/ 0x82880000, 0xBF680904, -/**/ 0x96A70C0C, 0xBD285C06, -/**/ 0x00000000, 0x3FF00800, -/**/ 0x02010080, 0x3ED00804, -/**/ 0x55D80000, 0xBF600401, -/**/ 0xC7CC7089, 0x3D33BB10, -/**/ 0x00000000, 0x3FF00400, -/**/ 0x00401004, 0x3EB00401, -/**/ 0x55600000, 0xBF500200, -/**/ 0xCD5F35F8, 0xBD356224, -/**/ 0x00000000, 0x3FF00000, -/**/ 0x00000000, 0x00000000, -/**/ 0x00000000, 0x00000000, -/**/ 0x00000000, 0x00000000, -/**/ 0x00000000, 0x3FEFF800, -/**/ 0xFF801FF8, 0x3EAFF801, -/**/ 0xAA800000, 0x3F4FFC00, -/**/ 0x7809A0A3, 0x3D35621F, -/**/ 0x00000000, 0x3FEFF000, -/**/ 0xFC01FF00, 0x3ECFF007, -/**/ 0xA9B00000, 0x3F5FF802, -/**/ 0x1D61C5EB, 0xBD33BC66, -/**/ 0x00000000, 0x3FEFE800, -/**/ 0x186DADBE, 0x3EE1F28A, -/**/ 0x7D780000, 0x3F67F704, -/**/ 0x89D68648, 0x3D283DA6, -/**/ 0x00000000, 0x3FEFE000, -/**/ 0xE01FE020, 0x3EEFE01F, -/**/ 0xA2B00000, 0x3F6FF00A, -/**/ 0xA086B56A, 0x3D20BC04, -/**/ 0x00000000, 0x3FEFD800, -/**/ 0xDF68BD14, 0x3EF8E0E6, -/**/ 0x60F00000, 0x3F73F38A, -/**/ 0x93C93749, 0x3D192256, -/**/ 0x00000000, 0x3FEFD000, -/**/ 0x439A981C, 0x3F01E528, -/**/ 0xEBD80000, 0x3F77EE11, -/**/ 0xC2D23A07, 0x3D0749D3, -/**/ 0x00000000, 0x3FEFC800, -/**/ 0x8596391C, 0x3F08556A, -/**/ 0x70040000, 0x3F7BE79C, -/**/ 0x9A6C0404, 0x3D38EC8F, -/**/ 0x00000000, 0x3FEFC000, -/**/ 0x01FC07F0, 0x3F0FC07F, -/**/ 0x6B100000, 0x3F7FE02A, -/**/ 0x0DDA40E4, 0x3D19E23F, -/**/ 0x00000000, 0x3FEFB800, -/**/ 0x9F5976B5, 0x3F1412D5, -/**/ 0x2D1A0000, 0x3F81EBDE, -/**/ 0xFF48DC36, 0xBD2A0683, -/**/ 0x00000000, 0x3FEFB000, -/**/ 0xBD271E34, 0x3F18C21A, -/**/ 0x5D260000, 0x3F83E729, -/**/ 0xFF29A114, 0xBD2609C1, -/**/ 0x00000000, 0x3FEFA800, -/**/ 0x5594A734, 0x3F1DEDB2, -/**/ 0x03EC0000, 0x3F85E1F7, -/**/ 0xF585DA1B, 0x3D37CA09, -/**/ 0x00000000, 0x3FEFA000, -/**/ 0x1FA11CAA, 0x3F21CAA0, -/**/ 0x5F820000, 0x3F87DC47, -/**/ 0x5B5DA1F5, 0xBD3EB124, -/**/ 0x00000000, 0x3FEF9800, -/**/ 0x55E8CB6B, 0x3F24DC34, -/**/ 0xADC60000, 0x3F89D61A, -/**/ 0x327B4257, 0x3D37B196, -/**/ 0x00000000, 0x3FEF9000, -/**/ 0x13BAF1B2, 0x3F282B68, -/**/ 0x2C740000, 0x3F8BCF71, -/**/ 0x97BD9771, 0x3D1C25E0, -/**/ 0x00000000, 0x3FEF8800, -/**/ 0xCC420861, 0x3F2BB80D, -/**/ 0x19120000, 0x3F8DC84B, -/**/ 0x1E3A5B30, 0x3D1C0A54, -/**/ 0x00000000, 0x3FEF8000, -/**/ 0x1F81F820, 0x3F2F81F8, -/**/ 0xB0FC0000, 0x3F8FC0A8, -/**/ 0xF6D3A69C, 0x3CDF1E7C, -/**/ 0x00000000, 0x3FEF7800, -/**/ 0xED1079FA, 0x3F31C47C, -/**/ 0x18B00000, 0x3F90DC45, -/**/ 0x380313FC, 0xBD29BC2F, -/**/ 0x00000000, 0x3FEF7000, -/**/ 0xFA98528D, 0x3F33E672, -/**/ 0xEB9F0000, 0x3F91D7F7, -/**/ 0x83FCC7A6, 0xBD14193A, -/**/ 0x00000000, 0x3FEF6800, -/**/ 0xCAFBD3D2, 0x3F3626C7, -/**/ 0xEFB50000, 0x3F92D36C, -/**/ 0x341706C3, 0x3D35F0BB, -/**/ 0x00000000, 0x3FEF6000, -/**/ 0x06DDABA6, 0x3F388565, -/**/ 0x43470000, 0x3F93CEA4, -/**/ 0x32D6A40B, 0xBD36A2C4, -/**/ 0x00000000, 0x3FEF5800, -/**/ 0x6CC4F5F5, 0x3F3B0234, -/**/ 0x04900000, 0x3F94C99E, -/**/ 0x5DF5F4A5, 0x3D1DECC6, -/**/ 0x00000000, 0x3FEF5000, -/**/ 0xD102728A, 0x3F3D9D1F, -/**/ 0x51B90000, 0x3F95C45A, -/**/ 0x216D87D8, 0xBD263BB6, -/**/ 0x00000000, 0x3FEF5000, -/**/ 0xE26A1DD4, 0xBF3FA9EE, -/**/ 0x48D20000, 0x3F96BED9, -/**/ 0x160A43F8, 0xBD320BC4, -/**/ 0x00000000, 0x3FEF4800, -/**/ 0xADEC7540, 0xBF3CD30D, -/**/ 0x07D60000, 0x3F97B91B, -/**/ 0xB602ACE4, 0xBD33B955, -/**/ 0x00000000, 0x3FEF4000, -/**/ 0x7C761DC6, 0xBF39DE52, -/**/ 0xACAA0000, 0x3F98B31F, -/**/ 0xA96E4964, 0xBD33FC78, -/**/ 0x00000000, 0x3FEF3800, -/**/ 0x23989FF0, 0xBF36CBD3, -/**/ 0x551D0000, 0x3F99ACE7, -/**/ 0x7EC7C410, 0xBD2D75D9, -/**/ 0x00000000, 0x3FEF3000, -/**/ 0x639F8B15, 0xBF339BA5, -/**/ 0x1EE80000, 0x3F9AA672, -/**/ 0x5C5AF494, 0x3D2AD4EB, -/**/ 0x00000000, 0x3FEF2800, -/**/ 0xE7AA579B, 0xBF304DDE, -/**/ 0x27B00000, 0x3F9B9FC0, -/**/ 0x0AE6922A, 0xBD3B9A01, -/**/ 0x00000000, 0x3FEF2000, -/**/ 0x8B8C46FD, 0xBF29C52A, -/**/ 0x8D010000, 0x3F9C98D1, -/**/ 0x0589DF0F, 0xBD2BF615, -/**/ 0x00000000, 0x3FEF1800, -/**/ 0xFE0E92B4, 0xBF22B3BB, -/**/ 0x6C540000, 0x3F9D91A6, -/**/ 0x658CFB9A, 0x3D2E61F1, -/**/ 0x00000000, 0x3FEF1000, -/**/ 0xFE8B488E, 0xBF16CF39, -/**/ 0xE30D0000, 0x3F9E8A3E, -/**/ 0x3DE53900, 0xBD21A9FA, -/**/ 0x00000000, 0x3FEF0800, -/**/ 0xF07C1F08, 0xBEFF07C1, -/**/ 0x0E780000, 0x3F9F829B, -/**/ 0x7C7E09E4, 0x3D298026, -/**/ 0x00000000, 0x3FEF0000, -/**/ 0x007C00F8, 0x3EFF003E, -/**/ 0x85E70000, 0x3FA03D5D, -/**/ 0x60ED29CF, 0x3D3F7789, -/**/ 0x00000000, 0x3FEEF800, -/**/ 0x3D759870, 0x3F17B671, -/**/ 0x7C198000, 0x3FA0B94F, -/**/ 0x6F022783, 0xBD2E8989, -/**/ 0x00000000, 0x3FEEF000, -/**/ 0x2A8BB96A, 0x3F241070, -/**/ 0x78598000, 0x3FA13523, -/**/ 0xB71FA59B, 0xBD1C1AC3, -/**/ 0x00000000, 0x3FEEE800, -/**/ 0x58E01EEA, 0x3F2C7F84, -/**/ 0x89240000, 0x3FA1B0D9, -/**/ 0x9AE889BB, 0xBD33401E, -/**/ 0x00000000, 0x3FEEE000, -/**/ 0xA3D491BC, 0x3F329425, -/**/ 0xBCEA8000, 0x3FA22C71, -/**/ 0xF87F888F, 0x3CFD2818, -/**/ 0x00000000, 0x3FEED800, -/**/ 0x9E9D2AE8, 0x3F37054D, -/**/ 0x22150000, 0x3FA2A7EC, -/**/ 0x7A9163FE, 0xBD278CE7, -/**/ 0x00000000, 0x3FEED000, -/**/ 0x540C85E6, 0x3F3B9325, -/**/ 0xC7000000, 0x3FA32348, -/**/ 0x90B1E49F, 0x3D2696DB, -/**/ 0x00000000, 0x3FEED000, -/**/ 0xF099FC26, 0xBF3FC267, -/**/ 0xB9FE8000, 0x3FA39E87, -/**/ 0x80AD9015, 0x3D3EAFD4, -/**/ 0x00000000, 0x3FEEC800, -/**/ 0xD02A4E5D, 0xBF3AFB6E, -/**/ 0x09590000, 0x3FA419A9, -/**/ 0x67D48EA7, 0x3D3B5CDC, -/**/ 0x00000000, 0x3FEEC000, -/**/ 0xD7A79FF1, 0xBF361803, -/**/ 0xC34D8000, 0x3FA494AC, -/**/ 0xA56FD247, 0x3D211C78, -/**/ 0x00000000, 0x3FEEB800, -/**/ 0x805C2197, 0xBF31183B, -/**/ 0xF60F8000, 0x3FA50F92, -/**/ 0x0A91FFE3, 0x3D296CFB, -/**/ 0x00000000, 0x3FEEB000, -/**/ 0x5FE15180, 0xBF27F854, -/**/ 0xAFC90000, 0x3FA58A5B, -/**/ 0x9570AD39, 0xBD2B2B73, -/**/ 0x00000000, 0x3FEEA800, -/**/ 0xE210C36A, 0xBF1B0F90, -/**/ 0xFE990000, 0x3FA60506, -/**/ 0x8194E036, 0xBD32BA40, -/**/ 0x00000000, 0x3FEEA000, -/**/ 0x8C33ADB2, 0xBEF6F7DD, -/**/ 0xF0948000, 0x3FA67F94, -/**/ 0x3E7E4ED7, 0x3D3ECC1F, -/**/ 0x00000000, 0x3FEE9800, -/**/ 0x1003D310, 0x3F1003D3, -/**/ 0x93C78000, 0x3FA6FA05, -/**/ 0x41D634A1, 0x3D3B415E, -/**/ 0x00000000, 0x3FEE9000, -/**/ 0x0B7672A0, 0x3F231ABF, -/**/ 0xF6330000, 0x3FA77458, -/**/ 0xE586AF09, 0xBD3181DC, -/**/ 0x00000000, 0x3FEE8800, -/**/ 0xCF172481, 0x3F2E6B5C, -/**/ 0x25CD8000, 0x3FA7EE8F, -/**/ 0x11A5C1E9, 0xBD3F4216, -/**/ 0x00000000, 0x3FEE8000, -/**/ 0x77A84876, 0x3F34F9CD, -/**/ 0x30840000, 0x3FA868A8, -/**/ 0x134AC693, 0xBD12623A, -/**/ 0x00000000, 0x3FEE7800, -/**/ 0xD7473427, 0x3F3AD9A8, -/**/ 0x243A0000, 0x3FA8E2A4, -/**/ 0x01426490, 0x3D2B9EEB, -/**/ 0x00000000, 0x3FEE7800, -/**/ 0x4578DCCA, 0xBF3F2AD3, -/**/ 0x0EC90000, 0x3FA95C83, -/**/ 0x97C5FEB8, 0xBD2C1482, -/**/ 0x00000000, 0x3FEE7000, -/**/ 0x97A6A035, 0xBF3913BA, -/**/ 0xFDFF8000, 0x3FA9D644, -/**/ 0x539A473B, 0x3D313C90, -/**/ 0x00000000, 0x3FEE6800, -/**/ 0xC594A915, 0xBF32E120, -/**/ 0xFFA40000, 0x3FAA4FE9, -/**/ 0xA0402925, 0xBD36E584, -/**/ 0x00000000, 0x3FEE6000, -/**/ 0xC5DF4232, 0xBF292632, -/**/ 0x21710000, 0x3FAAC972, -/**/ 0xF013222C, 0x3D2F8D3E, -/**/ 0x00000000, 0x3FEE5800, -/**/ 0xC3518A6E, 0xBF18A6DF, -/**/ 0x71198000, 0x3FAB42DD, -/**/ 0xE5D6704C, 0xBD1C827A, -/**/ 0x00000000, 0x3FEE5000, -/**/ 0x86833271, 0x3ED6BC08, -/**/ 0xFC450000, 0x3FABBC2B, -/**/ 0x91417DAF, 0xBD17D186, -/**/ 0x00000000, 0x3FEE4800, -/**/ 0xE672838D, 0x3F1BEB2D, -/**/ 0xD0920000, 0x3FAC355D, -/**/ 0x9ABF8388, 0x3D2F2CCC, -/**/ 0x00000000, 0x3FEE4000, -/**/ 0x9785150A, 0x3F2B6B8D, -/**/ 0xFB960000, 0x3FACAE72, -/**/ 0x2025B1BE, 0xBD3EFABF, -/**/ 0x00000000, 0x3FEE3800, -/**/ 0xE0D399FA, 0x3F348BCE, -/**/ 0x8ADB0000, 0x3FAD276B, -/**/ 0xC78A64B0, 0x3D16A423, -/**/ 0x00000000, 0x3FEE3000, -/**/ 0x933AC00F, 0x3F3B7CD0, -/**/ 0x8BE38000, 0x3FADA047, -/**/ 0xB1F6FE05, 0x3D2252C7, -/**/ 0x00000000, 0x3FEE3000, -/**/ 0x308F5281, 0xBF3D7747, -/**/ 0x0C278000, 0x3FAE1907, -/**/ 0x64629E86, 0xBD2FEA46, -/**/ 0x00000000, 0x3FEE2800, -/**/ 0x6C196F66, 0xBF36508B, -/**/ 0x19150000, 0x3FAE91AA, -/**/ 0x1DCC6A76, 0xBD0E82A0, -/**/ 0x00000000, 0x3FEE2000, -/**/ 0x1E1E1E1E, 0xBF2E1E1E, -/**/ 0xC0118000, 0x3FAF0A30, -/**/ 0x83368E91, 0xBD2D599E, -/**/ 0x00000000, 0x3FEE1800, -/**/ 0xDD355CDB, 0xBF1ECB93, -/**/ 0x0E780000, 0x3FAF829B, -/**/ 0x7C7E09E4, 0x3D398026, -/**/ 0x00000000, 0x3FEE1000, -/**/ 0x7C01E100, 0xBECE0FF8, -/**/ 0x119B8000, 0x3FAFFAE9, -/**/ 0x4262C554, 0x3D230337, -/**/ 0x00000000, 0x3FEE0800, -/**/ 0x25C73724, 0x3F1D54B5, -/**/ 0x6B624000, 0x3FB0398D, -/**/ 0xFCBFCD00, 0xBD3AB14D, -/**/ 0x00000000, 0x3FEE0000, -/**/ 0x1E01E01E, 0x3F2E01E0, -/**/ 0x35990000, 0x3FB07598, -/**/ 0xE4B59987, 0xBD3B8ECF, -/**/ 0x00000000, 0x3FEDF800, -/**/ 0xC84194BA, 0x3F36C715, -/**/ 0xEE0D0000, 0x3FB0B194, -/**/ 0x4F69EDCC, 0x3D3666EA, -/**/ 0x00000000, 0x3FEDF000, -/**/ 0xEF26D838, 0x3F3EA78B, -/**/ 0x9B554000, 0x3FB0ED83, -/**/ 0x6D48ABB4, 0xBD3901F4, -/**/ 0x00000000, 0x3FEDF000, -/**/ 0xF10995DC, 0xBF395DBF, -/**/ 0x44030000, 0x3FB12964, -/**/ 0x751AA773, 0xBD3D53BB, -/**/ 0x00000000, 0x3FEDE800, -/**/ 0x3BCBADC8, 0xBF3148E0, -/**/ 0xEEA38000, 0x3FB16536, -/**/ 0x768FA309, 0xBD147C5E, -/**/ 0x00000000, 0x3FEDE000, -/**/ 0x86E25CE1, 0xBF2233CE, -/**/ 0xA1BF8000, 0x3FB1A0FB, -/**/ 0xC319D6DC, 0x3D24A3FC, -/**/ 0x00000000, 0x3FEDD800, -/**/ 0x26B3FE23, 0xBEEA1CE9, -/**/ 0x63DB0000, 0x3FB1DCB2, -/**/ 0x5E9E8981, 0x3D39444F, -/**/ 0x00000000, 0x3FEDD000, -/**/ 0x0AB71710, 0x3F1E4836, -/**/ 0x3B75C000, 0x3FB2185B, -/**/ 0xF8F32304, 0xBD3E3189, -/**/ 0x00000000, 0x3FEDC800, -/**/ 0x00EE500F, 0x3F300EE5, -/**/ 0x2F0A0000, 0x3FB253F6, -/**/ 0xFB69A701, 0x3D3416F8, -/**/ 0x00000000, 0x3FEDC000, -/**/ 0x231C226A, 0x3F38A58D, -/**/ 0x450EC000, 0x3FB28F83, -/**/ 0xAA119769, 0x3D3A8D75, -/**/ 0x00000000, 0x3FEDC000, -/**/ 0x14715D63, 0xBF3EAA0C, -/**/ 0x83F5C000, 0x3FB2CB02, -/**/ 0xCA657021, 0x3D3E1EE2, -/**/ 0x00000000, 0x3FEDB800, -/**/ 0x92AEFFC5, 0xBF35DFF8, -/**/ 0xF22C8000, 0x3FB30673, -/**/ 0x9DCF0BA5, 0x3D24C9E2, -/**/ 0x00000000, 0x3FEDB000, -/**/ 0x67E251A0, 0xBF29F894, -/**/ 0x961BC000, 0x3FB341D7, -/**/ 0x99837610, 0x3D31D092, -/**/ 0x00000000, 0x3FEDA800, -/**/ 0x1FF89620, 0xBF0FF896, -/**/ 0x76284000, 0x3FB37D2D, -/**/ 0x9B7FF15C, 0xBD2C60AA, -/**/ 0x00000000, 0x3FEDA000, -/**/ 0x076828BD, 0x3F145E70, -/**/ 0x98B1C000, 0x3FB3B875, -/**/ 0x94ACA313, 0xBD222415, -/**/ 0x00000000, 0x3FED9800, -/**/ 0xE567D573, 0x3F2C8F60, -/**/ 0x04140000, 0x3FB3F3B0, -/**/ 0xACDFCEC5, 0x3CEE2474, -/**/ 0x00000000, 0x3FED9000, -/**/ 0xF3FC4DA2, 0x3F379118, -/**/ 0xBEA64000, 0x3FB42EDC, -/**/ 0xEA7C9ACD, 0x3D1BC0EE, -/**/ 0x00000000, 0x3FED9000, -/**/ 0x049DE4C3, 0xBF3F0C3C, -/**/ 0xCEBB4000, 0x3FB469FB, -/**/ 0x4F257194, 0x3D3B663C, -/**/ 0x00000000, 0x3FED8800, -/**/ 0xF13D5906, 0xBF35905F, -/**/ 0x3AA1C000, 0x3FB4A50D, -/**/ 0x308973E2, 0xBD2F7FE1, -/**/ 0x00000000, 0x3FED8000, -/**/ 0x77D1EA57, 0xBF27F6C8, -/**/ 0x08A34000, 0x3FB4E011, -/**/ 0xDF2C5AE5, 0x3D3AE5CF, -/**/ 0x00000000, 0x3FED7800, -/**/ 0xF4F31BA0, 0xBF026AD1, -/**/ 0x3F060000, 0x3FB51B07, -/**/ 0x278E686A, 0x3D383F69, -/**/ 0x00000000, 0x3FED7000, -/**/ 0xF26DF1BD, 0x3F1DE6B2, -/**/ 0xE40B4000, 0x3FB555EF, -/**/ 0x8C868E23, 0x3D30B497, -/**/ 0x00000000, 0x3FED6800, -/**/ 0x7BA23D96, 0x3F31599F, -/**/ 0xFDF00000, 0x3FB590CA, -/**/ 0x5722ABAA, 0x3D3C284F, -/**/ 0x00000000, 0x3FED6000, -/**/ 0xD425A760, 0x3F3B526C, -/**/ 0x92ED4000, 0x3FB5CB98, -/**/ 0xA64FC52F, 0x3D17BE44, -/**/ 0x00000000, 0x3FED6000, -/**/ 0x546A6FF1, 0xBF3A9BFC, -/**/ 0xA9374000, 0x3FB60658, -/**/ 0xDEE9C4F8, 0x3D30C3B1, -/**/ 0x00000000, 0x3FED5800, -/**/ 0x08F02FAC, 0xBF3071AD, -/**/ 0x46FE8000, 0x3FB6410B, -/**/ 0x3CBD8D14, 0xBD153F8F, -/**/ 0x00000000, 0x3FED5000, -/**/ 0x12C6C142, 0xBF18BAD9, -/**/ 0x726EC000, 0x3FB67BB0, -/**/ 0x69EF5912, 0x3CEF724B, -/**/ 0x00000000, 0x3FED4800, -/**/ 0x3254A5A2, 0x3F10B35C, -/**/ 0x31B00000, 0x3FB6B648, -/**/ 0x1377DE92, 0xBD3BF30A, -/**/ 0x00000000, 0x3FED4000, -/**/ 0x1D41D41D, 0x3F2D41D4, -/**/ 0x8AE58000, 0x3FB6F0D2, -/**/ 0x1B664613, 0xBD34B464, -/**/ 0x00000000, 0x3FED3800, -/**/ 0xF494E548, 0x3F392D71, -/**/ 0x842EC000, 0x3FB72B4F, -/**/ 0xC00C9DD3, 0xBD3704CC, -/**/ 0x00000000, 0x3FED3800, -/**/ 0xFF165C2E, 0xBF3C2DA1, -/**/ 0x23A6C000, 0x3FB765BF, -/**/ 0x35C4256A, 0xBCFECBC0, -/**/ 0x00000000, 0x3FED3000, -/**/ 0x7AA49674, 0xBF317062, -/**/ 0x6F648000, 0x3FB7A021, -/**/ 0xA18418FF, 0x3D3E124C, -/**/ 0x00000000, 0x3FED2800, -/**/ 0x749CB290, 0xBF1A6B80, -/**/ 0x6D7B0000, 0x3FB7DA76, -/**/ 0x4480C89B, 0x3D32CC84, -/**/ 0x00000000, 0x3FED2000, -/**/ 0x25C6336D, 0x3F114B52, -/**/ 0x23F8C000, 0x3FB814BE, -/**/ 0xDA82FDFD, 0x3CCB2381, -/**/ 0x00000000, 0x3FED1800, -/**/ 0xF08A3B1D, 0x3F2EB155, -/**/ 0x98E84000, 0x3FB84EF8, -/**/ 0x246977C9, 0xBD37D5CD, -/**/ 0x00000000, 0x3FED1000, -/**/ 0xBD71CD93, 0x3F3A7692, -/**/ 0xD24FC000, 0x3FB88925, -/**/ 0x44FBB806, 0xBD31D505, -/**/ 0x00000000, 0x3FED1000, -/**/ 0x89FC5E69, 0xBF3A5384, -/**/ 0xD6318000, 0x3FB8C345, -/**/ 0xACB42A66, 0x3D3B20F5, -/**/ 0x00000000, 0x3FED0800, -/**/ 0x6439240E, 0xBF2E0B56, -/**/ 0xAA8C4000, 0x3FB8FD58, -/**/ 0x1BCB725B, 0xBD3EEC90, -/**/ 0x00000000, 0x3FED0000, -/**/ 0x01CFF8C0, 0xBF0CFF8C, -/**/ 0x55594000, 0x3FB9375E, -/**/ 0x7380C364, 0x3D3EDDC3, -/**/ 0x00000000, 0x3FECF800, -/**/ 0x546D8D78, 0x3F1F7661, -/**/ 0xDC8F8000, 0x3FB97156, -/**/ 0x9AFDB97B, 0xBD3C1FC1, -/**/ 0x00000000, 0x3FECF000, -/**/ 0x25FE30D9, 0x3F3372E2, -/**/ 0x46204000, 0x3FB9AB42, -/**/ 0x26787061, 0xBD28A648, -/**/ 0x00000000, 0x3FECE800, -/**/ 0xD92305A6, 0x3F3F1FDB, -/**/ 0x97F9C000, 0x3FB9E520, -/**/ 0xB52DD050, 0x3D235FAC, -/**/ 0x00000000, 0x3FECE800, -/**/ 0x9C37FC63, 0xBF351B8A, -/**/ 0xD8060000, 0x3FBA1EF1, -/**/ 0x6DF97BCB, 0x3D3CD417, -/**/ 0x00000000, 0x3FECE000, -/**/ 0x6CB725AB, 0xBF227EC2, -/**/ 0x0C2B4000, 0x3FBA58B6, -/**/ 0x5C5C9F2A, 0xBD3CDC73, -/**/ 0x00000000, 0x3FECD800, -/**/ 0xE6C2B448, 0x3F05A240, -/**/ 0x3A4AC000, 0x3FBA926D, -/**/ 0x0BD22A9C, 0x3D356365, -/**/ 0x00000000, 0x3FECD000, -/**/ 0xFBB8D9F3, 0x3F2D7EC2, -/**/ 0x68434000, 0x3FBACC17, -/**/ 0xA0B7FA4C, 0xBD2AA783, -/**/ 0x00000000, 0x3FECC800, -/**/ 0x1B71D3E9, 0x3F3AE1DB, -/**/ 0x9BEE4000, 0x3FBB05B4, -/**/ 0x18F84A5E, 0x3D0FF22C, -/**/ 0x00000000, 0x3FECC800, -/**/ 0xCD6DE82D, 0xBF38E45A, -/**/ 0xDB220000, 0x3FBB3F44, -/**/ 0xD8DE09AF, 0x3D3FD153, -/**/ 0x00000000, 0x3FECC000, -/**/ 0xE341926A, 0xBF29269F, -/**/ 0x2BB10000, 0x3FBB78C8, -/**/ 0xBC3987E7, 0xBD325EF7, -/**/ 0x00000000, 0x3FECB800, -/**/ 0xF620C1DA, 0xBEC589FB, -/**/ 0x93690000, 0x3FBBB23E, -/**/ 0x3559DB8B, 0xBD368B18, -/**/ 0x00000000, 0x3FECB000, -/**/ 0x0DE5FF1A, 0x3F28A893, -/**/ 0x18148000, 0x3FBBEBA8, -/**/ 0xB6DF1F57, 0xBD389B78, -/**/ 0x00000000, 0x3FECA800, -/**/ 0x0039563B, 0x3F38EAB9, -/**/ 0xBF79C000, 0x3FBC2504, -/**/ 0xD0EF4ADC, 0x3D3717C4, -/**/ 0x00000000, 0x3FECA800, -/**/ 0x08F377F2, 0xBF3A67D5, -/**/ 0x8F5BC000, 0x3FBC5E54, -/**/ 0x585FBE06, 0x3D1D0C57, -/**/ 0x00000000, 0x3FECA000, -/**/ 0x072792E4, 0xBF2B46E0, -/**/ 0x8D790000, 0x3FBC9797, -/**/ 0x977D1884, 0xBD36E010, -/**/ 0x00000000, 0x3FEC9800, -/**/ 0x1BB327C3, 0xBEE904EA, -/**/ 0xBF8C0000, 0x3FBCD0CD, -/**/ 0xB50DD743, 0x3D33E14D, -/**/ 0x00000000, 0x3FEC9000, -/**/ 0x77683AEC, 0x3F2853EB, -/**/ 0x2B4C4000, 0x3FBD09F7, -/**/ 0x00354E33, 0x3D2048C0, -/**/ 0x00000000, 0x3FEC8800, -/**/ 0xDC52100E, 0x3F3932D7, -/**/ 0xD66CC000, 0x3FBD4313, -/**/ 0x79135713, 0xBD294543, -/**/ 0x00000000, 0x3FEC8800, -/**/ 0x2736962B, 0xBF39AD90, -/**/ 0xC69CC000, 0x3FBD7C23, -/**/ 0xDD328771, 0xBD297EE4, -/**/ 0x00000000, 0x3FEC8000, -/**/ 0xF316B4C2, 0xBF28EEA2, -/**/ 0x0187C000, 0x3FBDB527, -/**/ 0x56AE181F, 0x3D392778, -/**/ 0x00000000, 0x3FEC7800, -/**/ 0x058F7536, 0x3EEAB099, -/**/ 0x8CD60000, 0x3FBDEE1D, -/**/ 0x729EFF89, 0xBD328DA0, -/**/ 0x00000000, 0x3FEC7000, -/**/ 0x1C71C71C, 0x3F2C71C7, -/**/ 0x6E2B0000, 0x3FBE2707, -/**/ 0x2AF0003C, 0xBD2A342C, -/**/ 0x00000000, 0x3FEC6800, -/**/ 0xD6422A30, 0x3F3BB2BB, -/**/ 0xAB274000, 0x3FBE5FE4, -/**/ 0xF74FFE4D, 0xBD35FAE9, -/**/ 0x00000000, 0x3FEC6800, -/**/ 0x54BDE47E, 0xBF36BD01, -/**/ 0x49670000, 0x3FBE98B5, -/**/ 0x89C50E97, 0x3D346774, -/**/ 0x00000000, 0x3FEC6000, -/**/ 0xB5157FE4, 0xBF222CC5, -/**/ 0x4E838000, 0x3FBED179, -/**/ 0x749D0484, 0xBD1FD143, -/**/ 0x00000000, 0x3FEC5800, -/**/ 0xA930B840, 0x3F129A21, -/**/ 0xC0118000, 0x3FBF0A30, -/**/ 0x83368E91, 0xBD3D599E, -/**/ 0x00000000, 0x3FEC5000, -/**/ 0xAC5CEE14, 0x3F3279B1, -/**/ 0xA3A24000, 0x3FBF42DB, -/**/ 0x32DF6C0D, 0xBD3312B7, -/**/ 0x00000000, 0x3FEC5000, -/**/ 0xD4AB8D0B, 0xBF3F9CF5, -/**/ 0xFEC38000, 0x3FBF7B79, -/**/ 0xE897ED01, 0xBD010987, -/**/ 0x00000000, 0x3FEC4800, -/**/ 0xCC17DAE4, 0xBF319D7C, -/**/ 0xD6FF4000, 0x3FBFB40B, -/**/ 0xB7B53B5B, 0x3D2C0BEC, -/**/ 0x00000000, 0x3FEC4000, -/**/ 0x01C3F8F0, 0xBF0C3F8F, -/**/ 0x31DC0000, 0x3FBFEC91, -/**/ 0xD1AE6607, 0xBD354555, -/**/ 0x00000000, 0x3FEC3800, -/**/ 0xAB1B8FFC, 0x3F254738, -/**/ 0x0A6E0000, 0x3FC01285, -/**/ 0x4805BF94, 0xBD1A8619, -/**/ 0x00000000, 0x3FEC3000, -/**/ 0x48B3C5D7, 0x3F38E51F, -/**/ 0x42BF4000, 0x3FC02EBB, -/**/ 0x5CE00E5D, 0xBD15A8FA, -/**/ 0x00000000, 0x3FEC3000, -/**/ 0x867E595E, 0xBF38C377, -/**/ 0x449F6000, 0x3FC04AEB, -/**/ 0x65CCD35C, 0x3D2AFA90, -/**/ 0x00000000, 0x3FEC2800, -/**/ 0x15FE3D95, 0xBF24AC6D, -/**/ 0x12CA6000, 0x3FC06715, -/**/ 0x9CDC0A3D, 0xBD2A4757, -/**/ 0x00000000, 0x3FEC2000, -/**/ 0x53B8CDAE, 0x3F10B34F, -/**/ 0xAFFA2000, 0x3FC08338, -/**/ 0xAC823E27, 0x3D30533C, -/**/ 0x00000000, 0x3FEC1800, -/**/ 0x3FABB0F6, 0x3F32C599, -/**/ 0x1EE72000, 0x3FC09F56, -/**/ 0x7157D1A8, 0xBD28F305, -/**/ 0x00000000, 0x3FEC1800, -/**/ 0x97CD1B6C, 0xBF3E8BF4, -/**/ 0x6247A000, 0x3FC0BB6D, -/**/ 0x3CCD04B3, 0x3D35464F, -/**/ 0x00000000, 0x3FEC1000, -/**/ 0xE3F1F8FC, 0xBF2F8FC7, -/**/ 0x7CD08000, 0x3FC0D77E, -/**/ 0x2EE2F482, 0x3D3CB2CD, -/**/ 0x00000000, 0x3FEC0800, -/**/ 0x5B199F35, 0xBEEDC860, -/**/ 0x7134C000, 0x3FC0F389, -/**/ 0xE893D6C6, 0xBD3DA359, -/**/ 0x00000000, 0x3FEC0000, -/**/ 0x1C01C01C, 0x3F2C01C0, -/**/ 0x42254000, 0x3FC10F8E, -/**/ 0x43396307, 0xBD293B38, -/**/ 0x00000000, 0x3FEBF800, -/**/ 0x256228AA, 0x3F3D0577, -/**/ 0xF2518000, 0x3FC12B8C, -/**/ 0x13C0A0FC, 0x3D348A4A, -/**/ 0x00000000, 0x3FEBF800, -/**/ 0xCB93A8A1, 0xBF33E08B, -/**/ 0x84674000, 0x3FC14785, -/**/ 0x1027C750, 0x3D156345, -/**/ 0x00000000, 0x3FEBF000, -/**/ 0x1DE63F4A, 0xBF12C4DB, -/**/ 0xFB124000, 0x3FC16377, -/**/ 0xBF41763E, 0x3D091E1A, -/**/ 0x00000000, 0x3FEBE800, -/**/ 0x769F9E4F, 0x3F2526D0, -/**/ 0x58FCA000, 0x3FC17F64, -/**/ 0xD093C8DC, 0x3D2843FA, -/**/ 0x00000000, 0x3FEBE000, -/**/ 0x5292D891, 0x3F39ED43, -/**/ 0xA0CEE000, 0x3FC19B4A, -/**/ 0x9621338B, 0xBD3D8824, -/**/ 0x00000000, 0x3FEBE000, -/**/ 0x5FC845A9, 0xBF36A3B3, -/**/ 0xD52F6000, 0x3FC1B72A, -/**/ 0x1811A396, 0x3D2E80A4, -/**/ 0x00000000, 0x3FEBD800, -/**/ 0xB7230491, 0xBF1C7E26, -/**/ 0xF8C36000, 0x3FC1D304, -/**/ 0xDF451042, 0xBD3A6D44, -/**/ 0x00000000, 0x3FEBD000, -/**/ 0x451B61CB, 0x3F20F365, -/**/ 0x0E2DC000, 0x3FC1EED9, -/**/ 0x7097648F, 0x3D161563, -/**/ 0x00000000, 0x3FEBC800, -/**/ 0xD72DD0AA, 0x3F3827F3, -/**/ 0x18102000, 0x3FC20AA7, -/**/ 0x348552FE, 0x3D3F2C94, -/**/ 0x00000000, 0x3FEBC800, -/**/ 0xBE0C262F, 0xBF3814D3, -/**/ 0x190A6000, 0x3FC2266F, -/**/ 0xB840E7F6, 0xBD24D20A, -/**/ 0x00000000, 0x3FEBC000, -/**/ 0x7ECECB53, 0xBF207963, -/**/ 0x13BA6000, 0x3FC24231, -/**/ 0x78EE9D9C, 0xBD3E3A00, -/**/ 0x00000000, 0x3FEBB800, -/**/ 0xF29268D3, 0x3F1EC130, -/**/ 0x0ABC6000, 0x3FC25DED, -/**/ 0x4F176449, 0x3D35A385, -/**/ 0x00000000, 0x3FEBB000, -/**/ 0xAB6353BF, 0x3F37B218, -/**/ 0x00AB4000, 0x3FC279A3, -/**/ 0xB3235108, 0x3D3EF432, -/**/ 0x00000000, 0x3FEBB000, -/**/ 0xF2298376, 0xBF383759, -/**/ 0xF8200000, 0x3FC29552, -/**/ 0xF4471DFC, 0xBD35B967, -/**/ 0x00000000, 0x3FEBA800, -/**/ 0x1EAD4253, 0xBF201832, -/**/ 0xF3B1A000, 0x3FC2B0FC, -/**/ 0xE30A59EA, 0x3D177CA3, -/**/ 0x00000000, 0x3FEBA000, -/**/ 0xD84886B1, 0x3F20679B, -/**/ 0xF5F60000, 0x3FC2CCA0, -/**/ 0x91AFF120, 0xBD3B5EF1, -/**/ 0x00000000, 0x3FEB9800, -/**/ 0xA41FEB4C, 0x3F38884D, -/**/ 0x0180E000, 0x3FC2E83F, -/**/ 0xC284E1CE, 0xBD3F0C2A, -/**/ 0x00000000, 0x3FEB9800, -/**/ 0x3806E548, 0xBF370EA7, -/**/ 0x18E48000, 0x3FC303D7, -/**/ 0xCE3ECB05, 0xBCD680B5, -/**/ 0x00000000, 0x3FEB9000, -/**/ 0xB5EF34C0, 0xBF1A4477, -/**/ 0x3EB1A000, 0x3FC31F69, -/**/ 0xE5A396FB, 0xBD2A6726, -/**/ 0x00000000, 0x3FEB8800, -/**/ 0x9401B894, 0x3F2401B8, -/**/ 0x75770000, 0x3FC33AF5, -/**/ 0xA2FE72A5, 0x3D3C9ECC, -/**/ 0x00000000, 0x3FEB8000, -/**/ 0x400DC1AA, 0x3F3AA73A, -/**/ 0xBFC22000, 0x3FC3567B, -/**/ 0x53991A1F, 0x3D3250D2, -/**/ 0x00000000, 0x3FEB8000, -/**/ 0x2E63A6A8, 0xBF349E11, -/**/ 0x201E8000, 0x3FC371FC, -/**/ 0x9B2D8ABC, 0x3D3EE877, -/**/ 0x00000000, 0x3FEB7800, -/**/ 0xC8DA04B9, 0xBF0E7898, -/**/ 0x99164000, 0x3FC38D76, -/**/ 0x9E39BB70, 0x3D1844A5, -/**/ 0x00000000, 0x3FEB7000, -/**/ 0xE6B33E2D, 0x3F2A284E, -/**/ 0x2D31A000, 0x3FC3A8EB, -/**/ 0x7D5D503E, 0x3D1BAFB7, -/**/ 0x00000000, 0x3FEB6800, -/**/ 0x759C2BB4, 0x3F3E0B91, -/**/ 0xDEF76000, 0x3FC3C459, -/**/ 0xF6B70D33, 0x3D3EDC86, -/**/ 0x00000000, 0x3FEB6800, -/**/ 0x088FD6E7, 0xBF30E8E2, -/**/ 0xB0ECC000, 0x3FC3DFC2, -/**/ 0x62B8C13F, 0x3D28A72A, -/**/ 0x00000000, 0x3FEB6000, -/**/ 0xD801B600, 0x3ECB6006, -/**/ 0xA5952000, 0x3FC3FB25, -/**/ 0x6B358FF7, 0x3D3195BE, -/**/ 0x00000000, 0x3FEB5800, -/**/ 0xD840F62C, 0x3F316A6A, -/**/ 0xBF728000, 0x3FC41682, -/**/ 0x081F849D, 0xBD210047, -/**/ 0x00000000, 0x3FEB5800, -/**/ 0x7DF8BD99, 0xBF3D4DEE, -/**/ 0x01050000, 0x3FC431DA, -/**/ 0x836E0391, 0x3D304837, -/**/ 0x00000000, 0x3FEB5000, -/**/ 0x7E4B17E5, 0xBF27E4B1, -/**/ 0x6CCB8000, 0x3FC44D2B, -/**/ 0x6135783C, 0xBD170CC1, -/**/ 0x00000000, 0x3FEB4800, -/**/ 0x55E6D8FE, 0x3F15F47D, -/**/ 0x05430000, 0x3FC46877, -/**/ 0xF8D5087E, 0xBD3D8145, -/**/ 0x00000000, 0x3FEB4000, -/**/ 0x0B803686, 0x3F37006D, -/**/ 0xCCE6E000, 0x3FC483BC, -/**/ 0x723F6369, 0x3D1EEA52, -/**/ 0x00000000, 0x3FEB4000, -/**/ 0x46A66920, 0xBF37687C, -/**/ 0xC6314000, 0x3FC49EFC, -/**/ 0x9F55572B, 0xBD090F59, -/**/ 0x00000000, 0x3FEB3800, -/**/ 0xFF2645BE, 0xBF16F6A4, -/**/ 0xF39A6000, 0x3FC4BA36, -/**/ 0xB3F219E5, 0xBD34354B, -/**/ 0x00000000, 0x3FEB3000, -/**/ 0x1801B318, 0x3F2801B3, -/**/ 0x5798E000, 0x3FC4D56B, -/**/ 0x15A96555, 0x3D380580, -/**/ 0x00000000, 0x3FEB2800, -/**/ 0x93511680, 0x3F3DD2FF, -/**/ 0xF4A24000, 0x3FC4F099, -/**/ 0xFAFEAF27, 0xBD3E9BF2, -/**/ 0x00000000, 0x3FEB2800, -/**/ 0xA89DCCAC, 0xBF304743, -/**/ 0xCD29C000, 0x3FC50BC2, -/**/ 0x28DB8D4F, 0x3D1ADA57, -/**/ 0x00000000, 0x3FEB2000, -/**/ 0x406C80D9, 0x3EFB2036, -/**/ 0xE3A1C000, 0x3FC526E5, -/**/ 0x37FC5238, 0xBD3790BA, -/**/ 0x00000000, 0x3FEB1800, -/**/ 0x4F9DC00E, 0x3F33BEC8, -/**/ 0x3A7A8000, 0x3FC54203, -/**/ 0xED855F0E, 0x3D268D68, -/**/ 0x00000000, 0x3FEB1800, -/**/ 0x44F8CE7E, 0xBF3A2101, -/**/ 0xD4232000, 0x3FC55D1A, -/**/ 0xDDA647E8, 0x3D3ADD94, -/**/ 0x00000000, 0x3FEB1000, -/**/ 0xB99AF3F3, 0xBF1FB596, -/**/ 0xB3092000, 0x3FC5782C, -/**/ 0x51794442, 0xBD33A463, -/**/ 0x00000000, 0x3FEB0800, -/**/ 0x922A3E85, 0x3F24B31D, -/**/ 0xD9982000, 0x3FC59338, -/**/ 0xB7555D4A, 0x3CF0BA68, -/**/ 0x00000000, 0x3FEB0000, -/**/ 0xE19BF6B7, 0x3F3CB3CF, -/**/ 0x4A3AA000, 0x3FC5AE3F, -/**/ 0xF012A8B9, 0x3D21EA25, -/**/ 0x00000000, 0x3FEB0000, -/**/ 0x9A5BF0D1, 0xBF30DEAE, -/**/ 0x07598000, 0x3FC5C940, -/**/ 0x8CD23322, 0xBD3A8D94, -/**/ 0x00000000, 0x3FEAF800, -/**/ 0x9EDE13CE, 0x3EFA2072, -/**/ 0x135BE000, 0x3FC5E43B, -/**/ 0xCEED9C31, 0xBD343AB4, -/**/ 0x00000000, 0x3FEAF000, -/**/ 0x0D79435E, 0x3F3435E5, -/**/ 0x70A7A000, 0x3FC5FF30, -/**/ 0x183BEBF2, 0xBD38586F, -/**/ 0x00000000, 0x3FEAF000, -/**/ 0x06855D30, 0xBF392321, -/**/ 0x21A0E000, 0x3FC61A20, -/**/ 0x1BDF3CDD, 0x3D3DD9DD, -/**/ 0x00000000, 0x3FEAE800, -/**/ 0x7ABED811, 0xBF19A45C, -/**/ 0x28AAA000, 0x3FC6350A, -/**/ 0xAB8163AF, 0x3D2D5EC0, -/**/ 0x00000000, 0x3FEAE000, -/**/ 0x84EF68CB, 0x3F28C7ED, -/**/ 0x88260000, 0x3FC64FEE, -/**/ 0x759DDED6, 0xBD1DA40D, -/**/ 0x00000000, 0x3FEAD800, -/**/ 0xA482F00D, 0x3F3F43FC, -/**/ 0x4272A000, 0x3FC66ACD, -/**/ 0xBFC6C785, 0x3D3AA1BD, -/**/ 0x00000000, 0x3FEAD800, -/**/ 0xCDE3E7AE, 0xBF2B9222, -/**/ 0x59EF0000, 0x3FC685A6, -/**/ 0x6C103214, 0xBD21F2A9, -/**/ 0x00000000, 0x3FEAD000, -/**/ 0xEED254A3, 0x3F14F302, -/**/ 0xD0F7A000, 0x3FC6A079, -/**/ 0x448D14F5, 0x3D35A3F8, -/**/ 0x00000000, 0x3FEAC800, -/**/ 0x32071DEF, 0x3F385567, -/**/ 0xA9E80000, 0x3FC6BB47, -/**/ 0x23EA3296, 0x3D19F64D, -/**/ 0x00000000, 0x3FEAC800, -/**/ 0xD47F29D4, 0xBF347F29, -/**/ 0xE719E000, 0x3FC6D60F, -/**/ 0x57134767, 0xBD3BC6E5, -/**/ 0x00000000, 0x3FEAC000, -/**/ 0xE82D23BC, 0xBEF40FE1, -/**/ 0x8AE56000, 0x3FC6F0D2, -/**/ 0xC93373DA, 0x3D369737, -/**/ 0x00000000, 0x3FEAB800, -/**/ 0x972D8538, 0x3F320FDE, -/**/ 0x97A1A000, 0x3FC70B8F, -/**/ 0xF6A95BEF, 0x3D34EA64, -/**/ 0x00000000, 0x3FEAB800, -/**/ 0x66711513, 0xBF3A8C9F, -/**/ 0x0FA40000, 0x3FC72647, -/**/ 0x0E743A45, 0xBD3774DF, -/**/ 0x00000000, 0x3FEAB000, -/**/ 0x02806ABC, 0xBF1C5A0F, -/**/ 0xF5404000, 0x3FC740F8, -/**/ 0x99018AA1, 0xBD30B66C, -/**/ 0x00000000, 0x3FEAA800, -/**/ 0xD22C937A, 0x3F28E44B, -/**/ 0x4AC8E000, 0x3FC75BA5, -/**/ 0x8BC4A7C0, 0x3D3DDCA5, -/**/ 0x00000000, 0x3FEAA800, -/**/ 0xFF2ADFF3, 0xBF3FF2AD, -/**/ 0x128F2000, 0x3FC7764C, -/**/ 0x3479E3D1, 0x3D027490, -/**/ 0x00000000, 0x3FEAA000, -/**/ 0x0B3ADA5C, 0xBF288A16, -/**/ 0x4EE26000, 0x3FC790ED, -/**/ 0x4E7746F6, 0x3D199BBD, -/**/ 0x00000000, 0x3FEA9800, -/**/ 0x4C77B035, 0x3F1DEC0D, -/**/ 0x0210E000, 0x3FC7AB89, -/**/ 0x72534A58, 0xBD2BDB90, -/**/ 0x00000000, 0x3FEA9000, -/**/ 0x91F59E6B, 0x3F3B4D71, -/**/ 0x2E674000, 0x3FC7C61F, -/**/ 0xB31BE8E0, 0xBD32392D, -/**/ 0x00000000, 0x3FEA9000, -/**/ 0xB8A2A522, 0xBF30CDCB, -/**/ 0xD630C000, 0x3FC7E0AF, -/**/ 0x1D8F1034, 0x3D139E7C, -/**/ 0x00000000, 0x3FEA8800, -/**/ 0x6A2194A0, 0x3F094A00, -/**/ 0xFBB76000, 0x3FC7FB3A, -/**/ 0x24609D57, 0xBD37DBF5, -/**/ 0x00000000, 0x3FEA8000, -/**/ 0x870AC52E, 0x3F373289, -/**/ 0xA1436000, 0x3FC815C0, -/**/ 0xF9201CE8, 0xBD302A52, -/**/ 0x00000000, 0x3FEA8000, -/**/ 0x9E8684DD, 0xBF34B1FA, -/**/ 0xC91BC000, 0x3FC83040, -/**/ 0xC6E66F32, 0x3D3E5B71, -/**/ 0x00000000, 0x3FEA7800, -/**/ 0xA9267648, 0xBEE08AF5, -/**/ 0x75866000, 0x3FC84ABB, -/**/ 0xDF4E2BD2, 0xBD3D8DAA, -/**/ 0x00000000, 0x3FEA7000, -/**/ 0x1A3D927E, 0x3F33BB67, -/**/ 0xA8C70000, 0x3FC86530, -/**/ 0xCB4EA3E3, 0x3D398BB0, -/**/ 0x00000000, 0x3FEA7000, -/**/ 0x7F2C97F3, 0xBF37F2C9, -/**/ 0x6520C000, 0x3FC87FA0, -/**/ 0x401202FC, 0x3D322120, -/**/ 0x00000000, 0x3FEA6800, -/**/ 0x3C076D20, 0xBF0C77A5, -/**/ 0xACD4E000, 0x3FC89A0A, -/**/ 0xDA8F5A72, 0x3D2C0BFB, -/**/ 0x00000000, 0x3FEA6000, -/**/ 0x7C7EF82B, 0x3F30E6DA, -/**/ 0x82236000, 0x3FC8B46F, -/**/ 0x102DD7C9, 0x3D12D9F2, -/**/ 0x00000000, 0x3FEA6000, -/**/ 0x2EC05C44, 0xBF3A9167, -/**/ 0xE74AE000, 0x3FC8CECE, -/**/ 0xAA429BB5, 0xBD3A5BA0, -/**/ 0x00000000, 0x3FEA5800, -/**/ 0xEEB6BD53, 0xBF17DF12, -/**/ 0xDE886000, 0x3FC8E928, -/**/ 0xB13D72D5, 0x3D3A8154, -/**/ 0x00000000, 0x3FEA5000, -/**/ 0x98C70AE6, 0x3F2D676D, -/**/ 0x6A180000, 0x3FC9037D, -/**/ 0x57C1C8D9, 0x3D230DEA, -/**/ 0x00000000, 0x3FEA5000, -/**/ 0x96CE4780, 0xBF3C8EFF, -/**/ 0x8C340000, 0x3FC91DCC, -/**/ 0xBDDEFF46, 0x3D37BC6A, -/**/ 0x00000000, 0x3FEA4800, -/**/ 0x71EFFCB7, 0xBF1EFFCB, -/**/ 0x4715A000, 0x3FC93816, -/**/ 0x6A3A39D9, 0xBD34C63D, -/**/ 0x00000000, 0x3FEA4000, -/**/ 0x1A41A41A, 0x3F2A41A4, -/**/ 0x9CF46000, 0x3FC9525A, -/**/ 0x7D9F158F, 0xBD329713, -/**/ 0x00000000, 0x3FEA4000, -/**/ 0xBF3B3C0E, 0xBF3DECBB, -/**/ 0x9006A000, 0x3FC96C99, -/**/ 0x9CBB452C, 0x3D2A88D5, -/**/ 0x00000000, 0x3FEA3800, -/**/ 0x3BCD35A8, 0xBF21D14E, -/**/ 0x22818000, 0x3FC986D3, -/**/ 0x4DD44000, 0x3CF93B56, -/**/ 0x00000000, 0x3FEA3000, -/**/ 0x3B5832C0, 0x3F285A0A, -/**/ 0x56988000, 0x3FC9A107, -/**/ 0x242CD098, 0x3D264AA6, -/**/ 0x00000000, 0x3FEA3000, -/**/ 0xD71AFD8C, 0xBF3EABC1, -/**/ 0x2E7E0000, 0x3FC9BB36, -/**/ 0xA1CE0FFC, 0xBD21F2A8, -/**/ 0x00000000, 0x3FEA2800, -/**/ 0x7C041611, 0xBF22E60D, -/**/ 0xAC62E000, 0x3FC9D55F, -/**/ 0xFC3B5BC3, 0xBD3F4669, -/**/ 0x00000000, 0x3FEA2000, -/**/ 0x5FF2EF43, 0x3F27AE57, -/**/ 0xD276A000, 0x3FC9EF83, -/**/ 0xB3F9CE00, 0xBD2730B7, -/**/ 0x00000000, 0x3FEA2000, -/**/ 0x3D66322E, 0xBF3ECD35, -/**/ 0xA2E7A000, 0x3FCA09A2, -/**/ 0xCD411233, 0xBD2DD99D, -/**/ 0x00000000, 0x3FEA1800, -/**/ 0x5B4FE5E9, 0xBF22C068, -/**/ 0x1FE2C000, 0x3FCA23BC, -/**/ 0x91DC9F0B, 0xBD3539CD, -/**/ 0x00000000, 0x3FEA1000, -/**/ 0x80B67A9A, 0x3F283C48, -/**/ 0x4B938000, 0x3FCA3DD0, -/**/ 0x366E2C5A, 0x3D297DA1, -/**/ 0x00000000, 0x3FEA1000, -/**/ 0x89907BBA, 0xBF3E5236, -/**/ 0x28244000, 0x3FCA57DF, -/**/ 0xCA1D9ABB, 0x3D3B99C8, -/**/ 0x00000000, 0x3FEA0800, -/**/ 0x32054967, 0xBF21629E, -/**/ 0xB7BE0000, 0x3FCA71E8, -/**/ 0x6EF05323, 0xBD210ACA, -/**/ 0x00000000, 0x3FEA0000, -/**/ 0x1A01A01A, 0x3F2A01A0, -/**/ 0xFC882000, 0x3FCA8BEC, -/**/ 0xCF21B9CF, 0x3D3E3185, -/**/ 0x00000000, 0x3FEA0000, -/**/ 0x93FF301D, 0xBF3D3BE3, -/**/ 0xF8A94000, 0x3FCAA5EB, -/**/ 0x36951A8F, 0xBD32A0A9, -/**/ 0x00000000, 0x3FE9F800, -/**/ 0xBFE608ED, 0xBF1D9DD1, -/**/ 0xAE462000, 0x3FCABFE5, -/**/ 0x395F139D, 0xBD3B68F5, -/**/ 0x00000000, 0x3FE9F000, -/**/ 0x1B29257F, 0x3F2CFC26, -/**/ 0x1F828000, 0x3FCAD9DA, -/**/ 0xC803F050, 0xBD3882B7, -/**/ 0x00000000, 0x3FE9F000, -/**/ 0x7E613717, 0xBF3B8B57, -/**/ 0x4E80C000, 0x3FCAF3C9, -/**/ 0x3FCD9066, 0xBCBA4E63, -/**/ 0x00000000, 0x3FE9E800, -/**/ 0xB9FABD04, 0xBF160EF9, -/**/ 0x3D620000, 0x3FCB0DB3, -/**/ 0x38EAB906, 0x3D3FEE14, -/**/ 0x00000000, 0x3FE9E000, -/**/ 0xEAF850E2, 0x3F3094D3, -/**/ 0xEE464000, 0x3FCB2797, -/**/ 0x906D00A9, 0xBD3BE88A, -/**/ 0x00000000, 0x3FE9E000, -/**/ 0xBBE88FDC, 0xBF3941AA, -/**/ 0x634BA000, 0x3FCB4177, -/**/ 0x5666069F, 0x3D355D01, -/**/ 0x00000000, 0x3FE9D800, -/**/ 0x25F4B1AA, 0xBF083A25, -/**/ 0x9E8FC000, 0x3FCB5B51, -/**/ 0xEC011F31, 0xBD34B722, -/**/ 0x00000000, 0x3FE9D000, -/**/ 0xF71FAC14, 0x3F3343FB, -/**/ 0xA22E4000, 0x3FCB7526, -/**/ 0x2E785490, 0x3D2C0DBF, -/**/ 0x00000000, 0x3FE9D000, -/**/ 0x1965FF32, 0xBF365FF3, -/**/ 0x70420000, 0x3FCB8EF6, -/**/ 0x321788E0, 0x3D387533, -/**/ 0x00000000, 0x3FE9C800, -/**/ 0x9C8019C8, 0x3EA9C801, -/**/ 0x0AE46000, 0x3FCBA8C1, -/**/ 0x9EEE9D85, 0x3D3A32E2, -/**/ 0x00000000, 0x3FE9C000, -/**/ 0x25080CE1, 0x3F368A77, -/**/ 0x742D8000, 0x3FCBC286, -/**/ 0xF39D121C, 0x3D39AC53, -/**/ 0x00000000, 0x3FE9C000, -/**/ 0xC54763F2, 0xBF32E743, -/**/ 0xAE344000, 0x3FCBDC46, -/**/ 0x023D6505, 0x3D3625B4, -/**/ 0x00000000, 0x3FE9B800, -/**/ 0x8B7424F9, 0x3F0DBD49, -/**/ 0xBB0E4000, 0x3FCBF601, -/**/ 0x47C378B5, 0x3D2386A9, -/**/ 0x00000000, 0x3FE9B000, -/**/ 0x00CD9A67, 0x3F3A6734, -/**/ 0x9CCFE000, 0x3FCC0FB7, -/**/ 0x99E8A558, 0xBD346FFF, -/**/ 0x00000000, 0x3FE9B000, -/**/ 0xAEF25B7C, 0xBF2DB15A, -/**/ 0x558C2000, 0x3FCC2968, -/**/ 0xDEE38A40, 0xBD2CFD73, -/**/ 0x00000000, 0x3FE9A800, -/**/ 0xC140C073, 0x3F1FDFEC, -/**/ 0xE754E000, 0x3FCC4313, -/**/ 0x74CAD7D6, 0x3D3279BE, -/**/ 0x00000000, 0x3FE9A000, -/**/ 0xA7DCBEB3, 0x3F3ED923, -/**/ 0x543AE000, 0x3FCC5CBA, -/**/ 0xECB454FC, 0x3D20929D, -/**/ 0x00000000, 0x3FE9A000, -/**/ 0xB256DE2C, 0xBF246A7B, -/**/ 0x9E4D6000, 0x3FCC765B, -/**/ 0x36976F6C, 0x3D31AB6B, -/**/ 0x00000000, 0x3FE99800, -/**/ 0x9999999A, 0x3F299999, -/**/ 0xC79AA000, 0x3FCC8FF7, -/**/ 0x689F8434, 0xBD27794F, -/**/ 0x00000000, 0x3FE99800, -/**/ 0x3EC03FF3, 0xBF3C20C6, -/**/ 0xD22F6000, 0x3FCCA98E, -/**/ 0x8CA209C8, 0xBCF698C1, -/**/ 0x00000000, 0x3FE99000, -/**/ 0x31EC07FD, 0xBF13F803, -/**/ 0xC0176000, 0x3FCCC320, -/**/ 0x9A653794, 0x3D240903, -/**/ 0x00000000, 0x3FE98800, -/**/ 0x5AC98715, 0x3F323513, -/**/ 0x935D2000, 0x3FCCDCAD, -/**/ 0x34C9A447, 0xBD0A0FF0, -/**/ 0x00000000, 0x3FE98800, -/**/ 0x89F80661, 0xBF368793, -/**/ 0x4E09C000, 0x3FCCF635, -/**/ 0x9A07D55B, 0x3D277123, -/**/ 0x00000000, 0x3FE98000, -/**/ 0x8019801A, 0x3EE98019, -/**/ 0xF2256000, 0x3FCD0FB7, -/**/ 0x20633B29, 0xBD0AF52B, -/**/ 0x00000000, 0x3FE97800, -/**/ 0xAB329020, 0x3F382FC6, -/**/ 0x81B6C000, 0x3FCD2935, -/**/ 0x128AAA5F, 0xBD383270, -/**/ 0x00000000, 0x3FE97800, -/**/ 0x962DBFF3, 0xBF305C4B, -/**/ 0xFEC36000, 0x3FCD42AD, -/**/ 0xFD804272, 0xBD175C00, -/**/ 0x00000000, 0x3FE97000, -/**/ 0x970E4F81, 0x3F1C9F01, -/**/ 0x6B4FC000, 0x3FCD5C21, -/**/ 0xBBCA681B, 0xBD21BA91, -/**/ 0x00000000, 0x3FE96800, -/**/ 0x049160B8, 0x3F3EBBE1, -/**/ 0xC95F0000, 0x3FCD758F, -/**/ 0x8B4162AA, 0xBD15A10A, -/**/ 0x00000000, 0x3FE96800, -/**/ 0x9933FE6A, 0xBF233FE6, -/**/ 0x1AF32000, 0x3FCD8EF9, -/**/ 0xC364C784, 0xBD15105F, -/**/ 0x00000000, 0x3FE96000, -/**/ 0xCE078906, 0x3F2C2873, -/**/ 0x620CE000, 0x3FCDA85D, -/**/ 0xC16CC7EC, 0x3D240194, -/**/ 0x00000000, 0x3FE96000, -/**/ 0xE442936B, 0xBF3A27A0, -/**/ 0xA0ABE000, 0x3FCDC1BC, -/**/ 0xA628CCC6, 0x3D38FAC1, -/**/ 0x00000000, 0x3FE95800, -/**/ 0x548A97A9, 0xBF029C69, -/**/ 0xD8CEA000, 0x3FCDDB16, -/**/ 0x7104B8BC, 0xBD1EEF79, -/**/ 0x00000000, 0x3FE95000, -/**/ 0x9F74B92D, 0x3F35906B, -/**/ 0x0C722000, 0x3FCDF46C, -/**/ 0xB0B79039, 0x3D3A5E82, -/**/ 0x00000000, 0x3FE95000, -/**/ 0xF35927BC, 0xBF327BBF, -/**/ 0x3D92A000, 0x3FCE0DBC, -/**/ 0xF0529BF1, 0x3D359233, -/**/ 0x00000000, 0x3FE94800, -/**/ 0xDD3C0CA4, 0x3F161F9A, -/**/ 0x6E2B0000, 0x3FCE2707, -/**/ 0x2AF0003C, 0xBD3A342C, -/**/ 0x00000000, 0x3FE94000, -/**/ 0x41228A8F, 0x3F3D9B56, -/**/ 0xA034C000, 0x3FCE404D, -/**/ 0xE09A2799, 0xBD3187EE, -/**/ 0x00000000, 0x3FE94000, -/**/ 0x598A73F8, 0xBF2482F5, -/**/ 0xD5A88000, 0x3FCE598E, -/**/ 0xCF1E98A1, 0xBD0D134B, -/**/ 0x00000000, 0x3FE93800, -/**/ 0x3C1B9728, 0x3F2BE2D5, -/**/ 0x107DA000, 0x3FCE72CB, -/**/ 0xCDF5471C, 0x3D1DD48C, -/**/ 0x00000000, 0x3FE93800, -/**/ 0x2698CFF3, 0xBF39CC03, -/**/ 0x52AA6000, 0x3FCE8C02, -/**/ 0x80E8E6FF, 0xBD26805B, -/**/ 0x00000000, 0x3FE93000, -/**/ 0xB9F30358, 0xBEF79CD3, -/**/ 0x9E23A000, 0x3FCEA534, -/**/ 0x4C73CCB5, 0x3D381B93, -/**/ 0x00000000, 0x3FE92800, -/**/ 0x255BA00D, 0x3F36E803, -/**/ 0xF4DD8000, 0x3FCEBE61, -/**/ 0x30FDCA4D, 0xBD23D453, -/**/ 0x00000000, 0x3FE92800, -/**/ 0x36077742, 0xBF30A69B, -/**/ 0x58CA8000, 0x3FCED78A, -/**/ 0x3793387E, 0x3D16F1B5, -/**/ 0x00000000, 0x3FE92000, -/**/ 0x1C451AB3, 0x3F1F693A, -/**/ 0xCBDC6000, 0x3FCEF0AD, -/**/ 0x9C86AF24, 0xBD2B26B7, -/**/ 0x00000000, 0x3FE92000, -/**/ 0xC74EA9E2, 0xBF3F9548, -/**/ 0x50036000, 0x3FCF09CC, -/**/ 0x18D999DB, 0x3D3DA094, -/**/ 0x00000000, 0x3FE91800, -/**/ 0xF7C46911, 0xBF1BD5A8, -/**/ 0xE72F2000, 0x3FCF22E5, -/**/ 0x1417E41F, 0xBD3F454F, -/**/ 0x00000000, 0x3FE91000, -/**/ 0x0D83D1C6, 0x3F31B9E1, -/**/ 0x934D6000, 0x3FCF3BFA, -/**/ 0x937B903B, 0x3D2D9F2A, -/**/ 0x00000000, 0x3FE91000, -/**/ 0xF3795877, 0xBF35876F, -/**/ 0x564B8000, 0x3FCF550A, -/**/ 0xA09202FE, 0xBD2323E3, -/**/ 0x00000000, 0x3FE90800, -/**/ 0xBD1D87EC, 0x3F0A34CD, -/**/ 0x32154000, 0x3FCF6E15, -/**/ 0x7AC4EC74, 0xBD3C9A97, -/**/ 0x00000000, 0x3FE90000, -/**/ 0x0E760899, 0x3F3C23F5, -/**/ 0x28956000, 0x3FCF871B, -/**/ 0x6A526EFE, 0xBD3F75FD, -/**/ 0x00000000, 0x3FE90000, -/**/ 0xD0BE9594, 0xBF25DECD, -/**/ 0x3BB58000, 0x3FCFA01C, -/**/ 0xFAE1D786, 0xBD1A1F71, -/**/ 0x00000000, 0x3FE8F800, -/**/ 0xC18F9C19, 0x3F2C18F9, -/**/ 0x6D5E4000, 0x3FCFB918, -/**/ 0xAB993C87, 0xBD0D572A, -/**/ 0x00000000, 0x3FE8F800, -/**/ 0x8176594C, 0xBF38E868, -/**/ 0xBF770000, 0x3FCFD20F, -/**/ 0x72C6FE70, 0xBD11C55B, -/**/ 0x00000000, 0x3FE8F000, -/**/ 0x3C018F00, 0x3EC8F006, -/**/ 0x33E60000, 0x3FCFEB02, -/**/ 0x32D5E8C7, 0x3D2F316E, -/**/ 0x00000000, 0x3FE8E800, -/**/ 0xAD115384, 0x3F395B4D, -/**/ 0xE6484000, 0x3FD001F7, -/**/ 0x40C9ABBC, 0x3D38A957, -/**/ 0x00000000, 0x3FE8E800, -/**/ 0xEC8C0F90, 0xBF2AD850, -/**/ 0x45AD5000, 0x3FD00E6C, -/**/ 0x52E01203, 0x3CDCC68D, -/**/ 0x00000000, 0x3FE8E000, -/**/ 0xA56B1AA1, 0x3F27B6E9, -/**/ 0x3913A000, 0x3FD01ADE, -/**/ 0xCCDC1521, 0xBD108930, -/**/ 0x00000000, 0x3FE8E000, -/**/ 0x40DFC1D8, 0xBF3ACDE3, -/**/ 0xC16C2000, 0x3FD0274D, -/**/ 0x9CF835C2, 0x3D2979E8, -/**/ 0x00000000, 0x3FE8D800, -/**/ 0x317DF64C, 0xBEF68397, -/**/ 0xDFA74000, 0x3FD033BA, -/**/ 0x1485BDFF, 0x3D0C30BC, -/**/ 0x00000000, 0x3FE8D000, -/**/ 0x80C6980C, 0x3F380C69, -/**/ 0x94B4D000, 0x3FD04025, -/**/ 0x9EF42D7F, 0x3CF036B8, -/**/ 0x00000000, 0x3FE8D000, -/**/ 0x338C7FE7, 0xBF2CE006, -/**/ 0xE1842000, 0x3FD04C8D, -/**/ 0x512CEB86, 0xBD1FE6BA, -/**/ 0x00000000, 0x3FE8C800, -/**/ 0x1EFBBD63, 0x3F2644F0, -/**/ 0xC703F000, 0x3FD058F3, -/**/ 0xBCD236AD, 0xBD30E866, -/**/ 0x00000000, 0x3FE8C800, -/**/ 0xAA79217A, 0xBF3B3C2D, -/**/ 0x46227000, 0x3FD06557, -/**/ 0xB4868D6A, 0x3D0131DF, -/**/ 0x00000000, 0x3FE8C000, -/**/ 0x8062FF3A, 0xBEF8BFCE, -/**/ 0x5FCD6000, 0x3FD071B8, -/**/ 0xA3E01A11, 0xBD3BCB8B, -/**/ 0x00000000, 0x3FE8B800, -/**/ 0xBD2672C4, 0x3F383301, -/**/ 0x14F1D000, 0x3FD07E17, -/**/ 0x4F384BD5, 0xBD3EFCC6, -/**/ 0x00000000, 0x3FE8B800, -/**/ 0x9BFE749C, 0xBF2BFE74, -/**/ 0x667C5000, 0x3FD08A73, -/**/ 0x40C5A329, 0x3D3EBC1D, -/**/ 0x00000000, 0x3FE8B000, -/**/ 0xD4353EB3, 0x3F27BA8C, -/**/ 0x55591000, 0x3FD096CD, -/**/ 0x20550A31, 0x3D3F998D, -/**/ 0x00000000, 0x3FE8B000, -/**/ 0xA062B2E4, 0xBF3A3784, -/**/ 0xE2739000, 0x3FD0A324, -/**/ 0x7EF4030E, 0x3D0C6BEE, -/**/ 0x00000000, 0x3FE8A800, -/**/ 0x5E630281, 0xBECED1F6, -/**/ 0x0EB6C000, 0x3FD0AF7A, -/**/ 0x4945ADAD, 0x3D23CCF9, -/**/ 0x00000000, 0x3FE8A000, -/**/ 0x0C519CAE, 0x3F39CAE0, -/**/ 0xDB0D2000, 0x3FD0BBCC, -/**/ 0xCC5DCDFB, 0x3D32F32C, -/**/ 0x00000000, 0x3FE8A000, -/**/ 0x4EDBA5FD, 0xBF283C02, -/**/ 0x4860B000, 0x3FD0C81D, -/**/ 0x401D1731, 0xBD3E5BCF, -/**/ 0x00000000, 0x3FE89800, -/**/ 0x1899C0F6, 0x3F2C0F60, -/**/ 0x579AB000, 0x3FD0D46B, -/**/ 0xF640E1E6, 0x3D3D2C81, -/**/ 0x00000000, 0x3FE89800, -/**/ 0xBDBE51D0, 0xBF37C414, -/**/ 0x09A43000, 0x3FD0E0B7, -/**/ 0xA7862F2A, 0x3D32A038, -/**/ 0x00000000, 0x3FE89000, -/**/ 0xDD12CE7D, 0x3F03F540, -/**/ 0x5F658000, 0x3FD0ED00, -/**/ 0x285AA803, 0xBD22DC75, -/**/ 0x00000000, 0x3FE88800, -/**/ 0x400C45CD, 0x3F3CCFDE, -/**/ 0x59C67000, 0x3FD0F947, -/**/ 0x7F0818B6, 0xBD395261, -/**/ 0x00000000, 0x3FE88800, -/**/ 0x44FB66B5, 0xBF21A0F5, -/**/ 0xF9AE5000, 0x3FD1058B, -/**/ 0x817D52CD, 0xBD34AB9D, -/**/ 0x00000000, 0x3FE88000, -/**/ 0x2866A138, 0x3F319D95, -/**/ 0x4003F000, 0x3FD111CE, -/**/ 0x096B4B6B, 0xBD1B3237, -/**/ 0x00000000, 0x3FE88000, -/**/ 0xA48B49DA, 0xBF33E5FA, -/**/ 0x2DADA000, 0x3FD11E0E, -/**/ 0x8FCCE5BA, 0xBD2A47F8, -/**/ 0x00000000, 0x3FE87800, -/**/ 0xDEECB0A8, 0x3F1A9336, -/**/ 0xC3912000, 0x3FD12A4B, -/**/ 0x61473259, 0xBD35A750, -/**/ 0x00000000, 0x3FE87800, -/**/ 0xFB6A388D, 0xBF3EC219, -/**/ 0x0293B000, 0x3FD13687, -/**/ 0x99D67123, 0xBD3D3E84, -/**/ 0x00000000, 0x3FE87000, -/**/ 0xC1625090, 0xBF106AE7, -/**/ 0xEB9A0000, 0x3FD142BF, -/**/ 0x85B58A9E, 0x3D31CE61, -/**/ 0x00000000, 0x3FE86800, -/**/ 0xACD4200C, 0x3F369AE5, -/**/ 0x7F887000, 0x3FD14EF6, -/**/ 0x5DFC9794, 0xBD3E97A6, -/**/ 0x00000000, 0x3FE86800, -/**/ 0x9389D11C, 0xBF2D4286, -/**/ 0xBF429000, 0x3FD15B2A, -/**/ 0x49B629B2, 0xBD2D8E3B, -/**/ 0x00000000, 0x3FE86000, -/**/ 0x18618618, 0x3F286186, -/**/ 0xABABA000, 0x3FD1675C, -/**/ 0x731F55C4, 0x3D38380E, -/**/ 0x00000000, 0x3FE86000, -/**/ 0x6AC71708, 0xBF38EF0F, -/**/ 0x45A67000, 0x3FD1738C, -/**/ 0x0032C176, 0xBD39C6E9, -/**/ 0x00000000, 0x3FE85800, -/**/ 0xE00C2C20, 0x3EFFF3D3, -/**/ 0x8E151000, 0x3FD17FB9, -/**/ 0xA74A2684, 0xBD3A8A8B, -/**/ 0x00000000, 0x3FE85000, -/**/ 0xF9592266, 0x3F3CFBA0, -/**/ 0x85D93000, 0x3FD18BE4, -/**/ 0x6F3604AB, 0x3D3C167F, -/**/ 0x00000000, 0x3FE85000, -/**/ 0xFF3D87FA, 0xBF1FE7B0, -/**/ 0x2DD42000, 0x3FD1980D, -/**/ 0x7A361C9A, 0x3D2B7B3A, -/**/ 0x00000000, 0x3FE84800, -/**/ 0x918DC223, 0x3F331E8D, -/**/ 0x86E68000, 0x3FD1A433, -/**/ 0x634E0AAC, 0xBD07A850, -/**/ 0x00000000, 0x3FE84800, -/**/ 0x8D76B549, 0xBF31BAF9, -/**/ 0x91F08000, 0x3FD1B057, -/**/ 0x6DC55E2D, 0xBD32DD46, -/**/ 0x00000000, 0x3FE84000, -/**/ 0xDC90C512, 0x3F22F2EC, -/**/ 0x4FD1D000, 0x3FD1BC79, -/**/ 0x747BA7BE, 0xBD3CCF0C, -/**/ 0x00000000, 0x3FE84000, -/**/ 0x6A0916B9, 0xBF3B442A, -/**/ 0xC169A000, 0x3FD1C898, -/**/ 0xE5C62AFF, 0xBD381410, -/**/ 0x00000000, 0x3FE83800, -/**/ 0x83801838, 0x3EA83801, -/**/ 0xE796A000, 0x3FD1D4B5, -/**/ 0xD197BAC2, 0x3D222A5B, -/**/ 0x00000000, 0x3FE83000, -/**/ 0xCBD11C5C, 0x3F3B6A41, -/**/ 0xC3371000, 0x3FD1E0D0, -/**/ 0xA9B0D4A0, 0x3D3AF8F2, -/**/ 0x00000000, 0x3FE83000, -/**/ 0xCB7A3CD6, 0xBF225381, -/**/ 0x5528B000, 0x3FD1ECE9, -/**/ 0x09B4A3B8, 0xBD184E7B, -/**/ 0x00000000, 0x3FE82800, -/**/ 0x152500C1, 0x3F32500C, -/**/ 0x9E48A000, 0x3FD1F8FF, -/**/ 0x040CBE77, 0x3D27946C, -/**/ 0x00000000, 0x3FE82800, -/**/ 0x14902134, 0xBF32285F, -/**/ 0x9F73B000, 0x3FD20513, -/**/ 0x1609E0A4, 0x3CF6E15E, -/**/ 0x00000000, 0x3FE82000, -/**/ 0xA4018213, 0x3F22D9EB, -/**/ 0x59861000, 0x3FD21125, -/**/ 0xBA2950C4, 0x3D382E78, -/**/ 0x00000000, 0x3FE82000, -/**/ 0xFC6BBFF4, 0xBF3AEFFC, -/**/ 0xCD5B9000, 0x3FD21D34, -/**/ 0xB28BADAA, 0x3D3B552F, -/**/ 0x00000000, 0x3FE81800, -/**/ 0x18181818, 0x3EE81818, -/**/ 0xFBCF8000, 0x3FD22941, -/**/ 0xF5EB0963, 0xBD3A6976, -/**/ 0x00000000, 0x3FE81000, -/**/ 0x4FF0F3C6, 0x3F3C7F27, -/**/ 0xE5BC9000, 0x3FD2354C, -/**/ 0x0602A663, 0xBD3D78ED, -/**/ 0x00000000, 0x3FE81000, -/**/ 0x0A86941D, 0xBF1ED344, -/**/ 0x8BFD1000, 0x3FD24155, -/**/ 0x3228FCAD, 0x3D300FFF, -/**/ 0x00000000, 0x3FE80800, -/**/ 0x1B0BD52D, 0x3F3424D0, -/**/ 0xEF6AF000, 0x3FD24D5B, -/**/ 0xFC9FABDD, 0xBCBDD780, -/**/ 0x00000000, 0x3FE80800, -/**/ 0xFE7F9FE8, 0xBF2FE7F9, -/**/ 0x10DF7000, 0x3FD25960, -/**/ 0x224EA3E3, 0x3D38E7BC, -/**/ 0x00000000, 0x3FE80000, -/**/ 0x18018018, 0x3F280180, -/**/ 0xF1338000, 0x3FD26561, -/**/ 0x66FAA45F, 0x3D38B488, -/**/ 0x00000000, 0x3FE80000, -/**/ 0x5FF40180, 0xBF37FD00, -/**/ 0x913F8000, 0x3FD27161, -/**/ 0xF61564B4, 0x3D34F4F1, -/**/ 0x00000000, 0x3FE7F800, -/**/ 0x9750B6C7, 0x3F104AE8, -/**/ 0xF1DB6000, 0x3FD27D5E, -/**/ 0x78CAC9F4, 0xBD092374, -/**/ 0x00000000, 0x3FE7F800, -/**/ 0xF405FD01, 0xBF3FD017, -/**/ 0x13DE8000, 0x3FD2895A, -/**/ 0xD24C13F0, 0x3D3A8D7A, -/**/ 0x00000000, 0x3FE7F000, -/**/ 0xC9C5485E, 0xBF0D2BF1, -/**/ 0xF81FF000, 0x3FD29552, -/**/ 0x1771C408, 0x3D348D30, -/**/ 0x00000000, 0x3FE7E800, -/**/ 0xD029DB60, 0x3F38927F, -/**/ 0x9F763000, 0x3FD2A149, -/**/ 0x51F3AADC, 0xBD30DBBF, -/**/ 0x00000000, 0x3FE7E800, -/**/ 0xB0A45169, 0xBF26504A, -/**/ 0x0AB73000, 0x3FD2AD3E, -/**/ 0x488C359F, 0x3D2B972E, -/**/ 0x00000000, 0x3FE7E000, -/**/ 0xD278E8DD, 0x3F312A8A, -/**/ 0x3AB8A000, 0x3FD2B930, -/**/ 0xD6BFB0A5, 0xBD26DB12, -/**/ 0x00000000, 0x3FE7E000, -/**/ 0x24BB32E7, 0xBF327577, -/**/ 0x304F8000, 0x3FD2C520, -/**/ 0x8C342F39, 0x3D230852, -/**/ 0x00000000, 0x3FE7D800, -/**/ 0xA4B45AEC, 0x3F23EF9A, -/**/ 0xEC508000, 0x3FD2D10D, -/**/ 0xF7088353, 0x3D360C61, -/**/ 0x00000000, 0x3FE7D800, -/**/ 0x32748CC1, 0xBF398DAF, -/**/ 0x6F8FD000, 0x3FD2DCF9, -/**/ 0x8E33C9CE, 0x3D20B4A2, -/**/ 0x00000000, 0x3FE7D000, -/**/ 0x417D05F4, 0x3F07D05F, -/**/ 0xBAE12000, 0x3FD2E8E2, -/**/ 0x99B72BD8, 0xBD267B1E, -/**/ 0x00000000, 0x3FE7C800, -/**/ 0x431D3027, 0x3F3F8EF7, -/**/ 0xCF17A000, 0x3FD2F4C9, -/**/ 0x9374B87B, 0x3D371F04, -/**/ 0x00000000, 0x3FE7C800, -/**/ 0xDAD83E6C, 0xBF0E77A3, -/**/ 0xAD063000, 0x3FD300AE, -/**/ 0x8B75FCAC, 0x3D342F56, -/**/ 0x00000000, 0x3FE7C000, -/**/ 0x588D1676, 0x3F38E041, -/**/ 0x557F2000, 0x3FD30C91, -/**/ 0xA1451755, 0xBD142958, -/**/ 0x00000000, 0x3FE7C000, -/**/ 0x1FE8414C, 0xBF24C6DD, -/**/ 0xC9544000, 0x3FD31871, -/**/ 0x94CECFD9, 0x3D184FAB, -/**/ 0x00000000, 0x3FE7B800, -/**/ 0x81C2D3B2, 0x3F3265F4, -/**/ 0x09570000, 0x3FD32450, -/**/ 0x9BDAE59D, 0x3D3D271B, -/**/ 0x00000000, 0x3FE7B800, -/**/ 0xB6466407, 0xBF30C39C, -/**/ 0x16586000, 0x3FD3302C, -/**/ 0xC2A3E08B, 0x3D36217D, -/**/ 0x00000000, 0x3FE7B000, -/**/ 0x12B21224, 0x3F283FAD, -/**/ 0xF128E000, 0x3FD33C05, -/**/ 0x380E1A7D, 0xBD22B906, -/**/ 0x00000000, 0x3FE7B000, -/**/ 0xF899E55D, 0xBF36EFB8, -/**/ 0x9A988000, 0x3FD347DD, -/**/ 0xD4C58092, 0xBD25594D, -/**/ 0x00000000, 0x3FE7A800, -/**/ 0x3FF42B9F, 0x3F1836B6, -/**/ 0x1376E000, 0x3FD353B3, -/**/ 0xE6C26D9B, 0xBD1331AF, -/**/ 0x00000000, 0x3FE7A800, -/**/ 0x0B739FF4, 0xBF3CE7FD, -/**/ 0x5C933000, 0x3FD35F86, -/**/ 0x4EA1A54A, 0xBD3B07DE, -/**/ 0x00000000, 0x3FE7A000, -/**/ 0xE8017A00, 0x3EC7A005, -/**/ 0x76BC1000, 0x3FD36B57, -/**/ 0x5A9C223F, 0x3D116978, -/**/ 0x00000000, 0x3FE79800, -/**/ 0xB1CC5B7B, 0x3F3D535D, -/**/ 0x62BFE000, 0x3FD37726, -/**/ 0xAC53B023, 0xBD3E9436, -/**/ 0x00000000, 0x3FE79800, -/**/ 0xE0DA37A9, 0xBF15EEAC, -/**/ 0x216C5000, 0x3FD382F3, -/**/ 0x1D1A7F6D, 0xBD1061D2, -/**/ 0x00000000, 0x3FE79000, -/**/ 0x344E16D6, 0x3F37C21E, -/**/ 0xB38ED000, 0x3FD38EBD, -/**/ 0xE67D4CA0, 0x3D290582, -/**/ 0x00000000, 0x3FE79000, -/**/ 0x39C9E465, 0xBF25E69A, -/**/ 0x19F45000, 0x3FD39A86, -/**/ 0x937354F5, 0x3D18EE51, -/**/ 0x00000000, 0x3FE78800, -/**/ 0xC52640BC, 0x3F32640B, -/**/ 0x55694000, 0x3FD3A64C, -/**/ 0xBCD735D0, 0x3D37A71C, -/**/ 0x00000000, 0x3FE78800, -/**/ 0x2F6A09ED, 0xBF3037DE, -/**/ 0x66B9C000, 0x3FD3B210, -/**/ 0x9811560E, 0xBD33C1ED, -/**/ 0x00000000, 0x3FE78000, -/**/ 0x01781A72, 0x3F2A71DC, -/**/ 0x4EB15000, 0x3FD3BDD2, -/**/ 0x970E6ED9, 0xBD3257B4, -/**/ 0x00000000, 0x3FE78000, -/**/ 0xA9EEBFF4, 0xBF354996, -/**/ 0x0E1B2000, 0x3FD3C992, -/**/ 0xAA680B76, 0x3D141C28, -/**/ 0x00000000, 0x3FE77800, -/**/ 0xAC60D341, 0x3F208119, -/**/ 0xA5C1F000, 0x3FD3D54F, -/**/ 0xD9A395E3, 0x3D3C3E1C, -/**/ 0x00000000, 0x3FE77800, -/**/ 0x742E2DD0, 0xBF3A28AE, -/**/ 0x16701000, 0x3FD3E10B, -/**/ 0x145429C7, 0x3D3F3BCF, -/**/ 0x00000000, 0x3FE77000, -/**/ 0x36340177, 0x3F0BD584, -/**/ 0x60EF6000, 0x3FD3ECC4, -/**/ 0x27C1300F, 0xBD060286, -/**/ 0x00000000, 0x3FE77000, -/**/ 0x240C7174, 0xBF3ED55D, -/**/ 0x86094000, 0x3FD3F87B, -/**/ 0x54589889, 0xBD35DFD7, -/**/ 0x00000000, 0x3FE76800, -/**/ 0xAB277F45, 0xBEF18DE5, -/**/ 0x8686A000, 0x3FD40430, -/**/ 0x3049F7D3, 0x3D3F8EF4, -/**/ 0x00000000, 0x3FE76000, -/**/ 0x01D3C7B8, 0x3F3CB026, -/**/ 0x63303000, 0x3FD40FE3, -/**/ 0xE79F05C6, 0x3D3E5C5F, -/**/ 0x00000000, 0x3FE76000, -/**/ 0xA9D08664, 0xBF15E95B, -/**/ 0x1CCE1000, 0x3FD41B94, -/**/ 0x13E43FC9, 0xBD304690, -/**/ 0x00000000, 0x3FE75800, -/**/ 0x097CFD43, 0x3F3867A4, -/**/ 0xB427E000, 0x3FD42742, -/**/ 0x02B82675, 0xBD398727, -/**/ 0x00000000, 0x3FE75800, -/**/ 0xE8A9353E, 0xBF2353DF, -/**/ 0x2A04F000, 0x3FD432EF, -/**/ 0x931715AD, 0xBD3FB129, -/**/ 0x00000000, 0x3FE75000, -/**/ 0x4F13DC4A, 0x3F3450E6, -/**/ 0x7F2C1000, 0x3FD43E99, -/**/ 0x40C41A04, 0x3D1C3F72, -/**/ 0x00000000, 0x3FE75000, -/**/ 0xE8B1B4FC, 0xBF2B4FBF, -/**/ 0xB463C000, 0x3FD44A41, -/**/ 0xF37CF612, 0x3D31EE28, -/**/ 0x00000000, 0x3FE74800, -/**/ 0x7E458100, 0x3F306BB6, -/**/ 0xCA720000, 0x3FD455E7, -/**/ 0x36629AED, 0x3D1AD8C6, -/**/ 0x00000000, 0x3FE74800, -/**/ 0x1745D174, 0xBF31745D, -/**/ 0xC21C6000, 0x3FD4618B, -/**/ 0x484C84CC, 0xBD13D82F, -/**/ 0x00000000, 0x3FE74000, -/**/ 0x236DEC04, 0x3F296FBD, -/**/ 0x9C280000, 0x3FD46D2D, -/**/ 0x5F67F75A, 0x3D359B27, -/**/ 0x00000000, 0x3FE74000, -/**/ 0x3B304B87, 0xBF350F9D, -/**/ 0x5959B000, 0x3FD478CD, -/**/ 0xF0C8D098, 0x3D2EC89B, -/**/ 0x00000000, 0x3FE73800, -/**/ 0xA4EBDC70, 0x3F226A51, -/**/ 0xFA75C000, 0x3FD4846A, -/**/ 0xE3798DCE, 0xBD263EA2, -/**/ 0x00000000, 0x3FE73800, -/**/ 0xF00B9A78, 0xBF3879D5, -/**/ 0x80401000, 0x3FD49006, -/**/ 0xFE1A0F8C, 0xBD38BCCF, -/**/ 0x00000000, 0x3FE73000, -/**/ 0x5DAAD90C, 0x3F178D7F, -/**/ 0xEB7C1000, 0x3FD49B9F, -/**/ 0x58AB60D7, 0x3D3DAC1C, -/**/ 0x00000000, 0x3FE73000, -/**/ 0x783709C7, 0xBF3BB33C, -/**/ 0x3CED0000, 0x3FD4A737, -/**/ 0xEBF35449, 0xBD39A234, -/**/ 0x00000000, 0x3FE72800, -/**/ 0x265AD23A, 0x3F061274, -/**/ 0x75556000, 0x3FD4B2CC, -/**/ 0xC78BFA4B, 0xBD380FCB, -/**/ 0x00000000, 0x3FE72800, -/**/ 0xC90A1FD2, 0xBF3EBC05, -/**/ 0x95778000, 0x3FD4BE5F, -/**/ 0xCD9AD824, 0xBD3D7C92, -/**/ 0x00000000, 0x3FE72000, -/**/ 0x38017200, 0xBEC71FFA, -/**/ 0x9E153000, 0x3FD4C9F0, -/**/ 0x70E02DE0, 0xBD2E1DDE, -/**/ 0x00000000, 0x3FE71800, -/**/ 0x74A050E1, 0x3F3E6B99, -/**/ 0x8FEFE000, 0x3FD4D57F, -/**/ 0x7FD06868, 0x3D23F926, -/**/ 0x00000000, 0x3FE71800, -/**/ 0xB8BD1180, 0xBF077400, -/**/ 0x6BC8A000, 0x3FD4E10C, -/**/ 0x1636F061, 0x3CF8283F, -/**/ 0x00000000, 0x3FE71000, -/**/ 0xE3E0453A, 0x3F3BC36C, -/**/ 0x32600000, 0x3FD4EC97, -/**/ 0xAF04D104, 0x3D234D7A, -/**/ 0x00000000, 0x3FE71000, -/**/ 0x6935DDC5, 0xBF15FA98, -/**/ 0xE4764000, 0x3FD4F81F, -/**/ 0x434FF08D, 0xBD27FCF6, -/**/ 0x00000000, 0x3FE70800, -/**/ 0x7337CF08, 0x3F394B40, -/**/ 0x82CB2000, 0x3FD503A6, -/**/ 0xF16F9B5D, 0xBD2A68C8, -/**/ 0x00000000, 0x3FE70800, -/**/ 0xA835403A, 0xBF1F7B97, -/**/ 0x0E1E0000, 0x3FD50F2B, -/**/ 0x8C47B8D8, 0x3D3A0940, -/**/ 0x00000000, 0x3FE70000, -/**/ 0x5C0B8170, 0x3F3702E0, -/**/ 0x872E0000, 0x3FD51AAD, -/**/ 0xDB0A7CC1, 0xBD3F4BD8, -/**/ 0x00000000, 0x3FE70000, -/**/ 0x4F67A855, 0xBF241EE6, -/**/ 0xEEB99000, 0x3FD5262D, -/**/ 0x70894A01, 0xBD3E1B9F, -/**/ 0x00000000, 0x3FE6F800, -/**/ 0x221C0170, 0x3F34EA19, -/**/ 0x457EE000, 0x3FD531AC, -/**/ 0x7D931501, 0x3D3DF83B, -/**/ 0x00000000, 0x3FE6F800, -/**/ 0x5508CA5C, 0xBF282102, -/**/ 0x8C3BE000, 0x3FD53D28, -/**/ 0xEB6DFAC5, 0xBD111397, -/**/ 0x00000000, 0x3FE6F000, -/**/ 0x9300B793, 0x3F3300B7, -/**/ 0xC3ADD000, 0x3FD548A2, -/**/ 0x63081CF7, 0x3D23167E, -/**/ 0x00000000, 0x3FE6F000, -/**/ 0x005BB90F, 0xBF2BC486, -/**/ 0xEC91C000, 0x3FD5541A, -/**/ 0xDC72EEBA, 0xBCF816AA, -/**/ 0x00000000, 0x3FE6E800, -/**/ 0xC5A3A00B, 0x3F314688, -/**/ 0x07A44000, 0x3FD55F91, -/**/ 0x78DF4A62, 0xBD11E647, -/**/ 0x00000000, 0x3FE6E800, -/**/ 0xDA9C5AE1, 0xBF2F09D6, -/**/ 0x15A18000, 0x3FD56B05, -/**/ 0xBC4A23FC, 0x3D29247B, -/**/ 0x00000000, 0x3FE6E000, -/**/ 0x337C6CB1, 0x3F2F76B4, -/**/ 0x17456000, 0x3FD57677, -/**/ 0x9524D7CA, 0xBD364EAD, -/**/ 0x00000000, 0x3FE6E000, -/**/ 0xEDF4EC87, 0xBF30F8AC, -/**/ 0x0D4B3000, 0x3FD581E7, -/**/ 0xB12D8F1D, 0xBD1F31E1, -/**/ 0x00000000, 0x3FE6D800, -/**/ 0x6EAEF381, 0x3F2CBDF2, -/**/ 0xF86E0000, 0x3FD58D54, -/**/ 0x0A795215, 0x3D2791F3, -/**/ 0x00000000, 0x3FE6D800, -/**/ 0xB624BFF5, 0xBF323DB9, -/**/ 0xD9688000, 0x3FD598C0, -/**/ 0x70D96DA4, 0xBD385F49, -/**/ 0x00000000, 0x3FE6D000, -/**/ 0x1C860FB0, 0x3F2A6268, -/**/ 0xB0F4D000, 0x3FD5A42A, -/**/ 0x2DF7BA69, 0xBCDE63AF, -/**/ 0x00000000, 0x3FE6D000, -/**/ 0xB253BAE1, 0xBF335443, -/**/ 0x7FCCE000, 0x3FD5AF92, -/**/ 0xF5FFC77A, 0xBD1C032F, -/**/ 0x00000000, 0x3FE6C800, -/**/ 0xAB4294D4, 0x3F2863B1, -/**/ 0x46AA2000, 0x3FD5BAF8, -/**/ 0xF873FA41, 0xBD339AE8, -/**/ 0x00000000, 0x3FE6C800, -/**/ 0x87EAA6DF, 0xBF343C7C, -/**/ 0x0645A000, 0x3FD5C65C, -/**/ 0x0180EE65, 0xBD39FE06, -/**/ 0x00000000, 0x3FE6C000, -/**/ 0x16C16C17, 0x3F26C16C, -/**/ 0xBF581000, 0x3FD5D1BD, -/**/ 0xC9C7C238, 0xBD38D6BD, -/**/ 0x00000000, 0x3FE6C000, -/**/ 0x95C33E00, 0xBF34F695, -/**/ 0x7299C000, 0x3FD5DD1D, -/**/ 0x8815CE17, 0xBD38AF61, -/**/ 0x00000000, 0x3FE6B800, -/**/ 0xE7802D73, 0x3F257B34, -/**/ 0x20C29000, 0x3FD5E87B, -/**/ 0x8F7738FA, 0x3D3527D1, -/**/ 0x00000000, 0x3FE6B800, -/**/ 0xF4A5582C, 0xBF3582BF, -/**/ 0xCA8A2000, 0x3FD5F3D6, -/**/ 0x8E19CC75, 0x3D37AF84, -/**/ 0x00000000, 0x3FE6B000, -/**/ 0x31A3CFC7, 0x3F2490AA, -/**/ 0x70A79000, 0x3FD5FF30, -/**/ 0x9F105039, 0x3D2E9E43, -/**/ 0x00000000, 0x3FE6B000, -/**/ 0x77C30E5A, 0xBF35E12C, -/**/ 0x13D1A000, 0x3FD60A88, -/**/ 0xC879AF55, 0x3D36E9B9, -/**/ 0x00000000, 0x3FE6A800, -/**/ 0x94016A94, 0x3F24016A, -/**/ 0xB4BEC000, 0x3FD615DD, -/**/ 0x90BC04B2, 0x3D13C7CA, -/**/ 0x00000000, 0x3FE6A800, -/**/ 0xAD33D63F, 0xBF36120B, -/**/ 0x5424F000, 0x3FD62131, -/**/ 0x4AA68669, 0xBD3382FC, -/**/ 0x00000000, 0x3FE6A000, -/**/ 0x3729043E, 0x3F23CD15, -/**/ 0xF2B9C000, 0x3FD62C82, -/**/ 0xBD7C8A98, 0x3D3E54BD } }; - -static const union {int4 i[4350]; double x[2175]; } vj = { .i = { -/**/ 0x7D161C28, 0x3F46A400, -/**/ 0x20600000, 0xBF46A200, -/**/ 0xAA7623D9, 0x3D27DC4E, -/**/ 0xD596E639, 0x3F4693FA, -/**/ 0x4CE00000, 0xBF4691FD, -/**/ 0x29C3F0AD, 0x3D26B0CF, -/**/ 0x3219CE89, 0x3F4683F5, -/**/ 0x7B600000, 0xBF4681FA, -/**/ 0x95B9FDCC, 0x3D22B290, -/**/ 0x929ED397, 0x3F4673EF, -/**/ 0xABE00000, 0xBF4671F7, -/**/ 0xFA2F2D87, 0x3D17C727, -/**/ 0xF725F3E2, 0x3F4663E9, -/**/ 0xDE600000, 0xBF4661F4, -/**/ 0x6EDBFF1C, 0x3CF22ED3, -/**/ 0x5FAF2DE9, 0x3F4653E4, -/**/ 0x12E00000, 0xBF4651F2, -/**/ 0x157812BB, 0xBD144936, -/**/ 0xCC3A802B, 0x3F4643DE, -/**/ 0x49600000, 0xBF4641EF, -/**/ 0x60314E05, 0xBD2959CB, -/**/ 0x3CC7E927, 0x3F4633D9, -/**/ 0x81E00000, 0xBF4631EC, -/**/ 0xC3638E99, 0xBD35ABDA, -/**/ 0xB157675C, 0x3F4623D3, -/**/ 0xBC800000, 0xBF4621E9, -/**/ 0xC63F9A21, 0x3D3FF1D3, -/**/ 0x29E8F948, 0x3F4613CE, -/**/ 0xF9000000, 0xBF4611E6, -/**/ 0x71EEE611, 0x3D342D26, -/**/ 0xA67C9D6B, 0x3F4603C8, -/**/ 0x37800000, 0xBF4601E4, -/**/ 0x11A09689, 0x3D1C1C77, -/**/ 0x27125244, 0x3F45F3C3, -/**/ 0x78000000, 0xBF45F1E1, -/**/ 0xF7DC643C, 0xBD1DFD16, -/**/ 0xABAA1651, 0x3F45E3BD, -/**/ 0xBA800000, 0xBF45E1DE, -/**/ 0x91318A02, 0xBD376503, -/**/ 0x3443E812, 0x3F45D3B8, -/**/ 0xFF200000, 0xBF45D1DB, -/**/ 0xCE55DCDD, 0x3D3756E4, -/**/ 0xC0DFC606, 0x3F45C3B2, -/**/ 0x45A00000, 0xBF45C1D9, -/**/ 0x8F6F8FA0, 0x3D12D5CF, -/**/ 0x517DAEAB, 0x3F45B3AD, -/**/ 0x8E200000, 0xBF45B1D6, -/**/ 0x9B85DC2C, 0xBD2E90AB, -/**/ 0xE61DA081, 0x3F45A3A7, -/**/ 0xD8C00000, 0xBF45A1D3, -/**/ 0x3BF5AC54, 0x3D3B5E88, -/**/ 0x7EBF9A07, 0x3F4593A2, -/**/ 0x25400000, 0xBF4591D1, -/**/ 0x0C86DDB1, 0x3D12AC3A, -/**/ 0x1B6399BB, 0x3F45839D, -/**/ 0x73C00000, 0xBF4581CE, -/**/ 0x76830985, 0xBD3361C2, -/**/ 0xBC099E1C, 0x3F457397, -/**/ 0xC4600000, 0xBF4571CB, -/**/ 0xD062EBFF, 0x3D333915, -/**/ 0x60B1A5AA, 0x3F456392, -/**/ 0x16E00000, 0xBF4561C9, -/**/ 0x9CC4988F, 0xBD1E0DA0, -/**/ 0x095BAEE4, 0x3F45538D, -/**/ 0x6B800000, 0xBF4551C6, -/**/ 0x235BC18A, 0x3D3C69C4, -/**/ 0xB607B848, 0x3F454387, -/**/ 0xC2000000, 0xBF4541C3, -/**/ 0xF7737723, 0xBCEFCC99, -/**/ 0x66B5C056, 0x3F453382, -/**/ 0x1A800000, 0xBF4531C1, -/**/ 0x809CBCBB, 0xBD3FBAE2, -/**/ 0x1B65C58C, 0x3F45237D, -/**/ 0x75200000, 0xBF4521BE, -/**/ 0x194FEE63, 0x3CCAA5C8, -/**/ 0xD417C66A, 0x3F451377, -/**/ 0xD1C00000, 0xBF4511BB, -/**/ 0xE1CC7BBC, 0x3D3ED325, -/**/ 0x90CBC16E, 0x3F450372, -/**/ 0x30400000, 0xBF4501B9, -/**/ 0x68AB3742, 0xBD0F0298, -/**/ 0x5181B517, 0x3F44F36D, -/**/ 0x90E00000, 0xBF44F1B6, -/**/ 0x41E67AD9, 0x3D381BE1, -/**/ 0x16399FE6, 0x3F44E368, -/**/ 0xF3600000, 0xBF44E1B3, -/**/ 0x668D3662, 0xBD2A6E79, -/**/ 0xDEF38058, 0x3F44D362, -/**/ 0x58000000, 0xBF44D1B1, -/**/ 0x21F8B7C2, 0x3D284EA7, -/**/ 0xABAF54EC, 0x3F44C35D, -/**/ 0xBE800000, 0xBF44C1AE, -/**/ 0x7417D9C5, 0xBD3BC76D, -/**/ 0x7C6D1C22, 0x3F44B358, -/**/ 0x27200000, 0xBF44B1AC, -/**/ 0x16AAD1FC, 0xBD1409FD, -/**/ 0x512CD479, 0x3F44A353, -/**/ 0x91C00000, 0xBF44A1A9, -/**/ 0x98BC14FD, 0x3D30771E, -/**/ 0x29EE7C70, 0x3F44934E, -/**/ 0xFE400000, 0xBF4491A6, -/**/ 0x5CCB7232, 0xBD3B5993, -/**/ 0x06B21285, 0x3F448349, -/**/ 0x6CE00000, 0xBF4481A4, -/**/ 0x5512F9C2, 0xBD20E729, -/**/ 0xE7779538, 0x3F447343, -/**/ 0xDD800000, 0xBF4471A1, -/**/ 0x55B30899, 0x3D225436, -/**/ 0xCC3F0308, 0x3F44633E, -/**/ 0x50200000, 0xBF44619F, -/**/ 0x9E54E31F, 0x3D39807C, -/**/ 0xB5085A73, 0x3F445339, -/**/ 0xC4A00000, 0xBF44519C, -/**/ 0xD5804C0E, 0xBD376F6F, -/**/ 0xA1D399FA, 0x3F444334, -/**/ 0x3B400000, 0xBF44419A, -/**/ 0x6CDE6425, 0xBD234953, -/**/ 0x92A0C01A, 0x3F44332F, -/**/ 0xB3E00000, 0xBF443197, -/**/ 0xAAF6596F, 0x3D070E7B, -/**/ 0x876FCB54, 0x3F44232A, -/**/ 0x2E800000, 0xBF442195, -/**/ 0x4EC011F1, 0x3D2C49F8, -/**/ 0x8040BA25, 0x3F441325, -/**/ 0xAB200000, 0xBF441192, -/**/ 0xD8AAA7EB, 0x3D3825DC, -/**/ 0x7D138B0E, 0x3F440320, -/**/ 0x29A00000, 0xBF440190, -/**/ 0xFE0B73D6, 0xBD3F1A8D, -/**/ 0x7DE83C8C, 0x3F43F31B, -/**/ 0xAA400000, 0xBF43F18D, -/**/ 0xE46CA26B, 0xBD379B43, -/**/ 0x82BECD20, 0x3F43E316, -/**/ 0x2CE00000, 0xBF43E18B, -/**/ 0x6283780D, 0xBD315B44, -/**/ 0x8B973B49, 0x3F43D311, -/**/ 0xB1800000, 0xBF43D188, -/**/ 0x017589BE, 0xBD28B31E, -/**/ 0x98718584, 0x3F43C30C, -/**/ 0x38200000, 0xBF43C186, -/**/ 0x8FBB296E, 0xBD212A46, -/**/ 0xA94DAA52, 0x3F43B307, -/**/ 0xC0C00000, 0xBF43B183, -/**/ 0x045CBBD2, 0xBD183403, -/**/ 0xBE2BA832, 0x3F43A302, -/**/ 0x4B600000, 0xBF43A181, -/**/ 0xD7CC5936, 0xBD13009B, -/**/ 0xD70B7DA2, 0x3F4392FD, -/**/ 0xD8000000, 0xBF43917E, -/**/ 0xC1742279, 0xBD12B655, -/**/ 0xF3ED2921, 0x3F4382F8, -/**/ 0x66A00000, 0xBF43817C, -/**/ 0xEA83FAE8, 0xBD17512E, -/**/ 0x14D0A930, 0x3F4372F4, -/**/ 0xF7400000, 0xBF437179, -/**/ 0xBED65875, 0xBD206692, -/**/ 0x39B5FC4C, 0x3F4362EF, -/**/ 0x89E00000, 0xBF436177, -/**/ 0xD38FFE9E, 0xBD27931B, -/**/ 0x629D20F5, 0x3F4352EA, -/**/ 0x1E800000, 0xBF435175, -/**/ 0xE524208F, 0xBD309618, -/**/ 0x8F8615AA, 0x3F4342E5, -/**/ 0xB5200000, 0xBF434172, -/**/ 0xDD4C72C5, 0xBD3697E9, -/**/ 0xC070D8EB, 0x3F4332E0, -/**/ 0x4DC00000, 0xBF433170, -/**/ 0x5E6E12C3, 0xBD3DCE00, -/**/ 0xF55D6935, 0x3F4322DB, -/**/ 0xE8800000, 0xBF43216D, -/**/ 0x0AE9A8CE, 0x3D39C8A4, -/**/ 0x2E4BC509, 0x3F4312D7, -/**/ 0x85200000, 0xBF43116B, -/**/ 0xD1CD2FA1, 0x3D302D03, -/**/ 0x6B3BEAE5, 0x3F4302D2, -/**/ 0x23C00000, 0xBF430169, -/**/ 0xA3BADFD1, 0x3D15807D, -/**/ 0xAC2DD949, 0x3F42F2CD, -/**/ 0xC4600000, 0xBF42F166, -/**/ 0xF57F0504, 0xBD1A7422, -/**/ 0xF1218EB3, 0x3F42E2C8, -/**/ 0x67000000, 0xBF42E164, -/**/ 0x2F2C781C, 0xBD33C974, -/**/ 0x3A1709A3, 0x3F42D2C4, -/**/ 0x0BC00000, 0xBF42D162, -/**/ 0x851A1E61, 0x3D3DDBDD, -/**/ 0x870E4898, 0x3F42C2BF, -/**/ 0xB2600000, 0xBF42C15F, -/**/ 0xA14AA8FD, 0x3D2CA7D9, -/**/ 0xD8074A10, 0x3F42B2BA, -/**/ 0x5B000000, 0xBF42B15D, -/**/ 0xDDCDDFF5, 0xBD03022E, -/**/ 0x2D020C8C, 0x3F42A2B6, -/**/ 0x05A00000, 0xBF42A15B, -/**/ 0x0F9231A8, 0xBD343FBA, -/**/ 0x85FE8E8A, 0x3F4292B1, -/**/ 0xB2600000, 0xBF429158, -/**/ 0xA52C9CCF, 0x3D38B690, -/**/ 0xE2FCCE8A, 0x3F4282AC, -/**/ 0x61000000, 0xBF428156, -/**/ 0xC8CC82EB, 0x3D120E6A, -/**/ 0x43FCCB0A, 0x3F4272A8, -/**/ 0x11A00000, 0xBF427154, -/**/ 0x792E6C51, 0xBD30D79B, -/**/ 0xA8FE8289, 0x3F4262A3, -/**/ 0xC4600000, 0xBF426151, -/**/ 0x91F7F7AA, 0x3D38A5EE, -/**/ 0x1201F387, 0x3F42529F, -/**/ 0x79000000, 0xBF42514F, -/**/ 0x46C2E8BA, 0x3CEFA728, -/**/ 0x7F071C84, 0x3F42429A, -/**/ 0x2FA00000, 0xBF42414D, -/**/ 0xFA447A17, 0xBD37D0BA, -/**/ 0xF00DFBFD, 0x3F423295, -/**/ 0xE8600000, 0xBF42314A, -/**/ 0x94AF3FED, 0x3D2C7A24, -/**/ 0x65169072, 0x3F422291, -/**/ 0xA3000000, 0xBF422148, -/**/ 0x050CEA04, 0xBD29B0BD, -/**/ 0xDE20D863, 0x3F42128C, -/**/ 0x5FC00000, 0xBF421146, -/**/ 0x0C3035EB, 0x3D36EFF3, -/**/ 0x5B2CD24E, 0x3F420288, -/**/ 0x1E600000, 0xBF420144, -/**/ 0x73569B27, 0xBD19A3E2, -/**/ 0xDC3A7CB2, 0x3F41F283, -/**/ 0xDF200000, 0xBF41F141, -/**/ 0xEEB67715, 0x3D3B1DDE, -/**/ 0x6149D610, 0x3F41E27F, -/**/ 0xA1C00000, 0xBF41E13F, -/**/ 0x94F49154, 0xBD11EA17, -/**/ 0xEA5ADCE5, 0x3F41D27A, -/**/ 0x66800000, 0xBF41D13D, -/**/ 0x52DD9D37, 0x3D3ACED9, -/**/ 0x776D8FB1, 0x3F41C276, -/**/ 0x2D200000, 0xBF41C13B, -/**/ 0xF72D8EEB, 0xBD1C140B, -/**/ 0x0881ECF4, 0x3F41B272, -/**/ 0xF5E00000, 0xBF41B138, -/**/ 0x939583E1, 0x3D360AE5, -/**/ 0x9D97F32C, 0x3F41A26D, -/**/ 0xC0800000, 0xBF41A136, -/**/ 0x1D246C7C, 0xBD2C00D9, -/**/ 0x36AFA0D9, 0x3F419269, -/**/ 0x8D400000, 0xBF419134, -/**/ 0x0B955CFB, 0x3D29B40E, -/**/ 0xD3C8F479, 0x3F418264, -/**/ 0x5BE00000, 0xBF418132, -/**/ 0x45A6C249, 0xBD3964BF, -/**/ 0x74E3EC8D, 0x3F417260, -/**/ 0x2CA00000, 0xBF417130, -/**/ 0xF3363612, 0xBCE777E0, -/**/ 0x1A008792, 0x3F41625C, -/**/ 0xFF600000, 0xBF41612D, -/**/ 0x28DE8296, 0x3D36D608, -/**/ 0xC31EC409, 0x3F415257, -/**/ 0xD4000000, 0xBF41512B, -/**/ 0x4BB1B788, 0xBD32AE69, -/**/ 0x703EA071, 0x3F414253, -/**/ 0xAAC00000, 0xBF414129, -/**/ 0x170ECD8C, 0x3D05BF68, -/**/ 0x21601B48, 0x3F41324F, -/**/ 0x83800000, 0xBF413127, -/**/ 0x7C653BFC, 0x3D370A0B, -/**/ 0xD683330E, 0x3F41224A, -/**/ 0x5E200000, 0xBF412125, -/**/ 0x77BBBEBF, 0xBD35B70D, -/**/ 0x8FA7E642, 0x3F411246, -/**/ 0x3AE00000, 0xBF411123, -/**/ 0x93ABC1CD, 0xBD0C52EB, -/**/ 0x4CCE3363, 0x3F410242, -/**/ 0x19A00000, 0xBF410121, -/**/ 0xE5C6F4C7, 0x3D2B2237, -/**/ 0x0DF618F1, 0x3F40F23E, -/**/ 0xFA600000, 0xBF40F11E, -/**/ 0x1E9A50AD, 0x3D3D9C5F, -/**/ 0xD31F956A, 0x3F40E239, -/**/ 0xDD000000, 0xBF40E11C, -/**/ 0x8965F0DA, 0xBD336793, -/**/ 0x9C4AA74E, 0x3F40D235, -/**/ 0xC1C00000, 0xBF40D11A, -/**/ 0x7E49E231, 0xBD15E6EE, -/**/ 0x69774D1D, 0x3F40C231, -/**/ 0xA8800000, 0xBF40C118, -/**/ 0x04FD621C, 0x3D1D9B9D, -/**/ 0x3AA58554, 0x3F40B22D, -/**/ 0x91400000, 0xBF40B116, -/**/ 0x7DD9EED3, 0x3D333B55, -/**/ 0x0FD54E74, 0x3F40A229, -/**/ 0x7C000000, 0xBF40A114, -/**/ 0x7AA78478, 0x3D3E048F, -/**/ 0xE906A6FC, 0x3F409224, -/**/ 0x68A00000, 0xBF409112, -/**/ 0x644DDE88, 0xBD383C6A, -/**/ 0xC6398D6B, 0x3F408220, -/**/ 0x57600000, 0xBF408110, -/**/ 0x76B8C83A, 0xBD2F0D2F, -/**/ 0xA76E0040, 0x3F40721C, -/**/ 0x48200000, 0xBF40710E, -/**/ 0x9CE99FD3, 0xBD1F63E0, -/**/ 0x8CA3FDFB, 0x3F406218, -/**/ 0x3AE00000, 0xBF40610C, -/**/ 0x4FE774F2, 0xBCF328B4, -/**/ 0x75DB851A, 0x3F405214, -/**/ 0x2FA00000, 0xBF40510A, -/**/ 0x3782BCD4, 0x3D11B6BD, -/**/ 0x6314941D, 0x3F404210, -/**/ 0x26600000, 0xBF404108, -/**/ 0xE7183792, 0x3D22116F, -/**/ 0x544F2983, 0x3F40320C, -/**/ 0x1F200000, 0xBF403106, -/**/ 0x1B995B3D, 0x3D293F1E, -/**/ 0x498B43CB, 0x3F402208, -/**/ 0x19E00000, 0xBF402104, -/**/ 0xFC162630, 0x3D2E6669, -/**/ 0x42C8E175, 0x3F401204, -/**/ 0x16A00000, 0xBF401102, -/**/ 0x254FC9F8, 0x3D30C4AA, -/**/ 0x40080100, 0x3F400200, -/**/ 0x15600000, 0xBF400100, -/**/ 0xE4431F92, 0x3D3154EE, -/**/ 0x829141D6, 0x3F3FE3F8, -/**/ 0x2C400000, 0xBF3FE1FC, -/**/ 0x9B2D30FB, 0x3D30E503, -/**/ 0x8D157F6B, 0x3F3FC3F0, -/**/ 0x31C00000, 0xBF3FC1F8, -/**/ 0x53EBD670, 0x3D2EEBD1, -/**/ 0x9F9CB7BC, 0x3F3FA3E8, -/**/ 0x3B400000, 0xBF3FA1F4, -/**/ 0xE04A16E0, 0x3D2A113C, -/**/ 0xBA26E7CA, 0x3F3F83E0, -/**/ 0x48C00000, 0xBF3F81F0, -/**/ 0x99C43E34, 0x3D233C4A, -/**/ 0xDCB40C91, 0x3F3F63D8, -/**/ 0x5A400000, 0xBF3F61EC, -/**/ 0x7BD210C1, 0x3D14DDF6, -/**/ 0x07442311, 0x3F3F43D1, -/**/ 0x6FC00000, 0xBF3F41E8, -/**/ 0x9E4B51C8, 0xBCC52C1D, -/**/ 0x39D72849, 0x3F3F23C9, -/**/ 0x89400000, 0xBF3F21E4, -/**/ 0x8EA8C754, 0xBD1A196F, -/**/ 0x746D1936, 0x3F3F03C1, -/**/ 0xA6C00000, 0xBF3F01E0, -/**/ 0xF95AF98D, 0xBD2BB719, -/**/ 0xB705F2D8, 0x3F3EE3B9, -/**/ 0xC8400000, 0xBF3EE1DC, -/**/ 0x28FFD598, 0xBD3628EB, -/**/ 0x01A1B22C, 0x3F3EC3B2, -/**/ 0xEDC00000, 0xBF3EC1D8, -/**/ 0x0BBAC8F8, 0xBD3F6D76, -/**/ 0x54405432, 0x3F3EA3AA, -/**/ 0x17800000, 0xBF3EA1D5, -/**/ 0xB7A7EE0D, 0x3D3657D2, -/**/ 0xAEE1D5E8, 0x3F3E83A2, -/**/ 0x45000000, 0xBF3E81D1, -/**/ 0xFA9CCC78, 0x3D264FDE, -/**/ 0x1186344C, 0x3F3E639B, -/**/ 0x76800000, 0xBF3E61CD, -/**/ 0xE02EF455, 0xBCEF83EB, -/**/ 0x7C2D6C5E, 0x3F3E4393, -/**/ 0xAC000000, 0xBF3E41C9, -/**/ 0x03C3E129, 0xBD2C26B3, -/**/ 0xEED77B1B, 0x3F3E238B, -/**/ 0xE5800000, 0xBF3E21C5, -/**/ 0x904D773D, 0xBD3C1CBE, -/**/ 0x69845D83, 0x3F3E0384, -/**/ 0x23400000, 0xBF3E01C2, -/**/ 0xD0615454, 0x3D34E8B1, -/**/ 0xEC341093, 0x3F3DE37C, -/**/ 0x64C00000, 0xBF3DE1BE, -/**/ 0xE9BE933E, 0x3D13F7DF, -/**/ 0x76E6914B, 0x3F3DC375, -/**/ 0xAA400000, 0xBF3DC1BA, -/**/ 0x707B004A, 0xBD27B7D7, -/**/ 0x099BDCA9, 0x3F3DA36E, -/**/ 0xF3C00000, 0xBF3DA1B6, -/**/ 0xEE2141C3, 0xBD3DA3F8, -/**/ 0xA453EFAC, 0x3F3D8366, -/**/ 0x41800000, 0xBF3D81B3, -/**/ 0x63D21825, 0x3D2F4DA1, -/**/ 0x470EC752, 0x3F3D635F, -/**/ 0x93000000, 0xBF3D61AF, -/**/ 0xFAD0B844, 0xBD0FD473, -/**/ 0xF1CC609A, 0x3F3D4357, -/**/ 0xE8800000, 0xBF3D41AB, -/**/ 0x298657C2, 0xBD388716, -/**/ 0xA48CB882, 0x3F3D2350, -/**/ 0x42400000, 0xBF3D21A8, -/**/ 0x0B68711A, 0x3D32023A, -/**/ 0x5F4FCC0A, 0x3F3D0349, -/**/ 0x9FC00000, 0xBF3D01A4, -/**/ 0x23A704B0, 0xBD117676, -/**/ 0x22159830, 0x3F3CE342, -/**/ 0x01400000, 0xBF3CE1A1, -/**/ 0x8F391F09, 0xBD3BA59C, -/**/ 0xECDE19F1, 0x3F3CC33A, -/**/ 0x67000000, 0xBF3CC19D, -/**/ 0x9EBBF706, 0x3D28567A, -/**/ 0xBFA94E4E, 0x3F3CA333, -/**/ 0xD0800000, 0xBF3CA199, -/**/ 0x2D41F1CC, 0xBD29D41F, -/**/ 0x9A773245, 0x3F3C832C, -/**/ 0x3E400000, 0xBF3C8196, -/**/ 0x14ED5134, 0x3D391B7D, -/**/ 0x7D47C2D4, 0x3F3C6325, -/**/ 0xAFC00000, 0xBF3C6192, -/**/ 0x83403B5B, 0xBCFC31C5, -/**/ 0x681AFCFA, 0x3F3C431E, -/**/ 0x25400000, 0xBF3C418F, -/**/ 0x88A1FFF3, 0xBD3D84DB, -/**/ 0x5AF0DDB6, 0x3F3C2317, -/**/ 0x9F000000, 0xBF3C218B, -/**/ 0x6298A63B, 0x3D175CFF, -/**/ 0x55C96207, 0x3F3C0310, -/**/ 0x1C800000, 0xBF3C0188, -/**/ 0xDFB8E489, 0xBD37ADC9, -/**/ 0x58A486EA, 0x3F3BE309, -/**/ 0x9E400000, 0xBF3BE184, -/**/ 0x45069C64, 0x3D23DA0F, -/**/ 0x6382495F, 0x3F3BC302, -/**/ 0x23C00000, 0xBF3BC181, -/**/ 0x4CC2EFE0, 0xBD35574B, -/**/ 0x7662A665, 0x3F3BA2FB, -/**/ 0xAD800000, 0xBF3BA17D, -/**/ 0x4BED0B89, 0x3D250C7B, -/**/ 0x91459AFA, 0x3F3B82F4, -/**/ 0x3B000000, 0xBF3B817A, -/**/ 0x322E5605, 0xBD36795D, -/**/ 0xB42B241D, 0x3F3B62ED, -/**/ 0xCCC00000, 0xBF3B6176, -/**/ 0xF6413886, 0x3D1EAB91, -/**/ 0xDF133ECC, 0x3F3B42E6, -/**/ 0x62400000, 0xBF3B4173, -/**/ 0xF86BE5B5, 0xBD3B0BFC, -/**/ 0x11FDE807, 0x3F3B22E0, -/**/ 0xFC000000, 0xBF3B216F, -/**/ 0xDDE8D701, 0x3CF62FEB, -/**/ 0x4CEB1CCC, 0x3F3B02D9, -/**/ 0x99C00000, 0xBF3B016C, -/**/ 0xF210FD9E, 0x3D3CF8D7, -/**/ 0x8FDADA1A, 0x3F3AE2D2, -/**/ 0x3B400000, 0xBF3AE169, -/**/ 0x1526CFB0, 0xBD2092E2, -/**/ 0xDACD1CEF, 0x3F3AC2CB, -/**/ 0xE1000000, 0xBF3AC165, -/**/ 0x18D261D5, 0x3D319D24, -/**/ 0x2DC1E24A, 0x3F3AA2C5, -/**/ 0x8A800000, 0xBF3AA162, -/**/ 0x533CC8EC, 0xBD355268, -/**/ 0x88B9272B, 0x3F3A82BE, -/**/ 0x38400000, 0xBF3A815F, -/**/ 0x0AFE6139, 0x3D074750, -/**/ 0xEBB2E88F, 0x3F3A62B7, -/**/ 0xEA000000, 0xBF3A615B, -/**/ 0x6668AD57, 0x3D3A501B, -/**/ 0x56AF2375, 0x3F3A42B1, -/**/ 0x9F800000, 0xBF3A4158, -/**/ 0xA98381BD, 0xBD2E37A7, -/**/ 0xC9ADD4DD, 0x3F3A22AA, -/**/ 0x59400000, 0xBF3A2155, -/**/ 0x7B82F9AC, 0x3D1A9872, -/**/ 0x44AEF9C5, 0x3F3A02A4, -/**/ 0x17000000, 0xBF3A0152, -/**/ 0x0FF040AD, 0x3D3B96ED, -/**/ 0xC7B28F2C, 0x3F39E29D, -/**/ 0xD8800000, 0xBF39E14E, -/**/ 0x33534BD7, 0xBD304862, -/**/ 0x52B89211, 0x3F39C297, -/**/ 0x9E400000, 0xBF39C14B, -/**/ 0x17AF009B, 0x3D084979, -/**/ 0xE5C0FF72, 0x3F39A290, -/**/ 0x68000000, 0xBF39A148, -/**/ 0x604B64C9, 0x3D358CA1, -/**/ 0x80CBD44E, 0x3F39828A, -/**/ 0x35800000, 0xBF398145, -/**/ 0x2E334404, 0xBD38BD0B, -/**/ 0x23D90DA4, 0x3F396284, -/**/ 0x07400000, 0xBF396142, -/**/ 0xEF1B1C68, 0xBD1F4B58, -/**/ 0xCEE8A873, 0x3F39427D, -/**/ 0xDD000000, 0xBF39413E, -/**/ 0x07E010EC, 0x3D209881, -/**/ 0x81FAA1B9, 0x3F392277, -/**/ 0xB6C00000, 0xBF39213B, -/**/ 0x5CF03181, 0x3D37A139, -/**/ 0x3D0EF676, 0x3F390271, -/**/ 0x94400000, 0xBF390138, -/**/ 0x65276B0B, 0xBD39D2EB, -/**/ 0x0025A3A8, 0x3F38E26B, -/**/ 0x76000000, 0xBF38E135, -/**/ 0xEE3023F6, 0xBD281E5A, -/**/ 0xCB3EA64F, 0x3F38C264, -/**/ 0x5BC00000, 0xBF38C132, -/**/ 0x3F9A4B53, 0x3CEDAE6E, -/**/ 0x9E59FB68, 0x3F38A25E, -/**/ 0x45800000, 0xBF38A12F, -/**/ 0x412B648E, 0x3D2A47EF, -/**/ 0x79779FF3, 0x3F388258, -/**/ 0x33400000, 0xBF38812C, -/**/ 0x5ED0D8F2, 0x3D38955F, -/**/ 0x5C9790EE, 0x3F386252, -/**/ 0x24C00000, 0xBF386129, -/**/ 0x09939374, 0xBD3CBD55, -/**/ 0x47B9CB5A, 0x3F38424C, -/**/ 0x1A800000, 0xBF384126, -/**/ 0x4F399186, 0xBD32D325, -/**/ 0x3ADE4C33, 0x3F382246, -/**/ 0x14400000, 0xBF382123, -/**/ 0x524688EB, 0xBD235622, -/**/ 0x3605107A, 0x3F380240, -/**/ 0x12000000, 0xBF380120, -/**/ 0xEB2F3DDC, 0xBCF44184, -/**/ 0x392E152C, 0x3F37E23A, -/**/ 0x13C00000, 0xBF37E11D, -/**/ 0x2153D1B8, 0x3D198B16, -/**/ 0x4459574A, 0x3F37C234, -/**/ 0x19800000, 0xBF37C11A, -/**/ 0x47A3C923, 0x3D2A9511, -/**/ 0x5786D3D1, 0x3F37A22E, -/**/ 0x23400000, 0xBF37A117, -/**/ 0x4B4128D9, 0x3D337431, -/**/ 0x72B687C1, 0x3F378228, -/**/ 0x31000000, 0xBF378114, -/**/ 0xC5BFE9E8, 0x3D38E0BF, -/**/ 0x95E87019, 0x3F376222, -/**/ 0x42C00000, 0xBF376111, -/**/ 0x5A0B2CE9, 0x3D3D9134, -/**/ 0xC11C89D8, 0x3F37421C, -/**/ 0x58400000, 0xBF37410E, -/**/ 0xB1802C40, 0xBD3E7970, -/**/ 0xF452D1FB, 0x3F372216, -/**/ 0x72000000, 0xBF37210B, -/**/ 0x16E562C9, 0xBD3B3E2F, -/**/ 0x2F8B4583, 0x3F370211, -/**/ 0x8FC00000, 0xBF370108, -/**/ 0x9087DACD, 0xBD38BC06, -/**/ 0x72C5E16F, 0x3F36E20B, -/**/ 0xB1800000, 0xBF36E105, -/**/ 0xD92B1B21, 0xBD36F1F6, -/**/ 0xBE02A2BC, 0x3F36C205, -/**/ 0xD7400000, 0xBF36C102, -/**/ 0xABF2CD23, 0xBD35DEFF, -/**/ 0x1141866B, 0x3F36A200, -/**/ 0x01000000, 0xBF36A100, -/**/ 0xC462BC85, 0xBD358220, -/**/ 0x6C828979, 0x3F3681FA, -/**/ 0x2EC00000, 0xBF3680FD, -/**/ 0xDE5ED723, 0xBD35DA59, -/**/ 0xCFC5A8E7, 0x3F3661F4, -/**/ 0x60800000, 0xBF3660FA, -/**/ 0xB62B2CD1, 0xBD36E6AA, -/**/ 0x3B0AE1B2, 0x3F3641EF, -/**/ 0x96400000, 0xBF3640F7, -/**/ 0x086BEF29, 0xBD38A613, -/**/ 0xAE5230DA, 0x3F3621E9, -/**/ 0xD0000000, 0xBF3620F4, -/**/ 0x9225715D, 0xBD3B1792, -/**/ 0x299B935F, 0x3F3601E4, -/**/ 0x0DC00000, 0xBF3600F2, -/**/ 0x10BC2805, 0xBD3E3A29, -/**/ 0xACE7063E, 0x3F35E1DE, -/**/ 0x4FC00000, 0xBF35E0EF, -/**/ 0xBE0B570D, 0x3D3DF329, -/**/ 0x38348676, 0x3F35C1D9, -/**/ 0x95800000, 0xBF35C0EC, -/**/ 0x1C0C5502, 0x3D397166, -/**/ 0xCB841108, 0x3F35A1D3, -/**/ 0xDF400000, 0xBF35A0E9, -/**/ 0x4AC1FA2D, 0x3D34418C, -/**/ 0x66D5A2F1, 0x3F3581CE, -/**/ 0x2D000000, 0xBF3580E7, -/**/ 0x168E9C6E, 0x3D2CC939, -/**/ 0x0A293931, 0x3F3561C9, -/**/ 0x7EC00000, 0xBF3560E4, -/**/ 0x795CE154, 0x3D1F6E5C, -/**/ 0xB57ED0C7, 0x3F3541C3, -/**/ 0xD4800000, 0xBF3540E1, -/**/ 0x898FEE67, 0x3CE4EF88, -/**/ 0x68D666B1, 0x3F3521BE, -/**/ 0x2E400000, 0xBF3520DF, -/**/ 0x0B78D65E, 0xBD1CDACF, -/**/ 0x242FF7EF, 0x3F3501B9, -/**/ 0x8C000000, 0xBF3500DC, -/**/ 0x6F1CBFB8, 0xBD2F7BF1, -/**/ 0xE78B8180, 0x3F34E1B3, -/**/ 0xEDC00000, 0xBF34E0D9, -/**/ 0x5A899820, 0xBD38ED52, -/**/ 0xB2E90063, 0x3F34C1AE, -/**/ 0x53C00000, 0xBF34C0D7, -/**/ 0x930A694E, 0x3D3D3C3F, -/**/ 0x86487196, 0x3F34A1A9, -/**/ 0xBD800000, 0xBF34A0D4, -/**/ 0x4FA7CCCB, 0x3D32BFBD, -/**/ 0x61A9D219, 0x3F3481A4, -/**/ 0x2B400000, 0xBF3480D2, -/**/ 0x65A26E32, 0x3D1E789C, -/**/ 0x450D1EEB, 0x3F34619F, -/**/ 0x9D000000, 0xBF3460CF, -/**/ 0x47E500B5, 0xBD109E0B, -/**/ 0x3072550B, 0x3F34419A, -/**/ 0x12C00000, 0xBF3440CD, -/**/ 0x3523FAE9, 0xBD309040, -/**/ 0x23D97178, 0x3F342195, -/**/ 0x8C800000, 0xBF3420CA, -/**/ 0xD31DE7C2, 0xBD3D9B10, -/**/ 0x1F427131, 0x3F340190, -/**/ 0x0A800000, 0xBF3400C8, -/**/ 0x90B287C4, 0x3D34B90B, -/**/ 0x22AD5135, 0x3F33E18B, -/**/ 0x8C400000, 0xBF33E0C5, -/**/ 0xCA1B0FC2, 0x3D19B454, -/**/ 0x2E1A0E83, 0x3F33C186, -/**/ 0x12000000, 0xBF33C0C3, -/**/ 0x638FC1F4, 0xBD20FBE7, -/**/ 0x4188A61A, 0x3F33A181, -/**/ 0x9BC00000, 0xBF33A0C0, -/**/ 0xE0C03290, 0xBD38070E, -/**/ 0x5CF914F9, 0x3F33817C, -/**/ 0x29C00000, 0xBF3380BE, -/**/ 0xE0B6E5F5, 0x3D37D2C3, -/**/ 0x806B5820, 0x3F336177, -/**/ 0xBB800000, 0xBF3360BB, -/**/ 0x35598794, 0x3D1C4213, -/**/ 0xABDF6C8D, 0x3F334172, -/**/ 0x51400000, 0xBF3340B9, -/**/ 0xC111C569, 0xBD249997, -/**/ 0xDF554F40, 0x3F33216D, -/**/ 0xEB000000, 0xBF3320B6, -/**/ 0xEEEE28E2, 0xBD3C442D, -/**/ 0x1ACCFD37, 0x3F330169, -/**/ 0x89000000, 0xBF3300B4, -/**/ 0xDBBF316D, 0x3D312B5E, -/**/ 0x5E467372, 0x3F32E164, -/**/ 0x2AC00000, 0xBF32E0B2, -/**/ 0x7484E6E1, 0xBCFFD254, -/**/ 0xA9C1AEF0, 0x3F32C15F, -/**/ 0xD0800000, 0xBF32C0AF, -/**/ 0x1F2C3F9D, 0xBD35BCBA, -/**/ 0xFD3EACAF, 0x3F32A15A, -/**/ 0x7A800000, 0xBF32A0AD, -/**/ 0x8C8BAA61, 0x3D35EDA0, -/**/ 0x58BD69B0, 0x3F328156, -/**/ 0x28400000, 0xBF3280AB, -/**/ 0x3F79FE5E, 0x3CF02EAF, -/**/ 0xBC3DE2F1, 0x3F326151, -/**/ 0xDA000000, 0xBF3260A8, -/**/ 0xB1304AA8, 0xBD347BDA, -/**/ 0x27C01572, 0x3F32414D, -/**/ 0x90000000, 0xBF3240A6, -/**/ 0xD46BE359, 0x3D35724F, -/**/ 0x9B43FE30, 0x3F322148, -/**/ 0x49C00000, 0xBF3220A4, -/**/ 0x43BF90C9, 0xBCF31954, -/**/ 0x16C99A2D, 0x3F320144, -/**/ 0x07800000, 0xBF3200A2, -/**/ 0xC4901E30, 0xBD386689, -/**/ 0x9A50E666, 0x3F31E13F, -/**/ 0xC9800000, 0xBF31E09F, -/**/ 0x134E34BF, 0x3D2FA8E5, -/**/ 0x25D9DFDB, 0x3F31C13B, -/**/ 0x8F400000, 0xBF31C09D, -/**/ 0x477D87DF, 0xBD20FF40, -/**/ 0xB964838C, 0x3F31A136, -/**/ 0x59400000, 0xBF31A09B, -/**/ 0x68B5B77B, 0x3D3E9E3E, -/**/ 0x54F0CE76, 0x3F318132, -/**/ 0x27000000, 0xBF318099, -/**/ 0x906F8A53, 0x3D14BC39, -/**/ 0xF87EBD9A, 0x3F31612D, -/**/ 0xF8C00000, 0xBF316096, -/**/ 0xFCD50724, 0xBD34CC2F, -/**/ 0xA40E4DF7, 0x3F314129, -/**/ 0xCEC00000, 0xBF314094, -/**/ 0x7A3A1B8D, 0x3D30AD83, -/**/ 0x579F7C8B, 0x3F312125, -/**/ 0xA8800000, 0xBF312092, -/**/ 0x057F5C66, 0xBD24C5AE, -/**/ 0x13324657, 0x3F310121, -/**/ 0x86800000, 0xBF310090, -/**/ 0xBFD488E0, 0x3D3A03C0, -/**/ 0xD6C6A858, 0x3F30E11C, -/**/ 0x68400000, 0xBF30E08E, -/**/ 0x56935D63, 0xBD00EDA8, -/**/ 0xA25C9F8F, 0x3F30C118, -/**/ 0x4E000000, 0xBF30C08C, -/**/ 0x2FDDD1CE, 0xBD3EC638, -/**/ 0x75F428FB, 0x3F30A114, -/**/ 0x38000000, 0xBF30A08A, -/**/ 0x0CA3DCBE, 0x3D102CDE, -/**/ 0x518D419B, 0x3F308110, -/**/ 0x25C00000, 0xBF308088, -/**/ 0xBFA78921, 0xBD39A865, -/**/ 0x3527E66D, 0x3F30610C, -/**/ 0x17C00000, 0xBF306086, -/**/ 0x72CE37BD, 0x3D203FE0, -/**/ 0x20C41472, 0x3F304108, -/**/ 0x0D800000, 0xBF304084, -/**/ 0x6054C3FA, 0xBD369AC6, -/**/ 0x1461C8A9, 0x3F302104, -/**/ 0x07800000, 0xBF302082, -/**/ 0x4836293A, 0x3D2450ED, -/**/ 0x10010010, 0x3F300100, -/**/ 0x05400000, 0xBF300080, -/**/ 0x88B3357C, 0xBD359558, -/**/ 0x27436F4F, 0x3F2FC1F8, -/**/ 0x0E800000, 0xBF2FC0FC, -/**/ 0x92ECD4D1, 0x3D245998, -/**/ 0x3E87D8DC, 0x3F2F81F0, -/**/ 0x1A000000, 0xBF2F80F8, -/**/ 0xB592170A, 0xBD36901A, -/**/ 0x65CF36C6, 0x3F2F41E8, -/**/ 0x2E000000, 0xBF2F40F4, -/**/ 0x53524603, 0x3D2069E5, -/**/ 0x9D19830B, 0x3F2F01E0, -/**/ 0x49800000, 0xBF2F00F0, -/**/ 0x69C22240, 0xBD39830B, -/**/ 0xE466B7AB, 0x3F2EC1D8, -/**/ 0x6D800000, 0xBF2EC0EC, -/**/ 0xFB871BBA, 0x3D1123AC, -/**/ 0x3BB6CEA4, 0x3F2E81D1, -/**/ 0x99000000, 0xBF2E80E8, -/**/ 0x2E158AF6, 0xBD3E6629, -/**/ 0xA309C1F4, 0x3F2E41C9, -/**/ 0xCD000000, 0xBF2E40E4, -/**/ 0x2B29884E, 0xBCF8F488, -/**/ 0x1A5F8B99, 0x3F2E01C2, -/**/ 0x09000000, 0xBF2E00E1, -/**/ 0x6EA006C6, 0x3D3ACE8D, -/**/ 0xA1B82593, 0x3F2DC1BA, -/**/ 0x4C800000, 0xBF2DC0DD, -/**/ 0x59D0B687, 0xBD22974E, -/**/ 0x391389E0, 0x3F2D81B3, -/**/ 0x98800000, 0xBF2D80D9, -/**/ 0xD7897CAD, 0x3D322319, -/**/ 0xE071B27F, 0x3F2D41AB, -/**/ 0xEC000000, 0xBF2D40D5, -/**/ 0x57954C6E, 0xBD32E42F, -/**/ 0x97D2996E, 0x3F2D01A4, -/**/ 0x48000000, 0xBF2D00D2, -/**/ 0xC741610E, 0x3D1E7DF5, -/**/ 0x5F3638AB, 0x3F2CC19D, -/**/ 0xAB800000, 0xBF2CC0CE, -/**/ 0xA0909C5A, 0xBD3E50DF, -/**/ 0x369C8A37, 0x3F2C8196, -/**/ 0x17800000, 0xBF2C80CB, -/**/ 0x8D8D1C8F, 0xBD12D119, -/**/ 0x1E05880E, 0x3F2C418F, -/**/ 0x8B800000, 0xBF2C40C7, -/**/ 0x544D2574, 0x3D347649, -/**/ 0x15712C30, 0x3F2C0188, -/**/ 0x07000000, 0xBF2C00C4, -/**/ 0x4EEA9E68, 0xBD32D030, -/**/ 0x1CDF709C, 0x3F2BC181, -/**/ 0x8B000000, 0xBF2BC0C0, -/**/ 0x74A84109, 0x3D15E533, -/**/ 0x34504F50, 0x3F2B817A, -/**/ 0x17000000, 0xBF2B80BD, -/**/ 0x025FBF68, 0x3D3D53C1, -/**/ 0x5BC3C24B, 0x3F2B4173, -/**/ 0xAA800000, 0xBF2B40B9, -/**/ 0x6BAA2FA8, 0xBD267FA7, -/**/ 0x9339C38C, 0x3F2B016C, -/**/ 0x46800000, 0xBF2B00B6, -/**/ 0xBB3FDE1E, 0x3D277F1D, -/**/ 0xDAB24D11, 0x3F2AC165, -/**/ 0xEA000000, 0xBF2AC0B2, -/**/ 0x1A8CDBE2, 0xBD3DAD17, -/**/ 0x322D58D9, 0x3F2A815F, -/**/ 0x96000000, 0xBF2A80AF, -/**/ 0xD81CF36E, 0xBD1E1315, -/**/ 0x99AAE0E3, 0x3F2A4158, -/**/ 0x4A000000, 0xBF2A40AC, -/**/ 0xE649E7B4, 0x3D2C7307, -/**/ 0x112ADF2D, 0x3F2A0152, -/**/ 0x05800000, 0xBF2A00A9, -/**/ 0xB77435EC, 0xBD3C713A, -/**/ 0x98AD4DB7, 0x3F29C14B, -/**/ 0xC9800000, 0xBF29C0A5, -/**/ 0x3A7AE827, 0xBD1E1005, -/**/ 0x3032267F, 0x3F298145, -/**/ 0x95800000, 0xBF2980A2, -/**/ 0xA8F2A842, 0x3D2A0460, -/**/ 0xD7B96385, 0x3F29413E, -/**/ 0x69000000, 0xBF29409F, -/**/ 0xA7B8321E, 0xBD3EDDA5, -/**/ 0x8F42FEC5, 0x3F290138, -/**/ 0x45000000, 0xBF29009C, -/**/ 0x3A3F0D33, 0xBD264506, -/**/ 0x56CEF241, 0x3F28C132, -/**/ 0x29000000, 0xBF28C099, -/**/ 0x33EE13CD, 0x3D206930, -/**/ 0x2E5D37F6, 0x3F28812C, -/**/ 0x15000000, 0xBF288096, -/**/ 0x22DF1FDA, 0x3D3B28AC, -/**/ 0x15EDC9E3, 0x3F284126, -/**/ 0x08800000, 0xBF284093, -/**/ 0xDD73B6DB, 0xBD324546, -/**/ 0x0D80A208, 0x3F280120, -/**/ 0x04800000, 0xBF280090, -/**/ 0x6DFEB485, 0xBCB440C2, -/**/ 0x1515BA62, 0x3F27C11A, -/**/ 0x08800000, 0xBF27C08D, -/**/ 0x9823B19D, 0x3D31BCBE, -/**/ 0x2CAD0CF1, 0x3F278114, -/**/ 0x14000000, 0xBF27808A, -/**/ 0xA9EB4E97, 0xBD3CD148, -/**/ 0x544693B4, 0x3F27410E, -/**/ 0x28000000, 0xBF274087, -/**/ 0xCA4F73AA, 0xBD277AAC, -/**/ 0x8BE248AA, 0x3F270108, -/**/ 0x44000000, 0xBF270084, -/**/ 0x26068EF7, 0x3D13E656, -/**/ 0xD38025D2, 0x3F26C102, -/**/ 0x68000000, 0xBF26C081, -/**/ 0x44C3EC8A, 0x3D35547B, -/**/ 0x2B20252A, 0x3F2680FD, -/**/ 0x93800000, 0xBF26807E, -/**/ 0x110DCE4B, 0xBD3AABA5, -/**/ 0x92C240B1, 0x3F2640F7, -/**/ 0xC7800000, 0xBF26407B, -/**/ 0xAC011956, 0xBD260B96, -/**/ 0x0A667267, 0x3F2600F2, -/**/ 0x03800000, 0xBF260079, -/**/ 0x5DFA826E, 0x3D111C22, -/**/ 0x920CB44A, 0x3F25C0EC, -/**/ 0x47800000, 0xBF25C076, -/**/ 0xD8A2980A, 0x3D333BD6, -/**/ 0x29B5005A, 0x3F2580E7, -/**/ 0x93000000, 0xBF258073, -/**/ 0x71C1D861, 0xBD3E2660, -/**/ 0xD15F5095, 0x3F2540E1, -/**/ 0xE7000000, 0xBF254070, -/**/ 0x4E77E5EE, 0xBD2FBD3A, -/**/ 0x890B9EFA, 0x3F2500DC, -/**/ 0x43000000, 0xBF25006E, -/**/ 0x7B90A2D9, 0xBCFEBDF2, -/**/ 0x50B9E589, 0x3F24C0D7, -/**/ 0xA7000000, 0xBF24C06B, -/**/ 0x58F2FF2C, 0x3D2765B3, -/**/ 0x286A1E40, 0x3F2480D2, -/**/ 0x13000000, 0xBF248069, -/**/ 0x74AE382C, 0x3D38FE8D, -/**/ 0x101C431E, 0x3F2440CD, -/**/ 0x86800000, 0xBF244066, -/**/ 0xB0286224, 0xBD3A07C3, -/**/ 0x07D04E23, 0x3F2400C8, -/**/ 0x02800000, 0xBF240064, -/**/ 0x46EFC0EC, 0xBD2ABE33, -/**/ 0x0F86394D, 0x3F23C0C3, -/**/ 0x86800000, 0xBF23C061, -/**/ 0x70DE3151, 0xBCF06744, -/**/ 0x273DFE9C, 0x3F2380BE, -/**/ 0x12800000, 0xBF23805F, -/**/ 0x05CFCD61, 0x3D260659, -/**/ 0x4EF7980F, 0x3F2340B9, -/**/ 0xA6800000, 0xBF23405C, -/**/ 0xD7DBBEBC, 0x3D36BEC8, -/**/ 0x86B2FFA4, 0x3F2300B4, -/**/ 0x42000000, 0xBF23005A, -/**/ 0x2B2027B4, 0xBD3DD29F, -/**/ 0xCE702F5C, 0x3F22C0AF, -/**/ 0xE6000000, 0xBF22C057, -/**/ 0x6959A7D0, 0xBD32B00B, -/**/ 0x262F2134, 0x3F2280AB, -/**/ 0x92000000, 0xBF228055, -/**/ 0x19FAAC2D, 0xBD1F61EF, -/**/ 0x8DEFCF2C, 0x3F2240A6, -/**/ 0x46000000, 0xBF224053, -/**/ 0xCB16B8A8, 0x3D05A87E, -/**/ 0x05B23344, 0x3F2200A2, -/**/ 0x02000000, 0xBF220051, -/**/ 0x23B9B257, 0x3D29F32F, -/**/ 0x8D76477A, 0x3F21C09D, -/**/ 0xC6000000, 0xBF21C04E, -/**/ 0x7E214821, 0x3D36F61B, -/**/ 0x253C05CD, 0x3F218099, -/**/ 0x91800000, 0xBF21804C, -/**/ 0x46FDFCA2, 0xBD3F5464, -/**/ 0xCD03683D, 0x3F214094, -/**/ 0x65800000, 0xBF21404A, -/**/ 0xA30F2308, 0xBD35E4E7, -/**/ 0x84CC68C9, 0x3F210090, -/**/ 0x41800000, 0xBF210048, -/**/ 0xF800CC34, 0xBD2974DC, -/**/ 0x4C970171, 0x3F20C08C, -/**/ 0x25800000, 0xBF20C046, -/**/ 0xC1006E9D, 0xBD0E9FC5, -/**/ 0x24632C32, 0x3F208088, -/**/ 0x11800000, 0xBF208044, -/**/ 0x078E4438, 0x3D133DE7, -/**/ 0x0C30E30D, 0x3F204084, -/**/ 0x05800000, 0xBF204042, -/**/ 0x15F82A7B, 0x3D2A61D2, -/**/ 0x04002001, 0x3F200080, -/**/ 0x01800000, 0xBF200040, -/**/ 0x3BBB110C, 0x3D355155, -/**/ 0x17A1BA1A, 0x3F1F80F8, -/**/ 0x0B000000, 0xBF1F807C, -/**/ 0x6C520A9B, 0x3D3D31BE, -/**/ 0x47462860, 0x3F1F00F0, -/**/ 0x22000000, 0xBF1F0078, -/**/ 0x4B6D83F6, 0xBD3B2CDB, -/**/ 0x96ED7ED3, 0x3F1E80E8, -/**/ 0x4A000000, 0xBF1E8074, -/**/ 0xD4122C5A, 0xBD33C977, -/**/ 0x0697B172, 0x3F1E00E1, -/**/ 0x82000000, 0xBF1E0070, -/**/ 0x2D1517C4, 0xBD29462E, -/**/ 0x9644B43B, 0x3F1D80D9, -/**/ 0xCA000000, 0xBF1D806C, -/**/ 0xF0952D45, 0xBD16E2E3, -/**/ 0x45F47B2C, 0x3F1D00D2, -/**/ 0x22000000, 0xBF1D0069, -/**/ 0x2DDC2A8D, 0x3CEED452, -/**/ 0x15A6FA46, 0x3F1C80CB, -/**/ 0x8A000000, 0xBF1C8065, -/**/ 0xA08CEBE8, 0x3D1DAFEE, -/**/ 0x055C2585, 0x3F1C00C4, -/**/ 0x02000000, 0xBF1C0062, -/**/ 0xBB11EF55, 0x3D2B50A4, -/**/ 0x1513F0E9, 0x3F1B80BD, -/**/ 0x8A000000, 0xBF1B805E, -/**/ 0xC6D142BF, 0x3D33ACA6, -/**/ 0x44CE5071, 0x3F1B00B6, -/**/ 0x22000000, 0xBF1B005B, -/**/ 0xF8CD3D11, 0x3D3979F8, -/**/ 0x948B381A, 0x3F1A80AF, -/**/ 0xCA000000, 0xBF1A8057, -/**/ 0x07EDFD29, 0x3D3F1149, -/**/ 0x044A9BE5, 0x3F1A00A9, -/**/ 0x81000000, 0xBF1A0054, -/**/ 0xF7BB7092, 0xBD3B8C68, -/**/ 0x940C6FCF, 0x3F1980A2, -/**/ 0x49000000, 0xBF198051, -/**/ 0xF27E09A9, 0xBD365E1C, -/**/ 0x43D0A7D8, 0x3F19009C, -/**/ 0x21000000, 0xBF19004E, -/**/ 0xD508D564, 0xBD3162D2, -/**/ 0x139737FE, 0x3F188096, -/**/ 0x09000000, 0xBF18804B, -/**/ 0x18D5C93E, 0xBD293315, -/**/ 0x03601440, 0x3F180090, -/**/ 0x01000000, 0xBF180048, -/**/ 0x0C26A328, 0xBD200288, -/**/ 0x132B309E, 0x3F17808A, -/**/ 0x09000000, 0xBF178045, -/**/ 0x7E89FD6F, 0xBD0CC7F9, -/**/ 0x42F88115, 0x3F170084, -/**/ 0x21000000, 0xBF170042, -/**/ 0x058494DC, 0x3CE40881, -/**/ 0x92C7F9A5, 0x3F16807E, -/**/ 0x49000000, 0xBF16803F, -/**/ 0xCD5698B9, 0x3D12AE16, -/**/ 0x02998E4D, 0x3F160079, -/**/ 0x81000000, 0xBF16003C, -/**/ 0xC5780E17, 0x3D21138B, -/**/ 0x926D330B, 0x3F158073, -/**/ 0xC9000000, 0xBF158039, -/**/ 0x4E2001E2, 0x3D287809, -/**/ 0x4242DBDF, 0x3F15006E, -/**/ 0x21000000, 0xBF150037, -/**/ 0x21448AA2, 0x3D2F8684, -/**/ 0x121A7CC8, 0x3F148069, -/**/ 0x89000000, 0xBF148034, -/**/ 0x2F637D8E, 0x3D33207E, -/**/ 0x01F409C4, 0x3F140064, -/**/ 0x01000000, 0xBF140032, -/**/ 0x12E44B29, 0x3D3654B9, -/**/ 0x11CF76D3, 0x3F13805F, -/**/ 0x89000000, 0xBF13802F, -/**/ 0xCA5547F3, 0x3D3960F2, -/**/ 0x41ACB7F4, 0x3F13005A, -/**/ 0x21000000, 0xBF13002D, -/**/ 0x6487063D, 0x3D3C462B, -/**/ 0x918BC126, 0x3F128055, -/**/ 0xC9000000, 0xBF12802A, -/**/ 0xEFEA1107, 0x3D3F0562, -/**/ 0x016C8668, 0x3F120051, -/**/ 0x80000000, 0xBF120028, -/**/ 0x857113CE, 0xBD3E6066, -/**/ 0x914EFBBA, 0x3F11804C, -/**/ 0x48000000, 0xBF118026, -/**/ 0xEDD9EB54, 0xBD3BEA30, -/**/ 0x41331519, 0x3F110048, -/**/ 0x20000000, 0xBF110024, -/**/ 0x3BFFFF5A, 0xBD3996FC, -/**/ 0x1118C686, 0x3F108044, -/**/ 0x08000000, 0xBF108022, -/**/ 0x62F2E042, 0xBD3765C8, -/**/ 0x01000400, 0x3F100040, -/**/ 0x00000000, 0xBF100020, -/**/ 0x562224CD, 0xBD355595, -/**/ 0x21D1830C, 0x3F0F0078, -/**/ 0x10000000, 0xBF0F003C, -/**/ 0x095D69EB, 0xBD336563, -/**/ 0x81A5E62E, 0x3F0E0070, -/**/ 0x40000000, 0xBF0E0038, -/**/ 0x70D45290, 0xBD319431, -/**/ 0x217D1965, 0x3F0D0069, -/**/ 0x90000000, 0xBF0D0034, -/**/ 0x022D0EF6, 0xBD2FC201, -/**/ 0x015704B1, 0x3F0C0062, -/**/ 0x00000000, 0xBF0C0031, -/**/ 0x5E276E21, 0xBD2C95A0, -/**/ 0x2133900E, 0x3F0B005B, -/**/ 0x90000000, 0xBF0B002D, -/**/ 0xE0372A42, 0xBD29A140, -/**/ 0x8112A37D, 0x3F0A0054, -/**/ 0x40000000, 0xBF0A002A, -/**/ 0x73BBB580, 0xBD26E2E2, -/**/ 0x20F426FB, 0x3F09004E, -/**/ 0x10000000, 0xBF090027, -/**/ 0x04D48C20, 0xBD245885, -/**/ 0x00D80288, 0x3F080048, -/**/ 0x00000000, 0xBF080024, -/**/ 0x80613426, 0xBD220028, -/**/ 0x20BE1E23, 0x3F070042, -/**/ 0x10000000, 0xBF070021, -/**/ 0xA80279F3, 0xBD1FAF99, -/**/ 0x80A661CA, 0x3F06003C, -/**/ 0x40000000, 0xBF06001E, -/**/ 0xDC287DFE, 0xBD1BBAE3, -/**/ 0x2090B57C, 0x3F050037, -/**/ 0x90000000, 0xBF05001B, -/**/ 0x7B73B67C, 0xBD181E2F, -/**/ 0x007D0139, 0x3F040032, -/**/ 0x00000000, 0xBF040019, -/**/ 0x65A375F8, 0xBD14D57C, -/**/ 0x206B2CFF, 0x3F03002D, -/**/ 0x90000000, 0xBF030016, -/**/ 0x7BF71EC1, 0xBD11DCCA, -/**/ 0x805B20CD, 0x3F020028, -/**/ 0x40000000, 0xBF020014, -/**/ 0x425C4447, 0xBD0E6033, -/**/ 0x204CC4A3, 0x3F010024, -/**/ 0x10000000, 0xBF010012, -/**/ 0x730FFF5C, 0xBD0996D3, -/**/ 0x00400080, 0x3F000020, -/**/ 0x00000000, 0xBF000010, -/**/ 0x558888DE, 0xBD055575, -/**/ 0x406978C6, 0x3EFE0038, -/**/ 0x20000000, 0xBEFE001C, -/**/ 0xB845146A, 0xBD019418, -/**/ 0x0055C096, 0x3EFC0031, -/**/ 0x80000000, 0xBEFC0018, -/**/ 0xD989DB3C, 0xBCFC957A, -/**/ 0x4044A870, 0x3EFA002A, -/**/ 0x20000000, 0xBEFA0015, -/**/ 0x8F0EED2F, 0xBCF6E2C6, -/**/ 0x00360051, 0x3EF80024, -/**/ 0x00000000, 0xBEF80012, -/**/ 0x40184CEB, 0xBCF20014, -/**/ 0x40299839, 0x3EF6001E, -/**/ 0x20000000, 0xBEF6000F, -/**/ 0x434A1F5C, 0xBCEBBAC7, -/**/ 0x001F4027, 0x3EF40019, -/**/ 0x80000000, 0xBEF4000C, -/**/ 0xDD68DD6A, 0xBCE4D568, -/**/ 0x4016C81A, 0x3EF20014, -/**/ 0x20000000, 0xBEF2000A, -/**/ 0xA11710FC, 0xBCDE6019, -/**/ 0x00100010, 0x3EF00010, -/**/ 0x00000000, 0xBEF00008, -/**/ 0x5562222D, 0xBCD55565, -/**/ 0x80157013, 0x3EEC0018, -/**/ 0x40000000, 0xBEEC000C, -/**/ 0x176276C5, 0xBCCC9568, -/**/ 0x000D800A, 0x3EE80012, -/**/ 0x00000000, 0xBEE80009, -/**/ 0x20061337, 0xBCC2000A, -/**/ 0x8007D005, 0x3EE4000C, -/**/ 0x40000000, 0xBEE40006, -/**/ 0x195A3758, 0xBCB4D55F, -/**/ 0x00040002, 0x3EE00008, -/**/ 0x00000000, 0xBEE00004, -/**/ 0x5558888A, 0xBCA5555D, -/**/ 0x00036001, 0x3ED80009, -/**/ 0x80000000, 0xBED80004, -/**/ 0x100184CD, 0xBC920005, -/**/ 0x00010000, 0x3ED00004, -/**/ 0x00000000, 0xBED00002, -/**/ 0x55562222, 0xBC755559, -/**/ 0x00004000, 0x3EC00002, -/**/ 0x00000000, 0xBEC00001, -/**/ 0x55558889, 0xBC455557, -/**/ 0x00000000, 0x00000000, -/**/ 0x00000000, 0x00000000, -/**/ 0x00000000, 0x00000000, -/**/ 0x00008000, 0xBEBFFFFC, -/**/ 0x00000000, 0x3EBFFFFE, -/**/ 0x55558889, 0x3C455553, -/**/ 0x00020000, 0xBECFFFF8, -/**/ 0x00000000, 0x3ECFFFFC, -/**/ 0x55562222, 0x3C755551, -/**/ 0x00035FFF, 0xBED7FFF7, -/**/ 0x80000000, 0x3ED7FFFB, -/**/ 0xF00184CC, 0x3C91FFFA, -/**/ 0x0007FFFC, 0xBEDFFFF0, -/**/ 0x00000000, 0x3EDFFFF8, -/**/ 0x55588887, 0x3CA5554D, -/**/ 0x8007CFFB, 0xBEE3FFF3, -/**/ 0xC0000000, 0x3EE3FFF9, -/**/ 0x915A3753, 0x3CB4D54B, -/**/ 0x000D7FF6, 0xBEE7FFEE, -/**/ 0x00000000, 0x3EE7FFF7, -/**/ 0xE006132F, 0x3CC1FFF5, -/**/ 0x80156FED, 0xBEEBFFE7, -/**/ 0xC0000000, 0x3EEBFFF3, -/**/ 0x936276B2, 0x3CCC9542, -/**/ 0x001FFFE0, 0xBEEFFFE0, -/**/ 0x00000000, 0x3EEFFFF0, -/**/ 0x55622217, 0x3CD55545, -/**/ 0xC016C7E6, 0xBEF1FFEB, -/**/ 0xE0000000, 0x3EF1FFF5, -/**/ 0x5F1710D1, 0x3CDE5FE6, -/**/ 0x001F3FD9, 0xBEF3FFE7, -/**/ 0x80000000, 0x3EF3FFF3, -/**/ 0xCD68DD41, 0x3CE4D541, -/**/ 0xC02997C7, 0xBEF5FFE1, -/**/ 0xE0000000, 0x3EF5FFF0, -/**/ 0x124A1F13, 0x3CEBBA8E, -/**/ 0x0035FFAF, 0xBEF7FFDC, -/**/ 0x00000000, 0x3EF7FFEE, -/**/ 0xC0184CAE, 0x3CF1FFEB, -/**/ 0xC044A790, 0xBEF9FFD5, -/**/ 0xE0000000, 0x3EF9FFEA, -/**/ 0xC68EECCD, 0x3CF6E28E, -/**/ 0x0055BF6A, 0xBEFBFFCF, -/**/ 0x80000000, 0x3EFBFFE7, -/**/ 0xD189DAA2, 0x3CFC952F, -/**/ 0xC069773A, 0xBEFDFFC7, -/**/ 0xE0000000, 0x3EFDFFE3, -/**/ 0x480513F6, 0x3D0193E7, -/**/ 0x007FFF00, 0xBEFFFFC0, -/**/ 0x00000000, 0x3EFFFFE0, -/**/ 0x55888833, 0x3D055535, -/**/ 0xE04CC35D, 0xBF00FFDB, -/**/ 0xF0000000, 0x3F00FFED, -/**/ 0xE2CFFE66, 0x3D099681, -/**/ 0x805B1F33, 0xBF01FFD7, -/**/ 0xC0000000, 0x3F01FFEB, -/**/ 0xBE5C42ED, 0x3D0E5FCC, -/**/ 0xE06B2B01, 0xBF02FFD2, -/**/ 0x70000000, 0x3F02FFE9, -/**/ 0xD9D71DD1, 0x3D11DC8A, -/**/ 0x007CFEC8, 0xBF03FFCE, -/**/ 0x00000000, 0x3F03FFE7, -/**/ 0x45A374B3, 0x3D14D52E, -/**/ 0xE090B284, 0xBF04FFC8, -/**/ 0x70000000, 0x3F04FFE4, -/**/ 0x8553B4C7, 0x3D181DD0, -/**/ 0x80A65E36, 0xBF05FFC3, -/**/ 0xC0000000, 0x3F05FFE1, -/**/ 0x7A287BBE, 0x3D1BBA71, -/**/ 0xE0BE19DD, 0xBF06FFBD, -/**/ 0xF0000000, 0x3F06FFDE, -/**/ 0x03E27702, 0x3D1FAF11, -/**/ 0x00D7FD78, 0xBF07FFB8, -/**/ 0x00000000, 0x3F07FFDC, -/**/ 0x80613240, 0x3D21FFD7, -/**/ 0xE0F42105, 0xBF08FFB1, -/**/ 0xF0000000, 0x3F08FFD8, -/**/ 0xA6C489B3, 0x3D245825, -/**/ 0x81129C84, 0xBF09FFAB, -/**/ 0xC0000000, 0x3F09FFD5, -/**/ 0xE2BBB26F, 0x3D26E272, -/**/ 0xE13387F2, 0xBF0AFFA4, -/**/ 0x70000000, 0x3F0AFFD2, -/**/ 0x21272669, 0x3D29A0BF, -/**/ 0x0156FB50, 0xBF0BFF9E, -/**/ 0x00000000, 0x3F0BFFCF, -/**/ 0x4E276957, 0x3D2C950A, -/**/ 0xE17D0E9B, 0xBF0CFF96, -/**/ 0x70000000, 0x3F0CFFCB, -/**/ 0x551D090E, 0x3D2FC154, -/**/ 0x81A5D9D2, 0xBF0DFF8F, -/**/ 0xC0000000, 0x3F0DFFC7, -/**/ 0x90544EF1, 0x3D3193CE, -/**/ 0xE1D174F4, 0xBF0EFF87, -/**/ 0xF0000000, 0x3F0EFFC3, -/**/ 0x4D556583, 0x3D3364F2, -/**/ 0x01FFF800, 0xBF0FFF80, -/**/ 0x00000000, 0x3F0FFFC0, -/**/ 0x56221F78, 0x3D355515, -/**/ 0xF118BD7A, 0xBF107FBB, -/**/ 0xF8000000, 0x3F107FDD, -/**/ 0x9EEAD9D8, 0x3D376537, -/**/ 0xC1330AE7, 0xBF10FFB7, -/**/ 0xE0000000, 0x3F10FFDB, -/**/ 0x1B7FF7AE, 0x3D399659, -/**/ 0x714EF047, 0xBF117FB3, -/**/ 0xB8000000, 0x3F117FD9, -/**/ 0xBF51E233, 0x3D3BE979, -/**/ 0x016C7998, 0xBF11FFAF, -/**/ 0x80000000, 0x3F11FFD7, -/**/ 0x7D7108FF, 0x3D3E5F99, -/**/ 0x718BB2DA, 0xBF127FAA, -/**/ 0x39000000, 0x3F127FD5, -/**/ 0xB7721DC6, 0xBD3F0647, -/**/ 0xC1ACA80C, 0xBF12FFA5, -/**/ 0xE1000000, 0x3F12FFD2, -/**/ 0xED071532, 0xBD3C4729, -/**/ 0xF1CF652D, 0xBF137FA0, -/**/ 0x79000000, 0x3F137FD0, -/**/ 0x315D596D, 0xBD39620D, -/**/ 0x01F3F63C, 0xBF13FF9C, -/**/ 0x01000000, 0x3F13FFCE, -/**/ 0x92E45F81, 0xBD3655F1, -/**/ 0xF21A6739, 0xBF147F96, -/**/ 0x79000000, 0x3F147FCB, -/**/ 0x206B9526, 0xBD3321D7, -/**/ 0xC242C421, 0xBF14FF91, -/**/ 0xE1000000, 0x3F14FFC8, -/**/ 0xD244C12A, 0xBD2F897B, -/**/ 0x726D18F6, 0xBF157F8C, -/**/ 0x39000000, 0x3F157FC6, -/**/ 0xF93040AE, 0xBD287B4B, -/**/ 0x029971B4, 0xBF15FF87, -/**/ 0x81000000, 0x3F15FFC3, -/**/ 0xD578562C, 0xBD21171E, -/**/ 0x72C7DA5C, 0xBF167F81, -/**/ 0xB9000000, 0x3F167FC0, -/**/ 0x0F773DB4, 0xBD12B5E9, -/**/ 0xC2F85EEC, 0xBF16FF7B, -/**/ 0xE1000000, 0x3F16FFBD, -/**/ 0x158A76C2, 0xBCE44CD3, -/**/ 0xF32B0B63, 0xBF177F75, -/**/ 0xF9000000, 0x3F177FBA, -/**/ 0x2E48511B, 0x3D0CB55C, -/**/ 0x035FEBC0, 0xBF17FF70, -/**/ 0x01000000, 0x3F17FFB8, -/**/ 0x184C534F, 0x3D1FFAF0, -/**/ 0xF3970C03, 0xBF187F69, -/**/ 0xF9000000, 0x3F187FB4, -/**/ 0xACC53FBE, 0x3D292D95, -/**/ 0xC3D07829, 0xBF18FF63, -/**/ 0xE1000000, 0x3F18FFB1, -/**/ 0xE48887C8, 0x3D315FD7, -/**/ 0x740C3C32, 0xBF197F5D, -/**/ 0xB9000000, 0x3F197FAE, -/**/ 0x1DF5B242, 0x3D365AE3, -/**/ 0x044A641C, 0xBF19FF57, -/**/ 0x81000000, 0x3F19FFAB, -/**/ 0x6FBB0E5F, 0x3D3B88EC, -/**/ 0x748AFBE7, 0xBF1A7F50, -/**/ 0x3A000000, 0x3F1A7FA8, -/**/ 0x39766B40, 0xBD3F150C, -/**/ 0xC4CE0F91, 0xBF1AFF49, -/**/ 0xE2000000, 0x3F1AFFA4, -/**/ 0xF14DB839, 0xBD397E06, -/**/ 0xF513AB19, 0xBF1B7F42, -/**/ 0x7A000000, 0x3F1B7FA1, -/**/ 0xCBD9CC3D, 0xBD33B103, -/**/ 0x055BDA7D, 0xBF1BFF3C, -/**/ 0x02000000, 0x3F1BFF9E, -/**/ 0xBB1321B5, 0xBD2B5A05, -/**/ 0xF5A6A9BD, 0xBF1C7F34, -/**/ 0x7A000000, 0x3F1C7F9A, -/**/ 0xECAF9551, 0xBD1DC410, -/**/ 0xC5F424D6, 0xBF1CFF2D, -/**/ 0xE2000000, 0x3F1CFF96, -/**/ 0x3DF3CD68, 0xBCEF80FF, -/**/ 0x764457C8, 0xBF1D7F26, -/**/ 0x3A000000, 0x3F1D7F93, -/**/ 0x4271E737, 0x3D16CBC7, -/**/ 0x06974E91, 0xBF1DFF1F, -/**/ 0x82000000, 0x3F1DFF8F, -/**/ 0x1D134848, 0x3D2939D2, -/**/ 0x76ED1530, 0xBF1E7F17, -/**/ 0xBA000000, 0x3F1E7F8B, -/**/ 0xA9892C73, 0x3D33C2DD, -/**/ 0xC745B7A4, 0xBF1EFF0F, -/**/ 0xE2000000, 0x3F1EFF87, -/**/ 0x8AEC69D5, 0x3D3B25CF, -/**/ 0xF7A141EA, 0xBF1F7F07, -/**/ 0xFB000000, 0x3F1F7F83, -/**/ 0x645B412A, 0xBD3D3941, -/**/ 0x07FFC002, 0xBF1FFF00, -/**/ 0x03000000, 0x3F1FFF80, -/**/ 0x3BBC6662, 0xBD355955, -/**/ 0xFC309EF5, 0xBF203F7B, -/**/ 0xFD800000, 0x3F203FBD, -/**/ 0x260B17B3, 0xBD2A72D8, -/**/ 0xE462E3D0, 0xBF207F77, -/**/ 0xF1800000, 0x3F207FBB, -/**/ 0x0994AE68, 0xBD136218, -/**/ 0xBC96B492, 0xBF20BF73, -/**/ 0xDD800000, 0x3F20BFB9, -/**/ 0xECB2641F, 0x3D0E52E6, -/**/ 0x84CC1739, 0xBF20FF6F, -/**/ 0xC1800000, 0x3F20FFB7, -/**/ 0xE7FCF60B, 0x3D296078, -/**/ 0x3D0311C6, 0xBF213F6B, -/**/ 0x9D800000, 0x3F213FB5, -/**/ 0xA7850AFF, 0x3D35DA18, -/**/ 0xE53BAA36, 0xBF217F66, -/**/ 0x71800000, 0x3F217FB3, -/**/ 0x5E7BB444, 0x3D3F48F1, -/**/ 0x7D75E68A, 0xBF21BF62, -/**/ 0x3E000000, 0x3F21BFB1, -/**/ 0x812BC469, 0xBD370239, -/**/ 0x05B1CCC0, 0xBF21FF5E, -/**/ 0x02000000, 0x3F21FFAF, -/**/ 0x23BF1A4D, 0xBD2A0CD0, -/**/ 0x7DEF62D8, 0xBF223F59, -/**/ 0xBE000000, 0x3F223FAC, -/**/ 0x736E3623, 0xBD0614D3, -/**/ 0xE62EAED0, 0xBF227F54, -/**/ 0x72000000, 0x3F227FAA, -/**/ 0x37EDEDB0, 0x3D1F28BD, -/**/ 0x3E6FB6A9, 0xBF22BF50, -/**/ 0x1E000000, 0x3F22BFA8, -/**/ 0x07CE33C8, 0x3D32A0F5, -/**/ 0x86B28060, 0xBF22FF4B, -/**/ 0xC2000000, 0x3F22FFA5, -/**/ 0xA31C6A8D, 0x3D3DC2B6, -/**/ 0xBEF711F6, 0xBF233F46, -/**/ 0x5E800000, 0x3F233FA3, -/**/ 0xFC67C9FB, 0xBD36CF8B, -/**/ 0xE73D7169, 0xBF237F41, -/**/ 0xF2800000, 0x3F237FA0, -/**/ 0xE6D88A89, 0xBD2629A5, -/**/ 0xFF85A4B8, 0xBF23BF3C, -/**/ 0x7E800000, 0x3F23BF9E, -/**/ 0x202574EC, 0x3CEE7C34, -/**/ 0x07CFB1E3, 0xBF23FF38, -/**/ 0x02800000, 0x3F23FF9C, -/**/ 0x46E594C1, 0x3D2A9723, -/**/ 0x001B9EE8, 0xBF243F33, -/**/ 0x7E800000, 0x3F243F99, -/**/ 0xF61AE74C, 0x3D39F33C, -/**/ 0xE86971C7, 0xBF247F2D, -/**/ 0xF3000000, 0x3F247F96, -/**/ 0x85341E31, 0xBD39141C, -/**/ 0xC0B9307F, 0xBF24BF28, -/**/ 0x5F000000, 0x3F24BF94, -/**/ 0xDA0FAF09, 0xBD2792F5, -/**/ 0x890AE10E, 0xBF24FF23, -/**/ 0xC3000000, 0x3F24FF91, -/**/ 0xFB239430, 0x3CFD4219, -/**/ 0x415E8974, 0xBF253F1E, -/**/ 0x1F000000, 0x3F253F8F, -/**/ 0x0359434A, 0x3D2F8B72, -/**/ 0xE9B42FAF, 0xBF257F18, -/**/ 0x73000000, 0x3F257F8C, -/**/ 0x1939FEDF, 0x3D3E0C4B, -/**/ 0x820BD9BF, 0xBF25BF13, -/**/ 0xBF800000, 0x3F25BF89, -/**/ 0x39B301E2, 0xBD335728, -/**/ 0x0A658DA3, 0xBF25FF0E, -/**/ 0x03800000, 0x3F25FF87, -/**/ 0x5E1E8D4F, 0xBD118E84, -/**/ 0x82C15159, 0xBF263F08, -/**/ 0x3F800000, 0x3F263F84, -/**/ 0xBDDDD045, 0x3D25CFC0, -/**/ 0xEB1F2AE1, 0xBF267F02, -/**/ 0x73800000, 0x3F267F81, -/**/ 0x08837E99, 0x3D3A8C5C, -/**/ 0x437F203A, 0xBF26BEFD, -/**/ 0xA0000000, 0x3F26BF7E, -/**/ 0x3C56F12D, 0xBD35752E, -/**/ 0x8BE13762, 0xBF26FEF7, -/**/ 0xC4000000, 0x3F26FF7B, -/**/ 0x46359E28, 0xBD146EFA, -/**/ 0xC4457659, 0xBF273EF1, -/**/ 0xE0000000, 0x3F273F78, -/**/ 0xCD265865, 0x3D273355, -/**/ 0xECABE31C, 0xBF277EEB, -/**/ 0xF4000000, 0x3F277F75, -/**/ 0x095DEBF8, 0x3D3CAC0E, -/**/ 0x051483AC, 0xBF27BEE6, -/**/ 0x00800000, 0x3F27BF73, -/**/ 0x4C39F4DB, 0xBD31E395, -/**/ 0x0D7F5E08, 0xBF27FEE0, -/**/ 0x04800000, 0x3F27FF70, -/**/ 0xA1314B81, 0xBCB43F3D, -/**/ 0x05EC782D, 0xBF283EDA, -/**/ 0x00800000, 0x3F283F6D, -/**/ 0x115B8D70, 0x3D321B10, -/**/ 0xEE5BD81B, 0xBF287ED3, -/**/ 0xF5000000, 0x3F287F69, -/**/ 0x83704FE1, 0xBD3B54A7, -/**/ 0xC6CD83D1, 0xBF28BECD, -/**/ 0xE1000000, 0x3F28BF66, -/**/ 0x41229C91, 0xBD20C4CC, -/**/ 0x8F41814D, 0xBF28FEC7, -/**/ 0xC5000000, 0x3F28FF63, -/**/ 0x2A183F17, 0x3D25E5A8, -/**/ 0x47B7D68F, 0xBF293EC1, -/**/ 0xA1000000, 0x3F293F60, -/**/ 0xF81B997D, 0x3D3EAC06, -/**/ 0xF0308995, 0xBF297EBA, -/**/ 0x75800000, 0x3F297F5D, -/**/ 0x3A1E5BAD, 0xBD2A6B9B, -/**/ 0x88ABA05E, 0xBF29BEB4, -/**/ 0x41800000, 0x3F29BF5A, -/**/ 0xBDFE3C77, 0x3D1D3958, -/**/ 0x112920E9, 0xBF29FEAE, -/**/ 0x05800000, 0x3F29FF57, -/**/ 0x375BA904, 0x3D3C3972, -/**/ 0x89A91135, 0xBF2A3EA7, -/**/ 0xC2000000, 0x3F2A3F53, -/**/ 0x588DE85B, 0xBD2CE6F3, -/**/ 0xF22B7740, 0xBF2A7EA0, -/**/ 0x76000000, 0x3F2A7F50, -/**/ 0x75AEDBFD, 0x3D1D2249, -/**/ 0x4AB05909, 0xBF2ABE9A, -/**/ 0x22000000, 0x3F2ABF4D, -/**/ 0x2CE7BDAC, 0x3D3D6E96, -/**/ 0x9337BC90, 0xBF2AFE93, -/**/ 0xC6800000, 0x3F2AFF49, -/**/ 0xCB7D724C, 0xBD2800DC, -/**/ 0xCBC1A7D1, 0xBF2B3E8C, -/**/ 0x62800000, 0x3F2B3F46, -/**/ 0xFA591B29, 0x3D25F908, -/**/ 0xF44E20CE, 0xBF2B7E85, -/**/ 0xF7000000, 0x3F2B7F42, -/**/ 0x53021ED8, 0xBD3D9991, -/**/ 0x0CDD2D83, 0xBF2BBE7F, -/**/ 0x83000000, 0x3F2BBF3F, -/**/ 0xFD596AD6, 0xBD1706BF, -/**/ 0x156ED3F0, 0xBF2BFE78, -/**/ 0x07000000, 0x3F2BFF3C, -/**/ 0x4EC45253, 0x3D328528, -/**/ 0x0E031A14, 0xBF2C3E71, -/**/ 0x83800000, 0x3F2C3F38, -/**/ 0x927D8A9E, 0xBD34C408, -/**/ 0xF69A05ED, 0xBF2C7E69, -/**/ 0xF7800000, 0x3F2C7F34, -/**/ 0xCAE2C25F, 0x3D118EF4, -/**/ 0xCF339D7A, 0xBF2CBE62, -/**/ 0x63800000, 0x3F2CBF31, -/**/ 0x73DBBB41, 0x3D3DFD79, -/**/ 0x97CFE6B9, 0xBF2CFE5B, -/**/ 0xC8000000, 0x3F2CFF2D, -/**/ 0xE7FE77E6, 0xBD1FD74F, -/**/ 0x506EE7AA, 0xBF2D3E54, -/**/ 0x24000000, 0x3F2D3F2A, -/**/ 0xBDDB871F, 0x3D328AD4, -/**/ 0xF910A64A, 0xBF2D7E4C, -/**/ 0x78800000, 0x3F2D7F26, -/**/ 0x903DDD81, 0xBD327F8C, -/**/ 0x91B52899, 0xBF2DBE45, -/**/ 0xC4800000, 0x3F2DBF22, -/**/ 0xDF52840A, 0x3D21D80F, -/**/ 0x1A5C7495, 0xBF2DFE3E, -/**/ 0x09000000, 0x3F2DFF1F, -/**/ 0xEED9F651, 0xBD3B316D, -/**/ 0x9306903D, 0xBF2E3E36, -/**/ 0x45000000, 0x3F2E3F1B, -/**/ 0x76DB3C6B, 0x3CF2911A, -/**/ 0xFBB3818F, 0xBF2E7E2E, -/**/ 0x79000000, 0x3F2E7F17, -/**/ 0x85559113, 0x3D3DFC86, -/**/ 0x54634E89, 0xBF2EBE27, -/**/ 0xA5800000, 0x3F2EBF13, -/**/ 0x0AB3DBE7, 0xBD12D83E, -/**/ 0x9D15FD2B, 0xBF2EFE1F, -/**/ 0xC9800000, 0x3F2EFF0F, -/**/ 0x617B99F1, 0x3D39124F, -/**/ 0xD5CB9373, 0xBF2F3E17, -/**/ 0xE6000000, 0x3F2F3F0B, -/**/ 0xF8F64DA1, 0xBD2152B9, -/**/ 0xFE841760, 0xBF2F7E0F, -/**/ 0xFA000000, 0x3F2F7F07, -/**/ 0x34C4735B, 0x3D3617EB, -/**/ 0x173F8EEF, 0xBF2FBE08, -/**/ 0x06800000, 0x3F2FBF04, -/**/ 0x739FA712, 0xBD2551B0, -/**/ 0x1FFE0020, 0xBF2FFE00, -/**/ 0x0A800000, 0x3F2FFF00, -/**/ 0x885DE027, 0x3D351558, -/**/ 0x0C5FB879, 0xBF301EFC, -/**/ 0x03800000, 0x3F301F7E, -/**/ 0x68F8FC50, 0xBD255905, -/**/ 0x00C1F3B0, 0xBF303EF8, -/**/ 0xFD800000, 0x3F303F7B, -/**/ 0xDF771CF4, 0x3D361295, -/**/ 0xED25B4B7, 0xBF305EF3, -/**/ 0xF3C00000, 0x3F305F79, -/**/ 0xD8A255DB, 0xBD2158BB, -/**/ 0xD18AFE8B, 0xBF307EEF, -/**/ 0xE5C00000, 0x3F307F77, -/**/ 0xB740E625, 0x3D3917A1, -/**/ 0xADF1D42C, 0xBF309EEB, -/**/ 0xD4000000, 0x3F309F75, -/**/ 0x9C716D59, 0xBD1281AD, -/**/ 0x825A3899, 0xBF30BEE7, -/**/ 0xBE000000, 0x3F30BF73, -/**/ 0x86ED7DDC, 0x3D3E2C7A, -/**/ 0x4EC42ED1, 0xBF30DEE3, -/**/ 0xA4400000, 0x3F30DF71, -/**/ 0xF54F7E28, 0x3CF7F534, -/**/ 0x132FB9D5, 0xBF30FEDF, -/**/ 0x86800000, 0x3F30FF6F, -/**/ 0x404F4E01, 0xBD3AA6E1, -/**/ 0xCF9CDCA2, 0xBF311EDA, -/**/ 0x64800000, 0x3F311F6D, -/**/ 0x4A6EC981, 0x3D2375B9, -/**/ 0x840B9A38, 0xBF313ED6, -/**/ 0x3EC00000, 0x3F313F6B, -/**/ 0x33401DD0, 0xBD315A73, -/**/ 0x307BF596, 0xBF315ED2, -/**/ 0x14C00000, 0x3F315F69, -/**/ 0x02C11605, 0x3D341A2F, -/**/ 0xD4EDF1BC, 0xBF317ECD, -/**/ 0xE7000000, 0x3F317F66, -/**/ 0xB2B7E8C5, 0xBD1798F3, -/**/ 0x716191A8, 0xBF319EC9, -/**/ 0xB5400000, 0x3F319F64, -/**/ 0x35D62ED5, 0xBD3F5AB7, -/**/ 0x05D6D85A, 0xBF31BEC5, -/**/ 0x7F400000, 0x3F31BF62, -/**/ 0xCA7EC7CD, 0x3D1EF6FF, -/**/ 0x924DC8D2, 0xBF31DEC0, -/**/ 0x45800000, 0x3F31DF60, -/**/ 0xA8550396, 0xBD309BD7, -/**/ 0x16C6660D, 0xBF31FEBC, -/**/ 0x07800000, 0x3F31FF5E, -/**/ 0xC3E31F70, 0x3D379981, -/**/ 0x9340B30B, 0xBF321EB7, -/**/ 0xC5C00000, 0x3F321F5B, -/**/ 0x5FE92B94, 0x3CD7B300, -/**/ 0x07BCB2CC, 0xBF323EB3, -/**/ 0x80000000, 0x3F323F59, -/**/ 0x25A7CF34, 0xBD364AF9, -/**/ 0x743A684F, 0xBF325EAE, -/**/ 0x36000000, 0x3F325F57, -/**/ 0x17E48399, 0x3D339D32, -/**/ 0xD8B9D692, 0xBF327EA9, -/**/ 0xE8400000, 0x3F327F54, -/**/ 0xCC387BD1, 0xBCFE7B27, -/**/ 0x353B0095, 0xBF329EA5, -/**/ 0x96800000, 0x3F329F52, -/**/ 0x1AE7FA80, 0xBD36D8A7, -/**/ 0x89BDE957, 0xBF32BEA0, -/**/ 0x40800000, 0x3F32BF50, -/**/ 0x05CF3DC3, 0x3D34CB54, -/**/ 0xD64293D7, 0xBF32DE9B, -/**/ 0xE6C00000, 0x3F32DF4D, -/**/ 0xD5A4F691, 0x3CF053EA, -/**/ 0x1AC90315, 0xBF32FE97, -/**/ 0x89000000, 0x3F32FF4B, -/**/ 0x5CAE7B16, 0xBD3229E7, -/**/ 0x57513A0F, 0xBF331E92, -/**/ 0x27000000, 0x3F331F49, -/**/ 0xAEED4509, 0x3D3B3EE1, -/**/ 0x8BDB3BC4, 0xBF333E8D, -/**/ 0xC1400000, 0x3F333F46, -/**/ 0x2E0C2605, 0x3D228133, -/**/ 0xB8670B34, 0xBF335E88, -/**/ 0x57800000, 0x3F335F44, -/**/ 0xBBD6E280, 0xBD20477F, -/**/ 0xDCF4AB5D, 0xBF337E83, -/**/ 0xE9C00000, 0x3F337F41, -/**/ 0xE9CE8AFC, 0xBD38ED2A, -/**/ 0xF9841F3F, 0xBF339E7E, -/**/ 0x77C00000, 0x3F339F3F, -/**/ 0x39159F9B, 0x3D36E558, -/**/ 0x0E1569D9, 0xBF33BE7A, -/**/ 0x02000000, 0x3F33BF3D, -/**/ 0x40681634, 0x3D1D5325, -/**/ 0x1AA88E2A, 0xBF33DE75, -/**/ 0x88400000, 0x3F33DF3A, -/**/ 0x7F2112CE, 0xBD1E775F, -/**/ 0x1F3D8F31, 0xBF33FE70, -/**/ 0x0A800000, 0x3F33FF38, -/**/ 0x91F80D1B, 0xBD35F18B, -/**/ 0x1BD46FED, 0xBF341E6B, -/**/ 0x88800000, 0x3F341F35, -/**/ 0xFDC3FC2F, 0x3D3C5AAD, -/**/ 0x106D335D, 0xBF343E66, -/**/ 0x02C00000, 0x3F343F33, -/**/ 0x268A89F1, 0x3D2E8FA9, -/**/ 0xFD07DC80, 0xBF345E60, -/**/ 0x79000000, 0x3F345F30, -/**/ 0x902AC9EE, 0x3D06B73F, -/**/ 0xE1A46E55, 0xBF347E5B, -/**/ 0xEB400000, 0x3F347F2D, -/**/ 0x45C43959, 0xBD21EE30, -/**/ 0xBE42EBDC, 0xBF349E56, -/**/ 0x59800000, 0x3F349F2B, -/**/ 0xE8B753E8, 0xBD34212B, -/**/ 0x92E35813, 0xBF34BE51, -/**/ 0xC3C00000, 0x3F34BF28, -/**/ 0x9D2064DB, 0xBD3EA653, -/**/ 0x5F85B5F9, 0xBF34DE4C, -/**/ 0x29C00000, 0x3F34DF26, -/**/ 0x81DCB6FB, 0x3D377A70, -/**/ 0x242A088D, 0xBF34FE47, -/**/ 0x8C000000, 0x3F34FF23, -/**/ 0x6BB44A6D, 0x3D2C8440, -/**/ 0xE0D052CF, 0xBF351E41, -/**/ 0xEA400000, 0x3F351F20, -/**/ 0x0048AAF8, 0x3D16C6ED, -/**/ 0x957897BD, 0xBF353E3C, -/**/ 0x44800000, 0x3F353F1E, -/**/ 0xF506A07E, 0xBD01ADF4, -/**/ 0x4222DA57, 0xBF355E37, -/**/ 0x9AC00000, 0x3F355F1B, -/**/ 0x4B88A655, 0xBD22E69B, -/**/ 0xE6CF1D9B, 0xBF357E31, -/**/ 0xED000000, 0x3F357F18, -/**/ 0x153DAEB0, 0xBD3005F2, -/**/ 0x837D6488, 0xBF359E2C, -/**/ 0x3B400000, 0x3F359F16, -/**/ 0x2D5222B4, 0xBD35ECAC, -/**/ 0x182DB21E, 0xBF35BE27, -/**/ 0x85800000, 0x3F35BF13, -/**/ 0x2EA6CB14, 0xBD3B267C, -/**/ 0xA4E0095B, 0xBF35DE21, -/**/ 0xCBC00000, 0x3F35DF10, -/**/ 0x5A40A340, 0xBD3FB262, -/**/ 0x29946D3F, 0xBF35FE1C, -/**/ 0x0DC00000, 0x3F35FF0E, -/**/ 0x0E7B79ED, 0x3D3C70A1, -/**/ 0xA64AE0C7, 0xBF361E16, -/**/ 0x4C000000, 0x3F361F0B, -/**/ 0xC9C8D263, 0x3D39438D, -/**/ 0x1B0366F4, 0xBF363E11, -/**/ 0x86400000, 0x3F363F08, -/**/ 0x9582CD0C, 0x3D36C763, -/**/ 0x87BE02C5, 0xBF365E0B, -/**/ 0xBC800000, 0x3F365F05, -/**/ 0x2F24F1F9, 0x3D34FD22, -/**/ 0xEC7AB737, 0xBF367E05, -/**/ 0xEEC00000, 0x3F367F02, -/**/ 0x53CAEA94, 0x3D33E5C9, -/**/ 0x4939874A, 0xBF369E00, -/**/ 0x1D000000, 0x3F369F00, -/**/ 0xC03081D0, 0x3D338258, -/**/ 0x9DFA75FE, 0xBF36BDFA, -/**/ 0x47400000, 0x3F36BEFD, -/**/ 0x30B1A458, 0x3D33D3D0, -/**/ 0xEABD8651, 0xBF36DDF4, -/**/ 0x6D800000, 0x3F36DEFA, -/**/ 0x614A60C1, 0x3D34DB2F, -/**/ 0x2F82BB41, 0xBF36FDEF, -/**/ 0x8FC00000, 0x3F36FEF7, -/**/ 0x0D96E7B8, 0x3D369976, -/**/ 0x6C4A17CF, 0xBF371DE9, -/**/ 0xAE000000, 0x3F371EF4, -/**/ 0xF0D38C30, 0x3D390FA3, -/**/ 0xA1139EF8, 0xBF373DE3, -/**/ 0xC8400000, 0x3F373EF1, -/**/ 0xC5DCC397, 0x3D3C3EB8, -/**/ 0xCDDF53BC, 0xBF375DDD, -/**/ 0xDEC00000, 0x3F375EEE, -/**/ 0xB8D0D9FD, 0xBD3FD84B, -/**/ 0xF2AD3919, 0xBF377DD7, -/**/ 0xF1000000, 0x3F377EEB, -/**/ 0xD11891A0, 0xBD3B3469, -/**/ 0x0F7D520F, 0xBF379DD2, -/**/ 0xFF400000, 0x3F379EE8, -/**/ 0xC93D855B, 0xBD35D4A1, -/**/ 0x244FA19D, 0xBF37BDCC, -/**/ 0x09800000, 0x3F37BEE6, -/**/ 0xCFC56806, 0xBD2F6FE7, -/**/ 0x31242AC1, 0xBF37DDC6, -/**/ 0x0FC00000, 0x3F37DEE3, -/**/ 0xE815F202, 0xBD21BAC0, -/**/ 0x35FAF079, 0xBF37FDC0, -/**/ 0x12000000, 0x3F37FEE0, -/**/ 0x5190C28B, 0xBCF43E7B, -/**/ 0x32D3F5C6, 0xBF381DBA, -/**/ 0x10400000, 0x3F381EDD, -/**/ 0x34C1F9E9, 0x3D1C55D8, -/**/ 0x27AF3DA6, 0xBF383DB4, -/**/ 0x0A800000, 0x3F383EDA, -/**/ 0x8AAF36D4, 0x3D302FB8, -/**/ 0x148CCB18, 0xBF385DAE, -/**/ 0x00C00000, 0x3F385ED7, -/**/ 0x7AE0D0F8, 0x3D3A0BDF, -/**/ 0xF96CA11B, 0xBF387DA7, -/**/ 0xF3400000, 0x3F387ED3, -/**/ 0x6B1CDAAF, 0xBD3B5515, -/**/ 0xD64EC2AD, 0xBF389DA1, -/**/ 0xE1800000, 0x3F389ED0, -/**/ 0xE1179E5E, 0xBD2FE44C, -/**/ 0xAB3332CD, 0xBF38BD9B, -/**/ 0xCBC00000, 0x3F38BECD, -/**/ 0xF86F56EC, 0xBD0E529E, -/**/ 0x7819F47A, 0xBF38DD95, -/**/ 0xB2000000, 0x3F38DECA, -/**/ 0xFEB631AB, 0x3D2246C3, -/**/ 0x3D030AB4, 0xBF38FD8F, -/**/ 0x94400000, 0x3F38FEC7, -/**/ 0xE04DA791, 0x3D36D7FA, -/**/ 0xF9EE7878, 0xBF391D88, -/**/ 0x72C00000, 0x3F391EC4, -/**/ 0x86F7ADBB, 0xBD3AAB89, -/**/ 0xAEDC40C7, 0xBF393D82, -/**/ 0x4D000000, 0x3F393EC1, -/**/ 0x032C6155, 0xBD26CC57, -/**/ 0x5BCC669D, 0xBF395D7C, -/**/ 0x23400000, 0x3F395EBE, -/**/ 0x93C3EB3D, 0x3D12A452, -/**/ 0x00BEECFB, 0xBF397D76, -/**/ 0xF5800000, 0x3F397EBA, -/**/ 0xA0BCD695, 0x3D358336, -/**/ 0x9DB3D6E0, 0xBF399D6F, -/**/ 0xC4000000, 0x3F399EB7, -/**/ 0xDA737570, 0xBD38D6C5, -/**/ 0x32AB2749, 0xBF39BD69, -/**/ 0x8E400000, 0x3F39BEB4, -/**/ 0x65026C7D, 0xBD198F84, -/**/ 0xBFA4E136, 0xBF39DD62, -/**/ 0x54800000, 0x3F39DEB1, -/**/ 0x2EA9B41A, 0x3D29B9C9, -/**/ 0x44A107A5, 0xBF39FD5C, -/**/ 0x17000000, 0x3F39FEAE, -/**/ 0x16137ACF, 0xBD3F1375, -/**/ 0xC19F9D96, 0xBF3A1D55, -/**/ 0xD5400000, 0x3F3A1EAA, -/**/ 0xDE73AFA0, 0xBD2467DC, -/**/ 0x36A0A607, 0xBF3A3D4F, -/**/ 0x8F800000, 0x3F3A3EA7, -/**/ 0x7B8357C6, 0x3D26F8F0, -/**/ 0xA3A423F7, 0xBF3A5D48, -/**/ 0x46000000, 0x3F3A5EA4, -/**/ 0x5DA0DFB7, 0xBD3E0141, -/**/ 0x08AA1A64, 0xBF3A7D42, -/**/ 0xF8400000, 0x3F3A7EA0, -/**/ 0x41050D29, 0xBD1AB06E, -/**/ 0x65B28C4E, 0xBF3A9D3B, -/**/ 0xA6800000, 0x3F3A9E9D, -/**/ 0x56A0E005, 0x3D317CE9, -/**/ 0xBABD7CB3, 0xBF3ABD34, -/**/ 0x51000000, 0x3F3ABE9A, -/**/ 0xF899EF39, 0xBD358532, -/**/ 0x07CAEE92, 0xBF3ADD2E, -/**/ 0xF7400000, 0x3F3ADE96, -/**/ 0xC83BF5C2, 0x3D113A3C, -/**/ 0x4CDAE4EA, 0xBF3AFD27, -/**/ 0x99800000, 0x3F3AFE93, -/**/ 0x863C7C8E, 0x3D3EF92F, -/**/ 0x89ED62B9, 0xBF3B1D20, -/**/ 0x38000000, 0x3F3B1E90, -/**/ 0x3341CC3C, 0xBD161149, -/**/ 0xBF026AFE, 0xBF3B3D19, -/**/ 0xD2400000, 0x3F3B3E8C, -/**/ 0x67C955DF, 0x3D36D709, -/**/ 0xEC1A00B8, 0xBF3B5D12, -/**/ 0x68C00000, 0x3F3B5E89, -/**/ 0x5AE9B17A, 0xBD27E77B, -/**/ 0x113426E6, 0xBF3B7D0C, -/**/ 0xFB000000, 0x3F3B7E85, -/**/ 0x219679DE, 0x3D321C58, -/**/ 0x2E50E086, 0xBF3B9D05, -/**/ 0x89800000, 0x3F3B9E82, -/**/ 0xFAA62113, 0xBD2DEF6A, -/**/ 0x43703097, 0xBF3BBCFE, -/**/ 0x13C00000, 0x3F3BBE7F, -/**/ 0x23305306, 0x3D30D119, -/**/ 0x50921A17, 0xBF3BDCF7, -/**/ 0x9A400000, 0x3F3BDE7B, -/**/ 0x9FBACE27, 0xBD2D1078, -/**/ 0x55B6A006, 0xBF3BFCF0, -/**/ 0x1C800000, 0x3F3BFE78, -/**/ 0xD625DF1E, 0x3D32FD49, -/**/ 0x52DDC563, 0xBF3C1CE9, -/**/ 0x9B000000, 0x3F3C1E74, -/**/ 0x7D07255B, 0xBD253AA9, -/**/ 0x48078D2B, 0xBF3C3CE2, -/**/ 0x15400000, 0x3F3C3E71, -/**/ 0x9E08B538, 0x3D38A8E7, -/**/ 0x3533FA5D, 0xBF3C5CDB, -/**/ 0x8BC00000, 0x3F3C5E6D, -/**/ 0x45956AFC, 0xBD09780B, -/**/ 0x1A630FF9, 0xBF3C7CD4, -/**/ 0xFE400000, 0x3F3C7E69, -/**/ 0x2792F44E, 0xBD3E2410, -/**/ 0xF794D0FC, 0xBF3C9CCC, -/**/ 0x6C800000, 0x3F3C9E66, -/**/ 0x30AB4456, 0x3D1F2AEC, -/**/ 0xCCC94066, 0xBF3CBCC5, -/**/ 0xD7000000, 0x3F3CBE62, -/**/ 0x231641D5, 0xBD3161A0, -/**/ 0x9A006135, 0xBF3CDCBE, -/**/ 0x3D400000, 0x3F3CDE5F, -/**/ 0xF4AD1934, 0x3D3657DD, -/**/ 0x5F3A3668, 0xBF3CFCB7, -/**/ 0x9FC00000, 0x3F3CFE5B, -/**/ 0x2E7AC798, 0xBCF07CB0, -/**/ 0x1C76C2FD, 0xBF3D1CB0, -/**/ 0xFE400000, 0x3F3D1E57, -/**/ 0x6090F643, 0xBD377F9B, -/**/ 0xD1B609F3, 0xBF3D3CA8, -/**/ 0x58800000, 0x3F3D3E54, -/**/ 0x849503E6, 0x3D32F16C, -/**/ 0x7EF80E49, 0xBF3D5CA1, -/**/ 0xAF000000, 0x3F3D5E50, -/**/ 0xAF1CA4EA, 0xBCFB3B3A, -/**/ 0x243CD2FE, 0xBF3D7C9A, -/**/ 0x01800000, 0x3F3D7E4D, -/**/ 0x4701415B, 0xBD356DFC, -/**/ 0xC1845B0F, 0xBF3D9C92, -/**/ 0x4FC00000, 0x3F3D9E49, -/**/ 0x582AEA48, 0x3D37C392, -/**/ 0x56CEA97C, 0xBF3DBC8B, -/**/ 0x9A400000, 0x3F3DBE45, -/**/ 0x67DCC15E, 0x3D1787DF, -/**/ 0xE41BC143, 0xBF3DDC83, -/**/ 0xE0C00000, 0x3F3DDE41, -/**/ 0x352F961F, 0xBD262398, -/**/ 0x696BA563, 0xBF3DFC7C, -/**/ 0x23400000, 0x3F3DFE3E, -/**/ 0xDEDD373A, 0xBD3B16B9, -/**/ 0xE6BE58DA, 0xBF3E1C74, -/**/ 0x61800000, 0x3F3E1E3A, -/**/ 0x336BE94B, 0x3D35D42E, -/**/ 0x5C13DEA7, 0xBF3E3C6D, -/**/ 0x9C000000, 0x3F3E3E36, -/**/ 0x08A303A2, 0x3D1EBFAF, -/**/ 0xC96C39C9, 0xBF3E5C65, -/**/ 0xD2800000, 0x3F3E5E32, -/**/ 0x34856362, 0xBD160A06, -/**/ 0x2EC76D3D, 0xBF3E7C5E, -/**/ 0x05000000, 0x3F3E7E2F, -/**/ 0x154CDF1A, 0xBD31C21A, -/**/ 0x8C257C04, 0xBF3E9C56, -/**/ 0x33800000, 0x3F3E9E2B, -/**/ 0x31941F7F, 0xBD3D0DDE, -/**/ 0xE186691B, 0xBF3EBC4E, -/**/ 0x5DC00000, 0x3F3EBE27, -/**/ 0xC26EC60D, 0x3D389B31, -/**/ 0x2EEA3781, 0xBF3EDC47, -/**/ 0x84400000, 0x3F3EDE23, -/**/ 0xD583BEF8, 0x3D2E742A, -/**/ 0x7450EA34, 0xBF3EFC3F, -/**/ 0xA6C00000, 0x3F3EFE1F, -/**/ 0xAC2DA351, 0x3D1B3F31, -/**/ 0xB1BA8433, 0xBF3F1C37, -/**/ 0xC5400000, 0x3F3F1E1B, -/**/ 0x2DC67430, 0xBCE45533, -/**/ 0xE727087C, 0xBF3F3C2F, -/**/ 0xDFC00000, 0x3F3F3E17, -/**/ 0xFF1174AE, 0xBD1C7133, -/**/ 0x14967A0F, 0xBF3F5C28, -/**/ 0xF6400000, 0x3F3F5E13, -/**/ 0x4AE098DC, 0xBD29383C, -/**/ 0x3A08DBE9, 0xBF3F7C20, -/**/ 0x08C00000, 0x3F3F7E10, -/**/ 0x684B0B3B, 0xBD31211D, -/**/ 0x577E3109, 0xBF3F9C18, -/**/ 0x17400000, 0x3F3F9E0C, -/**/ 0x268D7464, 0xBD34AA4B, -/**/ 0x6CF67C6E, 0xBF3FBC10, -/**/ 0x21C00000, 0x3F3FBE08, -/**/ 0xBED03388, 0xBD3736A7, -/**/ 0x7A71C116, 0xBF3FDC08, -/**/ 0x28400000, 0x3F3FDE04, -/**/ 0x900BC4E5, 0xBD38C533, -/**/ 0x7FF00200, 0xBF3FFC00, -/**/ 0x2AC00000, 0x3F3FFE00, -/**/ 0xF9987527, 0xBD3954EE, -/**/ 0x3EB8A115, 0xBF400DFC, -/**/ 0x14A00000, 0x3F400EFE, -/**/ 0x5B2E613B, 0xBD38E4DA, -/**/ 0x397AC249, 0xBF401DF8, -/**/ 0x11E00000, 0x3F401EFC, -/**/ 0x14E5761B, 0xBD3773F6, -/**/ 0x303E661C, 0xBF402DF4, -/**/ 0x0D200000, 0x3F402EFA, -/**/ 0x873570A0, 0xBD350142, -/**/ 0x23038E0C, 0xBF403DF0, -/**/ 0x06600000, 0x3F403EF8, -/**/ 0x12F5DD53, 0xBD318BC0, -/**/ 0x11CA3B9A, 0xBF404DEC, -/**/ 0xFDA00000, 0x3F404EF5, -/**/ 0x32BC307C, 0xBD2A24DE, -/**/ 0xFC927044, 0xBF405DE7, -/**/ 0xF2E00000, 0x3F405EF3, -/**/ 0xF01532DA, 0xBD1E513F, -/**/ 0xE35C2D8A, 0xBF406DE3, -/**/ 0xE6200000, 0x3F406EF1, -/**/ 0xCE27534E, 0xBCF10631, -/**/ 0xC62774EA, 0xBF407DDF, -/**/ 0xD7600000, 0x3F407EEF, -/**/ 0x86CE9380, 0x3D19E95C, -/**/ 0xA4F447E4, 0xBF408DDB, -/**/ 0xC6A00000, 0x3F408EED, -/**/ 0xBA0CD2C3, 0x3D2E19BC, -/**/ 0x7FC2A7F8, 0xBF409DD7, -/**/ 0xB3E00000, 0x3F409EEB, -/**/ 0x31FF7199, 0x3D38A832, -/**/ 0x569296A4, 0xBF40ADD3, -/**/ 0x9F400000, 0x3F40AEE9, -/**/ 0xC2D77791, 0xBD3CB2AD, -/**/ 0x29641567, 0xBF40BDCF, -/**/ 0x88800000, 0x3F40BEE7, -/**/ 0xE5545563, 0xBD3102C1, -/**/ 0xF83725C2, 0xBF40CDCA, -/**/ 0x6FC00000, 0x3F40CEE5, -/**/ 0x66B3E48D, 0xBD111C2A, -/**/ 0xC30BC932, 0xBF40DDC6, -/**/ 0x55000000, 0x3F40DEE3, -/**/ 0x7711FC2A, 0x3D2302EF, -/**/ 0x89E20138, 0xBF40EDC2, -/**/ 0x38400000, 0x3F40EEE1, -/**/ 0xB558238E, 0x3D3857C4, -/**/ 0x4CB9CF52, 0xBF40FDBE, -/**/ 0x19A00000, 0x3F40FEDF, -/**/ 0x1194C2E1, 0xBD37C324, -/**/ 0x0B933501, 0xBF410DBA, -/**/ 0xF8E00000, 0x3F410EDC, -/**/ 0xFBCAF285, 0xBD1B390B, -/**/ 0xC66E33C2, 0xBF411DB5, -/**/ 0xD6200000, 0x3F411EDA, -/**/ 0x0E52C3A4, 0x3D266ECF, -/**/ 0x7D4ACD15, 0xBF412DB1, -/**/ 0xB1600000, 0x3F412ED8, -/**/ 0x1A4AF71D, 0x3D3E4EDB, -/**/ 0x30290279, 0xBF413DAD, -/**/ 0x8AC00000, 0x3F413ED6, -/**/ 0x58C4D599, 0xBD2B0DD1, -/**/ 0xDF08D56E, 0xBF414DA8, -/**/ 0x62000000, 0x3F414ED4, -/**/ 0x2FB4061D, 0x3D1EDC6F, -/**/ 0x89EA4773, 0xBF415DA4, -/**/ 0x37400000, 0x3F415ED2, -/**/ 0x1BA53538, 0x3D3E09E8, -/**/ 0x30CD5A06, 0xBF416DA0, -/**/ 0x0AA00000, 0x3F416ED0, -/**/ 0x4A5B4574, 0xBD251B08, -/**/ 0xD3B20EA8, 0xBF417D9B, -/**/ 0xDBE00000, 0x3F417ECD, -/**/ 0x4241B57B, 0x3D2BE3AD, -/**/ 0x729866D7, 0xBF418D97, -/**/ 0xAB400000, 0x3F418ECB, -/**/ 0xFA22BD16, 0xBD387707, -/**/ 0x0D806412, 0xBF419D93, -/**/ 0x78800000, 0x3F419EC9, -/**/ 0xFFA2FC2F, 0x3D01C6FC, -/**/ 0xA46A07D9, 0xBF41AD8E, -/**/ 0x43C00000, 0x3F41AEC7, -/**/ 0x05F32EE8, 0x3D3E028D, -/**/ 0x375553AB, 0xBF41BD8A, -/**/ 0x0D200000, 0x3F41BEC5, -/**/ 0xC7E46F2B, 0xBD146400, -/**/ 0xC6424907, 0xBF41CD85, -/**/ 0xD4600000, 0x3F41CEC2, -/**/ 0x8DFCE791, 0x3D38E737, -/**/ 0x5130E96B, 0xBF41DD81, -/**/ 0x99C00000, 0x3F41DEC0, -/**/ 0x92F4A6CE, 0xBD1FEF30, -/**/ 0xD8213659, 0xBF41ED7C, -/**/ 0x5D000000, 0x3F41EEBE, -/**/ 0x4AE68315, 0x3D383EF4, -/**/ 0x5B13314D, 0xBF41FD78, -/**/ 0x1E600000, 0x3F41FEBC, -/**/ 0x39A8276A, 0xBD199E1E, -/**/ 0xDA06DBC8, 0xBF420D73, -/**/ 0xDDA00000, 0x3F420EB9, -/**/ 0xE39F6D77, 0x3D3C11BF, -/**/ 0x54FC3749, 0xBF421D6F, -/**/ 0x9B000000, 0x3F421EB7, -/**/ 0xC3A8C440, 0xBCD50D72, -/**/ 0xCBF3454F, 0xBF422D6A, -/**/ 0x56600000, 0x3F422EB5, -/**/ 0x06E59170, 0xBD3B9869, -/**/ 0x3EEC0759, 0xBF423D66, -/**/ 0x0FA00000, 0x3F423EB3, -/**/ 0x86930551, 0x3D248C4B, -/**/ 0xADE67EE6, 0xBF424D61, -/**/ 0xC7000000, 0x3F424EB0, -/**/ 0xB3649FF7, 0xBD2D6F13, -/**/ 0x18E2AD76, 0xBF425D5D, -/**/ 0x7C400000, 0x3F425EAE, -/**/ 0xB496441D, 0x3D396F87, -/**/ 0x7FE09487, 0xBF426D58, -/**/ 0x2FA00000, 0x3F426EAC, -/**/ 0x01961A2F, 0x3D05E2D0, -/**/ 0xE2E03598, 0xBF427D53, -/**/ 0xE1000000, 0x3F427EA9, -/**/ 0x652D1720, 0xBD32D013, -/**/ 0x41E1922A, 0xBF428D4F, -/**/ 0x90400000, 0x3F428EA7, -/**/ 0x15C6A78A, 0x3D38CB3F, -/**/ 0x9CE4ABBA, 0xBF429D4A, -/**/ 0x3DA00000, 0x3F429EA5, -/**/ 0x07F8A52A, 0x3D163D44, -/**/ 0xF3E983C8, 0xBF42AD45, -/**/ 0xE9000000, 0x3F42AEA2, -/**/ 0x1FEC6070, 0xBD2905BC, -/**/ 0x46F01BD4, 0xBF42BD41, -/**/ 0x92600000, 0x3F42BEA0, -/**/ 0x8FE5CB8E, 0xBD3D6A4E, -/**/ 0x95F8755C, 0xBF42CD3C, -/**/ 0x39A00000, 0x3F42CE9E, -/**/ 0x120028B6, 0x3D32D9FF, -/**/ 0xE10291DF, 0xBF42DD37, -/**/ 0xDF000000, 0x3F42DE9B, -/**/ 0x94B2D8A6, 0x3D112C29, -/**/ 0x280E72DD, 0xBF42ED33, -/**/ 0x82600000, 0x3F42EE99, -/**/ 0x0E9DC27F, 0xBD222C5A, -/**/ 0x6B1C19D4, 0xBF42FD2E, -/**/ 0x23C00000, 0x3F42FE97, -/**/ 0xA4C12307, 0xBD3548A7, -/**/ 0xAA2B8844, 0xBF430D29, -/**/ 0xC3000000, 0x3F430E94, -/**/ 0x1B27A40C, 0x3D3FB49A, -/**/ 0xE53CBFAC, 0xBF431D24, -/**/ 0x60600000, 0x3F431E92, -/**/ 0xC65D601D, 0x3D35E297, -/**/ 0x1C4FC18B, 0xBF432D20, -/**/ 0xFBC00000, 0x3F432E8F, -/**/ 0xD4E46CD5, 0x3D2A84A1, -/**/ 0x4F648F60, 0xBF433D1B, -/**/ 0x95200000, 0x3F433E8D, -/**/ 0x526215F8, 0x3D175314, -/**/ 0x7E7B2AAB, 0xBF434D16, -/**/ 0x2C800000, 0x3F434E8B, -/**/ 0x9746A94C, 0xBCD9430B, -/**/ 0xA99394E9, 0xBF435D11, -/**/ 0xC1E00000, 0x3F435E88, -/**/ 0x47EF6144, 0xBD15A88D, -/**/ 0xD0ADCF9B, 0xBF436D0C, -/**/ 0x55400000, 0x3F436E86, -/**/ 0x94614FFB, 0xBD227301, -/**/ 0xF3C9DC3F, 0xBF437D07, -/**/ 0xE6A00000, 0x3F437E83, -/**/ 0x16908831, 0xBD27A44A, -/**/ 0x12E7BC55, 0xBF438D03, -/**/ 0x76000000, 0x3F438E81, -/**/ 0x13DE59AC, 0xBD2A6621, -/**/ 0x2E07715C, 0xBF439CFE, -/**/ 0x03600000, 0x3F439E7F, -/**/ 0x76635000, 0xBD2AB687, -/**/ 0x4528FCD2, 0xBF43ACF9, -/**/ 0x8EC00000, 0x3F43AE7C, -/**/ 0x28F7818F, 0xBD28937E, -/**/ 0x584C6037, 0xBF43BCF4, -/**/ 0x18200000, 0x3F43BE7A, -/**/ 0x17328F27, 0xBD23FB06, -/**/ 0x67719D0A, 0xBF43CCEF, -/**/ 0x9F800000, 0x3F43CE77, -/**/ 0x5AD74747, 0xBD19D640, -/**/ 0x7298B4CA, 0xBF43DCEA, -/**/ 0x24E00000, 0x3F43DE75, -/**/ 0xC5CB9C74, 0xBCFB0E6A, -/**/ 0x79C1A8F6, 0xBF43ECE5, -/**/ 0xA8400000, 0x3F43EE72, -/**/ 0xF21B8682, 0x3D1145E2, -/**/ 0x7CEC7B0D, 0xBF43FCE0, -/**/ 0x29A00000, 0x3F43FE70, -/**/ 0x59543A06, 0x3D27251B, -/**/ 0x7C192C8E, 0xBF440CDB, -/**/ 0xA9000000, 0x3F440E6D, -/**/ 0xAC6250B6, 0x3D341357, -/**/ 0x7747BEF8, 0xBF441CD6, -/**/ 0x26600000, 0x3F441E6B, -/**/ 0x43A510F7, 0x3D3DD4D6, -/**/ 0x6E7833CB, 0xBF442CD1, -/**/ 0xA1E00000, 0x3F442E68, -/**/ 0x05F7D1E1, 0xBD3727F7, -/**/ 0x61AA8C85, 0xBF443CCC, -/**/ 0x1B400000, 0x3F443E66, -/**/ 0x527C9668, 0xBD25C421, -/**/ 0x50DECAA5, 0xBF444CC7, -/**/ 0x92A00000, 0x3F444E63, -/**/ 0x053F70AC, 0x3D053C47, -/**/ 0x3C14EFAB, 0xBF445CC2, -/**/ 0x08000000, 0x3F445E61, -/**/ 0x1E315FBB, 0x3D3175D5, -/**/ 0x234CFD15, 0xBF446CBD, -/**/ 0x7B800000, 0x3F446E5E, -/**/ 0x6A8B33AC, 0xBD3E762C, -/**/ 0x0686F463, 0xBF447CB8, -/**/ 0xECE00000, 0x3F447E5B, -/**/ 0x67AD9900, 0xBD2A36F8, -/**/ 0xE5C2D713, 0xBF448CB2, -/**/ 0x5C400000, 0x3F448E59, -/**/ 0x1E974853, 0x3D161B95, -/**/ 0xC100A6A5, 0xBF449CAD, -/**/ 0xC9A00000, 0x3F449E56, -/**/ 0x8CE22250, 0x3D3971F7, -/**/ 0x98406498, 0xBF44ACA8, -/**/ 0x35200000, 0x3F44AE54, -/**/ 0xDF8A23F8, 0xBD315945, -/**/ 0x6B82126A, 0xBF44BCA3, -/**/ 0x9E800000, 0x3F44BE51, -/**/ 0x1A63D360, 0x3D1498B2, -/**/ 0x3AC5B19B, 0xBF44CC9E, -/**/ 0x05E00000, 0x3F44CE4F, -/**/ 0x4323A054, 0x3D3CF14E, -/**/ 0x060B43AA, 0xBF44DC99, -/**/ 0x6B600000, 0x3F44DE4C, -/**/ 0x4CE35F94, 0xBD23EDC2, -/**/ 0xCD52CA15, 0xBF44EC93, -/**/ 0xCEC00000, 0x3F44EE49, -/**/ 0xCCF1B48E, 0x3D306E9D, -/**/ 0x909C465C, 0xBF44FC8E, -/**/ 0x30400000, 0x3F44FE47, -/**/ 0x5FF9440B, 0xBD33DD35, -/**/ 0x4FE7B9FF, 0xBF450C89, -/**/ 0x8FA00000, 0x3F450E44, -/**/ 0xAA4D276D, 0x3D224D49, -/**/ 0x0B35267A, 0xBF451C84, -/**/ 0xED200000, 0x3F451E41, -/**/ 0x11B557F9, 0xBD3884D4, -/**/ 0xC2848D4F, 0xBF452C7E, -/**/ 0x48800000, 0x3F452E3F, -/**/ 0xB43290C4, 0x3D1C857D, -/**/ 0x75D5EFFC, 0xBF453C79, -/**/ 0xA2000000, 0x3F453E3C, -/**/ 0x2D598D3C, 0xBD37E5C1, -/**/ 0x25294FFF, 0xBF454C74, -/**/ 0xF9600000, 0x3F454E39, -/**/ 0x3FE47B89, 0x3D24CD93, -/**/ 0xD07EAED8, 0xBF455C6E, -/**/ 0x4EE00000, 0x3F455E37, -/**/ 0xAA959122, 0xBD31F800, -/**/ 0x77D60E06, 0xBF456C69, -/**/ 0xA2400000, 0x3F456E34, -/**/ 0x7329AF92, 0x3D32FEDF, -/**/ 0x1B2F6F08, 0xBF457C64, -/**/ 0xF3C00000, 0x3F457E31, -/**/ 0x1C545A6F, 0xBD1ACE5A, -/**/ 0xBA8AD35D, 0xBF458C5E, -/**/ 0x43400000, 0x3F458E2F, -/**/ 0x19F6B9EF, 0xBD3F0E63, -/**/ 0x55E83C84, 0xBF459C59, -/**/ 0x90A00000, 0x3F459E2C, -/**/ 0x73005F6F, 0x3D23DEF2, -/**/ 0xED47ABFB, 0xBF45AC53, -/**/ 0xDC200000, 0x3F45AE29, -/**/ 0x1C295DE7, 0xBD277204, -/**/ 0x80A92343, 0xBF45BC4E, -/**/ 0x25800000, 0x3F45BE27, -/**/ 0x8D869589, 0x3D3FF92A, -/**/ 0x100CA3D9, 0xBF45CC49, -/**/ 0x6D000000, 0x3F45CE24, -/**/ 0x145C5335, 0x3D2A0DFD, -/**/ 0x9B722F3C, 0xBF45DC43, -/**/ 0xB2800000, 0x3F45DE21, -/**/ 0x6A8614B3, 0xBD123A1A, -/**/ 0x22D9C6ED, 0xBF45EC3E, -/**/ 0xF6000000, 0x3F45EE1E, -/**/ 0x63CBC7E7, 0xBD34C665, -/**/ 0xA6436C69, 0xBF45FC38, -/**/ 0x37600000, 0x3F45FE1C, -/**/ 0xAB6C51D7, 0x3D3C6061, -/**/ 0x25AF2130, 0xBF460C33, -/**/ 0x76E00000, 0x3F460E19, -/**/ 0x1EC7F453, 0x3D2DCD9C, -/**/ 0xA11CE6C1, 0xBF461C2D, -/**/ 0xB4600000, 0x3F461E16, -/**/ 0x20C52899, 0x3D066EFA, -/**/ 0x188CBE9A, 0xBF462C28, -/**/ 0xEFE00000, 0x3F462E13, -/**/ 0xEB5FDD5C, 0xBD1FA5AC, -/**/ 0x8BFEAA3B, 0xBF463C22, -/**/ 0x29600000, 0x3F463E11, -/**/ 0xF22FE2BC, 0xBD313E11, -/**/ 0xFB72AB23, 0xBF464C1C, -/**/ 0x60E00000, 0x3F464E0E, -/**/ 0x6710E251, 0xBD392F15, -/**/ 0x66E8C2D0, 0xBF465C17, -/**/ 0x96600000, 0x3F465E0B, -/**/ 0x1EFC78A7, 0xBD3FBB76, -/**/ 0xCE60F2C1, 0xBF466C11, -/**/ 0xC9C00000, 0x3F466E08, -/**/ 0x602C1A84, 0x3D3B1DCB, -/**/ 0x31DB3C76, 0xBF467C0C, -/**/ 0xFB400000, 0x3F467E05, -/**/ 0x9027DA74, 0x3D375DAE, -/**/ 0x9157A16E, 0xBF468C06, -/**/ 0x2AC00000, 0x3F468E03, -/**/ 0xEA560DA0, 0x3D350532, -/**/ 0xECD62326, 0xBF469C00, -/**/ 0x58400000, 0x3F469E00, -/**/ 0xE7B63DE2, 0x3D341557 } }; - -#endif -#endif diff --git a/sysdeps/m68k/m680x0/fpu/e_pow_log_data.c b/sysdeps/m68k/m680x0/fpu/e_pow_log_data.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/m68k/m680x0/fpu/e_pow_log_data.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/x86_64/fpu/multiarch/Makefile b/sysdeps/x86_64/fpu/multiarch/Makefile index 9f387248aa..3836574f48 100644 --- a/sysdeps/x86_64/fpu/multiarch/Makefile +++ b/sysdeps/x86_64/fpu/multiarch/Makefile @@ -20,7 +20,7 @@ CFLAGS-e_asin-fma.c = -mfma -mavx2 CFLAGS-e_atan2-fma.c = -mfma -mavx2 CFLAGS-e_exp-fma.c = -mfma -mavx2 CFLAGS-e_log-fma.c = -mfma -mavx2 -CFLAGS-e_pow-fma.c = -mfma -mavx2 $(config-cflags-nofma) +CFLAGS-e_pow-fma.c = -mfma -mavx2 CFLAGS-mpa-fma.c = -mfma -mavx2 CFLAGS-mpatan-fma.c = -mfma -mavx2 CFLAGS-mpatan2-fma.c = -mfma -mavx2 @@ -57,7 +57,7 @@ CFLAGS-e_asin-fma4.c = -mfma4 CFLAGS-e_atan2-fma4.c = -mfma4 CFLAGS-e_exp-fma4.c = -mfma4 CFLAGS-e_log-fma4.c = -mfma4 -CFLAGS-e_pow-fma4.c = -mfma4 $(config-cflags-nofma) +CFLAGS-e_pow-fma4.c = -mfma4 CFLAGS-mpa-fma4.c = -mfma4 CFLAGS-mpatan-fma4.c = -mfma4 CFLAGS-mpatan2-fma4.c = -mfma4