diff --git a/src/crt/dtol.src b/src/crt/dtol.src index bf2d2a00a..853666e71 100644 --- a/src/crt/dtol.src +++ b/src/crt/dtol.src @@ -3,24 +3,19 @@ section .text public __dtol + public __dtoul +; correctly handles all non-UB cases for both +; (long)long double and (unsigned long)long double __dtol: - ; f64_ret_i32 - push af, iy - ld a, b - push bc, de, hl - ld hl, 7 - add hl, sp - res 7, (hl) ; fabsl(x) - inc hl - rlca - ld (hl), a ; store the sign of x in the padding byte - call __dtol_c - pop af - ld a, e +__dtoul: + push bc + push de + call __dtoll ; same as __dtoull + ld c, e pop de - ld e, a - pop bc, iy, af + ld e, c + pop bc ret - extern __dtol_c + extern __dtoll diff --git a/src/crt/dtoll.src b/src/crt/dtoll.src index 1bf02d054..9e188c44e 100644 --- a/src/crt/dtoll.src +++ b/src/crt/dtoll.src @@ -3,19 +3,79 @@ section .text public __dtoll + public __dtoull +; correctly handles all non-UB cases for both +; (long long)long double and (unsigned long long)long double __dtoll: - ; f64_ret_i64 - push af, iy - ld a, b - res 7, b ; fabsl(x) - push bc, de, hl - ld hl, 8 - add hl, sp - rlca - ld (hl), a ; store the sign of x in the padding byte - call __dtoll_c - pop af, af, af, iy, af +__dtoull: + bit 6, b ; set if |x| >= 2.0L + jr z, .zero_or_one + bit 7, b + push af + res 7, b + push hl + ; -((Float64_mant_bits + Float64_bias) << 4) + ld hl, $FFC010 ; -16368 ; -$3FF0 + + ; clears the exponent field without touching the mantissa + ; sets the LSB of the exponent since x is normalized + ld a, c + or a, l ; or a, $10 + and a, $1F + + add hl, bc + ; HL <<= 4 + add hl, hl + add hl, hl + add hl, hl + add hl, hl + + ld c, a + ld b, 0 + ld a, h + sub a, 52 + 1 ; float64 mantissa bits + jr c, .shift_right + ; shift_left + ; expon >= 52 or [52, 63] + ; A is one less than it should be here to allow for the CPL trick in shift_right + ; A is [-1, 10] + cp a, 11 ; only call __llshl if the shift amount is [0, 63] + inc a ; positioning inc a after cp a allows __llshl to be skipped when the shift amount is zero + ld l, a + ex (sp), hl + call c, __llshl + jr .finish +.shift_right: + ; expon is [0, 51] + cpl + ld l, a + ex (sp), hl + call __llshru +.finish: + pop af ; reset SP + pop af +.finish_zero_or_one: + jp nz, __llneg ret - extern __dtoll_c +.zero_or_one: + ld hl, 16 + ld d, h + ld e, h + add hl, bc ; adds one to the exponent + bit 6, h ; if |x| was [1, 2) + jr z, .zero + inc de + bit 7, b ; sets NZ if the result should be -1 +.zero: + ld c, d + ld b, d + ld h, d + ld l, d + ex.s de, hl + jr .finish_zero_or_one + + extern __llneg + extern __llshl + extern __llshru diff --git a/src/crt/dtoul.src b/src/crt/dtoul.src deleted file mode 100644 index c71e5a357..000000000 --- a/src/crt/dtoul.src +++ /dev/null @@ -1,18 +0,0 @@ - assume adl=1 - - section .text - - public __dtoul - -__dtoul: - ; f64_ret_u32 - push af, iy, bc, de, hl - call __dtoul_c - pop af - ld a, e - pop de - ld e, a - pop bc, iy, af - ret - - extern __dtoul_c diff --git a/src/crt/dtoull.src b/src/crt/dtoull.src deleted file mode 100644 index b3cf27ab1..000000000 --- a/src/crt/dtoull.src +++ /dev/null @@ -1,14 +0,0 @@ - assume adl=1 - - section .text - - public __dtoull - -__dtoull: - ; f64_ret_u64 - push af, iy, bc, de, hl - call __dtoull_c - pop af, af, af, iy, af - ret - - extern __dtoull_c diff --git a/src/crt/float64_to_int.c b/src/crt/float64_to_int.c index c8c96d715..3b32300ca 100644 --- a/src/crt/float64_to_int.c +++ b/src/crt/float64_to_int.c @@ -64,16 +64,6 @@ uint64_t _dtoull_c(long double x) { } #endif -/** - * @brief set to 0 or 1 - * If set to 1, values that truncate to `INT32_MIN`/`INT64_MIN` will be - * handled correctly. - * If set to 0, it can save a little bit of space by removing a comparison from - * `_dtol_c` and `_dtoll_c`. However this will cause values that would truncate - * to `INT32_MIN`/`INT64_MIN` to have an undefined result. - */ -#define HANDLE_INT_MIN 1 - typedef struct f64_sign { long double flt; bool sign; @@ -106,41 +96,20 @@ static uint64_t f64_to_unsigned(F64_pun val) { return val.bin; } -uint64_t _dtoull_c(long double x) { - F64_pun val; - val.flt = x; - /* overflow || signbit(x) || isinf(x) || isnan(x) */ - if (val.reg.BC >= ((Float64_bias + Float64_u64_max_exp) << Float64_exp_BC_shift)) { - /* undefined return value for negative/overflow/inf/NaN of x */ - return 0; - } - return f64_to_unsigned(val); -} -uint32_t _dtoul_c(long double x) { - F64_pun val; - val.flt = x; - /* overflow || signbit(x) || isinf(x) || isnan(x) */ - if (val.reg.BC >= ((Float64_bias + Float64_u32_max_exp) << Float64_exp_BC_shift)) { - /* undefined return value for negative/overflow/inf/NaN values of x */ - return 0; - } - return (uint32_t)f64_to_unsigned(val); -} +/** + * @brief the exact same routine is used for (long long)long double and + * (unsigned long long)long double. If the input long double is out of range, + * then the conversion is UB anyways. + */ int64_t _dtoll_c(f64_sign arg) { F64_pun val; bool x_sign = arg.sign; val.flt = arg.flt; /* overflow || isinf(x) || isnan(x) */ - if (val.reg.BC >= ((Float64_bias + Float64_i64_max_exp) << Float64_exp_BC_shift)) { - #if HANDLE_INT_MIN != 0 - /* if the value truncates to INT64_MIN */ - if (x_sign && val.bin == UINT64_C(0x43E0000000000000)) { - return INT64_MIN; - } - #endif + if (val.reg.BC >= ((Float64_bias + Float64_u64_max_exp) << Float64_exp_BC_shift)) { /* undefined return value for underflow/overflow/inf/NaN values of x */ return 0; } @@ -150,19 +119,18 @@ int64_t _dtoll_c(f64_sign arg) { return ret; } +/** + * @brief the exact same routine is used for (long)long double and + * (unsigned long)long double. If the input long double is out of range, + * then the conversion is UB anyways. + */ int32_t _dtol_c(f64_sign arg) { F64_pun val; bool x_sign = arg.sign; val.flt = arg.flt; /* overflow || isinf(x) || isnan(x) */ - if (val.reg.BC >= ((Float64_bias + Float64_i32_max_exp) << Float64_exp_BC_shift)) { - #if HANDLE_INT_MIN != 0 - /* if the value truncates to INT32_MIN */ - if (x_sign && val.bin <= UINT64_C(0x41E00000001FFFFF)) { - return INT32_MIN; - } - #endif + if (val.reg.BC >= ((Float64_bias + Float64_u32_max_exp) << Float64_exp_BC_shift)) { /* undefined return value for underflow/overflow/inf/NaN values of x */ return 0; } diff --git a/src/crt/ftoll.c b/src/crt/ftoll.c index 0c5e0afae..b88ead5e3 100644 --- a/src/crt/ftoll.c +++ b/src/crt/ftoll.c @@ -2,6 +2,11 @@ #include #include +/** + * @brief the exact same routine is used for (long long)float and + * (unsigned long long)float. If the input float is out of range, + * then the conversion is UB anyways. + */ long long _ftoll_c(float x) { const union { float f; uint32_t u; struct { uint32_t mantissa: FLT_MANT_DIG - 1, exponent: 8, sign: 1; }; } parts = { .f = x }; diff --git a/src/crt/ftoll.src b/src/crt/ftoll.src index 202a6e273..cc4f8a961 100644 --- a/src/crt/ftoll.src +++ b/src/crt/ftoll.src @@ -3,7 +3,12 @@ section .text public __ftoll + public __ftoull + +; __ftoll_c correctly handles all non-UB cases for both +; (long long)float and (unsigned long long)float __ftoll: +__ftoull: ld d, a push iy, de, hl call __ftoll_c diff --git a/src/crt/ftoull.c b/src/crt/ftoull.c deleted file mode 100644 index e7e802920..000000000 --- a/src/crt/ftoull.c +++ /dev/null @@ -1,43 +0,0 @@ -#include -#include - -typedef union F32_pun { - float flt; - uint32_t bin; - struct { - uint24_t UHL; - uint8_t E; - } reg; -} F32_pun; - -#define Float32_pos_one UINT32_C(0x3F800000) -#define Float32_bias 127 -#define Float32_mant_bits 23 -#define Float32_u64_max_exp 64 - -// this should be easy to rewrite in assembly -uint64_t _ftoull_c(float x) { - F32_pun val; - val.flt = x; - // if trunc(x) is zero or x is negative - if ((int32_t)val.bin < (int32_t)Float32_pos_one) { - /* undefined return value for negative inputs */ - return 0; - } - // signbit is zero here - uint8_t expon = (uint8_t)(val.bin >> 23); - // doesn't underflow since 1.0 - Float32_bias gives us an exponent of zero - expon -= Float32_bias; - if (expon >= Float32_u64_max_exp) { - /* undefined return value for overflow */ - return 0; - } - // sets the LSB of the exponent since x is normalized - uint24_t mant = val.reg.UHL | 0x800000; - if (expon < Float32_mant_bits) { - mant >>= Float32_mant_bits - expon; - return mant; - } - /* expon >= 23 or [23, 63] */ - return (uint64_t)mant << (expon - Float32_mant_bits); -} diff --git a/src/crt/ftoull.src b/src/crt/ftoull.src deleted file mode 100644 index 007feec17..000000000 --- a/src/crt/ftoull.src +++ /dev/null @@ -1,13 +0,0 @@ - assume adl=1 - - section .text - - public __ftoull -__ftoull: - ld d, a - push iy, de, hl - call __ftoull_c - pop af, af, iy - ret - - extern __ftoull_c diff --git a/test/floating_point/float64_to_integer/src/f64_to_integer_LUT.h b/test/floating_point/float64_to_integer/src/f64_to_integer_LUT.h index e20747cd6..4cf6f8775 100644 --- a/test/floating_point/float64_to_integer/src/f64_to_integer_LUT.h +++ b/test/floating_point/float64_to_integer/src/f64_to_integer_LUT.h @@ -3,7 +3,7 @@ #include -/* Generated 2025-03-01T22:43:31Z */ +/* Generated 2025-05-08T05:01:15Z */ typedef uint64_t input_type; @@ -11,520 +11,520 @@ typedef struct { uint32_t u32; int32_t i32; uint64_t u64; int64_t i64; } output_ static const input_type f64_to_integer_LUT_input[256] = { /* 0 */ UINT64_C(0x0000000000000000), -/* 1 */ UINT64_C(0x3FE0000000000000), -/* 2 */ UINT64_C(0x3FF0000000000000), -/* 3 */ UINT64_C(0x3FF8000000000000), -/* 4 */ UINT64_C(0x4000000000000000), -/* 5 */ UINT64_C(0x4004000000000000), -/* 6 */ UINT64_C(0x8000000000000000), -/* 7 */ UINT64_C(0xBFE0000000000000), -/* 8 */ UINT64_C(0xBFF0000000000000), -/* 9 */ UINT64_C(0xBFF8000000000000), -/* 10 */ UINT64_C(0xC000000000000000), -/* 11 */ UINT64_C(0xC004000000000000), -/* 12 */ UINT64_C(0xC187007B974FD180), -/* 13 */ UINT64_C(0x41C703635107C754), -/* 14 */ UINT64_C(0x41BECC48A87FA2D8), -/* 15 */ UINT64_C(0xC1B11B0881C22D30), -/* 16 */ UINT64_C(0x41A62D3025B4AAB8), -/* 17 */ UINT64_C(0x41AEF15BBE6FB370), -/* 18 */ UINT64_C(0x41CC7F3851FFB328), -/* 19 */ UINT64_C(0x41C95D1A7D292F5C), -/* 20 */ UINT64_C(0xC181AC470AF07BE0), -/* 21 */ UINT64_C(0x416D662D44DB4180), -/* 22 */ UINT64_C(0xC1BBF265E03039F6), -/* 23 */ UINT64_C(0xC1CCD911CE5C69CA), -/* 24 */ UINT64_C(0x41BDB5AF48393F04), -/* 25 */ UINT64_C(0xC1B466539E8C50FA), -/* 26 */ UINT64_C(0x41C861B703667C2A), -/* 27 */ UINT64_C(0x41CCEA141B837AEC), -/* 28 */ UINT64_C(0xC1BDC3C6BBBA77AE), -/* 29 */ UINT64_C(0x419B2B2B6827BC50), -/* 30 */ UINT64_C(0xC188044FC01D3D30), -/* 31 */ UINT64_C(0x41C67D15B8F0E2DA), -/* 32 */ UINT64_C(0x41CE41FFDB54C106), -/* 33 */ UINT64_C(0xC1BFB9F4CFC17DFE), -/* 34 */ UINT64_C(0xC1CA3864D75C7AD1), -/* 35 */ UINT64_C(0x41CD232291D37DE4), -/* 36 */ UINT64_C(0x41CB3812B52566BC), -/* 37 */ UINT64_C(0x41BEDE989B698608), -/* 38 */ UINT64_C(0xC1B1678C6BE88A28), -/* 39 */ UINT64_C(0xC1C9398A40FC1A01), -/* 40 */ UINT64_C(0x41B2BF9AE322EF00), -/* 41 */ UINT64_C(0x419EB7C62A8C41A0), -/* 42 */ UINT64_C(0xC1CBF7BE4DFF8DD6), -/* 43 */ UINT64_C(0xC18E6E72D2A5BED0), -/* 44 */ UINT64_C(0xC1BF04CD84944BBC), -/* 45 */ UINT64_C(0x41AD211B27356168), -/* 46 */ UINT64_C(0x41A411CD63EE8448), -/* 47 */ UINT64_C(0x41C9C17BA9DAF6DE), -/* 48 */ UINT64_C(0x41B6822743521D64), -/* 49 */ UINT64_C(0x41C0AA5035369DE0), -/* 50 */ UINT64_C(0x4191EAF92BA68E40), -/* 51 */ UINT64_C(0xC1BB4BDC6F164AA4), -/* 52 */ UINT64_C(0x41B808DF48066AE8), -/* 53 */ UINT64_C(0x41C5AB1391E617AE), -/* 54 */ UINT64_C(0xC1C2A09003BFF06E), -/* 55 */ UINT64_C(0xC1B56976B76B98FE), -/* 56 */ UINT64_C(0x41CD9A7F591E855C), -/* 57 */ UINT64_C(0x41B2E979111661F8), -/* 58 */ UINT64_C(0x41CF898D478FFBD8), -/* 59 */ UINT64_C(0xC18CE5DAA4AD7D60), -/* 60 */ UINT64_C(0xC1A2857438F7AC8C), -/* 61 */ UINT64_C(0x41C035964FBB8708), -/* 62 */ UINT64_C(0xC16F93B710285F40), -/* 63 */ UINT64_C(0x41C58BB97F70A16E), -/* 64 */ UINT64_C(0xC1A1E33E559993E0), -/* 65 */ UINT64_C(0xC1CF1B672F1757AF), -/* 66 */ UINT64_C(0x41C474ACBAB7E91A), -/* 67 */ UINT64_C(0xC1B8443EBFDF2A1C), -/* 68 */ UINT64_C(0xC1857FA398C20410), -/* 69 */ UINT64_C(0x41AE6EC1C4365720), -/* 70 */ UINT64_C(0x419E69265A4D0B30), -/* 71 */ UINT64_C(0x41C8CC49D89AB720), -/* 72 */ UINT64_C(0x41C92D294CCCCA7E), -/* 73 */ UINT64_C(0xC1CB1C1EBDA0E73B), -/* 74 */ UINT64_C(0x41B7B3190552752C), -/* 75 */ UINT64_C(0x4183C91113757400), -/* 76 */ UINT64_C(0x41B5A02D3C9F2C9C), -/* 77 */ UINT64_C(0x41B7744BF081E7E8), -/* 78 */ UINT64_C(0x41B0A92B7C7DE764), -/* 79 */ UINT64_C(0x41B89B7EE81D5D0C), -/* 80 */ UINT64_C(0x41C0779D8FFB0AB2), -/* 81 */ UINT64_C(0x41C017191C7005EE), -/* 82 */ UINT64_C(0x419F5B212ACCB110), -/* 83 */ UINT64_C(0x41CD37A64E4D078E), -/* 84 */ UINT64_C(0x41C7EC3CD185C306), -/* 85 */ UINT64_C(0xC1CB8F0C9263E7A4), -/* 86 */ UINT64_C(0x41C9BC5F3DA9220A), -/* 87 */ UINT64_C(0x41739BD38CDF09C0), -/* 88 */ UINT64_C(0x41CA6620952C2384), -/* 89 */ UINT64_C(0xC1BDB25E4EB27FAC), -/* 90 */ UINT64_C(0x41B12AE5A92305B4), -/* 91 */ UINT64_C(0xC1C0706BBDBDB2E6), -/* 92 */ UINT64_C(0xC18E8C73959BE580), -/* 93 */ UINT64_C(0x419C2FB5BED134F0), -/* 94 */ UINT64_C(0x41CE352D9CD6AD22), -/* 95 */ UINT64_C(0xC192543346FD3E48), -/* 96 */ UINT64_C(0x41C4CD81E2617956), -/* 97 */ UINT64_C(0x41A71A3B33F32E80), -/* 98 */ UINT64_C(0x41BC4DB32C0B4F84), -/* 99 */ UINT64_C(0x41B9B9DAA7214458), -/* 100 */ UINT64_C(0x419DA75A2C6A1540), -/* 101 */ UINT64_C(0x41B18F1C4B32BCC4), -/* 102 */ UINT64_C(0xC1BB1A7D39926942), -/* 103 */ UINT64_C(0xC1C2E8D42998EC6E), -/* 104 */ UINT64_C(0xC1ACF6B1D76BF4A4), -/* 105 */ UINT64_C(0xC1CB913B54D1FC0E), -/* 106 */ UINT64_C(0xC1B9B1CBFFE28126), -/* 107 */ UINT64_C(0x41CEF1F91B3536C6), -/* 108 */ UINT64_C(0xC188A1B3822F80D0), -/* 109 */ UINT64_C(0xC1C437A3AC9FCDB8), -/* 110 */ UINT64_C(0x418DAF47FA37ECE0), -/* 111 */ UINT64_C(0xC1AA500F63AC6C28), -/* 112 */ UINT64_C(0x41B0C3EE94AA762C), -/* 113 */ UINT64_C(0xC1C95B6B4963700A), -/* 114 */ UINT64_C(0x41B4888904543E84), -/* 115 */ UINT64_C(0x41CF3F2ACE3DA276), -/* 116 */ UINT64_C(0x41C3CA91DC455C88), -/* 117 */ UINT64_C(0xC198BA5D64706A58), -/* 118 */ UINT64_C(0xC1B7B975C73144C0), -/* 119 */ UINT64_C(0xC17EE98B02992140), -/* 120 */ UINT64_C(0xC1C9D7FD5FF1BDF4), -/* 121 */ UINT64_C(0x41CC3626E762CB48), -/* 122 */ UINT64_C(0xC1B22BFF7CE6128A), -/* 123 */ UINT64_C(0xC1BC544F9AFDD406), -/* 124 */ UINT64_C(0xC1BEE4E7DAF44050), -/* 125 */ UINT64_C(0xC1A8896336ECB88C), -/* 126 */ UINT64_C(0x41AC719DFE23DF08), -/* 127 */ UINT64_C(0x41B60C7BB157E020), -/* 128 */ UINT64_C(0x4193105A0EB0EF90), -/* 129 */ UINT64_C(0xC1722F2AEBE4B840), -/* 130 */ UINT64_C(0xC1CC4A574E20A053), -/* 131 */ UINT64_C(0x41C66AB8CB15943E), -/* 132 */ UINT64_C(0xC1B3BCC2564CE13C), -/* 133 */ UINT64_C(0xC1B1457600DE52AA), -/* 134 */ UINT64_C(0xC1A4D3DB9EE8E440), -/* 135 */ UINT64_C(0xC1C42A9C395FD942), -/* 136 */ UINT64_C(0xC1CAE26F39FD0FEC), -/* 137 */ UINT64_C(0x41C3222AD197CBE0), -/* 138 */ UINT64_C(0xC195BDF115674708), -/* 139 */ UINT64_C(0xC1CB2CF46C6A2397), -/* 140 */ UINT64_C(0xC1BD7747A255D3B2), -/* 141 */ UINT64_C(0xC1C75900B7B5CC22), -/* 142 */ UINT64_C(0xC1CA79152B9DED9E), -/* 143 */ UINT64_C(0x41A0D9EC5DCA1098), -/* 144 */ UINT64_C(0xC1B8523A213A3478), -/* 145 */ UINT64_C(0xC1BCF5B9A460E28E), -/* 146 */ UINT64_C(0xC1CC8A5E0A0D5CE5), -/* 147 */ UINT64_C(0x4187F076F1DB5EE0), -/* 148 */ UINT64_C(0x419A11AEC8375470), -/* 149 */ UINT64_C(0xC1A32C7E622CAEA0), -/* 150 */ UINT64_C(0xC1C630E484C2EA5F), -/* 151 */ UINT64_C(0x41B99E03097C8E90), -/* 152 */ UINT64_C(0xC1AE52FB1822BB98), -/* 153 */ UINT64_C(0xC1CBFF562434A224), -/* 154 */ UINT64_C(0x41C53848DEC09A08), -/* 155 */ UINT64_C(0xC1C9B57EE97028C7), -/* 156 */ UINT64_C(0x41C940AFF4932EEC), -/* 157 */ UINT64_C(0x41C9243E9E23C80E), -/* 158 */ UINT64_C(0xC1CFE3829EFC2E4D), -/* 159 */ UINT64_C(0xC1C2507B1637EF6C), -/* 160 */ UINT64_C(0xC1C4AA7BAC37BBE7), -/* 161 */ UINT64_C(0xC19A5AE3155DF2C8), -/* 162 */ UINT64_C(0xC1C0DE639CC1B822), -/* 163 */ UINT64_C(0x417FE2EB6082D4C0), -/* 164 */ UINT64_C(0xC1C2300C17804E07), -/* 165 */ UINT64_C(0xC1B215448D30E534), -/* 166 */ UINT64_C(0x41A57A5D4FB02E70), -/* 167 */ UINT64_C(0xC1C34BA844A1DC78), -/* 168 */ UINT64_C(0xC1C45C2B16265BA0), -/* 169 */ UINT64_C(0xC182396A71B849E0), -/* 170 */ UINT64_C(0x41B2558439EAAE90), -/* 171 */ UINT64_C(0xC1C28A0CA9C0FDAC), -/* 172 */ UINT64_C(0x419FE62AA590C9B0), -/* 173 */ UINT64_C(0xC1BFFB635437A662), -/* 174 */ UINT64_C(0xC1C01BFCE18299DE), -/* 175 */ UINT64_C(0x419F5C6538F24DF0), -/* 176 */ UINT64_C(0x41B90A00ED191F14), -/* 177 */ UINT64_C(0x41AE38C5010EFFF0), -/* 178 */ UINT64_C(0xC1CCDA2953737FC8), -/* 179 */ UINT64_C(0xC1CDEA602476A994), -/* 180 */ UINT64_C(0x41A7DAA7A1B0C078), -/* 181 */ UINT64_C(0x419B25C5D2E78180), -/* 182 */ UINT64_C(0xC1CF6CDAB6CCE128), -/* 183 */ UINT64_C(0xC1C00C7BD90B1897), -/* 184 */ UINT64_C(0xC1C9F5C028DF97FC), -/* 185 */ UINT64_C(0x41BB88F9401D0D30), -/* 186 */ UINT64_C(0xC1BE7BC958C3D98E), -/* 187 */ UINT64_C(0xC1A62B02D11A9B10), -/* 188 */ UINT64_C(0x41CE2678DCEB7836), -/* 189 */ UINT64_C(0xC1B5F6E6C98EFF82), -/* 190 */ UINT64_C(0xC1CAEA5DF9FBBCC0), -/* 191 */ UINT64_C(0xC1CF5485FDB30C4A), -/* 192 */ UINT64_C(0x41CA7E23A28DF56C), -/* 193 */ UINT64_C(0x41B6CF74E0F78C14), -/* 194 */ UINT64_C(0xC17E17B21912F500), -/* 195 */ UINT64_C(0x41C839952F484E12), -/* 196 */ UINT64_C(0xC1CE7A66440CA7A3), -/* 197 */ UINT64_C(0xC1C36BE8558013E6), -/* 198 */ UINT64_C(0x41CC0A8558AC8196), -/* 199 */ UINT64_C(0xC1CE17D03EB4B82B), -/* 200 */ UINT64_C(0x41C31C7BFABE90C0), -/* 201 */ UINT64_C(0xC1CBD140AA5D80E0), -/* 202 */ UINT64_C(0xC1C1C8E66B550816), -/* 203 */ UINT64_C(0x41B40FD5E8479F64), -/* 204 */ UINT64_C(0xC17E46DA9A330200), -/* 205 */ UINT64_C(0xC1AC3B4331C09EDC), -/* 206 */ UINT64_C(0xC1C319F974B1104D), -/* 207 */ UINT64_C(0xC1CAC057BD647437), -/* 208 */ UINT64_C(0xC1A54870A6021548), -/* 209 */ UINT64_C(0x41C67374FC72E166), -/* 210 */ UINT64_C(0xC1C86C12BD5E1DB8), -/* 211 */ UINT64_C(0x41AFA3F3EE2B6230), -/* 212 */ UINT64_C(0xC1AE098F5F821D50), -/* 213 */ UINT64_C(0xC1786C0FAB375A80), -/* 214 */ UINT64_C(0xC1BD32FF4176D18A), -/* 215 */ UINT64_C(0xC1CC9FD36EDE952F), -/* 216 */ UINT64_C(0xC1AE0C07A9305E60), -/* 217 */ UINT64_C(0xC1CD28D93E426C7E), -/* 218 */ UINT64_C(0xC1C0720791E81A0E), -/* 219 */ UINT64_C(0xC1BB4B7F4B2D13A6), -/* 220 */ UINT64_C(0x41CF181D1C772E5E), -/* 221 */ UINT64_C(0x41AC7C89F97F34E0), -/* 222 */ UINT64_C(0x41C65CD533182214), -/* 223 */ UINT64_C(0xC1AF9F6AEEB4E944), -/* 224 */ UINT64_C(0x41BA6BCCC7724764), -/* 225 */ UINT64_C(0xC157852AAA32D480), -/* 226 */ UINT64_C(0x41C03A181EF33B36), -/* 227 */ UINT64_C(0xC1CCF82CCDAEECB9), -/* 228 */ UINT64_C(0x41BD6A55CF3AF0E0), -/* 229 */ UINT64_C(0x41BE541F35330354), -/* 230 */ UINT64_C(0xC1BC3414B31AF6F2), -/* 231 */ UINT64_C(0x418A5203552643A0), -/* 232 */ UINT64_C(0xC1A1493EF64D4128), -/* 233 */ UINT64_C(0x41A990A540EC4AE0), -/* 234 */ UINT64_C(0x41CE72F18EC5B248), -/* 235 */ UINT64_C(0xC1CD2610A5EABC9F), -/* 236 */ UINT64_C(0x41C3F8B5709353AE), -/* 237 */ UINT64_C(0x419665E01969A440), -/* 238 */ UINT64_C(0xC18A9071ADE385E0), -/* 239 */ UINT64_C(0x41AFC02AD54342C8), -/* 240 */ UINT64_C(0x4199AAB273BA3C60), -/* 241 */ UINT64_C(0x41B5107057CE9D5C), -/* 242 */ UINT64_C(0x41ADE64DD1C5D560), -/* 243 */ UINT64_C(0x41CC1E113DBADE1E), -/* 244 */ UINT64_C(0x41CF1607932F5998), -/* 245 */ UINT64_C(0x41BDD048A7310D98), -/* 246 */ UINT64_C(0xC1CEFF09DFD71929), -/* 247 */ UINT64_C(0x41C911BADCBEFDA2), -/* 248 */ UINT64_C(0x41BC748552C45BEC), -/* 249 */ UINT64_C(0x41CEDE8AC3E334AE), -/* 250 */ UINT64_C(0x41C382FE54676548), -/* 251 */ UINT64_C(0x41C1ACA5C31CA62A), -/* 252 */ UINT64_C(0x41CAB1336672CE38), -/* 253 */ UINT64_C(0x41CC5939232D0D4C), -/* 254 */ UINT64_C(0x41C89EAC8999D8F6), -/* 255 */ UINT64_C(0x41C31505575B9458), +/* 1 */ UINT64_C(0x0000000000000001), +/* 2 */ UINT64_C(0x0010000000000000), +/* 3 */ UINT64_C(0x3FE0000000000000), +/* 4 */ UINT64_C(0x3FF0000000000000), +/* 5 */ UINT64_C(0x4000000000000000), +/* 6 */ UINT64_C(0x7FEFFFFFFFFFFFFF), +/* 7 */ UINT64_C(0x7FF0000000000000), +/* 8 */ UINT64_C(0x7FF8000000000000), +/* 9 */ UINT64_C(0x7FF4000000000000), +/* 10 */ UINT64_C(0x3FE0000000000001), +/* 11 */ UINT64_C(0x3FF0000000000001), +/* 12 */ UINT64_C(0x4000000000000001), +/* 13 */ UINT64_C(0x3FDFFFFFFFFFFFFF), +/* 14 */ UINT64_C(0x3FEFFFFFFFFFFFFF), +/* 15 */ UINT64_C(0x3FFFFFFFFFFFFFFF), +/* 16 */ UINT64_C(0x0000000000000002), +/* 17 */ UINT64_C(0x0010000000000001), +/* 18 */ UINT64_C(0x000FFFFFFFFFFFFF), +/* 19 */ UINT64_C(0x7FEFFFFFFFFFFFFE), +/* 20 */ UINT64_C(0x8000000000000000), +/* 21 */ UINT64_C(0x8000000000000001), +/* 22 */ UINT64_C(0x8010000000000000), +/* 23 */ UINT64_C(0xBFE0000000000000), +/* 24 */ UINT64_C(0xBFF0000000000000), +/* 25 */ UINT64_C(0xC000000000000000), +/* 26 */ UINT64_C(0xFFEFFFFFFFFFFFFF), +/* 27 */ UINT64_C(0xFFF0000000000000), +/* 28 */ UINT64_C(0xFFF8000000000000), +/* 29 */ UINT64_C(0xFFF4000000000000), +/* 30 */ UINT64_C(0xFFF4000000000000), +/* 31 */ UINT64_C(0xBFE0000000000001), +/* 32 */ UINT64_C(0xBFF0000000000001), +/* 33 */ UINT64_C(0xC000000000000001), +/* 34 */ UINT64_C(0xBFDFFFFFFFFFFFFF), +/* 35 */ UINT64_C(0xBFEFFFFFFFFFFFFF), +/* 36 */ UINT64_C(0xBFFFFFFFFFFFFFFF), +/* 37 */ UINT64_C(0x8000000000000002), +/* 38 */ UINT64_C(0x8010000000000001), +/* 39 */ UINT64_C(0x800FFFFFFFFFFFFF), +/* 40 */ UINT64_C(0xFFEFFFFFFFFFFFFE), +/* 41 */ UINT64_C(0x3FF8000000000000), +/* 42 */ UINT64_C(0x4004000000000000), +/* 43 */ UINT64_C(0x3FF8000000000001), +/* 44 */ UINT64_C(0x4004000000000001), +/* 45 */ UINT64_C(0x3FF7FFFFFFFFFFFF), +/* 46 */ UINT64_C(0x4003FFFFFFFFFFFF), +/* 47 */ UINT64_C(0xBFF8000000000000), +/* 48 */ UINT64_C(0xC004000000000000), +/* 49 */ UINT64_C(0xBFF8000000000001), +/* 50 */ UINT64_C(0xC004000000000001), +/* 51 */ UINT64_C(0xBFF7FFFFFFFFFFFF), +/* 52 */ UINT64_C(0xC003FFFFFFFFFFFF), +/* 53 */ UINT64_C(0x1E0AE5E44DB8A137), +/* 54 */ UINT64_C(0x41B256700D7772BE), +/* 55 */ UINT64_C(0xC1D2480FAFF18F75), +/* 56 */ UINT64_C(0x43CDA6F4FF472297), +/* 57 */ UINT64_C(0xC3BCAF79CA06E6B4), +/* 58 */ UINT64_C(0x9AACBD45A7315576), +/* 59 */ UINT64_C(0x0D1EADD6A12AE164), +/* 60 */ UINT64_C(0x41D970654E166423), +/* 61 */ UINT64_C(0xC1B093D190B50548), +/* 62 */ UINT64_C(0x43B9E64CFDBB6AD3), +/* 63 */ UINT64_C(0xC3C911AD294F4EA2), +/* 64 */ UINT64_C(0x4CCB80DEA2EF74D1), +/* 65 */ UINT64_C(0x0874C99D086A329D), +/* 66 */ UINT64_C(0x41E9DD0846E1CCC3), +/* 67 */ UINT64_C(0x41C158293C608A92), +/* 68 */ UINT64_C(0x43D24013710F80C9), +/* 69 */ UINT64_C(0xC3B90875321AB144), +/* 70 */ UINT64_C(0x93EF4FA2D6F958C0), +/* 71 */ UINT64_C(0x338D6CD5823A5284), +/* 72 */ UINT64_C(0x41EDA0E0091F5C23), +/* 73 */ UINT64_C(0x419A5314CD117D10), +/* 74 */ UINT64_C(0x43BC3C9D58B9F9D4), +/* 75 */ UINT64_C(0x43BDF089542B70F4), +/* 76 */ UINT64_C(0x8072C00E3E7D7F3E), +/* 77 */ UINT64_C(0x32E47627E37EC01E), +/* 78 */ UINT64_C(0x41E8CDCCBED16F16), +/* 79 */ UINT64_C(0x41D2D45AA1F5A6A7), +/* 80 */ UINT64_C(0x43D7F5B5B292F1F5), +/* 81 */ UINT64_C(0x43DDF7513CEC6123), +/* 82 */ UINT64_C(0xCCEF9B7716760A1B), +/* 83 */ UINT64_C(0x39C1148C3E14A816), +/* 84 */ UINT64_C(0x41EF2C4C8A0310C4), +/* 85 */ UINT64_C(0x41A82D2EEB0B8188), +/* 86 */ UINT64_C(0x43E97A33FC4E9BFE), +/* 87 */ UINT64_C(0x43A37FC86ADC1FF8), +/* 88 */ UINT64_C(0xA8801734829B16E6), +/* 89 */ UINT64_C(0x268EB8D097BDDABC), +/* 90 */ UINT64_C(0x41CA8C2A20EE3358), +/* 91 */ UINT64_C(0xC1AC3F42E6FDEB88), +/* 92 */ UINT64_C(0x43C3564643D5E31B), +/* 93 */ UINT64_C(0xC389F67E7F1CC280), +/* 94 */ UINT64_C(0x4B11FFF8ED129631), +/* 95 */ UINT64_C(0x4013CED4C42D6D66), +/* 96 */ UINT64_C(0x41D3073F1307D9EB), +/* 97 */ UINT64_C(0x41999814F0AB9ED0), +/* 98 */ UINT64_C(0x43DFA1BEDF40FDBE), +/* 99 */ UINT64_C(0x43D309AA6B52ECBD), +/* 100 */ UINT64_C(0x9BE1331238A46831), +/* 101 */ UINT64_C(0x35F2CE6DCEF9D3D7), +/* 102 */ UINT64_C(0x41D1B4BE0D27FEC7), +/* 103 */ UINT64_C(0x41D989ABE76B8EFF), +/* 104 */ UINT64_C(0x4395048C2F90F860), +/* 105 */ UINT64_C(0xC3CDC4D1EC920060), +/* 106 */ UINT64_C(0x1592B5A44C504820), +/* 107 */ UINT64_C(0x08BC320A7D927B46), +/* 108 */ UINT64_C(0x41D35ABC43435448), +/* 109 */ UINT64_C(0x41DB98028B42D9D5), +/* 110 */ UINT64_C(0x43DF2779E54F4581), +/* 111 */ UINT64_C(0x43D63E0FD80620C9), +/* 112 */ UINT64_C(0xF90BA49A1ACFD262), +/* 113 */ UINT64_C(0x0C7AEB426CA86D12), +/* 114 */ UINT64_C(0x41C61D9E621D9190), +/* 115 */ UINT64_C(0xC1B1843649EE4668), +/* 116 */ UINT64_C(0x43D84A920C6D5912), +/* 117 */ UINT64_C(0xC3D9BCEE98EE8FE3), +/* 118 */ UINT64_C(0x946DDE379B59C0E0), +/* 119 */ UINT64_C(0x320ACB416A7EBAAE), +/* 120 */ UINT64_C(0x41C2EF65A36E0B45), +/* 121 */ UINT64_C(0xC1CAC5061B15D30A), +/* 122 */ UINT64_C(0x43EEC6182D4CA850), +/* 123 */ UINT64_C(0x43DE9EB6F9276EAB), +/* 124 */ UINT64_C(0x0BEA9E2404CC8C0F), +/* 125 */ UINT64_C(0x049313A088B07B6E), +/* 126 */ UINT64_C(0x41D75178D86C286D), +/* 127 */ UINT64_C(0x41D78F027FC8C683), +/* 128 */ UINT64_C(0x43E7731D8C05347E), +/* 129 */ UINT64_C(0x439BF9D60E0710F0), +/* 130 */ UINT64_C(0xC7F70B64DD706F17), +/* 131 */ UINT64_C(0x029D05D2B1B42156), +/* 132 */ UINT64_C(0x415BE08A763D82B6), +/* 133 */ UINT64_C(0xC1B3BCB2ED184754), +/* 134 */ UINT64_C(0x43D35C5DC5A2EA29), +/* 135 */ UINT64_C(0xC3B4723DA1768ECC), +/* 136 */ UINT64_C(0x13C00E28FCECA800), +/* 137 */ UINT64_C(0x1534D2EC764C73B9), +/* 138 */ UINT64_C(0x41E757C36036D179), +/* 139 */ UINT64_C(0xC1C46F6D76ED78B6), +/* 140 */ UINT64_C(0x43EF9B15161D4DAE), +/* 141 */ UINT64_C(0xC3D9F1E82F4EE529), +/* 142 */ UINT64_C(0x5479E12D48C479E1), +/* 143 */ UINT64_C(0x271EFC25AEF6C2E2), +/* 144 */ UINT64_C(0x41D05C455FFB6155), +/* 145 */ UINT64_C(0x419E7C2960867090), +/* 146 */ UINT64_C(0x43EA97CC51A179C8), +/* 147 */ UINT64_C(0xC3DD0BB3A51ADDA0), +/* 148 */ UINT64_C(0xB98CB746B63AF016), +/* 149 */ UINT64_C(0x1525CF7B49D3F3AC), +/* 150 */ UINT64_C(0x41E843FE03AA75F2), +/* 151 */ UINT64_C(0xC19A6B96C0167F00), +/* 152 */ UINT64_C(0x43EDB0BF90CDCB48), +/* 153 */ UINT64_C(0x43DF28D61B4AF3A1), +/* 154 */ UINT64_C(0x36AFB3F645A79784), +/* 155 */ UINT64_C(0x0599C16EE3020F2D), +/* 156 */ UINT64_C(0x41E83783A396A98C), +/* 157 */ UINT64_C(0xC1D84377B3A2AA8D), +/* 158 */ UINT64_C(0x43D827C68CFEA3F5), +/* 159 */ UINT64_C(0x43D0DF8E4FE2345F), +/* 160 */ UINT64_C(0xDF670B4B3292B94C), +/* 161 */ UINT64_C(0x0069B6D63DE71F54), +/* 162 */ UINT64_C(0x41D2E31BABC9AD48), +/* 163 */ UINT64_C(0x41DD4D93794D3F0D), +/* 164 */ UINT64_C(0x43EA661644D71845), +/* 165 */ UINT64_C(0x43D8780B2525DE53), +/* 166 */ UINT64_C(0x94D1A4075DE42062), +/* 167 */ UINT64_C(0x0A0F0073ACC967A2), +/* 168 */ UINT64_C(0x41E8B9BECDF04FE3), +/* 169 */ UINT64_C(0xC1D1CFF2F6051277), +/* 170 */ UINT64_C(0x43A544A880278F01), +/* 171 */ UINT64_C(0x43D02E0572D984D1), +/* 172 */ UINT64_C(0x4DE145FE8524D432), +/* 173 */ UINT64_C(0x3DA57EA4BA37A8B3), +/* 174 */ UINT64_C(0x41E5F3F5D1E67081), +/* 175 */ UINT64_C(0xC1DC20EA4D465ABC), +/* 176 */ UINT64_C(0x43E9D87CA14F34C1), +/* 177 */ UINT64_C(0x43CEEE14F04AD85A), +/* 178 */ UINT64_C(0xEA294A9F9ACE1889), +/* 179 */ UINT64_C(0x1DC0638FD36DF082), +/* 180 */ UINT64_C(0x41E7737D8C780539), +/* 181 */ UINT64_C(0xC1BBCEAF9ADDF3C4), +/* 182 */ UINT64_C(0x43D10D52D9A5F75F), +/* 183 */ UINT64_C(0x43C73A699BDDA1AE), +/* 184 */ UINT64_C(0xC3CD35A932FB1AA4), +/* 185 */ UINT64_C(0x18E97888C01EFF55), +/* 186 */ UINT64_C(0x41B1272B143FEE11), +/* 187 */ UINT64_C(0xC1D5E33EE585F952), +/* 188 */ UINT64_C(0x43AD00B54C7D42A8), +/* 189 */ UINT64_C(0x43D6383D15262D09), +/* 190 */ UINT64_C(0x61B7833592F69C05), +/* 191 */ UINT64_C(0x3BCCB0801CEEAF1B), +/* 192 */ UINT64_C(0x41906AE590FFB430), +/* 193 */ UINT64_C(0xC1D95FBFE82FE09E), +/* 194 */ UINT64_C(0x439A3AF2C3325B2A), +/* 195 */ UINT64_C(0x4394FABEDFEFE8B0), +/* 196 */ UINT64_C(0xD999264AFC4632B1), +/* 197 */ UINT64_C(0x281A850BE5FFD262), +/* 198 */ UINT64_C(0x41EE75CC199A0E74), +/* 199 */ UINT64_C(0x41CDECB97BFF450E), +/* 200 */ UINT64_C(0x43EFEF9B49726AA9), +/* 201 */ UINT64_C(0x43D0393BCCD0A819), +/* 202 */ UINT64_C(0xB12EFC88748257F4), +/* 203 */ UINT64_C(0x0DF3572E5CE80AA7), +/* 204 */ UINT64_C(0x41EF8359077CA389), +/* 205 */ UINT64_C(0xC1CBA217C1AC23FC), +/* 206 */ UINT64_C(0x43E5DB56F2D95CFE), +/* 207 */ UINT64_C(0xC3D2774B27388B18), +/* 208 */ UINT64_C(0x75F52B2C8C9E4A9A), +/* 209 */ UINT64_C(0x1ED552947C5D5B3F), +/* 210 */ UINT64_C(0x41ECB47C87B53436), +/* 211 */ UINT64_C(0x41C8E554966E401A), +/* 212 */ UINT64_C(0x43EA4D1C08689E5D), +/* 213 */ UINT64_C(0x43DE92D603F3C551), +/* 214 */ UINT64_C(0xD55C499A95F8C7C2), +/* 215 */ UINT64_C(0x2E1A25C9EE0317EB), +/* 216 */ UINT64_C(0x418466435D59BE2C), +/* 217 */ UINT64_C(0x41D6D3A75002241D), +/* 218 */ UINT64_C(0x43CDC04789DC021D), +/* 219 */ UINT64_C(0xC3CFE79EE3B2859A), +/* 220 */ UINT64_C(0x63F2ECFFBAE03AED), +/* 221 */ UINT64_C(0x1E4E03A8D1189A59), +/* 222 */ UINT64_C(0x41E9E5FF1294C1F1), +/* 223 */ UINT64_C(0xC1DBCF762EDFD610), +/* 224 */ UINT64_C(0x43E9F6C90D90671B), +/* 225 */ UINT64_C(0xC3C3BBC61D0F69E2), +/* 226 */ UINT64_C(0x3D98714AE1E5D6B0), +/* 227 */ UINT64_C(0x3C229FECD6F6ACB3), +/* 228 */ UINT64_C(0x41DCB7DD450724AB), +/* 229 */ UINT64_C(0x41DF6F7242FC9CE7), +/* 230 */ UINT64_C(0x43E8FCBB42732292), +/* 231 */ UINT64_C(0xC3C6B504249C67BA), +/* 232 */ UINT64_C(0xB29E1DC284211D9C), +/* 233 */ UINT64_C(0x01E0ADB0C8E4A369), +/* 234 */ UINT64_C(0x41DD4558E60DF913), +/* 235 */ UINT64_C(0x41D8682C009E2CCD), +/* 236 */ UINT64_C(0x43B0FBEDCE9A3C95), +/* 237 */ UINT64_C(0x43CA49DB70F066C6), +/* 238 */ UINT64_C(0x50F8C317CA9A7BE0), +/* 239 */ UINT64_C(0x218CEA7487850989), +/* 240 */ UINT64_C(0x41CA913E0B03F5FE), +/* 241 */ UINT64_C(0x41DBA556DE11BF4D), +/* 242 */ UINT64_C(0x43E40B2A295EDF47), +/* 243 */ UINT64_C(0x43CDEAFF604DC4F6), +/* 244 */ UINT64_C(0xD6B5AA54DB40F7F5), +/* 245 */ UINT64_C(0x1C3B9ECD52E8C141), +/* 246 */ UINT64_C(0x41904E882909532D), +/* 247 */ UINT64_C(0x41DC0FB2E93D04C9), +/* 248 */ UINT64_C(0x43E227F6FE9F4213), +/* 249 */ UINT64_C(0xC3C973244C2F321C), +/* 250 */ UINT64_C(0x71F684D8E5421187), +/* 251 */ UINT64_C(0x0C22454622842416), +/* 252 */ UINT64_C(0x41EFBA06D1746DB2), +/* 253 */ UINT64_C(0xC1CF5D1770D2B088), +/* 254 */ UINT64_C(0x43EE0A64E37668A1), +/* 255 */ UINT64_C(0x4395B17E1113A250), }; -const output_type f64_to_integer_LUT_output[256] = { +static const output_type f64_to_integer_LUT_output[256] = { /* 0 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, /* 1 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, -/* 2 */ {UINT32_C(0x00000001), INT32_C(0x00000001), UINT64_C(0x0000000000000001), INT64_C(0x0000000000000001)}, -/* 3 */ {UINT32_C(0x00000001), INT32_C(0x00000001), UINT64_C(0x0000000000000001), INT64_C(0x0000000000000001)}, -/* 4 */ {UINT32_C(0x00000002), INT32_C(0x00000002), UINT64_C(0x0000000000000002), INT64_C(0x0000000000000002)}, +/* 2 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 3 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 4 */ {UINT32_C(0x00000001), INT32_C(0x00000001), UINT64_C(0x0000000000000001), INT64_C(0x0000000000000001)}, /* 5 */ {UINT32_C(0x00000002), INT32_C(0x00000002), UINT64_C(0x0000000000000002), INT64_C(0x0000000000000002)}, -/* 6 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, -/* 7 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, -/* 8 */ {UINT32_C(0xFFFFFFFF), INT32_C(0xFFFFFFFF), UINT64_C(0xFFFFFFFFFFFFFFFF), INT64_C(0xFFFFFFFFFFFFFFFF)}, -/* 9 */ {UINT32_C(0xFFFFFFFF), INT32_C(0xFFFFFFFF), UINT64_C(0xFFFFFFFFFFFFFFFF), INT64_C(0xFFFFFFFFFFFFFFFF)}, -/* 10 */ {UINT32_C(0xFFFFFFFE), INT32_C(0xFFFFFFFE), UINT64_C(0xFFFFFFFFFFFFFFFE), INT64_C(0xFFFFFFFFFFFFFFFE)}, -/* 11 */ {UINT32_C(0xFFFFFFFE), INT32_C(0xFFFFFFFE), UINT64_C(0xFFFFFFFFFFFFFFFE), INT64_C(0xFFFFFFFFFFFFFFFE)}, -/* 12 */ {UINT32_C(0xFD1FF08E), INT32_C(0xFD1FF08E), UINT64_C(0xFFFFFFFFFD1FF08E), INT64_C(0xFFFFFFFFFD1FF08E)}, -/* 13 */ {UINT32_C(0x2E06C6A2), INT32_C(0x2E06C6A2), UINT64_C(0x000000002E06C6A2), INT64_C(0x000000002E06C6A2)}, -/* 14 */ {UINT32_C(0x1ECC48A8), INT32_C(0x1ECC48A8), UINT64_C(0x000000001ECC48A8), INT64_C(0x000000001ECC48A8)}, -/* 15 */ {UINT32_C(0xEEE4F77F), INT32_C(0xEEE4F77F), UINT64_C(0xFFFFFFFFEEE4F77F), INT64_C(0xFFFFFFFFEEE4F77F)}, -/* 16 */ {UINT32_C(0x0B169812), INT32_C(0x0B169812), UINT64_C(0x000000000B169812), INT64_C(0x000000000B169812)}, -/* 17 */ {UINT32_C(0x0F78ADDF), INT32_C(0x0F78ADDF), UINT64_C(0x000000000F78ADDF), INT64_C(0x000000000F78ADDF)}, -/* 18 */ {UINT32_C(0x38FE70A3), INT32_C(0x38FE70A3), UINT64_C(0x0000000038FE70A3), INT64_C(0x0000000038FE70A3)}, -/* 19 */ {UINT32_C(0x32BA34FA), INT32_C(0x32BA34FA), UINT64_C(0x0000000032BA34FA), INT64_C(0x0000000032BA34FA)}, -/* 20 */ {UINT32_C(0xFDCA771F), INT32_C(0xFDCA771F), UINT64_C(0xFFFFFFFFFDCA771F), INT64_C(0xFFFFFFFFFDCA771F)}, -/* 21 */ {UINT32_C(0x00EB316A), INT32_C(0x00EB316A), UINT64_C(0x0000000000EB316A), INT64_C(0x0000000000EB316A)}, -/* 22 */ {UINT32_C(0xE40D9A20), INT32_C(0xE40D9A20), UINT64_C(0xFFFFFFFFE40D9A20), INT64_C(0xFFFFFFFFE40D9A20)}, -/* 23 */ {UINT32_C(0xC64DDC64), INT32_C(0xC64DDC64), UINT64_C(0xFFFFFFFFC64DDC64), INT64_C(0xFFFFFFFFC64DDC64)}, -/* 24 */ {UINT32_C(0x1DB5AF48), INT32_C(0x1DB5AF48), UINT64_C(0x000000001DB5AF48), INT64_C(0x000000001DB5AF48)}, -/* 25 */ {UINT32_C(0xEB99AC62), INT32_C(0xEB99AC62), UINT64_C(0xFFFFFFFFEB99AC62), INT64_C(0xFFFFFFFFEB99AC62)}, -/* 26 */ {UINT32_C(0x30C36E06), INT32_C(0x30C36E06), UINT64_C(0x0000000030C36E06), INT64_C(0x0000000030C36E06)}, -/* 27 */ {UINT32_C(0x39D42837), INT32_C(0x39D42837), UINT64_C(0x0000000039D42837), INT64_C(0x0000000039D42837)}, -/* 28 */ {UINT32_C(0xE23C3945), INT32_C(0xE23C3945), UINT64_C(0xFFFFFFFFE23C3945), INT64_C(0xFFFFFFFFE23C3945)}, -/* 29 */ {UINT32_C(0x06CACADA), INT32_C(0x06CACADA), UINT64_C(0x0000000006CACADA), INT64_C(0x0000000006CACADA)}, -/* 30 */ {UINT32_C(0xFCFF7608), INT32_C(0xFCFF7608), UINT64_C(0xFFFFFFFFFCFF7608), INT64_C(0xFFFFFFFFFCFF7608)}, -/* 31 */ {UINT32_C(0x2CFA2B71), INT32_C(0x2CFA2B71), UINT64_C(0x000000002CFA2B71), INT64_C(0x000000002CFA2B71)}, -/* 32 */ {UINT32_C(0x3C83FFB6), INT32_C(0x3C83FFB6), UINT64_C(0x000000003C83FFB6), INT64_C(0x000000003C83FFB6)}, -/* 33 */ {UINT32_C(0xE0460B31), INT32_C(0xE0460B31), UINT64_C(0xFFFFFFFFE0460B31), INT64_C(0xFFFFFFFFE0460B31)}, -/* 34 */ {UINT32_C(0xCB8F3652), INT32_C(0xCB8F3652), UINT64_C(0xFFFFFFFFCB8F3652), INT64_C(0xFFFFFFFFCB8F3652)}, -/* 35 */ {UINT32_C(0x3A464523), INT32_C(0x3A464523), UINT64_C(0x000000003A464523), INT64_C(0x000000003A464523)}, -/* 36 */ {UINT32_C(0x3670256A), INT32_C(0x3670256A), UINT64_C(0x000000003670256A), INT64_C(0x000000003670256A)}, -/* 37 */ {UINT32_C(0x1EDE989B), INT32_C(0x1EDE989B), UINT64_C(0x000000001EDE989B), INT64_C(0x000000001EDE989B)}, -/* 38 */ {UINT32_C(0xEE987395), INT32_C(0xEE987395), UINT64_C(0xFFFFFFFFEE987395), INT64_C(0xFFFFFFFFEE987395)}, -/* 39 */ {UINT32_C(0xCD8CEB7F), INT32_C(0xCD8CEB7F), UINT64_C(0xFFFFFFFFCD8CEB7F), INT64_C(0xFFFFFFFFCD8CEB7F)}, -/* 40 */ {UINT32_C(0x12BF9AE3), INT32_C(0x12BF9AE3), UINT64_C(0x0000000012BF9AE3), INT64_C(0x0000000012BF9AE3)}, -/* 41 */ {UINT32_C(0x07ADF18A), INT32_C(0x07ADF18A), UINT64_C(0x0000000007ADF18A), INT64_C(0x0000000007ADF18A)}, -/* 42 */ {UINT32_C(0xC8108365), INT32_C(0xC8108365), UINT64_C(0xFFFFFFFFC8108365), INT64_C(0xFFFFFFFFC8108365)}, -/* 43 */ {UINT32_C(0xFC3231A6), INT32_C(0xFC3231A6), UINT64_C(0xFFFFFFFFFC3231A6), INT64_C(0xFFFFFFFFFC3231A6)}, -/* 44 */ {UINT32_C(0xE0FB327C), INT32_C(0xE0FB327C), UINT64_C(0xFFFFFFFFE0FB327C), INT64_C(0xFFFFFFFFE0FB327C)}, -/* 45 */ {UINT32_C(0x0E908D93), INT32_C(0x0E908D93), UINT64_C(0x000000000E908D93), INT64_C(0x000000000E908D93)}, -/* 46 */ {UINT32_C(0x0A08E6B1), INT32_C(0x0A08E6B1), UINT64_C(0x000000000A08E6B1), INT64_C(0x000000000A08E6B1)}, -/* 47 */ {UINT32_C(0x3382F753), INT32_C(0x3382F753), UINT64_C(0x000000003382F753), INT64_C(0x000000003382F753)}, -/* 48 */ {UINT32_C(0x16822743), INT32_C(0x16822743), UINT64_C(0x0000000016822743), INT64_C(0x0000000016822743)}, -/* 49 */ {UINT32_C(0x2154A06A), INT32_C(0x2154A06A), UINT64_C(0x000000002154A06A), INT64_C(0x000000002154A06A)}, -/* 50 */ {UINT32_C(0x047ABE4A), INT32_C(0x047ABE4A), UINT64_C(0x00000000047ABE4A), INT64_C(0x00000000047ABE4A)}, -/* 51 */ {UINT32_C(0xE4B42391), INT32_C(0xE4B42391), UINT64_C(0xFFFFFFFFE4B42391), INT64_C(0xFFFFFFFFE4B42391)}, -/* 52 */ {UINT32_C(0x1808DF48), INT32_C(0x1808DF48), UINT64_C(0x000000001808DF48), INT64_C(0x000000001808DF48)}, -/* 53 */ {UINT32_C(0x2B562723), INT32_C(0x2B562723), UINT64_C(0x000000002B562723), INT64_C(0x000000002B562723)}, -/* 54 */ {UINT32_C(0xDABEDFF9), INT32_C(0xDABEDFF9), UINT64_C(0xFFFFFFFFDABEDFF9), INT64_C(0xFFFFFFFFDABEDFF9)}, -/* 55 */ {UINT32_C(0xEA968949), INT32_C(0xEA968949), UINT64_C(0xFFFFFFFFEA968949), INT64_C(0xFFFFFFFFEA968949)}, -/* 56 */ {UINT32_C(0x3B34FEB2), INT32_C(0x3B34FEB2), UINT64_C(0x000000003B34FEB2), INT64_C(0x000000003B34FEB2)}, -/* 57 */ {UINT32_C(0x12E97911), INT32_C(0x12E97911), UINT64_C(0x0000000012E97911), INT64_C(0x0000000012E97911)}, -/* 58 */ {UINT32_C(0x3F131A8F), INT32_C(0x3F131A8F), UINT64_C(0x000000003F131A8F), INT64_C(0x000000003F131A8F)}, -/* 59 */ {UINT32_C(0xFC6344AC), INT32_C(0xFC6344AC), UINT64_C(0xFFFFFFFFFC6344AC), INT64_C(0xFFFFFFFFFC6344AC)}, -/* 60 */ {UINT32_C(0xF6BD45E4), INT32_C(0xF6BD45E4), UINT64_C(0xFFFFFFFFF6BD45E4), INT64_C(0xFFFFFFFFF6BD45E4)}, -/* 61 */ {UINT32_C(0x206B2C9F), INT32_C(0x206B2C9F), UINT64_C(0x00000000206B2C9F), INT64_C(0x00000000206B2C9F)}, -/* 62 */ {UINT32_C(0xFF036248), INT32_C(0xFF036248), UINT64_C(0xFFFFFFFFFF036248), INT64_C(0xFFFFFFFFFF036248)}, -/* 63 */ {UINT32_C(0x2B1772FE), INT32_C(0x2B1772FE), UINT64_C(0x000000002B1772FE), INT64_C(0x000000002B1772FE)}, -/* 64 */ {UINT32_C(0xF70E60D6), INT32_C(0xF70E60D6), UINT64_C(0xFFFFFFFFF70E60D6), INT64_C(0xFFFFFFFFF70E60D6)}, -/* 65 */ {UINT32_C(0xC1C931A2), INT32_C(0xC1C931A2), UINT64_C(0xFFFFFFFFC1C931A2), INT64_C(0xFFFFFFFFC1C931A2)}, -/* 66 */ {UINT32_C(0x28E95975), INT32_C(0x28E95975), UINT64_C(0x0000000028E95975), INT64_C(0x0000000028E95975)}, -/* 67 */ {UINT32_C(0xE7BBC141), INT32_C(0xE7BBC141), UINT64_C(0xFFFFFFFFE7BBC141), INT64_C(0xFFFFFFFFE7BBC141)}, -/* 68 */ {UINT32_C(0xFD500B8D), INT32_C(0xFD500B8D), UINT64_C(0xFFFFFFFFFD500B8D), INT64_C(0xFFFFFFFFFD500B8D)}, -/* 69 */ {UINT32_C(0x0F3760E2), INT32_C(0x0F3760E2), UINT64_C(0x000000000F3760E2), INT64_C(0x000000000F3760E2)}, -/* 70 */ {UINT32_C(0x079A4996), INT32_C(0x079A4996), UINT64_C(0x00000000079A4996), INT64_C(0x00000000079A4996)}, -/* 71 */ {UINT32_C(0x319893B1), INT32_C(0x319893B1), UINT64_C(0x00000000319893B1), INT64_C(0x00000000319893B1)}, -/* 72 */ {UINT32_C(0x325A5299), INT32_C(0x325A5299), UINT64_C(0x00000000325A5299), INT64_C(0x00000000325A5299)}, -/* 73 */ {UINT32_C(0xC9C7C285), INT32_C(0xC9C7C285), UINT64_C(0xFFFFFFFFC9C7C285), INT64_C(0xFFFFFFFFC9C7C285)}, -/* 74 */ {UINT32_C(0x17B31905), INT32_C(0x17B31905), UINT64_C(0x0000000017B31905), INT64_C(0x0000000017B31905)}, -/* 75 */ {UINT32_C(0x02792222), INT32_C(0x02792222), UINT64_C(0x0000000002792222), INT64_C(0x0000000002792222)}, -/* 76 */ {UINT32_C(0x15A02D3C), INT32_C(0x15A02D3C), UINT64_C(0x0000000015A02D3C), INT64_C(0x0000000015A02D3C)}, -/* 77 */ {UINT32_C(0x17744BF0), INT32_C(0x17744BF0), UINT64_C(0x0000000017744BF0), INT64_C(0x0000000017744BF0)}, -/* 78 */ {UINT32_C(0x10A92B7C), INT32_C(0x10A92B7C), UINT64_C(0x0000000010A92B7C), INT64_C(0x0000000010A92B7C)}, -/* 79 */ {UINT32_C(0x189B7EE8), INT32_C(0x189B7EE8), UINT64_C(0x00000000189B7EE8), INT64_C(0x00000000189B7EE8)}, -/* 80 */ {UINT32_C(0x20EF3B1F), INT32_C(0x20EF3B1F), UINT64_C(0x0000000020EF3B1F), INT64_C(0x0000000020EF3B1F)}, -/* 81 */ {UINT32_C(0x202E3238), INT32_C(0x202E3238), UINT64_C(0x00000000202E3238), INT64_C(0x00000000202E3238)}, -/* 82 */ {UINT32_C(0x07D6C84A), INT32_C(0x07D6C84A), UINT64_C(0x0000000007D6C84A), INT64_C(0x0000000007D6C84A)}, -/* 83 */ {UINT32_C(0x3A6F4C9C), INT32_C(0x3A6F4C9C), UINT64_C(0x000000003A6F4C9C), INT64_C(0x000000003A6F4C9C)}, -/* 84 */ {UINT32_C(0x2FD879A3), INT32_C(0x2FD879A3), UINT64_C(0x000000002FD879A3), INT64_C(0x000000002FD879A3)}, -/* 85 */ {UINT32_C(0xC8E1E6DC), INT32_C(0xC8E1E6DC), UINT64_C(0xFFFFFFFFC8E1E6DC), INT64_C(0xFFFFFFFFC8E1E6DC)}, -/* 86 */ {UINT32_C(0x3378BE7B), INT32_C(0x3378BE7B), UINT64_C(0x000000003378BE7B), INT64_C(0x000000003378BE7B)}, -/* 87 */ {UINT32_C(0x0139BD38), INT32_C(0x0139BD38), UINT64_C(0x000000000139BD38), INT64_C(0x000000000139BD38)}, -/* 88 */ {UINT32_C(0x34CC412A), INT32_C(0x34CC412A), UINT64_C(0x0000000034CC412A), INT64_C(0x0000000034CC412A)}, -/* 89 */ {UINT32_C(0xE24DA1B2), INT32_C(0xE24DA1B2), UINT64_C(0xFFFFFFFFE24DA1B2), INT64_C(0xFFFFFFFFE24DA1B2)}, -/* 90 */ {UINT32_C(0x112AE5A9), INT32_C(0x112AE5A9), UINT64_C(0x00000000112AE5A9), INT64_C(0x00000000112AE5A9)}, -/* 91 */ {UINT32_C(0xDF1F2885), INT32_C(0xDF1F2885), UINT64_C(0xFFFFFFFFDF1F2885), INT64_C(0xFFFFFFFFDF1F2885)}, -/* 92 */ {UINT32_C(0xFC2E718E), INT32_C(0xFC2E718E), UINT64_C(0xFFFFFFFFFC2E718E), INT64_C(0xFFFFFFFFFC2E718E)}, -/* 93 */ {UINT32_C(0x070BED6F), INT32_C(0x070BED6F), UINT64_C(0x00000000070BED6F), INT64_C(0x00000000070BED6F)}, -/* 94 */ {UINT32_C(0x3C6A5B39), INT32_C(0x3C6A5B39), UINT64_C(0x000000003C6A5B39), INT64_C(0x000000003C6A5B39)}, -/* 95 */ {UINT32_C(0xFB6AF32F), INT32_C(0xFB6AF32F), UINT64_C(0xFFFFFFFFFB6AF32F), INT64_C(0xFFFFFFFFFB6AF32F)}, -/* 96 */ {UINT32_C(0x299B03C4), INT32_C(0x299B03C4), UINT64_C(0x00000000299B03C4), INT64_C(0x00000000299B03C4)}, -/* 97 */ {UINT32_C(0x0B8D1D99), INT32_C(0x0B8D1D99), UINT64_C(0x000000000B8D1D99), INT64_C(0x000000000B8D1D99)}, -/* 98 */ {UINT32_C(0x1C4DB32C), INT32_C(0x1C4DB32C), UINT64_C(0x000000001C4DB32C), INT64_C(0x000000001C4DB32C)}, -/* 99 */ {UINT32_C(0x19B9DAA7), INT32_C(0x19B9DAA7), UINT64_C(0x0000000019B9DAA7), INT64_C(0x0000000019B9DAA7)}, -/* 100 */ {UINT32_C(0x0769D68B), INT32_C(0x0769D68B), UINT64_C(0x000000000769D68B), INT64_C(0x000000000769D68B)}, -/* 101 */ {UINT32_C(0x118F1C4B), INT32_C(0x118F1C4B), UINT64_C(0x00000000118F1C4B), INT64_C(0x00000000118F1C4B)}, -/* 102 */ {UINT32_C(0xE4E582C7), INT32_C(0xE4E582C7), UINT64_C(0xFFFFFFFFE4E582C7), INT64_C(0xFFFFFFFFE4E582C7)}, -/* 103 */ {UINT32_C(0xDA2E57AD), INT32_C(0xDA2E57AD), UINT64_C(0xFFFFFFFFDA2E57AD), INT64_C(0xFFFFFFFFDA2E57AD)}, -/* 104 */ {UINT32_C(0xF184A715), INT32_C(0xF184A715), UINT64_C(0xFFFFFFFFF184A715), INT64_C(0xFFFFFFFFF184A715)}, -/* 105 */ {UINT32_C(0xC8DD8957), INT32_C(0xC8DD8957), UINT64_C(0xFFFFFFFFC8DD8957), INT64_C(0xFFFFFFFFC8DD8957)}, -/* 106 */ {UINT32_C(0xE64E3401), INT32_C(0xE64E3401), UINT64_C(0xFFFFFFFFE64E3401), INT64_C(0xFFFFFFFFE64E3401)}, -/* 107 */ {UINT32_C(0x3DE3F236), INT32_C(0x3DE3F236), UINT64_C(0x000000003DE3F236), INT64_C(0x000000003DE3F236)}, -/* 108 */ {UINT32_C(0xFCEBC990), INT32_C(0xFCEBC990), UINT64_C(0xFFFFFFFFFCEBC990), INT64_C(0xFFFFFFFFFCEBC990)}, -/* 109 */ {UINT32_C(0xD790B8A7), INT32_C(0xD790B8A7), UINT64_C(0xFFFFFFFFD790B8A7), INT64_C(0xFFFFFFFFD790B8A7)}, -/* 110 */ {UINT32_C(0x03B5E8FF), INT32_C(0x03B5E8FF), UINT64_C(0x0000000003B5E8FF), INT64_C(0x0000000003B5E8FF)}, -/* 111 */ {UINT32_C(0xF2D7F84F), INT32_C(0xF2D7F84F), UINT64_C(0xFFFFFFFFF2D7F84F), INT64_C(0xFFFFFFFFF2D7F84F)}, -/* 112 */ {UINT32_C(0x10C3EE94), INT32_C(0x10C3EE94), UINT64_C(0x0000000010C3EE94), INT64_C(0x0000000010C3EE94)}, -/* 113 */ {UINT32_C(0xCD49296E), INT32_C(0xCD49296E), UINT64_C(0xFFFFFFFFCD49296E), INT64_C(0xFFFFFFFFCD49296E)}, -/* 114 */ {UINT32_C(0x14888904), INT32_C(0x14888904), UINT64_C(0x0000000014888904), INT64_C(0x0000000014888904)}, -/* 115 */ {UINT32_C(0x3E7E559C), INT32_C(0x3E7E559C), UINT64_C(0x000000003E7E559C), INT64_C(0x000000003E7E559C)}, -/* 116 */ {UINT32_C(0x279523B8), INT32_C(0x279523B8), UINT64_C(0x00000000279523B8), INT64_C(0x00000000279523B8)}, -/* 117 */ {UINT32_C(0xF9D168A7), INT32_C(0xF9D168A7), UINT64_C(0xFFFFFFFFF9D168A7), INT64_C(0xFFFFFFFFF9D168A7)}, -/* 118 */ {UINT32_C(0xE8468A39), INT32_C(0xE8468A39), UINT64_C(0xFFFFFFFFE8468A39), INT64_C(0xFFFFFFFFE8468A39)}, -/* 119 */ {UINT32_C(0xFE116750), INT32_C(0xFE116750), UINT64_C(0xFFFFFFFFFE116750), INT64_C(0xFFFFFFFFFE116750)}, -/* 120 */ {UINT32_C(0xCC500541), INT32_C(0xCC500541), UINT64_C(0xFFFFFFFFCC500541), INT64_C(0xFFFFFFFFCC500541)}, -/* 121 */ {UINT32_C(0x386C4DCE), INT32_C(0x386C4DCE), UINT64_C(0x00000000386C4DCE), INT64_C(0x00000000386C4DCE)}, -/* 122 */ {UINT32_C(0xEDD40084), INT32_C(0xEDD40084), UINT64_C(0xFFFFFFFFEDD40084), INT64_C(0xFFFFFFFFEDD40084)}, -/* 123 */ {UINT32_C(0xE3ABB066), INT32_C(0xE3ABB066), UINT64_C(0xFFFFFFFFE3ABB066), INT64_C(0xFFFFFFFFE3ABB066)}, -/* 124 */ {UINT32_C(0xE11B1826), INT32_C(0xE11B1826), UINT64_C(0xFFFFFFFFE11B1826), INT64_C(0xFFFFFFFFE11B1826)}, -/* 125 */ {UINT32_C(0xF3BB4E65), INT32_C(0xF3BB4E65), UINT64_C(0xFFFFFFFFF3BB4E65), INT64_C(0xFFFFFFFFF3BB4E65)}, -/* 126 */ {UINT32_C(0x0E38CEFF), INT32_C(0x0E38CEFF), UINT64_C(0x000000000E38CEFF), INT64_C(0x000000000E38CEFF)}, -/* 127 */ {UINT32_C(0x160C7BB1), INT32_C(0x160C7BB1), UINT64_C(0x00000000160C7BB1), INT64_C(0x00000000160C7BB1)}, -/* 128 */ {UINT32_C(0x04C41683), INT32_C(0x04C41683), UINT64_C(0x0000000004C41683), INT64_C(0x0000000004C41683)}, -/* 129 */ {UINT32_C(0xFEDD0D52), INT32_C(0xFEDD0D52), UINT64_C(0xFFFFFFFFFEDD0D52), INT64_C(0xFFFFFFFFFEDD0D52)}, -/* 130 */ {UINT32_C(0xC76B5164), INT32_C(0xC76B5164), UINT64_C(0xFFFFFFFFC76B5164), INT64_C(0xFFFFFFFFC76B5164)}, -/* 131 */ {UINT32_C(0x2CD57196), INT32_C(0x2CD57196), UINT64_C(0x000000002CD57196), INT64_C(0x000000002CD57196)}, -/* 132 */ {UINT32_C(0xEC433DAA), INT32_C(0xEC433DAA), UINT64_C(0xFFFFFFFFEC433DAA), INT64_C(0xFFFFFFFFEC433DAA)}, -/* 133 */ {UINT32_C(0xEEBA8A00), INT32_C(0xEEBA8A00), UINT64_C(0xFFFFFFFFEEBA8A00), INT64_C(0xFFFFFFFFEEBA8A00)}, -/* 134 */ {UINT32_C(0xF5961231), INT32_C(0xF5961231), UINT64_C(0xFFFFFFFFF5961231), INT64_C(0xFFFFFFFFF5961231)}, -/* 135 */ {UINT32_C(0xD7AAC78E), INT32_C(0xD7AAC78E), UINT64_C(0xFFFFFFFFD7AAC78E), INT64_C(0xFFFFFFFFD7AAC78E)}, -/* 136 */ {UINT32_C(0xCA3B218D), INT32_C(0xCA3B218D), UINT64_C(0xFFFFFFFFCA3B218D), INT64_C(0xFFFFFFFFCA3B218D)}, -/* 137 */ {UINT32_C(0x264455A3), INT32_C(0x264455A3), UINT64_C(0x00000000264455A3), INT64_C(0x00000000264455A3)}, -/* 138 */ {UINT32_C(0xFA9083BB), INT32_C(0xFA9083BB), UINT64_C(0xFFFFFFFFFA9083BB), INT64_C(0xFFFFFFFFFA9083BB)}, -/* 139 */ {UINT32_C(0xC9A61728), INT32_C(0xC9A61728), UINT64_C(0xFFFFFFFFC9A61728), INT64_C(0xFFFFFFFFC9A61728)}, -/* 140 */ {UINT32_C(0xE288B85E), INT32_C(0xE288B85E), UINT64_C(0xFFFFFFFFE288B85E), INT64_C(0xFFFFFFFFE288B85E)}, -/* 141 */ {UINT32_C(0xD14DFE91), INT32_C(0xD14DFE91), UINT64_C(0xFFFFFFFFD14DFE91), INT64_C(0xFFFFFFFFD14DFE91)}, -/* 142 */ {UINT32_C(0xCB0DD5A9), INT32_C(0xCB0DD5A9), UINT64_C(0xFFFFFFFFCB0DD5A9), INT64_C(0xFFFFFFFFCB0DD5A9)}, -/* 143 */ {UINT32_C(0x086CF62E), INT32_C(0x086CF62E), UINT64_C(0x00000000086CF62E), INT64_C(0x00000000086CF62E)}, -/* 144 */ {UINT32_C(0xE7ADC5DF), INT32_C(0xE7ADC5DF), UINT64_C(0xFFFFFFFFE7ADC5DF), INT64_C(0xFFFFFFFFE7ADC5DF)}, -/* 145 */ {UINT32_C(0xE30A465C), INT32_C(0xE30A465C), UINT64_C(0xFFFFFFFFE30A465C), INT64_C(0xFFFFFFFFE30A465C)}, -/* 146 */ {UINT32_C(0xC6EB43EC), INT32_C(0xC6EB43EC), UINT64_C(0xFFFFFFFFC6EB43EC), INT64_C(0xFFFFFFFFC6EB43EC)}, -/* 147 */ {UINT32_C(0x02FE0EDE), INT32_C(0x02FE0EDE), UINT64_C(0x0000000002FE0EDE), INT64_C(0x0000000002FE0EDE)}, -/* 148 */ {UINT32_C(0x06846BB2), INT32_C(0x06846BB2), UINT64_C(0x0000000006846BB2), INT64_C(0x0000000006846BB2)}, -/* 149 */ {UINT32_C(0xF669C0CF), INT32_C(0xF669C0CF), UINT64_C(0xFFFFFFFFF669C0CF), INT64_C(0xFFFFFFFFF669C0CF)}, -/* 150 */ {UINT32_C(0xD39E36F7), INT32_C(0xD39E36F7), UINT64_C(0xFFFFFFFFD39E36F7), INT64_C(0xFFFFFFFFD39E36F7)}, -/* 151 */ {UINT32_C(0x199E0309), INT32_C(0x199E0309), UINT64_C(0x00000000199E0309), INT64_C(0x00000000199E0309)}, -/* 152 */ {UINT32_C(0xF0D68274), INT32_C(0xF0D68274), UINT64_C(0xFFFFFFFFF0D68274), INT64_C(0xFFFFFFFFF0D68274)}, -/* 153 */ {UINT32_C(0xC80153B8), INT32_C(0xC80153B8), UINT64_C(0xFFFFFFFFC80153B8), INT64_C(0xFFFFFFFFC80153B8)}, -/* 154 */ {UINT32_C(0x2A7091BD), INT32_C(0x2A7091BD), UINT64_C(0x000000002A7091BD), INT64_C(0x000000002A7091BD)}, -/* 155 */ {UINT32_C(0xCC95022E), INT32_C(0xCC95022E), UINT64_C(0xFFFFFFFFCC95022E), INT64_C(0xFFFFFFFFCC95022E)}, -/* 156 */ {UINT32_C(0x32815FE9), INT32_C(0x32815FE9), UINT64_C(0x0000000032815FE9), INT64_C(0x0000000032815FE9)}, -/* 157 */ {UINT32_C(0x32487D3C), INT32_C(0x32487D3C), UINT64_C(0x0000000032487D3C), INT64_C(0x0000000032487D3C)}, -/* 158 */ {UINT32_C(0xC038FAC3), INT32_C(0xC038FAC3), UINT64_C(0xFFFFFFFFC038FAC3), INT64_C(0xFFFFFFFFC038FAC3)}, -/* 159 */ {UINT32_C(0xDB5F09D4), INT32_C(0xDB5F09D4), UINT64_C(0xFFFFFFFFDB5F09D4), INT64_C(0xFFFFFFFFDB5F09D4)}, -/* 160 */ {UINT32_C(0xD6AB08A8), INT32_C(0xD6AB08A8), UINT64_C(0xFFFFFFFFD6AB08A8), INT64_C(0xFFFFFFFFD6AB08A8)}, -/* 161 */ {UINT32_C(0xF969473B), INT32_C(0xF969473B), UINT64_C(0xFFFFFFFFF969473B), INT64_C(0xFFFFFFFFF969473B)}, -/* 162 */ {UINT32_C(0xDE4338C7), INT32_C(0xDE4338C7), UINT64_C(0xFFFFFFFFDE4338C7), INT64_C(0xFFFFFFFFDE4338C7)}, -/* 163 */ {UINT32_C(0x01FE2EB6), INT32_C(0x01FE2EB6), UINT64_C(0x0000000001FE2EB6), INT64_C(0x0000000001FE2EB6)}, -/* 164 */ {UINT32_C(0xDB9FE7D1), INT32_C(0xDB9FE7D1), UINT64_C(0xFFFFFFFFDB9FE7D1), INT64_C(0xFFFFFFFFDB9FE7D1)}, -/* 165 */ {UINT32_C(0xEDEABB73), INT32_C(0xEDEABB73), UINT64_C(0xFFFFFFFFEDEABB73), INT64_C(0xFFFFFFFFEDEABB73)}, -/* 166 */ {UINT32_C(0x0ABD2EA7), INT32_C(0x0ABD2EA7), UINT64_C(0x000000000ABD2EA7), INT64_C(0x000000000ABD2EA7)}, -/* 167 */ {UINT32_C(0xD968AF77), INT32_C(0xD968AF77), UINT64_C(0xFFFFFFFFD968AF77), INT64_C(0xFFFFFFFFD968AF77)}, -/* 168 */ {UINT32_C(0xD747A9D4), INT32_C(0xD747A9D4), UINT64_C(0xFFFFFFFFD747A9D4), INT64_C(0xFFFFFFFFD747A9D4)}, -/* 169 */ {UINT32_C(0xFDB8D2B2), INT32_C(0xFDB8D2B2), UINT64_C(0xFFFFFFFFFDB8D2B2), INT64_C(0xFFFFFFFFFDB8D2B2)}, -/* 170 */ {UINT32_C(0x12558439), INT32_C(0x12558439), UINT64_C(0x0000000012558439), INT64_C(0x0000000012558439)}, -/* 171 */ {UINT32_C(0xDAEBE6AD), INT32_C(0xDAEBE6AD), UINT64_C(0xFFFFFFFFDAEBE6AD), INT64_C(0xFFFFFFFFDAEBE6AD)}, -/* 172 */ {UINT32_C(0x07F98AA9), INT32_C(0x07F98AA9), UINT64_C(0x0000000007F98AA9), INT64_C(0x0000000007F98AA9)}, -/* 173 */ {UINT32_C(0xE0049CAC), INT32_C(0xE0049CAC), UINT64_C(0xFFFFFFFFE0049CAC), INT64_C(0xFFFFFFFFE0049CAC)}, -/* 174 */ {UINT32_C(0xDFC8063D), INT32_C(0xDFC8063D), UINT64_C(0xFFFFFFFFDFC8063D), INT64_C(0xFFFFFFFFDFC8063D)}, -/* 175 */ {UINT32_C(0x07D7194E), INT32_C(0x07D7194E), UINT64_C(0x0000000007D7194E), INT64_C(0x0000000007D7194E)}, -/* 176 */ {UINT32_C(0x190A00ED), INT32_C(0x190A00ED), UINT64_C(0x00000000190A00ED), INT64_C(0x00000000190A00ED)}, -/* 177 */ {UINT32_C(0x0F1C6280), INT32_C(0x0F1C6280), UINT64_C(0x000000000F1C6280), INT64_C(0x000000000F1C6280)}, -/* 178 */ {UINT32_C(0xC64BAD5A), INT32_C(0xC64BAD5A), UINT64_C(0xFFFFFFFFC64BAD5A), INT64_C(0xFFFFFFFFC64BAD5A)}, -/* 179 */ {UINT32_C(0xC42B3FB8), INT32_C(0xC42B3FB8), UINT64_C(0xFFFFFFFFC42B3FB8), INT64_C(0xFFFFFFFFC42B3FB8)}, -/* 180 */ {UINT32_C(0x0BED53D0), INT32_C(0x0BED53D0), UINT64_C(0x000000000BED53D0), INT64_C(0x000000000BED53D0)}, -/* 181 */ {UINT32_C(0x06C97174), INT32_C(0x06C97174), UINT64_C(0x0000000006C97174), INT64_C(0x0000000006C97174)}, -/* 182 */ {UINT32_C(0xC1264A93), INT32_C(0xC1264A93), UINT64_C(0xFFFFFFFFC1264A93), INT64_C(0xFFFFFFFFC1264A93)}, -/* 183 */ {UINT32_C(0xDFE7084E), INT32_C(0xDFE7084E), UINT64_C(0xFFFFFFFFDFE7084E), INT64_C(0xFFFFFFFFDFE7084E)}, -/* 184 */ {UINT32_C(0xCC147FAF), INT32_C(0xCC147FAF), UINT64_C(0xFFFFFFFFCC147FAF), INT64_C(0xFFFFFFFFCC147FAF)}, -/* 185 */ {UINT32_C(0x1B88F940), INT32_C(0x1B88F940), UINT64_C(0x000000001B88F940), INT64_C(0x000000001B88F940)}, -/* 186 */ {UINT32_C(0xE18436A8), INT32_C(0xE18436A8), UINT64_C(0xFFFFFFFFE18436A8), INT64_C(0xFFFFFFFFE18436A8)}, -/* 187 */ {UINT32_C(0xF4EA7E98), INT32_C(0xF4EA7E98), UINT64_C(0xFFFFFFFFF4EA7E98), INT64_C(0xFFFFFFFFF4EA7E98)}, -/* 188 */ {UINT32_C(0x3C4CF1B9), INT32_C(0x3C4CF1B9), UINT64_C(0x000000003C4CF1B9), INT64_C(0x000000003C4CF1B9)}, -/* 189 */ {UINT32_C(0xEA091937), INT32_C(0xEA091937), UINT64_C(0xFFFFFFFFEA091937), INT64_C(0xFFFFFFFFEA091937)}, -/* 190 */ {UINT32_C(0xCA2B440D), INT32_C(0xCA2B440D), UINT64_C(0xFFFFFFFFCA2B440D), INT64_C(0xFFFFFFFFCA2B440D)}, -/* 191 */ {UINT32_C(0xC156F405), INT32_C(0xC156F405), UINT64_C(0xFFFFFFFFC156F405), INT64_C(0xFFFFFFFFC156F405)}, -/* 192 */ {UINT32_C(0x34FC4745), INT32_C(0x34FC4745), UINT64_C(0x0000000034FC4745), INT64_C(0x0000000034FC4745)}, -/* 193 */ {UINT32_C(0x16CF74E0), INT32_C(0x16CF74E0), UINT64_C(0x0000000016CF74E0), INT64_C(0x0000000016CF74E0)}, -/* 194 */ {UINT32_C(0xFE1E84DF), INT32_C(0xFE1E84DF), UINT64_C(0xFFFFFFFFFE1E84DF), INT64_C(0xFFFFFFFFFE1E84DF)}, -/* 195 */ {UINT32_C(0x30732A5E), INT32_C(0x30732A5E), UINT64_C(0x0000000030732A5E), INT64_C(0x0000000030732A5E)}, -/* 196 */ {UINT32_C(0xC30B3378), INT32_C(0xC30B3378), UINT64_C(0xFFFFFFFFC30B3378), INT64_C(0xFFFFFFFFC30B3378)}, -/* 197 */ {UINT32_C(0xD9282F55), INT32_C(0xD9282F55), UINT64_C(0xFFFFFFFFD9282F55), INT64_C(0xFFFFFFFFD9282F55)}, -/* 198 */ {UINT32_C(0x38150AB1), INT32_C(0x38150AB1), UINT64_C(0x0000000038150AB1), INT64_C(0x0000000038150AB1)}, -/* 199 */ {UINT32_C(0xC3D05F83), INT32_C(0xC3D05F83), UINT64_C(0xFFFFFFFFC3D05F83), INT64_C(0xFFFFFFFFC3D05F83)}, -/* 200 */ {UINT32_C(0x2638F7F5), INT32_C(0x2638F7F5), UINT64_C(0x000000002638F7F5), INT64_C(0x000000002638F7F5)}, -/* 201 */ {UINT32_C(0xC85D7EAC), INT32_C(0xC85D7EAC), UINT64_C(0xFFFFFFFFC85D7EAC), INT64_C(0xFFFFFFFFC85D7EAC)}, -/* 202 */ {UINT32_C(0xDC6E332A), INT32_C(0xDC6E332A), UINT64_C(0xFFFFFFFFDC6E332A), INT64_C(0xFFFFFFFFDC6E332A)}, -/* 203 */ {UINT32_C(0x140FD5E8), INT32_C(0x140FD5E8), UINT64_C(0x00000000140FD5E8), INT64_C(0x00000000140FD5E8)}, -/* 204 */ {UINT32_C(0xFE1B9257), INT32_C(0xFE1B9257), UINT64_C(0xFFFFFFFFFE1B9257), INT64_C(0xFFFFFFFFFE1B9257)}, -/* 205 */ {UINT32_C(0xF1E25E68), INT32_C(0xF1E25E68), UINT64_C(0xFFFFFFFFF1E25E68), INT64_C(0xFFFFFFFFF1E25E68)}, -/* 206 */ {UINT32_C(0xD9CC0D17), INT32_C(0xD9CC0D17), UINT64_C(0xFFFFFFFFD9CC0D17), INT64_C(0xFFFFFFFFD9CC0D17)}, -/* 207 */ {UINT32_C(0xCA7F5086), INT32_C(0xCA7F5086), UINT64_C(0xFFFFFFFFCA7F5086), INT64_C(0xFFFFFFFFCA7F5086)}, -/* 208 */ {UINT32_C(0xF55BC7AD), INT32_C(0xF55BC7AD), UINT64_C(0xFFFFFFFFF55BC7AD), INT64_C(0xFFFFFFFFF55BC7AD)}, -/* 209 */ {UINT32_C(0x2CE6E9F8), INT32_C(0x2CE6E9F8), UINT64_C(0x000000002CE6E9F8), INT64_C(0x000000002CE6E9F8)}, -/* 210 */ {UINT32_C(0xCF27DA86), INT32_C(0xCF27DA86), UINT64_C(0xFFFFFFFFCF27DA86), INT64_C(0xFFFFFFFFCF27DA86)}, -/* 211 */ {UINT32_C(0x0FD1F9F7), INT32_C(0x0FD1F9F7), UINT64_C(0x000000000FD1F9F7), INT64_C(0x000000000FD1F9F7)}, -/* 212 */ {UINT32_C(0xF0FB3851), INT32_C(0xF0FB3851), UINT64_C(0xFFFFFFFFF0FB3851), INT64_C(0xFFFFFFFFF0FB3851)}, -/* 213 */ {UINT32_C(0xFE793F06), INT32_C(0xFE793F06), UINT64_C(0xFFFFFFFFFE793F06), INT64_C(0xFFFFFFFFFE793F06)}, -/* 214 */ {UINT32_C(0xE2CD00BF), INT32_C(0xE2CD00BF), UINT64_C(0xFFFFFFFFE2CD00BF), INT64_C(0xFFFFFFFFE2CD00BF)}, -/* 215 */ {UINT32_C(0xC6C05923), INT32_C(0xC6C05923), UINT64_C(0xFFFFFFFFC6C05923), INT64_C(0xFFFFFFFFC6C05923)}, -/* 216 */ {UINT32_C(0xF0F9FC2C), INT32_C(0xF0F9FC2C), UINT64_C(0xFFFFFFFFF0F9FC2C), INT64_C(0xFFFFFFFFF0F9FC2C)}, -/* 217 */ {UINT32_C(0xC5AE4D84), INT32_C(0xC5AE4D84), UINT64_C(0xFFFFFFFFC5AE4D84), INT64_C(0xFFFFFFFFC5AE4D84)}, -/* 218 */ {UINT32_C(0xDF1BF0DD), INT32_C(0xDF1BF0DD), UINT64_C(0xFFFFFFFFDF1BF0DD), INT64_C(0xFFFFFFFFDF1BF0DD)}, -/* 219 */ {UINT32_C(0xE4B480B5), INT32_C(0xE4B480B5), UINT64_C(0xFFFFFFFFE4B480B5), INT64_C(0xFFFFFFFFE4B480B5)}, -/* 220 */ {UINT32_C(0x3E303A38), INT32_C(0x3E303A38), UINT64_C(0x000000003E303A38), INT64_C(0x000000003E303A38)}, -/* 221 */ {UINT32_C(0x0E3E44FC), INT32_C(0x0E3E44FC), UINT64_C(0x000000000E3E44FC), INT64_C(0x000000000E3E44FC)}, -/* 222 */ {UINT32_C(0x2CB9AA66), INT32_C(0x2CB9AA66), UINT64_C(0x000000002CB9AA66), INT64_C(0x000000002CB9AA66)}, -/* 223 */ {UINT32_C(0xF0304A89), INT32_C(0xF0304A89), UINT64_C(0xFFFFFFFFF0304A89), INT64_C(0xFFFFFFFFF0304A89)}, -/* 224 */ {UINT32_C(0x1A6BCCC7), INT32_C(0x1A6BCCC7), UINT64_C(0x000000001A6BCCC7), INT64_C(0x000000001A6BCCC7)}, -/* 225 */ {UINT32_C(0xFFA1EB56), INT32_C(0xFFA1EB56), UINT64_C(0xFFFFFFFFFFA1EB56), INT64_C(0xFFFFFFFFFFA1EB56)}, -/* 226 */ {UINT32_C(0x2074303D), INT32_C(0x2074303D), UINT64_C(0x000000002074303D), INT64_C(0x000000002074303D)}, -/* 227 */ {UINT32_C(0xC60FA665), INT32_C(0xC60FA665), UINT64_C(0xFFFFFFFFC60FA665), INT64_C(0xFFFFFFFFC60FA665)}, -/* 228 */ {UINT32_C(0x1D6A55CF), INT32_C(0x1D6A55CF), UINT64_C(0x000000001D6A55CF), INT64_C(0x000000001D6A55CF)}, -/* 229 */ {UINT32_C(0x1E541F35), INT32_C(0x1E541F35), UINT64_C(0x000000001E541F35), INT64_C(0x000000001E541F35)}, -/* 230 */ {UINT32_C(0xE3CBEB4D), INT32_C(0xE3CBEB4D), UINT64_C(0xFFFFFFFFE3CBEB4D), INT64_C(0xFFFFFFFFE3CBEB4D)}, -/* 231 */ {UINT32_C(0x034A406A), INT32_C(0x034A406A), UINT64_C(0x00000000034A406A), INT64_C(0x00000000034A406A)}, -/* 232 */ {UINT32_C(0xF75B6085), INT32_C(0xF75B6085), UINT64_C(0xFFFFFFFFF75B6085), INT64_C(0xFFFFFFFFF75B6085)}, -/* 233 */ {UINT32_C(0x0CC852A0), INT32_C(0x0CC852A0), UINT64_C(0x000000000CC852A0), INT64_C(0x000000000CC852A0)}, -/* 234 */ {UINT32_C(0x3CE5E31D), INT32_C(0x3CE5E31D), UINT64_C(0x000000003CE5E31D), INT64_C(0x000000003CE5E31D)}, -/* 235 */ {UINT32_C(0xC5B3DEB5), INT32_C(0xC5B3DEB5), UINT64_C(0xFFFFFFFFC5B3DEB5), INT64_C(0xFFFFFFFFC5B3DEB5)}, -/* 236 */ {UINT32_C(0x27F16AE1), INT32_C(0x27F16AE1), UINT64_C(0x0000000027F16AE1), INT64_C(0x0000000027F16AE1)}, -/* 237 */ {UINT32_C(0x05997806), INT32_C(0x05997806), UINT64_C(0x0000000005997806), INT64_C(0x0000000005997806)}, -/* 238 */ {UINT32_C(0xFCADF1CB), INT32_C(0xFCADF1CB), UINT64_C(0xFFFFFFFFFCADF1CB), INT64_C(0xFFFFFFFFFCADF1CB)}, -/* 239 */ {UINT32_C(0x0FE0156A), INT32_C(0x0FE0156A), UINT64_C(0x000000000FE0156A), INT64_C(0x000000000FE0156A)}, -/* 240 */ {UINT32_C(0x066AAC9C), INT32_C(0x066AAC9C), UINT64_C(0x00000000066AAC9C), INT64_C(0x00000000066AAC9C)}, -/* 241 */ {UINT32_C(0x15107057), INT32_C(0x15107057), UINT64_C(0x0000000015107057), INT64_C(0x0000000015107057)}, -/* 242 */ {UINT32_C(0x0EF326E8), INT32_C(0x0EF326E8), UINT64_C(0x000000000EF326E8), INT64_C(0x000000000EF326E8)}, -/* 243 */ {UINT32_C(0x383C227B), INT32_C(0x383C227B), UINT64_C(0x00000000383C227B), INT64_C(0x00000000383C227B)}, -/* 244 */ {UINT32_C(0x3E2C0F26), INT32_C(0x3E2C0F26), UINT64_C(0x000000003E2C0F26), INT64_C(0x000000003E2C0F26)}, -/* 245 */ {UINT32_C(0x1DD048A7), INT32_C(0x1DD048A7), UINT64_C(0x000000001DD048A7), INT64_C(0x000000001DD048A7)}, -/* 246 */ {UINT32_C(0xC201EC41), INT32_C(0xC201EC41), UINT64_C(0xFFFFFFFFC201EC41), INT64_C(0xFFFFFFFFC201EC41)}, -/* 247 */ {UINT32_C(0x322375B9), INT32_C(0x322375B9), UINT64_C(0x00000000322375B9), INT64_C(0x00000000322375B9)}, -/* 248 */ {UINT32_C(0x1C748552), INT32_C(0x1C748552), UINT64_C(0x000000001C748552), INT64_C(0x000000001C748552)}, -/* 249 */ {UINT32_C(0x3DBD1587), INT32_C(0x3DBD1587), UINT64_C(0x000000003DBD1587), INT64_C(0x000000003DBD1587)}, -/* 250 */ {UINT32_C(0x2705FCA8), INT32_C(0x2705FCA8), UINT64_C(0x000000002705FCA8), INT64_C(0x000000002705FCA8)}, -/* 251 */ {UINT32_C(0x23594B86), INT32_C(0x23594B86), UINT64_C(0x0000000023594B86), INT64_C(0x0000000023594B86)}, -/* 252 */ {UINT32_C(0x356266CC), INT32_C(0x356266CC), UINT64_C(0x00000000356266CC), INT64_C(0x00000000356266CC)}, -/* 253 */ {UINT32_C(0x38B27246), INT32_C(0x38B27246), UINT64_C(0x0000000038B27246), INT64_C(0x0000000038B27246)}, -/* 254 */ {UINT32_C(0x313D5913), INT32_C(0x313D5913), UINT64_C(0x00000000313D5913), INT64_C(0x00000000313D5913)}, -/* 255 */ {UINT32_C(0x262A0AAE), INT32_C(0x262A0AAE), UINT64_C(0x00000000262A0AAE), INT64_C(0x00000000262A0AAE)}, +/* 6 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0x8000000000000000), INT64_C(0x8000000000000000)}, +/* 7 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0x8000000000000000), INT64_C(0x8000000000000000)}, +/* 8 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0x8000000000000000), INT64_C(0x8000000000000000)}, +/* 9 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0x8000000000000000), INT64_C(0x8000000000000000)}, +/* 10 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 11 */ {UINT32_C(0x00000001), INT32_C(0x00000001), UINT64_C(0x0000000000000001), INT64_C(0x0000000000000001)}, +/* 12 */ {UINT32_C(0x00000002), INT32_C(0x00000002), UINT64_C(0x0000000000000002), INT64_C(0x0000000000000002)}, +/* 13 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 14 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 15 */ {UINT32_C(0x00000001), INT32_C(0x00000001), UINT64_C(0x0000000000000001), INT64_C(0x0000000000000001)}, +/* 16 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 17 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 18 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 19 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0x8000000000000000), INT64_C(0x8000000000000000)}, +/* 20 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 21 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 22 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 23 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 24 */ {UINT32_C(0xFFFFFFFF), INT32_C(0xFFFFFFFF), UINT64_C(0xFFFFFFFFFFFFFFFF), INT64_C(0xFFFFFFFFFFFFFFFF)}, +/* 25 */ {UINT32_C(0xFFFFFFFE), INT32_C(0xFFFFFFFE), UINT64_C(0xFFFFFFFFFFFFFFFE), INT64_C(0xFFFFFFFFFFFFFFFE)}, +/* 26 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0x8000000000000000), INT64_C(0x8000000000000000)}, +/* 27 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0x8000000000000000), INT64_C(0x8000000000000000)}, +/* 28 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0x8000000000000000), INT64_C(0x8000000000000000)}, +/* 29 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0x8000000000000000), INT64_C(0x8000000000000000)}, +/* 30 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0x8000000000000000), INT64_C(0x8000000000000000)}, +/* 31 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 32 */ {UINT32_C(0xFFFFFFFF), INT32_C(0xFFFFFFFF), UINT64_C(0xFFFFFFFFFFFFFFFF), INT64_C(0xFFFFFFFFFFFFFFFF)}, +/* 33 */ {UINT32_C(0xFFFFFFFE), INT32_C(0xFFFFFFFE), UINT64_C(0xFFFFFFFFFFFFFFFE), INT64_C(0xFFFFFFFFFFFFFFFE)}, +/* 34 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 35 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 36 */ {UINT32_C(0xFFFFFFFF), INT32_C(0xFFFFFFFF), UINT64_C(0xFFFFFFFFFFFFFFFF), INT64_C(0xFFFFFFFFFFFFFFFF)}, +/* 37 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 38 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 39 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 40 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0x8000000000000000), INT64_C(0x8000000000000000)}, +/* 41 */ {UINT32_C(0x00000001), INT32_C(0x00000001), UINT64_C(0x0000000000000001), INT64_C(0x0000000000000001)}, +/* 42 */ {UINT32_C(0x00000002), INT32_C(0x00000002), UINT64_C(0x0000000000000002), INT64_C(0x0000000000000002)}, +/* 43 */ {UINT32_C(0x00000001), INT32_C(0x00000001), UINT64_C(0x0000000000000001), INT64_C(0x0000000000000001)}, +/* 44 */ {UINT32_C(0x00000002), INT32_C(0x00000002), UINT64_C(0x0000000000000002), INT64_C(0x0000000000000002)}, +/* 45 */ {UINT32_C(0x00000001), INT32_C(0x00000001), UINT64_C(0x0000000000000001), INT64_C(0x0000000000000001)}, +/* 46 */ {UINT32_C(0x00000002), INT32_C(0x00000002), UINT64_C(0x0000000000000002), INT64_C(0x0000000000000002)}, +/* 47 */ {UINT32_C(0xFFFFFFFF), INT32_C(0xFFFFFFFF), UINT64_C(0xFFFFFFFFFFFFFFFF), INT64_C(0xFFFFFFFFFFFFFFFF)}, +/* 48 */ {UINT32_C(0xFFFFFFFE), INT32_C(0xFFFFFFFE), UINT64_C(0xFFFFFFFFFFFFFFFE), INT64_C(0xFFFFFFFFFFFFFFFE)}, +/* 49 */ {UINT32_C(0xFFFFFFFF), INT32_C(0xFFFFFFFF), UINT64_C(0xFFFFFFFFFFFFFFFF), INT64_C(0xFFFFFFFFFFFFFFFF)}, +/* 50 */ {UINT32_C(0xFFFFFFFE), INT32_C(0xFFFFFFFE), UINT64_C(0xFFFFFFFFFFFFFFFE), INT64_C(0xFFFFFFFFFFFFFFFE)}, +/* 51 */ {UINT32_C(0xFFFFFFFF), INT32_C(0xFFFFFFFF), UINT64_C(0xFFFFFFFFFFFFFFFF), INT64_C(0xFFFFFFFFFFFFFFFF)}, +/* 52 */ {UINT32_C(0xFFFFFFFE), INT32_C(0xFFFFFFFE), UINT64_C(0xFFFFFFFFFFFFFFFE), INT64_C(0xFFFFFFFFFFFFFFFE)}, +/* 53 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 54 */ {UINT32_C(0x1256700D), INT32_C(0x1256700D), UINT64_C(0x000000001256700D), INT64_C(0x000000001256700D)}, +/* 55 */ {UINT32_C(0xB6DFC141), INT32_C(0xB6DFC141), UINT64_C(0xFFFFFFFFB6DFC141), INT64_C(0xFFFFFFFFB6DFC141)}, +/* 56 */ {UINT32_C(0x8E452E00), INT32_C(0x80000000), UINT64_C(0x3B4DE9FE8E452E00), INT64_C(0x3B4DE9FE8E452E00)}, +/* 57 */ {UINT32_C(0xF9194C00), INT32_C(0x80000000), UINT64_C(0xE3508635F9194C00), INT64_C(0xE3508635F9194C00)}, +/* 58 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 59 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 60 */ {UINT32_C(0x65C19538), INT32_C(0x65C19538), UINT64_C(0x0000000065C19538), INT64_C(0x0000000065C19538)}, +/* 61 */ {UINT32_C(0xEF6C2E70), INT32_C(0xEF6C2E70), UINT64_C(0xFFFFFFFFEF6C2E70), INT64_C(0xFFFFFFFFEF6C2E70)}, +/* 62 */ {UINT32_C(0xBB6AD300), INT32_C(0x80000000), UINT64_C(0x19E64CFDBB6AD300), INT64_C(0x19E64CFDBB6AD300)}, +/* 63 */ {UINT32_C(0x6162BC00), INT32_C(0x80000000), UINT64_C(0xCDDCA5AD6162BC00), INT64_C(0xCDDCA5AD6162BC00)}, +/* 64 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0x8000000000000000), INT64_C(0x8000000000000000)}, +/* 65 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 66 */ {UINT32_C(0xCEE84237), INT32_C(0x80000000), UINT64_C(0x00000000CEE84237), INT64_C(0x00000000CEE84237)}, +/* 67 */ {UINT32_C(0x22B05278), INT32_C(0x22B05278), UINT64_C(0x0000000022B05278), INT64_C(0x0000000022B05278)}, +/* 68 */ {UINT32_C(0x3E032400), INT32_C(0x80000000), UINT64_C(0x49004DC43E032400), INT64_C(0x49004DC43E032400)}, +/* 69 */ {UINT32_C(0xE54EBC00), INT32_C(0x80000000), UINT64_C(0xE6F78ACDE54EBC00), INT64_C(0xE6F78ACDE54EBC00)}, +/* 70 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 71 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 72 */ {UINT32_C(0xED070048), INT32_C(0x80000000), UINT64_C(0x00000000ED070048), INT64_C(0x00000000ED070048)}, +/* 73 */ {UINT32_C(0x0694C533), INT32_C(0x0694C533), UINT64_C(0x000000000694C533), INT64_C(0x000000000694C533)}, +/* 74 */ {UINT32_C(0xB9F9D400), INT32_C(0x80000000), UINT64_C(0x1C3C9D58B9F9D400), INT64_C(0x1C3C9D58B9F9D400)}, +/* 75 */ {UINT32_C(0x2B70F400), INT32_C(0x80000000), UINT64_C(0x1DF089542B70F400), INT64_C(0x1DF089542B70F400)}, +/* 76 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 77 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 78 */ {UINT32_C(0xC66E65F6), INT32_C(0x80000000), UINT64_C(0x00000000C66E65F6), INT64_C(0x00000000C66E65F6)}, +/* 79 */ {UINT32_C(0x4B516A87), INT32_C(0x4B516A87), UINT64_C(0x000000004B516A87), INT64_C(0x000000004B516A87)}, +/* 80 */ {UINT32_C(0x4BC7D400), INT32_C(0x80000000), UINT64_C(0x5FD6D6CA4BC7D400), INT64_C(0x5FD6D6CA4BC7D400)}, +/* 81 */ {UINT32_C(0xB1848C00), INT32_C(0x80000000), UINT64_C(0x77DD44F3B1848C00), INT64_C(0x77DD44F3B1848C00)}, +/* 82 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0x8000000000000000), INT64_C(0x8000000000000000)}, +/* 83 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 84 */ {UINT32_C(0xF9626450), INT32_C(0x80000000), UINT64_C(0x00000000F9626450), INT64_C(0x00000000F9626450)}, +/* 85 */ {UINT32_C(0x0C169775), INT32_C(0x0C169775), UINT64_C(0x000000000C169775), INT64_C(0x000000000C169775)}, +/* 86 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0xCBD19FE274DFF000), INT64_C(0x8000000000000000)}, +/* 87 */ {UINT32_C(0x6E0FFC00), INT32_C(0x80000000), UINT64_C(0x09BFE4356E0FFC00), INT64_C(0x09BFE4356E0FFC00)}, +/* 88 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 89 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 90 */ {UINT32_C(0x35185441), INT32_C(0x35185441), UINT64_C(0x0000000035185441), INT64_C(0x0000000035185441)}, +/* 91 */ {UINT32_C(0xF1E05E8D), INT32_C(0xF1E05E8D), UINT64_C(0xFFFFFFFFF1E05E8D), INT64_C(0xFFFFFFFFF1E05E8D)}, +/* 92 */ {UINT32_C(0xABC63600), INT32_C(0x80000000), UINT64_C(0x26AC8C87ABC63600), INT64_C(0x26AC8C87ABC63600)}, +/* 93 */ {UINT32_C(0x1C67B000), INT32_C(0x80000000), UINT64_C(0xFCC130301C67B000), INT64_C(0xFCC130301C67B000)}, +/* 94 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0x8000000000000000), INT64_C(0x8000000000000000)}, +/* 95 */ {UINT32_C(0x00000004), INT32_C(0x00000004), UINT64_C(0x0000000000000004), INT64_C(0x0000000000000004)}, +/* 96 */ {UINT32_C(0x4C1CFC4C), INT32_C(0x4C1CFC4C), UINT64_C(0x000000004C1CFC4C), INT64_C(0x000000004C1CFC4C)}, +/* 97 */ {UINT32_C(0x0666053C), INT32_C(0x0666053C), UINT64_C(0x000000000666053C), INT64_C(0x000000000666053C)}, +/* 98 */ {UINT32_C(0x03F6F800), INT32_C(0x80000000), UINT64_C(0x7E86FB7D03F6F800), INT64_C(0x7E86FB7D03F6F800)}, +/* 99 */ {UINT32_C(0x4BB2F400), INT32_C(0x80000000), UINT64_C(0x4C26A9AD4BB2F400), INT64_C(0x4C26A9AD4BB2F400)}, +/* 100 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 101 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 102 */ {UINT32_C(0x46D2F834), INT32_C(0x46D2F834), UINT64_C(0x0000000046D2F834), INT64_C(0x0000000046D2F834)}, +/* 103 */ {UINT32_C(0x6626AF9D), INT32_C(0x6626AF9D), UINT64_C(0x000000006626AF9D), INT64_C(0x000000006626AF9D)}, +/* 104 */ {UINT32_C(0xE43E1800), INT32_C(0x80000000), UINT64_C(0x0541230BE43E1800), INT64_C(0x0541230BE43E1800)}, +/* 105 */ {UINT32_C(0xDBFF4000), INT32_C(0x80000000), UINT64_C(0xC4765C26DBFF4000), INT64_C(0xC4765C26DBFF4000)}, +/* 106 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 107 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 108 */ {UINT32_C(0x4D6AF10D), INT32_C(0x4D6AF10D), UINT64_C(0x000000004D6AF10D), INT64_C(0x000000004D6AF10D)}, +/* 109 */ {UINT32_C(0x6E600A2D), INT32_C(0x6E600A2D), UINT64_C(0x000000006E600A2D), INT64_C(0x000000006E600A2D)}, +/* 110 */ {UINT32_C(0x3D160400), INT32_C(0x80000000), UINT64_C(0x7C9DE7953D160400), INT64_C(0x7C9DE7953D160400)}, +/* 111 */ {UINT32_C(0x18832400), INT32_C(0x80000000), UINT64_C(0x58F83F6018832400), INT64_C(0x58F83F6018832400)}, +/* 112 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0x8000000000000000), INT64_C(0x8000000000000000)}, +/* 113 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 114 */ {UINT32_C(0x2C3B3CC4), INT32_C(0x2C3B3CC4), UINT64_C(0x000000002C3B3CC4), INT64_C(0x000000002C3B3CC4)}, +/* 115 */ {UINT32_C(0xEE7BC9B7), INT32_C(0xEE7BC9B7), UINT64_C(0xFFFFFFFFEE7BC9B7), INT64_C(0xFFFFFFFFEE7BC9B7)}, +/* 116 */ {UINT32_C(0xB5644800), INT32_C(0x80000000), UINT64_C(0x612A4831B5644800), INT64_C(0x612A4831B5644800)}, +/* 117 */ {UINT32_C(0x45C07400), INT32_C(0x80000000), UINT64_C(0x990C459C45C07400), INT64_C(0x990C459C45C07400)}, +/* 118 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 119 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 120 */ {UINT32_C(0x25DECB46), INT32_C(0x25DECB46), UINT64_C(0x0000000025DECB46), INT64_C(0x0000000025DECB46)}, +/* 121 */ {UINT32_C(0xCA75F3CA), INT32_C(0xCA75F3CA), UINT64_C(0xFFFFFFFFCA75F3CA), INT64_C(0xFFFFFFFFCA75F3CA)}, +/* 122 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0xF630C16A65428000), INT64_C(0x8000000000000000)}, +/* 123 */ {UINT32_C(0x9DBAAC00), INT32_C(0x80000000), UINT64_C(0x7A7ADBE49DBAAC00), INT64_C(0x7A7ADBE49DBAAC00)}, +/* 124 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 125 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 126 */ {UINT32_C(0x5D45E361), INT32_C(0x5D45E361), UINT64_C(0x000000005D45E361), INT64_C(0x000000005D45E361)}, +/* 127 */ {UINT32_C(0x5E3C09FF), INT32_C(0x5E3C09FF), UINT64_C(0x000000005E3C09FF), INT64_C(0x000000005E3C09FF)}, +/* 128 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0xBB98EC6029A3F000), INT64_C(0x8000000000000000)}, +/* 129 */ {UINT32_C(0x81C43C00), INT32_C(0x80000000), UINT64_C(0x06FE758381C43C00), INT64_C(0x06FE758381C43C00)}, +/* 130 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0x8000000000000000), INT64_C(0x8000000000000000)}, +/* 131 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 132 */ {UINT32_C(0x006F8229), INT32_C(0x006F8229), UINT64_C(0x00000000006F8229), INT64_C(0x00000000006F8229)}, +/* 133 */ {UINT32_C(0xEC434D13), INT32_C(0xEC434D13), UINT64_C(0xFFFFFFFFEC434D13), INT64_C(0xFFFFFFFFEC434D13)}, +/* 134 */ {UINT32_C(0x8BA8A400), INT32_C(0x80000000), UINT64_C(0x4D7177168BA8A400), INT64_C(0x4D7177168BA8A400)}, +/* 135 */ {UINT32_C(0x89713400), INT32_C(0x80000000), UINT64_C(0xEB8DC25E89713400), INT64_C(0xEB8DC25E89713400)}, +/* 136 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 137 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 138 */ {UINT32_C(0xBABE1B01), INT32_C(0x80000000), UINT64_C(0x00000000BABE1B01), INT64_C(0x00000000BABE1B01)}, +/* 139 */ {UINT32_C(0xD7212513), INT32_C(0xD7212513), UINT64_C(0xFFFFFFFFD7212513), INT64_C(0xFFFFFFFFD7212513)}, +/* 140 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0xFCD8A8B0EA6D7000), INT64_C(0x8000000000000000)}, +/* 141 */ {UINT32_C(0xC46B5C00), INT32_C(0x80000000), UINT64_C(0x98385F42C46B5C00), INT64_C(0x98385F42C46B5C00)}, +/* 142 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0x8000000000000000), INT64_C(0x8000000000000000)}, +/* 143 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 144 */ {UINT32_C(0x4171157F), INT32_C(0x4171157F), UINT64_C(0x000000004171157F), INT64_C(0x000000004171157F)}, +/* 145 */ {UINT32_C(0x079F0A58), INT32_C(0x079F0A58), UINT64_C(0x00000000079F0A58), INT64_C(0x00000000079F0A58)}, +/* 146 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0xD4BE628D0BCE4000), INT64_C(0x8000000000000000)}, +/* 147 */ {UINT32_C(0x94898000), INT32_C(0x80000000), UINT64_C(0x8BD1316B94898000), INT64_C(0x8BD1316B94898000)}, +/* 148 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 149 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 150 */ {UINT32_C(0xC21FF01D), INT32_C(0x80000000), UINT64_C(0x00000000C21FF01D), INT64_C(0x00000000C21FF01D)}, +/* 151 */ {UINT32_C(0xF9651A50), INT32_C(0xF9651A50), UINT64_C(0xFFFFFFFFF9651A50), INT64_C(0xFFFFFFFFF9651A50)}, +/* 152 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0xED85FC866E5A4000), INT64_C(0x8000000000000000)}, +/* 153 */ {UINT32_C(0x2BCE8400), INT32_C(0x80000000), UINT64_C(0x7CA3586D2BCE8400), INT64_C(0x7CA3586D2BCE8400)}, +/* 154 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 155 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 156 */ {UINT32_C(0xC1BC1D1C), INT32_C(0x80000000), UINT64_C(0x00000000C1BC1D1C), INT64_C(0x00000000C1BC1D1C)}, +/* 157 */ {UINT32_C(0x9EF22132), INT32_C(0x9EF22132), UINT64_C(0xFFFFFFFF9EF22132), INT64_C(0xFFFFFFFF9EF22132)}, +/* 158 */ {UINT32_C(0xFA8FD400), INT32_C(0x80000000), UINT64_C(0x609F1A33FA8FD400), INT64_C(0x609F1A33FA8FD400)}, +/* 159 */ {UINT32_C(0x88D17C00), INT32_C(0x80000000), UINT64_C(0x437E393F88D17C00), INT64_C(0x437E393F88D17C00)}, +/* 160 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0x8000000000000000), INT64_C(0x8000000000000000)}, +/* 161 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 162 */ {UINT32_C(0x4B8C6EAF), INT32_C(0x4B8C6EAF), UINT64_C(0x000000004B8C6EAF), INT64_C(0x000000004B8C6EAF)}, +/* 163 */ {UINT32_C(0x75364DE5), INT32_C(0x75364DE5), UINT64_C(0x0000000075364DE5), INT64_C(0x0000000075364DE5)}, +/* 164 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0xD330B226B8C22800), INT64_C(0x8000000000000000)}, +/* 165 */ {UINT32_C(0x97794C00), INT32_C(0x80000000), UINT64_C(0x61E02C9497794C00), INT64_C(0x61E02C9497794C00)}, +/* 166 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 167 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 168 */ {UINT32_C(0xC5CDF66F), INT32_C(0x80000000), UINT64_C(0x00000000C5CDF66F), INT64_C(0x00000000C5CDF66F)}, +/* 169 */ {UINT32_C(0xB8C03428), INT32_C(0xB8C03428), UINT64_C(0xFFFFFFFFB8C03428), INT64_C(0xFFFFFFFFB8C03428)}, +/* 170 */ {UINT32_C(0x13C78080), INT32_C(0x80000000), UINT64_C(0x0AA2544013C78080), INT64_C(0x0AA2544013C78080)}, +/* 171 */ {UINT32_C(0x66134400), INT32_C(0x80000000), UINT64_C(0x40B815CB66134400), INT64_C(0x40B815CB66134400)}, +/* 172 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0x8000000000000000), INT64_C(0x8000000000000000)}, +/* 173 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 174 */ {UINT32_C(0xAF9FAE8F), INT32_C(0x80000000), UINT64_C(0x00000000AF9FAE8F), INT64_C(0x00000000AF9FAE8F)}, +/* 175 */ {UINT32_C(0x8F7C56CB), INT32_C(0x8F7C56CB), UINT64_C(0xFFFFFFFF8F7C56CB), INT64_C(0xFFFFFFFF8F7C56CB)}, +/* 176 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0xCEC3E50A79A60800), INT64_C(0x8000000000000000)}, +/* 177 */ {UINT32_C(0x95B0B400), INT32_C(0x80000000), UINT64_C(0x3DDC29E095B0B400), INT64_C(0x3DDC29E095B0B400)}, +/* 178 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0x8000000000000000), INT64_C(0x8000000000000000)}, +/* 179 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 180 */ {UINT32_C(0xBB9BEC63), INT32_C(0x80000000), UINT64_C(0x00000000BB9BEC63), INT64_C(0x00000000BB9BEC63)}, +/* 181 */ {UINT32_C(0xE4315066), INT32_C(0xE4315066), UINT64_C(0xFFFFFFFFE4315066), INT64_C(0xFFFFFFFFE4315066)}, +/* 182 */ {UINT32_C(0x97DD7C00), INT32_C(0x80000000), UINT64_C(0x44354B6697DD7C00), INT64_C(0x44354B6697DD7C00)}, +/* 183 */ {UINT32_C(0xBB435C00), INT32_C(0x80000000), UINT64_C(0x2E74D337BB435C00), INT64_C(0x2E74D337BB435C00)}, +/* 184 */ {UINT32_C(0x09CAB800), INT32_C(0x80000000), UINT64_C(0xC594AD9A09CAB800), INT64_C(0xC594AD9A09CAB800)}, +/* 185 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 186 */ {UINT32_C(0x11272B14), INT32_C(0x11272B14), UINT64_C(0x0000000011272B14), INT64_C(0x0000000011272B14)}, +/* 187 */ {UINT32_C(0xA873046A), INT32_C(0xA873046A), UINT64_C(0xFFFFFFFFA873046A), INT64_C(0xFFFFFFFFA873046A)}, +/* 188 */ {UINT32_C(0x3EA15400), INT32_C(0x80000000), UINT64_C(0x0E805AA63EA15400), INT64_C(0x0E805AA63EA15400)}, +/* 189 */ {UINT32_C(0x98B42400), INT32_C(0x80000000), UINT64_C(0x58E0F45498B42400), INT64_C(0x58E0F45498B42400)}, +/* 190 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0x8000000000000000), INT64_C(0x8000000000000000)}, +/* 191 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 192 */ {UINT32_C(0x041AB964), INT32_C(0x041AB964), UINT64_C(0x00000000041AB964), INT64_C(0x00000000041AB964)}, +/* 193 */ {UINT32_C(0x9A810060), INT32_C(0x9A810060), UINT64_C(0xFFFFFFFF9A810060), INT64_C(0xFFFFFFFF9A810060)}, +/* 194 */ {UINT32_C(0xCC96CA80), INT32_C(0x80000000), UINT64_C(0x068EBCB0CC96CA80), INT64_C(0x068EBCB0CC96CA80)}, +/* 195 */ {UINT32_C(0xFBFA2C00), INT32_C(0x80000000), UINT64_C(0x053EAFB7FBFA2C00), INT64_C(0x053EAFB7FBFA2C00)}, +/* 196 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0x8000000000000000), INT64_C(0x8000000000000000)}, +/* 197 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 198 */ {UINT32_C(0xF3AE60CC), INT32_C(0x80000000), UINT64_C(0x00000000F3AE60CC), INT64_C(0x00000000F3AE60CC)}, +/* 199 */ {UINT32_C(0x3BD972F7), INT32_C(0x3BD972F7), UINT64_C(0x000000003BD972F7), INT64_C(0x000000003BD972F7)}, +/* 200 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0xFF7CDA4B93554800), INT64_C(0x8000000000000000)}, +/* 201 */ {UINT32_C(0x42A06400), INT32_C(0x80000000), UINT64_C(0x40E4EF3342A06400), INT64_C(0x40E4EF3342A06400)}, +/* 202 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 203 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 204 */ {UINT32_C(0xFC1AC83B), INT32_C(0x80000000), UINT64_C(0x00000000FC1AC83B), INT64_C(0x00000000FC1AC83B)}, +/* 205 */ {UINT32_C(0xC8BBD07D), INT32_C(0xC8BBD07D), UINT64_C(0xFFFFFFFFC8BBD07D), INT64_C(0xFFFFFFFFC8BBD07D)}, +/* 206 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0xAEDAB796CAE7F000), INT64_C(0x8000000000000000)}, +/* 207 */ {UINT32_C(0x1DD3A000), INT32_C(0x80000000), UINT64_C(0xB622D3631DD3A000), INT64_C(0xB622D3631DD3A000)}, +/* 208 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0x8000000000000000), INT64_C(0x8000000000000000)}, +/* 209 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 210 */ {UINT32_C(0xE5A3E43D), INT32_C(0x80000000), UINT64_C(0x00000000E5A3E43D), INT64_C(0x00000000E5A3E43D)}, +/* 211 */ {UINT32_C(0x31CAA92C), INT32_C(0x31CAA92C), UINT64_C(0x0000000031CAA92C), INT64_C(0x0000000031CAA92C)}, +/* 212 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0xD268E04344F2E800), INT64_C(0x8000000000000000)}, +/* 213 */ {UINT32_C(0xCF154400), INT32_C(0x80000000), UINT64_C(0x7A4B580FCF154400), INT64_C(0x7A4B580FCF154400)}, +/* 214 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0x8000000000000000), INT64_C(0x8000000000000000)}, +/* 215 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 216 */ {UINT32_C(0x028CC86B), INT32_C(0x028CC86B), UINT64_C(0x00000000028CC86B), INT64_C(0x00000000028CC86B)}, +/* 217 */ {UINT32_C(0x5B4E9D40), INT32_C(0x5B4E9D40), UINT64_C(0x000000005B4E9D40), INT64_C(0x000000005B4E9D40)}, +/* 218 */ {UINT32_C(0xB8043A00), INT32_C(0x80000000), UINT64_C(0x3B808F13B8043A00), INT64_C(0x3B808F13B8043A00)}, +/* 219 */ {UINT32_C(0x9AF4CC00), INT32_C(0x80000000), UINT64_C(0xC030C2389AF4CC00), INT64_C(0xC030C2389AF4CC00)}, +/* 220 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0x8000000000000000), INT64_C(0x8000000000000000)}, +/* 221 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 222 */ {UINT32_C(0xCF2FF894), INT32_C(0x80000000), UINT64_C(0x00000000CF2FF894), INT64_C(0x00000000CF2FF894)}, +/* 223 */ {UINT32_C(0x90C22745), INT32_C(0x90C22745), UINT64_C(0xFFFFFFFF90C22745), INT64_C(0xFFFFFFFF90C22745)}, +/* 224 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0xCFB6486C8338D800), INT64_C(0x8000000000000000)}, +/* 225 */ {UINT32_C(0xE12C3C00), INT32_C(0x80000000), UINT64_C(0xD88873C5E12C3C00), INT64_C(0xD88873C5E12C3C00)}, +/* 226 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 227 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 228 */ {UINT32_C(0x72DF7514), INT32_C(0x72DF7514), UINT64_C(0x0000000072DF7514), INT64_C(0x0000000072DF7514)}, +/* 229 */ {UINT32_C(0x7DBDC90B), INT32_C(0x7DBDC90B), UINT64_C(0x000000007DBDC90B), INT64_C(0x000000007DBDC90B)}, +/* 230 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0xC7E5DA1399149000), INT64_C(0x8000000000000000)}, +/* 231 */ {UINT32_C(0xC7308C00), INT32_C(0x80000000), UINT64_C(0xD295F7B6C7308C00), INT64_C(0xD295F7B6C7308C00)}, +/* 232 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 233 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 234 */ {UINT32_C(0x75156398), INT32_C(0x75156398), UINT64_C(0x0000000075156398), INT64_C(0x0000000075156398)}, +/* 235 */ {UINT32_C(0x61A0B002), INT32_C(0x61A0B002), UINT64_C(0x0000000061A0B002), INT64_C(0x0000000061A0B002)}, +/* 236 */ {UINT32_C(0x9A3C9500), INT32_C(0x80000000), UINT64_C(0x10FBEDCE9A3C9500), INT64_C(0x10FBEDCE9A3C9500)}, +/* 237 */ {UINT32_C(0xE0CD8C00), INT32_C(0x80000000), UINT64_C(0x3493B6E1E0CD8C00), INT64_C(0x3493B6E1E0CD8C00)}, +/* 238 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0x8000000000000000), INT64_C(0x8000000000000000)}, +/* 239 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 240 */ {UINT32_C(0x35227C16), INT32_C(0x35227C16), UINT64_C(0x0000000035227C16), INT64_C(0x0000000035227C16)}, +/* 241 */ {UINT32_C(0x6E955B78), INT32_C(0x6E955B78), UINT64_C(0x000000006E955B78), INT64_C(0x000000006E955B78)}, +/* 242 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0xA059514AF6FA3800), INT64_C(0x8000000000000000)}, +/* 243 */ {UINT32_C(0x9B89EC00), INT32_C(0x80000000), UINT64_C(0x3BD5FEC09B89EC00), INT64_C(0x3BD5FEC09B89EC00)}, +/* 244 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0x8000000000000000), INT64_C(0x8000000000000000)}, +/* 245 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 246 */ {UINT32_C(0x0413A20A), INT32_C(0x0413A20A), UINT64_C(0x000000000413A20A), INT64_C(0x000000000413A20A)}, +/* 247 */ {UINT32_C(0x703ECBA4), INT32_C(0x703ECBA4), UINT64_C(0x00000000703ECBA4), INT64_C(0x00000000703ECBA4)}, +/* 248 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0x913FB7F4FA109800), INT64_C(0x8000000000000000)}, +/* 249 */ {UINT32_C(0xA19BC800), INT32_C(0x80000000), UINT64_C(0xCD19B767A19BC800), INT64_C(0xCD19B767A19BC800)}, +/* 250 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0x8000000000000000), INT64_C(0x8000000000000000)}, +/* 251 */ {UINT32_C(0x00000000), INT32_C(0x00000000), UINT64_C(0x0000000000000000), INT64_C(0x0000000000000000)}, +/* 252 */ {UINT32_C(0xFDD0368B), INT32_C(0x80000000), UINT64_C(0x00000000FDD0368B), INT64_C(0x00000000FDD0368B)}, +/* 253 */ {UINT32_C(0xC145D11F), INT32_C(0xC145D11F), UINT64_C(0xFFFFFFFFC145D11F), INT64_C(0xFFFFFFFFC145D11F)}, +/* 254 */ {UINT32_C(0x00000000), INT32_C(0x80000000), UINT64_C(0xF053271BB3450800), INT64_C(0x8000000000000000)}, +/* 255 */ {UINT32_C(0x44E89400), INT32_C(0x80000000), UINT64_C(0x056C5F8444E89400), INT64_C(0x056C5F8444E89400)}, }; #endif /* F64_TO_INTEGER_LUT_H */ diff --git a/test/floating_point/float64_to_integer/src/main.c b/test/floating_point/float64_to_integer/src/main.c index 581a52eb1..243d2aab0 100644 --- a/test/floating_point/float64_to_integer/src/main.c +++ b/test/floating_point/float64_to_integer/src/main.c @@ -36,37 +36,43 @@ size_t run_test(const char** failed_func) { const output_t *output = (const output_t*)((const void*)f64_to_integer_LUT_output); for (size_t i = 0; i < length; i++) { - - if (input[i] >= 0.0L) { - uint32_t ru32 = (uint32_t)input[i]; + volatile uint32_t ru32 = (uint32_t)input[i]; + if (input[i] > -1.0L && input[i] < (long double)UINT32_MAX) { if (ru32 != output[i].u32) { print_failed(input[i], (uint64_t)ru32, (uint64_t)output[i].u32); *failed_func = "dtoul"; return i; } - - uint64_t ru64 = (uint64_t)input[i]; + } + } + for (size_t i = 0; i < length; i++) { + volatile uint64_t ru64 = (uint64_t)input[i]; + if (input[i] > -1.0L && input[i] < (long double)UINT64_MAX) { if (ru64 != output[i].u64) { print_failed(input[i], (uint64_t)ru64, (uint64_t)output[i].u64); *failed_func = "dtoull"; return i; } } - - int32_t ri32 = (int32_t)input[i]; - if (ri32 != output[i].i32) { - print_failed(input[i], (uint64_t)ri32, (uint64_t)output[i].i32); - *failed_func = "dtol"; - return i; + } + for (size_t i = 0; i < length; i++) { + volatile int32_t ri32 = (int32_t)input[i]; + if (input[i] > (long double)INT32_MIN && input[i] < (long double)INT32_MAX) { + if (ri32 != output[i].i32) { + print_failed(input[i], (uint64_t)ri32, (uint64_t)output[i].i32); + *failed_func = "dtol"; + return i; + } } - - - - int64_t ri64 = (int64_t)input[i]; - if (ri64 != output[i].i64) { - print_failed(input[i], (uint64_t)ri64, (uint64_t)output[i].i64); - *failed_func = "dtoll"; - return i; + } + for (size_t i = 0; i < length; i++) { + volatile int64_t ri64 = (int64_t)input[i]; + if (input[i] > (long double)INT64_MIN && input[i] < (long double)INT64_MAX) { + if (ri64 != output[i].i64) { + print_failed(input[i], (uint64_t)ri64, (uint64_t)output[i].i64); + *failed_func = "dtoll"; + return i; + } } } @@ -76,19 +82,34 @@ size_t run_test(const char** failed_func) { } bool run_edge_cases(void) { - volatile long double i32_min_input = -0x1.00000001fffffp+31; + volatile long double i32_min_input = -0x1.00000001fffffp+31L; volatile int32_t i32_min_result = (int32_t)i32_min_input; if (i32_min_result != INT32_MIN) { printf("%08lX !=\nINT32_MIN (dtol)\n", i32_min_result); return false; } - volatile long double i64_min_input = -0x1.0p+63; + volatile long double i64_min_input = -0x1.0p+63L; volatile int64_t i64_min_result = (int64_t)i64_min_input; if (i64_min_result != INT64_MIN) { printf("%016llX !=\nINT64_MIN (dtoll)\n", i64_min_result); return false; } + + volatile long double u32_max_input = +0x1.fffffffffffffp+31L; + volatile uint32_t u32_max_result = (uint32_t)u32_max_input; + if (u32_max_result != UINT32_MAX) { + printf("%08lX !=\nUINT32_MAX (dtoul)\n", u32_max_result); + return false; + } + + volatile long double u64_max_input = +0x1.fffffffffffffp+63L; + volatile uint64_t u64_max_result = (uint64_t)u64_max_input; + if (u64_max_result != UINT64_C(0xFFFFFFFFFFFFF800)) { + printf("%016llX !=\nFFFFFFFFFFFFF800 (dtoull)\n", u64_max_result); + return false; + } + return true; }