* [PATCH 00/10] Optimized math routines @ 2018-07-06 8:49 Szabolcs Nagy 2018-07-06 8:57 ` [PATCH 02/10] Improve performance of sincosf Szabolcs Nagy ` (13 more replies) 0 siblings, 14 replies; 45+ messages in thread From: Szabolcs Nagy @ 2018-07-06 8:49 UTC (permalink / raw) To: GNU C Library; +Cc: nd, Wilco Dijkstra, Joseph Myers Optimized exp, exp2, log, log2, pow, sinf, cosf and sincosf implementations. I updated the patches according to comments. I included the sincosf patches from Wilco, but split out the math_config.h toint changes into a separate patch. This set does not include the wrapper removal that changes ABI. I'm still testing those and they can be applied separately. The new exp increases the ulp error bounds in non-nearest rounding modes, so ulp updates are needed. Szabolcs Nagy (8): Clean up converttoint handling and document the semantics Add new exp and exp2 implementations aarch64: update libm-test-ulps arm: update libm-test-ulps x86_64: update libm-test-ulps Add new log implementation Add new log2 implementation Add new pow implementation Wilco Dijkstra (2): Improve performance of sincosf Improve performance of sinf and cosf NEWS | 2 + math/Makefile | 7 +- sysdeps/aarch64/fpu/math_private.h | 17 +- sysdeps/aarch64/libm-test-ulps | 112 +- sysdeps/arm/libm-test-ulps | 88 +- sysdeps/generic/math_private.h | 1 - sysdeps/i386/fpu/e_exp_data.c | 1 + sysdeps/i386/fpu/e_log2_data.c | 1 + sysdeps/i386/fpu/e_log_data.c | 1 + sysdeps/i386/fpu/e_pow_log_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/e_log2_data.c | 1 + sysdeps/ia64/fpu/e_log_data.c | 1 + sysdeps/ia64/fpu/e_pow_log_data.c | 1 + sysdeps/ia64/fpu/math_err.c | 1 + sysdeps/ia64/fpu/s_sincosf_data.c | 1 + sysdeps/ia64/fpu/t_exp.c | 1 - sysdeps/ieee754/dbl-64/Makefile | 1 - sysdeps/ieee754/dbl-64/e_exp.c | 477 +- sysdeps/ieee754/dbl-64/e_exp2.c | 220 +- sysdeps/ieee754/dbl-64/e_exp_data.c | 196 + sysdeps/ieee754/dbl-64/e_log.c | 257 +- sysdeps/ieee754/dbl-64/e_log2.c | 240 +- sysdeps/ieee754/dbl-64/e_log2_data.c | 194 + sysdeps/ieee754/dbl-64/e_log_data.c | 321 + sysdeps/ieee754/dbl-64/e_pow.c | 656 +- sysdeps/ieee754/dbl-64/e_pow_log_data.c | 173 + sysdeps/ieee754/dbl-64/eexp.tbl | 172 - sysdeps/ieee754/dbl-64/math_config.h | 187 + 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/ieee754/dbl-64/ulog.h | 93 - sysdeps/ieee754/dbl-64/ulog.tbl | 3326 -------- sysdeps/ieee754/dbl-64/upow.h | 76 - sysdeps/ieee754/dbl-64/upow.tbl | 10188 ------------------------- sysdeps/ieee754/dbl-64/wordsize-64/e_log2.c | 128 - sysdeps/ieee754/flt-32/e_expf.c | 5 +- sysdeps/ieee754/flt-32/math_config.h | 21 +- sysdeps/ieee754/flt-32/s_cosf.c | 161 +- sysdeps/ieee754/flt-32/s_sincosf.c | 197 +- sysdeps/ieee754/flt-32/s_sincosf.h | 258 +- sysdeps/ieee754/flt-32/s_sincosf_data.c | 74 + sysdeps/ieee754/flt-32/s_sinf.c | 172 +- sysdeps/m68k/m680x0/fpu/e_exp_data.c | 1 + sysdeps/m68k/m680x0/fpu/e_log2_data.c | 1 + sysdeps/m68k/m680x0/fpu/e_log_data.c | 1 + sysdeps/m68k/m680x0/fpu/e_pow_log_data.c | 1 + sysdeps/m68k/m680x0/fpu/math_err.c | 1 + sysdeps/m68k/m680x0/fpu/s_sincosf_data.c | 1 + sysdeps/m68k/m680x0/fpu/t_exp.c | 1 - sysdeps/x86_64/fpu/libm-test-ulps | 100 +- sysdeps/x86_64/fpu/multiarch/Makefile | 4 +- sysdeps/x86_64/fpu/multiarch/s_sincosf-fma.c | 33 +- 58 files changed, 2606 insertions(+), 18537 deletions(-) create mode 100644 sysdeps/i386/fpu/e_exp_data.c create mode 100644 sysdeps/i386/fpu/e_log2_data.c create mode 100644 sysdeps/i386/fpu/e_log_data.c create mode 100644 sysdeps/i386/fpu/e_pow_log_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/e_log2_data.c create mode 100644 sysdeps/ia64/fpu/e_log_data.c create mode 100644 sysdeps/ia64/fpu/e_pow_log_data.c create mode 100644 sysdeps/ia64/fpu/math_err.c create mode 100644 sysdeps/ia64/fpu/s_sincosf_data.c delete mode 100644 sysdeps/ia64/fpu/t_exp.c create mode 100644 sysdeps/ieee754/dbl-64/e_exp_data.c create mode 100644 sysdeps/ieee754/dbl-64/e_log2_data.c create mode 100644 sysdeps/ieee754/dbl-64/e_log_data.c create mode 100644 sysdeps/ieee754/dbl-64/e_pow_log_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 delete mode 100644 sysdeps/ieee754/dbl-64/ulog.h delete mode 100644 sysdeps/ieee754/dbl-64/ulog.tbl delete mode 100644 sysdeps/ieee754/dbl-64/upow.h delete mode 100644 sysdeps/ieee754/dbl-64/upow.tbl delete mode 100644 sysdeps/ieee754/dbl-64/wordsize-64/e_log2.c create mode 100644 sysdeps/ieee754/flt-32/s_sincosf_data.c create mode 100644 sysdeps/m68k/m680x0/fpu/e_exp_data.c create mode 100644 sysdeps/m68k/m680x0/fpu/e_log2_data.c create mode 100644 sysdeps/m68k/m680x0/fpu/e_log_data.c create mode 100644 sysdeps/m68k/m680x0/fpu/e_pow_log_data.c create mode 100644 sysdeps/m68k/m680x0/fpu/math_err.c create mode 100644 sysdeps/m68k/m680x0/fpu/s_sincosf_data.c delete mode 100644 sysdeps/m68k/m680x0/fpu/t_exp.c -- 2.14.1 ^ permalink raw reply [flat|nested] 45+ messages in thread
* [PATCH 02/10] Improve performance of sincosf 2018-07-06 8:49 [PATCH 00/10] Optimized math routines Szabolcs Nagy @ 2018-07-06 8:57 ` Szabolcs Nagy 2018-07-11 13:22 ` Szabolcs Nagy 2018-07-06 8:57 ` [PATCH 01/10] Clean up converttoint handling and document the semantics Szabolcs Nagy ` (12 subsequent siblings) 13 siblings, 1 reply; 45+ messages in thread From: Szabolcs Nagy @ 2018-07-06 8:57 UTC (permalink / raw) To: GNU C Library; +Cc: nd, Wilco Dijkstra, Joseph Myers [-- Attachment #1: Type: text/plain, Size: 2922 bytes --] 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 <wdijkstr@arm.com> Szabolcs Nagy <szabolcs.nagy@arm.com> * 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 [-- Attachment #2: 0002-Improve-performance-of-sincosf.diff --] [-- Type: text/x-patch, Size: 14491 bytes --] 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 @@ <http://www.gnu.org/licenses/>. */ #include <errno.h> +#include <stdint.h> #include <math.h> -#include <math_private.h> +#include <math-barriers.h> #include <libm-alias-float.h> +#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 <http://www.gnu.org/licenses/>. */ +#include <stdint.h> +#include <math.h> +#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 + <http://www.gnu.org/licenses/>. */ + +#include <stdint.h> +#include <math.h> +#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. */ ^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 02/10] Improve performance of sincosf 2018-07-06 8:57 ` [PATCH 02/10] Improve performance of sincosf Szabolcs Nagy @ 2018-07-11 13:22 ` Szabolcs Nagy 2018-08-07 20:11 ` Joseph Myers 0 siblings, 1 reply; 45+ messages in thread From: Szabolcs Nagy @ 2018-07-11 13:22 UTC (permalink / raw) To: GNU C Library; +Cc: nd, Wilco Dijkstra, Joseph Myers [-- Attachment #1: Type: text/plain, Size: 2898 bytes --] v5: - Remove PREFER_FLOAT_COMPARISION: it was unused and had broken exception semantics when enabled. 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-11 Wilco Dijkstra <wdijkstr@arm.com> Szabolcs Nagy <szabolcs.nagy@arm.com> * math/Makefile: Add s_sincosf_data.c. * sysdeps/ia64/fpu/s_sincosf_data.c: New file. * 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/s_sincosf.c | 197 ++++++++++--------------------- sysdeps/ieee754/flt-32/s_sincosf.h | 110 +++++++++++++++++ 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 + 7 files changed, 253 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 [-- Attachment #2: 0002-Improve-performance-of-sincosf.diff --] [-- Type: text/x-patch, Size: 13823 bytes --] 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/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 @@ <http://www.gnu.org/licenses/>. */ #include <errno.h> +#include <stdint.h> #include <math.h> -#include <math_private.h> +#include <math-barriers.h> #include <libm-alias-float.h> +#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..4c6b3e020a 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 <http://www.gnu.org/licenses/>. */ +#include <stdint.h> +#include <math.h> +#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,109 @@ 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; + +/* Top 12 bits of the float representation with the sign bit cleared. */ +static inline uint32_t +abstop12 (float x) +{ + return (asuint (x) >> 20) & 0x7ff; +} + +/* 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 + <http://www.gnu.org/licenses/>. */ + +#include <stdint.h> +#include <math.h> +#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. */ ^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 02/10] Improve performance of sincosf 2018-07-11 13:22 ` Szabolcs Nagy @ 2018-08-07 20:11 ` Joseph Myers 2018-08-10 12:12 ` Wilco Dijkstra 0 siblings, 1 reply; 45+ messages in thread From: Joseph Myers @ 2018-08-07 20:11 UTC (permalink / raw) To: Szabolcs Nagy; +Cc: GNU C Library, nd, Wilco Dijkstra On Wed, 11 Jul 2018, Szabolcs Nagy wrote: > +/* 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 I don't think this funny mixture of decimal and hex float notation, not a valid constant in C, is a good idea. (Saying 0.5303*0x1p-23 or similar would be fine, if that's what you mean.) > +#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); Is there a GCC bug filed for this? A reference to a specific bug number is much better than "a gcc register allocation issue" for anyone trying to tell in future if the issue is still relevant or not. > +/* PI * 2^-64. */ > +static const double pi64 = 0x1.921FB54442D18p-62; That's actually PI * 2^-63, so the comment and variable name are misleading. > + Use round/lround if inlined, otherwise convert to int. To avoid inaccuracies > + introduced by truncating negative values, compute the quadrant * 2^24. */ I think this last statement is actually describing what the [!TOINT_INTRINSICS] code does, rather than part of the interface of the function. So it should be inside that part of the #if inside the function; the comment above the function should be about what the function's interface is, not avoid such details of the implementation. However, the comment relates to *another* interface - that is, what the semantics of the hpi_inv member of sincos_t are. So I think the definition of the sincos_t struct should have comments explaining the semantics of its members, and the one on hpi_inv would explain the dependence on TOINT_INTRINSICS. > +/* 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. Aren't you actually reducing to an interval of length PI/2 (not PI/4) (it's not really clear to me what "to a multiple of PI/4" is meant to mean), with the result thus in the range -PI/4 and PI/4? (Whether __inv_pio4 is really a table of 4/PI or 2/PI is a matter of semantics for how you say the bits of that number are stored in that table. But ultimately you end up with a signed 62-bit fractional part of x*2/PI and so need to multiply by PI/2/2^62, which is why the value of your pi64 constant above is appropriate for this multiplication even though the name and comment are wrong.) -- Joseph S. Myers joseph@codesourcery.com ^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 02/10] Improve performance of sincosf 2018-08-07 20:11 ` Joseph Myers @ 2018-08-10 12:12 ` Wilco Dijkstra 2018-08-10 16:04 ` Joseph Myers 0 siblings, 1 reply; 45+ messages in thread From: Wilco Dijkstra @ 2018-08-10 12:12 UTC (permalink / raw) To: Joseph Myers, Szabolcs Nagy; +Cc: GNU C Library, nd Joseph Myers wrote: >> +/* 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 > > I don't think this funny mixture of decimal and hex float notation, not a > valid constant in C, is a good idea. (Saying 0.5303*0x1p-23 or similar > would be fine, if that's what you mean.) Fixed. >> +#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); > > Is there a GCC bug filed for this? A reference to a specific bug number > is much better than "a gcc register allocation issue" for anyone trying to > tell in future if the issue is still relevant or not. I've created PR86901 for this. >> +/* PI * 2^-64. */ >> +static const double pi64 = 0x1.921FB54442D18p-62; > > That's actually PI * 2^-63, so the comment and variable name are > misleading. Yes I guess I changed the exponent at some point but not the name - fixed. >> + Use round/lround if inlined, otherwise convert to int. To avoid inaccuracies >> + introduced by truncating negative values, compute the quadrant * 2^24. */ > > I think this last statement is actually describing what the > [!TOINT_INTRINSICS] code does, rather than part of the interface of the > function. So it should be inside that part of the #if inside the > function; the comment above the function should be about what the > function's interface is, not avoid such details of the implementation. I've added comments describing the implementation details inside the function. > However, the comment relates to *another* interface - that is, what the > semantics of the hpi_inv member of sincos_t are. So I think the > definition of the sincos_t struct should have comments explaining the > semantics of its members, and the one on hpi_inv would explain the > dependence on TOINT_INTRINSICS. I've added comments for all members of the struct. Also sincosf_data.c now uses TOINT_INTRINSICS to select the right scale. >> +/* 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. > > Aren't you actually reducing to an interval of length PI/2 (not PI/4) > (it's not really clear to me what "to a multiple of PI/4" is meant to > mean), with the result thus in the range -PI/4 and PI/4? It's true the quadrant returned is a multiple of PI/2, however it is shifted by PI/4 from the most obvious definition of x MOD PI/2. Internally we need to consider multiples of PI/4. As for the table, yes it's just bits without a clear fixed point. Wilco Version 6: improve comments based on review. 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.5607, maximum relative error is 0.5303 * 2^-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. 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-08-10 Wilco Dijkstra <wdijkstr@arm.com> Szabolcs Nagy <szabolcs.nagy@arm.com> * math/Makefile: Add s_sincosf_data.c. * sysdeps/ia64/fpu/s_sincosf_data.c: New file. * 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. -- diff --git a/math/Makefile b/math/Makefile index 90b3b68916e12d8563ed57772013f4420415928b..e73ceb8d4e8d520c3047f63bf6c6d05856a89186 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 0000000000000000000000000000000000000000..1cc8931700702e65d29a6e2af287175d23c6b182 --- /dev/null +++ b/sysdeps/ia64/fpu/s_sincosf_data.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/ieee754/flt-32/s_sincosf.h b/sysdeps/ieee754/flt-32/s_sincosf.h index 35b5eee536ef0ca55e68e3d3a091486dca39d36a..d3d7b4d6f3139033ef4a3bf70fe754ed4d03727a 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 <http://www.gnu.org/licenses/>. */ +#include <stdint.h> +#include <math.h> +#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,117 @@ reduced_cos (double theta, unsigned int n) } return sign * cx; } + + +/* 2PI * 2^-64. */ +static const double pi63 = 0x1.921FB54442D18p-62; +/* PI / 4. */ +static const double pio4 = 0x1.921FB54442D18p-1; + +/* The constants and polynomials for sine and cosine. */ +typedef struct +{ + double sign[4]; /* Sign of sine in quadrants 0..3. */ + double hpi_inv; /* 2 / PI ( * 2^24 if !TOINT_INTRINSICS). */ + double hpi; /* PI / 2. */ + double c0, c1, c2, c3, c4; /* Cosine polynomial. */ + double s1, s2, s3; /* Sine polynomial. */ +} sincos_t; + +/* Polynomial data (the cosine polynomial is negated in the 2nd entry). */ +extern const sincos_t __sincosf_table[2] attribute_hidden; + +/* Table with 4/PI to 192 bit precision. */ +extern const uint32_t __inv_pio4[] attribute_hidden; + +/* Top 12 bits of the float representation with the sign bit cleared. */ +static inline uint32_t +abstop12 (float x) +{ + return (asuint (x) >> 20) & 0x7ff; +} + +/* 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, + the result is accurate for |X| <= 120.0. */ +static inline double +reduce_fast (double x, const sincos_t *p, int *np) +{ + double r; +#if TOINT_INTRINSICS + /* Use fast round and lround instructions when available. */ + r = x * p->hpi_inv; + *np = converttoint (r); + return x - roundtoint (r) * p->hpi; +#else + /* Use scaled float to int conversion with explicit rounding. + hpi_inv is prescaled by 2^24 so the quadrant ends up in bits 24..31. + This avoids inaccuracies introduced by truncating negative values. */ + 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/2 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 * pi63; +} diff --git a/sysdeps/ieee754/flt-32/s_sincosf.c b/sysdeps/ieee754/flt-32/s_sincosf.c index d4a5a1b22c2f9a5cf607cd2d31157dd1dbd14e9a..f7e32450971799340940c2d78380909a9306b434 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 @@ <http://www.gnu.org/licenses/>. */ #include <errno.h> +#include <stdint.h> #include <math.h> -#include <math_private.h> +#include <math-barriers.h> #include <libm-alias-float.h> +#include "math_config.h" #include "s_sincosf.h" #ifndef SINCOSF @@ -28,141 +30,71 @@ # define SINCOSF_FUNC SINCOSF #endif +/* Fast sincosf implementation. Worst-case ULP is 0.5607, maximum relative + error is 0.5303 * 2^-23. A single-step 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 (PR86901). */ + __math_invalidf (y + y); +#endif } } 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 0000000000000000000000000000000000000000..21fc2b60f9ead7714deedb78c05529a8c58fe096 --- /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 + <http://www.gnu.org/licenses/>. */ + +#include <stdint.h> +#include <math.h> +#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 0000000000000000000000000000000000000000..1cc8931700702e65d29a6e2af287175d23c6b182 --- /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 0000000000000000000000000000000000000000..1cc8931700702e65d29a6e2af287175d23c6b182 --- /dev/null +++ b/sysdeps/x86_64/fpu/s_sincosf_data.c @@ -0,0 +1 @@ +/* Not needed. */ ^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 02/10] Improve performance of sincosf 2018-08-10 12:12 ` Wilco Dijkstra @ 2018-08-10 16:04 ` Joseph Myers 0 siblings, 0 replies; 45+ messages in thread From: Joseph Myers @ 2018-08-10 16:04 UTC (permalink / raw) To: Wilco Dijkstra; +Cc: Szabolcs Nagy, GNU C Library, nd On Fri, 10 Aug 2018, Wilco Dijkstra wrote: > 2018-08-10 Wilco Dijkstra <wdijkstr@arm.com> > Szabolcs Nagy <szabolcs.nagy@arm.com> > > * math/Makefile: Add s_sincosf_data.c. > * sysdeps/ia64/fpu/s_sincosf_data.c: New file. > * 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. This version is OK. -- Joseph S. Myers joseph@codesourcery.com ^ permalink raw reply [flat|nested] 45+ messages in thread
* [PATCH 01/10] Clean up converttoint handling and document the semantics 2018-07-06 8:49 [PATCH 00/10] Optimized math routines Szabolcs Nagy 2018-07-06 8:57 ` [PATCH 02/10] Improve performance of sincosf Szabolcs Nagy @ 2018-07-06 8:57 ` Szabolcs Nagy 2018-08-07 19:52 ` Joseph Myers 2018-07-06 8:59 ` [PATCH 03/10] Improve performance of sinf and cosf Szabolcs Nagy ` (11 subsequent siblings) 13 siblings, 1 reply; 45+ messages in thread From: Szabolcs Nagy @ 2018-07-06 8:57 UTC (permalink / raw) To: GNU C Library; +Cc: nd, Wilco Dijkstra, Joseph Myers [-- Attachment #1: Type: text/plain, Size: 1905 bytes --] 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 <wdijkstr@arm.com> Szabolcs Nagy <szabolcs.nagy@arm.com> * 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(-) [-- Attachment #2: 0001-Clean-up-converttoint-handling-and-document-the-sema.diff --] [-- Type: text/x-patch, Size: 2811 bytes --] 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 <fenv.h> #include <fpu_control.h> +#include <stdint.h> +#include <math.h> 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 <arm_neon.h> - -/* 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 <math_private.h> 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 ^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 01/10] Clean up converttoint handling and document the semantics 2018-07-06 8:57 ` [PATCH 01/10] Clean up converttoint handling and document the semantics Szabolcs Nagy @ 2018-08-07 19:52 ` Joseph Myers 0 siblings, 0 replies; 45+ messages in thread From: Joseph Myers @ 2018-08-07 19:52 UTC (permalink / raw) To: Szabolcs Nagy; +Cc: GNU C Library, nd, Wilco Dijkstra On Fri, 6 Jul 2018, Szabolcs Nagy wrote: > 2018-07-06 Wilco Dijkstra <wdijkstr@arm.com> > Szabolcs Nagy <szabolcs.nagy@arm.com> > > * 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. OK. -- Joseph S. Myers joseph@codesourcery.com ^ permalink raw reply [flat|nested] 45+ messages in thread
* [PATCH 03/10] Improve performance of sinf and cosf 2018-07-06 8:49 [PATCH 00/10] Optimized math routines Szabolcs Nagy 2018-07-06 8:57 ` [PATCH 02/10] Improve performance of sincosf Szabolcs Nagy 2018-07-06 8:57 ` [PATCH 01/10] Clean up converttoint handling and document the semantics Szabolcs Nagy @ 2018-07-06 8:59 ` Szabolcs Nagy 2018-08-13 19:46 ` Joseph Myers 2018-07-06 9:02 ` [PATCH 04/10] Add new exp and exp2 implementations Szabolcs Nagy ` (10 subsequent siblings) 13 siblings, 1 reply; 45+ messages in thread From: Szabolcs Nagy @ 2018-07-06 8:59 UTC (permalink / raw) To: GNU C Library; +Cc: nd, Wilco Dijkstra, Joseph Myers [-- Attachment #1: Type: text/plain, Size: 1752 bytes --] 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 <wdijkstr@arm.com> Szabolcs Nagy <szabolcs.nagy@arm.com> * 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 [-- Attachment #2: 0003-Improve-performance-of-sinf-and-cosf.diff --] [-- Type: text/x-patch, Size: 20809 bytes --] 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. + * <math.h> 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 <http://www.gnu.org/licenses/>. */ -#include <errno.h> +#include <stdint.h> #include <math.h> -#include <math_private.h> +#include <math-barriers.h> #include <libm-alias-float.h> +#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 <math.h> #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 <http://www.gnu.org/licenses/>. */ -#include <errno.h> +#include <stdint.h> #include <math.h> -#include <math_private.h> +#include <math-barriers.h> #include <libm-alias-float.h> +#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 <math_private.h> #include <x86intrin.h> #include <libm-alias-float.h> -#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. */ ^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 03/10] Improve performance of sinf and cosf 2018-07-06 8:59 ` [PATCH 03/10] Improve performance of sinf and cosf Szabolcs Nagy @ 2018-08-13 19:46 ` Joseph Myers 2018-08-14 19:41 ` Joseph Myers 0 siblings, 1 reply; 45+ messages in thread From: Joseph Myers @ 2018-08-13 19:46 UTC (permalink / raw) To: Szabolcs Nagy; +Cc: GNU C Library, nd, Wilco Dijkstra On Fri, 6 Jul 2018, Szabolcs Nagy wrote: > +/* 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. This needs the same fix as for sincosf to avoid the invalid constant 0.5303p-23. > +/* 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. Likewise. OK with those fixes. As previously discussed, a followup to eliminate __kernel_sinf / __kernel_cosf may well make sense. -- Joseph S. Myers joseph@codesourcery.com ^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 03/10] Improve performance of sinf and cosf 2018-08-13 19:46 ` Joseph Myers @ 2018-08-14 19:41 ` Joseph Myers 2018-08-15 13:11 ` Wilco Dijkstra 0 siblings, 1 reply; 45+ messages in thread From: Joseph Myers @ 2018-08-14 19:41 UTC (permalink / raw) To: Szabolcs Nagy; +Cc: GNU C Library, nd, Wilco Dijkstra The ulps updates here broke the testsuite build for x86_64 through adding invalid "ifloat:1" and "float:1" lines (missing space after colon) to sysdeps/x86_64/fpu/libm-test-ulps. I don't know quite how you generated those changes to libm-test-ulps; "make regen-ulps" should never generate such invalid lines, either before or after my move of it from perl to python. -- Joseph S. Myers joseph@codesourcery.com ^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 03/10] Improve performance of sinf and cosf 2018-08-14 19:41 ` Joseph Myers @ 2018-08-15 13:11 ` Wilco Dijkstra 0 siblings, 0 replies; 45+ messages in thread From: Wilco Dijkstra @ 2018-08-15 13:11 UTC (permalink / raw) To: Joseph Myers, Szabolcs Nagy; +Cc: GNU C Library, nd Joseph Myers wrote: > The ulps updates here broke the testsuite build for x86_64 through adding > invalid "ifloat:1" and "float:1" lines (missing space after colon) to > sysdeps/x86_64/fpu/libm-test-ulps. I don't know quite how you generated > those changes to libm-test-ulps; "make regen-ulps" should never generate > such invalid lines, either before or after my move of it from perl to > python. Sorry, it seems I copied and pasted some fields incorrectly. I've committed a fix with the spaces, the libm-test-ulps is now identical to the latest regen output. Wilco Fix spaces in x86_64 ULP file Fix a few missing spaces, it's now identical to the regenerated version. Passes GLIBC tests on x64. ChangeLog: 2018-08-15 Wilco Dijkstra <wdijkstr@arm.com> * sysdeps/x86_64/fpu/libm-test-ulps: Regenerate to fix spaces. -- diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index a51faecfc72342904d7c0ecb1ae90a03c14a7cad..e26f9c13586dc90bf7af42ca0994da3eb489ff45 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -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 ^ permalink raw reply [flat|nested] 45+ messages in thread
* [PATCH 04/10] Add new exp and exp2 implementations 2018-07-06 8:49 [PATCH 00/10] Optimized math routines Szabolcs Nagy ` (2 preceding siblings ...) 2018-07-06 8:59 ` [PATCH 03/10] Improve performance of sinf and cosf Szabolcs Nagy @ 2018-07-06 9:02 ` Szabolcs Nagy 2018-08-22 19:55 ` Joseph Myers 2018-07-06 9:04 ` [PATCH 05/10] aarch64: update libm-test-ulps Szabolcs Nagy ` (9 subsequent siblings) 13 siblings, 1 reply; 45+ messages in thread From: Szabolcs Nagy @ 2018-07-06 9:02 UTC (permalink / raw) To: GNU C Library; +Cc: nd [-- Attachment #1: Type: text/plain, Size: 5361 bytes --] 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 <szabolcs.nagy@arm.com> * 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 [-- Attachment #2: 0004-Add-new-exp-and-exp2-implementations.diff --] [-- Type: text/x-patch, Size: 207308 bytes --] 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. * <math.h> 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 <http://www.gnu.org/licenses/>. - */ -/***************************************************************************/ -/* 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 + <http://www.gnu.org/licenses/>. */ #include <math.h> -#include "endian.h" -#include "uexp.h" -#include "mydefs.h" -#include "MathLib.h" -#include "uexp.tbl" +#include <stdint.h> #include <math-barriers.h> -#include <math_private.h> -#include <fenv.h> -#include <float.h> -#include "eexp.tbl" +#include <math-narrow-eval.h> +#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 <geoffk@ozemail.com.au> 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 <http://www.gnu.org/licenses/>. */ -/* 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 <stdlib.h> -#include <float.h> -#include <ieee754.h> #include <math.h> -#include <fenv.h> -#include <inttypes.h> +#include <stdint.h> #include <math-barriers.h> -#include <math_private.h> -#include <math-underflow.h> +#include <math-narrow-eval.h> +#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 + <http://www.gnu.org/licenses/>. */ + +#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 - <http://www.gnu.org/licenses/>. */ - -/* 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 + <http://www.gnu.org/licenses/>. */ + +#ifndef _MATH_CONFIG_H +#define _MATH_CONFIG_H + +#include <math.h> +#include <math_private.h> +#include <stdint.h> + +#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 + <http://www.gnu.org/licenses/>. */ + +#include <math-barriers.h> +#include "math_config.h" + +#if WANT_ERRNO +#include <errno.h> +/* 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 <geoffk@ozemail.com.au> - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -/* 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 <http://www.gnu.org/licenses/>. - */ - -/******************************************************************/ -/* */ -/* 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 <http://www.gnu.org/licenses/>. - */ - -/****************************************************************/ -/* 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. */ ^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 04/10] Add new exp and exp2 implementations 2018-07-06 9:02 ` [PATCH 04/10] Add new exp and exp2 implementations Szabolcs Nagy @ 2018-08-22 19:55 ` Joseph Myers 2018-09-05 15:26 ` Szabolcs Nagy 0 siblings, 1 reply; 45+ messages in thread From: Joseph Myers @ 2018-08-22 19:55 UTC (permalink / raw) To: Szabolcs Nagy; +Cc: GNU C Library, nd On Fri, 6 Jul 2018, Szabolcs Nagy wrote: > > -/* Compute e^(x+xx). */ > double > SECTION > __exp1 (double x, double xx) The function still needs the comment giving its semantics; it should not be removed. The patch is OK with that change. -- Joseph S. Myers joseph@codesourcery.com ^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 04/10] Add new exp and exp2 implementations 2018-08-22 19:55 ` Joseph Myers @ 2018-09-05 15:26 ` Szabolcs Nagy 0 siblings, 0 replies; 45+ messages in thread From: Szabolcs Nagy @ 2018-09-05 15:26 UTC (permalink / raw) To: Joseph Myers; +Cc: nd, GNU C Library On 22/08/18 20:55, Joseph Myers wrote: > On Fri, 6 Jul 2018, Szabolcs Nagy wrote: > >> >> -/* Compute e^(x+xx). */ >> double >> SECTION >> __exp1 (double x, double xx) > > The function still needs the comment giving its semantics; it should not > be removed. > > The patch is OK with that change. > Thanks, now committed with that comment added back, rebased (include fenv.h, NEWS, math/Makefile changes), and with the ulp updates. ^ permalink raw reply [flat|nested] 45+ messages in thread
* [PATCH 05/10] aarch64: update libm-test-ulps 2018-07-06 8:49 [PATCH 00/10] Optimized math routines Szabolcs Nagy ` (3 preceding siblings ...) 2018-07-06 9:02 ` [PATCH 04/10] Add new exp and exp2 implementations Szabolcs Nagy @ 2018-07-06 9:04 ` Szabolcs Nagy 2018-08-24 17:09 ` Joseph Myers 2018-07-06 9:05 ` [PATCH 06/10] arm: " Szabolcs Nagy ` (8 subsequent siblings) 13 siblings, 1 reply; 45+ messages in thread From: Szabolcs Nagy @ 2018-07-06 9:04 UTC (permalink / raw) To: GNU C Library; +Cc: nd [-- Attachment #1: Type: text/plain, Size: 335 bytes --] Update error bounds for the new exp implementation. Only non-nearest rounding ulp bounds increased. 2018-07-06 Szabolcs Nagy <szabolcs.nagy@arm.com> * sysdeps/aarch64/libm-test-ulps: Update. --- sysdeps/aarch64/libm-test-ulps | 88 +++++++++++++++++++++--------------------- 1 file changed, 44 insertions(+), 44 deletions(-) [-- Attachment #2: 0005-aarch64-update-libm-test-ulps.diff --] [-- Type: text/x-patch, Size: 3795 bytes --] 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 ^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 05/10] aarch64: update libm-test-ulps 2018-07-06 9:04 ` [PATCH 05/10] aarch64: update libm-test-ulps Szabolcs Nagy @ 2018-08-24 17:09 ` Joseph Myers 0 siblings, 0 replies; 45+ messages in thread From: Joseph Myers @ 2018-08-24 17:09 UTC (permalink / raw) To: Szabolcs Nagy; +Cc: GNU C Library, nd I don't really think ulps patches belong as separate patches in a patch series. Include any ulps changes you've done when submitting the patch that requires them; when such a patch is approved, any ulps changes you've done should be included in the commit of the approved patch. -- Joseph S. Myers joseph@codesourcery.com ^ permalink raw reply [flat|nested] 45+ messages in thread
* [PATCH 06/10] arm: update libm-test-ulps 2018-07-06 8:49 [PATCH 00/10] Optimized math routines Szabolcs Nagy ` (4 preceding siblings ...) 2018-07-06 9:04 ` [PATCH 05/10] aarch64: update libm-test-ulps Szabolcs Nagy @ 2018-07-06 9:05 ` Szabolcs Nagy 2018-07-06 9:06 ` [PATCH 07/10] x86_64: " Szabolcs Nagy ` (7 subsequent siblings) 13 siblings, 0 replies; 45+ messages in thread From: Szabolcs Nagy @ 2018-07-06 9:05 UTC (permalink / raw) To: libc-alpha; +Cc: nd [-- Attachment #1: Type: text/plain, Size: 331 bytes --] Update error bounds for the new exp implementation. Only non-nearest rounding ulp bounds increased. 2018-07-06 Szabolcs Nagy <szabolcs.nagy@arm.com> * sysdeps/arm/libm-test-ulps: Update. --- sysdeps/arm/libm-test-ulps | 88 +++++++++++++++++++++++----------------------- 1 file changed, 44 insertions(+), 44 deletions(-) [-- Attachment #2: 0006-arm-update-libm-test-ulps.diff --] [-- Type: text/x-patch, Size: 3699 bytes --] 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": ^ permalink raw reply [flat|nested] 45+ messages in thread
* [PATCH 07/10] x86_64: update libm-test-ulps 2018-07-06 8:49 [PATCH 00/10] Optimized math routines Szabolcs Nagy ` (5 preceding siblings ...) 2018-07-06 9:05 ` [PATCH 06/10] arm: " Szabolcs Nagy @ 2018-07-06 9:06 ` Szabolcs Nagy 2018-07-06 9:08 ` [PATCH 08/10] Add new log implementation Szabolcs Nagy ` (6 subsequent siblings) 13 siblings, 0 replies; 45+ messages in thread From: Szabolcs Nagy @ 2018-07-06 9:06 UTC (permalink / raw) To: libc-alpha; +Cc: nd [-- Attachment #1: Type: text/plain, Size: 338 bytes --] Update error bounds for the new exp implementation. Only non-nearest rounding ulp bounds increased. 2018-07-06 Szabolcs Nagy <szabolcs.nagy@arm.com> * sysdeps/x86_64/fpu/libm-test-ulps: Update. --- sysdeps/x86_64/fpu/libm-test-ulps | 94 +++++++++++++++++++-------------------- 1 file changed, 47 insertions(+), 47 deletions(-) [-- Attachment #2: 0007-x86_64-update-libm-test-ulps.diff --] [-- Type: text/x-patch, Size: 4583 bytes --] 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 ^ permalink raw reply [flat|nested] 45+ messages in thread
* [PATCH 08/10] Add new log implementation 2018-07-06 8:49 [PATCH 00/10] Optimized math routines Szabolcs Nagy ` (6 preceding siblings ...) 2018-07-06 9:06 ` [PATCH 07/10] x86_64: " Szabolcs Nagy @ 2018-07-06 9:08 ` Szabolcs Nagy 2018-08-24 17:19 ` Joseph Myers 2018-07-06 9:09 ` [PATCH 09/10] Add new log2 implementation Szabolcs Nagy ` (5 subsequent siblings) 13 siblings, 1 reply; 45+ messages in thread From: Szabolcs Nagy @ 2018-07-06 9:08 UTC (permalink / raw) To: libc-alpha; +Cc: nd [-- Attachment #1: Type: text/plain, Size: 2841 bytes --] 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 <szabolcs.nagy@arm.com> * 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 [-- Attachment #2: 0008-Add-new-log-implementation.diff --] [-- Type: text/x-patch, Size: 204968 bytes --] 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. * <math.h> 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 <http://www.gnu.org/licenses/>. - */ -/*********************************************************************/ -/* */ -/* 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 + <http://www.gnu.org/licenses/>. */ -#include "endian.h" -#include <dla.h> -#include "mpa.h" -#include "MathLib.h" #include <math.h> -#include <math_private.h> +#include <stdint.h> +#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 + <http://www.gnu.org/licenses/>. */ + +#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 <http://www.gnu.org/licenses/>. - */ - -/******************************************************************/ -/* */ -/* 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 <http://www.gnu.org/licenses/>. - */ - -/****************************************************************/ -/* 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. */ ^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 08/10] Add new log implementation 2018-07-06 9:08 ` [PATCH 08/10] Add new log implementation Szabolcs Nagy @ 2018-08-24 17:19 ` Joseph Myers 0 siblings, 0 replies; 45+ messages in thread From: Joseph Myers @ 2018-08-24 17:19 UTC (permalink / raw) To: Szabolcs Nagy; +Cc: libc-alpha, nd On Fri, 6 Jul 2018, Szabolcs Nagy wrote: > 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 > +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; There should be comments explaining all these values. In the case of c, the comments should give sufficient information for someone to regenerate the tables, or even better, include source code for a generator. You've given an outline of the intent above (which belongs in the comments, not just in the commit message), but a more precise specification is needed to be able to reproduce these tables - this isn't simply a matter of approximating function X on interval Y, or of values of 2^(k/N) at particular points that are adequately specified by a brief comment in the exp/exp2 patch, there's some more complicated logic involved here that needs to be specified, of what you're optimizing over what set of possible values of c (or invc or logc) that results in these tables. -- Joseph S. Myers joseph@codesourcery.com ^ permalink raw reply [flat|nested] 45+ messages in thread
* [PATCH 09/10] Add new log2 implementation 2018-07-06 8:49 [PATCH 00/10] Optimized math routines Szabolcs Nagy ` (7 preceding siblings ...) 2018-07-06 9:08 ` [PATCH 08/10] Add new log implementation Szabolcs Nagy @ 2018-07-06 9:09 ` Szabolcs Nagy 2018-07-06 9:10 ` [PATCH 10/10] Add new pow implementation Szabolcs Nagy ` (4 subsequent siblings) 13 siblings, 0 replies; 45+ messages in thread From: Szabolcs Nagy @ 2018-07-06 9:09 UTC (permalink / raw) To: libc-alpha; +Cc: nd [-- Attachment #1: Type: text/plain, Size: 2606 bytes --] 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 <szabolcs.nagy@arm.com> * 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 [-- Attachment #2: 0009-Add-new-log2-implementation.diff --] [-- Type: text/x-patch, Size: 24340 bytes --] 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. * <math.h> 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 <drepper@cygnus.com>. */ -/* - * ==================================================== - * 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 + <http://www.gnu.org/licenses/>. */ #include <math.h> -#include <math_private.h> -#include <fix-int-fp-convert-zero.h> +#include <stdint.h> +#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 + <http://www.gnu.org/licenses/>. */ + +#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 <math.h> -#include <math_private.h> - -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. */ ^ permalink raw reply [flat|nested] 45+ messages in thread
* [PATCH 10/10] Add new pow implementation 2018-07-06 8:49 [PATCH 00/10] Optimized math routines Szabolcs Nagy ` (8 preceding siblings ...) 2018-07-06 9:09 ` [PATCH 09/10] Add new log2 implementation Szabolcs Nagy @ 2018-07-06 9:10 ` Szabolcs Nagy 2018-07-11 13:24 ` Szabolcs Nagy 2018-07-06 12:43 ` [PATCH 00/10] Optimized math routines Carlos O'Donell ` (3 subsequent siblings) 13 siblings, 1 reply; 45+ messages in thread From: Szabolcs Nagy @ 2018-07-06 9:10 UTC (permalink / raw) To: libc-alpha; +Cc: nd [-- Attachment #1: Type: text/plain, Size: 3612 bytes --] 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 <szabolcs.nagy@arm.com> * 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 [-- Attachment #2: 0010-Add-new-pow-implementation.diff --] [-- Type: text/x-patch, Size: 532430 bytes --] 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. * <math.h> 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 <http://www.gnu.org/licenses/>. - */ -/***************************************************************************/ -/* 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 + <http://www.gnu.org/licenses/>. */ + #include <math.h> -#include "endian.h" -#include "upow.h" -#include <dla.h> -#include "mydefs.h" -#include "MathLib.h" -#include "upow.tbl" -#include <math_private.h> -#include <math-underflow.h> -#include <fenv.h> +#include <stdint.h> +#include <math-barriers.h> +#include <math-narrow-eval.h> +#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 + <http://www.gnu.org/licenses/>. */ + +#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 <math.h> #include <math_private.h> +#include <nan-high-order-bit.h> #include <stdint.h> #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 <http://www.gnu.org/licenses/>. - */ - -/******************************************************************/ -/* */ -/* 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 <http://www.gnu.org/licenses/>. - */ - -/****************************************************************/ -/* 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 ^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 10/10] Add new pow implementation 2018-07-06 9:10 ` [PATCH 10/10] Add new pow implementation Szabolcs Nagy @ 2018-07-11 13:24 ` Szabolcs Nagy 0 siblings, 0 replies; 45+ messages in thread From: Szabolcs Nagy @ 2018-07-11 13:24 UTC (permalink / raw) To: libc-alpha; +Cc: nd [-- Attachment #1: Type: text/plain, Size: 3898 bytes --] v5: - Fix a typo in log_inline comment and make the wording clearer. - Update improvements in commit message. - Update tested targets in commit message. 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: pow thruput: 2.40x in [0.01 11.1]x[0.01 11.1] pow latency: 1.84x in [0.01 11.1]x[0.01 11.1] 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) and powerpc64le-linux-gnu (defined __FP_FAST_FMA, !TOINT_INTRINSICS) targets. 2018-07-11 Szabolcs Nagy <szabolcs.nagy@arm.com> * 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 [-- Attachment #2: 0011-Add-new-pow-implementation.diff --] [-- Type: text/x-patch, Size: 532427 bytes --] diff --git a/NEWS b/NEWS index 120ea26ab3..c4c508d6d5 100644 --- a/NEWS +++ b/NEWS @@ -20,7 +20,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. * <math.h> 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..10b7c9a6db 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 <http://www.gnu.org/licenses/>. - */ -/***************************************************************************/ -/* 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 + <http://www.gnu.org/licenses/>. */ + #include <math.h> -#include "endian.h" -#include "upow.h" -#include <dla.h> -#include "mydefs.h" -#include "MathLib.h" -#include "upow.tbl" -#include <math_private.h> -#include <math-underflow.h> -#include <fenv.h> +#include <stdint.h> +#include <math-barriers.h> +#include <math-narrow-eval.h> +#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. IX is the bit representation of x, but + normalized in the subnormal range using the sign bit 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 + <http://www.gnu.org/licenses/>. */ + +#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 <math.h> #include <math_private.h> +#include <nan-high-order-bit.h> #include <stdint.h> #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 <http://www.gnu.org/licenses/>. - */ - -/******************************************************************/ -/* */ -/* 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 <http://www.gnu.org/licenses/>. - */ - -/****************************************************************/ -/* 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 ^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 00/10] Optimized math routines 2018-07-06 8:49 [PATCH 00/10] Optimized math routines Szabolcs Nagy ` (9 preceding siblings ...) 2018-07-06 9:10 ` [PATCH 10/10] Add new pow implementation Szabolcs Nagy @ 2018-07-06 12:43 ` Carlos O'Donell 2018-07-06 15:46 ` Szabolcs Nagy 2018-07-11 14:19 ` [PATCH] powerpc: update libm-test-ulps Szabolcs Nagy ` (2 subsequent siblings) 13 siblings, 1 reply; 45+ messages in thread From: Carlos O'Donell @ 2018-07-06 12:43 UTC (permalink / raw) To: Szabolcs Nagy, GNU C Library; +Cc: nd, Wilco Dijkstra, Joseph Myers On 07/06/2018 04:47 AM, Szabolcs Nagy wrote: > Optimized exp, exp2, log, log2, pow, sinf, cosf and sincosf > implementations. Is it your intent to have these included in 2.28? -- Cheers, Carlos. ^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 00/10] Optimized math routines 2018-07-06 12:43 ` [PATCH 00/10] Optimized math routines Carlos O'Donell @ 2018-07-06 15:46 ` Szabolcs Nagy 2018-07-06 16:27 ` Carlos O'Donell 0 siblings, 1 reply; 45+ messages in thread From: Szabolcs Nagy @ 2018-07-06 15:46 UTC (permalink / raw) To: Carlos O'Donell, GNU C Library; +Cc: nd, Wilco Dijkstra, Joseph Myers On 06/07/18 13:43, Carlos O'Donell wrote: > On 07/06/2018 04:47 AM, Szabolcs Nagy wrote: >> Optimized exp, exp2, log, log2, pow, sinf, cosf and sincosf >> implementations. > > Is it your intent to have these included in 2.28? > (resending as my previous mail seems to be lost) yes, i'd like to add it to the 'desirable in 2.28' list if Joseph is ok with the code, but i see he is not available right now for review. i don't know how other maintainers feel about such change, there needs to be an ulp update (i'm willing to do that for targets i can access hw for testing). ^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 00/10] Optimized math routines 2018-07-06 15:46 ` Szabolcs Nagy @ 2018-07-06 16:27 ` Carlos O'Donell 2018-07-06 17:17 ` Szabolcs Nagy 2018-07-11 13:39 ` Szabolcs Nagy 0 siblings, 2 replies; 45+ messages in thread From: Carlos O'Donell @ 2018-07-06 16:27 UTC (permalink / raw) To: Szabolcs Nagy, GNU C Library; +Cc: nd, Wilco Dijkstra, Joseph Myers On 07/06/2018 11:46 AM, Szabolcs Nagy wrote: > On 06/07/18 13:43, Carlos O'Donell wrote: >> On 07/06/2018 04:47 AM, Szabolcs Nagy wrote: >>> Optimized exp, exp2, log, log2, pow, sinf, cosf and sincosf >>> implementations. >> >> Is it your intent to have these included in 2.28? >> > > (resending as my previous mail seems to be lost) > > yes, i'd like to add it to the 'desirable in 2.28' list > if Joseph is ok with the code, but i see he is not available > right now for review. > > i don't know how other maintainers feel about such change, > there needs to be an ulp update (i'm willing to do that for > targets i can access hw for testing). Where there any unanswered questions in your v4 review? Do you think v4 is basically as good as it will get? Who were the people who signed off on the review? -- Cheers, Carlos. ^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 00/10] Optimized math routines 2018-07-06 16:27 ` Carlos O'Donell @ 2018-07-06 17:17 ` Szabolcs Nagy 2018-07-09 12:15 ` Szabolcs Nagy 2018-07-17 21:59 ` Joseph Myers 2018-07-11 13:39 ` Szabolcs Nagy 1 sibling, 2 replies; 45+ messages in thread From: Szabolcs Nagy @ 2018-07-06 17:17 UTC (permalink / raw) To: Carlos O'Donell, GNU C Library; +Cc: nd, Wilco Dijkstra, Joseph Myers On 06/07/18 17:27, Carlos O'Donell wrote: > On 07/06/2018 11:46 AM, Szabolcs Nagy wrote: >> On 06/07/18 13:43, Carlos O'Donell wrote: >>> On 07/06/2018 04:47 AM, Szabolcs Nagy wrote: >>>> Optimized exp, exp2, log, log2, pow, sinf, cosf and sincosf >>>> implementations. >>> >>> Is it your intent to have these included in 2.28? >>> >> >> (resending as my previous mail seems to be lost) >> >> yes, i'd like to add it to the 'desirable in 2.28' list >> if Joseph is ok with the code, but i see he is not available >> right now for review. >> >> i don't know how other maintainers feel about such change, >> there needs to be an ulp update (i'm willing to do that for >> targets i can access hw for testing). > > Where there any unanswered questions in your v4 review? > > Do you think v4 is basically as good as it will get? > > Who were the people who signed off on the review? > Joseph Myers started the review of both the sinf, cosf, sincosf changes and the exp, exp2, log, log2, pow changes. I think I addressed all of his comments in an acceptable way, but i don't know if he had other concerns or if parts of the code he has not reviewed yet. Since the glibc tests pass on 3 different targets (and build-many-glibcs.py) i think there is no danger of the patch being completely broken. Wilco and I tested the patches in detail outside of glibc so it is the glibc integration where I expected most of the issues. I don't expect performance regression on any target, but it was not measured e.g. on powerpc (only aarch64 and x86_64) which might have different behaviour (previous sincosf was optimized on that target hence it might make sense to retest the new code to be sure). I think the patches are in a good quality state now. (The ABI changing part needs further work so i didn't post that.) ^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 00/10] Optimized math routines 2018-07-06 17:17 ` Szabolcs Nagy @ 2018-07-09 12:15 ` Szabolcs Nagy 2018-07-09 13:09 ` Adhemerval Zanella 2018-07-17 21:59 ` Joseph Myers 1 sibling, 1 reply; 45+ messages in thread From: Szabolcs Nagy @ 2018-07-09 12:15 UTC (permalink / raw) To: Carlos O'Donell, GNU C Library; +Cc: nd, Wilco Dijkstra, Joseph Myers On 06/07/18 18:17, Szabolcs Nagy wrote: > On 06/07/18 17:27, Carlos O'Donell wrote: >> On 07/06/2018 11:46 AM, Szabolcs Nagy wrote: >>> On 06/07/18 13:43, Carlos O'Donell wrote: >>>> On 07/06/2018 04:47 AM, Szabolcs Nagy wrote: >>>>> Optimized exp, exp2, log, log2, pow, sinf, cosf and sincosf >>>>> implementations. >>>> >>>> Is it your intent to have these included in 2.28? >>>> >>> >>> (resending as my previous mail seems to be lost) >>> >>> yes, i'd like to add it to the 'desirable in 2.28' list >>> if Joseph is ok with the code, but i see he is not available >>> right now for review. >>> >>> i don't know how other maintainers feel about such change, >>> there needs to be an ulp update (i'm willing to do that for >>> targets i can access hw for testing). >> >> Where there any unanswered questions in your v4 review? >> >> Do you think v4 is basically as good as it will get? >> >> Who were the people who signed off on the review? >> > > Joseph Myers started the review of both the sinf, cosf, sincosf > changes and the exp, exp2, log, log2, pow changes. > > I think I addressed all of his comments in an acceptable way, > but i don't know if he had other concerns or if parts of the > code he has not reviewed yet. > > Since the glibc tests pass on 3 different targets (and > build-many-glibcs.py) i think there is no danger of the > patch being completely broken. Wilco and I tested the patches > in detail outside of glibc so it is the glibc integration where > I expected most of the issues. > > I don't expect performance regression on any target, but it > was not measured e.g. on powerpc (only aarch64 and x86_64) > which might have different behaviour (previous sincosf was > optimized on that target hence it might make sense to retest > the new code to be sure). > > I think the patches are in a good quality state now. > (The ABI changing part needs further work so i didn't post that.) built and tested on a power8 machine now, glibc math tests pass (except for an unrelated fmal failure), benchmark improvements are consistent with aarch64/x86_64, but it was a shared access machine so i won't post exact numbers, sincosf improved a bit too, sinf/cosf didn't (apparently powerpc has its own implementation). ^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 00/10] Optimized math routines 2018-07-09 12:15 ` Szabolcs Nagy @ 2018-07-09 13:09 ` Adhemerval Zanella 2018-07-09 13:35 ` Szabolcs Nagy 0 siblings, 1 reply; 45+ messages in thread From: Adhemerval Zanella @ 2018-07-09 13:09 UTC (permalink / raw) To: libc-alpha On 09/07/2018 09:15, Szabolcs Nagy wrote: > On 06/07/18 18:17, Szabolcs Nagy wrote: >> On 06/07/18 17:27, Carlos O'Donell wrote: >>> On 07/06/2018 11:46 AM, Szabolcs Nagy wrote: >>>> On 06/07/18 13:43, Carlos O'Donell wrote: >>>>> On 07/06/2018 04:47 AM, Szabolcs Nagy wrote: >>>>>> Optimized exp, exp2, log, log2, pow, sinf, cosf and sincosf >>>>>> implementations. >>>>> >>>>> Is it your intent to have these included in 2.28? >>>>> >>>> >>>> (resending as my previous mail seems to be lost) >>>> >>>> yes, i'd like to add it to the 'desirable in 2.28' list >>>> if Joseph is ok with the code, but i see he is not available >>>> right now for review. >>>> >>>> i don't know how other maintainers feel about such change, >>>> there needs to be an ulp update (i'm willing to do that for >>>> targets i can access hw for testing). >>> >>> Where there any unanswered questions in your v4 review? >>> >>> Do you think v4 is basically as good as it will get? >>> >>> Who were the people who signed off on the review? >>> >> >> Joseph Myers started the review of both the sinf, cosf, sincosf >> changes and the exp, exp2, log, log2, pow changes. >> >> I think I addressed all of his comments in an acceptable way, >> but i don't know if he had other concerns or if parts of the >> code he has not reviewed yet. >> >> Since the glibc tests pass on 3 different targets (and >> build-many-glibcs.py) i think there is no danger of the >> patch being completely broken. Wilco and I tested the patches >> in detail outside of glibc so it is the glibc integration where >> I expected most of the issues. >> >> I don't expect performance regression on any target, but it >> was not measured e.g. on powerpc (only aarch64 and x86_64) >> which might have different behaviour (previous sincosf was >> optimized on that target hence it might make sense to retest >> the new code to be sure). >> >> I think the patches are in a good quality state now. >> (The ABI changing part needs further work so i didn't post that.) > > built and tested on a power8 machine now, glibc math > tests pass (except for an unrelated fmal failure), > benchmark improvements are consistent with aarch64/x86_64, > but it was a shared access machine so i won't post exact > numbers, sincosf improved a bit too, sinf/cosf didn't > (apparently powerpc has its own implementation). PowerPC sinf/cosf uses the same algorithm used on x86, I presume it would be a gain to generic implementation as well. ^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 00/10] Optimized math routines 2018-07-09 13:09 ` Adhemerval Zanella @ 2018-07-09 13:35 ` Szabolcs Nagy 2018-07-09 14:27 ` Adhemerval Zanella 0 siblings, 1 reply; 45+ messages in thread From: Szabolcs Nagy @ 2018-07-09 13:35 UTC (permalink / raw) To: Adhemerval Zanella, libc-alpha; +Cc: nd On 09/07/18 14:09, Adhemerval Zanella wrote: > On 09/07/2018 09:15, Szabolcs Nagy wrote: >> built and tested on a power8 machine now, glibc math >> tests pass (except for an unrelated fmal failure), >> benchmark improvements are consistent with aarch64/x86_64, >> but it was a shared access machine so i won't post exact >> numbers, sincosf improved a bit too, sinf/cosf didn't >> (apparently powerpc has its own implementation). > > PowerPC sinf/cosf uses the same algorithm used on x86, I presume > it would be a gain to generic implementation as well. > you mean the new implementation would be better or the target specific one? new implementation has better latency on this particular powerpc machine than the target specific code, but throughput is worse sometimes (using the default 0 setting for PREFER_FLOAT_COMPARISON). ^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 00/10] Optimized math routines 2018-07-09 13:35 ` Szabolcs Nagy @ 2018-07-09 14:27 ` Adhemerval Zanella 2018-07-09 15:41 ` Szabolcs Nagy 0 siblings, 1 reply; 45+ messages in thread From: Adhemerval Zanella @ 2018-07-09 14:27 UTC (permalink / raw) To: Szabolcs Nagy, libc-alpha; +Cc: nd On 09/07/2018 10:34, Szabolcs Nagy wrote: > On 09/07/18 14:09, Adhemerval Zanella wrote: >> On 09/07/2018 09:15, Szabolcs Nagy wrote: >>> built and tested on a power8 machine now, glibc math >>> tests pass (except for an unrelated fmal failure), >>> benchmark improvements are consistent with aarch64/x86_64, >>> but it was a shared access machine so i won't post exact >>> numbers, sincosf improved a bit too, sinf/cosf didn't >>> (apparently powerpc has its own implementation). >> >> PowerPC sinf/cosf uses the same algorithm used on x86, I presume >> it would be a gain to generic implementation as well. >> > > you mean the new implementation would be better or the > target specific one? > > new implementation has better latency on this particular > powerpc machine than the target specific code, but > throughput is worse sometimes (using the default 0 > setting for PREFER_FLOAT_COMPARISON). I did not measure, but I would expect. PowerPC uses an different implementation for generic code (s_sinf-ppc64.c) so comparing against it maybe misleading (since it use the old implementation still). I am not sure which compiler you used for evaluation, but at least Ubuntu 16.04 one (gcc 5.4) does not use POWER8 ISA as default and even with -mcpu=power8 it generates subpar code. I will try to check with a GCC 7.1 (but as for your environment, I am using a shared machine, although it I think I might get slight better results because it uses a micro-partition). For PREFER_FLOAT_COMPARISON, do we use this on glibc? I think it is only enabled on optimized-routines, isn't it? ^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 00/10] Optimized math routines 2018-07-09 14:27 ` Adhemerval Zanella @ 2018-07-09 15:41 ` Szabolcs Nagy 2018-07-09 18:20 ` Adhemerval Zanella 0 siblings, 1 reply; 45+ messages in thread From: Szabolcs Nagy @ 2018-07-09 15:41 UTC (permalink / raw) To: Adhemerval Zanella, libc-alpha; +Cc: nd On 09/07/18 15:26, Adhemerval Zanella wrote: > On 09/07/2018 10:34, Szabolcs Nagy wrote: >> On 09/07/18 14:09, Adhemerval Zanella wrote: >>> On 09/07/2018 09:15, Szabolcs Nagy wrote: >>>> built and tested on a power8 machine now, glibc math >>>> tests pass (except for an unrelated fmal failure), >>>> benchmark improvements are consistent with aarch64/x86_64, >>>> but it was a shared access machine so i won't post exact >>>> numbers, sincosf improved a bit too, sinf/cosf didn't >>>> (apparently powerpc has its own implementation). >>> >>> PowerPC sinf/cosf uses the same algorithm used on x86, I presume >>> it would be a gain to generic implementation as well. >>> >> >> you mean the new implementation would be better or the >> target specific one? >> >> new implementation has better latency on this particular >> powerpc machine than the target specific code, but >> throughput is worse sometimes (using the default 0 >> setting for PREFER_FLOAT_COMPARISON). > > I did not measure, but I would expect. PowerPC uses an different > implementation for generic code (s_sinf-ppc64.c) so comparing against > it maybe misleading (since it use the old implementation still). > i'm comparing two glibc builds, they both still use the same (old) code for sinf/cosf so there is nothing misleading. the sincosf code is generic though and the new implementation does show some speedup. > I am not sure which compiler you used for evaluation, but at least > Ubuntu 16.04 one (gcc 5.4) does not use POWER8 ISA as default and > even with -mcpu=power8 it generates subpar code. I will try to > check with a GCC 7.1 (but as for your environment, I am using > a shared machine, although it I think I might get slight better > results because it uses a micro-partition). > i built a gcc 7.3.0 toolchain, the host toolchain would not be able to build glibc (gcc-4.8), same for the host make (3.82). (it's a gcc build farm machine) > For PREFER_FLOAT_COMPARISON, do we use this on glibc? I think > it is only enabled on optimized-routines, isn't it? it is disabled by default, it is there so targets can enable it if float compares are faster than using the representation, currently disabled everywhere in glibc. (i don't want to change that setting now, that case can be tweaked later) ^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 00/10] Optimized math routines 2018-07-09 15:41 ` Szabolcs Nagy @ 2018-07-09 18:20 ` Adhemerval Zanella 0 siblings, 0 replies; 45+ messages in thread From: Adhemerval Zanella @ 2018-07-09 18:20 UTC (permalink / raw) To: Szabolcs Nagy, libc-alpha; +Cc: nd On 09/07/2018 12:41, Szabolcs Nagy wrote: > On 09/07/18 15:26, Adhemerval Zanella wrote: >> On 09/07/2018 10:34, Szabolcs Nagy wrote: >>> On 09/07/18 14:09, Adhemerval Zanella wrote: >>>> On 09/07/2018 09:15, Szabolcs Nagy wrote: >>>>> built and tested on a power8 machine now, glibc math >>>>> tests pass (except for an unrelated fmal failure), >>>>> benchmark improvements are consistent with aarch64/x86_64, >>>>> but it was a shared access machine so i won't post exact >>>>> numbers, sincosf improved a bit too, sinf/cosf didn't >>>>> (apparently powerpc has its own implementation). >>>> >>>> PowerPC sinf/cosf uses the same algorithm used on x86, I presume >>>> it would be a gain to generic implementation as well. >>>> >>> >>> you mean the new implementation would be better or the >>> target specific one? >>> >>> new implementation has better latency on this particular >>> powerpc machine than the target specific code, but >>> throughput is worse sometimes (using the default 0 >>> setting for PREFER_FLOAT_COMPARISON). >> >> I did not measure, but I would expect. PowerPC uses an different >> implementation for generic code (s_sinf-ppc64.c) so comparing against >> it maybe misleading (since it use the old implementation still). >> > > i'm comparing two glibc builds, they both still use the > same (old) code for sinf/cosf so there is nothing misleading. I meant comparing the generic s_sinf against powerpc's one (since default ifunc selection for powerpc is not the generic is not sysdeps/ieee754/flt-32/s_sinf.c). But indeed this is not for this case, sorry for the noise. > > the sincosf code is generic though and the new implementation > does show some speedup. > >> I am not sure which compiler you used for evaluation, but at least >> Ubuntu 16.04 one (gcc 5.4) does not use POWER8 ISA as default and >> even with -mcpu=power8 it generates subpar code. I will try to >> check with a GCC 7.1 (but as for your environment, I am using >> a shared machine, although it I think I might get slight better >> results because it uses a micro-partition). >> > > i built a gcc 7.3.0 toolchain, the host toolchain would > not be able to build glibc (gcc-4.8), same for the host > make (3.82). (it's a gcc build farm machine) Using glibc benchmarks, I also see better results with power8 implementation: s_sinf-power8: "sinf": { "": { "duration": 5.12725e+09, "iterations": 7.03494e+08, "max": 983.08, "min": 6.06, "mean": 7.28827 } } s_sinf-ppc64: "sinf": { "": { "duration": 5.13064e+09, "iterations": 1.86048e+08, "max": 1032.52, "min": 8.035, "mean": 27.577 } } generic s_sinf: "sinf": { "": { "duration": 5.12404e+09, "iterations": 6.74424e+08, "max": 515.97, "min": 6.089, "mean": 7.59765 } } One remark is I think we can get rid of generic powerpc sinf (sysdeps/powerpc/fpu/s_sinf.c) and use generic implementation instead. > >> For PREFER_FLOAT_COMPARISON, do we use this on glibc? I think >> it is only enabled on optimized-routines, isn't it? > > it is disabled by default, it is there so targets can enable > it if float compares are faster than using the representation, > currently disabled everywhere in glibc. > (i don't want to change that setting now, that case can > be tweaked later) ^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 00/10] Optimized math routines 2018-07-06 17:17 ` Szabolcs Nagy 2018-07-09 12:15 ` Szabolcs Nagy @ 2018-07-17 21:59 ` Joseph Myers 2018-07-18 0:07 ` Carlos O'Donell 1 sibling, 1 reply; 45+ messages in thread From: Joseph Myers @ 2018-07-17 21:59 UTC (permalink / raw) To: Szabolcs Nagy; +Cc: Carlos O'Donell, GNU C Library, nd, Wilco Dijkstra On Fri, 6 Jul 2018, Szabolcs Nagy wrote: > I think I addressed all of his comments in an acceptable way, > but i don't know if he had other concerns or if parts of the > code he has not reviewed yet. The missing information in comments in previous versions effectively prevented review of substantial parts of the code in those versions; comments are critical information about the interfaces between different parts of the code that are required for effective review (as well as for subsequent maintainability of the code). I think these changes are far too high risk for this late in the freeze. -- Joseph S. Myers joseph@codesourcery.com ^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 00/10] Optimized math routines 2018-07-17 21:59 ` Joseph Myers @ 2018-07-18 0:07 ` Carlos O'Donell 0 siblings, 0 replies; 45+ messages in thread From: Carlos O'Donell @ 2018-07-18 0:07 UTC (permalink / raw) To: Joseph Myers, Szabolcs Nagy; +Cc: GNU C Library, nd, Wilco Dijkstra On 07/17/2018 05:59 PM, Joseph Myers wrote: > On Fri, 6 Jul 2018, Szabolcs Nagy wrote: > >> I think I addressed all of his comments in an acceptable way, >> but i don't know if he had other concerns or if parts of the >> code he has not reviewed yet. > > The missing information in comments in previous versions effectively > prevented review of substantial parts of the code in those versions; > comments are critical information about the interfaces between different > parts of the code that are required for effective review (as well as for > subsequent maintainability of the code). > > I think these changes are far too high risk for this late in the freeze. Thanks for that review. In which case let us defer to 2.29. -- Cheers, Carlos. ^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 00/10] Optimized math routines 2018-07-06 16:27 ` Carlos O'Donell 2018-07-06 17:17 ` Szabolcs Nagy @ 2018-07-11 13:39 ` Szabolcs Nagy 1 sibling, 0 replies; 45+ messages in thread From: Szabolcs Nagy @ 2018-07-11 13:39 UTC (permalink / raw) To: Carlos O'Donell, GNU C Library; +Cc: nd, Wilco Dijkstra, Joseph Myers On 06/07/18 17:27, Carlos O'Donell wrote: > On 07/06/2018 11:46 AM, Szabolcs Nagy wrote: >> On 06/07/18 13:43, Carlos O'Donell wrote: >>> On 07/06/2018 04:47 AM, Szabolcs Nagy wrote: >>>> Optimized exp, exp2, log, log2, pow, sinf, cosf and sincosf >>>> implementations. >>> >>> Is it your intent to have these included in 2.28? >>> >> >> (resending as my previous mail seems to be lost) >> >> yes, i'd like to add it to the 'desirable in 2.28' list >> if Joseph is ok with the code, but i see he is not available >> right now for review. >> >> i don't know how other maintainers feel about such change, >> there needs to be an ulp update (i'm willing to do that for >> targets i can access hw for testing). > > Where there any unanswered questions in your v4 review? > > Do you think v4 is basically as good as it will get? > > Who were the people who signed off on the review? > i made two minor modifications (codegen is not affected): - removed an unused configuration option from sincosf. - fixed a comment in pow. i ran glibc tests on powerpc64le-linux-gnu and i686-linux-gnu too now. i will also update the improvement numbers in the commit messages to reflect dynamic linked master vs new instead of static linked master vs nowrapper improvements (i didn't repost the patchset just to change those numbers though). i propose this change to be included in glibc 2.28 (added it to the desired features), i'm willing to do further tweaks if necessary. i believe the code provides the documented math quality guarantees and does not introduce regressions on any target (other than ulp bound update is needed after the exp patch). the wrapper removal is deferred to glibc 2.29 (it requires some changes to the libm alias machinery, it changes abi and target maintainers may need to tweak the ifunc mechanism where appropriate for optimal performance) ^ permalink raw reply [flat|nested] 45+ messages in thread
* [PATCH] powerpc: update libm-test-ulps 2018-07-06 8:49 [PATCH 00/10] Optimized math routines Szabolcs Nagy ` (10 preceding siblings ...) 2018-07-06 12:43 ` [PATCH 00/10] Optimized math routines Carlos O'Donell @ 2018-07-11 14:19 ` Szabolcs Nagy 2018-07-12 15:52 ` [PATCH] update libm-test-ulps for new exp Szabolcs Nagy 2018-08-07 11:03 ` [PATCH 00/10] Optimized math routines Szabolcs Nagy 13 siblings, 0 replies; 45+ messages in thread From: Szabolcs Nagy @ 2018-07-11 14:19 UTC (permalink / raw) To: GNU C Library; +Cc: nd, Wilco Dijkstra, Joseph Myers [-- Attachment #1: Type: text/plain, Size: 339 bytes --] Update error bounds for the new exp implementation. Only non-nearest rounding ulp bounds increased. 2018-07-11 Szabolcs Nagy <szabolcs.nagy@arm.com> * sysdeps/powerpc/fpu/libm-test-ulps: Update. --- sysdeps/powerpc/fpu/libm-test-ulps | 96 +++++++++++++++++++------------------- 1 file changed, 48 insertions(+), 48 deletions(-) [-- Attachment #2: 0008-powerpc-update-libm-test-ulps.diff --] [-- Type: text/x-patch, Size: 4609 bytes --] diff --git a/sysdeps/powerpc/fpu/libm-test-ulps b/sysdeps/powerpc/fpu/libm-test-ulps index f4c67c6423..1eec27c1dc 100644 --- a/sysdeps/powerpc/fpu/libm-test-ulps +++ b/sysdeps/powerpc/fpu/libm-test-ulps @@ -902,10 +902,10 @@ ildouble: 6 ldouble: 6 Function: Imaginary part of "ccos_downward": -double: 2 +double: 3 float: 3 float128: 2 -idouble: 2 +idouble: 3 ifloat: 3 ifloat128: 2 ildouble: 6 @@ -922,10 +922,10 @@ ildouble: 6 ldouble: 6 Function: Imaginary part of "ccos_towardzero": -double: 2 +double: 3 float: 3 float128: 2 -idouble: 2 +idouble: 3 ifloat: 3 ifloat128: 2 ildouble: 6 @@ -972,40 +972,40 @@ ildouble: 2 ldouble: 2 Function: Real part of "ccosh_downward": -double: 1 +double: 2 float: 3 float128: 2 -idouble: 1 +idouble: 2 ifloat: 3 ifloat128: 2 ildouble: 6 ldouble: 6 Function: Imaginary part of "ccosh_downward": -double: 2 +double: 3 float: 3 float128: 2 -idouble: 2 +idouble: 3 ifloat: 3 ifloat128: 2 ildouble: 6 ldouble: 6 Function: Real part of "ccosh_towardzero": -double: 1 +double: 2 float: 3 float128: 2 -idouble: 1 +idouble: 2 ifloat: 3 ifloat128: 2 ildouble: 6 ldouble: 6 Function: Imaginary part of "ccosh_towardzero": -double: 2 +double: 3 float: 3 float128: 2 -idouble: 2 +idouble: 3 ifloat: 3 ifloat128: 2 ildouble: 6 @@ -1052,40 +1052,40 @@ ildouble: 2 ldouble: 2 Function: Real part of "cexp_downward": -double: 1 +double: 2 float: 2 float128: 2 -idouble: 1 +idouble: 2 ifloat: 2 ifloat128: 2 ildouble: 11 ldouble: 11 Function: Imaginary part of "cexp_downward": -double: 1 +double: 3 float: 3 float128: 2 -idouble: 1 +idouble: 3 ifloat: 3 ifloat128: 2 ildouble: 11 ldouble: 11 Function: Real part of "cexp_towardzero": -double: 1 +double: 2 float: 2 float128: 2 -idouble: 1 +idouble: 2 ifloat: 2 ifloat128: 2 ildouble: 11 ldouble: 11 Function: Imaginary part of "cexp_towardzero": -double: 1 +double: 3 float: 3 float128: 2 -idouble: 1 +idouble: 3 ifloat: 3 ifloat128: 2 ildouble: 11 @@ -1102,10 +1102,10 @@ ildouble: 3 ldouble: 3 Function: Imaginary part of "cexp_upward": -double: 1 +double: 3 float: 2 float128: 3 -idouble: 1 +idouble: 3 ifloat: 2 ifloat128: 3 ildouble: 3 @@ -1322,30 +1322,30 @@ ildouble: 3 ldouble: 3 Function: "cosh_downward": -double: 1 +double: 2 float: 1 float128: 2 -idouble: 1 +idouble: 2 ifloat: 1 ifloat128: 1 ildouble: 2 ldouble: 2 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 @@ -1370,10 +1370,10 @@ ildouble: 2 ldouble: 2 Function: Real part of "cpow_downward": -double: 4 +double: 5 float: 8 float128: 6 -idouble: 4 +idouble: 5 ifloat: 8 ifloat128: 6 ildouble: 7 @@ -1390,10 +1390,10 @@ ildouble: 4 ldouble: 4 Function: Real part of "cpow_towardzero": -double: 4 +double: 5 float: 8 float128: 6 -idouble: 4 +idouble: 5 ifloat: 8 ifloat128: 6 ildouble: 8 @@ -1446,10 +1446,10 @@ ildouble: 1 ldouble: 1 Function: Real part of "csin_downward": -double: 2 +double: 3 float: 3 float128: 2 -idouble: 2 +idouble: 3 ifloat: 3 ifloat128: 2 ildouble: 6 @@ -1466,10 +1466,10 @@ ildouble: 6 ldouble: 6 Function: Real part of "csin_towardzero": -double: 2 +double: 3 float: 3 float128: 2 -idouble: 2 +idouble: 3 ifloat: 3 ifloat128: 2 ildouble: 6 @@ -1534,10 +1534,10 @@ ildouble: 6 ldouble: 6 Function: Imaginary part of "csinh_downward": -double: 2 +double: 3 float: 3 float128: 2 -idouble: 2 +idouble: 3 ifloat: 3 ifloat128: 2 ildouble: 6 @@ -1554,10 +1554,10 @@ ildouble: 6 ldouble: 6 Function: Imaginary part of "csinh_towardzero": -double: 2 +double: 3 float: 3 float128: 2 -idouble: 2 +idouble: 3 ifloat: 3 ifloat128: 2 ildouble: 6 @@ -1877,10 +1877,10 @@ ildouble: 3 ldouble: 3 Function: "erfc_downward": -double: 3 +double: 4 float: 4 float128: 5 -idouble: 3 +idouble: 4 ifloat: 4 ifloat128: 5 ildouble: 10 @@ -1897,10 +1897,10 @@ ildouble: 9 ldouble: 9 Function: "erfc_upward": -double: 3 +double: 4 float: 4 float128: 5 -idouble: 3 +idouble: 4 ifloat: 4 ifloat128: 5 ildouble: 7 @@ -1923,20 +1923,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: 9 ldouble: 9 Function: "exp10_towardzero": -double: 2 +double: 3 float: 1 float128: 3 -idouble: 2 +idouble: 3 ifloat: 1 ifloat128: 3 ildouble: 9 ^ permalink raw reply [flat|nested] 45+ messages in thread
* [PATCH] update libm-test-ulps for new exp 2018-07-06 8:49 [PATCH 00/10] Optimized math routines Szabolcs Nagy ` (11 preceding siblings ...) 2018-07-11 14:19 ` [PATCH] powerpc: update libm-test-ulps Szabolcs Nagy @ 2018-07-12 15:52 ` Szabolcs Nagy 2018-07-18 17:25 ` Joseph Myers 2018-08-07 11:03 ` [PATCH 00/10] Optimized math routines Szabolcs Nagy 13 siblings, 1 reply; 45+ messages in thread From: Szabolcs Nagy @ 2018-07-12 15:52 UTC (permalink / raw) To: GNU C Library; +Cc: nd, Wilco Dijkstra, Joseph Myers [-- Attachment #1: Type: text/plain, Size: 2428 bytes --] Update error bounds for the new exp implementation on alpha, hppa, m68k/coldfire, microblaze, mips/mips32, mips/mips64, nios2, powerpc, riscv/nofpu, riscv/rv64, s390, sh and sparc. Only non-nearest rounding ulp bounds increased. Did not run the math tests on real hardware, but used the following ULP bounds to generate the new files: Function: Imaginary part of "ccos_downward": double: 3 idouble: 3 Function: Imaginary part of "ccos_towardzero": double: 3 idouble: 3 Function: Real part of "ccosh_downward": double: 2 idouble: 2 Function: Imaginary part of "ccosh_downward": double: 3 idouble: 3 Function: Real part of "ccosh_towardzero": double: 2 idouble: 2 Function: Imaginary part of "ccosh_towardzero": double: 3 idouble: 3 Function: Real part of "cexp_downward": double: 2 idouble: 2 Function: Imaginary part of "cexp_downward": double: 3 idouble: 3 Function: Real part of "cexp_towardzero": double: 2 idouble: 2 Function: Imaginary part of "cexp_towardzero": double: 3 idouble: 3 Function: Imaginary part of "cexp_upward": double: 3 idouble: 3 Function: "cosh_downward": double: 2 idouble: 2 Function: "cosh_towardzero": double: 2 idouble: 2 Function: "cosh_upward": double: 2 idouble: 2 Function: Real part of "cpow_downward": double: 5 idouble: 5 Function: Real part of "cpow_towardzero": double: 5 idouble: 5 Function: Real part of "csin_downward": double: 3 idouble: 3 Function: Real part of "csin_towardzero": double: 3 idouble: 3 Function: Imaginary part of "csinh_downward": double: 3 idouble: 3 Function: Imaginary part of "csinh_towardzero": double: 3 idouble: 3 Function: "erfc_downward": double: 4 idouble: 4 Function: "erfc_upward": double: 4 idouble: 4 Function: "exp10_downward": double: 3 idouble: 3 Function: "exp10_towardzero": double: 3 idouble: 3 2018-07-12 Szabolcs Nagy <szabolcs.nagy@arm.com> * sysdeps/alpha/fpu/libm-test-ulps: Update. * sysdeps/hppa/fpu/libm-test-ulps: Update. * sysdeps/m68k/coldfire/fpu/libm-test-ulps: Update. * sysdeps/microblaze/libm-test-ulps: Update. * sysdeps/mips/mips32/libm-test-ulps: Update. * sysdeps/mips/mips64/libm-test-ulps: Update. * sysdeps/nios2/libm-test-ulps: Update. * sysdeps/powerpc/nofpu/libm-test-ulps: Update. * sysdeps/riscv/nofpu/libm-test-ulps: Update. * sysdeps/riscv/rv64/rvd/libm-test-ulps: Update. * sysdeps/s390/fpu/libm-test-ulps: Update. * sysdeps/sh/libm-test-ulps: Update. * sysdeps/sparc/fpu/libm-test-ulps: Update. [-- Attachment #2: 0001-update-libm-test-ulps-for-new-exp.diff --] [-- Type: text/x-patch, Size: 46251 bytes --] diff --git a/sysdeps/alpha/fpu/libm-test-ulps b/sysdeps/alpha/fpu/libm-test-ulps index 12a6127ddf..27e81b53d1 100644 --- a/sysdeps/alpha/fpu/libm-test-ulps +++ b/sysdeps/alpha/fpu/libm-test-ulps @@ -712,9 +712,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 @@ -728,9 +728,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 @@ -768,33 +768,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 @@ -832,33 +832,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 @@ -872,9 +872,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 @@ -1044,25 +1044,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 @@ -1082,9 +1082,9 @@ ildouble: 1 ldouble: 1 Function: Real part of "cpow_downward": -double: 2 +double: 5 float: 4 -idouble: 2 +idouble: 5 ifloat: 4 ildouble: 6 ldouble: 6 @@ -1098,9 +1098,9 @@ ildouble: 2 ldouble: 2 Function: Real part of "cpow_towardzero": -double: 2 +double: 5 float: 4 -idouble: 2 +idouble: 5 ifloat: 4 ildouble: 6 ldouble: 6 @@ -1142,9 +1142,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 @@ -1158,9 +1158,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 @@ -1212,9 +1212,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 @@ -1228,9 +1228,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 @@ -1520,17 +1520,17 @@ ildouble: 2 ldouble: 2 Function: "exp10_downward": -double: 2 +double: 3 float: 1 -idouble: 2 +idouble: 3 ifloat: 1 ildouble: 3 ldouble: 3 Function: "exp10_towardzero": -double: 2 +double: 3 float: 1 -idouble: 2 +idouble: 3 ifloat: 1 ildouble: 3 ldouble: 3 diff --git a/sysdeps/hppa/fpu/libm-test-ulps b/sysdeps/hppa/fpu/libm-test-ulps index d0c4dea001..2c61a7ae91 100644 --- a/sysdeps/hppa/fpu/libm-test-ulps +++ b/sysdeps/hppa/fpu/libm-test-ulps @@ -544,9 +544,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": @@ -556,9 +556,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": @@ -588,27 +588,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": @@ -636,27 +636,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": @@ -666,9 +666,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": @@ -800,21 +800,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": @@ -834,9 +834,9 @@ ildouble: 2 ldouble: 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": @@ -846,9 +846,9 @@ idouble: 2 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": @@ -876,9 +876,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": @@ -888,9 +888,9 @@ idouble: 1 ifloat: 2 Function: Real part of "csin_towardzero": -double: 2 +double: 3 float: 3 -idouble: 2 +idouble: 3 ifloat: 3 Function: Imaginary part of "csin_towardzero": @@ -930,9 +930,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": @@ -942,9 +942,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": @@ -1172,15 +1172,15 @@ ildouble: 6 ldouble: 6 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": diff --git a/sysdeps/m68k/coldfire/fpu/libm-test-ulps b/sysdeps/m68k/coldfire/fpu/libm-test-ulps index fad7f8f068..6b93655392 100644 --- a/sysdeps/m68k/coldfire/fpu/libm-test-ulps +++ b/sysdeps/m68k/coldfire/fpu/libm-test-ulps @@ -55,6 +55,14 @@ Function: Imaginary part of "ccos": float: 1 ifloat: 1 +Function: Imaginary part of "ccos_downward": +double: 3 +idouble: 3 + +Function: Imaginary part of "ccos_towardzero": +double: 3 +idouble: 3 + Function: Real part of "ccosh": double: 1 float: 1 @@ -65,6 +73,22 @@ Function: Imaginary part of "ccosh": float: 1 ifloat: 1 +Function: Real part of "ccosh_downward": +double: 2 +idouble: 2 + +Function: Imaginary part of "ccosh_downward": +double: 3 +idouble: 3 + +Function: Real part of "ccosh_towardzero": +double: 2 +idouble: 2 + +Function: Imaginary part of "ccosh_towardzero": +double: 3 +idouble: 3 + Function: Real part of "cexp": float: 1 ifloat: 1 @@ -73,6 +97,26 @@ Function: Imaginary part of "cexp": float: 1 ifloat: 1 +Function: Real part of "cexp_downward": +double: 2 +idouble: 2 + +Function: Imaginary part of "cexp_downward": +double: 3 +idouble: 3 + +Function: Real part of "cexp_towardzero": +double: 2 +idouble: 2 + +Function: Imaginary part of "cexp_towardzero": +double: 3 +idouble: 3 + +Function: Imaginary part of "cexp_upward": +double: 3 +idouble: 3 + Function: Real part of "clog": float: 1 ifloat: 1 @@ -93,6 +137,18 @@ float: 1 idouble: 2 ifloat: 1 +Function: "cosh_downward": +double: 2 +idouble: 2 + +Function: "cosh_towardzero": +double: 2 +idouble: 2 + +Function: "cosh_upward": +double: 2 +idouble: 2 + Function: Real part of "cpow": double: 2 float: 4 @@ -105,6 +161,22 @@ float: 2 idouble: 2 ifloat: 2 +Function: Real part of "cpow_downward": +double: 5 +idouble: 5 + +Function: Real part of "cpow_towardzero": +double: 5 +idouble: 5 + +Function: Real part of "csin_downward": +double: 3 +idouble: 3 + +Function: Real part of "csin_towardzero": +double: 3 +idouble: 3 + Function: Real part of "csinh": float: 1 ifloat: 1 @@ -115,6 +187,14 @@ float: 1 idouble: 1 ifloat: 1 +Function: Imaginary part of "csinh_downward": +double: 3 +idouble: 3 + +Function: Imaginary part of "csinh_towardzero": +double: 3 +idouble: 3 + Function: Real part of "csqrt": float: 1 ifloat: 1 @@ -141,12 +221,28 @@ Function: "erfc": double: 1 idouble: 1 +Function: "erfc_downward": +double: 4 +idouble: 4 + +Function: "erfc_upward": +double: 4 +idouble: 4 + Function: "exp10": double: 6 float: 2 idouble: 6 ifloat: 2 +Function: "exp10_downward": +double: 3 +idouble: 3 + +Function: "exp10_towardzero": +double: 3 +idouble: 3 + Function: "expm1": double: 1 float: 1 diff --git a/sysdeps/microblaze/libm-test-ulps b/sysdeps/microblaze/libm-test-ulps index e4b4d4e490..f3fc2325ad 100644 --- a/sysdeps/microblaze/libm-test-ulps +++ b/sysdeps/microblaze/libm-test-ulps @@ -133,6 +133,14 @@ float: 1 idouble: 1 ifloat: 1 +Function: Imaginary part of "ccos_downward": +double: 3 +idouble: 3 + +Function: Imaginary part of "ccos_towardzero": +double: 3 +idouble: 3 + Function: Real part of "ccosh": double: 1 float: 1 @@ -145,6 +153,22 @@ float: 1 idouble: 1 ifloat: 1 +Function: Real part of "ccosh_downward": +double: 2 +idouble: 2 + +Function: Imaginary part of "ccosh_downward": +double: 3 +idouble: 3 + +Function: Real part of "ccosh_towardzero": +double: 2 +idouble: 2 + +Function: Imaginary part of "ccosh_towardzero": +double: 3 +idouble: 3 + Function: Real part of "cexp": double: 2 float: 1 @@ -157,6 +181,26 @@ float: 2 idouble: 1 ifloat: 2 +Function: Real part of "cexp_downward": +double: 2 +idouble: 2 + +Function: Imaginary part of "cexp_downward": +double: 3 +idouble: 3 + +Function: Real part of "cexp_towardzero": +double: 2 +idouble: 2 + +Function: Imaginary part of "cexp_towardzero": +double: 3 +idouble: 3 + +Function: Imaginary part of "cexp_upward": +double: 3 +idouble: 3 + Function: Real part of "clog": double: 3 float: 3 @@ -189,6 +233,18 @@ float: 1 idouble: 1 ifloat: 1 +Function: "cosh_downward": +double: 2 +idouble: 2 + +Function: "cosh_towardzero": +double: 2 +idouble: 2 + +Function: "cosh_upward": +double: 2 +idouble: 2 + Function: Real part of "cpow": double: 2 float: 4 @@ -199,12 +255,28 @@ Function: Imaginary part of "cpow": float: 2 ifloat: 2 +Function: Real part of "cpow_downward": +double: 5 +idouble: 5 + +Function: Real part of "cpow_towardzero": +double: 5 +idouble: 5 + Function: Real part of "csin": double: 1 float: 1 idouble: 1 ifloat: 1 +Function: Real part of "csin_downward": +double: 3 +idouble: 3 + +Function: Real part of "csin_towardzero": +double: 3 +idouble: 3 + Function: Real part of "csinh": float: 1 ifloat: 1 @@ -215,6 +287,14 @@ float: 1 idouble: 1 ifloat: 1 +Function: Imaginary part of "csinh_downward": +double: 3 +idouble: 3 + +Function: Imaginary part of "csinh_towardzero": +double: 3 +idouble: 3 + Function: Real part of "csqrt": double: 2 float: 2 @@ -263,6 +343,14 @@ float: 2 idouble: 3 ifloat: 2 +Function: "erfc_downward": +double: 4 +idouble: 4 + +Function: "erfc_upward": +double: 4 +idouble: 4 + Function: "exp": float: 1 ifloat: 1 @@ -271,6 +359,14 @@ Function: "exp10": double: 2 idouble: 2 +Function: "exp10_downward": +double: 3 +idouble: 3 + +Function: "exp10_towardzero": +double: 3 +idouble: 3 + Function: "exp2": double: 1 float: 1 diff --git a/sysdeps/mips/mips32/libm-test-ulps b/sysdeps/mips/mips32/libm-test-ulps index e62cca3e03..798e3c465c 100644 --- a/sysdeps/mips/mips32/libm-test-ulps +++ b/sysdeps/mips/mips32/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": diff --git a/sysdeps/mips/mips64/libm-test-ulps b/sysdeps/mips/mips64/libm-test-ulps index 82b15be5af..fec97bdc10 100644 --- a/sysdeps/mips/mips64/libm-test-ulps +++ b/sysdeps/mips/mips64/libm-test-ulps @@ -712,9 +712,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 @@ -728,9 +728,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 @@ -768,33 +768,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 @@ -832,33 +832,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 @@ -872,9 +872,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 @@ -1046,25 +1046,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 @@ -1084,9 +1084,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 @@ -1100,9 +1100,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 @@ -1144,9 +1144,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 @@ -1160,9 +1160,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 @@ -1214,9 +1214,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 @@ -1230,9 +1230,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 @@ -1522,17 +1522,17 @@ ildouble: 2 ldouble: 2 Function: "exp10_downward": -double: 2 +double: 3 float: 1 -idouble: 2 +idouble: 3 ifloat: 1 ildouble: 3 ldouble: 3 Function: "exp10_towardzero": -double: 2 +double: 3 float: 1 -idouble: 2 +idouble: 3 ifloat: 1 ildouble: 3 ldouble: 3 diff --git a/sysdeps/nios2/libm-test-ulps b/sysdeps/nios2/libm-test-ulps index 0b9ef2afec..fc42f63fd7 100644 --- a/sysdeps/nios2/libm-test-ulps +++ b/sysdeps/nios2/libm-test-ulps @@ -133,6 +133,14 @@ float: 1 idouble: 1 ifloat: 1 +Function: Imaginary part of "ccos_downward": +double: 3 +idouble: 3 + +Function: Imaginary part of "ccos_towardzero": +double: 3 +idouble: 3 + Function: Real part of "ccosh": double: 1 float: 1 @@ -145,6 +153,22 @@ float: 1 idouble: 1 ifloat: 1 +Function: Real part of "ccosh_downward": +double: 2 +idouble: 2 + +Function: Imaginary part of "ccosh_downward": +double: 3 +idouble: 3 + +Function: Real part of "ccosh_towardzero": +double: 2 +idouble: 2 + +Function: Imaginary part of "ccosh_towardzero": +double: 3 +idouble: 3 + Function: Real part of "cexp": double: 2 float: 1 @@ -157,6 +181,26 @@ float: 2 idouble: 1 ifloat: 2 +Function: Real part of "cexp_downward": +double: 2 +idouble: 2 + +Function: Imaginary part of "cexp_downward": +double: 3 +idouble: 3 + +Function: Real part of "cexp_towardzero": +double: 2 +idouble: 2 + +Function: Imaginary part of "cexp_towardzero": +double: 3 +idouble: 3 + +Function: Imaginary part of "cexp_upward": +double: 3 +idouble: 3 + Function: Real part of "clog": double: 3 float: 3 @@ -191,6 +235,18 @@ float: 1 idouble: 1 ifloat: 1 +Function: "cosh_downward": +double: 2 +idouble: 2 + +Function: "cosh_towardzero": +double: 2 +idouble: 2 + +Function: "cosh_upward": +double: 2 +idouble: 2 + Function: Real part of "cpow": double: 2 float: 5 @@ -201,12 +257,28 @@ Function: Imaginary part of "cpow": float: 2 ifloat: 2 +Function: Real part of "cpow_downward": +double: 5 +idouble: 5 + +Function: Real part of "cpow_towardzero": +double: 5 +idouble: 5 + Function: Real part of "csin": double: 1 float: 1 idouble: 1 ifloat: 1 +Function: Real part of "csin_downward": +double: 3 +idouble: 3 + +Function: Real part of "csin_towardzero": +double: 3 +idouble: 3 + Function: Real part of "csinh": float: 1 ifloat: 1 @@ -217,6 +289,14 @@ float: 1 idouble: 1 ifloat: 1 +Function: Imaginary part of "csinh_downward": +double: 3 +idouble: 3 + +Function: Imaginary part of "csinh_towardzero": +double: 3 +idouble: 3 + Function: Real part of "csqrt": double: 2 float: 2 @@ -265,6 +345,14 @@ float: 2 idouble: 3 ifloat: 2 +Function: "erfc_downward": +double: 4 +idouble: 4 + +Function: "erfc_upward": +double: 4 +idouble: 4 + Function: "exp": float: 1 ifloat: 1 @@ -273,6 +361,14 @@ Function: "exp10": double: 2 idouble: 2 +Function: "exp10_downward": +double: 3 +idouble: 3 + +Function: "exp10_towardzero": +double: 3 +idouble: 3 + Function: "exp2": double: 1 float: 1 diff --git a/sysdeps/powerpc/nofpu/libm-test-ulps b/sysdeps/powerpc/nofpu/libm-test-ulps index aee738dafb..21c0c78f7f 100644 --- a/sysdeps/powerpc/nofpu/libm-test-ulps +++ b/sysdeps/powerpc/nofpu/libm-test-ulps @@ -712,9 +712,9 @@ ildouble: 6 ldouble: 6 Function: Imaginary part of "ccos_downward": -double: 2 +double: 3 float: 3 -idouble: 2 +idouble: 3 ifloat: 3 ildouble: 6 ldouble: 6 @@ -728,9 +728,9 @@ ildouble: 6 ldouble: 6 Function: Imaginary part of "ccos_towardzero": -double: 2 +double: 3 float: 3 -idouble: 2 +idouble: 3 ifloat: 3 ildouble: 6 ldouble: 6 @@ -768,33 +768,33 @@ ildouble: 2 ldouble: 2 Function: Real part of "ccosh_downward": -double: 1 +double: 2 float: 3 -idouble: 1 +idouble: 2 ifloat: 3 ildouble: 6 ldouble: 6 Function: Imaginary part of "ccosh_downward": -double: 2 +double: 3 float: 3 -idouble: 2 +idouble: 3 ifloat: 3 ildouble: 6 ldouble: 6 Function: Real part of "ccosh_towardzero": -double: 1 +double: 2 float: 3 -idouble: 1 +idouble: 2 ifloat: 3 ildouble: 10 ldouble: 10 Function: Imaginary part of "ccosh_towardzero": -double: 2 +double: 3 float: 3 -idouble: 2 +idouble: 3 ifloat: 3 ildouble: 6 ldouble: 6 @@ -832,33 +832,33 @@ ildouble: 1 ldouble: 1 Function: Real part of "cexp_downward": -double: 1 +double: 2 float: 2 -idouble: 1 +idouble: 2 ifloat: 2 ildouble: 11 ldouble: 11 Function: Imaginary part of "cexp_downward": -double: 1 +double: 3 float: 3 -idouble: 1 +idouble: 3 ifloat: 3 ildouble: 11 ldouble: 11 Function: Real part of "cexp_towardzero": -double: 1 +double: 2 float: 2 -idouble: 1 +idouble: 2 ifloat: 2 ildouble: 11 ldouble: 11 Function: Imaginary part of "cexp_towardzero": -double: 1 +double: 3 float: 3 -idouble: 1 +idouble: 3 ifloat: 3 ildouble: 11 ldouble: 11 @@ -872,9 +872,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 @@ -1044,25 +1044,25 @@ ildouble: 3 ldouble: 3 Function: "cosh_downward": -double: 1 +double: 2 float: 1 -idouble: 1 +idouble: 2 ifloat: 1 ildouble: 2 ldouble: 2 Function: "cosh_towardzero": -double: 1 +double: 2 float: 1 -idouble: 1 +idouble: 2 ifloat: 1 ildouble: 2 ldouble: 2 Function: "cosh_upward": -double: 1 +double: 2 float: 2 -idouble: 1 +idouble: 2 ifloat: 2 ildouble: 2 ldouble: 2 @@ -1082,9 +1082,9 @@ ildouble: 1 ldouble: 1 Function: Real part of "cpow_downward": -double: 4 +double: 5 float: 8 -idouble: 4 +idouble: 5 ifloat: 8 ildouble: 7 ldouble: 7 @@ -1098,9 +1098,9 @@ ildouble: 4 ldouble: 4 Function: Real part of "cpow_towardzero": -double: 4 +double: 5 float: 8 -idouble: 4 +idouble: 5 ifloat: 8 ildouble: 8 ldouble: 8 @@ -1142,9 +1142,9 @@ ildouble: 1 ldouble: 1 Function: Real part of "csin_downward": -double: 2 +double: 3 float: 3 -idouble: 2 +idouble: 3 ifloat: 3 ildouble: 6 ldouble: 6 @@ -1158,9 +1158,9 @@ ildouble: 6 ldouble: 6 Function: Real part of "csin_towardzero": -double: 2 +double: 3 float: 3 -idouble: 2 +idouble: 3 ifloat: 3 ildouble: 6 ldouble: 6 @@ -1212,9 +1212,9 @@ ildouble: 6 ldouble: 6 Function: Imaginary part of "csinh_downward": -double: 2 +double: 3 float: 3 -idouble: 2 +idouble: 3 ifloat: 3 ildouble: 6 ldouble: 6 @@ -1228,9 +1228,9 @@ ildouble: 6 ldouble: 6 Function: Imaginary part of "csinh_towardzero": -double: 2 +double: 3 float: 3 -idouble: 2 +idouble: 3 ifloat: 3 ildouble: 6 ldouble: 6 @@ -1520,17 +1520,17 @@ ildouble: 1 ldouble: 1 Function: "exp10_downward": -double: 2 +double: 3 float: 1 -idouble: 2 +idouble: 3 ifloat: 1 ildouble: 9 ldouble: 9 Function: "exp10_towardzero": -double: 2 +double: 3 float: 1 -idouble: 2 +idouble: 3 ifloat: 1 ildouble: 9 ldouble: 9 diff --git a/sysdeps/riscv/nofpu/libm-test-ulps b/sysdeps/riscv/nofpu/libm-test-ulps index 365f950074..10fb787d8b 100644 --- a/sysdeps/riscv/nofpu/libm-test-ulps +++ b/sysdeps/riscv/nofpu/libm-test-ulps @@ -712,9 +712,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 @@ -728,9 +728,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 @@ -768,33 +768,33 @@ ildouble: 1 ldouble: 1 Function: Real part of "ccosh_downward": -double: 1 +double: 2 float: 2 -idouble: 1 +idouble: 2 ifloat: 2 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 @@ -832,33 +832,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 @@ -872,9 +872,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 @@ -1036,25 +1036,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 @@ -1074,9 +1074,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 @@ -1090,9 +1090,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 @@ -1134,9 +1134,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 @@ -1150,9 +1150,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 @@ -1204,9 +1204,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 @@ -1220,9 +1220,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 @@ -1476,9 +1476,9 @@ ildouble: 2 ldouble: 2 Function: "erfc_downward": -double: 3 +double: 4 float: 4 -idouble: 3 +idouble: 4 ifloat: 4 ildouble: 5 ldouble: 5 @@ -1492,9 +1492,9 @@ ildouble: 4 ldouble: 4 Function: "erfc_upward": -double: 3 +double: 4 float: 4 -idouble: 3 +idouble: 4 ifloat: 4 ildouble: 5 ldouble: 5 @@ -1510,17 +1510,17 @@ ildouble: 2 ldouble: 2 Function: "exp10_downward": -double: 2 +double: 3 float: 1 -idouble: 2 +idouble: 3 ifloat: 1 ildouble: 3 ldouble: 3 Function: "exp10_towardzero": -double: 2 +double: 3 float: 1 -idouble: 2 +idouble: 3 ifloat: 1 ildouble: 3 ldouble: 3 diff --git a/sysdeps/riscv/rv64/rvd/libm-test-ulps b/sysdeps/riscv/rv64/rvd/libm-test-ulps index f8feadcd0d..e2939fe104 100644 --- a/sysdeps/riscv/rv64/rvd/libm-test-ulps +++ b/sysdeps/riscv/rv64/rvd/libm-test-ulps @@ -712,9 +712,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 @@ -728,9 +728,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 @@ -768,33 +768,33 @@ ildouble: 1 ldouble: 1 Function: Real part of "ccosh_downward": -double: 1 +double: 2 float: 2 -idouble: 1 +idouble: 2 ifloat: 2 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 @@ -832,33 +832,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 @@ -872,9 +872,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 @@ -1036,25 +1036,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 @@ -1074,9 +1074,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 @@ -1090,9 +1090,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 @@ -1134,9 +1134,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 @@ -1150,9 +1150,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 @@ -1204,9 +1204,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 @@ -1220,9 +1220,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 @@ -1476,9 +1476,9 @@ ildouble: 2 ldouble: 2 Function: "erfc_downward": -double: 3 +double: 4 float: 4 -idouble: 3 +idouble: 4 ifloat: 4 ildouble: 5 ldouble: 5 @@ -1492,9 +1492,9 @@ ildouble: 4 ldouble: 4 Function: "erfc_upward": -double: 3 +double: 4 float: 4 -idouble: 3 +idouble: 4 ifloat: 4 ildouble: 5 ldouble: 5 @@ -1510,17 +1510,17 @@ ildouble: 2 ldouble: 2 Function: "exp10_downward": -double: 2 +double: 3 float: 1 -idouble: 2 +idouble: 3 ifloat: 1 ildouble: 3 ldouble: 3 Function: "exp10_towardzero": -double: 2 +double: 3 float: 1 -idouble: 2 +idouble: 3 ifloat: 1 ildouble: 3 ldouble: 3 diff --git a/sysdeps/s390/fpu/libm-test-ulps b/sysdeps/s390/fpu/libm-test-ulps index fec59c7d60..d26cac546c 100644 --- a/sysdeps/s390/fpu/libm-test-ulps +++ b/sysdeps/s390/fpu/libm-test-ulps @@ -712,9 +712,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 @@ -728,9 +728,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 @@ -768,33 +768,33 @@ ildouble: 1 ldouble: 1 Function: Real part of "ccosh_downward": -double: 1 +double: 2 float: 2 -idouble: 1 +idouble: 2 ifloat: 2 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 @@ -832,33 +832,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 @@ -872,9 +872,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 @@ -1038,25 +1038,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 @@ -1076,9 +1076,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 @@ -1092,9 +1092,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 @@ -1136,9 +1136,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 @@ -1152,9 +1152,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 @@ -1206,9 +1206,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 @@ -1222,9 +1222,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 @@ -1478,9 +1478,9 @@ ildouble: 2 ldouble: 2 Function: "erfc_downward": -double: 3 +double: 4 float: 4 -idouble: 3 +idouble: 4 ifloat: 4 ildouble: 5 ldouble: 5 @@ -1494,9 +1494,9 @@ ildouble: 4 ldouble: 4 Function: "erfc_upward": -double: 3 +double: 4 float: 4 -idouble: 3 +idouble: 4 ifloat: 4 ildouble: 5 ldouble: 5 @@ -1512,17 +1512,17 @@ ildouble: 2 ldouble: 2 Function: "exp10_downward": -double: 2 +double: 3 float: 1 -idouble: 2 +idouble: 3 ifloat: 1 ildouble: 3 ldouble: 3 Function: "exp10_towardzero": -double: 2 +double: 3 float: 1 -idouble: 2 +idouble: 3 ifloat: 1 ildouble: 3 ldouble: 3 diff --git a/sysdeps/sh/libm-test-ulps b/sysdeps/sh/libm-test-ulps index 11c5f3216d..fa0a368e73 100644 --- a/sysdeps/sh/libm-test-ulps +++ b/sysdeps/sh/libm-test-ulps @@ -263,6 +263,10 @@ float: 1 idouble: 1 ifloat: 1 +Function: Imaginary part of "ccos_downward": +double: 3 +idouble: 3 + Function: Real part of "ccos_towardzero": double: 1 float: 2 @@ -270,9 +274,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 "ccosh": @@ -287,16 +291,24 @@ float: 1 idouble: 1 ifloat: 1 +Function: Real part of "ccosh_downward": +double: 2 +idouble: 2 + +Function: Imaginary part of "ccosh_downward": +double: 3 +idouble: 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 "cexp": @@ -311,18 +323,30 @@ float: 2 idouble: 1 ifloat: 2 +Function: Real part of "cexp_downward": +double: 2 +idouble: 2 + +Function: Imaginary part of "cexp_downward": +double: 3 +idouble: 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: Imaginary part of "cexp_upward": +double: 3 +idouble: 3 + Function: Real part of "clog": double: 3 float: 3 @@ -385,12 +409,20 @@ float: 1 idouble: 1 ifloat: 1 +Function: "cosh_downward": +double: 2 +idouble: 2 + Function: "cosh_towardzero": -double: 1 +double: 2 float: 1 -idouble: 1 +idouble: 2 ifloat: 1 +Function: "cosh_upward": +double: 2 +idouble: 2 + Function: Real part of "cpow": double: 2 float: 5 @@ -401,10 +433,14 @@ Function: Imaginary part of "cpow": float: 2 ifloat: 2 +Function: Real part of "cpow_downward": +double: 5 +idouble: 5 + Function: Real part of "cpow_towardzero": -double: 4 +double: 5 float: 8 -idouble: 4 +idouble: 5 ifloat: 8 Function: Imaginary part of "cpow_towardzero": @@ -419,10 +455,14 @@ float: 1 idouble: 1 ifloat: 1 +Function: Real part of "csin_downward": +double: 3 +idouble: 3 + Function: Real part of "csin_towardzero": -double: 2 +double: 3 float: 3 -idouble: 2 +idouble: 3 ifloat: 3 Function: Imaginary part of "csin_towardzero": @@ -441,6 +481,10 @@ float: 1 idouble: 1 ifloat: 1 +Function: Imaginary part of "csinh_downward": +double: 3 +idouble: 3 + Function: Real part of "csinh_towardzero": double: 2 float: 2 @@ -448,9 +492,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 "csqrt": @@ -543,20 +587,32 @@ float: 2 idouble: 3 ifloat: 2 +Function: "erfc_downward": +double: 4 +idouble: 4 + Function: "erfc_towardzero": double: 3 float: 3 idouble: 3 ifloat: 3 +Function: "erfc_upward": +double: 4 +idouble: 4 + Function: "exp10": double: 2 idouble: 2 +Function: "exp10_downward": +double: 3 +idouble: 3 + Function: "exp10_towardzero": -double: 2 +double: 3 float: 1 -idouble: 2 +idouble: 3 ifloat: 1 Function: "exp2": diff --git a/sysdeps/sparc/fpu/libm-test-ulps b/sysdeps/sparc/fpu/libm-test-ulps index 84aed3a4e2..7fc00f2ceb 100644 --- a/sysdeps/sparc/fpu/libm-test-ulps +++ b/sysdeps/sparc/fpu/libm-test-ulps @@ -712,9 +712,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 @@ -728,9 +728,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 @@ -768,33 +768,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 @@ -832,33 +832,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 @@ -872,9 +872,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 @@ -1046,25 +1046,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 @@ -1084,9 +1084,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 @@ -1100,9 +1100,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 @@ -1144,9 +1144,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 @@ -1160,9 +1160,9 @@ ildouble: 3 ldouble: 3 Function: Real part of "csin_towardzero": -double: 2 +double: 3 float: 3 -idouble: 2 +idouble: 3 ifloat: 3 ildouble: 2 ldouble: 2 @@ -1214,9 +1214,9 @@ ildouble: 3 ldouble: 3 Function: Imaginary part of "csinh_downward": -double: 2 +double: 3 float: 3 -idouble: 2 +idouble: 3 ifloat: 3 ildouble: 2 ldouble: 2 @@ -1230,9 +1230,9 @@ ildouble: 3 ldouble: 3 Function: Imaginary part of "csinh_towardzero": -double: 2 +double: 3 float: 3 -idouble: 2 +idouble: 3 ifloat: 3 ildouble: 3 ldouble: 3 @@ -1522,17 +1522,17 @@ ildouble: 2 ldouble: 2 Function: "exp10_downward": -double: 2 +double: 3 float: 1 -idouble: 2 +idouble: 3 ifloat: 1 ildouble: 3 ldouble: 3 Function: "exp10_towardzero": -double: 2 +double: 3 float: 1 -idouble: 2 +idouble: 3 ifloat: 1 ildouble: 3 ldouble: 3 ^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH] update libm-test-ulps for new exp 2018-07-12 15:52 ` [PATCH] update libm-test-ulps for new exp Szabolcs Nagy @ 2018-07-18 17:25 ` Joseph Myers 2018-07-19 9:15 ` Szabolcs Nagy 0 siblings, 1 reply; 45+ messages in thread From: Joseph Myers @ 2018-07-18 17:25 UTC (permalink / raw) To: Szabolcs Nagy; +Cc: GNU C Library, nd, Wilco Dijkstra On Thu, 12 Jul 2018, Szabolcs Nagy wrote: > Update error bounds for the new exp implementation on alpha, hppa, > m68k/coldfire, microblaze, mips/mips32, mips/mips64, nios2, powerpc, > riscv/nofpu, riscv/rv64, s390, sh and sparc. Only non-nearest > rounding ulp bounds increased. Did not run the math tests on real > hardware, but used the following ULP bounds to generate the new files: This is adding ulps for non-to-nearest tests on some architectures that only support round-to-nearest and so have no such ulps in their existing files. (I am generically dubious of such an update not based on actually running tests on the architectures involved - there can be architecture variations because of differences in e.g. whether multiply and add get fused - but adding ulps for tests that would not run on those architectures is definitely wrong.) -- Joseph S. Myers joseph@codesourcery.com ^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH] update libm-test-ulps for new exp 2018-07-18 17:25 ` Joseph Myers @ 2018-07-19 9:15 ` Szabolcs Nagy 2018-07-19 17:03 ` Joseph Myers 0 siblings, 1 reply; 45+ messages in thread From: Szabolcs Nagy @ 2018-07-19 9:15 UTC (permalink / raw) To: Joseph Myers; +Cc: nd, GNU C Library, Wilco Dijkstra On 18/07/18 18:25, Joseph Myers wrote: > On Thu, 12 Jul 2018, Szabolcs Nagy wrote: > >> Update error bounds for the new exp implementation on alpha, hppa, >> m68k/coldfire, microblaze, mips/mips32, mips/mips64, nios2, powerpc, >> riscv/nofpu, riscv/rv64, s390, sh and sparc. Only non-nearest >> rounding ulp bounds increased. Did not run the math tests on real >> hardware, but used the following ULP bounds to generate the new files: > > This is adding ulps for non-to-nearest tests on some architectures that > only support round-to-nearest and so have no such ulps in their existing > files. > > (I am generically dubious of such an update not based on actually running > tests on the architectures involved - there can be architecture variations > because of differences in e.g. whether multiply and add get fused - but > adding ulps for tests that would not run on those architectures is > definitely wrong.) > i created this patch in case the changes get accepted late so there is no time for maintainers to update the ulp file. i agree that this is not good practice. the numbers are upper bounds so max(fma-ulp,nofma-ulp) was used for all targets. in the long term i'd prefer if there was a generic ulp error file and a target could just say it uses the generic bounds (probably per function), so if a generic implementation is changed, less ulp modifications are needed (targets may still need to test in case of variation in target behaviour but most of the time i'd expect the same bound to work for all, if some target wants its own implementation then the burden of maintaining separate ulp bounds is on that target) ^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH] update libm-test-ulps for new exp 2018-07-19 9:15 ` Szabolcs Nagy @ 2018-07-19 17:03 ` Joseph Myers 2018-07-19 17:15 ` Wilco Dijkstra 0 siblings, 1 reply; 45+ messages in thread From: Joseph Myers @ 2018-07-19 17:03 UTC (permalink / raw) To: Szabolcs Nagy; +Cc: nd, GNU C Library, Wilco Dijkstra On Thu, 19 Jul 2018, Szabolcs Nagy wrote: > in the long term i'd prefer if there was a generic ulp error > file and a target could just say it uses the generic bounds That runs into e.g. different long double formats (so you'd need ulps files to specify format names, not "ldouble", which is a good idea anyway, and then you'd need to select appropriate files depending on long double format - and you don't really want to duplicate the sysdeps etc. logic that selects long double formats, but you also have the tables of ulps generated for the manual, which does not depend on the glibc configuration and does not know what configurations use what sysdeps directories, so maybe the tables in the manual would also need rearranging somehow to have generic and architecture-specific ulps). -- Joseph S. Myers joseph@codesourcery.com ^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH] update libm-test-ulps for new exp 2018-07-19 17:03 ` Joseph Myers @ 2018-07-19 17:15 ` Wilco Dijkstra 2018-07-19 17:23 ` Joseph Myers 0 siblings, 1 reply; 45+ messages in thread From: Wilco Dijkstra @ 2018-07-19 17:15 UTC (permalink / raw) To: Joseph Myers, Szabolcs Nagy; +Cc: nd, GNU C Library Joseph Myers wrote: > That runs into e.g. different long double formats (so you'd need ulps > files to specify format names, not "ldouble", which is a good idea anyway, > and then you'd need to select appropriate files depending on long double > format - and you don't really want to duplicate the sysdeps etc. logic > that selects long double formats, but you also have the tables of ulps > generated for the manual, which does not depend on the glibc configuration > and does not know what configurations use what sysdeps directories, so > maybe the tables in the manual would also need rearranging somehow to have > generic and architecture-specific ulps). Would it be feasible to include a generic ulp file which sets the expected ulps into the target ulp files that add or override such settings? That way most ulp files could be significantly reduced and only targets with special formats may need to have more entries. Also this would make it clearer when there are anomalies and possible ulp errors that need to be fixed. Wilco ^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH] update libm-test-ulps for new exp 2018-07-19 17:15 ` Wilco Dijkstra @ 2018-07-19 17:23 ` Joseph Myers 0 siblings, 0 replies; 45+ messages in thread From: Joseph Myers @ 2018-07-19 17:23 UTC (permalink / raw) To: Wilco Dijkstra; +Cc: Szabolcs Nagy, nd, GNU C Library On Thu, 19 Jul 2018, Wilco Dijkstra wrote: > Would it be feasible to include a generic ulp file which sets the > expected ulps into the target ulp files that add or override such > settings? That way most ulp files could be significantly reduced and > only targets with special formats may need to have more entries. Also > this would make it clearer when there are anomalies and possible ulp > errors that need to be fixed. One could construct various such schemes, yes, at least for float and double ulps (but being able to share ldbl-128 ulps would be a good idea as well, including the same ulps being used for long double on some platforms and _Float128 on others, it's not as if there are architecture-specific ldbl-128 functions beyond fully-determined ones such as sqrtl and fmal - though there are architecture variations in whether multiply and add might get fused for float128). I'd suggest a requirement for any such scheme should be code sharing between ulps file parsing for libm tests (gen-libm-test.pl) and the manual (libm-err-tab.pl). We probably want to finish getting consensus on the use of Python to replace Perl (and possibly awk) in the build first. -- Joseph S. Myers joseph@codesourcery.com ^ permalink raw reply [flat|nested] 45+ messages in thread
* Re: [PATCH 00/10] Optimized math routines 2018-07-06 8:49 [PATCH 00/10] Optimized math routines Szabolcs Nagy ` (12 preceding siblings ...) 2018-07-12 15:52 ` [PATCH] update libm-test-ulps for new exp Szabolcs Nagy @ 2018-08-07 11:03 ` Szabolcs Nagy 13 siblings, 0 replies; 45+ messages in thread From: Szabolcs Nagy @ 2018-08-07 11:03 UTC (permalink / raw) To: GNU C Library; +Cc: nd, Wilco Dijkstra, Joseph Myers On 06/07/18 09:47, Szabolcs Nagy wrote: > Optimized exp, exp2, log, log2, pow, sinf, cosf and sincosf > implementations. > > I updated the patches according to comments. I included the > sincosf patches from Wilco, but split out the math_config.h > toint changes into a separate patch. > > This set does not include the wrapper removal that changes ABI. > I'm still testing those and they can be applied separately. > The new exp increases the ulp error bounds in non-nearest > rounding modes, so ulp updates are needed. > > Szabolcs Nagy (8): > Â Clean up converttoint handling and document the semantics > Â Add new exp and exp2 implementations > Â aarch64: update libm-test-ulps > Â arm: update libm-test-ulps > Â x86_64: update libm-test-ulps > Â Add new log implementation > Â Add new log2 implementation > Â Add new pow implementation > > Wilco Dijkstra (2): > Â Improve performance of sincosf > Â Improve performance of sinf and cosf > ping. ^ permalink raw reply [flat|nested] 45+ messages in thread
end of thread, other threads:[~2018-09-05 15:26 UTC | newest] Thread overview: 45+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2018-07-06 8:49 [PATCH 00/10] Optimized math routines Szabolcs Nagy 2018-07-06 8:57 ` [PATCH 02/10] Improve performance of sincosf Szabolcs Nagy 2018-07-11 13:22 ` Szabolcs Nagy 2018-08-07 20:11 ` Joseph Myers 2018-08-10 12:12 ` Wilco Dijkstra 2018-08-10 16:04 ` Joseph Myers 2018-07-06 8:57 ` [PATCH 01/10] Clean up converttoint handling and document the semantics Szabolcs Nagy 2018-08-07 19:52 ` Joseph Myers 2018-07-06 8:59 ` [PATCH 03/10] Improve performance of sinf and cosf Szabolcs Nagy 2018-08-13 19:46 ` Joseph Myers 2018-08-14 19:41 ` Joseph Myers 2018-08-15 13:11 ` Wilco Dijkstra 2018-07-06 9:02 ` [PATCH 04/10] Add new exp and exp2 implementations Szabolcs Nagy 2018-08-22 19:55 ` Joseph Myers 2018-09-05 15:26 ` Szabolcs Nagy 2018-07-06 9:04 ` [PATCH 05/10] aarch64: update libm-test-ulps Szabolcs Nagy 2018-08-24 17:09 ` Joseph Myers 2018-07-06 9:05 ` [PATCH 06/10] arm: " Szabolcs Nagy 2018-07-06 9:06 ` [PATCH 07/10] x86_64: " Szabolcs Nagy 2018-07-06 9:08 ` [PATCH 08/10] Add new log implementation Szabolcs Nagy 2018-08-24 17:19 ` Joseph Myers 2018-07-06 9:09 ` [PATCH 09/10] Add new log2 implementation Szabolcs Nagy 2018-07-06 9:10 ` [PATCH 10/10] Add new pow implementation Szabolcs Nagy 2018-07-11 13:24 ` Szabolcs Nagy 2018-07-06 12:43 ` [PATCH 00/10] Optimized math routines Carlos O'Donell 2018-07-06 15:46 ` Szabolcs Nagy 2018-07-06 16:27 ` Carlos O'Donell 2018-07-06 17:17 ` Szabolcs Nagy 2018-07-09 12:15 ` Szabolcs Nagy 2018-07-09 13:09 ` Adhemerval Zanella 2018-07-09 13:35 ` Szabolcs Nagy 2018-07-09 14:27 ` Adhemerval Zanella 2018-07-09 15:41 ` Szabolcs Nagy 2018-07-09 18:20 ` Adhemerval Zanella 2018-07-17 21:59 ` Joseph Myers 2018-07-18 0:07 ` Carlos O'Donell 2018-07-11 13:39 ` Szabolcs Nagy 2018-07-11 14:19 ` [PATCH] powerpc: update libm-test-ulps Szabolcs Nagy 2018-07-12 15:52 ` [PATCH] update libm-test-ulps for new exp Szabolcs Nagy 2018-07-18 17:25 ` Joseph Myers 2018-07-19 9:15 ` Szabolcs Nagy 2018-07-19 17:03 ` Joseph Myers 2018-07-19 17:15 ` Wilco Dijkstra 2018-07-19 17:23 ` Joseph Myers 2018-08-07 11:03 ` [PATCH 00/10] Optimized math routines Szabolcs Nagy
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).