From 4899793e9dead7ec55fa22ddf2b9dbd65f25b81c Mon Sep 17 00:00:00 2001 From: Stephanos Ioannidis Date: Wed, 18 Aug 2021 19:44:38 +0900 Subject: [PATCH] tests: lib: cmsis_dsp: basicmath: Update F32 tests for 1.9.0 This commit updates the basicmath F32 test patterns and implementations for the CMSIS-DSP 1.9.0. Signed-off-by: Stephanos Ioannidis --- tests/lib/cmsis_dsp/basicmath/src/f32.c | 60 +- tests/lib/cmsis_dsp/basicmath/src/f32.pat | 1439 ++++++++++++--------- 2 files changed, 917 insertions(+), 582 deletions(-) diff --git a/tests/lib/cmsis_dsp/basicmath/src/f32.c b/tests/lib/cmsis_dsp/basicmath/src/f32.c index dbef57ab67e..3fb4801b755 100644 --- a/tests/lib/cmsis_dsp/basicmath/src/f32.c +++ b/tests/lib/cmsis_dsp/basicmath/src/f32.c @@ -1,6 +1,6 @@ /* - * Copyright (c) 2020 Stephanos Ioannidis - * Copyright (C) 2010-2020 ARM Limited or its affiliates. All rights reserved. + * Copyright (c) 2021 Stephanos Ioannidis + * Copyright (C) 2010-2021 ARM Limited or its affiliates. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ @@ -47,6 +47,7 @@ static void test_arm_add_f32( DEFINE_TEST_VARIANT4(arm_add_f32, 3, in_com1, in_com2, ref_add, 3); DEFINE_TEST_VARIANT4(arm_add_f32, 8, in_com1, in_com2, ref_add, 8); DEFINE_TEST_VARIANT4(arm_add_f32, 11, in_com1, in_com2, ref_add, 11); +DEFINE_TEST_VARIANT4(arm_add_f32, long, in_com1, in_com2, ref_add, ARRAY_SIZE(in_com1)); static void test_arm_sub_f32( const uint32_t *input1, const uint32_t *input2, const uint32_t *ref, @@ -79,6 +80,7 @@ static void test_arm_sub_f32( DEFINE_TEST_VARIANT4(arm_sub_f32, 3, in_com1, in_com2, ref_sub, 3); DEFINE_TEST_VARIANT4(arm_sub_f32, 8, in_com1, in_com2, ref_sub, 8); DEFINE_TEST_VARIANT4(arm_sub_f32, 11, in_com1, in_com2, ref_sub, 11); +DEFINE_TEST_VARIANT4(arm_sub_f32, long, in_com1, in_com2, ref_sub, ARRAY_SIZE(in_com1)); static void test_arm_mult_f32( const uint32_t *input1, const uint32_t *input2, const uint32_t *ref, @@ -111,6 +113,7 @@ static void test_arm_mult_f32( DEFINE_TEST_VARIANT4(arm_mult_f32, 3, in_com1, in_com2, ref_mult, 3); DEFINE_TEST_VARIANT4(arm_mult_f32, 8, in_com1, in_com2, ref_mult, 8); DEFINE_TEST_VARIANT4(arm_mult_f32, 11, in_com1, in_com2, ref_mult, 11); +DEFINE_TEST_VARIANT4(arm_mult_f32, long, in_com1, in_com2, ref_mult, ARRAY_SIZE(in_com1)); static void test_arm_negate_f32( const uint32_t *input1, const uint32_t *ref, size_t length) @@ -142,6 +145,7 @@ static void test_arm_negate_f32( DEFINE_TEST_VARIANT3(arm_negate_f32, 3, in_com1, ref_negate, 3); DEFINE_TEST_VARIANT3(arm_negate_f32, 8, in_com1, ref_negate, 8); DEFINE_TEST_VARIANT3(arm_negate_f32, 11, in_com1, ref_negate, 11); +DEFINE_TEST_VARIANT3(arm_negate_f32, long, in_com1, ref_negate, ARRAY_SIZE(in_com1)); static void test_arm_offset_f32( const uint32_t *input1, float32_t scalar, const uint32_t *ref, @@ -174,6 +178,7 @@ static void test_arm_offset_f32( DEFINE_TEST_VARIANT4(arm_offset_f32, 0p5_3, in_com1, 0.5f, ref_offset, 3); DEFINE_TEST_VARIANT4(arm_offset_f32, 0p5_8, in_com1, 0.5f, ref_offset, 8); DEFINE_TEST_VARIANT4(arm_offset_f32, 0p5_11, in_com1, 0.5f, ref_offset, 11); +DEFINE_TEST_VARIANT4(arm_offset_f32, long, in_com1, 0.5f, ref_offset, ARRAY_SIZE(in_com1)); static void test_arm_scale_f32( const uint32_t *input1, float32_t scalar, const uint32_t *ref, @@ -206,6 +211,7 @@ static void test_arm_scale_f32( DEFINE_TEST_VARIANT4(arm_scale_f32, 0p5_3, in_com1, 0.5f, ref_scale, 3); DEFINE_TEST_VARIANT4(arm_scale_f32, 0p5_8, in_com1, 0.5f, ref_scale, 8); DEFINE_TEST_VARIANT4(arm_scale_f32, 0p5_11, in_com1, 0.5f, ref_scale, 11); +DEFINE_TEST_VARIANT4(arm_scale_f32, long, in_com1, 0.5f, ref_scale, ARRAY_SIZE(in_com1)); static void test_arm_dot_prod_f32( const uint32_t *input1, const uint32_t *input2, const uint32_t *ref, @@ -239,6 +245,8 @@ static void test_arm_dot_prod_f32( DEFINE_TEST_VARIANT4(arm_dot_prod_f32, 3, in_com1, in_com2, ref_dot_prod_3, 3); DEFINE_TEST_VARIANT4(arm_dot_prod_f32, 8, in_com1, in_com2, ref_dot_prod_4, 8); DEFINE_TEST_VARIANT4(arm_dot_prod_f32, 11, in_com1, in_com2, ref_dot_prod_4n1, 11); +DEFINE_TEST_VARIANT4(arm_dot_prod_f32, long, in_com1, in_com2, ref_dot_prod_long, + ARRAY_SIZE(in_com1)); static void test_arm_abs_f32( const uint32_t *input1, const uint32_t *ref, size_t length) @@ -270,6 +278,41 @@ static void test_arm_abs_f32( DEFINE_TEST_VARIANT3(arm_abs_f32, 3, in_com1, ref_abs, 3); DEFINE_TEST_VARIANT3(arm_abs_f32, 8, in_com1, ref_abs, 8); DEFINE_TEST_VARIANT3(arm_abs_f32, 11, in_com1, ref_abs, 11); +DEFINE_TEST_VARIANT3(arm_abs_f32, long, in_com1, ref_abs, ARRAY_SIZE(in_com1)); + +static void test_arm_clip_f32( + const uint32_t *input, const uint32_t *ref, float32_t min, float32_t max, size_t length) +{ + float32_t *output; + + /* Allocate output buffer */ + output = malloc(length * sizeof(float32_t)); + zassert_not_null(output, ASSERT_MSG_BUFFER_ALLOC_FAILED); + + /* Run test function */ + arm_clip_f32((float32_t *)input, output, min, max, length); + + /* Validate output */ + zassert_true( + test_snr_error_f32(length, output, (float32_t *)ref, + SNR_ERROR_THRESH), + ASSERT_MSG_SNR_LIMIT_EXCEED); + + zassert_true( + test_rel_error_f32(length, output, (float32_t *)ref, + REL_ERROR_THRESH), + "incorrect computation result"); + + /* Free output buffer */ + free(output); +} + +DEFINE_TEST_VARIANT5(arm_clip_f32, m0p5_m0p1, in_clip, ref_clip1, + -0.5f, -0.1f, ARRAY_SIZE(ref_clip1)); +DEFINE_TEST_VARIANT5(arm_clip_f32, m0p5_0p5, in_clip, ref_clip2, + -0.5f, 0.5f, ARRAY_SIZE(ref_clip2)); +DEFINE_TEST_VARIANT5(arm_clip_f32, 0p1_0p5, in_clip, ref_clip3, + 0.1f, 0.5f, ARRAY_SIZE(ref_clip3)); void test_basicmath_f32(void) { @@ -297,7 +340,18 @@ void test_basicmath_f32(void) ztest_unit_test(test_arm_dot_prod_f32_11), ztest_unit_test(test_arm_abs_f32_3), ztest_unit_test(test_arm_abs_f32_8), - ztest_unit_test(test_arm_abs_f32_11) + ztest_unit_test(test_arm_abs_f32_11), + ztest_unit_test(test_arm_add_f32_long), + ztest_unit_test(test_arm_sub_f32_long), + ztest_unit_test(test_arm_mult_f32_long), + ztest_unit_test(test_arm_negate_f32_long), + ztest_unit_test(test_arm_offset_f32_long), + ztest_unit_test(test_arm_scale_f32_long), + ztest_unit_test(test_arm_dot_prod_f32_long), + ztest_unit_test(test_arm_abs_f32_long), + ztest_unit_test(test_arm_clip_f32_m0p5_m0p1), + ztest_unit_test(test_arm_clip_f32_m0p5_0p5), + ztest_unit_test(test_arm_clip_f32_0p1_0p5) ); ztest_run_test_suite(basicmath_f32); diff --git a/tests/lib/cmsis_dsp/basicmath/src/f32.pat b/tests/lib/cmsis_dsp/basicmath/src/f32.pat index 02ee9119949..7c1b0fa1dd6 100644 --- a/tests/lib/cmsis_dsp/basicmath/src/f32.pat +++ b/tests/lib/cmsis_dsp/basicmath/src/f32.pat @@ -1,615 +1,896 @@ static const uint32_t in_com1[256] = { - 0xbed9b88c, 0xbe85457e, 0xbeea7eca, 0x3e17ff06, - 0xbe13a549, 0xbebd9ab7, 0x3d4621a0, 0x3e304cf9, - 0x3ecf6e8a, 0x3cfb9c49, 0x3c20b0c2, 0x3d9e9753, - 0x3eb804d3, 0x3ec83ed3, 0x3efd6b24, 0xbecb497f, - 0x3f5e5006, 0x3edc5354, 0xbe932caf, 0x3e6f1bca, - 0xbf3cdc98, 0xbef5150a, 0xbcce44bf, 0x3c8bbfeb, - 0x3e6e3187, 0xbf5bf5b0, 0x3ed8e7ba, 0x3f029f23, - 0x3e0999d9, 0x3d7d7bec, 0x3e43a8ac, 0xbe63b80e, - 0x3f0c89d7, 0x3f26caf1, 0x3cc61078, 0x3e9d7a43, - 0xbf11d9bd, 0xbe6b0910, 0xbf3c1a71, 0x3f5ca444, - 0x3ea58469, 0xbf1c56e1, 0xbe4cf9e1, 0xbf3b7337, - 0xbf1c622f, 0xbee69b8f, 0xbe5374ec, 0x3e84dcc3, - 0x3e2a11b2, 0xbe024acf, 0x3d330647, 0x3e0e15ae, - 0x3e480aae, 0xbe009dc2, 0x3e334c22, 0xbf68c25a, - 0xbe875c17, 0x3ed3b7b6, 0x3c548a11, 0xbf748f6a, - 0xbe2fd359, 0xbeb79e06, 0xbe9d2b22, 0xbd041f20, - 0xbea20579, 0xbe0e2a95, 0x3ec5ceab, 0x3e6c7b5a, - 0xbd31f74a, 0x3e89c4be, 0x3e7ad9a8, 0xbeb01cf0, - 0xbd9edaf0, 0xbdd9ba24, 0x3eab6ed8, 0xbe304596, - 0xbe6b0bad, 0x3e95ce13, 0xbe1c9356, 0x3f065558, - 0x3d946da2, 0xbe9651bb, 0xbf3915ce, 0xbef6870f, - 0xbea173fa, 0x3f3b112f, 0x3e77acc4, 0xbe3eaadd, - 0xbee694b7, 0x3e17c8c6, 0x3cce9b87, 0x3f457b95, - 0xbe8e81e6, 0xbef9b5b7, 0x3e8303c4, 0xbed0e513, - 0x3e3a01e8, 0x3e835bd4, 0xbe885c96, 0xbe4f18fd, - 0x3f09bfc9, 0xbe97f387, 0xbdef8fe3, 0x3e3fc6ce, - 0x3e15fd87, 0x3da67ba3, 0xbe16b70b, 0x3f04d196, - 0xbc98718e, 0x3e7109c9, 0x3e92cf6d, 0x3bec2f09, - 0x3d9ab0f9, 0x3ee34c27, 0xbf028a75, 0xbec89316, - 0x3ddf7863, 0x3e6af544, 0x3f211d0d, 0xbd6f5644, - 0x3ec2e505, 0x3f25c1a7, 0x3ed1b8fb, 0xba995722, - 0x3e977e94, 0x3e1ff3c3, 0xbe8004d9, 0xbedbd344, - 0x3e8255d6, 0x3f0d820c, 0x3ed990f7, 0x3e3635bd, - 0x3ebb3eaf, 0xbdeb1f92, 0xbe0e30dc, 0xbe79480d, - 0xbeafbf87, 0x3e46fdbd, 0xbe940fc2, 0x3e485488, - 0xbef72346, 0x3e2a25f2, 0x3d9e174c, 0xbe7884fa, - 0xbdadfbe0, 0x3ddc52a5, 0xbe7fc774, 0x3ed9465c, - 0xbe242d8e, 0xbe9a872c, 0x3e756c14, 0x3d0dd074, - 0xbe850f07, 0xbeb3d0d6, 0x3ea35d49, 0xbdeb4d45, - 0x3e879031, 0xbee692d3, 0x3e45fce9, 0xbdf3bfa2, - 0x3f0c88a1, 0xbe8bd72d, 0xbe9214e0, 0x3ce0e3eb, - 0x3da84610, 0x3ec6545f, 0xbe5fc667, 0x3f011330, - 0xbd9746c0, 0xbf040552, 0x3dd4b622, 0x3e9ac507, - 0x3d331941, 0xbe648c74, 0xbf789687, 0x3e8e3efa, - 0xbe8ecbd6, 0xbeca6809, 0x3edaf5d7, 0xbdf39265, - 0xbe54c85b, 0xbeb865e9, 0x3eaae871, 0xbe9cf0f5, - 0xbee637a7, 0x3e4787e9, 0xbe9bdb21, 0xbf2b2731, - 0x3cae1e0f, 0xbed6d8d9, 0x3d10bee8, 0x3e062c45, - 0xbe5edb6f, 0xbf1e4918, 0xbd9e5f22, 0x3d24b1f6, - 0xbf25aa6e, 0x3f800000, 0xbeec8738, 0xbf53fe99, - 0x3e97a7e5, 0x3d192d6e, 0x3dd50e40, 0xbe9a6333, - 0x3ddcdab9, 0x3ed56c42, 0xbf0b048c, 0x3e33316e, - 0xbdda44e0, 0x3c0c2945, 0x3e0106ce, 0xbe403d3b, - 0xbd516bf3, 0xbe227afc, 0xbdad740f, 0xbec73b93, - 0x3e9273eb, 0x3e8a7d04, 0x3e81883d, 0x3d8ad021, - 0x3f515540, 0x3e39176a, 0x3e26a106, 0x3ed7fcaa, - 0x3ec364b7, 0x3eac9ecc, 0x3f0f8a8a, 0xbf66136f, - 0xbe9273c5, 0xbecca64b, 0xbe06b9ab, 0xbdcebaec, - 0x3ea15095, 0x3e78b73b, 0x3df7d017, 0x3dc305f4, - 0x3d53ecb4, 0x3f3ed208, 0x3d7a6858, 0xbe80fd85, - 0xbe3a5759, 0xbf4db80a, 0x3f52d009, 0x3eb54232, - 0xbf0bd786, 0x3ebd8b42, 0xbeb3023a, 0xbec55475, - 0x3d55ded3, 0x3d87443b, 0x3d829c08, 0x3f11f3ee, - 0x3ee06059, 0x3d16a083, 0xbebd88b3, 0xbdc96f70 + 0x3ef42097, 0x3e86ad95, 0xbe3ea847, 0x3e18687c, + 0x3e0167c4, 0xbeed738c, 0xbe9bf9d4, 0xbb730272, + 0xbe012b5c, 0xbd8bd341, 0xbe56c288, 0x3e2b7752, + 0x3d6d3ae8, 0x3ea5bd92, 0xbe856a1c, 0x3e95df0f, + 0x3b22b472, 0xbd0be8f1, 0x3cf508cb, 0x3e1dd77f, + 0xbdac3a95, 0xbd9ab863, 0x3e79b6ec, 0x3d8a169d, + 0x3f4d8634, 0x3dbc68d8, 0x3daafaa7, 0x3f014ff9, + 0xbec1a42b, 0xbef5ddf1, 0xbcafe569, 0x3e2a281a, + 0x3e91440f, 0x3ecd254e, 0xbe96be70, 0xbe88e908, + 0x3ef1707d, 0x3e37712d, 0x3e5c9d81, 0xbf023aa5, + 0xbe22c3c5, 0xbf6cf542, 0x3ee3d442, 0xbcf98294, + 0xbea409ea, 0x3ec3f4fa, 0xbdaae52b, 0x3e5a3e26, + 0x3ec6c48c, 0x3db20a6e, 0xbd5a76b9, 0xbeb19ab8, + 0x3e2e70e0, 0xbe250bbc, 0xbb924224, 0x3e63e842, + 0x3e869163, 0x3f3cf722, 0x3e34791d, 0xbe47b92b, + 0x3d067f62, 0xbee01a2b, 0xbe65e261, 0xbebf2507, + 0xbd988616, 0xbd096da3, 0x3e9d26da, 0x3d5ed2dc, + 0xbed71c52, 0xbd7fd166, 0xbf07cd34, 0xbefc0ec4, + 0xbed07597, 0xbcb1d1bc, 0xbeacec8a, 0xbeb0c7a7, + 0xbe9178b9, 0x3edfebfc, 0x3efa2823, 0xbdfe0776, + 0xbbe138f4, 0x3ed2bc15, 0xbed07289, 0xbe945180, + 0x3e30f7f5, 0xbe838d1c, 0xbec79c1e, 0xbe0061c6, + 0x3eab34af, 0x3e740af6, 0x3e2e9bac, 0xbc4bc189, + 0x3ec7311c, 0x3f24d251, 0x3eaef71a, 0xbe2604cf, + 0x3eaf43a4, 0x3d8c5231, 0xbe5d61fb, 0x3f02bc90, + 0x3e37a19b, 0xbe30f194, 0xbe89922c, 0x3e5b789a, + 0x3ccd7401, 0xbe8fee45, 0xbf800000, 0x3e5c746d, + 0x3ebc6e53, 0xbe216b0d, 0x3f006d30, 0x3ef1d883, + 0x3dd6709e, 0x3df75fd2, 0xbd9da1a9, 0x3eb73e4d, + 0xbe2fe102, 0xbebc2abc, 0xbe55d2b7, 0x3ea0772a, + 0xbd25ad3e, 0xbed66b20, 0x3ecb63d4, 0xbea07d49, + 0xbdf0d341, 0x3f20e8ac, 0x3d06b855, 0x3e21e1fa, + 0xbde85bb8, 0x3ef7e694, 0xbe505258, 0xbee6e07b, + 0xbe6db444, 0xbe720578, 0xbe4590de, 0x3ca8fd1c, + 0xbe94d923, 0x3d83b1af, 0x3cc1590d, 0xbf3e0520, + 0xbe2d81ab, 0xbdc0f1d9, 0x3e9508fe, 0x3ecf4489, + 0x3b15e5b9, 0x3d5d2df0, 0xbde3eec5, 0xbe65fedc, + 0x3d378e4e, 0xbed0fc07, 0x3b2ae32e, 0x3eaddfb5, + 0xbdbdeec5, 0xbee8db66, 0x3e828b90, 0x3deb4f3a, + 0x3ef2c3f9, 0xbe08fd16, 0xbd4309f7, 0xbde5696b, + 0x3db4c760, 0xbeb8cff2, 0x3e573a47, 0xbed7f152, + 0xbe2bf4b7, 0xbda1e235, 0x3ef13523, 0x3e50bb92, + 0xbed1f2be, 0xbe990298, 0xbeb8937d, 0x3f2df3b4, + 0xbc050110, 0x3e499e73, 0xbdadc6ef, 0x3ccf21c4, + 0xbe7c69e8, 0x3f3de737, 0x3e1484dd, 0x3f0ca39e, + 0xbbfa9460, 0x3d680b7a, 0xbdd50f99, 0xbdd1fb7b, + 0xbd6d6a5e, 0x3ea893d4, 0x3ea5f6c8, 0xbc71156e, + 0x3ebe5729, 0xbe1abc40, 0xbe775064, 0x3dab6ea7, + 0xbeb164ba, 0xbeab400f, 0x3e98bedf, 0xbf1b3922, + 0xbe6a26f8, 0xbebcf88d, 0x3e81f29f, 0x3ea622f1, + 0x3e60207e, 0xbe9112a7, 0x3e87e67d, 0xbe17720f, + 0x3f03302b, 0xbe0d69ea, 0xbd390706, 0xbe8b340d, + 0x3e71312d, 0xbe5f80e7, 0x3e2acad8, 0x3d0b921f, + 0x3ebaecf7, 0xbecaf0bf, 0xbd7f0ea8, 0x3e32bd1c, + 0xbe0ecc4c, 0x3d0497fa, 0xbebe2e21, 0x3e26f946, + 0x3de3bd92, 0x3e7bd5ee, 0xbdb489b2, 0xbea62b1d, + 0xbe877050, 0xbe1f0e16, 0xbdf377a7, 0x3eb650a2, + 0x3e828a94, 0x3df17602, 0x3ec0ed6a, 0xbd86fa48, + 0x3f492776, 0xbe089df8, 0x3ef9bb6f, 0x3ea98f1d, + 0xbebdd119, 0x3f16f27f, 0xbd903242, 0x3ed7d308, + 0xbe217633, 0x3ed0ddef, 0x3e5bf01a, 0x3e0e36f5, + 0x3d927755, 0xbda15276, 0x3e2fe1a6, 0x3ede9906, + 0xbea07946, 0xbf325862, 0x3e2bf47c, 0x3e7042fa, + 0xbdf916a0, 0xbefd280f, 0xbf18cbae, 0xbe7fd3b8 }; static const uint32_t in_com2[256] = { - 0x3cfe077a, 0x3e595eba, 0x3e4c161e, 0x3e6d0744, - 0x3e937a96, 0x3ccd7f51, 0xbe3a6d81, 0x3d83f9a8, - 0xbe3294d1, 0x3e478802, 0x3aa015ef, 0xbdde1e60, - 0x3d3b1e81, 0xbc31c1eb, 0xbe50f1ca, 0xbcd3b88b, - 0x3e26b0c2, 0xbcd720b5, 0x3de24116, 0xbf16421c, - 0xbda499a2, 0xbee6db2c, 0x3e8f0d5e, 0x3ee859ec, - 0xbe918139, 0x3ea05e41, 0xbed4e6e4, 0x3e5c659e, - 0x3f0813d3, 0xbeb07ee1, 0xbedfaabd, 0xbea161c5, - 0xbef47968, 0x3f0508c6, 0xbec0fec2, 0xbd43f108, - 0x3ee3a8c2, 0xbe0a4e4a, 0x3e0bb108, 0x3efab12c, - 0x3df15ecc, 0xbe85ab6b, 0x3e6cddaf, 0x3ef7329f, - 0xbe17da4d, 0x3d1bdaf3, 0xbd84e307, 0xbdb8a32e, - 0x3e538fd7, 0x3f800000, 0x3d1e9776, 0xbf385d91, - 0xbe8ea2d4, 0xbe9c2022, 0xbe1a4ce7, 0x3e3d7f3e, - 0xbd81718d, 0xbe9370c0, 0xbdd49e34, 0x3ed7c2c4, - 0xbeb7a6a9, 0xbd8c69a1, 0x3dfa6ad1, 0xbccb39b3, - 0x3ea81d33, 0xbe65c6bc, 0xbeda087c, 0xbe89f898, - 0xbe1f3667, 0x3dcee806, 0xbebc476a, 0x3c7d38dd, - 0x3bb44b80, 0x3e87ea01, 0xbecf6b7b, 0xbf2d74d3, - 0xbe8329d5, 0xbe981a3e, 0xbeb72876, 0x3c5489f1, - 0x3e0b7c4d, 0x3e0ade0b, 0x3f144221, 0xbec02b78, - 0xbf0ad0a3, 0x3f07ac89, 0xbe8ceab6, 0xbd1aac64, - 0xbeddc258, 0x3f340452, 0xbf3fed35, 0x3edc1b20, - 0xbec01190, 0xbeae008c, 0x3e6f953b, 0x3dc93f7d, - 0xbeef6efb, 0x3ef28939, 0x3eb86235, 0x3f01b403, - 0x3e1afbb7, 0x3df3a5d1, 0x3e442b8b, 0x3e28ec9a, - 0xbe40810e, 0x3cee00be, 0xbeedc6ba, 0xbe8096d1, - 0xbee3bb67, 0xbe739485, 0x3ef1f859, 0x3ea3a83c, - 0x3eace68f, 0x3eccbc3c, 0x3e32b7df, 0xbe791fea, - 0x3ec77e23, 0xbe1bee43, 0x3dcea665, 0xbefcb4e8, - 0x3f2df6da, 0xbde0fe20, 0xbef3bbd4, 0xbe56e930, - 0xbe732c2b, 0xbef4167e, 0xbd9bdbd9, 0xbda3e84d, - 0x3e80f9db, 0x3e7d4614, 0xbe808a72, 0xbe6135e8, - 0xbdc23e3c, 0xbc98d8bc, 0xbf79a72c, 0x3ee5674a, - 0xbe58f030, 0x3ec4a124, 0xbccda5f0, 0xbd829431, - 0xbd237862, 0xbe6d3d31, 0x3f0e8c12, 0xbed6ee81, - 0xbdaef9ad, 0xbe342743, 0x3e91a4c5, 0x3ef55ad9, - 0xbf04709c, 0xbdea14cf, 0x3edbc277, 0x3e2a424e, - 0x3eeddec2, 0x3d8e7e10, 0x3eed0317, 0x3ec4fdab, - 0xbd32546e, 0x3ccad60e, 0xbed0729e, 0x3ebc72d1, - 0x3e85c48c, 0xbee8131f, 0xbe5da03c, 0xbef6509d, - 0xbe43e20a, 0x3dff6326, 0x3e9891ba, 0xbec1beee, - 0x3e9198b2, 0x3e399603, 0x3e21a32d, 0x3e12e3e0, - 0x3e78193e, 0xbc52fb1a, 0xbe876b41, 0xbd67f9f8, - 0x3edb05b2, 0x3e69cf83, 0xbe85747f, 0x3e44bdd4, - 0xbd7d5d80, 0x3e62878b, 0x3e732f5a, 0x3caad70e, - 0xbdb04cd6, 0xbd65cc04, 0x3e2014cb, 0x3e9f51e0, - 0x3f2444d5, 0xbecf3e57, 0xbca286ab, 0x39ea6b6e, - 0xbed97a4c, 0x3f1c6456, 0xbe6501b6, 0xbd44447d, - 0xbe56ec29, 0x3e36d6da, 0x3e8e3796, 0x3e41532b, - 0xbf2ad4c2, 0x3dcbb2ed, 0x3f0449f3, 0x3b9d2f14, - 0x3e843611, 0xbeb21d00, 0x3dae0f13, 0xbe0bfbc7, - 0x3d60fc05, 0xbe50eba1, 0xbdac28bd, 0x3ddff1a8, - 0xbca2d3ed, 0x3e3f2a75, 0x3cd1d54f, 0xbd5cbb86, - 0xbeb94344, 0x3f1da3ad, 0x3dc86288, 0x3e1bf366, - 0xbcbae72e, 0x3e14cec4, 0xbe10c0e9, 0x3d033def, - 0xbe4f8aef, 0x3ea13b44, 0xbd9d3c5d, 0x3e5ffae9, - 0xbc7c924c, 0xbe1a333e, 0x3ea85ff3, 0xbe9094f0, - 0x3ef788aa, 0x3ec897b1, 0xbe4f4021, 0x3e862a40, - 0x3f023da9, 0xbe899fb5, 0xbe53baa3, 0xbdcca4cf, - 0x3dd61a8e, 0xbe68565c, 0xbebe867f, 0x3e8c7c86, - 0x3e759429, 0xbe2d2450, 0x3d8a0dc2, 0x3eae355f, - 0x3dae17b5, 0x3e322f48, 0x3ced186e, 0x3e284f99, - 0x3c8e1745, 0x3d9b78c1, 0xbe8fb371, 0x3e8fbb37 + 0xbf06178f, 0xbcf81646, 0x3dfd56f1, 0x3d8b675e, + 0x3e3b9e60, 0xbe581221, 0xbe9b2bdf, 0x3e27456a, + 0x3e267c7c, 0x3e4a739e, 0x3e46f38e, 0x3ead0034, + 0x3e9c6fe6, 0xbe85de2a, 0xbe0b6d91, 0x3e15c579, + 0x3e2e2747, 0x3e47f6b7, 0xbf0fef42, 0x3eb89f41, + 0xbebf5073, 0xbe1b76d6, 0xbd143cda, 0x3e0fce30, + 0x3e63f477, 0x3da6b408, 0xbddf20d8, 0x3e212cf8, + 0x3d7ca255, 0x3edeb770, 0xbe42d399, 0x3ebc6d3d, + 0xba159c2d, 0x3dbe1e2f, 0x3e4ae0fe, 0x3ef1b0e2, + 0x3ecd009c, 0x3f0b6939, 0x3e730650, 0xbe349bd9, + 0x3e8784f4, 0xbef694cf, 0x3ef0ee0c, 0xbe3b6ec9, + 0xbeafb317, 0x3dceadfa, 0xbef71828, 0xbeb480ef, + 0x3dcc9b0c, 0xbea38f6b, 0xbeada2ab, 0xbea2589f, + 0x3d8dd61b, 0x3e9b1f61, 0xbe5cae67, 0xbe1b7bf5, + 0xbd53f594, 0xbc02f690, 0x3d1f35bc, 0x3e66a230, + 0xbe4e0c07, 0x3e8b1ea7, 0xbd8abce8, 0x3f2acc63, + 0x3e85f10a, 0xbe3df13b, 0x3e47f9b9, 0xbe7f3538, + 0x3eab8320, 0x3dc6e409, 0xbe1a0c12, 0x3de4dc15, + 0xbd783ef8, 0x3d6bf7a7, 0xbdf01e81, 0xbe06f585, + 0x3dfbc3cb, 0x3e83c76e, 0xbe2334d9, 0xbec04faa, + 0x3df4f6ba, 0xbe9c8939, 0x3eae9480, 0x3f3ea2db, + 0xbea5e7e5, 0x3ce44756, 0x3e7ac681, 0xbb1f3af2, + 0xbe0d9a3b, 0xbec47312, 0x3d1fc34a, 0xbeeb364f, + 0x3c4a5321, 0x3d078790, 0xbed2a3e7, 0xbed2a75b, + 0x3df5aa35, 0x38054956, 0xbed08984, 0xbeaddd16, + 0xbe0f6b3a, 0xbea00acc, 0xbf15c678, 0x3cad77bc, + 0x3e163970, 0x3ed0359e, 0x3eba85da, 0xbdac92a7, + 0x3dcaae9a, 0xbe2e7b0c, 0x3f0910dd, 0xbe7b35ac, + 0x3f23ac86, 0xbe8fd163, 0x3d94c4b4, 0x3ec00630, + 0xbe8b6689, 0x3dd91911, 0xbd2a3f3d, 0x3ee3988d, + 0x3c9c3923, 0x3df44add, 0x3dea8e9a, 0x3d2f765c, + 0xbe71b5c8, 0xbe891f36, 0xbe6d50ff, 0xbf0ff9b0, + 0xbee2bf4f, 0xbee17457, 0x3f09cb91, 0xbe237819, + 0xbe287c67, 0xbe599480, 0x3eaa52c4, 0x3e8a6543, + 0xbeb1c765, 0x3edaa354, 0xbddf782f, 0xbd5f5133, + 0xbf6e1ccc, 0x3ed67bb1, 0x3e9fde5f, 0x3db717f1, + 0x3f086e5b, 0x3d93e022, 0xbde93f0e, 0xbde147c6, + 0xbc3b38b6, 0x3d913c88, 0x3e14d761, 0x3e29b42a, + 0x3ef55fec, 0xbe88a627, 0x3e8455d9, 0xbd65215c, + 0xbf800000, 0xbc5be1eb, 0x3e7363be, 0x3f003121, + 0xbd8d0572, 0x3d68d950, 0xbe91b2b1, 0x3d9ec8ee, + 0x3e434245, 0xbe99c910, 0xbf080f49, 0x3e20c1a7, + 0xbe99b973, 0x3ec03789, 0xbdbe0d65, 0xbe5e2e00, + 0x3ea75ffa, 0x3eb117ff, 0xbd7e5f8c, 0xbf2f6207, + 0x3e50db53, 0x3c93bee8, 0x3e3c3d23, 0x3df003da, + 0xbe46241b, 0xbf40df5b, 0xbcba8789, 0x3e062840, + 0xbd8c3271, 0x3d9db002, 0xbf07a554, 0x3c9a4984, + 0xbe1a0447, 0x3d243d12, 0x3cf2d17f, 0xbdbb7707, + 0x3d50c304, 0x3e0cc6ea, 0xbdf1c6fb, 0x3e08b873, + 0xbdeef5e9, 0xbeb7a6f1, 0x3e763600, 0x3e8b66f2, + 0x3e02e2be, 0xbca3550d, 0xbe8735d2, 0xbe7c4f1f, + 0x3d3a781e, 0xbe445ae0, 0x3ebe8f55, 0x3d92f31e, + 0xbe89d5ef, 0x3e99b057, 0xbdcf9e20, 0xbee579c6, + 0x3ef66b87, 0x3e10450f, 0x3ef3448f, 0xbeaf9f4a, + 0x3f195a82, 0x3db75487, 0xbeda071f, 0x3d2b6496, + 0xbe97d1fa, 0x3e9a49ed, 0xbec10527, 0x3d2b7272, + 0xbe23956f, 0x3e3bec79, 0xbd942185, 0xbdfb24ed, + 0xbdc55b8b, 0x3e287bdd, 0x3f02812f, 0x3dbf0ddc, + 0xbe91ca4f, 0xbe0555e7, 0x3edf7620, 0x3e4411ca, + 0x3ea0a2f0, 0x3eeada8f, 0xbe6e6e56, 0x3eac42a3, + 0xbe3c3f27, 0x3d773f1a, 0x3e87116e, 0x3f21218e, + 0x3c21c417, 0x3f14c6b1, 0x3e9d20c2, 0xbf0f7e9a, + 0xbe841263, 0xbea08fbd, 0xbec7dd6f, 0x3edf4ebc, + 0xbe3bc140, 0xbd27973c, 0xbce5af1b, 0xbe943efb + }; + +static const uint32_t in_clip[267] = { + 0xbf666666, 0xbf64aaec, 0xbf62ef72, 0xbf6133f8, + 0xbf5f787e, 0xbf5dbd04, 0xbf5c018a, 0xbf5a4610, + 0xbf588a96, 0xbf56cf1c, 0xbf5513a2, 0xbf535828, + 0xbf519cae, 0xbf4fe134, 0xbf4e25ba, 0xbf4c6a40, + 0xbf4aaec6, 0xbf48f34c, 0xbf4737d2, 0xbf457c58, + 0xbf43c0de, 0xbf420564, 0xbf4049ea, 0xbf3e8e70, + 0xbf3cd2f6, 0xbf3b177c, 0xbf395c02, 0xbf37a088, + 0xbf35e50d, 0xbf342993, 0xbf326e19, 0xbf30b29f, + 0xbf2ef725, 0xbf2d3bab, 0xbf2b8031, 0xbf29c4b7, + 0xbf28093d, 0xbf264dc3, 0xbf249249, 0xbf22d6cf, + 0xbf211b55, 0xbf1f5fdb, 0xbf1da461, 0xbf1be8e7, + 0xbf1a2d6d, 0xbf1871f3, 0xbf16b679, 0xbf14faff, + 0xbf133f85, 0xbf11840b, 0xbf0fc891, 0xbf0e0d17, + 0xbf0c519d, 0xbf0a9623, 0xbf08daa9, 0xbf071f2f, + 0xbf0563b5, 0xbf03a83b, 0xbf01ecc0, 0xbf003146, + 0xbefceb99, 0xbef974a5, 0xbef5fdb1, 0xbef286bd, + 0xbeef0fc9, 0xbeeb98d4, 0xbee821e0, 0xbee4aaec, + 0xbee133f8, 0xbeddbd04, 0xbeda4610, 0xbed6cf1c, + 0xbed35828, 0xbecfe134, 0xbecc6a40, 0xbec8f34c, + 0xbec57c58, 0xbec20564, 0xbebe8e70, 0xbebb177c, + 0xbeb7a088, 0xbeb42993, 0xbeb0b29f, 0xbead3bab, + 0xbea9c4b7, 0xbea64dc3, 0xbea2d6cf, 0xbe9f5fdb, + 0xbe9be8e7, 0xbe9871f3, 0xbe94faff, 0xbe91840b, + 0xbe8e0d17, 0xbe8a9623, 0xbe871f2f, 0xbe83a83b, + 0xbe803146, 0xbe7974a5, 0xbe7286bd, 0xbe6b98d4, + 0xbe64aaec, 0xbe5dbd04, 0xbe56cf1c, 0xbe4fe134, + 0xbe48f34c, 0xbe420564, 0xbe3b177c, 0xbe342993, + 0xbe2d3bab, 0xbe264dc3, 0xbe1f5fdb, 0xbe1871f3, + 0xbe11840b, 0xbe0a9623, 0xbe03a83b, 0xbdf974a5, + 0xbdeb98d4, 0xbdddbd04, 0xbdcfe134, 0xbdc20564, + 0xbdb42993, 0xbda64dc3, 0xbd9871f3, 0xbd8a9623, + 0xbd7974a5, 0xbd5dbd04, 0xbd420564, 0xbd264dc3, + 0xbd0a9623, 0xbcddbd04, 0xbca64dc3, 0xbc5dbd04, + 0xbbddbd04, 0x0, 0x3bddbd04, 0x3c5dbd04, + 0x3ca64dc3, 0x3cddbd04, 0x3d0a9623, 0x3d264dc3, + 0x3d420564, 0x3d5dbd04, 0x3d7974a5, 0x3d8a9623, + 0x3d9871f3, 0x3da64dc3, 0x3db42993, 0x3dc20564, + 0x3dcfe134, 0x3dddbd04, 0x3deb98d4, 0x3df974a5, + 0x3e03a83b, 0x3e0a9623, 0x3e11840b, 0x3e1871f3, + 0x3e1f5fdb, 0x3e264dc3, 0x3e2d3bab, 0x3e342993, + 0x3e3b177c, 0x3e420564, 0x3e48f34c, 0x3e4fe134, + 0x3e56cf1c, 0x3e5dbd04, 0x3e64aaec, 0x3e6b98d4, + 0x3e7286bd, 0x3e7974a5, 0x3e803146, 0x3e83a83b, + 0x3e871f2f, 0x3e8a9623, 0x3e8e0d17, 0x3e91840b, + 0x3e94faff, 0x3e9871f3, 0x3e9be8e7, 0x3e9f5fdb, + 0x3ea2d6cf, 0x3ea64dc3, 0x3ea9c4b7, 0x3ead3bab, + 0x3eb0b29f, 0x3eb42993, 0x3eb7a088, 0x3ebb177c, + 0x3ebe8e70, 0x3ec20564, 0x3ec57c58, 0x3ec8f34c, + 0x3ecc6a40, 0x3ecfe134, 0x3ed35828, 0x3ed6cf1c, + 0x3eda4610, 0x3eddbd04, 0x3ee133f8, 0x3ee4aaec, + 0x3ee821e0, 0x3eeb98d4, 0x3eef0fc9, 0x3ef286bd, + 0x3ef5fdb1, 0x3ef974a5, 0x3efceb99, 0x3f003146, + 0x3f01ecc0, 0x3f03a83b, 0x3f0563b5, 0x3f071f2f, + 0x3f08daa9, 0x3f0a9623, 0x3f0c519d, 0x3f0e0d17, + 0x3f0fc891, 0x3f11840b, 0x3f133f85, 0x3f14faff, + 0x3f16b679, 0x3f1871f3, 0x3f1a2d6d, 0x3f1be8e7, + 0x3f1da461, 0x3f1f5fdb, 0x3f211b55, 0x3f22d6cf, + 0x3f249249, 0x3f264dc3, 0x3f28093d, 0x3f29c4b7, + 0x3f2b8031, 0x3f2d3bab, 0x3f2ef725, 0x3f30b29f, + 0x3f326e19, 0x3f342993, 0x3f35e50d, 0x3f37a088, + 0x3f395c02, 0x3f3b177c, 0x3f3cd2f6, 0x3f3e8e70, + 0x3f4049ea, 0x3f420564, 0x3f43c0de, 0x3f457c58, + 0x3f4737d2, 0x3f48f34c, 0x3f4aaec6, 0x3f4c6a40, + 0x3f4e25ba, 0x3f4fe134, 0x3f519cae, 0x3f535828, + 0x3f5513a2, 0x3f56cf1c, 0x3f588a96, 0x3f5a4610, + 0x3f5c018a, 0x3f5dbd04, 0x3f5f787e, 0x3f6133f8, + 0x3f62ef72, 0x3f64aaec, 0x3f666666 }; static const uint32_t ref_add[256] = { - 0xbec9d814, 0xbd44b104, 0xbe8473bb, 0x3ec28325, - 0x3e134fe4, 0xbeb0c2c2, 0xbe08e519, 0x3e7249cd, - 0x3e6c4843, 0x3e66fb8b, 0x3c34b380, 0xbcfe1c36, - 0x3ecf68a3, 0x3ec2b0c4, 0x3e94f23f, 0xbed88508, - 0x3f83fe1b, 0x3ecee148, 0xbe3538d4, 0xbeb4f653, - 0xbf516fcc, 0xbf6df81b, 0x3e822912, 0x3ef115eb, - 0xbd5343ab, 0xbf0bc690, 0x3c001ac3, 0x3f39b88a, - 0x3f2a7a4a, 0xbe90cf64, 0xbe7bacce, 0xbf099ee6, - 0x3d92691d, 0x3f95e9dc, 0xbeb49dbb, 0x3e84fc22, - 0xbe001570, 0xbebaabad, 0xbf192e2f, 0x3facfe6d, - 0x3ee1dc1c, 0xbf5f2c97, 0x3cff1e75, 0xbe7f67a0, - 0xbf4258c2, 0xbed32030, 0xbe8af337, 0x3e2d67f0, - 0x3ebed0c4, 0x3f5f6d4c, 0x3da8cede, 0xbf14d825, - 0xbdaa75f4, 0xbedc6f03, 0x3cc7f9d5, 0xbf39628a, - 0xbea7b87a, 0x3e008dec, 0xbdba0cf2, 0xbf08ae08, - 0xbf07c82b, 0xbedab86e, 0xbe3d20db, 0xbd69bbfa, - 0x3c42f730, 0xbeb9f8a8, 0xbd21ce85, 0xbd1dd75b, - 0xbe4bb43a, 0x3ebd7ebf, 0xbdfb6a59, 0xbea83329, - 0xbd939638, 0x3e22f6ef, 0xbd8ff28f, 0xbf598639, - 0xbef8afab, 0xbb930af6, 0xbf02b910, 0x3f09a780, - 0x3e55b31e, 0xbe21c56b, 0xbe134eb5, 0xbf5b5943, - 0xbf5b8aa0, 0x3fa15edc, 0xbd08a29f, 0xbe6555f6, - 0xbf622b87, 0x3f59f683, 0xbf397859, 0x3f99c492, - 0xbf2749bb, 0xbf53db21, 0x3eface61, 0xbe9e9534, - 0xbe926e06, 0x3f3af286, 0x3dc0167b, 0x3e9bdb88, - 0x3f307eb7, 0xbe361426, 0x3d98c732, 0x3eb459b4, - 0xbd2a0e1c, 0x3de1fbd3, 0xbf1c9120, 0x3e890c5a, - 0xbeed4280, 0xbb22aef7, 0x3f4263e3, 0x3ea758f8, - 0x3ed392cd, 0x3f580432, 0xbeabb8fa, 0xbf229185, - 0x3eff5c3c, 0x3d9e0e00, 0x3f3af1da, 0xbf0d4fd8, - 0x3f87b4ae, 0x3f09a1e3, 0xbd880b61, 0xbe581bde, - 0x3d6f43f1, 0xbea41c9c, 0xbea6fbcf, 0xbf0266ac, - 0x3f01a7d9, 0x3f4cd391, 0x3e320d09, 0xbd2c00ad, - 0x3e8aaf20, 0xbe08aae1, 0xbf8e99b1, 0x3e518686, - 0xbf0e1bd0, 0x3f141002, 0xbea0ea21, 0x3e070a70, - 0xbf05c929, 0xbd862e7f, 0x3f224efb, 0xbf29987f, - 0xbe2e7ac7, 0xbd8bfbe1, 0x3d0e0859, 0x3f67509a, - 0xbf2d7bff, 0xbed50c5f, 0x3f2b3c40, 0x3e4db66b, - 0x3e519f77, 0xbe903152, 0x3f483030, 0x3e8a2a5a, - 0x3e628b46, 0xbed9e572, 0xbe5ae853, 0x3e7f05d1, - 0x3f4f6ae7, 0xbf39f526, 0xbf00727f, 0xbee8425f, - 0xbddf7e05, 0x3f031694, 0x3da2ba19, 0x3e00cee2, - 0x3e578e05, 0xbeab3fa2, 0x3e85ff1f, 0x3ee436f7, - 0x3e926fc7, 0xbe71bc25, 0xbf9e2614, 0x3e627f76, - 0x3e1873b8, 0xbe2b008f, 0x3e2b02b0, 0x3d95e943, - 0xbe8a0fde, 0xbe0e4447, 0x3f12400f, 0xbe924384, - 0xbf09256e, 0x3e0e14e8, 0xbe17a176, 0xbeb6fc82, - 0x3f29b5c5, 0xbf530b98, 0x3c7dee49, 0x3e06a17b, - 0xbf247402, 0xbbf26140, 0xbe9a18a3, 0xbbfc9435, - 0xbf5b6578, 0x3f96dadb, 0xbe3c9f45, 0xbf23a9cf, - 0xbebe019f, 0x3e0c24d2, 0x3f1eebbb, 0xbe97ee77, - 0x3ebb6cbf, 0x3d8d3d0a, 0xbeea8552, 0x3d1cd69b, - 0xbd538dbc, 0xbe48290d, 0x3d2bc9bf, 0xbda088cd, - 0xbd916af5, 0x3ce57bc6, 0xbd71fd77, 0xbee2d303, - 0xbd9b3d65, 0x3f62e22e, 0x3eb3a0df, 0x3e615b76, - 0x3f4b7e06, 0x3ea6f317, 0x3caf00e7, 0x3ee86468, - 0x3e373e7f, 0x3f26ed08, 0x3ef7c5fc, 0xbf2e14b5, - 0xbe9a5858, 0xbf0cdff5, 0x3e4a063b, 0xbec443ab, - 0x3f4c6ca0, 0x3f2279a7, 0xbda6b02c, 0x3eb6ebbd, - 0x3f0f7c74, 0x3ef4045c, 0xbe15208d, 0xbeb426b8, - 0xbd9e9424, 0xbf83e6d0, 0x3ee71994, 0x3f20df5c, - 0xbe9ce4f7, 0x3e4df233, 0xbe907eca, 0xbd38f8b2, - 0x3e0c838f, 0x3e75d166, 0x3dbde223, 0x3f3c07d5, - 0x3ee941cd, 0x3de6c902, 0xbf269e12, 0x3e3abeb6 + 0xbd407442, 0x3e6e5862, 0xbd7ff33a, 0x3e5e1c2b, + 0x3e9e8312, 0xbf2cbe4e, 0xbf1b92da, 0x3e237960, + 0x3d15447d, 0x3e0489fe, 0xbc7cefa6, 0x3f015dee, + 0x3eba1743, 0x3d7efb40, 0xbecb20e5, 0x3ee0c1cc, + 0x3e30b219, 0x3e24fc7b, 0xbf0846fb, 0x3f03c580, + 0xbeea5f18, 0xbe68d308, 0x3e54a7b5, 0x3e54d97f, + 0x3f8341a9, 0x3e318e70, 0xbcd098c3, 0x3f299b37, + 0xbea20fe0, 0xbd393407, 0xbe58d046, 0x3f08c0a5, + 0x3e90f941, 0x3efcacd9, 0xbdc537c3, 0x3e518fb5, + 0x3f5f388d, 0x3f394584, 0x3ee7d1e8, 0xbf2f619b, + 0x3dd88c44, 0xbfb41fd5, 0x3f6a6127, 0xbe5a9f1c, + 0xbf29de80, 0x3ef7a079, 0xbf10e8b9, 0xbe0ec3b8, + 0x3ef9eb4f, 0xbe6e199f, 0xbec8f182, 0xbf29f9ac, + 0x3e755bed, 0x3e113306, 0xbe614078, 0x3d90d89c, + 0x3e582561, 0x3f3aeb48, 0x3e5c468c, 0x3cf74822, + 0xbe2c6c2e, 0xbe29f708, 0xbe95a06b, 0x3e9673bf, + 0x3e3f9f09, 0xbe604ca4, 0x3f0091db, 0xbe478081, + 0xbdae64c7, 0x3d0df6ad, 0xbf2e5038, 0xbec2d7be, + 0xbeef7d76, 0x3d130ec9, 0xbee8f42a, 0xbef4426a, + 0xbe250f8c, 0x3f31d9b5, 0x3ea88db7, 0xbeffd187, + 0x3de6e32a, 0x3dd8cb71, 0xbd877822, 0x3ee8f435, + 0xbe1ad7d5, 0xbe6a914e, 0xbe1471ba, 0xbe02deb2, + 0x3e48cf24, 0xbe14db2e, 0x3e568c7e, 0xbef1945c, + 0x3ecd83b5, 0x3f2d4aca, 0xbd8eb334, 0xbf12d4e1, + 0x3eecae31, 0x3d8c62da, 0xbf1f9d41, 0x3e2f3814, + 0x3d20d984, 0xbef88395, 0xbf5a8f8e, 0x3e712791, + 0x3e2fe7f0, 0x3e008eb3, 0xbf22bd13, 0x3e062b1a, + 0x3eef19fa, 0xbea7f30d, 0x3f84bf06, 0x3e687b5a, + 0x3f3e7a9a, 0xbe23f2dc, 0xbb8dcf5c, 0x3f3ba23e, + 0xbee3570a, 0xbe85e478, 0xbe803143, 0x3f4207db, + 0xbcaf2159, 0xbe995869, 0x3f0303bd, 0xbe8a8e7e, + 0xbeb50fb5, 0x3eb8b222, 0xbe4ba2ea, 0xbecf0263, + 0xbf0e6b1f, 0x3d3391e4, 0x3eab6df6, 0xbf1c4e44, + 0xbecb1856, 0xbee5ccfc, 0x3e0f14aa, 0x3e94f515, + 0xbf235044, 0x3efb8fc0, 0xbdaf21eb, 0xbf4bfa33, + 0xbf8cbe9c, 0x3ea63f3b, 0x3f1a73ae, 0x3efd0a86, + 0x3f090441, 0x3e013b8d, 0xbe6696e9, 0xbeab515f, + 0x3d08c021, 0xbeacace5, 0x3e1782ee, 0x3f015ce5, + 0x3ec5e43a, 0xbf38c0c7, 0x3f0370b4, 0x3d717d19, + 0xbf069e03, 0xbe16bb35, 0x3e42a140, 0x3ec707e7, + 0x3c9f07ba, 0xbe9bb4c8, 0xbd985638, 0xbeb03f16, + 0x3cba6c6b, 0xbec2419d, 0xbd774b78, 0x3eb8be9d, + 0xbf35d619, 0x3d9cd3c4, 0xbee816d6, 0x3eecd067, + 0x3ea337f1, 0x3f0af39c, 0xbe167b5a, 0xbf28e8f8, + 0xbd2e3a53, 0x3f42852f, 0x3ea86100, 0x3f2aa419, + 0xbe4df8be, 0xbf325ea3, 0xbe01d8be, 0x3ce95415, + 0xbe0173d0, 0x3ecfffd4, 0xbe52a7c0, 0x3b86fb33, + 0x3e62aa0b, 0xbde359f7, 0xbe58f634, 0xbc004306, + 0xbe974c5a, 0xbe49b934, 0x3e389a41, 0xbef2160b, + 0xbeb0d0f6, 0xbf3a4fbf, 0x3efd0d9f, 0x3f18c4f1, + 0x3eb1819e, 0xbe9b47f8, 0x3ab0ab02, 0xbec9e097, + 0x3f0ed7ad, 0xbea8e265, 0x3ea76e74, 0xbe4cee8b, + 0xbd09eac7, 0x3da7bf90, 0x3d85f78f, 0xbed40782, + 0x3f58ac3f, 0xbe82ce37, 0x3ed362ba, 0xbe2c8177, + 0x3eeb4ede, 0x3df9a084, 0xbf4c1aa0, 0x3e51d26b, + 0xbe3dc52b, 0x3f0c1a72, 0xbeee2794, 0xbe90bcce, + 0xbed93b08, 0x3ce6f317, 0xbe43cc96, 0x3e6f0ecd, + 0x3e226763, 0x3e909b6f, 0x3f62f7e5, 0x3ce04e50, + 0x3f00424f, 0xbe86f9f0, 0x3f6c98c7, 0x3f05cc01, + 0xbd697145, 0x3f862fe3, 0xbe9b43bb, 0x3f420ad5, + 0xbeaedaad, 0x3eefc5d2, 0x3ef5097b, 0x3f44af4b, + 0x3da6afd8, 0x3f009c62, 0x3ef51195, 0xbe00c85d, + 0xbf1245d4, 0xbf815020, 0xbe63c663, 0x3f2bb81d, + 0xbe9c2648, 0xbf090d7b, 0xbf1ff927, 0xbf0a146c }; static const uint32_t ref_sub[256] = { - 0xbee99903, 0xbef1f4db, 0xbf2844ed, 0xbdaa107b, - 0xbedd4d3b, 0xbeca72ac, 0x3e6bf5e9, 0x3ddca04b, - 0x3f145c79, 0xbe281479, 0x3c0cae04, 0x3e3e5ada, - 0x3ea0a102, 0x3ecdcce2, 0x3f32f204, 0xbebe0df6, - 0x3f34a3d6, 0x3ee9c55f, 0xbecbbcf5, 0x3f52090e, - 0xbf284963, 0xbce39dd3, 0xbe9bf1aa, 0xbedf9dee, - 0x3f044cfe, 0xbf961268, 0x3f56e74f, 0x3e970b76, - 0xbecb5aba, 0x3ed02e5e, 0x3f20bf89, 0x3dbe16f8, - 0x3f836346, 0x3e0708aa, 0x3ecd5fca, 0x3eb5f864, - 0xbf81d70f, 0xbdc1758d, 0xbf5f06b3, 0x3ebe975b, - 0x3e52596c, 0xbeb30257, 0xbedcebc8, 0xbf9b8643, - 0xbeecd737, 0xbefa16ed, 0xbe110368, 0x3eb3058f, - 0xbd25f893, 0xbf90495a, 0x3ba37686, 0x3f5be2fc, - 0x3ef2a82b, 0x3e37a281, 0x3ea6cc85, 0xbf8c1115, - 0xbe4dff67, 0x3f33943b, 0x3def2f76, 0xbfb03866, - 0x3e3f79f9, 0xbe94839d, 0xbedbc5d6, 0xbbf41238, - 0xbf251156, 0x3daf384f, 0x3f4feb94, 0x3f001b23, - 0x3de57129, 0x3e2c1579, 0x3f1cda1f, 0xbeb806b7, - 0xbdaa1fa8, 0xbebe588a, 0x3f3d6d2a, 0x3f01636d, - 0x3cda3fe7, 0x3f16f428, 0x3e51bd96, 0x3f030330, - 0xbd828af7, 0xbedbc0c0, 0xbfa6abf8, 0xbdd96e5b, - 0x3e685a9a, 0x3e4d929a, 0x3f04608c, 0xbe17ffc4, - 0xbc8d25f2, 0xbf0e1220, 0x3f466212, 0x3eaedc09, - 0x3dc63ea8, 0xbe176a56, 0x3cb39262, 0xbf019a79, - 0x3f2637f7, 0xbe5e5ac9, 0xbf205f65, 0xbf357a42, - 0x3ec601b6, 0xbed4dcfc, 0xbe9df9be, 0x3cb6d1a0, - 0x3eab3f4b, 0x3d55f6e8, 0x3ea26b35, 0x3f451cff, - 0x3eda344f, 0x3ef24f27, 0xbe3e51d7, 0xbe9ff77f, - 0xbe863a50, 0x3d347f5a, 0xbf2f386d, 0xbe180642, - 0xbe8fa00b, 0x3ec371c4, 0x3f074840, 0x3edeca1f, - 0xbe9908ae, 0x3f41e16b, 0x3f62ba67, 0x3e55b681, - 0x3f088a54, 0x3f22082f, 0xbe321bc5, 0xbeb2d931, - 0x3b2dfd82, 0x3e9c610f, 0x3f2d0db4, 0x3ecbb5d3, - 0x3eebce3e, 0xbdc4e963, 0x3f561af5, 0xbf3105a8, - 0xbe068ede, 0xbe42448c, 0xbe873563, 0x3e84cf50, - 0xbee2b439, 0x3ecbb191, 0xbef59250, 0x3e355808, - 0x39fdcdab, 0x3e91284b, 0xbf08c440, 0xbd60a3e4, - 0x3eb6ca71, 0xbe4003f0, 0xbe4218d9, 0xbe06ce31, - 0xbf3976e4, 0xbed7705b, 0xbe134b9c, 0xbeffd0fc, - 0x3e9ddabf, 0xbef34034, 0x3f19b889, 0xbef962ba, - 0x3e934cb6, 0x3e3877e3, 0xbd8d130a, 0x3f022f6e, - 0x3e8c0289, 0x3e867b95, 0xbf043a77, 0x3f61f2a6, - 0xbeb76a62, 0xbf326ad2, 0xbd5d2070, 0x3e22a62f, - 0xbe4b52ed, 0xbe575cc2, 0xbf34e0e7, 0x3eab3e39, - 0xbf34e8c4, 0xbf1fa7e5, 0x3f30352b, 0xbe9f4383, - 0xbe1570fc, 0xbf14d4d7, 0x3dc5430f, 0xbea79e66, - 0xbeba2472, 0x3e807d75, 0xbeebe586, 0xbf7ad021, - 0xbf1ed3e4, 0xbc735036, 0x3d62023e, 0x3e05b70f, - 0x3e541929, 0xbf9d56b7, 0x3e15d225, 0x3db47b39, - 0xbedfdec7, 0x3f524a4a, 0xbf3d5f67, 0xbf8229b2, - 0x3f76a8b4, 0xbd7e386b, 0xbed35056, 0xbe9cd7ef, - 0xbe19fec6, 0x3f43c4a1, 0xbf20c66e, 0x3e9f969b, - 0xbe256171, 0x3e59ae35, 0x3e571b2d, 0xbe981b07, - 0xbd0001fc, 0xbeb0d2b8, 0xbde1e963, 0xbeaba422, - 0x3f25db97, 0xbeb0ca56, 0x3e1edf36, 0xbdad16ab, - 0x3f572c79, 0x3d112297, 0x3e9bb0f8, 0x3ec794ec, - 0x3f159517, 0x3cb6387a, 0x3f233215, 0xbf8f0915, - 0xbe8a8f33, 0xbe7f1959, 0xbeebbcc8, 0x3e39cc6a, - 0xbe2c702b, 0xbe187827, 0x3ea59417, 0xbe2ad186, - 0xbee9fdbb, 0x3f81d0f1, 0x3e892a5d, 0xbe1ba8a2, - 0xbe92b250, 0xbf13a272, 0x3f9909a4, 0x3da316af, - 0xbf493c90, 0x3f0a0eb5, 0xbed585aa, 0xbf39c4ea, - 0xbd065097, 0xbddd1a55, 0x3d0eabd9, 0x3ecfc010, - 0x3ed77ee4, 0xbd2050ff, 0xbdb75507, 0xbec21713 + 0x3f8013ed, 0x3e962efa, 0xbe9ea9e0, 0x3da5699a, + 0xbd68da70, 0xbe816a7c, 0xbacdf50a, 0xbe2b1173, + 0xbe93d3ec, 0xbe882ea0, 0xbecedb0b, 0xbe2e8915, + 0xbe7d9112, 0x3f15cdde, 0xbdfecd4e, 0x3e15f8a4, + 0xbe2b9c76, 0xbe6af0f3, 0x3f179788, 0xbe536703, + 0x3e9441cd, 0x3d9c354a, 0x3e8f6311, 0xbd9585c3, + 0x3f148917, 0x3c2da67f, 0x3e450dbf, 0x3eb20976, + 0xbee13875, 0xbf6a4ab0, 0x3e2cd6ec, 0xbe4eb260, + 0x3e918edd, 0x3e9d9dc2, 0xbefc2eef, 0xbf3d4cf5, + 0x3d91bf81, 0xbebb19dc, 0xbcb34677, 0xbeaa275d, + 0xbed8e6d6, 0xbee355b5, 0xbcd19c9e, 0x3e1c3e77, + 0x3cba92d2, 0x3e90497c, 0x3ecc5edd, 0x3f10d001, + 0x3e939dc9, 0x3ed01206, 0x3e9253d4, 0xbcf4218f, + 0x3dcf0ba5, 0xbeeda53f, 0x3e581c56, 0x3ebfb21b, + 0x3ea11015, 0x3f3f02fc, 0x3e0cabae, 0xbed72dad, + 0x3e6fabe0, 0xbf359c69, 0xbe2083ee, 0xbf852f73, + 0xbeac128f, 0x3e1b95d2, 0x3de4a7f5, 0x3e9b74f7, + 0xbf414fb9, 0xbe23665e, 0xbec2945e, 0xbf1aa2e5, + 0xbeb16db8, 0xbda27043, 0xbe61c9d4, 0xbe5a99ca, + 0xbed069ac, 0x3e38491a, 0x3f25e148, 0x3e80cdcc, + 0xbe018525, 0x3f37a2a7, 0xbf3f8385, 0xbf8465cd, + 0x3efe63df, 0xbe91d192, 0xbf227faf, 0xbdfbc9b5, + 0x3ef201cd, 0x3f1f3c46, 0x3e06aad9, 0x3ee4d843, + 0x3ec0de83, 0x3f1c59d8, 0x3f40cd80, 0x3e7f49e6, + 0x3e63b22e, 0x3d8c4187, 0x3e43b10c, 0x3f59ab1c, + 0x3ea3866b, 0x3e0f2404, 0x3ea1fac3, 0x3e45c9a2, + 0xbdf915e0, 0xbf3011f2, 0xbfaea177, 0x3e995ee1, + 0x3e89c2ad, 0x3c50fff6, 0xbd0a3ad1, 0x3f37b9ac, + 0xbf08de72, 0x3ecda957, 0xbe19332e, 0xbc8c7e35, + 0x3dcdd81e, 0xbef27101, 0xbe2b42e8, 0xbe0642c7, + 0xbd73c9cf, 0xbf09beec, 0x3e90c02e, 0xbeb66c15, + 0x3df2984f, 0x3f657847, 0x3e877f8a, 0x3f38722f, + 0x3ea8a861, 0x3f6cad76, 0xbf3de027, 0xbe95246f, + 0xbd8a6fb8, 0xbcc387bf, 0xbf068d99, 0xbe7faae2, + 0x3d677212, 0xbeb9b6e8, 0x3e07e739, 0xbf30100d, + 0x3f42bc62, 0xbf035c14, 0xbcad5612, 0x3ea17e8d, + 0xbf07d876, 0xbc9524a9, 0x3b2a0931, 0xbdeab5f3, + 0x3d665c7c, 0xbef54b29, 0xbe122bd4, 0x3e320b40, + 0xbf126dce, 0xbe406a7f, 0xbb652497, 0x3e2eeff4, + 0x3fbcb0fe, 0xbdf67def, 0xbe92131e, 0xbf1cde4e, + 0x3e20e669, 0xbed5eb1c, 0x3efd4fd5, 0xbeffa38e, + 0xbeb79b7e, 0x3e62a105, 0x3f8054ed, 0x3d3fe7ae, + 0xbde0e52f, 0xbf2c9d11, 0xbe891024, 0x3f657f34, + 0xbeab8802, 0xbe18918b, 0xbcba5ca3, 0x3f35db15, + 0xbee6a29e, 0x3f394940, 0xbd1ee11b, 0x3edd4645, + 0x3e3e4f78, 0x3f4f6012, 0xbda66db7, 0xbe6f25fd, + 0x3c2bea0d, 0x3e8127d3, 0x3f5aa0b8, 0xbd096a1d, + 0x3f05aca6, 0xbe43cb84, 0xbe8ad54a, 0x3e3372d7, + 0xbecb7d1b, 0xbef1a384, 0x3ed5309e, 0xbf3d673f, + 0xbde55807, 0xbc2a3383, 0x3c5af3ee, 0x3d55dffc, + 0x3dba7b80, 0xbe86dd56, 0x3f078e28, 0x3dc9ba21, + 0x3eef1153, 0x3d5bc3d7, 0xbed5b035, 0xbeaff0d5, + 0x3f013743, 0xbf04b865, 0x3e894cf4, 0x3ef6ec09, + 0xbdedfa3e, 0xbf0989a3, 0xbf099332, 0x3f047eec, + 0xbf3d0d95, 0xbd6a1114, 0x3d5ec7f0, 0x3df84041, + 0x3ed0c15f, 0xbd62f7ac, 0x3e93e2bb, 0xbebb996b, + 0xbdd69661, 0xbead7d47, 0xbd3eac45, 0x3ef519dd, + 0x3eb3e177, 0xbd3f036f, 0xbe0829e9, 0xbe230412, + 0x3f89064f, 0xbb52044e, 0x3d522a78, 0x3e0f0c70, + 0xbf2f3a04, 0x3e0614df, 0x3e265535, 0x3dae4192, + 0x3cd6479e, 0x3eb1f60c, 0xbd48cb07, 0xbefb27a1, + 0x3d7c7da5, 0xbf28f100, 0xbe0a5fdd, 0x3f7ecb1d, + 0xbd63371a, 0xbec42106, 0x3f0eebd7, 0xbe4e5a7f, + 0x3d7cd7c0, 0xbee83527, 0xbf119e35, 0x3d22a8f9 }; static const uint32_t ref_mult[256] = { - 0xbc580b77, 0xbd625270, 0xbdbaf14c, 0x3d0cbb69, - 0xbd2a1d39, 0xbc183330, 0xbc10492e, 0x3c35c6a4, - 0xbd90b371, 0x3bc41c2a, 0x3748f87b, 0xbc099a0b, - 0x3c868173, 0xbb8b0b1f, 0xbdced667, 0x3c28201f, - 0x3e10c163, 0xbc392621, 0xbd0212de, 0xbe0c5807, - 0x3d72dd51, 0x3e5d02ba, 0xbbe68658, 0x3bfdae08, - 0xbd87624a, 0xbe89ca8a, 0xbe346387, 0x3de0e936, - 0x3d9248c7, 0xbcaec2d4, 0xbdaaf26c, 0x3d8f8db9, - 0xbe863607, 0x3ead5a4d, 0xbc155175, 0xbc7110cb, - 0xbe81b438, 0x3cfdf586, 0xbdcd48df, 0x3ed8111e, - 0x3d1c0ef2, 0x3e2343a5, 0xbd3da7db, 0xbeb5013b, - 0x3db98688, 0xbc8c656b, 0x3c5b879f, 0xbcbfa6b9, - 0x3d0c8c24, 0xbe024acf, 0x3addcf96, 0xbdcca706, - 0xbd5eea51, 0x3d1ce08e, 0xbcd82352, 0xbe2c4b2d, - 0x3c88e2e3, 0xbdf3df79, 0xbab085af, 0xbece1e82, - 0x3d7c4518, 0x3cc96c5d, 0xbd19bdb3, 0x3a51c4eb, - 0xbdd4cc24, 0x3cff34e9, 0xbe28788c, 0xbd7ee74e, - 0x3bdd5cd1, 0x3cdeb25c, 0xbdb87dd2, 0xbbae33b7, - 0xb9dfc195, 0xbce7305c, 0xbe0ae69a, 0x3deedeef, - 0x3d70dac3, 0xbdb2036d, 0x3d600c23, 0x3bdf0e1e, - 0x3c21bf31, 0xbd2314df, 0xbed660d6, 0x3e390f27, - 0x3e2f1833, 0x3ec64847, 0xbd88558f, 0x3be6665c, - 0x3e47bd6e, 0x3dd57775, 0xbc9ae57b, 0x3ea9cb21, - 0x3dd5d666, 0x3e29ba0b, 0x3d7539c6, 0xbd2437aa, - 0xbdadf86b, 0x3df8e670, 0xbdc46db6, 0xbdd1da6f, - 0x3da6c9a1, 0xbd109e96, 0xbcb792e9, 0x3cfd176d, - 0xbce19385, 0x3b1ac76e, 0x3d8bfc75, 0xbe056e15, - 0x3c079c49, 0xbd655820, 0x3e0ac3b2, 0x3b16fd29, - 0x3cd0f471, 0x3e35c7d1, 0xbdb64410, 0x3dc33011, - 0x3d2e24b1, 0xbd0f1d2e, 0x3d820e19, 0x3cec420d, - 0x3e8470b2, 0xbd91adfd, 0xbe47ac76, 0x3980ba83, - 0xbd8fe749, 0xbd988263, 0x3c9be1bf, 0x3d0cbefe, - 0x3d835441, 0x3e0c0043, 0xbdda7c49, 0xbd204b9a, - 0xbd0e1305, 0x3b0c61ce, 0x3e0aaa60, 0xbddf6208, - 0x3d94ee7f, 0x3d98d787, 0x3bede130, 0xbc4c5dc8, - 0x3c9dcfad, 0xbd1dadcc, 0x3d300ed8, 0x3dd0a6b1, - 0x3bedd5c4, 0xbc9b0be6, 0xbd918499, 0x3e503d71, - 0x3da9df6b, 0x3d0d4c1d, 0x3dd2ade3, 0x3bbca250, - 0xbdf74562, 0xbcc82cc6, 0x3e173f55, 0xbd351051, - 0xbc3cddef, 0xbc36b0a6, 0xbda13622, 0xbd336e0e, - 0x3e12ddc2, 0x3dfd8ae6, 0x3d7ceeea, 0xbc5861d5, - 0xbc80c1f3, 0x3d45dada, 0xbd855d2f, 0xbe435f76, - 0xbcac129d, 0xbdbf6a69, 0x3c864e20, 0x3d319c44, - 0x3c2d921f, 0x3b3c5b64, 0x3e837f88, 0xbc80e5b9, - 0xbdf4571b, 0xbdb8dcc2, 0xbde44ab9, 0xbcbb30b2, - 0x3c5297b9, 0xbda32b99, 0x3da25a40, 0xbbd177b3, - 0x3d1e8b5c, 0xbc331b97, 0xbd42eb3a, 0xbe550829, - 0x3c5f7424, 0x3e2deda9, 0xba37c9e7, 0x3875b98a, - 0x3dbd5278, 0xbec16529, 0x3c8dac28, 0xbafc889f, - 0x3e0b154b, 0x3e36d6da, 0xbe03665c, 0xbe2017d1, - 0xbe4a6710, 0x3b73c42b, 0x3d5c31c9, 0xbabd9675, - 0x3ce41ed9, 0xbe147d73, 0xbd3d0a8d, 0xbcc3f828, - 0xbbbfd324, 0xbae4c515, 0xbc2d8a36, 0xbca82acd, - 0x3a8533ad, 0xbcf2a969, 0xbb0e2c47, 0x3cabc922, - 0xbdd3f880, 0x3e2a8e6c, 0x3ccac896, 0x3c291ffd, - 0xbc98d4fa, 0x3cd72e10, 0xbcbc7048, 0x3c5d7518, - 0xbd9e687b, 0x3dd96fa9, 0xbd30539e, 0xbe494c6f, - 0x3b907da8, 0x3d768a00, 0xbd3138ae, 0x3ce982d6, - 0x3e1bfade, 0x3dc2e286, 0xbcc89f57, 0x3ccc6a9a, - 0x3cd7a27d, 0xbe4d2ae3, 0xbc4f1a90, 0x3cce3a20, - 0xbc9bd858, 0x3e3ab42f, 0xbe9ce528, 0x3dc6f0bc, - 0xbe062632, 0xbd8031ff, 0xbcc111a4, 0xbe06488c, - 0x3b917142, 0x3c3c4cda, 0x3af1edd3, 0x3dbfeaec, - 0x3bf913ad, 0x3b36f478, 0x3dd4c86d, 0xbce2311e + 0xbe7fbf0d, 0xbc0283e0, 0xbcbcad0e, 0x3c25fc8b, + 0x3cbdadb5, 0x3dc86a4f, 0x3dbd15fd, 0xba1ec87c, + 0xbca801da, 0xbc5d27b0, 0xbd26e6c7, 0x3d67bf8a, + 0x3c90f797, 0xbdad56a5, 0x3d11536f, 0x3d2f5cdf, + 0x39dd5f38, 0xbbda91d2, 0xbc89c4eb, 0x3d63aa29, + 0x3d00b5d5, 0x3c3beaec, 0xbc10991c, 0x3c1b23b4, + 0x3e370244, 0x3bf560f8, 0xbc150647, 0x3da2d405, + 0xbcbf1864, 0xbe55e6a4, 0x3b85dd3d, 0x3d7a7c1d, + 0xb929ca78, 0x3d1859df, 0xbd6eed81, 0xbe0141f9, + 0x3e4157a7, 0x3dc7cbb3, 0x3d516ef2, 0x3db7c108, + 0xbd2c538a, 0x3ee43d6b, 0x3e566ad7, 0x3bb6ae5d, + 0x3de12b11, 0x3d1e344e, 0x3d24f33d, 0xbd99e19e, + 0x3d1edd02, 0xbce380c4, 0x3c942d0c, 0x3de142c8, + 0x3c414c20, 0xbd4804ab, 0x3a7c28f5, 0xbd0a6bfb, + 0xbc5ed5d7, 0xbbc156fe, 0x3be07a35, 0xbd33eee5, + 0xbbd881a6, 0xbdf39215, 0x3c792b56, 0xbe7f0e64, + 0xbc9f9a8b, 0x3bcbeee2, 0x3d7584ff, 0xbc5e225b, + 0xbe101e19, 0xbbc6bfd5, 0x3da36fb0, 0xbd6155d8, + 0x3cca2530, 0xbaa3e78d, 0x3d22325c, 0x3d3a6419, + 0xbd0f10a0, 0x3de68865, 0xbd9f7b32, 0x3d3ed4a5, + 0xba578359, 0xbe00db93, 0xbe0e26c4, 0xbe5ce5af, + 0xbd65603d, 0xbbea9cab, 0xbdc3893c, 0x399fb494, + 0xbd3d6653, 0xbdbb4616, 0x3bd9efc5, 0x3bbb35e3, + 0x3b9d6d6e, 0x3cae8460, 0xbe0ff6b8, 0x3d889c7a, + 0x3d283043, 0x36121dcc, 0x3db45687, 0xbe3194ac, + 0xbccdc060, 0x3d5d3ce5, 0x3e20f977, 0x3b94b726, + 0x3b712023, 0xbdea1f7b, 0xbeba85da, 0xbc949c84, + 0x3d152f92, 0x3cdc08b2, 0x3e8985c8, 0xbded51fd, + 0x3d891a38, 0xbd0af8db, 0xbbb73528, 0x3e097327, + 0x3d3f8b3c, 0xbd1f92a6, 0x3c0e32c0, 0x3e0ea949, + 0xba4a3517, 0xbd4c9ccf, 0x3d3a5a8c, 0xbc5bffb1, + 0x3ce361e2, 0xbe2c6044, 0xbbf9c68e, 0xbdb6163e, + 0x3d4dce9c, 0xbe5a5251, 0xbde04371, 0x3d936d3e, + 0x3d1c71d0, 0x3d4db307, 0xbd837213, 0x3bb6b692, + 0x3dcebc22, 0x3ce0f2a9, 0xbb28c758, 0x3d25c2bc, + 0x3e216211, 0xbd21a766, 0x3dba2415, 0x3d143d60, + 0x3a9fc551, 0x3b7f860d, 0x3c4fac75, 0x3cca657b, + 0xba063d9d, 0xbced2054, 0x39c6b638, 0x3d668618, + 0xbd360cad, 0x3df89760, 0x3d86f77a, 0xbbd29c89, + 0xbef2c3f9, 0x3aeb52cc, 0xbc396e73, 0xbd65c178, + 0xbbc72b51, 0xbca81955, 0xbd74fc7b, 0xbd05f06e, + 0xbd0327eb, 0x3cc27eac, 0xbe8032a1, 0x3d031321, + 0x3dfc2455, 0xbde5c647, 0x3d09071f, 0xbe16f898, + 0xbb2deb1d, 0x3d8b7973, 0x3bacac3d, 0xbc8de765, + 0xbd4dee4d, 0x3c5b32c5, 0x3cda6a14, 0x3d83db82, + 0x3ac1f21a, 0xbd2ed310, 0x3b1b3e23, 0xbc5c154c, + 0x3b8204f2, 0x3ccfad20, 0xbe2fe0a5, 0xb9914c1f, + 0xbd65073a, 0xbbc68b05, 0xbbea9461, 0xbbfb1312, + 0xbc90a8fa, 0xbd3c5830, 0xbd104269, 0xbda5cc62, + 0x3cda9126, 0x3e0790e8, 0x3d79f51d, 0x3db4ef90, + 0x3ce52e05, 0x3bb91e25, 0xbd8f8e3c, 0x3d154315, + 0x3cbf1d1b, 0x3cd8ee94, 0xbc89bace, 0xbc9fcfc5, + 0xbd81dce0, 0xbd862dff, 0xbc8a8383, 0xbc7a3833, + 0x3e33ee39, 0xbd64bc55, 0xbcf25f38, 0xbd753cfa, + 0xbdab152b, 0x3b3de8d7, 0x3e21f892, 0x3bdf943a, + 0xbd070f9d, 0x3d97c76a, 0x3d081f71, 0xbc5e922a, + 0x3d2d1724, 0xbce9846c, 0x3c0ce10d, 0xbd32db5b, + 0xbcc946a3, 0x3c9eea45, 0x3e44b3d7, 0xbbc97815, + 0xbe651ca2, 0x3c8e4fd3, 0x3e59fd81, 0x3d81dd5a, + 0xbdee36ff, 0x3e8a7a87, 0x3c864cdf, 0x3e1139f7, + 0x3ced7545, 0x3cc9b99e, 0x3d68152e, 0x3db30667, + 0x3a391a7a, 0xbd3b81c3, 0x3d57e7c8, 0xbe798b1f, + 0x3da5941c, 0x3e5fb6c0, 0xbd863fc9, 0x3dd1943d, + 0x3cb6af8f, 0x3ca5bab0, 0x3c8916b6, 0x3d942557 }; static const uint32_t ref_negate[256] = { - 0x3ed9b88c, 0x3e85457e, 0x3eea7eca, 0xbe17ff06, - 0x3e13a549, 0x3ebd9ab7, 0xbd4621a0, 0xbe304cf9, - 0xbecf6e8a, 0xbcfb9c49, 0xbc20b0c2, 0xbd9e9753, - 0xbeb804d3, 0xbec83ed3, 0xbefd6b24, 0x3ecb497f, - 0xbf5e5006, 0xbedc5354, 0x3e932caf, 0xbe6f1bca, - 0x3f3cdc98, 0x3ef5150a, 0x3cce44bf, 0xbc8bbfeb, - 0xbe6e3187, 0x3f5bf5b0, 0xbed8e7ba, 0xbf029f23, - 0xbe0999d9, 0xbd7d7bec, 0xbe43a8ac, 0x3e63b80e, - 0xbf0c89d7, 0xbf26caf1, 0xbcc61078, 0xbe9d7a43, - 0x3f11d9bd, 0x3e6b0910, 0x3f3c1a71, 0xbf5ca444, - 0xbea58469, 0x3f1c56e1, 0x3e4cf9e1, 0x3f3b7337, - 0x3f1c622f, 0x3ee69b8f, 0x3e5374ec, 0xbe84dcc3, - 0xbe2a11b2, 0x3e024acf, 0xbd330647, 0xbe0e15ae, - 0xbe480aae, 0x3e009dc2, 0xbe334c22, 0x3f68c25a, - 0x3e875c17, 0xbed3b7b6, 0xbc548a11, 0x3f748f6a, - 0x3e2fd359, 0x3eb79e06, 0x3e9d2b22, 0x3d041f20, - 0x3ea20579, 0x3e0e2a95, 0xbec5ceab, 0xbe6c7b5a, - 0x3d31f74a, 0xbe89c4be, 0xbe7ad9a8, 0x3eb01cf0, - 0x3d9edaf0, 0x3dd9ba24, 0xbeab6ed8, 0x3e304596, - 0x3e6b0bad, 0xbe95ce13, 0x3e1c9356, 0xbf065558, - 0xbd946da2, 0x3e9651bb, 0x3f3915ce, 0x3ef6870f, - 0x3ea173fa, 0xbf3b112f, 0xbe77acc4, 0x3e3eaadd, - 0x3ee694b7, 0xbe17c8c6, 0xbcce9b87, 0xbf457b95, - 0x3e8e81e6, 0x3ef9b5b7, 0xbe8303c4, 0x3ed0e513, - 0xbe3a01e8, 0xbe835bd4, 0x3e885c96, 0x3e4f18fd, - 0xbf09bfc9, 0x3e97f387, 0x3def8fe3, 0xbe3fc6ce, - 0xbe15fd87, 0xbda67ba3, 0x3e16b70b, 0xbf04d196, - 0x3c98718e, 0xbe7109c9, 0xbe92cf6d, 0xbbec2f09, - 0xbd9ab0f9, 0xbee34c27, 0x3f028a75, 0x3ec89316, - 0xbddf7863, 0xbe6af544, 0xbf211d0d, 0x3d6f5644, - 0xbec2e505, 0xbf25c1a7, 0xbed1b8fb, 0x3a995722, - 0xbe977e94, 0xbe1ff3c3, 0x3e8004d9, 0x3edbd344, - 0xbe8255d6, 0xbf0d820c, 0xbed990f7, 0xbe3635bd, - 0xbebb3eaf, 0x3deb1f92, 0x3e0e30dc, 0x3e79480d, - 0x3eafbf87, 0xbe46fdbd, 0x3e940fc2, 0xbe485488, - 0x3ef72346, 0xbe2a25f2, 0xbd9e174c, 0x3e7884fa, - 0x3dadfbe0, 0xbddc52a5, 0x3e7fc774, 0xbed9465c, - 0x3e242d8e, 0x3e9a872c, 0xbe756c14, 0xbd0dd074, - 0x3e850f07, 0x3eb3d0d6, 0xbea35d49, 0x3deb4d45, - 0xbe879031, 0x3ee692d3, 0xbe45fce9, 0x3df3bfa2, - 0xbf0c88a1, 0x3e8bd72d, 0x3e9214e0, 0xbce0e3eb, - 0xbda84610, 0xbec6545f, 0x3e5fc667, 0xbf011330, - 0x3d9746c0, 0x3f040552, 0xbdd4b622, 0xbe9ac507, - 0xbd331941, 0x3e648c74, 0x3f789687, 0xbe8e3efa, - 0x3e8ecbd6, 0x3eca6809, 0xbedaf5d7, 0x3df39265, - 0x3e54c85b, 0x3eb865e9, 0xbeaae871, 0x3e9cf0f5, - 0x3ee637a7, 0xbe4787e9, 0x3e9bdb21, 0x3f2b2731, - 0xbcae1e0f, 0x3ed6d8d9, 0xbd10bee8, 0xbe062c45, - 0x3e5edb6f, 0x3f1e4918, 0x3d9e5f22, 0xbd24b1f6, - 0x3f25aa6e, 0xbf800000, 0x3eec8738, 0x3f53fe99, - 0xbe97a7e5, 0xbd192d6e, 0xbdd50e40, 0x3e9a6333, - 0xbddcdab9, 0xbed56c42, 0x3f0b048c, 0xbe33316e, - 0x3dda44e0, 0xbc0c2945, 0xbe0106ce, 0x3e403d3b, - 0x3d516bf3, 0x3e227afc, 0x3dad740f, 0x3ec73b93, - 0xbe9273eb, 0xbe8a7d04, 0xbe81883d, 0xbd8ad021, - 0xbf515540, 0xbe39176a, 0xbe26a106, 0xbed7fcaa, - 0xbec364b7, 0xbeac9ecc, 0xbf0f8a8a, 0x3f66136f, - 0x3e9273c5, 0x3ecca64b, 0x3e06b9ab, 0x3dcebaec, - 0xbea15095, 0xbe78b73b, 0xbdf7d017, 0xbdc305f4, - 0xbd53ecb4, 0xbf3ed208, 0xbd7a6858, 0x3e80fd85, - 0x3e3a5759, 0x3f4db80a, 0xbf52d009, 0xbeb54232, - 0x3f0bd786, 0xbebd8b42, 0x3eb3023a, 0x3ec55475, - 0xbd55ded3, 0xbd87443b, 0xbd829c08, 0xbf11f3ee, - 0xbee06059, 0xbd16a083, 0x3ebd88b3, 0x3dc96f70 + 0xbef42097, 0xbe86ad95, 0x3e3ea847, 0xbe18687c, + 0xbe0167c4, 0x3eed738c, 0x3e9bf9d4, 0x3b730272, + 0x3e012b5c, 0x3d8bd341, 0x3e56c288, 0xbe2b7752, + 0xbd6d3ae8, 0xbea5bd92, 0x3e856a1c, 0xbe95df0f, + 0xbb22b472, 0x3d0be8f1, 0xbcf508cb, 0xbe1dd77f, + 0x3dac3a95, 0x3d9ab863, 0xbe79b6ec, 0xbd8a169d, + 0xbf4d8634, 0xbdbc68d8, 0xbdaafaa7, 0xbf014ff9, + 0x3ec1a42b, 0x3ef5ddf1, 0x3cafe569, 0xbe2a281a, + 0xbe91440f, 0xbecd254e, 0x3e96be70, 0x3e88e908, + 0xbef1707d, 0xbe37712d, 0xbe5c9d81, 0x3f023aa5, + 0x3e22c3c5, 0x3f6cf542, 0xbee3d442, 0x3cf98294, + 0x3ea409ea, 0xbec3f4fa, 0x3daae52b, 0xbe5a3e26, + 0xbec6c48c, 0xbdb20a6e, 0x3d5a76b9, 0x3eb19ab8, + 0xbe2e70e0, 0x3e250bbc, 0x3b924224, 0xbe63e842, + 0xbe869163, 0xbf3cf722, 0xbe34791d, 0x3e47b92b, + 0xbd067f62, 0x3ee01a2b, 0x3e65e261, 0x3ebf2507, + 0x3d988616, 0x3d096da3, 0xbe9d26da, 0xbd5ed2dc, + 0x3ed71c52, 0x3d7fd166, 0x3f07cd34, 0x3efc0ec4, + 0x3ed07597, 0x3cb1d1bc, 0x3eacec8a, 0x3eb0c7a7, + 0x3e9178b9, 0xbedfebfc, 0xbefa2823, 0x3dfe0776, + 0x3be138f4, 0xbed2bc15, 0x3ed07289, 0x3e945180, + 0xbe30f7f5, 0x3e838d1c, 0x3ec79c1e, 0x3e0061c6, + 0xbeab34af, 0xbe740af6, 0xbe2e9bac, 0x3c4bc189, + 0xbec7311c, 0xbf24d251, 0xbeaef71a, 0x3e2604cf, + 0xbeaf43a4, 0xbd8c5231, 0x3e5d61fb, 0xbf02bc90, + 0xbe37a19b, 0x3e30f194, 0x3e89922c, 0xbe5b789a, + 0xbccd7401, 0x3e8fee45, 0x3f800000, 0xbe5c746d, + 0xbebc6e53, 0x3e216b0d, 0xbf006d30, 0xbef1d883, + 0xbdd6709e, 0xbdf75fd2, 0x3d9da1a9, 0xbeb73e4d, + 0x3e2fe102, 0x3ebc2abc, 0x3e55d2b7, 0xbea0772a, + 0x3d25ad3e, 0x3ed66b20, 0xbecb63d4, 0x3ea07d49, + 0x3df0d341, 0xbf20e8ac, 0xbd06b855, 0xbe21e1fa, + 0x3de85bb8, 0xbef7e694, 0x3e505258, 0x3ee6e07b, + 0x3e6db444, 0x3e720578, 0x3e4590de, 0xbca8fd1c, + 0x3e94d923, 0xbd83b1af, 0xbcc1590d, 0x3f3e0520, + 0x3e2d81ab, 0x3dc0f1d9, 0xbe9508fe, 0xbecf4489, + 0xbb15e5b9, 0xbd5d2df0, 0x3de3eec5, 0x3e65fedc, + 0xbd378e4e, 0x3ed0fc07, 0xbb2ae32e, 0xbeaddfb5, + 0x3dbdeec5, 0x3ee8db66, 0xbe828b90, 0xbdeb4f3a, + 0xbef2c3f9, 0x3e08fd16, 0x3d4309f7, 0x3de5696b, + 0xbdb4c760, 0x3eb8cff2, 0xbe573a47, 0x3ed7f152, + 0x3e2bf4b7, 0x3da1e235, 0xbef13523, 0xbe50bb92, + 0x3ed1f2be, 0x3e990298, 0x3eb8937d, 0xbf2df3b4, + 0x3c050110, 0xbe499e73, 0x3dadc6ef, 0xbccf21c4, + 0x3e7c69e8, 0xbf3de737, 0xbe1484dd, 0xbf0ca39e, + 0x3bfa9460, 0xbd680b7a, 0x3dd50f99, 0x3dd1fb7b, + 0x3d6d6a5e, 0xbea893d4, 0xbea5f6c8, 0x3c71156e, + 0xbebe5729, 0x3e1abc40, 0x3e775064, 0xbdab6ea7, + 0x3eb164ba, 0x3eab400f, 0xbe98bedf, 0x3f1b3922, + 0x3e6a26f8, 0x3ebcf88d, 0xbe81f29f, 0xbea622f1, + 0xbe60207e, 0x3e9112a7, 0xbe87e67d, 0x3e17720f, + 0xbf03302b, 0x3e0d69ea, 0x3d390706, 0x3e8b340d, + 0xbe71312d, 0x3e5f80e7, 0xbe2acad8, 0xbd0b921f, + 0xbebaecf7, 0x3ecaf0bf, 0x3d7f0ea8, 0xbe32bd1c, + 0x3e0ecc4c, 0xbd0497fa, 0x3ebe2e21, 0xbe26f946, + 0xbde3bd92, 0xbe7bd5ee, 0x3db489b2, 0x3ea62b1d, + 0x3e877050, 0x3e1f0e16, 0x3df377a7, 0xbeb650a2, + 0xbe828a94, 0xbdf17602, 0xbec0ed6a, 0x3d86fa48, + 0xbf492776, 0x3e089df8, 0xbef9bb6f, 0xbea98f1d, + 0x3ebdd119, 0xbf16f27f, 0x3d903242, 0xbed7d308, + 0x3e217633, 0xbed0ddef, 0xbe5bf01a, 0xbe0e36f5, + 0xbd927755, 0x3da15276, 0xbe2fe1a6, 0xbede9906, + 0x3ea07946, 0x3f325862, 0xbe2bf47c, 0xbe7042fa, + 0x3df916a0, 0x3efd280f, 0x3f18cbae, 0x3e7fd3b8 }; static const uint32_t ref_offset[256] = { - 0x3d991dd1, 0x3e757505, 0x3d2c09ae, 0x3f25ffc2, - 0x3eb62d5b, 0x3e04ca91, 0x3f0c621a, 0x3f2c133e, - 0x3f67b745, 0x3f07dce2, 0x3f0282c3, 0x3f13d2ea, - 0x3f5c0269, 0x3f641f69, 0x3f7eb592, 0x3dd2da03, - 0x3faf2803, 0x3f6e29aa, 0x3e59a6a1, 0x3f3bc6f2, - 0xbe73725f, 0x3caeaf66, 0x3ef31bb4, 0x3f045dff, - 0x3f3b8c62, 0xbeb7eb60, 0x3f6c73dd, 0x3f814f91, - 0x3f226676, 0x3f0fd7bf, 0x3f30ea2b, 0x3e8e23f9, - 0x3f8644ec, 0x3f936578, 0x3f063084, 0x3f4ebd21, - 0xbd8ecde8, 0x3e8a7b78, 0xbe7069c6, 0x3fae5222, - 0x3f52c235, 0xbde2b709, 0x3e998310, 0xbe6dccde, - 0xbde31175, 0x3d4b238b, 0x3e96458a, 0x3f426e62, - 0x3f2a846c, 0x3ebeda98, 0x3f0b3064, 0x3f23856b, - 0x3f3202ab, 0x3ebfb11f, 0x3f2cd308, 0xbed184b3, - 0x3e7147d2, 0x3f69dbdb, 0x3f035228, 0xbee91ed4, - 0x3ea81653, 0x3e10c3f5, 0x3e45a9bd, 0x3eef7c1c, - 0x3e3bf50e, 0x3eb8eab6, 0x3f62e756, 0x3f3b1ed6, - 0x3ee9c117, 0x3f44e25f, 0x3f3eb66a, 0x3e1fc620, - 0x3ed84944, 0x3ec99177, 0x3f55b76c, 0x3ea7dd35, - 0x3e8a7a2a, 0x3f4ae709, 0x3eb1b655, 0x3f832aac, - 0x3f128db4, 0x3e535c8b, 0xbe645739, 0x3c978f12, - 0x3e3d180d, 0x3f9d8898, 0x3f3deb31, 0x3ea0aa91, - 0x3d4b5a49, 0x3f25f231, 0x3f0674dc, 0x3fa2bdca, - 0x3e62fc34, 0x3c494924, 0x3f4181e2, 0x3dbc6bb4, - 0x3f2e807a, 0x3f41adea, 0x3e6f46d4, 0x3e987382, - 0x3f84dfe4, 0x3e5018f1, 0x3ec41c07, 0x3f2ff1b4, - 0x3f257f62, 0x3f14cf74, 0x3eb4a47a, 0x3f8268cb, - 0x3ef678e7, 0x3f3c4272, 0x3f4967b7, 0x3f01d85e, - 0x3f13561f, 0x3f71a614, 0xbc229d35, 0x3dddb3a8, - 0x3f1bef0c, 0x3f3abd51, 0x3f908e86, 0x3ee21537, - 0x3f617283, 0x3f92e0d4, 0x3f68dc7e, 0x3eff66a9, - 0x3f4bbf4a, 0x3f27fcf1, 0x3e7ff64f, 0x3d90b2f1, - 0x3f412aeb, 0x3f86c106, 0x3f6cc87b, 0x3f2d8d6f, - 0x3f5d9f58, 0x3ec5381b, 0x3eb8e792, 0x3e835bf9, - 0x3e2080f2, 0x3f31bf6f, 0x3e57e07b, 0x3f321522, - 0x3c8dcba5, 0x3f2a897c, 0x3f13c2ea, 0x3e83bd83, - 0x3ed48108, 0x3f1b8a55, 0x3e801c46, 0x3f6ca32e, - 0x3eade939, 0x3e4af1a9, 0x3f3d5b05, 0x3f08dd07, - 0x3e75e1f3, 0x3e185e53, 0x3f51aea5, 0x3ec52caf, - 0x3f43c818, 0x3d4b696a, 0x3f317f3a, 0x3ec31017, - 0x3f864450, 0x3e6851a5, 0x3e5bd63f, 0x3f07071f, - 0x3f1508c2, 0x3f632a2f, 0x3e901ccc, 0x3f808998, - 0x3eda2e50, 0xbc80aa33, 0x3f1a96c4, 0x3f4d6284, - 0x3f0b3194, 0x3e8db9c6, 0xbef12d0f, 0x3f471f7d, - 0x3e626854, 0x3dd65fdb, 0x3f6d7aec, 0x3ec31b67, - 0x3e959bd2, 0x3e0f342e, 0x3f557438, 0x3e461e16, - 0x3d4e42c5, 0x3f31e1fa, 0x3e4849bf, 0xbe2c9cc3, - 0x3f0570f0, 0x3da49c9d, 0x3f090bee, 0x3f218b11, - 0x3e909248, 0xbdf248c1, 0x3ed86838, 0x3f0a4b1f, - 0xbe16a9b8, 0x3fc00000, 0x3d1bc641, 0xbea7fd33, - 0x3f4bd3f2, 0x3f0992d7, 0x3f1aa1c8, 0x3e4b399a, - 0x3f1b9b57, 0x3f6ab621, 0xbd3048ba, 0x3f2ccc5c, - 0x3ec96ec8, 0x3f0230a5, 0x3f2041b4, 0x3e9fe163, - 0x3ee5d282, 0x3eaec282, 0x3ed4a2fc, 0x3de311b6, - 0x3f4939f5, 0x3f453e82, 0x3f40c41f, 0x3f115a04, - 0x3fa8aaa0, 0x3f2e45da, 0x3f29a841, 0x3f6bfe55, - 0x3f61b25b, 0x3f564f66, 0x3f87c545, 0xbecc26df, - 0x3e5b1875, 0x3dcd66d2, 0x3ebca32b, 0x3ecc5145, - 0x3f50a84a, 0x3f3e2dcf, 0x3f1efa03, 0x3f1860be, - 0x3f0d3ecb, 0x3f9f6904, 0x3f0fa685, 0x3e7e04f7, - 0x3ea2d454, 0xbe9b7013, 0x3fa96805, 0x3f5aa119, - 0xbd3d785c, 0x3f5ec5a1, 0x3e19fb8c, 0x3deaae2a, - 0x3f0d5ded, 0x3f10e887, 0x3f105381, 0x3f88f9f7, - 0x3f70302c, 0x3f096a08, 0x3e04ee9a, 0x3ecda424 + 0x3f7a104b, 0x3f4356cb, 0x3ea0abdd, 0x3f261a1f, + 0x3f2059f1, 0x3d14639f, 0x3e480c57, 0x3efe19fb, + 0x3ebf6a52, 0x3edd0b30, 0x3e949ebc, 0x3f2addd5, + 0x3f0ed3ae, 0x3f52dec9, 0x3e752bc7, 0x3f4aef87, + 0x3f00a2b4, 0x3eee82e2, 0x3f07a846, 0x3f2775e0, + 0x3ed4f15b, 0x3ed951e7, 0x3f3e6dbb, 0x3f1142d4, + 0x3fa6c31a, 0x3f178d1b, 0x3f155f55, 0x3f80a7fd, + 0x3df96f55, 0x3ca220f4, 0x3ef501a9, 0x3f2a8a06, + 0x3f48a208, 0x3f6692a7, 0x3e528321, 0x3e6e2df1, + 0x3f78b83e, 0x3f2ddc4b, 0x3f372760, 0xbc0ea93c, + 0x3eae9e1d, 0xbed9ea84, 0x3f71ea21, 0x3ef067d7, + 0x3e37ec2c, 0x3f61fa7d, 0x3ed546b5, 0x3f368f89, + 0x3f636246, 0x3f16414e, 0x3ee4b129, 0x3e1cca90, + 0x3f2b9c38, 0x3ead7a22, 0x3efdb6f7, 0x3f38fa11, + 0x3f4348b2, 0x3f9e7b91, 0x3f2d1e47, 0x3e9c236a, + 0x3f0867f6, 0x3d7f2ea7, 0x3e8d0ecf, 0x3e01b5f2, + 0x3ed9de7b, 0x3eeed24c, 0x3f4e936d, 0x3f0ded2e, + 0x3da38eb9, 0x3ee005d3, 0xbcf9a672, 0x3bfc4f15, + 0x3dbe29a5, 0x3ef4e2e4, 0x3e2626ec, 0x3e1e70b1, + 0x3e5d0e8e, 0x3f6ff5fe, 0x3f7d1412, 0x3ec07e23, + 0x3efc7b1c, 0x3f695e0b, 0x3dbe35dd, 0x3e575cff, + 0x3f2c3dfd, 0x3e78e5c7, 0x3de18f89, 0x3ebfcf1d, + 0x3f559a58, 0x3f3d02bd, 0x3f2ba6eb, 0x3ef9a1f4, + 0x3f63988e, 0x3f926929, 0x3f577b8d, 0x3eacfd99, + 0x3f57a1d2, 0x3f118a46, 0x3e914f02, 0x3f815e48, + 0x3f2de867, 0x3ea78736, 0x3e6cdba7, 0x3f36de26, + 0x3f066ba0, 0x3e602376, 0xbf000000, 0x3f371d1b, + 0x3f5e372a, 0x3eaf4a7a, 0x3f803698, 0x3f78ec41, + 0x3f1ace14, 0x3f1eebfa, 0x3ed89796, 0x3f5b9f26, + 0x3ea80f7f, 0x3e07aa87, 0x3e9516a4, 0x3f503b95, + 0x3eeb4a58, 0x3da6537f, 0x3f65b1ea, 0x3e3f056e, + 0x3ec3cb30, 0x3f907456, 0x3f086b85, 0x3f28787f, + 0x3ec5e912, 0x3f7bf34a, 0x3e97d6d4, 0x3d48fc26, + 0x3e8925de, 0x3e86fd44, 0x3e9d3791, 0x3f0547e9, + 0x3e564dba, 0x3f107636, 0x3f060ac8, 0xbe78147f, + 0x3ea93f2b, 0x3ecfc38a, 0x3f4a847f, 0x3f67a245, + 0x3f0095e6, 0x3f0dd2df, 0x3ec7044f, 0x3e8d0092, + 0x3f0b78e5, 0x3dbc0fe4, 0x3f00aae3, 0x3f56efda, + 0x3ed0844f, 0x3d3924cd, 0x3f4145c8, 0x3f1d69e7, + 0x3f7961fd, 0x3ebb8175, 0x3ee79ec1, 0x3ec6a5a5, + 0x3f1698ec, 0x3e0e601c, 0x3f35ce92, 0x3da03ab8, + 0x3eaa05a4, 0x3ed78773, 0x3f789a91, 0x3f342ee5, + 0x3db83506, 0x3e4dfad0, 0x3e0ed906, 0x3f96f9da, + 0x3efbd7f8, 0x3f32679d, 0x3ed48e44, 0x3f06790e, + 0x3e81cb0c, 0x3f9ef39c, 0x3f252137, 0x3f8651cf, + 0x3efc15ae, 0x3f0e80b8, 0x3ecabc1a, 0x3ecb8121, + 0x3ee252b4, 0x3f5449ea, 0x3f52fb64, 0x3ef87755, + 0x3f5f2b95, 0x3eb2a1e0, 0x3e8457ce, 0x3f156dd5, + 0x3e1d368b, 0x3e297fe2, 0x3f4c5f70, 0xbdd9c912, + 0x3e8aec84, 0x3e060ee6, 0x3f40f950, 0x3f531179, + 0x3f38081f, 0x3e5ddab2, 0x3f43f33f, 0x3eb446f9, + 0x3f819816, 0x3eb94b0b, 0x3ee8df1f, 0x3e6997e6, + 0x3f3c4c4b, 0x3e903f8d, 0x3f2ab2b6, 0x3f08b922, + 0x3f5d767c, 0x3dd43d04, 0x3ee01e2b, 0x3f2caf47, + 0x3eb899da, 0x3f084980, 0x3e03a3bf, 0x3f29be51, + 0x3f1c77b2, 0x3f3ef57c, 0x3ed2dd93, 0x3e33a9c7, + 0x3e711f60, 0x3eb078f5, 0x3ec32216, 0x3f5b2851, + 0x3f41454a, 0x3f1e2ec0, 0x3f6076b5, 0x3ede416e, + 0x3fa493bb, 0x3ebbb104, 0x3f7cddb7, 0x3f54c78e, + 0x3e045dcf, 0x3f8b7940, 0x3edbf36f, 0x3f6be984, + 0x3eaf44e6, 0x3f686ef8, 0x3f36fc07, 0x3f238dbd, + 0x3f124eeb, 0x3ed7ab63, 0x3f2bf86a, 0x3f6f4c83, + 0x3e3f0d75, 0xbe496187, 0x3f2afd1f, 0x3f3c10be, + 0x3ec1ba58, 0x3bb5fc4e, 0xbdc65d6f, 0x3e801624 }; static const uint32_t ref_scale[256] = { - 0xbe59b88c, 0xbe05457e, 0xbe6a7eca, 0x3d97ff06, - 0xbd93a549, 0xbe3d9ab7, 0x3cc621a0, 0x3db04cf9, - 0x3e4f6e8a, 0x3c7b9c49, 0x3ba0b0c2, 0x3d1e9753, - 0x3e3804d3, 0x3e483ed3, 0x3e7d6b24, 0xbe4b497f, - 0x3ede5006, 0x3e5c5354, 0xbe132caf, 0x3def1bca, - 0xbebcdc98, 0xbe75150a, 0xbc4e44bf, 0x3c0bbfeb, - 0x3dee3187, 0xbedbf5b0, 0x3e58e7ba, 0x3e829f23, - 0x3d8999d9, 0x3cfd7bec, 0x3dc3a8ac, 0xbde3b80e, - 0x3e8c89d7, 0x3ea6caf1, 0x3c461078, 0x3e1d7a43, - 0xbe91d9bd, 0xbdeb0910, 0xbebc1a71, 0x3edca444, - 0x3e258469, 0xbe9c56e1, 0xbdccf9e1, 0xbebb7337, - 0xbe9c622f, 0xbe669b8f, 0xbdd374ec, 0x3e04dcc3, - 0x3daa11b2, 0xbd824acf, 0x3cb30647, 0x3d8e15ae, - 0x3dc80aae, 0xbd809dc2, 0x3db34c22, 0xbee8c25a, - 0xbe075c17, 0x3e53b7b6, 0x3bd48a11, 0xbef48f6a, - 0xbdafd359, 0xbe379e06, 0xbe1d2b22, 0xbc841f20, - 0xbe220579, 0xbd8e2a95, 0x3e45ceab, 0x3dec7b5a, - 0xbcb1f74a, 0x3e09c4be, 0x3dfad9a8, 0xbe301cf0, - 0xbd1edaf0, 0xbd59ba24, 0x3e2b6ed8, 0xbdb04596, - 0xbdeb0bad, 0x3e15ce13, 0xbd9c9356, 0x3e865558, - 0x3d146da2, 0xbe1651bb, 0xbeb915ce, 0xbe76870f, - 0xbe2173fa, 0x3ebb112f, 0x3df7acc4, 0xbdbeaadd, - 0xbe6694b7, 0x3d97c8c6, 0x3c4e9b87, 0x3ec57b95, - 0xbe0e81e6, 0xbe79b5b7, 0x3e0303c4, 0xbe50e513, - 0x3dba01e8, 0x3e035bd4, 0xbe085c96, 0xbdcf18fd, - 0x3e89bfc9, 0xbe17f387, 0xbd6f8fe3, 0x3dbfc6ce, - 0x3d95fd87, 0x3d267ba3, 0xbd96b70b, 0x3e84d196, - 0xbc18718e, 0x3df109c9, 0x3e12cf6d, 0x3b6c2f09, - 0x3d1ab0f9, 0x3e634c27, 0xbe828a75, 0xbe489316, - 0x3d5f7863, 0x3deaf544, 0x3ea11d0d, 0xbcef5644, - 0x3e42e505, 0x3ea5c1a7, 0x3e51b8fb, 0xba195722, - 0x3e177e94, 0x3d9ff3c3, 0xbe0004d9, 0xbe5bd344, - 0x3e0255d6, 0x3e8d820c, 0x3e5990f7, 0x3db635bd, - 0x3e3b3eaf, 0xbd6b1f92, 0xbd8e30dc, 0xbdf9480d, - 0xbe2fbf87, 0x3dc6fdbd, 0xbe140fc2, 0x3dc85488, - 0xbe772346, 0x3daa25f2, 0x3d1e174c, 0xbdf884fa, - 0xbd2dfbe0, 0x3d5c52a5, 0xbdffc774, 0x3e59465c, - 0xbda42d8e, 0xbe1a872c, 0x3df56c14, 0x3c8dd074, - 0xbe050f07, 0xbe33d0d6, 0x3e235d49, 0xbd6b4d45, - 0x3e079031, 0xbe6692d3, 0x3dc5fce9, 0xbd73bfa2, - 0x3e8c88a1, 0xbe0bd72d, 0xbe1214e0, 0x3c60e3eb, - 0x3d284610, 0x3e46545f, 0xbddfc667, 0x3e811330, - 0xbd1746c0, 0xbe840552, 0x3d54b622, 0x3e1ac507, - 0x3cb31941, 0xbde48c74, 0xbef89687, 0x3e0e3efa, - 0xbe0ecbd6, 0xbe4a6809, 0x3e5af5d7, 0xbd739265, - 0xbdd4c85b, 0xbe3865e9, 0x3e2ae871, 0xbe1cf0f5, - 0xbe6637a7, 0x3dc787e9, 0xbe1bdb21, 0xbeab2731, - 0x3c2e1e0f, 0xbe56d8d9, 0x3c90bee8, 0x3d862c45, - 0xbddedb6f, 0xbe9e4918, 0xbd1e5f22, 0x3ca4b1f6, - 0xbea5aa6e, 0x3f000000, 0xbe6c8738, 0xbed3fe99, - 0x3e17a7e5, 0x3c992d6e, 0x3d550e40, 0xbe1a6333, - 0x3d5cdab9, 0x3e556c42, 0xbe8b048c, 0x3db3316e, - 0xbd5a44e0, 0x3b8c2945, 0x3d8106ce, 0xbdc03d3b, - 0xbcd16bf3, 0xbda27afc, 0xbd2d740f, 0xbe473b93, - 0x3e1273eb, 0x3e0a7d04, 0x3e01883d, 0x3d0ad021, - 0x3ed15540, 0x3db9176a, 0x3da6a106, 0x3e57fcaa, - 0x3e4364b7, 0x3e2c9ecc, 0x3e8f8a8a, 0xbee6136f, - 0xbe1273c5, 0xbe4ca64b, 0xbd86b9ab, 0xbd4ebaec, - 0x3e215095, 0x3df8b73b, 0x3d77d017, 0x3d4305f4, - 0x3cd3ecb4, 0x3ebed208, 0x3cfa6858, 0xbe00fd85, - 0xbdba5759, 0xbecdb80a, 0x3ed2d009, 0x3e354232, - 0xbe8bd786, 0x3e3d8b42, 0xbe33023a, 0xbe455475, - 0x3cd5ded3, 0x3d07443b, 0x3d029c08, 0x3e91f3ee, - 0x3e606059, 0x3c96a083, 0xbe3d88b3, 0xbd496f70 + 0x3e742097, 0x3e06ad95, 0xbdbea847, 0x3d98687c, + 0x3d8167c4, 0xbe6d738c, 0xbe1bf9d4, 0xbaf30272, + 0xbd812b5c, 0xbd0bd341, 0xbdd6c288, 0x3dab7752, + 0x3ced3ae8, 0x3e25bd92, 0xbe056a1c, 0x3e15df0f, + 0x3aa2b472, 0xbc8be8f1, 0x3c7508cb, 0x3d9dd77f, + 0xbd2c3a95, 0xbd1ab863, 0x3df9b6ec, 0x3d0a169d, + 0x3ecd8634, 0x3d3c68d8, 0x3d2afaa7, 0x3e814ff9, + 0xbe41a42b, 0xbe75ddf1, 0xbc2fe569, 0x3daa281a, + 0x3e11440f, 0x3e4d254e, 0xbe16be70, 0xbe08e908, + 0x3e71707d, 0x3db7712d, 0x3ddc9d81, 0xbe823aa5, + 0xbda2c3c5, 0xbeecf542, 0x3e63d442, 0xbc798294, + 0xbe2409ea, 0x3e43f4fa, 0xbd2ae52b, 0x3dda3e26, + 0x3e46c48c, 0x3d320a6e, 0xbcda76b9, 0xbe319ab8, + 0x3dae70e0, 0xbda50bbc, 0xbb124224, 0x3de3e842, + 0x3e069163, 0x3ebcf722, 0x3db4791d, 0xbdc7b92b, + 0x3c867f62, 0xbe601a2b, 0xbde5e261, 0xbe3f2507, + 0xbd188616, 0xbc896da3, 0x3e1d26da, 0x3cded2dc, + 0xbe571c52, 0xbcffd166, 0xbe87cd34, 0xbe7c0ec4, + 0xbe507597, 0xbc31d1bc, 0xbe2cec8a, 0xbe30c7a7, + 0xbe1178b9, 0x3e5febfc, 0x3e7a2823, 0xbd7e0776, + 0xbb6138f4, 0x3e52bc15, 0xbe507289, 0xbe145180, + 0x3db0f7f5, 0xbe038d1c, 0xbe479c1e, 0xbd8061c6, + 0x3e2b34af, 0x3df40af6, 0x3dae9bac, 0xbbcbc189, + 0x3e47311c, 0x3ea4d251, 0x3e2ef71a, 0xbda604cf, + 0x3e2f43a4, 0x3d0c5231, 0xbddd61fb, 0x3e82bc90, + 0x3db7a19b, 0xbdb0f194, 0xbe09922c, 0x3ddb789a, + 0x3c4d7401, 0xbe0fee45, 0xbf000000, 0x3ddc746d, + 0x3e3c6e53, 0xbda16b0d, 0x3e806d30, 0x3e71d883, + 0x3d56709e, 0x3d775fd2, 0xbd1da1a9, 0x3e373e4d, + 0xbdafe102, 0xbe3c2abc, 0xbdd5d2b7, 0x3e20772a, + 0xbca5ad3e, 0xbe566b20, 0x3e4b63d4, 0xbe207d49, + 0xbd70d341, 0x3ea0e8ac, 0x3c86b855, 0x3da1e1fa, + 0xbd685bb8, 0x3e77e694, 0xbdd05258, 0xbe66e07b, + 0xbdedb444, 0xbdf20578, 0xbdc590de, 0x3c28fd1c, + 0xbe14d923, 0x3d03b1af, 0x3c41590d, 0xbebe0520, + 0xbdad81ab, 0xbd40f1d9, 0x3e1508fe, 0x3e4f4489, + 0x3a95e5b9, 0x3cdd2df0, 0xbd63eec5, 0xbde5fedc, + 0x3cb78e4e, 0xbe50fc07, 0x3aaae32e, 0x3e2ddfb5, + 0xbd3deec5, 0xbe68db66, 0x3e028b90, 0x3d6b4f3a, + 0x3e72c3f9, 0xbd88fd16, 0xbcc309f7, 0xbd65696b, + 0x3d34c760, 0xbe38cff2, 0x3dd73a47, 0xbe57f152, + 0xbdabf4b7, 0xbd21e235, 0x3e713523, 0x3dd0bb92, + 0xbe51f2be, 0xbe190298, 0xbe38937d, 0x3eadf3b4, + 0xbb850110, 0x3dc99e73, 0xbd2dc6ef, 0x3c4f21c4, + 0xbdfc69e8, 0x3ebde737, 0x3d9484dd, 0x3e8ca39e, + 0xbb7a9460, 0x3ce80b7a, 0xbd550f99, 0xbd51fb7b, + 0xbced6a5e, 0x3e2893d4, 0x3e25f6c8, 0xbbf1156e, + 0x3e3e5729, 0xbd9abc40, 0xbdf75064, 0x3d2b6ea7, + 0xbe3164ba, 0xbe2b400f, 0x3e18bedf, 0xbe9b3922, + 0xbdea26f8, 0xbe3cf88d, 0x3e01f29f, 0x3e2622f1, + 0x3de0207e, 0xbe1112a7, 0x3e07e67d, 0xbd97720f, + 0x3e83302b, 0xbd8d69ea, 0xbcb90706, 0xbe0b340d, + 0x3df1312d, 0xbddf80e7, 0x3daacad8, 0x3c8b921f, + 0x3e3aecf7, 0xbe4af0bf, 0xbcff0ea8, 0x3db2bd1c, + 0xbd8ecc4c, 0x3c8497fa, 0xbe3e2e21, 0x3da6f946, + 0x3d63bd92, 0x3dfbd5ee, 0xbd3489b2, 0xbe262b1d, + 0xbe077050, 0xbd9f0e16, 0xbd7377a7, 0x3e3650a2, + 0x3e028a94, 0x3d717602, 0x3e40ed6a, 0xbd06fa48, + 0x3ec92776, 0xbd889df8, 0x3e79bb6f, 0x3e298f1d, + 0xbe3dd119, 0x3e96f27f, 0xbd103242, 0x3e57d308, + 0xbda17633, 0x3e50ddef, 0x3ddbf01a, 0x3d8e36f5, + 0x3d127755, 0xbd215276, 0x3dafe1a6, 0x3e5e9906, + 0xbe207946, 0xbeb25862, 0x3dabf47c, 0x3df042fa, + 0xbd7916a0, 0xbe7d280f, 0xbe98cbae, 0xbdffd3b8 }; static const uint32_t ref_dot_prod_3[1] = { - 0xbe238df9 + 0xbe8fbe76 }; static const uint32_t ref_dot_prod_4[1] = { - 0xbe3211c9 + 0xbd6d1840 }; static const uint32_t ref_dot_prod_4n1[1] = { - 0xbe74477d + 0xbe07d278 + }; + +static const uint32_t ref_dot_prod_long[1] = { + 0x3ebea4ef }; static const uint32_t ref_abs[256] = { - 0x3ed9b88c, 0x3e85457e, 0x3eea7eca, 0x3e17ff06, - 0x3e13a549, 0x3ebd9ab7, 0x3d4621a0, 0x3e304cf9, - 0x3ecf6e8a, 0x3cfb9c49, 0x3c20b0c2, 0x3d9e9753, - 0x3eb804d3, 0x3ec83ed3, 0x3efd6b24, 0x3ecb497f, - 0x3f5e5006, 0x3edc5354, 0x3e932caf, 0x3e6f1bca, - 0x3f3cdc98, 0x3ef5150a, 0x3cce44bf, 0x3c8bbfeb, - 0x3e6e3187, 0x3f5bf5b0, 0x3ed8e7ba, 0x3f029f23, - 0x3e0999d9, 0x3d7d7bec, 0x3e43a8ac, 0x3e63b80e, - 0x3f0c89d7, 0x3f26caf1, 0x3cc61078, 0x3e9d7a43, - 0x3f11d9bd, 0x3e6b0910, 0x3f3c1a71, 0x3f5ca444, - 0x3ea58469, 0x3f1c56e1, 0x3e4cf9e1, 0x3f3b7337, - 0x3f1c622f, 0x3ee69b8f, 0x3e5374ec, 0x3e84dcc3, - 0x3e2a11b2, 0x3e024acf, 0x3d330647, 0x3e0e15ae, - 0x3e480aae, 0x3e009dc2, 0x3e334c22, 0x3f68c25a, - 0x3e875c17, 0x3ed3b7b6, 0x3c548a11, 0x3f748f6a, - 0x3e2fd359, 0x3eb79e06, 0x3e9d2b22, 0x3d041f20, - 0x3ea20579, 0x3e0e2a95, 0x3ec5ceab, 0x3e6c7b5a, - 0x3d31f74a, 0x3e89c4be, 0x3e7ad9a8, 0x3eb01cf0, - 0x3d9edaf0, 0x3dd9ba24, 0x3eab6ed8, 0x3e304596, - 0x3e6b0bad, 0x3e95ce13, 0x3e1c9356, 0x3f065558, - 0x3d946da2, 0x3e9651bb, 0x3f3915ce, 0x3ef6870f, - 0x3ea173fa, 0x3f3b112f, 0x3e77acc4, 0x3e3eaadd, - 0x3ee694b7, 0x3e17c8c6, 0x3cce9b87, 0x3f457b95, - 0x3e8e81e6, 0x3ef9b5b7, 0x3e8303c4, 0x3ed0e513, - 0x3e3a01e8, 0x3e835bd4, 0x3e885c96, 0x3e4f18fd, - 0x3f09bfc9, 0x3e97f387, 0x3def8fe3, 0x3e3fc6ce, - 0x3e15fd87, 0x3da67ba3, 0x3e16b70b, 0x3f04d196, - 0x3c98718e, 0x3e7109c9, 0x3e92cf6d, 0x3bec2f09, - 0x3d9ab0f9, 0x3ee34c27, 0x3f028a75, 0x3ec89316, - 0x3ddf7863, 0x3e6af544, 0x3f211d0d, 0x3d6f5644, - 0x3ec2e505, 0x3f25c1a7, 0x3ed1b8fb, 0x3a995722, - 0x3e977e94, 0x3e1ff3c3, 0x3e8004d9, 0x3edbd344, - 0x3e8255d6, 0x3f0d820c, 0x3ed990f7, 0x3e3635bd, - 0x3ebb3eaf, 0x3deb1f92, 0x3e0e30dc, 0x3e79480d, - 0x3eafbf87, 0x3e46fdbd, 0x3e940fc2, 0x3e485488, - 0x3ef72346, 0x3e2a25f2, 0x3d9e174c, 0x3e7884fa, - 0x3dadfbe0, 0x3ddc52a5, 0x3e7fc774, 0x3ed9465c, - 0x3e242d8e, 0x3e9a872c, 0x3e756c14, 0x3d0dd074, - 0x3e850f07, 0x3eb3d0d6, 0x3ea35d49, 0x3deb4d45, - 0x3e879031, 0x3ee692d3, 0x3e45fce9, 0x3df3bfa2, - 0x3f0c88a1, 0x3e8bd72d, 0x3e9214e0, 0x3ce0e3eb, - 0x3da84610, 0x3ec6545f, 0x3e5fc667, 0x3f011330, - 0x3d9746c0, 0x3f040552, 0x3dd4b622, 0x3e9ac507, - 0x3d331941, 0x3e648c74, 0x3f789687, 0x3e8e3efa, - 0x3e8ecbd6, 0x3eca6809, 0x3edaf5d7, 0x3df39265, - 0x3e54c85b, 0x3eb865e9, 0x3eaae871, 0x3e9cf0f5, - 0x3ee637a7, 0x3e4787e9, 0x3e9bdb21, 0x3f2b2731, - 0x3cae1e0f, 0x3ed6d8d9, 0x3d10bee8, 0x3e062c45, - 0x3e5edb6f, 0x3f1e4918, 0x3d9e5f22, 0x3d24b1f6, - 0x3f25aa6e, 0x3f800000, 0x3eec8738, 0x3f53fe99, - 0x3e97a7e5, 0x3d192d6e, 0x3dd50e40, 0x3e9a6333, - 0x3ddcdab9, 0x3ed56c42, 0x3f0b048c, 0x3e33316e, - 0x3dda44e0, 0x3c0c2945, 0x3e0106ce, 0x3e403d3b, - 0x3d516bf3, 0x3e227afc, 0x3dad740f, 0x3ec73b93, - 0x3e9273eb, 0x3e8a7d04, 0x3e81883d, 0x3d8ad021, - 0x3f515540, 0x3e39176a, 0x3e26a106, 0x3ed7fcaa, - 0x3ec364b7, 0x3eac9ecc, 0x3f0f8a8a, 0x3f66136f, - 0x3e9273c5, 0x3ecca64b, 0x3e06b9ab, 0x3dcebaec, - 0x3ea15095, 0x3e78b73b, 0x3df7d017, 0x3dc305f4, - 0x3d53ecb4, 0x3f3ed208, 0x3d7a6858, 0x3e80fd85, - 0x3e3a5759, 0x3f4db80a, 0x3f52d009, 0x3eb54232, - 0x3f0bd786, 0x3ebd8b42, 0x3eb3023a, 0x3ec55475, - 0x3d55ded3, 0x3d87443b, 0x3d829c08, 0x3f11f3ee, - 0x3ee06059, 0x3d16a083, 0x3ebd88b3, 0x3dc96f70 + 0x3ef42097, 0x3e86ad95, 0x3e3ea847, 0x3e18687c, + 0x3e0167c4, 0x3eed738c, 0x3e9bf9d4, 0x3b730272, + 0x3e012b5c, 0x3d8bd341, 0x3e56c288, 0x3e2b7752, + 0x3d6d3ae8, 0x3ea5bd92, 0x3e856a1c, 0x3e95df0f, + 0x3b22b472, 0x3d0be8f1, 0x3cf508cb, 0x3e1dd77f, + 0x3dac3a95, 0x3d9ab863, 0x3e79b6ec, 0x3d8a169d, + 0x3f4d8634, 0x3dbc68d8, 0x3daafaa7, 0x3f014ff9, + 0x3ec1a42b, 0x3ef5ddf1, 0x3cafe569, 0x3e2a281a, + 0x3e91440f, 0x3ecd254e, 0x3e96be70, 0x3e88e908, + 0x3ef1707d, 0x3e37712d, 0x3e5c9d81, 0x3f023aa5, + 0x3e22c3c5, 0x3f6cf542, 0x3ee3d442, 0x3cf98294, + 0x3ea409ea, 0x3ec3f4fa, 0x3daae52b, 0x3e5a3e26, + 0x3ec6c48c, 0x3db20a6e, 0x3d5a76b9, 0x3eb19ab8, + 0x3e2e70e0, 0x3e250bbc, 0x3b924224, 0x3e63e842, + 0x3e869163, 0x3f3cf722, 0x3e34791d, 0x3e47b92b, + 0x3d067f62, 0x3ee01a2b, 0x3e65e261, 0x3ebf2507, + 0x3d988616, 0x3d096da3, 0x3e9d26da, 0x3d5ed2dc, + 0x3ed71c52, 0x3d7fd166, 0x3f07cd34, 0x3efc0ec4, + 0x3ed07597, 0x3cb1d1bc, 0x3eacec8a, 0x3eb0c7a7, + 0x3e9178b9, 0x3edfebfc, 0x3efa2823, 0x3dfe0776, + 0x3be138f4, 0x3ed2bc15, 0x3ed07289, 0x3e945180, + 0x3e30f7f5, 0x3e838d1c, 0x3ec79c1e, 0x3e0061c6, + 0x3eab34af, 0x3e740af6, 0x3e2e9bac, 0x3c4bc189, + 0x3ec7311c, 0x3f24d251, 0x3eaef71a, 0x3e2604cf, + 0x3eaf43a4, 0x3d8c5231, 0x3e5d61fb, 0x3f02bc90, + 0x3e37a19b, 0x3e30f194, 0x3e89922c, 0x3e5b789a, + 0x3ccd7401, 0x3e8fee45, 0x3f800000, 0x3e5c746d, + 0x3ebc6e53, 0x3e216b0d, 0x3f006d30, 0x3ef1d883, + 0x3dd6709e, 0x3df75fd2, 0x3d9da1a9, 0x3eb73e4d, + 0x3e2fe102, 0x3ebc2abc, 0x3e55d2b7, 0x3ea0772a, + 0x3d25ad3e, 0x3ed66b20, 0x3ecb63d4, 0x3ea07d49, + 0x3df0d341, 0x3f20e8ac, 0x3d06b855, 0x3e21e1fa, + 0x3de85bb8, 0x3ef7e694, 0x3e505258, 0x3ee6e07b, + 0x3e6db444, 0x3e720578, 0x3e4590de, 0x3ca8fd1c, + 0x3e94d923, 0x3d83b1af, 0x3cc1590d, 0x3f3e0520, + 0x3e2d81ab, 0x3dc0f1d9, 0x3e9508fe, 0x3ecf4489, + 0x3b15e5b9, 0x3d5d2df0, 0x3de3eec5, 0x3e65fedc, + 0x3d378e4e, 0x3ed0fc07, 0x3b2ae32e, 0x3eaddfb5, + 0x3dbdeec5, 0x3ee8db66, 0x3e828b90, 0x3deb4f3a, + 0x3ef2c3f9, 0x3e08fd16, 0x3d4309f7, 0x3de5696b, + 0x3db4c760, 0x3eb8cff2, 0x3e573a47, 0x3ed7f152, + 0x3e2bf4b7, 0x3da1e235, 0x3ef13523, 0x3e50bb92, + 0x3ed1f2be, 0x3e990298, 0x3eb8937d, 0x3f2df3b4, + 0x3c050110, 0x3e499e73, 0x3dadc6ef, 0x3ccf21c4, + 0x3e7c69e8, 0x3f3de737, 0x3e1484dd, 0x3f0ca39e, + 0x3bfa9460, 0x3d680b7a, 0x3dd50f99, 0x3dd1fb7b, + 0x3d6d6a5e, 0x3ea893d4, 0x3ea5f6c8, 0x3c71156e, + 0x3ebe5729, 0x3e1abc40, 0x3e775064, 0x3dab6ea7, + 0x3eb164ba, 0x3eab400f, 0x3e98bedf, 0x3f1b3922, + 0x3e6a26f8, 0x3ebcf88d, 0x3e81f29f, 0x3ea622f1, + 0x3e60207e, 0x3e9112a7, 0x3e87e67d, 0x3e17720f, + 0x3f03302b, 0x3e0d69ea, 0x3d390706, 0x3e8b340d, + 0x3e71312d, 0x3e5f80e7, 0x3e2acad8, 0x3d0b921f, + 0x3ebaecf7, 0x3ecaf0bf, 0x3d7f0ea8, 0x3e32bd1c, + 0x3e0ecc4c, 0x3d0497fa, 0x3ebe2e21, 0x3e26f946, + 0x3de3bd92, 0x3e7bd5ee, 0x3db489b2, 0x3ea62b1d, + 0x3e877050, 0x3e1f0e16, 0x3df377a7, 0x3eb650a2, + 0x3e828a94, 0x3df17602, 0x3ec0ed6a, 0x3d86fa48, + 0x3f492776, 0x3e089df8, 0x3ef9bb6f, 0x3ea98f1d, + 0x3ebdd119, 0x3f16f27f, 0x3d903242, 0x3ed7d308, + 0x3e217633, 0x3ed0ddef, 0x3e5bf01a, 0x3e0e36f5, + 0x3d927755, 0x3da15276, 0x3e2fe1a6, 0x3ede9906, + 0x3ea07946, 0x3f325862, 0x3e2bf47c, 0x3e7042fa, + 0x3df916a0, 0x3efd280f, 0x3f18cbae, 0x3e7fd3b8 + }; + +static const uint32_t ref_clip1[259] = { + 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, + 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, + 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, + 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, + 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, + 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, + 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, + 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, + 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, + 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, + 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, + 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, + 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, + 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, + 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, + 0xbefceb99, 0xbef974a5, 0xbef5fdb1, 0xbef286bd, + 0xbeef0fc9, 0xbeeb98d4, 0xbee821e0, 0xbee4aaec, + 0xbee133f8, 0xbeddbd04, 0xbeda4610, 0xbed6cf1c, + 0xbed35828, 0xbecfe134, 0xbecc6a40, 0xbec8f34c, + 0xbec57c58, 0xbec20564, 0xbebe8e70, 0xbebb177c, + 0xbeb7a088, 0xbeb42993, 0xbeb0b29f, 0xbead3bab, + 0xbea9c4b7, 0xbea64dc3, 0xbea2d6cf, 0xbe9f5fdb, + 0xbe9be8e7, 0xbe9871f3, 0xbe94faff, 0xbe91840b, + 0xbe8e0d17, 0xbe8a9623, 0xbe871f2f, 0xbe83a83b, + 0xbe803146, 0xbe7974a5, 0xbe7286bd, 0xbe6b98d4, + 0xbe64aaec, 0xbe5dbd04, 0xbe56cf1c, 0xbe4fe134, + 0xbe48f34c, 0xbe420564, 0xbe3b177c, 0xbe342993, + 0xbe2d3bab, 0xbe264dc3, 0xbe1f5fdb, 0xbe1871f3, + 0xbe11840b, 0xbe0a9623, 0xbe03a83b, 0xbdf974a5, + 0xbdeb98d4, 0xbdddbd04, 0xbdcfe134, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, 0xbdcccccd, + 0xbdcccccd, 0xbdcccccd, 0xbdcccccd + }; + +static const uint32_t ref_clip2[264] = { + 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, + 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, + 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, + 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, + 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, + 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, + 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, + 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, + 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, + 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, + 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, + 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, + 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, + 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, + 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, + 0xbefceb99, 0xbef974a5, 0xbef5fdb1, 0xbef286bd, + 0xbeef0fc9, 0xbeeb98d4, 0xbee821e0, 0xbee4aaec, + 0xbee133f8, 0xbeddbd04, 0xbeda4610, 0xbed6cf1c, + 0xbed35828, 0xbecfe134, 0xbecc6a40, 0xbec8f34c, + 0xbec57c58, 0xbec20564, 0xbebe8e70, 0xbebb177c, + 0xbeb7a088, 0xbeb42993, 0xbeb0b29f, 0xbead3bab, + 0xbea9c4b7, 0xbea64dc3, 0xbea2d6cf, 0xbe9f5fdb, + 0xbe9be8e7, 0xbe9871f3, 0xbe94faff, 0xbe91840b, + 0xbe8e0d17, 0xbe8a9623, 0xbe871f2f, 0xbe83a83b, + 0xbe803146, 0xbe7974a5, 0xbe7286bd, 0xbe6b98d4, + 0xbe64aaec, 0xbe5dbd04, 0xbe56cf1c, 0xbe4fe134, + 0xbe48f34c, 0xbe420564, 0xbe3b177c, 0xbe342993, + 0xbe2d3bab, 0xbe264dc3, 0xbe1f5fdb, 0xbe1871f3, + 0xbe11840b, 0xbe0a9623, 0xbe03a83b, 0xbdf974a5, + 0xbdeb98d4, 0xbdddbd04, 0xbdcfe134, 0xbdc20564, + 0xbdb42993, 0xbda64dc3, 0xbd9871f3, 0xbd8a9623, + 0xbd7974a5, 0xbd5dbd04, 0xbd420564, 0xbd264dc3, + 0xbd0a9623, 0xbcddbd04, 0xbca64dc3, 0xbc5dbd04, + 0xbbddbd04, 0x0, 0x3bddbd04, 0x3c5dbd04, + 0x3ca64dc3, 0x3cddbd04, 0x3d0a9623, 0x3d264dc3, + 0x3d420564, 0x3d5dbd04, 0x3d7974a5, 0x3d8a9623, + 0x3d9871f3, 0x3da64dc3, 0x3db42993, 0x3dc20564, + 0x3dcfe134, 0x3dddbd04, 0x3deb98d4, 0x3df974a5, + 0x3e03a83b, 0x3e0a9623, 0x3e11840b, 0x3e1871f3, + 0x3e1f5fdb, 0x3e264dc3, 0x3e2d3bab, 0x3e342993, + 0x3e3b177c, 0x3e420564, 0x3e48f34c, 0x3e4fe134, + 0x3e56cf1c, 0x3e5dbd04, 0x3e64aaec, 0x3e6b98d4, + 0x3e7286bd, 0x3e7974a5, 0x3e803146, 0x3e83a83b, + 0x3e871f2f, 0x3e8a9623, 0x3e8e0d17, 0x3e91840b, + 0x3e94faff, 0x3e9871f3, 0x3e9be8e7, 0x3e9f5fdb, + 0x3ea2d6cf, 0x3ea64dc3, 0x3ea9c4b7, 0x3ead3bab, + 0x3eb0b29f, 0x3eb42993, 0x3eb7a088, 0x3ebb177c, + 0x3ebe8e70, 0x3ec20564, 0x3ec57c58, 0x3ec8f34c, + 0x3ecc6a40, 0x3ecfe134, 0x3ed35828, 0x3ed6cf1c, + 0x3eda4610, 0x3eddbd04, 0x3ee133f8, 0x3ee4aaec, + 0x3ee821e0, 0x3eeb98d4, 0x3eef0fc9, 0x3ef286bd, + 0x3ef5fdb1, 0x3ef974a5, 0x3efceb99, 0x3f000000, + 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, + 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, + 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, + 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, + 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, + 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, + 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, + 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, + 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, + 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, + 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, + 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, + 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, + 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 + }; + +static const uint32_t ref_clip3[267] = { + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, 0x3dcccccd, + 0x3dcfe134, 0x3dddbd04, 0x3deb98d4, 0x3df974a5, + 0x3e03a83b, 0x3e0a9623, 0x3e11840b, 0x3e1871f3, + 0x3e1f5fdb, 0x3e264dc3, 0x3e2d3bab, 0x3e342993, + 0x3e3b177c, 0x3e420564, 0x3e48f34c, 0x3e4fe134, + 0x3e56cf1c, 0x3e5dbd04, 0x3e64aaec, 0x3e6b98d4, + 0x3e7286bd, 0x3e7974a5, 0x3e803146, 0x3e83a83b, + 0x3e871f2f, 0x3e8a9623, 0x3e8e0d17, 0x3e91840b, + 0x3e94faff, 0x3e9871f3, 0x3e9be8e7, 0x3e9f5fdb, + 0x3ea2d6cf, 0x3ea64dc3, 0x3ea9c4b7, 0x3ead3bab, + 0x3eb0b29f, 0x3eb42993, 0x3eb7a088, 0x3ebb177c, + 0x3ebe8e70, 0x3ec20564, 0x3ec57c58, 0x3ec8f34c, + 0x3ecc6a40, 0x3ecfe134, 0x3ed35828, 0x3ed6cf1c, + 0x3eda4610, 0x3eddbd04, 0x3ee133f8, 0x3ee4aaec, + 0x3ee821e0, 0x3eeb98d4, 0x3eef0fc9, 0x3ef286bd, + 0x3ef5fdb1, 0x3ef974a5, 0x3efceb99, 0x3f000000, + 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, + 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, + 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, + 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, + 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, + 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, + 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, + 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, + 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, + 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, + 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, + 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, + 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, + 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, + 0x3f000000, 0x3f000000, 0x3f000000 };