aboutsummaryrefslogtreecommitdiff
path: root/ecp_id_tc26_gost_3410_2012_512_paramSetC.c
diff options
context:
space:
mode:
authorBilly Brumley <bbrumley@gmail.com>2020-07-03 18:27:23 +0300
committerGitHub <noreply@github.com>2020-07-03 18:27:23 +0300
commitbc346202fbb3bc838a19af8c3b0e449926589c7b (patch)
treefd7e7f7307d0e9f928ede362f6c0a6c67fdb3f8b /ecp_id_tc26_gost_3410_2012_512_paramSetC.c
parent9a4548c819c63b41358072d645454ad7ea56cd2b (diff)
downloadgost-engine-bc346202fbb3bc838a19af8c3b0e449926589c7b.zip
gost-engine-bc346202fbb3bc838a19af8c3b0e449926589c7b.tar.gz
gost-engine-bc346202fbb3bc838a19af8c3b0e449926589c7b.tar.bz2
GOST ECC optimizations (#263)
Standalone EC implementations from ECCKiila. https://gitlab.com/nisec/ecckiila
Diffstat (limited to 'ecp_id_tc26_gost_3410_2012_512_paramSetC.c')
-rw-r--r--ecp_id_tc26_gost_3410_2012_512_paramSetC.c12512
1 files changed, 12512 insertions, 0 deletions
diff --git a/ecp_id_tc26_gost_3410_2012_512_paramSetC.c b/ecp_id_tc26_gost_3410_2012_512_paramSetC.c
new file mode 100644
index 0000000..10fe5d2
--- /dev/null
+++ b/ecp_id_tc26_gost_3410_2012_512_paramSetC.c
@@ -0,0 +1,12512 @@
+/* Autogenerated: ECCKiila https://gitlab.com/nisec/ecckiila */
+/*-
+ * MIT License
+ *
+ * Copyright (c) 2020 Luis Rivera-Zamarripa, Jesús-Javier Chi-Domínguez, Billy Bob Brumley
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+#if defined(__SIZEOF_INT128__) && !defined(PEDANTIC)
+
+#include <stdint.h>
+#include <string.h>
+#define LIMB_BITS 64
+#define LIMB_CNT 10
+/* Field elements */
+typedef uint64_t fe_t[LIMB_CNT];
+typedef uint64_t limb_t;
+
+#define fe_copy(d, s) memcpy(d, s, sizeof(fe_t))
+#define fe_set_zero(d) memset(d, 0, sizeof(fe_t))
+
+#define fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(c, a, b) \
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_add(c, a, b); \
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry(c, c)
+#define fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(c, a, b) \
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_sub(c, a, b); \
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry(c, c)
+
+/* Projective points */
+typedef struct {
+ fe_t X;
+ fe_t Y;
+ fe_t T;
+ fe_t Z;
+} pt_prj_t;
+
+/* Affine points */
+typedef struct {
+ fe_t X;
+ fe_t Y;
+ fe_t T;
+} pt_aff_t;
+
+/* BEGIN verbatim fiat code https://github.com/mit-plv/fiat-crypto */
+/*-
+ * MIT License
+ *
+ * Copyright (c) 2020 the fiat-crypto authors (see the AUTHORS file)
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+/* Autogenerated: unsaturated_solinas --static id_tc26_gost_3410_2012_512_paramSetC 64 '(auto)' '2^512 - 569' */
+/* curve description: id_tc26_gost_3410_2012_512_paramSetC */
+/* machine_wordsize = 64 (from "64") */
+/* requested operations: (all) */
+/* n = 10 (from "(auto)") */
+/* s-c = 2^512 - [(1, 569)] (from "2^512 - 569") */
+/* tight_bounds_multiplier = 1.1 (from "") */
+/* */
+/* Computed values: */
+/* carry_chain = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1] */
+/* eval z = z[0] + (z[1] << 52) + (z[2] << 103) + (z[3] << 154) + (z[4] << 205) + (z[5] << 256) + (z[6] << 0x134) + (z[7] << 0x167) + (z[8] << 0x19a) + (z[9] << 0x1cd) */
+/* bytes_eval z = z[0] + (z[1] << 8) + (z[2] << 16) + (z[3] << 24) + (z[4] << 32) + (z[5] << 40) + (z[6] << 48) + (z[7] << 56) + (z[8] << 64) + (z[9] << 72) + (z[10] << 80) + (z[11] << 88) + (z[12] << 96) + (z[13] << 104) + (z[14] << 112) + (z[15] << 120) + (z[16] << 128) + (z[17] << 136) + (z[18] << 144) + (z[19] << 152) + (z[20] << 160) + (z[21] << 168) + (z[22] << 176) + (z[23] << 184) + (z[24] << 192) + (z[25] << 200) + (z[26] << 208) + (z[27] << 216) + (z[28] << 224) + (z[29] << 232) + (z[30] << 240) + (z[31] << 248) + (z[32] << 256) + (z[33] << 0x108) + (z[34] << 0x110) + (z[35] << 0x118) + (z[36] << 0x120) + (z[37] << 0x128) + (z[38] << 0x130) + (z[39] << 0x138) + (z[40] << 0x140) + (z[41] << 0x148) + (z[42] << 0x150) + (z[43] << 0x158) + (z[44] << 0x160) + (z[45] << 0x168) + (z[46] << 0x170) + (z[47] << 0x178) + (z[48] << 0x180) + (z[49] << 0x188) + (z[50] << 0x190) + (z[51] << 0x198) + (z[52] << 0x1a0) + (z[53] << 0x1a8) + (z[54] << 0x1b0) + (z[55] << 0x1b8) + (z[56] << 0x1c0) + (z[57] << 0x1c8) + (z[58] << 0x1d0) + (z[59] << 0x1d8) + (z[60] << 0x1e0) + (z[61] << 0x1e8) + (z[62] << 0x1f0) + (z[63] << 0x1f8) */
+
+#include <stdint.h>
+typedef unsigned char fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1;
+typedef signed char fiat_id_tc26_gost_3410_2012_512_paramSetC_int1;
+typedef signed __int128 fiat_id_tc26_gost_3410_2012_512_paramSetC_int128;
+typedef unsigned __int128 fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128;
+
+#if (-1 & 3) != 3
+#error "This code only works on a two's complement system"
+#endif
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u52 is an addition with carry.
+ * Postconditions:
+ * out1 = (arg1 + arg2 + arg3) mod 2^52
+ * out2 = ⌊(arg1 + arg2 + arg3) / 2^52⌋
+ *
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0xfffffffffffff]
+ * arg3: [0x0 ~> 0xfffffffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xfffffffffffff]
+ * out2: [0x0 ~> 0x1]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u52(
+ uint64_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 *out2,
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1, uint64_t arg2,
+ uint64_t arg3) {
+ uint64_t x1;
+ uint64_t x2;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x3;
+ x1 = ((arg1 + arg2) + arg3);
+ x2 = (x1 & UINT64_C(0xfffffffffffff));
+ x3 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x1 >> 52);
+ *out1 = x2;
+ *out2 = x3;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u52 is a subtraction with borrow.
+ * Postconditions:
+ * out1 = (-arg1 + arg2 + -arg3) mod 2^52
+ * out2 = -⌊(-arg1 + arg2 + -arg3) / 2^52⌋
+ *
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0xfffffffffffff]
+ * arg3: [0x0 ~> 0xfffffffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xfffffffffffff]
+ * out2: [0x0 ~> 0x1]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u52(
+ uint64_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 *out2,
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1, uint64_t arg2,
+ uint64_t arg3) {
+ int64_t x1;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_int1 x2;
+ uint64_t x3;
+ x1 = ((int64_t)(arg2 - (int64_t)arg1) - (int64_t)arg3);
+ x2 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_int1)(x1 >> 52);
+ x3 = (x1 & UINT64_C(0xfffffffffffff));
+ *out1 = x3;
+ *out2 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(0x0 - x2);
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u51 is an addition with carry.
+ * Postconditions:
+ * out1 = (arg1 + arg2 + arg3) mod 2^51
+ * out2 = ⌊(arg1 + arg2 + arg3) / 2^51⌋
+ *
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0x7ffffffffffff]
+ * arg3: [0x0 ~> 0x7ffffffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0x7ffffffffffff]
+ * out2: [0x0 ~> 0x1]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u51(
+ uint64_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 *out2,
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1, uint64_t arg2,
+ uint64_t arg3) {
+ uint64_t x1;
+ uint64_t x2;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x3;
+ x1 = ((arg1 + arg2) + arg3);
+ x2 = (x1 & UINT64_C(0x7ffffffffffff));
+ x3 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x1 >> 51);
+ *out1 = x2;
+ *out2 = x3;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u51 is a subtraction with borrow.
+ * Postconditions:
+ * out1 = (-arg1 + arg2 + -arg3) mod 2^51
+ * out2 = -⌊(-arg1 + arg2 + -arg3) / 2^51⌋
+ *
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0x7ffffffffffff]
+ * arg3: [0x0 ~> 0x7ffffffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0x7ffffffffffff]
+ * out2: [0x0 ~> 0x1]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u51(
+ uint64_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 *out2,
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1, uint64_t arg2,
+ uint64_t arg3) {
+ int64_t x1;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_int1 x2;
+ uint64_t x3;
+ x1 = ((int64_t)(arg2 - (int64_t)arg1) - (int64_t)arg3);
+ x2 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_int1)(x1 >> 51);
+ x3 = (x1 & UINT64_C(0x7ffffffffffff));
+ *out1 = x3;
+ *out2 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(0x0 - x2);
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64 is a single-word conditional move.
+ * Postconditions:
+ * out1 = (if arg1 = 0 then arg2 else arg3)
+ *
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0xffffffffffffffff]
+ * arg3: [0x0 ~> 0xffffffffffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffffffffffff]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(
+ uint64_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1,
+ uint64_t arg2, uint64_t arg3) {
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x1;
+ uint64_t x2;
+ uint64_t x3;
+ x1 = (!(!arg1));
+ x2 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_int1)(0x0 - x1) &
+ UINT64_C(0xffffffffffffffff));
+ x3 = ((x2 & arg3) | ((~x2) & arg2));
+ *out1 = x3;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul multiplies two field elements and reduces the result.
+ * Postconditions:
+ * eval out1 mod m = (eval arg1 * eval arg2) mod m
+ *
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]]
+ * arg2: [[0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(
+ uint64_t out1[10], const uint64_t arg1[10], const uint64_t arg2[10]) {
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x1;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x2;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x3;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x4;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x5;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x6;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x7;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x8;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x9;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x10;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x11;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x12;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x13;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x14;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x15;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x16;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x17;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x18;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x19;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x20;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x21;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x22;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x23;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x24;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x25;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x26;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x27;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x28;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x29;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x30;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x31;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x32;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x33;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x34;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x35;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x36;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x37;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x38;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x39;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x40;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x41;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x42;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x43;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x44;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x45;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x46;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x47;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x48;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x49;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x50;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x51;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x52;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x53;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x54;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x55;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x56;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x57;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x58;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x59;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x60;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x61;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x62;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x63;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x64;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x65;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x66;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x67;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x68;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x69;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x70;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x71;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x72;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x73;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x74;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x75;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x76;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x77;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x78;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x79;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x80;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x81;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x82;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x83;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x84;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x85;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x86;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x87;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x88;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x89;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x90;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x91;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x92;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x93;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x94;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x95;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x96;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x97;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x98;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x99;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x100;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x101;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x102;
+ uint64_t x103;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x104;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x105;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x106;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x107;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x108;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x109;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x110;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x111;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x112;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x113;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x114;
+ uint64_t x115;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x116;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x117;
+ uint64_t x118;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x119;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x120;
+ uint64_t x121;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x122;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x123;
+ uint64_t x124;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x125;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x126;
+ uint64_t x127;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x128;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x129;
+ uint64_t x130;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x131;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x132;
+ uint64_t x133;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x134;
+ uint64_t x135;
+ uint64_t x136;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x137;
+ uint64_t x138;
+ uint64_t x139;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x140;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x141;
+ uint64_t x142;
+ uint64_t x143;
+ uint64_t x144;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x145;
+ uint64_t x146;
+ uint64_t x147;
+ x1 = (UINT16_C(0x239) *
+ ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[9]) *
+ (arg2[9])));
+ x2 = (UINT16_C(0x239) *
+ ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[9]) *
+ (arg2[8])));
+ x3 = (UINT16_C(0x239) *
+ ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[9]) *
+ (arg2[7])));
+ x4 = (UINT16_C(0x239) *
+ (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[9]) *
+ (arg2[6])) *
+ 0x2));
+ x5 = (UINT16_C(0x239) *
+ ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[9]) *
+ (arg2[5])));
+ x6 = (UINT16_C(0x239) *
+ ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[9]) *
+ (arg2[4])));
+ x7 = (UINT16_C(0x239) *
+ ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[9]) *
+ (arg2[3])));
+ x8 = (UINT16_C(0x239) *
+ ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[9]) *
+ (arg2[2])));
+ x9 = (UINT16_C(0x239) *
+ (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[9]) *
+ (arg2[1])) *
+ 0x2));
+ x10 = (UINT16_C(0x239) *
+ ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) *
+ (arg2[9])));
+ x11 = (UINT16_C(0x239) *
+ ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) *
+ (arg2[8])));
+ x12 = (UINT16_C(0x239) *
+ (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) *
+ (arg2[7])) *
+ 0x2));
+ x13 = (UINT16_C(0x239) *
+ (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) *
+ (arg2[6])) *
+ 0x2));
+ x14 = (UINT16_C(0x239) *
+ ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) *
+ (arg2[5])));
+ x15 = (UINT16_C(0x239) *
+ ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) *
+ (arg2[4])));
+ x16 = (UINT16_C(0x239) *
+ ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) *
+ (arg2[3])));
+ x17 = (UINT16_C(0x239) *
+ (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) *
+ (arg2[2])) *
+ 0x2));
+ x18 = (UINT16_C(0x239) *
+ ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
+ (arg2[9])));
+ x19 = (UINT16_C(0x239) *
+ (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
+ (arg2[8])) *
+ 0x2));
+ x20 = (UINT16_C(0x239) *
+ (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
+ (arg2[7])) *
+ 0x2));
+ x21 = (UINT16_C(0x239) *
+ (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
+ (arg2[6])) *
+ 0x2));
+ x22 = (UINT16_C(0x239) *
+ ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
+ (arg2[5])));
+ x23 = (UINT16_C(0x239) *
+ ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
+ (arg2[4])));
+ x24 = (UINT16_C(0x239) *
+ (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
+ (arg2[3])) *
+ 0x2));
+ x25 = (UINT16_C(0x239) *
+ (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
+ (arg2[9])) *
+ 0x2));
+ x26 = (UINT16_C(0x239) *
+ (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
+ (arg2[8])) *
+ 0x2));
+ x27 = (UINT16_C(0x239) *
+ (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
+ (arg2[7])) *
+ 0x2));
+ x28 = (UINT16_C(0x239) *
+ (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
+ (arg2[6])) *
+ 0x2));
+ x29 = (UINT16_C(0x239) *
+ ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
+ (arg2[5])));
+ x30 = (UINT16_C(0x239) *
+ (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
+ (arg2[4])) *
+ 0x2));
+ x31 = (UINT16_C(0x239) *
+ ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) *
+ (arg2[9])));
+ x32 = (UINT16_C(0x239) *
+ ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) *
+ (arg2[8])));
+ x33 = (UINT16_C(0x239) *
+ ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) *
+ (arg2[7])));
+ x34 = (UINT16_C(0x239) *
+ ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) *
+ (arg2[6])));
+ x35 = (UINT16_C(0x239) *
+ ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) *
+ (arg2[5])));
+ x36 = (UINT16_C(0x239) *
+ ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
+ (arg2[9])));
+ x37 = (UINT16_C(0x239) *
+ ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
+ (arg2[8])));
+ x38 = (UINT16_C(0x239) *
+ ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
+ (arg2[7])));
+ x39 = (UINT16_C(0x239) *
+ (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
+ (arg2[6])) *
+ 0x2));
+ x40 = (UINT16_C(0x239) *
+ ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
+ (arg2[9])));
+ x41 = (UINT16_C(0x239) *
+ ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
+ (arg2[8])));
+ x42 = (UINT16_C(0x239) *
+ (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
+ (arg2[7])) *
+ 0x2));
+ x43 = (UINT16_C(0x239) *
+ ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
+ (arg2[9])));
+ x44 = (UINT16_C(0x239) *
+ (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
+ (arg2[8])) *
+ 0x2));
+ x45 = (UINT16_C(0x239) *
+ (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
+ (arg2[9])) *
+ 0x2));
+ x46 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[9]) *
+ (arg2[0]));
+ x47 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) *
+ ((arg2[1]) * 0x2));
+ x48 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) *
+ (arg2[0]));
+ x49 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
+ ((arg2[2]) * 0x2));
+ x50 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
+ ((arg2[1]) * 0x2));
+ x51 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
+ (arg2[0]));
+ x52 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
+ ((arg2[3]) * 0x2));
+ x53 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
+ ((arg2[2]) * 0x2));
+ x54 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
+ ((arg2[1]) * 0x2));
+ x55 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
+ (arg2[0]));
+ x56 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) *
+ (arg2[4]));
+ x57 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) *
+ (arg2[3]));
+ x58 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) *
+ (arg2[2]));
+ x59 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) *
+ (arg2[1]));
+ x60 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) *
+ (arg2[0]));
+ x61 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
+ (arg2[5]));
+ x62 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
+ (arg2[4]));
+ x63 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
+ (arg2[3]));
+ x64 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
+ (arg2[2]));
+ x65 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
+ ((arg2[1]) * 0x2));
+ x66 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
+ (arg2[0]));
+ x67 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
+ ((arg2[6]) * 0x2));
+ x68 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
+ (arg2[5]));
+ x69 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
+ (arg2[4]));
+ x70 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
+ (arg2[3]));
+ x71 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
+ ((arg2[2]) * 0x2));
+ x72 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
+ ((arg2[1]) * 0x2));
+ x73 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
+ (arg2[0]));
+ x74 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
+ ((arg2[7]) * 0x2));
+ x75 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
+ ((arg2[6]) * 0x2));
+ x76 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
+ (arg2[5]));
+ x77 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
+ (arg2[4]));
+ x78 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
+ ((arg2[3]) * 0x2));
+ x79 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
+ ((arg2[2]) * 0x2));
+ x80 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
+ ((arg2[1]) * 0x2));
+ x81 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
+ (arg2[0]));
+ x82 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
+ ((arg2[8]) * 0x2));
+ x83 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
+ ((arg2[7]) * 0x2));
+ x84 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
+ ((arg2[6]) * 0x2));
+ x85 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
+ (arg2[5]));
+ x86 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
+ ((arg2[4]) * 0x2));
+ x87 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
+ ((arg2[3]) * 0x2));
+ x88 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
+ ((arg2[2]) * 0x2));
+ x89 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
+ ((arg2[1]) * 0x2));
+ x90 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
+ (arg2[0]));
+ x91 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) *
+ (arg2[9]));
+ x92 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) *
+ (arg2[8]));
+ x93 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) *
+ (arg2[7]));
+ x94 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) *
+ (arg2[6]));
+ x95 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) *
+ (arg2[5]));
+ x96 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) *
+ (arg2[4]));
+ x97 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) *
+ (arg2[3]));
+ x98 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) *
+ (arg2[2]));
+ x99 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) *
+ (arg2[1]));
+ x100 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) *
+ (arg2[0]));
+ x101 = (x100 +
+ (x45 + (x44 + (x42 + (x39 + (x35 + (x30 + (x24 + (x17 + x9)))))))));
+ x102 = (x101 >> 52);
+ x103 = (uint64_t)(x101 & UINT64_C(0xfffffffffffff));
+ x104 =
+ (x91 +
+ (x82 + (x74 + (x67 + (x61 + (x56 + (x52 + (x49 + (x47 + x46)))))))));
+ x105 = (x92 +
+ (x83 + (x75 + (x68 + (x62 + (x57 + (x53 + (x50 + (x48 + x1)))))))));
+ x106 = (x93 +
+ (x84 + (x76 + (x69 + (x63 + (x58 + (x54 + (x51 + (x10 + x2)))))))));
+ x107 = (x94 +
+ (x85 + (x77 + (x70 + (x64 + (x59 + (x55 + (x18 + (x11 + x3)))))))));
+ x108 = (x95 +
+ (x86 + (x78 + (x71 + (x65 + (x60 + (x25 + (x19 + (x12 + x4)))))))));
+ x109 = (x96 +
+ (x87 + (x79 + (x72 + (x66 + (x31 + (x26 + (x20 + (x13 + x5)))))))));
+ x110 = (x97 +
+ (x88 + (x80 + (x73 + (x36 + (x32 + (x27 + (x21 + (x14 + x6)))))))));
+ x111 = (x98 +
+ (x89 + (x81 + (x40 + (x37 + (x33 + (x28 + (x22 + (x15 + x7)))))))));
+ x112 = (x99 +
+ (x90 + (x43 + (x41 + (x38 + (x34 + (x29 + (x23 + (x16 + x8)))))))));
+ x113 = (x102 + x112);
+ x114 = (x113 >> 51);
+ x115 = (uint64_t)(x113 & UINT64_C(0x7ffffffffffff));
+ x116 = (x114 + x111);
+ x117 = (x116 >> 51);
+ x118 = (uint64_t)(x116 & UINT64_C(0x7ffffffffffff));
+ x119 = (x117 + x110);
+ x120 = (x119 >> 51);
+ x121 = (uint64_t)(x119 & UINT64_C(0x7ffffffffffff));
+ x122 = (x120 + x109);
+ x123 = (x122 >> 51);
+ x124 = (uint64_t)(x122 & UINT64_C(0x7ffffffffffff));
+ x125 = (x123 + x108);
+ x126 = (x125 >> 52);
+ x127 = (uint64_t)(x125 & UINT64_C(0xfffffffffffff));
+ x128 = (x126 + x107);
+ x129 = (x128 >> 51);
+ x130 = (uint64_t)(x128 & UINT64_C(0x7ffffffffffff));
+ x131 = (x129 + x106);
+ x132 = (x131 >> 51);
+ x133 = (uint64_t)(x131 & UINT64_C(0x7ffffffffffff));
+ x134 = (x132 + x105);
+ x135 = (uint64_t)(x134 >> 51);
+ x136 = (uint64_t)(x134 & UINT64_C(0x7ffffffffffff));
+ x137 = (x135 + x104);
+ x138 = (uint64_t)(x137 >> 51);
+ x139 = (uint64_t)(x137 & UINT64_C(0x7ffffffffffff));
+ x140 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)UINT16_C(0x239) *
+ x138);
+ x141 = (x103 + x140);
+ x142 = (uint64_t)(x141 >> 52);
+ x143 = (uint64_t)(x141 & UINT64_C(0xfffffffffffff));
+ x144 = (x142 + x115);
+ x145 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x144 >> 51);
+ x146 = (x144 & UINT64_C(0x7ffffffffffff));
+ x147 = (x145 + x118);
+ out1[0] = x143;
+ out1[1] = x146;
+ out1[2] = x147;
+ out1[3] = x121;
+ out1[4] = x124;
+ out1[5] = x127;
+ out1[6] = x130;
+ out1[7] = x133;
+ out1[8] = x136;
+ out1[9] = x139;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square squares a field element and reduces the result.
+ * Postconditions:
+ * eval out1 mod m = (eval arg1 * eval arg1) mod m
+ *
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(
+ uint64_t out1[10], const uint64_t arg1[10]) {
+ uint64_t x1;
+ uint64_t x2;
+ uint64_t x3;
+ uint64_t x4;
+ uint64_t x5;
+ uint64_t x6;
+ uint64_t x7;
+ uint64_t x8;
+ uint64_t x9;
+ uint64_t x10;
+ uint64_t x11;
+ uint64_t x12;
+ uint64_t x13;
+ uint64_t x14;
+ uint64_t x15;
+ uint64_t x16;
+ uint64_t x17;
+ uint64_t x18;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x19;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x20;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x21;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x22;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x23;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x24;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x25;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x26;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x27;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x28;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x29;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x30;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x31;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x32;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x33;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x34;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x35;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x36;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x37;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x38;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x39;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x40;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x41;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x42;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x43;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x44;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x45;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x46;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x47;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x48;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x49;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x50;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x51;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x52;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x53;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x54;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x55;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x56;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x57;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x58;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x59;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x60;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x61;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x62;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x63;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x64;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x65;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x66;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x67;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x68;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x69;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x70;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x71;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x72;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x73;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x74;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x75;
+ uint64_t x76;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x77;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x78;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x79;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x80;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x81;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x82;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x83;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x84;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x85;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x86;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x87;
+ uint64_t x88;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x89;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x90;
+ uint64_t x91;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x92;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x93;
+ uint64_t x94;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x95;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x96;
+ uint64_t x97;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x98;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x99;
+ uint64_t x100;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x101;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x102;
+ uint64_t x103;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x104;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x105;
+ uint64_t x106;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x107;
+ uint64_t x108;
+ uint64_t x109;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x110;
+ uint64_t x111;
+ uint64_t x112;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x113;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x114;
+ uint64_t x115;
+ uint64_t x116;
+ uint64_t x117;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x118;
+ uint64_t x119;
+ uint64_t x120;
+ x1 = ((arg1[9]) * UINT16_C(0x239));
+ x2 = (x1 * 0x2);
+ x3 = ((arg1[9]) * 0x2);
+ x4 = ((arg1[8]) * UINT16_C(0x239));
+ x5 = (x4 * 0x2);
+ x6 = ((arg1[8]) * 0x2);
+ x7 = ((arg1[7]) * UINT16_C(0x239));
+ x8 = (x7 * 0x2);
+ x9 = ((arg1[7]) * 0x2);
+ x10 = ((arg1[6]) * UINT16_C(0x239));
+ x11 = (x10 * 0x2);
+ x12 = ((arg1[6]) * 0x2);
+ x13 = ((arg1[5]) * UINT16_C(0x239));
+ x14 = ((arg1[5]) * 0x2);
+ x15 = ((arg1[4]) * 0x2);
+ x16 = ((arg1[3]) * 0x2);
+ x17 = ((arg1[2]) * 0x2);
+ x18 = ((arg1[1]) * 0x2);
+ x19 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[9]) * x1);
+ x20 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) * x2);
+ x21 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) * x4);
+ x22 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) * x2);
+ x23 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
+ (x5 * 0x2));
+ x24 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
+ (x7 * 0x2));
+ x25 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
+ (x2 * 0x2));
+ x26 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
+ (x5 * 0x2));
+ x27 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
+ (x8 * 0x2));
+ x28 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
+ (x10 * 0x2));
+ x29 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) * x2);
+ x30 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) * x5);
+ x31 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) * x8);
+ x32 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) * x11);
+ x33 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) * x13);
+ x34 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) * x2);
+ x35 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) * x5);
+ x36 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) * x8);
+ x37 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
+ (x11 * 0x2));
+ x38 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) * x14);
+ x39 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
+ (arg1[4]));
+ x40 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) * x2);
+ x41 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) * x5);
+ x42 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
+ (x8 * 0x2));
+ x43 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
+ (x12 * 0x2));
+ x44 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) * x14);
+ x45 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) * x15);
+ x46 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
+ (arg1[3]));
+ x47 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) * x2);
+ x48 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
+ (x5 * 0x2));
+ x49 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
+ (x9 * 0x2));
+ x50 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
+ (x12 * 0x2));
+ x51 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) * x14);
+ x52 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) * x15);
+ x53 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
+ (x16 * 0x2));
+ x54 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
+ ((arg1[2]) * 0x2));
+ x55 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
+ (x2 * 0x2));
+ x56 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
+ (x6 * 0x2));
+ x57 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
+ (x9 * 0x2));
+ x58 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
+ (x12 * 0x2));
+ x59 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) * x14);
+ x60 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
+ (x15 * 0x2));
+ x61 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
+ (x16 * 0x2));
+ x62 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
+ (x17 * 0x2));
+ x63 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
+ ((arg1[1]) * 0x2));
+ x64 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) * x3);
+ x65 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) * x6);
+ x66 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) * x9);
+ x67 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) * x12);
+ x68 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) * x14);
+ x69 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) * x15);
+ x70 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) * x16);
+ x71 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) * x17);
+ x72 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) * x18);
+ x73 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) *
+ (arg1[0]));
+ x74 = (x73 + (x55 + (x48 + (x42 + (x37 + x33)))));
+ x75 = (x74 >> 52);
+ x76 = (uint64_t)(x74 & UINT64_C(0xfffffffffffff));
+ x77 = (x64 + (x56 + (x49 + (x43 + x38))));
+ x78 = (x65 + (x57 + (x50 + (x44 + (x39 + x19)))));
+ x79 = (x66 + (x58 + (x51 + (x45 + x20))));
+ x80 = (x67 + (x59 + (x52 + (x46 + (x22 + x21)))));
+ x81 = (x68 + (x60 + (x53 + (x25 + x23))));
+ x82 = (x69 + (x61 + (x54 + (x29 + (x26 + x24)))));
+ x83 = (x70 + (x62 + (x34 + (x30 + x27))));
+ x84 = (x71 + (x63 + (x40 + (x35 + (x31 + x28)))));
+ x85 = (x72 + (x47 + (x41 + (x36 + x32))));
+ x86 = (x75 + x85);
+ x87 = (x86 >> 51);
+ x88 = (uint64_t)(x86 & UINT64_C(0x7ffffffffffff));
+ x89 = (x87 + x84);
+ x90 = (x89 >> 51);
+ x91 = (uint64_t)(x89 & UINT64_C(0x7ffffffffffff));
+ x92 = (x90 + x83);
+ x93 = (x92 >> 51);
+ x94 = (uint64_t)(x92 & UINT64_C(0x7ffffffffffff));
+ x95 = (x93 + x82);
+ x96 = (x95 >> 51);
+ x97 = (uint64_t)(x95 & UINT64_C(0x7ffffffffffff));
+ x98 = (x96 + x81);
+ x99 = (x98 >> 52);
+ x100 = (uint64_t)(x98 & UINT64_C(0xfffffffffffff));
+ x101 = (x99 + x80);
+ x102 = (x101 >> 51);
+ x103 = (uint64_t)(x101 & UINT64_C(0x7ffffffffffff));
+ x104 = (x102 + x79);
+ x105 = (x104 >> 51);
+ x106 = (uint64_t)(x104 & UINT64_C(0x7ffffffffffff));
+ x107 = (x105 + x78);
+ x108 = (uint64_t)(x107 >> 51);
+ x109 = (uint64_t)(x107 & UINT64_C(0x7ffffffffffff));
+ x110 = (x108 + x77);
+ x111 = (uint64_t)(x110 >> 51);
+ x112 = (uint64_t)(x110 & UINT64_C(0x7ffffffffffff));
+ x113 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)UINT16_C(0x239) *
+ x111);
+ x114 = (x76 + x113);
+ x115 = (uint64_t)(x114 >> 52);
+ x116 = (uint64_t)(x114 & UINT64_C(0xfffffffffffff));
+ x117 = (x115 + x88);
+ x118 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x117 >> 51);
+ x119 = (x117 & UINT64_C(0x7ffffffffffff));
+ x120 = (x118 + x91);
+ out1[0] = x116;
+ out1[1] = x119;
+ out1[2] = x120;
+ out1[3] = x94;
+ out1[4] = x97;
+ out1[5] = x100;
+ out1[6] = x103;
+ out1[7] = x106;
+ out1[8] = x109;
+ out1[9] = x112;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_carry reduces a field element.
+ * Postconditions:
+ * eval out1 mod m = eval arg1 mod m
+ *
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetC_carry(
+ uint64_t out1[10], const uint64_t arg1[10]) {
+ uint64_t x1;
+ uint64_t x2;
+ uint64_t x3;
+ uint64_t x4;
+ uint64_t x5;
+ uint64_t x6;
+ uint64_t x7;
+ uint64_t x8;
+ uint64_t x9;
+ uint64_t x10;
+ uint64_t x11;
+ uint64_t x12;
+ uint64_t x13;
+ uint64_t x14;
+ uint64_t x15;
+ uint64_t x16;
+ uint64_t x17;
+ uint64_t x18;
+ uint64_t x19;
+ uint64_t x20;
+ uint64_t x21;
+ uint64_t x22;
+ x1 = (arg1[0]);
+ x2 = ((x1 >> 52) + (arg1[1]));
+ x3 = ((x2 >> 51) + (arg1[2]));
+ x4 = ((x3 >> 51) + (arg1[3]));
+ x5 = ((x4 >> 51) + (arg1[4]));
+ x6 = ((x5 >> 51) + (arg1[5]));
+ x7 = ((x6 >> 52) + (arg1[6]));
+ x8 = ((x7 >> 51) + (arg1[7]));
+ x9 = ((x8 >> 51) + (arg1[8]));
+ x10 = ((x9 >> 51) + (arg1[9]));
+ x11 = ((x1 & UINT64_C(0xfffffffffffff)) + (UINT16_C(0x239) * (x10 >> 51)));
+ x12 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x11 >> 52) +
+ (x2 & UINT64_C(0x7ffffffffffff)));
+ x13 = (x11 & UINT64_C(0xfffffffffffff));
+ x14 = (x12 & UINT64_C(0x7ffffffffffff));
+ x15 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x12 >> 51) +
+ (x3 & UINT64_C(0x7ffffffffffff)));
+ x16 = (x4 & UINT64_C(0x7ffffffffffff));
+ x17 = (x5 & UINT64_C(0x7ffffffffffff));
+ x18 = (x6 & UINT64_C(0xfffffffffffff));
+ x19 = (x7 & UINT64_C(0x7ffffffffffff));
+ x20 = (x8 & UINT64_C(0x7ffffffffffff));
+ x21 = (x9 & UINT64_C(0x7ffffffffffff));
+ x22 = (x10 & UINT64_C(0x7ffffffffffff));
+ out1[0] = x13;
+ out1[1] = x14;
+ out1[2] = x15;
+ out1[3] = x16;
+ out1[4] = x17;
+ out1[5] = x18;
+ out1[6] = x19;
+ out1[7] = x20;
+ out1[8] = x21;
+ out1[9] = x22;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_add adds two field elements.
+ * Postconditions:
+ * eval out1 mod m = (eval arg1 + eval arg2) mod m
+ *
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
+ * arg2: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetC_add(
+ uint64_t out1[10], const uint64_t arg1[10], const uint64_t arg2[10]) {
+ uint64_t x1;
+ uint64_t x2;
+ uint64_t x3;
+ uint64_t x4;
+ uint64_t x5;
+ uint64_t x6;
+ uint64_t x7;
+ uint64_t x8;
+ uint64_t x9;
+ uint64_t x10;
+ x1 = ((arg1[0]) + (arg2[0]));
+ x2 = ((arg1[1]) + (arg2[1]));
+ x3 = ((arg1[2]) + (arg2[2]));
+ x4 = ((arg1[3]) + (arg2[3]));
+ x5 = ((arg1[4]) + (arg2[4]));
+ x6 = ((arg1[5]) + (arg2[5]));
+ x7 = ((arg1[6]) + (arg2[6]));
+ x8 = ((arg1[7]) + (arg2[7]));
+ x9 = ((arg1[8]) + (arg2[8]));
+ x10 = ((arg1[9]) + (arg2[9]));
+ out1[0] = x1;
+ out1[1] = x2;
+ out1[2] = x3;
+ out1[3] = x4;
+ out1[4] = x5;
+ out1[5] = x6;
+ out1[6] = x7;
+ out1[7] = x8;
+ out1[8] = x9;
+ out1[9] = x10;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_sub subtracts two field elements.
+ * Postconditions:
+ * eval out1 mod m = (eval arg1 - eval arg2) mod m
+ *
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
+ * arg2: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetC_sub(
+ uint64_t out1[10], const uint64_t arg1[10], const uint64_t arg2[10]) {
+ uint64_t x1;
+ uint64_t x2;
+ uint64_t x3;
+ uint64_t x4;
+ uint64_t x5;
+ uint64_t x6;
+ uint64_t x7;
+ uint64_t x8;
+ uint64_t x9;
+ uint64_t x10;
+ x1 = ((UINT64_C(0x1ffffffffffb8e) + (arg1[0])) - (arg2[0]));
+ x2 = ((UINT64_C(0xffffffffffffe) + (arg1[1])) - (arg2[1]));
+ x3 = ((UINT64_C(0xffffffffffffe) + (arg1[2])) - (arg2[2]));
+ x4 = ((UINT64_C(0xffffffffffffe) + (arg1[3])) - (arg2[3]));
+ x5 = ((UINT64_C(0xffffffffffffe) + (arg1[4])) - (arg2[4]));
+ x6 = ((UINT64_C(0x1ffffffffffffe) + (arg1[5])) - (arg2[5]));
+ x7 = ((UINT64_C(0xffffffffffffe) + (arg1[6])) - (arg2[6]));
+ x8 = ((UINT64_C(0xffffffffffffe) + (arg1[7])) - (arg2[7]));
+ x9 = ((UINT64_C(0xffffffffffffe) + (arg1[8])) - (arg2[8]));
+ x10 = ((UINT64_C(0xffffffffffffe) + (arg1[9])) - (arg2[9]));
+ out1[0] = x1;
+ out1[1] = x2;
+ out1[2] = x3;
+ out1[3] = x4;
+ out1[4] = x5;
+ out1[5] = x6;
+ out1[6] = x7;
+ out1[7] = x8;
+ out1[8] = x9;
+ out1[9] = x10;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_opp negates a field element.
+ * Postconditions:
+ * eval out1 mod m = -eval arg1 mod m
+ *
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(
+ uint64_t out1[10], const uint64_t arg1[10]) {
+ uint64_t x1;
+ uint64_t x2;
+ uint64_t x3;
+ uint64_t x4;
+ uint64_t x5;
+ uint64_t x6;
+ uint64_t x7;
+ uint64_t x8;
+ uint64_t x9;
+ uint64_t x10;
+ x1 = (UINT64_C(0x1ffffffffffb8e) - (arg1[0]));
+ x2 = (UINT64_C(0xffffffffffffe) - (arg1[1]));
+ x3 = (UINT64_C(0xffffffffffffe) - (arg1[2]));
+ x4 = (UINT64_C(0xffffffffffffe) - (arg1[3]));
+ x5 = (UINT64_C(0xffffffffffffe) - (arg1[4]));
+ x6 = (UINT64_C(0x1ffffffffffffe) - (arg1[5]));
+ x7 = (UINT64_C(0xffffffffffffe) - (arg1[6]));
+ x8 = (UINT64_C(0xffffffffffffe) - (arg1[7]));
+ x9 = (UINT64_C(0xffffffffffffe) - (arg1[8]));
+ x10 = (UINT64_C(0xffffffffffffe) - (arg1[9]));
+ out1[0] = x1;
+ out1[1] = x2;
+ out1[2] = x3;
+ out1[3] = x4;
+ out1[4] = x5;
+ out1[5] = x6;
+ out1[6] = x7;
+ out1[7] = x8;
+ out1[8] = x9;
+ out1[9] = x10;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz is a multi-limb conditional select.
+ * Postconditions:
+ * eval out1 = (if arg1 = 0 then eval arg2 else eval arg3)
+ *
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * arg3: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
+ uint64_t out1[10], fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1,
+ const uint64_t arg2[10], const uint64_t arg3[10]) {
+ uint64_t x1;
+ uint64_t x2;
+ uint64_t x3;
+ uint64_t x4;
+ uint64_t x5;
+ uint64_t x6;
+ uint64_t x7;
+ uint64_t x8;
+ uint64_t x9;
+ uint64_t x10;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(&x1, arg1, (arg2[0]),
+ (arg3[0]));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(&x2, arg1, (arg2[1]),
+ (arg3[1]));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(&x3, arg1, (arg2[2]),
+ (arg3[2]));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(&x4, arg1, (arg2[3]),
+ (arg3[3]));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(&x5, arg1, (arg2[4]),
+ (arg3[4]));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(&x6, arg1, (arg2[5]),
+ (arg3[5]));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(&x7, arg1, (arg2[6]),
+ (arg3[6]));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(&x8, arg1, (arg2[7]),
+ (arg3[7]));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(&x9, arg1, (arg2[8]),
+ (arg3[8]));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(&x10, arg1, (arg2[9]),
+ (arg3[9]));
+ out1[0] = x1;
+ out1[1] = x2;
+ out1[2] = x3;
+ out1[3] = x4;
+ out1[4] = x5;
+ out1[5] = x6;
+ out1[6] = x7;
+ out1[7] = x8;
+ out1[8] = x9;
+ out1[9] = x10;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes serializes a field element to bytes in little-endian order.
+ * Postconditions:
+ * out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..63]
+ *
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(
+ uint8_t out1[64], const uint64_t arg1[10]) {
+ uint64_t x1;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x2;
+ uint64_t x3;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x4;
+ uint64_t x5;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x6;
+ uint64_t x7;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x8;
+ uint64_t x9;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x10;
+ uint64_t x11;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x12;
+ uint64_t x13;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x14;
+ uint64_t x15;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x16;
+ uint64_t x17;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x18;
+ uint64_t x19;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x20;
+ uint64_t x21;
+ uint64_t x22;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x23;
+ uint64_t x24;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x25;
+ uint64_t x26;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x27;
+ uint64_t x28;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x29;
+ uint64_t x30;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x31;
+ uint64_t x32;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x33;
+ uint64_t x34;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x35;
+ uint64_t x36;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x37;
+ uint64_t x38;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x39;
+ uint64_t x40;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x41;
+ uint64_t x42;
+ uint64_t x43;
+ uint64_t x44;
+ uint64_t x45;
+ uint64_t x46;
+ uint64_t x47;
+ uint64_t x48;
+ uint64_t x49;
+ uint64_t x50;
+ uint8_t x51;
+ uint64_t x52;
+ uint8_t x53;
+ uint64_t x54;
+ uint8_t x55;
+ uint64_t x56;
+ uint8_t x57;
+ uint64_t x58;
+ uint8_t x59;
+ uint8_t x60;
+ uint8_t x61;
+ uint64_t x62;
+ uint64_t x63;
+ uint8_t x64;
+ uint64_t x65;
+ uint8_t x66;
+ uint64_t x67;
+ uint8_t x68;
+ uint64_t x69;
+ uint8_t x70;
+ uint64_t x71;
+ uint8_t x72;
+ uint8_t x73;
+ uint8_t x74;
+ uint64_t x75;
+ uint64_t x76;
+ uint8_t x77;
+ uint64_t x78;
+ uint8_t x79;
+ uint64_t x80;
+ uint8_t x81;
+ uint64_t x82;
+ uint8_t x83;
+ uint64_t x84;
+ uint8_t x85;
+ uint64_t x86;
+ uint8_t x87;
+ uint8_t x88;
+ uint8_t x89;
+ uint64_t x90;
+ uint64_t x91;
+ uint8_t x92;
+ uint64_t x93;
+ uint8_t x94;
+ uint64_t x95;
+ uint8_t x96;
+ uint64_t x97;
+ uint8_t x98;
+ uint64_t x99;
+ uint8_t x100;
+ uint8_t x101;
+ uint8_t x102;
+ uint64_t x103;
+ uint64_t x104;
+ uint8_t x105;
+ uint64_t x106;
+ uint8_t x107;
+ uint64_t x108;
+ uint8_t x109;
+ uint64_t x110;
+ uint8_t x111;
+ uint64_t x112;
+ uint8_t x113;
+ uint8_t x114;
+ uint8_t x115;
+ uint8_t x116;
+ uint64_t x117;
+ uint8_t x118;
+ uint64_t x119;
+ uint8_t x120;
+ uint64_t x121;
+ uint8_t x122;
+ uint64_t x123;
+ uint8_t x124;
+ uint64_t x125;
+ uint8_t x126;
+ uint8_t x127;
+ uint8_t x128;
+ uint64_t x129;
+ uint64_t x130;
+ uint8_t x131;
+ uint64_t x132;
+ uint8_t x133;
+ uint64_t x134;
+ uint8_t x135;
+ uint64_t x136;
+ uint8_t x137;
+ uint64_t x138;
+ uint8_t x139;
+ uint8_t x140;
+ uint8_t x141;
+ uint64_t x142;
+ uint64_t x143;
+ uint8_t x144;
+ uint64_t x145;
+ uint8_t x146;
+ uint64_t x147;
+ uint8_t x148;
+ uint64_t x149;
+ uint8_t x150;
+ uint64_t x151;
+ uint8_t x152;
+ uint64_t x153;
+ uint8_t x154;
+ uint8_t x155;
+ uint8_t x156;
+ uint64_t x157;
+ uint64_t x158;
+ uint8_t x159;
+ uint64_t x160;
+ uint8_t x161;
+ uint64_t x162;
+ uint8_t x163;
+ uint64_t x164;
+ uint8_t x165;
+ uint64_t x166;
+ uint8_t x167;
+ uint8_t x168;
+ uint8_t x169;
+ uint64_t x170;
+ uint64_t x171;
+ uint8_t x172;
+ uint64_t x173;
+ uint8_t x174;
+ uint64_t x175;
+ uint8_t x176;
+ uint64_t x177;
+ uint8_t x178;
+ uint64_t x179;
+ uint8_t x180;
+ uint8_t x181;
+ uint8_t x182;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u52(
+ &x1, &x2, 0x0, (arg1[0]), UINT64_C(0xffffffffffdc7));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u51(
+ &x3, &x4, x2, (arg1[1]), UINT64_C(0x7ffffffffffff));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u51(
+ &x5, &x6, x4, (arg1[2]), UINT64_C(0x7ffffffffffff));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u51(
+ &x7, &x8, x6, (arg1[3]), UINT64_C(0x7ffffffffffff));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u51(
+ &x9, &x10, x8, (arg1[4]), UINT64_C(0x7ffffffffffff));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u52(
+ &x11, &x12, x10, (arg1[5]), UINT64_C(0xfffffffffffff));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u51(
+ &x13, &x14, x12, (arg1[6]), UINT64_C(0x7ffffffffffff));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u51(
+ &x15, &x16, x14, (arg1[7]), UINT64_C(0x7ffffffffffff));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u51(
+ &x17, &x18, x16, (arg1[8]), UINT64_C(0x7ffffffffffff));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u51(
+ &x19, &x20, x18, (arg1[9]), UINT64_C(0x7ffffffffffff));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(
+ &x21, x20, 0x0, UINT64_C(0xffffffffffffffff));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u52(
+ &x22, &x23, 0x0, x1, (x21 & UINT64_C(0xffffffffffdc7)));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u51(
+ &x24, &x25, x23, x3, (x21 & UINT64_C(0x7ffffffffffff)));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u51(
+ &x26, &x27, x25, x5, (x21 & UINT64_C(0x7ffffffffffff)));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u51(
+ &x28, &x29, x27, x7, (x21 & UINT64_C(0x7ffffffffffff)));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u51(
+ &x30, &x31, x29, x9, (x21 & UINT64_C(0x7ffffffffffff)));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u52(
+ &x32, &x33, x31, x11, (x21 & UINT64_C(0xfffffffffffff)));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u51(
+ &x34, &x35, x33, x13, (x21 & UINT64_C(0x7ffffffffffff)));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u51(
+ &x36, &x37, x35, x15, (x21 & UINT64_C(0x7ffffffffffff)));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u51(
+ &x38, &x39, x37, x17, (x21 & UINT64_C(0x7ffffffffffff)));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u51(
+ &x40, &x41, x39, x19, (x21 & UINT64_C(0x7ffffffffffff)));
+ x42 = (x40 << 5);
+ x43 = (x38 << 2);
+ x44 = (x36 << 7);
+ x45 = (x34 << 4);
+ x46 = (x30 << 5);
+ x47 = (x28 << 2);
+ x48 = (x26 << 7);
+ x49 = (x24 << 4);
+ x50 = (x22 >> 8);
+ x51 = (uint8_t)(x22 & UINT8_C(0xff));
+ x52 = (x50 >> 8);
+ x53 = (uint8_t)(x50 & UINT8_C(0xff));
+ x54 = (x52 >> 8);
+ x55 = (uint8_t)(x52 & UINT8_C(0xff));
+ x56 = (x54 >> 8);
+ x57 = (uint8_t)(x54 & UINT8_C(0xff));
+ x58 = (x56 >> 8);
+ x59 = (uint8_t)(x56 & UINT8_C(0xff));
+ x60 = (uint8_t)(x58 >> 8);
+ x61 = (uint8_t)(x58 & UINT8_C(0xff));
+ x62 = (x60 + x49);
+ x63 = (x62 >> 8);
+ x64 = (uint8_t)(x62 & UINT8_C(0xff));
+ x65 = (x63 >> 8);
+ x66 = (uint8_t)(x63 & UINT8_C(0xff));
+ x67 = (x65 >> 8);
+ x68 = (uint8_t)(x65 & UINT8_C(0xff));
+ x69 = (x67 >> 8);
+ x70 = (uint8_t)(x67 & UINT8_C(0xff));
+ x71 = (x69 >> 8);
+ x72 = (uint8_t)(x69 & UINT8_C(0xff));
+ x73 = (uint8_t)(x71 >> 8);
+ x74 = (uint8_t)(x71 & UINT8_C(0xff));
+ x75 = (x73 + x48);
+ x76 = (x75 >> 8);
+ x77 = (uint8_t)(x75 & UINT8_C(0xff));
+ x78 = (x76 >> 8);
+ x79 = (uint8_t)(x76 & UINT8_C(0xff));
+ x80 = (x78 >> 8);
+ x81 = (uint8_t)(x78 & UINT8_C(0xff));
+ x82 = (x80 >> 8);
+ x83 = (uint8_t)(x80 & UINT8_C(0xff));
+ x84 = (x82 >> 8);
+ x85 = (uint8_t)(x82 & UINT8_C(0xff));
+ x86 = (x84 >> 8);
+ x87 = (uint8_t)(x84 & UINT8_C(0xff));
+ x88 = (uint8_t)(x86 >> 8);
+ x89 = (uint8_t)(x86 & UINT8_C(0xff));
+ x90 = (x88 + x47);
+ x91 = (x90 >> 8);
+ x92 = (uint8_t)(x90 & UINT8_C(0xff));
+ x93 = (x91 >> 8);
+ x94 = (uint8_t)(x91 & UINT8_C(0xff));
+ x95 = (x93 >> 8);
+ x96 = (uint8_t)(x93 & UINT8_C(0xff));
+ x97 = (x95 >> 8);
+ x98 = (uint8_t)(x95 & UINT8_C(0xff));
+ x99 = (x97 >> 8);
+ x100 = (uint8_t)(x97 & UINT8_C(0xff));
+ x101 = (uint8_t)(x99 >> 8);
+ x102 = (uint8_t)(x99 & UINT8_C(0xff));
+ x103 = (x101 + x46);
+ x104 = (x103 >> 8);
+ x105 = (uint8_t)(x103 & UINT8_C(0xff));
+ x106 = (x104 >> 8);
+ x107 = (uint8_t)(x104 & UINT8_C(0xff));
+ x108 = (x106 >> 8);
+ x109 = (uint8_t)(x106 & UINT8_C(0xff));
+ x110 = (x108 >> 8);
+ x111 = (uint8_t)(x108 & UINT8_C(0xff));
+ x112 = (x110 >> 8);
+ x113 = (uint8_t)(x110 & UINT8_C(0xff));
+ x114 = (uint8_t)(x112 >> 8);
+ x115 = (uint8_t)(x112 & UINT8_C(0xff));
+ x116 = (uint8_t)(x114 & UINT8_C(0xff));
+ x117 = (x32 >> 8);
+ x118 = (uint8_t)(x32 & UINT8_C(0xff));
+ x119 = (x117 >> 8);
+ x120 = (uint8_t)(x117 & UINT8_C(0xff));
+ x121 = (x119 >> 8);
+ x122 = (uint8_t)(x119 & UINT8_C(0xff));
+ x123 = (x121 >> 8);
+ x124 = (uint8_t)(x121 & UINT8_C(0xff));
+ x125 = (x123 >> 8);
+ x126 = (uint8_t)(x123 & UINT8_C(0xff));
+ x127 = (uint8_t)(x125 >> 8);
+ x128 = (uint8_t)(x125 & UINT8_C(0xff));
+ x129 = (x127 + x45);
+ x130 = (x129 >> 8);
+ x131 = (uint8_t)(x129 & UINT8_C(0xff));
+ x132 = (x130 >> 8);
+ x133 = (uint8_t)(x130 & UINT8_C(0xff));
+ x134 = (x132 >> 8);
+ x135 = (uint8_t)(x132 & UINT8_C(0xff));
+ x136 = (x134 >> 8);
+ x137 = (uint8_t)(x134 & UINT8_C(0xff));
+ x138 = (x136 >> 8);
+ x139 = (uint8_t)(x136 & UINT8_C(0xff));
+ x140 = (uint8_t)(x138 >> 8);
+ x141 = (uint8_t)(x138 & UINT8_C(0xff));
+ x142 = (x140 + x44);
+ x143 = (x142 >> 8);
+ x144 = (uint8_t)(x142 & UINT8_C(0xff));
+ x145 = (x143 >> 8);
+ x146 = (uint8_t)(x143 & UINT8_C(0xff));
+ x147 = (x145 >> 8);
+ x148 = (uint8_t)(x145 & UINT8_C(0xff));
+ x149 = (x147 >> 8);
+ x150 = (uint8_t)(x147 & UINT8_C(0xff));
+ x151 = (x149 >> 8);
+ x152 = (uint8_t)(x149 & UINT8_C(0xff));
+ x153 = (x151 >> 8);
+ x154 = (uint8_t)(x151 & UINT8_C(0xff));
+ x155 = (uint8_t)(x153 >> 8);
+ x156 = (uint8_t)(x153 & UINT8_C(0xff));
+ x157 = (x155 + x43);
+ x158 = (x157 >> 8);
+ x159 = (uint8_t)(x157 & UINT8_C(0xff));
+ x160 = (x158 >> 8);
+ x161 = (uint8_t)(x158 & UINT8_C(0xff));
+ x162 = (x160 >> 8);
+ x163 = (uint8_t)(x160 & UINT8_C(0xff));
+ x164 = (x162 >> 8);
+ x165 = (uint8_t)(x162 & UINT8_C(0xff));
+ x166 = (x164 >> 8);
+ x167 = (uint8_t)(x164 & UINT8_C(0xff));
+ x168 = (uint8_t)(x166 >> 8);
+ x169 = (uint8_t)(x166 & UINT8_C(0xff));
+ x170 = (x168 + x42);
+ x171 = (x170 >> 8);
+ x172 = (uint8_t)(x170 & UINT8_C(0xff));
+ x173 = (x171 >> 8);
+ x174 = (uint8_t)(x171 & UINT8_C(0xff));
+ x175 = (x173 >> 8);
+ x176 = (uint8_t)(x173 & UINT8_C(0xff));
+ x177 = (x175 >> 8);
+ x178 = (uint8_t)(x175 & UINT8_C(0xff));
+ x179 = (x177 >> 8);
+ x180 = (uint8_t)(x177 & UINT8_C(0xff));
+ x181 = (uint8_t)(x179 >> 8);
+ x182 = (uint8_t)(x179 & UINT8_C(0xff));
+ out1[0] = x51;
+ out1[1] = x53;
+ out1[2] = x55;
+ out1[3] = x57;
+ out1[4] = x59;
+ out1[5] = x61;
+ out1[6] = x64;
+ out1[7] = x66;
+ out1[8] = x68;
+ out1[9] = x70;
+ out1[10] = x72;
+ out1[11] = x74;
+ out1[12] = x77;
+ out1[13] = x79;
+ out1[14] = x81;
+ out1[15] = x83;
+ out1[16] = x85;
+ out1[17] = x87;
+ out1[18] = x89;
+ out1[19] = x92;
+ out1[20] = x94;
+ out1[21] = x96;
+ out1[22] = x98;
+ out1[23] = x100;
+ out1[24] = x102;
+ out1[25] = x105;
+ out1[26] = x107;
+ out1[27] = x109;
+ out1[28] = x111;
+ out1[29] = x113;
+ out1[30] = x115;
+ out1[31] = x116;
+ out1[32] = x118;
+ out1[33] = x120;
+ out1[34] = x122;
+ out1[35] = x124;
+ out1[36] = x126;
+ out1[37] = x128;
+ out1[38] = x131;
+ out1[39] = x133;
+ out1[40] = x135;
+ out1[41] = x137;
+ out1[42] = x139;
+ out1[43] = x141;
+ out1[44] = x144;
+ out1[45] = x146;
+ out1[46] = x148;
+ out1[47] = x150;
+ out1[48] = x152;
+ out1[49] = x154;
+ out1[50] = x156;
+ out1[51] = x159;
+ out1[52] = x161;
+ out1[53] = x163;
+ out1[54] = x165;
+ out1[55] = x167;
+ out1[56] = x169;
+ out1[57] = x172;
+ out1[58] = x174;
+ out1[59] = x176;
+ out1[60] = x178;
+ out1[61] = x180;
+ out1[62] = x182;
+ out1[63] = x181;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes deserializes a field element from bytes in little-endian order.
+ * Postconditions:
+ * eval out1 mod m = bytes_eval arg1 mod m
+ *
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes(
+ uint64_t out1[10], const uint8_t arg1[64]) {
+ uint64_t x1;
+ uint64_t x2;
+ uint64_t x3;
+ uint64_t x4;
+ uint64_t x5;
+ uint64_t x6;
+ uint64_t x7;
+ uint64_t x8;
+ uint64_t x9;
+ uint64_t x10;
+ uint64_t x11;
+ uint64_t x12;
+ uint64_t x13;
+ uint64_t x14;
+ uint64_t x15;
+ uint64_t x16;
+ uint64_t x17;
+ uint64_t x18;
+ uint64_t x19;
+ uint64_t x20;
+ uint64_t x21;
+ uint64_t x22;
+ uint64_t x23;
+ uint64_t x24;
+ uint64_t x25;
+ uint64_t x26;
+ uint64_t x27;
+ uint64_t x28;
+ uint64_t x29;
+ uint64_t x30;
+ uint64_t x31;
+ uint8_t x32;
+ uint64_t x33;
+ uint64_t x34;
+ uint64_t x35;
+ uint64_t x36;
+ uint64_t x37;
+ uint64_t x38;
+ uint64_t x39;
+ uint64_t x40;
+ uint64_t x41;
+ uint64_t x42;
+ uint64_t x43;
+ uint64_t x44;
+ uint64_t x45;
+ uint64_t x46;
+ uint64_t x47;
+ uint64_t x48;
+ uint64_t x49;
+ uint64_t x50;
+ uint64_t x51;
+ uint64_t x52;
+ uint64_t x53;
+ uint64_t x54;
+ uint64_t x55;
+ uint64_t x56;
+ uint64_t x57;
+ uint64_t x58;
+ uint64_t x59;
+ uint64_t x60;
+ uint64_t x61;
+ uint64_t x62;
+ uint64_t x63;
+ uint8_t x64;
+ uint64_t x65;
+ uint8_t x66;
+ uint64_t x67;
+ uint64_t x68;
+ uint64_t x69;
+ uint64_t x70;
+ uint64_t x71;
+ uint64_t x72;
+ uint64_t x73;
+ uint64_t x74;
+ uint64_t x75;
+ uint64_t x76;
+ uint64_t x77;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x78;
+ uint64_t x79;
+ uint64_t x80;
+ uint8_t x81;
+ uint64_t x82;
+ uint64_t x83;
+ uint8_t x84;
+ uint64_t x85;
+ uint64_t x86;
+ uint64_t x87;
+ uint8_t x88;
+ uint64_t x89;
+ uint64_t x90;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x91;
+ uint64_t x92;
+ uint64_t x93;
+ uint8_t x94;
+ uint64_t x95;
+ uint64_t x96;
+ uint8_t x97;
+ uint64_t x98;
+ uint64_t x99;
+ x1 = ((uint64_t)(arg1[63]) << 43);
+ x2 = ((uint64_t)(arg1[62]) << 35);
+ x3 = ((uint64_t)(arg1[61]) << 27);
+ x4 = ((uint64_t)(arg1[60]) << 19);
+ x5 = ((uint64_t)(arg1[59]) << 11);
+ x6 = ((uint64_t)(arg1[58]) << 3);
+ x7 = ((uint64_t)(arg1[57]) << 46);
+ x8 = ((uint64_t)(arg1[56]) << 38);
+ x9 = ((uint64_t)(arg1[55]) << 30);
+ x10 = ((uint64_t)(arg1[54]) << 22);
+ x11 = ((uint64_t)(arg1[53]) << 14);
+ x12 = ((uint64_t)(arg1[52]) << 6);
+ x13 = ((uint64_t)(arg1[51]) << 49);
+ x14 = ((uint64_t)(arg1[50]) << 41);
+ x15 = ((uint64_t)(arg1[49]) << 33);
+ x16 = ((uint64_t)(arg1[48]) << 25);
+ x17 = ((uint64_t)(arg1[47]) << 17);
+ x18 = ((uint64_t)(arg1[46]) << 9);
+ x19 = ((uint64_t)(arg1[45]) * 0x2);
+ x20 = ((uint64_t)(arg1[44]) << 44);
+ x21 = ((uint64_t)(arg1[43]) << 36);
+ x22 = ((uint64_t)(arg1[42]) << 28);
+ x23 = ((uint64_t)(arg1[41]) << 20);
+ x24 = ((uint64_t)(arg1[40]) << 12);
+ x25 = ((uint64_t)(arg1[39]) << 4);
+ x26 = ((uint64_t)(arg1[38]) << 48);
+ x27 = ((uint64_t)(arg1[37]) << 40);
+ x28 = ((uint64_t)(arg1[36]) << 32);
+ x29 = ((uint64_t)(arg1[35]) << 24);
+ x30 = ((uint64_t)(arg1[34]) << 16);
+ x31 = ((uint64_t)(arg1[33]) << 8);
+ x32 = (arg1[32]);
+ x33 = ((uint64_t)(arg1[31]) << 43);
+ x34 = ((uint64_t)(arg1[30]) << 35);
+ x35 = ((uint64_t)(arg1[29]) << 27);
+ x36 = ((uint64_t)(arg1[28]) << 19);
+ x37 = ((uint64_t)(arg1[27]) << 11);
+ x38 = ((uint64_t)(arg1[26]) << 3);
+ x39 = ((uint64_t)(arg1[25]) << 46);
+ x40 = ((uint64_t)(arg1[24]) << 38);
+ x41 = ((uint64_t)(arg1[23]) << 30);
+ x42 = ((uint64_t)(arg1[22]) << 22);
+ x43 = ((uint64_t)(arg1[21]) << 14);
+ x44 = ((uint64_t)(arg1[20]) << 6);
+ x45 = ((uint64_t)(arg1[19]) << 49);
+ x46 = ((uint64_t)(arg1[18]) << 41);
+ x47 = ((uint64_t)(arg1[17]) << 33);
+ x48 = ((uint64_t)(arg1[16]) << 25);
+ x49 = ((uint64_t)(arg1[15]) << 17);
+ x50 = ((uint64_t)(arg1[14]) << 9);
+ x51 = ((uint64_t)(arg1[13]) * 0x2);
+ x52 = ((uint64_t)(arg1[12]) << 44);
+ x53 = ((uint64_t)(arg1[11]) << 36);
+ x54 = ((uint64_t)(arg1[10]) << 28);
+ x55 = ((uint64_t)(arg1[9]) << 20);
+ x56 = ((uint64_t)(arg1[8]) << 12);
+ x57 = ((uint64_t)(arg1[7]) << 4);
+ x58 = ((uint64_t)(arg1[6]) << 48);
+ x59 = ((uint64_t)(arg1[5]) << 40);
+ x60 = ((uint64_t)(arg1[4]) << 32);
+ x61 = ((uint64_t)(arg1[3]) << 24);
+ x62 = ((uint64_t)(arg1[2]) << 16);
+ x63 = ((uint64_t)(arg1[1]) << 8);
+ x64 = (arg1[0]);
+ x65 = (x64 + (x63 + (x62 + (x61 + (x60 + (x59 + x58))))));
+ x66 = (uint8_t)(x65 >> 52);
+ x67 = (x65 & UINT64_C(0xfffffffffffff));
+ x68 = (x6 + (x5 + (x4 + (x3 + (x2 + x1)))));
+ x69 = (x12 + (x11 + (x10 + (x9 + (x8 + x7)))));
+ x70 = (x19 + (x18 + (x17 + (x16 + (x15 + (x14 + x13))))));
+ x71 = (x25 + (x24 + (x23 + (x22 + (x21 + x20)))));
+ x72 = (x32 + (x31 + (x30 + (x29 + (x28 + (x27 + x26))))));
+ x73 = (x38 + (x37 + (x36 + (x35 + (x34 + x33)))));
+ x74 = (x44 + (x43 + (x42 + (x41 + (x40 + x39)))));
+ x75 = (x51 + (x50 + (x49 + (x48 + (x47 + (x46 + x45))))));
+ x76 = (x57 + (x56 + (x55 + (x54 + (x53 + x52)))));
+ x77 = (x66 + x76);
+ x78 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x77 >> 51);
+ x79 = (x77 & UINT64_C(0x7ffffffffffff));
+ x80 = (x78 + x75);
+ x81 = (uint8_t)(x80 >> 51);
+ x82 = (x80 & UINT64_C(0x7ffffffffffff));
+ x83 = (x81 + x74);
+ x84 = (uint8_t)(x83 >> 51);
+ x85 = (x83 & UINT64_C(0x7ffffffffffff));
+ x86 = (x84 + x73);
+ x87 = (x86 & UINT64_C(0x7ffffffffffff));
+ x88 = (uint8_t)(x72 >> 52);
+ x89 = (x72 & UINT64_C(0xfffffffffffff));
+ x90 = (x88 + x71);
+ x91 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x90 >> 51);
+ x92 = (x90 & UINT64_C(0x7ffffffffffff));
+ x93 = (x91 + x70);
+ x94 = (uint8_t)(x93 >> 51);
+ x95 = (x93 & UINT64_C(0x7ffffffffffff));
+ x96 = (x94 + x69);
+ x97 = (uint8_t)(x96 >> 51);
+ x98 = (x96 & UINT64_C(0x7ffffffffffff));
+ x99 = (x97 + x68);
+ out1[0] = x67;
+ out1[1] = x79;
+ out1[2] = x82;
+ out1[3] = x85;
+ out1[4] = x87;
+ out1[5] = x89;
+ out1[6] = x92;
+ out1[7] = x95;
+ out1[8] = x98;
+ out1[9] = x99;
+}
+
+/* END verbatim fiat code */
+
+/*-
+ * Finite field inversion via FLT.
+ * NB: this is not a real Fiat function, just named that way for consistency.
+ * Autogenerated: ecp/id_tc26_gost_3410_2012_512_paramSetC/fe_inv.op3
+ * custom repunit addition chain
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetC_inv(fe_t output,
+ const fe_t t1) {
+ int i;
+ /* temporary variables */
+ fe_t acc, t102, t12, t198, t2, t200, t24, t3, t400, t48, t502, t6, t96;
+
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t2, acc, t1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t3, acc, t1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t3);
+ for (i = 0; i < 2; i++)
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t6, acc, t3);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t6);
+ for (i = 0; i < 5; i++)
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t12, acc, t6);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t12);
+ for (i = 0; i < 11; i++)
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t24, acc, t12);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t24);
+ for (i = 0; i < 23; i++)
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t48, acc, t24);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t48);
+ for (i = 0; i < 47; i++)
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t96, acc, t48);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t96);
+ for (i = 0; i < 5; i++)
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t102, acc, t6);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t102);
+ for (i = 0; i < 95; i++)
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t198, acc, t96);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t198);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t200, acc, t2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t200);
+ for (i = 0; i < 199; i++)
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t400, acc, t200);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t400);
+ for (i = 0; i < 101; i++)
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t502, acc, t102);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t502);
+ for (i = 0; i < 3; i++)
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(acc, acc, t3);
+ for (i = 0; i < 4; i++)
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(acc, acc, t1);
+ for (i = 0; i < 2; i++)
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(output, acc, t1);
+}
+
+/* curve coefficient constants */
+
+static const limb_t const_one[10] = {
+ UINT64_C(0x0000000000000001), UINT64_C(0x0000000000000000),
+ UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000),
+ UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000),
+ UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000),
+ UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000)};
+
+static const limb_t const_d[10] = {
+ UINT64_C(0x00002DBB33EE7550), UINT64_C(0x00042BC2A22B4CA3),
+ UINT64_C(0x00073C6D3D23419F), UINT64_C(0x0001ACC138B390F9),
+ UINT64_C(0x0005359CF0528AE0), UINT64_C(0x0008A0621050439C),
+ UINT64_C(0x00054198E31EBDE2), UINT64_C(0x0006B7FC9B56805A),
+ UINT64_C(0x000367C4E973CF37), UINT64_C(0x0004F27AEC600BEC)};
+
+static const limb_t const_S[10] = {
+ UINT64_C(0x0003F4913304621E), UINT64_C(0x0000F50F57752CD7),
+ UINT64_C(0x000430E4B0B72F98), UINT64_C(0x000794CFB1D31BC1),
+ UINT64_C(0x0006B298C3EB5D47), UINT64_C(0x0005D7E77BEBEF18),
+ UINT64_C(0x0002AF99C7385087), UINT64_C(0x00005200D92A5FE9),
+ UINT64_C(0x0007260EC5A30C32), UINT64_C(0x0000C36144E7FD04)};
+
+static const limb_t const_T[10] = {
+ UINT64_C(0x0002B249DDFD1271), UINT64_C(0x0004B1F5C5B1E21B),
+ UINT64_C(0x00028A1234DB359A), UINT64_C(0x00004775897342D4),
+ UINT64_C(0x0006339A280DC1D0), UINT64_C(0x000C1ABB02B80B44),
+ UINT64_C(0x00038AEED0851FA5), UINT64_C(0x000273FF6F391564),
+ UINT64_C(0x00033BF626E8A289), UINT64_C(0x0004D3147CBAACA7)};
+
+/* LUT for scalar multiplication by comb interleaving */
+static const pt_aff_t lut_cmb[8][16] = {
+ {
+ {{UINT64_C(0x0000000000000012), UINT64_C(0x0000000000000000),
+ UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000),
+ UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000),
+ UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000),
+ UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000)},
+ {UINT64_C(0x000303EE73001A3D), UINT64_C(0x000404B2BAAE7600),
+ UINT64_C(0x00072E65E120AC45), UINT64_C(0x00027BAFC1A31744),
+ UINT64_C(0x000116EA5B2867BC), UINT64_C(0x0006117F7B386695),
+ UINT64_C(0x000501794368D9A5), UINT64_C(0x0007403C541FBF61),
+ UINT64_C(0x0005785AE6564ADD), UINT64_C(0x000234D7BCE8FD8F)},
+ {UINT64_C(0x000646C41601E12E), UINT64_C(0x0000549120444C03),
+ UINT64_C(0x00014329D44C1CE3), UINT64_C(0x0004B25B9D77A2D8),
+ UINT64_C(0x00039C7A68D74B3D), UINT64_C(0x000D3AF6A9F7367C),
+ UINT64_C(0x00021A86BD5F4DA0), UINT64_C(0x0002843DEA3B74DD),
+ UINT64_C(0x000276643211439A), UINT64_C(0x0007B72B4861D41A)}},
+ {{UINT64_C(0x000DDC3263F14838), UINT64_C(0x0001CBD1F17B2BCB),
+ UINT64_C(0x0002BAFA22A82009), UINT64_C(0x0005322387667A03),
+ UINT64_C(0x00055B751CB96A65), UINT64_C(0x000A0DFD0340FDE7),
+ UINT64_C(0x0005C48FB27C4503), UINT64_C(0x000268CD738A33D9),
+ UINT64_C(0x0001B2D195DC6145), UINT64_C(0x00006EA96DB2EACC)},
+ {UINT64_C(0x000BBCD609E2FF0C), UINT64_C(0x0005F4AE7E31E8D1),
+ UINT64_C(0x000360BD6E15CC1F), UINT64_C(0x000409CF3A7414FB),
+ UINT64_C(0x00031EE2AD0268C7), UINT64_C(0x0005CB4FB4D93FBB),
+ UINT64_C(0x0003CADF6924D45D), UINT64_C(0x0001C5874E363854),
+ UINT64_C(0x00037EFA0AF03B97), UINT64_C(0x00001148D12E29B3)},
+ {UINT64_C(0x000E0DB54C224325), UINT64_C(0x00010454C4B66E25),
+ UINT64_C(0x000648D062587B3B), UINT64_C(0x0003D2EE25796057),
+ UINT64_C(0x00004BB47D7FDE7C), UINT64_C(0x000244DB1E9D557B),
+ UINT64_C(0x0006BE33D5802F21), UINT64_C(0x00042132C57B6D1F),
+ UINT64_C(0x0003D487A5698542), UINT64_C(0x0007C1540EB060D1)}},
+ {{UINT64_C(0x00079342FE30B9C8), UINT64_C(0x00041A8C6FF7B725),
+ UINT64_C(0x00075CAE2380D311), UINT64_C(0x00038F8B24FD7BC3),
+ UINT64_C(0x0004844218778181), UINT64_C(0x000C42D63D57509A),
+ UINT64_C(0x000535D988A70AAF), UINT64_C(0x0001A3FD38C3746A),
+ UINT64_C(0x0001E914A2CBA533), UINT64_C(0x0004D2080711F2B0)},
+ {UINT64_C(0x0009F2BA98B41E21), UINT64_C(0x000615CCDD4A12CF),
+ UINT64_C(0x0003EE0BB3543CA8), UINT64_C(0x00015A62A2476E14),
+ UINT64_C(0x00061C939A6ECEDD), UINT64_C(0x000BE481A4C0C342),
+ UINT64_C(0x000795DEC470D8C2), UINT64_C(0x0000ABE2CB782E96),
+ UINT64_C(0x0007A7D6BF78D7EE), UINT64_C(0x0004E3A1B9FC9045)},
+ {UINT64_C(0x000BAEA9645E541E), UINT64_C(0x0002D492585BA0C5),
+ UINT64_C(0x000114FE72026DC5), UINT64_C(0x00053A929E20E410),
+ UINT64_C(0x00060E85CF97390E), UINT64_C(0x0007D39ADBD8478A),
+ UINT64_C(0x0002063C667C0601), UINT64_C(0x000742C442708702),
+ UINT64_C(0x0000A2426FB29578), UINT64_C(0x00048CBFCAE1F773)}},
+ {{UINT64_C(0x000A0BBFED323C86), UINT64_C(0x0006F7539EA3736E),
+ UINT64_C(0x0005DF9B59EA30BF), UINT64_C(0x0005D9C303700CA0),
+ UINT64_C(0x0001AB39B96006A3), UINT64_C(0x000D38FB4C2CE047),
+ UINT64_C(0x0004257F3B363F21), UINT64_C(0x00018E0BAF6472A8),
+ UINT64_C(0x000483ACD523D9F5), UINT64_C(0x00036FACA6C25759)},
+ {UINT64_C(0x000231905C4CD0FD), UINT64_C(0x00016CA0261FB96E),
+ UINT64_C(0x00031D0ECAC833D3), UINT64_C(0x0003E05643F857D5),
+ UINT64_C(0x000040F272FCC47D), UINT64_C(0x00067E5354B2A5B5),
+ UINT64_C(0x0000AE3CF45E8B10), UINT64_C(0x000599F3DD49B217),
+ UINT64_C(0x000626891D86B28E), UINT64_C(0x0003E3F07489D3C0)},
+ {UINT64_C(0x000C646BFDF7F340), UINT64_C(0x0001913CBD57D3CE),
+ UINT64_C(0x00004B9386B4B830), UINT64_C(0x0007C9304B89B5D0),
+ UINT64_C(0x00007520EC2D81FB), UINT64_C(0x0000D50731E5F0DF),
+ UINT64_C(0x0006129D0F7AD03D), UINT64_C(0x0002FA03D5A61196),
+ UINT64_C(0x0001A9011556D653), UINT64_C(0x0002A7D6F6C7BDB0)}},
+ {{UINT64_C(0x00061D011098A411), UINT64_C(0x000260BCC6C7F863),
+ UINT64_C(0x0000E1117CD19373), UINT64_C(0x0004B68FE728DDED),
+ UINT64_C(0x0002AA52ACFB998D), UINT64_C(0x00015AD84E849B1A),
+ UINT64_C(0x0002CBCDF89B3EA6), UINT64_C(0x00067ABD295869C6),
+ UINT64_C(0x0000C524BC70CA4A), UINT64_C(0x0004C62E5FE7557E)},
+ {UINT64_C(0x0007CFBEC39A14E2), UINT64_C(0x000626369976E030),
+ UINT64_C(0x00032365D9DEE36F), UINT64_C(0x000734EC026C36B6),
+ UINT64_C(0x00075F2357A20A57), UINT64_C(0x0006C63528ED47F5),
+ UINT64_C(0x0000E985E6F0FA99), UINT64_C(0x00059351FE01E099),
+ UINT64_C(0x0002C483F70283A2), UINT64_C(0x0004E1A30B241A78)},
+ {UINT64_C(0x0003579D4EB3F8B7), UINT64_C(0x000127186D359C4A),
+ UINT64_C(0x000625FBDA161934), UINT64_C(0x000786DE6F454C06),
+ UINT64_C(0x00032BA63340A9DB), UINT64_C(0x0000CC026D945494),
+ UINT64_C(0x000079206668566B), UINT64_C(0x00046E3529640A46),
+ UINT64_C(0x000533DFE4808D98), UINT64_C(0x0001202AEF1AA871)}},
+ {{UINT64_C(0x000D5A034C320711), UINT64_C(0x00046D5DEC9CBE0A),
+ UINT64_C(0x0002FD14714E2D8B), UINT64_C(0x00071E0CE392B781),
+ UINT64_C(0x0006EE842039DCC6), UINT64_C(0x0002AFE7EEFBE82E),
+ UINT64_C(0x0001706CA91CE495), UINT64_C(0x0005B0F58587732F),
+ UINT64_C(0x0003BA85FDED0A5B), UINT64_C(0x00054CEBB3898127)},
+ {UINT64_C(0x000A6C4C3C22D5DC), UINT64_C(0x0003FD092008F2AF),
+ UINT64_C(0x000678C1C38BE060), UINT64_C(0x00029494E571D7ED),
+ UINT64_C(0x000679B640BD621E), UINT64_C(0x000E89487D97914B),
+ UINT64_C(0x0003B91C01A032CB), UINT64_C(0x0005715AFC07377B),
+ UINT64_C(0x0006AB64B7814DA4), UINT64_C(0x0005E7734E1241FA)},
+ {UINT64_C(0x000EBC29D557AFE2), UINT64_C(0x00015EA9E492702C),
+ UINT64_C(0x00039B8FF4CB3E25), UINT64_C(0x0005D3DA87AD6898),
+ UINT64_C(0x0001B20F6958F437), UINT64_C(0x000FE179ED072875),
+ UINT64_C(0x0003299FC0106D8A), UINT64_C(0x00063AB8C98927F6),
+ UINT64_C(0x0004425DDEB4A8FE), UINT64_C(0x00021FCE1531E24E)}},
+ {{UINT64_C(0x0007745E07BBFFEF), UINT64_C(0x0007125991A3183C),
+ UINT64_C(0x000288F58C85404B), UINT64_C(0x0005F0E01F988465),
+ UINT64_C(0x00058A085EA50075), UINT64_C(0x00006AB7768A5A2B),
+ UINT64_C(0x00043ABF68337850), UINT64_C(0x00075B86C98A35FB),
+ UINT64_C(0x000612842EA8B184), UINT64_C(0x000109A8BB7AB3ED)},
+ {UINT64_C(0x0004F08D1A6DDAC3), UINT64_C(0x0005B2B420BFE682),
+ UINT64_C(0x00010DFAF256A129), UINT64_C(0x0001B6CDADBEB8E5),
+ UINT64_C(0x0006F611F5281A54), UINT64_C(0x000A1B472B862641),
+ UINT64_C(0x000335A2003B6703), UINT64_C(0x00008AD4CAD5F73B),
+ UINT64_C(0x0007A0EC3F0E578C), UINT64_C(0x00023141F13E5FA2)},
+ {UINT64_C(0x0005188CBAD97549), UINT64_C(0x0001F6C5FC0F255B),
+ UINT64_C(0x00036A526CAC9622), UINT64_C(0x0000BB287D684ADB),
+ UINT64_C(0x0006F28BF1F5FA01), UINT64_C(0x000D7D8997333372),
+ UINT64_C(0x000236EF8A6D2653), UINT64_C(0x0000C2BF98DACC6E),
+ UINT64_C(0x0002FA4352B452E0), UINT64_C(0x00043FDC45864176)}},
+ {{UINT64_C(0x000EA137F595EE0D), UINT64_C(0x000179D93A5775A9),
+ UINT64_C(0x0001E0372E081E93), UINT64_C(0x0003A69DAD123CC1),
+ UINT64_C(0x00025A2C66DE635D), UINT64_C(0x0002EEA6D51CD899),
+ UINT64_C(0x0003138B80BA676F), UINT64_C(0x000411B2C78B4F07),
+ UINT64_C(0x0007AAE1E0D50C65), UINT64_C(0x000528F5BDE8B6D3)},
+ {UINT64_C(0x000D742C7F0B19BD), UINT64_C(0x0006DBF28C91828A),
+ UINT64_C(0x00076FE332464CA9), UINT64_C(0x0001873DC4EBC9D9),
+ UINT64_C(0x00014016F9C485A4), UINT64_C(0x000F894AD46EB122),
+ UINT64_C(0x0006AE2B805EB995), UINT64_C(0x00004C6AF846DDB3),
+ UINT64_C(0x0004C43621B2FA9D), UINT64_C(0x0001C9C1089132C7)},
+ {UINT64_C(0x0007B12746972BA5), UINT64_C(0x00010D7707EB91D0),
+ UINT64_C(0x00057125FEF70465), UINT64_C(0x000722135480EB9A),
+ UINT64_C(0x000439824482D29B), UINT64_C(0x00019B590375A86B),
+ UINT64_C(0x000732235FA4483D), UINT64_C(0x00035CD4C74AE3F3),
+ UINT64_C(0x00076A29C3A22075), UINT64_C(0x0001E3D85B615311)}},
+ {{UINT64_C(0x0005CCC96BFF3A5F), UINT64_C(0x0001D6DCC8ACE7EF),
+ UINT64_C(0x0001B8A8497C7E75), UINT64_C(0x0001448EF2271B21),
+ UINT64_C(0x000469E763024DA6), UINT64_C(0x000C1E4859EDB4E8),
+ UINT64_C(0x00022B32D11EA0B8), UINT64_C(0x0007833F6716976E),
+ UINT64_C(0x00056E62E2CC647C), UINT64_C(0x00060A6CC7E8F469)},
+ {UINT64_C(0x000A5D20AC5EDF20), UINT64_C(0x0006BD1CB9C662A5),
+ UINT64_C(0x000053F695AD3F0C), UINT64_C(0x0003BB68B21BAC80),
+ UINT64_C(0x0006FA23083E49C3), UINT64_C(0x000960F58A7F49C4),
+ UINT64_C(0x000534DF3026534A), UINT64_C(0x00068C4D4E5AFD06),
+ UINT64_C(0x00003C47E39095B9), UINT64_C(0x000113AD9DE11151)},
+ {UINT64_C(0x000AD10BAF7B6E7F), UINT64_C(0x0005FBD2F1D1D0A6),
+ UINT64_C(0x00064E2BF5A74481), UINT64_C(0x00000C9DED412AB9),
+ UINT64_C(0x0006DF76D2881747), UINT64_C(0x000F68ADE96EFAEE),
+ UINT64_C(0x0007CF2EE2DD3D95), UINT64_C(0x00029109B2E5028B),
+ UINT64_C(0x000084C0C872E5AF), UINT64_C(0x00055EF1044EE901)}},
+ {{UINT64_C(0x0000978CD0735FB2), UINT64_C(0x0000A3B4EC3A861F),
+ UINT64_C(0x00024123B8F06382), UINT64_C(0x00076C7DAA554F27),
+ UINT64_C(0x0001B6A5E18D2E6A), UINT64_C(0x000947CC76EF8A46),
+ UINT64_C(0x0001CA1CA453479A), UINT64_C(0x000072531851597A),
+ UINT64_C(0x00005962E72A5B9F), UINT64_C(0x00035F4D1AE3ECEF)},
+ {UINT64_C(0x00063950B57813F3), UINT64_C(0x0003955052095B99),
+ UINT64_C(0x0000910D0C16F997), UINT64_C(0x0006561C81D19E24),
+ UINT64_C(0x0005BD32E2B1D2DC), UINT64_C(0x000B1BCFBCC703F8),
+ UINT64_C(0x00044176746C4650), UINT64_C(0x00025ECF08C32C2B),
+ UINT64_C(0x00034A09E20BB15C), UINT64_C(0x00059E3EA6051146)},
+ {UINT64_C(0x0005697698D05E0F), UINT64_C(0x00053B12113E48E9),
+ UINT64_C(0x0003CCFD3B3F2E28), UINT64_C(0x0003B625F59D23B8),
+ UINT64_C(0x0005E36ACA4E9712), UINT64_C(0x0003CD4602A4EB25),
+ UINT64_C(0x0001F0A79E67888A), UINT64_C(0x0001A3BB856644D1),
+ UINT64_C(0x0007BC8D45D9BE80), UINT64_C(0x000240C74D67C49F)}},
+ {{UINT64_C(0x000F4AB4ACE9FBFB), UINT64_C(0x0001323C2E448C11),
+ UINT64_C(0x0007E627CF56EBD6), UINT64_C(0x0000AFD6CA7DE511),
+ UINT64_C(0x0006DCC97293C201), UINT64_C(0x00045898E21442A0),
+ UINT64_C(0x0004D8D6616961DB), UINT64_C(0x000120025DFF12D0),
+ UINT64_C(0x00027486D92674F0), UINT64_C(0x0000E577FD8D1E8D)},
+ {UINT64_C(0x0008D1FF64347FD3), UINT64_C(0x0000B5503113ECB8),
+ UINT64_C(0x0006A04E1F0AD932), UINT64_C(0x0005EFDB668B751C),
+ UINT64_C(0x0007A75A308E95E9), UINT64_C(0x000DE0F991E7DCE0),
+ UINT64_C(0x0001AC3243FB2D46), UINT64_C(0x0007C4CD25A8CCA1),
+ UINT64_C(0x00020F39C66C4FB0), UINT64_C(0x00030EF201B6694C)},
+ {UINT64_C(0x000D02B23C415547), UINT64_C(0x000585D53C64FF35),
+ UINT64_C(0x0003D4E05329F658), UINT64_C(0x0003E78544910FE9),
+ UINT64_C(0x000145FA301F1487), UINT64_C(0x00084D749E22B3AC),
+ UINT64_C(0x0005DB00726E0F27), UINT64_C(0x00049F8B12327E02),
+ UINT64_C(0x00066FA6FAE6E30F), UINT64_C(0x000148864CA7B024)}},
+ {{UINT64_C(0x00072DB89831C22E), UINT64_C(0x000212B7A78FBD12),
+ UINT64_C(0x00021EB595C4F6D8), UINT64_C(0x000230B818D0625E),
+ UINT64_C(0x000432CEBFBE8326), UINT64_C(0x0005A4237390A4E7),
+ UINT64_C(0x00048BC4F80E39D8), UINT64_C(0x0002C266EDA08C65),
+ UINT64_C(0x0003003D1ACFB73A), UINT64_C(0x0003B25FB2316C33)},
+ {UINT64_C(0x0001309EB03AE17C), UINT64_C(0x0006B7D21F1AC8CA),
+ UINT64_C(0x00030F22AD66CC64), UINT64_C(0x00068CAE1E8A8AE4),
+ UINT64_C(0x000036B8E12F02A1), UINT64_C(0x00051A9A31790107),
+ UINT64_C(0x0002BC64D9C75BC2), UINT64_C(0x00012E0A5E87C678),
+ UINT64_C(0x0005A6B78E7A5666), UINT64_C(0x0007ADC780A85627)},
+ {UINT64_C(0x000623C20A48F7FB), UINT64_C(0x00068BD279754B54),
+ UINT64_C(0x000214146A030D28), UINT64_C(0x0000BCF5046BE3DE),
+ UINT64_C(0x0007F0B1C26980FD), UINT64_C(0x000E951243CBB013),
+ UINT64_C(0x0003FEDEE8A79D6A), UINT64_C(0x00037CD9BA1B93CC),
+ UINT64_C(0x00060FA57A12C244), UINT64_C(0x000342025E288D46)}},
+ {{UINT64_C(0x00060F5BE50D6219), UINT64_C(0x0004F425F334521F),
+ UINT64_C(0x000084F4C30F8CB3), UINT64_C(0x0004572CAA850AB6),
+ UINT64_C(0x0007491416856BB1), UINT64_C(0x000DD438508B179E),
+ UINT64_C(0x0005AF1DAD1E9061), UINT64_C(0x00072FF71C440602),
+ UINT64_C(0x000640C33C87D2DD), UINT64_C(0x0006CEED81188498)},
+ {UINT64_C(0x000EFB091DF854C6), UINT64_C(0x00028A1D31C19FA0),
+ UINT64_C(0x0002A9A404668E0B), UINT64_C(0x000727F82CC27ACF),
+ UINT64_C(0x000126282CC527D7), UINT64_C(0x00014FAB2CE4AC32),
+ UINT64_C(0x0001FAFC4C09B367), UINT64_C(0x000252F0B2B54F3B),
+ UINT64_C(0x0007E8131BAA6FF5), UINT64_C(0x000517793281415B)},
+ {UINT64_C(0x000BDEBEB66BDFE8), UINT64_C(0x0002CC5E9E8B6103),
+ UINT64_C(0x00004B6B392825E5), UINT64_C(0x0002C59B6082CA61),
+ UINT64_C(0x000540C66BBC2394), UINT64_C(0x0003927DEFBBC62D),
+ UINT64_C(0x0001F26C16D6387C), UINT64_C(0x000086AB5563FC8E),
+ UINT64_C(0x00064F3E8C626EBD), UINT64_C(0x0000C841CACA38C0)}},
+ {{UINT64_C(0x0000A508668F873E), UINT64_C(0x00005FDC5913D7CF),
+ UINT64_C(0x00077CFFBBDCF5A1), UINT64_C(0x0003F77B2390B8D4),
+ UINT64_C(0x0005594711779416), UINT64_C(0x0005ADA86CAF4491),
+ UINT64_C(0x0007F7C714C93E3D), UINT64_C(0x0005186774E545D7),
+ UINT64_C(0x0002C4325416B617), UINT64_C(0x0002EAF1D8B132CD)},
+ {UINT64_C(0x000AEBD507E37692), UINT64_C(0x000309A15EAB0693),
+ UINT64_C(0x0005FF4C2A7A5D05), UINT64_C(0x000218CCB516CA7F),
+ UINT64_C(0x000091C7C9915F63), UINT64_C(0x00004C73F619E0B9),
+ UINT64_C(0x00018867BD8D792A), UINT64_C(0x00077DF8951E6F62),
+ UINT64_C(0x0002FCA92BD5A710), UINT64_C(0x0003DE1F4CB64968)},
+ {UINT64_C(0x0007D8C68947865A), UINT64_C(0x00035B85E8AF7920),
+ UINT64_C(0x000138BC855475E9), UINT64_C(0x00065B8343CF3C8E),
+ UINT64_C(0x00072C46C618D9B0), UINT64_C(0x000DD020C6DF0D12),
+ UINT64_C(0x000470F00A8FAEE1), UINT64_C(0x0005DAF00E2DC642),
+ UINT64_C(0x00063930E56AAF60), UINT64_C(0x000286F9B967AAC9)}},
+ {{UINT64_C(0x000DD90F276D31AF), UINT64_C(0x0000EA6D5DBA194F),
+ UINT64_C(0x000430D033491006), UINT64_C(0x0007F9FA0D60BE75),
+ UINT64_C(0x0004B562950EEA1A), UINT64_C(0x000E6BCD0715D21E),
+ UINT64_C(0x0000590F8E3023F7), UINT64_C(0x0001D19FD03857CA),
+ UINT64_C(0x000620A7B51ED174), UINT64_C(0x0001D40D3102B572)},
+ {UINT64_C(0x00032D705F8518C5), UINT64_C(0x0000368F16F69285),
+ UINT64_C(0x00031B1912C61DA8), UINT64_C(0x0006862322CE1F30),
+ UINT64_C(0x00010660B97D08CF), UINT64_C(0x00035D64540A6D07),
+ UINT64_C(0x0004199885EE5BEA), UINT64_C(0x00028D3C28F71406),
+ UINT64_C(0x000098A7ED42E515), UINT64_C(0x0000033517091A8F)},
+ {UINT64_C(0x000BEEAD956FEED8), UINT64_C(0x0006D144B99B7E54),
+ UINT64_C(0x0006620FDB6DADBF), UINT64_C(0x00065F15A8F5ECA2),
+ UINT64_C(0x00024170192B151F), UINT64_C(0x0006068B65F5278C),
+ UINT64_C(0x0006AB4CACC7BF25), UINT64_C(0x0006680608A271D0),
+ UINT64_C(0x00025004C7539417), UINT64_C(0x000727215A3B6BFA)}},
+ {{UINT64_C(0x000FAA227F4F5AD3), UINT64_C(0x00048C30B1278D75),
+ UINT64_C(0x0004C2380F042C08), UINT64_C(0x0006F4250A5404FA),
+ UINT64_C(0x0000E5775C9D6EA4), UINT64_C(0x000C434ED2579348),
+ UINT64_C(0x00043B279220C0B7), UINT64_C(0x00011C3AB979AF10),
+ UINT64_C(0x000593B8B6831C9A), UINT64_C(0x0000C951C87E440D)},
+ {UINT64_C(0x0009E652CBEBE9EA), UINT64_C(0x0002D471C31CC4A7),
+ UINT64_C(0x0001180C86178F58), UINT64_C(0x0004A1CBEE332A03),
+ UINT64_C(0x0004F056D32EEC00), UINT64_C(0x000E9D6F5A148CC7),
+ UINT64_C(0x00038F214F11933B), UINT64_C(0x0006AB7F8DF475B6),
+ UINT64_C(0x00016E32A36F4E7A), UINT64_C(0x00002D0656419319)},
+ {UINT64_C(0x000FCD3F816A5978), UINT64_C(0x0006041C99F186A9),
+ UINT64_C(0x0001D3D980EFB038), UINT64_C(0x0007E9FDEA9BE147),
+ UINT64_C(0x00032BCE66E90B6D), UINT64_C(0x0001B6674476F1BF),
+ UINT64_C(0x00051E25FEF557ED), UINT64_C(0x000029CDE03D236F),
+ UINT64_C(0x000478BCDD0C953A), UINT64_C(0x0004BEBB6141C907)}},
+ },
+ {
+ {{UINT64_C(0x0009E2E990726798), UINT64_C(0x00009676B8E190DC),
+ UINT64_C(0x00048C9965EA2A0C), UINT64_C(0x0004EF181E315DD7),
+ UINT64_C(0x00003A6A0FE2B108), UINT64_C(0x0004B4B789B5786E),
+ UINT64_C(0x0001839D83E4BC52), UINT64_C(0x0003B9D09BE4ACFC),
+ UINT64_C(0x000603A800326917), UINT64_C(0x0007C7926D46765A)},
+ {UINT64_C(0x000BDE461C54BBE9), UINT64_C(0x00030C12C7BE3000),
+ UINT64_C(0x00068D49E4D38051), UINT64_C(0x000002424DFF63EE),
+ UINT64_C(0x0006748D0F817A7A), UINT64_C(0x000DAAAC34BF5895),
+ UINT64_C(0x0004BF755438F5F4), UINT64_C(0x00031C0109A0A789),
+ UINT64_C(0x0000257084478A82), UINT64_C(0x0000EADEDC01C8B8)},
+ {UINT64_C(0x000BA95D208FC8C9), UINT64_C(0x000171FB35AEDA7D),
+ UINT64_C(0x0002108B68CD61DE), UINT64_C(0x00032F4E1D4BC730),
+ UINT64_C(0x0000FFB462AB7826), UINT64_C(0x000A3E9F4B3F7B0E),
+ UINT64_C(0x0001E70DB7658F11), UINT64_C(0x00028C2EF3EEB807),
+ UINT64_C(0x000753BD52CA29CE), UINT64_C(0x000547E50673926A)}},
+ {{UINT64_C(0x000F9CABD5C6650F), UINT64_C(0x00036740AC449DBC),
+ UINT64_C(0x0004759192EC241F), UINT64_C(0x000381C0F9E7EAB2),
+ UINT64_C(0x00063278E1545DA8), UINT64_C(0x000037A5B7E50AB6),
+ UINT64_C(0x000476FAC0FF808E), UINT64_C(0x00036E5576C1E063),
+ UINT64_C(0x00027A9D39B89A83), UINT64_C(0x0006F1DA42C4750F)},
+ {UINT64_C(0x0000C0B93DC3C004), UINT64_C(0x00035D0E6F5E38D1),
+ UINT64_C(0x00061A730762CA71), UINT64_C(0x0003A620EFD387BE),
+ UINT64_C(0x0003E2EC3540ED15), UINT64_C(0x000E424C214D117F),
+ UINT64_C(0x0003E1325B0BB449), UINT64_C(0x0006FC7D1FC2FC7C),
+ UINT64_C(0x00073F72D066FB57), UINT64_C(0x0004B2D6EC5C213B)},
+ {UINT64_C(0x000ACB4FC84F8936), UINT64_C(0x0000757CBE4C50D6),
+ UINT64_C(0x00049E1C99C1E958), UINT64_C(0x0007D86D6FF27A95),
+ UINT64_C(0x00029876C3EF1BD5), UINT64_C(0x000A9E00A5CBE886),
+ UINT64_C(0x0000BD4E512C515F), UINT64_C(0x0005C75102170269),
+ UINT64_C(0x0007807E85A235DA), UINT64_C(0x000293A17091A760)}},
+ {{UINT64_C(0x000308924C47EA21), UINT64_C(0x0007EFFEAF16E651),
+ UINT64_C(0x0007D78EEF6B95C8), UINT64_C(0x000480EBCBF733D4),
+ UINT64_C(0x0001F759131373D1), UINT64_C(0x000F52DAA6D26E12),
+ UINT64_C(0x0001AA1A394183A6), UINT64_C(0x00031E24C017EBE3),
+ UINT64_C(0x000134A7ECCB3DEC), UINT64_C(0x0001EAACFA806C01)},
+ {UINT64_C(0x0000C8DC99E4D9E5), UINT64_C(0x0000499FCD94685F),
+ UINT64_C(0x0004FB45C9641579), UINT64_C(0x00014AE4737E13F2),
+ UINT64_C(0x0005BAC25108C107), UINT64_C(0x000407F8F14C185F),
+ UINT64_C(0x0003281019A9EC49), UINT64_C(0x00018C647189223F),
+ UINT64_C(0x00077667AEF20006), UINT64_C(0x000342D230F93D40)},
+ {UINT64_C(0x000C9265EF97099F), UINT64_C(0x0002CB0A3B71869F),
+ UINT64_C(0x0000DD18B78BEFAB), UINT64_C(0x000445C0E95393D6),
+ UINT64_C(0x00022C17960D9AEB), UINT64_C(0x00055752E5A3E34F),
+ UINT64_C(0x00029B02A7513832), UINT64_C(0x000115BB849BE596),
+ UINT64_C(0x00070895A6FD0E07), UINT64_C(0x0002E9C698B128A0)}},
+ {{UINT64_C(0x0000460245EC561C), UINT64_C(0x000759CFCDC4304B),
+ UINT64_C(0x0000354F11DD3770), UINT64_C(0x00034ECA59B714C8),
+ UINT64_C(0x0006DEB5CFBFE8AA), UINT64_C(0x0009C83E53DD01E1),
+ UINT64_C(0x000681045B1B2B4B), UINT64_C(0x00066B499D80354A),
+ UINT64_C(0x0007B09A32C5EB10), UINT64_C(0x0007F5BFC7687E65)},
+ {UINT64_C(0x0007DBDD7509D7B6), UINT64_C(0x0001FF07267C40F7),
+ UINT64_C(0x00020C1AAC3C0409), UINT64_C(0x0006148B211F9D4A),
+ UINT64_C(0x0007D9183357E99A), UINT64_C(0x0005FB86106C8179),
+ UINT64_C(0x00061566F3217886), UINT64_C(0x00064086D6797E68),
+ UINT64_C(0x0000AAE710B5D9A0), UINT64_C(0x0003A7960D860C8C)},
+ {UINT64_C(0x000BA0F7583190C4), UINT64_C(0x00076FA655DA6153),
+ UINT64_C(0x0006AD011EF06120), UINT64_C(0x0001B9919F914745),
+ UINT64_C(0x0006933CC4A1F75E), UINT64_C(0x0008B0C001D798B5),
+ UINT64_C(0x0003A7401C076C5F), UINT64_C(0x0002A5E88685994E),
+ UINT64_C(0x00040E300EEB5F5B), UINT64_C(0x000401FE079260EE)}},
+ {{UINT64_C(0x000659914EBDF906), UINT64_C(0x0004AC87025B5364),
+ UINT64_C(0x0000284A5CDE167E), UINT64_C(0x0003DCE5E16B1561),
+ UINT64_C(0x000109507CE45C7B), UINT64_C(0x000E774890C7761C),
+ UINT64_C(0x0005E1CED11C691A), UINT64_C(0x0000B979E77DA4D4),
+ UINT64_C(0x0004EF607D7B0F58), UINT64_C(0x000597CD44BFB28F)},
+ {UINT64_C(0x000A69885D31FD12), UINT64_C(0x00077B176FC02779),
+ UINT64_C(0x00032C80E3987695), UINT64_C(0x00075F209C1E30BB),
+ UINT64_C(0x0001009FD731AAC0), UINT64_C(0x000D3EB5362EA2CF),
+ UINT64_C(0x0001D6C33BB4F1EC), UINT64_C(0x0005811CB2ECEF96),
+ UINT64_C(0x00057D8C6C5AE4E1), UINT64_C(0x0004B4EA22243336)},
+ {UINT64_C(0x000E6D776CDADB51), UINT64_C(0x00059CCC0F8E0BB1),
+ UINT64_C(0x000788DF3C7AD498), UINT64_C(0x000142A89307C686),
+ UINT64_C(0x00016B22FB5E10E8), UINT64_C(0x0004175AE2F3EB2B),
+ UINT64_C(0x0002B10B599DE0CC), UINT64_C(0x0001EBE2F56C5287),
+ UINT64_C(0x0001A33116E45EDF), UINT64_C(0x0004AE20B6AA13BB)}},
+ {{UINT64_C(0x000D4F1640E31025), UINT64_C(0x00005369F3A71705),
+ UINT64_C(0x0006E57097B5B700), UINT64_C(0x000287C31DDA7EB0),
+ UINT64_C(0x0006BD941635599D), UINT64_C(0x000958A013ADB362),
+ UINT64_C(0x000797EC3AF59A21), UINT64_C(0x000532140C91BE6E),
+ UINT64_C(0x0004936CF742D1B9), UINT64_C(0x0006D291755B4C5F)},
+ {UINT64_C(0x0000A926A8EE98B9), UINT64_C(0x00046DFF06B0EA14),
+ UINT64_C(0x000422FF6FD967CC), UINT64_C(0x000779542C4521B1),
+ UINT64_C(0x000469BEAB421801), UINT64_C(0x000E418E584BB6E2),
+ UINT64_C(0x00009CA813EF2F4E), UINT64_C(0x0005F68592828DF0),
+ UINT64_C(0x0000656C0BBF9122), UINT64_C(0x0000CCB05A025C71)},
+ {UINT64_C(0x000E98CF9AA86649), UINT64_C(0x0004280C51AC4674),
+ UINT64_C(0x00069006DA4ABEB3), UINT64_C(0x00046B1CDF4D42C3),
+ UINT64_C(0x00052325C9885550), UINT64_C(0x00030D64AFD848FD),
+ UINT64_C(0x0002C8ACC81C6FC5), UINT64_C(0x00047CB0D16BECBB),
+ UINT64_C(0x000424989DA2A6C5), UINT64_C(0x000168C78A279267)}},
+ {{UINT64_C(0x000D255173B3974D), UINT64_C(0x00078AB8051F9D89),
+ UINT64_C(0x0005D31E2BD6FAF8), UINT64_C(0x0007DECEFF2FED16),
+ UINT64_C(0x0000A995EBB1AF3C), UINT64_C(0x000EC88849F934DD),
+ UINT64_C(0x0003F4357D1349BF), UINT64_C(0x0003003724CCAD86),
+ UINT64_C(0x0005CC63A601A857), UINT64_C(0x000343B88A410741)},
+ {UINT64_C(0x000B861EBEC11DA3), UINT64_C(0x0002F7DA0CE66B58),
+ UINT64_C(0x0004A05CFDD667EC), UINT64_C(0x000618C4234E4317),
+ UINT64_C(0x00077E534DE5E42D), UINT64_C(0x000F510ACBE2E35B),
+ UINT64_C(0x0004D176CC3F8974), UINT64_C(0x0004199583F06449),
+ UINT64_C(0x0000406979E0EB70), UINT64_C(0x000695F16DD2B384)},
+ {UINT64_C(0x000B5F01887D972B), UINT64_C(0x000591009B9788BD),
+ UINT64_C(0x0001CFB8C1E46165), UINT64_C(0x0005B8112A6084A0),
+ UINT64_C(0x00049527793479C1), UINT64_C(0x000B187275AFF4A8),
+ UINT64_C(0x00049D80550875EB), UINT64_C(0x00065B3359B96DBD),
+ UINT64_C(0x0001FB8879675983), UINT64_C(0x0005DEBD62191D57)}},
+ {{UINT64_C(0x000D1CA24C4248EB), UINT64_C(0x0005F680B9DB4143),
+ UINT64_C(0x000332A16BFB989D), UINT64_C(0x000753E5C1BD1DD6),
+ UINT64_C(0x0004FB5069A3DD11), UINT64_C(0x000B36967D95CB7F),
+ UINT64_C(0x0007C1A743B83E84), UINT64_C(0x0000AEE0A0745A8D),
+ UINT64_C(0x0006C7A9C91323B2), UINT64_C(0x000528CD9463AAFB)},
+ {UINT64_C(0x000C466D9EBE068D), UINT64_C(0x00013A27797DC234),
+ UINT64_C(0x00018F27D8B96428), UINT64_C(0x000024C1197D66BB),
+ UINT64_C(0x00030D29442EEAC4), UINT64_C(0x000D7F436D88C8D7),
+ UINT64_C(0x00041C67DD503E48), UINT64_C(0x00071B77621F3C37),
+ UINT64_C(0x0001E384DE527534), UINT64_C(0x0004A3548D4230EF)},
+ {UINT64_C(0x0009D0F8D367877F), UINT64_C(0x000144D7265E0804),
+ UINT64_C(0x0005645C59D64EAE), UINT64_C(0x000533EB925569B6),
+ UINT64_C(0x0004DFD1C43D5A74), UINT64_C(0x000E0AA14014632B),
+ UINT64_C(0x0005693798BB1AC4), UINT64_C(0x00000B28BE3E0068),
+ UINT64_C(0x000379AAA7EAE112), UINT64_C(0x0000247F1C8CFD8E)}},
+ {{UINT64_C(0x000C15D58808355F), UINT64_C(0x0003A9B54B4046D8),
+ UINT64_C(0x0003BE1A6AB6A8D7), UINT64_C(0x000699C7D04884C2),
+ UINT64_C(0x00055A19B13E30E6), UINT64_C(0x000FBA511C14C314),
+ UINT64_C(0x0007C4B1AB58948C), UINT64_C(0x00014F0D999CB430),
+ UINT64_C(0x0007AFCB455F6D0F), UINT64_C(0x00013287261490BE)},
+ {UINT64_C(0x000C39060A09A6A6), UINT64_C(0x00068EFAAE7BEA33),
+ UINT64_C(0x0000F39708828339), UINT64_C(0x00074458444BC73B),
+ UINT64_C(0x0004EBB9FE3A3451), UINT64_C(0x0002963523524531),
+ UINT64_C(0x0002BA9B39DAC86F), UINT64_C(0x000296C0868A96CA),
+ UINT64_C(0x0000E1FD8D0A7823), UINT64_C(0x00010A911670FB07)},
+ {UINT64_C(0x000F856897F72F1E), UINT64_C(0x0000EEE5678607C6),
+ UINT64_C(0x000517CD2197022F), UINT64_C(0x0004BEDF2B12DB4D),
+ UINT64_C(0x00019C0AF97A5D1D), UINT64_C(0x000374FACB3B50F7),
+ UINT64_C(0x0003917CBAD403FF), UINT64_C(0x0004C4704E757E6D),
+ UINT64_C(0x00029A25D20AD24F), UINT64_C(0x000369770FC2A344)}},
+ {{UINT64_C(0x0008DA57843C3422), UINT64_C(0x000082AA03CF53E5),
+ UINT64_C(0x0007396268B0FA19), UINT64_C(0x000148F2D5ECB6B4),
+ UINT64_C(0x0000E4C3E6069C02), UINT64_C(0x0008A317BACC7D91),
+ UINT64_C(0x00023FB0B882B0C6), UINT64_C(0x0003470CCBB116C6),
+ UINT64_C(0x0001DD2C55D9FCCD), UINT64_C(0x0003D996E34873D8)},
+ {UINT64_C(0x000494440ECC3AB3), UINT64_C(0x0002540E1E629CBC),
+ UINT64_C(0x0007355927AA0DA6), UINT64_C(0x000617CCFB6EB6C6),
+ UINT64_C(0x00045DCD2CD0B597), UINT64_C(0x000A9351FEF0BD26),
+ UINT64_C(0x0000E241A46E98C5), UINT64_C(0x00011AAC255B8C6D),
+ UINT64_C(0x00077EB6092D7F54), UINT64_C(0x00006C19945480AB)},
+ {UINT64_C(0x0008B1824E089690), UINT64_C(0x0004658566F83B39),
+ UINT64_C(0x0007A1E24B6B0E67), UINT64_C(0x0003546FE60DC8CA),
+ UINT64_C(0x000527C86CABEAC9), UINT64_C(0x0006138EFAB370BD),
+ UINT64_C(0x000367B7A18E4830), UINT64_C(0x0005F41E7F74F931),
+ UINT64_C(0x00043CD498AEE92B), UINT64_C(0x00036640F17461CB)}},
+ {{UINT64_C(0x00014F84E18CA5AB), UINT64_C(0x000581E482520BE7),
+ UINT64_C(0x0006D3C0B43466D5), UINT64_C(0x000717397C15F270),
+ UINT64_C(0x0002926AAAE17414), UINT64_C(0x000CEE21A20BFDB7),
+ UINT64_C(0x0005627F8C434E1F), UINT64_C(0x0007B06611540ADD),
+ UINT64_C(0x00017C0766AD8FF8), UINT64_C(0x0001A6DF1F7CFD76)},
+ {UINT64_C(0x00048F19C87B8FFD), UINT64_C(0x000738685355DF41),
+ UINT64_C(0x00062D4C85207B23), UINT64_C(0x0004DA81080542F4),
+ UINT64_C(0x0002595A163374DE), UINT64_C(0x00077DF196F75779),
+ UINT64_C(0x0003CC24DA342DED), UINT64_C(0x00071C8601CD59A9),
+ UINT64_C(0x000575ED879C1606), UINT64_C(0x0003C9A80845E0C4)},
+ {UINT64_C(0x000E4341EC68E990), UINT64_C(0x00007DB9731C2EAE),
+ UINT64_C(0x00050B4AC8A0C069), UINT64_C(0x00020F490D1B024D),
+ UINT64_C(0x00067C6E1654BBA0), UINT64_C(0x0003EFDE035BD6AF),
+ UINT64_C(0x0003C25584A7D506), UINT64_C(0x000591764CC32886),
+ UINT64_C(0x0006FC9CB331260F), UINT64_C(0x00017E5D60885352)}},
+ {{UINT64_C(0x000731233C0BF910), UINT64_C(0x000329E61DB0C699),
+ UINT64_C(0x0007BA2FF701A4E9), UINT64_C(0x000333EA1E17AEF2),
+ UINT64_C(0x00004C20BB4E7B23), UINT64_C(0x00036D578DEB0B28),
+ UINT64_C(0x0001EB9E5DFB52E4), UINT64_C(0x0004CA4959FA2735),
+ UINT64_C(0x0001D94E469AE705), UINT64_C(0x00076C278152C2A0)},
+ {UINT64_C(0x00098E1BB8C2F143), UINT64_C(0x0004D297A9E0C320),
+ UINT64_C(0x00076A7705B29809), UINT64_C(0x0001C4AB1E7AA3FB),
+ UINT64_C(0x0007CEC0D37488E9), UINT64_C(0x000AF115EFF64680),
+ UINT64_C(0x0000120EF3CBB216), UINT64_C(0x00054823751D4F6C),
+ UINT64_C(0x0002AC54F606C3D7), UINT64_C(0x0001EBCEFB260725)},
+ {UINT64_C(0x000B771E27A53F81), UINT64_C(0x0006D54C547C8EC4),
+ UINT64_C(0x0000011D3B796F70), UINT64_C(0x000103E44C9CDCE1),
+ UINT64_C(0x0004C7BA40D38FA7), UINT64_C(0x00089A5EBD4841A3),
+ UINT64_C(0x000684C71D5AEC65), UINT64_C(0x000605EEF1D5EAB1),
+ UINT64_C(0x00067509EAF71EBE), UINT64_C(0x0005963E232F38F6)}},
+ {{UINT64_C(0x000BCAC8C9D8CB62), UINT64_C(0x000201763A59294E),
+ UINT64_C(0x00019A01979C0FF2), UINT64_C(0x0004D0E0410F78A4),
+ UINT64_C(0x0006EB9F8CAC287A), UINT64_C(0x000EA0768460F44C),
+ UINT64_C(0x0005A455F94A712D), UINT64_C(0x0000BC93EBB5FFB3),
+ UINT64_C(0x00020C65BD0C37ED), UINT64_C(0x000261BF4CEC1574)},
+ {UINT64_C(0x000FF07CB12EA13B), UINT64_C(0x00020429E9B2B0F9),
+ UINT64_C(0x0004DFA80EA8ECD6), UINT64_C(0x00073BBBD56CD402),
+ UINT64_C(0x0003919C06A06CA6), UINT64_C(0x000A50DFCA5441D8),
+ UINT64_C(0x0002B9A99A9B237D), UINT64_C(0x000742A2E2D61162),
+ UINT64_C(0x0002CA00A4309B93), UINT64_C(0x0000905C120B4320)},
+ {UINT64_C(0x00061578EB35918B), UINT64_C(0x0001446B3BE9D4A0),
+ UINT64_C(0x0003D523BC8898B4), UINT64_C(0x00064BBE9875DB61),
+ UINT64_C(0x0000D3A22E1BC0BA), UINT64_C(0x00061BADB8814627),
+ UINT64_C(0x0001E3CC67E1C334), UINT64_C(0x0007D8BFF80A52C8),
+ UINT64_C(0x0007C1A1B139325E), UINT64_C(0x000699D472241937)}},
+ {{UINT64_C(0x00025E7D1EB3C74B), UINT64_C(0x0007898AA108BC0E),
+ UINT64_C(0x00047515F8ED8CD4), UINT64_C(0x0004D3B9580C495A),
+ UINT64_C(0x0007180B924B02DC), UINT64_C(0x0000F661E19F6359),
+ UINT64_C(0x000670BF44B39CC7), UINT64_C(0x0007FE66B0398776),
+ UINT64_C(0x0007995A1E2AC824), UINT64_C(0x0006D5DC46677210)},
+ {UINT64_C(0x000FAAD726B55EA2), UINT64_C(0x00079D5D2BEE8A46),
+ UINT64_C(0x00026095ED36BEE6), UINT64_C(0x0006B2CD7C0A5EAC),
+ UINT64_C(0x0007363AADE3CBFF), UINT64_C(0x0008973FB787E167),
+ UINT64_C(0x0007C0F634CBA455), UINT64_C(0x0000FA999E76881F),
+ UINT64_C(0x000324C512E8946B), UINT64_C(0x000380D8788E7945)},
+ {UINT64_C(0x0008DB1A6DE4460C), UINT64_C(0x00062893735BF9A0),
+ UINT64_C(0x000013BA32E02B7B), UINT64_C(0x00073C9F80B4A895),
+ UINT64_C(0x0003C3F3C87AAFB2), UINT64_C(0x000827F36493E441),
+ UINT64_C(0x000292EFAC99E138), UINT64_C(0x000022A4A4904138),
+ UINT64_C(0x00024529ECB28E37), UINT64_C(0x00077421EE238C1B)}},
+ {{UINT64_C(0x000F7B9C6C9FCA63), UINT64_C(0x00034B8A0AAFC9BE),
+ UINT64_C(0x0005DAE98DB7E24F), UINT64_C(0x00074C6CA22931E1),
+ UINT64_C(0x0002A4921C14D883), UINT64_C(0x0006EFA91FA1CE71),
+ UINT64_C(0x0003CE84355E0DCE), UINT64_C(0x000753C05DD0ADC7),
+ UINT64_C(0x00017FAB49BE457E), UINT64_C(0x000352750D53DB1E)},
+ {UINT64_C(0x000C2F7461033645), UINT64_C(0x000513C3544B8E3B),
+ UINT64_C(0x00052C0D08ECF672), UINT64_C(0x000724A3D76B9645),
+ UINT64_C(0x0005EE3A414B8581), UINT64_C(0x0001B06B1A55E453),
+ UINT64_C(0x000186401A4D8285), UINT64_C(0x00038DD6E8C786ED),
+ UINT64_C(0x0002D70CAF4EE8DD), UINT64_C(0x0005D01B347C3A06)},
+ {UINT64_C(0x0001567FFD93F0D1), UINT64_C(0x000309252F65BB4A),
+ UINT64_C(0x0005959B6ED014AB), UINT64_C(0x0004B43212E34585),
+ UINT64_C(0x000438AFACBE2355), UINT64_C(0x0005CE8397224869),
+ UINT64_C(0x0005A2F2198160CD), UINT64_C(0x00038CA3C93100EF),
+ UINT64_C(0x0005B4E108E763BD), UINT64_C(0x00013AB825E9037B)}},
+ {{UINT64_C(0x00035B4D0F47A893), UINT64_C(0x0000F88590FD42E6),
+ UINT64_C(0x0000D7368E95AC4C), UINT64_C(0x000195F98944B691),
+ UINT64_C(0x000486CCF2B919EC), UINT64_C(0x0004A59D1C2A3F33),
+ UINT64_C(0x000534076FD4DE0F), UINT64_C(0x00059369592A8078),
+ UINT64_C(0x00075849457601A8), UINT64_C(0x0005BCFEF89B98B3)},
+ {UINT64_C(0x00082471AB978FF4), UINT64_C(0x000417A722D632A1),
+ UINT64_C(0x000119FFFE762A0C), UINT64_C(0x000154FACAC33A86),
+ UINT64_C(0x000629B146A09126), UINT64_C(0x00077F98E5A9B02A),
+ UINT64_C(0x0007BFDF4C9B46F3), UINT64_C(0x0006F3CE86DA2075),
+ UINT64_C(0x00043496F1F7058B), UINT64_C(0x000410C0161E3F69)},
+ {UINT64_C(0x00061C0DDD1D5193), UINT64_C(0x0005D358D2C1C9E2),
+ UINT64_C(0x0000F247BBCF087E), UINT64_C(0x00075A43B2343359),
+ UINT64_C(0x0001269D6EFC98D0), UINT64_C(0x0009DE5FF8C9C95C),
+ UINT64_C(0x00051605D13327E2), UINT64_C(0x00033CB5838CF4A6),
+ UINT64_C(0x0003A16E2B08FE9E), UINT64_C(0x0003650C080431E5)}},
+ },
+ {
+ {{UINT64_C(0x00049602E45D0A93), UINT64_C(0x00059C589221A880),
+ UINT64_C(0x00006BFB336EDCAF), UINT64_C(0x0005AD45223DDD99),
+ UINT64_C(0x00057F8BFA84AC51), UINT64_C(0x000AB4970BF8F60A),
+ UINT64_C(0x00067F4FB7299A69), UINT64_C(0x0006C45D1DA5576A),
+ UINT64_C(0x0001DF5059D6F745), UINT64_C(0x0007522509A7E4C7)},
+ {UINT64_C(0x000754184C1EAC3E), UINT64_C(0x0001803402F7CD15),
+ UINT64_C(0x0004F73F4944A6CF), UINT64_C(0x00046CEC832A58F1),
+ UINT64_C(0x0005BF7C9110EC11), UINT64_C(0x0006BEE5D06C0C15),
+ UINT64_C(0x00004D8B8B8F00B0), UINT64_C(0x00028C4D421BD379),
+ UINT64_C(0x00075078416E153C), UINT64_C(0x000359B19C14F12F)},
+ {UINT64_C(0x000808DDF052F857), UINT64_C(0x000019692911893C),
+ UINT64_C(0x00020F8AC2158528), UINT64_C(0x0006BF85B2D465D0),
+ UINT64_C(0x0000E4B967AE33BF), UINT64_C(0x0006B2C044AA16CD),
+ UINT64_C(0x0005714242B5BB0F), UINT64_C(0x0005D92812DAFB73),
+ UINT64_C(0x0007AD2DCB20ECFF), UINT64_C(0x00077EEC1D3FA208)}},
+ {{UINT64_C(0x0002119238646FD8), UINT64_C(0x0005ABC2F8AF448B),
+ UINT64_C(0x000453259E95D8E5), UINT64_C(0x0005B48782EBCAEE),
+ UINT64_C(0x00038436F43CDFBF), UINT64_C(0x00048D16E429CE28),
+ UINT64_C(0x000570D828600948), UINT64_C(0x0003453855620095),
+ UINT64_C(0x0006AD331E478470), UINT64_C(0x000651BFAB5074BD)},
+ {UINT64_C(0x0005F4433BDB32D9), UINT64_C(0x000105218D10DE9D),
+ UINT64_C(0x000584EFCC5C27E2), UINT64_C(0x00013201F8F88C14),
+ UINT64_C(0x0005783EC5680875), UINT64_C(0x0005599CE7F06E7D),
+ UINT64_C(0x000469D4A0F10D5A), UINT64_C(0x00066493C7BE869D),
+ UINT64_C(0x000282E244723DA2), UINT64_C(0x000003DDA26211EF)},
+ {UINT64_C(0x0004777CF1747536), UINT64_C(0x0004BD8E40F0AAC6),
+ UINT64_C(0x0007330BCEF012F6), UINT64_C(0x0005B417B099D130),
+ UINT64_C(0x00008F04461BF63F), UINT64_C(0x0002FAB6C914DFFC),
+ UINT64_C(0x00012387DF5AFEB9), UINT64_C(0x00060B418608D67A),
+ UINT64_C(0x00028BA76C66CFD8), UINT64_C(0x00046A5D5B19C944)}},
+ {{UINT64_C(0x000D23E16E7EB572), UINT64_C(0x00046332FC8A601B),
+ UINT64_C(0x00065A48317134CE), UINT64_C(0x00043B6D52860AED),
+ UINT64_C(0x0006EEB80466982A), UINT64_C(0x0009E57FBD4942F2),
+ UINT64_C(0x0001B441B9B92D52), UINT64_C(0x0003927622998150),
+ UINT64_C(0x00032063CFE0CC69), UINT64_C(0x0001E7A8EAAD8648)},
+ {UINT64_C(0x0009791DBC2F7ADE), UINT64_C(0x0005B5AE56F669E8),
+ UINT64_C(0x0004787844482C09), UINT64_C(0x000233D0503DE859),
+ UINT64_C(0x0002980F93DB7782), UINT64_C(0x000E89640104583D),
+ UINT64_C(0x000256749A55B356), UINT64_C(0x000346FB5377E7C7),
+ UINT64_C(0x0005986D02625C7F), UINT64_C(0x0006501A5BE2B9EA)},
+ {UINT64_C(0x000DC86BCD571C18), UINT64_C(0x000295273CB7094B),
+ UINT64_C(0x0002353CEEA64824), UINT64_C(0x0000EDE9FDAEF274),
+ UINT64_C(0x0006FC2FE16F8340), UINT64_C(0x000E75263685AE89),
+ UINT64_C(0x0002A6B522548B24), UINT64_C(0x00030B331A3CF122),
+ UINT64_C(0x00040AA1996D71AF), UINT64_C(0x00021DA1E66C5828)}},
+ {{UINT64_C(0x0006237FE85D84B7), UINT64_C(0x0005D493978AA748),
+ UINT64_C(0x0005606DB28D11E0), UINT64_C(0x0001404E7EE9A4A7),
+ UINT64_C(0x0000009FCCF95887), UINT64_C(0x0001F35190486D07),
+ UINT64_C(0x0005ABF1251A2823), UINT64_C(0x0007D9F90E1B9546),
+ UINT64_C(0x000027D362BD3273), UINT64_C(0x0001D3276CA5DBCA)},
+ {UINT64_C(0x0005BCE59854F4F2), UINT64_C(0x00068A97823BA015),
+ UINT64_C(0x00069C7B6BA3A2B9), UINT64_C(0x000391289E956A27),
+ UINT64_C(0x0006D77C747BE4B3), UINT64_C(0x00030591F7C41921),
+ UINT64_C(0x0002A1EB441BD53B), UINT64_C(0x00014CCBBA39D2CC),
+ UINT64_C(0x0002A9EAEDC15CEF), UINT64_C(0x000175CD0B5E3DFD)},
+ {UINT64_C(0x00037ECC8CE85AE8), UINT64_C(0x0002D2E68B37C995),
+ UINT64_C(0x0007756F4C412926), UINT64_C(0x00064C1755FD279C),
+ UINT64_C(0x0005D142CA088513), UINT64_C(0x0005C77113983F17),
+ UINT64_C(0x000667B020C82500), UINT64_C(0x000303A898E3AC4F),
+ UINT64_C(0x0007E3C86D19C210), UINT64_C(0x0004249657F2E122)}},
+ {{UINT64_C(0x0001D1C5E353E5CA), UINT64_C(0x0002576EB624749B),
+ UINT64_C(0x00065CDB175F1C9E), UINT64_C(0x0003A41B811E62CE),
+ UINT64_C(0x000518CFEE6F53F7), UINT64_C(0x00098B04A4AC2F13),
+ UINT64_C(0x0006AB7610983F96), UINT64_C(0x000746A4D621967E),
+ UINT64_C(0x000350349EC927D2), UINT64_C(0x000222970DF1E1BE)},
+ {UINT64_C(0x0008906EEA836812), UINT64_C(0x0003114905108F3F),
+ UINT64_C(0x0005C9663C445888), UINT64_C(0x0001C71F712BD33B),
+ UINT64_C(0x00043D935A54A0DA), UINT64_C(0x0003646E9FDC729F),
+ UINT64_C(0x0007210C4951848F), UINT64_C(0x00011FEF8E510953),
+ UINT64_C(0x000346FAA21A5B8C), UINT64_C(0x00003AD57103DD51)},
+ {UINT64_C(0x00033864A36064D6), UINT64_C(0x000029B9EAFEDC2A),
+ UINT64_C(0x0003BE3DEB0B5F9A), UINT64_C(0x0003B506AA541679),
+ UINT64_C(0x0005B2A6B10327B0), UINT64_C(0x000157232B715DB2),
+ UINT64_C(0x0001EA48E7F6FCF8), UINT64_C(0x00025E863CA33319),
+ UINT64_C(0x0005C8D3F568BF16), UINT64_C(0x0004C5D907C3D1C8)}},
+ {{UINT64_C(0x00046AD26F23721E), UINT64_C(0x0002C765BDA314CE),
+ UINT64_C(0x000752858F9EB295), UINT64_C(0x000513964D698E8F),
+ UINT64_C(0x0001C85381B9C98C), UINT64_C(0x00007D077B6D8B14),
+ UINT64_C(0x0002650BE441372D), UINT64_C(0x0007C92EF836C485),
+ UINT64_C(0x0000F996ACD339F6), UINT64_C(0x0007E8564FED0A69)},
+ {UINT64_C(0x000E29A25F3371CF), UINT64_C(0x00008814C5A56ED5),
+ UINT64_C(0x0000021D0DCD381D), UINT64_C(0x00076A6088860540),
+ UINT64_C(0x0004219513890BB8), UINT64_C(0x0009B16B9A0A067F),
+ UINT64_C(0x00047E7B85349C38), UINT64_C(0x00074B3FE445EC78),
+ UINT64_C(0x000275D721E0622F), UINT64_C(0x0002A2EC646BA867)},
+ {UINT64_C(0x000BBDD3A720C17F), UINT64_C(0x0001B2C37BA0E3D1),
+ UINT64_C(0x00054714236D0CC2), UINT64_C(0x00076964A35C7638),
+ UINT64_C(0x000025052B296A76), UINT64_C(0x000C48304202EE65),
+ UINT64_C(0x0006ED1F7DCB85DA), UINT64_C(0x0002FA4317B61178),
+ UINT64_C(0x0006CEE7698DA4B8), UINT64_C(0x00044B0FF2267F23)}},
+ {{UINT64_C(0x000D747A3E22E2B1), UINT64_C(0x0003DEDA875D7CAE),
+ UINT64_C(0x0006A21C6B5FE47D), UINT64_C(0x000412BD22E4D137),
+ UINT64_C(0x00029DA6D3B3667F), UINT64_C(0x00048E20CB87439F),
+ UINT64_C(0x000325A27394F2C8), UINT64_C(0x000428463E1D4FBF),
+ UINT64_C(0x00041B300FF04818), UINT64_C(0x0001521958F0E161)},
+ {UINT64_C(0x000085DB6B7E977C), UINT64_C(0x00017CE01F10308D),
+ UINT64_C(0x0000AC1CA092A153), UINT64_C(0x000415739EAB8C46),
+ UINT64_C(0x0000C8CDF9774C54), UINT64_C(0x00051119A4D27CD6),
+ UINT64_C(0x0003979EF4CABD4E), UINT64_C(0x000306E82DE011FD),
+ UINT64_C(0x000130D235924305), UINT64_C(0x0004BC668226FA1A)},
+ {UINT64_C(0x00035460C289FE8C), UINT64_C(0x00077FC4B88D0A33),
+ UINT64_C(0x00034B3A2F12DA46), UINT64_C(0x0000587252519A91),
+ UINT64_C(0x00067696AD8CA13F), UINT64_C(0x0004B367ED30881B),
+ UINT64_C(0x0006ECDC69A04362), UINT64_C(0x00062060141E8A58),
+ UINT64_C(0x000446717A1D4C41), UINT64_C(0x00059C92F4144291)}},
+ {{UINT64_C(0x00090BCBA13F3FFA), UINT64_C(0x000459F76914A474),
+ UINT64_C(0x00077DF9C1AB8451), UINT64_C(0x00027F4173658DE6),
+ UINT64_C(0x000752A654451BBD), UINT64_C(0x0004389BF205F6A5),
+ UINT64_C(0x0002A0F6E2CAC058), UINT64_C(0x000759DDCA3CF248),
+ UINT64_C(0x0001DB6435DE0B7B), UINT64_C(0x0007A40E4FF1D274)},
+ {UINT64_C(0x000B40F9FEA2DF61), UINT64_C(0x000187FAF0A90648),
+ UINT64_C(0x0007F429F69E5C3C), UINT64_C(0x0005E462DCD8F74D),
+ UINT64_C(0x00002FB868905F55), UINT64_C(0x0006227264E559AC),
+ UINT64_C(0x0005DCC2ACD4BE01), UINT64_C(0x0001754DD8D51BE7),
+ UINT64_C(0x000254DBE11362D7), UINT64_C(0x00067071A34DAE0B)},
+ {UINT64_C(0x00052B353E84B78C), UINT64_C(0x000564D48962EE3B),
+ UINT64_C(0x000566CE4AC9469E), UINT64_C(0x00022969A603533F),
+ UINT64_C(0x00057CBF4F23DA31), UINT64_C(0x000F413FE6288E6F),
+ UINT64_C(0x00043A5E06D777D3), UINT64_C(0x0000D59724B433B0),
+ UINT64_C(0x0004AC5FF7A4F7F5), UINT64_C(0x0007581748BFBCFE)}},
+ {{UINT64_C(0x00051789D3E212FA), UINT64_C(0x0000BCEB94909B13),
+ UINT64_C(0x00028C362BBCB45E), UINT64_C(0x00070EF351F3B7C0),
+ UINT64_C(0x000666ECDEB8047E), UINT64_C(0x00078E439202364E),
+ UINT64_C(0x0007E77E6140B4A9), UINT64_C(0x000482D5B04DDC11),
+ UINT64_C(0x0001764AEFADC75A), UINT64_C(0x0006B47820ED7E1B)},
+ {UINT64_C(0x000E69076D92441D), UINT64_C(0x0007F96BE0ECA0A5),
+ UINT64_C(0x0005B603DEE01A8E), UINT64_C(0x0002D1B5AEAB2F76),
+ UINT64_C(0x0007A711B7087718), UINT64_C(0x000277D13CD92B5F),
+ UINT64_C(0x0003AE287A233D24), UINT64_C(0x000666E9F9CC65A3),
+ UINT64_C(0x000676645DDC4BCF), UINT64_C(0x0004C2FE8FE9D67B)},
+ {UINT64_C(0x00027D78672C6C00), UINT64_C(0x0002479A6D9CA279),
+ UINT64_C(0x00072D4B69EE9EED), UINT64_C(0x000115C466A0FF92),
+ UINT64_C(0x00040A74ED91DE82), UINT64_C(0x00007A983DF62653),
+ UINT64_C(0x0003E0BD157BC637), UINT64_C(0x000257CF02231B18),
+ UINT64_C(0x00021FB8D5B274BC), UINT64_C(0x00063F5ED86AF20B)}},
+ {{UINT64_C(0x000417CD2C573949), UINT64_C(0x0005C0A0F0D85A83),
+ UINT64_C(0x0004BCA59A389EFA), UINT64_C(0x0004BC9A8EDBAE72),
+ UINT64_C(0x00031DA12B0ED484), UINT64_C(0x000361F7E36F579E),
+ UINT64_C(0x0002F55EEE1A1AB5), UINT64_C(0x0001FE95A3CDAB65),
+ UINT64_C(0x0000BD0E2F996073), UINT64_C(0x00069840C7AEA37F)},
+ {UINT64_C(0x0008A8244C90AAE5), UINT64_C(0x000192938B5C4443),
+ UINT64_C(0x00062E8381B8DA6E), UINT64_C(0x0002A57B4398E87B),
+ UINT64_C(0x0001B401B603039D), UINT64_C(0x000F8931B08E2459),
+ UINT64_C(0x0005FDE03EB7E448), UINT64_C(0x000042A4FFF29BE1),
+ UINT64_C(0x0005548F632ED26F), UINT64_C(0x00007E01A00DDD53)},
+ {UINT64_C(0x00009C5F1271C360), UINT64_C(0x00014712324EDF39),
+ UINT64_C(0x00024AF2050F1BB5), UINT64_C(0x0000FB6B43AD3C7B),
+ UINT64_C(0x00066F4AA55F0B74), UINT64_C(0x000C69A365B54877),
+ UINT64_C(0x0000D87DE69BA1D3), UINT64_C(0x00001F390592ACB1),
+ UINT64_C(0x0002D3ACDCBEEC70), UINT64_C(0x0006A6C9430F6DC5)}},
+ {{UINT64_C(0x00076182951B9FCD), UINT64_C(0x00014DA2A6CA4A38),
+ UINT64_C(0x00061C55C6BDE562), UINT64_C(0x0006ECA43E5605F8),
+ UINT64_C(0x00006B6FFF6EC841), UINT64_C(0x0000713C0144812B),
+ UINT64_C(0x00071F1D396EB0DD), UINT64_C(0x00071210D066A6DB),
+ UINT64_C(0x000737CF73AC235F), UINT64_C(0x000056B844B68475)},
+ {UINT64_C(0x0008F1CEAD60A1D0), UINT64_C(0x0000444231BD8012),
+ UINT64_C(0x000445D6A0ED8B97), UINT64_C(0x0002DD91F0EEE5C0),
+ UINT64_C(0x0003766A3BF6B231), UINT64_C(0x000F5C93D686296E),
+ UINT64_C(0x000233237F38DC42), UINT64_C(0x0007525D1A3497EA),
+ UINT64_C(0x0001819B905D774A), UINT64_C(0x0007FFB178F7CE0F)},
+ {UINT64_C(0x000641A17722C8F1), UINT64_C(0x00079F1706850C02),
+ UINT64_C(0x0006060CBB0518EB), UINT64_C(0x0002B66C8CB99F42),
+ UINT64_C(0x00066E8E928880E6), UINT64_C(0x0001989CC847F22C),
+ UINT64_C(0x0003469EEFF682ED), UINT64_C(0x0000D34A55978260),
+ UINT64_C(0x00044C59D525236B), UINT64_C(0x000390050E10B720)}},
+ {{UINT64_C(0x00009CD2BD71F4DB), UINT64_C(0x00029F23BB9D8BE1),
+ UINT64_C(0x0000FB44276A7039), UINT64_C(0x0005F4E44D6437E8),
+ UINT64_C(0x0004E5D5F5C4BB02), UINT64_C(0x000662EA552904DE),
+ UINT64_C(0x00072BFD95DA12F6), UINT64_C(0x0006E4A9CCE5BBB7),
+ UINT64_C(0x00035D0BE00D7A94), UINT64_C(0x0001C01BCE0CD7F9)},
+ {UINT64_C(0x000C0AFD973DBCF3), UINT64_C(0x00064CE4BD3B9ACA),
+ UINT64_C(0x0007702F5FC560D5), UINT64_C(0x0005E595BA3FBA8C),
+ UINT64_C(0x0005B6BF254BF97D), UINT64_C(0x000576ABA05DA74C),
+ UINT64_C(0x000010304EEBAB26), UINT64_C(0x00015D19F5797872),
+ UINT64_C(0x00016D4017CFBF4A), UINT64_C(0x00026F6161725AEC)},
+ {UINT64_C(0x00087F397AEAE324), UINT64_C(0x0005FA83BB5E2D0C),
+ UINT64_C(0x0007223E58B05D25), UINT64_C(0x0003870F05A9B0F5),
+ UINT64_C(0x0001A6AE5BF4D17D), UINT64_C(0x000EC0FEC7C22B4D),
+ UINT64_C(0x0004123EA40B3D05), UINT64_C(0x0006AB321BCED2BF),
+ UINT64_C(0x0005EB8B088ADF8C), UINT64_C(0x0006D4D7B749D913)}},
+ {{UINT64_C(0x0004F5FA884DA730), UINT64_C(0x0000AF25F411BD67),
+ UINT64_C(0x0003BA45D0584E3F), UINT64_C(0x0002185580D7028A),
+ UINT64_C(0x00042C01189DCCED), UINT64_C(0x00008C6AE9B1ABB6),
+ UINT64_C(0x00052E642E3C2B76), UINT64_C(0x0007310740FB3824),
+ UINT64_C(0x000728038396164C), UINT64_C(0x000699C02D4658C4)},
+ {UINT64_C(0x00079389C8FD6F3C), UINT64_C(0x000334AEF7344570),
+ UINT64_C(0x000242D78C5A1222), UINT64_C(0x0003C2A690D38351),
+ UINT64_C(0x0001CF5ACE9C51A0), UINT64_C(0x00055B466F344A63),
+ UINT64_C(0x0007E983BE7FDAE4), UINT64_C(0x00055CFA24140C02),
+ UINT64_C(0x000069CB7B9C5BD2), UINT64_C(0x0006188710431607)},
+ {UINT64_C(0x00026F7B943A846D), UINT64_C(0x0002D01FFCEE4F40),
+ UINT64_C(0x00018950D46B06FD), UINT64_C(0x000489C50B872A31),
+ UINT64_C(0x0006350B0D584129), UINT64_C(0x0001F25CBB8B17E3),
+ UINT64_C(0x0002C5C45781F165), UINT64_C(0x0005737448097914),
+ UINT64_C(0x000511D83B88DD30), UINT64_C(0x000274954F75EF59)}},
+ {{UINT64_C(0x000ECDBAA9D6B470), UINT64_C(0x0004FEAEC5FC07C4),
+ UINT64_C(0x00006ACFE89ADEF6), UINT64_C(0x0001DA4AAD513147),
+ UINT64_C(0x00067D3AF31AE9ED), UINT64_C(0x000A4B232569B195),
+ UINT64_C(0x0004CF616E4681F8), UINT64_C(0x000644769BD5A3D2),
+ UINT64_C(0x00025E58B311AC44), UINT64_C(0x00052C8B011460F8)},
+ {UINT64_C(0x00045717702B786E), UINT64_C(0x00014A10820591ED),
+ UINT64_C(0x00062D9363FA4EE1), UINT64_C(0x00022163012006D4),
+ UINT64_C(0x000271B0D1CBDBE0), UINT64_C(0x00026F3A015A99D4),
+ UINT64_C(0x0007C87580D2C201), UINT64_C(0x0001BF98F86FC444),
+ UINT64_C(0x000138F3A6FA662A), UINT64_C(0x0001A06E15120B69)},
+ {UINT64_C(0x0008025E88D639DD), UINT64_C(0x0000E347C30AA122),
+ UINT64_C(0x0002589D8BA62AC4), UINT64_C(0x0002E11924750A60),
+ UINT64_C(0x0001FBEE719BDB54), UINT64_C(0x0004C0C9348C22B4),
+ UINT64_C(0x00057FD26F80CAC8), UINT64_C(0x00019B358CE6D1E3),
+ UINT64_C(0x00007A93D359D2C5), UINT64_C(0x00077158FA133E83)}},
+ {{UINT64_C(0x000D7DAFE61175ED), UINT64_C(0x0000E4504E665412),
+ UINT64_C(0x0005FB729DDEE3EC), UINT64_C(0x000047F270C83BC2),
+ UINT64_C(0x0005A73604DF6148), UINT64_C(0x000BD1E93DBD8BB5),
+ UINT64_C(0x0000AC824EAD6B31), UINT64_C(0x0005FF3E8CE9DCC5),
+ UINT64_C(0x00007CC6E8CFFAC1), UINT64_C(0x0002AFFEFFBB1A9A)},
+ {UINT64_C(0x00023316BB40DF6E), UINT64_C(0x000481B56A077501),
+ UINT64_C(0x00013E2A0B14557D), UINT64_C(0x000595D27B53FF98),
+ UINT64_C(0x0003C19B9D245EB2), UINT64_C(0x000FE22605BBBE16),
+ UINT64_C(0x0005BBC13BECC9C3), UINT64_C(0x0005555CC21B1639),
+ UINT64_C(0x0006C7E755F4FE0A), UINT64_C(0x00004CED449C0043)},
+ {UINT64_C(0x000F212C1FCCCAFA), UINT64_C(0x00065AA07D23A1F0),
+ UINT64_C(0x000653B0A8787B0D), UINT64_C(0x0002764B66DA9938),
+ UINT64_C(0x0001C729D799C70F), UINT64_C(0x000B8104F70D5296),
+ UINT64_C(0x0002712DA31EC0BF), UINT64_C(0x00015C3C4923D483),
+ UINT64_C(0x0005652F2FB13CB3), UINT64_C(0x00041664C0C8CDFC)}},
+ {{UINT64_C(0x00082999B7AC4DE8), UINT64_C(0x00058A2CECA252A7),
+ UINT64_C(0x00020C73280A45C0), UINT64_C(0x000450DA84CA8CD7),
+ UINT64_C(0x0007BF0E4090350D), UINT64_C(0x000ADF283C44352A),
+ UINT64_C(0x0003E4DCFC4CEE6B), UINT64_C(0x000763CA01B20C07),
+ UINT64_C(0x00074828372B938A), UINT64_C(0x00022EC150908F6A)},
+ {UINT64_C(0x0002582469359E84), UINT64_C(0x000228A33D25EEC6),
+ UINT64_C(0x0006435073D85A7E), UINT64_C(0x000227840F93D3F5),
+ UINT64_C(0x000262B1B8D3C804), UINT64_C(0x000340D7D4B65A82),
+ UINT64_C(0x0003D2F31E1046E9), UINT64_C(0x0004F093EF407EAD),
+ UINT64_C(0x0000739071C0CFCC), UINT64_C(0x00026D2395B09E2C)},
+ {UINT64_C(0x000F54E820DEB8D8), UINT64_C(0x000587F5BBC119C5),
+ UINT64_C(0x00033CF484DE2CE4), UINT64_C(0x00072D6E48747C29),
+ UINT64_C(0x0001FC0C06AF6484), UINT64_C(0x00072C72C472F425),
+ UINT64_C(0x0006A997E7AC72B4), UINT64_C(0x000615BA71BDA74C),
+ UINT64_C(0x000194736B2BCBEA), UINT64_C(0x00053764E1CF34DF)}},
+ },
+ {
+ {{UINT64_C(0x000869A43C294C54), UINT64_C(0x0003CB29D7749693),
+ UINT64_C(0x0007C4909DB7E1DF), UINT64_C(0x0005228EB2FBC6A3),
+ UINT64_C(0x0001416FC12D302E), UINT64_C(0x00091471B10D8725),
+ UINT64_C(0x0001E08AA9DECE88), UINT64_C(0x000587A018AD629C),
+ UINT64_C(0x0006C4A4C27A1DCA), UINT64_C(0x0005C28EBD109BCD)},
+ {UINT64_C(0x000F17D6F444B156), UINT64_C(0x00010614A6278D4D),
+ UINT64_C(0x00004E296EC65945), UINT64_C(0x000764A3D99A6C4C),
+ UINT64_C(0x0003AC1DDF8C7862), UINT64_C(0x000A1BDC47EBAF83),
+ UINT64_C(0x000575E7E4E6E02D), UINT64_C(0x000346FF3FA7D4EF),
+ UINT64_C(0x0006490E0AA55F9E), UINT64_C(0x0003DE09135EA98D)},
+ {UINT64_C(0x0004B1218EED069B), UINT64_C(0x0003A6C9EA9923A4),
+ UINT64_C(0x0001EC1877C85728), UINT64_C(0x000300A0F14A71F6),
+ UINT64_C(0x0006ECECC49016EB), UINT64_C(0x00058EED82849105),
+ UINT64_C(0x000400ECD17E513E), UINT64_C(0x00060825E3952E96),
+ UINT64_C(0x000565AE484D0F5D), UINT64_C(0x000209AD7372BC07)}},
+ {{UINT64_C(0x000967088E9B527F), UINT64_C(0x0002672CB51B0152),
+ UINT64_C(0x0000A1B79BAEC761), UINT64_C(0x0001174B982E833F),
+ UINT64_C(0x00024E0D77B79A0D), UINT64_C(0x00047372BD137D72),
+ UINT64_C(0x0000BD9098E4916F), UINT64_C(0x0002AE2E6C280D68),
+ UINT64_C(0x000569AB6BDEC767), UINT64_C(0x0006EB14F61A266B)},
+ {UINT64_C(0x000468847FDDE1A1), UINT64_C(0x0007E47FFAC321C1),
+ UINT64_C(0x000099E09961D0C8), UINT64_C(0x0007F115DEAE525D),
+ UINT64_C(0x000694F77EF9636E), UINT64_C(0x00040F8DDE23159D),
+ UINT64_C(0x0006680E30AEF9BB), UINT64_C(0x0006B528CEF988BE),
+ UINT64_C(0x000518BE82D6063B), UINT64_C(0x00022B8C074B2105)},
+ {UINT64_C(0x0003A4C05B585761), UINT64_C(0x0003528539A1DAD4),
+ UINT64_C(0x000540826053F31F), UINT64_C(0x0003BA075642B0C7),
+ UINT64_C(0x000368D07DE9484A), UINT64_C(0x000B3D3E8D9BA85E),
+ UINT64_C(0x0007550F9A53DD73), UINT64_C(0x000041A194358CC9),
+ UINT64_C(0x0004F9F0386A50A1), UINT64_C(0x00041D37DCFBA507)}},
+ {{UINT64_C(0x00024FF20ED85567), UINT64_C(0x00026ACB40B58156),
+ UINT64_C(0x0002C9398F6DD650), UINT64_C(0x00030160273B8447),
+ UINT64_C(0x0002E3773B782B9F), UINT64_C(0x0007030F6938A06B),
+ UINT64_C(0x0004E62A1384F897), UINT64_C(0x000225C672A35300),
+ UINT64_C(0x0005C1F66CAD5B3A), UINT64_C(0x0005832B4574C046)},
+ {UINT64_C(0x0006B08E0399855F), UINT64_C(0x0000E9671A6388F9),
+ UINT64_C(0x0006596FB4577230), UINT64_C(0x00041255210F89BD),
+ UINT64_C(0x00058F5E2E72B2D8), UINT64_C(0x0003DEA57DF34241),
+ UINT64_C(0x00021714F7980B29), UINT64_C(0x00033241DDA8B0E5),
+ UINT64_C(0x000502E01B9EF7BE), UINT64_C(0x00027166556F5433)},
+ {UINT64_C(0x0002068F4390F72B), UINT64_C(0x000037FC7DD50F35),
+ UINT64_C(0x0003D7105B085171), UINT64_C(0x0003F4A9D00E2D1B),
+ UINT64_C(0x00036BA34F00ADB8), UINT64_C(0x000BAA7FD102D0DF),
+ UINT64_C(0x0006D540C7AB1FE3), UINT64_C(0x0006D399320CD3FB),
+ UINT64_C(0x00000969ECDCA36E), UINT64_C(0x000736A5F44C73E5)}},
+ {{UINT64_C(0x000A1EA8102BF7EA), UINT64_C(0x00076681D903FE4E),
+ UINT64_C(0x00016827A8F7E29F), UINT64_C(0x000041D34C09DF5C),
+ UINT64_C(0x0003C9643E4AE7F0), UINT64_C(0x000AA849BA118FEC),
+ UINT64_C(0x0004F8B809BA8FD8), UINT64_C(0x0000D32D898D1E18),
+ UINT64_C(0x00057AF4934DCD86), UINT64_C(0x000564F85C2CDDAD)},
+ {UINT64_C(0x000E180C6892618B), UINT64_C(0x0006FF7240030636),
+ UINT64_C(0x000366CD397F1774), UINT64_C(0x0005728BDC33187B),
+ UINT64_C(0x0000B3266F640DCE), UINT64_C(0x000128B8A25D3F67),
+ UINT64_C(0x0007708EE6E8BF9F), UINT64_C(0x00046A93620B4A05),
+ UINT64_C(0x0007290D084B52EC), UINT64_C(0x000739810783526B)},
+ {UINT64_C(0x000CC39B5FFAF5D7), UINT64_C(0x0003C6202DA25104),
+ UINT64_C(0x00062CC8759BDEDE), UINT64_C(0x00036D29F17389AF),
+ UINT64_C(0x00012C6A9C28C6C5), UINT64_C(0x0009DCE18E457FFC),
+ UINT64_C(0x0004ECCE05180B2B), UINT64_C(0x000596ACCF512291),
+ UINT64_C(0x00062945DAA66E26), UINT64_C(0x00050AD4823F6CFD)}},
+ {{UINT64_C(0x000A8CC651B80948), UINT64_C(0x0001E1750AC465BE),
+ UINT64_C(0x000187C1C7A67AC8), UINT64_C(0x0006F89CE139F631),
+ UINT64_C(0x00036828EE424F47), UINT64_C(0x000F2D70AE145D31),
+ UINT64_C(0x0004B3577A19593F), UINT64_C(0x0001B7EA66A3F33D),
+ UINT64_C(0x00077FC34430FB8C), UINT64_C(0x0007F27E8D488429)},
+ {UINT64_C(0x000F6CC160A3C9DE), UINT64_C(0x000192CEF1A784E0),
+ UINT64_C(0x00055B5C5AEEC896), UINT64_C(0x0006D5903202D1D5),
+ UINT64_C(0x00044EE2B9F57100), UINT64_C(0x00085703712819CA),
+ UINT64_C(0x00050908533B6653), UINT64_C(0x0003454ED72A02D5),
+ UINT64_C(0x00070AC25F6383E3), UINT64_C(0x00048EB15CD43A55)},
+ {UINT64_C(0x000A62A87FDE7680), UINT64_C(0x0001AF035CE0A44A),
+ UINT64_C(0x0007F2C92A8D048E), UINT64_C(0x0000CEE23583E470),
+ UINT64_C(0x00003B703640D1F1), UINT64_C(0x00098B27784DA23E),
+ UINT64_C(0x0003A7C34610E147), UINT64_C(0x00073D1ABE50B09E),
+ UINT64_C(0x0002938FFA96CAB7), UINT64_C(0x0003E1959EF246D8)}},
+ {{UINT64_C(0x0001869BB1B94C69), UINT64_C(0x00051734C75D4111),
+ UINT64_C(0x00000E8A85605AF9), UINT64_C(0x00047660F7146E01),
+ UINT64_C(0x00026CB57D10B81E), UINT64_C(0x0006DC6E8E61EABF),
+ UINT64_C(0x00040BDBDDA25575), UINT64_C(0x000621970F444FB0),
+ UINT64_C(0x0005A68915E84863), UINT64_C(0x0003FC0413B2B9DB)},
+ {UINT64_C(0x00057BA222699263), UINT64_C(0x0007645EE7373008),
+ UINT64_C(0x0001A2F8038B610D), UINT64_C(0x000677556F7C8C70),
+ UINT64_C(0x0004CE4E5D52ADBA), UINT64_C(0x000CAE8AF894C9EB),
+ UINT64_C(0x000289D1174CA2E9), UINT64_C(0x00032825A0B38AD1),
+ UINT64_C(0x0002D70424509A50), UINT64_C(0x000588C224908678)},
+ {UINT64_C(0x000EC8195559B033), UINT64_C(0x0004928CC1FABC5C),
+ UINT64_C(0x0007E050DE738A9E), UINT64_C(0x0003E981A0A1EF6A),
+ UINT64_C(0x00001FE76C501153), UINT64_C(0x000CB9239B643220),
+ UINT64_C(0x0006875D72093E18), UINT64_C(0x00025CA8156C881B),
+ UINT64_C(0x00048360BD70DA5F), UINT64_C(0x00012C76B37E5C67)}},
+ {{UINT64_C(0x000CADFF54C5FC61), UINT64_C(0x0003100C3F2C3EC2),
+ UINT64_C(0x00072D1EA82213E6), UINT64_C(0x0007F17AA56C2E31),
+ UINT64_C(0x0006CBE667300217), UINT64_C(0x000A75C32AC1D00C),
+ UINT64_C(0x0000900399B302FC), UINT64_C(0x00066D6BDEE4B606),
+ UINT64_C(0x00005EFA0E987CE1), UINT64_C(0x0002C879F735E948)},
+ {UINT64_C(0x0002780923AD1294), UINT64_C(0x00050A7906F38719),
+ UINT64_C(0x0004D2CE3806BCDB), UINT64_C(0x0006D8F87C7B1F2D),
+ UINT64_C(0x0005BC54F9F117E6), UINT64_C(0x000AFCE58A3CEADC),
+ UINT64_C(0x000026B8F094B4FB), UINT64_C(0x000511D8D0A6A1C0),
+ UINT64_C(0x00026046F65CA5CE), UINT64_C(0x0007B31882AB5612)},
+ {UINT64_C(0x00019F342DF704E3), UINT64_C(0x00053617515314C8),
+ UINT64_C(0x000622A658FC7975), UINT64_C(0x0006453B59E91EF8),
+ UINT64_C(0x00042BFDC9994A46), UINT64_C(0x000238C1575D2AF0),
+ UINT64_C(0x00029CD2DC2AE52F), UINT64_C(0x000479332C429AD4),
+ UINT64_C(0x000428FDA62FAFFA), UINT64_C(0x0007D90C15C992EF)}},
+ {{UINT64_C(0x000E4A20CED7FD14), UINT64_C(0x0004C97EA9E0328B),
+ UINT64_C(0x0006E9445684BABF), UINT64_C(0x000151806F26ED39),
+ UINT64_C(0x0001160C77905467), UINT64_C(0x000C6609DEA0FC1A),
+ UINT64_C(0x0002A722284AD939), UINT64_C(0x00003ADBE879DBC4),
+ UINT64_C(0x00015AC0555FD701), UINT64_C(0x0001F94BEBDB96D9)},
+ {UINT64_C(0x0004AAF2301F16D2), UINT64_C(0x0007F51734ABB20B),
+ UINT64_C(0x00042C8A35243B42), UINT64_C(0x0001B3820B36100F),
+ UINT64_C(0x000115444F5C6CAF), UINT64_C(0x000F3926D4333445),
+ UINT64_C(0x000587A6557C80D0), UINT64_C(0x000665447A091344),
+ UINT64_C(0x0003F84BD9CE1BCA), UINT64_C(0x0007200779A07D57)},
+ {UINT64_C(0x000C61B46E3949CF), UINT64_C(0x0000D8E735ED00B6),
+ UINT64_C(0x00048A5E9F98CEA3), UINT64_C(0x00024C0D94F3C634),
+ UINT64_C(0x000538D79B7A6393), UINT64_C(0x00021002B287137D),
+ UINT64_C(0x000799366E30C2E8), UINT64_C(0x0006B1AF8463E70D),
+ UINT64_C(0x00048CDE10CB3E51), UINT64_C(0x00017412D6535F95)}},
+ {{UINT64_C(0x000BAA4CCFEC442D), UINT64_C(0x0005DDC1184E8BA8),
+ UINT64_C(0x0007D1F6A8B018EA), UINT64_C(0x000769A32FD77A23),
+ UINT64_C(0x0002355FBFEE11A4), UINT64_C(0x000D2BB5D9500DE9),
+ UINT64_C(0x000351D470C5EA4E), UINT64_C(0x0004BDBFBB0E40E5),
+ UINT64_C(0x0001A757E0DE9DFA), UINT64_C(0x0005DD504BAB40E2)},
+ {UINT64_C(0x000D79053EF41593), UINT64_C(0x0000C6229EE33D5E),
+ UINT64_C(0x0004C4A2E362ED5D), UINT64_C(0x0006D21696B79D70),
+ UINT64_C(0x000530ED2DF8E89F), UINT64_C(0x00033E8AD160078D),
+ UINT64_C(0x000188BB911588CC), UINT64_C(0x0001659B61A4C110),
+ UINT64_C(0x0000AC04E00E10DC), UINT64_C(0x0007BAAFBA1435EF)},
+ {UINT64_C(0x000F5FC78EDB6AE0), UINT64_C(0x00053D7865FB725A),
+ UINT64_C(0x0006ED24F885E307), UINT64_C(0x0005CE843771EF4F),
+ UINT64_C(0x00058D6256C79CC2), UINT64_C(0x00010C8CBB613DE9),
+ UINT64_C(0x0004D23EBA7C20F7), UINT64_C(0x0004AAB81D2BD1A4),
+ UINT64_C(0x0007EAA3AAB8A668), UINT64_C(0x0003973523884C90)}},
+ {{UINT64_C(0x000D315BCC6A4EBE), UINT64_C(0x00023AE21C0D026D),
+ UINT64_C(0x00074CC51E26A4A7), UINT64_C(0x0004EABBCED74E32),
+ UINT64_C(0x0006B0E906F48456), UINT64_C(0x0001FD94BDF2BC16),
+ UINT64_C(0x0002B3738B72AE1B), UINT64_C(0x0006DDA66FC3E72B),
+ UINT64_C(0x0000A0BAE6CE73F8), UINT64_C(0x000649ACF7A899F4)},
+ {UINT64_C(0x000B963804F8D424), UINT64_C(0x0006F39A9330D7C7),
+ UINT64_C(0x0004A7B044BBF992), UINT64_C(0x0003B6ACEE3101AE),
+ UINT64_C(0x000380FD2850FBDA), UINT64_C(0x000A7E356E4721CB),
+ UINT64_C(0x0006D74381BB53BD), UINT64_C(0x00077C758E87A472),
+ UINT64_C(0x00034ED47B90A5C1), UINT64_C(0x000541B8694A1D57)},
+ {UINT64_C(0x000213F762157EAF), UINT64_C(0x0003DDFE58F8609F),
+ UINT64_C(0x00051DB2894E81BD), UINT64_C(0x000217B6B6443ED1),
+ UINT64_C(0x0003C3FD6874D805), UINT64_C(0x0009D6AC77E5E651),
+ UINT64_C(0x000585C8D73CF003), UINT64_C(0x0001177F582F8B0D),
+ UINT64_C(0x0006139F224E35C7), UINT64_C(0x00006B22BB7192B0)}},
+ {{UINT64_C(0x0005C1F05010C834), UINT64_C(0x0003113280A7C18B),
+ UINT64_C(0x000402B6DBFA220A), UINT64_C(0x00046EABCF726FB6),
+ UINT64_C(0x000175B743915725), UINT64_C(0x000E4CE9A3461CCF),
+ UINT64_C(0x0001C5E283A38DED), UINT64_C(0x0004D6C8A05331E5),
+ UINT64_C(0x0006D2583BCB0A6F), UINT64_C(0x0003AAA41153FCC0)},
+ {UINT64_C(0x000A352F702DDC40), UINT64_C(0x0007D7130B63AB8C),
+ UINT64_C(0x00017012D62D24CA), UINT64_C(0x00036D6618341280),
+ UINT64_C(0x00042CD7A92424EC), UINT64_C(0x0004455D81496370),
+ UINT64_C(0x0002C71773A15E7B), UINT64_C(0x000319726F43A64E),
+ UINT64_C(0x00061BA3963EE4E5), UINT64_C(0x0006EA9AD805A571)},
+ {UINT64_C(0x0001C51E5B6AE1BB), UINT64_C(0x0000940E67BDF3D8),
+ UINT64_C(0x0004303CE5522A77), UINT64_C(0x0007682D028A84C6),
+ UINT64_C(0x00054D741BEDE444), UINT64_C(0x00049041A3E00485),
+ UINT64_C(0x00061D64B9E535C8), UINT64_C(0x00026B36E1180C79),
+ UINT64_C(0x00037DC2FB4BBDCE), UINT64_C(0x0003E50BD67DF773)}},
+ {{UINT64_C(0x0009A8E363B551FC), UINT64_C(0x0003C8F4B97600B8),
+ UINT64_C(0x0002AC4D3F80805A), UINT64_C(0x0007F634F89272C9),
+ UINT64_C(0x0005018AAD3C2F10), UINT64_C(0x000839F5851BC891),
+ UINT64_C(0x00051EB91313038C), UINT64_C(0x00008705A06CCCC9),
+ UINT64_C(0x00055961D9C37E66), UINT64_C(0x00065992B370FB1A)},
+ {UINT64_C(0x000033C42B482130), UINT64_C(0x00001ED0534D30B9),
+ UINT64_C(0x0003CCB1B89FEFCA), UINT64_C(0x00027E1B2B1E8762),
+ UINT64_C(0x0001B4D9C8C9A94E), UINT64_C(0x000B112BA6074641),
+ UINT64_C(0x0001600271D8DC7A), UINT64_C(0x0003D379BCAB026B),
+ UINT64_C(0x000023990289F9BD), UINT64_C(0x00034CB0141402B9)},
+ {UINT64_C(0x000FC8B21E970F5A), UINT64_C(0x000645D4DAFEA6BA),
+ UINT64_C(0x0004AB31A4584708), UINT64_C(0x00042A82D72C4005),
+ UINT64_C(0x00018A07C94BFF8F), UINT64_C(0x000B940457D4526F),
+ UINT64_C(0x0002B84EF0E2C65C), UINT64_C(0x00015EDE587F066A),
+ UINT64_C(0x0007B339EA0568AD), UINT64_C(0x0000C15683B4ED21)}},
+ {{UINT64_C(0x000C2A3BC5E45C10), UINT64_C(0x00019DD27F647208),
+ UINT64_C(0x0001CC4D0E9788D9), UINT64_C(0x000239D5295ABFF1),
+ UINT64_C(0x00006A78F80338D3), UINT64_C(0x000D38F708F1447E),
+ UINT64_C(0x0005402FECD5F832), UINT64_C(0x00003152B770F7D0),
+ UINT64_C(0x000727F40CC0FE28), UINT64_C(0x000201310EEDAB24)},
+ {UINT64_C(0x0003A811FB4DE1FA), UINT64_C(0x0003F2DC5B4E9FC4),
+ UINT64_C(0x00071A6F274F0FCE), UINT64_C(0x000767549B19F783),
+ UINT64_C(0x00025B2A9BF40B8C), UINT64_C(0x000419CB0D40B471),
+ UINT64_C(0x000160FCD458E327), UINT64_C(0x0001AED850052B97),
+ UINT64_C(0x000655AB35DEDE29), UINT64_C(0x000502A05E2F8319)},
+ {UINT64_C(0x000338A047D08030), UINT64_C(0x00050A7982BB722B),
+ UINT64_C(0x000383E0216F4B3F), UINT64_C(0x0004C7A4ED9B9E89),
+ UINT64_C(0x0004E87685DC7649), UINT64_C(0x0006D484C7EBB3E3),
+ UINT64_C(0x0006DE1BC9FDC618), UINT64_C(0x0005BD6D2BB413A0),
+ UINT64_C(0x000049BD7BE1BE65), UINT64_C(0x00016C04FAA43BB8)}},
+ {{UINT64_C(0x00004480CB2786D2), UINT64_C(0x00016A7099089F43),
+ UINT64_C(0x0004937243CD80DB), UINT64_C(0x00012750E73A6278),
+ UINT64_C(0x000626538BE283B6), UINT64_C(0x00040FA0E5894E03),
+ UINT64_C(0x0006BF9036149B73), UINT64_C(0x000340A6643F7198),
+ UINT64_C(0x0000FDF9E90AE71F), UINT64_C(0x0002026C7AB86EA7)},
+ {UINT64_C(0x000D16EFFDC6C167), UINT64_C(0x00079987485ACAFE),
+ UINT64_C(0x00044ECAA2B81CB1), UINT64_C(0x00012E547660B8E8),
+ UINT64_C(0x0007B1BE4F5084D6), UINT64_C(0x00035ECD495C1561),
+ UINT64_C(0x00019428F31961AD), UINT64_C(0x0003A909AF294BAC),
+ UINT64_C(0x0002EBAA89C6DB55), UINT64_C(0x00074D7085DEC609)},
+ {UINT64_C(0x00012AC41AD9E34A), UINT64_C(0x0002CD879D1C83F1),
+ UINT64_C(0x0001DB74B741FC14), UINT64_C(0x00066DA29E07A4EC),
+ UINT64_C(0x00000D7E37FEFC54), UINT64_C(0x000A26B97A5598EA),
+ UINT64_C(0x000615C93236E843), UINT64_C(0x000382BC16FB3B6F),
+ UINT64_C(0x00025E0626E0106E), UINT64_C(0x0005854D6D92CC47)}},
+ {{UINT64_C(0x000B6DA23DC37DD7), UINT64_C(0x000627D60888F4D0),
+ UINT64_C(0x000182E4C16CC439), UINT64_C(0x000190A2AEAAD64F),
+ UINT64_C(0x00058A080ED83FEF), UINT64_C(0x000C475B09289638),
+ UINT64_C(0x00000A2B7CF8481F), UINT64_C(0x00002B5319E8BC29),
+ UINT64_C(0x00007FF5582B8B07), UINT64_C(0x00071CFF2B7D8A99)},
+ {UINT64_C(0x000799B83F3B4462), UINT64_C(0x00074ABE8CF43DF5),
+ UINT64_C(0x00021C8FA0636722), UINT64_C(0x00057366BE84D1CC),
+ UINT64_C(0x00004CD7BD66A8D7), UINT64_C(0x00071899B3473BA8),
+ UINT64_C(0x0000747B62595049), UINT64_C(0x00006097B2D1993A),
+ UINT64_C(0x0004CC30EDA24173), UINT64_C(0x00027116E4563311)},
+ {UINT64_C(0x0004C7419A1E733D), UINT64_C(0x0000541AD1C0EEBF),
+ UINT64_C(0x0001BAB59CF44E81), UINT64_C(0x00056EA6AA62AA42),
+ UINT64_C(0x000088CBEBB0E2E1), UINT64_C(0x0004D93FA0BF3D38),
+ UINT64_C(0x0001F22C909EE410), UINT64_C(0x00006B1E6CAC473B),
+ UINT64_C(0x00019E125E7B6046), UINT64_C(0x0001CFB3D7B37E4E)}},
+ {{UINT64_C(0x00048754583A8735), UINT64_C(0x0007C03868E916A6),
+ UINT64_C(0x0007B4DCB70752B4), UINT64_C(0x0004EC5FBA952102),
+ UINT64_C(0x00030F2C4A828172), UINT64_C(0x00023232F926F234),
+ UINT64_C(0x0007257074636C00), UINT64_C(0x0007BBA1745B61D3),
+ UINT64_C(0x0004606E90A58313), UINT64_C(0x0007E22E07DE154B)},
+ {UINT64_C(0x0006C2E97C0DBC05), UINT64_C(0x00054DEBDD212630),
+ UINT64_C(0x0002C65F92437420), UINT64_C(0x00024DA821327EDC),
+ UINT64_C(0x000580B8B7AD4E87), UINT64_C(0x0001CF81FE5285E9),
+ UINT64_C(0x0006DD81D32634A6), UINT64_C(0x0003338A292D42A1),
+ UINT64_C(0x000025E961008BC1), UINT64_C(0x00036D9C01BA5AB9)},
+ {UINT64_C(0x000DC6D75F088499), UINT64_C(0x0000A65C50F7E24F),
+ UINT64_C(0x00045F9DC37DEEF4), UINT64_C(0x0007A85A69654899),
+ UINT64_C(0x0004F6026DDF5B58), UINT64_C(0x00013EF829317A2A),
+ UINT64_C(0x00021C7A10A33027), UINT64_C(0x000556BF6AB7F742),
+ UINT64_C(0x0001388625C5DA4A), UINT64_C(0x000515466D6ABA32)}},
+ },
+ {
+ {{UINT64_C(0x0006AEDBD4096564), UINT64_C(0x0004FA8B9BD472A8),
+ UINT64_C(0x000518E920FABD7C), UINT64_C(0x00035641C8964A33),
+ UINT64_C(0x0003B7F827A7DEB4), UINT64_C(0x00087747322CE9B7),
+ UINT64_C(0x0000065AF64E2636), UINT64_C(0x0007E118D796640B),
+ UINT64_C(0x00022A725F5CDAF8), UINT64_C(0x0006482AF75091E7)},
+ {UINT64_C(0x0004D5F5FBAF23D8), UINT64_C(0x00018961AF8EF02D),
+ UINT64_C(0x0004410974A5C748), UINT64_C(0x0003671CA4C34023),
+ UINT64_C(0x000198D894EF5FDF), UINT64_C(0x00045C045A1A5DA1),
+ UINT64_C(0x00006A2E629F4DBD), UINT64_C(0x0005EF0CF4FEC9BD),
+ UINT64_C(0x0002E56472C2285E), UINT64_C(0x000081F06DCB9DCB)},
+ {UINT64_C(0x000E80FFCADCC17A), UINT64_C(0x00005936ED4B05E0),
+ UINT64_C(0x0005E5192BD5AE9E), UINT64_C(0x0004DAF3465C58CF),
+ UINT64_C(0x0006378BB4FAF5A0), UINT64_C(0x000CD0DB0E0B2AB7),
+ UINT64_C(0x00059295D7556578), UINT64_C(0x00017B233F34BAA3),
+ UINT64_C(0x0002571548CAFBE4), UINT64_C(0x0005236D086B5D11)}},
+ {{UINT64_C(0x000C6C8A8FEAF23E), UINT64_C(0x00015B3EACB47609),
+ UINT64_C(0x0001C051945F47AE), UINT64_C(0x0003BB72E86D1518),
+ UINT64_C(0x0002F0317989531D), UINT64_C(0x000734207AD0F517),
+ UINT64_C(0x000363F8254FFC55), UINT64_C(0x00016DC567D3F213),
+ UINT64_C(0x0004C688524FC6D3), UINT64_C(0x000156E27F2C4E00)},
+ {UINT64_C(0x00094738AD2D4E84), UINT64_C(0x000308AECD530FE4),
+ UINT64_C(0x0003502EB6F601CA), UINT64_C(0x0000A8DF04C92C06),
+ UINT64_C(0x00050EB08481C052), UINT64_C(0x000AA7EB925117D8),
+ UINT64_C(0x00049599E1644BCD), UINT64_C(0x0005C13296C44839),
+ UINT64_C(0x000500DE14878BFC), UINT64_C(0x00071AD4469CF9E7)},
+ {UINT64_C(0x000E2FB921857436), UINT64_C(0x00043A88AF65DD1C),
+ UINT64_C(0x0007AE448925AD60), UINT64_C(0x000665712480CF54),
+ UINT64_C(0x0002182C680974A7), UINT64_C(0x000A0E7328765D70),
+ UINT64_C(0x000268DF8BD38233), UINT64_C(0x0006919944C2A877),
+ UINT64_C(0x0007783F5CA85F2D), UINT64_C(0x000739F3727C396A)}},
+ {{UINT64_C(0x000E191F38D6E32D), UINT64_C(0x0003D053DFEFE14D),
+ UINT64_C(0x0006103BF922921F), UINT64_C(0x0002781AB0853980),
+ UINT64_C(0x0004D1652DB90908), UINT64_C(0x0005E1F759009BDD),
+ UINT64_C(0x00019A45C89003A3), UINT64_C(0x0006A14C19DCA07A),
+ UINT64_C(0x0005D837A9C8F3A6), UINT64_C(0x0000DE43E792E061)},
+ {UINT64_C(0x000058271D24FD29), UINT64_C(0x00068BAB21F6CEE4),
+ UINT64_C(0x0004478711E724E4), UINT64_C(0x0006CEF29CE967CC),
+ UINT64_C(0x0004B50277D6D492), UINT64_C(0x0004164FBC658CA4),
+ UINT64_C(0x0005AF1234A44C70), UINT64_C(0x0003BD47313B580F),
+ UINT64_C(0x0006BC5D3649D3EC), UINT64_C(0x0007638ACC404B36)},
+ {UINT64_C(0x00025CAF5D092528), UINT64_C(0x00015409EDAAF2E8),
+ UINT64_C(0x00058CB7B8A5B798), UINT64_C(0x0007CA6671CF0F3C),
+ UINT64_C(0x00052C52122B9340), UINT64_C(0x000DB0C96E176FB1),
+ UINT64_C(0x00055085B46D6018), UINT64_C(0x0002FDD65EB673C5),
+ UINT64_C(0x0000B19A0B489654), UINT64_C(0x0002A275A7E071D2)}},
+ {{UINT64_C(0x0001A067462A7A3F), UINT64_C(0x0007CAA8EAE4E2D4),
+ UINT64_C(0x0004DFDFC8AE5719), UINT64_C(0x0007F8F8369F764C),
+ UINT64_C(0x0002A33657D7196B), UINT64_C(0x000ACE1F520DCA38),
+ UINT64_C(0x00015FA3A1F57752), UINT64_C(0x00001065EF98FA0B),
+ UINT64_C(0x0004F22D7351AD00), UINT64_C(0x0000B4988C661B8F)},
+ {UINT64_C(0x000C5FDC9DF374E1), UINT64_C(0x00033D547A4D226B),
+ UINT64_C(0x0002DA94FE5AD02C), UINT64_C(0x0005207148BDD3C7),
+ UINT64_C(0x0001521F51FF31A6), UINT64_C(0x00048B1F8084AD9F),
+ UINT64_C(0x000169D55C98C3B6), UINT64_C(0x00016716681D2998),
+ UINT64_C(0x00076D65C8585D2D), UINT64_C(0x000503C6F5CC1008)},
+ {UINT64_C(0x000CE3789E67601E), UINT64_C(0x0000F38B3450DF49),
+ UINT64_C(0x0003E6488733B404), UINT64_C(0x000128DC95E3F8DB),
+ UINT64_C(0x0003405A39A11293), UINT64_C(0x000E8E6112B3A418),
+ UINT64_C(0x00046B9A7FFCE45B), UINT64_C(0x0005D9582699F55F),
+ UINT64_C(0x000509DE86896EE8), UINT64_C(0x000253344BD2D25A)}},
+ {{UINT64_C(0x000A74347CE9D01B), UINT64_C(0x00044CA58D3D8F8A),
+ UINT64_C(0x00050F0D0D68B95B), UINT64_C(0x00066CFA1182777D),
+ UINT64_C(0x0000B0C791214C7B), UINT64_C(0x0002416F6ECE0445),
+ UINT64_C(0x00049F613047A77F), UINT64_C(0x00070690C94185C7),
+ UINT64_C(0x0006E6203DEAD6C4), UINT64_C(0x00030B26F58B9536)},
+ {UINT64_C(0x000A58FA609D2E01), UINT64_C(0x000678958763572F),
+ UINT64_C(0x000767549D4EB411), UINT64_C(0x0007809D91FE5A98),
+ UINT64_C(0x00013335B8563F17), UINT64_C(0x0009523C3394E0DA),
+ UINT64_C(0x00048A10A1B96912), UINT64_C(0x000742BA8C558752),
+ UINT64_C(0x00009B3582D1EFD9), UINT64_C(0x00016EAF2C3E1BD3)},
+ {UINT64_C(0x000E2DC67D5E5A88), UINT64_C(0x000598CF6F4EF704),
+ UINT64_C(0x00011C238E331841), UINT64_C(0x0002E1CA17ED944C),
+ UINT64_C(0x0007FEA87E3DB53D), UINT64_C(0x0000B99FCC76BB95),
+ UINT64_C(0x0000BBF95F7E3AB4), UINT64_C(0x000445911CBCE6F1),
+ UINT64_C(0x00062C0AEE9E79DF), UINT64_C(0x0001ABB8605E684D)}},
+ {{UINT64_C(0x0003871499B1866E), UINT64_C(0x00026E19448C89A9),
+ UINT64_C(0x00007B6CB1356919), UINT64_C(0x0007B5EFC7773779),
+ UINT64_C(0x00071541CD774F9C), UINT64_C(0x0000D81B8DC56F51),
+ UINT64_C(0x000590BBF413B605), UINT64_C(0x000312F6FCC71713),
+ UINT64_C(0x00040195ACA7265C), UINT64_C(0x00026C0F46908F3B)},
+ {UINT64_C(0x000C3CFC3518AB54), UINT64_C(0x0002C5FF27FA6953),
+ UINT64_C(0x00009C03C91FECE0), UINT64_C(0x00063E758C4A409F),
+ UINT64_C(0x00047ED48DD883AF), UINT64_C(0x000D3B409A02DCB3),
+ UINT64_C(0x000710E2A1D5CBE9), UINT64_C(0x0007DC251BA3E052),
+ UINT64_C(0x00045E9A29900763), UINT64_C(0x0000A7C951A4128D)},
+ {UINT64_C(0x000B48959A040E34), UINT64_C(0x000641FBFBA37FEE),
+ UINT64_C(0x0006D6D531398A6F), UINT64_C(0x0005F4725764937E),
+ UINT64_C(0x0000FB5E7D595AF7), UINT64_C(0x0002A0E33F31CD55),
+ UINT64_C(0x000171D3C6F621A1), UINT64_C(0x00030886FC60A83C),
+ UINT64_C(0x0002375FEAAB3B40), UINT64_C(0x000656142FE41FD8)}},
+ {{UINT64_C(0x00088D813F345513), UINT64_C(0x0006B33BA57A93E0),
+ UINT64_C(0x0004C7985F7EFB17), UINT64_C(0x0000AD075424ADBA),
+ UINT64_C(0x0004E8F7946DF6B2), UINT64_C(0x000C112D1F980523),
+ UINT64_C(0x00049E755D0280A1), UINT64_C(0x0002D0BE2A1F153A),
+ UINT64_C(0x0003488C3095B641), UINT64_C(0x0004DB1E9A0CD854)},
+ {UINT64_C(0x000827E184A33715), UINT64_C(0x00026FFF534D1DE2),
+ UINT64_C(0x0005B116ED309D3B), UINT64_C(0x00040C8D9923F968),
+ UINT64_C(0x000254D6262F127D), UINT64_C(0x000EB4C401A02B57),
+ UINT64_C(0x0007C1A5CD19481B), UINT64_C(0x0004E994D22CB148),
+ UINT64_C(0x0002FD14D8E9A6FF), UINT64_C(0x0003F3B0B506E8EF)},
+ {UINT64_C(0x0000ACBB2192D0D4), UINT64_C(0x0005AD437C1137DA),
+ UINT64_C(0x000194DF8F4978FE), UINT64_C(0x000569F428FCD681),
+ UINT64_C(0x000440AB84EBDA2E), UINT64_C(0x0000071ACB2B9B94),
+ UINT64_C(0x00036495A727E109), UINT64_C(0x0002C7BBFBC4670C),
+ UINT64_C(0x00070DF23A25F661), UINT64_C(0x00028B24AE967AD8)}},
+ {{UINT64_C(0x000A0F56D26C19CD), UINT64_C(0x0002199EFE6C17CF),
+ UINT64_C(0x000234D29F1CA747), UINT64_C(0x00074E7EDAC788C6),
+ UINT64_C(0x00056DEF769EC613), UINT64_C(0x0006DA5F9111D368),
+ UINT64_C(0x00075019DED7070F), UINT64_C(0x000668904B9CC686),
+ UINT64_C(0x0007BD2278E98141), UINT64_C(0x00074D7CE18B9D06)},
+ {UINT64_C(0x0001691EF1DB7743), UINT64_C(0x0005BDCB52513251),
+ UINT64_C(0x0000880DFD58552F), UINT64_C(0x0001D6B3EE69BD0A),
+ UINT64_C(0x0000DF5A88773C38), UINT64_C(0x000C094929962F60),
+ UINT64_C(0x0001978F58542D2F), UINT64_C(0x0002477127820A19),
+ UINT64_C(0x0004F630DFE1AD37), UINT64_C(0x000283387FC2588D)},
+ {UINT64_C(0x00073E4B175342B1), UINT64_C(0x0001E2EA2F8817F8),
+ UINT64_C(0x0000E36E592D89B9), UINT64_C(0x000556985C76F3D1),
+ UINT64_C(0x00017586947F1B9F), UINT64_C(0x00083894538720F0),
+ UINT64_C(0x00049C8320EB6627), UINT64_C(0x00057FCF4E730A78),
+ UINT64_C(0x0002A4BEEFAA0B93), UINT64_C(0x000294ECE9A722E1)}},
+ {{UINT64_C(0x000672F6D1495031), UINT64_C(0x0001BD8FDDE53EF6),
+ UINT64_C(0x0002B91C714A2C13), UINT64_C(0x0003042764C1BE7A),
+ UINT64_C(0x000215C56A0EDE6E), UINT64_C(0x000F01712E36F0AB),
+ UINT64_C(0x000525EB2C91F5D9), UINT64_C(0x0004A7BAC5E8B947),
+ UINT64_C(0x0005183B56926CBA), UINT64_C(0x0007D3EDAAAC8E27)},
+ {UINT64_C(0x000282A6939E11C3), UINT64_C(0x00066C4CBC6F5DBE),
+ UINT64_C(0x0005123C70144F68), UINT64_C(0x0000354705754070),
+ UINT64_C(0x0005BE6B2B681A76), UINT64_C(0x00054B5DD04806FF),
+ UINT64_C(0x0004CE73D1EA7C82), UINT64_C(0x000692CC1053AB63),
+ UINT64_C(0x000535AE1B4F5F42), UINT64_C(0x00060A6C280503D9)},
+ {UINT64_C(0x0005CCDAD02C3E6B), UINT64_C(0x000236AAF0C2208D),
+ UINT64_C(0x0002A1B3DC123AD5), UINT64_C(0x0004808D9A85C7CB),
+ UINT64_C(0x000620B632D048DE), UINT64_C(0x000DE4795B182DAC),
+ UINT64_C(0x0006F740B4DDEBB6), UINT64_C(0x000527F4E1B71053),
+ UINT64_C(0x0003711DE510B0C6), UINT64_C(0x0004C2397BB75FD4)}},
+ {{UINT64_C(0x0004234DA61A7380), UINT64_C(0x0007CFE09C0E115B),
+ UINT64_C(0x000146042D1F85BF), UINT64_C(0x00076BA304771D0E),
+ UINT64_C(0x000382E92D2CA568), UINT64_C(0x000F852C7DE31639),
+ UINT64_C(0x0002B6DA101F3608), UINT64_C(0x0002354CDEB32A3D),
+ UINT64_C(0x0006D1C3FABA408E), UINT64_C(0x00046A322AB41F71)},
+ {UINT64_C(0x000835486D6965D2), UINT64_C(0x0005DDC060C09641),
+ UINT64_C(0x0006FE8F914611BF), UINT64_C(0x00056CBACCEE1D60),
+ UINT64_C(0x00029652751B4958), UINT64_C(0x00030B1681FB22FD),
+ UINT64_C(0x0004C26183389F35), UINT64_C(0x00064C5D6F3E855B),
+ UINT64_C(0x00048CC11FAA68A2), UINT64_C(0x000303DF8C197245)},
+ {UINT64_C(0x000A93445489DD55), UINT64_C(0x00032C10E5A00644),
+ UINT64_C(0x00010133787B6B48), UINT64_C(0x000294AF3FFBB10E),
+ UINT64_C(0x00067150840A8E54), UINT64_C(0x00048B07F53AECD5),
+ UINT64_C(0x0002BDABD1E806B9), UINT64_C(0x00077916BD0D716C),
+ UINT64_C(0x0007251EACE82A30), UINT64_C(0x0005BD06E6166102)}},
+ {{UINT64_C(0x000198DAB8E7D26B), UINT64_C(0x0004B8CD7B0F6214),
+ UINT64_C(0x0006F94FEBA66594), UINT64_C(0x0006D655AAE8E434),
+ UINT64_C(0x00033CBDDA515A1D), UINT64_C(0x000FD360D05067E0),
+ UINT64_C(0x0007D4B6026E8F95), UINT64_C(0x0006FA60F441F382),
+ UINT64_C(0x000671F70F6E2FD4), UINT64_C(0x00058B341C31C7CD)},
+ {UINT64_C(0x0003B6DAB18C1F78), UINT64_C(0x000360A07E0CE4B7),
+ UINT64_C(0x00037BA4F69CC30E), UINT64_C(0x00014F6DD6939E3B),
+ UINT64_C(0x00071E66AFEA8A58), UINT64_C(0x000F5276CCE6483E),
+ UINT64_C(0x0003F604318A4007), UINT64_C(0x0001FF31567FCF56),
+ UINT64_C(0x0007687CFE2E27EA), UINT64_C(0x00043AF6AD6807D2)},
+ {UINT64_C(0x000152CC8C204025), UINT64_C(0x00032037F0153CD1),
+ UINT64_C(0x0001E8B1E05EC419), UINT64_C(0x0001B7B6CEF81375),
+ UINT64_C(0x00017E8291BDC455), UINT64_C(0x0002E282133836F4),
+ UINT64_C(0x0001D9A6210E2D16), UINT64_C(0x000799CEE0857BEA),
+ UINT64_C(0x00035D41A84A5412), UINT64_C(0x0006FFBCA27C28A6)}},
+ {{UINT64_C(0x0000430814E96BE9), UINT64_C(0x00057E73FB140B73),
+ UINT64_C(0x00060128FAB5ADA4), UINT64_C(0x0007C05121085A5A),
+ UINT64_C(0x000767DC265FE0E8), UINT64_C(0x00025029FD3C2D6F),
+ UINT64_C(0x0004EF454786B123), UINT64_C(0x000208D275E826AD),
+ UINT64_C(0x0006C327FB0C7286), UINT64_C(0x000424E515341DF4)},
+ {UINT64_C(0x0009BDDC8231AB6B), UINT64_C(0x0005CA9241F8E72F),
+ UINT64_C(0x000773A7E6FE081D), UINT64_C(0x00024CAA53134E52),
+ UINT64_C(0x0005AC81DCD4E91A), UINT64_C(0x00062F6FB283E86A),
+ UINT64_C(0x00020E0D3D1EA811), UINT64_C(0x0000179B49545C71),
+ UINT64_C(0x00051EA7921EDD08), UINT64_C(0x0001106F03625EEA)},
+ {UINT64_C(0x000F609CEB81873F), UINT64_C(0x00019BFC53A07BB7),
+ UINT64_C(0x0002151A37FD339F), UINT64_C(0x0000247FAB99463B),
+ UINT64_C(0x00028EB12503B657), UINT64_C(0x00000740156BCA3C),
+ UINT64_C(0x0003050E54A17FC4), UINT64_C(0x00006A21FE8BE254),
+ UINT64_C(0x000783205CEE4961), UINT64_C(0x0005DDAC46630BD0)}},
+ {{UINT64_C(0x000D0214026C8378), UINT64_C(0x00049B9512E7C6AB),
+ UINT64_C(0x00052CAB42C95449), UINT64_C(0x0001712C0B2D3437),
+ UINT64_C(0x000028712113EE6E), UINT64_C(0x0003C231B02FBAA4),
+ UINT64_C(0x00034002A05D7466), UINT64_C(0x00047244849D6C0F),
+ UINT64_C(0x00007A777E770EED), UINT64_C(0x0002FB5FBC1A501D)},
+ {UINT64_C(0x0007DD3F594FA92E), UINT64_C(0x00011F65F7B4DC87),
+ UINT64_C(0x0006C8D5BC2A5CD3), UINT64_C(0x00045434BCA486D6),
+ UINT64_C(0x0000916C2F835346), UINT64_C(0x000284317FF11104),
+ UINT64_C(0x0000FED4B690D85B), UINT64_C(0x0004F7CD3C5275F4),
+ UINT64_C(0x00072FCBE2A0E31E), UINT64_C(0x0006DCE382A2D3FC)},
+ {UINT64_C(0x00010A836271A17B), UINT64_C(0x000731E97701D7E1),
+ UINT64_C(0x00074424AD4971CE), UINT64_C(0x0007F483B4D3226B),
+ UINT64_C(0x0000B8D73CF87486), UINT64_C(0x0003747546D2B06B),
+ UINT64_C(0x0006D6E9758543E8), UINT64_C(0x0002311DE6C16B96),
+ UINT64_C(0x0000CBAF9CBD69A4), UINT64_C(0x000095BAD5DFF17A)}},
+ {{UINT64_C(0x000774E982F03894), UINT64_C(0x00068F7BA9BD2B4C),
+ UINT64_C(0x0001BF739059F5EE), UINT64_C(0x00047AB5F6CF04EE),
+ UINT64_C(0x00003AC811A5FFEF), UINT64_C(0x0005C95473A71B06),
+ UINT64_C(0x00059B02D1C89D3A), UINT64_C(0x00011350FAAC38CB),
+ UINT64_C(0x0002513847A831C2), UINT64_C(0x0007FA7D3DC337C4)},
+ {UINT64_C(0x000E029A8789C756), UINT64_C(0x0006C80112AA281C),
+ UINT64_C(0x00008852BEC02592), UINT64_C(0x0003FBF12B155C1A),
+ UINT64_C(0x0005E093259AD772), UINT64_C(0x0009A44E24E7366E),
+ UINT64_C(0x0003BF1CA8CB8F83), UINT64_C(0x0006E16F8C3A71FD),
+ UINT64_C(0x0001DBC1D6FDDDC1), UINT64_C(0x0005A28406D8B874)},
+ {UINT64_C(0x00052274D60C7FE9), UINT64_C(0x00009ADA801895BF),
+ UINT64_C(0x000022D4D6202774), UINT64_C(0x00072D947EE0B5BD),
+ UINT64_C(0x00051A0FEB7FDA2C), UINT64_C(0x000709284A66373B),
+ UINT64_C(0x00013FB44E784E2E), UINT64_C(0x00043800043BC45B),
+ UINT64_C(0x0006DEBFA915C8FE), UINT64_C(0x000184A44DB57776)}},
+ {{UINT64_C(0x000C6E45435B0D8B), UINT64_C(0x0007A4D96FC4C926),
+ UINT64_C(0x0004DD4FFB13A623), UINT64_C(0x0002B97573D59BA4),
+ UINT64_C(0x00064D5DAD519C4F), UINT64_C(0x000C54E3E0322075),
+ UINT64_C(0x00025D680006D4FD), UINT64_C(0x000026C6C103CE9E),
+ UINT64_C(0x0006A3C770AD980F), UINT64_C(0x00000AFFA7978989)},
+ {UINT64_C(0x0001BBC06890396F), UINT64_C(0x00059B7508BE77A3),
+ UINT64_C(0x0002C2F34E1E88EF), UINT64_C(0x0000BA76CC4B6DC3),
+ UINT64_C(0x00040CB93F2DB890), UINT64_C(0x00038DB1EAF02BA4),
+ UINT64_C(0x00051A968FE1C009), UINT64_C(0x00079E490FDF2F6E),
+ UINT64_C(0x00038810CC4881B6), UINT64_C(0x0002F52348865870)},
+ {UINT64_C(0x000FBCBADF123F77), UINT64_C(0x0005C24E5CE6F8C7),
+ UINT64_C(0x00057CBE94145D7B), UINT64_C(0x0003D7A5F191DC9F),
+ UINT64_C(0x000580576DE72DB2), UINT64_C(0x0003E11D99876CB6),
+ UINT64_C(0x00071D9921E18FA4), UINT64_C(0x0002A74C8C214DE9),
+ UINT64_C(0x000290E367E8106A), UINT64_C(0x0000A45E602E2A06)}},
+ {{UINT64_C(0x000C81708300B3A2), UINT64_C(0x00002EB6DD40141C),
+ UINT64_C(0x00008EBFBAD275A0), UINT64_C(0x00009EB98ABECC72),
+ UINT64_C(0x0001EA0CBBD24C18), UINT64_C(0x0005C085867DB19C),
+ UINT64_C(0x00078A2DB60D1751), UINT64_C(0x00032A43EBAC70A1),
+ UINT64_C(0x0002C402B12DA313), UINT64_C(0x0004F4B89ACDD13A)},
+ {UINT64_C(0x0004AC90A370FD35), UINT64_C(0x00027D715223E22B),
+ UINT64_C(0x000564833F08968D), UINT64_C(0x0006A965DB0C2238),
+ UINT64_C(0x0004C25626C5CCE9), UINT64_C(0x000E894C118288F1),
+ UINT64_C(0x00004FDD61C59DF2), UINT64_C(0x0004F91479C26D34),
+ UINT64_C(0x00022FDED1EDE6BC), UINT64_C(0x00053CC6F351DBD1)},
+ {UINT64_C(0x00041C1E5BF143DB), UINT64_C(0x00078318A8FC82ED),
+ UINT64_C(0x00073CB01F7A1760), UINT64_C(0x0002BB276EE12092),
+ UINT64_C(0x00062B5D062F3983), UINT64_C(0x0006C0699785ED64),
+ UINT64_C(0x000705C5B8750987), UINT64_C(0x000734C5A5EBF1CC),
+ UINT64_C(0x0006B535CD5FCA58), UINT64_C(0x000173A96CF5E5C2)}},
+ },
+ {
+ {{UINT64_C(0x00013C7D530A0840), UINT64_C(0x00037CA09024BA99),
+ UINT64_C(0x00000F02A724D26D), UINT64_C(0x0007486168F78DF3),
+ UINT64_C(0x00057B6FBAF96B6F), UINT64_C(0x00020E874D64E405),
+ UINT64_C(0x0001C5456BEE2684), UINT64_C(0x000700947727AE36),
+ UINT64_C(0x0000AF081E60DF35), UINT64_C(0x00049F6D248190F3)},
+ {UINT64_C(0x000FACBF6A273B2E), UINT64_C(0x0000B50B6F61BB7F),
+ UINT64_C(0x00016ED02D72CCBD), UINT64_C(0x000009999E37103A),
+ UINT64_C(0x0006DEE9B338E1D0), UINT64_C(0x00076C4153F5F8EB),
+ UINT64_C(0x0004FB473E4876B9), UINT64_C(0x00035CB573505218),
+ UINT64_C(0x00040E4E17B314F1), UINT64_C(0x00064FADD17FB3C8)},
+ {UINT64_C(0x00090B27A6A17533), UINT64_C(0x00010DB043FC3678),
+ UINT64_C(0x0005F8AAB7DA8EDB), UINT64_C(0x0005008B83D17311),
+ UINT64_C(0x00075BB4482F1426), UINT64_C(0x000B1BCB5765DFFA),
+ UINT64_C(0x000242DCC05593AD), UINT64_C(0x00045C4BE141A4D5),
+ UINT64_C(0x0006EBC978B8CA73), UINT64_C(0x0004580E5DA2151A)}},
+ {{UINT64_C(0x000B09415B635B74), UINT64_C(0x000483E55C20EA00),
+ UINT64_C(0x00070DEE5B80A6E0), UINT64_C(0x00072FD4450BC01C),
+ UINT64_C(0x0007B300C6DCC536), UINT64_C(0x000754D2BB66E63F),
+ UINT64_C(0x0001BF3C286F6A01), UINT64_C(0x00025F645BB8410D),
+ UINT64_C(0x000298DF23B3BFD7), UINT64_C(0x0001774CB501031D)},
+ {UINT64_C(0x000271CB350C6048), UINT64_C(0x0007DCA7FD3BF959),
+ UINT64_C(0x0000C41185459A7F), UINT64_C(0x0004BB079006A71E),
+ UINT64_C(0x0001C3DA681DC428), UINT64_C(0x000E32A22D0BED67),
+ UINT64_C(0x0001CF9C74CC48D7), UINT64_C(0x000754ED2FD148AF),
+ UINT64_C(0x0006A6BF79732C29), UINT64_C(0x0000637BA0DEB58F)},
+ {UINT64_C(0x000AEEE5E5D5BF89), UINT64_C(0x0001BA9622F598CD),
+ UINT64_C(0x00017E6C0ECF6116), UINT64_C(0x0001B6169A7A5686),
+ UINT64_C(0x0000C74F9DCA999E), UINT64_C(0x000BAE9A5784B34D),
+ UINT64_C(0x0003F1DCC80821EF), UINT64_C(0x0006A6297209394D),
+ UINT64_C(0x000027BAECCEB3DB), UINT64_C(0x0006FBF5A0739FF7)}},
+ {{UINT64_C(0x000ADF4D9C8BE4C7), UINT64_C(0x0001F7C3F9B2DF52),
+ UINT64_C(0x000054205B348462), UINT64_C(0x00058A2B0587B556),
+ UINT64_C(0x0001031A5A79DB2E), UINT64_C(0x000CB7B60FC99B95),
+ UINT64_C(0x00025FC96A4BB5A5), UINT64_C(0x0006C62B62F597A6),
+ UINT64_C(0x00009CBDCB2DF127), UINT64_C(0x0002ACC07E9CED89)},
+ {UINT64_C(0x0000ED235FAE524A), UINT64_C(0x0003E231B9C1C59C),
+ UINT64_C(0x0005FACE3761829C), UINT64_C(0x000417E0131C4B06),
+ UINT64_C(0x000703508BE7FC97), UINT64_C(0x00047BA8D9CC12E6),
+ UINT64_C(0x00040B532D99E9A0), UINT64_C(0x00013850B64F1991),
+ UINT64_C(0x0005CDF168C10B39), UINT64_C(0x000358ABDF8E6B44)},
+ {UINT64_C(0x00042687C30120DE), UINT64_C(0x0006F4E854B5AC1D),
+ UINT64_C(0x000060D24D07C886), UINT64_C(0x0006662BC5B4226E),
+ UINT64_C(0x0000DD5E40422C53), UINT64_C(0x00066BA1A186AEA2),
+ UINT64_C(0x0003D5A9977141C7), UINT64_C(0x0007210CB94D5A31),
+ UINT64_C(0x0000575395147170), UINT64_C(0x0003EEF35D2347C4)}},
+ {{UINT64_C(0x00005FA6D194F912), UINT64_C(0x000656A4617A17B0),
+ UINT64_C(0x0002B82DEF48F596), UINT64_C(0x000483AE1ABD8952),
+ UINT64_C(0x0004FEA93C4AA27F), UINT64_C(0x000A79830ABCFA6B),
+ UINT64_C(0x00030C8EA10D6328), UINT64_C(0x000150C9AB136C88),
+ UINT64_C(0x00009F66838D7EB3), UINT64_C(0x000599AAECD736AC)},
+ {UINT64_C(0x000101FF4997777E), UINT64_C(0x0006FE6DA39F9EF7),
+ UINT64_C(0x0005DD2FD55D5B90), UINT64_C(0x00001EBA3BFFA43E),
+ UINT64_C(0x0003937F9AEAE09F), UINT64_C(0x000B6E4EB341745B),
+ UINT64_C(0x0006A541793FEB35), UINT64_C(0x0004C99BA0510109),
+ UINT64_C(0x0003ECAA464451F9), UINT64_C(0x000627CC2A28E33F)},
+ {UINT64_C(0x0006F5CF9EEF8083), UINT64_C(0x0003689B7AF03C8C),
+ UINT64_C(0x00041C9C530F26AE), UINT64_C(0x0006F1B087DFAE9E),
+ UINT64_C(0x0005ABB0337D1374), UINT64_C(0x000F05AA9CE380B8),
+ UINT64_C(0x00039D858198471E), UINT64_C(0x0005CB4A29D7FAB0),
+ UINT64_C(0x000794534C8BBACE), UINT64_C(0x00039CEB7D5953E0)}},
+ {{UINT64_C(0x000614976BAF39A3), UINT64_C(0x000325765D4DAD1B),
+ UINT64_C(0x0006EC2EF5A9DFA1), UINT64_C(0x0004F0B8F0301A47),
+ UINT64_C(0x000031D97E564E18), UINT64_C(0x0001C40ECB1A0617),
+ UINT64_C(0x0000DEA316CA6102), UINT64_C(0x000232439090EE60),
+ UINT64_C(0x0002901913C8FB0F), UINT64_C(0x000412FF556E2402)},
+ {UINT64_C(0x00064CE9BB2FE15E), UINT64_C(0x0005E645C62B940A),
+ UINT64_C(0x0003113E7905C6AE), UINT64_C(0x0002BBDF7FB2C955),
+ UINT64_C(0x0000CCF48175A91B), UINT64_C(0x00038BC3E1E69073),
+ UINT64_C(0x00004538F90A325F), UINT64_C(0x00046BF9A7D85906),
+ UINT64_C(0x0005D8AAA52E49AC), UINT64_C(0x0006F70CEB9DE4F0)},
+ {UINT64_C(0x000635FDDEEE55B1), UINT64_C(0x0002B647305EC4D0),
+ UINT64_C(0x000785A1C6C0CC5B), UINT64_C(0x0000C28EEEF42FDF),
+ UINT64_C(0x00070B6DF3CE31F0), UINT64_C(0x00075BB72FEDB524),
+ UINT64_C(0x00044424339CD683), UINT64_C(0x000724049E9861DF),
+ UINT64_C(0x000606B0D0C1B71C), UINT64_C(0x00072720DEDAF767)}},
+ {{UINT64_C(0x000AB553D62ECFB6), UINT64_C(0x00078C8B49E2EE27),
+ UINT64_C(0x000712AB7130F07C), UINT64_C(0x0007517AB87454C5),
+ UINT64_C(0x0007A2F222BFE5AF), UINT64_C(0x0009DF9AC8EF8D1E),
+ UINT64_C(0x00070A0B9486719E), UINT64_C(0x0005FE0A5CBB6815),
+ UINT64_C(0x0005A777CFBB6EAC), UINT64_C(0x00026AA3DEB05ED1)},
+ {UINT64_C(0x000178E658CAB163), UINT64_C(0x0006218B72D4439D),
+ UINT64_C(0x0003E0E7508F98B6), UINT64_C(0x00053A2E9C0FE780),
+ UINT64_C(0x0000862C90F4AB94), UINT64_C(0x0007D2A76495265C),
+ UINT64_C(0x00007D6CA0B086A9), UINT64_C(0x00037E0CE123AE70),
+ UINT64_C(0x0005E35005198C60), UINT64_C(0x00014DB9BE0C9BD4)},
+ {UINT64_C(0x00022AE27AE69A25), UINT64_C(0x0006BC61B880B6B7),
+ UINT64_C(0x0002B9A770ACB37C), UINT64_C(0x0006A57A8181E7DE),
+ UINT64_C(0x000515156749D33A), UINT64_C(0x000089265C87573A),
+ UINT64_C(0x0002AAB0BA4334FD), UINT64_C(0x00036BFA753F183D),
+ UINT64_C(0x0007D94CDD21BBEA), UINT64_C(0x00073D056E77BAD1)}},
+ {{UINT64_C(0x00054034D049A849), UINT64_C(0x0007A61F3DCAD52B),
+ UINT64_C(0x0006AE0359F441AC), UINT64_C(0x0004FA71A2DB1D12),
+ UINT64_C(0x0004A3AD2195FB05), UINT64_C(0x000DA575D0991F08),
+ UINT64_C(0x0004483A3F583D4A), UINT64_C(0x00019E22FF97F896),
+ UINT64_C(0x00045CE17079EB6F), UINT64_C(0x0003D843DC26F0B3)},
+ {UINT64_C(0x0005BB7830081F4A), UINT64_C(0x000535B970A5DEEC),
+ UINT64_C(0x0006920157058AB1), UINT64_C(0x0005ABB6799CD9B0),
+ UINT64_C(0x0004E722E0BE3E24), UINT64_C(0x00034B265793F314),
+ UINT64_C(0x000721330570DC23), UINT64_C(0x0004426EF0F5B164),
+ UINT64_C(0x0007D6F3A6CB44E7), UINT64_C(0x00056E34A5B334A3)},
+ {UINT64_C(0x0003F8C7FDA5799A), UINT64_C(0x000633A1AB544629),
+ UINT64_C(0x00036C698257C6E1), UINT64_C(0x000671CB37471C6E),
+ UINT64_C(0x0006309190EBE26A), UINT64_C(0x000073E0D3C3C947),
+ UINT64_C(0x00075458F071D648), UINT64_C(0x0000304D50E4E6E2),
+ UINT64_C(0x00025B9FCE5481C7), UINT64_C(0x000560854658E1E6)}},
+ {{UINT64_C(0x000AF006973EAE1E), UINT64_C(0x0003BA1CB36833ED),
+ UINT64_C(0x000440038B6244FE), UINT64_C(0x0001ED4D4B28E0BB),
+ UINT64_C(0x0004946559A45B7C), UINT64_C(0x000D7AC175A120AF),
+ UINT64_C(0x0000C782441BE688), UINT64_C(0x0003FBE4F6759494),
+ UINT64_C(0x0003227FCD0861C6), UINT64_C(0x000693E8E569DF61)},
+ {UINT64_C(0x000EF3D4D70D6006), UINT64_C(0x0003622B91C969F3),
+ UINT64_C(0x00059E57B022C126), UINT64_C(0x0004E567BE39909D),
+ UINT64_C(0x00025826F5172EBE), UINT64_C(0x000978FE696EB07D),
+ UINT64_C(0x0007E55EC2C54F03), UINT64_C(0x0001F198F1EA9886),
+ UINT64_C(0x00061284786511BB), UINT64_C(0x00054EBEEA2E481C)},
+ {UINT64_C(0x000F0108988CDC8A), UINT64_C(0x0006320933C6DB8E),
+ UINT64_C(0x00069930CEF56158), UINT64_C(0x0003A35FC98F89A6),
+ UINT64_C(0x00027BD07B67AAA5), UINT64_C(0x000A2124168772A7),
+ UINT64_C(0x000108CBFCB7F765), UINT64_C(0x000190EA54B1EC2B),
+ UINT64_C(0x000427DAAD72BFD4), UINT64_C(0x00073EB2D65C41BA)}},
+ {{UINT64_C(0x000A06A739424A7F), UINT64_C(0x0000F82BABC20278),
+ UINT64_C(0x0005E0013C80B8BA), UINT64_C(0x00009213E9C746A9),
+ UINT64_C(0x00077CCF7EE8DCA2), UINT64_C(0x00048553CE359952),
+ UINT64_C(0x00068D83C7BB1BFC), UINT64_C(0x00023585472C1288),
+ UINT64_C(0x000683CF0D405E14), UINT64_C(0x0004B248941E148A)},
+ {UINT64_C(0x000A7C88931485A3), UINT64_C(0x00030D7D59F36392),
+ UINT64_C(0x0003096B037E2FE5), UINT64_C(0x00072B76E5C87A57),
+ UINT64_C(0x000412333ADDB88D), UINT64_C(0x00075009989C68F4),
+ UINT64_C(0x0005EE189974076A), UINT64_C(0x000060FFAFD8A128),
+ UINT64_C(0x000120ACF08DA33F), UINT64_C(0x000571F558025BFD)},
+ {UINT64_C(0x000DA9D04CD700E8), UINT64_C(0x00057458C41B633D),
+ UINT64_C(0x00014B6489FA7B39), UINT64_C(0x0003BD5C957593DD),
+ UINT64_C(0x0001304CB1D79CF1), UINT64_C(0x0005E9BAF878A8A2),
+ UINT64_C(0x000194C540C98A95), UINT64_C(0x0003B7B2BACEC32A),
+ UINT64_C(0x0004F344F8DD4CDE), UINT64_C(0x000078EF34BD78A1)}},
+ {{UINT64_C(0x000FC67E2383EF8F), UINT64_C(0x000382B810E6F7BF),
+ UINT64_C(0x00006C9F24B27C13), UINT64_C(0x000057D888D81661),
+ UINT64_C(0x00054A699A1B1D6B), UINT64_C(0x0008FF73BB9232B4),
+ UINT64_C(0x0003804878333A2B), UINT64_C(0x00044F051B58790E),
+ UINT64_C(0x0000271D3AA9BD38), UINT64_C(0x00044CDE0EB6CF43)},
+ {UINT64_C(0x0000D62B3C3A5A19), UINT64_C(0x000141707504E91E),
+ UINT64_C(0x0006515C33000546), UINT64_C(0x00017546C6B9FF00),
+ UINT64_C(0x00045D82E76E1B8B), UINT64_C(0x000AE172E2EB811B),
+ UINT64_C(0x000413704723E59F), UINT64_C(0x00070B4CE13230E2),
+ UINT64_C(0x0000054BF697CE5A), UINT64_C(0x00063ECC547A49B9)},
+ {UINT64_C(0x000602372F14D11C), UINT64_C(0x000378921B1097ED),
+ UINT64_C(0x00067C4238D607FA), UINT64_C(0x00021D2C859309EE),
+ UINT64_C(0x0005847490A29E8E), UINT64_C(0x0002D093948C4994),
+ UINT64_C(0x0000E23389BFC4DD), UINT64_C(0x0007DE892CA061E2),
+ UINT64_C(0x0004BCEA3495B247), UINT64_C(0x00062F7532D3859D)}},
+ {{UINT64_C(0x00086B22DF769D24), UINT64_C(0x000247653B1384A5),
+ UINT64_C(0x0007CA7B0BA8B67B), UINT64_C(0x00003DE749E6F9B6),
+ UINT64_C(0x00060288E35E6723), UINT64_C(0x000132375704332A),
+ UINT64_C(0x000090B7E04CAAD9), UINT64_C(0x000618FE2CC615F8),
+ UINT64_C(0x00071C3FA82E1054), UINT64_C(0x0005ACCA0095992F)},
+ {UINT64_C(0x0008070A5524110A), UINT64_C(0x0002F514E36570A5),
+ UINT64_C(0x0007FA5FFDAD9B18), UINT64_C(0x00040716460997F2),
+ UINT64_C(0x0004A84076418D9B), UINT64_C(0x000191D0E25444E5),
+ UINT64_C(0x0003F007A978D4FD), UINT64_C(0x00010583B27CE828),
+ UINT64_C(0x00076188CFB16D13), UINT64_C(0x0004AB4850C52869)},
+ {UINT64_C(0x000CB5BB8406E9FB), UINT64_C(0x0006229079FE11A8),
+ UINT64_C(0x00069D10E2374F64), UINT64_C(0x0003E0965719E097),
+ UINT64_C(0x0003D8E4F1D6E86E), UINT64_C(0x000FEA5863BEBA3D),
+ UINT64_C(0x0007D0430EF56C07), UINT64_C(0x000181949DFD703D),
+ UINT64_C(0x0001339A965B35C2), UINT64_C(0x0003B56220F5C7F3)}},
+ {{UINT64_C(0x00066DEE74B6C3E6), UINT64_C(0x000383135AE75C98),
+ UINT64_C(0x0004505F98DC1ACE), UINT64_C(0x00032C4BBDDAC89F),
+ UINT64_C(0x00052AA09F53D136), UINT64_C(0x0004F3A390196005),
+ UINT64_C(0x0004A5FCAC34F0E0), UINT64_C(0x0001EDC68C692D8B),
+ UINT64_C(0x0002FD9E6D8EE76F), UINT64_C(0x00029FC1CCA2C8F6)},
+ {UINT64_C(0x00065029BC02DCE4), UINT64_C(0x00072FD6589B1B83),
+ UINT64_C(0x00004147281085E5), UINT64_C(0x0003B32D6A3356B3),
+ UINT64_C(0x00073F9780B33257), UINT64_C(0x0003D884CD344161),
+ UINT64_C(0x00032F7D4EA15736), UINT64_C(0x0000F5FB646C3211),
+ UINT64_C(0x000710946F78EE11), UINT64_C(0x00041450BEBEAFA8)},
+ {UINT64_C(0x0004B10D60B8A44B), UINT64_C(0x00074DF316AD0515),
+ UINT64_C(0x00000BD0DA3A0140), UINT64_C(0x0002FA9736D69155),
+ UINT64_C(0x0004AE7CB062A37A), UINT64_C(0x0003B28579544A9B),
+ UINT64_C(0x00030DEF5D17E4D9), UINT64_C(0x0004FC0A27B77D73),
+ UINT64_C(0x000103D226B1E92E), UINT64_C(0x0005050AA53E3D45)}},
+ {{UINT64_C(0x0004C96EE0523578), UINT64_C(0x0002657E40AE1BEA),
+ UINT64_C(0x00032F4A192D817A), UINT64_C(0x0002963B113F0E7E),
+ UINT64_C(0x0005E7C716A6D2E3), UINT64_C(0x00027EE6D4437F4B),
+ UINT64_C(0x0001151EA99B216A), UINT64_C(0x0001183200C3345A),
+ UINT64_C(0x0004620822162719), UINT64_C(0x0006FF98AC189C7F)},
+ {UINT64_C(0x0007835A38637315), UINT64_C(0x00021DCF392DA107),
+ UINT64_C(0x00032E572F2009A7), UINT64_C(0x000551A3874139CB),
+ UINT64_C(0x00054BA83808EC95), UINT64_C(0x000E3B367E07B1AA),
+ UINT64_C(0x0001C425C58AF001), UINT64_C(0x0007FEBED49D81AD),
+ UINT64_C(0x0005614216D95FD6), UINT64_C(0x0007059956FB58D9)},
+ {UINT64_C(0x0009A088527332D8), UINT64_C(0x0004EBFF217D2F53),
+ UINT64_C(0x00068A2C41E7A6F9), UINT64_C(0x0007203B80A56ADA),
+ UINT64_C(0x0003CCF4A503F5B5), UINT64_C(0x0009DE73564AAC98),
+ UINT64_C(0x0007C64A2D2D5B63), UINT64_C(0x00066A514607F4F4),
+ UINT64_C(0x0004F7B23A1883CE), UINT64_C(0x000478DBA2254062)}},
+ {{UINT64_C(0x000891C63EC17278), UINT64_C(0x0003A469EA7941A1),
+ UINT64_C(0x0006CC724614C2A6), UINT64_C(0x00047368EAC894D3),
+ UINT64_C(0x000332725D63A7FD), UINT64_C(0x000E1B3A2B255A5D),
+ UINT64_C(0x0007DE48A07B22AC), UINT64_C(0x0001320FE5C7DF2A),
+ UINT64_C(0x0007981EA9B5299F), UINT64_C(0x00064E3A11075FBC)},
+ {UINT64_C(0x000F356D82B65E1D), UINT64_C(0x000333902B0C3E91),
+ UINT64_C(0x000236EE56D2F8F6), UINT64_C(0x00052D781547A66B),
+ UINT64_C(0x00071ECC2B2D45FD), UINT64_C(0x00021D01072A8CFE),
+ UINT64_C(0x00014250E888F3A4), UINT64_C(0x00041F6CCF6D58E7),
+ UINT64_C(0x00012F704916CD11), UINT64_C(0x0001C16A5BA5DEB5)},
+ {UINT64_C(0x0007176D4A4BE8ED), UINT64_C(0x0003AC14FE6CB1C7),
+ UINT64_C(0x0005BF2A9F3FDCA4), UINT64_C(0x000100A77E943894),
+ UINT64_C(0x0001A1B89F7EB96B), UINT64_C(0x000AC24527F9F6BC),
+ UINT64_C(0x0002AFDC6A5CC161), UINT64_C(0x0006C7233297DD8D),
+ UINT64_C(0x0001EF7E4B64538A), UINT64_C(0x00064C28116F6D3D)}},
+ {{UINT64_C(0x000C28582D0EAF98), UINT64_C(0x000760A4D8C62392),
+ UINT64_C(0x0002E99A28753318), UINT64_C(0x00036B4DD38D7C84),
+ UINT64_C(0x0005CE1103FE9B19), UINT64_C(0x000A5E7E678EC657),
+ UINT64_C(0x00001027FC495CC3), UINT64_C(0x000053D5EFE3F79A),
+ UINT64_C(0x00078707798B4856), UINT64_C(0x0002BCB996DBB870)},
+ {UINT64_C(0x000DE9BE7A3B7D2F), UINT64_C(0x000326F8D8093FCF),
+ UINT64_C(0x0006F4CA9EA85C42), UINT64_C(0x0002DA90D1D5EFAE),
+ UINT64_C(0x000453D210C50A00), UINT64_C(0x000ED30D7AE954A3),
+ UINT64_C(0x000667D3AF1FF3BD), UINT64_C(0x000610D4A9935FFA),
+ UINT64_C(0x0007996E35B2EEE4), UINT64_C(0x0005851FBF41B9D7)},
+ {UINT64_C(0x0001CCB597D775B8), UINT64_C(0x0002E2D7080ACA82),
+ UINT64_C(0x00026A27679CA594), UINT64_C(0x000767CAC5608B07),
+ UINT64_C(0x0007D3E1C929A8EE), UINT64_C(0x0001C08248026B08),
+ UINT64_C(0x00066E49F4282B91), UINT64_C(0x00043EC983912C70),
+ UINT64_C(0x00047BE45E4D1D00), UINT64_C(0x0005D6619498C3D3)}},
+ {{UINT64_C(0x000D75F87926E2CA), UINT64_C(0x0004BCE95D143C30),
+ UINT64_C(0x0007F9B22AB8D12A), UINT64_C(0x0005764F5D0427EC),
+ UINT64_C(0x00053FC4AEC382EC), UINT64_C(0x000BEFAD0696C924),
+ UINT64_C(0x0005C1A42613E0F9), UINT64_C(0x0006C63EA68E2641),
+ UINT64_C(0x0005AE918E206EE4), UINT64_C(0x000201EB6276D205)},
+ {UINT64_C(0x00080526DEB4F23A), UINT64_C(0x0004A3E016C3560A),
+ UINT64_C(0x00048954F4DFE4E5), UINT64_C(0x00033FAEECA38CED),
+ UINT64_C(0x0001AABCF5F5B04D), UINT64_C(0x000624845CAC218D),
+ UINT64_C(0x000727D5924F0D61), UINT64_C(0x00039A25A9A902B9),
+ UINT64_C(0x00025354B1923A74), UINT64_C(0x00042D904B1EE6E2)},
+ {UINT64_C(0x0005EE12683D6873), UINT64_C(0x00020C302FB23D53),
+ UINT64_C(0x00041183598E5E20), UINT64_C(0x000660C4A3602D69),
+ UINT64_C(0x000428E3D7F7DA6B), UINT64_C(0x000FFDAB157CCECE),
+ UINT64_C(0x0003ABD7DACF40F1), UINT64_C(0x0001F758B2026116),
+ UINT64_C(0x00059CA09F80A28E), UINT64_C(0x00058050997A84C9)}},
+ },
+ {
+ {{UINT64_C(0x00012BC79DE3583C), UINT64_C(0x00021865086663FD),
+ UINT64_C(0x00004E4ABB33032F), UINT64_C(0x00079C1995D5F6AE),
+ UINT64_C(0x0006843DC92E6F2C), UINT64_C(0x000E5AAB95A25A94),
+ UINT64_C(0x000297E894CB3E2E), UINT64_C(0x0002F3E8D3C6A333),
+ UINT64_C(0x0001389E783B3338), UINT64_C(0x0004D35F4985F35A)},
+ {UINT64_C(0x000924729178D442), UINT64_C(0x00072FEF9AC231D7),
+ UINT64_C(0x0003255217E983F8), UINT64_C(0x00078D1ADD8547ED),
+ UINT64_C(0x0007DD800A0126E4), UINT64_C(0x00040F7454BB5636),
+ UINT64_C(0x00070028ED5FE73D), UINT64_C(0x0002FE6922362D32),
+ UINT64_C(0x000517F433247DD5), UINT64_C(0x0003131BDB6DBD80)},
+ {UINT64_C(0x0009B880561B3C2F), UINT64_C(0x000528E3FF8E6EB8),
+ UINT64_C(0x0002B3F6E8A064AA), UINT64_C(0x000306F6878089C4),
+ UINT64_C(0x0007DC267AF352EA), UINT64_C(0x000EB92414BD9E20),
+ UINT64_C(0x0003B288AD2E08DE), UINT64_C(0x000226D516C76AEC),
+ UINT64_C(0x00040D85E3E81384), UINT64_C(0x0000D2240FB63716)}},
+ {{UINT64_C(0x000587DEFF3E2CA8), UINT64_C(0x0000ADE75F1C108A),
+ UINT64_C(0x000077C7746D2B81), UINT64_C(0x0007F15AEEE1A36C),
+ UINT64_C(0x000147D7174597BE), UINT64_C(0x000ADF5550885ADA),
+ UINT64_C(0x0005AC4D1E2642DC), UINT64_C(0x00011B21A28D0DDD),
+ UINT64_C(0x00041407BD6EAB82), UINT64_C(0x00048A1C814EF854)},
+ {UINT64_C(0x000EE63D584955CA), UINT64_C(0x0000DB6FC1D35A63),
+ UINT64_C(0x0007990E3E93CF7D), UINT64_C(0x0006896872475C47),
+ UINT64_C(0x0002FE85FB8B4F95), UINT64_C(0x0009A4386F393657),
+ UINT64_C(0x0006D05838FAE08A), UINT64_C(0x0003B7E6453E11C6),
+ UINT64_C(0x0004A2C032C2CE97), UINT64_C(0x0003289CB5A153DD)},
+ {UINT64_C(0x0002BD6E9F70C80A), UINT64_C(0x000231E61F2C2C8A),
+ UINT64_C(0x0002A043498E6B5B), UINT64_C(0x00027EF36D2BD2C9),
+ UINT64_C(0x000792B9E0D4EFFA), UINT64_C(0x000D609539828287),
+ UINT64_C(0x0002DD2C1EC6C7BB), UINT64_C(0x00022B3BF91980DE),
+ UINT64_C(0x0003C03DA1E5A7D9), UINT64_C(0x000084F0BEE586B4)}},
+ {{UINT64_C(0x000712E11D32F6C1), UINT64_C(0x0007699A1E2965D4),
+ UINT64_C(0x0006F53B52261F62), UINT64_C(0x00010D991E106C19),
+ UINT64_C(0x0005E1F7A164C33C), UINT64_C(0x0002D0C5F074BEB5),
+ UINT64_C(0x000460F51489D3D8), UINT64_C(0x0002E479EAC4245A),
+ UINT64_C(0x0002053DB40CA26B), UINT64_C(0x00007428215ABE9C)},
+ {UINT64_C(0x000B9A8A9F89A37F), UINT64_C(0x00043FEE2728E6A8),
+ UINT64_C(0x0003BAD546C31F76), UINT64_C(0x0002F4CA0D786241),
+ UINT64_C(0x0007291B2D3383A2), UINT64_C(0x0006C364B58F7471),
+ UINT64_C(0x0000E1166DD243CD), UINT64_C(0x0003571ADDB675C5),
+ UINT64_C(0x0005CEB2284920A6), UINT64_C(0x0003CE87A34C0993)},
+ {UINT64_C(0x000D7AC4BC491E76), UINT64_C(0x0006933E79C065C0),
+ UINT64_C(0x0003962BB73B910D), UINT64_C(0x00025407D7F52984),
+ UINT64_C(0x000587DBC6C6A8A0), UINT64_C(0x00003AE437D302CF),
+ UINT64_C(0x0004A456DC9A70DC), UINT64_C(0x0003580FD7730DB6),
+ UINT64_C(0x00006BDB32465E50), UINT64_C(0x000303101EF56592)}},
+ {{UINT64_C(0x000E210468EBF556), UINT64_C(0x0001E3325C2E6FFC),
+ UINT64_C(0x0003EB88667F698C), UINT64_C(0x0004C7309F19C344),
+ UINT64_C(0x00007B954D985C68), UINT64_C(0x000112B5D338E899),
+ UINT64_C(0x000103AD36665F4C), UINT64_C(0x0005C48C27F780B9),
+ UINT64_C(0x0006DFCD7AC7E7C2), UINT64_C(0x0005FBAB29982614)},
+ {UINT64_C(0x000050C0CB5724E2), UINT64_C(0x0003F7AB514CAA0F),
+ UINT64_C(0x0004F45065DA591B), UINT64_C(0x000629B4E99E7B9F),
+ UINT64_C(0x0007FF99B8004A8B), UINT64_C(0x00013A7E073C783C),
+ UINT64_C(0x0005096EE21EAD2D), UINT64_C(0x00035AC55D5BC48A),
+ UINT64_C(0x00052D7CCDDB8458), UINT64_C(0x00026359B210DDC3)},
+ {UINT64_C(0x00010EB7F4F37055), UINT64_C(0x00022C5837D27DF8),
+ UINT64_C(0x00014DD44F017128), UINT64_C(0x0000762B8A81A083),
+ UINT64_C(0x0006343F4E6B1730), UINT64_C(0x0006A070B31B593A),
+ UINT64_C(0x00035A4CB671B136), UINT64_C(0x00034AA79F2E1C0D),
+ UINT64_C(0x0002B801D09AF476), UINT64_C(0x0004D55933C87AC6)}},
+ {{UINT64_C(0x0000F5AF20BFA216), UINT64_C(0x00070CA3CC7423EA),
+ UINT64_C(0x0003BDCF09AF2CF8), UINT64_C(0x00070852C08E07C8),
+ UINT64_C(0x0002B67C67B7DC0D), UINT64_C(0x0004747A18E7911A),
+ UINT64_C(0x0002AE9D138BEC06), UINT64_C(0x00029A908D7441B5),
+ UINT64_C(0x0001CA2C87AB2C68), UINT64_C(0x0005D57E612AC9CA)},
+ {UINT64_C(0x000CB61AD6C38D3B), UINT64_C(0x000098910BDAA430),
+ UINT64_C(0x0005A8F1058B45F9), UINT64_C(0x0001378B35FE5270),
+ UINT64_C(0x0003B096F4B6729B), UINT64_C(0x000B715D3132EC7F),
+ UINT64_C(0x0000BF368D7A6E35), UINT64_C(0x0003532D4AAC8584),
+ UINT64_C(0x0007C03968D90FAB), UINT64_C(0x0003DD8235C48DCD)},
+ {UINT64_C(0x000865375C84BF5B), UINT64_C(0x0006F89F501226EA),
+ UINT64_C(0x0003A9BA52948170), UINT64_C(0x0005125268D062C9),
+ UINT64_C(0x000080351C14559D), UINT64_C(0x0002D7F2832CC046),
+ UINT64_C(0x00072CD1CCBF4A78), UINT64_C(0x0006C2A3FAE0EA13),
+ UINT64_C(0x00066FCF5DB7E22E), UINT64_C(0x00007019E17361A4)}},
+ {{UINT64_C(0x000E48E34B29F673), UINT64_C(0x000189AA11C7064C),
+ UINT64_C(0x0000980567389DB8), UINT64_C(0x000140D89A2CB56F),
+ UINT64_C(0x00066BB6C0F4791D), UINT64_C(0x00097F8E780B26F8),
+ UINT64_C(0x00069029D6B5B3AB), UINT64_C(0x0001807A1948E6BC),
+ UINT64_C(0x00026E19F742FADE), UINT64_C(0x000085F04C0FC570)},
+ {UINT64_C(0x0008A43FBB459AFB), UINT64_C(0x000080263E72058C),
+ UINT64_C(0x00077C836CC06EA1), UINT64_C(0x0001B50F235F0EA1),
+ UINT64_C(0x00022280D3BF0256), UINT64_C(0x000B12F3375A9340),
+ UINT64_C(0x00056068C08F4DCC), UINT64_C(0x000188B7FEE30E53),
+ UINT64_C(0x00034956976A7E2B), UINT64_C(0x0006F32B80C1218B)},
+ {UINT64_C(0x0002995C7D4906BD), UINT64_C(0x0004C47098446E5D),
+ UINT64_C(0x000770566A516A0B), UINT64_C(0x0001E7E3FBA19859),
+ UINT64_C(0x0005F7F7EEE25E7C), UINT64_C(0x00056AB023B1E34B),
+ UINT64_C(0x00065C13925054D0), UINT64_C(0x0003F1A384F6EB8D),
+ UINT64_C(0x0000C7DE81E37B03), UINT64_C(0x0007AB8E723005D9)}},
+ {{UINT64_C(0x000D9677AC1784B4), UINT64_C(0x0003B608C12C6E54),
+ UINT64_C(0x00003773DBAACF6B), UINT64_C(0x000335230A701D3D),
+ UINT64_C(0x000164DD69069B24), UINT64_C(0x000529717B200FBF),
+ UINT64_C(0x00020FA9213B9796), UINT64_C(0x00057DB2FAFA5561),
+ UINT64_C(0x0002139FA8922FB6), UINT64_C(0x00067569B0196555)},
+ {UINT64_C(0x0009839D81326E12), UINT64_C(0x0007F6B8CD121226),
+ UINT64_C(0x00011EF52FEB2E87), UINT64_C(0x000499E40D596C14),
+ UINT64_C(0x0001E15D66FB1681), UINT64_C(0x000CB2E1A771676B),
+ UINT64_C(0x0005B8802822C88B), UINT64_C(0x0004AC4C2A3D2CE6),
+ UINT64_C(0x000736AEEE38077F), UINT64_C(0x00048E797F51A1F0)},
+ {UINT64_C(0x000F3FFC1B7E0E25), UINT64_C(0x000741ECED05D3C2),
+ UINT64_C(0x0002F761F2EE2FC5), UINT64_C(0x00001899845146F7),
+ UINT64_C(0x0001F791E6351AD2), UINT64_C(0x000D38697A0353D4),
+ UINT64_C(0x0005D13800614CC5), UINT64_C(0x00072BF23AE1C7DE),
+ UINT64_C(0x0002F2F0CE9EEEC6), UINT64_C(0x0004BCAB345E5507)}},
+ {{UINT64_C(0x000447671491497E), UINT64_C(0x0000C80E0499549D),
+ UINT64_C(0x0007383B83AE8A43), UINT64_C(0x00018D8798A60AE8),
+ UINT64_C(0x0005A7634049A61D), UINT64_C(0x000CF3BA71A877FA),
+ UINT64_C(0x00038992C781814F), UINT64_C(0x0004FA4F3F875472),
+ UINT64_C(0x0006B3BE16D87909), UINT64_C(0x0007FBF24B86F9CF)},
+ {UINT64_C(0x0005D7ED1152D458), UINT64_C(0x0006A737D3EC8814),
+ UINT64_C(0x0003336316E14A78), UINT64_C(0x0007540CA254140D),
+ UINT64_C(0x000110B2DC2C19D2), UINT64_C(0x0003541AEE4CD459),
+ UINT64_C(0x0006D62DA4142812), UINT64_C(0x00004D24768B69EF),
+ UINT64_C(0x00017FEAA0883076), UINT64_C(0x00028A34309D30B8)},
+ {UINT64_C(0x00082AEA5AAA7679), UINT64_C(0x00069F5FFC2299F9),
+ UINT64_C(0x00075584B5CBBAE3), UINT64_C(0x0007EB4016FF7E27),
+ UINT64_C(0x00077F9D62577D9F), UINT64_C(0x0006DC60EBCA06A0),
+ UINT64_C(0x0003C85F387E563B), UINT64_C(0x00015F9C0C733FB2),
+ UINT64_C(0x00055561ADBDC642), UINT64_C(0x00014B6056050D92)}},
+ {{UINT64_C(0x000D1DDCB3D8676E), UINT64_C(0x00029A0A308DDECF),
+ UINT64_C(0x0006A381EC144616), UINT64_C(0x0001160CA0BFEC27),
+ UINT64_C(0x00061482EF8B50E3), UINT64_C(0x000EF6F13CBB5FD6),
+ UINT64_C(0x00047895BA6C9BBE), UINT64_C(0x00025EC3CC939CD7),
+ UINT64_C(0x0000C55182568086), UINT64_C(0x00028782AA420F85)},
+ {UINT64_C(0x0008812D8865EB1A), UINT64_C(0x0000A23A343939AB),
+ UINT64_C(0x0007911CB6565C2A), UINT64_C(0x000542477B4639B9),
+ UINT64_C(0x0004025D314B3748), UINT64_C(0x000F0FC98FF524B1),
+ UINT64_C(0x0006AA3ED50EC301), UINT64_C(0x00067BEA284CE141),
+ UINT64_C(0x00035FBE193BAF03), UINT64_C(0x000283F0131BFA47)},
+ {UINT64_C(0x0003691D5B656339), UINT64_C(0x00010FA865CCF6EB),
+ UINT64_C(0x000039AFC5408E69), UINT64_C(0x000716574C1285D7),
+ UINT64_C(0x000229C93E34D31C), UINT64_C(0x0009DCB9E5D6F976),
+ UINT64_C(0x00035DEBA296DC50), UINT64_C(0x0000AE005B921892),
+ UINT64_C(0x0002C8A31CBE1965), UINT64_C(0x0000ED87D30FCA21)}},
+ {{UINT64_C(0x0009C6090B0DB1A4), UINT64_C(0x00034B5A129C41C7),
+ UINT64_C(0x00059562792D152D), UINT64_C(0x0000A11D7CE1D2F8),
+ UINT64_C(0x00066B6939748922), UINT64_C(0x0002AD03A62C9001),
+ UINT64_C(0x0007BBAEC39432F3), UINT64_C(0x0000F8A4915FF527),
+ UINT64_C(0x0007DBE1A2997F40), UINT64_C(0x000439D5F39E64A8)},
+ {UINT64_C(0x0005C0D182E1AF93), UINT64_C(0x000153BBC2722775),
+ UINT64_C(0x000211B8B306BA69), UINT64_C(0x0007D3A33C211B46),
+ UINT64_C(0x0005650D03F0188D), UINT64_C(0x0003805179159F66),
+ UINT64_C(0x0005B80FDEBBC150), UINT64_C(0x00023B752B2CCA19),
+ UINT64_C(0x00056569DDD4BB09), UINT64_C(0x000630A1D0FE1331)},
+ {UINT64_C(0x000CC57A9BD01FD0), UINT64_C(0x00001A61B9AF718F),
+ UINT64_C(0x0003E7AEFE584488), UINT64_C(0x00002846B6BF5441),
+ UINT64_C(0x000032F196D04DD3), UINT64_C(0x0005855F89A5B1E2),
+ UINT64_C(0x00034031211C8DC5), UINT64_C(0x00014993DFD465A0),
+ UINT64_C(0x0001B4AFBB37974E), UINT64_C(0x00010725BF8ACC79)}},
+ {{UINT64_C(0x0008533407FDA6AE), UINT64_C(0x000192F807908397),
+ UINT64_C(0x0006D0300B59435D), UINT64_C(0x0003D01EB7B22034),
+ UINT64_C(0x0006AFEEF3F9CD09), UINT64_C(0x000E5025B96AF595),
+ UINT64_C(0x0006A4A6BE18817B), UINT64_C(0x00011D766D6D736B),
+ UINT64_C(0x000798906CAD57F4), UINT64_C(0x0005ABB11A884308)},
+ {UINT64_C(0x0005141D4E3FF7B2), UINT64_C(0x0007785D03C4C1D1),
+ UINT64_C(0x0002E4309AA4BEDF), UINT64_C(0x0000D594EF832B4B),
+ UINT64_C(0x00079F60B7615E57), UINT64_C(0x000AF439572259C7),
+ UINT64_C(0x00039E6726C1C742), UINT64_C(0x00033EFCC7442133),
+ UINT64_C(0x0001B48C7F680882), UINT64_C(0x0002FBAE97FB8296)},
+ {UINT64_C(0x0002D2C880F58DFD), UINT64_C(0x00002E893D015F3D),
+ UINT64_C(0x000402A9AE8025AB), UINT64_C(0x0000616166212B68),
+ UINT64_C(0x0005D8A9EFC3CCA1), UINT64_C(0x0007EC85775C4CD6),
+ UINT64_C(0x00048D0978840129), UINT64_C(0x0002C54DE6A58362),
+ UINT64_C(0x0006B650181206C2), UINT64_C(0x000781263825C8B9)}},
+ {{UINT64_C(0x00037F4695FB8F38), UINT64_C(0x00064899737EA849),
+ UINT64_C(0x00005CA9511A1C0C), UINT64_C(0x0005B2332E230D2F),
+ UINT64_C(0x0005BEFB537AF5C5), UINT64_C(0x000E66EDC4CC05A1),
+ UINT64_C(0x0001F243387EED8D), UINT64_C(0x00060531AF1B8294),
+ UINT64_C(0x00048207AF7FB47E), UINT64_C(0x0006467F4F208BC1)},
+ {UINT64_C(0x000ED253E56AD0B4), UINT64_C(0x0006FD900D9B4494),
+ UINT64_C(0x000771FDB0B28644), UINT64_C(0x0006608E858B8864),
+ UINT64_C(0x0002410ACFA4ECFD), UINT64_C(0x0006BCBCB4C454F1),
+ UINT64_C(0x0004C982596786AF), UINT64_C(0x0007C7D414F13D62),
+ UINT64_C(0x000400A18A4312B8), UINT64_C(0x0001C8AE8AAC6E97)},
+ {UINT64_C(0x00039A273DA14F76), UINT64_C(0x00007A039FC51A14),
+ UINT64_C(0x00075AE649E4978D), UINT64_C(0x00068BBF1108ED62),
+ UINT64_C(0x0001AC7CBC84A882), UINT64_C(0x000F007CBF2633B8),
+ UINT64_C(0x0001A252213D53A3), UINT64_C(0x00060026357E6823),
+ UINT64_C(0x0005559C92CD3AA6), UINT64_C(0x000363AFB26A540D)}},
+ {{UINT64_C(0x000C6D7AC27539AC), UINT64_C(0x0004CAF0243C7093),
+ UINT64_C(0x0006E0AFE6D51B44), UINT64_C(0x0002FD11233BA456),
+ UINT64_C(0x0002CF8D4FBEC26A), UINT64_C(0x000335E8B284BD21),
+ UINT64_C(0x0004E3B0C6669531), UINT64_C(0x000268080A9578C0),
+ UINT64_C(0x00001A56306692EA), UINT64_C(0x0001DC271C3ACEF7)},
+ {UINT64_C(0x0005D867CCE652DC), UINT64_C(0x000413FF399550DD),
+ UINT64_C(0x0004AE5EB4FD02DD), UINT64_C(0x00052874EA4A9C83),
+ UINT64_C(0x0004E30A566CC4F0), UINT64_C(0x0009ED469CD2FA26),
+ UINT64_C(0x00079EED35A8B65B), UINT64_C(0x000064FF6AF426D8),
+ UINT64_C(0x00013C73FCA107AB), UINT64_C(0x0006BCC1F527AE0B)},
+ {UINT64_C(0x000E8622B341115B), UINT64_C(0x0005F8B755945B8A),
+ UINT64_C(0x000642734EB49580), UINT64_C(0x00002466340FFFFA),
+ UINT64_C(0x0003E1295E9DB2EF), UINT64_C(0x000914081A805FD4),
+ UINT64_C(0x0004A81CD7486D11), UINT64_C(0x0005D93E4C17C491),
+ UINT64_C(0x0006919BA5ECC6B0), UINT64_C(0x000448FF91161C16)}},
+ {{UINT64_C(0x0003D9DFABF694F0), UINT64_C(0x00002EE322AB5B23),
+ UINT64_C(0x0007E35695039192), UINT64_C(0x00016EB2F5322F0B),
+ UINT64_C(0x0007FCF7BA70F363), UINT64_C(0x0007FBE02B2A3F5E),
+ UINT64_C(0x00016937E666BFE0), UINT64_C(0x00063B8FCA96F14A),
+ UINT64_C(0x000540136F4D10D5), UINT64_C(0x00039D97115CAD4A)},
+ {UINT64_C(0x000A782DAEA02C81), UINT64_C(0x0002FD925EE99F06),
+ UINT64_C(0x00060F793F8913A6), UINT64_C(0x0001E83A9CDE3761),
+ UINT64_C(0x0001467FC5C751CA), UINT64_C(0x000264902CF947E3),
+ UINT64_C(0x00006FAA77E5A8BE), UINT64_C(0x00067F05EF979834),
+ UINT64_C(0x0005311603B55490), UINT64_C(0x000074D079F64A01)},
+ {UINT64_C(0x0006D0D6BDA6A83D), UINT64_C(0x00002DDDDEE12D29),
+ UINT64_C(0x0005927C12A4B6B7), UINT64_C(0x00071C3961F108DF),
+ UINT64_C(0x00077B7833C53611), UINT64_C(0x0002FDE12520D971),
+ UINT64_C(0x0007CB6A7953E587), UINT64_C(0x0004139054626FC8),
+ UINT64_C(0x00079EAC5F05CF63), UINT64_C(0x00001D021BA677A6)}},
+ {{UINT64_C(0x000CAC0E21E72D01), UINT64_C(0x0002AAC8A7589E07),
+ UINT64_C(0x0007A7F89C925218), UINT64_C(0x0005C69DE570605B),
+ UINT64_C(0x0007C603800C1CEC), UINT64_C(0x0005CD221F6861F6),
+ UINT64_C(0x000225A7F4668D5E), UINT64_C(0x00027C1F6FFB5628),
+ UINT64_C(0x0007A72B7EAEB5A8), UINT64_C(0x0000B10838B451B8)},
+ {UINT64_C(0x000CE1FEA6AE6F93), UINT64_C(0x00019A7F14080E06),
+ UINT64_C(0x0002CF09EEA75595), UINT64_C(0x0006DB5A156F82EC),
+ UINT64_C(0x0002FBA8A7857009), UINT64_C(0x00013F8B71B7B21D),
+ UINT64_C(0x00036BCBD874C4CE), UINT64_C(0x0003A12D4D39A34D),
+ UINT64_C(0x00027EBC6E708CC4), UINT64_C(0x00046B288961C679)},
+ {UINT64_C(0x00084942A3FFE4F7), UINT64_C(0x00039331DB0EFDD2),
+ UINT64_C(0x0003BC5E8D64D32A), UINT64_C(0x0002F14504F246A2),
+ UINT64_C(0x0005D0B970850BFE), UINT64_C(0x000DDBFD50853040),
+ UINT64_C(0x00053F2BB46E95D8), UINT64_C(0x0006217469553610),
+ UINT64_C(0x0001AA60880F4C92), UINT64_C(0x0001BB031C7CDCAD)}},
+ {{UINT64_C(0x00043577337ED415), UINT64_C(0x0001168CF60C5FCC),
+ UINT64_C(0x0004F7F95837B2D6), UINT64_C(0x00056BA25D4F23A3),
+ UINT64_C(0x0005C14460B0F4E0), UINT64_C(0x0002B00069045903),
+ UINT64_C(0x00004B0C5A39B1AA), UINT64_C(0x0003FBB985D77FA8),
+ UINT64_C(0x00049239EE5946D9), UINT64_C(0x00057387CD1049E9)},
+ {UINT64_C(0x000B952D15EE6357), UINT64_C(0x0002DB9A48C1B600),
+ UINT64_C(0x0002D0190D4ADBBA), UINT64_C(0x00047F14E4566F50),
+ UINT64_C(0x0001F163D4E86E1D), UINT64_C(0x000C92AF729F469E),
+ UINT64_C(0x00007BD599CC0C16), UINT64_C(0x0006BC2F08CAE272),
+ UINT64_C(0x00047553865EB8CC), UINT64_C(0x0001CE9F42F10932)},
+ {UINT64_C(0x000BCE2DA7F5610F), UINT64_C(0x0003B36D325EE2A8),
+ UINT64_C(0x000726B58068AB44), UINT64_C(0x0004A0F44270ED1F),
+ UINT64_C(0x00071571152CE6BE), UINT64_C(0x000565993B17157C),
+ UINT64_C(0x00039843697248A3), UINT64_C(0x00051EDAD623656A),
+ UINT64_C(0x0004E89907281D95), UINT64_C(0x0003514F571877C2)}},
+ },
+ {
+ {{UINT64_C(0x000D2A3121F83A1D), UINT64_C(0x0002DA330B022D82),
+ UINT64_C(0x00003B3EAB80FFD8), UINT64_C(0x00015D727FF11EA8),
+ UINT64_C(0x000645E52899FB8C), UINT64_C(0x000C944BAFE40831),
+ UINT64_C(0x0006EFC60BCB700D), UINT64_C(0x00049C8983D2F665),
+ UINT64_C(0x00001D4D70FCC0D3), UINT64_C(0x0004D6ED234BFC0D)},
+ {UINT64_C(0x000B1C9F041D3F61), UINT64_C(0x0005D2FDE93EC1F5),
+ UINT64_C(0x00076737DC0F744C), UINT64_C(0x00042230534666BE),
+ UINT64_C(0x0003404E863515DA), UINT64_C(0x000C7436CCE8B116),
+ UINT64_C(0x00005EA392999318), UINT64_C(0x0007905E98068490),
+ UINT64_C(0x00010A805AD32FCC), UINT64_C(0x000023B7CE895D07)},
+ {UINT64_C(0x0003EFFB814E2197), UINT64_C(0x0000852A305BE11B),
+ UINT64_C(0x00048396DD06C432), UINT64_C(0x000540D5C5935D99),
+ UINT64_C(0x00035AEAD67940BE), UINT64_C(0x0008CA943925F507),
+ UINT64_C(0x0006F245BE658554), UINT64_C(0x0000B5E763A6E0C5),
+ UINT64_C(0x0002E795E93C44D8), UINT64_C(0x0006CC4B88C475C6)}},
+ {{UINT64_C(0x000C200B8B331922), UINT64_C(0x00004683E419F734),
+ UINT64_C(0x0002C7E001FCD0C0), UINT64_C(0x0001479FD1FC8DF1),
+ UINT64_C(0x000577647BF78E53), UINT64_C(0x0003AC981A6CC35C),
+ UINT64_C(0x0002966643DF7AFF), UINT64_C(0x000673621471EFDC),
+ UINT64_C(0x0007BF256881F54F), UINT64_C(0x000487F29B6DB344)},
+ {UINT64_C(0x00085CDB9629C5F6), UINT64_C(0x000604C1DBE92B8A),
+ UINT64_C(0x0003BBE72A278D3D), UINT64_C(0x000767DE37996D84),
+ UINT64_C(0x0000DFE0B1187EE4), UINT64_C(0x0004DE0ADC2458BC),
+ UINT64_C(0x00003CCCC4C709E4), UINT64_C(0x00045A74FFEA1E3D),
+ UINT64_C(0x00015B4EE2B662A6), UINT64_C(0x000181EFB7AE8968)},
+ {UINT64_C(0x0009F028A704590F), UINT64_C(0x0005F2BA1A40E68C),
+ UINT64_C(0x0001F65FEC8D20C2), UINT64_C(0x00020C79DAFC49DD),
+ UINT64_C(0x0007EEFCC164D9D7), UINT64_C(0x000D456B93390094),
+ UINT64_C(0x000185EADF32B9D0), UINT64_C(0x0004ED0525883825),
+ UINT64_C(0x0007B8A0AEB853AE), UINT64_C(0x0000D9511CB1B787)}},
+ {{UINT64_C(0x000CDF0DB3694899), UINT64_C(0x00023B940D7CF533),
+ UINT64_C(0x0006B84827681417), UINT64_C(0x0006F9B4F46F0E96),
+ UINT64_C(0x000515DA23E8AC6B), UINT64_C(0x00095847795BB758),
+ UINT64_C(0x0003F4CCA41B8228), UINT64_C(0x0006186E4E9093AC),
+ UINT64_C(0x00077309478974B1), UINT64_C(0x0005B4F6C6F8FEFA)},
+ {UINT64_C(0x0001443F74773B5C), UINT64_C(0x00063FFF59FDE6B6),
+ UINT64_C(0x0001F16F0B9EEC52), UINT64_C(0x000051FCDC5A3486),
+ UINT64_C(0x0003DB748AF8F2E5), UINT64_C(0x000B5783C6DC2D30),
+ UINT64_C(0x0002DAB21D8CC130), UINT64_C(0x0005F25B88234552),
+ UINT64_C(0x0004FF796B7D456D), UINT64_C(0x0006080EB1FC5C27)},
+ {UINT64_C(0x000A9AA635E4EF7D), UINT64_C(0x000108EC067C691F),
+ UINT64_C(0x00004D22357BAE6A), UINT64_C(0x000337A3327BC99C),
+ UINT64_C(0x0000A68F7BADF67C), UINT64_C(0x000AC18F7DFA19B2),
+ UINT64_C(0x0005C678FBE8EB52), UINT64_C(0x0001D8F2C4E8BB6E),
+ UINT64_C(0x0000DA44F24F2716), UINT64_C(0x00030A3DE2A3A421)}},
+ {{UINT64_C(0x000F5BCB25CF4FB5), UINT64_C(0x00037F879FD958AF),
+ UINT64_C(0x0001AD917C6DE29F), UINT64_C(0x000162FF07F36826),
+ UINT64_C(0x00067919212F631A), UINT64_C(0x000BFD3793A355FB),
+ UINT64_C(0x0005755B1ABED696), UINT64_C(0x000144F83C26744A),
+ UINT64_C(0x0004BCAD8857D421), UINT64_C(0x00016302D4EADAE5)},
+ {UINT64_C(0x0007E6C00E672C8D), UINT64_C(0x00038DE62F3282ED),
+ UINT64_C(0x0004B4D7588B4274), UINT64_C(0x0000DE769DFD42DE),
+ UINT64_C(0x00031736034810B0), UINT64_C(0x00042D1D02CFDE19),
+ UINT64_C(0x0003D5001378BC45), UINT64_C(0x00063303C6FB6962),
+ UINT64_C(0x00033FF632B306CC), UINT64_C(0x0007FCD2720CF3DD)},
+ {UINT64_C(0x0000D3E05FE45941), UINT64_C(0x0001EE7BCFC54EA8),
+ UINT64_C(0x00073BF8104FCCCD), UINT64_C(0x0006E128F079E6C4),
+ UINT64_C(0x0006FE2C64E04ED7), UINT64_C(0x0007C13D9F8F4E55),
+ UINT64_C(0x00073AA7BE299340), UINT64_C(0x00065D2152375AFE),
+ UINT64_C(0x000389EB4ABE5495), UINT64_C(0x00044A45040B455F)}},
+ {{UINT64_C(0x000A15B31548EDEF), UINT64_C(0x0004BE66E39BFE46),
+ UINT64_C(0x0000A4F48F221DE4), UINT64_C(0x0003D1DB970835AB),
+ UINT64_C(0x00031933E3DE57CB), UINT64_C(0x000978578FEEE453),
+ UINT64_C(0x0002C30F392DC6A7), UINT64_C(0x0000C948C85AE181),
+ UINT64_C(0x000200560FFD6366), UINT64_C(0x0001230F26094A57)},
+ {UINT64_C(0x00071F959A90337C), UINT64_C(0x000208552F478DC7),
+ UINT64_C(0x0005788AC4EBB26B), UINT64_C(0x0002B9FBF27C3470),
+ UINT64_C(0x00004FF4C8B12365), UINT64_C(0x0006D2BCE6204D47),
+ UINT64_C(0x0001E8AAA0A8023E), UINT64_C(0x000797C24FED76B7),
+ UINT64_C(0x00026173EF326E46), UINT64_C(0x0006133FB5B5B999)},
+ {UINT64_C(0x00012BC7A048AF37), UINT64_C(0x0000FD0301EC2E53),
+ UINT64_C(0x0002C070DD9CD038), UINT64_C(0x0007F2EFAC327986),
+ UINT64_C(0x00026CE631FC9FEF), UINT64_C(0x000277F1E2BB1725),
+ UINT64_C(0x00010E40E88E18E3), UINT64_C(0x00039310E1B26218),
+ UINT64_C(0x0003985E2F2FBFEB), UINT64_C(0x000268DC44A02ADF)}},
+ {{UINT64_C(0x000DEA78EADAEEC1), UINT64_C(0x0003DB0BE77C03ED),
+ UINT64_C(0x0003EDF67A38D25B), UINT64_C(0x0005019B365A8A38),
+ UINT64_C(0x0005197BFB9FF59C), UINT64_C(0x00083D36F0A5A16A),
+ UINT64_C(0x0005152E257CA37F), UINT64_C(0x0006A2BEE626DAA6),
+ UINT64_C(0x00033AE983C20B72), UINT64_C(0x0004D9B705EAAD1C)},
+ {UINT64_C(0x000874E06D7B5C24), UINT64_C(0x00064390163770B6),
+ UINT64_C(0x0005698AF98FF650), UINT64_C(0x0005B8EBB355D77A),
+ UINT64_C(0x0000AE7C70732C73), UINT64_C(0x000E19D3D98FABDD),
+ UINT64_C(0x00079DEDA37DA75D), UINT64_C(0x00004B710B1674C5),
+ UINT64_C(0x00040619A55A5DEF), UINT64_C(0x000779DCC6F44704)},
+ {UINT64_C(0x000504F35721DEFB), UINT64_C(0x0004A3C0C7E7284A),
+ UINT64_C(0x0002EB38ABD01FCB), UINT64_C(0x0004CE3322295DF1),
+ UINT64_C(0x00031DB27F499399), UINT64_C(0x00018AABC6E0C983),
+ UINT64_C(0x0000AF5EF9B55762), UINT64_C(0x0005322B53AAAACA),
+ UINT64_C(0x0007762A5164BC03), UINT64_C(0x0007F960E2AF4304)}},
+ {{UINT64_C(0x0004FE2209D880A9), UINT64_C(0x0003B71CEB098483),
+ UINT64_C(0x0006F0A21F537C16), UINT64_C(0x0002CF6EB8FF1658),
+ UINT64_C(0x0005494E50B58CA1), UINT64_C(0x0004438EA9A0A3E8),
+ UINT64_C(0x0003E7417D2F3188), UINT64_C(0x0006C48A60BD0440),
+ UINT64_C(0x0006AD71A29DB30C), UINT64_C(0x0001AC8E5A50D6AA)},
+ {UINT64_C(0x000C73B8887E050B), UINT64_C(0x0003885D576CDAD0),
+ UINT64_C(0x0004A689C810C4FB), UINT64_C(0x000694592DB886B1),
+ UINT64_C(0x00063944B776872E), UINT64_C(0x000AA2F2A130E0FC),
+ UINT64_C(0x00008DD2C544EA7E), UINT64_C(0x000210E4D0FC740D),
+ UINT64_C(0x0001E222C1CAA921), UINT64_C(0x00071E84DB222363)},
+ {UINT64_C(0x0006F9367DF1009D), UINT64_C(0x0006CBC0A10D4FD2),
+ UINT64_C(0x000610447BE01C43), UINT64_C(0x0000F58331DDCDD9),
+ UINT64_C(0x00041CDDB6D56BDD), UINT64_C(0x00011776CAFBC4AC),
+ UINT64_C(0x000374788FA28EB8), UINT64_C(0x0000E99592B60098),
+ UINT64_C(0x0001448FF0C15C26), UINT64_C(0x0006667044FC0ECF)}},
+ {{UINT64_C(0x0009F8C30043EA50), UINT64_C(0x000112BE297E6871),
+ UINT64_C(0x0002F61BC12D1B08), UINT64_C(0x00022B45B0DF4504),
+ UINT64_C(0x0004A8355FC774A3), UINT64_C(0x0009F24537D203A0),
+ UINT64_C(0x0000F00050E3A31C), UINT64_C(0x00060D19D82588C3),
+ UINT64_C(0x00035A326B654F92), UINT64_C(0x00069365E53B389A)},
+ {UINT64_C(0x00050A34F9BCA230), UINT64_C(0x000768F7A199C03D),
+ UINT64_C(0x000204C0AADFC49C), UINT64_C(0x00025CAC2599062C),
+ UINT64_C(0x00077F593DCC6037), UINT64_C(0x000D311959EB3E67),
+ UINT64_C(0x000092B89479AFDF), UINT64_C(0x0005B67AD89C4F22),
+ UINT64_C(0x0003626EAED6B185), UINT64_C(0x00067832EC55B3C6)},
+ {UINT64_C(0x000C1593CEFCECC1), UINT64_C(0x0000A4A2957784F8),
+ UINT64_C(0x00026ABBB5309788), UINT64_C(0x00074F0F59146003),
+ UINT64_C(0x000387E735C3C669), UINT64_C(0x000593E8E4DEBA0C),
+ UINT64_C(0x0002E24A801D3568), UINT64_C(0x0005256747685BDB),
+ UINT64_C(0x000013566542C53E), UINT64_C(0x00048E7E32CD1AD3)}},
+ {{UINT64_C(0x0007D4DBA5C3CC2A), UINT64_C(0x0005759B789AA3A3),
+ UINT64_C(0x0006F22E17510467), UINT64_C(0x00040F3252F7511B),
+ UINT64_C(0x000528AEF4908B9A), UINT64_C(0x000B8EAE9E5BCEE1),
+ UINT64_C(0x0006942B0FECB4DD), UINT64_C(0x00033E6A3D8BD112),
+ UINT64_C(0x0004CC49DD25E389), UINT64_C(0x000445C577D06042)},
+ {UINT64_C(0x0007C40A37BEFD01), UINT64_C(0x000730CA5186A539),
+ UINT64_C(0x0005C36B6EDBB6B6), UINT64_C(0x0004CE95B4DA9CD6),
+ UINT64_C(0x0002E2AD0BAECB4F), UINT64_C(0x0009E94D245C6F84),
+ UINT64_C(0x00073894E220EBEA), UINT64_C(0x0001E10C1571B9C0),
+ UINT64_C(0x0002A750557B17A9), UINT64_C(0x0002F468854DE098)},
+ {UINT64_C(0x0006D012DA4D1F3B), UINT64_C(0x000065FA17AAA85D),
+ UINT64_C(0x000126D6EC4C4597), UINT64_C(0x00062F36E6EDE0C7),
+ UINT64_C(0x0000B9419F244E94), UINT64_C(0x00089B6AA6EA58BD),
+ UINT64_C(0x00067307208BE7E2), UINT64_C(0x00065FD90ED40D58),
+ UINT64_C(0x0002493AE4798B62), UINT64_C(0x0005C947F9A199F6)}},
+ {{UINT64_C(0x000C9CA5529BDF08), UINT64_C(0x0006474FD3A96C71),
+ UINT64_C(0x00032737E53C8C69), UINT64_C(0x0007F1A1D1EDAE8C),
+ UINT64_C(0x0007E44ED2C4B89C), UINT64_C(0x00039AC19F0C716A),
+ UINT64_C(0x00041F9F39F47EBF), UINT64_C(0x0007591E503A89BC),
+ UINT64_C(0x0007E4B3B038BA83), UINT64_C(0x0002D77047632306)},
+ {UINT64_C(0x000E44217D6E3B7F), UINT64_C(0x00025C90B5976AEE),
+ UINT64_C(0x0001F4EF248E8C6D), UINT64_C(0x0006AF1D1868F663),
+ UINT64_C(0x000038AC35E161DE), UINT64_C(0x0006647522C34933),
+ UINT64_C(0x0005FBBBB3C26A48), UINT64_C(0x000226EA1BC6B125),
+ UINT64_C(0x000061EA27678E69), UINT64_C(0x0007204A98E37606)},
+ {UINT64_C(0x000782E217103AF0), UINT64_C(0x0005F858671BD8FE),
+ UINT64_C(0x0004929B9196468A), UINT64_C(0x0004EA71EE645DFD),
+ UINT64_C(0x00044AAB314B679F), UINT64_C(0x0000B22073C603B6),
+ UINT64_C(0x0004B1C1D90F53B3), UINT64_C(0x0000F1B4FA3F48F3),
+ UINT64_C(0x000128359405A8D0), UINT64_C(0x00007D5F6710B1AF)}},
+ {{UINT64_C(0x000306DD32F8B559), UINT64_C(0x0007C415E4D67E45),
+ UINT64_C(0x00056A49257A4333), UINT64_C(0x00018F1224742086),
+ UINT64_C(0x000542B30DD86DDC), UINT64_C(0x0001645F932983EF),
+ UINT64_C(0x0007213FC2770A7F), UINT64_C(0x0005126F605B77F9),
+ UINT64_C(0x00041CEEB5B0DE9E), UINT64_C(0x0003C305D884EC37)},
+ {UINT64_C(0x000769826ECC1E95), UINT64_C(0x00058DF57466B622),
+ UINT64_C(0x0002788C60F1A684), UINT64_C(0x00010C568F251DA8),
+ UINT64_C(0x00075B0E37E05118), UINT64_C(0x000165CB8643BF09),
+ UINT64_C(0x0006155F1C1AEE2D), UINT64_C(0x0006CF1B4EF316A8),
+ UINT64_C(0x000061E8F6B5FB5F), UINT64_C(0x0000893F44E63C16)},
+ {UINT64_C(0x000CDF32871DF406), UINT64_C(0x00078311BD087EFE),
+ UINT64_C(0x00067873B3557364), UINT64_C(0x000636BE32D35E5A),
+ UINT64_C(0x0006195801D0D6BB), UINT64_C(0x0002735B3B4EB70E),
+ UINT64_C(0x000363C1BD256DF7), UINT64_C(0x0004C37F9069C166),
+ UINT64_C(0x000706B70FC69919), UINT64_C(0x0005402BC0A1784B)}},
+ {{UINT64_C(0x000C3C3A75895A83), UINT64_C(0x0002AF5E20173369),
+ UINT64_C(0x00016058BB908BA2), UINT64_C(0x00006422CFBDCBA5),
+ UINT64_C(0x0003532C8DAA68D7), UINT64_C(0x0001718B0498E976),
+ UINT64_C(0x0001037F828D1CB5), UINT64_C(0x0004ADFBAC138E46),
+ UINT64_C(0x000264F5D9AA2DBF), UINT64_C(0x000661862DCF83A4)},
+ {UINT64_C(0x000B4401A412DE9C), UINT64_C(0x0004C413E9A0630F),
+ UINT64_C(0x0001E24FC9E6E3F3), UINT64_C(0x00077A8E0FD8D9C4),
+ UINT64_C(0x0001BC33A8CA2E97), UINT64_C(0x0008030A67A41045),
+ UINT64_C(0x00039F744B6ECFD1), UINT64_C(0x00072432DDCFFE36),
+ UINT64_C(0x0007DD91D0BBE6D8), UINT64_C(0x000078AB20170916)},
+ {UINT64_C(0x000498F6F8BD5A53), UINT64_C(0x0000D1C46916C0CF),
+ UINT64_C(0x0005F54960938342), UINT64_C(0x000447AA84AB04D2),
+ UINT64_C(0x000724A5EB675B6E), UINT64_C(0x000EA0E318325878),
+ UINT64_C(0x00066B113C4AA80B), UINT64_C(0x000253461B0BF6BE),
+ UINT64_C(0x0004DB77BC24C66A), UINT64_C(0x0001AC7EDE0A50F4)}},
+ {{UINT64_C(0x00044A5984167BC5), UINT64_C(0x0003C2E2EF77D4C4),
+ UINT64_C(0x0000B0E5F803C46E), UINT64_C(0x00036C49B84AF0A1),
+ UINT64_C(0x0000C05A8C33C661), UINT64_C(0x00096D04429DE51D),
+ UINT64_C(0x0001CD77226DEF8B), UINT64_C(0x0005AF209A481396),
+ UINT64_C(0x0004DD604CDFFC41), UINT64_C(0x0000DE719B2B2635)},
+ {UINT64_C(0x00038429D5339495), UINT64_C(0x00059B744E7203F8),
+ UINT64_C(0x00054083470E63F2), UINT64_C(0x00020168D78F5F9F),
+ UINT64_C(0x00060B7BBD5EEA39), UINT64_C(0x0006C9580366396A),
+ UINT64_C(0x00047B4DABFD7116), UINT64_C(0x00007CB92CE4EB12),
+ UINT64_C(0x000171CBBFFF880B), UINT64_C(0x00032AEA49629D50)},
+ {UINT64_C(0x0002327365257623), UINT64_C(0x0002901F27D0F318),
+ UINT64_C(0x0007EEC27D093A11), UINT64_C(0x0000C431CC4582E3),
+ UINT64_C(0x00032FC5091EC7C3), UINT64_C(0x0009F1205282C2B4),
+ UINT64_C(0x0006A99198CE7309), UINT64_C(0x000181D401A1E0EB),
+ UINT64_C(0x00000BFBAE47E38F), UINT64_C(0x0001B85974A394FD)}},
+ {{UINT64_C(0x00003D98BB92DE0A), UINT64_C(0x00012FC6BEE98813),
+ UINT64_C(0x0003C727A73BB1DB), UINT64_C(0x000594A927D8CBF4),
+ UINT64_C(0x0002F609AA953DBA), UINT64_C(0x000BFB4CF73D47D7),
+ UINT64_C(0x0006F4AC381AE6B8), UINT64_C(0x0000D2B0C81B4EFB),
+ UINT64_C(0x0005455F0C358D6D), UINT64_C(0x0000F023E512DEEE)},
+ {UINT64_C(0x00069BD7FC6E5CF7), UINT64_C(0x0002D72F5A73331E),
+ UINT64_C(0x00030CAB8A2D6416), UINT64_C(0x0001594D14FA77F2),
+ UINT64_C(0x000631869D3D020D), UINT64_C(0x00002E08CCBFD994),
+ UINT64_C(0x00046F03B754307B), UINT64_C(0x00067146A1F6ED5B),
+ UINT64_C(0x0000B02B94197421), UINT64_C(0x000751016B4BD0BC)},
+ {UINT64_C(0x000E6EFCC4EDE7FE), UINT64_C(0x0004ADD3198030A1),
+ UINT64_C(0x00047734A17278D8), UINT64_C(0x0000F92F45E7CE85),
+ UINT64_C(0x0003F6D367D00160), UINT64_C(0x000E13DFE99432BE),
+ UINT64_C(0x000187A2AF6E1412), UINT64_C(0x0006A191CEED3ACE),
+ UINT64_C(0x00058147D849A2BA), UINT64_C(0x0001BC9A9B916364)}},
+ {{UINT64_C(0x00000199D348C776), UINT64_C(0x00027B8B4CFED803),
+ UINT64_C(0x0005BF0AB8D43407), UINT64_C(0x0007B10CAF37EC50),
+ UINT64_C(0x00033B53F6C30777), UINT64_C(0x000E87F6475537F5),
+ UINT64_C(0x00001D4A155ABBCB), UINT64_C(0x0003CB17A764EA6A),
+ UINT64_C(0x00013523EE4327E1), UINT64_C(0x000753B39ECFEACE)},
+ {UINT64_C(0x00042F46C4C2845F), UINT64_C(0x000664A9551B6369),
+ UINT64_C(0x0000C9CC8349A824), UINT64_C(0x000574459D0ED534),
+ UINT64_C(0x0001A18730E01DA7), UINT64_C(0x00082CA89B83E7F8),
+ UINT64_C(0x0006AEE1395800DC), UINT64_C(0x00020195766F2D74),
+ UINT64_C(0x00027864BA955A16), UINT64_C(0x00056478A31843AB)},
+ {UINT64_C(0x0003D3FE4F04AC87), UINT64_C(0x0002E5E52E60EFDD),
+ UINT64_C(0x00060730A36559C5), UINT64_C(0x0006A427612AD123),
+ UINT64_C(0x0003A36F820D7FE6), UINT64_C(0x00089AD1F5C273D7),
+ UINT64_C(0x0002D21C3309431D), UINT64_C(0x00079250B4AEAD6F),
+ UINT64_C(0x0003F475A1168016), UINT64_C(0x000092AD39E48D5D)}},
+ {{UINT64_C(0x000C1CB7EACBBE5F), UINT64_C(0x0004783A6E7DF912),
+ UINT64_C(0x0005830AE2E3AE77), UINT64_C(0x00020AEE82D43F9A),
+ UINT64_C(0x0001F837EDBC8314), UINT64_C(0x000A1D23C74DA695),
+ UINT64_C(0x0005E6AEAC19A780), UINT64_C(0x0007852725690C30),
+ UINT64_C(0x0006807B0774F532), UINT64_C(0x00004DB69C9F9C33)},
+ {UINT64_C(0x000F824529D58522), UINT64_C(0x000241E1A2206190),
+ UINT64_C(0x0007C5225BAD2B57), UINT64_C(0x00067F90115B53BF),
+ UINT64_C(0x00066BD04E108B4E), UINT64_C(0x00033F9F0CC81B9C),
+ UINT64_C(0x0003C0A7A3FFBC22), UINT64_C(0x0002670D5CC34121),
+ UINT64_C(0x0002CF6BBD4DBD78), UINT64_C(0x000644ED07DFB2C5)},
+ {UINT64_C(0x0002A7ACB34B8F5D), UINT64_C(0x00048474BD048B62),
+ UINT64_C(0x0004D4C75CE04805), UINT64_C(0x0001DB57B655BA7F),
+ UINT64_C(0x0007755297FAB4DC), UINT64_C(0x000CBABD48415893),
+ UINT64_C(0x0006810FE1CA637E), UINT64_C(0x0000F699DDD6AC1F),
+ UINT64_C(0x000451C6EABA4EA0), UINT64_C(0x0007E1DB71EC0558)}},
+ }};
+
+/*-
+ * Q := 2P, both projective, Q and P same pointers OK
+ * Autogenerated: op3/dbl_proj_ed_eone.op3
+ * https://www.hyperelliptic.org/EFD/g1p/auto-code/twisted/extended-1/doubling/dbl-2008-hwcd.op3
+ * ASSERT: e = 1
+ */
+static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
+ /* temporary variables */
+ fe_t t0, t1, t2, t3;
+ /* constants */
+ /* set pointers for Edwards curve arith */
+ const limb_t *X = P->X;
+ const limb_t *Y = P->Y;
+ const limb_t *Z = P->Z;
+ limb_t *X3 = Q->X;
+ limb_t *Y3 = Q->Y;
+ limb_t *T3 = Q->T;
+ limb_t *Z3 = Q->Z;
+
+ /* the curve arith formula */
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(t0, X);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(t1, Y);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(t2, Z);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(t3, t2, t2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(X3, X, Y);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(Y3, X3);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(T3, Y3, t0);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(Z3, T3, t1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(Y3, t0, t1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t2, Y3, t3);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t3, t0, t1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, Z3, t2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, Z3, t3);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Z3, t2, Y3);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, Y3, t3);
+}
+
+/*-
+ * R := Q + P where R and Q are projective, P affine.
+ * R and Q same pointers OK
+ * R and P same pointers not OK
+ * Autogenerated: op3/add_mixed_ed_eone.op3
+ * https://hyperelliptic.org/EFD/g1p/auto-code/twisted/extended/addition/madd-2008-hwcd.op3
+ * ASSERT: e = 1
+ */
+static void point_add_mixed(pt_prj_t *R, const pt_prj_t *Q, const pt_aff_t *P) {
+ /* temporary variables */
+ fe_t t0, t1, t2, t3;
+ /* constants */
+ const limb_t *d = const_d;
+ /* set pointers for Edwards curve arith */
+ const limb_t *X1 = Q->X;
+ const limb_t *Y1 = Q->Y;
+ const limb_t *T1 = Q->T;
+ const limb_t *Z1 = Q->Z;
+ const limb_t *X2 = P->X;
+ const limb_t *Y2 = P->Y;
+ const limb_t *T2 = P->T;
+ limb_t *X3 = R->X;
+ limb_t *Y3 = R->Y;
+ limb_t *T3 = R->T;
+ limb_t *Z3 = R->Z;
+
+ /* the curve arith formula */
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t0, X1, X2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t1, Y1, Y2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t2, d, T2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t2, T1, t2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(X3, X1, Y1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(Y3, X2, Y2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, X3, Y3);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t3, T3, t0);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(T3, t3, t1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(t3, Z1, t2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(Z3, Z1, t2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t1, t1, t0);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, T3, Z3);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, t3, t1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, T3, t1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Z3, Z3, t3);
+}
+
+/*-
+ * R := Q + P all projective.
+ * R and Q same pointers OK
+ * R and P same pointers not OK
+ * Autogenerated: op3/add_proj_ed_eone.op3
+ * https://hyperelliptic.org/EFD/g1p/auto-code/twisted/extended/addition/add-2008-hwcd.op3
+ * ASSERT: e = 1
+ */
+static void point_add_proj(pt_prj_t *R, const pt_prj_t *Q, const pt_prj_t *P) {
+ /* temporary variables */
+ fe_t t0, t1, t2, t3;
+ /* constants */
+ const limb_t *d = const_d;
+ /* set pointers for Edwards curve arith */
+ const limb_t *X1 = Q->X;
+ const limb_t *Y1 = Q->Y;
+ const limb_t *T1 = Q->T;
+ const limb_t *Z1 = Q->Z;
+ const limb_t *X2 = P->X;
+ const limb_t *Y2 = P->Y;
+ const limb_t *T2 = P->T;
+ const limb_t *Z2 = P->Z;
+ limb_t *X3 = R->X;
+ limb_t *Y3 = R->Y;
+ limb_t *T3 = R->T;
+ limb_t *Z3 = R->Z;
+
+ /* the curve arith formula */
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t0, X1, X2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t1, Y1, Y2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t2, d, T2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t2, T1, t2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t3, Z1, Z2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(X3, X1, Y1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(Y3, X2, Y2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, X3, Y3);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(Z3, T3, t0);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(T3, Z3, t1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(Z3, t3, t2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(t3, t3, t2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t1, t1, t0);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, T3, Z3);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, t3, t1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, T3, t1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Z3, Z3, t3);
+}
+
+/*-
+ * from P projective Edwards to Q projective legacy: Q=P OK
+ * Autogenerated: op3/edwards2legacy_gost.op3
+ * https://tools.ietf.org/html/rfc7836#section-5.2
+ */
+static void point_edwards2legacy(pt_prj_t *Q, const pt_prj_t *P) {
+ /* temporary variables */
+ fe_t t0, t1;
+ /* constants */
+ const limb_t *T = const_T;
+ const limb_t *S = const_S;
+ const limb_t *X1 = P->X;
+ const limb_t *Y1 = P->Y;
+ const limb_t *Z1 = P->Z;
+ limb_t *X3 = Q->X;
+ limb_t *Y3 = Q->Y;
+ limb_t *T3 = Q->T;
+ limb_t *Z3 = Q->Z;
+
+ /* the curve arith formula */
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(t0, Z1, Y1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t1, Z1, Y1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, S, t0);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, Z1, T3);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Z3, X3, t1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t1, t1, T);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(t0, T3, t1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, X1, t0);
+}
+
+/*-
+ * from P affine legacy to Q projective Edwards: Q=P not OK
+ * Autogenerated: op3/legacy2edwards_gost.op3
+ * https://tools.ietf.org/html/rfc7836#section-5.2
+ */
+static void point_legacy2edwards(pt_prj_t *Q, const pt_aff_t *P) {
+ /* constants */
+ const limb_t *T = const_T;
+ const limb_t *S = const_S;
+ const limb_t *X1 = P->X;
+ const limb_t *Y1 = P->Y;
+ limb_t *X3 = Q->X;
+ limb_t *Y3 = Q->Y;
+ limb_t *T3 = Q->T;
+ limb_t *Z3 = Q->Z;
+
+ /* the curve arith formula */
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(T3, X1, T);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(Y3, T3, S);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, T3, Y3);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Z3, Y1, Y3);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(T3, T3, S);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, Y1, T3);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, X3, Y3);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, X3, Z3);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, Y3, Z3);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(Z3, Z3);
+}
+
+/* constants */
+#define RADIX 5
+#define DRADIX (1 << RADIX)
+#define DRADIX_WNAF ((DRADIX) << 1)
+
+/*-
+ * precomp for wnaf scalar multiplication:
+ * precomp[0] = 1P
+ * precomp[1] = 3P
+ * precomp[2] = 5P
+ * precomp[3] = 7P
+ * precomp[4] = 9P
+ * ...
+ */
+static void precomp_wnaf(pt_prj_t precomp[DRADIX / 2], const pt_aff_t *P) {
+ int i;
+
+ /* move from legacy affine to Edwards projective */
+ point_legacy2edwards(&precomp[0], P);
+ point_double(&precomp[DRADIX / 2 - 1], &precomp[0]);
+
+ for (i = 1; i < DRADIX / 2; i++)
+ point_add_proj(&precomp[i], &precomp[DRADIX / 2 - 1], &precomp[i - 1]);
+}
+
+/* fetch a scalar bit */
+static int scalar_get_bit(const unsigned char in[64], int idx) {
+ int widx, rshift;
+
+ widx = idx >> 3;
+ rshift = idx & 0x7;
+
+ if (idx < 0 || widx >= 64) return 0;
+
+ return (in[widx] >> rshift) & 0x1;
+}
+
+/*-
+ * Compute "regular" wnaf representation of a scalar.
+ * See "Exponent Recoding and Regular Exponentiation Algorithms",
+ * Tunstall et al., AfricaCrypt 2009, Alg 6.
+ * It forces an odd scalar and outputs digits in
+ * {\pm 1, \pm 3, \pm 5, \pm 7, \pm 9, ...}
+ * i.e. signed odd digits with _no zeroes_ -- that makes it "regular".
+ */
+static void scalar_rwnaf(char out[103], const unsigned char in[64]) {
+ int i;
+ char window, d;
+
+ window = (in[0] & (DRADIX_WNAF - 1)) | 1;
+ for (i = 0; i < 102; i++) {
+ d = (window & (DRADIX_WNAF - 1)) - DRADIX;
+ out[i] = d;
+ window = (window - d) >> RADIX;
+ window += scalar_get_bit(in, (i + 1) * RADIX + 1) << 1;
+ window += scalar_get_bit(in, (i + 1) * RADIX + 2) << 2;
+ window += scalar_get_bit(in, (i + 1) * RADIX + 3) << 3;
+ window += scalar_get_bit(in, (i + 1) * RADIX + 4) << 4;
+ window += scalar_get_bit(in, (i + 1) * RADIX + 5) << 5;
+ }
+ out[i] = window;
+}
+
+/*-
+ * Compute "textbook" wnaf representation of a scalar.
+ * NB: not constant time
+ */
+static void scalar_wnaf(char out[513], const unsigned char in[64]) {
+ int i;
+ char window, d;
+
+ window = in[0] & (DRADIX_WNAF - 1);
+ for (i = 0; i < 513; i++) {
+ d = 0;
+ if ((window & 1) && ((d = window & (DRADIX_WNAF - 1)) & DRADIX))
+ d -= DRADIX_WNAF;
+ out[i] = d;
+ window = (window - d) >> 1;
+ window += scalar_get_bit(in, i + 1 + RADIX) << RADIX;
+ }
+}
+
+/*-
+ * Simulateous scalar multiplication: interleaved "textbook" wnaf.
+ * NB: not constant time
+ */
+static void var_smul_wnaf_two(pt_aff_t *out, const unsigned char a[64],
+ const unsigned char b[64], const pt_aff_t *P) {
+ int i, d, is_neg, is_inf = 1, flipped = 0;
+ char anaf[513] = {0};
+ char bnaf[513] = {0};
+ pt_prj_t Q;
+ pt_prj_t precomp[DRADIX / 2];
+
+ precomp_wnaf(precomp, P);
+ scalar_wnaf(anaf, a);
+ scalar_wnaf(bnaf, b);
+
+ for (i = 512; i >= 0; i--) {
+ if (!is_inf) point_double(&Q, &Q);
+ if ((d = bnaf[i])) {
+ if ((is_neg = d < 0) != flipped) {
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.X, Q.X);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.T, Q.T);
+ flipped ^= 1;
+ }
+ d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
+ if (is_inf) {
+ /* initialize accumulator */
+ fe_copy(Q.X, &precomp[d].X);
+ fe_copy(Q.Y, &precomp[d].Y);
+ fe_copy(Q.T, &precomp[d].T);
+ fe_copy(Q.Z, &precomp[d].Z);
+ is_inf = 0;
+ } else
+ point_add_proj(&Q, &Q, &precomp[d]);
+ }
+ if ((d = anaf[i])) {
+ if ((is_neg = d < 0) != flipped) {
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.X, Q.X);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.T, Q.T);
+ flipped ^= 1;
+ }
+ d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
+ if (is_inf) {
+ /* initialize accumulator */
+ fe_copy(Q.X, &lut_cmb[0][d].X);
+ fe_copy(Q.Y, &lut_cmb[0][d].Y);
+ fe_copy(Q.T, &lut_cmb[0][d].T);
+ fe_copy(Q.Z, const_one);
+ is_inf = 0;
+ } else
+ point_add_mixed(&Q, &Q, &lut_cmb[0][d]);
+ }
+ }
+
+ if (is_inf) {
+ /* initialize accumulator to inf: all-zero scalars */
+ fe_set_zero(Q.X);
+ fe_copy(Q.Y, const_one);
+ fe_set_zero(Q.T);
+ fe_copy(Q.Z, const_one);
+ }
+
+ if (flipped) {
+ /* correct sign */
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.X, Q.X);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.T, Q.T);
+ }
+
+ /* move from Edwards projective to legacy projective */
+ point_edwards2legacy(&Q, &Q);
+ /* convert to affine -- NB depends on coordinate system */
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_inv(Q.Z, Q.Z);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->X, Q.X, Q.Z);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->Y, Q.Y, Q.Z);
+}
+
+/*-
+ * Variable point scalar multiplication with "regular" wnaf.
+ */
+static void var_smul_rwnaf(pt_aff_t *out, const unsigned char scalar[64],
+ const pt_aff_t *P) {
+ int i, j, d, diff, is_neg;
+ char rnaf[103] = {0};
+ pt_prj_t Q, lut;
+ pt_prj_t precomp[DRADIX / 2];
+
+ precomp_wnaf(precomp, P);
+ scalar_rwnaf(rnaf, scalar);
+
+#if defined(_MSC_VER)
+ /* result still unsigned: yes we know */
+#pragma warning(push)
+#pragma warning(disable : 4146)
+#endif
+
+ /* initialize accumulator to high digit */
+ d = (rnaf[102] - 1) >> 1;
+ for (j = 0; j < DRADIX / 2; j++) {
+ diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.X, diff, Q.X,
+ precomp[j].X);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Y, diff, Q.Y,
+ precomp[j].Y);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.T, diff, Q.T,
+ precomp[j].T);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Z, diff, Q.Z,
+ precomp[j].Z);
+ }
+
+ for (i = 101; i >= 0; i--) {
+ for (j = 0; j < RADIX; j++) point_double(&Q, &Q);
+ d = rnaf[i];
+ /* is_neg = (d < 0) ? 1 : 0 */
+ is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
+ /* d = abs(d) */
+ d = (d ^ -is_neg) + is_neg;
+ d = (d - 1) >> 1;
+ for (j = 0; j < DRADIX / 2; j++) {
+ diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
+ lut.X, diff, lut.X, precomp[j].X);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
+ lut.Y, diff, lut.Y, precomp[j].Y);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
+ lut.T, diff, lut.T, precomp[j].T);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
+ lut.Z, diff, lut.Z, precomp[j].Z);
+ }
+ /* negate lut point if digit is negative */
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(out->X, lut.X);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(out->T, lut.T);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(lut.X, is_neg,
+ lut.X, out->X);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(lut.T, is_neg,
+ lut.T, out->T);
+ point_add_proj(&Q, &Q, &lut);
+ }
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
+
+ /* conditionally subtract P if the scalar was even */
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(lut.X, precomp[0].X);
+ fe_copy(lut.Y, precomp[0].Y);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(lut.T, precomp[0].T);
+ fe_copy(lut.Z, precomp[0].Z);
+ point_add_proj(&lut, &lut, &Q);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.X, scalar[0] & 1,
+ lut.X, Q.X);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Y, scalar[0] & 1,
+ lut.Y, Q.Y);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.T, scalar[0] & 1,
+ lut.T, Q.T);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Z, scalar[0] & 1,
+ lut.Z, Q.Z);
+
+ /* move from Edwards projective to legacy projective */
+ point_edwards2legacy(&Q, &Q);
+ /* convert to affine -- NB depends on coordinate system */
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_inv(Q.Z, Q.Z);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->X, Q.X, Q.Z);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->Y, Q.Y, Q.Z);
+}
+
+/*-
+ * Fixed scalar multiplication: comb with interleaving.
+ */
+static void fixed_smul_cmb(pt_aff_t *out, const unsigned char scalar[64]) {
+ int i, j, k, d, diff, is_neg = 0;
+ char rnaf[103] = {0};
+ pt_prj_t Q, R;
+ pt_aff_t lut;
+
+ scalar_rwnaf(rnaf, scalar);
+
+ /* initalize accumulator to inf */
+ fe_set_zero(Q.X);
+ fe_copy(Q.Y, const_one);
+ fe_set_zero(Q.T);
+ fe_copy(Q.Z, const_one);
+
+#if defined(_MSC_VER)
+ /* result still unsigned: yes we know */
+#pragma warning(push)
+#pragma warning(disable : 4146)
+#endif
+
+ for (i = 14; i >= 0; i--) {
+ for (j = 0; i != 14 && j < RADIX; j++) point_double(&Q, &Q);
+ for (j = 0; j < 8; j++) {
+ if (j * 15 + i > 102) continue;
+ d = rnaf[j * 15 + i];
+ /* is_neg = (d < 0) ? 1 : 0 */
+ is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
+ /* d = abs(d) */
+ d = (d ^ -is_neg) + is_neg;
+ d = (d - 1) >> 1;
+ for (k = 0; k < DRADIX / 2; k++) {
+ diff = (1 - (-(d ^ k) >> (8 * sizeof(int) - 1))) & 1;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
+ lut.X, diff, lut.X, lut_cmb[j][k].X);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
+ lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
+ lut.T, diff, lut.T, lut_cmb[j][k].T);
+ }
+ /* negate lut point if digit is negative */
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(out->X, lut.X);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(out->T, lut.T);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(lut.X, is_neg,
+ lut.X, out->X);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(lut.T, is_neg,
+ lut.T, out->T);
+ point_add_mixed(&Q, &Q, &lut);
+ }
+ }
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
+
+ /* conditionally subtract P if the scalar was even */
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(lut.X, lut_cmb[0][0].X);
+ fe_copy(lut.Y, lut_cmb[0][0].Y);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(lut.T, lut_cmb[0][0].T);
+ point_add_mixed(&R, &Q, &lut);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.X, scalar[0] & 1, R.X,
+ Q.X);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Y, scalar[0] & 1, R.Y,
+ Q.Y);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.T, scalar[0] & 1, R.T,
+ Q.T);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Z, scalar[0] & 1, R.Z,
+ Q.Z);
+
+ /* move from Edwards projective to legacy projective */
+ point_edwards2legacy(&Q, &Q);
+ /* convert to affine -- NB depends on coordinate system */
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_inv(Q.Z, Q.Z);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->X, Q.X, Q.Z);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->Y, Q.Y, Q.Z);
+}
+
+static void point_mul_two(unsigned char outx[64], unsigned char outy[64],
+ const unsigned char a[64], const unsigned char b[64],
+ const unsigned char inx[64],
+ const unsigned char iny[64]) {
+ pt_aff_t P;
+
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes(P.X, inx);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes(P.Y, iny);
+ /* simultaneous scalar multiplication */
+ var_smul_wnaf_two(&P, a, b, &P);
+
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outx, P.X);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outy, P.Y);
+}
+
+static void point_mul_g(unsigned char outx[64], unsigned char outy[64],
+ const unsigned char scalar[64]) {
+ pt_aff_t P;
+
+ /* fixed scmul function */
+ fixed_smul_cmb(&P, scalar);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outx, P.X);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outy, P.Y);
+}
+
+static void point_mul(unsigned char outx[64], unsigned char outy[64],
+ const unsigned char scalar[64],
+ const unsigned char inx[64],
+ const unsigned char iny[64]) {
+ pt_aff_t P;
+
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes(P.X, inx);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes(P.Y, iny);
+ /* var scmul function */
+ var_smul_rwnaf(&P, scalar, &P);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outx, P.X);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outy, P.Y);
+}
+
+#include <openssl/ec.h>
+
+static const unsigned char const_zb[64] = {0};
+
+ int
+ point_mul_two_id_tc26_gost_3410_2012_512_paramSetC(
+ const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, const EC_POINT *q,
+ const BIGNUM *m, BN_CTX *ctx) {
+ int ret = 0;
+ unsigned char b_x[64];
+ unsigned char b_y[64];
+ unsigned char b_n[64];
+ unsigned char b_m[64];
+ BIGNUM *x = NULL, *y = NULL;
+
+ BN_CTX_start(ctx);
+ x = BN_CTX_get(ctx);
+ if ((y = BN_CTX_get(ctx)) == NULL
+ /* pull out coords as bytes */
+ || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
+ BN_bn2lebinpad(x, b_x, 64) != 64 || BN_bn2lebinpad(y, b_y, 64) != 64 ||
+ BN_bn2lebinpad(n, b_n, 64) != 64 || BN_bn2lebinpad(m, b_m, 64) != 64)
+ goto err;
+ /* do the simultaneous scalar multiplication */
+ point_mul_two(b_x, b_y, b_n, b_m, b_x, b_y);
+ /* check for infinity */
+ if (CRYPTO_memcmp(const_zb, b_x, 64) == 0 &&
+ CRYPTO_memcmp(const_zb, b_y, 64) == 0) {
+ if (!EC_POINT_set_to_infinity(group, r)) goto err;
+ } else {
+ /* otherwise, pack the bytes into the result */
+ if (BN_lebin2bn(b_x, 64, x) == NULL ||
+ BN_lebin2bn(b_y, 64, y) == NULL ||
+ !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
+ goto err;
+ }
+ ret = 1;
+err:
+ BN_CTX_end(ctx);
+ return ret;
+}
+
+ int
+ point_mul_id_tc26_gost_3410_2012_512_paramSetC(const EC_GROUP *group,
+ EC_POINT *r,
+ const EC_POINT *q,
+ const BIGNUM *m,
+ BN_CTX *ctx) {
+ int ret = 0;
+ unsigned char b_x[64];
+ unsigned char b_y[64];
+ unsigned char b_m[64];
+ BIGNUM *x = NULL, *y = NULL;
+
+ BN_CTX_start(ctx);
+ x = BN_CTX_get(ctx);
+ if ((y = BN_CTX_get(ctx)) == NULL
+ /* pull out coords as bytes */
+ || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
+ BN_bn2lebinpad(x, b_x, 64) != 64 || BN_bn2lebinpad(y, b_y, 64) != 64 ||
+ BN_bn2lebinpad(m, b_m, 64) != 64)
+ goto err;
+ /* do the variable scalar multiplication */
+ point_mul(b_x, b_y, b_m, b_x, b_y);
+ /* check for infinity */
+ if (CRYPTO_memcmp(const_zb, b_x, 64) == 0 &&
+ CRYPTO_memcmp(const_zb, b_y, 64) == 0) {
+ if (!EC_POINT_set_to_infinity(group, r)) goto err;
+ } else {
+ /* otherwise, pack the bytes into the result */
+ if (BN_lebin2bn(b_x, 64, x) == NULL ||
+ BN_lebin2bn(b_y, 64, y) == NULL ||
+ !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
+ goto err;
+ }
+ ret = 1;
+err:
+ BN_CTX_end(ctx);
+ return ret;
+}
+
+ int
+ point_mul_g_id_tc26_gost_3410_2012_512_paramSetC(const EC_GROUP *group,
+ EC_POINT *r,
+ const BIGNUM *n,
+ BN_CTX *ctx) {
+ int ret = 0;
+ unsigned char b_x[64];
+ unsigned char b_y[64];
+ unsigned char b_n[64];
+ BIGNUM *x = NULL, *y = NULL;
+
+ BN_CTX_start(ctx);
+ x = BN_CTX_get(ctx);
+ if ((y = BN_CTX_get(ctx)) == NULL || BN_bn2lebinpad(n, b_n, 64) != 64)
+ goto err;
+ /* do the fixed scalar multiplication */
+ point_mul_g(b_x, b_y, b_n);
+ /* check for infinity */
+ if (CRYPTO_memcmp(const_zb, b_x, 64) == 0 &&
+ CRYPTO_memcmp(const_zb, b_y, 64) == 0) {
+ if (!EC_POINT_set_to_infinity(group, r)) goto err;
+ } else {
+ /* otherwise, pack the bytes into the result */
+ if (BN_lebin2bn(b_x, 64, x) == NULL ||
+ BN_lebin2bn(b_y, 64, y) == NULL ||
+ !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
+ goto err;
+ }
+ ret = 1;
+err:
+ BN_CTX_end(ctx);
+ return ret;
+}
+
+
+
+#else /* __SIZEOF_INT128__ */
+
+#include <stdint.h>
+#include <string.h>
+#define LIMB_BITS 32
+#define LIMB_CNT 23
+/* Field elements */
+typedef uint32_t fe_t[LIMB_CNT];
+typedef uint32_t limb_t;
+
+#define fe_copy(d, s) memcpy(d, s, sizeof(fe_t))
+#define fe_set_zero(d) memset(d, 0, sizeof(fe_t))
+
+#define fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(c, a, b) \
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_add(c, a, b); \
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry(c, c)
+#define fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(c, a, b) \
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_sub(c, a, b); \
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry(c, c)
+
+/* Projective points */
+typedef struct {
+ fe_t X;
+ fe_t Y;
+ fe_t T;
+ fe_t Z;
+} pt_prj_t;
+
+/* Affine points */
+typedef struct {
+ fe_t X;
+ fe_t Y;
+ fe_t T;
+} pt_aff_t;
+
+/* BEGIN verbatim fiat code https://github.com/mit-plv/fiat-crypto */
+/*-
+ * MIT License
+ *
+ * Copyright (c) 2020 the fiat-crypto authors (see the AUTHORS file)
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+/* Autogenerated: unsaturated_solinas --static id_tc26_gost_3410_2012_512_paramSetC 32 '(auto)' '2^512 - 569' */
+/* curve description: id_tc26_gost_3410_2012_512_paramSetC */
+/* machine_wordsize = 32 (from "32") */
+/* requested operations: (all) */
+/* n = 23 (from "(auto)") */
+/* s-c = 2^512 - [(1, 569)] (from "2^512 - 569") */
+/* tight_bounds_multiplier = 1.1 (from "") */
+/* */
+/* Computed values: */
+/* carry_chain = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 0, 1] */
+/* eval z = z[0] + (z[1] << 23) + (z[2] << 45) + (z[3] << 67) + (z[4] << 90) + (z[5] << 112) + (z[6] << 134) + (z[7] << 156) + (z[8] << 179) + (z[9] << 201) + (z[10] << 223) + (z[11] << 245) + (z[12] << 0x10c) + (z[13] << 0x122) + (z[14] << 0x138) + (z[15] << 0x14e) + (z[16] << 0x165) + (z[17] << 0x17b) + (z[18] << 0x191) + (z[19] << 0x1a7) + (z[20] << 0x1be) + (z[21] << 0x1d4) + (z[22] << 0x1ea) */
+/* bytes_eval z = z[0] + (z[1] << 8) + (z[2] << 16) + (z[3] << 24) + (z[4] << 32) + (z[5] << 40) + (z[6] << 48) + (z[7] << 56) + (z[8] << 64) + (z[9] << 72) + (z[10] << 80) + (z[11] << 88) + (z[12] << 96) + (z[13] << 104) + (z[14] << 112) + (z[15] << 120) + (z[16] << 128) + (z[17] << 136) + (z[18] << 144) + (z[19] << 152) + (z[20] << 160) + (z[21] << 168) + (z[22] << 176) + (z[23] << 184) + (z[24] << 192) + (z[25] << 200) + (z[26] << 208) + (z[27] << 216) + (z[28] << 224) + (z[29] << 232) + (z[30] << 240) + (z[31] << 248) + (z[32] << 256) + (z[33] << 0x108) + (z[34] << 0x110) + (z[35] << 0x118) + (z[36] << 0x120) + (z[37] << 0x128) + (z[38] << 0x130) + (z[39] << 0x138) + (z[40] << 0x140) + (z[41] << 0x148) + (z[42] << 0x150) + (z[43] << 0x158) + (z[44] << 0x160) + (z[45] << 0x168) + (z[46] << 0x170) + (z[47] << 0x178) + (z[48] << 0x180) + (z[49] << 0x188) + (z[50] << 0x190) + (z[51] << 0x198) + (z[52] << 0x1a0) + (z[53] << 0x1a8) + (z[54] << 0x1b0) + (z[55] << 0x1b8) + (z[56] << 0x1c0) + (z[57] << 0x1c8) + (z[58] << 0x1d0) + (z[59] << 0x1d8) + (z[60] << 0x1e0) + (z[61] << 0x1e8) + (z[62] << 0x1f0) + (z[63] << 0x1f8) */
+
+#include <stdint.h>
+typedef unsigned char fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1;
+typedef signed char fiat_id_tc26_gost_3410_2012_512_paramSetC_int1;
+
+#if (-1 & 3) != 3
+#error "This code only works on a two's complement system"
+#endif
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22 is an addition with carry.
+ * Postconditions:
+ * out1 = (arg1 + arg2 + arg3) mod 2^22
+ * out2 = ⌊(arg1 + arg2 + arg3) / 2^22⌋
+ *
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0x3fffff]
+ * arg3: [0x0 ~> 0x3fffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0x3fffff]
+ * out2: [0x0 ~> 0x1]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
+ uint32_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 *out2,
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1, uint32_t arg2,
+ uint32_t arg3) {
+ uint32_t x1;
+ uint32_t x2;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x3;
+ x1 = ((arg1 + arg2) + arg3);
+ x2 = (x1 & UINT32_C(0x3fffff));
+ x3 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x1 >> 22);
+ *out1 = x2;
+ *out2 = x3;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22 is a subtraction with borrow.
+ * Postconditions:
+ * out1 = (-arg1 + arg2 + -arg3) mod 2^22
+ * out2 = -⌊(-arg1 + arg2 + -arg3) / 2^22⌋
+ *
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0x3fffff]
+ * arg3: [0x0 ~> 0x3fffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0x3fffff]
+ * out2: [0x0 ~> 0x1]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
+ uint32_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 *out2,
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1, uint32_t arg2,
+ uint32_t arg3) {
+ int32_t x1;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_int1 x2;
+ uint32_t x3;
+ x1 = ((int32_t)(arg2 - arg1) - (int32_t)arg3);
+ x2 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_int1)(x1 >> 22);
+ x3 = (x1 & UINT32_C(0x3fffff));
+ *out1 = x3;
+ *out2 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(0x0 - x2);
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u23 is an addition with carry.
+ * Postconditions:
+ * out1 = (arg1 + arg2 + arg3) mod 2^23
+ * out2 = ⌊(arg1 + arg2 + arg3) / 2^23⌋
+ *
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0x7fffff]
+ * arg3: [0x0 ~> 0x7fffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0x7fffff]
+ * out2: [0x0 ~> 0x1]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u23(
+ uint32_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 *out2,
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1, uint32_t arg2,
+ uint32_t arg3) {
+ uint32_t x1;
+ uint32_t x2;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x3;
+ x1 = ((arg1 + arg2) + arg3);
+ x2 = (x1 & UINT32_C(0x7fffff));
+ x3 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x1 >> 23);
+ *out1 = x2;
+ *out2 = x3;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u23 is a subtraction with borrow.
+ * Postconditions:
+ * out1 = (-arg1 + arg2 + -arg3) mod 2^23
+ * out2 = -⌊(-arg1 + arg2 + -arg3) / 2^23⌋
+ *
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0x7fffff]
+ * arg3: [0x0 ~> 0x7fffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0x7fffff]
+ * out2: [0x0 ~> 0x1]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u23(
+ uint32_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 *out2,
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1, uint32_t arg2,
+ uint32_t arg3) {
+ int32_t x1;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_int1 x2;
+ uint32_t x3;
+ x1 = ((int32_t)(arg2 - arg1) - (int32_t)arg3);
+ x2 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_int1)(x1 >> 23);
+ x3 = (x1 & UINT32_C(0x7fffff));
+ *out1 = x3;
+ *out2 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(0x0 - x2);
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32 is a single-word conditional move.
+ * Postconditions:
+ * out1 = (if arg1 = 0 then arg2 else arg3)
+ *
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0xffffffff]
+ * arg3: [0x0 ~> 0xffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffff]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
+ uint32_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1,
+ uint32_t arg2, uint32_t arg3) {
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x1;
+ uint32_t x2;
+ uint32_t x3;
+ x1 = (!(!arg1));
+ x2 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_int1)(0x0 - x1) &
+ UINT32_C(0xffffffff));
+ x3 = ((x2 & arg3) | ((~x2) & arg2));
+ *out1 = x3;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul multiplies two field elements and reduces the result.
+ * Postconditions:
+ * eval out1 mod m = (eval arg1 * eval arg2) mod m
+ *
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332]]
+ * arg2: [[0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(
+ uint32_t out1[23], const uint32_t arg1[23], const uint32_t arg2[23]) {
+ uint64_t x1;
+ uint64_t x2;
+ uint64_t x3;
+ uint64_t x4;
+ uint64_t x5;
+ uint64_t x6;
+ uint64_t x7;
+ uint64_t x8;
+ uint64_t x9;
+ uint64_t x10;
+ uint64_t x11;
+ uint64_t x12;
+ uint64_t x13;
+ uint64_t x14;
+ uint64_t x15;
+ uint64_t x16;
+ uint64_t x17;
+ uint64_t x18;
+ uint64_t x19;
+ uint64_t x20;
+ uint64_t x21;
+ uint64_t x22;
+ uint64_t x23;
+ uint64_t x24;
+ uint64_t x25;
+ uint64_t x26;
+ uint64_t x27;
+ uint64_t x28;
+ uint64_t x29;
+ uint64_t x30;
+ uint64_t x31;
+ uint64_t x32;
+ uint64_t x33;
+ uint64_t x34;
+ uint64_t x35;
+ uint64_t x36;
+ uint64_t x37;
+ uint64_t x38;
+ uint64_t x39;
+ uint64_t x40;
+ uint64_t x41;
+ uint64_t x42;
+ uint64_t x43;
+ uint64_t x44;
+ uint64_t x45;
+ uint64_t x46;
+ uint64_t x47;
+ uint64_t x48;
+ uint64_t x49;
+ uint64_t x50;
+ uint64_t x51;
+ uint64_t x52;
+ uint64_t x53;
+ uint64_t x54;
+ uint64_t x55;
+ uint64_t x56;
+ uint64_t x57;
+ uint64_t x58;
+ uint64_t x59;
+ uint64_t x60;
+ uint64_t x61;
+ uint64_t x62;
+ uint64_t x63;
+ uint64_t x64;
+ uint64_t x65;
+ uint64_t x66;
+ uint64_t x67;
+ uint64_t x68;
+ uint64_t x69;
+ uint64_t x70;
+ uint64_t x71;
+ uint64_t x72;
+ uint64_t x73;
+ uint64_t x74;
+ uint64_t x75;
+ uint64_t x76;
+ uint64_t x77;
+ uint64_t x78;
+ uint64_t x79;
+ uint64_t x80;
+ uint64_t x81;
+ uint64_t x82;
+ uint64_t x83;
+ uint64_t x84;
+ uint64_t x85;
+ uint64_t x86;
+ uint64_t x87;
+ uint64_t x88;
+ uint64_t x89;
+ uint64_t x90;
+ uint64_t x91;
+ uint64_t x92;
+ uint64_t x93;
+ uint64_t x94;
+ uint64_t x95;
+ uint64_t x96;
+ uint64_t x97;
+ uint64_t x98;
+ uint64_t x99;
+ uint64_t x100;
+ uint64_t x101;
+ uint64_t x102;
+ uint64_t x103;
+ uint64_t x104;
+ uint64_t x105;
+ uint64_t x106;
+ uint64_t x107;
+ uint64_t x108;
+ uint64_t x109;
+ uint64_t x110;
+ uint64_t x111;
+ uint64_t x112;
+ uint64_t x113;
+ uint64_t x114;
+ uint64_t x115;
+ uint64_t x116;
+ uint64_t x117;
+ uint64_t x118;
+ uint64_t x119;
+ uint64_t x120;
+ uint64_t x121;
+ uint64_t x122;
+ uint64_t x123;
+ uint64_t x124;
+ uint64_t x125;
+ uint64_t x126;
+ uint64_t x127;
+ uint64_t x128;
+ uint64_t x129;
+ uint64_t x130;
+ uint64_t x131;
+ uint64_t x132;
+ uint64_t x133;
+ uint64_t x134;
+ uint64_t x135;
+ uint64_t x136;
+ uint64_t x137;
+ uint64_t x138;
+ uint64_t x139;
+ uint64_t x140;
+ uint64_t x141;
+ uint64_t x142;
+ uint64_t x143;
+ uint64_t x144;
+ uint64_t x145;
+ uint64_t x146;
+ uint64_t x147;
+ uint64_t x148;
+ uint64_t x149;
+ uint64_t x150;
+ uint64_t x151;
+ uint64_t x152;
+ uint64_t x153;
+ uint64_t x154;
+ uint64_t x155;
+ uint64_t x156;
+ uint64_t x157;
+ uint64_t x158;
+ uint64_t x159;
+ uint64_t x160;
+ uint64_t x161;
+ uint64_t x162;
+ uint64_t x163;
+ uint64_t x164;
+ uint64_t x165;
+ uint64_t x166;
+ uint64_t x167;
+ uint64_t x168;
+ uint64_t x169;
+ uint64_t x170;
+ uint64_t x171;
+ uint64_t x172;
+ uint64_t x173;
+ uint64_t x174;
+ uint64_t x175;
+ uint64_t x176;
+ uint64_t x177;
+ uint64_t x178;
+ uint64_t x179;
+ uint64_t x180;
+ uint64_t x181;
+ uint64_t x182;
+ uint64_t x183;
+ uint64_t x184;
+ uint64_t x185;
+ uint64_t x186;
+ uint64_t x187;
+ uint64_t x188;
+ uint64_t x189;
+ uint64_t x190;
+ uint64_t x191;
+ uint64_t x192;
+ uint64_t x193;
+ uint64_t x194;
+ uint64_t x195;
+ uint64_t x196;
+ uint64_t x197;
+ uint64_t x198;
+ uint64_t x199;
+ uint64_t x200;
+ uint64_t x201;
+ uint64_t x202;
+ uint64_t x203;
+ uint64_t x204;
+ uint64_t x205;
+ uint64_t x206;
+ uint64_t x207;
+ uint64_t x208;
+ uint64_t x209;
+ uint64_t x210;
+ uint64_t x211;
+ uint64_t x212;
+ uint64_t x213;
+ uint64_t x214;
+ uint64_t x215;
+ uint64_t x216;
+ uint64_t x217;
+ uint64_t x218;
+ uint64_t x219;
+ uint64_t x220;
+ uint64_t x221;
+ uint64_t x222;
+ uint64_t x223;
+ uint64_t x224;
+ uint64_t x225;
+ uint64_t x226;
+ uint64_t x227;
+ uint64_t x228;
+ uint64_t x229;
+ uint64_t x230;
+ uint64_t x231;
+ uint64_t x232;
+ uint64_t x233;
+ uint64_t x234;
+ uint64_t x235;
+ uint64_t x236;
+ uint64_t x237;
+ uint64_t x238;
+ uint64_t x239;
+ uint64_t x240;
+ uint64_t x241;
+ uint64_t x242;
+ uint64_t x243;
+ uint64_t x244;
+ uint64_t x245;
+ uint64_t x246;
+ uint64_t x247;
+ uint64_t x248;
+ uint64_t x249;
+ uint64_t x250;
+ uint64_t x251;
+ uint64_t x252;
+ uint64_t x253;
+ uint64_t x254;
+ uint64_t x255;
+ uint64_t x256;
+ uint64_t x257;
+ uint64_t x258;
+ uint64_t x259;
+ uint64_t x260;
+ uint64_t x261;
+ uint64_t x262;
+ uint64_t x263;
+ uint64_t x264;
+ uint64_t x265;
+ uint64_t x266;
+ uint64_t x267;
+ uint64_t x268;
+ uint64_t x269;
+ uint64_t x270;
+ uint64_t x271;
+ uint64_t x272;
+ uint64_t x273;
+ uint64_t x274;
+ uint64_t x275;
+ uint64_t x276;
+ uint64_t x277;
+ uint64_t x278;
+ uint64_t x279;
+ uint64_t x280;
+ uint64_t x281;
+ uint64_t x282;
+ uint64_t x283;
+ uint64_t x284;
+ uint64_t x285;
+ uint64_t x286;
+ uint64_t x287;
+ uint64_t x288;
+ uint64_t x289;
+ uint64_t x290;
+ uint64_t x291;
+ uint64_t x292;
+ uint64_t x293;
+ uint64_t x294;
+ uint64_t x295;
+ uint64_t x296;
+ uint64_t x297;
+ uint64_t x298;
+ uint64_t x299;
+ uint64_t x300;
+ uint64_t x301;
+ uint64_t x302;
+ uint64_t x303;
+ uint64_t x304;
+ uint64_t x305;
+ uint64_t x306;
+ uint64_t x307;
+ uint64_t x308;
+ uint64_t x309;
+ uint64_t x310;
+ uint64_t x311;
+ uint64_t x312;
+ uint64_t x313;
+ uint64_t x314;
+ uint64_t x315;
+ uint64_t x316;
+ uint64_t x317;
+ uint64_t x318;
+ uint64_t x319;
+ uint64_t x320;
+ uint64_t x321;
+ uint64_t x322;
+ uint64_t x323;
+ uint64_t x324;
+ uint64_t x325;
+ uint64_t x326;
+ uint64_t x327;
+ uint64_t x328;
+ uint64_t x329;
+ uint64_t x330;
+ uint64_t x331;
+ uint64_t x332;
+ uint64_t x333;
+ uint64_t x334;
+ uint64_t x335;
+ uint64_t x336;
+ uint64_t x337;
+ uint64_t x338;
+ uint64_t x339;
+ uint64_t x340;
+ uint64_t x341;
+ uint64_t x342;
+ uint64_t x343;
+ uint64_t x344;
+ uint64_t x345;
+ uint64_t x346;
+ uint64_t x347;
+ uint64_t x348;
+ uint64_t x349;
+ uint64_t x350;
+ uint64_t x351;
+ uint64_t x352;
+ uint64_t x353;
+ uint64_t x354;
+ uint64_t x355;
+ uint64_t x356;
+ uint64_t x357;
+ uint64_t x358;
+ uint64_t x359;
+ uint64_t x360;
+ uint64_t x361;
+ uint64_t x362;
+ uint64_t x363;
+ uint64_t x364;
+ uint64_t x365;
+ uint64_t x366;
+ uint64_t x367;
+ uint64_t x368;
+ uint64_t x369;
+ uint64_t x370;
+ uint64_t x371;
+ uint64_t x372;
+ uint64_t x373;
+ uint64_t x374;
+ uint64_t x375;
+ uint64_t x376;
+ uint64_t x377;
+ uint64_t x378;
+ uint64_t x379;
+ uint64_t x380;
+ uint64_t x381;
+ uint64_t x382;
+ uint64_t x383;
+ uint64_t x384;
+ uint64_t x385;
+ uint64_t x386;
+ uint64_t x387;
+ uint64_t x388;
+ uint64_t x389;
+ uint64_t x390;
+ uint64_t x391;
+ uint64_t x392;
+ uint64_t x393;
+ uint64_t x394;
+ uint64_t x395;
+ uint64_t x396;
+ uint64_t x397;
+ uint64_t x398;
+ uint64_t x399;
+ uint64_t x400;
+ uint64_t x401;
+ uint64_t x402;
+ uint64_t x403;
+ uint64_t x404;
+ uint64_t x405;
+ uint64_t x406;
+ uint64_t x407;
+ uint64_t x408;
+ uint64_t x409;
+ uint64_t x410;
+ uint64_t x411;
+ uint64_t x412;
+ uint64_t x413;
+ uint64_t x414;
+ uint64_t x415;
+ uint64_t x416;
+ uint64_t x417;
+ uint64_t x418;
+ uint64_t x419;
+ uint64_t x420;
+ uint64_t x421;
+ uint64_t x422;
+ uint64_t x423;
+ uint64_t x424;
+ uint64_t x425;
+ uint64_t x426;
+ uint64_t x427;
+ uint64_t x428;
+ uint64_t x429;
+ uint64_t x430;
+ uint64_t x431;
+ uint64_t x432;
+ uint64_t x433;
+ uint64_t x434;
+ uint64_t x435;
+ uint64_t x436;
+ uint64_t x437;
+ uint64_t x438;
+ uint64_t x439;
+ uint64_t x440;
+ uint64_t x441;
+ uint64_t x442;
+ uint64_t x443;
+ uint64_t x444;
+ uint64_t x445;
+ uint64_t x446;
+ uint64_t x447;
+ uint64_t x448;
+ uint64_t x449;
+ uint64_t x450;
+ uint64_t x451;
+ uint64_t x452;
+ uint64_t x453;
+ uint64_t x454;
+ uint64_t x455;
+ uint64_t x456;
+ uint64_t x457;
+ uint64_t x458;
+ uint64_t x459;
+ uint64_t x460;
+ uint64_t x461;
+ uint64_t x462;
+ uint64_t x463;
+ uint64_t x464;
+ uint64_t x465;
+ uint64_t x466;
+ uint64_t x467;
+ uint64_t x468;
+ uint64_t x469;
+ uint64_t x470;
+ uint64_t x471;
+ uint64_t x472;
+ uint64_t x473;
+ uint64_t x474;
+ uint64_t x475;
+ uint64_t x476;
+ uint64_t x477;
+ uint64_t x478;
+ uint64_t x479;
+ uint64_t x480;
+ uint64_t x481;
+ uint64_t x482;
+ uint64_t x483;
+ uint64_t x484;
+ uint64_t x485;
+ uint64_t x486;
+ uint64_t x487;
+ uint64_t x488;
+ uint64_t x489;
+ uint64_t x490;
+ uint64_t x491;
+ uint64_t x492;
+ uint64_t x493;
+ uint64_t x494;
+ uint64_t x495;
+ uint64_t x496;
+ uint64_t x497;
+ uint64_t x498;
+ uint64_t x499;
+ uint64_t x500;
+ uint64_t x501;
+ uint64_t x502;
+ uint64_t x503;
+ uint64_t x504;
+ uint64_t x505;
+ uint64_t x506;
+ uint64_t x507;
+ uint64_t x508;
+ uint64_t x509;
+ uint64_t x510;
+ uint64_t x511;
+ uint64_t x512;
+ uint64_t x513;
+ uint64_t x514;
+ uint64_t x515;
+ uint64_t x516;
+ uint64_t x517;
+ uint64_t x518;
+ uint64_t x519;
+ uint64_t x520;
+ uint64_t x521;
+ uint64_t x522;
+ uint64_t x523;
+ uint64_t x524;
+ uint64_t x525;
+ uint64_t x526;
+ uint64_t x527;
+ uint64_t x528;
+ uint64_t x529;
+ uint64_t x530;
+ uint64_t x531;
+ uint32_t x532;
+ uint64_t x533;
+ uint64_t x534;
+ uint64_t x535;
+ uint64_t x536;
+ uint64_t x537;
+ uint64_t x538;
+ uint64_t x539;
+ uint64_t x540;
+ uint64_t x541;
+ uint64_t x542;
+ uint64_t x543;
+ uint64_t x544;
+ uint64_t x545;
+ uint64_t x546;
+ uint64_t x547;
+ uint64_t x548;
+ uint64_t x549;
+ uint64_t x550;
+ uint64_t x551;
+ uint64_t x552;
+ uint64_t x553;
+ uint64_t x554;
+ uint64_t x555;
+ uint64_t x556;
+ uint32_t x557;
+ uint64_t x558;
+ uint64_t x559;
+ uint32_t x560;
+ uint64_t x561;
+ uint64_t x562;
+ uint32_t x563;
+ uint64_t x564;
+ uint64_t x565;
+ uint32_t x566;
+ uint64_t x567;
+ uint64_t x568;
+ uint32_t x569;
+ uint64_t x570;
+ uint64_t x571;
+ uint32_t x572;
+ uint64_t x573;
+ uint64_t x574;
+ uint32_t x575;
+ uint64_t x576;
+ uint64_t x577;
+ uint32_t x578;
+ uint64_t x579;
+ uint64_t x580;
+ uint32_t x581;
+ uint64_t x582;
+ uint64_t x583;
+ uint32_t x584;
+ uint64_t x585;
+ uint64_t x586;
+ uint32_t x587;
+ uint64_t x588;
+ uint64_t x589;
+ uint32_t x590;
+ uint64_t x591;
+ uint64_t x592;
+ uint32_t x593;
+ uint64_t x594;
+ uint64_t x595;
+ uint32_t x596;
+ uint64_t x597;
+ uint64_t x598;
+ uint32_t x599;
+ uint64_t x600;
+ uint64_t x601;
+ uint32_t x602;
+ uint64_t x603;
+ uint64_t x604;
+ uint32_t x605;
+ uint64_t x606;
+ uint64_t x607;
+ uint32_t x608;
+ uint64_t x609;
+ uint64_t x610;
+ uint32_t x611;
+ uint64_t x612;
+ uint64_t x613;
+ uint32_t x614;
+ uint64_t x615;
+ uint64_t x616;
+ uint32_t x617;
+ uint64_t x618;
+ uint32_t x619;
+ uint32_t x620;
+ uint64_t x621;
+ uint64_t x622;
+ uint32_t x623;
+ uint32_t x624;
+ uint32_t x625;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x626;
+ uint32_t x627;
+ uint32_t x628;
+ x1 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[22])));
+ x2 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[21])));
+ x3 = (UINT16_C(0x239) * (((uint64_t)(arg1[22]) * (arg2[20])) * 0x2));
+ x4 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[19])));
+ x5 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[18])));
+ x6 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[17])));
+ x7 = (UINT16_C(0x239) * (((uint64_t)(arg1[22]) * (arg2[16])) * 0x2));
+ x8 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[15])));
+ x9 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[14])));
+ x10 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[13])));
+ x11 = (UINT16_C(0x239) * (((uint64_t)(arg1[22]) * (arg2[12])) * 0x2));
+ x12 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[11])));
+ x13 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[10])));
+ x14 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[9])));
+ x15 = (UINT16_C(0x239) * (((uint64_t)(arg1[22]) * (arg2[8])) * 0x2));
+ x16 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[7])));
+ x17 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[6])));
+ x18 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[5])));
+ x19 = (UINT16_C(0x239) * (((uint64_t)(arg1[22]) * (arg2[4])) * 0x2));
+ x20 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[3])));
+ x21 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[2])));
+ x22 = (UINT16_C(0x239) * (((uint64_t)(arg1[22]) * (arg2[1])) * 0x2));
+ x23 = (UINT16_C(0x239) * ((uint64_t)(arg1[21]) * (arg2[22])));
+ x24 = (UINT16_C(0x239) * (((uint64_t)(arg1[21]) * (arg2[21])) * 0x2));
+ x25 = (UINT16_C(0x239) * (((uint64_t)(arg1[21]) * (arg2[20])) * 0x2));
+ x26 = (UINT16_C(0x239) * ((uint64_t)(arg1[21]) * (arg2[19])));
+ x27 = (UINT16_C(0x239) * ((uint64_t)(arg1[21]) * (arg2[18])));
+ x28 = (UINT16_C(0x239) * (((uint64_t)(arg1[21]) * (arg2[17])) * 0x2));
+ x29 = (UINT16_C(0x239) * (((uint64_t)(arg1[21]) * (arg2[16])) * 0x2));
+ x30 = (UINT16_C(0x239) * ((uint64_t)(arg1[21]) * (arg2[15])));
+ x31 = (UINT16_C(0x239) * ((uint64_t)(arg1[21]) * (arg2[14])));
+ x32 = (UINT16_C(0x239) * (((uint64_t)(arg1[21]) * (arg2[13])) * 0x2));
+ x33 = (UINT16_C(0x239) * (((uint64_t)(arg1[21]) * (arg2[12])) * 0x2));
+ x34 = (UINT16_C(0x239) * ((uint64_t)(arg1[21]) * (arg2[11])));
+ x35 = (UINT16_C(0x239) * ((uint64_t)(arg1[21]) * (arg2[10])));
+ x36 = (UINT16_C(0x239) * (((uint64_t)(arg1[21]) * (arg2[9])) * 0x2));
+ x37 = (UINT16_C(0x239) * (((uint64_t)(arg1[21]) * (arg2[8])) * 0x2));
+ x38 = (UINT16_C(0x239) * ((uint64_t)(arg1[21]) * (arg2[7])));
+ x39 = (UINT16_C(0x239) * ((uint64_t)(arg1[21]) * (arg2[6])));
+ x40 = (UINT16_C(0x239) * (((uint64_t)(arg1[21]) * (arg2[5])) * 0x2));
+ x41 = (UINT16_C(0x239) * (((uint64_t)(arg1[21]) * (arg2[4])) * 0x2));
+ x42 = (UINT16_C(0x239) * ((uint64_t)(arg1[21]) * (arg2[3])));
+ x43 = (UINT16_C(0x239) * (((uint64_t)(arg1[21]) * (arg2[2])) * 0x2));
+ x44 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[22])) * 0x2));
+ x45 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[21])) * 0x2));
+ x46 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[20])) * 0x2));
+ x47 = (UINT16_C(0x239) * ((uint64_t)(arg1[20]) * (arg2[19])));
+ x48 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[18])) * 0x2));
+ x49 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[17])) * 0x2));
+ x50 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[16])) * 0x2));
+ x51 = (UINT16_C(0x239) * ((uint64_t)(arg1[20]) * (arg2[15])));
+ x52 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[14])) * 0x2));
+ x53 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[13])) * 0x2));
+ x54 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[12])) * 0x2));
+ x55 = (UINT16_C(0x239) * ((uint64_t)(arg1[20]) * (arg2[11])));
+ x56 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[10])) * 0x2));
+ x57 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[9])) * 0x2));
+ x58 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[8])) * 0x2));
+ x59 = (UINT16_C(0x239) * ((uint64_t)(arg1[20]) * (arg2[7])));
+ x60 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[6])) * 0x2));
+ x61 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[5])) * 0x2));
+ x62 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[4])) * 0x2));
+ x63 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[3])) * 0x2));
+ x64 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[22])));
+ x65 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[21])));
+ x66 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[20])));
+ x67 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[19])));
+ x68 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[18])));
+ x69 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[17])));
+ x70 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[16])));
+ x71 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[15])));
+ x72 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[14])));
+ x73 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[13])));
+ x74 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[12])));
+ x75 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[11])));
+ x76 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[10])));
+ x77 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[9])));
+ x78 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[8])));
+ x79 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[7])));
+ x80 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[6])));
+ x81 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[5])));
+ x82 = (UINT16_C(0x239) * (((uint64_t)(arg1[19]) * (arg2[4])) * 0x2));
+ x83 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[22])));
+ x84 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[21])));
+ x85 = (UINT16_C(0x239) * (((uint64_t)(arg1[18]) * (arg2[20])) * 0x2));
+ x86 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[19])));
+ x87 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[18])));
+ x88 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[17])));
+ x89 = (UINT16_C(0x239) * (((uint64_t)(arg1[18]) * (arg2[16])) * 0x2));
+ x90 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[15])));
+ x91 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[14])));
+ x92 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[13])));
+ x93 = (UINT16_C(0x239) * (((uint64_t)(arg1[18]) * (arg2[12])) * 0x2));
+ x94 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[11])));
+ x95 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[10])));
+ x96 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[9])));
+ x97 = (UINT16_C(0x239) * (((uint64_t)(arg1[18]) * (arg2[8])) * 0x2));
+ x98 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[7])));
+ x99 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[6])));
+ x100 = (UINT16_C(0x239) * (((uint64_t)(arg1[18]) * (arg2[5])) * 0x2));
+ x101 = (UINT16_C(0x239) * ((uint64_t)(arg1[17]) * (arg2[22])));
+ x102 = (UINT16_C(0x239) * (((uint64_t)(arg1[17]) * (arg2[21])) * 0x2));
+ x103 = (UINT16_C(0x239) * (((uint64_t)(arg1[17]) * (arg2[20])) * 0x2));
+ x104 = (UINT16_C(0x239) * ((uint64_t)(arg1[17]) * (arg2[19])));
+ x105 = (UINT16_C(0x239) * ((uint64_t)(arg1[17]) * (arg2[18])));
+ x106 = (UINT16_C(0x239) * (((uint64_t)(arg1[17]) * (arg2[17])) * 0x2));
+ x107 = (UINT16_C(0x239) * (((uint64_t)(arg1[17]) * (arg2[16])) * 0x2));
+ x108 = (UINT16_C(0x239) * ((uint64_t)(arg1[17]) * (arg2[15])));
+ x109 = (UINT16_C(0x239) * ((uint64_t)(arg1[17]) * (arg2[14])));
+ x110 = (UINT16_C(0x239) * (((uint64_t)(arg1[17]) * (arg2[13])) * 0x2));
+ x111 = (UINT16_C(0x239) * (((uint64_t)(arg1[17]) * (arg2[12])) * 0x2));
+ x112 = (UINT16_C(0x239) * ((uint64_t)(arg1[17]) * (arg2[11])));
+ x113 = (UINT16_C(0x239) * ((uint64_t)(arg1[17]) * (arg2[10])));
+ x114 = (UINT16_C(0x239) * (((uint64_t)(arg1[17]) * (arg2[9])) * 0x2));
+ x115 = (UINT16_C(0x239) * (((uint64_t)(arg1[17]) * (arg2[8])) * 0x2));
+ x116 = (UINT16_C(0x239) * ((uint64_t)(arg1[17]) * (arg2[7])));
+ x117 = (UINT16_C(0x239) * (((uint64_t)(arg1[17]) * (arg2[6])) * 0x2));
+ x118 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[22])) * 0x2));
+ x119 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[21])) * 0x2));
+ x120 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[20])) * 0x2));
+ x121 = (UINT16_C(0x239) * ((uint64_t)(arg1[16]) * (arg2[19])));
+ x122 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[18])) * 0x2));
+ x123 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[17])) * 0x2));
+ x124 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[16])) * 0x2));
+ x125 = (UINT16_C(0x239) * ((uint64_t)(arg1[16]) * (arg2[15])));
+ x126 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[14])) * 0x2));
+ x127 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[13])) * 0x2));
+ x128 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[12])) * 0x2));
+ x129 = (UINT16_C(0x239) * ((uint64_t)(arg1[16]) * (arg2[11])));
+ x130 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[10])) * 0x2));
+ x131 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[9])) * 0x2));
+ x132 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[8])) * 0x2));
+ x133 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[7])) * 0x2));
+ x134 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[22])));
+ x135 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[21])));
+ x136 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[20])));
+ x137 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[19])));
+ x138 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[18])));
+ x139 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[17])));
+ x140 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[16])));
+ x141 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[15])));
+ x142 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[14])));
+ x143 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[13])));
+ x144 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[12])));
+ x145 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[11])));
+ x146 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[10])));
+ x147 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[9])));
+ x148 = (UINT16_C(0x239) * (((uint64_t)(arg1[15]) * (arg2[8])) * 0x2));
+ x149 = (UINT16_C(0x239) * ((uint64_t)(arg1[14]) * (arg2[22])));
+ x150 = (UINT16_C(0x239) * ((uint64_t)(arg1[14]) * (arg2[21])));
+ x151 = (UINT16_C(0x239) * (((uint64_t)(arg1[14]) * (arg2[20])) * 0x2));
+ x152 = (UINT16_C(0x239) * ((uint64_t)(arg1[14]) * (arg2[19])));
+ x153 = (UINT16_C(0x239) * ((uint64_t)(arg1[14]) * (arg2[18])));
+ x154 = (UINT16_C(0x239) * ((uint64_t)(arg1[14]) * (arg2[17])));
+ x155 = (UINT16_C(0x239) * (((uint64_t)(arg1[14]) * (arg2[16])) * 0x2));
+ x156 = (UINT16_C(0x239) * ((uint64_t)(arg1[14]) * (arg2[15])));
+ x157 = (UINT16_C(0x239) * ((uint64_t)(arg1[14]) * (arg2[14])));
+ x158 = (UINT16_C(0x239) * ((uint64_t)(arg1[14]) * (arg2[13])));
+ x159 = (UINT16_C(0x239) * (((uint64_t)(arg1[14]) * (arg2[12])) * 0x2));
+ x160 = (UINT16_C(0x239) * ((uint64_t)(arg1[14]) * (arg2[11])));
+ x161 = (UINT16_C(0x239) * ((uint64_t)(arg1[14]) * (arg2[10])));
+ x162 = (UINT16_C(0x239) * (((uint64_t)(arg1[14]) * (arg2[9])) * 0x2));
+ x163 = (UINT16_C(0x239) * ((uint64_t)(arg1[13]) * (arg2[22])));
+ x164 = (UINT16_C(0x239) * (((uint64_t)(arg1[13]) * (arg2[21])) * 0x2));
+ x165 = (UINT16_C(0x239) * (((uint64_t)(arg1[13]) * (arg2[20])) * 0x2));
+ x166 = (UINT16_C(0x239) * ((uint64_t)(arg1[13]) * (arg2[19])));
+ x167 = (UINT16_C(0x239) * ((uint64_t)(arg1[13]) * (arg2[18])));
+ x168 = (UINT16_C(0x239) * (((uint64_t)(arg1[13]) * (arg2[17])) * 0x2));
+ x169 = (UINT16_C(0x239) * (((uint64_t)(arg1[13]) * (arg2[16])) * 0x2));
+ x170 = (UINT16_C(0x239) * ((uint64_t)(arg1[13]) * (arg2[15])));
+ x171 = (UINT16_C(0x239) * ((uint64_t)(arg1[13]) * (arg2[14])));
+ x172 = (UINT16_C(0x239) * (((uint64_t)(arg1[13]) * (arg2[13])) * 0x2));
+ x173 = (UINT16_C(0x239) * (((uint64_t)(arg1[13]) * (arg2[12])) * 0x2));
+ x174 = (UINT16_C(0x239) * ((uint64_t)(arg1[13]) * (arg2[11])));
+ x175 = (UINT16_C(0x239) * (((uint64_t)(arg1[13]) * (arg2[10])) * 0x2));
+ x176 = (UINT16_C(0x239) * (((uint64_t)(arg1[12]) * (arg2[22])) * 0x2));
+ x177 = (UINT16_C(0x239) * (((uint64_t)(arg1[12]) * (arg2[21])) * 0x2));
+ x178 = (UINT16_C(0x239) * (((uint64_t)(arg1[12]) * (arg2[20])) * 0x2));
+ x179 = (UINT16_C(0x239) * ((uint64_t)(arg1[12]) * (arg2[19])));
+ x180 = (UINT16_C(0x239) * (((uint64_t)(arg1[12]) * (arg2[18])) * 0x2));
+ x181 = (UINT16_C(0x239) * (((uint64_t)(arg1[12]) * (arg2[17])) * 0x2));
+ x182 = (UINT16_C(0x239) * (((uint64_t)(arg1[12]) * (arg2[16])) * 0x2));
+ x183 = (UINT16_C(0x239) * ((uint64_t)(arg1[12]) * (arg2[15])));
+ x184 = (UINT16_C(0x239) * (((uint64_t)(arg1[12]) * (arg2[14])) * 0x2));
+ x185 = (UINT16_C(0x239) * (((uint64_t)(arg1[12]) * (arg2[13])) * 0x2));
+ x186 = (UINT16_C(0x239) * (((uint64_t)(arg1[12]) * (arg2[12])) * 0x2));
+ x187 = (UINT16_C(0x239) * (((uint64_t)(arg1[12]) * (arg2[11])) * 0x2));
+ x188 = (UINT16_C(0x239) * ((uint64_t)(arg1[11]) * (arg2[22])));
+ x189 = (UINT16_C(0x239) * ((uint64_t)(arg1[11]) * (arg2[21])));
+ x190 = (UINT16_C(0x239) * ((uint64_t)(arg1[11]) * (arg2[20])));
+ x191 = (UINT16_C(0x239) * ((uint64_t)(arg1[11]) * (arg2[19])));
+ x192 = (UINT16_C(0x239) * ((uint64_t)(arg1[11]) * (arg2[18])));
+ x193 = (UINT16_C(0x239) * ((uint64_t)(arg1[11]) * (arg2[17])));
+ x194 = (UINT16_C(0x239) * ((uint64_t)(arg1[11]) * (arg2[16])));
+ x195 = (UINT16_C(0x239) * ((uint64_t)(arg1[11]) * (arg2[15])));
+ x196 = (UINT16_C(0x239) * ((uint64_t)(arg1[11]) * (arg2[14])));
+ x197 = (UINT16_C(0x239) * ((uint64_t)(arg1[11]) * (arg2[13])));
+ x198 = (UINT16_C(0x239) * (((uint64_t)(arg1[11]) * (arg2[12])) * 0x2));
+ x199 = (UINT16_C(0x239) * ((uint64_t)(arg1[10]) * (arg2[22])));
+ x200 = (UINT16_C(0x239) * ((uint64_t)(arg1[10]) * (arg2[21])));
+ x201 = (UINT16_C(0x239) * (((uint64_t)(arg1[10]) * (arg2[20])) * 0x2));
+ x202 = (UINT16_C(0x239) * ((uint64_t)(arg1[10]) * (arg2[19])));
+ x203 = (UINT16_C(0x239) * ((uint64_t)(arg1[10]) * (arg2[18])));
+ x204 = (UINT16_C(0x239) * ((uint64_t)(arg1[10]) * (arg2[17])));
+ x205 = (UINT16_C(0x239) * (((uint64_t)(arg1[10]) * (arg2[16])) * 0x2));
+ x206 = (UINT16_C(0x239) * ((uint64_t)(arg1[10]) * (arg2[15])));
+ x207 = (UINT16_C(0x239) * ((uint64_t)(arg1[10]) * (arg2[14])));
+ x208 = (UINT16_C(0x239) * (((uint64_t)(arg1[10]) * (arg2[13])) * 0x2));
+ x209 = (UINT16_C(0x239) * ((uint64_t)(arg1[9]) * (arg2[22])));
+ x210 = (UINT16_C(0x239) * (((uint64_t)(arg1[9]) * (arg2[21])) * 0x2));
+ x211 = (UINT16_C(0x239) * (((uint64_t)(arg1[9]) * (arg2[20])) * 0x2));
+ x212 = (UINT16_C(0x239) * ((uint64_t)(arg1[9]) * (arg2[19])));
+ x213 = (UINT16_C(0x239) * ((uint64_t)(arg1[9]) * (arg2[18])));
+ x214 = (UINT16_C(0x239) * (((uint64_t)(arg1[9]) * (arg2[17])) * 0x2));
+ x215 = (UINT16_C(0x239) * (((uint64_t)(arg1[9]) * (arg2[16])) * 0x2));
+ x216 = (UINT16_C(0x239) * ((uint64_t)(arg1[9]) * (arg2[15])));
+ x217 = (UINT16_C(0x239) * (((uint64_t)(arg1[9]) * (arg2[14])) * 0x2));
+ x218 = (UINT16_C(0x239) * (((uint64_t)(arg1[8]) * (arg2[22])) * 0x2));
+ x219 = (UINT16_C(0x239) * (((uint64_t)(arg1[8]) * (arg2[21])) * 0x2));
+ x220 = (UINT16_C(0x239) * (((uint64_t)(arg1[8]) * (arg2[20])) * 0x2));
+ x221 = (UINT16_C(0x239) * ((uint64_t)(arg1[8]) * (arg2[19])));
+ x222 = (UINT16_C(0x239) * (((uint64_t)(arg1[8]) * (arg2[18])) * 0x2));
+ x223 = (UINT16_C(0x239) * (((uint64_t)(arg1[8]) * (arg2[17])) * 0x2));
+ x224 = (UINT16_C(0x239) * (((uint64_t)(arg1[8]) * (arg2[16])) * 0x2));
+ x225 = (UINT16_C(0x239) * (((uint64_t)(arg1[8]) * (arg2[15])) * 0x2));
+ x226 = (UINT16_C(0x239) * ((uint64_t)(arg1[7]) * (arg2[22])));
+ x227 = (UINT16_C(0x239) * ((uint64_t)(arg1[7]) * (arg2[21])));
+ x228 = (UINT16_C(0x239) * ((uint64_t)(arg1[7]) * (arg2[20])));
+ x229 = (UINT16_C(0x239) * ((uint64_t)(arg1[7]) * (arg2[19])));
+ x230 = (UINT16_C(0x239) * ((uint64_t)(arg1[7]) * (arg2[18])));
+ x231 = (UINT16_C(0x239) * ((uint64_t)(arg1[7]) * (arg2[17])));
+ x232 = (UINT16_C(0x239) * (((uint64_t)(arg1[7]) * (arg2[16])) * 0x2));
+ x233 = (UINT16_C(0x239) * ((uint64_t)(arg1[6]) * (arg2[22])));
+ x234 = (UINT16_C(0x239) * ((uint64_t)(arg1[6]) * (arg2[21])));
+ x235 = (UINT16_C(0x239) * (((uint64_t)(arg1[6]) * (arg2[20])) * 0x2));
+ x236 = (UINT16_C(0x239) * ((uint64_t)(arg1[6]) * (arg2[19])));
+ x237 = (UINT16_C(0x239) * ((uint64_t)(arg1[6]) * (arg2[18])));
+ x238 = (UINT16_C(0x239) * (((uint64_t)(arg1[6]) * (arg2[17])) * 0x2));
+ x239 = (UINT16_C(0x239) * ((uint64_t)(arg1[5]) * (arg2[22])));
+ x240 = (UINT16_C(0x239) * (((uint64_t)(arg1[5]) * (arg2[21])) * 0x2));
+ x241 = (UINT16_C(0x239) * (((uint64_t)(arg1[5]) * (arg2[20])) * 0x2));
+ x242 = (UINT16_C(0x239) * ((uint64_t)(arg1[5]) * (arg2[19])));
+ x243 = (UINT16_C(0x239) * (((uint64_t)(arg1[5]) * (arg2[18])) * 0x2));
+ x244 = (UINT16_C(0x239) * (((uint64_t)(arg1[4]) * (arg2[22])) * 0x2));
+ x245 = (UINT16_C(0x239) * (((uint64_t)(arg1[4]) * (arg2[21])) * 0x2));
+ x246 = (UINT16_C(0x239) * (((uint64_t)(arg1[4]) * (arg2[20])) * 0x2));
+ x247 = (UINT16_C(0x239) * (((uint64_t)(arg1[4]) * (arg2[19])) * 0x2));
+ x248 = (UINT16_C(0x239) * ((uint64_t)(arg1[3]) * (arg2[22])));
+ x249 = (UINT16_C(0x239) * ((uint64_t)(arg1[3]) * (arg2[21])));
+ x250 = (UINT16_C(0x239) * (((uint64_t)(arg1[3]) * (arg2[20])) * 0x2));
+ x251 = (UINT16_C(0x239) * ((uint64_t)(arg1[2]) * (arg2[22])));
+ x252 = (UINT16_C(0x239) * (((uint64_t)(arg1[2]) * (arg2[21])) * 0x2));
+ x253 = (UINT16_C(0x239) * (((uint64_t)(arg1[1]) * (arg2[22])) * 0x2));
+ x254 = ((uint64_t)(arg1[22]) * (arg2[0]));
+ x255 = ((uint64_t)(arg1[21]) * ((arg2[1]) * 0x2));
+ x256 = ((uint64_t)(arg1[21]) * (arg2[0]));
+ x257 = ((uint64_t)(arg1[20]) * ((arg2[2]) * 0x2));
+ x258 = ((uint64_t)(arg1[20]) * ((arg2[1]) * 0x2));
+ x259 = ((uint64_t)(arg1[20]) * (arg2[0]));
+ x260 = ((uint64_t)(arg1[19]) * (arg2[3]));
+ x261 = ((uint64_t)(arg1[19]) * (arg2[2]));
+ x262 = ((uint64_t)(arg1[19]) * (arg2[1]));
+ x263 = ((uint64_t)(arg1[19]) * (arg2[0]));
+ x264 = ((uint64_t)(arg1[18]) * ((arg2[4]) * 0x2));
+ x265 = ((uint64_t)(arg1[18]) * (arg2[3]));
+ x266 = ((uint64_t)(arg1[18]) * (arg2[2]));
+ x267 = ((uint64_t)(arg1[18]) * ((arg2[1]) * 0x2));
+ x268 = ((uint64_t)(arg1[18]) * (arg2[0]));
+ x269 = ((uint64_t)(arg1[17]) * ((arg2[5]) * 0x2));
+ x270 = ((uint64_t)(arg1[17]) * ((arg2[4]) * 0x2));
+ x271 = ((uint64_t)(arg1[17]) * (arg2[3]));
+ x272 = ((uint64_t)(arg1[17]) * ((arg2[2]) * 0x2));
+ x273 = ((uint64_t)(arg1[17]) * ((arg2[1]) * 0x2));
+ x274 = ((uint64_t)(arg1[17]) * (arg2[0]));
+ x275 = ((uint64_t)(arg1[16]) * ((arg2[6]) * 0x2));
+ x276 = ((uint64_t)(arg1[16]) * ((arg2[5]) * 0x2));
+ x277 = ((uint64_t)(arg1[16]) * ((arg2[4]) * 0x2));
+ x278 = ((uint64_t)(arg1[16]) * ((arg2[3]) * 0x2));
+ x279 = ((uint64_t)(arg1[16]) * ((arg2[2]) * 0x2));
+ x280 = ((uint64_t)(arg1[16]) * ((arg2[1]) * 0x2));
+ x281 = ((uint64_t)(arg1[16]) * (arg2[0]));
+ x282 = ((uint64_t)(arg1[15]) * (arg2[7]));
+ x283 = ((uint64_t)(arg1[15]) * (arg2[6]));
+ x284 = ((uint64_t)(arg1[15]) * (arg2[5]));
+ x285 = ((uint64_t)(arg1[15]) * ((arg2[4]) * 0x2));
+ x286 = ((uint64_t)(arg1[15]) * (arg2[3]));
+ x287 = ((uint64_t)(arg1[15]) * (arg2[2]));
+ x288 = ((uint64_t)(arg1[15]) * (arg2[1]));
+ x289 = ((uint64_t)(arg1[15]) * (arg2[0]));
+ x290 = ((uint64_t)(arg1[14]) * ((arg2[8]) * 0x2));
+ x291 = ((uint64_t)(arg1[14]) * (arg2[7]));
+ x292 = ((uint64_t)(arg1[14]) * (arg2[6]));
+ x293 = ((uint64_t)(arg1[14]) * ((arg2[5]) * 0x2));
+ x294 = ((uint64_t)(arg1[14]) * ((arg2[4]) * 0x2));
+ x295 = ((uint64_t)(arg1[14]) * (arg2[3]));
+ x296 = ((uint64_t)(arg1[14]) * (arg2[2]));
+ x297 = ((uint64_t)(arg1[14]) * ((arg2[1]) * 0x2));
+ x298 = ((uint64_t)(arg1[14]) * (arg2[0]));
+ x299 = ((uint64_t)(arg1[13]) * ((arg2[9]) * 0x2));
+ x300 = ((uint64_t)(arg1[13]) * ((arg2[8]) * 0x2));
+ x301 = ((uint64_t)(arg1[13]) * (arg2[7]));
+ x302 = ((uint64_t)(arg1[13]) * ((arg2[6]) * 0x2));
+ x303 = ((uint64_t)(arg1[13]) * ((arg2[5]) * 0x2));
+ x304 = ((uint64_t)(arg1[13]) * ((arg2[4]) * 0x2));
+ x305 = ((uint64_t)(arg1[13]) * (arg2[3]));
+ x306 = ((uint64_t)(arg1[13]) * ((arg2[2]) * 0x2));
+ x307 = ((uint64_t)(arg1[13]) * ((arg2[1]) * 0x2));
+ x308 = ((uint64_t)(arg1[13]) * (arg2[0]));
+ x309 = ((uint64_t)(arg1[12]) * ((arg2[10]) * 0x2));
+ x310 = ((uint64_t)(arg1[12]) * ((arg2[9]) * 0x2));
+ x311 = ((uint64_t)(arg1[12]) * ((arg2[8]) * 0x2));
+ x312 = ((uint64_t)(arg1[12]) * ((arg2[7]) * 0x2));
+ x313 = ((uint64_t)(arg1[12]) * ((arg2[6]) * 0x2));
+ x314 = ((uint64_t)(arg1[12]) * ((arg2[5]) * 0x2));
+ x315 = ((uint64_t)(arg1[12]) * ((arg2[4]) * 0x2));
+ x316 = ((uint64_t)(arg1[12]) * ((arg2[3]) * 0x2));
+ x317 = ((uint64_t)(arg1[12]) * ((arg2[2]) * 0x2));
+ x318 = ((uint64_t)(arg1[12]) * ((arg2[1]) * 0x2));
+ x319 = ((uint64_t)(arg1[12]) * (arg2[0]));
+ x320 = ((uint64_t)(arg1[11]) * (arg2[11]));
+ x321 = ((uint64_t)(arg1[11]) * (arg2[10]));
+ x322 = ((uint64_t)(arg1[11]) * (arg2[9]));
+ x323 = ((uint64_t)(arg1[11]) * ((arg2[8]) * 0x2));
+ x324 = ((uint64_t)(arg1[11]) * (arg2[7]));
+ x325 = ((uint64_t)(arg1[11]) * (arg2[6]));
+ x326 = ((uint64_t)(arg1[11]) * (arg2[5]));
+ x327 = ((uint64_t)(arg1[11]) * ((arg2[4]) * 0x2));
+ x328 = ((uint64_t)(arg1[11]) * (arg2[3]));
+ x329 = ((uint64_t)(arg1[11]) * (arg2[2]));
+ x330 = ((uint64_t)(arg1[11]) * (arg2[1]));
+ x331 = ((uint64_t)(arg1[11]) * (arg2[0]));
+ x332 = ((uint64_t)(arg1[10]) * ((arg2[12]) * 0x2));
+ x333 = ((uint64_t)(arg1[10]) * (arg2[11]));
+ x334 = ((uint64_t)(arg1[10]) * (arg2[10]));
+ x335 = ((uint64_t)(arg1[10]) * ((arg2[9]) * 0x2));
+ x336 = ((uint64_t)(arg1[10]) * ((arg2[8]) * 0x2));
+ x337 = ((uint64_t)(arg1[10]) * (arg2[7]));
+ x338 = ((uint64_t)(arg1[10]) * (arg2[6]));
+ x339 = ((uint64_t)(arg1[10]) * ((arg2[5]) * 0x2));
+ x340 = ((uint64_t)(arg1[10]) * ((arg2[4]) * 0x2));
+ x341 = ((uint64_t)(arg1[10]) * (arg2[3]));
+ x342 = ((uint64_t)(arg1[10]) * (arg2[2]));
+ x343 = ((uint64_t)(arg1[10]) * ((arg2[1]) * 0x2));
+ x344 = ((uint64_t)(arg1[10]) * (arg2[0]));
+ x345 = ((uint64_t)(arg1[9]) * ((arg2[13]) * 0x2));
+ x346 = ((uint64_t)(arg1[9]) * ((arg2[12]) * 0x2));
+ x347 = ((uint64_t)(arg1[9]) * (arg2[11]));
+ x348 = ((uint64_t)(arg1[9]) * ((arg2[10]) * 0x2));
+ x349 = ((uint64_t)(arg1[9]) * ((arg2[9]) * 0x2));
+ x350 = ((uint64_t)(arg1[9]) * ((arg2[8]) * 0x2));
+ x351 = ((uint64_t)(arg1[9]) * (arg2[7]));
+ x352 = ((uint64_t)(arg1[9]) * ((arg2[6]) * 0x2));
+ x353 = ((uint64_t)(arg1[9]) * ((arg2[5]) * 0x2));
+ x354 = ((uint64_t)(arg1[9]) * ((arg2[4]) * 0x2));
+ x355 = ((uint64_t)(arg1[9]) * (arg2[3]));
+ x356 = ((uint64_t)(arg1[9]) * ((arg2[2]) * 0x2));
+ x357 = ((uint64_t)(arg1[9]) * ((arg2[1]) * 0x2));
+ x358 = ((uint64_t)(arg1[9]) * (arg2[0]));
+ x359 = ((uint64_t)(arg1[8]) * ((arg2[14]) * 0x2));
+ x360 = ((uint64_t)(arg1[8]) * ((arg2[13]) * 0x2));
+ x361 = ((uint64_t)(arg1[8]) * ((arg2[12]) * 0x2));
+ x362 = ((uint64_t)(arg1[8]) * ((arg2[11]) * 0x2));
+ x363 = ((uint64_t)(arg1[8]) * ((arg2[10]) * 0x2));
+ x364 = ((uint64_t)(arg1[8]) * ((arg2[9]) * 0x2));
+ x365 = ((uint64_t)(arg1[8]) * ((arg2[8]) * 0x2));
+ x366 = ((uint64_t)(arg1[8]) * ((arg2[7]) * 0x2));
+ x367 = ((uint64_t)(arg1[8]) * ((arg2[6]) * 0x2));
+ x368 = ((uint64_t)(arg1[8]) * ((arg2[5]) * 0x2));
+ x369 = ((uint64_t)(arg1[8]) * ((arg2[4]) * 0x2));
+ x370 = ((uint64_t)(arg1[8]) * ((arg2[3]) * 0x2));
+ x371 = ((uint64_t)(arg1[8]) * ((arg2[2]) * 0x2));
+ x372 = ((uint64_t)(arg1[8]) * ((arg2[1]) * 0x2));
+ x373 = ((uint64_t)(arg1[8]) * (arg2[0]));
+ x374 = ((uint64_t)(arg1[7]) * (arg2[15]));
+ x375 = ((uint64_t)(arg1[7]) * (arg2[14]));
+ x376 = ((uint64_t)(arg1[7]) * (arg2[13]));
+ x377 = ((uint64_t)(arg1[7]) * ((arg2[12]) * 0x2));
+ x378 = ((uint64_t)(arg1[7]) * (arg2[11]));
+ x379 = ((uint64_t)(arg1[7]) * (arg2[10]));
+ x380 = ((uint64_t)(arg1[7]) * (arg2[9]));
+ x381 = ((uint64_t)(arg1[7]) * ((arg2[8]) * 0x2));
+ x382 = ((uint64_t)(arg1[7]) * (arg2[7]));
+ x383 = ((uint64_t)(arg1[7]) * (arg2[6]));
+ x384 = ((uint64_t)(arg1[7]) * (arg2[5]));
+ x385 = ((uint64_t)(arg1[7]) * ((arg2[4]) * 0x2));
+ x386 = ((uint64_t)(arg1[7]) * (arg2[3]));
+ x387 = ((uint64_t)(arg1[7]) * (arg2[2]));
+ x388 = ((uint64_t)(arg1[7]) * (arg2[1]));
+ x389 = ((uint64_t)(arg1[7]) * (arg2[0]));
+ x390 = ((uint64_t)(arg1[6]) * ((arg2[16]) * 0x2));
+ x391 = ((uint64_t)(arg1[6]) * (arg2[15]));
+ x392 = ((uint64_t)(arg1[6]) * (arg2[14]));
+ x393 = ((uint64_t)(arg1[6]) * ((arg2[13]) * 0x2));
+ x394 = ((uint64_t)(arg1[6]) * ((arg2[12]) * 0x2));
+ x395 = ((uint64_t)(arg1[6]) * (arg2[11]));
+ x396 = ((uint64_t)(arg1[6]) * (arg2[10]));
+ x397 = ((uint64_t)(arg1[6]) * ((arg2[9]) * 0x2));
+ x398 = ((uint64_t)(arg1[6]) * ((arg2[8]) * 0x2));
+ x399 = ((uint64_t)(arg1[6]) * (arg2[7]));
+ x400 = ((uint64_t)(arg1[6]) * (arg2[6]));
+ x401 = ((uint64_t)(arg1[6]) * ((arg2[5]) * 0x2));
+ x402 = ((uint64_t)(arg1[6]) * ((arg2[4]) * 0x2));
+ x403 = ((uint64_t)(arg1[6]) * (arg2[3]));
+ x404 = ((uint64_t)(arg1[6]) * (arg2[2]));
+ x405 = ((uint64_t)(arg1[6]) * ((arg2[1]) * 0x2));
+ x406 = ((uint64_t)(arg1[6]) * (arg2[0]));
+ x407 = ((uint64_t)(arg1[5]) * ((arg2[17]) * 0x2));
+ x408 = ((uint64_t)(arg1[5]) * ((arg2[16]) * 0x2));
+ x409 = ((uint64_t)(arg1[5]) * (arg2[15]));
+ x410 = ((uint64_t)(arg1[5]) * ((arg2[14]) * 0x2));
+ x411 = ((uint64_t)(arg1[5]) * ((arg2[13]) * 0x2));
+ x412 = ((uint64_t)(arg1[5]) * ((arg2[12]) * 0x2));
+ x413 = ((uint64_t)(arg1[5]) * (arg2[11]));
+ x414 = ((uint64_t)(arg1[5]) * ((arg2[10]) * 0x2));
+ x415 = ((uint64_t)(arg1[5]) * ((arg2[9]) * 0x2));
+ x416 = ((uint64_t)(arg1[5]) * ((arg2[8]) * 0x2));
+ x417 = ((uint64_t)(arg1[5]) * (arg2[7]));
+ x418 = ((uint64_t)(arg1[5]) * ((arg2[6]) * 0x2));
+ x419 = ((uint64_t)(arg1[5]) * ((arg2[5]) * 0x2));
+ x420 = ((uint64_t)(arg1[5]) * ((arg2[4]) * 0x2));
+ x421 = ((uint64_t)(arg1[5]) * (arg2[3]));
+ x422 = ((uint64_t)(arg1[5]) * ((arg2[2]) * 0x2));
+ x423 = ((uint64_t)(arg1[5]) * ((arg2[1]) * 0x2));
+ x424 = ((uint64_t)(arg1[5]) * (arg2[0]));
+ x425 = ((uint64_t)(arg1[4]) * ((arg2[18]) * 0x2));
+ x426 = ((uint64_t)(arg1[4]) * ((arg2[17]) * 0x2));
+ x427 = ((uint64_t)(arg1[4]) * ((arg2[16]) * 0x2));
+ x428 = ((uint64_t)(arg1[4]) * ((arg2[15]) * 0x2));
+ x429 = ((uint64_t)(arg1[4]) * ((arg2[14]) * 0x2));
+ x430 = ((uint64_t)(arg1[4]) * ((arg2[13]) * 0x2));
+ x431 = ((uint64_t)(arg1[4]) * ((arg2[12]) * 0x2));
+ x432 = ((uint64_t)(arg1[4]) * ((arg2[11]) * 0x2));
+ x433 = ((uint64_t)(arg1[4]) * ((arg2[10]) * 0x2));
+ x434 = ((uint64_t)(arg1[4]) * ((arg2[9]) * 0x2));
+ x435 = ((uint64_t)(arg1[4]) * ((arg2[8]) * 0x2));
+ x436 = ((uint64_t)(arg1[4]) * ((arg2[7]) * 0x2));
+ x437 = ((uint64_t)(arg1[4]) * ((arg2[6]) * 0x2));
+ x438 = ((uint64_t)(arg1[4]) * ((arg2[5]) * 0x2));
+ x439 = ((uint64_t)(arg1[4]) * ((arg2[4]) * 0x2));
+ x440 = ((uint64_t)(arg1[4]) * ((arg2[3]) * 0x2));
+ x441 = ((uint64_t)(arg1[4]) * ((arg2[2]) * 0x2));
+ x442 = ((uint64_t)(arg1[4]) * ((arg2[1]) * 0x2));
+ x443 = ((uint64_t)(arg1[4]) * (arg2[0]));
+ x444 = ((uint64_t)(arg1[3]) * (arg2[19]));
+ x445 = ((uint64_t)(arg1[3]) * (arg2[18]));
+ x446 = ((uint64_t)(arg1[3]) * (arg2[17]));
+ x447 = ((uint64_t)(arg1[3]) * ((arg2[16]) * 0x2));
+ x448 = ((uint64_t)(arg1[3]) * (arg2[15]));
+ x449 = ((uint64_t)(arg1[3]) * (arg2[14]));
+ x450 = ((uint64_t)(arg1[3]) * (arg2[13]));
+ x451 = ((uint64_t)(arg1[3]) * ((arg2[12]) * 0x2));
+ x452 = ((uint64_t)(arg1[3]) * (arg2[11]));
+ x453 = ((uint64_t)(arg1[3]) * (arg2[10]));
+ x454 = ((uint64_t)(arg1[3]) * (arg2[9]));
+ x455 = ((uint64_t)(arg1[3]) * ((arg2[8]) * 0x2));
+ x456 = ((uint64_t)(arg1[3]) * (arg2[7]));
+ x457 = ((uint64_t)(arg1[3]) * (arg2[6]));
+ x458 = ((uint64_t)(arg1[3]) * (arg2[5]));
+ x459 = ((uint64_t)(arg1[3]) * ((arg2[4]) * 0x2));
+ x460 = ((uint64_t)(arg1[3]) * (arg2[3]));
+ x461 = ((uint64_t)(arg1[3]) * (arg2[2]));
+ x462 = ((uint64_t)(arg1[3]) * (arg2[1]));
+ x463 = ((uint64_t)(arg1[3]) * (arg2[0]));
+ x464 = ((uint64_t)(arg1[2]) * ((arg2[20]) * 0x2));
+ x465 = ((uint64_t)(arg1[2]) * (arg2[19]));
+ x466 = ((uint64_t)(arg1[2]) * (arg2[18]));
+ x467 = ((uint64_t)(arg1[2]) * ((arg2[17]) * 0x2));
+ x468 = ((uint64_t)(arg1[2]) * ((arg2[16]) * 0x2));
+ x469 = ((uint64_t)(arg1[2]) * (arg2[15]));
+ x470 = ((uint64_t)(arg1[2]) * (arg2[14]));
+ x471 = ((uint64_t)(arg1[2]) * ((arg2[13]) * 0x2));
+ x472 = ((uint64_t)(arg1[2]) * ((arg2[12]) * 0x2));
+ x473 = ((uint64_t)(arg1[2]) * (arg2[11]));
+ x474 = ((uint64_t)(arg1[2]) * (arg2[10]));
+ x475 = ((uint64_t)(arg1[2]) * ((arg2[9]) * 0x2));
+ x476 = ((uint64_t)(arg1[2]) * ((arg2[8]) * 0x2));
+ x477 = ((uint64_t)(arg1[2]) * (arg2[7]));
+ x478 = ((uint64_t)(arg1[2]) * (arg2[6]));
+ x479 = ((uint64_t)(arg1[2]) * ((arg2[5]) * 0x2));
+ x480 = ((uint64_t)(arg1[2]) * ((arg2[4]) * 0x2));
+ x481 = ((uint64_t)(arg1[2]) * (arg2[3]));
+ x482 = ((uint64_t)(arg1[2]) * (arg2[2]));
+ x483 = ((uint64_t)(arg1[2]) * ((arg2[1]) * 0x2));
+ x484 = ((uint64_t)(arg1[2]) * (arg2[0]));
+ x485 = ((uint64_t)(arg1[1]) * ((arg2[21]) * 0x2));
+ x486 = ((uint64_t)(arg1[1]) * ((arg2[20]) * 0x2));
+ x487 = ((uint64_t)(arg1[1]) * (arg2[19]));
+ x488 = ((uint64_t)(arg1[1]) * ((arg2[18]) * 0x2));
+ x489 = ((uint64_t)(arg1[1]) * ((arg2[17]) * 0x2));
+ x490 = ((uint64_t)(arg1[1]) * ((arg2[16]) * 0x2));
+ x491 = ((uint64_t)(arg1[1]) * (arg2[15]));
+ x492 = ((uint64_t)(arg1[1]) * ((arg2[14]) * 0x2));
+ x493 = ((uint64_t)(arg1[1]) * ((arg2[13]) * 0x2));
+ x494 = ((uint64_t)(arg1[1]) * ((arg2[12]) * 0x2));
+ x495 = ((uint64_t)(arg1[1]) * (arg2[11]));
+ x496 = ((uint64_t)(arg1[1]) * ((arg2[10]) * 0x2));
+ x497 = ((uint64_t)(arg1[1]) * ((arg2[9]) * 0x2));
+ x498 = ((uint64_t)(arg1[1]) * ((arg2[8]) * 0x2));
+ x499 = ((uint64_t)(arg1[1]) * (arg2[7]));
+ x500 = ((uint64_t)(arg1[1]) * ((arg2[6]) * 0x2));
+ x501 = ((uint64_t)(arg1[1]) * ((arg2[5]) * 0x2));
+ x502 = ((uint64_t)(arg1[1]) * ((arg2[4]) * 0x2));
+ x503 = ((uint64_t)(arg1[1]) * (arg2[3]));
+ x504 = ((uint64_t)(arg1[1]) * ((arg2[2]) * 0x2));
+ x505 = ((uint64_t)(arg1[1]) * ((arg2[1]) * 0x2));
+ x506 = ((uint64_t)(arg1[1]) * (arg2[0]));
+ x507 = ((uint64_t)(arg1[0]) * (arg2[22]));
+ x508 = ((uint64_t)(arg1[0]) * (arg2[21]));
+ x509 = ((uint64_t)(arg1[0]) * (arg2[20]));
+ x510 = ((uint64_t)(arg1[0]) * (arg2[19]));
+ x511 = ((uint64_t)(arg1[0]) * (arg2[18]));
+ x512 = ((uint64_t)(arg1[0]) * (arg2[17]));
+ x513 = ((uint64_t)(arg1[0]) * (arg2[16]));
+ x514 = ((uint64_t)(arg1[0]) * (arg2[15]));
+ x515 = ((uint64_t)(arg1[0]) * (arg2[14]));
+ x516 = ((uint64_t)(arg1[0]) * (arg2[13]));
+ x517 = ((uint64_t)(arg1[0]) * (arg2[12]));
+ x518 = ((uint64_t)(arg1[0]) * (arg2[11]));
+ x519 = ((uint64_t)(arg1[0]) * (arg2[10]));
+ x520 = ((uint64_t)(arg1[0]) * (arg2[9]));
+ x521 = ((uint64_t)(arg1[0]) * (arg2[8]));
+ x522 = ((uint64_t)(arg1[0]) * (arg2[7]));
+ x523 = ((uint64_t)(arg1[0]) * (arg2[6]));
+ x524 = ((uint64_t)(arg1[0]) * (arg2[5]));
+ x525 = ((uint64_t)(arg1[0]) * (arg2[4]));
+ x526 = ((uint64_t)(arg1[0]) * (arg2[3]));
+ x527 = ((uint64_t)(arg1[0]) * (arg2[2]));
+ x528 = ((uint64_t)(arg1[0]) * (arg2[1]));
+ x529 = ((uint64_t)(arg1[0]) * (arg2[0]));
+ x530 = (x529 +
+ (x253 +
+ (x252 +
+ (x250 +
+ (x247 +
+ (x243 +
+ (x238 +
+ (x232 +
+ (x225 +
+ (x217 +
+ (x208 +
+ (x198 +
+ (x187 +
+ (x175 +
+ (x162 +
+ (x148 +
+ (x133 +
+ (x117 +
+ (x100 +
+ (x82 + (x63 + (x43 + x22))))))))))))))))))))));
+ x531 = (x530 >> 23);
+ x532 = (uint32_t)(x530 & UINT32_C(0x7fffff));
+ x533 =
+ (x507 +
+ (x485 +
+ (x464 +
+ (x444 +
+ (x425 +
+ (x407 +
+ (x390 +
+ (x374 +
+ (x359 +
+ (x345 +
+ (x332 +
+ (x320 +
+ (x309 +
+ (x299 +
+ (x290 +
+ (x282 +
+ (x275 +
+ (x269 +
+ (x264 +
+ (x260 + (x257 + (x255 + x254))))))))))))))))))))));
+ x534 = (x508 +
+ (x486 +
+ (x465 +
+ (x445 +
+ (x426 +
+ (x408 +
+ (x391 +
+ (x375 +
+ (x360 +
+ (x346 +
+ (x333 +
+ (x321 +
+ (x310 +
+ (x300 +
+ (x291 +
+ (x283 +
+ (x276 +
+ (x270 +
+ (x265 +
+ (x261 + (x258 + (x256 + x1))))))))))))))))))))));
+ x535 = (x509 +
+ (x487 +
+ (x466 +
+ (x446 +
+ (x427 +
+ (x409 +
+ (x392 +
+ (x376 +
+ (x361 +
+ (x347 +
+ (x334 +
+ (x322 +
+ (x311 +
+ (x301 +
+ (x292 +
+ (x284 +
+ (x277 +
+ (x271 +
+ (x266 +
+ (x262 + (x259 + (x23 + x2))))))))))))))))))))));
+ x536 = (x510 +
+ (x488 +
+ (x467 +
+ (x447 +
+ (x428 +
+ (x410 +
+ (x393 +
+ (x377 +
+ (x362 +
+ (x348 +
+ (x335 +
+ (x323 +
+ (x312 +
+ (x302 +
+ (x293 +
+ (x285 +
+ (x278 +
+ (x272 +
+ (x267 +
+ (x263 + (x44 + (x24 + x3))))))))))))))))))))));
+ x537 =
+ (x511 +
+ (x489 +
+ (x468 +
+ (x448 +
+ (x429 +
+ (x411 +
+ (x394 +
+ (x378 +
+ (x363 +
+ (x349 +
+ (x336 +
+ (x324 +
+ (x313 +
+ (x303 +
+ (x294 +
+ (x286 +
+ (x279 +
+ (x273 +
+ (x268 + (x64 + (x45 + (x25 + x4))))))))))))))))))))));
+ x538 =
+ (x512 +
+ (x490 +
+ (x469 +
+ (x449 +
+ (x430 +
+ (x412 +
+ (x395 +
+ (x379 +
+ (x364 +
+ (x350 +
+ (x337 +
+ (x325 +
+ (x314 +
+ (x304 +
+ (x295 +
+ (x287 +
+ (x280 +
+ (x274 +
+ (x83 + (x65 + (x46 + (x26 + x5))))))))))))))))))))));
+ x539 =
+ (x513 +
+ (x491 +
+ (x470 +
+ (x450 +
+ (x431 +
+ (x413 +
+ (x396 +
+ (x380 +
+ (x365 +
+ (x351 +
+ (x338 +
+ (x326 +
+ (x315 +
+ (x305 +
+ (x296 +
+ (x288 +
+ (x281 +
+ (x101 +
+ (x84 + (x66 + (x47 + (x27 + x6))))))))))))))))))))));
+ x540 =
+ (x514 +
+ (x492 +
+ (x471 +
+ (x451 +
+ (x432 +
+ (x414 +
+ (x397 +
+ (x381 +
+ (x366 +
+ (x352 +
+ (x339 +
+ (x327 +
+ (x316 +
+ (x306 +
+ (x297 +
+ (x289 +
+ (x118 +
+ (x102 +
+ (x85 + (x67 + (x48 + (x28 + x7))))))))))))))))))))));
+ x541 =
+ (x515 +
+ (x493 +
+ (x472 +
+ (x452 +
+ (x433 +
+ (x415 +
+ (x398 +
+ (x382 +
+ (x367 +
+ (x353 +
+ (x340 +
+ (x328 +
+ (x317 +
+ (x307 +
+ (x298 +
+ (x134 +
+ (x119 +
+ (x103 +
+ (x86 + (x68 + (x49 + (x29 + x8))))))))))))))))))))));
+ x542 =
+ (x516 +
+ (x494 +
+ (x473 +
+ (x453 +
+ (x434 +
+ (x416 +
+ (x399 +
+ (x383 +
+ (x368 +
+ (x354 +
+ (x341 +
+ (x329 +
+ (x318 +
+ (x308 +
+ (x149 +
+ (x135 +
+ (x120 +
+ (x104 +
+ (x87 + (x69 + (x50 + (x30 + x9))))))))))))))))))))));
+ x543 =
+ (x517 +
+ (x495 +
+ (x474 +
+ (x454 +
+ (x435 +
+ (x417 +
+ (x400 +
+ (x384 +
+ (x369 +
+ (x355 +
+ (x342 +
+ (x330 +
+ (x319 +
+ (x163 +
+ (x150 +
+ (x136 +
+ (x121 +
+ (x105 +
+ (x88 + (x70 + (x51 + (x31 + x10))))))))))))))))))))));
+ x544 =
+ (x518 +
+ (x496 +
+ (x475 +
+ (x455 +
+ (x436 +
+ (x418 +
+ (x401 +
+ (x385 +
+ (x370 +
+ (x356 +
+ (x343 +
+ (x331 +
+ (x176 +
+ (x164 +
+ (x151 +
+ (x137 +
+ (x122 +
+ (x106 +
+ (x89 + (x71 + (x52 + (x32 + x11))))))))))))))))))))));
+ x545 =
+ (x519 +
+ (x497 +
+ (x476 +
+ (x456 +
+ (x437 +
+ (x419 +
+ (x402 +
+ (x386 +
+ (x371 +
+ (x357 +
+ (x344 +
+ (x188 +
+ (x177 +
+ (x165 +
+ (x152 +
+ (x138 +
+ (x123 +
+ (x107 +
+ (x90 + (x72 + (x53 + (x33 + x12))))))))))))))))))))));
+ x546 =
+ (x520 +
+ (x498 +
+ (x477 +
+ (x457 +
+ (x438 +
+ (x420 +
+ (x403 +
+ (x387 +
+ (x372 +
+ (x358 +
+ (x199 +
+ (x189 +
+ (x178 +
+ (x166 +
+ (x153 +
+ (x139 +
+ (x124 +
+ (x108 +
+ (x91 + (x73 + (x54 + (x34 + x13))))))))))))))))))))));
+ x547 =
+ (x521 +
+ (x499 +
+ (x478 +
+ (x458 +
+ (x439 +
+ (x421 +
+ (x404 +
+ (x388 +
+ (x373 +
+ (x209 +
+ (x200 +
+ (x190 +
+ (x179 +
+ (x167 +
+ (x154 +
+ (x140 +
+ (x125 +
+ (x109 +
+ (x92 + (x74 + (x55 + (x35 + x14))))))))))))))))))))));
+ x548 =
+ (x522 +
+ (x500 +
+ (x479 +
+ (x459 +
+ (x440 +
+ (x422 +
+ (x405 +
+ (x389 +
+ (x218 +
+ (x210 +
+ (x201 +
+ (x191 +
+ (x180 +
+ (x168 +
+ (x155 +
+ (x141 +
+ (x126 +
+ (x110 +
+ (x93 + (x75 + (x56 + (x36 + x15))))))))))))))))))))));
+ x549 =
+ (x523 +
+ (x501 +
+ (x480 +
+ (x460 +
+ (x441 +
+ (x423 +
+ (x406 +
+ (x226 +
+ (x219 +
+ (x211 +
+ (x202 +
+ (x192 +
+ (x181 +
+ (x169 +
+ (x156 +
+ (x142 +
+ (x127 +
+ (x111 +
+ (x94 + (x76 + (x57 + (x37 + x16))))))))))))))))))))));
+ x550 =
+ (x524 +
+ (x502 +
+ (x481 +
+ (x461 +
+ (x442 +
+ (x424 +
+ (x233 +
+ (x227 +
+ (x220 +
+ (x212 +
+ (x203 +
+ (x193 +
+ (x182 +
+ (x170 +
+ (x157 +
+ (x143 +
+ (x128 +
+ (x112 +
+ (x95 + (x77 + (x58 + (x38 + x17))))))))))))))))))))));
+ x551 =
+ (x525 +
+ (x503 +
+ (x482 +
+ (x462 +
+ (x443 +
+ (x239 +
+ (x234 +
+ (x228 +
+ (x221 +
+ (x213 +
+ (x204 +
+ (x194 +
+ (x183 +
+ (x171 +
+ (x158 +
+ (x144 +
+ (x129 +
+ (x113 +
+ (x96 + (x78 + (x59 + (x39 + x18))))))))))))))))))))));
+ x552 =
+ (x526 +
+ (x504 +
+ (x483 +
+ (x463 +
+ (x244 +
+ (x240 +
+ (x235 +
+ (x229 +
+ (x222 +
+ (x214 +
+ (x205 +
+ (x195 +
+ (x184 +
+ (x172 +
+ (x159 +
+ (x145 +
+ (x130 +
+ (x114 +
+ (x97 + (x79 + (x60 + (x40 + x19))))))))))))))))))))));
+ x553 =
+ (x527 +
+ (x505 +
+ (x484 +
+ (x248 +
+ (x245 +
+ (x241 +
+ (x236 +
+ (x230 +
+ (x223 +
+ (x215 +
+ (x206 +
+ (x196 +
+ (x185 +
+ (x173 +
+ (x160 +
+ (x146 +
+ (x131 +
+ (x115 +
+ (x98 + (x80 + (x61 + (x41 + x20))))))))))))))))))))));
+ x554 =
+ (x528 +
+ (x506 +
+ (x251 +
+ (x249 +
+ (x246 +
+ (x242 +
+ (x237 +
+ (x231 +
+ (x224 +
+ (x216 +
+ (x207 +
+ (x197 +
+ (x186 +
+ (x174 +
+ (x161 +
+ (x147 +
+ (x132 +
+ (x116 +
+ (x99 + (x81 + (x62 + (x42 + x21))))))))))))))))))))));
+ x555 = (x531 + x554);
+ x556 = (x555 >> 22);
+ x557 = (uint32_t)(x555 & UINT32_C(0x3fffff));
+ x558 = (x556 + x553);
+ x559 = (x558 >> 22);
+ x560 = (uint32_t)(x558 & UINT32_C(0x3fffff));
+ x561 = (x559 + x552);
+ x562 = (x561 >> 23);
+ x563 = (uint32_t)(x561 & UINT32_C(0x7fffff));
+ x564 = (x562 + x551);
+ x565 = (x564 >> 22);
+ x566 = (uint32_t)(x564 & UINT32_C(0x3fffff));
+ x567 = (x565 + x550);
+ x568 = (x567 >> 22);
+ x569 = (uint32_t)(x567 & UINT32_C(0x3fffff));
+ x570 = (x568 + x549);
+ x571 = (x570 >> 22);
+ x572 = (uint32_t)(x570 & UINT32_C(0x3fffff));
+ x573 = (x571 + x548);
+ x574 = (x573 >> 23);
+ x575 = (uint32_t)(x573 & UINT32_C(0x7fffff));
+ x576 = (x574 + x547);
+ x577 = (x576 >> 22);
+ x578 = (uint32_t)(x576 & UINT32_C(0x3fffff));
+ x579 = (x577 + x546);
+ x580 = (x579 >> 22);
+ x581 = (uint32_t)(x579 & UINT32_C(0x3fffff));
+ x582 = (x580 + x545);
+ x583 = (x582 >> 22);
+ x584 = (uint32_t)(x582 & UINT32_C(0x3fffff));
+ x585 = (x583 + x544);
+ x586 = (x585 >> 23);
+ x587 = (uint32_t)(x585 & UINT32_C(0x7fffff));
+ x588 = (x586 + x543);
+ x589 = (x588 >> 22);
+ x590 = (uint32_t)(x588 & UINT32_C(0x3fffff));
+ x591 = (x589 + x542);
+ x592 = (x591 >> 22);
+ x593 = (uint32_t)(x591 & UINT32_C(0x3fffff));
+ x594 = (x592 + x541);
+ x595 = (x594 >> 22);
+ x596 = (uint32_t)(x594 & UINT32_C(0x3fffff));
+ x597 = (x595 + x540);
+ x598 = (x597 >> 23);
+ x599 = (uint32_t)(x597 & UINT32_C(0x7fffff));
+ x600 = (x598 + x539);
+ x601 = (x600 >> 22);
+ x602 = (uint32_t)(x600 & UINT32_C(0x3fffff));
+ x603 = (x601 + x538);
+ x604 = (x603 >> 22);
+ x605 = (uint32_t)(x603 & UINT32_C(0x3fffff));
+ x606 = (x604 + x537);
+ x607 = (x606 >> 22);
+ x608 = (uint32_t)(x606 & UINT32_C(0x3fffff));
+ x609 = (x607 + x536);
+ x610 = (x609 >> 23);
+ x611 = (uint32_t)(x609 & UINT32_C(0x7fffff));
+ x612 = (x610 + x535);
+ x613 = (x612 >> 22);
+ x614 = (uint32_t)(x612 & UINT32_C(0x3fffff));
+ x615 = (x613 + x534);
+ x616 = (x615 >> 22);
+ x617 = (uint32_t)(x615 & UINT32_C(0x3fffff));
+ x618 = (x616 + x533);
+ x619 = (uint32_t)(x618 >> 22);
+ x620 = (uint32_t)(x618 & UINT32_C(0x3fffff));
+ x621 = ((uint64_t)UINT16_C(0x239) * x619);
+ x622 = (x532 + x621);
+ x623 = (uint32_t)(x622 >> 23);
+ x624 = (uint32_t)(x622 & UINT32_C(0x7fffff));
+ x625 = (x623 + x557);
+ x626 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x625 >> 22);
+ x627 = (x625 & UINT32_C(0x3fffff));
+ x628 = (x626 + x560);
+ out1[0] = x624;
+ out1[1] = x627;
+ out1[2] = x628;
+ out1[3] = x563;
+ out1[4] = x566;
+ out1[5] = x569;
+ out1[6] = x572;
+ out1[7] = x575;
+ out1[8] = x578;
+ out1[9] = x581;
+ out1[10] = x584;
+ out1[11] = x587;
+ out1[12] = x590;
+ out1[13] = x593;
+ out1[14] = x596;
+ out1[15] = x599;
+ out1[16] = x602;
+ out1[17] = x605;
+ out1[18] = x608;
+ out1[19] = x611;
+ out1[20] = x614;
+ out1[21] = x617;
+ out1[22] = x620;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square squares a field element and reduces the result.
+ * Postconditions:
+ * eval out1 mod m = (eval arg1 * eval arg1) mod m
+ *
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(
+ uint32_t out1[23], const uint32_t arg1[23]) {
+ uint64_t x1;
+ uint64_t x2;
+ uint32_t x3;
+ uint64_t x4;
+ uint64_t x5;
+ uint32_t x6;
+ uint64_t x7;
+ uint64_t x8;
+ uint32_t x9;
+ uint64_t x10;
+ uint64_t x11;
+ uint32_t x12;
+ uint64_t x13;
+ uint64_t x14;
+ uint32_t x15;
+ uint64_t x16;
+ uint64_t x17;
+ uint32_t x18;
+ uint64_t x19;
+ uint64_t x20;
+ uint32_t x21;
+ uint64_t x22;
+ uint64_t x23;
+ uint32_t x24;
+ uint64_t x25;
+ uint64_t x26;
+ uint32_t x27;
+ uint64_t x28;
+ uint64_t x29;
+ uint32_t x30;
+ uint64_t x31;
+ uint64_t x32;
+ uint32_t x33;
+ uint32_t x34;
+ uint32_t x35;
+ uint32_t x36;
+ uint32_t x37;
+ uint32_t x38;
+ uint32_t x39;
+ uint32_t x40;
+ uint32_t x41;
+ uint32_t x42;
+ uint32_t x43;
+ uint32_t x44;
+ uint64_t x45;
+ uint64_t x46;
+ uint64_t x47;
+ uint64_t x48;
+ uint64_t x49;
+ uint64_t x50;
+ uint64_t x51;
+ uint64_t x52;
+ uint64_t x53;
+ uint64_t x54;
+ uint64_t x55;
+ uint64_t x56;
+ uint64_t x57;
+ uint64_t x58;
+ uint64_t x59;
+ uint64_t x60;
+ uint64_t x61;
+ uint64_t x62;
+ uint64_t x63;
+ uint64_t x64;
+ uint64_t x65;
+ uint64_t x66;
+ uint64_t x67;
+ uint64_t x68;
+ uint64_t x69;
+ uint64_t x70;
+ uint64_t x71;
+ uint64_t x72;
+ uint64_t x73;
+ uint64_t x74;
+ uint64_t x75;
+ uint64_t x76;
+ uint64_t x77;
+ uint64_t x78;
+ uint64_t x79;
+ uint64_t x80;
+ uint64_t x81;
+ uint64_t x82;
+ uint64_t x83;
+ uint64_t x84;
+ uint64_t x85;
+ uint64_t x86;
+ uint64_t x87;
+ uint64_t x88;
+ uint64_t x89;
+ uint64_t x90;
+ uint64_t x91;
+ uint64_t x92;
+ uint64_t x93;
+ uint64_t x94;
+ uint64_t x95;
+ uint64_t x96;
+ uint64_t x97;
+ uint64_t x98;
+ uint64_t x99;
+ uint64_t x100;
+ uint64_t x101;
+ uint64_t x102;
+ uint64_t x103;
+ uint64_t x104;
+ uint64_t x105;
+ uint64_t x106;
+ uint64_t x107;
+ uint64_t x108;
+ uint64_t x109;
+ uint64_t x110;
+ uint64_t x111;
+ uint64_t x112;
+ uint64_t x113;
+ uint64_t x114;
+ uint64_t x115;
+ uint64_t x116;
+ uint64_t x117;
+ uint64_t x118;
+ uint64_t x119;
+ uint64_t x120;
+ uint64_t x121;
+ uint64_t x122;
+ uint64_t x123;
+ uint64_t x124;
+ uint64_t x125;
+ uint64_t x126;
+ uint64_t x127;
+ uint64_t x128;
+ uint64_t x129;
+ uint64_t x130;
+ uint64_t x131;
+ uint64_t x132;
+ uint64_t x133;
+ uint64_t x134;
+ uint64_t x135;
+ uint64_t x136;
+ uint64_t x137;
+ uint64_t x138;
+ uint64_t x139;
+ uint64_t x140;
+ uint64_t x141;
+ uint64_t x142;
+ uint64_t x143;
+ uint64_t x144;
+ uint64_t x145;
+ uint64_t x146;
+ uint64_t x147;
+ uint64_t x148;
+ uint64_t x149;
+ uint64_t x150;
+ uint64_t x151;
+ uint64_t x152;
+ uint64_t x153;
+ uint64_t x154;
+ uint64_t x155;
+ uint64_t x156;
+ uint64_t x157;
+ uint64_t x158;
+ uint64_t x159;
+ uint64_t x160;
+ uint64_t x161;
+ uint64_t x162;
+ uint64_t x163;
+ uint64_t x164;
+ uint64_t x165;
+ uint64_t x166;
+ uint64_t x167;
+ uint64_t x168;
+ uint64_t x169;
+ uint64_t x170;
+ uint64_t x171;
+ uint64_t x172;
+ uint64_t x173;
+ uint64_t x174;
+ uint64_t x175;
+ uint64_t x176;
+ uint64_t x177;
+ uint64_t x178;
+ uint64_t x179;
+ uint64_t x180;
+ uint64_t x181;
+ uint64_t x182;
+ uint64_t x183;
+ uint64_t x184;
+ uint64_t x185;
+ uint64_t x186;
+ uint64_t x187;
+ uint64_t x188;
+ uint64_t x189;
+ uint64_t x190;
+ uint64_t x191;
+ uint64_t x192;
+ uint64_t x193;
+ uint64_t x194;
+ uint64_t x195;
+ uint64_t x196;
+ uint64_t x197;
+ uint64_t x198;
+ uint64_t x199;
+ uint64_t x200;
+ uint64_t x201;
+ uint64_t x202;
+ uint64_t x203;
+ uint64_t x204;
+ uint64_t x205;
+ uint64_t x206;
+ uint64_t x207;
+ uint64_t x208;
+ uint64_t x209;
+ uint64_t x210;
+ uint64_t x211;
+ uint64_t x212;
+ uint64_t x213;
+ uint64_t x214;
+ uint64_t x215;
+ uint64_t x216;
+ uint64_t x217;
+ uint64_t x218;
+ uint64_t x219;
+ uint64_t x220;
+ uint64_t x221;
+ uint64_t x222;
+ uint64_t x223;
+ uint64_t x224;
+ uint64_t x225;
+ uint64_t x226;
+ uint64_t x227;
+ uint64_t x228;
+ uint64_t x229;
+ uint64_t x230;
+ uint64_t x231;
+ uint64_t x232;
+ uint64_t x233;
+ uint64_t x234;
+ uint64_t x235;
+ uint64_t x236;
+ uint64_t x237;
+ uint64_t x238;
+ uint64_t x239;
+ uint64_t x240;
+ uint64_t x241;
+ uint64_t x242;
+ uint64_t x243;
+ uint64_t x244;
+ uint64_t x245;
+ uint64_t x246;
+ uint64_t x247;
+ uint64_t x248;
+ uint64_t x249;
+ uint64_t x250;
+ uint64_t x251;
+ uint64_t x252;
+ uint64_t x253;
+ uint64_t x254;
+ uint64_t x255;
+ uint64_t x256;
+ uint64_t x257;
+ uint64_t x258;
+ uint64_t x259;
+ uint64_t x260;
+ uint64_t x261;
+ uint64_t x262;
+ uint64_t x263;
+ uint64_t x264;
+ uint64_t x265;
+ uint64_t x266;
+ uint64_t x267;
+ uint64_t x268;
+ uint64_t x269;
+ uint64_t x270;
+ uint64_t x271;
+ uint64_t x272;
+ uint64_t x273;
+ uint64_t x274;
+ uint64_t x275;
+ uint64_t x276;
+ uint64_t x277;
+ uint64_t x278;
+ uint64_t x279;
+ uint64_t x280;
+ uint64_t x281;
+ uint64_t x282;
+ uint64_t x283;
+ uint64_t x284;
+ uint64_t x285;
+ uint64_t x286;
+ uint64_t x287;
+ uint64_t x288;
+ uint64_t x289;
+ uint64_t x290;
+ uint64_t x291;
+ uint64_t x292;
+ uint64_t x293;
+ uint64_t x294;
+ uint64_t x295;
+ uint64_t x296;
+ uint64_t x297;
+ uint64_t x298;
+ uint64_t x299;
+ uint64_t x300;
+ uint64_t x301;
+ uint64_t x302;
+ uint64_t x303;
+ uint64_t x304;
+ uint64_t x305;
+ uint64_t x306;
+ uint64_t x307;
+ uint64_t x308;
+ uint64_t x309;
+ uint64_t x310;
+ uint64_t x311;
+ uint64_t x312;
+ uint64_t x313;
+ uint64_t x314;
+ uint64_t x315;
+ uint64_t x316;
+ uint64_t x317;
+ uint64_t x318;
+ uint64_t x319;
+ uint64_t x320;
+ uint64_t x321;
+ uint64_t x322;
+ uint32_t x323;
+ uint64_t x324;
+ uint64_t x325;
+ uint64_t x326;
+ uint64_t x327;
+ uint64_t x328;
+ uint64_t x329;
+ uint64_t x330;
+ uint64_t x331;
+ uint64_t x332;
+ uint64_t x333;
+ uint64_t x334;
+ uint64_t x335;
+ uint64_t x336;
+ uint64_t x337;
+ uint64_t x338;
+ uint64_t x339;
+ uint64_t x340;
+ uint64_t x341;
+ uint64_t x342;
+ uint64_t x343;
+ uint64_t x344;
+ uint64_t x345;
+ uint64_t x346;
+ uint64_t x347;
+ uint32_t x348;
+ uint64_t x349;
+ uint64_t x350;
+ uint32_t x351;
+ uint64_t x352;
+ uint64_t x353;
+ uint32_t x354;
+ uint64_t x355;
+ uint64_t x356;
+ uint32_t x357;
+ uint64_t x358;
+ uint64_t x359;
+ uint32_t x360;
+ uint64_t x361;
+ uint64_t x362;
+ uint32_t x363;
+ uint64_t x364;
+ uint64_t x365;
+ uint32_t x366;
+ uint64_t x367;
+ uint64_t x368;
+ uint32_t x369;
+ uint64_t x370;
+ uint64_t x371;
+ uint32_t x372;
+ uint64_t x373;
+ uint64_t x374;
+ uint32_t x375;
+ uint64_t x376;
+ uint64_t x377;
+ uint32_t x378;
+ uint64_t x379;
+ uint64_t x380;
+ uint32_t x381;
+ uint64_t x382;
+ uint64_t x383;
+ uint32_t x384;
+ uint64_t x385;
+ uint64_t x386;
+ uint32_t x387;
+ uint64_t x388;
+ uint64_t x389;
+ uint32_t x390;
+ uint64_t x391;
+ uint64_t x392;
+ uint32_t x393;
+ uint64_t x394;
+ uint64_t x395;
+ uint32_t x396;
+ uint64_t x397;
+ uint64_t x398;
+ uint32_t x399;
+ uint64_t x400;
+ uint64_t x401;
+ uint32_t x402;
+ uint64_t x403;
+ uint64_t x404;
+ uint32_t x405;
+ uint64_t x406;
+ uint64_t x407;
+ uint32_t x408;
+ uint64_t x409;
+ uint32_t x410;
+ uint32_t x411;
+ uint64_t x412;
+ uint64_t x413;
+ uint32_t x414;
+ uint32_t x415;
+ uint32_t x416;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x417;
+ uint32_t x418;
+ uint32_t x419;
+ x1 = ((uint64_t)(arg1[22]) * UINT16_C(0x239));
+ x2 = (x1 * 0x2);
+ x3 = ((arg1[22]) * 0x2);
+ x4 = ((uint64_t)(arg1[21]) * UINT16_C(0x239));
+ x5 = (x4 * 0x2);
+ x6 = ((arg1[21]) * 0x2);
+ x7 = ((uint64_t)(arg1[20]) * UINT16_C(0x239));
+ x8 = (x7 * 0x2);
+ x9 = ((arg1[20]) * 0x2);
+ x10 = ((uint64_t)(arg1[19]) * UINT16_C(0x239));
+ x11 = (x10 * 0x2);
+ x12 = ((arg1[19]) * 0x2);
+ x13 = ((uint64_t)(arg1[18]) * UINT16_C(0x239));
+ x14 = (x13 * 0x2);
+ x15 = ((arg1[18]) * 0x2);
+ x16 = ((uint64_t)(arg1[17]) * UINT16_C(0x239));
+ x17 = (x16 * 0x2);
+ x18 = ((arg1[17]) * 0x2);
+ x19 = ((uint64_t)(arg1[16]) * UINT16_C(0x239));
+ x20 = (x19 * 0x2);
+ x21 = ((arg1[16]) * 0x2);
+ x22 = ((uint64_t)(arg1[15]) * UINT16_C(0x239));
+ x23 = (x22 * 0x2);
+ x24 = ((arg1[15]) * 0x2);
+ x25 = ((uint64_t)(arg1[14]) * UINT16_C(0x239));
+ x26 = (x25 * 0x2);
+ x27 = ((arg1[14]) * 0x2);
+ x28 = ((uint64_t)(arg1[13]) * UINT16_C(0x239));
+ x29 = (x28 * 0x2);
+ x30 = ((arg1[13]) * 0x2);
+ x31 = ((uint64_t)(arg1[12]) * UINT16_C(0x239));
+ x32 = (x31 * 0x2);
+ x33 = ((arg1[12]) * 0x2);
+ x34 = ((arg1[11]) * 0x2);
+ x35 = ((arg1[10]) * 0x2);
+ x36 = ((arg1[9]) * 0x2);
+ x37 = ((arg1[8]) * 0x2);
+ x38 = ((arg1[7]) * 0x2);
+ x39 = ((arg1[6]) * 0x2);
+ x40 = ((arg1[5]) * 0x2);
+ x41 = ((arg1[4]) * 0x2);
+ x42 = ((arg1[3]) * 0x2);
+ x43 = ((arg1[2]) * 0x2);
+ x44 = ((arg1[1]) * 0x2);
+ x45 = ((arg1[22]) * x1);
+ x46 = ((arg1[21]) * x2);
+ x47 = ((arg1[21]) * (x4 * 0x2));
+ x48 = ((arg1[20]) * (x2 * 0x2));
+ x49 = ((arg1[20]) * (x5 * 0x2));
+ x50 = ((arg1[20]) * (x7 * 0x2));
+ x51 = ((arg1[19]) * x2);
+ x52 = ((arg1[19]) * x5);
+ x53 = ((arg1[19]) * x8);
+ x54 = ((arg1[19]) * x10);
+ x55 = ((arg1[18]) * x2);
+ x56 = ((arg1[18]) * x5);
+ x57 = ((arg1[18]) * (x8 * 0x2));
+ x58 = ((arg1[18]) * x11);
+ x59 = ((arg1[18]) * x13);
+ x60 = ((arg1[17]) * x2);
+ x61 = ((arg1[17]) * (x5 * 0x2));
+ x62 = ((arg1[17]) * (x8 * 0x2));
+ x63 = ((arg1[17]) * x11);
+ x64 = ((arg1[17]) * x14);
+ x65 = ((arg1[17]) * (x16 * 0x2));
+ x66 = ((arg1[16]) * (x2 * 0x2));
+ x67 = ((arg1[16]) * (x5 * 0x2));
+ x68 = ((arg1[16]) * (x8 * 0x2));
+ x69 = ((arg1[16]) * x11);
+ x70 = ((arg1[16]) * (x14 * 0x2));
+ x71 = ((arg1[16]) * (x17 * 0x2));
+ x72 = ((arg1[16]) * (x19 * 0x2));
+ x73 = ((arg1[15]) * x2);
+ x74 = ((arg1[15]) * x5);
+ x75 = ((arg1[15]) * x8);
+ x76 = ((arg1[15]) * x11);
+ x77 = ((arg1[15]) * x14);
+ x78 = ((arg1[15]) * x17);
+ x79 = ((arg1[15]) * x20);
+ x80 = ((arg1[15]) * x22);
+ x81 = ((arg1[14]) * x2);
+ x82 = ((arg1[14]) * x5);
+ x83 = ((arg1[14]) * (x8 * 0x2));
+ x84 = ((arg1[14]) * x11);
+ x85 = ((arg1[14]) * x14);
+ x86 = ((arg1[14]) * x17);
+ x87 = ((arg1[14]) * (x20 * 0x2));
+ x88 = ((arg1[14]) * x23);
+ x89 = ((arg1[14]) * x25);
+ x90 = ((arg1[13]) * x2);
+ x91 = ((arg1[13]) * (x5 * 0x2));
+ x92 = ((arg1[13]) * (x8 * 0x2));
+ x93 = ((arg1[13]) * x11);
+ x94 = ((arg1[13]) * x14);
+ x95 = ((arg1[13]) * (x17 * 0x2));
+ x96 = ((arg1[13]) * (x20 * 0x2));
+ x97 = ((arg1[13]) * x23);
+ x98 = ((arg1[13]) * x26);
+ x99 = ((arg1[13]) * (x28 * 0x2));
+ x100 = ((arg1[12]) * (x2 * 0x2));
+ x101 = ((arg1[12]) * (x5 * 0x2));
+ x102 = ((arg1[12]) * (x8 * 0x2));
+ x103 = ((arg1[12]) * x11);
+ x104 = ((arg1[12]) * (x14 * 0x2));
+ x105 = ((arg1[12]) * (x17 * 0x2));
+ x106 = ((arg1[12]) * (x20 * 0x2));
+ x107 = ((arg1[12]) * x23);
+ x108 = ((arg1[12]) * (x26 * 0x2));
+ x109 = ((arg1[12]) * (x29 * 0x2));
+ x110 = ((arg1[12]) * (x31 * 0x2));
+ x111 = ((arg1[11]) * x2);
+ x112 = ((arg1[11]) * x5);
+ x113 = ((arg1[11]) * x8);
+ x114 = ((arg1[11]) * x11);
+ x115 = ((arg1[11]) * x14);
+ x116 = ((arg1[11]) * x17);
+ x117 = ((arg1[11]) * x20);
+ x118 = ((arg1[11]) * x23);
+ x119 = ((arg1[11]) * x26);
+ x120 = ((arg1[11]) * x29);
+ x121 = ((arg1[11]) * (x32 * 0x2));
+ x122 = ((uint64_t)(arg1[11]) * (arg1[11]));
+ x123 = ((arg1[10]) * x2);
+ x124 = ((arg1[10]) * x5);
+ x125 = ((arg1[10]) * (x8 * 0x2));
+ x126 = ((arg1[10]) * x11);
+ x127 = ((arg1[10]) * x14);
+ x128 = ((arg1[10]) * x17);
+ x129 = ((arg1[10]) * (x20 * 0x2));
+ x130 = ((arg1[10]) * x23);
+ x131 = ((arg1[10]) * x26);
+ x132 = ((arg1[10]) * (x29 * 0x2));
+ x133 = ((uint64_t)(arg1[10]) * (x33 * 0x2));
+ x134 = ((uint64_t)(arg1[10]) * x34);
+ x135 = ((uint64_t)(arg1[10]) * (arg1[10]));
+ x136 = ((arg1[9]) * x2);
+ x137 = ((arg1[9]) * (x5 * 0x2));
+ x138 = ((arg1[9]) * (x8 * 0x2));
+ x139 = ((arg1[9]) * x11);
+ x140 = ((arg1[9]) * x14);
+ x141 = ((arg1[9]) * (x17 * 0x2));
+ x142 = ((arg1[9]) * (x20 * 0x2));
+ x143 = ((arg1[9]) * x23);
+ x144 = ((arg1[9]) * (x26 * 0x2));
+ x145 = ((uint64_t)(arg1[9]) * (x30 * 0x2));
+ x146 = ((uint64_t)(arg1[9]) * (x33 * 0x2));
+ x147 = ((uint64_t)(arg1[9]) * x34);
+ x148 = ((uint64_t)(arg1[9]) * (x35 * 0x2));
+ x149 = ((uint64_t)(arg1[9]) * ((arg1[9]) * 0x2));
+ x150 = ((arg1[8]) * (x2 * 0x2));
+ x151 = ((arg1[8]) * (x5 * 0x2));
+ x152 = ((arg1[8]) * (x8 * 0x2));
+ x153 = ((arg1[8]) * x11);
+ x154 = ((arg1[8]) * (x14 * 0x2));
+ x155 = ((arg1[8]) * (x17 * 0x2));
+ x156 = ((arg1[8]) * (x20 * 0x2));
+ x157 = ((arg1[8]) * (x23 * 0x2));
+ x158 = ((uint64_t)(arg1[8]) * (x27 * 0x2));
+ x159 = ((uint64_t)(arg1[8]) * (x30 * 0x2));
+ x160 = ((uint64_t)(arg1[8]) * (x33 * 0x2));
+ x161 = ((uint64_t)(arg1[8]) * (x34 * 0x2));
+ x162 = ((uint64_t)(arg1[8]) * (x35 * 0x2));
+ x163 = ((uint64_t)(arg1[8]) * (x36 * 0x2));
+ x164 = ((uint64_t)(arg1[8]) * ((arg1[8]) * 0x2));
+ x165 = ((arg1[7]) * x2);
+ x166 = ((arg1[7]) * x5);
+ x167 = ((arg1[7]) * x8);
+ x168 = ((arg1[7]) * x11);
+ x169 = ((arg1[7]) * x14);
+ x170 = ((arg1[7]) * x17);
+ x171 = ((arg1[7]) * (x20 * 0x2));
+ x172 = ((uint64_t)(arg1[7]) * x24);
+ x173 = ((uint64_t)(arg1[7]) * x27);
+ x174 = ((uint64_t)(arg1[7]) * x30);
+ x175 = ((uint64_t)(arg1[7]) * (x33 * 0x2));
+ x176 = ((uint64_t)(arg1[7]) * x34);
+ x177 = ((uint64_t)(arg1[7]) * x35);
+ x178 = ((uint64_t)(arg1[7]) * x36);
+ x179 = ((uint64_t)(arg1[7]) * (x37 * 0x2));
+ x180 = ((uint64_t)(arg1[7]) * (arg1[7]));
+ x181 = ((arg1[6]) * x2);
+ x182 = ((arg1[6]) * x5);
+ x183 = ((arg1[6]) * (x8 * 0x2));
+ x184 = ((arg1[6]) * x11);
+ x185 = ((arg1[6]) * x14);
+ x186 = ((arg1[6]) * (x17 * 0x2));
+ x187 = ((uint64_t)(arg1[6]) * (x21 * 0x2));
+ x188 = ((uint64_t)(arg1[6]) * x24);
+ x189 = ((uint64_t)(arg1[6]) * x27);
+ x190 = ((uint64_t)(arg1[6]) * (x30 * 0x2));
+ x191 = ((uint64_t)(arg1[6]) * (x33 * 0x2));
+ x192 = ((uint64_t)(arg1[6]) * x34);
+ x193 = ((uint64_t)(arg1[6]) * x35);
+ x194 = ((uint64_t)(arg1[6]) * (x36 * 0x2));
+ x195 = ((uint64_t)(arg1[6]) * (x37 * 0x2));
+ x196 = ((uint64_t)(arg1[6]) * x38);
+ x197 = ((uint64_t)(arg1[6]) * (arg1[6]));
+ x198 = ((arg1[5]) * x2);
+ x199 = ((arg1[5]) * (x5 * 0x2));
+ x200 = ((arg1[5]) * (x8 * 0x2));
+ x201 = ((arg1[5]) * x11);
+ x202 = ((arg1[5]) * (x14 * 0x2));
+ x203 = ((uint64_t)(arg1[5]) * (x18 * 0x2));
+ x204 = ((uint64_t)(arg1[5]) * (x21 * 0x2));
+ x205 = ((uint64_t)(arg1[5]) * x24);
+ x206 = ((uint64_t)(arg1[5]) * (x27 * 0x2));
+ x207 = ((uint64_t)(arg1[5]) * (x30 * 0x2));
+ x208 = ((uint64_t)(arg1[5]) * (x33 * 0x2));
+ x209 = ((uint64_t)(arg1[5]) * x34);
+ x210 = ((uint64_t)(arg1[5]) * (x35 * 0x2));
+ x211 = ((uint64_t)(arg1[5]) * (x36 * 0x2));
+ x212 = ((uint64_t)(arg1[5]) * (x37 * 0x2));
+ x213 = ((uint64_t)(arg1[5]) * x38);
+ x214 = ((uint64_t)(arg1[5]) * (x39 * 0x2));
+ x215 = ((uint64_t)(arg1[5]) * ((arg1[5]) * 0x2));
+ x216 = ((arg1[4]) * (x2 * 0x2));
+ x217 = ((arg1[4]) * (x5 * 0x2));
+ x218 = ((arg1[4]) * (x8 * 0x2));
+ x219 = ((arg1[4]) * (x11 * 0x2));
+ x220 = ((uint64_t)(arg1[4]) * (x15 * 0x2));
+ x221 = ((uint64_t)(arg1[4]) * (x18 * 0x2));
+ x222 = ((uint64_t)(arg1[4]) * (x21 * 0x2));
+ x223 = ((uint64_t)(arg1[4]) * (x24 * 0x2));
+ x224 = ((uint64_t)(arg1[4]) * (x27 * 0x2));
+ x225 = ((uint64_t)(arg1[4]) * (x30 * 0x2));
+ x226 = ((uint64_t)(arg1[4]) * (x33 * 0x2));
+ x227 = ((uint64_t)(arg1[4]) * (x34 * 0x2));
+ x228 = ((uint64_t)(arg1[4]) * (x35 * 0x2));
+ x229 = ((uint64_t)(arg1[4]) * (x36 * 0x2));
+ x230 = ((uint64_t)(arg1[4]) * (x37 * 0x2));
+ x231 = ((uint64_t)(arg1[4]) * (x38 * 0x2));
+ x232 = ((uint64_t)(arg1[4]) * (x39 * 0x2));
+ x233 = ((uint64_t)(arg1[4]) * (x40 * 0x2));
+ x234 = ((uint64_t)(arg1[4]) * ((arg1[4]) * 0x2));
+ x235 = ((arg1[3]) * x2);
+ x236 = ((arg1[3]) * x5);
+ x237 = ((arg1[3]) * (x8 * 0x2));
+ x238 = ((uint64_t)(arg1[3]) * x12);
+ x239 = ((uint64_t)(arg1[3]) * x15);
+ x240 = ((uint64_t)(arg1[3]) * x18);
+ x241 = ((uint64_t)(arg1[3]) * (x21 * 0x2));
+ x242 = ((uint64_t)(arg1[3]) * x24);
+ x243 = ((uint64_t)(arg1[3]) * x27);
+ x244 = ((uint64_t)(arg1[3]) * x30);
+ x245 = ((uint64_t)(arg1[3]) * (x33 * 0x2));
+ x246 = ((uint64_t)(arg1[3]) * x34);
+ x247 = ((uint64_t)(arg1[3]) * x35);
+ x248 = ((uint64_t)(arg1[3]) * x36);
+ x249 = ((uint64_t)(arg1[3]) * (x37 * 0x2));
+ x250 = ((uint64_t)(arg1[3]) * x38);
+ x251 = ((uint64_t)(arg1[3]) * x39);
+ x252 = ((uint64_t)(arg1[3]) * x40);
+ x253 = ((uint64_t)(arg1[3]) * (x41 * 0x2));
+ x254 = ((uint64_t)(arg1[3]) * (arg1[3]));
+ x255 = ((arg1[2]) * x2);
+ x256 = ((arg1[2]) * (x5 * 0x2));
+ x257 = ((uint64_t)(arg1[2]) * (x9 * 0x2));
+ x258 = ((uint64_t)(arg1[2]) * x12);
+ x259 = ((uint64_t)(arg1[2]) * x15);
+ x260 = ((uint64_t)(arg1[2]) * (x18 * 0x2));
+ x261 = ((uint64_t)(arg1[2]) * (x21 * 0x2));
+ x262 = ((uint64_t)(arg1[2]) * x24);
+ x263 = ((uint64_t)(arg1[2]) * x27);
+ x264 = ((uint64_t)(arg1[2]) * (x30 * 0x2));
+ x265 = ((uint64_t)(arg1[2]) * (x33 * 0x2));
+ x266 = ((uint64_t)(arg1[2]) * x34);
+ x267 = ((uint64_t)(arg1[2]) * x35);
+ x268 = ((uint64_t)(arg1[2]) * (x36 * 0x2));
+ x269 = ((uint64_t)(arg1[2]) * (x37 * 0x2));
+ x270 = ((uint64_t)(arg1[2]) * x38);
+ x271 = ((uint64_t)(arg1[2]) * x39);
+ x272 = ((uint64_t)(arg1[2]) * (x40 * 0x2));
+ x273 = ((uint64_t)(arg1[2]) * (x41 * 0x2));
+ x274 = ((uint64_t)(arg1[2]) * x42);
+ x275 = ((uint64_t)(arg1[2]) * (arg1[2]));
+ x276 = ((arg1[1]) * (x2 * 0x2));
+ x277 = ((uint64_t)(arg1[1]) * (x6 * 0x2));
+ x278 = ((uint64_t)(arg1[1]) * (x9 * 0x2));
+ x279 = ((uint64_t)(arg1[1]) * x12);
+ x280 = ((uint64_t)(arg1[1]) * (x15 * 0x2));
+ x281 = ((uint64_t)(arg1[1]) * (x18 * 0x2));
+ x282 = ((uint64_t)(arg1[1]) * (x21 * 0x2));
+ x283 = ((uint64_t)(arg1[1]) * x24);
+ x284 = ((uint64_t)(arg1[1]) * (x27 * 0x2));
+ x285 = ((uint64_t)(arg1[1]) * (x30 * 0x2));
+ x286 = ((uint64_t)(arg1[1]) * (x33 * 0x2));
+ x287 = ((uint64_t)(arg1[1]) * x34);
+ x288 = ((uint64_t)(arg1[1]) * (x35 * 0x2));
+ x289 = ((uint64_t)(arg1[1]) * (x36 * 0x2));
+ x290 = ((uint64_t)(arg1[1]) * (x37 * 0x2));
+ x291 = ((uint64_t)(arg1[1]) * x38);
+ x292 = ((uint64_t)(arg1[1]) * (x39 * 0x2));
+ x293 = ((uint64_t)(arg1[1]) * (x40 * 0x2));
+ x294 = ((uint64_t)(arg1[1]) * (x41 * 0x2));
+ x295 = ((uint64_t)(arg1[1]) * x42);
+ x296 = ((uint64_t)(arg1[1]) * (x43 * 0x2));
+ x297 = ((uint64_t)(arg1[1]) * ((arg1[1]) * 0x2));
+ x298 = ((uint64_t)(arg1[0]) * x3);
+ x299 = ((uint64_t)(arg1[0]) * x6);
+ x300 = ((uint64_t)(arg1[0]) * x9);
+ x301 = ((uint64_t)(arg1[0]) * x12);
+ x302 = ((uint64_t)(arg1[0]) * x15);
+ x303 = ((uint64_t)(arg1[0]) * x18);
+ x304 = ((uint64_t)(arg1[0]) * x21);
+ x305 = ((uint64_t)(arg1[0]) * x24);
+ x306 = ((uint64_t)(arg1[0]) * x27);
+ x307 = ((uint64_t)(arg1[0]) * x30);
+ x308 = ((uint64_t)(arg1[0]) * x33);
+ x309 = ((uint64_t)(arg1[0]) * x34);
+ x310 = ((uint64_t)(arg1[0]) * x35);
+ x311 = ((uint64_t)(arg1[0]) * x36);
+ x312 = ((uint64_t)(arg1[0]) * x37);
+ x313 = ((uint64_t)(arg1[0]) * x38);
+ x314 = ((uint64_t)(arg1[0]) * x39);
+ x315 = ((uint64_t)(arg1[0]) * x40);
+ x316 = ((uint64_t)(arg1[0]) * x41);
+ x317 = ((uint64_t)(arg1[0]) * x42);
+ x318 = ((uint64_t)(arg1[0]) * x43);
+ x319 = ((uint64_t)(arg1[0]) * x44);
+ x320 = ((uint64_t)(arg1[0]) * (arg1[0]));
+ x321 = (x320 +
+ (x276 +
+ (x256 +
+ (x237 +
+ (x219 +
+ (x202 + (x186 + (x171 + (x157 + (x144 + (x132 + x121)))))))))));
+ x322 = (x321 >> 23);
+ x323 = (uint32_t)(x321 & UINT32_C(0x7fffff));
+ x324 = (x298 +
+ (x277 +
+ (x257 +
+ (x238 +
+ (x220 +
+ (x203 + (x187 + (x172 + (x158 + (x145 + (x133 + x122)))))))))));
+ x325 = (x299 +
+ (x278 +
+ (x258 +
+ (x239 +
+ (x221 +
+ (x204 + (x188 + (x173 + (x159 + (x146 + (x134 + x45)))))))))));
+ x326 = (x300 +
+ (x279 +
+ (x259 +
+ (x240 +
+ (x222 +
+ (x205 + (x189 + (x174 + (x160 + (x147 + (x135 + x46)))))))))));
+ x327 = (x301 +
+ (x280 +
+ (x260 +
+ (x241 +
+ (x223 +
+ (x206 + (x190 + (x175 + (x161 + (x148 + (x48 + x47)))))))))));
+ x328 = (x302 +
+ (x281 +
+ (x261 +
+ (x242 +
+ (x224 +
+ (x207 + (x191 + (x176 + (x162 + (x149 + (x51 + x49)))))))))));
+ x329 = (x303 +
+ (x282 +
+ (x262 +
+ (x243 +
+ (x225 +
+ (x208 + (x192 + (x177 + (x163 + (x55 + (x52 + x50)))))))))));
+ x330 = (x304 +
+ (x283 +
+ (x263 +
+ (x244 +
+ (x226 +
+ (x209 + (x193 + (x178 + (x164 + (x60 + (x56 + x53)))))))))));
+ x331 =
+ (x305 +
+ (x284 +
+ (x264 +
+ (x245 +
+ (x227 + (x210 + (x194 + (x179 + (x66 + (x61 + (x57 + x54)))))))))));
+ x332 =
+ (x306 +
+ (x285 +
+ (x265 +
+ (x246 +
+ (x228 + (x211 + (x195 + (x180 + (x73 + (x67 + (x62 + x58)))))))))));
+ x333 =
+ (x307 +
+ (x286 +
+ (x266 +
+ (x247 +
+ (x229 + (x212 + (x196 + (x81 + (x74 + (x68 + (x63 + x59)))))))))));
+ x334 =
+ (x308 +
+ (x287 +
+ (x267 +
+ (x248 +
+ (x230 + (x213 + (x197 + (x90 + (x82 + (x75 + (x69 + x64)))))))))));
+ x335 =
+ (x309 +
+ (x288 +
+ (x268 +
+ (x249 +
+ (x231 + (x214 + (x100 + (x91 + (x83 + (x76 + (x70 + x65)))))))))));
+ x336 =
+ (x310 +
+ (x289 +
+ (x269 +
+ (x250 +
+ (x232 + (x215 + (x111 + (x101 + (x92 + (x84 + (x77 + x71)))))))))));
+ x337 =
+ (x311 +
+ (x290 +
+ (x270 +
+ (x251 +
+ (x233 + (x123 + (x112 + (x102 + (x93 + (x85 + (x78 + x72)))))))))));
+ x338 = (x312 +
+ (x291 +
+ (x271 +
+ (x252 +
+ (x234 +
+ (x136 + (x124 + (x113 + (x103 + (x94 + (x86 + x79)))))))))));
+ x339 = (x313 +
+ (x292 +
+ (x272 +
+ (x253 +
+ (x150 +
+ (x137 + (x125 + (x114 + (x104 + (x95 + (x87 + x80)))))))))));
+ x340 = (x314 +
+ (x293 +
+ (x273 +
+ (x254 +
+ (x165 +
+ (x151 + (x138 + (x126 + (x115 + (x105 + (x96 + x88)))))))))));
+ x341 = (x315 +
+ (x294 +
+ (x274 +
+ (x181 +
+ (x166 +
+ (x152 + (x139 + (x127 + (x116 + (x106 + (x97 + x89)))))))))));
+ x342 = (x316 +
+ (x295 +
+ (x275 +
+ (x198 +
+ (x182 +
+ (x167 + (x153 + (x140 + (x128 + (x117 + (x107 + x98)))))))))));
+ x343 = (x317 +
+ (x296 +
+ (x216 +
+ (x199 +
+ (x183 +
+ (x168 + (x154 + (x141 + (x129 + (x118 + (x108 + x99)))))))))));
+ x344 = (x318 +
+ (x297 +
+ (x235 +
+ (x217 +
+ (x200 +
+ (x184 + (x169 + (x155 + (x142 + (x130 + (x119 + x109)))))))))));
+ x345 = (x319 +
+ (x255 +
+ (x236 +
+ (x218 +
+ (x201 +
+ (x185 + (x170 + (x156 + (x143 + (x131 + (x120 + x110)))))))))));
+ x346 = (x322 + x345);
+ x347 = (x346 >> 22);
+ x348 = (uint32_t)(x346 & UINT32_C(0x3fffff));
+ x349 = (x347 + x344);
+ x350 = (x349 >> 22);
+ x351 = (uint32_t)(x349 & UINT32_C(0x3fffff));
+ x352 = (x350 + x343);
+ x353 = (x352 >> 23);
+ x354 = (uint32_t)(x352 & UINT32_C(0x7fffff));
+ x355 = (x353 + x342);
+ x356 = (x355 >> 22);
+ x357 = (uint32_t)(x355 & UINT32_C(0x3fffff));
+ x358 = (x356 + x341);
+ x359 = (x358 >> 22);
+ x360 = (uint32_t)(x358 & UINT32_C(0x3fffff));
+ x361 = (x359 + x340);
+ x362 = (x361 >> 22);
+ x363 = (uint32_t)(x361 & UINT32_C(0x3fffff));
+ x364 = (x362 + x339);
+ x365 = (x364 >> 23);
+ x366 = (uint32_t)(x364 & UINT32_C(0x7fffff));
+ x367 = (x365 + x338);
+ x368 = (x367 >> 22);
+ x369 = (uint32_t)(x367 & UINT32_C(0x3fffff));
+ x370 = (x368 + x337);
+ x371 = (x370 >> 22);
+ x372 = (uint32_t)(x370 & UINT32_C(0x3fffff));
+ x373 = (x371 + x336);
+ x374 = (x373 >> 22);
+ x375 = (uint32_t)(x373 & UINT32_C(0x3fffff));
+ x376 = (x374 + x335);
+ x377 = (x376 >> 23);
+ x378 = (uint32_t)(x376 & UINT32_C(0x7fffff));
+ x379 = (x377 + x334);
+ x380 = (x379 >> 22);
+ x381 = (uint32_t)(x379 & UINT32_C(0x3fffff));
+ x382 = (x380 + x333);
+ x383 = (x382 >> 22);
+ x384 = (uint32_t)(x382 & UINT32_C(0x3fffff));
+ x385 = (x383 + x332);
+ x386 = (x385 >> 22);
+ x387 = (uint32_t)(x385 & UINT32_C(0x3fffff));
+ x388 = (x386 + x331);
+ x389 = (x388 >> 23);
+ x390 = (uint32_t)(x388 & UINT32_C(0x7fffff));
+ x391 = (x389 + x330);
+ x392 = (x391 >> 22);
+ x393 = (uint32_t)(x391 & UINT32_C(0x3fffff));
+ x394 = (x392 + x329);
+ x395 = (x394 >> 22);
+ x396 = (uint32_t)(x394 & UINT32_C(0x3fffff));
+ x397 = (x395 + x328);
+ x398 = (x397 >> 22);
+ x399 = (uint32_t)(x397 & UINT32_C(0x3fffff));
+ x400 = (x398 + x327);
+ x401 = (x400 >> 23);
+ x402 = (uint32_t)(x400 & UINT32_C(0x7fffff));
+ x403 = (x401 + x326);
+ x404 = (x403 >> 22);
+ x405 = (uint32_t)(x403 & UINT32_C(0x3fffff));
+ x406 = (x404 + x325);
+ x407 = (x406 >> 22);
+ x408 = (uint32_t)(x406 & UINT32_C(0x3fffff));
+ x409 = (x407 + x324);
+ x410 = (uint32_t)(x409 >> 22);
+ x411 = (uint32_t)(x409 & UINT32_C(0x3fffff));
+ x412 = ((uint64_t)UINT16_C(0x239) * x410);
+ x413 = (x323 + x412);
+ x414 = (uint32_t)(x413 >> 23);
+ x415 = (uint32_t)(x413 & UINT32_C(0x7fffff));
+ x416 = (x414 + x348);
+ x417 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x416 >> 22);
+ x418 = (x416 & UINT32_C(0x3fffff));
+ x419 = (x417 + x351);
+ out1[0] = x415;
+ out1[1] = x418;
+ out1[2] = x419;
+ out1[3] = x354;
+ out1[4] = x357;
+ out1[5] = x360;
+ out1[6] = x363;
+ out1[7] = x366;
+ out1[8] = x369;
+ out1[9] = x372;
+ out1[10] = x375;
+ out1[11] = x378;
+ out1[12] = x381;
+ out1[13] = x384;
+ out1[14] = x387;
+ out1[15] = x390;
+ out1[16] = x393;
+ out1[17] = x396;
+ out1[18] = x399;
+ out1[19] = x402;
+ out1[20] = x405;
+ out1[21] = x408;
+ out1[22] = x411;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_carry reduces a field element.
+ * Postconditions:
+ * eval out1 mod m = eval arg1 mod m
+ *
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetC_carry(
+ uint32_t out1[23], const uint32_t arg1[23]) {
+ uint32_t x1;
+ uint32_t x2;
+ uint32_t x3;
+ uint32_t x4;
+ uint32_t x5;
+ uint32_t x6;
+ uint32_t x7;
+ uint32_t x8;
+ uint32_t x9;
+ uint32_t x10;
+ uint32_t x11;
+ uint32_t x12;
+ uint32_t x13;
+ uint32_t x14;
+ uint32_t x15;
+ uint32_t x16;
+ uint32_t x17;
+ uint32_t x18;
+ uint32_t x19;
+ uint32_t x20;
+ uint32_t x21;
+ uint32_t x22;
+ uint32_t x23;
+ uint32_t x24;
+ uint32_t x25;
+ uint32_t x26;
+ uint32_t x27;
+ uint32_t x28;
+ uint32_t x29;
+ uint32_t x30;
+ uint32_t x31;
+ uint32_t x32;
+ uint32_t x33;
+ uint32_t x34;
+ uint32_t x35;
+ uint32_t x36;
+ uint32_t x37;
+ uint32_t x38;
+ uint32_t x39;
+ uint32_t x40;
+ uint32_t x41;
+ uint32_t x42;
+ uint32_t x43;
+ uint32_t x44;
+ uint32_t x45;
+ uint32_t x46;
+ uint32_t x47;
+ uint32_t x48;
+ x1 = (arg1[0]);
+ x2 = ((x1 >> 23) + (arg1[1]));
+ x3 = ((x2 >> 22) + (arg1[2]));
+ x4 = ((x3 >> 22) + (arg1[3]));
+ x5 = ((x4 >> 23) + (arg1[4]));
+ x6 = ((x5 >> 22) + (arg1[5]));
+ x7 = ((x6 >> 22) + (arg1[6]));
+ x8 = ((x7 >> 22) + (arg1[7]));
+ x9 = ((x8 >> 23) + (arg1[8]));
+ x10 = ((x9 >> 22) + (arg1[9]));
+ x11 = ((x10 >> 22) + (arg1[10]));
+ x12 = ((x11 >> 22) + (arg1[11]));
+ x13 = ((x12 >> 23) + (arg1[12]));
+ x14 = ((x13 >> 22) + (arg1[13]));
+ x15 = ((x14 >> 22) + (arg1[14]));
+ x16 = ((x15 >> 22) + (arg1[15]));
+ x17 = ((x16 >> 23) + (arg1[16]));
+ x18 = ((x17 >> 22) + (arg1[17]));
+ x19 = ((x18 >> 22) + (arg1[18]));
+ x20 = ((x19 >> 22) + (arg1[19]));
+ x21 = ((x20 >> 23) + (arg1[20]));
+ x22 = ((x21 >> 22) + (arg1[21]));
+ x23 = ((x22 >> 22) + (arg1[22]));
+ x24 = ((x1 & UINT32_C(0x7fffff)) + (UINT16_C(0x239) * (x23 >> 22)));
+ x25 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x24 >> 23) +
+ (x2 & UINT32_C(0x3fffff)));
+ x26 = (x24 & UINT32_C(0x7fffff));
+ x27 = (x25 & UINT32_C(0x3fffff));
+ x28 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x25 >> 22) +
+ (x3 & UINT32_C(0x3fffff)));
+ x29 = (x4 & UINT32_C(0x7fffff));
+ x30 = (x5 & UINT32_C(0x3fffff));
+ x31 = (x6 & UINT32_C(0x3fffff));
+ x32 = (x7 & UINT32_C(0x3fffff));
+ x33 = (x8 & UINT32_C(0x7fffff));
+ x34 = (x9 & UINT32_C(0x3fffff));
+ x35 = (x10 & UINT32_C(0x3fffff));
+ x36 = (x11 & UINT32_C(0x3fffff));
+ x37 = (x12 & UINT32_C(0x7fffff));
+ x38 = (x13 & UINT32_C(0x3fffff));
+ x39 = (x14 & UINT32_C(0x3fffff));
+ x40 = (x15 & UINT32_C(0x3fffff));
+ x41 = (x16 & UINT32_C(0x7fffff));
+ x42 = (x17 & UINT32_C(0x3fffff));
+ x43 = (x18 & UINT32_C(0x3fffff));
+ x44 = (x19 & UINT32_C(0x3fffff));
+ x45 = (x20 & UINT32_C(0x7fffff));
+ x46 = (x21 & UINT32_C(0x3fffff));
+ x47 = (x22 & UINT32_C(0x3fffff));
+ x48 = (x23 & UINT32_C(0x3fffff));
+ out1[0] = x26;
+ out1[1] = x27;
+ out1[2] = x28;
+ out1[3] = x29;
+ out1[4] = x30;
+ out1[5] = x31;
+ out1[6] = x32;
+ out1[7] = x33;
+ out1[8] = x34;
+ out1[9] = x35;
+ out1[10] = x36;
+ out1[11] = x37;
+ out1[12] = x38;
+ out1[13] = x39;
+ out1[14] = x40;
+ out1[15] = x41;
+ out1[16] = x42;
+ out1[17] = x43;
+ out1[18] = x44;
+ out1[19] = x45;
+ out1[20] = x46;
+ out1[21] = x47;
+ out1[22] = x48;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_add adds two field elements.
+ * Postconditions:
+ * eval out1 mod m = (eval arg1 + eval arg2) mod m
+ *
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666]]
+ * arg2: [[0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetC_add(
+ uint32_t out1[23], const uint32_t arg1[23], const uint32_t arg2[23]) {
+ uint32_t x1;
+ uint32_t x2;
+ uint32_t x3;
+ uint32_t x4;
+ uint32_t x5;
+ uint32_t x6;
+ uint32_t x7;
+ uint32_t x8;
+ uint32_t x9;
+ uint32_t x10;
+ uint32_t x11;
+ uint32_t x12;
+ uint32_t x13;
+ uint32_t x14;
+ uint32_t x15;
+ uint32_t x16;
+ uint32_t x17;
+ uint32_t x18;
+ uint32_t x19;
+ uint32_t x20;
+ uint32_t x21;
+ uint32_t x22;
+ uint32_t x23;
+ x1 = ((arg1[0]) + (arg2[0]));
+ x2 = ((arg1[1]) + (arg2[1]));
+ x3 = ((arg1[2]) + (arg2[2]));
+ x4 = ((arg1[3]) + (arg2[3]));
+ x5 = ((arg1[4]) + (arg2[4]));
+ x6 = ((arg1[5]) + (arg2[5]));
+ x7 = ((arg1[6]) + (arg2[6]));
+ x8 = ((arg1[7]) + (arg2[7]));
+ x9 = ((arg1[8]) + (arg2[8]));
+ x10 = ((arg1[9]) + (arg2[9]));
+ x11 = ((arg1[10]) + (arg2[10]));
+ x12 = ((arg1[11]) + (arg2[11]));
+ x13 = ((arg1[12]) + (arg2[12]));
+ x14 = ((arg1[13]) + (arg2[13]));
+ x15 = ((arg1[14]) + (arg2[14]));
+ x16 = ((arg1[15]) + (arg2[15]));
+ x17 = ((arg1[16]) + (arg2[16]));
+ x18 = ((arg1[17]) + (arg2[17]));
+ x19 = ((arg1[18]) + (arg2[18]));
+ x20 = ((arg1[19]) + (arg2[19]));
+ x21 = ((arg1[20]) + (arg2[20]));
+ x22 = ((arg1[21]) + (arg2[21]));
+ x23 = ((arg1[22]) + (arg2[22]));
+ out1[0] = x1;
+ out1[1] = x2;
+ out1[2] = x3;
+ out1[3] = x4;
+ out1[4] = x5;
+ out1[5] = x6;
+ out1[6] = x7;
+ out1[7] = x8;
+ out1[8] = x9;
+ out1[9] = x10;
+ out1[10] = x11;
+ out1[11] = x12;
+ out1[12] = x13;
+ out1[13] = x14;
+ out1[14] = x15;
+ out1[15] = x16;
+ out1[16] = x17;
+ out1[17] = x18;
+ out1[18] = x19;
+ out1[19] = x20;
+ out1[20] = x21;
+ out1[21] = x22;
+ out1[22] = x23;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_sub subtracts two field elements.
+ * Postconditions:
+ * eval out1 mod m = (eval arg1 - eval arg2) mod m
+ *
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666]]
+ * arg2: [[0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetC_sub(
+ uint32_t out1[23], const uint32_t arg1[23], const uint32_t arg2[23]) {
+ uint32_t x1;
+ uint32_t x2;
+ uint32_t x3;
+ uint32_t x4;
+ uint32_t x5;
+ uint32_t x6;
+ uint32_t x7;
+ uint32_t x8;
+ uint32_t x9;
+ uint32_t x10;
+ uint32_t x11;
+ uint32_t x12;
+ uint32_t x13;
+ uint32_t x14;
+ uint32_t x15;
+ uint32_t x16;
+ uint32_t x17;
+ uint32_t x18;
+ uint32_t x19;
+ uint32_t x20;
+ uint32_t x21;
+ uint32_t x22;
+ uint32_t x23;
+ x1 = ((UINT32_C(0xfffb8e) + (arg1[0])) - (arg2[0]));
+ x2 = ((UINT32_C(0x7ffffe) + (arg1[1])) - (arg2[1]));
+ x3 = ((UINT32_C(0x7ffffe) + (arg1[2])) - (arg2[2]));
+ x4 = ((UINT32_C(0xfffffe) + (arg1[3])) - (arg2[3]));
+ x5 = ((UINT32_C(0x7ffffe) + (arg1[4])) - (arg2[4]));
+ x6 = ((UINT32_C(0x7ffffe) + (arg1[5])) - (arg2[5]));
+ x7 = ((UINT32_C(0x7ffffe) + (arg1[6])) - (arg2[6]));
+ x8 = ((UINT32_C(0xfffffe) + (arg1[7])) - (arg2[7]));
+ x9 = ((UINT32_C(0x7ffffe) + (arg1[8])) - (arg2[8]));
+ x10 = ((UINT32_C(0x7ffffe) + (arg1[9])) - (arg2[9]));
+ x11 = ((UINT32_C(0x7ffffe) + (arg1[10])) - (arg2[10]));
+ x12 = ((UINT32_C(0xfffffe) + (arg1[11])) - (arg2[11]));
+ x13 = ((UINT32_C(0x7ffffe) + (arg1[12])) - (arg2[12]));
+ x14 = ((UINT32_C(0x7ffffe) + (arg1[13])) - (arg2[13]));
+ x15 = ((UINT32_C(0x7ffffe) + (arg1[14])) - (arg2[14]));
+ x16 = ((UINT32_C(0xfffffe) + (arg1[15])) - (arg2[15]));
+ x17 = ((UINT32_C(0x7ffffe) + (arg1[16])) - (arg2[16]));
+ x18 = ((UINT32_C(0x7ffffe) + (arg1[17])) - (arg2[17]));
+ x19 = ((UINT32_C(0x7ffffe) + (arg1[18])) - (arg2[18]));
+ x20 = ((UINT32_C(0xfffffe) + (arg1[19])) - (arg2[19]));
+ x21 = ((UINT32_C(0x7ffffe) + (arg1[20])) - (arg2[20]));
+ x22 = ((UINT32_C(0x7ffffe) + (arg1[21])) - (arg2[21]));
+ x23 = ((UINT32_C(0x7ffffe) + (arg1[22])) - (arg2[22]));
+ out1[0] = x1;
+ out1[1] = x2;
+ out1[2] = x3;
+ out1[3] = x4;
+ out1[4] = x5;
+ out1[5] = x6;
+ out1[6] = x7;
+ out1[7] = x8;
+ out1[8] = x9;
+ out1[9] = x10;
+ out1[10] = x11;
+ out1[11] = x12;
+ out1[12] = x13;
+ out1[13] = x14;
+ out1[14] = x15;
+ out1[15] = x16;
+ out1[16] = x17;
+ out1[17] = x18;
+ out1[18] = x19;
+ out1[19] = x20;
+ out1[20] = x21;
+ out1[21] = x22;
+ out1[22] = x23;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_opp negates a field element.
+ * Postconditions:
+ * eval out1 mod m = -eval arg1 mod m
+ *
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(
+ uint32_t out1[23], const uint32_t arg1[23]) {
+ uint32_t x1;
+ uint32_t x2;
+ uint32_t x3;
+ uint32_t x4;
+ uint32_t x5;
+ uint32_t x6;
+ uint32_t x7;
+ uint32_t x8;
+ uint32_t x9;
+ uint32_t x10;
+ uint32_t x11;
+ uint32_t x12;
+ uint32_t x13;
+ uint32_t x14;
+ uint32_t x15;
+ uint32_t x16;
+ uint32_t x17;
+ uint32_t x18;
+ uint32_t x19;
+ uint32_t x20;
+ uint32_t x21;
+ uint32_t x22;
+ uint32_t x23;
+ x1 = (UINT32_C(0xfffb8e) - (arg1[0]));
+ x2 = (UINT32_C(0x7ffffe) - (arg1[1]));
+ x3 = (UINT32_C(0x7ffffe) - (arg1[2]));
+ x4 = (UINT32_C(0xfffffe) - (arg1[3]));
+ x5 = (UINT32_C(0x7ffffe) - (arg1[4]));
+ x6 = (UINT32_C(0x7ffffe) - (arg1[5]));
+ x7 = (UINT32_C(0x7ffffe) - (arg1[6]));
+ x8 = (UINT32_C(0xfffffe) - (arg1[7]));
+ x9 = (UINT32_C(0x7ffffe) - (arg1[8]));
+ x10 = (UINT32_C(0x7ffffe) - (arg1[9]));
+ x11 = (UINT32_C(0x7ffffe) - (arg1[10]));
+ x12 = (UINT32_C(0xfffffe) - (arg1[11]));
+ x13 = (UINT32_C(0x7ffffe) - (arg1[12]));
+ x14 = (UINT32_C(0x7ffffe) - (arg1[13]));
+ x15 = (UINT32_C(0x7ffffe) - (arg1[14]));
+ x16 = (UINT32_C(0xfffffe) - (arg1[15]));
+ x17 = (UINT32_C(0x7ffffe) - (arg1[16]));
+ x18 = (UINT32_C(0x7ffffe) - (arg1[17]));
+ x19 = (UINT32_C(0x7ffffe) - (arg1[18]));
+ x20 = (UINT32_C(0xfffffe) - (arg1[19]));
+ x21 = (UINT32_C(0x7ffffe) - (arg1[20]));
+ x22 = (UINT32_C(0x7ffffe) - (arg1[21]));
+ x23 = (UINT32_C(0x7ffffe) - (arg1[22]));
+ out1[0] = x1;
+ out1[1] = x2;
+ out1[2] = x3;
+ out1[3] = x4;
+ out1[4] = x5;
+ out1[5] = x6;
+ out1[6] = x7;
+ out1[7] = x8;
+ out1[8] = x9;
+ out1[9] = x10;
+ out1[10] = x11;
+ out1[11] = x12;
+ out1[12] = x13;
+ out1[13] = x14;
+ out1[14] = x15;
+ out1[15] = x16;
+ out1[16] = x17;
+ out1[17] = x18;
+ out1[18] = x19;
+ out1[19] = x20;
+ out1[20] = x21;
+ out1[21] = x22;
+ out1[22] = x23;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz is a multi-limb conditional select.
+ * Postconditions:
+ * eval out1 = (if arg1 = 0 then eval arg2 else eval arg3)
+ *
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * arg3: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
+ uint32_t out1[23], fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1,
+ const uint32_t arg2[23], const uint32_t arg3[23]) {
+ uint32_t x1;
+ uint32_t x2;
+ uint32_t x3;
+ uint32_t x4;
+ uint32_t x5;
+ uint32_t x6;
+ uint32_t x7;
+ uint32_t x8;
+ uint32_t x9;
+ uint32_t x10;
+ uint32_t x11;
+ uint32_t x12;
+ uint32_t x13;
+ uint32_t x14;
+ uint32_t x15;
+ uint32_t x16;
+ uint32_t x17;
+ uint32_t x18;
+ uint32_t x19;
+ uint32_t x20;
+ uint32_t x21;
+ uint32_t x22;
+ uint32_t x23;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(&x1, arg1, (arg2[0]),
+ (arg3[0]));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(&x2, arg1, (arg2[1]),
+ (arg3[1]));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(&x3, arg1, (arg2[2]),
+ (arg3[2]));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(&x4, arg1, (arg2[3]),
+ (arg3[3]));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(&x5, arg1, (arg2[4]),
+ (arg3[4]));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(&x6, arg1, (arg2[5]),
+ (arg3[5]));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(&x7, arg1, (arg2[6]),
+ (arg3[6]));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(&x8, arg1, (arg2[7]),
+ (arg3[7]));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(&x9, arg1, (arg2[8]),
+ (arg3[8]));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(&x10, arg1, (arg2[9]),
+ (arg3[9]));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
+ &x11, arg1, (arg2[10]), (arg3[10]));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
+ &x12, arg1, (arg2[11]), (arg3[11]));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
+ &x13, arg1, (arg2[12]), (arg3[12]));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
+ &x14, arg1, (arg2[13]), (arg3[13]));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
+ &x15, arg1, (arg2[14]), (arg3[14]));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
+ &x16, arg1, (arg2[15]), (arg3[15]));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
+ &x17, arg1, (arg2[16]), (arg3[16]));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
+ &x18, arg1, (arg2[17]), (arg3[17]));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
+ &x19, arg1, (arg2[18]), (arg3[18]));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
+ &x20, arg1, (arg2[19]), (arg3[19]));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
+ &x21, arg1, (arg2[20]), (arg3[20]));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
+ &x22, arg1, (arg2[21]), (arg3[21]));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
+ &x23, arg1, (arg2[22]), (arg3[22]));
+ out1[0] = x1;
+ out1[1] = x2;
+ out1[2] = x3;
+ out1[3] = x4;
+ out1[4] = x5;
+ out1[5] = x6;
+ out1[6] = x7;
+ out1[7] = x8;
+ out1[8] = x9;
+ out1[9] = x10;
+ out1[10] = x11;
+ out1[11] = x12;
+ out1[12] = x13;
+ out1[13] = x14;
+ out1[14] = x15;
+ out1[15] = x16;
+ out1[16] = x17;
+ out1[17] = x18;
+ out1[18] = x19;
+ out1[19] = x20;
+ out1[20] = x21;
+ out1[21] = x22;
+ out1[22] = x23;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes serializes a field element to bytes in little-endian order.
+ * Postconditions:
+ * out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..63]
+ *
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(
+ uint8_t out1[64], const uint32_t arg1[23]) {
+ uint32_t x1;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x2;
+ uint32_t x3;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x4;
+ uint32_t x5;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x6;
+ uint32_t x7;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x8;
+ uint32_t x9;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x10;
+ uint32_t x11;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x12;
+ uint32_t x13;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x14;
+ uint32_t x15;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x16;
+ uint32_t x17;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x18;
+ uint32_t x19;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x20;
+ uint32_t x21;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x22;
+ uint32_t x23;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x24;
+ uint32_t x25;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x26;
+ uint32_t x27;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x28;
+ uint32_t x29;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x30;
+ uint32_t x31;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x32;
+ uint32_t x33;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x34;
+ uint32_t x35;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x36;
+ uint32_t x37;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x38;
+ uint32_t x39;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x40;
+ uint32_t x41;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x42;
+ uint32_t x43;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x44;
+ uint32_t x45;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x46;
+ uint32_t x47;
+ uint32_t x48;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x49;
+ uint32_t x50;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x51;
+ uint32_t x52;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x53;
+ uint32_t x54;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x55;
+ uint32_t x56;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x57;
+ uint32_t x58;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x59;
+ uint32_t x60;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x61;
+ uint32_t x62;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x63;
+ uint32_t x64;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x65;
+ uint32_t x66;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x67;
+ uint32_t x68;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x69;
+ uint32_t x70;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x71;
+ uint32_t x72;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x73;
+ uint32_t x74;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x75;
+ uint32_t x76;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x77;
+ uint32_t x78;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x79;
+ uint32_t x80;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x81;
+ uint32_t x82;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x83;
+ uint32_t x84;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x85;
+ uint32_t x86;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x87;
+ uint32_t x88;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x89;
+ uint32_t x90;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x91;
+ uint32_t x92;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x93;
+ uint32_t x94;
+ uint32_t x95;
+ uint32_t x96;
+ uint32_t x97;
+ uint32_t x98;
+ uint32_t x99;
+ uint32_t x100;
+ uint32_t x101;
+ uint32_t x102;
+ uint32_t x103;
+ uint32_t x104;
+ uint32_t x105;
+ uint32_t x106;
+ uint32_t x107;
+ uint32_t x108;
+ uint32_t x109;
+ uint32_t x110;
+ uint32_t x111;
+ uint32_t x112;
+ uint32_t x113;
+ uint32_t x114;
+ uint8_t x115;
+ uint8_t x116;
+ uint8_t x117;
+ uint32_t x118;
+ uint32_t x119;
+ uint8_t x120;
+ uint32_t x121;
+ uint8_t x122;
+ uint8_t x123;
+ uint8_t x124;
+ uint32_t x125;
+ uint32_t x126;
+ uint8_t x127;
+ uint32_t x128;
+ uint8_t x129;
+ uint8_t x130;
+ uint8_t x131;
+ uint32_t x132;
+ uint32_t x133;
+ uint8_t x134;
+ uint32_t x135;
+ uint8_t x136;
+ uint8_t x137;
+ uint8_t x138;
+ uint32_t x139;
+ uint32_t x140;
+ uint8_t x141;
+ uint8_t x142;
+ uint8_t x143;
+ uint8_t x144;
+ uint32_t x145;
+ uint8_t x146;
+ uint8_t x147;
+ uint8_t x148;
+ uint32_t x149;
+ uint32_t x150;
+ uint8_t x151;
+ uint32_t x152;
+ uint8_t x153;
+ uint8_t x154;
+ uint8_t x155;
+ uint32_t x156;
+ uint32_t x157;
+ uint8_t x158;
+ uint32_t x159;
+ uint8_t x160;
+ uint8_t x161;
+ uint8_t x162;
+ uint32_t x163;
+ uint32_t x164;
+ uint8_t x165;
+ uint32_t x166;
+ uint8_t x167;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x168;
+ uint8_t x169;
+ uint32_t x170;
+ uint32_t x171;
+ uint8_t x172;
+ uint8_t x173;
+ uint8_t x174;
+ uint32_t x175;
+ uint32_t x176;
+ uint8_t x177;
+ uint32_t x178;
+ uint8_t x179;
+ uint8_t x180;
+ uint8_t x181;
+ uint32_t x182;
+ uint32_t x183;
+ uint8_t x184;
+ uint32_t x185;
+ uint8_t x186;
+ uint8_t x187;
+ uint8_t x188;
+ uint32_t x189;
+ uint32_t x190;
+ uint8_t x191;
+ uint32_t x192;
+ uint8_t x193;
+ uint8_t x194;
+ uint8_t x195;
+ uint32_t x196;
+ uint32_t x197;
+ uint8_t x198;
+ uint8_t x199;
+ uint8_t x200;
+ uint8_t x201;
+ uint32_t x202;
+ uint8_t x203;
+ uint8_t x204;
+ uint8_t x205;
+ uint32_t x206;
+ uint32_t x207;
+ uint8_t x208;
+ uint32_t x209;
+ uint8_t x210;
+ uint8_t x211;
+ uint8_t x212;
+ uint32_t x213;
+ uint32_t x214;
+ uint8_t x215;
+ uint32_t x216;
+ uint8_t x217;
+ uint8_t x218;
+ uint8_t x219;
+ uint32_t x220;
+ uint32_t x221;
+ uint8_t x222;
+ uint32_t x223;
+ uint8_t x224;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x225;
+ uint8_t x226;
+ uint32_t x227;
+ uint32_t x228;
+ uint8_t x229;
+ uint8_t x230;
+ uint8_t x231;
+ uint32_t x232;
+ uint32_t x233;
+ uint8_t x234;
+ uint32_t x235;
+ uint8_t x236;
+ uint8_t x237;
+ uint8_t x238;
+ uint32_t x239;
+ uint32_t x240;
+ uint8_t x241;
+ uint32_t x242;
+ uint8_t x243;
+ uint8_t x244;
+ uint8_t x245;
+ uint32_t x246;
+ uint32_t x247;
+ uint8_t x248;
+ uint32_t x249;
+ uint8_t x250;
+ uint8_t x251;
+ uint8_t x252;
+ uint32_t x253;
+ uint32_t x254;
+ uint8_t x255;
+ uint8_t x256;
+ uint8_t x257;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u23(
+ &x1, &x2, 0x0, (arg1[0]), UINT32_C(0x7ffdc7));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
+ &x3, &x4, x2, (arg1[1]), UINT32_C(0x3fffff));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
+ &x5, &x6, x4, (arg1[2]), UINT32_C(0x3fffff));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u23(
+ &x7, &x8, x6, (arg1[3]), UINT32_C(0x7fffff));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
+ &x9, &x10, x8, (arg1[4]), UINT32_C(0x3fffff));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
+ &x11, &x12, x10, (arg1[5]), UINT32_C(0x3fffff));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
+ &x13, &x14, x12, (arg1[6]), UINT32_C(0x3fffff));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u23(
+ &x15, &x16, x14, (arg1[7]), UINT32_C(0x7fffff));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
+ &x17, &x18, x16, (arg1[8]), UINT32_C(0x3fffff));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
+ &x19, &x20, x18, (arg1[9]), UINT32_C(0x3fffff));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
+ &x21, &x22, x20, (arg1[10]), UINT32_C(0x3fffff));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u23(
+ &x23, &x24, x22, (arg1[11]), UINT32_C(0x7fffff));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
+ &x25, &x26, x24, (arg1[12]), UINT32_C(0x3fffff));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
+ &x27, &x28, x26, (arg1[13]), UINT32_C(0x3fffff));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
+ &x29, &x30, x28, (arg1[14]), UINT32_C(0x3fffff));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u23(
+ &x31, &x32, x30, (arg1[15]), UINT32_C(0x7fffff));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
+ &x33, &x34, x32, (arg1[16]), UINT32_C(0x3fffff));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
+ &x35, &x36, x34, (arg1[17]), UINT32_C(0x3fffff));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
+ &x37, &x38, x36, (arg1[18]), UINT32_C(0x3fffff));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u23(
+ &x39, &x40, x38, (arg1[19]), UINT32_C(0x7fffff));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
+ &x41, &x42, x40, (arg1[20]), UINT32_C(0x3fffff));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
+ &x43, &x44, x42, (arg1[21]), UINT32_C(0x3fffff));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
+ &x45, &x46, x44, (arg1[22]), UINT32_C(0x3fffff));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(&x47, x46, 0x0,
+ UINT32_C(0xffffffff));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u23(
+ &x48, &x49, 0x0, x1, (x47 & UINT32_C(0x7ffdc7)));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
+ &x50, &x51, x49, x3, (x47 & UINT32_C(0x3fffff)));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
+ &x52, &x53, x51, x5, (x47 & UINT32_C(0x3fffff)));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u23(
+ &x54, &x55, x53, x7, (x47 & UINT32_C(0x7fffff)));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
+ &x56, &x57, x55, x9, (x47 & UINT32_C(0x3fffff)));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
+ &x58, &x59, x57, x11, (x47 & UINT32_C(0x3fffff)));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
+ &x60, &x61, x59, x13, (x47 & UINT32_C(0x3fffff)));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u23(
+ &x62, &x63, x61, x15, (x47 & UINT32_C(0x7fffff)));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
+ &x64, &x65, x63, x17, (x47 & UINT32_C(0x3fffff)));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
+ &x66, &x67, x65, x19, (x47 & UINT32_C(0x3fffff)));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
+ &x68, &x69, x67, x21, (x47 & UINT32_C(0x3fffff)));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u23(
+ &x70, &x71, x69, x23, (x47 & UINT32_C(0x7fffff)));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
+ &x72, &x73, x71, x25, (x47 & UINT32_C(0x3fffff)));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
+ &x74, &x75, x73, x27, (x47 & UINT32_C(0x3fffff)));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
+ &x76, &x77, x75, x29, (x47 & UINT32_C(0x3fffff)));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u23(
+ &x78, &x79, x77, x31, (x47 & UINT32_C(0x7fffff)));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
+ &x80, &x81, x79, x33, (x47 & UINT32_C(0x3fffff)));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
+ &x82, &x83, x81, x35, (x47 & UINT32_C(0x3fffff)));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
+ &x84, &x85, x83, x37, (x47 & UINT32_C(0x3fffff)));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u23(
+ &x86, &x87, x85, x39, (x47 & UINT32_C(0x7fffff)));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
+ &x88, &x89, x87, x41, (x47 & UINT32_C(0x3fffff)));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
+ &x90, &x91, x89, x43, (x47 & UINT32_C(0x3fffff)));
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
+ &x92, &x93, x91, x45, (x47 & UINT32_C(0x3fffff)));
+ x94 = (x92 << 2);
+ x95 = (x90 << 4);
+ x96 = (x88 << 6);
+ x97 = (x86 << 7);
+ x98 = (x84 * (uint32_t)0x2);
+ x99 = (x82 << 3);
+ x100 = (x80 << 5);
+ x101 = (x78 << 6);
+ x102 = (x74 << 2);
+ x103 = (x72 << 4);
+ x104 = (x70 << 5);
+ x105 = (x68 << 7);
+ x106 = (x66 * (uint32_t)0x2);
+ x107 = (x64 << 3);
+ x108 = (x62 << 4);
+ x109 = (x60 << 6);
+ x110 = (x56 << 2);
+ x111 = (x54 << 3);
+ x112 = (x52 << 5);
+ x113 = (x50 << 7);
+ x114 = (x48 >> 8);
+ x115 = (uint8_t)(x48 & UINT8_C(0xff));
+ x116 = (uint8_t)(x114 >> 8);
+ x117 = (uint8_t)(x114 & UINT8_C(0xff));
+ x118 = (x116 + x113);
+ x119 = (x118 >> 8);
+ x120 = (uint8_t)(x118 & UINT8_C(0xff));
+ x121 = (x119 >> 8);
+ x122 = (uint8_t)(x119 & UINT8_C(0xff));
+ x123 = (uint8_t)(x121 >> 8);
+ x124 = (uint8_t)(x121 & UINT8_C(0xff));
+ x125 = (x123 + x112);
+ x126 = (x125 >> 8);
+ x127 = (uint8_t)(x125 & UINT8_C(0xff));
+ x128 = (x126 >> 8);
+ x129 = (uint8_t)(x126 & UINT8_C(0xff));
+ x130 = (uint8_t)(x128 >> 8);
+ x131 = (uint8_t)(x128 & UINT8_C(0xff));
+ x132 = (x130 + x111);
+ x133 = (x132 >> 8);
+ x134 = (uint8_t)(x132 & UINT8_C(0xff));
+ x135 = (x133 >> 8);
+ x136 = (uint8_t)(x133 & UINT8_C(0xff));
+ x137 = (uint8_t)(x135 >> 8);
+ x138 = (uint8_t)(x135 & UINT8_C(0xff));
+ x139 = (x137 + x110);
+ x140 = (x139 >> 8);
+ x141 = (uint8_t)(x139 & UINT8_C(0xff));
+ x142 = (uint8_t)(x140 >> 8);
+ x143 = (uint8_t)(x140 & UINT8_C(0xff));
+ x144 = (uint8_t)(x142 & UINT8_C(0xff));
+ x145 = (x58 >> 8);
+ x146 = (uint8_t)(x58 & UINT8_C(0xff));
+ x147 = (uint8_t)(x145 >> 8);
+ x148 = (uint8_t)(x145 & UINT8_C(0xff));
+ x149 = (x147 + x109);
+ x150 = (x149 >> 8);
+ x151 = (uint8_t)(x149 & UINT8_C(0xff));
+ x152 = (x150 >> 8);
+ x153 = (uint8_t)(x150 & UINT8_C(0xff));
+ x154 = (uint8_t)(x152 >> 8);
+ x155 = (uint8_t)(x152 & UINT8_C(0xff));
+ x156 = (x154 + x108);
+ x157 = (x156 >> 8);
+ x158 = (uint8_t)(x156 & UINT8_C(0xff));
+ x159 = (x157 >> 8);
+ x160 = (uint8_t)(x157 & UINT8_C(0xff));
+ x161 = (uint8_t)(x159 >> 8);
+ x162 = (uint8_t)(x159 & UINT8_C(0xff));
+ x163 = (x161 + x107);
+ x164 = (x163 >> 8);
+ x165 = (uint8_t)(x163 & UINT8_C(0xff));
+ x166 = (x164 >> 8);
+ x167 = (uint8_t)(x164 & UINT8_C(0xff));
+ x168 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x166 >> 8);
+ x169 = (uint8_t)(x166 & UINT8_C(0xff));
+ x170 = (x168 + x106);
+ x171 = (x170 >> 8);
+ x172 = (uint8_t)(x170 & UINT8_C(0xff));
+ x173 = (uint8_t)(x171 >> 8);
+ x174 = (uint8_t)(x171 & UINT8_C(0xff));
+ x175 = (x173 + x105);
+ x176 = (x175 >> 8);
+ x177 = (uint8_t)(x175 & UINT8_C(0xff));
+ x178 = (x176 >> 8);
+ x179 = (uint8_t)(x176 & UINT8_C(0xff));
+ x180 = (uint8_t)(x178 >> 8);
+ x181 = (uint8_t)(x178 & UINT8_C(0xff));
+ x182 = (x180 + x104);
+ x183 = (x182 >> 8);
+ x184 = (uint8_t)(x182 & UINT8_C(0xff));
+ x185 = (x183 >> 8);
+ x186 = (uint8_t)(x183 & UINT8_C(0xff));
+ x187 = (uint8_t)(x185 >> 8);
+ x188 = (uint8_t)(x185 & UINT8_C(0xff));
+ x189 = (x187 + x103);
+ x190 = (x189 >> 8);
+ x191 = (uint8_t)(x189 & UINT8_C(0xff));
+ x192 = (x190 >> 8);
+ x193 = (uint8_t)(x190 & UINT8_C(0xff));
+ x194 = (uint8_t)(x192 >> 8);
+ x195 = (uint8_t)(x192 & UINT8_C(0xff));
+ x196 = (x194 + x102);
+ x197 = (x196 >> 8);
+ x198 = (uint8_t)(x196 & UINT8_C(0xff));
+ x199 = (uint8_t)(x197 >> 8);
+ x200 = (uint8_t)(x197 & UINT8_C(0xff));
+ x201 = (uint8_t)(x199 & UINT8_C(0xff));
+ x202 = (x76 >> 8);
+ x203 = (uint8_t)(x76 & UINT8_C(0xff));
+ x204 = (uint8_t)(x202 >> 8);
+ x205 = (uint8_t)(x202 & UINT8_C(0xff));
+ x206 = (x204 + x101);
+ x207 = (x206 >> 8);
+ x208 = (uint8_t)(x206 & UINT8_C(0xff));
+ x209 = (x207 >> 8);
+ x210 = (uint8_t)(x207 & UINT8_C(0xff));
+ x211 = (uint8_t)(x209 >> 8);
+ x212 = (uint8_t)(x209 & UINT8_C(0xff));
+ x213 = (x211 + x100);
+ x214 = (x213 >> 8);
+ x215 = (uint8_t)(x213 & UINT8_C(0xff));
+ x216 = (x214 >> 8);
+ x217 = (uint8_t)(x214 & UINT8_C(0xff));
+ x218 = (uint8_t)(x216 >> 8);
+ x219 = (uint8_t)(x216 & UINT8_C(0xff));
+ x220 = (x218 + x99);
+ x221 = (x220 >> 8);
+ x222 = (uint8_t)(x220 & UINT8_C(0xff));
+ x223 = (x221 >> 8);
+ x224 = (uint8_t)(x221 & UINT8_C(0xff));
+ x225 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x223 >> 8);
+ x226 = (uint8_t)(x223 & UINT8_C(0xff));
+ x227 = (x225 + x98);
+ x228 = (x227 >> 8);
+ x229 = (uint8_t)(x227 & UINT8_C(0xff));
+ x230 = (uint8_t)(x228 >> 8);
+ x231 = (uint8_t)(x228 & UINT8_C(0xff));
+ x232 = (x230 + x97);
+ x233 = (x232 >> 8);
+ x234 = (uint8_t)(x232 & UINT8_C(0xff));
+ x235 = (x233 >> 8);
+ x236 = (uint8_t)(x233 & UINT8_C(0xff));
+ x237 = (uint8_t)(x235 >> 8);
+ x238 = (uint8_t)(x235 & UINT8_C(0xff));
+ x239 = (x237 + x96);
+ x240 = (x239 >> 8);
+ x241 = (uint8_t)(x239 & UINT8_C(0xff));
+ x242 = (x240 >> 8);
+ x243 = (uint8_t)(x240 & UINT8_C(0xff));
+ x244 = (uint8_t)(x242 >> 8);
+ x245 = (uint8_t)(x242 & UINT8_C(0xff));
+ x246 = (x244 + x95);
+ x247 = (x246 >> 8);
+ x248 = (uint8_t)(x246 & UINT8_C(0xff));
+ x249 = (x247 >> 8);
+ x250 = (uint8_t)(x247 & UINT8_C(0xff));
+ x251 = (uint8_t)(x249 >> 8);
+ x252 = (uint8_t)(x249 & UINT8_C(0xff));
+ x253 = (x251 + x94);
+ x254 = (x253 >> 8);
+ x255 = (uint8_t)(x253 & UINT8_C(0xff));
+ x256 = (uint8_t)(x254 >> 8);
+ x257 = (uint8_t)(x254 & UINT8_C(0xff));
+ out1[0] = x115;
+ out1[1] = x117;
+ out1[2] = x120;
+ out1[3] = x122;
+ out1[4] = x124;
+ out1[5] = x127;
+ out1[6] = x129;
+ out1[7] = x131;
+ out1[8] = x134;
+ out1[9] = x136;
+ out1[10] = x138;
+ out1[11] = x141;
+ out1[12] = x143;
+ out1[13] = x144;
+ out1[14] = x146;
+ out1[15] = x148;
+ out1[16] = x151;
+ out1[17] = x153;
+ out1[18] = x155;
+ out1[19] = x158;
+ out1[20] = x160;
+ out1[21] = x162;
+ out1[22] = x165;
+ out1[23] = x167;
+ out1[24] = x169;
+ out1[25] = x172;
+ out1[26] = x174;
+ out1[27] = x177;
+ out1[28] = x179;
+ out1[29] = x181;
+ out1[30] = x184;
+ out1[31] = x186;
+ out1[32] = x188;
+ out1[33] = x191;
+ out1[34] = x193;
+ out1[35] = x195;
+ out1[36] = x198;
+ out1[37] = x200;
+ out1[38] = x201;
+ out1[39] = x203;
+ out1[40] = x205;
+ out1[41] = x208;
+ out1[42] = x210;
+ out1[43] = x212;
+ out1[44] = x215;
+ out1[45] = x217;
+ out1[46] = x219;
+ out1[47] = x222;
+ out1[48] = x224;
+ out1[49] = x226;
+ out1[50] = x229;
+ out1[51] = x231;
+ out1[52] = x234;
+ out1[53] = x236;
+ out1[54] = x238;
+ out1[55] = x241;
+ out1[56] = x243;
+ out1[57] = x245;
+ out1[58] = x248;
+ out1[59] = x250;
+ out1[60] = x252;
+ out1[61] = x255;
+ out1[62] = x257;
+ out1[63] = x256;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes deserializes a field element from bytes in little-endian order.
+ * Postconditions:
+ * eval out1 mod m = bytes_eval arg1 mod m
+ *
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes(
+ uint32_t out1[23], const uint8_t arg1[64]) {
+ uint32_t x1;
+ uint32_t x2;
+ uint32_t x3;
+ uint32_t x4;
+ uint32_t x5;
+ uint32_t x6;
+ uint32_t x7;
+ uint32_t x8;
+ uint32_t x9;
+ uint32_t x10;
+ uint32_t x11;
+ uint32_t x12;
+ uint32_t x13;
+ uint32_t x14;
+ uint32_t x15;
+ uint32_t x16;
+ uint32_t x17;
+ uint32_t x18;
+ uint32_t x19;
+ uint32_t x20;
+ uint32_t x21;
+ uint32_t x22;
+ uint32_t x23;
+ uint32_t x24;
+ uint8_t x25;
+ uint32_t x26;
+ uint32_t x27;
+ uint32_t x28;
+ uint32_t x29;
+ uint32_t x30;
+ uint32_t x31;
+ uint32_t x32;
+ uint32_t x33;
+ uint32_t x34;
+ uint32_t x35;
+ uint32_t x36;
+ uint32_t x37;
+ uint32_t x38;
+ uint32_t x39;
+ uint32_t x40;
+ uint32_t x41;
+ uint32_t x42;
+ uint32_t x43;
+ uint32_t x44;
+ uint32_t x45;
+ uint32_t x46;
+ uint32_t x47;
+ uint32_t x48;
+ uint32_t x49;
+ uint8_t x50;
+ uint32_t x51;
+ uint32_t x52;
+ uint32_t x53;
+ uint32_t x54;
+ uint32_t x55;
+ uint32_t x56;
+ uint32_t x57;
+ uint32_t x58;
+ uint32_t x59;
+ uint32_t x60;
+ uint32_t x61;
+ uint32_t x62;
+ uint32_t x63;
+ uint8_t x64;
+ uint32_t x65;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x66;
+ uint32_t x67;
+ uint32_t x68;
+ uint32_t x69;
+ uint32_t x70;
+ uint32_t x71;
+ uint32_t x72;
+ uint32_t x73;
+ uint32_t x74;
+ uint32_t x75;
+ uint32_t x76;
+ uint32_t x77;
+ uint32_t x78;
+ uint32_t x79;
+ uint32_t x80;
+ uint32_t x81;
+ uint32_t x82;
+ uint32_t x83;
+ uint32_t x84;
+ uint32_t x85;
+ uint32_t x86;
+ uint32_t x87;
+ uint32_t x88;
+ uint32_t x89;
+ uint32_t x90;
+ uint8_t x91;
+ uint32_t x92;
+ uint32_t x93;
+ uint8_t x94;
+ uint32_t x95;
+ uint32_t x96;
+ uint8_t x97;
+ uint32_t x98;
+ uint32_t x99;
+ uint32_t x100;
+ uint8_t x101;
+ uint32_t x102;
+ uint32_t x103;
+ uint8_t x104;
+ uint32_t x105;
+ uint32_t x106;
+ uint8_t x107;
+ uint32_t x108;
+ uint32_t x109;
+ uint8_t x110;
+ uint32_t x111;
+ uint32_t x112;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x113;
+ uint32_t x114;
+ uint32_t x115;
+ uint8_t x116;
+ uint32_t x117;
+ uint32_t x118;
+ uint8_t x119;
+ uint32_t x120;
+ uint32_t x121;
+ uint8_t x122;
+ uint32_t x123;
+ uint32_t x124;
+ uint32_t x125;
+ uint8_t x126;
+ uint32_t x127;
+ uint32_t x128;
+ uint8_t x129;
+ uint32_t x130;
+ uint32_t x131;
+ uint8_t x132;
+ uint32_t x133;
+ uint32_t x134;
+ uint8_t x135;
+ uint32_t x136;
+ uint32_t x137;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x138;
+ uint32_t x139;
+ uint32_t x140;
+ uint8_t x141;
+ uint32_t x142;
+ uint32_t x143;
+ uint8_t x144;
+ uint32_t x145;
+ uint32_t x146;
+ uint8_t x147;
+ uint32_t x148;
+ uint32_t x149;
+ x1 = ((uint32_t)(arg1[63]) << 14);
+ x2 = ((uint32_t)(arg1[62]) << 6);
+ x3 = ((uint32_t)(arg1[61]) << 20);
+ x4 = ((uint32_t)(arg1[60]) << 12);
+ x5 = ((uint32_t)(arg1[59]) << 4);
+ x6 = ((uint32_t)(arg1[58]) << 18);
+ x7 = ((uint32_t)(arg1[57]) << 10);
+ x8 = ((uint32_t)(arg1[56]) << 2);
+ x9 = ((uint32_t)(arg1[55]) << 17);
+ x10 = ((uint32_t)(arg1[54]) << 9);
+ x11 = ((uint32_t)(arg1[53]) * 0x2);
+ x12 = ((uint32_t)(arg1[52]) << 15);
+ x13 = ((uint32_t)(arg1[51]) << 7);
+ x14 = ((uint32_t)(arg1[50]) << 21);
+ x15 = ((uint32_t)(arg1[49]) << 13);
+ x16 = ((uint32_t)(arg1[48]) << 5);
+ x17 = ((uint32_t)(arg1[47]) << 19);
+ x18 = ((uint32_t)(arg1[46]) << 11);
+ x19 = ((uint32_t)(arg1[45]) << 3);
+ x20 = ((uint32_t)(arg1[44]) << 18);
+ x21 = ((uint32_t)(arg1[43]) << 10);
+ x22 = ((uint32_t)(arg1[42]) << 2);
+ x23 = ((uint32_t)(arg1[41]) << 16);
+ x24 = ((uint32_t)(arg1[40]) << 8);
+ x25 = (arg1[39]);
+ x26 = ((uint32_t)(arg1[38]) << 14);
+ x27 = ((uint32_t)(arg1[37]) << 6);
+ x28 = ((uint32_t)(arg1[36]) << 20);
+ x29 = ((uint32_t)(arg1[35]) << 12);
+ x30 = ((uint32_t)(arg1[34]) << 4);
+ x31 = ((uint32_t)(arg1[33]) << 19);
+ x32 = ((uint32_t)(arg1[32]) << 11);
+ x33 = ((uint32_t)(arg1[31]) << 3);
+ x34 = ((uint32_t)(arg1[30]) << 17);
+ x35 = ((uint32_t)(arg1[29]) << 9);
+ x36 = ((uint32_t)(arg1[28]) * 0x2);
+ x37 = ((uint32_t)(arg1[27]) << 15);
+ x38 = ((uint32_t)(arg1[26]) << 7);
+ x39 = ((uint32_t)(arg1[25]) << 21);
+ x40 = ((uint32_t)(arg1[24]) << 13);
+ x41 = ((uint32_t)(arg1[23]) << 5);
+ x42 = ((uint32_t)(arg1[22]) << 20);
+ x43 = ((uint32_t)(arg1[21]) << 12);
+ x44 = ((uint32_t)(arg1[20]) << 4);
+ x45 = ((uint32_t)(arg1[19]) << 18);
+ x46 = ((uint32_t)(arg1[18]) << 10);
+ x47 = ((uint32_t)(arg1[17]) << 2);
+ x48 = ((uint32_t)(arg1[16]) << 16);
+ x49 = ((uint32_t)(arg1[15]) << 8);
+ x50 = (arg1[14]);
+ x51 = ((uint32_t)(arg1[13]) << 14);
+ x52 = ((uint32_t)(arg1[12]) << 6);
+ x53 = ((uint32_t)(arg1[11]) << 21);
+ x54 = ((uint32_t)(arg1[10]) << 13);
+ x55 = ((uint32_t)(arg1[9]) << 5);
+ x56 = ((uint32_t)(arg1[8]) << 19);
+ x57 = ((uint32_t)(arg1[7]) << 11);
+ x58 = ((uint32_t)(arg1[6]) << 3);
+ x59 = ((uint32_t)(arg1[5]) << 17);
+ x60 = ((uint32_t)(arg1[4]) << 9);
+ x61 = ((uint32_t)(arg1[3]) * 0x2);
+ x62 = ((uint32_t)(arg1[2]) << 16);
+ x63 = ((uint32_t)(arg1[1]) << 8);
+ x64 = (arg1[0]);
+ x65 = (x64 + (x63 + x62));
+ x66 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x65 >> 23);
+ x67 = (x65 & UINT32_C(0x7fffff));
+ x68 = (x2 + x1);
+ x69 = (x5 + (x4 + x3));
+ x70 = (x8 + (x7 + x6));
+ x71 = (x11 + (x10 + x9));
+ x72 = (x13 + x12);
+ x73 = (x16 + (x15 + x14));
+ x74 = (x19 + (x18 + x17));
+ x75 = (x22 + (x21 + x20));
+ x76 = (x25 + (x24 + x23));
+ x77 = (x27 + x26);
+ x78 = (x30 + (x29 + x28));
+ x79 = (x33 + (x32 + x31));
+ x80 = (x36 + (x35 + x34));
+ x81 = (x38 + x37);
+ x82 = (x41 + (x40 + x39));
+ x83 = (x44 + (x43 + x42));
+ x84 = (x47 + (x46 + x45));
+ x85 = (x50 + (x49 + x48));
+ x86 = (x52 + x51);
+ x87 = (x55 + (x54 + x53));
+ x88 = (x58 + (x57 + x56));
+ x89 = (x61 + (x60 + x59));
+ x90 = (x66 + x89);
+ x91 = (uint8_t)(x90 >> 22);
+ x92 = (x90 & UINT32_C(0x3fffff));
+ x93 = (x91 + x88);
+ x94 = (uint8_t)(x93 >> 22);
+ x95 = (x93 & UINT32_C(0x3fffff));
+ x96 = (x94 + x87);
+ x97 = (uint8_t)(x96 >> 23);
+ x98 = (x96 & UINT32_C(0x7fffff));
+ x99 = (x97 + x86);
+ x100 = (x99 & UINT32_C(0x3fffff));
+ x101 = (uint8_t)(x85 >> 22);
+ x102 = (x85 & UINT32_C(0x3fffff));
+ x103 = (x101 + x84);
+ x104 = (uint8_t)(x103 >> 22);
+ x105 = (x103 & UINT32_C(0x3fffff));
+ x106 = (x104 + x83);
+ x107 = (uint8_t)(x106 >> 23);
+ x108 = (x106 & UINT32_C(0x7fffff));
+ x109 = (x107 + x82);
+ x110 = (uint8_t)(x109 >> 22);
+ x111 = (x109 & UINT32_C(0x3fffff));
+ x112 = (x110 + x81);
+ x113 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x112 >> 22);
+ x114 = (x112 & UINT32_C(0x3fffff));
+ x115 = (x113 + x80);
+ x116 = (uint8_t)(x115 >> 22);
+ x117 = (x115 & UINT32_C(0x3fffff));
+ x118 = (x116 + x79);
+ x119 = (uint8_t)(x118 >> 23);
+ x120 = (x118 & UINT32_C(0x7fffff));
+ x121 = (x119 + x78);
+ x122 = (uint8_t)(x121 >> 22);
+ x123 = (x121 & UINT32_C(0x3fffff));
+ x124 = (x122 + x77);
+ x125 = (x124 & UINT32_C(0x3fffff));
+ x126 = (uint8_t)(x76 >> 22);
+ x127 = (x76 & UINT32_C(0x3fffff));
+ x128 = (x126 + x75);
+ x129 = (uint8_t)(x128 >> 23);
+ x130 = (x128 & UINT32_C(0x7fffff));
+ x131 = (x129 + x74);
+ x132 = (uint8_t)(x131 >> 22);
+ x133 = (x131 & UINT32_C(0x3fffff));
+ x134 = (x132 + x73);
+ x135 = (uint8_t)(x134 >> 22);
+ x136 = (x134 & UINT32_C(0x3fffff));
+ x137 = (x135 + x72);
+ x138 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x137 >> 22);
+ x139 = (x137 & UINT32_C(0x3fffff));
+ x140 = (x138 + x71);
+ x141 = (uint8_t)(x140 >> 23);
+ x142 = (x140 & UINT32_C(0x7fffff));
+ x143 = (x141 + x70);
+ x144 = (uint8_t)(x143 >> 22);
+ x145 = (x143 & UINT32_C(0x3fffff));
+ x146 = (x144 + x69);
+ x147 = (uint8_t)(x146 >> 22);
+ x148 = (x146 & UINT32_C(0x3fffff));
+ x149 = (x147 + x68);
+ out1[0] = x67;
+ out1[1] = x92;
+ out1[2] = x95;
+ out1[3] = x98;
+ out1[4] = x100;
+ out1[5] = x102;
+ out1[6] = x105;
+ out1[7] = x108;
+ out1[8] = x111;
+ out1[9] = x114;
+ out1[10] = x117;
+ out1[11] = x120;
+ out1[12] = x123;
+ out1[13] = x125;
+ out1[14] = x127;
+ out1[15] = x130;
+ out1[16] = x133;
+ out1[17] = x136;
+ out1[18] = x139;
+ out1[19] = x142;
+ out1[20] = x145;
+ out1[21] = x148;
+ out1[22] = x149;
+}
+
+/* END verbatim fiat code */
+
+/*-
+ * Finite field inversion via FLT.
+ * NB: this is not a real Fiat function, just named that way for consistency.
+ * Autogenerated: ecp/id_tc26_gost_3410_2012_512_paramSetC/fe_inv.op3
+ * custom repunit addition chain
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetC_inv(fe_t output,
+ const fe_t t1) {
+ int i;
+ /* temporary variables */
+ fe_t acc, t102, t12, t198, t2, t200, t24, t3, t400, t48, t502, t6, t96;
+
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t2, acc, t1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t3, acc, t1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t3);
+ for (i = 0; i < 2; i++)
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t6, acc, t3);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t6);
+ for (i = 0; i < 5; i++)
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t12, acc, t6);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t12);
+ for (i = 0; i < 11; i++)
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t24, acc, t12);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t24);
+ for (i = 0; i < 23; i++)
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t48, acc, t24);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t48);
+ for (i = 0; i < 47; i++)
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t96, acc, t48);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t96);
+ for (i = 0; i < 5; i++)
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t102, acc, t6);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t102);
+ for (i = 0; i < 95; i++)
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t198, acc, t96);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t198);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t200, acc, t2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t200);
+ for (i = 0; i < 199; i++)
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t400, acc, t200);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t400);
+ for (i = 0; i < 101; i++)
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t502, acc, t102);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t502);
+ for (i = 0; i < 3; i++)
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(acc, acc, t3);
+ for (i = 0; i < 4; i++)
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(acc, acc, t1);
+ for (i = 0; i < 2; i++)
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(output, acc, t1);
+}
+
+/* curve coefficient constants */
+
+static const limb_t const_one[23] = {
+ UINT32_C(0x00000001), UINT32_C(0x00000000), UINT32_C(0x00000000),
+ UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
+ UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
+ UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
+ UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
+ UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
+ UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
+ UINT32_C(0x00000000), UINT32_C(0x00000000)};
+
+static const limb_t const_d[23] = {
+ UINT32_C(0x006E7550), UINT32_C(0x001B7667), UINT32_C(0x00265181),
+ UINT32_C(0x00054456), UINT32_C(0x0033F0AF), UINT32_C(0x001E91A0),
+ UINT32_C(0x001E78DA), UINT32_C(0x002CE43E), UINT32_C(0x0016609C),
+ UINT32_C(0x0028AE03), UINT32_C(0x00273C14), UINT32_C(0x001CE535),
+ UINT32_C(0x00210504), UINT32_C(0x000A2818), UINT32_C(0x0031EBDE),
+ UINT32_C(0x00506638), UINT32_C(0x001A016A), UINT32_C(0x003FC9B5),
+ UINT32_C(0x001E6FAD), UINT32_C(0x00274B9E), UINT32_C(0x0036367C),
+ UINT32_C(0x0018C017), UINT32_C(0x002793D7)};
+
+static const limb_t const_S[23] = {
+ UINT32_C(0x0004621E), UINT32_C(0x00292266), UINT32_C(0x00166B9F),
+ UINT32_C(0x001EAEEA), UINT32_C(0x003303D4), UINT32_C(0x00185B97),
+ UINT32_C(0x001861C9), UINT32_C(0x0074C6F0), UINT32_C(0x000A67D8),
+ UINT32_C(0x0035D47F), UINT32_C(0x002630FA), UINT32_C(0x0078C6B2),
+ UINT32_C(0x0037BEBE), UINT32_C(0x001D75F9), UINT32_C(0x00338508),
+ UINT32_C(0x002BE671), UINT32_C(0x00297FA5), UINT32_C(0x00200D92),
+ UINT32_C(0x00186414), UINT32_C(0x00762D18), UINT32_C(0x00027260),
+ UINT32_C(0x0009CFFA), UINT32_C(0x00061B0A)};
+
+static const limb_t const_T[23] = {
+ UINT32_C(0x007D1271), UINT32_C(0x002493BB), UINT32_C(0x00310D95),
+ UINT32_C(0x006B8B63), UINT32_C(0x003352C7), UINT32_C(0x001A6D9A),
+ UINT32_C(0x00051424), UINT32_C(0x005CD0B5), UINT32_C(0x0023BAC4),
+ UINT32_C(0x001C1D00), UINT32_C(0x00268A03), UINT32_C(0x005A2633),
+ UINT32_C(0x00302B80), UINT32_C(0x001706AE), UINT32_C(0x000851FA),
+ UINT32_C(0x0062BBB4), UINT32_C(0x00245591), UINT32_C(0x003FF6F3),
+ UINT32_C(0x0005129C), UINT32_C(0x00313745), UINT32_C(0x0013B3BF),
+ UINT32_C(0x00397559), UINT32_C(0x002698A3)};
+
+/* LUT for scalar multiplication by comb interleaving */
+static const pt_aff_t lut_cmb[7][16] = {
+ {
+ {{UINT32_C(0x00000012), UINT32_C(0x00000000), UINT32_C(0x00000000),
+ UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
+ UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
+ UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
+ UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
+ UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
+ UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
+ UINT32_C(0x00000000), UINT32_C(0x00000000)},
+ {UINT32_C(0x00001A3D), UINT32_C(0x0007DCE6), UINT32_C(0x003B0018),
+ UINT32_C(0x0065755C), UINT32_C(0x0008B012), UINT32_C(0x00309056),
+ UINT32_C(0x000E5CCB), UINT32_C(0x0068C5D1), UINT32_C(0x003DD7E0),
+ UINT32_C(0x00067BC4), UINT32_C(0x003A96CA), UINT32_C(0x0034A916),
+ UINT32_C(0x0037B386), UINT32_C(0x0015845F), UINT32_C(0x00368D9A),
+ UINT32_C(0x00405E50), UINT32_C(0x003EFD86), UINT32_C(0x0003C541),
+ UINT32_C(0x0015BBD0), UINT32_C(0x005732B2), UINT32_C(0x0007D785),
+ UINT32_C(0x0039D1FB), UINT32_C(0x0011A6BD)},
+ {UINT32_C(0x0001E12E), UINT32_C(0x000D882C), UINT32_C(0x002601B2),
+ UINT32_C(0x00224088), UINT32_C(0x001C6152), UINT32_C(0x002A260E),
+ UINT32_C(0x00028653), UINT32_C(0x005DE8B6), UINT32_C(0x00192DCE),
+ UINT32_C(0x0034B3D9), UINT32_C(0x001E9A35), UINT32_C(0x0033E39C),
+ UINT32_C(0x002A9F73), UINT32_C(0x00034EBD), UINT32_C(0x0015F4DA),
+ UINT32_C(0x0006A1AF), UINT32_C(0x002DD375), UINT32_C(0x0003DEA3),
+ UINT32_C(0x000734A1), UINT32_C(0x0021908A), UINT32_C(0x000D2766),
+ UINT32_C(0x0010C3A8), UINT32_C(0x003DB95A)}},
+ {{UINT32_C(0x00714838), UINT32_C(0x003864C7), UINT32_C(0x0015E5EE),
+ UINT32_C(0x0023E2F6), UINT32_C(0x0001272F), UINT32_C(0x00115410),
+ UINT32_C(0x003575F4), UINT32_C(0x00599E80), UINT32_C(0x001911C3),
+ UINT32_C(0x0016A65A), UINT32_C(0x001D472E), UINT32_C(0x006F3D5B),
+ UINT32_C(0x0010340F), UINT32_C(0x000E837F), UINT32_C(0x0027C450),
+ UINT32_C(0x007123EC), UINT32_C(0x0028CF66), UINT32_C(0x000CD738),
+ UINT32_C(0x00028A9A), UINT32_C(0x000CAEE3), UINT32_C(0x00261B2D),
+ UINT32_C(0x001B65D5), UINT32_C(0x0003754B)},
+ {UINT32_C(0x0062FF0C), UINT32_C(0x0039AC13), UINT32_C(0x003468DD),
+ UINT32_C(0x005CFC63), UINT32_C(0x0003F7D2), UINT32_C(0x00370AE6),
+ UINT32_C(0x0036C17A), UINT32_C(0x001D053E), UINT32_C(0x0004E79D),
+ UINT32_C(0x00268C78), UINT32_C(0x0038AB40), UINT32_C(0x007DDB1E),
+ UINT32_C(0x003B4D93), UINT32_C(0x003572D3), UINT32_C(0x00124D45),
+ UINT32_C(0x0072B7DA), UINT32_C(0x0018E151), UINT32_C(0x001874E3),
+ UINT32_C(0x00372E71), UINT32_C(0x00505781), UINT32_C(0x0019B7EF),
+ UINT32_C(0x00225C53), UINT32_C(0x00008A46)},
+ {UINT32_C(0x00224325), UINT32_C(0x001B6A98), UINT32_C(0x003712F0),
+ UINT32_C(0x0029896C), UINT32_C(0x00276411), UINT32_C(0x00312C3D),
+ UINT32_C(0x003C91A0), UINT32_C(0x005E5815), UINT32_C(0x00297712),
+ UINT32_C(0x003DE7C7), UINT32_C(0x002D1F5F), UINT32_C(0x002BD84B),
+ UINT32_C(0x0031E9D5), UINT32_C(0x00049136), UINT32_C(0x001802F2),
+ UINT32_C(0x002F8CF5), UINT32_C(0x002DB47F), UINT32_C(0x00132C57),
+ UINT32_C(0x000A8508), UINT32_C(0x003D2B4C), UINT32_C(0x0028BD48),
+ UINT32_C(0x001D60C1), UINT32_C(0x003E0AA0)}},
+ {{UINT32_C(0x0030B9C8), UINT32_C(0x002685FC), UINT32_C(0x001B92BC),
+ UINT32_C(0x0018DFEF), UINT32_C(0x0022306A), UINT32_C(0x0011C069),
+ UINT32_C(0x003EB95C), UINT32_C(0x003F5EF0), UINT32_C(0x0007C592),
+ UINT32_C(0x00381817), UINT32_C(0x0010861D), UINT32_C(0x0004D484),
+ UINT32_C(0x0023D575), UINT32_C(0x003F10B5), UINT32_C(0x000A70AA),
+ UINT32_C(0x004D7662), UINT32_C(0x000DD1AA), UINT32_C(0x003FD38C),
+ UINT32_C(0x000A6668), UINT32_C(0x0025165D), UINT32_C(0x00181E91),
+ UINT32_C(0x000E23E5), UINT32_C(0x00269040)},
+ {UINT32_C(0x00341E21), UINT32_C(0x00257531), UINT32_C(0x000967CF),
+ UINT32_C(0x0019BA94), UINT32_C(0x00151857), UINT32_C(0x0019AA1E),
+ UINT32_C(0x0007DC17), UINT32_C(0x0011DB85), UINT32_C(0x002D3151),
+ UINT32_C(0x002CEDD2), UINT32_C(0x0024E69B), UINT32_C(0x001A161C),
+ UINT32_C(0x001A4C0C), UINT32_C(0x000AF920), UINT32_C(0x00070D8C),
+ UINT32_C(0x006577B1), UINT32_C(0x0020BA5B), UINT32_C(0x003E2CB7),
+ UINT32_C(0x002FDC2A), UINT32_C(0x0035FBC6), UINT32_C(0x0022FA7D),
+ UINT32_C(0x0033F920), UINT32_C(0x00271D0D)},
+ {UINT32_C(0x005E541E), UINT32_C(0x001D52C8), UINT32_C(0x001062DD),
+ UINT32_C(0x0024B0B7), UINT32_C(0x0038AB52), UINT32_C(0x00390136),
+ UINT32_C(0x000229FC), UINT32_C(0x00083904), UINT32_C(0x001D494F),
+ UINT32_C(0x003390EA), UINT32_C(0x002173E5), UINT32_C(0x003C560E),
+ UINT32_C(0x002DBD84), UINT32_C(0x0005F4E6), UINT32_C(0x0027C060),
+ UINT32_C(0x00018F19), UINT32_C(0x00021C09), UINT32_C(0x002C4427),
+ UINT32_C(0x002AF1D0), UINT32_C(0x00137D94), UINT32_C(0x00398A24),
+ UINT32_C(0x0015C3EE), UINT32_C(0x002465FE)}},
+ {{UINT32_C(0x00323C86), UINT32_C(0x00177FDA), UINT32_C(0x0039B750),
+ UINT32_C(0x00273D46), UINT32_C(0x0017FBDD), UINT32_C(0x002CF518),
+ UINT32_C(0x000BBF36), UINT32_C(0x005C0328), UINT32_C(0x002CE181),
+ UINT32_C(0x00006A3B), UINT32_C(0x000E6E58), UINT32_C(0x000239AB),
+ UINT32_C(0x0034C2CE), UINT32_C(0x00074E3E), UINT32_C(0x003363F2),
+ UINT32_C(0x00095FCE), UINT32_C(0x0011CAA2), UINT32_C(0x0020BAF6),
+ UINT32_C(0x0033EA63), UINT32_C(0x0066A91E), UINT32_C(0x002CC83A),
+ UINT32_C(0x000D84AE), UINT32_C(0x001B7D65)},
+ {UINT32_C(0x004CD0FD), UINT32_C(0x002320B8), UINT32_C(0x001CB711),
+ UINT32_C(0x00404C3F), UINT32_C(0x003A65B2), UINT32_C(0x00256419),
+ UINT32_C(0x00163A1D), UINT32_C(0x007E15F5), UINT32_C(0x00302B21),
+ UINT32_C(0x000C47D7), UINT32_C(0x003C9CBF), UINT32_C(0x002DA840),
+ UINT32_C(0x00354B2A), UINT32_C(0x00019F94), UINT32_C(0x0005E8B1),
+ UINT32_C(0x002B8F3D), UINT32_C(0x0026C85C), UINT32_C(0x001F3DD4),
+ UINT32_C(0x00251D66), UINT32_C(0x0048EC35), UINT32_C(0x00206268),
+ UINT32_C(0x002913A7), UINT32_C(0x001F1F83)},
+ {UINT32_C(0x0077F340), UINT32_C(0x0008D7FB), UINT32_C(0x0029E763),
+ UINT32_C(0x00797AAF), UINT32_C(0x00060644), UINT32_C(0x00035A5C),
+ UINT32_C(0x00009727), UINT32_C(0x00626D74), UINT32_C(0x00249825),
+ UINT32_C(0x00181FBF), UINT32_C(0x00083B0B), UINT32_C(0x0006F875),
+ UINT32_C(0x00331E5F), UINT32_C(0x00343541), UINT32_C(0x0037AD03),
+ UINT32_C(0x0004A743), UINT32_C(0x0018465B), UINT32_C(0x00203D5A),
+ UINT32_C(0x002CA6BE), UINT32_C(0x0008AAB6), UINT32_C(0x00181A90),
+ UINT32_C(0x002D8F7B), UINT32_C(0x00153EB7)}},
+ {{UINT32_C(0x0018A411), UINT32_C(0x003A0221), UINT32_C(0x003C31B0),
+ UINT32_C(0x00798D8F), UINT32_C(0x002E6982), UINT32_C(0x003E68C9),
+ UINT32_C(0x0011C222), UINT32_C(0x004A377B), UINT32_C(0x001B47F3),
+ UINT32_C(0x003998D9), UINT32_C(0x0014AB3E), UINT32_C(0x0058D2AA),
+ UINT32_C(0x0004E849), UINT32_C(0x001856B6), UINT32_C(0x0009B3EA),
+ UINT32_C(0x0032F37E), UINT32_C(0x0021A719), UINT32_C(0x002BD295),
+ UINT32_C(0x0014959E), UINT32_C(0x0025E386), UINT32_C(0x003F0C52),
+ UINT32_C(0x003FCEAA), UINT32_C(0x00263172)},
+ {UINT32_C(0x001A14E2), UINT32_C(0x001F7D87), UINT32_C(0x0030183E),
+ UINT32_C(0x006D32ED), UINT32_C(0x002DF898), UINT32_C(0x002CEF71),
+ UINT32_C(0x002646CB), UINT32_C(0x001B0DAD), UINT32_C(0x001A7601),
+ UINT32_C(0x0020A57E), UINT32_C(0x0008D5E8), UINT32_C(0x003FAF5F),
+ UINT32_C(0x00128ED4), UINT32_C(0x0025B18D), UINT32_C(0x002F0FA9),
+ UINT32_C(0x003A6179), UINT32_C(0x00078264), UINT32_C(0x00351FE0),
+ UINT32_C(0x00074564), UINT32_C(0x001FB814), UINT32_C(0x003C2C48),
+ UINT32_C(0x00164834), UINT32_C(0x00270D18)},
+ {UINT32_C(0x0033F8B7), UINT32_C(0x002F3A9D), UINT32_C(0x000E251A),
+ UINT32_C(0x0030DA6B), UINT32_C(0x0026849C), UINT32_C(0x002D0B0C),
+ UINT32_C(0x002C4BF7), UINT32_C(0x00515301), UINT32_C(0x00036F37),
+ UINT32_C(0x000A9DBF), UINT32_C(0x00298CD0), UINT32_C(0x0024A32B),
+ UINT32_C(0x0026D945), UINT32_C(0x002C3300), UINT32_C(0x00268566),
+ UINT32_C(0x001E4819), UINT32_C(0x00102918), UINT32_C(0x00235296),
+ UINT32_C(0x001B311B), UINT32_C(0x007F2404), UINT32_C(0x0038D33D),
+ UINT32_C(0x001E3550), UINT32_C(0x00090157)}},
+ {{UINT32_C(0x00320711), UINT32_C(0x00340698), UINT32_C(0x001F056A),
+ UINT32_C(0x003BD939), UINT32_C(0x003171B5), UINT32_C(0x0038A716),
+ UINT32_C(0x0015FA28), UINT32_C(0x0064ADE0), UINT32_C(0x000F0671),
+ UINT32_C(0x001DCC6E), UINT32_C(0x0021080E), UINT32_C(0x004176EE),
+ UINT32_C(0x003EEFBE), UINT32_C(0x0014ABF9), UINT32_C(0x0011CE49),
+ UINT32_C(0x005C1B2A), UINT32_C(0x001DCCBC), UINT32_C(0x000F5858),
+ UINT32_C(0x0014B76C), UINT32_C(0x002FEF68), UINT32_C(0x0013BBA8),
+ UINT32_C(0x00271302), UINT32_C(0x002A675D)},
+ {UINT32_C(0x0022D5DC), UINT32_C(0x00189878), UINT32_C(0x003957D3),
+ UINT32_C(0x00124011), UINT32_C(0x000C0FF4), UINT32_C(0x0021C5F0),
+ UINT32_C(0x001CF183), UINT32_C(0x005C75FB), UINT32_C(0x000A4A72),
+ UINT32_C(0x001621E5), UINT32_C(0x002D902F), UINT32_C(0x000A5E79),
+ UINT32_C(0x0007D979), UINT32_C(0x002FA252), UINT32_C(0x001A032C),
+ UINT32_C(0x006E4700), UINT32_C(0x001CDDED), UINT32_C(0x0015AFC0),
+ UINT32_C(0x001B495C), UINT32_C(0x0025BC0A), UINT32_C(0x003D6AB6),
+ UINT32_C(0x001C2483), UINT32_C(0x002F3B9A)},
+ {UINT32_C(0x0057AFE2), UINT32_C(0x003853AA), UINT32_C(0x00381675),
+ UINT32_C(0x0053C924), UINT32_C(0x0004A57A), UINT32_C(0x003A659F),
+ UINT32_C(0x0007371F), UINT32_C(0x006B5A26), UINT32_C(0x0029ED43),
+ UINT32_C(0x000F437B), UINT32_C(0x0003DA56), UINT32_C(0x0043A9B2),
+ UINT32_C(0x001ED072), UINT32_C(0x002BF85E), UINT32_C(0x000106D8),
+ UINT32_C(0x004A67F0), UINT32_C(0x00249FD9), UINT32_C(0x002B8C98),
+ UINT32_C(0x0011FD8E), UINT32_C(0x006EF5A5), UINT32_C(0x00274425),
+ UINT32_C(0x002A63C4), UINT32_C(0x0010FE70)}},
+ {{UINT32_C(0x003BFFEF), UINT32_C(0x0028BC0F), UINT32_C(0x000C1E3B),
+ UINT32_C(0x00332346), UINT32_C(0x00097C49), UINT32_C(0x000642A0),
+ UINT32_C(0x001511EB), UINT32_C(0x00662119), UINT32_C(0x0038700F),
+ UINT32_C(0x0010075B), UINT32_C(0x000217A9), UINT32_C(0x00515D8A),
+ UINT32_C(0x003768A5), UINT32_C(0x00001AAD), UINT32_C(0x00033785),
+ UINT32_C(0x000EAFDA), UINT32_C(0x0028D7EE), UINT32_C(0x00386C98),
+ UINT32_C(0x002309D6), UINT32_C(0x00217545), UINT32_C(0x0036E128),
+ UINT32_C(0x0036F567), UINT32_C(0x00084D45)},
+ {UINT32_C(0x006DDAC3), UINT32_C(0x00211A34), UINT32_C(0x00334127),
+ UINT32_C(0x0068417F), UINT32_C(0x002536CA), UINT32_C(0x00392B50),
+ UINT32_C(0x00121BF5), UINT32_C(0x006FAE39), UINT32_C(0x001B66D6),
+ UINT32_C(0x0001A543), UINT32_C(0x00047D4A), UINT32_C(0x00320EF6),
+ UINT32_C(0x0032B862), UINT32_C(0x000E86D1), UINT32_C(0x0003B670),
+ UINT32_C(0x004D6880), UINT32_C(0x0017DCED), UINT32_C(0x002D4CAD),
+ UINT32_C(0x002F1822), UINT32_C(0x0061F872), UINT32_C(0x00117A0E),
+ UINT32_C(0x00227CBF), UINT32_C(0x00118A0F)},
+ {UINT32_C(0x00597549), UINT32_C(0x00311975), UINT32_C(0x0012ADA8),
+ UINT32_C(0x000BF81E), UINT32_C(0x000447DB), UINT32_C(0x0036564B),
+ UINT32_C(0x0036D4A4), UINT32_C(0x005A12B6), UINT32_C(0x001D943E),
+ UINT32_C(0x001FA011), UINT32_C(0x0022FC7D), UINT32_C(0x001B96F2),
+ UINT32_C(0x00197333), UINT32_C(0x000F5F62), UINT32_C(0x0026D265),
+ UINT32_C(0x000DBBE2), UINT32_C(0x002B31B9), UINT32_C(0x002BF98D),
+ UINT32_C(0x0025C030), UINT32_C(0x001A95A2), UINT32_C(0x003B2FA4),
+ UINT32_C(0x000B0C82), UINT32_C(0x0021FEE2)}},
+ {{UINT32_C(0x0015EE0D), UINT32_C(0x00026FEB), UINT32_C(0x003AD4F5),
+ UINT32_C(0x003274AE), UINT32_C(0x001265E7), UINT32_C(0x0017040F),
+ UINT32_C(0x0013C06E), UINT32_C(0x00448F30), UINT32_C(0x00134ED6),
+ UINT32_C(0x002635D7), UINT32_C(0x000B19B7), UINT32_C(0x0044CA5A),
+ UINT32_C(0x002D51CD), UINT32_C(0x003CBBA9), UINT32_C(0x000BA676),
+ UINT32_C(0x0044E2E0), UINT32_C(0x002D3C1D), UINT32_C(0x001B2C78),
+ UINT32_C(0x0018CB04), UINT32_C(0x000F06A8), UINT32_C(0x0029FAAE),
+ UINT32_C(0x003BD16D), UINT32_C(0x002947AD)},
+ {UINT32_C(0x000B19BD), UINT32_C(0x002858FE), UINT32_C(0x0001456B),
+ UINT32_C(0x00651923), UINT32_C(0x00153B6F), UINT32_C(0x00192326),
+ UINT32_C(0x001EDFC6), UINT32_C(0x003AF276), UINT32_C(0x00039EE2),
+ UINT32_C(0x00085A43), UINT32_C(0x0005BE71), UINT32_C(0x00091140),
+ UINT32_C(0x002D46EB), UINT32_C(0x0017E252), UINT32_C(0x0005EB99),
+ UINT32_C(0x002B8AE0), UINT32_C(0x001B76CF), UINT32_C(0x0006AF84),
+ UINT32_C(0x00353A13), UINT32_C(0x00310D97), UINT32_C(0x0023CC43),
+ UINT32_C(0x00112265), UINT32_C(0x000E4E08)},
+ {UINT32_C(0x00172BA5), UINT32_C(0x00224E8D), UINT32_C(0x0008E83D),
+ UINT32_C(0x006E0FD7), UINT32_C(0x000CA435), UINT32_C(0x003F7B82),
+ UINT32_C(0x002AE24B), UINT32_C(0x00203AE6), UINT32_C(0x001109AA),
+ UINT32_C(0x002D29BE), UINT32_C(0x00209120), UINT32_C(0x00435C39),
+ UINT32_C(0x0010375A), UINT32_C(0x003466D6), UINT32_C(0x003A4483),
+ UINT32_C(0x004C88D7), UINT32_C(0x002B8FCF), UINT32_C(0x000D4C74),
+ UINT32_C(0x0000EAD7), UINT32_C(0x004E1D11), UINT32_C(0x0008F6A2),
+ UINT32_C(0x0036C2A6), UINT32_C(0x000F1EC2)}},
+ {{UINT32_C(0x007F3A5F), UINT32_C(0x001992D7), UINT32_C(0x0033F7AE),
+ UINT32_C(0x00399159), UINT32_C(0x000EA75B), UINT32_C(0x0024BE3F),
+ UINT32_C(0x00137150), UINT32_C(0x0009C6C8), UINT32_C(0x00224779),
+ UINT32_C(0x0024DA62), UINT32_C(0x0039D8C0), UINT32_C(0x00274469),
+ UINT32_C(0x00059EDB), UINT32_C(0x00230792), UINT32_C(0x0011EA0B),
+ UINT32_C(0x000ACCB4), UINT32_C(0x001A5DB9), UINT32_C(0x0033F671),
+ UINT32_C(0x0008F9E0), UINT32_C(0x00171663), UINT32_C(0x0034D6E6),
+ UINT32_C(0x000FD1E8), UINT32_C(0x00305366)},
+ {UINT32_C(0x005EDF20), UINT32_C(0x003A4158), UINT32_C(0x003152D2),
+ UINT32_C(0x0039738C), UINT32_C(0x00219AF4), UINT32_C(0x000AD69F),
+ UINT32_C(0x0000A7ED), UINT32_C(0x0006EB20), UINT32_C(0x001DB459),
+ UINT32_C(0x00249C37), UINT32_C(0x0008C20F), UINT32_C(0x004E26FA),
+ UINT32_C(0x0018A7F4), UINT32_C(0x002A583D), UINT32_C(0x00026534),
+ UINT32_C(0x004D37CC), UINT32_C(0x002BF41A), UINT32_C(0x0004D4E5),
+ UINT32_C(0x002B73A3), UINT32_C(0x003F1C84), UINT32_C(0x002883C4),
+ UINT32_C(0x003BC222), UINT32_C(0x00089D6C)},
+ {UINT32_C(0x007B6E7F), UINT32_C(0x0022175E), UINT32_C(0x00285356),
+ UINT32_C(0x0025E3A3), UINT32_C(0x001037EF), UINT32_C(0x003AD3A2),
+ UINT32_C(0x001C9C57), UINT32_C(0x00504AAE), UINT32_C(0x00064EF6),
+ UINT32_C(0x00017470), UINT32_C(0x001DB4A2), UINT32_C(0x005776DF),
+ UINT32_C(0x001E96EF), UINT32_C(0x0017DA2B), UINT32_C(0x002DD3D9),
+ UINT32_C(0x0073CBB8), UINT32_C(0x00140A2F), UINT32_C(0x00109B2E),
+ UINT32_C(0x000B5EA4), UINT32_C(0x00064397), UINT32_C(0x0000884C),
+ UINT32_C(0x00089DD2), UINT32_C(0x002AF788)}},
+ {{UINT32_C(0x00735FB2), UINT32_C(0x002F19A0), UINT32_C(0x00030F84),
+ UINT32_C(0x0069D875), UINT32_C(0x0030428E), UINT32_C(0x001C7831),
+ UINT32_C(0x00348247), UINT32_C(0x001553C9), UINT32_C(0x00363ED5),
+ UINT32_C(0x0012E6AE), UINT32_C(0x00297863), UINT32_C(0x005231B6),
+ UINT32_C(0x00076EF8), UINT32_C(0x002A51F3), UINT32_C(0x00053479),
+ UINT32_C(0x00728729), UINT32_C(0x000565E8), UINT32_C(0x00253185),
+ UINT32_C(0x00373E1C), UINT32_C(0x00173952), UINT32_C(0x00378596),
+ UINT32_C(0x0035C7D9), UINT32_C(0x001AFA68)},
+ {UINT32_C(0x007813F3), UINT32_C(0x0032A16A), UINT32_C(0x002DCCB1),
+ UINT32_C(0x0020A412), UINT32_C(0x0032EE55), UINT32_C(0x00060B7C),
+ UINT32_C(0x0001221A), UINT32_C(0x00746789), UINT32_C(0x002B0E40),
+ UINT32_C(0x001D2DCC), UINT32_C(0x000CB8AC), UINT32_C(0x001FC5BD),
+ UINT32_C(0x003BCC70), UINT32_C(0x0002C6F3), UINT32_C(0x0006C465),
+ UINT32_C(0x00105D9D), UINT32_C(0x000CB0AE), UINT32_C(0x002CF08C),
+ UINT32_C(0x0022B897), UINT32_C(0x004F105D), UINT32_C(0x002334A0),
+ UINT32_C(0x000C0A22), UINT32_C(0x002CF1F5)},
+ {UINT32_C(0x00505E0F), UINT32_C(0x0012ED31), UINT32_C(0x002474AB),
+ UINT32_C(0x0024227C), UINT32_C(0x000514EC), UINT32_C(0x001D9F97),
+ UINT32_C(0x000799FA), UINT32_C(0x006748EE), UINT32_C(0x001B12FA),
+ UINT32_C(0x00297127), UINT32_C(0x001AB293), UINT32_C(0x00592DE3),
+ UINT32_C(0x00202A4E), UINT32_C(0x0028F351), UINT32_C(0x00267888),
+ UINT32_C(0x007C29E7), UINT32_C(0x00191344), UINT32_C(0x003BB856),
+ UINT32_C(0x003D0068), UINT32_C(0x006A2ECD), UINT32_C(0x000FFBC8),
+ UINT32_C(0x001ACF89), UINT32_C(0x0012063A)}},
+ {{UINT32_C(0x0069FBFB), UINT32_C(0x00156959), UINT32_C(0x000608FA),
+ UINT32_C(0x00785C89), UINT32_C(0x003AC4C8), UINT32_C(0x0027AB75),
+ UINT32_C(0x001FCC4F), UINT32_C(0x001F7944), UINT32_C(0x0017EB65),
+ UINT32_C(0x003C2011), UINT32_C(0x00325CA4), UINT32_C(0x001506DC),
+ UINT32_C(0x000E2144), UINT32_C(0x002D1626), UINT32_C(0x0016961D),
+ UINT32_C(0x00363598), UINT32_C(0x003C4B42), UINT32_C(0x000025DF),
+ UINT32_C(0x0029E048), UINT32_C(0x0036C933), UINT32_C(0x0006A748),
+ UINT32_C(0x003B1A3D), UINT32_C(0x00072BBF)},
+ {UINT32_C(0x00347FD3), UINT32_C(0x0023FEC8), UINT32_C(0x00365C46),
+ UINT32_C(0x00206227), UINT32_C(0x002642D5), UINT32_C(0x000F856C),
+ UINT32_C(0x000D409C), UINT32_C(0x0022DD47), UINT32_C(0x0037EDB3),
+ UINT32_C(0x00295E9B), UINT32_C(0x00168C23), UINT32_C(0x006707A7),
+ UINT32_C(0x00191E7D), UINT32_C(0x001B783E), UINT32_C(0x003FB2D4),
+ UINT32_C(0x006B0C90), UINT32_C(0x00233284), UINT32_C(0x000CD25A),
+ UINT32_C(0x001F61F1), UINT32_C(0x004E3362), UINT32_C(0x002620F3),
+ UINT32_C(0x00036CD2), UINT32_C(0x00187790)},
+ {UINT32_C(0x00415547), UINT32_C(0x00056478), UINT32_C(0x003F9AE8),
+ UINT32_C(0x002A78C9), UINT32_C(0x000B1617), UINT32_C(0x002994FB),
+ UINT32_C(0x0017A9C0), UINT32_C(0x002443FA), UINT32_C(0x0033C2A2),
+ UINT32_C(0x00314877), UINT32_C(0x003E8C07), UINT32_C(0x001D6145),
+ UINT32_C(0x0009E22B), UINT32_C(0x001E135D), UINT32_C(0x0026E0F2),
+ UINT32_C(0x0076C01C), UINT32_C(0x0009F80A), UINT32_C(0x0038B123),
+ UINT32_C(0x00061F27), UINT32_C(0x0037D737), UINT32_C(0x001266FA),
+ UINT32_C(0x00194F60), UINT32_C(0x000A4432)}},
+ {{UINT32_C(0x0031C22E), UINT32_C(0x001B7130), UINT32_C(0x001E8939),
+ UINT32_C(0x006F4F1F), UINT32_C(0x001B084A), UINT32_C(0x000AE27B),
+ UINT32_C(0x00243D6B), UINT32_C(0x00341897), UINT32_C(0x00185C0C),
+ UINT32_C(0x00283264), UINT32_C(0x0033AFEF), UINT32_C(0x00273C32),
+ UINT32_C(0x0037390A), UINT32_C(0x00216908), UINT32_C(0x0000E39D),
+ UINT32_C(0x0022F13E), UINT32_C(0x00023196), UINT32_C(0x00266EDA),
+ UINT32_C(0x002E74B0), UINT32_C(0x0068D67D), UINT32_C(0x0019B003),
+ UINT32_C(0x002462D8), UINT32_C(0x001D92FD)},
+ {UINT32_C(0x003AE17C), UINT32_C(0x00213D60), UINT32_C(0x00246509),
+ UINT32_C(0x00243E35), UINT32_C(0x000C9ADF), UINT32_C(0x0016B366),
+ UINT32_C(0x00061E45), UINT32_C(0x0022A2B9), UINT32_C(0x0006570F),
+ UINT32_C(0x00302A1D), UINT32_C(0x002E384B), UINT32_C(0x00083836),
+ UINT32_C(0x00231790), UINT32_C(0x000946A6), UINT32_C(0x001C75BC),
+ UINT32_C(0x002F1936), UINT32_C(0x001F19E1), UINT32_C(0x0020A5E8),
+ UINT32_C(0x002CCC4B), UINT32_C(0x003C73D2), UINT32_C(0x0013DA6B),
+ UINT32_C(0x000150AC), UINT32_C(0x003D6E3C)},
+ {UINT32_C(0x0048F7FB), UINT32_C(0x00078414), UINT32_C(0x0025AA31),
+ UINT32_C(0x0024F2EA), UINT32_C(0x00251A2F), UINT32_C(0x00350186),
+ UINT32_C(0x00242828), UINT32_C(0x001AF8F7), UINT32_C(0x001E7A82),
+ UINT32_C(0x00180FD1), UINT32_C(0x002C709A), UINT32_C(0x00009FF0),
+ UINT32_C(0x00243CBB), UINT32_C(0x002BA544), UINT32_C(0x000A79D6),
+ UINT32_C(0x007FB7BA), UINT32_C(0x002E4F31), UINT32_C(0x000D9BA1),
+ UINT32_C(0x000488DF), UINT32_C(0x002BD096), UINT32_C(0x002360FA),
+ UINT32_C(0x003C511A), UINT32_C(0x001A1012)}},
+ {{UINT32_C(0x000D6219), UINT32_C(0x001EB7CA), UINT32_C(0x00290FB0),
+ UINT32_C(0x004BE668), UINT32_C(0x001673D0), UINT32_C(0x002187C6),
+ UINT32_C(0x002109E9), UINT32_C(0x002142AD), UINT32_C(0x002B9655),
+ UINT32_C(0x0016BB18), UINT32_C(0x000505A1), UINT32_C(0x003CF749),
+ UINT32_C(0x000508B1), UINT32_C(0x0007750E), UINT32_C(0x0011E906),
+ UINT32_C(0x006BC76B), UINT32_C(0x0010180A), UINT32_C(0x003F71C4),
+ UINT32_C(0x0025BBCB), UINT32_C(0x0019E43E), UINT32_C(0x000C640C),
+ UINT32_C(0x00023109), UINT32_C(0x0036776C)},
+ {UINT32_C(0x007854C6), UINT32_C(0x0036123B), UINT32_C(0x000FD077),
+ UINT32_C(0x003A6383), UINT32_C(0x00016A28), UINT32_C(0x00023347),
+ UINT32_C(0x00355348), UINT32_C(0x00309EB3), UINT32_C(0x0013FC16),
+ UINT32_C(0x00127D7E), UINT32_C(0x000A0B31), UINT32_C(0x00619126),
+ UINT32_C(0x0032CE4A), UINT32_C(0x001C53EA), UINT32_C(0x00009B36),
+ UINT32_C(0x007EBF13), UINT32_C(0x00153CEC), UINT32_C(0x002F0B2B),
+ UINT32_C(0x001FEA94), UINT32_C(0x0018DD53), UINT32_C(0x002DFE81),
+ UINT32_C(0x00250282), UINT32_C(0x0028BBC9)},
+ {UINT32_C(0x006BDFE8), UINT32_C(0x003D7D6C), UINT32_C(0x003081DE),
+ UINT32_C(0x003D3D16), UINT32_C(0x003CAB31), UINT32_C(0x001C9412),
+ UINT32_C(0x001096D6), UINT32_C(0x0020B298), UINT32_C(0x0022CDB0),
+ UINT32_C(0x00023945), UINT32_C(0x00319AEF), UINT32_C(0x00316D40),
+ UINT32_C(0x001EFBBC), UINT32_C(0x0030E49F), UINT32_C(0x002D6387),
+ UINT32_C(0x007C9B05), UINT32_C(0x000FF238), UINT32_C(0x002AB556),
+ UINT32_C(0x001D7A21), UINT32_C(0x00746313), UINT32_C(0x002064F3),
+ UINT32_C(0x00159471), UINT32_C(0x0006420E)}},
+ {{UINT32_C(0x000F873E), UINT32_C(0x000A10CD), UINT32_C(0x002BE785),
+ UINT32_C(0x0038B227), UINT32_C(0x0034217F), UINT32_C(0x001DEE7A),
+ UINT32_C(0x000EF9FF), UINT32_C(0x00642E35), UINT32_C(0x003BBD91),
+ UINT32_C(0x00394167), UINT32_C(0x0011C45D), UINT32_C(0x00248D59),
+ UINT32_C(0x0006CAF4), UINT32_C(0x00356B6A), UINT32_C(0x000C93E3),
+ UINT32_C(0x007DF1C5), UINT32_C(0x0015175F), UINT32_C(0x0006774E),
+ UINT32_C(0x002C2F46), UINT32_C(0x0012A0B5), UINT32_C(0x0026AC43),
+ UINT32_C(0x00316265), UINT32_C(0x0017578E)},
+ {UINT32_C(0x00637692), UINT32_C(0x0017AA0F), UINT32_C(0x000349D7),
+ UINT32_C(0x0042BD56), UINT32_C(0x0020AC26), UINT32_C(0x00153D2E),
+ UINT32_C(0x003BFE98), UINT32_C(0x0045B29F), UINT32_C(0x000C665A),
+ UINT32_C(0x0015F634), UINT32_C(0x0031F264), UINT32_C(0x0005C891),
+ UINT32_C(0x003F619E), UINT32_C(0x0028131C), UINT32_C(0x0018D792),
+ UINT32_C(0x006219EF), UINT32_C(0x0039BD88), UINT32_C(0x001F8951),
+ UINT32_C(0x000E21DF), UINT32_C(0x00495EAD), UINT32_C(0x00342FCA),
+ UINT32_C(0x00196C92), UINT32_C(0x001EF0FA)},
+ {UINT32_C(0x0047865A), UINT32_C(0x00318D12), UINT32_C(0x003C903E),
+ UINT32_C(0x000BD15E), UINT32_C(0x003D2D6E), UINT32_C(0x0002AA3A),
+ UINT32_C(0x00227179), UINT32_C(0x0073CF23), UINT32_C(0x002DC1A1),
+ UINT32_C(0x000D9B0C), UINT32_C(0x0011B186), UINT32_C(0x0068972C),
+ UINT32_C(0x000C6DF0), UINT32_C(0x00077408), UINT32_C(0x0028FAEE),
+ UINT32_C(0x001C3C02), UINT32_C(0x0037190A), UINT32_C(0x002F00E2),
+ UINT32_C(0x001EC176), UINT32_C(0x00072B55), UINT32_C(0x0024E393),
+ UINT32_C(0x0032CF55), UINT32_C(0x001437CD)}},
+ {{UINT32_C(0x006D31AF), UINT32_C(0x00321E4E), UINT32_C(0x000CA7EE),
+ UINT32_C(0x005ABB74), UINT32_C(0x0000C3A9), UINT32_C(0x0019A488),
+ UINT32_C(0x001861A0), UINT32_C(0x00582F9D), UINT32_C(0x003CFD06),
+ UINT32_C(0x002EA1AF), UINT32_C(0x0018A543), UINT32_C(0x0010F4B5),
+ UINT32_C(0x0010715D), UINT32_C(0x001F9AF3), UINT32_C(0x0023023F),
+ UINT32_C(0x001643E3), UINT32_C(0x00215F28), UINT32_C(0x0019FD03),
+ UINT32_C(0x0022E874), UINT32_C(0x003DA8F6), UINT32_C(0x0039620A),
+ UINT32_C(0x0022056A), UINT32_C(0x000EA069)},
+ {UINT32_C(0x000518C5), UINT32_C(0x001AE0BF), UINT32_C(0x00094299),
+ UINT32_C(0x001E2DED), UINT32_C(0x003500DA), UINT32_C(0x0009630E),
+ UINT32_C(0x00063632), UINT32_C(0x003387CC), UINT32_C(0x00031191),
+ UINT32_C(0x00108CFD), UINT32_C(0x00182E5F), UINT32_C(0x00683906),
+ UINT32_C(0x000540A6), UINT32_C(0x0028D759), UINT32_C(0x001EE5BE),
+ UINT32_C(0x00066621), UINT32_C(0x001C501A), UINT32_C(0x0013C28F),
+ UINT32_C(0x000A2AA3), UINT32_C(0x003F6A17), UINT32_C(0x0007898A),
+ UINT32_C(0x002E1235), UINT32_C(0x000019A8)},
+ {UINT32_C(0x006FEED8), UINT32_C(0x001D5B2A), UINT32_C(0x003F2A5F),
+ UINT32_C(0x00097336), UINT32_C(0x0037FB45), UINT32_C(0x002DB6D6),
+ UINT32_C(0x002CC41F), UINT32_C(0x003D7B28), UINT32_C(0x002F8AD4),
+ UINT32_C(0x003151FC), UINT32_C(0x001C064A), UINT32_C(0x003C6241),
+ UINT32_C(0x00365F52), UINT32_C(0x001581A2), UINT32_C(0x000C7BF2),
+ UINT32_C(0x002AD32B), UINT32_C(0x0009C743), UINT32_C(0x0000608A),
+ UINT32_C(0x00282F9A), UINT32_C(0x00263A9C), UINT32_C(0x003D2500),
+ UINT32_C(0x003476D7), UINT32_C(0x0039390A)}},
+ {{UINT32_C(0x004F5AD3), UINT32_C(0x001444FE), UINT32_C(0x0006BAFD),
+ UINT32_C(0x0061624F), UINT32_C(0x00011230), UINT32_C(0x00078216),
+ UINT32_C(0x00298470), UINT32_C(0x0015013E), UINT32_C(0x003A1285),
+ UINT32_C(0x0016EA4D), UINT32_C(0x001DD727), UINT32_C(0x001A40E5),
+ UINT32_C(0x002D2579), UINT32_C(0x001F10D3), UINT32_C(0x00220C0B),
+ UINT32_C(0x000EC9E4), UINT32_C(0x0026BC42), UINT32_C(0x0003AB97),
+ UINT32_C(0x00393447), UINT32_C(0x0045B418), UINT32_C(0x0006D93B),
+ UINT32_C(0x0010FC88), UINT32_C(0x00064A8E)},
+ {UINT32_C(0x006BE9EA), UINT32_C(0x000CA597), UINT32_C(0x002253CF),
+ UINT32_C(0x00638639), UINT32_C(0x002B0B51), UINT32_C(0x00030BC7),
+ UINT32_C(0x00323019), UINT32_C(0x000CCA80), UINT32_C(0x0010E5F7),
+ UINT32_C(0x002EC009), UINT32_C(0x0015B4CB), UINT32_C(0x00663CF0),
+ UINT32_C(0x0035A148), UINT32_C(0x002FA75B), UINT32_C(0x00311933),
+ UINT32_C(0x0063C853), UINT32_C(0x0011D6D9), UINT32_C(0x0037F8DF),
+ UINT32_C(0x001CF5AA), UINT32_C(0x00151B7A), UINT32_C(0x000C96E3),
+ UINT32_C(0x002C8326), UINT32_C(0x00016832)},
+ {UINT32_C(0x006A5978), UINT32_C(0x001A7F02), UINT32_C(0x000354FE),
+ UINT32_C(0x003933E3), UINT32_C(0x00071810), UINT32_C(0x000077D8),
+ UINT32_C(0x0033A7B3), UINT32_C(0x0026F851), UINT32_C(0x0034FEF5),
+ UINT32_C(0x0010B6DF), UINT32_C(0x003399BA), UINT32_C(0x000DFB2B),
+ UINT32_C(0x0034476F), UINT32_C(0x00346D99), UINT32_C(0x002F557E),
+ UINT32_C(0x0047897F), UINT32_C(0x00348DBE), UINT32_C(0x001CDE03),
+ UINT32_C(0x002A740A), UINT32_C(0x0066E864), UINT32_C(0x0003C78B),
+ UINT32_C(0x00028392), UINT32_C(0x0025F5DB)}},
+ },
+ {
+ {{UINT32_C(0x0017286E), UINT32_C(0x000F5A5C), UINT32_C(0x0039B3CA),
+ UINT32_C(0x001F9077), UINT32_C(0x001B296D), UINT32_C(0x0005DC87),
+ UINT32_C(0x001D0F98), UINT32_C(0x0064781E), UINT32_C(0x00093D05),
+ UINT32_C(0x00126B0F), UINT32_C(0x000BBA75), UINT32_C(0x0044F9E6),
+ UINT32_C(0x0028E04B), UINT32_C(0x0020A55E), UINT32_C(0x0012F73B),
+ UINT32_C(0x002CF153), UINT32_C(0x0021678C), UINT32_C(0x002F8222),
+ UINT32_C(0x0015DD38), UINT32_C(0x00687C5D), UINT32_C(0x0027B303),
+ UINT32_C(0x003155B8), UINT32_C(0x002B5FB6)},
+ {UINT32_C(0x0041E5E6), UINT32_C(0x0006CE3F), UINT32_C(0x000699C4),
+ UINT32_C(0x001B1A07), UINT32_C(0x0008BE9D), UINT32_C(0x000A3A3E),
+ UINT32_C(0x00229979), UINT32_C(0x005014A4), UINT32_C(0x0002F0CB),
+ UINT32_C(0x003B52A9), UINT32_C(0x00083FDD), UINT32_C(0x0047E479),
+ UINT32_C(0x0009DD35), UINT32_C(0x00391B43), UINT32_C(0x0021E9C2),
+ UINT32_C(0x004D6C1F), UINT32_C(0x000D8AB1), UINT32_C(0x002AC33D),
+ UINT32_C(0x003F840F), UINT32_C(0x00713093), UINT32_C(0x001F7D6C),
+ UINT32_C(0x0000637C), UINT32_C(0x002A1B17)},
+ {UINT32_C(0x002A0728), UINT32_C(0x0022B9B0), UINT32_C(0x00120094),
+ UINT32_C(0x006AF4E8), UINT32_C(0x003A01D1), UINT32_C(0x002767DB),
+ UINT32_C(0x00238927), UINT32_C(0x0068635D), UINT32_C(0x0003EA0A),
+ UINT32_C(0x000FE41F), UINT32_C(0x003CB1CE), UINT32_C(0x00133FA4),
+ UINT32_C(0x002B3010), UINT32_C(0x000D5D89), UINT32_C(0x000F339F),
+ UINT32_C(0x005D46A1), UINT32_C(0x00290D2D), UINT32_C(0x001FC5BE),
+ UINT32_C(0x0003A00F), UINT32_C(0x0062DC95), UINT32_C(0x0037CAB9),
+ UINT32_C(0x002A05E9), UINT32_C(0x002BBC6F)}},
+ {{UINT32_C(0x00706744), UINT32_C(0x0019DB10), UINT32_C(0x003F9B5C),
+ UINT32_C(0x000F3E76), UINT32_C(0x001B2506), UINT32_C(0x00127BDF),
+ UINT32_C(0x000EB38D), UINT32_C(0x00042E3C), UINT32_C(0x0003DF4C),
+ UINT32_C(0x003B146C), UINT32_C(0x00395196), UINT32_C(0x0018E1D3),
+ UINT32_C(0x000F2464), UINT32_C(0x00307EFB), UINT32_C(0x002A190A),
+ UINT32_C(0x0058D3B4), UINT32_C(0x0012C74A), UINT32_C(0x00195650),
+ UINT32_C(0x000C0BF0), UINT32_C(0x001892B5), UINT32_C(0x0006770F),
+ UINT32_C(0x001A228B), UINT32_C(0x003113A8)},
+ {UINT32_C(0x007384A0), UINT32_C(0x00041291), UINT32_C(0x00123686),
+ UINT32_C(0x001AD842), UINT32_C(0x001E3157), UINT32_C(0x0007A754),
+ UINT32_C(0x000905E0), UINT32_C(0x003BC7D8), UINT32_C(0x00116FE2),
+ UINT32_C(0x002D132F), UINT32_C(0x000E6646), UINT32_C(0x0064D804),
+ UINT32_C(0x001BA830), UINT32_C(0x003695CB), UINT32_C(0x00173E41),
+ UINT32_C(0x005CFDBC), UINT32_C(0x002188CF), UINT32_C(0x001C1011),
+ UINT32_C(0x0019A6D6), UINT32_C(0x004789C9), UINT32_C(0x0032435A),
+ UINT32_C(0x002B1970), UINT32_C(0x003D40A8)},
+ {UINT32_C(0x00334E7F), UINT32_C(0x000C23F4), UINT32_C(0x00160B20),
+ UINT32_C(0x003BF3EA), UINT32_C(0x003B5299), UINT32_C(0x001D3EC2),
+ UINT32_C(0x0036DAE9), UINT32_C(0x0058023B), UINT32_C(0x000B5EAF),
+ UINT32_C(0x00371744), UINT32_C(0x000EF4D7), UINT32_C(0x0008817F),
+ UINT32_C(0x0002BE7F), UINT32_C(0x001EB13E), UINT32_C(0x002D1A5F),
+ UINT32_C(0x0069630F), UINT32_C(0x00093D58), UINT32_C(0x0036D385),
+ UINT32_C(0x002A3045), UINT32_C(0x0025C26B), UINT32_C(0x00111E19),
+ UINT32_C(0x001756BF), UINT32_C(0x0035B39D)}},
+ {{UINT32_C(0x00545C3C), UINT32_C(0x00137D2C), UINT32_C(0x000E7FAB),
+ UINT32_C(0x000EB9AF), UINT32_C(0x002789FC), UINT32_C(0x001EF592),
+ UINT32_C(0x0034210A), UINT32_C(0x002A5180), UINT32_C(0x0023EDAE),
+ UINT32_C(0x000307F6), UINT32_C(0x0023CFAC), UINT32_C(0x001BF315),
+ UINT32_C(0x0020B287), UINT32_C(0x000A3DE8), UINT32_C(0x00189938),
+ UINT32_C(0x00378524), UINT32_C(0x002DEDDF), UINT32_C(0x00215405),
+ UINT32_C(0x001398B5), UINT32_C(0x004827A1), UINT32_C(0x0018A82A),
+ UINT32_C(0x000AB6B7), UINT32_C(0x00214B8A)},
+ {UINT32_C(0x001B6EE1), UINT32_C(0x00134930), UINT32_C(0x002CB43D),
+ UINT32_C(0x004DC974), UINT32_C(0x0031EAF7), UINT32_C(0x003BDA7E),
+ UINT32_C(0x0033618E), UINT32_C(0x004A982D), UINT32_C(0x001B6E94),
+ UINT32_C(0x000D4749), UINT32_C(0x0007D19B), UINT32_C(0x005FAAB5),
+ UINT32_C(0x003F714A), UINT32_C(0x000E57A9), UINT32_C(0x0028FDD3),
+ UINT32_C(0x0075BD17), UINT32_C(0x003D774F), UINT32_C(0x000E4D55),
+ UINT32_C(0x003CA227), UINT32_C(0x000DF34F), UINT32_C(0x0028970F),
+ UINT32_C(0x0036F5EA), UINT32_C(0x0022BC1B)},
+ {UINT32_C(0x00475039), UINT32_C(0x00230014), UINT32_C(0x001FEA38),
+ UINT32_C(0x005CCC55), UINT32_C(0x003C6941), UINT32_C(0x0022517F),
+ UINT32_C(0x002D30E5), UINT32_C(0x00309B25), UINT32_C(0x00034CC8),
+ UINT32_C(0x00356ED5), UINT32_C(0x0014FCA5), UINT32_C(0x0036104B),
+ UINT32_C(0x001D0F11), UINT32_C(0x00273D12), UINT32_C(0x00170F1B),
+ UINT32_C(0x0076D103), UINT32_C(0x001F613D), UINT32_C(0x001C9D53),
+ UINT32_C(0x001F1400), UINT32_C(0x0076A382), UINT32_C(0x0025000D),
+ UINT32_C(0x003B5419), UINT32_C(0x0015987C)}},
+ {{UINT32_C(0x007F4AC5), UINT32_C(0x0008E500), UINT32_C(0x00016BA4),
+ UINT32_C(0x007474E5), UINT32_C(0x0009CFB4), UINT32_C(0x001D6BB8),
+ UINT32_C(0x003B23DD), UINT32_C(0x005DB100), UINT32_C(0x0008843B),
+ UINT32_C(0x0012DA0A), UINT32_C(0x0024794D), UINT32_C(0x0026577B),
+ UINT32_C(0x00240E5E), UINT32_C(0x00346C8E), UINT32_C(0x0027DC8C),
+ UINT32_C(0x00634650), UINT32_C(0x00195F50), UINT32_C(0x00071E58),
+ UINT32_C(0x000A83CF), UINT32_C(0x001B8E3D), UINT32_C(0x001D4281),
+ UINT32_C(0x0014D35D), UINT32_C(0x002C222C)},
+ {UINT32_C(0x0020B3A0), UINT32_C(0x0006028D), UINT32_C(0x002EB45A),
+ UINT32_C(0x003DF458), UINT32_C(0x001D376C), UINT32_C(0x0018C400),
+ UINT32_C(0x002C3A24), UINT32_C(0x00319F9A), UINT32_C(0x00022C40),
+ UINT32_C(0x0002F8C6), UINT32_C(0x0022E290), UINT32_C(0x0026FD32),
+ UINT32_C(0x00035216), UINT32_C(0x001D9C11), UINT32_C(0x001789F2),
+ UINT32_C(0x000B1E8A), UINT32_C(0x000A64CD), UINT32_C(0x002909D1),
+ UINT32_C(0x003F99FB), UINT32_C(0x0053ECE7), UINT32_C(0x00067860),
+ UINT32_C(0x002534B2), UINT32_C(0x003F2F3F)},
+ {UINT32_C(0x00231268), UINT32_C(0x000ED62F), UINT32_C(0x0031D715),
+ UINT32_C(0x00518514), UINT32_C(0x003D37EF), UINT32_C(0x00083CBE),
+ UINT32_C(0x001E2CE4), UINT32_C(0x007EC3F7), UINT32_C(0x0038FE97),
+ UINT32_C(0x0018E538), UINT32_C(0x0014EF47), UINT32_C(0x007E9282),
+ UINT32_C(0x002D63F2), UINT32_C(0x003161B4), UINT32_C(0x0039ADC6),
+ UINT32_C(0x0007BA2A), UINT32_C(0x001FF255), UINT32_C(0x001874F8),
+ UINT32_C(0x000AF0FD), UINT32_C(0x002AAAB7), UINT32_C(0x00298743),
+ UINT32_C(0x00333D31), UINT32_C(0x000E50E3)}},
+ {{UINT32_C(0x000F76FA), UINT32_C(0x001833CD), UINT32_C(0x0016A2D3),
+ UINT32_C(0x006A2D69), UINT32_C(0x0002F385), UINT32_C(0x001F8454),
+ UINT32_C(0x003FE32A), UINT32_C(0x004BABD6), UINT32_C(0x0003FDDB),
+ UINT32_C(0x0012096E), UINT32_C(0x0024DC23), UINT32_C(0x00636CE5),
+ UINT32_C(0x00055CB4), UINT32_C(0x0004F203), UINT32_C(0x0022C2DF),
+ UINT32_C(0x00599D77), UINT32_C(0x0038B010), UINT32_C(0x003624FA),
+ UINT32_C(0x002121D8), UINT32_C(0x006EB595), UINT32_C(0x000EB1AE),
+ UINT32_C(0x0033B6F0), UINT32_C(0x001072A8)},
+ {UINT32_C(0x00660A55), UINT32_C(0x000C0424), UINT32_C(0x0013326F),
+ UINT32_C(0x00530EFA), UINT32_C(0x00038052), UINT32_C(0x003A7413),
+ UINT32_C(0x0000B6CF), UINT32_C(0x0025BA64), UINT32_C(0x0006A2BE),
+ UINT32_C(0x0039B086), UINT32_C(0x0007574E), UINT32_C(0x0018FDBB),
+ UINT32_C(0x000714B1), UINT32_C(0x0026708B), UINT32_C(0x000515A5),
+ UINT32_C(0x0043DEFC), UINT32_C(0x002CE885), UINT32_C(0x00171175),
+ UINT32_C(0x002570F1), UINT32_C(0x004EE75A), UINT32_C(0x001930E0),
+ UINT32_C(0x00155BBD), UINT32_C(0x000C64C5)},
+ {UINT32_C(0x0034919D), UINT32_C(0x001443DB), UINT32_C(0x003E9123),
+ UINT32_C(0x000E1842), UINT32_C(0x003545C9), UINT32_C(0x00098DB4),
+ UINT32_C(0x00184A4D), UINT32_C(0x005DAFC4), UINT32_C(0x00098F85),
+ UINT32_C(0x001EA9C6), UINT32_C(0x0023826A), UINT32_C(0x0069B06D),
+ UINT32_C(0x001DFBA9), UINT32_C(0x000798BE), UINT32_C(0x000AE8AF),
+ UINT32_C(0x00236B65), UINT32_C(0x001846C8), UINT32_C(0x003AB8DD),
+ UINT32_C(0x002C7DB0), UINT32_C(0x00074EA7), UINT32_C(0x002DF25B),
+ UINT32_C(0x001C28C7), UINT32_C(0x0025B6DE)}},
+ {{UINT32_C(0x0063C056), UINT32_C(0x000F0F64), UINT32_C(0x0003AF88),
+ UINT32_C(0x0026EF3F), UINT32_C(0x000ACF8A), UINT32_C(0x003B178B),
+ UINT32_C(0x001A1B3F), UINT32_C(0x002802BE), UINT32_C(0x00141F1B),
+ UINT32_C(0x001188F2), UINT32_C(0x003B7121), UINT32_C(0x0004B6A3),
+ UINT32_C(0x0017E723), UINT32_C(0x0015DF00), UINT32_C(0x00395BAE),
+ UINT32_C(0x0012A3E3), UINT32_C(0x000D5B27), UINT32_C(0x000EF7A7),
+ UINT32_C(0x00108148), UINT32_C(0x0027EAAD), UINT32_C(0x000BC9DC),
+ UINT32_C(0x00229BC0), UINT32_C(0x003E724E)},
+ {UINT32_C(0x0065E7F8), UINT32_C(0x001505D9), UINT32_C(0x002AC40C),
+ UINT32_C(0x003163A4), UINT32_C(0x003EDF4D), UINT32_C(0x0004F661),
+ UINT32_C(0x003262E7), UINT32_C(0x003B5607), UINT32_C(0x002D19B3),
+ UINT32_C(0x00107A09), UINT32_C(0x000F13CC), UINT32_C(0x004C7800),
+ UINT32_C(0x0035B8E6), UINT32_C(0x00254CD7), UINT32_C(0x0006103F),
+ UINT32_C(0x0041F4F8), UINT32_C(0x00122E7D), UINT32_C(0x00201C99),
+ UINT32_C(0x003F9160), UINT32_C(0x0056128E), UINT32_C(0x0032FA32),
+ UINT32_C(0x0019A4A9), UINT32_C(0x002E0115)},
+ {UINT32_C(0x0012D79A), UINT32_C(0x000A6E34), UINT32_C(0x0008D368),
+ UINT32_C(0x001977F5), UINT32_C(0x0011E966), UINT32_C(0x00123FE5),
+ UINT32_C(0x00343FAC), UINT32_C(0x0012E1C9), UINT32_C(0x001AFF6C),
+ UINT32_C(0x0023C0EC), UINT32_C(0x003A2A35), UINT32_C(0x005016A3),
+ UINT32_C(0x002CF3B6), UINT32_C(0x00078BE6), UINT32_C(0x0008BE88),
+ UINT32_C(0x005FC4FE), UINT32_C(0x00002694), UINT32_C(0x00258B13),
+ UINT32_C(0x000ABDAE), UINT32_C(0x004B9DF4), UINT32_C(0x00187A2F),
+ UINT32_C(0x0036EC5B), UINT32_C(0x002B7DF6)}},
+ {{UINT32_C(0x006DAE2C), UINT32_C(0x00032CF3), UINT32_C(0x002D7562),
+ UINT32_C(0x0032FF5D), UINT32_C(0x00070816), UINT32_C(0x000D011D),
+ UINT32_C(0x000E17B7), UINT32_C(0x0038556C), UINT32_C(0x003DA262),
+ UINT32_C(0x000AC037), UINT32_C(0x00112AE7), UINT32_C(0x001EB223),
+ UINT32_C(0x002587C3), UINT32_C(0x001A3F55), UINT32_C(0x0022E756),
+ UINT32_C(0x007D6544), UINT32_C(0x0035E36C), UINT32_C(0x00298741),
+ UINT32_C(0x001945D2), UINT32_C(0x007E68FA), UINT32_C(0x003F5793),
+ UINT32_C(0x0013306C), UINT32_C(0x00021451)},
+ {UINT32_C(0x007CB839), UINT32_C(0x001964D3), UINT32_C(0x0007ED8E),
+ UINT32_C(0x003AEF58), UINT32_C(0x002BC177), UINT32_C(0x000F6696),
+ UINT32_C(0x0001CAEB), UINT32_C(0x00509C2B), UINT32_C(0x003F5DBB),
+ UINT32_C(0x001131ED), UINT32_C(0x00151301), UINT32_C(0x0031F44F),
+ UINT32_C(0x001D60F9), UINT32_C(0x001A36A3), UINT32_C(0x002696D3),
+ UINT32_C(0x00713749), UINT32_C(0x000415F4), UINT32_C(0x000C2E1E),
+ UINT32_C(0x0018E7EE), UINT32_C(0x006737C5), UINT32_C(0x00071BB7),
+ UINT32_C(0x0008C358), UINT32_C(0x001F1407)},
+ {UINT32_C(0x0042C734), UINT32_C(0x00009034), UINT32_C(0x001689FC),
+ UINT32_C(0x00066E68), UINT32_C(0x0018F756), UINT32_C(0x001DCFDF),
+ UINT32_C(0x00083DCC), UINT32_C(0x003841C9), UINT32_C(0x000DD192),
+ UINT32_C(0x00122593), UINT32_C(0x0031A8DD), UINT32_C(0x00341616),
+ UINT32_C(0x00196D74), UINT32_C(0x000B8D12), UINT32_C(0x000B5714),
+ UINT32_C(0x006030FC), UINT32_C(0x00390678), UINT32_C(0x003AB96C),
+ UINT32_C(0x00053F6E), UINT32_C(0x002C04AB), UINT32_C(0x001D12C3),
+ UINT32_C(0x0035009E), UINT32_C(0x003DC316)}},
+ {{UINT32_C(0x003D2EE8), UINT32_C(0x000EDDF2), UINT32_C(0x0016BD70),
+ UINT32_C(0x00320C0C), UINT32_C(0x00052F43), UINT32_C(0x002FA0A8),
+ UINT32_C(0x00065472), UINT32_C(0x00029362), UINT32_C(0x002C27A2),
+ UINT32_C(0x0005E1BB), UINT32_C(0x0019992C), UINT32_C(0x00030905),
+ UINT32_C(0x000BF0F4), UINT32_C(0x00209691), UINT32_C(0x00350247),
+ UINT32_C(0x0057E044), UINT32_C(0x000E41CD), UINT32_C(0x0017F9EE),
+ UINT32_C(0x00078967), UINT32_C(0x006ACE99), UINT32_C(0x0007C820),
+ UINT32_C(0x00113D5C), UINT32_C(0x0038DA0A)},
+ {UINT32_C(0x00083FE6), UINT32_C(0x001C1BC1), UINT32_C(0x000EB8D8),
+ UINT32_C(0x0007692B), UINT32_C(0x00281516), UINT32_C(0x00155672),
+ UINT32_C(0x000D8B29), UINT32_C(0x003E13E4), UINT32_C(0x003138BC),
+ UINT32_C(0x003CACE6), UINT32_C(0x0035FA0F), UINT32_C(0x0023164A),
+ UINT32_C(0x000EC9E6), UINT32_C(0x0023B1C7), UINT32_C(0x00225BFF),
+ UINT32_C(0x007740C9), UINT32_C(0x0030F788), UINT32_C(0x00006D8C),
+ UINT32_C(0x0002D6BD), UINT32_C(0x002603CE), UINT32_C(0x0005485E),
+ UINT32_C(0x000E66C9), UINT32_C(0x00019E3E)},
+ {UINT32_C(0x001300D5), UINT32_C(0x002C1C24), UINT32_C(0x0032064C),
+ UINT32_C(0x0043F0E6), UINT32_C(0x000860BC), UINT32_C(0x0014A553),
+ UINT32_C(0x0036075B), UINT32_C(0x001987D7), UINT32_C(0x002754F6),
+ UINT32_C(0x00385EEF), UINT32_C(0x0013D858), UINT32_C(0x002C23BB),
+ UINT32_C(0x0032C81D), UINT32_C(0x000E6F7D), UINT32_C(0x003C8EB3),
+ UINT32_C(0x003644D0), UINT32_C(0x0013D21A), UINT32_C(0x0031FB11),
+ UINT32_C(0x0028B7B0), UINT32_C(0x000E500E), UINT32_C(0x001DA66D),
+ UINT32_C(0x0020B336), UINT32_C(0x00364559)}},
+ {{UINT32_C(0x0008F24B), UINT32_C(0x003022F1), UINT32_C(0x00292D14),
+ UINT32_C(0x00009DB0), UINT32_C(0x0012884B), UINT32_C(0x002CB622),
+ UINT32_C(0x0009D61F), UINT32_C(0x0010FF0B), UINT32_C(0x0005C248),
+ UINT32_C(0x00128DF1), UINT32_C(0x0014DD06), UINT32_C(0x0006C833),
+ UINT32_C(0x00177E25), UINT32_C(0x00037C0E), UINT32_C(0x0029C2CD),
+ UINT32_C(0x00072DE1), UINT32_C(0x001F0312), UINT32_C(0x0013FA86),
+ UINT32_C(0x002E1D55), UINT32_C(0x000102DE), UINT32_C(0x00326586),
+ UINT32_C(0x00089C95), UINT32_C(0x000D11CA)},
+ {UINT32_C(0x001E5A41), UINT32_C(0x0014B02F), UINT32_C(0x002AFDA8),
+ UINT32_C(0x003C8A99), UINT32_C(0x00304A64), UINT32_C(0x00254B15),
+ UINT32_C(0x0001DEB3), UINT32_C(0x00481E27), UINT32_C(0x0032A61C),
+ UINT32_C(0x000D6970), UINT32_C(0x00182CAA), UINT32_C(0x0034EC0A),
+ UINT32_C(0x0019A25D), UINT32_C(0x001C8588), UINT32_C(0x003F689B),
+ UINT32_C(0x00233BD8), UINT32_C(0x003ABCAA), UINT32_C(0x0033E7AF),
+ UINT32_C(0x00375FA3), UINT32_C(0x001C8D11), UINT32_C(0x0021737A),
+ UINT32_C(0x00102C76), UINT32_C(0x000C7526)},
+ {UINT32_C(0x00352E1E), UINT32_C(0x002092B9), UINT32_C(0x0008105C),
+ UINT32_C(0x007FB15D), UINT32_C(0x00255DD0), UINT32_C(0x000F061B),
+ UINT32_C(0x0016C72F), UINT32_C(0x006E33F5), UINT32_C(0x003A9DD5),
+ UINT32_C(0x0039695D), UINT32_C(0x003502FE), UINT32_C(0x003A705F),
+ UINT32_C(0x00370221), UINT32_C(0x0030642F), UINT32_C(0x00163D04),
+ UINT32_C(0x007BF9AC), UINT32_C(0x000A4C37), UINT32_C(0x001E0389),
+ UINT32_C(0x001214FF), UINT32_C(0x001FF3D6), UINT32_C(0x003D5C3D),
+ UINT32_C(0x0028CF11), UINT32_C(0x001AAA6A)}},
+ {{UINT32_C(0x005BF790), UINT32_C(0x0007D0F3), UINT32_C(0x0001C51D),
+ UINT32_C(0x0020772C), UINT32_C(0x00200268), UINT32_C(0x0001B52F),
+ UINT32_C(0x00279ABE), UINT32_C(0x001F71CF), UINT32_C(0x00375D44),
+ UINT32_C(0x000F0F65), UINT32_C(0x0027410E), UINT32_C(0x003D9BE0),
+ UINT32_C(0x002C960C), UINT32_C(0x00003C9C), UINT32_C(0x003A7A25),
+ UINT32_C(0x004F1756), UINT32_C(0x002CBE23), UINT32_C(0x0004069A),
+ UINT32_C(0x00182C17), UINT32_C(0x005CFAF2), UINT32_C(0x00026993),
+ UINT32_C(0x0009DA3A), UINT32_C(0x0039F360)},
+ {UINT32_C(0x00364E82), UINT32_C(0x000346D3), UINT32_C(0x003D3445),
+ UINT32_C(0x0000A6B7), UINT32_C(0x00037BD7), UINT32_C(0x001658EC),
+ UINT32_C(0x0000B914), UINT32_C(0x006FA605), UINT32_C(0x001454EB),
+ UINT32_C(0x002CE3C8), UINT32_C(0x003D9ACC), UINT32_C(0x007AF12D),
+ UINT32_C(0x0021D6DC), UINT32_C(0x002CC083), UINT32_C(0x001879BA),
+ UINT32_C(0x0051EE63), UINT32_C(0x0019F677), UINT32_C(0x0010AD1F),
+ UINT32_C(0x002A0F9B), UINT32_C(0x0041EA60), UINT32_C(0x00277936),
+ UINT32_C(0x00380AD2), UINT32_C(0x001D4704)},
+ {UINT32_C(0x004BFEC6), UINT32_C(0x0001B656), UINT32_C(0x002537A7),
+ UINT32_C(0x0074F164), UINT32_C(0x003DAAEE), UINT32_C(0x0030B1B3),
+ UINT32_C(0x0028EFD7), UINT32_C(0x0063000E), UINT32_C(0x002E7006),
+ UINT32_C(0x0006D43F), UINT32_C(0x003A92B0), UINT32_C(0x005CBF0D),
+ UINT32_C(0x001B3D1C), UINT32_C(0x00155A03), UINT32_C(0x0013BCFB),
+ UINT32_C(0x0022E3EA), UINT32_C(0x0009A093), UINT32_C(0x00372B6D),
+ UINT32_C(0x003B3D4A), UINT32_C(0x0022BBAE), UINT32_C(0x002C8021),
+ UINT32_C(0x002F7ACB), UINT32_C(0x002885FE)}},
+ {{UINT32_C(0x003234EF), UINT32_C(0x0029B8C5), UINT32_C(0x001AE10C),
+ UINT32_C(0x0016CD11), UINT32_C(0x003ACD42), UINT32_C(0x0009111E),
+ UINT32_C(0x002E5197), UINT32_C(0x000CF7DD), UINT32_C(0x0002A45E),
+ UINT32_C(0x0013DCB9), UINT32_C(0x0011DF8A), UINT32_C(0x0041E6A2),
+ UINT32_C(0x003D6BEC), UINT32_C(0x0019831C), UINT32_C(0x0026F1BD),
+ UINT32_C(0x001F02BE), UINT32_C(0x00291AD9), UINT32_C(0x000AEAD3),
+ UINT32_C(0x000655DB), UINT32_C(0x004C8DC1), UINT32_C(0x0027BF77),
+ UINT32_C(0x0017E4AD), UINT32_C(0x00376E83)},
+ {UINT32_C(0x006C4C88), UINT32_C(0x003238DA), UINT32_C(0x000D5920),
+ UINT32_C(0x002DB750), UINT32_C(0x0035FA90), UINT32_C(0x000C2BC9),
+ UINT32_C(0x002DB3D0), UINT32_C(0x00373A80), UINT32_C(0x002E0271),
+ UINT32_C(0x003818B5), UINT32_C(0x003209D6), UINT32_C(0x003D0A96),
+ UINT32_C(0x0007BE66), UINT32_C(0x00306A1A), UINT32_C(0x001E42D6),
+ UINT32_C(0x0021C5C7), UINT32_C(0x00255B61), UINT32_C(0x002E2400),
+ UINT32_C(0x000B30C1), UINT32_C(0x0012F49E), UINT32_C(0x000E248A),
+ UINT32_C(0x003BBE77), UINT32_C(0x0008EEED)},
+ {UINT32_C(0x0014067A), UINT32_C(0x002CF299), UINT32_C(0x00082BEF),
+ UINT32_C(0x00130694), UINT32_C(0x0018C073), UINT32_C(0x000CA3AA),
+ UINT32_C(0x00128835), UINT32_C(0x0023457E), UINT32_C(0x000FF51F),
+ UINT32_C(0x003F8C44), UINT32_C(0x003FA288), UINT32_C(0x00269665),
+ UINT32_C(0x00080B90), UINT32_C(0x000CFEE1), UINT32_C(0x003F3285),
+ UINT32_C(0x000DF6EE), UINT32_C(0x000B1087), UINT32_C(0x00107D3D),
+ UINT32_C(0x00311E7D), UINT32_C(0x007CA53C), UINT32_C(0x0033FCA6),
+ UINT32_C(0x00263A19), UINT32_C(0x00363624)}},
+ {{UINT32_C(0x001DDC6C), UINT32_C(0x003A0EDE), UINT32_C(0x001408D0),
+ UINT32_C(0x001EEE7B), UINT32_C(0x001405FC), UINT32_C(0x00128750),
+ UINT32_C(0x002CA34C), UINT32_C(0x0000FBEA), UINT32_C(0x0006137A),
+ UINT32_C(0x00370D1A), UINT32_C(0x003B6A04), UINT32_C(0x00057D79),
+ UINT32_C(0x0028B50F), UINT32_C(0x0013A132), UINT32_C(0x0007EB68),
+ UINT32_C(0x007A7017), UINT32_C(0x002517C9), UINT32_C(0x00219256),
+ UINT32_C(0x003E617C), UINT32_C(0x00456ECE), UINT32_C(0x0011278F),
+ UINT32_C(0x001624F1), UINT32_C(0x0003C0F7)},
+ {UINT32_C(0x000AF6C0), UINT32_C(0x003DA705), UINT32_C(0x000CC5A4),
+ UINT32_C(0x00045A7B), UINT32_C(0x0030E620), UINT32_C(0x0005489D),
+ UINT32_C(0x00350783), UINT32_C(0x00053DBD), UINT32_C(0x0016C68B),
+ UINT32_C(0x002D182B), UINT32_C(0x00294A05), UINT32_C(0x00749DE2),
+ UINT32_C(0x000DDD4D), UINT32_C(0x003B31A2), UINT32_C(0x00197D97),
+ UINT32_C(0x006BBE3E), UINT32_C(0x003FF605), UINT32_C(0x00049D4F),
+ UINT32_C(0x00312E4D), UINT32_C(0x003F5019), UINT32_C(0x003E1C7F),
+ UINT32_C(0x003D1C1D), UINT32_C(0x003D261E)},
+ {UINT32_C(0x0026418D), UINT32_C(0x00292458), UINT32_C(0x001A1FC4),
+ UINT32_C(0x00617DF6), UINT32_C(0x0024EEF7), UINT32_C(0x000F2BD5),
+ UINT32_C(0x0034E0B9), UINT32_C(0x006C6D66), UINT32_C(0x00074BA2),
+ UINT32_C(0x001A4D76), UINT32_C(0x00306BE0), UINT32_C(0x0002376E),
+ UINT32_C(0x0005EF92), UINT32_C(0x003EBB91), UINT32_C(0x0024BA60),
+ UINT32_C(0x001BA73C), UINT32_C(0x00222A6B), UINT32_C(0x0018DAEF),
+ UINT32_C(0x00141DE7), UINT32_C(0x00390908), UINT32_C(0x0035530C),
+ UINT32_C(0x0002CD8D), UINT32_C(0x00077882)}},
+ {{UINT32_C(0x00440DE3), UINT32_C(0x002D9BF2), UINT32_C(0x000C1E19),
+ UINT32_C(0x0013C1C8), UINT32_C(0x00318020), UINT32_C(0x001DCAEC),
+ UINT32_C(0x00064315), UINT32_C(0x00335FB3), UINT32_C(0x00146401),
+ UINT32_C(0x0035671E), UINT32_C(0x0008E31D), UINT32_C(0x0069E0DB),
+ UINT32_C(0x00071FA1), UINT32_C(0x0039CF3B), UINT32_C(0x0018E811),
+ UINT32_C(0x002DB19F), UINT32_C(0x001279C0), UINT32_C(0x0029FDEB),
+ UINT32_C(0x002EF592), UINT32_C(0x005F5F4A), UINT32_C(0x000A323A),
+ UINT32_C(0x002C8BBB), UINT32_C(0x00326780)},
+ {UINT32_C(0x000CB270), UINT32_C(0x00086BD0), UINT32_C(0x0036C911),
+ UINT32_C(0x0005F16E), UINT32_C(0x00359A7C), UINT32_C(0x0033FFDF),
+ UINT32_C(0x002FE3CF), UINT32_C(0x00286EBC), UINT32_C(0x00282C12),
+ UINT32_C(0x0032282A), UINT32_C(0x002231DA), UINT32_C(0x00000319),
+ UINT32_C(0x003D8930), UINT32_C(0x002056B8), UINT32_C(0x003104E7),
+ UINT32_C(0x0006E83C), UINT32_C(0x0003636A), UINT32_C(0x0024CB95),
+ UINT32_C(0x002DE038), UINT32_C(0x00081E87), UINT32_C(0x0034B889),
+ UINT32_C(0x000F9915), UINT32_C(0x00310022)},
+ {UINT32_C(0x0040A26D), UINT32_C(0x002410E6), UINT32_C(0x0033665C),
+ UINT32_C(0x005EB45D), UINT32_C(0x0001C554), UINT32_C(0x00031D73),
+ UINT32_C(0x000EA84F), UINT32_C(0x006564D6), UINT32_C(0x001F3357),
+ UINT32_C(0x0020481A), UINT32_C(0x00180940), UINT32_C(0x003BF11D),
+ UINT32_C(0x002AF372), UINT32_C(0x002559BC), UINT32_C(0x00178008),
+ UINT32_C(0x000A361C), UINT32_C(0x0037281D), UINT32_C(0x000742C0),
+ UINT32_C(0x003B03D2), UINT32_C(0x005EBA80), UINT32_C(0x003348EE),
+ UINT32_C(0x00332C9E), UINT32_C(0x00131D23)}},
+ {{UINT32_C(0x004F558D), UINT32_C(0x00110D2E), UINT32_C(0x0010B290),
+ UINT32_C(0x00298F39), UINT32_C(0x001A9DD0), UINT32_C(0x00045042),
+ UINT32_C(0x00074453), UINT32_C(0x0031D6D7), UINT32_C(0x0007787F),
+ UINT32_C(0x002DAAA8), UINT32_C(0x003148F0), UINT32_C(0x00014722),
+ UINT32_C(0x001A5F6A), UINT32_C(0x00101BC3), UINT32_C(0x00127243),
+ UINT32_C(0x007D18A1), UINT32_C(0x002A51D2), UINT32_C(0x0025ED49),
+ UINT32_C(0x003D93AC), UINT32_C(0x0000A172), UINT32_C(0x002D4427),
+ UINT32_C(0x0035288C), UINT32_C(0x000733E5)},
+ {UINT32_C(0x004F5F03), UINT32_C(0x003E1845), UINT32_C(0x0006AEB2),
+ UINT32_C(0x0072B386), UINT32_C(0x00309DB4), UINT32_C(0x002E4AE4),
+ UINT32_C(0x001C33C4), UINT32_C(0x0064AA28), UINT32_C(0x003A80E7),
+ UINT32_C(0x0018D735), UINT32_C(0x0035E7AB), UINT32_C(0x0049C50A),
+ UINT32_C(0x0011BF7D), UINT32_C(0x001CF85A), UINT32_C(0x00310DD1),
+ UINT32_C(0x00755DE3), UINT32_C(0x001EF133), UINT32_C(0x0019EC22),
+ UINT32_C(0x00093BF1), UINT32_C(0x0079C3FF), UINT32_C(0x0035788E),
+ UINT32_C(0x003BCE6D), UINT32_C(0x00319941)},
+ {UINT32_C(0x00320489), UINT32_C(0x0013DD6F), UINT32_C(0x0030C812),
+ UINT32_C(0x0058EFB4), UINT32_C(0x00199A57), UINT32_C(0x0001DCC5),
+ UINT32_C(0x00397377), UINT32_C(0x006262B8), UINT32_C(0x002B88C5),
+ UINT32_C(0x0009A7A2), UINT32_C(0x000243A8), UINT32_C(0x000FE111),
+ UINT32_C(0x00388C89), UINT32_C(0x0011A2E9), UINT32_C(0x00227DAE),
+ UINT32_C(0x004E02B8), UINT32_C(0x0004E7BC), UINT32_C(0x0003B33F),
+ UINT32_C(0x0003C0C6), UINT32_C(0x0025DF7E), UINT32_C(0x003A82E0),
+ UINT32_C(0x003930EE), UINT32_C(0x0013C142)}},
+ {{UINT32_C(0x0066CDFE), UINT32_C(0x000F2EAC), UINT32_C(0x00131171),
+ UINT32_C(0x000D830C), UINT32_C(0x00073ABF), UINT32_C(0x0006D5DB),
+ UINT32_C(0x0019F2ED), UINT32_C(0x007D8846), UINT32_C(0x002CDE7E),
+ UINT32_C(0x001F8420), UINT32_C(0x00248809), UINT32_C(0x0070E344),
+ UINT32_C(0x00068413), UINT32_C(0x000706E0), UINT32_C(0x002454A6),
+ UINT32_C(0x003C1F38), UINT32_C(0x0020840E), UINT32_C(0x00308F2A),
+ UINT32_C(0x003B026E), UINT32_C(0x0055D941), UINT32_C(0x0026CD7D),
+ UINT32_C(0x00041FFB), UINT32_C(0x0016E182)},
+ {UINT32_C(0x00498EA7), UINT32_C(0x0028466B), UINT32_C(0x002EE6E4),
+ UINT32_C(0x005ADB8E), UINT32_C(0x0034DF94), UINT32_C(0x0016E8FA),
+ UINT32_C(0x000DD486), UINT32_C(0x0022172A), UINT32_C(0x0026F797),
+ UINT32_C(0x003EA2F7), UINT32_C(0x003F32FE), UINT32_C(0x00761C80),
+ UINT32_C(0x00141A4B), UINT32_C(0x003A2DC0), UINT32_C(0x003F2489),
+ UINT32_C(0x00284EBF), UINT32_C(0x00324946), UINT32_C(0x00098DC6),
+ UINT32_C(0x00140160), UINT32_C(0x001637DD), UINT32_C(0x0032460F),
+ UINT32_C(0x001DCD38), UINT32_C(0x0024F529)},
+ {UINT32_C(0x0033F90C), UINT32_C(0x000B2B06), UINT32_C(0x0010AC6C),
+ UINT32_C(0x000D4C79), UINT32_C(0x0028ACCF), UINT32_C(0x003882B8),
+ UINT32_C(0x003627FD), UINT32_C(0x0077768C), UINT32_C(0x00060B8A),
+ UINT32_C(0x00175AB9), UINT32_C(0x0020A7D7), UINT32_C(0x0036E54C),
+ UINT32_C(0x0026B20A), UINT32_C(0x000E710C), UINT32_C(0x0024597D),
+ UINT32_C(0x0019E845), UINT32_C(0x0028672C), UINT32_C(0x0021B0CC),
+ UINT32_C(0x0023D9E3), UINT32_C(0x001692C6), UINT32_C(0x0001D045),
+ UINT32_C(0x00097657), UINT32_C(0x000370F6)}},
+ {{UINT32_C(0x007B9005), UINT32_C(0x0027B1D5), UINT32_C(0x0030BCA5),
+ UINT32_C(0x0033E7A3), UINT32_C(0x00260D50), UINT32_C(0x000425F4),
+ UINT32_C(0x002BF81B), UINT32_C(0x0056DC12), UINT32_C(0x001C3248),
+ UINT32_C(0x0023BE6A), UINT32_C(0x0031838D), UINT32_C(0x006C6DD9),
+ UINT32_C(0x002FD065), UINT32_C(0x003EC34D), UINT32_C(0x001B79C8),
+ UINT32_C(0x0061CFCC), UINT32_C(0x002C377E), UINT32_C(0x0005C2A1),
+ UINT32_C(0x00142560), UINT32_C(0x0007DCCB), UINT32_C(0x00238949),
+ UINT32_C(0x0011710D), UINT32_C(0x0036AE4C)},
+ {UINT32_C(0x002C3F57), UINT32_C(0x0007550E), UINT32_C(0x00145D0D),
+ UINT32_C(0x00172C44), UINT32_C(0x00166B15), UINT32_C(0x003F673A),
+ UINT32_C(0x001F41B9), UINT32_C(0x0038E3E7), UINT32_C(0x000ED8FE),
+ UINT32_C(0x0026F447), UINT32_C(0x00141659), UINT32_C(0x004024EA),
+ UINT32_C(0x0014C9B2), UINT32_C(0x0021B32A), UINT32_C(0x00362710),
+ UINT32_C(0x00791C00), UINT32_C(0x0012A6F2), UINT32_C(0x003E23AE),
+ UINT32_C(0x00359C46), UINT32_C(0x0056019B), UINT32_C(0x0024CD68),
+ UINT32_C(0x0018639D), UINT32_C(0x000AA1E5)},
+ {UINT32_C(0x003EB03A), UINT32_C(0x0005BD4E), UINT32_C(0x0026A08D),
+ UINT32_C(0x00767FC9), UINT32_C(0x000AE7A8), UINT32_C(0x00302EFF),
+ UINT32_C(0x000E751E), UINT32_C(0x000221EB), UINT32_C(0x0013D036),
+ UINT32_C(0x000B5F88), UINT32_C(0x00195DE4), UINT32_C(0x007C1167),
+ UINT32_C(0x000F8BFB), UINT32_C(0x002A2BF5), UINT32_C(0x001374E2),
+ UINT32_C(0x005BAA0D), UINT32_C(0x0034A333), UINT32_C(0x002DB57E),
+ UINT32_C(0x002A02CC), UINT32_C(0x00497D58), UINT32_C(0x000647E9),
+ UINT32_C(0x00212584), UINT32_C(0x0028AE2E)}},
+ },
+ {
+ {{UINT32_C(0x0056CAA9), UINT32_C(0x002ED942), UINT32_C(0x00066832),
+ UINT32_C(0x000E005C), UINT32_C(0x000212C9), UINT32_C(0x000A5796),
+ UINT32_C(0x0039920F), UINT32_C(0x00085F1D), UINT32_C(0x00361285),
+ UINT32_C(0x00307080), UINT32_C(0x00062627), UINT32_C(0x007D6AAA),
+ UINT32_C(0x002FAD3A), UINT32_C(0x001F916B), UINT32_C(0x0019CDED),
+ UINT32_C(0x0060F8EF), UINT32_C(0x00006CD6), UINT32_C(0x0009A576),
+ UINT32_C(0x0004244C), UINT32_C(0x0056B6F1), UINT32_C(0x0027D5EC),
+ UINT32_C(0x001C22FE), UINT32_C(0x0020CA2B)},
+ {UINT32_C(0x00638473), UINT32_C(0x0028A459), UINT32_C(0x0008F882),
+ UINT32_C(0x00300359), UINT32_C(0x001A0569), UINT32_C(0x000733C8),
+ UINT32_C(0x000AA690), UINT32_C(0x002854FD), UINT32_C(0x003A42AB),
+ UINT32_C(0x00005D85), UINT32_C(0x003EC955), UINT32_C(0x00276DAB),
+ UINT32_C(0x002C69D6), UINT32_C(0x0028E861), UINT32_C(0x003C6252),
+ UINT32_C(0x001693C6), UINT32_C(0x00067C90), UINT32_C(0x00135D5A),
+ UINT32_C(0x0019BAA5), UINT32_C(0x00638A4D), UINT32_C(0x001C54F3),
+ UINT32_C(0x0036958E), UINT32_C(0x00229409)},
+ {UINT32_C(0x003694AD), UINT32_C(0x003CDD1D), UINT32_C(0x002BB2CB),
+ UINT32_C(0x000F907F), UINT32_C(0x00217793), UINT32_C(0x001C10F3),
+ UINT32_C(0x0007C509), UINT32_C(0x0055ED5B), UINT32_C(0x003FC009),
+ UINT32_C(0x0013833E), UINT32_C(0x000AFDAF), UINT32_C(0x0003DFB2),
+ UINT32_C(0x002EBC1F), UINT32_C(0x00268005), UINT32_C(0x0028835F),
+ UINT32_C(0x002FE0AF), UINT32_C(0x002E65E7), UINT32_C(0x002D7AC4),
+ UINT32_C(0x0016B704), UINT32_C(0x0034371A), UINT32_C(0x00333D73),
+ UINT32_C(0x00117F49), UINT32_C(0x003508FB)}},
+ {{UINT32_C(0x0024288F), UINT32_C(0x00003DD4), UINT32_C(0x00121C5C),
+ UINT32_C(0x00771CBC), UINT32_C(0x003BF063), UINT32_C(0x0002294B),
+ UINT32_C(0x0031319F), UINT32_C(0x00643727), UINT32_C(0x00319F6F),
+ UINT32_C(0x0008B82B), UINT32_C(0x00101D49), UINT32_C(0x00546EE5),
+ UINT32_C(0x00238C40), UINT32_C(0x00030CAC), UINT32_C(0x00190408),
+ UINT32_C(0x007C0F5A), UINT32_C(0x0015EAFD), UINT32_C(0x00024A8F),
+ UINT32_C(0x00365016), UINT32_C(0x002D2DBA), UINT32_C(0x001F751C),
+ UINT32_C(0x0003964A), UINT32_C(0x002F92CB)},
+ {UINT32_C(0x00561A15), UINT32_C(0x003B4C37), UINT32_C(0x001C36B5),
+ UINT32_C(0x002ED2E4), UINT32_C(0x0002231B), UINT32_C(0x001ADAF5),
+ UINT32_C(0x00270194), UINT32_C(0x0009DBF0), UINT32_C(0x00287239),
+ UINT32_C(0x00080B2D), UINT32_C(0x002EB25E), UINT32_C(0x0032ED93),
+ UINT32_C(0x00164DC0), UINT32_C(0x002F327A), UINT32_C(0x00130078),
+ UINT32_C(0x001841D3), UINT32_C(0x00049BC2), UINT32_C(0x00048E93),
+ UINT32_C(0x001B59E7), UINT32_C(0x006243C6), UINT32_C(0x00394260),
+ UINT32_C(0x0017BC8D), UINT32_C(0x00176B2A)},
+ {UINT32_C(0x00041022), UINT32_C(0x0006B154), UINT32_C(0x0027CADC),
+ UINT32_C(0x00627B5A), UINT32_C(0x001965DA), UINT32_C(0x002D1BDB),
+ UINT32_C(0x001B16FE), UINT32_C(0x0016A869), UINT32_C(0x002540EA),
+ UINT32_C(0x003B4B72), UINT32_C(0x0013ECCC), UINT32_C(0x00581A5A),
+ UINT32_C(0x002C2192), UINT32_C(0x002588BF), UINT32_C(0x001CC31E),
+ UINT32_C(0x0053D1B3), UINT32_C(0x003845C2), UINT32_C(0x00234BBE),
+ UINT32_C(0x0007ABDF), UINT32_C(0x00567DC1), UINT32_C(0x00204D8E),
+ UINT32_C(0x00161734), UINT32_C(0x00062C35)}},
+ {{UINT32_C(0x000DD434), UINT32_C(0x0027577F), UINT32_C(0x00224BAB),
+ UINT32_C(0x001F24C1), UINT32_C(0x00225696), UINT32_C(0x00241E15),
+ UINT32_C(0x001CEBF5), UINT32_C(0x005549C7), UINT32_C(0x003C9373),
+ UINT32_C(0x002DCBA3), UINT32_C(0x002A3CBA), UINT32_C(0x001EE227),
+ UINT32_C(0x0020FD58), UINT32_C(0x0007BFF7), UINT32_C(0x00341B3D),
+ UINT32_C(0x0047E8D4), UINT32_C(0x0011C543), UINT32_C(0x00386E9E),
+ UINT32_C(0x00232B8F), UINT32_C(0x0043836A), UINT32_C(0x0001E14C),
+ UINT32_C(0x00136E35), UINT32_C(0x002D423A)},
+ {UINT32_C(0x005DA3DC), UINT32_C(0x003E4B5E), UINT32_C(0x00182E1B),
+ UINT32_C(0x004D3F17), UINT32_C(0x00358964), UINT32_C(0x002F6CDB),
+ UINT32_C(0x000FA963), UINT32_C(0x00530F85), UINT32_C(0x003FCE01),
+ UINT32_C(0x0027B181), UINT32_C(0x0016C4E2), UINT32_C(0x001A24B7),
+ UINT32_C(0x003A2690), UINT32_C(0x002BAD95), UINT32_C(0x000A878E),
+ UINT32_C(0x0049FA0F), UINT32_C(0x00200790), UINT32_C(0x0007745A),
+ UINT32_C(0x001A19FB), UINT32_C(0x00524E6F), UINT32_C(0x00167AEF),
+ UINT32_C(0x00318813), UINT32_C(0x000BF477)},
+ {UINT32_C(0x00446FFB), UINT32_C(0x000E720D), UINT32_C(0x0013A7AD),
+ UINT32_C(0x002F3160), UINT32_C(0x0020ACA2), UINT32_C(0x0031E19F),
+ UINT32_C(0x002C99C7), UINT32_C(0x0053FC61), UINT32_C(0x000B444B),
+ UINT32_C(0x000432E3), UINT32_C(0x0020DFE5), UINT32_C(0x0000DCBD),
+ UINT32_C(0x002A6660), UINT32_C(0x0035A737), UINT32_C(0x0016191B),
+ UINT32_C(0x006DFEF3), UINT32_C(0x0007D074), UINT32_C(0x0015B6DA),
+ UINT32_C(0x000E1D85), UINT32_C(0x0040898C), UINT32_C(0x000F18DD),
+ UINT32_C(0x0016A189), UINT32_C(0x00259E34)}},
+ {{UINT32_C(0x004D2036), UINT32_C(0x00198B36), UINT32_C(0x0006CEDC),
+ UINT32_C(0x0028C725), UINT32_C(0x003381EA), UINT32_C(0x0037C857),
+ UINT32_C(0x00239AE3), UINT32_C(0x000B8343), UINT32_C(0x0013B8A1),
+ UINT32_C(0x0004CA9C), UINT32_C(0x00341F6F), UINT32_C(0x002C9D36),
+ UINT32_C(0x0002B4CE), UINT32_C(0x000F979A), UINT32_C(0x00005E1A),
+ UINT32_C(0x0003C162), UINT32_C(0x000C805D), UINT32_C(0x00171240),
+ UINT32_C(0x00200E07), UINT32_C(0x005B5010), UINT32_C(0x0019D606),
+ UINT32_C(0x00226023), UINT32_C(0x0023D266)},
+ {UINT32_C(0x00240CF2), UINT32_C(0x002268F3), UINT32_C(0x0025D159),
+ UINT32_C(0x003C1B6F), UINT32_C(0x00214C16), UINT32_C(0x0022D5EA),
+ UINT32_C(0x001D06D1), UINT32_C(0x007104A8), UINT32_C(0x002198F4),
+ UINT32_C(0x002EAE4A), UINT32_C(0x001A0374), UINT32_C(0x00128B26),
+ UINT32_C(0x00156B81), UINT32_C(0x00380AB8), UINT32_C(0x00000B34),
+ UINT32_C(0x0032FD36), UINT32_C(0x0035997F), UINT32_C(0x001DDD23),
+ UINT32_C(0x000F9701), UINT32_C(0x003D11DD), UINT32_C(0x00219A73),
+ UINT32_C(0x0009572E), UINT32_C(0x0007E79A)},
+ {UINT32_C(0x004E4AD4), UINT32_C(0x0038839D), UINT32_C(0x0031F346),
+ UINT32_C(0x00188C54), UINT32_C(0x000CE5E2), UINT32_C(0x000BCB59),
+ UINT32_C(0x0036662E), UINT32_C(0x007DF8FB), UINT32_C(0x000E4805),
+ UINT32_C(0x0038EDC7), UINT32_C(0x00209BB0), UINT32_C(0x006A5B00),
+ UINT32_C(0x0005DC69), UINT32_C(0x001AE66C), UINT32_C(0x00175257),
+ UINT32_C(0x006D0BBF), UINT32_C(0x00158611), UINT32_C(0x003EFEA8),
+ UINT32_C(0x000E0C1D), UINT32_C(0x0050DC3B), UINT32_C(0x00008337),
+ UINT32_C(0x001869C2), UINT32_C(0x003FD81D)}},
+ {{UINT32_C(0x0050CB64), UINT32_C(0x002429A6), UINT32_C(0x00382136),
+ UINT32_C(0x0054F357), UINT32_C(0x003794A8), UINT32_C(0x001F187A),
+ UINT32_C(0x000F2E75), UINT32_C(0x001AC75C), UINT32_C(0x002C3E90),
+ UINT32_C(0x002E6B5E), UINT32_C(0x0039AC0E), UINT32_C(0x004F180B),
+ UINT32_C(0x0020C545), UINT32_C(0x003FD3EB), UINT32_C(0x000C1453),
+ UINT32_C(0x0017FAB0), UINT32_C(0x002E55DE), UINT32_C(0x0031C1C1),
+ UINT32_C(0x002659CA), UINT32_C(0x0053E22F), UINT32_C(0x00377EA4),
+ UINT32_C(0x0011C7AF), UINT32_C(0x0005E66B)},
+ {UINT32_C(0x005F2793), UINT32_C(0x000FABF6), UINT32_C(0x00138DB2),
+ UINT32_C(0x0003EF56), UINT32_C(0x003C44CD), UINT32_C(0x002D1772),
+ UINT32_C(0x00296103), UINT32_C(0x0010A045), UINT32_C(0x003F081B),
+ UINT32_C(0x0003CA53), UINT32_C(0x00319331), UINT32_C(0x001F65B4),
+ UINT32_C(0x002E09B1), UINT32_C(0x003544F7), UINT32_C(0x002E0977),
+ UINT32_C(0x007A91C1), UINT32_C(0x000E98E1), UINT32_C(0x003C2830),
+ UINT32_C(0x001F751E), UINT32_C(0x000FE9DE), UINT32_C(0x00104CA6),
+ UINT32_C(0x00084E9F), UINT32_C(0x002EDF68)},
+ {UINT32_C(0x001753AE), UINT32_C(0x0015176B), UINT32_C(0x001D49C2),
+ UINT32_C(0x005271F0), UINT32_C(0x000E3B9D), UINT32_C(0x002A9E63),
+ UINT32_C(0x00147498), UINT32_C(0x0028C096), UINT32_C(0x0038F62A),
+ UINT32_C(0x001E8789), UINT32_C(0x001E1D5C), UINT32_C(0x003504A2),
+ UINT32_C(0x0026FE76), UINT32_C(0x001C16A5), UINT32_C(0x001B3F89),
+ UINT32_C(0x0043DB5A), UINT32_C(0x00106CD7), UINT32_C(0x00317E3F),
+ UINT32_C(0x00332597), UINT32_C(0x003737FB), UINT32_C(0x003F7130),
+ UINT32_C(0x002A1EA9), UINT32_C(0x003BE9DE)}},
+ {{UINT32_C(0x003FC808), UINT32_C(0x002F762E), UINT32_C(0x003004D3),
+ UINT32_C(0x00384DB9), UINT32_C(0x002349A4), UINT32_C(0x0032B0E8),
+ UINT32_C(0x00152A07), UINT32_C(0x00361460), UINT32_C(0x0039BDD3),
+ UINT32_C(0x0017D898), UINT32_C(0x00228C11), UINT32_C(0x0061443C),
+ UINT32_C(0x0033C414), UINT32_C(0x001922E8), UINT32_C(0x0033EB75),
+ UINT32_C(0x006856CB), UINT32_C(0x000D4491), UINT32_C(0x00089ED9),
+ UINT32_C(0x001713B8), UINT32_C(0x000737CA), UINT32_C(0x0037B4BB),
+ UINT32_C(0x00137C25), UINT32_C(0x00157928)},
+ {UINT32_C(0x005C5870), UINT32_C(0x0013A25A), UINT32_C(0x001376B2),
+ UINT32_C(0x007F3687), UINT32_C(0x000DD1CA), UINT32_C(0x00144BD1),
+ UINT32_C(0x00205B88), UINT32_C(0x0030B67A), UINT32_C(0x002F2ED7),
+ UINT32_C(0x002BBB97), UINT32_C(0x0006DE0E), UINT32_C(0x0042D5EF),
+ UINT32_C(0x0020BC9E), UINT32_C(0x001DFACA), UINT32_C(0x00176018),
+ UINT32_C(0x00557358), UINT32_C(0x000A2A03), UINT32_C(0x0017F6AA),
+ UINT32_C(0x001A348A), UINT32_C(0x0063CCCE), UINT32_C(0x0019E3CD),
+ UINT32_C(0x001CAF72), UINT32_C(0x0008A7AC)},
+ {UINT32_C(0x00073284), UINT32_C(0x0016A772), UINT32_C(0x001B02B4),
+ UINT32_C(0x003DCC2C), UINT32_C(0x001275AC), UINT32_C(0x0013EC26),
+ UINT32_C(0x0039548F), UINT32_C(0x0032AC62), UINT32_C(0x002E6D0F),
+ UINT32_C(0x0020A687), UINT32_C(0x0034013D), UINT32_C(0x002FBD07),
+ UINT32_C(0x0027B2FE), UINT32_C(0x000AB0F8), UINT32_C(0x000DFCFE),
+ UINT32_C(0x004B5DB3), UINT32_C(0x0031570E), UINT32_C(0x002A4886),
+ UINT32_C(0x000AA957), UINT32_C(0x005D7580), UINT32_C(0x001EBED6),
+ UINT32_C(0x00253717), UINT32_C(0x001A649B)}},
+ {{UINT32_C(0x006C4CB2), UINT32_C(0x001FB3E4), UINT32_C(0x0015B9F8),
+ UINT32_C(0x00361781), UINT32_C(0x002C10D3), UINT32_C(0x001D9D87),
+ UINT32_C(0x0034274C), UINT32_C(0x0021EBF4), UINT32_C(0x0033DC87),
+ UINT32_C(0x000ADD4D), UINT32_C(0x003051CC), UINT32_C(0x0069D7F2),
+ UINT32_C(0x002CFFFE), UINT32_C(0x0014E44A), UINT32_C(0x00049CA0),
+ UINT32_C(0x003CBED6), UINT32_C(0x001BF1E2), UINT32_C(0x0014C23E),
+ UINT32_C(0x000B6EB5), UINT32_C(0x002DB65D), UINT32_C(0x0005CB32),
+ UINT32_C(0x00038B9C), UINT32_C(0x0007883B)},
+ {UINT32_C(0x003EF9A6), UINT32_C(0x001E1E72), UINT32_C(0x00118E1F),
+ UINT32_C(0x000DD4EE), UINT32_C(0x001621A6), UINT32_C(0x003726A5),
+ UINT32_C(0x0005CB81), UINT32_C(0x0066CE7A), UINT32_C(0x000248A4),
+ UINT32_C(0x002D7AFD), UINT32_C(0x0014ACD8), UINT32_C(0x0025639C),
+ UINT32_C(0x0009A8A5), UINT32_C(0x003318F4), UINT32_C(0x000F0BF7),
+ UINT32_C(0x005062DE), UINT32_C(0x000024A9), UINT32_C(0x000E22D2),
+ UINT32_C(0x001E48E9), UINT32_C(0x0021E288), UINT32_C(0x0036DB79),
+ UINT32_C(0x002F277C), UINT32_C(0x002B4193)},
+ {UINT32_C(0x001EA6FE), UINT32_C(0x0031EE3B), UINT32_C(0x00045D18),
+ UINT32_C(0x007B886D), UINT32_C(0x003AB025), UINT32_C(0x003CB9DC),
+ UINT32_C(0x001E395D), UINT32_C(0x003B02BB), UINT32_C(0x00117981),
+ UINT32_C(0x0019571F), UINT32_C(0x0012104C), UINT32_C(0x0015B662),
+ UINT32_C(0x002C613A), UINT32_C(0x00070FFA), UINT32_C(0x000F20BB),
+ UINT32_C(0x0070246F), UINT32_C(0x003AE4D8), UINT32_C(0x002C3692),
+ UINT32_C(0x002BA766), UINT32_C(0x006979EC), UINT32_C(0x001EE4FA),
+ UINT32_C(0x003FC3AE), UINT32_C(0x00097753)}},
+ {{UINT32_C(0x004F1DE3), UINT32_C(0x000C6911), UINT32_C(0x000A47C8),
+ UINT32_C(0x001D1BD1), UINT32_C(0x002F9D0E), UINT32_C(0x00028B6C),
+ UINT32_C(0x0030B56D), UINT32_C(0x007338C9), UINT32_C(0x000444B1),
+ UINT32_C(0x0039A863), UINT32_C(0x0014FD9B), UINT32_C(0x0029BA71),
+ UINT32_C(0x002F8E1D), UINT32_C(0x0012C499), UINT32_C(0x00073FFA),
+ UINT32_C(0x000C56D4), UINT32_C(0x0014A736), UINT32_C(0x003A7177),
+ UINT32_C(0x001CE30C), UINT32_C(0x003AAF39), UINT32_C(0x0022B563),
+ UINT32_C(0x0036E7CC), UINT32_C(0x0037AFCD)},
+ {UINT32_C(0x0058F41D), UINT32_C(0x00140257), UINT32_C(0x00211567),
+ UINT32_C(0x007DDA65), UINT32_C(0x0022C062), UINT32_C(0x001ED494),
+ UINT32_C(0x0018952B), UINT32_C(0x00649D74), UINT32_C(0x0029BEC2),
+ UINT32_C(0x0020C9DA), UINT32_C(0x0017B4BC), UINT32_C(0x0068E1EE),
+ UINT32_C(0x0008D396), UINT32_C(0x00101E55), UINT32_C(0x00179EF9),
+ UINT32_C(0x00704D7B), UINT32_C(0x00225FE0), UINT32_C(0x0033AD09),
+ UINT32_C(0x000D6F51), UINT32_C(0x00617587), UINT32_C(0x00014347),
+ UINT32_C(0x0006D488), UINT32_C(0x000A58EA)},
+ {UINT32_C(0x0062169E), UINT32_C(0x003EC8CD), UINT32_C(0x00241534),
+ UINT32_C(0x006F5F65), UINT32_C(0x002B9962), UINT32_C(0x00142663),
+ UINT32_C(0x00088E95), UINT32_C(0x00730FE3), UINT32_C(0x00331A06),
+ UINT32_C(0x0027E7BD), UINT32_C(0x00364306), UINT32_C(0x003E391E),
+ UINT32_C(0x00313667), UINT32_C(0x00198427), UINT32_C(0x00226ADA),
+ UINT32_C(0x00566F4B), UINT32_C(0x0021A27C), UINT32_C(0x0017BBD7),
+ UINT32_C(0x003D41DB), UINT32_C(0x0028BB58), UINT32_C(0x003278B2),
+ UINT32_C(0x0006E057), UINT32_C(0x0003C841)}},
+ {{UINT32_C(0x00687D5D), UINT32_C(0x003309EF), UINT32_C(0x00346CE5),
+ UINT32_C(0x001FF1AB), UINT32_C(0x003D2116), UINT32_C(0x0018305D),
+ UINT32_C(0x00049468), UINT32_C(0x0061BCEB), UINT32_C(0x00157FA5),
+ UINT32_C(0x00036CFD), UINT32_C(0x0017B473), UINT32_C(0x00536514),
+ UINT32_C(0x0035BE53), UINT32_C(0x0031FBF4), UINT32_C(0x00138689),
+ UINT32_C(0x00459FC3), UINT32_C(0x00382E53), UINT32_C(0x0009DCE1),
+ UINT32_C(0x001E636A), UINT32_C(0x002622FE), UINT32_C(0x0014A044),
+ UINT32_C(0x00145177), UINT32_C(0x002C68B2)},
+ {UINT32_C(0x0007CDE9), UINT32_C(0x0005E108), UINT32_C(0x000D8163),
+ UINT32_C(0x003F9A62), UINT32_C(0x001C6BBE), UINT32_C(0x00202790),
+ UINT32_C(0x000B515C), UINT32_C(0x0006A300), UINT32_C(0x0015F9A6),
+ UINT32_C(0x002A1527), UINT32_C(0x003A73EB), UINT32_C(0x006F181C),
+ UINT32_C(0x00175B8C), UINT32_C(0x002A4DA4), UINT32_C(0x000768F8),
+ UINT32_C(0x000E56E3), UINT32_C(0x0029B426), UINT32_C(0x0011186F),
+ UINT32_C(0x003175D0), UINT32_C(0x0029B106), UINT32_C(0x001EF0B9),
+ UINT32_C(0x001139E2), UINT32_C(0x0035ACA5)},
+ {UINT32_C(0x004B2AE1), UINT32_C(0x001424F0), UINT32_C(0x00110341),
+ UINT32_C(0x000C7518), UINT32_C(0x001685E7), UINT32_C(0x0016192F),
+ UINT32_C(0x0028CF4C), UINT32_C(0x00637208), UINT32_C(0x003FCBD2),
+ UINT32_C(0x00348A0E), UINT32_C(0x0034BDB7), UINT32_C(0x000E99F6),
+ UINT32_C(0x001472CD), UINT32_C(0x000F1FAA), UINT32_C(0x00102EA2),
+ UINT32_C(0x00579D10), UINT32_C(0x00229C04), UINT32_C(0x000DA721),
+ UINT32_C(0x000C0D5E), UINT32_C(0x004201F5), UINT32_C(0x00013FC8),
+ UINT32_C(0x000DFA6E), UINT32_C(0x00260016)}},
+ {{UINT32_C(0x0071785F), UINT32_C(0x002A6790), UINT32_C(0x00374B9A),
+ UINT32_C(0x005C47E4), UINT32_C(0x00295CBC), UINT32_C(0x0017C2F6),
+ UINT32_C(0x002DD473), UINT32_C(0x0003079A), UINT32_C(0x001B4CD6),
+ UINT32_C(0x0024C5E5), UINT32_C(0x00319F1C), UINT32_C(0x00436F1D),
+ UINT32_C(0x001A1EF6), UINT32_C(0x0003D299), UINT32_C(0x00382BA2),
+ UINT32_C(0x0060E409), UINT32_C(0x00023098), UINT32_C(0x00171EBD),
+ UINT32_C(0x0020240F), UINT32_C(0x00330D1E), UINT32_C(0x0017E024),
+ UINT32_C(0x0009AC85), UINT32_C(0x001B14B7)},
+ {UINT32_C(0x003C69F8), UINT32_C(0x00119EF1), UINT32_C(0x002E2839),
+ UINT32_C(0x00778F4B), UINT32_C(0x00039F0C), UINT32_C(0x0023A6C4),
+ UINT32_C(0x003F874D), UINT32_C(0x005E260A), UINT32_C(0x003D33F7),
+ UINT32_C(0x002C9846), UINT32_C(0x00187047), UINT32_C(0x007B8C63),
+ UINT32_C(0x00273788), UINT32_C(0x000A168B), UINT32_C(0x003C94CF),
+ UINT32_C(0x0058BB90), UINT32_C(0x000B16B8), UINT32_C(0x003E3A1E),
+ UINT32_C(0x0018E21B), UINT32_C(0x007A9202), UINT32_C(0x00302517),
+ UINT32_C(0x00154F91), UINT32_C(0x000846A0)},
+ {UINT32_C(0x001A0FDE), UINT32_C(0x00153D67), UINT32_C(0x00336333),
+ UINT32_C(0x003C90A4), UINT32_C(0x00094797), UINT32_C(0x00312D2A),
+ UINT32_C(0x001003F0), UINT32_C(0x007FBC25), UINT32_C(0x0003DF24),
+ UINT32_C(0x00237AC4), UINT32_C(0x00194267), UINT32_C(0x002396ED),
+ UINT32_C(0x00024617), UINT32_C(0x0016C8CB), UINT32_C(0x00152D85),
+ UINT32_C(0x0016D3DE), UINT32_C(0x00262957), UINT32_C(0x00311596),
+ UINT32_C(0x003EC838), UINT32_C(0x001975C2), UINT32_C(0x0034FE59),
+ UINT32_C(0x00113D00), UINT32_C(0x002243AC)}},
+ {{UINT32_C(0x0068A405), UINT32_C(0x0034C98B), UINT32_C(0x0007E397),
+ UINT32_C(0x00558483), UINT32_C(0x000956CE), UINT32_C(0x002E1CCA),
+ UINT32_C(0x0005043D), UINT32_C(0x00476A5E), UINT32_C(0x0028457F),
+ UINT32_C(0x003988DF), UINT32_C(0x0037A1BC), UINT32_C(0x0047942D),
+ UINT32_C(0x00124D2E), UINT32_C(0x003AE5E0), UINT32_C(0x000B4291),
+ UINT32_C(0x004D22EB), UINT32_C(0x0014B7CF), UINT32_C(0x0028B3D4),
+ UINT32_C(0x003CCB59), UINT32_C(0x00190521), UINT32_C(0x000A108D),
+ UINT32_C(0x003A6057), UINT32_C(0x00172D60)},
+ {UINT32_C(0x002B251D), UINT32_C(0x0013D428), UINT32_C(0x000AE878),
+ UINT32_C(0x005FA00D), UINT32_C(0x00260531), UINT32_C(0x00329563),
+ UINT32_C(0x000216C5), UINT32_C(0x000D16BE), UINT32_C(0x0009E37E),
+ UINT32_C(0x003F37E0), UINT32_C(0x001AEF12), UINT32_C(0x0064E859),
+ UINT32_C(0x0019915B), UINT32_C(0x0005BFF9), UINT32_C(0x003958ED),
+ UINT32_C(0x000C4E03), UINT32_C(0x0008B99A), UINT32_C(0x001C38F2),
+ UINT32_C(0x003D7DC0), UINT32_C(0x002F8014), UINT32_C(0x001CEC59),
+ UINT32_C(0x0034AB43), UINT32_C(0x0013D729)},
+ {UINT32_C(0x006F3BD9), UINT32_C(0x00150F71), UINT32_C(0x002A3F95),
+ UINT32_C(0x0068E792), UINT32_C(0x0016CF11), UINT32_C(0x001B8A33),
+ UINT32_C(0x002E5920), UINT32_C(0x0038F685), UINT32_C(0x002CDF4A),
+ UINT32_C(0x0027CB65), UINT32_C(0x002DF482), UINT32_C(0x000A0B78),
+ UINT32_C(0x00309C5F), UINT32_C(0x003B06D3), UINT32_C(0x0013DAE0),
+ UINT32_C(0x00554BDE), UINT32_C(0x0017EC53), UINT32_C(0x000F50F5),
+ UINT32_C(0x00101EF0), UINT32_C(0x005F28DB), UINT32_C(0x0015CC1A),
+ UINT32_C(0x001980C3), UINT32_C(0x00249DA3)}},
+ {{UINT32_C(0x004C93F1), UINT32_C(0x00388A39), UINT32_C(0x0030EEC8),
+ UINT32_C(0x0052FC35), UINT32_C(0x000B0CAE), UINT32_C(0x002F3E40),
+ UINT32_C(0x003A2ACD), UINT32_C(0x0028C4D5), UINT32_C(0x001DA5F9),
+ UINT32_C(0x000586CA), UINT32_C(0x00119027), UINT32_C(0x0016CDC0),
+ UINT32_C(0x0025236C), UINT32_C(0x0018A357), UINT32_C(0x0000B64B),
+ UINT32_C(0x0076882B), UINT32_C(0x003182B1), UINT32_C(0x0037246C),
+ UINT32_C(0x0003FB39), UINT32_C(0x002C988C), UINT32_C(0x00231B0B),
+ UINT32_C(0x003E5BBF), UINT32_C(0x0000F374)},
+ {UINT32_C(0x00010D9D), UINT32_C(0x001FF389), UINT32_C(0x001538D1),
+ UINT32_C(0x0041BD6C), UINT32_C(0x001301B2), UINT32_C(0x001DCB4A),
+ UINT32_C(0x0008FABC), UINT32_C(0x00611765), UINT32_C(0x001A717F),
+ UINT32_C(0x00182FF9), UINT32_C(0x0029A9C1), UINT32_C(0x002B99C3),
+ UINT32_C(0x00017CA7), UINT32_C(0x00032AA1), UINT32_C(0x002EA89D),
+ UINT32_C(0x00088D80), UINT32_C(0x0011EC29), UINT32_C(0x003A56BE),
+ UINT32_C(0x000032B8), UINT32_C(0x001406E5), UINT32_C(0x0038401C),
+ UINT32_C(0x001ACB38), UINT32_C(0x000CB5E9)},
+ {UINT32_C(0x0066E5AB), UINT32_C(0x00161A19), UINT32_C(0x00057829),
+ UINT32_C(0x005F11AE), UINT32_C(0x0022507E), UINT32_C(0x00113755),
+ UINT32_C(0x00218956), UINT32_C(0x007E85BC), UINT32_C(0x003A29F5),
+ UINT32_C(0x001A56EA), UINT32_C(0x002F8A9F), UINT32_C(0x0030B6F2),
+ UINT32_C(0x001F6A48), UINT32_C(0x003C6B9C), UINT32_C(0x00331944),
+ UINT32_C(0x0012724E), UINT32_C(0x000154FE), UINT32_C(0x001A08F6),
+ UINT32_C(0x00053CE3), UINT32_C(0x000110DA), UINT32_C(0x00189838),
+ UINT32_C(0x000C6556), UINT32_C(0x0026E926)}},
+ {{UINT32_C(0x0056B198), UINT32_C(0x002E9D6F), UINT32_C(0x00384104),
+ UINT32_C(0x002CB192), UINT32_C(0x0011E1D2), UINT32_C(0x000C3007),
+ UINT32_C(0x00331D92), UINT32_C(0x0072B899), UINT32_C(0x002DFE85),
+ UINT32_C(0x0019F7AE), UINT32_C(0x00228032), UINT32_C(0x001A709B),
+ UINT32_C(0x00394A71), UINT32_C(0x00011DCB), UINT32_C(0x0025119C),
+ UINT32_C(0x00673C0F), UINT32_C(0x000703EE), UINT32_C(0x003905C2),
+ UINT32_C(0x0004CBE0), UINT32_C(0x003038F7), UINT32_C(0x00218611),
+ UINT32_C(0x00344F8B), UINT32_C(0x0006EF8F)},
+ {UINT32_C(0x0008B7AB), UINT32_C(0x001C7936), UINT32_C(0x000AF677),
+ UINT32_C(0x0038D1C4), UINT32_C(0x000D1982), UINT32_C(0x00008DE6),
+ UINT32_C(0x001D8CD8), UINT32_C(0x002DAF00), UINT32_C(0x002139DC),
+ UINT32_C(0x000C0A4C), UINT32_C(0x00103BF4), UINT32_C(0x00132620),
+ UINT32_C(0x001E360F), UINT32_C(0x0020BE7E), UINT32_C(0x002F6F7B),
+ UINT32_C(0x00045610), UINT32_C(0x003B63BF), UINT32_C(0x00065305),
+ UINT32_C(0x0030A74A), UINT32_C(0x0072846A), UINT32_C(0x0009D52F),
+ UINT32_C(0x00360AFC), UINT32_C(0x0015C630)},
+ {UINT32_C(0x001BB7E7), UINT32_C(0x0038CFC8), UINT32_C(0x00105C2D),
+ UINT32_C(0x004F800D), UINT32_C(0x002813AF), UINT32_C(0x003D95F7),
+ UINT32_C(0x000B5E3E), UINT32_C(0x0065C148), UINT32_C(0x0017B5EB),
+ UINT32_C(0x000B59AB), UINT32_C(0x000D6920), UINT32_C(0x001459AF),
+ UINT32_C(0x002201A2), UINT32_C(0x00066541), UINT32_C(0x001D0BA3),
+ UINT32_C(0x00337E0F), UINT32_C(0x003BE92F), UINT32_C(0x000375C3),
+ UINT32_C(0x0035FBBD), UINT32_C(0x005F0B0F), UINT32_C(0x000E891B),
+ UINT32_C(0x00131D3F), UINT32_C(0x0014ED75)}},
+ {{UINT32_C(0x0050D8D5), UINT32_C(0x002E5561), UINT32_C(0x0031562B),
+ UINT32_C(0x00395B3A), UINT32_C(0x002D062A), UINT32_C(0x00329C94),
+ UINT32_C(0x001BED6E), UINT32_C(0x0064208E), UINT32_C(0x00302BDB),
+ UINT32_C(0x0038A686), UINT32_C(0x001E41F5), UINT32_C(0x001078F7),
+ UINT32_C(0x003A3FCC), UINT32_C(0x00061B38), UINT32_C(0x003A908E),
+ UINT32_C(0x005A12D7), UINT32_C(0x0002303D), UINT32_C(0x00141E31),
+ UINT32_C(0x0009E463), UINT32_C(0x0073510F), UINT32_C(0x003C92B0),
+ UINT32_C(0x00083485), UINT32_C(0x00037A81)},
+ {UINT32_C(0x0019B1B8), UINT32_C(0x0038CD53), UINT32_C(0x000E197C),
+ UINT32_C(0x0009FF2F), UINT32_C(0x003BCD33), UINT32_C(0x00302C2A),
+ UINT32_C(0x00054200), UINT32_C(0x0079B52B), UINT32_C(0x0039D05F),
+ UINT32_C(0x001F9C10), UINT32_C(0x0029B440), UINT32_C(0x003D8482),
+ UINT32_C(0x001C2BD2), UINT32_C(0x0019BD77), UINT32_C(0x0010755E),
+ UINT32_C(0x006CAE47), UINT32_C(0x0001B82A), UINT32_C(0x003DF53B),
+ UINT32_C(0x00018A7F), UINT32_C(0x005FC8AB), UINT32_C(0x000BFFCF),
+ UINT32_C(0x00169679), UINT32_C(0x00067097)},
+ {UINT32_C(0x000935D3), UINT32_C(0x0010F268), UINT32_C(0x00288B71),
+ UINT32_C(0x00303DEB), UINT32_C(0x002E4A85), UINT32_C(0x0001813E),
+ UINT32_C(0x003CDD05), UINT32_C(0x0001AD0A), UINT32_C(0x0014AA02),
+ UINT32_C(0x0019FD4A), UINT32_C(0x00200BBD), UINT32_C(0x00331B4F),
+ UINT32_C(0x000FCCBE), UINT32_C(0x001F30DB), UINT32_C(0x000BDF6F),
+ UINT32_C(0x007AB775), UINT32_C(0x0021BE2D), UINT32_C(0x000ED4B7),
+ UINT32_C(0x00384794), UINT32_C(0x00784F1A), UINT32_C(0x003F3A79),
+ UINT32_C(0x0003D50F), UINT32_C(0x00064F82)}},
+ {{UINT32_C(0x0055E16A), UINT32_C(0x0009CBF4), UINT32_C(0x0007F387),
+ UINT32_C(0x0008D055), UINT32_C(0x001DE49D), UINT32_C(0x003DF914),
+ UINT32_C(0x003ED04E), UINT32_C(0x006CA4BC), UINT32_C(0x0028FCE3),
+ UINT32_C(0x003273A4), UINT32_C(0x002DF89A), UINT32_C(0x00230A46),
+ UINT32_C(0x0018E30C), UINT32_C(0x002CE6F1), UINT32_C(0x0002DB57),
+ UINT32_C(0x007890F7), UINT32_C(0x0022D4F9), UINT32_C(0x0038DC8F),
+ UINT32_C(0x00376FF1), UINT32_C(0x0012231A), UINT32_C(0x00074880),
+ UINT32_C(0x0012A080), UINT32_C(0x00056DC5)},
+ {UINT32_C(0x003DBBF8), UINT32_C(0x00196819), UINT32_C(0x0024DB6E),
+ UINT32_C(0x007A739A), UINT32_C(0x002C4BD5), UINT32_C(0x00241E7E),
+ UINT32_C(0x0038C332), UINT32_C(0x000E069B), UINT32_C(0x0011A877),
+ UINT32_C(0x000BB5F3), UINT32_C(0x0000613F), UINT32_C(0x001D700E),
+ UINT32_C(0x00154F4E), UINT32_C(0x00232AA4), UINT32_C(0x00159C2A),
+ UINT32_C(0x00203C23), UINT32_C(0x002AC285), UINT32_C(0x002F4ED7),
+ UINT32_C(0x003914CE), UINT32_C(0x001B8C64), UINT32_C(0x000C5894),
+ UINT32_C(0x003A7D72), UINT32_C(0x0021EFB5)},
+ {UINT32_C(0x0034EA4D), UINT32_C(0x001BA7B1), UINT32_C(0x003C1624),
+ UINT32_C(0x00332852), UINT32_C(0x003E94DA), UINT32_C(0x00000887),
+ UINT32_C(0x000BFE68), UINT32_C(0x004AD4CA), UINT32_C(0x000B742B),
+ UINT32_C(0x00158248), UINT32_C(0x00285B88), UINT32_C(0x006EDD6B),
+ UINT32_C(0x00200BAB), UINT32_C(0x00248DD5), UINT32_C(0x001035A8),
+ UINT32_C(0x001F2081), UINT32_C(0x0007B194), UINT32_C(0x0011B74D),
+ UINT32_C(0x00152BCC), UINT32_C(0x005F5821), UINT32_C(0x001FE674),
+ UINT32_C(0x000239A6), UINT32_C(0x0034BB24)}},
+ {{UINT32_C(0x0072B20F), UINT32_C(0x000BF7F4), UINT32_C(0x00178C52),
+ UINT32_C(0x00776657), UINT32_C(0x0004BFE5), UINT32_C(0x000AA36B),
+ UINT32_C(0x003719B7), UINT32_C(0x004C2095), UINT32_C(0x00355126),
+ UINT32_C(0x001B6111), UINT32_C(0x00172806), UINT32_C(0x0052CE54),
+ UINT32_C(0x0008F0A0), UINT32_C(0x002B3884), UINT32_C(0x002B7196),
+ UINT32_C(0x003A0409), UINT32_C(0x00124BAA), UINT32_C(0x001E7741),
+ UINT32_C(0x00128DC5), UINT32_C(0x00301368), UINT32_C(0x0002A859),
+ UINT32_C(0x00145DD3), UINT32_C(0x001A5AE5)},
+ {UINT32_C(0x004943B1), UINT32_C(0x0036FA8C), UINT32_C(0x002BCCB8),
+ UINT32_C(0x00702644), UINT32_C(0x00253FD2), UINT32_C(0x00185CBE),
+ UINT32_C(0x00047A35), UINT32_C(0x002AF03C), UINT32_C(0x001AE6F9),
+ UINT32_C(0x001FBB03), UINT32_C(0x0024ABE9), UINT32_C(0x0023A32D),
+ UINT32_C(0x002165FE), UINT32_C(0x0025287B), UINT32_C(0x0013905E),
+ UINT32_C(0x005CFE02), UINT32_C(0x0007F1F9), UINT32_C(0x003E1E1E),
+ UINT32_C(0x0007A483), UINT32_C(0x001BF89E), UINT32_C(0x0010168F),
+ UINT32_C(0x00062F67), UINT32_C(0x00133007)},
+ {UINT32_C(0x007D5697), UINT32_C(0x00312189), UINT32_C(0x0015FC12),
+ UINT32_C(0x003C037B), UINT32_C(0x00175465), UINT32_C(0x000F4B83),
+ UINT32_C(0x0021DF66), UINT32_C(0x002A624D), UINT32_C(0x0034D443),
+ UINT32_C(0x001E79DD), UINT32_C(0x00321A3F), UINT32_C(0x0018DC79),
+ UINT32_C(0x001A5D56), UINT32_C(0x003541AF), UINT32_C(0x00070013),
+ UINT32_C(0x0024CB38), UINT32_C(0x00065D92), UINT32_C(0x0020B271),
+ UINT32_C(0x001EC105), UINT32_C(0x001E7C11), UINT32_C(0x00122C84),
+ UINT32_C(0x0007B7C1), UINT32_C(0x002FDB93)}},
+ },
+ {
+ {{UINT32_C(0x0044839B), UINT32_C(0x003198F6), UINT32_C(0x003BD372),
+ UINT32_C(0x007ED128), UINT32_C(0x00206115), UINT32_C(0x003FDD6A),
+ UINT32_C(0x0022F00A), UINT32_C(0x00117144), UINT32_C(0x001588A8),
+ UINT32_C(0x001FF57F), UINT32_C(0x00289324), UINT32_C(0x00690294),
+ UINT32_C(0x002D2809), UINT32_C(0x001DC9A7), UINT32_C(0x000B6923),
+ UINT32_C(0x004B99EF), UINT32_C(0x003488AB), UINT32_C(0x001F4972),
+ UINT32_C(0x000FFB73), UINT32_C(0x0059A57D), UINT32_C(0x000F6194),
+ UINT32_C(0x000B6F28), UINT32_C(0x0025388B)},
+ {UINT32_C(0x0064E5A1), UINT32_C(0x0013FE4F), UINT32_C(0x0008ECCD),
+ UINT32_C(0x00005C77), UINT32_C(0x0001B9C8), UINT32_C(0x00162316),
+ UINT32_C(0x0020528F), UINT32_C(0x002DEDD0), UINT32_C(0x00191713),
+ UINT32_C(0x0030317D), UINT32_C(0x0039A24F), UINT32_C(0x002EB466),
+ UINT32_C(0x000EA8D0), UINT32_C(0x000E5D27), UINT32_C(0x003FED4F),
+ UINT32_C(0x0040531E), UINT32_C(0x000FBA2C), UINT32_C(0x00234E5D),
+ UINT32_C(0x0003D16D), UINT32_C(0x007F1872), UINT32_C(0x00256C50),
+ UINT32_C(0x00316CFD), UINT32_C(0x002401F9)},
+ {UINT32_C(0x000275D5), UINT32_C(0x001F7882), UINT32_C(0x0025E59C),
+ UINT32_C(0x0001B773), UINT32_C(0x0024FF1D), UINT32_C(0x000D98CD),
+ UINT32_C(0x000B7E40), UINT32_C(0x006E438E), UINT32_C(0x00355F20),
+ UINT32_C(0x0019A7AE), UINT32_C(0x00290722), UINT32_C(0x00174B19),
+ UINT32_C(0x00318264), UINT32_C(0x00049CAA), UINT32_C(0x003F743B),
+ UINT32_C(0x004FA60E), UINT32_C(0x0021E560), UINT32_C(0x002DDBD1),
+ UINT32_C(0x00279C3F), UINT32_C(0x002A0542), UINT32_C(0x001C4F6E),
+ UINT32_C(0x003F3D08), UINT32_C(0x001A9CB4)}},
+ {{UINT32_C(0x0044D3B6), UINT32_C(0x0011A0B0), UINT32_C(0x00223464),
+ UINT32_C(0x00616311), UINT32_C(0x00045B71), UINT32_C(0x00221B75),
+ UINT32_C(0x000DDB07), UINT32_C(0x0036CCED), UINT32_C(0x00310543),
+ UINT32_C(0x001C0449), UINT32_C(0x001A5298), UINT32_C(0x007F7212),
+ UINT32_C(0x0027112E), UINT32_C(0x003341D5), UINT32_C(0x001BB277),
+ UINT32_C(0x0047B3A6), UINT32_C(0x002631FE), UINT32_C(0x000EC73F),
+ UINT32_C(0x003BEA8E), UINT32_C(0x0011ACAD), UINT32_C(0x00056AB4),
+ UINT32_C(0x00332F4E), UINT32_C(0x0020F040)},
+ {UINT32_C(0x00729FF7), UINT32_C(0x00084FDB), UINT32_C(0x000AF943),
+ UINT32_C(0x0069EFD1), UINT32_C(0x000F6B0C), UINT32_C(0x002C5DA9),
+ UINT32_C(0x003FE069), UINT32_C(0x0072A537), UINT32_C(0x000A3F33),
+ UINT32_C(0x001C0A53), UINT32_C(0x002F3282), UINT32_C(0x006C96EB),
+ UINT32_C(0x0039033F), UINT32_C(0x0004147A), UINT32_C(0x002F27E0),
+ UINT32_C(0x000752BF), UINT32_C(0x00061145), UINT32_C(0x002CD663),
+ UINT32_C(0x0031DFD9), UINT32_C(0x007E357F), UINT32_C(0x001E8721),
+ UINT32_C(0x00265FEF), UINT32_C(0x00077889)},
+ {UINT32_C(0x0033FAD5), UINT32_C(0x0016E6ED), UINT32_C(0x0016F2EF),
+ UINT32_C(0x001B964B), UINT32_C(0x001A2ECA), UINT32_C(0x003E0C81),
+ UINT32_C(0x003FE7D9), UINT32_C(0x0069AB34), UINT32_C(0x002B4E22),
+ UINT32_C(0x003B9125), UINT32_C(0x003129C9), UINT32_C(0x006B5E95),
+ UINT32_C(0x003E450D), UINT32_C(0x003C0221), UINT32_C(0x00246870),
+ UINT32_C(0x0012331E), UINT32_C(0x00368335), UINT32_C(0x003842E7),
+ UINT32_C(0x001CD463), UINT32_C(0x00375065), UINT32_C(0x001AFC4F),
+ UINT32_C(0x0018C552), UINT32_C(0x003DF99D)}},
+ {{UINT32_C(0x0076C909), UINT32_C(0x002ECC28), UINT32_C(0x003E534C),
+ UINT32_C(0x006E5B56), UINT32_C(0x003472BC), UINT32_C(0x002ED648),
+ UINT32_C(0x001800E5), UINT32_C(0x0062EB01), UINT32_C(0x00388368),
+ UINT32_C(0x0017E589), UINT32_C(0x000EE455), UINT32_C(0x00752271),
+ UINT32_C(0x0007DB0E), UINT32_C(0x0004CE3B), UINT32_C(0x001BC93D),
+ UINT32_C(0x00266E9B), UINT32_C(0x001A633F), UINT32_C(0x00080153),
+ UINT32_C(0x00100613), UINT32_C(0x001B334A), UINT32_C(0x001081C5),
+ UINT32_C(0x003CEACA), UINT32_C(0x0028BC5F)},
+ {UINT32_C(0x004FB1B3), UINT32_C(0x001F97A9), UINT32_C(0x00159D7E),
+ UINT32_C(0x00459CF9), UINT32_C(0x000CBC43), UINT32_C(0x00132E42),
+ UINT32_C(0x003F3662), UINT32_C(0x0032762F), UINT32_C(0x003F6792),
+ UINT32_C(0x00147465), UINT32_C(0x00064E92), UINT32_C(0x007B5ED9),
+ UINT32_C(0x002CDCB9), UINT32_C(0x003B3F08), UINT32_C(0x00307A15),
+ UINT32_C(0x00760D9B), UINT32_C(0x00145A0B), UINT32_C(0x00101514),
+ UINT32_C(0x0036AC7F), UINT32_C(0x0046C8CA), UINT32_C(0x0009D1F6),
+ UINT32_C(0x00065054), UINT32_C(0x000DEBF1)},
+ {UINT32_C(0x004F598C), UINT32_C(0x002DEC24), UINT32_C(0x000EFF2A),
+ UINT32_C(0x001F3645), UINT32_C(0x0027F317), UINT32_C(0x003DAF78),
+ UINT32_C(0x002BC2DB), UINT32_C(0x0004EA69), UINT32_C(0x00279343),
+ UINT32_C(0x00337BF6), UINT32_C(0x00117316), UINT32_C(0x00616D27),
+ UINT32_C(0x00378EC8), UINT32_C(0x0025D729), UINT32_C(0x00265316),
+ UINT32_C(0x003D0829), UINT32_C(0x00396E01), UINT32_C(0x002AE96D),
+ UINT32_C(0x003445E4), UINT32_C(0x001E9F9A), UINT32_C(0x0030EDDC),
+ UINT32_C(0x002E073A), UINT32_C(0x0021B311)}},
+ {{UINT32_C(0x002CC32D), UINT32_C(0x000D826A), UINT32_C(0x0026E228),
+ UINT32_C(0x000D6206), UINT32_C(0x00227832), UINT32_C(0x002140D7),
+ UINT32_C(0x002068C2), UINT32_C(0x005C5008), UINT32_C(0x0025521D),
+ UINT32_C(0x00281FA5), UINT32_C(0x00051E83), UINT32_C(0x00105A03),
+ UINT32_C(0x003232E0), UINT32_C(0x003D0E47), UINT32_C(0x003BD547),
+ UINT32_C(0x0065100C), UINT32_C(0x00113B09), UINT32_C(0x0024F1FA),
+ UINT32_C(0x0030CDA7), UINT32_C(0x0053D618), UINT32_C(0x000A2A17),
+ UINT32_C(0x000BD8B1), UINT32_C(0x0020FB2C)},
+ {UINT32_C(0x005A2225), UINT32_C(0x00391B43), UINT32_C(0x000B1CFF),
+ UINT32_C(0x007DCE4C), UINT32_C(0x00193C2C), UINT32_C(0x003BFBCF),
+ UINT32_C(0x001040C3), UINT32_C(0x001E82A9), UINT32_C(0x003D9486),
+ UINT32_C(0x003AF831), UINT32_C(0x00217A7A), UINT32_C(0x006F3F26),
+ UINT32_C(0x002E52C2), UINT32_C(0x0038837E), UINT32_C(0x00256BB5),
+ UINT32_C(0x001D310D), UINT32_C(0x000D911E), UINT32_C(0x0012DD9B),
+ UINT32_C(0x001D3C60), UINT32_C(0x0042AE12), UINT32_C(0x001AA290),
+ UINT32_C(0x0011D773), UINT32_C(0x0008A556)},
+ {UINT32_C(0x003DB239), UINT32_C(0x003C331E), UINT32_C(0x002C1ABE),
+ UINT32_C(0x0054F6FD), UINT32_C(0x0029390C), UINT32_C(0x002F6790),
+ UINT32_C(0x002CD02B), UINT32_C(0x007AFE3F), UINT32_C(0x0012B2C3),
+ UINT32_C(0x002287BB), UINT32_C(0x00114FE8), UINT32_C(0x002CC8AC),
+ UINT32_C(0x002CADBB), UINT32_C(0x001A33BE), UINT32_C(0x0037BE86),
+ UINT32_C(0x000AA64F), UINT32_C(0x000CDB97), UINT32_C(0x003CF948),
+ UINT32_C(0x001BB280), UINT32_C(0x000BD3AD), UINT32_C(0x001C0A26),
+ UINT32_C(0x001857F5), UINT32_C(0x002270FB)}},
+ {{UINT32_C(0x00588772), UINT32_C(0x0034A3BF), UINT32_C(0x002B2057),
+ UINT32_C(0x000D6822), UINT32_C(0x000ED9FF), UINT32_C(0x00385C48),
+ UINT32_C(0x003A74B9), UINT32_C(0x005A12D2), UINT32_C(0x00079DD4),
+ UINT32_C(0x002B2E76), UINT32_C(0x00000E28), UINT32_C(0x000E1C30),
+ UINT32_C(0x003339AE), UINT32_C(0x00248CCE), UINT32_C(0x003445A9),
+ UINT32_C(0x0028093C), UINT32_C(0x00256A7E), UINT32_C(0x0018F19E),
+ UINT32_C(0x00385218), UINT32_C(0x0057D410), UINT32_C(0x002DBF86),
+ UINT32_C(0x001F5ECA), UINT32_C(0x001CACDD)},
+ {UINT32_C(0x00265C7D), UINT32_C(0x0028705E), UINT32_C(0x00384F7D),
+ UINT32_C(0x0018D471), UINT32_C(0x001527DF), UINT32_C(0x003DA983),
+ UINT32_C(0x001DDE7F), UINT32_C(0x002A71F4), UINT32_C(0x001B4521),
+ UINT32_C(0x0003DCB4), UINT32_C(0x00328F6D), UINT32_C(0x00195CDD),
+ UINT32_C(0x0016F6B4), UINT32_C(0x0002550C), UINT32_C(0x00181F0F),
+ UINT32_C(0x00279602), UINT32_C(0x0000592B), UINT32_C(0x000A8FC2),
+ UINT32_C(0x00173822), UINT32_C(0x00528D2F), UINT32_C(0x003BB20B),
+ UINT32_C(0x001CB21C), UINT32_C(0x002E0800)},
+ {UINT32_C(0x0067C867), UINT32_C(0x0024B417), UINT32_C(0x000D83F0),
+ UINT32_C(0x00584B7B), UINT32_C(0x002C2DCD), UINT32_C(0x003925C8),
+ UINT32_C(0x0035374E), UINT32_C(0x00273444), UINT32_C(0x001ED50E),
+ UINT32_C(0x0019DC39), UINT32_C(0x00012047), UINT32_C(0x004B56F7),
+ UINT32_C(0x001F477D), UINT32_C(0x000C0B39), UINT32_C(0x00103A52),
+ UINT32_C(0x003B6571), UINT32_C(0x000F7CB4), UINT32_C(0x003F0E6A),
+ UINT32_C(0x003100B6), UINT32_C(0x0077750C), UINT32_C(0x002A6650),
+ UINT32_C(0x001B8E63), UINT32_C(0x00356E38)}},
+ {{UINT32_C(0x00294CC0), UINT32_C(0x001ABF5C), UINT32_C(0x0022AB9B),
+ UINT32_C(0x00575222), UINT32_C(0x00251493), UINT32_C(0x002E554C),
+ UINT32_C(0x0027F012), UINT32_C(0x0071924E), UINT32_C(0x0023D76D),
+ UINT32_C(0x00230B9E), UINT32_C(0x00295210), UINT32_C(0x00783EB9),
+ UINT32_C(0x003D2EB1), UINT32_C(0x0034E19B), UINT32_C(0x0021E2D1),
+ UINT32_C(0x0050A8CA), UINT32_C(0x0018C513), UINT32_C(0x00167437),
+ UINT32_C(0x002F383C), UINT32_C(0x0071AE6B), UINT32_C(0x0005632B),
+ UINT32_C(0x00097273), UINT32_C(0x0039C267)},
+ {UINT32_C(0x0056E019), UINT32_C(0x00310B20), UINT32_C(0x00308BD2),
+ UINT32_C(0x00786653), UINT32_C(0x00396A2E), UINT32_C(0x0007FF67),
+ UINT32_C(0x003BFBA0), UINT32_C(0x00328BB8), UINT32_C(0x0024DDEC),
+ UINT32_C(0x002F538D), UINT32_C(0x003BCCD8), UINT32_C(0x006635E3),
+ UINT32_C(0x0023177E), UINT32_C(0x00045322), UINT32_C(0x002E32D2),
+ UINT32_C(0x004EC3F8), UINT32_C(0x001E2DE3), UINT32_C(0x00245612),
+ UINT32_C(0x003C6038), UINT32_C(0x004D683D), UINT32_C(0x0012B6CB),
+ UINT32_C(0x00027583), UINT32_C(0x002B048C)},
+ {UINT32_C(0x0078D023), UINT32_C(0x002E23CC), UINT32_C(0x000772AC),
+ UINT32_C(0x003B5B53), UINT32_C(0x0029ED11), UINT32_C(0x003ED08F),
+ UINT32_C(0x00071E5C), UINT32_C(0x00428132), UINT32_C(0x00315335),
+ UINT32_C(0x0000402B), UINT32_C(0x000822D3), UINT32_C(0x007B1B14),
+ UINT32_C(0x0035A437), UINT32_C(0x00206234), UINT32_C(0x0032B6E0),
+ UINT32_C(0x0055555C), UINT32_C(0x0027CFBE), UINT32_C(0x0004A5EA),
+ UINT32_C(0x000556CE), UINT32_C(0x0031DFEB), UINT32_C(0x001DB053),
+ UINT32_C(0x000E8BAC), UINT32_C(0x000C0D49)}},
+ {{UINT32_C(0x004AA9D1), UINT32_C(0x002779EA), UINT32_C(0x001B86F9),
+ UINT32_C(0x0072282A), UINT32_C(0x001EBBE9), UINT32_C(0x0018B46D),
+ UINT32_C(0x0026FF2C), UINT32_C(0x003F0CC7), UINT32_C(0x00212453),
+ UINT32_C(0x0034244B), UINT32_C(0x0009799C), UINT32_C(0x004F49C4),
+ UINT32_C(0x000C1DEA), UINT32_C(0x0035B3DF), UINT32_C(0x000BDBDF),
+ UINT32_C(0x001F15A7), UINT32_C(0x0037371D), UINT32_C(0x0020EBE1),
+ UINT32_C(0x0002EA33), UINT32_C(0x0009840B), UINT32_C(0x001DD721),
+ UINT32_C(0x002EA8B9), UINT32_C(0x000B48AD)},
+ {UINT32_C(0x00234472), UINT32_C(0x0005EFDD), UINT32_C(0x0021B297),
+ UINT32_C(0x002E57AF), UINT32_C(0x00131F56), UINT32_C(0x003DE1F4),
+ UINT32_C(0x003D96B7), UINT32_C(0x003AA17F), UINT32_C(0x0017742D),
+ UINT32_C(0x00026100), UINT32_C(0x00337A96), UINT32_C(0x004EA9E0),
+ UINT32_C(0x0027EA1C), UINT32_C(0x001F7FA1), UINT32_C(0x0032FFCB),
+ UINT32_C(0x007DD72A), UINT32_C(0x0035BB87), UINT32_C(0x00318CC2),
+ UINT32_C(0x003F5009), UINT32_C(0x00766DE0), UINT32_C(0x00391596),
+ UINT32_C(0x000DFBB0), UINT32_C(0x002A498F)},
+ {UINT32_C(0x0068F40A), UINT32_C(0x0034745D), UINT32_C(0x003B263F),
+ UINT32_C(0x00370D88), UINT32_C(0x000B7E85), UINT32_C(0x00165B40),
+ UINT32_C(0x000F819E), UINT32_C(0x005987AB), UINT32_C(0x00108717),
+ UINT32_C(0x002A8421), UINT32_C(0x000B286F), UINT32_C(0x004B94FD),
+ UINT32_C(0x001DCD66), UINT32_C(0x0004CFEC), UINT32_C(0x0021944B),
+ UINT32_C(0x00187F0D), UINT32_C(0x000E4A62), UINT32_C(0x00307E74),
+ UINT32_C(0x0006FCD6), UINT32_C(0x004495F4), UINT32_C(0x0031D0FE),
+ UINT32_C(0x002D69FC), UINT32_C(0x000B5770)}},
+ {{UINT32_C(0x0042173B), UINT32_C(0x002F2767), UINT32_C(0x003D5FCF),
+ UINT32_C(0x0049931C), UINT32_C(0x0009BCA8), UINT32_C(0x001886FD),
+ UINT32_C(0x00110F6D), UINT32_C(0x003C1F29), UINT32_C(0x002C545A),
+ UINT32_C(0x0033EF6F), UINT32_C(0x0018E372), UINT32_C(0x0075FA4C),
+ UINT32_C(0x0018BB09), UINT32_C(0x0026F270), UINT32_C(0x00346DE4),
+ UINT32_C(0x0028FAC0), UINT32_C(0x0023E410), UINT32_C(0x0027B61C),
+ UINT32_C(0x0014EA05), UINT32_C(0x00438310), UINT32_C(0x002CAD7B),
+ UINT32_C(0x001FD7F3), UINT32_C(0x000B3F41)},
+ {UINT32_C(0x0010995C), UINT32_C(0x00168EA0), UINT32_C(0x0013CA45),
+ UINT32_C(0x002F2095), UINT32_C(0x0031AB84), UINT32_C(0x0032FB0A),
+ UINT32_C(0x00042BB8), UINT32_C(0x0008933C), UINT32_C(0x00097983),
+ UINT32_C(0x00065857), UINT32_C(0x00150488), UINT32_C(0x001F3B0B),
+ UINT32_C(0x0029F9DE), UINT32_C(0x00298C42), UINT32_C(0x00291103),
+ UINT32_C(0x007B8240), UINT32_C(0x00185C19), UINT32_C(0x000A0A6A),
+ UINT32_C(0x000D566B), UINT32_C(0x000742CE), UINT32_C(0x001D215F),
+ UINT32_C(0x003F50AC), UINT32_C(0x0022911C)},
+ {UINT32_C(0x0045E864), UINT32_C(0x00015742), UINT32_C(0x00161854),
+ UINT32_C(0x007B3D4F), UINT32_C(0x0021EEAE), UINT32_C(0x00296CE2),
+ UINT32_C(0x003346C6), UINT32_C(0x00734650), UINT32_C(0x001106CC),
+ UINT32_C(0x001BF45E), UINT32_C(0x001F7D96), UINT32_C(0x0045F811),
+ UINT32_C(0x003B405E), UINT32_C(0x000DE8B5), UINT32_C(0x00178A69),
+ UINT32_C(0x006CFE39), UINT32_C(0x003F339A), UINT32_C(0x00262A13),
+ UINT32_C(0x0002FB7C), UINT32_C(0x00669A06), UINT32_C(0x002CB49B),
+ UINT32_C(0x000DD528), UINT32_C(0x0026C657)}},
+ {{UINT32_C(0x005A4314), UINT32_C(0x0033DCDD), UINT32_C(0x003024FC),
+ UINT32_C(0x003FA63F), UINT32_C(0x00296FCE), UINT32_C(0x001613FF),
+ UINT32_C(0x001601C8), UINT32_C(0x0018EC14), UINT32_C(0x00176101),
+ UINT32_C(0x0016707A), UINT32_C(0x00323522), UINT32_C(0x006451EF),
+ UINT32_C(0x0038E06E), UINT32_C(0x000BBED9), UINT32_C(0x00325EF6),
+ UINT32_C(0x005506AE), UINT32_C(0x00173417), UINT32_C(0x0030CE7F),
+ UINT32_C(0x000E2A20), UINT32_C(0x0065E329), UINT32_C(0x00052AB8),
+ UINT32_C(0x001DC041), UINT32_C(0x000C6341)},
+ {UINT32_C(0x0044DD3D), UINT32_C(0x002AF1BC), UINT32_C(0x0009FA4B),
+ UINT32_C(0x00334B00), UINT32_C(0x003F42E3), UINT32_C(0x0002593C),
+ UINT32_C(0x00229E96), UINT32_C(0x006D61D4), UINT32_C(0x002B2FD7),
+ UINT32_C(0x0022C1A9), UINT32_C(0x00290FC9), UINT32_C(0x00728BC5),
+ UINT32_C(0x003CC825), UINT32_C(0x002F498D), UINT32_C(0x00343407),
+ UINT32_C(0x00205470), UINT32_C(0x000675EC), UINT32_C(0x002ED6F5),
+ UINT32_C(0x00063C9F), UINT32_C(0x005D0188), UINT32_C(0x0026F6B5),
+ UINT32_C(0x00063702), UINT32_C(0x0003A29D)},
+ {UINT32_C(0x0035F788), UINT32_C(0x0024E672), UINT32_C(0x0028C708),
+ UINT32_C(0x003BBCE6), UINT32_C(0x00138643), UINT32_C(0x000A192E),
+ UINT32_C(0x000582FA), UINT32_C(0x00192093), UINT32_C(0x0029B4D3),
+ UINT32_C(0x002443E6), UINT32_C(0x003FB121), UINT32_C(0x00581657),
+ UINT32_C(0x002CD1A9), UINT32_C(0x00110FB0), UINT32_C(0x00299AA9),
+ UINT32_C(0x001FD531), UINT32_C(0x0002E546), UINT32_C(0x001E08DB),
+ UINT32_C(0x001D678E), UINT32_C(0x0043BD67), UINT32_C(0x001A8272),
+ UINT32_C(0x0022C90A), UINT32_C(0x0007CC59)}},
+ {{UINT32_C(0x003C1C05), UINT32_C(0x00371D27), UINT32_C(0x001EE674),
+ UINT32_C(0x006687DD), UINT32_C(0x001B5B64), UINT32_C(0x0037B7A6),
+ UINT32_C(0x00110B63), UINT32_C(0x004D3034), UINT32_C(0x00034E37),
+ UINT32_C(0x003361C7), UINT32_C(0x0029A6D0), UINT32_C(0x005A8F45),
+ UINT32_C(0x0002097C), UINT32_C(0x000EA46A), UINT32_C(0x001C9C63),
+ UINT32_C(0x00510D99), UINT32_C(0x000FB932), UINT32_C(0x000D6720),
+ UINT32_C(0x000487B1), UINT32_C(0x003D00ED), UINT32_C(0x000851E4),
+ UINT32_C(0x000997F2), UINT32_C(0x00320424)},
+ {UINT32_C(0x0061B9A6), UINT32_C(0x001B989A), UINT32_C(0x0038839A),
+ UINT32_C(0x0038318C), UINT32_C(0x000A4E7A), UINT32_C(0x00316981),
+ UINT32_C(0x00262D85), UINT32_C(0x00404D09), UINT32_C(0x00382ABE),
+ UINT32_C(0x000DCD89), UINT32_C(0x001791BB), UINT32_C(0x002076BF),
+ UINT32_C(0x00097C30), UINT32_C(0x0038D1B5), UINT32_C(0x0030A092),
+ UINT32_C(0x00563AEB), UINT32_C(0x0027026C), UINT32_C(0x000E6AF4),
+ UINT32_C(0x0037D8D5), UINT32_C(0x006D9346), UINT32_C(0x001E7C0C),
+ UINT32_C(0x001B5D43), UINT32_C(0x0035B6ED)},
+ {UINT32_C(0x007FF888), UINT32_C(0x00222708), UINT32_C(0x001FA371),
+ UINT32_C(0x000DCC52), UINT32_C(0x0005815A), UINT32_C(0x001F9620),
+ UINT32_C(0x000061B0), UINT32_C(0x00078FA0), UINT32_C(0x0024CC30),
+ UINT32_C(0x0015B96E), UINT32_C(0x0021510C), UINT32_C(0x00382242),
+ UINT32_C(0x0030063A), UINT32_C(0x0036F011), UINT32_C(0x0037B5D5),
+ UINT32_C(0x0002EB1A), UINT32_C(0x0026488B), UINT32_C(0x003568B8),
+ UINT32_C(0x0003E1F1), UINT32_C(0x00517C59), UINT32_C(0x0030A3A0),
+ UINT32_C(0x0025590A), UINT32_C(0x001142DE)}},
+ {{UINT32_C(0x005982A8), UINT32_C(0x00370C8F), UINT32_C(0x000AF64E),
+ UINT32_C(0x0002E275), UINT32_C(0x001EEE4F), UINT32_C(0x00246CAD),
+ UINT32_C(0x002AC24B), UINT32_C(0x00334875), UINT32_C(0x00174AA6),
+ UINT32_C(0x002C27C8), UINT32_C(0x000EA109), UINT32_C(0x002BB331),
+ UINT32_C(0x002AE934), UINT32_C(0x00254289), UINT32_C(0x003CA630),
+ UINT32_C(0x003660D8), UINT32_C(0x0002C93F), UINT32_C(0x0018A01E),
+ UINT32_C(0x0031D7A9), UINT32_C(0x002BD9F0), UINT32_C(0x002B8049),
+ UINT32_C(0x00350D91), UINT32_C(0x00294E97)},
+ {UINT32_C(0x00129088), UINT32_C(0x0028094D), UINT32_C(0x00357F4D),
+ UINT32_C(0x006B6FFF), UINT32_C(0x001B77FC), UINT32_C(0x00021A12),
+ UINT32_C(0x00214A39), UINT32_C(0x007DAD9D), UINT32_C(0x0003BCA3),
+ UINT32_C(0x0032A844), UINT32_C(0x002DC466), UINT32_C(0x005640CE),
+ UINT32_C(0x003A5766), UINT32_C(0x00209AE0), UINT32_C(0x00388583),
+ UINT32_C(0x005AA61F), UINT32_C(0x003917FE), UINT32_C(0x0020DB8C),
+ UINT32_C(0x002576DC), UINT32_C(0x0046380E), UINT32_C(0x002B7CE8),
+ UINT32_C(0x000B5A77), UINT32_C(0x00136232)},
+ {UINT32_C(0x00059DD5), UINT32_C(0x00298A36), UINT32_C(0x002A6FC3),
+ UINT32_C(0x0030E5AA), UINT32_C(0x00308A3F), UINT32_C(0x002D40E1),
+ UINT32_C(0x002E7DE9), UINT32_C(0x000807B9), UINT32_C(0x000E3F2E),
+ UINT32_C(0x00227438), UINT32_C(0x00210CE9), UINT32_C(0x002EFE56),
+ UINT32_C(0x00252E80), UINT32_C(0x0038C0F1), UINT32_C(0x00175105),
+ UINT32_C(0x000E6782), UINT32_C(0x000B3A10), UINT32_C(0x0011D347),
+ UINT32_C(0x0006498F), UINT32_C(0x001484B8), UINT32_C(0x00092D66),
+ UINT32_C(0x001CAD6A), UINT32_C(0x003E1628)}},
+ {{UINT32_C(0x001FA2D3), UINT32_C(0x001AD4F5), UINT32_C(0x001BA2BF),
+ UINT32_C(0x00584C68), UINT32_C(0x003C80CD), UINT32_C(0x002A3CE1),
+ UINT32_C(0x000E01C2), UINT32_C(0x002DD8BE), UINT32_C(0x0017C543),
+ UINT32_C(0x002C4E30), UINT32_C(0x0034AECE), UINT32_C(0x00437F0A),
+ UINT32_C(0x000104C7), UINT32_C(0x002AA667), UINT32_C(0x003C16D7),
+ UINT32_C(0x001848BB), UINT32_C(0x001D7152), UINT32_C(0x002A413C),
+ UINT32_C(0x003C17CC), UINT32_C(0x00412579), UINT32_C(0x0018306D),
+ UINT32_C(0x00032A9E), UINT32_C(0x0008EDED)},
+ {UINT32_C(0x0068A027), UINT32_C(0x00272D65), UINT32_C(0x0035ED0F),
+ UINT32_C(0x006BD7E7), UINT32_C(0x003673DF), UINT32_C(0x002FA6B9),
+ UINT32_C(0x002B9424), UINT32_C(0x0016DE59), UINT32_C(0x0024F12D),
+ UINT32_C(0x0030F5A6), UINT32_C(0x0016B74C), UINT32_C(0x002CCEE0),
+ UINT32_C(0x00316F68), UINT32_C(0x0028D420), UINT32_C(0x002A7F25),
+ UINT32_C(0x001FA3FC), UINT32_C(0x0036B1F5), UINT32_C(0x003ABC71),
+ UINT32_C(0x002E10FE), UINT32_C(0x005F45AF), UINT32_C(0x0030575C),
+ UINT32_C(0x003847B7), UINT32_C(0x000DD252)},
+ {UINT32_C(0x002FA0BD), UINT32_C(0x003EB306), UINT32_C(0x00096877),
+ UINT32_C(0x00521BA1), UINT32_C(0x001C63BC), UINT32_C(0x0032E251),
+ UINT32_C(0x0003FA86), UINT32_C(0x006BC4D8), UINT32_C(0x000F02D8),
+ UINT32_C(0x002FF844), UINT32_C(0x00242017), UINT32_C(0x0073E523),
+ UINT32_C(0x00080EB0), UINT32_C(0x0022B8DE), UINT32_C(0x003BB4D3),
+ UINT32_C(0x0013C01E), UINT32_C(0x0033830B), UINT32_C(0x003CFD23),
+ UINT32_C(0x00294978), UINT32_C(0x00102D1C), UINT32_C(0x000E4A57),
+ UINT32_C(0x001089DC), UINT32_C(0x003D1440)}},
+ {{UINT32_C(0x00166AD2), UINT32_C(0x001851E7), UINT32_C(0x003A69AC),
+ UINT32_C(0x00138038), UINT32_C(0x002CBBE9), UINT32_C(0x000E1B01),
+ UINT32_C(0x002D813B), UINT32_C(0x0055062F), UINT32_C(0x0011E135),
+ UINT32_C(0x001B55A0), UINT32_C(0x0038C972), UINT32_C(0x006FFEDB),
+ UINT32_C(0x002EFC51), UINT32_C(0x0037167E), UINT32_C(0x000651CA),
+ UINT32_C(0x002FAAD0), UINT32_C(0x00319A64), UINT32_C(0x001AB9E5),
+ UINT32_C(0x0019EA91), UINT32_C(0x00571C6A), UINT32_C(0x001B9B34),
+ UINT32_C(0x0032C40D), UINT32_C(0x00120211)},
+ {UINT32_C(0x003FCA5A), UINT32_C(0x002E874F), UINT32_C(0x0016F8D3),
+ UINT32_C(0x005ED189), UINT32_C(0x00322122), UINT32_C(0x000EC018),
+ UINT32_C(0x000CE754), UINT32_C(0x00487A23), UINT32_C(0x000D1100),
+ UINT32_C(0x002AC3BB), UINT32_C(0x002B538F), UINT32_C(0x004F45D1),
+ UINT32_C(0x001EB758), UINT32_C(0x003B112B), UINT32_C(0x003E180B),
+ UINT32_C(0x005A4B85), UINT32_C(0x001D03F0), UINT32_C(0x002069E1),
+ UINT32_C(0x0011A16E), UINT32_C(0x004F3D33), UINT32_C(0x000381CC),
+ UINT32_C(0x00094BB5), UINT32_C(0x00250B30)},
+ {UINT32_C(0x001C2C25), UINT32_C(0x002E0B68), UINT32_C(0x0025AC97),
+ UINT32_C(0x0004E260), UINT32_C(0x002EB2AB), UINT32_C(0x00309F16),
+ UINT32_C(0x002ECEDF), UINT32_C(0x0062F833), UINT32_C(0x001E0F90),
+ UINT32_C(0x00294A6E), UINT32_C(0x00253BC6), UINT32_C(0x00341FBD),
+ UINT32_C(0x001FB3C9), UINT32_C(0x0038047A), UINT32_C(0x003CD92B),
+ UINT32_C(0x002F682E), UINT32_C(0x000553EA), UINT32_C(0x00160B6F),
+ UINT32_C(0x00346039), UINT32_C(0x003E514D), UINT32_C(0x0024F021),
+ UINT32_C(0x003E913F), UINT32_C(0x00129CFE)}},
+ {{UINT32_C(0x001EFBD4), UINT32_C(0x003B8B42), UINT32_C(0x000EF579),
+ UINT32_C(0x005902FB), UINT32_C(0x003522F1), UINT32_C(0x0005610C),
+ UINT32_C(0x00170E18), UINT32_C(0x001AFDFC), UINT32_C(0x00204D62),
+ UINT32_C(0x00391959), UINT32_C(0x00179E48), UINT32_C(0x002FF462),
+ UINT32_C(0x00063CE3), UINT32_C(0x00111EA8), UINT32_C(0x001AADCF),
+ UINT32_C(0x000BD1D2), UINT32_C(0x00367F3C), UINT32_C(0x0011E570),
+ UINT32_C(0x000BA7B7), UINT32_C(0x0026D561), UINT32_C(0x0015CF3E),
+ UINT32_C(0x0016E814), UINT32_C(0x003FEC7E)},
+ {UINT32_C(0x00410519), UINT32_C(0x0034D54F), UINT32_C(0x003C2FFF),
+ UINT32_C(0x004F910F), UINT32_C(0x0011C414), UINT32_C(0x0015AF5E),
+ UINT32_C(0x003D949C), UINT32_C(0x003F1B53), UINT32_C(0x000091AD),
+ UINT32_C(0x00264BB8), UINT32_C(0x00189713), UINT32_C(0x00338935),
+ UINT32_C(0x001CFC31), UINT32_C(0x003530FD), UINT32_C(0x003D8864),
+ UINT32_C(0x00571F5C), UINT32_C(0x00066F17), UINT32_C(0x000C820B),
+ UINT32_C(0x000A514A), UINT32_C(0x0053ED14), UINT32_C(0x0008908D),
+ UINT32_C(0x002A9AA4), UINT32_C(0x003723D1)},
+ {UINT32_C(0x00530A55), UINT32_C(0x0023CCA3), UINT32_C(0x00382430),
+ UINT32_C(0x006AF068), UINT32_C(0x0035651E), UINT32_C(0x0014F6EC),
+ UINT32_C(0x002AEAAB), UINT32_C(0x00487304), UINT32_C(0x00156CAA),
+ UINT32_C(0x000C009A), UINT32_C(0x0010EF4B), UINT32_C(0x0026FC2D),
+ UINT32_C(0x0010F060), UINT32_C(0x00095637), UINT32_C(0x00288A9C),
+ UINT32_C(0x007E1314), UINT32_C(0x000A00CE), UINT32_C(0x0002F2C3),
+ UINT32_C(0x000BE1F6), UINT32_C(0x0054175B), UINT32_C(0x000AFAA6),
+ UINT32_C(0x00232E71), UINT32_C(0x002B55E0)}},
+ {{UINT32_C(0x0001E7A5), UINT32_C(0x0004FD57), UINT32_C(0x0022F6FF),
+ UINT32_C(0x004CC21B), UINT32_C(0x000D5FC7), UINT32_C(0x001FD78E),
+ UINT32_C(0x003A2EBE), UINT32_C(0x00183905), UINT32_C(0x000C129E),
+ UINT32_C(0x003765A9), UINT32_C(0x000A6E98), UINT32_C(0x00797796),
+ UINT32_C(0x0024F429), UINT32_C(0x0036F1E4), UINT32_C(0x003DE415),
+ UINT32_C(0x0060A080), UINT32_C(0x003D9A0F), UINT32_C(0x00348EE1),
+ UINT32_C(0x003B8D4C), UINT32_C(0x003B94F9), UINT32_C(0x000A52CE),
+ UINT32_C(0x0036391F), UINT32_C(0x00219DCA)},
+ {UINT32_C(0x0000155E), UINT32_C(0x00001CFD), UINT32_C(0x001A8F93),
+ UINT32_C(0x00743A5A), UINT32_C(0x0013DF56), UINT32_C(0x0035856C),
+ UINT32_C(0x001E2621), UINT32_C(0x001DF2FD), UINT32_C(0x0017FC31),
+ UINT32_C(0x0007F36B), UINT32_C(0x002516F7), UINT32_C(0x006F4EDA),
+ UINT32_C(0x0004D8DA), UINT32_C(0x003BB017), UINT32_C(0x0017812B),
+ UINT32_C(0x002E8803), UINT32_C(0x00331E37), UINT32_C(0x001476EC),
+ UINT32_C(0x003B6795), UINT32_C(0x001D82CF), UINT32_C(0x00055A4D),
+ UINT32_C(0x001E2E87), UINT32_C(0x0023FEA8)},
+ {UINT32_C(0x002DEA12), UINT32_C(0x00158ECD), UINT32_C(0x001FC69F),
+ UINT32_C(0x00672AE8), UINT32_C(0x001E897D), UINT32_C(0x001F295F),
+ UINT32_C(0x0027C7CF), UINT32_C(0x002F1854), UINT32_C(0x002DD29A),
+ UINT32_C(0x00224DFF), UINT32_C(0x00228DE0), UINT32_C(0x0009A2B0),
+ UINT32_C(0x00113CF4), UINT32_C(0x0030BD96), UINT32_C(0x0029A4AB),
+ UINT32_C(0x006DD2C6), UINT32_C(0x000E0F85), UINT32_C(0x001BA973),
+ UINT32_C(0x003AEEC2), UINT32_C(0x00440748), UINT32_C(0x003C3422),
+ UINT32_C(0x0004A832), UINT32_C(0x003A30EB)}},
+ {{UINT32_C(0x001F1DE4), UINT32_C(0x0018B067), UINT32_C(0x002FFBA1),
+ UINT32_C(0x007C943A), UINT32_C(0x003A18D1), UINT32_C(0x001108E9),
+ UINT32_C(0x00284491), UINT32_C(0x00156A7B), UINT32_C(0x00148D8E),
+ UINT32_C(0x00125467), UINT32_C(0x001947CE), UINT32_C(0x0048136E),
+ UINT32_C(0x0014138D), UINT32_C(0x00303877), UINT32_C(0x00013932),
+ UINT32_C(0x00055FE2), UINT32_C(0x00202719), UINT32_C(0x001586AE),
+ UINT32_C(0x002D4502), UINT32_C(0x0071913C), UINT32_C(0x001B1B1C),
+ UINT32_C(0x00056028), UINT32_C(0x00151696)},
+ {UINT32_C(0x0076C4DF), UINT32_C(0x001348D7), UINT32_C(0x00276BB5),
+ UINT32_C(0x001D589A), UINT32_C(0x00390F8D), UINT32_C(0x0029442B),
+ UINT32_C(0x0000B75D), UINT32_C(0x00036E35), UINT32_C(0x003201CC),
+ UINT32_C(0x002A33F2), UINT32_C(0x001F44DA), UINT32_C(0x000F6817),
+ UINT32_C(0x0009DD39), UINT32_C(0x00291EE0), UINT32_C(0x003B94B2),
+ UINT32_C(0x00628085), UINT32_C(0x003DA89E), UINT32_C(0x001935A1),
+ UINT32_C(0x001682E4), UINT32_C(0x003D96A4), UINT32_C(0x00266B1C),
+ UINT32_C(0x000B66B4), UINT32_C(0x000892A2)},
+ {UINT32_C(0x003AFE25), UINT32_C(0x00055237), UINT32_C(0x00193631),
+ UINT32_C(0x000ADE15), UINT32_C(0x00176B32), UINT32_C(0x0008E9B8),
+ UINT32_C(0x0010652A), UINT32_C(0x001C79FD), UINT32_C(0x0012262B),
+ UINT32_C(0x000811E4), UINT32_C(0x00371D92), UINT32_C(0x00000BE1),
+ UINT32_C(0x000F024E), UINT32_C(0x003270AF), UINT32_C(0x003A0AEA),
+ UINT32_C(0x005156EE), UINT32_C(0x003A8504), UINT32_C(0x00159140),
+ UINT32_C(0x000A6703), UINT32_C(0x00125BF7), UINT32_C(0x003B1A1B),
+ UINT32_C(0x0014C0D0), UINT32_C(0x0029EE7F)}},
+ },
+ {
+ {{UINT32_C(0x000CEE3A), UINT32_C(0x003D7321), UINT32_C(0x00023142),
+ UINT32_C(0x003544C4), UINT32_C(0x003F91BD), UINT32_C(0x0010A3EC),
+ UINT32_C(0x00082B20), UINT32_C(0x0078FFE7), UINT32_C(0x003864F1),
+ UINT32_C(0x003B8041), UINT32_C(0x001D9DC2), UINT32_C(0x0007B678),
+ UINT32_C(0x0031A85D), UINT32_C(0x0026740B), UINT32_C(0x003B73EA),
+ UINT32_C(0x00554F39), UINT32_C(0x0024C5A9), UINT32_C(0x001017C6),
+ UINT32_C(0x0015253B), UINT32_C(0x0078B21A), UINT32_C(0x001046AA),
+ UINT32_C(0x00345729), UINT32_C(0x0019F681)},
+ {UINT32_C(0x00181CB6), UINT32_C(0x001C63A7), UINT32_C(0x003CC749),
+ UINT32_C(0x00688EB7), UINT32_C(0x003206DC), UINT32_C(0x002E4E99),
+ UINT32_C(0x0004E7E3), UINT32_C(0x005C52DA), UINT32_C(0x00206DFE),
+ UINT32_C(0x001645C1), UINT32_C(0x003C7BEB), UINT32_C(0x000204B2),
+ UINT32_C(0x00012DAF), UINT32_C(0x00349503), UINT32_C(0x0034618E),
+ UINT32_C(0x00231A9D), UINT32_C(0x0029B7B6), UINT32_C(0x002A40B2),
+ UINT32_C(0x003C911A), UINT32_C(0x0014E5CA), UINT32_C(0x00168D52),
+ UINT32_C(0x0005511B), UINT32_C(0x002F1520)},
+ {UINT32_C(0x007821FA), UINT32_C(0x0036926C), UINT32_C(0x000D7AF9),
+ UINT32_C(0x006EC97B), UINT32_C(0x00045F92), UINT32_C(0x002447D1),
+ UINT32_C(0x0026C242), UINT32_C(0x00319411), UINT32_C(0x003B8DAD),
+ UINT32_C(0x001E3305), UINT32_C(0x0017AA9C), UINT32_C(0x001725D0),
+ UINT32_C(0x00244567), UINT32_C(0x0005476C), UINT32_C(0x0001EFF9),
+ UINT32_C(0x006A1091), UINT32_C(0x0024FA36), UINT32_C(0x00039DCF),
+ UINT32_C(0x00208642), UINT32_C(0x003C7246), UINT32_C(0x003FA637),
+ UINT32_C(0x002BB676), UINT32_C(0x00259D44)}},
+ {{UINT32_C(0x001143E0), UINT32_C(0x000BE934), UINT32_C(0x00092033),
+ UINT32_C(0x0022ACE8), UINT32_C(0x0007276F), UINT32_C(0x000F73BC),
+ UINT32_C(0x00201D0F), UINT32_C(0x00226977), UINT32_C(0x00012645),
+ UINT32_C(0x00275465), UINT32_C(0x0028E554), UINT32_C(0x005CBE2C),
+ UINT32_C(0x0021F1F6), UINT32_C(0x003D5FE6), UINT32_C(0x001DC930),
+ UINT32_C(0x0077C3DA), UINT32_C(0x00097BE2), UINT32_C(0x000D819D),
+ UINT32_C(0x0001C8A3), UINT32_C(0x0019CED0), UINT32_C(0x00134484),
+ UINT32_C(0x000F4F11), UINT32_C(0x001DF685)},
+ {UINT32_C(0x000009BC), UINT32_C(0x0011EDA2), UINT32_C(0x000D29DF),
+ UINT32_C(0x003DD661), UINT32_C(0x002C252E), UINT32_C(0x00113EDA),
+ UINT32_C(0x003DF35D), UINT32_C(0x002DED2E), UINT32_C(0x002B0755),
+ UINT32_C(0x00333F8A), UINT32_C(0x0013C151), UINT32_C(0x0057FEA3),
+ UINT32_C(0x0015DAC1), UINT32_C(0x003EB220), UINT32_C(0x0003B1EA),
+ UINT32_C(0x007C1A9B), UINT32_C(0x003CE6E5), UINT32_C(0x003CAD4F),
+ UINT32_C(0x0012B472), UINT32_C(0x00652857), UINT32_C(0x0007E9D3),
+ UINT32_C(0x0024534D), UINT32_C(0x00213675)},
+ {UINT32_C(0x0048F0D3), UINT32_C(0x0022CD16), UINT32_C(0x000AD0B2),
+ UINT32_C(0x00354F10), UINT32_C(0x00349FB2), UINT32_C(0x00305A14),
+ UINT32_C(0x001BDA8F), UINT32_C(0x007E0240), UINT32_C(0x001C187D),
+ UINT32_C(0x003E456C), UINT32_C(0x00228C2A), UINT32_C(0x00518D87),
+ UINT32_C(0x0031FEE5), UINT32_C(0x0018BEB8), UINT32_C(0x001E38EB),
+ UINT32_C(0x003553A2), UINT32_C(0x003C0940), UINT32_C(0x003DE9BA),
+ UINT32_C(0x00120769), UINT32_C(0x0076BFBD), UINT32_C(0x003CEEF0),
+ UINT32_C(0x001B431A), UINT32_C(0x001E3982)}},
+ {{UINT32_C(0x00516136), UINT32_C(0x0029DF1B), UINT32_C(0x002D8BBF),
+ UINT32_C(0x00309D5F), UINT32_C(0x00259D4B), UINT32_C(0x00038377),
+ UINT32_C(0x003833E1), UINT32_C(0x004338BB), UINT32_C(0x001D9308),
+ UINT32_C(0x0006D82F), UINT32_C(0x000B6B51), UINT32_C(0x005BA357),
+ UINT32_C(0x00320D4C), UINT32_C(0x00259A92), UINT32_C(0x001D9241),
+ UINT32_C(0x0078B989), UINT32_C(0x00045C59), UINT32_C(0x00037E70),
+ UINT32_C(0x002B41F8), UINT32_C(0x0040B045), UINT32_C(0x003CC5AB),
+ UINT32_C(0x003A6093), UINT32_C(0x002EB114)},
+ {UINT32_C(0x002FD13F), UINT32_C(0x0031B6B2), UINT32_C(0x0038071A),
+ UINT32_C(0x00008F7E), UINT32_C(0x002227F0), UINT32_C(0x002C8CB9),
+ UINT32_C(0x0002C017), UINT32_C(0x00452659), UINT32_C(0x000CCF76),
+ UINT32_C(0x000F095B), UINT32_C(0x003A4DFD), UINT32_C(0x0072E9C3),
+ UINT32_C(0x0010B61E), UINT32_C(0x000C0898), UINT32_C(0x0024C173),
+ UINT32_C(0x000A2663), UINT32_C(0x00060CDB), UINT32_C(0x00096AE3),
+ UINT32_C(0x0013F6F3), UINT32_C(0x004B3363), UINT32_C(0x001F342B),
+ UINT32_C(0x000C8DE7), UINT32_C(0x00251CCD)},
+ {UINT32_C(0x00291E81), UINT32_C(0x00087E94), UINT32_C(0x00397163),
+ UINT32_C(0x0041EE95), UINT32_C(0x00174BBE), UINT32_C(0x00116EA7),
+ UINT32_C(0x003F0F93), UINT32_C(0x004C9F35), UINT32_C(0x0028B7F6),
+ UINT32_C(0x0005ADCA), UINT32_C(0x00148DEC), UINT32_C(0x00599D15),
+ UINT32_C(0x0024B8E7), UINT32_C(0x003FB84F), UINT32_C(0x003DA2F2),
+ UINT32_C(0x003BCD26), UINT32_C(0x003A6E5E), UINT32_C(0x00198E0F),
+ UINT32_C(0x002481B2), UINT32_C(0x0052634A), UINT32_C(0x0022D3F8),
+ UINT32_C(0x00291EF1), UINT32_C(0x0007CC09)}},
+ {{UINT32_C(0x00103033), UINT32_C(0x002ADD30), UINT32_C(0x001859A0),
+ UINT32_C(0x0015A086), UINT32_C(0x00061C02), UINT32_C(0x0010E7A8),
+ UINT32_C(0x003EAFF4), UINT32_C(0x00767D34), UINT32_C(0x0010AB16),
+ UINT32_C(0x001F8467), UINT32_C(0x0026AFAB), UINT32_C(0x000D90E0),
+ UINT32_C(0x0026D163), UINT32_C(0x001708CF), UINT32_C(0x00041DBD),
+ UINT32_C(0x0016BB95), UINT32_C(0x00375E2C), UINT32_C(0x0003BCA5),
+ UINT32_C(0x0004AAE7), UINT32_C(0x003072CC), UINT32_C(0x0005E256),
+ UINT32_C(0x0015AC55), UINT32_C(0x003BABC8)},
+ {UINT32_C(0x004B5126), UINT32_C(0x00221DBC), UINT32_C(0x00061E51),
+ UINT32_C(0x001A65B2), UINT32_C(0x00144A5D), UINT32_C(0x00053B47),
+ UINT32_C(0x0035282A), UINT32_C(0x00361203), UINT32_C(0x0034A24A),
+ UINT32_C(0x00265DCD), UINT32_C(0x0011E3E4), UINT32_C(0x0071F53C),
+ UINT32_C(0x001617A7), UINT32_C(0x001B3CFC), UINT32_C(0x0037ACD5),
+ UINT32_C(0x003D79A9), UINT32_C(0x002F6062), UINT32_C(0x000E6254),
+ UINT32_C(0x0013609B), UINT32_C(0x006B6554), UINT32_C(0x0035F594),
+ UINT32_C(0x000ABD87), UINT32_C(0x002EDABF)},
+ {UINT32_C(0x00261ED9), UINT32_C(0x002DA8C6), UINT32_C(0x001E0A7A),
+ UINT32_C(0x00169981), UINT32_C(0x001CF370), UINT32_C(0x003E78E4),
+ UINT32_C(0x001DC822), UINT32_C(0x005C5907), UINT32_C(0x000C84AA),
+ UINT32_C(0x001B3D8D), UINT32_C(0x00235FF6), UINT32_C(0x003183F8),
+ UINT32_C(0x001DC3F5), UINT32_C(0x003CD3E8), UINT32_C(0x0038AA8A),
+ UINT32_C(0x00298326), UINT32_C(0x0023EE8A), UINT32_C(0x00219AC4),
+ UINT32_C(0x002FFA3E), UINT32_C(0x006FB3B6), UINT32_C(0x0026C478),
+ UINT32_C(0x0001E8FD), UINT32_C(0x0028FC8A)}},
+ {{UINT32_C(0x0074BF78), UINT32_C(0x0021A4A0), UINT32_C(0x0007F0AA),
+ UINT32_C(0x004357AC), UINT32_C(0x001FE0E7), UINT32_C(0x0028EE47),
+ UINT32_C(0x0028C433), UINT32_C(0x002DC428), UINT32_C(0x001801EA),
+ UINT32_C(0x001C3DCA), UINT32_C(0x0036E321), UINT32_C(0x0076CD18),
+ UINT32_C(0x000FE126), UINT32_C(0x001F3CFA), UINT32_C(0x003B1976),
+ UINT32_C(0x007FB0F7), UINT32_C(0x0022F2C9), UINT32_C(0x00197985),
+ UINT32_C(0x0007146F), UINT32_C(0x007D7DCB), UINT32_C(0x000400AF),
+ UINT32_C(0x00344938), UINT32_C(0x002E00BD)},
+ {UINT32_C(0x0033B420), UINT32_C(0x002CBFC9), UINT32_C(0x001EBE71),
+ UINT32_C(0x000E5302), UINT32_C(0x00074DB3), UINT32_C(0x00130287),
+ UINT32_C(0x000026B2), UINT32_C(0x00514208), UINT32_C(0x002E49CD),
+ UINT32_C(0x000B2A5B), UINT32_C(0x003C750F), UINT32_C(0x003ED5AC),
+ UINT32_C(0x0039B88B), UINT32_C(0x002B90DA), UINT32_C(0x0005740F),
+ UINT32_C(0x00279855), UINT32_C(0x00083537), UINT32_C(0x000AECE4),
+ UINT32_C(0x00284E3D), UINT32_C(0x007EBF4B), UINT32_C(0x000753F0),
+ UINT32_C(0x00361832), UINT32_C(0x001F793F)},
+ {UINT32_C(0x003A939A), UINT32_C(0x00052334), UINT32_C(0x00356449),
+ UINT32_C(0x0024BFBB), UINT32_C(0x0036BE0F), UINT32_C(0x00367B2C),
+ UINT32_C(0x0004E8D1), UINT32_C(0x0067E56C), UINT32_C(0x00279DE5),
+ UINT32_C(0x00090171), UINT32_C(0x0015DDDE), UINT32_C(0x002A246D),
+ UINT32_C(0x00062B11), UINT32_C(0x00036BDB), UINT32_C(0x001714B6),
+ UINT32_C(0x007CBB2A), UINT32_C(0x001969BA), UINT32_C(0x0027CA13),
+ UINT32_C(0x0028B9DE), UINT32_C(0x005E3B1A), UINT32_C(0x00078AE7),
+ UINT32_C(0x001351F5), UINT32_C(0x0000DA62)}},
+ {{UINT32_C(0x00053172), UINT32_C(0x002A2BFC), UINT32_C(0x0033E860),
+ UINT32_C(0x00638ADF), UINT32_C(0x0022FDA9), UINT32_C(0x00161786),
+ UINT32_C(0x002313FD), UINT32_C(0x00502AB2), UINT32_C(0x001C6DA3),
+ UINT32_C(0x00235635), UINT32_C(0x0008ED5B), UINT32_C(0x001E342B),
+ UINT32_C(0x0013C148), UINT32_C(0x002E6A9C), UINT32_C(0x003897F3),
+ UINT32_C(0x005843F7), UINT32_C(0x00123DFD), UINT32_C(0x003C9807),
+ UINT32_C(0x0005F065), UINT32_C(0x000D45E4), UINT32_C(0x002690E3),
+ UINT32_C(0x00341A20), UINT32_C(0x000927BF)},
+ {UINT32_C(0x0015F913), UINT32_C(0x0030564F), UINT32_C(0x002F86A0),
+ UINT32_C(0x000C54CB), UINT32_C(0x0017E098), UINT32_C(0x001C24F2),
+ UINT32_C(0x0017111F), UINT32_C(0x00021C5D), UINT32_C(0x001BE2D3),
+ UINT32_C(0x000FD2C4), UINT32_C(0x001E935E), UINT32_C(0x003CE41D),
+ UINT32_C(0x00086058), UINT32_C(0x001B00C8), UINT32_C(0x00285196),
+ UINT32_C(0x00011DA1), UINT32_C(0x002F1A16), UINT32_C(0x00126ABE),
+ UINT32_C(0x00042FD8), UINT32_C(0x002EDBF1), UINT32_C(0x003A75C6),
+ UINT32_C(0x000D1C7C), UINT32_C(0x00367832)},
+ {UINT32_C(0x00293AEE), UINT32_C(0x00021495), UINT32_C(0x001BB0F5),
+ UINT32_C(0x00566C32), UINT32_C(0x00196DDA), UINT32_C(0x000D10CE),
+ UINT32_C(0x000C6555), UINT32_C(0x001E8E54), UINT32_C(0x0014FA41),
+ UINT32_C(0x003CA61A), UINT32_C(0x0008C270), UINT32_C(0x0041A922),
+ UINT32_C(0x0010DDE3), UINT32_C(0x003C22D8), UINT32_C(0x00143053),
+ UINT32_C(0x000C9DAC), UINT32_C(0x00117939), UINT32_C(0x0016BA60),
+ UINT32_C(0x0028B353), UINT32_C(0x003C642B), UINT32_C(0x0020C6F4),
+ UINT32_C(0x0003F370), UINT32_C(0x00196768)}},
+ {{UINT32_C(0x0065E8F6), UINT32_C(0x0009C4A7), UINT32_C(0x000A1D99),
+ UINT32_C(0x007D4B7B), UINT32_C(0x0015F315), UINT32_C(0x003FC1AA),
+ UINT32_C(0x002468FA), UINT32_C(0x005C1056), UINT32_C(0x000F4362),
+ UINT32_C(0x002C7799), UINT32_C(0x0022A7D7), UINT32_C(0x0071EC9D),
+ UINT32_C(0x001ACB59), UINT32_C(0x001E9B82), UINT32_C(0x000369EA),
+ UINT32_C(0x0052D8AB), UINT32_C(0x002884D6), UINT32_C(0x000AA6B5),
+ UINT32_C(0x00110D92), UINT32_C(0x005882B4), UINT32_C(0x0018CB6D),
+ UINT32_C(0x002F7663), UINT32_C(0x001B502E)},
+ {UINT32_C(0x006415D4), UINT32_C(0x0036A62C), UINT32_C(0x002F8E5C),
+ UINT32_C(0x00310D30), UINT32_C(0x0011EE1E), UINT32_C(0x00271CB7),
+ UINT32_C(0x0022D267), UINT32_C(0x00094EFA), UINT32_C(0x00398684),
+ UINT32_C(0x003F1B86), UINT32_C(0x00165A66), UINT32_C(0x005BB638),
+ UINT32_C(0x0034D02F), UINT32_C(0x003E6EBE), UINT32_C(0x000DE3C6),
+ UINT32_C(0x004138E0), UINT32_C(0x002EECEC), UINT32_C(0x0024EE9D),
+ UINT32_C(0x001E8C7F), UINT32_C(0x005CEBE9), UINT32_C(0x000A4E0F),
+ UINT32_C(0x001BC6CD), UINT32_C(0x0036B315)},
+ {UINT32_C(0x004FDAB7), UINT32_C(0x003E5AE6), UINT32_C(0x000C6A3B),
+ UINT32_C(0x002C4AA9), UINT32_C(0x00269D75), UINT32_C(0x000D8807),
+ UINT32_C(0x000B5F32), UINT32_C(0x006B8D06), UINT32_C(0x0031AE80),
+ UINT32_C(0x0025B3E0), UINT32_C(0x0039541F), UINT32_C(0x0000F3ED),
+ UINT32_C(0x003A4AF4), UINT32_C(0x001A6C5B), UINT32_C(0x000C602B),
+ UINT32_C(0x0011FF53), UINT32_C(0x002F09C9), UINT32_C(0x00054583),
+ UINT32_C(0x00214187), UINT32_C(0x0036D12F), UINT32_C(0x003950DC),
+ UINT32_C(0x000AED90), UINT32_C(0x003F5A51)}},
+ {{UINT32_C(0x00056FA9), UINT32_C(0x002A8CF1), UINT32_C(0x0001DDAD),
+ UINT32_C(0x0046E6FF), UINT32_C(0x003B910B), UINT32_C(0x002CADE7),
+ UINT32_C(0x000D73A3), UINT32_C(0x00338292), UINT32_C(0x000BBF55),
+ UINT32_C(0x0033F714), UINT32_C(0x0004D83C), UINT32_C(0x007DF50D),
+ UINT32_C(0x0037ABD1), UINT32_C(0x00103E5A), UINT32_C(0x00042BB5),
+ UINT32_C(0x00663AFA), UINT32_C(0x00197069), UINT32_C(0x002B5674),
+ UINT32_C(0x003B0D57), UINT32_C(0x0045359A), UINT32_C(0x0010B12C),
+ UINT32_C(0x000F3CA0), UINT32_C(0x0025512A)},
+ {UINT32_C(0x002BD66C), UINT32_C(0x002285D6), UINT32_C(0x001D66BD),
+ UINT32_C(0x006BD87F), UINT32_C(0x002DC0F9), UINT32_C(0x003AE7AB),
+ UINT32_C(0x00361A39), UINT32_C(0x0011B741), UINT32_C(0x00206C9F),
+ UINT32_C(0x0025662E), UINT32_C(0x000C70F7), UINT32_C(0x003F36E4),
+ UINT32_C(0x002ACA51), UINT32_C(0x000C34AF), UINT32_C(0x0024625C),
+ UINT32_C(0x006500C7), UINT32_C(0x00198FCB), UINT32_C(0x0012CFCA),
+ UINT32_C(0x0009EE1C), UINT32_C(0x00277608), UINT32_C(0x00213658),
+ UINT32_C(0x0030604D), UINT32_C(0x002EF50F)},
+ {UINT32_C(0x00092ABD), UINT32_C(0x001446D1), UINT32_C(0x003F6A06),
+ UINT32_C(0x0046565B), UINT32_C(0x0003E584), UINT32_C(0x00159E89),
+ UINT32_C(0x003DEBC5), UINT32_C(0x00735F29), UINT32_C(0x0031EB5E),
+ UINT32_C(0x000434A9), UINT32_C(0x002797DF), UINT32_C(0x006DEA2C),
+ UINT32_C(0x002A9686), UINT32_C(0x00118EFA), UINT32_C(0x00050279),
+ UINT32_C(0x003045AD), UINT32_C(0x0034874B), UINT32_C(0x003D78ED),
+ UINT32_C(0x0018FEC5), UINT32_C(0x003D2A5A), UINT32_C(0x0030D04B),
+ UINT32_C(0x003A21F3), UINT32_C(0x0031E2CC)}},
+ {{UINT32_C(0x000F8BDB), UINT32_C(0x0033A04E), UINT32_C(0x0014B261),
+ UINT32_C(0x003ABAE0), UINT32_C(0x0003F54D), UINT32_C(0x00168473),
+ UINT32_C(0x001C33A5), UINT32_C(0x001CB69A), UINT32_C(0x000FEEE3),
+ UINT32_C(0x0031C38B), UINT32_C(0x00219E20), UINT32_C(0x004DE49D),
+ UINT32_C(0x003DCBEE), UINT32_C(0x00052411), UINT32_C(0x003D8935),
+ UINT32_C(0x000D0029), UINT32_C(0x00227D70), UINT32_C(0x002A8E3F),
+ UINT32_C(0x000204A8), UINT32_C(0x00320844), UINT32_C(0x000DD3B6),
+ UINT32_C(0x003D0841), UINT32_C(0x002C6C6C)},
+ {UINT32_C(0x005C03EC), UINT32_C(0x002B2C46), UINT32_C(0x00293F5B),
+ UINT32_C(0x007F7BDE), UINT32_C(0x003ADCB5), UINT32_C(0x0017241D),
+ UINT32_C(0x001FD746), UINT32_C(0x003529B7), UINT32_C(0x003332DC),
+ UINT32_C(0x002763A5), UINT32_C(0x001E887A), UINT32_C(0x00130EB1),
+ UINT32_C(0x002394CE), UINT32_C(0x000B8EF4), UINT32_C(0x000E932D),
+ UINT32_C(0x00527CBE), UINT32_C(0x003F139A), UINT32_C(0x003BFA19),
+ UINT32_C(0x00336A1D), UINT32_C(0x0066E2AC), UINT32_C(0x00098186),
+ UINT32_C(0x00047A1A), UINT32_C(0x0004788C)},
+ {UINT32_C(0x0009A196), UINT32_C(0x0035EBC2), UINT32_C(0x00265402),
+ UINT32_C(0x007A08A2), UINT32_C(0x002CDBA0), UINT32_C(0x0023627E),
+ UINT32_C(0x0002433D), UINT32_C(0x0046191A), UINT32_C(0x003DCF82),
+ UINT32_C(0x00034EE3), UINT32_C(0x002B144C), UINT32_C(0x000FC454),
+ UINT32_C(0x00149146), UINT32_C(0x0002C1B7), UINT32_C(0x000707A7),
+ UINT32_C(0x0029E68D), UINT32_C(0x000F78F8), UINT32_C(0x0024EB1B),
+ UINT32_C(0x00116A27), UINT32_C(0x00722F40), UINT32_C(0x000C507F),
+ UINT32_C(0x000737D8), UINT32_C(0x001FABC6)}},
+ {{UINT32_C(0x002E0A9F), UINT32_C(0x00047AD4), UINT32_C(0x00395FF2),
+ UINT32_C(0x0070C4CD), UINT32_C(0x001FB3C7), UINT32_C(0x0001E8F1),
+ UINT32_C(0x00025684), UINT32_C(0x0046A16B), UINT32_C(0x000BE275),
+ UINT32_C(0x001CA806), UINT32_C(0x00017814), UINT32_C(0x00255A20),
+ UINT32_C(0x001A997F), UINT32_C(0x001AD072), UINT32_C(0x003CFEB6),
+ UINT32_C(0x003C6C9C), UINT32_C(0x001F796B), UINT32_C(0x003CEE03),
+ UINT32_C(0x0003882E), UINT32_C(0x006A3D22), UINT32_C(0x0039A895),
+ UINT32_C(0x003BEFAB), UINT32_C(0x001E8B14)},
+ {UINT32_C(0x002481A8), UINT32_C(0x000FD69E), UINT32_C(0x001BB1B7),
+ UINT32_C(0x006E58A2), UINT32_C(0x001FF0FF), UINT32_C(0x000786C3),
+ UINT32_C(0x0016526A), UINT32_C(0x00617928), UINT32_C(0x0010511F),
+ UINT32_C(0x00088530), UINT32_C(0x00397BC8), UINT32_C(0x0034BA73),
+ UINT32_C(0x0004BEE5), UINT32_C(0x00274402), UINT32_C(0x0004DCC0),
+ UINT32_C(0x00246DC1), UINT32_C(0x00001408), UINT32_C(0x002DC300),
+ UINT32_C(0x0028EE1F), UINT32_C(0x00609A3C), UINT32_C(0x0009B999),
+ UINT32_C(0x00203ECD), UINT32_C(0x0022AA2D)},
+ {UINT32_C(0x003580E7), UINT32_C(0x00155DCD), UINT32_C(0x0013457A),
+ UINT32_C(0x002C90EB), UINT32_C(0x0026470A), UINT32_C(0x00122727),
+ UINT32_C(0x0037BD5C), UINT32_C(0x005D220D), UINT32_C(0x00152493),
+ UINT32_C(0x0018A293), UINT32_C(0x00392995), UINT32_C(0x00151E64),
+ UINT32_C(0x002E37DC), UINT32_C(0x002E9EC6), UINT32_C(0x001A205E),
+ UINT32_C(0x000701D8), UINT32_C(0x001CB000), UINT32_C(0x00120BE4),
+ UINT32_C(0x0031B0D9), UINT32_C(0x005B9235), UINT32_C(0x00005267),
+ UINT32_C(0x000B7C49), UINT32_C(0x00155B65)}},
+ {{UINT32_C(0x003005AF), UINT32_C(0x00222462), UINT32_C(0x0034D58A),
+ UINT32_C(0x002AEF89), UINT32_C(0x002BA06B), UINT32_C(0x001C9A9E),
+ UINT32_C(0x001E894B), UINT32_C(0x00406001), UINT32_C(0x0010BF30),
+ UINT32_C(0x002867EA), UINT32_C(0x003F0EC9), UINT32_C(0x0032D6F1),
+ UINT32_C(0x002C15E9), UINT32_C(0x0012CFC5), UINT32_C(0x00191373),
+ UINT32_C(0x0024A43B), UINT32_C(0x002C8AB3), UINT32_C(0x0025E47F),
+ UINT32_C(0x003A9B91), UINT32_C(0x002DC4AC), UINT32_C(0x001821EA),
+ UINT32_C(0x0019E718), UINT32_C(0x003570EC)},
+ {UINT32_C(0x00049A08), UINT32_C(0x0029C93F), UINT32_C(0x00311736),
+ UINT32_C(0x004A3E8D), UINT32_C(0x00076459), UINT32_C(0x0024E089),
+ UINT32_C(0x000D1295), UINT32_C(0x0065B4DA), UINT32_C(0x00199D52),
+ UINT32_C(0x0007CE98), UINT32_C(0x00284B76), UINT32_C(0x00797A7F),
+ UINT32_C(0x00219D91), UINT32_C(0x00288E07), UINT32_C(0x000BA4F1),
+ UINT32_C(0x001089DA), UINT32_C(0x0003C7B7), UINT32_C(0x0037C99E),
+ UINT32_C(0x00376B77), UINT32_C(0x0028C9E0), UINT32_C(0x003AF66B),
+ UINT32_C(0x0015F094), UINT32_C(0x000887F7)},
+ {UINT32_C(0x004D57FB), UINT32_C(0x00142BB6), UINT32_C(0x000680E9),
+ UINT32_C(0x0019ED70), UINT32_C(0x0031F674), UINT32_C(0x003D4AD2),
+ UINT32_C(0x00023E39), UINT32_C(0x006D62CE), UINT32_C(0x001F2AF6),
+ UINT32_C(0x0018DCD2), UINT32_C(0x00087694), UINT32_C(0x0004D412),
+ UINT32_C(0x0022EF3A), UINT32_C(0x00024D6F), UINT32_C(0x0016C5BC),
+ UINT32_C(0x00499A4A), UINT32_C(0x003C726B), UINT32_C(0x0021F3CF),
+ UINT32_C(0x0023BB7D), UINT32_C(0x0060BA2C), UINT32_C(0x003B5906),
+ UINT32_C(0x0019F5B1), UINT32_C(0x0022E2B1)}},
+ {{UINT32_C(0x001A18D3), UINT32_C(0x0002DF53), UINT32_C(0x003C65F2),
+ UINT32_C(0x00252D1F), UINT32_C(0x0005D4E4), UINT32_C(0x0037F7AD),
+ UINT32_C(0x002B96C8), UINT32_C(0x004A99EF), UINT32_C(0x0034622E),
+ UINT32_C(0x003DC7C3), UINT32_C(0x0025C9EA), UINT32_C(0x002950F3),
+ UINT32_C(0x002D17D0), UINT32_C(0x002BA2B1), UINT32_C(0x0016FD3F),
+ UINT32_C(0x002D1E9B), UINT32_C(0x003D33A4), UINT32_C(0x0020B37E),
+ UINT32_C(0x001F2455), UINT32_C(0x0039CB42), UINT32_C(0x00074719),
+ UINT32_C(0x0006C7E3), UINT32_C(0x000B524B)},
+ {UINT32_C(0x003E735C), UINT32_C(0x001CD19B), UINT32_C(0x000A2B03),
+ UINT32_C(0x0004DADA), UINT32_C(0x001D7F00), UINT32_C(0x001BB1CD),
+ UINT32_C(0x0031EC2D), UINT32_C(0x0060CB29), UINT32_C(0x00305DAD),
+ UINT32_C(0x002A2E31), UINT32_C(0x002A51BD), UINT32_C(0x0064BA52),
+ UINT32_C(0x000A34DE), UINT32_C(0x000C8DBD), UINT32_C(0x00335FA7),
+ UINT32_C(0x00335FE1), UINT32_C(0x0033C874), UINT32_C(0x0003E276),
+ UINT32_C(0x002026D5), UINT32_C(0x00096E2B), UINT32_C(0x000276E3),
+ UINT32_C(0x0038EF96), UINT32_C(0x003FBD7E)},
+ {UINT32_C(0x0079E37A), UINT32_C(0x001890D4), UINT32_C(0x00250177),
+ UINT32_C(0x0047BB39), UINT32_C(0x0029268C), UINT32_C(0x002479AB),
+ UINT32_C(0x00244958), UINT32_C(0x00270A4B), UINT32_C(0x001A146F),
+ UINT32_C(0x000E6E93), UINT32_C(0x001688FB), UINT32_C(0x00728526),
+ UINT32_C(0x001CECAB), UINT32_C(0x0026F68E), UINT32_C(0x001480E6),
+ UINT32_C(0x0078FACC), UINT32_C(0x00234FE3), UINT32_C(0x001CB3A6),
+ UINT32_C(0x0003F46F), UINT32_C(0x0031231A), UINT32_C(0x001C154C),
+ UINT32_C(0x003F8810), UINT32_C(0x001DA5AD)}},
+ {{UINT32_C(0x003DDB7A), UINT32_C(0x0002E3D3), UINT32_C(0x002553BF),
+ UINT32_C(0x004415BB), UINT32_C(0x00329C70), UINT32_C(0x0022CB5A),
+ UINT32_C(0x0019FC2C), UINT32_C(0x000F789E), UINT32_C(0x0025AD01),
+ UINT32_C(0x0023FC89), UINT32_C(0x00297284), UINT32_C(0x0052CFEE),
+ UINT32_C(0x0023B149), UINT32_C(0x000D9DC2), UINT32_C(0x002F141C),
+ UINT32_C(0x000144A6), UINT32_C(0x0034AA72), UINT32_C(0x00071093),
+ UINT32_C(0x003304EB), UINT32_C(0x0072FE7F), UINT32_C(0x00098781),
+ UINT32_C(0x001FC2EE), UINT32_C(0x001AA3B0)},
+ {UINT32_C(0x00784FC3), UINT32_C(0x00109969), UINT32_C(0x0027287E),
+ UINT32_C(0x006DB5D4), UINT32_C(0x000ACF5E), UINT32_C(0x00032B46),
+ UINT32_C(0x0037A8DC), UINT32_C(0x004CE91B), UINT32_C(0x0036E3B8),
+ UINT32_C(0x002D9C83), UINT32_C(0x0004C6A9), UINT32_C(0x002A278F),
+ UINT32_C(0x003E2154), UINT32_C(0x001E5587), UINT32_C(0x0026D619),
+ UINT32_C(0x00749796), UINT32_C(0x002DE56E), UINT32_C(0x001CA040),
+ UINT32_C(0x000F01A0), UINT32_C(0x000A33E5), UINT32_C(0x00398839),
+ UINT32_C(0x0025A737), UINT32_C(0x00342BA0)},
+ {UINT32_C(0x000DD5DB), UINT32_C(0x0035AF7C), UINT32_C(0x000ADFC4),
+ UINT32_C(0x002D82EC), UINT32_C(0x001F65FA), UINT32_C(0x000E30C7),
+ UINT32_C(0x0003A776), UINT32_C(0x0011585E), UINT32_C(0x002736DB),
+ UINT32_C(0x003AF607), UINT32_C(0x000EC2A5), UINT32_C(0x003DB029),
+ UINT32_C(0x003B1ACF), UINT32_C(0x0025DB0F), UINT32_C(0x0001FC2D),
+ UINT32_C(0x0009BB8A), UINT32_C(0x000C442B), UINT32_C(0x000B14D4),
+ UINT32_C(0x000B2FA5), UINT32_C(0x002930AA), UINT32_C(0x001A33E5),
+ UINT32_C(0x0007711E), UINT32_C(0x0014AAEA)}},
+ {{UINT32_C(0x004E9DDC), UINT32_C(0x00249BD7), UINT32_C(0x00399ACA),
+ UINT32_C(0x00001C89), UINT32_C(0x00399AD6), UINT32_C(0x001CA0C4),
+ UINT32_C(0x0033F687), UINT32_C(0x00167529), UINT32_C(0x003E6664),
+ UINT32_C(0x00247D4A), UINT32_C(0x003E497D), UINT32_C(0x006BEC07),
+ UINT32_C(0x00321482), UINT32_C(0x00261DC6), UINT32_C(0x001AFB91),
+ UINT32_C(0x000CCE08), UINT32_C(0x00154873), UINT32_C(0x001FA9C6),
+ UINT32_C(0x0031D6B7), UINT32_C(0x001DB078), UINT32_C(0x0007F410),
+ UINT32_C(0x002B5D77), UINT32_C(0x001CEFE7)},
+ {UINT32_C(0x0078A938), UINT32_C(0x00079CA6), UINT32_C(0x0004A11B),
+ UINT32_C(0x0000BBD2), UINT32_C(0x0014D1B9), UINT32_C(0x0032E71F),
+ UINT32_C(0x00228788), UINT32_C(0x0043BDCB), UINT32_C(0x00052FE3),
+ UINT32_C(0x0032E261), UINT32_C(0x003EA511), UINT32_C(0x006940B9),
+ UINT32_C(0x000DD8A7), UINT32_C(0x0035310F), UINT32_C(0x0016AD6A),
+ UINT32_C(0x0051AD87), UINT32_C(0x0034DB37), UINT32_C(0x0039F114),
+ UINT32_C(0x000435BA), UINT32_C(0x0075A182), UINT32_C(0x00319B60),
+ UINT32_C(0x0007D2C9), UINT32_C(0x003B06E6)},
+ {UINT32_C(0x004768E1), UINT32_C(0x001CC336), UINT32_C(0x003299A7),
+ UINT32_C(0x005DFF8F), UINT32_C(0x00004B15), UINT32_C(0x00222007),
+ UINT32_C(0x0035CA8E), UINT32_C(0x001DA643), UINT32_C(0x00267E34),
+ UINT32_C(0x001EC2B8), UINT32_C(0x000189F4), UINT32_C(0x00721823),
+ UINT32_C(0x000225C4), UINT32_C(0x001F0249), UINT32_C(0x003A75ED),
+ UINT32_C(0x0043CA56), UINT32_C(0x0025AC50), UINT32_C(0x0000E327),
+ UINT32_C(0x003352D9), UINT32_C(0x004B96F8), UINT32_C(0x0027419D),
+ UINT32_C(0x0023A16C), UINT32_C(0x0031DA1B)}},
+ {{UINT32_C(0x00487D70), UINT32_C(0x003AAA4A), UINT32_C(0x0026A8EB),
+ UINT32_C(0x005FBEDD), UINT32_C(0x002A0595), UINT32_C(0x0022F25C),
+ UINT32_C(0x003A6FD8), UINT32_C(0x00451396), UINT32_C(0x00306E44),
+ UINT32_C(0x000F3B8F), UINT32_C(0x002912A8), UINT32_C(0x0050F308),
+ UINT32_C(0x0007E373), UINT32_C(0x0007762D), UINT32_C(0x001A5294),
+ UINT32_C(0x00331113), UINT32_C(0x0026941A), UINT32_C(0x0025F44E),
+ UINT32_C(0x003862FA), UINT32_C(0x0010D40E), UINT32_C(0x00289A47),
+ UINT32_C(0x00099A16), UINT32_C(0x00207317)},
+ {UINT32_C(0x001B1BDB), UINT32_C(0x00304B63), UINT32_C(0x000E1EED),
+ UINT32_C(0x0053C2DF), UINT32_C(0x003F16DC), UINT32_C(0x00063BAB),
+ UINT32_C(0x0021F5CC), UINT32_C(0x0003D7B7), UINT32_C(0x000B4008),
+ UINT32_C(0x00174E48), UINT32_C(0x00341AE6), UINT32_C(0x0023DF07),
+ UINT32_C(0x002FF147), UINT32_C(0x0007214D), UINT32_C(0x0011768A),
+ UINT32_C(0x00756B3F), UINT32_C(0x000DB5D9), UINT32_C(0x003F42F9),
+ UINT32_C(0x00062571), UINT32_C(0x007558EC), UINT32_C(0x002AEDF3),
+ UINT32_C(0x001F12E2), UINT32_C(0x002C1D2E)},
+ {UINT32_C(0x00424EEA), UINT32_C(0x0008E4E0), UINT32_C(0x00276315),
+ UINT32_C(0x0010C7CE), UINT32_C(0x0010FB31), UINT32_C(0x0005DB4C),
+ UINT32_C(0x002E33CE), UINT32_C(0x0029F3F7), UINT32_C(0x001931C4),
+ UINT32_C(0x0006A41D), UINT32_C(0x002E7D33), UINT32_C(0x0031344C),
+ UINT32_C(0x00148E02), UINT32_C(0x00387E14), UINT32_C(0x000EA259),
+ UINT32_C(0x00485845), UINT32_C(0x0018ECF9), UINT32_C(0x001365B8),
+ UINT32_C(0x0009B445), UINT32_C(0x00008051), UINT32_C(0x00327427),
+ UINT32_C(0x001F7091), UINT32_C(0x0018B432)}},
+ {{UINT32_C(0x005F7787), UINT32_C(0x00170455), UINT32_C(0x00340DE5),
+ UINT32_C(0x0062A794), UINT32_C(0x002C24C5), UINT32_C(0x0010BDA3),
+ UINT32_C(0x002BFBBE), UINT32_C(0x0031B953), UINT32_C(0x002717CF),
+ UINT32_C(0x0009262E), UINT32_C(0x002A4512), UINT32_C(0x00072DE4),
+ UINT32_C(0x0025410B), UINT32_C(0x002BB34C), UINT32_C(0x000633A9),
+ UINT32_C(0x007482DB), UINT32_C(0x002D93B4), UINT32_C(0x003DD3EC),
+ UINT32_C(0x000C66CF), UINT32_C(0x00203EB1), UINT32_C(0x0024ED0D),
+ UINT32_C(0x003397CD), UINT32_C(0x000F7881)},
+ {UINT32_C(0x00127E99), UINT32_C(0x003FDC31), UINT32_C(0x000D6B1B),
+ UINT32_C(0x0067DD99), UINT32_C(0x0020B17C), UINT32_C(0x0019B464),
+ UINT32_C(0x001B54BD), UINT32_C(0x0079ADB3), UINT32_C(0x001DF680),
+ UINT32_C(0x00244323), UINT32_C(0x0011F742), UINT32_C(0x00305CDB),
+ UINT32_C(0x00078D7A), UINT32_C(0x0000769B), UINT32_C(0x001CAE8B),
+ UINT32_C(0x002F49E1), UINT32_C(0x002C7F9F), UINT32_C(0x0038FE3A),
+ UINT32_C(0x0039CF05), UINT32_C(0x0079BF1E), UINT32_C(0x00308D34),
+ UINT32_C(0x003DEE92), UINT32_C(0x0011514A)},
+ {UINT32_C(0x00382385), UINT32_C(0x0013BD1F), UINT32_C(0x003811CF),
+ UINT32_C(0x00292587), UINT32_C(0x00322E94), UINT32_C(0x0026DD80),
+ UINT32_C(0x002E2F48), UINT32_C(0x00230F38), UINT32_C(0x0017BA53),
+ UINT32_C(0x000E1B94), UINT32_C(0x001E3431), UINT32_C(0x0012A183),
+ UINT32_C(0x003003E9), UINT32_C(0x0039A0BD), UINT32_C(0x001C4811),
+ UINT32_C(0x001E6DB1), UINT32_C(0x0001D16F), UINT32_C(0x002EF639),
+ UINT32_C(0x003595BC), UINT32_C(0x00635C14), UINT32_C(0x000F1141),
+ UINT32_C(0x00276EF2), UINT32_C(0x0026F1AB)}},
+ },
+ {
+ {{UINT32_C(0x0063583C), UINT32_C(0x00178F3B), UINT32_C(0x0031FE89),
+ UINT32_C(0x004A10CC), UINT32_C(0x0025E861), UINT32_C(0x001D9981),
+ UINT32_C(0x00209C95), UINT32_C(0x00757DAB), UINT32_C(0x000E0CCA),
+ UINT32_C(0x0026F2CF), UINT32_C(0x000F724B), UINT32_C(0x0054A684),
+ UINT32_C(0x00395A25), UINT32_C(0x003B96AA), UINT32_C(0x000CB3E2),
+ UINT32_C(0x0025FA25), UINT32_C(0x001A8CCD), UINT32_C(0x003E8D3C),
+ UINT32_C(0x002670BC), UINT32_C(0x0073C1D9), UINT32_C(0x002D1389),
+ UINT32_C(0x00130BE6), UINT32_C(0x00269AFA)},
+ {UINT32_C(0x0078D442), UINT32_C(0x0008E522), UINT32_C(0x0018EBC9),
+ UINT32_C(0x005F3584), UINT32_C(0x003F1CBF), UINT32_C(0x000BF4C1),
+ UINT32_C(0x00164AA4), UINT32_C(0x006151FB), UINT32_C(0x00068D6E),
+ UINT32_C(0x00126E4F), UINT32_C(0x00200280), UINT32_C(0x0031B7DD),
+ UINT32_C(0x00054BB5), UINT32_C(0x003503DD), UINT32_C(0x0015FE73),
+ UINT32_C(0x00400A3B), UINT32_C(0x0018B4CB), UINT32_C(0x00269223),
+ UINT32_C(0x003BAABF), UINT32_C(0x00219923), UINT32_C(0x0000517F),
+ UINT32_C(0x0036DB7B), UINT32_C(0x001898DE)},
+ {UINT32_C(0x001B3C2F), UINT32_C(0x003100AC), UINT32_C(0x00375C4D),
+ UINT32_C(0x0047FF1C), UINT32_C(0x001554A3), UINT32_C(0x00345032),
+ UINT32_C(0x000567ED), UINT32_C(0x00602271), UINT32_C(0x00037B43),
+ UINT32_C(0x00352EA6), UINT32_C(0x00099EBC), UINT32_C(0x007107DC),
+ UINT32_C(0x00014BD9), UINT32_C(0x003BAE49), UINT32_C(0x0012E08D),
+ UINT32_C(0x006CA22B), UINT32_C(0x001DABB1), UINT32_C(0x002D516C),
+ UINT32_C(0x00270889), UINT32_C(0x002F1F40), UINT32_C(0x000B40D8),
+ UINT32_C(0x001F6C6E), UINT32_C(0x00069120)}},
+ {{UINT32_C(0x003E2CA8), UINT32_C(0x000FBDFE), UINT32_C(0x0008452C),
+ UINT32_C(0x004EBE38), UINT32_C(0x003022B7), UINT32_C(0x003A3695),
+ UINT32_C(0x0000EF8E), UINT32_C(0x003868DB), UINT32_C(0x0038AD77),
+ UINT32_C(0x00197BEF), UINT32_C(0x0035C5D1), UINT32_C(0x0056D147),
+ UINT32_C(0x00150885), UINT32_C(0x0032B7D5), UINT32_C(0x0022642D),
+ UINT32_C(0x006B1347), UINT32_C(0x00343776), UINT32_C(0x00321A28),
+ UINT32_C(0x00170446), UINT32_C(0x003DEB75), UINT32_C(0x002A4140),
+ UINT32_C(0x00029DF0), UINT32_C(0x002450E4)},
+ {UINT32_C(0x004955CA), UINT32_C(0x000C7AB0), UINT32_C(0x002D31F7),
+ UINT32_C(0x005F83A6), UINT32_C(0x002FA36D), UINT32_C(0x001F49E7),
+ UINT32_C(0x003F321C), UINT32_C(0x0011D711), UINT32_C(0x0004B439),
+ UINT32_C(0x0034F95D), UINT32_C(0x00217EE2), UINT32_C(0x0032BAFE),
+ UINT32_C(0x0006F393), UINT32_C(0x002A690E), UINT32_C(0x000FAE08),
+ UINT32_C(0x0034160E), UINT32_C(0x0038471B), UINT32_C(0x003E6453),
+ UINT32_C(0x001D2EED), UINT32_C(0x00019616), UINT32_C(0x002ECA2C),
+ UINT32_C(0x002B42A7), UINT32_C(0x001944E5)},
+ {UINT32_C(0x0070C80A), UINT32_C(0x003ADD3E), UINT32_C(0x00164515),
+ UINT32_C(0x004C3E58), UINT32_C(0x002B68C7), UINT32_C(0x0024C735),
+ UINT32_C(0x00154086), UINT32_C(0x004AF4B2), UINT32_C(0x003F79B6),
+ UINT32_C(0x000EFFA4), UINT32_C(0x002E7835), UINT32_C(0x00143F92),
+ UINT32_C(0x00139828), UINT32_C(0x002F5825), UINT32_C(0x002C6C7B),
+ UINT32_C(0x00374B07), UINT32_C(0x00260379), UINT32_C(0x0033BF91),
+ UINT32_C(0x000FB28A), UINT32_C(0x006D0F2D), UINT32_C(0x001A3C03),
+ UINT32_C(0x003DCB0D), UINT32_C(0x00042785)}},
+ {{UINT32_C(0x0032F6C1), UINT32_C(0x0025C23A), UINT32_C(0x0032EA38),
+ UINT32_C(0x00343C52), UINT32_C(0x002C5DA6), UINT32_C(0x0029130F),
+ UINT32_C(0x001DEA76), UINT32_C(0x00041B06), UINT32_C(0x0006CC8F),
+ UINT32_C(0x000C33C2), UINT32_C(0x003DE859), UINT32_C(0x0075ADE1),
+ UINT32_C(0x001F074B), UINT32_C(0x0020B431), UINT32_C(0x00089D3D),
+ UINT32_C(0x00183D45), UINT32_C(0x0010916A), UINT32_C(0x00079EAC),
+ UINT32_C(0x0004D6B9), UINT32_C(0x006DA065), UINT32_C(0x000E2053),
+ UINT32_C(0x0002B57D), UINT32_C(0x0003A141)},
+ {UINT32_C(0x0009A37F), UINT32_C(0x0035153F), UINT32_C(0x0033545C),
+ UINT32_C(0x005C4E51), UINT32_C(0x002ED0FF), UINT32_C(0x0023618F),
+ UINT32_C(0x001775AA), UINT32_C(0x005E1890), UINT32_C(0x003A6506),
+ UINT32_C(0x00383A25), UINT32_C(0x0006CB4C), UINT32_C(0x00238F29),
+ UINT32_C(0x000B58F7), UINT32_C(0x0035B0D9), UINT32_C(0x001D243C),
+ UINT32_C(0x0038459B), UINT32_C(0x0019D714), UINT32_C(0x0031ADDB),
+ UINT32_C(0x00014CD5), UINT32_C(0x00114249), UINT32_C(0x0009DCEB),
+ UINT32_C(0x00069813), UINT32_C(0x001E743D)},
+ {UINT32_C(0x00491E76), UINT32_C(0x00358978), UINT32_C(0x0032E06B),
+ UINT32_C(0x007CF380), UINT32_C(0x0021BA4C), UINT32_C(0x001B9DC8),
+ UINT32_C(0x00072C57), UINT32_C(0x007D4A61), UINT32_C(0x002A03EB),
+ UINT32_C(0x002A8A04), UINT32_C(0x0036F1B1), UINT32_C(0x00167D87),
+ UINT32_C(0x00037D30), UINT32_C(0x00300EB9), UINT32_C(0x0009A70D),
+ UINT32_C(0x002915B7), UINT32_C(0x000C36DA), UINT32_C(0x0000FD77),
+ UINT32_C(0x003CA0D6), UINT32_C(0x00599232), UINT32_C(0x000906BD),
+ UINT32_C(0x003DEACB), UINT32_C(0x00181880)}},
+ {{UINT32_C(0x006BF556), UINT32_C(0x000208D1), UINT32_C(0x0037FE71),
+ UINT32_C(0x0064B85C), UINT32_C(0x0031878C), UINT32_C(0x00333FB4),
+ UINT32_C(0x0007D710), UINT32_C(0x004670D1), UINT32_C(0x0023984F),
+ UINT32_C(0x0005C689), UINT32_C(0x00255366), UINT32_C(0x0044C87B),
+ UINT32_C(0x001D338E), UINT32_C(0x003044AD), UINT32_C(0x002665F4),
+ UINT32_C(0x0040EB4D), UINT32_C(0x001E02E4), UINT32_C(0x0008C27F),
+ UINT32_C(0x000F8571), UINT32_C(0x006BD63F), UINT32_C(0x000A6DFC),
+ UINT32_C(0x0013304C), UINT32_C(0x002FDD59)},
+ {UINT32_C(0x005724E2), UINT32_C(0x00218196), UINT32_C(0x00150782),
+ UINT32_C(0x0056A299), UINT32_C(0x00236FDE), UINT32_C(0x0032ED2C),
+ UINT32_C(0x0039E8A0), UINT32_C(0x00679EE7), UINT32_C(0x0014DA74),
+ UINT32_C(0x0004A8BC), UINT32_C(0x00266E00), UINT32_C(0x0041E7FF),
+ UINT32_C(0x002073C7), UINT32_C(0x00344E9F), UINT32_C(0x0021EAD2),
+ UINT32_C(0x00425BB8), UINT32_C(0x002F122A), UINT32_C(0x002C55D5),
+ UINT32_C(0x0008B0D6), UINT32_C(0x00666EDC), UINT32_C(0x0021D2D7),
+ UINT32_C(0x002421BB), UINT32_C(0x00131ACD)},
+ {UINT32_C(0x00737055), UINT32_C(0x001D6FE9), UINT32_C(0x003EFC08),
+ UINT32_C(0x00306FA4), UINT32_C(0x002508B1), UINT32_C(0x002780B8),
+ UINT32_C(0x00329BA8), UINT32_C(0x00206820), UINT32_C(0x003B15C5),
+ UINT32_C(0x00317300), UINT32_C(0x000FD39A), UINT32_C(0x0049D634),
+ UINT32_C(0x000B31B5), UINT32_C(0x0019A81C), UINT32_C(0x00271B13),
+ UINT32_C(0x0056932D), UINT32_C(0x00387035), UINT32_C(0x002A79F2),
+ UINT32_C(0x0028ECD2), UINT32_C(0x000E84D7), UINT32_C(0x00232B80),
+ UINT32_C(0x002790F5), UINT32_C(0x0026AAC9)}},
+ {{UINT32_C(0x003FA216), UINT32_C(0x002B5E41), UINT32_C(0x0011F507),
+ UINT32_C(0x004798E8), UINT32_C(0x001F1C32), UINT32_C(0x0004D796),
+ UINT32_C(0x00077B9E), UINT32_C(0x002381F2), UINT32_C(0x00042960),
+ UINT32_C(0x003DC0DE), UINT32_C(0x001F19ED), UINT32_C(0x0008D2B6),
+ UINT32_C(0x00218E79), UINT32_C(0x00191D1E), UINT32_C(0x0038BEC0),
+ UINT32_C(0x002BA744), UINT32_C(0x001106D5), UINT32_C(0x002908D7),
+ UINT32_C(0x0018D0A6), UINT32_C(0x00643D59), UINT32_C(0x00251CA2),
+ UINT32_C(0x00025593), UINT32_C(0x002EABF3)},
+ {UINT32_C(0x00438D3B), UINT32_C(0x002C35AD), UINT32_C(0x00121865),
+ UINT32_C(0x002217B5), UINT32_C(0x003F2262), UINT32_C(0x0002C5A2),
+ UINT32_C(0x000B51E2), UINT32_C(0x007F949C), UINT32_C(0x001BC59A),
+ UINT32_C(0x002729B2), UINT32_C(0x0025BD2D), UINT32_C(0x0063FBB0),
+ UINT32_C(0x0013132E), UINT32_C(0x0016DC57), UINT32_C(0x0017A6E3),
+ UINT32_C(0x002FCDA3), UINT32_C(0x00321610), UINT32_C(0x0032D4AA),
+ UINT32_C(0x001F56D4), UINT32_C(0x004B46C8), UINT32_C(0x0026FC03),
+ UINT32_C(0x002B891B), UINT32_C(0x001EEC11)},
+ {UINT32_C(0x0004BF5B), UINT32_C(0x000A6EB9), UINT32_C(0x00137543),
+ UINT32_C(0x003EA024), UINT32_C(0x002E1BE2), UINT32_C(0x00294A40),
+ UINT32_C(0x00175374), UINT32_C(0x003418B2), UINT32_C(0x00092934),
+ UINT32_C(0x000559DA), UINT32_C(0x000D4705), UINT32_C(0x00023080),
+ UINT32_C(0x002832CC), UINT32_C(0x0020B5FC), UINT32_C(0x000BF4A7),
+ UINT32_C(0x004B3473), UINT32_C(0x0003A84F), UINT32_C(0x002A3FAE),
+ UINT32_C(0x00045DB0), UINT32_C(0x007AEDBF), UINT32_C(0x001266FC),
+ UINT32_C(0x0002E6C3), UINT32_C(0x000380CF)}},
+ {{UINT32_C(0x0029F673), UINT32_C(0x0011C696), UINT32_C(0x00032672),
+ UINT32_C(0x0054238E), UINT32_C(0x00370626), UINT32_C(0x00339C4E),
+ UINT32_C(0x0031300A), UINT32_C(0x000B2D5B), UINT32_C(0x00206C4D),
+ UINT32_C(0x000791D2), UINT32_C(0x002DB03D), UINT32_C(0x0037C66B),
+ UINT32_C(0x002780B2), UINT32_C(0x002E5FE3), UINT32_C(0x002B5B3A),
+ UINT32_C(0x00240A75), UINT32_C(0x00239AF3), UINT32_C(0x0007A194),
+ UINT32_C(0x0035BC60), UINT32_C(0x004FBA17), UINT32_C(0x003826E1),
+ UINT32_C(0x00181F8A), UINT32_C(0x00042F82)},
+ {UINT32_C(0x00459AFB), UINT32_C(0x00087F76), UINT32_C(0x0002C645),
+ UINT32_C(0x004C7CE4), UINT32_C(0x00142200), UINT32_C(0x00366037),
+ UINT32_C(0x001EF906), UINT32_C(0x0057C3A8), UINT32_C(0x001A8791),
+ UINT32_C(0x00302563), UINT32_C(0x002034EF), UINT32_C(0x001A0222),
+ UINT32_C(0x003375A9), UINT32_C(0x0032C4BC), UINT32_C(0x0008F4DC),
+ UINT32_C(0x00581A30), UINT32_C(0x000C394E), UINT32_C(0x000B7FEE),
+ UINT32_C(0x003C5662), UINT32_C(0x0034BB53), UINT32_C(0x0005B495),
+ UINT32_C(0x00018243), UINT32_C(0x0037995C)},
+ {UINT32_C(0x004906BD), UINT32_C(0x0032B8FA), UINT32_C(0x00372E94),
+ UINT32_C(0x00613088), UINT32_C(0x00017311), UINT32_C(0x003528B5),
+ UINT32_C(0x001EE0AC), UINT32_C(0x00686616), UINT32_C(0x0033F1FD),
+ UINT32_C(0x0025E7C3), UINT32_C(0x003DFBB8), UINT32_C(0x001A5DF7),
+ UINT32_C(0x00023B1E), UINT32_C(0x00015AAC), UINT32_C(0x0025054D),
+ UINT32_C(0x001704E4), UINT32_C(0x001BAE37), UINT32_C(0x001A384F),
+ UINT32_C(0x003606FC), UINT32_C(0x00740F1B), UINT32_C(0x002C8C7D),
+ UINT32_C(0x0024600B), UINT32_C(0x003D5C73)}},
+ {{UINT32_C(0x001784B4), UINT32_C(0x002CEF58), UINT32_C(0x00372A6C),
+ UINT32_C(0x00118258), UINT32_C(0x002D6ED8), UINT32_C(0x002DD567),
+ UINT32_C(0x00106EE7), UINT32_C(0x001C074F), UINT32_C(0x001A9185),
+ UINT32_C(0x0029B246), UINT32_C(0x00375A41), UINT32_C(0x007DF964),
+ UINT32_C(0x0017B200), UINT32_C(0x00194A5C), UINT32_C(0x0013B979),
+ UINT32_C(0x0003EA48), UINT32_C(0x00295585), UINT32_C(0x001B2FAF),
+ UINT32_C(0x001F6D5F), UINT32_C(0x007D4491), UINT32_C(0x002AA139),
+ UINT32_C(0x002032CA), UINT32_C(0x0033AB4D)},
+ {UINT32_C(0x00326E12), UINT32_C(0x00073B02), UINT32_C(0x0009134C),
+ UINT32_C(0x00719A24), UINT32_C(0x0010FFDA), UINT32_C(0x0017F597),
+ UINT32_C(0x00023DEA), UINT32_C(0x00565B05), UINT32_C(0x000CF206),
+ UINT32_C(0x00316819), UINT32_C(0x001759BE), UINT32_C(0x003B59E1),
+ UINT32_C(0x001A7716), UINT32_C(0x002F2CB8), UINT32_C(0x00022C88),
+ UINT32_C(0x006E200A), UINT32_C(0x0034B39A), UINT32_C(0x0004C2A3),
+ UINT32_C(0x000EFF2B), UINT32_C(0x007771C0), UINT32_C(0x0038736A),
+ UINT32_C(0x003EA343), UINT32_C(0x002473CB)},
+ {UINT32_C(0x007E0E25), UINT32_C(0x003FF836), UINT32_C(0x0029E179),
+ UINT32_C(0x0059DA0B), UINT32_C(0x0038BD07), UINT32_C(0x00397717),
+ UINT32_C(0x0035EEC3), UINT32_C(0x001451BD), UINT32_C(0x000C4CC2),
+ UINT32_C(0x0011AD20), UINT32_C(0x0024798D), UINT32_C(0x001EA1F7),
+ UINT32_C(0x0017A035), UINT32_C(0x00174E1A), UINT32_C(0x000614CC),
+ UINT32_C(0x00744E00), UINT32_C(0x00071F7A), UINT32_C(0x003F23AE),
+ UINT32_C(0x001D8DCA), UINT32_C(0x000674F7), UINT32_C(0x0003AF2F),
+ UINT32_C(0x0028BCAA), UINT32_C(0x0025E559)}},
+ {{UINT32_C(0x0011497E), UINT32_C(0x000ECE29), UINT32_C(0x002A4EA2),
+ UINT32_C(0x001C0932), UINT32_C(0x00086320), UINT32_C(0x0001D745),
+ UINT32_C(0x000E7077), UINT32_C(0x002982BA), UINT32_C(0x0006C3CC),
+ UINT32_C(0x001A61D3), UINT32_C(0x0018D012), UINT32_C(0x003FD5A7),
+ UINT32_C(0x00271A87), UINT32_C(0x003F3CEE), UINT32_C(0x00381814),
+ UINT32_C(0x006264B1), UINT32_C(0x001D51C9), UINT32_C(0x0024F3F8),
+ UINT32_C(0x0032133E), UINT32_C(0x0070B6C3), UINT32_C(0x0027EB3B),
+ UINT32_C(0x00170DF3), UINT32_C(0x003FDF92)},
+ {UINT32_C(0x0052D458), UINT32_C(0x002FDA22), UINT32_C(0x00040A2E),
+ UINT32_C(0x006FA7D9), UINT32_C(0x000F1A9C), UINT32_C(0x000B70A5),
+ UINT32_C(0x001666C6), UINT32_C(0x00150503), UINT32_C(0x002A0651),
+ UINT32_C(0x00019D2E), UINT32_C(0x002CB70B), UINT32_C(0x0022C910),
+ UINT32_C(0x002EE4CD), UINT32_C(0x0008D506), UINT32_C(0x00014281),
+ UINT32_C(0x00358B69), UINT32_C(0x002DA7BF), UINT32_C(0x00124768),
+ UINT32_C(0x0020EC13), UINT32_C(0x00550441), UINT32_C(0x001C17FE),
+ UINT32_C(0x00213A61), UINT32_C(0x001451A1)},
+ {UINT32_C(0x002A7679), UINT32_C(0x0015D4B5), UINT32_C(0x000CFCC1),
+ UINT32_C(0x003FF845), UINT32_C(0x001C7A7D), UINT32_C(0x001AE5DD),
+ UINT32_C(0x003EAB09), UINT32_C(0x003FDF89), UINT32_C(0x0035A00B),
+ UINT32_C(0x0037D9FF), UINT32_C(0x00275895), UINT32_C(0x0035077F),
+ UINT32_C(0x000EBCA0), UINT32_C(0x002DB718), UINT32_C(0x0007E563),
+ UINT32_C(0x007217CE), UINT32_C(0x000CFEC9), UINT32_C(0x0039C0C7),
+ UINT32_C(0x000C8457), UINT32_C(0x000D6DEE), UINT32_C(0x00095556),
+ UINT32_C(0x002C0A1B), UINT32_C(0x000A5B02)}},
+ {{UINT32_C(0x0058676E), UINT32_C(0x003BB967), UINT32_C(0x002F67E8),
+ UINT32_C(0x0014611B), UINT32_C(0x0002CA68), UINT32_C(0x00360A23),
+ UINT32_C(0x003D4703), UINT32_C(0x002FFB09), UINT32_C(0x000B0650),
+ UINT32_C(0x00350E32), UINT32_C(0x0020BBE2), UINT32_C(0x007EB614),
+ UINT32_C(0x0013CBB5), UINT32_C(0x003BBDBC), UINT32_C(0x0026C9BB),
+ UINT32_C(0x001E256E), UINT32_C(0x000E735E), UINT32_C(0x002C3CC9),
+ UINT32_C(0x00010C97), UINT32_C(0x000C12B4), UINT32_C(0x00028C55),
+ UINT32_C(0x0014841F), UINT32_C(0x00143C15)},
+ {UINT32_C(0x0065EB1A), UINT32_C(0x00025B10), UINT32_C(0x001CD5C4),
+ UINT32_C(0x00746872), UINT32_C(0x00054288), UINT32_C(0x001B2B2E),
+ UINT32_C(0x001F2239), UINT32_C(0x00518E6E), UINT32_C(0x002123BD),
+ UINT32_C(0x0033748A), UINT32_C(0x00174C52), UINT32_C(0x00258C02),
+ UINT32_C(0x0018FF52), UINT32_C(0x0007C3F2), UINT32_C(0x0010EC30),
+ UINT32_C(0x002A8FB5), UINT32_C(0x00338507), UINT32_C(0x003EA284),
+ UINT32_C(0x001E079E), UINT32_C(0x0070C9DD), UINT32_C(0x0023B5FB),
+ UINT32_C(0x002637F4), UINT32_C(0x00141F80)},
+ {UINT32_C(0x00656339), UINT32_C(0x00123AB6), UINT32_C(0x003B759B),
+ UINT32_C(0x0050CB99), UINT32_C(0x000D243E), UINT32_C(0x0022A047),
+ UINT32_C(0x0030735F), UINT32_C(0x0004A175), UINT32_C(0x000B2BA6),
+ UINT32_C(0x000D31CE), UINT32_C(0x00324F8D), UINT32_C(0x004BB229),
+ UINT32_C(0x001E5D6F), UINT32_C(0x0002772E), UINT32_C(0x00296DC5),
+ UINT32_C(0x00577AE8), UINT32_C(0x00086249), UINT32_C(0x002005B9),
+ UINT32_C(0x0032CA2B), UINT32_C(0x0018E5F0), UINT32_C(0x0010AC8A),
+ UINT32_C(0x00261F94), UINT32_C(0x00076C3E)}},
+ {{UINT32_C(0x000DB1A4), UINT32_C(0x000C1216), UINT32_C(0x0020E3CE),
+ UINT32_C(0x00342538), UINT32_C(0x0025AD2D), UINT32_C(0x003C968A),
+ UINT32_C(0x000B2AC4), UINT32_C(0x003874BE), UINT32_C(0x00108EBE),
+ UINT32_C(0x00089221), UINT32_C(0x001A4E5D), UINT32_C(0x00000E6B),
+ UINT32_C(0x003A62C9), UINT32_C(0x000CAB40), UINT32_C(0x0039432F),
+ UINT32_C(0x006EEBB0), UINT32_C(0x003FD49F), UINT32_C(0x000A4915),
+ UINT32_C(0x003E803E), UINT32_C(0x000D14CB), UINT32_C(0x00147DBE),
+ UINT32_C(0x00273CC9), UINT32_C(0x0021CEAF)},
+ {UINT32_C(0x0061AF93), UINT32_C(0x0001A305), UINT32_C(0x0013BAAE),
+ UINT32_C(0x007784E4), UINT32_C(0x000D254E), UINT32_C(0x0019835D),
+ UINT32_C(0x00242371), UINT32_C(0x000846D1), UINT32_C(0x0029D19E),
+ UINT32_C(0x000188DF), UINT32_C(0x000340FC), UINT32_C(0x007B3565),
+ UINT32_C(0x00179159), UINT32_C(0x0000E014), UINT32_C(0x002BBC15),
+ UINT32_C(0x006E03F7), UINT32_C(0x00332866), UINT32_C(0x003752B2),
+ UINT32_C(0x0036128E), UINT32_C(0x004EEEA5), UINT32_C(0x0018D656),
+ UINT32_C(0x0021FC26), UINT32_C(0x0031850E)},
+ {UINT32_C(0x00501FD0), UINT32_C(0x000AF537), UINT32_C(0x0038C7E6),
+ UINT32_C(0x0043735E), UINT32_C(0x00110069), UINT32_C(0x003F2C22),
+ UINT32_C(0x0017CF5D), UINT32_C(0x002FD510), UINT32_C(0x0014235B),
+ UINT32_C(0x0004DD30), UINT32_C(0x003C65B4), UINT32_C(0x000F1032),
+ UINT32_C(0x00389A5B), UINT32_C(0x00156157), UINT32_C(0x0011C8DC),
+ UINT32_C(0x00500C48), UINT32_C(0x00119681), UINT32_C(0x00193DFD),
+ UINT32_C(0x002E9C52), UINT32_C(0x007DD9BC), UINT32_C(0x003C9B4A),
+ UINT32_C(0x003F1598), UINT32_C(0x0008392D)}},
+ {{UINT32_C(0x007DA6AE), UINT32_C(0x0026680F), UINT32_C(0x0001CBC2),
+ UINT32_C(0x00700F21), UINT32_C(0x002BA64B), UINT32_C(0x0005ACA1),
+ UINT32_C(0x000DA060), UINT32_C(0x006C880D), UINT32_C(0x00280F5B),
+ UINT32_C(0x001CD097), UINT32_C(0x003BBCFE), UINT32_C(0x002CAEAF),
+ UINT32_C(0x001B96AF), UINT32_C(0x002F9409), UINT32_C(0x00218817),
+ UINT32_C(0x002929AF), UINT32_C(0x0035CDAF), UINT32_C(0x001766D6),
+ UINT32_C(0x002FE847), UINT32_C(0x0003656A), UINT32_C(0x00047989),
+ UINT32_C(0x00351086), UINT32_C(0x002D5D88)},
+ {UINT32_C(0x003FF7B2), UINT32_C(0x00283A9C), UINT32_C(0x0020E8A8),
+ UINT32_C(0x003A0789), UINT32_C(0x001BFDE1), UINT32_C(0x000D525F),
+ UINT32_C(0x0035C861), UINT32_C(0x0060CAD2), UINT32_C(0x002ACA77),
+ UINT32_C(0x0015E571), UINT32_C(0x00182DD8), UINT32_C(0x004E3F9F),
+ UINT32_C(0x00157225), UINT32_C(0x000ABD0E), UINT32_C(0x002C1C74),
+ UINT32_C(0x006799C9), UINT32_C(0x001084CD), UINT32_C(0x002FCC74),
+ UINT32_C(0x001104CF), UINT32_C(0x0063FB40), UINT32_C(0x000B1B48),
+ UINT32_C(0x002FF705), UINT32_C(0x0017DD74)},
+ {UINT32_C(0x00758DFD), UINT32_C(0x00259101), UINT32_C(0x002F9E96),
+ UINT32_C(0x00127A02), UINT32_C(0x003560BA), UINT32_C(0x00174012),
+ UINT32_C(0x00080553), UINT32_C(0x00084ADA), UINT32_C(0x0030B0B3),
+ UINT32_C(0x003CCA10), UINT32_C(0x002A7BF0), UINT32_C(0x0066B5D8),
+ UINT32_C(0x001775C4), UINT32_C(0x0025FB21), UINT32_C(0x00084012),
+ UINT32_C(0x0023425E), UINT32_C(0x00160D8A), UINT32_C(0x0014DE6A),
+ UINT32_C(0x000D84B1), UINT32_C(0x0000C090), UINT32_C(0x001CEB65),
+ UINT32_C(0x00304B91), UINT32_C(0x003C0931)}},
+ {{UINT32_C(0x007B8F38), UINT32_C(0x003E8D2B), UINT32_C(0x0014249B),
+ UINT32_C(0x0032E6FD), UINT32_C(0x00019922), UINT32_C(0x00288D0E),
+ UINT32_C(0x0030B952), UINT32_C(0x0008C34B), UINT32_C(0x00191997),
+ UINT32_C(0x002F5C5B), UINT32_C(0x003ED4DE), UINT32_C(0x002D0DBE),
+ UINT32_C(0x001C4CC0), UINT32_C(0x003799BB), UINT32_C(0x0007EED8),
+ UINT32_C(0x007C90CE), UINT32_C(0x002E0A50), UINT32_C(0x00131AF1),
+ UINT32_C(0x0028FD81), UINT32_C(0x003D7BFD), UINT32_C(0x0020C820),
+ UINT32_C(0x001E4117), UINT32_C(0x003233FA)},
+ {UINT32_C(0x006AD0B4), UINT32_C(0x0024A7CA), UINT32_C(0x00224A76),
+ UINT32_C(0x00201B36), UINT32_C(0x00089BF6), UINT32_C(0x00185943),
+ UINT32_C(0x000EE3FB), UINT32_C(0x0062E219), UINT32_C(0x00304742),
+ UINT32_C(0x000ECFDC), UINT32_C(0x0002B3E9), UINT32_C(0x00278A41),
+ UINT32_C(0x000B4C45), UINT32_C(0x003DAF2F), UINT32_C(0x0016786A),
+ UINT32_C(0x00326096), UINT32_C(0x0004F58A), UINT32_C(0x003D414F),
+ UINT32_C(0x002571F1), UINT32_C(0x000C5218), UINT32_C(0x000BC00A),
+ UINT32_C(0x001558DD), UINT32_C(0x000E4574)},
+ {UINT32_C(0x00214F76), UINT32_C(0x00344E7B), UINT32_C(0x000D0A1C),
+ UINT32_C(0x00073F8A), UINT32_C(0x0031A1E8), UINT32_C(0x0024F24B),
+ UINT32_C(0x002EB5CC), UINT32_C(0x00423B58), UINT32_C(0x0005DF88),
+ UINT32_C(0x000A882D), UINT32_C(0x001F2F21), UINT32_C(0x001DC1AC),
+ UINT32_C(0x000BF263), UINT32_C(0x000FC01F), UINT32_C(0x0013D53A),
+ UINT32_C(0x00689488), UINT32_C(0x0039A08C), UINT32_C(0x00026357),
+ UINT32_C(0x00354D80), UINT32_C(0x00649669), UINT32_C(0x0006D559),
+ UINT32_C(0x0024D4A8), UINT32_C(0x001B1D7D)}},
+ {{UINT32_C(0x007539AC), UINT32_C(0x001AF584), UINT32_C(0x003849E3),
+ UINT32_C(0x00604878), UINT32_C(0x0028932B), UINT32_C(0x00336A8D),
+ UINT32_C(0x002DC15F), UINT32_C(0x004EE915), UINT32_C(0x003E8891),
+ UINT32_C(0x002C26A5), UINT32_C(0x002353EF), UINT32_C(0x00690ACF),
+ UINT32_C(0x000B284B), UINT32_C(0x0004CD7A), UINT32_C(0x00266953),
+ UINT32_C(0x0038EC31), UINT32_C(0x0015E302), UINT32_C(0x000080A9),
+ UINT32_C(0x0025D49A), UINT32_C(0x00318334), UINT32_C(0x003B81A5),
+ UINT32_C(0x0038759D), UINT32_C(0x000EE138)},
+ {UINT32_C(0x006652DC), UINT32_C(0x0030CF99), UINT32_C(0x00286EAE),
+ UINT32_C(0x007E732A), UINT32_C(0x001BB04F), UINT32_C(0x001A7E81),
+ UINT32_C(0x00395CBD), UINT32_C(0x0012A720), UINT32_C(0x00143A75),
+ UINT32_C(0x000C4F0A), UINT32_C(0x0002959B), UINT32_C(0x005134E3),
+ UINT32_C(0x0029CD2F), UINT32_C(0x002E7B51), UINT32_C(0x001A8B65),
+ UINT32_C(0x0067BB4D), UINT32_C(0x00109B63), UINT32_C(0x000FF6AF),
+ UINT32_C(0x000F5619), UINT32_C(0x001FE508), UINT32_C(0x000593C7),
+ UINT32_C(0x002A4F5C), UINT32_C(0x0035E60F)},
+ {UINT32_C(0x0041115B), UINT32_C(0x000C4566), UINT32_C(0x002DC574),
+ UINT32_C(0x006EAB28), UINT32_C(0x003017E2), UINT32_C(0x00275A4A),
+ UINT32_C(0x002C84E6), UINT32_C(0x0003FFFE), UINT32_C(0x0012331A),
+ UINT32_C(0x001B2EF0), UINT32_C(0x000A57A7), UINT32_C(0x007EA3E1),
+ UINT32_C(0x0001A805), UINT32_C(0x00064502), UINT32_C(0x003486D1),
+ UINT32_C(0x002A0735), UINT32_C(0x001F1246), UINT32_C(0x0013E4C1),
+ UINT32_C(0x000D6176), UINT32_C(0x005D2F66), UINT32_C(0x000B6919),
+ UINT32_C(0x00222C38), UINT32_C(0x002247FC)}},
+ {{UINT32_C(0x007694F0), UINT32_C(0x0033BF57), UINT32_C(0x002D919E),
+ UINT32_C(0x00464556), UINT32_C(0x003240BB), UINT32_C(0x000A81C8),
+ UINT32_C(0x003FC6AD), UINT32_C(0x004C8BC2), UINT32_C(0x0037597A),
+ UINT32_C(0x000F3632), UINT32_C(0x003DEE9C), UINT32_C(0x007AF7FC),
+ UINT32_C(0x0002B2A3), UINT32_C(0x0001FEF8), UINT32_C(0x00266BFE),
+ UINT32_C(0x005A4DF9), UINT32_C(0x001BC528), UINT32_C(0x0038FCA9),
+ UINT32_C(0x0021AB8E), UINT32_C(0x001B7A68), UINT32_C(0x00255401),
+ UINT32_C(0x0022B95A), UINT32_C(0x001CECB8)},
+ {UINT32_C(0x00202C81), UINT32_C(0x00305B5D), UINT32_C(0x000F8353),
+ UINT32_C(0x0024BDD3), UINT32_C(0x0034CBF6), UINT32_C(0x001FC489),
+ UINT32_C(0x001C1EF2), UINT32_C(0x00378DD8), UINT32_C(0x00341D4E),
+ UINT32_C(0x00351CA3), UINT32_C(0x001FF171), UINT32_C(0x003F1946),
+ UINT32_C(0x0002CF94), UINT32_C(0x00389924), UINT32_C(0x003E5A8B),
+ UINT32_C(0x001BEA9D), UINT32_C(0x001E60D0), UINT32_C(0x00305EF9),
+ UINT32_C(0x0029219F), UINT32_C(0x00301DAA), UINT32_C(0x0000D311),
+ UINT32_C(0x0033EC94), UINT32_C(0x0003A683)},
+ {UINT32_C(0x0026A83D), UINT32_C(0x0021AD7B), UINT32_C(0x001694B6),
+ UINT32_C(0x003BBDC2), UINT32_C(0x0016E0B7), UINT32_C(0x0009525B),
+ UINT32_C(0x003B24F8), UINT32_C(0x007C4237), UINT32_C(0x000E1CB0),
+ UINT32_C(0x0013611E), UINT32_C(0x001E0CF1), UINT32_C(0x004B8F7B),
+ UINT32_C(0x0012520D), UINT32_C(0x001CBF78), UINT32_C(0x00153E58),
+ UINT32_C(0x0072DA9E), UINT32_C(0x0009BF23), UINT32_C(0x00390546),
+ UINT32_C(0x001EC704), UINT32_C(0x0062F82E), UINT32_C(0x001379EA),
+ UINT32_C(0x00374CEF), UINT32_C(0x0000E810)}},
+ {{UINT32_C(0x00672D01), UINT32_C(0x00181C43), UINT32_C(0x000F03E5),
+ UINT32_C(0x00114EB1), UINT32_C(0x00030AAB), UINT32_C(0x000E4929),
+ UINT32_C(0x003F4FF1), UINT32_C(0x005C1816), UINT32_C(0x00234EF2),
+ UINT32_C(0x0001CECB), UINT32_C(0x0000E003), UINT32_C(0x000FB7C6),
+ UINT32_C(0x0021F686), UINT32_C(0x00397348), UINT32_C(0x000668D5),
+ UINT32_C(0x000969FD), UINT32_C(0x002D58A1), UINT32_C(0x0001F6FF),
+ UINT32_C(0x002B509F), UINT32_C(0x005BF575), UINT32_C(0x001C7A72),
+ UINT32_C(0x003168A3), UINT32_C(0x00058841)},
+ {UINT32_C(0x002E6F93), UINT32_C(0x0003FD4D), UINT32_C(0x00070367),
+ UINT32_C(0x007E2810), UINT32_C(0x0032A669), UINT32_C(0x003753AA),
+ UINT32_C(0x00059E13), UINT32_C(0x005BE0BB), UINT32_C(0x002DAD0A),
+ UINT32_C(0x0017009D), UINT32_C(0x002A29E1), UINT32_C(0x0010EAFB),
+ UINT32_C(0x00371B7B), UINT32_C(0x00384FE2), UINT32_C(0x00074C4C),
+ UINT32_C(0x005AF2F6), UINT32_C(0x00268D35), UINT32_C(0x0012D4D3),
+ UINT32_C(0x001988E8), UINT32_C(0x00637384), UINT32_C(0x003CA7EB),
+ UINT32_C(0x0012C38C), UINT32_C(0x00235944)},
+ {UINT32_C(0x007FE4F7), UINT32_C(0x00128547), UINT32_C(0x003EE942),
+ UINT32_C(0x0063B61D), UINT32_C(0x00254E4C), UINT32_C(0x0006B269),
+ UINT32_C(0x002778BD), UINT32_C(0x003C91A8), UINT32_C(0x0038A282),
+ UINT32_C(0x0010BFE5), UINT32_C(0x002E5C21), UINT32_C(0x000205D0),
+ UINT32_C(0x00150853), UINT32_C(0x002376FF), UINT32_C(0x0006E95D),
+ UINT32_C(0x004FCAED), UINT32_C(0x0014D842), UINT32_C(0x00174695),
+ UINT32_C(0x00192588), UINT32_C(0x0004407A), UINT32_C(0x00169AA6),
+ UINT32_C(0x0038F9B9), UINT32_C(0x000DD818)}},
+ {{UINT32_C(0x007ED415), UINT32_C(0x002AEE66), UINT32_C(0x002FE621),
+ UINT32_C(0x0019EC18), UINT32_C(0x001AC45A), UINT32_C(0x002C1BD9),
+ UINT32_C(0x0039EFF2), UINT32_C(0x0053C8E8), UINT32_C(0x0035D12E),
+ UINT32_C(0x000F4E0A), UINT32_C(0x0011182C), UINT32_C(0x00481DC1),
+ UINT32_C(0x00069045), UINT32_C(0x0028AC00), UINT32_C(0x00239B1A),
+ UINT32_C(0x0012C316), UINT32_C(0x001DFEA0), UINT32_C(0x003B985D),
+ UINT32_C(0x000DB2FE), UINT32_C(0x004F72CA), UINT32_C(0x0034C923),
+ UINT32_C(0x001A2093), UINT32_C(0x002B9C3E)},
+ {UINT32_C(0x006E6357), UINT32_C(0x002A5A2B), UINT32_C(0x001B005C),
+ UINT32_C(0x00349183), UINT32_C(0x00374B6E), UINT32_C(0x0006A56D),
+ UINT32_C(0x0005A032), UINT32_C(0x00159BD4), UINT32_C(0x003F8A72),
+ UINT32_C(0x0006E1D8), UINT32_C(0x0018F53A), UINT32_C(0x0034F1F1),
+ UINT32_C(0x003729F4), UINT32_C(0x001B24AB), UINT32_C(0x001CC0C1),
+ UINT32_C(0x001EF566), UINT32_C(0x002B89C8), UINT32_C(0x0002F08C),
+ UINT32_C(0x003199AF), UINT32_C(0x001C32F5), UINT32_C(0x00194755),
+ UINT32_C(0x0005E212), UINT32_C(0x000E74FA)},
+ {UINT32_C(0x0075610F), UINT32_C(0x001C5B4F), UINT32_C(0x0031545E),
+ UINT32_C(0x005A64BD), UINT32_C(0x00288ECD), UINT32_C(0x00003455),
+ UINT32_C(0x003E4D6B), UINT32_C(0x001C3B47), UINT32_C(0x00107A21),
+ UINT32_C(0x000E6BE9), UINT32_C(0x001C454B), UINT32_C(0x002BE715),
+ UINT32_C(0x0013B171), UINT32_C(0x000D5966), UINT32_C(0x0017248A),
+ UINT32_C(0x006610DA), UINT32_C(0x000D95A9), UINT32_C(0x002DAD62),
+ UINT32_C(0x003B2B47), UINT32_C(0x00483940), UINT32_C(0x00214E89),
+ UINT32_C(0x002E30EF), UINT32_C(0x001A8A7A)}},
+ },
+ {
+ {{UINT32_C(0x005710C2), UINT32_C(0x001C5AC3), UINT32_C(0x0032A560),
+ UINT32_C(0x0008892C), UINT32_C(0x002827E3), UINT32_C(0x0034491A),
+ UINT32_C(0x000CBDDB), UINT32_C(0x001226BC), UINT32_C(0x003DC095),
+ UINT32_C(0x003DBF5D), UINT32_C(0x00207C8F), UINT32_C(0x0003AEE4),
+ UINT32_C(0x00241676), UINT32_C(0x0019F64F), UINT32_C(0x0003A54C),
+ UINT32_C(0x007CCE36), UINT32_C(0x00229653), UINT32_C(0x001AD488),
+ UINT32_C(0x002FF51A), UINT32_C(0x003BAD16), UINT32_C(0x00269362),
+ UINT32_C(0x0005CFD4), UINT32_C(0x002B0036)},
+ {UINT32_C(0x001D5B16), UINT32_C(0x0037F93D), UINT32_C(0x0011BE70),
+ UINT32_C(0x00010F69), UINT32_C(0x000FD6A2), UINT32_C(0x00198F6D),
+ UINT32_C(0x00306746), UINT32_C(0x00019354), UINT32_C(0x0005D19C),
+ UINT32_C(0x002A4081), UINT32_C(0x002187BF), UINT32_C(0x0037CD1C),
+ UINT32_C(0x000F42FE), UINT32_C(0x00384FBB), UINT32_C(0x003F74B7),
+ UINT32_C(0x002CB87D), UINT32_C(0x002FA3D2), UINT32_C(0x003B9CBD),
+ UINT32_C(0x0011ACE0), UINT32_C(0x004F2A0F), UINT32_C(0x0010CDFE),
+ UINT32_C(0x0037DC56), UINT32_C(0x001CA343)},
+ {UINT32_C(0x002E9F4B), UINT32_C(0x0017B4E0), UINT32_C(0x00311C99),
+ UINT32_C(0x0042E4B2), UINT32_C(0x00253B3C), UINT32_C(0x00056B7F),
+ UINT32_C(0x00338DE4), UINT32_C(0x002BD82C), UINT32_C(0x00321B8D),
+ UINT32_C(0x0038A72F), UINT32_C(0x0008F3D8), UINT32_C(0x001567CC),
+ UINT32_C(0x0026AD64), UINT32_C(0x0020C5AF), UINT32_C(0x000CCD37),
+ UINT32_C(0x00590CBB), UINT32_C(0x00313270), UINT32_C(0x003C5BA6),
+ UINT32_C(0x00368F2D), UINT32_C(0x003060DD), UINT32_C(0x0036F8BC),
+ UINT32_C(0x000F2893), UINT32_C(0x00334A0C)}},
+ {{UINT32_C(0x000DE443), UINT32_C(0x0032A8C8), UINT32_C(0x003EE1EE),
+ UINT32_C(0x002FB8DA), UINT32_C(0x0001EC25), UINT32_C(0x001F2379),
+ UINT32_C(0x002C120C), UINT32_C(0x00422DB7), UINT32_C(0x003AA20D),
+ UINT32_C(0x00036834), UINT32_C(0x000B6FAB), UINT32_C(0x00579A73),
+ UINT32_C(0x002C546A), UINT32_C(0x003CFCBB), UINT32_C(0x0015CCE3),
+ UINT32_C(0x001DA981), UINT32_C(0x001D2DEC), UINT32_C(0x00155C8F),
+ UINT32_C(0x0032C6DE), UINT32_C(0x001BBCC6), UINT32_C(0x00332AB7),
+ UINT32_C(0x00221975), UINT32_C(0x0015380A)},
+ {UINT32_C(0x0079F763), UINT32_C(0x00086F41), UINT32_C(0x0027B078),
+ UINT32_C(0x0072AE3A), UINT32_C(0x003377BB), UINT32_C(0x003C40F7),
+ UINT32_C(0x0018F8C7), UINT32_C(0x00559BA1), UINT32_C(0x00387EE1),
+ UINT32_C(0x000395F9), UINT32_C(0x0026C76D), UINT32_C(0x00438509),
+ UINT32_C(0x00258967), UINT32_C(0x00102218), UINT32_C(0x0021EF58),
+ UINT32_C(0x00187594), UINT32_C(0x00070C07), UINT32_C(0x001150ED),
+ UINT32_C(0x001A248F), UINT32_C(0x0017CA07), UINT32_C(0x00305C05),
+ UINT32_C(0x003B435D), UINT32_C(0x0003AB05)},
+ {UINT32_C(0x00269D6F), UINT32_C(0x0014041F), UINT32_C(0x001C654B),
+ UINT32_C(0x001E5899), UINT32_C(0x000B839F), UINT32_C(0x000068FF),
+ UINT32_C(0x001345C1), UINT32_C(0x0062C16D), UINT32_C(0x00095303),
+ UINT32_C(0x00336B6B), UINT32_C(0x001F5076), UINT32_C(0x006B8DE7),
+ UINT32_C(0x003033A5), UINT32_C(0x0031B05D), UINT32_C(0x000AAEBB),
+ UINT32_C(0x00580DC0), UINT32_C(0x00216E2A), UINT32_C(0x000B00E8),
+ UINT32_C(0x002FED70), UINT32_C(0x0067F7E7), UINT32_C(0x000E3F39),
+ UINT32_C(0x0026A5C9), UINT32_C(0x001321C9)}},
+ {{UINT32_C(0x0075F516), UINT32_C(0x0019707B), UINT32_C(0x00284D76),
+ UINT32_C(0x00135FD0), UINT32_C(0x003E3862), UINT32_C(0x00146ACB),
+ UINT32_C(0x001C934B), UINT32_C(0x007030A4), UINT32_C(0x000CF8E7),
+ UINT32_C(0x002CA64F), UINT32_C(0x003FDC6E), UINT32_C(0x0065C11E),
+ UINT32_C(0x0016B6BB), UINT32_C(0x0018C069), UINT32_C(0x00171DC5),
+ UINT32_C(0x005B5697), UINT32_C(0x001E8900), UINT32_C(0x001B6DAF),
+ UINT32_C(0x00310BBC), UINT32_C(0x006BCF1D), UINT32_C(0x002F143F),
+ UINT32_C(0x001905CA), UINT32_C(0x00017744)},
+ {UINT32_C(0x003D88D5), UINT32_C(0x000F9E5C), UINT32_C(0x003604CF),
+ UINT32_C(0x000C36D2), UINT32_C(0x002CF504), UINT32_C(0x0039A798),
+ UINT32_C(0x000BDED1), UINT32_C(0x001B8DC3), UINT32_C(0x0008E589),
+ UINT32_C(0x003A11F2), UINT32_C(0x00200D8C), UINT32_C(0x00625D48),
+ UINT32_C(0x000A9310), UINT32_C(0x003CD6F6), UINT32_C(0x00023EB4),
+ UINT32_C(0x001CDCCF), UINT32_C(0x00126F0D), UINT32_C(0x0022C59F),
+ UINT32_C(0x002ACC01), UINT32_C(0x005306AD), UINT32_C(0x002E74F2),
+ UINT32_C(0x0005DF6D), UINT32_C(0x00285847)},
+ {UINT32_C(0x0065F342), UINT32_C(0x001EE28A), UINT32_C(0x00222BEB),
+ UINT32_C(0x006CA69D), UINT32_C(0x000BB7F9), UINT32_C(0x0021BF78),
+ UINT32_C(0x0003EC62), UINT32_C(0x0054A057), UINT32_C(0x00316B24),
+ UINT32_C(0x000FF725), UINT32_C(0x00262490), UINT32_C(0x003AE835),
+ UINT32_C(0x000DA133), UINT32_C(0x00120D05), UINT32_C(0x000F8110),
+ UINT32_C(0x00347C18), UINT32_C(0x0014B405), UINT32_C(0x000E57EA),
+ UINT32_C(0x001D3804), UINT32_C(0x001FB3A3), UINT32_C(0x0036FC24),
+ UINT32_C(0x003107FA), UINT32_C(0x0002D52F)}},
+ {{UINT32_C(0x00730C26), UINT32_C(0x00033129), UINT32_C(0x00099E61),
+ UINT32_C(0x00274495), UINT32_C(0x00067D5F), UINT32_C(0x0030E0F3),
+ UINT32_C(0x00133EE6), UINT32_C(0x001CA496), UINT32_C(0x000D9AF5),
+ UINT32_C(0x000E2809), UINT32_C(0x0039B916), UINT32_C(0x006CE2B0),
+ UINT32_C(0x00022B22), UINT32_C(0x003C1D03), UINT32_C(0x00134443),
+ UINT32_C(0x006C83E6), UINT32_C(0x0022E5D1), UINT32_C(0x00355465),
+ UINT32_C(0x001393DE), UINT32_C(0x00297B8C), UINT32_C(0x000CCC36),
+ UINT32_C(0x00384BA8), UINT32_C(0x0003C2A7)},
+ {UINT32_C(0x001F3E32), UINT32_C(0x003E6A39), UINT32_C(0x00274F66),
+ UINT32_C(0x0065F067), UINT32_C(0x003DEE02), UINT32_C(0x001ADBA0),
+ UINT32_C(0x003DD0D0), UINT32_C(0x00067633), UINT32_C(0x003371E3),
+ UINT32_C(0x0018B039), UINT32_C(0x000FBD3F), UINT32_C(0x003FEF60),
+ UINT32_C(0x000C13E7), UINT32_C(0x0035AFF4), UINT32_C(0x00248F86),
+ UINT32_C(0x0075C8AC), UINT32_C(0x00010FB8), UINT32_C(0x0009A933),
+ UINT32_C(0x00155411), UINT32_C(0x004DD6EA), UINT32_C(0x0018B242),
+ UINT32_C(0x003F42B9), UINT32_C(0x00307AFB)},
+ {UINT32_C(0x0043D9DA), UINT32_C(0x002F1FAC), UINT32_C(0x002BEBF2),
+ UINT32_C(0x001674C8), UINT32_C(0x002F5627), UINT32_C(0x000982A2),
+ UINT32_C(0x001DD189), UINT32_C(0x0023CFE8), UINT32_C(0x001435E4),
+ UINT32_C(0x002E3968), UINT32_C(0x00212138), UINT32_C(0x0037DAED),
+ UINT32_C(0x001AF391), UINT32_C(0x00149EAC), UINT32_C(0x003F6739),
+ UINT32_C(0x005A1D0B), UINT32_C(0x0003DA69), UINT32_C(0x002C06DC),
+ UINT32_C(0x003A4339), UINT32_C(0x00603E6E), UINT32_C(0x00144A9B),
+ UINT32_C(0x002E832B), UINT32_C(0x002DEC99)}},
+ {{UINT32_C(0x00262A7A), UINT32_C(0x0006D662), UINT32_C(0x00070E7F),
+ UINT32_C(0x007D4FD4), UINT32_C(0x000363F2), UINT32_C(0x002DCD0B),
+ UINT32_C(0x003F4BD3), UINT32_C(0x004B46BE), UINT32_C(0x0018690B),
+ UINT32_C(0x000D990E), UINT32_C(0x000FAB11), UINT32_C(0x000F371C),
+ UINT32_C(0x003CC586), UINT32_C(0x0027FA77), UINT32_C(0x00064076),
+ UINT32_C(0x002B6788), UINT32_C(0x003FBD23), UINT32_C(0x0003E156),
+ UINT32_C(0x000B4246), UINT32_C(0x0011F74C), UINT32_C(0x001580E7),
+ UINT32_C(0x001AB7D6), UINT32_C(0x002FD3D2)},
+ {UINT32_C(0x0073791E), UINT32_C(0x0028FB9D), UINT32_C(0x002F8DA3),
+ UINT32_C(0x00149495), UINT32_C(0x001EDDC0), UINT32_C(0x0022DA14),
+ UINT32_C(0x000D1BE0), UINT32_C(0x000602F3), UINT32_C(0x00166D08),
+ UINT32_C(0x001F0437), UINT32_C(0x0001CD0D), UINT32_C(0x002624C1),
+ UINT32_C(0x002A961B), UINT32_C(0x00094F8B), UINT32_C(0x00315EBC),
+ UINT32_C(0x00021B46), UINT32_C(0x001DB347), UINT32_C(0x00240821),
+ UINT32_C(0x002271B3), UINT32_C(0x00475580), UINT32_C(0x00022765),
+ UINT32_C(0x0030DDFA), UINT32_C(0x002DD431)},
+ {UINT32_C(0x0073CD42), UINT32_C(0x000AA556), UINT32_C(0x0012283B),
+ UINT32_C(0x007C1AE9), UINT32_C(0x000379D4), UINT32_C(0x0022CBD1),
+ UINT32_C(0x003AB652), UINT32_C(0x00694262), UINT32_C(0x003DAD8F),
+ UINT32_C(0x003C497A), UINT32_C(0x001A32CF), UINT32_C(0x003C85F6),
+ UINT32_C(0x0005431E), UINT32_C(0x002156D8), UINT32_C(0x002AF6B5),
+ UINT32_C(0x00038046), UINT32_C(0x002E42CB), UINT32_C(0x00254F18),
+ UINT32_C(0x0020D00F), UINT32_C(0x0030D955), UINT32_C(0x00071955),
+ UINT32_C(0x000B6D41), UINT32_C(0x00285989)}},
+ {{UINT32_C(0x007E08FB), UINT32_C(0x00263A00), UINT32_C(0x000CADFC),
+ UINT32_C(0x001DC808), UINT32_C(0x002FA272), UINT32_C(0x001FB53D),
+ UINT32_C(0x0011F9BF), UINT32_C(0x003390F4), UINT32_C(0x0034E6F0),
+ UINT32_C(0x0004D46C), UINT32_C(0x00054043), UINT32_C(0x001A0B56),
+ UINT32_C(0x003D1A17), UINT32_C(0x001B584C), UINT32_C(0x0011ED5C),
+ UINT32_C(0x007B2CBC), UINT32_C(0x000C420C), UINT32_C(0x002C7F8D),
+ UINT32_C(0x001B1449), UINT32_C(0x006D4B4B), UINT32_C(0x00284BD2),
+ UINT32_C(0x00097414), UINT32_C(0x001056CF)},
+ {UINT32_C(0x0073D3D1), UINT32_C(0x00088230), UINT32_C(0x000075FE),
+ UINT32_C(0x003B85B2), UINT32_C(0x00172ED7), UINT32_C(0x000E1CD6),
+ UINT32_C(0x002D09FB), UINT32_C(0x0073D157), UINT32_C(0x0009AE50),
+ UINT32_C(0x0011E0DC), UINT32_C(0x000EE967), UINT32_C(0x002CFFF1),
+ UINT32_C(0x0010B62C), UINT32_C(0x001BBB7A), UINT32_C(0x001A028C),
+ UINT32_C(0x004CD9AF), UINT32_C(0x0011BCF9), UINT32_C(0x0027E62F),
+ UINT32_C(0x000579BB), UINT32_C(0x007DC76F), UINT32_C(0x00332A43),
+ UINT32_C(0x0023C822), UINT32_C(0x000141A7)},
+ {UINT32_C(0x00696277), UINT32_C(0x001B3A68), UINT32_C(0x002BB919),
+ UINT32_C(0x00483ED8), UINT32_C(0x000E8365), UINT32_C(0x00099C62),
+ UINT32_C(0x003C029F), UINT32_C(0x005155DA), UINT32_C(0x001F3BFC),
+ UINT32_C(0x003F93BC), UINT32_C(0x0019B689), UINT32_C(0x00763BA9),
+ UINT32_C(0x003D2F7A), UINT32_C(0x00398C78), UINT32_C(0x0038B6BF),
+ UINT32_C(0x006C7737), UINT32_C(0x002EE2B2), UINT32_C(0x003AADE4),
+ UINT32_C(0x002A6200), UINT32_C(0x0061FD04), UINT32_C(0x001F7254),
+ UINT32_C(0x000C8C41), UINT32_C(0x0033394F)}},
+ {{UINT32_C(0x005E9802), UINT32_C(0x00264758), UINT32_C(0x001AB2B5),
+ UINT32_C(0x002E4F89), UINT32_C(0x002C4ADC), UINT32_C(0x000094EF),
+ UINT32_C(0x002689AD), UINT32_C(0x0046FA1A), UINT32_C(0x0030AFC9),
+ UINT32_C(0x001796B4), UINT32_C(0x0007E5D9), UINT32_C(0x0042C248),
+ UINT32_C(0x000F1E94), UINT32_C(0x0021F53B), UINT32_C(0x00261686),
+ UINT32_C(0x003F1DDB), UINT32_C(0x0038C53A), UINT32_C(0x00085F45),
+ UINT32_C(0x002D5719), UINT32_C(0x000E126B), UINT32_C(0x0008A053),
+ UINT32_C(0x0001D8A2), UINT32_C(0x000CA742)},
+ {UINT32_C(0x0024D905), UINT32_C(0x000E9B9F), UINT32_C(0x0001793C),
+ UINT32_C(0x0038DEEF), UINT32_C(0x00281C2C), UINT32_C(0x002A3E68),
+ UINT32_C(0x002C3A89), UINT32_C(0x00474938), UINT32_C(0x00191AE2),
+ UINT32_C(0x00059F41), UINT32_C(0x003170A5), UINT32_C(0x007B0894),
+ UINT32_C(0x003188B8), UINT32_C(0x0004A286), UINT32_C(0x001330A6),
+ UINT32_C(0x000F7B22), UINT32_C(0x000CCE16), UINT32_C(0x002F2EE2),
+ UINT32_C(0x00195174), UINT32_C(0x005D1601), UINT32_C(0x001F40E0),
+ UINT32_C(0x00291362), UINT32_C(0x0035C7DC)},
+ {UINT32_C(0x000B4C31), UINT32_C(0x003B561D), UINT32_C(0x000F3B3B),
+ UINT32_C(0x0070FA44), UINT32_C(0x0007486A), UINT32_C(0x001DF356),
+ UINT32_C(0x001935F2), UINT32_C(0x004FB6D9), UINT32_C(0x0027D7FD),
+ UINT32_C(0x00350DC9), UINT32_C(0x000A3F69), UINT32_C(0x00449466),
+ UINT32_C(0x00239BA4), UINT32_C(0x0028E2F3), UINT32_C(0x0026CBC7),
+ UINT32_C(0x00036018), UINT32_C(0x003A9DCF), UINT32_C(0x0037B528),
+ UINT32_C(0x001E2C6E), UINT32_C(0x003F6EC0), UINT32_C(0x003FD88F),
+ UINT32_C(0x00068ADE), UINT32_C(0x0037FCE0)}},
+ {{UINT32_C(0x0050000E), UINT32_C(0x001E77A7), UINT32_C(0x0024B63E),
+ UINT32_C(0x0048CCFE), UINT32_C(0x0038B910), UINT32_C(0x0019209B),
+ UINT32_C(0x00253B08), UINT32_C(0x005B37AF), UINT32_C(0x0004506B),
+ UINT32_C(0x001A4B14), UINT32_C(0x000FF3BF), UINT32_C(0x00085950),
+ UINT32_C(0x002D6373), UINT32_C(0x000CDBBD), UINT32_C(0x00090934),
+ UINT32_C(0x004CF09F), UINT32_C(0x0027CD34), UINT32_C(0x00371F39),
+ UINT32_C(0x001C72B6), UINT32_C(0x006D2050), UINT32_C(0x002AC578),
+ UINT32_C(0x000FB697), UINT32_C(0x0005FF6A)},
+ {UINT32_C(0x00599665), UINT32_C(0x002DDA7B), UINT32_C(0x00268815),
+ UINT32_C(0x002942AC), UINT32_C(0x001DEC68), UINT32_C(0x002DBB5F),
+ UINT32_C(0x000C7D78), UINT32_C(0x0057F19C), UINT32_C(0x0021DFB6),
+ UINT32_C(0x000753FB), UINT32_C(0x001EB75C), UINT32_C(0x006BB8BB),
+ UINT32_C(0x000F62D8), UINT32_C(0x00276AD4), UINT32_C(0x0018EBC3),
+ UINT32_C(0x00214208), UINT32_C(0x001152DD), UINT32_C(0x001897CD),
+ UINT32_C(0x002857D4), UINT32_C(0x0042470E), UINT32_C(0x0021C7EA),
+ UINT32_C(0x000270FA), UINT32_C(0x002E73F0)},
+ {UINT32_C(0x0071D30B), UINT32_C(0x002E7B13), UINT32_C(0x0033F7E5),
+ UINT32_C(0x00026176), UINT32_C(0x0024C588), UINT32_C(0x001EA175),
+ UINT32_C(0x003B6645), UINT32_C(0x00291861), UINT32_C(0x000ED3A0),
+ UINT32_C(0x0002A696), UINT32_C(0x0016C658), UINT32_C(0x003C9DCA),
+ UINT32_C(0x001224F2), UINT32_C(0x0005AAC4), UINT32_C(0x001A509B),
+ UINT32_C(0x002E50AA), UINT32_C(0x001912EC), UINT32_C(0x0039A83F),
+ UINT32_C(0x002EEAC7), UINT32_C(0x0039F245), UINT32_C(0x0004ABA0),
+ UINT32_C(0x0038D048), UINT32_C(0x00088CA8)}},
+ {{UINT32_C(0x00381541), UINT32_C(0x00204236), UINT32_C(0x000F7F85),
+ UINT32_C(0x006ABC1B), UINT32_C(0x00309BD4), UINT32_C(0x001A5B8A),
+ UINT32_C(0x003193B0), UINT32_C(0x007C3DBC), UINT32_C(0x0021AA72),
+ UINT32_C(0x0025AB66), UINT32_C(0x0027C829), UINT32_C(0x0000DCB0),
+ UINT32_C(0x001E5740), UINT32_C(0x0027A69E), UINT32_C(0x002A0916),
+ UINT32_C(0x003558C0), UINT32_C(0x0008DEFA), UINT32_C(0x00001D63),
+ UINT32_C(0x00302547), UINT32_C(0x0077415F), UINT32_C(0x0017C197),
+ UINT32_C(0x0022627F), UINT32_C(0x000599E2)},
+ {UINT32_C(0x004DD359), UINT32_C(0x00246A2C), UINT32_C(0x0027E508),
+ UINT32_C(0x006A3CA3), UINT32_C(0x00378EB4), UINT32_C(0x0026BEB6),
+ UINT32_C(0x000844C3), UINT32_C(0x0055D1C5), UINT32_C(0x000BD3A3),
+ UINT32_C(0x00337C41), UINT32_C(0x003DE17E), UINT32_C(0x004DF9BA),
+ UINT32_C(0x0029B7C8), UINT32_C(0x00371C33), UINT32_C(0x001BC3B2),
+ UINT32_C(0x0052B93E), UINT32_C(0x003F84C4), UINT32_C(0x00046C2D),
+ UINT32_C(0x00381921), UINT32_C(0x00329932), UINT32_C(0x00029014),
+ UINT32_C(0x00195E90), UINT32_C(0x00165863)},
+ {UINT32_C(0x003D4CE8), UINT32_C(0x0009AEA0), UINT32_C(0x000A6139),
+ UINT32_C(0x00626AB6), UINT32_C(0x001921AD), UINT32_C(0x001DDCC3),
+ UINT32_C(0x0010A346), UINT32_C(0x001C0DF5), UINT32_C(0x0022458F),
+ UINT32_C(0x0029A8D6), UINT32_C(0x0023055B), UINT32_C(0x007FBC20),
+ UINT32_C(0x0012BD87), UINT32_C(0x00105456), UINT32_C(0x0009B655),
+ UINT32_C(0x0061C3AD), UINT32_C(0x00029CBB), UINT32_C(0x0037EC3D),
+ UINT32_C(0x003A6374), UINT32_C(0x00604726), UINT32_C(0x0036C983),
+ UINT32_C(0x002FB577), UINT32_C(0x0034D612)}},
+ {{UINT32_C(0x002E7DCC), UINT32_C(0x000D16B4), UINT32_C(0x0024096A),
+ UINT32_C(0x0025C077), UINT32_C(0x00092685), UINT32_C(0x0031BC93),
+ UINT32_C(0x002F71E3), UINT32_C(0x0006DB6D), UINT32_C(0x00314D92),
+ UINT32_C(0x0031DCE1), UINT32_C(0x0021F441), UINT32_C(0x005C93B1),
+ UINT32_C(0x000A56D1), UINT32_C(0x0007C7F7), UINT32_C(0x003AC8AA),
+ UINT32_C(0x004FB13F), UINT32_C(0x00382F3C), UINT32_C(0x00346287),
+ UINT32_C(0x0010C1C3), UINT32_C(0x003EB5C9), UINT32_C(0x00287A6F),
+ UINT32_C(0x0018779D), UINT32_C(0x00239EAB)},
+ {UINT32_C(0x0041FD8F), UINT32_C(0x001E6522), UINT32_C(0x0022B56D),
+ UINT32_C(0x0025ABCD), UINT32_C(0x00306D98), UINT32_C(0x00300F6B),
+ UINT32_C(0x001655DA), UINT32_C(0x00272687), UINT32_C(0x0006B08D),
+ UINT32_C(0x0023B809), UINT32_C(0x00138AAF), UINT32_C(0x001DF48C),
+ UINT32_C(0x0011F659), UINT32_C(0x0009E92A), UINT32_C(0x003B30CC),
+ UINT32_C(0x001DAEE5), UINT32_C(0x003A3F41), UINT32_C(0x0009DF14),
+ UINT32_C(0x00214E4F), UINT32_C(0x001A4EE1), UINT32_C(0x000AF3F8),
+ UINT32_C(0x003B84FD), UINT32_C(0x0027CB30)},
+ {UINT32_C(0x003FB85E), UINT32_C(0x002A5B7E), UINT32_C(0x000B3D6C),
+ UINT32_C(0x0010AAED), UINT32_C(0x001DCC4D), UINT32_C(0x002372C6),
+ UINT32_C(0x002990B7), UINT32_C(0x0029FD67), UINT32_C(0x00184F9D),
+ UINT32_C(0x00213292), UINT32_C(0x0006D4F4), UINT32_C(0x004C67DD),
+ UINT32_C(0x00170CE7), UINT32_C(0x00279FEF), UINT32_C(0x002AF75F),
+ UINT32_C(0x002865F8), UINT32_C(0x003DF044), UINT32_C(0x003246C4),
+ UINT32_C(0x000BBBCD), UINT32_C(0x0070D0BC), UINT32_C(0x0016FDF4),
+ UINT32_C(0x002E1724), UINT32_C(0x0034D526)}},
+ {{UINT32_C(0x0068145B), UINT32_C(0x0010E47B), UINT32_C(0x0016AFBB),
+ UINT32_C(0x006D5CA7), UINT32_C(0x001CBDAA), UINT32_C(0x003773D2),
+ UINT32_C(0x00376C07), UINT32_C(0x00798761), UINT32_C(0x00122C25),
+ UINT32_C(0x0000941E), UINT32_C(0x000B8B0C), UINT32_C(0x006E3CF0),
+ UINT32_C(0x0037C29F), UINT32_C(0x003FCFE2), UINT32_C(0x00355C91),
+ UINT32_C(0x006B5739), UINT32_C(0x000039E2), UINT32_C(0x000A6FB6),
+ UINT32_C(0x00368629), UINT32_C(0x00439D33), UINT32_C(0x00051B6B),
+ UINT32_C(0x003CCB53), UINT32_C(0x0021E090)},
+ {UINT32_C(0x0072B0D9), UINT32_C(0x00260FBA), UINT32_C(0x000A91DA),
+ UINT32_C(0x000248F7), UINT32_C(0x003E3B08), UINT32_C(0x00233510),
+ UINT32_C(0x000F7A4C), UINT32_C(0x00023CD1), UINT32_C(0x003BF83E),
+ UINT32_C(0x003F97FF), UINT32_C(0x00387ABE), UINT32_C(0x006B4171),
+ UINT32_C(0x000D77D6), UINT32_C(0x0028D310), UINT32_C(0x001FAD93),
+ UINT32_C(0x006D40A9), UINT32_C(0x00109960), UINT32_C(0x001C700E),
+ UINT32_C(0x0010A5D3), UINT32_C(0x00638AE3), UINT32_C(0x002B09EB),
+ UINT32_C(0x0005F26C), UINT32_C(0x0001E411)},
+ {UINT32_C(0x000E2A67), UINT32_C(0x0016A28F), UINT32_C(0x00289716),
+ UINT32_C(0x0078F0B2), UINT32_C(0x003797DA), UINT32_C(0x00268485),
+ UINT32_C(0x00262E41), UINT32_C(0x00241F04), UINT32_C(0x00074EC0),
+ UINT32_C(0x000D6EAC), UINT32_C(0x001E559F), UINT32_C(0x00153E46),
+ UINT32_C(0x002FB890), UINT32_C(0x000CA628), UINT32_C(0x002A4016),
+ UINT32_C(0x007D6524), UINT32_C(0x001EC8D1), UINT32_C(0x00286DC0),
+ UINT32_C(0x00157657), UINT32_C(0x0079E5B8), UINT32_C(0x0039F963),
+ UINT32_C(0x000CE35C), UINT32_C(0x003F1219)}},
+ {{UINT32_C(0x0000F57B), UINT32_C(0x0009DF26), UINT32_C(0x00222FE3),
+ UINT32_C(0x002A30BE), UINT32_C(0x00379E2F), UINT32_C(0x000AAB5F),
+ UINT32_C(0x002DEDC7), UINT32_C(0x00530A70), UINT32_C(0x001B01FA),
+ UINT32_C(0x003D1B31), UINT32_C(0x002AD753), UINT32_C(0x0029A2AA),
+ UINT32_C(0x0034373F), UINT32_C(0x002D9918), UINT32_C(0x002C76D1),
+ UINT32_C(0x002F937A), UINT32_C(0x000EB50A), UINT32_C(0x003F8781),
+ UINT32_C(0x002C7F91), UINT32_C(0x0004D41F), UINT32_C(0x003AEC45),
+ UINT32_C(0x00369FC0), UINT32_C(0x00013605)},
+ {UINT32_C(0x0054C5BA), UINT32_C(0x00376F0D), UINT32_C(0x000F2327),
+ UINT32_C(0x00202DD7), UINT32_C(0x0022B2CE), UINT32_C(0x003D8E25),
+ UINT32_C(0x0030ED93), UINT32_C(0x005E7D9A), UINT32_C(0x00359051),
+ UINT32_C(0x00330484), UINT32_C(0x001F4DA9), UINT32_C(0x000D5A03),
+ UINT32_C(0x003772EE), UINT32_C(0x001FDD99), UINT32_C(0x00190D1C),
+ UINT32_C(0x0064DE66), UINT32_C(0x00112698), UINT32_C(0x003D9DDF),
+ UINT32_C(0x003B8E10), UINT32_C(0x000670E8), UINT32_C(0x001E9A00),
+ UINT32_C(0x000D2726), UINT32_C(0x00344016)},
+ {UINT32_C(0x001EAEC6), UINT32_C(0x000A257F), UINT32_C(0x00368552),
+ UINT32_C(0x00569140), UINT32_C(0x00240DF0), UINT32_C(0x002BE21B),
+ UINT32_C(0x000AC85E), UINT32_C(0x0035C3D1), UINT32_C(0x0016FBDE),
+ UINT32_C(0x0024ACF2), UINT32_C(0x003AA3F7), UINT32_C(0x006A54CF),
+ UINT32_C(0x002AAD78), UINT32_C(0x003BE77F), UINT32_C(0x000CA38B),
+ UINT32_C(0x0053D6D6), UINT32_C(0x00238462), UINT32_C(0x001E2258),
+ UINT32_C(0x002E8075), UINT32_C(0x005C588D), UINT32_C(0x001BE563),
+ UINT32_C(0x00362AF4), UINT32_C(0x000E1465)}},
+ {{UINT32_C(0x00544BA0), UINT32_C(0x00103EEE), UINT32_C(0x0012ACCC),
+ UINT32_C(0x0004634F), UINT32_C(0x00326BCC), UINT32_C(0x00186BD9),
+ UINT32_C(0x0001D886), UINT32_C(0x0006E9CD), UINT32_C(0x0028A635),
+ UINT32_C(0x0018E4A4), UINT32_C(0x002FA643), UINT32_C(0x000C1175),
+ UINT32_C(0x0039E179), UINT32_C(0x00255905), UINT32_C(0x000E38AE),
+ UINT32_C(0x00075E7F), UINT32_C(0x003F2DF2), UINT32_C(0x000BF618),
+ UINT32_C(0x0038EDDB), UINT32_C(0x003D531B), UINT32_C(0x00343EB7),
+ UINT32_C(0x001D10D6), UINT32_C(0x0003039D)},
+ {UINT32_C(0x007286CB), UINT32_C(0x00262870), UINT32_C(0x00087C21),
+ UINT32_C(0x0015F41E), UINT32_C(0x002D96DA), UINT32_C(0x0004A9E5),
+ UINT32_C(0x00010055), UINT32_C(0x0063A621), UINT32_C(0x000E9F00),
+ UINT32_C(0x000EE347), UINT32_C(0x0026AF40), UINT32_C(0x003E094E),
+ UINT32_C(0x003B2228), UINT32_C(0x001A3CC1), UINT32_C(0x0030A53B),
+ UINT32_C(0x00011EE4), UINT32_C(0x00218ED0), UINT32_C(0x0007142C),
+ UINT32_C(0x00391F95), UINT32_C(0x002BB1FF), UINT32_C(0x001AA23A),
+ UINT32_C(0x003C5218), UINT32_C(0x002F08BB)},
+ {UINT32_C(0x001EB5AC), UINT32_C(0x003F1C36), UINT32_C(0x001FD7A7),
+ UINT32_C(0x00755608), UINT32_C(0x003353AE), UINT32_C(0x003D6966),
+ UINT32_C(0x0017FDC3), UINT32_C(0x0000F856), UINT32_C(0x0009B134),
+ UINT32_C(0x000C3D1A), UINT32_C(0x001E06FC), UINT32_C(0x00745D11),
+ UINT32_C(0x003761CD), UINT32_C(0x0021FF5D), UINT32_C(0x0037240E),
+ UINT32_C(0x003022F6), UINT32_C(0x0013DC00), UINT32_C(0x00308386),
+ UINT32_C(0x00071C5F), UINT32_C(0x0010C125), UINT32_C(0x000192B4),
+ UINT32_C(0x0019FF02), UINT32_C(0x003B2385)}},
+ {{UINT32_C(0x00417D4C), UINT32_C(0x003AECD5), UINT32_C(0x002E5B54),
+ UINT32_C(0x00243DAE), UINT32_C(0x0003B5C3), UINT32_C(0x00242612),
+ UINT32_C(0x001E0962), UINT32_C(0x004AC9D7), UINT32_C(0x0033B66D),
+ UINT32_C(0x0013DC44), UINT32_C(0x0017552D), UINT32_C(0x006C3A48),
+ UINT32_C(0x0036914E), UINT32_C(0x001C9CFD), UINT32_C(0x000862A1),
+ UINT32_C(0x00260590), UINT32_C(0x002BEC73), UINT32_C(0x00263AA5),
+ UINT32_C(0x0013BDC2), UINT32_C(0x007EAFCE), UINT32_C(0x001A9EA3),
+ UINT32_C(0x000A9066), UINT32_C(0x00024A7F)},
+ {UINT32_C(0x007D40F1), UINT32_C(0x002268CC), UINT32_C(0x002A7B4D),
+ UINT32_C(0x0017B592), UINT32_C(0x001B785F), UINT32_C(0x002CEBBB),
+ UINT32_C(0x003FD10A), UINT32_C(0x0033D10F), UINT32_C(0x0005FF3D),
+ UINT32_C(0x0002C3D3), UINT32_C(0x00171A74), UINT32_C(0x005E8507),
+ UINT32_C(0x002D6928), UINT32_C(0x0007621E), UINT32_C(0x003F547B),
+ UINT32_C(0x005E087B), UINT32_C(0x000FFDD4), UINT32_C(0x0036FEE1),
+ UINT32_C(0x0028A970), UINT32_C(0x0049A969), UINT32_C(0x0008D33F),
+ UINT32_C(0x0020BACA), UINT32_C(0x000F9E55)},
+ {UINT32_C(0x0001E00F), UINT32_C(0x003DC07C), UINT32_C(0x001BA800),
+ UINT32_C(0x004AEE42), UINT32_C(0x0013E66A), UINT32_C(0x001C61D4),
+ UINT32_C(0x00365B36), UINT32_C(0x000D2885), UINT32_C(0x00046EFC),
+ UINT32_C(0x00088FB6), UINT32_C(0x0007F83B), UINT32_C(0x003E8670),
+ UINT32_C(0x001539ED), UINT32_C(0x0039945D), UINT32_C(0x00052181),
+ UINT32_C(0x00150E04), UINT32_C(0x003F8361), UINT32_C(0x0033D590),
+ UINT32_C(0x002A7678), UINT32_C(0x001A0E6A), UINT32_C(0x0017FB3A),
+ UINT32_C(0x0001B263), UINT32_C(0x003FB8CC)}},
+ {{UINT32_C(0x00441491), UINT32_C(0x000F0A65), UINT32_C(0x001689D6),
+ UINT32_C(0x001482F7), UINT32_C(0x00147BF7), UINT32_C(0x003D0042),
+ UINT32_C(0x002844D1), UINT32_C(0x005FD1B5), UINT32_C(0x00200A97),
+ UINT32_C(0x00117C63), UINT32_C(0x003D90B5), UINT32_C(0x001D123E),
+ UINT32_C(0x00044FA4), UINT32_C(0x003F2318), UINT32_C(0x0036FA13),
+ UINT32_C(0x005A1AE5), UINT32_C(0x000811CA), UINT32_C(0x001E59EF),
+ UINT32_C(0x0034D752), UINT32_C(0x00564B68), UINT32_C(0x001118FF),
+ UINT32_C(0x0039B3EA), UINT32_C(0x0014D131)},
+ {UINT32_C(0x0013C497), UINT32_C(0x003C1203), UINT32_C(0x0017B8C9),
+ UINT32_C(0x005F5C63), UINT32_C(0x001C40D9), UINT32_C(0x00337A68),
+ UINT32_C(0x00200255), UINT32_C(0x007B6F12), UINT32_C(0x001F0C0A),
+ UINT32_C(0x000D6663), UINT32_C(0x001F59C2), UINT32_C(0x00154C68),
+ UINT32_C(0x00345E93), UINT32_C(0x003D89D5), UINT32_C(0x00342AEC),
+ UINT32_C(0x006FD7F9), UINT32_C(0x0015325A), UINT32_C(0x001C82FE),
+ UINT32_C(0x0032F5E8), UINT32_C(0x00078F1F), UINT32_C(0x0025FC9A),
+ UINT32_C(0x003196C7), UINT32_C(0x0039E007)},
+ {UINT32_C(0x0039A6FC), UINT32_C(0x0011CEAB), UINT32_C(0x0012DC99),
+ UINT32_C(0x005819B9), UINT32_C(0x0018EB3D), UINT32_C(0x00219D0B),
+ UINT32_C(0x001627FA), UINT32_C(0x003FFC71), UINT32_C(0x000E2B28),
+ UINT32_C(0x000516D9), UINT32_C(0x003B039D), UINT32_C(0x001E1B28),
+ UINT32_C(0x00179D77), UINT32_C(0x002E37D9), UINT32_C(0x0003A1C1),
+ UINT32_C(0x000D735B), UINT32_C(0x00360858), UINT32_C(0x0008AFC3),
+ UINT32_C(0x0016FD4C), UINT32_C(0x000289D6), UINT32_C(0x001E9558),
+ UINT32_C(0x000AF3EA), UINT32_C(0x003D50FE)}},
+ {{UINT32_C(0x0053D15A), UINT32_C(0x002C2F83), UINT32_C(0x00170ABE),
+ UINT32_C(0x00712A78), UINT32_C(0x00103D0A), UINT32_C(0x0005BC7E),
+ UINT32_C(0x002462B7), UINT32_C(0x00116FB3), UINT32_C(0x0032D4A0),
+ UINT32_C(0x003CCDA0), UINT32_C(0x00088A2E), UINT32_C(0x00510F79),
+ UINT32_C(0x00293310), UINT32_C(0x001D649F), UINT32_C(0x00315518),
+ UINT32_C(0x002689D7), UINT32_C(0x00324D85), UINT32_C(0x00200963),
+ UINT32_C(0x00086C95), UINT32_C(0x000B31F5), UINT32_C(0x0013C26E),
+ UINT32_C(0x0003A95F), UINT32_C(0x0036130B)},
+ {UINT32_C(0x0011ED3F), UINT32_C(0x0022E8CD), UINT32_C(0x000AF23D),
+ UINT32_C(0x000A28B1), UINT32_C(0x001C1B53), UINT32_C(0x0004BD1F),
+ UINT32_C(0x000B0909), UINT32_C(0x006FD7AA), UINT32_C(0x001BA416),
+ UINT32_C(0x0003F26B), UINT32_C(0x00305459), UINT32_C(0x0074C3EC),
+ UINT32_C(0x00287773), UINT32_C(0x0034CC74), UINT32_C(0x002D85ED),
+ UINT32_C(0x005C853F), UINT32_C(0x00049BB2), UINT32_C(0x000DF4CA),
+ UINT32_C(0x0016E02A), UINT32_C(0x004D746D), UINT32_C(0x000B5669),
+ UINT32_C(0x0011DAD1), UINT32_C(0x0016A410)},
+ {UINT32_C(0x00112679), UINT32_C(0x002ADF1B), UINT32_C(0x0008BDEA),
+ UINT32_C(0x007D441A), UINT32_C(0x0037A3DB), UINT32_C(0x0008035D),
+ UINT32_C(0x001D18DE), UINT32_C(0x00432D9E), UINT32_C(0x00217C8D),
+ UINT32_C(0x0034B1CC), UINT32_C(0x00347E03), UINT32_C(0x007CEF1A),
+ UINT32_C(0x003CA8B5), UINT32_C(0x000B5855), UINT32_C(0x0034A8BC),
+ UINT32_C(0x003867CB), UINT32_C(0x00169433), UINT32_C(0x00134C66),
+ UINT32_C(0x0011D943), UINT32_C(0x0061B8E4), UINT32_C(0x00383EDC),
+ UINT32_C(0x00274AAD), UINT32_C(0x000AE283)}},
+ }};
+
+/*-
+ * Q := 2P, both projective, Q and P same pointers OK
+ * Autogenerated: op3/dbl_proj_ed_eone.op3
+ * https://www.hyperelliptic.org/EFD/g1p/auto-code/twisted/extended-1/doubling/dbl-2008-hwcd.op3
+ * ASSERT: e = 1
+ */
+static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
+ /* temporary variables */
+ fe_t t0, t1, t2, t3;
+ /* constants */
+ /* set pointers for Edwards curve arith */
+ const limb_t *X = P->X;
+ const limb_t *Y = P->Y;
+ const limb_t *Z = P->Z;
+ limb_t *X3 = Q->X;
+ limb_t *Y3 = Q->Y;
+ limb_t *T3 = Q->T;
+ limb_t *Z3 = Q->Z;
+
+ /* the curve arith formula */
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(t0, X);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(t1, Y);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(t2, Z);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(t3, t2, t2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(X3, X, Y);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(Y3, X3);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(T3, Y3, t0);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(Z3, T3, t1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(Y3, t0, t1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t2, Y3, t3);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t3, t0, t1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, Z3, t2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, Z3, t3);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Z3, t2, Y3);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, Y3, t3);
+}
+
+/*-
+ * R := Q + P where R and Q are projective, P affine.
+ * R and Q same pointers OK
+ * R and P same pointers not OK
+ * Autogenerated: op3/add_mixed_ed_eone.op3
+ * https://hyperelliptic.org/EFD/g1p/auto-code/twisted/extended/addition/madd-2008-hwcd.op3
+ * ASSERT: e = 1
+ */
+static void point_add_mixed(pt_prj_t *R, const pt_prj_t *Q, const pt_aff_t *P) {
+ /* temporary variables */
+ fe_t t0, t1, t2, t3;
+ /* constants */
+ const limb_t *d = const_d;
+ /* set pointers for Edwards curve arith */
+ const limb_t *X1 = Q->X;
+ const limb_t *Y1 = Q->Y;
+ const limb_t *T1 = Q->T;
+ const limb_t *Z1 = Q->Z;
+ const limb_t *X2 = P->X;
+ const limb_t *Y2 = P->Y;
+ const limb_t *T2 = P->T;
+ limb_t *X3 = R->X;
+ limb_t *Y3 = R->Y;
+ limb_t *T3 = R->T;
+ limb_t *Z3 = R->Z;
+
+ /* the curve arith formula */
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t0, X1, X2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t1, Y1, Y2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t2, d, T2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t2, T1, t2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(X3, X1, Y1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(Y3, X2, Y2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, X3, Y3);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t3, T3, t0);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(T3, t3, t1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(t3, Z1, t2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(Z3, Z1, t2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t1, t1, t0);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, T3, Z3);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, t3, t1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, T3, t1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Z3, Z3, t3);
+}
+
+/*-
+ * R := Q + P all projective.
+ * R and Q same pointers OK
+ * R and P same pointers not OK
+ * Autogenerated: op3/add_proj_ed_eone.op3
+ * https://hyperelliptic.org/EFD/g1p/auto-code/twisted/extended/addition/add-2008-hwcd.op3
+ * ASSERT: e = 1
+ */
+static void point_add_proj(pt_prj_t *R, const pt_prj_t *Q, const pt_prj_t *P) {
+ /* temporary variables */
+ fe_t t0, t1, t2, t3;
+ /* constants */
+ const limb_t *d = const_d;
+ /* set pointers for Edwards curve arith */
+ const limb_t *X1 = Q->X;
+ const limb_t *Y1 = Q->Y;
+ const limb_t *T1 = Q->T;
+ const limb_t *Z1 = Q->Z;
+ const limb_t *X2 = P->X;
+ const limb_t *Y2 = P->Y;
+ const limb_t *T2 = P->T;
+ const limb_t *Z2 = P->Z;
+ limb_t *X3 = R->X;
+ limb_t *Y3 = R->Y;
+ limb_t *T3 = R->T;
+ limb_t *Z3 = R->Z;
+
+ /* the curve arith formula */
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t0, X1, X2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t1, Y1, Y2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t2, d, T2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t2, T1, t2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t3, Z1, Z2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(X3, X1, Y1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(Y3, X2, Y2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, X3, Y3);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(Z3, T3, t0);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(T3, Z3, t1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(Z3, t3, t2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(t3, t3, t2);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t1, t1, t0);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, T3, Z3);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, t3, t1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, T3, t1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Z3, Z3, t3);
+}
+
+/*-
+ * from P projective Edwards to Q projective legacy: Q=P OK
+ * Autogenerated: op3/edwards2legacy_gost.op3
+ * https://tools.ietf.org/html/rfc7836#section-5.2
+ */
+static void point_edwards2legacy(pt_prj_t *Q, const pt_prj_t *P) {
+ /* temporary variables */
+ fe_t t0, t1;
+ /* constants */
+ const limb_t *S = const_S;
+ const limb_t *T = const_T;
+ const limb_t *X1 = P->X;
+ const limb_t *Y1 = P->Y;
+ const limb_t *Z1 = P->Z;
+ limb_t *X3 = Q->X;
+ limb_t *Y3 = Q->Y;
+ limb_t *T3 = Q->T;
+ limb_t *Z3 = Q->Z;
+
+ /* the curve arith formula */
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(t0, Z1, Y1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t1, Z1, Y1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, S, t0);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, Z1, T3);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Z3, X3, t1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t1, t1, T);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(t0, T3, t1);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, X1, t0);
+}
+
+/*-
+ * from P affine legacy to Q projective Edwards: Q=P not OK
+ * Autogenerated: op3/legacy2edwards_gost.op3
+ * https://tools.ietf.org/html/rfc7836#section-5.2
+ */
+static void point_legacy2edwards(pt_prj_t *Q, const pt_aff_t *P) {
+ /* constants */
+ const limb_t *S = const_S;
+ const limb_t *T = const_T;
+ const limb_t *X1 = P->X;
+ const limb_t *Y1 = P->Y;
+ limb_t *X3 = Q->X;
+ limb_t *Y3 = Q->Y;
+ limb_t *T3 = Q->T;
+ limb_t *Z3 = Q->Z;
+
+ /* the curve arith formula */
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(T3, X1, T);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(Y3, T3, S);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, T3, Y3);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Z3, Y1, Y3);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(T3, T3, S);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, Y1, T3);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, X3, Y3);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, X3, Z3);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, Y3, Z3);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(Z3, Z3);
+}
+
+/* constants */
+#define RADIX 5
+#define DRADIX (1 << RADIX)
+#define DRADIX_WNAF ((DRADIX) << 1)
+
+/*-
+ * precomp for wnaf scalar multiplication:
+ * precomp[0] = 1P
+ * precomp[1] = 3P
+ * precomp[2] = 5P
+ * precomp[3] = 7P
+ * precomp[4] = 9P
+ * ...
+ */
+static void precomp_wnaf(pt_prj_t precomp[DRADIX / 2], const pt_aff_t *P) {
+ int i;
+
+ /* move from legacy affine to Edwards projective */
+ point_legacy2edwards(&precomp[0], P);
+ point_double(&precomp[DRADIX / 2 - 1], &precomp[0]);
+
+ for (i = 1; i < DRADIX / 2; i++)
+ point_add_proj(&precomp[i], &precomp[DRADIX / 2 - 1], &precomp[i - 1]);
+}
+
+/* fetch a scalar bit */
+static int scalar_get_bit(const unsigned char in[64], int idx) {
+ int widx, rshift;
+
+ widx = idx >> 3;
+ rshift = idx & 0x7;
+
+ if (idx < 0 || widx >= 64) return 0;
+
+ return (in[widx] >> rshift) & 0x1;
+}
+
+/*-
+ * Compute "regular" wnaf representation of a scalar.
+ * See "Exponent Recoding and Regular Exponentiation Algorithms",
+ * Tunstall et al., AfricaCrypt 2009, Alg 6.
+ * It forces an odd scalar and outputs digits in
+ * {\pm 1, \pm 3, \pm 5, \pm 7, \pm 9, ...}
+ * i.e. signed odd digits with _no zeroes_ -- that makes it "regular".
+ */
+static void scalar_rwnaf(char out[103], const unsigned char in[64]) {
+ int i;
+ char window, d;
+
+ window = (in[0] & (DRADIX_WNAF - 1)) | 1;
+ for (i = 0; i < 102; i++) {
+ d = (window & (DRADIX_WNAF - 1)) - DRADIX;
+ out[i] = d;
+ window = (window - d) >> RADIX;
+ window += scalar_get_bit(in, (i + 1) * RADIX + 1) << 1;
+ window += scalar_get_bit(in, (i + 1) * RADIX + 2) << 2;
+ window += scalar_get_bit(in, (i + 1) * RADIX + 3) << 3;
+ window += scalar_get_bit(in, (i + 1) * RADIX + 4) << 4;
+ window += scalar_get_bit(in, (i + 1) * RADIX + 5) << 5;
+ }
+ out[i] = window;
+}
+
+/*-
+ * Compute "textbook" wnaf representation of a scalar.
+ * NB: not constant time
+ */
+static void scalar_wnaf(char out[513], const unsigned char in[64]) {
+ int i;
+ char window, d;
+
+ window = in[0] & (DRADIX_WNAF - 1);
+ for (i = 0; i < 513; i++) {
+ d = 0;
+ if ((window & 1) && ((d = window & (DRADIX_WNAF - 1)) & DRADIX))
+ d -= DRADIX_WNAF;
+ out[i] = d;
+ window = (window - d) >> 1;
+ window += scalar_get_bit(in, i + 1 + RADIX) << RADIX;
+ }
+}
+
+/*-
+ * Simulateous scalar multiplication: interleaved "textbook" wnaf.
+ * NB: not constant time
+ */
+static void var_smul_wnaf_two(pt_aff_t *out, const unsigned char a[64],
+ const unsigned char b[64], const pt_aff_t *P) {
+ int i, d, is_neg, is_inf = 1, flipped = 0;
+ char anaf[513] = {0};
+ char bnaf[513] = {0};
+ pt_prj_t Q;
+ pt_prj_t precomp[DRADIX / 2];
+
+ precomp_wnaf(precomp, P);
+ scalar_wnaf(anaf, a);
+ scalar_wnaf(bnaf, b);
+
+ for (i = 512; i >= 0; i--) {
+ if (!is_inf) point_double(&Q, &Q);
+ if ((d = bnaf[i])) {
+ if ((is_neg = d < 0) != flipped) {
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.X, Q.X);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.T, Q.T);
+ flipped ^= 1;
+ }
+ d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
+ if (is_inf) {
+ /* initialize accumulator */
+ fe_copy(Q.X, &precomp[d].X);
+ fe_copy(Q.Y, &precomp[d].Y);
+ fe_copy(Q.T, &precomp[d].T);
+ fe_copy(Q.Z, &precomp[d].Z);
+ is_inf = 0;
+ } else
+ point_add_proj(&Q, &Q, &precomp[d]);
+ }
+ if ((d = anaf[i])) {
+ if ((is_neg = d < 0) != flipped) {
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.X, Q.X);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.T, Q.T);
+ flipped ^= 1;
+ }
+ d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
+ if (is_inf) {
+ /* initialize accumulator */
+ fe_copy(Q.X, &lut_cmb[0][d].X);
+ fe_copy(Q.Y, &lut_cmb[0][d].Y);
+ fe_copy(Q.T, &lut_cmb[0][d].T);
+ fe_copy(Q.Z, const_one);
+ is_inf = 0;
+ } else
+ point_add_mixed(&Q, &Q, &lut_cmb[0][d]);
+ }
+ }
+
+ if (is_inf) {
+ /* initialize accumulator to inf: all-zero scalars */
+ fe_set_zero(Q.X);
+ fe_copy(Q.Y, const_one);
+ fe_set_zero(Q.T);
+ fe_copy(Q.Z, const_one);
+ }
+
+ if (flipped) {
+ /* correct sign */
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.X, Q.X);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.T, Q.T);
+ }
+
+ /* move from Edwards projective to legacy projective */
+ point_edwards2legacy(&Q, &Q);
+ /* convert to affine -- NB depends on coordinate system */
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_inv(Q.Z, Q.Z);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->X, Q.X, Q.Z);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->Y, Q.Y, Q.Z);
+}
+
+/*-
+ * Variable point scalar multiplication with "regular" wnaf.
+ */
+static void var_smul_rwnaf(pt_aff_t *out, const unsigned char scalar[64],
+ const pt_aff_t *P) {
+ int i, j, d, diff, is_neg;
+ char rnaf[103] = {0};
+ pt_prj_t Q, lut;
+ pt_prj_t precomp[DRADIX / 2];
+
+ precomp_wnaf(precomp, P);
+ scalar_rwnaf(rnaf, scalar);
+
+#if defined(_MSC_VER)
+ /* result still unsigned: yes we know */
+#pragma warning(push)
+#pragma warning(disable : 4146)
+#endif
+
+ /* initialize accumulator to high digit */
+ d = (rnaf[102] - 1) >> 1;
+ for (j = 0; j < DRADIX / 2; j++) {
+ diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.X, diff, Q.X,
+ precomp[j].X);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Y, diff, Q.Y,
+ precomp[j].Y);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.T, diff, Q.T,
+ precomp[j].T);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Z, diff, Q.Z,
+ precomp[j].Z);
+ }
+
+ for (i = 101; i >= 0; i--) {
+ for (j = 0; j < RADIX; j++) point_double(&Q, &Q);
+ d = rnaf[i];
+ /* is_neg = (d < 0) ? 1 : 0 */
+ is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
+ /* d = abs(d) */
+ d = (d ^ -is_neg) + is_neg;
+ d = (d - 1) >> 1;
+ for (j = 0; j < DRADIX / 2; j++) {
+ diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
+ lut.X, diff, lut.X, precomp[j].X);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
+ lut.Y, diff, lut.Y, precomp[j].Y);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
+ lut.T, diff, lut.T, precomp[j].T);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
+ lut.Z, diff, lut.Z, precomp[j].Z);
+ }
+ /* negate lut point if digit is negative */
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(out->X, lut.X);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(out->T, lut.T);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(lut.X, is_neg,
+ lut.X, out->X);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(lut.T, is_neg,
+ lut.T, out->T);
+ point_add_proj(&Q, &Q, &lut);
+ }
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
+
+ /* conditionally subtract P if the scalar was even */
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(lut.X, precomp[0].X);
+ fe_copy(lut.Y, precomp[0].Y);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(lut.T, precomp[0].T);
+ fe_copy(lut.Z, precomp[0].Z);
+ point_add_proj(&lut, &lut, &Q);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.X, scalar[0] & 1,
+ lut.X, Q.X);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Y, scalar[0] & 1,
+ lut.Y, Q.Y);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.T, scalar[0] & 1,
+ lut.T, Q.T);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Z, scalar[0] & 1,
+ lut.Z, Q.Z);
+
+ /* move from Edwards projective to legacy projective */
+ point_edwards2legacy(&Q, &Q);
+ /* convert to affine -- NB depends on coordinate system */
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_inv(Q.Z, Q.Z);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->X, Q.X, Q.Z);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->Y, Q.Y, Q.Z);
+}
+
+/*-
+ * Fixed scalar multiplication: comb with interleaving.
+ */
+static void fixed_smul_cmb(pt_aff_t *out, const unsigned char scalar[64]) {
+ int i, j, k, d, diff, is_neg = 0;
+ char rnaf[103] = {0};
+ pt_prj_t Q, R;
+ pt_aff_t lut;
+
+ scalar_rwnaf(rnaf, scalar);
+
+ /* initalize accumulator to inf */
+ fe_set_zero(Q.X);
+ fe_copy(Q.Y, const_one);
+ fe_set_zero(Q.T);
+ fe_copy(Q.Z, const_one);
+
+#if defined(_MSC_VER)
+ /* result still unsigned: yes we know */
+#pragma warning(push)
+#pragma warning(disable : 4146)
+#endif
+
+ for (i = 17; i >= 0; i--) {
+ for (j = 0; i != 17 && j < RADIX; j++) point_double(&Q, &Q);
+ for (j = 0; j < 7; j++) {
+ if (j * 18 + i > 102) continue;
+ d = rnaf[j * 18 + i];
+ /* is_neg = (d < 0) ? 1 : 0 */
+ is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
+ /* d = abs(d) */
+ d = (d ^ -is_neg) + is_neg;
+ d = (d - 1) >> 1;
+ for (k = 0; k < DRADIX / 2; k++) {
+ diff = (1 - (-(d ^ k) >> (8 * sizeof(int) - 1))) & 1;
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
+ lut.X, diff, lut.X, lut_cmb[j][k].X);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
+ lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
+ lut.T, diff, lut.T, lut_cmb[j][k].T);
+ }
+ /* negate lut point if digit is negative */
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(out->X, lut.X);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(out->T, lut.T);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(lut.X, is_neg,
+ lut.X, out->X);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(lut.T, is_neg,
+ lut.T, out->T);
+ point_add_mixed(&Q, &Q, &lut);
+ }
+ }
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
+
+ /* conditionally subtract P if the scalar was even */
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(lut.X, lut_cmb[0][0].X);
+ fe_copy(lut.Y, lut_cmb[0][0].Y);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(lut.T, lut_cmb[0][0].T);
+ point_add_mixed(&R, &Q, &lut);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.X, scalar[0] & 1, R.X,
+ Q.X);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Y, scalar[0] & 1, R.Y,
+ Q.Y);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.T, scalar[0] & 1, R.T,
+ Q.T);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Z, scalar[0] & 1, R.Z,
+ Q.Z);
+
+ /* move from Edwards projective to legacy projective */
+ point_edwards2legacy(&Q, &Q);
+ /* convert to affine -- NB depends on coordinate system */
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_inv(Q.Z, Q.Z);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->X, Q.X, Q.Z);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->Y, Q.Y, Q.Z);
+}
+
+static void point_mul_two(unsigned char outx[64], unsigned char outy[64],
+ const unsigned char a[64], const unsigned char b[64],
+ const unsigned char inx[64],
+ const unsigned char iny[64]) {
+ pt_aff_t P;
+
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes(P.X, inx);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes(P.Y, iny);
+ /* simultaneous scalar multiplication */
+ var_smul_wnaf_two(&P, a, b, &P);
+
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outx, P.X);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outy, P.Y);
+}
+
+static void point_mul_g(unsigned char outx[64], unsigned char outy[64],
+ const unsigned char scalar[64]) {
+ pt_aff_t P;
+
+ /* fixed scmul function */
+ fixed_smul_cmb(&P, scalar);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outx, P.X);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outy, P.Y);
+}
+
+static void point_mul(unsigned char outx[64], unsigned char outy[64],
+ const unsigned char scalar[64],
+ const unsigned char inx[64],
+ const unsigned char iny[64]) {
+ pt_aff_t P;
+
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes(P.X, inx);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes(P.Y, iny);
+ /* var scmul function */
+ var_smul_rwnaf(&P, scalar, &P);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outx, P.X);
+ fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outy, P.Y);
+}
+
+#include <openssl/ec.h>
+
+static const unsigned char const_zb[64] = {0};
+
+ int
+ point_mul_two_id_tc26_gost_3410_2012_512_paramSetC(
+ const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, const EC_POINT *q,
+ const BIGNUM *m, BN_CTX *ctx) {
+ int ret = 0;
+ unsigned char b_x[64];
+ unsigned char b_y[64];
+ unsigned char b_n[64];
+ unsigned char b_m[64];
+ BIGNUM *x = NULL, *y = NULL;
+
+ BN_CTX_start(ctx);
+ x = BN_CTX_get(ctx);
+ if ((y = BN_CTX_get(ctx)) == NULL
+ /* pull out coords as bytes */
+ || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
+ BN_bn2lebinpad(x, b_x, 64) != 64 || BN_bn2lebinpad(y, b_y, 64) != 64 ||
+ BN_bn2lebinpad(n, b_n, 64) != 64 || BN_bn2lebinpad(m, b_m, 64) != 64)
+ goto err;
+ /* do the simultaneous scalar multiplication */
+ point_mul_two(b_x, b_y, b_n, b_m, b_x, b_y);
+ /* check for infinity */
+ if (CRYPTO_memcmp(const_zb, b_x, 64) == 0 &&
+ CRYPTO_memcmp(const_zb, b_y, 64) == 0) {
+ if (!EC_POINT_set_to_infinity(group, r)) goto err;
+ } else {
+ /* otherwise, pack the bytes into the result */
+ if (BN_lebin2bn(b_x, 64, x) == NULL ||
+ BN_lebin2bn(b_y, 64, y) == NULL ||
+ !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
+ goto err;
+ }
+ ret = 1;
+err:
+ BN_CTX_end(ctx);
+ return ret;
+}
+
+ int
+ point_mul_id_tc26_gost_3410_2012_512_paramSetC(const EC_GROUP *group,
+ EC_POINT *r,
+ const EC_POINT *q,
+ const BIGNUM *m,
+ BN_CTX *ctx) {
+ int ret = 0;
+ unsigned char b_x[64];
+ unsigned char b_y[64];
+ unsigned char b_m[64];
+ BIGNUM *x = NULL, *y = NULL;
+
+ BN_CTX_start(ctx);
+ x = BN_CTX_get(ctx);
+ if ((y = BN_CTX_get(ctx)) == NULL
+ /* pull out coords as bytes */
+ || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
+ BN_bn2lebinpad(x, b_x, 64) != 64 || BN_bn2lebinpad(y, b_y, 64) != 64 ||
+ BN_bn2lebinpad(m, b_m, 64) != 64)
+ goto err;
+ /* do the variable scalar multiplication */
+ point_mul(b_x, b_y, b_m, b_x, b_y);
+ /* check for infinity */
+ if (CRYPTO_memcmp(const_zb, b_x, 64) == 0 &&
+ CRYPTO_memcmp(const_zb, b_y, 64) == 0) {
+ if (!EC_POINT_set_to_infinity(group, r)) goto err;
+ } else {
+ /* otherwise, pack the bytes into the result */
+ if (BN_lebin2bn(b_x, 64, x) == NULL ||
+ BN_lebin2bn(b_y, 64, y) == NULL ||
+ !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
+ goto err;
+ }
+ ret = 1;
+err:
+ BN_CTX_end(ctx);
+ return ret;
+}
+
+ int
+ point_mul_g_id_tc26_gost_3410_2012_512_paramSetC(const EC_GROUP *group,
+ EC_POINT *r,
+ const BIGNUM *n,
+ BN_CTX *ctx) {
+ int ret = 0;
+ unsigned char b_x[64];
+ unsigned char b_y[64];
+ unsigned char b_n[64];
+ BIGNUM *x = NULL, *y = NULL;
+
+ BN_CTX_start(ctx);
+ x = BN_CTX_get(ctx);
+ if ((y = BN_CTX_get(ctx)) == NULL || BN_bn2lebinpad(n, b_n, 64) != 64)
+ goto err;
+ /* do the fixed scalar multiplication */
+ point_mul_g(b_x, b_y, b_n);
+ /* check for infinity */
+ if (CRYPTO_memcmp(const_zb, b_x, 64) == 0 &&
+ CRYPTO_memcmp(const_zb, b_y, 64) == 0) {
+ if (!EC_POINT_set_to_infinity(group, r)) goto err;
+ } else {
+ /* otherwise, pack the bytes into the result */
+ if (BN_lebin2bn(b_x, 64, x) == NULL ||
+ BN_lebin2bn(b_y, 64, y) == NULL ||
+ !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
+ goto err;
+ }
+ ret = 1;
+err:
+ BN_CTX_end(ctx);
+ return ret;
+}
+
+
+
+#endif /* __SIZEOF_INT128__ */