]> www.wagner.pp.ru Git - openssl-gost/engine.git/commitdiff
GOST ECC optimizations (#263)
authorBilly Brumley <bbrumley@gmail.com>
Fri, 3 Jul 2020 15:27:23 +0000 (18:27 +0300)
committerGitHub <noreply@github.com>
Fri, 3 Jul 2020 15:27:23 +0000 (18:27 +0300)
Standalone EC implementations from ECCKiila.

https://gitlab.com/nisec/ecckiila

12 files changed:
CMakeLists.txt
ecp_id_GostR3410_2001_CryptoPro_A_ParamSet.c [new file with mode: 0644]
ecp_id_GostR3410_2001_CryptoPro_B_ParamSet.c [new file with mode: 0644]
ecp_id_GostR3410_2001_CryptoPro_C_ParamSet.c [new file with mode: 0644]
ecp_id_GostR3410_2001_TestParamSet.c [new file with mode: 0644]
ecp_id_tc26_gost_3410_2012_256_paramSetA.c [new file with mode: 0644]
ecp_id_tc26_gost_3410_2012_512_paramSetA.c [new file with mode: 0644]
ecp_id_tc26_gost_3410_2012_512_paramSetB.c [new file with mode: 0644]
ecp_id_tc26_gost_3410_2012_512_paramSetC.c [new file with mode: 0644]
gost_ec_keyx.c
gost_ec_sign.c
gost_lcl.h

index cee45356fbaa35570543e8dfb868fd1c66d6c4f2..1dd02c96ed773735f9d3bcbef7936c4a98e19783 100644 (file)
@@ -136,6 +136,14 @@ set(GOST_CORE_SOURCE_FILES
 set(GOST_EC_SOURCE_FILES
         gost_ec_keyx.c
         gost_ec_sign.c
+        ecp_id_GostR3410_2001_CryptoPro_A_ParamSet.c
+        ecp_id_GostR3410_2001_CryptoPro_B_ParamSet.c
+        ecp_id_GostR3410_2001_CryptoPro_C_ParamSet.c
+        ecp_id_GostR3410_2001_TestParamSet.c
+        ecp_id_tc26_gost_3410_2012_256_paramSetA.c
+        ecp_id_tc26_gost_3410_2012_512_paramSetA.c
+        ecp_id_tc26_gost_3410_2012_512_paramSetB.c
+        ecp_id_tc26_gost_3410_2012_512_paramSetC.c
         )
 
 set (GOST_OMAC_SOURCE_FILES
diff --git a/ecp_id_GostR3410_2001_CryptoPro_A_ParamSet.c b/ecp_id_GostR3410_2001_CryptoPro_A_ParamSet.c
new file mode 100644 (file)
index 0000000..e9389e6
--- /dev/null
@@ -0,0 +1,8532 @@
+/* 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 5
+/* 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_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(c, a, b) \
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_add(c, a, b);          \
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry(c, c)
+#define fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(c, a, b) \
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_sub(c, a, b);          \
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry(c, c)
+
+/* Projective points */
+typedef struct {
+    fe_t X;
+    fe_t Y;
+    fe_t Z;
+} pt_prj_t;
+
+/* Affine points */
+typedef struct {
+    fe_t X;
+    fe_t Y;
+} 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_GostR3410_2001_CryptoPro_A_ParamSet 64 5 '2^256 - 617' */
+/* curve description: id_GostR3410_2001_CryptoPro_A_ParamSet */
+/* machine_wordsize = 64 (from "64") */
+/* requested operations: (all) */
+/* n = 5 (from "5") */
+/* s-c = 2^256 - [(1, 617)] (from "2^256 - 617") */
+/* tight_bounds_multiplier = 1.1 (from "") */
+/*  */
+/* Computed values: */
+/* carry_chain = [0, 1, 2, 3, 4, 0, 1] */
+/* eval z = z[0] + (z[1] << 52) + (z[2] << 103) + (z[3] << 154) + (z[4] << 205) */
+/* 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) */
+
+#include <stdint.h>
+typedef unsigned char fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1;
+typedef signed char fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_int1;
+typedef signed __int128 fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_int128;
+typedef unsigned __int128 fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128;
+
+#if (-1 & 3) != 3
+#error "This code only works on a two's complement system"
+#endif
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_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_GostR3410_2001_CryptoPro_A_ParamSet_addcarryx_u52(
+    uint64_t *out1, fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 *out2,
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 arg1, uint64_t arg2,
+    uint64_t arg3) {
+    uint64_t x1;
+    uint64_t x2;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x3;
+    x1 = ((arg1 + arg2) + arg3);
+    x2 = (x1 & UINT64_C(0xfffffffffffff));
+    x3 = (fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1)(x1 >> 52);
+    *out1 = x2;
+    *out2 = x3;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_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_GostR3410_2001_CryptoPro_A_ParamSet_subborrowx_u52(
+    uint64_t *out1, fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 *out2,
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 arg1, uint64_t arg2,
+    uint64_t arg3) {
+    int64_t x1;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_int1 x2;
+    uint64_t x3;
+    x1 = ((int64_t)(arg2 - (int64_t)arg1) - (int64_t)arg3);
+    x2 = (fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_int1)(x1 >> 52);
+    x3 = (x1 & UINT64_C(0xfffffffffffff));
+    *out1 = x3;
+    *out2 = (fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1)(0x0 - x2);
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_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_GostR3410_2001_CryptoPro_A_ParamSet_addcarryx_u51(
+    uint64_t *out1, fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 *out2,
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 arg1, uint64_t arg2,
+    uint64_t arg3) {
+    uint64_t x1;
+    uint64_t x2;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x3;
+    x1 = ((arg1 + arg2) + arg3);
+    x2 = (x1 & UINT64_C(0x7ffffffffffff));
+    x3 = (fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1)(x1 >> 51);
+    *out1 = x2;
+    *out2 = x3;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_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_GostR3410_2001_CryptoPro_A_ParamSet_subborrowx_u51(
+    uint64_t *out1, fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 *out2,
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 arg1, uint64_t arg2,
+    uint64_t arg3) {
+    int64_t x1;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_int1 x2;
+    uint64_t x3;
+    x1 = ((int64_t)(arg2 - (int64_t)arg1) - (int64_t)arg3);
+    x2 = (fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_int1)(x1 >> 51);
+    x3 = (x1 & UINT64_C(0x7ffffffffffff));
+    *out1 = x3;
+    *out2 = (fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1)(0x0 - x2);
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_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_GostR3410_2001_CryptoPro_A_ParamSet_cmovznz_u64(
+    uint64_t *out1, fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 arg1,
+    uint64_t arg2, uint64_t arg3) {
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x1;
+    uint64_t x2;
+    uint64_t x3;
+    x1 = (!(!arg1));
+    x2 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_int1)(0x0 - x1) &
+          UINT64_C(0xffffffffffffffff));
+    x3 = ((x2 & arg3) | ((~x2) & arg2));
+    *out1 = x3;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_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]]
+ *   arg2: [[0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(
+    uint64_t out1[5], const uint64_t arg1[5], const uint64_t arg2[5]) {
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x1;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x2;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x3;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x4;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x5;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x6;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x7;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x8;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x9;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x10;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x11;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x12;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x13;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x14;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x15;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x16;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x17;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x18;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x19;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x20;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x21;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x22;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x23;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x24;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x25;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x26;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x27;
+    uint64_t x28;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x29;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x30;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x31;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x32;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x33;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x34;
+    uint64_t x35;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x36;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x37;
+    uint64_t x38;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x39;
+    uint64_t x40;
+    uint64_t x41;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x42;
+    uint64_t x43;
+    uint64_t x44;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x45;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x46;
+    uint64_t x47;
+    uint64_t x48;
+    uint64_t x49;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x50;
+    uint64_t x51;
+    uint64_t x52;
+    x1 = (UINT16_C(0x269) *
+          ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[4]) *
+           (arg2[4])));
+    x2 = (UINT16_C(0x269) *
+          ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[4]) *
+           (arg2[3])));
+    x3 = (UINT16_C(0x269) *
+          ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[4]) *
+           (arg2[2])));
+    x4 = (UINT16_C(0x269) *
+          (((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[4]) *
+            (arg2[1])) *
+           0x2));
+    x5 = (UINT16_C(0x269) *
+          ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[3]) *
+           (arg2[4])));
+    x6 = (UINT16_C(0x269) *
+          ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[3]) *
+           (arg2[3])));
+    x7 = (UINT16_C(0x269) *
+          (((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[3]) *
+            (arg2[2])) *
+           0x2));
+    x8 = (UINT16_C(0x269) *
+          ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[2]) *
+           (arg2[4])));
+    x9 = (UINT16_C(0x269) *
+          (((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[2]) *
+            (arg2[3])) *
+           0x2));
+    x10 = (UINT16_C(0x269) *
+           (((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[1]) *
+             (arg2[4])) *
+            0x2));
+    x11 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[4]) *
+           (arg2[0]));
+    x12 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[3]) *
+           ((arg2[1]) * 0x2));
+    x13 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[3]) *
+           (arg2[0]));
+    x14 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[2]) *
+           ((arg2[2]) * 0x2));
+    x15 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[2]) *
+           ((arg2[1]) * 0x2));
+    x16 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[2]) *
+           (arg2[0]));
+    x17 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[1]) *
+           ((arg2[3]) * 0x2));
+    x18 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[1]) *
+           ((arg2[2]) * 0x2));
+    x19 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[1]) *
+           ((arg2[1]) * 0x2));
+    x20 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[1]) *
+           (arg2[0]));
+    x21 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[0]) *
+           (arg2[4]));
+    x22 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[0]) *
+           (arg2[3]));
+    x23 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[0]) *
+           (arg2[2]));
+    x24 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[0]) *
+           (arg2[1]));
+    x25 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[0]) *
+           (arg2[0]));
+    x26 = (x25 + (x10 + (x9 + (x7 + x4))));
+    x27 = (x26 >> 52);
+    x28 = (uint64_t)(x26 & UINT64_C(0xfffffffffffff));
+    x29 = (x21 + (x17 + (x14 + (x12 + x11))));
+    x30 = (x22 + (x18 + (x15 + (x13 + x1))));
+    x31 = (x23 + (x19 + (x16 + (x5 + x2))));
+    x32 = (x24 + (x20 + (x8 + (x6 + x3))));
+    x33 = (x27 + x32);
+    x34 = (x33 >> 51);
+    x35 = (uint64_t)(x33 & UINT64_C(0x7ffffffffffff));
+    x36 = (x34 + x31);
+    x37 = (x36 >> 51);
+    x38 = (uint64_t)(x36 & UINT64_C(0x7ffffffffffff));
+    x39 = (x37 + x30);
+    x40 = (uint64_t)(x39 >> 51);
+    x41 = (uint64_t)(x39 & UINT64_C(0x7ffffffffffff));
+    x42 = (x40 + x29);
+    x43 = (uint64_t)(x42 >> 51);
+    x44 = (uint64_t)(x42 & UINT64_C(0x7ffffffffffff));
+    x45 =
+        ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)UINT16_C(0x269) *
+         x43);
+    x46 = (x28 + x45);
+    x47 = (uint64_t)(x46 >> 52);
+    x48 = (uint64_t)(x46 & UINT64_C(0xfffffffffffff));
+    x49 = (x47 + x35);
+    x50 = (fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1)(x49 >> 51);
+    x51 = (x49 & UINT64_C(0x7ffffffffffff));
+    x52 = (x50 + x38);
+    out1[0] = x48;
+    out1[1] = x51;
+    out1[2] = x52;
+    out1[3] = x41;
+    out1[4] = x44;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_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]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(
+    uint64_t out1[5], const uint64_t arg1[5]) {
+    uint64_t x1;
+    uint64_t x2;
+    uint64_t x3;
+    uint64_t x4;
+    uint64_t x5;
+    uint64_t x6;
+    uint64_t x7;
+    uint64_t x8;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x9;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x10;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x11;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x12;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x13;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x14;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x15;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x16;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x17;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x18;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x19;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x20;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x21;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x22;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x23;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x24;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x25;
+    uint64_t x26;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x27;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x28;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x29;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x30;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x31;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x32;
+    uint64_t x33;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x34;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x35;
+    uint64_t x36;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x37;
+    uint64_t x38;
+    uint64_t x39;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x40;
+    uint64_t x41;
+    uint64_t x42;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x43;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128 x44;
+    uint64_t x45;
+    uint64_t x46;
+    uint64_t x47;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x48;
+    uint64_t x49;
+    uint64_t x50;
+    x1 = ((arg1[4]) * UINT16_C(0x269));
+    x2 = (x1 * 0x2);
+    x3 = ((arg1[4]) * 0x2);
+    x4 = ((arg1[3]) * UINT16_C(0x269));
+    x5 = (x4 * 0x2);
+    x6 = ((arg1[3]) * 0x2);
+    x7 = ((arg1[2]) * 0x2);
+    x8 = ((arg1[1]) * 0x2);
+    x9 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[4]) * x1);
+    x10 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[3]) * x2);
+    x11 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[3]) * x4);
+    x12 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[2]) * x2);
+    x13 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[2]) *
+           (x5 * 0x2));
+    x14 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[2]) *
+           ((arg1[2]) * 0x2));
+    x15 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[1]) *
+           (x2 * 0x2));
+    x16 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[1]) *
+           (x6 * 0x2));
+    x17 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[1]) *
+           (x7 * 0x2));
+    x18 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[1]) *
+           ((arg1[1]) * 0x2));
+    x19 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[0]) * x3);
+    x20 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[0]) * x6);
+    x21 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[0]) * x7);
+    x22 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[0]) * x8);
+    x23 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)(arg1[0]) *
+           (arg1[0]));
+    x24 = (x23 + (x15 + x13));
+    x25 = (x24 >> 52);
+    x26 = (uint64_t)(x24 & UINT64_C(0xfffffffffffff));
+    x27 = (x19 + (x16 + x14));
+    x28 = (x20 + (x17 + x9));
+    x29 = (x21 + (x18 + x10));
+    x30 = (x22 + (x12 + x11));
+    x31 = (x25 + x30);
+    x32 = (x31 >> 51);
+    x33 = (uint64_t)(x31 & UINT64_C(0x7ffffffffffff));
+    x34 = (x32 + x29);
+    x35 = (x34 >> 51);
+    x36 = (uint64_t)(x34 & UINT64_C(0x7ffffffffffff));
+    x37 = (x35 + x28);
+    x38 = (uint64_t)(x37 >> 51);
+    x39 = (uint64_t)(x37 & UINT64_C(0x7ffffffffffff));
+    x40 = (x38 + x27);
+    x41 = (uint64_t)(x40 >> 51);
+    x42 = (uint64_t)(x40 & UINT64_C(0x7ffffffffffff));
+    x43 =
+        ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint128)UINT16_C(0x269) *
+         x41);
+    x44 = (x26 + x43);
+    x45 = (uint64_t)(x44 >> 52);
+    x46 = (uint64_t)(x44 & UINT64_C(0xfffffffffffff));
+    x47 = (x45 + x33);
+    x48 = (fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1)(x47 >> 51);
+    x49 = (x47 & UINT64_C(0x7ffffffffffff));
+    x50 = (x48 + x36);
+    out1[0] = x46;
+    out1[1] = x49;
+    out1[2] = x50;
+    out1[3] = x39;
+    out1[4] = x42;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_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]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry(
+    uint64_t out1[5], const uint64_t arg1[5]) {
+    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;
+    x1 = (arg1[0]);
+    x2 = ((x1 >> 52) + (arg1[1]));
+    x3 = ((x2 >> 51) + (arg1[2]));
+    x4 = ((x3 >> 51) + (arg1[3]));
+    x5 = ((x4 >> 51) + (arg1[4]));
+    x6 = ((x1 & UINT64_C(0xfffffffffffff)) + (UINT16_C(0x269) * (x5 >> 51)));
+    x7 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1)(x6 >> 52) +
+          (x2 & UINT64_C(0x7ffffffffffff)));
+    x8 = (x6 & UINT64_C(0xfffffffffffff));
+    x9 = (x7 & UINT64_C(0x7ffffffffffff));
+    x10 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1)(x7 >> 51) +
+           (x3 & UINT64_C(0x7ffffffffffff)));
+    x11 = (x4 & UINT64_C(0x7ffffffffffff));
+    x12 = (x5 & UINT64_C(0x7ffffffffffff));
+    out1[0] = x8;
+    out1[1] = x9;
+    out1[2] = x10;
+    out1[3] = x11;
+    out1[4] = x12;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_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]]
+ *   arg2: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_add(
+    uint64_t out1[5], const uint64_t arg1[5], const uint64_t arg2[5]) {
+    uint64_t x1;
+    uint64_t x2;
+    uint64_t x3;
+    uint64_t x4;
+    uint64_t x5;
+    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]));
+    out1[0] = x1;
+    out1[1] = x2;
+    out1[2] = x3;
+    out1[3] = x4;
+    out1[4] = x5;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_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]]
+ *   arg2: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_sub(
+    uint64_t out1[5], const uint64_t arg1[5], const uint64_t arg2[5]) {
+    uint64_t x1;
+    uint64_t x2;
+    uint64_t x3;
+    uint64_t x4;
+    uint64_t x5;
+    x1 = ((UINT64_C(0x1ffffffffffb2e) + (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]));
+    out1[0] = x1;
+    out1[1] = x2;
+    out1[2] = x3;
+    out1[3] = x4;
+    out1[4] = x5;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_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]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_opp(
+    uint64_t out1[5], const uint64_t arg1[5]) {
+    uint64_t x1;
+    uint64_t x2;
+    uint64_t x3;
+    uint64_t x4;
+    uint64_t x5;
+    x1 = (UINT64_C(0x1ffffffffffb2e) - (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]));
+    out1[0] = x1;
+    out1[1] = x2;
+    out1[2] = x3;
+    out1[3] = x4;
+    out1[4] = x5;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_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]]
+ *   arg3: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(
+    uint64_t out1[5], fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 arg1,
+    const uint64_t arg2[5], const uint64_t arg3[5]) {
+    uint64_t x1;
+    uint64_t x2;
+    uint64_t x3;
+    uint64_t x4;
+    uint64_t x5;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_cmovznz_u64(
+        &x1, arg1, (arg2[0]), (arg3[0]));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_cmovznz_u64(
+        &x2, arg1, (arg2[1]), (arg3[1]));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_cmovznz_u64(
+        &x3, arg1, (arg2[2]), (arg3[2]));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_cmovznz_u64(
+        &x4, arg1, (arg2[3]), (arg3[3]));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_cmovznz_u64(
+        &x5, arg1, (arg2[4]), (arg3[4]));
+    out1[0] = x1;
+    out1[1] = x2;
+    out1[2] = x3;
+    out1[3] = x4;
+    out1[4] = x5;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_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..31]
+ *
+ * Input Bounds:
+ *   arg1: [[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]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_to_bytes(
+    uint8_t out1[32], const uint64_t arg1[5]) {
+    uint64_t x1;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x2;
+    uint64_t x3;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x4;
+    uint64_t x5;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x6;
+    uint64_t x7;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x8;
+    uint64_t x9;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x10;
+    uint64_t x11;
+    uint64_t x12;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x13;
+    uint64_t x14;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x15;
+    uint64_t x16;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x17;
+    uint64_t x18;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x19;
+    uint64_t x20;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x21;
+    uint64_t x22;
+    uint64_t x23;
+    uint64_t x24;
+    uint64_t x25;
+    uint64_t x26;
+    uint8_t x27;
+    uint64_t x28;
+    uint8_t x29;
+    uint64_t x30;
+    uint8_t x31;
+    uint64_t x32;
+    uint8_t x33;
+    uint64_t x34;
+    uint8_t x35;
+    uint8_t x36;
+    uint8_t x37;
+    uint64_t x38;
+    uint64_t x39;
+    uint8_t x40;
+    uint64_t x41;
+    uint8_t x42;
+    uint64_t x43;
+    uint8_t x44;
+    uint64_t x45;
+    uint8_t x46;
+    uint64_t x47;
+    uint8_t x48;
+    uint8_t x49;
+    uint8_t x50;
+    uint64_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;
+    uint64_t x60;
+    uint8_t x61;
+    uint64_t x62;
+    uint8_t x63;
+    uint8_t x64;
+    uint8_t x65;
+    uint64_t x66;
+    uint64_t x67;
+    uint8_t x68;
+    uint64_t x69;
+    uint8_t x70;
+    uint64_t x71;
+    uint8_t x72;
+    uint64_t x73;
+    uint8_t x74;
+    uint64_t x75;
+    uint8_t x76;
+    uint8_t x77;
+    uint8_t x78;
+    uint64_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;
+    uint64_t x88;
+    uint8_t x89;
+    uint8_t x90;
+    uint8_t x91;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_subborrowx_u52(
+        &x1, &x2, 0x0, (arg1[0]), UINT64_C(0xffffffffffd97));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_subborrowx_u51(
+        &x3, &x4, x2, (arg1[1]), UINT64_C(0x7ffffffffffff));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_subborrowx_u51(
+        &x5, &x6, x4, (arg1[2]), UINT64_C(0x7ffffffffffff));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_subborrowx_u51(
+        &x7, &x8, x6, (arg1[3]), UINT64_C(0x7ffffffffffff));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_subborrowx_u51(
+        &x9, &x10, x8, (arg1[4]), UINT64_C(0x7ffffffffffff));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_cmovznz_u64(
+        &x11, x10, 0x0, UINT64_C(0xffffffffffffffff));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_addcarryx_u52(
+        &x12, &x13, 0x0, x1, (x11 & UINT64_C(0xffffffffffd97)));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_addcarryx_u51(
+        &x14, &x15, x13, x3, (x11 & UINT64_C(0x7ffffffffffff)));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_addcarryx_u51(
+        &x16, &x17, x15, x5, (x11 & UINT64_C(0x7ffffffffffff)));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_addcarryx_u51(
+        &x18, &x19, x17, x7, (x11 & UINT64_C(0x7ffffffffffff)));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_addcarryx_u51(
+        &x20, &x21, x19, x9, (x11 & UINT64_C(0x7ffffffffffff)));
+    x22 = (x20 << 5);
+    x23 = (x18 << 2);
+    x24 = (x16 << 7);
+    x25 = (x14 << 4);
+    x26 = (x12 >> 8);
+    x27 = (uint8_t)(x12 & UINT8_C(0xff));
+    x28 = (x26 >> 8);
+    x29 = (uint8_t)(x26 & UINT8_C(0xff));
+    x30 = (x28 >> 8);
+    x31 = (uint8_t)(x28 & UINT8_C(0xff));
+    x32 = (x30 >> 8);
+    x33 = (uint8_t)(x30 & UINT8_C(0xff));
+    x34 = (x32 >> 8);
+    x35 = (uint8_t)(x32 & UINT8_C(0xff));
+    x36 = (uint8_t)(x34 >> 8);
+    x37 = (uint8_t)(x34 & UINT8_C(0xff));
+    x38 = (x36 + x25);
+    x39 = (x38 >> 8);
+    x40 = (uint8_t)(x38 & UINT8_C(0xff));
+    x41 = (x39 >> 8);
+    x42 = (uint8_t)(x39 & UINT8_C(0xff));
+    x43 = (x41 >> 8);
+    x44 = (uint8_t)(x41 & UINT8_C(0xff));
+    x45 = (x43 >> 8);
+    x46 = (uint8_t)(x43 & UINT8_C(0xff));
+    x47 = (x45 >> 8);
+    x48 = (uint8_t)(x45 & UINT8_C(0xff));
+    x49 = (uint8_t)(x47 >> 8);
+    x50 = (uint8_t)(x47 & UINT8_C(0xff));
+    x51 = (x49 + x24);
+    x52 = (x51 >> 8);
+    x53 = (uint8_t)(x51 & 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 = (x58 >> 8);
+    x61 = (uint8_t)(x58 & UINT8_C(0xff));
+    x62 = (x60 >> 8);
+    x63 = (uint8_t)(x60 & UINT8_C(0xff));
+    x64 = (uint8_t)(x62 >> 8);
+    x65 = (uint8_t)(x62 & UINT8_C(0xff));
+    x66 = (x64 + x23);
+    x67 = (x66 >> 8);
+    x68 = (uint8_t)(x66 & UINT8_C(0xff));
+    x69 = (x67 >> 8);
+    x70 = (uint8_t)(x67 & UINT8_C(0xff));
+    x71 = (x69 >> 8);
+    x72 = (uint8_t)(x69 & UINT8_C(0xff));
+    x73 = (x71 >> 8);
+    x74 = (uint8_t)(x71 & UINT8_C(0xff));
+    x75 = (x73 >> 8);
+    x76 = (uint8_t)(x73 & UINT8_C(0xff));
+    x77 = (uint8_t)(x75 >> 8);
+    x78 = (uint8_t)(x75 & UINT8_C(0xff));
+    x79 = (x77 + x22);
+    x80 = (x79 >> 8);
+    x81 = (uint8_t)(x79 & 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 = (x86 >> 8);
+    x89 = (uint8_t)(x86 & UINT8_C(0xff));
+    x90 = (uint8_t)(x88 >> 8);
+    x91 = (uint8_t)(x88 & UINT8_C(0xff));
+    out1[0] = x27;
+    out1[1] = x29;
+    out1[2] = x31;
+    out1[3] = x33;
+    out1[4] = x35;
+    out1[5] = x37;
+    out1[6] = x40;
+    out1[7] = x42;
+    out1[8] = x44;
+    out1[9] = x46;
+    out1[10] = x48;
+    out1[11] = x50;
+    out1[12] = x53;
+    out1[13] = x55;
+    out1[14] = x57;
+    out1[15] = x59;
+    out1[16] = x61;
+    out1[17] = x63;
+    out1[18] = x65;
+    out1[19] = x68;
+    out1[20] = x70;
+    out1[21] = x72;
+    out1[22] = x74;
+    out1[23] = x76;
+    out1[24] = x78;
+    out1[25] = x81;
+    out1[26] = x83;
+    out1[27] = x85;
+    out1[28] = x87;
+    out1[29] = x89;
+    out1[30] = x91;
+    out1[31] = x90;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_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]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_from_bytes(
+    uint64_t out1[5], const uint8_t arg1[32]) {
+    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;
+    uint8_t x34;
+    uint64_t x35;
+    uint64_t x36;
+    uint64_t x37;
+    uint64_t x38;
+    uint64_t x39;
+    uint64_t x40;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x41;
+    uint64_t x42;
+    uint64_t x43;
+    uint8_t x44;
+    uint64_t x45;
+    uint64_t x46;
+    uint8_t x47;
+    uint64_t x48;
+    uint64_t x49;
+    x1 = ((uint64_t)(arg1[31]) << 43);
+    x2 = ((uint64_t)(arg1[30]) << 35);
+    x3 = ((uint64_t)(arg1[29]) << 27);
+    x4 = ((uint64_t)(arg1[28]) << 19);
+    x5 = ((uint64_t)(arg1[27]) << 11);
+    x6 = ((uint64_t)(arg1[26]) << 3);
+    x7 = ((uint64_t)(arg1[25]) << 46);
+    x8 = ((uint64_t)(arg1[24]) << 38);
+    x9 = ((uint64_t)(arg1[23]) << 30);
+    x10 = ((uint64_t)(arg1[22]) << 22);
+    x11 = ((uint64_t)(arg1[21]) << 14);
+    x12 = ((uint64_t)(arg1[20]) << 6);
+    x13 = ((uint64_t)(arg1[19]) << 49);
+    x14 = ((uint64_t)(arg1[18]) << 41);
+    x15 = ((uint64_t)(arg1[17]) << 33);
+    x16 = ((uint64_t)(arg1[16]) << 25);
+    x17 = ((uint64_t)(arg1[15]) << 17);
+    x18 = ((uint64_t)(arg1[14]) << 9);
+    x19 = ((uint64_t)(arg1[13]) * 0x2);
+    x20 = ((uint64_t)(arg1[12]) << 44);
+    x21 = ((uint64_t)(arg1[11]) << 36);
+    x22 = ((uint64_t)(arg1[10]) << 28);
+    x23 = ((uint64_t)(arg1[9]) << 20);
+    x24 = ((uint64_t)(arg1[8]) << 12);
+    x25 = ((uint64_t)(arg1[7]) << 4);
+    x26 = ((uint64_t)(arg1[6]) << 48);
+    x27 = ((uint64_t)(arg1[5]) << 40);
+    x28 = ((uint64_t)(arg1[4]) << 32);
+    x29 = ((uint64_t)(arg1[3]) << 24);
+    x30 = ((uint64_t)(arg1[2]) << 16);
+    x31 = ((uint64_t)(arg1[1]) << 8);
+    x32 = (arg1[0]);
+    x33 = (x32 + (x31 + (x30 + (x29 + (x28 + (x27 + x26))))));
+    x34 = (uint8_t)(x33 >> 52);
+    x35 = (x33 & UINT64_C(0xfffffffffffff));
+    x36 = (x6 + (x5 + (x4 + (x3 + (x2 + x1)))));
+    x37 = (x12 + (x11 + (x10 + (x9 + (x8 + x7)))));
+    x38 = (x19 + (x18 + (x17 + (x16 + (x15 + (x14 + x13))))));
+    x39 = (x25 + (x24 + (x23 + (x22 + (x21 + x20)))));
+    x40 = (x34 + x39);
+    x41 = (fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1)(x40 >> 51);
+    x42 = (x40 & UINT64_C(0x7ffffffffffff));
+    x43 = (x41 + x38);
+    x44 = (uint8_t)(x43 >> 51);
+    x45 = (x43 & UINT64_C(0x7ffffffffffff));
+    x46 = (x44 + x37);
+    x47 = (uint8_t)(x46 >> 51);
+    x48 = (x46 & UINT64_C(0x7ffffffffffff));
+    x49 = (x47 + x36);
+    out1[0] = x35;
+    out1[1] = x42;
+    out1[2] = x45;
+    out1[3] = x48;
+    out1[4] = x49;
+}
+
+/* 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_GostR3410_2001_CryptoPro_A_ParamSet/fe_inv.op3
+ * custom repunit addition chain
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_inv(fe_t output,
+                                                            const fe_t t1) {
+    int i;
+    /* temporary variables */
+    fe_t acc, t16, t164, t2, t246, t32, t4, t64, t8, t80, t82;
+
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, t1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t2, acc, t1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t4, acc, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, t4);
+    for (i = 0; i < 3; i++)
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t8, acc, t4);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, t8);
+    for (i = 0; i < 7; i++)
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t16, acc, t8);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, t16);
+    for (i = 0; i < 15; i++)
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t32, acc, t16);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, t32);
+    for (i = 0; i < 31; i++)
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t64, acc, t32);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, t64);
+    for (i = 0; i < 15; i++)
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t80, acc, t16);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, t80);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t82, acc, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, t82);
+    for (i = 0; i < 81; i++)
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t164, acc, t82);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, t164);
+    for (i = 0; i < 81; i++)
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t246, acc, t82);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, t246);
+    for (i = 0; i < 2; i++)
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(acc, acc, t2);
+    for (i = 0; i < 3; i++)
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(acc, acc, t1);
+    for (i = 0; i < 2; i++)
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(acc, acc, t1);
+    for (i = 0; i < 2; i++)
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(output, acc, t1);
+}
+
+/* curve coefficient constants */
+
+static const limb_t const_one[5] = {
+    UINT64_C(0x0000000000000001), UINT64_C(0x0000000000000000),
+    UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000),
+    UINT64_C(0x0000000000000000)};
+
+static const limb_t const_b[5] = {
+    UINT64_C(0x00000000000000A6), UINT64_C(0x0000000000000000),
+    UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000),
+    UINT64_C(0x0000000000000000)};
+
+/* LUT for scalar multiplication by comb interleaving */
+static const pt_aff_t lut_cmb[19][16] = {
+    {
+        {{UINT64_C(0x0000000000000001), UINT64_C(0x0000000000000000),
+          UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000),
+          UINT64_C(0x0000000000000000)},
+         {UINT64_C(0x000CC99C9E9F1E14), UINT64_C(0x0002DDF23E3B122A),
+          UINT64_C(0x00027E56EC6A529E), UINT64_C(0x00073689F7D41691),
+          UINT64_C(0x00046C8F238F04C4)}},
+        {{UINT64_C(0x0008E38E38E38D2C), UINT64_C(0x00038E38E38E38E3),
+          UINT64_C(0x000471C71C71C71C), UINT64_C(0x00038E38E38E38E3),
+          UINT64_C(0x000471C71C71C71C)},
+         {UINT64_C(0x000117796B788A51), UINT64_C(0x0004C838768E8486),
+          UINT64_C(0x00074D9B0424CF52), UINT64_C(0x00041075366EBD41),
+          UINT64_C(0x0003B5E68E54D11D)}},
+        {{UINT64_C(0x00001C387172C029), UINT64_C(0x0004279B488F6F02),
+          UINT64_C(0x0004F05E34B15AD6), UINT64_C(0x000258F0DA65A32D),
+          UINT64_C(0x000483B001F0C3C7)},
+         {UINT64_C(0x0004823B068D7CC0), UINT64_C(0x0000C7FD37B58763),
+          UINT64_C(0x00067ED904B1D771), UINT64_C(0x0001D38686A8A56B),
+          UINT64_C(0x000484B93D728EA1)}},
+        {{UINT64_C(0x0008EA01E4196EE1), UINT64_C(0x00034905BF5B297A),
+          UINT64_C(0x0007447C611BEF5E), UINT64_C(0x00001829AE7D7ADB),
+          UINT64_C(0x00017EEC8CA66B06)},
+         {UINT64_C(0x0000C10C4D0125FB), UINT64_C(0x000020A9F3F3A624),
+          UINT64_C(0x00027103CEF472D6), UINT64_C(0x0000B8216E293D29),
+          UINT64_C(0x0000E3FA5A98C242)}},
+        {{UINT64_C(0x0007A462275ECDA3), UINT64_C(0x00018C170DFCB702),
+          UINT64_C(0x000241E756E56216), UINT64_C(0x000771F4F24A295D),
+          UINT64_C(0x0005B7CB06F71A0F)},
+         {UINT64_C(0x000328AD395ED26A), UINT64_C(0x0001CAF70A8E7168),
+          UINT64_C(0x0000FF8BE664695F), UINT64_C(0x0007E4184137AE67),
+          UINT64_C(0x00069DFB4A32D69E)}},
+        {{UINT64_C(0x00022F3D1A834086), UINT64_C(0x00041ECA3623B485),
+          UINT64_C(0x000674297E63115C), UINT64_C(0x000406C9C5D3F28F),
+          UINT64_C(0x00031EE39C279CEE)},
+         {UINT64_C(0x00053F08BBC2FF84), UINT64_C(0x000468767960B588),
+          UINT64_C(0x000495E5AD5F0D51), UINT64_C(0x0007102439DB689C),
+          UINT64_C(0x00064070B2980D03)}},
+        {{UINT64_C(0x00062E8F3CBBCCCD), UINT64_C(0x0004BFF4EEFAA5B5),
+          UINT64_C(0x0006C21A84538998), UINT64_C(0x0007A46150B4D83D),
+          UINT64_C(0x00028C30C35CB4DC)},
+         {UINT64_C(0x0009EBBD29C26CB2), UINT64_C(0x0007BAF9C97927A1),
+          UINT64_C(0x0000F1391B4F0F65), UINT64_C(0x0001A44160EE4057),
+          UINT64_C(0x0001EADEA8B087CC)}},
+        {{UINT64_C(0x000BD2800F7C58E2), UINT64_C(0x0006AA0FC8C17CF8),
+          UINT64_C(0x00012B72E124E103), UINT64_C(0x0007A22A20C37ACD),
+          UINT64_C(0x00051583FBF07955)},
+         {UINT64_C(0x000A705E55B12811), UINT64_C(0x00077F24806A4501),
+          UINT64_C(0x00016CDB1FF83072), UINT64_C(0x0001FE2D523F7B40),
+          UINT64_C(0x00002B561CD86E47)}},
+        {{UINT64_C(0x000DD0548C39A634), UINT64_C(0x0007E5C8D222E7F3),
+          UINT64_C(0x00077AFB529FB66D), UINT64_C(0x0007FE6BB0F0E041),
+          UINT64_C(0x0001D44AD8E8E1BB)},
+         {UINT64_C(0x000800FACA51071C), UINT64_C(0x0001B75CB6825594),
+          UINT64_C(0x000524055248074A), UINT64_C(0x0001FEC05998A037),
+          UINT64_C(0x000418509ED45EDE)}},
+        {{UINT64_C(0x0004116786EF5595), UINT64_C(0x0002FDC9F0A70AF6),
+          UINT64_C(0x0001393C9E2010EB), UINT64_C(0x000159CE63616097),
+          UINT64_C(0x0002C31D8791CB8B)},
+         {UINT64_C(0x0008485469328440), UINT64_C(0x00010DBB94FF5733),
+          UINT64_C(0x000187E16B5054CE), UINT64_C(0x0007A1C20E552236),
+          UINT64_C(0x00074B00D96EDD39)}},
+        {{UINT64_C(0x00021E11C9041497), UINT64_C(0x000484A9E464D228),
+          UINT64_C(0x00038D73E99FC3A5), UINT64_C(0x00037B99E592B813),
+          UINT64_C(0x0005F3E5DF4C9D8E)},
+         {UINT64_C(0x000369BDE19C53EC), UINT64_C(0x0006C90BB44FF031),
+          UINT64_C(0x0002730C7A423157), UINT64_C(0x0004733CD7C2CEF1),
+          UINT64_C(0x00001779F421C860)}},
+        {{UINT64_C(0x0006444B2FC84A66), UINT64_C(0x00045CDBBBD00846),
+          UINT64_C(0x0003B7859658B40F), UINT64_C(0x0006F9C075FA8F30),
+          UINT64_C(0x0004C55A76F5ABEE)},
+         {UINT64_C(0x0009AE065EC53CD0), UINT64_C(0x00026684080415BE),
+          UINT64_C(0x0005AA8D964E4BA5), UINT64_C(0x000230B8100D807C),
+          UINT64_C(0x000415674003896E)}},
+        {{UINT64_C(0x000F7D10028B07C5), UINT64_C(0x0001CCB108309571),
+          UINT64_C(0x00058D8CE498E384), UINT64_C(0x00054AA65A376DB0),
+          UINT64_C(0x00007F4C660D79DC)},
+         {UINT64_C(0x000FF278A9B6438D), UINT64_C(0x0004E340FE2BB231),
+          UINT64_C(0x000699E71D615994), UINT64_C(0x000655479DBE2221),
+          UINT64_C(0x0005C130AB3BD570)}},
+        {{UINT64_C(0x000C6388B4B53E9C), UINT64_C(0x0000402286282147),
+          UINT64_C(0x0002516CD8798759), UINT64_C(0x0007B179435AC419),
+          UINT64_C(0x00018CEE31A89C76)},
+         {UINT64_C(0x0000AB9AD0EC3379), UINT64_C(0x00065281151DE966),
+          UINT64_C(0x00071CA903B27001), UINT64_C(0x0000E28FBCB94233),
+          UINT64_C(0x00060976D76A3184)}},
+        {{UINT64_C(0x0006D77EB1685C39), UINT64_C(0x0003CF8EE0115505),
+          UINT64_C(0x00078D2B24AB1841), UINT64_C(0x00061B46CB0C6A81),
+          UINT64_C(0x0002AF8490D4D499)},
+         {UINT64_C(0x00056E3A3305760A), UINT64_C(0x00043B60E22B14EE),
+          UINT64_C(0x000020C4845CFE0F), UINT64_C(0x0003D68AC0F06CA8),
+          UINT64_C(0x000722A37E92E49C)}},
+        {{UINT64_C(0x000A5F6FECDB7020), UINT64_C(0x00042B43E7540E44),
+          UINT64_C(0x0002BD2B2059E2FE), UINT64_C(0x000631E18BEC8A26),
+          UINT64_C(0x000580E22EFE7168)},
+         {UINT64_C(0x0003035DF13C5516), UINT64_C(0x000682989776C95E),
+          UINT64_C(0x000049780CDE914A), UINT64_C(0x000182478A356286),
+          UINT64_C(0x0002945A3EE07E65)}},
+    },
+    {
+        {{UINT64_C(0x0005A339F915A14B), UINT64_C(0x000715D733BA9825),
+          UINT64_C(0x00023A52A2A78CA6), UINT64_C(0x0005B164EB92A51B),
+          UINT64_C(0x00045D9A30B0E65F)},
+         {UINT64_C(0x000ADD23F0E6BE0F), UINT64_C(0x0004271FA00AECFF),
+          UINT64_C(0x0006F2881FB40864), UINT64_C(0x00034A01B35FC99B),
+          UINT64_C(0x00058D1D8F643FFF)}},
+        {{UINT64_C(0x000A0A4C877DD1B7), UINT64_C(0x00002B58C866A837),
+          UINT64_C(0x0004B11FDE6972BD), UINT64_C(0x000525D5FEF644F2),
+          UINT64_C(0x00028801D60D33EB)},
+         {UINT64_C(0x000B74AA40171DE8), UINT64_C(0x0001482D80E7BB1C),
+          UINT64_C(0x0006C7B54BF123BD), UINT64_C(0x00044EE83E8AAB32),
+          UINT64_C(0x0001F0E12809FA9D)}},
+        {{UINT64_C(0x00066A9CFB2131C9), UINT64_C(0x0001579B4E7D1E27),
+          UINT64_C(0x0004032CBC5CCC2F), UINT64_C(0x000212394FCE5D79),
+          UINT64_C(0x0002B5D4452CFFBB)},
+         {UINT64_C(0x0006A4C542C01BA9), UINT64_C(0x00025184A46BB2DA),
+          UINT64_C(0x00005344AC81105B), UINT64_C(0x0000FA6310182DB0),
+          UINT64_C(0x00005AC302692942)}},
+        {{UINT64_C(0x00019D20E0248E22), UINT64_C(0x0005CA354C3BCB85),
+          UINT64_C(0x0002894DADACB4EC), UINT64_C(0x000276F52507A08E),
+          UINT64_C(0x00061243F4DB4E50)},
+         {UINT64_C(0x000FDF4AF08FAB34), UINT64_C(0x0004350560FCCBAC),
+          UINT64_C(0x0005B2D27BD7791E), UINT64_C(0x00038BE1B282CEDF),
+          UINT64_C(0x000645850A8CE169)}},
+        {{UINT64_C(0x000568A7C178486C), UINT64_C(0x0001F2D08012728C),
+          UINT64_C(0x0000402DE36CAB91), UINT64_C(0x000709B6DD2BAFBB),
+          UINT64_C(0x00068F1171227D8D)},
+         {UINT64_C(0x00068279A889EA5B), UINT64_C(0x0006E2F73FBCFF46),
+          UINT64_C(0x0006DA5825DC94E7), UINT64_C(0x000250F1787A7A74),
+          UINT64_C(0x0000104623421C27)}},
+        {{UINT64_C(0x000B4A1DF4B52308), UINT64_C(0x00037F70383BCE58),
+          UINT64_C(0x0005B4B440F91C99), UINT64_C(0x0004DFE0E63344A6),
+          UINT64_C(0x0003F78ADB1149D0)},
+         {UINT64_C(0x0005EE5A5CF1B775), UINT64_C(0x0006E82328650CFE),
+          UINT64_C(0x00053DBD7CEC0ECD), UINT64_C(0x0006AD64013C83E3),
+          UINT64_C(0x0003BAECE58084AC)}},
+        {{UINT64_C(0x0003535E55FD3BB1), UINT64_C(0x00021AA38BD04D1A),
+          UINT64_C(0x00030BBC74A0B7B2), UINT64_C(0x0000D651469A30EA),
+          UINT64_C(0x0002BEEBF0135D98)},
+         {UINT64_C(0x000BE47EA63780DD), UINT64_C(0x0007996630E63D8F),
+          UINT64_C(0x0003D71B02D21DFE), UINT64_C(0x00072EE70BB7F048),
+          UINT64_C(0x00003A0C52A51F7B)}},
+        {{UINT64_C(0x000E522DB194B350), UINT64_C(0x0001362A59882C6C),
+          UINT64_C(0x0005B09E052C570C), UINT64_C(0x0002D26AB280800D),
+          UINT64_C(0x0001E221931BDDDC)},
+         {UINT64_C(0x0004772E6A06F259), UINT64_C(0x0007D07B179D230C),
+          UINT64_C(0x00071E03FC15549C), UINT64_C(0x0004F77A7EDB5E65),
+          UINT64_C(0x000510C0C34DF5E2)}},
+        {{UINT64_C(0x0004F224FF48904F), UINT64_C(0x00048434D5472DD5),
+          UINT64_C(0x0004EDEE682D26D3), UINT64_C(0x000209BB373C40AF),
+          UINT64_C(0x00024DAA1D2897A9)},
+         {UINT64_C(0x00021D4977542F7C), UINT64_C(0x00074599CAF0ABB5),
+          UINT64_C(0x00058BE88021C3ED), UINT64_C(0x0004208DC3B55B12),
+          UINT64_C(0x00052C47E8541E68)}},
+        {{UINT64_C(0x00040C5256AA4EC9), UINT64_C(0x000415F8F060E908),
+          UINT64_C(0x0002805A8B76EBE6), UINT64_C(0x0001873A8DE991C3),
+          UINT64_C(0x000386C4A0579BDC)},
+         {UINT64_C(0x00017774AE596D94), UINT64_C(0x00076ED22CE59EC5),
+          UINT64_C(0x00035ED29CE7AADA), UINT64_C(0x0006B0362F90D780),
+          UINT64_C(0x0002F704527505EC)}},
+        {{UINT64_C(0x000FCF13CEEA0CB5), UINT64_C(0x00018312ABDF7C32),
+          UINT64_C(0x0000757802E622B3), UINT64_C(0x000490DC4FAFA5E7),
+          UINT64_C(0x0002F574211FD5E9)},
+         {UINT64_C(0x000FE0FD3DB8102B), UINT64_C(0x000250E79DF56839),
+          UINT64_C(0x000279E546ADD6E1), UINT64_C(0x000145A2755E6C50),
+          UINT64_C(0x0001190CE5089C0D)}},
+        {{UINT64_C(0x000E3D775DED50BF), UINT64_C(0x0002D12CB77299E9),
+          UINT64_C(0x0000BB582E43FB17), UINT64_C(0x00000C592B860CC1),
+          UINT64_C(0x0006580719B67251)},
+         {UINT64_C(0x0000FAE99B30AE7B), UINT64_C(0x00040F36F14B66A3),
+          UINT64_C(0x0001B1A66B1DFF10), UINT64_C(0x0007E66D7F84E375),
+          UINT64_C(0x000247DD6C1DBF6D)}},
+        {{UINT64_C(0x000DE16D4416BAED), UINT64_C(0x0007F25B557A5F90),
+          UINT64_C(0x000174197A990092), UINT64_C(0x00064E76B1B0E5AD),
+          UINT64_C(0x0007C3B0A8276891)},
+         {UINT64_C(0x000FF3F0D753BB34), UINT64_C(0x0004BC7095E070BA),
+          UINT64_C(0x0005AE24B0B13E9D), UINT64_C(0x00033D3593791BC1),
+          UINT64_C(0x0004A5C64A628512)}},
+        {{UINT64_C(0x000679BA1D37863B), UINT64_C(0x0007E88BAD3CE7BA),
+          UINT64_C(0x0007E856BFB2DCD0), UINT64_C(0x0001298B3D7E0A07),
+          UINT64_C(0x000648DA87B47E6C)},
+         {UINT64_C(0x0004116614706E8B), UINT64_C(0x00038083A1633124),
+          UINT64_C(0x00040275662A5821), UINT64_C(0x0005AF932DE19F46),
+          UINT64_C(0x000325815252F969)}},
+        {{UINT64_C(0x0007431F85A6A2F2), UINT64_C(0x0003E366F4DF51AC),
+          UINT64_C(0x000007E3FCF91EED), UINT64_C(0x00019A60A1F6A15A),
+          UINT64_C(0x0005D281D485553A)},
+         {UINT64_C(0x000AEE657D07C121), UINT64_C(0x0005B6E017CC1FF3),
+          UINT64_C(0x000087D40E6AE64B), UINT64_C(0x000110B3E1403845),
+          UINT64_C(0x0007B4C48BE20679)}},
+        {{UINT64_C(0x0002EDBF68793170), UINT64_C(0x000433C366D3E8F9),
+          UINT64_C(0x0005954AEAA0ACE5), UINT64_C(0x00017404AB74C945),
+          UINT64_C(0x0005D492DD30DC05)},
+         {UINT64_C(0x000664322925053F), UINT64_C(0x000443FCBBEB949A),
+          UINT64_C(0x0004BC23B86D7ADE), UINT64_C(0x0002B04916F727D6),
+          UINT64_C(0x000762FF85E51567)}},
+    },
+    {
+        {{UINT64_C(0x000956A68246367E), UINT64_C(0x00021897DE9A1875),
+          UINT64_C(0x0005C9CCFFBCB16F), UINT64_C(0x00070E4257F8B255),
+          UINT64_C(0x00000C9A877C9B00)},
+         {UINT64_C(0x000CE0B185E2541C), UINT64_C(0x0006D5D853109264),
+          UINT64_C(0x00056CC68AD4E64D), UINT64_C(0x0002AF2B66927356),
+          UINT64_C(0x00037EE9E95C855D)}},
+        {{UINT64_C(0x000053A329418B8A), UINT64_C(0x0006646D7C973FB6),
+          UINT64_C(0x0005395E69EEA7AB), UINT64_C(0x00010000B1282007),
+          UINT64_C(0x00068CC15F88CFED)},
+         {UINT64_C(0x000E8B128FBFD773), UINT64_C(0x0007FB20DB05AF31),
+          UINT64_C(0x0007739B3F5C4BDE), UINT64_C(0x0004039AAFD5F2DC),
+          UINT64_C(0x000721C85E9A29EA)}},
+        {{UINT64_C(0x000B0D23A656BC62), UINT64_C(0x0005AC669CF7C7F3),
+          UINT64_C(0x000209617182C48D), UINT64_C(0x000218B4CB496794),
+          UINT64_C(0x0007180815D1B6B7)},
+         {UINT64_C(0x000EEC1FDDEF69D9), UINT64_C(0x0003AEF0ADEF2D2B),
+          UINT64_C(0x00030326BF4476DB), UINT64_C(0x000047E91D24E181),
+          UINT64_C(0x000598190A0CFD77)}},
+        {{UINT64_C(0x0006D10C22EF9F96), UINT64_C(0x000080EC0F94F2F7),
+          UINT64_C(0x0007AA4F0AEDAE30), UINT64_C(0x0002516F4D4FE6D7),
+          UINT64_C(0x00049EFAA3C8BD00)},
+         {UINT64_C(0x000098EA4E6E0992), UINT64_C(0x0005BF3F949C023B),
+          UINT64_C(0x000380A5EEBA5CD8), UINT64_C(0x00026413305ED75F),
+          UINT64_C(0x0000F418433F8A27)}},
+        {{UINT64_C(0x00089ECDDD1EBCA4), UINT64_C(0x000359E16F504E76),
+          UINT64_C(0x0004CF9626CD6FBA), UINT64_C(0x0001174C74344098),
+          UINT64_C(0x00057564D0F17F65)},
+         {UINT64_C(0x0001195CBB8FB356), UINT64_C(0x0005A8577B21D169),
+          UINT64_C(0x0006489F105E543F), UINT64_C(0x0007B3A20275D3E2),
+          UINT64_C(0x0007AAB2BB22DFB3)}},
+        {{UINT64_C(0x0002CA70745AE235), UINT64_C(0x00023A96DDE369C5),
+          UINT64_C(0x0005012A48800C95), UINT64_C(0x00066B4F8BF4154D),
+          UINT64_C(0x0006B8F21F53603C)},
+         {UINT64_C(0x000F5462CCFC9D22), UINT64_C(0x00030A858C108F13),
+          UINT64_C(0x000689819655D129), UINT64_C(0x0000E720A0FCEA3E),
+          UINT64_C(0x00011F9DC5101E53)}},
+        {{UINT64_C(0x0001DE0F018982F2), UINT64_C(0x0000EADE77ECC8D4),
+          UINT64_C(0x0003B956FFEE4A79), UINT64_C(0x0004B8BBFBD7479E),
+          UINT64_C(0x00005F99662FE03E)},
+         {UINT64_C(0x0004D7EA312F393C), UINT64_C(0x0000BD83AE160FCB),
+          UINT64_C(0x0001EC8D3FC68C3B), UINT64_C(0x000437ABD0A447B9),
+          UINT64_C(0x000735FC8AD2BB1C)}},
+        {{UINT64_C(0x000B9EE6D50FF37D), UINT64_C(0x00004D648636CDB2),
+          UINT64_C(0x00039C45B71D2EBA), UINT64_C(0x00000F0D22EDF891),
+          UINT64_C(0x00014C417247C2C5)},
+         {UINT64_C(0x0006CAB42B8C5660), UINT64_C(0x00018D3158E77BC4),
+          UINT64_C(0x00039A7DAB63293E), UINT64_C(0x0004410B20B68C38),
+          UINT64_C(0x0005143C90B7948D)}},
+        {{UINT64_C(0x0004B03CF603CB83), UINT64_C(0x0000D1179A1254F5),
+          UINT64_C(0x0000FC1EF688A885), UINT64_C(0x0002CDCC95C8E925),
+          UINT64_C(0x0002791D839354A1)},
+         {UINT64_C(0x000642016F8D0BF2), UINT64_C(0x00066E650A9B34E8),
+          UINT64_C(0x00041DBF68CBB4A7), UINT64_C(0x000512CF961BC16F),
+          UINT64_C(0x0003B3E68158737A)}},
+        {{UINT64_C(0x0008CF645460D714), UINT64_C(0x0007670AA8B430E8),
+          UINT64_C(0x000574F16D3AC934), UINT64_C(0x00051A943821A714),
+          UINT64_C(0x0006DE69E5DF9951)},
+         {UINT64_C(0x0007DE4AADCCB9AA), UINT64_C(0x000135145C55A55A),
+          UINT64_C(0x000238B53DDFBA15), UINT64_C(0x00068D2109040438),
+          UINT64_C(0x000063397853B65B)}},
+        {{UINT64_C(0x00078630F0E679A9), UINT64_C(0x000648A3915EA099),
+          UINT64_C(0x0001B46B606FA986), UINT64_C(0x0005DE57BB1E25B5),
+          UINT64_C(0x0004F4E27D03AF36)},
+         {UINT64_C(0x000CE066A9452CC5), UINT64_C(0x00045772A10AC378),
+          UINT64_C(0x000305FFC4931F9C), UINT64_C(0x0006B3AE4651216A),
+          UINT64_C(0x0001EBD44A8A3E39)}},
+        {{UINT64_C(0x0004B0B22DFA4A07), UINT64_C(0x00035F7907812083),
+          UINT64_C(0x0006F74B674F2672), UINT64_C(0x000388F7301DAC59),
+          UINT64_C(0x000159AD55DA44EC)},
+         {UINT64_C(0x000DE4AFBA89C1F3), UINT64_C(0x0007E80CAB614F22),
+          UINT64_C(0x00059A999E84955B), UINT64_C(0x0000FA70D936DB5E),
+          UINT64_C(0x00026F2DA8417650)}},
+        {{UINT64_C(0x000E186902C85447), UINT64_C(0x000464F8386F8A64),
+          UINT64_C(0x00053B0F937B7CD3), UINT64_C(0x00003B7187584567),
+          UINT64_C(0x000308946F3D80A4)},
+         {UINT64_C(0x000D1B1C9720BFE2), UINT64_C(0x0002400C63A10347),
+          UINT64_C(0x00052C5C71281FD2), UINT64_C(0x00064118DAD42634),
+          UINT64_C(0x0002FB1EB2D89702)}},
+        {{UINT64_C(0x00080BE5600FDDD3), UINT64_C(0x0002732F61BAFB7A),
+          UINT64_C(0x0002E5DE598D6FBC), UINT64_C(0x000041E2FDE427CD),
+          UINT64_C(0x000506CBA13B20AF)},
+         {UINT64_C(0x000FD470BC53488D), UINT64_C(0x0005F2E4B029AB6D),
+          UINT64_C(0x0000096963502BB6), UINT64_C(0x0005FD18C530903B),
+          UINT64_C(0x0005F0ED95E0A6DB)}},
+        {{UINT64_C(0x000A16408A941AAB), UINT64_C(0x00021F45EB4DC5BD),
+          UINT64_C(0x0000F60F2631C101), UINT64_C(0x0005AE7748F7EDC4),
+          UINT64_C(0x0002D03801D3B95D)},
+         {UINT64_C(0x0000E8545F3E14DB), UINT64_C(0x0001650799114990),
+          UINT64_C(0x000686592FD11BE6), UINT64_C(0x000434D0445B2D2A),
+          UINT64_C(0x00000759D194E76A)}},
+        {{UINT64_C(0x0008B92FABB27EE6), UINT64_C(0x0007CF7A4E4368A8),
+          UINT64_C(0x00005ACFDBBB69ED), UINT64_C(0x0006891A54C2CC5E),
+          UINT64_C(0x0007007C79A1E753)},
+         {UINT64_C(0x000FB2099EDFE6F7), UINT64_C(0x0004967D75BF94F0),
+          UINT64_C(0x0007F61375A45D1E), UINT64_C(0x0003B22D99BD3A83),
+          UINT64_C(0x000240E6DA8B843D)}},
+    },
+    {
+        {{UINT64_C(0x0002B047D234E1E6), UINT64_C(0x000051F630DB7224),
+          UINT64_C(0x000101E259F37AB2), UINT64_C(0x0007C1F58C65113B),
+          UINT64_C(0x000263DCEE305FFC)},
+         {UINT64_C(0x000D1B3A99462779), UINT64_C(0x0005034BF259BEDD),
+          UINT64_C(0x0006E55CD8E9F25D), UINT64_C(0x00000FF1B23C08C9),
+          UINT64_C(0x000193E0F15E9D84)}},
+        {{UINT64_C(0x0005E42789FDE1B6), UINT64_C(0x0001894F4E480D11),
+          UINT64_C(0x0002FA3C0071679A), UINT64_C(0x0005A18A5FED0EDD),
+          UINT64_C(0x00032E050C320BCA)},
+         {UINT64_C(0x000129644B586CC6), UINT64_C(0x00046490AB54EE67),
+          UINT64_C(0x00014EDFB7E99D26), UINT64_C(0x0005F72BBB17A488),
+          UINT64_C(0x00016D460CA476AE)}},
+        {{UINT64_C(0x000ED9FF353B3EBD), UINT64_C(0x0000607194AF236F),
+          UINT64_C(0x0004B55C55B42B97), UINT64_C(0x00007DF4B19150C4),
+          UINT64_C(0x000071DD14E1914E)},
+         {UINT64_C(0x0006D2391EE57097), UINT64_C(0x0006B5C7EAFAC50A),
+          UINT64_C(0x000743B60C540A6E), UINT64_C(0x0002052C67ED83B9),
+          UINT64_C(0x0007218AF829BCD2)}},
+        {{UINT64_C(0x000B925893F33C1F), UINT64_C(0x00067B1285BA7F1E),
+          UINT64_C(0x000653712C1B3339), UINT64_C(0x0005676C8172A410),
+          UINT64_C(0x00070EFC597208AE)},
+         {UINT64_C(0x000960B5F604A33D), UINT64_C(0x0007921F9338E496),
+          UINT64_C(0x000049FA1FFAFC93), UINT64_C(0x000161F6DCEE43A1),
+          UINT64_C(0x000066EEA7D1AFAB)}},
+        {{UINT64_C(0x000AF49590893929), UINT64_C(0x000070D65CE0014B),
+          UINT64_C(0x000140DF3289D3DC), UINT64_C(0x000345791D5EA109),
+          UINT64_C(0x00005255A323DD85)},
+         {UINT64_C(0x000401F6DCF0F1DA), UINT64_C(0x000074049990B1B6),
+          UINT64_C(0x000618D750975313), UINT64_C(0x000287BCB87A0714),
+          UINT64_C(0x0001F72793687C35)}},
+        {{UINT64_C(0x000168DAE873F26A), UINT64_C(0x0001E0AAFF1790B1),
+          UINT64_C(0x000459C70C5F4D75), UINT64_C(0x0002A897AEB60F5E),
+          UINT64_C(0x0004FE8D9CCEFE84)},
+         {UINT64_C(0x000C5FA352BD1939), UINT64_C(0x0000D8AE757A71AF),
+          UINT64_C(0x00049805C7DBD1B7), UINT64_C(0x00052A2EB32E9871),
+          UINT64_C(0x0002C5844141B0C6)}},
+        {{UINT64_C(0x00005696DA8028D2), UINT64_C(0x00071FFFC7289A23),
+          UINT64_C(0x0006341DC5E55F0B), UINT64_C(0x00033AE49FFDF4DC),
+          UINT64_C(0x00015F09ED39A715)},
+         {UINT64_C(0x000674750BC4C3AD), UINT64_C(0x00041954C18CE813),
+          UINT64_C(0x000694204D31CC9C), UINT64_C(0x0007E21A93A0C726),
+          UINT64_C(0x000300024CEC65AE)}},
+        {{UINT64_C(0x000EBD07C0D77453), UINT64_C(0x0007BF58C754CC24),
+          UINT64_C(0x0000F87F9B37B295), UINT64_C(0x00024B9A92A35036),
+          UINT64_C(0x000289648E3611DD)},
+         {UINT64_C(0x00040BB7D1FD0ECE), UINT64_C(0x0001A131BEAD6492),
+          UINT64_C(0x00069423BE245B95), UINT64_C(0x0000669C14214A82),
+          UINT64_C(0x000379EBC399963B)}},
+        {{UINT64_C(0x0007DDA0CDD635C8), UINT64_C(0x00035E41D7F8650E),
+          UINT64_C(0x0003F70DD4244C32), UINT64_C(0x00067C3E0F50B486),
+          UINT64_C(0x000247B2A722631B)},
+         {UINT64_C(0x000BFFD05202D9FB), UINT64_C(0x00060A9C44DD611B),
+          UINT64_C(0x00036DCF6E5FD0D6), UINT64_C(0x000054F5818F5DF8),
+          UINT64_C(0x0004E905149BD33D)}},
+        {{UINT64_C(0x0001A02B8DDADBAE), UINT64_C(0x0004B904A0731902),
+          UINT64_C(0x0002BCFC886A4F5E), UINT64_C(0x00050E5A1340E58E),
+          UINT64_C(0x000538853D4322BB)},
+         {UINT64_C(0x0004FA19E1071C4B), UINT64_C(0x00020DFF018FE134),
+          UINT64_C(0x000747F9F7B44E41), UINT64_C(0x0001A6855EE03199),
+          UINT64_C(0x00023B78B0C2DA8E)}},
+        {{UINT64_C(0x000A78F96C2693D0), UINT64_C(0x0004E852C54AB8B2),
+          UINT64_C(0x00050BD1203E05C7), UINT64_C(0x0007EBCB440E392A),
+          UINT64_C(0x0002902087BF3096)},
+         {UINT64_C(0x0003CE5F90574625), UINT64_C(0x0003386306A925F7),
+          UINT64_C(0x0006406D4F228721), UINT64_C(0x00077FA1131F3503),
+          UINT64_C(0x0004E5E2E878636F)}},
+        {{UINT64_C(0x000931F13967D25A), UINT64_C(0x00039563F11ADEC1),
+          UINT64_C(0x000148DC8BDD5189), UINT64_C(0x000143E419A5E6C0),
+          UINT64_C(0x0005DAD68377E37C)},
+         {UINT64_C(0x00068A723527F5D0), UINT64_C(0x0000F1F89C72A873),
+          UINT64_C(0x0000CB4FD5169F8D), UINT64_C(0x0001C570DC05123D),
+          UINT64_C(0x0007DE29900ACC22)}},
+        {{UINT64_C(0x0009281B46548202), UINT64_C(0x00014A3F78CE6431),
+          UINT64_C(0x00075ADDA3C012A7), UINT64_C(0x0000EA845B0B8C70),
+          UINT64_C(0x00079B908BEB53C6)},
+         {UINT64_C(0x00019FE799C7C809), UINT64_C(0x0007B93B993A157B),
+          UINT64_C(0x00077F3826FC8939), UINT64_C(0x00023CE645BC7C8A),
+          UINT64_C(0x00007E8659F8E036)}},
+        {{UINT64_C(0x00033DC53F98B574), UINT64_C(0x0007432F5C3CCD27),
+          UINT64_C(0x0001E8355E71A3DC), UINT64_C(0x000536F3A5B8A0D5),
+          UINT64_C(0x00066FBA2484854C)},
+         {UINT64_C(0x000BC9ABA085FC08), UINT64_C(0x0006CD471084166A),
+          UINT64_C(0x00077299B5B548AE), UINT64_C(0x0000A08F4C0976C0),
+          UINT64_C(0x0007ED9BF62B1BFA)}},
+        {{UINT64_C(0x000940ECF52AFA23), UINT64_C(0x000448C9B9325795),
+          UINT64_C(0x0006DAFB14422BE9), UINT64_C(0x000331906DED74E7),
+          UINT64_C(0x00034AA18796A795)},
+         {UINT64_C(0x00017A1089CF42AB), UINT64_C(0x0004BBA8E1B7CC68),
+          UINT64_C(0x00072F74CCB808A3), UINT64_C(0x00018BD75A6C68E2),
+          UINT64_C(0x00001B9BDB7DACA2)}},
+        {{UINT64_C(0x000018F0E8761113), UINT64_C(0x00014856FBD5FE7E),
+          UINT64_C(0x00052B8E5AA39575), UINT64_C(0x00061A72375DBF30),
+          UINT64_C(0x0002A1B12B4FD1A0)},
+         {UINT64_C(0x000CCCFE4B5CE5E2), UINT64_C(0x00013D03A9E9851C),
+          UINT64_C(0x000547736DB57F8B), UINT64_C(0x0002C281B74401A1),
+          UINT64_C(0x0006AD41C9A8F14A)}},
+    },
+    {
+        {{UINT64_C(0x000FAA572EB89E8E), UINT64_C(0x000167953742D9F0),
+          UINT64_C(0x00019869F9FB4B12), UINT64_C(0x0007CBE7B69E4D6D),
+          UINT64_C(0x000555F44F93253E)},
+         {UINT64_C(0x000652D610CFD61D), UINT64_C(0x000450DD0FD70202),
+          UINT64_C(0x0000FA8099F542AA), UINT64_C(0x00028CDD184A6382),
+          UINT64_C(0x0005C334A78F9954)}},
+        {{UINT64_C(0x00089F7423E24828), UINT64_C(0x0006ECC59417EC04),
+          UINT64_C(0x0005923FCD743CE4), UINT64_C(0x00058E47C67B3854),
+          UINT64_C(0x0001FEDFDB0EED94)},
+         {UINT64_C(0x0007EEE7E104E1B6), UINT64_C(0x0002BAC9B4C39633),
+          UINT64_C(0x000719482E22B7DB), UINT64_C(0x000289C779B2B427),
+          UINT64_C(0x0005A26A1E0E5EC6)}},
+        {{UINT64_C(0x000239DE0DF21E4A), UINT64_C(0x0003990AE0816058),
+          UINT64_C(0x0007B031A49D9306), UINT64_C(0x0003AA82A7C3C63B),
+          UINT64_C(0x00024190E64F1DA4)},
+         {UINT64_C(0x00044CF3369C86A2), UINT64_C(0x00003ECD2B5B335C),
+          UINT64_C(0x0000C07180F70933), UINT64_C(0x00065C0B6A34AA71),
+          UINT64_C(0x0002462A8EC2EB00)}},
+        {{UINT64_C(0x0005C2BDA6A8C3D3), UINT64_C(0x0004167C033B9C4C),
+          UINT64_C(0x0001CB7DF36DB648), UINT64_C(0x000694122F8ABCB3),
+          UINT64_C(0x00025F3E2C20B169)},
+         {UINT64_C(0x0007E143BB0C3DB3), UINT64_C(0x00001781BBE98778),
+          UINT64_C(0x00037A2A4A306DA9), UINT64_C(0x0005470297B20C04),
+          UINT64_C(0x000141CF4B717BAF)}},
+        {{UINT64_C(0x00070EB500B9F037), UINT64_C(0x0005727999C118FA),
+          UINT64_C(0x0006027735DBD10A), UINT64_C(0x0007F78C3C18F3DD),
+          UINT64_C(0x0004111344448D53)},
+         {UINT64_C(0x000B19D3D6D2A8D9), UINT64_C(0x000516FF15756C60),
+          UINT64_C(0x0002EE628F2DE048), UINT64_C(0x00048114031C65C1),
+          UINT64_C(0x000585C81048736A)}},
+        {{UINT64_C(0x000AB501B01B067A), UINT64_C(0x00067899A4477FAE),
+          UINT64_C(0x000274F338EBAB9E), UINT64_C(0x00047234930DA1EF),
+          UINT64_C(0x0007A996A9C60A6D)},
+         {UINT64_C(0x0007B7E042371080), UINT64_C(0x00076E9E7CA96E5C),
+          UINT64_C(0x00014EDEE2498639), UINT64_C(0x00020537E3A2932F),
+          UINT64_C(0x0006743F9AFE0CF6)}},
+        {{UINT64_C(0x0000BB8FB7939BAE), UINT64_C(0x000595F428F1564B),
+          UINT64_C(0x00073AA57A8B8892), UINT64_C(0x000443C7156AD97C),
+          UINT64_C(0x000394DCDE01C803)},
+         {UINT64_C(0x00010277303A2295), UINT64_C(0x00036E65529E463B),
+          UINT64_C(0x00002050CC0BBF19), UINT64_C(0x0007AF642321CFD0),
+          UINT64_C(0x0007A578DB9DCA09)}},
+        {{UINT64_C(0x000ECA0FD78BBA28), UINT64_C(0x000140DC5DBBD618),
+          UINT64_C(0x0002BEF02AD1BB50), UINT64_C(0x00031A4817C3357E),
+          UINT64_C(0x0000A1117B528B02)},
+         {UINT64_C(0x000A242C41E7EE0C), UINT64_C(0x00024C715E851E5F),
+          UINT64_C(0x000711A22BB49D60), UINT64_C(0x0002824BD92ABEC0),
+          UINT64_C(0x00043A69559D6B3C)}},
+        {{UINT64_C(0x000E68D7A078C305), UINT64_C(0x000734955FCFC798),
+          UINT64_C(0x0000E1E3F52E8AA5), UINT64_C(0x0004E9D3FA7AD926),
+          UINT64_C(0x000712628E743D52)},
+         {UINT64_C(0x00073814D797A50E), UINT64_C(0x000153715FFCA99D),
+          UINT64_C(0x000558A8FDE19C66), UINT64_C(0x0002204AA778B5D7),
+          UINT64_C(0x0007BAA676A5FF03)}},
+        {{UINT64_C(0x000DF4BDB34B5256), UINT64_C(0x0001D965B241D3BD),
+          UINT64_C(0x0001271A0805AF80), UINT64_C(0x0000B84BD41CE836),
+          UINT64_C(0x0007F967C3AC88CE)},
+         {UINT64_C(0x000FDB1299F7351C), UINT64_C(0x00003C874EE7BCAC),
+          UINT64_C(0x00039993680976FC), UINT64_C(0x00047FE73F6F2145),
+          UINT64_C(0x000625098EDAEF41)}},
+        {{UINT64_C(0x000D83AF4F7F1E6E), UINT64_C(0x0000FDC16634A3DE),
+          UINT64_C(0x00015FB28A735369), UINT64_C(0x0007AF0B085A2FF6),
+          UINT64_C(0x0001B48F17A9E049)},
+         {UINT64_C(0x0003C8EA301DD7E4), UINT64_C(0x00040B69DE358F2C),
+          UINT64_C(0x00050BA0AC83C141), UINT64_C(0x0000E0D532814AB2),
+          UINT64_C(0x00065E5F74F8CAB4)}},
+        {{UINT64_C(0x0000F47568339162), UINT64_C(0x000606AFE5A96F3B),
+          UINT64_C(0x0002BA3A04C6A76C), UINT64_C(0x0002488944DE85DD),
+          UINT64_C(0x000374DF90B6C521)},
+         {UINT64_C(0x000382B073CF14E5), UINT64_C(0x0007C67C95A17E79),
+          UINT64_C(0x00015C33E721463B), UINT64_C(0x00073EF909CF6359),
+          UINT64_C(0x00050141FF3ED74B)}},
+        {{UINT64_C(0x000EEEEA5F5DDB32), UINT64_C(0x0003ACDE25B0D36D),
+          UINT64_C(0x0002CF889155A989), UINT64_C(0x00021FD9C628076E),
+          UINT64_C(0x00056A5EB7356DC8)},
+         {UINT64_C(0x0006C202D420A6E2), UINT64_C(0x00031BABD32E4E48),
+          UINT64_C(0x00044C3D05F2D30C), UINT64_C(0x0007670E334C2F98),
+          UINT64_C(0x0004F79A1917FFEC)}},
+        {{UINT64_C(0x00051F5BDD58277B), UINT64_C(0x000003D523F21BB6),
+          UINT64_C(0x00021806DD8F5937), UINT64_C(0x0000FD12EFB4623F),
+          UINT64_C(0x0007A4AF6F3F8526)},
+         {UINT64_C(0x0004669EB76FE0E1), UINT64_C(0x00043FDD719D5F7A),
+          UINT64_C(0x00003CA28B366FB6), UINT64_C(0x000248847E6F73B9),
+          UINT64_C(0x00065DA146D053AB)}},
+        {{UINT64_C(0x000AC0CBD84326A2), UINT64_C(0x0004C03CAD532948),
+          UINT64_C(0x0005E030FE480B61), UINT64_C(0x0003DB7F18BA70C2),
+          UINT64_C(0x00035CE1592DE363)},
+         {UINT64_C(0x000203476A5CD536), UINT64_C(0x00079198612CA2C7),
+          UINT64_C(0x0005BB48D8AC89B9), UINT64_C(0x000295999FBC011E),
+          UINT64_C(0x0003AAA59B60FE8A)}},
+        {{UINT64_C(0x000DD31F74351DCE), UINT64_C(0x0005B15757FF87F4),
+          UINT64_C(0x0002E2B1C4F1048F), UINT64_C(0x00069BB62674CD0F),
+          UINT64_C(0x0001544612843FE9)},
+         {UINT64_C(0x00039BD2752EE3C1), UINT64_C(0x00017A2616FD02E5),
+          UINT64_C(0x000447AD0B0A32FC), UINT64_C(0x0005CE5C96F64A93),
+          UINT64_C(0x00029642594BA9AA)}},
+    },
+    {
+        {{UINT64_C(0x000DEE95CA3BB6FE), UINT64_C(0x00056F0ACB87E096),
+          UINT64_C(0x00036182366ABC67), UINT64_C(0x0005217F2CD26751),
+          UINT64_C(0x00021E6D524F4A17)},
+         {UINT64_C(0x0000BCE9C99BB07D), UINT64_C(0x0000C27581F2BA83),
+          UINT64_C(0x00020CF33CBD1603), UINT64_C(0x00010678FB67FFF1),
+          UINT64_C(0x0005C6CD7703A25E)}},
+        {{UINT64_C(0x0005BBA8048392C8), UINT64_C(0x0002542A96821BD7),
+          UINT64_C(0x00075648B3E12141), UINT64_C(0x0006D7FBCF181560),
+          UINT64_C(0x0002C576A6815E41)},
+         {UINT64_C(0x000518AAF86E6DE1), UINT64_C(0x0001C518693DD84F),
+          UINT64_C(0x0006675DCF58B296), UINT64_C(0x000644D5F602501F),
+          UINT64_C(0x00077A80CA4E57C8)}},
+        {{UINT64_C(0x000159EE8D243A23), UINT64_C(0x0006E29DBC72D5E0),
+          UINT64_C(0x0000DA0A1E2F2981), UINT64_C(0x000651B05EAE7237),
+          UINT64_C(0x000582761CC33610)},
+         {UINT64_C(0x0004C0AF035DD89C), UINT64_C(0x0004D1937B5F3230),
+          UINT64_C(0x00068AF1E665190F), UINT64_C(0x00076067020738A8),
+          UINT64_C(0x0003815147C9AEE7)}},
+        {{UINT64_C(0x000115871847A6CB), UINT64_C(0x00020F85C36D0499),
+          UINT64_C(0x0004733334C55205), UINT64_C(0x0004D650B5CCA6A3),
+          UINT64_C(0x0002C404C377C0C1)},
+         {UINT64_C(0x000A12DF826A93D6), UINT64_C(0x0007B4188D135AA7),
+          UINT64_C(0x0002D01F76CA5FE4), UINT64_C(0x000155326D392240),
+          UINT64_C(0x0000E516B40BA9FD)}},
+        {{UINT64_C(0x000F5546A732C66D), UINT64_C(0x00018E15DB635DC6),
+          UINT64_C(0x00074C7913432090), UINT64_C(0x0005F678885345A4),
+          UINT64_C(0x00061829FB56D48A)},
+         {UINT64_C(0x000677B5BB743208), UINT64_C(0x000238E1E35F0380),
+          UINT64_C(0x00024F21B26421F5), UINT64_C(0x000405586E33386B),
+          UINT64_C(0x0000200A7DCD0CE5)}},
+        {{UINT64_C(0x000E70BA7605C9B6), UINT64_C(0x00057F5CC0B99049),
+          UINT64_C(0x00042F0C89079EE3), UINT64_C(0x0000AF253B6AB483),
+          UINT64_C(0x00004DBD3447DEE4)},
+         {UINT64_C(0x0005CDCCDF6731CF), UINT64_C(0x0003ACA58F2B6389),
+          UINT64_C(0x0002874A4632D9E3), UINT64_C(0x0006EAB51A6C6508),
+          UINT64_C(0x0004974444B06711)}},
+        {{UINT64_C(0x000083E23DACB58A), UINT64_C(0x0003D224DBA9AFFC),
+          UINT64_C(0x0000AD693FF2352E), UINT64_C(0x0000EE821C843787),
+          UINT64_C(0x0006599DDD43FF17)},
+         {UINT64_C(0x0001129BD5E19FA2), UINT64_C(0x0001DDF5DE008359),
+          UINT64_C(0x0004F3504C03BF84), UINT64_C(0x000064EFD7D15539),
+          UINT64_C(0x000427DB9DD33F27)}},
+        {{UINT64_C(0x000B147505184DFD), UINT64_C(0x0005A25B9C7E076D),
+          UINT64_C(0x00075CFCA22E44B6), UINT64_C(0x0002A4BF3C7632E7),
+          UINT64_C(0x00032E9918544496)},
+         {UINT64_C(0x000455D9704D3074), UINT64_C(0x00037C549C367FB6),
+          UINT64_C(0x0004A270B27EFBB8), UINT64_C(0x0001428CFA018772),
+          UINT64_C(0x0007A9637BAE976C)}},
+        {{UINT64_C(0x000311ADC83DB0DD), UINT64_C(0x0000B4BCB0670913),
+          UINT64_C(0x0005D30A2C0F96FC), UINT64_C(0x0001F1A1FF4D0BB0),
+          UINT64_C(0x0007D2975772506E)},
+         {UINT64_C(0x000EFF5E207D306E), UINT64_C(0x00068BE603FE3D2A),
+          UINT64_C(0x0005C11F5D2A4998), UINT64_C(0x00006F76D4F8557F),
+          UINT64_C(0x0006F3CFD87A769F)}},
+        {{UINT64_C(0x00065185A90EC696), UINT64_C(0x0005E67E616805F1),
+          UINT64_C(0x0000BBF738A1A711), UINT64_C(0x0005428B0D45A57C),
+          UINT64_C(0x0004C8EE45621C1C)},
+         {UINT64_C(0x000FAA46B5E985B8), UINT64_C(0x00029F0A5A957DDD),
+          UINT64_C(0x000236B91A401AEE), UINT64_C(0x00064166423D44F1),
+          UINT64_C(0x0000A4FE9BC04A82)}},
+        {{UINT64_C(0x000F394FC786A4E4), UINT64_C(0x0005D5C301931568),
+          UINT64_C(0x00016E5A4E0F86A1), UINT64_C(0x0003E462D1C459B7),
+          UINT64_C(0x0005C99260A907B9)},
+         {UINT64_C(0x00094616BF27C9BA), UINT64_C(0x0003838C1FBFC98B),
+          UINT64_C(0x0001AEFD5463CE2C), UINT64_C(0x0002298F2DAA2DC1),
+          UINT64_C(0x00002F8398AA1EC1)}},
+        {{UINT64_C(0x000B0B54E83EB3CB), UINT64_C(0x00046C11CF2C5D85),
+          UINT64_C(0x000562C687A5BD26), UINT64_C(0x00008CB654C9579D),
+          UINT64_C(0x00032A6EC6175F00)},
+         {UINT64_C(0x0003D94A727B903F), UINT64_C(0x00033404D23AB3CE),
+          UINT64_C(0x00047CFD855EC24D), UINT64_C(0x000499392AD55820),
+          UINT64_C(0x000184705D6FA8F5)}},
+        {{UINT64_C(0x000FC2C43A582997), UINT64_C(0x00009B163600D952),
+          UINT64_C(0x0007D1FD9FDFC13A), UINT64_C(0x0006DDB423ABD0A7),
+          UINT64_C(0x0006DA6449C5CF57)},
+         {UINT64_C(0x000FFEB9DF5F3E5D), UINT64_C(0x000104479DCFA27F),
+          UINT64_C(0x00021D3A7738DB2D), UINT64_C(0x0004045B51B58564),
+          UINT64_C(0x0002B174ED65C2FD)}},
+        {{UINT64_C(0x000BD918AF2D1DE7), UINT64_C(0x000797FE89E388BD),
+          UINT64_C(0x000354F756AF6F61), UINT64_C(0x0002658B66C8F102),
+          UINT64_C(0x000481C3A259A692)},
+         {UINT64_C(0x00028B2886FDA782), UINT64_C(0x0001ACB2E8319AE1),
+          UINT64_C(0x0005E65B509E18EA), UINT64_C(0x0000602680E0D288),
+          UINT64_C(0x0001F8B6C2704BE0)}},
+        {{UINT64_C(0x0004DE9DC251E4F5), UINT64_C(0x000398DC76312C40),
+          UINT64_C(0x00060221101717D7), UINT64_C(0x00036E5F8512F680),
+          UINT64_C(0x0006AECBBC4FAED1)},
+         {UINT64_C(0x0006BCF81AD0F404), UINT64_C(0x00056B0D20017CFA),
+          UINT64_C(0x000051B33CAE4F06), UINT64_C(0x00079BA25FD11B60),
+          UINT64_C(0x0006C66B1B94906E)}},
+        {{UINT64_C(0x000F2EB0A212B2F8), UINT64_C(0x0001291549D895DF),
+          UINT64_C(0x0007EA3FDC6E23D8), UINT64_C(0x0003A5FB22527356),
+          UINT64_C(0x00044827B3CCBCB7)},
+         {UINT64_C(0x000569B9A0749338), UINT64_C(0x00017A1416DD273B),
+          UINT64_C(0x0001E3D333FDA47A), UINT64_C(0x0000F6320D57AF46),
+          UINT64_C(0x0001618E7F9E3803)}},
+    },
+    {
+        {{UINT64_C(0x0006E8A84D02A6B0), UINT64_C(0x0002A5CE4DBC212A),
+          UINT64_C(0x00009BCAB85DD325), UINT64_C(0x00033808F9E31F44),
+          UINT64_C(0x0000711ABE8635FB)},
+         {UINT64_C(0x00073EA3098D5496), UINT64_C(0x000696F79EEC27AE),
+          UINT64_C(0x0007B6463961BEF1), UINT64_C(0x00021DAC69DE5F30),
+          UINT64_C(0x00033F193BEA04AC)}},
+        {{UINT64_C(0x0004886B6B478D87), UINT64_C(0x00026385B4323759),
+          UINT64_C(0x00013A2BB416CDED), UINT64_C(0x000717B3988CF8DE),
+          UINT64_C(0x000414C09B6B85C5)},
+         {UINT64_C(0x0003390639FE52FF), UINT64_C(0x00006CA38DEF7FD7),
+          UINT64_C(0x000431C5BCF60FD8), UINT64_C(0x000027BCB334EEFB),
+          UINT64_C(0x00028319296C6513)}},
+        {{UINT64_C(0x0004CB3C06E1AB70), UINT64_C(0x00057948510101D5),
+          UINT64_C(0x0001C38A22A0693D), UINT64_C(0x00002914500B3EA3),
+          UINT64_C(0x000578C8D8DD9DD3)},
+         {UINT64_C(0x00016C80C1DBD2FF), UINT64_C(0x00033044253FB30D),
+          UINT64_C(0x0007941DD6AECD7D), UINT64_C(0x0004F200061FECF3),
+          UINT64_C(0x000546D982BEE1F4)}},
+        {{UINT64_C(0x000EDBC39AE757A2), UINT64_C(0x00034FE0BAD67FE3),
+          UINT64_C(0x0001971E008F362D), UINT64_C(0x0006C12B96F5D1A1),
+          UINT64_C(0x0001FF6E4EB688F7)},
+         {UINT64_C(0x00070C4B4E036FA0), UINT64_C(0x0000611BA94D0E52),
+          UINT64_C(0x0007BFC428F0E251), UINT64_C(0x00042A78CA211CAC),
+          UINT64_C(0x00078AAB5035F959)}},
+        {{UINT64_C(0x00039F022DA3A297), UINT64_C(0x0001DA11C9EE4589),
+          UINT64_C(0x000007BC8D152059), UINT64_C(0x0005CA88E041209D),
+          UINT64_C(0x000396B7E030B90E)},
+         {UINT64_C(0x0006A3AFDE54F823), UINT64_C(0x0002A38ABA40380D),
+          UINT64_C(0x000394F10EC351B1), UINT64_C(0x0007BFA890FF374E),
+          UINT64_C(0x0003ED6D3C141924)}},
+        {{UINT64_C(0x0007B3B2AB41AFA6), UINT64_C(0x0005EDB0895870A2),
+          UINT64_C(0x0004AE56B08A37D7), UINT64_C(0x0002E4BCFE71C4CA),
+          UINT64_C(0x0002D43D757D8A3B)},
+         {UINT64_C(0x00061C756483A39E), UINT64_C(0x0003AC62981046BD),
+          UINT64_C(0x0001AFB8EAD77A64), UINT64_C(0x0002EA1E8FD302B3),
+          UINT64_C(0x0004DB0FB226BB28)}},
+        {{UINT64_C(0x000E7B1BDB64BA6C), UINT64_C(0x00054E041D4FE699),
+          UINT64_C(0x0004AC1DEB24137D), UINT64_C(0x00074A0697964817),
+          UINT64_C(0x000312BDC2D7A256)},
+         {UINT64_C(0x000D14A56072B4CC), UINT64_C(0x0001382886183F9C),
+          UINT64_C(0x000690EC6A92CA38), UINT64_C(0x0003B6BD7E019DD0),
+          UINT64_C(0x00069DAC1921760B)}},
+        {{UINT64_C(0x000CEDF14C9EEC7F), UINT64_C(0x0001AD446C451FAB),
+          UINT64_C(0x0000A7B94D1D1824), UINT64_C(0x0003D360209777BD),
+          UINT64_C(0x0003312FC6A60827)},
+         {UINT64_C(0x0006925365A89852), UINT64_C(0x000532B69C2AC275),
+          UINT64_C(0x00008D2BFA9C57DF), UINT64_C(0x0006B372357986F8),
+          UINT64_C(0x0000BC6738808C01)}},
+        {{UINT64_C(0x000BA8848894762E), UINT64_C(0x0007C52B109B74BA),
+          UINT64_C(0x00055F874E82108D), UINT64_C(0x0006BC4B1AB5D607),
+          UINT64_C(0x0004F79A87A0F4BC)},
+         {UINT64_C(0x00000F22EC08DE0D), UINT64_C(0x00019BBD488532BC),
+          UINT64_C(0x0001F7CC6A46142B), UINT64_C(0x00047951401B8854),
+          UINT64_C(0x0000EEFD5F254172)}},
+        {{UINT64_C(0x00085C1F80C878D8), UINT64_C(0x0006E57903F7CB79),
+          UINT64_C(0x0007C43EE3AD7648), UINT64_C(0x000397051C967FD8),
+          UINT64_C(0x000117C19679F176)},
+         {UINT64_C(0x00002C5D30697DD3), UINT64_C(0x0000D3ECE67318BD),
+          UINT64_C(0x0001F44996A833CC), UINT64_C(0x00015C569BF7DFFB),
+          UINT64_C(0x0001E2F38CD9EB4E)}},
+        {{UINT64_C(0x0001E36DB36EC447), UINT64_C(0x00014967CF4A822B),
+          UINT64_C(0x00000401B78E38EB), UINT64_C(0x0005DAB9A907F31E),
+          UINT64_C(0x0002DACF3F0F0C42)},
+         {UINT64_C(0x000D33C908C6C4F7), UINT64_C(0x00066AA9CCCC7F70),
+          UINT64_C(0x000060C3FCBC4FD7), UINT64_C(0x0001581BF7C89F6C),
+          UINT64_C(0x000611050B8C54AC)}},
+        {{UINT64_C(0x000D068F3D4C0908), UINT64_C(0x0001A02E029F619E),
+          UINT64_C(0x0002B45FEC96D2D8), UINT64_C(0x0005A2871779F131),
+          UINT64_C(0x00023F7AD0C44BA1)},
+         {UINT64_C(0x0004D3B86980DEAF), UINT64_C(0x000711D8166CA500),
+          UINT64_C(0x00030B3ED70C5899), UINT64_C(0x0001D50F687549AF),
+          UINT64_C(0x00008B4B9B39707D)}},
+        {{UINT64_C(0x000466DD9C839775), UINT64_C(0x00027B5FC46C6C6B),
+          UINT64_C(0x000212095C5E5D6E), UINT64_C(0x0000A30F03686D71),
+          UINT64_C(0x0006E778BB41401B)},
+         {UINT64_C(0x000A1B7784E9C0BD), UINT64_C(0x00028B25CB77EDC9),
+          UINT64_C(0x00075141ABC6098A), UINT64_C(0x00051285E7389DBD),
+          UINT64_C(0x000786BB0ADC137B)}},
+        {{UINT64_C(0x0002B5755D306294), UINT64_C(0x00025D99F2BAD0F6),
+          UINT64_C(0x0006E9490307FE67), UINT64_C(0x00020FBAA40EBE93),
+          UINT64_C(0x000621CE633E61AE)},
+         {UINT64_C(0x000063301845BDB1), UINT64_C(0x000488A25D032E0B),
+          UINT64_C(0x000245B64B6BCF17), UINT64_C(0x0005288C9BE6908E),
+          UINT64_C(0x00039074BE491684)}},
+        {{UINT64_C(0x0009D726AEAA4BC7), UINT64_C(0x00006D9CA435F290),
+          UINT64_C(0x000399BB955171B4), UINT64_C(0x000707C3166A8265),
+          UINT64_C(0x0002EB12AACC834B)},
+         {UINT64_C(0x0002B20ADA6782ED), UINT64_C(0x0002F055CE8BB68D),
+          UINT64_C(0x0007C0EB8CC8170C), UINT64_C(0x000082AD8CCDBB94),
+          UINT64_C(0x00069541FF4BC978)}},
+        {{UINT64_C(0x00065D167D224872), UINT64_C(0x0002581C711887F8),
+          UINT64_C(0x00074BAF45B86A47), UINT64_C(0x00005E9E6ABE67A2),
+          UINT64_C(0x0007213BD0895F3B)},
+         {UINT64_C(0x00072AFCA61A0254), UINT64_C(0x00011742392A0ED5),
+          UINT64_C(0x000010832281B6C9), UINT64_C(0x0005A0949297A0F6),
+          UINT64_C(0x0000F164D77E14A3)}},
+    },
+    {
+        {{UINT64_C(0x000ED5760B459019), UINT64_C(0x0002228AEA32C7DB),
+          UINT64_C(0x000728A39BB925A7), UINT64_C(0x000203FA2F13E567),
+          UINT64_C(0x00038462A9F1BA7C)},
+         {UINT64_C(0x0004BD4EC1ABD7B1), UINT64_C(0x0000B5AE953DC16B),
+          UINT64_C(0x00033E07D29EA8C5), UINT64_C(0x00054599995A7CB0),
+          UINT64_C(0x000156E38D3AC76E)}},
+        {{UINT64_C(0x00020D2F2D61CF6A), UINT64_C(0x000773029C680360),
+          UINT64_C(0x0005052970E628E8), UINT64_C(0x0001743A89EE6C31),
+          UINT64_C(0x000086CD11F0DC5D)},
+         {UINT64_C(0x0005C5977FD6C080), UINT64_C(0x00027FE3AE450F63),
+          UINT64_C(0x00021F4ED6717373), UINT64_C(0x00022A3B606C8A66),
+          UINT64_C(0x00052EAC1F03F5E2)}},
+        {{UINT64_C(0x000F339A2B5CE371), UINT64_C(0x00065E19D41D0666),
+          UINT64_C(0x0007287E48FAD9EA), UINT64_C(0x000471066E33BE31),
+          UINT64_C(0x000679F03495F090)},
+         {UINT64_C(0x00074B03158B9D31), UINT64_C(0x0005EA499F4A04EB),
+          UINT64_C(0x0005FEEB553C1808), UINT64_C(0x000397D697ED49B1),
+          UINT64_C(0x0000B67F077DD63D)}},
+        {{UINT64_C(0x0003C03AE2687F73), UINT64_C(0x00079CC5B29E02D3),
+          UINT64_C(0x00072367F9DA54CC), UINT64_C(0x0007DF9A3AD9529A),
+          UINT64_C(0x0001CFAFB9504592)},
+         {UINT64_C(0x00068ACC89A8EE8B), UINT64_C(0x0004AFC769D61DA5),
+          UINT64_C(0x0006F0E9603608BC), UINT64_C(0x0006792F936B1E02),
+          UINT64_C(0x0000F1398ED3BF93)}},
+        {{UINT64_C(0x000671CA92F0E827), UINT64_C(0x0006525CA7C69927),
+          UINT64_C(0x000171200FBFEAFC), UINT64_C(0x0007372EE50A7A5F),
+          UINT64_C(0x0006B675F2E394EC)},
+         {UINT64_C(0x00007DAA7D3D0D62), UINT64_C(0x00016FD73FAB54B1),
+          UINT64_C(0x00067F158C5CC197), UINT64_C(0x000283CEF99745BD),
+          UINT64_C(0x0003348A74E2E770)}},
+        {{UINT64_C(0x00066F8CDCF522E3), UINT64_C(0x0006982F90C04FE6),
+          UINT64_C(0x0007F81A0CED981E), UINT64_C(0x00043551059F8155),
+          UINT64_C(0x0001AFA647940834)},
+         {UINT64_C(0x0007CED8C2304313), UINT64_C(0x0005AE6CE56CC0C8),
+          UINT64_C(0x000137FF230DA040), UINT64_C(0x000568D65C179394),
+          UINT64_C(0x000283CD25568788)}},
+        {{UINT64_C(0x0002AAC2440B7F74), UINT64_C(0x0001F509834690FE),
+          UINT64_C(0x00045D2233CE00BE), UINT64_C(0x000222595A3D079C),
+          UINT64_C(0x00027C0FF58F688E)},
+         {UINT64_C(0x0001D4B3F39E60B3), UINT64_C(0x0004CC3A253B5201),
+          UINT64_C(0x0002333A105146C0), UINT64_C(0x00069062190DB8DD),
+          UINT64_C(0x0005D0790291AD5A)}},
+        {{UINT64_C(0x000F2D0FB16FC7F9), UINT64_C(0x000619F0C8B78C4A),
+          UINT64_C(0x0005A8CCA7C6916F), UINT64_C(0x0001916D4D36752A),
+          UINT64_C(0x0001023EF9FD86D6)},
+         {UINT64_C(0x000168AAB3670612), UINT64_C(0x0005D8B15486E18B),
+          UINT64_C(0x00063DD0999E8E18), UINT64_C(0x0006162366202858),
+          UINT64_C(0x0001A4A2C4870979)}},
+        {{UINT64_C(0x000CEFE4409994EE), UINT64_C(0x00055DA9B44A7A13),
+          UINT64_C(0x000106DF8096A1CD), UINT64_C(0x00032D3E8584E2B6),
+          UINT64_C(0x0005DD046ADEB104)},
+         {UINT64_C(0x000B9B4FF6F4202A), UINT64_C(0x0004ACB4DBC87A7B),
+          UINT64_C(0x0004A78645C47D53), UINT64_C(0x0007903BE0C0CBED),
+          UINT64_C(0x0006FAA43697CCE6)}},
+        {{UINT64_C(0x0005A494E4501DAE), UINT64_C(0x0000463C338F2697),
+          UINT64_C(0x000412F90982A2D3), UINT64_C(0x0004A9D3F24715D7),
+          UINT64_C(0x00072482CA04194D)},
+         {UINT64_C(0x00035900B4AF93E8), UINT64_C(0x000492FB85261015),
+          UINT64_C(0x0002523C6C2876BB), UINT64_C(0x0000406C75A05701),
+          UINT64_C(0x0000BA73DF37C857)}},
+        {{UINT64_C(0x000ACB525BB4074B), UINT64_C(0x00044377012C6937),
+          UINT64_C(0x0000AC6E54E5EE1E), UINT64_C(0x00075073183EEEE0),
+          UINT64_C(0x0000ED70C9270A43)},
+         {UINT64_C(0x0001C2882CD5040F), UINT64_C(0x0006F51F4C4C0E11),
+          UINT64_C(0x0005792A7C9CEA96), UINT64_C(0x0005AE0379BAEF75),
+          UINT64_C(0x0003DEBB57FC40B0)}},
+        {{UINT64_C(0x00014FFB15BBCF14), UINT64_C(0x00039E25E41EAB98),
+          UINT64_C(0x0007FF955A848443), UINT64_C(0x00020BC48CD89492),
+          UINT64_C(0x0007196CDE655F9B)},
+         {UINT64_C(0x0007849F69377955), UINT64_C(0x0003C18A2D36539D),
+          UINT64_C(0x00027E1E94033F9C), UINT64_C(0x0000DE30941EF01B),
+          UINT64_C(0x00008B8E3FC11EC7)}},
+        {{UINT64_C(0x000B06E3EEF0F157), UINT64_C(0x0004007F2ABB1B66),
+          UINT64_C(0x0007DFEC2C450329), UINT64_C(0x00064D8A2197B0C0),
+          UINT64_C(0x000190C79FC2CD88)},
+         {UINT64_C(0x0006B06B6D6D97E1), UINT64_C(0x0001CA489187DECE),
+          UINT64_C(0x0002C0A5779B1894), UINT64_C(0x0004B2CA6FE0E365),
+          UINT64_C(0x00043EC85DD748E5)}},
+        {{UINT64_C(0x00066D07404CC6B4), UINT64_C(0x0000A577C566F3FB),
+          UINT64_C(0x0007AB67D3AD570A), UINT64_C(0x0001F1E9C9856550),
+          UINT64_C(0x00003FA767C56FD6)},
+         {UINT64_C(0x0002CA0442245C81), UINT64_C(0x0005F36D42201ED8),
+          UINT64_C(0x000002F30D51F27E), UINT64_C(0x0004E5D7DA6C00D3),
+          UINT64_C(0x000114C4C91AB28A)}},
+        {{UINT64_C(0x000CEE008612CF1A), UINT64_C(0x0002CF14346EA4C4),
+          UINT64_C(0x0006F8B9D96AE467), UINT64_C(0x0003F33F3E39A186),
+          UINT64_C(0x0004B642581414E2)},
+         {UINT64_C(0x000A079B869D7477), UINT64_C(0x00030DA90A235CA3),
+          UINT64_C(0x0006AD614FDCB2C3), UINT64_C(0x0004852A604A706D),
+          UINT64_C(0x0000157A3839DED1)}},
+        {{UINT64_C(0x000B59E444C4EB0D), UINT64_C(0x00011676B4ECD851),
+          UINT64_C(0x0003D31CB1B12DF9), UINT64_C(0x00027C08F496EEA1),
+          UINT64_C(0x0000BE08415158FA)},
+         {UINT64_C(0x000A04AEF0929EB4), UINT64_C(0x0002CE3EB2563B82),
+          UINT64_C(0x00020C0E6F08D318), UINT64_C(0x0006285C2F629C66),
+          UINT64_C(0x00021EDBA60C1ABB)}},
+    },
+    {
+        {{UINT64_C(0x000FBF96E6D13256), UINT64_C(0x0000B68470D1AAB9),
+          UINT64_C(0x0000BC465046AA9B), UINT64_C(0x0003D5203520917C),
+          UINT64_C(0x0004B417116FA14F)},
+         {UINT64_C(0x0009A3647E0FAC1A), UINT64_C(0x00071A016007859E),
+          UINT64_C(0x0000A7B31060BC87), UINT64_C(0x000128F617FE1085),
+          UINT64_C(0x00006EB4B51971C6)}},
+        {{UINT64_C(0x00056FA126BE097D), UINT64_C(0x0000CA15EBCCDD85),
+          UINT64_C(0x00049ED9E3DC0A72), UINT64_C(0x0000534A6F2D34FF),
+          UINT64_C(0x000727D2633CD1B3)},
+         {UINT64_C(0x000077AEFB30F457), UINT64_C(0x00024BD5A728DA2D),
+          UINT64_C(0x0002C9AF355CE67C), UINT64_C(0x00073999222C6A81),
+          UINT64_C(0x0005ABF888781842)}},
+        {{UINT64_C(0x0007E2B53855E82E), UINT64_C(0x00036F75F5B38D7D),
+          UINT64_C(0x0001FC3826F69222), UINT64_C(0x000551148FF627FA),
+          UINT64_C(0x0000E21BFC642276)},
+         {UINT64_C(0x000CD49503E4AE88), UINT64_C(0x00047C1EF9736822),
+          UINT64_C(0x0002AEC417D9DE9E), UINT64_C(0x000564FF1CD1C7C3),
+          UINT64_C(0x000102F631F03439)}},
+        {{UINT64_C(0x000A9896A4813696), UINT64_C(0x0003523D6EEBE38D),
+          UINT64_C(0x0001F9CAD687DDF8), UINT64_C(0x00071E17B9265FA2),
+          UINT64_C(0x0003DC4E4A6526C5)},
+         {UINT64_C(0x000380987DFF3364), UINT64_C(0x00031775ED80285C),
+          UINT64_C(0x0003F94142B2664D), UINT64_C(0x00019B13FD7656C1),
+          UINT64_C(0x0003839548BAC133)}},
+        {{UINT64_C(0x0009059C15C5F8C7), UINT64_C(0x0005DCE55CE2EB32),
+          UINT64_C(0x00064F44509419F0), UINT64_C(0x0005813AAEBDF343),
+          UINT64_C(0x00066F8F9B0F508F)},
+         {UINT64_C(0x0004D3AC3084DCF0), UINT64_C(0x00046DB6042359EF),
+          UINT64_C(0x0000707D3EFD6F04), UINT64_C(0x00039BE123FBD3E7),
+          UINT64_C(0x000374429C7AA556)}},
+        {{UINT64_C(0x0009049F51AC9B9F), UINT64_C(0x00069F045B69DBA5),
+          UINT64_C(0x0003599C0A66FE14), UINT64_C(0x0007E37C062CF77A),
+          UINT64_C(0x0004EE7A09B3E7EA)},
+         {UINT64_C(0x000BBEBF02917C14), UINT64_C(0x00000A62E0342107),
+          UINT64_C(0x00018B2A672798B2), UINT64_C(0x0005D31A994A35E2),
+          UINT64_C(0x00025FE7CA47E56C)}},
+        {{UINT64_C(0x000C0FA78FD24FB4), UINT64_C(0x00014B8508F3AF59),
+          UINT64_C(0x0001D75539AA97B4), UINT64_C(0x00030FD522CD0AED),
+          UINT64_C(0x0001AEF85FCB95C2)},
+         {UINT64_C(0x000CE2C59DBEBDCB), UINT64_C(0x0002F12AEBAFF60C),
+          UINT64_C(0x0004DE71444F1374), UINT64_C(0x00053A44DD8A0024),
+          UINT64_C(0x000043DEE537DC07)}},
+        {{UINT64_C(0x000F9CB8CD409462), UINT64_C(0x00007A5EA9DCFC77),
+          UINT64_C(0x00015B9C5672DDAC), UINT64_C(0x0002DEC06E0CD7B9),
+          UINT64_C(0x0003829D7DBD8C4B)},
+         {UINT64_C(0x000148A317174A3E), UINT64_C(0x0006C135D451348E),
+          UINT64_C(0x000614DB1EF72449), UINT64_C(0x0005EA3039A699C9),
+          UINT64_C(0x0005F393C9921CFD)}},
+        {{UINT64_C(0x000BD8E78399A837), UINT64_C(0x000326AC044CB6BE),
+          UINT64_C(0x000421B7FF19FDFB), UINT64_C(0x0004F2CE100BD03E),
+          UINT64_C(0x00064D848DAF30F8)},
+         {UINT64_C(0x0009B499ED1FE2E3), UINT64_C(0x0006841BA92C3FA2),
+          UINT64_C(0x00061A84C7C8363B), UINT64_C(0x00014616602672A2),
+          UINT64_C(0x00056FFF0F1EB104)}},
+        {{UINT64_C(0x0006C40BEAC31BB5), UINT64_C(0x00018E17F67F79D1),
+          UINT64_C(0x000226CDC803E440), UINT64_C(0x0001B07C6F9AA066),
+          UINT64_C(0x0000F7F08F44D7E2)},
+         {UINT64_C(0x000A2B8B71A878F2), UINT64_C(0x00005451E156E406),
+          UINT64_C(0x0003F11116E5324A), UINT64_C(0x0007F48FABEB6CE3),
+          UINT64_C(0x00041EA4652B5893)}},
+        {{UINT64_C(0x00080127877EB48E), UINT64_C(0x0004F352E0372300),
+          UINT64_C(0x0004B4EA89740CB2), UINT64_C(0x0002DA8620AA1FD0),
+          UINT64_C(0x0003DD845928A4A7)},
+         {UINT64_C(0x0003B8912897B9CF), UINT64_C(0x00024BFED91B1D58),
+          UINT64_C(0x0002574ECC3E424D), UINT64_C(0x00037D04B7723902),
+          UINT64_C(0x00006D7693B13AD1)}},
+        {{UINT64_C(0x00059E9FDEA9C944), UINT64_C(0x000428DEC2AC2842),
+          UINT64_C(0x000497AAFFA03EFC), UINT64_C(0x0005FB9332E47452),
+          UINT64_C(0x00056C69D8A0C638)},
+         {UINT64_C(0x0009A23A2C6E31BC), UINT64_C(0x00003ED95E52136D),
+          UINT64_C(0x00034F2DF9A2277A), UINT64_C(0x0006E2B8948FCBBB),
+          UINT64_C(0x0002E56F673B687E)}},
+        {{UINT64_C(0x00011F6068178EE8), UINT64_C(0x000571D59E914ACF),
+          UINT64_C(0x00053B116D7B9565), UINT64_C(0x0000819A7CA2F5C6),
+          UINT64_C(0x00005D54B6D9C418)},
+         {UINT64_C(0x000117E6E5F4423F), UINT64_C(0x0007BB7D377A5DF8),
+          UINT64_C(0x00046F1DCCE6741F), UINT64_C(0x000624C8A21373BD),
+          UINT64_C(0x00023E4D22A016DF)}},
+        {{UINT64_C(0x0003C0EAC69D0DE5), UINT64_C(0x0006CF31DC831402),
+          UINT64_C(0x00002BAD0A426ACA), UINT64_C(0x00007864FD5F0E1A),
+          UINT64_C(0x00013C70B1A51E7D)},
+         {UINT64_C(0x000E7A74CF7DE7B7), UINT64_C(0x00059198080C0E1F),
+          UINT64_C(0x0002341CEA45F848), UINT64_C(0x000640334A0B0BD2),
+          UINT64_C(0x00073CF34A927A18)}},
+        {{UINT64_C(0x00078BB4A9FDF621), UINT64_C(0x000042F21FD366CA),
+          UINT64_C(0x00039E15CF3E8543), UINT64_C(0x000371C9BC5AD61E),
+          UINT64_C(0x0004B624E18568CB)},
+         {UINT64_C(0x00078D62B4ADE692), UINT64_C(0x0004A079DD8E7902),
+          UINT64_C(0x00029FA46937F35F), UINT64_C(0x0001C7744CC75169),
+          UINT64_C(0x0007C882CBF3BBAA)}},
+        {{UINT64_C(0x0005C23B09112390), UINT64_C(0x0001091F52EA9318),
+          UINT64_C(0x00047D031BDBD618), UINT64_C(0x00042176E850AF62),
+          UINT64_C(0x000255756EBA373D)},
+         {UINT64_C(0x0008E197B7FDF0D5), UINT64_C(0x0001277E4F639650),
+          UINT64_C(0x00002E5B807E9012), UINT64_C(0x0005C7BCAB505A9F),
+          UINT64_C(0x0001A25FDD4D5CF9)}},
+    },
+    {
+        {{UINT64_C(0x0005828E38661C25), UINT64_C(0x00014BC3733F569B),
+          UINT64_C(0x0003412CB1C71958), UINT64_C(0x00004DC731462284),
+          UINT64_C(0x0001245D94326762)},
+         {UINT64_C(0x000EBD2384BE5F68), UINT64_C(0x000697E3904C2BC5),
+          UINT64_C(0x0005D783FCBC6030), UINT64_C(0x0004CB401C37BE4C),
+          UINT64_C(0x00011FFCCA4123CC)}},
+        {{UINT64_C(0x00010495DBB211E9), UINT64_C(0x00025442F7CC4E5C),
+          UINT64_C(0x000561DB7856A6B7), UINT64_C(0x00052325F162CCFC),
+          UINT64_C(0x00054EF209D81AB5)},
+         {UINT64_C(0x000C391A115200C4), UINT64_C(0x000138919D37F23E),
+          UINT64_C(0x00038909464B887E), UINT64_C(0x0005167B307E5774),
+          UINT64_C(0x00032242323F9935)}},
+        {{UINT64_C(0x0007ED46EC46A583), UINT64_C(0x000392288DCC4F7A),
+          UINT64_C(0x0007FD2EB94B33B0), UINT64_C(0x000432CF9FE955B4),
+          UINT64_C(0x0002450E4D8A038A)},
+         {UINT64_C(0x0007AFF478477329), UINT64_C(0x0004D48903D3CD08),
+          UINT64_C(0x000708276A425531), UINT64_C(0x000606FD71DB1D37),
+          UINT64_C(0x000142BEBD75DEB9)}},
+        {{UINT64_C(0x000B1FA45676391E), UINT64_C(0x00069692EEDD270E),
+          UINT64_C(0x000498670EBF7399), UINT64_C(0x00045C7632B7CFC2),
+          UINT64_C(0x00019A09AE2A79FB)},
+         {UINT64_C(0x0002CA58A8153BB1), UINT64_C(0x00031337FF678477),
+          UINT64_C(0x000418997426A417), UINT64_C(0x000655A7996C5020),
+          UINT64_C(0x0001936EB94D8E93)}},
+        {{UINT64_C(0x0009A2630289A595), UINT64_C(0x0000CA8CFCDBA537),
+          UINT64_C(0x00056FF9F6E6FE48), UINT64_C(0x0005B53BE7E2FC07),
+          UINT64_C(0x0000C8AA9E431C96)},
+         {UINT64_C(0x0008F62B7EC7F8B4), UINT64_C(0x000759CD5D73D9A2),
+          UINT64_C(0x00015AB8E3A25009), UINT64_C(0x0004CC8936067C91),
+          UINT64_C(0x00054FC0E3CFD648)}},
+        {{UINT64_C(0x0006FA9F5E920FA0), UINT64_C(0x0000B770A49D3EEC),
+          UINT64_C(0x000582B079BCD64F), UINT64_C(0x0001C35560408E28),
+          UINT64_C(0x000044A7950A6FFB)},
+         {UINT64_C(0x000B3A87FED1B513), UINT64_C(0x00067CE537DA0A6A),
+          UINT64_C(0x000707594DB6F3AF), UINT64_C(0x00057EC75ED66C23),
+          UINT64_C(0x00069E23F2649E30)}},
+        {{UINT64_C(0x000AA072D6126519), UINT64_C(0x0001BE00610679A4),
+          UINT64_C(0x0006C412907F1A7D), UINT64_C(0x000163773E6AAA30),
+          UINT64_C(0x0003BC5F3E291E74)},
+         {UINT64_C(0x000809166205E3BB), UINT64_C(0x000785499CE64078),
+          UINT64_C(0x0000E3D8FC7F29B8), UINT64_C(0x0007E0EF22E29934),
+          UINT64_C(0x00030E9A8D252A88)}},
+        {{UINT64_C(0x0003A829DCC73EE8), UINT64_C(0x000699D7B9BF4EAD),
+          UINT64_C(0x0007D4B17CC3C7C2), UINT64_C(0x0002905BEE0EE901),
+          UINT64_C(0x000547FF8275C891)},
+         {UINT64_C(0x00052B2910F7F25A), UINT64_C(0x00068F778D2E5A27),
+          UINT64_C(0x0001B85563815942), UINT64_C(0x00013DF08225311A),
+          UINT64_C(0x0007609FDFF08594)}},
+        {{UINT64_C(0x000B2E2EC305F2D5), UINT64_C(0x0000996BBC6E4FA9),
+          UINT64_C(0x00030B4CB4168F67), UINT64_C(0x0007426FB602045D),
+          UINT64_C(0x0000943C5ADFF99F)},
+         {UINT64_C(0x000E48A53EA42C24), UINT64_C(0x00057678B9589CBD),
+          UINT64_C(0x00052006DCF8D83F), UINT64_C(0x00053D7E245AD4FD),
+          UINT64_C(0x00077A9E12D48B9D)}},
+        {{UINT64_C(0x0007CAC10865F9CF), UINT64_C(0x000578B7D35B3A19),
+          UINT64_C(0x000708EEEBB1E6E7), UINT64_C(0x0002ABFEA46C5555),
+          UINT64_C(0x0004CA5DC5AE086E)},
+         {UINT64_C(0x000A36376B7A93D2), UINT64_C(0x000188095575D2D0),
+          UINT64_C(0x0000393EF6F8634C), UINT64_C(0x0007C039388938C2),
+          UINT64_C(0x00031010E90AC0B1)}},
+        {{UINT64_C(0x0007DF172B9EB768), UINT64_C(0x000178D003BB4489),
+          UINT64_C(0x000783A956E76079), UINT64_C(0x00025ACCD6C14EC3),
+          UINT64_C(0x00046178A9DC6279)},
+         {UINT64_C(0x00015D4ECB7BD0F4), UINT64_C(0x0006C0DC296E2C56),
+          UINT64_C(0x00053C51B36422FB), UINT64_C(0x000549E0F4E67DE5),
+          UINT64_C(0x000389CCC23186D0)}},
+        {{UINT64_C(0x000C532F03C27F78), UINT64_C(0x00014A6C28ABF4C3),
+          UINT64_C(0x0003F90A141B9A5B), UINT64_C(0x00069B2DDF5CD3B9),
+          UINT64_C(0x0002CA851CF01E00)},
+         {UINT64_C(0x00059440324910F2), UINT64_C(0x000729FD333620F7),
+          UINT64_C(0x00003CD70BDC8C7B), UINT64_C(0x00040C73BD640FDD),
+          UINT64_C(0x0004332FAA2FFBA1)}},
+        {{UINT64_C(0x0006664ABFD5681D), UINT64_C(0x000074E8C029237E),
+          UINT64_C(0x0006201249B2B7BD), UINT64_C(0x000529E03D66B256),
+          UINT64_C(0x000107D890CE2D92)},
+         {UINT64_C(0x000F2B9FEE1231EC), UINT64_C(0x00037A3DA4060374),
+          UINT64_C(0x0000D270F3481DAF), UINT64_C(0x000748DD10EC51C1),
+          UINT64_C(0x000313AA5B16B013)}},
+        {{UINT64_C(0x000DF0E13A34CBFC), UINT64_C(0x0003631767D8B18E),
+          UINT64_C(0x00006B84D66D0E80), UINT64_C(0x0003C82463233CE9),
+          UINT64_C(0x00000EC0876ED459)},
+         {UINT64_C(0x000BFA9BFE16F36E), UINT64_C(0x0002B16C346CBE77),
+          UINT64_C(0x0001F03779578316), UINT64_C(0x0005B6D0ECC3F5EA),
+          UINT64_C(0x000392C5DC949B1E)}},
+        {{UINT64_C(0x0003CA709674F552), UINT64_C(0x0004286A064869F6),
+          UINT64_C(0x0000E2BB1ED6DF2A), UINT64_C(0x0004B163E6232515),
+          UINT64_C(0x0007FC5BBC23EE21)},
+         {UINT64_C(0x00048D96D1562488), UINT64_C(0x0004D9D561FE91F5),
+          UINT64_C(0x0005807F49D14F0C), UINT64_C(0x0000A483741FDC4B),
+          UINT64_C(0x0002562EC3A9714B)}},
+        {{UINT64_C(0x00077D2D04C4F8B3), UINT64_C(0x0003A4D092998582),
+          UINT64_C(0x00036F34A3156092), UINT64_C(0x00036043316B80D2),
+          UINT64_C(0x000387899C0D0389)},
+         {UINT64_C(0x0001D232B890C1FF), UINT64_C(0x0002BB8E2A3A7B1E),
+          UINT64_C(0x000674044C311F30), UINT64_C(0x00042AABC2D14B2F),
+          UINT64_C(0x0005FA4E41857301)}},
+    },
+    {
+        {{UINT64_C(0x000B8C87FBE21CA1), UINT64_C(0x0004654DD4516E9E),
+          UINT64_C(0x0004D4C04111E84C), UINT64_C(0x00052F54D6883A97),
+          UINT64_C(0x00058FBFACC04077)},
+         {UINT64_C(0x0008B1B2BD6C47E6), UINT64_C(0x000406C2B52FDDD1),
+          UINT64_C(0x0005CD0AC07AFC39), UINT64_C(0x00025702B023D878),
+          UINT64_C(0x0000457D9E01D39B)}},
+        {{UINT64_C(0x000357AC0E5357E1), UINT64_C(0x000603BB8F446D94),
+          UINT64_C(0x000526C39B423BF6), UINT64_C(0x000652EC95741E38),
+          UINT64_C(0x0003AE110F98F0B7)},
+         {UINT64_C(0x00062637EE945699), UINT64_C(0x00049EF673613CC9),
+          UINT64_C(0x00016CE0E4F9387C), UINT64_C(0x000651CEC355D9BE),
+          UINT64_C(0x000268F9AB67FA18)}},
+        {{UINT64_C(0x00093F3302F7A85C), UINT64_C(0x00045C7103A537C2),
+          UINT64_C(0x000019C168EFCF12), UINT64_C(0x0000FCE8AC30255C),
+          UINT64_C(0x00007B9C2CD636AF)},
+         {UINT64_C(0x000C7C15BA124E6A), UINT64_C(0x0006096943B520B1),
+          UINT64_C(0x00062EFD361E552A), UINT64_C(0x0001B396CD943BA3),
+          UINT64_C(0x000246C5ECE49CB6)}},
+        {{UINT64_C(0x000C8B07844D0432), UINT64_C(0x000193AA51F64178),
+          UINT64_C(0x000652032368D613), UINT64_C(0x0000584636777EBD),
+          UINT64_C(0x00076EBD45AE24F8)},
+         {UINT64_C(0x00083A8832371D4D), UINT64_C(0x00031C19F58C6C5D),
+          UINT64_C(0x0006B31CAFC81A4C), UINT64_C(0x0000F4FB72B9C793),
+          UINT64_C(0x00051077AABFF976)}},
+        {{UINT64_C(0x000AFF8E199C7745), UINT64_C(0x00000B6C8E8C41D7),
+          UINT64_C(0x0000E037DBA37A3B), UINT64_C(0x0005BFBB2E8C259E),
+          UINT64_C(0x0003066835FD1B75)},
+         {UINT64_C(0x000612167989FFA4), UINT64_C(0x0007902FB713C890),
+          UINT64_C(0x0000A6D25B2214DB), UINT64_C(0x00060B1391B6BBD8),
+          UINT64_C(0x0004E350B3BCA4E4)}},
+        {{UINT64_C(0x000F3F02AF47CC2D), UINT64_C(0x00060388DA43D42C),
+          UINT64_C(0x000632F6353FB249), UINT64_C(0x0005F31E07849F64),
+          UINT64_C(0x0005CE122608D9A5)},
+         {UINT64_C(0x0006007E5350D389), UINT64_C(0x0007742ACF4259FE),
+          UINT64_C(0x000701EBC914081D), UINT64_C(0x000531138485C0D1),
+          UINT64_C(0x00076919B7CB5969)}},
+        {{UINT64_C(0x000EC0DD3F0BB75C), UINT64_C(0x000517421A5944B2),
+          UINT64_C(0x00064E3D5BDAF79C), UINT64_C(0x00077DAC3841BA0D),
+          UINT64_C(0x000274CFC101EC2D)},
+         {UINT64_C(0x0008CD42DD1C1CFE), UINT64_C(0x0000572F81FDFD0F),
+          UINT64_C(0x0007BBC498B713BC), UINT64_C(0x00034B4691EB371D),
+          UINT64_C(0x00064FF50BFB9339)}},
+        {{UINT64_C(0x000A74289BD66C07), UINT64_C(0x00041AE49E4EF440),
+          UINT64_C(0x00016BD641D76BFB), UINT64_C(0x0006217734484D42),
+          UINT64_C(0x0007801CB15FA7FF)},
+         {UINT64_C(0x0006A7999951B22E), UINT64_C(0x00073B7132140BC1),
+          UINT64_C(0x0001CB156A92521C), UINT64_C(0x00047DAE07D429C2),
+          UINT64_C(0x00034176AE2F6DD1)}},
+        {{UINT64_C(0x000F38AE8B585B7C), UINT64_C(0x0007D0F5E5336093),
+          UINT64_C(0x000634B7780008CA), UINT64_C(0x0006CBB99339E01D),
+          UINT64_C(0x000048FD2054F121)},
+         {UINT64_C(0x000DA75057482FC7), UINT64_C(0x000659E2C0AC4ADB),
+          UINT64_C(0x0002839CEE7F858A), UINT64_C(0x0005F0AC5233F317),
+          UINT64_C(0x0007DB0CE3A922D5)}},
+        {{UINT64_C(0x00026BED2D1D7FC7), UINT64_C(0x000040FD51645942),
+          UINT64_C(0x0001C6893567FE50), UINT64_C(0x0007BEAA7D726BFC),
+          UINT64_C(0x0004207CB6F8125B)},
+         {UINT64_C(0x000C744046E92E4A), UINT64_C(0x0004889DCCE9C25F),
+          UINT64_C(0x000298D4EBD978FD), UINT64_C(0x000538378F3B449E),
+          UINT64_C(0x000103ECF3526132)}},
+        {{UINT64_C(0x00070E6E240ACD3F), UINT64_C(0x0002D0E910C2C5C5),
+          UINT64_C(0x00047C4B7A150503), UINT64_C(0x0007E03610CFC713),
+          UINT64_C(0x000012B1D48802DF)},
+         {UINT64_C(0x0005F52F4DB5F186), UINT64_C(0x000214FE444DAC5B),
+          UINT64_C(0x00040B88A70B4E77), UINT64_C(0x00028DB30B535336),
+          UINT64_C(0x000269074FCBDB43)}},
+        {{UINT64_C(0x0007D8A7FAA53FDE), UINT64_C(0x00073B94B3141959),
+          UINT64_C(0x000479FD2A22E7BB), UINT64_C(0x00023433E0E79ABC),
+          UINT64_C(0x0007443BEA34A6F6)},
+         {UINT64_C(0x000FEF139C8576CC), UINT64_C(0x00050FBF061F5893),
+          UINT64_C(0x0004558E31BB1220), UINT64_C(0x000315C237E0227E),
+          UINT64_C(0x0000B5335F077DD7)}},
+        {{UINT64_C(0x00045CB3299CB9CB), UINT64_C(0x0006C0467C3B394D),
+          UINT64_C(0x0004E14A26B6171B), UINT64_C(0x00038CC5A50E5AA7),
+          UINT64_C(0x00005EDE90305A8E)},
+         {UINT64_C(0x0007D811A19C3957), UINT64_C(0x0004D84D2FDD61E8),
+          UINT64_C(0x0003F360AB0C2427), UINT64_C(0x0006D66D2AB4A909),
+          UINT64_C(0x0007376DB64F64BE)}},
+        {{UINT64_C(0x00051348CBF420A8), UINT64_C(0x0003D930ED834A4F),
+          UINT64_C(0x000189403BF27676), UINT64_C(0x000181B04E39E3D0),
+          UINT64_C(0x00005C72602F7C87)},
+         {UINT64_C(0x000FF27D92F3F8A6), UINT64_C(0x00057F1C3BE718B0),
+          UINT64_C(0x0007DB5FE00D8AC2), UINT64_C(0x0006508234B8F600),
+          UINT64_C(0x00068F5AC550C57D)}},
+        {{UINT64_C(0x000B437344372511), UINT64_C(0x0002CC307D9DF3CA),
+          UINT64_C(0x000065755E585F5C), UINT64_C(0x0004484FE311448A),
+          UINT64_C(0x00045D0A928F957F)},
+         {UINT64_C(0x0009DC33DF29CABF), UINT64_C(0x00058AABC130136B),
+          UINT64_C(0x0006DD896642EBED), UINT64_C(0x0003DD5E6A93CDB6),
+          UINT64_C(0x00058BBD544A9587)}},
+        {{UINT64_C(0x00023F2F46B77A44), UINT64_C(0x00022E0E5444326D),
+          UINT64_C(0x0000C682DDCB6C24), UINT64_C(0x000174710E87D9FD),
+          UINT64_C(0x00062440C79CB254)},
+         {UINT64_C(0x000C0B15406C928C), UINT64_C(0x0004D56FB1459CB2),
+          UINT64_C(0x00012D1E88446D8A), UINT64_C(0x0000D1CDDEF21AA8),
+          UINT64_C(0x0002C8A130076C5D)}},
+    },
+    {
+        {{UINT64_C(0x000A20A5A11AEE99), UINT64_C(0x000658F7C4C596BF),
+          UINT64_C(0x00031596DD0E0F0C), UINT64_C(0x0007FC75CBADE15C),
+          UINT64_C(0x00024BB69877DB99)},
+         {UINT64_C(0x000F47EE95A31E2E), UINT64_C(0x0006090BCAD2326F),
+          UINT64_C(0x0003F84B5AAC8FE6), UINT64_C(0x00028823088CE92F),
+          UINT64_C(0x0002532BF86570CF)}},
+        {{UINT64_C(0x0005E2861D5F12F9), UINT64_C(0x000537E8118D77D5),
+          UINT64_C(0x000631B8799698AE), UINT64_C(0x0003CC1412721F76),
+          UINT64_C(0x000624DB7CBC35F6)},
+         {UINT64_C(0x0007E4CF1383E30F), UINT64_C(0x0000ACF29C3392AB),
+          UINT64_C(0x00027424E45CBECE), UINT64_C(0x000531D9F8ABB684),
+          UINT64_C(0x00076C6093C294A1)}},
+        {{UINT64_C(0x000536AC6395662A), UINT64_C(0x000239188AAD2807),
+          UINT64_C(0x00031EADFE0E7BEB), UINT64_C(0x00036455A85285DD),
+          UINT64_C(0x0000DFA70C45530F)},
+         {UINT64_C(0x000AA7B94BEC12BF), UINT64_C(0x000127AF29368714),
+          UINT64_C(0x0005B0B1FF2913B2), UINT64_C(0x0005B474E2A2BCDF),
+          UINT64_C(0x0005B2B977212BD9)}},
+        {{UINT64_C(0x000FFD50E811BC89), UINT64_C(0x0003FA8AA1288DF8),
+          UINT64_C(0x0004CE42359D496A), UINT64_C(0x0005AD22EC8B66B0),
+          UINT64_C(0x00035AD636E886A1)},
+         {UINT64_C(0x00036AEC1F03E773), UINT64_C(0x0004DB5A8BCA9BB7),
+          UINT64_C(0x000378BD3B9E00D0), UINT64_C(0x0002F9A1B2588A18),
+          UINT64_C(0x00059374C4B84DCE)}},
+        {{UINT64_C(0x000A5C78C0A09501), UINT64_C(0x000438418122FEF3),
+          UINT64_C(0x00036F391A493F51), UINT64_C(0x0001C1581DA10D11),
+          UINT64_C(0x0004D380EFB19759)},
+         {UINT64_C(0x0007AE14448E2F04), UINT64_C(0x0003E5E01CA7FD7A),
+          UINT64_C(0x00014C4162795998), UINT64_C(0x0007BBA0161739BC),
+          UINT64_C(0x0001CC54400F1EC4)}},
+        {{UINT64_C(0x000B4104835823A8), UINT64_C(0x000049050C8FF31A),
+          UINT64_C(0x00078137F3671127), UINT64_C(0x000291A0D2FD7BCD),
+          UINT64_C(0x0000C5045563A528)},
+         {UINT64_C(0x000216E06610C3FE), UINT64_C(0x0006D4EB6BA949C6),
+          UINT64_C(0x0005980545DD7A0A), UINT64_C(0x0003C47D2617FCCA),
+          UINT64_C(0x0004E4B15E594DAD)}},
+        {{UINT64_C(0x000F8BABBDF00F70), UINT64_C(0x00063DF37D0B03B9),
+          UINT64_C(0x0003D691146AF8DE), UINT64_C(0x00002891C5C93DC5),
+          UINT64_C(0x0001CD90615B01A9)},
+         {UINT64_C(0x000D5D595EBCBD12), UINT64_C(0x000179C70C411F6B),
+          UINT64_C(0x000470395C25F3BB), UINT64_C(0x00005F2DBD08ADC8),
+          UINT64_C(0x000177CA728981CA)}},
+        {{UINT64_C(0x0000E456B1F71055), UINT64_C(0x0007362E63D73807),
+          UINT64_C(0x00040975D13C6956), UINT64_C(0x00077C8546A0DDEC),
+          UINT64_C(0x000255C05FCBFFB8)},
+         {UINT64_C(0x0009D08BF388FA6C), UINT64_C(0x0005479123177C4E),
+          UINT64_C(0x0006EF2CA17DD9CC), UINT64_C(0x0000A28B766E8543),
+          UINT64_C(0x000725EF11C998DB)}},
+        {{UINT64_C(0x000AFD776D46AE2B), UINT64_C(0x0003A2987F39DE71),
+          UINT64_C(0x00004318A4AD86B8), UINT64_C(0x00029CB17C4E8BA2),
+          UINT64_C(0x00068C1611368562)},
+         {UINT64_C(0x00072BB4043C69E3), UINT64_C(0x000355B0D908C97C),
+          UINT64_C(0x0001D84483454BEA), UINT64_C(0x0001086B129DA054),
+          UINT64_C(0x00077E8521E8B03C)}},
+        {{UINT64_C(0x000483BAE3E96C40), UINT64_C(0x0001033C465DCD03),
+          UINT64_C(0x000144124D4C7602), UINT64_C(0x0000F90A0A3F2373),
+          UINT64_C(0x00021D2DDA9344D1)},
+         {UINT64_C(0x000BCC16AC03E55C), UINT64_C(0x0007907B7596D0A7),
+          UINT64_C(0x0001FA7957776F16), UINT64_C(0x000330182BCE6E91),
+          UINT64_C(0x00044B0FCEC99956)}},
+        {{UINT64_C(0x00057F6C0E0F3BFB), UINT64_C(0x000162B3C9264F2C),
+          UINT64_C(0x00041C4E863CD2BE), UINT64_C(0x00044D72FE16345A),
+          UINT64_C(0x000666FAA55BBB69)},
+         {UINT64_C(0x000E5AD6ED951F40), UINT64_C(0x000420A55FD6D09E),
+          UINT64_C(0x00045DEBB67E01E4), UINT64_C(0x00057700CDA6B2E2),
+          UINT64_C(0x0002385BC90BA9CD)}},
+        {{UINT64_C(0x000D7FBDBC6992BF), UINT64_C(0x000326A5E14A7861),
+          UINT64_C(0x000542159B191B29), UINT64_C(0x00078DF87B779043),
+          UINT64_C(0x0007D91072D769FC)},
+         {UINT64_C(0x000F81B25D9A6F04), UINT64_C(0x0004F3DE069B4E88),
+          UINT64_C(0x0003D1D943A8CBC1), UINT64_C(0x00003F1FE40D629B),
+          UINT64_C(0x0003EC7B27C110AE)}},
+        {{UINT64_C(0x000A3FB03B6CC730), UINT64_C(0x00023C7A1AE1D095),
+          UINT64_C(0x0004D884FC7D66EE), UINT64_C(0x0006892EDA82276A),
+          UINT64_C(0x0007E14DAC6F262A)},
+         {UINT64_C(0x000078183982428A), UINT64_C(0x0000F555B51769F7),
+          UINT64_C(0x0002C306A05F265D), UINT64_C(0x0007359935B2E81E),
+          UINT64_C(0x00017E43ECD283C0)}},
+        {{UINT64_C(0x00003A82E91E17BF), UINT64_C(0x0002819AB5CB8AC3),
+          UINT64_C(0x0004CCB84250F825), UINT64_C(0x0005B7B331D46BB5),
+          UINT64_C(0x0001D3BA6D0D999A)},
+         {UINT64_C(0x000FED56D79EE4F6), UINT64_C(0x000159B4CD69EF9F),
+          UINT64_C(0x0001BFFE18B5C9B0), UINT64_C(0x0004736AD2A4D805),
+          UINT64_C(0x00034F5F044BA570)}},
+        {{UINT64_C(0x0001343287CDEBA0), UINT64_C(0x00013D882BADAB71),
+          UINT64_C(0x0005CAD7B607FCC4), UINT64_C(0x00023E01BF809A99),
+          UINT64_C(0x0003312CA1620AC9)},
+         {UINT64_C(0x000282755193459D), UINT64_C(0x0004995E4E82E3E5),
+          UINT64_C(0x0000CBCB85F02225), UINT64_C(0x0000D409BC19F795),
+          UINT64_C(0x00002E6EDB143CE9)}},
+        {{UINT64_C(0x0004F31CB2D9BCCB), UINT64_C(0x000628A63902A713),
+          UINT64_C(0x0004F007BD385C5E), UINT64_C(0x0001F74B1F93394D),
+          UINT64_C(0x0003086A647FCB5C)},
+         {UINT64_C(0x000398B0975F65D4), UINT64_C(0x0004AA9FDC040688),
+          UINT64_C(0x000332D91719B6C9), UINT64_C(0x00040BC443E8E4C7),
+          UINT64_C(0x00020AA4BACC6B0F)}},
+    },
+    {
+        {{UINT64_C(0x00082C1376036494), UINT64_C(0x000381809A5DC13F),
+          UINT64_C(0x0007A768F09F3FDD), UINT64_C(0x000024F9AD059DDF),
+          UINT64_C(0x000434FAA3001A00)},
+         {UINT64_C(0x000F6C7E5397CE18), UINT64_C(0x000473965DA5203F),
+          UINT64_C(0x000022D664316484), UINT64_C(0x00017D08DDE3B42A),
+          UINT64_C(0x000032E15813D1D4)}},
+        {{UINT64_C(0x000A24C7658BA0CB), UINT64_C(0x0004DAFAE0752E4D),
+          UINT64_C(0x00057FEE62416FAC), UINT64_C(0x0007CE89A50A1C66),
+          UINT64_C(0x0005B3A87DDA42C5)},
+         {UINT64_C(0x00015A6DCD0D9750), UINT64_C(0x0000DC64FF4D1D60),
+          UINT64_C(0x00062BE62D48588D), UINT64_C(0x00044CED6F7DC105),
+          UINT64_C(0x00051FD1713A7272)}},
+        {{UINT64_C(0x00031C0A4FBA8CD3), UINT64_C(0x00004D85D27BFFBD),
+          UINT64_C(0x00073687DDD1897B), UINT64_C(0x0003C18CABEB4462),
+          UINT64_C(0x000252009593038E)},
+         {UINT64_C(0x0006A4B0F43B1F03), UINT64_C(0x0003596CEF096CE4),
+          UINT64_C(0x000370A6BA70C9EC), UINT64_C(0x000504FA8F22F8D9),
+          UINT64_C(0x00042EF23D58A32E)}},
+        {{UINT64_C(0x00018C743658227A), UINT64_C(0x00059EB06D4851E7),
+          UINT64_C(0x000765C0B448C135), UINT64_C(0x0002B1CDBE044E7F),
+          UINT64_C(0x0003BDF03C33FC4C)},
+         {UINT64_C(0x0000B8DD5FB4A505), UINT64_C(0x00042CD448FC94EE),
+          UINT64_C(0x00041528FB2A0C40), UINT64_C(0x0006016CCFD12E3D),
+          UINT64_C(0x00050D6616BCB42A)}},
+        {{UINT64_C(0x00040B651D6D68FC), UINT64_C(0x0004F96B3665F295),
+          UINT64_C(0x00032453022450B6), UINT64_C(0x00062498B1682588),
+          UINT64_C(0x0000FAB72B2FCCDF)},
+         {UINT64_C(0x000274624DFAF9A7), UINT64_C(0x0004DA952FBAD71D),
+          UINT64_C(0x0000C06372160275), UINT64_C(0x00065F4951C1680C),
+          UINT64_C(0x00020B63127A4A88)}},
+        {{UINT64_C(0x000050A3603E9997), UINT64_C(0x0003A6ADCDF25D68),
+          UINT64_C(0x0001ADDCEB37FF27), UINT64_C(0x0004AE1B473A39F1),
+          UINT64_C(0x00008E1D46706170)},
+         {UINT64_C(0x000BDEA888583D12), UINT64_C(0x00058B06E62135F6),
+          UINT64_C(0x0006B07EE1CF9CF1), UINT64_C(0x0007166BD7374570),
+          UINT64_C(0x0001B932B291A438)}},
+        {{UINT64_C(0x0005AF929B2B37C3), UINT64_C(0x0007549202796660),
+          UINT64_C(0x000513E2660DE7FC), UINT64_C(0x00006B6381885392),
+          UINT64_C(0x000331EBF4C330BC)},
+         {UINT64_C(0x0005604DFD132A81), UINT64_C(0x00018FFB2CF41F7A),
+          UINT64_C(0x0005BE1FFDB10454), UINT64_C(0x000789C57A8EB47D),
+          UINT64_C(0x0003C7003C3CC193)}},
+        {{UINT64_C(0x000FF74CFBD82392), UINT64_C(0x000381F44F448A49),
+          UINT64_C(0x00037DADAB5742D4), UINT64_C(0x0003385CD8013C8C),
+          UINT64_C(0x00077C42B4529B16)},
+         {UINT64_C(0x0009C56F0944379A), UINT64_C(0x000383BFA2B1C2B2),
+          UINT64_C(0x0003E4ADF6856612), UINT64_C(0x0004D8EDC69A18AE),
+          UINT64_C(0x000782A2F6102155)}},
+        {{UINT64_C(0x000C8496202AE6A8), UINT64_C(0x000433B75E48A25B),
+          UINT64_C(0x0005141D4B503E98), UINT64_C(0x0005226A88155633),
+          UINT64_C(0x000022CA7649B49E)},
+         {UINT64_C(0x000DDE29F41E7545), UINT64_C(0x00051980467DCE98),
+          UINT64_C(0x0005452CD2F2E90B), UINT64_C(0x00044681E5A6B9BC),
+          UINT64_C(0x0000B18699C70658)}},
+        {{UINT64_C(0x000454DCDC35F98E), UINT64_C(0x0004D3A9A9B829BD),
+          UINT64_C(0x0005C82A6F53D23D), UINT64_C(0x00054F2336A35986),
+          UINT64_C(0x0004F050EAA88BC5)},
+         {UINT64_C(0x00091AE73A0DC4CB), UINT64_C(0x0006739166A25EC5),
+          UINT64_C(0x0000F8DCFD062057), UINT64_C(0x000680C6E9553F2E),
+          UINT64_C(0x00016C70FF5900AB)}},
+        {{UINT64_C(0x000C54EBAD62EAB1), UINT64_C(0x0006A7C01E68F92A),
+          UINT64_C(0x0004C8F6FC7D7E91), UINT64_C(0x00071F7B41EA0338),
+          UINT64_C(0x000441A714BEC729)},
+         {UINT64_C(0x0004B4DAD4F8A724), UINT64_C(0x00033ED22AE26116),
+          UINT64_C(0x00079F365BF781AB), UINT64_C(0x00002CA67E4CAEC5),
+          UINT64_C(0x00055A4A1A0081CE)}},
+        {{UINT64_C(0x000856B7CDEDE34B), UINT64_C(0x00046FA048E577A5),
+          UINT64_C(0x00038378B91B299E), UINT64_C(0x0004C31EAC28396A),
+          UINT64_C(0x0001440CEEBF654F)},
+         {UINT64_C(0x000DE3FD4ACED2B3), UINT64_C(0x0007A22FF45E43F3),
+          UINT64_C(0x00007CC601E3B097), UINT64_C(0x0002A04F943FBC69),
+          UINT64_C(0x0005C5F64D0D7533)}},
+        {{UINT64_C(0x000DBE80786B794B), UINT64_C(0x00034C0F990B92EF),
+          UINT64_C(0x000330FBBBF05942), UINT64_C(0x00027E782DC51868),
+          UINT64_C(0x000287A147D07324)},
+         {UINT64_C(0x000213F588BDAF78), UINT64_C(0x0000435D0191F486),
+          UINT64_C(0x0006F097D291A15C), UINT64_C(0x000339AFB6E98B50),
+          UINT64_C(0x00055B5A4EA63E71)}},
+        {{UINT64_C(0x00012AEEC81A34E7), UINT64_C(0x0003DBAAF67991EA),
+          UINT64_C(0x000737806F56C38C), UINT64_C(0x00043D356C504230),
+          UINT64_C(0x000311DCD3F757D5)},
+         {UINT64_C(0x00073E6854BEEAE4), UINT64_C(0x0005FB95F72D5723),
+          UINT64_C(0x000411187F7CE78E), UINT64_C(0x00077E7ED750A498),
+          UINT64_C(0x0005993AA33720F3)}},
+        {{UINT64_C(0x00028A5A432F3F67), UINT64_C(0x00075D0A5CAB6768),
+          UINT64_C(0x0006396B9CAB93D8), UINT64_C(0x000546258D80855A),
+          UINT64_C(0x0003C09404670F46)},
+         {UINT64_C(0x00000D1A71F0C8DC), UINT64_C(0x0001CA62AD6C1C14),
+          UINT64_C(0x000494E0150B4553), UINT64_C(0x0000B039392E5564),
+          UINT64_C(0x0002EF65688DCB46)}},
+        {{UINT64_C(0x00082CA0145F254D), UINT64_C(0x0001317C70253A1C),
+          UINT64_C(0x0006973D40E8D54D), UINT64_C(0x00010E78CCE403C7),
+          UINT64_C(0x000265A013FD1B69)},
+         {UINT64_C(0x00000339C480223D), UINT64_C(0x00055E9E7BB6DB26),
+          UINT64_C(0x00058F178B4BACE4), UINT64_C(0x00071F32575FDCD2),
+          UINT64_C(0x0001C71C69B2119D)}},
+    },
+    {
+        {{UINT64_C(0x000AF8DFD07525D6), UINT64_C(0x0005ABDDBE90D603),
+          UINT64_C(0x0004A248FDF2D0CF), UINT64_C(0x0005172B1CA46E8D),
+          UINT64_C(0x0007BC8CE3E6B3DD)},
+         {UINT64_C(0x000F6A2BEB2B44FC), UINT64_C(0x00000D349B42C8CF),
+          UINT64_C(0x0004B7CD7C88C973), UINT64_C(0x0005ECA8F4485D17),
+          UINT64_C(0x0007D62C28C79894)}},
+        {{UINT64_C(0x000B55207F725350), UINT64_C(0x000155DFEC40CDAB),
+          UINT64_C(0x00027B783F369EDB), UINT64_C(0x00011A983C2841D6),
+          UINT64_C(0x00012B6224AE4C25)},
+         {UINT64_C(0x0009BF92AE68CF96), UINT64_C(0x0001147BF976A441),
+          UINT64_C(0x0002CCF3203AAF22), UINT64_C(0x000069BD39DE1693),
+          UINT64_C(0x00032BC9448C60DE)}},
+        {{UINT64_C(0x0006D373DED15DFB), UINT64_C(0x0006BAD3E5311A3A),
+          UINT64_C(0x00012CCBC4FCB6F2), UINT64_C(0x0002A5A3B3908623),
+          UINT64_C(0x000542CFC756FE18)},
+         {UINT64_C(0x000657D935ECDC3F), UINT64_C(0x0000A8A6A301FE80),
+          UINT64_C(0x000394A934538AE2), UINT64_C(0x0001DB171CCFA8F2),
+          UINT64_C(0x000490705EEEAB8C)}},
+        {{UINT64_C(0x0008239926A0236C), UINT64_C(0x0004072433544306),
+          UINT64_C(0x0007BB7A8ED39FBB), UINT64_C(0x0001F54925C1C4E3),
+          UINT64_C(0x000664E83A948559)},
+         {UINT64_C(0x000F11625DBAE781), UINT64_C(0x000692D219D5FF95),
+          UINT64_C(0x00073D91B99DD9EA), UINT64_C(0x00050FBE7DF80371),
+          UINT64_C(0x00057654A7F31CC1)}},
+        {{UINT64_C(0x000AEE343C7C9D05), UINT64_C(0x000090117343650E),
+          UINT64_C(0x0006CC575AEDA322), UINT64_C(0x0004F1E2F2B51775),
+          UINT64_C(0x00076F6DB85D5F21)},
+         {UINT64_C(0x000B8CF913A709D2), UINT64_C(0x0007FB116D7DC97E),
+          UINT64_C(0x0001529FD6EEF6A5), UINT64_C(0x00056A6B91E47DF0),
+          UINT64_C(0x0002E9B775561208)}},
+        {{UINT64_C(0x000575D0571791A0), UINT64_C(0x000578E1DBFBEA77),
+          UINT64_C(0x0003A703A52790E7), UINT64_C(0x0000C97F49B37153),
+          UINT64_C(0x0004278132554EB7)},
+         {UINT64_C(0x000157EE9EA2F134), UINT64_C(0x0003BB0E79C3342D),
+          UINT64_C(0x0002C36A38226E01), UINT64_C(0x0007C88322ACB85B),
+          UINT64_C(0x0004FB186883785F)}},
+        {{UINT64_C(0x0002044FEB9F9253), UINT64_C(0x00022FA260775335),
+          UINT64_C(0x000039F6E84F28A2), UINT64_C(0x0001836DD1BAB756),
+          UINT64_C(0x00008E7A67948E3E)},
+         {UINT64_C(0x00054204D45393E2), UINT64_C(0x0003CECF402108D1),
+          UINT64_C(0x0000C701A3210E7D), UINT64_C(0x0000BEADB8DF7D41),
+          UINT64_C(0x00017AC9DF9C5498)}},
+        {{UINT64_C(0x0002F2E0A3E75974), UINT64_C(0x0002A9F168A74A87),
+          UINT64_C(0x00029F4A8513C289), UINT64_C(0x00018E556097BC48),
+          UINT64_C(0x000200FEB5BAD923)},
+         {UINT64_C(0x0001B9CE667358CA), UINT64_C(0x00055AE551A801F4),
+          UINT64_C(0x00042DE696A62306), UINT64_C(0x0002C75B9C6C564B),
+          UINT64_C(0x0000164A218F9F79)}},
+        {{UINT64_C(0x000F29F428A74C0C), UINT64_C(0x00063F194651B933),
+          UINT64_C(0x000528FA6E64E1E3), UINT64_C(0x00068143117910EA),
+          UINT64_C(0x0001B40977C6BA02)},
+         {UINT64_C(0x0007F5D2BC286354), UINT64_C(0x000402F53D46EBF9),
+          UINT64_C(0x00003B2C2080B52C), UINT64_C(0x00063D348A76083A),
+          UINT64_C(0x0000FD0D6C7223FA)}},
+        {{UINT64_C(0x000147D6E66EFE04), UINT64_C(0x0005E90EE23C1075),
+          UINT64_C(0x0006E84476D5B541), UINT64_C(0x00052A8100787130),
+          UINT64_C(0x0002D2188343EDC6)},
+         {UINT64_C(0x0001F9FAD89722F0), UINT64_C(0x0004A9F2401F68AE),
+          UINT64_C(0x000293427A23D1F0), UINT64_C(0x0001D52B70F2E2E3),
+          UINT64_C(0x0003C937077DA4B5)}},
+        {{UINT64_C(0x000874B69E730AAD), UINT64_C(0x000646B3E1A4C500),
+          UINT64_C(0x0007077863F9D016), UINT64_C(0x00060558644A040D),
+          UINT64_C(0x00036900BEB6A2F1)},
+         {UINT64_C(0x0005C370223FB20A), UINT64_C(0x000447FB93D1E921),
+          UINT64_C(0x00064D502A1F13B6), UINT64_C(0x0004251BECD4B787),
+          UINT64_C(0x0007D125955B235D)}},
+        {{UINT64_C(0x000FF3E0247628C3), UINT64_C(0x0005612C7EF51C2A),
+          UINT64_C(0x0002EF572E567422), UINT64_C(0x0003F06B0469AB7B),
+          UINT64_C(0x000209BA13287307)},
+         {UINT64_C(0x0008994050632779), UINT64_C(0x00009A3E92F3709F),
+          UINT64_C(0x00016204EE7B6320), UINT64_C(0x0002F94D7B3DCAF7),
+          UINT64_C(0x0000B4460F41EE3D)}},
+        {{UINT64_C(0x000C5F26F312D2C5), UINT64_C(0x00071E7C34CDFED2),
+          UINT64_C(0x0002A8304ADF0D4F), UINT64_C(0x0005133E4EAA736F),
+          UINT64_C(0x0004ABE07C40CFA9)},
+         {UINT64_C(0x000A08F9029290FF), UINT64_C(0x0003EAF403C6D98B),
+          UINT64_C(0x00060DBC0EDB37B6), UINT64_C(0x00007CEC6635832C),
+          UINT64_C(0x0000C81F88E255BC)}},
+        {{UINT64_C(0x000C0F4508FE693D), UINT64_C(0x00057782552C17E7),
+          UINT64_C(0x000167570039C207), UINT64_C(0x0006114C8419F3C0),
+          UINT64_C(0x0001712CE2C1CBEA)},
+         {UINT64_C(0x0006787A0AA1DBED), UINT64_C(0x0002B18B64E45E6A),
+          UINT64_C(0x0005FCE592027594), UINT64_C(0x0002E88EBA3ECFFD),
+          UINT64_C(0x000476FD0C587C15)}},
+        {{UINT64_C(0x000CBD80AAB36FBF), UINT64_C(0x0006ABA6598D0A0A),
+          UINT64_C(0x0000D1C530FCAC66), UINT64_C(0x0002286C6B68E8F6),
+          UINT64_C(0x0006AAF0D091C807)},
+         {UINT64_C(0x00005BDF3CD0E8D0), UINT64_C(0x0006960A3E5D2C66),
+          UINT64_C(0x000638B2EBDA0973), UINT64_C(0x0004EE54544D3339),
+          UINT64_C(0x00040BDB62E2C15A)}},
+        {{UINT64_C(0x000BECCC002BCD28), UINT64_C(0x0007346E8C2A60E7),
+          UINT64_C(0x0003B9F742D1704B), UINT64_C(0x0001370F879A06B2),
+          UINT64_C(0x0005A0A68F92C852)},
+         {UINT64_C(0x000BD4FD9CD7C516), UINT64_C(0x00004D3D2354F933),
+          UINT64_C(0x0003175E3418C5B6), UINT64_C(0x000415E970F01D4A),
+          UINT64_C(0x0000277440ED12C8)}},
+    },
+    {
+        {{UINT64_C(0x0004F80B29259121), UINT64_C(0x0004C7AD79241CBB),
+          UINT64_C(0x00031A2024B0C285), UINT64_C(0x0002905F7DC32728),
+          UINT64_C(0x00018F4173185CE8)},
+         {UINT64_C(0x0008D35E043B3193), UINT64_C(0x000294DB8F82806B),
+          UINT64_C(0x0006E11FA9EFB7F8), UINT64_C(0x0007EC8CC6030101),
+          UINT64_C(0x0007CE956AED6CFE)}},
+        {{UINT64_C(0x000CE55CC1171587), UINT64_C(0x00054B3932A64433),
+          UINT64_C(0x0005BA7C98FD8209), UINT64_C(0x00056CCE0ED96A42),
+          UINT64_C(0x00079534ED8A0FAF)},
+         {UINT64_C(0x000AB036181F5C5D), UINT64_C(0x0002C036C8A43EDE),
+          UINT64_C(0x0001D4508E4C7ED0), UINT64_C(0x0000E128F1A3971F),
+          UINT64_C(0x000417208F6464E5)}},
+        {{UINT64_C(0x000633C1FF9DFEFF), UINT64_C(0x0005208BBFBDE89E),
+          UINT64_C(0x000256F7BBEE3FF4), UINT64_C(0x000577F9D2D9026B),
+          UINT64_C(0x000745C594B0BDC9)},
+         {UINT64_C(0x000021489A9DCD65), UINT64_C(0x00077418195C0224),
+          UINT64_C(0x00043817466CDB80), UINT64_C(0x0001F3BC7125C1D7),
+          UINT64_C(0x00022C79F6BB84F9)}},
+        {{UINT64_C(0x000175240458C6F2), UINT64_C(0x0003FF9B00DB6449),
+          UINT64_C(0x0001764BB4C86102), UINT64_C(0x0004BCC4DB3AF4F4),
+          UINT64_C(0x0007EF78D9E386BB)},
+         {UINT64_C(0x0002DFBA149190F7), UINT64_C(0x0003DA9B88D643CF),
+          UINT64_C(0x0001C3155190EEEC), UINT64_C(0x0005D430C2250A24),
+          UINT64_C(0x0002593ACE56A866)}},
+        {{UINT64_C(0x000A92165B59C268), UINT64_C(0x0007B4FD61C8ACFF),
+          UINT64_C(0x00025086FD2DA482), UINT64_C(0x000694EDA01406D5),
+          UINT64_C(0x0005DDE8F63674A6)},
+         {UINT64_C(0x00070F2A7161678D), UINT64_C(0x0005D1DAA454FEEB),
+          UINT64_C(0x0003E403685BEC15), UINT64_C(0x0003DA80C68EC0D1),
+          UINT64_C(0x000190B8FD47B2F4)}},
+        {{UINT64_C(0x000D2F2403EECAB3), UINT64_C(0x0006EA952EBF1B65),
+          UINT64_C(0x0007D581FECF7ECC), UINT64_C(0x000306921DE856F0),
+          UINT64_C(0x0000F2F865D32B26)},
+         {UINT64_C(0x0006463217B9D5F6), UINT64_C(0x0005BC460EE03A7D),
+          UINT64_C(0x0002C7357E245644), UINT64_C(0x000336E4E5BEB241),
+          UINT64_C(0x0004EAA60FB21263)}},
+        {{UINT64_C(0x00031B08269F9703), UINT64_C(0x00005209A523B7D2),
+          UINT64_C(0x000039942D5F26A4), UINT64_C(0x0002779B510C5171),
+          UINT64_C(0x000554D0A38E2ED7)},
+         {UINT64_C(0x0009D61A3EB63C62), UINT64_C(0x0006B3C74DDABF3E),
+          UINT64_C(0x000180175FCCD722), UINT64_C(0x0005DDF5EF9271A6),
+          UINT64_C(0x0005D1B2EB83F58D)}},
+        {{UINT64_C(0x000269380CF53650), UINT64_C(0x000478CBA29C961B),
+          UINT64_C(0x0003DCE7E460A8AF), UINT64_C(0x0005DC0399EB13A3),
+          UINT64_C(0x00078777353BF27D)},
+         {UINT64_C(0x000ED3B71CB3DDF7), UINT64_C(0x0004937FD2AC37C7),
+          UINT64_C(0x0007A97F8A99835C), UINT64_C(0x0007E9175E349529),
+          UINT64_C(0x00049AD7788A8375)}},
+        {{UINT64_C(0x000AFB12685F6754), UINT64_C(0x0001CC137990650F),
+          UINT64_C(0x0006EC6C0DB127EC), UINT64_C(0x000002F3F9C92B06),
+          UINT64_C(0x00068ED61BED7B48)},
+         {UINT64_C(0x00048477FEC95FCE), UINT64_C(0x000516ED0BB6C079),
+          UINT64_C(0x00058AC37081FA80), UINT64_C(0x00052743D6E32AAF),
+          UINT64_C(0x000135B867D60FA5)}},
+        {{UINT64_C(0x000017A14A66889B), UINT64_C(0x0005B0AEEAE56F98),
+          UINT64_C(0x0002236BACAE8AF2), UINT64_C(0x0003C2257520A874),
+          UINT64_C(0x000436DD2F42BB1A)},
+         {UINT64_C(0x000E73DEE8E27B51), UINT64_C(0x00026156FABFD33E),
+          UINT64_C(0x0002E3A732B167EF), UINT64_C(0x000593856E3BA35D),
+          UINT64_C(0x000572BAFD316337)}},
+        {{UINT64_C(0x0004CCCD1BFE2F09), UINT64_C(0x0001EB388A46DB63),
+          UINT64_C(0x00052EC6A89BDB63), UINT64_C(0x0003F464068D9320),
+          UINT64_C(0x00066681DD5542FC)},
+         {UINT64_C(0x000ADA67B76DEDEE), UINT64_C(0x00020BC1E48F374E),
+          UINT64_C(0x00010A381907FB3D), UINT64_C(0x0002A188EFB7D771),
+          UINT64_C(0x000204A6CB902379)}},
+        {{UINT64_C(0x00017228A8F41270), UINT64_C(0x0003861FA7811FF1),
+          UINT64_C(0x0005C24BAA43480B), UINT64_C(0x0000D91805B4EAEF),
+          UINT64_C(0x000161DF51FF7C92)},
+         {UINT64_C(0x0002E8C34073031B), UINT64_C(0x0004FC9FC002E034),
+          UINT64_C(0x0000C517474BD432), UINT64_C(0x0005B028CC00B4FC),
+          UINT64_C(0x00032CEE00379E56)}},
+        {{UINT64_C(0x0004483DBEADB2E0), UINT64_C(0x0006513EDE13135B),
+          UINT64_C(0x00016DAD5C521A87), UINT64_C(0x0005A3E8526657FC),
+          UINT64_C(0x00071D76B3E6D02E)},
+         {UINT64_C(0x0006473D1426BAF9), UINT64_C(0x0004AA50405810D9),
+          UINT64_C(0x000775BF4EA667B2), UINT64_C(0x00028F630F480B2A),
+          UINT64_C(0x000541E49B3C2921)}},
+        {{UINT64_C(0x0000C2316D694346), UINT64_C(0x0006BB5D8DD7AC20),
+          UINT64_C(0x000544BA02C52F67), UINT64_C(0x0001A8380E0C329B),
+          UINT64_C(0x00006254291B6D56)},
+         {UINT64_C(0x00023469E53DE6A0), UINT64_C(0x00067B362FC9815B),
+          UINT64_C(0x00078587A6ABE2A0), UINT64_C(0x0001E2DDC24C52FB),
+          UINT64_C(0x0002969D891424B8)}},
+        {{UINT64_C(0x000DD3BE38C271BD), UINT64_C(0x00008AADD395B9D4),
+          UINT64_C(0x00041097DCD173B3), UINT64_C(0x000377212B3119E9),
+          UINT64_C(0x0000E67BF82272D5)},
+         {UINT64_C(0x0006E0BB94CF58AC), UINT64_C(0x000408F1A38E35FD),
+          UINT64_C(0x00029EF91D563A40), UINT64_C(0x00056766929B4B6C),
+          UINT64_C(0x0005C011DCB741EA)}},
+        {{UINT64_C(0x0004D1781BD13FD0), UINT64_C(0x00004CE399554755),
+          UINT64_C(0x0003A691DA00B124), UINT64_C(0x0007283232CCD5CF),
+          UINT64_C(0x00052A1AF5A0D851)},
+         {UINT64_C(0x0007BEE24A3684D7), UINT64_C(0x0005652266B2A4B5),
+          UINT64_C(0x0000289E5435AFE4), UINT64_C(0x00015FEFBEE25260),
+          UINT64_C(0x0007347EAFAF74A5)}},
+    },
+    {
+        {{UINT64_C(0x000C05E66D978880), UINT64_C(0x00025A3CB58DEACC),
+          UINT64_C(0x000220AB73235F4C), UINT64_C(0x000490D8F0DF59E2),
+          UINT64_C(0x0007C69489BD76E1)},
+         {UINT64_C(0x000DBD924D1922F1), UINT64_C(0x0005833BE28C2F2F),
+          UINT64_C(0x00035B00E5DE675F), UINT64_C(0x0002F1B35D5A7675),
+          UINT64_C(0x0004858F6235F10C)}},
+        {{UINT64_C(0x0002A925A417EA11), UINT64_C(0x00056E31BC4D175E),
+          UINT64_C(0x00038E61D9A3B411), UINT64_C(0x0003812AC6AEFFE2),
+          UINT64_C(0x000228B12A98C126)},
+         {UINT64_C(0x000A7B3E73B423B7), UINT64_C(0x00066CCB2668379B),
+          UINT64_C(0x00065B91202BD9C8), UINT64_C(0x00029ED3BE98ABF3),
+          UINT64_C(0x000273C6405F5146)}},
+        {{UINT64_C(0x0005C609D0B22D03), UINT64_C(0x0000E2D4E998729A),
+          UINT64_C(0x0004FCCD77C349D1), UINT64_C(0x00061B1D24B06088),
+          UINT64_C(0x0004891488BBB2D2)},
+         {UINT64_C(0x000D2AE5BCA0967E), UINT64_C(0x00050335CABFCB67),
+          UINT64_C(0x0000DDE04AEEADB4), UINT64_C(0x00028AEBB9AD957F),
+          UINT64_C(0x0004D067C74CCBC3)}},
+        {{UINT64_C(0x000DA73F6F1AECD9), UINT64_C(0x00079BFF45612FC1),
+          UINT64_C(0x00051867E472C99F), UINT64_C(0x0001A560565247F0),
+          UINT64_C(0x0005BED5F4CEB10A)},
+         {UINT64_C(0x000C2D41FFEE613B), UINT64_C(0x00048CDF00CF0891),
+          UINT64_C(0x0005E4502AA3852C), UINT64_C(0x000656DF596B0089),
+          UINT64_C(0x000058D53AE7B7AC)}},
+        {{UINT64_C(0x0005633B9B0B6527), UINT64_C(0x0002F32BC7DCAE54),
+          UINT64_C(0x00050DF012CC4A7F), UINT64_C(0x0001DC2DC80CAF77),
+          UINT64_C(0x0001CC28BCE8B4B0)},
+         {UINT64_C(0x000352FCCCD0A46D), UINT64_C(0x00020A7D1A52DB7F),
+          UINT64_C(0x0003E924D7CB5F73), UINT64_C(0x0005E0F520791FAC),
+          UINT64_C(0x0006FBACACFAA219)}},
+        {{UINT64_C(0x0007DD39E4996ED6), UINT64_C(0x000285231A44D102),
+          UINT64_C(0x0002FEC0C9BAA76E), UINT64_C(0x0001D126BB5F5562),
+          UINT64_C(0x000720EC42A4351F)},
+         {UINT64_C(0x0002C4D634B2D745), UINT64_C(0x0007FFF3E43B229C),
+          UINT64_C(0x0003A4E652046B82), UINT64_C(0x00007FDDB53AF519),
+          UINT64_C(0x0003FD6A967B2866)}},
+        {{UINT64_C(0x000DF55AD8667E0F), UINT64_C(0x000473081C72AAFB),
+          UINT64_C(0x0002E3E9DD231D51), UINT64_C(0x0000638B70AA3F97),
+          UINT64_C(0x00019AE4400E8136)},
+         {UINT64_C(0x000E28055BC46447), UINT64_C(0x0000760478B05575),
+          UINT64_C(0x0005AA7505F4850B), UINT64_C(0x0005BA7632BE614C),
+          UINT64_C(0x0004C7DEAF3BFA9E)}},
+        {{UINT64_C(0x000F0AA2A3AA87C8), UINT64_C(0x000019FBB01D0DFF),
+          UINT64_C(0x0006DE474AD0CB2C), UINT64_C(0x0001B2D3AFEE81F5),
+          UINT64_C(0x0004B057E9DF9F8F)},
+         {UINT64_C(0x0008A62F51812859), UINT64_C(0x000096944166A90E),
+          UINT64_C(0x0006E95AB6851BA6), UINT64_C(0x00055E80DE3635DA),
+          UINT64_C(0x0007F910349B50D7)}},
+        {{UINT64_C(0x000024BD4E9A47A8), UINT64_C(0x00044E53AC4823A9),
+          UINT64_C(0x00060A0B2A2844E1), UINT64_C(0x0006CA7FA0EC1AB9),
+          UINT64_C(0x00079DBC726A893E)},
+         {UINT64_C(0x0002ECBD617D4BFD), UINT64_C(0x0000ED06A79CD79B),
+          UINT64_C(0x0001128125B8C751), UINT64_C(0x0001A3CDAF24D9F6),
+          UINT64_C(0x00076D2644374FB2)}},
+        {{UINT64_C(0x000BB495334D6735), UINT64_C(0x00048E4E318D35A5),
+          UINT64_C(0x00065CCC9FD612CE), UINT64_C(0x00048647BF9AD225),
+          UINT64_C(0x0001F308CFFC4D92)},
+         {UINT64_C(0x000993066FB5CA15), UINT64_C(0x0001024A9DBAAA76),
+          UINT64_C(0x0001D8206F56BB3E), UINT64_C(0x000791789CB797FC),
+          UINT64_C(0x00028DAF3708084C)}},
+        {{UINT64_C(0x0005F4D6A2BB2865), UINT64_C(0x000411783ABFEAA9),
+          UINT64_C(0x000285FE4D07FDEA), UINT64_C(0x00012C2888BBAB91),
+          UINT64_C(0x0002F0D1613CBFEA)},
+         {UINT64_C(0x000761DD1F118DE4), UINT64_C(0x00077D77CAB21417),
+          UINT64_C(0x000104DF213824A8), UINT64_C(0x00019BDCA8BF3BBE),
+          UINT64_C(0x000228E1468298F4)}},
+        {{UINT64_C(0x000AD4D25721FB0D), UINT64_C(0x0005BBEC9D9B8FCB),
+          UINT64_C(0x00006F18917A24A9), UINT64_C(0x0001AF194E249824),
+          UINT64_C(0x0001C1D002C78C5F)},
+         {UINT64_C(0x0005FCEA6541A6D3), UINT64_C(0x00012B0A3891C25A),
+          UINT64_C(0x0001CA915EF579A4), UINT64_C(0x0006A1530D0CA296),
+          UINT64_C(0x000405353E349C62)}},
+        {{UINT64_C(0x0007DD87797327CF), UINT64_C(0x00049A24A1519C3D),
+          UINT64_C(0x0007E2D3194C7738), UINT64_C(0x0004ADE201A4F2B4),
+          UINT64_C(0x0005F03F2024D796)},
+         {UINT64_C(0x0003A8A2BF24065F), UINT64_C(0x00028B98E4E34848),
+          UINT64_C(0x0006CCE4BE857549), UINT64_C(0x0001BFEA602C4AB8),
+          UINT64_C(0x00057C821F831EFA)}},
+        {{UINT64_C(0x0000117A2CF6FB17), UINT64_C(0x0003D763A3738149),
+          UINT64_C(0x00074936049CAC1E), UINT64_C(0x0007F5A417605453),
+          UINT64_C(0x0003C597E1AF5EA2)},
+         {UINT64_C(0x0003FBDD76DC1695), UINT64_C(0x0003C1FDAC636FA3),
+          UINT64_C(0x0002045F1403CA79), UINT64_C(0x00034AEC03F7A823),
+          UINT64_C(0x0000862068283073)}},
+        {{UINT64_C(0x00078F961971E1BB), UINT64_C(0x0007027C711936C2),
+          UINT64_C(0x00069D7EBBB0EDBC), UINT64_C(0x0002680D032F1C61),
+          UINT64_C(0x000615B3503A9F8A)},
+         {UINT64_C(0x000BC2A332182D40), UINT64_C(0x000706CF8E7CBE3C),
+          UINT64_C(0x0004537D7373214F), UINT64_C(0x0002F1C7690B885E),
+          UINT64_C(0x00022B7364CF32E1)}},
+        {{UINT64_C(0x00062087435B3F31), UINT64_C(0x0007EA9C3772E730),
+          UINT64_C(0x0006CBD6A025839C), UINT64_C(0x0002E4060C1FA411),
+          UINT64_C(0x00013A216F147ECC)},
+         {UINT64_C(0x0008E787A8F7310F), UINT64_C(0x0007C9628A16653F),
+          UINT64_C(0x0004B18B674CF1D2), UINT64_C(0x00042C9C4340922B),
+          UINT64_C(0x00012DD24A757E97)}},
+    },
+    {
+        {{UINT64_C(0x000D0DAB38BAC990), UINT64_C(0x00014AB1DE778BDD),
+          UINT64_C(0x00044AAC030B8EE5), UINT64_C(0x00035662B41D1CA8),
+          UINT64_C(0x0003E1B41627AA05)},
+         {UINT64_C(0x00093D56AB528772), UINT64_C(0x00056A1F801B8BDD),
+          UINT64_C(0x00002395FB846157), UINT64_C(0x00055F0166143AAB),
+          UINT64_C(0x000138392048CE38)}},
+        {{UINT64_C(0x000629076955EF18), UINT64_C(0x0001F5903EDC6036),
+          UINT64_C(0x0003B60DF38E1955), UINT64_C(0x0007D3533D1A0956),
+          UINT64_C(0x000616E9E879B346)},
+         {UINT64_C(0x000CC4D2E5A62590), UINT64_C(0x00008DF009361C78),
+          UINT64_C(0x00060924BE5F5C3F), UINT64_C(0x0005698777D3EB64),
+          UINT64_C(0x0000BD31C925896B)}},
+        {{UINT64_C(0x000CAF98364436A6), UINT64_C(0x0001984F8F41D0B8),
+          UINT64_C(0x0006839D748040E7), UINT64_C(0x000003647A88D1C1),
+          UINT64_C(0x0004C9A82C439698)},
+         {UINT64_C(0x0009F1BB2D35D65D), UINT64_C(0x000656D1E3913D0B),
+          UINT64_C(0x00025D8A8DB01F82), UINT64_C(0x000716C168BA26FC),
+          UINT64_C(0x0005F7EAE6DA00DF)}},
+        {{UINT64_C(0x0006900AF557123B), UINT64_C(0x00048AD482A31C95),
+          UINT64_C(0x000224E02FA0D5A3), UINT64_C(0x00049F121BC5BB9C),
+          UINT64_C(0x0002819539DBCC91)},
+         {UINT64_C(0x00052AA36806E6D3), UINT64_C(0x00075D00DA560416),
+          UINT64_C(0x00020C8D5835B70C), UINT64_C(0x00042F7FCE2FDE3F),
+          UINT64_C(0x00018D1671FEA942)}},
+        {{UINT64_C(0x000126788DAF932F), UINT64_C(0x0001A2486598E1EB),
+          UINT64_C(0x0001FA9390F89087), UINT64_C(0x000465B8FBA99789),
+          UINT64_C(0x0001391087EBF066)},
+         {UINT64_C(0x000D560B9EBE0A12), UINT64_C(0x00045DF4FD156260),
+          UINT64_C(0x0004C0F5BB97F89C), UINT64_C(0x00000C02D902AD41),
+          UINT64_C(0x0006D6ABD8B710CB)}},
+        {{UINT64_C(0x000240C819BE997B), UINT64_C(0x00079702659A3FCC),
+          UINT64_C(0x00038FF0842940FF), UINT64_C(0x0003BE2FC37F5DD7),
+          UINT64_C(0x00055903D1BF4D50)},
+         {UINT64_C(0x000F7788BBCF7C69), UINT64_C(0x000314F86B17508B),
+          UINT64_C(0x000759BA40AAA5DE), UINT64_C(0x00008F55D89B53DA),
+          UINT64_C(0x000040CD6FEF17AC)}},
+        {{UINT64_C(0x000BCF2803B34AFC), UINT64_C(0x00015BCEC54183DB),
+          UINT64_C(0x0000E63B583C38D3), UINT64_C(0x000543CEC0DD9AC8),
+          UINT64_C(0x0006DCA0EDABDF99)},
+         {UINT64_C(0x0006AD8FCA4B7A84), UINT64_C(0x00000ECF4C9B4756),
+          UINT64_C(0x0002EA049D3C90F8), UINT64_C(0x000434F3AFA9C904),
+          UINT64_C(0x0005BB44FDA046A9)}},
+        {{UINT64_C(0x000456FFF38CE9AA), UINT64_C(0x0007628838C3FB34),
+          UINT64_C(0x00047DEFE5F449AB), UINT64_C(0x0002EBE6BAC977B1),
+          UINT64_C(0x00002629151FD158)},
+         {UINT64_C(0x00056D1807A2F107), UINT64_C(0x00037D8DA4EE56AD),
+          UINT64_C(0x00064130E6C56675), UINT64_C(0x000059823CCD4BAE),
+          UINT64_C(0x000351D4561A3074)}},
+        {{UINT64_C(0x000D0D5151460DBA), UINT64_C(0x00041AAD3DC6D3F7),
+          UINT64_C(0x00030392B1D25432), UINT64_C(0x0000EC685A8F63C0),
+          UINT64_C(0x00041E76ED18C1CB)},
+         {UINT64_C(0x000DC86815DBE186), UINT64_C(0x0001744C18B22C78),
+          UINT64_C(0x0007FFF9EFE95AD9), UINT64_C(0x0005EE221F3A7F26),
+          UINT64_C(0x0002ED76DDD0673C)}},
+        {{UINT64_C(0x000BE8E0AEDD873D), UINT64_C(0x0005C21AD1208B00),
+          UINT64_C(0x00000C2B71802C36), UINT64_C(0x0003CEE802954BF7),
+          UINT64_C(0x000212A13C9706C1)},
+         {UINT64_C(0x000C1F2261D59FF3), UINT64_C(0x0005FE776BC7F5CB),
+          UINT64_C(0x00052FBD0C5EC34E), UINT64_C(0x000431CC02ACD223),
+          UINT64_C(0x00024D9DB51E1E1F)}},
+        {{UINT64_C(0x0002C7CAE989C78A), UINT64_C(0x00053B83FF5723A2),
+          UINT64_C(0x00008A8E6302E842), UINT64_C(0x00028299A28F9921),
+          UINT64_C(0x0004216EE9364122)},
+         {UINT64_C(0x000C023A772C47B9), UINT64_C(0x000773C2D287BB4D),
+          UINT64_C(0x0006DA1F1AA10221), UINT64_C(0x0003A3241B2B09FC),
+          UINT64_C(0x00008CDE7A649B22)}},
+        {{UINT64_C(0x0007450C29EBCF74), UINT64_C(0x0004439DBEEB77A6),
+          UINT64_C(0x000343C10D713C0F), UINT64_C(0x00059B68D7FEB70F),
+          UINT64_C(0x00034672B08F9529)},
+         {UINT64_C(0x000EB776F7FE244B), UINT64_C(0x0000A1574415007C),
+          UINT64_C(0x0002E545671DDCC2), UINT64_C(0x0000C8F00787B92C),
+          UINT64_C(0x0004CCFCC6C1C843)}},
+        {{UINT64_C(0x000752C74FA6089E), UINT64_C(0x00043769AF9D8146),
+          UINT64_C(0x00076A2097C10ACD), UINT64_C(0x00021E5FD7934DFC),
+          UINT64_C(0x00044CD453C591F0)},
+         {UINT64_C(0x0005D742FEFE529A), UINT64_C(0x00052812A2132236),
+          UINT64_C(0x00063A0FF82BAAA3), UINT64_C(0x0003821492FA5799),
+          UINT64_C(0x0006C3D3D91E5995)}},
+        {{UINT64_C(0x0007F5965BB5061A), UINT64_C(0x00033DD3B61A3ACD),
+          UINT64_C(0x0000ED9A94EAF477), UINT64_C(0x00005E2154735C2D),
+          UINT64_C(0x000310C8E2DC1FA9)},
+         {UINT64_C(0x0009C12CA0FAB3FE), UINT64_C(0x000645039E999A55),
+          UINT64_C(0x00027E092D9877A3), UINT64_C(0x000234C26B632A1C),
+          UINT64_C(0x0001112B3978BBB5)}},
+        {{UINT64_C(0x000643EF08EEDFDA), UINT64_C(0x00041557FC7F909E),
+          UINT64_C(0x0007D194BE89C579), UINT64_C(0x00013E7D0EB4169D),
+          UINT64_C(0x00068C97C0B130AB)},
+         {UINT64_C(0x0005670E75F30FC3), UINT64_C(0x00012ABE1F6F59DB),
+          UINT64_C(0x00031C4929892E23), UINT64_C(0x00067C5926EE61D5),
+          UINT64_C(0x0005EA09499EB737)}},
+        {{UINT64_C(0x00068E5711D3CC63), UINT64_C(0x000355284FF4EE0B),
+          UINT64_C(0x0002ED6C094527F4), UINT64_C(0x00018FD4F583BBBD),
+          UINT64_C(0x0007E732542EB790)},
+         {UINT64_C(0x000FBD7D6A2B1252), UINT64_C(0x0000D8B42A24E7BC),
+          UINT64_C(0x00064FE14876840C), UINT64_C(0x000128C33F1AE9C6),
+          UINT64_C(0x00047654D530ABA4)}},
+    },
+    {
+        {{UINT64_C(0x0003BD937849F59D), UINT64_C(0x000063606C7698D1),
+          UINT64_C(0x00054B2A0FD2FD04), UINT64_C(0x00029E53F79F11A6),
+          UINT64_C(0x000555BAED07F9C6)},
+         {UINT64_C(0x0002D0A2306D73CE), UINT64_C(0x00029DFF85DCB561),
+          UINT64_C(0x0000C1C9000DBCD2), UINT64_C(0x00021A0F680519E0),
+          UINT64_C(0x00001BC10E993DB9)}},
+        {{UINT64_C(0x00010A2BB8D581B9), UINT64_C(0x00043123D8B4D328),
+          UINT64_C(0x0003D3F6518C92CF), UINT64_C(0x0005EF4037756EF4),
+          UINT64_C(0x00023620C43DD673)},
+         {UINT64_C(0x000758B33A3A641C), UINT64_C(0x000201801C92394E),
+          UINT64_C(0x0007381BD7F0EF26), UINT64_C(0x0007C1BDA98CF272),
+          UINT64_C(0x000446E3CF2318B9)}},
+        {{UINT64_C(0x000CAA4017FCF7B6), UINT64_C(0x0005167AEA33B820),
+          UINT64_C(0x000455C15B6B0603), UINT64_C(0x0003795DAA8317AF),
+          UINT64_C(0x0000A7CFFBD6A356)},
+         {UINT64_C(0x000CDF21A7146CD4), UINT64_C(0x0005D9C22C0B9910),
+          UINT64_C(0x00021D488F79ACFF), UINT64_C(0x0005857D2A8817A3),
+          UINT64_C(0x000418B1F899B332)}},
+        {{UINT64_C(0x000F3021477826E7), UINT64_C(0x0001E04BD00E11CF),
+          UINT64_C(0x0006EA82EE2CF354), UINT64_C(0x000576E72ADFAF95),
+          UINT64_C(0x0001D0D5496B0BCA)},
+         {UINT64_C(0x000D490F0DD8482A), UINT64_C(0x00049D8CFF1AC3F4),
+          UINT64_C(0x0003460BFA5563D1), UINT64_C(0x00055034532A88B0),
+          UINT64_C(0x0006A47213652104)}},
+        {{UINT64_C(0x00011F911810E70C), UINT64_C(0x0002D6B48D33D172),
+          UINT64_C(0x00034AB16D9AF3D1), UINT64_C(0x000561679C3033DD),
+          UINT64_C(0x000357CCE137A82D)},
+         {UINT64_C(0x000B31F0EF17F79E), UINT64_C(0x0006EA6CD3094B9C),
+          UINT64_C(0x0000B35F3599DBB1), UINT64_C(0x0007F52CCB68649E),
+          UINT64_C(0x0005046AE5A46633)}},
+        {{UINT64_C(0x0006B212836316B9), UINT64_C(0x00055299B1C49A9A),
+          UINT64_C(0x000705EEFD2620E8), UINT64_C(0x00046DC053B6EE87),
+          UINT64_C(0x0007030884C7FF32)},
+         {UINT64_C(0x0006B7B8E9DC79C4), UINT64_C(0x00013A8B2116229F),
+          UINT64_C(0x0004292D01383268), UINT64_C(0x000265411FE1DFD7),
+          UINT64_C(0x00051B40396F7F2D)}},
+        {{UINT64_C(0x00046D30B8D0B765), UINT64_C(0x000447051A08754C),
+          UINT64_C(0x00002C393E136A77), UINT64_C(0x000092C51BEF8B5B),
+          UINT64_C(0x00072A82D90D0C54)},
+         {UINT64_C(0x000E14BC9577FA35), UINT64_C(0x0002613D84E90001),
+          UINT64_C(0x0007DCD817FC6B73), UINT64_C(0x0004CCB07A61114E),
+          UINT64_C(0x000128DDAE580395)}},
+        {{UINT64_C(0x0000A65F62B5B469), UINT64_C(0x0001449CDF3BA068),
+          UINT64_C(0x0002B322E44F8B5C), UINT64_C(0x000637CD9DAA7CD9),
+          UINT64_C(0x0002826D20F6B6E0)},
+         {UINT64_C(0x000935F7AE7CE72C), UINT64_C(0x000427C2F3C89114),
+          UINT64_C(0x0002BC82197EEC1E), UINT64_C(0x0001D3AD81C2BB09),
+          UINT64_C(0x000113864CB480E5)}},
+        {{UINT64_C(0x000DF31256D0FA32), UINT64_C(0x000658162F4C433B),
+          UINT64_C(0x000357078BBD48E7), UINT64_C(0x0005D6C0B50101C9),
+          UINT64_C(0x0007F2F4FDFD19FA)},
+         {UINT64_C(0x0008F60FFAC3108A), UINT64_C(0x000301C7448AFA71),
+          UINT64_C(0x00015EB2F2A78BEF), UINT64_C(0x00017F839739C650),
+          UINT64_C(0x0000C63A5C9B4465)}},
+        {{UINT64_C(0x000D2864DE66EFDB), UINT64_C(0x00019367AA93908D),
+          UINT64_C(0x00042D4DF0EA2C9B), UINT64_C(0x00063DABB09387B7),
+          UINT64_C(0x00041D7E1B815D0C)},
+         {UINT64_C(0x00094DF2A88CE7E3), UINT64_C(0x0003E4681539CE25),
+          UINT64_C(0x00065386E54F328E), UINT64_C(0x00045204F7EB68FF),
+          UINT64_C(0x000152316128558C)}},
+        {{UINT64_C(0x00085DD706DFBF1A), UINT64_C(0x0001CD3A8A2F3283),
+          UINT64_C(0x000389177C3B129F), UINT64_C(0x000266A3AF43485D),
+          UINT64_C(0x0004343000537F1E)},
+         {UINT64_C(0x0004EDE550CB3A82), UINT64_C(0x0007920ADCB60EE2),
+          UINT64_C(0x000508D86EC186E3), UINT64_C(0x000459BB98AE049A),
+          UINT64_C(0x0003C8621E0C7957)}},
+        {{UINT64_C(0x0003F7B355181E78), UINT64_C(0x00034B66A3DA0C48),
+          UINT64_C(0x000075B38F80B96F), UINT64_C(0x0001E51DE76B5138),
+          UINT64_C(0x00024C9C3D9E4494)},
+         {UINT64_C(0x0003623DEB850A90), UINT64_C(0x0004C35B7E8127CD),
+          UINT64_C(0x000657A5BF58646C), UINT64_C(0x0005C440DB594283),
+          UINT64_C(0x00049678D88DAA4E)}},
+        {{UINT64_C(0x000F586E6CF04B0C), UINT64_C(0x000056B294784ED4),
+          UINT64_C(0x0006ACFA4C41FBCA), UINT64_C(0x0000F85BA1E98BC9),
+          UINT64_C(0x0007BE95FD49B8CB)},
+         {UINT64_C(0x000C7F0AEF19999C), UINT64_C(0x000710B40227E43B),
+          UINT64_C(0x0005D2D5948B666C), UINT64_C(0x0007C2DEF57822E5),
+          UINT64_C(0x0005E9DD0BCA2B4C)}},
+        {{UINT64_C(0x0004CD7C5A1F0474), UINT64_C(0x000703184E03D953),
+          UINT64_C(0x00008847256A3A0A), UINT64_C(0x00023256A8F362CE),
+          UINT64_C(0x0006FA0A053C19F6)},
+         {UINT64_C(0x0004FDA4EC4F6E5A), UINT64_C(0x0000EAAF716D7474),
+          UINT64_C(0x00031B1D9BEEA00A), UINT64_C(0x0006E77CC7B43BEA),
+          UINT64_C(0x00068B7FE52A5418)}},
+        {{UINT64_C(0x000182C3893C913F), UINT64_C(0x0005BD035564DDCE),
+          UINT64_C(0x0000EFB789EEEA1D), UINT64_C(0x0002FD7231BCE945),
+          UINT64_C(0x0001E172F821BFD8)},
+         {UINT64_C(0x000B79C4B183EE97), UINT64_C(0x0005AA4E66EB8680),
+          UINT64_C(0x0003F0999EA39964), UINT64_C(0x0004CCC4C10842F5),
+          UINT64_C(0x0001D9639116EB1B)}},
+        {{UINT64_C(0x0001F4CFF4A6524D), UINT64_C(0x00077A87CA5D36AB),
+          UINT64_C(0x00079C9CFA901FD4), UINT64_C(0x0007141692444638),
+          UINT64_C(0x00050A52B8F11178)},
+         {UINT64_C(0x000606812D21A754), UINT64_C(0x000006CCE87ECEFD),
+          UINT64_C(0x00070CF16EA53DB0), UINT64_C(0x00064231A76B8461),
+          UINT64_C(0x0001CE749122C65F)}},
+    },
+    {
+        {{UINT64_C(0x0007BB82D3C5B684), UINT64_C(0x000665B3553FDD82),
+          UINT64_C(0x000622B712414BE5), UINT64_C(0x00068A66023FD004),
+          UINT64_C(0x0002C4F1C507E8E9)},
+         {UINT64_C(0x00067B5C49251A27), UINT64_C(0x000767A5FEFDECEA),
+          UINT64_C(0x0006D5127E924F9E), UINT64_C(0x0001FAEF3DFFBBB1),
+          UINT64_C(0x00043D69E32FAD1C)}},
+        {{UINT64_C(0x00034E704BF54825), UINT64_C(0x00049BDB19E6DC0E),
+          UINT64_C(0x0007F28264FB6501), UINT64_C(0x00038880B959C688),
+          UINT64_C(0x0004F0A3D37E757E)},
+         {UINT64_C(0x0003CAC81F94C40C), UINT64_C(0x00058393688FFF80),
+          UINT64_C(0x000347B9E5A5C961), UINT64_C(0x0007E8D8D772B424),
+          UINT64_C(0x0006C42A57B3ABF7)}},
+        {{UINT64_C(0x00097FC2E68C8CCF), UINT64_C(0x000475CEE29F1E8F),
+          UINT64_C(0x000298E28356667E), UINT64_C(0x0000949DE8DE0D9F),
+          UINT64_C(0x00011BD78F109CE1)},
+         {UINT64_C(0x0009593D9CE46006), UINT64_C(0x00057E6F9033002A),
+          UINT64_C(0x0005DEF40003F782), UINT64_C(0x00018A1E90F301F2),
+          UINT64_C(0x0001C9DF45910326)}},
+        {{UINT64_C(0x000C11204B142486), UINT64_C(0x0001DE83CFF6A309),
+          UINT64_C(0x00028E98BD4FBE39), UINT64_C(0x0007FF81C2722301),
+          UINT64_C(0x0004E8EC07E39C5C)},
+         {UINT64_C(0x0001EACFEACEA3A2), UINT64_C(0x000121B16B6B2243),
+          UINT64_C(0x00028A37B9BD6CDB), UINT64_C(0x00021A158458C7AE),
+          UINT64_C(0x000633B208185C49)}},
+        {{UINT64_C(0x0000EFDE020DF8D9), UINT64_C(0x0003D774591FDE3B),
+          UINT64_C(0x0007A513E2E25CA3), UINT64_C(0x0005E307A27F1A86),
+          UINT64_C(0x000526839795FF69)},
+         {UINT64_C(0x0005D1C8482D8549), UINT64_C(0x0006DFD24C6F2ED5),
+          UINT64_C(0x0003185AD6610EDB), UINT64_C(0x00011600733CB20B),
+          UINT64_C(0x0000561D0593758D)}},
+        {{UINT64_C(0x000E7303812E9251), UINT64_C(0x00060FAA9640AC68),
+          UINT64_C(0x0006990E9E84EAAB), UINT64_C(0x00013205597A21E0),
+          UINT64_C(0x0001B36994783E3B)},
+         {UINT64_C(0x0005F117AC96FFD5), UINT64_C(0x000726340518125B),
+          UINT64_C(0x0000B4C646458726), UINT64_C(0x00030611FCE4A03F),
+          UINT64_C(0x00024DA1C03F5846)}},
+        {{UINT64_C(0x000A7E110A8A2315), UINT64_C(0x0007B5EFABE2F3DF),
+          UINT64_C(0x0006DCE7CEBCDB02), UINT64_C(0x00058F4E8DC9C7E1),
+          UINT64_C(0x0007EF25DE94461B)},
+         {UINT64_C(0x000A9AD49C0F6E54), UINT64_C(0x0003CBF884AA9599),
+          UINT64_C(0x0006A88C60115D4E), UINT64_C(0x0002C8D6CB6A4B63),
+          UINT64_C(0x0005526619B4F14F)}},
+        {{UINT64_C(0x000A7E10BA3F6E66), UINT64_C(0x0004F52AE281A0EC),
+          UINT64_C(0x0003476B97096769), UINT64_C(0x00011AD428A9FA42),
+          UINT64_C(0x0002B4544F28575F)},
+         {UINT64_C(0x0006446F85BE14E9), UINT64_C(0x0001E6FBEEDFAD52),
+          UINT64_C(0x000581F0641BDAA7), UINT64_C(0x0006637991AE7F02),
+          UINT64_C(0x00027E73BCC450A7)}},
+        {{UINT64_C(0x0004837DF05B910E), UINT64_C(0x0002779AC207231D),
+          UINT64_C(0x0005394BB62F9685), UINT64_C(0x0006AC7DB912D183),
+          UINT64_C(0x0006DB2D56A1A285)},
+         {UINT64_C(0x00050EB1AA8E171C), UINT64_C(0x0006CB734D7871D7),
+          UINT64_C(0x0003489E3A49926A), UINT64_C(0x0007A7AF3C7269B9),
+          UINT64_C(0x000506FB61E5D9D0)}},
+        {{UINT64_C(0x000D3E9FBCB8E76E), UINT64_C(0x0006BC0CE3973127),
+          UINT64_C(0x0003FEA5962A9166), UINT64_C(0x00010E5CB8B98D3B),
+          UINT64_C(0x0003D71F40DFE3FD)},
+         {UINT64_C(0x00066B6980E59640), UINT64_C(0x0004772E1BF69616),
+          UINT64_C(0x000382F325F1D096), UINT64_C(0x0000E79B55D3B181),
+          UINT64_C(0x0000E77D96C328F4)}},
+        {{UINT64_C(0x000349B94216387D), UINT64_C(0x0004B7A80220D9FD),
+          UINT64_C(0x0006912F408CE0C6), UINT64_C(0x000539E83F596047),
+          UINT64_C(0x0004834100723280)},
+         {UINT64_C(0x000C9832C2F9A7EC), UINT64_C(0x00048534033E2CC1),
+          UINT64_C(0x00052157F1129FA5), UINT64_C(0x00032B2C4930BA32),
+          UINT64_C(0x0007D34399534663)}},
+        {{UINT64_C(0x000C589FC644CABA), UINT64_C(0x0003362B2512BAEF),
+          UINT64_C(0x0000746159FCE3F0), UINT64_C(0x00040AAF0341039E),
+          UINT64_C(0x0006BAFD459922FC)},
+         {UINT64_C(0x000A089C7902EF38), UINT64_C(0x0007C692F2F9CE42),
+          UINT64_C(0x00026F314BA444B4), UINT64_C(0x00070534A8C26791),
+          UINT64_C(0x0006A5CF6D52A467)}},
+        {{UINT64_C(0x00015CB92041529B), UINT64_C(0x00049F22868AF3D0),
+          UINT64_C(0x0005F3105D324FC9), UINT64_C(0x0001AB468A5313F8),
+          UINT64_C(0x00073BCEBFF704D3)},
+         {UINT64_C(0x000CFCBCD02F5CBC), UINT64_C(0x000766C24804981A),
+          UINT64_C(0x000181E80B278C77), UINT64_C(0x0006CB8FBE114DA9),
+          UINT64_C(0x00057C201DD17423)}},
+        {{UINT64_C(0x00047BCA3EF2D278), UINT64_C(0x00009EAE1A7C039D),
+          UINT64_C(0x0001EEDA0A098A7E), UINT64_C(0x0003B5B1C05F89EE),
+          UINT64_C(0x0005D3332A3A6013)},
+         {UINT64_C(0x0006490FECA06CF9), UINT64_C(0x0003EE7D19213955),
+          UINT64_C(0x0000A5B59824F8E4), UINT64_C(0x0004F3FDCFB627E2),
+          UINT64_C(0x00056F87225E3ED3)}},
+        {{UINT64_C(0x00001B52B2B0F1BD), UINT64_C(0x0001AAD95A0BF6D7),
+          UINT64_C(0x000529216F79E19E), UINT64_C(0x00014CF4A2BF207B),
+          UINT64_C(0x000236F709D78288)},
+         {UINT64_C(0x000EED40ABFA1D8C), UINT64_C(0x0006115A9FA586E3),
+          UINT64_C(0x0005AE4248864CF2), UINT64_C(0x000343CBDCFD5D69),
+          UINT64_C(0x000055F0CDAC28BE)}},
+        {{UINT64_C(0x000094B3C9C54CAB), UINT64_C(0x00034BE83CF2DCAA),
+          UINT64_C(0x000798965804267E), UINT64_C(0x0001968C2A055D56),
+          UINT64_C(0x000729AD776CB05C)},
+         {UINT64_C(0x0008022B51AE8A66), UINT64_C(0x0004CB32422B0432),
+          UINT64_C(0x00069790787ABB62), UINT64_C(0x0002F124051391FC),
+          UINT64_C(0x0003C38C28CBE53C)}},
+    }};
+
+/*-
+ * Q := 2P, both projective, Q and P same pointers OK
+ * Autogenerated: op3/dbl_proj.op3
+ * https://eprint.iacr.org/2015/1060 Alg 6
+ * ASSERT: a = -3
+ */
+static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
+    /* temporary variables */
+    fe_t t0, t1, t2, t3, t4;
+    /* constants */
+    const limb_t *b = const_b;
+    /* set pointers for legacy 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 *Z3 = Q->Z;
+
+    /* the curve arith formula */
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(t0, X);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(t1, Y);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(t2, Z);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t3, X, Y);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t3, t3, t3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t4, Y, Z);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(Z3, X, Z);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Z3, Z3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(Y3, b, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(Y3, Y3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(X3, Y3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Y3, X3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(X3, t1, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Y3, t1, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(Y3, X3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(X3, X3, t3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t3, t2, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t2, t2, t3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(Z3, b, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(Z3, Z3, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(Z3, Z3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t3, Z3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Z3, Z3, t3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t3, t0, t0);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t0, t3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(t0, t0, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t0, t0, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Y3, Y3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t0, t4, t4);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(Z3, t0, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(X3, X3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(Z3, t0, t1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Z3, Z3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Z3, Z3, Z3);
+}
+
+/*-
+ * out1 = (arg1 == 0) ? 0 : nz
+ * NB: this is not a "mod p equiv" 0, but literal 0
+ * NB: this is not a real Fiat function, just named that way for consistency.
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_nonzero(
+    limb_t *out1, const fe_t arg1) {
+    limb_t x1 = 0;
+    int i;
+
+    for (i = 0; i < LIMB_CNT; i++) x1 |= arg1[i];
+    *out1 = x1;
+}
+
+/*-
+ * 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.op3
+ * https://eprint.iacr.org/2015/1060 Alg 5
+ * ASSERT: a = -3
+ */
+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, t4;
+    /* constants */
+    const limb_t *b = const_b;
+    /* set pointers for legacy curve arith */
+    const limb_t *X1 = Q->X;
+    const limb_t *Y1 = Q->Y;
+    const limb_t *Z1 = Q->Z;
+    const limb_t *X2 = P->X;
+    const limb_t *Y2 = P->Y;
+    fe_t X3;
+    fe_t Y3;
+    fe_t Z3;
+    limb_t nz;
+
+    /* check P for affine inf */
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_nonzero(&nz, P->Y);
+
+    /* the curve arith formula */
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t0, X1, X2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t1, Y1, Y2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t3, X2, Y2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t4, X1, Y1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t3, t3, t4);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t4, t0, t1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(t3, t3, t4);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t4, Y2, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t4, t4, Y1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(Y3, X2, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Y3, Y3, X1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(Z3, b, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(X3, Y3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Z3, X3, X3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(X3, X3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(Z3, t1, X3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(X3, t1, X3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(Y3, b, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t1, Z1, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t2, t1, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(Y3, Y3, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(Y3, Y3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t1, Y3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Y3, t1, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t1, t0, t0);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t0, t1, t0);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(t0, t0, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t1, t4, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t2, t0, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(Y3, X3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Y3, Y3, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(X3, t3, X3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(X3, X3, t1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(Z3, t4, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t1, t3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Z3, Z3, t1);
+
+    /* if P is inf, throw all that away and take Q */
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(R->X, nz, Q->X, X3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(R->Y, nz, Q->Y, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(R->Z, nz, Q->Z, Z3);
+}
+
+/*-
+ * R := Q + P all projective.
+ * R and Q same pointers OK
+ * R and P same pointers not OK
+ * Autogenerated: op3/add_proj.op3
+ * https://eprint.iacr.org/2015/1060 Alg 4
+ * ASSERT: a = -3
+ */
+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, t4, t5;
+    /* constants */
+    const limb_t *b = const_b;
+    /* set pointers for legacy curve arith */
+    const limb_t *X1 = Q->X;
+    const limb_t *Y1 = Q->Y;
+    const limb_t *Z1 = Q->Z;
+    const limb_t *X2 = P->X;
+    const limb_t *Y2 = P->Y;
+    const limb_t *Z2 = P->Z;
+    limb_t *X3 = R->X;
+    limb_t *Y3 = R->Y;
+    limb_t *Z3 = R->Z;
+
+    /* the curve arith formula */
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t0, X1, X2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t1, Y1, Y2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t2, Z1, Z2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t3, X1, Y1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t4, X2, Y2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t3, t3, t4);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t4, t0, t1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(t3, t3, t4);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t4, Y1, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t5, Y2, Z2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t4, t4, t5);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t5, t1, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(t4, t4, t5);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(X3, X1, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Y3, X2, Z2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(X3, X3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Y3, t0, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(Y3, X3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(Z3, b, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(X3, Y3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Z3, X3, X3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(X3, X3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(Z3, t1, X3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(X3, t1, X3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(Y3, b, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t1, t2, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t2, t1, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(Y3, Y3, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(Y3, Y3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t1, Y3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Y3, t1, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t1, t0, t0);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t0, t1, t0);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(t0, t0, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t1, t4, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t2, t0, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(Y3, X3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Y3, Y3, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(X3, t3, X3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(X3, X3, t1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(Z3, t4, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t1, t3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Z3, Z3, t1);
+}
+
+/* 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;
+
+    fe_copy(precomp[0].X, P->X);
+    fe_copy(precomp[0].Y, P->Y);
+    fe_copy(precomp[0].Z, const_one);
+    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[32], int idx) {
+    int widx, rshift;
+
+    widx = idx >> 3;
+    rshift = idx & 0x7;
+
+    if (idx < 0 || widx >= 32) 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[52], const unsigned char in[32]) {
+    int i;
+    char window, d;
+
+    window = (in[0] & (DRADIX_WNAF - 1)) | 1;
+    for (i = 0; i < 51; 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[257], const unsigned char in[32]) {
+    int i;
+    char window, d;
+
+    window = in[0] & (DRADIX_WNAF - 1);
+    for (i = 0; i < 257; 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[32],
+                              const unsigned char b[32], const pt_aff_t *P) {
+    int i, d, is_neg, is_inf = 1, flipped = 0;
+    char anaf[257] = {0};
+    char bnaf[257] = {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 = 256; i >= 0; i--) {
+        if (!is_inf) point_double(&Q, &Q);
+        if ((d = bnaf[i])) {
+            if ((is_neg = d < 0) != flipped) {
+                fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_opp(Q.Y, Q.Y);
+                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.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_GostR3410_2001_CryptoPro_A_ParamSet_opp(Q.Y, Q.Y);
+                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.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.Z);
+    }
+
+    if (flipped) {
+        /* correct sign */
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_opp(Q.Y, Q.Y);
+    }
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_inv(Q.Z, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(out->X, Q.X, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_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[32],
+                           const pt_aff_t *P) {
+    int i, j, d, diff, is_neg;
+    char rnaf[52] = {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[51] - 1) >> 1;
+    for (j = 0; j < DRADIX / 2; j++) {
+        diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(Q.X, diff, Q.X,
+                                                              precomp[j].X);
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(Q.Y, diff, Q.Y,
+                                                              precomp[j].Y);
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(Q.Z, diff, Q.Z,
+                                                              precomp[j].Z);
+    }
+
+    for (i = 50; 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_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(
+                lut.X, diff, lut.X, precomp[j].X);
+            fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(
+                lut.Y, diff, lut.Y, precomp[j].Y);
+            fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(
+                lut.Z, diff, lut.Z, precomp[j].Z);
+        }
+        /* negate lut point if digit is negative */
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_opp(out->Y, lut.Y);
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(lut.Y, is_neg,
+                                                              lut.Y, out->Y);
+        point_add_proj(&Q, &Q, &lut);
+    }
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
+
+    /* conditionally subtract P if the scalar was even */
+    fe_copy(lut.X, precomp[0].X);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_opp(lut.Y, precomp[0].Y);
+    fe_copy(lut.Z, precomp[0].Z);
+    point_add_proj(&lut, &lut, &Q);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(Q.X, scalar[0] & 1,
+                                                          lut.X, Q.X);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(Q.Y, scalar[0] & 1,
+                                                          lut.Y, Q.Y);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(Q.Z, scalar[0] & 1,
+                                                          lut.Z, Q.Z);
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_inv(Q.Z, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(out->X, Q.X, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_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[32]) {
+    int i, j, k, d, diff, is_neg = 0;
+    char rnaf[52] = {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.Z);
+
+#if defined(_MSC_VER)
+    /* result still unsigned: yes we know */
+#pragma warning(push)
+#pragma warning(disable : 4146)
+#endif
+
+    for (i = 2; i >= 0; i--) {
+        for (j = 0; i != 2 && j < RADIX; j++) point_double(&Q, &Q);
+        for (j = 0; j < 19; j++) {
+            if (j * 3 + i > 51) continue;
+            d = rnaf[j * 3 + 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_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(
+                    lut.X, diff, lut.X, lut_cmb[j][k].X);
+                fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(
+                    lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
+            }
+            /* negate lut point if digit is negative */
+            fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_opp(out->Y, lut.Y);
+            fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(
+                lut.Y, is_neg, lut.Y, out->Y);
+            point_add_mixed(&Q, &Q, &lut);
+        }
+    }
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
+
+    /* conditionally subtract P if the scalar was even */
+    fe_copy(lut.X, lut_cmb[0][0].X);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_opp(lut.Y, lut_cmb[0][0].Y);
+    point_add_mixed(&R, &Q, &lut);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(Q.X, scalar[0] & 1,
+                                                          R.X, Q.X);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(Q.Y, scalar[0] & 1,
+                                                          R.Y, Q.Y);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(Q.Z, scalar[0] & 1,
+                                                          R.Z, Q.Z);
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_inv(Q.Z, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(out->X, Q.X, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(out->Y, Q.Y, Q.Z);
+}
+
+static void point_mul_two(unsigned char outx[32], unsigned char outy[32],
+                          const unsigned char a[32], const unsigned char b[32],
+                          const unsigned char inx[32],
+                          const unsigned char iny[32]) {
+    pt_aff_t P;
+
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_from_bytes(P.X, inx);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_from_bytes(P.Y, iny);
+    /* simultaneous scalar multiplication */
+    var_smul_wnaf_two(&P, a, b, &P);
+
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_to_bytes(outx, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_to_bytes(outy, P.Y);
+}
+
+static void point_mul_g(unsigned char outx[32], unsigned char outy[32],
+                        const unsigned char scalar[32]) {
+    pt_aff_t P;
+
+    /* fixed scmul function */
+    fixed_smul_cmb(&P, scalar);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_to_bytes(outx, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_to_bytes(outy, P.Y);
+}
+
+static void point_mul(unsigned char outx[32], unsigned char outy[32],
+                      const unsigned char scalar[32],
+                      const unsigned char inx[32],
+                      const unsigned char iny[32]) {
+    pt_aff_t P;
+
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_from_bytes(P.X, inx);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_from_bytes(P.Y, iny);
+    /* var scmul function */
+    var_smul_rwnaf(&P, scalar, &P);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_to_bytes(outx, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_to_bytes(outy, P.Y);
+}
+
+#include <openssl/ec.h>
+
+static const unsigned char const_zb[32] = {0};
+
+    int
+    point_mul_two_id_GostR3410_2001_CryptoPro_A_ParamSet(
+        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[32];
+    unsigned char b_y[32];
+    unsigned char b_n[32];
+    unsigned char b_m[32];
+    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, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
+        BN_bn2lebinpad(n, b_n, 32) != 32 || BN_bn2lebinpad(m, b_m, 32) != 32)
+        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, 32) == 0 &&
+        CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
+        if (!EC_POINT_set_to_infinity(group, r)) goto err;
+    } else {
+        /* otherwise, pack the bytes into the result */
+        if (BN_lebin2bn(b_x, 32, x) == NULL ||
+            BN_lebin2bn(b_y, 32, 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_GostR3410_2001_CryptoPro_A_ParamSet(const EC_GROUP *group,
+                                                     EC_POINT *r,
+                                                     const EC_POINT *q,
+                                                     const BIGNUM *m,
+                                                     BN_CTX *ctx) {
+    int ret = 0;
+    unsigned char b_x[32];
+    unsigned char b_y[32];
+    unsigned char b_m[32];
+    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, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
+        BN_bn2lebinpad(m, b_m, 32) != 32)
+        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, 32) == 0 &&
+        CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
+        if (!EC_POINT_set_to_infinity(group, r)) goto err;
+    } else {
+        /* otherwise, pack the bytes into the result */
+        if (BN_lebin2bn(b_x, 32, x) == NULL ||
+            BN_lebin2bn(b_y, 32, 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_GostR3410_2001_CryptoPro_A_ParamSet(const EC_GROUP *group,
+                                                       EC_POINT *r,
+                                                       const BIGNUM *n,
+                                                       BN_CTX *ctx) {
+    int ret = 0;
+    unsigned char b_x[32];
+    unsigned char b_y[32];
+    unsigned char b_n[32];
+    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, 32) != 32)
+        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, 32) == 0 &&
+        CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
+        if (!EC_POINT_set_to_infinity(group, r)) goto err;
+    } else {
+        /* otherwise, pack the bytes into the result */
+        if (BN_lebin2bn(b_x, 32, x) == NULL ||
+            BN_lebin2bn(b_y, 32, 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 11
+/* 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_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(c, a, b) \
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_add(c, a, b);          \
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry(c, c)
+#define fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(c, a, b) \
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_sub(c, a, b);          \
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry(c, c)
+
+/* Projective points */
+typedef struct {
+    fe_t X;
+    fe_t Y;
+    fe_t Z;
+} pt_prj_t;
+
+/* Affine points */
+typedef struct {
+    fe_t X;
+    fe_t Y;
+} 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_GostR3410_2001_CryptoPro_A_ParamSet 32 '(auto)' '2^256 - 617' */
+/* curve description: id_GostR3410_2001_CryptoPro_A_ParamSet */
+/* machine_wordsize = 32 (from "32") */
+/* requested operations: (all) */
+/* n = 11 (from "(auto)") */
+/* s-c = 2^256 - [(1, 617)] (from "2^256 - 617") */
+/* tight_bounds_multiplier = 1.1 (from "") */
+/*  */
+/* Computed values: */
+/* carry_chain = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 1] */
+/* eval z = z[0] + (z[1] << 24) + (z[2] << 47) + (z[3] << 70) + (z[4] << 94) + (z[5] << 117) + (z[6] << 140) + (z[7] << 163) + (z[8] << 187) + (z[9] << 210) + (z[10] << 233) */
+/* 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) */
+
+#include <stdint.h>
+typedef unsigned char fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1;
+typedef signed char fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_int1;
+
+#if (-1 & 3) != 3
+#error "This code only works on a two's complement system"
+#endif
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_addcarryx_u24 is an addition with carry.
+ * Postconditions:
+ *   out1 = (arg1 + arg2 + arg3) mod 2^24
+ *   out2 = ⌊(arg1 + arg2 + arg3) / 2^24⌋
+ *
+ * Input Bounds:
+ *   arg1: [0x0 ~> 0x1]
+ *   arg2: [0x0 ~> 0xffffff]
+ *   arg3: [0x0 ~> 0xffffff]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffff]
+ *   out2: [0x0 ~> 0x1]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_addcarryx_u24(
+    uint32_t *out1, fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 *out2,
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 arg1, uint32_t arg2,
+    uint32_t arg3) {
+    uint32_t x1;
+    uint32_t x2;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x3;
+    x1 = ((arg1 + arg2) + arg3);
+    x2 = (x1 & UINT32_C(0xffffff));
+    x3 = (fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1)(x1 >> 24);
+    *out1 = x2;
+    *out2 = x3;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_subborrowx_u24 is a subtraction with borrow.
+ * Postconditions:
+ *   out1 = (-arg1 + arg2 + -arg3) mod 2^24
+ *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^24⌋
+ *
+ * Input Bounds:
+ *   arg1: [0x0 ~> 0x1]
+ *   arg2: [0x0 ~> 0xffffff]
+ *   arg3: [0x0 ~> 0xffffff]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffff]
+ *   out2: [0x0 ~> 0x1]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_subborrowx_u24(
+    uint32_t *out1, fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 *out2,
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 arg1, uint32_t arg2,
+    uint32_t arg3) {
+    int32_t x1;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_int1 x2;
+    uint32_t x3;
+    x1 = ((int32_t)(arg2 - arg1) - (int32_t)arg3);
+    x2 = (fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_int1)(x1 >> 24);
+    x3 = (x1 & UINT32_C(0xffffff));
+    *out1 = x3;
+    *out2 = (fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1)(0x0 - x2);
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_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_GostR3410_2001_CryptoPro_A_ParamSet_addcarryx_u23(
+    uint32_t *out1, fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 *out2,
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 arg1, uint32_t arg2,
+    uint32_t arg3) {
+    uint32_t x1;
+    uint32_t x2;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x3;
+    x1 = ((arg1 + arg2) + arg3);
+    x2 = (x1 & UINT32_C(0x7fffff));
+    x3 = (fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1)(x1 >> 23);
+    *out1 = x2;
+    *out2 = x3;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_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_GostR3410_2001_CryptoPro_A_ParamSet_subborrowx_u23(
+    uint32_t *out1, fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 *out2,
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 arg1, uint32_t arg2,
+    uint32_t arg3) {
+    int32_t x1;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_int1 x2;
+    uint32_t x3;
+    x1 = ((int32_t)(arg2 - arg1) - (int32_t)arg3);
+    x2 = (fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_int1)(x1 >> 23);
+    x3 = (x1 & UINT32_C(0x7fffff));
+    *out1 = x3;
+    *out2 = (fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1)(0x0 - x2);
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_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_GostR3410_2001_CryptoPro_A_ParamSet_cmovznz_u32(
+    uint32_t *out1, fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 arg1,
+    uint32_t arg2, uint32_t arg3) {
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x1;
+    uint32_t x2;
+    uint32_t x3;
+    x1 = (!(!arg1));
+    x2 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_int1)(0x0 - x1) &
+          UINT32_C(0xffffffff));
+    x3 = ((x2 & arg3) | ((~x2) & arg2));
+    *out1 = x3;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_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 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664]]
+ *   arg2: [[0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(
+    uint32_t out1[11], const uint32_t arg1[11], const uint32_t arg2[11]) {
+    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;
+    uint32_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;
+    uint32_t x137;
+    uint64_t x138;
+    uint64_t x139;
+    uint32_t x140;
+    uint64_t x141;
+    uint64_t x142;
+    uint32_t x143;
+    uint64_t x144;
+    uint64_t x145;
+    uint32_t x146;
+    uint64_t x147;
+    uint64_t x148;
+    uint32_t x149;
+    uint64_t x150;
+    uint64_t x151;
+    uint32_t x152;
+    uint64_t x153;
+    uint64_t x154;
+    uint32_t x155;
+    uint64_t x156;
+    uint64_t x157;
+    uint32_t x158;
+    uint64_t x159;
+    uint64_t x160;
+    uint32_t x161;
+    uint64_t x162;
+    uint32_t x163;
+    uint32_t x164;
+    uint64_t x165;
+    uint64_t x166;
+    uint32_t x167;
+    uint32_t x168;
+    uint32_t x169;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x170;
+    uint32_t x171;
+    uint32_t x172;
+    x1 = (UINT16_C(0x269) * ((uint64_t)(arg1[10]) * (arg2[10])));
+    x2 = (UINT16_C(0x269) * ((uint64_t)(arg1[10]) * (arg2[9])));
+    x3 = (UINT16_C(0x269) * (((uint64_t)(arg1[10]) * (arg2[8])) * 0x2));
+    x4 = (UINT16_C(0x269) * ((uint64_t)(arg1[10]) * (arg2[7])));
+    x5 = (UINT16_C(0x269) * ((uint64_t)(arg1[10]) * (arg2[6])));
+    x6 = (UINT16_C(0x269) * ((uint64_t)(arg1[10]) * (arg2[5])));
+    x7 = (UINT16_C(0x269) * (((uint64_t)(arg1[10]) * (arg2[4])) * 0x2));
+    x8 = (UINT16_C(0x269) * ((uint64_t)(arg1[10]) * (arg2[3])));
+    x9 = (UINT16_C(0x269) * ((uint64_t)(arg1[10]) * (arg2[2])));
+    x10 = (UINT16_C(0x269) * (((uint64_t)(arg1[10]) * (arg2[1])) * 0x2));
+    x11 = (UINT16_C(0x269) * ((uint64_t)(arg1[9]) * (arg2[10])));
+    x12 = (UINT16_C(0x269) * (((uint64_t)(arg1[9]) * (arg2[9])) * 0x2));
+    x13 = (UINT16_C(0x269) * (((uint64_t)(arg1[9]) * (arg2[8])) * 0x2));
+    x14 = (UINT16_C(0x269) * ((uint64_t)(arg1[9]) * (arg2[7])));
+    x15 = (UINT16_C(0x269) * ((uint64_t)(arg1[9]) * (arg2[6])));
+    x16 = (UINT16_C(0x269) * (((uint64_t)(arg1[9]) * (arg2[5])) * 0x2));
+    x17 = (UINT16_C(0x269) * (((uint64_t)(arg1[9]) * (arg2[4])) * 0x2));
+    x18 = (UINT16_C(0x269) * ((uint64_t)(arg1[9]) * (arg2[3])));
+    x19 = (UINT16_C(0x269) * (((uint64_t)(arg1[9]) * (arg2[2])) * 0x2));
+    x20 = (UINT16_C(0x269) * (((uint64_t)(arg1[8]) * (arg2[10])) * 0x2));
+    x21 = (UINT16_C(0x269) * (((uint64_t)(arg1[8]) * (arg2[9])) * 0x2));
+    x22 = (UINT16_C(0x269) * (((uint64_t)(arg1[8]) * (arg2[8])) * 0x2));
+    x23 = (UINT16_C(0x269) * ((uint64_t)(arg1[8]) * (arg2[7])));
+    x24 = (UINT16_C(0x269) * (((uint64_t)(arg1[8]) * (arg2[6])) * 0x2));
+    x25 = (UINT16_C(0x269) * (((uint64_t)(arg1[8]) * (arg2[5])) * 0x2));
+    x26 = (UINT16_C(0x269) * (((uint64_t)(arg1[8]) * (arg2[4])) * 0x2));
+    x27 = (UINT16_C(0x269) * (((uint64_t)(arg1[8]) * (arg2[3])) * 0x2));
+    x28 = (UINT16_C(0x269) * ((uint64_t)(arg1[7]) * (arg2[10])));
+    x29 = (UINT16_C(0x269) * ((uint64_t)(arg1[7]) * (arg2[9])));
+    x30 = (UINT16_C(0x269) * ((uint64_t)(arg1[7]) * (arg2[8])));
+    x31 = (UINT16_C(0x269) * ((uint64_t)(arg1[7]) * (arg2[7])));
+    x32 = (UINT16_C(0x269) * ((uint64_t)(arg1[7]) * (arg2[6])));
+    x33 = (UINT16_C(0x269) * ((uint64_t)(arg1[7]) * (arg2[5])));
+    x34 = (UINT16_C(0x269) * (((uint64_t)(arg1[7]) * (arg2[4])) * 0x2));
+    x35 = (UINT16_C(0x269) * ((uint64_t)(arg1[6]) * (arg2[10])));
+    x36 = (UINT16_C(0x269) * ((uint64_t)(arg1[6]) * (arg2[9])));
+    x37 = (UINT16_C(0x269) * (((uint64_t)(arg1[6]) * (arg2[8])) * 0x2));
+    x38 = (UINT16_C(0x269) * ((uint64_t)(arg1[6]) * (arg2[7])));
+    x39 = (UINT16_C(0x269) * ((uint64_t)(arg1[6]) * (arg2[6])));
+    x40 = (UINT16_C(0x269) * (((uint64_t)(arg1[6]) * (arg2[5])) * 0x2));
+    x41 = (UINT16_C(0x269) * ((uint64_t)(arg1[5]) * (arg2[10])));
+    x42 = (UINT16_C(0x269) * (((uint64_t)(arg1[5]) * (arg2[9])) * 0x2));
+    x43 = (UINT16_C(0x269) * (((uint64_t)(arg1[5]) * (arg2[8])) * 0x2));
+    x44 = (UINT16_C(0x269) * ((uint64_t)(arg1[5]) * (arg2[7])));
+    x45 = (UINT16_C(0x269) * (((uint64_t)(arg1[5]) * (arg2[6])) * 0x2));
+    x46 = (UINT16_C(0x269) * (((uint64_t)(arg1[4]) * (arg2[10])) * 0x2));
+    x47 = (UINT16_C(0x269) * (((uint64_t)(arg1[4]) * (arg2[9])) * 0x2));
+    x48 = (UINT16_C(0x269) * (((uint64_t)(arg1[4]) * (arg2[8])) * 0x2));
+    x49 = (UINT16_C(0x269) * (((uint64_t)(arg1[4]) * (arg2[7])) * 0x2));
+    x50 = (UINT16_C(0x269) * ((uint64_t)(arg1[3]) * (arg2[10])));
+    x51 = (UINT16_C(0x269) * ((uint64_t)(arg1[3]) * (arg2[9])));
+    x52 = (UINT16_C(0x269) * (((uint64_t)(arg1[3]) * (arg2[8])) * 0x2));
+    x53 = (UINT16_C(0x269) * ((uint64_t)(arg1[2]) * (arg2[10])));
+    x54 = (UINT16_C(0x269) * (((uint64_t)(arg1[2]) * (arg2[9])) * 0x2));
+    x55 = (UINT16_C(0x269) * (((uint64_t)(arg1[1]) * (arg2[10])) * 0x2));
+    x56 = ((uint64_t)(arg1[10]) * (arg2[0]));
+    x57 = ((uint64_t)(arg1[9]) * ((arg2[1]) * 0x2));
+    x58 = ((uint64_t)(arg1[9]) * (arg2[0]));
+    x59 = ((uint64_t)(arg1[8]) * ((arg2[2]) * 0x2));
+    x60 = ((uint64_t)(arg1[8]) * ((arg2[1]) * 0x2));
+    x61 = ((uint64_t)(arg1[8]) * (arg2[0]));
+    x62 = ((uint64_t)(arg1[7]) * (arg2[3]));
+    x63 = ((uint64_t)(arg1[7]) * (arg2[2]));
+    x64 = ((uint64_t)(arg1[7]) * (arg2[1]));
+    x65 = ((uint64_t)(arg1[7]) * (arg2[0]));
+    x66 = ((uint64_t)(arg1[6]) * ((arg2[4]) * 0x2));
+    x67 = ((uint64_t)(arg1[6]) * (arg2[3]));
+    x68 = ((uint64_t)(arg1[6]) * (arg2[2]));
+    x69 = ((uint64_t)(arg1[6]) * ((arg2[1]) * 0x2));
+    x70 = ((uint64_t)(arg1[6]) * (arg2[0]));
+    x71 = ((uint64_t)(arg1[5]) * ((arg2[5]) * 0x2));
+    x72 = ((uint64_t)(arg1[5]) * ((arg2[4]) * 0x2));
+    x73 = ((uint64_t)(arg1[5]) * (arg2[3]));
+    x74 = ((uint64_t)(arg1[5]) * ((arg2[2]) * 0x2));
+    x75 = ((uint64_t)(arg1[5]) * ((arg2[1]) * 0x2));
+    x76 = ((uint64_t)(arg1[5]) * (arg2[0]));
+    x77 = ((uint64_t)(arg1[4]) * ((arg2[6]) * 0x2));
+    x78 = ((uint64_t)(arg1[4]) * ((arg2[5]) * 0x2));
+    x79 = ((uint64_t)(arg1[4]) * ((arg2[4]) * 0x2));
+    x80 = ((uint64_t)(arg1[4]) * ((arg2[3]) * 0x2));
+    x81 = ((uint64_t)(arg1[4]) * ((arg2[2]) * 0x2));
+    x82 = ((uint64_t)(arg1[4]) * ((arg2[1]) * 0x2));
+    x83 = ((uint64_t)(arg1[4]) * (arg2[0]));
+    x84 = ((uint64_t)(arg1[3]) * (arg2[7]));
+    x85 = ((uint64_t)(arg1[3]) * (arg2[6]));
+    x86 = ((uint64_t)(arg1[3]) * (arg2[5]));
+    x87 = ((uint64_t)(arg1[3]) * ((arg2[4]) * 0x2));
+    x88 = ((uint64_t)(arg1[3]) * (arg2[3]));
+    x89 = ((uint64_t)(arg1[3]) * (arg2[2]));
+    x90 = ((uint64_t)(arg1[3]) * (arg2[1]));
+    x91 = ((uint64_t)(arg1[3]) * (arg2[0]));
+    x92 = ((uint64_t)(arg1[2]) * ((arg2[8]) * 0x2));
+    x93 = ((uint64_t)(arg1[2]) * (arg2[7]));
+    x94 = ((uint64_t)(arg1[2]) * (arg2[6]));
+    x95 = ((uint64_t)(arg1[2]) * ((arg2[5]) * 0x2));
+    x96 = ((uint64_t)(arg1[2]) * ((arg2[4]) * 0x2));
+    x97 = ((uint64_t)(arg1[2]) * (arg2[3]));
+    x98 = ((uint64_t)(arg1[2]) * (arg2[2]));
+    x99 = ((uint64_t)(arg1[2]) * ((arg2[1]) * 0x2));
+    x100 = ((uint64_t)(arg1[2]) * (arg2[0]));
+    x101 = ((uint64_t)(arg1[1]) * ((arg2[9]) * 0x2));
+    x102 = ((uint64_t)(arg1[1]) * ((arg2[8]) * 0x2));
+    x103 = ((uint64_t)(arg1[1]) * (arg2[7]));
+    x104 = ((uint64_t)(arg1[1]) * ((arg2[6]) * 0x2));
+    x105 = ((uint64_t)(arg1[1]) * ((arg2[5]) * 0x2));
+    x106 = ((uint64_t)(arg1[1]) * ((arg2[4]) * 0x2));
+    x107 = ((uint64_t)(arg1[1]) * (arg2[3]));
+    x108 = ((uint64_t)(arg1[1]) * ((arg2[2]) * 0x2));
+    x109 = ((uint64_t)(arg1[1]) * ((arg2[1]) * 0x2));
+    x110 = ((uint64_t)(arg1[1]) * (arg2[0]));
+    x111 = ((uint64_t)(arg1[0]) * (arg2[10]));
+    x112 = ((uint64_t)(arg1[0]) * (arg2[9]));
+    x113 = ((uint64_t)(arg1[0]) * (arg2[8]));
+    x114 = ((uint64_t)(arg1[0]) * (arg2[7]));
+    x115 = ((uint64_t)(arg1[0]) * (arg2[6]));
+    x116 = ((uint64_t)(arg1[0]) * (arg2[5]));
+    x117 = ((uint64_t)(arg1[0]) * (arg2[4]));
+    x118 = ((uint64_t)(arg1[0]) * (arg2[3]));
+    x119 = ((uint64_t)(arg1[0]) * (arg2[2]));
+    x120 = ((uint64_t)(arg1[0]) * (arg2[1]));
+    x121 = ((uint64_t)(arg1[0]) * (arg2[0]));
+    x122 =
+        (x121 +
+         (x55 +
+          (x54 + (x52 + (x49 + (x45 + (x40 + (x34 + (x27 + (x19 + x10))))))))));
+    x123 = (x122 >> 24);
+    x124 = (uint32_t)(x122 & UINT32_C(0xffffff));
+    x125 =
+        (x111 +
+         (x101 +
+          (x92 + (x84 + (x77 + (x71 + (x66 + (x62 + (x59 + (x57 + x56))))))))));
+    x126 =
+        (x112 +
+         (x102 +
+          (x93 + (x85 + (x78 + (x72 + (x67 + (x63 + (x60 + (x58 + x1))))))))));
+    x127 =
+        (x113 +
+         (x103 +
+          (x94 + (x86 + (x79 + (x73 + (x68 + (x64 + (x61 + (x11 + x2))))))))));
+    x128 =
+        (x114 +
+         (x104 +
+          (x95 + (x87 + (x80 + (x74 + (x69 + (x65 + (x20 + (x12 + x3))))))))));
+    x129 =
+        (x115 +
+         (x105 +
+          (x96 + (x88 + (x81 + (x75 + (x70 + (x28 + (x21 + (x13 + x4))))))))));
+    x130 =
+        (x116 +
+         (x106 +
+          (x97 + (x89 + (x82 + (x76 + (x35 + (x29 + (x22 + (x14 + x5))))))))));
+    x131 =
+        (x117 +
+         (x107 +
+          (x98 + (x90 + (x83 + (x41 + (x36 + (x30 + (x23 + (x15 + x6))))))))));
+    x132 =
+        (x118 +
+         (x108 +
+          (x99 + (x91 + (x46 + (x42 + (x37 + (x31 + (x24 + (x16 + x7))))))))));
+    x133 =
+        (x119 +
+         (x109 +
+          (x100 + (x50 + (x47 + (x43 + (x38 + (x32 + (x25 + (x17 + x8))))))))));
+    x134 =
+        (x120 +
+         (x110 +
+          (x53 + (x51 + (x48 + (x44 + (x39 + (x33 + (x26 + (x18 + x9))))))))));
+    x135 = (x123 + x134);
+    x136 = (x135 >> 23);
+    x137 = (uint32_t)(x135 & UINT32_C(0x7fffff));
+    x138 = (x136 + x133);
+    x139 = (x138 >> 23);
+    x140 = (uint32_t)(x138 & UINT32_C(0x7fffff));
+    x141 = (x139 + x132);
+    x142 = (x141 >> 24);
+    x143 = (uint32_t)(x141 & UINT32_C(0xffffff));
+    x144 = (x142 + x131);
+    x145 = (x144 >> 23);
+    x146 = (uint32_t)(x144 & UINT32_C(0x7fffff));
+    x147 = (x145 + x130);
+    x148 = (x147 >> 23);
+    x149 = (uint32_t)(x147 & UINT32_C(0x7fffff));
+    x150 = (x148 + x129);
+    x151 = (x150 >> 23);
+    x152 = (uint32_t)(x150 & UINT32_C(0x7fffff));
+    x153 = (x151 + x128);
+    x154 = (x153 >> 24);
+    x155 = (uint32_t)(x153 & UINT32_C(0xffffff));
+    x156 = (x154 + x127);
+    x157 = (x156 >> 23);
+    x158 = (uint32_t)(x156 & UINT32_C(0x7fffff));
+    x159 = (x157 + x126);
+    x160 = (x159 >> 23);
+    x161 = (uint32_t)(x159 & UINT32_C(0x7fffff));
+    x162 = (x160 + x125);
+    x163 = (uint32_t)(x162 >> 23);
+    x164 = (uint32_t)(x162 & UINT32_C(0x7fffff));
+    x165 = ((uint64_t)UINT16_C(0x269) * x163);
+    x166 = (x124 + x165);
+    x167 = (uint32_t)(x166 >> 24);
+    x168 = (uint32_t)(x166 & UINT32_C(0xffffff));
+    x169 = (x167 + x137);
+    x170 = (fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1)(x169 >> 23);
+    x171 = (x169 & UINT32_C(0x7fffff));
+    x172 = (x170 + x140);
+    out1[0] = x168;
+    out1[1] = x171;
+    out1[2] = x172;
+    out1[3] = x143;
+    out1[4] = x146;
+    out1[5] = x149;
+    out1[6] = x152;
+    out1[7] = x155;
+    out1[8] = x158;
+    out1[9] = x161;
+    out1[10] = x164;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_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 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(
+    uint32_t out1[11], const uint32_t arg1[11]) {
+    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;
+    uint32_t x16;
+    uint32_t x17;
+    uint32_t x18;
+    uint32_t x19;
+    uint32_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;
+    uint32_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;
+    uint32_t x102;
+    uint64_t x103;
+    uint64_t x104;
+    uint32_t x105;
+    uint64_t x106;
+    uint64_t x107;
+    uint32_t x108;
+    uint64_t x109;
+    uint64_t x110;
+    uint32_t x111;
+    uint64_t x112;
+    uint64_t x113;
+    uint32_t x114;
+    uint64_t x115;
+    uint64_t x116;
+    uint32_t x117;
+    uint64_t x118;
+    uint64_t x119;
+    uint32_t x120;
+    uint64_t x121;
+    uint64_t x122;
+    uint32_t x123;
+    uint64_t x124;
+    uint64_t x125;
+    uint32_t x126;
+    uint64_t x127;
+    uint32_t x128;
+    uint32_t x129;
+    uint64_t x130;
+    uint64_t x131;
+    uint32_t x132;
+    uint32_t x133;
+    uint32_t x134;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x135;
+    uint32_t x136;
+    uint32_t x137;
+    x1 = ((uint64_t)(arg1[10]) * UINT16_C(0x269));
+    x2 = (x1 * 0x2);
+    x3 = ((arg1[10]) * 0x2);
+    x4 = ((uint64_t)(arg1[9]) * UINT16_C(0x269));
+    x5 = (x4 * 0x2);
+    x6 = ((arg1[9]) * 0x2);
+    x7 = ((uint64_t)(arg1[8]) * UINT16_C(0x269));
+    x8 = (x7 * 0x2);
+    x9 = ((arg1[8]) * 0x2);
+    x10 = ((uint64_t)(arg1[7]) * UINT16_C(0x269));
+    x11 = (x10 * 0x2);
+    x12 = ((arg1[7]) * 0x2);
+    x13 = ((uint64_t)(arg1[6]) * UINT16_C(0x269));
+    x14 = (x13 * 0x2);
+    x15 = ((arg1[6]) * 0x2);
+    x16 = ((arg1[5]) * 0x2);
+    x17 = ((arg1[4]) * 0x2);
+    x18 = ((arg1[3]) * 0x2);
+    x19 = ((arg1[2]) * 0x2);
+    x20 = ((arg1[1]) * 0x2);
+    x21 = ((arg1[10]) * x1);
+    x22 = ((arg1[9]) * x2);
+    x23 = ((arg1[9]) * (x4 * 0x2));
+    x24 = ((arg1[8]) * (x2 * 0x2));
+    x25 = ((arg1[8]) * (x5 * 0x2));
+    x26 = ((arg1[8]) * (x7 * 0x2));
+    x27 = ((arg1[7]) * x2);
+    x28 = ((arg1[7]) * x5);
+    x29 = ((arg1[7]) * x8);
+    x30 = ((arg1[7]) * x10);
+    x31 = ((arg1[6]) * x2);
+    x32 = ((arg1[6]) * x5);
+    x33 = ((arg1[6]) * (x8 * 0x2));
+    x34 = ((arg1[6]) * x11);
+    x35 = ((arg1[6]) * x13);
+    x36 = ((arg1[5]) * x2);
+    x37 = ((arg1[5]) * (x5 * 0x2));
+    x38 = ((arg1[5]) * (x8 * 0x2));
+    x39 = ((arg1[5]) * x11);
+    x40 = ((arg1[5]) * (x14 * 0x2));
+    x41 = ((uint64_t)(arg1[5]) * ((arg1[5]) * 0x2));
+    x42 = ((arg1[4]) * (x2 * 0x2));
+    x43 = ((arg1[4]) * (x5 * 0x2));
+    x44 = ((arg1[4]) * (x8 * 0x2));
+    x45 = ((arg1[4]) * (x11 * 0x2));
+    x46 = ((uint64_t)(arg1[4]) * (x15 * 0x2));
+    x47 = ((uint64_t)(arg1[4]) * (x16 * 0x2));
+    x48 = ((uint64_t)(arg1[4]) * ((arg1[4]) * 0x2));
+    x49 = ((arg1[3]) * x2);
+    x50 = ((arg1[3]) * x5);
+    x51 = ((arg1[3]) * (x8 * 0x2));
+    x52 = ((uint64_t)(arg1[3]) * x12);
+    x53 = ((uint64_t)(arg1[3]) * x15);
+    x54 = ((uint64_t)(arg1[3]) * x16);
+    x55 = ((uint64_t)(arg1[3]) * (x17 * 0x2));
+    x56 = ((uint64_t)(arg1[3]) * (arg1[3]));
+    x57 = ((arg1[2]) * x2);
+    x58 = ((arg1[2]) * (x5 * 0x2));
+    x59 = ((uint64_t)(arg1[2]) * (x9 * 0x2));
+    x60 = ((uint64_t)(arg1[2]) * x12);
+    x61 = ((uint64_t)(arg1[2]) * x15);
+    x62 = ((uint64_t)(arg1[2]) * (x16 * 0x2));
+    x63 = ((uint64_t)(arg1[2]) * (x17 * 0x2));
+    x64 = ((uint64_t)(arg1[2]) * x18);
+    x65 = ((uint64_t)(arg1[2]) * (arg1[2]));
+    x66 = ((arg1[1]) * (x2 * 0x2));
+    x67 = ((uint64_t)(arg1[1]) * (x6 * 0x2));
+    x68 = ((uint64_t)(arg1[1]) * (x9 * 0x2));
+    x69 = ((uint64_t)(arg1[1]) * x12);
+    x70 = ((uint64_t)(arg1[1]) * (x15 * 0x2));
+    x71 = ((uint64_t)(arg1[1]) * (x16 * 0x2));
+    x72 = ((uint64_t)(arg1[1]) * (x17 * 0x2));
+    x73 = ((uint64_t)(arg1[1]) * x18);
+    x74 = ((uint64_t)(arg1[1]) * (x19 * 0x2));
+    x75 = ((uint64_t)(arg1[1]) * ((arg1[1]) * 0x2));
+    x76 = ((uint64_t)(arg1[0]) * x3);
+    x77 = ((uint64_t)(arg1[0]) * x6);
+    x78 = ((uint64_t)(arg1[0]) * x9);
+    x79 = ((uint64_t)(arg1[0]) * x12);
+    x80 = ((uint64_t)(arg1[0]) * x15);
+    x81 = ((uint64_t)(arg1[0]) * x16);
+    x82 = ((uint64_t)(arg1[0]) * x17);
+    x83 = ((uint64_t)(arg1[0]) * x18);
+    x84 = ((uint64_t)(arg1[0]) * x19);
+    x85 = ((uint64_t)(arg1[0]) * x20);
+    x86 = ((uint64_t)(arg1[0]) * (arg1[0]));
+    x87 = (x86 + (x66 + (x58 + (x51 + (x45 + x40)))));
+    x88 = (x87 >> 24);
+    x89 = (uint32_t)(x87 & UINT32_C(0xffffff));
+    x90 = (x76 + (x67 + (x59 + (x52 + (x46 + x41)))));
+    x91 = (x77 + (x68 + (x60 + (x53 + (x47 + x21)))));
+    x92 = (x78 + (x69 + (x61 + (x54 + (x48 + x22)))));
+    x93 = (x79 + (x70 + (x62 + (x55 + (x24 + x23)))));
+    x94 = (x80 + (x71 + (x63 + (x56 + (x27 + x25)))));
+    x95 = (x81 + (x72 + (x64 + (x31 + (x28 + x26)))));
+    x96 = (x82 + (x73 + (x65 + (x36 + (x32 + x29)))));
+    x97 = (x83 + (x74 + (x42 + (x37 + (x33 + x30)))));
+    x98 = (x84 + (x75 + (x49 + (x43 + (x38 + x34)))));
+    x99 = (x85 + (x57 + (x50 + (x44 + (x39 + x35)))));
+    x100 = (x88 + x99);
+    x101 = (x100 >> 23);
+    x102 = (uint32_t)(x100 & UINT32_C(0x7fffff));
+    x103 = (x101 + x98);
+    x104 = (x103 >> 23);
+    x105 = (uint32_t)(x103 & UINT32_C(0x7fffff));
+    x106 = (x104 + x97);
+    x107 = (x106 >> 24);
+    x108 = (uint32_t)(x106 & UINT32_C(0xffffff));
+    x109 = (x107 + x96);
+    x110 = (x109 >> 23);
+    x111 = (uint32_t)(x109 & UINT32_C(0x7fffff));
+    x112 = (x110 + x95);
+    x113 = (x112 >> 23);
+    x114 = (uint32_t)(x112 & UINT32_C(0x7fffff));
+    x115 = (x113 + x94);
+    x116 = (x115 >> 23);
+    x117 = (uint32_t)(x115 & UINT32_C(0x7fffff));
+    x118 = (x116 + x93);
+    x119 = (x118 >> 24);
+    x120 = (uint32_t)(x118 & UINT32_C(0xffffff));
+    x121 = (x119 + x92);
+    x122 = (x121 >> 23);
+    x123 = (uint32_t)(x121 & UINT32_C(0x7fffff));
+    x124 = (x122 + x91);
+    x125 = (x124 >> 23);
+    x126 = (uint32_t)(x124 & UINT32_C(0x7fffff));
+    x127 = (x125 + x90);
+    x128 = (uint32_t)(x127 >> 23);
+    x129 = (uint32_t)(x127 & UINT32_C(0x7fffff));
+    x130 = ((uint64_t)UINT16_C(0x269) * x128);
+    x131 = (x89 + x130);
+    x132 = (uint32_t)(x131 >> 24);
+    x133 = (uint32_t)(x131 & UINT32_C(0xffffff));
+    x134 = (x132 + x102);
+    x135 = (fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1)(x134 >> 23);
+    x136 = (x134 & UINT32_C(0x7fffff));
+    x137 = (x135 + x105);
+    out1[0] = x133;
+    out1[1] = x136;
+    out1[2] = x137;
+    out1[3] = x108;
+    out1[4] = x111;
+    out1[5] = x114;
+    out1[6] = x117;
+    out1[7] = x120;
+    out1[8] = x123;
+    out1[9] = x126;
+    out1[10] = x129;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry reduces a field element.
+ * Postconditions:
+ *   eval out1 mod m = eval arg1 mod m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry(
+    uint32_t out1[11], const uint32_t arg1[11]) {
+    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;
+    x1 = (arg1[0]);
+    x2 = ((x1 >> 24) + (arg1[1]));
+    x3 = ((x2 >> 23) + (arg1[2]));
+    x4 = ((x3 >> 23) + (arg1[3]));
+    x5 = ((x4 >> 24) + (arg1[4]));
+    x6 = ((x5 >> 23) + (arg1[5]));
+    x7 = ((x6 >> 23) + (arg1[6]));
+    x8 = ((x7 >> 23) + (arg1[7]));
+    x9 = ((x8 >> 24) + (arg1[8]));
+    x10 = ((x9 >> 23) + (arg1[9]));
+    x11 = ((x10 >> 23) + (arg1[10]));
+    x12 = ((x1 & UINT32_C(0xffffff)) + (UINT16_C(0x269) * (x11 >> 23)));
+    x13 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1)(x12 >> 24) +
+           (x2 & UINT32_C(0x7fffff)));
+    x14 = (x12 & UINT32_C(0xffffff));
+    x15 = (x13 & UINT32_C(0x7fffff));
+    x16 = ((fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1)(x13 >> 23) +
+           (x3 & UINT32_C(0x7fffff)));
+    x17 = (x4 & UINT32_C(0xffffff));
+    x18 = (x5 & UINT32_C(0x7fffff));
+    x19 = (x6 & UINT32_C(0x7fffff));
+    x20 = (x7 & UINT32_C(0x7fffff));
+    x21 = (x8 & UINT32_C(0xffffff));
+    x22 = (x9 & UINT32_C(0x7fffff));
+    x23 = (x10 & UINT32_C(0x7fffff));
+    x24 = (x11 & UINT32_C(0x7fffff));
+    out1[0] = x14;
+    out1[1] = x15;
+    out1[2] = x16;
+    out1[3] = x17;
+    out1[4] = x18;
+    out1[5] = x19;
+    out1[6] = x20;
+    out1[7] = x21;
+    out1[8] = x22;
+    out1[9] = x23;
+    out1[10] = x24;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_add adds two field elements.
+ * Postconditions:
+ *   eval out1 mod m = (eval arg1 + eval arg2) mod m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc]]
+ *   arg2: [[0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_add(
+    uint32_t out1[11], const uint32_t arg1[11], const uint32_t arg2[11]) {
+    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;
+    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]));
+    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;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_sub subtracts two field elements.
+ * Postconditions:
+ *   eval out1 mod m = (eval arg1 - eval arg2) mod m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc]]
+ *   arg2: [[0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_sub(
+    uint32_t out1[11], const uint32_t arg1[11], const uint32_t arg2[11]) {
+    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;
+    x1 = ((UINT32_C(0x1fffb2e) + (arg1[0])) - (arg2[0]));
+    x2 = ((UINT32_C(0xfffffe) + (arg1[1])) - (arg2[1]));
+    x3 = ((UINT32_C(0xfffffe) + (arg1[2])) - (arg2[2]));
+    x4 = ((UINT32_C(0x1fffffe) + (arg1[3])) - (arg2[3]));
+    x5 = ((UINT32_C(0xfffffe) + (arg1[4])) - (arg2[4]));
+    x6 = ((UINT32_C(0xfffffe) + (arg1[5])) - (arg2[5]));
+    x7 = ((UINT32_C(0xfffffe) + (arg1[6])) - (arg2[6]));
+    x8 = ((UINT32_C(0x1fffffe) + (arg1[7])) - (arg2[7]));
+    x9 = ((UINT32_C(0xfffffe) + (arg1[8])) - (arg2[8]));
+    x10 = ((UINT32_C(0xfffffe) + (arg1[9])) - (arg2[9]));
+    x11 = ((UINT32_C(0xfffffe) + (arg1[10])) - (arg2[10]));
+    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;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_opp negates a field element.
+ * Postconditions:
+ *   eval out1 mod m = -eval arg1 mod m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_opp(
+    uint32_t out1[11], const uint32_t arg1[11]) {
+    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;
+    x1 = (UINT32_C(0x1fffb2e) - (arg1[0]));
+    x2 = (UINT32_C(0xfffffe) - (arg1[1]));
+    x3 = (UINT32_C(0xfffffe) - (arg1[2]));
+    x4 = (UINT32_C(0x1fffffe) - (arg1[3]));
+    x5 = (UINT32_C(0xfffffe) - (arg1[4]));
+    x6 = (UINT32_C(0xfffffe) - (arg1[5]));
+    x7 = (UINT32_C(0xfffffe) - (arg1[6]));
+    x8 = (UINT32_C(0x1fffffe) - (arg1[7]));
+    x9 = (UINT32_C(0xfffffe) - (arg1[8]));
+    x10 = (UINT32_C(0xfffffe) - (arg1[9]));
+    x11 = (UINT32_C(0xfffffe) - (arg1[10]));
+    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;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_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]]
+ *   arg3: [[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]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(
+    uint32_t out1[11], fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 arg1,
+    const uint32_t arg2[11], const uint32_t arg3[11]) {
+    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;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_cmovznz_u32(
+        &x1, arg1, (arg2[0]), (arg3[0]));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_cmovznz_u32(
+        &x2, arg1, (arg2[1]), (arg3[1]));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_cmovznz_u32(
+        &x3, arg1, (arg2[2]), (arg3[2]));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_cmovznz_u32(
+        &x4, arg1, (arg2[3]), (arg3[3]));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_cmovznz_u32(
+        &x5, arg1, (arg2[4]), (arg3[4]));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_cmovznz_u32(
+        &x6, arg1, (arg2[5]), (arg3[5]));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_cmovznz_u32(
+        &x7, arg1, (arg2[6]), (arg3[6]));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_cmovznz_u32(
+        &x8, arg1, (arg2[7]), (arg3[7]));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_cmovznz_u32(
+        &x9, arg1, (arg2[8]), (arg3[8]));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_cmovznz_u32(
+        &x10, arg1, (arg2[9]), (arg3[9]));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_cmovznz_u32(
+        &x11, arg1, (arg2[10]), (arg3[10]));
+    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;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_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..31]
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc]]
+ * 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]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_to_bytes(
+    uint8_t out1[32], const uint32_t arg1[11]) {
+    uint32_t x1;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x2;
+    uint32_t x3;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x4;
+    uint32_t x5;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x6;
+    uint32_t x7;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x8;
+    uint32_t x9;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x10;
+    uint32_t x11;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x12;
+    uint32_t x13;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x14;
+    uint32_t x15;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x16;
+    uint32_t x17;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x18;
+    uint32_t x19;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x20;
+    uint32_t x21;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x22;
+    uint32_t x23;
+    uint32_t x24;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x25;
+    uint32_t x26;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x27;
+    uint32_t x28;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x29;
+    uint32_t x30;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x31;
+    uint32_t x32;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x33;
+    uint32_t x34;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x35;
+    uint32_t x36;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x37;
+    uint32_t x38;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x39;
+    uint32_t x40;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x41;
+    uint32_t x42;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x43;
+    uint32_t x44;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x45;
+    uint32_t x46;
+    uint32_t x47;
+    uint32_t x48;
+    uint32_t x49;
+    uint32_t x50;
+    uint32_t x51;
+    uint32_t x52;
+    uint32_t x53;
+    uint32_t x54;
+    uint32_t x55;
+    uint8_t x56;
+    uint8_t x57;
+    uint8_t x58;
+    uint8_t x59;
+    uint32_t x60;
+    uint8_t x61;
+    uint8_t x62;
+    uint8_t x63;
+    uint32_t x64;
+    uint32_t x65;
+    uint8_t x66;
+    uint32_t x67;
+    uint8_t x68;
+    uint8_t x69;
+    uint8_t x70;
+    uint32_t x71;
+    uint32_t x72;
+    uint8_t x73;
+    uint32_t x74;
+    uint8_t x75;
+    uint8_t x76;
+    uint8_t x77;
+    uint32_t x78;
+    uint32_t x79;
+    uint8_t x80;
+    uint32_t x81;
+    uint8_t x82;
+    uint8_t x83;
+    uint8_t x84;
+    uint32_t x85;
+    uint32_t x86;
+    uint8_t x87;
+    uint32_t x88;
+    uint8_t x89;
+    uint8_t x90;
+    uint8_t x91;
+    uint32_t x92;
+    uint32_t x93;
+    uint8_t x94;
+    uint32_t x95;
+    uint8_t x96;
+    uint8_t x97;
+    uint8_t x98;
+    uint32_t x99;
+    uint32_t x100;
+    uint8_t x101;
+    uint32_t x102;
+    uint8_t x103;
+    uint8_t x104;
+    uint8_t x105;
+    uint32_t x106;
+    uint32_t x107;
+    uint8_t x108;
+    uint32_t x109;
+    uint8_t x110;
+    uint8_t x111;
+    uint8_t x112;
+    uint32_t x113;
+    uint32_t x114;
+    uint8_t x115;
+    uint32_t x116;
+    uint8_t x117;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x118;
+    uint8_t x119;
+    uint32_t x120;
+    uint32_t x121;
+    uint8_t x122;
+    uint8_t x123;
+    uint8_t x124;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_subborrowx_u24(
+        &x1, &x2, 0x0, (arg1[0]), UINT32_C(0xfffd97));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_subborrowx_u23(
+        &x3, &x4, x2, (arg1[1]), UINT32_C(0x7fffff));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_subborrowx_u23(
+        &x5, &x6, x4, (arg1[2]), UINT32_C(0x7fffff));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_subborrowx_u24(
+        &x7, &x8, x6, (arg1[3]), UINT32_C(0xffffff));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_subborrowx_u23(
+        &x9, &x10, x8, (arg1[4]), UINT32_C(0x7fffff));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_subborrowx_u23(
+        &x11, &x12, x10, (arg1[5]), UINT32_C(0x7fffff));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_subborrowx_u23(
+        &x13, &x14, x12, (arg1[6]), UINT32_C(0x7fffff));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_subborrowx_u24(
+        &x15, &x16, x14, (arg1[7]), UINT32_C(0xffffff));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_subborrowx_u23(
+        &x17, &x18, x16, (arg1[8]), UINT32_C(0x7fffff));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_subborrowx_u23(
+        &x19, &x20, x18, (arg1[9]), UINT32_C(0x7fffff));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_subborrowx_u23(
+        &x21, &x22, x20, (arg1[10]), UINT32_C(0x7fffff));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_cmovznz_u32(
+        &x23, x22, 0x0, UINT32_C(0xffffffff));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_addcarryx_u24(
+        &x24, &x25, 0x0, x1, (x23 & UINT32_C(0xfffd97)));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_addcarryx_u23(
+        &x26, &x27, x25, x3, (x23 & UINT32_C(0x7fffff)));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_addcarryx_u23(
+        &x28, &x29, x27, x5, (x23 & UINT32_C(0x7fffff)));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_addcarryx_u24(
+        &x30, &x31, x29, x7, (x23 & UINT32_C(0xffffff)));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_addcarryx_u23(
+        &x32, &x33, x31, x9, (x23 & UINT32_C(0x7fffff)));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_addcarryx_u23(
+        &x34, &x35, x33, x11, (x23 & UINT32_C(0x7fffff)));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_addcarryx_u23(
+        &x36, &x37, x35, x13, (x23 & UINT32_C(0x7fffff)));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_addcarryx_u24(
+        &x38, &x39, x37, x15, (x23 & UINT32_C(0xffffff)));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_addcarryx_u23(
+        &x40, &x41, x39, x17, (x23 & UINT32_C(0x7fffff)));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_addcarryx_u23(
+        &x42, &x43, x41, x19, (x23 & UINT32_C(0x7fffff)));
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_addcarryx_u23(
+        &x44, &x45, x43, x21, (x23 & UINT32_C(0x7fffff)));
+    x46 = (x44 * (uint32_t)0x2);
+    x47 = (x42 << 2);
+    x48 = (x40 << 3);
+    x49 = (x38 << 3);
+    x50 = (x36 << 4);
+    x51 = (x34 << 5);
+    x52 = (x32 << 6);
+    x53 = (x30 << 6);
+    x54 = (x28 << 7);
+    x55 = (x24 >> 8);
+    x56 = (uint8_t)(x24 & UINT8_C(0xff));
+    x57 = (uint8_t)(x55 >> 8);
+    x58 = (uint8_t)(x55 & UINT8_C(0xff));
+    x59 = (uint8_t)(x57 & UINT8_C(0xff));
+    x60 = (x26 >> 8);
+    x61 = (uint8_t)(x26 & UINT8_C(0xff));
+    x62 = (uint8_t)(x60 >> 8);
+    x63 = (uint8_t)(x60 & UINT8_C(0xff));
+    x64 = (x62 + x54);
+    x65 = (x64 >> 8);
+    x66 = (uint8_t)(x64 & UINT8_C(0xff));
+    x67 = (x65 >> 8);
+    x68 = (uint8_t)(x65 & UINT8_C(0xff));
+    x69 = (uint8_t)(x67 >> 8);
+    x70 = (uint8_t)(x67 & UINT8_C(0xff));
+    x71 = (x69 + x53);
+    x72 = (x71 >> 8);
+    x73 = (uint8_t)(x71 & UINT8_C(0xff));
+    x74 = (x72 >> 8);
+    x75 = (uint8_t)(x72 & UINT8_C(0xff));
+    x76 = (uint8_t)(x74 >> 8);
+    x77 = (uint8_t)(x74 & UINT8_C(0xff));
+    x78 = (x76 + x52);
+    x79 = (x78 >> 8);
+    x80 = (uint8_t)(x78 & UINT8_C(0xff));
+    x81 = (x79 >> 8);
+    x82 = (uint8_t)(x79 & UINT8_C(0xff));
+    x83 = (uint8_t)(x81 >> 8);
+    x84 = (uint8_t)(x81 & UINT8_C(0xff));
+    x85 = (x83 + x51);
+    x86 = (x85 >> 8);
+    x87 = (uint8_t)(x85 & UINT8_C(0xff));
+    x88 = (x86 >> 8);
+    x89 = (uint8_t)(x86 & UINT8_C(0xff));
+    x90 = (uint8_t)(x88 >> 8);
+    x91 = (uint8_t)(x88 & UINT8_C(0xff));
+    x92 = (x90 + x50);
+    x93 = (x92 >> 8);
+    x94 = (uint8_t)(x92 & UINT8_C(0xff));
+    x95 = (x93 >> 8);
+    x96 = (uint8_t)(x93 & UINT8_C(0xff));
+    x97 = (uint8_t)(x95 >> 8);
+    x98 = (uint8_t)(x95 & UINT8_C(0xff));
+    x99 = (x97 + x49);
+    x100 = (x99 >> 8);
+    x101 = (uint8_t)(x99 & UINT8_C(0xff));
+    x102 = (x100 >> 8);
+    x103 = (uint8_t)(x100 & UINT8_C(0xff));
+    x104 = (uint8_t)(x102 >> 8);
+    x105 = (uint8_t)(x102 & UINT8_C(0xff));
+    x106 = (x104 + x48);
+    x107 = (x106 >> 8);
+    x108 = (uint8_t)(x106 & UINT8_C(0xff));
+    x109 = (x107 >> 8);
+    x110 = (uint8_t)(x107 & UINT8_C(0xff));
+    x111 = (uint8_t)(x109 >> 8);
+    x112 = (uint8_t)(x109 & UINT8_C(0xff));
+    x113 = (x111 + x47);
+    x114 = (x113 >> 8);
+    x115 = (uint8_t)(x113 & UINT8_C(0xff));
+    x116 = (x114 >> 8);
+    x117 = (uint8_t)(x114 & UINT8_C(0xff));
+    x118 = (fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1)(x116 >> 8);
+    x119 = (uint8_t)(x116 & UINT8_C(0xff));
+    x120 = (x118 + x46);
+    x121 = (x120 >> 8);
+    x122 = (uint8_t)(x120 & UINT8_C(0xff));
+    x123 = (uint8_t)(x121 >> 8);
+    x124 = (uint8_t)(x121 & UINT8_C(0xff));
+    out1[0] = x56;
+    out1[1] = x58;
+    out1[2] = x59;
+    out1[3] = x61;
+    out1[4] = x63;
+    out1[5] = x66;
+    out1[6] = x68;
+    out1[7] = x70;
+    out1[8] = x73;
+    out1[9] = x75;
+    out1[10] = x77;
+    out1[11] = x80;
+    out1[12] = x82;
+    out1[13] = x84;
+    out1[14] = x87;
+    out1[15] = x89;
+    out1[16] = x91;
+    out1[17] = x94;
+    out1[18] = x96;
+    out1[19] = x98;
+    out1[20] = x101;
+    out1[21] = x103;
+    out1[22] = x105;
+    out1[23] = x108;
+    out1[24] = x110;
+    out1[25] = x112;
+    out1[26] = x115;
+    out1[27] = x117;
+    out1[28] = x119;
+    out1[29] = x122;
+    out1[30] = x124;
+    out1[31] = x123;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_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]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_from_bytes(
+    uint32_t out1[11], const uint8_t arg1[32]) {
+    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;
+    uint8_t x29;
+    uint32_t x30;
+    uint32_t x31;
+    uint8_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;
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1 x45;
+    uint32_t x46;
+    uint32_t x47;
+    uint8_t x48;
+    uint32_t x49;
+    uint32_t x50;
+    uint8_t x51;
+    uint32_t x52;
+    uint32_t x53;
+    uint8_t x54;
+    uint32_t x55;
+    uint32_t x56;
+    uint8_t x57;
+    uint32_t x58;
+    uint32_t x59;
+    uint8_t x60;
+    uint32_t x61;
+    uint32_t x62;
+    uint8_t x63;
+    uint32_t x64;
+    uint32_t x65;
+    uint8_t x66;
+    uint32_t x67;
+    uint32_t x68;
+    uint8_t x69;
+    uint32_t x70;
+    uint32_t x71;
+    x1 = ((uint32_t)(arg1[31]) << 15);
+    x2 = ((uint32_t)(arg1[30]) << 7);
+    x3 = ((uint32_t)(arg1[29]) << 22);
+    x4 = ((uint32_t)(arg1[28]) << 14);
+    x5 = ((uint32_t)(arg1[27]) << 6);
+    x6 = ((uint32_t)(arg1[26]) << 21);
+    x7 = ((uint32_t)(arg1[25]) << 13);
+    x8 = ((uint32_t)(arg1[24]) << 5);
+    x9 = ((uint32_t)(arg1[23]) << 21);
+    x10 = ((uint32_t)(arg1[22]) << 13);
+    x11 = ((uint32_t)(arg1[21]) << 5);
+    x12 = ((uint32_t)(arg1[20]) << 20);
+    x13 = ((uint32_t)(arg1[19]) << 12);
+    x14 = ((uint32_t)(arg1[18]) << 4);
+    x15 = ((uint32_t)(arg1[17]) << 19);
+    x16 = ((uint32_t)(arg1[16]) << 11);
+    x17 = ((uint32_t)(arg1[15]) << 3);
+    x18 = ((uint32_t)(arg1[14]) << 18);
+    x19 = ((uint32_t)(arg1[13]) << 10);
+    x20 = ((uint32_t)(arg1[12]) << 2);
+    x21 = ((uint32_t)(arg1[11]) << 18);
+    x22 = ((uint32_t)(arg1[10]) << 10);
+    x23 = ((uint32_t)(arg1[9]) << 2);
+    x24 = ((uint32_t)(arg1[8]) << 17);
+    x25 = ((uint32_t)(arg1[7]) << 9);
+    x26 = ((uint32_t)(arg1[6]) * 0x2);
+    x27 = ((uint32_t)(arg1[5]) << 16);
+    x28 = ((uint32_t)(arg1[4]) << 8);
+    x29 = (arg1[3]);
+    x30 = ((uint32_t)(arg1[2]) << 16);
+    x31 = ((uint32_t)(arg1[1]) << 8);
+    x32 = (arg1[0]);
+    x33 = (x32 + (x31 + x30));
+    x34 = (x33 & UINT32_C(0xffffff));
+    x35 = (x2 + x1);
+    x36 = (x5 + (x4 + x3));
+    x37 = (x8 + (x7 + x6));
+    x38 = (x11 + (x10 + x9));
+    x39 = (x14 + (x13 + x12));
+    x40 = (x17 + (x16 + x15));
+    x41 = (x20 + (x19 + x18));
+    x42 = (x23 + (x22 + x21));
+    x43 = (x26 + (x25 + x24));
+    x44 = (x29 + (x28 + x27));
+    x45 = (fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_uint1)(x44 >> 23);
+    x46 = (x44 & UINT32_C(0x7fffff));
+    x47 = (x45 + x43);
+    x48 = (uint8_t)(x47 >> 23);
+    x49 = (x47 & UINT32_C(0x7fffff));
+    x50 = (x48 + x42);
+    x51 = (uint8_t)(x50 >> 24);
+    x52 = (x50 & UINT32_C(0xffffff));
+    x53 = (x51 + x41);
+    x54 = (uint8_t)(x53 >> 23);
+    x55 = (x53 & UINT32_C(0x7fffff));
+    x56 = (x54 + x40);
+    x57 = (uint8_t)(x56 >> 23);
+    x58 = (x56 & UINT32_C(0x7fffff));
+    x59 = (x57 + x39);
+    x60 = (uint8_t)(x59 >> 23);
+    x61 = (x59 & UINT32_C(0x7fffff));
+    x62 = (x60 + x38);
+    x63 = (uint8_t)(x62 >> 24);
+    x64 = (x62 & UINT32_C(0xffffff));
+    x65 = (x63 + x37);
+    x66 = (uint8_t)(x65 >> 23);
+    x67 = (x65 & UINT32_C(0x7fffff));
+    x68 = (x66 + x36);
+    x69 = (uint8_t)(x68 >> 23);
+    x70 = (x68 & UINT32_C(0x7fffff));
+    x71 = (x69 + x35);
+    out1[0] = x34;
+    out1[1] = x46;
+    out1[2] = x49;
+    out1[3] = x52;
+    out1[4] = x55;
+    out1[5] = x58;
+    out1[6] = x61;
+    out1[7] = x64;
+    out1[8] = x67;
+    out1[9] = x70;
+    out1[10] = x71;
+}
+
+/* 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_GostR3410_2001_CryptoPro_A_ParamSet/fe_inv.op3
+ * custom repunit addition chain
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_inv(fe_t output,
+                                                            const fe_t t1) {
+    int i;
+    /* temporary variables */
+    fe_t acc, t16, t164, t2, t246, t32, t4, t64, t8, t80, t82;
+
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, t1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t2, acc, t1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t4, acc, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, t4);
+    for (i = 0; i < 3; i++)
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t8, acc, t4);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, t8);
+    for (i = 0; i < 7; i++)
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t16, acc, t8);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, t16);
+    for (i = 0; i < 15; i++)
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t32, acc, t16);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, t32);
+    for (i = 0; i < 31; i++)
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t64, acc, t32);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, t64);
+    for (i = 0; i < 15; i++)
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t80, acc, t16);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, t80);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t82, acc, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, t82);
+    for (i = 0; i < 81; i++)
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t164, acc, t82);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, t164);
+    for (i = 0; i < 81; i++)
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t246, acc, t82);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, t246);
+    for (i = 0; i < 2; i++)
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(acc, acc, t2);
+    for (i = 0; i < 3; i++)
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(acc, acc, t1);
+    for (i = 0; i < 2; i++)
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(acc, acc, t1);
+    for (i = 0; i < 2; i++)
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(output, acc, t1);
+}
+
+/* curve coefficient constants */
+
+static const limb_t const_one[11] = {
+    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)};
+
+static const limb_t const_b[11] = {
+    UINT32_C(0x000000A6), 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)};
+
+/* LUT for scalar multiplication by comb interleaving */
+static const pt_aff_t lut_cmb[19][16] = {
+    {
+        {{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(0x009F1E14), UINT32_C(0x00499C9E), UINT32_C(0x00624559),
+          UINT32_C(0x007C8F8E), UINT32_C(0x00253CB7), UINT32_C(0x005BB1A9),
+          UINT32_C(0x002453F2), UINT32_C(0x00FBEA0B), UINT32_C(0x00139B44),
+          UINT32_C(0x001C7826), UINT32_C(0x0046C8F2)}},
+        {{UINT32_C(0x00E38D2C), UINT32_C(0x00638E38), UINT32_C(0x00471C71),
+          UINT32_C(0x008E38E3), UINT32_C(0x000E38E3), UINT32_C(0x001C71C7),
+          UINT32_C(0x0038E38E), UINT32_C(0x0071C71C), UINT32_C(0x0071C71C),
+          UINT32_C(0x00638E38), UINT32_C(0x00471C71)},
+         {UINT32_C(0x00788A51), UINT32_C(0x0017796B), UINT32_C(0x005090C2),
+          UINT32_C(0x000E1DA3), UINT32_C(0x001EA532), UINT32_C(0x006C1093),
+          UINT32_C(0x00507A6C), UINT32_C(0x009B375E), UINT32_C(0x0076083A),
+          UINT32_C(0x0072A688), UINT32_C(0x003B5E68)}},
+        {{UINT32_C(0x0072C029), UINT32_C(0x001C3871), UINT32_C(0x006DE040),
+          UINT32_C(0x00E6D223), UINT32_C(0x0035AD09), UINT32_C(0x0078D2C5),
+          UINT32_C(0x004B6782), UINT32_C(0x006D32D1), UINT32_C(0x001D2C78),
+          UINT32_C(0x000F861E), UINT32_C(0x00483B00)},
+         {UINT32_C(0x008D7CC0), UINT32_C(0x00023B06), UINT32_C(0x0030EC69),
+          UINT32_C(0x00FF4DED), UINT32_C(0x002EE231), UINT32_C(0x006412C7),
+          UINT32_C(0x005AF3F6), UINT32_C(0x00435452), UINT32_C(0x0004E9C3),
+          UINT32_C(0x006B9475), UINT32_C(0x00484B93)}},
+        {{UINT32_C(0x00196EE1), UINT32_C(0x006A01E4), UINT32_C(0x00652F51),
+          UINT32_C(0x00416FD6), UINT32_C(0x005EBCD2), UINT32_C(0x0071846F),
+          UINT32_C(0x0036FA23), UINT32_C(0x00D73EBD), UINT32_C(0x00180C14),
+          UINT32_C(0x00653358), UINT32_C(0x0017EEC8)},
+         {UINT32_C(0x000125FB), UINT32_C(0x00410C4D), UINT32_C(0x0074C481),
+          UINT32_C(0x002A7CFC), UINT32_C(0x0065AC08), UINT32_C(0x000F3BD1),
+          UINT32_C(0x004A5388), UINT32_C(0x00B7149E), UINT32_C(0x00085C10),
+          UINT32_C(0x0054C612), UINT32_C(0x000E3FA5)}},
+        {{UINT32_C(0x005ECDA3), UINT32_C(0x00246227), UINT32_C(0x0016E04F),
+          UINT32_C(0x0005C37F), UINT32_C(0x00442C63), UINT32_C(0x001D5B95),
+          UINT32_C(0x0057520F), UINT32_C(0x00792514), UINT32_C(0x003FB8FA),
+          UINT32_C(0x0037B8D0), UINT32_C(0x005B7CB0)},
+         {UINT32_C(0x005ED26A), UINT32_C(0x0028AD39), UINT32_C(0x004E2D06),
+          UINT32_C(0x00BDC2A3), UINT32_C(0x0052BE72), UINT32_C(0x002F9991),
+          UINT32_C(0x0019C7FC), UINT32_C(0x00209BD7), UINT32_C(0x007BF20C),
+          UINT32_C(0x005196B4), UINT32_C(0x0069DFB4)}},
+        {{UINT32_C(0x00834086), UINT32_C(0x002F3D1A), UINT32_C(0x007690A4),
+          UINT32_C(0x00B28D88), UINT32_C(0x0022B907), UINT32_C(0x0025F98C),
+          UINT32_C(0x0023F3A1), UINT32_C(0x00E2E9F9), UINT32_C(0x003A0364),
+          UINT32_C(0x00613CE7), UINT32_C(0x0031EE39)},
+         {UINT32_C(0x00C2FF84), UINT32_C(0x003F08BB), UINT32_C(0x0016B10A),
+          UINT32_C(0x001D9E58), UINT32_C(0x001AA31A), UINT32_C(0x0016B57C),
+          UINT32_C(0x002724AF), UINT32_C(0x001CEDB4), UINT32_C(0x000F8812),
+          UINT32_C(0x0014C068), UINT32_C(0x0064070B)}},
+        {{UINT32_C(0x00BBCCCD), UINT32_C(0x002E8F3C), UINT32_C(0x0054B6AC),
+          UINT32_C(0x00FD3BBE), UINT32_C(0x0013312F), UINT32_C(0x006A114E),
+          UINT32_C(0x000F7610), UINT32_C(0x00A85A6C), UINT32_C(0x0073D230),
+          UINT32_C(0x001AE5A6), UINT32_C(0x0028C30C)},
+         {UINT32_C(0x00C26CB2), UINT32_C(0x006BBD29), UINT32_C(0x0024F433),
+          UINT32_C(0x00BE725E), UINT32_C(0x001ECBEE), UINT32_C(0x00646D3C),
+          UINT32_C(0x0015C789), UINT32_C(0x00B07720), UINT32_C(0x0030D220),
+          UINT32_C(0x0045843E), UINT32_C(0x001EADEA)}},
+        {{UINT32_C(0x007C58E2), UINT32_C(0x0052800F), UINT32_C(0x002F9F17),
+          UINT32_C(0x0083F230), UINT32_C(0x004207AA), UINT32_C(0x004B8493),
+          UINT32_C(0x0033495B), UINT32_C(0x001061BD), UINT32_C(0x0057D115),
+          UINT32_C(0x005F83CA), UINT32_C(0x0051583F)},
+         {UINT32_C(0x00B12811), UINT32_C(0x00705E55), UINT32_C(0x0048A034),
+          UINT32_C(0x00C9201A), UINT32_C(0x0060E5DF), UINT32_C(0x006C7FE0),
+          UINT32_C(0x00500B66), UINT32_C(0x00A91FBD), UINT32_C(0x001CFF16),
+          UINT32_C(0x0066C372), UINT32_C(0x0002B561)}},
+        {{UINT32_C(0x0039A634), UINT32_C(0x0050548C), UINT32_C(0x005CFE7B),
+          UINT32_C(0x00723488), UINT32_C(0x006CDBF9), UINT32_C(0x006D4A7E),
+          UINT32_C(0x00107BD7), UINT32_C(0x00D87870), UINT32_C(0x006FFF35),
+          UINT32_C(0x0047470D), UINT32_C(0x001D44AD)},
+         {UINT32_C(0x0051071C), UINT32_C(0x0000FACA), UINT32_C(0x004AB290),
+          UINT32_C(0x00D72DA0), UINT32_C(0x000E946D), UINT32_C(0x00154920),
+          UINT32_C(0x000DE920), UINT32_C(0x002CCC50), UINT32_C(0x0078FF60),
+          UINT32_C(0x0076A2F6), UINT32_C(0x00418509)}},
+        {{UINT32_C(0x00EF5595), UINT32_C(0x00116786), UINT32_C(0x00615EC8),
+          UINT32_C(0x00727C29), UINT32_C(0x0021D6BF), UINT32_C(0x00727880),
+          UINT32_C(0x0025C9C9), UINT32_C(0x0031B0B0), UINT32_C(0x002CACE7),
+          UINT32_C(0x003C8E5C), UINT32_C(0x002C31D8)},
+         {UINT32_C(0x00328440), UINT32_C(0x00485469), UINT32_C(0x006AE670),
+          UINT32_C(0x006EE53F), UINT32_C(0x00299C43), UINT32_C(0x0005AD41),
+          UINT32_C(0x000D8C3F), UINT32_C(0x00072A91), UINT32_C(0x0067D0E1),
+          UINT32_C(0x004B76E9), UINT32_C(0x0074B00D)}},
+        {{UINT32_C(0x00041497), UINT32_C(0x001E11C9), UINT32_C(0x001A4504),
+          UINT32_C(0x002A7919), UINT32_C(0x00074B21), UINT32_C(0x004FA67F),
+          UINT32_C(0x0004DC6B), UINT32_C(0x00F2C95C), UINT32_C(0x0039BDCC),
+          UINT32_C(0x007A64EC), UINT32_C(0x005F3E5D)},
+         {UINT32_C(0x009C53EC), UINT32_C(0x0069BDE1), UINT32_C(0x007E0626),
+          UINT32_C(0x0042ED13), UINT32_C(0x0062AFB2), UINT32_C(0x0031E908),
+          UINT32_C(0x003C5398), UINT32_C(0x006BE167), UINT32_C(0x0002399E),
+          UINT32_C(0x00210E43), UINT32_C(0x0001779F)}},
+        {{UINT32_C(0x00C84A66), UINT32_C(0x00444B2F), UINT32_C(0x000108CC),
+          UINT32_C(0x0036EEF4), UINT32_C(0x00681F17), UINT32_C(0x00165962),
+          UINT32_C(0x004C1DBC), UINT32_C(0x003AFD47), UINT32_C(0x003B7CE0),
+          UINT32_C(0x0037AD5F), UINT32_C(0x004C55A7)},
+         {UINT32_C(0x00C53CD0), UINT32_C(0x002E065E), UINT32_C(0x0002B7D3),
+          UINT32_C(0x00A10201), UINT32_C(0x00174A99), UINT32_C(0x00365939),
+          UINT32_C(0x001F2D54), UINT32_C(0x000806C0), UINT32_C(0x0039185C),
+          UINT32_C(0x00001C4B), UINT32_C(0x00415674)}},
+        {{UINT32_C(0x008B07C5), UINT32_C(0x007D1002), UINT32_C(0x0012AE3E),
+          UINT32_C(0x002C420C), UINT32_C(0x00470873), UINT32_C(0x00339263),
+          UINT32_C(0x006C2C6C), UINT32_C(0x002D1BB6), UINT32_C(0x0072A553),
+          UINT32_C(0x00306BCE), UINT32_C(0x0007F4C6)},
+         {UINT32_C(0x00B6438D), UINT32_C(0x007278A9), UINT32_C(0x0076463F),
+          UINT32_C(0x00D03F8A), UINT32_C(0x00332938), UINT32_C(0x001C7585),
+          UINT32_C(0x000874CF), UINT32_C(0x00CEDF11), UINT32_C(0x00432AA3),
+          UINT32_C(0x0059DEAB), UINT32_C(0x005C130A)}},
+        {{UINT32_C(0x00B53E9C), UINT32_C(0x006388B4), UINT32_C(0x000428F8),
+          UINT32_C(0x0008A18A), UINT32_C(0x000EB210), UINT32_C(0x003361E6),
+          UINT32_C(0x0006528B), UINT32_C(0x00A1AD62), UINT32_C(0x005BD8BC),
+          UINT32_C(0x000D44E3), UINT32_C(0x0018CEE3)},
+         {UINT32_C(0x00EC3379), UINT32_C(0x002B9AD0), UINT32_C(0x003D2CC1),
+          UINT32_C(0x00A04547), UINT32_C(0x00600394), UINT32_C(0x00240EC9),
+          UINT32_C(0x000CF8E5), UINT32_C(0x00DE5CA1), UINT32_C(0x00107147),
+          UINT32_C(0x003B518C), UINT32_C(0x0060976D)}},
+        {{UINT32_C(0x00685C39), UINT32_C(0x00577EB1), UINT32_C(0x002AA0AD),
+          UINT32_C(0x00E3B804), UINT32_C(0x003082F3), UINT32_C(0x002C92AC),
+          UINT32_C(0x00207C69), UINT32_C(0x00658635), UINT32_C(0x00670DA3),
+          UINT32_C(0x0006A6A4), UINT32_C(0x002AF849)},
+         {UINT32_C(0x0005760A), UINT32_C(0x006E3A33), UINT32_C(0x00629DCA),
+          UINT32_C(0x00D8388A), UINT32_C(0x007C1F0E), UINT32_C(0x00121173),
+          UINT32_C(0x002A0106), UINT32_C(0x00607836), UINT32_C(0x0071EB45),
+          UINT32_C(0x00749724), UINT32_C(0x00722A37)}},
+        {{UINT32_C(0x00DB7020), UINT32_C(0x005F6FEC), UINT32_C(0x0001C894),
+          UINT32_C(0x00D0F9D5), UINT32_C(0x0045FD0A), UINT32_C(0x002C8167),
+          UINT32_C(0x000995E9), UINT32_C(0x00C5F645), UINT32_C(0x002318F0),
+          UINT32_C(0x0077F38B), UINT32_C(0x00580E22)},
+         {UINT32_C(0x003C5516), UINT32_C(0x00035DF1), UINT32_C(0x00592BC6),
+          UINT32_C(0x00A625DD), UINT32_C(0x002295A0), UINT32_C(0x0060337A),
+          UINT32_C(0x0021824B), UINT32_C(0x00C51AB1), UINT32_C(0x0014C123),
+          UINT32_C(0x007703F3), UINT32_C(0x002945A3)}},
+    },
+    {
+        {{UINT32_C(0x0015A14B), UINT32_C(0x002339F9), UINT32_C(0x005304AB),
+          UINT32_C(0x0075CCEE), UINT32_C(0x00194DC5), UINT32_C(0x004A8A9E),
+          UINT32_C(0x0046D1D2), UINT32_C(0x0075C952), UINT32_C(0x007ED8B2),
+          UINT32_C(0x00058732), UINT32_C(0x0045D9A3)},
+         {UINT32_C(0x00E6BE0F), UINT32_C(0x005D23F0), UINT32_C(0x005D9FF5),
+          UINT32_C(0x00C7E802), UINT32_C(0x0010C909), UINT32_C(0x00207ED0),
+          UINT32_C(0x0066F794), UINT32_C(0x00D9AFE4), UINT32_C(0x007DA500),
+          UINT32_C(0x007B21FF), UINT32_C(0x0058D1D8)}},
+        {{UINT32_C(0x007DD1B7), UINT32_C(0x000A4C87), UINT32_C(0x005506F4),
+          UINT32_C(0x00D63219), UINT32_C(0x00657A0A), UINT32_C(0x007F79A5),
+          UINT32_C(0x003CA588), UINT32_C(0x00FF7B22), UINT32_C(0x002E92EA),
+          UINT32_C(0x0030699F), UINT32_C(0x0028801D)},
+         {UINT32_C(0x00171DE8), UINT32_C(0x0074AA40), UINT32_C(0x00776396),
+          UINT32_C(0x000B6039), UINT32_C(0x00477A52), UINT32_C(0x00552FC4),
+          UINT32_C(0x004CB63D), UINT32_C(0x001F4555), UINT32_C(0x00762774),
+          UINT32_C(0x00404FD4), UINT32_C(0x001F0E12)}},
+        {{UINT32_C(0x002131C9), UINT32_C(0x006A9CFB), UINT32_C(0x0023C4EC),
+          UINT32_C(0x00E6D39F), UINT32_C(0x00185E55), UINT32_C(0x0032F173),
+          UINT32_C(0x005E6019), UINT32_C(0x00A7E72E), UINT32_C(0x006D091C),
+          UINT32_C(0x002967FD), UINT32_C(0x002B5D44)},
+         {UINT32_C(0x00C01BA9), UINT32_C(0x0024C542), UINT32_C(0x00765B4D),
+          UINT32_C(0x0061291A), UINT32_C(0x0020B694), UINT32_C(0x0012B204),
+          UINT32_C(0x006C029A), UINT32_C(0x00880C16), UINT32_C(0x00087D31),
+          UINT32_C(0x0013494A), UINT32_C(0x0005AC30)}},
+        {{UINT32_C(0x00248E22), UINT32_C(0x001D20E0), UINT32_C(0x007970A3),
+          UINT32_C(0x008D530E), UINT32_C(0x0069D972), UINT32_C(0x0036B6B2),
+          UINT32_C(0x0023944A), UINT32_C(0x009283D0), UINT32_C(0x00413B7A),
+          UINT32_C(0x0026DA72), UINT32_C(0x0061243F)},
+         {UINT32_C(0x008FAB34), UINT32_C(0x005F4AF0), UINT32_C(0x0019759F),
+          UINT32_C(0x0041583F), UINT32_C(0x00723D0D), UINT32_C(0x0049EF5D),
+          UINT32_C(0x0037ED96), UINT32_C(0x00D94167), UINT32_C(0x0025C5F0),
+          UINT32_C(0x0054670B), UINT32_C(0x00645850)}},
+        {{UINT32_C(0x0078486C), UINT32_C(0x0068A7C1), UINT32_C(0x004E518A),
+          UINT32_C(0x00B42004), UINT32_C(0x0057227C), UINT32_C(0x00378DB2),
+          UINT32_C(0x006EC201), UINT32_C(0x006E95D7), UINT32_C(0x003784DB),
+          UINT32_C(0x000913EC), UINT32_C(0x0068F117)},
+         {UINT32_C(0x0089EA5B), UINT32_C(0x000279A8), UINT32_C(0x001FE8CD),
+          UINT32_C(0x00BDCFEF), UINT32_C(0x0029CFB8), UINT32_C(0x00609772),
+          UINT32_C(0x001D36D2), UINT32_C(0x00BC3D3D), UINT32_C(0x001D2878),
+          UINT32_C(0x001A10E1), UINT32_C(0x00010462)}},
+        {{UINT32_C(0x00B52308), UINT32_C(0x004A1DF4), UINT32_C(0x0079CB16),
+          UINT32_C(0x00DC0E0E), UINT32_C(0x003932DF), UINT32_C(0x005103E4),
+          UINT32_C(0x0029ADA5), UINT32_C(0x007319A2), UINT32_C(0x00426FF0),
+          UINT32_C(0x00588A4E), UINT32_C(0x003F78AD)},
+         {UINT32_C(0x00F1B775), UINT32_C(0x006E5A5C), UINT32_C(0x00219FCB),
+          UINT32_C(0x0008CA19), UINT32_C(0x001D9BBA), UINT32_C(0x0075F3B0),
+          UINT32_C(0x0078E9ED), UINT32_C(0x00009E41), UINT32_C(0x003356B2),
+          UINT32_C(0x002C0425), UINT32_C(0x003BAECE)}},
+        {{UINT32_C(0x00FD3BB1), UINT32_C(0x00535E55), UINT32_C(0x0009A346),
+          UINT32_C(0x00A8E2F4), UINT32_C(0x006F6486), UINT32_C(0x0071D282),
+          UINT32_C(0x003A985D), UINT32_C(0x00A34D18), UINT32_C(0x00606B28),
+          UINT32_C(0x00009AEC), UINT32_C(0x002BEEBF)},
+         {UINT32_C(0x003780DD), UINT32_C(0x00647EA6), UINT32_C(0x0047B1F7),
+          UINT32_C(0x00598C39), UINT32_C(0x003BFDE6), UINT32_C(0x006C0B48),
+          UINT32_C(0x00121EB8), UINT32_C(0x0085DBF8), UINT32_C(0x006F9773),
+          UINT32_C(0x001528FB), UINT32_C(0x0003A0C5)}},
+        {{UINT32_C(0x0094B350), UINT32_C(0x00522DB1), UINT32_C(0x00058D9C),
+          UINT32_C(0x008A9662), UINT32_C(0x002E184D), UINT32_C(0x007814B1),
+          UINT32_C(0x00036D84), UINT32_C(0x00594040), UINT32_C(0x00716935),
+          UINT32_C(0x0018DEEE), UINT32_C(0x001E2219)},
+         {UINT32_C(0x0006F259), UINT32_C(0x00772E6A), UINT32_C(0x00246188),
+          UINT32_C(0x001EC5E7), UINT32_C(0x002939F4), UINT32_C(0x000FF055),
+          UINT32_C(0x001978F0), UINT32_C(0x003F6DAF), UINT32_C(0x000A7BBD),
+          UINT32_C(0x001A6FAF), UINT32_C(0x00510C0C)}},
+        {{UINT32_C(0x0048904F), UINT32_C(0x007224FF), UINT32_C(0x0065BAA9),
+          UINT32_C(0x000D3551), UINT32_C(0x004DA721), UINT32_C(0x0039A0B4),
+          UINT32_C(0x002BE76F), UINT32_C(0x009B9E20), UINT32_C(0x002504DD),
+          UINT32_C(0x006944BD), UINT32_C(0x0024DAA1)},
+         {UINT32_C(0x00542F7C), UINT32_C(0x001D4977), UINT32_C(0x001576A4),
+          UINT32_C(0x006672BC), UINT32_C(0x0007DBD1), UINT32_C(0x00220087),
+          UINT32_C(0x0044AC5F), UINT32_C(0x00E1DAAD), UINT32_C(0x00221046),
+          UINT32_C(0x0042A0F3), UINT32_C(0x0052C47E)}},
+        {{UINT32_C(0x00AA4EC9), UINT32_C(0x000C5256), UINT32_C(0x001D2108),
+          UINT32_C(0x007E3C18), UINT32_C(0x0057CD05), UINT32_C(0x006A2DDB),
+          UINT32_C(0x0070D402), UINT32_C(0x0046F4C8), UINT32_C(0x0070C39D),
+          UINT32_C(0x0002BCDE), UINT32_C(0x00386C4A)},
+         {UINT32_C(0x00596D94), UINT32_C(0x007774AE), UINT32_C(0x0033D8A2),
+          UINT32_C(0x00B48B39), UINT32_C(0x0055B5DB), UINT32_C(0x004A739E),
+          UINT32_C(0x00601AF6), UINT32_C(0x0017C86B), UINT32_C(0x0033581B),
+          UINT32_C(0x0013A82F), UINT32_C(0x002F7045)}},
+        {{UINT32_C(0x00EA0CB5), UINT32_C(0x004F13CE), UINT32_C(0x006F865F),
+          UINT32_C(0x00C4AAF7), UINT32_C(0x00456660), UINT32_C(0x00600B98),
+          UINT32_C(0x0079C3AB), UINT32_C(0x0027D7D2), UINT32_C(0x0026486E),
+          UINT32_C(0x0008FEAF), UINT32_C(0x002F5742)},
+         {UINT32_C(0x00B8102B), UINT32_C(0x0060FD3D), UINT32_C(0x002D073F),
+          UINT32_C(0x0039E77D), UINT32_C(0x002DC294), UINT32_C(0x00151AB7),
+          UINT32_C(0x001413CF), UINT32_C(0x003AAF36), UINT32_C(0x0034A2D1),
+          UINT32_C(0x002844E0), UINT32_C(0x001190CE)}},
+        {{UINT32_C(0x00ED50BF), UINT32_C(0x003D775D), UINT32_C(0x00533D3C),
+          UINT32_C(0x004B2DDC), UINT32_C(0x00762EB4), UINT32_C(0x0060B90F),
+          UINT32_C(0x003045DA), UINT32_C(0x0095C306), UINT32_C(0x0044062C),
+          UINT32_C(0x004DB392), UINT32_C(0x00658071)},
+         {UINT32_C(0x0030AE7B), UINT32_C(0x007AE99B), UINT32_C(0x006CD461),
+          UINT32_C(0x00CDBC52), UINT32_C(0x007E2103), UINT32_C(0x0019AC77),
+          UINT32_C(0x005D4D8D), UINT32_C(0x00BFC271), UINT32_C(0x0037F336),
+          UINT32_C(0x0060EDFB), UINT32_C(0x00247DD6)}},
+        {{UINT32_C(0x0016BAED), UINT32_C(0x00616D44), UINT32_C(0x004BF21B),
+          UINT32_C(0x0096D55E), UINT32_C(0x000125FC), UINT32_C(0x0065EA64),
+          UINT32_C(0x006B4BA0), UINT32_C(0x0058D872), UINT32_C(0x0047273B),
+          UINT32_C(0x00413B44), UINT32_C(0x007C3B0A)},
+         {UINT32_C(0x0053BB34), UINT32_C(0x0073F0D7), UINT32_C(0x000E175F),
+          UINT32_C(0x001C2578), UINT32_C(0x007D3B2F), UINT32_C(0x0012C2C4),
+          UINT32_C(0x00706D71), UINT32_C(0x00C9BC8D), UINT32_C(0x00499E9A),
+          UINT32_C(0x00531428), UINT32_C(0x004A5C64)}},
+        {{UINT32_C(0x0037863B), UINT32_C(0x0079BA1D), UINT32_C(0x001CF74C),
+          UINT32_C(0x0022EB4F), UINT32_C(0x0039A1FA), UINT32_C(0x005AFECB),
+          UINT32_C(0x0001FF42), UINT32_C(0x009EBF05), UINT32_C(0x003094C5),
+          UINT32_C(0x003DA3F3), UINT32_C(0x00648DA8)},
+         {UINT32_C(0x00706E8B), UINT32_C(0x00116614), UINT32_C(0x00662488),
+          UINT32_C(0x0020E858), UINT32_C(0x003042E0), UINT32_C(0x005598A9),
+          UINT32_C(0x0051A013), UINT32_C(0x0096F0CF), UINT32_C(0x0026D7C9),
+          UINT32_C(0x001297CB), UINT32_C(0x00325815)}},
+        {{UINT32_C(0x00A6A2F2), UINT32_C(0x00431F85), UINT32_C(0x006A358E),
+          UINT32_C(0x00D9BD37), UINT32_C(0x003DDAF8), UINT32_C(0x000FF3E4),
+          UINT32_C(0x0056803F), UINT32_C(0x0050FB50), UINT32_C(0x0068CD30),
+          UINT32_C(0x00242AA9), UINT32_C(0x005D281D)},
+         {UINT32_C(0x0007C121), UINT32_C(0x006E657D), UINT32_C(0x0003FE75),
+          UINT32_C(0x00B805F3), UINT32_C(0x004C976D), UINT32_C(0x005039AB),
+          UINT32_C(0x0011443E), UINT32_C(0x00F0A01C), UINT32_C(0x00648859),
+          UINT32_C(0x005F1033), UINT32_C(0x007B4C48)}},
+        {{UINT32_C(0x00793170), UINT32_C(0x006DBF68), UINT32_C(0x007D1F25),
+          UINT32_C(0x00F0D9B4), UINT32_C(0x0059CB0C), UINT32_C(0x002BAA82),
+          UINT32_C(0x00516CAA), UINT32_C(0x0055BA64), UINT32_C(0x0014BA02),
+          UINT32_C(0x006986E0), UINT32_C(0x005D492D)},
+         {UINT32_C(0x0025053F), UINT32_C(0x00643229), UINT32_C(0x0072934C),
+          UINT32_C(0x00FF2EFA), UINT32_C(0x0075BD10), UINT32_C(0x000EE1B5),
+          UINT32_C(0x0075A5E1), UINT32_C(0x008B7B93), UINT32_C(0x001D5824),
+          UINT32_C(0x002F28AB), UINT32_C(0x00762FF8)}},
+    },
+    {
+        {{UINT32_C(0x0046367E), UINT32_C(0x0056A682), UINT32_C(0x00430EB2),
+          UINT32_C(0x0025F7A6), UINT32_C(0x0062DE86), UINT32_C(0x0033FEF2),
+          UINT32_C(0x00156E4E), UINT32_C(0x002BFC59), UINT32_C(0x00038721),
+          UINT32_C(0x003BE4D8), UINT32_C(0x0000C9A8)},
+         {UINT32_C(0x00E2541C), UINT32_C(0x0060B185), UINT32_C(0x00124C99),
+          UINT32_C(0x007614C4), UINT32_C(0x004C9BB5), UINT32_C(0x001A2B53),
+          UINT32_C(0x0055AB66), UINT32_C(0x00B34939), UINT32_C(0x00755795),
+          UINT32_C(0x004AE42A), UINT32_C(0x0037EE9E)}},
+        {{UINT32_C(0x00418B8A), UINT32_C(0x0053A329), UINT32_C(0x0067F6C0),
+          UINT32_C(0x001B5F25), UINT32_C(0x004F5799), UINT32_C(0x0079A7BA),
+          UINT32_C(0x0001E9CA), UINT32_C(0x00589410), UINT32_C(0x00348000),
+          UINT32_C(0x007C467F), UINT32_C(0x0068CC15)},
+         {UINT32_C(0x00BFD773), UINT32_C(0x000B128F), UINT32_C(0x0035E63D),
+          UINT32_C(0x00C836C1), UINT32_C(0x0017BDFE), UINT32_C(0x006CFD71),
+          UINT32_C(0x00373B9C), UINT32_C(0x0057EAF9), UINT32_C(0x002A01CD),
+          UINT32_C(0x0074D14F), UINT32_C(0x00721C85)}},
+        {{UINT32_C(0x0056BC62), UINT32_C(0x000D23A6), UINT32_C(0x0078FE76),
+          UINT32_C(0x0019A73D), UINT32_C(0x00091B6B), UINT32_C(0x0005C60B),
+          UINT32_C(0x0065104B), UINT32_C(0x0065A4B3), UINT32_C(0x005D0C5A),
+          UINT32_C(0x002E8DB5), UINT32_C(0x00718081)},
+         {UINT32_C(0x00EF69D9), UINT32_C(0x006C1FDD), UINT32_C(0x0065A57D),
+          UINT32_C(0x00BC2B7B), UINT32_C(0x006DB6EB), UINT32_C(0x001AFD11),
+          UINT32_C(0x00605819), UINT32_C(0x008E9270), UINT32_C(0x005C23F4),
+          UINT32_C(0x005067EB), UINT32_C(0x00598190)}},
+        {{UINT32_C(0x00EF9F96), UINT32_C(0x00510C22), UINT32_C(0x001E5EED),
+          UINT32_C(0x003B03E5), UINT32_C(0x005C6020), UINT32_C(0x003C2BB6),
+          UINT32_C(0x0035FD52), UINT32_C(0x00A6A7F3), UINT32_C(0x000128B7),
+          UINT32_C(0x001E45E8), UINT32_C(0x0049EFAA)},
+         {UINT32_C(0x006E0992), UINT32_C(0x0018EA4E), UINT32_C(0x00004761),
+          UINT32_C(0x00CFE527), UINT32_C(0x0039B16F), UINT32_C(0x0017BAE9),
+          UINT32_C(0x0057DC05), UINT32_C(0x00982F6B), UINT32_C(0x001D3209),
+          UINT32_C(0x0019FC51), UINT32_C(0x000F4184)}},
+        {{UINT32_C(0x001EBCA4), UINT32_C(0x001ECDDD), UINT32_C(0x0009CED1),
+          UINT32_C(0x00785BD4), UINT32_C(0x005F74D6), UINT32_C(0x00589B35),
+          UINT32_C(0x0026267C), UINT32_C(0x003A1A20), UINT32_C(0x00148BA6),
+          UINT32_C(0x00078BFB), UINT32_C(0x0057564D)},
+         {UINT32_C(0x008FB356), UINT32_C(0x00195CBB), UINT32_C(0x003A2D22),
+          UINT32_C(0x0015DEC8), UINT32_C(0x00287F6A), UINT32_C(0x007C4179),
+          UINT32_C(0x0078B244), UINT32_C(0x00013AE9), UINT32_C(0x004FD9D1),
+          UINT32_C(0x005916FD), UINT32_C(0x007AAB2B)}},
+        {{UINT32_C(0x005AE235), UINT32_C(0x004A7074), UINT32_C(0x006D38A5),
+          UINT32_C(0x00A5B778), UINT32_C(0x00192A8E), UINT32_C(0x00292200),
+          UINT32_C(0x00536809), UINT32_C(0x00C5FA0A), UINT32_C(0x007335A7),
+          UINT32_C(0x007A9B01), UINT32_C(0x006B8F21)},
+         {UINT32_C(0x00FC9D22), UINT32_C(0x005462CC), UINT32_C(0x0011E27E),
+          UINT32_C(0x00A16304), UINT32_C(0x002252C2), UINT32_C(0x00065957),
+          UINT32_C(0x000FB44C), UINT32_C(0x00507E75), UINT32_C(0x004C7390),
+          UINT32_C(0x002880F2), UINT32_C(0x0011F9DC)}},
+        {{UINT32_C(0x008982F2), UINT32_C(0x005E0F01), UINT32_C(0x00191A83),
+          UINT32_C(0x00B79DFB), UINT32_C(0x0014F23A), UINT32_C(0x005BFFB9),
+          UINT32_C(0x00679DCA), UINT32_C(0x00FDEBA3), UINT32_C(0x007A5C5D),
+          UINT32_C(0x00317F01), UINT32_C(0x0005F996)},
+         {UINT32_C(0x002F393C), UINT32_C(0x0057EA31), UINT32_C(0x0041F969),
+          UINT32_C(0x0060EB85), UINT32_C(0x0018762F), UINT32_C(0x0034FF1A),
+          UINT32_C(0x006E4F64), UINT32_C(0x00E85223), UINT32_C(0x00721BD5),
+          UINT32_C(0x005695D8), UINT32_C(0x00735FC8)}},
+        {{UINT32_C(0x000FF37D), UINT32_C(0x001EE6D5), UINT32_C(0x0059B657),
+          UINT32_C(0x0059218D), UINT32_C(0x005D7413), UINT32_C(0x0016DC74),
+          UINT32_C(0x00245CE2), UINT32_C(0x009176FC), UINT32_C(0x00140786),
+          UINT32_C(0x00123E16), UINT32_C(0x0014C417)},
+         {UINT32_C(0x008C5660), UINT32_C(0x004AB42B), UINT32_C(0x006F788D),
+          UINT32_C(0x004C5639), UINT32_C(0x00527C63), UINT32_C(0x0076AD8C),
+          UINT32_C(0x000E1CD3), UINT32_C(0x00905B46), UINT32_C(0x00362085),
+          UINT32_C(0x0005BCA4), UINT32_C(0x005143C9)}},
+        {{UINT32_C(0x0003CB83), UINT32_C(0x00303CF6), UINT32_C(0x004A9EA9),
+          UINT32_C(0x0045E684), UINT32_C(0x00510A34), UINT32_C(0x007BDA22),
+          UINT32_C(0x004947E0), UINT32_C(0x004AE474), UINT32_C(0x000566E6),
+          UINT32_C(0x001C9AA5), UINT32_C(0x002791D8)},
+         {UINT32_C(0x008D0BF2), UINT32_C(0x0042016F), UINT32_C(0x00669D0C),
+          UINT32_C(0x009942A6), UINT32_C(0x00694F9B), UINT32_C(0x007DA32E),
+          UINT32_C(0x005BE0ED), UINT32_C(0x00CB0DE0), UINT32_C(0x006A8967),
+          UINT32_C(0x000AC39B), UINT32_C(0x003B3E68)}},
+        {{UINT32_C(0x0060D714), UINT32_C(0x004F6454), UINT32_C(0x00061D11),
+          UINT32_C(0x00C2AA2D), UINT32_C(0x001269D9), UINT32_C(0x0045B4EB),
+          UINT32_C(0x00452BA7), UINT32_C(0x001C10D3), UINT32_C(0x00468D4A),
+          UINT32_C(0x002EFCCA), UINT32_C(0x006DE69E)},
+         {UINT32_C(0x00CCB9AA), UINT32_C(0x005E4AAD), UINT32_C(0x0034AB4F),
+          UINT32_C(0x00451715), UINT32_C(0x00742A4D), UINT32_C(0x0054F77E),
+          UINT32_C(0x000E11C5), UINT32_C(0x00848202), UINT32_C(0x006F4690),
+          UINT32_C(0x00429DB2), UINT32_C(0x00063397)}},
+        {{UINT32_C(0x00E679A9), UINT32_C(0x000630F0), UINT32_C(0x0054132F),
+          UINT32_C(0x0028E457), UINT32_C(0x00530D92), UINT32_C(0x002D81BE),
+          UINT32_C(0x006D4DA3), UINT32_C(0x00DD8F12), UINT32_C(0x005AEF2B),
+          UINT32_C(0x00681D79), UINT32_C(0x004F4E27)},
+         {UINT32_C(0x00452CC5), UINT32_C(0x006066A9), UINT32_C(0x00586F19),
+          UINT32_C(0x00DCA842), UINT32_C(0x003F3915), UINT32_C(0x007F124C),
+          UINT32_C(0x005A982F), UINT32_C(0x00232890), UINT32_C(0x006759D7),
+          UINT32_C(0x005451F1), UINT32_C(0x001EBD44)}},
+        {{UINT32_C(0x00FA4A07), UINT32_C(0x0030B22D), UINT32_C(0x00241069),
+          UINT32_C(0x00DE41E0), UINT32_C(0x004CE4D7), UINT32_C(0x002D9D3C),
+          UINT32_C(0x001677BA), UINT32_C(0x00980ED6), UINT32_C(0x0031C47B),
+          UINT32_C(0x002ED227), UINT32_C(0x00159AD5)},
+         {UINT32_C(0x0089C1F3), UINT32_C(0x0064AFBA), UINT32_C(0x0029E45B),
+          UINT32_C(0x00032AD8), UINT32_C(0x002AB7FA), UINT32_C(0x00667A12),
+          UINT32_C(0x0057ACD4), UINT32_C(0x006C9B6D), UINT32_C(0x00407D38),
+          UINT32_C(0x00420BB2), UINT32_C(0x0026F2DA)}},
+        {{UINT32_C(0x00C85447), UINT32_C(0x00186902), UINT32_C(0x00714C9C),
+          UINT32_C(0x003E0E1B), UINT32_C(0x0079A719), UINT32_C(0x003E4DED),
+          UINT32_C(0x0059E9D8), UINT32_C(0x00C3AC22), UINT32_C(0x00101DB8),
+          UINT32_C(0x0079EC05), UINT32_C(0x00308946)},
+         {UINT32_C(0x0020BFE2), UINT32_C(0x001B1C97), UINT32_C(0x002068FA),
+          UINT32_C(0x000318E8), UINT32_C(0x003FA490), UINT32_C(0x0071C4A0),
+          UINT32_C(0x000D2962), UINT32_C(0x006D6A13), UINT32_C(0x000B208C),
+          UINT32_C(0x0016C4B8), UINT32_C(0x002FB1EB)}},
+        {{UINT32_C(0x000FDDD3), UINT32_C(0x000BE560), UINT32_C(0x005F6F50),
+          UINT32_C(0x00CBD86E), UINT32_C(0x005F789C), UINT32_C(0x00796635),
+          UINT32_C(0x0073572E), UINT32_C(0x007EF213), UINT32_C(0x003C20F1),
+          UINT32_C(0x0009D905), UINT32_C(0x00506CBA)},
+         {UINT32_C(0x0053488D), UINT32_C(0x005470BC), UINT32_C(0x00356DBF),
+          UINT32_C(0x00B92C0A), UINT32_C(0x00576D7C), UINT32_C(0x00258D40),
+          UINT32_C(0x000EC04B), UINT32_C(0x00629848), UINT32_C(0x006EFE8C),
+          UINT32_C(0x002F0536), UINT32_C(0x005F0ED9)}},
+        {{UINT32_C(0x00941AAB), UINT32_C(0x0016408A), UINT32_C(0x0038B7B4),
+          UINT32_C(0x00D17AD3), UINT32_C(0x00020287), UINT32_C(0x003C98C7),
+          UINT32_C(0x007107B0), UINT32_C(0x00A47BF6), UINT32_C(0x0076D73B),
+          UINT32_C(0x000E9DCA), UINT32_C(0x002D0380)},
+         {UINT32_C(0x003E14DB), UINT32_C(0x0068545F), UINT32_C(0x00293201),
+          UINT32_C(0x0041E644), UINT32_C(0x0037CC59), UINT32_C(0x0064BF44),
+          UINT32_C(0x004AB432), UINT32_C(0x00222D96), UINT32_C(0x002A1A68),
+          UINT32_C(0x000CA73B), UINT32_C(0x0000759D)}},
+        {{UINT32_C(0x00B27EE6), UINT32_C(0x00392FAB), UINT32_C(0x006D1511),
+          UINT32_C(0x00DE9390), UINT32_C(0x0053DBF3), UINT32_C(0x003F6EED),
+          UINT32_C(0x001782D6), UINT32_C(0x002A6166), UINT32_C(0x004F448D),
+          UINT32_C(0x004D0F3A), UINT32_C(0x007007C7)},
+         {UINT32_C(0x00DFE6F7), UINT32_C(0x0032099E), UINT32_C(0x00729E1F),
+          UINT32_C(0x009F5D6F), UINT32_C(0x003A3D25), UINT32_C(0x004DD691),
+          UINT32_C(0x0020FFB0), UINT32_C(0x00CCDE9D), UINT32_C(0x0075D916),
+          UINT32_C(0x00545C21), UINT32_C(0x00240E6D)}},
+    },
+    {
+        {{UINT32_C(0x0034E1E6), UINT32_C(0x003047D2), UINT32_C(0x006E4485),
+          UINT32_C(0x007D8C36), UINT32_C(0x00756414), UINT32_C(0x000967CD),
+          UINT32_C(0x004EC80F), UINT32_C(0x00C63288), UINT32_C(0x0073E0FA),
+          UINT32_C(0x007182FF), UINT32_C(0x00263DCE)},
+         {UINT32_C(0x00462779), UINT32_C(0x001B3A99), UINT32_C(0x0037DBBA),
+          UINT32_C(0x00D2FC96), UINT32_C(0x0064BB40), UINT32_C(0x007363A7),
+          UINT32_C(0x0032772A), UINT32_C(0x00D91E04), UINT32_C(0x001007F8),
+          UINT32_C(0x000AF4EC), UINT32_C(0x00193E0F)}},
+        {{UINT32_C(0x00FDE1B6), UINT32_C(0x00642789), UINT32_C(0x0001A22B),
+          UINT32_C(0x0053D392), UINT32_C(0x004F3462), UINT32_C(0x007001C5),
+          UINT32_C(0x003757D1), UINT32_C(0x002FF687), UINT32_C(0x002AD0C5),
+          UINT32_C(0x0061905E), UINT32_C(0x0032E050)},
+         {UINT32_C(0x00586CC6), UINT32_C(0x0029644B), UINT32_C(0x001DCCE2),
+          UINT32_C(0x00242AD5), UINT32_C(0x003A4D19), UINT32_C(0x007EDFA6),
+          UINT32_C(0x00220A76), UINT32_C(0x00DD8BD2), UINT32_C(0x003AFB95),
+          UINT32_C(0x006523B5), UINT32_C(0x0016D460)}},
+        {{UINT32_C(0x003B3EBD), UINT32_C(0x0059FF35), UINT32_C(0x00646DFD),
+          UINT32_C(0x001C652B), UINT32_C(0x00572E18), UINT32_C(0x007156D0),
+          UINT32_C(0x003125AA), UINT32_C(0x0058C8A8), UINT32_C(0x00383EFA),
+          UINT32_C(0x00270C8A), UINT32_C(0x00071DD1)},
+         {UINT32_C(0x00E57097), UINT32_C(0x0052391E), UINT32_C(0x0058A14D),
+          UINT32_C(0x0071FABE), UINT32_C(0x0014DDAD), UINT32_C(0x00583150),
+          UINT32_C(0x006E7A1D), UINT32_C(0x0033F6C1), UINT32_C(0x00490296),
+          UINT32_C(0x00414DE6), UINT32_C(0x007218AF)}},
+        {{UINT32_C(0x00F33C1F), UINT32_C(0x00125893), UINT32_C(0x004FE3D7),
+          UINT32_C(0x00C4A16E), UINT32_C(0x0066739E), UINT32_C(0x0044B06C),
+          UINT32_C(0x0004329B), UINT32_C(0x0040B952), UINT32_C(0x003AB3B6),
+          UINT32_C(0x004B9045), UINT32_C(0x0070EFC5)},
+         {UINT32_C(0x0004A33D), UINT32_C(0x0060B5F6), UINT32_C(0x001C92D2),
+          UINT32_C(0x0087E4CE), UINT32_C(0x007927E4), UINT32_C(0x00687FEB),
+          UINT32_C(0x0068424F), UINT32_C(0x006E7721), UINT32_C(0x002CB0FB),
+          UINT32_C(0x003E8D7D), UINT32_C(0x00066EEA)}},
+        {{UINT32_C(0x00893929), UINT32_C(0x00749590), UINT32_C(0x00002975),
+          UINT32_C(0x00359738), UINT32_C(0x0027B81C), UINT32_C(0x007CCA27),
+          UINT32_C(0x00424A06), UINT32_C(0x008EAF50), UINT32_C(0x0015A2BC),
+          UINT32_C(0x00191EEC), UINT32_C(0x0005255A)},
+         {UINT32_C(0x00F0F1DA), UINT32_C(0x0001F6DC), UINT32_C(0x001636C8),
+          UINT32_C(0x00012664), UINT32_C(0x0026261D), UINT32_C(0x005D425D),
+          UINT32_C(0x004530C6), UINT32_C(0x005C3D03), UINT32_C(0x005543DE),
+          UINT32_C(0x001B43E1), UINT32_C(0x001F7279)}},
+        {{UINT32_C(0x0073F26A), UINT32_C(0x0068DAE8), UINT32_C(0x00721622),
+          UINT32_C(0x002ABFC5), UINT32_C(0x001AEA78), UINT32_C(0x001C317D),
+          UINT32_C(0x0057A2CE), UINT32_C(0x00D75B07), UINT32_C(0x0011544B),
+          UINT32_C(0x006677F4), UINT32_C(0x004FE8D9)},
+         {UINT32_C(0x00BD1939), UINT32_C(0x005FA352), UINT32_C(0x004E35F8),
+          UINT32_C(0x002B9D5E), UINT32_C(0x00236E36), UINT32_C(0x00171F6F),
+          UINT32_C(0x001C64C0), UINT32_C(0x0059974C), UINT32_C(0x001A9517),
+          UINT32_C(0x000A0D86), UINT32_C(0x002C5844)}},
+        {{UINT32_C(0x008028D2), UINT32_C(0x005696DA), UINT32_C(0x00134460),
+          UINT32_C(0x00FFF1CA), UINT32_C(0x003E17C7), UINT32_C(0x00771795),
+          UINT32_C(0x003731A0), UINT32_C(0x004FFEFA), UINT32_C(0x00559D72),
+          UINT32_C(0x0069CD38), UINT32_C(0x0015F09E)},
+         {UINT32_C(0x00C4C3AD), UINT32_C(0x0074750B), UINT32_C(0x001D026C),
+          UINT32_C(0x00553063), UINT32_C(0x00193906), UINT32_C(0x000134C7),
+          UINT32_C(0x0049B4A1), UINT32_C(0x0049D063), UINT32_C(0x003BF10D),
+          UINT32_C(0x0067632D), UINT32_C(0x00300024)}},
+        {{UINT32_C(0x00D77453), UINT32_C(0x003D07C0), UINT32_C(0x0019849D),
+          UINT32_C(0x00D631D5), UINT32_C(0x00652BEF), UINT32_C(0x007E6CDE),
+          UINT32_C(0x000D87C3), UINT32_C(0x004951A8), UINT32_C(0x007525CD),
+          UINT32_C(0x0071B08E), UINT32_C(0x00289648)},
+         {UINT32_C(0x00FD0ECE), UINT32_C(0x000BB7D1), UINT32_C(0x002C9248),
+          UINT32_C(0x004C6FAB), UINT32_C(0x00372A68), UINT32_C(0x000EF891),
+          UINT32_C(0x0020B4A1), UINT32_C(0x000A10A5), UINT32_C(0x006C334E),
+          UINT32_C(0x001CCCB1), UINT32_C(0x00379EBC)}},
+        {{UINT32_C(0x00D635C8), UINT32_C(0x005DA0CD), UINT32_C(0x000CA1CF),
+          UINT32_C(0x009075FE), UINT32_C(0x001864D7), UINT32_C(0x00375091),
+          UINT32_C(0x00219FB8), UINT32_C(0x0007A85A), UINT32_C(0x006F3E1F),
+          UINT32_C(0x00391318), UINT32_C(0x00247B2A)},
+         {UINT32_C(0x0002D9FB), UINT32_C(0x007FD052), UINT32_C(0x002C2377),
+          UINT32_C(0x00A71137), UINT32_C(0x0021AD82), UINT32_C(0x003DB97F),
+          UINT32_C(0x007E1B6E), UINT32_C(0x00C0C7AE), UINT32_C(0x00742A7A),
+          UINT32_C(0x0024DE99), UINT32_C(0x004E9051)}},
+        {{UINT32_C(0x00DADBAE), UINT32_C(0x00202B8D), UINT32_C(0x00632043),
+          UINT32_C(0x0041281C), UINT32_C(0x001EBD2E), UINT32_C(0x007221A9),
+          UINT32_C(0x006395E7), UINT32_C(0x0009A072), UINT32_C(0x006E872D),
+          UINT32_C(0x006A1915), UINT32_C(0x00538853)},
+         {UINT32_C(0x00071C4B), UINT32_C(0x007A19E1), UINT32_C(0x007C2689),
+          UINT32_C(0x007FC063), UINT32_C(0x001C8283), UINT32_C(0x0067DED1),
+          UINT32_C(0x00667A3F), UINT32_C(0x00AF7018), UINT32_C(0x0038D342),
+          UINT32_C(0x000616D4), UINT32_C(0x0023B78B)}},
+        {{UINT32_C(0x002693D0), UINT32_C(0x0078F96C), UINT32_C(0x00571654),
+          UINT32_C(0x0014B152), UINT32_C(0x000B8F3A), UINT32_C(0x004480F8),
+          UINT32_C(0x004AA85E), UINT32_C(0x00A2071C), UINT32_C(0x005BF5E5),
+          UINT32_C(0x003DF984), UINT32_C(0x00290208)},
+         {UINT32_C(0x00574625), UINT32_C(0x004E5F90), UINT32_C(0x0024BEE7),
+          UINT32_C(0x0018C1AA), UINT32_C(0x000E42CE), UINT32_C(0x00353C8A),
+          UINT32_C(0x0040F203), UINT32_C(0x00898F9A), UINT32_C(0x003FBFD0),
+          UINT32_C(0x0043C31B), UINT32_C(0x004E5E2E)}},
+        {{UINT32_C(0x0067D25A), UINT32_C(0x0031F139), UINT32_C(0x005BD832),
+          UINT32_C(0x0058FC46), UINT32_C(0x002312E5), UINT32_C(0x00722F75),
+          UINT32_C(0x00300A46), UINT32_C(0x000CD2F3), UINT32_C(0x0070A1F2),
+          UINT32_C(0x001BBF1B), UINT32_C(0x005DAD68)},
+         {UINT32_C(0x0027F5D0), UINT32_C(0x000A7235), UINT32_C(0x00550E6D),
+          UINT32_C(0x007E271C), UINT32_C(0x003F1A3C), UINT32_C(0x003F545A),
+          UINT32_C(0x000F465A), UINT32_C(0x006E0289), UINT32_C(0x0008E2B8),
+          UINT32_C(0x00005661), UINT32_C(0x007DE299)}},
+        {{UINT32_C(0x00548202), UINT32_C(0x00281B46), UINT32_C(0x004C8632),
+          UINT32_C(0x008FDE33), UINT32_C(0x00254E52), UINT32_C(0x00768F00),
+          UINT32_C(0x001C3AD6), UINT32_C(0x002D85C6), UINT32_C(0x00187542),
+          UINT32_C(0x005F5A9E), UINT32_C(0x0079B908)},
+         {UINT32_C(0x00C7C809), UINT32_C(0x001FE799), UINT32_C(0x0042AF63),
+          UINT32_C(0x004EE64E), UINT32_C(0x001273EE), UINT32_C(0x00609BF2),
+          UINT32_C(0x0022BBF9), UINT32_C(0x0022DE3E), UINT32_C(0x00591E73),
+          UINT32_C(0x004FC701), UINT32_C(0x0007E865)}},
+        {{UINT32_C(0x0098B574), UINT32_C(0x003DC53F), UINT32_C(0x0019A4E6),
+          UINT32_C(0x00CBD70F), UINT32_C(0x0047B9D0), UINT32_C(0x005579C6),
+          UINT32_C(0x00354F41), UINT32_C(0x00D2DC50), UINT32_C(0x00329B79),
+          UINT32_C(0x0024242A), UINT32_C(0x0066FBA2)},
+         {UINT32_C(0x0085FC08), UINT32_C(0x0049ABA0), UINT32_C(0x0002CD57),
+          UINT32_C(0x0051C421), UINT32_C(0x00115DB3), UINT32_C(0x0066D6D5),
+          UINT32_C(0x00303B94), UINT32_C(0x00A604BB), UINT32_C(0x00685047),
+          UINT32_C(0x003158DF), UINT32_C(0x007ED9BF)}},
+        {{UINT32_C(0x002AFA23), UINT32_C(0x0040ECF5), UINT32_C(0x004AF2B2),
+          UINT32_C(0x00326E4C), UINT32_C(0x0057D312), UINT32_C(0x006C5108),
+          UINT32_C(0x0039F6D7), UINT32_C(0x0036F6BA), UINT32_C(0x005598C8),
+          UINT32_C(0x003CB53C), UINT32_C(0x0034AA18)},
+         {UINT32_C(0x00CF42AB), UINT32_C(0x007A1089), UINT32_C(0x00798D02),
+          UINT32_C(0x00EA386D), UINT32_C(0x0011472E), UINT32_C(0x005332E0),
+          UINT32_C(0x0038B97B), UINT32_C(0x00AD3634), UINT32_C(0x0008C5EB),
+          UINT32_C(0x005BED65), UINT32_C(0x0001B9BD)}},
+        {{UINT32_C(0x00761113), UINT32_C(0x0018F0E8), UINT32_C(0x003FCFC0),
+          UINT32_C(0x0015BEF5), UINT32_C(0x002AEA52), UINT32_C(0x00396A8E),
+          UINT32_C(0x004C295C), UINT32_C(0x001BAEDF), UINT32_C(0x00030D39),
+          UINT32_C(0x005A7E8D), UINT32_C(0x002A1B12)},
+         {UINT32_C(0x005CE5E2), UINT32_C(0x004CFE4B), UINT32_C(0x0030A399),
+          UINT32_C(0x0040EA7A), UINT32_C(0x007F164F), UINT32_C(0x004DB6D5),
+          UINT32_C(0x00686A3B), UINT32_C(0x00DBA200), UINT32_C(0x00296140),
+          UINT32_C(0x004D478A), UINT32_C(0x006AD41C)}},
+    },
+    {
+        {{UINT32_C(0x00B89E8E), UINT32_C(0x002A572E), UINT32_C(0x005B3E1F),
+          UINT32_C(0x00E54DD0), UINT32_C(0x00162459), UINT32_C(0x0027E7ED),
+          UINT32_C(0x005B4CC3), UINT32_C(0x00DB4F26), UINT32_C(0x007BE5F3),
+          UINT32_C(0x007C9929), UINT32_C(0x00555F44)},
+         {UINT32_C(0x00CFD61D), UINT32_C(0x0052D610), UINT32_C(0x0060404C),
+          UINT32_C(0x003743F5), UINT32_C(0x00055514), UINT32_C(0x000267D5),
+          UINT32_C(0x006087D4), UINT32_C(0x008C2531), UINT32_C(0x0051466E),
+          UINT32_C(0x003C7CCA), UINT32_C(0x005C334A)}},
+        {{UINT32_C(0x00E24828), UINT32_C(0x001F7423), UINT32_C(0x007D8091),
+          UINT32_C(0x00316505), UINT32_C(0x0079C9BB), UINT32_C(0x007F35D0),
+          UINT32_C(0x00152C91), UINT32_C(0x00E33D9C), UINT32_C(0x0052C723),
+          UINT32_C(0x0058776C), UINT32_C(0x001FEDFD)},
+         {UINT32_C(0x0004E1B6), UINT32_C(0x006EE7E1), UINT32_C(0x0072C66F),
+          UINT32_C(0x00B26D30), UINT32_C(0x006FB6AE), UINT32_C(0x0020B88A),
+          UINT32_C(0x0009F8CA), UINT32_C(0x00BCD95A), UINT32_C(0x001944E3),
+          UINT32_C(0x007072F6), UINT32_C(0x005A26A1)}},
+        {{UINT32_C(0x00F21E4A), UINT32_C(0x0039DE0D), UINT32_C(0x002C0B04),
+          UINT32_C(0x0042B820), UINT32_C(0x00260CE6), UINT32_C(0x00469276),
+          UINT32_C(0x000EFD81), UINT32_C(0x0053E1E3), UINT32_C(0x0011D541),
+          UINT32_C(0x003278ED), UINT32_C(0x0024190E)},
+         {UINT32_C(0x009C86A2), UINT32_C(0x004CF336), UINT32_C(0x00666B88),
+          UINT32_C(0x00B34AD6), UINT32_C(0x0012660F), UINT32_C(0x004603DC),
+          UINT32_C(0x001C4603), UINT32_C(0x00B51A55), UINT32_C(0x00032E05),
+          UINT32_C(0x00761758), UINT32_C(0x002462A8)}},
+        {{UINT32_C(0x00A8C3D3), UINT32_C(0x0042BDA6), UINT32_C(0x0073898B),
+          UINT32_C(0x009F00CE), UINT32_C(0x006C9105), UINT32_C(0x0077CDB6),
+          UINT32_C(0x002CCE5B), UINT32_C(0x0017C55E), UINT32_C(0x00274A09),
+          UINT32_C(0x0061058B), UINT32_C(0x0025F3E2)},
+         {UINT32_C(0x000C3DB3), UINT32_C(0x006143BB), UINT32_C(0x0030EF0F),
+          UINT32_C(0x00E06EFA), UINT32_C(0x005B5205), UINT32_C(0x002928C1),
+          UINT32_C(0x00011BD1), UINT32_C(0x004BD906), UINT32_C(0x003EA381),
+          UINT32_C(0x005B8BDD), UINT32_C(0x00141CF4)}},
+        {{UINT32_C(0x00B9F037), UINT32_C(0x000EB500), UINT32_C(0x00231F4E),
+          UINT32_C(0x009E6670), UINT32_C(0x0022155C), UINT32_C(0x005CD76F),
+          UINT32_C(0x00777013), UINT32_C(0x001E0C79), UINT32_C(0x004FFBC6),
+          UINT32_C(0x0022246A), UINT32_C(0x00411134)},
+         {UINT32_C(0x00D2A8D9), UINT32_C(0x0019D3D6), UINT32_C(0x002D8C16),
+          UINT32_C(0x00BFC55D), UINT32_C(0x00409145), UINT32_C(0x000A3CB7),
+          UINT32_C(0x00705773), UINT32_C(0x00018E32), UINT32_C(0x002A408A),
+          UINT32_C(0x0002439B), UINT32_C(0x00585C81)}},
+        {{UINT32_C(0x001B067A), UINT32_C(0x003501B0), UINT32_C(0x006FF5D5),
+          UINT32_C(0x00266911), UINT32_C(0x00573D9E), UINT32_C(0x004CE3AE),
+          UINT32_C(0x007BD3A7), UINT32_C(0x004986D0), UINT32_C(0x0036391A),
+          UINT32_C(0x004E3053), UINT32_C(0x007A996A)},
+         {UINT32_C(0x00371080), UINT32_C(0x0037E042), UINT32_C(0x002DCB8F),
+          UINT32_C(0x00A79F2A), UINT32_C(0x000C73DB), UINT32_C(0x007B8926),
+          UINT32_C(0x004BCA76), UINT32_C(0x00F1D149), UINT32_C(0x0059029B),
+          UINT32_C(0x0057F067), UINT32_C(0x006743F9)}},
+        {{UINT32_C(0x00939BAE), UINT32_C(0x003B8FB7), UINT32_C(0x002AC961),
+          UINT32_C(0x007D0A3C), UINT32_C(0x00112565), UINT32_C(0x0015EA2E),
+          UINT32_C(0x005F39D5), UINT32_C(0x008AB56C), UINT32_C(0x000E21E3),
+          UINT32_C(0x00700E40), UINT32_C(0x00394DCD)},
+         {UINT32_C(0x003A2295), UINT32_C(0x00027730), UINT32_C(0x0048C762),
+          UINT32_C(0x009954A7), UINT32_C(0x007E32DB), UINT32_C(0x0043302E),
+          UINT32_C(0x00740102), UINT32_C(0x001190E7), UINT32_C(0x0027D7B2),
+          UINT32_C(0x005CEE50), UINT32_C(0x007A578D)}},
+        {{UINT32_C(0x008BBA28), UINT32_C(0x004A0FD7), UINT32_C(0x007AC31D),
+          UINT32_C(0x0037176E), UINT32_C(0x0076A050), UINT32_C(0x0040AB46),
+          UINT32_C(0x005F95F7), UINT32_C(0x000BE19A), UINT32_C(0x00098D24),
+          UINT32_C(0x005A9458), UINT32_C(0x000A1117)},
+         {UINT32_C(0x00E7EE0C), UINT32_C(0x00242C41), UINT32_C(0x0023CBF4),
+          UINT32_C(0x001C57A1), UINT32_C(0x003AC093), UINT32_C(0x0008AED2),
+          UINT32_C(0x0030388D), UINT32_C(0x00EC955F), UINT32_C(0x00714125),
+          UINT32_C(0x002CEB59), UINT32_C(0x0043A695)}},
+        {{UINT32_C(0x0078C305), UINT32_C(0x0068D7A0), UINT32_C(0x0078F31C),
+          UINT32_C(0x002557F3), UINT32_C(0x00154BCD), UINT32_C(0x000FD4BA),
+          UINT32_C(0x0049870F), UINT32_C(0x00FD3D6C), UINT32_C(0x004A74E9),
+          UINT32_C(0x0073A1EA), UINT32_C(0x00712628)},
+         {UINT32_C(0x0097A50E), UINT32_C(0x003814D7), UINT32_C(0x001533AE),
+          UINT32_C(0x00DC57FF), UINT32_C(0x0038CC54), UINT32_C(0x0023F786),
+          UINT32_C(0x0075EAC5), UINT32_C(0x0053BC5A), UINT32_C(0x000D1025),
+          UINT32_C(0x00352FF8), UINT32_C(0x007BAA67)}},
+        {{UINT32_C(0x004B5256), UINT32_C(0x0074BDB3), UINT32_C(0x003A77BB),
+          UINT32_C(0x00596C90), UINT32_C(0x005F0076), UINT32_C(0x00682016),
+          UINT32_C(0x000D8938), UINT32_C(0x00EA0E74), UINT32_C(0x00385C25),
+          UINT32_C(0x001D6446), UINT32_C(0x007F967C)},
+         {UINT32_C(0x00F7351C), UINT32_C(0x005B1299), UINT32_C(0x0077959F),
+          UINT32_C(0x0021D3B9), UINT32_C(0x006DF80F), UINT32_C(0x004DA025),
+          UINT32_C(0x00515CCC), UINT32_C(0x009FB790), UINT32_C(0x00063FF3),
+          UINT32_C(0x0076D77A), UINT32_C(0x00625098)}},
+        {{UINT32_C(0x007F1E6E), UINT32_C(0x0003AF4F), UINT32_C(0x00147BDB),
+          UINT32_C(0x0070598D), UINT32_C(0x0026D23F), UINT32_C(0x004A29CD),
+          UINT32_C(0x007D8AFD), UINT32_C(0x00842D17), UINT32_C(0x0027D785),
+          UINT32_C(0x003D4F02), UINT32_C(0x001B48F1)},
+         {UINT32_C(0x001DD7E4), UINT32_C(0x0048EA30), UINT32_C(0x0031E587),
+          UINT32_C(0x00DA778D), UINT32_C(0x00028302), UINT32_C(0x0002B20F),
+          UINT32_C(0x002CA85D), UINT32_C(0x009940A5), UINT32_C(0x0050706A),
+          UINT32_C(0x0027C655), UINT32_C(0x0065E5F7)}},
+        {{UINT32_C(0x00339162), UINT32_C(0x00747568), UINT32_C(0x002DE761),
+          UINT32_C(0x00ABF96A), UINT32_C(0x004ED981), UINT32_C(0x0068131A),
+          UINT32_C(0x007755D1), UINT32_C(0x00A26F42), UINT32_C(0x00052444),
+          UINT32_C(0x0005B629), UINT32_C(0x00374DF9)},
+         {UINT32_C(0x00CF14E5), UINT32_C(0x0002B073), UINT32_C(0x002FCF27),
+          UINT32_C(0x009F2568), UINT32_C(0x000C77F1), UINT32_C(0x004F9C85),
+          UINT32_C(0x00564AE1), UINT32_C(0x0084E7B1), UINT32_C(0x002F9F7C),
+          UINT32_C(0x0079F6BA), UINT32_C(0x0050141F)}},
+        {{UINT32_C(0x005DDB32), UINT32_C(0x006EEA5F), UINT32_C(0x001A6DBD),
+          UINT32_C(0x0037896C), UINT32_C(0x005312EB), UINT32_C(0x00224556),
+          UINT32_C(0x005B967C), UINT32_C(0x00E31403), UINT32_C(0x00210FEC),
+          UINT32_C(0x0039AB6E), UINT32_C(0x0056A5EB)},
+         {UINT32_C(0x0020A6E2), UINT32_C(0x004202D4), UINT32_C(0x0049C90D),
+          UINT32_C(0x00EAF4CB), UINT32_C(0x002618C6), UINT32_C(0x007417CB),
+          UINT32_C(0x00662261), UINT32_C(0x0019A617), UINT32_C(0x0033B387),
+          UINT32_C(0x0048BFFF), UINT32_C(0x004F79A1)}},
+        {{UINT32_C(0x0058277B), UINT32_C(0x001F5BDD), UINT32_C(0x004376CA),
+          UINT32_C(0x00F548FC), UINT32_C(0x00326E00), UINT32_C(0x001B763D),
+          UINT32_C(0x000FD0C0), UINT32_C(0x0077DA31), UINT32_C(0x00187E89),
+          UINT32_C(0x0079FC29), UINT32_C(0x007A4AF6)},
+         {UINT32_C(0x006FE0E1), UINT32_C(0x00669EB7), UINT32_C(0x002BEF48),
+          UINT32_C(0x00F75C67), UINT32_C(0x005F6D0F), UINT32_C(0x000A2CD9),
+          UINT32_C(0x006E41E5), UINT32_C(0x003F37B9), UINT32_C(0x002D2442),
+          UINT32_C(0x0036829D), UINT32_C(0x0065DA14)}},
+        {{UINT32_C(0x004326A2), UINT32_C(0x0040CBD8), UINT32_C(0x00652915),
+          UINT32_C(0x000F2B54), UINT32_C(0x0016C330), UINT32_C(0x0043F920),
+          UINT32_C(0x0030AF01), UINT32_C(0x008C5D38), UINT32_C(0x000DEDBF),
+          UINT32_C(0x00496F1B), UINT32_C(0x0035CE15)},
+         {UINT32_C(0x005CD536), UINT32_C(0x0003476A), UINT32_C(0x001458E4),
+          UINT32_C(0x0066184B), UINT32_C(0x001373E4), UINT32_C(0x002362B2),
+          UINT32_C(0x0047ADDA), UINT32_C(0x00CFDE00), UINT32_C(0x00294ACC),
+          UINT32_C(0x005B07F4), UINT32_C(0x003AAA59)}},
+        {{UINT32_C(0x00351DCE), UINT32_C(0x00531F74), UINT32_C(0x0070FE9B),
+          UINT32_C(0x0055D5FF), UINT32_C(0x00091F6C), UINT32_C(0x004713C4),
+          UINT32_C(0x0043D715), UINT32_C(0x00133A66), UINT32_C(0x00274DDB),
+          UINT32_C(0x001421FF), UINT32_C(0x00154461)},
+         {UINT32_C(0x002EE3C1), UINT32_C(0x001BD275), UINT32_C(0x00205CA7),
+          UINT32_C(0x008985BF), UINT32_C(0x0065F85E), UINT32_C(0x00342C28),
+          UINT32_C(0x0024E23D), UINT32_C(0x004B7B25), UINT32_C(0x002AE72E),
+          UINT32_C(0x004A5D4D), UINT32_C(0x00296425)}},
+    },
+    {
+        {{UINT32_C(0x003BB6FE), UINT32_C(0x006E95CA), UINT32_C(0x007C12DB),
+          UINT32_C(0x00C2B2E1), UINT32_C(0x0078CF5B), UINT32_C(0x0008D9AA),
+          UINT32_C(0x00545B0C), UINT32_C(0x00966933), UINT32_C(0x005E90BF),
+          UINT32_C(0x00127A50), UINT32_C(0x0021E6D5)},
+         {UINT32_C(0x009BB07D), UINT32_C(0x003CE9C9), UINT32_C(0x00575061),
+          UINT32_C(0x009D607C), UINT32_C(0x002C0630), UINT32_C(0x004CF2F4),
+          UINT32_C(0x007C5067), UINT32_C(0x007DB3FF), UINT32_C(0x0078833C),
+          UINT32_C(0x00381D12), UINT32_C(0x005C6CD7)}},
+        {{UINT32_C(0x008392C8), UINT32_C(0x003BA804), UINT32_C(0x00437AEB),
+          UINT32_C(0x000AA5A0), UINT32_C(0x00428295), UINT32_C(0x0022CF84),
+          UINT32_C(0x00583AB2), UINT32_C(0x00E78C0A), UINT32_C(0x00076BFD),
+          UINT32_C(0x00340AF2), UINT32_C(0x002C576A)},
+         {UINT32_C(0x006E6DE1), UINT32_C(0x0018AAF8), UINT32_C(0x003B09EA),
+          UINT32_C(0x00461A4F), UINT32_C(0x00652C71), UINT32_C(0x00773D62),
+          UINT32_C(0x0007F33A), UINT32_C(0x00FB0128), UINT32_C(0x0023226A),
+          UINT32_C(0x005272BE), UINT32_C(0x0077A80C)}},
+        {{UINT32_C(0x00243A23), UINT32_C(0x0059EE8D), UINT32_C(0x005ABC02),
+          UINT32_C(0x00A76F1C), UINT32_C(0x005303B8), UINT32_C(0x002878BC),
+          UINT32_C(0x000DC6D0), UINT32_C(0x002F5739), UINT32_C(0x004328D8),
+          UINT32_C(0x006619B0), UINT32_C(0x00582761)},
+         {UINT32_C(0x005DD89C), UINT32_C(0x0040AF03), UINT32_C(0x00664609),
+          UINT32_C(0x0064DED7), UINT32_C(0x00321F34), UINT32_C(0x00479994),
+          UINT32_C(0x002A3457), UINT32_C(0x0081039C), UINT32_C(0x001FB033),
+          UINT32_C(0x003E4D77), UINT32_C(0x00381514)}},
+        {{UINT32_C(0x0047A6CB), UINT32_C(0x00158718), UINT32_C(0x00209322),
+          UINT32_C(0x00E170DB), UINT32_C(0x00240A83), UINT32_C(0x004CD315),
+          UINT32_C(0x0028E399), UINT32_C(0x005AE653), UINT32_C(0x00066B28),
+          UINT32_C(0x001BBE06), UINT32_C(0x002C404C)},
+         {UINT32_C(0x006A93D6), UINT32_C(0x0012DF82), UINT32_C(0x006B54F4),
+          UINT32_C(0x00062344), UINT32_C(0x003FC9ED), UINT32_C(0x007DDB29),
+          UINT32_C(0x00101680), UINT32_C(0x00369C91), UINT32_C(0x0074AA99),
+          UINT32_C(0x00205D4F), UINT32_C(0x000E516B)}},
+        {{UINT32_C(0x0032C66D), UINT32_C(0x005546A7), UINT32_C(0x006BB8DE),
+          UINT32_C(0x008576D8), UINT32_C(0x00412063), UINT32_C(0x00644D0C),
+          UINT32_C(0x00693A63), UINT32_C(0x004429A2), UINT32_C(0x002AFB3C),
+          UINT32_C(0x005AB6A4), UINT32_C(0x0061829F)},
+         {UINT32_C(0x00743208), UINT32_C(0x0077B5BB), UINT32_C(0x0060700C),
+          UINT32_C(0x003878D7), UINT32_C(0x0043EA8E), UINT32_C(0x0006C990),
+          UINT32_C(0x001AD279), UINT32_C(0x0037199C), UINT32_C(0x001602AC),
+          UINT32_C(0x006E6867), UINT32_C(0x000200A7)}},
+        {{UINT32_C(0x0005C9B6), UINT32_C(0x0070BA76), UINT32_C(0x0032093C),
+          UINT32_C(0x00D7302E), UINT32_C(0x003DC75F), UINT32_C(0x0032241E),
+          UINT32_C(0x0020E178), UINT32_C(0x009DB55A), UINT32_C(0x00105792),
+          UINT32_C(0x00223EF7), UINT32_C(0x0004DBD3)},
+         {UINT32_C(0x006731CF), UINT32_C(0x004DCCDF), UINT32_C(0x006C712B),
+          UINT32_C(0x002963CA), UINT32_C(0x0033C6EB), UINT32_C(0x002918CB),
+          UINT32_C(0x0042143A), UINT32_C(0x008D3632), UINT32_C(0x0047755A),
+          UINT32_C(0x00258338), UINT32_C(0x00497444)}},
+        {{UINT32_C(0x00ACB58A), UINT32_C(0x0003E23D), UINT32_C(0x0035FF81),
+          UINT32_C(0x008936EA), UINT32_C(0x006A5CF4), UINT32_C(0x0024FFC8),
+          UINT32_C(0x0061C56B), UINT32_C(0x000E421B), UINT32_C(0x005C7741),
+          UINT32_C(0x006A1FF8), UINT32_C(0x006599DD)},
+         {UINT32_C(0x00E19FA2), UINT32_C(0x00129BD5), UINT32_C(0x00106B22),
+          UINT32_C(0x007D7780), UINT32_C(0x007F0877), UINT32_C(0x0041300E),
+          UINT32_C(0x004E679A), UINT32_C(0x00EBE8AA), UINT32_C(0x001C3277),
+          UINT32_C(0x006E99F9), UINT32_C(0x00427DB9)}},
+        {{UINT32_C(0x00184DFD), UINT32_C(0x00147505), UINT32_C(0x0040EDB6),
+          UINT32_C(0x0096E71F), UINT32_C(0x00096D68), UINT32_C(0x007288B9),
+          UINT32_C(0x0039FAE7), UINT32_C(0x009E3B19), UINT32_C(0x0059525F),
+          UINT32_C(0x0042A224), UINT32_C(0x0032E991)},
+         {UINT32_C(0x004D3074), UINT32_C(0x0055D970), UINT32_C(0x004FF6C8),
+          UINT32_C(0x0015270D), UINT32_C(0x007770DF), UINT32_C(0x0042C9FB),
+          UINT32_C(0x005CA513), UINT32_C(0x007D00C3), UINT32_C(0x0030A146),
+          UINT32_C(0x005D74BB), UINT32_C(0x007A9637)}},
+        {{UINT32_C(0x003DB0DD), UINT32_C(0x0011ADC8), UINT32_C(0x00612266),
+          UINT32_C(0x002F2C19), UINT32_C(0x002DF82D), UINT32_C(0x0028B03E),
+          UINT32_C(0x006C2E98), UINT32_C(0x00FFA685), UINT32_C(0x0038F8D0),
+          UINT32_C(0x003B9283), UINT32_C(0x007D2975)},
+         {UINT32_C(0x007D306E), UINT32_C(0x007F5E20), UINT32_C(0x0047A55D),
+          UINT32_C(0x00F980FF), UINT32_C(0x001331A2), UINT32_C(0x007D74A9),
+          UINT32_C(0x005FEE08), UINT32_C(0x006A7C2A), UINT32_C(0x007C37BB),
+          UINT32_C(0x0043D3B4), UINT32_C(0x006F3CFD)}},
+        {{UINT32_C(0x000EC696), UINT32_C(0x005185A9), UINT32_C(0x0000BE2C),
+          UINT32_C(0x009F985A), UINT32_C(0x004E2379), UINT32_C(0x005CE286),
+          UINT32_C(0x005F05DF), UINT32_C(0x0086A2D2), UINT32_C(0x0072A145),
+          UINT32_C(0x002B10E0), UINT32_C(0x004C8EE4)},
+         {UINT32_C(0x00E985B8), UINT32_C(0x002A46B5), UINT32_C(0x002FBBBF),
+          UINT32_C(0x00C296A5), UINT32_C(0x0035DCA7), UINT32_C(0x00646900),
+          UINT32_C(0x003C51B5), UINT32_C(0x00211EA2), UINT32_C(0x000B20B3),
+          UINT32_C(0x005E0254), UINT32_C(0x000A4FE9)}},
+        {{UINT32_C(0x0086A4E4), UINT32_C(0x00394FC7), UINT32_C(0x0062AD1E),
+          UINT32_C(0x0070C064), UINT32_C(0x000D4375), UINT32_C(0x0069383E),
+          UINT32_C(0x006DCB72), UINT32_C(0x0068E22C), UINT32_C(0x0065F231),
+          UINT32_C(0x0005483D), UINT32_C(0x005C9926)},
+         {UINT32_C(0x0027C9BA), UINT32_C(0x004616BF), UINT32_C(0x00793172),
+          UINT32_C(0x00E307EF), UINT32_C(0x001C58E0), UINT32_C(0x0075518F),
+          UINT32_C(0x00704D77), UINT32_C(0x0096D516), UINT32_C(0x000514C7),
+          UINT32_C(0x004550F6), UINT32_C(0x0002F839)}},
+        {{UINT32_C(0x003EB3CB), UINT32_C(0x000B54E8), UINT32_C(0x000BB0B6),
+          UINT32_C(0x000473CB), UINT32_C(0x007A4D1B), UINT32_C(0x001A1E96),
+          UINT32_C(0x00676B16), UINT32_C(0x002A64AB), UINT32_C(0x0000465B),
+          UINT32_C(0x0030BAF8), UINT32_C(0x0032A6EC)},
+         {UINT32_C(0x007B903F), UINT32_C(0x00594A72), UINT32_C(0x005679C7),
+          UINT32_C(0x0001348E), UINT32_C(0x00049ACD), UINT32_C(0x0076157B),
+          UINT32_C(0x000823E7), UINT32_C(0x00956AAC), UINT32_C(0x00564C9C),
+          UINT32_C(0x006B7D47), UINT32_C(0x00184705)}},
+        {{UINT32_C(0x00582997), UINT32_C(0x0042C43A), UINT32_C(0x001B2A5F),
+          UINT32_C(0x00C58D80), UINT32_C(0x00027426), UINT32_C(0x00767F7F),
+          UINT32_C(0x0029FE8F), UINT32_C(0x0011D5E8), UINT32_C(0x005F6EDA),
+          UINT32_C(0x004E2E7A), UINT32_C(0x006DA644)},
+         {UINT32_C(0x005F3E5D), UINT32_C(0x007EB9DF), UINT32_C(0x00744FFF),
+          UINT32_C(0x0011E773), UINT32_C(0x00365A41), UINT32_C(0x0069DCE3),
+          UINT32_C(0x005910E9), UINT32_C(0x00A8DAC2), UINT32_C(0x0076022D),
+          UINT32_C(0x006B2E17), UINT32_C(0x002B174E)}},
+        {{UINT32_C(0x002D1DE7), UINT32_C(0x005918AF), UINT32_C(0x007117B7),
+          UINT32_C(0x00FFA278), UINT32_C(0x005EC3E5), UINT32_C(0x005D5ABD),
+          UINT32_C(0x00409AA7), UINT32_C(0x00B36478), UINT32_C(0x004932C5),
+          UINT32_C(0x0012CD34), UINT32_C(0x00481C3A)},
+         {UINT32_C(0x00FDA782), UINT32_C(0x000B2886), UINT32_C(0x00335C25),
+          UINT32_C(0x002CBA0C), UINT32_C(0x0031D46B), UINT32_C(0x006D4278),
+          UINT32_C(0x00222F32), UINT32_C(0x00407069), UINT32_C(0x00003013),
+          UINT32_C(0x0013825F), UINT32_C(0x001F8B6C)}},
+        {{UINT32_C(0x0051E4F5), UINT32_C(0x005E9DC2), UINT32_C(0x00258809),
+          UINT32_C(0x00371D8C), UINT32_C(0x002FAEE6), UINT32_C(0x0004405C),
+          UINT32_C(0x00203011), UINT32_C(0x00C2897B), UINT32_C(0x0045B72F),
+          UINT32_C(0x00627D76), UINT32_C(0x006AECBB)},
+         {UINT32_C(0x00D0F404), UINT32_C(0x003CF81A), UINT32_C(0x002F9F4D),
+          UINT32_C(0x00C34800), UINT32_C(0x001E0D5A), UINT32_C(0x004CF2B9),
+          UINT32_C(0x0058028D), UINT32_C(0x002FE88D), UINT32_C(0x003BCDD1),
+          UINT32_C(0x005CA483), UINT32_C(0x006C66B1)}},
+        {{UINT32_C(0x0012B2F8), UINT32_C(0x002EB0A2), UINT32_C(0x0012BBFE),
+          UINT32_C(0x00455276), UINT32_C(0x0047B04A), UINT32_C(0x007F71B8),
+          UINT32_C(0x0055BF51), UINT32_C(0x00912939), UINT32_C(0x005DD2FD),
+          UINT32_C(0x001E65E5), UINT32_C(0x0044827B)},
+         {UINT32_C(0x00749338), UINT32_C(0x0069B9A0), UINT32_C(0x0024E76A),
+          UINT32_C(0x008505B7), UINT32_C(0x0048F45E), UINT32_C(0x004CCFF6),
+          UINT32_C(0x00518F1E), UINT32_C(0x0006ABD7), UINT32_C(0x000C7B19),
+          UINT32_C(0x007CF1C0), UINT32_C(0x001618E7)}},
+    },
+    {
+        {{UINT32_C(0x0002A6B0), UINT32_C(0x0068A84D), UINT32_C(0x0004254D),
+          UINT32_C(0x0073936F), UINT32_C(0x00264AA9), UINT32_C(0x002AE177),
+          UINT32_C(0x005104DE), UINT32_C(0x007CF18F), UINT32_C(0x006D9C04),
+          UINT32_C(0x007431AF), UINT32_C(0x000711AB)},
+         {UINT32_C(0x008D5496), UINT32_C(0x003EA309), UINT32_C(0x0004F5CE),
+          UINT32_C(0x00BDE7BB), UINT32_C(0x007DE3A5), UINT32_C(0x0018E586),
+          UINT32_C(0x004C3DB2), UINT32_C(0x0034EF2F), UINT32_C(0x00310ED6),
+          UINT32_C(0x005F5025), UINT32_C(0x0033F193)}},
+        {{UINT32_C(0x00478D87), UINT32_C(0x00086B6B), UINT32_C(0x0046EB29),
+          UINT32_C(0x00E16D0C), UINT32_C(0x001BDA98), UINT32_C(0x002ED05B),
+          UINT32_C(0x003789D1), UINT32_C(0x00CC467C), UINT32_C(0x00178BD9),
+          UINT32_C(0x005B5C2E), UINT32_C(0x00414C09)},
+         {UINT32_C(0x00FE52FF), UINT32_C(0x00390639), UINT32_C(0x006FFAE6),
+          UINT32_C(0x0028E37B), UINT32_C(0x001FB01B), UINT32_C(0x0016F3D8),
+          UINT32_C(0x003EE18E), UINT32_C(0x00599A77), UINT32_C(0x004C13DE),
+          UINT32_C(0x004B6328), UINT32_C(0x00283192)}},
+        {{UINT32_C(0x00E1AB70), UINT32_C(0x004B3C06), UINT32_C(0x00203AA9),
+          UINT32_C(0x00521440), UINT32_C(0x00527B5E), UINT32_C(0x00288A81),
+          UINT32_C(0x0028CE1C), UINT32_C(0x0028059F), UINT32_C(0x004C148A),
+          UINT32_C(0x0046ECEE), UINT32_C(0x00578C8D)},
+         {UINT32_C(0x00DBD2FF), UINT32_C(0x006C80C1), UINT32_C(0x007661A2),
+          UINT32_C(0x0011094F), UINT32_C(0x001AFACC), UINT32_C(0x00775ABB),
+          UINT32_C(0x003CFCA0), UINT32_C(0x00030FF6), UINT32_C(0x00527900),
+          UINT32_C(0x0015F70F), UINT32_C(0x00546D98)}},
+        {{UINT32_C(0x00E757A2), UINT32_C(0x005BC39A), UINT32_C(0x004FFC7D),
+          UINT32_C(0x00F82EB5), UINT32_C(0x006C5AD3), UINT32_C(0x0078023C),
+          UINT32_C(0x00684CB8), UINT32_C(0x00CB7AE8), UINT32_C(0x005F6095),
+          UINT32_C(0x0075B447), UINT32_C(0x001FF6E4)},
+         {UINT32_C(0x00036FA0), UINT32_C(0x000C4B4E), UINT32_C(0x0021CA4E),
+          UINT32_C(0x0046EA53), UINT32_C(0x0044A218), UINT32_C(0x0010A3C3),
+          UINT32_C(0x002B3DFE), UINT32_C(0x0065108E), UINT32_C(0x0066153C),
+          UINT32_C(0x0001AFCA), UINT32_C(0x0078AAB5)}},
+        {{UINT32_C(0x00A3A297), UINT32_C(0x001F022D), UINT32_C(0x0048B127),
+          UINT32_C(0x0084727B), UINT32_C(0x0040B276), UINT32_C(0x00723454),
+          UINT32_C(0x0027403D), UINT32_C(0x00702090), UINT32_C(0x003AE544),
+          UINT32_C(0x000185C8), UINT32_C(0x00396B7E)},
+         {UINT32_C(0x0054F823), UINT32_C(0x0023AFDE), UINT32_C(0x000701AD),
+          UINT32_C(0x00E2AE90), UINT32_C(0x002362A8), UINT32_C(0x00443B0D),
+          UINT32_C(0x00539CA7), UINT32_C(0x00487F9B), UINT32_C(0x0013DFD4),
+          UINT32_C(0x0060A0C9), UINT32_C(0x003ED6D3)}},
+        {{UINT32_C(0x0041AFA6), UINT32_C(0x0033B2AB), UINT32_C(0x000E144F),
+          UINT32_C(0x006C2256), UINT32_C(0x006FAF7B), UINT32_C(0x005AC228),
+          UINT32_C(0x0032A572), UINT32_C(0x007F38E2), UINT32_C(0x006D725E),
+          UINT32_C(0x002BEC51), UINT32_C(0x002D43D7)},
+         {UINT32_C(0x0083A39E), UINT32_C(0x001C7564), UINT32_C(0x0008D7AC),
+          UINT32_C(0x0018A604), UINT32_C(0x0074C8EB), UINT32_C(0x0063AB5D),
+          UINT32_C(0x002CCD7D), UINT32_C(0x0047E981), UINT32_C(0x0021750F),
+          UINT32_C(0x001135D9), UINT32_C(0x004DB0FB)}},
+        {{UINT32_C(0x0064BA6C), UINT32_C(0x007B1BDB), UINT32_C(0x007CD33C),
+          UINT32_C(0x00810753), UINT32_C(0x0026FB53), UINT32_C(0x0077AC90),
+          UINT32_C(0x0005E560), UINT32_C(0x004BCB24), UINT32_C(0x005BA503),
+          UINT32_C(0x0016BD12), UINT32_C(0x00312BDC)},
+         {UINT32_C(0x0072B4CC), UINT32_C(0x0014A560), UINT32_C(0x0007F39A),
+          UINT32_C(0x000A2186), UINT32_C(0x0014704E), UINT32_C(0x0031AA4B),
+          UINT32_C(0x00743487), UINT32_C(0x00BF00CE), UINT32_C(0x002DDB5E),
+          UINT32_C(0x00490BB0), UINT32_C(0x0069DAC1)}},
+        {{UINT32_C(0x009EEC7F), UINT32_C(0x006DF14C), UINT32_C(0x0023F579),
+          UINT32_C(0x00511B11), UINT32_C(0x0030486B), UINT32_C(0x00653474),
+          UINT32_C(0x006F453D), UINT32_C(0x00104BBB), UINT32_C(0x001DE9B0),
+          UINT32_C(0x00353041), UINT32_C(0x003312FC)},
+         {UINT32_C(0x00A89852), UINT32_C(0x00125365), UINT32_C(0x00584EAD),
+          UINT32_C(0x00ADA70A), UINT32_C(0x002FBF4C), UINT32_C(0x002FEA71),
+          UINT32_C(0x003E0469), UINT32_C(0x001ABCC3), UINT32_C(0x000759B9),
+          UINT32_C(0x00440460), UINT32_C(0x000BC673)}},
+        {{UINT32_C(0x0094762E), UINT32_C(0x00288488), UINT32_C(0x006E9757),
+          UINT32_C(0x004AC426), UINT32_C(0x00211BF1), UINT32_C(0x001D3A08),
+          UINT32_C(0x0001EAFC), UINT32_C(0x008D5AEB), UINT32_C(0x00735E25),
+          UINT32_C(0x003D07A5), UINT32_C(0x004F79A8)},
+         {UINT32_C(0x0008DE0D), UINT32_C(0x000F22EC), UINT32_C(0x00265780),
+          UINT32_C(0x00EF5221), UINT32_C(0x00285666), UINT32_C(0x0031A918),
+          UINT32_C(0x00150FBE), UINT32_C(0x00A00DC4), UINT32_C(0x004A3CA8),
+          UINT32_C(0x00792A0B), UINT32_C(0x000EEFD5)}},
+        {{UINT32_C(0x00C878D8), UINT32_C(0x005C1F80), UINT32_C(0x00796F30),
+          UINT32_C(0x005E40FD), UINT32_C(0x006C91B9), UINT32_C(0x007B8EB5),
+          UINT32_C(0x00763E21), UINT32_C(0x008E4B3F), UINT32_C(0x0059CB82),
+          UINT32_C(0x0033CF8B), UINT32_C(0x00117C19)},
+         {UINT32_C(0x00697DD3), UINT32_C(0x002C5D30), UINT32_C(0x006317A0),
+          UINT32_C(0x00FB399C), UINT32_C(0x00679834), UINT32_C(0x00265AA0),
+          UINT32_C(0x007ECFA2), UINT32_C(0x004DFBEF), UINT32_C(0x0038AE2B),
+          UINT32_C(0x0066CF5A), UINT32_C(0x001E2F38)}},
+        {{UINT32_C(0x006EC447), UINT32_C(0x00636DB3), UINT32_C(0x00504563),
+          UINT32_C(0x0059F3D2), UINT32_C(0x0071D652), UINT32_C(0x0006DE38),
+          UINT32_C(0x00478020), UINT32_C(0x00D483F9), UINT32_C(0x000AED5C),
+          UINT32_C(0x00787862), UINT32_C(0x002DACF3)},
+         {UINT32_C(0x00C6C4F7), UINT32_C(0x0033C908), UINT32_C(0x000FEE1A),
+          UINT32_C(0x00AA7333), UINT32_C(0x001FAF9A), UINT32_C(0x000FF2F1),
+          UINT32_C(0x005B0306), UINT32_C(0x00FBE44F), UINT32_C(0x0030AC0D),
+          UINT32_C(0x005C62A5), UINT32_C(0x00611050)}},
+        {{UINT32_C(0x004C0908), UINT32_C(0x00068F3D), UINT32_C(0x006C33DA),
+          UINT32_C(0x000B80A7), UINT32_C(0x0025B068), UINT32_C(0x007FB25B),
+          UINT32_C(0x004C55A2), UINT32_C(0x008BBCF8), UINT32_C(0x0006D143),
+          UINT32_C(0x0006225D), UINT32_C(0x0023F7AD)},
+         {UINT32_C(0x0080DEAF), UINT32_C(0x0053B869), UINT32_C(0x0014A009),
+          UINT32_C(0x0076059B), UINT32_C(0x003133C4), UINT32_C(0x007B5C31),
+          UINT32_C(0x006BD859), UINT32_C(0x00B43AA4), UINT32_C(0x0074EA87),
+          UINT32_C(0x0059CB83), UINT32_C(0x0008B4B9)}},
+        {{UINT32_C(0x00839775), UINT32_C(0x0066DD9C), UINT32_C(0x000D8D68),
+          UINT32_C(0x00D7F11B), UINT32_C(0x003ADC9E), UINT32_C(0x00257179),
+          UINT32_C(0x005C5090), UINT32_C(0x0081B436), UINT32_C(0x006C5187),
+          UINT32_C(0x005A0A00), UINT32_C(0x006E778B)},
+         {UINT32_C(0x00E9C0BD), UINT32_C(0x001B7784), UINT32_C(0x007DB934),
+          UINT32_C(0x00C972DD), UINT32_C(0x001314A2), UINT32_C(0x0006AF18),
+          UINT32_C(0x006F7A8A), UINT32_C(0x00F39C4E), UINT32_C(0x006E8942),
+          UINT32_C(0x0056E09B), UINT32_C(0x00786BB0)}},
+        {{UINT32_C(0x00306294), UINT32_C(0x0035755D), UINT32_C(0x005A1EC5),
+          UINT32_C(0x00667CAE), UINT32_C(0x007CCE97), UINT32_C(0x00240C1F),
+          UINT32_C(0x0024F74A), UINT32_C(0x0052075F), UINT32_C(0x003907DD),
+          UINT32_C(0x0019F30D), UINT32_C(0x00621CE6)},
+         {UINT32_C(0x0045BDB1), UINT32_C(0x00633018), UINT32_C(0x0065C160),
+          UINT32_C(0x00289740), UINT32_C(0x001E2F22), UINT32_C(0x00592DAF),
+          UINT32_C(0x0023922D), UINT32_C(0x004DF348), UINT32_C(0x00129446),
+          UINT32_C(0x007248B4), UINT32_C(0x0039074B)}},
+        {{UINT32_C(0x00AA4BC7), UINT32_C(0x005726AE), UINT32_C(0x003E5213),
+          UINT32_C(0x0067290D), UINT32_C(0x0063681B), UINT32_C(0x006E5545),
+          UINT32_C(0x00195CCD), UINT32_C(0x008B3541), UINT32_C(0x002F83E1),
+          UINT32_C(0x0056641A), UINT32_C(0x002EB12A)},
+         {UINT32_C(0x006782ED), UINT32_C(0x00320ADA), UINT32_C(0x0076D1A5),
+          UINT32_C(0x001573A2), UINT32_C(0x002E18BC), UINT32_C(0x002E3320),
+          UINT32_C(0x00653E07), UINT32_C(0x00C666DD), UINT32_C(0x00604156),
+          UINT32_C(0x007A5E4B), UINT32_C(0x0069541F)}},
+        {{UINT32_C(0x00224872), UINT32_C(0x005D167D), UINT32_C(0x0010FF0C),
+          UINT32_C(0x00071C46), UINT32_C(0x00548E96), UINT32_C(0x003D16E1),
+          UINT32_C(0x0068BA5D), UINT32_C(0x00355F33), UINT32_C(0x006C2F4F),
+          UINT32_C(0x00044AF9), UINT32_C(0x007213BD)},
+         {UINT32_C(0x001A0254), UINT32_C(0x002AFCA6), UINT32_C(0x0041DAAE),
+          UINT32_C(0x00D08E4A), UINT32_C(0x006D9245), UINT32_C(0x000C8A06),
+          UINT32_C(0x003D8084), UINT32_C(0x00494BD0), UINT32_C(0x000ED04A),
+          UINT32_C(0x003BF0A5), UINT32_C(0x000F164D)}},
+    },
+    {
+        {{UINT32_C(0x00459019), UINT32_C(0x0055760B), UINT32_C(0x0058FB7D),
+          UINT32_C(0x00A2BA8C), UINT32_C(0x004B4E88), UINT32_C(0x000E6EE4),
+          UINT32_C(0x0059F945), UINT32_C(0x001789F2), UINT32_C(0x007101FD),
+          UINT32_C(0x004F8DD3), UINT32_C(0x0038462A)},
+         {UINT32_C(0x00ABD7B1), UINT32_C(0x003D4EC1), UINT32_C(0x00382D69),
+          UINT32_C(0x006BA54F), UINT32_C(0x00518A2D), UINT32_C(0x001F4A7A),
+          UINT32_C(0x002C19F0), UINT32_C(0x00CCAD3E), UINT32_C(0x003AA2CC),
+          UINT32_C(0x0069D63B), UINT32_C(0x00156E38)}},
+        {{UINT32_C(0x0061CF6A), UINT32_C(0x000D2F2D), UINT32_C(0x00006C04),
+          UINT32_C(0x00C0A71A), UINT32_C(0x0051D1DC), UINT32_C(0x0025C398),
+          UINT32_C(0x000C6829), UINT32_C(0x0044F736), UINT32_C(0x0074BA1D),
+          UINT32_C(0x000F86E2), UINT32_C(0x00086CD1)},
+         {UINT32_C(0x00D6C080), UINT32_C(0x0045977F), UINT32_C(0x0021EC6B),
+          UINT32_C(0x00F8EB91), UINT32_C(0x0066E69F), UINT32_C(0x003B59C5),
+          UINT32_C(0x001990FA), UINT32_C(0x00B03645), UINT32_C(0x0009151D),
+          UINT32_C(0x00781FAF), UINT32_C(0x0052EAC1)}},
+        {{UINT32_C(0x005CE371), UINT32_C(0x00339A2B), UINT32_C(0x0020CCDE),
+          UINT32_C(0x00867507), UINT32_C(0x0033D597), UINT32_C(0x007923EB),
+          UINT32_C(0x000C7943), UINT32_C(0x003719DF), UINT32_C(0x00423883),
+          UINT32_C(0x0024AF84), UINT32_C(0x00679F03)},
+         {UINT32_C(0x008B9D31), UINT32_C(0x004B0315), UINT32_C(0x00409D6E),
+          UINT32_C(0x009267D2), UINT32_C(0x0030117A), UINT32_C(0x002D54F0),
+          UINT32_C(0x006C6FF7), UINT32_C(0x004BF6A4), UINT32_C(0x0075CBEB),
+          UINT32_C(0x003BEEB1), UINT32_C(0x000B67F0)}},
+        {{UINT32_C(0x00687F73), UINT32_C(0x00403AE2), UINT32_C(0x00405A67),
+          UINT32_C(0x00316CA7), UINT32_C(0x002999E7), UINT32_C(0x001FE769),
+          UINT32_C(0x0026B91B), UINT32_C(0x001D6CA9), UINT32_C(0x004BEFCD),
+          UINT32_C(0x004A822C), UINT32_C(0x001CFAFB)},
+         {UINT32_C(0x00A8EE8B), UINT32_C(0x000ACC89), UINT32_C(0x0043B4AD),
+          UINT32_C(0x00F1DA75), UINT32_C(0x0011792B), UINT32_C(0x002580D8),
+          UINT32_C(0x0000B787), UINT32_C(0x00C9B58F), UINT32_C(0x004F3C97),
+          UINT32_C(0x00769DFC), UINT32_C(0x000F1398)}},
+        {{UINT32_C(0x00F0E827), UINT32_C(0x0071CA92), UINT32_C(0x005324EC),
+          UINT32_C(0x009729F1), UINT32_C(0x0055F994), UINT32_C(0x00003EFF),
+          UINT32_C(0x0017CB89), UINT32_C(0x0072853D), UINT32_C(0x00339B97),
+          UINT32_C(0x00171CA7), UINT32_C(0x006B675F)},
+         {UINT32_C(0x003D0D62), UINT32_C(0x007DAA7D), UINT32_C(0x006A9620),
+          UINT32_C(0x00F5CFEA), UINT32_C(0x00032E5B), UINT32_C(0x00563173),
+          UINT32_C(0x006F73F8), UINT32_C(0x007CCBA2), UINT32_C(0x004141E7),
+          UINT32_C(0x0027173B), UINT32_C(0x003348A7)}},
+        {{UINT32_C(0x00F522E3), UINT32_C(0x006F8CDC), UINT32_C(0x0009FCCC),
+          UINT32_C(0x000BE430), UINT32_C(0x00303DA6), UINT32_C(0x006833B6),
+          UINT32_C(0x00557FC0), UINT32_C(0x0082CFC0), UINT32_C(0x00521AA8),
+          UINT32_C(0x003CA041), UINT32_C(0x001AFA64)},
+         {UINT32_C(0x00304313), UINT32_C(0x004ED8C2), UINT32_C(0x0018190F),
+          UINT32_C(0x009B395B), UINT32_C(0x0040816B), UINT32_C(0x007C8C36),
+          UINT32_C(0x006509BF), UINT32_C(0x002E0BC9), UINT32_C(0x0022B46B),
+          UINT32_C(0x002AB43C), UINT32_C(0x00283CD2)}},
+        {{UINT32_C(0x000B7F74), UINT32_C(0x002AC244), UINT32_C(0x00521FC5),
+          UINT32_C(0x004260D1), UINT32_C(0x00017C7D), UINT32_C(0x0008CF38),
+          UINT32_C(0x006722E9), UINT32_C(0x00AD1E83), UINT32_C(0x0039112C),
+          UINT32_C(0x002C7B44), UINT32_C(0x0027C0FF)},
+         {UINT32_C(0x009E60B3), UINT32_C(0x0054B3F3), UINT32_C(0x006A4023),
+          UINT32_C(0x000E894E), UINT32_C(0x000D8133), UINT32_C(0x00684145),
+          UINT32_C(0x00375199), UINT32_C(0x000C86DC), UINT32_C(0x006B4831),
+          UINT32_C(0x00148D6A), UINT32_C(0x005D0790)}},
+        {{UINT32_C(0x006FC7F9), UINT32_C(0x002D0FB1), UINT32_C(0x0071895E),
+          UINT32_C(0x007C322D), UINT32_C(0x0022DF86), UINT32_C(0x00329F1A),
+          UINT32_C(0x004AAD46), UINT32_C(0x00A69B3A), UINT32_C(0x0058C8B6),
+          UINT32_C(0x004FEC36), UINT32_C(0x001023EF)},
+         {UINT32_C(0x00670612), UINT32_C(0x0068AAB3), UINT32_C(0x005C3162),
+          UINT32_C(0x002C5521), UINT32_C(0x001C3176), UINT32_C(0x0042667A),
+          UINT32_C(0x001631EE), UINT32_C(0x00B31014), UINT32_C(0x00670B11),
+          UINT32_C(0x0024384B), UINT32_C(0x001A4A2C)}},
+        {{UINT32_C(0x009994EE), UINT32_C(0x006FE440), UINT32_C(0x004F4279),
+          UINT32_C(0x006A6D12), UINT32_C(0x00439B57), UINT32_C(0x007E025A),
+          UINT32_C(0x002D8836), UINT32_C(0x0042C271), UINT32_C(0x0011969F),
+          UINT32_C(0x0056F588), UINT32_C(0x005DD046)},
+         {UINT32_C(0x00F4202A), UINT32_C(0x001B4FF6), UINT32_C(0x000F4F77),
+          UINT32_C(0x002D36F2), UINT32_C(0x007AA72B), UINT32_C(0x00191711),
+          UINT32_C(0x007B653C), UINT32_C(0x00F06065), UINT32_C(0x001BC81D),
+          UINT32_C(0x0034BE67), UINT32_C(0x006FAA43)}},
+        {{UINT32_C(0x00501DAE), UINT32_C(0x002494E4), UINT32_C(0x0064D2EB),
+          UINT32_C(0x008F0CE3), UINT32_C(0x0045A611), UINT32_C(0x0064260A),
+          UINT32_C(0x0075E097), UINT32_C(0x00F9238A), UINT32_C(0x003654E9),
+          UINT32_C(0x005020CA), UINT32_C(0x0072482C)},
+         {UINT32_C(0x00AF93E8), UINT32_C(0x005900B4), UINT32_C(0x004202A6),
+          UINT32_C(0x00BEE149), UINT32_C(0x006D7724), UINT32_C(0x0071B0A1),
+          UINT32_C(0x00405291), UINT32_C(0x003AD02B), UINT32_C(0x005C2036),
+          UINT32_C(0x0079BE42), UINT32_C(0x000BA73D)}},
+        {{UINT32_C(0x00B4074B), UINT32_C(0x004B525B), UINT32_C(0x000D26F5),
+          UINT32_C(0x00DDC04B), UINT32_C(0x005C3D10), UINT32_C(0x00395397),
+          UINT32_C(0x00380563), UINT32_C(0x008C1F77), UINT32_C(0x000FA839),
+          UINT32_C(0x00493852), UINT32_C(0x000ED70C)},
+         {UINT32_C(0x00D5040F), UINT32_C(0x0042882C), UINT32_C(0x0001C223),
+          UINT32_C(0x0047D313), UINT32_C(0x00552DBD), UINT32_C(0x0029F273),
+          UINT32_C(0x005D6BC9), UINT32_C(0x00BCDD77), UINT32_C(0x0042D701),
+          UINT32_C(0x003FE205), UINT32_C(0x003DEBB5)}},
+        {{UINT32_C(0x00BBCF14), UINT32_C(0x004FFB15), UINT32_C(0x00557302),
+          UINT32_C(0x00897907), UINT32_C(0x000886E7), UINT32_C(0x00556A12),
+          UINT32_C(0x0024BFFC), UINT32_C(0x00466C4A), UINT32_C(0x006D05E2),
+          UINT32_C(0x00732AFC), UINT32_C(0x007196CD)},
+         {UINT32_C(0x00377955), UINT32_C(0x00049F69), UINT32_C(0x004A73AF),
+          UINT32_C(0x00628B4D), UINT32_C(0x007F38F0), UINT32_C(0x007A500C),
+          UINT32_C(0x0006D3F0), UINT32_C(0x004A0F78), UINT32_C(0x001C6F18),
+          UINT32_C(0x007E08F6), UINT32_C(0x0008B8E3)}},
+        {{UINT32_C(0x00F0F157), UINT32_C(0x0006E3EE), UINT32_C(0x00636CD6),
+          UINT32_C(0x001FCAAE), UINT32_C(0x00065300), UINT32_C(0x0030B114),
+          UINT32_C(0x00303EFF), UINT32_C(0x0010CBD8), UINT32_C(0x002326C5),
+          UINT32_C(0x007E166C), UINT32_C(0x00190C79)},
+         {UINT32_C(0x006D97E1), UINT32_C(0x00306B6D), UINT32_C(0x007BD9CD),
+          UINT32_C(0x00922461), UINT32_C(0x00312872), UINT32_C(0x0015DE6C),
+          UINT32_C(0x00595605), UINT32_C(0x0037F071), UINT32_C(0x00165965),
+          UINT32_C(0x006EBA47), UINT32_C(0x0043EC85)}},
+        {{UINT32_C(0x004CC6B4), UINT32_C(0x006D0740), UINT32_C(0x005E7F6C),
+          UINT32_C(0x005DF159), UINT32_C(0x002E1429), UINT32_C(0x001F4EB5),
+          UINT32_C(0x00543D5B), UINT32_C(0x00E4C2B2), UINT32_C(0x0058F8F4),
+          UINT32_C(0x003E2B7E), UINT32_C(0x0003FA76)},
+         {UINT32_C(0x00245C81), UINT32_C(0x004A0442), UINT32_C(0x0003DB05),
+          UINT32_C(0x00DB5088), UINT32_C(0x0064FD7C), UINT32_C(0x004C3547),
+          UINT32_C(0x0034C017), UINT32_C(0x00ED3600), UINT32_C(0x002A72EB),
+          UINT32_C(0x0048D594), UINT32_C(0x00114C4C)}},
+        {{UINT32_C(0x0012CF1A), UINT32_C(0x006E0086), UINT32_C(0x00549899),
+          UINT32_C(0x00C50D1B), UINT32_C(0x0048CEB3), UINT32_C(0x006765AB),
+          UINT32_C(0x0061B7C5), UINT32_C(0x009F1CD0), UINT32_C(0x0009F99F),
+          UINT32_C(0x0040A0A7), UINT32_C(0x004B6425)},
+         {UINT32_C(0x009D7477), UINT32_C(0x00079B86), UINT32_C(0x006B9474),
+          UINT32_C(0x006A4288), UINT32_C(0x006586C3), UINT32_C(0x00053F72),
+          UINT32_C(0x001B756B), UINT32_C(0x00302538), UINT32_C(0x00464295),
+          UINT32_C(0x0041CEF6), UINT32_C(0x000157A3)}},
+        {{UINT32_C(0x00C4EB0D), UINT32_C(0x0059E444), UINT32_C(0x001B0A36),
+          UINT32_C(0x009DAD3B), UINT32_C(0x005BF245), UINT32_C(0x0072C6C4),
+          UINT32_C(0x00285E98), UINT32_C(0x007A4B77), UINT32_C(0x00693E04),
+          UINT32_C(0x000A8AC7), UINT32_C(0x000BE084)},
+         {UINT32_C(0x00929EB4), UINT32_C(0x0004AEF0), UINT32_C(0x00477054),
+          UINT32_C(0x008FAC95), UINT32_C(0x002630B3), UINT32_C(0x0039BC23),
+          UINT32_C(0x00199060), UINT32_C(0x0017B14E), UINT32_C(0x006F142E),
+          UINT32_C(0x003060D5), UINT32_C(0x0021EDBA)}},
+    },
+    {
+        {{UINT32_C(0x00D13256), UINT32_C(0x003F96E6), UINT32_C(0x0035573F),
+          UINT32_C(0x00A11C34), UINT32_C(0x0055362D), UINT32_C(0x0019411A),
+          UINT32_C(0x005F05E2), UINT32_C(0x001A9048), UINT32_C(0x003DEA90),
+          UINT32_C(0x000B7D0A), UINT32_C(0x004B4171)},
+         {UINT32_C(0x000FAC1A), UINT32_C(0x0023647E), UINT32_C(0x0070B3D3),
+          UINT32_C(0x00805801), UINT32_C(0x00790FC6), UINT32_C(0x004C4182),
+          UINT32_C(0x0021453D), UINT32_C(0x000BFF08), UINT32_C(0x0018947B),
+          UINT32_C(0x0028CB8E), UINT32_C(0x0006EB4B)}},
+        {{UINT32_C(0x00BE097D), UINT32_C(0x006FA126), UINT32_C(0x001BB0AA),
+          UINT32_C(0x00857AF3), UINT32_C(0x0014E432), UINT32_C(0x00678F70),
+          UINT32_C(0x003FE4F6), UINT32_C(0x0037969A), UINT32_C(0x004C29A5),
+          UINT32_C(0x0019E68D), UINT32_C(0x00727D26)},
+         {UINT32_C(0x0030F457), UINT32_C(0x0077AEFB), UINT32_C(0x001B45A0),
+          UINT32_C(0x00F569CA), UINT32_C(0x004CF892), UINT32_C(0x003CD573),
+          UINT32_C(0x0020564D), UINT32_C(0x00911635), UINT32_C(0x000B9CCC),
+          UINT32_C(0x0043C0C2), UINT32_C(0x005ABF88)}},
+        {{UINT32_C(0x0055E82E), UINT32_C(0x0062B538), UINT32_C(0x0071AFAF),
+          UINT32_C(0x00DD7D6C), UINT32_C(0x002444DB), UINT32_C(0x00609BDA),
+          UINT32_C(0x007E8FE1), UINT32_C(0x0047FB13), UINT32_C(0x005AA88A),
+          UINT32_C(0x00632113), UINT32_C(0x000E21BF)},
+         {UINT32_C(0x00E4AE88), UINT32_C(0x00549503), UINT32_C(0x006D0459),
+          UINT32_C(0x0007BE5C), UINT32_C(0x003D3D1F), UINT32_C(0x00105F67),
+          UINT32_C(0x0070D576), UINT32_C(0x008E68E3), UINT32_C(0x0066B27F),
+          UINT32_C(0x000F81A1), UINT32_C(0x00102F63)}},
+        {{UINT32_C(0x00813696), UINT32_C(0x001896A4), UINT32_C(0x007C71B5),
+          UINT32_C(0x008F5BBA), UINT32_C(0x003BF0D4), UINT32_C(0x002B5A1F),
+          UINT32_C(0x00688FCE), UINT32_C(0x00DC932F), UINT32_C(0x00178F0B),
+          UINT32_C(0x00532936), UINT32_C(0x003DC4E4)},
+         {UINT32_C(0x00FF3364), UINT32_C(0x0000987D), UINT32_C(0x00050B87),
+          UINT32_C(0x00DD7B60), UINT32_C(0x004C9AC5), UINT32_C(0x00050AC9),
+          UINT32_C(0x00305FCA), UINT32_C(0x00FEBB2B), UINT32_C(0x004CCD89),
+          UINT32_C(0x0045D609), UINT32_C(0x00383954)}},
+        {{UINT32_C(0x00C5F8C7), UINT32_C(0x00059C15), UINT32_C(0x005D6652),
+          UINT32_C(0x00395738), UINT32_C(0x0033E177), UINT32_C(0x00114250),
+          UINT32_C(0x0050F27A), UINT32_C(0x00575EF9), UINT32_C(0x003EC09D),
+          UINT32_C(0x00587A84), UINT32_C(0x0066F8F9)},
+         {UINT32_C(0x0084DCF0), UINT32_C(0x0053AC30), UINT32_C(0x006B3DE9),
+          UINT32_C(0x006D8108), UINT32_C(0x005E091B), UINT32_C(0x0074FBF5),
+          UINT32_C(0x0079C383), UINT32_C(0x0091FDE9), UINT32_C(0x0059CDF0),
+          UINT32_C(0x0063D52A), UINT32_C(0x00374429)}},
+        {{UINT32_C(0x00AC9B9F), UINT32_C(0x00049F51), UINT32_C(0x003B74B2),
+          UINT32_C(0x00C116DA), UINT32_C(0x007C29A7), UINT32_C(0x0070299B),
+          UINT32_C(0x005E9ACC), UINT32_C(0x0003167B), UINT32_C(0x002BF1BE),
+          UINT32_C(0x004D9F3F), UINT32_C(0x004EE7A0)},
+         {UINT32_C(0x00917C14), UINT32_C(0x003EBF02), UINT32_C(0x000420F7),
+          UINT32_C(0x0098B80D), UINT32_C(0x00316402), UINT32_C(0x00299C9E),
+          UINT32_C(0x00788C59), UINT32_C(0x004CA51A), UINT32_C(0x0032E98D),
+          UINT32_C(0x00523F2B), UINT32_C(0x0025FE7C)}},
+        {{UINT32_C(0x00D24FB4), UINT32_C(0x000FA78F), UINT32_C(0x0075EB38),
+          UINT32_C(0x00E1423C), UINT32_C(0x002F6852), UINT32_C(0x0054E6AA),
+          UINT32_C(0x003B4EBA), UINT32_C(0x00916685), UINT32_C(0x000987EA),
+          UINT32_C(0x007E5CAE), UINT32_C(0x001AEF85)},
+         {UINT32_C(0x00BEBDCB), UINT32_C(0x0062C59D), UINT32_C(0x007EC199),
+          UINT32_C(0x004ABAEB), UINT32_C(0x0026E8BC), UINT32_C(0x0045113C),
+          UINT32_C(0x000926F3), UINT32_C(0x006EC500), UINT32_C(0x001E9D22),
+          UINT32_C(0x0029BEE0), UINT32_C(0x00043DEE)}},
+        {{UINT32_C(0x00409462), UINT32_C(0x001CB8CD), UINT32_C(0x001F8EFF),
+          UINT32_C(0x0097AA77), UINT32_C(0x003B581E), UINT32_C(0x007159CB),
+          UINT32_C(0x006E4ADC), UINT32_C(0x0037066B), UINT32_C(0x002D6F60),
+          UINT32_C(0x006DEC62), UINT32_C(0x003829D7)},
+         {UINT32_C(0x00174A3E), UINT32_C(0x0048A317), UINT32_C(0x002691C2),
+          UINT32_C(0x004D7514), UINT32_C(0x004893B0), UINT32_C(0x006C7BDC),
+          UINT32_C(0x007270A6), UINT32_C(0x001CD34C), UINT32_C(0x0076F518),
+          UINT32_C(0x004C90E7), UINT32_C(0x005F393C)}},
+        {{UINT32_C(0x0099A837), UINT32_C(0x0058E783), UINT32_C(0x0016D7D7),
+          UINT32_C(0x00AB0113), UINT32_C(0x007BF6C9), UINT32_C(0x005FFC67),
+          UINT32_C(0x000FA10D), UINT32_C(0x000805E8), UINT32_C(0x00627967),
+          UINT32_C(0x006D7987), UINT32_C(0x0064D848)},
+         {UINT32_C(0x001FE2E3), UINT32_C(0x003499ED), UINT32_C(0x0007F453),
+          UINT32_C(0x0006EA4B), UINT32_C(0x006C77A1), UINT32_C(0x00131F20),
+          UINT32_C(0x0028B0D4), UINT32_C(0x00301339), UINT32_C(0x0010A30B),
+          UINT32_C(0x0078F588), UINT32_C(0x0056FFF0)}},
+        {{UINT32_C(0x00C31BB5), UINT32_C(0x00440BEA), UINT32_C(0x006F3A2D),
+          UINT32_C(0x0085FD9F), UINT32_C(0x00488063), UINT32_C(0x0037200F),
+          UINT32_C(0x00199136), UINT32_C(0x0037CD50), UINT32_C(0x0008D83E),
+          UINT32_C(0x007A26BF), UINT32_C(0x000F7F08)},
+         {UINT32_C(0x00A878F2), UINT32_C(0x002B8B71), UINT32_C(0x005C80D4),
+          UINT32_C(0x00147855), UINT32_C(0x00649415), UINT32_C(0x00445B94),
+          UINT32_C(0x0038DF88), UINT32_C(0x00D5F5B6), UINT32_C(0x004FFA47),
+          UINT32_C(0x00295AC4), UINT32_C(0x0041EA46)}},
+        {{UINT32_C(0x007EB48E), UINT32_C(0x00012787), UINT32_C(0x00646010),
+          UINT32_C(0x00D4B80D), UINT32_C(0x0019653C), UINT32_C(0x002A25D0),
+          UINT32_C(0x007425A7), UINT32_C(0x0010550F), UINT32_C(0x001D6D43),
+          UINT32_C(0x00494525), UINT32_C(0x003DD845)},
+         {UINT32_C(0x0097B9CF), UINT32_C(0x00389128), UINT32_C(0x0063AB07),
+          UINT32_C(0x00FFB646), UINT32_C(0x00049A92), UINT32_C(0x003B30F9),
+          UINT32_C(0x004092BA), UINT32_C(0x005BB91C), UINT32_C(0x0045BE82),
+          UINT32_C(0x001D89D6), UINT32_C(0x0006D769)}},
+        {{UINT32_C(0x00A9C944), UINT32_C(0x001E9FDE), UINT32_C(0x0005084B),
+          UINT32_C(0x0037B0AB), UINT32_C(0x007DF90A), UINT32_C(0x002BFE80),
+          UINT32_C(0x0014A4BD), UINT32_C(0x0099723A), UINT32_C(0x0062FDC9),
+          UINT32_C(0x00450631), UINT32_C(0x0056C69D)},
+         {UINT32_C(0x006E31BC), UINT32_C(0x00223A2C), UINT32_C(0x00426DB3),
+          UINT32_C(0x00B65794), UINT32_C(0x004EF40F), UINT32_C(0x0037E688),
+          UINT32_C(0x006EDA79), UINT32_C(0x004A47E5), UINT32_C(0x007B715C),
+          UINT32_C(0x0039DB43), UINT32_C(0x002E56F6)}},
+        {{UINT32_C(0x00178EE8), UINT32_C(0x001F6068), UINT32_C(0x002959E2),
+          UINT32_C(0x007567A4), UINT32_C(0x002ACB5C), UINT32_C(0x0045B5EE),
+          UINT32_C(0x0071A9D8), UINT32_C(0x003E517A), UINT32_C(0x006040CD),
+          UINT32_C(0x0036CE20), UINT32_C(0x0005D54B)},
+         {UINT32_C(0x00F4423F), UINT32_C(0x0017E6E5), UINT32_C(0x004BBF02),
+          UINT32_C(0x00DF4DDE), UINT32_C(0x00683FEE), UINT32_C(0x00773399),
+          UINT32_C(0x006F6378), UINT32_C(0x005109B9), UINT32_C(0x007F1264),
+          UINT32_C(0x001500B6), UINT32_C(0x0023E4D2)}},
+        {{UINT32_C(0x009D0DE5), UINT32_C(0x0040EAC6), UINT32_C(0x00628047),
+          UINT32_C(0x00CC7720), UINT32_C(0x005595B3), UINT32_C(0x00342909),
+          UINT32_C(0x0006815D), UINT32_C(0x007EAF87), UINT32_C(0x00743C32),
+          UINT32_C(0x000D28F3), UINT32_C(0x0013C70B)},
+         {UINT32_C(0x007DE7B7), UINT32_C(0x007A74CF), UINT32_C(0x0001C3FC),
+          UINT32_C(0x00660203), UINT32_C(0x00709164), UINT32_C(0x0073A917),
+          UINT32_C(0x007491A0), UINT32_C(0x00A50585), UINT32_C(0x00632019),
+          UINT32_C(0x005493D0), UINT32_C(0x0073CF34)}},
+        {{UINT32_C(0x00FDF621), UINT32_C(0x000BB4A9), UINT32_C(0x006CD94F),
+          UINT32_C(0x00BC87F4), UINT32_C(0x000A8610), UINT32_C(0x00573CFA),
+          UINT32_C(0x00079CF0), UINT32_C(0x00DE2D6B), UINT32_C(0x002DB8E4),
+          UINT32_C(0x000C2B46), UINT32_C(0x004B624E)},
+         {UINT32_C(0x00ADE692), UINT32_C(0x000D62B4), UINT32_C(0x004F204F),
+          UINT32_C(0x001E7763), UINT32_C(0x0066BF28), UINT32_C(0x0011A4DF),
+          UINT32_C(0x005A54FD), UINT32_C(0x002663A8), UINT32_C(0x0028E3BA),
+          UINT32_C(0x005F9DDD), UINT32_C(0x007C882C)}},
+        {{UINT32_C(0x00112390), UINT32_C(0x00423B09), UINT32_C(0x0052630B),
+          UINT32_C(0x0047D4BA), UINT32_C(0x002C3042), UINT32_C(0x000C6F6F),
+          UINT32_C(0x0058A3E8), UINT32_C(0x00742857), UINT32_C(0x007610BB),
+          UINT32_C(0x0075D1B9), UINT32_C(0x00255756)},
+         {UINT32_C(0x00FDF0D5), UINT32_C(0x006197B7), UINT32_C(0x0072CA11),
+          UINT32_C(0x00DF93D8), UINT32_C(0x00202449), UINT32_C(0x006E01FA),
+          UINT32_C(0x0027C172), UINT32_C(0x0055A82D), UINT32_C(0x0066E3DE),
+          UINT32_C(0x006A6AE7), UINT32_C(0x001A25FD)}},
+    },
+    {
+        {{UINT32_C(0x00661C25), UINT32_C(0x00028E38), UINT32_C(0x006AD36B),
+          UINT32_C(0x00F0DCCF), UINT32_C(0x0032B052), UINT32_C(0x0032C71C),
+          UINT32_C(0x00211A09), UINT32_C(0x0098A311), UINT32_C(0x000826E3),
+          UINT32_C(0x0021933B), UINT32_C(0x001245D9)},
+         {UINT32_C(0x00BE5F68), UINT32_C(0x003D2384), UINT32_C(0x000578BD),
+          UINT32_C(0x00F8E413), UINT32_C(0x004061A5), UINT32_C(0x000FF2F1),
+          UINT32_C(0x00132EBC), UINT32_C(0x000E1BDF), UINT32_C(0x003265A0),
+          UINT32_C(0x0052091E), UINT32_C(0x0011FFCC)}},
+        {{UINT32_C(0x00B211E9), UINT32_C(0x000495DB), UINT32_C(0x0009CB82),
+          UINT32_C(0x0010BDF3), UINT32_C(0x004D6E95), UINT32_C(0x006DE15A),
+          UINT32_C(0x003F2B0E), UINT32_C(0x00F8B166), UINT32_C(0x00569192),
+          UINT32_C(0x004EC0D5), UINT32_C(0x0054EF20)},
+         {UINT32_C(0x005200C4), UINT32_C(0x00391A11), UINT32_C(0x007E47D8),
+          UINT32_C(0x0024674D), UINT32_C(0x0010FC4E), UINT32_C(0x0025192E),
+          UINT32_C(0x005D1C48), UINT32_C(0x00983F2B), UINT32_C(0x00568B3D),
+          UINT32_C(0x0011FCC9), UINT32_C(0x00322423)}},
+        {{UINT32_C(0x0046A583), UINT32_C(0x006D46EC), UINT32_C(0x0009EF4F),
+          UINT32_C(0x008A2373), UINT32_C(0x006760E4), UINT32_C(0x003AE52C),
+          UINT32_C(0x006D3FE9), UINT32_C(0x00CFF4AA), UINT32_C(0x002A1967),
+          UINT32_C(0x006C501C), UINT32_C(0x002450E4)},
+         {UINT32_C(0x00477329), UINT32_C(0x002FF478), UINT32_C(0x0079A10F),
+          UINT32_C(0x002240F4), UINT32_C(0x002A6335), UINT32_C(0x001DA909),
+          UINT32_C(0x004DF841), UINT32_C(0x00B8ED8E), UINT32_C(0x0067037E),
+          UINT32_C(0x006BAEF5), UINT32_C(0x00142BEB)}},
+        {{UINT32_C(0x0076391E), UINT32_C(0x001FA456), UINT32_C(0x0024E1D6),
+          UINT32_C(0x00A4BBB7), UINT32_C(0x006733A5), UINT32_C(0x001C3AFD),
+          UINT32_C(0x0070A4C3), UINT32_C(0x00195BE7), UINT32_C(0x006E2E3B),
+          UINT32_C(0x007153CF), UINT32_C(0x0019A09A)},
+         {UINT32_C(0x00153BB1), UINT32_C(0x004A58A8), UINT32_C(0x00708EE5),
+          UINT32_C(0x00CDFFD9), UINT32_C(0x00482EC4), UINT32_C(0x0065D09A),
+          UINT32_C(0x000820C4), UINT32_C(0x00CCB628), UINT32_C(0x004F2AD3),
+          UINT32_C(0x004A6C74), UINT32_C(0x001936EB)}},
+        {{UINT32_C(0x0089A595), UINT32_C(0x00226302), UINT32_C(0x0074A6F3),
+          UINT32_C(0x00A33F36), UINT32_C(0x007C9032), UINT32_C(0x0067DB9B),
+          UINT32_C(0x0001EB7F), UINT32_C(0x00F3F17E), UINT32_C(0x005ADA9D),
+          UINT32_C(0x007218E4), UINT32_C(0x000C8AA9)},
+         {UINT32_C(0x00C7F8B4), UINT32_C(0x00762B7E), UINT32_C(0x007B3451),
+          UINT32_C(0x0073575C), UINT32_C(0x002013D6), UINT32_C(0x00638E89),
+          UINT32_C(0x00244AD5), UINT32_C(0x009B033E), UINT32_C(0x00226644),
+          UINT32_C(0x001E7EB2), UINT32_C(0x0054FC0E)}},
+        {{UINT32_C(0x00920FA0), UINT32_C(0x007A9F5E), UINT32_C(0x0027DD8D),
+          UINT32_C(0x00DC2927), UINT32_C(0x002C9E2D), UINT32_C(0x0041E6F3),
+          UINT32_C(0x000A2C15), UINT32_C(0x00B02047), UINT32_C(0x006CE1AA),
+          UINT32_C(0x0028537F), UINT32_C(0x00044A79)},
+         {UINT32_C(0x00D1B513), UINT32_C(0x003A87FE), UINT32_C(0x00414D56),
+          UINT32_C(0x00394DF6), UINT32_C(0x00675F9F), UINT32_C(0x006536DB),
+          UINT32_C(0x0008F83A), UINT32_C(0x00AF6B36), UINT32_C(0x0042BF63),
+          UINT32_C(0x001324F1), UINT32_C(0x0069E23F)}},
+        {{UINT32_C(0x00126519), UINT32_C(0x002072D6), UINT32_C(0x004F3495),
+          UINT32_C(0x00801841), UINT32_C(0x0034FA6F), UINT32_C(0x004A41FC),
+          UINT32_C(0x000C3620), UINT32_C(0x009F3555), UINT32_C(0x0050B1BB),
+          UINT32_C(0x007148F3), UINT32_C(0x003BC5F3)},
+         {UINT32_C(0x0005E3BB), UINT32_C(0x00091662), UINT32_C(0x00480F10),
+          UINT32_C(0x00526739), UINT32_C(0x005371E1), UINT32_C(0x0063F1FC),
+          UINT32_C(0x004D071E), UINT32_C(0x0091714C), UINT32_C(0x0023F077),
+          UINT32_C(0x00692954), UINT32_C(0x0030E9A8)}},
+        {{UINT32_C(0x00C73EE8), UINT32_C(0x002829DC), UINT32_C(0x0069D5A7),
+          UINT32_C(0x0075EE6F), UINT32_C(0x000F85A6), UINT32_C(0x0045F30F),
+          UINT32_C(0x00407EA5), UINT32_C(0x00F70774), UINT32_C(0x0045482D),
+          UINT32_C(0x0013AE44), UINT32_C(0x00547FF8)},
+         {UINT32_C(0x00F7F25A), UINT32_C(0x002B2910), UINT32_C(0x004B44EA),
+          UINT32_C(0x00DDE34B), UINT32_C(0x003285A3), UINT32_C(0x00558E05),
+          UINT32_C(0x00468DC2), UINT32_C(0x00411298), UINT32_C(0x00509EF8),
+          UINT32_C(0x007F842C), UINT32_C(0x007609FD)}},
+        {{UINT32_C(0x0005F2D5), UINT32_C(0x002E2EC3), UINT32_C(0x0049F536),
+          UINT32_C(0x005AEF1B), UINT32_C(0x001ECE26), UINT32_C(0x0032D05A),
+          UINT32_C(0x0017585A), UINT32_C(0x00DB0102), UINT32_C(0x007FA137),
+          UINT32_C(0x0056FFCC), UINT32_C(0x000943C5)},
+         {UINT32_C(0x00A42C24), UINT32_C(0x0048A53E), UINT32_C(0x001397BC),
+          UINT32_C(0x009E2E56), UINT32_C(0x00307F5D), UINT32_C(0x001B73E3),
+          UINT32_C(0x003F6900), UINT32_C(0x00122D6A), UINT32_C(0x00769EBF),
+          UINT32_C(0x0016A45C), UINT32_C(0x0077A9E1)}},
+        {{UINT32_C(0x0065F9CF), UINT32_C(0x004AC108), UINT32_C(0x0067432F),
+          UINT32_C(0x002DF4D6), UINT32_C(0x004DCF5E), UINT32_C(0x003BAEC7),
+          UINT32_C(0x00557847), UINT32_C(0x0052362A), UINT32_C(0x003955FF),
+          UINT32_C(0x002D7043), UINT32_C(0x004CA5DC)},
+         {UINT32_C(0x007A93D2), UINT32_C(0x0036376B), UINT32_C(0x003A5A14),
+          UINT32_C(0x0002555D), UINT32_C(0x00469862), UINT32_C(0x007BDBE1),
+          UINT32_C(0x003081C9), UINT32_C(0x009C449C), UINT32_C(0x0047E01C),
+          UINT32_C(0x00485605), UINT32_C(0x0031010E)}},
+        {{UINT32_C(0x009EB768), UINT32_C(0x005F172B), UINT32_C(0x0068912F),
+          UINT32_C(0x003400EE), UINT32_C(0x0040F25E), UINT32_C(0x00255B9D),
+          UINT32_C(0x0030FC1D), UINT32_C(0x006B60A7), UINT32_C(0x00652D66),
+          UINT32_C(0x004EE313), UINT32_C(0x0046178A)},
+         {UINT32_C(0x007BD0F4), UINT32_C(0x005D4ECB), UINT32_C(0x00458AC2),
+          UINT32_C(0x00370A5B), UINT32_C(0x0045F7B0), UINT32_C(0x0046CD90),
+          UINT32_C(0x007969E2), UINT32_C(0x007A733E), UINT32_C(0x0042A4F0),
+          UINT32_C(0x00118C36), UINT32_C(0x00389CCC)}},
+        {{UINT32_C(0x00C27F78), UINT32_C(0x00532F03), UINT32_C(0x007E9878),
+          UINT32_C(0x009B0A2A), UINT32_C(0x0034B652), UINT32_C(0x0028506E),
+          UINT32_C(0x006E5FC8), UINT32_C(0x00EFAE69), UINT32_C(0x00034D96),
+          UINT32_C(0x006780F0), UINT32_C(0x002CA851)},
+         {UINT32_C(0x004910F2), UINT32_C(0x00144032), UINT32_C(0x00441EEB),
+          UINT32_C(0x007F4CCD), UINT32_C(0x0018F7CA), UINT32_C(0x005C2F72),
+          UINT32_C(0x007741E6), UINT32_C(0x00DEB207), UINT32_C(0x00060639),
+          UINT32_C(0x00517FDD), UINT32_C(0x004332FA)}},
+        {{UINT32_C(0x00D5681D), UINT32_C(0x00664ABF), UINT32_C(0x00246FCC),
+          UINT32_C(0x003A300A), UINT32_C(0x006F7A1D), UINT32_C(0x004926CA),
+          UINT32_C(0x0015B100), UINT32_C(0x001EB359), UINT32_C(0x004A94F0),
+          UINT32_C(0x0006716C), UINT32_C(0x00107D89)},
+         {UINT32_C(0x001231EC), UINT32_C(0x002B9FEE), UINT32_C(0x00406E9E),
+          UINT32_C(0x008F6901), UINT32_C(0x003B5EDE), UINT32_C(0x0043CD20),
+          UINT32_C(0x00704693), UINT32_C(0x00887628), UINT32_C(0x004FA46E),
+          UINT32_C(0x0058B580), UINT32_C(0x00313AA5)}},
+        {{UINT32_C(0x0034CBFC), UINT32_C(0x0070E13A), UINT32_C(0x001631DB),
+          UINT32_C(0x00C5D9F6), UINT32_C(0x001D00D8), UINT32_C(0x001359B4),
+          UINT32_C(0x003A435C), UINT32_C(0x0031919E), UINT32_C(0x0065E412),
+          UINT32_C(0x003B76A2), UINT32_C(0x0000EC08)},
+         {UINT32_C(0x0016F36E), UINT32_C(0x007A9BFE), UINT32_C(0x0017CEF7),
+          UINT32_C(0x005B0D1B), UINT32_C(0x00062CAC), UINT32_C(0x005DE55E),
+          UINT32_C(0x007A8F81), UINT32_C(0x007661FA), UINT32_C(0x007ADB68),
+          UINT32_C(0x0064A4D8), UINT32_C(0x00392C5D)}},
+        {{UINT32_C(0x0074F552), UINT32_C(0x004A7096), UINT32_C(0x000D3EC7),
+          UINT32_C(0x001A8192), UINT32_C(0x003E550A), UINT32_C(0x006C7B5B),
+          UINT32_C(0x00454715), UINT32_C(0x00F31192), UINT32_C(0x000658B1),
+          UINT32_C(0x00611F71), UINT32_C(0x007FC5BB)},
+         {UINT32_C(0x00562488), UINT32_C(0x000D96D1), UINT32_C(0x00523EA9),
+          UINT32_C(0x0075587F), UINT32_C(0x001E1936), UINT32_C(0x007D2745),
+          UINT32_C(0x0012EC03), UINT32_C(0x00BA0FEE), UINT32_C(0x002C5241),
+          UINT32_C(0x001D4B8A), UINT32_C(0x002562EC)}},
+        {{UINT32_C(0x00C4F8B3), UINT32_C(0x007D2D04), UINT32_C(0x0030B04E),
+          UINT32_C(0x003424A6), UINT32_C(0x004124E9), UINT32_C(0x00528C55),
+          UINT32_C(0x00349B79), UINT32_C(0x0098B5C0), UINT32_C(0x0025B021),
+          UINT32_C(0x0060681C), UINT32_C(0x00387899)},
+         {UINT32_C(0x0090C1FF), UINT32_C(0x005232B8), UINT32_C(0x004F63C3),
+          UINT32_C(0x00E38A8E), UINT32_C(0x003E60AE), UINT32_C(0x001130C4),
+          UINT32_C(0x004BF3A0), UINT32_C(0x00E168A5), UINT32_C(0x00061555),
+          UINT32_C(0x000C2B98), UINT32_C(0x005FA4E4)}},
+    },
+    {
+        {{UINT32_C(0x00E21CA1), UINT32_C(0x000C87FB), UINT32_C(0x002DD3D7),
+          UINT32_C(0x00537514), UINT32_C(0x00509919), UINT32_C(0x00010447),
+          UINT32_C(0x0025E6A6), UINT32_C(0x006B441D), UINT32_C(0x005E97AA),
+          UINT32_C(0x00660203), UINT32_C(0x0058FBFA)},
+         {UINT32_C(0x006C47E6), UINT32_C(0x0031B2BD), UINT32_C(0x007BBA31),
+          UINT32_C(0x00B0AD4B), UINT32_C(0x00787301), UINT32_C(0x002B01EB),
+          UINT32_C(0x001E2E68), UINT32_C(0x005811EC), UINT32_C(0x006D2B81),
+          UINT32_C(0x00700E9C), UINT32_C(0x000457D9)}},
+        {{UINT32_C(0x005357E1), UINT32_C(0x0057AC0E), UINT32_C(0x000DB286),
+          UINT32_C(0x00EEE3D1), UINT32_C(0x0077ED80), UINT32_C(0x000E6D08),
+          UINT32_C(0x000E2936), UINT32_C(0x004ABA0F), UINT32_C(0x005F2976),
+          UINT32_C(0x007CC785), UINT32_C(0x003AE110)},
+         {UINT32_C(0x00945699), UINT32_C(0x002637EE), UINT32_C(0x0027992C),
+          UINT32_C(0x00BD9CD8), UINT32_C(0x0070F927), UINT32_C(0x000393E4),
+          UINT32_C(0x006F8B67), UINT32_C(0x0061AAEC), UINT32_C(0x006328E7),
+          UINT32_C(0x005B3FD0), UINT32_C(0x00268F9A)}},
+        {{UINT32_C(0x00F7A85C), UINT32_C(0x003F3302), UINT32_C(0x0026F852),
+          UINT32_C(0x001C40E9), UINT32_C(0x001E2517), UINT32_C(0x0005A3BF),
+          UINT32_C(0x005700CE), UINT32_C(0x00561812), UINT32_C(0x003C7E74),
+          UINT32_C(0x0066B1B5), UINT32_C(0x0007B9C2)},
+         {UINT32_C(0x00124E6A), UINT32_C(0x007C15BA), UINT32_C(0x00241638),
+          UINT32_C(0x005A50ED), UINT32_C(0x002A5582), UINT32_C(0x0074D879),
+          UINT32_C(0x0068F177), UINT32_C(0x0066CA1D), UINT32_C(0x0058D9CB),
+          UINT32_C(0x006724E5), UINT32_C(0x00246C5E)}},
+        {{UINT32_C(0x004D0432), UINT32_C(0x000B0784), UINT32_C(0x00482F19),
+          UINT32_C(0x00EA947D), UINT32_C(0x002C2664), UINT32_C(0x000C8DA3),
+          UINT32_C(0x002F7290), UINT32_C(0x001B3BBF), UINT32_C(0x00602C23),
+          UINT32_C(0x002D7127), UINT32_C(0x0076EBD4)},
+         {UINT32_C(0x00371D4D), UINT32_C(0x003A8832), UINT32_C(0x000D8BB0),
+          UINT32_C(0x00067D63), UINT32_C(0x003498C7), UINT32_C(0x0072BF20),
+          UINT32_C(0x0064F598), UINT32_C(0x00B95CE3), UINT32_C(0x00587A7D),
+          UINT32_C(0x0055FFCB), UINT32_C(0x0051077A)}},
+        {{UINT32_C(0x009C7745), UINT32_C(0x007F8E19), UINT32_C(0x00083AF5),
+          UINT32_C(0x00DB23A3), UINT32_C(0x00747602), UINT32_C(0x005F6E8D),
+          UINT32_C(0x00678701), UINT32_C(0x00974612), UINT32_C(0x0056DFDD),
+          UINT32_C(0x002FE8DB), UINT32_C(0x00306683)},
+         {UINT32_C(0x0089FFA4), UINT32_C(0x00121679), UINT32_C(0x0079120C),
+          UINT32_C(0x000BEDC4), UINT32_C(0x0029B7E4), UINT32_C(0x00496C88),
+          UINT32_C(0x00760536), UINT32_C(0x00C8DB5D), UINT32_C(0x00130589),
+          UINT32_C(0x001DE527), UINT32_C(0x004E350B)}},
+        {{UINT32_C(0x0047CC2D), UINT32_C(0x003F02AF), UINT32_C(0x007A859E),
+          UINT32_C(0x00E23690), UINT32_C(0x00649380), UINT32_C(0x0058D4FE),
+          UINT32_C(0x00593197), UINT32_C(0x0003C24F), UINT32_C(0x0016F98F),
+          UINT32_C(0x003046CD), UINT32_C(0x005CE122)},
+         {UINT32_C(0x0050D389), UINT32_C(0x00007E53), UINT32_C(0x004B3FCC),
+          UINT32_C(0x000AB3D0), UINT32_C(0x00103BDD), UINT32_C(0x002F2450),
+          UINT32_C(0x0034780F), UINT32_C(0x00C242E0), UINT32_C(0x00269889),
+          UINT32_C(0x003E5ACB), UINT32_C(0x0076919B)}},
+        {{UINT32_C(0x000BB75C), UINT32_C(0x0040DD3F), UINT32_C(0x0028965D),
+          UINT32_C(0x00D08696), UINT32_C(0x006F3945), UINT32_C(0x00756F6B),
+          UINT32_C(0x00037271), UINT32_C(0x001C20DD), UINT32_C(0x0037BED6),
+          UINT32_C(0x00080F61), UINT32_C(0x00274CFC)},
+         {UINT32_C(0x001C1CFE), UINT32_C(0x004D42DD), UINT32_C(0x003FA1F1),
+          UINT32_C(0x00CBE07F), UINT32_C(0x00277815), UINT32_C(0x001262DC),
+          UINT32_C(0x00477DDE), UINT32_C(0x0048F59B), UINT32_C(0x0065A5A3),
+          UINT32_C(0x005FDC99), UINT32_C(0x0064FF50)}},
+        {{UINT32_C(0x00D66C07), UINT32_C(0x0074289B), UINT32_C(0x005E8814),
+          UINT32_C(0x00B92793), UINT32_C(0x0057F706), UINT32_C(0x0059075D),
+          UINT32_C(0x00508B5E), UINT32_C(0x009A2426), UINT32_C(0x007F10BB),
+          UINT32_C(0x000AFD3F), UINT32_C(0x007801CB)},
+         {UINT32_C(0x0051B22E), UINT32_C(0x00279999), UINT32_C(0x0001782D),
+          UINT32_C(0x00DC4C85), UINT32_C(0x002439CE), UINT32_C(0x0055AA49),
+          UINT32_C(0x00708E58), UINT32_C(0x0003EA14), UINT32_C(0x00463ED7),
+          UINT32_C(0x00717B6E), UINT32_C(0x0034176A)}},
+        {{UINT32_C(0x00585B7C), UINT32_C(0x0038AE8B), UINT32_C(0x006C127E),
+          UINT32_C(0x003D794C), UINT32_C(0x001195F4), UINT32_C(0x005DE000),
+          UINT32_C(0x000771A5), UINT32_C(0x00C99CF0), UINT32_C(0x000765DC),
+          UINT32_C(0x0002A789), UINT32_C(0x00048FD2)},
+         {UINT32_C(0x00482FC7), UINT32_C(0x00275057), UINT32_C(0x00095B7B),
+          UINT32_C(0x0078B02B), UINT32_C(0x000B1596), UINT32_C(0x0073B9FE),
+          UINT32_C(0x0045D41C), UINT32_C(0x002919F9), UINT32_C(0x0056F856),
+          UINT32_C(0x001D4916), UINT32_C(0x007DB0CE)}},
+        {{UINT32_C(0x001D7FC7), UINT32_C(0x006BED2D), UINT32_C(0x000B2844),
+          UINT32_C(0x003F5459), UINT32_C(0x007CA010), UINT32_C(0x0024D59F),
+          UINT32_C(0x007F0E34), UINT32_C(0x003EB935), UINT32_C(0x006FDF55),
+          UINT32_C(0x0037C092), UINT32_C(0x004207CB)},
+         {UINT32_C(0x00E92E4A), UINT32_C(0x00744046), UINT32_C(0x00384BF8),
+          UINT32_C(0x0027733A), UINT32_C(0x0071FB22), UINT32_C(0x0053AF65),
+          UINT32_C(0x002794C6), UINT32_C(0x00C79DA2), UINT32_C(0x004A9C1B),
+          UINT32_C(0x001A9309), UINT32_C(0x00103ECF)}},
+        {{UINT32_C(0x000ACD3F), UINT32_C(0x000E6E24), UINT32_C(0x0058B8AE),
+          UINT32_C(0x003A4430), UINT32_C(0x000A06B4), UINT32_C(0x002DE854),
+          UINT32_C(0x0044E3E2), UINT32_C(0x000867E3), UINT32_C(0x007FF01B),
+          UINT32_C(0x00244016), UINT32_C(0x00012B1D)},
+         {UINT32_C(0x00B5F186), UINT32_C(0x00752F4D), UINT32_C(0x00358B6B),
+          UINT32_C(0x003F9113), UINT32_C(0x001CEE85), UINT32_C(0x00229C2D),
+          UINT32_C(0x004DA05C), UINT32_C(0x0085A9A9), UINT32_C(0x000D46D9),
+          UINT32_C(0x007E5EDA), UINT32_C(0x00269074)}},
+        {{UINT32_C(0x00A53FDE), UINT32_C(0x0058A7FA), UINT32_C(0x00032B2F),
+          UINT32_C(0x00E52CC5), UINT32_C(0x004F77CE), UINT32_C(0x0074A88B),
+          UINT32_C(0x002F23CF), UINT32_C(0x00F073CD), UINT32_C(0x00591A19),
+          UINT32_C(0x0051A537), UINT32_C(0x007443BE)},
+         {UINT32_C(0x008576CC), UINT32_C(0x006F139C), UINT32_C(0x006B127F),
+          UINT32_C(0x00EFC187), UINT32_C(0x00244143), UINT32_C(0x0038C6EC),
+          UINT32_C(0x001FA2AC), UINT32_C(0x001BF011), UINT32_C(0x005D8AE1),
+          UINT32_C(0x00783BEE), UINT32_C(0x000B5335)}},
+        {{UINT32_C(0x009CB9CB), UINT32_C(0x005CB329), UINT32_C(0x006729A8),
+          UINT32_C(0x00119F0E), UINT32_C(0x002E37B0), UINT32_C(0x00289AD8),
+          UINT32_C(0x0029E70A), UINT32_C(0x00D2872D), UINT32_C(0x0039C662),
+          UINT32_C(0x000182D4), UINT32_C(0x0005EDE9)},
+         {UINT32_C(0x009C3957), UINT32_C(0x005811A1), UINT32_C(0x002C3D0F),
+          UINT32_C(0x00134BF7), UINT32_C(0x00484F36), UINT32_C(0x0002AC30),
+          UINT32_C(0x00425F9B), UINT32_C(0x00955A54), UINT32_C(0x007B6B36),
+          UINT32_C(0x00327B25), UINT32_C(0x007376DB)}},
+        {{UINT32_C(0x00F420A8), UINT32_C(0x001348CB), UINT32_C(0x006949EA),
+          UINT32_C(0x004C3B60), UINT32_C(0x006CECF6), UINT32_C(0x0000EFC9),
+          UINT32_C(0x00740C4A), UINT32_C(0x00271CF1), UINT32_C(0x001CC0D8),
+          UINT32_C(0x00017BE4), UINT32_C(0x0005C726)},
+         {UINT32_C(0x00F3F8A6), UINT32_C(0x00727D92), UINT32_C(0x0063161F),
+          UINT32_C(0x00C70EF9), UINT32_C(0x0015855F), UINT32_C(0x007F8036),
+          UINT32_C(0x00003EDA), UINT32_C(0x001A5C7B), UINT32_C(0x00772841),
+          UINT32_C(0x002A862B), UINT32_C(0x0068F5AC)}},
+        {{UINT32_C(0x00372511), UINT32_C(0x00437344), UINT32_C(0x003E7956),
+          UINT32_C(0x000C1F67), UINT32_C(0x003EB8B3), UINT32_C(0x00557961),
+          UINT32_C(0x0022832B), UINT32_C(0x00F188A2), UINT32_C(0x007E2427),
+          UINT32_C(0x00147CAB), UINT32_C(0x0045D0A9)},
+         {UINT32_C(0x0029CABF), UINT32_C(0x005C33DF), UINT32_C(0x00026D73),
+          UINT32_C(0x00AAF04C), UINT32_C(0x0057DB62), UINT32_C(0x0025990B),
+          UINT32_C(0x006DB6EC), UINT32_C(0x003549E6), UINT32_C(0x001DEEAF),
+          UINT32_C(0x002254AC), UINT32_C(0x0058BBD5)}},
+        {{UINT32_C(0x00B77A44), UINT32_C(0x003F2F46), UINT32_C(0x00064DA4),
+          UINT32_C(0x00839511), UINT32_C(0x0058488B), UINT32_C(0x000B772D),
+          UINT32_C(0x007F4634), UINT32_C(0x008743EC), UINT32_C(0x0050BA38),
+          UINT32_C(0x003CE592), UINT32_C(0x0062440C)},
+         {UINT32_C(0x006C928C), UINT32_C(0x000B1540), UINT32_C(0x00339658),
+          UINT32_C(0x005BEC51), UINT32_C(0x005B1535), UINT32_C(0x007A2111),
+          UINT32_C(0x002A0968), UINT32_C(0x00EF790D), UINT32_C(0x007468E6),
+          UINT32_C(0x00003B62), UINT32_C(0x002C8A13)}},
+    },
+    {
+        {{UINT32_C(0x001AEE99), UINT32_C(0x0020A5A1), UINT32_C(0x0032D7F4),
+          UINT32_C(0x003DF131), UINT32_C(0x001E1996), UINT32_C(0x005B7438),
+          UINT32_C(0x005718AC), UINT32_C(0x00E5D6F0), UINT32_C(0x0067FE3A),
+          UINT32_C(0x0043BEDC), UINT32_C(0x0024BB69)},
+         {UINT32_C(0x00A31E2E), UINT32_C(0x0047EE95), UINT32_C(0x00464DFE),
+          UINT32_C(0x0042F2B4), UINT32_C(0x001FCD82), UINT32_C(0x002D6AB2),
+          UINT32_C(0x004BDFC2), UINT32_C(0x00844674), UINT32_C(0x003D4411),
+          UINT32_C(0x00432B86), UINT32_C(0x002532BF)}},
+        {{UINT32_C(0x005F12F9), UINT32_C(0x0062861D), UINT32_C(0x002EFAAB),
+          UINT32_C(0x00FA0463), UINT32_C(0x00315D4D), UINT32_C(0x0061E65A),
+          UINT32_C(0x005DB18D), UINT32_C(0x0009390F), UINT32_C(0x0059E60A),
+          UINT32_C(0x0065E1AF), UINT32_C(0x00624DB7)},
+         {UINT32_C(0x0083E30F), UINT32_C(0x0064CF13), UINT32_C(0x0072556F),
+          UINT32_C(0x003CA70C), UINT32_C(0x007D9C2B), UINT32_C(0x00139172),
+          UINT32_C(0x002113A1), UINT32_C(0x00FC55DB), UINT32_C(0x000698EC),
+          UINT32_C(0x001E14A5), UINT32_C(0x0076C609)}},
+        {{UINT32_C(0x0095662A), UINT32_C(0x0036AC63), UINT32_C(0x002500EA),
+          UINT32_C(0x004622AB), UINT32_C(0x0077D68E), UINT32_C(0x0037F839),
+          UINT32_C(0x007758F5), UINT32_C(0x00D42942), UINT32_C(0x003DB22A),
+          UINT32_C(0x00622A98), UINT32_C(0x000DFA70)},
+         {UINT32_C(0x00EC12BF), UINT32_C(0x0027B94B), UINT32_C(0x0050E295),
+          UINT32_C(0x00EBCA4D), UINT32_C(0x00276449), UINT32_C(0x0047FCA4),
+          UINT32_C(0x0037ED85), UINT32_C(0x0071515E), UINT32_C(0x0066DA3A),
+          UINT32_C(0x0039095E), UINT32_C(0x005B2B97)}},
+        {{UINT32_C(0x0011BC89), UINT32_C(0x007D50E8), UINT32_C(0x0011BF1F),
+          UINT32_C(0x00A2A84A), UINT32_C(0x0012D4FE), UINT32_C(0x0008D675),
+          UINT32_C(0x002C2672), UINT32_C(0x007645B3), UINT32_C(0x0006D691),
+          UINT32_C(0x00374435), UINT32_C(0x0035AD63)},
+         {UINT32_C(0x0003E773), UINT32_C(0x006AEC1F), UINT32_C(0x005376E6),
+          UINT32_C(0x00D6A2F2), UINT32_C(0x0001A136), UINT32_C(0x0074EE78),
+          UINT32_C(0x00061BC5), UINT32_C(0x00D92C45), UINT32_C(0x00397CD0),
+          UINT32_C(0x0025C26E), UINT32_C(0x0059374C)}},
+        {{UINT32_C(0x00A09501), UINT32_C(0x005C78C0), UINT32_C(0x005FDE74),
+          UINT32_C(0x00106048), UINT32_C(0x007EA30E), UINT32_C(0x00646924),
+          UINT32_C(0x00445B79), UINT32_C(0x000ED086), UINT32_C(0x0064E0AC),
+          UINT32_C(0x007D8CBA), UINT32_C(0x004D380E)},
+         {UINT32_C(0x008E2F04), UINT32_C(0x002E1444), UINT32_C(0x007FAF4F),
+          UINT32_C(0x00780729), UINT32_C(0x003330F9), UINT32_C(0x000589E5),
+          UINT32_C(0x006F0A62), UINT32_C(0x000B0B9C), UINT32_C(0x0013DDD0),
+          UINT32_C(0x000078F6), UINT32_C(0x001CC544)}},
+        {{UINT32_C(0x005823A8), UINT32_C(0x00410483), UINT32_C(0x007E6356),
+          UINT32_C(0x00414323), UINT32_C(0x00224E12), UINT32_C(0x005FCD9C),
+          UINT32_C(0x00737C09), UINT32_C(0x00697EBD), UINT32_C(0x002148D0),
+          UINT32_C(0x002B1D29), UINT32_C(0x000C5045)},
+         {UINT32_C(0x0010C3FE), UINT32_C(0x0016E066), UINT32_C(0x002938C4),
+          UINT32_C(0x003ADAEA), UINT32_C(0x007415B5), UINT32_C(0x00151775),
+          UINT32_C(0x0032ACC0), UINT32_C(0x00930BFE), UINT32_C(0x0035E23E),
+          UINT32_C(0x0072CA6D), UINT32_C(0x004E4B15)}},
+        {{UINT32_C(0x00F00F70), UINT32_C(0x000BABBD), UINT32_C(0x0060773F),
+          UINT32_C(0x007CDF42), UINT32_C(0x0071BD8F), UINT32_C(0x004451AB),
+          UINT32_C(0x00715EB4), UINT32_C(0x00E2E49E), UINT32_C(0x00241448),
+          UINT32_C(0x000AD80D), UINT32_C(0x001CD906)},
+         {UINT32_C(0x00BCBD12), UINT32_C(0x005D595E), UINT32_C(0x0023ED7A),
+          UINT32_C(0x0071C310), UINT32_C(0x0067765E), UINT32_C(0x00657097),
+          UINT32_C(0x00722381), UINT32_C(0x00DE8456), UINT32_C(0x00282F96),
+          UINT32_C(0x00144C0E), UINT32_C(0x00177CA7)}},
+        {{UINT32_C(0x00F71055), UINT32_C(0x006456B1), UINT32_C(0x006700E1),
+          UINT32_C(0x008B98F5), UINT32_C(0x0052ADCD), UINT32_C(0x005744F1),
+          UINT32_C(0x007B204B), UINT32_C(0x00A3506E), UINT32_C(0x0063BE42),
+          UINT32_C(0x007E5FFD), UINT32_C(0x00255C05)},
+         {UINT32_C(0x0088FA6C), UINT32_C(0x00508BF3), UINT32_C(0x006F89D3),
+          UINT32_C(0x00E448C5), UINT32_C(0x00339951), UINT32_C(0x003285F7),
+          UINT32_C(0x0050F779), UINT32_C(0x00BB3742), UINT32_C(0x006C5145),
+          UINT32_C(0x000E4CC6), UINT32_C(0x00725EF1)}},
+        {{UINT32_C(0x0046AE2B), UINT32_C(0x007D776D), UINT32_C(0x003BCE35),
+          UINT32_C(0x00A61FCE), UINT32_C(0x000D70E8), UINT32_C(0x006292B6),
+          UINT32_C(0x00688218), UINT32_C(0x00BE2745), UINT32_C(0x00094E58),
+          UINT32_C(0x0009B42B), UINT32_C(0x0068C161)},
+         {UINT32_C(0x003C69E3), UINT32_C(0x002BB404), UINT32_C(0x00192F8E),
+          UINT32_C(0x006C3642), UINT32_C(0x0017D4D5), UINT32_C(0x00120D15),
+          UINT32_C(0x00150EC2), UINT32_C(0x00894ED0), UINT32_C(0x00708435),
+          UINT32_C(0x000F4581), UINT32_C(0x0077E852)}},
+        {{UINT32_C(0x00E96C40), UINT32_C(0x0003BAE3), UINT32_C(0x0039A069),
+          UINT32_C(0x00CF1197), UINT32_C(0x006C0440), UINT32_C(0x00493531),
+          UINT32_C(0x005CCA20), UINT32_C(0x00051F91), UINT32_C(0x00447C85),
+          UINT32_C(0x00549A26), UINT32_C(0x0021D2DD)},
+         {UINT32_C(0x0003E55C), UINT32_C(0x004C16AC), UINT32_C(0x005A14F7),
+          UINT32_C(0x001EDD65), UINT32_C(0x005E2DE4), UINT32_C(0x00655DDD),
+          UINT32_C(0x00244FD3), UINT32_C(0x0015E737), UINT32_C(0x0059980C),
+          UINT32_C(0x00764CCA), UINT32_C(0x0044B0FC)}},
+        {{UINT32_C(0x000F3BFB), UINT32_C(0x007F6C0E), UINT32_C(0x0049E58A),
+          UINT32_C(0x00ACF249), UINT32_C(0x00257C58), UINT32_C(0x003A18F3),
+          UINT32_C(0x0016A0E2), UINT32_C(0x007F0B1A), UINT32_C(0x002626B9),
+          UINT32_C(0x002ADDDB), UINT32_C(0x00666FAA)},
+         {UINT32_C(0x00951F40), UINT32_C(0x005AD6ED), UINT32_C(0x005A13DC),
+          UINT32_C(0x002957F5), UINT32_C(0x0003C908), UINT32_C(0x002ED9F8),
+          UINT32_C(0x0038A2EF), UINT32_C(0x0066D359), UINT32_C(0x0036BB80),
+          UINT32_C(0x00485D4E), UINT32_C(0x002385BC)}},
+        {{UINT32_C(0x006992BF), UINT32_C(0x007FBDBC), UINT32_C(0x004F0C3A),
+          UINT32_C(0x00A97852), UINT32_C(0x003652C9), UINT32_C(0x00566C64),
+          UINT32_C(0x0010EA10), UINT32_C(0x003DBBC8), UINT32_C(0x0073C6FC),
+          UINT32_C(0x0016BB4F), UINT32_C(0x007D9107)},
+         {UINT32_C(0x009A6F04), UINT32_C(0x0001B25D), UINT32_C(0x0069D11F),
+          UINT32_C(0x00F781A6), UINT32_C(0x0017833C), UINT32_C(0x00650EA3),
+          UINT32_C(0x0026DE8E), UINT32_C(0x00F206B1), UINT32_C(0x00381F8F),
+          UINT32_C(0x003E0885), UINT32_C(0x003EC7B2)}},
+        {{UINT32_C(0x006CC730), UINT32_C(0x003FB03B), UINT32_C(0x003A12B4),
+          UINT32_C(0x001E86B8), UINT32_C(0x004DDC8F), UINT32_C(0x0013F1F5),
+          UINT32_C(0x005AA6C4), UINT32_C(0x006D4113), UINT32_C(0x002B4497),
+          UINT32_C(0x00637931), UINT32_C(0x007E14DA)},
+         {UINT32_C(0x0082428A), UINT32_C(0x00781839), UINT32_C(0x006D3EE0),
+          UINT32_C(0x00556D45), UINT32_C(0x004CBA3D), UINT32_C(0x001A817C),
+          UINT32_C(0x00079618), UINT32_C(0x009AD974), UINT32_C(0x00039ACC),
+          UINT32_C(0x0066941E), UINT32_C(0x0017E43E)}},
+        {{UINT32_C(0x001E17BF), UINT32_C(0x003A82E9), UINT32_C(0x00715860),
+          UINT32_C(0x0066AD72), UINT32_C(0x00704AA0), UINT32_C(0x00610943),
+          UINT32_C(0x006D6665), UINT32_C(0x0098EA35), UINT32_C(0x006ADBD9),
+          UINT32_C(0x00686CCC), UINT32_C(0x001D3BA6)},
+         {UINT32_C(0x009EE4F6), UINT32_C(0x006D56D7), UINT32_C(0x003DF3FF),
+          UINT32_C(0x006D335A), UINT32_C(0x00136056), UINT32_C(0x007862D7),
+          UINT32_C(0x00014DFF), UINT32_C(0x0069526C), UINT32_C(0x004239B5),
+          UINT32_C(0x00225D2B), UINT32_C(0x0034F5F0)}},
+        {{UINT32_C(0x00CDEBA0), UINT32_C(0x00343287), UINT32_C(0x00356E22),
+          UINT32_C(0x00620AEB), UINT32_C(0x0079884F), UINT32_C(0x005ED81F),
+          UINT32_C(0x00266E56), UINT32_C(0x00DFC04D), UINT32_C(0x00251F00),
+          UINT32_C(0x000B1056), UINT32_C(0x003312CA)},
+         {UINT32_C(0x0093459D), UINT32_C(0x00027551), UINT32_C(0x005C7CA5),
+          UINT32_C(0x005793A0), UINT32_C(0x00444B26), UINT32_C(0x002E17C0),
+          UINT32_C(0x0065465E), UINT32_C(0x00DE0CFB), UINT32_C(0x00246A04),
+          UINT32_C(0x0058A1E7), UINT32_C(0x0002E6ED)}},
+        {{UINT32_C(0x00D9BCCB), UINT32_C(0x00731CB2), UINT32_C(0x0054E269),
+          UINT32_C(0x00298E40), UINT32_C(0x0038BD8A), UINT32_C(0x001EF4E1),
+          UINT32_C(0x00536780), UINT32_C(0x008FC99C), UINT32_C(0x0070FBA5),
+          UINT32_C(0x0023FE5A), UINT32_C(0x003086A6)},
+         {UINT32_C(0x005F65D4), UINT32_C(0x0018B097), UINT32_C(0x0000D107),
+          UINT32_C(0x00A7F701), UINT32_C(0x006D932A), UINT32_C(0x00645C66),
+          UINT32_C(0x0031D996), UINT32_C(0x0021F472), UINT32_C(0x003E05E2),
+          UINT32_C(0x00566358), UINT32_C(0x0020AA4B)}},
+    },
+    {
+        {{UINT32_C(0x00036494), UINT32_C(0x002C1376), UINT32_C(0x003827F0),
+          UINT32_C(0x00602697), UINT32_C(0x007FBAE0), UINT32_C(0x0023C27C),
+          UINT32_C(0x0077FD3B), UINT32_C(0x00D682CE), UINT32_C(0x0000127C),
+          UINT32_C(0x001800D0), UINT32_C(0x00434FAA)},
+         {UINT32_C(0x0097CE18), UINT32_C(0x006C7E53), UINT32_C(0x002407FE),
+          UINT32_C(0x00E59769), UINT32_C(0x0049091C), UINT32_C(0x005990C5),
+          UINT32_C(0x000A8116), UINT32_C(0x006EF1DA), UINT32_C(0x0050BE84),
+          UINT32_C(0x00409E8E), UINT32_C(0x00032E15)}},
+        {{UINT32_C(0x008BA0CB), UINT32_C(0x0024C765), UINT32_C(0x0025C9B4),
+          UINT32_C(0x00BEB81D), UINT32_C(0x005F5936), UINT32_C(0x00398905),
+          UINT32_C(0x0019ABFF), UINT32_C(0x00D2850E), UINT32_C(0x0017E744),
+          UINT32_C(0x006ED216), UINT32_C(0x005B3A87)},
+         {UINT32_C(0x000D9750), UINT32_C(0x005A6DCD), UINT32_C(0x0023AC02),
+          UINT32_C(0x00193FD3), UINT32_C(0x00311A37), UINT32_C(0x0018B521),
+          UINT32_C(0x0041715F), UINT32_C(0x00B7BEE0), UINT32_C(0x004A2676),
+          UINT32_C(0x0009D393), UINT32_C(0x0051FD17)}},
+        {{UINT32_C(0x00BA8CD3), UINT32_C(0x001C0A4F), UINT32_C(0x007FF7A6),
+          UINT32_C(0x0061749E), UINT32_C(0x0012F613), UINT32_C(0x001F7746),
+          UINT32_C(0x0018B9B4), UINT32_C(0x0055F5A2), UINT32_C(0x0039E0C6),
+          UINT32_C(0x002C981C), UINT32_C(0x00252009)},
+         {UINT32_C(0x003B1F03), UINT32_C(0x0024B0F4), UINT32_C(0x002D9C8D),
+          UINT32_C(0x005B3BC2), UINT32_C(0x0013D8D6), UINT32_C(0x001AE9C3),
+          UINT32_C(0x00365B85), UINT32_C(0x0047917C), UINT32_C(0x003A827D),
+          UINT32_C(0x006AC519), UINT32_C(0x0042EF23)}},
+        {{UINT32_C(0x0058227A), UINT32_C(0x000C7436), UINT32_C(0x000A3CE3),
+          UINT32_C(0x00AC1B52), UINT32_C(0x00026B67), UINT32_C(0x0002D123),
+          UINT32_C(0x001FFB2E), UINT32_C(0x00DF0227), UINT32_C(0x003158E6),
+          UINT32_C(0x00619FE2), UINT32_C(0x003BDF03)},
+         {UINT32_C(0x00B4A505), UINT32_C(0x0038DD5F), UINT32_C(0x00129DC1),
+          UINT32_C(0x0035123F), UINT32_C(0x0018810B), UINT32_C(0x0023ECA8),
+          UINT32_C(0x000F60A9), UINT32_C(0x0067E897), UINT32_C(0x002B00B6),
+          UINT32_C(0x0035E5A1), UINT32_C(0x0050D661)}},
+        {{UINT32_C(0x006D68FC), UINT32_C(0x000B651D), UINT32_C(0x003E52A8),
+          UINT32_C(0x005ACD99), UINT32_C(0x00216D3E), UINT32_C(0x004C0891),
+          UINT32_C(0x00621922), UINT32_C(0x0058B412), UINT32_C(0x007F124C),
+          UINT32_C(0x00597E66), UINT32_C(0x000FAB72)},
+         {UINT32_C(0x00FAF9A7), UINT32_C(0x0074624D), UINT32_C(0x005AE3A4),
+          UINT32_C(0x00A54BEE), UINT32_C(0x0004EB36), UINT32_C(0x000DC858),
+          UINT32_C(0x00030603), UINT32_C(0x00A8E0B4), UINT32_C(0x00232FA4),
+          UINT32_C(0x0013D254), UINT32_C(0x0020B631)}},
+        {{UINT32_C(0x003E9997), UINT32_C(0x0050A360), UINT32_C(0x004BAD00),
+          UINT32_C(0x00AB737C), UINT32_C(0x007E4EE9), UINT32_C(0x0073ACDF),
+          UINT32_C(0x007C4D6E), UINT32_C(0x00A39D1C), UINT32_C(0x0042570D),
+          UINT32_C(0x0033830B), UINT32_C(0x0008E1D4)},
+         {UINT32_C(0x00583D12), UINT32_C(0x005EA888), UINT32_C(0x0026BED7),
+          UINT32_C(0x00C1B988), UINT32_C(0x0039E362), UINT32_C(0x007B873E),
+          UINT32_C(0x005C3583), UINT32_C(0x00EB9BA2), UINT32_C(0x00638B35),
+          UINT32_C(0x00148D21), UINT32_C(0x001B932B)}},
+        {{UINT32_C(0x002B37C3), UINT32_C(0x002F929B), UINT32_C(0x002CCC0B),
+          UINT32_C(0x0024809E), UINT32_C(0x004FF9D5), UINT32_C(0x00099837),
+          UINT32_C(0x0064A89F), UINT32_C(0x00C0C429), UINT32_C(0x007035B1),
+          UINT32_C(0x00261985), UINT32_C(0x00331EBF)},
+         {UINT32_C(0x00132A81), UINT32_C(0x00604DFD), UINT32_C(0x0003EF4A),
+          UINT32_C(0x00FECB3D), UINT32_C(0x0008A863), UINT32_C(0x007FF6C4),
+          UINT32_C(0x001F6DF0), UINT32_C(0x00BD475A), UINT32_C(0x004FC4E2),
+          UINT32_C(0x0061E60C), UINT32_C(0x003C7003)}},
+        {{UINT32_C(0x00D82392), UINT32_C(0x00774CFB), UINT32_C(0x0011493F),
+          UINT32_C(0x007D13D1), UINT32_C(0x0005A8E0), UINT32_C(0x0036AD5D),
+          UINT32_C(0x00231BED), UINT32_C(0x006C009E), UINT32_C(0x00599C2E),
+          UINT32_C(0x002294D8), UINT32_C(0x0077C42B)},
+         {UINT32_C(0x0044379A), UINT32_C(0x00456F09), UINT32_C(0x00385653),
+          UINT32_C(0x00EFE8AC), UINT32_C(0x004C24E0), UINT32_C(0x0037DA15),
+          UINT32_C(0x002B9F25), UINT32_C(0x00E34D0C), UINT32_C(0x00566C76),
+          UINT32_C(0x0030810A), UINT32_C(0x00782A2F)}},
+        {{UINT32_C(0x002AE6A8), UINT32_C(0x00049620), UINT32_C(0x00144B79),
+          UINT32_C(0x00EDD792), UINT32_C(0x007D310C), UINT32_C(0x00752D40),
+          UINT32_C(0x000CE8A0), UINT32_C(0x00440AAB), UINT32_C(0x007A9135),
+          UINT32_C(0x00324DA4), UINT32_C(0x00022CA7)},
+         {UINT32_C(0x001E7545), UINT32_C(0x005E29F4), UINT32_C(0x0039D31B),
+          UINT32_C(0x0060119F), UINT32_C(0x00521746), UINT32_C(0x00334BCB),
+          UINT32_C(0x006F2A29), UINT32_C(0x00F2D35C), UINT32_C(0x00622340),
+          UINT32_C(0x004E3832), UINT32_C(0x000B1869)}},
+        {{UINT32_C(0x0035F98E), UINT32_C(0x0054DCDC), UINT32_C(0x000537A8),
+          UINT32_C(0x00EA6A6E), UINT32_C(0x00247B34), UINT32_C(0x0029BD4F),
+          UINT32_C(0x0061AE41), UINT32_C(0x009B51AC), UINT32_C(0x0016A791),
+          UINT32_C(0x0055445E), UINT32_C(0x004F050E)},
+         {UINT32_C(0x000DC4CB), UINT32_C(0x001AE73A), UINT32_C(0x004BD8B2),
+          UINT32_C(0x00E459A8), UINT32_C(0x0040AF9C), UINT32_C(0x0073F418),
+          UINT32_C(0x004B87C6), UINT32_C(0x0074AA9F), UINT32_C(0x002F4063),
+          UINT32_C(0x007AC805), UINT32_C(0x0016C70F)}},
+        {{UINT32_C(0x0062EAB1), UINT32_C(0x0054EBAD), UINT32_C(0x001F2558),
+          UINT32_C(0x00F0079A), UINT32_C(0x007D23A9), UINT32_C(0x005BF1F5),
+          UINT32_C(0x004E2647), UINT32_C(0x00A0F501), UINT32_C(0x00278FBD),
+          UINT32_C(0x0025F639), UINT32_C(0x00441A71)},
+         {UINT32_C(0x00F8A724), UINT32_C(0x0034DAD4), UINT32_C(0x004C22C9),
+          UINT32_C(0x00B48AB8), UINT32_C(0x000356CF), UINT32_C(0x00596FDE),
+          UINT32_C(0x00317CF9), UINT32_C(0x003F2657), UINT32_C(0x00381653),
+          UINT32_C(0x0050040E), UINT32_C(0x0055A4A1)}},
+        {{UINT32_C(0x00EDE34B), UINT32_C(0x0056B7CD), UINT32_C(0x002EF4B0),
+          UINT32_C(0x00E81239), UINT32_C(0x00533D1B), UINT32_C(0x0062E46C),
+          UINT32_C(0x005A9C1B), UINT32_C(0x0056141C), UINT32_C(0x003E618F),
+          UINT32_C(0x0075FB2A), UINT32_C(0x001440CE)},
+         {UINT32_C(0x00CED2B3), UINT32_C(0x0063FD4A), UINT32_C(0x00487E7B),
+          UINT32_C(0x008BFD17), UINT32_C(0x00612FE8), UINT32_C(0x0018078E),
+          UINT32_C(0x001A43E6), UINT32_C(0x00CA1FDE), UINT32_C(0x004D5027),
+          UINT32_C(0x00686BA9), UINT32_C(0x005C5F64)}},
+        {{UINT32_C(0x006B794B), UINT32_C(0x003E8078), UINT32_C(0x00725DFB),
+          UINT32_C(0x0003E642), UINT32_C(0x003284D3), UINT32_C(0x006EEFC1),
+          UINT32_C(0x001A1987), UINT32_C(0x0016E28C), UINT32_C(0x00113F3C),
+          UINT32_C(0x003E8399), UINT32_C(0x00287A14)},
+         {UINT32_C(0x00BDAF78), UINT32_C(0x0013F588), UINT32_C(0x003E90C4),
+          UINT32_C(0x00D74064), UINT32_C(0x0042B810), UINT32_C(0x005F4A46),
+          UINT32_C(0x00543784), UINT32_C(0x00DB74C5), UINT32_C(0x00459CD7),
+          UINT32_C(0x007531F3), UINT32_C(0x0055B5A4)}},
+        {{UINT32_C(0x001A34E7), UINT32_C(0x002AEEC8), UINT32_C(0x00323D42),
+          UINT32_C(0x00EABD9E), UINT32_C(0x000718F6), UINT32_C(0x0001BD5B),
+          UINT32_C(0x000C39BC), UINT32_C(0x00B62821), UINT32_C(0x00561E9A),
+          UINT32_C(0x001FBABE), UINT32_C(0x00311DCD)},
+         {UINT32_C(0x00BEEAE4), UINT32_C(0x003E6854), UINT32_C(0x002AE46E),
+          UINT32_C(0x00E57DCB), UINT32_C(0x004F1D7E), UINT32_C(0x0061FDF3),
+          UINT32_C(0x00262088), UINT32_C(0x006BA852), UINT32_C(0x004FBF3F),
+          UINT32_C(0x0019B907), UINT32_C(0x005993AA)}},
+        {{UINT32_C(0x002F3F67), UINT32_C(0x000A5A43), UINT32_C(0x006CED05),
+          UINT32_C(0x0042972A), UINT32_C(0x0027B1D7), UINT32_C(0x002E72AE),
+          UINT32_C(0x0056B1CB), UINT32_C(0x00C6C042), UINT32_C(0x001AA312),
+          UINT32_C(0x0023387A), UINT32_C(0x003C0940)},
+         {UINT32_C(0x00F0C8DC), UINT32_C(0x000D1A71), UINT32_C(0x00038280),
+          UINT32_C(0x0098AB5B), UINT32_C(0x000AA672), UINT32_C(0x0000542D),
+          UINT32_C(0x005924A7), UINT32_C(0x009C972A), UINT32_C(0x0018581C),
+          UINT32_C(0x00446E5A), UINT32_C(0x002EF656)}},
+        {{UINT32_C(0x005F254D), UINT32_C(0x002CA014), UINT32_C(0x00274390),
+          UINT32_C(0x005F1C09), UINT32_C(0x002A9A4C), UINT32_C(0x007503A3),
+          UINT32_C(0x0071F4B9), UINT32_C(0x00667201), UINT32_C(0x0024873C),
+          UINT32_C(0x001FE8DB), UINT32_C(0x00265A01)},
+         {UINT32_C(0x0080223D), UINT32_C(0x000339C4), UINT32_C(0x005B64C0),
+          UINT32_C(0x00A79EED), UINT32_C(0x0059C957), UINT32_C(0x005E2D2E),
+          UINT32_C(0x0034AC78), UINT32_C(0x002BAFEE), UINT32_C(0x00778F99),
+          UINT32_C(0x004D908C), UINT32_C(0x001C71C6)}},
+    },
+    {
+        {{UINT32_C(0x007525D6), UINT32_C(0x0078DFD0), UINT32_C(0x001AC075),
+          UINT32_C(0x00F76FA4), UINT32_C(0x00219F6A), UINT32_C(0x0023F7CB),
+          UINT32_C(0x00236512), UINT32_C(0x008E5237), UINT32_C(0x00768B95),
+          UINT32_C(0x001F359E), UINT32_C(0x007BC8CE)},
+         {UINT32_C(0x002B44FC), UINT32_C(0x006A2BEB), UINT32_C(0x005919FE),
+          UINT32_C(0x004D26D0), UINT32_C(0x0012E603), UINT32_C(0x0035F223),
+          UINT32_C(0x0045E5BE), UINT32_C(0x007A242E), UINT32_C(0x0052F654),
+          UINT32_C(0x00463CC4), UINT32_C(0x007D62C2)}},
+        {{UINT32_C(0x00725350), UINT32_C(0x0055207F), UINT32_C(0x0019B576),
+          UINT32_C(0x0077FB10), UINT32_C(0x003DB655), UINT32_C(0x0060FCDA),
+          UINT32_C(0x007593DB), UINT32_C(0x001E1420), UINT32_C(0x00148D4C),
+          UINT32_C(0x00257261), UINT32_C(0x0012B622)},
+         {UINT32_C(0x0068CF96), UINT32_C(0x003F92AE), UINT32_C(0x00548833),
+          UINT32_C(0x001EFE5D), UINT32_C(0x005E4445), UINT32_C(0x004C80EA),
+          UINT32_C(0x0024D667), UINT32_C(0x009CEF0B), UINT32_C(0x007834DE),
+          UINT32_C(0x00246306), UINT32_C(0x0032BC94)}},
+        {{UINT32_C(0x00D15DFB), UINT32_C(0x005373DE), UINT32_C(0x0023474D),
+          UINT32_C(0x00B4F94C), UINT32_C(0x006DE5AE), UINT32_C(0x002F13F2),
+          UINT32_C(0x0008C966), UINT32_C(0x00D9C843), UINT32_C(0x006152D1),
+          UINT32_C(0x003AB7F0), UINT32_C(0x00542CFC)},
+         {UINT32_C(0x00ECDC3F), UINT32_C(0x0057D935), UINT32_C(0x003FD00C),
+          UINT32_C(0x0029A8C0), UINT32_C(0x0015C42A), UINT32_C(0x0024D14E),
+          UINT32_C(0x003C9CA5), UINT32_C(0x008E67D4), UINT32_C(0x0030ED8B),
+          UINT32_C(0x0077755C), UINT32_C(0x00490705)}},
+        {{UINT32_C(0x00A0236C), UINT32_C(0x00239926), UINT32_C(0x000860D0),
+          UINT32_C(0x00C90CD5), UINT32_C(0x003F7701), UINT32_C(0x006A3B4E),
+          UINT32_C(0x0038FDDB), UINT32_C(0x0092E0E2), UINT32_C(0x0064FAA4),
+          UINT32_C(0x0054A42A), UINT32_C(0x00664E83)},
+         {UINT32_C(0x00BAE781), UINT32_C(0x0011625D), UINT32_C(0x003FF2BE),
+          UINT32_C(0x00B48675), UINT32_C(0x0033D5A4), UINT32_C(0x0046E677),
+          UINT32_C(0x005C79EC), UINT32_C(0x003EFC01), UINT32_C(0x000687DF),
+          UINT32_C(0x003F98E6), UINT32_C(0x0057654A)}},
+        {{UINT32_C(0x007C9D05), UINT32_C(0x006E343C), UINT32_C(0x006CA1D5),
+          UINT32_C(0x00045CD0), UINT32_C(0x00464424), UINT32_C(0x005D6BB6),
+          UINT32_C(0x005D7662), UINT32_C(0x00795A8B), UINT32_C(0x000678F1),
+          UINT32_C(0x0042EAF9), UINT32_C(0x0076F6DB)},
+         {UINT32_C(0x00A709D2), UINT32_C(0x000CF913), UINT32_C(0x00392FD7),
+          UINT32_C(0x00C45B5F), UINT32_C(0x006D4BFE), UINT32_C(0x007F5BBB),
+          UINT32_C(0x007C0A94), UINT32_C(0x00C8F23E), UINT32_C(0x0022B535),
+          UINT32_C(0x002AB090), UINT32_C(0x002E9B77)}},
+        {{UINT32_C(0x001791A0), UINT32_C(0x0075D057), UINT32_C(0x007D4EEA),
+          UINT32_C(0x003876FE), UINT32_C(0x0021CF5E), UINT32_C(0x000E949E),
+          UINT32_C(0x0054DD38), UINT32_C(0x00A4D9B8), UINT32_C(0x005C64BF),
+          UINT32_C(0x0012AA75), UINT32_C(0x00427813)},
+         {UINT32_C(0x00A2F134), UINT32_C(0x0057EE9E), UINT32_C(0x006685A2),
+          UINT32_C(0x00C39E70), UINT32_C(0x005C02EE), UINT32_C(0x0028E089),
+          UINT32_C(0x0016D61B), UINT32_C(0x0091565C), UINT32_C(0x007FE441),
+          UINT32_C(0x00441BC2), UINT32_C(0x004FB186)}},
+        {{UINT32_C(0x009F9253), UINT32_C(0x00044FEB), UINT32_C(0x006A66A4),
+          UINT32_C(0x00E8981D), UINT32_C(0x0051448B), UINT32_C(0x005BA13C),
+          UINT32_C(0x005581CF), UINT32_C(0x00E8DD5B), UINT32_C(0x0078C1B6),
+          UINT32_C(0x003CA471), UINT32_C(0x0008E7A6)},
+         {UINT32_C(0x005393E2), UINT32_C(0x004204D4), UINT32_C(0x00211A2A),
+          UINT32_C(0x00B3D008), UINT32_C(0x001CFAF3), UINT32_C(0x00068C84),
+          UINT32_C(0x00504638), UINT32_C(0x00DC6FBE), UINT32_C(0x00605F56),
+          UINT32_C(0x007CE2A4), UINT32_C(0x0017AC9D)}},
+        {{UINT32_C(0x00E75974), UINT32_C(0x0072E0A3), UINT32_C(0x006950E5),
+          UINT32_C(0x007C5A29), UINT32_C(0x000512AA), UINT32_C(0x002A144F),
+          UINT32_C(0x001214FA), UINT32_C(0x00B04BDE), UINT32_C(0x000CC72A),
+          UINT32_C(0x002DD6C9), UINT32_C(0x00200FEB)},
+         {UINT32_C(0x007358CA), UINT32_C(0x0039CE66), UINT32_C(0x00003E83),
+          UINT32_C(0x00B9546A), UINT32_C(0x00460D56), UINT32_C(0x001A5A98),
+          UINT32_C(0x0012E16F), UINT32_C(0x00CE362B), UINT32_C(0x006563AD),
+          UINT32_C(0x000C7CFB), UINT32_C(0x000164A2)}},
+        {{UINT32_C(0x00A74C0C), UINT32_C(0x0029F428), UINT32_C(0x0037267E),
+          UINT32_C(0x00C65194), UINT32_C(0x0043C78F), UINT32_C(0x0069B993),
+          UINT32_C(0x003AA947), UINT32_C(0x0088BC88), UINT32_C(0x000B40A1),
+          UINT32_C(0x003E35D0), UINT32_C(0x001B4097)},
+         {UINT32_C(0x00286354), UINT32_C(0x0075D2BC), UINT32_C(0x005D7F2F),
+          UINT32_C(0x00BD4F51), UINT32_C(0x006A5900), UINT32_C(0x00308202),
+          UINT32_C(0x000E81D9), UINT32_C(0x00453B04), UINT32_C(0x006B1E9A),
+          UINT32_C(0x0063911F), UINT32_C(0x000FD0D6)}},
+        {{UINT32_C(0x006EFE04), UINT32_C(0x0047D6E6), UINT32_C(0x00020EA2),
+          UINT32_C(0x0043B88F), UINT32_C(0x006A837A), UINT32_C(0x0011DB56),
+          UINT32_C(0x004C3742), UINT32_C(0x00803C38), UINT32_C(0x001A9540),
+          UINT32_C(0x001A1F6E), UINT32_C(0x002D2188)},
+         {UINT32_C(0x009722F0), UINT32_C(0x0079FAD8), UINT32_C(0x006D15C3),
+          UINT32_C(0x007C9007), UINT32_C(0x0023E12A), UINT32_C(0x0009E88F),
+          UINT32_C(0x0038D49A), UINT32_C(0x00B87971), UINT32_C(0x0054EA95),
+          UINT32_C(0x003BED25), UINT32_C(0x003C9370)}},
+        {{UINT32_C(0x00730AAD), UINT32_C(0x0074B69E), UINT32_C(0x0018A010),
+          UINT32_C(0x00ACF869), UINT32_C(0x00202D91), UINT32_C(0x00618FE7),
+          UINT32_C(0x0003783B), UINT32_C(0x00322502), UINT32_C(0x004702AC),
+          UINT32_C(0x0075B517), UINT32_C(0x0036900B)},
+         {UINT32_C(0x003FB20A), UINT32_C(0x00437022), UINT32_C(0x003D242B),
+          UINT32_C(0x00FEE4F4), UINT32_C(0x00276D11), UINT32_C(0x0040A87C),
+          UINT32_C(0x0061F26A), UINT32_C(0x00F66A5B), UINT32_C(0x0076128D),
+          UINT32_C(0x002AD91A), UINT32_C(0x007D1259)}},
+        {{UINT32_C(0x007628C3), UINT32_C(0x0073E024), UINT32_C(0x0023855F),
+          UINT32_C(0x004B1FBD), UINT32_C(0x00684558), UINT32_C(0x005CB959),
+          UINT32_C(0x005ED77A), UINT32_C(0x008234D5), UINT32_C(0x001DF835),
+          UINT32_C(0x00194398), UINT32_C(0x00209BA1)},
+         {UINT32_C(0x00632779), UINT32_C(0x00194050), UINT32_C(0x006E13F1),
+          UINT32_C(0x008FA4BC), UINT32_C(0x00464026), UINT32_C(0x0013B9ED),
+          UINT32_C(0x003DCB10), UINT32_C(0x00BD9EE5), UINT32_C(0x00757CA6),
+          UINT32_C(0x007A0F71), UINT32_C(0x000B4460)}},
+        {{UINT32_C(0x0012D2C5), UINT32_C(0x005F26F3), UINT32_C(0x003FDA58),
+          UINT32_C(0x009F0D33), UINT32_C(0x001A9FC7), UINT32_C(0x00412B7C),
+          UINT32_C(0x005BD541), UINT32_C(0x00275539), UINT32_C(0x0026899F),
+          UINT32_C(0x0062067D), UINT32_C(0x004ABE07)},
+         {UINT32_C(0x009290FF), UINT32_C(0x0008F902), UINT32_C(0x005B3174),
+          UINT32_C(0x00BD00F1), UINT32_C(0x006F6CFA), UINT32_C(0x00703B6C),
+          UINT32_C(0x004B306D), UINT32_C(0x00331AC1), UINT32_C(0x00703E76),
+          UINT32_C(0x004712AD), UINT32_C(0x000C81F8)}},
+        {{UINT32_C(0x00FE693D), UINT32_C(0x000F4508), UINT32_C(0x0002FCF8),
+          UINT32_C(0x00E0954B), UINT32_C(0x00040F5D), UINT32_C(0x005C00E7),
+          UINT32_C(0x00700B3A), UINT32_C(0x00420CF9), UINT32_C(0x002B08A6),
+          UINT32_C(0x00160E5F), UINT32_C(0x001712CE)},
+         {UINT32_C(0x00A1DBED), UINT32_C(0x00787A0A), UINT32_C(0x000BCD4C),
+          UINT32_C(0x0062D939), UINT32_C(0x006B28AC), UINT32_C(0x00164809),
+          UINT32_C(0x007F6FE7), UINT32_C(0x005D1F67), UINT32_C(0x00557447),
+          UINT32_C(0x0062C3E0), UINT32_C(0x00476FD0)}},
+        {{UINT32_C(0x00B36FBF), UINT32_C(0x003D80AA), UINT32_C(0x00214159),
+          UINT32_C(0x00E99663), UINT32_C(0x0058CDAA), UINT32_C(0x0014C3F2),
+          UINT32_C(0x003D868E), UINT32_C(0x0035B474), UINT32_C(0x001D1436),
+          UINT32_C(0x00048E40), UINT32_C(0x006AAF0D)},
+         {UINT32_C(0x00D0E8D0), UINT32_C(0x005BDF3C), UINT32_C(0x00258CC0),
+          UINT32_C(0x00828F97), UINT32_C(0x0012E7A5), UINT32_C(0x004BAF68),
+          UINT32_C(0x004E71C5), UINT32_C(0x002A2699), UINT32_C(0x006A772A),
+          UINT32_C(0x0017160A), UINT32_C(0x0040BDB6)}},
+        {{UINT32_C(0x002BCD28), UINT32_C(0x006CCC00), UINT32_C(0x004C1CF7),
+          UINT32_C(0x001BA30A), UINT32_C(0x006097CD), UINT32_C(0x005D0B45),
+          UINT32_C(0x002C9DCF), UINT32_C(0x00C3CD03), UINT32_C(0x00489B87),
+          UINT32_C(0x007C9642), UINT32_C(0x005A0A68)},
+         {UINT32_C(0x00D7C516), UINT32_C(0x0054FD9C), UINT32_C(0x001F2677),
+          UINT32_C(0x004F48D5), UINT32_C(0x000B6C13), UINT32_C(0x0078D063),
+          UINT32_C(0x005298BA), UINT32_C(0x00B8780E), UINT32_C(0x00220AF4),
+          UINT32_C(0x00076896), UINT32_C(0x00027744)}},
+    },
+    {
+        {{UINT32_C(0x00259121), UINT32_C(0x00780B29), UINT32_C(0x00039769),
+          UINT32_C(0x00EB5E49), UINT32_C(0x00050B31), UINT32_C(0x000092C3),
+          UINT32_C(0x004A18D1), UINT32_C(0x00BEE193), UINT32_C(0x0021482F),
+          UINT32_C(0x0018C2E7), UINT32_C(0x0018F417)},
+         {UINT32_C(0x003B3193), UINT32_C(0x00535E04), UINT32_C(0x00500D71),
+          UINT32_C(0x0036E3E0), UINT32_C(0x006FF0A5), UINT32_C(0x007EA7BE),
+          UINT32_C(0x00407708), UINT32_C(0x00630180), UINT32_C(0x007BF646),
+          UINT32_C(0x00576B67), UINT32_C(0x007CE956)}},
+        {{UINT32_C(0x00171587), UINT32_C(0x00655CC1), UINT32_C(0x00488679),
+          UINT32_C(0x00CE4CA9), UINT32_C(0x00041352), UINT32_C(0x007263F6),
+          UINT32_C(0x0010ADD3), UINT32_C(0x00076CB5), UINT32_C(0x003EB667),
+          UINT32_C(0x006C507D), UINT32_C(0x0079534E)},
+         {UINT32_C(0x001F5C5D), UINT32_C(0x00303618), UINT32_C(0x0007DBD5),
+          UINT32_C(0x000DB229), UINT32_C(0x007DA0B0), UINT32_C(0x00423931),
+          UINT32_C(0x0047CEA2), UINT32_C(0x0078D1CB), UINT32_C(0x00147094),
+          UINT32_C(0x007B2327), UINT32_C(0x00417208)}},
+        {{UINT32_C(0x009DFEFF), UINT32_C(0x0033C1FF), UINT32_C(0x003D13CC),
+          UINT32_C(0x0022EFEF), UINT32_C(0x007FE948), UINT32_C(0x005EEFB8),
+          UINT32_C(0x001AD2B7), UINT32_C(0x00E96C81), UINT32_C(0x0026BBFC),
+          UINT32_C(0x002585EE), UINT32_C(0x00745C59)},
+         {UINT32_C(0x009DCD65), UINT32_C(0x0021489A), UINT32_C(0x00004480),
+          UINT32_C(0x00060657), UINT32_C(0x003701DD), UINT32_C(0x005D19B3),
+          UINT32_C(0x0075E1C0), UINT32_C(0x003892E0), UINT32_C(0x0064F9DE),
+          UINT32_C(0x0035DC27), UINT32_C(0x0022C79F)}},
+        {{UINT32_C(0x0058C6F2), UINT32_C(0x00752404), UINT32_C(0x006C8922),
+          UINT32_C(0x00E6C036), UINT32_C(0x004204FF), UINT32_C(0x002ED321),
+          UINT32_C(0x003D0BB2), UINT32_C(0x006D9D7A), UINT32_C(0x006E5E62),
+          UINT32_C(0x004F1C35), UINT32_C(0x007EF78D)},
+         {UINT32_C(0x009190F7), UINT32_C(0x005FBA14), UINT32_C(0x004879E5),
+          UINT32_C(0x00A6E235), UINT32_C(0x005DD8F6), UINT32_C(0x00554643),
+          UINT32_C(0x00090E18), UINT32_C(0x00611285), UINT32_C(0x001AEA18),
+          UINT32_C(0x0072B543), UINT32_C(0x002593AC)}},
+        {{UINT32_C(0x0059C268), UINT32_C(0x0012165B), UINT32_C(0x00159FF5),
+          UINT32_C(0x003F5872), UINT32_C(0x004905ED), UINT32_C(0x001BF4B6),
+          UINT32_C(0x00355284), UINT32_C(0x00D00A03), UINT32_C(0x001B4A76),
+          UINT32_C(0x0031B3A5), UINT32_C(0x005DDE8F)},
+         {UINT32_C(0x0061678D), UINT32_C(0x000F2A71), UINT32_C(0x001FDD6E),
+          UINT32_C(0x0076A915), UINT32_C(0x00582B74), UINT32_C(0x000DA16F),
+          UINT32_C(0x00345F20), UINT32_C(0x00634760), UINT32_C(0x0051ED40),
+          UINT32_C(0x006A3D97), UINT32_C(0x00190B8F)}},
+        {{UINT32_C(0x00EECAB3), UINT32_C(0x002F2403), UINT32_C(0x00636CBA),
+          UINT32_C(0x00A54BAF), UINT32_C(0x007D99BA), UINT32_C(0x0007FB3D),
+          UINT32_C(0x003C3EAC), UINT32_C(0x000EF42B), UINT32_C(0x00198349),
+          UINT32_C(0x002E9959), UINT32_C(0x000F2F86)},
+         {UINT32_C(0x00B9D5F6), UINT32_C(0x00463217), UINT32_C(0x00074FAC),
+          UINT32_C(0x001183B8), UINT32_C(0x002C896F), UINT32_C(0x0055F891),
+          UINT32_C(0x00105639), UINT32_C(0x0072DF59), UINT32_C(0x000D9B72),
+          UINT32_C(0x007D9093), UINT32_C(0x004EAA60)}},
+        {{UINT32_C(0x009F9703), UINT32_C(0x001B0826), UINT32_C(0x0076FA46),
+          UINT32_C(0x00826948), UINT32_C(0x004D4814), UINT32_C(0x0050B57C),
+          UINT32_C(0x005C41CC), UINT32_C(0x00A88628), UINT32_C(0x005D3BCD),
+          UINT32_C(0x001C7176), UINT32_C(0x00554D0A)},
+         {UINT32_C(0x00B63C62), UINT32_C(0x00561A3E), UINT32_C(0x0057E7D3),
+          UINT32_C(0x00F1D376), UINT32_C(0x002E45AC), UINT32_C(0x005D7F33),
+          UINT32_C(0x00698C00), UINT32_C(0x00F7C938), UINT32_C(0x0036EEFA),
+          UINT32_C(0x005C1FAC), UINT32_C(0x005D1B2E)}},
+        {{UINT32_C(0x00F53650), UINT32_C(0x0069380C), UINT32_C(0x0012C364),
+          UINT32_C(0x0032E8A7), UINT32_C(0x00515F1E), UINT32_C(0x001F9182),
+          UINT32_C(0x0068DEE7), UINT32_C(0x00CCF589), UINT32_C(0x0076EE01),
+          UINT32_C(0x0029DF93), UINT32_C(0x00787773)},
+         {UINT32_C(0x00B3DDF7), UINT32_C(0x0053B71C), UINT32_C(0x0006F8FD),
+          UINT32_C(0x00DFF4AB), UINT32_C(0x0006B924), UINT32_C(0x007E2A66),
+          UINT32_C(0x004A7D4B), UINT32_C(0x00AF1A4A), UINT32_C(0x0057F48B),
+          UINT32_C(0x0044541B), UINT32_C(0x0049AD77)}},
+        {{UINT32_C(0x005F6754), UINT32_C(0x007B1268), UINT32_C(0x000CA1F5),
+          UINT32_C(0x0004DE64), UINT32_C(0x004FD873), UINT32_C(0x003036C4),
+          UINT32_C(0x0041B763), UINT32_C(0x00FCE495), UINT32_C(0x00200179),
+          UINT32_C(0x005F6BDA), UINT32_C(0x0068ED61)},
+         {UINT32_C(0x00C95FCE), UINT32_C(0x000477FE), UINT32_C(0x00580F29),
+          UINT32_C(0x00BB42ED), UINT32_C(0x00750145), UINT32_C(0x000DC207),
+          UINT32_C(0x002BEC56), UINT32_C(0x00EB7195), UINT32_C(0x001693A1),
+          UINT32_C(0x003EB07D), UINT32_C(0x00135B86)}},
+        {{UINT32_C(0x0066889B), UINT32_C(0x0017A14A), UINT32_C(0x002DF300),
+          UINT32_C(0x002BBAB9), UINT32_C(0x0015E56C), UINT32_C(0x002EB2BA),
+          UINT32_C(0x001D111B), UINT32_C(0x00BA9054), UINT32_C(0x0069E112),
+          UINT32_C(0x007A15D8), UINT32_C(0x00436DD2)},
+         {UINT32_C(0x00E27B51), UINT32_C(0x0073DEE8), UINT32_C(0x007A67DC),
+          UINT32_C(0x0055BEAF), UINT32_C(0x004FDE98), UINT32_C(0x001CCAC5),
+          UINT32_C(0x0057571D), UINT32_C(0x00B71DD1), UINT32_C(0x005EC9C2),
+          UINT32_C(0x00698B19), UINT32_C(0x00572BAF)}},
+        {{UINT32_C(0x00FE2F09), UINT32_C(0x004CCD1B), UINT32_C(0x005B6C69),
+          UINT32_C(0x00CE2291), UINT32_C(0x0036C67A), UINT32_C(0x001AA26F),
+          UINT32_C(0x00482976), UINT32_C(0x000346C9), UINT32_C(0x0071FA32),
+          UINT32_C(0x006AAA17), UINT32_C(0x0066681D)},
+         {UINT32_C(0x006DEDEE), UINT32_C(0x005A67B7), UINT32_C(0x0066E9D5),
+          UINT32_C(0x00F07923), UINT32_C(0x00767A82), UINT32_C(0x0060641F),
+          UINT32_C(0x005C4851), UINT32_C(0x0077DBEB), UINT32_C(0x006550C4),
+          UINT32_C(0x005C811B), UINT32_C(0x00204A6C)}},
+        {{UINT32_C(0x00F41270), UINT32_C(0x007228A8), UINT32_C(0x0023FE22),
+          UINT32_C(0x0087E9E0), UINT32_C(0x001016E1), UINT32_C(0x002EA90D),
+          UINT32_C(0x003BEE12), UINT32_C(0x0002DA75), UINT32_C(0x00486C8C),
+          UINT32_C(0x000FFBE4), UINT32_C(0x00161DF5)},
+         {UINT32_C(0x0073031B), UINT32_C(0x0068C340), UINT32_C(0x005C0685),
+          UINT32_C(0x0027F000), UINT32_C(0x0028653F), UINT32_C(0x005D1D2F),
+          UINT32_C(0x003F0628), UINT32_C(0x0066005A), UINT32_C(0x005AD814),
+          UINT32_C(0x0001BCF2), UINT32_C(0x0032CEE0)}},
+        {{UINT32_C(0x00ADB2E0), UINT32_C(0x00483DBE), UINT32_C(0x00626B68),
+          UINT32_C(0x004FB784), UINT32_C(0x00350F94), UINT32_C(0x00357148),
+          UINT32_C(0x007F0B6D), UINT32_C(0x0029332B), UINT32_C(0x003AD1F4),
+          UINT32_C(0x001F3681), UINT32_C(0x0071D76B)},
+         {UINT32_C(0x0026BAF9), UINT32_C(0x00473D14), UINT32_C(0x00021B2C),
+          UINT32_C(0x00941016), UINT32_C(0x004F652A), UINT32_C(0x007D3A99),
+          UINT32_C(0x004ABBAD), UINT32_C(0x0087A405), UINT32_C(0x000547B1),
+          UINT32_C(0x0059E149), UINT32_C(0x00541E49)}},
+        {{UINT32_C(0x00694346), UINT32_C(0x0042316D), UINT32_C(0x00758401),
+          UINT32_C(0x00D76375), UINT32_C(0x005ECFAE), UINT32_C(0x00680B14),
+          UINT32_C(0x0026EA25), UINT32_C(0x00070619), UINT32_C(0x0058D41C),
+          UINT32_C(0x0048DB6A), UINT32_C(0x00062542)},
+         {UINT32_C(0x003DE6A0), UINT32_C(0x003469E5), UINT32_C(0x00302B64),
+          UINT32_C(0x00CD8BF2), UINT32_C(0x0045419E), UINT32_C(0x001E9AAF),
+          UINT32_C(0x003EFC2C), UINT32_C(0x00E12629), UINT32_C(0x0060F16E),
+          UINT32_C(0x0048A125), UINT32_C(0x002969D8)}},
+        {{UINT32_C(0x00C271BD), UINT32_C(0x0053BE38), UINT32_C(0x00373A9B),
+          UINT32_C(0x00AB74E5), UINT32_C(0x00676622), UINT32_C(0x005F7345),
+          UINT32_C(0x007A6084), UINT32_C(0x0095988C), UINT32_C(0x0055BB90),
+          UINT32_C(0x00411396), UINT32_C(0x000E67BF)},
+         {UINT32_C(0x00CF58AC), UINT32_C(0x0060BB94), UINT32_C(0x0046BFAD),
+          UINT32_C(0x003C68E3), UINT32_C(0x00748102), UINT32_C(0x00647558),
+          UINT32_C(0x005B14F7), UINT32_C(0x00494DA5), UINT32_C(0x002AB3B3),
+          UINT32_C(0x0065BA0F), UINT32_C(0x005C011D)}},
+        {{UINT32_C(0x00D13FD0), UINT32_C(0x0051781B), UINT32_C(0x0028EAA9),
+          UINT32_C(0x0038E655), UINT32_C(0x00624813), UINT32_C(0x00476802),
+          UINT32_C(0x0073DD34), UINT32_C(0x0019666A), UINT32_C(0x00479419),
+          UINT32_C(0x002D06C2), UINT32_C(0x0052A1AF)},
+         {UINT32_C(0x003684D7), UINT32_C(0x003EE24A), UINT32_C(0x005496AF),
+          UINT32_C(0x004899AC), UINT32_C(0x005FC959), UINT32_C(0x007950D6),
+          UINT32_C(0x00180144), UINT32_C(0x00DF7129), UINT32_C(0x0014AFF7),
+          UINT32_C(0x007D7BA5), UINT32_C(0x007347EA)}},
+    },
+    {
+        {{UINT32_C(0x00978880), UINT32_C(0x0005E66D), UINT32_C(0x003D5998),
+          UINT32_C(0x008F2D63), UINT32_C(0x003E9896), UINT32_C(0x002DCC8D),
+          UINT32_C(0x00789105), UINT32_C(0x00786FAC), UINT32_C(0x0006486C),
+          UINT32_C(0x004DEBB7), UINT32_C(0x007C6948)},
+         {UINT32_C(0x001922F1), UINT32_C(0x003D924D), UINT32_C(0x0005E5FB),
+          UINT32_C(0x00CEF8A3), UINT32_C(0x004EBF60), UINT32_C(0x00039779),
+          UINT32_C(0x001D5AD8), UINT32_C(0x00AEAD3B), UINT32_C(0x003178D9),
+          UINT32_C(0x0011AF88), UINT32_C(0x004858F6)}},
+        {{UINT32_C(0x0017EA11), UINT32_C(0x002925A4), UINT32_C(0x0022EBC5),
+          UINT32_C(0x008C6F13), UINT32_C(0x0068235B), UINT32_C(0x0007668E),
+          UINT32_C(0x00789C73), UINT32_C(0x0063577F), UINT32_C(0x0019C095),
+          UINT32_C(0x0054C609), UINT32_C(0x00228B12)},
+         {UINT32_C(0x00B423B7), UINT32_C(0x007B3E73), UINT32_C(0x0006F374),
+          UINT32_C(0x0032C99A), UINT32_C(0x0033919B), UINT32_C(0x004480AF),
+          UINT32_C(0x007CF2DC), UINT32_C(0x00DF4C55), UINT32_C(0x00194F69),
+          UINT32_C(0x0002FA8A), UINT32_C(0x00273C64)}},
+        {{UINT32_C(0x00B22D03), UINT32_C(0x004609D0), UINT32_C(0x000E534B),
+          UINT32_C(0x00B53A66), UINT32_C(0x0013A238), UINT32_C(0x0035DF0D),
+          UINT32_C(0x002227E6), UINT32_C(0x00925830), UINT32_C(0x004B0D8E),
+          UINT32_C(0x0045DD96), UINT32_C(0x00489148)},
+         {UINT32_C(0x00A0967E), UINT32_C(0x002AE5BC), UINT32_C(0x00796CFA),
+          UINT32_C(0x00CD72AF), UINT32_C(0x005B6940), UINT32_C(0x00012BBA),
+          UINT32_C(0x005FC6EF), UINT32_C(0x00DCD6CA), UINT32_C(0x000D4575),
+          UINT32_C(0x003A665E), UINT32_C(0x004D067C)}},
+        {{UINT32_C(0x001AECD9), UINT32_C(0x00273F6F), UINT32_C(0x0025F83B),
+          UINT32_C(0x00FFD158), UINT32_C(0x00133FE6), UINT32_C(0x001F91CB),
+          UINT32_C(0x007C28C3), UINT32_C(0x002B2923), UINT32_C(0x0028D2B0),
+          UINT32_C(0x00267588), UINT32_C(0x005BED5F)},
+         {UINT32_C(0x00EE613B), UINT32_C(0x002D41FF), UINT32_C(0x00611238),
+          UINT32_C(0x0037C033), UINT32_C(0x000A5923), UINT32_C(0x0040AA8E),
+          UINT32_C(0x00226F22), UINT32_C(0x00ACB580), UINT32_C(0x00332B6F),
+          UINT32_C(0x00573DBD), UINT32_C(0x00058D53)}},
+        {{UINT32_C(0x000B6527), UINT32_C(0x00633B9B), UINT32_C(0x0015CA8A),
+          UINT32_C(0x00CAF1F7), UINT32_C(0x0014FEBC), UINT32_C(0x00404B31),
+          UINT32_C(0x005DE86F), UINT32_C(0x00E40657), UINT32_C(0x0040EE16),
+          UINT32_C(0x006745A5), UINT32_C(0x001CC28B)},
+         {UINT32_C(0x00D0A46D), UINT32_C(0x0052FCCC), UINT32_C(0x005B6FE6),
+          UINT32_C(0x009F4694), UINT32_C(0x003EE682), UINT32_C(0x00135F2D),
+          UINT32_C(0x006B1F49), UINT32_C(0x00903C8F), UINT32_C(0x0066F07A),
+          UINT32_C(0x0067D510), UINT32_C(0x006FBACA)}},
+        {{UINT32_C(0x00996ED6), UINT32_C(0x005D39E4), UINT32_C(0x001A204F),
+          UINT32_C(0x0048C691), UINT32_C(0x004EDCA1), UINT32_C(0x000326EA),
+          UINT32_C(0x005897F6), UINT32_C(0x005DAFAA), UINT32_C(0x007CE893),
+          UINT32_C(0x001521A8), UINT32_C(0x00720EC4)},
+         {UINT32_C(0x00B2D745), UINT32_C(0x0044D634), UINT32_C(0x00645385),
+          UINT32_C(0x00FCF90E), UINT32_C(0x005705FF), UINT32_C(0x00194811),
+          UINT32_C(0x00465D27), UINT32_C(0x00DA9D7A), UINT32_C(0x00183FEE),
+          UINT32_C(0x0033D943), UINT32_C(0x003FD6A9)}},
+        {{UINT32_C(0x00667E0F), UINT32_C(0x00755AD8), UINT32_C(0x00555F7B),
+          UINT32_C(0x00C2071C), UINT32_C(0x003AA31C), UINT32_C(0x0027748C),
+          UINT32_C(0x0065D71F), UINT32_C(0x00B8551F), UINT32_C(0x005831C5),
+          UINT32_C(0x00007409), UINT32_C(0x0019AE44)},
+         {UINT32_C(0x00C46447), UINT32_C(0x0028055B), UINT32_C(0x000AAEBC),
+          UINT32_C(0x00811E2C), UINT32_C(0x000A161D), UINT32_C(0x005417D2),
+          UINT32_C(0x00532D53), UINT32_C(0x00195F30), UINT32_C(0x007ADD3B),
+          UINT32_C(0x0079DFD4), UINT32_C(0x004C7DEA)}},
+        {{UINT32_C(0x00AA87C8), UINT32_C(0x000AA2A3), UINT32_C(0x0021BFFE),
+          UINT32_C(0x007EEC07), UINT32_C(0x00165806), UINT32_C(0x001D2B43),
+          UINT32_C(0x007D76F2), UINT32_C(0x00D7F740), UINT32_C(0x003CD969),
+          UINT32_C(0x004EFCFC), UINT32_C(0x004B057E)},
+         {UINT32_C(0x00812859), UINT32_C(0x00262F51), UINT32_C(0x005521D1),
+          UINT32_C(0x00A51059), UINT32_C(0x00374C25), UINT32_C(0x006ADA14),
+          UINT32_C(0x0076B74A), UINT32_C(0x006F1B1A), UINT32_C(0x005EAF40),
+          UINT32_C(0x0024DA86), UINT32_C(0x007F9103)}},
+        {{UINT32_C(0x009A47A8), UINT32_C(0x0024BD4E), UINT32_C(0x00047520),
+          UINT32_C(0x0094EB12), UINT32_C(0x0009C313), UINT32_C(0x002CA8A1),
+          UINT32_C(0x002E7050), UINT32_C(0x00D0760D), UINT32_C(0x007B653F),
+          UINT32_C(0x00135449), UINT32_C(0x0079DBC7)},
+         {UINT32_C(0x007D4BFD), UINT32_C(0x006CBD61), UINT32_C(0x001AF365),
+          UINT32_C(0x0041A9E7), UINT32_C(0x000EA23B), UINT32_C(0x000496E3),
+          UINT32_C(0x007D8894), UINT32_C(0x00D7926C), UINT32_C(0x0048D1E6),
+          UINT32_C(0x0021BA7D), UINT32_C(0x0076D264)}},
+        {{UINT32_C(0x004D6735), UINT32_C(0x00349533), UINT32_C(0x0026B4B7),
+          UINT32_C(0x00938C63), UINT32_C(0x00259D23), UINT32_C(0x00327F58),
+          UINT32_C(0x000972E6), UINT32_C(0x00DFCD69), UINT32_C(0x004A4323),
+          UINT32_C(0x007FE26C), UINT32_C(0x001F308C)},
+         {UINT32_C(0x00B5CA15), UINT32_C(0x0013066F), UINT32_C(0x00554ED3),
+          UINT32_C(0x0092A76E), UINT32_C(0x00767C40), UINT32_C(0x0001BD5A),
+          UINT32_C(0x007F0EC1), UINT32_C(0x004E5BCB), UINT32_C(0x0033C8BC),
+          UINT32_C(0x00384042), UINT32_C(0x0028DAF3)}},
+        {{UINT32_C(0x00BB2865), UINT32_C(0x0074D6A2), UINT32_C(0x007D552B),
+          UINT32_C(0x005E0EAF), UINT32_C(0x007BD504), UINT32_C(0x0079341F),
+          UINT32_C(0x0064542F), UINT32_C(0x00445DD5), UINT32_C(0x00289614),
+          UINT32_C(0x0009E5FF), UINT32_C(0x002F0D16)},
+         {UINT32_C(0x00118DE4), UINT32_C(0x0061DD1F), UINT32_C(0x004282EE),
+          UINT32_C(0x005DF2AC), UINT32_C(0x004951DF), UINT32_C(0x007C84E0),
+          UINT32_C(0x006F8826), UINT32_C(0x00545F9D), UINT32_C(0x0050CDEE),
+          UINT32_C(0x003414C7), UINT32_C(0x00228E14)}},
+        {{UINT32_C(0x0021FB0D), UINT32_C(0x0054D257), UINT32_C(0x0071F975),
+          UINT32_C(0x00FB2766), UINT32_C(0x0049536E), UINT32_C(0x006245E8),
+          UINT32_C(0x00090378), UINT32_C(0x00A7124C), UINT32_C(0x007CD78C),
+          UINT32_C(0x00163C62), UINT32_C(0x001C1D00)},
+         {UINT32_C(0x0041A6D3), UINT32_C(0x007CEA65), UINT32_C(0x00384B4B),
+          UINT32_C(0x00C28E24), UINT32_C(0x0073484A), UINT32_C(0x00457BD5),
+          UINT32_C(0x00258E54), UINT32_C(0x00868651), UINT32_C(0x000B50A9),
+          UINT32_C(0x0071A4E3), UINT32_C(0x00405353)}},
+        {{UINT32_C(0x007327CF), UINT32_C(0x005D8779), UINT32_C(0x003387AF),
+          UINT32_C(0x00892854), UINT32_C(0x006E7126), UINT32_C(0x004C6531),
+          UINT32_C(0x002D3F16), UINT32_C(0x0000D279), UINT32_C(0x005A56F1),
+          UINT32_C(0x000126BC), UINT32_C(0x005F03F2)},
+         {UINT32_C(0x0024065F), UINT32_C(0x0028A2BF), UINT32_C(0x00690907),
+          UINT32_C(0x00E63938), UINT32_C(0x006A92A2), UINT32_C(0x0012FA15),
+          UINT32_C(0x002E3667), UINT32_C(0x00301625), UINT32_C(0x0068DFF5),
+          UINT32_C(0x007C18F7), UINT32_C(0x0057C821)}},
+        {{UINT32_C(0x00F6FB17), UINT32_C(0x00117A2C), UINT32_C(0x00702920),
+          UINT32_C(0x00D8E8DC), UINT32_C(0x00583CF5), UINT32_C(0x00581272),
+          UINT32_C(0x0014FA49), UINT32_C(0x000BB02A), UINT32_C(0x000BFAD2),
+          UINT32_C(0x000D7AF5), UINT32_C(0x003C597E)},
+         {UINT32_C(0x00DC1695), UINT32_C(0x007BDD76), UINT32_C(0x006DF467),
+          UINT32_C(0x007F6B18), UINT32_C(0x0014F2F0), UINT32_C(0x007C500F),
+          UINT32_C(0x0008D022), UINT32_C(0x0001FBD4), UINT32_C(0x004DA576),
+          UINT32_C(0x00414183), UINT32_C(0x00086206)}},
+        {{UINT32_C(0x0071E1BB), UINT32_C(0x000F9619), UINT32_C(0x0026D84F),
+          UINT32_C(0x009F1C46), UINT32_C(0x005B79C0), UINT32_C(0x007AEEC3),
+          UINT32_C(0x001874EB), UINT32_C(0x0081978E), UINT32_C(0x00293406),
+          UINT32_C(0x0001D4FC), UINT32_C(0x00615B35)},
+         {UINT32_C(0x00182D40), UINT32_C(0x0042A332), UINT32_C(0x0017C797),
+          UINT32_C(0x00B3E39F), UINT32_C(0x00429FC1), UINT32_C(0x0075CDCC),
+          UINT32_C(0x0017A29B), UINT32_C(0x00B485C4), UINT32_C(0x000578E3),
+          UINT32_C(0x00267997), UINT32_C(0x0022B736)}},
+        {{UINT32_C(0x005B3F31), UINT32_C(0x00208743), UINT32_C(0x005CE60C),
+          UINT32_C(0x00A70DDC), UINT32_C(0x000739FA), UINT32_C(0x005A8096),
+          UINT32_C(0x0004765E), UINT32_C(0x00060FD2), UINT32_C(0x00317203),
+          UINT32_C(0x0078A3F6), UINT32_C(0x0013A216)},
+         {UINT32_C(0x00F7310F), UINT32_C(0x006787A8), UINT32_C(0x004CA7F1),
+          UINT32_C(0x0058A285), UINT32_C(0x0063A5F2), UINT32_C(0x002D9D33),
+          UINT32_C(0x000AE58C), UINT32_C(0x0021A049), UINT32_C(0x005E164E),
+          UINT32_C(0x0053ABF4), UINT32_C(0x0012DD24)}},
+    },
+    {
+        {{UINT32_C(0x00BAC990), UINT32_C(0x000DAB38), UINT32_C(0x00717BBA),
+          UINT32_C(0x00AC779D), UINT32_C(0x001DCA52), UINT32_C(0x00300C2E),
+          UINT32_C(0x002A2255), UINT32_C(0x005A0E8E), UINT32_C(0x0015AB31),
+          UINT32_C(0x00313D50), UINT32_C(0x003E1B41)},
+         {UINT32_C(0x00528772), UINT32_C(0x003D56AB), UINT32_C(0x00717BB2),
+          UINT32_C(0x0087E006), UINT32_C(0x0042AF5A), UINT32_C(0x0057EE11),
+          UINT32_C(0x002AC11C), UINT32_C(0x00B30A1D), UINT32_C(0x0062AF80),
+          UINT32_C(0x00024671), UINT32_C(0x00138392)}},
+        {{UINT32_C(0x0055EF18), UINT32_C(0x00290769), UINT32_C(0x000C06CC),
+          UINT32_C(0x00640FB7), UINT32_C(0x0032AA7D), UINT32_C(0x0037CE38),
+          UINT32_C(0x00559DB0), UINT32_C(0x009E8D04), UINT32_C(0x001BE9A9),
+          UINT32_C(0x0043CD9A), UINT32_C(0x00616E9E)},
+         {UINT32_C(0x00A62590), UINT32_C(0x0044D2E5), UINT32_C(0x00438F19),
+          UINT32_C(0x007C024D), UINT32_C(0x00387E23), UINT32_C(0x0012F97D),
+          UINT32_C(0x00593049), UINT32_C(0x00BBE9F5), UINT32_C(0x002EB4C3),
+          UINT32_C(0x00492C4B), UINT32_C(0x000BD31C)}},
+        {{UINT32_C(0x004436A6), UINT32_C(0x002F9836), UINT32_C(0x003A1719),
+          UINT32_C(0x0013E3D0), UINT32_C(0x0001CE66), UINT32_C(0x0075D201),
+          UINT32_C(0x0070741C), UINT32_C(0x003D4468), UINT32_C(0x006001B2),
+          UINT32_C(0x00621CB4), UINT32_C(0x004C9A82)},
+         {UINT32_C(0x0035D65D), UINT32_C(0x0071BB2D), UINT32_C(0x0027A173),
+          UINT32_C(0x00B478E4), UINT32_C(0x003F0595), UINT32_C(0x002A36C0),
+          UINT32_C(0x003F12EC), UINT32_C(0x00B45D13), UINT32_C(0x007F8B60),
+          UINT32_C(0x0036D006), UINT32_C(0x005F7EAE)}},
+        {{UINT32_C(0x0057123B), UINT32_C(0x00100AF5), UINT32_C(0x006392AD),
+          UINT32_C(0x00B520A8), UINT32_C(0x002B4722), UINT32_C(0x0000BE83),
+          UINT32_C(0x00671127), UINT32_C(0x000DE2DD), UINT32_C(0x00464F89),
+          UINT32_C(0x004EDE64), UINT32_C(0x00281953)},
+         {UINT32_C(0x0006E6D3), UINT32_C(0x002AA368), UINT32_C(0x004082CA),
+          UINT32_C(0x00403695), UINT32_C(0x006E19D7), UINT32_C(0x003560D6),
+          UINT32_C(0x000FD064), UINT32_C(0x00E717EF), UINT32_C(0x000A17BF),
+          UINT32_C(0x000FF54A), UINT32_C(0x0018D167)}},
+        {{UINT32_C(0x00AF932F), UINT32_C(0x0026788D), UINT32_C(0x001C3D62),
+          UINT32_C(0x00921966), UINT32_C(0x00210E68), UINT32_C(0x004E43E2),
+          UINT32_C(0x00624FD4), UINT32_C(0x007DD4CB), UINT32_C(0x001A32DC),
+          UINT32_C(0x003F5F83), UINT32_C(0x00139108)},
+         {UINT32_C(0x00BE0A12), UINT32_C(0x00560B9E), UINT32_C(0x002C4C1A),
+          UINT32_C(0x007D3F45), UINT32_C(0x00713917), UINT32_C(0x0056EE5F),
+          UINT32_C(0x00506607), UINT32_C(0x006C8156), UINT32_C(0x002C0601),
+          UINT32_C(0x0045B886), UINT32_C(0x006D6ABD)}},
+        {{UINT32_C(0x00BE997B), UINT32_C(0x0040C819), UINT32_C(0x0047F984),
+          UINT32_C(0x00C09966), UINT32_C(0x0001FFE5), UINT32_C(0x004210A5),
+          UINT32_C(0x0075DC7F), UINT32_C(0x00E1BFAE), UINT32_C(0x0041DF17),
+          UINT32_C(0x000DFA6A), UINT32_C(0x0055903D)},
+         {UINT32_C(0x00CF7C69), UINT32_C(0x007788BB), UINT32_C(0x006A117E),
+          UINT32_C(0x003E1AC5), UINT32_C(0x004BBCC5), UINT32_C(0x006902AA),
+          UINT32_C(0x0076BACD), UINT32_C(0x00EC4DA9), UINT32_C(0x003047AA),
+          UINT32_C(0x007F78BD), UINT32_C(0x00040CD6)}},
+        {{UINT32_C(0x00B34AFC), UINT32_C(0x004F2803), UINT32_C(0x00307B77),
+          UINT32_C(0x00F3B150), UINT32_C(0x0071A656), UINT32_C(0x006D60F0),
+          UINT32_C(0x00320731), UINT32_C(0x00606ECD), UINT32_C(0x0066A1E7),
+          UINT32_C(0x006D5EFC), UINT32_C(0x006DCA0E)},
+         {UINT32_C(0x004B7A84), UINT32_C(0x002D8FCA), UINT32_C(0x0068EACD),
+          UINT32_C(0x00B3D326), UINT32_C(0x0021F003), UINT32_C(0x001274F2),
+          UINT32_C(0x00411750), UINT32_C(0x00D7D4E4), UINT32_C(0x00261A79),
+          UINT32_C(0x006D0235), UINT32_C(0x005BB44F)}},
+        {{UINT32_C(0x008CE9AA), UINT32_C(0x0056FFF3), UINT32_C(0x007F6688),
+          UINT32_C(0x00A20E30), UINT32_C(0x001357D8), UINT32_C(0x003F97D1),
+          UINT32_C(0x006C63EF), UINT32_C(0x005D64BB), UINT32_C(0x006175F3),
+          UINT32_C(0x0028FE8A), UINT32_C(0x00026291)},
+         {UINT32_C(0x00A2F107), UINT32_C(0x006D1807), UINT32_C(0x004AD5AA),
+          UINT32_C(0x0063693B), UINT32_C(0x004CEADF), UINT32_C(0x00439B15),
+          UINT32_C(0x006BB209), UINT32_C(0x001E66A5), UINT32_C(0x00502CC1),
+          UINT32_C(0x0030D183), UINT32_C(0x00351D45)}},
+        {{UINT32_C(0x00460DBA), UINT32_C(0x000D5151), UINT32_C(0x005A7EFA),
+          UINT32_C(0x00AB4F71), UINT32_C(0x00286506), UINT32_C(0x004AC749),
+          UINT32_C(0x0070181C), UINT32_C(0x002D47B1), UINT32_C(0x002C7634),
+          UINT32_C(0x0068C60E), UINT32_C(0x0041E76E)},
+         {UINT32_C(0x00DBE186), UINT32_C(0x00486815), UINT32_C(0x00458F1B),
+          UINT32_C(0x0013062C), UINT32_C(0x0035B25D), UINT32_C(0x0067BFA5),
+          UINT32_C(0x0049BFFF), UINT32_C(0x000F9D3F), UINT32_C(0x0072F711),
+          UINT32_C(0x006E8339), UINT32_C(0x002ED76D)}},
+        {{UINT32_C(0x00DD873D), UINT32_C(0x0068E0AE), UINT32_C(0x00116017),
+          UINT32_C(0x0086B448), UINT32_C(0x00586D70), UINT32_C(0x002DC600),
+          UINT32_C(0x007DC061), UINT32_C(0x00014AA5), UINT32_C(0x0005E774),
+          UINT32_C(0x0064B836), UINT32_C(0x00212A13)},
+         {UINT32_C(0x00D59FF3), UINT32_C(0x001F2261), UINT32_C(0x007EB978),
+          UINT32_C(0x009DDAF1), UINT32_C(0x00069D7F), UINT32_C(0x0074317B),
+          UINT32_C(0x0008E97D), UINT32_C(0x00015669), UINT32_C(0x007E18E6),
+          UINT32_C(0x0028F0F0), UINT32_C(0x0024D9DB)}},
+        {{UINT32_C(0x0089C78A), UINT32_C(0x0047CAE9), UINT32_C(0x00647445),
+          UINT32_C(0x00E0FFD5), UINT32_C(0x0050854E), UINT32_C(0x00398C0B),
+          UINT32_C(0x00484454), UINT32_C(0x00D147CC), UINT32_C(0x0009414C),
+          UINT32_C(0x0049B209), UINT32_C(0x004216EE)},
+         {UINT32_C(0x002C47B9), UINT32_C(0x00023A77), UINT32_C(0x007769B8),
+          UINT32_C(0x00F0B4A1), UINT32_C(0x000443DC), UINT32_C(0x007C6A84),
+          UINT32_C(0x007F36D0), UINT32_C(0x000D9584), UINT32_C(0x0009D192),
+          UINT32_C(0x005324D9), UINT32_C(0x0008CDE7)}},
+        {{UINT32_C(0x00EBCF74), UINT32_C(0x00450C29), UINT32_C(0x006EF4CE),
+          UINT32_C(0x00E76FBA), UINT32_C(0x00781F10), UINT32_C(0x000435C4),
+          UINT32_C(0x0043DA1E), UINT32_C(0x006BFF5B), UINT32_C(0x0026CDB4),
+          UINT32_C(0x00047CA9), UINT32_C(0x0034672B)},
+         {UINT32_C(0x00FE244B), UINT32_C(0x003776F7), UINT32_C(0x00200F9D),
+          UINT32_C(0x0055D105), UINT32_C(0x00398428), UINT32_C(0x00159C77),
+          UINT32_C(0x004B172A), UINT32_C(0x0003C3DC), UINT32_C(0x000C6478),
+          UINT32_C(0x00360E42), UINT32_C(0x004CCFCC)}},
+        {{UINT32_C(0x00A6089E), UINT32_C(0x0052C74F), UINT32_C(0x003028CE),
+          UINT32_C(0x00DA6BE7), UINT32_C(0x00159B0D), UINT32_C(0x00025F04),
+          UINT32_C(0x007F3B51), UINT32_C(0x00EBC9A6), UINT32_C(0x00410F2F),
+          UINT32_C(0x001E2C8F), UINT32_C(0x0044CD45)},
+         {UINT32_C(0x00FE529A), UINT32_C(0x005742FE), UINT32_C(0x006446CB),
+          UINT32_C(0x0004A884), UINT32_C(0x0055474A), UINT32_C(0x003FE0AE),
+          UINT32_C(0x006671D0), UINT32_C(0x00497D2B), UINT32_C(0x0055C10A),
+          UINT32_C(0x0048F2CC), UINT32_C(0x006C3D3D)}},
+        {{UINT32_C(0x00B5061A), UINT32_C(0x0075965B), UINT32_C(0x004759AF),
+          UINT32_C(0x0074ED86), UINT32_C(0x0068EECF), UINT32_C(0x006A53AB),
+          UINT32_C(0x000B476C), UINT32_C(0x00AA39AE), UINT32_C(0x00242F10),
+          UINT32_C(0x0016E0FD), UINT32_C(0x00310C8E)},
+         {UINT32_C(0x00FAB3FE), UINT32_C(0x00412CA0), UINT32_C(0x00334AB3),
+          UINT32_C(0x0040E7A6), UINT32_C(0x006F4791), UINT32_C(0x0024B661),
+          UINT32_C(0x000713F0), UINT32_C(0x0035B195), UINT32_C(0x00551A61),
+          UINT32_C(0x004BC5DD), UINT32_C(0x001112B3)}},
+        {{UINT32_C(0x00EEDFDA), UINT32_C(0x0043EF08), UINT32_C(0x007213CC),
+          UINT32_C(0x0055FF1F), UINT32_C(0x000AF305), UINT32_C(0x0052FA27),
+          UINT32_C(0x00277E8C), UINT32_C(0x00875A0B), UINT32_C(0x002C9F3E),
+          UINT32_C(0x00058985), UINT32_C(0x0068C97C)},
+         {UINT32_C(0x00F30FC3), UINT32_C(0x00670E75), UINT32_C(0x006B3B6A),
+          UINT32_C(0x00AF87DB), UINT32_C(0x005C464A), UINT32_C(0x0024A624),
+          UINT32_C(0x007558E2), UINT32_C(0x00937730), UINT32_C(0x005F3E2C),
+          UINT32_C(0x004CF5B9), UINT32_C(0x005EA094)}},
+        {{UINT32_C(0x00D3CC63), UINT32_C(0x000E5711), UINT32_C(0x001DC16D),
+          UINT32_C(0x004A13FD), UINT32_C(0x004FE8D5), UINT32_C(0x00302514),
+          UINT32_C(0x006F576B), UINT32_C(0x007AC1DD), UINT32_C(0x0040C7EA),
+          UINT32_C(0x002175BC), UINT32_C(0x007E7325)},
+         {UINT32_C(0x002B1252), UINT32_C(0x003D7D6A), UINT32_C(0x001CF79F),
+          UINT32_C(0x002D0A89), UINT32_C(0x00081836), UINT32_C(0x000521DA),
+          UINT32_C(0x0071B27F), UINT32_C(0x009F8D74), UINT32_C(0x00109461),
+          UINT32_C(0x0029855D), UINT32_C(0x0047654D)}},
+    },
+    {
+        {{UINT32_C(0x0049F59D), UINT32_C(0x003D9378), UINT32_C(0x00531A27),
+          UINT32_C(0x00D81B1D), UINT32_C(0x007A0818), UINT32_C(0x00283F4B),
+          UINT32_C(0x0069AA59), UINT32_C(0x00FBCF88), UINT32_C(0x00194F29),
+          UINT32_C(0x00683FCE), UINT32_C(0x00555BAE)},
+         {UINT32_C(0x006D73CE), UINT32_C(0x0050A230), UINT32_C(0x0016AC25),
+          UINT32_C(0x007FE177), UINT32_C(0x0079A4A7), UINT32_C(0x00240036),
+          UINT32_C(0x0078060E), UINT32_C(0x00B4028C), UINT32_C(0x00650D07),
+          UINT32_C(0x0074C9ED), UINT32_C(0x0001BC10)}},
+        {{UINT32_C(0x00D581B9), UINT32_C(0x000A2BB8), UINT32_C(0x001A6502),
+          UINT32_C(0x0048F62D), UINT32_C(0x00259F0C), UINT32_C(0x00594632),
+          UINT32_C(0x003D1E9F), UINT32_C(0x001BBAB7), UINT32_C(0x004EF7A0),
+          UINT32_C(0x0021EEB3), UINT32_C(0x0023620C)},
+         {UINT32_C(0x003A641C), UINT32_C(0x0058B33A), UINT32_C(0x004729CE),
+          UINT32_C(0x00600724), UINT32_C(0x005E4C80), UINT32_C(0x006F5FC3),
+          UINT32_C(0x001CB9C0), UINT32_C(0x00D4C679), UINT32_C(0x0067E0DE),
+          UINT32_C(0x007918C5), UINT32_C(0x00446E3C)}},
+        {{UINT32_C(0x00FCF7B6), UINT32_C(0x002A4017), UINT32_C(0x00770419),
+          UINT32_C(0x009EBA8C), UINT32_C(0x000C0745), UINT32_C(0x00056DAC),
+          UINT32_C(0x006BE2AE), UINT32_C(0x00D5418B), UINT32_C(0x0059BCAE),
+          UINT32_C(0x005EB51A), UINT32_C(0x000A7CFF)},
+         {UINT32_C(0x00146CD4), UINT32_C(0x005F21A7), UINT32_C(0x00732219),
+          UINT32_C(0x00708B02), UINT32_C(0x0059FF76), UINT32_C(0x00223DE6),
+          UINT32_C(0x0068D0EA), UINT32_C(0x0095440B), UINT32_C(0x004AC2BE),
+          UINT32_C(0x0044CD99), UINT32_C(0x00418B1F)}},
+        {{UINT32_C(0x007826E7), UINT32_C(0x00302147), UINT32_C(0x004239FE),
+          UINT32_C(0x0012F403), UINT32_C(0x0066A878), UINT32_C(0x000BB8B3),
+          UINT32_C(0x00657754), UINT32_C(0x00956FD7), UINT32_C(0x002ABB73),
+          UINT32_C(0x004B585E), UINT32_C(0x001D0D54)},
+         {UINT32_C(0x00D8482A), UINT32_C(0x00490F0D), UINT32_C(0x00587E9A),
+          UINT32_C(0x00633FC6), UINT32_C(0x0047A327), UINT32_C(0x002FE955),
+          UINT32_C(0x002C1A30), UINT32_C(0x00299544), UINT32_C(0x0012A81A),
+          UINT32_C(0x001B2908), UINT32_C(0x006A4721)}},
+        {{UINT32_C(0x0010E70C), UINT32_C(0x001F9118), UINT32_C(0x007A2E42),
+          UINT32_C(0x00AD234C), UINT32_C(0x0067A2B5), UINT32_C(0x0045B66B),
+          UINT32_C(0x00775A55), UINT32_C(0x00CE1819), UINT32_C(0x0036B0B3),
+          UINT32_C(0x0009BD41), UINT32_C(0x00357CCE)},
+         {UINT32_C(0x0017F79E), UINT32_C(0x0031F0EF), UINT32_C(0x00297396),
+          UINT32_C(0x009B34C2), UINT32_C(0x003763BA), UINT32_C(0x007CD667),
+          UINT32_C(0x0027859A), UINT32_C(0x0065B432), UINT32_C(0x004FFA96),
+          UINT32_C(0x002D2331), UINT32_C(0x005046AE)}},
+        {{UINT32_C(0x006316B9), UINT32_C(0x00321283), UINT32_C(0x0013534D),
+          UINT32_C(0x00A66C71), UINT32_C(0x0041D154), UINT32_C(0x003BF498),
+          UINT32_C(0x0021F82F), UINT32_C(0x0029DB77), UINT32_C(0x004A36E0),
+          UINT32_C(0x00263FF9), UINT32_C(0x00703088)},
+         {UINT32_C(0x00DC79C4), UINT32_C(0x0037B8E9), UINT32_C(0x004453ED),
+          UINT32_C(0x00A2C845), UINT32_C(0x0064D04E), UINT32_C(0x003404E0),
+          UINT32_C(0x0075E149), UINT32_C(0x008FF0EF), UINT32_C(0x003532A0),
+          UINT32_C(0x004B7BF9), UINT32_C(0x0051B403)}},
+        {{UINT32_C(0x00D0B765), UINT32_C(0x006D30B8), UINT32_C(0x000EA988),
+          UINT32_C(0x00C14682), UINT32_C(0x0054EF11), UINT32_C(0x0064F84D),
+          UINT32_C(0x0056C161), UINT32_C(0x008DF7C5), UINT32_C(0x00504962),
+          UINT32_C(0x00486862), UINT32_C(0x0072A82D)},
+         {UINT32_C(0x0077FA35), UINT32_C(0x0014BC95), UINT32_C(0x0020003C),
+          UINT32_C(0x004F613A), UINT32_C(0x0056E698), UINT32_C(0x00605FF1),
+          UINT32_C(0x0053BEE6), UINT32_C(0x003D3088), UINT32_C(0x00566658),
+          UINT32_C(0x0072C01C), UINT32_C(0x00128DDA)}},
+        {{UINT32_C(0x00B5B469), UINT32_C(0x00265F62), UINT32_C(0x00740D01),
+          UINT32_C(0x002737CE), UINT32_C(0x0016B851), UINT32_C(0x000B913E),
+          UINT32_C(0x00365599), UINT32_C(0x00CED53E), UINT32_C(0x00031BE6),
+          UINT32_C(0x0007B5B7), UINT32_C(0x002826D2)},
+         {UINT32_C(0x007CE72C), UINT32_C(0x0035F7AE), UINT32_C(0x00122292),
+          UINT32_C(0x00F0BCF2), UINT32_C(0x00583D09), UINT32_C(0x000865FB),
+          UINT32_C(0x004255E4), UINT32_C(0x00C0E15D), UINT32_C(0x0014E9D6),
+          UINT32_C(0x0065A407), UINT32_C(0x00113864)}},
+        {{UINT32_C(0x00D0FA32), UINT32_C(0x00731256), UINT32_C(0x0008677B),
+          UINT32_C(0x00058BD3), UINT32_C(0x0011CF96), UINT32_C(0x001E2EF5),
+          UINT32_C(0x00725AB8), UINT32_C(0x005A8080), UINT32_C(0x006AEB60),
+          UINT32_C(0x006FE8CF), UINT32_C(0x007F2F4F)},
+         {UINT32_C(0x00C3108A), UINT32_C(0x00760FFA), UINT32_C(0x005F4E31),
+          UINT32_C(0x0071D122), UINT32_C(0x0017DEC0), UINT32_C(0x004BCA9E),
+          UINT32_C(0x00140AF5), UINT32_C(0x00CB9CE3), UINT32_C(0x0014BFC1),
+          UINT32_C(0x0064DA23), UINT32_C(0x000C63A5)}},
+        {{UINT32_C(0x0066EFDB), UINT32_C(0x002864DE), UINT32_C(0x007211BA),
+          UINT32_C(0x00D9EAA4), UINT32_C(0x00593664), UINT32_C(0x0037C3A8),
+          UINT32_C(0x006DE16A), UINT32_C(0x00D849C3), UINT32_C(0x00331ED5),
+          UINT32_C(0x005C0AE8), UINT32_C(0x0041D7E1)},
+         {UINT32_C(0x008CE7E3), UINT32_C(0x004DF2A8), UINT32_C(0x0039C4B2),
+          UINT32_C(0x001A054E), UINT32_C(0x00651CF9), UINT32_C(0x001B953C),
+          UINT32_C(0x003FF29C), UINT32_C(0x007BF5B4), UINT32_C(0x00322902),
+          UINT32_C(0x000942AC), UINT32_C(0x00152316)}},
+        {{UINT32_C(0x00DFBF1A), UINT32_C(0x005DD706), UINT32_C(0x00665070),
+          UINT32_C(0x004EA28B), UINT32_C(0x00253E73), UINT32_C(0x005DF0EC),
+          UINT32_C(0x00175C48), UINT32_C(0x00D7A1A4), UINT32_C(0x00793351),
+          UINT32_C(0x00029BF8), UINT32_C(0x00434300)},
+         {UINT32_C(0x00CB3A82), UINT32_C(0x006DE550), UINT32_C(0x0041DC49),
+          UINT32_C(0x0082B72D), UINT32_C(0x000DC7E4), UINT32_C(0x0061BB06),
+          UINT32_C(0x0026A846), UINT32_C(0x00CC5702), UINT32_C(0x005E2CDD),
+          UINT32_C(0x007063CA), UINT32_C(0x003C8621)}},
+        {{UINT32_C(0x00181E78), UINT32_C(0x0077B355), UINT32_C(0x00418907),
+          UINT32_C(0x00D9A8F6), UINT32_C(0x0072DED2), UINT32_C(0x004E3E02),
+          UINT32_C(0x004E03AD), UINT32_C(0x00F3B5A8), UINT32_C(0x0050F28E),
+          UINT32_C(0x006CF224), UINT32_C(0x0024C9C3)},
+         {UINT32_C(0x00850A90), UINT32_C(0x00623DEB), UINT32_C(0x0024F9A6),
+          UINT32_C(0x00D6DFA0), UINT32_C(0x0048D930), UINT32_C(0x0016FD61),
+          UINT32_C(0x0020F2BD), UINT32_C(0x006DACA1), UINT32_C(0x003AE220),
+          UINT32_C(0x00446D52), UINT32_C(0x0049678D)}},
+        {{UINT32_C(0x00F04B0C), UINT32_C(0x00586E6C), UINT32_C(0x0009DA9E),
+          UINT32_C(0x00ACA51E), UINT32_C(0x00779415), UINT32_C(0x00693107),
+          UINT32_C(0x00727567), UINT32_C(0x00D0F4C5), UINT32_C(0x002C7C2D),
+          UINT32_C(0x006A4DC6), UINT32_C(0x007BE95F)},
+         {UINT32_C(0x0019999C), UINT32_C(0x007F0AEF), UINT32_C(0x007C8778),
+          UINT32_C(0x002D0089), UINT32_C(0x004CD9C4), UINT32_C(0x0056522D),
+          UINT32_C(0x00396E96), UINT32_C(0x007ABC11), UINT32_C(0x0033E16F),
+          UINT32_C(0x005E515A), UINT32_C(0x005E9DD0)}},
+        {{UINT32_C(0x001F0474), UINT32_C(0x004D7C5A), UINT32_C(0x007B2A69),
+          UINT32_C(0x00C61380), UINT32_C(0x007415C0), UINT32_C(0x001C95A8),
+          UINT32_C(0x00338442), UINT32_C(0x005479B1), UINT32_C(0x0059192B),
+          UINT32_C(0x0029E0CF), UINT32_C(0x006FA0A0)},
+         {UINT32_C(0x004F6E5A), UINT32_C(0x007DA4EC), UINT32_C(0x002E8E89),
+          UINT32_C(0x00ABDC5B), UINT32_C(0x0040143A), UINT32_C(0x00766FBA),
+          UINT32_C(0x007A98D8), UINT32_C(0x0063DA1D), UINT32_C(0x006373BE),
+          UINT32_C(0x002952A0), UINT32_C(0x0068B7FE)}},
+        {{UINT32_C(0x003C913F), UINT32_C(0x0002C389), UINT32_C(0x001BB9C3),
+          UINT32_C(0x0040D559), UINT32_C(0x00543B6F), UINT32_C(0x005E27BB),
+          UINT32_C(0x0051477D), UINT32_C(0x0018DE74), UINT32_C(0x00617EB9),
+          UINT32_C(0x00410DFE), UINT32_C(0x001E172F)},
+         {UINT32_C(0x0083EE97), UINT32_C(0x0079C4B1), UINT32_C(0x0070D016),
+          UINT32_C(0x009399BA), UINT32_C(0x0032C96A), UINT32_C(0x00667A8E),
+          UINT32_C(0x003D5F84), UINT32_C(0x00608421), UINT32_C(0x006E6662),
+          UINT32_C(0x0008B758), UINT32_C(0x001D9639)}},
+        {{UINT32_C(0x00A6524D), UINT32_C(0x0074CFF4), UINT32_C(0x0026D563),
+          UINT32_C(0x00A1F297), UINT32_C(0x003FA9DE), UINT32_C(0x0073EA40),
+          UINT32_C(0x000E3CE4), UINT32_C(0x00492223), UINT32_C(0x00638A0B),
+          UINT32_C(0x0047888B), UINT32_C(0x0050A52B)},
+         {UINT32_C(0x0021A754), UINT32_C(0x0006812D), UINT32_C(0x0059DFAC),
+          UINT32_C(0x00B33A1F), UINT32_C(0x007B6001), UINT32_C(0x0045BA94),
+          UINT32_C(0x00187867), UINT32_C(0x00D3B5C2), UINT32_C(0x007F2118),
+          UINT32_C(0x00091632), UINT32_C(0x001CE749)}},
+    },
+    {
+        {{UINT32_C(0x00C5B684), UINT32_C(0x003B82D3), UINT32_C(0x007BB04F),
+          UINT32_C(0x006CD54F), UINT32_C(0x0017CB99), UINT32_C(0x005C4905),
+          UINT32_C(0x00013115), UINT32_C(0x00011FE8), UINT32_C(0x00274533),
+          UINT32_C(0x00283F47), UINT32_C(0x002C4F1C)},
+         {UINT32_C(0x00251A27), UINT32_C(0x007B5C49), UINT32_C(0x003D9D4C),
+          UINT32_C(0x00E97FBF), UINT32_C(0x001F3DD9), UINT32_C(0x0049FA49),
+          UINT32_C(0x006C76A8), UINT32_C(0x009EFFDD), UINT32_C(0x0070FD77),
+          UINT32_C(0x00197D68), UINT32_C(0x0043D69E)}},
+        {{UINT32_C(0x00F54825), UINT32_C(0x004E704B), UINT32_C(0x005B81C6),
+          UINT32_C(0x00F6C679), UINT32_C(0x004A0326), UINT32_C(0x000993ED),
+          UINT32_C(0x00223F94), UINT32_C(0x005CACE3), UINT32_C(0x0079C440),
+          UINT32_C(0x001BF3AB), UINT32_C(0x004F0A3D)},
+         {UINT32_C(0x0094C40C), UINT32_C(0x004AC81F), UINT32_C(0x007FF007),
+          UINT32_C(0x00E4DA23), UINT32_C(0x0012C360), UINT32_C(0x00679697),
+          UINT32_C(0x00091A3D), UINT32_C(0x006BB95A), UINT32_C(0x005FF46C),
+          UINT32_C(0x003D9D5F), UINT32_C(0x006C42A5)}},
+        {{UINT32_C(0x008C8CCF), UINT32_C(0x007FC2E6), UINT32_C(0x0063D1F2),
+          UINT32_C(0x0073B8A7), UINT32_C(0x004CFD1D), UINT32_C(0x000A0D59),
+          UINT32_C(0x0067D4C7), UINT32_C(0x00F46F06), UINT32_C(0x00044A4E),
+          UINT32_C(0x007884E7), UINT32_C(0x0011BD78)},
+         {UINT32_C(0x00E46006), UINT32_C(0x00593D9C), UINT32_C(0x00600552),
+          UINT32_C(0x009BE40C), UINT32_C(0x006F055F), UINT32_C(0x0050000F),
+          UINT32_C(0x007CAEF7), UINT32_C(0x00487980), UINT32_C(0x0018C50F),
+          UINT32_C(0x002C8819), UINT32_C(0x001C9DF4)}},
+        {{UINT32_C(0x00142486), UINT32_C(0x0011204B), UINT32_C(0x00546138),
+          UINT32_C(0x00A0F3FD), UINT32_C(0x007C7277), UINT32_C(0x0062F53E),
+          UINT32_C(0x00405474), UINT32_C(0x00E13911), UINT32_C(0x0073FFC0),
+          UINT32_C(0x003F1CE2), UINT32_C(0x004E8EC0)},
+         {UINT32_C(0x00CEA3A2), UINT32_C(0x006ACFEA), UINT32_C(0x00644863),
+          UINT32_C(0x006C5ADA), UINT32_C(0x0059B648), UINT32_C(0x005EE6F5),
+          UINT32_C(0x006B9451), UINT32_C(0x00C22C63), UINT32_C(0x00250D0A),
+          UINT32_C(0x0040C2E2), UINT32_C(0x00633B20)}},
+        {{UINT32_C(0x000DF8D9), UINT32_C(0x006FDE02), UINT32_C(0x007BC761),
+          UINT32_C(0x00DD1647), UINT32_C(0x003946F5), UINT32_C(0x004F8B89),
+          UINT32_C(0x0021BD28), UINT32_C(0x00D13F8D), UINT32_C(0x0026F183),
+          UINT32_C(0x003CAFFB), UINT32_C(0x00526839)},
+         {UINT32_C(0x002D8549), UINT32_C(0x0051C848), UINT32_C(0x0065DAAB),
+          UINT32_C(0x00F4931B), UINT32_C(0x001DB7B7), UINT32_C(0x006B5984),
+          UINT32_C(0x0002D8C2), UINT32_C(0x00399E59), UINT32_C(0x00348B00),
+          UINT32_C(0x002C9BAC), UINT32_C(0x000561D0)}},
+        {{UINT32_C(0x002E9251), UINT32_C(0x00730381), UINT32_C(0x00158D1C),
+          UINT32_C(0x00EAA590), UINT32_C(0x00555783), UINT32_C(0x003A7A13),
+          UINT32_C(0x007834C8), UINT32_C(0x00ACBD10), UINT32_C(0x006C9902),
+          UINT32_C(0x0023C1F1), UINT32_C(0x001B3699)},
+         {UINT32_C(0x0096FFD5), UINT32_C(0x007117AC), UINT32_C(0x00024B6B),
+          UINT32_C(0x008D0146), UINT32_C(0x000E4DC9), UINT32_C(0x00191916),
+          UINT32_C(0x000FC5A6), UINT32_C(0x00FE7250), UINT32_C(0x00198308),
+          UINT32_C(0x0001FAC2), UINT32_C(0x0024DA1C)}},
+        {{UINT32_C(0x008A2315), UINT32_C(0x007E110A), UINT32_C(0x005E7BF4),
+          UINT32_C(0x007BEAF8), UINT32_C(0x003605ED), UINT32_C(0x001F3AF3),
+          UINT32_C(0x007876E7), UINT32_C(0x0046E4E3), UINT32_C(0x006EC7A7),
+          UINT32_C(0x0074A230), UINT32_C(0x007EF25D)},
+         {UINT32_C(0x000F6E54), UINT32_C(0x001AD49C), UINT32_C(0x0052B335),
+          UINT32_C(0x00FE212A), UINT32_C(0x003A9CF2), UINT32_C(0x00318045),
+          UINT32_C(0x0058F544), UINT32_C(0x0065B525), UINT32_C(0x003D646B),
+          UINT32_C(0x004DA78A), UINT32_C(0x00552661)}},
+        {{UINT32_C(0x003F6E66), UINT32_C(0x007E10BA), UINT32_C(0x00341D94),
+          UINT32_C(0x004AB8A0), UINT32_C(0x004ED33D), UINT32_C(0x002E5C25),
+          UINT32_C(0x00109A3B), UINT32_C(0x001454FD), UINT32_C(0x007C8D6A),
+          UINT32_C(0x007942BA), UINT32_C(0x002B4544)},
+         {UINT32_C(0x00BE14E9), UINT32_C(0x00446F85), UINT32_C(0x0075AA4C),
+          UINT32_C(0x00BEFBB7), UINT32_C(0x00354E79), UINT32_C(0x0041906F),
+          UINT32_C(0x0040AC0F), UINT32_C(0x00C8D73F), UINT32_C(0x001F31BC),
+          UINT32_C(0x00662285), UINT32_C(0x0027E73B)}},
+        {{UINT32_C(0x005B910E), UINT32_C(0x00037DF0), UINT32_C(0x006463A9),
+          UINT32_C(0x00E6B081), UINT32_C(0x002D0A9D), UINT32_C(0x002ED8BE),
+          UINT32_C(0x0060E9CA), UINT32_C(0x00DC8968), UINT32_C(0x0017563E),
+          UINT32_C(0x00350D14), UINT32_C(0x006DB2D5)},
+         {UINT32_C(0x008E171C), UINT32_C(0x000EB1AA), UINT32_C(0x000E3AEA),
+          UINT32_C(0x00DCD35E), UINT32_C(0x0024D5B2), UINT32_C(0x0078E926),
+          UINT32_C(0x006E5A44), UINT32_C(0x009E3934), UINT32_C(0x0043D3D7),
+          UINT32_C(0x000F2ECE), UINT32_C(0x00506FB6)}},
+        {{UINT32_C(0x00B8E76E), UINT32_C(0x003E9FBC), UINT32_C(0x006624FA),
+          UINT32_C(0x000338E5), UINT32_C(0x0022CDAF), UINT32_C(0x001658AA),
+          UINT32_C(0x004EDFF5), UINT32_C(0x005C5CC6), UINT32_C(0x0074872E),
+          UINT32_C(0x0006FF1F), UINT32_C(0x003D71F4)},
+         {UINT32_C(0x00E59640), UINT32_C(0x006B6980), UINT32_C(0x0052C2CC),
+          UINT32_C(0x00CB86FD), UINT32_C(0x00212D1D), UINT32_C(0x004C97C7),
+          UINT32_C(0x00605C17), UINT32_C(0x00AAE9D8), UINT32_C(0x005073CD),
+          UINT32_C(0x00361947), UINT32_C(0x000E77D9)}},
+        {{UINT32_C(0x0016387D), UINT32_C(0x0049B942), UINT32_C(0x001B3FA6),
+          UINT32_C(0x00EA0088), UINT32_C(0x00418D2D), UINT32_C(0x003D0233),
+          UINT32_C(0x0011F489), UINT32_C(0x001FACB0), UINT32_C(0x00029CF4),
+          UINT32_C(0x00039194), UINT32_C(0x00483410)},
+         {UINT32_C(0x00F9A7EC), UINT32_C(0x001832C2), UINT32_C(0x00459839),
+          UINT32_C(0x004D00CF), UINT32_C(0x003F4B21), UINT32_C(0x005FC44A),
+          UINT32_C(0x000CA90A), UINT32_C(0x0024985D), UINT32_C(0x000D9596),
+          UINT32_C(0x004A9A33), UINT32_C(0x007D3439)}},
+        {{UINT32_C(0x0044CABA), UINT32_C(0x00589FC6), UINT32_C(0x00575DF8),
+          UINT32_C(0x008AC944), UINT32_C(0x0047E0CD), UINT32_C(0x000567F3),
+          UINT32_C(0x006783A3), UINT32_C(0x0081A081), UINT32_C(0x00720557),
+          UINT32_C(0x002CC917), UINT32_C(0x006BAFD4)},
+         {UINT32_C(0x0002EF38), UINT32_C(0x00089C79), UINT32_C(0x0039C854),
+          UINT32_C(0x00A4BCBE), UINT32_C(0x000969F1), UINT32_C(0x00452E91),
+          UINT32_C(0x00645379), UINT32_C(0x00546133), UINT32_C(0x001F829A),
+          UINT32_C(0x006A9523), UINT32_C(0x006A5CF6)}},
+        {{UINT32_C(0x0041529B), UINT32_C(0x005CB920), UINT32_C(0x005E7A02),
+          UINT32_C(0x00C8A1A2), UINT32_C(0x001F9327), UINT32_C(0x004174C9),
+          UINT32_C(0x007E2F98), UINT32_C(0x00452989), UINT32_C(0x004CD5A3),
+          UINT32_C(0x007FB826), UINT32_C(0x0073BCEB)},
+         {UINT32_C(0x002F5CBC), UINT32_C(0x007CBCD0), UINT32_C(0x00130359),
+          UINT32_C(0x00B09201), UINT32_C(0x0018EFD9), UINT32_C(0x00202C9E),
+          UINT32_C(0x006A4C0F), UINT32_C(0x00DF08A6), UINT32_C(0x000F65C7),
+          UINT32_C(0x006E8BA1), UINT32_C(0x0057C201)}},
+        {{UINT32_C(0x00F2D278), UINT32_C(0x007BCA3E), UINT32_C(0x000073A8),
+          UINT32_C(0x00AB869F), UINT32_C(0x0014FC27), UINT32_C(0x00682826),
+          UINT32_C(0x007B8F76), UINT32_C(0x00E02FC4), UINT32_C(0x004DDAD8),
+          UINT32_C(0x0051D300), UINT32_C(0x005D3332)},
+         {UINT32_C(0x00A06CF9), UINT32_C(0x00490FEC), UINT32_C(0x00272AAC),
+          UINT32_C(0x009F4648), UINT32_C(0x0071C8FB), UINT32_C(0x00566093),
+          UINT32_C(0x0078852D), UINT32_C(0x00E7DB13), UINT32_C(0x004E79FE),
+          UINT32_C(0x0012F1F6), UINT32_C(0x0056F872)}},
+        {{UINT32_C(0x00B0F1BD), UINT32_C(0x001B52B2), UINT32_C(0x007EDAE0),
+          UINT32_C(0x00B65682), UINT32_C(0x00433C6A), UINT32_C(0x0005BDE7),
+          UINT32_C(0x001EE949), UINT32_C(0x00515F90), UINT32_C(0x0020A67A),
+          UINT32_C(0x004EBC14), UINT32_C(0x00236F70)},
+         {UINT32_C(0x00FA1D8C), UINT32_C(0x006D40AB), UINT32_C(0x0030DC7D),
+          UINT32_C(0x0056A7E9), UINT32_C(0x0019E584), UINT32_C(0x00092219),
+          UINT32_C(0x005A6D72), UINT32_C(0x00EE7EAE), UINT32_C(0x0079A1E5),
+          UINT32_C(0x006D6145), UINT32_C(0x00055F0C)}},
+        {{UINT32_C(0x00C54CAB), UINT32_C(0x0014B3C9), UINT32_C(0x005B9541),
+          UINT32_C(0x00FA0F3C), UINT32_C(0x004CFCD2), UINT32_C(0x00596010),
+          UINT32_C(0x0055BCC4), UINT32_C(0x001502AE), UINT32_C(0x0070CB46),
+          UINT32_C(0x003B6582), UINT32_C(0x00729AD7)},
+         {UINT32_C(0x00AE8A66), UINT32_C(0x00022B51), UINT32_C(0x00608650),
+          UINT32_C(0x00CC908A), UINT32_C(0x0076C532), UINT32_C(0x0041E1EA),
+          UINT32_C(0x007F34BC), UINT32_C(0x000289C8), UINT32_C(0x00717892),
+          UINT32_C(0x00465F29), UINT32_C(0x003C38C2)}},
+    }};
+
+/*-
+ * Q := 2P, both projective, Q and P same pointers OK
+ * Autogenerated: op3/dbl_proj.op3
+ * https://eprint.iacr.org/2015/1060 Alg 6
+ * ASSERT: a = -3
+ */
+static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
+    /* temporary variables */
+    fe_t t0, t1, t2, t3, t4;
+    /* constants */
+    const limb_t *b = const_b;
+    /* set pointers for legacy 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 *Z3 = Q->Z;
+
+    /* the curve arith formula */
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(t0, X);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(t1, Y);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_square(t2, Z);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t3, X, Y);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t3, t3, t3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t4, Y, Z);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(Z3, X, Z);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Z3, Z3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(Y3, b, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(Y3, Y3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(X3, Y3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Y3, X3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(X3, t1, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Y3, t1, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(Y3, X3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(X3, X3, t3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t3, t2, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t2, t2, t3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(Z3, b, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(Z3, Z3, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(Z3, Z3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t3, Z3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Z3, Z3, t3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t3, t0, t0);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t0, t3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(t0, t0, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t0, t0, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Y3, Y3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t0, t4, t4);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(Z3, t0, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(X3, X3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(Z3, t0, t1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Z3, Z3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Z3, Z3, Z3);
+}
+
+/*-
+ * out1 = (arg1 == 0) ? 0 : nz
+ * NB: this is not a "mod p equiv" 0, but literal 0
+ * NB: this is not a real Fiat function, just named that way for consistency.
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_nonzero(
+    limb_t *out1, const fe_t arg1) {
+    limb_t x1 = 0;
+    int i;
+
+    for (i = 0; i < LIMB_CNT; i++) x1 |= arg1[i];
+    *out1 = x1;
+}
+
+/*-
+ * 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.op3
+ * https://eprint.iacr.org/2015/1060 Alg 5
+ * ASSERT: a = -3
+ */
+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, t4;
+    /* constants */
+    const limb_t *b = const_b;
+    /* set pointers for legacy curve arith */
+    const limb_t *X1 = Q->X;
+    const limb_t *Y1 = Q->Y;
+    const limb_t *Z1 = Q->Z;
+    const limb_t *X2 = P->X;
+    const limb_t *Y2 = P->Y;
+    fe_t X3;
+    fe_t Y3;
+    fe_t Z3;
+    limb_t nz;
+
+    /* check P for affine inf */
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_nonzero(&nz, P->Y);
+
+    /* the curve arith formula */
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t0, X1, X2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t1, Y1, Y2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t3, X2, Y2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t4, X1, Y1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t3, t3, t4);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t4, t0, t1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(t3, t3, t4);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t4, Y2, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t4, t4, Y1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(Y3, X2, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Y3, Y3, X1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(Z3, b, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(X3, Y3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Z3, X3, X3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(X3, X3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(Z3, t1, X3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(X3, t1, X3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(Y3, b, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t1, Z1, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t2, t1, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(Y3, Y3, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(Y3, Y3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t1, Y3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Y3, t1, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t1, t0, t0);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t0, t1, t0);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(t0, t0, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t1, t4, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t2, t0, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(Y3, X3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Y3, Y3, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(X3, t3, X3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(X3, X3, t1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(Z3, t4, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t1, t3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Z3, Z3, t1);
+
+    /* if P is inf, throw all that away and take Q */
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(R->X, nz, Q->X, X3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(R->Y, nz, Q->Y, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(R->Z, nz, Q->Z, Z3);
+}
+
+/*-
+ * R := Q + P all projective.
+ * R and Q same pointers OK
+ * R and P same pointers not OK
+ * Autogenerated: op3/add_proj.op3
+ * https://eprint.iacr.org/2015/1060 Alg 4
+ * ASSERT: a = -3
+ */
+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, t4, t5;
+    /* constants */
+    const limb_t *b = const_b;
+    /* set pointers for legacy curve arith */
+    const limb_t *X1 = Q->X;
+    const limb_t *Y1 = Q->Y;
+    const limb_t *Z1 = Q->Z;
+    const limb_t *X2 = P->X;
+    const limb_t *Y2 = P->Y;
+    const limb_t *Z2 = P->Z;
+    limb_t *X3 = R->X;
+    limb_t *Y3 = R->Y;
+    limb_t *Z3 = R->Z;
+
+    /* the curve arith formula */
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t0, X1, X2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t1, Y1, Y2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t2, Z1, Z2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t3, X1, Y1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t4, X2, Y2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t3, t3, t4);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t4, t0, t1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(t3, t3, t4);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t4, Y1, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t5, Y2, Z2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t4, t4, t5);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t5, t1, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(t4, t4, t5);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(X3, X1, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Y3, X2, Z2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(X3, X3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Y3, t0, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(Y3, X3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(Z3, b, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(X3, Y3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Z3, X3, X3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(X3, X3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(Z3, t1, X3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(X3, t1, X3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(Y3, b, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t1, t2, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t2, t1, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(Y3, Y3, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(Y3, Y3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t1, Y3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Y3, t1, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t1, t0, t0);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(t0, t1, t0);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(t0, t0, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t1, t4, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t2, t0, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(Y3, X3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Y3, Y3, t2);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(X3, t3, X3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_sub(X3, X3, t1);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(Z3, t4, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(t1, t3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_add(Z3, Z3, t1);
+}
+
+/* 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;
+
+    fe_copy(precomp[0].X, P->X);
+    fe_copy(precomp[0].Y, P->Y);
+    fe_copy(precomp[0].Z, const_one);
+    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[32], int idx) {
+    int widx, rshift;
+
+    widx = idx >> 3;
+    rshift = idx & 0x7;
+
+    if (idx < 0 || widx >= 32) 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[52], const unsigned char in[32]) {
+    int i;
+    char window, d;
+
+    window = (in[0] & (DRADIX_WNAF - 1)) | 1;
+    for (i = 0; i < 51; 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[257], const unsigned char in[32]) {
+    int i;
+    char window, d;
+
+    window = in[0] & (DRADIX_WNAF - 1);
+    for (i = 0; i < 257; 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[32],
+                              const unsigned char b[32], const pt_aff_t *P) {
+    int i, d, is_neg, is_inf = 1, flipped = 0;
+    char anaf[257] = {0};
+    char bnaf[257] = {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 = 256; i >= 0; i--) {
+        if (!is_inf) point_double(&Q, &Q);
+        if ((d = bnaf[i])) {
+            if ((is_neg = d < 0) != flipped) {
+                fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_opp(Q.Y, Q.Y);
+                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.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_GostR3410_2001_CryptoPro_A_ParamSet_opp(Q.Y, Q.Y);
+                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.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.Z);
+    }
+
+    if (flipped) {
+        /* correct sign */
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_opp(Q.Y, Q.Y);
+    }
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_inv(Q.Z, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(out->X, Q.X, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_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[32],
+                           const pt_aff_t *P) {
+    int i, j, d, diff, is_neg;
+    char rnaf[52] = {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[51] - 1) >> 1;
+    for (j = 0; j < DRADIX / 2; j++) {
+        diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(Q.X, diff, Q.X,
+                                                              precomp[j].X);
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(Q.Y, diff, Q.Y,
+                                                              precomp[j].Y);
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(Q.Z, diff, Q.Z,
+                                                              precomp[j].Z);
+    }
+
+    for (i = 50; 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_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(
+                lut.X, diff, lut.X, precomp[j].X);
+            fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(
+                lut.Y, diff, lut.Y, precomp[j].Y);
+            fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(
+                lut.Z, diff, lut.Z, precomp[j].Z);
+        }
+        /* negate lut point if digit is negative */
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_opp(out->Y, lut.Y);
+        fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(lut.Y, is_neg,
+                                                              lut.Y, out->Y);
+        point_add_proj(&Q, &Q, &lut);
+    }
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
+
+    /* conditionally subtract P if the scalar was even */
+    fe_copy(lut.X, precomp[0].X);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_opp(lut.Y, precomp[0].Y);
+    fe_copy(lut.Z, precomp[0].Z);
+    point_add_proj(&lut, &lut, &Q);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(Q.X, scalar[0] & 1,
+                                                          lut.X, Q.X);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(Q.Y, scalar[0] & 1,
+                                                          lut.Y, Q.Y);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(Q.Z, scalar[0] & 1,
+                                                          lut.Z, Q.Z);
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_inv(Q.Z, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(out->X, Q.X, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_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[32]) {
+    int i, j, k, d, diff, is_neg = 0;
+    char rnaf[52] = {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.Z);
+
+#if defined(_MSC_VER)
+    /* result still unsigned: yes we know */
+#pragma warning(push)
+#pragma warning(disable : 4146)
+#endif
+
+    for (i = 2; i >= 0; i--) {
+        for (j = 0; i != 2 && j < RADIX; j++) point_double(&Q, &Q);
+        for (j = 0; j < 19; j++) {
+            if (j * 3 + i > 51) continue;
+            d = rnaf[j * 3 + 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_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(
+                    lut.X, diff, lut.X, lut_cmb[j][k].X);
+                fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(
+                    lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
+            }
+            /* negate lut point if digit is negative */
+            fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_opp(out->Y, lut.Y);
+            fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(
+                lut.Y, is_neg, lut.Y, out->Y);
+            point_add_mixed(&Q, &Q, &lut);
+        }
+    }
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
+
+    /* conditionally subtract P if the scalar was even */
+    fe_copy(lut.X, lut_cmb[0][0].X);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_opp(lut.Y, lut_cmb[0][0].Y);
+    point_add_mixed(&R, &Q, &lut);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(Q.X, scalar[0] & 1,
+                                                          R.X, Q.X);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(Q.Y, scalar[0] & 1,
+                                                          R.Y, Q.Y);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_selectznz(Q.Z, scalar[0] & 1,
+                                                          R.Z, Q.Z);
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_inv(Q.Z, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(out->X, Q.X, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_carry_mul(out->Y, Q.Y, Q.Z);
+}
+
+static void point_mul_two(unsigned char outx[32], unsigned char outy[32],
+                          const unsigned char a[32], const unsigned char b[32],
+                          const unsigned char inx[32],
+                          const unsigned char iny[32]) {
+    pt_aff_t P;
+
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_from_bytes(P.X, inx);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_from_bytes(P.Y, iny);
+    /* simultaneous scalar multiplication */
+    var_smul_wnaf_two(&P, a, b, &P);
+
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_to_bytes(outx, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_to_bytes(outy, P.Y);
+}
+
+static void point_mul_g(unsigned char outx[32], unsigned char outy[32],
+                        const unsigned char scalar[32]) {
+    pt_aff_t P;
+
+    /* fixed scmul function */
+    fixed_smul_cmb(&P, scalar);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_to_bytes(outx, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_to_bytes(outy, P.Y);
+}
+
+static void point_mul(unsigned char outx[32], unsigned char outy[32],
+                      const unsigned char scalar[32],
+                      const unsigned char inx[32],
+                      const unsigned char iny[32]) {
+    pt_aff_t P;
+
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_from_bytes(P.X, inx);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_from_bytes(P.Y, iny);
+    /* var scmul function */
+    var_smul_rwnaf(&P, scalar, &P);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_to_bytes(outx, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_A_ParamSet_to_bytes(outy, P.Y);
+}
+
+#include <openssl/ec.h>
+
+static const unsigned char const_zb[32] = {0};
+
+    int
+    point_mul_two_id_GostR3410_2001_CryptoPro_A_ParamSet(
+        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[32];
+    unsigned char b_y[32];
+    unsigned char b_n[32];
+    unsigned char b_m[32];
+    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, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
+        BN_bn2lebinpad(n, b_n, 32) != 32 || BN_bn2lebinpad(m, b_m, 32) != 32)
+        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, 32) == 0 &&
+        CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
+        if (!EC_POINT_set_to_infinity(group, r)) goto err;
+    } else {
+        /* otherwise, pack the bytes into the result */
+        if (BN_lebin2bn(b_x, 32, x) == NULL ||
+            BN_lebin2bn(b_y, 32, 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_GostR3410_2001_CryptoPro_A_ParamSet(const EC_GROUP *group,
+                                                     EC_POINT *r,
+                                                     const EC_POINT *q,
+                                                     const BIGNUM *m,
+                                                     BN_CTX *ctx) {
+    int ret = 0;
+    unsigned char b_x[32];
+    unsigned char b_y[32];
+    unsigned char b_m[32];
+    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, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
+        BN_bn2lebinpad(m, b_m, 32) != 32)
+        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, 32) == 0 &&
+        CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
+        if (!EC_POINT_set_to_infinity(group, r)) goto err;
+    } else {
+        /* otherwise, pack the bytes into the result */
+        if (BN_lebin2bn(b_x, 32, x) == NULL ||
+            BN_lebin2bn(b_y, 32, 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_GostR3410_2001_CryptoPro_A_ParamSet(const EC_GROUP *group,
+                                                       EC_POINT *r,
+                                                       const BIGNUM *n,
+                                                       BN_CTX *ctx) {
+    int ret = 0;
+    unsigned char b_x[32];
+    unsigned char b_y[32];
+    unsigned char b_n[32];
+    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, 32) != 32)
+        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, 32) == 0 &&
+        CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
+        if (!EC_POINT_set_to_infinity(group, r)) goto err;
+    } else {
+        /* otherwise, pack the bytes into the result */
+        if (BN_lebin2bn(b_x, 32, x) == NULL ||
+            BN_lebin2bn(b_y, 32, 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__ */
diff --git a/ecp_id_GostR3410_2001_CryptoPro_B_ParamSet.c b/ecp_id_GostR3410_2001_CryptoPro_B_ParamSet.c
new file mode 100644 (file)
index 0000000..39bed88
--- /dev/null
@@ -0,0 +1,11781 @@
+/* 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 4
+/* 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))
+
+/* Projective points */
+typedef struct {
+    fe_t X;
+    fe_t Y;
+    fe_t Z;
+} pt_prj_t;
+
+/* Affine points */
+typedef struct {
+    fe_t X;
+    fe_t Y;
+} 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: word_by_word_montgomery --static id_GostR3410_2001_CryptoPro_B_ParamSet 64 '2^255 + 3225' */
+/* curve description: id_GostR3410_2001_CryptoPro_B_ParamSet */
+/* machine_wordsize = 64 (from "64") */
+/* requested operations: (all) */
+/* m = 0x8000000000000000000000000000000000000000000000000000000000000c99 (from "2^255 + 3225") */
+/*                                                                    */
+/* NOTE: In addition to the bounds specified above each function, all */
+/*   functions synthesized for this Montgomery arithmetic require the */
+/*   input to be strictly less than the prime modulus (m), and also   */
+/*   require the input to be in the unique saturated representation.  */
+/*   All functions also ensure that these two properties are true of  */
+/*   return values.                                                   */
+/*  */
+/* Computed values: */
+/* eval z = z[0] + (z[1] << 64) + (z[2] << 128) + (z[3] << 192) */
+/* 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) */
+
+#include <stdint.h>
+typedef unsigned char fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1;
+typedef signed char fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_int1;
+typedef signed __int128 fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_int128;
+typedef unsigned __int128 fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint128;
+
+#if (-1 & 3) != 3
+#error "This code only works on a two's complement system"
+#endif
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64 is an addition with carry.
+ * Postconditions:
+ *   out1 = (arg1 + arg2 + arg3) mod 2^64
+ *   out2 = ⌊(arg1 + arg2 + arg3) / 2^64⌋
+ *
+ * Input Bounds:
+ *   arg1: [0x0 ~> 0x1]
+ *   arg2: [0x0 ~> 0xffffffffffffffff]
+ *   arg3: [0x0 ~> 0xffffffffffffffff]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffffffffffffff]
+ *   out2: [0x0 ~> 0x1]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(
+    uint64_t *out1, fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 *out2,
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 arg1, uint64_t arg2,
+    uint64_t arg3) {
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint128 x1;
+    uint64_t x2;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x3;
+    x1 = ((arg1 + (fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint128)arg2) +
+          arg3);
+    x2 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
+    x3 = (fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1)(x1 >> 64);
+    *out1 = x2;
+    *out2 = x3;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64 is a subtraction with borrow.
+ * Postconditions:
+ *   out1 = (-arg1 + arg2 + -arg3) mod 2^64
+ *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^64⌋
+ *
+ * Input Bounds:
+ *   arg1: [0x0 ~> 0x1]
+ *   arg2: [0x0 ~> 0xffffffffffffffff]
+ *   arg3: [0x0 ~> 0xffffffffffffffff]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffffffffffffff]
+ *   out2: [0x0 ~> 0x1]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(
+    uint64_t *out1, fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 *out2,
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 arg1, uint64_t arg2,
+    uint64_t arg3) {
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_int128 x1;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_int1 x2;
+    uint64_t x3;
+    x1 = ((arg2 - (fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_int128)arg1) -
+          arg3);
+    x2 = (fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_int1)(x1 >> 64);
+    x3 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
+    *out1 = x3;
+    *out2 = (fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1)(0x0 - x2);
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64 is a multiplication, returning the full double-width result.
+ * Postconditions:
+ *   out1 = (arg1 * arg2) mod 2^64
+ *   out2 = ⌊arg1 * arg2 / 2^64⌋
+ *
+ * Input Bounds:
+ *   arg1: [0x0 ~> 0xffffffffffffffff]
+ *   arg2: [0x0 ~> 0xffffffffffffffff]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffffffffffffff]
+ *   out2: [0x0 ~> 0xffffffffffffffff]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(
+    uint64_t *out1, uint64_t *out2, uint64_t arg1, uint64_t arg2) {
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint128 x1;
+    uint64_t x2;
+    uint64_t x3;
+    x1 = ((fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint128)arg1 * arg2);
+    x2 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
+    x3 = (uint64_t)(x1 >> 64);
+    *out1 = x2;
+    *out2 = x3;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_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_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u64(
+    uint64_t *out1, fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 arg1,
+    uint64_t arg2, uint64_t arg3) {
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x1;
+    uint64_t x2;
+    uint64_t x3;
+    x1 = (!(!arg1));
+    x2 = ((fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_int1)(0x0 - x1) &
+          UINT64_C(0xffffffffffffffff));
+    x3 = ((x2 & arg3) | ((~x2) & arg2));
+    *out1 = x3;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul multiplies two field elements in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ *   0 ≤ eval arg2 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg2)) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(
+    uint64_t out1[4], const uint64_t arg1[4], const uint64_t arg2[4]) {
+    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;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x14;
+    uint64_t x15;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x16;
+    uint64_t x17;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x27;
+    uint64_t x28;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x29;
+    uint64_t x30;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x31;
+    uint64_t x32;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x33;
+    uint64_t x34;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x45;
+    uint64_t x46;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x47;
+    uint64_t x48;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x49;
+    uint64_t x50;
+    uint64_t x51;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x52;
+    uint64_t x53;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x54;
+    uint64_t x55;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x56;
+    uint64_t x57;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x58;
+    uint64_t x59;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x60;
+    uint64_t x61;
+    uint64_t x62;
+    uint64_t x63;
+    uint64_t x64;
+    uint64_t x65;
+    uint64_t x66;
+    uint64_t x67;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x68;
+    uint64_t x69;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x70;
+    uint64_t x71;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x72;
+    uint64_t x73;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x74;
+    uint64_t x75;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x87;
+    uint64_t x88;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x89;
+    uint64_t x90;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x91;
+    uint64_t x92;
+    uint64_t x93;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x94;
+    uint64_t x95;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x96;
+    uint64_t x97;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x98;
+    uint64_t x99;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x100;
+    uint64_t x101;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x102;
+    uint64_t x103;
+    uint64_t x104;
+    uint64_t x105;
+    uint64_t x106;
+    uint64_t x107;
+    uint64_t x108;
+    uint64_t x109;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x110;
+    uint64_t x111;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x112;
+    uint64_t x113;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x114;
+    uint64_t x115;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x116;
+    uint64_t x117;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x129;
+    uint64_t x130;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x131;
+    uint64_t x132;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x133;
+    uint64_t x134;
+    uint64_t x135;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x136;
+    uint64_t x137;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x138;
+    uint64_t x139;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x140;
+    uint64_t x141;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x142;
+    uint64_t x143;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x144;
+    uint64_t x145;
+    uint64_t x146;
+    uint64_t x147;
+    uint64_t x148;
+    uint64_t x149;
+    uint64_t x150;
+    uint64_t x151;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x152;
+    uint64_t x153;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x154;
+    uint64_t x155;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x156;
+    uint64_t x157;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x158;
+    uint64_t x159;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x160;
+    uint64_t x161;
+    uint64_t x162;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x163;
+    uint64_t x164;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x165;
+    uint64_t x166;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x167;
+    uint64_t x168;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x169;
+    uint64_t x170;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x171;
+    uint64_t x172;
+    uint64_t x173;
+    uint64_t x174;
+    uint64_t x175;
+    x1 = (arg1[1]);
+    x2 = (arg1[2]);
+    x3 = (arg1[3]);
+    x4 = (arg1[0]);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x5, &x6, x4,
+                                                         (arg2[3]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x7, &x8, x4,
+                                                         (arg2[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x9, &x10, x4,
+                                                         (arg2[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x11, &x12, x4,
+                                                         (arg2[0]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x13, &x14, 0x0,
+                                                              x12, x9);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x15, &x16, x14,
+                                                              x10, x7);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x17, &x18, x16,
+                                                              x8, x5);
+    x19 = (x18 + x6);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(
+        &x20, &x21, x11, UINT64_C(0xbd667ab8a3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(
+        &x22, &x23, x20, UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x24, &x25, x20,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x26, &x27, 0x0,
+                                                              x11, x24);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x28, &x29, x27,
+                                                              x13, x25);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x30, &x31, x29,
+                                                              x15, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x32, &x33, x31,
+                                                              x17, x22);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x34, &x35, x33,
+                                                              x19, x23);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x36, &x37, x1,
+                                                         (arg2[3]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x38, &x39, x1,
+                                                         (arg2[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x40, &x41, x1,
+                                                         (arg2[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x42, &x43, x1,
+                                                         (arg2[0]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x44, &x45, 0x0,
+                                                              x43, x40);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x46, &x47, x45,
+                                                              x41, x38);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x48, &x49, x47,
+                                                              x39, x36);
+    x50 = (x49 + x37);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x51, &x52, 0x0,
+                                                              x28, x42);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x53, &x54, x52,
+                                                              x30, x44);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x55, &x56, x54,
+                                                              x32, x46);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x57, &x58, x56,
+                                                              x34, x48);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x59, &x60, x58,
+                                                              x35, x50);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(
+        &x61, &x62, x51, UINT64_C(0xbd667ab8a3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(
+        &x63, &x64, x61, UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x65, &x66, x61,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x67, &x68, 0x0,
+                                                              x51, x65);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x69, &x70, x68,
+                                                              x53, x66);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x71, &x72, x70,
+                                                              x55, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x73, &x74, x72,
+                                                              x57, x63);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x75, &x76, x74,
+                                                              x59, x64);
+    x77 = ((uint64_t)x76 + x60);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x78, &x79, x2,
+                                                         (arg2[3]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x80, &x81, x2,
+                                                         (arg2[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x82, &x83, x2,
+                                                         (arg2[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x84, &x85, x2,
+                                                         (arg2[0]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x86, &x87, 0x0,
+                                                              x85, x82);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x88, &x89, x87,
+                                                              x83, x80);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x90, &x91, x89,
+                                                              x81, x78);
+    x92 = (x91 + x79);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x93, &x94, 0x0,
+                                                              x69, x84);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x95, &x96, x94,
+                                                              x71, x86);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x97, &x98, x96,
+                                                              x73, x88);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x99, &x100, x98,
+                                                              x75, x90);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x101, &x102,
+                                                              x100, x77, x92);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(
+        &x103, &x104, x93, UINT64_C(0xbd667ab8a3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(
+        &x105, &x106, x103, UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x107, &x108, x103,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x109, &x110, 0x0,
+                                                              x93, x107);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x111, &x112,
+                                                              x110, x95, x108);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x113, &x114,
+                                                              x112, x97, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x115, &x116,
+                                                              x114, x99, x105);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x117, &x118,
+                                                              x116, x101, x106);
+    x119 = ((uint64_t)x118 + x102);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x120, &x121, x3,
+                                                         (arg2[3]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x122, &x123, x3,
+                                                         (arg2[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x124, &x125, x3,
+                                                         (arg2[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x126, &x127, x3,
+                                                         (arg2[0]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x128, &x129, 0x0,
+                                                              x127, x124);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x130, &x131,
+                                                              x129, x125, x122);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x132, &x133,
+                                                              x131, x123, x120);
+    x134 = (x133 + x121);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x135, &x136, 0x0,
+                                                              x111, x126);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x137, &x138,
+                                                              x136, x113, x128);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x139, &x140,
+                                                              x138, x115, x130);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x141, &x142,
+                                                              x140, x117, x132);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x143, &x144,
+                                                              x142, x119, x134);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(
+        &x145, &x146, x135, UINT64_C(0xbd667ab8a3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(
+        &x147, &x148, x145, UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x149, &x150, x145,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x151, &x152, 0x0,
+                                                              x135, x149);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x153, &x154,
+                                                              x152, x137, x150);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x155, &x156,
+                                                              x154, x139, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x157, &x158,
+                                                              x156, x141, x147);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x159, &x160,
+                                                              x158, x143, x148);
+    x161 = ((uint64_t)x160 + x144);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(
+        &x162, &x163, 0x0, x153, UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(&x164, &x165,
+                                                               x163, x155, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(&x166, &x167,
+                                                               x165, x157, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(
+        &x168, &x169, x167, x159, UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(&x170, &x171,
+                                                               x169, x161, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u64(&x172, x171, x162,
+                                                            x153);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u64(&x173, x171, x164,
+                                                            x155);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u64(&x174, x171, x166,
+                                                            x157);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u64(&x175, x171, x168,
+                                                            x159);
+    out1[0] = x172;
+    out1[1] = x173;
+    out1[2] = x174;
+    out1[3] = x175;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_square squares a field element in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg1)) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_square(
+    uint64_t out1[4], const uint64_t arg1[4]) {
+    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;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x14;
+    uint64_t x15;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x16;
+    uint64_t x17;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x27;
+    uint64_t x28;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x29;
+    uint64_t x30;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x31;
+    uint64_t x32;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x33;
+    uint64_t x34;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x45;
+    uint64_t x46;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x47;
+    uint64_t x48;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x49;
+    uint64_t x50;
+    uint64_t x51;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x52;
+    uint64_t x53;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x54;
+    uint64_t x55;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x56;
+    uint64_t x57;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x58;
+    uint64_t x59;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x60;
+    uint64_t x61;
+    uint64_t x62;
+    uint64_t x63;
+    uint64_t x64;
+    uint64_t x65;
+    uint64_t x66;
+    uint64_t x67;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x68;
+    uint64_t x69;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x70;
+    uint64_t x71;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x72;
+    uint64_t x73;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x74;
+    uint64_t x75;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x87;
+    uint64_t x88;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x89;
+    uint64_t x90;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x91;
+    uint64_t x92;
+    uint64_t x93;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x94;
+    uint64_t x95;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x96;
+    uint64_t x97;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x98;
+    uint64_t x99;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x100;
+    uint64_t x101;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x102;
+    uint64_t x103;
+    uint64_t x104;
+    uint64_t x105;
+    uint64_t x106;
+    uint64_t x107;
+    uint64_t x108;
+    uint64_t x109;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x110;
+    uint64_t x111;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x112;
+    uint64_t x113;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x114;
+    uint64_t x115;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x116;
+    uint64_t x117;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x129;
+    uint64_t x130;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x131;
+    uint64_t x132;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x133;
+    uint64_t x134;
+    uint64_t x135;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x136;
+    uint64_t x137;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x138;
+    uint64_t x139;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x140;
+    uint64_t x141;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x142;
+    uint64_t x143;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x144;
+    uint64_t x145;
+    uint64_t x146;
+    uint64_t x147;
+    uint64_t x148;
+    uint64_t x149;
+    uint64_t x150;
+    uint64_t x151;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x152;
+    uint64_t x153;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x154;
+    uint64_t x155;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x156;
+    uint64_t x157;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x158;
+    uint64_t x159;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x160;
+    uint64_t x161;
+    uint64_t x162;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x163;
+    uint64_t x164;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x165;
+    uint64_t x166;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x167;
+    uint64_t x168;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x169;
+    uint64_t x170;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x171;
+    uint64_t x172;
+    uint64_t x173;
+    uint64_t x174;
+    uint64_t x175;
+    x1 = (arg1[1]);
+    x2 = (arg1[2]);
+    x3 = (arg1[3]);
+    x4 = (arg1[0]);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x5, &x6, x4,
+                                                         (arg1[3]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x7, &x8, x4,
+                                                         (arg1[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x9, &x10, x4,
+                                                         (arg1[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x11, &x12, x4,
+                                                         (arg1[0]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x13, &x14, 0x0,
+                                                              x12, x9);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x15, &x16, x14,
+                                                              x10, x7);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x17, &x18, x16,
+                                                              x8, x5);
+    x19 = (x18 + x6);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(
+        &x20, &x21, x11, UINT64_C(0xbd667ab8a3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(
+        &x22, &x23, x20, UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x24, &x25, x20,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x26, &x27, 0x0,
+                                                              x11, x24);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x28, &x29, x27,
+                                                              x13, x25);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x30, &x31, x29,
+                                                              x15, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x32, &x33, x31,
+                                                              x17, x22);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x34, &x35, x33,
+                                                              x19, x23);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x36, &x37, x1,
+                                                         (arg1[3]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x38, &x39, x1,
+                                                         (arg1[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x40, &x41, x1,
+                                                         (arg1[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x42, &x43, x1,
+                                                         (arg1[0]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x44, &x45, 0x0,
+                                                              x43, x40);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x46, &x47, x45,
+                                                              x41, x38);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x48, &x49, x47,
+                                                              x39, x36);
+    x50 = (x49 + x37);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x51, &x52, 0x0,
+                                                              x28, x42);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x53, &x54, x52,
+                                                              x30, x44);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x55, &x56, x54,
+                                                              x32, x46);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x57, &x58, x56,
+                                                              x34, x48);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x59, &x60, x58,
+                                                              x35, x50);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(
+        &x61, &x62, x51, UINT64_C(0xbd667ab8a3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(
+        &x63, &x64, x61, UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x65, &x66, x61,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x67, &x68, 0x0,
+                                                              x51, x65);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x69, &x70, x68,
+                                                              x53, x66);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x71, &x72, x70,
+                                                              x55, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x73, &x74, x72,
+                                                              x57, x63);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x75, &x76, x74,
+                                                              x59, x64);
+    x77 = ((uint64_t)x76 + x60);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x78, &x79, x2,
+                                                         (arg1[3]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x80, &x81, x2,
+                                                         (arg1[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x82, &x83, x2,
+                                                         (arg1[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x84, &x85, x2,
+                                                         (arg1[0]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x86, &x87, 0x0,
+                                                              x85, x82);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x88, &x89, x87,
+                                                              x83, x80);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x90, &x91, x89,
+                                                              x81, x78);
+    x92 = (x91 + x79);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x93, &x94, 0x0,
+                                                              x69, x84);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x95, &x96, x94,
+                                                              x71, x86);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x97, &x98, x96,
+                                                              x73, x88);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x99, &x100, x98,
+                                                              x75, x90);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x101, &x102,
+                                                              x100, x77, x92);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(
+        &x103, &x104, x93, UINT64_C(0xbd667ab8a3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(
+        &x105, &x106, x103, UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x107, &x108, x103,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x109, &x110, 0x0,
+                                                              x93, x107);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x111, &x112,
+                                                              x110, x95, x108);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x113, &x114,
+                                                              x112, x97, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x115, &x116,
+                                                              x114, x99, x105);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x117, &x118,
+                                                              x116, x101, x106);
+    x119 = ((uint64_t)x118 + x102);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x120, &x121, x3,
+                                                         (arg1[3]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x122, &x123, x3,
+                                                         (arg1[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x124, &x125, x3,
+                                                         (arg1[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x126, &x127, x3,
+                                                         (arg1[0]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x128, &x129, 0x0,
+                                                              x127, x124);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x130, &x131,
+                                                              x129, x125, x122);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x132, &x133,
+                                                              x131, x123, x120);
+    x134 = (x133 + x121);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x135, &x136, 0x0,
+                                                              x111, x126);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x137, &x138,
+                                                              x136, x113, x128);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x139, &x140,
+                                                              x138, x115, x130);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x141, &x142,
+                                                              x140, x117, x132);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x143, &x144,
+                                                              x142, x119, x134);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(
+        &x145, &x146, x135, UINT64_C(0xbd667ab8a3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(
+        &x147, &x148, x145, UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x149, &x150, x145,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x151, &x152, 0x0,
+                                                              x135, x149);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x153, &x154,
+                                                              x152, x137, x150);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x155, &x156,
+                                                              x154, x139, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x157, &x158,
+                                                              x156, x141, x147);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x159, &x160,
+                                                              x158, x143, x148);
+    x161 = ((uint64_t)x160 + x144);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(
+        &x162, &x163, 0x0, x153, UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(&x164, &x165,
+                                                               x163, x155, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(&x166, &x167,
+                                                               x165, x157, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(
+        &x168, &x169, x167, x159, UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(&x170, &x171,
+                                                               x169, x161, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u64(&x172, x171, x162,
+                                                            x153);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u64(&x173, x171, x164,
+                                                            x155);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u64(&x174, x171, x166,
+                                                            x157);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u64(&x175, x171, x168,
+                                                            x159);
+    out1[0] = x172;
+    out1[1] = x173;
+    out1[2] = x174;
+    out1[3] = x175;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add adds two field elements in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ *   0 ≤ eval arg2 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) + eval (from_montgomery arg2)) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(
+    uint64_t out1[4], const uint64_t arg1[4], const uint64_t arg2[4]) {
+    uint64_t x1;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x2;
+    uint64_t x3;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x4;
+    uint64_t x5;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x6;
+    uint64_t x7;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x8;
+    uint64_t x9;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x10;
+    uint64_t x11;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x12;
+    uint64_t x13;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x14;
+    uint64_t x15;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x16;
+    uint64_t x17;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x18;
+    uint64_t x19;
+    uint64_t x20;
+    uint64_t x21;
+    uint64_t x22;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(
+        &x1, &x2, 0x0, (arg1[0]), (arg2[0]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(
+        &x3, &x4, x2, (arg1[1]), (arg2[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(
+        &x5, &x6, x4, (arg1[2]), (arg2[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(
+        &x7, &x8, x6, (arg1[3]), (arg2[3]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(
+        &x9, &x10, 0x0, x1, UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(&x11, &x12, x10,
+                                                               x3, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(&x13, &x14, x12,
+                                                               x5, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(
+        &x15, &x16, x14, x7, UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(&x17, &x18, x16,
+                                                               x8, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u64(&x19, x18, x9, x1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u64(&x20, x18, x11, x3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u64(&x21, x18, x13, x5);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u64(&x22, x18, x15, x7);
+    out1[0] = x19;
+    out1[1] = x20;
+    out1[2] = x21;
+    out1[3] = x22;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub subtracts two field elements in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ *   0 ≤ eval arg2 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) - eval (from_montgomery arg2)) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(
+    uint64_t out1[4], const uint64_t arg1[4], const uint64_t arg2[4]) {
+    uint64_t x1;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x2;
+    uint64_t x3;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x4;
+    uint64_t x5;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x6;
+    uint64_t x7;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x8;
+    uint64_t x9;
+    uint64_t x10;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x11;
+    uint64_t x12;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x13;
+    uint64_t x14;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x15;
+    uint64_t x16;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x17;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(
+        &x1, &x2, 0x0, (arg1[0]), (arg2[0]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(
+        &x3, &x4, x2, (arg1[1]), (arg2[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(
+        &x5, &x6, x4, (arg1[2]), (arg2[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(
+        &x7, &x8, x6, (arg1[3]), (arg2[3]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u64(
+        &x9, x8, 0x0, UINT64_C(0xffffffffffffffff));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(
+        &x10, &x11, 0x0, x1, (x9 & UINT16_C(0xc99)));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x12, &x13, x11,
+                                                              x3, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x14, &x15, x13,
+                                                              x5, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(
+        &x16, &x17, x15, x7, (x9 & UINT64_C(0x8000000000000000)));
+    out1[0] = x10;
+    out1[1] = x12;
+    out1[2] = x14;
+    out1[3] = x16;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_opp negates a field element in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = -eval (from_montgomery arg1) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_opp(
+    uint64_t out1[4], const uint64_t arg1[4]) {
+    uint64_t x1;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x2;
+    uint64_t x3;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x4;
+    uint64_t x5;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x6;
+    uint64_t x7;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x8;
+    uint64_t x9;
+    uint64_t x10;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x11;
+    uint64_t x12;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x13;
+    uint64_t x14;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x15;
+    uint64_t x16;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x17;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(&x1, &x2, 0x0,
+                                                               0x0, (arg1[0]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(&x3, &x4, x2,
+                                                               0x0, (arg1[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(&x5, &x6, x4,
+                                                               0x0, (arg1[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(&x7, &x8, x6,
+                                                               0x0, (arg1[3]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u64(
+        &x9, x8, 0x0, UINT64_C(0xffffffffffffffff));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(
+        &x10, &x11, 0x0, x1, (x9 & UINT16_C(0xc99)));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x12, &x13, x11,
+                                                              x3, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x14, &x15, x13,
+                                                              x5, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(
+        &x16, &x17, x15, x7, (x9 & UINT64_C(0x8000000000000000)));
+    out1[0] = x10;
+    out1[1] = x12;
+    out1[2] = x14;
+    out1[3] = x16;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_from_montgomery translates a field element out of the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   eval out1 mod m = (eval arg1 * ((2^64)⁻¹ mod m)^4) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_from_montgomery(
+    uint64_t out1[4], const uint64_t arg1[4]) {
+    uint64_t x1;
+    uint64_t x2;
+    uint64_t x3;
+    uint64_t x4;
+    uint64_t x5;
+    uint64_t x6;
+    uint64_t x7;
+    uint64_t x8;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x9;
+    uint64_t x10;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x11;
+    uint64_t x12;
+    uint64_t x13;
+    uint64_t x14;
+    uint64_t x15;
+    uint64_t x16;
+    uint64_t x17;
+    uint64_t x18;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x19;
+    uint64_t x20;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x21;
+    uint64_t x22;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x23;
+    uint64_t x24;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x25;
+    uint64_t x26;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x27;
+    uint64_t x28;
+    uint64_t x29;
+    uint64_t x30;
+    uint64_t x31;
+    uint64_t x32;
+    uint64_t x33;
+    uint64_t x34;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x35;
+    uint64_t x36;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x37;
+    uint64_t x38;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x39;
+    uint64_t x40;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x41;
+    uint64_t x42;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x43;
+    uint64_t x44;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x45;
+    uint64_t x46;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x47;
+    uint64_t x48;
+    uint64_t x49;
+    uint64_t x50;
+    uint64_t x51;
+    uint64_t x52;
+    uint64_t x53;
+    uint64_t x54;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x55;
+    uint64_t x56;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x57;
+    uint64_t x58;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x59;
+    uint64_t x60;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x61;
+    uint64_t x62;
+    uint64_t x63;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x64;
+    uint64_t x65;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x66;
+    uint64_t x67;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x68;
+    uint64_t x69;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x70;
+    uint64_t x71;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x72;
+    uint64_t x73;
+    uint64_t x74;
+    uint64_t x75;
+    uint64_t x76;
+    x1 = (arg1[0]);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(
+        &x2, &x3, x1, UINT64_C(0xbd667ab8a3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(
+        &x4, &x5, x2, UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x6, &x7, x2,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x8, &x9, 0x0, x1,
+                                                              x6);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(
+        &x10, &x11, 0x0, (x9 + x7), (arg1[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(
+        &x12, &x13, x10, UINT64_C(0xbd667ab8a3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(
+        &x14, &x15, x12, UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x16, &x17, x12,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x18, &x19, 0x0,
+                                                              x5, x14);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x20, &x21, 0x0,
+                                                              x10, x16);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(
+        &x22, &x23, 0x0, (((uint64_t)x21 + x11) + x17), (arg1[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x24, &x25, x23,
+                                                              x4, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x26, &x27, x25,
+                                                              x18, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(
+        &x28, &x29, x22, UINT64_C(0xbd667ab8a3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(
+        &x30, &x31, x28, UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x32, &x33, x28,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x34, &x35, 0x0,
+                                                              x22, x32);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x36, &x37, x35,
+                                                              x24, x33);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x38, &x39, x37,
+                                                              x26, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(
+        &x40, &x41, x39, (x27 + (x19 + x15)), x30);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x42, &x43, 0x0,
+                                                              x36, (arg1[3]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x44, &x45, x43,
+                                                              x38, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x46, &x47, x45,
+                                                              x40, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(
+        &x48, &x49, x42, UINT64_C(0xbd667ab8a3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(
+        &x50, &x51, x48, UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x52, &x53, x48,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x54, &x55, 0x0,
+                                                              x42, x52);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x56, &x57, x55,
+                                                              x44, x53);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x58, &x59, x57,
+                                                              x46, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(
+        &x60, &x61, x59, (x47 + (x41 + x31)), x50);
+    x62 = (x61 + x51);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(
+        &x63, &x64, 0x0, x56, UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(&x65, &x66, x64,
+                                                               x58, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(&x67, &x68, x66,
+                                                               x60, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(
+        &x69, &x70, x68, x62, UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(&x71, &x72, x70,
+                                                               0x0, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u64(&x73, x72, x63,
+                                                            x56);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u64(&x74, x72, x65,
+                                                            x58);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u64(&x75, x72, x67,
+                                                            x60);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u64(&x76, x72, x69,
+                                                            x62);
+    out1[0] = x73;
+    out1[1] = x74;
+    out1[2] = x75;
+    out1[3] = x76;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_to_montgomery translates a field element into the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = eval arg1 mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_to_montgomery(
+    uint64_t out1[4], const uint64_t arg1[4]) {
+    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;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x12;
+    uint64_t x13;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x14;
+    uint64_t x15;
+    uint64_t x16;
+    uint64_t x17;
+    uint64_t x18;
+    uint64_t x19;
+    uint64_t x20;
+    uint64_t x21;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x22;
+    uint64_t x23;
+    uint64_t x24;
+    uint64_t x25;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x26;
+    uint64_t x27;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x28;
+    uint64_t x29;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x30;
+    uint64_t x31;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x32;
+    uint64_t x33;
+    uint64_t x34;
+    uint64_t x35;
+    uint64_t x36;
+    uint64_t x37;
+    uint64_t x38;
+    uint64_t x39;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x40;
+    uint64_t x41;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x42;
+    uint64_t x43;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x44;
+    uint64_t x45;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x46;
+    uint64_t x47;
+    uint64_t x48;
+    uint64_t x49;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x50;
+    uint64_t x51;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x52;
+    uint64_t x53;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x54;
+    uint64_t x55;
+    uint64_t x56;
+    uint64_t x57;
+    uint64_t x58;
+    uint64_t x59;
+    uint64_t x60;
+    uint64_t x61;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x62;
+    uint64_t x63;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x64;
+    uint64_t x65;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x66;
+    uint64_t x67;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x68;
+    uint64_t x69;
+    uint64_t x70;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x71;
+    uint64_t x72;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x73;
+    uint64_t x74;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x75;
+    uint64_t x76;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x77;
+    uint64_t x78;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x79;
+    uint64_t x80;
+    uint64_t x81;
+    uint64_t x82;
+    uint64_t x83;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x1, &x2, (arg1[0]),
+                                                         UINT32_C(0x27acdc4));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(
+        &x3, &x4, x1, UINT64_C(0xbd667ab8a3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(
+        &x5, &x6, x3, UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x7, &x8, x3,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x9, &x10, (arg1[1]),
+                                                         UINT32_C(0x27acdc4));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x11, &x12, 0x0,
+                                                              x1, x7);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(
+        &x13, &x14, 0x0, ((x12 + x2) + x8), x9);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(
+        &x15, &x16, x13, UINT64_C(0xbd667ab8a3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(
+        &x17, &x18, x15, UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x19, &x20, x15,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x21, &x22, 0x0,
+                                                              x6, x17);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x23, &x24, (arg1[2]),
+                                                         UINT32_C(0x27acdc4));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x25, &x26, 0x0,
+                                                              x13, x19);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(
+        &x27, &x28, 0x0, ((x26 + (x14 + x10)) + x20), x23);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x29, &x30, x28,
+                                                              x5, x24);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x31, &x32, x30,
+                                                              x21, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(
+        &x33, &x34, x27, UINT64_C(0xbd667ab8a3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(
+        &x35, &x36, x33, UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x37, &x38, x33,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x39, &x40, 0x0,
+                                                              x27, x37);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x41, &x42, x40,
+                                                              x29, x38);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x43, &x44, x42,
+                                                              x31, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(
+        &x45, &x46, x44, (x32 + (x22 + x18)), x35);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x47, &x48, (arg1[3]),
+                                                         UINT32_C(0x27acdc4));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x49, &x50, 0x0,
+                                                              x41, x47);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x51, &x52, x50,
+                                                              x43, x48);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x53, &x54, x52,
+                                                              x45, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(
+        &x55, &x56, x49, UINT64_C(0xbd667ab8a3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(
+        &x57, &x58, x55, UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u64(&x59, &x60, x55,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x61, &x62, 0x0,
+                                                              x49, x59);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x63, &x64, x62,
+                                                              x51, x60);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(&x65, &x66, x64,
+                                                              x53, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u64(
+        &x67, &x68, x66, (x54 + (x46 + x36)), x57);
+    x69 = (x68 + x58);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(
+        &x70, &x71, 0x0, x63, UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(&x72, &x73, x71,
+                                                               x65, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(&x74, &x75, x73,
+                                                               x67, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(
+        &x76, &x77, x75, x69, UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u64(&x78, &x79, x77,
+                                                               0x0, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u64(&x80, x79, x70,
+                                                            x63);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u64(&x81, x79, x72,
+                                                            x65);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u64(&x82, x79, x74,
+                                                            x67);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u64(&x83, x79, x76,
+                                                            x69);
+    out1[0] = x80;
+    out1[1] = x81;
+    out1[2] = x82;
+    out1[3] = x83;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_nonzero outputs a single non-zero word if the input is non-zero and zero otherwise.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   out1 = 0 ↔ eval (from_montgomery arg1) mod m = 0
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffffffffffffff]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_nonzero(
+    uint64_t *out1, const uint64_t arg1[4]) {
+    uint64_t x1;
+    x1 = ((arg1[0]) | ((arg1[1]) | ((arg1[2]) | ((arg1[3]) | (uint64_t)0x0))));
+    *out1 = x1;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_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]]
+ *   arg3: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(
+    uint64_t out1[4], fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 arg1,
+    const uint64_t arg2[4], const uint64_t arg3[4]) {
+    uint64_t x1;
+    uint64_t x2;
+    uint64_t x3;
+    uint64_t x4;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u64(
+        &x1, arg1, (arg2[0]), (arg3[0]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u64(
+        &x2, arg1, (arg2[1]), (arg3[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u64(
+        &x3, arg1, (arg2[2]), (arg3[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u64(
+        &x4, arg1, (arg2[3]), (arg3[3]));
+    out1[0] = x1;
+    out1[1] = x2;
+    out1[2] = x3;
+    out1[3] = x4;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_to_bytes serializes a field element in the Montgomery domain to bytes in little-endian order.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..31]
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * 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]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_to_bytes(
+    uint8_t out1[32], const uint64_t arg1[4]) {
+    uint64_t x1;
+    uint64_t x2;
+    uint64_t x3;
+    uint64_t x4;
+    uint64_t x5;
+    uint8_t x6;
+    uint64_t x7;
+    uint8_t x8;
+    uint64_t x9;
+    uint8_t x10;
+    uint64_t x11;
+    uint8_t x12;
+    uint64_t x13;
+    uint8_t x14;
+    uint64_t x15;
+    uint8_t x16;
+    uint8_t x17;
+    uint8_t x18;
+    uint8_t x19;
+    uint64_t x20;
+    uint8_t x21;
+    uint64_t x22;
+    uint8_t x23;
+    uint64_t x24;
+    uint8_t x25;
+    uint64_t x26;
+    uint8_t x27;
+    uint64_t x28;
+    uint8_t x29;
+    uint64_t x30;
+    uint8_t x31;
+    uint8_t x32;
+    uint8_t x33;
+    uint8_t x34;
+    uint64_t x35;
+    uint8_t x36;
+    uint64_t x37;
+    uint8_t x38;
+    uint64_t x39;
+    uint8_t x40;
+    uint64_t x41;
+    uint8_t x42;
+    uint64_t x43;
+    uint8_t x44;
+    uint64_t x45;
+    uint8_t x46;
+    uint8_t x47;
+    uint8_t x48;
+    uint8_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;
+    uint64_t x60;
+    uint8_t x61;
+    uint8_t x62;
+    uint8_t x63;
+    x1 = (arg1[3]);
+    x2 = (arg1[2]);
+    x3 = (arg1[1]);
+    x4 = (arg1[0]);
+    x5 = (x4 >> 8);
+    x6 = (uint8_t)(x4 & UINT8_C(0xff));
+    x7 = (x5 >> 8);
+    x8 = (uint8_t)(x5 & UINT8_C(0xff));
+    x9 = (x7 >> 8);
+    x10 = (uint8_t)(x7 & UINT8_C(0xff));
+    x11 = (x9 >> 8);
+    x12 = (uint8_t)(x9 & UINT8_C(0xff));
+    x13 = (x11 >> 8);
+    x14 = (uint8_t)(x11 & UINT8_C(0xff));
+    x15 = (x13 >> 8);
+    x16 = (uint8_t)(x13 & UINT8_C(0xff));
+    x17 = (uint8_t)(x15 >> 8);
+    x18 = (uint8_t)(x15 & UINT8_C(0xff));
+    x19 = (uint8_t)(x17 & UINT8_C(0xff));
+    x20 = (x3 >> 8);
+    x21 = (uint8_t)(x3 & UINT8_C(0xff));
+    x22 = (x20 >> 8);
+    x23 = (uint8_t)(x20 & UINT8_C(0xff));
+    x24 = (x22 >> 8);
+    x25 = (uint8_t)(x22 & UINT8_C(0xff));
+    x26 = (x24 >> 8);
+    x27 = (uint8_t)(x24 & UINT8_C(0xff));
+    x28 = (x26 >> 8);
+    x29 = (uint8_t)(x26 & UINT8_C(0xff));
+    x30 = (x28 >> 8);
+    x31 = (uint8_t)(x28 & UINT8_C(0xff));
+    x32 = (uint8_t)(x30 >> 8);
+    x33 = (uint8_t)(x30 & UINT8_C(0xff));
+    x34 = (uint8_t)(x32 & UINT8_C(0xff));
+    x35 = (x2 >> 8);
+    x36 = (uint8_t)(x2 & UINT8_C(0xff));
+    x37 = (x35 >> 8);
+    x38 = (uint8_t)(x35 & UINT8_C(0xff));
+    x39 = (x37 >> 8);
+    x40 = (uint8_t)(x37 & UINT8_C(0xff));
+    x41 = (x39 >> 8);
+    x42 = (uint8_t)(x39 & UINT8_C(0xff));
+    x43 = (x41 >> 8);
+    x44 = (uint8_t)(x41 & UINT8_C(0xff));
+    x45 = (x43 >> 8);
+    x46 = (uint8_t)(x43 & UINT8_C(0xff));
+    x47 = (uint8_t)(x45 >> 8);
+    x48 = (uint8_t)(x45 & UINT8_C(0xff));
+    x49 = (uint8_t)(x47 & UINT8_C(0xff));
+    x50 = (x1 >> 8);
+    x51 = (uint8_t)(x1 & 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 = (x58 >> 8);
+    x61 = (uint8_t)(x58 & UINT8_C(0xff));
+    x62 = (uint8_t)(x60 >> 8);
+    x63 = (uint8_t)(x60 & UINT8_C(0xff));
+    out1[0] = x6;
+    out1[1] = x8;
+    out1[2] = x10;
+    out1[3] = x12;
+    out1[4] = x14;
+    out1[5] = x16;
+    out1[6] = x18;
+    out1[7] = x19;
+    out1[8] = x21;
+    out1[9] = x23;
+    out1[10] = x25;
+    out1[11] = x27;
+    out1[12] = x29;
+    out1[13] = x31;
+    out1[14] = x33;
+    out1[15] = x34;
+    out1[16] = x36;
+    out1[17] = x38;
+    out1[18] = x40;
+    out1[19] = x42;
+    out1[20] = x44;
+    out1[21] = x46;
+    out1[22] = x48;
+    out1[23] = x49;
+    out1[24] = x51;
+    out1[25] = x53;
+    out1[26] = x55;
+    out1[27] = x57;
+    out1[28] = x59;
+    out1[29] = x61;
+    out1[30] = x63;
+    out1[31] = x62;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_from_bytes deserializes a field element in the Montgomery domain from bytes in little-endian order.
+ * Preconditions:
+ *   0 ≤ bytes_eval arg1 < m
+ * Postconditions:
+ *   eval out1 mod m = bytes_eval arg1 mod m
+ *   0 ≤ eval out1 < 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]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_from_bytes(
+    uint64_t out1[4], const uint8_t arg1[32]) {
+    uint64_t x1;
+    uint64_t x2;
+    uint64_t x3;
+    uint64_t x4;
+    uint64_t x5;
+    uint64_t x6;
+    uint64_t x7;
+    uint8_t x8;
+    uint64_t x9;
+    uint64_t x10;
+    uint64_t x11;
+    uint64_t x12;
+    uint64_t x13;
+    uint64_t x14;
+    uint64_t x15;
+    uint8_t x16;
+    uint64_t x17;
+    uint64_t x18;
+    uint64_t x19;
+    uint64_t x20;
+    uint64_t x21;
+    uint64_t x22;
+    uint64_t x23;
+    uint8_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;
+    x1 = ((uint64_t)(arg1[31]) << 56);
+    x2 = ((uint64_t)(arg1[30]) << 48);
+    x3 = ((uint64_t)(arg1[29]) << 40);
+    x4 = ((uint64_t)(arg1[28]) << 32);
+    x5 = ((uint64_t)(arg1[27]) << 24);
+    x6 = ((uint64_t)(arg1[26]) << 16);
+    x7 = ((uint64_t)(arg1[25]) << 8);
+    x8 = (arg1[24]);
+    x9 = ((uint64_t)(arg1[23]) << 56);
+    x10 = ((uint64_t)(arg1[22]) << 48);
+    x11 = ((uint64_t)(arg1[21]) << 40);
+    x12 = ((uint64_t)(arg1[20]) << 32);
+    x13 = ((uint64_t)(arg1[19]) << 24);
+    x14 = ((uint64_t)(arg1[18]) << 16);
+    x15 = ((uint64_t)(arg1[17]) << 8);
+    x16 = (arg1[16]);
+    x17 = ((uint64_t)(arg1[15]) << 56);
+    x18 = ((uint64_t)(arg1[14]) << 48);
+    x19 = ((uint64_t)(arg1[13]) << 40);
+    x20 = ((uint64_t)(arg1[12]) << 32);
+    x21 = ((uint64_t)(arg1[11]) << 24);
+    x22 = ((uint64_t)(arg1[10]) << 16);
+    x23 = ((uint64_t)(arg1[9]) << 8);
+    x24 = (arg1[8]);
+    x25 = ((uint64_t)(arg1[7]) << 56);
+    x26 = ((uint64_t)(arg1[6]) << 48);
+    x27 = ((uint64_t)(arg1[5]) << 40);
+    x28 = ((uint64_t)(arg1[4]) << 32);
+    x29 = ((uint64_t)(arg1[3]) << 24);
+    x30 = ((uint64_t)(arg1[2]) << 16);
+    x31 = ((uint64_t)(arg1[1]) << 8);
+    x32 = (arg1[0]);
+    x33 = (x32 + (x31 + (x30 + (x29 + (x28 + (x27 + (x26 + x25)))))));
+    x34 = (x33 & UINT64_C(0xffffffffffffffff));
+    x35 = (x8 + (x7 + (x6 + (x5 + (x4 + (x3 + (x2 + x1)))))));
+    x36 = (x16 + (x15 + (x14 + (x13 + (x12 + (x11 + (x10 + x9)))))));
+    x37 = (x24 + (x23 + (x22 + (x21 + (x20 + (x19 + (x18 + x17)))))));
+    x38 = (x37 & UINT64_C(0xffffffffffffffff));
+    x39 = (x36 & UINT64_C(0xffffffffffffffff));
+    out1[0] = x34;
+    out1[1] = x38;
+    out1[2] = x39;
+    out1[3] = x35;
+}
+
+/* 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_GostR3410_2001_CryptoPro_B_ParamSet/fe_inv.op3
+ * sliding window w=5
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_inv(fe_t output,
+                                                            const fe_t t1) {
+    int i;
+    /* temporary variables */
+    fe_t acc, t23, t25;
+
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_square(acc, t1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t25, t1, acc);
+    for (i = 0; i < 9; i++)
+        fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t25, t25, acc);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t23, t25, acc);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t25, t23, acc);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_square(acc, t1);
+    for (i = 0; i < 247; i++)
+        fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(acc, acc, t25);
+    for (i = 0; i < 7; i++)
+        fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(output, acc, t23);
+}
+
+/* curve coefficient constants */
+
+static const limb_t const_one[4] = {
+    UINT64_C(0xFFFFFFFFFFFFF367), UINT64_C(0xFFFFFFFFFFFFFFFF),
+    UINT64_C(0xFFFFFFFFFFFFFFFF), UINT64_C(0x7FFFFFFFFFFFFFFF)};
+
+static const limb_t const_b[4] = {
+    UINT64_C(0x8DCC455AA9C5A084), UINT64_C(0x91AB42DF6CF438A8),
+    UINT64_C(0x8F8AA907EEAC7D11), UINT64_C(0x3CE5D221F6285375)};
+
+/* LUT for scalar multiplication by comb interleaving */
+static const pt_aff_t lut_cmb[27][16] = {
+    {
+        {{UINT64_C(0xFFFFFFFFFFFFF367), UINT64_C(0xFFFFFFFFFFFFFFFF),
+          UINT64_C(0xFFFFFFFFFFFFFFFF), UINT64_C(0x7FFFFFFFFFFFFFFF)},
+         {UINT64_C(0xDDDC64B3570C7410), UINT64_C(0xA7B0992513172887),
+          UINT64_C(0x0C4E5C4C4B6382DB), UINT64_C(0x2763DB0F124768DE)}},
+        {{UINT64_C(0xCD3E57B68457D15D), UINT64_C(0xEB688F7FBEA56E83),
+          UINT64_C(0x235A123C6A13C5CE), UINT64_C(0x0CD7EB9D50F57A6D)},
+         {UINT64_C(0xC0124E91544C1965), UINT64_C(0x4D9C172962AFA35E),
+          UINT64_C(0x0F92F2C30037C554), UINT64_C(0x1D8998680A3F2665)}},
+        {{UINT64_C(0x9DE4B21355F43EFF), UINT64_C(0x2E110A425C9E63F5),
+          UINT64_C(0x9350A9C31CE5A6DF), UINT64_C(0x377CBF0BA332315E)},
+         {UINT64_C(0x2805DD4820F0D1B5), UINT64_C(0x3B1975660F9723E5),
+          UINT64_C(0xA1CCA78C84B79937), UINT64_C(0x4F87BB1B94D5E03D)}},
+        {{UINT64_C(0xE428FBFB5652C96F), UINT64_C(0x2E9A14D2D261BDD1),
+          UINT64_C(0x082D82967453B76A), UINT64_C(0x61EA580E7AC87B02)},
+         {UINT64_C(0xA0F8C2BACF368FDB), UINT64_C(0xDF093380D73B2A28),
+          UINT64_C(0xFA0928B2EA8FE5D2), UINT64_C(0x77A674925F86D38A)}},
+        {{UINT64_C(0xDFFAB41027670451), UINT64_C(0xEBC3D0171200AD3A),
+          UINT64_C(0xF68324F325F4F6C4), UINT64_C(0x4A24CD5F7D0EAFD0)},
+         {UINT64_C(0xF8FBD489D3F6BD1C), UINT64_C(0x0F6B56D567B473DE),
+          UINT64_C(0x6FB063DECACF0D6B), UINT64_C(0x27F2E7E996DC574B)}},
+        {{UINT64_C(0xA6A1064593937228), UINT64_C(0xAB7550B4A9165BBB),
+          UINT64_C(0xD682D4F1CB0EDBE8), UINT64_C(0x2261FCEC40E5AD8D)},
+         {UINT64_C(0x9F2119C6CCBD4E18), UINT64_C(0x2FD094E9AAB09697),
+          UINT64_C(0x00331713E700929E), UINT64_C(0x6C5F2EFE54338FE1)}},
+        {{UINT64_C(0xD631401742FFF78A), UINT64_C(0x38F23A912087E055),
+          UINT64_C(0xE30E809C10EF1CAC), UINT64_C(0x3BCB0A542432FF74)},
+         {UINT64_C(0x2B4B5B97B31509E6), UINT64_C(0x117FE9D73E54AF47),
+          UINT64_C(0xE513C0BE52F63ACA), UINT64_C(0x41ED8ADAB1C80A6B)}},
+        {{UINT64_C(0x61A31837E0A79FCD), UINT64_C(0x8F742B5751D3DE38),
+          UINT64_C(0x10635FCD41354B55), UINT64_C(0x61F30C61946510BE)},
+         {UINT64_C(0x9183D6776C416DAC), UINT64_C(0x391B7B42345431CB),
+          UINT64_C(0xE3D6F0847C254A8D), UINT64_C(0x777E1F6219D320D8)}},
+        {{UINT64_C(0x090E633FF05BD85D), UINT64_C(0x546C41A0240392ED),
+          UINT64_C(0x6BBCF15D9F4139CA), UINT64_C(0x73F5B6577FFDA5DA)},
+         {UINT64_C(0xBC04E353E0622A57), UINT64_C(0xCBD8F01E6E6414F4),
+          UINT64_C(0x53377C0B8C3C0CC5), UINT64_C(0x6D302331E0A14548)}},
+        {{UINT64_C(0x235487F83D6D456E), UINT64_C(0xBD92203DB3FDCDCF),
+          UINT64_C(0x15B13D60CFFDA977), UINT64_C(0x22DCB48731A1C4B5)},
+         {UINT64_C(0xA367FB4EC76ED9A2), UINT64_C(0x1E4F7956C0C86AF4),
+          UINT64_C(0x6F087C495B012AD7), UINT64_C(0x33437E4A4949B444)}},
+        {{UINT64_C(0x261B44FEB7CDDB38), UINT64_C(0xDCE2FE47419216AD),
+          UINT64_C(0xA4CE17FF9428657B), UINT64_C(0x7CE64F48F8329049)},
+         {UINT64_C(0x4CE742117289C114), UINT64_C(0x0E6224098C212A23),
+          UINT64_C(0xCF75BF452096719D), UINT64_C(0x6F5535817BDC1600)}},
+        {{UINT64_C(0xE776AA0CB941CBC9), UINT64_C(0x16D670E0951AAED3),
+          UINT64_C(0x79C019DF4B1EC097), UINT64_C(0x635A66BB12266D30)},
+         {UINT64_C(0x030D843E023AAFD2), UINT64_C(0x10FB61576466108F),
+          UINT64_C(0x93774BEC08D568D5), UINT64_C(0x29D2796204C1EE73)}},
+        {{UINT64_C(0x6F0F4C2EE00BBC21), UINT64_C(0x9EB34C58A30AB92F),
+          UINT64_C(0x2153D901AE34908B), UINT64_C(0x136A7E1F4EDC188F)},
+         {UINT64_C(0xF709BF5D8BC45EE4), UINT64_C(0xEA6984E44FAD9A54),
+          UINT64_C(0xFC8E6F8AAF5140EB), UINT64_C(0x25EBF0DE87756E47)}},
+        {{UINT64_C(0x5C2A97265B1D4B9F), UINT64_C(0xBE235DFD68E93FC7),
+          UINT64_C(0x7766BDB9471A4EA0), UINT64_C(0x476D17CCD9909CD9)},
+         {UINT64_C(0x4960E5B47B398BC4), UINT64_C(0x909D0F170F58F328),
+          UINT64_C(0x1ABF7E02230EF508), UINT64_C(0x6DE6B3E1D29239C9)}},
+        {{UINT64_C(0xCCF0AA2885A6DBE3), UINT64_C(0xA5E4B325823C606C),
+          UINT64_C(0xADE98B2A15505FC6), UINT64_C(0x4D4E770302E20C3B)},
+         {UINT64_C(0x241964174730DF64), UINT64_C(0x3DD47817A914A59D),
+          UINT64_C(0x4D7A317EC4FDFD97), UINT64_C(0x3767E545BE12AA72)}},
+        {{UINT64_C(0xA0C2A028165C7BF4), UINT64_C(0xCD4DA6EA36A0B483),
+          UINT64_C(0x1E1E63323AF53195), UINT64_C(0x7A025E238D77188F)},
+         {UINT64_C(0xB3CF03B908D2CEF2), UINT64_C(0x8FEE9BB825A0AFA6),
+          UINT64_C(0x855340E088111895), UINT64_C(0x32E3EF014FB8F8A3)}},
+    },
+    {
+        {{UINT64_C(0x33EBE39DEBF87807), UINT64_C(0xB048F96CDBDEFF76),
+          UINT64_C(0xA0496C3C342A3087), UINT64_C(0x7623E19250953679)},
+         {UINT64_C(0x12F767114B932390), UINT64_C(0xF80851EAACECE2F7),
+          UINT64_C(0xE447465BE5B280EA), UINT64_C(0x0412ADE811115958)}},
+        {{UINT64_C(0x982F1AC8B5EB0DC2), UINT64_C(0x8464E052BBBCC880),
+          UINT64_C(0xC927B59601335D53), UINT64_C(0x4B0C6F5A4DA4D80B)},
+         {UINT64_C(0x101E1878E04783AF), UINT64_C(0x50458FFC41D8A690),
+          UINT64_C(0x11499D881B77DFBF), UINT64_C(0x46DC7D221F77A937)}},
+        {{UINT64_C(0xE9AD22CE620E52C0), UINT64_C(0x0990D6AA4140F356),
+          UINT64_C(0x0F6B2EF70CBBEEE5), UINT64_C(0x2C67DC80EAD414C6)},
+         {UINT64_C(0xE17182BC23D4CD20), UINT64_C(0xFC8FE3CBC13DDEA9),
+          UINT64_C(0xD1E4A7B83BABC06D), UINT64_C(0x52EA05CC71C06DB7)}},
+        {{UINT64_C(0xF8ABB7700D022B5B), UINT64_C(0x362B8059199DC689),
+          UINT64_C(0x5D887A4D26BBDEC8), UINT64_C(0x7835F183F7FC2A01)},
+         {UINT64_C(0xEEDE12F5DE99DF34), UINT64_C(0xBE952638A3082301),
+          UINT64_C(0x829FDF804C35A162), UINT64_C(0x205A2252C2B9645E)}},
+        {{UINT64_C(0xDE284DA91356E14C), UINT64_C(0xE40CEFE0C37415FE),
+          UINT64_C(0x62BE93E947F6016E), UINT64_C(0x2DD989045DBFE2F6)},
+         {UINT64_C(0x195B0E982EBC70F9), UINT64_C(0x7E52840DF01F4D43),
+          UINT64_C(0x1AFB1FDF4B1F6AB4), UINT64_C(0x050AABB820B3E491)}},
+        {{UINT64_C(0xC59E1EDBC645DAD4), UINT64_C(0x5AF6B2DC565A286D),
+          UINT64_C(0xC399A48A13076366), UINT64_C(0x19F4881F4AC0E5B9)},
+         {UINT64_C(0xC07D02A1CD5AC339), UINT64_C(0x18FBD088ED628A55),
+          UINT64_C(0x2D33C6F4FFA4788E), UINT64_C(0x52E9AE42CCB832E7)}},
+        {{UINT64_C(0xA47091AE4E5E934E), UINT64_C(0x2542CE1391CED3C6),
+          UINT64_C(0xDDE01FD58FC47857), UINT64_C(0x6BA6E5694304EAA9)},
+         {UINT64_C(0x2FF0278BE24091A9), UINT64_C(0xB895F0AB782BBCE0),
+          UINT64_C(0xA80CCC97AB8B8828), UINT64_C(0x6A54B96168A7D8FE)}},
+        {{UINT64_C(0x15E1F5ADBAC4581A), UINT64_C(0x91620EF0D4BAA751),
+          UINT64_C(0x4E65731FC7273C4D), UINT64_C(0x14B166CB7EEE33B5)},
+         {UINT64_C(0x7B0EFFA53CD06080), UINT64_C(0x4491156A8CF95FF9),
+          UINT64_C(0xC8C64C39E2258574), UINT64_C(0x3D48DA9D13315CE9)}},
+        {{UINT64_C(0x97A098A399866CE5), UINT64_C(0xF4CCDB40023A1167),
+          UINT64_C(0x4BB32981F8094782), UINT64_C(0x7342CC98C7D5FD13)},
+         {UINT64_C(0x3C1C5B1878B99D4E), UINT64_C(0x1277668FF4762AC9),
+          UINT64_C(0x612431D76AE50E4F), UINT64_C(0x36C174E036F9071C)}},
+        {{UINT64_C(0x39194E879327BA7F), UINT64_C(0xC4D251FF7237FA1A),
+          UINT64_C(0x55ED3CD42BA5EB8D), UINT64_C(0x0263AF07BA590188)},
+         {UINT64_C(0xB4853127EFA82CF3), UINT64_C(0x2CC2D2202B8E761D),
+          UINT64_C(0x4582B81E2722B490), UINT64_C(0x1DA7680A610AA621)}},
+        {{UINT64_C(0x06A669EE30D297D4), UINT64_C(0xC336B048E133D393),
+          UINT64_C(0xB733A2C493B7B41B), UINT64_C(0x427CC233C7A8E721)},
+         {UINT64_C(0x727C14F12867BB00), UINT64_C(0x756F4C7AA736035E),
+          UINT64_C(0xB72A3EDE26327A22), UINT64_C(0x4AEDE2BB77F73F28)}},
+        {{UINT64_C(0xC8A3612FA7282ED0), UINT64_C(0xE4AD8B40B0150579),
+          UINT64_C(0xAB1DE11D0C3FEE4B), UINT64_C(0x613AAD4833B31F23)},
+         {UINT64_C(0xE74AB8565C91BD21), UINT64_C(0x499177357953D695),
+          UINT64_C(0x3831EB601A53D74F), UINT64_C(0x245977A054DEB1A6)}},
+        {{UINT64_C(0x15972E4DFFFC1468), UINT64_C(0xA758D9CB141DC24C),
+          UINT64_C(0x5E76FCDFED8694C5), UINT64_C(0x5F9DAF35069B7A5E)},
+         {UINT64_C(0xFE50FCE4501B5415), UINT64_C(0x6442CF6758CFDE50),
+          UINT64_C(0xA89C6DB438E5F4D0), UINT64_C(0x21F012DBF5D4FEFC)}},
+        {{UINT64_C(0x2A1170AD98CB9A81), UINT64_C(0x934BD9D5036C5E45),
+          UINT64_C(0x27DF152ECA5095B1), UINT64_C(0x682698DBCCEEE508)},
+         {UINT64_C(0x1F4FE3A2B973FB5F), UINT64_C(0xD33CBEBE792C7D4D),
+          UINT64_C(0x99D37961E7B33A8F), UINT64_C(0x46B8993B7B6D015D)}},
+        {{UINT64_C(0x93A3809B6FBAC8F7), UINT64_C(0x84861BF097C55DC4),
+          UINT64_C(0xA6F89EEA15BB65E3), UINT64_C(0x66AE1C5DA6E531D1)},
+         {UINT64_C(0x643A14FCFD83DAEA), UINT64_C(0xA7A46D0DC585947B),
+          UINT64_C(0xFA20CF074FBA1274), UINT64_C(0x5999ED7B93578A7D)}},
+        {{UINT64_C(0x36C8B6ED78E7C6CE), UINT64_C(0x6D400CA55E325F44),
+          UINT64_C(0xC6AE09B320B7AA5C), UINT64_C(0x1AF261C189EABC17)},
+         {UINT64_C(0x64D6FFBBB9E778E4), UINT64_C(0x1C9E223E7FC64BEB),
+          UINT64_C(0x4D68B5205D75E6C0), UINT64_C(0x5A72B1D976677A06)}},
+    },
+    {
+        {{UINT64_C(0x62DB66406F08BB17), UINT64_C(0xC34F29DFAE75BB73),
+          UINT64_C(0xD501293D7DBD4851), UINT64_C(0x5EAA94CAAD1F604B)},
+         {UINT64_C(0x39CFE9D1094408A8), UINT64_C(0xC0F6544CE8A476F2),
+          UINT64_C(0x9F6308B6A42D7607), UINT64_C(0x17F82949D727018F)}},
+        {{UINT64_C(0xC44453CD9C4C4BD2), UINT64_C(0xA895E247EBD0B947),
+          UINT64_C(0x0AEB7AFCAEBC27F4), UINT64_C(0x2472FD08F04ABFAC)},
+         {UINT64_C(0x319EC67D73E6E994), UINT64_C(0xD6533E4C798C5FC0),
+          UINT64_C(0xF4C3B24D3FB9AA89), UINT64_C(0x3EC580820A3B376B)}},
+        {{UINT64_C(0x79732D6F144ACF7A), UINT64_C(0xFDD630C3911342DD),
+          UINT64_C(0xC577C4B34A630649), UINT64_C(0x14956A17BBA999D6)},
+         {UINT64_C(0x523D3CC8A435A559), UINT64_C(0x488DC690ACDA8861),
+          UINT64_C(0x4CF70928F051C69A), UINT64_C(0x2D98D573955394CB)}},
+        {{UINT64_C(0xEDB7BA2A23A4B840), UINT64_C(0x725EC496F6C2D93B),
+          UINT64_C(0x0C94818B8833BB3F), UINT64_C(0x51281A31B142B12A)},
+         {UINT64_C(0x2A8A5706659EDA83), UINT64_C(0x3098F7507F9D6877),
+          UINT64_C(0x87AD0FDF2171F69F), UINT64_C(0x6B7067C31A6F2F28)}},
+        {{UINT64_C(0x3B52107412B1E36F), UINT64_C(0x727A2432F81E4733),
+          UINT64_C(0xB75A2F3553F2CBBD), UINT64_C(0x46DE933854960EB0)},
+         {UINT64_C(0xAC5344F8E561D908), UINT64_C(0x4BD40ECB12C67430),
+          UINT64_C(0x1698FD62EF499F97), UINT64_C(0x29EBD7AE6AE9FBD1)}},
+        {{UINT64_C(0x9DEC249B1EC8110D), UINT64_C(0x2D19053AFD2F5C39),
+          UINT64_C(0xB1189807E01522DF), UINT64_C(0x24A04C16C1424C77)},
+         {UINT64_C(0xA4FC7C7D24F72226), UINT64_C(0x763405FBA8322501),
+          UINT64_C(0xC5443C9A18F015E0), UINT64_C(0x6DEDA19BC55D6CEA)}},
+        {{UINT64_C(0x4EF309769EAE2FF9), UINT64_C(0x2549B7F25741B21B),
+          UINT64_C(0x859ACD103BC23F01), UINT64_C(0x05C0358FBF5FB0D7)},
+         {UINT64_C(0x85E53AA8FB6AB34C), UINT64_C(0x8DAAAA698FD2FD20),
+          UINT64_C(0xBE6D4D3416096FC9), UINT64_C(0x27572C88F8B8B831)}},
+        {{UINT64_C(0xADB98DC547D56A25), UINT64_C(0x0CC764328B8E1DC6),
+          UINT64_C(0x032C738EBE48C4A1), UINT64_C(0x31372DAD94FC9CF0)},
+         {UINT64_C(0x8E646A0C78A7DCB2), UINT64_C(0xA32F3E9C6ECD9885),
+          UINT64_C(0x280BB4AD6A3AD963), UINT64_C(0x7DEE1BC4817D4327)}},
+        {{UINT64_C(0x1AE6A27BF8A7C1E1), UINT64_C(0x558C652FCBC527C7),
+          UINT64_C(0x4084B56EA65056F6), UINT64_C(0x3FD454596D4C838B)},
+         {UINT64_C(0xF5C15AFD56DE792A), UINT64_C(0xF656FAA488959282),
+          UINT64_C(0x7F0D8EF41C07D63F), UINT64_C(0x44EFFF7DCD841ACC)}},
+        {{UINT64_C(0xAC28F2A68D3695D8), UINT64_C(0x94959EB83F91E781),
+          UINT64_C(0x7693FFF7FEDD6E1F), UINT64_C(0x2512E6E1A9A699EF)},
+         {UINT64_C(0x823400EB7955FAB7), UINT64_C(0xCF109EF994924C08),
+          UINT64_C(0x12E087793A709F32), UINT64_C(0x187D04139CC6484C)}},
+        {{UINT64_C(0xD3932AFBEBDE477F), UINT64_C(0x9D5A542244538D8A),
+          UINT64_C(0x40B0B159166A87AF), UINT64_C(0x31294B3D41D5E078)},
+         {UINT64_C(0x6C49C853E8C48222), UINT64_C(0x8FBE6620DCD0D611),
+          UINT64_C(0x9DDC7EE2F611007B), UINT64_C(0x12289A60E6652172)}},
+        {{UINT64_C(0x8B85475BDACF80F7), UINT64_C(0xADBAB3539B5CAEF2),
+          UINT64_C(0x7C4090A38D2A7707), UINT64_C(0x271FA4F1DAB97830)},
+         {UINT64_C(0x141B725253173E04), UINT64_C(0x4B483D6406D0B127),
+          UINT64_C(0x8FD15BCF063A7AF8), UINT64_C(0x59B19EAFE580F34C)}},
+        {{UINT64_C(0xA7EEA8C49C0D79B6), UINT64_C(0x766FA113B9185109),
+          UINT64_C(0xB42D74F34642CC64), UINT64_C(0x51D0127BBB817476)},
+         {UINT64_C(0x6DA097F58AB71448), UINT64_C(0x145872E5F95AD0C7),
+          UINT64_C(0xB7E934F3F1759436), UINT64_C(0x4EA883F93160ED1F)}},
+        {{UINT64_C(0x30DC39B70CEABAE1), UINT64_C(0x49EC5EE8A606D766),
+          UINT64_C(0x230E276297FC46AF), UINT64_C(0x079A531F5BE79B8D)},
+         {UINT64_C(0x48253BC2EF08C93F), UINT64_C(0x2D32AF02F124D043),
+          UINT64_C(0x85796D0DAF34D231), UINT64_C(0x06A6205C15F8CECD)}},
+        {{UINT64_C(0x1FA77AFD47B00D1A), UINT64_C(0x429717B0E48CE97A),
+          UINT64_C(0x38FEF11D57433697), UINT64_C(0x3E91BED67D426687)},
+         {UINT64_C(0x95919BF72AB4BFE9), UINT64_C(0x7A3F33FC97096B3A),
+          UINT64_C(0x0E0BBAC33DD8C82E), UINT64_C(0x2CE9EFCBF8EDB675)}},
+        {{UINT64_C(0x2D44E99843D8B81D), UINT64_C(0x8ABFF4196D68A95C),
+          UINT64_C(0x639000A03B2A18DD), UINT64_C(0x7CD15413871E3ED3)},
+         {UINT64_C(0xC059855B148F0378), UINT64_C(0x50147459616B62BF),
+          UINT64_C(0x53B699AF4D461110), UINT64_C(0x6A0D0EC7EC29E48D)}},
+    },
+    {
+        {{UINT64_C(0x5173322115797F35), UINT64_C(0x2F2982144BBE6644),
+          UINT64_C(0x7BC8FEC64A5EF621), UINT64_C(0x3D2BE7857F472F05)},
+         {UINT64_C(0xA1C3A1C92765C427), UINT64_C(0xBACF08FE24155ACF),
+          UINT64_C(0xA9CC1A179D229948), UINT64_C(0x1918C97F27039FD8)}},
+        {{UINT64_C(0x2CF393387843FF7B), UINT64_C(0x5FCBDE65258997F2),
+          UINT64_C(0x3980BF90165A98A3), UINT64_C(0x2E80607DBF9458E5)},
+         {UINT64_C(0x5F646EB67019165C), UINT64_C(0xFA091FBEDDE34205),
+          UINT64_C(0x695348B669267AE3), UINT64_C(0x385B0B6AABC22051)}},
+        {{UINT64_C(0x3CAE0756B537F78C), UINT64_C(0x3012A9588BE30367),
+          UINT64_C(0x32D26C06981A22C3), UINT64_C(0x7D091FAB2950E833)},
+         {UINT64_C(0xD8E1B638797ACAAF), UINT64_C(0xE7021C8549F2EA10),
+          UINT64_C(0xCA382BC117A7AF3B), UINT64_C(0x08A5A81DBB809976)}},
+        {{UINT64_C(0x00F499FD4287BB97), UINT64_C(0xFB6791CADAA9DAF2),
+          UINT64_C(0x9A19E4F3057B2B98), UINT64_C(0x6968D2FFC53C0223)},
+         {UINT64_C(0xDC741EF5CE88509C), UINT64_C(0x38AE355D306A0570),
+          UINT64_C(0xFECF6589C23AF46B), UINT64_C(0x6C0E6ED16AD48836)}},
+        {{UINT64_C(0x22B68698E363495D), UINT64_C(0x120005D039AF2BE3),
+          UINT64_C(0xE37B19650BF4BA69), UINT64_C(0x3B416E9326E64AE7)},
+         {UINT64_C(0xFAED5088DEAC5C59), UINT64_C(0x67436ACCEB2518A5),
+          UINT64_C(0x636B52F891FA788D), UINT64_C(0x10B2A57A655153D1)}},
+        {{UINT64_C(0xB18060A7833A984C), UINT64_C(0x7EF8374674833BAD),
+          UINT64_C(0xCBFAF742C5B3BC88), UINT64_C(0x7981DC36A1A7F135)},
+         {UINT64_C(0xE70CCAFA5D076280), UINT64_C(0xEBA80EB707009D85),
+          UINT64_C(0x7D99D24C73778DE2), UINT64_C(0x1EFEE1BBA7262D50)}},
+        {{UINT64_C(0xBC47F4A26A7CAB32), UINT64_C(0x53F290A7DD6E48A3),
+          UINT64_C(0x82257A1B92F35F9E), UINT64_C(0x73D17B318BB0AAB0)},
+         {UINT64_C(0xBBD4522AC2DFFE96), UINT64_C(0x9C37DAA1E6EB0501),
+          UINT64_C(0xF4D4D568453DB6BE), UINT64_C(0x2868CBF5642AD2E4)}},
+        {{UINT64_C(0x40A988E6ABE30C59), UINT64_C(0x5ADED92993057DEC),
+          UINT64_C(0x18FD7E04DACD37B0), UINT64_C(0x6E3FB81E8228ACA5)},
+         {UINT64_C(0xFF3EEFE64104B0C9), UINT64_C(0xD7DD05E731CA120A),
+          UINT64_C(0xAFD3CF1CD01C1CF8), UINT64_C(0x4D0CD264831BC4E9)}},
+        {{UINT64_C(0x2641B32182CAC14A), UINT64_C(0x34EB149570990E6C),
+          UINT64_C(0x3E5AF58FA1C74CA6), UINT64_C(0x11B50821616B7A2D)},
+         {UINT64_C(0x891636E3C4FA9719), UINT64_C(0xAEE84C27107DD719),
+          UINT64_C(0xA2B0D83EC1872E75), UINT64_C(0x7DD62CBC7383069E)}},
+        {{UINT64_C(0xEBA4A024C81B7E15), UINT64_C(0x1CC37E0804516070),
+          UINT64_C(0xEF1F0401F90CE59D), UINT64_C(0x3B4259D5E062E133)},
+         {UINT64_C(0x87A1DBFACF2CA1DD), UINT64_C(0xCFBFB15F61FD1AFB),
+          UINT64_C(0xFBFD9899ECF4C7BA), UINT64_C(0x57C84CEE2725FA50)}},
+        {{UINT64_C(0x8B0B7414EFA6E3D0), UINT64_C(0xD9725C5EB3D04224),
+          UINT64_C(0x670E6C508A91371E), UINT64_C(0x4D1304679B25BD3B)},
+         {UINT64_C(0x18D77D155CF18D4F), UINT64_C(0xEF80DC411CA09677),
+          UINT64_C(0x6F3A961BB9A05CF9), UINT64_C(0x0BB8A5187C1433A4)}},
+        {{UINT64_C(0xAC0CF52AB33FCF05), UINT64_C(0xAD03692F1CDC7782),
+          UINT64_C(0xB345BAE6AA02B77E), UINT64_C(0x05096694456FCFA9)},
+         {UINT64_C(0xA898444825D4CF32), UINT64_C(0xD76393E315184188),
+          UINT64_C(0x7D4A8C0CEA069BED), UINT64_C(0x4D22268D11E18347)}},
+        {{UINT64_C(0xC2A0BB753CB3C0F1), UINT64_C(0x61F4EC4C8EBA58C6),
+          UINT64_C(0x5D3F0D44DFC4A903), UINT64_C(0x0B6CE81BF9B6F79A)},
+         {UINT64_C(0xF694A44A94E49623), UINT64_C(0xCFCBB7E11BDF75E0),
+          UINT64_C(0x20CEE1BDE0337E13), UINT64_C(0x694EA40BDFF02E18)}},
+        {{UINT64_C(0xC21BE0FA78D1DC2E), UINT64_C(0x08B4D9A5ED0E49E0),
+          UINT64_C(0x676731AB827F0B4C), UINT64_C(0x674ECC79EBAB5894)},
+         {UINT64_C(0xB29BD0D439ABB148), UINT64_C(0x8207A8F82378A63A),
+          UINT64_C(0xE36A549D1E4C29C2), UINT64_C(0x380D48DE3F1C255B)}},
+        {{UINT64_C(0x6AB6F887E5F2C87E), UINT64_C(0xE92C7345A01AEC86),
+          UINT64_C(0x697F45208660C26F), UINT64_C(0x4F2488E09B58015B)},
+         {UINT64_C(0xB2410B3EBB41900C), UINT64_C(0x31267500BE1A8A39),
+          UINT64_C(0xA7C9997CB9140554), UINT64_C(0x335B18061CD41524)}},
+        {{UINT64_C(0xB836FD9F14873270), UINT64_C(0x1AE0F512E3243EC5),
+          UINT64_C(0xA743E30483B9AB74), UINT64_C(0x1569C30D3A5758C7)},
+         {UINT64_C(0x003CEF9A9E8F9E52), UINT64_C(0x557AFB4A8C22119E),
+          UINT64_C(0x66F2487EF223A966), UINT64_C(0x7FA00273A519378F)}},
+    },
+    {
+        {{UINT64_C(0x812C024F7B08C1C4), UINT64_C(0xC6017986ADBA8AD9),
+          UINT64_C(0x59C7B16C0601BD82), UINT64_C(0x41B6A45C0CFA5622)},
+         {UINT64_C(0x353A67D583C1E3E8), UINT64_C(0x9A83438EC65F5059),
+          UINT64_C(0x9995037786EEA346), UINT64_C(0x74E2F4BD330D2570)}},
+        {{UINT64_C(0xDB8E53C1B4A8BDA8), UINT64_C(0xA850047E2C003C77),
+          UINT64_C(0xFFD48A731B018831), UINT64_C(0x24F96CB68B325062)},
+         {UINT64_C(0x3779CA4DCD2B821B), UINT64_C(0xC2AFBF6EC3159CE7),
+          UINT64_C(0x8A580B1A10F18DE9), UINT64_C(0x37043D0D8CF75334)}},
+        {{UINT64_C(0x0451DCDAECCCF2E8), UINT64_C(0xCF7A3AD9752A134F),
+          UINT64_C(0xD5754596FBDAE56C), UINT64_C(0x15237D73F4CDCF6A)},
+         {UINT64_C(0x1DF5912CECA37967), UINT64_C(0x60934339336CD97E),
+          UINT64_C(0xA4E523FE434DDC01), UINT64_C(0x24E81DC679DBE24C)}},
+        {{UINT64_C(0x28F0D73BC83B2B7C), UINT64_C(0x45BE220F7B5DE1AA),
+          UINT64_C(0x1B785230B136A877), UINT64_C(0x5A94122AAEFF115B)},
+         {UINT64_C(0xEF895F0C8E598998), UINT64_C(0xCEE32B3EF4C622C3),
+          UINT64_C(0x2D080B1DB256CFD0), UINT64_C(0x672686D621075E15)}},
+        {{UINT64_C(0xE85FB5759F9F26FE), UINT64_C(0x1DE57B8393A7966E),
+          UINT64_C(0xA9948DE8DD8CB696), UINT64_C(0x226C95A6758E685D)},
+         {UINT64_C(0x38B0753B3729C663), UINT64_C(0xD46CA4D9410E4884),
+          UINT64_C(0x1D6FA5F977516FA4), UINT64_C(0x09A0FDB8696CFAFC)}},
+        {{UINT64_C(0xD1DAD8E9CC7F6FD8), UINT64_C(0x7BB9F606022195A2),
+          UINT64_C(0x1B997396223A9346), UINT64_C(0x6ACD6F7C88DCFB04)},
+         {UINT64_C(0x9029E5EB3AC52F65), UINT64_C(0xED1D7A0F935A39DE),
+          UINT64_C(0xF1D58C3A538D8914), UINT64_C(0x19153569B36B8342)}},
+        {{UINT64_C(0xFF600354E2502156), UINT64_C(0xE386A20F733DA5EC),
+          UINT64_C(0xD6FBCBBB9D24D11D), UINT64_C(0x0B57498C0B06C843)},
+         {UINT64_C(0x98F1FFF87A834667), UINT64_C(0x4AEB8788C7DF05F5),
+          UINT64_C(0x8CFA3B01C2681DA4), UINT64_C(0x1AECC0E82FA2FAEA)}},
+        {{UINT64_C(0x3827886594C5CBC5), UINT64_C(0x9ADA7CAB041A755A),
+          UINT64_C(0xB38F762A8D891640), UINT64_C(0x28F6FBB200AD88F0)},
+         {UINT64_C(0x3F9629E33709CD6D), UINT64_C(0xD2435A554912F483),
+          UINT64_C(0x305BEA64DFF5AB69), UINT64_C(0x4D29041A663BB0D9)}},
+        {{UINT64_C(0xDC4BC9D4E2FD9338), UINT64_C(0x5389390DBA7938FC),
+          UINT64_C(0xC42B812DF329B218), UINT64_C(0x5E809B5EFA9F1956)},
+         {UINT64_C(0xE2A89BAA523D74C3), UINT64_C(0x97CD9FFB78CBA7B5),
+          UINT64_C(0x25F953015B07BCD2), UINT64_C(0x4042C7052064BB3A)}},
+        {{UINT64_C(0xD8B6ADA428D53BF9), UINT64_C(0x5E922CA5A4210F2D),
+          UINT64_C(0x9501F46AF05A1629), UINT64_C(0x28094E54C6CD71CD)},
+         {UINT64_C(0x8D5484D5811285AD), UINT64_C(0xFB2168F41593EE86),
+          UINT64_C(0x693D3B32AC54A41D), UINT64_C(0x3DAFEC0728A5425C)}},
+        {{UINT64_C(0x0E4CF0D0D12837A8), UINT64_C(0x19FA2CC9CF5273BB),
+          UINT64_C(0x56346BAE116A20C4), UINT64_C(0x4F3597FE0E436A36)},
+         {UINT64_C(0x459D3FFBE8EB1B85), UINT64_C(0x7C7186725AE04130),
+          UINT64_C(0xA37C258660302740), UINT64_C(0x2871AF37913072D8)}},
+        {{UINT64_C(0xD77249B78590319D), UINT64_C(0x73F7A684EB06B813),
+          UINT64_C(0x4C9DC5B971D1D580), UINT64_C(0x7C91A9F55A50A95B)},
+         {UINT64_C(0x4F8F2E890475F161), UINT64_C(0xF34EC1DD538B7F94),
+          UINT64_C(0xB8FF6C65D46F2575), UINT64_C(0x79A2CE2C64433C80)}},
+        {{UINT64_C(0x38448A531AEB7039), UINT64_C(0xF5EC03F7417189EC),
+          UINT64_C(0xFA095CA1EB92FF2B), UINT64_C(0x4612F720E4FCAEDB)},
+         {UINT64_C(0xC945E966F30AAE0E), UINT64_C(0xF61CFE85340A7A1D),
+          UINT64_C(0xA2560BC6E42D7920), UINT64_C(0x07D7B321A692E9C7)}},
+        {{UINT64_C(0xB9C26307592C60C5), UINT64_C(0xCECBC6C30F59D966),
+          UINT64_C(0x8BA31FD65459D89E), UINT64_C(0x1A4AF6B147C7FAE8)},
+         {UINT64_C(0x66487766B431D720), UINT64_C(0x5D5973095108B845),
+          UINT64_C(0xA3B94FD7CA8E6E0D), UINT64_C(0x639519E355C6A48D)}},
+        {{UINT64_C(0xAD3EE167052DC195), UINT64_C(0x4DF2BFC70947816B),
+          UINT64_C(0x5D463469ABADBB3C), UINT64_C(0x6F7AA885C33D4F96)},
+         {UINT64_C(0x3DD27536FE06133C), UINT64_C(0x27A557B22796E7ED),
+          UINT64_C(0x1117CCB73D314A4F), UINT64_C(0x6F0C0AE023968946)}},
+        {{UINT64_C(0x0A3D4DAEE2110C00), UINT64_C(0x0389D3A54C633A23),
+          UINT64_C(0xE167BDFA83AEC172), UINT64_C(0x067070CEFB38E8F1)},
+         {UINT64_C(0x411373674DF220C5), UINT64_C(0xB255E5D359C39F05),
+          UINT64_C(0xE437984E043C75B3), UINT64_C(0x01DCD7716A22994A)}},
+    },
+    {
+        {{UINT64_C(0xD2880DF24C6FDDCF), UINT64_C(0x76A28FF28A00D80F),
+          UINT64_C(0x257CB1F80792F82C), UINT64_C(0x07938ABC605703EA)},
+         {UINT64_C(0xD99F0AC95F61B0FE), UINT64_C(0x440DC63C8EC15433),
+          UINT64_C(0xD9BDDFF186AB5DDB), UINT64_C(0x3B8875DC744755EA)}},
+        {{UINT64_C(0x01D904404938C9FB), UINT64_C(0x900657FD8DB6A890),
+          UINT64_C(0xDCC5068AF60A173A), UINT64_C(0x5F3EB242857C7B2A)},
+         {UINT64_C(0x634240BDA4F0EB9E), UINT64_C(0xACDDA6C444E85C70),
+          UINT64_C(0x753F02AB0AABE4C5), UINT64_C(0x33D89D21C1D034E1)}},
+        {{UINT64_C(0x4596B52D1279B25B), UINT64_C(0x494669D9A48014AE),
+          UINT64_C(0x9A26B6FC4FD22150), UINT64_C(0x394DE0BBF07D5A3F)},
+         {UINT64_C(0x12DFE5A6634C1733), UINT64_C(0x33EC21D21EBC5177),
+          UINT64_C(0x454B4930527514CC), UINT64_C(0x7F23BD0F41405532)}},
+        {{UINT64_C(0xB2879E7FBAC9DD30), UINT64_C(0x259BB1CB06CE7672),
+          UINT64_C(0x201DB42EBB97BE10), UINT64_C(0x112D60792EA35A8E)},
+         {UINT64_C(0x7CC756D46B3B9933), UINT64_C(0x4BD24810781CE4DD),
+          UINT64_C(0x53CB4E388733247E), UINT64_C(0x47BD6A309DA66787)}},
+        {{UINT64_C(0x8A700953BA600C8E), UINT64_C(0xD466F11DCF388C0D),
+          UINT64_C(0xD485F341E4A17A8E), UINT64_C(0x63278918234FC16D)},
+         {UINT64_C(0xF4DDA875BB82046D), UINT64_C(0xD61E4E582945470A),
+          UINT64_C(0xCDB6C5BD6D0F8976), UINT64_C(0x44CD9E4D10A004A2)}},
+        {{UINT64_C(0x595CD94249C4AA6E), UINT64_C(0xE5A901363DE400C8),
+          UINT64_C(0x4BCED3BD9DD12D9E), UINT64_C(0x3700CF9278E3D5E4)},
+         {UINT64_C(0xECFFF49875A32D1A), UINT64_C(0xC28DDE373C4A54B2),
+          UINT64_C(0x8DC22352993CAE6D), UINT64_C(0x46CB540852ED7019)}},
+        {{UINT64_C(0x71FFAED0EA94E7BF), UINT64_C(0xC0817D2CD5AE6185),
+          UINT64_C(0x7B72B8B95CF23687), UINT64_C(0x61DDE59960A450E1)},
+         {UINT64_C(0x17CF0B10D13870E6), UINT64_C(0x7D08E1FB5F2930BB),
+          UINT64_C(0x8D0F4F5583807C14), UINT64_C(0x61EBFC1A6E6DB701)}},
+        {{UINT64_C(0x247A3F650FCAFE68), UINT64_C(0x575480357AC2A25E),
+          UINT64_C(0xB7466CA53CD0FE06), UINT64_C(0x7B0D8B36BCC31AB3)},
+         {UINT64_C(0x2FAAF49CA6D4358C), UINT64_C(0xD9E5E2FE3E9B4E31),
+          UINT64_C(0xA6A859A0F6086336), UINT64_C(0x0C2A442AA9C19F84)}},
+        {{UINT64_C(0x66FEA8413BC0AD7D), UINT64_C(0xCD3A546C32C9158E),
+          UINT64_C(0xACD2EE7F8FE1DF7F), UINT64_C(0x10F58C0AEBE9621E)},
+         {UINT64_C(0x80047C54478B667D), UINT64_C(0x9EAE5FAA89870DCE),
+          UINT64_C(0xC05BEB330520A005), UINT64_C(0x2CFBC921352AC891)}},
+        {{UINT64_C(0x6842E6B8632F6D73), UINT64_C(0x6F2B57242B9FFAEA),
+          UINT64_C(0x7ACCC9829341D2FA), UINT64_C(0x6DAD9A1188809B65)},
+         {UINT64_C(0x3411850CB6CC2240), UINT64_C(0x8547BCAFB64937E1),
+          UINT64_C(0x49AEDD5F6978F636), UINT64_C(0x38F5975285A53D2A)}},
+        {{UINT64_C(0x5C38EB49F5F5A2D0), UINT64_C(0xE028121BE3BF779C),
+          UINT64_C(0x649997C8A783D5E3), UINT64_C(0x04DE984A2C06CC0F)},
+         {UINT64_C(0x52C834B0A49D6239), UINT64_C(0x070A1B09628413AC),
+          UINT64_C(0x2FBE0CA5A8624A1E), UINT64_C(0x687D93C3268D930A)}},
+        {{UINT64_C(0xC7CD6805314C47A4), UINT64_C(0x8BD0C630CE7A9A6D),
+          UINT64_C(0xCDB2DAD534F727BA), UINT64_C(0x7814C41425DB0189)},
+         {UINT64_C(0xD7F9C5DC7DD9CAEE), UINT64_C(0xDA6EACC8798690E4),
+          UINT64_C(0x705794E36B675E01), UINT64_C(0x4A31D71475C5EC38)}},
+        {{UINT64_C(0xC162A3EA0519D5F2), UINT64_C(0x92146A782958FABF),
+          UINT64_C(0x1E63CBE46CB31EB0), UINT64_C(0x77CE5AADFBC5AD0F)},
+         {UINT64_C(0x3631E47032605DC6), UINT64_C(0xC7D1C72F43413DD3),
+          UINT64_C(0x171A37940DF6B7C9), UINT64_C(0x6D7117432B5A08BC)}},
+        {{UINT64_C(0xDDC8057D509EF0F2), UINT64_C(0x05C0B92B6CABB486),
+          UINT64_C(0xD49692B64244D919), UINT64_C(0x4E181744D297F56E)},
+         {UINT64_C(0x902F6E73F8CBB897), UINT64_C(0xC3B21FE156D01382),
+          UINT64_C(0xA858ABE146890F6D), UINT64_C(0x46B5E2C9506858AF)}},
+        {{UINT64_C(0x30441281F4DEDE56), UINT64_C(0x13F06FBBA195AEDE),
+          UINT64_C(0xAD5F575B2FDD3BFF), UINT64_C(0x680F656D32ACB590)},
+         {UINT64_C(0xFB60A8E1E3FAABA7), UINT64_C(0xC8FBC1E489A14827),
+          UINT64_C(0x5835453FA8616136), UINT64_C(0x02826A47E6F4926F)}},
+        {{UINT64_C(0xAF4319A174F32180), UINT64_C(0x4C9FDD166C2C1712),
+          UINT64_C(0x59CA4FD4AC7E14A7), UINT64_C(0x07AA6E2FABBD4EA4)},
+         {UINT64_C(0xB4BD441CFE9F121F), UINT64_C(0xDEBB4356CDA452C5),
+          UINT64_C(0xC29F1CFA51C9F451), UINT64_C(0x7E1EEF4C83F598D8)}},
+    },
+    {
+        {{UINT64_C(0xFC41A3215014135F), UINT64_C(0xBE95F9BA3EEADF3F),
+          UINT64_C(0x054B12123203A540), UINT64_C(0x6DD2FD173721C745)},
+         {UINT64_C(0xF86B85785A682B59), UINT64_C(0x872AA481BE801F7D),
+          UINT64_C(0x64C1600C14F865F2), UINT64_C(0x4BDD47AA25365449)}},
+        {{UINT64_C(0xC96A964CF3A3469F), UINT64_C(0x273C5C859F7DA0E3),
+          UINT64_C(0x88EDC4AC4C1A9DCD), UINT64_C(0x77623444B48E4CAA)},
+         {UINT64_C(0x7AF34A9C31581FF7), UINT64_C(0x23328C37BB57F7CC),
+          UINT64_C(0xE920D8E98B7C86AB), UINT64_C(0x1C7A7A409DE6D64C)}},
+        {{UINT64_C(0x0BCDCD2279B9451C), UINT64_C(0x2920B43558F5241B),
+          UINT64_C(0xC24DF7159B33EF3D), UINT64_C(0x15252C5BF2600224)},
+         {UINT64_C(0xF9C8D8A69A9160B6), UINT64_C(0x3186F2F9A6B9A6B8),
+          UINT64_C(0xC37267DCA377E98A), UINT64_C(0x71319A0A37957189)}},
+        {{UINT64_C(0x48E5033F6BAF6AE5), UINT64_C(0x72379B2EA460FCE9),
+          UINT64_C(0xFC753D47F3D2FA46), UINT64_C(0x3B67685AED9EDF72)},
+         {UINT64_C(0x1608E304F712500F), UINT64_C(0xDFA358A49EE1B42A),
+          UINT64_C(0xE7A4B37634B8345C), UINT64_C(0x7D0E0BF306753C17)}},
+        {{UINT64_C(0xA88526A68FA62042), UINT64_C(0xD6F32BB5393006BD),
+          UINT64_C(0x14804978A5DD5045), UINT64_C(0x34C02662BF0C5E13)},
+         {UINT64_C(0xF9BEEBF9376E3E3D), UINT64_C(0xFD7740415923DC61),
+          UINT64_C(0xFE77BDFAF9735CF5), UINT64_C(0x2E476E224077CFCC)}},
+        {{UINT64_C(0xAB8E52EB9BA457EF), UINT64_C(0x95F6C5FE0ABED212),
+          UINT64_C(0x7204B1A6386620FF), UINT64_C(0x463B7474DD180719)},
+         {UINT64_C(0x7F7D27AAF991D8EE), UINT64_C(0xA7EB10858F67722D),
+          UINT64_C(0x78D7095BE331480A), UINT64_C(0x1DCC8C1266A1C8FA)}},
+        {{UINT64_C(0xD4C39C183E6A04C1), UINT64_C(0x73DB1C4DB598ABEE),
+          UINT64_C(0x381F9780DF4A7D42), UINT64_C(0x3C19A23152F860CD)},
+         {UINT64_C(0x7EC899343EF00740), UINT64_C(0x50867788F37FE0D5),
+          UINT64_C(0x502D870B43E84D4A), UINT64_C(0x5F8A84138F744749)}},
+        {{UINT64_C(0x1C41AAADFAECCFE4), UINT64_C(0xC324F3B921461F41),
+          UINT64_C(0x165ABA3F4E90C0AB), UINT64_C(0x2F96CED55F88E7D3)},
+         {UINT64_C(0x8CA366FCC0E52768), UINT64_C(0x6CCA017CA55249A7),
+          UINT64_C(0x41ED002F0F7EBCA2), UINT64_C(0x0C33B371A2BAF655)}},
+        {{UINT64_C(0x3B94CD9C62B928CE), UINT64_C(0x5BC43A6A39729345),
+          UINT64_C(0x044D0C0FC47D223C), UINT64_C(0x3B64B38DB0493367)},
+         {UINT64_C(0x82AFB645EB74A6C2), UINT64_C(0x0CB01E22D876D71C),
+          UINT64_C(0xCE2A7DCC29C6BCD0), UINT64_C(0x4753DE1CDFD644EC)}},
+        {{UINT64_C(0xE69FC90362188792), UINT64_C(0xD91DB9BC4914328B),
+          UINT64_C(0x44953F4D3B68F8D0), UINT64_C(0x2950435D0654B283)},
+         {UINT64_C(0xE599A4AEBE88F609), UINT64_C(0xF801CD9090F5D10E),
+          UINT64_C(0x0AB78DB1D4F1D3D9), UINT64_C(0x3ED9666AC0F71ECB)}},
+        {{UINT64_C(0x6046A505E1E73E59), UINT64_C(0x8723A3ECF3B5C2E0),
+          UINT64_C(0x4BD95BF6E22C1555), UINT64_C(0x50DC33DB6DA421E9)},
+         {UINT64_C(0xCFB51E95F1B01327), UINT64_C(0xE7013F2A199A8765),
+          UINT64_C(0xF486FEA777504B0B), UINT64_C(0x2AF0F7E9F9BA61C6)}},
+        {{UINT64_C(0x9DBA1A02BE00B841), UINT64_C(0x488BA4558BED5F08),
+          UINT64_C(0xF6814A6467F1040E), UINT64_C(0x23AC4762DC252336)},
+         {UINT64_C(0x25040F02F0ED0577), UINT64_C(0x65209B22C6FFAE9C),
+          UINT64_C(0xCC441A8C485AA0AC), UINT64_C(0x10DFACB659D63A8A)}},
+        {{UINT64_C(0xBF4A0569C7D86B28), UINT64_C(0x5CDA94C4DBDA9DA4),
+          UINT64_C(0x2235C4CE69058335), UINT64_C(0x68FA5E7CD30C89E2)},
+         {UINT64_C(0xBB286D3959097B5B), UINT64_C(0x87DA80BB9A20BA7E),
+          UINT64_C(0x85EF865E56F47E54), UINT64_C(0x5BB8786774ABFA5B)}},
+        {{UINT64_C(0x5DB14FABDE2FA36E), UINT64_C(0x84E3B54677775F09),
+          UINT64_C(0xDA734523DA951D99), UINT64_C(0x04A890973975026E)},
+         {UINT64_C(0xB5753599C0D12BE1), UINT64_C(0x05670CE9FB864D61),
+          UINT64_C(0xB7153502305BF3CF), UINT64_C(0x7A9BB3572E60AF62)}},
+        {{UINT64_C(0xF43CDA07C7566DA5), UINT64_C(0x7FC4C7FC53FA4196),
+          UINT64_C(0x1E20E0ED88DCC9F3), UINT64_C(0x7317C7E5FEE23DDA)},
+         {UINT64_C(0x0305E13F43017070), UINT64_C(0x5568410C6B1CA7C0),
+          UINT64_C(0x0E5D55BA104BA029), UINT64_C(0x118B284E90FD49F8)}},
+        {{UINT64_C(0xCA0F7B5B8F3C6D8A), UINT64_C(0xAF72DEE0AF7ECBF6),
+          UINT64_C(0x21C86D85BB0EC4F1), UINT64_C(0x0303BC47F0525D17)},
+         {UINT64_C(0x6ADCAB9F896FFCC0), UINT64_C(0x65764C4524E970CA),
+          UINT64_C(0x0000F14C1C3CA718), UINT64_C(0x01CF1DDBD0292587)}},
+    },
+    {
+        {{UINT64_C(0xEC4FABCC86111EBA), UINT64_C(0x599C20B6BBBB793F),
+          UINT64_C(0xF74AE7475657668F), UINT64_C(0x24AF29B277BAE892)},
+         {UINT64_C(0x47D6876BCFAC9D5E), UINT64_C(0xCACF9F5024369E14),
+          UINT64_C(0x8A231D746F9CAFEF), UINT64_C(0x57645A4EB69AAE58)}},
+        {{UINT64_C(0x440A3B15489900F6), UINT64_C(0x4B642FD3961AC3C2),
+          UINT64_C(0x3D668599C265B973), UINT64_C(0x5FA0E65D1139CE78)},
+         {UINT64_C(0x3FF15AF41FAA710E), UINT64_C(0xE45D35CEA9422FC0),
+          UINT64_C(0x56904C06BD7BB349), UINT64_C(0x40C5BEE0E529989D)}},
+        {{UINT64_C(0x8FA4686170B20298), UINT64_C(0xEC6295384838A136),
+          UINT64_C(0x23ADE0F6137F66D6), UINT64_C(0x1A92E05C8EA53E76)},
+         {UINT64_C(0x51728E279D51EB7A), UINT64_C(0xA6B0B758C4352E35),
+          UINT64_C(0x84C5933137A11B35), UINT64_C(0x3933EFC1F66B75C7)}},
+        {{UINT64_C(0x7FB68D6266916D0A), UINT64_C(0x3325D42EF28A9B14),
+          UINT64_C(0x75E83A658592B544), UINT64_C(0x524D1CE02718628F)},
+         {UINT64_C(0x88A110EA3C584D76), UINT64_C(0x6B034AC44AC09AAC),
+          UINT64_C(0x0648863584FD3A36), UINT64_C(0x516F0EB087D944E1)}},
+        {{UINT64_C(0xE2016DA0DF11D0BB), UINT64_C(0xB34EB471B01F6540),
+          UINT64_C(0x13E3D330165CBB24), UINT64_C(0x3E755D117CF7F676)},
+         {UINT64_C(0xD70CF4F84FEA9A69), UINT64_C(0x98F59E0AD18F4337),
+          UINT64_C(0x7CCE7CE6826344BA), UINT64_C(0x30D129D7F4004BBE)}},
+        {{UINT64_C(0x016EF317BA9CB975), UINT64_C(0x8EEBED19E4B3AB4D),
+          UINT64_C(0x8C597DF0170A2570), UINT64_C(0x451538D85BE6DE70)},
+         {UINT64_C(0x6C711DAC7A64792F), UINT64_C(0x8F1896EB217EC8FB),
+          UINT64_C(0x82E9C20B7FE18DED), UINT64_C(0x6CEBF4A7B0C5F622)}},
+        {{UINT64_C(0xD9403EB549CCC64F), UINT64_C(0x807EBD5628B8A3FD),
+          UINT64_C(0xF08BB6590F291E12), UINT64_C(0x020D13E39C3F4432)},
+         {UINT64_C(0xDA247896752BB92E), UINT64_C(0x9954179486EAFA7A),
+          UINT64_C(0x213E94BA274E36AD), UINT64_C(0x4CC0F1FB61A71333)}},
+        {{UINT64_C(0x19CC11BD06478801), UINT64_C(0x1251562A6D18216A),
+          UINT64_C(0x7A5F06BBCDD307FC), UINT64_C(0x4285F6ABFAA9CA2A)},
+         {UINT64_C(0x5A92283181258996), UINT64_C(0x8F7CF8EE27B8B018),
+          UINT64_C(0xF030BEF37F81A62D), UINT64_C(0x417ACBC1CD4FD4E7)}},
+        {{UINT64_C(0xCFB0EA58EC64412F), UINT64_C(0x9547B64A6091E621),
+          UINT64_C(0x5EA49C7EFD0C9815), UINT64_C(0x6789055AE78B355C)},
+         {UINT64_C(0x8D743E9877E9A73A), UINT64_C(0xB032EA6A2EA3FA49),
+          UINT64_C(0x52EA3801CEAAA33A), UINT64_C(0x73B3BB8DF2C3E22B)}},
+        {{UINT64_C(0xAA2A12917DB9E301), UINT64_C(0x7F29770FA1293DD7),
+          UINT64_C(0x3135BB2159683DEC), UINT64_C(0x070F8DF77785B505)},
+         {UINT64_C(0x8F2158EA37F53677), UINT64_C(0x96CC7B9DABE1AF1C),
+          UINT64_C(0x7F9779156D6477D6), UINT64_C(0x55DB3922DF370EAF)}},
+        {{UINT64_C(0x3028C03AA9DAC7AE), UINT64_C(0x16F7DF0DBAE06BE0),
+          UINT64_C(0x09548398410D57D9), UINT64_C(0x5E9C7F431510D51F)},
+         {UINT64_C(0x033B9BE2D07717B3), UINT64_C(0x0D5D8116EF08AB91),
+          UINT64_C(0xD5A172B1EEEFE88F), UINT64_C(0x72B1D29F0996294E)}},
+        {{UINT64_C(0x9E2B79FBE4D0965C), UINT64_C(0x01F403EEF49D8B8E),
+          UINT64_C(0xBD4D2D48CEB12D6A), UINT64_C(0x4D04DD9A11FB24FB)},
+         {UINT64_C(0x7E613EC5E5C8D24C), UINT64_C(0x568BEFE8B918E543),
+          UINT64_C(0xD6456D1EE966DF28), UINT64_C(0x2DDEAD63BAFC71E2)}},
+        {{UINT64_C(0x1D794F92448D72E9), UINT64_C(0x3978052EE7E62BF2),
+          UINT64_C(0xF6C7A72EE2B92538), UINT64_C(0x43879A886EF321F0)},
+         {UINT64_C(0x2A82314034F6FFBC), UINT64_C(0x26F84E5135F4C485),
+          UINT64_C(0xDEE65540028BFA7E), UINT64_C(0x56216E9D5F033058)}},
+        {{UINT64_C(0x31CA5470CBC772EE), UINT64_C(0xD3621E11811BB5D0),
+          UINT64_C(0x501C4C4770863D71), UINT64_C(0x0564518ED28D6BDD)},
+         {UINT64_C(0x60E3B89BD35B64B9), UINT64_C(0xB4F2599A6621A688),
+          UINT64_C(0x1A8C45083B5E116D), UINT64_C(0x633EF5CCFABF3125)}},
+        {{UINT64_C(0x0DB1D2515D4FF62A), UINT64_C(0x6CBD00EB4B17D658),
+          UINT64_C(0x2FA38212FA1DB737), UINT64_C(0x07B18CB893A7FA03)},
+         {UINT64_C(0x531E47EF548E5F82), UINT64_C(0xAE7B94FD8276963C),
+          UINT64_C(0x8055D82A6181A13A), UINT64_C(0x5725B51223B6E361)}},
+        {{UINT64_C(0xD84C70416D8B1FFE), UINT64_C(0xF68ACA0B5D994200),
+          UINT64_C(0x32BF99446BB908E2), UINT64_C(0x1240A3E61AD88DB1)},
+         {UINT64_C(0xB0BE96AAA92B6472), UINT64_C(0xEF88A155A1B7726C),
+          UINT64_C(0x000FD9ED9349F496), UINT64_C(0x377DCBAD454A05D9)}},
+    },
+    {
+        {{UINT64_C(0xD0A092CDC04111D2), UINT64_C(0x5C43A94C338F06D6),
+          UINT64_C(0x697B4C2625E964F3), UINT64_C(0x2CD5A0597572CCFD)},
+         {UINT64_C(0xA09FC4D4B5B523E4), UINT64_C(0x7D8141E84E1E9042),
+          UINT64_C(0x2462512BD637409E), UINT64_C(0x503F032F7CB2CE75)}},
+        {{UINT64_C(0xC56F38E3BCBF1450), UINT64_C(0x09F4FC77CF2E5594),
+          UINT64_C(0xF449C3E60FCB653A), UINT64_C(0x6A1FE75264A53C65)},
+         {UINT64_C(0xFF366FED7C039488), UINT64_C(0x23F58BA58C99A6CB),
+          UINT64_C(0x4B5546C68D67F6D6), UINT64_C(0x03405C85178B1668)}},
+        {{UINT64_C(0x969F1B33C0C86696), UINT64_C(0x9346D06C13746468),
+          UINT64_C(0x68AED3C8AE0C6D62), UINT64_C(0x7B3D536174FE63D5)},
+         {UINT64_C(0xFEE8416BC4F4B65D), UINT64_C(0xC79BF488554C6D0A),
+          UINT64_C(0x191D5D27DC402BB0), UINT64_C(0x31B00167E087EB9F)}},
+        {{UINT64_C(0xD5FE0979E05D281F), UINT64_C(0x8373AB503485446B),
+          UINT64_C(0xCE5258BA9223681F), UINT64_C(0x5F82843EA37BF244)},
+         {UINT64_C(0x94ED780BCFC16536), UINT64_C(0x6A9739B3BD477733),
+          UINT64_C(0x137D68F2A04A4195), UINT64_C(0x3A0F27E80032BFCE)}},
+        {{UINT64_C(0x7EADE421358382F9), UINT64_C(0x490B9CA692E3D912),
+          UINT64_C(0x040CE73EF1AFBC2A), UINT64_C(0x5745D47311AE91BA)},
+         {UINT64_C(0x625BED61CE303B77), UINT64_C(0x85B2A1EB85B03A1D),
+          UINT64_C(0x764F62E43D7C02E0), UINT64_C(0x22C2D16FA7AF6DDE)}},
+        {{UINT64_C(0x5B985DE6D19377BE), UINT64_C(0x0AF85A06D8E43A10),
+          UINT64_C(0x1465E5040519F4C6), UINT64_C(0x5DA01665E3E20BA3)},
+         {UINT64_C(0xCD9B8E9B675D9E2A), UINT64_C(0x4C77E1AD6448A2CD),
+          UINT64_C(0xD6094BAD1E5D4465), UINT64_C(0x4C352951C50DB788)}},
+        {{UINT64_C(0x42581152EE5AB903), UINT64_C(0xDAD2DBC963311418),
+          UINT64_C(0xBCA4F70BB885E56A), UINT64_C(0x1F5DD363B94E0876)},
+         {UINT64_C(0xF9AD5D043FFF479E), UINT64_C(0xEF1176E5FE06AD2B),
+          UINT64_C(0x46ACB00A216F77AF), UINT64_C(0x709CF4EB857C4F78)}},
+        {{UINT64_C(0x70CD666ED0D2FF1C), UINT64_C(0x4BAD4A6AE7EFE4AD),
+          UINT64_C(0xB43F6C2D0FA72024), UINT64_C(0x0D78F8E2E90C0617)},
+         {UINT64_C(0x543B9662F80DCAA7), UINT64_C(0xB02FB3BCF28ADFAF),
+          UINT64_C(0x26C17651C51C54C3), UINT64_C(0x0815F6373D648D88)}},
+        {{UINT64_C(0xAC4F43C1AEA98FA6), UINT64_C(0x2D223416AC4398C6),
+          UINT64_C(0x48B2EEADDA5C5070), UINT64_C(0x632B65F1BE666F70)},
+         {UINT64_C(0x971D3BC0952021BE), UINT64_C(0x9FDCB7E023B2C578),
+          UINT64_C(0x476D47153CC21796), UINT64_C(0x4015565F95832A94)}},
+        {{UINT64_C(0x8913AFAC13CA725C), UINT64_C(0xA56DC461DC18F0D9),
+          UINT64_C(0xAC3AC72010F3AAFE), UINT64_C(0x5D75567EC628D69C)},
+         {UINT64_C(0xC11BE9DCEEEA4BF7), UINT64_C(0xAD97FBCA1C193BD5),
+          UINT64_C(0xD1EC5BCEC58123E8), UINT64_C(0x0F6DF9309C73D4E5)}},
+        {{UINT64_C(0xE80A0ADAFD759FFD), UINT64_C(0xE52DF94B239CAFC0),
+          UINT64_C(0x59640161FE7A43E9), UINT64_C(0x7A96995CDB1A38F0)},
+         {UINT64_C(0xA46A15037CD5011B), UINT64_C(0x75CFB637AC0E9689),
+          UINT64_C(0x27B740CA97AAD2BA), UINT64_C(0x64A0748BEAD2F776)}},
+        {{UINT64_C(0xB67E5BB50625B3B1), UINT64_C(0x2FE19FFBC66D2832),
+          UINT64_C(0x47815666F70C07CF), UINT64_C(0x5A1AA24AA43E52AB)},
+         {UINT64_C(0x04EE11F84CAC0E66), UINT64_C(0x51E515833A3A4836),
+          UINT64_C(0x46755F49B44F6DEC), UINT64_C(0x6388408BC1E9B282)}},
+        {{UINT64_C(0xD47AA9A69DE7A6A7), UINT64_C(0xEC94AD9B189BC9D2),
+          UINT64_C(0xFA89099D8EC0E950), UINT64_C(0x1B9FC2069F64D27F)},
+         {UINT64_C(0x765724840B729DE1), UINT64_C(0xFE9E8E714BE22EB8),
+          UINT64_C(0x910F0456F9DB5942), UINT64_C(0x4D018459C617D82B)}},
+        {{UINT64_C(0xB082B58AF5516C6F), UINT64_C(0xFFBA0E73567A8CF5),
+          UINT64_C(0x08FF64CE8A6DD4A0), UINT64_C(0x6CF3C89C69A9F66A)},
+         {UINT64_C(0x356782BA62FEB0A7), UINT64_C(0x1A18720D3E2907F9),
+          UINT64_C(0xF840FFA30BBD9D92), UINT64_C(0x41D9EECA20926421)}},
+        {{UINT64_C(0xCF2E8AACB6B08321), UINT64_C(0xC76FBE12010D91C0),
+          UINT64_C(0x5492475068E35E02), UINT64_C(0x74DBA2E19AEE00F8)},
+         {UINT64_C(0x94C70D6DC5504E82), UINT64_C(0x0BDF415FEA1770F7),
+          UINT64_C(0xDA45B7003CA6DB0A), UINT64_C(0x473C6A04E133A980)}},
+        {{UINT64_C(0xD1FF6C1E1E188071), UINT64_C(0x621A7D3CEA3F16F8),
+          UINT64_C(0x604673076A160F47), UINT64_C(0x37CA7D3D32DC84EE)},
+         {UINT64_C(0x54F5F7F667DDFDB5), UINT64_C(0x3A8482F9921BA04B),
+          UINT64_C(0x842F49501A28E238), UINT64_C(0x3A4DC9177214FAFD)}},
+    },
+    {
+        {{UINT64_C(0xEDD8360CEEA25E82), UINT64_C(0x3DB6D933FB7B7ED0),
+          UINT64_C(0x882F3C0BABF15199), UINT64_C(0x228664A2516E349D)},
+         {UINT64_C(0x96E6DCF7E88173DF), UINT64_C(0x382C8D3BD7EC0BC3),
+          UINT64_C(0xFBFF6D216FA5FA58), UINT64_C(0x780039802F41C959)}},
+        {{UINT64_C(0x713BA43B9D9ACF9C), UINT64_C(0xF59A252D94876559),
+          UINT64_C(0x8B310954437B8ED5), UINT64_C(0x76A83790E474E98E)},
+         {UINT64_C(0x84C1386AF6040B05), UINT64_C(0x69FA9F43BF3D8189),
+          UINT64_C(0x5584164CA98D4866), UINT64_C(0x6C89CE1D3B9045D0)}},
+        {{UINT64_C(0xD6EF7540B522FB28), UINT64_C(0xDB561B56BB28D745),
+          UINT64_C(0xC9F7543EEFA58B87), UINT64_C(0x5F02A23BE9062979)},
+         {UINT64_C(0xFD3C0C196809D624), UINT64_C(0x94481554A92EB229),
+          UINT64_C(0x72D8EC53F5147EFB), UINT64_C(0x143026610D1BA626)}},
+        {{UINT64_C(0x0B35BD5989020800), UINT64_C(0x3C6F1527430D7DEB),
+          UINT64_C(0x9BEB3C8E2FFFA0E0), UINT64_C(0x7E181B78AFD09A19)},
+         {UINT64_C(0xE82FD9573B2F0B49), UINT64_C(0x4C9461B10BC0F9DA),
+          UINT64_C(0x87D78C412B1C8B85), UINT64_C(0x775BED20C1F5BDA1)}},
+        {{UINT64_C(0x883AE89B16350593), UINT64_C(0x85D429CB0C19FEC8),
+          UINT64_C(0x5938BDEC5742C36D), UINT64_C(0x2DDBC7EBDA8A21B7)},
+         {UINT64_C(0xA249BDE407A2E700), UINT64_C(0x42A3897CE8BD6215),
+          UINT64_C(0x87F30BA7732FF181), UINT64_C(0x5385D7091B912C57)}},
+        {{UINT64_C(0x2B5C555B288041F5), UINT64_C(0xD3D900401F425866),
+          UINT64_C(0x37E40CD202E0FA71), UINT64_C(0x08B37F263A386038)},
+         {UINT64_C(0x165BD7FB5DE1ED78), UINT64_C(0x22949E810829ECC9),
+          UINT64_C(0xBB8705CCBCE3D01F), UINT64_C(0x7961BE851D233CDF)}},
+        {{UINT64_C(0x5D3DBC6B7659B477), UINT64_C(0xFD86577950EF08EB),
+          UINT64_C(0x502729E8F34EA1A5), UINT64_C(0x1548526ED2B64602)},
+         {UINT64_C(0xB13632FDB91D2675), UINT64_C(0x09A42003F7B37397),
+          UINT64_C(0x37D18F37CCFC4532), UINT64_C(0x3FAEF63B73C7082C)}},
+        {{UINT64_C(0x3365445FE666DB6D), UINT64_C(0x9051FFF5339A0076),
+          UINT64_C(0x6167FB769BD6D01D), UINT64_C(0x09737137CA087B41)},
+         {UINT64_C(0xCA2193AEB3270BA7), UINT64_C(0xEF0744C28F2217B3),
+          UINT64_C(0x3E030D58F0DD10D8), UINT64_C(0x667246DBCCB4F2F9)}},
+        {{UINT64_C(0x31F3030E3773EC8C), UINT64_C(0xAF2B31235AD56010),
+          UINT64_C(0xFC118587B37E9062), UINT64_C(0x52840C2C9C2D5406)},
+         {UINT64_C(0xA96D3DFF6670ACBB), UINT64_C(0xF469982F772EC6D3),
+          UINT64_C(0x5BE20628A9DF4C88), UINT64_C(0x59D01479673633BC)}},
+        {{UINT64_C(0xC9223750AFB5083B), UINT64_C(0xF1EB451E191C2160),
+          UINT64_C(0x0D913794A38EC005), UINT64_C(0x31062E9E83FD1D18)},
+         {UINT64_C(0x070538F55F4816AD), UINT64_C(0x90D4855D925F5DA1),
+          UINT64_C(0xC0BBA87B22F455B6), UINT64_C(0x517B5F80F48D2AE5)}},
+        {{UINT64_C(0x0D8B670A3F4FA7CA), UINT64_C(0xE29C88493D114EB2),
+          UINT64_C(0x1823780D916A187E), UINT64_C(0x6961C48365EE66A0)},
+         {UINT64_C(0x2F6FB20A62FDC12C), UINT64_C(0x51414E5F0CFDDE0C),
+          UINT64_C(0x16BD56A7DCA39073), UINT64_C(0x0CFE6DAF648FFD43)}},
+        {{UINT64_C(0x3789F4CAAEBA9241), UINT64_C(0xE8056BC6107777C6),
+          UINT64_C(0x6EE564C33CB20826), UINT64_C(0x5DF3634745448C69)},
+         {UINT64_C(0xFD0FA84BB22CE624), UINT64_C(0x2AA19672AC753D50),
+          UINT64_C(0x29A1464F677CC0D0), UINT64_C(0x7C2237B13CEF5493)}},
+        {{UINT64_C(0x87C2587C24255918), UINT64_C(0x9AA89A0B90B35A37),
+          UINT64_C(0x9932EB7810E7CAEF), UINT64_C(0x49278F16CDE31568)},
+         {UINT64_C(0xA4D33C6141188ED9), UINT64_C(0xC587BDE005AC3A1D),
+          UINT64_C(0x2A5C5ACC7248B5E0), UINT64_C(0x60026A1D8510D2CB)}},
+        {{UINT64_C(0xE57CB0C96BAF603C), UINT64_C(0x527F28A6AB770AF0),
+          UINT64_C(0x2850D8E6016F2BC1), UINT64_C(0x0EC2A46C936DC2EC)},
+         {UINT64_C(0xA0BC5306D4F23FC2), UINT64_C(0x6DBEDA2653A0130F),
+          UINT64_C(0xB1D52F87EE3314B7), UINT64_C(0x17168B126C234CF5)}},
+        {{UINT64_C(0x8B8BC181DADF17D5), UINT64_C(0x31EC3CADFAFFA918),
+          UINT64_C(0x4611A482274E4658), UINT64_C(0x5A9E365273D35EAD)},
+         {UINT64_C(0xBA68825BF4028FC7), UINT64_C(0x142859D562E203F5),
+          UINT64_C(0xCE516AC41C817A9E), UINT64_C(0x4201468257223F8D)}},
+        {{UINT64_C(0x51FBFB2EB4B66798), UINT64_C(0x3A3F15910EA9C4EF),
+          UINT64_C(0x3FD3D026E8814805), UINT64_C(0x3CA531E4B0C8DFD0)},
+         {UINT64_C(0x69A6B3F8E585A960), UINT64_C(0x1627CC77BD3F567D),
+          UINT64_C(0x6F4EF4305DB9CFD0), UINT64_C(0x05B567078D02278A)}},
+    },
+    {
+        {{UINT64_C(0x6663F2F310B96338), UINT64_C(0x69373D1FCE8CA31C),
+          UINT64_C(0x3D31C5CFD67AEC10), UINT64_C(0x2FAF554516F2547E)},
+         {UINT64_C(0xF6E397D51EA2EA64), UINT64_C(0x2281A0DFEEAEBE7A),
+          UINT64_C(0x72E53254FA2527EC), UINT64_C(0x660D059A76432155)}},
+        {{UINT64_C(0xD3CA8B132C66D937), UINT64_C(0xC6F34B08CD2DF849),
+          UINT64_C(0x9AF2C9E3A23A9F73), UINT64_C(0x24D44BD9702388E9)},
+         {UINT64_C(0x8DA4D6A4D1B3DA10), UINT64_C(0xB9FAFBF440B93B10),
+          UINT64_C(0xBBE51BB3EFCFD2A3), UINT64_C(0x68BE03951844581D)}},
+        {{UINT64_C(0xDECABD8C0EA1FAE1), UINT64_C(0xA7499225FDFED7C2),
+          UINT64_C(0x08489E35FB468B83), UINT64_C(0x5B68934443D95F9C)},
+         {UINT64_C(0x9FC8364A9D2F522E), UINT64_C(0x114DB31A3A5D27A4),
+          UINT64_C(0xC6A35992E33A9EC8), UINT64_C(0x6FE9EC3BDC9ACAF6)}},
+        {{UINT64_C(0x98AE2D66DEAFC64C), UINT64_C(0x95AAC8EFABE706B7),
+          UINT64_C(0xB15A6604223DFA3B), UINT64_C(0x77DBC24AE24B43CB)},
+         {UINT64_C(0x65D6F8718542FA2A), UINT64_C(0x1093B2735D326A1A),
+          UINT64_C(0xBA82D607F137AFEF), UINT64_C(0x502B32E3B9DEA6A7)}},
+        {{UINT64_C(0x88906BD6885CA6CE), UINT64_C(0x136ADF9A1D36BFEE),
+          UINT64_C(0xF844088C09AA61E3), UINT64_C(0x4E508EA351BAC299)},
+         {UINT64_C(0x251ACD26EB821936), UINT64_C(0xDF6AD7D543D90E10),
+          UINT64_C(0xEBCD7046DE7F14B9), UINT64_C(0x1DB258B1AB503259)}},
+        {{UINT64_C(0x348E301890AD5D55), UINT64_C(0x0EF6BE737067806A),
+          UINT64_C(0x072C113441627FCC), UINT64_C(0x48EE7606E904F823)},
+         {UINT64_C(0xEE6AB582D9FD5EF3), UINT64_C(0x57765D0317AB50BC),
+          UINT64_C(0x1CCFB407FB7DEC68), UINT64_C(0x2E1771C7141DF51D)}},
+        {{UINT64_C(0xCBDD6235A013284B), UINT64_C(0x4D93FD8720D07125),
+          UINT64_C(0xB3D055B3D485418E), UINT64_C(0x4EFB8763C67ADD2D)},
+         {UINT64_C(0xEC3693821B2DF427), UINT64_C(0x2500979164D0DDF4),
+          UINT64_C(0x9BD42FFC163056C8), UINT64_C(0x605277925B88BEBA)}},
+        {{UINT64_C(0x6D5D6A869D82DADF), UINT64_C(0xC3BA9A167C24A1CA),
+          UINT64_C(0x838167EC2E6981CC), UINT64_C(0x7FB5D8577E1E4237)},
+         {UINT64_C(0x83B2C2FC86A40BC7), UINT64_C(0x679D2DFC6F9AC4FB),
+          UINT64_C(0x0B3714CDE45455EF), UINT64_C(0x1C8D833D394A7797)}},
+        {{UINT64_C(0x1FBF89614E641C9D), UINT64_C(0x3330DAB0D951DFC8),
+          UINT64_C(0x9D4EBA4D051D96DB), UINT64_C(0x27C6DBF023066924)},
+         {UINT64_C(0xB950C648DA5D1D79), UINT64_C(0x544D46BA5E9CD783),
+          UINT64_C(0xFA77226FE69BA3EF), UINT64_C(0x0A93D219E4DA8423)}},
+        {{UINT64_C(0x7C377CC65BDCA76B), UINT64_C(0x7DF505D7DC58D194),
+          UINT64_C(0x18A24C0B13E389E1), UINT64_C(0x5E0782DD6C3972FD)},
+         {UINT64_C(0x97AD477E6680FCE1), UINT64_C(0x6B07BF223CBAB792),
+          UINT64_C(0xB8DF3C73DC68C9E2), UINT64_C(0x33AB5A4CC04B2749)}},
+        {{UINT64_C(0xD151C7627E79B5A7), UINT64_C(0xA4356B79C82C7B8A),
+          UINT64_C(0x931DDDE896E0A2E2), UINT64_C(0x40378EB252C54FDC)},
+         {UINT64_C(0xA6BBD5E340C24003), UINT64_C(0xB4F3246E65C34FEA),
+          UINT64_C(0x780B21ED9C767A23), UINT64_C(0x5F1E95FE52BD7E83)}},
+        {{UINT64_C(0x4F3453DFCF39F9C4), UINT64_C(0xA3E1CFD1B8CC2CA6),
+          UINT64_C(0xE49BC49C4B898859), UINT64_C(0x4FFD7BD66C0BF055)},
+         {UINT64_C(0x7DE7604CD139AD1B), UINT64_C(0x6973F5EB2A3CE8FE),
+          UINT64_C(0xAC66FF97F9501ECC), UINT64_C(0x3D96F1E2A97D46CD)}},
+        {{UINT64_C(0x70D5A0D06106EB96), UINT64_C(0x938E038F398C1FD9),
+          UINT64_C(0xE66B70071F3A1AA9), UINT64_C(0x42BDB264F5BD9308)},
+         {UINT64_C(0x4B3FD7545AF84957), UINT64_C(0x9E3E17FA4E27DC6B),
+          UINT64_C(0x384FCACD51D8560B), UINT64_C(0x42F00D11F8068C09)}},
+        {{UINT64_C(0x794C1E6A7D5897D5), UINT64_C(0x4901097FDF72DCA0),
+          UINT64_C(0xDED5B1920B01E4C4), UINT64_C(0x364FF58226DD41E9)},
+         {UINT64_C(0xA3F92DCC32FCA925), UINT64_C(0x8A1FB329207AA09A),
+          UINT64_C(0xA9274BD3F512AE3A), UINT64_C(0x161C82BCC47B9007)}},
+        {{UINT64_C(0x482ECE3B7AE1175F), UINT64_C(0x97CAC7E8BDD5DC6C),
+          UINT64_C(0x562253099FDA910D), UINT64_C(0x52A9893B9FC206B9)},
+         {UINT64_C(0xAD9F2A9205BB5ACA), UINT64_C(0xB9EEFB5BA3B65716),
+          UINT64_C(0xE7BC173B8DB5A8D4), UINT64_C(0x6715EC64399DAE9E)}},
+        {{UINT64_C(0x780796D15E41AC75), UINT64_C(0x3E165C784FB3A0B4),
+          UINT64_C(0x198599BA237103E9), UINT64_C(0x2C04C3F5FA7ED86B)},
+         {UINT64_C(0x29547DA8AC9356F0), UINT64_C(0xCB345AB479EADA37),
+          UINT64_C(0x1D15D377A295BF2D), UINT64_C(0x10292C9D2FDC8131)}},
+    },
+    {
+        {{UINT64_C(0xADF3B54740E1DC7E), UINT64_C(0x420CE2DD1C345D14),
+          UINT64_C(0xC08E3CBE21DC5C2D), UINT64_C(0x79FDC0006F8FCE80)},
+         {UINT64_C(0x23EBDF7FCB105CE7), UINT64_C(0x793FC99D7C6794A8),
+          UINT64_C(0x4CA3FB21293E3575), UINT64_C(0x7FB2ACB97BF73CC8)}},
+        {{UINT64_C(0x67DB6C900FC8FCD4), UINT64_C(0x22A3DF5F7EE3B705),
+          UINT64_C(0xD50EBF8BC7B2EDFF), UINT64_C(0x0C70104599522FB7)},
+         {UINT64_C(0x1420CF02AD4F9044), UINT64_C(0xD78DBA23E5B59451),
+          UINT64_C(0xDFDC1C7F6AEFD853), UINT64_C(0x560DEE94DEA1DAAB)}},
+        {{UINT64_C(0x0F2355132167A78B), UINT64_C(0xCF4637029F441927),
+          UINT64_C(0xD0AE2723A3D1505C), UINT64_C(0x3149D858CD9FBFF4)},
+         {UINT64_C(0x2A73913AF79240FA), UINT64_C(0xC904A575252A958B),
+          UINT64_C(0x10D1819078473D97), UINT64_C(0x42CE7A38203BC8C4)}},
+        {{UINT64_C(0x1D2AD4F2FA59BB8B), UINT64_C(0x8234964C79F137DD),
+          UINT64_C(0x00B63A305D02679E), UINT64_C(0x506C45BE5DD7543D)},
+         {UINT64_C(0x4378F900776BF80C), UINT64_C(0x179558B2B312F2BB),
+          UINT64_C(0x5B15368CEA37C183), UINT64_C(0x7593B19FB198E42D)}},
+        {{UINT64_C(0xED723535DEFA1F48), UINT64_C(0x0DAFC48B87F96EE5),
+          UINT64_C(0x0AEFA3BA91B1B52C), UINT64_C(0x56BA1B33A1ADBEA4)},
+         {UINT64_C(0x8A0B617030A6C905), UINT64_C(0xC5BA3518B272D12E),
+          UINT64_C(0x782100CF4B6643A9), UINT64_C(0x12DEE80385C5BD2B)}},
+        {{UINT64_C(0xDD07D2D578FCADD6), UINT64_C(0x8CB8E8A83B25C523),
+          UINT64_C(0x25063508530919CF), UINT64_C(0x45D3DD541E24F7A1)},
+         {UINT64_C(0x296AE89349DDAF96), UINT64_C(0x7EF3CDE0ACE559F5),
+          UINT64_C(0x9CDF22E40D36F87B), UINT64_C(0x196847654AC9A845)}},
+        {{UINT64_C(0x3955B5ABC597B7AE), UINT64_C(0x59F3BA053AB49731),
+          UINT64_C(0xBCA5B117F525C6C8), UINT64_C(0x4969C13432050B8D)},
+         {UINT64_C(0x353183D9970E8E49), UINT64_C(0x3D005213E95300CF),
+          UINT64_C(0x595F9C8E09022378), UINT64_C(0x70FA8B471A445C28)}},
+        {{UINT64_C(0xECC88EE3BADB79EA), UINT64_C(0x5BDAF68CFBD8464E),
+          UINT64_C(0x24AF6A4CB4280334), UINT64_C(0x17A5DE8B398E5BBE)},
+         {UINT64_C(0x300B6DEB92999E18), UINT64_C(0xA076691867DEFC2F),
+          UINT64_C(0x4E904450B19F87FF), UINT64_C(0x3010AD94C2871056)}},
+        {{UINT64_C(0x72E747A1461EFCC3), UINT64_C(0x329EDF18562F923E),
+          UINT64_C(0x65E021D4D081A4E7), UINT64_C(0x4B2DBFFFB727B6F4)},
+         {UINT64_C(0x5A597A809C8505AC), UINT64_C(0x13486480562B82D2),
+          UINT64_C(0x477FD480CC8234C3), UINT64_C(0x6045ABA404800C00)}},
+        {{UINT64_C(0x3E0874399C541035), UINT64_C(0x389AA76C6D9D8B6A),
+          UINT64_C(0x68FE5E8336A21299), UINT64_C(0x67AC313D402A32CF)},
+         {UINT64_C(0x996131D225501A53), UINT64_C(0x5C1B89DEA77A85F4),
+          UINT64_C(0xA9822C84ED6702AD), UINT64_C(0x50F014A456609EA0)}},
+        {{UINT64_C(0xF0F8B4E6E5A8E91E), UINT64_C(0x734CFF081A2FFEFD),
+          UINT64_C(0x9724EE0B27BCB163), UINT64_C(0x6AF3808B30B8EF68)},
+         {UINT64_C(0xE5B3829F126E88FC), UINT64_C(0x0F441EE34EE5FD4B),
+          UINT64_C(0x534D2F8CBFEC4D34), UINT64_C(0x3E1F16DE076E6737)}},
+        {{UINT64_C(0x4DB53E8A4ED36E6A), UINT64_C(0x49A9EFE94352B22F),
+          UINT64_C(0x7829605C39CF005C), UINT64_C(0x190A8E16D85DB959)},
+         {UINT64_C(0x699810699B073AB3), UINT64_C(0x8C264B878C141AA1),
+          UINT64_C(0x7F614282603ED47C), UINT64_C(0x21FD2E7A9F9B0940)}},
+        {{UINT64_C(0xC5CA10A01EC6BB3D), UINT64_C(0x9403E3F527A9B02B),
+          UINT64_C(0x9D3D186DFB43F790), UINT64_C(0x7855276E67DC0C00)},
+         {UINT64_C(0x053DBB2AFFFFB14C), UINT64_C(0x2674666343ACC0A6),
+          UINT64_C(0x1EE7A9467FFC1C68), UINT64_C(0x14BFAF0156DBB0DE)}},
+        {{UINT64_C(0x11C89A47849EA674), UINT64_C(0x194FAAF094A540E6),
+          UINT64_C(0xE61163F86050E4C0), UINT64_C(0x6939A166B1A07B76)},
+         {UINT64_C(0x8166CA8E2EF18325), UINT64_C(0x96112E6530C042E2),
+          UINT64_C(0xA805CAE05A394C25), UINT64_C(0x45A0DE010392E6BB)}},
+        {{UINT64_C(0xB89CEE96B4FAAA56), UINT64_C(0x7A7DC8AE529736DE),
+          UINT64_C(0x9158AA49A727FCF7), UINT64_C(0x621B8B311896B9DA)},
+         {UINT64_C(0x875930D603BEC74B), UINT64_C(0x1056DB45A7A50309),
+          UINT64_C(0xEE713E04B5657B0E), UINT64_C(0x2D68155E6FCAD967)}},
+        {{UINT64_C(0x3BB1E9E365B1E2B3), UINT64_C(0x2A61567088425BAB),
+          UINT64_C(0x22F4F32F62F1BA4A), UINT64_C(0x7B5EC25088A59642)},
+         {UINT64_C(0x7B5BA12A42D30049), UINT64_C(0x4E6AC05586995BE6),
+          UINT64_C(0x04431A0445EC87AC), UINT64_C(0x28974ED7ED94823D)}},
+    },
+    {
+        {{UINT64_C(0x5925805712BB5555), UINT64_C(0x03141CD8BB7608EE),
+          UINT64_C(0x84EBDC49EF77714B), UINT64_C(0x6A45FC3AB5DC1A5F)},
+         {UINT64_C(0x1F6DC2052FBEEC76), UINT64_C(0x17EB733BA920C554),
+          UINT64_C(0xDB022C217A28ACDF), UINT64_C(0x6AF16156A9B62BF1)}},
+        {{UINT64_C(0x9379D6A880B472CC), UINT64_C(0x6CB08CB07BD92F27),
+          UINT64_C(0x19B3C353147E6E12), UINT64_C(0x3C26CB2F26827839)},
+         {UINT64_C(0x98AAC9A70CC571E4), UINT64_C(0x075D05F2C3C8FC04),
+          UINT64_C(0x718B55A0D79621AC), UINT64_C(0x149FEECF5B94B41B)}},
+        {{UINT64_C(0x6A150A64783F9C81), UINT64_C(0x5950C2DF0FB18827),
+          UINT64_C(0xF5D75504F15E3A89), UINT64_C(0x5F92F2F7FCB4406B)},
+         {UINT64_C(0x665F31E76123E858), UINT64_C(0x4E568EA9A95184A3),
+          UINT64_C(0x851EEADC505FF0AD), UINT64_C(0x62AD5BA6542C3EF8)}},
+        {{UINT64_C(0x1103859DC55C23FD), UINT64_C(0x06AB0BD6695E4E9B),
+          UINT64_C(0x2CD00D76DD734990), UINT64_C(0x5D59C693B06460E4)},
+         {UINT64_C(0x3BA8F2F01F9C76DA), UINT64_C(0x08E4A7EC960F5C0E),
+          UINT64_C(0x79C82AD9E4AAB060), UINT64_C(0x093D322C0DF95C43)}},
+        {{UINT64_C(0x88AF12580C627547), UINT64_C(0x81E5F197889A5E12),
+          UINT64_C(0x99E0E1917CBD84FD), UINT64_C(0x3024BCE8DB0B9711)},
+         {UINT64_C(0x04075C80DB93B1A2), UINT64_C(0x12F30AF8628B0E63),
+          UINT64_C(0xA3514F26EB25A4ED), UINT64_C(0x3D42E4897BCD0873)}},
+        {{UINT64_C(0x0F1C16C6754B236F), UINT64_C(0x717CE487594F5D3D),
+          UINT64_C(0x7679C7DAAFAD77B1), UINT64_C(0x51AFD0146F3E724C)},
+         {UINT64_C(0xAFC9745C3AF6938F), UINT64_C(0xCA12BFA9C4E61CB4),
+          UINT64_C(0x943B56969425CCA7), UINT64_C(0x5BD3E65EB6E48A69)}},
+        {{UINT64_C(0x2D23CF78DEAE74B1), UINT64_C(0xA686767E043BF2F1),
+          UINT64_C(0x3AFED34DE464ADE9), UINT64_C(0x1E4620735A6AE80B)},
+         {UINT64_C(0xA86AA408737F7B66), UINT64_C(0xD67A0B49EAB3B6CE),
+          UINT64_C(0x6FF3CA4F275355F3), UINT64_C(0x6F385576688F99AB)}},
+        {{UINT64_C(0xC9B63343FD2F9A72), UINT64_C(0xBD0A126DAC267E8A),
+          UINT64_C(0x818BD5D85D2839B5), UINT64_C(0x1BBAB4CE0BF5AFCE)},
+         {UINT64_C(0x2827B24A4D8B67DE), UINT64_C(0x841F6BD3C34E6642),
+          UINT64_C(0xE9F5C1C25E4A34D4), UINT64_C(0x4E98795CFDA4177C)}},
+        {{UINT64_C(0x3C9FF1C20763AB04), UINT64_C(0x4FC1BE619832FCFD),
+          UINT64_C(0x5FA50C388BD0363A), UINT64_C(0x14C9BB2FF26206BE)},
+         {UINT64_C(0xAD1A96EB1D31880C), UINT64_C(0xF0A37BC465DFCF8A),
+          UINT64_C(0x389627293D048FE4), UINT64_C(0x017125C06480B254)}},
+        {{UINT64_C(0x01E819F598D4BAC6), UINT64_C(0xD3686E0436B99D30),
+          UINT64_C(0x0C2876FB200A4A9D), UINT64_C(0x45D50C2FE65782D5)},
+         {UINT64_C(0xB8316ECE865B7A21), UINT64_C(0xA3ADB90FCC875503),
+          UINT64_C(0xD72E864E98468FB4), UINT64_C(0x13BB23FDDED21F40)}},
+        {{UINT64_C(0x653C3C15C6B96368), UINT64_C(0x9A42FC2C2B9C381F),
+          UINT64_C(0xF06B41B969534D92), UINT64_C(0x46F7292E3FB7BED2)},
+         {UINT64_C(0x14A2C42097D1875E), UINT64_C(0x45DFA824D3B2DF55),
+          UINT64_C(0x59CB7E593F2BA72D), UINT64_C(0x2EEC65C9D7D96C98)}},
+        {{UINT64_C(0x907CD4C849650405), UINT64_C(0xFC29320A37E05E06),
+          UINT64_C(0x99B4C1DF09E29619), UINT64_C(0x74E69BF834DE993F)},
+         {UINT64_C(0x62C0F296509D9797), UINT64_C(0x2E6BD4E65F1EF554),
+          UINT64_C(0xE30506410D0B71B8), UINT64_C(0x29DA0C9D235DDE6C)}},
+        {{UINT64_C(0x3CFBCA4B689398C1), UINT64_C(0x11E5880440C9DF13),
+          UINT64_C(0x3923A39BBCDF2489), UINT64_C(0x3805CCC7387C8089)},
+         {UINT64_C(0xC1B4EB4870319AFA), UINT64_C(0x0A6A5FA4CA089604),
+          UINT64_C(0x16ABDE5473139A20), UINT64_C(0x7C0055E094BD61B5)}},
+        {{UINT64_C(0xA5AB5CEFCB05A02A), UINT64_C(0xC0B4E1B40BFE903B),
+          UINT64_C(0xBA528329EAC9E7E8), UINT64_C(0x0266C5A70A2456B6)},
+         {UINT64_C(0x507E9A415E216EEC), UINT64_C(0xFCC06B0AD0F1E440),
+          UINT64_C(0x6FAEFC8EE5C7B26F), UINT64_C(0x4744CF2EB02F85C1)}},
+        {{UINT64_C(0xF5E2B8121C291BFC), UINT64_C(0xC18E791D2CDCBF7A),
+          UINT64_C(0xC386B96246554345), UINT64_C(0x373E00FB067518CD)},
+         {UINT64_C(0xC9BA9DF9E950051B), UINT64_C(0x182CB132DD6133EE),
+          UINT64_C(0xD6D7F81570A3C71C), UINT64_C(0x44C5AEBC7FAFE307)}},
+        {{UINT64_C(0x6C7CE359A9D16080), UINT64_C(0xA874386D1E8B643E),
+          UINT64_C(0xA064812907F48E10), UINT64_C(0x2A40220193E4D619)},
+         {UINT64_C(0x8B429545BD383EA6), UINT64_C(0xC096D593F2880536),
+          UINT64_C(0xB4057D6C20E299B9), UINT64_C(0x303962CE38A825FA)}},
+    },
+    {
+        {{UINT64_C(0x9E426EBF1E1D70D0), UINT64_C(0x6AEA4DDCB83529CA),
+          UINT64_C(0xF3ECD4627CC9A07C), UINT64_C(0x7F255C86C364772E)},
+         {UINT64_C(0x0DF212CF5613BEF0), UINT64_C(0x771F02A91309F9D0),
+          UINT64_C(0xE97BEE39805FE1F5), UINT64_C(0x54A43430D93522B9)}},
+        {{UINT64_C(0xC01553BDCDE4EBBE), UINT64_C(0xB1928DDCA02E56C1),
+          UINT64_C(0xB91004BA94A1A417), UINT64_C(0x44F74BE656CB9C88)},
+         {UINT64_C(0x6A7E3E9B921B62E5), UINT64_C(0xF2BF553B5FBF13C4),
+          UINT64_C(0x51CB776D86D55641), UINT64_C(0x71826BC56425A3AD)}},
+        {{UINT64_C(0xD6D49F90C6D70EF9), UINT64_C(0x5BD0DA6929EBA0DD),
+          UINT64_C(0x0BBA7571803233EF), UINT64_C(0x0EB0959E679A17D5)},
+         {UINT64_C(0x97818DC2B8A3D6EC), UINT64_C(0x09497FB0C687EAA2),
+          UINT64_C(0x2E2707EAA65FA4C0), UINT64_C(0x6A74D4C67542F472)}},
+        {{UINT64_C(0x0D1930061EE0BC40), UINT64_C(0x7D7BEE196DC98BA8),
+          UINT64_C(0x1AD37C98447C38D2), UINT64_C(0x3E163AE1B6B4550A)},
+         {UINT64_C(0x734E36C95BC93243), UINT64_C(0x54E217FD986C35A8),
+          UINT64_C(0xF0576FF09E3285E3), UINT64_C(0x65C950C8186EE7EB)}},
+        {{UINT64_C(0x1AB12C042012D277), UINT64_C(0x97CAB84B83872384),
+          UINT64_C(0x479C9CF51C66FCFD), UINT64_C(0x70ABC8B4F276933E)},
+         {UINT64_C(0xE6B15BF7BA4D14F0), UINT64_C(0xF4060ED322E2F5D5),
+          UINT64_C(0xA53F3CA0CDC5462C), UINT64_C(0x593219D4C6FC3854)}},
+        {{UINT64_C(0x9DE6993472B6F8A1), UINT64_C(0xECABAEEE19E16B3F),
+          UINT64_C(0x0B537CA5EDA68D7B), UINT64_C(0x744628BDD3CE55B7)},
+         {UINT64_C(0x3A5B2D8E98A95308), UINT64_C(0x74D0CEF16758C6C8),
+          UINT64_C(0x7538198ADA204834), UINT64_C(0x1E166AAAA644E880)}},
+        {{UINT64_C(0xE76EE7124674ACF0), UINT64_C(0x40A6F6DEDF9DFB4C),
+          UINT64_C(0x91B0034C40C65721), UINT64_C(0x54FE8B8BF8E0F5E5)},
+         {UINT64_C(0x6322CA0F75891895), UINT64_C(0x3D1C821E7D20C522),
+          UINT64_C(0x1691407F08043786), UINT64_C(0x02C3083814847D58)}},
+        {{UINT64_C(0x57DEF069B8F0C372), UINT64_C(0x50375DC30D5ABF2C),
+          UINT64_C(0x2290381475EDFBC9), UINT64_C(0x56E39BD7AE37695A)},
+         {UINT64_C(0xAB74B187463D13F2), UINT64_C(0xC50CB8A23CDE8886),
+          UINT64_C(0x1EFBD1CFB35F7D59), UINT64_C(0x1296C4821057AE42)}},
+        {{UINT64_C(0xA350B57BC347E3FB), UINT64_C(0x4312EB75ADF65129),
+          UINT64_C(0xD9A7E2F47F9A6C9E), UINT64_C(0x5493AF7B9BFDCB4D)},
+         {UINT64_C(0x90A443DD9AC0E58E), UINT64_C(0x9777D58AC6F3BEEF),
+          UINT64_C(0x12F00913965EC900), UINT64_C(0x2F6C5B59480126DA)}},
+        {{UINT64_C(0x70B907FCBAD8C051), UINT64_C(0x54492D6AD3B4F608),
+          UINT64_C(0xE3B46F1B2E096D9F), UINT64_C(0x522AD6D1747D472A)},
+         {UINT64_C(0x8FCD161602DAB5E5), UINT64_C(0xD3BA292F357B1C85),
+          UINT64_C(0xA6DB50CD2704F072), UINT64_C(0x63488DDF8341AA73)}},
+        {{UINT64_C(0x99100A3D0FE2AAAB), UINT64_C(0x7D30C4E98EA44560),
+          UINT64_C(0xBA458C672B4C776D), UINT64_C(0x2EC11420BBA4D85E)},
+         {UINT64_C(0xB1D9FBA27A7AEC55), UINT64_C(0x432AB2AA7665AAE5),
+          UINT64_C(0xD2755948F3BC7043), UINT64_C(0x2FC331BB82510EAD)}},
+        {{UINT64_C(0xAAF11CF946253DB1), UINT64_C(0xEB025AEDB0DF307C),
+          UINT64_C(0xCB7C22A57A82ADEE), UINT64_C(0x7316C3909C5FA97B)},
+         {UINT64_C(0x91620554F518067C), UINT64_C(0x20A438AE3C96A804),
+          UINT64_C(0xC4F9DCDF5B0C090C), UINT64_C(0x77C512DB6E5C1B45)}},
+        {{UINT64_C(0xC981E682FDD09EDE), UINT64_C(0xC3EB36B7BBB3F57D),
+          UINT64_C(0xA07369C6D12BF450), UINT64_C(0x16627566CE017845)},
+         {UINT64_C(0xFD8DEC909494AF62), UINT64_C(0x7E79309653FD4B22),
+          UINT64_C(0x21B8E665C8AAEAE9), UINT64_C(0x526FA31818BC33C0)}},
+        {{UINT64_C(0xF55D32BF853A2647), UINT64_C(0xD873ED6CCDAEE8FE),
+          UINT64_C(0xA3579E2B80E52622), UINT64_C(0x03871ABA33D16FE8)},
+         {UINT64_C(0x714804AC69925EDF), UINT64_C(0x0340755FF2B964FF),
+          UINT64_C(0x93830F98DA0D1A07), UINT64_C(0x2CAB201EF7FB1E16)}},
+        {{UINT64_C(0x26DE3A3A22A8AF77), UINT64_C(0x0E77C3DCB45BA630),
+          UINT64_C(0x34F00017FC86E7D1), UINT64_C(0x796ABE2F1B62F7F2)},
+         {UINT64_C(0x9FA092771663B5B1), UINT64_C(0xFFFDC93F9B2FB9AC),
+          UINT64_C(0x03AECD1A6B340D75), UINT64_C(0x5D55A168314DCCEA)}},
+        {{UINT64_C(0x678AEF02747DBD0C), UINT64_C(0xF0D47C1CD47A6C09),
+          UINT64_C(0x6C2AC72F3FDD1681), UINT64_C(0x750E70646D789D3A)},
+         {UINT64_C(0x3F970AFEAEBEDD58), UINT64_C(0x6BBA7956E3540951),
+          UINT64_C(0x7CC461B23E71F6AF), UINT64_C(0x7E51E548C45FED28)}},
+    },
+    {
+        {{UINT64_C(0x4A598EFB2CE2CBE5), UINT64_C(0x774CDE0A89C9A51B),
+          UINT64_C(0x2D003680CA907F34), UINT64_C(0x62C32DCA9D3C7D97)},
+         {UINT64_C(0x37B3A90FB3054D17), UINT64_C(0x1423574C67E58A5A),
+          UINT64_C(0xF1D3BB1A4859FA49), UINT64_C(0x25F0AF1C3F5AFA63)}},
+        {{UINT64_C(0xD3BF7F621FE53AC9), UINT64_C(0xCE2B67C3CBCE6164),
+          UINT64_C(0xE081C57695341024), UINT64_C(0x32B0EF5D9A70ECAB)},
+         {UINT64_C(0x3EC93C853BE1E5CE), UINT64_C(0xE25F54EDA0CB7DCD),
+          UINT64_C(0x9D6B57D7517965B2), UINT64_C(0x159F7AB0129B0B27)}},
+        {{UINT64_C(0xAEF88E95EEFB67F3), UINT64_C(0xEAEB2889E0316AB2),
+          UINT64_C(0x1491881FC2CB6753), UINT64_C(0x67DCDF28702789D0)},
+         {UINT64_C(0x8282E0A711C0F3FD), UINT64_C(0x9CDCFDB801BA273D),
+          UINT64_C(0x6BF1E04326279B95), UINT64_C(0x0D42AAC685852777)}},
+        {{UINT64_C(0xC4CE393E608981AB), UINT64_C(0x210E20F852141CB0),
+          UINT64_C(0x22C2586D6B9234B5), UINT64_C(0x52F1B3664366750E)},
+         {UINT64_C(0xE38ED0D9760AFA55), UINT64_C(0xA43FF25AB5D61A08),
+          UINT64_C(0x0BE3A406B5E21691), UINT64_C(0x37B47A28FD4E17B0)}},
+        {{UINT64_C(0xC46DC6D44C2C65C2), UINT64_C(0x2A0B452CC54BE778),
+          UINT64_C(0xAF113693F727070E), UINT64_C(0x7B229CD8C68D13A3)},
+         {UINT64_C(0x0F63097E02D43E4B), UINT64_C(0x912F8D3355627FD8),
+          UINT64_C(0x1EBF39612A0DD9AE), UINT64_C(0x7FD33FDEF0294B2D)}},
+        {{UINT64_C(0xC72411F5D0CC6D9F), UINT64_C(0x66E04C909B92FF84),
+          UINT64_C(0x0678B4F8E1C033B6), UINT64_C(0x5A99F270E49A972A)},
+         {UINT64_C(0x3743BCD8D265A4DF), UINT64_C(0x7BD6DDF4CE0404C3),
+          UINT64_C(0x4043767F131750A5), UINT64_C(0x4A7D89839DD65652)}},
+        {{UINT64_C(0x535BC78412B7822D), UINT64_C(0xDD32DD67F1F9B703),
+          UINT64_C(0xFFDBF0EB2EAA2A1C), UINT64_C(0x497C09FAF64E9822)},
+         {UINT64_C(0x18E717E932EE2A36), UINT64_C(0xF01CC4F5583949B1),
+          UINT64_C(0x222EE9740A168755), UINT64_C(0x0CD14CD500C81EC9)}},
+        {{UINT64_C(0x7AE0BD1114C79CDC), UINT64_C(0x67323D1A6DC08C80),
+          UINT64_C(0x2FD1ABC70EF32432), UINT64_C(0x65923246B0E08EBF)},
+         {UINT64_C(0x0A9FD3D7C0754ECE), UINT64_C(0xE76B26245F8644FA),
+          UINT64_C(0xF1F0BEBA0F8BB385), UINT64_C(0x73251F03FC96778F)}},
+        {{UINT64_C(0x197150DED08795A9), UINT64_C(0xAD6935AEFBB8B9CF),
+          UINT64_C(0x721186823B2B9EFB), UINT64_C(0x265B288DBC2B7240)},
+         {UINT64_C(0x7BF2EB362F78C431), UINT64_C(0xF03B83CAF2A6E469),
+          UINT64_C(0x211592564740E74B), UINT64_C(0x35BE57350490F0B9)}},
+        {{UINT64_C(0x207F33B2806C1CAE), UINT64_C(0x04249127DAC5ADE0),
+          UINT64_C(0xC4CCF33E1CC59DE7), UINT64_C(0x2A17B520272BD6D7)},
+         {UINT64_C(0xC36F6B3CB48F6585), UINT64_C(0xD32A73790861ACF5),
+          UINT64_C(0x28A12ECB2C3291C6), UINT64_C(0x0E945F95F02A88D0)}},
+        {{UINT64_C(0x4836EC01D3B3117B), UINT64_C(0x4C197454A4C2FD72),
+          UINT64_C(0x96FCED51F9897721), UINT64_C(0x142028585828C97D)},
+         {UINT64_C(0xCA7ACED8774755B9), UINT64_C(0x460FF58297252559),
+          UINT64_C(0xAAE457765796DD63), UINT64_C(0x711C916E346DDBF5)}},
+        {{UINT64_C(0xA60E2E7B5E203692), UINT64_C(0xCFC72FEAF3BF2A45),
+          UINT64_C(0x78729D2872AC0436), UINT64_C(0x3E16DD8B29ABF199)},
+         {UINT64_C(0xB1705AA615A41F3D), UINT64_C(0x8C7512FE308AB87C),
+          UINT64_C(0xA27411C503995381), UINT64_C(0x3142403CA780CED3)}},
+        {{UINT64_C(0xE4473E94F1718C7F), UINT64_C(0x601BC194A3CAB6CB),
+          UINT64_C(0x8F3540F8581D491D), UINT64_C(0x456A9B7C43C15321)},
+         {UINT64_C(0x6F335A2D593BB7ED), UINT64_C(0xB6D5A23F7D791514),
+          UINT64_C(0x976D2F8379235EAD), UINT64_C(0x7D02EA0F44775C97)}},
+        {{UINT64_C(0x322DBC8CE5EC268E), UINT64_C(0x1F2F6050BE14BF5C),
+          UINT64_C(0x58AC6397EACF6A50), UINT64_C(0x4167CBD5A5401081)},
+         {UINT64_C(0x8E6F06A1EE5B4BF5), UINT64_C(0x1A6073D56B2F790F),
+          UINT64_C(0x1C09FF3D4F901250), UINT64_C(0x286AF8D7E6B40DF4)}},
+        {{UINT64_C(0xF74C805706BD53FF), UINT64_C(0x4FCE7281E5788F0D),
+          UINT64_C(0xD6A867AC3D015E6B), UINT64_C(0x04AEC38D6E185A42)},
+         {UINT64_C(0x8DC12B74083D65CB), UINT64_C(0xDB1AA8AC82966668),
+          UINT64_C(0xBD2233BF28AF1B90), UINT64_C(0x544569A7172CCA11)}},
+        {{UINT64_C(0x9C56FCA8149BD0BD), UINT64_C(0x2B4EC788A05F8E44),
+          UINT64_C(0x1569CF6D92478943), UINT64_C(0x67E373E857380986)},
+         {UINT64_C(0xF5CC8232ED3C14DB), UINT64_C(0xE3D184B0F52EAF83),
+          UINT64_C(0x195D41370BC64038), UINT64_C(0x77994388778C3C20)}},
+    },
+    {
+        {{UINT64_C(0x3DAA0C47A0CC77AA), UINT64_C(0xB9794E747C69CDF0),
+          UINT64_C(0x3610E50B4549F5D4), UINT64_C(0x262CA564B8A112CA)},
+         {UINT64_C(0xD5EC795E554E8714), UINT64_C(0x73EE5502717EBEF3),
+          UINT64_C(0xE36E8A1A1947A478), UINT64_C(0x3FBE43A342ADC59D)}},
+        {{UINT64_C(0x4DE78909021FBCBE), UINT64_C(0xA76A5EE20BBBB324),
+          UINT64_C(0x5B86519ACD67810B), UINT64_C(0x4CCA44A23710A4EE)},
+         {UINT64_C(0xD79A121DCD1F8BEC), UINT64_C(0x2E12A772DC9CA10E),
+          UINT64_C(0xE301CA3B8C9E9640), UINT64_C(0x4B25FE18B731A957)}},
+        {{UINT64_C(0xA05DA2CDF4AD7264), UINT64_C(0x31336489076977A5),
+          UINT64_C(0xC1D269BEF2E576A8), UINT64_C(0x1E877ADC7532203F)},
+         {UINT64_C(0x9C9961BC8B92972C), UINT64_C(0x7BA072726A14D810),
+          UINT64_C(0xE51095A906913136), UINT64_C(0x4674896930E0EA8C)}},
+        {{UINT64_C(0xDB8EF3463C73BA49), UINT64_C(0xBF2213123720570D),
+          UINT64_C(0xC07B3639605DB0D6), UINT64_C(0x44FCEFA6300336A3)},
+         {UINT64_C(0x121FAC5C2D234592), UINT64_C(0x901DEE8844E367D7),
+          UINT64_C(0x5B5F3DD61CAA6A3A), UINT64_C(0x72E474ECAC2F6E64)}},
+        {{UINT64_C(0x15690BEEF55BE61C), UINT64_C(0xE42B945EDF2678A2),
+          UINT64_C(0x60A5C8AA3B7B1776), UINT64_C(0x16103FBCEB9AB938)},
+         {UINT64_C(0x79722A1E87AD06AB), UINT64_C(0xD7B509F6D6B632A2),
+          UINT64_C(0x8C4E8B2E3B69EB40), UINT64_C(0x6A50958314DB2225)}},
+        {{UINT64_C(0x169F35D893B78659), UINT64_C(0x989B04D28EFF83AD),
+          UINT64_C(0x72CF7338A6AE4806), UINT64_C(0x6E156C84F4AAA524)},
+         {UINT64_C(0x33A608EDA1ED5CB2), UINT64_C(0xCE274A64C3D28716),
+          UINT64_C(0xFCF1B17045F0435F), UINT64_C(0x101D1BDB1653D6F6)}},
+        {{UINT64_C(0x45BC931D2E5A67D9), UINT64_C(0xAFF02C11697DA479),
+          UINT64_C(0x7C7972A32EA3E6E1), UINT64_C(0x71A17D505E97BB90)},
+         {UINT64_C(0x962E84F219AD4C5E), UINT64_C(0xBB8C9FC7692020BE),
+          UINT64_C(0xA78FDF2CE7B36665), UINT64_C(0x7AC84ED426F92E33)}},
+        {{UINT64_C(0xBD85A9EEC3C9E5C1), UINT64_C(0x72030BAA6ED2FD6A),
+          UINT64_C(0xB67185AB39CFFB89), UINT64_C(0x3E2E51A4833BF770)},
+         {UINT64_C(0x248FA3485E27D5BB), UINT64_C(0xF8D435962E6D3DCF),
+          UINT64_C(0x07F5B93C0C8DAF81), UINT64_C(0x6A7FFA1DAD2FC97D)}},
+        {{UINT64_C(0xFF308FAEFAEA33F1), UINT64_C(0x5F29DFFB3CC4C7CF),
+          UINT64_C(0xB9AD4527ECC5A2B9), UINT64_C(0x08B95AF6048D4B38)},
+         {UINT64_C(0x56BC43A8DEC152BB), UINT64_C(0xD1147B9A3849D869),
+          UINT64_C(0xFE5020C2D02AF3B7), UINT64_C(0x54C02B44B918496E)}},
+        {{UINT64_C(0x1611ECFD0B27468D), UINT64_C(0x4AFCE3290513A562),
+          UINT64_C(0x982782FD2FE74EED), UINT64_C(0x66AC58BF17ADD2EA)},
+         {UINT64_C(0x8277BC2D613581D4), UINT64_C(0x0BF5BF0C988D1498),
+          UINT64_C(0x8A37134D55C984CB), UINT64_C(0x409A79CC92211390)}},
+        {{UINT64_C(0x8C0081AE816F0462), UINT64_C(0xB431DC245A68BFC2),
+          UINT64_C(0x25C769C65F78C8A1), UINT64_C(0x3BE0458DB382AF14)},
+         {UINT64_C(0x10583083A171ADF2), UINT64_C(0xBA5D532537F7C39F),
+          UINT64_C(0x76B03B945EAC7585), UINT64_C(0x76159AAC9C2DF2C6)}},
+        {{UINT64_C(0x886C73BA918E0332), UINT64_C(0xF6FEC62AD24B5B52),
+          UINT64_C(0xB98759B436B4D23A), UINT64_C(0x5EC5B3FE5480ACF3)},
+         {UINT64_C(0x30FF297D6DD175BF), UINT64_C(0x501DE74475F2B9C3),
+          UINT64_C(0xDEBE47CAF19230C5), UINT64_C(0x7401F20932BBBB62)}},
+        {{UINT64_C(0x80712E4722496D1E), UINT64_C(0x36A0EF37DA80AF1D),
+          UINT64_C(0xAF6CA51C940E5E9F), UINT64_C(0x74E17B6F722D9D22)},
+         {UINT64_C(0xCB70B878B8B3AE1B), UINT64_C(0xBF8B9A0B07DF974C),
+          UINT64_C(0x89FCC996F68A4BF4), UINT64_C(0x46F581E86EB0FB2E)}},
+        {{UINT64_C(0xBCE0BD6C67137153), UINT64_C(0xAD3E92B375F64B78),
+          UINT64_C(0x6454CD1DFD047DD9), UINT64_C(0x181C93EB612AE472)},
+         {UINT64_C(0xE575307E23A529C3), UINT64_C(0xB9C43A0B59C09EB5),
+          UINT64_C(0xFD233A68AA805840), UINT64_C(0x067C442EA122FFB9)}},
+        {{UINT64_C(0xE1F3F76F2CD6762E), UINT64_C(0xFB68650F9764B53A),
+          UINT64_C(0x4E90AC72F1224580), UINT64_C(0x2BF68F01127EED48)},
+         {UINT64_C(0xE6B4B40994D389A0), UINT64_C(0xD7BC8108D44593D6),
+          UINT64_C(0xDCF0399148A86677), UINT64_C(0x4A52D961CEBCE3C7)}},
+        {{UINT64_C(0x55734AB5BAA873EA), UINT64_C(0x506DE4CF7871F323),
+          UINT64_C(0x7C3F8B00578612C0), UINT64_C(0x730D4B8A9243C9E8)},
+         {UINT64_C(0xA3290689D385F6BD), UINT64_C(0xAF688C6A913596F5),
+          UINT64_C(0x0A2D89B5B646BE23), UINT64_C(0x31891165F63A6029)}},
+    },
+    {
+        {{UINT64_C(0x331F9E57579583C0), UINT64_C(0xE92ABADF69C65DA2),
+          UINT64_C(0xC796FBECA5B8B057), UINT64_C(0x52E6F9C9312D1E89)},
+         {UINT64_C(0x0318B1DFDA68DFD3), UINT64_C(0x8BAA2EB3A1CAC4F1),
+          UINT64_C(0x0CDC89A2BEE7D6E1), UINT64_C(0x6102DE7A22AB50F4)}},
+        {{UINT64_C(0x02003D83E20C707A), UINT64_C(0xD819249C28289D89),
+          UINT64_C(0x3FBC00B172053FF8), UINT64_C(0x0249C43CDF40D261)},
+         {UINT64_C(0x8794EEACD8F064AF), UINT64_C(0xE2359E70DC9F0631),
+          UINT64_C(0xD1603647ADA310D0), UINT64_C(0x6A9E3785EDC888EC)}},
+        {{UINT64_C(0xF332B384EC41908E), UINT64_C(0xF3274472BDE4760B),
+          UINT64_C(0x96185E89140D0EF4), UINT64_C(0x5646208990E698E7)},
+         {UINT64_C(0x841A31C5F2E64396), UINT64_C(0x8F494CA503C4118F),
+          UINT64_C(0x0C98A4C31A188305), UINT64_C(0x1C4B5F6298AAB1AB)}},
+        {{UINT64_C(0xDDEEEBF85D0D8381), UINT64_C(0xD1616F4889044363),
+          UINT64_C(0x2EE41D4721616A13), UINT64_C(0x2DCE61104BC769FC)},
+         {UINT64_C(0xE3707A0116C1C468), UINT64_C(0x3B674187969AF612),
+          UINT64_C(0xB64BD4D71E0671CC), UINT64_C(0x7EF01DBAB98C297C)}},
+        {{UINT64_C(0x91DCBF99815381AC), UINT64_C(0x8D711F5838B67B97),
+          UINT64_C(0x9C11F5959C6E322C), UINT64_C(0x4A688D0BE31A782F)},
+         {UINT64_C(0x1297D9F3DCE93F5B), UINT64_C(0xA79561947C1DC62A),
+          UINT64_C(0x340F217A5F718F63), UINT64_C(0x71F84529FCC0EF6A)}},
+        {{UINT64_C(0x0D968E503DD00963), UINT64_C(0x5E696D79D7FF66C3),
+          UINT64_C(0xAA52D60D499A9BE2), UINT64_C(0x72482C45CDC289DE)},
+         {UINT64_C(0xC84968F57FFAAD3A), UINT64_C(0xEE91304CF7CD5BED),
+          UINT64_C(0x684936760A7CC7C0), UINT64_C(0x3411AFA780023968)}},
+        {{UINT64_C(0xA0AEBC706E3294C0), UINT64_C(0x93263942DC385E50),
+          UINT64_C(0x7B90C0028467FB06), UINT64_C(0x29477CA438CFD0FF)},
+         {UINT64_C(0xADC04D8192A748D5), UINT64_C(0xAE4F309D76CF3AE5),
+          UINT64_C(0xBDA34BF04BB2C2FF), UINT64_C(0x65138897368536E4)}},
+        {{UINT64_C(0x9CB8F7D66FE6D4D6), UINT64_C(0x6C2FFBF5AF246792),
+          UINT64_C(0xD5A4F34981524707), UINT64_C(0x3AFE45CE36766D5E)},
+         {UINT64_C(0x41991B49513BA267), UINT64_C(0x06EF1EEA6C18AA5E),
+          UINT64_C(0x0A51763588EA2099), UINT64_C(0x32D2B5E2D245B88B)}},
+        {{UINT64_C(0xAE38CDD53F517C5B), UINT64_C(0x1C94FDC5D878FEEE),
+          UINT64_C(0xABF7A41DBEFCE107), UINT64_C(0x33BF3FE9D408DFE8)},
+         {UINT64_C(0x4F2E6FF0947CB8C4), UINT64_C(0x3A8E86ABF998C5A0),
+          UINT64_C(0x3ADC6ABAE359209F), UINT64_C(0x37A2DE1BD9A50051)}},
+        {{UINT64_C(0x424F4E34E718F6B9), UINT64_C(0x50B1A03B75C58EB6),
+          UINT64_C(0xB949531491390E27), UINT64_C(0x4AE0CC3A880E78D8)},
+         {UINT64_C(0x10331AFAF1E4413C), UINT64_C(0xE7A3E554DDFCD2F0),
+          UINT64_C(0x44F6DE850EBF484B), UINT64_C(0x6A762A7E895D0F54)}},
+        {{UINT64_C(0x8E606B0A8D0558F6), UINT64_C(0xAADA76045C4DD930),
+          UINT64_C(0x5B2FC7ADEF4ACAD0), UINT64_C(0x0D969AD087F5B6E2)},
+         {UINT64_C(0xF9A182B25974E67B), UINT64_C(0xCD8232E723B4009A),
+          UINT64_C(0x3D8F5DDD285BCC3F), UINT64_C(0x114AC56FEEE1B9BF)}},
+        {{UINT64_C(0xD3EA1B56AA45085A), UINT64_C(0x5DE7BB70D314CEDF),
+          UINT64_C(0x8A74384C7BCCDCFD), UINT64_C(0x64B80F8A8E0E0367)},
+         {UINT64_C(0xA9EA432B48884ED1), UINT64_C(0x51957A8F8C0BA810),
+          UINT64_C(0x9E88340039E810E3), UINT64_C(0x0A73ED5A28B2051C)}},
+        {{UINT64_C(0x655212A313C30826), UINT64_C(0xAE53668EB73E8660),
+          UINT64_C(0x6C33B649FF108CCE), UINT64_C(0x39E0B11821D49681)},
+         {UINT64_C(0xFE4D215270525312), UINT64_C(0x2EDCE32BFFD18749),
+          UINT64_C(0xFED19B1CB04D3FB8), UINT64_C(0x4DFE216B2B225A9D)}},
+        {{UINT64_C(0x583E8A6C4C70F8A8), UINT64_C(0xC8206231954A9AE1),
+          UINT64_C(0x9360B592B76517B1), UINT64_C(0x362C5C5CEED10CCA)},
+         {UINT64_C(0x3DBA95953D607921), UINT64_C(0x0188A5D65A6ECC40),
+          UINT64_C(0x0EAB43C16CFF4ADE), UINT64_C(0x1F3673AEDE3347E0)}},
+        {{UINT64_C(0x7300C4B3796593EE), UINT64_C(0x607E7E76D8D926C3),
+          UINT64_C(0x1762CE2677F9FD06), UINT64_C(0x0D0478B3CEA891EB)},
+         {UINT64_C(0xB11297912618B09E), UINT64_C(0x5F9D290D33F928C9),
+          UINT64_C(0xE3192631E6178DB0), UINT64_C(0x21260AC808576D3F)}},
+        {{UINT64_C(0x899DAF2A76968E1C), UINT64_C(0x0519DEA9F9C2B3E7),
+          UINT64_C(0x5FDADC3893D0BD4E), UINT64_C(0x0467BFF743B4D98F)},
+         {UINT64_C(0x651C316C6F3936C9), UINT64_C(0xE757689AAF27DF8B),
+          UINT64_C(0x3AB037EAA0FA9188), UINT64_C(0x2F8B039BD927B60A)}},
+    },
+    {
+        {{UINT64_C(0x72211BF5DE876A70), UINT64_C(0xA836163173D121CE),
+          UINT64_C(0x2385272123D419E4), UINT64_C(0x3F56D47EDBD03345)},
+         {UINT64_C(0xFB0E91A5D6F05BAC), UINT64_C(0xA0E02BF6AC9D0F46),
+          UINT64_C(0x5ED9EA2C97F1812F), UINT64_C(0x172F564FEBD5DB5A)}},
+        {{UINT64_C(0xC790E91281F11E58), UINT64_C(0x14A1763099A5DFF7),
+          UINT64_C(0xF6F30F2F1627516D), UINT64_C(0x522CAD8FEFCF43B7)},
+         {UINT64_C(0xFFADD45E6EA01128), UINT64_C(0x5D23234CD61D1964),
+          UINT64_C(0xE9212C852802DF86), UINT64_C(0x0A3D237B92AA8DA3)}},
+        {{UINT64_C(0x2CED05F4E50ED356), UINT64_C(0x1CBC7FB1BFFEEF3A),
+          UINT64_C(0x885991B1BE19F0F0), UINT64_C(0x6DED0794DE44A492)},
+         {UINT64_C(0x9967E83444CBECFC), UINT64_C(0xB0674A8D6A792ED1),
+          UINT64_C(0x360E2DE4B7DDD557), UINT64_C(0x26852A7470E95D26)}},
+        {{UINT64_C(0x8CBC15203A6E2116), UINT64_C(0xF09327DFBF285BBE),
+          UINT64_C(0x8C7D9AD54A54D3C5), UINT64_C(0x778F54E66BD2768F)},
+         {UINT64_C(0x09B489F88FF3DBC0), UINT64_C(0x0A0FA7FBD2871932),
+          UINT64_C(0xABB9DC38E0A8CEC4), UINT64_C(0x2EE092D821E37A50)}},
+        {{UINT64_C(0xBB9256E7AF6D88D8), UINT64_C(0x3CDCB1CB0A218927),
+          UINT64_C(0x8E5B744AF216D6E6), UINT64_C(0x6F0617F2BC885AFD)},
+         {UINT64_C(0xFBA9CDA7268397D5), UINT64_C(0xC61547165D4C75D8),
+          UINT64_C(0x9ED8D17B43FB2CD2), UINT64_C(0x4D0CE3FBBE45BC5C)}},
+        {{UINT64_C(0x4259BB02A38472F5), UINT64_C(0xFAFAAE0315107D0E),
+          UINT64_C(0x2B8E450ECF0CF2B6), UINT64_C(0x788674C3ED887C3A)},
+         {UINT64_C(0x1F3EBD594B3D2EAC), UINT64_C(0x82CB568475E41B55),
+          UINT64_C(0x005AB76BC02BE49A), UINT64_C(0x6F13ADD2F5F90FEE)}},
+        {{UINT64_C(0x0116374A7AFA7161), UINT64_C(0x8A1AE4482DB7F824),
+          UINT64_C(0xD3C0DA12DB656A22), UINT64_C(0x7B095B95B989204D)},
+         {UINT64_C(0x24C35202EF8F21CA), UINT64_C(0x91088DA72DA5A5A1),
+          UINT64_C(0xAAF1944BE3F97D68), UINT64_C(0x245D28487C884134)}},
+        {{UINT64_C(0xD80C65D668F5C702), UINT64_C(0xE2FE245F021A2974),
+          UINT64_C(0xFB8520E03A11899C), UINT64_C(0x4806D1FA2BE6BF88)},
+         {UINT64_C(0xF6F8C11A20ED235F), UINT64_C(0x52AC14247F0D651E),
+          UINT64_C(0x44C3C89FDB9CF6D6), UINT64_C(0x6762516DB2E2E41F)}},
+        {{UINT64_C(0x2743D874FDE91600), UINT64_C(0x60975FD5CDF00100),
+          UINT64_C(0x78ACC8642D2954F4), UINT64_C(0x46B9E60256373454)},
+         {UINT64_C(0x7586A9706F0FB867), UINT64_C(0x888E3677242DF35A),
+          UINT64_C(0x5A639E79F1460F62), UINT64_C(0x1256517E55297DBC)}},
+        {{UINT64_C(0x3F78339B7B9294C3), UINT64_C(0x5BA765D1BCE77012),
+          UINT64_C(0xA88E0CD8512E39E2), UINT64_C(0x2D63E14BF6BA6A6A)},
+         {UINT64_C(0xF849A163EA29071B), UINT64_C(0xF32519B74C0A2E22),
+          UINT64_C(0xEA5D1315561C35F5), UINT64_C(0x7041F515D9267DCA)}},
+        {{UINT64_C(0xE01E839F1FE56E6B), UINT64_C(0x3E473D8C4A93CE88),
+          UINT64_C(0xC4846ECF89AAFDAE), UINT64_C(0x4111D97A07D946EA)},
+         {UINT64_C(0xC20881F651A45F02), UINT64_C(0x14C2AC95B9CD841A),
+          UINT64_C(0x2FBE8329F2CBD929), UINT64_C(0x1E8B7469C812608B)}},
+        {{UINT64_C(0xB36A5D03007F0A5D), UINT64_C(0xA7E7A1A85DCF7AF4),
+          UINT64_C(0x7227F4C5BEB12AFB), UINT64_C(0x462277924D276783)},
+         {UINT64_C(0x9EA64D4C48403B93), UINT64_C(0x58EA31BC0B333ED5),
+          UINT64_C(0x2D6DD219C5C93119), UINT64_C(0x385023A745069280)}},
+        {{UINT64_C(0x8AB9B9EAF60C46AF), UINT64_C(0xFA1D3F08E8B827C2),
+          UINT64_C(0x78C6BFBC1BAD41DB), UINT64_C(0x527A0BED23BE0C1E)},
+         {UINT64_C(0x66212FD26ACCE641), UINT64_C(0x86125B0DEE6F78E7),
+          UINT64_C(0xA2A0271858552A8C), UINT64_C(0x594F2B777E9605C5)}},
+        {{UINT64_C(0x3FB1F6CF88A27989), UINT64_C(0xBC4962F7D96268B8),
+          UINT64_C(0xBD8761E9B95E2A36), UINT64_C(0x64AB934A046DEC63)},
+         {UINT64_C(0xC64D1C592E53CF1A), UINT64_C(0xC9865A9B578C5E8C),
+          UINT64_C(0x5ECA62327A0359DE), UINT64_C(0x127DD136FB4685E5)}},
+        {{UINT64_C(0xB0F7B0711AE320C9), UINT64_C(0x09BF89BB52525203),
+          UINT64_C(0x97B20027709C5692), UINT64_C(0x16A62485EDBF6175)},
+         {UINT64_C(0x32C18836394C50F9), UINT64_C(0x7D99468FD3B98C19),
+          UINT64_C(0x8EBE50962E8D2729), UINT64_C(0x4E75B3CCE655F093)}},
+        {{UINT64_C(0xCBEFD1A29EAE827E), UINT64_C(0xDE2D1234FBF4630D),
+          UINT64_C(0x1B3ADCF896086CDA), UINT64_C(0x43D3960E2EA6CBA7)},
+         {UINT64_C(0x18321D1D1CB5A0F7), UINT64_C(0xDC94C6F947BEABB4),
+          UINT64_C(0xFBACC6D575AF6AB7), UINT64_C(0x0EE5D35789B98E86)}},
+    },
+    {
+        {{UINT64_C(0x3F01B4AA062E0994), UINT64_C(0x994B28B05C952259),
+          UINT64_C(0x2678F8B80CDEEC70), UINT64_C(0x4D06AF84212436F3)},
+         {UINT64_C(0xE9DF52FD1CF27A98), UINT64_C(0xD56B9FD10B7718F7),
+          UINT64_C(0x728BE624D9AEDA0D), UINT64_C(0x098710881A646888)}},
+        {{UINT64_C(0xB1BC922D9B586B13), UINT64_C(0x6C084C543CA3B1BA),
+          UINT64_C(0x54D196C7CF322698), UINT64_C(0x06EC3A5585D527E1)},
+         {UINT64_C(0x069187102A57CAA1), UINT64_C(0x6AEAC07D65FD0F6B),
+          UINT64_C(0xB66A34D70F512F84), UINT64_C(0x3860C002A44E6452)}},
+        {{UINT64_C(0x17263B260881608A), UINT64_C(0x78D556AA56C18A7A),
+          UINT64_C(0xA0826A1CAC3A47AB), UINT64_C(0x61686A58B6933FF5)},
+         {UINT64_C(0xEA9D8771DBCF2C4F), UINT64_C(0x1C66EB026AB00426),
+          UINT64_C(0xF8DAED2B401C466A), UINT64_C(0x1ED0A99ADAAE8040)}},
+        {{UINT64_C(0x31EFFC4B7208E58A), UINT64_C(0x28868456B4E4319E),
+          UINT64_C(0x1059C249D46AC4DA), UINT64_C(0x3589D2122279B362)},
+         {UINT64_C(0xB28B8FAD45552E92), UINT64_C(0xC9E32541C3AB8098),
+          UINT64_C(0x82604904F14B35A1), UINT64_C(0x1E64A89FDB68C214)}},
+        {{UINT64_C(0xDF0E223DAB6947AF), UINT64_C(0xE74EF1D6771670D0),
+          UINT64_C(0x70A9AD21F429F03B), UINT64_C(0x7CB1FA1F1385B8DC)},
+         {UINT64_C(0x25ABC0A769053D24), UINT64_C(0x207FE30A6369D02E),
+          UINT64_C(0x57B76E3CC6E4EC2C), UINT64_C(0x2E03D2E3B927CAB2)}},
+        {{UINT64_C(0xEFA377FF622D57AE), UINT64_C(0x41532F56A885951A),
+          UINT64_C(0x5ED89AA7CC69B9A8), UINT64_C(0x60BFF2EC295F5E84)},
+         {UINT64_C(0x411D65C31E5C3041), UINT64_C(0xDB533F8B4B7772F8),
+          UINT64_C(0x72CADEB63BDD4AEA), UINT64_C(0x0EC79DF27C49E454)}},
+        {{UINT64_C(0x0C39332C81D0B84B), UINT64_C(0xA76A9A3A95FF472B),
+          UINT64_C(0xD12FEB9931DB2BA6), UINT64_C(0x4AAB92223683E53A)},
+         {UINT64_C(0x56CB18AF24FC6271), UINT64_C(0x671581D62544C72D),
+          UINT64_C(0xCD136492FBD6F4D1), UINT64_C(0x6C2023183579EE09)}},
+        {{UINT64_C(0xEDC5AF02C103C348), UINT64_C(0xDA32344E155A103D),
+          UINT64_C(0xFF3A7679B0D1377E), UINT64_C(0x1609197268F02750)},
+         {UINT64_C(0xD4C6360DD9E9C143), UINT64_C(0xE0ABA0EF968EE990),
+          UINT64_C(0x5781687897E4C9AE), UINT64_C(0x5A4D167B9D63E32D)}},
+        {{UINT64_C(0xB04BA52550E25802), UINT64_C(0x011DA36E66912F15),
+          UINT64_C(0x08D8B68019E0A182), UINT64_C(0x66AA4AE82E462B0F)},
+         {UINT64_C(0x3227C3A6E0B9D283), UINT64_C(0x9BF8C4D0F2B2B096),
+          UINT64_C(0x1E51416CBA809EB7), UINT64_C(0x68411B752A67D346)}},
+        {{UINT64_C(0xE55B134837A67F3B), UINT64_C(0x5E32D73C96484391),
+          UINT64_C(0xC3F804D56256B91E), UINT64_C(0x67F17A4703B0783B)},
+         {UINT64_C(0x2010EFEBDD2334AD), UINT64_C(0xBD9965B5B10FF052),
+          UINT64_C(0x519CDA6DF58ACA52), UINT64_C(0x045BEEBE2FD3D394)}},
+        {{UINT64_C(0x81722E2CEA271BCD), UINT64_C(0x393C082E0A4F1342),
+          UINT64_C(0x573F7CD553B345CE), UINT64_C(0x7AD71FE23D7B4292)},
+         {UINT64_C(0xDA406D0ADA8BECB8), UINT64_C(0x14FD41CA82FE66BC),
+          UINT64_C(0x80A410620A91DFFC), UINT64_C(0x33E38E10F4F0CDEB)}},
+        {{UINT64_C(0x0234BF382529532C), UINT64_C(0x9F5D6342A76CAE3B),
+          UINT64_C(0xC9944CB3B3C50442), UINT64_C(0x51752DF08ABFAF17)},
+         {UINT64_C(0x2BFA58C4A37B13FB), UINT64_C(0x19F80FDEDDB14951),
+          UINT64_C(0xDC7026AA7DCB927B), UINT64_C(0x57907272AAB9FCBA)}},
+        {{UINT64_C(0xCE38712DF3C046C2), UINT64_C(0x21D1FDB047B29D0E),
+          UINT64_C(0x7F746E0ECD96D414), UINT64_C(0x72F07B52636CFEA4)},
+         {UINT64_C(0x0D8FE94FECE6382D), UINT64_C(0x9BFB4CBA24229CA4),
+          UINT64_C(0xFAE55B77E54388B0), UINT64_C(0x074EBC32A188299F)}},
+        {{UINT64_C(0x8AF2EBCDE21DCCA2), UINT64_C(0x9916A6B6377487F2),
+          UINT64_C(0x607DC19AD8051D40), UINT64_C(0x7DFD53F4419DDE12)},
+         {UINT64_C(0xD17D0D619AD07924), UINT64_C(0x14F7CE0F173E266B),
+          UINT64_C(0x687FB8530281C9EB), UINT64_C(0x6B35CC1A3361B273)}},
+        {{UINT64_C(0x7CD6369E16E02DE3), UINT64_C(0x118EE0B11F35DFBC),
+          UINT64_C(0x7D8C8DBD98B3EE60), UINT64_C(0x039806FC8D29EA17)},
+         {UINT64_C(0x3C473872EC2C2597), UINT64_C(0x81294AF45E4EF521),
+          UINT64_C(0x5ED048DBC22A9D7C), UINT64_C(0x3879E95B0A08C4D4)}},
+        {{UINT64_C(0x0206E47F96A864FE), UINT64_C(0xC94F137AA55D0631),
+          UINT64_C(0x9C1B3D298E8408F8), UINT64_C(0x150A4046B9193A5E)},
+         {UINT64_C(0x4E8F9345CB1ADF21), UINT64_C(0x6ED14D8A7BD5E1F9),
+          UINT64_C(0x7082532960809F68), UINT64_C(0x0D2F1C3BFA85A06C)}},
+    },
+    {
+        {{UINT64_C(0x3C5ABE75B5C810C3), UINT64_C(0xEA2C3EF9E28F1E26),
+          UINT64_C(0xEEB1C5688BF68280), UINT64_C(0x5A165CEB7AE69110)},
+         {UINT64_C(0xE36C646044550DF1), UINT64_C(0x6FB4B108DB909258),
+          UINT64_C(0xBFA1427717D4D8C5), UINT64_C(0x744CAF23927976D8)}},
+        {{UINT64_C(0xCBE70DF947EA55C7), UINT64_C(0x8F8119AE535457AE),
+          UINT64_C(0x1E3C69EC7DAFD732), UINT64_C(0x1A2E162D39D409A2)},
+         {UINT64_C(0xBD7576A15F81C227), UINT64_C(0xA040AF9EC86AC2C3),
+          UINT64_C(0x5690C059C10FC749), UINT64_C(0x20B26E8849CFAEC6)}},
+        {{UINT64_C(0x87AEBD1EE3EF781E), UINT64_C(0xBC794A621609A1F0),
+          UINT64_C(0x96D8314226E7F61B), UINT64_C(0x5198577FFC51D17D)},
+         {UINT64_C(0xBFB5FAE28E6D0124), UINT64_C(0x91A7172BFFD5BD72),
+          UINT64_C(0x474B015402832847), UINT64_C(0x4BAF0B4C59827FEB)}},
+        {{UINT64_C(0x5EADAA8EBA090294), UINT64_C(0x51401BC911A6E9FA),
+          UINT64_C(0x78F117581D2594CD), UINT64_C(0x1811AD3082D203C2)},
+         {UINT64_C(0x554CC39A53FD07CC), UINT64_C(0x055FC983C7A05601),
+          UINT64_C(0xB3B34E95D5A80B4B), UINT64_C(0x72B4CF941819BC16)}},
+        {{UINT64_C(0x0750E4F0514FAFD0), UINT64_C(0x297D27E6AD61C7B1),
+          UINT64_C(0x701D743FA2D5D410), UINT64_C(0x535DD97BC83B55C9)},
+         {UINT64_C(0x2EE96DDE1CB11BB0), UINT64_C(0xECEA32EA0914450F),
+          UINT64_C(0x4FB812364CDBDA6A), UINT64_C(0x5B75B6B2233C8063)}},
+        {{UINT64_C(0xF0A934A6D69D6C6A), UINT64_C(0x313E89773CC80AC9),
+          UINT64_C(0x74692B171E428B71), UINT64_C(0x0474FEFCE1BE662D)},
+         {UINT64_C(0xAA2FF6DBAFFBF61B), UINT64_C(0xCE1594E1776983AF),
+          UINT64_C(0xF00C665B4D5A2596), UINT64_C(0x30DD24497D414B9A)}},
+        {{UINT64_C(0xEF862DA2ACC44AB3), UINT64_C(0xBAD6857F6EE7A44A),
+          UINT64_C(0x57674BF9D2F9027E), UINT64_C(0x4D771CC32ABF816E)},
+         {UINT64_C(0x27BEFC18AC0F1348), UINT64_C(0xD83112EF5E4F1202),
+          UINT64_C(0x3571BDE38E9AAAE5), UINT64_C(0x07284830C1379B13)}},
+        {{UINT64_C(0xA4C2F36F72A8890C), UINT64_C(0x22DF0E815824B392),
+          UINT64_C(0x50FAD77F5E720240), UINT64_C(0x1D152A6903278F96)},
+         {UINT64_C(0x25A3E92EA7D80F17), UINT64_C(0xBBF85B327EF32666),
+          UINT64_C(0xBBB5568727222E52), UINT64_C(0x756D22A67582FE42)}},
+        {{UINT64_C(0x0AE7493A9BC9EAED), UINT64_C(0x9185F53F0DDBB275),
+          UINT64_C(0x1585D068C3DFDBA7), UINT64_C(0x543208A1562E2455)},
+         {UINT64_C(0x4C417D81CBCF9535), UINT64_C(0xD2DC38D3E35DD6ED),
+          UINT64_C(0x9DF1E014346F03A4), UINT64_C(0x65736E3FF0E772A6)}},
+        {{UINT64_C(0x58684A7BCFB7FF06), UINT64_C(0x72CC4AFEC58E6316),
+          UINT64_C(0x2CA9BF30A8BB508A), UINT64_C(0x61576519E2044C8C)},
+         {UINT64_C(0xE78FAD3D8FF6D2B5), UINT64_C(0x6E5B839FA934C7B2),
+          UINT64_C(0xC1F3D367FAFA9F9B), UINT64_C(0x637CC398F8B2AFA4)}},
+        {{UINT64_C(0xD6FC1806FE2B2639), UINT64_C(0x1DB199B49E98A7F2),
+          UINT64_C(0x0508763DC794F900), UINT64_C(0x363F1F7D3232E5AC)},
+         {UINT64_C(0xDCF2AD74BBDBB351), UINT64_C(0x91F2EAF15A506BC6),
+          UINT64_C(0xBDE8459EB850088B), UINT64_C(0x52DF883B3E1135AF)}},
+        {{UINT64_C(0x12FD053AF93779DC), UINT64_C(0x3E3D87289E319E46),
+          UINT64_C(0x4D631005E5E360AE), UINT64_C(0x4A8B5683B1B29A30)},
+         {UINT64_C(0x305E5E53A8CA45EF), UINT64_C(0x59EACB45C2914843),
+          UINT64_C(0x83677B7A1988ECEA), UINT64_C(0x63D9CD36D6FD53E8)}},
+        {{UINT64_C(0xDF2DACF2B77EB45F), UINT64_C(0x3C1303E355BBA70E),
+          UINT64_C(0x5AB8EB424526A06C), UINT64_C(0x4D4FD2167FE06BBC)},
+         {UINT64_C(0x98C5ADCFE1486ABC), UINT64_C(0x9A503BFF07F86F3A),
+          UINT64_C(0x7CEBAECB56282E44), UINT64_C(0x4FB090371F230DA0)}},
+        {{UINT64_C(0xD1A3738427210752), UINT64_C(0xD10794D602CF1C74),
+          UINT64_C(0x48A2095A820CC08C), UINT64_C(0x6DCDDE2EE3284B9D)},
+         {UINT64_C(0xB8C7203E5D40510D), UINT64_C(0x957E89825385E3A7),
+          UINT64_C(0xD220BE2FE27D7C13), UINT64_C(0x2D104AC57B471B5B)}},
+        {{UINT64_C(0x3B31D52BBA0AFA8D), UINT64_C(0xFA9639F5DCC85F88),
+          UINT64_C(0x150146378861DDD7), UINT64_C(0x31C222DB7B5443B0)},
+         {UINT64_C(0xE2618546C3CDD689), UINT64_C(0x7F3FB754D528A130),
+          UINT64_C(0xA0915810AC5FAF99), UINT64_C(0x3863B890E9899CE5)}},
+        {{UINT64_C(0xBDD42CA3579C4353), UINT64_C(0xAD30567D4D65CB5B),
+          UINT64_C(0x0E343F216D91810B), UINT64_C(0x65E0092D42E19816)},
+         {UINT64_C(0x76154DCCF84E8C8E), UINT64_C(0xBA147CA80BA4AE59),
+          UINT64_C(0xCA8085E756A1A71E), UINT64_C(0x1D90B4B01A158536)}},
+    },
+    {
+        {{UINT64_C(0x5C4B7438F8B6C26A), UINT64_C(0x0C17A41B645BBE80),
+          UINT64_C(0xA386062D40CF3D85), UINT64_C(0x563E42D2E78F776D)},
+         {UINT64_C(0x4BB8E3561F07459B), UINT64_C(0xF01A24B775D222CD),
+          UINT64_C(0xBE3D032B24CF3F61), UINT64_C(0x759B01670AD5F3A3)}},
+        {{UINT64_C(0x2F5AEBD17D201AAB), UINT64_C(0x7B14CBEEC0AE02AD),
+          UINT64_C(0xB9B54430EDC6388B), UINT64_C(0x69E713FBB622E01F)},
+         {UINT64_C(0x4630EE8EC5361565), UINT64_C(0x6705961E5C8FB479),
+          UINT64_C(0x125CC97E07C2AA45), UINT64_C(0x4BC459F425AE3B12)}},
+        {{UINT64_C(0xEF02549628CF94E4), UINT64_C(0x04CFAB259DB24DE6),
+          UINT64_C(0x52B8C734C62254EF), UINT64_C(0x0F2FE922568AB164)},
+         {UINT64_C(0x48551A05E3F39B40), UINT64_C(0x4A36865F31A7C7F6),
+          UINT64_C(0x4486512C840441AE), UINT64_C(0x559C6CAF8C7C4B4D)}},
+        {{UINT64_C(0xFCC0D1DA0F103030), UINT64_C(0x7A9F1D5539CD584E),
+          UINT64_C(0x3EFB9B94681D0D37), UINT64_C(0x3AE97CCD4D842332)},
+         {UINT64_C(0x85A8ECE13C03676B), UINT64_C(0x030F87753AD435A1),
+          UINT64_C(0xF6019B4D7F2D73B5), UINT64_C(0x6B77E31A2F14F911)}},
+        {{UINT64_C(0x65C8161B9186C671), UINT64_C(0x412C3CC7CDFF2F8C),
+          UINT64_C(0xBFFC17192C2FEA33), UINT64_C(0x75DCF68BC3675845)},
+         {UINT64_C(0x0476AFBF3B23D576), UINT64_C(0xB20CAEE219315F79),
+          UINT64_C(0x1BC2A8590885471A), UINT64_C(0x410FF6CFC328279C)}},
+        {{UINT64_C(0x327394D960569D94), UINT64_C(0xFF2AEB6A6EA39D95),
+          UINT64_C(0x1BED71E8EA0CA3AE), UINT64_C(0x1000A81E21072A94)},
+         {UINT64_C(0x368EA22973C02416), UINT64_C(0xDF5B2A420A4941BC),
+          UINT64_C(0x4FFDC7B8D0D40B3A), UINT64_C(0x7B2C73F148ABAB4E)}},
+        {{UINT64_C(0x90FE34E481EE1072), UINT64_C(0xAE7A2FF4310E13D8),
+          UINT64_C(0x6213D3B1CAB3927C), UINT64_C(0x44936FBD7DC7E9EF)},
+         {UINT64_C(0x3B898EF323A1BDBE), UINT64_C(0x3FA6C6A054CC7B1D),
+          UINT64_C(0x41BCC3B5C6AC54F2), UINT64_C(0x1AB5D168DC10AE39)}},
+        {{UINT64_C(0x1AED113CFEAF67A6), UINT64_C(0x04E3C7A1342AC459),
+          UINT64_C(0x65A392787A99DFBC), UINT64_C(0x03ECBC6B642329FF)},
+         {UINT64_C(0x799F4EC5A6A4421A), UINT64_C(0x44522C26BEE18B3C),
+          UINT64_C(0x1C7BFF151975C4BB), UINT64_C(0x0FAA03BEE6A27857)}},
+        {{UINT64_C(0x173AB9E00743FF7B), UINT64_C(0xB11187AE2CFC95AE),
+          UINT64_C(0xCA81BB2E9C112049), UINT64_C(0x6B811DB6C03555D5)},
+         {UINT64_C(0x76C1FC144FE32256), UINT64_C(0xDA8C5A96D0E47C4E),
+          UINT64_C(0xB645D41329FDB01C), UINT64_C(0x78898447AC39502A)}},
+        {{UINT64_C(0x4285FF329BF44B35), UINT64_C(0x207F9029E3358C7F),
+          UINT64_C(0x0FE8F03263BAF4CE), UINT64_C(0x698A0398FF15E1F7)},
+         {UINT64_C(0x548748437E572DF6), UINT64_C(0x746835199F43C07B),
+          UINT64_C(0x47BAB49E0A433D6A), UINT64_C(0x09ED8740FAB5C858)}},
+        {{UINT64_C(0x8AA5E5C91F6CA820), UINT64_C(0xAD290A94D3C25BEC),
+          UINT64_C(0xDC4C67BF3BA255F0), UINT64_C(0x0D7EF7D91DEDD8A9)},
+         {UINT64_C(0x0831A26F5EEFD1C3), UINT64_C(0x78CA66F504483E0C),
+          UINT64_C(0x9D5A56122FAAC15A), UINT64_C(0x43B0C7E75D6FACDB)}},
+        {{UINT64_C(0x34BA537C4503899D), UINT64_C(0x9DEBC8F52AF8ED3B),
+          UINT64_C(0x396995E984F416E6), UINT64_C(0x77F10FEDC7BCE392)},
+         {UINT64_C(0x065CCB721F8AF262), UINT64_C(0xE220ED60D2F00FC4),
+          UINT64_C(0x41A5FB065EE25B46), UINT64_C(0x22505574DD9070B1)}},
+        {{UINT64_C(0x571FF15144BFC5C0), UINT64_C(0xBE2558B83138363C),
+          UINT64_C(0xB2211ABD605E356C), UINT64_C(0x0B6435DA176C5F53)},
+         {UINT64_C(0xF18C917C8DCF484E), UINT64_C(0x45D4120CCD93D65F),
+          UINT64_C(0xEBB0BF9C190AE7F8), UINT64_C(0x3D403DE28D8C8D5A)}},
+        {{UINT64_C(0xCDE760B4BE656644), UINT64_C(0x99DC5E6D2D21DBC5),
+          UINT64_C(0x644FCAF3B6232D08), UINT64_C(0x52955488859341E3)},
+         {UINT64_C(0x3AB4580D25763919), UINT64_C(0x82AB0C534EF66999),
+          UINT64_C(0xBD395C740180663E), UINT64_C(0x07974F1AB4756474)}},
+        {{UINT64_C(0x8C15CFE731588EA6), UINT64_C(0x9629060EF36C882D),
+          UINT64_C(0xDF8E8E9E862B080D), UINT64_C(0x0BD36B48D7A0C5BE)},
+         {UINT64_C(0xEBD0C6C976DA047B), UINT64_C(0x4F0F08ABBB94FD5A),
+          UINT64_C(0x33D41A4E74910D9F), UINT64_C(0x3D6F8D0BA9583754)}},
+        {{UINT64_C(0xEC4C896E4E4FC72E), UINT64_C(0xB111210C002ECE31),
+          UINT64_C(0x7204D9372AF11E21), UINT64_C(0x59B9C1EC5D0509E9)},
+         {UINT64_C(0xBC97644CF9D5BBC0), UINT64_C(0x25B123AF31B4E869),
+          UINT64_C(0x091D7AEC5A6CAAB0), UINT64_C(0x340B9E80ECC911C4)}},
+    },
+    {
+        {{UINT64_C(0xE8036B20EC208406), UINT64_C(0xAF46A05A214CEB5A),
+          UINT64_C(0x8672084A46CC8379), UINT64_C(0x7DE0A42F04BA7885)},
+         {UINT64_C(0xB772BEDCC9D3F32A), UINT64_C(0x7DAE3680534B1520),
+          UINT64_C(0x04CD6203EC7120CC), UINT64_C(0x032F88E3B4E99780)}},
+        {{UINT64_C(0xB34BDA5CE4A0897E), UINT64_C(0xF7748B26379B2480),
+          UINT64_C(0xF47F6646B2D97522), UINT64_C(0x66AD8DE1F9641DB9)},
+         {UINT64_C(0x0F8EB919D1BF09C0), UINT64_C(0x7853BB4EB95DC052),
+          UINT64_C(0xBE7EE13D62B1FD4A), UINT64_C(0x2FF7EDC5DC7CE53E)}},
+        {{UINT64_C(0xE1009AA0EE81DF35), UINT64_C(0x14972F0261D0798B),
+          UINT64_C(0x5A6831A0F1EA1A6A), UINT64_C(0x1DBABA3D0CAB301A)},
+         {UINT64_C(0x421270E2157D5213), UINT64_C(0xA37BEA956407B790),
+          UINT64_C(0xEAD56B1F103A6073), UINT64_C(0x27534624BAD909F1)}},
+        {{UINT64_C(0xC92D2209C2621EF1), UINT64_C(0x450710C31D3AD3F3),
+          UINT64_C(0x8CFB8D6C19E481AD), UINT64_C(0x35CACDAEE6DB01BD)},
+         {UINT64_C(0x2DA4A1D87CDD5B01), UINT64_C(0x3E40C7510F55BA11),
+          UINT64_C(0xA91D9EE7B15C162D), UINT64_C(0x13AD3BE511DBA157)}},
+        {{UINT64_C(0xAE417DB0E72F64F5), UINT64_C(0x40822279F13352BA),
+          UINT64_C(0xEC43AFD91F2B75B9), UINT64_C(0x14D4BB2BC9CF2972)},
+         {UINT64_C(0x4A55718A0761B2F1), UINT64_C(0xDAFBF756D81A9307),
+          UINT64_C(0x2DCDFC1C5D3E5A07), UINT64_C(0x696E42ED2EBBDF28)}},
+        {{UINT64_C(0xF473939968705410), UINT64_C(0xFD581005AF5FFC88),
+          UINT64_C(0x5490A69490A9F517), UINT64_C(0x4A5C8C2E8CF8327E)},
+         {UINT64_C(0xC203CD35F7D83DA6), UINT64_C(0xECAA6B907282368D),
+          UINT64_C(0x365BB5712AF7EC42), UINT64_C(0x112E7ACDD4099316)}},
+        {{UINT64_C(0x9ABDE0603AE3C25C), UINT64_C(0xE4C03DADEB9925B2),
+          UINT64_C(0x3C28DCB19E03388B), UINT64_C(0x2337A7CF52B63C06)},
+         {UINT64_C(0x74DC0F134E1AF2EA), UINT64_C(0xA010E4E3CD0D59AA),
+          UINT64_C(0x6E4DB7BA9FA14C96), UINT64_C(0x5B2C3862557F7CDE)}},
+        {{UINT64_C(0xC826E567C8C79CA9), UINT64_C(0xE7D110CAE851BE0C),
+          UINT64_C(0xFFD57057A3606499), UINT64_C(0x2E9DBC40C6482504)},
+         {UINT64_C(0xC9F0C3C2F784D9AF), UINT64_C(0xDD982A05B755172E),
+          UINT64_C(0x6BC6C19DA023997F), UINT64_C(0x4AC177BEE34493C6)}},
+        {{UINT64_C(0x21C3E0874FA4F134), UINT64_C(0x66E10C3486F9722F),
+          UINT64_C(0xD2927B017398579A), UINT64_C(0x7135B6380352C3D3)},
+         {UINT64_C(0x2DA620073BB5EE11), UINT64_C(0x8B64F13C3A946236),
+          UINT64_C(0x3A83C85430EAE6DF), UINT64_C(0x31114E2A0EB6F749)}},
+        {{UINT64_C(0x2C7B52E735BFC72B), UINT64_C(0x6DD29EBD2B0D4C2C),
+          UINT64_C(0xE90D39886C92E82D), UINT64_C(0x0A9249013864D94D)},
+         {UINT64_C(0x630508249BEE9E78), UINT64_C(0x7929FD62003DD5CF),
+          UINT64_C(0xD04F832CE57507D1), UINT64_C(0x61078BDC37D2C32E)}},
+        {{UINT64_C(0xB118AFDD2E75264A), UINT64_C(0x3AB692EAEFD65114),
+          UINT64_C(0x58D2CE248B0A2128), UINT64_C(0x4316E6C282ED6D5F)},
+         {UINT64_C(0x97766FFF46345BE4), UINT64_C(0xD7FF30140A7451AA),
+          UINT64_C(0x078A423FAACE2E37), UINT64_C(0x7F1F90C2A6A78919)}},
+        {{UINT64_C(0x988FCCB08E9E3D4D), UINT64_C(0xBD003FC0B95C9731),
+          UINT64_C(0x74E40076B0A84E58), UINT64_C(0x5FD1DBE61DF7FDD0)},
+         {UINT64_C(0xD2C700C74E6CE2FA), UINT64_C(0xA6E042E2903C5AE7),
+          UINT64_C(0x561CC25F3C73822E), UINT64_C(0x651A79392A6A0C0C)}},
+        {{UINT64_C(0x103E9EC688CD7642), UINT64_C(0x65ED52183C3C86CE),
+          UINT64_C(0x16BAB00282785C8B), UINT64_C(0x0B5C18BBF34723C5)},
+         {UINT64_C(0x528B0546E724D144), UINT64_C(0x5E582A6B780EEF9E),
+          UINT64_C(0xC08283B8122F17AD), UINT64_C(0x0300EDCD1C22F32D)}},
+        {{UINT64_C(0x03AC716A38DCFD39), UINT64_C(0xCD88474C94F12C74),
+          UINT64_C(0xB5E8641EE9042CA8), UINT64_C(0x1D5746CC40D10558)},
+         {UINT64_C(0x7869F45ECB4BB408), UINT64_C(0x28FB091D569489C3),
+          UINT64_C(0xEA371EEC50A46306), UINT64_C(0x2802579675AA224C)}},
+        {{UINT64_C(0x4EAFA44EF7A5923A), UINT64_C(0xD2427C306B69FD8B),
+          UINT64_C(0x4C4E884A393D83F9), UINT64_C(0x2D34890A6236AB65)},
+         {UINT64_C(0x80038D4035CC97F5), UINT64_C(0x4FE43C8497897472),
+          UINT64_C(0xE5F56243BEF161AF), UINT64_C(0x3E1BDD6F9372E631)}},
+        {{UINT64_C(0x06A2B2875732669F), UINT64_C(0x92D00397CDF4D2C0),
+          UINT64_C(0xCD9A25F0454A57F5), UINT64_C(0x23ADB7242F0CDB0B)},
+         {UINT64_C(0x504DA603FF0F8CB0), UINT64_C(0x14EF9D30D3E24181),
+          UINT64_C(0xB1B1328E47FC1E66), UINT64_C(0x319B2A846C60354D)}},
+    },
+    {
+        {{UINT64_C(0xBBF5542EF1D56038), UINT64_C(0xEDE3E637DD71CFC3),
+          UINT64_C(0xFAA81D212E9F6C8B), UINT64_C(0x4DD2D44B69FBD060)},
+         {UINT64_C(0x71FB623314366A20), UINT64_C(0x155E486F9575451D),
+          UINT64_C(0x001106F0EC7807D9), UINT64_C(0x1C80E5ABC617034C)}},
+        {{UINT64_C(0xD3E478DB8619F5F4), UINT64_C(0x1DF5C367F68170C2),
+          UINT64_C(0xEAB095243430DE1D), UINT64_C(0x48F09361C3CD4C24)},
+         {UINT64_C(0xE49DEA4B60644FED), UINT64_C(0x47170F1C758C3679),
+          UINT64_C(0x4CC1E6E8B0382A84), UINT64_C(0x2DBDB9DA10A4465E)}},
+        {{UINT64_C(0x67BAA79AC8400A4C), UINT64_C(0xFA30675301D28ECE),
+          UINT64_C(0x29DB5B1C6F33289C), UINT64_C(0x4475757326A8FCB4)},
+         {UINT64_C(0x59616219E1B0A795), UINT64_C(0x3032D939C5B32FA0),
+          UINT64_C(0x3010C9177C3CEA2C), UINT64_C(0x5CF83EF19892BDF4)}},
+        {{UINT64_C(0x55DE11413C7E83E6), UINT64_C(0x9D03929C74EA0366),
+          UINT64_C(0x5CA60C5083BAF3FE), UINT64_C(0x3D9BCA587F70E905)},
+         {UINT64_C(0xDB79DF5AFCC5AB59), UINT64_C(0x03CFCF0653F68D30),
+          UINT64_C(0xBE101A784FCFA5F1), UINT64_C(0x115D7078B49E493C)}},
+        {{UINT64_C(0xF14023AA76A0CCBD), UINT64_C(0x4287F0BC086F2E50),
+          UINT64_C(0xC5EAA559F79A37E7), UINT64_C(0x5D527C0904E4F2A2)},
+         {UINT64_C(0xEC91461651DAA504), UINT64_C(0x250D90C6EEF1DC95),
+          UINT64_C(0x1B0AA868A50330B2), UINT64_C(0x7B45A78354189BBE)}},
+        {{UINT64_C(0x0D602E05F019D6FF), UINT64_C(0x563E3893DD1800BA),
+          UINT64_C(0x7146727EF3C7F7E5), UINT64_C(0x59641D984B026635)},
+         {UINT64_C(0x50BCF90FE91DDBB8), UINT64_C(0x5D43E78E7F8397A6),
+          UINT64_C(0x8734A261EB15896E), UINT64_C(0x4AD1E8649FF6B361)}},
+        {{UINT64_C(0x1A9B601F320322F1), UINT64_C(0x606D40B391F611C4),
+          UINT64_C(0xB984958BA19C918F), UINT64_C(0x67BFB045776F834E)},
+         {UINT64_C(0xC59E556968DD85F0), UINT64_C(0xB5642834D4067875),
+          UINT64_C(0x247E7D65CB138DF3), UINT64_C(0x73640A035CB9281D)}},
+        {{UINT64_C(0xC7C34CCC88639889), UINT64_C(0xD9E44E07A785C707),
+          UINT64_C(0x1BE68EFE32F83073), UINT64_C(0x249902DAAE5317CE)},
+         {UINT64_C(0xF1F0B86A76CA92FF), UINT64_C(0xA7F502CFC01CB06B),
+          UINT64_C(0x0A8B4766595AA185), UINT64_C(0x614135AAB792DE49)}},
+        {{UINT64_C(0x5392CAA7564F2BC8), UINT64_C(0x1CDDA684CC894FCD),
+          UINT64_C(0x10AC2378A4EBF82F), UINT64_C(0x6211EA465051BFF9)},
+         {UINT64_C(0xE53B017430E8E210), UINT64_C(0x2374FEC302C0E381),
+          UINT64_C(0xF8B1506B4DA07224), UINT64_C(0x4E451E0154DA7A08)}},
+        {{UINT64_C(0xA8404D9C241FC7FB), UINT64_C(0x1D6DBF6EC4406332),
+          UINT64_C(0xFE14231930162118), UINT64_C(0x69DE75CCA7EF5EF5)},
+         {UINT64_C(0x008D4D09856E26A5), UINT64_C(0x2BC64B65C588ECF6),
+          UINT64_C(0x7A523D0BAA01EE19), UINT64_C(0x213EF390932F0B95)}},
+        {{UINT64_C(0xA42FE5131CD716FA), UINT64_C(0xFB13B3C60E8001B6),
+          UINT64_C(0xBFDC7998D8F530CB), UINT64_C(0x04F9C05BF1C61761)},
+         {UINT64_C(0xFB57396FAFED9D64), UINT64_C(0x28CCEE3A421AC123),
+          UINT64_C(0x32590C9BF6C21ACC), UINT64_C(0x503B97CBBCA75AE3)}},
+        {{UINT64_C(0x745208BC366946ED), UINT64_C(0xA75D88E94C906596),
+          UINT64_C(0x03A30C7EEE043530), UINT64_C(0x5C67C151D11BF4D5)},
+         {UINT64_C(0x04F75DFAE7AE4BB3), UINT64_C(0xA08136067F8D7404),
+          UINT64_C(0x8B9F921019D68F64), UINT64_C(0x5AB6797106F73B55)}},
+        {{UINT64_C(0x08064C4AB0687095), UINT64_C(0x27E30DDDB0106DF4),
+          UINT64_C(0x31D29C708482524A), UINT64_C(0x65DD5896D86FDACD)},
+         {UINT64_C(0x081C013DC647197E), UINT64_C(0x51C10B9ED7A53A45),
+          UINT64_C(0xACB9A4DE0DD7FC53), UINT64_C(0x639997A2F646220B)}},
+        {{UINT64_C(0x97CCF8251FB93B43), UINT64_C(0xB7D7713DE488D786),
+          UINT64_C(0x4F7595663E4DBB33), UINT64_C(0x13B5D8A1E0F09964)},
+         {UINT64_C(0xFFDDAD74316CDD97), UINT64_C(0x67C5578252C92EE9),
+          UINT64_C(0x03B50F940AC5D6FD), UINT64_C(0x56C5C0091484DF88)}},
+        {{UINT64_C(0xDCE199E31778D303), UINT64_C(0x53A2A4C60F1DD4EC),
+          UINT64_C(0x7CC5EE9E370A7B99), UINT64_C(0x4403202B2598744E)},
+         {UINT64_C(0xCCFAA978228247B6), UINT64_C(0xF50D14BD4A1D0E27),
+          UINT64_C(0x6669506180723ABC), UINT64_C(0x750CCB6A742C0015)}},
+        {{UINT64_C(0x7B04693681A109F1), UINT64_C(0x6414D9A3D4C1AFE5),
+          UINT64_C(0x35070548DD14AC1F), UINT64_C(0x27172F39DEC0D3F0)},
+         {UINT64_C(0x4EE0A7BFF2E273F0), UINT64_C(0x028C7813EC82B8E6),
+          UINT64_C(0x907BF09F2081EAE2), UINT64_C(0x72E4C3D3414D6421)}},
+    },
+    {
+        {{UINT64_C(0x2064097EA073711C), UINT64_C(0x980D830A5A65EC25),
+          UINT64_C(0x7906A87CF0877567), UINT64_C(0x3E5EAE10F1980A3A)},
+         {UINT64_C(0x5F51023A9272CE32), UINT64_C(0x71D69E68A437C974),
+          UINT64_C(0x32006EA1D0B579FF), UINT64_C(0x191935FFA436E129)}},
+        {{UINT64_C(0xE5FE290991C1474C), UINT64_C(0x7350B9FA1F0B10F5),
+          UINT64_C(0x2006F41D6B4AB128), UINT64_C(0x4EBDA6CFCD95FA42)},
+         {UINT64_C(0x450289385DA9A7F4), UINT64_C(0xD8129DE457FB462B),
+          UINT64_C(0x4F2BF2C9E592EF90), UINT64_C(0x14A1A16BD6751DCC)}},
+        {{UINT64_C(0x7460BB84DE0CD47A), UINT64_C(0x261F24D6468CBA3D),
+          UINT64_C(0x229D31811E3C2D8A), UINT64_C(0x4AE520C91D19E059)},
+         {UINT64_C(0x5AC3AEE7DF8DC66E), UINT64_C(0xCB417060299697EE),
+          UINT64_C(0x227C1497CE97514F), UINT64_C(0x2589B8032E991FDE)}},
+        {{UINT64_C(0x7FE9D585A97A5D03), UINT64_C(0x7333A1EF10D58157),
+          UINT64_C(0x54C1CCD2C94C3DF6), UINT64_C(0x25C1B25228073B4E)},
+         {UINT64_C(0xEEB29AF90635AD79), UINT64_C(0x880019C19AA38848),
+          UINT64_C(0x1A85994230A9A497), UINT64_C(0x57EDCC2D92B25ABA)}},
+        {{UINT64_C(0xA98DAE7D65E19DE6), UINT64_C(0x8007DD1746AD8696),
+          UINT64_C(0x61F2E2CFA7F3BBAD), UINT64_C(0x1EFCD38754193858)},
+         {UINT64_C(0xFB54FD6011666ECF), UINT64_C(0xD97EA5DF36E7D371),
+          UINT64_C(0x944CA1703B9371FF), UINT64_C(0x32A52CAC05DE7FB0)}},
+        {{UINT64_C(0xB960FFF619ED8B5E), UINT64_C(0xFD6B4C3E660354BB),
+          UINT64_C(0xF8ECAADA1C9E95F0), UINT64_C(0x687A6D29A8E08CC7)},
+         {UINT64_C(0xD38B7670C6A83D12), UINT64_C(0x1646064C1265BF30),
+          UINT64_C(0x7DE19FFE2464892D), UINT64_C(0x05B57E081BDBB729)}},
+        {{UINT64_C(0xF3586B04FFB7A98A), UINT64_C(0xF1850CDCCB072826),
+          UINT64_C(0xFA3E66A4CF53BFB0), UINT64_C(0x7C78E56706E07221)},
+         {UINT64_C(0x21E6F2453B4E72AE), UINT64_C(0x10A0D78BC6A3DBE8),
+          UINT64_C(0xB9FC6D77D618DDAB), UINT64_C(0x33092D1376951DE5)}},
+        {{UINT64_C(0xCAA1BF9D5A0257CB), UINT64_C(0x1044E224866C505F),
+          UINT64_C(0x9B51410781482E7D), UINT64_C(0x538CB86788940BFB)},
+         {UINT64_C(0xACE68B78AC21DCC1), UINT64_C(0x57942F3C1609BF8C),
+          UINT64_C(0x30A47F3266E48C7A), UINT64_C(0x170D301DB0DA341F)}},
+        {{UINT64_C(0x19643EB218ED9863), UINT64_C(0xBBE55BCCD9104F33),
+          UINT64_C(0x77008B6CA15B283C), UINT64_C(0x2A6E0B41873A6A02)},
+         {UINT64_C(0x517410DF3CB9A225), UINT64_C(0x20D76E38F538730A),
+          UINT64_C(0x76C9CAD69F8724F0), UINT64_C(0x588BA1066BE9A035)}},
+        {{UINT64_C(0xA059DBECF842F66C), UINT64_C(0x59CA186DB3ED0481),
+          UINT64_C(0xA5B2ABCBD454490F), UINT64_C(0x4A0F600402624902)},
+         {UINT64_C(0x45AF7B514D2F605F), UINT64_C(0x57E8FE0FC368030F),
+          UINT64_C(0x23B745570C0727AE), UINT64_C(0x7E91EC772B603EC4)}},
+        {{UINT64_C(0xEDD284CFFD582BE8), UINT64_C(0x3077CB2381093CDA),
+          UINT64_C(0xB1934840FDEA4FCE), UINT64_C(0x00F9B9D1D7F01C9A)},
+         {UINT64_C(0xA55E5C5B0A1C707B), UINT64_C(0x05CD73CB2F8618A5),
+          UINT64_C(0x7327CECB512EEA05), UINT64_C(0x5130A0998BF2A4D5)}},
+        {{UINT64_C(0x34D18880FA7A1C7B), UINT64_C(0x5E0D6C53FD4E043F),
+          UINT64_C(0xB4DD80101B4442AE), UINT64_C(0x59D9183E78ED7563)},
+         {UINT64_C(0x624DDAFCF1FAE158), UINT64_C(0xC08C36535C4C1E92),
+          UINT64_C(0x452FD71FCE3E42EF), UINT64_C(0x175B490820B902EC)}},
+        {{UINT64_C(0x5F0FDF2418F4CE34), UINT64_C(0xA64A30119B7E61B8),
+          UINT64_C(0x8109ACD5663362E2), UINT64_C(0x4D02F82497F3DF44)},
+         {UINT64_C(0x2CE27CCE3A4F916A), UINT64_C(0x4A4E6CBB3B85B146),
+          UINT64_C(0xFE7A6199DB8C9E5E), UINT64_C(0x53F5D620D94B8D23)}},
+        {{UINT64_C(0x37FEBEC3E77610A9), UINT64_C(0xE82D8EAC92245CB0),
+          UINT64_C(0x3FD2CEEAF79A31BC), UINT64_C(0x277ACF32B446850C)},
+         {UINT64_C(0xD89FF4C7CE1A2786), UINT64_C(0x441781E5FFD3A23C),
+          UINT64_C(0x7876EFC507E85496), UINT64_C(0x0F306C7BE6F41B30)}},
+        {{UINT64_C(0x3BF2BFD15AB1B92B), UINT64_C(0xDCC3F5A6F373FCF2),
+          UINT64_C(0x27CFC4A6DA53C229), UINT64_C(0x5885737C508E677F)},
+         {UINT64_C(0x1275D0F17B829F24), UINT64_C(0xBD3C0B024991B75B),
+          UINT64_C(0x3F82ACDFE581C569), UINT64_C(0x123294353F28904E)}},
+        {{UINT64_C(0xCF7BDCCC99C3A09B), UINT64_C(0x191911075F7D601A),
+          UINT64_C(0xA82F746039FBAA22), UINT64_C(0x3105A6FCD75B5786)},
+         {UINT64_C(0x9673DAC4932F69A6), UINT64_C(0xF5664B25B57D6EE6),
+          UINT64_C(0x1EDAC1120A3CDD3E), UINT64_C(0x3CF84F8C42778563)}},
+    },
+    {
+        {{UINT64_C(0xE36FD1B765DE3040), UINT64_C(0x240EADEA8AA0D3FE),
+          UINT64_C(0x769714317F77F804), UINT64_C(0x6FCC933E591E9694)},
+         {UINT64_C(0x3218D92B18F48742), UINT64_C(0x215F13E95E1B4001),
+          UINT64_C(0xCDF333CD7A8D69B9), UINT64_C(0x14F159B1D2FD134F)}},
+        {{UINT64_C(0x2D1228D607A50C16), UINT64_C(0x0DFD80F629AE42FD),
+          UINT64_C(0x6C18B122BB8F3512), UINT64_C(0x0FE61243303F3DCA)},
+         {UINT64_C(0x43A29F4DDA50709B), UINT64_C(0x3FF58C084B92BF7B),
+          UINT64_C(0x62DC6B41DFCEF797), UINT64_C(0x43F9525AC7B83F32)}},
+        {{UINT64_C(0x17EBBC9A15F08F5B), UINT64_C(0xBCD3B6408BB3E932),
+          UINT64_C(0xD46FBB9F510BBD36), UINT64_C(0x389ABBA8CF65442B)},
+         {UINT64_C(0x3A3DAFE4B575545C), UINT64_C(0x6AB985ECE1D0994D),
+          UINT64_C(0xCC2A697B69E1DB27), UINT64_C(0x0D483E18271581DC)}},
+        {{UINT64_C(0x380D4095C046D968), UINT64_C(0x5303975555D3318B),
+          UINT64_C(0x57FA762991CE6FFC), UINT64_C(0x0A0F2885A4ADB641)},
+         {UINT64_C(0x8B99AF1B6E5C2909), UINT64_C(0xBDFE7FFDB8794175),
+          UINT64_C(0x2CFB948A795ED786), UINT64_C(0x11FE74650FD0DF66)}},
+        {{UINT64_C(0xFC2CC2BD22E152E2), UINT64_C(0xCF6AB96BE30BCEB3),
+          UINT64_C(0xAE89C041BC89B689), UINT64_C(0x6813430CE7523AB6)},
+         {UINT64_C(0x3F49E72840A4FA33), UINT64_C(0x025DE1B7857CB0C9),
+          UINT64_C(0x6D71465A11EA5EA5), UINT64_C(0x6651F7B946C8D7CB)}},
+        {{UINT64_C(0xD05F1DCE5268098F), UINT64_C(0x891DBB680DC75030),
+          UINT64_C(0xD939E428EA916291), UINT64_C(0x5F8EECCCEA37D060)},
+         {UINT64_C(0x885F1EA88DC5D544), UINT64_C(0xFD3B3D1757E7448F),
+          UINT64_C(0x5FC791A879531DE0), UINT64_C(0x780C1AAF42E66DAA)}},
+        {{UINT64_C(0x19697778397BB28F), UINT64_C(0x5EC31D44AAA9069D),
+          UINT64_C(0xDC2DFEAA3CA24A6F), UINT64_C(0x3F66CFCA80BED770)},
+         {UINT64_C(0x2B6B82151A102662), UINT64_C(0x44B4D7A4C5D34CEB),
+          UINT64_C(0x17E0FDE688AFECF2), UINT64_C(0x0DEFA14BCFF8D214)}},
+        {{UINT64_C(0x14035AA48365CA84), UINT64_C(0x309CEEF0197CE2B7),
+          UINT64_C(0x21305426ED39AF37), UINT64_C(0x10D01D11D2EA583A)},
+         {UINT64_C(0x3F2E97499FA5C766), UINT64_C(0x98357584D70549D4),
+          UINT64_C(0x8FF80803D279946D), UINT64_C(0x53DBC43399DF1253)}},
+        {{UINT64_C(0x1D0D9EFA5329F12F), UINT64_C(0xBC9F74CFBE1F007F),
+          UINT64_C(0xD7F2AA9A18EE4DBC), UINT64_C(0x634BF4CF3A792753)},
+         {UINT64_C(0xD5DC72AD2FA6255A), UINT64_C(0xEE69EA43F3BC00C5),
+          UINT64_C(0xEA930F61D8147A1A), UINT64_C(0x25E1368DF4E9AD37)}},
+        {{UINT64_C(0x9422AAF7B7C955EC), UINT64_C(0x7C7107616A74D634),
+          UINT64_C(0x4ED89932305EE420), UINT64_C(0x07E422122E937289)},
+         {UINT64_C(0x7EBB231328566C88), UINT64_C(0xC7ED9C7AC27ED656),
+          UINT64_C(0xF77F3873BF14FB3B), UINT64_C(0x447AA1E5EB957520)}},
+        {{UINT64_C(0x3E3CEC7EB5C5E016), UINT64_C(0xB33DDFF7BDE44D26),
+          UINT64_C(0x2056E9C766E820DD), UINT64_C(0x21A9E5D4F8196FE2)},
+         {UINT64_C(0x86CB0A1788040C97), UINT64_C(0x18AD8AE7FF515D49),
+          UINT64_C(0xCB8A564A226A400A), UINT64_C(0x6DB489798B72A0D2)}},
+        {{UINT64_C(0x4365074B6324DED2), UINT64_C(0x9EFB5CC6AEDAF0F8),
+          UINT64_C(0xCF952C3CC0792B14), UINT64_C(0x70B82AB997ED965E)},
+         {UINT64_C(0x931B98863ACEBCE7), UINT64_C(0xDA85049118C2425A),
+          UINT64_C(0xD88E1E27E499F7FB), UINT64_C(0x61D3F246960981DE)}},
+        {{UINT64_C(0x1D8EA2278393EB0A), UINT64_C(0x9DCC23D27863FB53),
+          UINT64_C(0x961B2337D5EBD297), UINT64_C(0x0A96F8B25BFED1E9)},
+         {UINT64_C(0x39EA1803FE7DD2B7), UINT64_C(0x7E4817BBE5F7772A),
+          UINT64_C(0x3668C5FFD44A41EF), UINT64_C(0x78227653E11F8E11)}},
+        {{UINT64_C(0x272D6933D024880B), UINT64_C(0x733C029FF236FD8A),
+          UINT64_C(0xBA5C20BD604868F0), UINT64_C(0x33F211AE321175C2)},
+         {UINT64_C(0xE40010FB9FD79FE3), UINT64_C(0x9C6EA1DCA685A59F),
+          UINT64_C(0x79963FFC8EB9889D), UINT64_C(0x15434E7D5F67108D)}},
+        {{UINT64_C(0x42C14BBFD68B670F), UINT64_C(0x2021AC9D23F1AA69),
+          UINT64_C(0xBF4C6D74AEA04636), UINT64_C(0x1E4D2F8EBD1FB11D)},
+         {UINT64_C(0x4B0CF0E337911AA6), UINT64_C(0x7542D9282C484507),
+          UINT64_C(0x68836751889542DC), UINT64_C(0x05F229F7FE2282A0)}},
+        {{UINT64_C(0xAF269E8B409B2067), UINT64_C(0x6C749952A860F075),
+          UINT64_C(0xCB7492DA5DF7C7F6), UINT64_C(0x2B010A7FE8E591E1)},
+         {UINT64_C(0xF744657704D9E871), UINT64_C(0xC2E0A2A35E68408E),
+          UINT64_C(0xD512E9A6D0F0BAAD), UINT64_C(0x3E2F73E1C6BE34A3)}},
+    },
+    {
+        {{UINT64_C(0x6C466C8E2EC65BB4), UINT64_C(0x912FFAE5B1FC8F92),
+          UINT64_C(0x7587BE5DB50A522D), UINT64_C(0x15939FF7649847CF)},
+         {UINT64_C(0x69E81D63F464794E), UINT64_C(0x7BB6EEE36D3F858E),
+          UINT64_C(0x24FE5C0110813BBB), UINT64_C(0x0C491F976D80756C)}},
+        {{UINT64_C(0xBAD1C256A5FF3510), UINT64_C(0xF06F38A299C1B7B2),
+          UINT64_C(0xF7C0F164049312D6), UINT64_C(0x073C53745749B3E4)},
+         {UINT64_C(0xD676148055211A81), UINT64_C(0xF34CB5DBDFA98F45),
+          UINT64_C(0xAF59FA47B4AA4967), UINT64_C(0x116935B98214BE48)}},
+        {{UINT64_C(0x1D86FA009FE10E46), UINT64_C(0x73B8099C0B5B8494),
+          UINT64_C(0x9A6EA98DA1102BE7), UINT64_C(0x3DE1948B5514CA21)},
+         {UINT64_C(0x5D18ED69D0AAAA53), UINT64_C(0x17BF7DFF3C952B98),
+          UINT64_C(0xC60143FE7DDBD937), UINT64_C(0x214F2F556F2F10C4)}},
+        {{UINT64_C(0xB2F2869502F047D0), UINT64_C(0x80952DFE923F52BF),
+          UINT64_C(0x56F3306BA5017C3E), UINT64_C(0x5DD62F07052DADFB)},
+         {UINT64_C(0xDD11592DD5274F90), UINT64_C(0x40632FF3E471965B),
+          UINT64_C(0xAD1939A87E618430), UINT64_C(0x5DD9CAD233F19556)}},
+        {{UINT64_C(0x7B0AA88CC1094747), UINT64_C(0xCFA6B95DF6753A0C),
+          UINT64_C(0xE81AFADA2A252A4D), UINT64_C(0x364CAB7CD3770570)},
+         {UINT64_C(0xE99D8252B4610A19), UINT64_C(0xB22B2FEC55ED9AD3),
+          UINT64_C(0x328ACBDDBEBE7FED), UINT64_C(0x1D379D61FBEDFE84)}},
+        {{UINT64_C(0xD9EFFFFA5EDF8C9C), UINT64_C(0x9BAA71810CE548EC),
+          UINT64_C(0xEB458AEB5FA8FEEB), UINT64_C(0x18C5E6910904D841)},
+         {UINT64_C(0xFCEFAE288F33D2E5), UINT64_C(0xB3CF853E6FAFDA18),
+          UINT64_C(0x05DE94BA427D6218), UINT64_C(0x021D8AED3731D3E9)}},
+        {{UINT64_C(0x06C8C318E92719DA), UINT64_C(0x1F7CDE121A65DFDB),
+          UINT64_C(0x9B4D531E4B672A2D), UINT64_C(0x3E39CC63115FAF11)},
+         {UINT64_C(0xC9C3F3390037AF60), UINT64_C(0xC1C6758702B43D27),
+          UINT64_C(0x46B77CDDC42DF26B), UINT64_C(0x7235F2B0EBFA97A7)}},
+        {{UINT64_C(0xAF7FFC9AE898094E), UINT64_C(0x8D18AB93146A27E3),
+          UINT64_C(0x1376B7978AEC0416), UINT64_C(0x746A1B1C8D91C25E)},
+         {UINT64_C(0x16DCCCC10EBDE2E3), UINT64_C(0xFE4ABD418CE7D61E),
+          UINT64_C(0xB9830395E25F1551), UINT64_C(0x543493D7B885A943)}},
+        {{UINT64_C(0x52C659E624EBCFC0), UINT64_C(0x72E3CA91D38367A4),
+          UINT64_C(0xA3086AAC4D168F4F), UINT64_C(0x656ACFEE5D64207B)},
+         {UINT64_C(0xBE697CBABA196A9E), UINT64_C(0x6A737ACC97DFFEC2),
+          UINT64_C(0x393E266154F04DBD), UINT64_C(0x4FFF7C244B0E92BD)}},
+        {{UINT64_C(0xC709CC59828EC659), UINT64_C(0xB275AC8CCBDEACB3),
+          UINT64_C(0xA8D08921F7922523), UINT64_C(0x68B92F96400A6459)},
+         {UINT64_C(0x45803EC2DFBECB97), UINT64_C(0x49464E057515D696),
+          UINT64_C(0xF39CA9618F03E969), UINT64_C(0x605065A11CD7C79F)}},
+        {{UINT64_C(0xB91C03DC97F1A97A), UINT64_C(0x2F6D50BB201FFB53),
+          UINT64_C(0x39D67D4046241856), UINT64_C(0x0A2C025674D04805)},
+         {UINT64_C(0xD289B94C28374A6D), UINT64_C(0x1176C73A10EDD6FC),
+          UINT64_C(0x890E9C3956AE631E), UINT64_C(0x30451CF16027F549)}},
+        {{UINT64_C(0x0CB33FDCDF8F4DDB), UINT64_C(0xD9C540DE87FF6E63),
+          UINT64_C(0xD844573255A1D8E4), UINT64_C(0x1497403D8AC403A6)},
+         {UINT64_C(0xA2591C406A4BAAC6), UINT64_C(0xF493CF1F48DD3E5D),
+          UINT64_C(0x7B9AE39FB69AF047), UINT64_C(0x293123C03782B110)}},
+        {{UINT64_C(0x14921836B7A36B62), UINT64_C(0x5AC824304CA3AA39),
+          UINT64_C(0x01303AA652F601CA), UINT64_C(0x7EE1E6C72B43BB72)},
+         {UINT64_C(0x7F82B37B64D44957), UINT64_C(0x840D0654DA4A6FEC),
+          UINT64_C(0xFC806FA10290F75D), UINT64_C(0x3027FE4A4C62F0E8)}},
+        {{UINT64_C(0x34E68AB5CD0D3AC0), UINT64_C(0xE6B0B8C1E9BC85BD),
+          UINT64_C(0xE00F505299533831), UINT64_C(0x11327DA7CDC83750)},
+         {UINT64_C(0x6D991DF04656A428), UINT64_C(0x6A7BE34986228F26),
+          UINT64_C(0x6BF85E3D3019CDC5), UINT64_C(0x42200D2F576913A4)}},
+        {{UINT64_C(0x420D9259707B940F), UINT64_C(0x1BB1FFE13C5E39BB),
+          UINT64_C(0x83D6BA36E40D018E), UINT64_C(0x139BD842044EC576)},
+         {UINT64_C(0x3C79F8D2C6DE63E8), UINT64_C(0x49150B1D96F1FB0B),
+          UINT64_C(0x666160531358A13B), UINT64_C(0x187CA3CFD5DDFD9F)}},
+        {{UINT64_C(0x0675370F8D5AEE84), UINT64_C(0x30AA7D65DC269114),
+          UINT64_C(0x295F7FE85AFC6DC1), UINT64_C(0x4945202955674339)},
+         {UINT64_C(0x7EB1926BA6F209EC), UINT64_C(0x5232B9D1DC72C3E3),
+          UINT64_C(0xCD788D79AB52141B), UINT64_C(0x3EB561BEFDD9611F)}},
+    },
+    {
+        {{UINT64_C(0x09DB342CE22241AD), UINT64_C(0x2EAB852F2A566653),
+          UINT64_C(0x970843EDCA6E59F3), UINT64_C(0x6490013EA18C2D89)},
+         {UINT64_C(0x52293350C7A691CC), UINT64_C(0x6544B49DB2079F14),
+          UINT64_C(0xC49C559852DCF090), UINT64_C(0x4069B6FC8817A2C7)}},
+        {{UINT64_C(0x0E4A4B0CC86B40F4), UINT64_C(0x2B5350E151F6F853),
+          UINT64_C(0xDE26FDE21033BEC4), UINT64_C(0x4DE9D2E7C0E9B971)},
+         {UINT64_C(0x716605FDD315AD57), UINT64_C(0x5627D732392B101A),
+          UINT64_C(0x628EDFC681A9F40A), UINT64_C(0x4BD2A96C5AB9C99D)}},
+        {{UINT64_C(0x2C8DF2A1BFBD288A), UINT64_C(0x260C4F1EF4CF7C09),
+          UINT64_C(0x88A2618690E796CB), UINT64_C(0x105ACC3A323E0702)},
+         {UINT64_C(0xA8ADA467667664CF), UINT64_C(0x41144C1B3B518622),
+          UINT64_C(0x4A532B87D8B99FE1), UINT64_C(0x4A51C2892289C308)}},
+        {{UINT64_C(0x201DDA611D6F6880), UINT64_C(0x47A964D462029898),
+          UINT64_C(0xE44E2EEE426C8CA5), UINT64_C(0x02A5182109625DBA)},
+         {UINT64_C(0x170C626EB45B3DFB), UINT64_C(0xFC7F1F715C8343A9),
+          UINT64_C(0xE6CF246FE549F040), UINT64_C(0x4ACF60AE2F903ACE)}},
+        {{UINT64_C(0x9171535281C807EC), UINT64_C(0x72AC60C347174A58),
+          UINT64_C(0xAD62D06FA0F12F61), UINT64_C(0x325C2792AA899C0D)},
+         {UINT64_C(0x53A1E3929D8BA267), UINT64_C(0x5DC088A5CDACCB05),
+          UINT64_C(0x5BB9127F5025CB69), UINT64_C(0x25D2B42E69214616)}},
+        {{UINT64_C(0x4DE5D58ADDB55121), UINT64_C(0x688AA2F584DE0677),
+          UINT64_C(0xF7925A3963AA25E0), UINT64_C(0x4FB42FC785D4DEA5)},
+         {UINT64_C(0x957B933B8F134390), UINT64_C(0xB360DD2C4B9BF8C2),
+          UINT64_C(0x45E6767FFFFF96CD), UINT64_C(0x26D0A6A91E01D5C3)}},
+        {{UINT64_C(0xC7FC57145A0A98EA), UINT64_C(0xDBB06F30E7535AF6),
+          UINT64_C(0x555B22E3DF4ACD0D), UINT64_C(0x3A011AAF2EFD2FBE)},
+         {UINT64_C(0x341C7733E9166B20), UINT64_C(0x84619E8EFB19590A),
+          UINT64_C(0x8EF989FD10574C96), UINT64_C(0x61ACFAAE0F55F9A2)}},
+        {{UINT64_C(0x8C8A33F26DEAB094), UINT64_C(0x4A8E5D9F96022EBC),
+          UINT64_C(0xA10DF82C7DDA92E8), UINT64_C(0x33A19462D1CF3815)},
+         {UINT64_C(0xE3FF8E43A489D67F), UINT64_C(0xD4B6136F225064AA),
+          UINT64_C(0xE1721D2A92F5E662), UINT64_C(0x4C4F03D7A90A33C6)}},
+        {{UINT64_C(0x70885B35A3463B4A), UINT64_C(0x974BC40EDF9D0194),
+          UINT64_C(0x1AF71E18273957F4), UINT64_C(0x58EF684B9900CB0D)},
+         {UINT64_C(0xB09970C820A49A4A), UINT64_C(0x3F28403F42067458),
+          UINT64_C(0x153FF2C4BD7D1AD5), UINT64_C(0x7912CC2EE97A90F7)}},
+        {{UINT64_C(0xF653DF598F034D9F), UINT64_C(0xCA1671771C409CCF),
+          UINT64_C(0x21F47005175F3583), UINT64_C(0x13B8A94BFAAFB66F)},
+         {UINT64_C(0x64534EE396052C8D), UINT64_C(0x09304DD18D674024),
+          UINT64_C(0xEB468AC30D7A7E2A), UINT64_C(0x40347256CD62052C)}},
+        {{UINT64_C(0x0F089165FFF11C0E), UINT64_C(0x383562C98D69A45C),
+          UINT64_C(0x7AB3EF9D3125FE61), UINT64_C(0x32C042BCE0735F3A)},
+         {UINT64_C(0x420077C84E268D91), UINT64_C(0x7FB4208244695B4F),
+          UINT64_C(0xFA83216F448A133E), UINT64_C(0x1C66060793062EB3)}},
+        {{UINT64_C(0xA0FCBACAEF9E04DE), UINT64_C(0xAEF9EECB5B86F69A),
+          UINT64_C(0x73D2E95FC39D4C99), UINT64_C(0x098C74F7923A5BA8)},
+         {UINT64_C(0x5B8C95C84F68DECF), UINT64_C(0xCFF2E10158976551),
+          UINT64_C(0x5032AE48BE5CAF91), UINT64_C(0x5CCB9008E09BC8AE)}},
+        {{UINT64_C(0x41A38F203714D3BF), UINT64_C(0x2413653317366520),
+          UINT64_C(0xF12F314CFAE17B01), UINT64_C(0x4AA0C969FC9AD43B)},
+         {UINT64_C(0xD8AB5F728BBAC026), UINT64_C(0x35128269526992DC),
+          UINT64_C(0xA2EF6E44D19880AA), UINT64_C(0x28BB3623DBF47628)}},
+        {{UINT64_C(0x294742BA3BA25C35), UINT64_C(0x39D3BC9B061555B7),
+          UINT64_C(0x944E3ABCDE6EA1A0), UINT64_C(0x4FDC641557EBD394)},
+         {UINT64_C(0xB615C1DAE981E649), UINT64_C(0xAF7EDB348BE3C95F),
+          UINT64_C(0x38573AE871F7221F), UINT64_C(0x1B30FF04668CF414)}},
+        {{UINT64_C(0x48EFF6A2A57A9A4E), UINT64_C(0x04BA2F7374A59C19),
+          UINT64_C(0x5FDE389D6779C5DA), UINT64_C(0x258E2B246612F160)},
+         {UINT64_C(0xCE8D7A0B6D116D41), UINT64_C(0xAF660436EE2706C8),
+          UINT64_C(0xFFAD6FE9F81D6398), UINT64_C(0x4FE5EC5414BA128A)}},
+        {{UINT64_C(0x7D5E8299BD4B886C), UINT64_C(0x5403A46EDB0DB148),
+          UINT64_C(0x32F49FC076A808D7), UINT64_C(0x6D483FD7D3B9A641)},
+         {UINT64_C(0x731DF1223952C70F), UINT64_C(0xB5CABAC1CB5E6081),
+          UINT64_C(0x12FA297D7AFA8F59), UINT64_C(0x3272360A6AC91952)}},
+    }};
+
+/*-
+ * Q := 2P, both projective, Q and P same pointers OK
+ * Autogenerated: op3/dbl_proj.op3
+ * https://eprint.iacr.org/2015/1060 Alg 6
+ * ASSERT: a = -3
+ */
+static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
+    /* temporary variables */
+    fe_t t0, t1, t2, t3, t4;
+    /* constants */
+    const limb_t *b = const_b;
+    /* set pointers for legacy 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 *Z3 = Q->Z;
+
+    /* the curve arith formula */
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_square(t0, X);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_square(t1, Y);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_square(t2, Z);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t3, X, Y);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t3, t3, t3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t4, Y, Z);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(Z3, X, Z);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Z3, Z3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(Y3, b, t2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(Y3, Y3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(X3, Y3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Y3, X3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(X3, t1, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Y3, t1, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(Y3, X3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(X3, X3, t3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t3, t2, t2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t2, t2, t3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(Z3, b, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(Z3, Z3, t2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(Z3, Z3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t3, Z3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Z3, Z3, t3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t3, t0, t0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t0, t3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(t0, t0, t2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t0, t0, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Y3, Y3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t0, t4, t4);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(Z3, t0, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(X3, X3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(Z3, t0, t1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Z3, Z3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Z3, Z3, Z3);
+}
+
+/*-
+ * 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.op3
+ * https://eprint.iacr.org/2015/1060 Alg 5
+ * ASSERT: a = -3
+ */
+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, t4;
+    /* constants */
+    const limb_t *b = const_b;
+    /* set pointers for legacy curve arith */
+    const limb_t *X1 = Q->X;
+    const limb_t *Y1 = Q->Y;
+    const limb_t *Z1 = Q->Z;
+    const limb_t *X2 = P->X;
+    const limb_t *Y2 = P->Y;
+    fe_t X3;
+    fe_t Y3;
+    fe_t Z3;
+    limb_t nz;
+
+    /* check P for affine inf */
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_nonzero(&nz, P->Y);
+
+    /* the curve arith formula */
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t0, X1, X2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t1, Y1, Y2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t3, X2, Y2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t4, X1, Y1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t3, t3, t4);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t4, t0, t1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(t3, t3, t4);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t4, Y2, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t4, t4, Y1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(Y3, X2, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Y3, Y3, X1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(Z3, b, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(X3, Y3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Z3, X3, X3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(X3, X3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(Z3, t1, X3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(X3, t1, X3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(Y3, b, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t1, Z1, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t2, t1, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(Y3, Y3, t2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(Y3, Y3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t1, Y3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Y3, t1, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t1, t0, t0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t0, t1, t0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(t0, t0, t2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t1, t4, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t2, t0, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(Y3, X3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Y3, Y3, t2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(X3, t3, X3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(X3, X3, t1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(Z3, t4, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t1, t3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Z3, Z3, t1);
+
+    /* if P is inf, throw all that away and take Q */
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(R->X, nz, Q->X, X3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(R->Y, nz, Q->Y, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(R->Z, nz, Q->Z, Z3);
+}
+
+/*-
+ * R := Q + P all projective.
+ * R and Q same pointers OK
+ * R and P same pointers not OK
+ * Autogenerated: op3/add_proj.op3
+ * https://eprint.iacr.org/2015/1060 Alg 4
+ * ASSERT: a = -3
+ */
+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, t4, t5;
+    /* constants */
+    const limb_t *b = const_b;
+    /* set pointers for legacy curve arith */
+    const limb_t *X1 = Q->X;
+    const limb_t *Y1 = Q->Y;
+    const limb_t *Z1 = Q->Z;
+    const limb_t *X2 = P->X;
+    const limb_t *Y2 = P->Y;
+    const limb_t *Z2 = P->Z;
+    limb_t *X3 = R->X;
+    limb_t *Y3 = R->Y;
+    limb_t *Z3 = R->Z;
+
+    /* the curve arith formula */
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t0, X1, X2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t1, Y1, Y2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t2, Z1, Z2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t3, X1, Y1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t4, X2, Y2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t3, t3, t4);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t4, t0, t1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(t3, t3, t4);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t4, Y1, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t5, Y2, Z2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t4, t4, t5);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t5, t1, t2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(t4, t4, t5);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(X3, X1, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Y3, X2, Z2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(X3, X3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Y3, t0, t2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(Y3, X3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(Z3, b, t2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(X3, Y3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Z3, X3, X3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(X3, X3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(Z3, t1, X3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(X3, t1, X3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(Y3, b, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t1, t2, t2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t2, t1, t2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(Y3, Y3, t2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(Y3, Y3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t1, Y3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Y3, t1, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t1, t0, t0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t0, t1, t0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(t0, t0, t2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t1, t4, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t2, t0, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(Y3, X3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Y3, Y3, t2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(X3, t3, X3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(X3, X3, t1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(Z3, t4, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t1, t3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Z3, Z3, t1);
+}
+
+/* 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;
+
+    fe_copy(precomp[0].X, P->X);
+    fe_copy(precomp[0].Y, P->Y);
+    fe_copy(precomp[0].Z, const_one);
+    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[32], int idx) {
+    int widx, rshift;
+
+    widx = idx >> 3;
+    rshift = idx & 0x7;
+
+    if (idx < 0 || widx >= 32) 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[52], const unsigned char in[32]) {
+    int i;
+    char window, d;
+
+    window = (in[0] & (DRADIX_WNAF - 1)) | 1;
+    for (i = 0; i < 51; 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[257], const unsigned char in[32]) {
+    int i;
+    char window, d;
+
+    window = in[0] & (DRADIX_WNAF - 1);
+    for (i = 0; i < 257; 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[32],
+                              const unsigned char b[32], const pt_aff_t *P) {
+    int i, d, is_neg, is_inf = 1, flipped = 0;
+    char anaf[257] = {0};
+    char bnaf[257] = {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 = 256; i >= 0; i--) {
+        if (!is_inf) point_double(&Q, &Q);
+        if ((d = bnaf[i])) {
+            if ((is_neg = d < 0) != flipped) {
+                fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_opp(Q.Y, Q.Y);
+                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.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_GostR3410_2001_CryptoPro_B_ParamSet_opp(Q.Y, Q.Y);
+                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.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.Z);
+    }
+
+    if (flipped) {
+        /* correct sign */
+        fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_opp(Q.Y, Q.Y);
+    }
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_inv(Q.Z, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(out->X, Q.X, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_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[32],
+                           const pt_aff_t *P) {
+    int i, j, d, diff, is_neg;
+    char rnaf[52] = {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[51] - 1) >> 1;
+    for (j = 0; j < DRADIX / 2; j++) {
+        diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
+        fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(Q.X, diff, Q.X,
+                                                              precomp[j].X);
+        fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(Q.Y, diff, Q.Y,
+                                                              precomp[j].Y);
+        fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(Q.Z, diff, Q.Z,
+                                                              precomp[j].Z);
+    }
+
+    for (i = 50; 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_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(
+                lut.X, diff, lut.X, precomp[j].X);
+            fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(
+                lut.Y, diff, lut.Y, precomp[j].Y);
+            fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(
+                lut.Z, diff, lut.Z, precomp[j].Z);
+        }
+        /* negate lut point if digit is negative */
+        fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_opp(out->Y, lut.Y);
+        fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(lut.Y, is_neg,
+                                                              lut.Y, out->Y);
+        point_add_proj(&Q, &Q, &lut);
+    }
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
+
+    /* conditionally subtract P if the scalar was even */
+    fe_copy(lut.X, precomp[0].X);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_opp(lut.Y, precomp[0].Y);
+    fe_copy(lut.Z, precomp[0].Z);
+    point_add_proj(&lut, &lut, &Q);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(Q.X, scalar[0] & 1,
+                                                          lut.X, Q.X);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(Q.Y, scalar[0] & 1,
+                                                          lut.Y, Q.Y);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(Q.Z, scalar[0] & 1,
+                                                          lut.Z, Q.Z);
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_inv(Q.Z, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(out->X, Q.X, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_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[32]) {
+    int i, j, k, d, diff, is_neg = 0;
+    char rnaf[52] = {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.Z);
+
+#if defined(_MSC_VER)
+    /* result still unsigned: yes we know */
+#pragma warning(push)
+#pragma warning(disable : 4146)
+#endif
+
+    for (i = 1; i >= 0; i--) {
+        for (j = 0; i != 1 && j < RADIX; j++) point_double(&Q, &Q);
+        for (j = 0; j < 27; j++) {
+            if (j * 2 + i > 51) continue;
+            d = rnaf[j * 2 + 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_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(
+                    lut.X, diff, lut.X, lut_cmb[j][k].X);
+                fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(
+                    lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
+            }
+            /* negate lut point if digit is negative */
+            fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_opp(out->Y, lut.Y);
+            fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(
+                lut.Y, is_neg, lut.Y, out->Y);
+            point_add_mixed(&Q, &Q, &lut);
+        }
+    }
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
+
+    /* conditionally subtract P if the scalar was even */
+    fe_copy(lut.X, lut_cmb[0][0].X);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_opp(lut.Y, lut_cmb[0][0].Y);
+    point_add_mixed(&R, &Q, &lut);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(Q.X, scalar[0] & 1,
+                                                          R.X, Q.X);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(Q.Y, scalar[0] & 1,
+                                                          R.Y, Q.Y);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(Q.Z, scalar[0] & 1,
+                                                          R.Z, Q.Z);
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_inv(Q.Z, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(out->X, Q.X, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(out->Y, Q.Y, Q.Z);
+}
+
+static void point_mul_two(unsigned char outx[32], unsigned char outy[32],
+                          const unsigned char a[32], const unsigned char b[32],
+                          const unsigned char inx[32],
+                          const unsigned char iny[32]) {
+    pt_aff_t P;
+
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_from_bytes(P.X, inx);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_from_bytes(P.Y, iny);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_to_montgomery(P.X, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_to_montgomery(P.Y, P.Y);
+    /* simultaneous scalar multiplication */
+    var_smul_wnaf_two(&P, a, b, &P);
+
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_from_montgomery(P.X, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_from_montgomery(P.Y, P.Y);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_to_bytes(outx, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_to_bytes(outy, P.Y);
+}
+
+static void point_mul_g(unsigned char outx[32], unsigned char outy[32],
+                        const unsigned char scalar[32]) {
+    pt_aff_t P;
+
+    /* fixed scmul function */
+    fixed_smul_cmb(&P, scalar);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_from_montgomery(P.X, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_from_montgomery(P.Y, P.Y);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_to_bytes(outx, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_to_bytes(outy, P.Y);
+}
+
+static void point_mul(unsigned char outx[32], unsigned char outy[32],
+                      const unsigned char scalar[32],
+                      const unsigned char inx[32],
+                      const unsigned char iny[32]) {
+    pt_aff_t P;
+
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_from_bytes(P.X, inx);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_from_bytes(P.Y, iny);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_to_montgomery(P.X, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_to_montgomery(P.Y, P.Y);
+    /* var scmul function */
+    var_smul_rwnaf(&P, scalar, &P);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_from_montgomery(P.X, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_from_montgomery(P.Y, P.Y);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_to_bytes(outx, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_to_bytes(outy, P.Y);
+}
+
+#include <openssl/ec.h>
+
+static const unsigned char const_zb[32] = {0};
+
+    int
+    point_mul_two_id_GostR3410_2001_CryptoPro_B_ParamSet(
+        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[32];
+    unsigned char b_y[32];
+    unsigned char b_n[32];
+    unsigned char b_m[32];
+    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, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
+        BN_bn2lebinpad(n, b_n, 32) != 32 || BN_bn2lebinpad(m, b_m, 32) != 32)
+        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, 32) == 0 &&
+        CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
+        if (!EC_POINT_set_to_infinity(group, r)) goto err;
+    } else {
+        /* otherwise, pack the bytes into the result */
+        if (BN_lebin2bn(b_x, 32, x) == NULL ||
+            BN_lebin2bn(b_y, 32, 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_GostR3410_2001_CryptoPro_B_ParamSet(const EC_GROUP *group,
+                                                     EC_POINT *r,
+                                                     const EC_POINT *q,
+                                                     const BIGNUM *m,
+                                                     BN_CTX *ctx) {
+    int ret = 0;
+    unsigned char b_x[32];
+    unsigned char b_y[32];
+    unsigned char b_m[32];
+    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, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
+        BN_bn2lebinpad(m, b_m, 32) != 32)
+        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, 32) == 0 &&
+        CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
+        if (!EC_POINT_set_to_infinity(group, r)) goto err;
+    } else {
+        /* otherwise, pack the bytes into the result */
+        if (BN_lebin2bn(b_x, 32, x) == NULL ||
+            BN_lebin2bn(b_y, 32, 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_GostR3410_2001_CryptoPro_B_ParamSet(const EC_GROUP *group,
+                                                       EC_POINT *r,
+                                                       const BIGNUM *n,
+                                                       BN_CTX *ctx) {
+    int ret = 0;
+    unsigned char b_x[32];
+    unsigned char b_y[32];
+    unsigned char b_n[32];
+    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, 32) != 32)
+        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, 32) == 0 &&
+        CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
+        if (!EC_POINT_set_to_infinity(group, r)) goto err;
+    } else {
+        /* otherwise, pack the bytes into the result */
+        if (BN_lebin2bn(b_x, 32, x) == NULL ||
+            BN_lebin2bn(b_y, 32, 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 8
+/* 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))
+
+/* Projective points */
+typedef struct {
+    fe_t X;
+    fe_t Y;
+    fe_t Z;
+} pt_prj_t;
+
+/* Affine points */
+typedef struct {
+    fe_t X;
+    fe_t Y;
+} 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: word_by_word_montgomery --static id_GostR3410_2001_CryptoPro_B_ParamSet 32 '2^255 + 3225' */
+/* curve description: id_GostR3410_2001_CryptoPro_B_ParamSet */
+/* machine_wordsize = 32 (from "32") */
+/* requested operations: (all) */
+/* m = 0x8000000000000000000000000000000000000000000000000000000000000c99 (from "2^255 + 3225") */
+/*                                                                    */
+/* NOTE: In addition to the bounds specified above each function, all */
+/*   functions synthesized for this Montgomery arithmetic require the */
+/*   input to be strictly less than the prime modulus (m), and also   */
+/*   require the input to be in the unique saturated representation.  */
+/*   All functions also ensure that these two properties are true of  */
+/*   return values.                                                   */
+/*  */
+/* Computed values: */
+/* eval z = z[0] + (z[1] << 32) + (z[2] << 64) + (z[3] << 96) + (z[4] << 128) + (z[5] << 160) + (z[6] << 192) + (z[7] << 224) */
+/* 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) */
+
+#include <stdint.h>
+typedef unsigned char fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1;
+typedef signed char fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_int1;
+
+#if (-1 & 3) != 3
+#error "This code only works on a two's complement system"
+#endif
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32 is an addition with carry.
+ * Postconditions:
+ *   out1 = (arg1 + arg2 + arg3) mod 2^32
+ *   out2 = ⌊(arg1 + arg2 + arg3) / 2^32⌋
+ *
+ * Input Bounds:
+ *   arg1: [0x0 ~> 0x1]
+ *   arg2: [0x0 ~> 0xffffffff]
+ *   arg3: [0x0 ~> 0xffffffff]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffffff]
+ *   out2: [0x0 ~> 0x1]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(
+    uint32_t *out1, fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 *out2,
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 arg1, uint32_t arg2,
+    uint32_t arg3) {
+    uint64_t x1;
+    uint32_t x2;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x3;
+    x1 = ((arg1 + (uint64_t)arg2) + arg3);
+    x2 = (uint32_t)(x1 & UINT32_C(0xffffffff));
+    x3 = (fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1)(x1 >> 32);
+    *out1 = x2;
+    *out2 = x3;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32 is a subtraction with borrow.
+ * Postconditions:
+ *   out1 = (-arg1 + arg2 + -arg3) mod 2^32
+ *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^32⌋
+ *
+ * Input Bounds:
+ *   arg1: [0x0 ~> 0x1]
+ *   arg2: [0x0 ~> 0xffffffff]
+ *   arg3: [0x0 ~> 0xffffffff]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffffff]
+ *   out2: [0x0 ~> 0x1]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(
+    uint32_t *out1, fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 *out2,
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 arg1, uint32_t arg2,
+    uint32_t arg3) {
+    int64_t x1;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_int1 x2;
+    uint32_t x3;
+    x1 = ((arg2 - (int64_t)arg1) - arg3);
+    x2 = (fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_int1)(x1 >> 32);
+    x3 = (uint32_t)(x1 & UINT32_C(0xffffffff));
+    *out1 = x3;
+    *out2 = (fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1)(0x0 - x2);
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32 is a multiplication, returning the full double-width result.
+ * Postconditions:
+ *   out1 = (arg1 * arg2) mod 2^32
+ *   out2 = ⌊arg1 * arg2 / 2^32⌋
+ *
+ * Input Bounds:
+ *   arg1: [0x0 ~> 0xffffffff]
+ *   arg2: [0x0 ~> 0xffffffff]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffffff]
+ *   out2: [0x0 ~> 0xffffffff]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(
+    uint32_t *out1, uint32_t *out2, uint32_t arg1, uint32_t arg2) {
+    uint64_t x1;
+    uint32_t x2;
+    uint32_t x3;
+    x1 = ((uint64_t)arg1 * arg2);
+    x2 = (uint32_t)(x1 & UINT32_C(0xffffffff));
+    x3 = (uint32_t)(x1 >> 32);
+    *out1 = x2;
+    *out2 = x3;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_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_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(
+    uint32_t *out1, fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 arg1,
+    uint32_t arg2, uint32_t arg3) {
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x1;
+    uint32_t x2;
+    uint32_t x3;
+    x1 = (!(!arg1));
+    x2 = ((fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_int1)(0x0 - x1) &
+          UINT32_C(0xffffffff));
+    x3 = ((x2 & arg3) | ((~x2) & arg2));
+    *out1 = x3;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul multiplies two field elements in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ *   0 ≤ eval arg2 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg2)) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ *   arg2: [[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]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(
+    uint32_t out1[8], const uint32_t arg1[8], const uint32_t arg2[8]) {
+    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;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x26;
+    uint32_t x27;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x28;
+    uint32_t x29;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x30;
+    uint32_t x31;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x32;
+    uint32_t x33;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x34;
+    uint32_t x35;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x36;
+    uint32_t x37;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x47;
+    uint32_t x48;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x49;
+    uint32_t x50;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x51;
+    uint32_t x52;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x53;
+    uint32_t x54;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x55;
+    uint32_t x56;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x57;
+    uint32_t x58;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x59;
+    uint32_t x60;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x61;
+    uint32_t x62;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x63;
+    uint32_t x64;
+    uint32_t x65;
+    uint32_t 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;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x81;
+    uint32_t x82;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x83;
+    uint32_t x84;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x85;
+    uint32_t x86;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x87;
+    uint32_t x88;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x89;
+    uint32_t x90;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x91;
+    uint32_t x92;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x93;
+    uint32_t x94;
+    uint32_t x95;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x96;
+    uint32_t x97;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x98;
+    uint32_t x99;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x100;
+    uint32_t x101;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x102;
+    uint32_t x103;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x104;
+    uint32_t x105;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x106;
+    uint32_t x107;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x108;
+    uint32_t x109;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x110;
+    uint32_t x111;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x112;
+    uint32_t x113;
+    uint32_t x114;
+    uint32_t x115;
+    uint32_t x116;
+    uint32_t x117;
+    uint32_t x118;
+    uint32_t x119;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x120;
+    uint32_t x121;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x122;
+    uint32_t x123;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x124;
+    uint32_t x125;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x126;
+    uint32_t x127;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x128;
+    uint32_t x129;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x130;
+    uint32_t x131;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x132;
+    uint32_t x133;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x134;
+    uint32_t x135;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x136;
+    uint32_t x137;
+    uint32_t x138;
+    uint32_t x139;
+    uint32_t x140;
+    uint32_t x141;
+    uint32_t x142;
+    uint32_t x143;
+    uint32_t x144;
+    uint32_t x145;
+    uint32_t x146;
+    uint32_t x147;
+    uint32_t x148;
+    uint32_t x149;
+    uint32_t x150;
+    uint32_t x151;
+    uint32_t x152;
+    uint32_t x153;
+    uint32_t x154;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x155;
+    uint32_t x156;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x157;
+    uint32_t x158;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x159;
+    uint32_t x160;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x161;
+    uint32_t x162;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x163;
+    uint32_t x164;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x165;
+    uint32_t x166;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x167;
+    uint32_t x168;
+    uint32_t x169;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x170;
+    uint32_t x171;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x172;
+    uint32_t x173;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x174;
+    uint32_t x175;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x176;
+    uint32_t x177;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x178;
+    uint32_t x179;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x180;
+    uint32_t x181;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x182;
+    uint32_t x183;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x184;
+    uint32_t x185;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x186;
+    uint32_t x187;
+    uint32_t x188;
+    uint32_t x189;
+    uint32_t x190;
+    uint32_t x191;
+    uint32_t x192;
+    uint32_t x193;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x194;
+    uint32_t x195;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x196;
+    uint32_t x197;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x198;
+    uint32_t x199;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x200;
+    uint32_t x201;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x202;
+    uint32_t x203;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x204;
+    uint32_t x205;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x206;
+    uint32_t x207;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x208;
+    uint32_t x209;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x210;
+    uint32_t x211;
+    uint32_t x212;
+    uint32_t x213;
+    uint32_t x214;
+    uint32_t x215;
+    uint32_t x216;
+    uint32_t x217;
+    uint32_t x218;
+    uint32_t x219;
+    uint32_t x220;
+    uint32_t x221;
+    uint32_t x222;
+    uint32_t x223;
+    uint32_t x224;
+    uint32_t x225;
+    uint32_t x226;
+    uint32_t x227;
+    uint32_t x228;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x229;
+    uint32_t x230;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x231;
+    uint32_t x232;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x233;
+    uint32_t x234;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x235;
+    uint32_t x236;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x237;
+    uint32_t x238;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x239;
+    uint32_t x240;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x241;
+    uint32_t x242;
+    uint32_t x243;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x244;
+    uint32_t x245;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x246;
+    uint32_t x247;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x248;
+    uint32_t x249;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x250;
+    uint32_t x251;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x252;
+    uint32_t x253;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x254;
+    uint32_t x255;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x256;
+    uint32_t x257;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x258;
+    uint32_t x259;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x260;
+    uint32_t x261;
+    uint32_t x262;
+    uint32_t x263;
+    uint32_t x264;
+    uint32_t x265;
+    uint32_t x266;
+    uint32_t x267;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x268;
+    uint32_t x269;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x270;
+    uint32_t x271;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x272;
+    uint32_t x273;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x274;
+    uint32_t x275;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x276;
+    uint32_t x277;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x278;
+    uint32_t x279;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x280;
+    uint32_t x281;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x282;
+    uint32_t x283;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x284;
+    uint32_t x285;
+    uint32_t x286;
+    uint32_t x287;
+    uint32_t x288;
+    uint32_t x289;
+    uint32_t x290;
+    uint32_t x291;
+    uint32_t x292;
+    uint32_t x293;
+    uint32_t x294;
+    uint32_t x295;
+    uint32_t x296;
+    uint32_t x297;
+    uint32_t x298;
+    uint32_t x299;
+    uint32_t x300;
+    uint32_t x301;
+    uint32_t x302;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x303;
+    uint32_t x304;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x305;
+    uint32_t x306;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x307;
+    uint32_t x308;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x309;
+    uint32_t x310;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x311;
+    uint32_t x312;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x313;
+    uint32_t x314;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x315;
+    uint32_t x316;
+    uint32_t x317;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x318;
+    uint32_t x319;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x320;
+    uint32_t x321;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x322;
+    uint32_t x323;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x324;
+    uint32_t x325;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x326;
+    uint32_t x327;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x328;
+    uint32_t x329;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x330;
+    uint32_t x331;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x332;
+    uint32_t x333;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x334;
+    uint32_t x335;
+    uint32_t x336;
+    uint32_t x337;
+    uint32_t x338;
+    uint32_t x339;
+    uint32_t x340;
+    uint32_t x341;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x342;
+    uint32_t x343;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x344;
+    uint32_t x345;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x346;
+    uint32_t x347;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x348;
+    uint32_t x349;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x350;
+    uint32_t x351;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x352;
+    uint32_t x353;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x354;
+    uint32_t x355;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x356;
+    uint32_t x357;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x358;
+    uint32_t x359;
+    uint32_t x360;
+    uint32_t x361;
+    uint32_t x362;
+    uint32_t x363;
+    uint32_t x364;
+    uint32_t x365;
+    uint32_t x366;
+    uint32_t x367;
+    uint32_t x368;
+    uint32_t x369;
+    uint32_t x370;
+    uint32_t x371;
+    uint32_t x372;
+    uint32_t x373;
+    uint32_t x374;
+    uint32_t x375;
+    uint32_t x376;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x377;
+    uint32_t x378;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x379;
+    uint32_t x380;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x381;
+    uint32_t x382;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x383;
+    uint32_t x384;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x385;
+    uint32_t x386;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x387;
+    uint32_t x388;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x389;
+    uint32_t x390;
+    uint32_t x391;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x392;
+    uint32_t x393;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x394;
+    uint32_t x395;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x396;
+    uint32_t x397;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x398;
+    uint32_t x399;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x400;
+    uint32_t x401;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x402;
+    uint32_t x403;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x404;
+    uint32_t x405;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x406;
+    uint32_t x407;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x408;
+    uint32_t x409;
+    uint32_t x410;
+    uint32_t x411;
+    uint32_t x412;
+    uint32_t x413;
+    uint32_t x414;
+    uint32_t x415;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x416;
+    uint32_t x417;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x418;
+    uint32_t x419;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x420;
+    uint32_t x421;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x422;
+    uint32_t x423;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x424;
+    uint32_t x425;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x426;
+    uint32_t x427;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x428;
+    uint32_t x429;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x430;
+    uint32_t x431;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x432;
+    uint32_t x433;
+    uint32_t x434;
+    uint32_t x435;
+    uint32_t x436;
+    uint32_t x437;
+    uint32_t x438;
+    uint32_t x439;
+    uint32_t x440;
+    uint32_t x441;
+    uint32_t x442;
+    uint32_t x443;
+    uint32_t x444;
+    uint32_t x445;
+    uint32_t x446;
+    uint32_t x447;
+    uint32_t x448;
+    uint32_t x449;
+    uint32_t x450;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x451;
+    uint32_t x452;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x453;
+    uint32_t x454;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x455;
+    uint32_t x456;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x457;
+    uint32_t x458;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x459;
+    uint32_t x460;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x461;
+    uint32_t x462;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x463;
+    uint32_t x464;
+    uint32_t x465;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x466;
+    uint32_t x467;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x468;
+    uint32_t x469;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x470;
+    uint32_t x471;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x472;
+    uint32_t x473;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x474;
+    uint32_t x475;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x476;
+    uint32_t x477;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x478;
+    uint32_t x479;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x480;
+    uint32_t x481;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x482;
+    uint32_t x483;
+    uint32_t x484;
+    uint32_t x485;
+    uint32_t x486;
+    uint32_t x487;
+    uint32_t x488;
+    uint32_t x489;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x490;
+    uint32_t x491;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x492;
+    uint32_t x493;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x494;
+    uint32_t x495;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x496;
+    uint32_t x497;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x498;
+    uint32_t x499;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x500;
+    uint32_t x501;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x502;
+    uint32_t x503;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x504;
+    uint32_t x505;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x506;
+    uint32_t x507;
+    uint32_t x508;
+    uint32_t x509;
+    uint32_t x510;
+    uint32_t x511;
+    uint32_t x512;
+    uint32_t x513;
+    uint32_t x514;
+    uint32_t x515;
+    uint32_t x516;
+    uint32_t x517;
+    uint32_t x518;
+    uint32_t x519;
+    uint32_t x520;
+    uint32_t x521;
+    uint32_t x522;
+    uint32_t x523;
+    uint32_t x524;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x525;
+    uint32_t x526;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x527;
+    uint32_t x528;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x529;
+    uint32_t x530;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x531;
+    uint32_t x532;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x533;
+    uint32_t x534;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x535;
+    uint32_t x536;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x537;
+    uint32_t x538;
+    uint32_t x539;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x540;
+    uint32_t x541;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x542;
+    uint32_t x543;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x544;
+    uint32_t x545;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x546;
+    uint32_t x547;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x548;
+    uint32_t x549;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x550;
+    uint32_t x551;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x552;
+    uint32_t x553;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x554;
+    uint32_t x555;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x556;
+    uint32_t x557;
+    uint32_t x558;
+    uint32_t x559;
+    uint32_t x560;
+    uint32_t x561;
+    uint32_t x562;
+    uint32_t x563;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x564;
+    uint32_t x565;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x566;
+    uint32_t x567;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x568;
+    uint32_t x569;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x570;
+    uint32_t x571;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x572;
+    uint32_t x573;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x574;
+    uint32_t x575;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x576;
+    uint32_t x577;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x578;
+    uint32_t x579;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x580;
+    uint32_t x581;
+    uint32_t x582;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x583;
+    uint32_t x584;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x585;
+    uint32_t x586;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x587;
+    uint32_t x588;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x589;
+    uint32_t x590;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x591;
+    uint32_t x592;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x593;
+    uint32_t x594;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x595;
+    uint32_t x596;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x597;
+    uint32_t x598;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x599;
+    uint32_t x600;
+    uint32_t x601;
+    uint32_t x602;
+    uint32_t x603;
+    uint32_t x604;
+    uint32_t x605;
+    uint32_t x606;
+    uint32_t x607;
+    x1 = (arg1[1]);
+    x2 = (arg1[2]);
+    x3 = (arg1[3]);
+    x4 = (arg1[4]);
+    x5 = (arg1[5]);
+    x6 = (arg1[6]);
+    x7 = (arg1[7]);
+    x8 = (arg1[0]);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x9, &x10, x8,
+                                                         (arg2[7]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x11, &x12, x8,
+                                                         (arg2[6]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x13, &x14, x8,
+                                                         (arg2[5]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x15, &x16, x8,
+                                                         (arg2[4]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x17, &x18, x8,
+                                                         (arg2[3]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x19, &x20, x8,
+                                                         (arg2[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x21, &x22, x8,
+                                                         (arg2[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x23, &x24, x8,
+                                                         (arg2[0]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x25, &x26, 0x0,
+                                                              x24, x21);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x27, &x28, x26,
+                                                              x22, x19);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x29, &x30, x28,
+                                                              x20, x17);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x31, &x32, x30,
+                                                              x18, x15);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x33, &x34, x32,
+                                                              x16, x13);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x35, &x36, x34,
+                                                              x14, x11);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x37, &x38, x36,
+                                                              x12, x9);
+    x39 = (x38 + x10);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x40, &x41, x23,
+                                                         UINT32_C(0xa3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x42, &x43, x40,
+                                                         UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x44, &x45, x40,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x46, &x47, 0x0,
+                                                              x23, x44);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x48, &x49, x47,
+                                                              x25, x45);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x50, &x51, x49,
+                                                              x27, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x52, &x53, x51,
+                                                              x29, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x54, &x55, x53,
+                                                              x31, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x56, &x57, x55,
+                                                              x33, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x58, &x59, x57,
+                                                              x35, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x60, &x61, x59,
+                                                              x37, x42);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x62, &x63, x61,
+                                                              x39, x43);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x64, &x65, x1,
+                                                         (arg2[7]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x66, &x67, x1,
+                                                         (arg2[6]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x68, &x69, x1,
+                                                         (arg2[5]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x70, &x71, x1,
+                                                         (arg2[4]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x72, &x73, x1,
+                                                         (arg2[3]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x74, &x75, x1,
+                                                         (arg2[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x76, &x77, x1,
+                                                         (arg2[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x78, &x79, x1,
+                                                         (arg2[0]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x80, &x81, 0x0,
+                                                              x79, x76);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x82, &x83, x81,
+                                                              x77, x74);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x84, &x85, x83,
+                                                              x75, x72);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x86, &x87, x85,
+                                                              x73, x70);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x88, &x89, x87,
+                                                              x71, x68);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x90, &x91, x89,
+                                                              x69, x66);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x92, &x93, x91,
+                                                              x67, x64);
+    x94 = (x93 + x65);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x95, &x96, 0x0,
+                                                              x48, x78);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x97, &x98, x96,
+                                                              x50, x80);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x99, &x100, x98,
+                                                              x52, x82);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x101, &x102,
+                                                              x100, x54, x84);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x103, &x104,
+                                                              x102, x56, x86);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x105, &x106,
+                                                              x104, x58, x88);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x107, &x108,
+                                                              x106, x60, x90);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x109, &x110,
+                                                              x108, x62, x92);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x111, &x112,
+                                                              x110, x63, x94);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x113, &x114, x95,
+                                                         UINT32_C(0xa3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x115, &x116, x113,
+                                                         UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x117, &x118, x113,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x119, &x120, 0x0,
+                                                              x95, x117);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x121, &x122,
+                                                              x120, x97, x118);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x123, &x124,
+                                                              x122, x99, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x125, &x126,
+                                                              x124, x101, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x127, &x128,
+                                                              x126, x103, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x129, &x130,
+                                                              x128, x105, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x131, &x132,
+                                                              x130, x107, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x133, &x134,
+                                                              x132, x109, x115);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x135, &x136,
+                                                              x134, x111, x116);
+    x137 = ((uint32_t)x136 + x112);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x138, &x139, x2,
+                                                         (arg2[7]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x140, &x141, x2,
+                                                         (arg2[6]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x142, &x143, x2,
+                                                         (arg2[5]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x144, &x145, x2,
+                                                         (arg2[4]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x146, &x147, x2,
+                                                         (arg2[3]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x148, &x149, x2,
+                                                         (arg2[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x150, &x151, x2,
+                                                         (arg2[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x152, &x153, x2,
+                                                         (arg2[0]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x154, &x155, 0x0,
+                                                              x153, x150);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x156, &x157,
+                                                              x155, x151, x148);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x158, &x159,
+                                                              x157, x149, x146);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x160, &x161,
+                                                              x159, x147, x144);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x162, &x163,
+                                                              x161, x145, x142);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x164, &x165,
+                                                              x163, x143, x140);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x166, &x167,
+                                                              x165, x141, x138);
+    x168 = (x167 + x139);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x169, &x170, 0x0,
+                                                              x121, x152);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x171, &x172,
+                                                              x170, x123, x154);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x173, &x174,
+                                                              x172, x125, x156);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x175, &x176,
+                                                              x174, x127, x158);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x177, &x178,
+                                                              x176, x129, x160);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x179, &x180,
+                                                              x178, x131, x162);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x181, &x182,
+                                                              x180, x133, x164);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x183, &x184,
+                                                              x182, x135, x166);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x185, &x186,
+                                                              x184, x137, x168);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x187, &x188, x169,
+                                                         UINT32_C(0xa3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x189, &x190, x187,
+                                                         UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x191, &x192, x187,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x193, &x194, 0x0,
+                                                              x169, x191);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x195, &x196,
+                                                              x194, x171, x192);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x197, &x198,
+                                                              x196, x173, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x199, &x200,
+                                                              x198, x175, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x201, &x202,
+                                                              x200, x177, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x203, &x204,
+                                                              x202, x179, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x205, &x206,
+                                                              x204, x181, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x207, &x208,
+                                                              x206, x183, x189);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x209, &x210,
+                                                              x208, x185, x190);
+    x211 = ((uint32_t)x210 + x186);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x212, &x213, x3,
+                                                         (arg2[7]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x214, &x215, x3,
+                                                         (arg2[6]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x216, &x217, x3,
+                                                         (arg2[5]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x218, &x219, x3,
+                                                         (arg2[4]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x220, &x221, x3,
+                                                         (arg2[3]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x222, &x223, x3,
+                                                         (arg2[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x224, &x225, x3,
+                                                         (arg2[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x226, &x227, x3,
+                                                         (arg2[0]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x228, &x229, 0x0,
+                                                              x227, x224);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x230, &x231,
+                                                              x229, x225, x222);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x232, &x233,
+                                                              x231, x223, x220);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x234, &x235,
+                                                              x233, x221, x218);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x236, &x237,
+                                                              x235, x219, x216);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x238, &x239,
+                                                              x237, x217, x214);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x240, &x241,
+                                                              x239, x215, x212);
+    x242 = (x241 + x213);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x243, &x244, 0x0,
+                                                              x195, x226);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x245, &x246,
+                                                              x244, x197, x228);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x247, &x248,
+                                                              x246, x199, x230);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x249, &x250,
+                                                              x248, x201, x232);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x251, &x252,
+                                                              x250, x203, x234);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x253, &x254,
+                                                              x252, x205, x236);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x255, &x256,
+                                                              x254, x207, x238);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x257, &x258,
+                                                              x256, x209, x240);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x259, &x260,
+                                                              x258, x211, x242);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x261, &x262, x243,
+                                                         UINT32_C(0xa3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x263, &x264, x261,
+                                                         UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x265, &x266, x261,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x267, &x268, 0x0,
+                                                              x243, x265);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x269, &x270,
+                                                              x268, x245, x266);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x271, &x272,
+                                                              x270, x247, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x273, &x274,
+                                                              x272, x249, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x275, &x276,
+                                                              x274, x251, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x277, &x278,
+                                                              x276, x253, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x279, &x280,
+                                                              x278, x255, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x281, &x282,
+                                                              x280, x257, x263);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x283, &x284,
+                                                              x282, x259, x264);
+    x285 = ((uint32_t)x284 + x260);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x286, &x287, x4,
+                                                         (arg2[7]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x288, &x289, x4,
+                                                         (arg2[6]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x290, &x291, x4,
+                                                         (arg2[5]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x292, &x293, x4,
+                                                         (arg2[4]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x294, &x295, x4,
+                                                         (arg2[3]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x296, &x297, x4,
+                                                         (arg2[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x298, &x299, x4,
+                                                         (arg2[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x300, &x301, x4,
+                                                         (arg2[0]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x302, &x303, 0x0,
+                                                              x301, x298);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x304, &x305,
+                                                              x303, x299, x296);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x306, &x307,
+                                                              x305, x297, x294);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x308, &x309,
+                                                              x307, x295, x292);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x310, &x311,
+                                                              x309, x293, x290);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x312, &x313,
+                                                              x311, x291, x288);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x314, &x315,
+                                                              x313, x289, x286);
+    x316 = (x315 + x287);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x317, &x318, 0x0,
+                                                              x269, x300);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x319, &x320,
+                                                              x318, x271, x302);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x321, &x322,
+                                                              x320, x273, x304);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x323, &x324,
+                                                              x322, x275, x306);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x325, &x326,
+                                                              x324, x277, x308);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x327, &x328,
+                                                              x326, x279, x310);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x329, &x330,
+                                                              x328, x281, x312);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x331, &x332,
+                                                              x330, x283, x314);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x333, &x334,
+                                                              x332, x285, x316);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x335, &x336, x317,
+                                                         UINT32_C(0xa3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x337, &x338, x335,
+                                                         UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x339, &x340, x335,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x341, &x342, 0x0,
+                                                              x317, x339);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x343, &x344,
+                                                              x342, x319, x340);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x345, &x346,
+                                                              x344, x321, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x347, &x348,
+                                                              x346, x323, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x349, &x350,
+                                                              x348, x325, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x351, &x352,
+                                                              x350, x327, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x353, &x354,
+                                                              x352, x329, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x355, &x356,
+                                                              x354, x331, x337);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x357, &x358,
+                                                              x356, x333, x338);
+    x359 = ((uint32_t)x358 + x334);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x360, &x361, x5,
+                                                         (arg2[7]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x362, &x363, x5,
+                                                         (arg2[6]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x364, &x365, x5,
+                                                         (arg2[5]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x366, &x367, x5,
+                                                         (arg2[4]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x368, &x369, x5,
+                                                         (arg2[3]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x370, &x371, x5,
+                                                         (arg2[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x372, &x373, x5,
+                                                         (arg2[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x374, &x375, x5,
+                                                         (arg2[0]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x376, &x377, 0x0,
+                                                              x375, x372);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x378, &x379,
+                                                              x377, x373, x370);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x380, &x381,
+                                                              x379, x371, x368);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x382, &x383,
+                                                              x381, x369, x366);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x384, &x385,
+                                                              x383, x367, x364);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x386, &x387,
+                                                              x385, x365, x362);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x388, &x389,
+                                                              x387, x363, x360);
+    x390 = (x389 + x361);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x391, &x392, 0x0,
+                                                              x343, x374);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x393, &x394,
+                                                              x392, x345, x376);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x395, &x396,
+                                                              x394, x347, x378);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x397, &x398,
+                                                              x396, x349, x380);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x399, &x400,
+                                                              x398, x351, x382);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x401, &x402,
+                                                              x400, x353, x384);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x403, &x404,
+                                                              x402, x355, x386);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x405, &x406,
+                                                              x404, x357, x388);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x407, &x408,
+                                                              x406, x359, x390);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x409, &x410, x391,
+                                                         UINT32_C(0xa3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x411, &x412, x409,
+                                                         UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x413, &x414, x409,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x415, &x416, 0x0,
+                                                              x391, x413);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x417, &x418,
+                                                              x416, x393, x414);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x419, &x420,
+                                                              x418, x395, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x421, &x422,
+                                                              x420, x397, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x423, &x424,
+                                                              x422, x399, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x425, &x426,
+                                                              x424, x401, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x427, &x428,
+                                                              x426, x403, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x429, &x430,
+                                                              x428, x405, x411);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x431, &x432,
+                                                              x430, x407, x412);
+    x433 = ((uint32_t)x432 + x408);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x434, &x435, x6,
+                                                         (arg2[7]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x436, &x437, x6,
+                                                         (arg2[6]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x438, &x439, x6,
+                                                         (arg2[5]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x440, &x441, x6,
+                                                         (arg2[4]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x442, &x443, x6,
+                                                         (arg2[3]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x444, &x445, x6,
+                                                         (arg2[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x446, &x447, x6,
+                                                         (arg2[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x448, &x449, x6,
+                                                         (arg2[0]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x450, &x451, 0x0,
+                                                              x449, x446);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x452, &x453,
+                                                              x451, x447, x444);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x454, &x455,
+                                                              x453, x445, x442);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x456, &x457,
+                                                              x455, x443, x440);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x458, &x459,
+                                                              x457, x441, x438);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x460, &x461,
+                                                              x459, x439, x436);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x462, &x463,
+                                                              x461, x437, x434);
+    x464 = (x463 + x435);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x465, &x466, 0x0,
+                                                              x417, x448);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x467, &x468,
+                                                              x466, x419, x450);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x469, &x470,
+                                                              x468, x421, x452);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x471, &x472,
+                                                              x470, x423, x454);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x473, &x474,
+                                                              x472, x425, x456);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x475, &x476,
+                                                              x474, x427, x458);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x477, &x478,
+                                                              x476, x429, x460);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x479, &x480,
+                                                              x478, x431, x462);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x481, &x482,
+                                                              x480, x433, x464);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x483, &x484, x465,
+                                                         UINT32_C(0xa3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x485, &x486, x483,
+                                                         UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x487, &x488, x483,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x489, &x490, 0x0,
+                                                              x465, x487);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x491, &x492,
+                                                              x490, x467, x488);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x493, &x494,
+                                                              x492, x469, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x495, &x496,
+                                                              x494, x471, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x497, &x498,
+                                                              x496, x473, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x499, &x500,
+                                                              x498, x475, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x501, &x502,
+                                                              x500, x477, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x503, &x504,
+                                                              x502, x479, x485);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x505, &x506,
+                                                              x504, x481, x486);
+    x507 = ((uint32_t)x506 + x482);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x508, &x509, x7,
+                                                         (arg2[7]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x510, &x511, x7,
+                                                         (arg2[6]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x512, &x513, x7,
+                                                         (arg2[5]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x514, &x515, x7,
+                                                         (arg2[4]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x516, &x517, x7,
+                                                         (arg2[3]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x518, &x519, x7,
+                                                         (arg2[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x520, &x521, x7,
+                                                         (arg2[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x522, &x523, x7,
+                                                         (arg2[0]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x524, &x525, 0x0,
+                                                              x523, x520);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x526, &x527,
+                                                              x525, x521, x518);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x528, &x529,
+                                                              x527, x519, x516);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x530, &x531,
+                                                              x529, x517, x514);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x532, &x533,
+                                                              x531, x515, x512);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x534, &x535,
+                                                              x533, x513, x510);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x536, &x537,
+                                                              x535, x511, x508);
+    x538 = (x537 + x509);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x539, &x540, 0x0,
+                                                              x491, x522);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x541, &x542,
+                                                              x540, x493, x524);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x543, &x544,
+                                                              x542, x495, x526);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x545, &x546,
+                                                              x544, x497, x528);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x547, &x548,
+                                                              x546, x499, x530);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x549, &x550,
+                                                              x548, x501, x532);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x551, &x552,
+                                                              x550, x503, x534);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x553, &x554,
+                                                              x552, x505, x536);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x555, &x556,
+                                                              x554, x507, x538);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x557, &x558, x539,
+                                                         UINT32_C(0xa3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x559, &x560, x557,
+                                                         UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x561, &x562, x557,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x563, &x564, 0x0,
+                                                              x539, x561);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x565, &x566,
+                                                              x564, x541, x562);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x567, &x568,
+                                                              x566, x543, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x569, &x570,
+                                                              x568, x545, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x571, &x572,
+                                                              x570, x547, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x573, &x574,
+                                                              x572, x549, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x575, &x576,
+                                                              x574, x551, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x577, &x578,
+                                                              x576, x553, x559);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x579, &x580,
+                                                              x578, x555, x560);
+    x581 = ((uint32_t)x580 + x556);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(
+        &x582, &x583, 0x0, x565, UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x584, &x585,
+                                                               x583, x567, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x586, &x587,
+                                                               x585, x569, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x588, &x589,
+                                                               x587, x571, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x590, &x591,
+                                                               x589, x573, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x592, &x593,
+                                                               x591, x575, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x594, &x595,
+                                                               x593, x577, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(
+        &x596, &x597, x595, x579, UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x598, &x599,
+                                                               x597, x581, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x600, x599, x582,
+                                                            x565);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x601, x599, x584,
+                                                            x567);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x602, x599, x586,
+                                                            x569);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x603, x599, x588,
+                                                            x571);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x604, x599, x590,
+                                                            x573);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x605, x599, x592,
+                                                            x575);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x606, x599, x594,
+                                                            x577);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x607, x599, x596,
+                                                            x579);
+    out1[0] = x600;
+    out1[1] = x601;
+    out1[2] = x602;
+    out1[3] = x603;
+    out1[4] = x604;
+    out1[5] = x605;
+    out1[6] = x606;
+    out1[7] = x607;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_square squares a field element in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg1)) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[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]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_square(
+    uint32_t out1[8], const uint32_t arg1[8]) {
+    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;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x26;
+    uint32_t x27;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x28;
+    uint32_t x29;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x30;
+    uint32_t x31;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x32;
+    uint32_t x33;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x34;
+    uint32_t x35;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x36;
+    uint32_t x37;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x47;
+    uint32_t x48;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x49;
+    uint32_t x50;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x51;
+    uint32_t x52;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x53;
+    uint32_t x54;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x55;
+    uint32_t x56;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x57;
+    uint32_t x58;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x59;
+    uint32_t x60;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x61;
+    uint32_t x62;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x63;
+    uint32_t x64;
+    uint32_t x65;
+    uint32_t 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;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x81;
+    uint32_t x82;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x83;
+    uint32_t x84;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x85;
+    uint32_t x86;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x87;
+    uint32_t x88;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x89;
+    uint32_t x90;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x91;
+    uint32_t x92;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x93;
+    uint32_t x94;
+    uint32_t x95;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x96;
+    uint32_t x97;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x98;
+    uint32_t x99;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x100;
+    uint32_t x101;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x102;
+    uint32_t x103;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x104;
+    uint32_t x105;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x106;
+    uint32_t x107;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x108;
+    uint32_t x109;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x110;
+    uint32_t x111;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x112;
+    uint32_t x113;
+    uint32_t x114;
+    uint32_t x115;
+    uint32_t x116;
+    uint32_t x117;
+    uint32_t x118;
+    uint32_t x119;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x120;
+    uint32_t x121;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x122;
+    uint32_t x123;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x124;
+    uint32_t x125;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x126;
+    uint32_t x127;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x128;
+    uint32_t x129;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x130;
+    uint32_t x131;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x132;
+    uint32_t x133;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x134;
+    uint32_t x135;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x136;
+    uint32_t x137;
+    uint32_t x138;
+    uint32_t x139;
+    uint32_t x140;
+    uint32_t x141;
+    uint32_t x142;
+    uint32_t x143;
+    uint32_t x144;
+    uint32_t x145;
+    uint32_t x146;
+    uint32_t x147;
+    uint32_t x148;
+    uint32_t x149;
+    uint32_t x150;
+    uint32_t x151;
+    uint32_t x152;
+    uint32_t x153;
+    uint32_t x154;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x155;
+    uint32_t x156;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x157;
+    uint32_t x158;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x159;
+    uint32_t x160;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x161;
+    uint32_t x162;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x163;
+    uint32_t x164;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x165;
+    uint32_t x166;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x167;
+    uint32_t x168;
+    uint32_t x169;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x170;
+    uint32_t x171;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x172;
+    uint32_t x173;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x174;
+    uint32_t x175;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x176;
+    uint32_t x177;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x178;
+    uint32_t x179;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x180;
+    uint32_t x181;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x182;
+    uint32_t x183;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x184;
+    uint32_t x185;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x186;
+    uint32_t x187;
+    uint32_t x188;
+    uint32_t x189;
+    uint32_t x190;
+    uint32_t x191;
+    uint32_t x192;
+    uint32_t x193;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x194;
+    uint32_t x195;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x196;
+    uint32_t x197;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x198;
+    uint32_t x199;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x200;
+    uint32_t x201;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x202;
+    uint32_t x203;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x204;
+    uint32_t x205;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x206;
+    uint32_t x207;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x208;
+    uint32_t x209;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x210;
+    uint32_t x211;
+    uint32_t x212;
+    uint32_t x213;
+    uint32_t x214;
+    uint32_t x215;
+    uint32_t x216;
+    uint32_t x217;
+    uint32_t x218;
+    uint32_t x219;
+    uint32_t x220;
+    uint32_t x221;
+    uint32_t x222;
+    uint32_t x223;
+    uint32_t x224;
+    uint32_t x225;
+    uint32_t x226;
+    uint32_t x227;
+    uint32_t x228;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x229;
+    uint32_t x230;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x231;
+    uint32_t x232;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x233;
+    uint32_t x234;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x235;
+    uint32_t x236;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x237;
+    uint32_t x238;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x239;
+    uint32_t x240;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x241;
+    uint32_t x242;
+    uint32_t x243;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x244;
+    uint32_t x245;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x246;
+    uint32_t x247;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x248;
+    uint32_t x249;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x250;
+    uint32_t x251;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x252;
+    uint32_t x253;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x254;
+    uint32_t x255;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x256;
+    uint32_t x257;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x258;
+    uint32_t x259;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x260;
+    uint32_t x261;
+    uint32_t x262;
+    uint32_t x263;
+    uint32_t x264;
+    uint32_t x265;
+    uint32_t x266;
+    uint32_t x267;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x268;
+    uint32_t x269;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x270;
+    uint32_t x271;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x272;
+    uint32_t x273;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x274;
+    uint32_t x275;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x276;
+    uint32_t x277;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x278;
+    uint32_t x279;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x280;
+    uint32_t x281;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x282;
+    uint32_t x283;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x284;
+    uint32_t x285;
+    uint32_t x286;
+    uint32_t x287;
+    uint32_t x288;
+    uint32_t x289;
+    uint32_t x290;
+    uint32_t x291;
+    uint32_t x292;
+    uint32_t x293;
+    uint32_t x294;
+    uint32_t x295;
+    uint32_t x296;
+    uint32_t x297;
+    uint32_t x298;
+    uint32_t x299;
+    uint32_t x300;
+    uint32_t x301;
+    uint32_t x302;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x303;
+    uint32_t x304;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x305;
+    uint32_t x306;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x307;
+    uint32_t x308;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x309;
+    uint32_t x310;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x311;
+    uint32_t x312;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x313;
+    uint32_t x314;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x315;
+    uint32_t x316;
+    uint32_t x317;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x318;
+    uint32_t x319;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x320;
+    uint32_t x321;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x322;
+    uint32_t x323;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x324;
+    uint32_t x325;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x326;
+    uint32_t x327;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x328;
+    uint32_t x329;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x330;
+    uint32_t x331;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x332;
+    uint32_t x333;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x334;
+    uint32_t x335;
+    uint32_t x336;
+    uint32_t x337;
+    uint32_t x338;
+    uint32_t x339;
+    uint32_t x340;
+    uint32_t x341;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x342;
+    uint32_t x343;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x344;
+    uint32_t x345;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x346;
+    uint32_t x347;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x348;
+    uint32_t x349;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x350;
+    uint32_t x351;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x352;
+    uint32_t x353;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x354;
+    uint32_t x355;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x356;
+    uint32_t x357;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x358;
+    uint32_t x359;
+    uint32_t x360;
+    uint32_t x361;
+    uint32_t x362;
+    uint32_t x363;
+    uint32_t x364;
+    uint32_t x365;
+    uint32_t x366;
+    uint32_t x367;
+    uint32_t x368;
+    uint32_t x369;
+    uint32_t x370;
+    uint32_t x371;
+    uint32_t x372;
+    uint32_t x373;
+    uint32_t x374;
+    uint32_t x375;
+    uint32_t x376;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x377;
+    uint32_t x378;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x379;
+    uint32_t x380;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x381;
+    uint32_t x382;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x383;
+    uint32_t x384;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x385;
+    uint32_t x386;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x387;
+    uint32_t x388;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x389;
+    uint32_t x390;
+    uint32_t x391;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x392;
+    uint32_t x393;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x394;
+    uint32_t x395;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x396;
+    uint32_t x397;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x398;
+    uint32_t x399;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x400;
+    uint32_t x401;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x402;
+    uint32_t x403;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x404;
+    uint32_t x405;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x406;
+    uint32_t x407;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x408;
+    uint32_t x409;
+    uint32_t x410;
+    uint32_t x411;
+    uint32_t x412;
+    uint32_t x413;
+    uint32_t x414;
+    uint32_t x415;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x416;
+    uint32_t x417;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x418;
+    uint32_t x419;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x420;
+    uint32_t x421;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x422;
+    uint32_t x423;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x424;
+    uint32_t x425;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x426;
+    uint32_t x427;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x428;
+    uint32_t x429;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x430;
+    uint32_t x431;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x432;
+    uint32_t x433;
+    uint32_t x434;
+    uint32_t x435;
+    uint32_t x436;
+    uint32_t x437;
+    uint32_t x438;
+    uint32_t x439;
+    uint32_t x440;
+    uint32_t x441;
+    uint32_t x442;
+    uint32_t x443;
+    uint32_t x444;
+    uint32_t x445;
+    uint32_t x446;
+    uint32_t x447;
+    uint32_t x448;
+    uint32_t x449;
+    uint32_t x450;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x451;
+    uint32_t x452;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x453;
+    uint32_t x454;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x455;
+    uint32_t x456;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x457;
+    uint32_t x458;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x459;
+    uint32_t x460;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x461;
+    uint32_t x462;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x463;
+    uint32_t x464;
+    uint32_t x465;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x466;
+    uint32_t x467;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x468;
+    uint32_t x469;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x470;
+    uint32_t x471;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x472;
+    uint32_t x473;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x474;
+    uint32_t x475;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x476;
+    uint32_t x477;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x478;
+    uint32_t x479;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x480;
+    uint32_t x481;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x482;
+    uint32_t x483;
+    uint32_t x484;
+    uint32_t x485;
+    uint32_t x486;
+    uint32_t x487;
+    uint32_t x488;
+    uint32_t x489;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x490;
+    uint32_t x491;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x492;
+    uint32_t x493;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x494;
+    uint32_t x495;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x496;
+    uint32_t x497;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x498;
+    uint32_t x499;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x500;
+    uint32_t x501;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x502;
+    uint32_t x503;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x504;
+    uint32_t x505;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x506;
+    uint32_t x507;
+    uint32_t x508;
+    uint32_t x509;
+    uint32_t x510;
+    uint32_t x511;
+    uint32_t x512;
+    uint32_t x513;
+    uint32_t x514;
+    uint32_t x515;
+    uint32_t x516;
+    uint32_t x517;
+    uint32_t x518;
+    uint32_t x519;
+    uint32_t x520;
+    uint32_t x521;
+    uint32_t x522;
+    uint32_t x523;
+    uint32_t x524;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x525;
+    uint32_t x526;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x527;
+    uint32_t x528;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x529;
+    uint32_t x530;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x531;
+    uint32_t x532;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x533;
+    uint32_t x534;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x535;
+    uint32_t x536;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x537;
+    uint32_t x538;
+    uint32_t x539;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x540;
+    uint32_t x541;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x542;
+    uint32_t x543;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x544;
+    uint32_t x545;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x546;
+    uint32_t x547;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x548;
+    uint32_t x549;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x550;
+    uint32_t x551;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x552;
+    uint32_t x553;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x554;
+    uint32_t x555;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x556;
+    uint32_t x557;
+    uint32_t x558;
+    uint32_t x559;
+    uint32_t x560;
+    uint32_t x561;
+    uint32_t x562;
+    uint32_t x563;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x564;
+    uint32_t x565;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x566;
+    uint32_t x567;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x568;
+    uint32_t x569;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x570;
+    uint32_t x571;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x572;
+    uint32_t x573;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x574;
+    uint32_t x575;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x576;
+    uint32_t x577;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x578;
+    uint32_t x579;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x580;
+    uint32_t x581;
+    uint32_t x582;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x583;
+    uint32_t x584;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x585;
+    uint32_t x586;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x587;
+    uint32_t x588;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x589;
+    uint32_t x590;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x591;
+    uint32_t x592;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x593;
+    uint32_t x594;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x595;
+    uint32_t x596;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x597;
+    uint32_t x598;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x599;
+    uint32_t x600;
+    uint32_t x601;
+    uint32_t x602;
+    uint32_t x603;
+    uint32_t x604;
+    uint32_t x605;
+    uint32_t x606;
+    uint32_t x607;
+    x1 = (arg1[1]);
+    x2 = (arg1[2]);
+    x3 = (arg1[3]);
+    x4 = (arg1[4]);
+    x5 = (arg1[5]);
+    x6 = (arg1[6]);
+    x7 = (arg1[7]);
+    x8 = (arg1[0]);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x9, &x10, x8,
+                                                         (arg1[7]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x11, &x12, x8,
+                                                         (arg1[6]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x13, &x14, x8,
+                                                         (arg1[5]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x15, &x16, x8,
+                                                         (arg1[4]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x17, &x18, x8,
+                                                         (arg1[3]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x19, &x20, x8,
+                                                         (arg1[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x21, &x22, x8,
+                                                         (arg1[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x23, &x24, x8,
+                                                         (arg1[0]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x25, &x26, 0x0,
+                                                              x24, x21);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x27, &x28, x26,
+                                                              x22, x19);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x29, &x30, x28,
+                                                              x20, x17);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x31, &x32, x30,
+                                                              x18, x15);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x33, &x34, x32,
+                                                              x16, x13);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x35, &x36, x34,
+                                                              x14, x11);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x37, &x38, x36,
+                                                              x12, x9);
+    x39 = (x38 + x10);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x40, &x41, x23,
+                                                         UINT32_C(0xa3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x42, &x43, x40,
+                                                         UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x44, &x45, x40,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x46, &x47, 0x0,
+                                                              x23, x44);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x48, &x49, x47,
+                                                              x25, x45);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x50, &x51, x49,
+                                                              x27, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x52, &x53, x51,
+                                                              x29, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x54, &x55, x53,
+                                                              x31, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x56, &x57, x55,
+                                                              x33, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x58, &x59, x57,
+                                                              x35, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x60, &x61, x59,
+                                                              x37, x42);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x62, &x63, x61,
+                                                              x39, x43);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x64, &x65, x1,
+                                                         (arg1[7]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x66, &x67, x1,
+                                                         (arg1[6]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x68, &x69, x1,
+                                                         (arg1[5]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x70, &x71, x1,
+                                                         (arg1[4]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x72, &x73, x1,
+                                                         (arg1[3]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x74, &x75, x1,
+                                                         (arg1[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x76, &x77, x1,
+                                                         (arg1[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x78, &x79, x1,
+                                                         (arg1[0]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x80, &x81, 0x0,
+                                                              x79, x76);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x82, &x83, x81,
+                                                              x77, x74);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x84, &x85, x83,
+                                                              x75, x72);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x86, &x87, x85,
+                                                              x73, x70);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x88, &x89, x87,
+                                                              x71, x68);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x90, &x91, x89,
+                                                              x69, x66);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x92, &x93, x91,
+                                                              x67, x64);
+    x94 = (x93 + x65);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x95, &x96, 0x0,
+                                                              x48, x78);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x97, &x98, x96,
+                                                              x50, x80);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x99, &x100, x98,
+                                                              x52, x82);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x101, &x102,
+                                                              x100, x54, x84);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x103, &x104,
+                                                              x102, x56, x86);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x105, &x106,
+                                                              x104, x58, x88);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x107, &x108,
+                                                              x106, x60, x90);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x109, &x110,
+                                                              x108, x62, x92);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x111, &x112,
+                                                              x110, x63, x94);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x113, &x114, x95,
+                                                         UINT32_C(0xa3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x115, &x116, x113,
+                                                         UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x117, &x118, x113,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x119, &x120, 0x0,
+                                                              x95, x117);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x121, &x122,
+                                                              x120, x97, x118);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x123, &x124,
+                                                              x122, x99, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x125, &x126,
+                                                              x124, x101, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x127, &x128,
+                                                              x126, x103, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x129, &x130,
+                                                              x128, x105, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x131, &x132,
+                                                              x130, x107, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x133, &x134,
+                                                              x132, x109, x115);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x135, &x136,
+                                                              x134, x111, x116);
+    x137 = ((uint32_t)x136 + x112);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x138, &x139, x2,
+                                                         (arg1[7]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x140, &x141, x2,
+                                                         (arg1[6]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x142, &x143, x2,
+                                                         (arg1[5]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x144, &x145, x2,
+                                                         (arg1[4]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x146, &x147, x2,
+                                                         (arg1[3]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x148, &x149, x2,
+                                                         (arg1[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x150, &x151, x2,
+                                                         (arg1[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x152, &x153, x2,
+                                                         (arg1[0]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x154, &x155, 0x0,
+                                                              x153, x150);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x156, &x157,
+                                                              x155, x151, x148);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x158, &x159,
+                                                              x157, x149, x146);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x160, &x161,
+                                                              x159, x147, x144);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x162, &x163,
+                                                              x161, x145, x142);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x164, &x165,
+                                                              x163, x143, x140);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x166, &x167,
+                                                              x165, x141, x138);
+    x168 = (x167 + x139);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x169, &x170, 0x0,
+                                                              x121, x152);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x171, &x172,
+                                                              x170, x123, x154);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x173, &x174,
+                                                              x172, x125, x156);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x175, &x176,
+                                                              x174, x127, x158);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x177, &x178,
+                                                              x176, x129, x160);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x179, &x180,
+                                                              x178, x131, x162);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x181, &x182,
+                                                              x180, x133, x164);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x183, &x184,
+                                                              x182, x135, x166);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x185, &x186,
+                                                              x184, x137, x168);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x187, &x188, x169,
+                                                         UINT32_C(0xa3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x189, &x190, x187,
+                                                         UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x191, &x192, x187,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x193, &x194, 0x0,
+                                                              x169, x191);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x195, &x196,
+                                                              x194, x171, x192);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x197, &x198,
+                                                              x196, x173, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x199, &x200,
+                                                              x198, x175, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x201, &x202,
+                                                              x200, x177, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x203, &x204,
+                                                              x202, x179, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x205, &x206,
+                                                              x204, x181, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x207, &x208,
+                                                              x206, x183, x189);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x209, &x210,
+                                                              x208, x185, x190);
+    x211 = ((uint32_t)x210 + x186);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x212, &x213, x3,
+                                                         (arg1[7]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x214, &x215, x3,
+                                                         (arg1[6]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x216, &x217, x3,
+                                                         (arg1[5]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x218, &x219, x3,
+                                                         (arg1[4]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x220, &x221, x3,
+                                                         (arg1[3]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x222, &x223, x3,
+                                                         (arg1[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x224, &x225, x3,
+                                                         (arg1[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x226, &x227, x3,
+                                                         (arg1[0]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x228, &x229, 0x0,
+                                                              x227, x224);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x230, &x231,
+                                                              x229, x225, x222);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x232, &x233,
+                                                              x231, x223, x220);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x234, &x235,
+                                                              x233, x221, x218);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x236, &x237,
+                                                              x235, x219, x216);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x238, &x239,
+                                                              x237, x217, x214);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x240, &x241,
+                                                              x239, x215, x212);
+    x242 = (x241 + x213);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x243, &x244, 0x0,
+                                                              x195, x226);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x245, &x246,
+                                                              x244, x197, x228);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x247, &x248,
+                                                              x246, x199, x230);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x249, &x250,
+                                                              x248, x201, x232);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x251, &x252,
+                                                              x250, x203, x234);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x253, &x254,
+                                                              x252, x205, x236);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x255, &x256,
+                                                              x254, x207, x238);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x257, &x258,
+                                                              x256, x209, x240);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x259, &x260,
+                                                              x258, x211, x242);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x261, &x262, x243,
+                                                         UINT32_C(0xa3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x263, &x264, x261,
+                                                         UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x265, &x266, x261,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x267, &x268, 0x0,
+                                                              x243, x265);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x269, &x270,
+                                                              x268, x245, x266);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x271, &x272,
+                                                              x270, x247, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x273, &x274,
+                                                              x272, x249, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x275, &x276,
+                                                              x274, x251, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x277, &x278,
+                                                              x276, x253, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x279, &x280,
+                                                              x278, x255, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x281, &x282,
+                                                              x280, x257, x263);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x283, &x284,
+                                                              x282, x259, x264);
+    x285 = ((uint32_t)x284 + x260);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x286, &x287, x4,
+                                                         (arg1[7]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x288, &x289, x4,
+                                                         (arg1[6]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x290, &x291, x4,
+                                                         (arg1[5]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x292, &x293, x4,
+                                                         (arg1[4]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x294, &x295, x4,
+                                                         (arg1[3]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x296, &x297, x4,
+                                                         (arg1[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x298, &x299, x4,
+                                                         (arg1[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x300, &x301, x4,
+                                                         (arg1[0]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x302, &x303, 0x0,
+                                                              x301, x298);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x304, &x305,
+                                                              x303, x299, x296);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x306, &x307,
+                                                              x305, x297, x294);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x308, &x309,
+                                                              x307, x295, x292);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x310, &x311,
+                                                              x309, x293, x290);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x312, &x313,
+                                                              x311, x291, x288);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x314, &x315,
+                                                              x313, x289, x286);
+    x316 = (x315 + x287);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x317, &x318, 0x0,
+                                                              x269, x300);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x319, &x320,
+                                                              x318, x271, x302);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x321, &x322,
+                                                              x320, x273, x304);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x323, &x324,
+                                                              x322, x275, x306);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x325, &x326,
+                                                              x324, x277, x308);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x327, &x328,
+                                                              x326, x279, x310);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x329, &x330,
+                                                              x328, x281, x312);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x331, &x332,
+                                                              x330, x283, x314);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x333, &x334,
+                                                              x332, x285, x316);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x335, &x336, x317,
+                                                         UINT32_C(0xa3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x337, &x338, x335,
+                                                         UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x339, &x340, x335,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x341, &x342, 0x0,
+                                                              x317, x339);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x343, &x344,
+                                                              x342, x319, x340);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x345, &x346,
+                                                              x344, x321, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x347, &x348,
+                                                              x346, x323, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x349, &x350,
+                                                              x348, x325, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x351, &x352,
+                                                              x350, x327, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x353, &x354,
+                                                              x352, x329, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x355, &x356,
+                                                              x354, x331, x337);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x357, &x358,
+                                                              x356, x333, x338);
+    x359 = ((uint32_t)x358 + x334);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x360, &x361, x5,
+                                                         (arg1[7]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x362, &x363, x5,
+                                                         (arg1[6]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x364, &x365, x5,
+                                                         (arg1[5]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x366, &x367, x5,
+                                                         (arg1[4]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x368, &x369, x5,
+                                                         (arg1[3]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x370, &x371, x5,
+                                                         (arg1[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x372, &x373, x5,
+                                                         (arg1[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x374, &x375, x5,
+                                                         (arg1[0]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x376, &x377, 0x0,
+                                                              x375, x372);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x378, &x379,
+                                                              x377, x373, x370);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x380, &x381,
+                                                              x379, x371, x368);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x382, &x383,
+                                                              x381, x369, x366);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x384, &x385,
+                                                              x383, x367, x364);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x386, &x387,
+                                                              x385, x365, x362);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x388, &x389,
+                                                              x387, x363, x360);
+    x390 = (x389 + x361);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x391, &x392, 0x0,
+                                                              x343, x374);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x393, &x394,
+                                                              x392, x345, x376);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x395, &x396,
+                                                              x394, x347, x378);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x397, &x398,
+                                                              x396, x349, x380);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x399, &x400,
+                                                              x398, x351, x382);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x401, &x402,
+                                                              x400, x353, x384);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x403, &x404,
+                                                              x402, x355, x386);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x405, &x406,
+                                                              x404, x357, x388);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x407, &x408,
+                                                              x406, x359, x390);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x409, &x410, x391,
+                                                         UINT32_C(0xa3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x411, &x412, x409,
+                                                         UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x413, &x414, x409,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x415, &x416, 0x0,
+                                                              x391, x413);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x417, &x418,
+                                                              x416, x393, x414);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x419, &x420,
+                                                              x418, x395, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x421, &x422,
+                                                              x420, x397, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x423, &x424,
+                                                              x422, x399, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x425, &x426,
+                                                              x424, x401, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x427, &x428,
+                                                              x426, x403, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x429, &x430,
+                                                              x428, x405, x411);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x431, &x432,
+                                                              x430, x407, x412);
+    x433 = ((uint32_t)x432 + x408);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x434, &x435, x6,
+                                                         (arg1[7]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x436, &x437, x6,
+                                                         (arg1[6]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x438, &x439, x6,
+                                                         (arg1[5]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x440, &x441, x6,
+                                                         (arg1[4]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x442, &x443, x6,
+                                                         (arg1[3]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x444, &x445, x6,
+                                                         (arg1[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x446, &x447, x6,
+                                                         (arg1[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x448, &x449, x6,
+                                                         (arg1[0]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x450, &x451, 0x0,
+                                                              x449, x446);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x452, &x453,
+                                                              x451, x447, x444);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x454, &x455,
+                                                              x453, x445, x442);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x456, &x457,
+                                                              x455, x443, x440);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x458, &x459,
+                                                              x457, x441, x438);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x460, &x461,
+                                                              x459, x439, x436);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x462, &x463,
+                                                              x461, x437, x434);
+    x464 = (x463 + x435);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x465, &x466, 0x0,
+                                                              x417, x448);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x467, &x468,
+                                                              x466, x419, x450);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x469, &x470,
+                                                              x468, x421, x452);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x471, &x472,
+                                                              x470, x423, x454);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x473, &x474,
+                                                              x472, x425, x456);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x475, &x476,
+                                                              x474, x427, x458);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x477, &x478,
+                                                              x476, x429, x460);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x479, &x480,
+                                                              x478, x431, x462);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x481, &x482,
+                                                              x480, x433, x464);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x483, &x484, x465,
+                                                         UINT32_C(0xa3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x485, &x486, x483,
+                                                         UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x487, &x488, x483,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x489, &x490, 0x0,
+                                                              x465, x487);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x491, &x492,
+                                                              x490, x467, x488);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x493, &x494,
+                                                              x492, x469, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x495, &x496,
+                                                              x494, x471, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x497, &x498,
+                                                              x496, x473, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x499, &x500,
+                                                              x498, x475, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x501, &x502,
+                                                              x500, x477, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x503, &x504,
+                                                              x502, x479, x485);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x505, &x506,
+                                                              x504, x481, x486);
+    x507 = ((uint32_t)x506 + x482);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x508, &x509, x7,
+                                                         (arg1[7]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x510, &x511, x7,
+                                                         (arg1[6]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x512, &x513, x7,
+                                                         (arg1[5]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x514, &x515, x7,
+                                                         (arg1[4]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x516, &x517, x7,
+                                                         (arg1[3]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x518, &x519, x7,
+                                                         (arg1[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x520, &x521, x7,
+                                                         (arg1[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x522, &x523, x7,
+                                                         (arg1[0]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x524, &x525, 0x0,
+                                                              x523, x520);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x526, &x527,
+                                                              x525, x521, x518);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x528, &x529,
+                                                              x527, x519, x516);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x530, &x531,
+                                                              x529, x517, x514);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x532, &x533,
+                                                              x531, x515, x512);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x534, &x535,
+                                                              x533, x513, x510);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x536, &x537,
+                                                              x535, x511, x508);
+    x538 = (x537 + x509);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x539, &x540, 0x0,
+                                                              x491, x522);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x541, &x542,
+                                                              x540, x493, x524);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x543, &x544,
+                                                              x542, x495, x526);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x545, &x546,
+                                                              x544, x497, x528);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x547, &x548,
+                                                              x546, x499, x530);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x549, &x550,
+                                                              x548, x501, x532);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x551, &x552,
+                                                              x550, x503, x534);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x553, &x554,
+                                                              x552, x505, x536);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x555, &x556,
+                                                              x554, x507, x538);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x557, &x558, x539,
+                                                         UINT32_C(0xa3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x559, &x560, x557,
+                                                         UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x561, &x562, x557,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x563, &x564, 0x0,
+                                                              x539, x561);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x565, &x566,
+                                                              x564, x541, x562);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x567, &x568,
+                                                              x566, x543, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x569, &x570,
+                                                              x568, x545, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x571, &x572,
+                                                              x570, x547, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x573, &x574,
+                                                              x572, x549, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x575, &x576,
+                                                              x574, x551, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x577, &x578,
+                                                              x576, x553, x559);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x579, &x580,
+                                                              x578, x555, x560);
+    x581 = ((uint32_t)x580 + x556);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(
+        &x582, &x583, 0x0, x565, UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x584, &x585,
+                                                               x583, x567, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x586, &x587,
+                                                               x585, x569, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x588, &x589,
+                                                               x587, x571, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x590, &x591,
+                                                               x589, x573, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x592, &x593,
+                                                               x591, x575, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x594, &x595,
+                                                               x593, x577, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(
+        &x596, &x597, x595, x579, UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x598, &x599,
+                                                               x597, x581, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x600, x599, x582,
+                                                            x565);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x601, x599, x584,
+                                                            x567);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x602, x599, x586,
+                                                            x569);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x603, x599, x588,
+                                                            x571);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x604, x599, x590,
+                                                            x573);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x605, x599, x592,
+                                                            x575);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x606, x599, x594,
+                                                            x577);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x607, x599, x596,
+                                                            x579);
+    out1[0] = x600;
+    out1[1] = x601;
+    out1[2] = x602;
+    out1[3] = x603;
+    out1[4] = x604;
+    out1[5] = x605;
+    out1[6] = x606;
+    out1[7] = x607;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add adds two field elements in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ *   0 ≤ eval arg2 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) + eval (from_montgomery arg2)) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ *   arg2: [[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]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(
+    uint32_t out1[8], const uint32_t arg1[8], const uint32_t arg2[8]) {
+    uint32_t x1;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x2;
+    uint32_t x3;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x4;
+    uint32_t x5;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x6;
+    uint32_t x7;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x8;
+    uint32_t x9;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x10;
+    uint32_t x11;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x12;
+    uint32_t x13;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x14;
+    uint32_t x15;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x16;
+    uint32_t x17;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x18;
+    uint32_t x19;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x20;
+    uint32_t x21;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x22;
+    uint32_t x23;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x24;
+    uint32_t x25;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x26;
+    uint32_t x27;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x28;
+    uint32_t x29;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x30;
+    uint32_t x31;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x32;
+    uint32_t x33;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(
+        &x1, &x2, 0x0, (arg1[0]), (arg2[0]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(
+        &x3, &x4, x2, (arg1[1]), (arg2[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(
+        &x5, &x6, x4, (arg1[2]), (arg2[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(
+        &x7, &x8, x6, (arg1[3]), (arg2[3]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(
+        &x9, &x10, x8, (arg1[4]), (arg2[4]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(
+        &x11, &x12, x10, (arg1[5]), (arg2[5]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(
+        &x13, &x14, x12, (arg1[6]), (arg2[6]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(
+        &x15, &x16, x14, (arg1[7]), (arg2[7]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(
+        &x17, &x18, 0x0, x1, UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x19, &x20, x18,
+                                                               x3, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x21, &x22, x20,
+                                                               x5, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x23, &x24, x22,
+                                                               x7, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x25, &x26, x24,
+                                                               x9, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x27, &x28, x26,
+                                                               x11, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x29, &x30, x28,
+                                                               x13, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(
+        &x31, &x32, x30, x15, UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x33, &x34, x32,
+                                                               x16, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x35, x34, x17, x1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x36, x34, x19, x3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x37, x34, x21, x5);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x38, x34, x23, x7);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x39, x34, x25, x9);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x40, x34, x27,
+                                                            x11);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x41, x34, x29,
+                                                            x13);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x42, x34, x31,
+                                                            x15);
+    out1[0] = x35;
+    out1[1] = x36;
+    out1[2] = x37;
+    out1[3] = x38;
+    out1[4] = x39;
+    out1[5] = x40;
+    out1[6] = x41;
+    out1[7] = x42;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub subtracts two field elements in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ *   0 ≤ eval arg2 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) - eval (from_montgomery arg2)) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ *   arg2: [[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]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(
+    uint32_t out1[8], const uint32_t arg1[8], const uint32_t arg2[8]) {
+    uint32_t x1;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x2;
+    uint32_t x3;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x4;
+    uint32_t x5;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x6;
+    uint32_t x7;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x8;
+    uint32_t x9;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x10;
+    uint32_t x11;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x12;
+    uint32_t x13;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x14;
+    uint32_t x15;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x16;
+    uint32_t x17;
+    uint32_t x18;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x19;
+    uint32_t x20;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x21;
+    uint32_t x22;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x23;
+    uint32_t x24;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x25;
+    uint32_t x26;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x27;
+    uint32_t x28;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x29;
+    uint32_t x30;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x31;
+    uint32_t x32;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x33;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(
+        &x1, &x2, 0x0, (arg1[0]), (arg2[0]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(
+        &x3, &x4, x2, (arg1[1]), (arg2[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(
+        &x5, &x6, x4, (arg1[2]), (arg2[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(
+        &x7, &x8, x6, (arg1[3]), (arg2[3]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(
+        &x9, &x10, x8, (arg1[4]), (arg2[4]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(
+        &x11, &x12, x10, (arg1[5]), (arg2[5]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(
+        &x13, &x14, x12, (arg1[6]), (arg2[6]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(
+        &x15, &x16, x14, (arg1[7]), (arg2[7]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(
+        &x17, x16, 0x0, UINT32_C(0xffffffff));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(
+        &x18, &x19, 0x0, x1, (x17 & UINT16_C(0xc99)));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x20, &x21, x19,
+                                                              x3, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x22, &x23, x21,
+                                                              x5, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x24, &x25, x23,
+                                                              x7, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x26, &x27, x25,
+                                                              x9, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x28, &x29, x27,
+                                                              x11, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x30, &x31, x29,
+                                                              x13, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(
+        &x32, &x33, x31, x15, (x17 & UINT32_C(0x80000000)));
+    out1[0] = x18;
+    out1[1] = x20;
+    out1[2] = x22;
+    out1[3] = x24;
+    out1[4] = x26;
+    out1[5] = x28;
+    out1[6] = x30;
+    out1[7] = x32;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_opp negates a field element in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = -eval (from_montgomery arg1) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[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]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_opp(
+    uint32_t out1[8], const uint32_t arg1[8]) {
+    uint32_t x1;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x2;
+    uint32_t x3;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x4;
+    uint32_t x5;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x6;
+    uint32_t x7;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x8;
+    uint32_t x9;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x10;
+    uint32_t x11;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x12;
+    uint32_t x13;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x14;
+    uint32_t x15;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x16;
+    uint32_t x17;
+    uint32_t x18;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x19;
+    uint32_t x20;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x21;
+    uint32_t x22;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x23;
+    uint32_t x24;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x25;
+    uint32_t x26;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x27;
+    uint32_t x28;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x29;
+    uint32_t x30;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x31;
+    uint32_t x32;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x33;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x1, &x2, 0x0,
+                                                               0x0, (arg1[0]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x3, &x4, x2,
+                                                               0x0, (arg1[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x5, &x6, x4,
+                                                               0x0, (arg1[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x7, &x8, x6,
+                                                               0x0, (arg1[3]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x9, &x10, x8,
+                                                               0x0, (arg1[4]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x11, &x12, x10,
+                                                               0x0, (arg1[5]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x13, &x14, x12,
+                                                               0x0, (arg1[6]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x15, &x16, x14,
+                                                               0x0, (arg1[7]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(
+        &x17, x16, 0x0, UINT32_C(0xffffffff));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(
+        &x18, &x19, 0x0, x1, (x17 & UINT16_C(0xc99)));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x20, &x21, x19,
+                                                              x3, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x22, &x23, x21,
+                                                              x5, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x24, &x25, x23,
+                                                              x7, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x26, &x27, x25,
+                                                              x9, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x28, &x29, x27,
+                                                              x11, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x30, &x31, x29,
+                                                              x13, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(
+        &x32, &x33, x31, x15, (x17 & UINT32_C(0x80000000)));
+    out1[0] = x18;
+    out1[1] = x20;
+    out1[2] = x22;
+    out1[3] = x24;
+    out1[4] = x26;
+    out1[5] = x28;
+    out1[6] = x30;
+    out1[7] = x32;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_from_montgomery translates a field element out of the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   eval out1 mod m = (eval arg1 * ((2^32)⁻¹ mod m)^8) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[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]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_from_montgomery(
+    uint32_t out1[8], const uint32_t arg1[8]) {
+    uint32_t x1;
+    uint32_t x2;
+    uint32_t x3;
+    uint32_t x4;
+    uint32_t x5;
+    uint32_t x6;
+    uint32_t x7;
+    uint32_t x8;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x9;
+    uint32_t x10;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x11;
+    uint32_t x12;
+    uint32_t x13;
+    uint32_t x14;
+    uint32_t x15;
+    uint32_t x16;
+    uint32_t x17;
+    uint32_t x18;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x19;
+    uint32_t x20;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x21;
+    uint32_t x22;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x23;
+    uint32_t x24;
+    uint32_t x25;
+    uint32_t x26;
+    uint32_t x27;
+    uint32_t x28;
+    uint32_t x29;
+    uint32_t x30;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x31;
+    uint32_t x32;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x33;
+    uint32_t x34;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x35;
+    uint32_t x36;
+    uint32_t x37;
+    uint32_t x38;
+    uint32_t x39;
+    uint32_t x40;
+    uint32_t x41;
+    uint32_t x42;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x43;
+    uint32_t x44;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x45;
+    uint32_t x46;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x47;
+    uint32_t x48;
+    uint32_t x49;
+    uint32_t x50;
+    uint32_t x51;
+    uint32_t x52;
+    uint32_t x53;
+    uint32_t x54;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x55;
+    uint32_t x56;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x57;
+    uint32_t x58;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x59;
+    uint32_t x60;
+    uint32_t x61;
+    uint32_t x62;
+    uint32_t x63;
+    uint32_t x64;
+    uint32_t x65;
+    uint32_t x66;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x67;
+    uint32_t x68;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x69;
+    uint32_t x70;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x71;
+    uint32_t x72;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x73;
+    uint32_t x74;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x75;
+    uint32_t x76;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x77;
+    uint32_t x78;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x79;
+    uint32_t x80;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x81;
+    uint32_t x82;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x83;
+    uint32_t x84;
+    uint32_t x85;
+    uint32_t x86;
+    uint32_t x87;
+    uint32_t x88;
+    uint32_t x89;
+    uint32_t x90;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x91;
+    uint32_t x92;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x93;
+    uint32_t x94;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x95;
+    uint32_t x96;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x97;
+    uint32_t x98;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x99;
+    uint32_t x100;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x101;
+    uint32_t x102;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x103;
+    uint32_t x104;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x105;
+    uint32_t x106;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x107;
+    uint32_t x108;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x109;
+    uint32_t x110;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x111;
+    uint32_t x112;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x113;
+    uint32_t x114;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x115;
+    uint32_t x116;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x117;
+    uint32_t x118;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x119;
+    uint32_t x120;
+    uint32_t x121;
+    uint32_t x122;
+    uint32_t x123;
+    uint32_t x124;
+    uint32_t x125;
+    uint32_t x126;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x127;
+    uint32_t x128;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x129;
+    uint32_t x130;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x131;
+    uint32_t x132;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x133;
+    uint32_t x134;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x135;
+    uint32_t x136;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x137;
+    uint32_t x138;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x139;
+    uint32_t x140;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x141;
+    uint32_t x142;
+    uint32_t x143;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x144;
+    uint32_t x145;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x146;
+    uint32_t x147;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x148;
+    uint32_t x149;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x150;
+    uint32_t x151;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x152;
+    uint32_t x153;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x154;
+    uint32_t x155;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x156;
+    uint32_t x157;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x158;
+    uint32_t x159;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x160;
+    uint32_t x161;
+    uint32_t x162;
+    uint32_t x163;
+    uint32_t x164;
+    uint32_t x165;
+    uint32_t x166;
+    uint32_t x167;
+    uint32_t x168;
+    x1 = (arg1[0]);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x2, &x3, x1,
+                                                         UINT32_C(0xa3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x4, &x5, x2,
+                                                         UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x6, &x7, x2,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x8, &x9, 0x0, x1,
+                                                              x6);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(
+        &x10, &x11, 0x0, (x9 + x7), (arg1[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x12, &x13, x10,
+                                                         UINT32_C(0xa3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x14, &x15, x12,
+                                                         UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x16, &x17, x12,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x18, &x19, 0x0,
+                                                              x5, x14);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x20, &x21, 0x0,
+                                                              x10, x16);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(
+        &x22, &x23, 0x0, (((uint32_t)x21 + x11) + x17), (arg1[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x24, &x25, x22,
+                                                         UINT32_C(0xa3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x26, &x27, x24,
+                                                         UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x28, &x29, x24,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x30, &x31, 0x0,
+                                                              (x19 + x15), x26);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x32, &x33, 0x0,
+                                                              x22, x28);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(
+        &x34, &x35, 0x0, (((uint32_t)x33 + x23) + x29), (arg1[3]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x36, &x37, x34,
+                                                         UINT32_C(0xa3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x38, &x39, x36,
+                                                         UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x40, &x41, x36,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x42, &x43, 0x0,
+                                                              (x31 + x27), x38);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x44, &x45, 0x0,
+                                                              x34, x40);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(
+        &x46, &x47, 0x0, (((uint32_t)x45 + x35) + x41), (arg1[4]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x48, &x49, x46,
+                                                         UINT32_C(0xa3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x50, &x51, x48,
+                                                         UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x52, &x53, x48,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x54, &x55, 0x0,
+                                                              (x43 + x39), x50);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x56, &x57, 0x0,
+                                                              x46, x52);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(
+        &x58, &x59, 0x0, (((uint32_t)x57 + x47) + x53), (arg1[5]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x60, &x61, x58,
+                                                         UINT32_C(0xa3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x62, &x63, x60,
+                                                         UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x64, &x65, x60,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x66, &x67, 0x0,
+                                                              (x55 + x51), x62);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x68, &x69, 0x0,
+                                                              x58, x64);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(
+        &x70, &x71, 0x0, (((uint32_t)x69 + x59) + x65), (arg1[6]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x72, &x73, x71,
+                                                              x4, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x74, &x75, x73,
+                                                              x18, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x76, &x77, x75,
+                                                              x30, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x78, &x79, x77,
+                                                              x42, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x80, &x81, x79,
+                                                              x54, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x82, &x83, x81,
+                                                              x66, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x84, &x85, x70,
+                                                         UINT32_C(0xa3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x86, &x87, x84,
+                                                         UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x88, &x89, x84,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x90, &x91, 0x0,
+                                                              x70, x88);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x92, &x93, x91,
+                                                              x72, x89);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x94, &x95, x93,
+                                                              x74, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x96, &x97, x95,
+                                                              x76, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x98, &x99, x97,
+                                                              x78, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x100, &x101, x99,
+                                                              x80, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x102, &x103,
+                                                              x101, x82, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(
+        &x104, &x105, x103, (x83 + (x67 + x63)), x86);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x106, &x107, 0x0,
+                                                              x92, (arg1[7]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x108, &x109,
+                                                              x107, x94, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x110, &x111,
+                                                              x109, x96, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x112, &x113,
+                                                              x111, x98, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x114, &x115,
+                                                              x113, x100, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x116, &x117,
+                                                              x115, x102, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x118, &x119,
+                                                              x117, x104, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x120, &x121, x106,
+                                                         UINT32_C(0xa3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x122, &x123, x120,
+                                                         UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x124, &x125, x120,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x126, &x127, 0x0,
+                                                              x106, x124);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x128, &x129,
+                                                              x127, x108, x125);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x130, &x131,
+                                                              x129, x110, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x132, &x133,
+                                                              x131, x112, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x134, &x135,
+                                                              x133, x114, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x136, &x137,
+                                                              x135, x116, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x138, &x139,
+                                                              x137, x118, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(
+        &x140, &x141, x139, (x119 + (x105 + x87)), x122);
+    x142 = (x141 + x123);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(
+        &x143, &x144, 0x0, x128, UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x145, &x146,
+                                                               x144, x130, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x147, &x148,
+                                                               x146, x132, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x149, &x150,
+                                                               x148, x134, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x151, &x152,
+                                                               x150, x136, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x153, &x154,
+                                                               x152, x138, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x155, &x156,
+                                                               x154, x140, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(
+        &x157, &x158, x156, x142, UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x159, &x160,
+                                                               x158, 0x0, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x161, x160, x143,
+                                                            x128);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x162, x160, x145,
+                                                            x130);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x163, x160, x147,
+                                                            x132);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x164, x160, x149,
+                                                            x134);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x165, x160, x151,
+                                                            x136);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x166, x160, x153,
+                                                            x138);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x167, x160, x155,
+                                                            x140);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x168, x160, x157,
+                                                            x142);
+    out1[0] = x161;
+    out1[1] = x162;
+    out1[2] = x163;
+    out1[3] = x164;
+    out1[4] = x165;
+    out1[5] = x166;
+    out1[6] = x167;
+    out1[7] = x168;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_to_montgomery translates a field element into the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = eval arg1 mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[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]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_to_montgomery(
+    uint32_t out1[8], const uint32_t arg1[8]) {
+    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;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x12;
+    uint32_t x13;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x14;
+    uint32_t x15;
+    uint32_t x16;
+    uint32_t x17;
+    uint32_t x18;
+    uint32_t x19;
+    uint32_t x20;
+    uint32_t x21;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x22;
+    uint32_t x23;
+    uint32_t x24;
+    uint32_t x25;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x26;
+    uint32_t x27;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x28;
+    uint32_t x29;
+    uint32_t x30;
+    uint32_t x31;
+    uint32_t x32;
+    uint32_t x33;
+    uint32_t x34;
+    uint32_t x35;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x36;
+    uint32_t x37;
+    uint32_t x38;
+    uint32_t x39;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x40;
+    uint32_t x41;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x42;
+    uint32_t x43;
+    uint32_t x44;
+    uint32_t x45;
+    uint32_t x46;
+    uint32_t x47;
+    uint32_t x48;
+    uint32_t x49;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x50;
+    uint32_t x51;
+    uint32_t x52;
+    uint32_t x53;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x54;
+    uint32_t x55;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x56;
+    uint32_t x57;
+    uint32_t x58;
+    uint32_t x59;
+    uint32_t x60;
+    uint32_t x61;
+    uint32_t x62;
+    uint32_t x63;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x64;
+    uint32_t x65;
+    uint32_t x66;
+    uint32_t x67;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x68;
+    uint32_t x69;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x70;
+    uint32_t x71;
+    uint32_t x72;
+    uint32_t x73;
+    uint32_t x74;
+    uint32_t x75;
+    uint32_t x76;
+    uint32_t x77;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x78;
+    uint32_t x79;
+    uint32_t x80;
+    uint32_t x81;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x82;
+    uint32_t x83;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x84;
+    uint32_t x85;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x86;
+    uint32_t x87;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x88;
+    uint32_t x89;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x90;
+    uint32_t x91;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x92;
+    uint32_t x93;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x94;
+    uint32_t x95;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x96;
+    uint32_t x97;
+    uint32_t x98;
+    uint32_t x99;
+    uint32_t x100;
+    uint32_t x101;
+    uint32_t x102;
+    uint32_t x103;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x104;
+    uint32_t x105;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x106;
+    uint32_t x107;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x108;
+    uint32_t x109;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x110;
+    uint32_t x111;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x112;
+    uint32_t x113;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x114;
+    uint32_t x115;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x116;
+    uint32_t x117;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x118;
+    uint32_t x119;
+    uint32_t x120;
+    uint32_t x121;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x122;
+    uint32_t x123;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x124;
+    uint32_t x125;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x126;
+    uint32_t x127;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x128;
+    uint32_t x129;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x130;
+    uint32_t x131;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x132;
+    uint32_t x133;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x134;
+    uint32_t x135;
+    uint32_t x136;
+    uint32_t x137;
+    uint32_t x138;
+    uint32_t x139;
+    uint32_t x140;
+    uint32_t x141;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x142;
+    uint32_t x143;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x144;
+    uint32_t x145;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x146;
+    uint32_t x147;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x148;
+    uint32_t x149;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x150;
+    uint32_t x151;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x152;
+    uint32_t x153;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x154;
+    uint32_t x155;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x156;
+    uint32_t x157;
+    uint32_t x158;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x159;
+    uint32_t x160;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x161;
+    uint32_t x162;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x163;
+    uint32_t x164;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x165;
+    uint32_t x166;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x167;
+    uint32_t x168;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x169;
+    uint32_t x170;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x171;
+    uint32_t x172;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x173;
+    uint32_t x174;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 x175;
+    uint32_t x176;
+    uint32_t x177;
+    uint32_t x178;
+    uint32_t x179;
+    uint32_t x180;
+    uint32_t x181;
+    uint32_t x182;
+    uint32_t x183;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x1, &x2, (arg1[0]),
+                                                         UINT32_C(0x27acdc4));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x3, &x4, x1,
+                                                         UINT32_C(0xa3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x5, &x6, x3,
+                                                         UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x7, &x8, x3,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x9, &x10, (arg1[1]),
+                                                         UINT32_C(0x27acdc4));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x11, &x12, 0x0,
+                                                              x1, x7);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(
+        &x13, &x14, 0x0, ((x12 + x2) + x8), x9);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x15, &x16, x13,
+                                                         UINT32_C(0xa3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x17, &x18, x15,
+                                                         UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x19, &x20, x15,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x21, &x22, 0x0,
+                                                              x6, x17);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x23, &x24, (arg1[2]),
+                                                         UINT32_C(0x27acdc4));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x25, &x26, 0x0,
+                                                              x13, x19);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(
+        &x27, &x28, 0x0, ((x26 + (x14 + x10)) + x20), x23);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x29, &x30, x27,
+                                                         UINT32_C(0xa3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x31, &x32, x29,
+                                                         UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x33, &x34, x29,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x35, &x36, 0x0,
+                                                              (x22 + x18), x31);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x37, &x38, (arg1[3]),
+                                                         UINT32_C(0x27acdc4));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x39, &x40, 0x0,
+                                                              x27, x33);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(
+        &x41, &x42, 0x0, ((x40 + (x28 + x24)) + x34), x37);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x43, &x44, x41,
+                                                         UINT32_C(0xa3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x45, &x46, x43,
+                                                         UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x47, &x48, x43,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x49, &x50, 0x0,
+                                                              (x36 + x32), x45);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x51, &x52, (arg1[4]),
+                                                         UINT32_C(0x27acdc4));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x53, &x54, 0x0,
+                                                              x41, x47);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(
+        &x55, &x56, 0x0, ((x54 + (x42 + x38)) + x48), x51);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x57, &x58, x55,
+                                                         UINT32_C(0xa3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x59, &x60, x57,
+                                                         UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x61, &x62, x57,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x63, &x64, 0x0,
+                                                              (x50 + x46), x59);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x65, &x66, (arg1[5]),
+                                                         UINT32_C(0x27acdc4));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x67, &x68, 0x0,
+                                                              x55, x61);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(
+        &x69, &x70, 0x0, ((x68 + (x56 + x52)) + x62), x65);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x71, &x72, x69,
+                                                         UINT32_C(0xa3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x73, &x74, x71,
+                                                         UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x75, &x76, x71,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x77, &x78, 0x0,
+                                                              (x64 + x60), x73);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x79, &x80, (arg1[6]),
+                                                         UINT32_C(0x27acdc4));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x81, &x82, 0x0,
+                                                              x69, x75);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(
+        &x83, &x84, 0x0, ((x82 + (x70 + x66)) + x76), x79);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x85, &x86, x84,
+                                                              x5, x80);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x87, &x88, x86,
+                                                              x21, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x89, &x90, x88,
+                                                              x35, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x91, &x92, x90,
+                                                              x49, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x93, &x94, x92,
+                                                              x63, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x95, &x96, x94,
+                                                              x77, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x97, &x98, x83,
+                                                         UINT32_C(0xa3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x99, &x100, x97,
+                                                         UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x101, &x102, x97,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x103, &x104, 0x0,
+                                                              x83, x101);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x105, &x106,
+                                                              x104, x85, x102);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x107, &x108,
+                                                              x106, x87, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x109, &x110,
+                                                              x108, x89, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x111, &x112,
+                                                              x110, x91, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x113, &x114,
+                                                              x112, x93, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x115, &x116,
+                                                              x114, x95, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(
+        &x117, &x118, x116, (x96 + (x78 + x74)), x99);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(
+        &x119, &x120, (arg1[7]), UINT32_C(0x27acdc4));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x121, &x122, 0x0,
+                                                              x105, x119);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x123, &x124,
+                                                              x122, x107, x120);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x125, &x126,
+                                                              x124, x109, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x127, &x128,
+                                                              x126, x111, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x129, &x130,
+                                                              x128, x113, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x131, &x132,
+                                                              x130, x115, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x133, &x134,
+                                                              x132, x117, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x135, &x136, x121,
+                                                         UINT32_C(0xa3347857));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x137, &x138, x135,
+                                                         UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mulx_u32(&x139, &x140, x135,
+                                                         UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x141, &x142, 0x0,
+                                                              x121, x139);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x143, &x144,
+                                                              x142, x123, x140);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x145, &x146,
+                                                              x144, x125, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x147, &x148,
+                                                              x146, x127, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x149, &x150,
+                                                              x148, x129, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x151, &x152,
+                                                              x150, x131, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(&x153, &x154,
+                                                              x152, x133, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_addcarryx_u32(
+        &x155, &x156, x154, (x134 + (x118 + x100)), x137);
+    x157 = (x156 + x138);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(
+        &x158, &x159, 0x0, x143, UINT16_C(0xc99));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x160, &x161,
+                                                               x159, x145, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x162, &x163,
+                                                               x161, x147, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x164, &x165,
+                                                               x163, x149, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x166, &x167,
+                                                               x165, x151, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x168, &x169,
+                                                               x167, x153, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x170, &x171,
+                                                               x169, x155, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(
+        &x172, &x173, x171, x157, UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_subborrowx_u32(&x174, &x175,
+                                                               x173, 0x0, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x176, x175, x158,
+                                                            x143);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x177, x175, x160,
+                                                            x145);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x178, x175, x162,
+                                                            x147);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x179, x175, x164,
+                                                            x149);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x180, x175, x166,
+                                                            x151);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x181, x175, x168,
+                                                            x153);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x182, x175, x170,
+                                                            x155);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(&x183, x175, x172,
+                                                            x157);
+    out1[0] = x176;
+    out1[1] = x177;
+    out1[2] = x178;
+    out1[3] = x179;
+    out1[4] = x180;
+    out1[5] = x181;
+    out1[6] = x182;
+    out1[7] = x183;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_nonzero outputs a single non-zero word if the input is non-zero and zero otherwise.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   out1 = 0 ↔ eval (from_montgomery arg1) mod m = 0
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffffff]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_nonzero(
+    uint32_t *out1, const uint32_t arg1[8]) {
+    uint32_t x1;
+    x1 = ((arg1[0]) |
+          ((arg1[1]) |
+           ((arg1[2]) |
+            ((arg1[3]) |
+             ((arg1[4]) |
+              ((arg1[5]) | ((arg1[6]) | ((arg1[7]) | (uint32_t)0x0))))))));
+    *out1 = x1;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_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]]
+ *   arg3: [[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]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(
+    uint32_t out1[8], fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_uint1 arg1,
+    const uint32_t arg2[8], const uint32_t arg3[8]) {
+    uint32_t x1;
+    uint32_t x2;
+    uint32_t x3;
+    uint32_t x4;
+    uint32_t x5;
+    uint32_t x6;
+    uint32_t x7;
+    uint32_t x8;
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(
+        &x1, arg1, (arg2[0]), (arg3[0]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(
+        &x2, arg1, (arg2[1]), (arg3[1]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(
+        &x3, arg1, (arg2[2]), (arg3[2]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(
+        &x4, arg1, (arg2[3]), (arg3[3]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(
+        &x5, arg1, (arg2[4]), (arg3[4]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(
+        &x6, arg1, (arg2[5]), (arg3[5]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(
+        &x7, arg1, (arg2[6]), (arg3[6]));
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_cmovznz_u32(
+        &x8, arg1, (arg2[7]), (arg3[7]));
+    out1[0] = x1;
+    out1[1] = x2;
+    out1[2] = x3;
+    out1[3] = x4;
+    out1[4] = x5;
+    out1[5] = x6;
+    out1[6] = x7;
+    out1[7] = x8;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_to_bytes serializes a field element in the Montgomery domain to bytes in little-endian order.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..31]
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * 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]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_to_bytes(
+    uint8_t out1[32], const uint32_t arg1[8]) {
+    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;
+    uint8_t x10;
+    uint32_t x11;
+    uint8_t x12;
+    uint8_t x13;
+    uint8_t x14;
+    uint8_t x15;
+    uint32_t x16;
+    uint8_t x17;
+    uint32_t x18;
+    uint8_t x19;
+    uint8_t x20;
+    uint8_t x21;
+    uint8_t x22;
+    uint32_t x23;
+    uint8_t x24;
+    uint32_t x25;
+    uint8_t x26;
+    uint8_t x27;
+    uint8_t x28;
+    uint8_t x29;
+    uint32_t x30;
+    uint8_t x31;
+    uint32_t x32;
+    uint8_t x33;
+    uint8_t x34;
+    uint8_t x35;
+    uint8_t x36;
+    uint32_t x37;
+    uint8_t x38;
+    uint32_t x39;
+    uint8_t x40;
+    uint8_t x41;
+    uint8_t x42;
+    uint8_t x43;
+    uint32_t x44;
+    uint8_t x45;
+    uint32_t x46;
+    uint8_t x47;
+    uint8_t x48;
+    uint8_t x49;
+    uint8_t x50;
+    uint32_t x51;
+    uint8_t x52;
+    uint32_t x53;
+    uint8_t x54;
+    uint8_t x55;
+    uint8_t x56;
+    uint8_t x57;
+    uint32_t x58;
+    uint8_t x59;
+    uint32_t x60;
+    uint8_t x61;
+    uint8_t x62;
+    uint8_t x63;
+    x1 = (arg1[7]);
+    x2 = (arg1[6]);
+    x3 = (arg1[5]);
+    x4 = (arg1[4]);
+    x5 = (arg1[3]);
+    x6 = (arg1[2]);
+    x7 = (arg1[1]);
+    x8 = (arg1[0]);
+    x9 = (x8 >> 8);
+    x10 = (uint8_t)(x8 & UINT8_C(0xff));
+    x11 = (x9 >> 8);
+    x12 = (uint8_t)(x9 & UINT8_C(0xff));
+    x13 = (uint8_t)(x11 >> 8);
+    x14 = (uint8_t)(x11 & UINT8_C(0xff));
+    x15 = (uint8_t)(x13 & UINT8_C(0xff));
+    x16 = (x7 >> 8);
+    x17 = (uint8_t)(x7 & UINT8_C(0xff));
+    x18 = (x16 >> 8);
+    x19 = (uint8_t)(x16 & UINT8_C(0xff));
+    x20 = (uint8_t)(x18 >> 8);
+    x21 = (uint8_t)(x18 & UINT8_C(0xff));
+    x22 = (uint8_t)(x20 & UINT8_C(0xff));
+    x23 = (x6 >> 8);
+    x24 = (uint8_t)(x6 & UINT8_C(0xff));
+    x25 = (x23 >> 8);
+    x26 = (uint8_t)(x23 & UINT8_C(0xff));
+    x27 = (uint8_t)(x25 >> 8);
+    x28 = (uint8_t)(x25 & UINT8_C(0xff));
+    x29 = (uint8_t)(x27 & UINT8_C(0xff));
+    x30 = (x5 >> 8);
+    x31 = (uint8_t)(x5 & UINT8_C(0xff));
+    x32 = (x30 >> 8);
+    x33 = (uint8_t)(x30 & UINT8_C(0xff));
+    x34 = (uint8_t)(x32 >> 8);
+    x35 = (uint8_t)(x32 & UINT8_C(0xff));
+    x36 = (uint8_t)(x34 & UINT8_C(0xff));
+    x37 = (x4 >> 8);
+    x38 = (uint8_t)(x4 & UINT8_C(0xff));
+    x39 = (x37 >> 8);
+    x40 = (uint8_t)(x37 & UINT8_C(0xff));
+    x41 = (uint8_t)(x39 >> 8);
+    x42 = (uint8_t)(x39 & UINT8_C(0xff));
+    x43 = (uint8_t)(x41 & UINT8_C(0xff));
+    x44 = (x3 >> 8);
+    x45 = (uint8_t)(x3 & UINT8_C(0xff));
+    x46 = (x44 >> 8);
+    x47 = (uint8_t)(x44 & UINT8_C(0xff));
+    x48 = (uint8_t)(x46 >> 8);
+    x49 = (uint8_t)(x46 & UINT8_C(0xff));
+    x50 = (uint8_t)(x48 & UINT8_C(0xff));
+    x51 = (x2 >> 8);
+    x52 = (uint8_t)(x2 & UINT8_C(0xff));
+    x53 = (x51 >> 8);
+    x54 = (uint8_t)(x51 & UINT8_C(0xff));
+    x55 = (uint8_t)(x53 >> 8);
+    x56 = (uint8_t)(x53 & UINT8_C(0xff));
+    x57 = (uint8_t)(x55 & UINT8_C(0xff));
+    x58 = (x1 >> 8);
+    x59 = (uint8_t)(x1 & UINT8_C(0xff));
+    x60 = (x58 >> 8);
+    x61 = (uint8_t)(x58 & UINT8_C(0xff));
+    x62 = (uint8_t)(x60 >> 8);
+    x63 = (uint8_t)(x60 & UINT8_C(0xff));
+    out1[0] = x10;
+    out1[1] = x12;
+    out1[2] = x14;
+    out1[3] = x15;
+    out1[4] = x17;
+    out1[5] = x19;
+    out1[6] = x21;
+    out1[7] = x22;
+    out1[8] = x24;
+    out1[9] = x26;
+    out1[10] = x28;
+    out1[11] = x29;
+    out1[12] = x31;
+    out1[13] = x33;
+    out1[14] = x35;
+    out1[15] = x36;
+    out1[16] = x38;
+    out1[17] = x40;
+    out1[18] = x42;
+    out1[19] = x43;
+    out1[20] = x45;
+    out1[21] = x47;
+    out1[22] = x49;
+    out1[23] = x50;
+    out1[24] = x52;
+    out1[25] = x54;
+    out1[26] = x56;
+    out1[27] = x57;
+    out1[28] = x59;
+    out1[29] = x61;
+    out1[30] = x63;
+    out1[31] = x62;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_from_bytes deserializes a field element in the Montgomery domain from bytes in little-endian order.
+ * Preconditions:
+ *   0 ≤ bytes_eval arg1 < m
+ * Postconditions:
+ *   eval out1 mod m = bytes_eval arg1 mod m
+ *   0 ≤ eval out1 < 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]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_from_bytes(
+    uint32_t out1[8], const uint8_t arg1[32]) {
+    uint32_t x1;
+    uint32_t x2;
+    uint32_t x3;
+    uint8_t x4;
+    uint32_t x5;
+    uint32_t x6;
+    uint32_t x7;
+    uint8_t x8;
+    uint32_t x9;
+    uint32_t x10;
+    uint32_t x11;
+    uint8_t x12;
+    uint32_t x13;
+    uint32_t x14;
+    uint32_t x15;
+    uint8_t x16;
+    uint32_t x17;
+    uint32_t x18;
+    uint32_t x19;
+    uint8_t x20;
+    uint32_t x21;
+    uint32_t x22;
+    uint32_t x23;
+    uint8_t x24;
+    uint32_t x25;
+    uint32_t x26;
+    uint32_t x27;
+    uint8_t x28;
+    uint32_t x29;
+    uint32_t x30;
+    uint32_t x31;
+    uint8_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;
+    x1 = ((uint32_t)(arg1[31]) << 24);
+    x2 = ((uint32_t)(arg1[30]) << 16);
+    x3 = ((uint32_t)(arg1[29]) << 8);
+    x4 = (arg1[28]);
+    x5 = ((uint32_t)(arg1[27]) << 24);
+    x6 = ((uint32_t)(arg1[26]) << 16);
+    x7 = ((uint32_t)(arg1[25]) << 8);
+    x8 = (arg1[24]);
+    x9 = ((uint32_t)(arg1[23]) << 24);
+    x10 = ((uint32_t)(arg1[22]) << 16);
+    x11 = ((uint32_t)(arg1[21]) << 8);
+    x12 = (arg1[20]);
+    x13 = ((uint32_t)(arg1[19]) << 24);
+    x14 = ((uint32_t)(arg1[18]) << 16);
+    x15 = ((uint32_t)(arg1[17]) << 8);
+    x16 = (arg1[16]);
+    x17 = ((uint32_t)(arg1[15]) << 24);
+    x18 = ((uint32_t)(arg1[14]) << 16);
+    x19 = ((uint32_t)(arg1[13]) << 8);
+    x20 = (arg1[12]);
+    x21 = ((uint32_t)(arg1[11]) << 24);
+    x22 = ((uint32_t)(arg1[10]) << 16);
+    x23 = ((uint32_t)(arg1[9]) << 8);
+    x24 = (arg1[8]);
+    x25 = ((uint32_t)(arg1[7]) << 24);
+    x26 = ((uint32_t)(arg1[6]) << 16);
+    x27 = ((uint32_t)(arg1[5]) << 8);
+    x28 = (arg1[4]);
+    x29 = ((uint32_t)(arg1[3]) << 24);
+    x30 = ((uint32_t)(arg1[2]) << 16);
+    x31 = ((uint32_t)(arg1[1]) << 8);
+    x32 = (arg1[0]);
+    x33 = (x32 + (x31 + (x30 + x29)));
+    x34 = (x33 & UINT32_C(0xffffffff));
+    x35 = (x4 + (x3 + (x2 + x1)));
+    x36 = (x8 + (x7 + (x6 + x5)));
+    x37 = (x12 + (x11 + (x10 + x9)));
+    x38 = (x16 + (x15 + (x14 + x13)));
+    x39 = (x20 + (x19 + (x18 + x17)));
+    x40 = (x24 + (x23 + (x22 + x21)));
+    x41 = (x28 + (x27 + (x26 + x25)));
+    x42 = (x41 & UINT32_C(0xffffffff));
+    x43 = (x40 & UINT32_C(0xffffffff));
+    x44 = (x39 & UINT32_C(0xffffffff));
+    x45 = (x38 & UINT32_C(0xffffffff));
+    x46 = (x37 & UINT32_C(0xffffffff));
+    x47 = (x36 & UINT32_C(0xffffffff));
+    out1[0] = x34;
+    out1[1] = x42;
+    out1[2] = x43;
+    out1[3] = x44;
+    out1[4] = x45;
+    out1[5] = x46;
+    out1[6] = x47;
+    out1[7] = x35;
+}
+
+/* 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_GostR3410_2001_CryptoPro_B_ParamSet/fe_inv.op3
+ * sliding window w=5
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_inv(fe_t output,
+                                                            const fe_t t1) {
+    int i;
+    /* temporary variables */
+    fe_t acc, t23, t25;
+
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_square(acc, t1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t25, t1, acc);
+    for (i = 0; i < 9; i++)
+        fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t25, t25, acc);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t23, t25, acc);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t25, t23, acc);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_square(acc, t1);
+    for (i = 0; i < 247; i++)
+        fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(acc, acc, t25);
+    for (i = 0; i < 7; i++)
+        fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(output, acc, t23);
+}
+
+/* curve coefficient constants */
+
+static const limb_t const_one[8] = {UINT32_C(0xFFFFF367), UINT32_C(0xFFFFFFFF),
+                                    UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
+                                    UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
+                                    UINT32_C(0xFFFFFFFF), UINT32_C(0x7FFFFFFF)};
+
+static const limb_t const_b[8] = {UINT32_C(0xA9C5A084), UINT32_C(0x8DCC455A),
+                                  UINT32_C(0x6CF438A8), UINT32_C(0x91AB42DF),
+                                  UINT32_C(0xEEAC7D11), UINT32_C(0x8F8AA907),
+                                  UINT32_C(0xF6285375), UINT32_C(0x3CE5D221)};
+
+/* LUT for scalar multiplication by comb interleaving */
+static const pt_aff_t lut_cmb[27][16] = {
+    {
+        {{UINT32_C(0xFFFFF367), UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
+          UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
+          UINT32_C(0xFFFFFFFF), UINT32_C(0x7FFFFFFF)},
+         {UINT32_C(0x570C7410), UINT32_C(0xDDDC64B3), UINT32_C(0x13172887),
+          UINT32_C(0xA7B09925), UINT32_C(0x4B6382DB), UINT32_C(0x0C4E5C4C),
+          UINT32_C(0x124768DE), UINT32_C(0x2763DB0F)}},
+        {{UINT32_C(0x8457D15D), UINT32_C(0xCD3E57B6), UINT32_C(0xBEA56E83),
+          UINT32_C(0xEB688F7F), UINT32_C(0x6A13C5CE), UINT32_C(0x235A123C),
+          UINT32_C(0x50F57A6D), UINT32_C(0x0CD7EB9D)},
+         {UINT32_C(0x544C1965), UINT32_C(0xC0124E91), UINT32_C(0x62AFA35E),
+          UINT32_C(0x4D9C1729), UINT32_C(0x0037C554), UINT32_C(0x0F92F2C3),
+          UINT32_C(0x0A3F2665), UINT32_C(0x1D899868)}},
+        {{UINT32_C(0x55F43EFF), UINT32_C(0x9DE4B213), UINT32_C(0x5C9E63F5),
+          UINT32_C(0x2E110A42), UINT32_C(0x1CE5A6DF), UINT32_C(0x9350A9C3),
+          UINT32_C(0xA332315E), UINT32_C(0x377CBF0B)},
+         {UINT32_C(0x20F0D1B5), UINT32_C(0x2805DD48), UINT32_C(0x0F9723E5),
+          UINT32_C(0x3B197566), UINT32_C(0x84B79937), UINT32_C(0xA1CCA78C),
+          UINT32_C(0x94D5E03D), UINT32_C(0x4F87BB1B)}},
+        {{UINT32_C(0x5652C96F), UINT32_C(0xE428FBFB), UINT32_C(0xD261BDD1),
+          UINT32_C(0x2E9A14D2), UINT32_C(0x7453B76A), UINT32_C(0x082D8296),
+          UINT32_C(0x7AC87B02), UINT32_C(0x61EA580E)},
+         {UINT32_C(0xCF368FDB), UINT32_C(0xA0F8C2BA), UINT32_C(0xD73B2A28),
+          UINT32_C(0xDF093380), UINT32_C(0xEA8FE5D2), UINT32_C(0xFA0928B2),
+          UINT32_C(0x5F86D38A), UINT32_C(0x77A67492)}},
+        {{UINT32_C(0x27670451), UINT32_C(0xDFFAB410), UINT32_C(0x1200AD3A),
+          UINT32_C(0xEBC3D017), UINT32_C(0x25F4F6C4), UINT32_C(0xF68324F3),
+          UINT32_C(0x7D0EAFD0), UINT32_C(0x4A24CD5F)},
+         {UINT32_C(0xD3F6BD1C), UINT32_C(0xF8FBD489), UINT32_C(0x67B473DE),
+          UINT32_C(0x0F6B56D5), UINT32_C(0xCACF0D6B), UINT32_C(0x6FB063DE),
+          UINT32_C(0x96DC574B), UINT32_C(0x27F2E7E9)}},
+        {{UINT32_C(0x93937228), UINT32_C(0xA6A10645), UINT32_C(0xA9165BBB),
+          UINT32_C(0xAB7550B4), UINT32_C(0xCB0EDBE8), UINT32_C(0xD682D4F1),
+          UINT32_C(0x40E5AD8D), UINT32_C(0x2261FCEC)},
+         {UINT32_C(0xCCBD4E18), UINT32_C(0x9F2119C6), UINT32_C(0xAAB09697),
+          UINT32_C(0x2FD094E9), UINT32_C(0xE700929E), UINT32_C(0x00331713),
+          UINT32_C(0x54338FE1), UINT32_C(0x6C5F2EFE)}},
+        {{UINT32_C(0x42FFF78A), UINT32_C(0xD6314017), UINT32_C(0x2087E055),
+          UINT32_C(0x38F23A91), UINT32_C(0x10EF1CAC), UINT32_C(0xE30E809C),
+          UINT32_C(0x2432FF74), UINT32_C(0x3BCB0A54)},
+         {UINT32_C(0xB31509E6), UINT32_C(0x2B4B5B97), UINT32_C(0x3E54AF47),
+          UINT32_C(0x117FE9D7), UINT32_C(0x52F63ACA), UINT32_C(0xE513C0BE),
+          UINT32_C(0xB1C80A6B), UINT32_C(0x41ED8ADA)}},
+        {{UINT32_C(0xE0A79FCD), UINT32_C(0x61A31837), UINT32_C(0x51D3DE38),
+          UINT32_C(0x8F742B57), UINT32_C(0x41354B55), UINT32_C(0x10635FCD),
+          UINT32_C(0x946510BE), UINT32_C(0x61F30C61)},
+         {UINT32_C(0x6C416DAC), UINT32_C(0x9183D677), UINT32_C(0x345431CB),
+          UINT32_C(0x391B7B42), UINT32_C(0x7C254A8D), UINT32_C(0xE3D6F084),
+          UINT32_C(0x19D320D8), UINT32_C(0x777E1F62)}},
+        {{UINT32_C(0xF05BD85D), UINT32_C(0x090E633F), UINT32_C(0x240392ED),
+          UINT32_C(0x546C41A0), UINT32_C(0x9F4139CA), UINT32_C(0x6BBCF15D),
+          UINT32_C(0x7FFDA5DA), UINT32_C(0x73F5B657)},
+         {UINT32_C(0xE0622A57), UINT32_C(0xBC04E353), UINT32_C(0x6E6414F4),
+          UINT32_C(0xCBD8F01E), UINT32_C(0x8C3C0CC5), UINT32_C(0x53377C0B),
+          UINT32_C(0xE0A14548), UINT32_C(0x6D302331)}},
+        {{UINT32_C(0x3D6D456E), UINT32_C(0x235487F8), UINT32_C(0xB3FDCDCF),
+          UINT32_C(0xBD92203D), UINT32_C(0xCFFDA977), UINT32_C(0x15B13D60),
+          UINT32_C(0x31A1C4B5), UINT32_C(0x22DCB487)},
+         {UINT32_C(0xC76ED9A2), UINT32_C(0xA367FB4E), UINT32_C(0xC0C86AF4),
+          UINT32_C(0x1E4F7956), UINT32_C(0x5B012AD7), UINT32_C(0x6F087C49),
+          UINT32_C(0x4949B444), UINT32_C(0x33437E4A)}},
+        {{UINT32_C(0xB7CDDB38), UINT32_C(0x261B44FE), UINT32_C(0x419216AD),
+          UINT32_C(0xDCE2FE47), UINT32_C(0x9428657B), UINT32_C(0xA4CE17FF),
+          UINT32_C(0xF8329049), UINT32_C(0x7CE64F48)},
+         {UINT32_C(0x7289C114), UINT32_C(0x4CE74211), UINT32_C(0x8C212A23),
+          UINT32_C(0x0E622409), UINT32_C(0x2096719D), UINT32_C(0xCF75BF45),
+          UINT32_C(0x7BDC1600), UINT32_C(0x6F553581)}},
+        {{UINT32_C(0xB941CBC9), UINT32_C(0xE776AA0C), UINT32_C(0x951AAED3),
+          UINT32_C(0x16D670E0), UINT32_C(0x4B1EC097), UINT32_C(0x79C019DF),
+          UINT32_C(0x12266D30), UINT32_C(0x635A66BB)},
+         {UINT32_C(0x023AAFD2), UINT32_C(0x030D843E), UINT32_C(0x6466108F),
+          UINT32_C(0x10FB6157), UINT32_C(0x08D568D5), UINT32_C(0x93774BEC),
+          UINT32_C(0x04C1EE73), UINT32_C(0x29D27962)}},
+        {{UINT32_C(0xE00BBC21), UINT32_C(0x6F0F4C2E), UINT32_C(0xA30AB92F),
+          UINT32_C(0x9EB34C58), UINT32_C(0xAE34908B), UINT32_C(0x2153D901),
+          UINT32_C(0x4EDC188F), UINT32_C(0x136A7E1F)},
+         {UINT32_C(0x8BC45EE4), UINT32_C(0xF709BF5D), UINT32_C(0x4FAD9A54),
+          UINT32_C(0xEA6984E4), UINT32_C(0xAF5140EB), UINT32_C(0xFC8E6F8A),
+          UINT32_C(0x87756E47), UINT32_C(0x25EBF0DE)}},
+        {{UINT32_C(0x5B1D4B9F), UINT32_C(0x5C2A9726), UINT32_C(0x68E93FC7),
+          UINT32_C(0xBE235DFD), UINT32_C(0x471A4EA0), UINT32_C(0x7766BDB9),
+          UINT32_C(0xD9909CD9), UINT32_C(0x476D17CC)},
+         {UINT32_C(0x7B398BC4), UINT32_C(0x4960E5B4), UINT32_C(0x0F58F328),
+          UINT32_C(0x909D0F17), UINT32_C(0x230EF508), UINT32_C(0x1ABF7E02),
+          UINT32_C(0xD29239C9), UINT32_C(0x6DE6B3E1)}},
+        {{UINT32_C(0x85A6DBE3), UINT32_C(0xCCF0AA28), UINT32_C(0x823C606C),
+          UINT32_C(0xA5E4B325), UINT32_C(0x15505FC6), UINT32_C(0xADE98B2A),
+          UINT32_C(0x02E20C3B), UINT32_C(0x4D4E7703)},
+         {UINT32_C(0x4730DF64), UINT32_C(0x24196417), UINT32_C(0xA914A59D),
+          UINT32_C(0x3DD47817), UINT32_C(0xC4FDFD97), UINT32_C(0x4D7A317E),
+          UINT32_C(0xBE12AA72), UINT32_C(0x3767E545)}},
+        {{UINT32_C(0x165C7BF4), UINT32_C(0xA0C2A028), UINT32_C(0x36A0B483),
+          UINT32_C(0xCD4DA6EA), UINT32_C(0x3AF53195), UINT32_C(0x1E1E6332),
+          UINT32_C(0x8D77188F), UINT32_C(0x7A025E23)},
+         {UINT32_C(0x08D2CEF2), UINT32_C(0xB3CF03B9), UINT32_C(0x25A0AFA6),
+          UINT32_C(0x8FEE9BB8), UINT32_C(0x88111895), UINT32_C(0x855340E0),
+          UINT32_C(0x4FB8F8A3), UINT32_C(0x32E3EF01)}},
+    },
+    {
+        {{UINT32_C(0xEBF87807), UINT32_C(0x33EBE39D), UINT32_C(0xDBDEFF76),
+          UINT32_C(0xB048F96C), UINT32_C(0x342A3087), UINT32_C(0xA0496C3C),
+          UINT32_C(0x50953679), UINT32_C(0x7623E192)},
+         {UINT32_C(0x4B932390), UINT32_C(0x12F76711), UINT32_C(0xACECE2F7),
+          UINT32_C(0xF80851EA), UINT32_C(0xE5B280EA), UINT32_C(0xE447465B),
+          UINT32_C(0x11115958), UINT32_C(0x0412ADE8)}},
+        {{UINT32_C(0xB5EB0DC2), UINT32_C(0x982F1AC8), UINT32_C(0xBBBCC880),
+          UINT32_C(0x8464E052), UINT32_C(0x01335D53), UINT32_C(0xC927B596),
+          UINT32_C(0x4DA4D80B), UINT32_C(0x4B0C6F5A)},
+         {UINT32_C(0xE04783AF), UINT32_C(0x101E1878), UINT32_C(0x41D8A690),
+          UINT32_C(0x50458FFC), UINT32_C(0x1B77DFBF), UINT32_C(0x11499D88),
+          UINT32_C(0x1F77A937), UINT32_C(0x46DC7D22)}},
+        {{UINT32_C(0x620E52C0), UINT32_C(0xE9AD22CE), UINT32_C(0x4140F356),
+          UINT32_C(0x0990D6AA), UINT32_C(0x0CBBEEE5), UINT32_C(0x0F6B2EF7),
+          UINT32_C(0xEAD414C6), UINT32_C(0x2C67DC80)},
+         {UINT32_C(0x23D4CD20), UINT32_C(0xE17182BC), UINT32_C(0xC13DDEA9),
+          UINT32_C(0xFC8FE3CB), UINT32_C(0x3BABC06D), UINT32_C(0xD1E4A7B8),
+          UINT32_C(0x71C06DB7), UINT32_C(0x52EA05CC)}},
+        {{UINT32_C(0x0D022B5B), UINT32_C(0xF8ABB770), UINT32_C(0x199DC689),
+          UINT32_C(0x362B8059), UINT32_C(0x26BBDEC8), UINT32_C(0x5D887A4D),
+          UINT32_C(0xF7FC2A01), UINT32_C(0x7835F183)},
+         {UINT32_C(0xDE99DF34), UINT32_C(0xEEDE12F5), UINT32_C(0xA3082301),
+          UINT32_C(0xBE952638), UINT32_C(0x4C35A162), UINT32_C(0x829FDF80),
+          UINT32_C(0xC2B9645E), UINT32_C(0x205A2252)}},
+        {{UINT32_C(0x1356E14C), UINT32_C(0xDE284DA9), UINT32_C(0xC37415FE),
+          UINT32_C(0xE40CEFE0), UINT32_C(0x47F6016E), UINT32_C(0x62BE93E9),
+          UINT32_C(0x5DBFE2F6), UINT32_C(0x2DD98904)},
+         {UINT32_C(0x2EBC70F9), UINT32_C(0x195B0E98), UINT32_C(0xF01F4D43),
+          UINT32_C(0x7E52840D), UINT32_C(0x4B1F6AB4), UINT32_C(0x1AFB1FDF),
+          UINT32_C(0x20B3E491), UINT32_C(0x050AABB8)}},
+        {{UINT32_C(0xC645DAD4), UINT32_C(0xC59E1EDB), UINT32_C(0x565A286D),
+          UINT32_C(0x5AF6B2DC), UINT32_C(0x13076366), UINT32_C(0xC399A48A),
+          UINT32_C(0x4AC0E5B9), UINT32_C(0x19F4881F)},
+         {UINT32_C(0xCD5AC339), UINT32_C(0xC07D02A1), UINT32_C(0xED628A55),
+          UINT32_C(0x18FBD088), UINT32_C(0xFFA4788E), UINT32_C(0x2D33C6F4),
+          UINT32_C(0xCCB832E7), UINT32_C(0x52E9AE42)}},
+        {{UINT32_C(0x4E5E934E), UINT32_C(0xA47091AE), UINT32_C(0x91CED3C6),
+          UINT32_C(0x2542CE13), UINT32_C(0x8FC47857), UINT32_C(0xDDE01FD5),
+          UINT32_C(0x4304EAA9), UINT32_C(0x6BA6E569)},
+         {UINT32_C(0xE24091A9), UINT32_C(0x2FF0278B), UINT32_C(0x782BBCE0),
+          UINT32_C(0xB895F0AB), UINT32_C(0xAB8B8828), UINT32_C(0xA80CCC97),
+          UINT32_C(0x68A7D8FE), UINT32_C(0x6A54B961)}},
+        {{UINT32_C(0xBAC4581A), UINT32_C(0x15E1F5AD), UINT32_C(0xD4BAA751),
+          UINT32_C(0x91620EF0), UINT32_C(0xC7273C4D), UINT32_C(0x4E65731F),
+          UINT32_C(0x7EEE33B5), UINT32_C(0x14B166CB)},
+         {UINT32_C(0x3CD06080), UINT32_C(0x7B0EFFA5), UINT32_C(0x8CF95FF9),
+          UINT32_C(0x4491156A), UINT32_C(0xE2258574), UINT32_C(0xC8C64C39),
+          UINT32_C(0x13315CE9), UINT32_C(0x3D48DA9D)}},
+        {{UINT32_C(0x99866CE5), UINT32_C(0x97A098A3), UINT32_C(0x023A1167),
+          UINT32_C(0xF4CCDB40), UINT32_C(0xF8094782), UINT32_C(0x4BB32981),
+          UINT32_C(0xC7D5FD13), UINT32_C(0x7342CC98)},
+         {UINT32_C(0x78B99D4E), UINT32_C(0x3C1C5B18), UINT32_C(0xF4762AC9),
+          UINT32_C(0x1277668F), UINT32_C(0x6AE50E4F), UINT32_C(0x612431D7),
+          UINT32_C(0x36F9071C), UINT32_C(0x36C174E0)}},
+        {{UINT32_C(0x9327BA7F), UINT32_C(0x39194E87), UINT32_C(0x7237FA1A),
+          UINT32_C(0xC4D251FF), UINT32_C(0x2BA5EB8D), UINT32_C(0x55ED3CD4),
+          UINT32_C(0xBA590188), UINT32_C(0x0263AF07)},
+         {UINT32_C(0xEFA82CF3), UINT32_C(0xB4853127), UINT32_C(0x2B8E761D),
+          UINT32_C(0x2CC2D220), UINT32_C(0x2722B490), UINT32_C(0x4582B81E),
+          UINT32_C(0x610AA621), UINT32_C(0x1DA7680A)}},
+        {{UINT32_C(0x30D297D4), UINT32_C(0x06A669EE), UINT32_C(0xE133D393),
+          UINT32_C(0xC336B048), UINT32_C(0x93B7B41B), UINT32_C(0xB733A2C4),
+          UINT32_C(0xC7A8E721), UINT32_C(0x427CC233)},
+         {UINT32_C(0x2867BB00), UINT32_C(0x727C14F1), UINT32_C(0xA736035E),
+          UINT32_C(0x756F4C7A), UINT32_C(0x26327A22), UINT32_C(0xB72A3EDE),
+          UINT32_C(0x77F73F28), UINT32_C(0x4AEDE2BB)}},
+        {{UINT32_C(0xA7282ED0), UINT32_C(0xC8A3612F), UINT32_C(0xB0150579),
+          UINT32_C(0xE4AD8B40), UINT32_C(0x0C3FEE4B), UINT32_C(0xAB1DE11D),
+          UINT32_C(0x33B31F23), UINT32_C(0x613AAD48)},
+         {UINT32_C(0x5C91BD21), UINT32_C(0xE74AB856), UINT32_C(0x7953D695),
+          UINT32_C(0x49917735), UINT32_C(0x1A53D74F), UINT32_C(0x3831EB60),
+          UINT32_C(0x54DEB1A6), UINT32_C(0x245977A0)}},
+        {{UINT32_C(0xFFFC1468), UINT32_C(0x15972E4D), UINT32_C(0x141DC24C),
+          UINT32_C(0xA758D9CB), UINT32_C(0xED8694C5), UINT32_C(0x5E76FCDF),
+          UINT32_C(0x069B7A5E), UINT32_C(0x5F9DAF35)},
+         {UINT32_C(0x501B5415), UINT32_C(0xFE50FCE4), UINT32_C(0x58CFDE50),
+          UINT32_C(0x6442CF67), UINT32_C(0x38E5F4D0), UINT32_C(0xA89C6DB4),
+          UINT32_C(0xF5D4FEFC), UINT32_C(0x21F012DB)}},
+        {{UINT32_C(0x98CB9A81), UINT32_C(0x2A1170AD), UINT32_C(0x036C5E45),
+          UINT32_C(0x934BD9D5), UINT32_C(0xCA5095B1), UINT32_C(0x27DF152E),
+          UINT32_C(0xCCEEE508), UINT32_C(0x682698DB)},
+         {UINT32_C(0xB973FB5F), UINT32_C(0x1F4FE3A2), UINT32_C(0x792C7D4D),
+          UINT32_C(0xD33CBEBE), UINT32_C(0xE7B33A8F), UINT32_C(0x99D37961),
+          UINT32_C(0x7B6D015D), UINT32_C(0x46B8993B)}},
+        {{UINT32_C(0x6FBAC8F7), UINT32_C(0x93A3809B), UINT32_C(0x97C55DC4),
+          UINT32_C(0x84861BF0), UINT32_C(0x15BB65E3), UINT32_C(0xA6F89EEA),
+          UINT32_C(0xA6E531D1), UINT32_C(0x66AE1C5D)},
+         {UINT32_C(0xFD83DAEA), UINT32_C(0x643A14FC), UINT32_C(0xC585947B),
+          UINT32_C(0xA7A46D0D), UINT32_C(0x4FBA1274), UINT32_C(0xFA20CF07),
+          UINT32_C(0x93578A7D), UINT32_C(0x5999ED7B)}},
+        {{UINT32_C(0x78E7C6CE), UINT32_C(0x36C8B6ED), UINT32_C(0x5E325F44),
+          UINT32_C(0x6D400CA5), UINT32_C(0x20B7AA5C), UINT32_C(0xC6AE09B3),
+          UINT32_C(0x89EABC17), UINT32_C(0x1AF261C1)},
+         {UINT32_C(0xB9E778E4), UINT32_C(0x64D6FFBB), UINT32_C(0x7FC64BEB),
+          UINT32_C(0x1C9E223E), UINT32_C(0x5D75E6C0), UINT32_C(0x4D68B520),
+          UINT32_C(0x76677A06), UINT32_C(0x5A72B1D9)}},
+    },
+    {
+        {{UINT32_C(0x6F08BB17), UINT32_C(0x62DB6640), UINT32_C(0xAE75BB73),
+          UINT32_C(0xC34F29DF), UINT32_C(0x7DBD4851), UINT32_C(0xD501293D),
+          UINT32_C(0xAD1F604B), UINT32_C(0x5EAA94CA)},
+         {UINT32_C(0x094408A8), UINT32_C(0x39CFE9D1), UINT32_C(0xE8A476F2),
+          UINT32_C(0xC0F6544C), UINT32_C(0xA42D7607), UINT32_C(0x9F6308B6),
+          UINT32_C(0xD727018F), UINT32_C(0x17F82949)}},
+        {{UINT32_C(0x9C4C4BD2), UINT32_C(0xC44453CD), UINT32_C(0xEBD0B947),
+          UINT32_C(0xA895E247), UINT32_C(0xAEBC27F4), UINT32_C(0x0AEB7AFC),
+          UINT32_C(0xF04ABFAC), UINT32_C(0x2472FD08)},
+         {UINT32_C(0x73E6E994), UINT32_C(0x319EC67D), UINT32_C(0x798C5FC0),
+          UINT32_C(0xD6533E4C), UINT32_C(0x3FB9AA89), UINT32_C(0xF4C3B24D),
+          UINT32_C(0x0A3B376B), UINT32_C(0x3EC58082)}},
+        {{UINT32_C(0x144ACF7A), UINT32_C(0x79732D6F), UINT32_C(0x911342DD),
+          UINT32_C(0xFDD630C3), UINT32_C(0x4A630649), UINT32_C(0xC577C4B3),
+          UINT32_C(0xBBA999D6), UINT32_C(0x14956A17)},
+         {UINT32_C(0xA435A559), UINT32_C(0x523D3CC8), UINT32_C(0xACDA8861),
+          UINT32_C(0x488DC690), UINT32_C(0xF051C69A), UINT32_C(0x4CF70928),
+          UINT32_C(0x955394CB), UINT32_C(0x2D98D573)}},
+        {{UINT32_C(0x23A4B840), UINT32_C(0xEDB7BA2A), UINT32_C(0xF6C2D93B),
+          UINT32_C(0x725EC496), UINT32_C(0x8833BB3F), UINT32_C(0x0C94818B),
+          UINT32_C(0xB142B12A), UINT32_C(0x51281A31)},
+         {UINT32_C(0x659EDA83), UINT32_C(0x2A8A5706), UINT32_C(0x7F9D6877),
+          UINT32_C(0x3098F750), UINT32_C(0x2171F69F), UINT32_C(0x87AD0FDF),
+          UINT32_C(0x1A6F2F28), UINT32_C(0x6B7067C3)}},
+        {{UINT32_C(0x12B1E36F), UINT32_C(0x3B521074), UINT32_C(0xF81E4733),
+          UINT32_C(0x727A2432), UINT32_C(0x53F2CBBD), UINT32_C(0xB75A2F35),
+          UINT32_C(0x54960EB0), UINT32_C(0x46DE9338)},
+         {UINT32_C(0xE561D908), UINT32_C(0xAC5344F8), UINT32_C(0x12C67430),
+          UINT32_C(0x4BD40ECB), UINT32_C(0xEF499F97), UINT32_C(0x1698FD62),
+          UINT32_C(0x6AE9FBD1), UINT32_C(0x29EBD7AE)}},
+        {{UINT32_C(0x1EC8110D), UINT32_C(0x9DEC249B), UINT32_C(0xFD2F5C39),
+          UINT32_C(0x2D19053A), UINT32_C(0xE01522DF), UINT32_C(0xB1189807),
+          UINT32_C(0xC1424C77), UINT32_C(0x24A04C16)},
+         {UINT32_C(0x24F72226), UINT32_C(0xA4FC7C7D), UINT32_C(0xA8322501),
+          UINT32_C(0x763405FB), UINT32_C(0x18F015E0), UINT32_C(0xC5443C9A),
+          UINT32_C(0xC55D6CEA), UINT32_C(0x6DEDA19B)}},
+        {{UINT32_C(0x9EAE2FF9), UINT32_C(0x4EF30976), UINT32_C(0x5741B21B),
+          UINT32_C(0x2549B7F2), UINT32_C(0x3BC23F01), UINT32_C(0x859ACD10),
+          UINT32_C(0xBF5FB0D7), UINT32_C(0x05C0358F)},
+         {UINT32_C(0xFB6AB34C), UINT32_C(0x85E53AA8), UINT32_C(0x8FD2FD20),
+          UINT32_C(0x8DAAAA69), UINT32_C(0x16096FC9), UINT32_C(0xBE6D4D34),
+          UINT32_C(0xF8B8B831), UINT32_C(0x27572C88)}},
+        {{UINT32_C(0x47D56A25), UINT32_C(0xADB98DC5), UINT32_C(0x8B8E1DC6),
+          UINT32_C(0x0CC76432), UINT32_C(0xBE48C4A1), UINT32_C(0x032C738E),
+          UINT32_C(0x94FC9CF0), UINT32_C(0x31372DAD)},
+         {UINT32_C(0x78A7DCB2), UINT32_C(0x8E646A0C), UINT32_C(0x6ECD9885),
+          UINT32_C(0xA32F3E9C), UINT32_C(0x6A3AD963), UINT32_C(0x280BB4AD),
+          UINT32_C(0x817D4327), UINT32_C(0x7DEE1BC4)}},
+        {{UINT32_C(0xF8A7C1E1), UINT32_C(0x1AE6A27B), UINT32_C(0xCBC527C7),
+          UINT32_C(0x558C652F), UINT32_C(0xA65056F6), UINT32_C(0x4084B56E),
+          UINT32_C(0x6D4C838B), UINT32_C(0x3FD45459)},
+         {UINT32_C(0x56DE792A), UINT32_C(0xF5C15AFD), UINT32_C(0x88959282),
+          UINT32_C(0xF656FAA4), UINT32_C(0x1C07D63F), UINT32_C(0x7F0D8EF4),
+          UINT32_C(0xCD841ACC), UINT32_C(0x44EFFF7D)}},
+        {{UINT32_C(0x8D3695D8), UINT32_C(0xAC28F2A6), UINT32_C(0x3F91E781),
+          UINT32_C(0x94959EB8), UINT32_C(0xFEDD6E1F), UINT32_C(0x7693FFF7),
+          UINT32_C(0xA9A699EF), UINT32_C(0x2512E6E1)},
+         {UINT32_C(0x7955FAB7), UINT32_C(0x823400EB), UINT32_C(0x94924C08),
+          UINT32_C(0xCF109EF9), UINT32_C(0x3A709F32), UINT32_C(0x12E08779),
+          UINT32_C(0x9CC6484C), UINT32_C(0x187D0413)}},
+        {{UINT32_C(0xEBDE477F), UINT32_C(0xD3932AFB), UINT32_C(0x44538D8A),
+          UINT32_C(0x9D5A5422), UINT32_C(0x166A87AF), UINT32_C(0x40B0B159),
+          UINT32_C(0x41D5E078), UINT32_C(0x31294B3D)},
+         {UINT32_C(0xE8C48222), UINT32_C(0x6C49C853), UINT32_C(0xDCD0D611),
+          UINT32_C(0x8FBE6620), UINT32_C(0xF611007B), UINT32_C(0x9DDC7EE2),
+          UINT32_C(0xE6652172), UINT32_C(0x12289A60)}},
+        {{UINT32_C(0xDACF80F7), UINT32_C(0x8B85475B), UINT32_C(0x9B5CAEF2),
+          UINT32_C(0xADBAB353), UINT32_C(0x8D2A7707), UINT32_C(0x7C4090A3),
+          UINT32_C(0xDAB97830), UINT32_C(0x271FA4F1)},
+         {UINT32_C(0x53173E04), UINT32_C(0x141B7252), UINT32_C(0x06D0B127),
+          UINT32_C(0x4B483D64), UINT32_C(0x063A7AF8), UINT32_C(0x8FD15BCF),
+          UINT32_C(0xE580F34C), UINT32_C(0x59B19EAF)}},
+        {{UINT32_C(0x9C0D79B6), UINT32_C(0xA7EEA8C4), UINT32_C(0xB9185109),
+          UINT32_C(0x766FA113), UINT32_C(0x4642CC64), UINT32_C(0xB42D74F3),
+          UINT32_C(0xBB817476), UINT32_C(0x51D0127B)},
+         {UINT32_C(0x8AB71448), UINT32_C(0x6DA097F5), UINT32_C(0xF95AD0C7),
+          UINT32_C(0x145872E5), UINT32_C(0xF1759436), UINT32_C(0xB7E934F3),
+          UINT32_C(0x3160ED1F), UINT32_C(0x4EA883F9)}},
+        {{UINT32_C(0x0CEABAE1), UINT32_C(0x30DC39B7), UINT32_C(0xA606D766),
+          UINT32_C(0x49EC5EE8), UINT32_C(0x97FC46AF), UINT32_C(0x230E2762),
+          UINT32_C(0x5BE79B8D), UINT32_C(0x079A531F)},
+         {UINT32_C(0xEF08C93F), UINT32_C(0x48253BC2), UINT32_C(0xF124D043),
+          UINT32_C(0x2D32AF02), UINT32_C(0xAF34D231), UINT32_C(0x85796D0D),
+          UINT32_C(0x15F8CECD), UINT32_C(0x06A6205C)}},
+        {{UINT32_C(0x47B00D1A), UINT32_C(0x1FA77AFD), UINT32_C(0xE48CE97A),
+          UINT32_C(0x429717B0), UINT32_C(0x57433697), UINT32_C(0x38FEF11D),
+          UINT32_C(0x7D426687), UINT32_C(0x3E91BED6)},
+         {UINT32_C(0x2AB4BFE9), UINT32_C(0x95919BF7), UINT32_C(0x97096B3A),
+          UINT32_C(0x7A3F33FC), UINT32_C(0x3DD8C82E), UINT32_C(0x0E0BBAC3),
+          UINT32_C(0xF8EDB675), UINT32_C(0x2CE9EFCB)}},
+        {{UINT32_C(0x43D8B81D), UINT32_C(0x2D44E998), UINT32_C(0x6D68A95C),
+          UINT32_C(0x8ABFF419), UINT32_C(0x3B2A18DD), UINT32_C(0x639000A0),
+          UINT32_C(0x871E3ED3), UINT32_C(0x7CD15413)},
+         {UINT32_C(0x148F0378), UINT32_C(0xC059855B), UINT32_C(0x616B62BF),
+          UINT32_C(0x50147459), UINT32_C(0x4D461110), UINT32_C(0x53B699AF),
+          UINT32_C(0xEC29E48D), UINT32_C(0x6A0D0EC7)}},
+    },
+    {
+        {{UINT32_C(0x15797F35), UINT32_C(0x51733221), UINT32_C(0x4BBE6644),
+          UINT32_C(0x2F298214), UINT32_C(0x4A5EF621), UINT32_C(0x7BC8FEC6),
+          UINT32_C(0x7F472F05), UINT32_C(0x3D2BE785)},
+         {UINT32_C(0x2765C427), UINT32_C(0xA1C3A1C9), UINT32_C(0x24155ACF),
+          UINT32_C(0xBACF08FE), UINT32_C(0x9D229948), UINT32_C(0xA9CC1A17),
+          UINT32_C(0x27039FD8), UINT32_C(0x1918C97F)}},
+        {{UINT32_C(0x7843FF7B), UINT32_C(0x2CF39338), UINT32_C(0x258997F2),
+          UINT32_C(0x5FCBDE65), UINT32_C(0x165A98A3), UINT32_C(0x3980BF90),
+          UINT32_C(0xBF9458E5), UINT32_C(0x2E80607D)},
+         {UINT32_C(0x7019165C), UINT32_C(0x5F646EB6), UINT32_C(0xDDE34205),
+          UINT32_C(0xFA091FBE), UINT32_C(0x69267AE3), UINT32_C(0x695348B6),
+          UINT32_C(0xABC22051), UINT32_C(0x385B0B6A)}},
+        {{UINT32_C(0xB537F78C), UINT32_C(0x3CAE0756), UINT32_C(0x8BE30367),
+          UINT32_C(0x3012A958), UINT32_C(0x981A22C3), UINT32_C(0x32D26C06),
+          UINT32_C(0x2950E833), UINT32_C(0x7D091FAB)},
+         {UINT32_C(0x797ACAAF), UINT32_C(0xD8E1B638), UINT32_C(0x49F2EA10),
+          UINT32_C(0xE7021C85), UINT32_C(0x17A7AF3B), UINT32_C(0xCA382BC1),
+          UINT32_C(0xBB809976), UINT32_C(0x08A5A81D)}},
+        {{UINT32_C(0x4287BB97), UINT32_C(0x00F499FD), UINT32_C(0xDAA9DAF2),
+          UINT32_C(0xFB6791CA), UINT32_C(0x057B2B98), UINT32_C(0x9A19E4F3),
+          UINT32_C(0xC53C0223), UINT32_C(0x6968D2FF)},
+         {UINT32_C(0xCE88509C), UINT32_C(0xDC741EF5), UINT32_C(0x306A0570),
+          UINT32_C(0x38AE355D), UINT32_C(0xC23AF46B), UINT32_C(0xFECF6589),
+          UINT32_C(0x6AD48836), UINT32_C(0x6C0E6ED1)}},
+        {{UINT32_C(0xE363495D), UINT32_C(0x22B68698), UINT32_C(0x39AF2BE3),
+          UINT32_C(0x120005D0), UINT32_C(0x0BF4BA69), UINT32_C(0xE37B1965),
+          UINT32_C(0x26E64AE7), UINT32_C(0x3B416E93)},
+         {UINT32_C(0xDEAC5C59), UINT32_C(0xFAED5088), UINT32_C(0xEB2518A5),
+          UINT32_C(0x67436ACC), UINT32_C(0x91FA788D), UINT32_C(0x636B52F8),
+          UINT32_C(0x655153D1), UINT32_C(0x10B2A57A)}},
+        {{UINT32_C(0x833A984C), UINT32_C(0xB18060A7), UINT32_C(0x74833BAD),
+          UINT32_C(0x7EF83746), UINT32_C(0xC5B3BC88), UINT32_C(0xCBFAF742),
+          UINT32_C(0xA1A7F135), UINT32_C(0x7981DC36)},
+         {UINT32_C(0x5D076280), UINT32_C(0xE70CCAFA), UINT32_C(0x07009D85),
+          UINT32_C(0xEBA80EB7), UINT32_C(0x73778DE2), UINT32_C(0x7D99D24C),
+          UINT32_C(0xA7262D50), UINT32_C(0x1EFEE1BB)}},
+        {{UINT32_C(0x6A7CAB32), UINT32_C(0xBC47F4A2), UINT32_C(0xDD6E48A3),
+          UINT32_C(0x53F290A7), UINT32_C(0x92F35F9E), UINT32_C(0x82257A1B),
+          UINT32_C(0x8BB0AAB0), UINT32_C(0x73D17B31)},
+         {UINT32_C(0xC2DFFE96), UINT32_C(0xBBD4522A), UINT32_C(0xE6EB0501),
+          UINT32_C(0x9C37DAA1), UINT32_C(0x453DB6BE), UINT32_C(0xF4D4D568),
+          UINT32_C(0x642AD2E4), UINT32_C(0x2868CBF5)}},
+        {{UINT32_C(0xABE30C59), UINT32_C(0x40A988E6), UINT32_C(0x93057DEC),
+          UINT32_C(0x5ADED929), UINT32_C(0xDACD37B0), UINT32_C(0x18FD7E04),
+          UINT32_C(0x8228ACA5), UINT32_C(0x6E3FB81E)},
+         {UINT32_C(0x4104B0C9), UINT32_C(0xFF3EEFE6), UINT32_C(0x31CA120A),
+          UINT32_C(0xD7DD05E7), UINT32_C(0xD01C1CF8), UINT32_C(0xAFD3CF1C),
+          UINT32_C(0x831BC4E9), UINT32_C(0x4D0CD264)}},
+        {{UINT32_C(0x82CAC14A), UINT32_C(0x2641B321), UINT32_C(0x70990E6C),
+          UINT32_C(0x34EB1495), UINT32_C(0xA1C74CA6), UINT32_C(0x3E5AF58F),
+          UINT32_C(0x616B7A2D), UINT32_C(0x11B50821)},
+         {UINT32_C(0xC4FA9719), UINT32_C(0x891636E3), UINT32_C(0x107DD719),
+          UINT32_C(0xAEE84C27), UINT32_C(0xC1872E75), UINT32_C(0xA2B0D83E),
+          UINT32_C(0x7383069E), UINT32_C(0x7DD62CBC)}},
+        {{UINT32_C(0xC81B7E15), UINT32_C(0xEBA4A024), UINT32_C(0x04516070),
+          UINT32_C(0x1CC37E08), UINT32_C(0xF90CE59D), UINT32_C(0xEF1F0401),
+          UINT32_C(0xE062E133), UINT32_C(0x3B4259D5)},
+         {UINT32_C(0xCF2CA1DD), UINT32_C(0x87A1DBFA), UINT32_C(0x61FD1AFB),
+          UINT32_C(0xCFBFB15F), UINT32_C(0xECF4C7BA), UINT32_C(0xFBFD9899),
+          UINT32_C(0x2725FA50), UINT32_C(0x57C84CEE)}},
+        {{UINT32_C(0xEFA6E3D0), UINT32_C(0x8B0B7414), UINT32_C(0xB3D04224),
+          UINT32_C(0xD9725C5E), UINT32_C(0x8A91371E), UINT32_C(0x670E6C50),
+          UINT32_C(0x9B25BD3B), UINT32_C(0x4D130467)},
+         {UINT32_C(0x5CF18D4F), UINT32_C(0x18D77D15), UINT32_C(0x1CA09677),
+          UINT32_C(0xEF80DC41), UINT32_C(0xB9A05CF9), UINT32_C(0x6F3A961B),
+          UINT32_C(0x7C1433A4), UINT32_C(0x0BB8A518)}},
+        {{UINT32_C(0xB33FCF05), UINT32_C(0xAC0CF52A), UINT32_C(0x1CDC7782),
+          UINT32_C(0xAD03692F), UINT32_C(0xAA02B77E), UINT32_C(0xB345BAE6),
+          UINT32_C(0x456FCFA9), UINT32_C(0x05096694)},
+         {UINT32_C(0x25D4CF32), UINT32_C(0xA8984448), UINT32_C(0x15184188),
+          UINT32_C(0xD76393E3), UINT32_C(0xEA069BED), UINT32_C(0x7D4A8C0C),
+          UINT32_C(0x11E18347), UINT32_C(0x4D22268D)}},
+        {{UINT32_C(0x3CB3C0F1), UINT32_C(0xC2A0BB75), UINT32_C(0x8EBA58C6),
+          UINT32_C(0x61F4EC4C), UINT32_C(0xDFC4A903), UINT32_C(0x5D3F0D44),
+          UINT32_C(0xF9B6F79A), UINT32_C(0x0B6CE81B)},
+         {UINT32_C(0x94E49623), UINT32_C(0xF694A44A), UINT32_C(0x1BDF75E0),
+          UINT32_C(0xCFCBB7E1), UINT32_C(0xE0337E13), UINT32_C(0x20CEE1BD),
+          UINT32_C(0xDFF02E18), UINT32_C(0x694EA40B)}},
+        {{UINT32_C(0x78D1DC2E), UINT32_C(0xC21BE0FA), UINT32_C(0xED0E49E0),
+          UINT32_C(0x08B4D9A5), UINT32_C(0x827F0B4C), UINT32_C(0x676731AB),
+          UINT32_C(0xEBAB5894), UINT32_C(0x674ECC79)},
+         {UINT32_C(0x39ABB148), UINT32_C(0xB29BD0D4), UINT32_C(0x2378A63A),
+          UINT32_C(0x8207A8F8), UINT32_C(0x1E4C29C2), UINT32_C(0xE36A549D),
+          UINT32_C(0x3F1C255B), UINT32_C(0x380D48DE)}},
+        {{UINT32_C(0xE5F2C87E), UINT32_C(0x6AB6F887), UINT32_C(0xA01AEC86),
+          UINT32_C(0xE92C7345), UINT32_C(0x8660C26F), UINT32_C(0x697F4520),
+          UINT32_C(0x9B58015B), UINT32_C(0x4F2488E0)},
+         {UINT32_C(0xBB41900C), UINT32_C(0xB2410B3E), UINT32_C(0xBE1A8A39),
+          UINT32_C(0x31267500), UINT32_C(0xB9140554), UINT32_C(0xA7C9997C),
+          UINT32_C(0x1CD41524), UINT32_C(0x335B1806)}},
+        {{UINT32_C(0x14873270), UINT32_C(0xB836FD9F), UINT32_C(0xE3243EC5),
+          UINT32_C(0x1AE0F512), UINT32_C(0x83B9AB74), UINT32_C(0xA743E304),
+          UINT32_C(0x3A5758C7), UINT32_C(0x1569C30D)},
+         {UINT32_C(0x9E8F9E52), UINT32_C(0x003CEF9A), UINT32_C(0x8C22119E),
+          UINT32_C(0x557AFB4A), UINT32_C(0xF223A966), UINT32_C(0x66F2487E),
+          UINT32_C(0xA519378F), UINT32_C(0x7FA00273)}},
+    },
+    {
+        {{UINT32_C(0x7B08C1C4), UINT32_C(0x812C024F), UINT32_C(0xADBA8AD9),
+          UINT32_C(0xC6017986), UINT32_C(0x0601BD82), UINT32_C(0x59C7B16C),
+          UINT32_C(0x0CFA5622), UINT32_C(0x41B6A45C)},
+         {UINT32_C(0x83C1E3E8), UINT32_C(0x353A67D5), UINT32_C(0xC65F5059),
+          UINT32_C(0x9A83438E), UINT32_C(0x86EEA346), UINT32_C(0x99950377),
+          UINT32_C(0x330D2570), UINT32_C(0x74E2F4BD)}},
+        {{UINT32_C(0xB4A8BDA8), UINT32_C(0xDB8E53C1), UINT32_C(0x2C003C77),
+          UINT32_C(0xA850047E), UINT32_C(0x1B018831), UINT32_C(0xFFD48A73),
+          UINT32_C(0x8B325062), UINT32_C(0x24F96CB6)},
+         {UINT32_C(0xCD2B821B), UINT32_C(0x3779CA4D), UINT32_C(0xC3159CE7),
+          UINT32_C(0xC2AFBF6E), UINT32_C(0x10F18DE9), UINT32_C(0x8A580B1A),
+          UINT32_C(0x8CF75334), UINT32_C(0x37043D0D)}},
+        {{UINT32_C(0xECCCF2E8), UINT32_C(0x0451DCDA), UINT32_C(0x752A134F),
+          UINT32_C(0xCF7A3AD9), UINT32_C(0xFBDAE56C), UINT32_C(0xD5754596),
+          UINT32_C(0xF4CDCF6A), UINT32_C(0x15237D73)},
+         {UINT32_C(0xECA37967), UINT32_C(0x1DF5912C), UINT32_C(0x336CD97E),
+          UINT32_C(0x60934339), UINT32_C(0x434DDC01), UINT32_C(0xA4E523FE),
+          UINT32_C(0x79DBE24C), UINT32_C(0x24E81DC6)}},
+        {{UINT32_C(0xC83B2B7C), UINT32_C(0x28F0D73B), UINT32_C(0x7B5DE1AA),
+          UINT32_C(0x45BE220F), UINT32_C(0xB136A877), UINT32_C(0x1B785230),
+          UINT32_C(0xAEFF115B), UINT32_C(0x5A94122A)},
+         {UINT32_C(0x8E598998), UINT32_C(0xEF895F0C), UINT32_C(0xF4C622C3),
+          UINT32_C(0xCEE32B3E), UINT32_C(0xB256CFD0), UINT32_C(0x2D080B1D),
+          UINT32_C(0x21075E15), UINT32_C(0x672686D6)}},
+        {{UINT32_C(0x9F9F26FE), UINT32_C(0xE85FB575), UINT32_C(0x93A7966E),
+          UINT32_C(0x1DE57B83), UINT32_C(0xDD8CB696), UINT32_C(0xA9948DE8),
+          UINT32_C(0x758E685D), UINT32_C(0x226C95A6)},
+         {UINT32_C(0x3729C663), UINT32_C(0x38B0753B), UINT32_C(0x410E4884),
+          UINT32_C(0xD46CA4D9), UINT32_C(0x77516FA4), UINT32_C(0x1D6FA5F9),
+          UINT32_C(0x696CFAFC), UINT32_C(0x09A0FDB8)}},
+        {{UINT32_C(0xCC7F6FD8), UINT32_C(0xD1DAD8E9), UINT32_C(0x022195A2),
+          UINT32_C(0x7BB9F606), UINT32_C(0x223A9346), UINT32_C(0x1B997396),
+          UINT32_C(0x88DCFB04), UINT32_C(0x6ACD6F7C)},
+         {UINT32_C(0x3AC52F65), UINT32_C(0x9029E5EB), UINT32_C(0x935A39DE),
+          UINT32_C(0xED1D7A0F), UINT32_C(0x538D8914), UINT32_C(0xF1D58C3A),
+          UINT32_C(0xB36B8342), UINT32_C(0x19153569)}},
+        {{UINT32_C(0xE2502156), UINT32_C(0xFF600354), UINT32_C(0x733DA5EC),
+          UINT32_C(0xE386A20F), UINT32_C(0x9D24D11D), UINT32_C(0xD6FBCBBB),
+          UINT32_C(0x0B06C843), UINT32_C(0x0B57498C)},
+         {UINT32_C(0x7A834667), UINT32_C(0x98F1FFF8), UINT32_C(0xC7DF05F5),
+          UINT32_C(0x4AEB8788), UINT32_C(0xC2681DA4), UINT32_C(0x8CFA3B01),
+          UINT32_C(0x2FA2FAEA), UINT32_C(0x1AECC0E8)}},
+        {{UINT32_C(0x94C5CBC5), UINT32_C(0x38278865), UINT32_C(0x041A755A),
+          UINT32_C(0x9ADA7CAB), UINT32_C(0x8D891640), UINT32_C(0xB38F762A),
+          UINT32_C(0x00AD88F0), UINT32_C(0x28F6FBB2)},
+         {UINT32_C(0x3709CD6D), UINT32_C(0x3F9629E3), UINT32_C(0x4912F483),
+          UINT32_C(0xD2435A55), UINT32_C(0xDFF5AB69), UINT32_C(0x305BEA64),
+          UINT32_C(0x663BB0D9), UINT32_C(0x4D29041A)}},
+        {{UINT32_C(0xE2FD9338), UINT32_C(0xDC4BC9D4), UINT32_C(0xBA7938FC),
+          UINT32_C(0x5389390D), UINT32_C(0xF329B218), UINT32_C(0xC42B812D),
+          UINT32_C(0xFA9F1956), UINT32_C(0x5E809B5E)},
+         {UINT32_C(0x523D74C3), UINT32_C(0xE2A89BAA), UINT32_C(0x78CBA7B5),
+          UINT32_C(0x97CD9FFB), UINT32_C(0x5B07BCD2), UINT32_C(0x25F95301),
+          UINT32_C(0x2064BB3A), UINT32_C(0x4042C705)}},
+        {{UINT32_C(0x28D53BF9), UINT32_C(0xD8B6ADA4), UINT32_C(0xA4210F2D),
+          UINT32_C(0x5E922CA5), UINT32_C(0xF05A1629), UINT32_C(0x9501F46A),
+          UINT32_C(0xC6CD71CD), UINT32_C(0x28094E54)},
+         {UINT32_C(0x811285AD), UINT32_C(0x8D5484D5), UINT32_C(0x1593EE86),
+          UINT32_C(0xFB2168F4), UINT32_C(0xAC54A41D), UINT32_C(0x693D3B32),
+          UINT32_C(0x28A5425C), UINT32_C(0x3DAFEC07)}},
+        {{UINT32_C(0xD12837A8), UINT32_C(0x0E4CF0D0), UINT32_C(0xCF5273BB),
+          UINT32_C(0x19FA2CC9), UINT32_C(0x116A20C4), UINT32_C(0x56346BAE),
+          UINT32_C(0x0E436A36), UINT32_C(0x4F3597FE)},
+         {UINT32_C(0xE8EB1B85), UINT32_C(0x459D3FFB), UINT32_C(0x5AE04130),
+          UINT32_C(0x7C718672), UINT32_C(0x60302740), UINT32_C(0xA37C2586),
+          UINT32_C(0x913072D8), UINT32_C(0x2871AF37)}},
+        {{UINT32_C(0x8590319D), UINT32_C(0xD77249B7), UINT32_C(0xEB06B813),
+          UINT32_C(0x73F7A684), UINT32_C(0x71D1D580), UINT32_C(0x4C9DC5B9),
+          UINT32_C(0x5A50A95B), UINT32_C(0x7C91A9F5)},
+         {UINT32_C(0x0475F161), UINT32_C(0x4F8F2E89), UINT32_C(0x538B7F94),
+          UINT32_C(0xF34EC1DD), UINT32_C(0xD46F2575), UINT32_C(0xB8FF6C65),
+          UINT32_C(0x64433C80), UINT32_C(0x79A2CE2C)}},
+        {{UINT32_C(0x1AEB7039), UINT32_C(0x38448A53), UINT32_C(0x417189EC),
+          UINT32_C(0xF5EC03F7), UINT32_C(0xEB92FF2B), UINT32_C(0xFA095CA1),
+          UINT32_C(0xE4FCAEDB), UINT32_C(0x4612F720)},
+         {UINT32_C(0xF30AAE0E), UINT32_C(0xC945E966), UINT32_C(0x340A7A1D),
+          UINT32_C(0xF61CFE85), UINT32_C(0xE42D7920), UINT32_C(0xA2560BC6),
+          UINT32_C(0xA692E9C7), UINT32_C(0x07D7B321)}},
+        {{UINT32_C(0x592C60C5), UINT32_C(0xB9C26307), UINT32_C(0x0F59D966),
+          UINT32_C(0xCECBC6C3), UINT32_C(0x5459D89E), UINT32_C(0x8BA31FD6),
+          UINT32_C(0x47C7FAE8), UINT32_C(0x1A4AF6B1)},
+         {UINT32_C(0xB431D720), UINT32_C(0x66487766), UINT32_C(0x5108B845),
+          UINT32_C(0x5D597309), UINT32_C(0xCA8E6E0D), UINT32_C(0xA3B94FD7),
+          UINT32_C(0x55C6A48D), UINT32_C(0x639519E3)}},
+        {{UINT32_C(0x052DC195), UINT32_C(0xAD3EE167), UINT32_C(0x0947816B),
+          UINT32_C(0x4DF2BFC7), UINT32_C(0xABADBB3C), UINT32_C(0x5D463469),
+          UINT32_C(0xC33D4F96), UINT32_C(0x6F7AA885)},
+         {UINT32_C(0xFE06133C), UINT32_C(0x3DD27536), UINT32_C(0x2796E7ED),
+          UINT32_C(0x27A557B2), UINT32_C(0x3D314A4F), UINT32_C(0x1117CCB7),
+          UINT32_C(0x23968946), UINT32_C(0x6F0C0AE0)}},
+        {{UINT32_C(0xE2110C00), UINT32_C(0x0A3D4DAE), UINT32_C(0x4C633A23),
+          UINT32_C(0x0389D3A5), UINT32_C(0x83AEC172), UINT32_C(0xE167BDFA),
+          UINT32_C(0xFB38E8F1), UINT32_C(0x067070CE)},
+         {UINT32_C(0x4DF220C5), UINT32_C(0x41137367), UINT32_C(0x59C39F05),
+          UINT32_C(0xB255E5D3), UINT32_C(0x043C75B3), UINT32_C(0xE437984E),
+          UINT32_C(0x6A22994A), UINT32_C(0x01DCD771)}},
+    },
+    {
+        {{UINT32_C(0x4C6FDDCF), UINT32_C(0xD2880DF2), UINT32_C(0x8A00D80F),
+          UINT32_C(0x76A28FF2), UINT32_C(0x0792F82C), UINT32_C(0x257CB1F8),
+          UINT32_C(0x605703EA), UINT32_C(0x07938ABC)},
+         {UINT32_C(0x5F61B0FE), UINT32_C(0xD99F0AC9), UINT32_C(0x8EC15433),
+          UINT32_C(0x440DC63C), UINT32_C(0x86AB5DDB), UINT32_C(0xD9BDDFF1),
+          UINT32_C(0x744755EA), UINT32_C(0x3B8875DC)}},
+        {{UINT32_C(0x4938C9FB), UINT32_C(0x01D90440), UINT32_C(0x8DB6A890),
+          UINT32_C(0x900657FD), UINT32_C(0xF60A173A), UINT32_C(0xDCC5068A),
+          UINT32_C(0x857C7B2A), UINT32_C(0x5F3EB242)},
+         {UINT32_C(0xA4F0EB9E), UINT32_C(0x634240BD), UINT32_C(0x44E85C70),
+          UINT32_C(0xACDDA6C4), UINT32_C(0x0AABE4C5), UINT32_C(0x753F02AB),
+          UINT32_C(0xC1D034E1), UINT32_C(0x33D89D21)}},
+        {{UINT32_C(0x1279B25B), UINT32_C(0x4596B52D), UINT32_C(0xA48014AE),
+          UINT32_C(0x494669D9), UINT32_C(0x4FD22150), UINT32_C(0x9A26B6FC),
+          UINT32_C(0xF07D5A3F), UINT32_C(0x394DE0BB)},
+         {UINT32_C(0x634C1733), UINT32_C(0x12DFE5A6), UINT32_C(0x1EBC5177),
+          UINT32_C(0x33EC21D2), UINT32_C(0x527514CC), UINT32_C(0x454B4930),
+          UINT32_C(0x41405532), UINT32_C(0x7F23BD0F)}},
+        {{UINT32_C(0xBAC9DD30), UINT32_C(0xB2879E7F), UINT32_C(0x06CE7672),
+          UINT32_C(0x259BB1CB), UINT32_C(0xBB97BE10), UINT32_C(0x201DB42E),
+          UINT32_C(0x2EA35A8E), UINT32_C(0x112D6079)},
+         {UINT32_C(0x6B3B9933), UINT32_C(0x7CC756D4), UINT32_C(0x781CE4DD),
+          UINT32_C(0x4BD24810), UINT32_C(0x8733247E), UINT32_C(0x53CB4E38),
+          UINT32_C(0x9DA66787), UINT32_C(0x47BD6A30)}},
+        {{UINT32_C(0xBA600C8E), UINT32_C(0x8A700953), UINT32_C(0xCF388C0D),
+          UINT32_C(0xD466F11D), UINT32_C(0xE4A17A8E), UINT32_C(0xD485F341),
+          UINT32_C(0x234FC16D), UINT32_C(0x63278918)},
+         {UINT32_C(0xBB82046D), UINT32_C(0xF4DDA875), UINT32_C(0x2945470A),
+          UINT32_C(0xD61E4E58), UINT32_C(0x6D0F8976), UINT32_C(0xCDB6C5BD),
+          UINT32_C(0x10A004A2), UINT32_C(0x44CD9E4D)}},
+        {{UINT32_C(0x49C4AA6E), UINT32_C(0x595CD942), UINT32_C(0x3DE400C8),
+          UINT32_C(0xE5A90136), UINT32_C(0x9DD12D9E), UINT32_C(0x4BCED3BD),
+          UINT32_C(0x78E3D5E4), UINT32_C(0x3700CF92)},
+         {UINT32_C(0x75A32D1A), UINT32_C(0xECFFF498), UINT32_C(0x3C4A54B2),
+          UINT32_C(0xC28DDE37), UINT32_C(0x993CAE6D), UINT32_C(0x8DC22352),
+          UINT32_C(0x52ED7019), UINT32_C(0x46CB5408)}},
+        {{UINT32_C(0xEA94E7BF), UINT32_C(0x71FFAED0), UINT32_C(0xD5AE6185),
+          UINT32_C(0xC0817D2C), UINT32_C(0x5CF23687), UINT32_C(0x7B72B8B9),
+          UINT32_C(0x60A450E1), UINT32_C(0x61DDE599)},
+         {UINT32_C(0xD13870E6), UINT32_C(0x17CF0B10), UINT32_C(0x5F2930BB),
+          UINT32_C(0x7D08E1FB), UINT32_C(0x83807C14), UINT32_C(0x8D0F4F55),
+          UINT32_C(0x6E6DB701), UINT32_C(0x61EBFC1A)}},
+        {{UINT32_C(0x0FCAFE68), UINT32_C(0x247A3F65), UINT32_C(0x7AC2A25E),
+          UINT32_C(0x57548035), UINT32_C(0x3CD0FE06), UINT32_C(0xB7466CA5),
+          UINT32_C(0xBCC31AB3), UINT32_C(0x7B0D8B36)},
+         {UINT32_C(0xA6D4358C), UINT32_C(0x2FAAF49C), UINT32_C(0x3E9B4E31),
+          UINT32_C(0xD9E5E2FE), UINT32_C(0xF6086336), UINT32_C(0xA6A859A0),
+          UINT32_C(0xA9C19F84), UINT32_C(0x0C2A442A)}},
+        {{UINT32_C(0x3BC0AD7D), UINT32_C(0x66FEA841), UINT32_C(0x32C9158E),
+          UINT32_C(0xCD3A546C), UINT32_C(0x8FE1DF7F), UINT32_C(0xACD2EE7F),
+          UINT32_C(0xEBE9621E), UINT32_C(0x10F58C0A)},
+         {UINT32_C(0x478B667D), UINT32_C(0x80047C54), UINT32_C(0x89870DCE),
+          UINT32_C(0x9EAE5FAA), UINT32_C(0x0520A005), UINT32_C(0xC05BEB33),
+          UINT32_C(0x352AC891), UINT32_C(0x2CFBC921)}},
+        {{UINT32_C(0x632F6D73), UINT32_C(0x6842E6B8), UINT32_C(0x2B9FFAEA),
+          UINT32_C(0x6F2B5724), UINT32_C(0x9341D2FA), UINT32_C(0x7ACCC982),
+          UINT32_C(0x88809B65), UINT32_C(0x6DAD9A11)},
+         {UINT32_C(0xB6CC2240), UINT32_C(0x3411850C), UINT32_C(0xB64937E1),
+          UINT32_C(0x8547BCAF), UINT32_C(0x6978F636), UINT32_C(0x49AEDD5F),
+          UINT32_C(0x85A53D2A), UINT32_C(0x38F59752)}},
+        {{UINT32_C(0xF5F5A2D0), UINT32_C(0x5C38EB49), UINT32_C(0xE3BF779C),
+          UINT32_C(0xE028121B), UINT32_C(0xA783D5E3), UINT32_C(0x649997C8),
+          UINT32_C(0x2C06CC0F), UINT32_C(0x04DE984A)},
+         {UINT32_C(0xA49D6239), UINT32_C(0x52C834B0), UINT32_C(0x628413AC),
+          UINT32_C(0x070A1B09), UINT32_C(0xA8624A1E), UINT32_C(0x2FBE0CA5),
+          UINT32_C(0x268D930A), UINT32_C(0x687D93C3)}},
+        {{UINT32_C(0x314C47A4), UINT32_C(0xC7CD6805), UINT32_C(0xCE7A9A6D),
+          UINT32_C(0x8BD0C630), UINT32_C(0x34F727BA), UINT32_C(0xCDB2DAD5),
+          UINT32_C(0x25DB0189), UINT32_C(0x7814C414)},
+         {UINT32_C(0x7DD9CAEE), UINT32_C(0xD7F9C5DC), UINT32_C(0x798690E4),
+          UINT32_C(0xDA6EACC8), UINT32_C(0x6B675E01), UINT32_C(0x705794E3),
+          UINT32_C(0x75C5EC38), UINT32_C(0x4A31D714)}},
+        {{UINT32_C(0x0519D5F2), UINT32_C(0xC162A3EA), UINT32_C(0x2958FABF),
+          UINT32_C(0x92146A78), UINT32_C(0x6CB31EB0), UINT32_C(0x1E63CBE4),
+          UINT32_C(0xFBC5AD0F), UINT32_C(0x77CE5AAD)},
+         {UINT32_C(0x32605DC6), UINT32_C(0x3631E470), UINT32_C(0x43413DD3),
+          UINT32_C(0xC7D1C72F), UINT32_C(0x0DF6B7C9), UINT32_C(0x171A3794),
+          UINT32_C(0x2B5A08BC), UINT32_C(0x6D711743)}},
+        {{UINT32_C(0x509EF0F2), UINT32_C(0xDDC8057D), UINT32_C(0x6CABB486),
+          UINT32_C(0x05C0B92B), UINT32_C(0x4244D919), UINT32_C(0xD49692B6),
+          UINT32_C(0xD297F56E), UINT32_C(0x4E181744)},
+         {UINT32_C(0xF8CBB897), UINT32_C(0x902F6E73), UINT32_C(0x56D01382),
+          UINT32_C(0xC3B21FE1), UINT32_C(0x46890F6D), UINT32_C(0xA858ABE1),
+          UINT32_C(0x506858AF), UINT32_C(0x46B5E2C9)}},
+        {{UINT32_C(0xF4DEDE56), UINT32_C(0x30441281), UINT32_C(0xA195AEDE),
+          UINT32_C(0x13F06FBB), UINT32_C(0x2FDD3BFF), UINT32_C(0xAD5F575B),
+          UINT32_C(0x32ACB590), UINT32_C(0x680F656D)},
+         {UINT32_C(0xE3FAABA7), UINT32_C(0xFB60A8E1), UINT32_C(0x89A14827),
+          UINT32_C(0xC8FBC1E4), UINT32_C(0xA8616136), UINT32_C(0x5835453F),
+          UINT32_C(0xE6F4926F), UINT32_C(0x02826A47)}},
+        {{UINT32_C(0x74F32180), UINT32_C(0xAF4319A1), UINT32_C(0x6C2C1712),
+          UINT32_C(0x4C9FDD16), UINT32_C(0xAC7E14A7), UINT32_C(0x59CA4FD4),
+          UINT32_C(0xABBD4EA4), UINT32_C(0x07AA6E2F)},
+         {UINT32_C(0xFE9F121F), UINT32_C(0xB4BD441C), UINT32_C(0xCDA452C5),
+          UINT32_C(0xDEBB4356), UINT32_C(0x51C9F451), UINT32_C(0xC29F1CFA),
+          UINT32_C(0x83F598D8), UINT32_C(0x7E1EEF4C)}},
+    },
+    {
+        {{UINT32_C(0x5014135F), UINT32_C(0xFC41A321), UINT32_C(0x3EEADF3F),
+          UINT32_C(0xBE95F9BA), UINT32_C(0x3203A540), UINT32_C(0x054B1212),
+          UINT32_C(0x3721C745), UINT32_C(0x6DD2FD17)},
+         {UINT32_C(0x5A682B59), UINT32_C(0xF86B8578), UINT32_C(0xBE801F7D),
+          UINT32_C(0x872AA481), UINT32_C(0x14F865F2), UINT32_C(0x64C1600C),
+          UINT32_C(0x25365449), UINT32_C(0x4BDD47AA)}},
+        {{UINT32_C(0xF3A3469F), UINT32_C(0xC96A964C), UINT32_C(0x9F7DA0E3),
+          UINT32_C(0x273C5C85), UINT32_C(0x4C1A9DCD), UINT32_C(0x88EDC4AC),
+          UINT32_C(0xB48E4CAA), UINT32_C(0x77623444)},
+         {UINT32_C(0x31581FF7), UINT32_C(0x7AF34A9C), UINT32_C(0xBB57F7CC),
+          UINT32_C(0x23328C37), UINT32_C(0x8B7C86AB), UINT32_C(0xE920D8E9),
+          UINT32_C(0x9DE6D64C), UINT32_C(0x1C7A7A40)}},
+        {{UINT32_C(0x79B9451C), UINT32_C(0x0BCDCD22), UINT32_C(0x58F5241B),
+          UINT32_C(0x2920B435), UINT32_C(0x9B33EF3D), UINT32_C(0xC24DF715),
+          UINT32_C(0xF2600224), UINT32_C(0x15252C5B)},
+         {UINT32_C(0x9A9160B6), UINT32_C(0xF9C8D8A6), UINT32_C(0xA6B9A6B8),
+          UINT32_C(0x3186F2F9), UINT32_C(0xA377E98A), UINT32_C(0xC37267DC),
+          UINT32_C(0x37957189), UINT32_C(0x71319A0A)}},
+        {{UINT32_C(0x6BAF6AE5), UINT32_C(0x48E5033F), UINT32_C(0xA460FCE9),
+          UINT32_C(0x72379B2E), UINT32_C(0xF3D2FA46), UINT32_C(0xFC753D47),
+          UINT32_C(0xED9EDF72), UINT32_C(0x3B67685A)},
+         {UINT32_C(0xF712500F), UINT32_C(0x1608E304), UINT32_C(0x9EE1B42A),
+          UINT32_C(0xDFA358A4), UINT32_C(0x34B8345C), UINT32_C(0xE7A4B376),
+          UINT32_C(0x06753C17), UINT32_C(0x7D0E0BF3)}},
+        {{UINT32_C(0x8FA62042), UINT32_C(0xA88526A6), UINT32_C(0x393006BD),
+          UINT32_C(0xD6F32BB5), UINT32_C(0xA5DD5045), UINT32_C(0x14804978),
+          UINT32_C(0xBF0C5E13), UINT32_C(0x34C02662)},
+         {UINT32_C(0x376E3E3D), UINT32_C(0xF9BEEBF9), UINT32_C(0x5923DC61),
+          UINT32_C(0xFD774041), UINT32_C(0xF9735CF5), UINT32_C(0xFE77BDFA),
+          UINT32_C(0x4077CFCC), UINT32_C(0x2E476E22)}},
+        {{UINT32_C(0x9BA457EF), UINT32_C(0xAB8E52EB), UINT32_C(0x0ABED212),
+          UINT32_C(0x95F6C5FE), UINT32_C(0x386620FF), UINT32_C(0x7204B1A6),
+          UINT32_C(0xDD180719), UINT32_C(0x463B7474)},
+         {UINT32_C(0xF991D8EE), UINT32_C(0x7F7D27AA), UINT32_C(0x8F67722D),
+          UINT32_C(0xA7EB1085), UINT32_C(0xE331480A), UINT32_C(0x78D7095B),
+          UINT32_C(0x66A1C8FA), UINT32_C(0x1DCC8C12)}},
+        {{UINT32_C(0x3E6A04C1), UINT32_C(0xD4C39C18), UINT32_C(0xB598ABEE),
+          UINT32_C(0x73DB1C4D), UINT32_C(0xDF4A7D42), UINT32_C(0x381F9780),
+          UINT32_C(0x52F860CD), UINT32_C(0x3C19A231)},
+         {UINT32_C(0x3EF00740), UINT32_C(0x7EC89934), UINT32_C(0xF37FE0D5),
+          UINT32_C(0x50867788), UINT32_C(0x43E84D4A), UINT32_C(0x502D870B),
+          UINT32_C(0x8F744749), UINT32_C(0x5F8A8413)}},
+        {{UINT32_C(0xFAECCFE4), UINT32_C(0x1C41AAAD), UINT32_C(0x21461F41),
+          UINT32_C(0xC324F3B9), UINT32_C(0x4E90C0AB), UINT32_C(0x165ABA3F),
+          UINT32_C(0x5F88E7D3), UINT32_C(0x2F96CED5)},
+         {UINT32_C(0xC0E52768), UINT32_C(0x8CA366FC), UINT32_C(0xA55249A7),
+          UINT32_C(0x6CCA017C), UINT32_C(0x0F7EBCA2), UINT32_C(0x41ED002F),
+          UINT32_C(0xA2BAF655), UINT32_C(0x0C33B371)}},
+        {{UINT32_C(0x62B928CE), UINT32_C(0x3B94CD9C), UINT32_C(0x39729345),
+          UINT32_C(0x5BC43A6A), UINT32_C(0xC47D223C), UINT32_C(0x044D0C0F),
+          UINT32_C(0xB0493367), UINT32_C(0x3B64B38D)},
+         {UINT32_C(0xEB74A6C2), UINT32_C(0x82AFB645), UINT32_C(0xD876D71C),
+          UINT32_C(0x0CB01E22), UINT32_C(0x29C6BCD0), UINT32_C(0xCE2A7DCC),
+          UINT32_C(0xDFD644EC), UINT32_C(0x4753DE1C)}},
+        {{UINT32_C(0x62188792), UINT32_C(0xE69FC903), UINT32_C(0x4914328B),
+          UINT32_C(0xD91DB9BC), UINT32_C(0x3B68F8D0), UINT32_C(0x44953F4D),
+          UINT32_C(0x0654B283), UINT32_C(0x2950435D)},
+         {UINT32_C(0xBE88F609), UINT32_C(0xE599A4AE), UINT32_C(0x90F5D10E),
+          UINT32_C(0xF801CD90), UINT32_C(0xD4F1D3D9), UINT32_C(0x0AB78DB1),
+          UINT32_C(0xC0F71ECB), UINT32_C(0x3ED9666A)}},
+        {{UINT32_C(0xE1E73E59), UINT32_C(0x6046A505), UINT32_C(0xF3B5C2E0),
+          UINT32_C(0x8723A3EC), UINT32_C(0xE22C1555), UINT32_C(0x4BD95BF6),
+          UINT32_C(0x6DA421E9), UINT32_C(0x50DC33DB)},
+         {UINT32_C(0xF1B01327), UINT32_C(0xCFB51E95), UINT32_C(0x199A8765),
+          UINT32_C(0xE7013F2A), UINT32_C(0x77504B0B), UINT32_C(0xF486FEA7),
+          UINT32_C(0xF9BA61C6), UINT32_C(0x2AF0F7E9)}},
+        {{UINT32_C(0xBE00B841), UINT32_C(0x9DBA1A02), UINT32_C(0x8BED5F08),
+          UINT32_C(0x488BA455), UINT32_C(0x67F1040E), UINT32_C(0xF6814A64),
+          UINT32_C(0xDC252336), UINT32_C(0x23AC4762)},
+         {UINT32_C(0xF0ED0577), UINT32_C(0x25040F02), UINT32_C(0xC6FFAE9C),
+          UINT32_C(0x65209B22), UINT32_C(0x485AA0AC), UINT32_C(0xCC441A8C),
+          UINT32_C(0x59D63A8A), UINT32_C(0x10DFACB6)}},
+        {{UINT32_C(0xC7D86B28), UINT32_C(0xBF4A0569), UINT32_C(0xDBDA9DA4),
+          UINT32_C(0x5CDA94C4), UINT32_C(0x69058335), UINT32_C(0x2235C4CE),
+          UINT32_C(0xD30C89E2), UINT32_C(0x68FA5E7C)},
+         {UINT32_C(0x59097B5B), UINT32_C(0xBB286D39), UINT32_C(0x9A20BA7E),
+          UINT32_C(0x87DA80BB), UINT32_C(0x56F47E54), UINT32_C(0x85EF865E),
+          UINT32_C(0x74ABFA5B), UINT32_C(0x5BB87867)}},
+        {{UINT32_C(0xDE2FA36E), UINT32_C(0x5DB14FAB), UINT32_C(0x77775F09),
+          UINT32_C(0x84E3B546), UINT32_C(0xDA951D99), UINT32_C(0xDA734523),
+          UINT32_C(0x3975026E), UINT32_C(0x04A89097)},
+         {UINT32_C(0xC0D12BE1), UINT32_C(0xB5753599), UINT32_C(0xFB864D61),
+          UINT32_C(0x05670CE9), UINT32_C(0x305BF3CF), UINT32_C(0xB7153502),
+          UINT32_C(0x2E60AF62), UINT32_C(0x7A9BB357)}},
+        {{UINT32_C(0xC7566DA5), UINT32_C(0xF43CDA07), UINT32_C(0x53FA4196),
+          UINT32_C(0x7FC4C7FC), UINT32_C(0x88DCC9F3), UINT32_C(0x1E20E0ED),
+          UINT32_C(0xFEE23DDA), UINT32_C(0x7317C7E5)},
+         {UINT32_C(0x43017070), UINT32_C(0x0305E13F), UINT32_C(0x6B1CA7C0),
+          UINT32_C(0x5568410C), UINT32_C(0x104BA029), UINT32_C(0x0E5D55BA),
+          UINT32_C(0x90FD49F8), UINT32_C(0x118B284E)}},
+        {{UINT32_C(0x8F3C6D8A), UINT32_C(0xCA0F7B5B), UINT32_C(0xAF7ECBF6),
+          UINT32_C(0xAF72DEE0), UINT32_C(0xBB0EC4F1), UINT32_C(0x21C86D85),
+          UINT32_C(0xF0525D17), UINT32_C(0x0303BC47)},
+         {UINT32_C(0x896FFCC0), UINT32_C(0x6ADCAB9F), UINT32_C(0x24E970CA),
+          UINT32_C(0x65764C45), UINT32_C(0x1C3CA718), UINT32_C(0x0000F14C),
+          UINT32_C(0xD0292587), UINT32_C(0x01CF1DDB)}},
+    },
+    {
+        {{UINT32_C(0x86111EBA), UINT32_C(0xEC4FABCC), UINT32_C(0xBBBB793F),
+          UINT32_C(0x599C20B6), UINT32_C(0x5657668F), UINT32_C(0xF74AE747),
+          UINT32_C(0x77BAE892), UINT32_C(0x24AF29B2)},
+         {UINT32_C(0xCFAC9D5E), UINT32_C(0x47D6876B), UINT32_C(0x24369E14),
+          UINT32_C(0xCACF9F50), UINT32_C(0x6F9CAFEF), UINT32_C(0x8A231D74),
+          UINT32_C(0xB69AAE58), UINT32_C(0x57645A4E)}},
+        {{UINT32_C(0x489900F6), UINT32_C(0x440A3B15), UINT32_C(0x961AC3C2),
+          UINT32_C(0x4B642FD3), UINT32_C(0xC265B973), UINT32_C(0x3D668599),
+          UINT32_C(0x1139CE78), UINT32_C(0x5FA0E65D)},
+         {UINT32_C(0x1FAA710E), UINT32_C(0x3FF15AF4), UINT32_C(0xA9422FC0),
+          UINT32_C(0xE45D35CE), UINT32_C(0xBD7BB349), UINT32_C(0x56904C06),
+          UINT32_C(0xE529989D), UINT32_C(0x40C5BEE0)}},
+        {{UINT32_C(0x70B20298), UINT32_C(0x8FA46861), UINT32_C(0x4838A136),
+          UINT32_C(0xEC629538), UINT32_C(0x137F66D6), UINT32_C(0x23ADE0F6),
+          UINT32_C(0x8EA53E76), UINT32_C(0x1A92E05C)},
+         {UINT32_C(0x9D51EB7A), UINT32_C(0x51728E27), UINT32_C(0xC4352E35),
+          UINT32_C(0xA6B0B758), UINT32_C(0x37A11B35), UINT32_C(0x84C59331),
+          UINT32_C(0xF66B75C7), UINT32_C(0x3933EFC1)}},
+        {{UINT32_C(0x66916D0A), UINT32_C(0x7FB68D62), UINT32_C(0xF28A9B14),
+          UINT32_C(0x3325D42E), UINT32_C(0x8592B544), UINT32_C(0x75E83A65),
+          UINT32_C(0x2718628F), UINT32_C(0x524D1CE0)},
+         {UINT32_C(0x3C584D76), UINT32_C(0x88A110EA), UINT32_C(0x4AC09AAC),
+          UINT32_C(0x6B034AC4), UINT32_C(0x84FD3A36), UINT32_C(0x06488635),
+          UINT32_C(0x87D944E1), UINT32_C(0x516F0EB0)}},
+        {{UINT32_C(0xDF11D0BB), UINT32_C(0xE2016DA0), UINT32_C(0xB01F6540),
+          UINT32_C(0xB34EB471), UINT32_C(0x165CBB24), UINT32_C(0x13E3D330),
+          UINT32_C(0x7CF7F676), UINT32_C(0x3E755D11)},
+         {UINT32_C(0x4FEA9A69), UINT32_C(0xD70CF4F8), UINT32_C(0xD18F4337),
+          UINT32_C(0x98F59E0A), UINT32_C(0x826344BA), UINT32_C(0x7CCE7CE6),
+          UINT32_C(0xF4004BBE), UINT32_C(0x30D129D7)}},
+        {{UINT32_C(0xBA9CB975), UINT32_C(0x016EF317), UINT32_C(0xE4B3AB4D),
+          UINT32_C(0x8EEBED19), UINT32_C(0x170A2570), UINT32_C(0x8C597DF0),
+          UINT32_C(0x5BE6DE70), UINT32_C(0x451538D8)},
+         {UINT32_C(0x7A64792F), UINT32_C(0x6C711DAC), UINT32_C(0x217EC8FB),
+          UINT32_C(0x8F1896EB), UINT32_C(0x7FE18DED), UINT32_C(0x82E9C20B),
+          UINT32_C(0xB0C5F622), UINT32_C(0x6CEBF4A7)}},
+        {{UINT32_C(0x49CCC64F), UINT32_C(0xD9403EB5), UINT32_C(0x28B8A3FD),
+          UINT32_C(0x807EBD56), UINT32_C(0x0F291E12), UINT32_C(0xF08BB659),
+          UINT32_C(0x9C3F4432), UINT32_C(0x020D13E3)},
+         {UINT32_C(0x752BB92E), UINT32_C(0xDA247896), UINT32_C(0x86EAFA7A),
+          UINT32_C(0x99541794), UINT32_C(0x274E36AD), UINT32_C(0x213E94BA),
+          UINT32_C(0x61A71333), UINT32_C(0x4CC0F1FB)}},
+        {{UINT32_C(0x06478801), UINT32_C(0x19CC11BD), UINT32_C(0x6D18216A),
+          UINT32_C(0x1251562A), UINT32_C(0xCDD307FC), UINT32_C(0x7A5F06BB),
+          UINT32_C(0xFAA9CA2A), UINT32_C(0x4285F6AB)},
+         {UINT32_C(0x81258996), UINT32_C(0x5A922831), UINT32_C(0x27B8B018),
+          UINT32_C(0x8F7CF8EE), UINT32_C(0x7F81A62D), UINT32_C(0xF030BEF3),
+          UINT32_C(0xCD4FD4E7), UINT32_C(0x417ACBC1)}},
+        {{UINT32_C(0xEC64412F), UINT32_C(0xCFB0EA58), UINT32_C(0x6091E621),
+          UINT32_C(0x9547B64A), UINT32_C(0xFD0C9815), UINT32_C(0x5EA49C7E),
+          UINT32_C(0xE78B355C), UINT32_C(0x6789055A)},
+         {UINT32_C(0x77E9A73A), UINT32_C(0x8D743E98), UINT32_C(0x2EA3FA49),
+          UINT32_C(0xB032EA6A), UINT32_C(0xCEAAA33A), UINT32_C(0x52EA3801),
+          UINT32_C(0xF2C3E22B), UINT32_C(0x73B3BB8D)}},
+        {{UINT32_C(0x7DB9E301), UINT32_C(0xAA2A1291), UINT32_C(0xA1293DD7),
+          UINT32_C(0x7F29770F), UINT32_C(0x59683DEC), UINT32_C(0x3135BB21),
+          UINT32_C(0x7785B505), UINT32_C(0x070F8DF7)},
+         {UINT32_C(0x37F53677), UINT32_C(0x8F2158EA), UINT32_C(0xABE1AF1C),
+          UINT32_C(0x96CC7B9D), UINT32_C(0x6D6477D6), UINT32_C(0x7F977915),
+          UINT32_C(0xDF370EAF), UINT32_C(0x55DB3922)}},
+        {{UINT32_C(0xA9DAC7AE), UINT32_C(0x3028C03A), UINT32_C(0xBAE06BE0),
+          UINT32_C(0x16F7DF0D), UINT32_C(0x410D57D9), UINT32_C(0x09548398),
+          UINT32_C(0x1510D51F), UINT32_C(0x5E9C7F43)},
+         {UINT32_C(0xD07717B3), UINT32_C(0x033B9BE2), UINT32_C(0xEF08AB91),
+          UINT32_C(0x0D5D8116), UINT32_C(0xEEEFE88F), UINT32_C(0xD5A172B1),
+          UINT32_C(0x0996294E), UINT32_C(0x72B1D29F)}},
+        {{UINT32_C(0xE4D0965C), UINT32_C(0x9E2B79FB), UINT32_C(0xF49D8B8E),
+          UINT32_C(0x01F403EE), UINT32_C(0xCEB12D6A), UINT32_C(0xBD4D2D48),
+          UINT32_C(0x11FB24FB), UINT32_C(0x4D04DD9A)},
+         {UINT32_C(0xE5C8D24C), UINT32_C(0x7E613EC5), UINT32_C(0xB918E543),
+          UINT32_C(0x568BEFE8), UINT32_C(0xE966DF28), UINT32_C(0xD6456D1E),
+          UINT32_C(0xBAFC71E2), UINT32_C(0x2DDEAD63)}},
+        {{UINT32_C(0x448D72E9), UINT32_C(0x1D794F92), UINT32_C(0xE7E62BF2),
+          UINT32_C(0x3978052E), UINT32_C(0xE2B92538), UINT32_C(0xF6C7A72E),
+          UINT32_C(0x6EF321F0), UINT32_C(0x43879A88)},
+         {UINT32_C(0x34F6FFBC), UINT32_C(0x2A823140), UINT32_C(0x35F4C485),
+          UINT32_C(0x26F84E51), UINT32_C(0x028BFA7E), UINT32_C(0xDEE65540),
+          UINT32_C(0x5F033058), UINT32_C(0x56216E9D)}},
+        {{UINT32_C(0xCBC772EE), UINT32_C(0x31CA5470), UINT32_C(0x811BB5D0),
+          UINT32_C(0xD3621E11), UINT32_C(0x70863D71), UINT32_C(0x501C4C47),
+          UINT32_C(0xD28D6BDD), UINT32_C(0x0564518E)},
+         {UINT32_C(0xD35B64B9), UINT32_C(0x60E3B89B), UINT32_C(0x6621A688),
+          UINT32_C(0xB4F2599A), UINT32_C(0x3B5E116D), UINT32_C(0x1A8C4508),
+          UINT32_C(0xFABF3125), UINT32_C(0x633EF5CC)}},
+        {{UINT32_C(0x5D4FF62A), UINT32_C(0x0DB1D251), UINT32_C(0x4B17D658),
+          UINT32_C(0x6CBD00EB), UINT32_C(0xFA1DB737), UINT32_C(0x2FA38212),
+          UINT32_C(0x93A7FA03), UINT32_C(0x07B18CB8)},
+         {UINT32_C(0x548E5F82), UINT32_C(0x531E47EF), UINT32_C(0x8276963C),
+          UINT32_C(0xAE7B94FD), UINT32_C(0x6181A13A), UINT32_C(0x8055D82A),
+          UINT32_C(0x23B6E361), UINT32_C(0x5725B512)}},
+        {{UINT32_C(0x6D8B1FFE), UINT32_C(0xD84C7041), UINT32_C(0x5D994200),
+          UINT32_C(0xF68ACA0B), UINT32_C(0x6BB908E2), UINT32_C(0x32BF9944),
+          UINT32_C(0x1AD88DB1), UINT32_C(0x1240A3E6)},
+         {UINT32_C(0xA92B6472), UINT32_C(0xB0BE96AA), UINT32_C(0xA1B7726C),
+          UINT32_C(0xEF88A155), UINT32_C(0x9349F496), UINT32_C(0x000FD9ED),
+          UINT32_C(0x454A05D9), UINT32_C(0x377DCBAD)}},
+    },
+    {
+        {{UINT32_C(0xC04111D2), UINT32_C(0xD0A092CD), UINT32_C(0x338F06D6),
+          UINT32_C(0x5C43A94C), UINT32_C(0x25E964F3), UINT32_C(0x697B4C26),
+          UINT32_C(0x7572CCFD), UINT32_C(0x2CD5A059)},
+         {UINT32_C(0xB5B523E4), UINT32_C(0xA09FC4D4), UINT32_C(0x4E1E9042),
+          UINT32_C(0x7D8141E8), UINT32_C(0xD637409E), UINT32_C(0x2462512B),
+          UINT32_C(0x7CB2CE75), UINT32_C(0x503F032F)}},
+        {{UINT32_C(0xBCBF1450), UINT32_C(0xC56F38E3), UINT32_C(0xCF2E5594),
+          UINT32_C(0x09F4FC77), UINT32_C(0x0FCB653A), UINT32_C(0xF449C3E6),
+          UINT32_C(0x64A53C65), UINT32_C(0x6A1FE752)},
+         {UINT32_C(0x7C039488), UINT32_C(0xFF366FED), UINT32_C(0x8C99A6CB),
+          UINT32_C(0x23F58BA5), UINT32_C(0x8D67F6D6), UINT32_C(0x4B5546C6),
+          UINT32_C(0x178B1668), UINT32_C(0x03405C85)}},
+        {{UINT32_C(0xC0C86696), UINT32_C(0x969F1B33), UINT32_C(0x13746468),
+          UINT32_C(0x9346D06C), UINT32_C(0xAE0C6D62), UINT32_C(0x68AED3C8),
+          UINT32_C(0x74FE63D5), UINT32_C(0x7B3D5361)},
+         {UINT32_C(0xC4F4B65D), UINT32_C(0xFEE8416B), UINT32_C(0x554C6D0A),
+          UINT32_C(0xC79BF488), UINT32_C(0xDC402BB0), UINT32_C(0x191D5D27),
+          UINT32_C(0xE087EB9F), UINT32_C(0x31B00167)}},
+        {{UINT32_C(0xE05D281F), UINT32_C(0xD5FE0979), UINT32_C(0x3485446B),
+          UINT32_C(0x8373AB50), UINT32_C(0x9223681F), UINT32_C(0xCE5258BA),
+          UINT32_C(0xA37BF244), UINT32_C(0x5F82843E)},
+         {UINT32_C(0xCFC16536), UINT32_C(0x94ED780B), UINT32_C(0xBD477733),
+          UINT32_C(0x6A9739B3), UINT32_C(0xA04A4195), UINT32_C(0x137D68F2),
+          UINT32_C(0x0032BFCE), UINT32_C(0x3A0F27E8)}},
+        {{UINT32_C(0x358382F9), UINT32_C(0x7EADE421), UINT32_C(0x92E3D912),
+          UINT32_C(0x490B9CA6), UINT32_C(0xF1AFBC2A), UINT32_C(0x040CE73E),
+          UINT32_C(0x11AE91BA), UINT32_C(0x5745D473)},
+         {UINT32_C(0xCE303B77), UINT32_C(0x625BED61), UINT32_C(0x85B03A1D),
+          UINT32_C(0x85B2A1EB), UINT32_C(0x3D7C02E0), UINT32_C(0x764F62E4),
+          UINT32_C(0xA7AF6DDE), UINT32_C(0x22C2D16F)}},
+        {{UINT32_C(0xD19377BE), UINT32_C(0x5B985DE6), UINT32_C(0xD8E43A10),
+          UINT32_C(0x0AF85A06), UINT32_C(0x0519F4C6), UINT32_C(0x1465E504),
+          UINT32_C(0xE3E20BA3), UINT32_C(0x5DA01665)},
+         {UINT32_C(0x675D9E2A), UINT32_C(0xCD9B8E9B), UINT32_C(0x6448A2CD),
+          UINT32_C(0x4C77E1AD), UINT32_C(0x1E5D4465), UINT32_C(0xD6094BAD),
+          UINT32_C(0xC50DB788), UINT32_C(0x4C352951)}},
+        {{UINT32_C(0xEE5AB903), UINT32_C(0x42581152), UINT32_C(0x63311418),
+          UINT32_C(0xDAD2DBC9), UINT32_C(0xB885E56A), UINT32_C(0xBCA4F70B),
+          UINT32_C(0xB94E0876), UINT32_C(0x1F5DD363)},
+         {UINT32_C(0x3FFF479E), UINT32_C(0xF9AD5D04), UINT32_C(0xFE06AD2B),
+          UINT32_C(0xEF1176E5), UINT32_C(0x216F77AF), UINT32_C(0x46ACB00A),
+          UINT32_C(0x857C4F78), UINT32_C(0x709CF4EB)}},
+        {{UINT32_C(0xD0D2FF1C), UINT32_C(0x70CD666E), UINT32_C(0xE7EFE4AD),
+          UINT32_C(0x4BAD4A6A), UINT32_C(0x0FA72024), UINT32_C(0xB43F6C2D),
+          UINT32_C(0xE90C0617), UINT32_C(0x0D78F8E2)},
+         {UINT32_C(0xF80DCAA7), UINT32_C(0x543B9662), UINT32_C(0xF28ADFAF),
+          UINT32_C(0xB02FB3BC), UINT32_C(0xC51C54C3), UINT32_C(0x26C17651),
+          UINT32_C(0x3D648D88), UINT32_C(0x0815F637)}},
+        {{UINT32_C(0xAEA98FA6), UINT32_C(0xAC4F43C1), UINT32_C(0xAC4398C6),
+          UINT32_C(0x2D223416), UINT32_C(0xDA5C5070), UINT32_C(0x48B2EEAD),
+          UINT32_C(0xBE666F70), UINT32_C(0x632B65F1)},
+         {UINT32_C(0x952021BE), UINT32_C(0x971D3BC0), UINT32_C(0x23B2C578),
+          UINT32_C(0x9FDCB7E0), UINT32_C(0x3CC21796), UINT32_C(0x476D4715),
+          UINT32_C(0x95832A94), UINT32_C(0x4015565F)}},
+        {{UINT32_C(0x13CA725C), UINT32_C(0x8913AFAC), UINT32_C(0xDC18F0D9),
+          UINT32_C(0xA56DC461), UINT32_C(0x10F3AAFE), UINT32_C(0xAC3AC720),
+          UINT32_C(0xC628D69C), UINT32_C(0x5D75567E)},
+         {UINT32_C(0xEEEA4BF7), UINT32_C(0xC11BE9DC), UINT32_C(0x1C193BD5),
+          UINT32_C(0xAD97FBCA), UINT32_C(0xC58123E8), UINT32_C(0xD1EC5BCE),
+          UINT32_C(0x9C73D4E5), UINT32_C(0x0F6DF930)}},
+        {{UINT32_C(0xFD759FFD), UINT32_C(0xE80A0ADA), UINT32_C(0x239CAFC0),
+          UINT32_C(0xE52DF94B), UINT32_C(0xFE7A43E9), UINT32_C(0x59640161),
+          UINT32_C(0xDB1A38F0), UINT32_C(0x7A96995C)},
+         {UINT32_C(0x7CD5011B), UINT32_C(0xA46A1503), UINT32_C(0xAC0E9689),
+          UINT32_C(0x75CFB637), UINT32_C(0x97AAD2BA), UINT32_C(0x27B740CA),
+          UINT32_C(0xEAD2F776), UINT32_C(0x64A0748B)}},
+        {{UINT32_C(0x0625B3B1), UINT32_C(0xB67E5BB5), UINT32_C(0xC66D2832),
+          UINT32_C(0x2FE19FFB), UINT32_C(0xF70C07CF), UINT32_C(0x47815666),
+          UINT32_C(0xA43E52AB), UINT32_C(0x5A1AA24A)},
+         {UINT32_C(0x4CAC0E66), UINT32_C(0x04EE11F8), UINT32_C(0x3A3A4836),
+          UINT32_C(0x51E51583), UINT32_C(0xB44F6DEC), UINT32_C(0x46755F49),
+          UINT32_C(0xC1E9B282), UINT32_C(0x6388408B)}},
+        {{UINT32_C(0x9DE7A6A7), UINT32_C(0xD47AA9A6), UINT32_C(0x189BC9D2),
+          UINT32_C(0xEC94AD9B), UINT32_C(0x8EC0E950), UINT32_C(0xFA89099D),
+          UINT32_C(0x9F64D27F), UINT32_C(0x1B9FC206)},
+         {UINT32_C(0x0B729DE1), UINT32_C(0x76572484), UINT32_C(0x4BE22EB8),
+          UINT32_C(0xFE9E8E71), UINT32_C(0xF9DB5942), UINT32_C(0x910F0456),
+          UINT32_C(0xC617D82B), UINT32_C(0x4D018459)}},
+        {{UINT32_C(0xF5516C6F), UINT32_C(0xB082B58A), UINT32_C(0x567A8CF5),
+          UINT32_C(0xFFBA0E73), UINT32_C(0x8A6DD4A0), UINT32_C(0x08FF64CE),
+          UINT32_C(0x69A9F66A), UINT32_C(0x6CF3C89C)},
+         {UINT32_C(0x62FEB0A7), UINT32_C(0x356782BA), UINT32_C(0x3E2907F9),
+          UINT32_C(0x1A18720D), UINT32_C(0x0BBD9D92), UINT32_C(0xF840FFA3),
+          UINT32_C(0x20926421), UINT32_C(0x41D9EECA)}},
+        {{UINT32_C(0xB6B08321), UINT32_C(0xCF2E8AAC), UINT32_C(0x010D91C0),
+          UINT32_C(0xC76FBE12), UINT32_C(0x68E35E02), UINT32_C(0x54924750),
+          UINT32_C(0x9AEE00F8), UINT32_C(0x74DBA2E1)},
+         {UINT32_C(0xC5504E82), UINT32_C(0x94C70D6D), UINT32_C(0xEA1770F7),
+          UINT32_C(0x0BDF415F), UINT32_C(0x3CA6DB0A), UINT32_C(0xDA45B700),
+          UINT32_C(0xE133A980), UINT32_C(0x473C6A04)}},
+        {{UINT32_C(0x1E188071), UINT32_C(0xD1FF6C1E), UINT32_C(0xEA3F16F8),
+          UINT32_C(0x621A7D3C), UINT32_C(0x6A160F47), UINT32_C(0x60467307),
+          UINT32_C(0x32DC84EE), UINT32_C(0x37CA7D3D)},
+         {UINT32_C(0x67DDFDB5), UINT32_C(0x54F5F7F6), UINT32_C(0x921BA04B),
+          UINT32_C(0x3A8482F9), UINT32_C(0x1A28E238), UINT32_C(0x842F4950),
+          UINT32_C(0x7214FAFD), UINT32_C(0x3A4DC917)}},
+    },
+    {
+        {{UINT32_C(0xEEA25E82), UINT32_C(0xEDD8360C), UINT32_C(0xFB7B7ED0),
+          UINT32_C(0x3DB6D933), UINT32_C(0xABF15199), UINT32_C(0x882F3C0B),
+          UINT32_C(0x516E349D), UINT32_C(0x228664A2)},
+         {UINT32_C(0xE88173DF), UINT32_C(0x96E6DCF7), UINT32_C(0xD7EC0BC3),
+          UINT32_C(0x382C8D3B), UINT32_C(0x6FA5FA58), UINT32_C(0xFBFF6D21),
+          UINT32_C(0x2F41C959), UINT32_C(0x78003980)}},
+        {{UINT32_C(0x9D9ACF9C), UINT32_C(0x713BA43B), UINT32_C(0x94876559),
+          UINT32_C(0xF59A252D), UINT32_C(0x437B8ED5), UINT32_C(0x8B310954),
+          UINT32_C(0xE474E98E), UINT32_C(0x76A83790)},
+         {UINT32_C(0xF6040B05), UINT32_C(0x84C1386A), UINT32_C(0xBF3D8189),
+          UINT32_C(0x69FA9F43), UINT32_C(0xA98D4866), UINT32_C(0x5584164C),
+          UINT32_C(0x3B9045D0), UINT32_C(0x6C89CE1D)}},
+        {{UINT32_C(0xB522FB28), UINT32_C(0xD6EF7540), UINT32_C(0xBB28D745),
+          UINT32_C(0xDB561B56), UINT32_C(0xEFA58B87), UINT32_C(0xC9F7543E),
+          UINT32_C(0xE9062979), UINT32_C(0x5F02A23B)},
+         {UINT32_C(0x6809D624), UINT32_C(0xFD3C0C19), UINT32_C(0xA92EB229),
+          UINT32_C(0x94481554), UINT32_C(0xF5147EFB), UINT32_C(0x72D8EC53),
+          UINT32_C(0x0D1BA626), UINT32_C(0x14302661)}},
+        {{UINT32_C(0x89020800), UINT32_C(0x0B35BD59), UINT32_C(0x430D7DEB),
+          UINT32_C(0x3C6F1527), UINT32_C(0x2FFFA0E0), UINT32_C(0x9BEB3C8E),
+          UINT32_C(0xAFD09A19), UINT32_C(0x7E181B78)},
+         {UINT32_C(0x3B2F0B49), UINT32_C(0xE82FD957), UINT32_C(0x0BC0F9DA),
+          UINT32_C(0x4C9461B1), UINT32_C(0x2B1C8B85), UINT32_C(0x87D78C41),
+          UINT32_C(0xC1F5BDA1), UINT32_C(0x775BED20)}},
+        {{UINT32_C(0x16350593), UINT32_C(0x883AE89B), UINT32_C(0x0C19FEC8),
+          UINT32_C(0x85D429CB), UINT32_C(0x5742C36D), UINT32_C(0x5938BDEC),
+          UINT32_C(0xDA8A21B7), UINT32_C(0x2DDBC7EB)},
+         {UINT32_C(0x07A2E700), UINT32_C(0xA249BDE4), UINT32_C(0xE8BD6215),
+          UINT32_C(0x42A3897C), UINT32_C(0x732FF181), UINT32_C(0x87F30BA7),
+          UINT32_C(0x1B912C57), UINT32_C(0x5385D709)}},
+        {{UINT32_C(0x288041F5), UINT32_C(0x2B5C555B), UINT32_C(0x1F425866),
+          UINT32_C(0xD3D90040), UINT32_C(0x02E0FA71), UINT32_C(0x37E40CD2),
+          UINT32_C(0x3A386038), UINT32_C(0x08B37F26)},
+         {UINT32_C(0x5DE1ED78), UINT32_C(0x165BD7FB), UINT32_C(0x0829ECC9),
+          UINT32_C(0x22949E81), UINT32_C(0xBCE3D01F), UINT32_C(0xBB8705CC),
+          UINT32_C(0x1D233CDF), UINT32_C(0x7961BE85)}},
+        {{UINT32_C(0x7659B477), UINT32_C(0x5D3DBC6B), UINT32_C(0x50EF08EB),
+          UINT32_C(0xFD865779), UINT32_C(0xF34EA1A5), UINT32_C(0x502729E8),
+          UINT32_C(0xD2B64602), UINT32_C(0x1548526E)},
+         {UINT32_C(0xB91D2675), UINT32_C(0xB13632FD), UINT32_C(0xF7B37397),
+          UINT32_C(0x09A42003), UINT32_C(0xCCFC4532), UINT32_C(0x37D18F37),
+          UINT32_C(0x73C7082C), UINT32_C(0x3FAEF63B)}},
+        {{UINT32_C(0xE666DB6D), UINT32_C(0x3365445F), UINT32_C(0x339A0076),
+          UINT32_C(0x9051FFF5), UINT32_C(0x9BD6D01D), UINT32_C(0x6167FB76),
+          UINT32_C(0xCA087B41), UINT32_C(0x09737137)},
+         {UINT32_C(0xB3270BA7), UINT32_C(0xCA2193AE), UINT32_C(0x8F2217B3),
+          UINT32_C(0xEF0744C2), UINT32_C(0xF0DD10D8), UINT32_C(0x3E030D58),
+          UINT32_C(0xCCB4F2F9), UINT32_C(0x667246DB)}},
+        {{UINT32_C(0x3773EC8C), UINT32_C(0x31F3030E), UINT32_C(0x5AD56010),
+          UINT32_C(0xAF2B3123), UINT32_C(0xB37E9062), UINT32_C(0xFC118587),
+          UINT32_C(0x9C2D5406), UINT32_C(0x52840C2C)},
+         {UINT32_C(0x6670ACBB), UINT32_C(0xA96D3DFF), UINT32_C(0x772EC6D3),
+          UINT32_C(0xF469982F), UINT32_C(0xA9DF4C88), UINT32_C(0x5BE20628),
+          UINT32_C(0x673633BC), UINT32_C(0x59D01479)}},
+        {{UINT32_C(0xAFB5083B), UINT32_C(0xC9223750), UINT32_C(0x191C2160),
+          UINT32_C(0xF1EB451E), UINT32_C(0xA38EC005), UINT32_C(0x0D913794),
+          UINT32_C(0x83FD1D18), UINT32_C(0x31062E9E)},
+         {UINT32_C(0x5F4816AD), UINT32_C(0x070538F5), UINT32_C(0x925F5DA1),
+          UINT32_C(0x90D4855D), UINT32_C(0x22F455B6), UINT32_C(0xC0BBA87B),
+          UINT32_C(0xF48D2AE5), UINT32_C(0x517B5F80)}},
+        {{UINT32_C(0x3F4FA7CA), UINT32_C(0x0D8B670A), UINT32_C(0x3D114EB2),
+          UINT32_C(0xE29C8849), UINT32_C(0x916A187E), UINT32_C(0x1823780D),
+          UINT32_C(0x65EE66A0), UINT32_C(0x6961C483)},
+         {UINT32_C(0x62FDC12C), UINT32_C(0x2F6FB20A), UINT32_C(0x0CFDDE0C),
+          UINT32_C(0x51414E5F), UINT32_C(0xDCA39073), UINT32_C(0x16BD56A7),
+          UINT32_C(0x648FFD43), UINT32_C(0x0CFE6DAF)}},
+        {{UINT32_C(0xAEBA9241), UINT32_C(0x3789F4CA), UINT32_C(0x107777C6),
+          UINT32_C(0xE8056BC6), UINT32_C(0x3CB20826), UINT32_C(0x6EE564C3),
+          UINT32_C(0x45448C69), UINT32_C(0x5DF36347)},
+         {UINT32_C(0xB22CE624), UINT32_C(0xFD0FA84B), UINT32_C(0xAC753D50),
+          UINT32_C(0x2AA19672), UINT32_C(0x677CC0D0), UINT32_C(0x29A1464F),
+          UINT32_C(0x3CEF5493), UINT32_C(0x7C2237B1)}},
+        {{UINT32_C(0x24255918), UINT32_C(0x87C2587C), UINT32_C(0x90B35A37),
+          UINT32_C(0x9AA89A0B), UINT32_C(0x10E7CAEF), UINT32_C(0x9932EB78),
+          UINT32_C(0xCDE31568), UINT32_C(0x49278F16)},
+         {UINT32_C(0x41188ED9), UINT32_C(0xA4D33C61), UINT32_C(0x05AC3A1D),
+          UINT32_C(0xC587BDE0), UINT32_C(0x7248B5E0), UINT32_C(0x2A5C5ACC),
+          UINT32_C(0x8510D2CB), UINT32_C(0x60026A1D)}},
+        {{UINT32_C(0x6BAF603C), UINT32_C(0xE57CB0C9), UINT32_C(0xAB770AF0),
+          UINT32_C(0x527F28A6), UINT32_C(0x016F2BC1), UINT32_C(0x2850D8E6),
+          UINT32_C(0x936DC2EC), UINT32_C(0x0EC2A46C)},
+         {UINT32_C(0xD4F23FC2), UINT32_C(0xA0BC5306), UINT32_C(0x53A0130F),
+          UINT32_C(0x6DBEDA26), UINT32_C(0xEE3314B7), UINT32_C(0xB1D52F87),
+          UINT32_C(0x6C234CF5), UINT32_C(0x17168B12)}},
+        {{UINT32_C(0xDADF17D5), UINT32_C(0x8B8BC181), UINT32_C(0xFAFFA918),
+          UINT32_C(0x31EC3CAD), UINT32_C(0x274E4658), UINT32_C(0x4611A482),
+          UINT32_C(0x73D35EAD), UINT32_C(0x5A9E3652)},
+         {UINT32_C(0xF4028FC7), UINT32_C(0xBA68825B), UINT32_C(0x62E203F5),
+          UINT32_C(0x142859D5), UINT32_C(0x1C817A9E), UINT32_C(0xCE516AC4),
+          UINT32_C(0x57223F8D), UINT32_C(0x42014682)}},
+        {{UINT32_C(0xB4B66798), UINT32_C(0x51FBFB2E), UINT32_C(0x0EA9C4EF),
+          UINT32_C(0x3A3F1591), UINT32_C(0xE8814805), UINT32_C(0x3FD3D026),
+          UINT32_C(0xB0C8DFD0), UINT32_C(0x3CA531E4)},
+         {UINT32_C(0xE585A960), UINT32_C(0x69A6B3F8), UINT32_C(0xBD3F567D),
+          UINT32_C(0x1627CC77), UINT32_C(0x5DB9CFD0), UINT32_C(0x6F4EF430),
+          UINT32_C(0x8D02278A), UINT32_C(0x05B56707)}},
+    },
+    {
+        {{UINT32_C(0x10B96338), UINT32_C(0x6663F2F3), UINT32_C(0xCE8CA31C),
+          UINT32_C(0x69373D1F), UINT32_C(0xD67AEC10), UINT32_C(0x3D31C5CF),
+          UINT32_C(0x16F2547E), UINT32_C(0x2FAF5545)},
+         {UINT32_C(0x1EA2EA64), UINT32_C(0xF6E397D5), UINT32_C(0xEEAEBE7A),
+          UINT32_C(0x2281A0DF), UINT32_C(0xFA2527EC), UINT32_C(0x72E53254),
+          UINT32_C(0x76432155), UINT32_C(0x660D059A)}},
+        {{UINT32_C(0x2C66D937), UINT32_C(0xD3CA8B13), UINT32_C(0xCD2DF849),
+          UINT32_C(0xC6F34B08), UINT32_C(0xA23A9F73), UINT32_C(0x9AF2C9E3),
+          UINT32_C(0x702388E9), UINT32_C(0x24D44BD9)},
+         {UINT32_C(0xD1B3DA10), UINT32_C(0x8DA4D6A4), UINT32_C(0x40B93B10),
+          UINT32_C(0xB9FAFBF4), UINT32_C(0xEFCFD2A3), UINT32_C(0xBBE51BB3),
+          UINT32_C(0x1844581D), UINT32_C(0x68BE0395)}},
+        {{UINT32_C(0x0EA1FAE1), UINT32_C(0xDECABD8C), UINT32_C(0xFDFED7C2),
+          UINT32_C(0xA7499225), UINT32_C(0xFB468B83), UINT32_C(0x08489E35),
+          UINT32_C(0x43D95F9C), UINT32_C(0x5B689344)},
+         {UINT32_C(0x9D2F522E), UINT32_C(0x9FC8364A), UINT32_C(0x3A5D27A4),
+          UINT32_C(0x114DB31A), UINT32_C(0xE33A9EC8), UINT32_C(0xC6A35992),
+          UINT32_C(0xDC9ACAF6), UINT32_C(0x6FE9EC3B)}},
+        {{UINT32_C(0xDEAFC64C), UINT32_C(0x98AE2D66), UINT32_C(0xABE706B7),
+          UINT32_C(0x95AAC8EF), UINT32_C(0x223DFA3B), UINT32_C(0xB15A6604),
+          UINT32_C(0xE24B43CB), UINT32_C(0x77DBC24A)},
+         {UINT32_C(0x8542FA2A), UINT32_C(0x65D6F871), UINT32_C(0x5D326A1A),
+          UINT32_C(0x1093B273), UINT32_C(0xF137AFEF), UINT32_C(0xBA82D607),
+          UINT32_C(0xB9DEA6A7), UINT32_C(0x502B32E3)}},
+        {{UINT32_C(0x885CA6CE), UINT32_C(0x88906BD6), UINT32_C(0x1D36BFEE),
+          UINT32_C(0x136ADF9A), UINT32_C(0x09AA61E3), UINT32_C(0xF844088C),
+          UINT32_C(0x51BAC299), UINT32_C(0x4E508EA3)},
+         {UINT32_C(0xEB821936), UINT32_C(0x251ACD26), UINT32_C(0x43D90E10),
+          UINT32_C(0xDF6AD7D5), UINT32_C(0xDE7F14B9), UINT32_C(0xEBCD7046),
+          UINT32_C(0xAB503259), UINT32_C(0x1DB258B1)}},
+        {{UINT32_C(0x90AD5D55), UINT32_C(0x348E3018), UINT32_C(0x7067806A),
+          UINT32_C(0x0EF6BE73), UINT32_C(0x41627FCC), UINT32_C(0x072C1134),
+          UINT32_C(0xE904F823), UINT32_C(0x48EE7606)},
+         {UINT32_C(0xD9FD5EF3), UINT32_C(0xEE6AB582), UINT32_C(0x17AB50BC),
+          UINT32_C(0x57765D03), UINT32_C(0xFB7DEC68), UINT32_C(0x1CCFB407),
+          UINT32_C(0x141DF51D), UINT32_C(0x2E1771C7)}},
+        {{UINT32_C(0xA013284B), UINT32_C(0xCBDD6235), UINT32_C(0x20D07125),
+          UINT32_C(0x4D93FD87), UINT32_C(0xD485418E), UINT32_C(0xB3D055B3),
+          UINT32_C(0xC67ADD2D), UINT32_C(0x4EFB8763)},
+         {UINT32_C(0x1B2DF427), UINT32_C(0xEC369382), UINT32_C(0x64D0DDF4),
+          UINT32_C(0x25009791), UINT32_C(0x163056C8), UINT32_C(0x9BD42FFC),
+          UINT32_C(0x5B88BEBA), UINT32_C(0x60527792)}},
+        {{UINT32_C(0x9D82DADF), UINT32_C(0x6D5D6A86), UINT32_C(0x7C24A1CA),
+          UINT32_C(0xC3BA9A16), UINT32_C(0x2E6981CC), UINT32_C(0x838167EC),
+          UINT32_C(0x7E1E4237), UINT32_C(0x7FB5D857)},
+         {UINT32_C(0x86A40BC7), UINT32_C(0x83B2C2FC), UINT32_C(0x6F9AC4FB),
+          UINT32_C(0x679D2DFC), UINT32_C(0xE45455EF), UINT32_C(0x0B3714CD),
+          UINT32_C(0x394A7797), UINT32_C(0x1C8D833D)}},
+        {{UINT32_C(0x4E641C9D), UINT32_C(0x1FBF8961), UINT32_C(0xD951DFC8),
+          UINT32_C(0x3330DAB0), UINT32_C(0x051D96DB), UINT32_C(0x9D4EBA4D),
+          UINT32_C(0x23066924), UINT32_C(0x27C6DBF0)},
+         {UINT32_C(0xDA5D1D79), UINT32_C(0xB950C648), UINT32_C(0x5E9CD783),
+          UINT32_C(0x544D46BA), UINT32_C(0xE69BA3EF), UINT32_C(0xFA77226F),
+          UINT32_C(0xE4DA8423), UINT32_C(0x0A93D219)}},
+        {{UINT32_C(0x5BDCA76B), UINT32_C(0x7C377CC6), UINT32_C(0xDC58D194),
+          UINT32_C(0x7DF505D7), UINT32_C(0x13E389E1), UINT32_C(0x18A24C0B),
+          UINT32_C(0x6C3972FD), UINT32_C(0x5E0782DD)},
+         {UINT32_C(0x6680FCE1), UINT32_C(0x97AD477E), UINT32_C(0x3CBAB792),
+          UINT32_C(0x6B07BF22), UINT32_C(0xDC68C9E2), UINT32_C(0xB8DF3C73),
+          UINT32_C(0xC04B2749), UINT32_C(0x33AB5A4C)}},
+        {{UINT32_C(0x7E79B5A7), UINT32_C(0xD151C762), UINT32_C(0xC82C7B8A),
+          UINT32_C(0xA4356B79), UINT32_C(0x96E0A2E2), UINT32_C(0x931DDDE8),
+          UINT32_C(0x52C54FDC), UINT32_C(0x40378EB2)},
+         {UINT32_C(0x40C24003), UINT32_C(0xA6BBD5E3), UINT32_C(0x65C34FEA),
+          UINT32_C(0xB4F3246E), UINT32_C(0x9C767A23), UINT32_C(0x780B21ED),
+          UINT32_C(0x52BD7E83), UINT32_C(0x5F1E95FE)}},
+        {{UINT32_C(0xCF39F9C4), UINT32_C(0x4F3453DF), UINT32_C(0xB8CC2CA6),
+          UINT32_C(0xA3E1CFD1), UINT32_C(0x4B898859), UINT32_C(0xE49BC49C),
+          UINT32_C(0x6C0BF055), UINT32_C(0x4FFD7BD6)},
+         {UINT32_C(0xD139AD1B), UINT32_C(0x7DE7604C), UINT32_C(0x2A3CE8FE),
+          UINT32_C(0x6973F5EB), UINT32_C(0xF9501ECC), UINT32_C(0xAC66FF97),
+          UINT32_C(0xA97D46CD), UINT32_C(0x3D96F1E2)}},
+        {{UINT32_C(0x6106EB96), UINT32_C(0x70D5A0D0), UINT32_C(0x398C1FD9),
+          UINT32_C(0x938E038F), UINT32_C(0x1F3A1AA9), UINT32_C(0xE66B7007),
+          UINT32_C(0xF5BD9308), UINT32_C(0x42BDB264)},
+         {UINT32_C(0x5AF84957), UINT32_C(0x4B3FD754), UINT32_C(0x4E27DC6B),
+          UINT32_C(0x9E3E17FA), UINT32_C(0x51D8560B), UINT32_C(0x384FCACD),
+          UINT32_C(0xF8068C09), UINT32_C(0x42F00D11)}},
+        {{UINT32_C(0x7D5897D5), UINT32_C(0x794C1E6A), UINT32_C(0xDF72DCA0),
+          UINT32_C(0x4901097F), UINT32_C(0x0B01E4C4), UINT32_C(0xDED5B192),
+          UINT32_C(0x26DD41E9), UINT32_C(0x364FF582)},
+         {UINT32_C(0x32FCA925), UINT32_C(0xA3F92DCC), UINT32_C(0x207AA09A),
+          UINT32_C(0x8A1FB329), UINT32_C(0xF512AE3A), UINT32_C(0xA9274BD3),
+          UINT32_C(0xC47B9007), UINT32_C(0x161C82BC)}},
+        {{UINT32_C(0x7AE1175F), UINT32_C(0x482ECE3B), UINT32_C(0xBDD5DC6C),
+          UINT32_C(0x97CAC7E8), UINT32_C(0x9FDA910D), UINT32_C(0x56225309),
+          UINT32_C(0x9FC206B9), UINT32_C(0x52A9893B)},
+         {UINT32_C(0x05BB5ACA), UINT32_C(0xAD9F2A92), UINT32_C(0xA3B65716),
+          UINT32_C(0xB9EEFB5B), UINT32_C(0x8DB5A8D4), UINT32_C(0xE7BC173B),
+          UINT32_C(0x399DAE9E), UINT32_C(0x6715EC64)}},
+        {{UINT32_C(0x5E41AC75), UINT32_C(0x780796D1), UINT32_C(0x4FB3A0B4),
+          UINT32_C(0x3E165C78), UINT32_C(0x237103E9), UINT32_C(0x198599BA),
+          UINT32_C(0xFA7ED86B), UINT32_C(0x2C04C3F5)},
+         {UINT32_C(0xAC9356F0), UINT32_C(0x29547DA8), UINT32_C(0x79EADA37),
+          UINT32_C(0xCB345AB4), UINT32_C(0xA295BF2D), UINT32_C(0x1D15D377),
+          UINT32_C(0x2FDC8131), UINT32_C(0x10292C9D)}},
+    },
+    {
+        {{UINT32_C(0x40E1DC7E), UINT32_C(0xADF3B547), UINT32_C(0x1C345D14),
+          UINT32_C(0x420CE2DD), UINT32_C(0x21DC5C2D), UINT32_C(0xC08E3CBE),
+          UINT32_C(0x6F8FCE80), UINT32_C(0x79FDC000)},
+         {UINT32_C(0xCB105CE7), UINT32_C(0x23EBDF7F), UINT32_C(0x7C6794A8),
+          UINT32_C(0x793FC99D), UINT32_C(0x293E3575), UINT32_C(0x4CA3FB21),
+          UINT32_C(0x7BF73CC8), UINT32_C(0x7FB2ACB9)}},
+        {{UINT32_C(0x0FC8FCD4), UINT32_C(0x67DB6C90), UINT32_C(0x7EE3B705),
+          UINT32_C(0x22A3DF5F), UINT32_C(0xC7B2EDFF), UINT32_C(0xD50EBF8B),
+          UINT32_C(0x99522FB7), UINT32_C(0x0C701045)},
+         {UINT32_C(0xAD4F9044), UINT32_C(0x1420CF02), UINT32_C(0xE5B59451),
+          UINT32_C(0xD78DBA23), UINT32_C(0x6AEFD853), UINT32_C(0xDFDC1C7F),
+          UINT32_C(0xDEA1DAAB), UINT32_C(0x560DEE94)}},
+        {{UINT32_C(0x2167A78B), UINT32_C(0x0F235513), UINT32_C(0x9F441927),
+          UINT32_C(0xCF463702), UINT32_C(0xA3D1505C), UINT32_C(0xD0AE2723),
+          UINT32_C(0xCD9FBFF4), UINT32_C(0x3149D858)},
+         {UINT32_C(0xF79240FA), UINT32_C(0x2A73913A), UINT32_C(0x252A958B),
+          UINT32_C(0xC904A575), UINT32_C(0x78473D97), UINT32_C(0x10D18190),
+          UINT32_C(0x203BC8C4), UINT32_C(0x42CE7A38)}},
+        {{UINT32_C(0xFA59BB8B), UINT32_C(0x1D2AD4F2), UINT32_C(0x79F137DD),
+          UINT32_C(0x8234964C), UINT32_C(0x5D02679E), UINT32_C(0x00B63A30),
+          UINT32_C(0x5DD7543D), UINT32_C(0x506C45BE)},
+         {UINT32_C(0x776BF80C), UINT32_C(0x4378F900), UINT32_C(0xB312F2BB),
+          UINT32_C(0x179558B2), UINT32_C(0xEA37C183), UINT32_C(0x5B15368C),
+          UINT32_C(0xB198E42D), UINT32_C(0x7593B19F)}},
+        {{UINT32_C(0xDEFA1F48), UINT32_C(0xED723535), UINT32_C(0x87F96EE5),
+          UINT32_C(0x0DAFC48B), UINT32_C(0x91B1B52C), UINT32_C(0x0AEFA3BA),
+          UINT32_C(0xA1ADBEA4), UINT32_C(0x56BA1B33)},
+         {UINT32_C(0x30A6C905), UINT32_C(0x8A0B6170), UINT32_C(0xB272D12E),
+          UINT32_C(0xC5BA3518), UINT32_C(0x4B6643A9), UINT32_C(0x782100CF),
+          UINT32_C(0x85C5BD2B), UINT32_C(0x12DEE803)}},
+        {{UINT32_C(0x78FCADD6), UINT32_C(0xDD07D2D5), UINT32_C(0x3B25C523),
+          UINT32_C(0x8CB8E8A8), UINT32_C(0x530919CF), UINT32_C(0x25063508),
+          UINT32_C(0x1E24F7A1), UINT32_C(0x45D3DD54)},
+         {UINT32_C(0x49DDAF96), UINT32_C(0x296AE893), UINT32_C(0xACE559F5),
+          UINT32_C(0x7EF3CDE0), UINT32_C(0x0D36F87B), UINT32_C(0x9CDF22E4),
+          UINT32_C(0x4AC9A845), UINT32_C(0x19684765)}},
+        {{UINT32_C(0xC597B7AE), UINT32_C(0x3955B5AB), UINT32_C(0x3AB49731),
+          UINT32_C(0x59F3BA05), UINT32_C(0xF525C6C8), UINT32_C(0xBCA5B117),
+          UINT32_C(0x32050B8D), UINT32_C(0x4969C134)},
+         {UINT32_C(0x970E8E49), UINT32_C(0x353183D9), UINT32_C(0xE95300CF),
+          UINT32_C(0x3D005213), UINT32_C(0x09022378), UINT32_C(0x595F9C8E),
+          UINT32_C(0x1A445C28), UINT32_C(0x70FA8B47)}},
+        {{UINT32_C(0xBADB79EA), UINT32_C(0xECC88EE3), UINT32_C(0xFBD8464E),
+          UINT32_C(0x5BDAF68C), UINT32_C(0xB4280334), UINT32_C(0x24AF6A4C),
+          UINT32_C(0x398E5BBE), UINT32_C(0x17A5DE8B)},
+         {UINT32_C(0x92999E18), UINT32_C(0x300B6DEB), UINT32_C(0x67DEFC2F),
+          UINT32_C(0xA0766918), UINT32_C(0xB19F87FF), UINT32_C(0x4E904450),
+          UINT32_C(0xC2871056), UINT32_C(0x3010AD94)}},
+        {{UINT32_C(0x461EFCC3), UINT32_C(0x72E747A1), UINT32_C(0x562F923E),
+          UINT32_C(0x329EDF18), UINT32_C(0xD081A4E7), UINT32_C(0x65E021D4),
+          UINT32_C(0xB727B6F4), UINT32_C(0x4B2DBFFF)},
+         {UINT32_C(0x9C8505AC), UINT32_C(0x5A597A80), UINT32_C(0x562B82D2),
+          UINT32_C(0x13486480), UINT32_C(0xCC8234C3), UINT32_C(0x477FD480),
+          UINT32_C(0x04800C00), UINT32_C(0x6045ABA4)}},
+        {{UINT32_C(0x9C541035), UINT32_C(0x3E087439), UINT32_C(0x6D9D8B6A),
+          UINT32_C(0x389AA76C), UINT32_C(0x36A21299), UINT32_C(0x68FE5E83),
+          UINT32_C(0x402A32CF), UINT32_C(0x67AC313D)},
+         {UINT32_C(0x25501A53), UINT32_C(0x996131D2), UINT32_C(0xA77A85F4),
+          UINT32_C(0x5C1B89DE), UINT32_C(0xED6702AD), UINT32_C(0xA9822C84),
+          UINT32_C(0x56609EA0), UINT32_C(0x50F014A4)}},
+        {{UINT32_C(0xE5A8E91E), UINT32_C(0xF0F8B4E6), UINT32_C(0x1A2FFEFD),
+          UINT32_C(0x734CFF08), UINT32_C(0x27BCB163), UINT32_C(0x9724EE0B),
+          UINT32_C(0x30B8EF68), UINT32_C(0x6AF3808B)},
+         {UINT32_C(0x126E88FC), UINT32_C(0xE5B3829F), UINT32_C(0x4EE5FD4B),
+          UINT32_C(0x0F441EE3), UINT32_C(0xBFEC4D34), UINT32_C(0x534D2F8C),
+          UINT32_C(0x076E6737), UINT32_C(0x3E1F16DE)}},
+        {{UINT32_C(0x4ED36E6A), UINT32_C(0x4DB53E8A), UINT32_C(0x4352B22F),
+          UINT32_C(0x49A9EFE9), UINT32_C(0x39CF005C), UINT32_C(0x7829605C),
+          UINT32_C(0xD85DB959), UINT32_C(0x190A8E16)},
+         {UINT32_C(0x9B073AB3), UINT32_C(0x69981069), UINT32_C(0x8C141AA1),
+          UINT32_C(0x8C264B87), UINT32_C(0x603ED47C), UINT32_C(0x7F614282),
+          UINT32_C(0x9F9B0940), UINT32_C(0x21FD2E7A)}},
+        {{UINT32_C(0x1EC6BB3D), UINT32_C(0xC5CA10A0), UINT32_C(0x27A9B02B),
+          UINT32_C(0x9403E3F5), UINT32_C(0xFB43F790), UINT32_C(0x9D3D186D),
+          UINT32_C(0x67DC0C00), UINT32_C(0x7855276E)},
+         {UINT32_C(0xFFFFB14C), UINT32_C(0x053DBB2A), UINT32_C(0x43ACC0A6),
+          UINT32_C(0x26746663), UINT32_C(0x7FFC1C68), UINT32_C(0x1EE7A946),
+          UINT32_C(0x56DBB0DE), UINT32_C(0x14BFAF01)}},
+        {{UINT32_C(0x849EA674), UINT32_C(0x11C89A47), UINT32_C(0x94A540E6),
+          UINT32_C(0x194FAAF0), UINT32_C(0x6050E4C0), UINT32_C(0xE61163F8),
+          UINT32_C(0xB1A07B76), UINT32_C(0x6939A166)},
+         {UINT32_C(0x2EF18325), UINT32_C(0x8166CA8E), UINT32_C(0x30C042E2),
+          UINT32_C(0x96112E65), UINT32_C(0x5A394C25), UINT32_C(0xA805CAE0),
+          UINT32_C(0x0392E6BB), UINT32_C(0x45A0DE01)}},
+        {{UINT32_C(0xB4FAAA56), UINT32_C(0xB89CEE96), UINT32_C(0x529736DE),
+          UINT32_C(0x7A7DC8AE), UINT32_C(0xA727FCF7), UINT32_C(0x9158AA49),
+          UINT32_C(0x1896B9DA), UINT32_C(0x621B8B31)},
+         {UINT32_C(0x03BEC74B), UINT32_C(0x875930D6), UINT32_C(0xA7A50309),
+          UINT32_C(0x1056DB45), UINT32_C(0xB5657B0E), UINT32_C(0xEE713E04),
+          UINT32_C(0x6FCAD967), UINT32_C(0x2D68155E)}},
+        {{UINT32_C(0x65B1E2B3), UINT32_C(0x3BB1E9E3), UINT32_C(0x88425BAB),
+          UINT32_C(0x2A615670), UINT32_C(0x62F1BA4A), UINT32_C(0x22F4F32F),
+          UINT32_C(0x88A59642), UINT32_C(0x7B5EC250)},
+         {UINT32_C(0x42D30049), UINT32_C(0x7B5BA12A), UINT32_C(0x86995BE6),
+          UINT32_C(0x4E6AC055), UINT32_C(0x45EC87AC), UINT32_C(0x04431A04),
+          UINT32_C(0xED94823D), UINT32_C(0x28974ED7)}},
+    },
+    {
+        {{UINT32_C(0x12BB5555), UINT32_C(0x59258057), UINT32_C(0xBB7608EE),
+          UINT32_C(0x03141CD8), UINT32_C(0xEF77714B), UINT32_C(0x84EBDC49),
+          UINT32_C(0xB5DC1A5F), UINT32_C(0x6A45FC3A)},
+         {UINT32_C(0x2FBEEC76), UINT32_C(0x1F6DC205), UINT32_C(0xA920C554),
+          UINT32_C(0x17EB733B), UINT32_C(0x7A28ACDF), UINT32_C(0xDB022C21),
+          UINT32_C(0xA9B62BF1), UINT32_C(0x6AF16156)}},
+        {{UINT32_C(0x80B472CC), UINT32_C(0x9379D6A8), UINT32_C(0x7BD92F27),
+          UINT32_C(0x6CB08CB0), UINT32_C(0x147E6E12), UINT32_C(0x19B3C353),
+          UINT32_C(0x26827839), UINT32_C(0x3C26CB2F)},
+         {UINT32_C(0x0CC571E4), UINT32_C(0x98AAC9A7), UINT32_C(0xC3C8FC04),
+          UINT32_C(0x075D05F2), UINT32_C(0xD79621AC), UINT32_C(0x718B55A0),
+          UINT32_C(0x5B94B41B), UINT32_C(0x149FEECF)}},
+        {{UINT32_C(0x783F9C81), UINT32_C(0x6A150A64), UINT32_C(0x0FB18827),
+          UINT32_C(0x5950C2DF), UINT32_C(0xF15E3A89), UINT32_C(0xF5D75504),
+          UINT32_C(0xFCB4406B), UINT32_C(0x5F92F2F7)},
+         {UINT32_C(0x6123E858), UINT32_C(0x665F31E7), UINT32_C(0xA95184A3),
+          UINT32_C(0x4E568EA9), UINT32_C(0x505FF0AD), UINT32_C(0x851EEADC),
+          UINT32_C(0x542C3EF8), UINT32_C(0x62AD5BA6)}},
+        {{UINT32_C(0xC55C23FD), UINT32_C(0x1103859D), UINT32_C(0x695E4E9B),
+          UINT32_C(0x06AB0BD6), UINT32_C(0xDD734990), UINT32_C(0x2CD00D76),
+          UINT32_C(0xB06460E4), UINT32_C(0x5D59C693)},
+         {UINT32_C(0x1F9C76DA), UINT32_C(0x3BA8F2F0), UINT32_C(0x960F5C0E),
+          UINT32_C(0x08E4A7EC), UINT32_C(0xE4AAB060), UINT32_C(0x79C82AD9),
+          UINT32_C(0x0DF95C43), UINT32_C(0x093D322C)}},
+        {{UINT32_C(0x0C627547), UINT32_C(0x88AF1258), UINT32_C(0x889A5E12),
+          UINT32_C(0x81E5F197), UINT32_C(0x7CBD84FD), UINT32_C(0x99E0E191),
+          UINT32_C(0xDB0B9711), UINT32_C(0x3024BCE8)},
+         {UINT32_C(0xDB93B1A2), UINT32_C(0x04075C80), UINT32_C(0x628B0E63),
+          UINT32_C(0x12F30AF8), UINT32_C(0xEB25A4ED), UINT32_C(0xA3514F26),
+          UINT32_C(0x7BCD0873), UINT32_C(0x3D42E489)}},
+        {{UINT32_C(0x754B236F), UINT32_C(0x0F1C16C6), UINT32_C(0x594F5D3D),
+          UINT32_C(0x717CE487), UINT32_C(0xAFAD77B1), UINT32_C(0x7679C7DA),
+          UINT32_C(0x6F3E724C), UINT32_C(0x51AFD014)},
+         {UINT32_C(0x3AF6938F), UINT32_C(0xAFC9745C), UINT32_C(0xC4E61CB4),
+          UINT32_C(0xCA12BFA9), UINT32_C(0x9425CCA7), UINT32_C(0x943B5696),
+          UINT32_C(0xB6E48A69), UINT32_C(0x5BD3E65E)}},
+        {{UINT32_C(0xDEAE74B1), UINT32_C(0x2D23CF78), UINT32_C(0x043BF2F1),
+          UINT32_C(0xA686767E), UINT32_C(0xE464ADE9), UINT32_C(0x3AFED34D),
+          UINT32_C(0x5A6AE80B), UINT32_C(0x1E462073)},
+         {UINT32_C(0x737F7B66), UINT32_C(0xA86AA408), UINT32_C(0xEAB3B6CE),
+          UINT32_C(0xD67A0B49), UINT32_C(0x275355F3), UINT32_C(0x6FF3CA4F),
+          UINT32_C(0x688F99AB), UINT32_C(0x6F385576)}},
+        {{UINT32_C(0xFD2F9A72), UINT32_C(0xC9B63343), UINT32_C(0xAC267E8A),
+          UINT32_C(0xBD0A126D), UINT32_C(0x5D2839B5), UINT32_C(0x818BD5D8),
+          UINT32_C(0x0BF5AFCE), UINT32_C(0x1BBAB4CE)},
+         {UINT32_C(0x4D8B67DE), UINT32_C(0x2827B24A), UINT32_C(0xC34E6642),
+          UINT32_C(0x841F6BD3), UINT32_C(0x5E4A34D4), UINT32_C(0xE9F5C1C2),
+          UINT32_C(0xFDA4177C), UINT32_C(0x4E98795C)}},
+        {{UINT32_C(0x0763AB04), UINT32_C(0x3C9FF1C2), UINT32_C(0x9832FCFD),
+          UINT32_C(0x4FC1BE61), UINT32_C(0x8BD0363A), UINT32_C(0x5FA50C38),
+          UINT32_C(0xF26206BE), UINT32_C(0x14C9BB2F)},
+         {UINT32_C(0x1D31880C), UINT32_C(0xAD1A96EB), UINT32_C(0x65DFCF8A),
+          UINT32_C(0xF0A37BC4), UINT32_C(0x3D048FE4), UINT32_C(0x38962729),
+          UINT32_C(0x6480B254), UINT32_C(0x017125C0)}},
+        {{UINT32_C(0x98D4BAC6), UINT32_C(0x01E819F5), UINT32_C(0x36B99D30),
+          UINT32_C(0xD3686E04), UINT32_C(0x200A4A9D), UINT32_C(0x0C2876FB),
+          UINT32_C(0xE65782D5), UINT32_C(0x45D50C2F)},
+         {UINT32_C(0x865B7A21), UINT32_C(0xB8316ECE), UINT32_C(0xCC875503),
+          UINT32_C(0xA3ADB90F), UINT32_C(0x98468FB4), UINT32_C(0xD72E864E),
+          UINT32_C(0xDED21F40), UINT32_C(0x13BB23FD)}},
+        {{UINT32_C(0xC6B96368), UINT32_C(0x653C3C15), UINT32_C(0x2B9C381F),
+          UINT32_C(0x9A42FC2C), UINT32_C(0x69534D92), UINT32_C(0xF06B41B9),
+          UINT32_C(0x3FB7BED2), UINT32_C(0x46F7292E)},
+         {UINT32_C(0x97D1875E), UINT32_C(0x14A2C420), UINT32_C(0xD3B2DF55),
+          UINT32_C(0x45DFA824), UINT32_C(0x3F2BA72D), UINT32_C(0x59CB7E59),
+          UINT32_C(0xD7D96C98), UINT32_C(0x2EEC65C9)}},
+        {{UINT32_C(0x49650405), UINT32_C(0x907CD4C8), UINT32_C(0x37E05E06),
+          UINT32_C(0xFC29320A), UINT32_C(0x09E29619), UINT32_C(0x99B4C1DF),
+          UINT32_C(0x34DE993F), UINT32_C(0x74E69BF8)},
+         {UINT32_C(0x509D9797), UINT32_C(0x62C0F296), UINT32_C(0x5F1EF554),
+          UINT32_C(0x2E6BD4E6), UINT32_C(0x0D0B71B8), UINT32_C(0xE3050641),
+          UINT32_C(0x235DDE6C), UINT32_C(0x29DA0C9D)}},
+        {{UINT32_C(0x689398C1), UINT32_C(0x3CFBCA4B), UINT32_C(0x40C9DF13),
+          UINT32_C(0x11E58804), UINT32_C(0xBCDF2489), UINT32_C(0x3923A39B),
+          UINT32_C(0x387C8089), UINT32_C(0x3805CCC7)},
+         {UINT32_C(0x70319AFA), UINT32_C(0xC1B4EB48), UINT32_C(0xCA089604),
+          UINT32_C(0x0A6A5FA4), UINT32_C(0x73139A20), UINT32_C(0x16ABDE54),
+          UINT32_C(0x94BD61B5), UINT32_C(0x7C0055E0)}},
+        {{UINT32_C(0xCB05A02A), UINT32_C(0xA5AB5CEF), UINT32_C(0x0BFE903B),
+          UINT32_C(0xC0B4E1B4), UINT32_C(0xEAC9E7E8), UINT32_C(0xBA528329),
+          UINT32_C(0x0A2456B6), UINT32_C(0x0266C5A7)},
+         {UINT32_C(0x5E216EEC), UINT32_C(0x507E9A41), UINT32_C(0xD0F1E440),
+          UINT32_C(0xFCC06B0A), UINT32_C(0xE5C7B26F), UINT32_C(0x6FAEFC8E),
+          UINT32_C(0xB02F85C1), UINT32_C(0x4744CF2E)}},
+        {{UINT32_C(0x1C291BFC), UINT32_C(0xF5E2B812), UINT32_C(0x2CDCBF7A),
+          UINT32_C(0xC18E791D), UINT32_C(0x46554345), UINT32_C(0xC386B962),
+          UINT32_C(0x067518CD), UINT32_C(0x373E00FB)},
+         {UINT32_C(0xE950051B), UINT32_C(0xC9BA9DF9), UINT32_C(0xDD6133EE),
+          UINT32_C(0x182CB132), UINT32_C(0x70A3C71C), UINT32_C(0xD6D7F815),
+          UINT32_C(0x7FAFE307), UINT32_C(0x44C5AEBC)}},
+        {{UINT32_C(0xA9D16080), UINT32_C(0x6C7CE359), UINT32_C(0x1E8B643E),
+          UINT32_C(0xA874386D), UINT32_C(0x07F48E10), UINT32_C(0xA0648129),
+          UINT32_C(0x93E4D619), UINT32_C(0x2A402201)},
+         {UINT32_C(0xBD383EA6), UINT32_C(0x8B429545), UINT32_C(0xF2880536),
+          UINT32_C(0xC096D593), UINT32_C(0x20E299B9), UINT32_C(0xB4057D6C),
+          UINT32_C(0x38A825FA), UINT32_C(0x303962CE)}},
+    },
+    {
+        {{UINT32_C(0x1E1D70D0), UINT32_C(0x9E426EBF), UINT32_C(0xB83529CA),
+          UINT32_C(0x6AEA4DDC), UINT32_C(0x7CC9A07C), UINT32_C(0xF3ECD462),
+          UINT32_C(0xC364772E), UINT32_C(0x7F255C86)},
+         {UINT32_C(0x5613BEF0), UINT32_C(0x0DF212CF), UINT32_C(0x1309F9D0),
+          UINT32_C(0x771F02A9), UINT32_C(0x805FE1F5), UINT32_C(0xE97BEE39),
+          UINT32_C(0xD93522B9), UINT32_C(0x54A43430)}},
+        {{UINT32_C(0xCDE4EBBE), UINT32_C(0xC01553BD), UINT32_C(0xA02E56C1),
+          UINT32_C(0xB1928DDC), UINT32_C(0x94A1A417), UINT32_C(0xB91004BA),
+          UINT32_C(0x56CB9C88), UINT32_C(0x44F74BE6)},
+         {UINT32_C(0x921B62E5), UINT32_C(0x6A7E3E9B), UINT32_C(0x5FBF13C4),
+          UINT32_C(0xF2BF553B), UINT32_C(0x86D55641), UINT32_C(0x51CB776D),
+          UINT32_C(0x6425A3AD), UINT32_C(0x71826BC5)}},
+        {{UINT32_C(0xC6D70EF9), UINT32_C(0xD6D49F90), UINT32_C(0x29EBA0DD),
+          UINT32_C(0x5BD0DA69), UINT32_C(0x803233EF), UINT32_C(0x0BBA7571),
+          UINT32_C(0x679A17D5), UINT32_C(0x0EB0959E)},
+         {UINT32_C(0xB8A3D6EC), UINT32_C(0x97818DC2), UINT32_C(0xC687EAA2),
+          UINT32_C(0x09497FB0), UINT32_C(0xA65FA4C0), UINT32_C(0x2E2707EA),
+          UINT32_C(0x7542F472), UINT32_C(0x6A74D4C6)}},
+        {{UINT32_C(0x1EE0BC40), UINT32_C(0x0D193006), UINT32_C(0x6DC98BA8),
+          UINT32_C(0x7D7BEE19), UINT32_C(0x447C38D2), UINT32_C(0x1AD37C98),
+          UINT32_C(0xB6B4550A), UINT32_C(0x3E163AE1)},
+         {UINT32_C(0x5BC93243), UINT32_C(0x734E36C9), UINT32_C(0x986C35A8),
+          UINT32_C(0x54E217FD), UINT32_C(0x9E3285E3), UINT32_C(0xF0576FF0),
+          UINT32_C(0x186EE7EB), UINT32_C(0x65C950C8)}},
+        {{UINT32_C(0x2012D277), UINT32_C(0x1AB12C04), UINT32_C(0x83872384),
+          UINT32_C(0x97CAB84B), UINT32_C(0x1C66FCFD), UINT32_C(0x479C9CF5),
+          UINT32_C(0xF276933E), UINT32_C(0x70ABC8B4)},
+         {UINT32_C(0xBA4D14F0), UINT32_C(0xE6B15BF7), UINT32_C(0x22E2F5D5),
+          UINT32_C(0xF4060ED3), UINT32_C(0xCDC5462C), UINT32_C(0xA53F3CA0),
+          UINT32_C(0xC6FC3854), UINT32_C(0x593219D4)}},
+        {{UINT32_C(0x72B6F8A1), UINT32_C(0x9DE69934), UINT32_C(0x19E16B3F),
+          UINT32_C(0xECABAEEE), UINT32_C(0xEDA68D7B), UINT32_C(0x0B537CA5),
+          UINT32_C(0xD3CE55B7), UINT32_C(0x744628BD)},
+         {UINT32_C(0x98A95308), UINT32_C(0x3A5B2D8E), UINT32_C(0x6758C6C8),
+          UINT32_C(0x74D0CEF1), UINT32_C(0xDA204834), UINT32_C(0x7538198A),
+          UINT32_C(0xA644E880), UINT32_C(0x1E166AAA)}},
+        {{UINT32_C(0x4674ACF0), UINT32_C(0xE76EE712), UINT32_C(0xDF9DFB4C),
+          UINT32_C(0x40A6F6DE), UINT32_C(0x40C65721), UINT32_C(0x91B0034C),
+          UINT32_C(0xF8E0F5E5), UINT32_C(0x54FE8B8B)},
+         {UINT32_C(0x75891895), UINT32_C(0x6322CA0F), UINT32_C(0x7D20C522),
+          UINT32_C(0x3D1C821E), UINT32_C(0x08043786), UINT32_C(0x1691407F),
+          UINT32_C(0x14847D58), UINT32_C(0x02C30838)}},
+        {{UINT32_C(0xB8F0C372), UINT32_C(0x57DEF069), UINT32_C(0x0D5ABF2C),
+          UINT32_C(0x50375DC3), UINT32_C(0x75EDFBC9), UINT32_C(0x22903814),
+          UINT32_C(0xAE37695A), UINT32_C(0x56E39BD7)},
+         {UINT32_C(0x463D13F2), UINT32_C(0xAB74B187), UINT32_C(0x3CDE8886),
+          UINT32_C(0xC50CB8A2), UINT32_C(0xB35F7D59), UINT32_C(0x1EFBD1CF),
+          UINT32_C(0x1057AE42), UINT32_C(0x1296C482)}},
+        {{UINT32_C(0xC347E3FB), UINT32_C(0xA350B57B), UINT32_C(0xADF65129),
+          UINT32_C(0x4312EB75), UINT32_C(0x7F9A6C9E), UINT32_C(0xD9A7E2F4),
+          UINT32_C(0x9BFDCB4D), UINT32_C(0x5493AF7B)},
+         {UINT32_C(0x9AC0E58E), UINT32_C(0x90A443DD), UINT32_C(0xC6F3BEEF),
+          UINT32_C(0x9777D58A), UINT32_C(0x965EC900), UINT32_C(0x12F00913),
+          UINT32_C(0x480126DA), UINT32_C(0x2F6C5B59)}},
+        {{UINT32_C(0xBAD8C051), UINT32_C(0x70B907FC), UINT32_C(0xD3B4F608),
+          UINT32_C(0x54492D6A), UINT32_C(0x2E096D9F), UINT32_C(0xE3B46F1B),
+          UINT32_C(0x747D472A), UINT32_C(0x522AD6D1)},
+         {UINT32_C(0x02DAB5E5), UINT32_C(0x8FCD1616), UINT32_C(0x357B1C85),
+          UINT32_C(0xD3BA292F), UINT32_C(0x2704F072), UINT32_C(0xA6DB50CD),
+          UINT32_C(0x8341AA73), UINT32_C(0x63488DDF)}},
+        {{UINT32_C(0x0FE2AAAB), UINT32_C(0x99100A3D), UINT32_C(0x8EA44560),
+          UINT32_C(0x7D30C4E9), UINT32_C(0x2B4C776D), UINT32_C(0xBA458C67),
+          UINT32_C(0xBBA4D85E), UINT32_C(0x2EC11420)},
+         {UINT32_C(0x7A7AEC55), UINT32_C(0xB1D9FBA2), UINT32_C(0x7665AAE5),
+          UINT32_C(0x432AB2AA), UINT32_C(0xF3BC7043), UINT32_C(0xD2755948),
+          UINT32_C(0x82510EAD), UINT32_C(0x2FC331BB)}},
+        {{UINT32_C(0x46253DB1), UINT32_C(0xAAF11CF9), UINT32_C(0xB0DF307C),
+          UINT32_C(0xEB025AED), UINT32_C(0x7A82ADEE), UINT32_C(0xCB7C22A5),
+          UINT32_C(0x9C5FA97B), UINT32_C(0x7316C390)},
+         {UINT32_C(0xF518067C), UINT32_C(0x91620554), UINT32_C(0x3C96A804),
+          UINT32_C(0x20A438AE), UINT32_C(0x5B0C090C), UINT32_C(0xC4F9DCDF),
+          UINT32_C(0x6E5C1B45), UINT32_C(0x77C512DB)}},
+        {{UINT32_C(0xFDD09EDE), UINT32_C(0xC981E682), UINT32_C(0xBBB3F57D),
+          UINT32_C(0xC3EB36B7), UINT32_C(0xD12BF450), UINT32_C(0xA07369C6),
+          UINT32_C(0xCE017845), UINT32_C(0x16627566)},
+         {UINT32_C(0x9494AF62), UINT32_C(0xFD8DEC90), UINT32_C(0x53FD4B22),
+          UINT32_C(0x7E793096), UINT32_C(0xC8AAEAE9), UINT32_C(0x21B8E665),
+          UINT32_C(0x18BC33C0), UINT32_C(0x526FA318)}},
+        {{UINT32_C(0x853A2647), UINT32_C(0xF55D32BF), UINT32_C(0xCDAEE8FE),
+          UINT32_C(0xD873ED6C), UINT32_C(0x80E52622), UINT32_C(0xA3579E2B),
+          UINT32_C(0x33D16FE8), UINT32_C(0x03871ABA)},
+         {UINT32_C(0x69925EDF), UINT32_C(0x714804AC), UINT32_C(0xF2B964FF),
+          UINT32_C(0x0340755F), UINT32_C(0xDA0D1A07), UINT32_C(0x93830F98),
+          UINT32_C(0xF7FB1E16), UINT32_C(0x2CAB201E)}},
+        {{UINT32_C(0x22A8AF77), UINT32_C(0x26DE3A3A), UINT32_C(0xB45BA630),
+          UINT32_C(0x0E77C3DC), UINT32_C(0xFC86E7D1), UINT32_C(0x34F00017),
+          UINT32_C(0x1B62F7F2), UINT32_C(0x796ABE2F)},
+         {UINT32_C(0x1663B5B1), UINT32_C(0x9FA09277), UINT32_C(0x9B2FB9AC),
+          UINT32_C(0xFFFDC93F), UINT32_C(0x6B340D75), UINT32_C(0x03AECD1A),
+          UINT32_C(0x314DCCEA), UINT32_C(0x5D55A168)}},
+        {{UINT32_C(0x747DBD0C), UINT32_C(0x678AEF02), UINT32_C(0xD47A6C09),
+          UINT32_C(0xF0D47C1C), UINT32_C(0x3FDD1681), UINT32_C(0x6C2AC72F),
+          UINT32_C(0x6D789D3A), UINT32_C(0x750E7064)},
+         {UINT32_C(0xAEBEDD58), UINT32_C(0x3F970AFE), UINT32_C(0xE3540951),
+          UINT32_C(0x6BBA7956), UINT32_C(0x3E71F6AF), UINT32_C(0x7CC461B2),
+          UINT32_C(0xC45FED28), UINT32_C(0x7E51E548)}},
+    },
+    {
+        {{UINT32_C(0x2CE2CBE5), UINT32_C(0x4A598EFB), UINT32_C(0x89C9A51B),
+          UINT32_C(0x774CDE0A), UINT32_C(0xCA907F34), UINT32_C(0x2D003680),
+          UINT32_C(0x9D3C7D97), UINT32_C(0x62C32DCA)},
+         {UINT32_C(0xB3054D17), UINT32_C(0x37B3A90F), UINT32_C(0x67E58A5A),
+          UINT32_C(0x1423574C), UINT32_C(0x4859FA49), UINT32_C(0xF1D3BB1A),
+          UINT32_C(0x3F5AFA63), UINT32_C(0x25F0AF1C)}},
+        {{UINT32_C(0x1FE53AC9), UINT32_C(0xD3BF7F62), UINT32_C(0xCBCE6164),
+          UINT32_C(0xCE2B67C3), UINT32_C(0x95341024), UINT32_C(0xE081C576),
+          UINT32_C(0x9A70ECAB), UINT32_C(0x32B0EF5D)},
+         {UINT32_C(0x3BE1E5CE), UINT32_C(0x3EC93C85), UINT32_C(0xA0CB7DCD),
+          UINT32_C(0xE25F54ED), UINT32_C(0x517965B2), UINT32_C(0x9D6B57D7),
+          UINT32_C(0x129B0B27), UINT32_C(0x159F7AB0)}},
+        {{UINT32_C(0xEEFB67F3), UINT32_C(0xAEF88E95), UINT32_C(0xE0316AB2),
+          UINT32_C(0xEAEB2889), UINT32_C(0xC2CB6753), UINT32_C(0x1491881F),
+          UINT32_C(0x702789D0), UINT32_C(0x67DCDF28)},
+         {UINT32_C(0x11C0F3FD), UINT32_C(0x8282E0A7), UINT32_C(0x01BA273D),
+          UINT32_C(0x9CDCFDB8), UINT32_C(0x26279B95), UINT32_C(0x6BF1E043),
+          UINT32_C(0x85852777), UINT32_C(0x0D42AAC6)}},
+        {{UINT32_C(0x608981AB), UINT32_C(0xC4CE393E), UINT32_C(0x52141CB0),
+          UINT32_C(0x210E20F8), UINT32_C(0x6B9234B5), UINT32_C(0x22C2586D),
+          UINT32_C(0x4366750E), UINT32_C(0x52F1B366)},
+         {UINT32_C(0x760AFA55), UINT32_C(0xE38ED0D9), UINT32_C(0xB5D61A08),
+          UINT32_C(0xA43FF25A), UINT32_C(0xB5E21691), UINT32_C(0x0BE3A406),
+          UINT32_C(0xFD4E17B0), UINT32_C(0x37B47A28)}},
+        {{UINT32_C(0x4C2C65C2), UINT32_C(0xC46DC6D4), UINT32_C(0xC54BE778),
+          UINT32_C(0x2A0B452C), UINT32_C(0xF727070E), UINT32_C(0xAF113693),
+          UINT32_C(0xC68D13A3), UINT32_C(0x7B229CD8)},
+         {UINT32_C(0x02D43E4B), UINT32_C(0x0F63097E), UINT32_C(0x55627FD8),
+          UINT32_C(0x912F8D33), UINT32_C(0x2A0DD9AE), UINT32_C(0x1EBF3961),
+          UINT32_C(0xF0294B2D), UINT32_C(0x7FD33FDE)}},
+        {{UINT32_C(0xD0CC6D9F), UINT32_C(0xC72411F5), UINT32_C(0x9B92FF84),
+          UINT32_C(0x66E04C90), UINT32_C(0xE1C033B6), UINT32_C(0x0678B4F8),
+          UINT32_C(0xE49A972A), UINT32_C(0x5A99F270)},
+         {UINT32_C(0xD265A4DF), UINT32_C(0x3743BCD8), UINT32_C(0xCE0404C3),
+          UINT32_C(0x7BD6DDF4), UINT32_C(0x131750A5), UINT32_C(0x4043767F),
+          UINT32_C(0x9DD65652), UINT32_C(0x4A7D8983)}},
+        {{UINT32_C(0x12B7822D), UINT32_C(0x535BC784), UINT32_C(0xF1F9B703),
+          UINT32_C(0xDD32DD67), UINT32_C(0x2EAA2A1C), UINT32_C(0xFFDBF0EB),
+          UINT32_C(0xF64E9822), UINT32_C(0x497C09FA)},
+         {UINT32_C(0x32EE2A36), UINT32_C(0x18E717E9), UINT32_C(0x583949B1),
+          UINT32_C(0xF01CC4F5), UINT32_C(0x0A168755), UINT32_C(0x222EE974),
+          UINT32_C(0x00C81EC9), UINT32_C(0x0CD14CD5)}},
+        {{UINT32_C(0x14C79CDC), UINT32_C(0x7AE0BD11), UINT32_C(0x6DC08C80),
+          UINT32_C(0x67323D1A), UINT32_C(0x0EF32432), UINT32_C(0x2FD1ABC7),
+          UINT32_C(0xB0E08EBF), UINT32_C(0x65923246)},
+         {UINT32_C(0xC0754ECE), UINT32_C(0x0A9FD3D7), UINT32_C(0x5F8644FA),
+          UINT32_C(0xE76B2624), UINT32_C(0x0F8BB385), UINT32_C(0xF1F0BEBA),
+          UINT32_C(0xFC96778F), UINT32_C(0x73251F03)}},
+        {{UINT32_C(0xD08795A9), UINT32_C(0x197150DE), UINT32_C(0xFBB8B9CF),
+          UINT32_C(0xAD6935AE), UINT32_C(0x3B2B9EFB), UINT32_C(0x72118682),
+          UINT32_C(0xBC2B7240), UINT32_C(0x265B288D)},
+         {UINT32_C(0x2F78C431), UINT32_C(0x7BF2EB36), UINT32_C(0xF2A6E469),
+          UINT32_C(0xF03B83CA), UINT32_C(0x4740E74B), UINT32_C(0x21159256),
+          UINT32_C(0x0490F0B9), UINT32_C(0x35BE5735)}},
+        {{UINT32_C(0x806C1CAE), UINT32_C(0x207F33B2), UINT32_C(0xDAC5ADE0),
+          UINT32_C(0x04249127), UINT32_C(0x1CC59DE7), UINT32_C(0xC4CCF33E),
+          UINT32_C(0x272BD6D7), UINT32_C(0x2A17B520)},
+         {UINT32_C(0xB48F6585), UINT32_C(0xC36F6B3C), UINT32_C(0x0861ACF5),
+          UINT32_C(0xD32A7379), UINT32_C(0x2C3291C6), UINT32_C(0x28A12ECB),
+          UINT32_C(0xF02A88D0), UINT32_C(0x0E945F95)}},
+        {{UINT32_C(0xD3B3117B), UINT32_C(0x4836EC01), UINT32_C(0xA4C2FD72),
+          UINT32_C(0x4C197454), UINT32_C(0xF9897721), UINT32_C(0x96FCED51),
+          UINT32_C(0x5828C97D), UINT32_C(0x14202858)},
+         {UINT32_C(0x774755B9), UINT32_C(0xCA7ACED8), UINT32_C(0x97252559),
+          UINT32_C(0x460FF582), UINT32_C(0x5796DD63), UINT32_C(0xAAE45776),
+          UINT32_C(0x346DDBF5), UINT32_C(0x711C916E)}},
+        {{UINT32_C(0x5E203692), UINT32_C(0xA60E2E7B), UINT32_C(0xF3BF2A45),
+          UINT32_C(0xCFC72FEA), UINT32_C(0x72AC0436), UINT32_C(0x78729D28),
+          UINT32_C(0x29ABF199), UINT32_C(0x3E16DD8B)},
+         {UINT32_C(0x15A41F3D), UINT32_C(0xB1705AA6), UINT32_C(0x308AB87C),
+          UINT32_C(0x8C7512FE), UINT32_C(0x03995381), UINT32_C(0xA27411C5),
+          UINT32_C(0xA780CED3), UINT32_C(0x3142403C)}},
+        {{UINT32_C(0xF1718C7F), UINT32_C(0xE4473E94), UINT32_C(0xA3CAB6CB),
+          UINT32_C(0x601BC194), UINT32_C(0x581D491D), UINT32_C(0x8F3540F8),
+          UINT32_C(0x43C15321), UINT32_C(0x456A9B7C)},
+         {UINT32_C(0x593BB7ED), UINT32_C(0x6F335A2D), UINT32_C(0x7D791514),
+          UINT32_C(0xB6D5A23F), UINT32_C(0x79235EAD), UINT32_C(0x976D2F83),
+          UINT32_C(0x44775C97), UINT32_C(0x7D02EA0F)}},
+        {{UINT32_C(0xE5EC268E), UINT32_C(0x322DBC8C), UINT32_C(0xBE14BF5C),
+          UINT32_C(0x1F2F6050), UINT32_C(0xEACF6A50), UINT32_C(0x58AC6397),
+          UINT32_C(0xA5401081), UINT32_C(0x4167CBD5)},
+         {UINT32_C(0xEE5B4BF5), UINT32_C(0x8E6F06A1), UINT32_C(0x6B2F790F),
+          UINT32_C(0x1A6073D5), UINT32_C(0x4F901250), UINT32_C(0x1C09FF3D),
+          UINT32_C(0xE6B40DF4), UINT32_C(0x286AF8D7)}},
+        {{UINT32_C(0x06BD53FF), UINT32_C(0xF74C8057), UINT32_C(0xE5788F0D),
+          UINT32_C(0x4FCE7281), UINT32_C(0x3D015E6B), UINT32_C(0xD6A867AC),
+          UINT32_C(0x6E185A42), UINT32_C(0x04AEC38D)},
+         {UINT32_C(0x083D65CB), UINT32_C(0x8DC12B74), UINT32_C(0x82966668),
+          UINT32_C(0xDB1AA8AC), UINT32_C(0x28AF1B90), UINT32_C(0xBD2233BF),
+          UINT32_C(0x172CCA11), UINT32_C(0x544569A7)}},
+        {{UINT32_C(0x149BD0BD), UINT32_C(0x9C56FCA8), UINT32_C(0xA05F8E44),
+          UINT32_C(0x2B4EC788), UINT32_C(0x92478943), UINT32_C(0x1569CF6D),
+          UINT32_C(0x57380986), UINT32_C(0x67E373E8)},
+         {UINT32_C(0xED3C14DB), UINT32_C(0xF5CC8232), UINT32_C(0xF52EAF83),
+          UINT32_C(0xE3D184B0), UINT32_C(0x0BC64038), UINT32_C(0x195D4137),
+          UINT32_C(0x778C3C20), UINT32_C(0x77994388)}},
+    },
+    {
+        {{UINT32_C(0xA0CC77AA), UINT32_C(0x3DAA0C47), UINT32_C(0x7C69CDF0),
+          UINT32_C(0xB9794E74), UINT32_C(0x4549F5D4), UINT32_C(0x3610E50B),
+          UINT32_C(0xB8A112CA), UINT32_C(0x262CA564)},
+         {UINT32_C(0x554E8714), UINT32_C(0xD5EC795E), UINT32_C(0x717EBEF3),
+          UINT32_C(0x73EE5502), UINT32_C(0x1947A478), UINT32_C(0xE36E8A1A),
+          UINT32_C(0x42ADC59D), UINT32_C(0x3FBE43A3)}},
+        {{UINT32_C(0x021FBCBE), UINT32_C(0x4DE78909), UINT32_C(0x0BBBB324),
+          UINT32_C(0xA76A5EE2), UINT32_C(0xCD67810B), UINT32_C(0x5B86519A),
+          UINT32_C(0x3710A4EE), UINT32_C(0x4CCA44A2)},
+         {UINT32_C(0xCD1F8BEC), UINT32_C(0xD79A121D), UINT32_C(0xDC9CA10E),
+          UINT32_C(0x2E12A772), UINT32_C(0x8C9E9640), UINT32_C(0xE301CA3B),
+          UINT32_C(0xB731A957), UINT32_C(0x4B25FE18)}},
+        {{UINT32_C(0xF4AD7264), UINT32_C(0xA05DA2CD), UINT32_C(0x076977A5),
+          UINT32_C(0x31336489), UINT32_C(0xF2E576A8), UINT32_C(0xC1D269BE),
+          UINT32_C(0x7532203F), UINT32_C(0x1E877ADC)},
+         {UINT32_C(0x8B92972C), UINT32_C(0x9C9961BC), UINT32_C(0x6A14D810),
+          UINT32_C(0x7BA07272), UINT32_C(0x06913136), UINT32_C(0xE51095A9),
+          UINT32_C(0x30E0EA8C), UINT32_C(0x46748969)}},
+        {{UINT32_C(0x3C73BA49), UINT32_C(0xDB8EF346), UINT32_C(0x3720570D),
+          UINT32_C(0xBF221312), UINT32_C(0x605DB0D6), UINT32_C(0xC07B3639),
+          UINT32_C(0x300336A3), UINT32_C(0x44FCEFA6)},
+         {UINT32_C(0x2D234592), UINT32_C(0x121FAC5C), UINT32_C(0x44E367D7),
+          UINT32_C(0x901DEE88), UINT32_C(0x1CAA6A3A), UINT32_C(0x5B5F3DD6),
+          UINT32_C(0xAC2F6E64), UINT32_C(0x72E474EC)}},
+        {{UINT32_C(0xF55BE61C), UINT32_C(0x15690BEE), UINT32_C(0xDF2678A2),
+          UINT32_C(0xE42B945E), UINT32_C(0x3B7B1776), UINT32_C(0x60A5C8AA),
+          UINT32_C(0xEB9AB938), UINT32_C(0x16103FBC)},
+         {UINT32_C(0x87AD06AB), UINT32_C(0x79722A1E), UINT32_C(0xD6B632A2),
+          UINT32_C(0xD7B509F6), UINT32_C(0x3B69EB40), UINT32_C(0x8C4E8B2E),
+          UINT32_C(0x14DB2225), UINT32_C(0x6A509583)}},
+        {{UINT32_C(0x93B78659), UINT32_C(0x169F35D8), UINT32_C(0x8EFF83AD),
+          UINT32_C(0x989B04D2), UINT32_C(0xA6AE4806), UINT32_C(0x72CF7338),
+          UINT32_C(0xF4AAA524), UINT32_C(0x6E156C84)},
+         {UINT32_C(0xA1ED5CB2), UINT32_C(0x33A608ED), UINT32_C(0xC3D28716),
+          UINT32_C(0xCE274A64), UINT32_C(0x45F0435F), UINT32_C(0xFCF1B170),
+          UINT32_C(0x1653D6F6), UINT32_C(0x101D1BDB)}},
+        {{UINT32_C(0x2E5A67D9), UINT32_C(0x45BC931D), UINT32_C(0x697DA479),
+          UINT32_C(0xAFF02C11), UINT32_C(0x2EA3E6E1), UINT32_C(0x7C7972A3),
+          UINT32_C(0x5E97BB90), UINT32_C(0x71A17D50)},
+         {UINT32_C(0x19AD4C5E), UINT32_C(0x962E84F2), UINT32_C(0x692020BE),
+          UINT32_C(0xBB8C9FC7), UINT32_C(0xE7B36665), UINT32_C(0xA78FDF2C),
+          UINT32_C(0x26F92E33), UINT32_C(0x7AC84ED4)}},
+        {{UINT32_C(0xC3C9E5C1), UINT32_C(0xBD85A9EE), UINT32_C(0x6ED2FD6A),
+          UINT32_C(0x72030BAA), UINT32_C(0x39CFFB89), UINT32_C(0xB67185AB),
+          UINT32_C(0x833BF770), UINT32_C(0x3E2E51A4)},
+         {UINT32_C(0x5E27D5BB), UINT32_C(0x248FA348), UINT32_C(0x2E6D3DCF),
+          UINT32_C(0xF8D43596), UINT32_C(0x0C8DAF81), UINT32_C(0x07F5B93C),
+          UINT32_C(0xAD2FC97D), UINT32_C(0x6A7FFA1D)}},
+        {{UINT32_C(0xFAEA33F1), UINT32_C(0xFF308FAE), UINT32_C(0x3CC4C7CF),
+          UINT32_C(0x5F29DFFB), UINT32_C(0xECC5A2B9), UINT32_C(0xB9AD4527),
+          UINT32_C(0x048D4B38), UINT32_C(0x08B95AF6)},
+         {UINT32_C(0xDEC152BB), UINT32_C(0x56BC43A8), UINT32_C(0x3849D869),
+          UINT32_C(0xD1147B9A), UINT32_C(0xD02AF3B7), UINT32_C(0xFE5020C2),
+          UINT32_C(0xB918496E), UINT32_C(0x54C02B44)}},
+        {{UINT32_C(0x0B27468D), UINT32_C(0x1611ECFD), UINT32_C(0x0513A562),
+          UINT32_C(0x4AFCE329), UINT32_C(0x2FE74EED), UINT32_C(0x982782FD),
+          UINT32_C(0x17ADD2EA), UINT32_C(0x66AC58BF)},
+         {UINT32_C(0x613581D4), UINT32_C(0x8277BC2D), UINT32_C(0x988D1498),
+          UINT32_C(0x0BF5BF0C), UINT32_C(0x55C984CB), UINT32_C(0x8A37134D),
+          UINT32_C(0x92211390), UINT32_C(0x409A79CC)}},
+        {{UINT32_C(0x816F0462), UINT32_C(0x8C0081AE), UINT32_C(0x5A68BFC2),
+          UINT32_C(0xB431DC24), UINT32_C(0x5F78C8A1), UINT32_C(0x25C769C6),
+          UINT32_C(0xB382AF14), UINT32_C(0x3BE0458D)},
+         {UINT32_C(0xA171ADF2), UINT32_C(0x10583083), UINT32_C(0x37F7C39F),
+          UINT32_C(0xBA5D5325), UINT32_C(0x5EAC7585), UINT32_C(0x76B03B94),
+          UINT32_C(0x9C2DF2C6), UINT32_C(0x76159AAC)}},
+        {{UINT32_C(0x918E0332), UINT32_C(0x886C73BA), UINT32_C(0xD24B5B52),
+          UINT32_C(0xF6FEC62A), UINT32_C(0x36B4D23A), UINT32_C(0xB98759B4),
+          UINT32_C(0x5480ACF3), UINT32_C(0x5EC5B3FE)},
+         {UINT32_C(0x6DD175BF), UINT32_C(0x30FF297D), UINT32_C(0x75F2B9C3),
+          UINT32_C(0x501DE744), UINT32_C(0xF19230C5), UINT32_C(0xDEBE47CA),
+          UINT32_C(0x32BBBB62), UINT32_C(0x7401F209)}},
+        {{UINT32_C(0x22496D1E), UINT32_C(0x80712E47), UINT32_C(0xDA80AF1D),
+          UINT32_C(0x36A0EF37), UINT32_C(0x940E5E9F), UINT32_C(0xAF6CA51C),
+          UINT32_C(0x722D9D22), UINT32_C(0x74E17B6F)},
+         {UINT32_C(0xB8B3AE1B), UINT32_C(0xCB70B878), UINT32_C(0x07DF974C),
+          UINT32_C(0xBF8B9A0B), UINT32_C(0xF68A4BF4), UINT32_C(0x89FCC996),
+          UINT32_C(0x6EB0FB2E), UINT32_C(0x46F581E8)}},
+        {{UINT32_C(0x67137153), UINT32_C(0xBCE0BD6C), UINT32_C(0x75F64B78),
+          UINT32_C(0xAD3E92B3), UINT32_C(0xFD047DD9), UINT32_C(0x6454CD1D),
+          UINT32_C(0x612AE472), UINT32_C(0x181C93EB)},
+         {UINT32_C(0x23A529C3), UINT32_C(0xE575307E), UINT32_C(0x59C09EB5),
+          UINT32_C(0xB9C43A0B), UINT32_C(0xAA805840), UINT32_C(0xFD233A68),
+          UINT32_C(0xA122FFB9), UINT32_C(0x067C442E)}},
+        {{UINT32_C(0x2CD6762E), UINT32_C(0xE1F3F76F), UINT32_C(0x9764B53A),
+          UINT32_C(0xFB68650F), UINT32_C(0xF1224580), UINT32_C(0x4E90AC72),
+          UINT32_C(0x127EED48), UINT32_C(0x2BF68F01)},
+         {UINT32_C(0x94D389A0), UINT32_C(0xE6B4B409), UINT32_C(0xD44593D6),
+          UINT32_C(0xD7BC8108), UINT32_C(0x48A86677), UINT32_C(0xDCF03991),
+          UINT32_C(0xCEBCE3C7), UINT32_C(0x4A52D961)}},
+        {{UINT32_C(0xBAA873EA), UINT32_C(0x55734AB5), UINT32_C(0x7871F323),
+          UINT32_C(0x506DE4CF), UINT32_C(0x578612C0), UINT32_C(0x7C3F8B00),
+          UINT32_C(0x9243C9E8), UINT32_C(0x730D4B8A)},
+         {UINT32_C(0xD385F6BD), UINT32_C(0xA3290689), UINT32_C(0x913596F5),
+          UINT32_C(0xAF688C6A), UINT32_C(0xB646BE23), UINT32_C(0x0A2D89B5),
+          UINT32_C(0xF63A6029), UINT32_C(0x31891165)}},
+    },
+    {
+        {{UINT32_C(0x579583C0), UINT32_C(0x331F9E57), UINT32_C(0x69C65DA2),
+          UINT32_C(0xE92ABADF), UINT32_C(0xA5B8B057), UINT32_C(0xC796FBEC),
+          UINT32_C(0x312D1E89), UINT32_C(0x52E6F9C9)},
+         {UINT32_C(0xDA68DFD3), UINT32_C(0x0318B1DF), UINT32_C(0xA1CAC4F1),
+          UINT32_C(0x8BAA2EB3), UINT32_C(0xBEE7D6E1), UINT32_C(0x0CDC89A2),
+          UINT32_C(0x22AB50F4), UINT32_C(0x6102DE7A)}},
+        {{UINT32_C(0xE20C707A), UINT32_C(0x02003D83), UINT32_C(0x28289D89),
+          UINT32_C(0xD819249C), UINT32_C(0x72053FF8), UINT32_C(0x3FBC00B1),
+          UINT32_C(0xDF40D261), UINT32_C(0x0249C43C)},
+         {UINT32_C(0xD8F064AF), UINT32_C(0x8794EEAC), UINT32_C(0xDC9F0631),
+          UINT32_C(0xE2359E70), UINT32_C(0xADA310D0), UINT32_C(0xD1603647),
+          UINT32_C(0xEDC888EC), UINT32_C(0x6A9E3785)}},
+        {{UINT32_C(0xEC41908E), UINT32_C(0xF332B384), UINT32_C(0xBDE4760B),
+          UINT32_C(0xF3274472), UINT32_C(0x140D0EF4), UINT32_C(0x96185E89),
+          UINT32_C(0x90E698E7), UINT32_C(0x56462089)},
+         {UINT32_C(0xF2E64396), UINT32_C(0x841A31C5), UINT32_C(0x03C4118F),
+          UINT32_C(0x8F494CA5), UINT32_C(0x1A188305), UINT32_C(0x0C98A4C3),
+          UINT32_C(0x98AAB1AB), UINT32_C(0x1C4B5F62)}},
+        {{UINT32_C(0x5D0D8381), UINT32_C(0xDDEEEBF8), UINT32_C(0x89044363),
+          UINT32_C(0xD1616F48), UINT32_C(0x21616A13), UINT32_C(0x2EE41D47),
+          UINT32_C(0x4BC769FC), UINT32_C(0x2DCE6110)},
+         {UINT32_C(0x16C1C468), UINT32_C(0xE3707A01), UINT32_C(0x969AF612),
+          UINT32_C(0x3B674187), UINT32_C(0x1E0671CC), UINT32_C(0xB64BD4D7),
+          UINT32_C(0xB98C297C), UINT32_C(0x7EF01DBA)}},
+        {{UINT32_C(0x815381AC), UINT32_C(0x91DCBF99), UINT32_C(0x38B67B97),
+          UINT32_C(0x8D711F58), UINT32_C(0x9C6E322C), UINT32_C(0x9C11F595),
+          UINT32_C(0xE31A782F), UINT32_C(0x4A688D0B)},
+         {UINT32_C(0xDCE93F5B), UINT32_C(0x1297D9F3), UINT32_C(0x7C1DC62A),
+          UINT32_C(0xA7956194), UINT32_C(0x5F718F63), UINT32_C(0x340F217A),
+          UINT32_C(0xFCC0EF6A), UINT32_C(0x71F84529)}},
+        {{UINT32_C(0x3DD00963), UINT32_C(0x0D968E50), UINT32_C(0xD7FF66C3),
+          UINT32_C(0x5E696D79), UINT32_C(0x499A9BE2), UINT32_C(0xAA52D60D),
+          UINT32_C(0xCDC289DE), UINT32_C(0x72482C45)},
+         {UINT32_C(0x7FFAAD3A), UINT32_C(0xC84968F5), UINT32_C(0xF7CD5BED),
+          UINT32_C(0xEE91304C), UINT32_C(0x0A7CC7C0), UINT32_C(0x68493676),
+          UINT32_C(0x80023968), UINT32_C(0x3411AFA7)}},
+        {{UINT32_C(0x6E3294C0), UINT32_C(0xA0AEBC70), UINT32_C(0xDC385E50),
+          UINT32_C(0x93263942), UINT32_C(0x8467FB06), UINT32_C(0x7B90C002),
+          UINT32_C(0x38CFD0FF), UINT32_C(0x29477CA4)},
+         {UINT32_C(0x92A748D5), UINT32_C(0xADC04D81), UINT32_C(0x76CF3AE5),
+          UINT32_C(0xAE4F309D), UINT32_C(0x4BB2C2FF), UINT32_C(0xBDA34BF0),
+          UINT32_C(0x368536E4), UINT32_C(0x65138897)}},
+        {{UINT32_C(0x6FE6D4D6), UINT32_C(0x9CB8F7D6), UINT32_C(0xAF246792),
+          UINT32_C(0x6C2FFBF5), UINT32_C(0x81524707), UINT32_C(0xD5A4F349),
+          UINT32_C(0x36766D5E), UINT32_C(0x3AFE45CE)},
+         {UINT32_C(0x513BA267), UINT32_C(0x41991B49), UINT32_C(0x6C18AA5E),
+          UINT32_C(0x06EF1EEA), UINT32_C(0x88EA2099), UINT32_C(0x0A517635),
+          UINT32_C(0xD245B88B), UINT32_C(0x32D2B5E2)}},
+        {{UINT32_C(0x3F517C5B), UINT32_C(0xAE38CDD5), UINT32_C(0xD878FEEE),
+          UINT32_C(0x1C94FDC5), UINT32_C(0xBEFCE107), UINT32_C(0xABF7A41D),
+          UINT32_C(0xD408DFE8), UINT32_C(0x33BF3FE9)},
+         {UINT32_C(0x947CB8C4), UINT32_C(0x4F2E6FF0), UINT32_C(0xF998C5A0),
+          UINT32_C(0x3A8E86AB), UINT32_C(0xE359209F), UINT32_C(0x3ADC6ABA),
+          UINT32_C(0xD9A50051), UINT32_C(0x37A2DE1B)}},
+        {{UINT32_C(0xE718F6B9), UINT32_C(0x424F4E34), UINT32_C(0x75C58EB6),
+          UINT32_C(0x50B1A03B), UINT32_C(0x91390E27), UINT32_C(0xB9495314),
+          UINT32_C(0x880E78D8), UINT32_C(0x4AE0CC3A)},
+         {UINT32_C(0xF1E4413C), UINT32_C(0x10331AFA), UINT32_C(0xDDFCD2F0),
+          UINT32_C(0xE7A3E554), UINT32_C(0x0EBF484B), UINT32_C(0x44F6DE85),
+          UINT32_C(0x895D0F54), UINT32_C(0x6A762A7E)}},
+        {{UINT32_C(0x8D0558F6), UINT32_C(0x8E606B0A), UINT32_C(0x5C4DD930),
+          UINT32_C(0xAADA7604), UINT32_C(0xEF4ACAD0), UINT32_C(0x5B2FC7AD),
+          UINT32_C(0x87F5B6E2), UINT32_C(0x0D969AD0)},
+         {UINT32_C(0x5974E67B), UINT32_C(0xF9A182B2), UINT32_C(0x23B4009A),
+          UINT32_C(0xCD8232E7), UINT32_C(0x285BCC3F), UINT32_C(0x3D8F5DDD),
+          UINT32_C(0xEEE1B9BF), UINT32_C(0x114AC56F)}},
+        {{UINT32_C(0xAA45085A), UINT32_C(0xD3EA1B56), UINT32_C(0xD314CEDF),
+          UINT32_C(0x5DE7BB70), UINT32_C(0x7BCCDCFD), UINT32_C(0x8A74384C),
+          UINT32_C(0x8E0E0367), UINT32_C(0x64B80F8A)},
+         {UINT32_C(0x48884ED1), UINT32_C(0xA9EA432B), UINT32_C(0x8C0BA810),
+          UINT32_C(0x51957A8F), UINT32_C(0x39E810E3), UINT32_C(0x9E883400),
+          UINT32_C(0x28B2051C), UINT32_C(0x0A73ED5A)}},
+        {{UINT32_C(0x13C30826), UINT32_C(0x655212A3), UINT32_C(0xB73E8660),
+          UINT32_C(0xAE53668E), UINT32_C(0xFF108CCE), UINT32_C(0x6C33B649),
+          UINT32_C(0x21D49681), UINT32_C(0x39E0B118)},
+         {UINT32_C(0x70525312), UINT32_C(0xFE4D2152), UINT32_C(0xFFD18749),
+          UINT32_C(0x2EDCE32B), UINT32_C(0xB04D3FB8), UINT32_C(0xFED19B1C),
+          UINT32_C(0x2B225A9D), UINT32_C(0x4DFE216B)}},
+        {{UINT32_C(0x4C70F8A8), UINT32_C(0x583E8A6C), UINT32_C(0x954A9AE1),
+          UINT32_C(0xC8206231), UINT32_C(0xB76517B1), UINT32_C(0x9360B592),
+          UINT32_C(0xEED10CCA), UINT32_C(0x362C5C5C)},
+         {UINT32_C(0x3D607921), UINT32_C(0x3DBA9595), UINT32_C(0x5A6ECC40),
+          UINT32_C(0x0188A5D6), UINT32_C(0x6CFF4ADE), UINT32_C(0x0EAB43C1),
+          UINT32_C(0xDE3347E0), UINT32_C(0x1F3673AE)}},
+        {{UINT32_C(0x796593EE), UINT32_C(0x7300C4B3), UINT32_C(0xD8D926C3),
+          UINT32_C(0x607E7E76), UINT32_C(0x77F9FD06), UINT32_C(0x1762CE26),
+          UINT32_C(0xCEA891EB), UINT32_C(0x0D0478B3)},
+         {UINT32_C(0x2618B09E), UINT32_C(0xB1129791), UINT32_C(0x33F928C9),
+          UINT32_C(0x5F9D290D), UINT32_C(0xE6178DB0), UINT32_C(0xE3192631),
+          UINT32_C(0x08576D3F), UINT32_C(0x21260AC8)}},
+        {{UINT32_C(0x76968E1C), UINT32_C(0x899DAF2A), UINT32_C(0xF9C2B3E7),
+          UINT32_C(0x0519DEA9), UINT32_C(0x93D0BD4E), UINT32_C(0x5FDADC38),
+          UINT32_C(0x43B4D98F), UINT32_C(0x0467BFF7)},
+         {UINT32_C(0x6F3936C9), UINT32_C(0x651C316C), UINT32_C(0xAF27DF8B),
+          UINT32_C(0xE757689A), UINT32_C(0xA0FA9188), UINT32_C(0x3AB037EA),
+          UINT32_C(0xD927B60A), UINT32_C(0x2F8B039B)}},
+    },
+    {
+        {{UINT32_C(0xDE876A70), UINT32_C(0x72211BF5), UINT32_C(0x73D121CE),
+          UINT32_C(0xA8361631), UINT32_C(0x23D419E4), UINT32_C(0x23852721),
+          UINT32_C(0xDBD03345), UINT32_C(0x3F56D47E)},
+         {UINT32_C(0xD6F05BAC), UINT32_C(0xFB0E91A5), UINT32_C(0xAC9D0F46),
+          UINT32_C(0xA0E02BF6), UINT32_C(0x97F1812F), UINT32_C(0x5ED9EA2C),
+          UINT32_C(0xEBD5DB5A), UINT32_C(0x172F564F)}},
+        {{UINT32_C(0x81F11E58), UINT32_C(0xC790E912), UINT32_C(0x99A5DFF7),
+          UINT32_C(0x14A17630), UINT32_C(0x1627516D), UINT32_C(0xF6F30F2F),
+          UINT32_C(0xEFCF43B7), UINT32_C(0x522CAD8F)},
+         {UINT32_C(0x6EA01128), UINT32_C(0xFFADD45E), UINT32_C(0xD61D1964),
+          UINT32_C(0x5D23234C), UINT32_C(0x2802DF86), UINT32_C(0xE9212C85),
+          UINT32_C(0x92AA8DA3), UINT32_C(0x0A3D237B)}},
+        {{UINT32_C(0xE50ED356), UINT32_C(0x2CED05F4), UINT32_C(0xBFFEEF3A),
+          UINT32_C(0x1CBC7FB1), UINT32_C(0xBE19F0F0), UINT32_C(0x885991B1),
+          UINT32_C(0xDE44A492), UINT32_C(0x6DED0794)},
+         {UINT32_C(0x44CBECFC), UINT32_C(0x9967E834), UINT32_C(0x6A792ED1),
+          UINT32_C(0xB0674A8D), UINT32_C(0xB7DDD557), UINT32_C(0x360E2DE4),
+          UINT32_C(0x70E95D26), UINT32_C(0x26852A74)}},
+        {{UINT32_C(0x3A6E2116), UINT32_C(0x8CBC1520), UINT32_C(0xBF285BBE),
+          UINT32_C(0xF09327DF), UINT32_C(0x4A54D3C5), UINT32_C(0x8C7D9AD5),
+          UINT32_C(0x6BD2768F), UINT32_C(0x778F54E6)},
+         {UINT32_C(0x8FF3DBC0), UINT32_C(0x09B489F8), UINT32_C(0xD2871932),
+          UINT32_C(0x0A0FA7FB), UINT32_C(0xE0A8CEC4), UINT32_C(0xABB9DC38),
+          UINT32_C(0x21E37A50), UINT32_C(0x2EE092D8)}},
+        {{UINT32_C(0xAF6D88D8), UINT32_C(0xBB9256E7), UINT32_C(0x0A218927),
+          UINT32_C(0x3CDCB1CB), UINT32_C(0xF216D6E6), UINT32_C(0x8E5B744A),
+          UINT32_C(0xBC885AFD), UINT32_C(0x6F0617F2)},
+         {UINT32_C(0x268397D5), UINT32_C(0xFBA9CDA7), UINT32_C(0x5D4C75D8),
+          UINT32_C(0xC6154716), UINT32_C(0x43FB2CD2), UINT32_C(0x9ED8D17B),
+          UINT32_C(0xBE45BC5C), UINT32_C(0x4D0CE3FB)}},
+        {{UINT32_C(0xA38472F5), UINT32_C(0x4259BB02), UINT32_C(0x15107D0E),
+          UINT32_C(0xFAFAAE03), UINT32_C(0xCF0CF2B6), UINT32_C(0x2B8E450E),
+          UINT32_C(0xED887C3A), UINT32_C(0x788674C3)},
+         {UINT32_C(0x4B3D2EAC), UINT32_C(0x1F3EBD59), UINT32_C(0x75E41B55),
+          UINT32_C(0x82CB5684), UINT32_C(0xC02BE49A), UINT32_C(0x005AB76B),
+          UINT32_C(0xF5F90FEE), UINT32_C(0x6F13ADD2)}},
+        {{UINT32_C(0x7AFA7161), UINT32_C(0x0116374A), UINT32_C(0x2DB7F824),
+          UINT32_C(0x8A1AE448), UINT32_C(0xDB656A22), UINT32_C(0xD3C0DA12),
+          UINT32_C(0xB989204D), UINT32_C(0x7B095B95)},
+         {UINT32_C(0xEF8F21CA), UINT32_C(0x24C35202), UINT32_C(0x2DA5A5A1),
+          UINT32_C(0x91088DA7), UINT32_C(0xE3F97D68), UINT32_C(0xAAF1944B),
+          UINT32_C(0x7C884134), UINT32_C(0x245D2848)}},
+        {{UINT32_C(0x68F5C702), UINT32_C(0xD80C65D6), UINT32_C(0x021A2974),
+          UINT32_C(0xE2FE245F), UINT32_C(0x3A11899C), UINT32_C(0xFB8520E0),
+          UINT32_C(0x2BE6BF88), UINT32_C(0x4806D1FA)},
+         {UINT32_C(0x20ED235F), UINT32_C(0xF6F8C11A), UINT32_C(0x7F0D651E),
+          UINT32_C(0x52AC1424), UINT32_C(0xDB9CF6D6), UINT32_C(0x44C3C89F),
+          UINT32_C(0xB2E2E41F), UINT32_C(0x6762516D)}},
+        {{UINT32_C(0xFDE91600), UINT32_C(0x2743D874), UINT32_C(0xCDF00100),
+          UINT32_C(0x60975FD5), UINT32_C(0x2D2954F4), UINT32_C(0x78ACC864),
+          UINT32_C(0x56373454), UINT32_C(0x46B9E602)},
+         {UINT32_C(0x6F0FB867), UINT32_C(0x7586A970), UINT32_C(0x242DF35A),
+          UINT32_C(0x888E3677), UINT32_C(0xF1460F62), UINT32_C(0x5A639E79),
+          UINT32_C(0x55297DBC), UINT32_C(0x1256517E)}},
+        {{UINT32_C(0x7B9294C3), UINT32_C(0x3F78339B), UINT32_C(0xBCE77012),
+          UINT32_C(0x5BA765D1), UINT32_C(0x512E39E2), UINT32_C(0xA88E0CD8),
+          UINT32_C(0xF6BA6A6A), UINT32_C(0x2D63E14B)},
+         {UINT32_C(0xEA29071B), UINT32_C(0xF849A163), UINT32_C(0x4C0A2E22),
+          UINT32_C(0xF32519B7), UINT32_C(0x561C35F5), UINT32_C(0xEA5D1315),
+          UINT32_C(0xD9267DCA), UINT32_C(0x7041F515)}},
+        {{UINT32_C(0x1FE56E6B), UINT32_C(0xE01E839F), UINT32_C(0x4A93CE88),
+          UINT32_C(0x3E473D8C), UINT32_C(0x89AAFDAE), UINT32_C(0xC4846ECF),
+          UINT32_C(0x07D946EA), UINT32_C(0x4111D97A)},
+         {UINT32_C(0x51A45F02), UINT32_C(0xC20881F6), UINT32_C(0xB9CD841A),
+          UINT32_C(0x14C2AC95), UINT32_C(0xF2CBD929), UINT32_C(0x2FBE8329),
+          UINT32_C(0xC812608B), UINT32_C(0x1E8B7469)}},
+        {{UINT32_C(0x007F0A5D), UINT32_C(0xB36A5D03), UINT32_C(0x5DCF7AF4),
+          UINT32_C(0xA7E7A1A8), UINT32_C(0xBEB12AFB), UINT32_C(0x7227F4C5),
+          UINT32_C(0x4D276783), UINT32_C(0x46227792)},
+         {UINT32_C(0x48403B93), UINT32_C(0x9EA64D4C), UINT32_C(0x0B333ED5),
+          UINT32_C(0x58EA31BC), UINT32_C(0xC5C93119), UINT32_C(0x2D6DD219),
+          UINT32_C(0x45069280), UINT32_C(0x385023A7)}},
+        {{UINT32_C(0xF60C46AF), UINT32_C(0x8AB9B9EA), UINT32_C(0xE8B827C2),
+          UINT32_C(0xFA1D3F08), UINT32_C(0x1BAD41DB), UINT32_C(0x78C6BFBC),
+          UINT32_C(0x23BE0C1E), UINT32_C(0x527A0BED)},
+         {UINT32_C(0x6ACCE641), UINT32_C(0x66212FD2), UINT32_C(0xEE6F78E7),
+          UINT32_C(0x86125B0D), UINT32_C(0x58552A8C), UINT32_C(0xA2A02718),
+          UINT32_C(0x7E9605C5), UINT32_C(0x594F2B77)}},
+        {{UINT32_C(0x88A27989), UINT32_C(0x3FB1F6CF), UINT32_C(0xD96268B8),
+          UINT32_C(0xBC4962F7), UINT32_C(0xB95E2A36), UINT32_C(0xBD8761E9),
+          UINT32_C(0x046DEC63), UINT32_C(0x64AB934A)},
+         {UINT32_C(0x2E53CF1A), UINT32_C(0xC64D1C59), UINT32_C(0x578C5E8C),
+          UINT32_C(0xC9865A9B), UINT32_C(0x7A0359DE), UINT32_C(0x5ECA6232),
+          UINT32_C(0xFB4685E5), UINT32_C(0x127DD136)}},
+        {{UINT32_C(0x1AE320C9), UINT32_C(0xB0F7B071), UINT32_C(0x52525203),
+          UINT32_C(0x09BF89BB), UINT32_C(0x709C5692), UINT32_C(0x97B20027),
+          UINT32_C(0xEDBF6175), UINT32_C(0x16A62485)},
+         {UINT32_C(0x394C50F9), UINT32_C(0x32C18836), UINT32_C(0xD3B98C19),
+          UINT32_C(0x7D99468F), UINT32_C(0x2E8D2729), UINT32_C(0x8EBE5096),
+          UINT32_C(0xE655F093), UINT32_C(0x4E75B3CC)}},
+        {{UINT32_C(0x9EAE827E), UINT32_C(0xCBEFD1A2), UINT32_C(0xFBF4630D),
+          UINT32_C(0xDE2D1234), UINT32_C(0x96086CDA), UINT32_C(0x1B3ADCF8),
+          UINT32_C(0x2EA6CBA7), UINT32_C(0x43D3960E)},
+         {UINT32_C(0x1CB5A0F7), UINT32_C(0x18321D1D), UINT32_C(0x47BEABB4),
+          UINT32_C(0xDC94C6F9), UINT32_C(0x75AF6AB7), UINT32_C(0xFBACC6D5),
+          UINT32_C(0x89B98E86), UINT32_C(0x0EE5D357)}},
+    },
+    {
+        {{UINT32_C(0x062E0994), UINT32_C(0x3F01B4AA), UINT32_C(0x5C952259),
+          UINT32_C(0x994B28B0), UINT32_C(0x0CDEEC70), UINT32_C(0x2678F8B8),
+          UINT32_C(0x212436F3), UINT32_C(0x4D06AF84)},
+         {UINT32_C(0x1CF27A98), UINT32_C(0xE9DF52FD), UINT32_C(0x0B7718F7),
+          UINT32_C(0xD56B9FD1), UINT32_C(0xD9AEDA0D), UINT32_C(0x728BE624),
+          UINT32_C(0x1A646888), UINT32_C(0x09871088)}},
+        {{UINT32_C(0x9B586B13), UINT32_C(0xB1BC922D), UINT32_C(0x3CA3B1BA),
+          UINT32_C(0x6C084C54), UINT32_C(0xCF322698), UINT32_C(0x54D196C7),
+          UINT32_C(0x85D527E1), UINT32_C(0x06EC3A55)},
+         {UINT32_C(0x2A57CAA1), UINT32_C(0x06918710), UINT32_C(0x65FD0F6B),
+          UINT32_C(0x6AEAC07D), UINT32_C(0x0F512F84), UINT32_C(0xB66A34D7),
+          UINT32_C(0xA44E6452), UINT32_C(0x3860C002)}},
+        {{UINT32_C(0x0881608A), UINT32_C(0x17263B26), UINT32_C(0x56C18A7A),
+          UINT32_C(0x78D556AA), UINT32_C(0xAC3A47AB), UINT32_C(0xA0826A1C),
+          UINT32_C(0xB6933FF5), UINT32_C(0x61686A58)},
+         {UINT32_C(0xDBCF2C4F), UINT32_C(0xEA9D8771), UINT32_C(0x6AB00426),
+          UINT32_C(0x1C66EB02), UINT32_C(0x401C466A), UINT32_C(0xF8DAED2B),
+          UINT32_C(0xDAAE8040), UINT32_C(0x1ED0A99A)}},
+        {{UINT32_C(0x7208E58A), UINT32_C(0x31EFFC4B), UINT32_C(0xB4E4319E),
+          UINT32_C(0x28868456), UINT32_C(0xD46AC4DA), UINT32_C(0x1059C249),
+          UINT32_C(0x2279B362), UINT32_C(0x3589D212)},
+         {UINT32_C(0x45552E92), UINT32_C(0xB28B8FAD), UINT32_C(0xC3AB8098),
+          UINT32_C(0xC9E32541), UINT32_C(0xF14B35A1), UINT32_C(0x82604904),
+          UINT32_C(0xDB68C214), UINT32_C(0x1E64A89F)}},
+        {{UINT32_C(0xAB6947AF), UINT32_C(0xDF0E223D), UINT32_C(0x771670D0),
+          UINT32_C(0xE74EF1D6), UINT32_C(0xF429F03B), UINT32_C(0x70A9AD21),
+          UINT32_C(0x1385B8DC), UINT32_C(0x7CB1FA1F)},
+         {UINT32_C(0x69053D24), UINT32_C(0x25ABC0A7), UINT32_C(0x6369D02E),
+          UINT32_C(0x207FE30A), UINT32_C(0xC6E4EC2C), UINT32_C(0x57B76E3C),
+          UINT32_C(0xB927CAB2), UINT32_C(0x2E03D2E3)}},
+        {{UINT32_C(0x622D57AE), UINT32_C(0xEFA377FF), UINT32_C(0xA885951A),
+          UINT32_C(0x41532F56), UINT32_C(0xCC69B9A8), UINT32_C(0x5ED89AA7),
+          UINT32_C(0x295F5E84), UINT32_C(0x60BFF2EC)},
+         {UINT32_C(0x1E5C3041), UINT32_C(0x411D65C3), UINT32_C(0x4B7772F8),
+          UINT32_C(0xDB533F8B), UINT32_C(0x3BDD4AEA), UINT32_C(0x72CADEB6),
+          UINT32_C(0x7C49E454), UINT32_C(0x0EC79DF2)}},
+        {{UINT32_C(0x81D0B84B), UINT32_C(0x0C39332C), UINT32_C(0x95FF472B),
+          UINT32_C(0xA76A9A3A), UINT32_C(0x31DB2BA6), UINT32_C(0xD12FEB99),
+          UINT32_C(0x3683E53A), UINT32_C(0x4AAB9222)},
+         {UINT32_C(0x24FC6271), UINT32_C(0x56CB18AF), UINT32_C(0x2544C72D),
+          UINT32_C(0x671581D6), UINT32_C(0xFBD6F4D1), UINT32_C(0xCD136492),
+          UINT32_C(0x3579EE09), UINT32_C(0x6C202318)}},
+        {{UINT32_C(0xC103C348), UINT32_C(0xEDC5AF02), UINT32_C(0x155A103D),
+          UINT32_C(0xDA32344E), UINT32_C(0xB0D1377E), UINT32_C(0xFF3A7679),
+          UINT32_C(0x68F02750), UINT32_C(0x16091972)},
+         {UINT32_C(0xD9E9C143), UINT32_C(0xD4C6360D), UINT32_C(0x968EE990),
+          UINT32_C(0xE0ABA0EF), UINT32_C(0x97E4C9AE), UINT32_C(0x57816878),
+          UINT32_C(0x9D63E32D), UINT32_C(0x5A4D167B)}},
+        {{UINT32_C(0x50E25802), UINT32_C(0xB04BA525), UINT32_C(0x66912F15),
+          UINT32_C(0x011DA36E), UINT32_C(0x19E0A182), UINT32_C(0x08D8B680),
+          UINT32_C(0x2E462B0F), UINT32_C(0x66AA4AE8)},
+         {UINT32_C(0xE0B9D283), UINT32_C(0x3227C3A6), UINT32_C(0xF2B2B096),
+          UINT32_C(0x9BF8C4D0), UINT32_C(0xBA809EB7), UINT32_C(0x1E51416C),
+          UINT32_C(0x2A67D346), UINT32_C(0x68411B75)}},
+        {{UINT32_C(0x37A67F3B), UINT32_C(0xE55B1348), UINT32_C(0x96484391),
+          UINT32_C(0x5E32D73C), UINT32_C(0x6256B91E), UINT32_C(0xC3F804D5),
+          UINT32_C(0x03B0783B), UINT32_C(0x67F17A47)},
+         {UINT32_C(0xDD2334AD), UINT32_C(0x2010EFEB), UINT32_C(0xB10FF052),
+          UINT32_C(0xBD9965B5), UINT32_C(0xF58ACA52), UINT32_C(0x519CDA6D),
+          UINT32_C(0x2FD3D394), UINT32_C(0x045BEEBE)}},
+        {{UINT32_C(0xEA271BCD), UINT32_C(0x81722E2C), UINT32_C(0x0A4F1342),
+          UINT32_C(0x393C082E), UINT32_C(0x53B345CE), UINT32_C(0x573F7CD5),
+          UINT32_C(0x3D7B4292), UINT32_C(0x7AD71FE2)},
+         {UINT32_C(0xDA8BECB8), UINT32_C(0xDA406D0A), UINT32_C(0x82FE66BC),
+          UINT32_C(0x14FD41CA), UINT32_C(0x0A91DFFC), UINT32_C(0x80A41062),
+          UINT32_C(0xF4F0CDEB), UINT32_C(0x33E38E10)}},
+        {{UINT32_C(0x2529532C), UINT32_C(0x0234BF38), UINT32_C(0xA76CAE3B),
+          UINT32_C(0x9F5D6342), UINT32_C(0xB3C50442), UINT32_C(0xC9944CB3),
+          UINT32_C(0x8ABFAF17), UINT32_C(0x51752DF0)},
+         {UINT32_C(0xA37B13FB), UINT32_C(0x2BFA58C4), UINT32_C(0xDDB14951),
+          UINT32_C(0x19F80FDE), UINT32_C(0x7DCB927B), UINT32_C(0xDC7026AA),
+          UINT32_C(0xAAB9FCBA), UINT32_C(0x57907272)}},
+        {{UINT32_C(0xF3C046C2), UINT32_C(0xCE38712D), UINT32_C(0x47B29D0E),
+          UINT32_C(0x21D1FDB0), UINT32_C(0xCD96D414), UINT32_C(0x7F746E0E),
+          UINT32_C(0x636CFEA4), UINT32_C(0x72F07B52)},
+         {UINT32_C(0xECE6382D), UINT32_C(0x0D8FE94F), UINT32_C(0x24229CA4),
+          UINT32_C(0x9BFB4CBA), UINT32_C(0xE54388B0), UINT32_C(0xFAE55B77),
+          UINT32_C(0xA188299F), UINT32_C(0x074EBC32)}},
+        {{UINT32_C(0xE21DCCA2), UINT32_C(0x8AF2EBCD), UINT32_C(0x377487F2),
+          UINT32_C(0x9916A6B6), UINT32_C(0xD8051D40), UINT32_C(0x607DC19A),
+          UINT32_C(0x419DDE12), UINT32_C(0x7DFD53F4)},
+         {UINT32_C(0x9AD07924), UINT32_C(0xD17D0D61), UINT32_C(0x173E266B),
+          UINT32_C(0x14F7CE0F), UINT32_C(0x0281C9EB), UINT32_C(0x687FB853),
+          UINT32_C(0x3361B273), UINT32_C(0x6B35CC1A)}},
+        {{UINT32_C(0x16E02DE3), UINT32_C(0x7CD6369E), UINT32_C(0x1F35DFBC),
+          UINT32_C(0x118EE0B1), UINT32_C(0x98B3EE60), UINT32_C(0x7D8C8DBD),
+          UINT32_C(0x8D29EA17), UINT32_C(0x039806FC)},
+         {UINT32_C(0xEC2C2597), UINT32_C(0x3C473872), UINT32_C(0x5E4EF521),
+          UINT32_C(0x81294AF4), UINT32_C(0xC22A9D7C), UINT32_C(0x5ED048DB),
+          UINT32_C(0x0A08C4D4), UINT32_C(0x3879E95B)}},
+        {{UINT32_C(0x96A864FE), UINT32_C(0x0206E47F), UINT32_C(0xA55D0631),
+          UINT32_C(0xC94F137A), UINT32_C(0x8E8408F8), UINT32_C(0x9C1B3D29),
+          UINT32_C(0xB9193A5E), UINT32_C(0x150A4046)},
+         {UINT32_C(0xCB1ADF21), UINT32_C(0x4E8F9345), UINT32_C(0x7BD5E1F9),
+          UINT32_C(0x6ED14D8A), UINT32_C(0x60809F68), UINT32_C(0x70825329),
+          UINT32_C(0xFA85A06C), UINT32_C(0x0D2F1C3B)}},
+    },
+    {
+        {{UINT32_C(0xB5C810C3), UINT32_C(0x3C5ABE75), UINT32_C(0xE28F1E26),
+          UINT32_C(0xEA2C3EF9), UINT32_C(0x8BF68280), UINT32_C(0xEEB1C568),
+          UINT32_C(0x7AE69110), UINT32_C(0x5A165CEB)},
+         {UINT32_C(0x44550DF1), UINT32_C(0xE36C6460), UINT32_C(0xDB909258),
+          UINT32_C(0x6FB4B108), UINT32_C(0x17D4D8C5), UINT32_C(0xBFA14277),
+          UINT32_C(0x927976D8), UINT32_C(0x744CAF23)}},
+        {{UINT32_C(0x47EA55C7), UINT32_C(0xCBE70DF9), UINT32_C(0x535457AE),
+          UINT32_C(0x8F8119AE), UINT32_C(0x7DAFD732), UINT32_C(0x1E3C69EC),
+          UINT32_C(0x39D409A2), UINT32_C(0x1A2E162D)},
+         {UINT32_C(0x5F81C227), UINT32_C(0xBD7576A1), UINT32_C(0xC86AC2C3),
+          UINT32_C(0xA040AF9E), UINT32_C(0xC10FC749), UINT32_C(0x5690C059),
+          UINT32_C(0x49CFAEC6), UINT32_C(0x20B26E88)}},
+        {{UINT32_C(0xE3EF781E), UINT32_C(0x87AEBD1E), UINT32_C(0x1609A1F0),
+          UINT32_C(0xBC794A62), UINT32_C(0x26E7F61B), UINT32_C(0x96D83142),
+          UINT32_C(0xFC51D17D), UINT32_C(0x5198577F)},
+         {UINT32_C(0x8E6D0124), UINT32_C(0xBFB5FAE2), UINT32_C(0xFFD5BD72),
+          UINT32_C(0x91A7172B), UINT32_C(0x02832847), UINT32_C(0x474B0154),
+          UINT32_C(0x59827FEB), UINT32_C(0x4BAF0B4C)}},
+        {{UINT32_C(0xBA090294), UINT32_C(0x5EADAA8E), UINT32_C(0x11A6E9FA),
+          UINT32_C(0x51401BC9), UINT32_C(0x1D2594CD), UINT32_C(0x78F11758),
+          UINT32_C(0x82D203C2), UINT32_C(0x1811AD30)},
+         {UINT32_C(0x53FD07CC), UINT32_C(0x554CC39A), UINT32_C(0xC7A05601),
+          UINT32_C(0x055FC983), UINT32_C(0xD5A80B4B), UINT32_C(0xB3B34E95),
+          UINT32_C(0x1819BC16), UINT32_C(0x72B4CF94)}},
+        {{UINT32_C(0x514FAFD0), UINT32_C(0x0750E4F0), UINT32_C(0xAD61C7B1),
+          UINT32_C(0x297D27E6), UINT32_C(0xA2D5D410), UINT32_C(0x701D743F),
+          UINT32_C(0xC83B55C9), UINT32_C(0x535DD97B)},
+         {UINT32_C(0x1CB11BB0), UINT32_C(0x2EE96DDE), UINT32_C(0x0914450F),
+          UINT32_C(0xECEA32EA), UINT32_C(0x4CDBDA6A), UINT32_C(0x4FB81236),
+          UINT32_C(0x233C8063), UINT32_C(0x5B75B6B2)}},
+        {{UINT32_C(0xD69D6C6A), UINT32_C(0xF0A934A6), UINT32_C(0x3CC80AC9),
+          UINT32_C(0x313E8977), UINT32_C(0x1E428B71), UINT32_C(0x74692B17),
+          UINT32_C(0xE1BE662D), UINT32_C(0x0474FEFC)},
+         {UINT32_C(0xAFFBF61B), UINT32_C(0xAA2FF6DB), UINT32_C(0x776983AF),
+          UINT32_C(0xCE1594E1), UINT32_C(0x4D5A2596), UINT32_C(0xF00C665B),
+          UINT32_C(0x7D414B9A), UINT32_C(0x30DD2449)}},
+        {{UINT32_C(0xACC44AB3), UINT32_C(0xEF862DA2), UINT32_C(0x6EE7A44A),
+          UINT32_C(0xBAD6857F), UINT32_C(0xD2F9027E), UINT32_C(0x57674BF9),
+          UINT32_C(0x2ABF816E), UINT32_C(0x4D771CC3)},
+         {UINT32_C(0xAC0F1348), UINT32_C(0x27BEFC18), UINT32_C(0x5E4F1202),
+          UINT32_C(0xD83112EF), UINT32_C(0x8E9AAAE5), UINT32_C(0x3571BDE3),
+          UINT32_C(0xC1379B13), UINT32_C(0x07284830)}},
+        {{UINT32_C(0x72A8890C), UINT32_C(0xA4C2F36F), UINT32_C(0x5824B392),
+          UINT32_C(0x22DF0E81), UINT32_C(0x5E720240), UINT32_C(0x50FAD77F),
+          UINT32_C(0x03278F96), UINT32_C(0x1D152A69)},
+         {UINT32_C(0xA7D80F17), UINT32_C(0x25A3E92E), UINT32_C(0x7EF32666),
+          UINT32_C(0xBBF85B32), UINT32_C(0x27222E52), UINT32_C(0xBBB55687),
+          UINT32_C(0x7582FE42), UINT32_C(0x756D22A6)}},
+        {{UINT32_C(0x9BC9EAED), UINT32_C(0x0AE7493A), UINT32_C(0x0DDBB275),
+          UINT32_C(0x9185F53F), UINT32_C(0xC3DFDBA7), UINT32_C(0x1585D068),
+          UINT32_C(0x562E2455), UINT32_C(0x543208A1)},
+         {UINT32_C(0xCBCF9535), UINT32_C(0x4C417D81), UINT32_C(0xE35DD6ED),
+          UINT32_C(0xD2DC38D3), UINT32_C(0x346F03A4), UINT32_C(0x9DF1E014),
+          UINT32_C(0xF0E772A6), UINT32_C(0x65736E3F)}},
+        {{UINT32_C(0xCFB7FF06), UINT32_C(0x58684A7B), UINT32_C(0xC58E6316),
+          UINT32_C(0x72CC4AFE), UINT32_C(0xA8BB508A), UINT32_C(0x2CA9BF30),
+          UINT32_C(0xE2044C8C), UINT32_C(0x61576519)},
+         {UINT32_C(0x8FF6D2B5), UINT32_C(0xE78FAD3D), UINT32_C(0xA934C7B2),
+          UINT32_C(0x6E5B839F), UINT32_C(0xFAFA9F9B), UINT32_C(0xC1F3D367),
+          UINT32_C(0xF8B2AFA4), UINT32_C(0x637CC398)}},
+        {{UINT32_C(0xFE2B2639), UINT32_C(0xD6FC1806), UINT32_C(0x9E98A7F2),
+          UINT32_C(0x1DB199B4), UINT32_C(0xC794F900), UINT32_C(0x0508763D),
+          UINT32_C(0x3232E5AC), UINT32_C(0x363F1F7D)},
+         {UINT32_C(0xBBDBB351), UINT32_C(0xDCF2AD74), UINT32_C(0x5A506BC6),
+          UINT32_C(0x91F2EAF1), UINT32_C(0xB850088B), UINT32_C(0xBDE8459E),
+          UINT32_C(0x3E1135AF), UINT32_C(0x52DF883B)}},
+        {{UINT32_C(0xF93779DC), UINT32_C(0x12FD053A), UINT32_C(0x9E319E46),
+          UINT32_C(0x3E3D8728), UINT32_C(0xE5E360AE), UINT32_C(0x4D631005),
+          UINT32_C(0xB1B29A30), UINT32_C(0x4A8B5683)},
+         {UINT32_C(0xA8CA45EF), UINT32_C(0x305E5E53), UINT32_C(0xC2914843),
+          UINT32_C(0x59EACB45), UINT32_C(0x1988ECEA), UINT32_C(0x83677B7A),
+          UINT32_C(0xD6FD53E8), UINT32_C(0x63D9CD36)}},
+        {{UINT32_C(0xB77EB45F), UINT32_C(0xDF2DACF2), UINT32_C(0x55BBA70E),
+          UINT32_C(0x3C1303E3), UINT32_C(0x4526A06C), UINT32_C(0x5AB8EB42),
+          UINT32_C(0x7FE06BBC), UINT32_C(0x4D4FD216)},
+         {UINT32_C(0xE1486ABC), UINT32_C(0x98C5ADCF), UINT32_C(0x07F86F3A),
+          UINT32_C(0x9A503BFF), UINT32_C(0x56282E44), UINT32_C(0x7CEBAECB),
+          UINT32_C(0x1F230DA0), UINT32_C(0x4FB09037)}},
+        {{UINT32_C(0x27210752), UINT32_C(0xD1A37384), UINT32_C(0x02CF1C74),
+          UINT32_C(0xD10794D6), UINT32_C(0x820CC08C), UINT32_C(0x48A2095A),
+          UINT32_C(0xE3284B9D), UINT32_C(0x6DCDDE2E)},
+         {UINT32_C(0x5D40510D), UINT32_C(0xB8C7203E), UINT32_C(0x5385E3A7),
+          UINT32_C(0x957E8982), UINT32_C(0xE27D7C13), UINT32_C(0xD220BE2F),
+          UINT32_C(0x7B471B5B), UINT32_C(0x2D104AC5)}},
+        {{UINT32_C(0xBA0AFA8D), UINT32_C(0x3B31D52B), UINT32_C(0xDCC85F88),
+          UINT32_C(0xFA9639F5), UINT32_C(0x8861DDD7), UINT32_C(0x15014637),
+          UINT32_C(0x7B5443B0), UINT32_C(0x31C222DB)},
+         {UINT32_C(0xC3CDD689), UINT32_C(0xE2618546), UINT32_C(0xD528A130),
+          UINT32_C(0x7F3FB754), UINT32_C(0xAC5FAF99), UINT32_C(0xA0915810),
+          UINT32_C(0xE9899CE5), UINT32_C(0x3863B890)}},
+        {{UINT32_C(0x579C4353), UINT32_C(0xBDD42CA3), UINT32_C(0x4D65CB5B),
+          UINT32_C(0xAD30567D), UINT32_C(0x6D91810B), UINT32_C(0x0E343F21),
+          UINT32_C(0x42E19816), UINT32_C(0x65E0092D)},
+         {UINT32_C(0xF84E8C8E), UINT32_C(0x76154DCC), UINT32_C(0x0BA4AE59),
+          UINT32_C(0xBA147CA8), UINT32_C(0x56A1A71E), UINT32_C(0xCA8085E7),
+          UINT32_C(0x1A158536), UINT32_C(0x1D90B4B0)}},
+    },
+    {
+        {{UINT32_C(0xF8B6C26A), UINT32_C(0x5C4B7438), UINT32_C(0x645BBE80),
+          UINT32_C(0x0C17A41B), UINT32_C(0x40CF3D85), UINT32_C(0xA386062D),
+          UINT32_C(0xE78F776D), UINT32_C(0x563E42D2)},
+         {UINT32_C(0x1F07459B), UINT32_C(0x4BB8E356), UINT32_C(0x75D222CD),
+          UINT32_C(0xF01A24B7), UINT32_C(0x24CF3F61), UINT32_C(0xBE3D032B),
+          UINT32_C(0x0AD5F3A3), UINT32_C(0x759B0167)}},
+        {{UINT32_C(0x7D201AAB), UINT32_C(0x2F5AEBD1), UINT32_C(0xC0AE02AD),
+          UINT32_C(0x7B14CBEE), UINT32_C(0xEDC6388B), UINT32_C(0xB9B54430),
+          UINT32_C(0xB622E01F), UINT32_C(0x69E713FB)},
+         {UINT32_C(0xC5361565), UINT32_C(0x4630EE8E), UINT32_C(0x5C8FB479),
+          UINT32_C(0x6705961E), UINT32_C(0x07C2AA45), UINT32_C(0x125CC97E),
+          UINT32_C(0x25AE3B12), UINT32_C(0x4BC459F4)}},
+        {{UINT32_C(0x28CF94E4), UINT32_C(0xEF025496), UINT32_C(0x9DB24DE6),
+          UINT32_C(0x04CFAB25), UINT32_C(0xC62254EF), UINT32_C(0x52B8C734),
+          UINT32_C(0x568AB164), UINT32_C(0x0F2FE922)},
+         {UINT32_C(0xE3F39B40), UINT32_C(0x48551A05), UINT32_C(0x31A7C7F6),
+          UINT32_C(0x4A36865F), UINT32_C(0x840441AE), UINT32_C(0x4486512C),
+          UINT32_C(0x8C7C4B4D), UINT32_C(0x559C6CAF)}},
+        {{UINT32_C(0x0F103030), UINT32_C(0xFCC0D1DA), UINT32_C(0x39CD584E),
+          UINT32_C(0x7A9F1D55), UINT32_C(0x681D0D37), UINT32_C(0x3EFB9B94),
+          UINT32_C(0x4D842332), UINT32_C(0x3AE97CCD)},
+         {UINT32_C(0x3C03676B), UINT32_C(0x85A8ECE1), UINT32_C(0x3AD435A1),
+          UINT32_C(0x030F8775), UINT32_C(0x7F2D73B5), UINT32_C(0xF6019B4D),
+          UINT32_C(0x2F14F911), UINT32_C(0x6B77E31A)}},
+        {{UINT32_C(0x9186C671), UINT32_C(0x65C8161B), UINT32_C(0xCDFF2F8C),
+          UINT32_C(0x412C3CC7), UINT32_C(0x2C2FEA33), UINT32_C(0xBFFC1719),
+          UINT32_C(0xC3675845), UINT32_C(0x75DCF68B)},
+         {UINT32_C(0x3B23D576), UINT32_C(0x0476AFBF), UINT32_C(0x19315F79),
+          UINT32_C(0xB20CAEE2), UINT32_C(0x0885471A), UINT32_C(0x1BC2A859),
+          UINT32_C(0xC328279C), UINT32_C(0x410FF6CF)}},
+        {{UINT32_C(0x60569D94), UINT32_C(0x327394D9), UINT32_C(0x6EA39D95),
+          UINT32_C(0xFF2AEB6A), UINT32_C(0xEA0CA3AE), UINT32_C(0x1BED71E8),
+          UINT32_C(0x21072A94), UINT32_C(0x1000A81E)},
+         {UINT32_C(0x73C02416), UINT32_C(0x368EA229), UINT32_C(0x0A4941BC),
+          UINT32_C(0xDF5B2A42), UINT32_C(0xD0D40B3A), UINT32_C(0x4FFDC7B8),
+          UINT32_C(0x48ABAB4E), UINT32_C(0x7B2C73F1)}},
+        {{UINT32_C(0x81EE1072), UINT32_C(0x90FE34E4), UINT32_C(0x310E13D8),
+          UINT32_C(0xAE7A2FF4), UINT32_C(0xCAB3927C), UINT32_C(0x6213D3B1),
+          UINT32_C(0x7DC7E9EF), UINT32_C(0x44936FBD)},
+         {UINT32_C(0x23A1BDBE), UINT32_C(0x3B898EF3), UINT32_C(0x54CC7B1D),
+          UINT32_C(0x3FA6C6A0), UINT32_C(0xC6AC54F2), UINT32_C(0x41BCC3B5),
+          UINT32_C(0xDC10AE39), UINT32_C(0x1AB5D168)}},
+        {{UINT32_C(0xFEAF67A6), UINT32_C(0x1AED113C), UINT32_C(0x342AC459),
+          UINT32_C(0x04E3C7A1), UINT32_C(0x7A99DFBC), UINT32_C(0x65A39278),
+          UINT32_C(0x642329FF), UINT32_C(0x03ECBC6B)},
+         {UINT32_C(0xA6A4421A), UINT32_C(0x799F4EC5), UINT32_C(0xBEE18B3C),
+          UINT32_C(0x44522C26), UINT32_C(0x1975C4BB), UINT32_C(0x1C7BFF15),
+          UINT32_C(0xE6A27857), UINT32_C(0x0FAA03BE)}},
+        {{UINT32_C(0x0743FF7B), UINT32_C(0x173AB9E0), UINT32_C(0x2CFC95AE),
+          UINT32_C(0xB11187AE), UINT32_C(0x9C112049), UINT32_C(0xCA81BB2E),
+          UINT32_C(0xC03555D5), UINT32_C(0x6B811DB6)},
+         {UINT32_C(0x4FE32256), UINT32_C(0x76C1FC14), UINT32_C(0xD0E47C4E),
+          UINT32_C(0xDA8C5A96), UINT32_C(0x29FDB01C), UINT32_C(0xB645D413),
+          UINT32_C(0xAC39502A), UINT32_C(0x78898447)}},
+        {{UINT32_C(0x9BF44B35), UINT32_C(0x4285FF32), UINT32_C(0xE3358C7F),
+          UINT32_C(0x207F9029), UINT32_C(0x63BAF4CE), UINT32_C(0x0FE8F032),
+          UINT32_C(0xFF15E1F7), UINT32_C(0x698A0398)},
+         {UINT32_C(0x7E572DF6), UINT32_C(0x54874843), UINT32_C(0x9F43C07B),
+          UINT32_C(0x74683519), UINT32_C(0x0A433D6A), UINT32_C(0x47BAB49E),
+          UINT32_C(0xFAB5C858), UINT32_C(0x09ED8740)}},
+        {{UINT32_C(0x1F6CA820), UINT32_C(0x8AA5E5C9), UINT32_C(0xD3C25BEC),
+          UINT32_C(0xAD290A94), UINT32_C(0x3BA255F0), UINT32_C(0xDC4C67BF),
+          UINT32_C(0x1DEDD8A9), UINT32_C(0x0D7EF7D9)},
+         {UINT32_C(0x5EEFD1C3), UINT32_C(0x0831A26F), UINT32_C(0x04483E0C),
+          UINT32_C(0x78CA66F5), UINT32_C(0x2FAAC15A), UINT32_C(0x9D5A5612),
+          UINT32_C(0x5D6FACDB), UINT32_C(0x43B0C7E7)}},
+        {{UINT32_C(0x4503899D), UINT32_C(0x34BA537C), UINT32_C(0x2AF8ED3B),
+          UINT32_C(0x9DEBC8F5), UINT32_C(0x84F416E6), UINT32_C(0x396995E9),
+          UINT32_C(0xC7BCE392), UINT32_C(0x77F10FED)},
+         {UINT32_C(0x1F8AF262), UINT32_C(0x065CCB72), UINT32_C(0xD2F00FC4),
+          UINT32_C(0xE220ED60), UINT32_C(0x5EE25B46), UINT32_C(0x41A5FB06),
+          UINT32_C(0xDD9070B1), UINT32_C(0x22505574)}},
+        {{UINT32_C(0x44BFC5C0), UINT32_C(0x571FF151), UINT32_C(0x3138363C),
+          UINT32_C(0xBE2558B8), UINT32_C(0x605E356C), UINT32_C(0xB2211ABD),
+          UINT32_C(0x176C5F53), UINT32_C(0x0B6435DA)},
+         {UINT32_C(0x8DCF484E), UINT32_C(0xF18C917C), UINT32_C(0xCD93D65F),
+          UINT32_C(0x45D4120C), UINT32_C(0x190AE7F8), UINT32_C(0xEBB0BF9C),
+          UINT32_C(0x8D8C8D5A), UINT32_C(0x3D403DE2)}},
+        {{UINT32_C(0xBE656644), UINT32_C(0xCDE760B4), UINT32_C(0x2D21DBC5),
+          UINT32_C(0x99DC5E6D), UINT32_C(0xB6232D08), UINT32_C(0x644FCAF3),
+          UINT32_C(0x859341E3), UINT32_C(0x52955488)},
+         {UINT32_C(0x25763919), UINT32_C(0x3AB4580D), UINT32_C(0x4EF66999),
+          UINT32_C(0x82AB0C53), UINT32_C(0x0180663E), UINT32_C(0xBD395C74),
+          UINT32_C(0xB4756474), UINT32_C(0x07974F1A)}},
+        {{UINT32_C(0x31588EA6), UINT32_C(0x8C15CFE7), UINT32_C(0xF36C882D),
+          UINT32_C(0x9629060E), UINT32_C(0x862B080D), UINT32_C(0xDF8E8E9E),
+          UINT32_C(0xD7A0C5BE), UINT32_C(0x0BD36B48)},
+         {UINT32_C(0x76DA047B), UINT32_C(0xEBD0C6C9), UINT32_C(0xBB94FD5A),
+          UINT32_C(0x4F0F08AB), UINT32_C(0x74910D9F), UINT32_C(0x33D41A4E),
+          UINT32_C(0xA9583754), UINT32_C(0x3D6F8D0B)}},
+        {{UINT32_C(0x4E4FC72E), UINT32_C(0xEC4C896E), UINT32_C(0x002ECE31),
+          UINT32_C(0xB111210C), UINT32_C(0x2AF11E21), UINT32_C(0x7204D937),
+          UINT32_C(0x5D0509E9), UINT32_C(0x59B9C1EC)},
+         {UINT32_C(0xF9D5BBC0), UINT32_C(0xBC97644C), UINT32_C(0x31B4E869),
+          UINT32_C(0x25B123AF), UINT32_C(0x5A6CAAB0), UINT32_C(0x091D7AEC),
+          UINT32_C(0xECC911C4), UINT32_C(0x340B9E80)}},
+    },
+    {
+        {{UINT32_C(0xEC208406), UINT32_C(0xE8036B20), UINT32_C(0x214CEB5A),
+          UINT32_C(0xAF46A05A), UINT32_C(0x46CC8379), UINT32_C(0x8672084A),
+          UINT32_C(0x04BA7885), UINT32_C(0x7DE0A42F)},
+         {UINT32_C(0xC9D3F32A), UINT32_C(0xB772BEDC), UINT32_C(0x534B1520),
+          UINT32_C(0x7DAE3680), UINT32_C(0xEC7120CC), UINT32_C(0x04CD6203),
+          UINT32_C(0xB4E99780), UINT32_C(0x032F88E3)}},
+        {{UINT32_C(0xE4A0897E), UINT32_C(0xB34BDA5C), UINT32_C(0x379B2480),
+          UINT32_C(0xF7748B26), UINT32_C(0xB2D97522), UINT32_C(0xF47F6646),
+          UINT32_C(0xF9641DB9), UINT32_C(0x66AD8DE1)},
+         {UINT32_C(0xD1BF09C0), UINT32_C(0x0F8EB919), UINT32_C(0xB95DC052),
+          UINT32_C(0x7853BB4E), UINT32_C(0x62B1FD4A), UINT32_C(0xBE7EE13D),
+          UINT32_C(0xDC7CE53E), UINT32_C(0x2FF7EDC5)}},
+        {{UINT32_C(0xEE81DF35), UINT32_C(0xE1009AA0), UINT32_C(0x61D0798B),
+          UINT32_C(0x14972F02), UINT32_C(0xF1EA1A6A), UINT32_C(0x5A6831A0),
+          UINT32_C(0x0CAB301A), UINT32_C(0x1DBABA3D)},
+         {UINT32_C(0x157D5213), UINT32_C(0x421270E2), UINT32_C(0x6407B790),
+          UINT32_C(0xA37BEA95), UINT32_C(0x103A6073), UINT32_C(0xEAD56B1F),
+          UINT32_C(0xBAD909F1), UINT32_C(0x27534624)}},
+        {{UINT32_C(0xC2621EF1), UINT32_C(0xC92D2209), UINT32_C(0x1D3AD3F3),
+          UINT32_C(0x450710C3), UINT32_C(0x19E481AD), UINT32_C(0x8CFB8D6C),
+          UINT32_C(0xE6DB01BD), UINT32_C(0x35CACDAE)},
+         {UINT32_C(0x7CDD5B01), UINT32_C(0x2DA4A1D8), UINT32_C(0x0F55BA11),
+          UINT32_C(0x3E40C751), UINT32_C(0xB15C162D), UINT32_C(0xA91D9EE7),
+          UINT32_C(0x11DBA157), UINT32_C(0x13AD3BE5)}},
+        {{UINT32_C(0xE72F64F5), UINT32_C(0xAE417DB0), UINT32_C(0xF13352BA),
+          UINT32_C(0x40822279), UINT32_C(0x1F2B75B9), UINT32_C(0xEC43AFD9),
+          UINT32_C(0xC9CF2972), UINT32_C(0x14D4BB2B)},
+         {UINT32_C(0x0761B2F1), UINT32_C(0x4A55718A), UINT32_C(0xD81A9307),
+          UINT32_C(0xDAFBF756), UINT32_C(0x5D3E5A07), UINT32_C(0x2DCDFC1C),
+          UINT32_C(0x2EBBDF28), UINT32_C(0x696E42ED)}},
+        {{UINT32_C(0x68705410), UINT32_C(0xF4739399), UINT32_C(0xAF5FFC88),
+          UINT32_C(0xFD581005), UINT32_C(0x90A9F517), UINT32_C(0x5490A694),
+          UINT32_C(0x8CF8327E), UINT32_C(0x4A5C8C2E)},
+         {UINT32_C(0xF7D83DA6), UINT32_C(0xC203CD35), UINT32_C(0x7282368D),
+          UINT32_C(0xECAA6B90), UINT32_C(0x2AF7EC42), UINT32_C(0x365BB571),
+          UINT32_C(0xD4099316), UINT32_C(0x112E7ACD)}},
+        {{UINT32_C(0x3AE3C25C), UINT32_C(0x9ABDE060), UINT32_C(0xEB9925B2),
+          UINT32_C(0xE4C03DAD), UINT32_C(0x9E03388B), UINT32_C(0x3C28DCB1),
+          UINT32_C(0x52B63C06), UINT32_C(0x2337A7CF)},
+         {UINT32_C(0x4E1AF2EA), UINT32_C(0x74DC0F13), UINT32_C(0xCD0D59AA),
+          UINT32_C(0xA010E4E3), UINT32_C(0x9FA14C96), UINT32_C(0x6E4DB7BA),
+          UINT32_C(0x557F7CDE), UINT32_C(0x5B2C3862)}},
+        {{UINT32_C(0xC8C79CA9), UINT32_C(0xC826E567), UINT32_C(0xE851BE0C),
+          UINT32_C(0xE7D110CA), UINT32_C(0xA3606499), UINT32_C(0xFFD57057),
+          UINT32_C(0xC6482504), UINT32_C(0x2E9DBC40)},
+         {UINT32_C(0xF784D9AF), UINT32_C(0xC9F0C3C2), UINT32_C(0xB755172E),
+          UINT32_C(0xDD982A05), UINT32_C(0xA023997F), UINT32_C(0x6BC6C19D),
+          UINT32_C(0xE34493C6), UINT32_C(0x4AC177BE)}},
+        {{UINT32_C(0x4FA4F134), UINT32_C(0x21C3E087), UINT32_C(0x86F9722F),
+          UINT32_C(0x66E10C34), UINT32_C(0x7398579A), UINT32_C(0xD2927B01),
+          UINT32_C(0x0352C3D3), UINT32_C(0x7135B638)},
+         {UINT32_C(0x3BB5EE11), UINT32_C(0x2DA62007), UINT32_C(0x3A946236),
+          UINT32_C(0x8B64F13C), UINT32_C(0x30EAE6DF), UINT32_C(0x3A83C854),
+          UINT32_C(0x0EB6F749), UINT32_C(0x31114E2A)}},
+        {{UINT32_C(0x35BFC72B), UINT32_C(0x2C7B52E7), UINT32_C(0x2B0D4C2C),
+          UINT32_C(0x6DD29EBD), UINT32_C(0x6C92E82D), UINT32_C(0xE90D3988),
+          UINT32_C(0x3864D94D), UINT32_C(0x0A924901)},
+         {UINT32_C(0x9BEE9E78), UINT32_C(0x63050824), UINT32_C(0x003DD5CF),
+          UINT32_C(0x7929FD62), UINT32_C(0xE57507D1), UINT32_C(0xD04F832C),
+          UINT32_C(0x37D2C32E), UINT32_C(0x61078BDC)}},
+        {{UINT32_C(0x2E75264A), UINT32_C(0xB118AFDD), UINT32_C(0xEFD65114),
+          UINT32_C(0x3AB692EA), UINT32_C(0x8B0A2128), UINT32_C(0x58D2CE24),
+          UINT32_C(0x82ED6D5F), UINT32_C(0x4316E6C2)},
+         {UINT32_C(0x46345BE4), UINT32_C(0x97766FFF), UINT32_C(0x0A7451AA),
+          UINT32_C(0xD7FF3014), UINT32_C(0xAACE2E37), UINT32_C(0x078A423F),
+          UINT32_C(0xA6A78919), UINT32_C(0x7F1F90C2)}},
+        {{UINT32_C(0x8E9E3D4D), UINT32_C(0x988FCCB0), UINT32_C(0xB95C9731),
+          UINT32_C(0xBD003FC0), UINT32_C(0xB0A84E58), UINT32_C(0x74E40076),
+          UINT32_C(0x1DF7FDD0), UINT32_C(0x5FD1DBE6)},
+         {UINT32_C(0x4E6CE2FA), UINT32_C(0xD2C700C7), UINT32_C(0x903C5AE7),
+          UINT32_C(0xA6E042E2), UINT32_C(0x3C73822E), UINT32_C(0x561CC25F),
+          UINT32_C(0x2A6A0C0C), UINT32_C(0x651A7939)}},
+        {{UINT32_C(0x88CD7642), UINT32_C(0x103E9EC6), UINT32_C(0x3C3C86CE),
+          UINT32_C(0x65ED5218), UINT32_C(0x82785C8B), UINT32_C(0x16BAB002),
+          UINT32_C(0xF34723C5), UINT32_C(0x0B5C18BB)},
+         {UINT32_C(0xE724D144), UINT32_C(0x528B0546), UINT32_C(0x780EEF9E),
+          UINT32_C(0x5E582A6B), UINT32_C(0x122F17AD), UINT32_C(0xC08283B8),
+          UINT32_C(0x1C22F32D), UINT32_C(0x0300EDCD)}},
+        {{UINT32_C(0x38DCFD39), UINT32_C(0x03AC716A), UINT32_C(0x94F12C74),
+          UINT32_C(0xCD88474C), UINT32_C(0xE9042CA8), UINT32_C(0xB5E8641E),
+          UINT32_C(0x40D10558), UINT32_C(0x1D5746CC)},
+         {UINT32_C(0xCB4BB408), UINT32_C(0x7869F45E), UINT32_C(0x569489C3),
+          UINT32_C(0x28FB091D), UINT32_C(0x50A46306), UINT32_C(0xEA371EEC),
+          UINT32_C(0x75AA224C), UINT32_C(0x28025796)}},
+        {{UINT32_C(0xF7A5923A), UINT32_C(0x4EAFA44E), UINT32_C(0x6B69FD8B),
+          UINT32_C(0xD2427C30), UINT32_C(0x393D83F9), UINT32_C(0x4C4E884A),
+          UINT32_C(0x6236AB65), UINT32_C(0x2D34890A)},
+         {UINT32_C(0x35CC97F5), UINT32_C(0x80038D40), UINT32_C(0x97897472),
+          UINT32_C(0x4FE43C84), UINT32_C(0xBEF161AF), UINT32_C(0xE5F56243),
+          UINT32_C(0x9372E631), UINT32_C(0x3E1BDD6F)}},
+        {{UINT32_C(0x5732669F), UINT32_C(0x06A2B287), UINT32_C(0xCDF4D2C0),
+          UINT32_C(0x92D00397), UINT32_C(0x454A57F5), UINT32_C(0xCD9A25F0),
+          UINT32_C(0x2F0CDB0B), UINT32_C(0x23ADB724)},
+         {UINT32_C(0xFF0F8CB0), UINT32_C(0x504DA603), UINT32_C(0xD3E24181),
+          UINT32_C(0x14EF9D30), UINT32_C(0x47FC1E66), UINT32_C(0xB1B1328E),
+          UINT32_C(0x6C60354D), UINT32_C(0x319B2A84)}},
+    },
+    {
+        {{UINT32_C(0xF1D56038), UINT32_C(0xBBF5542E), UINT32_C(0xDD71CFC3),
+          UINT32_C(0xEDE3E637), UINT32_C(0x2E9F6C8B), UINT32_C(0xFAA81D21),
+          UINT32_C(0x69FBD060), UINT32_C(0x4DD2D44B)},
+         {UINT32_C(0x14366A20), UINT32_C(0x71FB6233), UINT32_C(0x9575451D),
+          UINT32_C(0x155E486F), UINT32_C(0xEC7807D9), UINT32_C(0x001106F0),
+          UINT32_C(0xC617034C), UINT32_C(0x1C80E5AB)}},
+        {{UINT32_C(0x8619F5F4), UINT32_C(0xD3E478DB), UINT32_C(0xF68170C2),
+          UINT32_C(0x1DF5C367), UINT32_C(0x3430DE1D), UINT32_C(0xEAB09524),
+          UINT32_C(0xC3CD4C24), UINT32_C(0x48F09361)},
+         {UINT32_C(0x60644FED), UINT32_C(0xE49DEA4B), UINT32_C(0x758C3679),
+          UINT32_C(0x47170F1C), UINT32_C(0xB0382A84), UINT32_C(0x4CC1E6E8),
+          UINT32_C(0x10A4465E), UINT32_C(0x2DBDB9DA)}},
+        {{UINT32_C(0xC8400A4C), UINT32_C(0x67BAA79A), UINT32_C(0x01D28ECE),
+          UINT32_C(0xFA306753), UINT32_C(0x6F33289C), UINT32_C(0x29DB5B1C),
+          UINT32_C(0x26A8FCB4), UINT32_C(0x44757573)},
+         {UINT32_C(0xE1B0A795), UINT32_C(0x59616219), UINT32_C(0xC5B32FA0),
+          UINT32_C(0x3032D939), UINT32_C(0x7C3CEA2C), UINT32_C(0x3010C917),
+          UINT32_C(0x9892BDF4), UINT32_C(0x5CF83EF1)}},
+        {{UINT32_C(0x3C7E83E6), UINT32_C(0x55DE1141), UINT32_C(0x74EA0366),
+          UINT32_C(0x9D03929C), UINT32_C(0x83BAF3FE), UINT32_C(0x5CA60C50),
+          UINT32_C(0x7F70E905), UINT32_C(0x3D9BCA58)},
+         {UINT32_C(0xFCC5AB59), UINT32_C(0xDB79DF5A), UINT32_C(0x53F68D30),
+          UINT32_C(0x03CFCF06), UINT32_C(0x4FCFA5F1), UINT32_C(0xBE101A78),
+          UINT32_C(0xB49E493C), UINT32_C(0x115D7078)}},
+        {{UINT32_C(0x76A0CCBD), UINT32_C(0xF14023AA), UINT32_C(0x086F2E50),
+          UINT32_C(0x4287F0BC), UINT32_C(0xF79A37E7), UINT32_C(0xC5EAA559),
+          UINT32_C(0x04E4F2A2), UINT32_C(0x5D527C09)},
+         {UINT32_C(0x51DAA504), UINT32_C(0xEC914616), UINT32_C(0xEEF1DC95),
+          UINT32_C(0x250D90C6), UINT32_C(0xA50330B2), UINT32_C(0x1B0AA868),
+          UINT32_C(0x54189BBE), UINT32_C(0x7B45A783)}},
+        {{UINT32_C(0xF019D6FF), UINT32_C(0x0D602E05), UINT32_C(0xDD1800BA),
+          UINT32_C(0x563E3893), UINT32_C(0xF3C7F7E5), UINT32_C(0x7146727E),
+          UINT32_C(0x4B026635), UINT32_C(0x59641D98)},
+         {UINT32_C(0xE91DDBB8), UINT32_C(0x50BCF90F), UINT32_C(0x7F8397A6),
+          UINT32_C(0x5D43E78E), UINT32_C(0xEB15896E), UINT32_C(0x8734A261),
+          UINT32_C(0x9FF6B361), UINT32_C(0x4AD1E864)}},
+        {{UINT32_C(0x320322F1), UINT32_C(0x1A9B601F), UINT32_C(0x91F611C4),
+          UINT32_C(0x606D40B3), UINT32_C(0xA19C918F), UINT32_C(0xB984958B),
+          UINT32_C(0x776F834E), UINT32_C(0x67BFB045)},
+         {UINT32_C(0x68DD85F0), UINT32_C(0xC59E5569), UINT32_C(0xD4067875),
+          UINT32_C(0xB5642834), UINT32_C(0xCB138DF3), UINT32_C(0x247E7D65),
+          UINT32_C(0x5CB9281D), UINT32_C(0x73640A03)}},
+        {{UINT32_C(0x88639889), UINT32_C(0xC7C34CCC), UINT32_C(0xA785C707),
+          UINT32_C(0xD9E44E07), UINT32_C(0x32F83073), UINT32_C(0x1BE68EFE),
+          UINT32_C(0xAE5317CE), UINT32_C(0x249902DA)},
+         {UINT32_C(0x76CA92FF), UINT32_C(0xF1F0B86A), UINT32_C(0xC01CB06B),
+          UINT32_C(0xA7F502CF), UINT32_C(0x595AA185), UINT32_C(0x0A8B4766),
+          UINT32_C(0xB792DE49), UINT32_C(0x614135AA)}},
+        {{UINT32_C(0x564F2BC8), UINT32_C(0x5392CAA7), UINT32_C(0xCC894FCD),
+          UINT32_C(0x1CDDA684), UINT32_C(0xA4EBF82F), UINT32_C(0x10AC2378),
+          UINT32_C(0x5051BFF9), UINT32_C(0x6211EA46)},
+         {UINT32_C(0x30E8E210), UINT32_C(0xE53B0174), UINT32_C(0x02C0E381),
+          UINT32_C(0x2374FEC3), UINT32_C(0x4DA07224), UINT32_C(0xF8B1506B),
+          UINT32_C(0x54DA7A08), UINT32_C(0x4E451E01)}},
+        {{UINT32_C(0x241FC7FB), UINT32_C(0xA8404D9C), UINT32_C(0xC4406332),
+          UINT32_C(0x1D6DBF6E), UINT32_C(0x30162118), UINT32_C(0xFE142319),
+          UINT32_C(0xA7EF5EF5), UINT32_C(0x69DE75CC)},
+         {UINT32_C(0x856E26A5), UINT32_C(0x008D4D09), UINT32_C(0xC588ECF6),
+          UINT32_C(0x2BC64B65), UINT32_C(0xAA01EE19), UINT32_C(0x7A523D0B),
+          UINT32_C(0x932F0B95), UINT32_C(0x213EF390)}},
+        {{UINT32_C(0x1CD716FA), UINT32_C(0xA42FE513), UINT32_C(0x0E8001B6),
+          UINT32_C(0xFB13B3C6), UINT32_C(0xD8F530CB), UINT32_C(0xBFDC7998),
+          UINT32_C(0xF1C61761), UINT32_C(0x04F9C05B)},
+         {UINT32_C(0xAFED9D64), UINT32_C(0xFB57396F), UINT32_C(0x421AC123),
+          UINT32_C(0x28CCEE3A), UINT32_C(0xF6C21ACC), UINT32_C(0x32590C9B),
+          UINT32_C(0xBCA75AE3), UINT32_C(0x503B97CB)}},
+        {{UINT32_C(0x366946ED), UINT32_C(0x745208BC), UINT32_C(0x4C906596),
+          UINT32_C(0xA75D88E9), UINT32_C(0xEE043530), UINT32_C(0x03A30C7E),
+          UINT32_C(0xD11BF4D5), UINT32_C(0x5C67C151)},
+         {UINT32_C(0xE7AE4BB3), UINT32_C(0x04F75DFA), UINT32_C(0x7F8D7404),
+          UINT32_C(0xA0813606), UINT32_C(0x19D68F64), UINT32_C(0x8B9F9210),
+          UINT32_C(0x06F73B55), UINT32_C(0x5AB67971)}},
+        {{UINT32_C(0xB0687095), UINT32_C(0x08064C4A), UINT32_C(0xB0106DF4),
+          UINT32_C(0x27E30DDD), UINT32_C(0x8482524A), UINT32_C(0x31D29C70),
+          UINT32_C(0xD86FDACD), UINT32_C(0x65DD5896)},
+         {UINT32_C(0xC647197E), UINT32_C(0x081C013D), UINT32_C(0xD7A53A45),
+          UINT32_C(0x51C10B9E), UINT32_C(0x0DD7FC53), UINT32_C(0xACB9A4DE),
+          UINT32_C(0xF646220B), UINT32_C(0x639997A2)}},
+        {{UINT32_C(0x1FB93B43), UINT32_C(0x97CCF825), UINT32_C(0xE488D786),
+          UINT32_C(0xB7D7713D), UINT32_C(0x3E4DBB33), UINT32_C(0x4F759566),
+          UINT32_C(0xE0F09964), UINT32_C(0x13B5D8A1)},
+         {UINT32_C(0x316CDD97), UINT32_C(0xFFDDAD74), UINT32_C(0x52C92EE9),
+          UINT32_C(0x67C55782), UINT32_C(0x0AC5D6FD), UINT32_C(0x03B50F94),
+          UINT32_C(0x1484DF88), UINT32_C(0x56C5C009)}},
+        {{UINT32_C(0x1778D303), UINT32_C(0xDCE199E3), UINT32_C(0x0F1DD4EC),
+          UINT32_C(0x53A2A4C6), UINT32_C(0x370A7B99), UINT32_C(0x7CC5EE9E),
+          UINT32_C(0x2598744E), UINT32_C(0x4403202B)},
+         {UINT32_C(0x228247B6), UINT32_C(0xCCFAA978), UINT32_C(0x4A1D0E27),
+          UINT32_C(0xF50D14BD), UINT32_C(0x80723ABC), UINT32_C(0x66695061),
+          UINT32_C(0x742C0015), UINT32_C(0x750CCB6A)}},
+        {{UINT32_C(0x81A109F1), UINT32_C(0x7B046936), UINT32_C(0xD4C1AFE5),
+          UINT32_C(0x6414D9A3), UINT32_C(0xDD14AC1F), UINT32_C(0x35070548),
+          UINT32_C(0xDEC0D3F0), UINT32_C(0x27172F39)},
+         {UINT32_C(0xF2E273F0), UINT32_C(0x4EE0A7BF), UINT32_C(0xEC82B8E6),
+          UINT32_C(0x028C7813), UINT32_C(0x2081EAE2), UINT32_C(0x907BF09F),
+          UINT32_C(0x414D6421), UINT32_C(0x72E4C3D3)}},
+    },
+    {
+        {{UINT32_C(0xA073711C), UINT32_C(0x2064097E), UINT32_C(0x5A65EC25),
+          UINT32_C(0x980D830A), UINT32_C(0xF0877567), UINT32_C(0x7906A87C),
+          UINT32_C(0xF1980A3A), UINT32_C(0x3E5EAE10)},
+         {UINT32_C(0x9272CE32), UINT32_C(0x5F51023A), UINT32_C(0xA437C974),
+          UINT32_C(0x71D69E68), UINT32_C(0xD0B579FF), UINT32_C(0x32006EA1),
+          UINT32_C(0xA436E129), UINT32_C(0x191935FF)}},
+        {{UINT32_C(0x91C1474C), UINT32_C(0xE5FE2909), UINT32_C(0x1F0B10F5),
+          UINT32_C(0x7350B9FA), UINT32_C(0x6B4AB128), UINT32_C(0x2006F41D),
+          UINT32_C(0xCD95FA42), UINT32_C(0x4EBDA6CF)},
+         {UINT32_C(0x5DA9A7F4), UINT32_C(0x45028938), UINT32_C(0x57FB462B),
+          UINT32_C(0xD8129DE4), UINT32_C(0xE592EF90), UINT32_C(0x4F2BF2C9),
+          UINT32_C(0xD6751DCC), UINT32_C(0x14A1A16B)}},
+        {{UINT32_C(0xDE0CD47A), UINT32_C(0x7460BB84), UINT32_C(0x468CBA3D),
+          UINT32_C(0x261F24D6), UINT32_C(0x1E3C2D8A), UINT32_C(0x229D3181),
+          UINT32_C(0x1D19E059), UINT32_C(0x4AE520C9)},
+         {UINT32_C(0xDF8DC66E), UINT32_C(0x5AC3AEE7), UINT32_C(0x299697EE),
+          UINT32_C(0xCB417060), UINT32_C(0xCE97514F), UINT32_C(0x227C1497),
+          UINT32_C(0x2E991FDE), UINT32_C(0x2589B803)}},
+        {{UINT32_C(0xA97A5D03), UINT32_C(0x7FE9D585), UINT32_C(0x10D58157),
+          UINT32_C(0x7333A1EF), UINT32_C(0xC94C3DF6), UINT32_C(0x54C1CCD2),
+          UINT32_C(0x28073B4E), UINT32_C(0x25C1B252)},
+         {UINT32_C(0x0635AD79), UINT32_C(0xEEB29AF9), UINT32_C(0x9AA38848),
+          UINT32_C(0x880019C1), UINT32_C(0x30A9A497), UINT32_C(0x1A859942),
+          UINT32_C(0x92B25ABA), UINT32_C(0x57EDCC2D)}},
+        {{UINT32_C(0x65E19DE6), UINT32_C(0xA98DAE7D), UINT32_C(0x46AD8696),
+          UINT32_C(0x8007DD17), UINT32_C(0xA7F3BBAD), UINT32_C(0x61F2E2CF),
+          UINT32_C(0x54193858), UINT32_C(0x1EFCD387)},
+         {UINT32_C(0x11666ECF), UINT32_C(0xFB54FD60), UINT32_C(0x36E7D371),
+          UINT32_C(0xD97EA5DF), UINT32_C(0x3B9371FF), UINT32_C(0x944CA170),
+          UINT32_C(0x05DE7FB0), UINT32_C(0x32A52CAC)}},
+        {{UINT32_C(0x19ED8B5E), UINT32_C(0xB960FFF6), UINT32_C(0x660354BB),
+          UINT32_C(0xFD6B4C3E), UINT32_C(0x1C9E95F0), UINT32_C(0xF8ECAADA),
+          UINT32_C(0xA8E08CC7), UINT32_C(0x687A6D29)},
+         {UINT32_C(0xC6A83D12), UINT32_C(0xD38B7670), UINT32_C(0x1265BF30),
+          UINT32_C(0x1646064C), UINT32_C(0x2464892D), UINT32_C(0x7DE19FFE),
+          UINT32_C(0x1BDBB729), UINT32_C(0x05B57E08)}},
+        {{UINT32_C(0xFFB7A98A), UINT32_C(0xF3586B04), UINT32_C(0xCB072826),
+          UINT32_C(0xF1850CDC), UINT32_C(0xCF53BFB0), UINT32_C(0xFA3E66A4),
+          UINT32_C(0x06E07221), UINT32_C(0x7C78E567)},
+         {UINT32_C(0x3B4E72AE), UINT32_C(0x21E6F245), UINT32_C(0xC6A3DBE8),
+          UINT32_C(0x10A0D78B), UINT32_C(0xD618DDAB), UINT32_C(0xB9FC6D77),
+          UINT32_C(0x76951DE5), UINT32_C(0x33092D13)}},
+        {{UINT32_C(0x5A0257CB), UINT32_C(0xCAA1BF9D), UINT32_C(0x866C505F),
+          UINT32_C(0x1044E224), UINT32_C(0x81482E7D), UINT32_C(0x9B514107),
+          UINT32_C(0x88940BFB), UINT32_C(0x538CB867)},
+         {UINT32_C(0xAC21DCC1), UINT32_C(0xACE68B78), UINT32_C(0x1609BF8C),
+          UINT32_C(0x57942F3C), UINT32_C(0x66E48C7A), UINT32_C(0x30A47F32),
+          UINT32_C(0xB0DA341F), UINT32_C(0x170D301D)}},
+        {{UINT32_C(0x18ED9863), UINT32_C(0x19643EB2), UINT32_C(0xD9104F33),
+          UINT32_C(0xBBE55BCC), UINT32_C(0xA15B283C), UINT32_C(0x77008B6C),
+          UINT32_C(0x873A6A02), UINT32_C(0x2A6E0B41)},
+         {UINT32_C(0x3CB9A225), UINT32_C(0x517410DF), UINT32_C(0xF538730A),
+          UINT32_C(0x20D76E38), UINT32_C(0x9F8724F0), UINT32_C(0x76C9CAD6),
+          UINT32_C(0x6BE9A035), UINT32_C(0x588BA106)}},
+        {{UINT32_C(0xF842F66C), UINT32_C(0xA059DBEC), UINT32_C(0xB3ED0481),
+          UINT32_C(0x59CA186D), UINT32_C(0xD454490F), UINT32_C(0xA5B2ABCB),
+          UINT32_C(0x02624902), UINT32_C(0x4A0F6004)},
+         {UINT32_C(0x4D2F605F), UINT32_C(0x45AF7B51), UINT32_C(0xC368030F),
+          UINT32_C(0x57E8FE0F), UINT32_C(0x0C0727AE), UINT32_C(0x23B74557),
+          UINT32_C(0x2B603EC4), UINT32_C(0x7E91EC77)}},
+        {{UINT32_C(0xFD582BE8), UINT32_C(0xEDD284CF), UINT32_C(0x81093CDA),
+          UINT32_C(0x3077CB23), UINT32_C(0xFDEA4FCE), UINT32_C(0xB1934840),
+          UINT32_C(0xD7F01C9A), UINT32_C(0x00F9B9D1)},
+         {UINT32_C(0x0A1C707B), UINT32_C(0xA55E5C5B), UINT32_C(0x2F8618A5),
+          UINT32_C(0x05CD73CB), UINT32_C(0x512EEA05), UINT32_C(0x7327CECB),
+          UINT32_C(0x8BF2A4D5), UINT32_C(0x5130A099)}},
+        {{UINT32_C(0xFA7A1C7B), UINT32_C(0x34D18880), UINT32_C(0xFD4E043F),
+          UINT32_C(0x5E0D6C53), UINT32_C(0x1B4442AE), UINT32_C(0xB4DD8010),
+          UINT32_C(0x78ED7563), UINT32_C(0x59D9183E)},
+         {UINT32_C(0xF1FAE158), UINT32_C(0x624DDAFC), UINT32_C(0x5C4C1E92),
+          UINT32_C(0xC08C3653), UINT32_C(0xCE3E42EF), UINT32_C(0x452FD71F),
+          UINT32_C(0x20B902EC), UINT32_C(0x175B4908)}},
+        {{UINT32_C(0x18F4CE34), UINT32_C(0x5F0FDF24), UINT32_C(0x9B7E61B8),
+          UINT32_C(0xA64A3011), UINT32_C(0x663362E2), UINT32_C(0x8109ACD5),
+          UINT32_C(0x97F3DF44), UINT32_C(0x4D02F824)},
+         {UINT32_C(0x3A4F916A), UINT32_C(0x2CE27CCE), UINT32_C(0x3B85B146),
+          UINT32_C(0x4A4E6CBB), UINT32_C(0xDB8C9E5E), UINT32_C(0xFE7A6199),
+          UINT32_C(0xD94B8D23), UINT32_C(0x53F5D620)}},
+        {{UINT32_C(0xE77610A9), UINT32_C(0x37FEBEC3), UINT32_C(0x92245CB0),
+          UINT32_C(0xE82D8EAC), UINT32_C(0xF79A31BC), UINT32_C(0x3FD2CEEA),
+          UINT32_C(0xB446850C), UINT32_C(0x277ACF32)},
+         {UINT32_C(0xCE1A2786), UINT32_C(0xD89FF4C7), UINT32_C(0xFFD3A23C),
+          UINT32_C(0x441781E5), UINT32_C(0x07E85496), UINT32_C(0x7876EFC5),
+          UINT32_C(0xE6F41B30), UINT32_C(0x0F306C7B)}},
+        {{UINT32_C(0x5AB1B92B), UINT32_C(0x3BF2BFD1), UINT32_C(0xF373FCF2),
+          UINT32_C(0xDCC3F5A6), UINT32_C(0xDA53C229), UINT32_C(0x27CFC4A6),
+          UINT32_C(0x508E677F), UINT32_C(0x5885737C)},
+         {UINT32_C(0x7B829F24), UINT32_C(0x1275D0F1), UINT32_C(0x4991B75B),
+          UINT32_C(0xBD3C0B02), UINT32_C(0xE581C569), UINT32_C(0x3F82ACDF),
+          UINT32_C(0x3F28904E), UINT32_C(0x12329435)}},
+        {{UINT32_C(0x99C3A09B), UINT32_C(0xCF7BDCCC), UINT32_C(0x5F7D601A),
+          UINT32_C(0x19191107), UINT32_C(0x39FBAA22), UINT32_C(0xA82F7460),
+          UINT32_C(0xD75B5786), UINT32_C(0x3105A6FC)},
+         {UINT32_C(0x932F69A6), UINT32_C(0x9673DAC4), UINT32_C(0xB57D6EE6),
+          UINT32_C(0xF5664B25), UINT32_C(0x0A3CDD3E), UINT32_C(0x1EDAC112),
+          UINT32_C(0x42778563), UINT32_C(0x3CF84F8C)}},
+    },
+    {
+        {{UINT32_C(0x65DE3040), UINT32_C(0xE36FD1B7), UINT32_C(0x8AA0D3FE),
+          UINT32_C(0x240EADEA), UINT32_C(0x7F77F804), UINT32_C(0x76971431),
+          UINT32_C(0x591E9694), UINT32_C(0x6FCC933E)},
+         {UINT32_C(0x18F48742), UINT32_C(0x3218D92B), UINT32_C(0x5E1B4001),
+          UINT32_C(0x215F13E9), UINT32_C(0x7A8D69B9), UINT32_C(0xCDF333CD),
+          UINT32_C(0xD2FD134F), UINT32_C(0x14F159B1)}},
+        {{UINT32_C(0x07A50C16), UINT32_C(0x2D1228D6), UINT32_C(0x29AE42FD),
+          UINT32_C(0x0DFD80F6), UINT32_C(0xBB8F3512), UINT32_C(0x6C18B122),
+          UINT32_C(0x303F3DCA), UINT32_C(0x0FE61243)},
+         {UINT32_C(0xDA50709B), UINT32_C(0x43A29F4D), UINT32_C(0x4B92BF7B),
+          UINT32_C(0x3FF58C08), UINT32_C(0xDFCEF797), UINT32_C(0x62DC6B41),
+          UINT32_C(0xC7B83F32), UINT32_C(0x43F9525A)}},
+        {{UINT32_C(0x15F08F5B), UINT32_C(0x17EBBC9A), UINT32_C(0x8BB3E932),
+          UINT32_C(0xBCD3B640), UINT32_C(0x510BBD36), UINT32_C(0xD46FBB9F),
+          UINT32_C(0xCF65442B), UINT32_C(0x389ABBA8)},
+         {UINT32_C(0xB575545C), UINT32_C(0x3A3DAFE4), UINT32_C(0xE1D0994D),
+          UINT32_C(0x6AB985EC), UINT32_C(0x69E1DB27), UINT32_C(0xCC2A697B),
+          UINT32_C(0x271581DC), UINT32_C(0x0D483E18)}},
+        {{UINT32_C(0xC046D968), UINT32_C(0x380D4095), UINT32_C(0x55D3318B),
+          UINT32_C(0x53039755), UINT32_C(0x91CE6FFC), UINT32_C(0x57FA7629),
+          UINT32_C(0xA4ADB641), UINT32_C(0x0A0F2885)},
+         {UINT32_C(0x6E5C2909), UINT32_C(0x8B99AF1B), UINT32_C(0xB8794175),
+          UINT32_C(0xBDFE7FFD), UINT32_C(0x795ED786), UINT32_C(0x2CFB948A),
+          UINT32_C(0x0FD0DF66), UINT32_C(0x11FE7465)}},
+        {{UINT32_C(0x22E152E2), UINT32_C(0xFC2CC2BD), UINT32_C(0xE30BCEB3),
+          UINT32_C(0xCF6AB96B), UINT32_C(0xBC89B689), UINT32_C(0xAE89C041),
+          UINT32_C(0xE7523AB6), UINT32_C(0x6813430C)},
+         {UINT32_C(0x40A4FA33), UINT32_C(0x3F49E728), UINT32_C(0x857CB0C9),
+          UINT32_C(0x025DE1B7), UINT32_C(0x11EA5EA5), UINT32_C(0x6D71465A),
+          UINT32_C(0x46C8D7CB), UINT32_C(0x6651F7B9)}},
+        {{UINT32_C(0x5268098F), UINT32_C(0xD05F1DCE), UINT32_C(0x0DC75030),
+          UINT32_C(0x891DBB68), UINT32_C(0xEA916291), UINT32_C(0xD939E428),
+          UINT32_C(0xEA37D060), UINT32_C(0x5F8EECCC)},
+         {UINT32_C(0x8DC5D544), UINT32_C(0x885F1EA8), UINT32_C(0x57E7448F),
+          UINT32_C(0xFD3B3D17), UINT32_C(0x79531DE0), UINT32_C(0x5FC791A8),
+          UINT32_C(0x42E66DAA), UINT32_C(0x780C1AAF)}},
+        {{UINT32_C(0x397BB28F), UINT32_C(0x19697778), UINT32_C(0xAAA9069D),
+          UINT32_C(0x5EC31D44), UINT32_C(0x3CA24A6F), UINT32_C(0xDC2DFEAA),
+          UINT32_C(0x80BED770), UINT32_C(0x3F66CFCA)},
+         {UINT32_C(0x1A102662), UINT32_C(0x2B6B8215), UINT32_C(0xC5D34CEB),
+          UINT32_C(0x44B4D7A4), UINT32_C(0x88AFECF2), UINT32_C(0x17E0FDE6),
+          UINT32_C(0xCFF8D214), UINT32_C(0x0DEFA14B)}},
+        {{UINT32_C(0x8365CA84), UINT32_C(0x14035AA4), UINT32_C(0x197CE2B7),
+          UINT32_C(0x309CEEF0), UINT32_C(0xED39AF37), UINT32_C(0x21305426),
+          UINT32_C(0xD2EA583A), UINT32_C(0x10D01D11)},
+         {UINT32_C(0x9FA5C766), UINT32_C(0x3F2E9749), UINT32_C(0xD70549D4),
+          UINT32_C(0x98357584), UINT32_C(0xD279946D), UINT32_C(0x8FF80803),
+          UINT32_C(0x99DF1253), UINT32_C(0x53DBC433)}},
+        {{UINT32_C(0x5329F12F), UINT32_C(0x1D0D9EFA), UINT32_C(0xBE1F007F),
+          UINT32_C(0xBC9F74CF), UINT32_C(0x18EE4DBC), UINT32_C(0xD7F2AA9A),
+          UINT32_C(0x3A792753), UINT32_C(0x634BF4CF)},
+         {UINT32_C(0x2FA6255A), UINT32_C(0xD5DC72AD), UINT32_C(0xF3BC00C5),
+          UINT32_C(0xEE69EA43), UINT32_C(0xD8147A1A), UINT32_C(0xEA930F61),
+          UINT32_C(0xF4E9AD37), UINT32_C(0x25E1368D)}},
+        {{UINT32_C(0xB7C955EC), UINT32_C(0x9422AAF7), UINT32_C(0x6A74D634),
+          UINT32_C(0x7C710761), UINT32_C(0x305EE420), UINT32_C(0x4ED89932),
+          UINT32_C(0x2E937289), UINT32_C(0x07E42212)},
+         {UINT32_C(0x28566C88), UINT32_C(0x7EBB2313), UINT32_C(0xC27ED656),
+          UINT32_C(0xC7ED9C7A), UINT32_C(0xBF14FB3B), UINT32_C(0xF77F3873),
+          UINT32_C(0xEB957520), UINT32_C(0x447AA1E5)}},
+        {{UINT32_C(0xB5C5E016), UINT32_C(0x3E3CEC7E), UINT32_C(0xBDE44D26),
+          UINT32_C(0xB33DDFF7), UINT32_C(0x66E820DD), UINT32_C(0x2056E9C7),
+          UINT32_C(0xF8196FE2), UINT32_C(0x21A9E5D4)},
+         {UINT32_C(0x88040C97), UINT32_C(0x86CB0A17), UINT32_C(0xFF515D49),
+          UINT32_C(0x18AD8AE7), UINT32_C(0x226A400A), UINT32_C(0xCB8A564A),
+          UINT32_C(0x8B72A0D2), UINT32_C(0x6DB48979)}},
+        {{UINT32_C(0x6324DED2), UINT32_C(0x4365074B), UINT32_C(0xAEDAF0F8),
+          UINT32_C(0x9EFB5CC6), UINT32_C(0xC0792B14), UINT32_C(0xCF952C3C),
+          UINT32_C(0x97ED965E), UINT32_C(0x70B82AB9)},
+         {UINT32_C(0x3ACEBCE7), UINT32_C(0x931B9886), UINT32_C(0x18C2425A),
+          UINT32_C(0xDA850491), UINT32_C(0xE499F7FB), UINT32_C(0xD88E1E27),
+          UINT32_C(0x960981DE), UINT32_C(0x61D3F246)}},
+        {{UINT32_C(0x8393EB0A), UINT32_C(0x1D8EA227), UINT32_C(0x7863FB53),
+          UINT32_C(0x9DCC23D2), UINT32_C(0xD5EBD297), UINT32_C(0x961B2337),
+          UINT32_C(0x5BFED1E9), UINT32_C(0x0A96F8B2)},
+         {UINT32_C(0xFE7DD2B7), UINT32_C(0x39EA1803), UINT32_C(0xE5F7772A),
+          UINT32_C(0x7E4817BB), UINT32_C(0xD44A41EF), UINT32_C(0x3668C5FF),
+          UINT32_C(0xE11F8E11), UINT32_C(0x78227653)}},
+        {{UINT32_C(0xD024880B), UINT32_C(0x272D6933), UINT32_C(0xF236FD8A),
+          UINT32_C(0x733C029F), UINT32_C(0x604868F0), UINT32_C(0xBA5C20BD),
+          UINT32_C(0x321175C2), UINT32_C(0x33F211AE)},
+         {UINT32_C(0x9FD79FE3), UINT32_C(0xE40010FB), UINT32_C(0xA685A59F),
+          UINT32_C(0x9C6EA1DC), UINT32_C(0x8EB9889D), UINT32_C(0x79963FFC),
+          UINT32_C(0x5F67108D), UINT32_C(0x15434E7D)}},
+        {{UINT32_C(0xD68B670F), UINT32_C(0x42C14BBF), UINT32_C(0x23F1AA69),
+          UINT32_C(0x2021AC9D), UINT32_C(0xAEA04636), UINT32_C(0xBF4C6D74),
+          UINT32_C(0xBD1FB11D), UINT32_C(0x1E4D2F8E)},
+         {UINT32_C(0x37911AA6), UINT32_C(0x4B0CF0E3), UINT32_C(0x2C484507),
+          UINT32_C(0x7542D928), UINT32_C(0x889542DC), UINT32_C(0x68836751),
+          UINT32_C(0xFE2282A0), UINT32_C(0x05F229F7)}},
+        {{UINT32_C(0x409B2067), UINT32_C(0xAF269E8B), UINT32_C(0xA860F075),
+          UINT32_C(0x6C749952), UINT32_C(0x5DF7C7F6), UINT32_C(0xCB7492DA),
+          UINT32_C(0xE8E591E1), UINT32_C(0x2B010A7F)},
+         {UINT32_C(0x04D9E871), UINT32_C(0xF7446577), UINT32_C(0x5E68408E),
+          UINT32_C(0xC2E0A2A3), UINT32_C(0xD0F0BAAD), UINT32_C(0xD512E9A6),
+          UINT32_C(0xC6BE34A3), UINT32_C(0x3E2F73E1)}},
+    },
+    {
+        {{UINT32_C(0x2EC65BB4), UINT32_C(0x6C466C8E), UINT32_C(0xB1FC8F92),
+          UINT32_C(0x912FFAE5), UINT32_C(0xB50A522D), UINT32_C(0x7587BE5D),
+          UINT32_C(0x649847CF), UINT32_C(0x15939FF7)},
+         {UINT32_C(0xF464794E), UINT32_C(0x69E81D63), UINT32_C(0x6D3F858E),
+          UINT32_C(0x7BB6EEE3), UINT32_C(0x10813BBB), UINT32_C(0x24FE5C01),
+          UINT32_C(0x6D80756C), UINT32_C(0x0C491F97)}},
+        {{UINT32_C(0xA5FF3510), UINT32_C(0xBAD1C256), UINT32_C(0x99C1B7B2),
+          UINT32_C(0xF06F38A2), UINT32_C(0x049312D6), UINT32_C(0xF7C0F164),
+          UINT32_C(0x5749B3E4), UINT32_C(0x073C5374)},
+         {UINT32_C(0x55211A81), UINT32_C(0xD6761480), UINT32_C(0xDFA98F45),
+          UINT32_C(0xF34CB5DB), UINT32_C(0xB4AA4967), UINT32_C(0xAF59FA47),
+          UINT32_C(0x8214BE48), UINT32_C(0x116935B9)}},
+        {{UINT32_C(0x9FE10E46), UINT32_C(0x1D86FA00), UINT32_C(0x0B5B8494),
+          UINT32_C(0x73B8099C), UINT32_C(0xA1102BE7), UINT32_C(0x9A6EA98D),
+          UINT32_C(0x5514CA21), UINT32_C(0x3DE1948B)},
+         {UINT32_C(0xD0AAAA53), UINT32_C(0x5D18ED69), UINT32_C(0x3C952B98),
+          UINT32_C(0x17BF7DFF), UINT32_C(0x7DDBD937), UINT32_C(0xC60143FE),
+          UINT32_C(0x6F2F10C4), UINT32_C(0x214F2F55)}},
+        {{UINT32_C(0x02F047D0), UINT32_C(0xB2F28695), UINT32_C(0x923F52BF),
+          UINT32_C(0x80952DFE), UINT32_C(0xA5017C3E), UINT32_C(0x56F3306B),
+          UINT32_C(0x052DADFB), UINT32_C(0x5DD62F07)},
+         {UINT32_C(0xD5274F90), UINT32_C(0xDD11592D), UINT32_C(0xE471965B),
+          UINT32_C(0x40632FF3), UINT32_C(0x7E618430), UINT32_C(0xAD1939A8),
+          UINT32_C(0x33F19556), UINT32_C(0x5DD9CAD2)}},
+        {{UINT32_C(0xC1094747), UINT32_C(0x7B0AA88C), UINT32_C(0xF6753A0C),
+          UINT32_C(0xCFA6B95D), UINT32_C(0x2A252A4D), UINT32_C(0xE81AFADA),
+          UINT32_C(0xD3770570), UINT32_C(0x364CAB7C)},
+         {UINT32_C(0xB4610A19), UINT32_C(0xE99D8252), UINT32_C(0x55ED9AD3),
+          UINT32_C(0xB22B2FEC), UINT32_C(0xBEBE7FED), UINT32_C(0x328ACBDD),
+          UINT32_C(0xFBEDFE84), UINT32_C(0x1D379D61)}},
+        {{UINT32_C(0x5EDF8C9C), UINT32_C(0xD9EFFFFA), UINT32_C(0x0CE548EC),
+          UINT32_C(0x9BAA7181), UINT32_C(0x5FA8FEEB), UINT32_C(0xEB458AEB),
+          UINT32_C(0x0904D841), UINT32_C(0x18C5E691)},
+         {UINT32_C(0x8F33D2E5), UINT32_C(0xFCEFAE28), UINT32_C(0x6FAFDA18),
+          UINT32_C(0xB3CF853E), UINT32_C(0x427D6218), UINT32_C(0x05DE94BA),
+          UINT32_C(0x3731D3E9), UINT32_C(0x021D8AED)}},
+        {{UINT32_C(0xE92719DA), UINT32_C(0x06C8C318), UINT32_C(0x1A65DFDB),
+          UINT32_C(0x1F7CDE12), UINT32_C(0x4B672A2D), UINT32_C(0x9B4D531E),
+          UINT32_C(0x115FAF11), UINT32_C(0x3E39CC63)},
+         {UINT32_C(0x0037AF60), UINT32_C(0xC9C3F339), UINT32_C(0x02B43D27),
+          UINT32_C(0xC1C67587), UINT32_C(0xC42DF26B), UINT32_C(0x46B77CDD),
+          UINT32_C(0xEBFA97A7), UINT32_C(0x7235F2B0)}},
+        {{UINT32_C(0xE898094E), UINT32_C(0xAF7FFC9A), UINT32_C(0x146A27E3),
+          UINT32_C(0x8D18AB93), UINT32_C(0x8AEC0416), UINT32_C(0x1376B797),
+          UINT32_C(0x8D91C25E), UINT32_C(0x746A1B1C)},
+         {UINT32_C(0x0EBDE2E3), UINT32_C(0x16DCCCC1), UINT32_C(0x8CE7D61E),
+          UINT32_C(0xFE4ABD41), UINT32_C(0xE25F1551), UINT32_C(0xB9830395),
+          UINT32_C(0xB885A943), UINT32_C(0x543493D7)}},
+        {{UINT32_C(0x24EBCFC0), UINT32_C(0x52C659E6), UINT32_C(0xD38367A4),
+          UINT32_C(0x72E3CA91), UINT32_C(0x4D168F4F), UINT32_C(0xA3086AAC),
+          UINT32_C(0x5D64207B), UINT32_C(0x656ACFEE)},
+         {UINT32_C(0xBA196A9E), UINT32_C(0xBE697CBA), UINT32_C(0x97DFFEC2),
+          UINT32_C(0x6A737ACC), UINT32_C(0x54F04DBD), UINT32_C(0x393E2661),
+          UINT32_C(0x4B0E92BD), UINT32_C(0x4FFF7C24)}},
+        {{UINT32_C(0x828EC659), UINT32_C(0xC709CC59), UINT32_C(0xCBDEACB3),
+          UINT32_C(0xB275AC8C), UINT32_C(0xF7922523), UINT32_C(0xA8D08921),
+          UINT32_C(0x400A6459), UINT32_C(0x68B92F96)},
+         {UINT32_C(0xDFBECB97), UINT32_C(0x45803EC2), UINT32_C(0x7515D696),
+          UINT32_C(0x49464E05), UINT32_C(0x8F03E969), UINT32_C(0xF39CA961),
+          UINT32_C(0x1CD7C79F), UINT32_C(0x605065A1)}},
+        {{UINT32_C(0x97F1A97A), UINT32_C(0xB91C03DC), UINT32_C(0x201FFB53),
+          UINT32_C(0x2F6D50BB), UINT32_C(0x46241856), UINT32_C(0x39D67D40),
+          UINT32_C(0x74D04805), UINT32_C(0x0A2C0256)},
+         {UINT32_C(0x28374A6D), UINT32_C(0xD289B94C), UINT32_C(0x10EDD6FC),
+          UINT32_C(0x1176C73A), UINT32_C(0x56AE631E), UINT32_C(0x890E9C39),
+          UINT32_C(0x6027F549), UINT32_C(0x30451CF1)}},
+        {{UINT32_C(0xDF8F4DDB), UINT32_C(0x0CB33FDC), UINT32_C(0x87FF6E63),
+          UINT32_C(0xD9C540DE), UINT32_C(0x55A1D8E4), UINT32_C(0xD8445732),
+          UINT32_C(0x8AC403A6), UINT32_C(0x1497403D)},
+         {UINT32_C(0x6A4BAAC6), UINT32_C(0xA2591C40), UINT32_C(0x48DD3E5D),
+          UINT32_C(0xF493CF1F), UINT32_C(0xB69AF047), UINT32_C(0x7B9AE39F),
+          UINT32_C(0x3782B110), UINT32_C(0x293123C0)}},
+        {{UINT32_C(0xB7A36B62), UINT32_C(0x14921836), UINT32_C(0x4CA3AA39),
+          UINT32_C(0x5AC82430), UINT32_C(0x52F601CA), UINT32_C(0x01303AA6),
+          UINT32_C(0x2B43BB72), UINT32_C(0x7EE1E6C7)},
+         {UINT32_C(0x64D44957), UINT32_C(0x7F82B37B), UINT32_C(0xDA4A6FEC),
+          UINT32_C(0x840D0654), UINT32_C(0x0290F75D), UINT32_C(0xFC806FA1),
+          UINT32_C(0x4C62F0E8), UINT32_C(0x3027FE4A)}},
+        {{UINT32_C(0xCD0D3AC0), UINT32_C(0x34E68AB5), UINT32_C(0xE9BC85BD),
+          UINT32_C(0xE6B0B8C1), UINT32_C(0x99533831), UINT32_C(0xE00F5052),
+          UINT32_C(0xCDC83750), UINT32_C(0x11327DA7)},
+         {UINT32_C(0x4656A428), UINT32_C(0x6D991DF0), UINT32_C(0x86228F26),
+          UINT32_C(0x6A7BE349), UINT32_C(0x3019CDC5), UINT32_C(0x6BF85E3D),
+          UINT32_C(0x576913A4), UINT32_C(0x42200D2F)}},
+        {{UINT32_C(0x707B940F), UINT32_C(0x420D9259), UINT32_C(0x3C5E39BB),
+          UINT32_C(0x1BB1FFE1), UINT32_C(0xE40D018E), UINT32_C(0x83D6BA36),
+          UINT32_C(0x044EC576), UINT32_C(0x139BD842)},
+         {UINT32_C(0xC6DE63E8), UINT32_C(0x3C79F8D2), UINT32_C(0x96F1FB0B),
+          UINT32_C(0x49150B1D), UINT32_C(0x1358A13B), UINT32_C(0x66616053),
+          UINT32_C(0xD5DDFD9F), UINT32_C(0x187CA3CF)}},
+        {{UINT32_C(0x8D5AEE84), UINT32_C(0x0675370F), UINT32_C(0xDC269114),
+          UINT32_C(0x30AA7D65), UINT32_C(0x5AFC6DC1), UINT32_C(0x295F7FE8),
+          UINT32_C(0x55674339), UINT32_C(0x49452029)},
+         {UINT32_C(0xA6F209EC), UINT32_C(0x7EB1926B), UINT32_C(0xDC72C3E3),
+          UINT32_C(0x5232B9D1), UINT32_C(0xAB52141B), UINT32_C(0xCD788D79),
+          UINT32_C(0xFDD9611F), UINT32_C(0x3EB561BE)}},
+    },
+    {
+        {{UINT32_C(0xE22241AD), UINT32_C(0x09DB342C), UINT32_C(0x2A566653),
+          UINT32_C(0x2EAB852F), UINT32_C(0xCA6E59F3), UINT32_C(0x970843ED),
+          UINT32_C(0xA18C2D89), UINT32_C(0x6490013E)},
+         {UINT32_C(0xC7A691CC), UINT32_C(0x52293350), UINT32_C(0xB2079F14),
+          UINT32_C(0x6544B49D), UINT32_C(0x52DCF090), UINT32_C(0xC49C5598),
+          UINT32_C(0x8817A2C7), UINT32_C(0x4069B6FC)}},
+        {{UINT32_C(0xC86B40F4), UINT32_C(0x0E4A4B0C), UINT32_C(0x51F6F853),
+          UINT32_C(0x2B5350E1), UINT32_C(0x1033BEC4), UINT32_C(0xDE26FDE2),
+          UINT32_C(0xC0E9B971), UINT32_C(0x4DE9D2E7)},
+         {UINT32_C(0xD315AD57), UINT32_C(0x716605FD), UINT32_C(0x392B101A),
+          UINT32_C(0x5627D732), UINT32_C(0x81A9F40A), UINT32_C(0x628EDFC6),
+          UINT32_C(0x5AB9C99D), UINT32_C(0x4BD2A96C)}},
+        {{UINT32_C(0xBFBD288A), UINT32_C(0x2C8DF2A1), UINT32_C(0xF4CF7C09),
+          UINT32_C(0x260C4F1E), UINT32_C(0x90E796CB), UINT32_C(0x88A26186),
+          UINT32_C(0x323E0702), UINT32_C(0x105ACC3A)},
+         {UINT32_C(0x667664CF), UINT32_C(0xA8ADA467), UINT32_C(0x3B518622),
+          UINT32_C(0x41144C1B), UINT32_C(0xD8B99FE1), UINT32_C(0x4A532B87),
+          UINT32_C(0x2289C308), UINT32_C(0x4A51C289)}},
+        {{UINT32_C(0x1D6F6880), UINT32_C(0x201DDA61), UINT32_C(0x62029898),
+          UINT32_C(0x47A964D4), UINT32_C(0x426C8CA5), UINT32_C(0xE44E2EEE),
+          UINT32_C(0x09625DBA), UINT32_C(0x02A51821)},
+         {UINT32_C(0xB45B3DFB), UINT32_C(0x170C626E), UINT32_C(0x5C8343A9),
+          UINT32_C(0xFC7F1F71), UINT32_C(0xE549F040), UINT32_C(0xE6CF246F),
+          UINT32_C(0x2F903ACE), UINT32_C(0x4ACF60AE)}},
+        {{UINT32_C(0x81C807EC), UINT32_C(0x91715352), UINT32_C(0x47174A58),
+          UINT32_C(0x72AC60C3), UINT32_C(0xA0F12F61), UINT32_C(0xAD62D06F),
+          UINT32_C(0xAA899C0D), UINT32_C(0x325C2792)},
+         {UINT32_C(0x9D8BA267), UINT32_C(0x53A1E392), UINT32_C(0xCDACCB05),
+          UINT32_C(0x5DC088A5), UINT32_C(0x5025CB69), UINT32_C(0x5BB9127F),
+          UINT32_C(0x69214616), UINT32_C(0x25D2B42E)}},
+        {{UINT32_C(0xDDB55121), UINT32_C(0x4DE5D58A), UINT32_C(0x84DE0677),
+          UINT32_C(0x688AA2F5), UINT32_C(0x63AA25E0), UINT32_C(0xF7925A39),
+          UINT32_C(0x85D4DEA5), UINT32_C(0x4FB42FC7)},
+         {UINT32_C(0x8F134390), UINT32_C(0x957B933B), UINT32_C(0x4B9BF8C2),
+          UINT32_C(0xB360DD2C), UINT32_C(0xFFFF96CD), UINT32_C(0x45E6767F),
+          UINT32_C(0x1E01D5C3), UINT32_C(0x26D0A6A9)}},
+        {{UINT32_C(0x5A0A98EA), UINT32_C(0xC7FC5714), UINT32_C(0xE7535AF6),
+          UINT32_C(0xDBB06F30), UINT32_C(0xDF4ACD0D), UINT32_C(0x555B22E3),
+          UINT32_C(0x2EFD2FBE), UINT32_C(0x3A011AAF)},
+         {UINT32_C(0xE9166B20), UINT32_C(0x341C7733), UINT32_C(0xFB19590A),
+          UINT32_C(0x84619E8E), UINT32_C(0x10574C96), UINT32_C(0x8EF989FD),
+          UINT32_C(0x0F55F9A2), UINT32_C(0x61ACFAAE)}},
+        {{UINT32_C(0x6DEAB094), UINT32_C(0x8C8A33F2), UINT32_C(0x96022EBC),
+          UINT32_C(0x4A8E5D9F), UINT32_C(0x7DDA92E8), UINT32_C(0xA10DF82C),
+          UINT32_C(0xD1CF3815), UINT32_C(0x33A19462)},
+         {UINT32_C(0xA489D67F), UINT32_C(0xE3FF8E43), UINT32_C(0x225064AA),
+          UINT32_C(0xD4B6136F), UINT32_C(0x92F5E662), UINT32_C(0xE1721D2A),
+          UINT32_C(0xA90A33C6), UINT32_C(0x4C4F03D7)}},
+        {{UINT32_C(0xA3463B4A), UINT32_C(0x70885B35), UINT32_C(0xDF9D0194),
+          UINT32_C(0x974BC40E), UINT32_C(0x273957F4), UINT32_C(0x1AF71E18),
+          UINT32_C(0x9900CB0D), UINT32_C(0x58EF684B)},
+         {UINT32_C(0x20A49A4A), UINT32_C(0xB09970C8), UINT32_C(0x42067458),
+          UINT32_C(0x3F28403F), UINT32_C(0xBD7D1AD5), UINT32_C(0x153FF2C4),
+          UINT32_C(0xE97A90F7), UINT32_C(0x7912CC2E)}},
+        {{UINT32_C(0x8F034D9F), UINT32_C(0xF653DF59), UINT32_C(0x1C409CCF),
+          UINT32_C(0xCA167177), UINT32_C(0x175F3583), UINT32_C(0x21F47005),
+          UINT32_C(0xFAAFB66F), UINT32_C(0x13B8A94B)},
+         {UINT32_C(0x96052C8D), UINT32_C(0x64534EE3), UINT32_C(0x8D674024),
+          UINT32_C(0x09304DD1), UINT32_C(0x0D7A7E2A), UINT32_C(0xEB468AC3),
+          UINT32_C(0xCD62052C), UINT32_C(0x40347256)}},
+        {{UINT32_C(0xFFF11C0E), UINT32_C(0x0F089165), UINT32_C(0x8D69A45C),
+          UINT32_C(0x383562C9), UINT32_C(0x3125FE61), UINT32_C(0x7AB3EF9D),
+          UINT32_C(0xE0735F3A), UINT32_C(0x32C042BC)},
+         {UINT32_C(0x4E268D91), UINT32_C(0x420077C8), UINT32_C(0x44695B4F),
+          UINT32_C(0x7FB42082), UINT32_C(0x448A133E), UINT32_C(0xFA83216F),
+          UINT32_C(0x93062EB3), UINT32_C(0x1C660607)}},
+        {{UINT32_C(0xEF9E04DE), UINT32_C(0xA0FCBACA), UINT32_C(0x5B86F69A),
+          UINT32_C(0xAEF9EECB), UINT32_C(0xC39D4C99), UINT32_C(0x73D2E95F),
+          UINT32_C(0x923A5BA8), UINT32_C(0x098C74F7)},
+         {UINT32_C(0x4F68DECF), UINT32_C(0x5B8C95C8), UINT32_C(0x58976551),
+          UINT32_C(0xCFF2E101), UINT32_C(0xBE5CAF91), UINT32_C(0x5032AE48),
+          UINT32_C(0xE09BC8AE), UINT32_C(0x5CCB9008)}},
+        {{UINT32_C(0x3714D3BF), UINT32_C(0x41A38F20), UINT32_C(0x17366520),
+          UINT32_C(0x24136533), UINT32_C(0xFAE17B01), UINT32_C(0xF12F314C),
+          UINT32_C(0xFC9AD43B), UINT32_C(0x4AA0C969)},
+         {UINT32_C(0x8BBAC026), UINT32_C(0xD8AB5F72), UINT32_C(0x526992DC),
+          UINT32_C(0x35128269), UINT32_C(0xD19880AA), UINT32_C(0xA2EF6E44),
+          UINT32_C(0xDBF47628), UINT32_C(0x28BB3623)}},
+        {{UINT32_C(0x3BA25C35), UINT32_C(0x294742BA), UINT32_C(0x061555B7),
+          UINT32_C(0x39D3BC9B), UINT32_C(0xDE6EA1A0), UINT32_C(0x944E3ABC),
+          UINT32_C(0x57EBD394), UINT32_C(0x4FDC6415)},
+         {UINT32_C(0xE981E649), UINT32_C(0xB615C1DA), UINT32_C(0x8BE3C95F),
+          UINT32_C(0xAF7EDB34), UINT32_C(0x71F7221F), UINT32_C(0x38573AE8),
+          UINT32_C(0x668CF414), UINT32_C(0x1B30FF04)}},
+        {{UINT32_C(0xA57A9A4E), UINT32_C(0x48EFF6A2), UINT32_C(0x74A59C19),
+          UINT32_C(0x04BA2F73), UINT32_C(0x6779C5DA), UINT32_C(0x5FDE389D),
+          UINT32_C(0x6612F160), UINT32_C(0x258E2B24)},
+         {UINT32_C(0x6D116D41), UINT32_C(0xCE8D7A0B), UINT32_C(0xEE2706C8),
+          UINT32_C(0xAF660436), UINT32_C(0xF81D6398), UINT32_C(0xFFAD6FE9),
+          UINT32_C(0x14BA128A), UINT32_C(0x4FE5EC54)}},
+        {{UINT32_C(0xBD4B886C), UINT32_C(0x7D5E8299), UINT32_C(0xDB0DB148),
+          UINT32_C(0x5403A46E), UINT32_C(0x76A808D7), UINT32_C(0x32F49FC0),
+          UINT32_C(0xD3B9A641), UINT32_C(0x6D483FD7)},
+         {UINT32_C(0x3952C70F), UINT32_C(0x731DF122), UINT32_C(0xCB5E6081),
+          UINT32_C(0xB5CABAC1), UINT32_C(0x7AFA8F59), UINT32_C(0x12FA297D),
+          UINT32_C(0x6AC91952), UINT32_C(0x3272360A)}},
+    }};
+
+/*-
+ * Q := 2P, both projective, Q and P same pointers OK
+ * Autogenerated: op3/dbl_proj.op3
+ * https://eprint.iacr.org/2015/1060 Alg 6
+ * ASSERT: a = -3
+ */
+static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
+    /* temporary variables */
+    fe_t t0, t1, t2, t3, t4;
+    /* constants */
+    const limb_t *b = const_b;
+    /* set pointers for legacy 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 *Z3 = Q->Z;
+
+    /* the curve arith formula */
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_square(t0, X);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_square(t1, Y);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_square(t2, Z);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t3, X, Y);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t3, t3, t3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t4, Y, Z);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(Z3, X, Z);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Z3, Z3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(Y3, b, t2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(Y3, Y3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(X3, Y3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Y3, X3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(X3, t1, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Y3, t1, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(Y3, X3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(X3, X3, t3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t3, t2, t2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t2, t2, t3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(Z3, b, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(Z3, Z3, t2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(Z3, Z3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t3, Z3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Z3, Z3, t3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t3, t0, t0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t0, t3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(t0, t0, t2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t0, t0, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Y3, Y3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t0, t4, t4);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(Z3, t0, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(X3, X3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(Z3, t0, t1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Z3, Z3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Z3, Z3, Z3);
+}
+
+/*-
+ * 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.op3
+ * https://eprint.iacr.org/2015/1060 Alg 5
+ * ASSERT: a = -3
+ */
+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, t4;
+    /* constants */
+    const limb_t *b = const_b;
+    /* set pointers for legacy curve arith */
+    const limb_t *X1 = Q->X;
+    const limb_t *Y1 = Q->Y;
+    const limb_t *Z1 = Q->Z;
+    const limb_t *X2 = P->X;
+    const limb_t *Y2 = P->Y;
+    fe_t X3;
+    fe_t Y3;
+    fe_t Z3;
+    limb_t nz;
+
+    /* check P for affine inf */
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_nonzero(&nz, P->Y);
+
+    /* the curve arith formula */
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t0, X1, X2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t1, Y1, Y2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t3, X2, Y2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t4, X1, Y1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t3, t3, t4);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t4, t0, t1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(t3, t3, t4);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t4, Y2, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t4, t4, Y1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(Y3, X2, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Y3, Y3, X1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(Z3, b, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(X3, Y3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Z3, X3, X3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(X3, X3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(Z3, t1, X3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(X3, t1, X3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(Y3, b, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t1, Z1, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t2, t1, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(Y3, Y3, t2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(Y3, Y3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t1, Y3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Y3, t1, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t1, t0, t0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t0, t1, t0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(t0, t0, t2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t1, t4, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t2, t0, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(Y3, X3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Y3, Y3, t2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(X3, t3, X3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(X3, X3, t1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(Z3, t4, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t1, t3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Z3, Z3, t1);
+
+    /* if P is inf, throw all that away and take Q */
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(R->X, nz, Q->X, X3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(R->Y, nz, Q->Y, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(R->Z, nz, Q->Z, Z3);
+}
+
+/*-
+ * R := Q + P all projective.
+ * R and Q same pointers OK
+ * R and P same pointers not OK
+ * Autogenerated: op3/add_proj.op3
+ * https://eprint.iacr.org/2015/1060 Alg 4
+ * ASSERT: a = -3
+ */
+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, t4, t5;
+    /* constants */
+    const limb_t *b = const_b;
+    /* set pointers for legacy curve arith */
+    const limb_t *X1 = Q->X;
+    const limb_t *Y1 = Q->Y;
+    const limb_t *Z1 = Q->Z;
+    const limb_t *X2 = P->X;
+    const limb_t *Y2 = P->Y;
+    const limb_t *Z2 = P->Z;
+    limb_t *X3 = R->X;
+    limb_t *Y3 = R->Y;
+    limb_t *Z3 = R->Z;
+
+    /* the curve arith formula */
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t0, X1, X2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t1, Y1, Y2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t2, Z1, Z2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t3, X1, Y1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t4, X2, Y2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t3, t3, t4);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t4, t0, t1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(t3, t3, t4);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t4, Y1, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t5, Y2, Z2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t4, t4, t5);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t5, t1, t2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(t4, t4, t5);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(X3, X1, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Y3, X2, Z2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(X3, X3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Y3, t0, t2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(Y3, X3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(Z3, b, t2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(X3, Y3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Z3, X3, X3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(X3, X3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(Z3, t1, X3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(X3, t1, X3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(Y3, b, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t1, t2, t2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t2, t1, t2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(Y3, Y3, t2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(Y3, Y3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t1, Y3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Y3, t1, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t1, t0, t0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(t0, t1, t0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(t0, t0, t2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t1, t4, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t2, t0, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(Y3, X3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Y3, Y3, t2);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(X3, t3, X3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_sub(X3, X3, t1);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(Z3, t4, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(t1, t3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_add(Z3, Z3, t1);
+}
+
+/* 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;
+
+    fe_copy(precomp[0].X, P->X);
+    fe_copy(precomp[0].Y, P->Y);
+    fe_copy(precomp[0].Z, const_one);
+    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[32], int idx) {
+    int widx, rshift;
+
+    widx = idx >> 3;
+    rshift = idx & 0x7;
+
+    if (idx < 0 || widx >= 32) 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[52], const unsigned char in[32]) {
+    int i;
+    char window, d;
+
+    window = (in[0] & (DRADIX_WNAF - 1)) | 1;
+    for (i = 0; i < 51; 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[257], const unsigned char in[32]) {
+    int i;
+    char window, d;
+
+    window = in[0] & (DRADIX_WNAF - 1);
+    for (i = 0; i < 257; 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[32],
+                              const unsigned char b[32], const pt_aff_t *P) {
+    int i, d, is_neg, is_inf = 1, flipped = 0;
+    char anaf[257] = {0};
+    char bnaf[257] = {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 = 256; i >= 0; i--) {
+        if (!is_inf) point_double(&Q, &Q);
+        if ((d = bnaf[i])) {
+            if ((is_neg = d < 0) != flipped) {
+                fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_opp(Q.Y, Q.Y);
+                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.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_GostR3410_2001_CryptoPro_B_ParamSet_opp(Q.Y, Q.Y);
+                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.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.Z);
+    }
+
+    if (flipped) {
+        /* correct sign */
+        fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_opp(Q.Y, Q.Y);
+    }
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_inv(Q.Z, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(out->X, Q.X, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_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[32],
+                           const pt_aff_t *P) {
+    int i, j, d, diff, is_neg;
+    char rnaf[52] = {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[51] - 1) >> 1;
+    for (j = 0; j < DRADIX / 2; j++) {
+        diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
+        fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(Q.X, diff, Q.X,
+                                                              precomp[j].X);
+        fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(Q.Y, diff, Q.Y,
+                                                              precomp[j].Y);
+        fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(Q.Z, diff, Q.Z,
+                                                              precomp[j].Z);
+    }
+
+    for (i = 50; 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_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(
+                lut.X, diff, lut.X, precomp[j].X);
+            fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(
+                lut.Y, diff, lut.Y, precomp[j].Y);
+            fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(
+                lut.Z, diff, lut.Z, precomp[j].Z);
+        }
+        /* negate lut point if digit is negative */
+        fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_opp(out->Y, lut.Y);
+        fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(lut.Y, is_neg,
+                                                              lut.Y, out->Y);
+        point_add_proj(&Q, &Q, &lut);
+    }
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
+
+    /* conditionally subtract P if the scalar was even */
+    fe_copy(lut.X, precomp[0].X);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_opp(lut.Y, precomp[0].Y);
+    fe_copy(lut.Z, precomp[0].Z);
+    point_add_proj(&lut, &lut, &Q);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(Q.X, scalar[0] & 1,
+                                                          lut.X, Q.X);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(Q.Y, scalar[0] & 1,
+                                                          lut.Y, Q.Y);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(Q.Z, scalar[0] & 1,
+                                                          lut.Z, Q.Z);
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_inv(Q.Z, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(out->X, Q.X, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_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[32]) {
+    int i, j, k, d, diff, is_neg = 0;
+    char rnaf[52] = {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.Z);
+
+#if defined(_MSC_VER)
+    /* result still unsigned: yes we know */
+#pragma warning(push)
+#pragma warning(disable : 4146)
+#endif
+
+    for (i = 1; i >= 0; i--) {
+        for (j = 0; i != 1 && j < RADIX; j++) point_double(&Q, &Q);
+        for (j = 0; j < 27; j++) {
+            if (j * 2 + i > 51) continue;
+            d = rnaf[j * 2 + 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_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(
+                    lut.X, diff, lut.X, lut_cmb[j][k].X);
+                fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(
+                    lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
+            }
+            /* negate lut point if digit is negative */
+            fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_opp(out->Y, lut.Y);
+            fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(
+                lut.Y, is_neg, lut.Y, out->Y);
+            point_add_mixed(&Q, &Q, &lut);
+        }
+    }
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
+
+    /* conditionally subtract P if the scalar was even */
+    fe_copy(lut.X, lut_cmb[0][0].X);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_opp(lut.Y, lut_cmb[0][0].Y);
+    point_add_mixed(&R, &Q, &lut);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(Q.X, scalar[0] & 1,
+                                                          R.X, Q.X);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(Q.Y, scalar[0] & 1,
+                                                          R.Y, Q.Y);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_selectznz(Q.Z, scalar[0] & 1,
+                                                          R.Z, Q.Z);
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_inv(Q.Z, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(out->X, Q.X, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_mul(out->Y, Q.Y, Q.Z);
+}
+
+static void point_mul_two(unsigned char outx[32], unsigned char outy[32],
+                          const unsigned char a[32], const unsigned char b[32],
+                          const unsigned char inx[32],
+                          const unsigned char iny[32]) {
+    pt_aff_t P;
+
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_from_bytes(P.X, inx);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_from_bytes(P.Y, iny);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_to_montgomery(P.X, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_to_montgomery(P.Y, P.Y);
+    /* simultaneous scalar multiplication */
+    var_smul_wnaf_two(&P, a, b, &P);
+
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_from_montgomery(P.X, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_from_montgomery(P.Y, P.Y);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_to_bytes(outx, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_to_bytes(outy, P.Y);
+}
+
+static void point_mul_g(unsigned char outx[32], unsigned char outy[32],
+                        const unsigned char scalar[32]) {
+    pt_aff_t P;
+
+    /* fixed scmul function */
+    fixed_smul_cmb(&P, scalar);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_from_montgomery(P.X, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_from_montgomery(P.Y, P.Y);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_to_bytes(outx, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_to_bytes(outy, P.Y);
+}
+
+static void point_mul(unsigned char outx[32], unsigned char outy[32],
+                      const unsigned char scalar[32],
+                      const unsigned char inx[32],
+                      const unsigned char iny[32]) {
+    pt_aff_t P;
+
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_from_bytes(P.X, inx);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_from_bytes(P.Y, iny);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_to_montgomery(P.X, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_to_montgomery(P.Y, P.Y);
+    /* var scmul function */
+    var_smul_rwnaf(&P, scalar, &P);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_from_montgomery(P.X, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_from_montgomery(P.Y, P.Y);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_to_bytes(outx, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_B_ParamSet_to_bytes(outy, P.Y);
+}
+
+#include <openssl/ec.h>
+
+static const unsigned char const_zb[32] = {0};
+
+    int
+    point_mul_two_id_GostR3410_2001_CryptoPro_B_ParamSet(
+        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[32];
+    unsigned char b_y[32];
+    unsigned char b_n[32];
+    unsigned char b_m[32];
+    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, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
+        BN_bn2lebinpad(n, b_n, 32) != 32 || BN_bn2lebinpad(m, b_m, 32) != 32)
+        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, 32) == 0 &&
+        CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
+        if (!EC_POINT_set_to_infinity(group, r)) goto err;
+    } else {
+        /* otherwise, pack the bytes into the result */
+        if (BN_lebin2bn(b_x, 32, x) == NULL ||
+            BN_lebin2bn(b_y, 32, 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_GostR3410_2001_CryptoPro_B_ParamSet(const EC_GROUP *group,
+                                                     EC_POINT *r,
+                                                     const EC_POINT *q,
+                                                     const BIGNUM *m,
+                                                     BN_CTX *ctx) {
+    int ret = 0;
+    unsigned char b_x[32];
+    unsigned char b_y[32];
+    unsigned char b_m[32];
+    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, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
+        BN_bn2lebinpad(m, b_m, 32) != 32)
+        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, 32) == 0 &&
+        CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
+        if (!EC_POINT_set_to_infinity(group, r)) goto err;
+    } else {
+        /* otherwise, pack the bytes into the result */
+        if (BN_lebin2bn(b_x, 32, x) == NULL ||
+            BN_lebin2bn(b_y, 32, 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_GostR3410_2001_CryptoPro_B_ParamSet(const EC_GROUP *group,
+                                                       EC_POINT *r,
+                                                       const BIGNUM *n,
+                                                       BN_CTX *ctx) {
+    int ret = 0;
+    unsigned char b_x[32];
+    unsigned char b_y[32];
+    unsigned char b_n[32];
+    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, 32) != 32)
+        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, 32) == 0 &&
+        CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
+        if (!EC_POINT_set_to_infinity(group, r)) goto err;
+    } else {
+        /* otherwise, pack the bytes into the result */
+        if (BN_lebin2bn(b_x, 32, x) == NULL ||
+            BN_lebin2bn(b_y, 32, 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__ */
diff --git a/ecp_id_GostR3410_2001_CryptoPro_C_ParamSet.c b/ecp_id_GostR3410_2001_CryptoPro_C_ParamSet.c
new file mode 100644 (file)
index 0000000..581f5f4
--- /dev/null
@@ -0,0 +1,15334 @@
+/* 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 4
+/* 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))
+
+/* Projective points */
+typedef struct {
+    fe_t X;
+    fe_t Y;
+    fe_t Z;
+} pt_prj_t;
+
+/* Affine points */
+typedef struct {
+    fe_t X;
+    fe_t Y;
+} 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: word_by_word_montgomery --static id_GostR3410_2001_CryptoPro_C_ParamSet 64 0x9B9F605F5A858107AB1EC85E6B41C8AACF846E86789051D37998F7B9022D759B */
+/* curve description: id_GostR3410_2001_CryptoPro_C_ParamSet */
+/* machine_wordsize = 64 (from "64") */
+/* requested operations: (all) */
+/* m = 0x9b9f605f5a858107ab1ec85e6b41c8aacf846e86789051d37998f7b9022d759b (from "0x9B9F605F5A858107AB1EC85E6B41C8AACF846E86789051D37998F7B9022D759B") */
+/*                                                                    */
+/* NOTE: In addition to the bounds specified above each function, all */
+/*   functions synthesized for this Montgomery arithmetic require the */
+/*   input to be strictly less than the prime modulus (m), and also   */
+/*   require the input to be in the unique saturated representation.  */
+/*   All functions also ensure that these two properties are true of  */
+/*   return values.                                                   */
+/*  */
+/* Computed values: */
+/* eval z = z[0] + (z[1] << 64) + (z[2] << 128) + (z[3] << 192) */
+/* 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) */
+
+#include <stdint.h>
+typedef unsigned char fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1;
+typedef signed char fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int1;
+typedef signed __int128 fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int128;
+typedef unsigned __int128 fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint128;
+
+#if (-1 & 3) != 3
+#error "This code only works on a two's complement system"
+#endif
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64 is an addition with carry.
+ * Postconditions:
+ *   out1 = (arg1 + arg2 + arg3) mod 2^64
+ *   out2 = ⌊(arg1 + arg2 + arg3) / 2^64⌋
+ *
+ * Input Bounds:
+ *   arg1: [0x0 ~> 0x1]
+ *   arg2: [0x0 ~> 0xffffffffffffffff]
+ *   arg3: [0x0 ~> 0xffffffffffffffff]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffffffffffffff]
+ *   out2: [0x0 ~> 0x1]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
+    uint64_t *out1, fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 *out2,
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 arg1, uint64_t arg2,
+    uint64_t arg3) {
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint128 x1;
+    uint64_t x2;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x3;
+    x1 = ((arg1 + (fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint128)arg2) +
+          arg3);
+    x2 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
+    x3 = (fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1)(x1 >> 64);
+    *out1 = x2;
+    *out2 = x3;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64 is a subtraction with borrow.
+ * Postconditions:
+ *   out1 = (-arg1 + arg2 + -arg3) mod 2^64
+ *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^64⌋
+ *
+ * Input Bounds:
+ *   arg1: [0x0 ~> 0x1]
+ *   arg2: [0x0 ~> 0xffffffffffffffff]
+ *   arg3: [0x0 ~> 0xffffffffffffffff]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffffffffffffff]
+ *   out2: [0x0 ~> 0x1]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
+    uint64_t *out1, fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 *out2,
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 arg1, uint64_t arg2,
+    uint64_t arg3) {
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int128 x1;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int1 x2;
+    uint64_t x3;
+    x1 = ((arg2 - (fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int128)arg1) -
+          arg3);
+    x2 = (fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int1)(x1 >> 64);
+    x3 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
+    *out1 = x3;
+    *out2 = (fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1)(0x0 - x2);
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64 is a multiplication, returning the full double-width result.
+ * Postconditions:
+ *   out1 = (arg1 * arg2) mod 2^64
+ *   out2 = ⌊arg1 * arg2 / 2^64⌋
+ *
+ * Input Bounds:
+ *   arg1: [0x0 ~> 0xffffffffffffffff]
+ *   arg2: [0x0 ~> 0xffffffffffffffff]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffffffffffffff]
+ *   out2: [0x0 ~> 0xffffffffffffffff]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+    uint64_t *out1, uint64_t *out2, uint64_t arg1, uint64_t arg2) {
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint128 x1;
+    uint64_t x2;
+    uint64_t x3;
+    x1 = ((fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint128)arg1 * arg2);
+    x2 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
+    x3 = (uint64_t)(x1 >> 64);
+    *out1 = x2;
+    *out2 = x3;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_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_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(
+    uint64_t *out1, fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 arg1,
+    uint64_t arg2, uint64_t arg3) {
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x1;
+    uint64_t x2;
+    uint64_t x3;
+    x1 = (!(!arg1));
+    x2 = ((fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int1)(0x0 - x1) &
+          UINT64_C(0xffffffffffffffff));
+    x3 = ((x2 & arg3) | ((~x2) & arg2));
+    *out1 = x3;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul multiplies two field elements in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ *   0 ≤ eval arg2 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg2)) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(
+    uint64_t out1[4], const uint64_t arg1[4], const uint64_t arg2[4]) {
+    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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x14;
+    uint64_t x15;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x16;
+    uint64_t x17;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x31;
+    uint64_t x32;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x33;
+    uint64_t x34;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x35;
+    uint64_t x36;
+    uint64_t x37;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x38;
+    uint64_t x39;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x40;
+    uint64_t x41;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x42;
+    uint64_t x43;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x44;
+    uint64_t x45;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x56;
+    uint64_t x57;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x58;
+    uint64_t x59;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x60;
+    uint64_t x61;
+    uint64_t x62;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x63;
+    uint64_t x64;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x65;
+    uint64_t x66;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x67;
+    uint64_t x68;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x69;
+    uint64_t x70;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x83;
+    uint64_t x84;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x85;
+    uint64_t x86;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x87;
+    uint64_t x88;
+    uint64_t x89;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x90;
+    uint64_t x91;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x92;
+    uint64_t x93;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x94;
+    uint64_t x95;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x96;
+    uint64_t x97;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x109;
+    uint64_t x110;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x111;
+    uint64_t x112;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x113;
+    uint64_t x114;
+    uint64_t x115;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x116;
+    uint64_t x117;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x118;
+    uint64_t x119;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x120;
+    uint64_t x121;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x122;
+    uint64_t x123;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x136;
+    uint64_t x137;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x138;
+    uint64_t x139;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x140;
+    uint64_t x141;
+    uint64_t x142;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x143;
+    uint64_t x144;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x145;
+    uint64_t x146;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x147;
+    uint64_t x148;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x149;
+    uint64_t x150;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x162;
+    uint64_t x163;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x164;
+    uint64_t x165;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x166;
+    uint64_t x167;
+    uint64_t x168;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x169;
+    uint64_t x170;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x171;
+    uint64_t x172;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x173;
+    uint64_t x174;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x175;
+    uint64_t x176;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x189;
+    uint64_t x190;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x191;
+    uint64_t x192;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x193;
+    uint64_t x194;
+    uint64_t x195;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x196;
+    uint64_t x197;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x198;
+    uint64_t x199;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x200;
+    uint64_t x201;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x202;
+    uint64_t x203;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x204;
+    uint64_t x205;
+    uint64_t x206;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x207;
+    uint64_t x208;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x209;
+    uint64_t x210;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x211;
+    uint64_t x212;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x213;
+    uint64_t x214;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x215;
+    uint64_t x216;
+    uint64_t x217;
+    uint64_t x218;
+    uint64_t x219;
+    x1 = (arg1[1]);
+    x2 = (arg1[2]);
+    x3 = (arg1[3]);
+    x4 = (arg1[0]);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x5, &x6, x4,
+                                                         (arg2[3]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x7, &x8, x4,
+                                                         (arg2[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x9, &x10, x4,
+                                                         (arg2[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x11, &x12, x4,
+                                                         (arg2[0]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x13, &x14, 0x0,
+                                                              x12, x9);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x15, &x16, x14,
+                                                              x10, x7);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x17, &x18, x16,
+                                                              x8, x5);
+    x19 = (x18 + x6);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x20, &x21, x11, UINT64_C(0xdf6e6c2c727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x22, &x23, x20, UINT64_C(0x9b9f605f5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x24, &x25, x20, UINT64_C(0xab1ec85e6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x26, &x27, x20, UINT64_C(0xcf846e86789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x28, &x29, x20, UINT64_C(0x7998f7b9022d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x30, &x31, 0x0,
+                                                              x29, x26);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x32, &x33, x31,
+                                                              x27, x24);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x34, &x35, x33,
+                                                              x25, x22);
+    x36 = (x35 + x23);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x37, &x38, 0x0,
+                                                              x11, x28);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x39, &x40, x38,
+                                                              x13, x30);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x41, &x42, x40,
+                                                              x15, x32);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x43, &x44, x42,
+                                                              x17, x34);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x45, &x46, x44,
+                                                              x19, x36);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x47, &x48, x1,
+                                                         (arg2[3]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x49, &x50, x1,
+                                                         (arg2[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x51, &x52, x1,
+                                                         (arg2[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x53, &x54, x1,
+                                                         (arg2[0]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x55, &x56, 0x0,
+                                                              x54, x51);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x57, &x58, x56,
+                                                              x52, x49);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x59, &x60, x58,
+                                                              x50, x47);
+    x61 = (x60 + x48);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x62, &x63, 0x0,
+                                                              x39, x53);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x64, &x65, x63,
+                                                              x41, x55);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x66, &x67, x65,
+                                                              x43, x57);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x68, &x69, x67,
+                                                              x45, x59);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x70, &x71, x69,
+                                                              x46, x61);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x72, &x73, x62, UINT64_C(0xdf6e6c2c727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x74, &x75, x72, UINT64_C(0x9b9f605f5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x76, &x77, x72, UINT64_C(0xab1ec85e6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x78, &x79, x72, UINT64_C(0xcf846e86789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x80, &x81, x72, UINT64_C(0x7998f7b9022d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x82, &x83, 0x0,
+                                                              x81, x78);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x84, &x85, x83,
+                                                              x79, x76);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x86, &x87, x85,
+                                                              x77, x74);
+    x88 = (x87 + x75);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x89, &x90, 0x0,
+                                                              x62, x80);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x91, &x92, x90,
+                                                              x64, x82);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x93, &x94, x92,
+                                                              x66, x84);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x95, &x96, x94,
+                                                              x68, x86);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x97, &x98, x96,
+                                                              x70, x88);
+    x99 = ((uint64_t)x98 + x71);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x100, &x101, x2,
+                                                         (arg2[3]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x102, &x103, x2,
+                                                         (arg2[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x104, &x105, x2,
+                                                         (arg2[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x106, &x107, x2,
+                                                         (arg2[0]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x108, &x109, 0x0,
+                                                              x107, x104);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x110, &x111,
+                                                              x109, x105, x102);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x112, &x113,
+                                                              x111, x103, x100);
+    x114 = (x113 + x101);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x115, &x116, 0x0,
+                                                              x91, x106);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x117, &x118,
+                                                              x116, x93, x108);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x119, &x120,
+                                                              x118, x95, x110);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x121, &x122,
+                                                              x120, x97, x112);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x123, &x124,
+                                                              x122, x99, x114);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x125, &x126, x115, UINT64_C(0xdf6e6c2c727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x127, &x128, x125, UINT64_C(0x9b9f605f5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x129, &x130, x125, UINT64_C(0xab1ec85e6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x131, &x132, x125, UINT64_C(0xcf846e86789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x133, &x134, x125, UINT64_C(0x7998f7b9022d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x135, &x136, 0x0,
+                                                              x134, x131);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x137, &x138,
+                                                              x136, x132, x129);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x139, &x140,
+                                                              x138, x130, x127);
+    x141 = (x140 + x128);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x142, &x143, 0x0,
+                                                              x115, x133);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x144, &x145,
+                                                              x143, x117, x135);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x146, &x147,
+                                                              x145, x119, x137);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x148, &x149,
+                                                              x147, x121, x139);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x150, &x151,
+                                                              x149, x123, x141);
+    x152 = ((uint64_t)x151 + x124);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x153, &x154, x3,
+                                                         (arg2[3]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x155, &x156, x3,
+                                                         (arg2[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x157, &x158, x3,
+                                                         (arg2[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x159, &x160, x3,
+                                                         (arg2[0]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x161, &x162, 0x0,
+                                                              x160, x157);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x163, &x164,
+                                                              x162, x158, x155);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x165, &x166,
+                                                              x164, x156, x153);
+    x167 = (x166 + x154);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x168, &x169, 0x0,
+                                                              x144, x159);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x170, &x171,
+                                                              x169, x146, x161);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x172, &x173,
+                                                              x171, x148, x163);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x174, &x175,
+                                                              x173, x150, x165);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x176, &x177,
+                                                              x175, x152, x167);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x178, &x179, x168, UINT64_C(0xdf6e6c2c727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x180, &x181, x178, UINT64_C(0x9b9f605f5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x182, &x183, x178, UINT64_C(0xab1ec85e6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x184, &x185, x178, UINT64_C(0xcf846e86789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x186, &x187, x178, UINT64_C(0x7998f7b9022d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x188, &x189, 0x0,
+                                                              x187, x184);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x190, &x191,
+                                                              x189, x185, x182);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x192, &x193,
+                                                              x191, x183, x180);
+    x194 = (x193 + x181);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x195, &x196, 0x0,
+                                                              x168, x186);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x197, &x198,
+                                                              x196, x170, x188);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x199, &x200,
+                                                              x198, x172, x190);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x201, &x202,
+                                                              x200, x174, x192);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x203, &x204,
+                                                              x202, x176, x194);
+    x205 = ((uint64_t)x204 + x177);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
+        &x206, &x207, 0x0, x197, UINT64_C(0x7998f7b9022d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
+        &x208, &x209, x207, x199, UINT64_C(0xcf846e86789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
+        &x210, &x211, x209, x201, UINT64_C(0xab1ec85e6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
+        &x212, &x213, x211, x203, UINT64_C(0x9b9f605f5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(&x214, &x215,
+                                                               x213, x205, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x216, x215, x206,
+                                                            x197);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x217, x215, x208,
+                                                            x199);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x218, x215, x210,
+                                                            x201);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x219, x215, x212,
+                                                            x203);
+    out1[0] = x216;
+    out1[1] = x217;
+    out1[2] = x218;
+    out1[3] = x219;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square squares a field element in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg1)) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(
+    uint64_t out1[4], const uint64_t arg1[4]) {
+    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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x14;
+    uint64_t x15;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x16;
+    uint64_t x17;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x31;
+    uint64_t x32;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x33;
+    uint64_t x34;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x35;
+    uint64_t x36;
+    uint64_t x37;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x38;
+    uint64_t x39;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x40;
+    uint64_t x41;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x42;
+    uint64_t x43;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x44;
+    uint64_t x45;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x56;
+    uint64_t x57;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x58;
+    uint64_t x59;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x60;
+    uint64_t x61;
+    uint64_t x62;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x63;
+    uint64_t x64;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x65;
+    uint64_t x66;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x67;
+    uint64_t x68;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x69;
+    uint64_t x70;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x83;
+    uint64_t x84;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x85;
+    uint64_t x86;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x87;
+    uint64_t x88;
+    uint64_t x89;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x90;
+    uint64_t x91;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x92;
+    uint64_t x93;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x94;
+    uint64_t x95;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x96;
+    uint64_t x97;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x109;
+    uint64_t x110;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x111;
+    uint64_t x112;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x113;
+    uint64_t x114;
+    uint64_t x115;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x116;
+    uint64_t x117;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x118;
+    uint64_t x119;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x120;
+    uint64_t x121;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x122;
+    uint64_t x123;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x136;
+    uint64_t x137;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x138;
+    uint64_t x139;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x140;
+    uint64_t x141;
+    uint64_t x142;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x143;
+    uint64_t x144;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x145;
+    uint64_t x146;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x147;
+    uint64_t x148;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x149;
+    uint64_t x150;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x162;
+    uint64_t x163;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x164;
+    uint64_t x165;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x166;
+    uint64_t x167;
+    uint64_t x168;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x169;
+    uint64_t x170;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x171;
+    uint64_t x172;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x173;
+    uint64_t x174;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x175;
+    uint64_t x176;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x189;
+    uint64_t x190;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x191;
+    uint64_t x192;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x193;
+    uint64_t x194;
+    uint64_t x195;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x196;
+    uint64_t x197;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x198;
+    uint64_t x199;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x200;
+    uint64_t x201;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x202;
+    uint64_t x203;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x204;
+    uint64_t x205;
+    uint64_t x206;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x207;
+    uint64_t x208;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x209;
+    uint64_t x210;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x211;
+    uint64_t x212;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x213;
+    uint64_t x214;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x215;
+    uint64_t x216;
+    uint64_t x217;
+    uint64_t x218;
+    uint64_t x219;
+    x1 = (arg1[1]);
+    x2 = (arg1[2]);
+    x3 = (arg1[3]);
+    x4 = (arg1[0]);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x5, &x6, x4,
+                                                         (arg1[3]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x7, &x8, x4,
+                                                         (arg1[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x9, &x10, x4,
+                                                         (arg1[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x11, &x12, x4,
+                                                         (arg1[0]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x13, &x14, 0x0,
+                                                              x12, x9);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x15, &x16, x14,
+                                                              x10, x7);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x17, &x18, x16,
+                                                              x8, x5);
+    x19 = (x18 + x6);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x20, &x21, x11, UINT64_C(0xdf6e6c2c727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x22, &x23, x20, UINT64_C(0x9b9f605f5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x24, &x25, x20, UINT64_C(0xab1ec85e6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x26, &x27, x20, UINT64_C(0xcf846e86789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x28, &x29, x20, UINT64_C(0x7998f7b9022d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x30, &x31, 0x0,
+                                                              x29, x26);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x32, &x33, x31,
+                                                              x27, x24);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x34, &x35, x33,
+                                                              x25, x22);
+    x36 = (x35 + x23);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x37, &x38, 0x0,
+                                                              x11, x28);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x39, &x40, x38,
+                                                              x13, x30);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x41, &x42, x40,
+                                                              x15, x32);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x43, &x44, x42,
+                                                              x17, x34);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x45, &x46, x44,
+                                                              x19, x36);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x47, &x48, x1,
+                                                         (arg1[3]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x49, &x50, x1,
+                                                         (arg1[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x51, &x52, x1,
+                                                         (arg1[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x53, &x54, x1,
+                                                         (arg1[0]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x55, &x56, 0x0,
+                                                              x54, x51);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x57, &x58, x56,
+                                                              x52, x49);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x59, &x60, x58,
+                                                              x50, x47);
+    x61 = (x60 + x48);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x62, &x63, 0x0,
+                                                              x39, x53);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x64, &x65, x63,
+                                                              x41, x55);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x66, &x67, x65,
+                                                              x43, x57);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x68, &x69, x67,
+                                                              x45, x59);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x70, &x71, x69,
+                                                              x46, x61);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x72, &x73, x62, UINT64_C(0xdf6e6c2c727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x74, &x75, x72, UINT64_C(0x9b9f605f5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x76, &x77, x72, UINT64_C(0xab1ec85e6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x78, &x79, x72, UINT64_C(0xcf846e86789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x80, &x81, x72, UINT64_C(0x7998f7b9022d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x82, &x83, 0x0,
+                                                              x81, x78);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x84, &x85, x83,
+                                                              x79, x76);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x86, &x87, x85,
+                                                              x77, x74);
+    x88 = (x87 + x75);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x89, &x90, 0x0,
+                                                              x62, x80);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x91, &x92, x90,
+                                                              x64, x82);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x93, &x94, x92,
+                                                              x66, x84);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x95, &x96, x94,
+                                                              x68, x86);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x97, &x98, x96,
+                                                              x70, x88);
+    x99 = ((uint64_t)x98 + x71);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x100, &x101, x2,
+                                                         (arg1[3]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x102, &x103, x2,
+                                                         (arg1[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x104, &x105, x2,
+                                                         (arg1[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x106, &x107, x2,
+                                                         (arg1[0]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x108, &x109, 0x0,
+                                                              x107, x104);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x110, &x111,
+                                                              x109, x105, x102);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x112, &x113,
+                                                              x111, x103, x100);
+    x114 = (x113 + x101);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x115, &x116, 0x0,
+                                                              x91, x106);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x117, &x118,
+                                                              x116, x93, x108);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x119, &x120,
+                                                              x118, x95, x110);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x121, &x122,
+                                                              x120, x97, x112);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x123, &x124,
+                                                              x122, x99, x114);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x125, &x126, x115, UINT64_C(0xdf6e6c2c727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x127, &x128, x125, UINT64_C(0x9b9f605f5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x129, &x130, x125, UINT64_C(0xab1ec85e6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x131, &x132, x125, UINT64_C(0xcf846e86789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x133, &x134, x125, UINT64_C(0x7998f7b9022d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x135, &x136, 0x0,
+                                                              x134, x131);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x137, &x138,
+                                                              x136, x132, x129);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x139, &x140,
+                                                              x138, x130, x127);
+    x141 = (x140 + x128);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x142, &x143, 0x0,
+                                                              x115, x133);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x144, &x145,
+                                                              x143, x117, x135);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x146, &x147,
+                                                              x145, x119, x137);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x148, &x149,
+                                                              x147, x121, x139);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x150, &x151,
+                                                              x149, x123, x141);
+    x152 = ((uint64_t)x151 + x124);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x153, &x154, x3,
+                                                         (arg1[3]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x155, &x156, x3,
+                                                         (arg1[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x157, &x158, x3,
+                                                         (arg1[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(&x159, &x160, x3,
+                                                         (arg1[0]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x161, &x162, 0x0,
+                                                              x160, x157);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x163, &x164,
+                                                              x162, x158, x155);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x165, &x166,
+                                                              x164, x156, x153);
+    x167 = (x166 + x154);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x168, &x169, 0x0,
+                                                              x144, x159);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x170, &x171,
+                                                              x169, x146, x161);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x172, &x173,
+                                                              x171, x148, x163);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x174, &x175,
+                                                              x173, x150, x165);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x176, &x177,
+                                                              x175, x152, x167);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x178, &x179, x168, UINT64_C(0xdf6e6c2c727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x180, &x181, x178, UINT64_C(0x9b9f605f5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x182, &x183, x178, UINT64_C(0xab1ec85e6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x184, &x185, x178, UINT64_C(0xcf846e86789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x186, &x187, x178, UINT64_C(0x7998f7b9022d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x188, &x189, 0x0,
+                                                              x187, x184);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x190, &x191,
+                                                              x189, x185, x182);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x192, &x193,
+                                                              x191, x183, x180);
+    x194 = (x193 + x181);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x195, &x196, 0x0,
+                                                              x168, x186);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x197, &x198,
+                                                              x196, x170, x188);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x199, &x200,
+                                                              x198, x172, x190);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x201, &x202,
+                                                              x200, x174, x192);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x203, &x204,
+                                                              x202, x176, x194);
+    x205 = ((uint64_t)x204 + x177);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
+        &x206, &x207, 0x0, x197, UINT64_C(0x7998f7b9022d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
+        &x208, &x209, x207, x199, UINT64_C(0xcf846e86789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
+        &x210, &x211, x209, x201, UINT64_C(0xab1ec85e6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
+        &x212, &x213, x211, x203, UINT64_C(0x9b9f605f5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(&x214, &x215,
+                                                               x213, x205, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x216, x215, x206,
+                                                            x197);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x217, x215, x208,
+                                                            x199);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x218, x215, x210,
+                                                            x201);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x219, x215, x212,
+                                                            x203);
+    out1[0] = x216;
+    out1[1] = x217;
+    out1[2] = x218;
+    out1[3] = x219;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add adds two field elements in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ *   0 ≤ eval arg2 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) + eval (from_montgomery arg2)) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(
+    uint64_t out1[4], const uint64_t arg1[4], const uint64_t arg2[4]) {
+    uint64_t x1;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x2;
+    uint64_t x3;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x4;
+    uint64_t x5;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x6;
+    uint64_t x7;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x8;
+    uint64_t x9;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x10;
+    uint64_t x11;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x12;
+    uint64_t x13;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x14;
+    uint64_t x15;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x16;
+    uint64_t x17;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x18;
+    uint64_t x19;
+    uint64_t x20;
+    uint64_t x21;
+    uint64_t x22;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
+        &x1, &x2, 0x0, (arg1[0]), (arg2[0]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
+        &x3, &x4, x2, (arg1[1]), (arg2[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
+        &x5, &x6, x4, (arg1[2]), (arg2[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
+        &x7, &x8, x6, (arg1[3]), (arg2[3]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
+        &x9, &x10, 0x0, x1, UINT64_C(0x7998f7b9022d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
+        &x11, &x12, x10, x3, UINT64_C(0xcf846e86789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
+        &x13, &x14, x12, x5, UINT64_C(0xab1ec85e6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
+        &x15, &x16, x14, x7, UINT64_C(0x9b9f605f5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(&x17, &x18, x16,
+                                                               x8, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x19, x18, x9, x1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x20, x18, x11, x3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x21, x18, x13, x5);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x22, x18, x15, x7);
+    out1[0] = x19;
+    out1[1] = x20;
+    out1[2] = x21;
+    out1[3] = x22;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub subtracts two field elements in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ *   0 ≤ eval arg2 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) - eval (from_montgomery arg2)) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(
+    uint64_t out1[4], const uint64_t arg1[4], const uint64_t arg2[4]) {
+    uint64_t x1;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x2;
+    uint64_t x3;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x4;
+    uint64_t x5;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x6;
+    uint64_t x7;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x8;
+    uint64_t x9;
+    uint64_t x10;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x11;
+    uint64_t x12;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x13;
+    uint64_t x14;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x15;
+    uint64_t x16;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x17;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
+        &x1, &x2, 0x0, (arg1[0]), (arg2[0]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
+        &x3, &x4, x2, (arg1[1]), (arg2[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
+        &x5, &x6, x4, (arg1[2]), (arg2[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
+        &x7, &x8, x6, (arg1[3]), (arg2[3]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(
+        &x9, x8, 0x0, UINT64_C(0xffffffffffffffff));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
+        &x10, &x11, 0x0, x1, (x9 & UINT64_C(0x7998f7b9022d759b)));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
+        &x12, &x13, x11, x3, (x9 & UINT64_C(0xcf846e86789051d3)));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
+        &x14, &x15, x13, x5, (x9 & UINT64_C(0xab1ec85e6b41c8aa)));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
+        &x16, &x17, x15, x7, (x9 & UINT64_C(0x9b9f605f5a858107)));
+    out1[0] = x10;
+    out1[1] = x12;
+    out1[2] = x14;
+    out1[3] = x16;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp negates a field element in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = -eval (from_montgomery arg1) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(
+    uint64_t out1[4], const uint64_t arg1[4]) {
+    uint64_t x1;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x2;
+    uint64_t x3;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x4;
+    uint64_t x5;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x6;
+    uint64_t x7;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x8;
+    uint64_t x9;
+    uint64_t x10;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x11;
+    uint64_t x12;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x13;
+    uint64_t x14;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x15;
+    uint64_t x16;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x17;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(&x1, &x2, 0x0,
+                                                               0x0, (arg1[0]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(&x3, &x4, x2,
+                                                               0x0, (arg1[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(&x5, &x6, x4,
+                                                               0x0, (arg1[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(&x7, &x8, x6,
+                                                               0x0, (arg1[3]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(
+        &x9, x8, 0x0, UINT64_C(0xffffffffffffffff));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
+        &x10, &x11, 0x0, x1, (x9 & UINT64_C(0x7998f7b9022d759b)));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
+        &x12, &x13, x11, x3, (x9 & UINT64_C(0xcf846e86789051d3)));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
+        &x14, &x15, x13, x5, (x9 & UINT64_C(0xab1ec85e6b41c8aa)));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
+        &x16, &x17, x15, x7, (x9 & UINT64_C(0x9b9f605f5a858107)));
+    out1[0] = x10;
+    out1[1] = x12;
+    out1[2] = x14;
+    out1[3] = x16;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery translates a field element out of the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   eval out1 mod m = (eval arg1 * ((2^64)⁻¹ mod m)^4) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(
+    uint64_t out1[4], const uint64_t arg1[4]) {
+    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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x13;
+    uint64_t x14;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x15;
+    uint64_t x16;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x17;
+    uint64_t x18;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x19;
+    uint64_t x20;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x21;
+    uint64_t x22;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x23;
+    uint64_t x24;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x25;
+    uint64_t x26;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x27;
+    uint64_t x28;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x29;
+    uint64_t x30;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x43;
+    uint64_t x44;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x45;
+    uint64_t x46;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x47;
+    uint64_t x48;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x49;
+    uint64_t x50;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x51;
+    uint64_t x52;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x53;
+    uint64_t x54;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x55;
+    uint64_t x56;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x57;
+    uint64_t x58;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x59;
+    uint64_t x60;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x73;
+    uint64_t x74;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x75;
+    uint64_t x76;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x77;
+    uint64_t x78;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x79;
+    uint64_t x80;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x81;
+    uint64_t x82;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x83;
+    uint64_t x84;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x85;
+    uint64_t x86;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x87;
+    uint64_t x88;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x89;
+    uint64_t x90;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x103;
+    uint64_t x104;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x105;
+    uint64_t x106;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x107;
+    uint64_t x108;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x109;
+    uint64_t x110;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x111;
+    uint64_t x112;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x113;
+    uint64_t x114;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x115;
+    uint64_t x116;
+    uint64_t x117;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x118;
+    uint64_t x119;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x120;
+    uint64_t x121;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x122;
+    uint64_t x123;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x124;
+    uint64_t x125;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x126;
+    uint64_t x127;
+    uint64_t x128;
+    uint64_t x129;
+    uint64_t x130;
+    x1 = (arg1[0]);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x2, &x3, x1, UINT64_C(0xdf6e6c2c727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x4, &x5, x2, UINT64_C(0x9b9f605f5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x6, &x7, x2, UINT64_C(0xab1ec85e6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x8, &x9, x2, UINT64_C(0xcf846e86789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x10, &x11, x2, UINT64_C(0x7998f7b9022d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x12, &x13, 0x0,
+                                                              x11, x8);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x14, &x15, x13,
+                                                              x9, x6);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x16, &x17, x15,
+                                                              x7, x4);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x18, &x19, 0x0,
+                                                              x1, x10);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x20, &x21, x19,
+                                                              0x0, x12);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x22, &x23, x21,
+                                                              0x0, x14);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x24, &x25, x23,
+                                                              0x0, x16);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x26, &x27, 0x0,
+                                                              x20, (arg1[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x28, &x29, x27,
+                                                              x22, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x30, &x31, x29,
+                                                              x24, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x32, &x33, x26, UINT64_C(0xdf6e6c2c727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x34, &x35, x32, UINT64_C(0x9b9f605f5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x36, &x37, x32, UINT64_C(0xab1ec85e6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x38, &x39, x32, UINT64_C(0xcf846e86789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x40, &x41, x32, UINT64_C(0x7998f7b9022d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x42, &x43, 0x0,
+                                                              x41, x38);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x44, &x45, x43,
+                                                              x39, x36);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x46, &x47, x45,
+                                                              x37, x34);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x48, &x49, 0x0,
+                                                              x26, x40);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x50, &x51, x49,
+                                                              x28, x42);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x52, &x53, x51,
+                                                              x30, x44);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
+        &x54, &x55, x53, (x31 + (x25 + (x17 + x5))), x46);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x56, &x57, 0x0,
+                                                              x50, (arg1[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x58, &x59, x57,
+                                                              x52, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x60, &x61, x59,
+                                                              x54, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x62, &x63, x56, UINT64_C(0xdf6e6c2c727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x64, &x65, x62, UINT64_C(0x9b9f605f5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x66, &x67, x62, UINT64_C(0xab1ec85e6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x68, &x69, x62, UINT64_C(0xcf846e86789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x70, &x71, x62, UINT64_C(0x7998f7b9022d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x72, &x73, 0x0,
+                                                              x71, x68);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x74, &x75, x73,
+                                                              x69, x66);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x76, &x77, x75,
+                                                              x67, x64);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x78, &x79, 0x0,
+                                                              x56, x70);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x80, &x81, x79,
+                                                              x58, x72);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x82, &x83, x81,
+                                                              x60, x74);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
+        &x84, &x85, x83, (x61 + (x55 + (x47 + x35))), x76);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x86, &x87, 0x0,
+                                                              x80, (arg1[3]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x88, &x89, x87,
+                                                              x82, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x90, &x91, x89,
+                                                              x84, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x92, &x93, x86, UINT64_C(0xdf6e6c2c727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x94, &x95, x92, UINT64_C(0x9b9f605f5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x96, &x97, x92, UINT64_C(0xab1ec85e6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x98, &x99, x92, UINT64_C(0xcf846e86789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x100, &x101, x92, UINT64_C(0x7998f7b9022d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x102, &x103, 0x0,
+                                                              x101, x98);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x104, &x105,
+                                                              x103, x99, x96);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x106, &x107,
+                                                              x105, x97, x94);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x108, &x109, 0x0,
+                                                              x86, x100);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x110, &x111,
+                                                              x109, x88, x102);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x112, &x113,
+                                                              x111, x90, x104);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
+        &x114, &x115, x113, (x91 + (x85 + (x77 + x65))), x106);
+    x116 = (x115 + (x107 + x95));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
+        &x117, &x118, 0x0, x110, UINT64_C(0x7998f7b9022d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
+        &x119, &x120, x118, x112, UINT64_C(0xcf846e86789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
+        &x121, &x122, x120, x114, UINT64_C(0xab1ec85e6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
+        &x123, &x124, x122, x116, UINT64_C(0x9b9f605f5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(&x125, &x126,
+                                                               x124, 0x0, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x127, x126, x117,
+                                                            x110);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x128, x126, x119,
+                                                            x112);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x129, x126, x121,
+                                                            x114);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x130, x126, x123,
+                                                            x116);
+    out1[0] = x127;
+    out1[1] = x128;
+    out1[2] = x129;
+    out1[3] = x130;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery translates a field element into the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = eval arg1 mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(
+    uint64_t out1[4], const uint64_t arg1[4]) {
+    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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x14;
+    uint64_t x15;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x16;
+    uint64_t x17;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x30;
+    uint64_t x31;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x32;
+    uint64_t x33;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x34;
+    uint64_t x35;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x36;
+    uint64_t x37;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x38;
+    uint64_t x39;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x40;
+    uint64_t x41;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x42;
+    uint64_t x43;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x54;
+    uint64_t x55;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x56;
+    uint64_t x57;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x58;
+    uint64_t x59;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x60;
+    uint64_t x61;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x62;
+    uint64_t x63;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x64;
+    uint64_t x65;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 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_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x78;
+    uint64_t x79;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x80;
+    uint64_t x81;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x82;
+    uint64_t x83;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x84;
+    uint64_t x85;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x86;
+    uint64_t x87;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x88;
+    uint64_t x89;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x90;
+    uint64_t x91;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x102;
+    uint64_t x103;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x104;
+    uint64_t x105;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x106;
+    uint64_t x107;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x108;
+    uint64_t x109;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x110;
+    uint64_t x111;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x112;
+    uint64_t x113;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x126;
+    uint64_t x127;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x128;
+    uint64_t x129;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x130;
+    uint64_t x131;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x132;
+    uint64_t x133;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x134;
+    uint64_t x135;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x136;
+    uint64_t x137;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x138;
+    uint64_t x139;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x150;
+    uint64_t x151;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x152;
+    uint64_t x153;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x154;
+    uint64_t x155;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x156;
+    uint64_t x157;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x158;
+    uint64_t x159;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x160;
+    uint64_t x161;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x174;
+    uint64_t x175;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x176;
+    uint64_t x177;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x178;
+    uint64_t x179;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x180;
+    uint64_t x181;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x182;
+    uint64_t x183;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x184;
+    uint64_t x185;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x186;
+    uint64_t x187;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x188;
+    uint64_t x189;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x190;
+    uint64_t x191;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x192;
+    uint64_t x193;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x194;
+    uint64_t x195;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x196;
+    uint64_t x197;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x198;
+    uint64_t x199;
+    uint64_t x200;
+    uint64_t x201;
+    uint64_t x202;
+    x1 = (arg1[1]);
+    x2 = (arg1[2]);
+    x3 = (arg1[3]);
+    x4 = (arg1[0]);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x5, &x6, x4, UINT64_C(0x807a394ede097652));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x7, &x8, x4, UINT64_C(0x186304212849c07b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x9, &x10, x4, UINT64_C(0x1017bb39c2d346c5));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x11, &x12, x4, UINT64_C(0x409973b4c427fcea));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x13, &x14, 0x0,
+                                                              x12, x9);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x15, &x16, x14,
+                                                              x10, x7);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x17, &x18, x16,
+                                                              x8, x5);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x19, &x20, x11, UINT64_C(0xdf6e6c2c727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x21, &x22, x19, UINT64_C(0x9b9f605f5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x23, &x24, x19, UINT64_C(0xab1ec85e6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x25, &x26, x19, UINT64_C(0xcf846e86789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x27, &x28, x19, UINT64_C(0x7998f7b9022d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x29, &x30, 0x0,
+                                                              x28, x25);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x31, &x32, x30,
+                                                              x26, x23);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x33, &x34, x32,
+                                                              x24, x21);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x35, &x36, 0x0,
+                                                              x11, x27);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x37, &x38, x36,
+                                                              x13, x29);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x39, &x40, x38,
+                                                              x15, x31);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x41, &x42, x40,
+                                                              x17, x33);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
+        &x43, &x44, x42, (x18 + x6), (x34 + x22));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x45, &x46, x1, UINT64_C(0x807a394ede097652));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x47, &x48, x1, UINT64_C(0x186304212849c07b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x49, &x50, x1, UINT64_C(0x1017bb39c2d346c5));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x51, &x52, x1, UINT64_C(0x409973b4c427fcea));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x53, &x54, 0x0,
+                                                              x52, x49);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x55, &x56, x54,
+                                                              x50, x47);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x57, &x58, x56,
+                                                              x48, x45);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x59, &x60, 0x0,
+                                                              x37, x51);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x61, &x62, x60,
+                                                              x39, x53);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x63, &x64, x62,
+                                                              x41, x55);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x65, &x66, x64,
+                                                              x43, x57);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x67, &x68, x59, UINT64_C(0xdf6e6c2c727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x69, &x70, x67, UINT64_C(0x9b9f605f5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x71, &x72, x67, UINT64_C(0xab1ec85e6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x73, &x74, x67, UINT64_C(0xcf846e86789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x75, &x76, x67, UINT64_C(0x7998f7b9022d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x77, &x78, 0x0,
+                                                              x76, x73);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x79, &x80, x78,
+                                                              x74, x71);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x81, &x82, x80,
+                                                              x72, x69);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x83, &x84, 0x0,
+                                                              x59, x75);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x85, &x86, x84,
+                                                              x61, x77);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x87, &x88, x86,
+                                                              x63, x79);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x89, &x90, x88,
+                                                              x65, x81);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
+        &x91, &x92, x90, (((uint64_t)x66 + x44) + (x58 + x46)), (x82 + x70));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x93, &x94, x2, UINT64_C(0x807a394ede097652));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x95, &x96, x2, UINT64_C(0x186304212849c07b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x97, &x98, x2, UINT64_C(0x1017bb39c2d346c5));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x99, &x100, x2, UINT64_C(0x409973b4c427fcea));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x101, &x102, 0x0,
+                                                              x100, x97);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x103, &x104,
+                                                              x102, x98, x95);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x105, &x106,
+                                                              x104, x96, x93);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x107, &x108, 0x0,
+                                                              x85, x99);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x109, &x110,
+                                                              x108, x87, x101);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x111, &x112,
+                                                              x110, x89, x103);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x113, &x114,
+                                                              x112, x91, x105);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x115, &x116, x107, UINT64_C(0xdf6e6c2c727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x117, &x118, x115, UINT64_C(0x9b9f605f5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x119, &x120, x115, UINT64_C(0xab1ec85e6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x121, &x122, x115, UINT64_C(0xcf846e86789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x123, &x124, x115, UINT64_C(0x7998f7b9022d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x125, &x126, 0x0,
+                                                              x124, x121);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x127, &x128,
+                                                              x126, x122, x119);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x129, &x130,
+                                                              x128, x120, x117);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x131, &x132, 0x0,
+                                                              x107, x123);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x133, &x134,
+                                                              x132, x109, x125);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x135, &x136,
+                                                              x134, x111, x127);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x137, &x138,
+                                                              x136, x113, x129);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
+        &x139, &x140, x138, (((uint64_t)x114 + x92) + (x106 + x94)),
+        (x130 + x118));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x141, &x142, x3, UINT64_C(0x807a394ede097652));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x143, &x144, x3, UINT64_C(0x186304212849c07b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x145, &x146, x3, UINT64_C(0x1017bb39c2d346c5));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x147, &x148, x3, UINT64_C(0x409973b4c427fcea));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x149, &x150, 0x0,
+                                                              x148, x145);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x151, &x152,
+                                                              x150, x146, x143);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x153, &x154,
+                                                              x152, x144, x141);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x155, &x156, 0x0,
+                                                              x133, x147);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x157, &x158,
+                                                              x156, x135, x149);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x159, &x160,
+                                                              x158, x137, x151);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x161, &x162,
+                                                              x160, x139, x153);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x163, &x164, x155, UINT64_C(0xdf6e6c2c727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x165, &x166, x163, UINT64_C(0x9b9f605f5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x167, &x168, x163, UINT64_C(0xab1ec85e6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x169, &x170, x163, UINT64_C(0xcf846e86789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u64(
+        &x171, &x172, x163, UINT64_C(0x7998f7b9022d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x173, &x174, 0x0,
+                                                              x172, x169);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x175, &x176,
+                                                              x174, x170, x167);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x177, &x178,
+                                                              x176, x168, x165);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x179, &x180, 0x0,
+                                                              x155, x171);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x181, &x182,
+                                                              x180, x157, x173);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x183, &x184,
+                                                              x182, x159, x175);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(&x185, &x186,
+                                                              x184, x161, x177);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u64(
+        &x187, &x188, x186, (((uint64_t)x162 + x140) + (x154 + x142)),
+        (x178 + x166));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
+        &x189, &x190, 0x0, x181, UINT64_C(0x7998f7b9022d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
+        &x191, &x192, x190, x183, UINT64_C(0xcf846e86789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
+        &x193, &x194, x192, x185, UINT64_C(0xab1ec85e6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(
+        &x195, &x196, x194, x187, UINT64_C(0x9b9f605f5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u64(&x197, &x198,
+                                                               x196, x188, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x199, x198, x189,
+                                                            x181);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x200, x198, x191,
+                                                            x183);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x201, x198, x193,
+                                                            x185);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(&x202, x198, x195,
+                                                            x187);
+    out1[0] = x199;
+    out1[1] = x200;
+    out1[2] = x201;
+    out1[3] = x202;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_nonzero outputs a single non-zero word if the input is non-zero and zero otherwise.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   out1 = 0 ↔ eval (from_montgomery arg1) mod m = 0
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffffffffffffff]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_nonzero(
+    uint64_t *out1, const uint64_t arg1[4]) {
+    uint64_t x1;
+    x1 = ((arg1[0]) | ((arg1[1]) | ((arg1[2]) | ((arg1[3]) | (uint64_t)0x0))));
+    *out1 = x1;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_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]]
+ *   arg3: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
+    uint64_t out1[4], fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 arg1,
+    const uint64_t arg2[4], const uint64_t arg3[4]) {
+    uint64_t x1;
+    uint64_t x2;
+    uint64_t x3;
+    uint64_t x4;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(
+        &x1, arg1, (arg2[0]), (arg3[0]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(
+        &x2, arg1, (arg2[1]), (arg3[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(
+        &x3, arg1, (arg2[2]), (arg3[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u64(
+        &x4, arg1, (arg2[3]), (arg3[3]));
+    out1[0] = x1;
+    out1[1] = x2;
+    out1[2] = x3;
+    out1[3] = x4;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes serializes a field element in the Montgomery domain to bytes in little-endian order.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..31]
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * 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]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(
+    uint8_t out1[32], const uint64_t arg1[4]) {
+    uint64_t x1;
+    uint64_t x2;
+    uint64_t x3;
+    uint64_t x4;
+    uint64_t x5;
+    uint8_t x6;
+    uint64_t x7;
+    uint8_t x8;
+    uint64_t x9;
+    uint8_t x10;
+    uint64_t x11;
+    uint8_t x12;
+    uint64_t x13;
+    uint8_t x14;
+    uint64_t x15;
+    uint8_t x16;
+    uint8_t x17;
+    uint8_t x18;
+    uint8_t x19;
+    uint64_t x20;
+    uint8_t x21;
+    uint64_t x22;
+    uint8_t x23;
+    uint64_t x24;
+    uint8_t x25;
+    uint64_t x26;
+    uint8_t x27;
+    uint64_t x28;
+    uint8_t x29;
+    uint64_t x30;
+    uint8_t x31;
+    uint8_t x32;
+    uint8_t x33;
+    uint8_t x34;
+    uint64_t x35;
+    uint8_t x36;
+    uint64_t x37;
+    uint8_t x38;
+    uint64_t x39;
+    uint8_t x40;
+    uint64_t x41;
+    uint8_t x42;
+    uint64_t x43;
+    uint8_t x44;
+    uint64_t x45;
+    uint8_t x46;
+    uint8_t x47;
+    uint8_t x48;
+    uint8_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;
+    uint64_t x60;
+    uint8_t x61;
+    uint8_t x62;
+    uint8_t x63;
+    x1 = (arg1[3]);
+    x2 = (arg1[2]);
+    x3 = (arg1[1]);
+    x4 = (arg1[0]);
+    x5 = (x4 >> 8);
+    x6 = (uint8_t)(x4 & UINT8_C(0xff));
+    x7 = (x5 >> 8);
+    x8 = (uint8_t)(x5 & UINT8_C(0xff));
+    x9 = (x7 >> 8);
+    x10 = (uint8_t)(x7 & UINT8_C(0xff));
+    x11 = (x9 >> 8);
+    x12 = (uint8_t)(x9 & UINT8_C(0xff));
+    x13 = (x11 >> 8);
+    x14 = (uint8_t)(x11 & UINT8_C(0xff));
+    x15 = (x13 >> 8);
+    x16 = (uint8_t)(x13 & UINT8_C(0xff));
+    x17 = (uint8_t)(x15 >> 8);
+    x18 = (uint8_t)(x15 & UINT8_C(0xff));
+    x19 = (uint8_t)(x17 & UINT8_C(0xff));
+    x20 = (x3 >> 8);
+    x21 = (uint8_t)(x3 & UINT8_C(0xff));
+    x22 = (x20 >> 8);
+    x23 = (uint8_t)(x20 & UINT8_C(0xff));
+    x24 = (x22 >> 8);
+    x25 = (uint8_t)(x22 & UINT8_C(0xff));
+    x26 = (x24 >> 8);
+    x27 = (uint8_t)(x24 & UINT8_C(0xff));
+    x28 = (x26 >> 8);
+    x29 = (uint8_t)(x26 & UINT8_C(0xff));
+    x30 = (x28 >> 8);
+    x31 = (uint8_t)(x28 & UINT8_C(0xff));
+    x32 = (uint8_t)(x30 >> 8);
+    x33 = (uint8_t)(x30 & UINT8_C(0xff));
+    x34 = (uint8_t)(x32 & UINT8_C(0xff));
+    x35 = (x2 >> 8);
+    x36 = (uint8_t)(x2 & UINT8_C(0xff));
+    x37 = (x35 >> 8);
+    x38 = (uint8_t)(x35 & UINT8_C(0xff));
+    x39 = (x37 >> 8);
+    x40 = (uint8_t)(x37 & UINT8_C(0xff));
+    x41 = (x39 >> 8);
+    x42 = (uint8_t)(x39 & UINT8_C(0xff));
+    x43 = (x41 >> 8);
+    x44 = (uint8_t)(x41 & UINT8_C(0xff));
+    x45 = (x43 >> 8);
+    x46 = (uint8_t)(x43 & UINT8_C(0xff));
+    x47 = (uint8_t)(x45 >> 8);
+    x48 = (uint8_t)(x45 & UINT8_C(0xff));
+    x49 = (uint8_t)(x47 & UINT8_C(0xff));
+    x50 = (x1 >> 8);
+    x51 = (uint8_t)(x1 & 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 = (x58 >> 8);
+    x61 = (uint8_t)(x58 & UINT8_C(0xff));
+    x62 = (uint8_t)(x60 >> 8);
+    x63 = (uint8_t)(x60 & UINT8_C(0xff));
+    out1[0] = x6;
+    out1[1] = x8;
+    out1[2] = x10;
+    out1[3] = x12;
+    out1[4] = x14;
+    out1[5] = x16;
+    out1[6] = x18;
+    out1[7] = x19;
+    out1[8] = x21;
+    out1[9] = x23;
+    out1[10] = x25;
+    out1[11] = x27;
+    out1[12] = x29;
+    out1[13] = x31;
+    out1[14] = x33;
+    out1[15] = x34;
+    out1[16] = x36;
+    out1[17] = x38;
+    out1[18] = x40;
+    out1[19] = x42;
+    out1[20] = x44;
+    out1[21] = x46;
+    out1[22] = x48;
+    out1[23] = x49;
+    out1[24] = x51;
+    out1[25] = x53;
+    out1[26] = x55;
+    out1[27] = x57;
+    out1[28] = x59;
+    out1[29] = x61;
+    out1[30] = x63;
+    out1[31] = x62;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes deserializes a field element in the Montgomery domain from bytes in little-endian order.
+ * Preconditions:
+ *   0 ≤ bytes_eval arg1 < m
+ * Postconditions:
+ *   eval out1 mod m = bytes_eval arg1 mod m
+ *   0 ≤ eval out1 < 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]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(
+    uint64_t out1[4], const uint8_t arg1[32]) {
+    uint64_t x1;
+    uint64_t x2;
+    uint64_t x3;
+    uint64_t x4;
+    uint64_t x5;
+    uint64_t x6;
+    uint64_t x7;
+    uint8_t x8;
+    uint64_t x9;
+    uint64_t x10;
+    uint64_t x11;
+    uint64_t x12;
+    uint64_t x13;
+    uint64_t x14;
+    uint64_t x15;
+    uint8_t x16;
+    uint64_t x17;
+    uint64_t x18;
+    uint64_t x19;
+    uint64_t x20;
+    uint64_t x21;
+    uint64_t x22;
+    uint64_t x23;
+    uint8_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;
+    x1 = ((uint64_t)(arg1[31]) << 56);
+    x2 = ((uint64_t)(arg1[30]) << 48);
+    x3 = ((uint64_t)(arg1[29]) << 40);
+    x4 = ((uint64_t)(arg1[28]) << 32);
+    x5 = ((uint64_t)(arg1[27]) << 24);
+    x6 = ((uint64_t)(arg1[26]) << 16);
+    x7 = ((uint64_t)(arg1[25]) << 8);
+    x8 = (arg1[24]);
+    x9 = ((uint64_t)(arg1[23]) << 56);
+    x10 = ((uint64_t)(arg1[22]) << 48);
+    x11 = ((uint64_t)(arg1[21]) << 40);
+    x12 = ((uint64_t)(arg1[20]) << 32);
+    x13 = ((uint64_t)(arg1[19]) << 24);
+    x14 = ((uint64_t)(arg1[18]) << 16);
+    x15 = ((uint64_t)(arg1[17]) << 8);
+    x16 = (arg1[16]);
+    x17 = ((uint64_t)(arg1[15]) << 56);
+    x18 = ((uint64_t)(arg1[14]) << 48);
+    x19 = ((uint64_t)(arg1[13]) << 40);
+    x20 = ((uint64_t)(arg1[12]) << 32);
+    x21 = ((uint64_t)(arg1[11]) << 24);
+    x22 = ((uint64_t)(arg1[10]) << 16);
+    x23 = ((uint64_t)(arg1[9]) << 8);
+    x24 = (arg1[8]);
+    x25 = ((uint64_t)(arg1[7]) << 56);
+    x26 = ((uint64_t)(arg1[6]) << 48);
+    x27 = ((uint64_t)(arg1[5]) << 40);
+    x28 = ((uint64_t)(arg1[4]) << 32);
+    x29 = ((uint64_t)(arg1[3]) << 24);
+    x30 = ((uint64_t)(arg1[2]) << 16);
+    x31 = ((uint64_t)(arg1[1]) << 8);
+    x32 = (arg1[0]);
+    x33 = (x32 + (x31 + (x30 + (x29 + (x28 + (x27 + (x26 + x25)))))));
+    x34 = (x33 & UINT64_C(0xffffffffffffffff));
+    x35 = (x8 + (x7 + (x6 + (x5 + (x4 + (x3 + (x2 + x1)))))));
+    x36 = (x16 + (x15 + (x14 + (x13 + (x12 + (x11 + (x10 + x9)))))));
+    x37 = (x24 + (x23 + (x22 + (x21 + (x20 + (x19 + (x18 + x17)))))));
+    x38 = (x37 & UINT64_C(0xffffffffffffffff));
+    x39 = (x36 & UINT64_C(0xffffffffffffffff));
+    out1[0] = x34;
+    out1[1] = x38;
+    out1[2] = x39;
+    out1[3] = x35;
+}
+
+/* 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_GostR3410_2001_CryptoPro_C_ParamSet/fe_inv.op3
+ * sliding window w=5
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_inv(fe_t output,
+                                                            const fe_t t1) {
+    int i;
+    /* temporary variables */
+    fe_t acc, t11, t13, t15, t17, t19, t21, t23, t25, t27, t29, t3, t31, t5, t7,
+        t9;
+
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, t1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t3, t1, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t5, t3, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t7, t5, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t9, t7, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t11, t9, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t13, t11, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t15, t13, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t17, t15, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t19, t17, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t21, t19, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t23, t21, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t25, t23, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t27, t25, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t29, t27, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t31, t29, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, t9);
+    for (i = 0; i < 4; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t23);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t7);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t27);
+    for (i = 0; i < 7; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t21);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t21);
+    for (i = 0; i < 8; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t11);
+    for (i = 0; i < 7; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
+    for (i = 0; i < 6; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t29);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t11);
+    for (i = 0; i < 7; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
+    for (i = 0; i < 6; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t25);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
+    for (i = 0; i < 6; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t13);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t13);
+    for (i = 0; i < 6; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t25);
+    for (i = 0; i < 8; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t21);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t11);
+    for (i = 0; i < 7; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t31);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t3);
+    for (i = 0; i < 6; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t29);
+    for (i = 0; i < 6; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t3);
+    for (i = 0; i < 6; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
+    for (i = 0; i < 7; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t9);
+    for (i = 0; i < 8; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t5);
+    for (i = 0; i < 6; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t7);
+    for (i = 0; i < 6; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t19);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
+    for (i = 0; i < 7; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t25);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t17);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t29);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t29);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t25);
+    for (i = 0; i < 7; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
+    for (i = 0; i < 7; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t11);
+    for (i = 0; i < 6; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t23);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t11);
+    for (i = 0; i < 7; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(output, acc, t25);
+}
+
+/* curve coefficient constants */
+
+static const limb_t const_one[4] = {
+    UINT64_C(0x86670846FDD28A65), UINT64_C(0x307B9179876FAE2C),
+    UINT64_C(0x54E137A194BE3755), UINT64_C(0x64609FA0A57A7EF8)};
+
+static const limb_t const_b[4] = {
+    UINT64_C(0x4BE8A4E93BDA2ACF), UINT64_C(0x79CC0E3E90D382DD),
+    UINT64_C(0x3BA4C8B01D9CC79B), UINT64_C(0x5CC73B5A966609E9)};
+
+/* LUT for scalar multiplication by comb interleaving */
+static const pt_aff_t lut_cmb[27][16] = {
+    {
+        {{UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000),
+          UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000)},
+         {UINT64_C(0xD082E00700254F12), UINT64_C(0xC5BA8184EB1F1421),
+          UINT64_C(0x4EC9E7D0F010780D), UINT64_C(0x7846B5B72794C8D5)}},
+        {{UINT64_C(0x870FB0417225A595), UINT64_C(0x6CAFAE705FD57F04),
+          UINT64_C(0xFEC1C2AC2E7DB9BA), UINT64_C(0x9230823E127A5862)},
+         {UINT64_C(0xF6CFDB6DE4464836), UINT64_C(0x3D79631B9A945AC0),
+          UINT64_C(0xA1FCF2DF3D0C880D), UINT64_C(0x17C83E500EE6A611)}},
+        {{UINT64_C(0x3C79C11AE42734FD), UINT64_C(0x1614B2BEAC4040C3),
+          UINT64_C(0xDD1437252C3A23A5), UINT64_C(0x1A02DA838AF4F7CD)},
+         {UINT64_C(0x23D588D6E7D6991A), UINT64_C(0x5F332676D2B3E364),
+          UINT64_C(0x353826809134BA88), UINT64_C(0x08ECA826D27090E5)}},
+        {{UINT64_C(0x231F8DC826761106), UINT64_C(0x7363050E3D78B14B),
+          UINT64_C(0xC3B9A1B8C05C4381), UINT64_C(0x29727635B8ACD9AC)},
+         {UINT64_C(0xDD416AE92ED54E6C), UINT64_C(0x546084350B48A87C),
+          UINT64_C(0x2C8DEEA497093D22), UINT64_C(0x87D2924C0D716BAF)}},
+        {{UINT64_C(0x43281D30619206D6), UINT64_C(0x4A8FFC8768744E44),
+          UINT64_C(0xB1011A3D708208D5), UINT64_C(0x2FE86E7BA035B0B9)},
+         {UINT64_C(0x82F43088A3762860), UINT64_C(0x67B5A303B33595D4),
+          UINT64_C(0x262F16EBB477BECD), UINT64_C(0x1D38D4A723E2816A)}},
+        {{UINT64_C(0x91BBA3C0AD83C032), UINT64_C(0x7DBC2EB6234F2FF3),
+          UINT64_C(0xE2C00C156D18A737), UINT64_C(0x71D1AE8BCCF6DC2D)},
+         {UINT64_C(0x6183816A2DB77239), UINT64_C(0xC545A5120E228C41),
+          UINT64_C(0x3B96D6BC0F49A679), UINT64_C(0x9831D683E49E39C2)}},
+        {{UINT64_C(0xEEAA17A920DA13D9), UINT64_C(0xEE3130FB8ABECADE),
+          UINT64_C(0xBFB2CE6AA6E3D089), UINT64_C(0x22BCDCEEE627A07C)},
+         {UINT64_C(0x86D7A50C955A1D9E), UINT64_C(0xCD60A425E4E00B9E),
+          UINT64_C(0x5407A6F8615B9E91), UINT64_C(0x7F17B1714F1CA93D)}},
+        {{UINT64_C(0xBC351DE00DB59F2C), UINT64_C(0x1470E6A19CDAF8AF),
+          UINT64_C(0x461ED28960D3B27A), UINT64_C(0x122C8F4B49C7F789)},
+         {UINT64_C(0xAB56E614069FC8CE), UINT64_C(0x9836B010C34E487C),
+          UINT64_C(0x9EE067033FE009EB), UINT64_C(0x88C8DC64AA019563)}},
+        {{UINT64_C(0xD0B4A99663DDBB1F), UINT64_C(0x483286E51D154696),
+          UINT64_C(0xF0586DB89F0D6F4E), UINT64_C(0x38167987980446C8)},
+         {UINT64_C(0x86A2ABACE4166B55), UINT64_C(0x4E7B4F96A8366C64),
+          UINT64_C(0x20CF2108ED997D8E), UINT64_C(0x20EA98441D01C009)}},
+        {{UINT64_C(0x028B520EB89CE05A), UINT64_C(0xEF41147D4FAAD420),
+          UINT64_C(0xB280CCD3121A2A0A), UINT64_C(0x4C677C8386E8F591)},
+         {UINT64_C(0xB42F67B2A390AA99), UINT64_C(0xC4EF553B19F8A01A),
+          UINT64_C(0x867611396979027F), UINT64_C(0x6F17766382C202BE)}},
+        {{UINT64_C(0xBEF6B99627C5C7CC), UINT64_C(0xB2D34F8B10799DB8),
+          UINT64_C(0x132E1A3D48AD9B1E), UINT64_C(0x2971BFEDE68B9907)},
+         {UINT64_C(0x312F6D31C6B743B5), UINT64_C(0xCF123317A718E0A8),
+          UINT64_C(0xCF1E5266FD58637C), UINT64_C(0x56BA8362E046167C)}},
+        {{UINT64_C(0xD680969D0E910D7F), UINT64_C(0x634FB3C28A4689F9),
+          UINT64_C(0xA79A56DF09FDD299), UINT64_C(0x9065269E89411C3D)},
+         {UINT64_C(0x5D22254E82C6076C), UINT64_C(0xDE7D78F081FEA171),
+          UINT64_C(0xE136696410BCDA87), UINT64_C(0x98B58F5A97638B85)}},
+        {{UINT64_C(0xA532DED4FB5EDF3F), UINT64_C(0x604E5631833A7E2F),
+          UINT64_C(0x7C4051D33A09C74E), UINT64_C(0x51D1108AEDFBEB4B)},
+         {UINT64_C(0x9AE61F9E4DF1AB4D), UINT64_C(0xFD4966F3163DB1A5),
+          UINT64_C(0xF6C44E557075AD6D), UINT64_C(0x670D0D6F4AF24611)}},
+        {{UINT64_C(0xD99925FFD369D301), UINT64_C(0xC17E97677665BCF4),
+          UINT64_C(0xB5A908F1CB5A2128), UINT64_C(0x1981791D9C726C9F)},
+         {UINT64_C(0xC4249418E0861F4E), UINT64_C(0x2A63399FEE045D5E),
+          UINT64_C(0x246958FDA1B974FF), UINT64_C(0x668016A20FC6F7A0)}},
+        {{UINT64_C(0xEB7018ADEDE07C08), UINT64_C(0xDF3C12592E33D1D9),
+          UINT64_C(0xEE0913DADC24E3DE), UINT64_C(0x1C632D5B35EB6B0D)},
+         {UINT64_C(0xC69396DD2C56E1B2), UINT64_C(0x01F0B034A837CE8F),
+          UINT64_C(0x7842B98DB6882E32), UINT64_C(0x8FAC92309E61FCA6)}},
+        {{UINT64_C(0x1DBB7D998A782CFE), UINT64_C(0xEB945B49C9322BE7),
+          UINT64_C(0xDCCB4E6EE208123B), UINT64_C(0x1C7C265CFC024524)},
+         {UINT64_C(0xAD000D8A6102BC63), UINT64_C(0x7D7F3C7B82575943),
+          UINT64_C(0x8D2F08810D547A95), UINT64_C(0x7012377AD94FFA6D)}},
+    },
+    {
+        {{UINT64_C(0xE3F78DE51EB6CBF7), UINT64_C(0xF4E08A6172FA65DB),
+          UINT64_C(0x670B0E06502A247E), UINT64_C(0x7A45D73E9877E492)},
+         {UINT64_C(0x5FD754AD3DD0CDBC), UINT64_C(0xA5C2B15E0125AB1F),
+          UINT64_C(0xC503836FE614B7A9), UINT64_C(0x5548C4242C50DCFE)}},
+        {{UINT64_C(0xCEE7BE65B9B38743), UINT64_C(0xD5E4171594BE028E),
+          UINT64_C(0x08EC3CA3B5C45F7D), UINT64_C(0x1ACFAC17FB51261A)},
+         {UINT64_C(0x45098D93A9C04381), UINT64_C(0x717FC0DCA5B45DC8),
+          UINT64_C(0xF352A9C2EABEE4E5), UINT64_C(0x1964AF20F311B457)}},
+        {{UINT64_C(0x8C2298080802A755), UINT64_C(0x46F0A7CA6140CDA7),
+          UINT64_C(0xF0EEB7AEBC62603B), UINT64_C(0x8432E1524BF4B451)},
+         {UINT64_C(0x3C31982563967F94), UINT64_C(0xF04EACB6A042AE13),
+          UINT64_C(0xD7CB2DBC650A6ADB), UINT64_C(0x38A36EE378C9E166)}},
+        {{UINT64_C(0x3527A5C5D3EE8657), UINT64_C(0xBAA0DE97101645F9),
+          UINT64_C(0xC59C9803CE9D6A48), UINT64_C(0x43D12449F8F39FDF)},
+         {UINT64_C(0x65B3AB988DF7A72B), UINT64_C(0xD225AF8EAFDA9048),
+          UINT64_C(0x88C368B8338A3694), UINT64_C(0x4A5A3C24FBC813F1)}},
+        {{UINT64_C(0xCBCB725A9E2118B5), UINT64_C(0x113F36C5CAA54794),
+          UINT64_C(0x5900990E4A0A2267), UINT64_C(0x4E329EB10A9C1F11)},
+         {UINT64_C(0xF47F4077CD8918A7), UINT64_C(0x18A3C0713877B404),
+          UINT64_C(0xCDEF4FE3EFEB2B6B), UINT64_C(0x360982DBDE4D0540)}},
+        {{UINT64_C(0x42AB64F2D5F8DACA), UINT64_C(0x604A9676EE88523D),
+          UINT64_C(0xD430CCABAEFD1283), UINT64_C(0x3DA9D0E554465F7C)},
+         {UINT64_C(0x5EC145DF41A4216B), UINT64_C(0x7C8F2C51F7E7FBD9),
+          UINT64_C(0xA2E58A23BD483D26), UINT64_C(0x4739F7F9E4A908C8)}},
+        {{UINT64_C(0x37DDF87279370382), UINT64_C(0x9D26A55F12C8E90E),
+          UINT64_C(0xFC1FA6CDE8EB0CA4), UINT64_C(0x826A29E5C29DC4F9)},
+         {UINT64_C(0x15ECB621AA29F814), UINT64_C(0x4C8A81289DF1DFF7),
+          UINT64_C(0xBB22301966B549BB), UINT64_C(0x6CB21ACBB81A2863)}},
+        {{UINT64_C(0xDD31ACC211DA6928), UINT64_C(0xF98867B0A903D58F),
+          UINT64_C(0xAD283697D3679348), UINT64_C(0x67BFEFF9301C3571)},
+         {UINT64_C(0xB745CAE6780BBBCE), UINT64_C(0x1A9C661862F2EC5D),
+          UINT64_C(0xF9895684A1475BEB), UINT64_C(0x93E5ACE64731A11D)}},
+        {{UINT64_C(0x0F6E94607539483E), UINT64_C(0x5728E6DD9EF4EF16),
+          UINT64_C(0xE1DA86E1062E946E), UINT64_C(0x272EBC47F2E07759)},
+         {UINT64_C(0xE5E688E3909A578F), UINT64_C(0x9F25D6D17CFD1B7D),
+          UINT64_C(0xC582260FADE1E2A4), UINT64_C(0x2F50F74EA050071E)}},
+        {{UINT64_C(0xE0A8FE3F2DF4D40D), UINT64_C(0xB126E4EF07791F88),
+          UINT64_C(0x69759DB42A88D242), UINT64_C(0x52592A3BC9C1981C)},
+         {UINT64_C(0xD0F4172872F649A1), UINT64_C(0x9FF19B2B0750EBAB),
+          UINT64_C(0xEFC047F9E0D7D222), UINT64_C(0x81491CA12E8140AF)}},
+        {{UINT64_C(0x2DA40FF1675F821B), UINT64_C(0x2C91A2879E2E0502),
+          UINT64_C(0x993ECFF4077D81FE), UINT64_C(0x3ABA2F2C71CC3DAE)},
+         {UINT64_C(0xED007670168413DB), UINT64_C(0xC07D61B5AFBD4E82),
+          UINT64_C(0xF078262E6BBADA24), UINT64_C(0x0E0EDC629E6413CC)}},
+        {{UINT64_C(0x6CD0451DB7D099F9), UINT64_C(0x8FB218E6F8B12C83),
+          UINT64_C(0x4D8C3B26E55EE1E4), UINT64_C(0x949649064A6FCD90)},
+         {UINT64_C(0x9ABB96854BEACA48), UINT64_C(0x6A749487868EFEC7),
+          UINT64_C(0x46BB9B42C8D2932C), UINT64_C(0x82384321DE007BAC)}},
+        {{UINT64_C(0xDBECB743A942DB71), UINT64_C(0x21B5211521A6BC46),
+          UINT64_C(0xE49B689424C17D78), UINT64_C(0x737FD3F189A08E17)},
+         {UINT64_C(0xF833E404C36E4E57), UINT64_C(0x512C114A01E17CE6),
+          UINT64_C(0x65A23D7350D75050), UINT64_C(0x838CA746F2F2D438)}},
+        {{UINT64_C(0x28F9220CA20632B7), UINT64_C(0x72D8C347642358D6),
+          UINT64_C(0xAB15FE1BE89CAA6F), UINT64_C(0x2A09B1436E16374A)},
+         {UINT64_C(0x4CED0986B983CFE8), UINT64_C(0xD9B067B697B84E88),
+          UINT64_C(0x926FC5F5C2350F8F), UINT64_C(0x31D7735884E2078F)}},
+        {{UINT64_C(0xA7815CE77FF17BA1), UINT64_C(0xBE80BB6CA26BBA1B),
+          UINT64_C(0x66DAE535F86DF104), UINT64_C(0x72739199AB1B9C09)},
+         {UINT64_C(0x8E93F3C854056E67), UINT64_C(0xDC5E3855EBF23595),
+          UINT64_C(0x70D1033C78123000), UINT64_C(0x50874350F22DD2BD)}},
+        {{UINT64_C(0x533F213BC2700468), UINT64_C(0x31E6AA9C11BEA732),
+          UINT64_C(0xCB5E184E4491DC82), UINT64_C(0x8A68049A5BD63975)},
+         {UINT64_C(0x1724AC47F86A41D1), UINT64_C(0xDF9A0CA3ECA0DA11),
+          UINT64_C(0xE5E1489C71F0EA19), UINT64_C(0x0E20661AC9DC7BF2)}},
+    },
+    {
+        {{UINT64_C(0x5EB4E319F86D9DA8), UINT64_C(0x3CBF130EE0A46703),
+          UINT64_C(0x166D52DA00A4AB17), UINT64_C(0x27A80547B7030861)},
+         {UINT64_C(0xA7601086399C32BA), UINT64_C(0x571E4E4BC2F0A5E5),
+          UINT64_C(0x72D12F6B39BED44D), UINT64_C(0x8FDCCE3D1AF8F25F)}},
+        {{UINT64_C(0x281F7AF97DFEB40D), UINT64_C(0x0CCE33B9D7F767D5),
+          UINT64_C(0x3E8BF3F48818C1E6), UINT64_C(0x6D909D0D4BA4647A)},
+         {UINT64_C(0x91D77BA0FAC574D1), UINT64_C(0xD259266168CA7FEC),
+          UINT64_C(0xC4C7D6B5281F269C), UINT64_C(0x7A41CD78DA42CDDD)}},
+        {{UINT64_C(0xBC8E0D27A3B8F255), UINT64_C(0xF5E2A8B11C3E5190),
+          UINT64_C(0x8C38862BD609F668), UINT64_C(0x4E31C18E0631D50F)},
+         {UINT64_C(0x9013EDDBF13E0CCD), UINT64_C(0x83B04E6841EFDAF7),
+          UINT64_C(0x15EC4BB8DC82597F), UINT64_C(0x5059515056117705)}},
+        {{UINT64_C(0xD25F244D1E0E0161), UINT64_C(0x6C975D7B1A437FBA),
+          UINT64_C(0x305DB2DF95F2AD8C), UINT64_C(0x17D6E0053B9CC742)},
+         {UINT64_C(0x6A849F76E60BC3C3), UINT64_C(0x35523E08BF8C3790),
+          UINT64_C(0xF18B5335239140E2), UINT64_C(0x5E8570557CA5FF40)}},
+        {{UINT64_C(0xB48F07A4A4250E95), UINT64_C(0x068735AEC7F17667),
+          UINT64_C(0x30F8D31394771B24), UINT64_C(0x598EA397A495A064)},
+         {UINT64_C(0xBF19252968B76855), UINT64_C(0x897E3CC6C7C0D2D6),
+          UINT64_C(0xA2A4948F64EC9649), UINT64_C(0x1027891AAE7C8598)}},
+        {{UINT64_C(0x0442E6CB04585685), UINT64_C(0x09BA61DA82A2D258),
+          UINT64_C(0x7C5400B10AE5466D), UINT64_C(0x0A0B71B0C2133893)},
+         {UINT64_C(0x04E3D98AD5EF6E93), UINT64_C(0x177EA5F8F332BDF2),
+          UINT64_C(0xE7CF3F71C3FAE583), UINT64_C(0x40C451338AE0CFD7)}},
+        {{UINT64_C(0x6BE94FC39B82E738), UINT64_C(0x212FB8048BC262E2),
+          UINT64_C(0xE17F6A7AB22E21FF), UINT64_C(0x22B7BDAB15E960BB)},
+         {UINT64_C(0xE154C945771350C2), UINT64_C(0x6505B8EB882DB07B),
+          UINT64_C(0x149A0A16C7E3ABD3), UINT64_C(0x78F78ABF81C30AAE)}},
+        {{UINT64_C(0x6ED81415C954BC0A), UINT64_C(0x316E801270E55349),
+          UINT64_C(0xEC02323B50399C09), UINT64_C(0x963BA97B8559C3A9)},
+         {UINT64_C(0x39FCE50E037EC345), UINT64_C(0x422A082DD5BF03FB),
+          UINT64_C(0x59ED39E418DCC77E), UINT64_C(0x4CFC3F11A40AA978)}},
+        {{UINT64_C(0x85A5692255D7C9B6), UINT64_C(0x5BC590E2B451111B),
+          UINT64_C(0x3BCB23158782C71B), UINT64_C(0x1F3456C4632246A9)},
+         {UINT64_C(0xEA577AD99CFBBE19), UINT64_C(0x051BEE4035CCE939),
+          UINT64_C(0xDC3008991A0C589C), UINT64_C(0x14877ECED2095619)}},
+        {{UINT64_C(0xB64D0EC695024C5E), UINT64_C(0xB0597195B94CDF74),
+          UINT64_C(0x3B97B51316844010), UINT64_C(0x48799881CCBABC63)},
+         {UINT64_C(0x0E3119AED9819075), UINT64_C(0xA5DCA9C1EB0299FD),
+          UINT64_C(0x8063D7884A404D13), UINT64_C(0x974D2A1A8044EBE2)}},
+        {{UINT64_C(0xB6589045B8E14640), UINT64_C(0xFAD60A435507B9BE),
+          UINT64_C(0x9D540C1C56FF32BC), UINT64_C(0x47ECC24F74265A69)},
+         {UINT64_C(0x0C829F18DB3E64C9), UINT64_C(0xF7C0C6D772E87B2B),
+          UINT64_C(0xCB3FC51216B616CE), UINT64_C(0x549B9227B94F69B1)}},
+        {{UINT64_C(0xB151DEE9DB235273), UINT64_C(0x2FD9496F6D65606C),
+          UINT64_C(0x6A5E172DD62B5B0D), UINT64_C(0x181E605DEA0AE249)},
+         {UINT64_C(0x66D7EB098911490A), UINT64_C(0x85E174A32E70DEF2),
+          UINT64_C(0x2DA133544EF8CFA9), UINT64_C(0x1B87FE623E69BD22)}},
+        {{UINT64_C(0x2DF420CA2BB09564), UINT64_C(0x1AC26F767ACEE4D4),
+          UINT64_C(0x50C68E6F2BC7EF7A), UINT64_C(0x4730D654B445B2FE)},
+         {UINT64_C(0x90C040D98B57D38D), UINT64_C(0x28793DB533CA2C77),
+          UINT64_C(0x22D2B573AC6A4BE8), UINT64_C(0x68C0DBDDB72E7E01)}},
+        {{UINT64_C(0xDF70BCDC09E2D3FF), UINT64_C(0xB6E599709F20F624),
+          UINT64_C(0x5E04FDE76DE3119E), UINT64_C(0x1C9B43FFD5705A5D)},
+         {UINT64_C(0x7C23A517681270B0), UINT64_C(0xDD7FC8339303BF40),
+          UINT64_C(0x3028E496458EE80A), UINT64_C(0x0C72006352590EEF)}},
+        {{UINT64_C(0x27B297102850A5AE), UINT64_C(0xD1E6FBBAAA3E0397),
+          UINT64_C(0xCFB44044DF8FCBD6), UINT64_C(0x7CD86272C52B90FD)},
+         {UINT64_C(0xB0E7FA93EBA52025), UINT64_C(0x6416630304084EF3),
+          UINT64_C(0xD7C7DCBE43840178), UINT64_C(0x8BC7FF7722FB81A2)}},
+        {{UINT64_C(0xABDC5206DAFCE699), UINT64_C(0x522A913783C5F3A3),
+          UINT64_C(0xBAA936370E666E5C), UINT64_C(0x0FD813DAD2D33B62)},
+         {UINT64_C(0x833919085D417354), UINT64_C(0xE5AADE1DA6B9B447),
+          UINT64_C(0xBDE90A3CD68321B1), UINT64_C(0x43FF95140411531B)}},
+    },
+    {
+        {{UINT64_C(0xD61DEE6439648345), UINT64_C(0xF8B3FA1C7FCB5B5E),
+          UINT64_C(0xDD531CE124C29C71), UINT64_C(0x7A23608BFFB825FE)},
+         {UINT64_C(0x8D607B82F0DE896D), UINT64_C(0x6E49733006EDDAFE),
+          UINT64_C(0x8B49EFF0C935E754), UINT64_C(0x90D54646EE08BDBF)}},
+        {{UINT64_C(0xF44FBB169044FD39), UINT64_C(0xA72128C4DFB38141),
+          UINT64_C(0x8467F68801954CC0), UINT64_C(0x741C23EEB560B5C5)},
+         {UINT64_C(0xA7F422019765CF34), UINT64_C(0xB26C97BF8A2AB61A),
+          UINT64_C(0xAA948763CBD45AF3), UINT64_C(0x74C993C2E21479F5)}},
+        {{UINT64_C(0xD968CE1ABFA717A5), UINT64_C(0x45C1103D48E92615),
+          UINT64_C(0x4CCEBE85DD98207D), UINT64_C(0x8A75DF6EE65E5FE6)},
+         {UINT64_C(0x9E582C40418C47C5), UINT64_C(0x2E9EE003A450009B),
+          UINT64_C(0x7C079613DD60D3D2), UINT64_C(0x80A78C4A9935D8CA)}},
+        {{UINT64_C(0xF6CDED58D3C9B903), UINT64_C(0x4F27927DEF455E7A),
+          UINT64_C(0xF9DBBB9E833BB3C1), UINT64_C(0x4107CFBF6BA3770A)},
+         {UINT64_C(0x61871175520FCB57), UINT64_C(0xEA3A307B47A12C8E),
+          UINT64_C(0x940DDEE8C24E9E75), UINT64_C(0x8AE8F22CF33541BB)}},
+        {{UINT64_C(0xE4C898703973DC0B), UINT64_C(0xCC3DD1AC55DFAAF0),
+          UINT64_C(0xB63D596B27372EFE), UINT64_C(0x1B92A19245A33718)},
+         {UINT64_C(0x0EABEBEE00607319), UINT64_C(0x69B7355E7C3E35EE),
+          UINT64_C(0xF7354E352233C454), UINT64_C(0x1E2BAADA1E722C0A)}},
+        {{UINT64_C(0xD0E47FE23B9FE86D), UINT64_C(0x878F403FDAA1C7BC),
+          UINT64_C(0x5447AD5490F5DED7), UINT64_C(0x4E8A997B1E58B03B)},
+         {UINT64_C(0x9AD0E4812E926FA8), UINT64_C(0x871EFB9E8D0EF3AA),
+          UINT64_C(0xADD7DD147E714DF6), UINT64_C(0x9A30245A2308EE02)}},
+        {{UINT64_C(0x44838B15904F0D11), UINT64_C(0x6177587A2A2A70FF),
+          UINT64_C(0x402938502C2F7943), UINT64_C(0x8F85119167581701)},
+         {UINT64_C(0x564383D1842E6434), UINT64_C(0x251AF59DAF2C0078),
+          UINT64_C(0x8A81772D3354A264), UINT64_C(0x9AAFA350DFD2D0EA)}},
+        {{UINT64_C(0x4739793235461CAD), UINT64_C(0x0F86BD4362C5BFFA),
+          UINT64_C(0x5F166BC07785490D), UINT64_C(0x7DCCC9882BD61B3E)},
+         {UINT64_C(0x44C3299A9394375B), UINT64_C(0x0C5F2803405A34BD),
+          UINT64_C(0x3AD60F1D4237E728), UINT64_C(0x6E7E06D072EC2562)}},
+        {{UINT64_C(0x44AD84713C5840A6), UINT64_C(0x40C3CE2B4752BC62),
+          UINT64_C(0x94B14C21EC3FD75F), UINT64_C(0x65E0E6AF2629C0C0)},
+         {UINT64_C(0xA3FE2F5555936454), UINT64_C(0x252AD743780E25E5),
+          UINT64_C(0x22F9951BFF4E107A), UINT64_C(0x1B8A7DDE554CEA49)}},
+        {{UINT64_C(0xBBDCC2C089F1C6FA), UINT64_C(0x548FEF29C360A51D),
+          UINT64_C(0x094DAD451290EC92), UINT64_C(0x792F6FB9AF55BF30)},
+         {UINT64_C(0x37EF4ABE707FBF4E), UINT64_C(0x0F43AB0DFC4B6BD0),
+          UINT64_C(0x850015B72D6EE5D9), UINT64_C(0x09273F3535C1FD65)}},
+        {{UINT64_C(0xCECF1B90A6C3209B), UINT64_C(0xFB4BC864ABD433C0),
+          UINT64_C(0x38246AAA3EEEF8BA), UINT64_C(0x4BC7904E9ED13F88)},
+         {UINT64_C(0xA61C369A8E783066), UINT64_C(0x496FB8314D1C832C),
+          UINT64_C(0x1907687A03AD64D5), UINT64_C(0x49516EA583425766)}},
+        {{UINT64_C(0x8108B704B1714E53), UINT64_C(0xB458CB4B82E39BE7),
+          UINT64_C(0xFCBD51CC097049DE), UINT64_C(0x415F4079722E8CBA)},
+         {UINT64_C(0xCDB06F5E342DF9C6), UINT64_C(0x64885CD11281AC74),
+          UINT64_C(0x932A05E45366673D), UINT64_C(0x7333520BE83AD23D)}},
+        {{UINT64_C(0xDAA0A1EFC54B523C), UINT64_C(0xA3E80053B3C261C8),
+          UINT64_C(0x352CC612558FCFA5), UINT64_C(0x1B9B755D85852B14)},
+         {UINT64_C(0x19EE2CB6A1B541FF), UINT64_C(0x2B531CE2D5786B4F),
+          UINT64_C(0xEF5EA6DF08C3E15B), UINT64_C(0x82161B0487111129)}},
+        {{UINT64_C(0x5AB533A5FCEABAED), UINT64_C(0x4C2147A54A4D8E44),
+          UINT64_C(0xD8EEE795DA02D43D), UINT64_C(0x8CB648DFA15C1CD0)},
+         {UINT64_C(0x4869FB6CA788DDDE), UINT64_C(0xF9554D1477C03759),
+          UINT64_C(0x4D25B41A96187DB9), UINT64_C(0x662FBAB33FE0B3F3)}},
+        {{UINT64_C(0xD3AF4D09A58A5B2E), UINT64_C(0x3C5DD2985CE88DBE),
+          UINT64_C(0x89DDA42E7426C2A4), UINT64_C(0x2D832B0749095424)},
+         {UINT64_C(0x24EFCC0362AA84CF), UINT64_C(0x348C19DEE86923D7),
+          UINT64_C(0x453E928635DB5CB1), UINT64_C(0x03F48EEB8DB21CF3)}},
+        {{UINT64_C(0xBCF9600FF4035856), UINT64_C(0xE77CEC83AF820E18),
+          UINT64_C(0xC87D43C17F2FBCC1), UINT64_C(0x574C4CAE6290B18D)},
+         {UINT64_C(0x8BD8AE45E56E1EFE), UINT64_C(0xB1EFD68475D6FCC9),
+          UINT64_C(0x9829F227A361E753), UINT64_C(0x9A50B4255211B784)}},
+    },
+    {
+        {{UINT64_C(0x26F1959036396F78), UINT64_C(0x350D1A769AD1982C),
+          UINT64_C(0x33BDB4AB947F352E), UINT64_C(0x6CA38B05FFE1E1E1)},
+         {UINT64_C(0x055364C26F2A8CA0), UINT64_C(0xAF15075D2969CA7E),
+          UINT64_C(0x2916D58FC3B9CB70), UINT64_C(0x18D94A8BD7325693)}},
+        {{UINT64_C(0x87C41809F36EB789), UINT64_C(0x8C3517F9A7436F54),
+          UINT64_C(0xE7C02E1D3D785160), UINT64_C(0x5BAFE72E418C7ABF)},
+         {UINT64_C(0xA00A8E76CD9B27C2), UINT64_C(0x667918087DA06823),
+          UINT64_C(0x342A03D920EC00B4), UINT64_C(0x44502A7E6122589A)}},
+        {{UINT64_C(0x3A492F735BDAE972), UINT64_C(0x5184D076126A07DE),
+          UINT64_C(0xAE49313CB56A38F0), UINT64_C(0x66CCC24E9EC47E0A)},
+         {UINT64_C(0xAE84941BC03CF3E1), UINT64_C(0x771AFC575A73440B),
+          UINT64_C(0xABF93DC8C433E43C), UINT64_C(0x974EE822243C6828)}},
+        {{UINT64_C(0x468D7FDBA7A5F66C), UINT64_C(0xBBB2C482B18DEFCC),
+          UINT64_C(0x188B8CACFA2E7DEA), UINT64_C(0x7894BC93BE0200B9)},
+         {UINT64_C(0xA31813386B84750E), UINT64_C(0x8B14BDB237356096),
+          UINT64_C(0xA9200FE7D62F4813), UINT64_C(0x8DF664A36F7627CE)}},
+        {{UINT64_C(0x39BF14DDDD996CF1), UINT64_C(0xD00B3BF5F7F42D26),
+          UINT64_C(0xF1AF5A20017718A3), UINT64_C(0x34A1E94BABCAE05D)},
+         {UINT64_C(0xAD75D1B5C635D333), UINT64_C(0x97E5BD3987210A5A),
+          UINT64_C(0x11684CA6A0327BF4), UINT64_C(0x25C511179B8F0A46)}},
+        {{UINT64_C(0x7E5CD79FA935A9B9), UINT64_C(0x15DC70C2A22DCD16),
+          UINT64_C(0x5CDA47E678A420F4), UINT64_C(0x37E0364EEA631104)},
+         {UINT64_C(0xE7C469565E47B630), UINT64_C(0x7BD4C4A7E42C4DCB),
+          UINT64_C(0xA76B87A71C91117E), UINT64_C(0x2AA043DDADA4B5E1)}},
+        {{UINT64_C(0x6BB06B5A875DED57), UINT64_C(0x89452B3BFEAD7B14),
+          UINT64_C(0x0CBD5CA8A6E39E1F), UINT64_C(0x2DC5917C3BFA7A3D)},
+         {UINT64_C(0x6395D5B8F840B6E8), UINT64_C(0xAEC9342FED8589EE),
+          UINT64_C(0x8332A1B877979E67), UINT64_C(0x29B55822C59F97DB)}},
+        {{UINT64_C(0xFD145FF77D65A8F4), UINT64_C(0x8FFF7EE0119C9AFC),
+          UINT64_C(0x0100D0E9AFCD6214), UINT64_C(0x98DE55E5A3B988B3)},
+         {UINT64_C(0x0BACCB2E00151BF2), UINT64_C(0x2B422D0966091583),
+          UINT64_C(0xC4D15E1693C66A3B), UINT64_C(0x1C107559727DE9E6)}},
+        {{UINT64_C(0xC019C7D73CB76EDF), UINT64_C(0x6456DD91151F5E14),
+          UINT64_C(0x29E95B6657CC7078), UINT64_C(0x9193F4D9E9BDBCEC)},
+         {UINT64_C(0x375837B04806F8CB), UINT64_C(0x52D5528AAA954620),
+          UINT64_C(0xE71F9F601B9D6D34), UINT64_C(0x910E4FA1DF95759C)}},
+        {{UINT64_C(0x8D31B2EEFCADB5EA), UINT64_C(0x0814FF77A63C7498),
+          UINT64_C(0x236569C05E3D927E), UINT64_C(0x7F669DAD95BBB9D9)},
+         {UINT64_C(0x29158C9A305B0347), UINT64_C(0x99B9B7E752D468EB),
+          UINT64_C(0x6C4CABC3B4342443), UINT64_C(0x125AFBEA0A803ED4)}},
+        {{UINT64_C(0x850A150B101FAA4E), UINT64_C(0xB586BCDA11ECDABC),
+          UINT64_C(0x9692EF834DAD2264), UINT64_C(0x0951716ED2B67F5E)},
+         {UINT64_C(0xA2295F20924DD16D), UINT64_C(0xD8327275D0CE88CD),
+          UINT64_C(0x45F8DD0CC683ADA3), UINT64_C(0x4A798B3388C26024)}},
+        {{UINT64_C(0x225395CFCAF71198), UINT64_C(0xEE223712CA3F67CF),
+          UINT64_C(0x972B019981280061), UINT64_C(0x0CB20E7A280ECC12)},
+         {UINT64_C(0x06F04DA870F54717), UINT64_C(0x5288425E410B9712),
+          UINT64_C(0x6C29A51474CEFB4A), UINT64_C(0x4218ECCA849E2FD6)}},
+        {{UINT64_C(0xD85663A3B33574B6), UINT64_C(0x7469CFB1FAF7D3A2),
+          UINT64_C(0x9C587EC43CFA8876), UINT64_C(0x5DAE46AEDB24ED63)},
+         {UINT64_C(0x66C8DA33C413E494), UINT64_C(0xB8B256B665942568),
+          UINT64_C(0x0F09178EA7A4CAAD), UINT64_C(0x577D4ADCAFEBC90B)}},
+        {{UINT64_C(0x49009BA692D6C3B4), UINT64_C(0xE9CF4915B884FAAC),
+          UINT64_C(0xC12377D36F3DBE23), UINT64_C(0x2F6E0E86EA6B680C)},
+         {UINT64_C(0x5DF2CD5AE6C5E24D), UINT64_C(0xAAE7E145EE608DD3),
+          UINT64_C(0x5357CFF28A7ED956), UINT64_C(0x8377126C3912DBA4)}},
+        {{UINT64_C(0x6E83A6C6F83BC3F6), UINT64_C(0x3633E1E4C0CC09C6),
+          UINT64_C(0x0C2A268BBC4B73A5), UINT64_C(0x688369D3125688EB)},
+         {UINT64_C(0x64EE03E173E75809), UINT64_C(0x21773EE98E110C46),
+          UINT64_C(0xF0BC6BE9A6A648B1), UINT64_C(0x399121837E0041E7)}},
+        {{UINT64_C(0xCC09774A26F5716E), UINT64_C(0x01CB17F9FDFB59E9),
+          UINT64_C(0xA88D1269AE8938B4), UINT64_C(0x99A40D17D13047C9)},
+         {UINT64_C(0xE469C9846FC672A3), UINT64_C(0xDA6534B65638B928),
+          UINT64_C(0xC56EAB20CDE40C83), UINT64_C(0x2C1582B1BD93AF10)}},
+    },
+    {
+        {{UINT64_C(0xE4C19851A3F45C37), UINT64_C(0xCA0FEFF2C7D78FE9),
+          UINT64_C(0x027B41D89A7E444B), UINT64_C(0x1F1B242F15D38CBB)},
+         {UINT64_C(0x1C6C132CF1F50AB9), UINT64_C(0x2A02A3A45DFE7530),
+          UINT64_C(0x2B1EB8E26E29159F), UINT64_C(0x5F3F4AB72EEDE876)}},
+        {{UINT64_C(0x362CE0130F2DF95C), UINT64_C(0x82E4E19226480BFA),
+          UINT64_C(0x9AAC9A966BEFF080), UINT64_C(0x5A1636F68EE2B59C)},
+         {UINT64_C(0x600E0339FA049CCB), UINT64_C(0x56680F80F2F57163),
+          UINT64_C(0x2C395CC17B4240A7), UINT64_C(0x32EDFE4A9C86BB64)}},
+        {{UINT64_C(0x8D9842AB711AEF69), UINT64_C(0x7A1C2429890831F0),
+          UINT64_C(0x924478DF54CDA99A), UINT64_C(0x791A1D45E25A02E2)},
+         {UINT64_C(0x1433F569170F4C21), UINT64_C(0x9F42C8C1CA5F8BD8),
+          UINT64_C(0x377740F7067B3201), UINT64_C(0x75145FFF2ECE5D81)}},
+        {{UINT64_C(0xCBFE782A39638F43), UINT64_C(0xB0C0EC09E07553D2),
+          UINT64_C(0x8D1C41F7115C673A), UINT64_C(0x8510551AEB39E385)},
+         {UINT64_C(0x92000181BA275803), UINT64_C(0x8AF63F4A27B9A42A),
+          UINT64_C(0xD50ECF0F52297029), UINT64_C(0x1DCA33A566883C56)}},
+        {{UINT64_C(0xB2C44933C51DF9D9), UINT64_C(0xCA6F9FB0E66D80AE),
+          UINT64_C(0x78CD2EEB82839BA4), UINT64_C(0x8FF8BCC8F7AFBCF3)},
+         {UINT64_C(0x5AD00C704164959B), UINT64_C(0xAD901C71E83ED8D5),
+          UINT64_C(0x56FFC0A92B52650D), UINT64_C(0x0689B171780126A8)}},
+        {{UINT64_C(0x2E902A395EAC1DD8), UINT64_C(0x7681EABA7CAC283F),
+          UINT64_C(0x03608CD878525B7C), UINT64_C(0x09665B805EB95540)},
+         {UINT64_C(0xF09F9805306EE831), UINT64_C(0xFB00B1C6E41D453A),
+          UINT64_C(0xD8BB95597C93E727), UINT64_C(0x3B74FEE72CE63FD8)}},
+        {{UINT64_C(0x73F48B330A22DABA), UINT64_C(0x797DE0FBC8FC3E20),
+          UINT64_C(0x69C1BEE29E79222D), UINT64_C(0x3052F67A1DF4C549)},
+         {UINT64_C(0xFE9128A9ED78B6FB), UINT64_C(0xD9460CFF29CCF94F),
+          UINT64_C(0x53737484C1FD1DAA), UINT64_C(0x83ADCD011EDAEEB2)}},
+        {{UINT64_C(0x189EC9AA2BA4195A), UINT64_C(0x61345757C522BE92),
+          UINT64_C(0x35BAB72A39EFB05D), UINT64_C(0x82B27322AE0AC461)},
+         {UINT64_C(0xFEBF0F8CC07F4382), UINT64_C(0x1CA2B3D7DAD2ED8E),
+          UINT64_C(0x4800A0370A27F89C), UINT64_C(0x77D1B2FC9815D971)}},
+        {{UINT64_C(0xF9F46089CA0FC66A), UINT64_C(0x5BC406DE8C23E4E1),
+          UINT64_C(0x1D7F3BA98DBF6DD5), UINT64_C(0x685B9111679D5587)},
+         {UINT64_C(0x93554084B85BE0D0), UINT64_C(0xB081E9CA7B9EB16C),
+          UINT64_C(0x58C428DC60F0D0B0), UINT64_C(0x12442C1A30B3C6D9)}},
+        {{UINT64_C(0x147B843C567226BE), UINT64_C(0x2B2BFFAB429A8FFA),
+          UINT64_C(0x7A4678EBCD435C2F), UINT64_C(0x200E85133C0B887A)},
+         {UINT64_C(0x9D457AAD90605CDD), UINT64_C(0x6736A242157F29A5),
+          UINT64_C(0x779B0D25549FCA4D), UINT64_C(0x57477EE917FDB4D9)}},
+        {{UINT64_C(0xD9B15FD1ECF06CDD), UINT64_C(0xECF75FC0C1CC2CFC),
+          UINT64_C(0x273867C3A56B39E5), UINT64_C(0x72F3ED4579340B7D)},
+         {UINT64_C(0xF31C9E4C55B6C9B9), UINT64_C(0xED96826E0448FE57),
+          UINT64_C(0xE2DF54AD8BB7A02F), UINT64_C(0x945E7B6BD79D71CC)}},
+        {{UINT64_C(0x32B6CE429270E878), UINT64_C(0x980C8F6ED6EEBEB9),
+          UINT64_C(0xC5717C8555808237), UINT64_C(0x4469D0A0CCA3F298)},
+         {UINT64_C(0x2B9DD7E91A18C0E8), UINT64_C(0xE9D124016A0EC412),
+          UINT64_C(0xF889DE9831F44B32), UINT64_C(0x692EE1E678854A7F)}},
+        {{UINT64_C(0xF2360597ADEECA22), UINT64_C(0x94623EBC99A4C198),
+          UINT64_C(0x5A0D49C4E4169D20), UINT64_C(0x7BE2C5BBBF0384F0)},
+         {UINT64_C(0x42DB0D408C537851), UINT64_C(0x198A09A465C50782),
+          UINT64_C(0x72F80BB745AD7EE0), UINT64_C(0x4F83164B11FCED06)}},
+        {{UINT64_C(0x54E5B07C95712AF0), UINT64_C(0x95E7F5D91E893387),
+          UINT64_C(0x383BC5AEC61D7766), UINT64_C(0x09F626ED681C28DD)},
+         {UINT64_C(0x0D32B726DF97E3C9), UINT64_C(0x2AC622387C7C4786),
+          UINT64_C(0xECEA0C6AD3F5AD40), UINT64_C(0x0D26633EA870A132)}},
+        {{UINT64_C(0x40A05A14C3D42D26), UINT64_C(0x06577CA1F3BDE0E3),
+          UINT64_C(0x03DAA258418B73FB), UINT64_C(0x205E02E60EFDEB86)},
+         {UINT64_C(0xF5479E4D99F90D56), UINT64_C(0x4E699BF3368CB6E3),
+          UINT64_C(0x534F674362E4A879), UINT64_C(0x18473603A9D78191)}},
+        {{UINT64_C(0xA23D79CF5C1ED4F9), UINT64_C(0xFADE1CF5F2248B01),
+          UINT64_C(0xA3D528276F4D2164), UINT64_C(0x1F211C0310B731E5)},
+         {UINT64_C(0x0B415884D97229E2), UINT64_C(0xCABB7D8980FCC283),
+          UINT64_C(0xDB9BC75298EF388A), UINT64_C(0x50AF2A4A93E80262)}},
+    },
+    {
+        {{UINT64_C(0xD11E80F1D57DD821), UINT64_C(0x11CAE463DDA2AB29),
+          UINT64_C(0x21CAFD16E628F315), UINT64_C(0x296A84E97DF70CD4)},
+         {UINT64_C(0x9ECF75136E9EF995), UINT64_C(0xAE87525706E28855),
+          UINT64_C(0x78E1B7E95DED383C), UINT64_C(0x6C5D8ECC5E940F7F)}},
+        {{UINT64_C(0xCBD3ACB9998EE9A3), UINT64_C(0x990CDFF6D0DCF584),
+          UINT64_C(0x0FB4346CC7CE5DDA), UINT64_C(0x5EDEEF9B355E268F)},
+         {UINT64_C(0xACD8B4A2C215036D), UINT64_C(0x70D3699591C7486B),
+          UINT64_C(0x72D5243D52C6694B), UINT64_C(0x54163B48E5F8B99C)}},
+        {{UINT64_C(0xD2AEA2FF1D76A94A), UINT64_C(0xC5B4FBF1379F780B),
+          UINT64_C(0x700042F7B33AC708), UINT64_C(0x7DA790BF8183E0CA)},
+         {UINT64_C(0x95681FE6EBA72FA8), UINT64_C(0x1F0A390EE22E254E),
+          UINT64_C(0x465A58F8BF07A8A5), UINT64_C(0x840EA2E7FB1FCE40)}},
+        {{UINT64_C(0xD955C5B544048484), UINT64_C(0x7107D5956935C5E4),
+          UINT64_C(0xFC6574448A0FCE44), UINT64_C(0x97DF2B4D2800E517)},
+         {UINT64_C(0x0B1BB3282C482414), UINT64_C(0x152614CC4E48CDBE),
+          UINT64_C(0x48051FB642EDE4E0), UINT64_C(0x91125B933DBFFE52)}},
+        {{UINT64_C(0xA2F526C7CF898F54), UINT64_C(0x8788CA1283080857),
+          UINT64_C(0x2F4427234562F7B0), UINT64_C(0x837772ABC044560C)},
+         {UINT64_C(0x51AD2F7131BCB2EA), UINT64_C(0x0F1D33FCAFC5C03D),
+          UINT64_C(0xDBFE541F7BD352A4), UINT64_C(0x8B44139964B8343D)}},
+        {{UINT64_C(0xFEB96B8C44DCD145), UINT64_C(0xEEB3007CEFF22D0D),
+          UINT64_C(0xAF64DFC1252A8C8F), UINT64_C(0x5D9B0A05D131E0C5)},
+         {UINT64_C(0x28C943EFABFED144), UINT64_C(0xDFBF730CB6A2273D),
+          UINT64_C(0x6CC5BE44E2A1BFBD), UINT64_C(0x55FAC03309030FCD)}},
+        {{UINT64_C(0xFAA58543728F39EC), UINT64_C(0x9B2F10BA40B37B15),
+          UINT64_C(0x96505C7F7254A419), UINT64_C(0x04F4ACE5879C7FF9)},
+         {UINT64_C(0xC0B4B576BC5FDA53), UINT64_C(0x12549929F7ABCD3C),
+          UINT64_C(0x00F5631E313FEC34), UINT64_C(0x89EA4459798C7CFB)}},
+        {{UINT64_C(0x671137B50E2020C1), UINT64_C(0x77727861A4DC66C3),
+          UINT64_C(0x8CE05ED181492A26), UINT64_C(0x42BEA541A0C3F612)},
+         {UINT64_C(0x6D39E3D1B0E461EB), UINT64_C(0x459A8E1309FA806F),
+          UINT64_C(0xE2A185C1466CB93B), UINT64_C(0x17D131CEE21ECB34)}},
+        {{UINT64_C(0x2141E262387A15BF), UINT64_C(0x675B5E7C6BE61C42),
+          UINT64_C(0xEEC1BDD4F1CF93EF), UINT64_C(0x6ACF383823BAB1F9)},
+         {UINT64_C(0xA2F84E23B0B39C86), UINT64_C(0xE955DBBCE244E0E3),
+          UINT64_C(0xE0155980B7A8102A), UINT64_C(0x1E117DC8B23012FA)}},
+        {{UINT64_C(0xC92A36AA6EB36280), UINT64_C(0x5AED3A1D5E906D78),
+          UINT64_C(0x8D336221AE4E430A), UINT64_C(0x3F184F1DD3AA50AD)},
+         {UINT64_C(0xD14810EC916D9741), UINT64_C(0x2900169F3322D9B3),
+          UINT64_C(0xAFF1A06004728254), UINT64_C(0x89C4C67326F60B5F)}},
+        {{UINT64_C(0x5216E0AEB7F0D157), UINT64_C(0x3B8D2226C9F38AAD),
+          UINT64_C(0x283E3E3FBB34AA79), UINT64_C(0x94DA80FA565CAB83)},
+         {UINT64_C(0xDDB51943E6ED4A46), UINT64_C(0xF3AFFA9A7CDD5FE6),
+          UINT64_C(0x0AB493CCB648A84F), UINT64_C(0x128356B6F15EE45F)}},
+        {{UINT64_C(0xD2AD34F4BD0F02C4), UINT64_C(0x3DC9B6D1719BCF1E),
+          UINT64_C(0x11EDB8F112EB5AE8), UINT64_C(0x33AC71D871180F90)},
+         {UINT64_C(0x0AE988FEB59621D7), UINT64_C(0x32042B528F348211),
+          UINT64_C(0x7E6787C4EB0CEBD3), UINT64_C(0x8C4D254926B8A526)}},
+        {{UINT64_C(0xA3B461544D40ED72), UINT64_C(0x3A096546F6CF3972),
+          UINT64_C(0x9C7BC931B3E46D8C), UINT64_C(0x85B77BAD90486C75)},
+         {UINT64_C(0x95B706E56EBD35E0), UINT64_C(0xC1E18243101E098E),
+          UINT64_C(0xF17C23FFF01C17E1), UINT64_C(0x3223527285EC224E)}},
+        {{UINT64_C(0xE816235DFD24FA16), UINT64_C(0x5306CBC30B3AEBD7),
+          UINT64_C(0xDEF60A9A8BE25CB7), UINT64_C(0x4B889A0F512999C2)},
+         {UINT64_C(0xAB86A7F867B29FD9), UINT64_C(0xB81C532DB5461BCB),
+          UINT64_C(0x810E9A0CD34D9819), UINT64_C(0x1E3530093092515D)}},
+        {{UINT64_C(0x4682633921FB0BD9), UINT64_C(0x9CCE9A43003BAE50),
+          UINT64_C(0xCD2216C32EB45B4A), UINT64_C(0x13598548C7E0F2C3)},
+         {UINT64_C(0x8B0BFD7254611984), UINT64_C(0x705CB52589C0B05A),
+          UINT64_C(0xD9073D87CE880DD8), UINT64_C(0x1EA534CD003DCAEB)}},
+        {{UINT64_C(0xC7AAC256C58B4413), UINT64_C(0x301109D6E8054F96),
+          UINT64_C(0x0A1F44D29C7E7860), UINT64_C(0x55D122BB96F15424)},
+         {UINT64_C(0x9A63098F1C14A8A9), UINT64_C(0x8E01A9DC4221CDFB),
+          UINT64_C(0x11C91FCF357B360A), UINT64_C(0x70C47AEA036A3CF4)}},
+    },
+    {
+        {{UINT64_C(0xC0457C4F036A843D), UINT64_C(0x6E3E0801F1F593CB),
+          UINT64_C(0x1AADF2D88C53873B), UINT64_C(0x5CEC5C7B0D140C8D)},
+         {UINT64_C(0x4341A9AB328002E4), UINT64_C(0x11F22331C410D034),
+          UINT64_C(0x0FCF69EF5DB6A39D), UINT64_C(0x3DD32A53B84FDA1F)}},
+        {{UINT64_C(0x19E52339AF8C811A), UINT64_C(0xC8B8380092D46C4F),
+          UINT64_C(0x891C4185CA8463A3), UINT64_C(0x5B51651F98F3FF1B)},
+         {UINT64_C(0x3D1496070FB39DCA), UINT64_C(0x39ECCDE2B1051394),
+          UINT64_C(0x3633DE271A14522B), UINT64_C(0x5FE551147C59A9A5)}},
+        {{UINT64_C(0x68C8E0C62F0B507F), UINT64_C(0xDABC8EEF05B62C5E),
+          UINT64_C(0x297C943AE6165C1E), UINT64_C(0x337C6B947D7CA6D6)},
+         {UINT64_C(0x66F98FE4D6066191), UINT64_C(0x745BFEBA58945DA9),
+          UINT64_C(0x600447873B29A546), UINT64_C(0x2815651EE2D4EDF2)}},
+        {{UINT64_C(0x54A3BE7463661218), UINT64_C(0x89C5636415E79415),
+          UINT64_C(0xE03C6963405E4932), UINT64_C(0x86E101EA9A619956)},
+         {UINT64_C(0x47BAF2F3400DC92B), UINT64_C(0x5C44512C291E4059),
+          UINT64_C(0xD7F84B8EEC6D7BF9), UINT64_C(0x6CF4254025AB8D79)}},
+        {{UINT64_C(0xD6E1B75DB885DAFC), UINT64_C(0x7A33CE4B6128014E),
+          UINT64_C(0x80DF9948EA9FF260), UINT64_C(0x99E0A11CD2B5872B)},
+         {UINT64_C(0x960BDC3DE2435510), UINT64_C(0x4B0ECC5314F7A99C),
+          UINT64_C(0xE815DB8B5AC6170B), UINT64_C(0x3095615617D5F2DD)}},
+        {{UINT64_C(0xA035E3CE57166FCE), UINT64_C(0x71AD409540A75B80),
+          UINT64_C(0x639C4EA7DB7D0BFB), UINT64_C(0x7A90BE97B12DBE6B)},
+         {UINT64_C(0x091AA30F75F86A60), UINT64_C(0x67C0F795509AEEFC),
+          UINT64_C(0xF028C12A331629C5), UINT64_C(0x90D26B1C8A1F7478)}},
+        {{UINT64_C(0x6F01554EB6AC2AD5), UINT64_C(0x9DD0576EBC9A48D6),
+          UINT64_C(0xAB37201397AE2605), UINT64_C(0x1525D8B5BB83852B)},
+         {UINT64_C(0xD50680C3E46E4C61), UINT64_C(0x29FBBA5CECB8F06F),
+          UINT64_C(0x60A48AB4B16637A3), UINT64_C(0x8BB47967CD1490D3)}},
+        {{UINT64_C(0xA35A01874B7C7EA6), UINT64_C(0xFE01521AB4D6409A),
+          UINT64_C(0x57CECE628FDE1E30), UINT64_C(0x1A9A9B2DF4F51D55)},
+         {UINT64_C(0x0D33556BE221AC58), UINT64_C(0x0A4A1A34152508AD),
+          UINT64_C(0x1FD61DA10144AA33), UINT64_C(0x4804BE6AEDC7C5F8)}},
+        {{UINT64_C(0x071EC8155B363A84), UINT64_C(0x359C2A9FFE11ED05),
+          UINT64_C(0x0FDF80C9B8BBF9BD), UINT64_C(0x928E51A4103ACCBE)},
+         {UINT64_C(0xD152B6E7D5E8A222), UINT64_C(0x6368E3A8CBE022C9),
+          UINT64_C(0x2E5055DE3128B659), UINT64_C(0x51E23651D21F1062)}},
+        {{UINT64_C(0x5CE999D734834BF7), UINT64_C(0xE386394C3DC831E9),
+          UINT64_C(0x6DBD5ECA7FE48564), UINT64_C(0x804BC07F556841A5)},
+         {UINT64_C(0x2A8B616C229A9175), UINT64_C(0xAEEB533AA1B3EF97),
+          UINT64_C(0x9D858F9D6F145037), UINT64_C(0x247FFAB07F6A8EBB)}},
+        {{UINT64_C(0xE616E779099EB4F3), UINT64_C(0x4F360D2EF1B1926C),
+          UINT64_C(0x28EE1F9117055397), UINT64_C(0x9994D7FF844AFCF3)},
+         {UINT64_C(0x8824A94912CBD801), UINT64_C(0xA3AFED4D6A4484DD),
+          UINT64_C(0xCB16CD673B5E36A5), UINT64_C(0x5490C30DBC3BBEA9)}},
+        {{UINT64_C(0xEA43CA5AD7601122), UINT64_C(0x9CF2A15BD248EB72),
+          UINT64_C(0x4CE8AB75B71D18D0), UINT64_C(0x2576C5B1041A19A5)},
+         {UINT64_C(0xDE20FD028CC1496E), UINT64_C(0xC9FE5B0C0BE51831),
+          UINT64_C(0x9DC17E323A53ABBC), UINT64_C(0x94E24DD9F4C806FA)}},
+        {{UINT64_C(0x2A9CF5F10DF1A4B3), UINT64_C(0xE019675415063C08),
+          UINT64_C(0xCE9CF2C6CCF88F77), UINT64_C(0x51ACC7B5EFE91C6C)},
+         {UINT64_C(0x0C2302EFA799FE2E), UINT64_C(0x5EE756A469C0D117),
+          UINT64_C(0x7E907EC2F4EAB1A1), UINT64_C(0x19EEF95BD98022DD)}},
+        {{UINT64_C(0xB170D483A8E7FFA5), UINT64_C(0x2052600A39180FAC),
+          UINT64_C(0x8EAD52D4A68AF290), UINT64_C(0x01B88CFEFF9E3641)},
+         {UINT64_C(0x3D9077F765BC2D0C), UINT64_C(0x2AF9CF673ABCDB1C),
+          UINT64_C(0xEA104E747295DADA), UINT64_C(0x7DF23470EB1E5D6E)}},
+        {{UINT64_C(0x0F54D98D8E53F40B), UINT64_C(0xBFC22E9BAF360481),
+          UINT64_C(0x309973B6E132666B), UINT64_C(0x1F40D11F25E783E0)},
+         {UINT64_C(0x8EEBC9D7F00AC3EB), UINT64_C(0xBD725D822F9ADCC7),
+          UINT64_C(0x4776781066EFDDCC), UINT64_C(0x60B0B1004ECCAF67)}},
+        {{UINT64_C(0x498E2074B98C7E96), UINT64_C(0xBEBF518308BF31A9),
+          UINT64_C(0x00DD4AAD3894DBE7), UINT64_C(0x66C047A4429878F6)},
+         {UINT64_C(0x16F2CB336D0F1AB1), UINT64_C(0x5FA2F18158669ACB),
+          UINT64_C(0xFA4B2F49486F1BE7), UINT64_C(0x1ECAAF6B5698F41B)}},
+    },
+    {
+        {{UINT64_C(0x2999C2124DCC455E), UINT64_C(0x83897E49BEF617B8),
+          UINT64_C(0x6B49CE265A218E0F), UINT64_C(0x49A5C9EB88EF7EA7)},
+         {UINT64_C(0xF0EDA5FFF63EC82C), UINT64_C(0x736D933DEAD471CD),
+          UINT64_C(0x10E4431DDF8071C4), UINT64_C(0x8C59C10738E1523C)}},
+        {{UINT64_C(0x569FB74E5A54A4AB), UINT64_C(0x72788868F3384C14),
+          UINT64_C(0xBC840717107B417F), UINT64_C(0x6682C1077E13210C)},
+         {UINT64_C(0xB3359FC277B20150), UINT64_C(0xEB923E66A9E03222),
+          UINT64_C(0x490C39FCA10CF332), UINT64_C(0x69099C2D49BA035D)}},
+        {{UINT64_C(0x6498672003CB2C6E), UINT64_C(0x994054A1328B22BA),
+          UINT64_C(0x4155C6B96F0542DA), UINT64_C(0x216CF760A3B93FFB)},
+         {UINT64_C(0x744861845C2AD753), UINT64_C(0xE517984EA0CD3660),
+          UINT64_C(0x6530BC863D7DA8A1), UINT64_C(0x04328CF92E46CA79)}},
+        {{UINT64_C(0x4100ADED4798CD35), UINT64_C(0xC832796D635BAECD),
+          UINT64_C(0x7EF1EA955B80E18C), UINT64_C(0x6889A91B426B1AA9)},
+         {UINT64_C(0xC40A0A870927C6F8), UINT64_C(0xD60CFD1C2B86ED45),
+          UINT64_C(0x98731DFFD57350A1), UINT64_C(0x1C52EAE91DE4341F)}},
+        {{UINT64_C(0xC287E33B23A40FAA), UINT64_C(0xB96D9F517A633BDC),
+          UINT64_C(0xF6A5B779E6D0F326), UINT64_C(0x10203FE1F619DE4B)},
+         {UINT64_C(0x011FB53EC4F18BF8), UINT64_C(0xAEBB82F6BCA32CA0),
+          UINT64_C(0x06BF8ED5F881818D), UINT64_C(0x3A6A3E3518247E6A)}},
+        {{UINT64_C(0x3BF2E96E00625DC1), UINT64_C(0xD81AD1565A288F80),
+          UINT64_C(0x04C3269EB7CE9B13), UINT64_C(0x3E18EAFC2F9E2713)},
+         {UINT64_C(0x20F0E05D9D0BC74A), UINT64_C(0xACDB4B75D8140790),
+          UINT64_C(0x12918A7EF1B5B265), UINT64_C(0x22A70AF96896342E)}},
+        {{UINT64_C(0x326A28A29C4B6B08), UINT64_C(0x21302F37A17D3D57),
+          UINT64_C(0x181378E7CE36F438), UINT64_C(0x42B07EBAFED12DE1)},
+         {UINT64_C(0x081DDD200468AD4C), UINT64_C(0x32822EC364DF34AE),
+          UINT64_C(0xE9F8D7C204B2192D), UINT64_C(0x6ABC7220918666F8)}},
+        {{UINT64_C(0x9333070104AF3956), UINT64_C(0xEEB7AA8E872BD30D),
+          UINT64_C(0xFC96D106D0E67494), UINT64_C(0x516028CF3A918DFB)},
+         {UINT64_C(0xFAF0B6F7FB27B6EC), UINT64_C(0x0FAD73AD515DA78D),
+          UINT64_C(0x5F136068D8CF1934), UINT64_C(0x0A526E04B6052802)}},
+        {{UINT64_C(0x20DF0DEBE4685212), UINT64_C(0x71D4BAC1A41B293F),
+          UINT64_C(0xBCC32A2F2FA8BBAC), UINT64_C(0x32A8723AF30CC343)},
+         {UINT64_C(0x71E6DAAFEF95ACFE), UINT64_C(0x27D158F69F445394),
+          UINT64_C(0x2140F78DE186B246), UINT64_C(0x4CAF98C3CB1C83AD)}},
+        {{UINT64_C(0x94E264FCB6F63AA9), UINT64_C(0xF4637B024D0FE485),
+          UINT64_C(0xA4BC0A03069CCB4E), UINT64_C(0x99A81E379E25E817)},
+         {UINT64_C(0xE3B804A78F4D37BB), UINT64_C(0x57F272A5E38E654C),
+          UINT64_C(0x00D1852C05928F65), UINT64_C(0x3031B7134345DD06)}},
+        {{UINT64_C(0x6E42AF1157536140), UINT64_C(0xDC5B7CDC005A403F),
+          UINT64_C(0xE6EE185E26527417), UINT64_C(0x1003D0137C685BCF)},
+         {UINT64_C(0xC2206BF6192979E6), UINT64_C(0xD1C370DB6FE38214),
+          UINT64_C(0x78D105B792F3C044), UINT64_C(0x2F0DF6B8BFDF8DFA)}},
+        {{UINT64_C(0xB02FCA3844D04C4A), UINT64_C(0x956A2F7CA44566C6),
+          UINT64_C(0x60672DF39F1F09C6), UINT64_C(0x6459A9492160C362)},
+         {UINT64_C(0xDAE5434108714451), UINT64_C(0x48B77A0DBFFD7CF6),
+          UINT64_C(0x615ADBFE3EDBC8D4), UINT64_C(0x3338E55735B67D2F)}},
+        {{UINT64_C(0x601D49D1DD24A0F0), UINT64_C(0x60A48DB748EF27B9),
+          UINT64_C(0x97F2212C97A8BAC6), UINT64_C(0x376B0292155AB524)},
+         {UINT64_C(0xA25881BA62E2A961), UINT64_C(0xEB74CC802B8C56F7),
+          UINT64_C(0xBE5C5DD4DA57C41A), UINT64_C(0x53D0D0372D16AFA0)}},
+        {{UINT64_C(0xE47C9EABCA291206), UINT64_C(0x25DADB6442D5C667),
+          UINT64_C(0x8C154CB6D886993E), UINT64_C(0x11DEC39C806B932F)},
+         {UINT64_C(0x51A4DCF313D4B4E5), UINT64_C(0xAA1DAD6D9D1D822A),
+          UINT64_C(0x2BB2E14DCEEF2E29), UINT64_C(0x429C13C7B2343BE3)}},
+        {{UINT64_C(0x4E8E953F297F709D), UINT64_C(0x23183A3D262D862A),
+          UINT64_C(0xE164A10DEA12D93F), UINT64_C(0x386C2873FE703920)},
+         {UINT64_C(0xD59E1582E5C51C7E), UINT64_C(0xA8C93B5B020F6A2E),
+          UINT64_C(0x51518BD0160CD058), UINT64_C(0x3337801AB1D38AC7)}},
+        {{UINT64_C(0x6E2515332F5D9E25), UINT64_C(0x88E76135B0D6B0DB),
+          UINT64_C(0x5C1978329E6762D1), UINT64_C(0x1232677384E620AC)},
+         {UINT64_C(0x3B88DF270E2694DD), UINT64_C(0x30FED9E330A23CAA),
+          UINT64_C(0xE12DD93EA23DF142), UINT64_C(0x06778F512EA77C07)}},
+    },
+    {
+        {{UINT64_C(0x5D5BE00E49E5F6B4), UINT64_C(0x2F47E7C7721EF9DC),
+          UINT64_C(0x338F7B007EAFC098), UINT64_C(0x0F5F06E3AF8C2475)},
+         {UINT64_C(0x2A4B845C63122B22), UINT64_C(0xED44006089A4CE9A),
+          UINT64_C(0xC9EEB6409A86D9BC), UINT64_C(0x12C3E0F32F39B439)}},
+        {{UINT64_C(0xB444B88B17766F6C), UINT64_C(0xF9B100E6A41FD692),
+          UINT64_C(0x81EAFCD15C149B30), UINT64_C(0x37DD6F6E1D521A1E)},
+         {UINT64_C(0x14DBE8C3389DCD6E), UINT64_C(0xCD24D6550DCBC7FC),
+          UINT64_C(0x05F8D48EE00F9102), UINT64_C(0x403954E6509D18D4)}},
+        {{UINT64_C(0xA04FDDDFE4FE16EC), UINT64_C(0xB9E7FA7390E15C0C),
+          UINT64_C(0x7D6A7206C77FAB6B), UINT64_C(0x3FFDCCD13E221F12)},
+         {UINT64_C(0x120C05B147B5BB7F), UINT64_C(0xFA3614C05B7E2B96),
+          UINT64_C(0xF3A4F07F4A6AC6E0), UINT64_C(0x0324BF48C8AD4F23)}},
+        {{UINT64_C(0x508A037055DF2F18), UINT64_C(0x1C6C91EAB872F209),
+          UINT64_C(0xDC3F6C5A8E12F437), UINT64_C(0x65F5058FC91AFD75)},
+         {UINT64_C(0x0C43613D5A859A1D), UINT64_C(0x83A2610E5BF96A6B),
+          UINT64_C(0x1A98AA4C1496AEAD), UINT64_C(0x3AB1CE5EE6CAA901)}},
+        {{UINT64_C(0x9420ABFEFFB3E411), UINT64_C(0xCE60976031404E74),
+          UINT64_C(0x3D4C23C502C49837), UINT64_C(0x6B79FB14D0868A3C)},
+         {UINT64_C(0xB4EEE8DB6B5861EA), UINT64_C(0x495E2B469D948195),
+          UINT64_C(0x2BB0BD941CE15EC9), UINT64_C(0x6CE79F80DED25955)}},
+        {{UINT64_C(0xA6B98C1D5820DF65), UINT64_C(0xE8284737909356B5),
+          UINT64_C(0x38E8609A091340E1), UINT64_C(0x98EC077B10666012)},
+         {UINT64_C(0xFB243B1EBF075DAE), UINT64_C(0x32312BACA270FE31),
+          UINT64_C(0x214511200CAA5F8E), UINT64_C(0x8F60118F2A515015)}},
+        {{UINT64_C(0x4F211C9ECBDEB88E), UINT64_C(0xF6D3CC3AB6D680FD),
+          UINT64_C(0xE193829D8BF4B4A7), UINT64_C(0x3223EF4E2D620371)},
+         {UINT64_C(0xC3E35420C0E5245A), UINT64_C(0xD3F4F894B4ADE2EA),
+          UINT64_C(0x464FCB6CF2CE985E), UINT64_C(0x79CF596D7B987FA7)}},
+        {{UINT64_C(0x0730748C0C0016FF), UINT64_C(0xD02115C5A2949069),
+          UINT64_C(0xAA6F794D40E9C7F9), UINT64_C(0x9514FA7B79149C37)},
+         {UINT64_C(0x6E2F27785A46BCE0), UINT64_C(0xF55D46C60837ACD5),
+          UINT64_C(0xF965C4681E4223E6), UINT64_C(0x0BFF0A9185D90A07)}},
+        {{UINT64_C(0x9ED903581923C8AF), UINT64_C(0xC425B633A470AE00),
+          UINT64_C(0xF9F4B1621C50FDAD), UINT64_C(0x0999D072A8CA2BD5)},
+         {UINT64_C(0xCB122FBDAF74D4C3), UINT64_C(0x372C13F02C283752),
+          UINT64_C(0x9F42A90382138B19), UINT64_C(0x573A2CEE3EB8CB95)}},
+        {{UINT64_C(0x6C3A6BE33AC2E191), UINT64_C(0x4149E0EB1B222DB2),
+          UINT64_C(0x5BA91005A4AACC55), UINT64_C(0x176BD33D1BFADBD0)},
+         {UINT64_C(0x4AEAF14EA8DA0FEA), UINT64_C(0xB12401F9A7FF8E1C),
+          UINT64_C(0xF1EF39AE0F192414), UINT64_C(0x95D433D3416743C1)}},
+        {{UINT64_C(0x29ECF54D9AA0C238), UINT64_C(0x3762F1D78FCA6419),
+          UINT64_C(0x761D786A64D3AAA9), UINT64_C(0x7A8A677DDAEC7BF4)},
+         {UINT64_C(0xC2829EAD324676F4), UINT64_C(0x4E504A474D0B291E),
+          UINT64_C(0x360CE7FEF8C4F384), UINT64_C(0x33A577B578CDA37D)}},
+        {{UINT64_C(0x1BBFC128333103FD), UINT64_C(0x3D36045CE45C9DBE),
+          UINT64_C(0xA8D53F5A15C9013D), UINT64_C(0x99D62F8AA33FDCFD)},
+         {UINT64_C(0x73E539610A81F581), UINT64_C(0xD01AD20ED00BC0D9),
+          UINT64_C(0x59701F4D1F6D9B73), UINT64_C(0x0F4EBFBCE098E536)}},
+        {{UINT64_C(0xBDB9368A91E3C062), UINT64_C(0xCD66A0B19B17AAE5),
+          UINT64_C(0xB6636DD7B4537E05), UINT64_C(0x37D94B8E73B119CE)},
+         {UINT64_C(0xA5F8E90FC7428FF9), UINT64_C(0xE7E5B2B7F8EA9F03),
+          UINT64_C(0xB7F20FB85B3506DA), UINT64_C(0x0F4AB6D5E494FFDA)}},
+        {{UINT64_C(0x3ACEE3BD85365933), UINT64_C(0x9D5223D3BF510114),
+          UINT64_C(0xE0D7D9A7A08D01B0), UINT64_C(0x28FD329AB2F1F61F)},
+         {UINT64_C(0x3E16A2E2A5909DD3), UINT64_C(0x284A8708B4FECB35),
+          UINT64_C(0x190F7B3A73D5BFBA), UINT64_C(0x7E07982E92EE4BBE)}},
+        {{UINT64_C(0xA30A4C2244945687), UINT64_C(0x657C0F2ED688A301),
+          UINT64_C(0x9B558D4ABBB3E65A), UINT64_C(0x8044D57EA6E57844)},
+         {UINT64_C(0xF202E50EE3957E21), UINT64_C(0x4957E651CE62FCC9),
+          UINT64_C(0xF7B9EBA4C4ECE0B8), UINT64_C(0x29532CEC61167229)}},
+        {{UINT64_C(0xE9DC8EA63EEF3D71), UINT64_C(0xEBF76BD43E8EC117),
+          UINT64_C(0x48CEB78D2EA072B9), UINT64_C(0x82ECDFC473EFC32D)},
+         {UINT64_C(0x51B02CB3E2C89E7D), UINT64_C(0xE9D0740CF4D9100F),
+          UINT64_C(0xBB556EFE8A5E3F48), UINT64_C(0x864E52DA1D01B44E)}},
+    },
+    {
+        {{UINT64_C(0x5A75E0BD14EA6DC5), UINT64_C(0x09F2AA76532EFED7),
+          UINT64_C(0xE6DAE0A983CE5A18), UINT64_C(0x00F9BCB7CEB4E78D)},
+         {UINT64_C(0x128FB51C71F79BF3), UINT64_C(0x78C7978880D5DBC3),
+          UINT64_C(0x2752F02C9B816B9E), UINT64_C(0x88CFBA0CEB7622E2)}},
+        {{UINT64_C(0x845AB940268432A3), UINT64_C(0xA8D0231B2F94F6D3),
+          UINT64_C(0xBDFB3F91FEC02130), UINT64_C(0x07A61AE45F62419F)},
+         {UINT64_C(0xD1C951DF192EBF1A), UINT64_C(0x22CDCFF5FA232E34),
+          UINT64_C(0xDFDF121B3A7581DD), UINT64_C(0x9865ECA2710403A5)}},
+        {{UINT64_C(0x609F4527F8180BAB), UINT64_C(0x93AB107250A6D914),
+          UINT64_C(0x299D5013E2EEE3BD), UINT64_C(0x36EFCE5B42959C14)},
+         {UINT64_C(0x49CDA60D1045FFCB), UINT64_C(0xA8B2492E45723371),
+          UINT64_C(0xCB75789BF243FDBB), UINT64_C(0x8E1079D7871D500D)}},
+        {{UINT64_C(0x69852694DB14298E), UINT64_C(0xBAA92A9541A56B6D),
+          UINT64_C(0xC73718483DBFDBA4), UINT64_C(0x94B3155C947747F8)},
+         {UINT64_C(0x97BCDD197552426B), UINT64_C(0x4FB3E76D32682121),
+          UINT64_C(0x875AA0F78BC15FCA), UINT64_C(0x4065BCDFF1FD2315)}},
+        {{UINT64_C(0x2D1C0519B7F1ED04), UINT64_C(0xED9A1BB7EA2535E1),
+          UINT64_C(0xE4728CD6ABAE813E), UINT64_C(0x2CD7D44721A771D0)},
+         {UINT64_C(0x88E2A78559B9E964), UINT64_C(0x2677FBD76F9B5374),
+          UINT64_C(0x3967D6C52645B626), UINT64_C(0x8843F7DF5A1C315B)}},
+        {{UINT64_C(0x673CD273C7055A4E), UINT64_C(0x052AC45CEE827873),
+          UINT64_C(0xC26B9214CE1981F3), UINT64_C(0x3C39C13C2B8EEF59)},
+         {UINT64_C(0xDD9E1B9B0B276D47), UINT64_C(0x6729A5347287F9A1),
+          UINT64_C(0x43E1471C061DAD53), UINT64_C(0x6082FAD9118B56C8)}},
+        {{UINT64_C(0x9C3872AAF99186D6), UINT64_C(0x1D9E8DB675AC99BF),
+          UINT64_C(0x6FA7A0FFE338DBD3), UINT64_C(0x1EDF44ECD1FEF2F9)},
+         {UINT64_C(0xBAF9D33A1F9114BF), UINT64_C(0x89AF08E53007B6A5),
+          UINT64_C(0xAA04B1698436D917), UINT64_C(0x8381E76A6AFCF5E0)}},
+        {{UINT64_C(0xC51848A4C1D799BA), UINT64_C(0x6C3D43A97F40B34B),
+          UINT64_C(0xE8DAE074A5CB7B95), UINT64_C(0x5375B1EEBB5F8AEC)},
+         {UINT64_C(0x461290EE507099E6), UINT64_C(0xB95934AA3BAD89AD),
+          UINT64_C(0x9A6E5C22701A4D9C), UINT64_C(0x2CA791445E1389F6)}},
+        {{UINT64_C(0xBF82F7860E5108FC), UINT64_C(0x3620CCC4644D06DE),
+          UINT64_C(0xB65DE8538E5C4753), UINT64_C(0x6DAB72419FEDFD16)},
+         {UINT64_C(0x4CECAC87546DCBA4), UINT64_C(0xA7BBE65D3E2D0684),
+          UINT64_C(0x092AA490DA1E4FFA), UINT64_C(0x78F448BE41AD32AF)}},
+        {{UINT64_C(0x321580FE4A33F071), UINT64_C(0xBEA845D15EE5E685),
+          UINT64_C(0xC73CAECE47AC8ACF), UINT64_C(0x0E15E55DA9F65F05)},
+         {UINT64_C(0x5FC47420A59506E7), UINT64_C(0x501417FF01DBD2DD),
+          UINT64_C(0x8EF23280FB1205A6), UINT64_C(0x1AA26168E0F43AE8)}},
+        {{UINT64_C(0xD41F73B18149EB2A), UINT64_C(0xC297AF04AD95D531),
+          UINT64_C(0x2017176F749E415D), UINT64_C(0x5AF89C738357CE9A)},
+         {UINT64_C(0x301F7C7908A0FF9C), UINT64_C(0x0C2999B598695C57),
+          UINT64_C(0x856799576E4D8FF5), UINT64_C(0x2CC0FF3E6F493B1C)}},
+        {{UINT64_C(0xFE90F9044AF481F5), UINT64_C(0x0562C78B31BC4919),
+          UINT64_C(0xAA44AA5670E4F140), UINT64_C(0x1B61DEB4A175159A)},
+         {UINT64_C(0x85315DE1A7A7E648), UINT64_C(0x4BC1F51D6C012B33),
+          UINT64_C(0x40CB5DE3060CDEE6), UINT64_C(0x969F919632A1E138)}},
+        {{UINT64_C(0x3B317508E05F23B5), UINT64_C(0x7B1A93AE512D1156),
+          UINT64_C(0x3A283415CB58EC19), UINT64_C(0x193A53A18E27CAD9)},
+         {UINT64_C(0xCF6BBEBA03DE1BA8), UINT64_C(0xFA5544CA47A02393),
+          UINT64_C(0x8B3AAC1A8627F5EB), UINT64_C(0x02FAD2EC62EAF195)}},
+        {{UINT64_C(0x4F8D8ADA259CCF0F), UINT64_C(0xE4E6786B562991D7),
+          UINT64_C(0xA1C63473597C3FD3), UINT64_C(0x1F5B9017ACAB6F16)},
+         {UINT64_C(0x95B201BD592D437A), UINT64_C(0x54432A75ED14F859),
+          UINT64_C(0x67EF73FB0B551AC1), UINT64_C(0x0A48F0437F1AB9CA)}},
+        {{UINT64_C(0xECEE508E4A35445C), UINT64_C(0x80BE9F07B3EA6F9B),
+          UINT64_C(0xD914B25687E4B78E), UINT64_C(0x97F79CC9F89B8E4B)},
+         {UINT64_C(0x6A5B4F2BC359FB12), UINT64_C(0x54E6E37A99CF6FFA),
+          UINT64_C(0x1133C4B2F7C66CA8), UINT64_C(0x6F679B280345866B)}},
+        {{UINT64_C(0x0006F7A144E77CDF), UINT64_C(0xD8077F9F42033333),
+          UINT64_C(0x0414ECE521EAF35F), UINT64_C(0x1211576B5623803C)},
+         {UINT64_C(0xEDADD215140309A7), UINT64_C(0xC349C6575EBAE3BB),
+          UINT64_C(0xBD40427C821DE06B), UINT64_C(0x8949ACA33F5D2F97)}},
+    },
+    {
+        {{UINT64_C(0xAC1F87E6022E3D44), UINT64_C(0xDFC17BEDB39F6B10),
+          UINT64_C(0xEAAE416807119C4A), UINT64_C(0x8B3B40BCDBD47D36)},
+         {UINT64_C(0x6683A561861B7B59), UINT64_C(0xF9BFFB1713A6C76D),
+          UINT64_C(0xE4E72EA4A30A05AC), UINT64_C(0x77C219E8BA0D2AD6)}},
+        {{UINT64_C(0x5019824E66BE6944), UINT64_C(0x811ACEBE7B131070),
+          UINT64_C(0x9730DCF03BA34677), UINT64_C(0x5B9C5CF57BC9CFC8)},
+         {UINT64_C(0x1CBD950FB283C8CC), UINT64_C(0xF66DBDDA3973A325),
+          UINT64_C(0x4EC5EBC26FA60257), UINT64_C(0x0C01D57736FF26B3)}},
+        {{UINT64_C(0xBB2219547CE2BE74), UINT64_C(0x23E44E0E841E6C0C),
+          UINT64_C(0xE760D33D77C3824E), UINT64_C(0x5B656FBE7EB3CE34)},
+         {UINT64_C(0xEC50E509C5F3D66E), UINT64_C(0x5326C2B8496EF8BA),
+          UINT64_C(0x3F9485F63D4B20D4), UINT64_C(0x11B74A8551C21B0E)}},
+        {{UINT64_C(0xC3EAEB0425E30336), UINT64_C(0xA9D6C70FA6E3637F),
+          UINT64_C(0xF818C37E86F77F68), UINT64_C(0x786ED3C2C60DF35A)},
+         {UINT64_C(0xACA70EA0D56D705A), UINT64_C(0xCE61608C7BF4EF10),
+          UINT64_C(0x49AD1CD81722C179), UINT64_C(0x1B84FBE9687F3222)}},
+        {{UINT64_C(0x8A0F4BF135EE0BA9), UINT64_C(0x42AD284603952A08),
+          UINT64_C(0x1E0E1E3B3B60B4DD), UINT64_C(0x0DC1A947F5DCAD76)},
+         {UINT64_C(0x054BECA41F496E03), UINT64_C(0x8F02FDAB3AE6E6F6),
+          UINT64_C(0x8851CFF49B71C9F5), UINT64_C(0x6BD7271CA7441F87)}},
+        {{UINT64_C(0xB019E3469EB6A2C3), UINT64_C(0x2B719034931E7550),
+          UINT64_C(0x2B2CBEBD40698F1F), UINT64_C(0x375DB5914F1FC587)},
+         {UINT64_C(0x09843166676A79A4), UINT64_C(0x91848967B416D657),
+          UINT64_C(0xB49EA7219FED6B27), UINT64_C(0x1FAC5650D080C8AA)}},
+        {{UINT64_C(0x205CD58858C4C2AA), UINT64_C(0xBEEE26F817F572EE),
+          UINT64_C(0xE744AB674CB4DE3A), UINT64_C(0x37E34E18CBE989BD)},
+         {UINT64_C(0x95D9118B767D31B5), UINT64_C(0x9A34DBEC83E7C03E),
+          UINT64_C(0xCAFDBD1AB8F70DD3), UINT64_C(0x1E68A6813909BB51)}},
+        {{UINT64_C(0xFE0A5DFF9FD96ABA), UINT64_C(0xBBFB1FDFD99B68DE),
+          UINT64_C(0x5E232A4FE3F522BE), UINT64_C(0x768C2C54A6428D33)},
+         {UINT64_C(0xE9CFEDF9DBF1A575), UINT64_C(0x841721F24B83F9AB),
+          UINT64_C(0xFAD9650A80A85361), UINT64_C(0x3158921104979759)}},
+        {{UINT64_C(0x1CF9F4B8EFBF2099), UINT64_C(0x63D5499BF571408B),
+          UINT64_C(0x89C119FCEC3E74A6), UINT64_C(0x0525DDDF698E4DCD)},
+         {UINT64_C(0x43FCDDE47333A38C), UINT64_C(0x2150EAD480A912DE),
+          UINT64_C(0x4B3BD2230A19CC55), UINT64_C(0x3553EB4E238AC64C)}},
+        {{UINT64_C(0x3A259F52FEC2371F), UINT64_C(0x8B03C50544863D3E),
+          UINT64_C(0x1053E2D686BB6522), UINT64_C(0x400CE699F7086CBE)},
+         {UINT64_C(0x695B1EA003ED78DE), UINT64_C(0x00AE6D0916500E1B),
+          UINT64_C(0x9F29B08914B01815), UINT64_C(0x269692B4C218D892)}},
+        {{UINT64_C(0x8660280DF0D44E79), UINT64_C(0x69D2968537C0F38F),
+          UINT64_C(0x664B8146B9E24AD8), UINT64_C(0x277CB4DD1E695452)},
+         {UINT64_C(0xB1A02D4EDFBF05EB), UINT64_C(0x3B3493084A1426C7),
+          UINT64_C(0x13B7961222204FE7), UINT64_C(0x04F80867BCB5CD9F)}},
+        {{UINT64_C(0x37BDBCAEE0852CBC), UINT64_C(0x2A6D7A23BE22764C),
+          UINT64_C(0x4E0D43AC25AFD9FF), UINT64_C(0x1F6C9E14D16DD9EB)},
+         {UINT64_C(0xE37E3AB3B4B0F47A), UINT64_C(0x09E046FB6C476C3A),
+          UINT64_C(0xB8F649D9B75FA2DC), UINT64_C(0x7962A8C4FAB1AC41)}},
+        {{UINT64_C(0x00E41470F6A1314A), UINT64_C(0x176380C3E4388464),
+          UINT64_C(0xDB3405CD9B8A2B4D), UINT64_C(0x6299A1A67DE02ABC)},
+         {UINT64_C(0x9F6B9DE77BBE7BFA), UINT64_C(0x59F16F549D3098DD),
+          UINT64_C(0xFEC29C8D3B5767FE), UINT64_C(0x67711BC064955759)}},
+        {{UINT64_C(0x34444EA3B1B07B5D), UINT64_C(0xB1D973B491FA2B4A),
+          UINT64_C(0xEBEBEFB183403A0E), UINT64_C(0x56D520988E8A8EC6)},
+         {UINT64_C(0x11C93529A7E82D55), UINT64_C(0x9230AE03D525C399),
+          UINT64_C(0x74E1CBB28DB46C82), UINT64_C(0x4C3383CC40BE5E15)}},
+        {{UINT64_C(0x33A52E73CDAD72F3), UINT64_C(0x1D2CCA33B9E77759),
+          UINT64_C(0x26717716549406F5), UINT64_C(0x70DED57F5B3DB3E8)},
+         {UINT64_C(0xBA38F81343C85A67), UINT64_C(0x956F2DD735422BB3),
+          UINT64_C(0x52D9FA9907486F18), UINT64_C(0x655791BF75D1D2C4)}},
+        {{UINT64_C(0xF434A9601FC9E0B3), UINT64_C(0x42A7B891BEDE92AD),
+          UINT64_C(0x05A182D8A55A8009), UINT64_C(0x3404E08D38531612)},
+         {UINT64_C(0x2B5B2766F07D76E3), UINT64_C(0x94B1A98D1D77B90C),
+          UINT64_C(0xA86C0EC84B18BB9F), UINT64_C(0x6532770F526A81E3)}},
+    },
+    {
+        {{UINT64_C(0x4429A4E861CFE04A), UINT64_C(0xEE8673862C9CA012),
+          UINT64_C(0x237A3040C32D1969), UINT64_C(0x400AD5990AE2DFAE)},
+         {UINT64_C(0x1603D10A213C0A18), UINT64_C(0x6EB8042D2B1E2A57),
+          UINT64_C(0x4C9C1696C7CAF556), UINT64_C(0x79BE04A7E0C1A5A3)}},
+        {{UINT64_C(0x161781E33FCB8B14), UINT64_C(0x1383E3B8B1384C3C),
+          UINT64_C(0x5129EA19B566626C), UINT64_C(0x8A1F86E4551DE02A)},
+         {UINT64_C(0x9C648CCEAEDBE04C), UINT64_C(0x0D4278ACFB200132),
+          UINT64_C(0x466D452AC1E2D4A3), UINT64_C(0x832B0E6EB21B6E38)}},
+        {{UINT64_C(0x20101D7CED1D76C7), UINT64_C(0xC3282661C110D85E),
+          UINT64_C(0xB8026CE4FFCA2DD7), UINT64_C(0x73B4EBA58BA48211)},
+         {UINT64_C(0xAB94FE21D8554E2C), UINT64_C(0x319E2FD781B2A181),
+          UINT64_C(0x2C824DC537E8D3E2), UINT64_C(0x97CD457A09FCA0AB)}},
+        {{UINT64_C(0x8E4B5FBDC50116CB), UINT64_C(0x3D20CECECA631A93),
+          UINT64_C(0x5F80606C545575D8), UINT64_C(0x45ED55DEF91C7908)},
+         {UINT64_C(0x91870A927CC1083C), UINT64_C(0xA3828E06D360FF5C),
+          UINT64_C(0xFC9DFCDC84003D42), UINT64_C(0x0733C887FAC4667F)}},
+        {{UINT64_C(0x6F1F771ACC2FC31B), UINT64_C(0xDA9351A1902E8176),
+          UINT64_C(0xFB9395AFCE3FF045), UINT64_C(0x17C28CA213820DAB)},
+         {UINT64_C(0xA1F596BCA684E6FA), UINT64_C(0x89228CC7DAD3995A),
+          UINT64_C(0x5DBFD421C02E458B), UINT64_C(0x58C25045A2122AFE)}},
+        {{UINT64_C(0x2906450F018EADB0), UINT64_C(0x88A7A2369030C84E),
+          UINT64_C(0x492BA7A333308084), UINT64_C(0x321388B95605F371)},
+         {UINT64_C(0x5F934C94626AE19A), UINT64_C(0xE2BD6C6701C7CCD9),
+          UINT64_C(0xB07757B1EC0BBD52), UINT64_C(0x1E980338F9EDD2AC)}},
+        {{UINT64_C(0x5A5370748831457C), UINT64_C(0x0E0E22FB47E7B9A9),
+          UINT64_C(0x7BE70594A225A259), UINT64_C(0x433DB05530946816)},
+         {UINT64_C(0x852EA9F9E2F2C3CB), UINT64_C(0xDC4E8E3A2D243848),
+          UINT64_C(0x10F34AB81E887770), UINT64_C(0x29795D2CC89FC71B)}},
+        {{UINT64_C(0xE046B04BCFEC2C6F), UINT64_C(0xA1D3B5A02CA8256E),
+          UINT64_C(0x93F7FDFAE87F767F), UINT64_C(0x2DF5693E35FA3837)},
+         {UINT64_C(0x71D9638C97884587), UINT64_C(0x175EA91F39E115EC),
+          UINT64_C(0x14E16C31F41A27FC), UINT64_C(0x8B2682EAEB2F5913)}},
+        {{UINT64_C(0x2BCC6853798C7F28), UINT64_C(0x2F985A59DD7D3615),
+          UINT64_C(0xA66519E141D2257A), UINT64_C(0x18731D74021F719B)},
+         {UINT64_C(0x7210472C360E9C20), UINT64_C(0x4FB48411329A9B35),
+          UINT64_C(0xB33B6CB587D62CA5), UINT64_C(0x86226D9EFD0D7703)}},
+        {{UINT64_C(0xDD133F8BF67CB77C), UINT64_C(0x381E4D62F6ABEE80),
+          UINT64_C(0x3236F0057DF85AE5), UINT64_C(0x88EBB3864610BB0E)},
+         {UINT64_C(0x895AA5398DB908D8), UINT64_C(0x848142E6104C4633),
+          UINT64_C(0x467EE770B8012B2E), UINT64_C(0x193CBAED1B9210EE)}},
+        {{UINT64_C(0x737CD32BC1F44FC1), UINT64_C(0xCDF82B1C522B6209),
+          UINT64_C(0x08F4BB70E0017F2A), UINT64_C(0x1565BCEF64738F26)},
+         {UINT64_C(0x0D2910B9684DCF67), UINT64_C(0x4ED1734BC6F3EB81),
+          UINT64_C(0xCBEA79B6DA1D6BC8), UINT64_C(0x0470CE36EE6A41D6)}},
+        {{UINT64_C(0xECFD5C66BA05AF3C), UINT64_C(0x421D5540EB9BFAA8),
+          UINT64_C(0xFC0E5AF2526CFF85), UINT64_C(0x7E17F1E653DC49A6)},
+         {UINT64_C(0x69BB1DFB1FAEB0A2), UINT64_C(0xDC95661AB3785ED4),
+          UINT64_C(0x1F1D7395676D7CD0), UINT64_C(0x2C16BB9689C6412F)}},
+        {{UINT64_C(0x2335F20EEE414CA6), UINT64_C(0x56E0DDB2FEF5E042),
+          UINT64_C(0x942D4E35D9DE2966), UINT64_C(0x80E92B8CCF63D583)},
+         {UINT64_C(0x158BE1B65D492C76), UINT64_C(0xFF096960C4F822D9),
+          UINT64_C(0xC00FC7305AF79379), UINT64_C(0x07C49B0350D34E12)}},
+        {{UINT64_C(0x64678B2EC34836C8), UINT64_C(0xCC280DCB615FF066),
+          UINT64_C(0x86C3C7479131EC98), UINT64_C(0x35B008CC2D151FAD)},
+         {UINT64_C(0x22C18852F8133FDC), UINT64_C(0x183BE4DC2FE8809D),
+          UINT64_C(0x86589814CF98D56D), UINT64_C(0x52D8074D2F6E0DE4)}},
+        {{UINT64_C(0x33FF9F41C9274AA6), UINT64_C(0xAC30ACB4CA854AF1),
+          UINT64_C(0x87A7BE53FBC994B7), UINT64_C(0x6E7E8B2ADBCD717B)},
+         {UINT64_C(0x3065A732CD494AB6), UINT64_C(0x6F977B8760FD7F57),
+          UINT64_C(0x4C216EB4B74BAD54), UINT64_C(0x674F00F5F6061F7A)}},
+        {{UINT64_C(0xA8C224813164AFBB), UINT64_C(0x4C9E2F1D72A7AC55),
+          UINT64_C(0xE3DAC3E379DEFE94), UINT64_C(0x193A1E0BBB9D953F)},
+         {UINT64_C(0x8852020C7E0957EE), UINT64_C(0xF7FD181EB62F8EF7),
+          UINT64_C(0x0DE7EDDEE26B8860), UINT64_C(0x53A05575FD1B00DE)}},
+    },
+    {
+        {{UINT64_C(0xE5D63E1B63E0C8FC), UINT64_C(0x6849B530C684016A),
+          UINT64_C(0x4E89CB43009318AD), UINT64_C(0x1CDC5918EF571911)},
+         {UINT64_C(0xA6596C03F389EAF3), UINT64_C(0x9282C1B3E88975F9),
+          UINT64_C(0xD07A2AEF0D53D3F2), UINT64_C(0x3DA515D52B3B602C)}},
+        {{UINT64_C(0xE42857818A5436EA), UINT64_C(0x047E305636D65626),
+          UINT64_C(0x0016B568E16489A0), UINT64_C(0x4460319675A0209C)},
+         {UINT64_C(0x2BE99A51BCC19754), UINT64_C(0xE02EAFD05ACFCDEF),
+          UINT64_C(0xB0A1E300AECACABB), UINT64_C(0x0F39CBDEAC1860D9)}},
+        {{UINT64_C(0x50DA53722099F08E), UINT64_C(0xAA6AAAD1CA4817B1),
+          UINT64_C(0xA4DDC5FF57D73192), UINT64_C(0x046043AC7682D453)},
+         {UINT64_C(0xC8EB178828CF3F48), UINT64_C(0x3967A02FDCA184D4),
+          UINT64_C(0x0CE68B7986221941), UINT64_C(0x27BDCA48FD3A197A)}},
+        {{UINT64_C(0xD774E33C563D7A91), UINT64_C(0x1C309DAE07AE1C92),
+          UINT64_C(0xDABA89B457DBE6A8), UINT64_C(0x90C62517E5820FA4)},
+         {UINT64_C(0x23C6460511371109), UINT64_C(0x1176AE7E15605666),
+          UINT64_C(0xD71E9755DF040DCB), UINT64_C(0x5312A5B362ED515C)}},
+        {{UINT64_C(0xB7AA3A117A5FB9E0), UINT64_C(0xA769BC7218E2CB32),
+          UINT64_C(0x9D551B9B6B73E050), UINT64_C(0x0CE51DF0DB067CBC)},
+         {UINT64_C(0x00BF90D54A0E06BE), UINT64_C(0xFEC6E7B37EE820E7),
+          UINT64_C(0xDFBAC0833334937A), UINT64_C(0x46884935CE14CF46)}},
+        {{UINT64_C(0xC3F31EAF902EF3A9), UINT64_C(0xF3B6E6FA5CCDF002),
+          UINT64_C(0x5A9B532188CDDE0F), UINT64_C(0x00D99E43E8691FED)},
+         {UINT64_C(0x8E786F52CFE02C8B), UINT64_C(0x587AA5374DD36F8E),
+          UINT64_C(0xBCA91CAC425CC228), UINT64_C(0x80AA8AA9BFA9C36B)}},
+        {{UINT64_C(0xAD4A2AD09B20505A), UINT64_C(0x6D70802916739066),
+          UINT64_C(0x729001F389F73B52), UINT64_C(0x774803478073A428)},
+         {UINT64_C(0x1AB38F07E84DB3B4), UINT64_C(0xE643D756A6655769),
+          UINT64_C(0x5631359B46C19856), UINT64_C(0x82530A3201C3DCD1)}},
+        {{UINT64_C(0x9250EC262DDDB968), UINT64_C(0x63D99CBF8D82A03E),
+          UINT64_C(0x4FBFE78441349B60), UINT64_C(0x6977DD07A15BF2B7)},
+         {UINT64_C(0x771917C668513C32), UINT64_C(0x026035188F0064F7),
+          UINT64_C(0x45A5742951D78637), UINT64_C(0x56BF57CC87293790)}},
+        {{UINT64_C(0xBAC94E24032E6426), UINT64_C(0x7D54AE34C2531B26),
+          UINT64_C(0x4D6EF608CD688082), UINT64_C(0x736E7ACFF5AA4BEE)},
+         {UINT64_C(0x41D5BF6C6AFB84E2), UINT64_C(0x40E12DA56E976E09),
+          UINT64_C(0xCBF32FCB2235F7B9), UINT64_C(0x285DDF46A21BC0E0)}},
+        {{UINT64_C(0x66C6A76ECE751632), UINT64_C(0xBD457D0E32A61A1D),
+          UINT64_C(0xFA12A7C878191C57), UINT64_C(0x030ED98B06611B5E)},
+         {UINT64_C(0x199F7756F4972FFD), UINT64_C(0x298D98E69C8AAB09),
+          UINT64_C(0x2186054CC5B02158), UINT64_C(0x0736CE4CB9B1147A)}},
+        {{UINT64_C(0x33E4A4CA19BFA57D), UINT64_C(0xF02F6D32AA70C35D),
+          UINT64_C(0x9EA10B633CC082FD), UINT64_C(0x86104E8ED00E82A8)},
+         {UINT64_C(0xACBA5E7387797E25), UINT64_C(0x24DD98A8EB85A796),
+          UINT64_C(0x02748827C58AC480), UINT64_C(0x5B4480C76A932D80)}},
+        {{UINT64_C(0xF9E210FB1992B174), UINT64_C(0x3CFA6EF1BE22636E),
+          UINT64_C(0xA46F202B3BDFA2BD), UINT64_C(0x8C83B3DA441B96D2)},
+         {UINT64_C(0x3BB2ED8B8AA39AB4), UINT64_C(0x4DB63B239CE53FB2),
+          UINT64_C(0x24AC8A9846DC2104), UINT64_C(0x997BC4A768E20D1B)}},
+        {{UINT64_C(0x4CDF8757D1C0D629), UINT64_C(0xBA155719A64B6058),
+          UINT64_C(0x82FD0DA3BE3FB0B1), UINT64_C(0x12F5069403E34CB1)},
+         {UINT64_C(0x8993EE3802E7DFEB), UINT64_C(0x2FC240C63D7A758E),
+          UINT64_C(0x75CB6F62AFF7CC7B), UINT64_C(0x2D73F74D71B02A5B)}},
+        {{UINT64_C(0x0B7B920A550ADA69), UINT64_C(0x87D29F08D2F1D5C2),
+          UINT64_C(0x6E36EF9CEEA99A38), UINT64_C(0x624874C179D7626A)},
+         {UINT64_C(0x9FCA1B2E17F026E0), UINT64_C(0xBDBE18E5A3A79C2E),
+          UINT64_C(0x1506DE6A6E1B0C6D), UINT64_C(0x860CCD71AD2A2C5F)}},
+        {{UINT64_C(0x00A15CB028715EF9), UINT64_C(0x71F337D8B1C0ED6D),
+          UINT64_C(0xBD7E6892F998251E), UINT64_C(0x4C5AB31108E0A4E9)},
+         {UINT64_C(0xDFD51293567342FB), UINT64_C(0xF202FCD15AE3193B),
+          UINT64_C(0xE317C933AF59A5A2), UINT64_C(0x300FE0835055DE2A)}},
+        {{UINT64_C(0x279A071AC58E7AE9), UINT64_C(0xCED1F2F44C718A8B),
+          UINT64_C(0x3A8C0D1A5FE7F6E5), UINT64_C(0x789C9B04BB40DA93)},
+         {UINT64_C(0xBB7EA922BF2A0B9B), UINT64_C(0x5DD7A04A3A484413),
+          UINT64_C(0x3E1F49FBC5912F93), UINT64_C(0x4D8C07A561ECAB05)}},
+    },
+    {
+        {{UINT64_C(0x7D3510079706D4CF), UINT64_C(0x3E2B3D2EB9BABB1F),
+          UINT64_C(0xC73745BFA2E423EA), UINT64_C(0x0AB3940AF59601A0)},
+         {UINT64_C(0x8881507A2A895C4F), UINT64_C(0xF27F6F4068652263),
+          UINT64_C(0xCFD9181488A416BE), UINT64_C(0x13459BC31B4F51F6)}},
+        {{UINT64_C(0x6D830E0C01C7C38A), UINT64_C(0xBA912BD4E27DA48A),
+          UINT64_C(0x3828F4334AB8B5A6), UINT64_C(0x3F858E6CE35E88DA)},
+         {UINT64_C(0x137F2E3A6E1C033C), UINT64_C(0xFC7C89537E670398),
+          UINT64_C(0x6FF761CEF5C3D4DB), UINT64_C(0x53A02906EED1029B)}},
+        {{UINT64_C(0x5C597BA656779C20), UINT64_C(0x366688CC43A87346),
+          UINT64_C(0x19F6DA4AA55ACF91), UINT64_C(0x280ED592182DEC58)},
+         {UINT64_C(0x0A1F3A7AA1D3EBDD), UINT64_C(0xD92B60780C9F474A),
+          UINT64_C(0x38D0335E19AE00DD), UINT64_C(0x094A5772A97F33F7)}},
+        {{UINT64_C(0x026A9029312D2694), UINT64_C(0x95408516AB5B34B8),
+          UINT64_C(0x9FFA9AB1DED270EA), UINT64_C(0x1F9DDC52493E5935)},
+         {UINT64_C(0xAC7F94C117244394), UINT64_C(0x18FC29C40F28C9DF),
+          UINT64_C(0xEDE29238BD817BD9), UINT64_C(0x20DBF9AF8E2A7E40)}},
+        {{UINT64_C(0x009365D97648CA5C), UINT64_C(0xB168191E2BF27488),
+          UINT64_C(0x2481BFAAE3B91112), UINT64_C(0x744C505B3D6DB830)},
+         {UINT64_C(0x21426D8F3C464704), UINT64_C(0x283F59EFDAF85A61),
+          UINT64_C(0x278B5F8EF2716102), UINT64_C(0x95B80D820FE7E7EC)}},
+        {{UINT64_C(0xD15ADA08F327664D), UINT64_C(0xF26E3232FE904AF8),
+          UINT64_C(0x2763DBA6F99471C6), UINT64_C(0x4BC9713915F30827)},
+         {UINT64_C(0x8523812E5F154BF9), UINT64_C(0x0839059FDE17F8F9),
+          UINT64_C(0xEA151382BC16678D), UINT64_C(0x68D01E627890C4EF)}},
+        {{UINT64_C(0x37FAC9FA9487556B), UINT64_C(0xB4DF5C53FB4DC83D),
+          UINT64_C(0x1EF42D8C92969151), UINT64_C(0x6C0A9D188B0ED349)},
+         {UINT64_C(0x63E91049946F31ED), UINT64_C(0x51E91DC6653F600B),
+          UINT64_C(0xD7A582B153A29196), UINT64_C(0x0452F4AD31E1D843)}},
+        {{UINT64_C(0x1224169D0DE8E344), UINT64_C(0x0F4AB4E7F329D30F),
+          UINT64_C(0x12662965B525B6A4), UINT64_C(0x3142B612255F14B8)},
+         {UINT64_C(0xEF6148B9BBF468A1), UINT64_C(0x3FC413B4144F8DFF),
+          UINT64_C(0xA453D0759BF55B34), UINT64_C(0x857EC76386EBA319)}},
+        {{UINT64_C(0x7FC22E26C16C1002), UINT64_C(0x2E34975EB0B186C3),
+          UINT64_C(0xE11E36422FC79F85), UINT64_C(0x30FE5C0E9F981B5F)},
+         {UINT64_C(0x73BD0FA631816247), UINT64_C(0x40FE16616906AF0A),
+          UINT64_C(0x8D7109A3787BC7EE), UINT64_C(0x294520546FB9A590)}},
+        {{UINT64_C(0x24654B9B4DFAAF93), UINT64_C(0x91CDEA8B9A450D29),
+          UINT64_C(0xEE55420BE4874748), UINT64_C(0x01FAC14C6D03064C)},
+         {UINT64_C(0x8A4EBDE2D93BD5BE), UINT64_C(0xCB2DF30749EF18A9),
+          UINT64_C(0x36E6AC641A7B7F36), UINT64_C(0x301954234AC1CB8D)}},
+        {{UINT64_C(0xD9970B1E34F5B3FF), UINT64_C(0x3CFEFC50587A9C5C),
+          UINT64_C(0x8EC1C5DE7CCE631E), UINT64_C(0x92C93E2B52465AB8)},
+         {UINT64_C(0x0104DF30257017CA), UINT64_C(0xF4E5E7798D8DB4CE),
+          UINT64_C(0xE12A39DDFDC267F0), UINT64_C(0x683DEAFE27C73FDA)}},
+        {{UINT64_C(0xD0840E81BBC70623), UINT64_C(0x03A93C164D23568E),
+          UINT64_C(0xC52FF3D611A71BFF), UINT64_C(0x03C11FCE0875248E)},
+         {UINT64_C(0xBC6F184B6C4AE445), UINT64_C(0xF52CC71F7698EE98),
+          UINT64_C(0x4663193EEEA25223), UINT64_C(0x86CD1AB3031C68DC)}},
+        {{UINT64_C(0x221C94EB21E04C02), UINT64_C(0xE96BB7B37B980F70),
+          UINT64_C(0x60A7289724DC2BD1), UINT64_C(0x8C8E019F5621F475)},
+         {UINT64_C(0xAE47B2F75CFA457A), UINT64_C(0x31B2F9E1F395C533),
+          UINT64_C(0x7EEB5DDC82E75849), UINT64_C(0x4863A6A32A241E52)}},
+        {{UINT64_C(0x806AC7F4914976EF), UINT64_C(0x5019261ECA42B875),
+          UINT64_C(0x44F5C03D6EF2D82F), UINT64_C(0x24959F00690F2ACA)},
+         {UINT64_C(0x4BDE211581F0BBB6), UINT64_C(0x01EB2C001F701A2D),
+          UINT64_C(0x039F8910274FB05C), UINT64_C(0x57068F24C625EBCD)}},
+        {{UINT64_C(0xB21B8C9367FF2575), UINT64_C(0xC7826C600C60B449),
+          UINT64_C(0xD4D69A9FA98671BB), UINT64_C(0x95249276F5A2AB0C)},
+         {UINT64_C(0x8F7007F02D1976DA), UINT64_C(0x846F2A92C011D54C),
+          UINT64_C(0xFDBF81DFFA2076B1), UINT64_C(0x3349224F5583B46C)}},
+        {{UINT64_C(0x624967467C854B4A), UINT64_C(0xF92BAE1D798B1395),
+          UINT64_C(0x2EBE18E3D2F65638), UINT64_C(0x472FF6E58A068F49)},
+         {UINT64_C(0x64BB0F33DA2030C2), UINT64_C(0x72C0D0C966F6C000),
+          UINT64_C(0xEA837EE53194615E), UINT64_C(0x1B7B4849FA9A7903)}},
+    },
+    {
+        {{UINT64_C(0x27AB780CCF9A0727), UINT64_C(0xD457A7BC9D7486CB),
+          UINT64_C(0xFC57C335FE9F1A59), UINT64_C(0x269D8959D1D9F161)},
+         {UINT64_C(0x06A32331B81605D5), UINT64_C(0x236963536F050BE0),
+          UINT64_C(0xF9350879413E1C0D), UINT64_C(0x170195485761A8DF)}},
+        {{UINT64_C(0x583D3D3F6765C6A2), UINT64_C(0x68BBA6F9BE9DF3AF),
+          UINT64_C(0x7011E59485358B53), UINT64_C(0x3B2142E353A08874)},
+         {UINT64_C(0x4AB6137E6F5C8641), UINT64_C(0x4955890E4FE9BCEB),
+          UINT64_C(0xE2F732BA4D14DA01), UINT64_C(0x8CB285FCBEBD63D4)}},
+        {{UINT64_C(0x5099551B6C74A0AA), UINT64_C(0xF04EB8F8BC2C8A61),
+          UINT64_C(0xE169F49285983435), UINT64_C(0x764062A15B808C9E)},
+         {UINT64_C(0x8C59A43F65B994FB), UINT64_C(0x2FB148B76068E685),
+          UINT64_C(0x899D4FC554108A9F), UINT64_C(0x0469EA3E5B4D40FE)}},
+        {{UINT64_C(0x15B613EA62A76AA8), UINT64_C(0x7E8E7D562FE2F179),
+          UINT64_C(0x53160F65BE98EDC2), UINT64_C(0x258DA04E9810DC27)},
+         {UINT64_C(0x4FEE19D0030D9C31), UINT64_C(0xFC2C57F8C29E300F),
+          UINT64_C(0x00071F97C44458AE), UINT64_C(0x0AA2B911709727E1)}},
+        {{UINT64_C(0x443F8B23A61166F8), UINT64_C(0x3E8F6278D685FCF1),
+          UINT64_C(0xC930C1D1447433C6), UINT64_C(0x1245A867AED7D6EB)},
+         {UINT64_C(0xC35986DDFA89945A), UINT64_C(0x89CE110926B0AFEE),
+          UINT64_C(0x9C6A87CD17103D18), UINT64_C(0x811B2242CE338978)}},
+        {{UINT64_C(0xC074AF660C293255), UINT64_C(0x982C23A95AEAC2E1),
+          UINT64_C(0xDB14DE0CD39AC56C), UINT64_C(0x20263F3F47EBB839)},
+         {UINT64_C(0x183EA578D10588DF), UINT64_C(0xB4D88EFB1EB69C36),
+          UINT64_C(0xA79A1B4DDBF3BEE7), UINT64_C(0x650FC466E8159E0D)}},
+        {{UINT64_C(0x9E6EE797F80D5744), UINT64_C(0xDFC3EBF5825949BD),
+          UINT64_C(0x1083EC797EC9BD65), UINT64_C(0x62A45C5EB753499C)},
+         {UINT64_C(0x9C135F802B6F42CF), UINT64_C(0xE39B0BA5C4B49041),
+          UINT64_C(0x4D8385138D3B2D06), UINT64_C(0x696034DCD070754B)}},
+        {{UINT64_C(0x06313D73B8E3BDD1), UINT64_C(0xC7BEC420E6968872),
+          UINT64_C(0x740DD6D33A04B7F0), UINT64_C(0x98F2D0B72465BED2)},
+         {UINT64_C(0x9F2984604043DBAD), UINT64_C(0x82D6991A01B5961F),
+          UINT64_C(0xAAE7DF9D54DFAB8A), UINT64_C(0x5701E3351A07DD22)}},
+        {{UINT64_C(0x5695A08EFCA398A2), UINT64_C(0xD29EBC1F0D76E8CF),
+          UINT64_C(0x5AB17ABF24004EDB), UINT64_C(0x20C7761B0CC7A144)},
+         {UINT64_C(0x6CAEE036285EA93C), UINT64_C(0xF9756E89F2B8BF23),
+          UINT64_C(0x3CEA1C76B1AB91B7), UINT64_C(0x5D86860E3FB4F3B8)}},
+        {{UINT64_C(0x835B023BFDC7DBC5), UINT64_C(0xF05C0676EEEDFD73),
+          UINT64_C(0xF8325D64E52BFB27), UINT64_C(0x919D008DB5032CFF)},
+         {UINT64_C(0xEF27862C4B130537), UINT64_C(0x616DF1545CE404DC),
+          UINT64_C(0x182BA57E451ED033), UINT64_C(0x2EFEC0C7BD01F864)}},
+        {{UINT64_C(0xDC84684545F3AF3C), UINT64_C(0x2D2BA0CD92A47B31),
+          UINT64_C(0x9C806C7DE1AFE6EE), UINT64_C(0x28FE43FF4C6A4FEA)},
+         {UINT64_C(0x2E028CD16C76C0F4), UINT64_C(0xC6FA5AD12AEFBDDA),
+          UINT64_C(0xC8B5339BF63F1A35), UINT64_C(0x30C780A704523F02)}},
+        {{UINT64_C(0x3D2DCA55D7E4F0CE), UINT64_C(0x8EEF918926616811),
+          UINT64_C(0xB106642F3C0E5892), UINT64_C(0x4A96538589DB033E)},
+         {UINT64_C(0x5A1CBEB6B3C2DD37), UINT64_C(0x5290C737156EAC75),
+          UINT64_C(0x57AFD98AE32E40C7), UINT64_C(0x04A16164B3571868)}},
+        {{UINT64_C(0x9AB8A3E91A673E1B), UINT64_C(0xC707ABBA0FC23483),
+          UINT64_C(0x936C17839E0EA0BD), UINT64_C(0x1E4C2E7CF71F6F1D)},
+         {UINT64_C(0x37904F636FB0926C), UINT64_C(0x9EC76DF7C51FEEA5),
+          UINT64_C(0x2C60F7D64D103DAC), UINT64_C(0x7B451E0BF9DC2CC6)}},
+        {{UINT64_C(0xD4F8526CB2A5F07F), UINT64_C(0x41303D42B0F4AE09),
+          UINT64_C(0xAC79523F0C182FDC), UINT64_C(0x8D6A75C8AA0C5D6D)},
+         {UINT64_C(0x4DD7FC953CDCE3F0), UINT64_C(0x4DDB39105BE6DA0F),
+          UINT64_C(0xE34961F916F7E27D), UINT64_C(0x0C5CB76F5B3544EB)}},
+        {{UINT64_C(0x324C95B5252C354C), UINT64_C(0x4648D87E8CC2C3BC),
+          UINT64_C(0x6DDFDECD82BC8C80), UINT64_C(0x8C64CADEC069996E)},
+         {UINT64_C(0x4E282E9640ED44AB), UINT64_C(0x70A1206779334507),
+          UINT64_C(0x65CE5D385AB8902B), UINT64_C(0x56FE68F27C949D96)}},
+        {{UINT64_C(0x1D55C87ECF9530AE), UINT64_C(0xD1CF73FFC147C2D5),
+          UINT64_C(0x826031CDC1F44403), UINT64_C(0x3A06528F5EEF5BFB)},
+         {UINT64_C(0xF220EAF35F84A7B1), UINT64_C(0xBC99C905350EBADE),
+          UINT64_C(0x686A706E810A101C), UINT64_C(0x95E527131D92EAEA)}},
+    },
+    {
+        {{UINT64_C(0xAAC634B3514D47C2), UINT64_C(0xD0C189B858B83B33),
+          UINT64_C(0x633D59E358CA9A2F), UINT64_C(0x65965CE0838ACC80)},
+         {UINT64_C(0xBB03F7EA9B512F6E), UINT64_C(0xB2F38B849EF17A82),
+          UINT64_C(0xE8382E37E16A7A95), UINT64_C(0x28644EFE4D9EF607)}},
+        {{UINT64_C(0x46F9115E040A515B), UINT64_C(0x4C7DBCFFFA59CD3E),
+          UINT64_C(0xB4CE22B871BB543E), UINT64_C(0x58D935D8948F80BA)},
+         {UINT64_C(0x33DC1D5B03683C8B), UINT64_C(0x25E6113A2D071D87),
+          UINT64_C(0x44F962F8A7D59351), UINT64_C(0x6B818DDBBCF66B43)}},
+        {{UINT64_C(0x363A63C7378C1098), UINT64_C(0xBEB2A7B6AC5C0C9E),
+          UINT64_C(0x3F620D3F4361C8D4), UINT64_C(0x68EAD01A4E3D9686)},
+         {UINT64_C(0x4361308545DB7208), UINT64_C(0x865A6DDE13B35D33),
+          UINT64_C(0x4EAA166368DF09F5), UINT64_C(0x5FDCA83FBF02AA12)}},
+        {{UINT64_C(0xC240FEAABFEFB3CB), UINT64_C(0x78E757D20EC6694F),
+          UINT64_C(0xA11A82DF2413D6A2), UINT64_C(0x7BD656EEDBB7A220)},
+         {UINT64_C(0x68C608736EB899A4), UINT64_C(0xAFFB9F1C318C72E8),
+          UINT64_C(0xF16A443C9FB7619D), UINT64_C(0x2FC317E342C6E4D6)}},
+        {{UINT64_C(0xAB56A87373F57A93), UINT64_C(0xE9BA24E2308F5224),
+          UINT64_C(0x010281B911992077), UINT64_C(0x2CBCA7FE593EAD1A)},
+         {UINT64_C(0xB400388A2A1D8318), UINT64_C(0xD470ABDA3C61A0AF),
+          UINT64_C(0xF910272194BD2FAC), UINT64_C(0x222365D10FAC703C)}},
+        {{UINT64_C(0x5C9021C49C2D1B2B), UINT64_C(0xB349DB18CAF0B562),
+          UINT64_C(0x6DAF741291412CC3), UINT64_C(0x44E5E3E5CF6584D3)},
+         {UINT64_C(0x1D1F4244E4C17B19), UINT64_C(0x4C663EE63787A38A),
+          UINT64_C(0xA3261E22313A8581), UINT64_C(0x3AE1E1DB7A82C05A)}},
+        {{UINT64_C(0x31AA2B293CD6A155), UINT64_C(0x0EB9527E3D078B12),
+          UINT64_C(0x6785ABA2214FF1E2), UINT64_C(0x74974F84F111D572)},
+         {UINT64_C(0x2199A753078C684B), UINT64_C(0xA0F1DE234B13A004),
+          UINT64_C(0x3965AE1975BEBCBC), UINT64_C(0x22A8D7EE24562AA7)}},
+        {{UINT64_C(0x0591965FBF268ADE), UINT64_C(0xF621B3649EE48F0E),
+          UINT64_C(0x0AD981A95A3A3848), UINT64_C(0x1316675C9ECD72B7)},
+         {UINT64_C(0x21A5CEB7F37C87E0), UINT64_C(0xEF864CF368D1AAFB),
+          UINT64_C(0x5F340413D3C9A54F), UINT64_C(0x0C5DE1E6E00FD564)}},
+        {{UINT64_C(0x439B2C0CB415D72C), UINT64_C(0x106AE2E063442E62),
+          UINT64_C(0x8A9428C64A79E93B), UINT64_C(0x67FE6D6ECC2DF510)},
+         {UINT64_C(0x407158BC655013B3), UINT64_C(0x3AAEAC1C2BC7E7CC),
+          UINT64_C(0x399DB6EFEE8EC1F4), UINT64_C(0x1F7D0D17ECFF6657)}},
+        {{UINT64_C(0x03039D18CB86639E), UINT64_C(0x586039099CDC3408),
+          UINT64_C(0x52421109F1804B9E), UINT64_C(0x95502857ED126B9F)},
+         {UINT64_C(0xC91842D9451B0539), UINT64_C(0x2B5B11EBE60AAE3B),
+          UINT64_C(0xDB50F9EA44CB5A14), UINT64_C(0x4B5C982489E80A6E)}},
+        {{UINT64_C(0x8EF3A1E569FC9F1A), UINT64_C(0xA4EAB6F47CCA576A),
+          UINT64_C(0x955E1C89FBF1CD65), UINT64_C(0x3E3ACF6EF8CE13DB)},
+         {UINT64_C(0x1FDB619058F31FC9), UINT64_C(0x10DB71B393B0D0D5),
+          UINT64_C(0x900961439154B285), UINT64_C(0x37EEE1781C49EFF3)}},
+        {{UINT64_C(0x609DE502BC198066), UINT64_C(0x075C863140722EF6),
+          UINT64_C(0x121ACC9FFF0FA57D), UINT64_C(0x31E79AC5EC7DB1A0)},
+         {UINT64_C(0x736EB95DF16FAE79), UINT64_C(0xFF963917815A14CB),
+          UINT64_C(0xC6003E5D23AF0BC3), UINT64_C(0x0D1B035099AFCAAA)}},
+        {{UINT64_C(0x8A1B6C971F0DF59D), UINT64_C(0x7DF81A7259C9CA8D),
+          UINT64_C(0x74257F8E9602E8BE), UINT64_C(0x2FFBAD39A441657A)},
+         {UINT64_C(0xB1B090DB048050A6), UINT64_C(0xD6144221741E7392),
+          UINT64_C(0x63826973ECA1E2D6), UINT64_C(0x28EE60B8D287DE2F)}},
+        {{UINT64_C(0x815042955DEE86CE), UINT64_C(0xFACCB61D73C03937),
+          UINT64_C(0x9898F773299B96AF), UINT64_C(0x51552297488F95CD)},
+         {UINT64_C(0x6170618C54F5E182), UINT64_C(0x9C11D666C2798401),
+          UINT64_C(0x88225F4B3EAF3DDE), UINT64_C(0x20841538087F1185)}},
+        {{UINT64_C(0x42BCEFFE14FA59EC), UINT64_C(0xC41CFCDA7D023F1E),
+          UINT64_C(0xD7E4FDE77163E802), UINT64_C(0x54F4C7982E145BCE)},
+         {UINT64_C(0xE4EA68C9F9162235), UINT64_C(0x4F7EAC6F458DEC24),
+          UINT64_C(0x70100D2D845C6AD1), UINT64_C(0x67AC34CFF1EA21B2)}},
+        {{UINT64_C(0x2BD49BDFAC21C728), UINT64_C(0x2D009B45EDA966DF),
+          UINT64_C(0x0D4476BE4A9B9167), UINT64_C(0x340BD3BE95D2ACD2)},
+         {UINT64_C(0xF8BACA2DB040FF50), UINT64_C(0x307BEA0DB91D47C1),
+          UINT64_C(0x2EFDC81BB6B3A1E4), UINT64_C(0x3B2CD7D91595D6E2)}},
+    },
+    {
+        {{UINT64_C(0x56254AE732A5A002), UINT64_C(0xE48A475C448B0A9F),
+          UINT64_C(0x3B2DF6DF14EDBBA9), UINT64_C(0x911BE369F5E4CC81)},
+         {UINT64_C(0x57D065C677CBB387), UINT64_C(0x7C1E0142527575FD),
+          UINT64_C(0x2CA91EEF243B5C33), UINT64_C(0x7E54AF425C4700CC)}},
+        {{UINT64_C(0xEF5ECAE55EEDF97F), UINT64_C(0x2D79312AC0D821AC),
+          UINT64_C(0xD3817042A9EDBE8F), UINT64_C(0x7A3D537EAD924B1D)},
+         {UINT64_C(0xD9923A20B26FFC3B), UINT64_C(0x651D22015B81EC12),
+          UINT64_C(0xBDF7205A54C37FF0), UINT64_C(0x5562D2588C0D2E79)}},
+        {{UINT64_C(0xE5BC2E1CFB4842F8), UINT64_C(0xCFE9782425B464C8),
+          UINT64_C(0xD902A11A2FEA9ED3), UINT64_C(0x2FC360ED8D3DD0A4)},
+         {UINT64_C(0xEC4E57FC9E5F7AE1), UINT64_C(0xF0F1FD9F79B8AF6C),
+          UINT64_C(0x803F3ED6A9A283D0), UINT64_C(0x5F13000FADEEA78E)}},
+        {{UINT64_C(0x3EBBBD161838B470), UINT64_C(0x934BA22AB2781680),
+          UINT64_C(0xC9ED04FCC7210CD4), UINT64_C(0x716004A14615F186)},
+         {UINT64_C(0xE7B36C21E894BBC3), UINT64_C(0x3F739857570AA9A8),
+          UINT64_C(0x1707FBEE3063902B), UINT64_C(0x44FCB774155C9824)}},
+        {{UINT64_C(0x30ECD772CDD8CEDB), UINT64_C(0x67BB36FDCA09BCD3),
+          UINT64_C(0xD5AD0FAA9BC43B7B), UINT64_C(0x3962E5566A130895)},
+         {UINT64_C(0x579282537F7A565A), UINT64_C(0xDE9D779255B911EE),
+          UINT64_C(0xD5DBFDDE6984F326), UINT64_C(0x7CDF5E159FB51246)}},
+        {{UINT64_C(0xD7FC427A89D24763), UINT64_C(0x50E627C9AD874362),
+          UINT64_C(0x17A8F83B2069873A), UINT64_C(0x186952D7DB698BD1)},
+         {UINT64_C(0x6C007EED38A2822C), UINT64_C(0x5F1870910C207073),
+          UINT64_C(0xD0023B6308D245D2), UINT64_C(0x7A32C2A134544316)}},
+        {{UINT64_C(0x8B99183A8C2635EC), UINT64_C(0xA00A94766F12B137),
+          UINT64_C(0x9B5E2F57823DA313), UINT64_C(0x0F7CB4AF47B3CEB1)},
+         {UINT64_C(0xC993AF7E67266D24), UINT64_C(0x8B60295EEBA985B8),
+          UINT64_C(0x9AA596CBE41A6F69), UINT64_C(0x4D6CF5DF4B68507A)}},
+        {{UINT64_C(0x3B8A3CBC6921DEFE), UINT64_C(0xB96D53900ED7B717),
+          UINT64_C(0x6761E86A7DE65E54), UINT64_C(0x964460D6701CC1E4)},
+         {UINT64_C(0x5C0A221326C82309), UINT64_C(0xF95F547220328C60),
+          UINT64_C(0xB519B476FB49E3B5), UINT64_C(0x089D0AB6EE373756)}},
+        {{UINT64_C(0x947DFCF0DC952768), UINT64_C(0xD8B5C61C3AB613AA),
+          UINT64_C(0x146E83259A457DA4), UINT64_C(0x37E2F6D3F476945E)},
+         {UINT64_C(0x5702A4413851A6F6), UINT64_C(0xB476560E8D67EF9C),
+          UINT64_C(0xABA23F67F9D2AD96), UINT64_C(0x3CE30A4EDFBBB806)}},
+        {{UINT64_C(0x64695640E5BAA662), UINT64_C(0x2A18979A0AAF3988),
+          UINT64_C(0x605578FFDE0ED212), UINT64_C(0x52E604D530F2C13C)},
+         {UINT64_C(0x2E9E2D83894AB3B9), UINT64_C(0x098B1FAA4BC33041),
+          UINT64_C(0x01CF66060863AA3C), UINT64_C(0x7334879BD2951A60)}},
+        {{UINT64_C(0xB080105CC51704F1), UINT64_C(0x1A5869B8EAEE29C4),
+          UINT64_C(0xAD6AEF335FDD2FD3), UINT64_C(0x83E677C449C2B183)},
+         {UINT64_C(0x757A4EFDDFA8B8F4), UINT64_C(0xFC8E7650E42F2C87),
+          UINT64_C(0xD4A61A3E9C963D98), UINT64_C(0x3750289A45BC9044)}},
+        {{UINT64_C(0x40A0620E40B1C72C), UINT64_C(0xAEE56EC7B2E44573),
+          UINT64_C(0xE4E6EA3D60532553), UINT64_C(0x5BA50E80A0EB6014)},
+         {UINT64_C(0x846429784378CC2F), UINT64_C(0xE322D1692A1C5FB4),
+          UINT64_C(0x5000C9B16B91F82D), UINT64_C(0x32380CB87AA49F2D)}},
+        {{UINT64_C(0x0A2F936AE18C4BD2), UINT64_C(0x7AEA56AAC3DB9AA5),
+          UINT64_C(0x3A984E935DDF30CB), UINT64_C(0x36133D20904181C6)},
+         {UINT64_C(0xA9A65593F62DFBF5), UINT64_C(0xB4AC06FD6808B883),
+          UINT64_C(0x986797047A2FEDBB), UINT64_C(0x20E9E8E197880A72)}},
+        {{UINT64_C(0x403A1ED1CEB26FAE), UINT64_C(0xAD13CD873CD622C9),
+          UINT64_C(0xC1E03929CF45C32D), UINT64_C(0x4B50E4A9C3BE1A53)},
+         {UINT64_C(0xCF10F3AFD0D7AFE3), UINT64_C(0x6A29B1731494A9B4),
+          UINT64_C(0xB9DC9849D13B0495), UINT64_C(0x4C50794E9C05B110)}},
+        {{UINT64_C(0xC3C97DED1427F71D), UINT64_C(0xC3CFB754966ECF33),
+          UINT64_C(0x48E30FE11FBF30CD), UINT64_C(0x71C96E1C1E4B0998)},
+         {UINT64_C(0x878D6305B92C4BF7), UINT64_C(0x14477130CCB5E4A1),
+          UINT64_C(0x7C210767E3C00A19), UINT64_C(0x5546DBD5AB3CDBF0)}},
+        {{UINT64_C(0xADEC875870857571), UINT64_C(0x0A52587CE70D07EC),
+          UINT64_C(0xE6CEAF9EC731B9BC), UINT64_C(0x1D0FDE3F47143479)},
+         {UINT64_C(0x2F3BE2CFC5B410CB), UINT64_C(0x576004BE4E64FD9B),
+          UINT64_C(0x03F339517629820C), UINT64_C(0x7BD3296446A450E2)}},
+    },
+    {
+        {{UINT64_C(0xD492D6B746CED42D), UINT64_C(0xC068D02D1F0092E3),
+          UINT64_C(0x008ECBAD8D8A822A), UINT64_C(0x6B32686971045647)},
+         {UINT64_C(0xFEE3237F523CBA58), UINT64_C(0x077B7F509C29059F),
+          UINT64_C(0x42C308B3E72FBE6F), UINT64_C(0x3DD79D838E34148B)}},
+        {{UINT64_C(0x3ED9DF47CAC24455), UINT64_C(0x7C8A7B31D8546306),
+          UINT64_C(0x4CC432952AA02202), UINT64_C(0x5E8B4EA38598E028)},
+         {UINT64_C(0x8A882F3F812B8070), UINT64_C(0x984BE5881DD374C0),
+          UINT64_C(0x6FDA815916E133CF), UINT64_C(0x34FB92FA899920D0)}},
+        {{UINT64_C(0x3BE0416FDA0B8D0E), UINT64_C(0x2CC846DB88C053D0),
+          UINT64_C(0xC04C3A42B1A3A621), UINT64_C(0x35BC55508A9D9115)},
+         {UINT64_C(0x7F8C9FE37FA72AFE), UINT64_C(0x488FA0B4D1E914FD),
+          UINT64_C(0x8F5C2D6384F79359), UINT64_C(0x2BE80429FBC94785)}},
+        {{UINT64_C(0x391794E06F67799A), UINT64_C(0xD9BF08AE0677A067),
+          UINT64_C(0x716D5062DF61563C), UINT64_C(0x0ECB234AF590F3A3)},
+         {UINT64_C(0xA5B91448FEA22392), UINT64_C(0xFAA294877E76FB8B),
+          UINT64_C(0x3CC3A02A4B6CB375), UINT64_C(0x5C0B3B639022167A)}},
+        {{UINT64_C(0xC5689CF34C576430), UINT64_C(0xF7B7B230C585F5A5),
+          UINT64_C(0xB8DAADFBE4BFCEE7), UINT64_C(0x7B7D8A959CF4242F)},
+         {UINT64_C(0xC1755F9B398FEEF6), UINT64_C(0x9B31CD4D5CC5C36E),
+          UINT64_C(0x4D87AB9CF4C6B793), UINT64_C(0x673FD5B2F595EFA8)}},
+        {{UINT64_C(0xA3836484E05E6B19), UINT64_C(0x090C14CFFCA7E6FB),
+          UINT64_C(0xB7A27042FC717DBC), UINT64_C(0x56CD4AF138647882)},
+         {UINT64_C(0xC2B56B50A43C453E), UINT64_C(0x0CD5E768982E7AED),
+          UINT64_C(0xD5ABADF758474A8B), UINT64_C(0x68188A3899F500AC)}},
+        {{UINT64_C(0x0683AC3E83B1F7BA), UINT64_C(0x6A4FC30C680568E9),
+          UINT64_C(0x735F5E487F6256CF), UINT64_C(0x1240752D048DB831)},
+         {UINT64_C(0x98B78A67868B8AD7), UINT64_C(0x9E32F2C1822EBA7D),
+          UINT64_C(0xEAE28B1E8F37580F), UINT64_C(0x0D204CE0C72EDA86)}},
+        {{UINT64_C(0x5E4EAA1C77E8C68C), UINT64_C(0x282ADFE9859A127B),
+          UINT64_C(0x0C75AB7C14904910), UINT64_C(0x1794516A6E751062)},
+         {UINT64_C(0x8D99D8913DE4A32A), UINT64_C(0x957AA80754EF2BF0),
+          UINT64_C(0xBF20A9E00B109ECD), UINT64_C(0x7732F2B3A72268D3)}},
+        {{UINT64_C(0xADB52E4348752F76), UINT64_C(0x01E9F4B1D6F7CCE8),
+          UINT64_C(0x22702DA02E4BD9B5), UINT64_C(0x1BCC9C60B40BF9AB)},
+         {UINT64_C(0xAB7746379F53B2B1), UINT64_C(0x9C5741518CB316D0),
+          UINT64_C(0x231D5C45BECBEBED), UINT64_C(0x0BD2D5E7F0458638)}},
+        {{UINT64_C(0xD2F5E0B54B946132), UINT64_C(0x200A8A30155AA2C8),
+          UINT64_C(0x15473FD456A62CE7), UINT64_C(0x030EA71BB6689367)},
+         {UINT64_C(0xD561432B0E315F29), UINT64_C(0x4155022E149E3A9E),
+          UINT64_C(0xC77EF7E115841273), UINT64_C(0x890D9C8D52BA265A)}},
+        {{UINT64_C(0xB72B5A6A5E62451A), UINT64_C(0xFDA85C175C61A183),
+          UINT64_C(0xA4275361B7F36EB3), UINT64_C(0x53ADFAF394F4148D)},
+         {UINT64_C(0x281D47F96A8467AE), UINT64_C(0x416A64B58474D3AD),
+          UINT64_C(0x710D0E7AEC99480E), UINT64_C(0x2693A878819253FF)}},
+        {{UINT64_C(0x4BE769041A2FE406), UINT64_C(0xB6FEED1D343F5B10),
+          UINT64_C(0x36695C52D705E35C), UINT64_C(0x7DF6FA416BD3859F)},
+         {UINT64_C(0x7B9B11F5C00E77EA), UINT64_C(0xC90411B8CA80F838),
+          UINT64_C(0x8A9FAEF02908C694), UINT64_C(0x05F65AAAFF5B39B0)}},
+        {{UINT64_C(0x823A0776D7F59CC5), UINT64_C(0xB9EBE15EC410DFD1),
+          UINT64_C(0xC2374B5810A7FA3F), UINT64_C(0x1B912C84311660F2)},
+         {UINT64_C(0x486A2607D5A175E6), UINT64_C(0x9B17D14D72B74EB7),
+          UINT64_C(0x1069D5C41039CA77), UINT64_C(0x214605B33FEE08BB)}},
+        {{UINT64_C(0xC25A7379F9D14E8D), UINT64_C(0x9D5FAFDA577D330E),
+          UINT64_C(0xB9A0217DA4A9CEF0), UINT64_C(0x95AFC7F708252731)},
+         {UINT64_C(0x14E53E9E8FC51680), UINT64_C(0x0AEA2428A8AC4E21),
+          UINT64_C(0x6BC5E42C11CB2361), UINT64_C(0x3B205E45DCB52215)}},
+        {{UINT64_C(0x8EDD4718C916CDE4), UINT64_C(0xBB08F27AD70D7130),
+          UINT64_C(0x289A33C0ED9162CB), UINT64_C(0x97CEFA45FB69185B)},
+         {UINT64_C(0x44DA25788B7797EE), UINT64_C(0x579B17F7148E9A75),
+          UINT64_C(0x73EC1C23913C09AE), UINT64_C(0x3FAB86A40BAAA67D)}},
+        {{UINT64_C(0x28E76C232DF7BE6D), UINT64_C(0x00526844500A844D),
+          UINT64_C(0xB86FBB143CC748C2), UINT64_C(0x6D89BB8AEB5F6AC5)},
+         {UINT64_C(0xF66159DF2327808C), UINT64_C(0x606F055329C5006C),
+          UINT64_C(0xDAA1107F844B6CA4), UINT64_C(0x95D7686C63A8946C)}},
+    },
+    {
+        {{UINT64_C(0x71438CEA07F7DCF5), UINT64_C(0xB3F59AFA0A1CCD55),
+          UINT64_C(0x5A4396270E0071B4), UINT64_C(0x8694E3FAE93D5B8E)},
+         {UINT64_C(0x21713A387D6550B0), UINT64_C(0x893BD9F706CFCD5B),
+          UINT64_C(0xC3D2679CE7513FCE), UINT64_C(0x418AE7C82C451EF3)}},
+        {{UINT64_C(0xADFAFF380B85E2A9), UINT64_C(0x6124E6272E244653),
+          UINT64_C(0xF2C465AF375D1EE7), UINT64_C(0x5B2302D676E58455)},
+         {UINT64_C(0x32938A0D7479F387), UINT64_C(0xF9A16A0DAAAB22A5),
+          UINT64_C(0x65AF0E252AD65CAE), UINT64_C(0x2B5668668431EA40)}},
+        {{UINT64_C(0xCA3ACC11DBCDAFAB), UINT64_C(0x0BBB5DBFBB7F218B),
+          UINT64_C(0xD69E091ADB0ABBE2), UINT64_C(0x8AFFCE950B0B7B09)},
+         {UINT64_C(0x0A5E6C81C7EC52C7), UINT64_C(0xABD60595896707CD),
+          UINT64_C(0x4CE86506101E0F80), UINT64_C(0x9629A6C04ED01B2E)}},
+        {{UINT64_C(0x1D740EACE15D82F4), UINT64_C(0x42F9801890A5D149),
+          UINT64_C(0x1B8C8DC0903D6D28), UINT64_C(0x7BE2B91605BBDFF7)},
+         {UINT64_C(0xFBACF878D8E41D96), UINT64_C(0x42E98BFBBE26EB56),
+          UINT64_C(0x9EA73555F6DE1EB1), UINT64_C(0x5325DDDECF79A9EE)}},
+        {{UINT64_C(0x44BE62C348E6A22F), UINT64_C(0xD0A3C0AD8DB35276),
+          UINT64_C(0xB4C99306136FE9BA), UINT64_C(0x0F2987D7A44E491F)},
+         {UINT64_C(0xA0965F74CCC77C2B), UINT64_C(0xE01AD644FE110072),
+          UINT64_C(0x79528B9CC16B5E1E), UINT64_C(0x45AEEFF3F929BE4D)}},
+        {{UINT64_C(0x46E95DF67F4DA458), UINT64_C(0x554C50C1A7AD579B),
+          UINT64_C(0xF64F00A14316DBA1), UINT64_C(0x16C9851346D487BD)},
+         {UINT64_C(0xECB197612C048A1B), UINT64_C(0x997AF3985373E5E6),
+          UINT64_C(0x50E832D2FDF23B20), UINT64_C(0x1B358E0F7EF7E097)}},
+        {{UINT64_C(0x7C6728AEACBC759C), UINT64_C(0x187588FBA156A466),
+          UINT64_C(0xC2E550ED928F97BD), UINT64_C(0x8B595A3AAAE1C05A)},
+         {UINT64_C(0xE36871E1D77C1125), UINT64_C(0x11E129780DBBD882),
+          UINT64_C(0x3EF8268A5E77FB7E), UINT64_C(0x7BAEA9BA6B33C00C)}},
+        {{UINT64_C(0x7C8512365925E5FE), UINT64_C(0xCED70AE5D8E1597B),
+          UINT64_C(0x7A28BE1A6DCD112F), UINT64_C(0x1EB192683B8EAF6F)},
+         {UINT64_C(0x7E6F1CF28AA902B9), UINT64_C(0x3DD9D59CA5A761D9),
+          UINT64_C(0x8EF70BB448D9F52E), UINT64_C(0x96629C1ACDEE9658)}},
+        {{UINT64_C(0xCA215EACB367C5B3), UINT64_C(0x36B22774A796338A),
+          UINT64_C(0x71F9A61A26EBCDFE), UINT64_C(0x1B40580A35119BD3)},
+         {UINT64_C(0x77169EF1431C78BD), UINT64_C(0x8197975E337022D5),
+          UINT64_C(0x451127991D9A4742), UINT64_C(0x382750D619B6DB07)}},
+        {{UINT64_C(0x740405EE9786AE0B), UINT64_C(0xF7F37C0F3ABA0481),
+          UINT64_C(0x904FC60C51892307), UINT64_C(0x8405DF2AE891D639)},
+         {UINT64_C(0x53D19AC5D9B432F8), UINT64_C(0xE8F1730F066CD97C),
+          UINT64_C(0xC8740FEF0E95804B), UINT64_C(0x12EE433CEC242811)}},
+        {{UINT64_C(0x6AF4B9B16153F4D4), UINT64_C(0x9CD8CD0CF84F0145),
+          UINT64_C(0x6CABD4FCDCEB0F06), UINT64_C(0x036BF1460D134DCE)},
+         {UINT64_C(0xCDEB18187EFFACAB), UINT64_C(0xB57A416252C987E7),
+          UINT64_C(0xDD5104EBC647E82F), UINT64_C(0x389AA556F51B5270)}},
+        {{UINT64_C(0xC450CAEA60108876), UINT64_C(0xF36B5B6AF48601A1),
+          UINT64_C(0x257950D109128863), UINT64_C(0x7A592427A9F6A1B9)},
+         {UINT64_C(0xBF1FF2B0ED12DE33), UINT64_C(0x4D542AC8E2141101),
+          UINT64_C(0x998523C4E170F9CF), UINT64_C(0x629385CEFCEC0E2F)}},
+        {{UINT64_C(0x951494EDB2677C49), UINT64_C(0xF1AE7138F9B648E8),
+          UINT64_C(0x28B8749E63CFF359), UINT64_C(0x5AC4EC4C9A73272F)},
+         {UINT64_C(0xC25ABB8721723271), UINT64_C(0x488EC9108B441AFD),
+          UINT64_C(0x075183481B1DF775), UINT64_C(0x4662BBDAF1EB2FB4)}},
+        {{UINT64_C(0xAE836F746DF9F64A), UINT64_C(0xF3CD6C9DA185ABE6),
+          UINT64_C(0xAFA897A8C29A1C1A), UINT64_C(0x4BAFBB6911B2D6AC)},
+         {UINT64_C(0x8040F9A3B6D971C7), UINT64_C(0x3B8920B700763EAF),
+          UINT64_C(0x7A1655DA52E848B7), UINT64_C(0x03BC8B55703FA84D)}},
+        {{UINT64_C(0xE6348C651F934416), UINT64_C(0xDBE59C03F82BBC4A),
+          UINT64_C(0x51AEAD09EAD60547), UINT64_C(0x043A35C34F20111E)},
+         {UINT64_C(0x0AA18326EC574F0A), UINT64_C(0x07E90D70FCADF79D),
+          UINT64_C(0x3979D4CE201CD68B), UINT64_C(0x7FBF2C632C2734B1)}},
+        {{UINT64_C(0x2E4513732656AF49), UINT64_C(0xCA86207DA432DE06),
+          UINT64_C(0xC5F9262D12F20637), UINT64_C(0x7DD9CCDC26C0C745)},
+         {UINT64_C(0x99276BDCA785ED89), UINT64_C(0x34B307A7374CFBE2),
+          UINT64_C(0x916E9B061E8EE0C5), UINT64_C(0x4E8EB3C788A85C6A)}},
+    },
+    {
+        {{UINT64_C(0x6F2433EF107F1CE0), UINT64_C(0x121DE13146D23AEF),
+          UINT64_C(0x7AC50BE820DB44DE), UINT64_C(0x1E500A2BF6F41A1C)},
+         {UINT64_C(0x8E5BAFCC27B0004C), UINT64_C(0x8538A5EDDB555C04),
+          UINT64_C(0x00AEC8A7CE4ED544), UINT64_C(0x7C7301CC73B2DA91)}},
+        {{UINT64_C(0x3E7E1E5C63284E3A), UINT64_C(0x145814001422D8EA),
+          UINT64_C(0x5FE151BF7AAABD1D), UINT64_C(0x6716691F1533B371)},
+         {UINT64_C(0xA592D53E22A8B7DF), UINT64_C(0x66991AFF51C97935),
+          UINT64_C(0x8B10603DDE5429B6), UINT64_C(0x0002F6C6551F146B)}},
+        {{UINT64_C(0xF641CBCB777A334C), UINT64_C(0xB45B21E1EEFBCA44),
+          UINT64_C(0x7C2FCD6532F6E263), UINT64_C(0x05A21D80FEED8901)},
+         {UINT64_C(0x2471B4865506CF47), UINT64_C(0x0FFAC1F77C9E62DE),
+          UINT64_C(0xC4D321DF869D3BDC), UINT64_C(0x9AC035099512D0CA)}},
+        {{UINT64_C(0x5A26E8F5352E0353), UINT64_C(0x965CF602BF6ABBAC),
+          UINT64_C(0xDD8C4818E911C628), UINT64_C(0x132CA2D8DC2D04A0)},
+         {UINT64_C(0x7641CFCE6C865C91), UINT64_C(0xDB5AB8F38E9965EF),
+          UINT64_C(0x30030BCDDE0B7E90), UINT64_C(0x7BF444532320D3F1)}},
+        {{UINT64_C(0xC006FA6DD8A99DAD), UINT64_C(0xC042F163B45E64A1),
+          UINT64_C(0xB91C9CA474F4DBB1), UINT64_C(0x23BD5A29BE221E4E)},
+         {UINT64_C(0x6B0591D73D1ECF78), UINT64_C(0x9E0ACF38AA5B771C),
+          UINT64_C(0xC970F263796D4AA3), UINT64_C(0x370375027B5DD349)}},
+        {{UINT64_C(0xE11DECDAFBC52541), UINT64_C(0xA49B8D39E7FE53A5),
+          UINT64_C(0x3A08E9BB104A1F6E), UINT64_C(0x95444A15E0192BFB)},
+         {UINT64_C(0xEF75B0621A97B875), UINT64_C(0x9FC8AE5EEA5FC457),
+          UINT64_C(0x3A09FD1B47F73089), UINT64_C(0x096750ECE24516AB)}},
+        {{UINT64_C(0xAA1800464A350C95), UINT64_C(0xA72F2B6758EA4195),
+          UINT64_C(0xE0647945FD9A4F25), UINT64_C(0x4CF4136D22737E2D)},
+         {UINT64_C(0xEE2532CEEFB2A96D), UINT64_C(0xB39DB1176C2F1471),
+          UINT64_C(0xF7C6242B19935BDB), UINT64_C(0x98CA48D47A820092)}},
+        {{UINT64_C(0xE9C1AD0AC3C938B0), UINT64_C(0xF7CC05C4CCDF3BC6),
+          UINT64_C(0x3C21752B363A9CC6), UINT64_C(0x47996B875916BD59)},
+         {UINT64_C(0x01EF895D98D17468), UINT64_C(0x9182F8825818F5D8),
+          UINT64_C(0xCBD212A3E35E4BE7), UINT64_C(0x894E7F395EA16E55)}},
+        {{UINT64_C(0xAC674AEE7C8FDD7E), UINT64_C(0xA23FA827EDB0FE30),
+          UINT64_C(0x642BE06F745B3230), UINT64_C(0x7654C79BCB40941C)},
+         {UINT64_C(0x4640C0C5D6A9E988), UINT64_C(0xA98AF66111A4EECB),
+          UINT64_C(0xE1E827E3325D730E), UINT64_C(0x2342D8807D8A02DE)}},
+        {{UINT64_C(0xE4101595715DB87E), UINT64_C(0x462718AB3C44A43A),
+          UINT64_C(0xF414CBC7EFCBC0F7), UINT64_C(0x2A64DB21E5999AB3)},
+         {UINT64_C(0xDAD841E19DA91E84), UINT64_C(0x5A28F6495F5C1CDD),
+          UINT64_C(0x2F8C9DCAB8B41BDA), UINT64_C(0x259DC791029C3697)}},
+        {{UINT64_C(0xD56F4EF45296BA38), UINT64_C(0x4A853BA102EC3100),
+          UINT64_C(0xB0ED5F21C8AE4C47), UINT64_C(0x53D0DA0C61DF268E)},
+         {UINT64_C(0xB6771DCB6DC06EB6), UINT64_C(0x30B07595BB0C457F),
+          UINT64_C(0xC2FD08F3F174690D), UINT64_C(0x77000D6A87A5DC8E)}},
+        {{UINT64_C(0x90DDAA616E1369AD), UINT64_C(0x3DD15EE7B6A5F225),
+          UINT64_C(0x051AA9C427AEB0DC), UINT64_C(0x18712DBBE5372729)},
+         {UINT64_C(0x13B3F9DFA23AFF5A), UINT64_C(0x34388CED703FBFF9),
+          UINT64_C(0x0F390D6717D60129), UINT64_C(0x3F0CA25E4DAE9863)}},
+        {{UINT64_C(0x6E0F5594903385DC), UINT64_C(0x47483889F8A815A9),
+          UINT64_C(0x42AF320C23B70B1C), UINT64_C(0x4A27CA271A1AEA03)},
+         {UINT64_C(0xFAAC21C866AF6F9D), UINT64_C(0x20849D90C9FBFD3E),
+          UINT64_C(0x793F889FEE0A541C), UINT64_C(0x2555FC32ADA5D18F)}},
+        {{UINT64_C(0x3F38F58CBA2BD509), UINT64_C(0x319A5F0D048F864B),
+          UINT64_C(0xC4632F37D5900B1E), UINT64_C(0x3FAF2615F8519441)},
+         {UINT64_C(0x6A4AA25DFE194D77), UINT64_C(0xB5A6464AD681409B),
+          UINT64_C(0x1A9326EDB957523A), UINT64_C(0x7690EA4F27098B5B)}},
+        {{UINT64_C(0x5530E91110F3FDE3), UINT64_C(0x9A40101F810E7853),
+          UINT64_C(0x152704FC8F011C4E), UINT64_C(0x5B1702E4129B455F)},
+         {UINT64_C(0x46A130BAE60F4D30), UINT64_C(0xA3D5741462BBE8B5),
+          UINT64_C(0xA26238DA3CFAEFE3), UINT64_C(0x4E6141133175078E)}},
+        {{UINT64_C(0x27BCCDFF992EE109), UINT64_C(0x79F88647FB45C6C3),
+          UINT64_C(0x7FD5D73AC73F2829), UINT64_C(0x7EBE8E4E65A44CF1)},
+         {UINT64_C(0xB9EC0B9437414B2C), UINT64_C(0x846AD1D136DED49D),
+          UINT64_C(0x72AE106062F2FE87), UINT64_C(0x7F5AF329C032EEDD)}},
+    },
+    {
+        {{UINT64_C(0x6C80B058C7A645A5), UINT64_C(0xF86341D2729066AC),
+          UINT64_C(0xE4F366BD33FB5CE8), UINT64_C(0x6B79D63FC23A4751)},
+         {UINT64_C(0xFAA0F994EC3F8686), UINT64_C(0x156A6E8EA9BA8F5E),
+          UINT64_C(0xA46CA7D59F2FAE57), UINT64_C(0x84CB21966EFE66F2)}},
+        {{UINT64_C(0xF9C1DECBED25185C), UINT64_C(0x6DC43F21B1FCFC82),
+          UINT64_C(0x4A840262A954087B), UINT64_C(0x602308090A38F667)},
+         {UINT64_C(0xBD3450061D9672B5), UINT64_C(0xE0FF804BF83361EF),
+          UINT64_C(0x9DDC6CE1EF8E1598), UINT64_C(0x4419F705FBD9BD0E)}},
+        {{UINT64_C(0xF171EDE43426122A), UINT64_C(0xEF6A1AE220A3963E),
+          UINT64_C(0xD25AB7A2031647D0), UINT64_C(0x0FD7EC20CB4CA4E3)},
+         {UINT64_C(0xC103969CB7D3A295), UINT64_C(0x4957509E34DBABA8),
+          UINT64_C(0x8456DF6360BC0760), UINT64_C(0x02AF2033D63B49A9)}},
+        {{UINT64_C(0x271966A00378E444), UINT64_C(0x673F057D5D15A0B7),
+          UINT64_C(0xA55C44F9A0EFE59E), UINT64_C(0x2F602F87376119A6)},
+         {UINT64_C(0x0A14907428981502), UINT64_C(0xDA0067748741D4F2),
+          UINT64_C(0x8F982C81133F8479), UINT64_C(0x1ECAF17AF944319A)}},
+        {{UINT64_C(0x281A234EA37F4FC2), UINT64_C(0xAFD847B2FD34FC11),
+          UINT64_C(0x02CC08394683E11A), UINT64_C(0x71215DA93F65B844)},
+         {UINT64_C(0xF9F41383EFE32AC9), UINT64_C(0x4AC3D91D1361FE53),
+          UINT64_C(0x03C9FBAB1CC2E948), UINT64_C(0x9A9A4B9143379A4F)}},
+        {{UINT64_C(0x8D37A10851BED5AC), UINT64_C(0x75D91890998E1C19),
+          UINT64_C(0xE6C76B095D244730), UINT64_C(0x127147164CD555FF)},
+         {UINT64_C(0xF2DCE85A29DDC669), UINT64_C(0x8914D13A8D622348),
+          UINT64_C(0x9FE6B578DAE035E8), UINT64_C(0x21ECB251F41EEF19)}},
+        {{UINT64_C(0xEAFF38627999064D), UINT64_C(0xB72BABEF96383204),
+          UINT64_C(0x8E6C9E676BCCCB43), UINT64_C(0x320A7D787FD71298)},
+         {UINT64_C(0x4081E38AB438A302), UINT64_C(0x0A15CBA7120E132D),
+          UINT64_C(0x6D9123E1EC2E0939), UINT64_C(0x692D699CE0D6FEC5)}},
+        {{UINT64_C(0xB639ADAEC8D5D361), UINT64_C(0xA8F742CCC60A078D),
+          UINT64_C(0xE8D2CF929D740F0F), UINT64_C(0x6E8EEEF94DCE6A87)},
+         {UINT64_C(0x54E194886A2E5164), UINT64_C(0x4372C6CF2430E4B9),
+          UINT64_C(0xD58EA91B1C5B13B3), UINT64_C(0x796DCC45BB9F2911)}},
+        {{UINT64_C(0xD8D4FAF0CBB267F9), UINT64_C(0xC2770DBE703F4011),
+          UINT64_C(0x13739F020D651402), UINT64_C(0x7DE4E51E72D2B3F1)},
+         {UINT64_C(0xB10F966E1FE00C7E), UINT64_C(0x5E9A15018F42B5F8),
+          UINT64_C(0x6AFB1AD0D00437A3), UINT64_C(0x267D15361473D5AE)}},
+        {{UINT64_C(0x1173B5DB4CAE118F), UINT64_C(0xC3A2EAFDCA749EE6),
+          UINT64_C(0x64F738E64ED4FFF4), UINT64_C(0x47DDECB6B07860B6)},
+         {UINT64_C(0xF5D627FCBD47A901), UINT64_C(0x6493BC28856C6903),
+          UINT64_C(0x90280E4BEA63B675), UINT64_C(0x211C04A2C4148666)}},
+        {{UINT64_C(0x0A5F0C276524BC38), UINT64_C(0x4B9D95FBBB3CBDB9),
+          UINT64_C(0x5394ADC220507C82), UINT64_C(0x4C0C9167B4DBE448)},
+         {UINT64_C(0xAC3E87CE303A5B11), UINT64_C(0xD31FB9C53251F4DF),
+          UINT64_C(0x86C281DFE43CE799), UINT64_C(0x84E644D729FE09E4)}},
+        {{UINT64_C(0x6D7B61DC43166C20), UINT64_C(0x54D6C035BD34F981),
+          UINT64_C(0xB166769DC991096D), UINT64_C(0x51A47E3A3A4CF05C)},
+         {UINT64_C(0x57CF9EFF14F5E7F1), UINT64_C(0xED3D4E9DE39FDA0D),
+          UINT64_C(0xDF0176ECBAA7E93B), UINT64_C(0x6B2FEA1470935B9F)}},
+        {{UINT64_C(0x19F9D59E709B70AE), UINT64_C(0xD850CA3270472149),
+          UINT64_C(0x292CADD929EE6104), UINT64_C(0x870F7C998FD499F2)},
+         {UINT64_C(0x200ECB1C415C6FFD), UINT64_C(0xEEA6107D35CB841B),
+          UINT64_C(0x1CB06F8AF95DD333), UINT64_C(0x245712FDE498AA7B)}},
+        {{UINT64_C(0x101665EAED4FBD78), UINT64_C(0xC6DDE1BB0E32D1B4),
+          UINT64_C(0x3E79185E40150A9C), UINT64_C(0x49E2AE6B7DEF3607)},
+         {UINT64_C(0xCCC9B0F6308B7F59), UINT64_C(0xB267008FCE922087),
+          UINT64_C(0x46CF7F07CF2AABA6), UINT64_C(0x5A74C8A09954091F)}},
+        {{UINT64_C(0x8F2871955240B5A0), UINT64_C(0x7AC7720F1845373D),
+          UINT64_C(0xCF276B594E592274), UINT64_C(0x6BEBC284694C30B8)},
+         {UINT64_C(0xDA0113D6677B16CD), UINT64_C(0xA221344645C9FA76),
+          UINT64_C(0x2DEAF2ED66964ADB), UINT64_C(0x1977A8B3BC062240)}},
+        {{UINT64_C(0xEEA2912680303DFD), UINT64_C(0x3E4A33ACE95BF6A1),
+          UINT64_C(0x6BFE2D5D15DE0457), UINT64_C(0x407BF7E3AD0976D1)},
+         {UINT64_C(0x04C1F61F306B415B), UINT64_C(0xC86A75D25F790D5F),
+          UINT64_C(0x7B799EDEB7EAE07B), UINT64_C(0x9155A9A0B4A66839)}},
+    },
+    {
+        {{UINT64_C(0x9745C6BB0DCE586B), UINT64_C(0x554C8313BE77B502),
+          UINT64_C(0xF0F842A9A93962CF), UINT64_C(0x40862273AAA141BC)},
+         {UINT64_C(0x926FFA4ABD62237B), UINT64_C(0xD4F1E4A17B942F48),
+          UINT64_C(0x3A841EB7075684FD), UINT64_C(0x21F6EB39DD1807E1)}},
+        {{UINT64_C(0x155DFD66BEDA4365), UINT64_C(0xDD575C8327F33BF9),
+          UINT64_C(0x5907B08D3DFF83A1), UINT64_C(0x7E325357D6788D63)},
+         {UINT64_C(0xF90BF447BAC74ED7), UINT64_C(0x2DE6C957EDA226CD),
+          UINT64_C(0x678323021CA44607), UINT64_C(0x22ECBC1F56011C38)}},
+        {{UINT64_C(0xF01279A9B663A46C), UINT64_C(0x07D74C5F7E3AAB83),
+          UINT64_C(0xF20940B68C0DA43E), UINT64_C(0x57C6A735368AD991)},
+         {UINT64_C(0x01E9B3665007E059), UINT64_C(0xFC38FC999614D480),
+          UINT64_C(0x4A3AAA18FF7DA757), UINT64_C(0x4481B669B0CE1B03)}},
+        {{UINT64_C(0x9CAA37A0B4A807FF), UINT64_C(0xBDEDEB49F9B269F3),
+          UINT64_C(0xC5B76E57CB607AC3), UINT64_C(0x08AEFE669A322F48)},
+         {UINT64_C(0x6919E40DD9261469), UINT64_C(0x1F0ADA81849718FA),
+          UINT64_C(0xCD251B549D81628E), UINT64_C(0x6519C3C65505F9E1)}},
+        {{UINT64_C(0x277591DC2F81C037), UINT64_C(0xD63AD35A76E0D41E),
+          UINT64_C(0x682662B56EC063D3), UINT64_C(0x8210978B6762A0DB)},
+         {UINT64_C(0x05085F68FE164B90), UINT64_C(0x50026ADC3D6FD0D1),
+          UINT64_C(0x38CC9FA7B01A3791), UINT64_C(0x1E286652B376F83E)}},
+        {{UINT64_C(0x8DFFDA1609759892), UINT64_C(0xE011DDDB9AC2CE5D),
+          UINT64_C(0xDDC7670FBD71426B), UINT64_C(0x9722A23B19742F7C)},
+         {UINT64_C(0x2EA99893DC4767D3), UINT64_C(0xCB68D6C211125BAE),
+          UINT64_C(0xAC76953E307ED3B9), UINT64_C(0x0EDD0C17C366E9A2)}},
+        {{UINT64_C(0x88B3DEC9484B5272), UINT64_C(0x0C848EA190380294),
+          UINT64_C(0xDE187E83A01AC92C), UINT64_C(0x2A8801827A5D4D65)},
+         {UINT64_C(0xD3C22C2BB3C3C7BB), UINT64_C(0xC485CE02DE7ECE33),
+          UINT64_C(0xF22138C4A437071A), UINT64_C(0x23A55C890716DA53)}},
+        {{UINT64_C(0x9533C4A3F6FE058E), UINT64_C(0x28753F87748E4A4F),
+          UINT64_C(0x7814C50AEA404C70), UINT64_C(0x908D1C81E91B5EF3)},
+         {UINT64_C(0xD827D3CE04094766), UINT64_C(0x7AE2FD260CE5C727),
+          UINT64_C(0x016AC86FCDAD2BDD), UINT64_C(0x37C088B07A77C252)}},
+        {{UINT64_C(0xABF4C1EF18A35CD3), UINT64_C(0x1F721491698A5A01),
+          UINT64_C(0x79284A121A9E9A1F), UINT64_C(0x0457FF704D50DF40)},
+         {UINT64_C(0x1D235814EC46ED07), UINT64_C(0xBD013752AE5E97C8),
+          UINT64_C(0x0E085C88D9B100D4), UINT64_C(0x8AFA070A8858F9F3)}},
+        {{UINT64_C(0x0F548BE3698D6A59), UINT64_C(0x5D7818A5BF2D0D94),
+          UINT64_C(0x8E150DF1D80E620D), UINT64_C(0x4C3A5E64F857F167)},
+         {UINT64_C(0x837D9A9861BD9152), UINT64_C(0x242CE5898D10687F),
+          UINT64_C(0x9863EA4CB6B52BB7), UINT64_C(0x23665B46B7DD35FF)}},
+        {{UINT64_C(0x3AA5432A73942AAF), UINT64_C(0xB0185DB40CEE83A9),
+          UINT64_C(0x145372EEA83B907B), UINT64_C(0x609F1AD9BB6D341A)},
+         {UINT64_C(0x28C2B37A864C92EE), UINT64_C(0xDD847239D4CC1158),
+          UINT64_C(0xE5BD4FD28F2EAF0A), UINT64_C(0x04F43BC0D24950AB)}},
+        {{UINT64_C(0x11DEFCED88DA3F20), UINT64_C(0xCA4CE370A407C4A2),
+          UINT64_C(0xEA70BEDF2F8C5CFC), UINT64_C(0x08AC147D8214B7F7)},
+         {UINT64_C(0xECAD0F77E260AA96), UINT64_C(0xA868AC63B56C30F7),
+          UINT64_C(0xF0ACDE5A396F4815), UINT64_C(0x302F75B9ACDE6CD8)}},
+        {{UINT64_C(0x2125D07DC5D14866), UINT64_C(0xFE563DE44AE3212D),
+          UINT64_C(0x0FE787CBEE9CAA2B), UINT64_C(0x7D9B56A253802482)},
+         {UINT64_C(0x128B4D378040D1A7), UINT64_C(0x5737129930ACA2F4),
+          UINT64_C(0x5C443E357623D14A), UINT64_C(0x6436D3285FDB6310)}},
+        {{UINT64_C(0x531486A4A8557B64), UINT64_C(0x3FAB4F219C5DE310),
+          UINT64_C(0xD872282E260468D0), UINT64_C(0x04CD45682542CBA4)},
+         {UINT64_C(0xACA0975A555B6E0C), UINT64_C(0xEE8C43B28B85132F),
+          UINT64_C(0xC768808BB9DECE9D), UINT64_C(0x59EDEC60431AF98C)}},
+        {{UINT64_C(0xC365E13331992E22), UINT64_C(0xB96C5FA00DC3A4C8),
+          UINT64_C(0xDEB1C1DAA65761B0), UINT64_C(0x457676EEF4ACAB4C)},
+         {UINT64_C(0xA0F95894E674FFAF), UINT64_C(0xFD099172D65CDAB7),
+          UINT64_C(0x9383C2F854DA58A2), UINT64_C(0x0A4F4C110F24A07B)}},
+        {{UINT64_C(0x9D7A80B3E380ABF3), UINT64_C(0xF0C6AC5A9E469F9F),
+          UINT64_C(0xC87D57276BD0A324), UINT64_C(0x28138E377692B063)},
+         {UINT64_C(0xE18C1F7DD67862CA), UINT64_C(0x4B6B723E1E07F928),
+          UINT64_C(0xAAFE3FB0BBCF4125), UINT64_C(0x254003223B3AE714)}},
+    },
+    {
+        {{UINT64_C(0xB89A2DCA63C295D8), UINT64_C(0x5CC03C6585041AA1),
+          UINT64_C(0xFA9B4C5CC6514781), UINT64_C(0x578031A0D92388FF)},
+         {UINT64_C(0xB0D5AE0AF92C2D77), UINT64_C(0x945A677E793D588A),
+          UINT64_C(0x3722DE4434A190E0), UINT64_C(0x6EA90DB80C2B9975)}},
+        {{UINT64_C(0xE987AA8584BA4F9B), UINT64_C(0xB2A77B9C0AB43BE6),
+          UINT64_C(0xC4AD2AF6474D8841), UINT64_C(0x4ED7A82B5D4FA590)},
+         {UINT64_C(0x9F39335E9977AC2B), UINT64_C(0x3CCD406D52E87607),
+          UINT64_C(0x9D18CB3F71456060), UINT64_C(0x0FE4D8886A45D7D0)}},
+        {{UINT64_C(0xAEA8A911F42D501A), UINT64_C(0x303E25D588F66FBA),
+          UINT64_C(0x54213F2961740B85), UINT64_C(0x5BC13A30C0B4D835)},
+         {UINT64_C(0x569AB9B84758EA28), UINT64_C(0xE2E49B28B796A794),
+          UINT64_C(0x17787125320D54E2), UINT64_C(0x5A6A8EDEC54B4465)}},
+        {{UINT64_C(0xC76C73D9870619DD), UINT64_C(0xF541440E84FE1078),
+          UINT64_C(0x2082FE363B26A3DC), UINT64_C(0x3B896B29CC329B14)},
+         {UINT64_C(0xB45028A9CAFCDC20), UINT64_C(0xA1B77C6F9C56757E),
+          UINT64_C(0xDE50D86584802E47), UINT64_C(0x7DFBC0E8BA0892B0)}},
+        {{UINT64_C(0xEBC505A947E702BB), UINT64_C(0x2329A41CDACFACFE),
+          UINT64_C(0xEA11560351DDCE2F), UINT64_C(0x95BBC8072E9D855A)},
+         {UINT64_C(0x454C6B88CFD33E9F), UINT64_C(0x993CF6DE4FFBB24A),
+          UINT64_C(0xA8E22FF89B2144CD), UINT64_C(0x741066EE84943294)}},
+        {{UINT64_C(0x2CEE0CFFF067E5B2), UINT64_C(0x1C1FD5A3CA95F1C5),
+          UINT64_C(0xA0EB8E7DC07B97F1), UINT64_C(0x0F2A5D777457415E)},
+         {UINT64_C(0xDFF92C5845D06291), UINT64_C(0x709EA0AC48ABABE8),
+          UINT64_C(0xB3058FEB2FDC92F0), UINT64_C(0x55E9F86E5E5B169E)}},
+        {{UINT64_C(0xEE5DF132EBF6AF2B), UINT64_C(0xC30DC3F1F642A206),
+          UINT64_C(0xD7D8EC3E02C60CB6), UINT64_C(0x7C98946B3178F1BF)},
+         {UINT64_C(0x816C2AA1A68799EB), UINT64_C(0x507FD5E92430F06B),
+          UINT64_C(0x021FFF1CB9EBD4B7), UINT64_C(0x044365E68AECFEA4)}},
+        {{UINT64_C(0xDC5F5EA621339693), UINT64_C(0x5BFD267690A448AD),
+          UINT64_C(0xF712BA95A12A9D77), UINT64_C(0x7104735ABD8A6B5B)},
+         {UINT64_C(0xD2ED8304A763BB99), UINT64_C(0x7AF040F011B91A05),
+          UINT64_C(0xC545E8AEB61F3789), UINT64_C(0x582E9EEDBB386760)}},
+        {{UINT64_C(0x0FCE5877CC099185), UINT64_C(0x0E148BB5CD681E67),
+          UINT64_C(0xE9F9013EECB24ECE), UINT64_C(0x0090654B2A386485)},
+         {UINT64_C(0x11BA700B0520BAE8), UINT64_C(0xFC93BE31D8E53123),
+          UINT64_C(0x7DD7CB36E37948EE), UINT64_C(0x8689AE8F3FC23444)}},
+        {{UINT64_C(0x2060F7DEAAC6616B), UINT64_C(0x372952C5DEAB3CC7),
+          UINT64_C(0x715C4D27C2424ACD), UINT64_C(0x058468560308A009)},
+         {UINT64_C(0x887BBD550B8B34E8), UINT64_C(0x949ACBD1B688C987),
+          UINT64_C(0x3E774D49784C4C0E), UINT64_C(0x7AEA2D11B0F5F545)}},
+        {{UINT64_C(0x5335BA6BE831E509), UINT64_C(0x8FC4B4AF739F332E),
+          UINT64_C(0xB050246295993EAF), UINT64_C(0x7DA49F36A7CEB88B)},
+         {UINT64_C(0x3BE0B74B029D0C8F), UINT64_C(0xBC07F18055611A8B),
+          UINT64_C(0xC168CF416583F53F), UINT64_C(0x4256E8D2C34ADBC1)}},
+        {{UINT64_C(0x313AFC75CE2FCD89), UINT64_C(0xEA27FDA4D3DA44F2),
+          UINT64_C(0x9FABEA799063B0DC), UINT64_C(0x2DF7D966B3418884)},
+         {UINT64_C(0x4329FD2480AF2EBD), UINT64_C(0x36F27FF79F095D30),
+          UINT64_C(0x88FFB18FCC84C068), UINT64_C(0x976427A87B0A9906)}},
+        {{UINT64_C(0xCFF828CCFAC21087), UINT64_C(0x6B6D348456863CB5),
+          UINT64_C(0x14163A70C30879F3), UINT64_C(0x30E2A6338CA6FD5D)},
+         {UINT64_C(0xC7FCEAD628A58783), UINT64_C(0x945F7B09EEFA1EAA),
+          UINT64_C(0x98A503DB5CC66267), UINT64_C(0x83EE750E3780061B)}},
+        {{UINT64_C(0x7061409AB8477D6B), UINT64_C(0xE47C779D2B7B54FA),
+          UINT64_C(0x42F5EDF5F293166C), UINT64_C(0x73C3AC1B115D830F)},
+         {UINT64_C(0xC30D346E4DEE0980), UINT64_C(0xEE0D9A29A62F0D09),
+          UINT64_C(0xBBE8DC9EABCB7DAE), UINT64_C(0x4F0E78C068B78925)}},
+        {{UINT64_C(0x25A0D4FFB4B14003), UINT64_C(0xA4C3AC55B8AB649C),
+          UINT64_C(0x7D7EDE7227F9FDF5), UINT64_C(0x507EC83FBC2A46D4)},
+         {UINT64_C(0x344577D9FAAFC26F), UINT64_C(0x77CBB7833EB30156),
+          UINT64_C(0x3A846FFD1D5C9367), UINT64_C(0x5F0D280C9DF9F7BE)}},
+        {{UINT64_C(0xCC8EAC0A77DF7F9F), UINT64_C(0x195BC6FFF33A62D4),
+          UINT64_C(0x18A33FFA524D78FE), UINT64_C(0x10E589746603F9C0)},
+         {UINT64_C(0x31AF4B460CDA2C3F), UINT64_C(0xDDBF00C8ADE169C3),
+          UINT64_C(0xA169C3E371A7BC38), UINT64_C(0x3FC352FFA64B342E)}},
+    },
+    {
+        {{UINT64_C(0x58848315EE73C673), UINT64_C(0x67D2F7C08ADB897E),
+          UINT64_C(0xE8CD786DF0658115), UINT64_C(0x023D515AAC54D2AB)},
+         {UINT64_C(0x0EDE61D867559911), UINT64_C(0xBC12B1063C2B78B5),
+          UINT64_C(0xB5661A289E4707D8), UINT64_C(0x93FB4096ADC095A4)}},
+        {{UINT64_C(0xEEB3810F33D5FA08), UINT64_C(0x8D8FC35433F4CAAF),
+          UINT64_C(0xED87051629EB08A3), UINT64_C(0x89FD91CAD1D31EBC)},
+         {UINT64_C(0xD2F1F832EDE2494B), UINT64_C(0xCFEE1D77FA8EEA95),
+          UINT64_C(0x13603C4A3B0F005C), UINT64_C(0x6DF97F85D9EF68F4)}},
+        {{UINT64_C(0x578FBC0A55410512), UINT64_C(0x1FA404F2DEC79EEE),
+          UINT64_C(0x201FE21592B60820), UINT64_C(0x9A9B3CE80A56193A)},
+         {UINT64_C(0x8A5ECCB910B49800), UINT64_C(0xA7373AEBBFDB1D8E),
+          UINT64_C(0x8996BEFA4944B5DF), UINT64_C(0x3102D3C07B44246C)}},
+        {{UINT64_C(0xD4A853B7449C09BE), UINT64_C(0x1F7080A451DDB7FE),
+          UINT64_C(0x8A9DE52CE1C27FC1), UINT64_C(0x6585B54F0C58B99D)},
+         {UINT64_C(0x8EEB0601B5A4AB53), UINT64_C(0x977D658D48C73AC6),
+          UINT64_C(0xD5DA09033D9BD223), UINT64_C(0x881A5838BE115965)}},
+        {{UINT64_C(0x8EB70B77EB3FC303), UINT64_C(0xED1C4DEF98BDB841),
+          UINT64_C(0x13E6BE06997DE9E4), UINT64_C(0x4A94C0A19334D46D)},
+         {UINT64_C(0x184C17C80F867DAF), UINT64_C(0x4A65802633A64148),
+          UINT64_C(0xD177F0090AE3D4AA), UINT64_C(0x8134AC8F98ED12C0)}},
+        {{UINT64_C(0x7A308A007A58DDEC), UINT64_C(0x74A15C5FFDF92DF2),
+          UINT64_C(0x210D260E21B4E345), UINT64_C(0x6446715BC651E31E)},
+         {UINT64_C(0xB1AF1F8410B905B6), UINT64_C(0xEF6CD0F2A62D366F),
+          UINT64_C(0x77E47B01D1F6B7E3), UINT64_C(0x0F38B2802B95BD12)}},
+        {{UINT64_C(0x52DA30E18CCCDAE6), UINT64_C(0x9F3D6636BD86A13A),
+          UINT64_C(0xADFA00C5F4EA6151), UINT64_C(0x6B93BFA01EC37639)},
+         {UINT64_C(0x443F0023F8FE22FC), UINT64_C(0xCB7848A4A81FEACC),
+          UINT64_C(0xCE5E650A517E9E61), UINT64_C(0x5842DB7DA1968E3D)}},
+        {{UINT64_C(0x61DDC69498C06F78), UINT64_C(0x680FEDE97985B1A2),
+          UINT64_C(0x214CD2B8FB53A327), UINT64_C(0x98EAC0B3E425132B)},
+         {UINT64_C(0x5EEDD76D33E5766D), UINT64_C(0x5B280618540000A3),
+          UINT64_C(0x915D55CB65C894AE), UINT64_C(0x7B088A36D20D9523)}},
+        {{UINT64_C(0x51A47312C28DA278), UINT64_C(0xE315CBA4EFE64521),
+          UINT64_C(0x3EF70A1849D8D0FF), UINT64_C(0x0990CB92CABD48C5)},
+         {UINT64_C(0x22ED6302A7C2FC76), UINT64_C(0xB50370EA2CB98186),
+          UINT64_C(0xDEA88C65F3F2BA8B), UINT64_C(0x0906245109FEDEEA)}},
+        {{UINT64_C(0x742F9A2EDAC0F222), UINT64_C(0xE2A8842B95C88A8E),
+          UINT64_C(0x80C057659D817B14), UINT64_C(0x7ED0521A982D49AE)},
+         {UINT64_C(0x047E49D4907B10F7), UINT64_C(0x8A3E23A7DE8AD4CD),
+          UINT64_C(0xEBE8C13FEB5292B1), UINT64_C(0x048A6209A7EB70BD)}},
+        {{UINT64_C(0xB51665A09AA34851), UINT64_C(0x4DD5AC1B7C4AFCEE),
+          UINT64_C(0x00DEE7AB25A21937), UINT64_C(0x88E2681E80FAF232)},
+         {UINT64_C(0x79ECD66AB5411EE2), UINT64_C(0x06008CE3F370BF53),
+          UINT64_C(0xCFB1850EC9BBB64C), UINT64_C(0x5FBACB277149B14E)}},
+        {{UINT64_C(0xA1F0EE079938AA0C), UINT64_C(0x6945E2BA74CCE9C4),
+          UINT64_C(0x16689FCE46A98BEA), UINT64_C(0x8D71F405CF67DF91)},
+         {UINT64_C(0x71E4CAC869621150), UINT64_C(0x518FA20089B380D8),
+          UINT64_C(0x3B3B85F153F9E660), UINT64_C(0x02643303C6D9B022)}},
+        {{UINT64_C(0xE8C478EC07660C3E), UINT64_C(0xA906C3A1EF41F1DA),
+          UINT64_C(0xE918F16046699B71), UINT64_C(0x2B8A0B0EE5BE7B36)},
+         {UINT64_C(0xC663F0EC889F50A0), UINT64_C(0x7413264BF9214F81),
+          UINT64_C(0x2E9FA9A0421A9087), UINT64_C(0x85C59B7C83546DCD)}},
+        {{UINT64_C(0xB4A6CF398D920A29), UINT64_C(0xC857AF481B3956A1),
+          UINT64_C(0x519C7371DD794B23), UINT64_C(0x478462208EFBF8F9)},
+         {UINT64_C(0x184C25E5617E4C6C), UINT64_C(0x218FCC23D2E51A5E),
+          UINT64_C(0xB421971928FA0FFC), UINT64_C(0x6C0BCD71781A61D9)}},
+        {{UINT64_C(0x440D6DDFDC7B5568), UINT64_C(0x64C7CC310DBBEC7C),
+          UINT64_C(0x63D16D4EA2DC0CBA), UINT64_C(0x7BD9E0CC4504BE2C)},
+         {UINT64_C(0x9C8828952DE780A8), UINT64_C(0x7C6685C2EF2B2486),
+          UINT64_C(0xF1FB09E9957FA7D8), UINT64_C(0x20C6B5A546A77A98)}},
+        {{UINT64_C(0x60C7757333C0F0C1), UINT64_C(0x40C93227CADDA5FE),
+          UINT64_C(0xA48EBAA29DD41D5F), UINT64_C(0x4AAFBF3CEA9FD5AD)},
+         {UINT64_C(0x7EB61836C5A287BA), UINT64_C(0x1D6A1BA2B31BA25E),
+          UINT64_C(0x60507257AD186E52), UINT64_C(0x7FEC8EB02BAB7451)}},
+    },
+    {
+        {{UINT64_C(0x500E2FDBB8DA5FFE), UINT64_C(0x6AE2D4EA8CDD1B39),
+          UINT64_C(0x38D120251A5840CD), UINT64_C(0x8D3B20CBC214D26D)},
+         {UINT64_C(0xEF6BB36CC041E874), UINT64_C(0x67660393450F2218),
+          UINT64_C(0x1E1B7782A892BDFD), UINT64_C(0x2D69514C8D962E62)}},
+        {{UINT64_C(0x9EDF5F789631B095), UINT64_C(0xAC7DD68745BF8F20),
+          UINT64_C(0x257CCE28E3262EBC), UINT64_C(0x5D32EFCBE0E480A6)},
+         {UINT64_C(0xED48E34C6FBB99E8), UINT64_C(0x50B1D58C23FDE9B7),
+          UINT64_C(0xC5164C2A6B6927C8), UINT64_C(0x8A0BC6068906B705)}},
+        {{UINT64_C(0x3FA3C7C92F747DA8), UINT64_C(0x2E8D2C2E14938E08),
+          UINT64_C(0x155A8A5BB6A1C720), UINT64_C(0x6B4D8C9EB3133FD0)},
+         {UINT64_C(0x079AC7F1CE131C1D), UINT64_C(0x9CF419AF815B7D2B),
+          UINT64_C(0x569EB7BAE60B6245), UINT64_C(0x03C79E609A3DD94E)}},
+        {{UINT64_C(0x328F5296B9CE9502), UINT64_C(0xCA44ADBDE45C3576),
+          UINT64_C(0x669879526194AE2C), UINT64_C(0x5875F8EFBF9B8C49)},
+         {UINT64_C(0x525A4D53DA51CAB8), UINT64_C(0x91A592DD9DC268B2),
+          UINT64_C(0xD7EA7958E1E3C168), UINT64_C(0x0D1E20E0A999ED30)}},
+        {{UINT64_C(0x55DA34E5FE8AD270), UINT64_C(0xB041289561EC55F6),
+          UINT64_C(0x0D45670F534569C9), UINT64_C(0x5A7E6764E23F69FB)},
+         {UINT64_C(0xBB6BBEC9A8B28676), UINT64_C(0x4F924558093B0D1D),
+          UINT64_C(0xD4E4BF120C29D841), UINT64_C(0x67D2B4C8578A237A)}},
+        {{UINT64_C(0x0BDF32D663EF2D73), UINT64_C(0x7248DD2D4AE4303C),
+          UINT64_C(0xBB61BAB56CE1E92A), UINT64_C(0x126166E91D7B9A6C)},
+         {UINT64_C(0x4CE7086A11CEBC3C), UINT64_C(0xE7ACB25E1C71426F),
+          UINT64_C(0xBFB65EDC432CC4AF), UINT64_C(0x3BCA5202CB018CF7)}},
+        {{UINT64_C(0xACF034F276430A87), UINT64_C(0xBFDF19B3534C42ED),
+          UINT64_C(0x05654FE67946CB1A), UINT64_C(0x0DB07E7980F17880)},
+         {UINT64_C(0xE6E93101FDCF8BC9), UINT64_C(0xF3198B87F798A8CD),
+          UINT64_C(0xC05444EFC9683420), UINT64_C(0x56E9AA68915D1BF1)}},
+        {{UINT64_C(0xF27B298B34000B11), UINT64_C(0x70ED8C95F4196E50),
+          UINT64_C(0xF3E16608233C8764), UINT64_C(0x5B97655A41881557)},
+         {UINT64_C(0x5BF11C1A128C195B), UINT64_C(0xFFB64333372C286D),
+          UINT64_C(0x084D3EF77C83BB31), UINT64_C(0x8ECF6C01745B7D75)}},
+        {{UINT64_C(0x3D6052B9C6F4FF82), UINT64_C(0x9305FE456607892F),
+          UINT64_C(0x232FD87E5879425F), UINT64_C(0x4CAEDF73D6F47350)},
+         {UINT64_C(0x889243D2032FC50D), UINT64_C(0xA6AF69D70C9C11AC),
+          UINT64_C(0x43B5429D802E8E06), UINT64_C(0x38F1DEA8D70FC802)}},
+        {{UINT64_C(0x54F24344C9595C08), UINT64_C(0x95A2E8FB0240AAB3),
+          UINT64_C(0x07A5109DC3544985), UINT64_C(0x96F44213B5D30899)},
+         {UINT64_C(0x03FAB192AA347497), UINT64_C(0x47FFD3DEC9CFC073),
+          UINT64_C(0x283AD765D2C1D57F), UINT64_C(0x1FDFFBAC62DC271A)}},
+        {{UINT64_C(0x2355C62995F80CA6), UINT64_C(0x90AE1DBBCD8D880A),
+          UINT64_C(0x563CC122C54117E0), UINT64_C(0x1EF4991B813D7481)},
+         {UINT64_C(0x8A310D77CCE9AEDE), UINT64_C(0xA401FAEF9318642E),
+          UINT64_C(0xC1712A67CF9AFDCB), UINT64_C(0x8D97374CBE499DE5)}},
+        {{UINT64_C(0x7437AA3B55A0BC07), UINT64_C(0x004946D0F726DD81),
+          UINT64_C(0x33D41D1B0F341860), UINT64_C(0x2A009EB517840F0D)},
+         {UINT64_C(0x158F59AEAA0DCDCF), UINT64_C(0xF686EF2DEAB42135),
+          UINT64_C(0xFF6B8E827A80C670), UINT64_C(0x38646963A04DF944)}},
+        {{UINT64_C(0x6BB2705E4B987E90), UINT64_C(0x2F5E2C4DD3C36316),
+          UINT64_C(0x41B38905E5A9ECEC), UINT64_C(0x2C6BA68155BF8D1A)},
+         {UINT64_C(0x1121B3B23C92B20B), UINT64_C(0x6DE41B12904305D5),
+          UINT64_C(0xA0496CF4D569EAC4), UINT64_C(0x5C64A06C11E5CF90)}},
+        {{UINT64_C(0xA65F12ABE28783DF), UINT64_C(0x2A891B0F37322285),
+          UINT64_C(0xD6FF46049811C4EB), UINT64_C(0x7C960ED5A8505AC0)},
+         {UINT64_C(0xE86893772FCA110D), UINT64_C(0x71AAE29260FD893E),
+          UINT64_C(0x8ADE53177505671D), UINT64_C(0x721A07A58C508791)}},
+        {{UINT64_C(0xC1AE9A50E5ECCA8C), UINT64_C(0x7528AEF507EB4329),
+          UINT64_C(0x8F0D0E03D1297D88), UINT64_C(0x27C7BF76244BBC0C)},
+         {UINT64_C(0x96EEDA7CC7E7E9BB), UINT64_C(0xC9749BF7F96C99B3),
+          UINT64_C(0x44C852D2467B4D43), UINT64_C(0x1691D71D937FA21D)}},
+        {{UINT64_C(0x8CAC092FF8058A68), UINT64_C(0x6B892BCFDAE38445),
+          UINT64_C(0x82CBECE597D76059), UINT64_C(0x5AEB66463518F9E2)},
+         {UINT64_C(0xA39C710C392080B4), UINT64_C(0x575DC5F41502DE54),
+          UINT64_C(0xA465DD5E3A3D2B4D), UINT64_C(0x281AAE47638EAF45)}},
+    },
+    {
+        {{UINT64_C(0xBE40C92BE955A145), UINT64_C(0xD464D6BC324234B5),
+          UINT64_C(0xE8084747B09D4AF8), UINT64_C(0x939C70BF5268D6C3)},
+         {UINT64_C(0x9C9C9D25D1DDBB48), UINT64_C(0x30D9EA7F790B5B42),
+          UINT64_C(0x367FD79B4E3914B4), UINT64_C(0x27615F29826EE4D7)}},
+        {{UINT64_C(0x09BB6F1650A41246), UINT64_C(0xC72BFF7AE5459A13),
+          UINT64_C(0x0FC15846FF09B2F7), UINT64_C(0x6D90406209CB693A)},
+         {UINT64_C(0x98A132F8F40FC67D), UINT64_C(0xC8B6573BDF37CBFA),
+          UINT64_C(0xC9CF994899D7FC36), UINT64_C(0x0DD66ABAA7235DDB)}},
+        {{UINT64_C(0x0180B525F96048BD), UINT64_C(0xEB566786544F1E70),
+          UINT64_C(0x8BABBF9B8EF4373C), UINT64_C(0x509BA431D9E49178)},
+         {UINT64_C(0xF961A6F565A4A201), UINT64_C(0xB6621DF98D44ED2D),
+          UINT64_C(0xEADD3C0CD7B4D744), UINT64_C(0x75D27E990EAAB110)}},
+        {{UINT64_C(0xEAC7AC7685DF5695), UINT64_C(0x02C26274DA7540A3),
+          UINT64_C(0xDEC1BBC4C659B610), UINT64_C(0x54483C1B3AC61EEB)},
+         {UINT64_C(0x8B91209A217E0283), UINT64_C(0x939FBDAF3A17DDFE),
+          UINT64_C(0xA82C66D65BF98726), UINT64_C(0x2BA82FA0915AAC76)}},
+        {{UINT64_C(0x99B324C1AF4542E8), UINT64_C(0x16EBC66FC0F225E0),
+          UINT64_C(0xEAE6956327FEF57B), UINT64_C(0x2996FE3C961B03FA)},
+         {UINT64_C(0x0835212E4F967A68), UINT64_C(0x0AAABD99F44352DC),
+          UINT64_C(0x1874255F4B3A6B8D), UINT64_C(0x45F5D8B26D10B369)}},
+        {{UINT64_C(0x603DD497F7B7644B), UINT64_C(0x369BE6762D1386AA),
+          UINT64_C(0x08C1B76314C9FA94), UINT64_C(0x734921D9384AF696)},
+         {UINT64_C(0xA1B5AF5BD76E8EEB), UINT64_C(0xB0EAE7A342F990E8),
+          UINT64_C(0x59E7C515069ED81D), UINT64_C(0x2D1B5E62B5A50610)}},
+        {{UINT64_C(0xDC32281085995BD3), UINT64_C(0x35A47B05873E7A09),
+          UINT64_C(0x0CDFE9BBA70DE932), UINT64_C(0x049B899DD62FBC89)},
+         {UINT64_C(0xF6BAA860652291DB), UINT64_C(0x58123B259AF7478F),
+          UINT64_C(0xA05CCBC247B9F204), UINT64_C(0x8A0B479D82D999A7)}},
+        {{UINT64_C(0xA72B9B522D0F619A), UINT64_C(0xE73B66F75919C420),
+          UINT64_C(0x92319C86D21CFEFE), UINT64_C(0x58EEFC71F1635F0E)},
+         {UINT64_C(0xDC481783DA909290), UINT64_C(0x144E7A9866316584),
+          UINT64_C(0xBD7E657F45E1E3C8), UINT64_C(0x5C9FCD1CBD93938C)}},
+        {{UINT64_C(0x2339E2FA436C1AB3), UINT64_C(0x69C22269C26768AA),
+          UINT64_C(0x94DFCAF440FCBD90), UINT64_C(0x56235739C41D4F61)},
+         {UINT64_C(0x6E50D4DB718468D3), UINT64_C(0xDEA80730CADCEC6C),
+          UINT64_C(0x924FF97E63DC3C43), UINT64_C(0x1B6528256752EA6A)}},
+        {{UINT64_C(0xAC2BDCDDF07BE4BB), UINT64_C(0xB46D8E968DB0A32D),
+          UINT64_C(0xDD661C68B618488D), UINT64_C(0x8ED22D4B75E1E4BF)},
+         {UINT64_C(0x5DD2E5DF3C177D80), UINT64_C(0x5049C01282803711),
+          UINT64_C(0xFB243B3F73E0BA27), UINT64_C(0x0C756BA08C7810D5)}},
+        {{UINT64_C(0xFC58F0BD6F16FBCA), UINT64_C(0xA855BB8CA5E33B36),
+          UINT64_C(0xB9239EB499D08247), UINT64_C(0x27ABC78D49CAF40D)},
+         {UINT64_C(0x88BE1595A1285278), UINT64_C(0x9D5AEE5B60F16638),
+          UINT64_C(0x3F3815291FCE4327), UINT64_C(0x17206899F19CAA04)}},
+        {{UINT64_C(0x586163489E047F55), UINT64_C(0x0D6098A5E991FC4C),
+          UINT64_C(0x47760F9899A33914), UINT64_C(0x70C8F5D45608C80E)},
+         {UINT64_C(0x405F119106036DBE), UINT64_C(0xBF62589580CC0A27),
+          UINT64_C(0xFB8A0330389FA7BF), UINT64_C(0x22B0B9461FA0CBB4)}},
+        {{UINT64_C(0x84AE19811B1E2ACD), UINT64_C(0xFA23C20563961891),
+          UINT64_C(0xCF4C685E742C1653), UINT64_C(0x55BFC7444D303078)},
+         {UINT64_C(0xEB131CBBBA03AAE4), UINT64_C(0xF338C0DB2C5B9EAB),
+          UINT64_C(0xC1006396B7495209), UINT64_C(0x0FD928CFF7E6A4E6)}},
+        {{UINT64_C(0xA6BAC9948633AB84), UINT64_C(0xC165BF5A75364642),
+          UINT64_C(0xB70BEB478C57070D), UINT64_C(0x838158A0D416322E)},
+         {UINT64_C(0x501D2BFDD4957751), UINT64_C(0xF1CDDF32C23AA730),
+          UINT64_C(0xF64558A85458F1C6), UINT64_C(0x51B6DDE306E1209C)}},
+        {{UINT64_C(0x0712C186CC31D6BE), UINT64_C(0x91C4064A33CD1D3F),
+          UINT64_C(0xCADAE5B0C7C91F53), UINT64_C(0x52AA408FDEB2A2EE)},
+         {UINT64_C(0x058675CC202719D5), UINT64_C(0x444F99F51D087D07),
+          UINT64_C(0x4DB587E89D7A8AF4), UINT64_C(0x389376F5DA17095A)}},
+        {{UINT64_C(0x8262D37048FED385), UINT64_C(0x3B1FB4661AE92689),
+          UINT64_C(0xDA6F570F24242CF4), UINT64_C(0x0532FC9E0DEAC5E9)},
+         {UINT64_C(0x5E8FB74020C5BD7B), UINT64_C(0x5AE99925002624B3),
+          UINT64_C(0xAD44A4D57AFADC15), UINT64_C(0x6AECBC80DF409330)}},
+    }};
+
+/*-
+ * Q := 2P, both projective, Q and P same pointers OK
+ * Autogenerated: op3/dbl_proj.op3
+ * https://eprint.iacr.org/2015/1060 Alg 6
+ * ASSERT: a = -3
+ */
+static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
+    /* temporary variables */
+    fe_t t0, t1, t2, t3, t4;
+    /* constants */
+    const limb_t *b = const_b;
+    /* set pointers for legacy 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 *Z3 = Q->Z;
+
+    /* the curve arith formula */
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(t0, X);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(t1, Y);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(t2, Z);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t3, X, Y);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, t3, t3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t4, Y, Z);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, X, Z);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, b, t2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, Y3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, X3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, t1, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, t1, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, X3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(X3, X3, t3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, t2, t2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t2, t2, t3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, b, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Z3, Z3, t2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Z3, Z3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, Z3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, t3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, t0, t0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t0, t3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t0, t0, t2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t0, t0, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, Y3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t0, t4, t4);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, t0, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, X3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, t0, t1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, Z3);
+}
+
+/*-
+ * 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.op3
+ * https://eprint.iacr.org/2015/1060 Alg 5
+ * ASSERT: a = -3
+ */
+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, t4;
+    /* constants */
+    const limb_t *b = const_b;
+    /* set pointers for legacy curve arith */
+    const limb_t *X1 = Q->X;
+    const limb_t *Y1 = Q->Y;
+    const limb_t *Z1 = Q->Z;
+    const limb_t *X2 = P->X;
+    const limb_t *Y2 = P->Y;
+    fe_t X3;
+    fe_t Y3;
+    fe_t Z3;
+    limb_t nz;
+
+    /* check P for affine inf */
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_nonzero(&nz, P->Y);
+
+    /* the curve arith formula */
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t0, X1, X2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, Y1, Y2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, X2, Y2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, X1, Y1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t3, t3, t4);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, t0, t1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t3, t3, t4);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t4, Y2, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, t4, Y1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, X2, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, Y3, X1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, b, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, Y3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, X3, X3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, X3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Z3, t1, X3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, t1, X3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, b, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, Z1, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t2, t1, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, t2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, Y3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, t1, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, t0, t0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t0, t1, t0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t0, t0, t2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, t4, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t2, t0, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, X3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, Y3, t2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(X3, t3, X3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, X3, t1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, t4, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, t3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, t1);
+
+    /* if P is inf, throw all that away and take Q */
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(R->X, nz, Q->X, X3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(R->Y, nz, Q->Y, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(R->Z, nz, Q->Z, Z3);
+}
+
+/*-
+ * R := Q + P all projective.
+ * R and Q same pointers OK
+ * R and P same pointers not OK
+ * Autogenerated: op3/add_proj.op3
+ * https://eprint.iacr.org/2015/1060 Alg 4
+ * ASSERT: a = -3
+ */
+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, t4, t5;
+    /* constants */
+    const limb_t *b = const_b;
+    /* set pointers for legacy curve arith */
+    const limb_t *X1 = Q->X;
+    const limb_t *Y1 = Q->Y;
+    const limb_t *Z1 = Q->Z;
+    const limb_t *X2 = P->X;
+    const limb_t *Y2 = P->Y;
+    const limb_t *Z2 = P->Z;
+    limb_t *X3 = R->X;
+    limb_t *Y3 = R->Y;
+    limb_t *Z3 = R->Z;
+
+    /* the curve arith formula */
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t0, X1, X2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, Y1, Y2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t2, Z1, Z2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, X1, Y1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, X2, Y2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t3, t3, t4);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, t0, t1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t3, t3, t4);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, Y1, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t5, Y2, Z2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t4, t4, t5);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t5, t1, t2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t4, t4, t5);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, X1, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, X2, Z2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(X3, X3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, t0, t2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, X3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, b, t2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, Y3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, X3, X3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, X3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Z3, t1, X3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, t1, X3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, b, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, t2, t2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t2, t1, t2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, t2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, Y3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, t1, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, t0, t0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t0, t1, t0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t0, t0, t2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, t4, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t2, t0, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, X3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, Y3, t2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(X3, t3, X3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, X3, t1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, t4, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, t3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, t1);
+}
+
+/* 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;
+
+    fe_copy(precomp[0].X, P->X);
+    fe_copy(precomp[0].Y, P->Y);
+    fe_copy(precomp[0].Z, const_one);
+    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[32], int idx) {
+    int widx, rshift;
+
+    widx = idx >> 3;
+    rshift = idx & 0x7;
+
+    if (idx < 0 || widx >= 32) 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[52], const unsigned char in[32]) {
+    int i;
+    char window, d;
+
+    window = (in[0] & (DRADIX_WNAF - 1)) | 1;
+    for (i = 0; i < 51; 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[257], const unsigned char in[32]) {
+    int i;
+    char window, d;
+
+    window = in[0] & (DRADIX_WNAF - 1);
+    for (i = 0; i < 257; 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[32],
+                              const unsigned char b[32], const pt_aff_t *P) {
+    int i, d, is_neg, is_inf = 1, flipped = 0;
+    char anaf[257] = {0};
+    char bnaf[257] = {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 = 256; i >= 0; i--) {
+        if (!is_inf) point_double(&Q, &Q);
+        if ((d = bnaf[i])) {
+            if ((is_neg = d < 0) != flipped) {
+                fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(Q.Y, Q.Y);
+                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.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_GostR3410_2001_CryptoPro_C_ParamSet_opp(Q.Y, Q.Y);
+                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.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.Z);
+    }
+
+    if (flipped) {
+        /* correct sign */
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(Q.Y, Q.Y);
+    }
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_inv(Q.Z, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->X, Q.X, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_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[32],
+                           const pt_aff_t *P) {
+    int i, j, d, diff, is_neg;
+    char rnaf[52] = {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[51] - 1) >> 1;
+    for (j = 0; j < DRADIX / 2; j++) {
+        diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.X, diff, Q.X,
+                                                              precomp[j].X);
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Y, diff, Q.Y,
+                                                              precomp[j].Y);
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Z, diff, Q.Z,
+                                                              precomp[j].Z);
+    }
+
+    for (i = 50; 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_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
+                lut.X, diff, lut.X, precomp[j].X);
+            fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
+                lut.Y, diff, lut.Y, precomp[j].Y);
+            fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
+                lut.Z, diff, lut.Z, precomp[j].Z);
+        }
+        /* negate lut point if digit is negative */
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(out->Y, lut.Y);
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(lut.Y, is_neg,
+                                                              lut.Y, out->Y);
+        point_add_proj(&Q, &Q, &lut);
+    }
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
+
+    /* conditionally subtract P if the scalar was even */
+    fe_copy(lut.X, precomp[0].X);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(lut.Y, precomp[0].Y);
+    fe_copy(lut.Z, precomp[0].Z);
+    point_add_proj(&lut, &lut, &Q);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.X, scalar[0] & 1,
+                                                          lut.X, Q.X);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Y, scalar[0] & 1,
+                                                          lut.Y, Q.Y);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Z, scalar[0] & 1,
+                                                          lut.Z, Q.Z);
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_inv(Q.Z, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->X, Q.X, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_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[32]) {
+    int i, j, k, d, diff, is_neg = 0;
+    char rnaf[52] = {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.Z);
+
+#if defined(_MSC_VER)
+    /* result still unsigned: yes we know */
+#pragma warning(push)
+#pragma warning(disable : 4146)
+#endif
+
+    for (i = 1; i >= 0; i--) {
+        for (j = 0; i != 1 && j < RADIX; j++) point_double(&Q, &Q);
+        for (j = 0; j < 27; j++) {
+            if (j * 2 + i > 51) continue;
+            d = rnaf[j * 2 + 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_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
+                    lut.X, diff, lut.X, lut_cmb[j][k].X);
+                fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
+                    lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
+            }
+            /* negate lut point if digit is negative */
+            fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(out->Y, lut.Y);
+            fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
+                lut.Y, is_neg, lut.Y, out->Y);
+            point_add_mixed(&Q, &Q, &lut);
+        }
+    }
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
+
+    /* conditionally subtract P if the scalar was even */
+    fe_copy(lut.X, lut_cmb[0][0].X);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(lut.Y, lut_cmb[0][0].Y);
+    point_add_mixed(&R, &Q, &lut);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.X, scalar[0] & 1,
+                                                          R.X, Q.X);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Y, scalar[0] & 1,
+                                                          R.Y, Q.Y);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Z, scalar[0] & 1,
+                                                          R.Z, Q.Z);
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_inv(Q.Z, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->X, Q.X, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->Y, Q.Y, Q.Z);
+}
+
+static void point_mul_two(unsigned char outx[32], unsigned char outy[32],
+                          const unsigned char a[32], const unsigned char b[32],
+                          const unsigned char inx[32],
+                          const unsigned char iny[32]) {
+    pt_aff_t P;
+
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(P.X, inx);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(P.Y, iny);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(P.X, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(P.Y, P.Y);
+    /* simultaneous scalar multiplication */
+    var_smul_wnaf_two(&P, a, b, &P);
+
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.X, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.Y, P.Y);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outx, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outy, P.Y);
+}
+
+static void point_mul_g(unsigned char outx[32], unsigned char outy[32],
+                        const unsigned char scalar[32]) {
+    pt_aff_t P;
+
+    /* fixed scmul function */
+    fixed_smul_cmb(&P, scalar);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.X, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.Y, P.Y);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outx, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outy, P.Y);
+}
+
+static void point_mul(unsigned char outx[32], unsigned char outy[32],
+                      const unsigned char scalar[32],
+                      const unsigned char inx[32],
+                      const unsigned char iny[32]) {
+    pt_aff_t P;
+
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(P.X, inx);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(P.Y, iny);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(P.X, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(P.Y, P.Y);
+    /* var scmul function */
+    var_smul_rwnaf(&P, scalar, &P);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.X, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.Y, P.Y);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outx, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outy, P.Y);
+}
+
+#include <openssl/ec.h>
+
+static const unsigned char const_zb[32] = {0};
+
+    int
+    point_mul_two_id_GostR3410_2001_CryptoPro_C_ParamSet(
+        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[32];
+    unsigned char b_y[32];
+    unsigned char b_n[32];
+    unsigned char b_m[32];
+    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, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
+        BN_bn2lebinpad(n, b_n, 32) != 32 || BN_bn2lebinpad(m, b_m, 32) != 32)
+        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, 32) == 0 &&
+        CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
+        if (!EC_POINT_set_to_infinity(group, r)) goto err;
+    } else {
+        /* otherwise, pack the bytes into the result */
+        if (BN_lebin2bn(b_x, 32, x) == NULL ||
+            BN_lebin2bn(b_y, 32, 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_GostR3410_2001_CryptoPro_C_ParamSet(const EC_GROUP *group,
+                                                     EC_POINT *r,
+                                                     const EC_POINT *q,
+                                                     const BIGNUM *m,
+                                                     BN_CTX *ctx) {
+    int ret = 0;
+    unsigned char b_x[32];
+    unsigned char b_y[32];
+    unsigned char b_m[32];
+    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, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
+        BN_bn2lebinpad(m, b_m, 32) != 32)
+        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, 32) == 0 &&
+        CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
+        if (!EC_POINT_set_to_infinity(group, r)) goto err;
+    } else {
+        /* otherwise, pack the bytes into the result */
+        if (BN_lebin2bn(b_x, 32, x) == NULL ||
+            BN_lebin2bn(b_y, 32, 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_GostR3410_2001_CryptoPro_C_ParamSet(const EC_GROUP *group,
+                                                       EC_POINT *r,
+                                                       const BIGNUM *n,
+                                                       BN_CTX *ctx) {
+    int ret = 0;
+    unsigned char b_x[32];
+    unsigned char b_y[32];
+    unsigned char b_n[32];
+    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, 32) != 32)
+        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, 32) == 0 &&
+        CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
+        if (!EC_POINT_set_to_infinity(group, r)) goto err;
+    } else {
+        /* otherwise, pack the bytes into the result */
+        if (BN_lebin2bn(b_x, 32, x) == NULL ||
+            BN_lebin2bn(b_y, 32, 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 8
+/* 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))
+
+/* Projective points */
+typedef struct {
+    fe_t X;
+    fe_t Y;
+    fe_t Z;
+} pt_prj_t;
+
+/* Affine points */
+typedef struct {
+    fe_t X;
+    fe_t Y;
+} 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: word_by_word_montgomery --static id_GostR3410_2001_CryptoPro_C_ParamSet 32 0x9B9F605F5A858107AB1EC85E6B41C8AACF846E86789051D37998F7B9022D759B */
+/* curve description: id_GostR3410_2001_CryptoPro_C_ParamSet */
+/* machine_wordsize = 32 (from "32") */
+/* requested operations: (all) */
+/* m = 0x9b9f605f5a858107ab1ec85e6b41c8aacf846e86789051d37998f7b9022d759b (from "0x9B9F605F5A858107AB1EC85E6B41C8AACF846E86789051D37998F7B9022D759B") */
+/*                                                                    */
+/* NOTE: In addition to the bounds specified above each function, all */
+/*   functions synthesized for this Montgomery arithmetic require the */
+/*   input to be strictly less than the prime modulus (m), and also   */
+/*   require the input to be in the unique saturated representation.  */
+/*   All functions also ensure that these two properties are true of  */
+/*   return values.                                                   */
+/*  */
+/* Computed values: */
+/* eval z = z[0] + (z[1] << 32) + (z[2] << 64) + (z[3] << 96) + (z[4] << 128) + (z[5] << 160) + (z[6] << 192) + (z[7] << 224) */
+/* 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) */
+
+#include <stdint.h>
+typedef unsigned char fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1;
+typedef signed char fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int1;
+
+#if (-1 & 3) != 3
+#error "This code only works on a two's complement system"
+#endif
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32 is an addition with carry.
+ * Postconditions:
+ *   out1 = (arg1 + arg2 + arg3) mod 2^32
+ *   out2 = ⌊(arg1 + arg2 + arg3) / 2^32⌋
+ *
+ * Input Bounds:
+ *   arg1: [0x0 ~> 0x1]
+ *   arg2: [0x0 ~> 0xffffffff]
+ *   arg3: [0x0 ~> 0xffffffff]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffffff]
+ *   out2: [0x0 ~> 0x1]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+    uint32_t *out1, fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 *out2,
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 arg1, uint32_t arg2,
+    uint32_t arg3) {
+    uint64_t x1;
+    uint32_t x2;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x3;
+    x1 = ((arg1 + (uint64_t)arg2) + arg3);
+    x2 = (uint32_t)(x1 & UINT32_C(0xffffffff));
+    x3 = (fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1)(x1 >> 32);
+    *out1 = x2;
+    *out2 = x3;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32 is a subtraction with borrow.
+ * Postconditions:
+ *   out1 = (-arg1 + arg2 + -arg3) mod 2^32
+ *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^32⌋
+ *
+ * Input Bounds:
+ *   arg1: [0x0 ~> 0x1]
+ *   arg2: [0x0 ~> 0xffffffff]
+ *   arg3: [0x0 ~> 0xffffffff]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffffff]
+ *   out2: [0x0 ~> 0x1]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+    uint32_t *out1, fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 *out2,
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 arg1, uint32_t arg2,
+    uint32_t arg3) {
+    int64_t x1;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int1 x2;
+    uint32_t x3;
+    x1 = ((arg2 - (int64_t)arg1) - arg3);
+    x2 = (fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int1)(x1 >> 32);
+    x3 = (uint32_t)(x1 & UINT32_C(0xffffffff));
+    *out1 = x3;
+    *out2 = (fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1)(0x0 - x2);
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32 is a multiplication, returning the full double-width result.
+ * Postconditions:
+ *   out1 = (arg1 * arg2) mod 2^32
+ *   out2 = ⌊arg1 * arg2 / 2^32⌋
+ *
+ * Input Bounds:
+ *   arg1: [0x0 ~> 0xffffffff]
+ *   arg2: [0x0 ~> 0xffffffff]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffffff]
+ *   out2: [0x0 ~> 0xffffffff]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(
+    uint32_t *out1, uint32_t *out2, uint32_t arg1, uint32_t arg2) {
+    uint64_t x1;
+    uint32_t x2;
+    uint32_t x3;
+    x1 = ((uint64_t)arg1 * arg2);
+    x2 = (uint32_t)(x1 & UINT32_C(0xffffffff));
+    x3 = (uint32_t)(x1 >> 32);
+    *out1 = x2;
+    *out2 = x3;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_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_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
+    uint32_t *out1, fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 arg1,
+    uint32_t arg2, uint32_t arg3) {
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x1;
+    uint32_t x2;
+    uint32_t x3;
+    x1 = (!(!arg1));
+    x2 = ((fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_int1)(0x0 - x1) &
+          UINT32_C(0xffffffff));
+    x3 = ((x2 & arg3) | ((~x2) & arg2));
+    *out1 = x3;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul multiplies two field elements in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ *   0 ≤ eval arg2 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg2)) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ *   arg2: [[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]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(
+    uint32_t out1[8], const uint32_t arg1[8], const uint32_t arg2[8]) {
+    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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x26;
+    uint32_t x27;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x28;
+    uint32_t x29;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x30;
+    uint32_t x31;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x32;
+    uint32_t x33;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x34;
+    uint32_t x35;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x36;
+    uint32_t x37;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 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;
+    uint32_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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x59;
+    uint32_t x60;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x61;
+    uint32_t x62;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x63;
+    uint32_t x64;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x65;
+    uint32_t x66;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x67;
+    uint32_t x68;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x69;
+    uint32_t x70;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x71;
+    uint32_t x72;
+    uint32_t x73;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x74;
+    uint32_t x75;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x76;
+    uint32_t x77;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x78;
+    uint32_t x79;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x80;
+    uint32_t x81;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x82;
+    uint32_t x83;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x84;
+    uint32_t x85;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x86;
+    uint32_t x87;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x88;
+    uint32_t x89;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x90;
+    uint32_t x91;
+    uint32_t x92;
+    uint32_t 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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x108;
+    uint32_t x109;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x110;
+    uint32_t x111;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x112;
+    uint32_t x113;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x114;
+    uint32_t x115;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x116;
+    uint32_t x117;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x118;
+    uint32_t x119;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x120;
+    uint32_t x121;
+    uint32_t x122;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x123;
+    uint32_t x124;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x125;
+    uint32_t x126;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x127;
+    uint32_t x128;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x129;
+    uint32_t x130;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x131;
+    uint32_t x132;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x133;
+    uint32_t x134;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x135;
+    uint32_t x136;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x137;
+    uint32_t x138;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x139;
+    uint32_t x140;
+    uint32_t x141;
+    uint32_t x142;
+    uint32_t x143;
+    uint32_t x144;
+    uint32_t x145;
+    uint32_t x146;
+    uint32_t x147;
+    uint32_t x148;
+    uint32_t x149;
+    uint32_t x150;
+    uint32_t x151;
+    uint32_t x152;
+    uint32_t x153;
+    uint32_t x154;
+    uint32_t x155;
+    uint32_t x156;
+    uint32_t x157;
+    uint32_t x158;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x159;
+    uint32_t x160;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x161;
+    uint32_t x162;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x163;
+    uint32_t x164;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x165;
+    uint32_t x166;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x167;
+    uint32_t x168;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x169;
+    uint32_t x170;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x171;
+    uint32_t x172;
+    uint32_t x173;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x174;
+    uint32_t x175;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x176;
+    uint32_t x177;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x178;
+    uint32_t x179;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x180;
+    uint32_t x181;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x182;
+    uint32_t x183;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x184;
+    uint32_t x185;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x186;
+    uint32_t x187;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x188;
+    uint32_t x189;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x190;
+    uint32_t x191;
+    uint32_t x192;
+    uint32_t x193;
+    uint32_t x194;
+    uint32_t x195;
+    uint32_t x196;
+    uint32_t x197;
+    uint32_t x198;
+    uint32_t x199;
+    uint32_t x200;
+    uint32_t x201;
+    uint32_t x202;
+    uint32_t x203;
+    uint32_t x204;
+    uint32_t x205;
+    uint32_t x206;
+    uint32_t x207;
+    uint32_t x208;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x209;
+    uint32_t x210;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x211;
+    uint32_t x212;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x213;
+    uint32_t x214;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x215;
+    uint32_t x216;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x217;
+    uint32_t x218;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x219;
+    uint32_t x220;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x221;
+    uint32_t x222;
+    uint32_t x223;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x224;
+    uint32_t x225;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x226;
+    uint32_t x227;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x228;
+    uint32_t x229;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x230;
+    uint32_t x231;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x232;
+    uint32_t x233;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x234;
+    uint32_t x235;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x236;
+    uint32_t x237;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x238;
+    uint32_t x239;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x240;
+    uint32_t x241;
+    uint32_t x242;
+    uint32_t x243;
+    uint32_t x244;
+    uint32_t x245;
+    uint32_t x246;
+    uint32_t x247;
+    uint32_t x248;
+    uint32_t x249;
+    uint32_t x250;
+    uint32_t x251;
+    uint32_t x252;
+    uint32_t x253;
+    uint32_t x254;
+    uint32_t x255;
+    uint32_t x256;
+    uint32_t x257;
+    uint32_t x258;
+    uint32_t x259;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x260;
+    uint32_t x261;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x262;
+    uint32_t x263;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x264;
+    uint32_t x265;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x266;
+    uint32_t x267;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x268;
+    uint32_t x269;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x270;
+    uint32_t x271;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x272;
+    uint32_t x273;
+    uint32_t x274;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x275;
+    uint32_t x276;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x277;
+    uint32_t x278;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x279;
+    uint32_t x280;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x281;
+    uint32_t x282;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x283;
+    uint32_t x284;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x285;
+    uint32_t x286;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x287;
+    uint32_t x288;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x289;
+    uint32_t x290;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x291;
+    uint32_t x292;
+    uint32_t x293;
+    uint32_t x294;
+    uint32_t x295;
+    uint32_t x296;
+    uint32_t x297;
+    uint32_t x298;
+    uint32_t x299;
+    uint32_t x300;
+    uint32_t x301;
+    uint32_t x302;
+    uint32_t x303;
+    uint32_t x304;
+    uint32_t x305;
+    uint32_t x306;
+    uint32_t x307;
+    uint32_t x308;
+    uint32_t x309;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x310;
+    uint32_t x311;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x312;
+    uint32_t x313;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x314;
+    uint32_t x315;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x316;
+    uint32_t x317;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x318;
+    uint32_t x319;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x320;
+    uint32_t x321;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x322;
+    uint32_t x323;
+    uint32_t x324;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x325;
+    uint32_t x326;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x327;
+    uint32_t x328;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x329;
+    uint32_t x330;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x331;
+    uint32_t x332;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x333;
+    uint32_t x334;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x335;
+    uint32_t x336;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x337;
+    uint32_t x338;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x339;
+    uint32_t x340;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x341;
+    uint32_t x342;
+    uint32_t x343;
+    uint32_t x344;
+    uint32_t x345;
+    uint32_t x346;
+    uint32_t x347;
+    uint32_t x348;
+    uint32_t x349;
+    uint32_t x350;
+    uint32_t x351;
+    uint32_t x352;
+    uint32_t x353;
+    uint32_t x354;
+    uint32_t x355;
+    uint32_t x356;
+    uint32_t x357;
+    uint32_t x358;
+    uint32_t x359;
+    uint32_t x360;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x361;
+    uint32_t x362;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x363;
+    uint32_t x364;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x365;
+    uint32_t x366;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x367;
+    uint32_t x368;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x369;
+    uint32_t x370;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x371;
+    uint32_t x372;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x373;
+    uint32_t x374;
+    uint32_t x375;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x376;
+    uint32_t x377;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x378;
+    uint32_t x379;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x380;
+    uint32_t x381;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x382;
+    uint32_t x383;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x384;
+    uint32_t x385;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x386;
+    uint32_t x387;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x388;
+    uint32_t x389;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x390;
+    uint32_t x391;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x392;
+    uint32_t x393;
+    uint32_t x394;
+    uint32_t x395;
+    uint32_t x396;
+    uint32_t x397;
+    uint32_t x398;
+    uint32_t x399;
+    uint32_t x400;
+    uint32_t x401;
+    uint32_t x402;
+    uint32_t x403;
+    uint32_t x404;
+    uint32_t x405;
+    uint32_t x406;
+    uint32_t x407;
+    uint32_t x408;
+    uint32_t x409;
+    uint32_t x410;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x411;
+    uint32_t x412;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x413;
+    uint32_t x414;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x415;
+    uint32_t x416;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x417;
+    uint32_t x418;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x419;
+    uint32_t x420;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x421;
+    uint32_t x422;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x423;
+    uint32_t x424;
+    uint32_t x425;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x426;
+    uint32_t x427;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x428;
+    uint32_t x429;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x430;
+    uint32_t x431;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x432;
+    uint32_t x433;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x434;
+    uint32_t x435;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x436;
+    uint32_t x437;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x438;
+    uint32_t x439;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x440;
+    uint32_t x441;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x442;
+    uint32_t x443;
+    uint32_t x444;
+    uint32_t x445;
+    uint32_t x446;
+    uint32_t x447;
+    uint32_t x448;
+    uint32_t x449;
+    uint32_t x450;
+    uint32_t x451;
+    uint32_t x452;
+    uint32_t x453;
+    uint32_t x454;
+    uint32_t x455;
+    uint32_t x456;
+    uint32_t x457;
+    uint32_t x458;
+    uint32_t x459;
+    uint32_t x460;
+    uint32_t x461;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x462;
+    uint32_t x463;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x464;
+    uint32_t x465;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x466;
+    uint32_t x467;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x468;
+    uint32_t x469;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x470;
+    uint32_t x471;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x472;
+    uint32_t x473;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x474;
+    uint32_t x475;
+    uint32_t x476;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x477;
+    uint32_t x478;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x479;
+    uint32_t x480;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x481;
+    uint32_t x482;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x483;
+    uint32_t x484;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x485;
+    uint32_t x486;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x487;
+    uint32_t x488;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x489;
+    uint32_t x490;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x491;
+    uint32_t x492;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x493;
+    uint32_t x494;
+    uint32_t x495;
+    uint32_t x496;
+    uint32_t x497;
+    uint32_t x498;
+    uint32_t x499;
+    uint32_t x500;
+    uint32_t x501;
+    uint32_t x502;
+    uint32_t x503;
+    uint32_t x504;
+    uint32_t x505;
+    uint32_t x506;
+    uint32_t x507;
+    uint32_t x508;
+    uint32_t x509;
+    uint32_t x510;
+    uint32_t x511;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x512;
+    uint32_t x513;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x514;
+    uint32_t x515;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x516;
+    uint32_t x517;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x518;
+    uint32_t x519;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x520;
+    uint32_t x521;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x522;
+    uint32_t x523;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x524;
+    uint32_t x525;
+    uint32_t x526;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x527;
+    uint32_t x528;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x529;
+    uint32_t x530;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x531;
+    uint32_t x532;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x533;
+    uint32_t x534;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x535;
+    uint32_t x536;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x537;
+    uint32_t x538;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x539;
+    uint32_t x540;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x541;
+    uint32_t x542;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x543;
+    uint32_t x544;
+    uint32_t x545;
+    uint32_t x546;
+    uint32_t x547;
+    uint32_t x548;
+    uint32_t x549;
+    uint32_t x550;
+    uint32_t x551;
+    uint32_t x552;
+    uint32_t x553;
+    uint32_t x554;
+    uint32_t x555;
+    uint32_t x556;
+    uint32_t x557;
+    uint32_t x558;
+    uint32_t x559;
+    uint32_t x560;
+    uint32_t x561;
+    uint32_t x562;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x563;
+    uint32_t x564;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x565;
+    uint32_t x566;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x567;
+    uint32_t x568;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x569;
+    uint32_t x570;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x571;
+    uint32_t x572;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x573;
+    uint32_t x574;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x575;
+    uint32_t x576;
+    uint32_t x577;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x578;
+    uint32_t x579;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x580;
+    uint32_t x581;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x582;
+    uint32_t x583;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x584;
+    uint32_t x585;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x586;
+    uint32_t x587;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x588;
+    uint32_t x589;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x590;
+    uint32_t x591;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x592;
+    uint32_t x593;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x594;
+    uint32_t x595;
+    uint32_t x596;
+    uint32_t x597;
+    uint32_t x598;
+    uint32_t x599;
+    uint32_t x600;
+    uint32_t x601;
+    uint32_t x602;
+    uint32_t x603;
+    uint32_t x604;
+    uint32_t x605;
+    uint32_t x606;
+    uint32_t x607;
+    uint32_t x608;
+    uint32_t x609;
+    uint32_t x610;
+    uint32_t x611;
+    uint32_t x612;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x613;
+    uint32_t x614;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x615;
+    uint32_t x616;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x617;
+    uint32_t x618;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x619;
+    uint32_t x620;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x621;
+    uint32_t x622;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x623;
+    uint32_t x624;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x625;
+    uint32_t x626;
+    uint32_t x627;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x628;
+    uint32_t x629;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x630;
+    uint32_t x631;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x632;
+    uint32_t x633;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x634;
+    uint32_t x635;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x636;
+    uint32_t x637;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x638;
+    uint32_t x639;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x640;
+    uint32_t x641;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x642;
+    uint32_t x643;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x644;
+    uint32_t x645;
+    uint32_t x646;
+    uint32_t x647;
+    uint32_t x648;
+    uint32_t x649;
+    uint32_t x650;
+    uint32_t x651;
+    uint32_t x652;
+    uint32_t x653;
+    uint32_t x654;
+    uint32_t x655;
+    uint32_t x656;
+    uint32_t x657;
+    uint32_t x658;
+    uint32_t x659;
+    uint32_t x660;
+    uint32_t x661;
+    uint32_t x662;
+    uint32_t x663;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x664;
+    uint32_t x665;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x666;
+    uint32_t x667;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x668;
+    uint32_t x669;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x670;
+    uint32_t x671;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x672;
+    uint32_t x673;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x674;
+    uint32_t x675;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x676;
+    uint32_t x677;
+    uint32_t x678;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x679;
+    uint32_t x680;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x681;
+    uint32_t x682;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x683;
+    uint32_t x684;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x685;
+    uint32_t x686;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x687;
+    uint32_t x688;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x689;
+    uint32_t x690;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x691;
+    uint32_t x692;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x693;
+    uint32_t x694;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x695;
+    uint32_t x696;
+    uint32_t x697;
+    uint32_t x698;
+    uint32_t x699;
+    uint32_t x700;
+    uint32_t x701;
+    uint32_t x702;
+    uint32_t x703;
+    uint32_t x704;
+    uint32_t x705;
+    uint32_t x706;
+    uint32_t x707;
+    uint32_t x708;
+    uint32_t x709;
+    uint32_t x710;
+    uint32_t x711;
+    uint32_t x712;
+    uint32_t x713;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x714;
+    uint32_t x715;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x716;
+    uint32_t x717;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x718;
+    uint32_t x719;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x720;
+    uint32_t x721;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x722;
+    uint32_t x723;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x724;
+    uint32_t x725;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x726;
+    uint32_t x727;
+    uint32_t x728;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x729;
+    uint32_t x730;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x731;
+    uint32_t x732;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x733;
+    uint32_t x734;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x735;
+    uint32_t x736;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x737;
+    uint32_t x738;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x739;
+    uint32_t x740;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x741;
+    uint32_t x742;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x743;
+    uint32_t x744;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x745;
+    uint32_t x746;
+    uint32_t x747;
+    uint32_t x748;
+    uint32_t x749;
+    uint32_t x750;
+    uint32_t x751;
+    uint32_t x752;
+    uint32_t x753;
+    uint32_t x754;
+    uint32_t x755;
+    uint32_t x756;
+    uint32_t x757;
+    uint32_t x758;
+    uint32_t x759;
+    uint32_t x760;
+    uint32_t x761;
+    uint32_t x762;
+    uint32_t x763;
+    uint32_t x764;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x765;
+    uint32_t x766;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x767;
+    uint32_t x768;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x769;
+    uint32_t x770;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x771;
+    uint32_t x772;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x773;
+    uint32_t x774;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x775;
+    uint32_t x776;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x777;
+    uint32_t x778;
+    uint32_t x779;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x780;
+    uint32_t x781;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x782;
+    uint32_t x783;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x784;
+    uint32_t x785;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x786;
+    uint32_t x787;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x788;
+    uint32_t x789;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x790;
+    uint32_t x791;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x792;
+    uint32_t x793;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x794;
+    uint32_t x795;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x796;
+    uint32_t x797;
+    uint32_t x798;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x799;
+    uint32_t x800;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x801;
+    uint32_t x802;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x803;
+    uint32_t x804;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x805;
+    uint32_t x806;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x807;
+    uint32_t x808;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x809;
+    uint32_t x810;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x811;
+    uint32_t x812;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x813;
+    uint32_t x814;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x815;
+    uint32_t x816;
+    uint32_t x817;
+    uint32_t x818;
+    uint32_t x819;
+    uint32_t x820;
+    uint32_t x821;
+    uint32_t x822;
+    uint32_t x823;
+    x1 = (arg1[1]);
+    x2 = (arg1[2]);
+    x3 = (arg1[3]);
+    x4 = (arg1[4]);
+    x5 = (arg1[5]);
+    x6 = (arg1[6]);
+    x7 = (arg1[7]);
+    x8 = (arg1[0]);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x9, &x10, x8,
+                                                         (arg2[7]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x11, &x12, x8,
+                                                         (arg2[6]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x13, &x14, x8,
+                                                         (arg2[5]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x15, &x16, x8,
+                                                         (arg2[4]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x17, &x18, x8,
+                                                         (arg2[3]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x19, &x20, x8,
+                                                         (arg2[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x21, &x22, x8,
+                                                         (arg2[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x23, &x24, x8,
+                                                         (arg2[0]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x25, &x26, 0x0,
+                                                              x24, x21);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x27, &x28, x26,
+                                                              x22, x19);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x29, &x30, x28,
+                                                              x20, x17);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x31, &x32, x30,
+                                                              x18, x15);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x33, &x34, x32,
+                                                              x16, x13);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x35, &x36, x34,
+                                                              x14, x11);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x37, &x38, x36,
+                                                              x12, x9);
+    x39 = (x38 + x10);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x40, &x41, x23,
+                                                         UINT32_C(0x727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x42, &x43, x40,
+                                                         UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x44, &x45, x40,
+                                                         UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x46, &x47, x40,
+                                                         UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x48, &x49, x40,
+                                                         UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x50, &x51, x40,
+                                                         UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x52, &x53, x40,
+                                                         UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x54, &x55, x40,
+                                                         UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x56, &x57, x40,
+                                                         UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x58, &x59, 0x0,
+                                                              x57, x54);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x60, &x61, x59,
+                                                              x55, x52);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x62, &x63, x61,
+                                                              x53, x50);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x64, &x65, x63,
+                                                              x51, x48);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x66, &x67, x65,
+                                                              x49, x46);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x68, &x69, x67,
+                                                              x47, x44);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x70, &x71, x69,
+                                                              x45, x42);
+    x72 = (x71 + x43);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x73, &x74, 0x0,
+                                                              x23, x56);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x75, &x76, x74,
+                                                              x25, x58);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x77, &x78, x76,
+                                                              x27, x60);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x79, &x80, x78,
+                                                              x29, x62);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x81, &x82, x80,
+                                                              x31, x64);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x83, &x84, x82,
+                                                              x33, x66);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x85, &x86, x84,
+                                                              x35, x68);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x87, &x88, x86,
+                                                              x37, x70);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x89, &x90, x88,
+                                                              x39, x72);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x91, &x92, x1,
+                                                         (arg2[7]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x93, &x94, x1,
+                                                         (arg2[6]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x95, &x96, x1,
+                                                         (arg2[5]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x97, &x98, x1,
+                                                         (arg2[4]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x99, &x100, x1,
+                                                         (arg2[3]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x101, &x102, x1,
+                                                         (arg2[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x103, &x104, x1,
+                                                         (arg2[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x105, &x106, x1,
+                                                         (arg2[0]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x107, &x108, 0x0,
+                                                              x106, x103);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x109, &x110,
+                                                              x108, x104, x101);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x111, &x112,
+                                                              x110, x102, x99);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x113, &x114,
+                                                              x112, x100, x97);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x115, &x116,
+                                                              x114, x98, x95);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x117, &x118,
+                                                              x116, x96, x93);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x119, &x120,
+                                                              x118, x94, x91);
+    x121 = (x120 + x92);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x122, &x123, 0x0,
+                                                              x75, x105);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x124, &x125,
+                                                              x123, x77, x107);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x126, &x127,
+                                                              x125, x79, x109);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x128, &x129,
+                                                              x127, x81, x111);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x130, &x131,
+                                                              x129, x83, x113);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x132, &x133,
+                                                              x131, x85, x115);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x134, &x135,
+                                                              x133, x87, x117);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x136, &x137,
+                                                              x135, x89, x119);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x138, &x139,
+                                                              x137, x90, x121);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x140, &x141, x122,
+                                                         UINT32_C(0x727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x142, &x143, x140,
+                                                         UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x144, &x145, x140,
+                                                         UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x146, &x147, x140,
+                                                         UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x148, &x149, x140,
+                                                         UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x150, &x151, x140,
+                                                         UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x152, &x153, x140,
+                                                         UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x154, &x155, x140,
+                                                         UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x156, &x157, x140,
+                                                         UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x158, &x159, 0x0,
+                                                              x157, x154);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x160, &x161,
+                                                              x159, x155, x152);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x162, &x163,
+                                                              x161, x153, x150);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x164, &x165,
+                                                              x163, x151, x148);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x166, &x167,
+                                                              x165, x149, x146);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x168, &x169,
+                                                              x167, x147, x144);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x170, &x171,
+                                                              x169, x145, x142);
+    x172 = (x171 + x143);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x173, &x174, 0x0,
+                                                              x122, x156);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x175, &x176,
+                                                              x174, x124, x158);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x177, &x178,
+                                                              x176, x126, x160);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x179, &x180,
+                                                              x178, x128, x162);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x181, &x182,
+                                                              x180, x130, x164);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x183, &x184,
+                                                              x182, x132, x166);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x185, &x186,
+                                                              x184, x134, x168);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x187, &x188,
+                                                              x186, x136, x170);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x189, &x190,
+                                                              x188, x138, x172);
+    x191 = ((uint32_t)x190 + x139);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x192, &x193, x2,
+                                                         (arg2[7]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x194, &x195, x2,
+                                                         (arg2[6]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x196, &x197, x2,
+                                                         (arg2[5]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x198, &x199, x2,
+                                                         (arg2[4]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x200, &x201, x2,
+                                                         (arg2[3]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x202, &x203, x2,
+                                                         (arg2[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x204, &x205, x2,
+                                                         (arg2[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x206, &x207, x2,
+                                                         (arg2[0]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x208, &x209, 0x0,
+                                                              x207, x204);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x210, &x211,
+                                                              x209, x205, x202);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x212, &x213,
+                                                              x211, x203, x200);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x214, &x215,
+                                                              x213, x201, x198);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x216, &x217,
+                                                              x215, x199, x196);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x218, &x219,
+                                                              x217, x197, x194);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x220, &x221,
+                                                              x219, x195, x192);
+    x222 = (x221 + x193);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x223, &x224, 0x0,
+                                                              x175, x206);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x225, &x226,
+                                                              x224, x177, x208);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x227, &x228,
+                                                              x226, x179, x210);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x229, &x230,
+                                                              x228, x181, x212);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x231, &x232,
+                                                              x230, x183, x214);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x233, &x234,
+                                                              x232, x185, x216);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x235, &x236,
+                                                              x234, x187, x218);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x237, &x238,
+                                                              x236, x189, x220);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x239, &x240,
+                                                              x238, x191, x222);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x241, &x242, x223,
+                                                         UINT32_C(0x727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x243, &x244, x241,
+                                                         UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x245, &x246, x241,
+                                                         UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x247, &x248, x241,
+                                                         UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x249, &x250, x241,
+                                                         UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x251, &x252, x241,
+                                                         UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x253, &x254, x241,
+                                                         UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x255, &x256, x241,
+                                                         UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x257, &x258, x241,
+                                                         UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x259, &x260, 0x0,
+                                                              x258, x255);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x261, &x262,
+                                                              x260, x256, x253);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x263, &x264,
+                                                              x262, x254, x251);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x265, &x266,
+                                                              x264, x252, x249);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x267, &x268,
+                                                              x266, x250, x247);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x269, &x270,
+                                                              x268, x248, x245);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x271, &x272,
+                                                              x270, x246, x243);
+    x273 = (x272 + x244);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x274, &x275, 0x0,
+                                                              x223, x257);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x276, &x277,
+                                                              x275, x225, x259);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x278, &x279,
+                                                              x277, x227, x261);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x280, &x281,
+                                                              x279, x229, x263);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x282, &x283,
+                                                              x281, x231, x265);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x284, &x285,
+                                                              x283, x233, x267);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x286, &x287,
+                                                              x285, x235, x269);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x288, &x289,
+                                                              x287, x237, x271);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x290, &x291,
+                                                              x289, x239, x273);
+    x292 = ((uint32_t)x291 + x240);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x293, &x294, x3,
+                                                         (arg2[7]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x295, &x296, x3,
+                                                         (arg2[6]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x297, &x298, x3,
+                                                         (arg2[5]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x299, &x300, x3,
+                                                         (arg2[4]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x301, &x302, x3,
+                                                         (arg2[3]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x303, &x304, x3,
+                                                         (arg2[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x305, &x306, x3,
+                                                         (arg2[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x307, &x308, x3,
+                                                         (arg2[0]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x309, &x310, 0x0,
+                                                              x308, x305);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x311, &x312,
+                                                              x310, x306, x303);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x313, &x314,
+                                                              x312, x304, x301);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x315, &x316,
+                                                              x314, x302, x299);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x317, &x318,
+                                                              x316, x300, x297);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x319, &x320,
+                                                              x318, x298, x295);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x321, &x322,
+                                                              x320, x296, x293);
+    x323 = (x322 + x294);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x324, &x325, 0x0,
+                                                              x276, x307);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x326, &x327,
+                                                              x325, x278, x309);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x328, &x329,
+                                                              x327, x280, x311);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x330, &x331,
+                                                              x329, x282, x313);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x332, &x333,
+                                                              x331, x284, x315);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x334, &x335,
+                                                              x333, x286, x317);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x336, &x337,
+                                                              x335, x288, x319);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x338, &x339,
+                                                              x337, x290, x321);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x340, &x341,
+                                                              x339, x292, x323);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x342, &x343, x324,
+                                                         UINT32_C(0x727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x344, &x345, x342,
+                                                         UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x346, &x347, x342,
+                                                         UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x348, &x349, x342,
+                                                         UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x350, &x351, x342,
+                                                         UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x352, &x353, x342,
+                                                         UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x354, &x355, x342,
+                                                         UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x356, &x357, x342,
+                                                         UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x358, &x359, x342,
+                                                         UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x360, &x361, 0x0,
+                                                              x359, x356);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x362, &x363,
+                                                              x361, x357, x354);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x364, &x365,
+                                                              x363, x355, x352);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x366, &x367,
+                                                              x365, x353, x350);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x368, &x369,
+                                                              x367, x351, x348);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x370, &x371,
+                                                              x369, x349, x346);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x372, &x373,
+                                                              x371, x347, x344);
+    x374 = (x373 + x345);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x375, &x376, 0x0,
+                                                              x324, x358);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x377, &x378,
+                                                              x376, x326, x360);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x379, &x380,
+                                                              x378, x328, x362);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x381, &x382,
+                                                              x380, x330, x364);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x383, &x384,
+                                                              x382, x332, x366);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x385, &x386,
+                                                              x384, x334, x368);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x387, &x388,
+                                                              x386, x336, x370);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x389, &x390,
+                                                              x388, x338, x372);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x391, &x392,
+                                                              x390, x340, x374);
+    x393 = ((uint32_t)x392 + x341);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x394, &x395, x4,
+                                                         (arg2[7]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x396, &x397, x4,
+                                                         (arg2[6]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x398, &x399, x4,
+                                                         (arg2[5]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x400, &x401, x4,
+                                                         (arg2[4]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x402, &x403, x4,
+                                                         (arg2[3]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x404, &x405, x4,
+                                                         (arg2[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x406, &x407, x4,
+                                                         (arg2[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x408, &x409, x4,
+                                                         (arg2[0]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x410, &x411, 0x0,
+                                                              x409, x406);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x412, &x413,
+                                                              x411, x407, x404);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x414, &x415,
+                                                              x413, x405, x402);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x416, &x417,
+                                                              x415, x403, x400);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x418, &x419,
+                                                              x417, x401, x398);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x420, &x421,
+                                                              x419, x399, x396);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x422, &x423,
+                                                              x421, x397, x394);
+    x424 = (x423 + x395);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x425, &x426, 0x0,
+                                                              x377, x408);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x427, &x428,
+                                                              x426, x379, x410);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x429, &x430,
+                                                              x428, x381, x412);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x431, &x432,
+                                                              x430, x383, x414);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x433, &x434,
+                                                              x432, x385, x416);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x435, &x436,
+                                                              x434, x387, x418);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x437, &x438,
+                                                              x436, x389, x420);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x439, &x440,
+                                                              x438, x391, x422);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x441, &x442,
+                                                              x440, x393, x424);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x443, &x444, x425,
+                                                         UINT32_C(0x727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x445, &x446, x443,
+                                                         UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x447, &x448, x443,
+                                                         UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x449, &x450, x443,
+                                                         UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x451, &x452, x443,
+                                                         UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x453, &x454, x443,
+                                                         UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x455, &x456, x443,
+                                                         UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x457, &x458, x443,
+                                                         UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x459, &x460, x443,
+                                                         UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x461, &x462, 0x0,
+                                                              x460, x457);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x463, &x464,
+                                                              x462, x458, x455);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x465, &x466,
+                                                              x464, x456, x453);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x467, &x468,
+                                                              x466, x454, x451);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x469, &x470,
+                                                              x468, x452, x449);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x471, &x472,
+                                                              x470, x450, x447);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x473, &x474,
+                                                              x472, x448, x445);
+    x475 = (x474 + x446);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x476, &x477, 0x0,
+                                                              x425, x459);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x478, &x479,
+                                                              x477, x427, x461);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x480, &x481,
+                                                              x479, x429, x463);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x482, &x483,
+                                                              x481, x431, x465);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x484, &x485,
+                                                              x483, x433, x467);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x486, &x487,
+                                                              x485, x435, x469);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x488, &x489,
+                                                              x487, x437, x471);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x490, &x491,
+                                                              x489, x439, x473);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x492, &x493,
+                                                              x491, x441, x475);
+    x494 = ((uint32_t)x493 + x442);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x495, &x496, x5,
+                                                         (arg2[7]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x497, &x498, x5,
+                                                         (arg2[6]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x499, &x500, x5,
+                                                         (arg2[5]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x501, &x502, x5,
+                                                         (arg2[4]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x503, &x504, x5,
+                                                         (arg2[3]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x505, &x506, x5,
+                                                         (arg2[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x507, &x508, x5,
+                                                         (arg2[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x509, &x510, x5,
+                                                         (arg2[0]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x511, &x512, 0x0,
+                                                              x510, x507);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x513, &x514,
+                                                              x512, x508, x505);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x515, &x516,
+                                                              x514, x506, x503);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x517, &x518,
+                                                              x516, x504, x501);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x519, &x520,
+                                                              x518, x502, x499);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x521, &x522,
+                                                              x520, x500, x497);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x523, &x524,
+                                                              x522, x498, x495);
+    x525 = (x524 + x496);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x526, &x527, 0x0,
+                                                              x478, x509);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x528, &x529,
+                                                              x527, x480, x511);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x530, &x531,
+                                                              x529, x482, x513);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x532, &x533,
+                                                              x531, x484, x515);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x534, &x535,
+                                                              x533, x486, x517);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x536, &x537,
+                                                              x535, x488, x519);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x538, &x539,
+                                                              x537, x490, x521);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x540, &x541,
+                                                              x539, x492, x523);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x542, &x543,
+                                                              x541, x494, x525);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x544, &x545, x526,
+                                                         UINT32_C(0x727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x546, &x547, x544,
+                                                         UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x548, &x549, x544,
+                                                         UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x550, &x551, x544,
+                                                         UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x552, &x553, x544,
+                                                         UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x554, &x555, x544,
+                                                         UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x556, &x557, x544,
+                                                         UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x558, &x559, x544,
+                                                         UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x560, &x561, x544,
+                                                         UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x562, &x563, 0x0,
+                                                              x561, x558);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x564, &x565,
+                                                              x563, x559, x556);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x566, &x567,
+                                                              x565, x557, x554);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x568, &x569,
+                                                              x567, x555, x552);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x570, &x571,
+                                                              x569, x553, x550);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x572, &x573,
+                                                              x571, x551, x548);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x574, &x575,
+                                                              x573, x549, x546);
+    x576 = (x575 + x547);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x577, &x578, 0x0,
+                                                              x526, x560);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x579, &x580,
+                                                              x578, x528, x562);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x581, &x582,
+                                                              x580, x530, x564);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x583, &x584,
+                                                              x582, x532, x566);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x585, &x586,
+                                                              x584, x534, x568);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x587, &x588,
+                                                              x586, x536, x570);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x589, &x590,
+                                                              x588, x538, x572);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x591, &x592,
+                                                              x590, x540, x574);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x593, &x594,
+                                                              x592, x542, x576);
+    x595 = ((uint32_t)x594 + x543);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x596, &x597, x6,
+                                                         (arg2[7]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x598, &x599, x6,
+                                                         (arg2[6]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x600, &x601, x6,
+                                                         (arg2[5]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x602, &x603, x6,
+                                                         (arg2[4]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x604, &x605, x6,
+                                                         (arg2[3]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x606, &x607, x6,
+                                                         (arg2[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x608, &x609, x6,
+                                                         (arg2[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x610, &x611, x6,
+                                                         (arg2[0]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x612, &x613, 0x0,
+                                                              x611, x608);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x614, &x615,
+                                                              x613, x609, x606);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x616, &x617,
+                                                              x615, x607, x604);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x618, &x619,
+                                                              x617, x605, x602);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x620, &x621,
+                                                              x619, x603, x600);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x622, &x623,
+                                                              x621, x601, x598);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x624, &x625,
+                                                              x623, x599, x596);
+    x626 = (x625 + x597);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x627, &x628, 0x0,
+                                                              x579, x610);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x629, &x630,
+                                                              x628, x581, x612);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x631, &x632,
+                                                              x630, x583, x614);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x633, &x634,
+                                                              x632, x585, x616);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x635, &x636,
+                                                              x634, x587, x618);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x637, &x638,
+                                                              x636, x589, x620);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x639, &x640,
+                                                              x638, x591, x622);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x641, &x642,
+                                                              x640, x593, x624);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x643, &x644,
+                                                              x642, x595, x626);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x645, &x646, x627,
+                                                         UINT32_C(0x727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x647, &x648, x645,
+                                                         UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x649, &x650, x645,
+                                                         UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x651, &x652, x645,
+                                                         UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x653, &x654, x645,
+                                                         UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x655, &x656, x645,
+                                                         UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x657, &x658, x645,
+                                                         UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x659, &x660, x645,
+                                                         UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x661, &x662, x645,
+                                                         UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x663, &x664, 0x0,
+                                                              x662, x659);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x665, &x666,
+                                                              x664, x660, x657);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x667, &x668,
+                                                              x666, x658, x655);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x669, &x670,
+                                                              x668, x656, x653);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x671, &x672,
+                                                              x670, x654, x651);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x673, &x674,
+                                                              x672, x652, x649);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x675, &x676,
+                                                              x674, x650, x647);
+    x677 = (x676 + x648);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x678, &x679, 0x0,
+                                                              x627, x661);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x680, &x681,
+                                                              x679, x629, x663);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x682, &x683,
+                                                              x681, x631, x665);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x684, &x685,
+                                                              x683, x633, x667);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x686, &x687,
+                                                              x685, x635, x669);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x688, &x689,
+                                                              x687, x637, x671);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x690, &x691,
+                                                              x689, x639, x673);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x692, &x693,
+                                                              x691, x641, x675);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x694, &x695,
+                                                              x693, x643, x677);
+    x696 = ((uint32_t)x695 + x644);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x697, &x698, x7,
+                                                         (arg2[7]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x699, &x700, x7,
+                                                         (arg2[6]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x701, &x702, x7,
+                                                         (arg2[5]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x703, &x704, x7,
+                                                         (arg2[4]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x705, &x706, x7,
+                                                         (arg2[3]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x707, &x708, x7,
+                                                         (arg2[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x709, &x710, x7,
+                                                         (arg2[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x711, &x712, x7,
+                                                         (arg2[0]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x713, &x714, 0x0,
+                                                              x712, x709);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x715, &x716,
+                                                              x714, x710, x707);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x717, &x718,
+                                                              x716, x708, x705);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x719, &x720,
+                                                              x718, x706, x703);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x721, &x722,
+                                                              x720, x704, x701);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x723, &x724,
+                                                              x722, x702, x699);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x725, &x726,
+                                                              x724, x700, x697);
+    x727 = (x726 + x698);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x728, &x729, 0x0,
+                                                              x680, x711);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x730, &x731,
+                                                              x729, x682, x713);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x732, &x733,
+                                                              x731, x684, x715);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x734, &x735,
+                                                              x733, x686, x717);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x736, &x737,
+                                                              x735, x688, x719);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x738, &x739,
+                                                              x737, x690, x721);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x740, &x741,
+                                                              x739, x692, x723);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x742, &x743,
+                                                              x741, x694, x725);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x744, &x745,
+                                                              x743, x696, x727);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x746, &x747, x728,
+                                                         UINT32_C(0x727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x748, &x749, x746,
+                                                         UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x750, &x751, x746,
+                                                         UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x752, &x753, x746,
+                                                         UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x754, &x755, x746,
+                                                         UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x756, &x757, x746,
+                                                         UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x758, &x759, x746,
+                                                         UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x760, &x761, x746,
+                                                         UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x762, &x763, x746,
+                                                         UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x764, &x765, 0x0,
+                                                              x763, x760);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x766, &x767,
+                                                              x765, x761, x758);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x768, &x769,
+                                                              x767, x759, x756);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x770, &x771,
+                                                              x769, x757, x754);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x772, &x773,
+                                                              x771, x755, x752);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x774, &x775,
+                                                              x773, x753, x750);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x776, &x777,
+                                                              x775, x751, x748);
+    x778 = (x777 + x749);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x779, &x780, 0x0,
+                                                              x728, x762);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x781, &x782,
+                                                              x780, x730, x764);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x783, &x784,
+                                                              x782, x732, x766);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x785, &x786,
+                                                              x784, x734, x768);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x787, &x788,
+                                                              x786, x736, x770);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x789, &x790,
+                                                              x788, x738, x772);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x791, &x792,
+                                                              x790, x740, x774);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x793, &x794,
+                                                              x792, x742, x776);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x795, &x796,
+                                                              x794, x744, x778);
+    x797 = ((uint32_t)x796 + x745);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x798, &x799, 0x0, x781, UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x800, &x801, x799, x783, UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x802, &x803, x801, x785, UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x804, &x805, x803, x787, UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x806, &x807, x805, x789, UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x808, &x809, x807, x791, UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x810, &x811, x809, x793, UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x812, &x813, x811, x795, UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x814, &x815,
+                                                               x813, x797, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x816, x815, x798,
+                                                            x781);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x817, x815, x800,
+                                                            x783);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x818, x815, x802,
+                                                            x785);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x819, x815, x804,
+                                                            x787);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x820, x815, x806,
+                                                            x789);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x821, x815, x808,
+                                                            x791);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x822, x815, x810,
+                                                            x793);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x823, x815, x812,
+                                                            x795);
+    out1[0] = x816;
+    out1[1] = x817;
+    out1[2] = x818;
+    out1[3] = x819;
+    out1[4] = x820;
+    out1[5] = x821;
+    out1[6] = x822;
+    out1[7] = x823;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square squares a field element in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg1)) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[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]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(
+    uint32_t out1[8], const uint32_t arg1[8]) {
+    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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x26;
+    uint32_t x27;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x28;
+    uint32_t x29;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x30;
+    uint32_t x31;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x32;
+    uint32_t x33;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x34;
+    uint32_t x35;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x36;
+    uint32_t x37;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 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;
+    uint32_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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x59;
+    uint32_t x60;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x61;
+    uint32_t x62;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x63;
+    uint32_t x64;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x65;
+    uint32_t x66;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x67;
+    uint32_t x68;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x69;
+    uint32_t x70;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x71;
+    uint32_t x72;
+    uint32_t x73;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x74;
+    uint32_t x75;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x76;
+    uint32_t x77;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x78;
+    uint32_t x79;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x80;
+    uint32_t x81;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x82;
+    uint32_t x83;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x84;
+    uint32_t x85;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x86;
+    uint32_t x87;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x88;
+    uint32_t x89;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x90;
+    uint32_t x91;
+    uint32_t x92;
+    uint32_t 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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x108;
+    uint32_t x109;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x110;
+    uint32_t x111;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x112;
+    uint32_t x113;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x114;
+    uint32_t x115;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x116;
+    uint32_t x117;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x118;
+    uint32_t x119;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x120;
+    uint32_t x121;
+    uint32_t x122;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x123;
+    uint32_t x124;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x125;
+    uint32_t x126;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x127;
+    uint32_t x128;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x129;
+    uint32_t x130;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x131;
+    uint32_t x132;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x133;
+    uint32_t x134;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x135;
+    uint32_t x136;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x137;
+    uint32_t x138;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x139;
+    uint32_t x140;
+    uint32_t x141;
+    uint32_t x142;
+    uint32_t x143;
+    uint32_t x144;
+    uint32_t x145;
+    uint32_t x146;
+    uint32_t x147;
+    uint32_t x148;
+    uint32_t x149;
+    uint32_t x150;
+    uint32_t x151;
+    uint32_t x152;
+    uint32_t x153;
+    uint32_t x154;
+    uint32_t x155;
+    uint32_t x156;
+    uint32_t x157;
+    uint32_t x158;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x159;
+    uint32_t x160;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x161;
+    uint32_t x162;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x163;
+    uint32_t x164;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x165;
+    uint32_t x166;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x167;
+    uint32_t x168;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x169;
+    uint32_t x170;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x171;
+    uint32_t x172;
+    uint32_t x173;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x174;
+    uint32_t x175;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x176;
+    uint32_t x177;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x178;
+    uint32_t x179;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x180;
+    uint32_t x181;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x182;
+    uint32_t x183;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x184;
+    uint32_t x185;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x186;
+    uint32_t x187;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x188;
+    uint32_t x189;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x190;
+    uint32_t x191;
+    uint32_t x192;
+    uint32_t x193;
+    uint32_t x194;
+    uint32_t x195;
+    uint32_t x196;
+    uint32_t x197;
+    uint32_t x198;
+    uint32_t x199;
+    uint32_t x200;
+    uint32_t x201;
+    uint32_t x202;
+    uint32_t x203;
+    uint32_t x204;
+    uint32_t x205;
+    uint32_t x206;
+    uint32_t x207;
+    uint32_t x208;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x209;
+    uint32_t x210;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x211;
+    uint32_t x212;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x213;
+    uint32_t x214;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x215;
+    uint32_t x216;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x217;
+    uint32_t x218;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x219;
+    uint32_t x220;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x221;
+    uint32_t x222;
+    uint32_t x223;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x224;
+    uint32_t x225;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x226;
+    uint32_t x227;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x228;
+    uint32_t x229;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x230;
+    uint32_t x231;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x232;
+    uint32_t x233;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x234;
+    uint32_t x235;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x236;
+    uint32_t x237;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x238;
+    uint32_t x239;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x240;
+    uint32_t x241;
+    uint32_t x242;
+    uint32_t x243;
+    uint32_t x244;
+    uint32_t x245;
+    uint32_t x246;
+    uint32_t x247;
+    uint32_t x248;
+    uint32_t x249;
+    uint32_t x250;
+    uint32_t x251;
+    uint32_t x252;
+    uint32_t x253;
+    uint32_t x254;
+    uint32_t x255;
+    uint32_t x256;
+    uint32_t x257;
+    uint32_t x258;
+    uint32_t x259;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x260;
+    uint32_t x261;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x262;
+    uint32_t x263;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x264;
+    uint32_t x265;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x266;
+    uint32_t x267;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x268;
+    uint32_t x269;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x270;
+    uint32_t x271;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x272;
+    uint32_t x273;
+    uint32_t x274;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x275;
+    uint32_t x276;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x277;
+    uint32_t x278;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x279;
+    uint32_t x280;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x281;
+    uint32_t x282;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x283;
+    uint32_t x284;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x285;
+    uint32_t x286;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x287;
+    uint32_t x288;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x289;
+    uint32_t x290;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x291;
+    uint32_t x292;
+    uint32_t x293;
+    uint32_t x294;
+    uint32_t x295;
+    uint32_t x296;
+    uint32_t x297;
+    uint32_t x298;
+    uint32_t x299;
+    uint32_t x300;
+    uint32_t x301;
+    uint32_t x302;
+    uint32_t x303;
+    uint32_t x304;
+    uint32_t x305;
+    uint32_t x306;
+    uint32_t x307;
+    uint32_t x308;
+    uint32_t x309;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x310;
+    uint32_t x311;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x312;
+    uint32_t x313;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x314;
+    uint32_t x315;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x316;
+    uint32_t x317;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x318;
+    uint32_t x319;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x320;
+    uint32_t x321;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x322;
+    uint32_t x323;
+    uint32_t x324;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x325;
+    uint32_t x326;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x327;
+    uint32_t x328;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x329;
+    uint32_t x330;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x331;
+    uint32_t x332;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x333;
+    uint32_t x334;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x335;
+    uint32_t x336;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x337;
+    uint32_t x338;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x339;
+    uint32_t x340;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x341;
+    uint32_t x342;
+    uint32_t x343;
+    uint32_t x344;
+    uint32_t x345;
+    uint32_t x346;
+    uint32_t x347;
+    uint32_t x348;
+    uint32_t x349;
+    uint32_t x350;
+    uint32_t x351;
+    uint32_t x352;
+    uint32_t x353;
+    uint32_t x354;
+    uint32_t x355;
+    uint32_t x356;
+    uint32_t x357;
+    uint32_t x358;
+    uint32_t x359;
+    uint32_t x360;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x361;
+    uint32_t x362;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x363;
+    uint32_t x364;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x365;
+    uint32_t x366;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x367;
+    uint32_t x368;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x369;
+    uint32_t x370;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x371;
+    uint32_t x372;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x373;
+    uint32_t x374;
+    uint32_t x375;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x376;
+    uint32_t x377;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x378;
+    uint32_t x379;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x380;
+    uint32_t x381;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x382;
+    uint32_t x383;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x384;
+    uint32_t x385;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x386;
+    uint32_t x387;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x388;
+    uint32_t x389;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x390;
+    uint32_t x391;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x392;
+    uint32_t x393;
+    uint32_t x394;
+    uint32_t x395;
+    uint32_t x396;
+    uint32_t x397;
+    uint32_t x398;
+    uint32_t x399;
+    uint32_t x400;
+    uint32_t x401;
+    uint32_t x402;
+    uint32_t x403;
+    uint32_t x404;
+    uint32_t x405;
+    uint32_t x406;
+    uint32_t x407;
+    uint32_t x408;
+    uint32_t x409;
+    uint32_t x410;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x411;
+    uint32_t x412;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x413;
+    uint32_t x414;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x415;
+    uint32_t x416;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x417;
+    uint32_t x418;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x419;
+    uint32_t x420;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x421;
+    uint32_t x422;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x423;
+    uint32_t x424;
+    uint32_t x425;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x426;
+    uint32_t x427;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x428;
+    uint32_t x429;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x430;
+    uint32_t x431;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x432;
+    uint32_t x433;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x434;
+    uint32_t x435;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x436;
+    uint32_t x437;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x438;
+    uint32_t x439;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x440;
+    uint32_t x441;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x442;
+    uint32_t x443;
+    uint32_t x444;
+    uint32_t x445;
+    uint32_t x446;
+    uint32_t x447;
+    uint32_t x448;
+    uint32_t x449;
+    uint32_t x450;
+    uint32_t x451;
+    uint32_t x452;
+    uint32_t x453;
+    uint32_t x454;
+    uint32_t x455;
+    uint32_t x456;
+    uint32_t x457;
+    uint32_t x458;
+    uint32_t x459;
+    uint32_t x460;
+    uint32_t x461;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x462;
+    uint32_t x463;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x464;
+    uint32_t x465;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x466;
+    uint32_t x467;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x468;
+    uint32_t x469;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x470;
+    uint32_t x471;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x472;
+    uint32_t x473;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x474;
+    uint32_t x475;
+    uint32_t x476;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x477;
+    uint32_t x478;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x479;
+    uint32_t x480;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x481;
+    uint32_t x482;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x483;
+    uint32_t x484;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x485;
+    uint32_t x486;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x487;
+    uint32_t x488;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x489;
+    uint32_t x490;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x491;
+    uint32_t x492;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x493;
+    uint32_t x494;
+    uint32_t x495;
+    uint32_t x496;
+    uint32_t x497;
+    uint32_t x498;
+    uint32_t x499;
+    uint32_t x500;
+    uint32_t x501;
+    uint32_t x502;
+    uint32_t x503;
+    uint32_t x504;
+    uint32_t x505;
+    uint32_t x506;
+    uint32_t x507;
+    uint32_t x508;
+    uint32_t x509;
+    uint32_t x510;
+    uint32_t x511;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x512;
+    uint32_t x513;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x514;
+    uint32_t x515;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x516;
+    uint32_t x517;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x518;
+    uint32_t x519;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x520;
+    uint32_t x521;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x522;
+    uint32_t x523;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x524;
+    uint32_t x525;
+    uint32_t x526;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x527;
+    uint32_t x528;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x529;
+    uint32_t x530;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x531;
+    uint32_t x532;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x533;
+    uint32_t x534;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x535;
+    uint32_t x536;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x537;
+    uint32_t x538;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x539;
+    uint32_t x540;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x541;
+    uint32_t x542;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x543;
+    uint32_t x544;
+    uint32_t x545;
+    uint32_t x546;
+    uint32_t x547;
+    uint32_t x548;
+    uint32_t x549;
+    uint32_t x550;
+    uint32_t x551;
+    uint32_t x552;
+    uint32_t x553;
+    uint32_t x554;
+    uint32_t x555;
+    uint32_t x556;
+    uint32_t x557;
+    uint32_t x558;
+    uint32_t x559;
+    uint32_t x560;
+    uint32_t x561;
+    uint32_t x562;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x563;
+    uint32_t x564;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x565;
+    uint32_t x566;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x567;
+    uint32_t x568;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x569;
+    uint32_t x570;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x571;
+    uint32_t x572;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x573;
+    uint32_t x574;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x575;
+    uint32_t x576;
+    uint32_t x577;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x578;
+    uint32_t x579;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x580;
+    uint32_t x581;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x582;
+    uint32_t x583;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x584;
+    uint32_t x585;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x586;
+    uint32_t x587;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x588;
+    uint32_t x589;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x590;
+    uint32_t x591;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x592;
+    uint32_t x593;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x594;
+    uint32_t x595;
+    uint32_t x596;
+    uint32_t x597;
+    uint32_t x598;
+    uint32_t x599;
+    uint32_t x600;
+    uint32_t x601;
+    uint32_t x602;
+    uint32_t x603;
+    uint32_t x604;
+    uint32_t x605;
+    uint32_t x606;
+    uint32_t x607;
+    uint32_t x608;
+    uint32_t x609;
+    uint32_t x610;
+    uint32_t x611;
+    uint32_t x612;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x613;
+    uint32_t x614;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x615;
+    uint32_t x616;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x617;
+    uint32_t x618;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x619;
+    uint32_t x620;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x621;
+    uint32_t x622;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x623;
+    uint32_t x624;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x625;
+    uint32_t x626;
+    uint32_t x627;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x628;
+    uint32_t x629;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x630;
+    uint32_t x631;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x632;
+    uint32_t x633;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x634;
+    uint32_t x635;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x636;
+    uint32_t x637;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x638;
+    uint32_t x639;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x640;
+    uint32_t x641;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x642;
+    uint32_t x643;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x644;
+    uint32_t x645;
+    uint32_t x646;
+    uint32_t x647;
+    uint32_t x648;
+    uint32_t x649;
+    uint32_t x650;
+    uint32_t x651;
+    uint32_t x652;
+    uint32_t x653;
+    uint32_t x654;
+    uint32_t x655;
+    uint32_t x656;
+    uint32_t x657;
+    uint32_t x658;
+    uint32_t x659;
+    uint32_t x660;
+    uint32_t x661;
+    uint32_t x662;
+    uint32_t x663;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x664;
+    uint32_t x665;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x666;
+    uint32_t x667;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x668;
+    uint32_t x669;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x670;
+    uint32_t x671;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x672;
+    uint32_t x673;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x674;
+    uint32_t x675;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x676;
+    uint32_t x677;
+    uint32_t x678;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x679;
+    uint32_t x680;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x681;
+    uint32_t x682;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x683;
+    uint32_t x684;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x685;
+    uint32_t x686;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x687;
+    uint32_t x688;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x689;
+    uint32_t x690;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x691;
+    uint32_t x692;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x693;
+    uint32_t x694;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x695;
+    uint32_t x696;
+    uint32_t x697;
+    uint32_t x698;
+    uint32_t x699;
+    uint32_t x700;
+    uint32_t x701;
+    uint32_t x702;
+    uint32_t x703;
+    uint32_t x704;
+    uint32_t x705;
+    uint32_t x706;
+    uint32_t x707;
+    uint32_t x708;
+    uint32_t x709;
+    uint32_t x710;
+    uint32_t x711;
+    uint32_t x712;
+    uint32_t x713;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x714;
+    uint32_t x715;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x716;
+    uint32_t x717;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x718;
+    uint32_t x719;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x720;
+    uint32_t x721;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x722;
+    uint32_t x723;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x724;
+    uint32_t x725;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x726;
+    uint32_t x727;
+    uint32_t x728;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x729;
+    uint32_t x730;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x731;
+    uint32_t x732;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x733;
+    uint32_t x734;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x735;
+    uint32_t x736;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x737;
+    uint32_t x738;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x739;
+    uint32_t x740;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x741;
+    uint32_t x742;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x743;
+    uint32_t x744;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x745;
+    uint32_t x746;
+    uint32_t x747;
+    uint32_t x748;
+    uint32_t x749;
+    uint32_t x750;
+    uint32_t x751;
+    uint32_t x752;
+    uint32_t x753;
+    uint32_t x754;
+    uint32_t x755;
+    uint32_t x756;
+    uint32_t x757;
+    uint32_t x758;
+    uint32_t x759;
+    uint32_t x760;
+    uint32_t x761;
+    uint32_t x762;
+    uint32_t x763;
+    uint32_t x764;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x765;
+    uint32_t x766;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x767;
+    uint32_t x768;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x769;
+    uint32_t x770;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x771;
+    uint32_t x772;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x773;
+    uint32_t x774;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x775;
+    uint32_t x776;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x777;
+    uint32_t x778;
+    uint32_t x779;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x780;
+    uint32_t x781;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x782;
+    uint32_t x783;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x784;
+    uint32_t x785;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x786;
+    uint32_t x787;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x788;
+    uint32_t x789;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x790;
+    uint32_t x791;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x792;
+    uint32_t x793;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x794;
+    uint32_t x795;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x796;
+    uint32_t x797;
+    uint32_t x798;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x799;
+    uint32_t x800;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x801;
+    uint32_t x802;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x803;
+    uint32_t x804;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x805;
+    uint32_t x806;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x807;
+    uint32_t x808;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x809;
+    uint32_t x810;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x811;
+    uint32_t x812;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x813;
+    uint32_t x814;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x815;
+    uint32_t x816;
+    uint32_t x817;
+    uint32_t x818;
+    uint32_t x819;
+    uint32_t x820;
+    uint32_t x821;
+    uint32_t x822;
+    uint32_t x823;
+    x1 = (arg1[1]);
+    x2 = (arg1[2]);
+    x3 = (arg1[3]);
+    x4 = (arg1[4]);
+    x5 = (arg1[5]);
+    x6 = (arg1[6]);
+    x7 = (arg1[7]);
+    x8 = (arg1[0]);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x9, &x10, x8,
+                                                         (arg1[7]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x11, &x12, x8,
+                                                         (arg1[6]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x13, &x14, x8,
+                                                         (arg1[5]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x15, &x16, x8,
+                                                         (arg1[4]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x17, &x18, x8,
+                                                         (arg1[3]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x19, &x20, x8,
+                                                         (arg1[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x21, &x22, x8,
+                                                         (arg1[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x23, &x24, x8,
+                                                         (arg1[0]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x25, &x26, 0x0,
+                                                              x24, x21);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x27, &x28, x26,
+                                                              x22, x19);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x29, &x30, x28,
+                                                              x20, x17);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x31, &x32, x30,
+                                                              x18, x15);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x33, &x34, x32,
+                                                              x16, x13);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x35, &x36, x34,
+                                                              x14, x11);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x37, &x38, x36,
+                                                              x12, x9);
+    x39 = (x38 + x10);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x40, &x41, x23,
+                                                         UINT32_C(0x727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x42, &x43, x40,
+                                                         UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x44, &x45, x40,
+                                                         UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x46, &x47, x40,
+                                                         UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x48, &x49, x40,
+                                                         UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x50, &x51, x40,
+                                                         UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x52, &x53, x40,
+                                                         UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x54, &x55, x40,
+                                                         UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x56, &x57, x40,
+                                                         UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x58, &x59, 0x0,
+                                                              x57, x54);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x60, &x61, x59,
+                                                              x55, x52);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x62, &x63, x61,
+                                                              x53, x50);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x64, &x65, x63,
+                                                              x51, x48);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x66, &x67, x65,
+                                                              x49, x46);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x68, &x69, x67,
+                                                              x47, x44);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x70, &x71, x69,
+                                                              x45, x42);
+    x72 = (x71 + x43);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x73, &x74, 0x0,
+                                                              x23, x56);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x75, &x76, x74,
+                                                              x25, x58);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x77, &x78, x76,
+                                                              x27, x60);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x79, &x80, x78,
+                                                              x29, x62);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x81, &x82, x80,
+                                                              x31, x64);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x83, &x84, x82,
+                                                              x33, x66);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x85, &x86, x84,
+                                                              x35, x68);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x87, &x88, x86,
+                                                              x37, x70);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x89, &x90, x88,
+                                                              x39, x72);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x91, &x92, x1,
+                                                         (arg1[7]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x93, &x94, x1,
+                                                         (arg1[6]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x95, &x96, x1,
+                                                         (arg1[5]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x97, &x98, x1,
+                                                         (arg1[4]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x99, &x100, x1,
+                                                         (arg1[3]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x101, &x102, x1,
+                                                         (arg1[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x103, &x104, x1,
+                                                         (arg1[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x105, &x106, x1,
+                                                         (arg1[0]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x107, &x108, 0x0,
+                                                              x106, x103);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x109, &x110,
+                                                              x108, x104, x101);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x111, &x112,
+                                                              x110, x102, x99);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x113, &x114,
+                                                              x112, x100, x97);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x115, &x116,
+                                                              x114, x98, x95);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x117, &x118,
+                                                              x116, x96, x93);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x119, &x120,
+                                                              x118, x94, x91);
+    x121 = (x120 + x92);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x122, &x123, 0x0,
+                                                              x75, x105);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x124, &x125,
+                                                              x123, x77, x107);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x126, &x127,
+                                                              x125, x79, x109);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x128, &x129,
+                                                              x127, x81, x111);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x130, &x131,
+                                                              x129, x83, x113);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x132, &x133,
+                                                              x131, x85, x115);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x134, &x135,
+                                                              x133, x87, x117);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x136, &x137,
+                                                              x135, x89, x119);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x138, &x139,
+                                                              x137, x90, x121);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x140, &x141, x122,
+                                                         UINT32_C(0x727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x142, &x143, x140,
+                                                         UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x144, &x145, x140,
+                                                         UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x146, &x147, x140,
+                                                         UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x148, &x149, x140,
+                                                         UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x150, &x151, x140,
+                                                         UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x152, &x153, x140,
+                                                         UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x154, &x155, x140,
+                                                         UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x156, &x157, x140,
+                                                         UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x158, &x159, 0x0,
+                                                              x157, x154);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x160, &x161,
+                                                              x159, x155, x152);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x162, &x163,
+                                                              x161, x153, x150);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x164, &x165,
+                                                              x163, x151, x148);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x166, &x167,
+                                                              x165, x149, x146);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x168, &x169,
+                                                              x167, x147, x144);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x170, &x171,
+                                                              x169, x145, x142);
+    x172 = (x171 + x143);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x173, &x174, 0x0,
+                                                              x122, x156);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x175, &x176,
+                                                              x174, x124, x158);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x177, &x178,
+                                                              x176, x126, x160);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x179, &x180,
+                                                              x178, x128, x162);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x181, &x182,
+                                                              x180, x130, x164);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x183, &x184,
+                                                              x182, x132, x166);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x185, &x186,
+                                                              x184, x134, x168);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x187, &x188,
+                                                              x186, x136, x170);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x189, &x190,
+                                                              x188, x138, x172);
+    x191 = ((uint32_t)x190 + x139);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x192, &x193, x2,
+                                                         (arg1[7]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x194, &x195, x2,
+                                                         (arg1[6]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x196, &x197, x2,
+                                                         (arg1[5]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x198, &x199, x2,
+                                                         (arg1[4]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x200, &x201, x2,
+                                                         (arg1[3]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x202, &x203, x2,
+                                                         (arg1[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x204, &x205, x2,
+                                                         (arg1[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x206, &x207, x2,
+                                                         (arg1[0]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x208, &x209, 0x0,
+                                                              x207, x204);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x210, &x211,
+                                                              x209, x205, x202);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x212, &x213,
+                                                              x211, x203, x200);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x214, &x215,
+                                                              x213, x201, x198);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x216, &x217,
+                                                              x215, x199, x196);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x218, &x219,
+                                                              x217, x197, x194);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x220, &x221,
+                                                              x219, x195, x192);
+    x222 = (x221 + x193);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x223, &x224, 0x0,
+                                                              x175, x206);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x225, &x226,
+                                                              x224, x177, x208);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x227, &x228,
+                                                              x226, x179, x210);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x229, &x230,
+                                                              x228, x181, x212);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x231, &x232,
+                                                              x230, x183, x214);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x233, &x234,
+                                                              x232, x185, x216);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x235, &x236,
+                                                              x234, x187, x218);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x237, &x238,
+                                                              x236, x189, x220);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x239, &x240,
+                                                              x238, x191, x222);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x241, &x242, x223,
+                                                         UINT32_C(0x727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x243, &x244, x241,
+                                                         UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x245, &x246, x241,
+                                                         UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x247, &x248, x241,
+                                                         UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x249, &x250, x241,
+                                                         UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x251, &x252, x241,
+                                                         UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x253, &x254, x241,
+                                                         UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x255, &x256, x241,
+                                                         UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x257, &x258, x241,
+                                                         UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x259, &x260, 0x0,
+                                                              x258, x255);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x261, &x262,
+                                                              x260, x256, x253);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x263, &x264,
+                                                              x262, x254, x251);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x265, &x266,
+                                                              x264, x252, x249);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x267, &x268,
+                                                              x266, x250, x247);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x269, &x270,
+                                                              x268, x248, x245);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x271, &x272,
+                                                              x270, x246, x243);
+    x273 = (x272 + x244);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x274, &x275, 0x0,
+                                                              x223, x257);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x276, &x277,
+                                                              x275, x225, x259);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x278, &x279,
+                                                              x277, x227, x261);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x280, &x281,
+                                                              x279, x229, x263);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x282, &x283,
+                                                              x281, x231, x265);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x284, &x285,
+                                                              x283, x233, x267);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x286, &x287,
+                                                              x285, x235, x269);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x288, &x289,
+                                                              x287, x237, x271);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x290, &x291,
+                                                              x289, x239, x273);
+    x292 = ((uint32_t)x291 + x240);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x293, &x294, x3,
+                                                         (arg1[7]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x295, &x296, x3,
+                                                         (arg1[6]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x297, &x298, x3,
+                                                         (arg1[5]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x299, &x300, x3,
+                                                         (arg1[4]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x301, &x302, x3,
+                                                         (arg1[3]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x303, &x304, x3,
+                                                         (arg1[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x305, &x306, x3,
+                                                         (arg1[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x307, &x308, x3,
+                                                         (arg1[0]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x309, &x310, 0x0,
+                                                              x308, x305);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x311, &x312,
+                                                              x310, x306, x303);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x313, &x314,
+                                                              x312, x304, x301);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x315, &x316,
+                                                              x314, x302, x299);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x317, &x318,
+                                                              x316, x300, x297);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x319, &x320,
+                                                              x318, x298, x295);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x321, &x322,
+                                                              x320, x296, x293);
+    x323 = (x322 + x294);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x324, &x325, 0x0,
+                                                              x276, x307);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x326, &x327,
+                                                              x325, x278, x309);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x328, &x329,
+                                                              x327, x280, x311);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x330, &x331,
+                                                              x329, x282, x313);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x332, &x333,
+                                                              x331, x284, x315);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x334, &x335,
+                                                              x333, x286, x317);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x336, &x337,
+                                                              x335, x288, x319);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x338, &x339,
+                                                              x337, x290, x321);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x340, &x341,
+                                                              x339, x292, x323);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x342, &x343, x324,
+                                                         UINT32_C(0x727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x344, &x345, x342,
+                                                         UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x346, &x347, x342,
+                                                         UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x348, &x349, x342,
+                                                         UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x350, &x351, x342,
+                                                         UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x352, &x353, x342,
+                                                         UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x354, &x355, x342,
+                                                         UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x356, &x357, x342,
+                                                         UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x358, &x359, x342,
+                                                         UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x360, &x361, 0x0,
+                                                              x359, x356);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x362, &x363,
+                                                              x361, x357, x354);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x364, &x365,
+                                                              x363, x355, x352);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x366, &x367,
+                                                              x365, x353, x350);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x368, &x369,
+                                                              x367, x351, x348);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x370, &x371,
+                                                              x369, x349, x346);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x372, &x373,
+                                                              x371, x347, x344);
+    x374 = (x373 + x345);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x375, &x376, 0x0,
+                                                              x324, x358);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x377, &x378,
+                                                              x376, x326, x360);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x379, &x380,
+                                                              x378, x328, x362);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x381, &x382,
+                                                              x380, x330, x364);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x383, &x384,
+                                                              x382, x332, x366);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x385, &x386,
+                                                              x384, x334, x368);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x387, &x388,
+                                                              x386, x336, x370);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x389, &x390,
+                                                              x388, x338, x372);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x391, &x392,
+                                                              x390, x340, x374);
+    x393 = ((uint32_t)x392 + x341);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x394, &x395, x4,
+                                                         (arg1[7]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x396, &x397, x4,
+                                                         (arg1[6]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x398, &x399, x4,
+                                                         (arg1[5]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x400, &x401, x4,
+                                                         (arg1[4]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x402, &x403, x4,
+                                                         (arg1[3]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x404, &x405, x4,
+                                                         (arg1[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x406, &x407, x4,
+                                                         (arg1[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x408, &x409, x4,
+                                                         (arg1[0]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x410, &x411, 0x0,
+                                                              x409, x406);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x412, &x413,
+                                                              x411, x407, x404);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x414, &x415,
+                                                              x413, x405, x402);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x416, &x417,
+                                                              x415, x403, x400);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x418, &x419,
+                                                              x417, x401, x398);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x420, &x421,
+                                                              x419, x399, x396);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x422, &x423,
+                                                              x421, x397, x394);
+    x424 = (x423 + x395);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x425, &x426, 0x0,
+                                                              x377, x408);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x427, &x428,
+                                                              x426, x379, x410);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x429, &x430,
+                                                              x428, x381, x412);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x431, &x432,
+                                                              x430, x383, x414);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x433, &x434,
+                                                              x432, x385, x416);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x435, &x436,
+                                                              x434, x387, x418);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x437, &x438,
+                                                              x436, x389, x420);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x439, &x440,
+                                                              x438, x391, x422);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x441, &x442,
+                                                              x440, x393, x424);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x443, &x444, x425,
+                                                         UINT32_C(0x727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x445, &x446, x443,
+                                                         UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x447, &x448, x443,
+                                                         UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x449, &x450, x443,
+                                                         UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x451, &x452, x443,
+                                                         UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x453, &x454, x443,
+                                                         UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x455, &x456, x443,
+                                                         UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x457, &x458, x443,
+                                                         UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x459, &x460, x443,
+                                                         UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x461, &x462, 0x0,
+                                                              x460, x457);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x463, &x464,
+                                                              x462, x458, x455);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x465, &x466,
+                                                              x464, x456, x453);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x467, &x468,
+                                                              x466, x454, x451);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x469, &x470,
+                                                              x468, x452, x449);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x471, &x472,
+                                                              x470, x450, x447);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x473, &x474,
+                                                              x472, x448, x445);
+    x475 = (x474 + x446);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x476, &x477, 0x0,
+                                                              x425, x459);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x478, &x479,
+                                                              x477, x427, x461);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x480, &x481,
+                                                              x479, x429, x463);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x482, &x483,
+                                                              x481, x431, x465);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x484, &x485,
+                                                              x483, x433, x467);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x486, &x487,
+                                                              x485, x435, x469);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x488, &x489,
+                                                              x487, x437, x471);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x490, &x491,
+                                                              x489, x439, x473);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x492, &x493,
+                                                              x491, x441, x475);
+    x494 = ((uint32_t)x493 + x442);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x495, &x496, x5,
+                                                         (arg1[7]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x497, &x498, x5,
+                                                         (arg1[6]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x499, &x500, x5,
+                                                         (arg1[5]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x501, &x502, x5,
+                                                         (arg1[4]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x503, &x504, x5,
+                                                         (arg1[3]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x505, &x506, x5,
+                                                         (arg1[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x507, &x508, x5,
+                                                         (arg1[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x509, &x510, x5,
+                                                         (arg1[0]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x511, &x512, 0x0,
+                                                              x510, x507);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x513, &x514,
+                                                              x512, x508, x505);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x515, &x516,
+                                                              x514, x506, x503);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x517, &x518,
+                                                              x516, x504, x501);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x519, &x520,
+                                                              x518, x502, x499);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x521, &x522,
+                                                              x520, x500, x497);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x523, &x524,
+                                                              x522, x498, x495);
+    x525 = (x524 + x496);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x526, &x527, 0x0,
+                                                              x478, x509);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x528, &x529,
+                                                              x527, x480, x511);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x530, &x531,
+                                                              x529, x482, x513);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x532, &x533,
+                                                              x531, x484, x515);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x534, &x535,
+                                                              x533, x486, x517);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x536, &x537,
+                                                              x535, x488, x519);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x538, &x539,
+                                                              x537, x490, x521);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x540, &x541,
+                                                              x539, x492, x523);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x542, &x543,
+                                                              x541, x494, x525);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x544, &x545, x526,
+                                                         UINT32_C(0x727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x546, &x547, x544,
+                                                         UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x548, &x549, x544,
+                                                         UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x550, &x551, x544,
+                                                         UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x552, &x553, x544,
+                                                         UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x554, &x555, x544,
+                                                         UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x556, &x557, x544,
+                                                         UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x558, &x559, x544,
+                                                         UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x560, &x561, x544,
+                                                         UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x562, &x563, 0x0,
+                                                              x561, x558);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x564, &x565,
+                                                              x563, x559, x556);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x566, &x567,
+                                                              x565, x557, x554);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x568, &x569,
+                                                              x567, x555, x552);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x570, &x571,
+                                                              x569, x553, x550);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x572, &x573,
+                                                              x571, x551, x548);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x574, &x575,
+                                                              x573, x549, x546);
+    x576 = (x575 + x547);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x577, &x578, 0x0,
+                                                              x526, x560);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x579, &x580,
+                                                              x578, x528, x562);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x581, &x582,
+                                                              x580, x530, x564);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x583, &x584,
+                                                              x582, x532, x566);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x585, &x586,
+                                                              x584, x534, x568);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x587, &x588,
+                                                              x586, x536, x570);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x589, &x590,
+                                                              x588, x538, x572);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x591, &x592,
+                                                              x590, x540, x574);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x593, &x594,
+                                                              x592, x542, x576);
+    x595 = ((uint32_t)x594 + x543);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x596, &x597, x6,
+                                                         (arg1[7]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x598, &x599, x6,
+                                                         (arg1[6]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x600, &x601, x6,
+                                                         (arg1[5]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x602, &x603, x6,
+                                                         (arg1[4]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x604, &x605, x6,
+                                                         (arg1[3]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x606, &x607, x6,
+                                                         (arg1[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x608, &x609, x6,
+                                                         (arg1[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x610, &x611, x6,
+                                                         (arg1[0]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x612, &x613, 0x0,
+                                                              x611, x608);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x614, &x615,
+                                                              x613, x609, x606);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x616, &x617,
+                                                              x615, x607, x604);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x618, &x619,
+                                                              x617, x605, x602);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x620, &x621,
+                                                              x619, x603, x600);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x622, &x623,
+                                                              x621, x601, x598);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x624, &x625,
+                                                              x623, x599, x596);
+    x626 = (x625 + x597);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x627, &x628, 0x0,
+                                                              x579, x610);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x629, &x630,
+                                                              x628, x581, x612);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x631, &x632,
+                                                              x630, x583, x614);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x633, &x634,
+                                                              x632, x585, x616);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x635, &x636,
+                                                              x634, x587, x618);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x637, &x638,
+                                                              x636, x589, x620);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x639, &x640,
+                                                              x638, x591, x622);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x641, &x642,
+                                                              x640, x593, x624);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x643, &x644,
+                                                              x642, x595, x626);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x645, &x646, x627,
+                                                         UINT32_C(0x727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x647, &x648, x645,
+                                                         UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x649, &x650, x645,
+                                                         UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x651, &x652, x645,
+                                                         UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x653, &x654, x645,
+                                                         UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x655, &x656, x645,
+                                                         UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x657, &x658, x645,
+                                                         UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x659, &x660, x645,
+                                                         UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x661, &x662, x645,
+                                                         UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x663, &x664, 0x0,
+                                                              x662, x659);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x665, &x666,
+                                                              x664, x660, x657);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x667, &x668,
+                                                              x666, x658, x655);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x669, &x670,
+                                                              x668, x656, x653);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x671, &x672,
+                                                              x670, x654, x651);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x673, &x674,
+                                                              x672, x652, x649);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x675, &x676,
+                                                              x674, x650, x647);
+    x677 = (x676 + x648);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x678, &x679, 0x0,
+                                                              x627, x661);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x680, &x681,
+                                                              x679, x629, x663);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x682, &x683,
+                                                              x681, x631, x665);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x684, &x685,
+                                                              x683, x633, x667);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x686, &x687,
+                                                              x685, x635, x669);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x688, &x689,
+                                                              x687, x637, x671);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x690, &x691,
+                                                              x689, x639, x673);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x692, &x693,
+                                                              x691, x641, x675);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x694, &x695,
+                                                              x693, x643, x677);
+    x696 = ((uint32_t)x695 + x644);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x697, &x698, x7,
+                                                         (arg1[7]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x699, &x700, x7,
+                                                         (arg1[6]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x701, &x702, x7,
+                                                         (arg1[5]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x703, &x704, x7,
+                                                         (arg1[4]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x705, &x706, x7,
+                                                         (arg1[3]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x707, &x708, x7,
+                                                         (arg1[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x709, &x710, x7,
+                                                         (arg1[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x711, &x712, x7,
+                                                         (arg1[0]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x713, &x714, 0x0,
+                                                              x712, x709);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x715, &x716,
+                                                              x714, x710, x707);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x717, &x718,
+                                                              x716, x708, x705);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x719, &x720,
+                                                              x718, x706, x703);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x721, &x722,
+                                                              x720, x704, x701);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x723, &x724,
+                                                              x722, x702, x699);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x725, &x726,
+                                                              x724, x700, x697);
+    x727 = (x726 + x698);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x728, &x729, 0x0,
+                                                              x680, x711);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x730, &x731,
+                                                              x729, x682, x713);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x732, &x733,
+                                                              x731, x684, x715);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x734, &x735,
+                                                              x733, x686, x717);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x736, &x737,
+                                                              x735, x688, x719);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x738, &x739,
+                                                              x737, x690, x721);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x740, &x741,
+                                                              x739, x692, x723);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x742, &x743,
+                                                              x741, x694, x725);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x744, &x745,
+                                                              x743, x696, x727);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x746, &x747, x728,
+                                                         UINT32_C(0x727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x748, &x749, x746,
+                                                         UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x750, &x751, x746,
+                                                         UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x752, &x753, x746,
+                                                         UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x754, &x755, x746,
+                                                         UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x756, &x757, x746,
+                                                         UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x758, &x759, x746,
+                                                         UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x760, &x761, x746,
+                                                         UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x762, &x763, x746,
+                                                         UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x764, &x765, 0x0,
+                                                              x763, x760);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x766, &x767,
+                                                              x765, x761, x758);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x768, &x769,
+                                                              x767, x759, x756);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x770, &x771,
+                                                              x769, x757, x754);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x772, &x773,
+                                                              x771, x755, x752);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x774, &x775,
+                                                              x773, x753, x750);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x776, &x777,
+                                                              x775, x751, x748);
+    x778 = (x777 + x749);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x779, &x780, 0x0,
+                                                              x728, x762);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x781, &x782,
+                                                              x780, x730, x764);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x783, &x784,
+                                                              x782, x732, x766);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x785, &x786,
+                                                              x784, x734, x768);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x787, &x788,
+                                                              x786, x736, x770);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x789, &x790,
+                                                              x788, x738, x772);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x791, &x792,
+                                                              x790, x740, x774);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x793, &x794,
+                                                              x792, x742, x776);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x795, &x796,
+                                                              x794, x744, x778);
+    x797 = ((uint32_t)x796 + x745);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x798, &x799, 0x0, x781, UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x800, &x801, x799, x783, UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x802, &x803, x801, x785, UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x804, &x805, x803, x787, UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x806, &x807, x805, x789, UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x808, &x809, x807, x791, UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x810, &x811, x809, x793, UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x812, &x813, x811, x795, UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x814, &x815,
+                                                               x813, x797, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x816, x815, x798,
+                                                            x781);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x817, x815, x800,
+                                                            x783);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x818, x815, x802,
+                                                            x785);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x819, x815, x804,
+                                                            x787);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x820, x815, x806,
+                                                            x789);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x821, x815, x808,
+                                                            x791);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x822, x815, x810,
+                                                            x793);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x823, x815, x812,
+                                                            x795);
+    out1[0] = x816;
+    out1[1] = x817;
+    out1[2] = x818;
+    out1[3] = x819;
+    out1[4] = x820;
+    out1[5] = x821;
+    out1[6] = x822;
+    out1[7] = x823;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add adds two field elements in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ *   0 ≤ eval arg2 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) + eval (from_montgomery arg2)) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ *   arg2: [[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]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(
+    uint32_t out1[8], const uint32_t arg1[8], const uint32_t arg2[8]) {
+    uint32_t x1;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x2;
+    uint32_t x3;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x4;
+    uint32_t x5;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x6;
+    uint32_t x7;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x8;
+    uint32_t x9;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x10;
+    uint32_t x11;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x12;
+    uint32_t x13;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x14;
+    uint32_t x15;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x16;
+    uint32_t x17;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x18;
+    uint32_t x19;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x20;
+    uint32_t x21;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x22;
+    uint32_t x23;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x24;
+    uint32_t x25;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x26;
+    uint32_t x27;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x28;
+    uint32_t x29;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x30;
+    uint32_t x31;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x32;
+    uint32_t x33;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x1, &x2, 0x0, (arg1[0]), (arg2[0]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x3, &x4, x2, (arg1[1]), (arg2[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x5, &x6, x4, (arg1[2]), (arg2[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x7, &x8, x6, (arg1[3]), (arg2[3]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x9, &x10, x8, (arg1[4]), (arg2[4]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x11, &x12, x10, (arg1[5]), (arg2[5]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x13, &x14, x12, (arg1[6]), (arg2[6]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x15, &x16, x14, (arg1[7]), (arg2[7]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x17, &x18, 0x0, x1, UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x19, &x20, x18, x3, UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x21, &x22, x20, x5, UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x23, &x24, x22, x7, UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x25, &x26, x24, x9, UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x27, &x28, x26, x11, UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x29, &x30, x28, x13, UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x31, &x32, x30, x15, UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x33, &x34, x32,
+                                                               x16, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x35, x34, x17, x1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x36, x34, x19, x3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x37, x34, x21, x5);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x38, x34, x23, x7);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x39, x34, x25, x9);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x40, x34, x27,
+                                                            x11);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x41, x34, x29,
+                                                            x13);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x42, x34, x31,
+                                                            x15);
+    out1[0] = x35;
+    out1[1] = x36;
+    out1[2] = x37;
+    out1[3] = x38;
+    out1[4] = x39;
+    out1[5] = x40;
+    out1[6] = x41;
+    out1[7] = x42;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub subtracts two field elements in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ *   0 ≤ eval arg2 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) - eval (from_montgomery arg2)) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ *   arg2: [[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]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(
+    uint32_t out1[8], const uint32_t arg1[8], const uint32_t arg2[8]) {
+    uint32_t x1;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x2;
+    uint32_t x3;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x4;
+    uint32_t x5;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x6;
+    uint32_t x7;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x8;
+    uint32_t x9;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x10;
+    uint32_t x11;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x12;
+    uint32_t x13;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x14;
+    uint32_t x15;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x16;
+    uint32_t x17;
+    uint32_t x18;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x19;
+    uint32_t x20;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x21;
+    uint32_t x22;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x23;
+    uint32_t x24;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x25;
+    uint32_t x26;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x27;
+    uint32_t x28;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x29;
+    uint32_t x30;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x31;
+    uint32_t x32;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x33;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x1, &x2, 0x0, (arg1[0]), (arg2[0]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x3, &x4, x2, (arg1[1]), (arg2[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x5, &x6, x4, (arg1[2]), (arg2[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x7, &x8, x6, (arg1[3]), (arg2[3]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x9, &x10, x8, (arg1[4]), (arg2[4]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x11, &x12, x10, (arg1[5]), (arg2[5]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x13, &x14, x12, (arg1[6]), (arg2[6]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x15, &x16, x14, (arg1[7]), (arg2[7]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
+        &x17, x16, 0x0, UINT32_C(0xffffffff));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x18, &x19, 0x0, x1, (x17 & UINT32_C(0x22d759b)));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x20, &x21, x19, x3, (x17 & UINT32_C(0x7998f7b9)));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x22, &x23, x21, x5, (x17 & UINT32_C(0x789051d3)));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x24, &x25, x23, x7, (x17 & UINT32_C(0xcf846e86)));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x26, &x27, x25, x9, (x17 & UINT32_C(0x6b41c8aa)));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x28, &x29, x27, x11, (x17 & UINT32_C(0xab1ec85e)));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x30, &x31, x29, x13, (x17 & UINT32_C(0x5a858107)));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x32, &x33, x31, x15, (x17 & UINT32_C(0x9b9f605f)));
+    out1[0] = x18;
+    out1[1] = x20;
+    out1[2] = x22;
+    out1[3] = x24;
+    out1[4] = x26;
+    out1[5] = x28;
+    out1[6] = x30;
+    out1[7] = x32;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp negates a field element in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = -eval (from_montgomery arg1) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[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]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(
+    uint32_t out1[8], const uint32_t arg1[8]) {
+    uint32_t x1;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x2;
+    uint32_t x3;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x4;
+    uint32_t x5;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x6;
+    uint32_t x7;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x8;
+    uint32_t x9;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x10;
+    uint32_t x11;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x12;
+    uint32_t x13;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x14;
+    uint32_t x15;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x16;
+    uint32_t x17;
+    uint32_t x18;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x19;
+    uint32_t x20;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x21;
+    uint32_t x22;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x23;
+    uint32_t x24;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x25;
+    uint32_t x26;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x27;
+    uint32_t x28;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x29;
+    uint32_t x30;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x31;
+    uint32_t x32;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x33;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x1, &x2, 0x0,
+                                                               0x0, (arg1[0]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x3, &x4, x2,
+                                                               0x0, (arg1[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x5, &x6, x4,
+                                                               0x0, (arg1[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x7, &x8, x6,
+                                                               0x0, (arg1[3]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x9, &x10, x8,
+                                                               0x0, (arg1[4]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x11, &x12, x10,
+                                                               0x0, (arg1[5]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x13, &x14, x12,
+                                                               0x0, (arg1[6]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x15, &x16, x14,
+                                                               0x0, (arg1[7]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
+        &x17, x16, 0x0, UINT32_C(0xffffffff));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x18, &x19, 0x0, x1, (x17 & UINT32_C(0x22d759b)));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x20, &x21, x19, x3, (x17 & UINT32_C(0x7998f7b9)));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x22, &x23, x21, x5, (x17 & UINT32_C(0x789051d3)));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x24, &x25, x23, x7, (x17 & UINT32_C(0xcf846e86)));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x26, &x27, x25, x9, (x17 & UINT32_C(0x6b41c8aa)));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x28, &x29, x27, x11, (x17 & UINT32_C(0xab1ec85e)));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x30, &x31, x29, x13, (x17 & UINT32_C(0x5a858107)));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x32, &x33, x31, x15, (x17 & UINT32_C(0x9b9f605f)));
+    out1[0] = x18;
+    out1[1] = x20;
+    out1[2] = x22;
+    out1[3] = x24;
+    out1[4] = x26;
+    out1[5] = x28;
+    out1[6] = x30;
+    out1[7] = x32;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery translates a field element out of the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   eval out1 mod m = (eval arg1 * ((2^32)⁻¹ mod m)^8) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[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]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(
+    uint32_t out1[8], const uint32_t arg1[8]) {
+    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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x21;
+    uint32_t x22;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x23;
+    uint32_t x24;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x25;
+    uint32_t x26;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x27;
+    uint32_t x28;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x29;
+    uint32_t x30;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x31;
+    uint32_t x32;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x33;
+    uint32_t x34;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x35;
+    uint32_t x36;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x37;
+    uint32_t x38;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x39;
+    uint32_t x40;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x41;
+    uint32_t x42;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x43;
+    uint32_t x44;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x45;
+    uint32_t x46;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x47;
+    uint32_t x48;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x49;
+    uint32_t x50;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x51;
+    uint32_t x52;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x53;
+    uint32_t x54;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x55;
+    uint32_t x56;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x57;
+    uint32_t x58;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x59;
+    uint32_t x60;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x61;
+    uint32_t x62;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x63;
+    uint32_t x64;
+    uint32_t x65;
+    uint32_t 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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x83;
+    uint32_t x84;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x85;
+    uint32_t x86;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x87;
+    uint32_t x88;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x89;
+    uint32_t x90;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x91;
+    uint32_t x92;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x93;
+    uint32_t x94;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x95;
+    uint32_t x96;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x97;
+    uint32_t x98;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x99;
+    uint32_t x100;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x101;
+    uint32_t x102;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x103;
+    uint32_t x104;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x105;
+    uint32_t x106;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x107;
+    uint32_t x108;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x109;
+    uint32_t x110;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x111;
+    uint32_t x112;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x113;
+    uint32_t x114;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x115;
+    uint32_t x116;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x117;
+    uint32_t x118;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x119;
+    uint32_t x120;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x121;
+    uint32_t x122;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x123;
+    uint32_t x124;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x125;
+    uint32_t x126;
+    uint32_t x127;
+    uint32_t x128;
+    uint32_t x129;
+    uint32_t x130;
+    uint32_t x131;
+    uint32_t x132;
+    uint32_t x133;
+    uint32_t x134;
+    uint32_t x135;
+    uint32_t x136;
+    uint32_t x137;
+    uint32_t x138;
+    uint32_t x139;
+    uint32_t x140;
+    uint32_t x141;
+    uint32_t x142;
+    uint32_t x143;
+    uint32_t x144;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x145;
+    uint32_t x146;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x147;
+    uint32_t x148;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x149;
+    uint32_t x150;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x151;
+    uint32_t x152;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x153;
+    uint32_t x154;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x155;
+    uint32_t x156;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x157;
+    uint32_t x158;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x159;
+    uint32_t x160;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x161;
+    uint32_t x162;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x163;
+    uint32_t x164;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x165;
+    uint32_t x166;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x167;
+    uint32_t x168;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x169;
+    uint32_t x170;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x171;
+    uint32_t x172;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x173;
+    uint32_t x174;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x175;
+    uint32_t x176;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x177;
+    uint32_t x178;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x179;
+    uint32_t x180;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x181;
+    uint32_t x182;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x183;
+    uint32_t x184;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x185;
+    uint32_t x186;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x187;
+    uint32_t x188;
+    uint32_t x189;
+    uint32_t x190;
+    uint32_t x191;
+    uint32_t x192;
+    uint32_t x193;
+    uint32_t x194;
+    uint32_t x195;
+    uint32_t x196;
+    uint32_t x197;
+    uint32_t x198;
+    uint32_t x199;
+    uint32_t x200;
+    uint32_t x201;
+    uint32_t x202;
+    uint32_t x203;
+    uint32_t x204;
+    uint32_t x205;
+    uint32_t x206;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x207;
+    uint32_t x208;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x209;
+    uint32_t x210;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x211;
+    uint32_t x212;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x213;
+    uint32_t x214;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x215;
+    uint32_t x216;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x217;
+    uint32_t x218;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x219;
+    uint32_t x220;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x221;
+    uint32_t x222;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x223;
+    uint32_t x224;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x225;
+    uint32_t x226;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x227;
+    uint32_t x228;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x229;
+    uint32_t x230;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x231;
+    uint32_t x232;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x233;
+    uint32_t x234;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x235;
+    uint32_t x236;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x237;
+    uint32_t x238;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x239;
+    uint32_t x240;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x241;
+    uint32_t x242;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x243;
+    uint32_t x244;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x245;
+    uint32_t x246;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x247;
+    uint32_t x248;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x249;
+    uint32_t x250;
+    uint32_t x251;
+    uint32_t x252;
+    uint32_t x253;
+    uint32_t x254;
+    uint32_t x255;
+    uint32_t x256;
+    uint32_t x257;
+    uint32_t x258;
+    uint32_t x259;
+    uint32_t x260;
+    uint32_t x261;
+    uint32_t x262;
+    uint32_t x263;
+    uint32_t x264;
+    uint32_t x265;
+    uint32_t x266;
+    uint32_t x267;
+    uint32_t x268;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x269;
+    uint32_t x270;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x271;
+    uint32_t x272;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x273;
+    uint32_t x274;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x275;
+    uint32_t x276;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x277;
+    uint32_t x278;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x279;
+    uint32_t x280;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x281;
+    uint32_t x282;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x283;
+    uint32_t x284;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x285;
+    uint32_t x286;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x287;
+    uint32_t x288;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x289;
+    uint32_t x290;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x291;
+    uint32_t x292;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x293;
+    uint32_t x294;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x295;
+    uint32_t x296;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x297;
+    uint32_t x298;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x299;
+    uint32_t x300;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x301;
+    uint32_t x302;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x303;
+    uint32_t x304;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x305;
+    uint32_t x306;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x307;
+    uint32_t x308;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x309;
+    uint32_t x310;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x311;
+    uint32_t x312;
+    uint32_t x313;
+    uint32_t x314;
+    uint32_t x315;
+    uint32_t x316;
+    uint32_t x317;
+    uint32_t x318;
+    uint32_t x319;
+    uint32_t x320;
+    uint32_t x321;
+    uint32_t x322;
+    uint32_t x323;
+    uint32_t x324;
+    uint32_t x325;
+    uint32_t x326;
+    uint32_t x327;
+    uint32_t x328;
+    uint32_t x329;
+    uint32_t x330;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x331;
+    uint32_t x332;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x333;
+    uint32_t x334;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x335;
+    uint32_t x336;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x337;
+    uint32_t x338;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x339;
+    uint32_t x340;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x341;
+    uint32_t x342;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x343;
+    uint32_t x344;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x345;
+    uint32_t x346;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x347;
+    uint32_t x348;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x349;
+    uint32_t x350;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x351;
+    uint32_t x352;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x353;
+    uint32_t x354;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x355;
+    uint32_t x356;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x357;
+    uint32_t x358;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x359;
+    uint32_t x360;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x361;
+    uint32_t x362;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x363;
+    uint32_t x364;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x365;
+    uint32_t x366;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x367;
+    uint32_t x368;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x369;
+    uint32_t x370;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x371;
+    uint32_t x372;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x373;
+    uint32_t x374;
+    uint32_t x375;
+    uint32_t x376;
+    uint32_t x377;
+    uint32_t x378;
+    uint32_t x379;
+    uint32_t x380;
+    uint32_t x381;
+    uint32_t x382;
+    uint32_t x383;
+    uint32_t x384;
+    uint32_t x385;
+    uint32_t x386;
+    uint32_t x387;
+    uint32_t x388;
+    uint32_t x389;
+    uint32_t x390;
+    uint32_t x391;
+    uint32_t x392;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x393;
+    uint32_t x394;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x395;
+    uint32_t x396;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x397;
+    uint32_t x398;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x399;
+    uint32_t x400;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x401;
+    uint32_t x402;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x403;
+    uint32_t x404;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x405;
+    uint32_t x406;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x407;
+    uint32_t x408;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x409;
+    uint32_t x410;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x411;
+    uint32_t x412;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x413;
+    uint32_t x414;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x415;
+    uint32_t x416;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x417;
+    uint32_t x418;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x419;
+    uint32_t x420;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x421;
+    uint32_t x422;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x423;
+    uint32_t x424;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x425;
+    uint32_t x426;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x427;
+    uint32_t x428;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x429;
+    uint32_t x430;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x431;
+    uint32_t x432;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x433;
+    uint32_t x434;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x435;
+    uint32_t x436;
+    uint32_t x437;
+    uint32_t x438;
+    uint32_t x439;
+    uint32_t x440;
+    uint32_t x441;
+    uint32_t x442;
+    uint32_t x443;
+    uint32_t x444;
+    uint32_t x445;
+    uint32_t x446;
+    uint32_t x447;
+    uint32_t x448;
+    uint32_t x449;
+    uint32_t x450;
+    uint32_t x451;
+    uint32_t x452;
+    uint32_t x453;
+    uint32_t x454;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x455;
+    uint32_t x456;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x457;
+    uint32_t x458;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x459;
+    uint32_t x460;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x461;
+    uint32_t x462;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x463;
+    uint32_t x464;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x465;
+    uint32_t x466;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x467;
+    uint32_t x468;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x469;
+    uint32_t x470;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x471;
+    uint32_t x472;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x473;
+    uint32_t x474;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x475;
+    uint32_t x476;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x477;
+    uint32_t x478;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x479;
+    uint32_t x480;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x481;
+    uint32_t x482;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x483;
+    uint32_t x484;
+    uint32_t x485;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x486;
+    uint32_t x487;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x488;
+    uint32_t x489;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x490;
+    uint32_t x491;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x492;
+    uint32_t x493;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x494;
+    uint32_t x495;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x496;
+    uint32_t x497;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x498;
+    uint32_t x499;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x500;
+    uint32_t x501;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x502;
+    uint32_t x503;
+    uint32_t x504;
+    uint32_t x505;
+    uint32_t x506;
+    uint32_t x507;
+    uint32_t x508;
+    uint32_t x509;
+    uint32_t x510;
+    x1 = (arg1[0]);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x2, &x3, x1,
+                                                         UINT32_C(0x727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x4, &x5, x2,
+                                                         UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x6, &x7, x2,
+                                                         UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x8, &x9, x2,
+                                                         UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x10, &x11, x2,
+                                                         UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x12, &x13, x2,
+                                                         UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x14, &x15, x2,
+                                                         UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x16, &x17, x2,
+                                                         UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x18, &x19, x2,
+                                                         UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x20, &x21, 0x0,
+                                                              x19, x16);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x22, &x23, x21,
+                                                              x17, x14);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x24, &x25, x23,
+                                                              x15, x12);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x26, &x27, x25,
+                                                              x13, x10);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x28, &x29, x27,
+                                                              x11, x8);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x30, &x31, x29,
+                                                              x9, x6);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x32, &x33, x31,
+                                                              x7, x4);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x34, &x35, 0x0,
+                                                              x1, x18);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x36, &x37, x35,
+                                                              0x0, x20);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x38, &x39, x37,
+                                                              0x0, x22);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x40, &x41, x39,
+                                                              0x0, x24);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x42, &x43, x41,
+                                                              0x0, x26);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x44, &x45, x43,
+                                                              0x0, x28);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x46, &x47, x45,
+                                                              0x0, x30);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x48, &x49, x47,
+                                                              0x0, x32);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x50, &x51, 0x0,
+                                                              x36, (arg1[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x52, &x53, x51,
+                                                              x38, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x54, &x55, x53,
+                                                              x40, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x56, &x57, x55,
+                                                              x42, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x58, &x59, x57,
+                                                              x44, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x60, &x61, x59,
+                                                              x46, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x62, &x63, x61,
+                                                              x48, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x64, &x65, x50,
+                                                         UINT32_C(0x727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x66, &x67, x64,
+                                                         UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x68, &x69, x64,
+                                                         UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x70, &x71, x64,
+                                                         UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x72, &x73, x64,
+                                                         UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x74, &x75, x64,
+                                                         UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x76, &x77, x64,
+                                                         UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x78, &x79, x64,
+                                                         UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x80, &x81, x64,
+                                                         UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x82, &x83, 0x0,
+                                                              x81, x78);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x84, &x85, x83,
+                                                              x79, x76);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x86, &x87, x85,
+                                                              x77, x74);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x88, &x89, x87,
+                                                              x75, x72);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x90, &x91, x89,
+                                                              x73, x70);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x92, &x93, x91,
+                                                              x71, x68);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x94, &x95, x93,
+                                                              x69, x66);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x96, &x97, 0x0,
+                                                              x50, x80);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x98, &x99, x97,
+                                                              x52, x82);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x100, &x101, x99,
+                                                              x54, x84);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x102, &x103,
+                                                              x101, x56, x86);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x104, &x105,
+                                                              x103, x58, x88);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x106, &x107,
+                                                              x105, x60, x90);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x108, &x109,
+                                                              x107, x62, x92);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x110, &x111, x109, (x63 + (x49 + (x33 + x5))), x94);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x112, &x113, 0x0,
+                                                              x98, (arg1[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x114, &x115,
+                                                              x113, x100, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x116, &x117,
+                                                              x115, x102, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x118, &x119,
+                                                              x117, x104, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x120, &x121,
+                                                              x119, x106, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x122, &x123,
+                                                              x121, x108, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x124, &x125,
+                                                              x123, x110, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x126, &x127, x112,
+                                                         UINT32_C(0x727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x128, &x129, x126,
+                                                         UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x130, &x131, x126,
+                                                         UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x132, &x133, x126,
+                                                         UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x134, &x135, x126,
+                                                         UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x136, &x137, x126,
+                                                         UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x138, &x139, x126,
+                                                         UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x140, &x141, x126,
+                                                         UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x142, &x143, x126,
+                                                         UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x144, &x145, 0x0,
+                                                              x143, x140);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x146, &x147,
+                                                              x145, x141, x138);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x148, &x149,
+                                                              x147, x139, x136);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x150, &x151,
+                                                              x149, x137, x134);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x152, &x153,
+                                                              x151, x135, x132);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x154, &x155,
+                                                              x153, x133, x130);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x156, &x157,
+                                                              x155, x131, x128);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x158, &x159, 0x0,
+                                                              x112, x142);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x160, &x161,
+                                                              x159, x114, x144);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x162, &x163,
+                                                              x161, x116, x146);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x164, &x165,
+                                                              x163, x118, x148);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x166, &x167,
+                                                              x165, x120, x150);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x168, &x169,
+                                                              x167, x122, x152);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x170, &x171,
+                                                              x169, x124, x154);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x172, &x173, x171, (x125 + (x111 + (x95 + x67))), x156);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x174, &x175, 0x0,
+                                                              x160, (arg1[3]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x176, &x177,
+                                                              x175, x162, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x178, &x179,
+                                                              x177, x164, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x180, &x181,
+                                                              x179, x166, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x182, &x183,
+                                                              x181, x168, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x184, &x185,
+                                                              x183, x170, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x186, &x187,
+                                                              x185, x172, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x188, &x189, x174,
+                                                         UINT32_C(0x727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x190, &x191, x188,
+                                                         UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x192, &x193, x188,
+                                                         UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x194, &x195, x188,
+                                                         UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x196, &x197, x188,
+                                                         UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x198, &x199, x188,
+                                                         UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x200, &x201, x188,
+                                                         UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x202, &x203, x188,
+                                                         UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x204, &x205, x188,
+                                                         UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x206, &x207, 0x0,
+                                                              x205, x202);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x208, &x209,
+                                                              x207, x203, x200);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x210, &x211,
+                                                              x209, x201, x198);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x212, &x213,
+                                                              x211, x199, x196);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x214, &x215,
+                                                              x213, x197, x194);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x216, &x217,
+                                                              x215, x195, x192);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x218, &x219,
+                                                              x217, x193, x190);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x220, &x221, 0x0,
+                                                              x174, x204);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x222, &x223,
+                                                              x221, x176, x206);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x224, &x225,
+                                                              x223, x178, x208);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x226, &x227,
+                                                              x225, x180, x210);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x228, &x229,
+                                                              x227, x182, x212);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x230, &x231,
+                                                              x229, x184, x214);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x232, &x233,
+                                                              x231, x186, x216);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x234, &x235, x233, (x187 + (x173 + (x157 + x129))), x218);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x236, &x237, 0x0,
+                                                              x222, (arg1[4]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x238, &x239,
+                                                              x237, x224, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x240, &x241,
+                                                              x239, x226, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x242, &x243,
+                                                              x241, x228, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x244, &x245,
+                                                              x243, x230, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x246, &x247,
+                                                              x245, x232, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x248, &x249,
+                                                              x247, x234, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x250, &x251, x236,
+                                                         UINT32_C(0x727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x252, &x253, x250,
+                                                         UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x254, &x255, x250,
+                                                         UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x256, &x257, x250,
+                                                         UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x258, &x259, x250,
+                                                         UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x260, &x261, x250,
+                                                         UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x262, &x263, x250,
+                                                         UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x264, &x265, x250,
+                                                         UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x266, &x267, x250,
+                                                         UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x268, &x269, 0x0,
+                                                              x267, x264);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x270, &x271,
+                                                              x269, x265, x262);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x272, &x273,
+                                                              x271, x263, x260);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x274, &x275,
+                                                              x273, x261, x258);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x276, &x277,
+                                                              x275, x259, x256);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x278, &x279,
+                                                              x277, x257, x254);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x280, &x281,
+                                                              x279, x255, x252);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x282, &x283, 0x0,
+                                                              x236, x266);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x284, &x285,
+                                                              x283, x238, x268);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x286, &x287,
+                                                              x285, x240, x270);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x288, &x289,
+                                                              x287, x242, x272);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x290, &x291,
+                                                              x289, x244, x274);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x292, &x293,
+                                                              x291, x246, x276);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x294, &x295,
+                                                              x293, x248, x278);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x296, &x297, x295, (x249 + (x235 + (x219 + x191))), x280);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x298, &x299, 0x0,
+                                                              x284, (arg1[5]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x300, &x301,
+                                                              x299, x286, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x302, &x303,
+                                                              x301, x288, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x304, &x305,
+                                                              x303, x290, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x306, &x307,
+                                                              x305, x292, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x308, &x309,
+                                                              x307, x294, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x310, &x311,
+                                                              x309, x296, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x312, &x313, x298,
+                                                         UINT32_C(0x727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x314, &x315, x312,
+                                                         UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x316, &x317, x312,
+                                                         UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x318, &x319, x312,
+                                                         UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x320, &x321, x312,
+                                                         UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x322, &x323, x312,
+                                                         UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x324, &x325, x312,
+                                                         UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x326, &x327, x312,
+                                                         UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x328, &x329, x312,
+                                                         UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x330, &x331, 0x0,
+                                                              x329, x326);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x332, &x333,
+                                                              x331, x327, x324);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x334, &x335,
+                                                              x333, x325, x322);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x336, &x337,
+                                                              x335, x323, x320);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x338, &x339,
+                                                              x337, x321, x318);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x340, &x341,
+                                                              x339, x319, x316);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x342, &x343,
+                                                              x341, x317, x314);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x344, &x345, 0x0,
+                                                              x298, x328);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x346, &x347,
+                                                              x345, x300, x330);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x348, &x349,
+                                                              x347, x302, x332);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x350, &x351,
+                                                              x349, x304, x334);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x352, &x353,
+                                                              x351, x306, x336);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x354, &x355,
+                                                              x353, x308, x338);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x356, &x357,
+                                                              x355, x310, x340);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x358, &x359, x357, (x311 + (x297 + (x281 + x253))), x342);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x360, &x361, 0x0,
+                                                              x346, (arg1[6]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x362, &x363,
+                                                              x361, x348, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x364, &x365,
+                                                              x363, x350, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x366, &x367,
+                                                              x365, x352, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x368, &x369,
+                                                              x367, x354, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x370, &x371,
+                                                              x369, x356, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x372, &x373,
+                                                              x371, x358, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x374, &x375, x360,
+                                                         UINT32_C(0x727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x376, &x377, x374,
+                                                         UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x378, &x379, x374,
+                                                         UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x380, &x381, x374,
+                                                         UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x382, &x383, x374,
+                                                         UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x384, &x385, x374,
+                                                         UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x386, &x387, x374,
+                                                         UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x388, &x389, x374,
+                                                         UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x390, &x391, x374,
+                                                         UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x392, &x393, 0x0,
+                                                              x391, x388);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x394, &x395,
+                                                              x393, x389, x386);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x396, &x397,
+                                                              x395, x387, x384);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x398, &x399,
+                                                              x397, x385, x382);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x400, &x401,
+                                                              x399, x383, x380);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x402, &x403,
+                                                              x401, x381, x378);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x404, &x405,
+                                                              x403, x379, x376);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x406, &x407, 0x0,
+                                                              x360, x390);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x408, &x409,
+                                                              x407, x362, x392);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x410, &x411,
+                                                              x409, x364, x394);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x412, &x413,
+                                                              x411, x366, x396);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x414, &x415,
+                                                              x413, x368, x398);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x416, &x417,
+                                                              x415, x370, x400);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x418, &x419,
+                                                              x417, x372, x402);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x420, &x421, x419, (x373 + (x359 + (x343 + x315))), x404);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x422, &x423, 0x0,
+                                                              x408, (arg1[7]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x424, &x425,
+                                                              x423, x410, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x426, &x427,
+                                                              x425, x412, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x428, &x429,
+                                                              x427, x414, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x430, &x431,
+                                                              x429, x416, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x432, &x433,
+                                                              x431, x418, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x434, &x435,
+                                                              x433, x420, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x436, &x437, x422,
+                                                         UINT32_C(0x727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x438, &x439, x436,
+                                                         UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x440, &x441, x436,
+                                                         UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x442, &x443, x436,
+                                                         UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x444, &x445, x436,
+                                                         UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x446, &x447, x436,
+                                                         UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x448, &x449, x436,
+                                                         UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x450, &x451, x436,
+                                                         UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x452, &x453, x436,
+                                                         UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x454, &x455, 0x0,
+                                                              x453, x450);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x456, &x457,
+                                                              x455, x451, x448);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x458, &x459,
+                                                              x457, x449, x446);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x460, &x461,
+                                                              x459, x447, x444);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x462, &x463,
+                                                              x461, x445, x442);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x464, &x465,
+                                                              x463, x443, x440);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x466, &x467,
+                                                              x465, x441, x438);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x468, &x469, 0x0,
+                                                              x422, x452);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x470, &x471,
+                                                              x469, x424, x454);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x472, &x473,
+                                                              x471, x426, x456);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x474, &x475,
+                                                              x473, x428, x458);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x476, &x477,
+                                                              x475, x430, x460);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x478, &x479,
+                                                              x477, x432, x462);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x480, &x481,
+                                                              x479, x434, x464);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x482, &x483, x481, (x435 + (x421 + (x405 + x377))), x466);
+    x484 = (x483 + (x467 + x439));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x485, &x486, 0x0, x470, UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x487, &x488, x486, x472, UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x489, &x490, x488, x474, UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x491, &x492, x490, x476, UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x493, &x494, x492, x478, UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x495, &x496, x494, x480, UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x497, &x498, x496, x482, UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x499, &x500, x498, x484, UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x501, &x502,
+                                                               x500, 0x0, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x503, x502, x485,
+                                                            x470);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x504, x502, x487,
+                                                            x472);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x505, x502, x489,
+                                                            x474);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x506, x502, x491,
+                                                            x476);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x507, x502, x493,
+                                                            x478);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x508, x502, x495,
+                                                            x480);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x509, x502, x497,
+                                                            x482);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x510, x502, x499,
+                                                            x484);
+    out1[0] = x503;
+    out1[1] = x504;
+    out1[2] = x505;
+    out1[3] = x506;
+    out1[4] = x507;
+    out1[5] = x508;
+    out1[6] = x509;
+    out1[7] = x510;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery translates a field element into the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = eval arg1 mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[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]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(
+    uint32_t out1[8], const uint32_t arg1[8]) {
+    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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x26;
+    uint32_t x27;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x28;
+    uint32_t x29;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x30;
+    uint32_t x31;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x32;
+    uint32_t x33;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x34;
+    uint32_t x35;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x36;
+    uint32_t x37;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 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;
+    uint32_t x50;
+    uint32_t x51;
+    uint32_t x52;
+    uint32_t x53;
+    uint32_t x54;
+    uint32_t x55;
+    uint32_t x56;
+    uint32_t x57;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x58;
+    uint32_t x59;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x60;
+    uint32_t x61;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x62;
+    uint32_t x63;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x64;
+    uint32_t x65;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x66;
+    uint32_t x67;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x68;
+    uint32_t x69;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x70;
+    uint32_t x71;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x72;
+    uint32_t x73;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x74;
+    uint32_t x75;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x76;
+    uint32_t x77;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x78;
+    uint32_t x79;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x80;
+    uint32_t x81;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x82;
+    uint32_t x83;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x84;
+    uint32_t x85;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x86;
+    uint32_t x87;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x88;
+    uint32_t x89;
+    uint32_t x90;
+    uint32_t x91;
+    uint32_t x92;
+    uint32_t 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;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x106;
+    uint32_t x107;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x108;
+    uint32_t x109;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x110;
+    uint32_t x111;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x112;
+    uint32_t x113;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x114;
+    uint32_t x115;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x116;
+    uint32_t x117;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x118;
+    uint32_t x119;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x120;
+    uint32_t x121;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x122;
+    uint32_t x123;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x124;
+    uint32_t x125;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x126;
+    uint32_t x127;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x128;
+    uint32_t x129;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x130;
+    uint32_t x131;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x132;
+    uint32_t x133;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x134;
+    uint32_t x135;
+    uint32_t x136;
+    uint32_t x137;
+    uint32_t x138;
+    uint32_t x139;
+    uint32_t x140;
+    uint32_t x141;
+    uint32_t x142;
+    uint32_t x143;
+    uint32_t x144;
+    uint32_t x145;
+    uint32_t x146;
+    uint32_t x147;
+    uint32_t x148;
+    uint32_t x149;
+    uint32_t x150;
+    uint32_t x151;
+    uint32_t x152;
+    uint32_t x153;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x154;
+    uint32_t x155;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x156;
+    uint32_t x157;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x158;
+    uint32_t x159;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x160;
+    uint32_t x161;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x162;
+    uint32_t x163;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x164;
+    uint32_t x165;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x166;
+    uint32_t x167;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x168;
+    uint32_t x169;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x170;
+    uint32_t x171;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x172;
+    uint32_t x173;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x174;
+    uint32_t x175;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x176;
+    uint32_t x177;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x178;
+    uint32_t x179;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x180;
+    uint32_t x181;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x182;
+    uint32_t x183;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x184;
+    uint32_t x185;
+    uint32_t x186;
+    uint32_t x187;
+    uint32_t x188;
+    uint32_t x189;
+    uint32_t x190;
+    uint32_t x191;
+    uint32_t x192;
+    uint32_t x193;
+    uint32_t x194;
+    uint32_t x195;
+    uint32_t x196;
+    uint32_t x197;
+    uint32_t x198;
+    uint32_t x199;
+    uint32_t x200;
+    uint32_t x201;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x202;
+    uint32_t x203;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x204;
+    uint32_t x205;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x206;
+    uint32_t x207;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x208;
+    uint32_t x209;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x210;
+    uint32_t x211;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x212;
+    uint32_t x213;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x214;
+    uint32_t x215;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x216;
+    uint32_t x217;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x218;
+    uint32_t x219;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x220;
+    uint32_t x221;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x222;
+    uint32_t x223;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x224;
+    uint32_t x225;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x226;
+    uint32_t x227;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x228;
+    uint32_t x229;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x230;
+    uint32_t x231;
+    uint32_t x232;
+    uint32_t x233;
+    uint32_t x234;
+    uint32_t x235;
+    uint32_t x236;
+    uint32_t x237;
+    uint32_t x238;
+    uint32_t x239;
+    uint32_t x240;
+    uint32_t x241;
+    uint32_t x242;
+    uint32_t x243;
+    uint32_t x244;
+    uint32_t x245;
+    uint32_t x246;
+    uint32_t x247;
+    uint32_t x248;
+    uint32_t x249;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x250;
+    uint32_t x251;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x252;
+    uint32_t x253;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x254;
+    uint32_t x255;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x256;
+    uint32_t x257;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x258;
+    uint32_t x259;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x260;
+    uint32_t x261;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x262;
+    uint32_t x263;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x264;
+    uint32_t x265;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x266;
+    uint32_t x267;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x268;
+    uint32_t x269;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x270;
+    uint32_t x271;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x272;
+    uint32_t x273;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x274;
+    uint32_t x275;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x276;
+    uint32_t x277;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x278;
+    uint32_t x279;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x280;
+    uint32_t x281;
+    uint32_t x282;
+    uint32_t x283;
+    uint32_t x284;
+    uint32_t x285;
+    uint32_t x286;
+    uint32_t x287;
+    uint32_t x288;
+    uint32_t x289;
+    uint32_t x290;
+    uint32_t x291;
+    uint32_t x292;
+    uint32_t x293;
+    uint32_t x294;
+    uint32_t x295;
+    uint32_t x296;
+    uint32_t x297;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x298;
+    uint32_t x299;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x300;
+    uint32_t x301;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x302;
+    uint32_t x303;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x304;
+    uint32_t x305;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x306;
+    uint32_t x307;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x308;
+    uint32_t x309;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x310;
+    uint32_t x311;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x312;
+    uint32_t x313;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x314;
+    uint32_t x315;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x316;
+    uint32_t x317;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x318;
+    uint32_t x319;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x320;
+    uint32_t x321;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x322;
+    uint32_t x323;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x324;
+    uint32_t x325;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x326;
+    uint32_t x327;
+    uint32_t x328;
+    uint32_t x329;
+    uint32_t x330;
+    uint32_t x331;
+    uint32_t x332;
+    uint32_t x333;
+    uint32_t x334;
+    uint32_t x335;
+    uint32_t x336;
+    uint32_t x337;
+    uint32_t x338;
+    uint32_t x339;
+    uint32_t x340;
+    uint32_t x341;
+    uint32_t x342;
+    uint32_t x343;
+    uint32_t x344;
+    uint32_t x345;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x346;
+    uint32_t x347;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x348;
+    uint32_t x349;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x350;
+    uint32_t x351;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x352;
+    uint32_t x353;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x354;
+    uint32_t x355;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x356;
+    uint32_t x357;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x358;
+    uint32_t x359;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x360;
+    uint32_t x361;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x362;
+    uint32_t x363;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x364;
+    uint32_t x365;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x366;
+    uint32_t x367;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x368;
+    uint32_t x369;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x370;
+    uint32_t x371;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x372;
+    uint32_t x373;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x374;
+    uint32_t x375;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x376;
+    uint32_t x377;
+    uint32_t x378;
+    uint32_t x379;
+    uint32_t x380;
+    uint32_t x381;
+    uint32_t x382;
+    uint32_t x383;
+    uint32_t x384;
+    uint32_t x385;
+    uint32_t x386;
+    uint32_t x387;
+    uint32_t x388;
+    uint32_t x389;
+    uint32_t x390;
+    uint32_t x391;
+    uint32_t x392;
+    uint32_t x393;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x394;
+    uint32_t x395;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x396;
+    uint32_t x397;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x398;
+    uint32_t x399;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x400;
+    uint32_t x401;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x402;
+    uint32_t x403;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x404;
+    uint32_t x405;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x406;
+    uint32_t x407;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x408;
+    uint32_t x409;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x410;
+    uint32_t x411;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x412;
+    uint32_t x413;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x414;
+    uint32_t x415;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x416;
+    uint32_t x417;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x418;
+    uint32_t x419;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x420;
+    uint32_t x421;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x422;
+    uint32_t x423;
+    uint32_t x424;
+    uint32_t x425;
+    uint32_t x426;
+    uint32_t x427;
+    uint32_t x428;
+    uint32_t x429;
+    uint32_t x430;
+    uint32_t x431;
+    uint32_t x432;
+    uint32_t x433;
+    uint32_t x434;
+    uint32_t x435;
+    uint32_t x436;
+    uint32_t x437;
+    uint32_t x438;
+    uint32_t x439;
+    uint32_t x440;
+    uint32_t x441;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x442;
+    uint32_t x443;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x444;
+    uint32_t x445;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x446;
+    uint32_t x447;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x448;
+    uint32_t x449;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x450;
+    uint32_t x451;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x452;
+    uint32_t x453;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x454;
+    uint32_t x455;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x456;
+    uint32_t x457;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x458;
+    uint32_t x459;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x460;
+    uint32_t x461;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x462;
+    uint32_t x463;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x464;
+    uint32_t x465;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x466;
+    uint32_t x467;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x468;
+    uint32_t x469;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x470;
+    uint32_t x471;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x472;
+    uint32_t x473;
+    uint32_t x474;
+    uint32_t x475;
+    uint32_t x476;
+    uint32_t x477;
+    uint32_t x478;
+    uint32_t x479;
+    uint32_t x480;
+    uint32_t x481;
+    uint32_t x482;
+    uint32_t x483;
+    uint32_t x484;
+    uint32_t x485;
+    uint32_t x486;
+    uint32_t x487;
+    uint32_t x488;
+    uint32_t x489;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x490;
+    uint32_t x491;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x492;
+    uint32_t x493;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x494;
+    uint32_t x495;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x496;
+    uint32_t x497;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x498;
+    uint32_t x499;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x500;
+    uint32_t x501;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x502;
+    uint32_t x503;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x504;
+    uint32_t x505;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x506;
+    uint32_t x507;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x508;
+    uint32_t x509;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x510;
+    uint32_t x511;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x512;
+    uint32_t x513;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x514;
+    uint32_t x515;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x516;
+    uint32_t x517;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x518;
+    uint32_t x519;
+    uint32_t x520;
+    uint32_t x521;
+    uint32_t x522;
+    uint32_t x523;
+    uint32_t x524;
+    uint32_t x525;
+    uint32_t x526;
+    uint32_t x527;
+    uint32_t x528;
+    uint32_t x529;
+    uint32_t x530;
+    uint32_t x531;
+    uint32_t x532;
+    uint32_t x533;
+    uint32_t x534;
+    uint32_t x535;
+    uint32_t x536;
+    uint32_t x537;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x538;
+    uint32_t x539;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x540;
+    uint32_t x541;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x542;
+    uint32_t x543;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x544;
+    uint32_t x545;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x546;
+    uint32_t x547;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x548;
+    uint32_t x549;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x550;
+    uint32_t x551;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x552;
+    uint32_t x553;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x554;
+    uint32_t x555;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x556;
+    uint32_t x557;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x558;
+    uint32_t x559;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x560;
+    uint32_t x561;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x562;
+    uint32_t x563;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x564;
+    uint32_t x565;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x566;
+    uint32_t x567;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x568;
+    uint32_t x569;
+    uint32_t x570;
+    uint32_t x571;
+    uint32_t x572;
+    uint32_t x573;
+    uint32_t x574;
+    uint32_t x575;
+    uint32_t x576;
+    uint32_t x577;
+    uint32_t x578;
+    uint32_t x579;
+    uint32_t x580;
+    uint32_t x581;
+    uint32_t x582;
+    uint32_t x583;
+    uint32_t x584;
+    uint32_t x585;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x586;
+    uint32_t x587;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x588;
+    uint32_t x589;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x590;
+    uint32_t x591;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x592;
+    uint32_t x593;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x594;
+    uint32_t x595;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x596;
+    uint32_t x597;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x598;
+    uint32_t x599;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x600;
+    uint32_t x601;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x602;
+    uint32_t x603;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x604;
+    uint32_t x605;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x606;
+    uint32_t x607;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x608;
+    uint32_t x609;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x610;
+    uint32_t x611;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x612;
+    uint32_t x613;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x614;
+    uint32_t x615;
+    uint32_t x616;
+    uint32_t x617;
+    uint32_t x618;
+    uint32_t x619;
+    uint32_t x620;
+    uint32_t x621;
+    uint32_t x622;
+    uint32_t x623;
+    uint32_t x624;
+    uint32_t x625;
+    uint32_t x626;
+    uint32_t x627;
+    uint32_t x628;
+    uint32_t x629;
+    uint32_t x630;
+    uint32_t x631;
+    uint32_t x632;
+    uint32_t x633;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x634;
+    uint32_t x635;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x636;
+    uint32_t x637;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x638;
+    uint32_t x639;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x640;
+    uint32_t x641;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x642;
+    uint32_t x643;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x644;
+    uint32_t x645;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x646;
+    uint32_t x647;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x648;
+    uint32_t x649;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x650;
+    uint32_t x651;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x652;
+    uint32_t x653;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x654;
+    uint32_t x655;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x656;
+    uint32_t x657;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x658;
+    uint32_t x659;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x660;
+    uint32_t x661;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x662;
+    uint32_t x663;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x664;
+    uint32_t x665;
+    uint32_t x666;
+    uint32_t x667;
+    uint32_t x668;
+    uint32_t x669;
+    uint32_t x670;
+    uint32_t x671;
+    uint32_t x672;
+    uint32_t x673;
+    uint32_t x674;
+    uint32_t x675;
+    uint32_t x676;
+    uint32_t x677;
+    uint32_t x678;
+    uint32_t x679;
+    uint32_t x680;
+    uint32_t x681;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x682;
+    uint32_t x683;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x684;
+    uint32_t x685;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x686;
+    uint32_t x687;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x688;
+    uint32_t x689;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x690;
+    uint32_t x691;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x692;
+    uint32_t x693;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x694;
+    uint32_t x695;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x696;
+    uint32_t x697;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x698;
+    uint32_t x699;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x700;
+    uint32_t x701;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x702;
+    uint32_t x703;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x704;
+    uint32_t x705;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x706;
+    uint32_t x707;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x708;
+    uint32_t x709;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x710;
+    uint32_t x711;
+    uint32_t x712;
+    uint32_t x713;
+    uint32_t x714;
+    uint32_t x715;
+    uint32_t x716;
+    uint32_t x717;
+    uint32_t x718;
+    uint32_t x719;
+    uint32_t x720;
+    uint32_t x721;
+    uint32_t x722;
+    uint32_t x723;
+    uint32_t x724;
+    uint32_t x725;
+    uint32_t x726;
+    uint32_t x727;
+    uint32_t x728;
+    uint32_t x729;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x730;
+    uint32_t x731;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x732;
+    uint32_t x733;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x734;
+    uint32_t x735;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x736;
+    uint32_t x737;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x738;
+    uint32_t x739;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x740;
+    uint32_t x741;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x742;
+    uint32_t x743;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x744;
+    uint32_t x745;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x746;
+    uint32_t x747;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x748;
+    uint32_t x749;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x750;
+    uint32_t x751;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x752;
+    uint32_t x753;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x754;
+    uint32_t x755;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x756;
+    uint32_t x757;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x758;
+    uint32_t x759;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x760;
+    uint32_t x761;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x762;
+    uint32_t x763;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x764;
+    uint32_t x765;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x766;
+    uint32_t x767;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x768;
+    uint32_t x769;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x770;
+    uint32_t x771;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x772;
+    uint32_t x773;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x774;
+    uint32_t x775;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x776;
+    uint32_t x777;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 x778;
+    uint32_t x779;
+    uint32_t x780;
+    uint32_t x781;
+    uint32_t x782;
+    uint32_t x783;
+    uint32_t x784;
+    uint32_t x785;
+    uint32_t x786;
+    x1 = (arg1[1]);
+    x2 = (arg1[2]);
+    x3 = (arg1[3]);
+    x4 = (arg1[4]);
+    x5 = (arg1[5]);
+    x6 = (arg1[6]);
+    x7 = (arg1[7]);
+    x8 = (arg1[0]);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x9, &x10, x8,
+                                                         UINT32_C(0x807a394e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x11, &x12, x8,
+                                                         UINT32_C(0xde097652));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x13, &x14, x8,
+                                                         UINT32_C(0x18630421));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x15, &x16, x8,
+                                                         UINT32_C(0x2849c07b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x17, &x18, x8,
+                                                         UINT32_C(0x1017bb39));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x19, &x20, x8,
+                                                         UINT32_C(0xc2d346c5));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x21, &x22, x8,
+                                                         UINT32_C(0x409973b4));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x23, &x24, x8,
+                                                         UINT32_C(0xc427fcea));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x25, &x26, 0x0,
+                                                              x24, x21);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x27, &x28, x26,
+                                                              x22, x19);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x29, &x30, x28,
+                                                              x20, x17);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x31, &x32, x30,
+                                                              x18, x15);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x33, &x34, x32,
+                                                              x16, x13);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x35, &x36, x34,
+                                                              x14, x11);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x37, &x38, x36,
+                                                              x12, x9);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x39, &x40, x23,
+                                                         UINT32_C(0x727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x41, &x42, x39,
+                                                         UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x43, &x44, x39,
+                                                         UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x45, &x46, x39,
+                                                         UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x47, &x48, x39,
+                                                         UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x49, &x50, x39,
+                                                         UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x51, &x52, x39,
+                                                         UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x53, &x54, x39,
+                                                         UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x55, &x56, x39,
+                                                         UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x57, &x58, 0x0,
+                                                              x56, x53);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x59, &x60, x58,
+                                                              x54, x51);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x61, &x62, x60,
+                                                              x52, x49);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x63, &x64, x62,
+                                                              x50, x47);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x65, &x66, x64,
+                                                              x48, x45);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x67, &x68, x66,
+                                                              x46, x43);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x69, &x70, x68,
+                                                              x44, x41);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x71, &x72, 0x0,
+                                                              x23, x55);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x73, &x74, x72,
+                                                              x25, x57);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x75, &x76, x74,
+                                                              x27, x59);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x77, &x78, x76,
+                                                              x29, x61);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x79, &x80, x78,
+                                                              x31, x63);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x81, &x82, x80,
+                                                              x33, x65);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x83, &x84, x82,
+                                                              x35, x67);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x85, &x86, x84,
+                                                              x37, x69);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x87, &x88, x86, (x38 + x10), (x70 + x42));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x89, &x90, x1,
+                                                         UINT32_C(0x807a394e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x91, &x92, x1,
+                                                         UINT32_C(0xde097652));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x93, &x94, x1,
+                                                         UINT32_C(0x18630421));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x95, &x96, x1,
+                                                         UINT32_C(0x2849c07b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x97, &x98, x1,
+                                                         UINT32_C(0x1017bb39));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x99, &x100, x1,
+                                                         UINT32_C(0xc2d346c5));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x101, &x102, x1,
+                                                         UINT32_C(0x409973b4));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x103, &x104, x1,
+                                                         UINT32_C(0xc427fcea));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x105, &x106, 0x0,
+                                                              x104, x101);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x107, &x108,
+                                                              x106, x102, x99);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x109, &x110,
+                                                              x108, x100, x97);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x111, &x112,
+                                                              x110, x98, x95);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x113, &x114,
+                                                              x112, x96, x93);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x115, &x116,
+                                                              x114, x94, x91);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x117, &x118,
+                                                              x116, x92, x89);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x119, &x120, 0x0,
+                                                              x73, x103);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x121, &x122,
+                                                              x120, x75, x105);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x123, &x124,
+                                                              x122, x77, x107);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x125, &x126,
+                                                              x124, x79, x109);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x127, &x128,
+                                                              x126, x81, x111);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x129, &x130,
+                                                              x128, x83, x113);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x131, &x132,
+                                                              x130, x85, x115);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x133, &x134,
+                                                              x132, x87, x117);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x135, &x136, x119,
+                                                         UINT32_C(0x727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x137, &x138, x135,
+                                                         UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x139, &x140, x135,
+                                                         UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x141, &x142, x135,
+                                                         UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x143, &x144, x135,
+                                                         UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x145, &x146, x135,
+                                                         UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x147, &x148, x135,
+                                                         UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x149, &x150, x135,
+                                                         UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x151, &x152, x135,
+                                                         UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x153, &x154, 0x0,
+                                                              x152, x149);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x155, &x156,
+                                                              x154, x150, x147);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x157, &x158,
+                                                              x156, x148, x145);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x159, &x160,
+                                                              x158, x146, x143);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x161, &x162,
+                                                              x160, x144, x141);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x163, &x164,
+                                                              x162, x142, x139);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x165, &x166,
+                                                              x164, x140, x137);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x167, &x168, 0x0,
+                                                              x119, x151);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x169, &x170,
+                                                              x168, x121, x153);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x171, &x172,
+                                                              x170, x123, x155);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x173, &x174,
+                                                              x172, x125, x157);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x175, &x176,
+                                                              x174, x127, x159);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x177, &x178,
+                                                              x176, x129, x161);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x179, &x180,
+                                                              x178, x131, x163);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x181, &x182,
+                                                              x180, x133, x165);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x183, &x184, x182, (((uint32_t)x134 + x88) + (x118 + x90)),
+        (x166 + x138));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x185, &x186, x2,
+                                                         UINT32_C(0x807a394e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x187, &x188, x2,
+                                                         UINT32_C(0xde097652));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x189, &x190, x2,
+                                                         UINT32_C(0x18630421));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x191, &x192, x2,
+                                                         UINT32_C(0x2849c07b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x193, &x194, x2,
+                                                         UINT32_C(0x1017bb39));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x195, &x196, x2,
+                                                         UINT32_C(0xc2d346c5));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x197, &x198, x2,
+                                                         UINT32_C(0x409973b4));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x199, &x200, x2,
+                                                         UINT32_C(0xc427fcea));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x201, &x202, 0x0,
+                                                              x200, x197);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x203, &x204,
+                                                              x202, x198, x195);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x205, &x206,
+                                                              x204, x196, x193);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x207, &x208,
+                                                              x206, x194, x191);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x209, &x210,
+                                                              x208, x192, x189);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x211, &x212,
+                                                              x210, x190, x187);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x213, &x214,
+                                                              x212, x188, x185);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x215, &x216, 0x0,
+                                                              x169, x199);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x217, &x218,
+                                                              x216, x171, x201);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x219, &x220,
+                                                              x218, x173, x203);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x221, &x222,
+                                                              x220, x175, x205);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x223, &x224,
+                                                              x222, x177, x207);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x225, &x226,
+                                                              x224, x179, x209);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x227, &x228,
+                                                              x226, x181, x211);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x229, &x230,
+                                                              x228, x183, x213);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x231, &x232, x215,
+                                                         UINT32_C(0x727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x233, &x234, x231,
+                                                         UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x235, &x236, x231,
+                                                         UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x237, &x238, x231,
+                                                         UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x239, &x240, x231,
+                                                         UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x241, &x242, x231,
+                                                         UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x243, &x244, x231,
+                                                         UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x245, &x246, x231,
+                                                         UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x247, &x248, x231,
+                                                         UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x249, &x250, 0x0,
+                                                              x248, x245);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x251, &x252,
+                                                              x250, x246, x243);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x253, &x254,
+                                                              x252, x244, x241);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x255, &x256,
+                                                              x254, x242, x239);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x257, &x258,
+                                                              x256, x240, x237);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x259, &x260,
+                                                              x258, x238, x235);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x261, &x262,
+                                                              x260, x236, x233);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x263, &x264, 0x0,
+                                                              x215, x247);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x265, &x266,
+                                                              x264, x217, x249);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x267, &x268,
+                                                              x266, x219, x251);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x269, &x270,
+                                                              x268, x221, x253);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x271, &x272,
+                                                              x270, x223, x255);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x273, &x274,
+                                                              x272, x225, x257);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x275, &x276,
+                                                              x274, x227, x259);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x277, &x278,
+                                                              x276, x229, x261);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x279, &x280, x278, (((uint32_t)x230 + x184) + (x214 + x186)),
+        (x262 + x234));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x281, &x282, x3,
+                                                         UINT32_C(0x807a394e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x283, &x284, x3,
+                                                         UINT32_C(0xde097652));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x285, &x286, x3,
+                                                         UINT32_C(0x18630421));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x287, &x288, x3,
+                                                         UINT32_C(0x2849c07b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x289, &x290, x3,
+                                                         UINT32_C(0x1017bb39));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x291, &x292, x3,
+                                                         UINT32_C(0xc2d346c5));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x293, &x294, x3,
+                                                         UINT32_C(0x409973b4));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x295, &x296, x3,
+                                                         UINT32_C(0xc427fcea));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x297, &x298, 0x0,
+                                                              x296, x293);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x299, &x300,
+                                                              x298, x294, x291);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x301, &x302,
+                                                              x300, x292, x289);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x303, &x304,
+                                                              x302, x290, x287);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x305, &x306,
+                                                              x304, x288, x285);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x307, &x308,
+                                                              x306, x286, x283);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x309, &x310,
+                                                              x308, x284, x281);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x311, &x312, 0x0,
+                                                              x265, x295);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x313, &x314,
+                                                              x312, x267, x297);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x315, &x316,
+                                                              x314, x269, x299);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x317, &x318,
+                                                              x316, x271, x301);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x319, &x320,
+                                                              x318, x273, x303);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x321, &x322,
+                                                              x320, x275, x305);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x323, &x324,
+                                                              x322, x277, x307);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x325, &x326,
+                                                              x324, x279, x309);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x327, &x328, x311,
+                                                         UINT32_C(0x727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x329, &x330, x327,
+                                                         UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x331, &x332, x327,
+                                                         UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x333, &x334, x327,
+                                                         UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x335, &x336, x327,
+                                                         UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x337, &x338, x327,
+                                                         UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x339, &x340, x327,
+                                                         UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x341, &x342, x327,
+                                                         UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x343, &x344, x327,
+                                                         UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x345, &x346, 0x0,
+                                                              x344, x341);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x347, &x348,
+                                                              x346, x342, x339);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x349, &x350,
+                                                              x348, x340, x337);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x351, &x352,
+                                                              x350, x338, x335);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x353, &x354,
+                                                              x352, x336, x333);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x355, &x356,
+                                                              x354, x334, x331);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x357, &x358,
+                                                              x356, x332, x329);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x359, &x360, 0x0,
+                                                              x311, x343);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x361, &x362,
+                                                              x360, x313, x345);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x363, &x364,
+                                                              x362, x315, x347);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x365, &x366,
+                                                              x364, x317, x349);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x367, &x368,
+                                                              x366, x319, x351);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x369, &x370,
+                                                              x368, x321, x353);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x371, &x372,
+                                                              x370, x323, x355);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x373, &x374,
+                                                              x372, x325, x357);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x375, &x376, x374, (((uint32_t)x326 + x280) + (x310 + x282)),
+        (x358 + x330));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x377, &x378, x4,
+                                                         UINT32_C(0x807a394e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x379, &x380, x4,
+                                                         UINT32_C(0xde097652));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x381, &x382, x4,
+                                                         UINT32_C(0x18630421));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x383, &x384, x4,
+                                                         UINT32_C(0x2849c07b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x385, &x386, x4,
+                                                         UINT32_C(0x1017bb39));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x387, &x388, x4,
+                                                         UINT32_C(0xc2d346c5));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x389, &x390, x4,
+                                                         UINT32_C(0x409973b4));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x391, &x392, x4,
+                                                         UINT32_C(0xc427fcea));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x393, &x394, 0x0,
+                                                              x392, x389);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x395, &x396,
+                                                              x394, x390, x387);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x397, &x398,
+                                                              x396, x388, x385);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x399, &x400,
+                                                              x398, x386, x383);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x401, &x402,
+                                                              x400, x384, x381);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x403, &x404,
+                                                              x402, x382, x379);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x405, &x406,
+                                                              x404, x380, x377);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x407, &x408, 0x0,
+                                                              x361, x391);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x409, &x410,
+                                                              x408, x363, x393);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x411, &x412,
+                                                              x410, x365, x395);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x413, &x414,
+                                                              x412, x367, x397);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x415, &x416,
+                                                              x414, x369, x399);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x417, &x418,
+                                                              x416, x371, x401);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x419, &x420,
+                                                              x418, x373, x403);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x421, &x422,
+                                                              x420, x375, x405);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x423, &x424, x407,
+                                                         UINT32_C(0x727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x425, &x426, x423,
+                                                         UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x427, &x428, x423,
+                                                         UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x429, &x430, x423,
+                                                         UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x431, &x432, x423,
+                                                         UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x433, &x434, x423,
+                                                         UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x435, &x436, x423,
+                                                         UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x437, &x438, x423,
+                                                         UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x439, &x440, x423,
+                                                         UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x441, &x442, 0x0,
+                                                              x440, x437);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x443, &x444,
+                                                              x442, x438, x435);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x445, &x446,
+                                                              x444, x436, x433);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x447, &x448,
+                                                              x446, x434, x431);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x449, &x450,
+                                                              x448, x432, x429);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x451, &x452,
+                                                              x450, x430, x427);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x453, &x454,
+                                                              x452, x428, x425);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x455, &x456, 0x0,
+                                                              x407, x439);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x457, &x458,
+                                                              x456, x409, x441);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x459, &x460,
+                                                              x458, x411, x443);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x461, &x462,
+                                                              x460, x413, x445);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x463, &x464,
+                                                              x462, x415, x447);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x465, &x466,
+                                                              x464, x417, x449);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x467, &x468,
+                                                              x466, x419, x451);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x469, &x470,
+                                                              x468, x421, x453);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x471, &x472, x470, (((uint32_t)x422 + x376) + (x406 + x378)),
+        (x454 + x426));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x473, &x474, x5,
+                                                         UINT32_C(0x807a394e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x475, &x476, x5,
+                                                         UINT32_C(0xde097652));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x477, &x478, x5,
+                                                         UINT32_C(0x18630421));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x479, &x480, x5,
+                                                         UINT32_C(0x2849c07b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x481, &x482, x5,
+                                                         UINT32_C(0x1017bb39));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x483, &x484, x5,
+                                                         UINT32_C(0xc2d346c5));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x485, &x486, x5,
+                                                         UINT32_C(0x409973b4));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x487, &x488, x5,
+                                                         UINT32_C(0xc427fcea));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x489, &x490, 0x0,
+                                                              x488, x485);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x491, &x492,
+                                                              x490, x486, x483);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x493, &x494,
+                                                              x492, x484, x481);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x495, &x496,
+                                                              x494, x482, x479);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x497, &x498,
+                                                              x496, x480, x477);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x499, &x500,
+                                                              x498, x478, x475);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x501, &x502,
+                                                              x500, x476, x473);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x503, &x504, 0x0,
+                                                              x457, x487);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x505, &x506,
+                                                              x504, x459, x489);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x507, &x508,
+                                                              x506, x461, x491);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x509, &x510,
+                                                              x508, x463, x493);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x511, &x512,
+                                                              x510, x465, x495);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x513, &x514,
+                                                              x512, x467, x497);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x515, &x516,
+                                                              x514, x469, x499);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x517, &x518,
+                                                              x516, x471, x501);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x519, &x520, x503,
+                                                         UINT32_C(0x727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x521, &x522, x519,
+                                                         UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x523, &x524, x519,
+                                                         UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x525, &x526, x519,
+                                                         UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x527, &x528, x519,
+                                                         UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x529, &x530, x519,
+                                                         UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x531, &x532, x519,
+                                                         UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x533, &x534, x519,
+                                                         UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x535, &x536, x519,
+                                                         UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x537, &x538, 0x0,
+                                                              x536, x533);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x539, &x540,
+                                                              x538, x534, x531);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x541, &x542,
+                                                              x540, x532, x529);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x543, &x544,
+                                                              x542, x530, x527);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x545, &x546,
+                                                              x544, x528, x525);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x547, &x548,
+                                                              x546, x526, x523);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x549, &x550,
+                                                              x548, x524, x521);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x551, &x552, 0x0,
+                                                              x503, x535);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x553, &x554,
+                                                              x552, x505, x537);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x555, &x556,
+                                                              x554, x507, x539);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x557, &x558,
+                                                              x556, x509, x541);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x559, &x560,
+                                                              x558, x511, x543);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x561, &x562,
+                                                              x560, x513, x545);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x563, &x564,
+                                                              x562, x515, x547);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x565, &x566,
+                                                              x564, x517, x549);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x567, &x568, x566, (((uint32_t)x518 + x472) + (x502 + x474)),
+        (x550 + x522));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x569, &x570, x6,
+                                                         UINT32_C(0x807a394e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x571, &x572, x6,
+                                                         UINT32_C(0xde097652));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x573, &x574, x6,
+                                                         UINT32_C(0x18630421));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x575, &x576, x6,
+                                                         UINT32_C(0x2849c07b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x577, &x578, x6,
+                                                         UINT32_C(0x1017bb39));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x579, &x580, x6,
+                                                         UINT32_C(0xc2d346c5));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x581, &x582, x6,
+                                                         UINT32_C(0x409973b4));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x583, &x584, x6,
+                                                         UINT32_C(0xc427fcea));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x585, &x586, 0x0,
+                                                              x584, x581);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x587, &x588,
+                                                              x586, x582, x579);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x589, &x590,
+                                                              x588, x580, x577);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x591, &x592,
+                                                              x590, x578, x575);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x593, &x594,
+                                                              x592, x576, x573);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x595, &x596,
+                                                              x594, x574, x571);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x597, &x598,
+                                                              x596, x572, x569);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x599, &x600, 0x0,
+                                                              x553, x583);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x601, &x602,
+                                                              x600, x555, x585);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x603, &x604,
+                                                              x602, x557, x587);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x605, &x606,
+                                                              x604, x559, x589);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x607, &x608,
+                                                              x606, x561, x591);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x609, &x610,
+                                                              x608, x563, x593);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x611, &x612,
+                                                              x610, x565, x595);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x613, &x614,
+                                                              x612, x567, x597);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x615, &x616, x599,
+                                                         UINT32_C(0x727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x617, &x618, x615,
+                                                         UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x619, &x620, x615,
+                                                         UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x621, &x622, x615,
+                                                         UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x623, &x624, x615,
+                                                         UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x625, &x626, x615,
+                                                         UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x627, &x628, x615,
+                                                         UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x629, &x630, x615,
+                                                         UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x631, &x632, x615,
+                                                         UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x633, &x634, 0x0,
+                                                              x632, x629);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x635, &x636,
+                                                              x634, x630, x627);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x637, &x638,
+                                                              x636, x628, x625);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x639, &x640,
+                                                              x638, x626, x623);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x641, &x642,
+                                                              x640, x624, x621);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x643, &x644,
+                                                              x642, x622, x619);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x645, &x646,
+                                                              x644, x620, x617);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x647, &x648, 0x0,
+                                                              x599, x631);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x649, &x650,
+                                                              x648, x601, x633);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x651, &x652,
+                                                              x650, x603, x635);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x653, &x654,
+                                                              x652, x605, x637);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x655, &x656,
+                                                              x654, x607, x639);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x657, &x658,
+                                                              x656, x609, x641);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x659, &x660,
+                                                              x658, x611, x643);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x661, &x662,
+                                                              x660, x613, x645);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x663, &x664, x662, (((uint32_t)x614 + x568) + (x598 + x570)),
+        (x646 + x618));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x665, &x666, x7,
+                                                         UINT32_C(0x807a394e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x667, &x668, x7,
+                                                         UINT32_C(0xde097652));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x669, &x670, x7,
+                                                         UINT32_C(0x18630421));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x671, &x672, x7,
+                                                         UINT32_C(0x2849c07b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x673, &x674, x7,
+                                                         UINT32_C(0x1017bb39));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x675, &x676, x7,
+                                                         UINT32_C(0xc2d346c5));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x677, &x678, x7,
+                                                         UINT32_C(0x409973b4));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x679, &x680, x7,
+                                                         UINT32_C(0xc427fcea));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x681, &x682, 0x0,
+                                                              x680, x677);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x683, &x684,
+                                                              x682, x678, x675);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x685, &x686,
+                                                              x684, x676, x673);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x687, &x688,
+                                                              x686, x674, x671);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x689, &x690,
+                                                              x688, x672, x669);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x691, &x692,
+                                                              x690, x670, x667);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x693, &x694,
+                                                              x692, x668, x665);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x695, &x696, 0x0,
+                                                              x649, x679);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x697, &x698,
+                                                              x696, x651, x681);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x699, &x700,
+                                                              x698, x653, x683);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x701, &x702,
+                                                              x700, x655, x685);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x703, &x704,
+                                                              x702, x657, x687);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x705, &x706,
+                                                              x704, x659, x689);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x707, &x708,
+                                                              x706, x661, x691);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x709, &x710,
+                                                              x708, x663, x693);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x711, &x712, x695,
+                                                         UINT32_C(0x727c176d));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x713, &x714, x711,
+                                                         UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x715, &x716, x711,
+                                                         UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x717, &x718, x711,
+                                                         UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x719, &x720, x711,
+                                                         UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x721, &x722, x711,
+                                                         UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x723, &x724, x711,
+                                                         UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x725, &x726, x711,
+                                                         UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mulx_u32(&x727, &x728, x711,
+                                                         UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x729, &x730, 0x0,
+                                                              x728, x725);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x731, &x732,
+                                                              x730, x726, x723);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x733, &x734,
+                                                              x732, x724, x721);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x735, &x736,
+                                                              x734, x722, x719);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x737, &x738,
+                                                              x736, x720, x717);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x739, &x740,
+                                                              x738, x718, x715);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x741, &x742,
+                                                              x740, x716, x713);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x743, &x744, 0x0,
+                                                              x695, x727);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x745, &x746,
+                                                              x744, x697, x729);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x747, &x748,
+                                                              x746, x699, x731);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x749, &x750,
+                                                              x748, x701, x733);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x751, &x752,
+                                                              x750, x703, x735);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x753, &x754,
+                                                              x752, x705, x737);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x755, &x756,
+                                                              x754, x707, x739);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(&x757, &x758,
+                                                              x756, x709, x741);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_addcarryx_u32(
+        &x759, &x760, x758, (((uint32_t)x710 + x664) + (x694 + x666)),
+        (x742 + x714));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x761, &x762, 0x0, x745, UINT32_C(0x22d759b));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x763, &x764, x762, x747, UINT32_C(0x7998f7b9));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x765, &x766, x764, x749, UINT32_C(0x789051d3));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x767, &x768, x766, x751, UINT32_C(0xcf846e86));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x769, &x770, x768, x753, UINT32_C(0x6b41c8aa));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x771, &x772, x770, x755, UINT32_C(0xab1ec85e));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x773, &x774, x772, x757, UINT32_C(0x5a858107));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(
+        &x775, &x776, x774, x759, UINT32_C(0x9b9f605f));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_subborrowx_u32(&x777, &x778,
+                                                               x776, x760, 0x0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x779, x778, x761,
+                                                            x745);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x780, x778, x763,
+                                                            x747);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x781, x778, x765,
+                                                            x749);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x782, x778, x767,
+                                                            x751);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x783, x778, x769,
+                                                            x753);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x784, x778, x771,
+                                                            x755);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x785, x778, x773,
+                                                            x757);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(&x786, x778, x775,
+                                                            x759);
+    out1[0] = x779;
+    out1[1] = x780;
+    out1[2] = x781;
+    out1[3] = x782;
+    out1[4] = x783;
+    out1[5] = x784;
+    out1[6] = x785;
+    out1[7] = x786;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_nonzero outputs a single non-zero word if the input is non-zero and zero otherwise.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   out1 = 0 ↔ eval (from_montgomery arg1) mod m = 0
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffffff]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_nonzero(
+    uint32_t *out1, const uint32_t arg1[8]) {
+    uint32_t x1;
+    x1 = ((arg1[0]) |
+          ((arg1[1]) |
+           ((arg1[2]) |
+            ((arg1[3]) |
+             ((arg1[4]) |
+              ((arg1[5]) | ((arg1[6]) | ((arg1[7]) | (uint32_t)0x0))))))));
+    *out1 = x1;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_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]]
+ *   arg3: [[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]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
+    uint32_t out1[8], fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_uint1 arg1,
+    const uint32_t arg2[8], const uint32_t arg3[8]) {
+    uint32_t x1;
+    uint32_t x2;
+    uint32_t x3;
+    uint32_t x4;
+    uint32_t x5;
+    uint32_t x6;
+    uint32_t x7;
+    uint32_t x8;
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
+        &x1, arg1, (arg2[0]), (arg3[0]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
+        &x2, arg1, (arg2[1]), (arg3[1]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
+        &x3, arg1, (arg2[2]), (arg3[2]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
+        &x4, arg1, (arg2[3]), (arg3[3]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
+        &x5, arg1, (arg2[4]), (arg3[4]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
+        &x6, arg1, (arg2[5]), (arg3[5]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
+        &x7, arg1, (arg2[6]), (arg3[6]));
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_cmovznz_u32(
+        &x8, arg1, (arg2[7]), (arg3[7]));
+    out1[0] = x1;
+    out1[1] = x2;
+    out1[2] = x3;
+    out1[3] = x4;
+    out1[4] = x5;
+    out1[5] = x6;
+    out1[6] = x7;
+    out1[7] = x8;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes serializes a field element in the Montgomery domain to bytes in little-endian order.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..31]
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * 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]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(
+    uint8_t out1[32], const uint32_t arg1[8]) {
+    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;
+    uint8_t x10;
+    uint32_t x11;
+    uint8_t x12;
+    uint8_t x13;
+    uint8_t x14;
+    uint8_t x15;
+    uint32_t x16;
+    uint8_t x17;
+    uint32_t x18;
+    uint8_t x19;
+    uint8_t x20;
+    uint8_t x21;
+    uint8_t x22;
+    uint32_t x23;
+    uint8_t x24;
+    uint32_t x25;
+    uint8_t x26;
+    uint8_t x27;
+    uint8_t x28;
+    uint8_t x29;
+    uint32_t x30;
+    uint8_t x31;
+    uint32_t x32;
+    uint8_t x33;
+    uint8_t x34;
+    uint8_t x35;
+    uint8_t x36;
+    uint32_t x37;
+    uint8_t x38;
+    uint32_t x39;
+    uint8_t x40;
+    uint8_t x41;
+    uint8_t x42;
+    uint8_t x43;
+    uint32_t x44;
+    uint8_t x45;
+    uint32_t x46;
+    uint8_t x47;
+    uint8_t x48;
+    uint8_t x49;
+    uint8_t x50;
+    uint32_t x51;
+    uint8_t x52;
+    uint32_t x53;
+    uint8_t x54;
+    uint8_t x55;
+    uint8_t x56;
+    uint8_t x57;
+    uint32_t x58;
+    uint8_t x59;
+    uint32_t x60;
+    uint8_t x61;
+    uint8_t x62;
+    uint8_t x63;
+    x1 = (arg1[7]);
+    x2 = (arg1[6]);
+    x3 = (arg1[5]);
+    x4 = (arg1[4]);
+    x5 = (arg1[3]);
+    x6 = (arg1[2]);
+    x7 = (arg1[1]);
+    x8 = (arg1[0]);
+    x9 = (x8 >> 8);
+    x10 = (uint8_t)(x8 & UINT8_C(0xff));
+    x11 = (x9 >> 8);
+    x12 = (uint8_t)(x9 & UINT8_C(0xff));
+    x13 = (uint8_t)(x11 >> 8);
+    x14 = (uint8_t)(x11 & UINT8_C(0xff));
+    x15 = (uint8_t)(x13 & UINT8_C(0xff));
+    x16 = (x7 >> 8);
+    x17 = (uint8_t)(x7 & UINT8_C(0xff));
+    x18 = (x16 >> 8);
+    x19 = (uint8_t)(x16 & UINT8_C(0xff));
+    x20 = (uint8_t)(x18 >> 8);
+    x21 = (uint8_t)(x18 & UINT8_C(0xff));
+    x22 = (uint8_t)(x20 & UINT8_C(0xff));
+    x23 = (x6 >> 8);
+    x24 = (uint8_t)(x6 & UINT8_C(0xff));
+    x25 = (x23 >> 8);
+    x26 = (uint8_t)(x23 & UINT8_C(0xff));
+    x27 = (uint8_t)(x25 >> 8);
+    x28 = (uint8_t)(x25 & UINT8_C(0xff));
+    x29 = (uint8_t)(x27 & UINT8_C(0xff));
+    x30 = (x5 >> 8);
+    x31 = (uint8_t)(x5 & UINT8_C(0xff));
+    x32 = (x30 >> 8);
+    x33 = (uint8_t)(x30 & UINT8_C(0xff));
+    x34 = (uint8_t)(x32 >> 8);
+    x35 = (uint8_t)(x32 & UINT8_C(0xff));
+    x36 = (uint8_t)(x34 & UINT8_C(0xff));
+    x37 = (x4 >> 8);
+    x38 = (uint8_t)(x4 & UINT8_C(0xff));
+    x39 = (x37 >> 8);
+    x40 = (uint8_t)(x37 & UINT8_C(0xff));
+    x41 = (uint8_t)(x39 >> 8);
+    x42 = (uint8_t)(x39 & UINT8_C(0xff));
+    x43 = (uint8_t)(x41 & UINT8_C(0xff));
+    x44 = (x3 >> 8);
+    x45 = (uint8_t)(x3 & UINT8_C(0xff));
+    x46 = (x44 >> 8);
+    x47 = (uint8_t)(x44 & UINT8_C(0xff));
+    x48 = (uint8_t)(x46 >> 8);
+    x49 = (uint8_t)(x46 & UINT8_C(0xff));
+    x50 = (uint8_t)(x48 & UINT8_C(0xff));
+    x51 = (x2 >> 8);
+    x52 = (uint8_t)(x2 & UINT8_C(0xff));
+    x53 = (x51 >> 8);
+    x54 = (uint8_t)(x51 & UINT8_C(0xff));
+    x55 = (uint8_t)(x53 >> 8);
+    x56 = (uint8_t)(x53 & UINT8_C(0xff));
+    x57 = (uint8_t)(x55 & UINT8_C(0xff));
+    x58 = (x1 >> 8);
+    x59 = (uint8_t)(x1 & UINT8_C(0xff));
+    x60 = (x58 >> 8);
+    x61 = (uint8_t)(x58 & UINT8_C(0xff));
+    x62 = (uint8_t)(x60 >> 8);
+    x63 = (uint8_t)(x60 & UINT8_C(0xff));
+    out1[0] = x10;
+    out1[1] = x12;
+    out1[2] = x14;
+    out1[3] = x15;
+    out1[4] = x17;
+    out1[5] = x19;
+    out1[6] = x21;
+    out1[7] = x22;
+    out1[8] = x24;
+    out1[9] = x26;
+    out1[10] = x28;
+    out1[11] = x29;
+    out1[12] = x31;
+    out1[13] = x33;
+    out1[14] = x35;
+    out1[15] = x36;
+    out1[16] = x38;
+    out1[17] = x40;
+    out1[18] = x42;
+    out1[19] = x43;
+    out1[20] = x45;
+    out1[21] = x47;
+    out1[22] = x49;
+    out1[23] = x50;
+    out1[24] = x52;
+    out1[25] = x54;
+    out1[26] = x56;
+    out1[27] = x57;
+    out1[28] = x59;
+    out1[29] = x61;
+    out1[30] = x63;
+    out1[31] = x62;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes deserializes a field element in the Montgomery domain from bytes in little-endian order.
+ * Preconditions:
+ *   0 ≤ bytes_eval arg1 < m
+ * Postconditions:
+ *   eval out1 mod m = bytes_eval arg1 mod m
+ *   0 ≤ eval out1 < 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]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(
+    uint32_t out1[8], const uint8_t arg1[32]) {
+    uint32_t x1;
+    uint32_t x2;
+    uint32_t x3;
+    uint8_t x4;
+    uint32_t x5;
+    uint32_t x6;
+    uint32_t x7;
+    uint8_t x8;
+    uint32_t x9;
+    uint32_t x10;
+    uint32_t x11;
+    uint8_t x12;
+    uint32_t x13;
+    uint32_t x14;
+    uint32_t x15;
+    uint8_t x16;
+    uint32_t x17;
+    uint32_t x18;
+    uint32_t x19;
+    uint8_t x20;
+    uint32_t x21;
+    uint32_t x22;
+    uint32_t x23;
+    uint8_t x24;
+    uint32_t x25;
+    uint32_t x26;
+    uint32_t x27;
+    uint8_t x28;
+    uint32_t x29;
+    uint32_t x30;
+    uint32_t x31;
+    uint8_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;
+    x1 = ((uint32_t)(arg1[31]) << 24);
+    x2 = ((uint32_t)(arg1[30]) << 16);
+    x3 = ((uint32_t)(arg1[29]) << 8);
+    x4 = (arg1[28]);
+    x5 = ((uint32_t)(arg1[27]) << 24);
+    x6 = ((uint32_t)(arg1[26]) << 16);
+    x7 = ((uint32_t)(arg1[25]) << 8);
+    x8 = (arg1[24]);
+    x9 = ((uint32_t)(arg1[23]) << 24);
+    x10 = ((uint32_t)(arg1[22]) << 16);
+    x11 = ((uint32_t)(arg1[21]) << 8);
+    x12 = (arg1[20]);
+    x13 = ((uint32_t)(arg1[19]) << 24);
+    x14 = ((uint32_t)(arg1[18]) << 16);
+    x15 = ((uint32_t)(arg1[17]) << 8);
+    x16 = (arg1[16]);
+    x17 = ((uint32_t)(arg1[15]) << 24);
+    x18 = ((uint32_t)(arg1[14]) << 16);
+    x19 = ((uint32_t)(arg1[13]) << 8);
+    x20 = (arg1[12]);
+    x21 = ((uint32_t)(arg1[11]) << 24);
+    x22 = ((uint32_t)(arg1[10]) << 16);
+    x23 = ((uint32_t)(arg1[9]) << 8);
+    x24 = (arg1[8]);
+    x25 = ((uint32_t)(arg1[7]) << 24);
+    x26 = ((uint32_t)(arg1[6]) << 16);
+    x27 = ((uint32_t)(arg1[5]) << 8);
+    x28 = (arg1[4]);
+    x29 = ((uint32_t)(arg1[3]) << 24);
+    x30 = ((uint32_t)(arg1[2]) << 16);
+    x31 = ((uint32_t)(arg1[1]) << 8);
+    x32 = (arg1[0]);
+    x33 = (x32 + (x31 + (x30 + x29)));
+    x34 = (x33 & UINT32_C(0xffffffff));
+    x35 = (x4 + (x3 + (x2 + x1)));
+    x36 = (x8 + (x7 + (x6 + x5)));
+    x37 = (x12 + (x11 + (x10 + x9)));
+    x38 = (x16 + (x15 + (x14 + x13)));
+    x39 = (x20 + (x19 + (x18 + x17)));
+    x40 = (x24 + (x23 + (x22 + x21)));
+    x41 = (x28 + (x27 + (x26 + x25)));
+    x42 = (x41 & UINT32_C(0xffffffff));
+    x43 = (x40 & UINT32_C(0xffffffff));
+    x44 = (x39 & UINT32_C(0xffffffff));
+    x45 = (x38 & UINT32_C(0xffffffff));
+    x46 = (x37 & UINT32_C(0xffffffff));
+    x47 = (x36 & UINT32_C(0xffffffff));
+    out1[0] = x34;
+    out1[1] = x42;
+    out1[2] = x43;
+    out1[3] = x44;
+    out1[4] = x45;
+    out1[5] = x46;
+    out1[6] = x47;
+    out1[7] = x35;
+}
+
+/* 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_GostR3410_2001_CryptoPro_C_ParamSet/fe_inv.op3
+ * sliding window w=5
+ */
+static void fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_inv(fe_t output,
+                                                            const fe_t t1) {
+    int i;
+    /* temporary variables */
+    fe_t acc, t11, t13, t15, t17, t19, t21, t23, t25, t27, t29, t3, t31, t5, t7,
+        t9;
+
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, t1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t3, t1, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t5, t3, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t7, t5, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t9, t7, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t11, t9, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t13, t11, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t15, t13, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t17, t15, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t19, t17, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t21, t19, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t23, t21, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t25, t23, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t27, t25, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t29, t27, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t31, t29, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, t9);
+    for (i = 0; i < 4; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t23);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t7);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t27);
+    for (i = 0; i < 7; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t21);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t21);
+    for (i = 0; i < 8; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t11);
+    for (i = 0; i < 7; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
+    for (i = 0; i < 6; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t29);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t11);
+    for (i = 0; i < 7; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
+    for (i = 0; i < 6; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t25);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
+    for (i = 0; i < 6; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t13);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t13);
+    for (i = 0; i < 6; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t25);
+    for (i = 0; i < 8; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t21);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t11);
+    for (i = 0; i < 7; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t31);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t3);
+    for (i = 0; i < 6; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t29);
+    for (i = 0; i < 6; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t3);
+    for (i = 0; i < 6; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
+    for (i = 0; i < 7; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t9);
+    for (i = 0; i < 8; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t5);
+    for (i = 0; i < 6; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t7);
+    for (i = 0; i < 6; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t19);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t15);
+    for (i = 0; i < 7; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t25);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t17);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t29);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t29);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t25);
+    for (i = 0; i < 7; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t1);
+    for (i = 0; i < 7; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t11);
+    for (i = 0; i < 6; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t23);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(acc, acc, t11);
+    for (i = 0; i < 7; i++)
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(output, acc, t25);
+}
+
+/* curve coefficient constants */
+
+static const limb_t const_one[8] = {UINT32_C(0xFDD28A65), UINT32_C(0x86670846),
+                                    UINT32_C(0x876FAE2C), UINT32_C(0x307B9179),
+                                    UINT32_C(0x94BE3755), UINT32_C(0x54E137A1),
+                                    UINT32_C(0xA57A7EF8), UINT32_C(0x64609FA0)};
+
+static const limb_t const_b[8] = {UINT32_C(0x3BDA2ACF), UINT32_C(0x4BE8A4E9),
+                                  UINT32_C(0x90D382DD), UINT32_C(0x79CC0E3E),
+                                  UINT32_C(0x1D9CC79B), UINT32_C(0x3BA4C8B0),
+                                  UINT32_C(0x966609E9), UINT32_C(0x5CC73B5A)};
+
+/* LUT for scalar multiplication by comb interleaving */
+static const pt_aff_t lut_cmb[27][16] = {
+    {
+        {{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(0x00254F12), UINT32_C(0xD082E007), UINT32_C(0xEB1F1421),
+          UINT32_C(0xC5BA8184), UINT32_C(0xF010780D), UINT32_C(0x4EC9E7D0),
+          UINT32_C(0x2794C8D5), UINT32_C(0x7846B5B7)}},
+        {{UINT32_C(0x7225A595), UINT32_C(0x870FB041), UINT32_C(0x5FD57F04),
+          UINT32_C(0x6CAFAE70), UINT32_C(0x2E7DB9BA), UINT32_C(0xFEC1C2AC),
+          UINT32_C(0x127A5862), UINT32_C(0x9230823E)},
+         {UINT32_C(0xE4464836), UINT32_C(0xF6CFDB6D), UINT32_C(0x9A945AC0),
+          UINT32_C(0x3D79631B), UINT32_C(0x3D0C880D), UINT32_C(0xA1FCF2DF),
+          UINT32_C(0x0EE6A611), UINT32_C(0x17C83E50)}},
+        {{UINT32_C(0xE42734FD), UINT32_C(0x3C79C11A), UINT32_C(0xAC4040C3),
+          UINT32_C(0x1614B2BE), UINT32_C(0x2C3A23A5), UINT32_C(0xDD143725),
+          UINT32_C(0x8AF4F7CD), UINT32_C(0x1A02DA83)},
+         {UINT32_C(0xE7D6991A), UINT32_C(0x23D588D6), UINT32_C(0xD2B3E364),
+          UINT32_C(0x5F332676), UINT32_C(0x9134BA88), UINT32_C(0x35382680),
+          UINT32_C(0xD27090E5), UINT32_C(0x08ECA826)}},
+        {{UINT32_C(0x26761106), UINT32_C(0x231F8DC8), UINT32_C(0x3D78B14B),
+          UINT32_C(0x7363050E), UINT32_C(0xC05C4381), UINT32_C(0xC3B9A1B8),
+          UINT32_C(0xB8ACD9AC), UINT32_C(0x29727635)},
+         {UINT32_C(0x2ED54E6C), UINT32_C(0xDD416AE9), UINT32_C(0x0B48A87C),
+          UINT32_C(0x54608435), UINT32_C(0x97093D22), UINT32_C(0x2C8DEEA4),
+          UINT32_C(0x0D716BAF), UINT32_C(0x87D2924C)}},
+        {{UINT32_C(0x619206D6), UINT32_C(0x43281D30), UINT32_C(0x68744E44),
+          UINT32_C(0x4A8FFC87), UINT32_C(0x708208D5), UINT32_C(0xB1011A3D),
+          UINT32_C(0xA035B0B9), UINT32_C(0x2FE86E7B)},
+         {UINT32_C(0xA3762860), UINT32_C(0x82F43088), UINT32_C(0xB33595D4),
+          UINT32_C(0x67B5A303), UINT32_C(0xB477BECD), UINT32_C(0x262F16EB),
+          UINT32_C(0x23E2816A), UINT32_C(0x1D38D4A7)}},
+        {{UINT32_C(0xAD83C032), UINT32_C(0x91BBA3C0), UINT32_C(0x234F2FF3),
+          UINT32_C(0x7DBC2EB6), UINT32_C(0x6D18A737), UINT32_C(0xE2C00C15),
+          UINT32_C(0xCCF6DC2D), UINT32_C(0x71D1AE8B)},
+         {UINT32_C(0x2DB77239), UINT32_C(0x6183816A), UINT32_C(0x0E228C41),
+          UINT32_C(0xC545A512), UINT32_C(0x0F49A679), UINT32_C(0x3B96D6BC),
+          UINT32_C(0xE49E39C2), UINT32_C(0x9831D683)}},
+        {{UINT32_C(0x20DA13D9), UINT32_C(0xEEAA17A9), UINT32_C(0x8ABECADE),
+          UINT32_C(0xEE3130FB), UINT32_C(0xA6E3D089), UINT32_C(0xBFB2CE6A),
+          UINT32_C(0xE627A07C), UINT32_C(0x22BCDCEE)},
+         {UINT32_C(0x955A1D9E), UINT32_C(0x86D7A50C), UINT32_C(0xE4E00B9E),
+          UINT32_C(0xCD60A425), UINT32_C(0x615B9E91), UINT32_C(0x5407A6F8),
+          UINT32_C(0x4F1CA93D), UINT32_C(0x7F17B171)}},
+        {{UINT32_C(0x0DB59F2C), UINT32_C(0xBC351DE0), UINT32_C(0x9CDAF8AF),
+          UINT32_C(0x1470E6A1), UINT32_C(0x60D3B27A), UINT32_C(0x461ED289),
+          UINT32_C(0x49C7F789), UINT32_C(0x122C8F4B)},
+         {UINT32_C(0x069FC8CE), UINT32_C(0xAB56E614), UINT32_C(0xC34E487C),
+          UINT32_C(0x9836B010), UINT32_C(0x3FE009EB), UINT32_C(0x9EE06703),
+          UINT32_C(0xAA019563), UINT32_C(0x88C8DC64)}},
+        {{UINT32_C(0x63DDBB1F), UINT32_C(0xD0B4A996), UINT32_C(0x1D154696),
+          UINT32_C(0x483286E5), UINT32_C(0x9F0D6F4E), UINT32_C(0xF0586DB8),
+          UINT32_C(0x980446C8), UINT32_C(0x38167987)},
+         {UINT32_C(0xE4166B55), UINT32_C(0x86A2ABAC), UINT32_C(0xA8366C64),
+          UINT32_C(0x4E7B4F96), UINT32_C(0xED997D8E), UINT32_C(0x20CF2108),
+          UINT32_C(0x1D01C009), UINT32_C(0x20EA9844)}},
+        {{UINT32_C(0xB89CE05A), UINT32_C(0x028B520E), UINT32_C(0x4FAAD420),
+          UINT32_C(0xEF41147D), UINT32_C(0x121A2A0A), UINT32_C(0xB280CCD3),
+          UINT32_C(0x86E8F591), UINT32_C(0x4C677C83)},
+         {UINT32_C(0xA390AA99), UINT32_C(0xB42F67B2), UINT32_C(0x19F8A01A),
+          UINT32_C(0xC4EF553B), UINT32_C(0x6979027F), UINT32_C(0x86761139),
+          UINT32_C(0x82C202BE), UINT32_C(0x6F177663)}},
+        {{UINT32_C(0x27C5C7CC), UINT32_C(0xBEF6B996), UINT32_C(0x10799DB8),
+          UINT32_C(0xB2D34F8B), UINT32_C(0x48AD9B1E), UINT32_C(0x132E1A3D),
+          UINT32_C(0xE68B9907), UINT32_C(0x2971BFED)},
+         {UINT32_C(0xC6B743B5), UINT32_C(0x312F6D31), UINT32_C(0xA718E0A8),
+          UINT32_C(0xCF123317), UINT32_C(0xFD58637C), UINT32_C(0xCF1E5266),
+          UINT32_C(0xE046167C), UINT32_C(0x56BA8362)}},
+        {{UINT32_C(0x0E910D7F), UINT32_C(0xD680969D), UINT32_C(0x8A4689F9),
+          UINT32_C(0x634FB3C2), UINT32_C(0x09FDD299), UINT32_C(0xA79A56DF),
+          UINT32_C(0x89411C3D), UINT32_C(0x9065269E)},
+         {UINT32_C(0x82C6076C), UINT32_C(0x5D22254E), UINT32_C(0x81FEA171),
+          UINT32_C(0xDE7D78F0), UINT32_C(0x10BCDA87), UINT32_C(0xE1366964),
+          UINT32_C(0x97638B85), UINT32_C(0x98B58F5A)}},
+        {{UINT32_C(0xFB5EDF3F), UINT32_C(0xA532DED4), UINT32_C(0x833A7E2F),
+          UINT32_C(0x604E5631), UINT32_C(0x3A09C74E), UINT32_C(0x7C4051D3),
+          UINT32_C(0xEDFBEB4B), UINT32_C(0x51D1108A)},
+         {UINT32_C(0x4DF1AB4D), UINT32_C(0x9AE61F9E), UINT32_C(0x163DB1A5),
+          UINT32_C(0xFD4966F3), UINT32_C(0x7075AD6D), UINT32_C(0xF6C44E55),
+          UINT32_C(0x4AF24611), UINT32_C(0x670D0D6F)}},
+        {{UINT32_C(0xD369D301), UINT32_C(0xD99925FF), UINT32_C(0x7665BCF4),
+          UINT32_C(0xC17E9767), UINT32_C(0xCB5A2128), UINT32_C(0xB5A908F1),
+          UINT32_C(0x9C726C9F), UINT32_C(0x1981791D)},
+         {UINT32_C(0xE0861F4E), UINT32_C(0xC4249418), UINT32_C(0xEE045D5E),
+          UINT32_C(0x2A63399F), UINT32_C(0xA1B974FF), UINT32_C(0x246958FD),
+          UINT32_C(0x0FC6F7A0), UINT32_C(0x668016A2)}},
+        {{UINT32_C(0xEDE07C08), UINT32_C(0xEB7018AD), UINT32_C(0x2E33D1D9),
+          UINT32_C(0xDF3C1259), UINT32_C(0xDC24E3DE), UINT32_C(0xEE0913DA),
+          UINT32_C(0x35EB6B0D), UINT32_C(0x1C632D5B)},
+         {UINT32_C(0x2C56E1B2), UINT32_C(0xC69396DD), UINT32_C(0xA837CE8F),
+          UINT32_C(0x01F0B034), UINT32_C(0xB6882E32), UINT32_C(0x7842B98D),
+          UINT32_C(0x9E61FCA6), UINT32_C(0x8FAC9230)}},
+        {{UINT32_C(0x8A782CFE), UINT32_C(0x1DBB7D99), UINT32_C(0xC9322BE7),
+          UINT32_C(0xEB945B49), UINT32_C(0xE208123B), UINT32_C(0xDCCB4E6E),
+          UINT32_C(0xFC024524), UINT32_C(0x1C7C265C)},
+         {UINT32_C(0x6102BC63), UINT32_C(0xAD000D8A), UINT32_C(0x82575943),
+          UINT32_C(0x7D7F3C7B), UINT32_C(0x0D547A95), UINT32_C(0x8D2F0881),
+          UINT32_C(0xD94FFA6D), UINT32_C(0x7012377A)}},
+    },
+    {
+        {{UINT32_C(0x1EB6CBF7), UINT32_C(0xE3F78DE5), UINT32_C(0x72FA65DB),
+          UINT32_C(0xF4E08A61), UINT32_C(0x502A247E), UINT32_C(0x670B0E06),
+          UINT32_C(0x9877E492), UINT32_C(0x7A45D73E)},
+         {UINT32_C(0x3DD0CDBC), UINT32_C(0x5FD754AD), UINT32_C(0x0125AB1F),
+          UINT32_C(0xA5C2B15E), UINT32_C(0xE614B7A9), UINT32_C(0xC503836F),
+          UINT32_C(0x2C50DCFE), UINT32_C(0x5548C424)}},
+        {{UINT32_C(0xB9B38743), UINT32_C(0xCEE7BE65), UINT32_C(0x94BE028E),
+          UINT32_C(0xD5E41715), UINT32_C(0xB5C45F7D), UINT32_C(0x08EC3CA3),
+          UINT32_C(0xFB51261A), UINT32_C(0x1ACFAC17)},
+         {UINT32_C(0xA9C04381), UINT32_C(0x45098D93), UINT32_C(0xA5B45DC8),
+          UINT32_C(0x717FC0DC), UINT32_C(0xEABEE4E5), UINT32_C(0xF352A9C2),
+          UINT32_C(0xF311B457), UINT32_C(0x1964AF20)}},
+        {{UINT32_C(0x0802A755), UINT32_C(0x8C229808), UINT32_C(0x6140CDA7),
+          UINT32_C(0x46F0A7CA), UINT32_C(0xBC62603B), UINT32_C(0xF0EEB7AE),
+          UINT32_C(0x4BF4B451), UINT32_C(0x8432E152)},
+         {UINT32_C(0x63967F94), UINT32_C(0x3C319825), UINT32_C(0xA042AE13),
+          UINT32_C(0xF04EACB6), UINT32_C(0x650A6ADB), UINT32_C(0xD7CB2DBC),
+          UINT32_C(0x78C9E166), UINT32_C(0x38A36EE3)}},
+        {{UINT32_C(0xD3EE8657), UINT32_C(0x3527A5C5), UINT32_C(0x101645F9),
+          UINT32_C(0xBAA0DE97), UINT32_C(0xCE9D6A48), UINT32_C(0xC59C9803),
+          UINT32_C(0xF8F39FDF), UINT32_C(0x43D12449)},
+         {UINT32_C(0x8DF7A72B), UINT32_C(0x65B3AB98), UINT32_C(0xAFDA9048),
+          UINT32_C(0xD225AF8E), UINT32_C(0x338A3694), UINT32_C(0x88C368B8),
+          UINT32_C(0xFBC813F1), UINT32_C(0x4A5A3C24)}},
+        {{UINT32_C(0x9E2118B5), UINT32_C(0xCBCB725A), UINT32_C(0xCAA54794),
+          UINT32_C(0x113F36C5), UINT32_C(0x4A0A2267), UINT32_C(0x5900990E),
+          UINT32_C(0x0A9C1F11), UINT32_C(0x4E329EB1)},
+         {UINT32_C(0xCD8918A7), UINT32_C(0xF47F4077), UINT32_C(0x3877B404),
+          UINT32_C(0x18A3C071), UINT32_C(0xEFEB2B6B), UINT32_C(0xCDEF4FE3),
+          UINT32_C(0xDE4D0540), UINT32_C(0x360982DB)}},
+        {{UINT32_C(0xD5F8DACA), UINT32_C(0x42AB64F2), UINT32_C(0xEE88523D),
+          UINT32_C(0x604A9676), UINT32_C(0xAEFD1283), UINT32_C(0xD430CCAB),
+          UINT32_C(0x54465F7C), UINT32_C(0x3DA9D0E5)},
+         {UINT32_C(0x41A4216B), UINT32_C(0x5EC145DF), UINT32_C(0xF7E7FBD9),
+          UINT32_C(0x7C8F2C51), UINT32_C(0xBD483D26), UINT32_C(0xA2E58A23),
+          UINT32_C(0xE4A908C8), UINT32_C(0x4739F7F9)}},
+        {{UINT32_C(0x79370382), UINT32_C(0x37DDF872), UINT32_C(0x12C8E90E),
+          UINT32_C(0x9D26A55F), UINT32_C(0xE8EB0CA4), UINT32_C(0xFC1FA6CD),
+          UINT32_C(0xC29DC4F9), UINT32_C(0x826A29E5)},
+         {UINT32_C(0xAA29F814), UINT32_C(0x15ECB621), UINT32_C(0x9DF1DFF7),
+          UINT32_C(0x4C8A8128), UINT32_C(0x66B549BB), UINT32_C(0xBB223019),
+          UINT32_C(0xB81A2863), UINT32_C(0x6CB21ACB)}},
+        {{UINT32_C(0x11DA6928), UINT32_C(0xDD31ACC2), UINT32_C(0xA903D58F),
+          UINT32_C(0xF98867B0), UINT32_C(0xD3679348), UINT32_C(0xAD283697),
+          UINT32_C(0x301C3571), UINT32_C(0x67BFEFF9)},
+         {UINT32_C(0x780BBBCE), UINT32_C(0xB745CAE6), UINT32_C(0x62F2EC5D),
+          UINT32_C(0x1A9C6618), UINT32_C(0xA1475BEB), UINT32_C(0xF9895684),
+          UINT32_C(0x4731A11D), UINT32_C(0x93E5ACE6)}},
+        {{UINT32_C(0x7539483E), UINT32_C(0x0F6E9460), UINT32_C(0x9EF4EF16),
+          UINT32_C(0x5728E6DD), UINT32_C(0x062E946E), UINT32_C(0xE1DA86E1),
+          UINT32_C(0xF2E07759), UINT32_C(0x272EBC47)},
+         {UINT32_C(0x909A578F), UINT32_C(0xE5E688E3), UINT32_C(0x7CFD1B7D),
+          UINT32_C(0x9F25D6D1), UINT32_C(0xADE1E2A4), UINT32_C(0xC582260F),
+          UINT32_C(0xA050071E), UINT32_C(0x2F50F74E)}},
+        {{UINT32_C(0x2DF4D40D), UINT32_C(0xE0A8FE3F), UINT32_C(0x07791F88),
+          UINT32_C(0xB126E4EF), UINT32_C(0x2A88D242), UINT32_C(0x69759DB4),
+          UINT32_C(0xC9C1981C), UINT32_C(0x52592A3B)},
+         {UINT32_C(0x72F649A1), UINT32_C(0xD0F41728), UINT32_C(0x0750EBAB),
+          UINT32_C(0x9FF19B2B), UINT32_C(0xE0D7D222), UINT32_C(0xEFC047F9),
+          UINT32_C(0x2E8140AF), UINT32_C(0x81491CA1)}},
+        {{UINT32_C(0x675F821B), UINT32_C(0x2DA40FF1), UINT32_C(0x9E2E0502),
+          UINT32_C(0x2C91A287), UINT32_C(0x077D81FE), UINT32_C(0x993ECFF4),
+          UINT32_C(0x71CC3DAE), UINT32_C(0x3ABA2F2C)},
+         {UINT32_C(0x168413DB), UINT32_C(0xED007670), UINT32_C(0xAFBD4E82),
+          UINT32_C(0xC07D61B5), UINT32_C(0x6BBADA24), UINT32_C(0xF078262E),
+          UINT32_C(0x9E6413CC), UINT32_C(0x0E0EDC62)}},
+        {{UINT32_C(0xB7D099F9), UINT32_C(0x6CD0451D), UINT32_C(0xF8B12C83),
+          UINT32_C(0x8FB218E6), UINT32_C(0xE55EE1E4), UINT32_C(0x4D8C3B26),
+          UINT32_C(0x4A6FCD90), UINT32_C(0x94964906)},
+         {UINT32_C(0x4BEACA48), UINT32_C(0x9ABB9685), UINT32_C(0x868EFEC7),
+          UINT32_C(0x6A749487), UINT32_C(0xC8D2932C), UINT32_C(0x46BB9B42),
+          UINT32_C(0xDE007BAC), UINT32_C(0x82384321)}},
+        {{UINT32_C(0xA942DB71), UINT32_C(0xDBECB743), UINT32_C(0x21A6BC46),
+          UINT32_C(0x21B52115), UINT32_C(0x24C17D78), UINT32_C(0xE49B6894),
+          UINT32_C(0x89A08E17), UINT32_C(0x737FD3F1)},
+         {UINT32_C(0xC36E4E57), UINT32_C(0xF833E404), UINT32_C(0x01E17CE6),
+          UINT32_C(0x512C114A), UINT32_C(0x50D75050), UINT32_C(0x65A23D73),
+          UINT32_C(0xF2F2D438), UINT32_C(0x838CA746)}},
+        {{UINT32_C(0xA20632B7), UINT32_C(0x28F9220C), UINT32_C(0x642358D6),
+          UINT32_C(0x72D8C347), UINT32_C(0xE89CAA6F), UINT32_C(0xAB15FE1B),
+          UINT32_C(0x6E16374A), UINT32_C(0x2A09B143)},
+         {UINT32_C(0xB983CFE8), UINT32_C(0x4CED0986), UINT32_C(0x97B84E88),
+          UINT32_C(0xD9B067B6), UINT32_C(0xC2350F8F), UINT32_C(0x926FC5F5),
+          UINT32_C(0x84E2078F), UINT32_C(0x31D77358)}},
+        {{UINT32_C(0x7FF17BA1), UINT32_C(0xA7815CE7), UINT32_C(0xA26BBA1B),
+          UINT32_C(0xBE80BB6C), UINT32_C(0xF86DF104), UINT32_C(0x66DAE535),
+          UINT32_C(0xAB1B9C09), UINT32_C(0x72739199)},
+         {UINT32_C(0x54056E67), UINT32_C(0x8E93F3C8), UINT32_C(0xEBF23595),
+          UINT32_C(0xDC5E3855), UINT32_C(0x78123000), UINT32_C(0x70D1033C),
+          UINT32_C(0xF22DD2BD), UINT32_C(0x50874350)}},
+        {{UINT32_C(0xC2700468), UINT32_C(0x533F213B), UINT32_C(0x11BEA732),
+          UINT32_C(0x31E6AA9C), UINT32_C(0x4491DC82), UINT32_C(0xCB5E184E),
+          UINT32_C(0x5BD63975), UINT32_C(0x8A68049A)},
+         {UINT32_C(0xF86A41D1), UINT32_C(0x1724AC47), UINT32_C(0xECA0DA11),
+          UINT32_C(0xDF9A0CA3), UINT32_C(0x71F0EA19), UINT32_C(0xE5E1489C),
+          UINT32_C(0xC9DC7BF2), UINT32_C(0x0E20661A)}},
+    },
+    {
+        {{UINT32_C(0xF86D9DA8), UINT32_C(0x5EB4E319), UINT32_C(0xE0A46703),
+          UINT32_C(0x3CBF130E), UINT32_C(0x00A4AB17), UINT32_C(0x166D52DA),
+          UINT32_C(0xB7030861), UINT32_C(0x27A80547)},
+         {UINT32_C(0x399C32BA), UINT32_C(0xA7601086), UINT32_C(0xC2F0A5E5),
+          UINT32_C(0x571E4E4B), UINT32_C(0x39BED44D), UINT32_C(0x72D12F6B),
+          UINT32_C(0x1AF8F25F), UINT32_C(0x8FDCCE3D)}},
+        {{UINT32_C(0x7DFEB40D), UINT32_C(0x281F7AF9), UINT32_C(0xD7F767D5),
+          UINT32_C(0x0CCE33B9), UINT32_C(0x8818C1E6), UINT32_C(0x3E8BF3F4),
+          UINT32_C(0x4BA4647A), UINT32_C(0x6D909D0D)},
+         {UINT32_C(0xFAC574D1), UINT32_C(0x91D77BA0), UINT32_C(0x68CA7FEC),
+          UINT32_C(0xD2592661), UINT32_C(0x281F269C), UINT32_C(0xC4C7D6B5),
+          UINT32_C(0xDA42CDDD), UINT32_C(0x7A41CD78)}},
+        {{UINT32_C(0xA3B8F255), UINT32_C(0xBC8E0D27), UINT32_C(0x1C3E5190),
+          UINT32_C(0xF5E2A8B1), UINT32_C(0xD609F668), UINT32_C(0x8C38862B),
+          UINT32_C(0x0631D50F), UINT32_C(0x4E31C18E)},
+         {UINT32_C(0xF13E0CCD), UINT32_C(0x9013EDDB), UINT32_C(0x41EFDAF7),
+          UINT32_C(0x83B04E68), UINT32_C(0xDC82597F), UINT32_C(0x15EC4BB8),
+          UINT32_C(0x56117705), UINT32_C(0x50595150)}},
+        {{UINT32_C(0x1E0E0161), UINT32_C(0xD25F244D), UINT32_C(0x1A437FBA),
+          UINT32_C(0x6C975D7B), UINT32_C(0x95F2AD8C), UINT32_C(0x305DB2DF),
+          UINT32_C(0x3B9CC742), UINT32_C(0x17D6E005)},
+         {UINT32_C(0xE60BC3C3), UINT32_C(0x6A849F76), UINT32_C(0xBF8C3790),
+          UINT32_C(0x35523E08), UINT32_C(0x239140E2), UINT32_C(0xF18B5335),
+          UINT32_C(0x7CA5FF40), UINT32_C(0x5E857055)}},
+        {{UINT32_C(0xA4250E95), UINT32_C(0xB48F07A4), UINT32_C(0xC7F17667),
+          UINT32_C(0x068735AE), UINT32_C(0x94771B24), UINT32_C(0x30F8D313),
+          UINT32_C(0xA495A064), UINT32_C(0x598EA397)},
+         {UINT32_C(0x68B76855), UINT32_C(0xBF192529), UINT32_C(0xC7C0D2D6),
+          UINT32_C(0x897E3CC6), UINT32_C(0x64EC9649), UINT32_C(0xA2A4948F),
+          UINT32_C(0xAE7C8598), UINT32_C(0x1027891A)}},
+        {{UINT32_C(0x04585685), UINT32_C(0x0442E6CB), UINT32_C(0x82A2D258),
+          UINT32_C(0x09BA61DA), UINT32_C(0x0AE5466D), UINT32_C(0x7C5400B1),
+          UINT32_C(0xC2133893), UINT32_C(0x0A0B71B0)},
+         {UINT32_C(0xD5EF6E93), UINT32_C(0x04E3D98A), UINT32_C(0xF332BDF2),
+          UINT32_C(0x177EA5F8), UINT32_C(0xC3FAE583), UINT32_C(0xE7CF3F71),
+          UINT32_C(0x8AE0CFD7), UINT32_C(0x40C45133)}},
+        {{UINT32_C(0x9B82E738), UINT32_C(0x6BE94FC3), UINT32_C(0x8BC262E2),
+          UINT32_C(0x212FB804), UINT32_C(0xB22E21FF), UINT32_C(0xE17F6A7A),
+          UINT32_C(0x15E960BB), UINT32_C(0x22B7BDAB)},
+         {UINT32_C(0x771350C2), UINT32_C(0xE154C945), UINT32_C(0x882DB07B),
+          UINT32_C(0x6505B8EB), UINT32_C(0xC7E3ABD3), UINT32_C(0x149A0A16),
+          UINT32_C(0x81C30AAE), UINT32_C(0x78F78ABF)}},
+        {{UINT32_C(0xC954BC0A), UINT32_C(0x6ED81415), UINT32_C(0x70E55349),
+          UINT32_C(0x316E8012), UINT32_C(0x50399C09), UINT32_C(0xEC02323B),
+          UINT32_C(0x8559C3A9), UINT32_C(0x963BA97B)},
+         {UINT32_C(0x037EC345), UINT32_C(0x39FCE50E), UINT32_C(0xD5BF03FB),
+          UINT32_C(0x422A082D), UINT32_C(0x18DCC77E), UINT32_C(0x59ED39E4),
+          UINT32_C(0xA40AA978), UINT32_C(0x4CFC3F11)}},
+        {{UINT32_C(0x55D7C9B6), UINT32_C(0x85A56922), UINT32_C(0xB451111B),
+          UINT32_C(0x5BC590E2), UINT32_C(0x8782C71B), UINT32_C(0x3BCB2315),
+          UINT32_C(0x632246A9), UINT32_C(0x1F3456C4)},
+         {UINT32_C(0x9CFBBE19), UINT32_C(0xEA577AD9), UINT32_C(0x35CCE939),
+          UINT32_C(0x051BEE40), UINT32_C(0x1A0C589C), UINT32_C(0xDC300899),
+          UINT32_C(0xD2095619), UINT32_C(0x14877ECE)}},
+        {{UINT32_C(0x95024C5E), UINT32_C(0xB64D0EC6), UINT32_C(0xB94CDF74),
+          UINT32_C(0xB0597195), UINT32_C(0x16844010), UINT32_C(0x3B97B513),
+          UINT32_C(0xCCBABC63), UINT32_C(0x48799881)},
+         {UINT32_C(0xD9819075), UINT32_C(0x0E3119AE), UINT32_C(0xEB0299FD),
+          UINT32_C(0xA5DCA9C1), UINT32_C(0x4A404D13), UINT32_C(0x8063D788),
+          UINT32_C(0x8044EBE2), UINT32_C(0x974D2A1A)}},
+        {{UINT32_C(0xB8E14640), UINT32_C(0xB6589045), UINT32_C(0x5507B9BE),
+          UINT32_C(0xFAD60A43), UINT32_C(0x56FF32BC), UINT32_C(0x9D540C1C),
+          UINT32_C(0x74265A69), UINT32_C(0x47ECC24F)},
+         {UINT32_C(0xDB3E64C9), UINT32_C(0x0C829F18), UINT32_C(0x72E87B2B),
+          UINT32_C(0xF7C0C6D7), UINT32_C(0x16B616CE), UINT32_C(0xCB3FC512),
+          UINT32_C(0xB94F69B1), UINT32_C(0x549B9227)}},
+        {{UINT32_C(0xDB235273), UINT32_C(0xB151DEE9), UINT32_C(0x6D65606C),
+          UINT32_C(0x2FD9496F), UINT32_C(0xD62B5B0D), UINT32_C(0x6A5E172D),
+          UINT32_C(0xEA0AE249), UINT32_C(0x181E605D)},
+         {UINT32_C(0x8911490A), UINT32_C(0x66D7EB09), UINT32_C(0x2E70DEF2),
+          UINT32_C(0x85E174A3), UINT32_C(0x4EF8CFA9), UINT32_C(0x2DA13354),
+          UINT32_C(0x3E69BD22), UINT32_C(0x1B87FE62)}},
+        {{UINT32_C(0x2BB09564), UINT32_C(0x2DF420CA), UINT32_C(0x7ACEE4D4),
+          UINT32_C(0x1AC26F76), UINT32_C(0x2BC7EF7A), UINT32_C(0x50C68E6F),
+          UINT32_C(0xB445B2FE), UINT32_C(0x4730D654)},
+         {UINT32_C(0x8B57D38D), UINT32_C(0x90C040D9), UINT32_C(0x33CA2C77),
+          UINT32_C(0x28793DB5), UINT32_C(0xAC6A4BE8), UINT32_C(0x22D2B573),
+          UINT32_C(0xB72E7E01), UINT32_C(0x68C0DBDD)}},
+        {{UINT32_C(0x09E2D3FF), UINT32_C(0xDF70BCDC), UINT32_C(0x9F20F624),
+          UINT32_C(0xB6E59970), UINT32_C(0x6DE3119E), UINT32_C(0x5E04FDE7),
+          UINT32_C(0xD5705A5D), UINT32_C(0x1C9B43FF)},
+         {UINT32_C(0x681270B0), UINT32_C(0x7C23A517), UINT32_C(0x9303BF40),
+          UINT32_C(0xDD7FC833), UINT32_C(0x458EE80A), UINT32_C(0x3028E496),
+          UINT32_C(0x52590EEF), UINT32_C(0x0C720063)}},
+        {{UINT32_C(0x2850A5AE), UINT32_C(0x27B29710), UINT32_C(0xAA3E0397),
+          UINT32_C(0xD1E6FBBA), UINT32_C(0xDF8FCBD6), UINT32_C(0xCFB44044),
+          UINT32_C(0xC52B90FD), UINT32_C(0x7CD86272)},
+         {UINT32_C(0xEBA52025), UINT32_C(0xB0E7FA93), UINT32_C(0x04084EF3),
+          UINT32_C(0x64166303), UINT32_C(0x43840178), UINT32_C(0xD7C7DCBE),
+          UINT32_C(0x22FB81A2), UINT32_C(0x8BC7FF77)}},
+        {{UINT32_C(0xDAFCE699), UINT32_C(0xABDC5206), UINT32_C(0x83C5F3A3),
+          UINT32_C(0x522A9137), UINT32_C(0x0E666E5C), UINT32_C(0xBAA93637),
+          UINT32_C(0xD2D33B62), UINT32_C(0x0FD813DA)},
+         {UINT32_C(0x5D417354), UINT32_C(0x83391908), UINT32_C(0xA6B9B447),
+          UINT32_C(0xE5AADE1D), UINT32_C(0xD68321B1), UINT32_C(0xBDE90A3C),
+          UINT32_C(0x0411531B), UINT32_C(0x43FF9514)}},
+    },
+    {
+        {{UINT32_C(0x39648345), UINT32_C(0xD61DEE64), UINT32_C(0x7FCB5B5E),
+          UINT32_C(0xF8B3FA1C), UINT32_C(0x24C29C71), UINT32_C(0xDD531CE1),
+          UINT32_C(0xFFB825FE), UINT32_C(0x7A23608B)},
+         {UINT32_C(0xF0DE896D), UINT32_C(0x8D607B82), UINT32_C(0x06EDDAFE),
+          UINT32_C(0x6E497330), UINT32_C(0xC935E754), UINT32_C(0x8B49EFF0),
+          UINT32_C(0xEE08BDBF), UINT32_C(0x90D54646)}},
+        {{UINT32_C(0x9044FD39), UINT32_C(0xF44FBB16), UINT32_C(0xDFB38141),
+          UINT32_C(0xA72128C4), UINT32_C(0x01954CC0), UINT32_C(0x8467F688),
+          UINT32_C(0xB560B5C5), UINT32_C(0x741C23EE)},
+         {UINT32_C(0x9765CF34), UINT32_C(0xA7F42201), UINT32_C(0x8A2AB61A),
+          UINT32_C(0xB26C97BF), UINT32_C(0xCBD45AF3), UINT32_C(0xAA948763),
+          UINT32_C(0xE21479F5), UINT32_C(0x74C993C2)}},
+        {{UINT32_C(0xBFA717A5), UINT32_C(0xD968CE1A), UINT32_C(0x48E92615),
+          UINT32_C(0x45C1103D), UINT32_C(0xDD98207D), UINT32_C(0x4CCEBE85),
+          UINT32_C(0xE65E5FE6), UINT32_C(0x8A75DF6E)},
+         {UINT32_C(0x418C47C5), UINT32_C(0x9E582C40), UINT32_C(0xA450009B),
+          UINT32_C(0x2E9EE003), UINT32_C(0xDD60D3D2), UINT32_C(0x7C079613),
+          UINT32_C(0x9935D8CA), UINT32_C(0x80A78C4A)}},
+        {{UINT32_C(0xD3C9B903), UINT32_C(0xF6CDED58), UINT32_C(0xEF455E7A),
+          UINT32_C(0x4F27927D), UINT32_C(0x833BB3C1), UINT32_C(0xF9DBBB9E),
+          UINT32_C(0x6BA3770A), UINT32_C(0x4107CFBF)},
+         {UINT32_C(0x520FCB57), UINT32_C(0x61871175), UINT32_C(0x47A12C8E),
+          UINT32_C(0xEA3A307B), UINT32_C(0xC24E9E75), UINT32_C(0x940DDEE8),
+          UINT32_C(0xF33541BB), UINT32_C(0x8AE8F22C)}},
+        {{UINT32_C(0x3973DC0B), UINT32_C(0xE4C89870), UINT32_C(0x55DFAAF0),
+          UINT32_C(0xCC3DD1AC), UINT32_C(0x27372EFE), UINT32_C(0xB63D596B),
+          UINT32_C(0x45A33718), UINT32_C(0x1B92A192)},
+         {UINT32_C(0x00607319), UINT32_C(0x0EABEBEE), UINT32_C(0x7C3E35EE),
+          UINT32_C(0x69B7355E), UINT32_C(0x2233C454), UINT32_C(0xF7354E35),
+          UINT32_C(0x1E722C0A), UINT32_C(0x1E2BAADA)}},
+        {{UINT32_C(0x3B9FE86D), UINT32_C(0xD0E47FE2), UINT32_C(0xDAA1C7BC),
+          UINT32_C(0x878F403F), UINT32_C(0x90F5DED7), UINT32_C(0x5447AD54),
+          UINT32_C(0x1E58B03B), UINT32_C(0x4E8A997B)},
+         {UINT32_C(0x2E926FA8), UINT32_C(0x9AD0E481), UINT32_C(0x8D0EF3AA),
+          UINT32_C(0x871EFB9E), UINT32_C(0x7E714DF6), UINT32_C(0xADD7DD14),
+          UINT32_C(0x2308EE02), UINT32_C(0x9A30245A)}},
+        {{UINT32_C(0x904F0D11), UINT32_C(0x44838B15), UINT32_C(0x2A2A70FF),
+          UINT32_C(0x6177587A), UINT32_C(0x2C2F7943), UINT32_C(0x40293850),
+          UINT32_C(0x67581701), UINT32_C(0x8F851191)},
+         {UINT32_C(0x842E6434), UINT32_C(0x564383D1), UINT32_C(0xAF2C0078),
+          UINT32_C(0x251AF59D), UINT32_C(0x3354A264), UINT32_C(0x8A81772D),
+          UINT32_C(0xDFD2D0EA), UINT32_C(0x9AAFA350)}},
+        {{UINT32_C(0x35461CAD), UINT32_C(0x47397932), UINT32_C(0x62C5BFFA),
+          UINT32_C(0x0F86BD43), UINT32_C(0x7785490D), UINT32_C(0x5F166BC0),
+          UINT32_C(0x2BD61B3E), UINT32_C(0x7DCCC988)},
+         {UINT32_C(0x9394375B), UINT32_C(0x44C3299A), UINT32_C(0x405A34BD),
+          UINT32_C(0x0C5F2803), UINT32_C(0x4237E728), UINT32_C(0x3AD60F1D),
+          UINT32_C(0x72EC2562), UINT32_C(0x6E7E06D0)}},
+        {{UINT32_C(0x3C5840A6), UINT32_C(0x44AD8471), UINT32_C(0x4752BC62),
+          UINT32_C(0x40C3CE2B), UINT32_C(0xEC3FD75F), UINT32_C(0x94B14C21),
+          UINT32_C(0x2629C0C0), UINT32_C(0x65E0E6AF)},
+         {UINT32_C(0x55936454), UINT32_C(0xA3FE2F55), UINT32_C(0x780E25E5),
+          UINT32_C(0x252AD743), UINT32_C(0xFF4E107A), UINT32_C(0x22F9951B),
+          UINT32_C(0x554CEA49), UINT32_C(0x1B8A7DDE)}},
+        {{UINT32_C(0x89F1C6FA), UINT32_C(0xBBDCC2C0), UINT32_C(0xC360A51D),
+          UINT32_C(0x548FEF29), UINT32_C(0x1290EC92), UINT32_C(0x094DAD45),
+          UINT32_C(0xAF55BF30), UINT32_C(0x792F6FB9)},
+         {UINT32_C(0x707FBF4E), UINT32_C(0x37EF4ABE), UINT32_C(0xFC4B6BD0),
+          UINT32_C(0x0F43AB0D), UINT32_C(0x2D6EE5D9), UINT32_C(0x850015B7),
+          UINT32_C(0x35C1FD65), UINT32_C(0x09273F35)}},
+        {{UINT32_C(0xA6C3209B), UINT32_C(0xCECF1B90), UINT32_C(0xABD433C0),
+          UINT32_C(0xFB4BC864), UINT32_C(0x3EEEF8BA), UINT32_C(0x38246AAA),
+          UINT32_C(0x9ED13F88), UINT32_C(0x4BC7904E)},
+         {UINT32_C(0x8E783066), UINT32_C(0xA61C369A), UINT32_C(0x4D1C832C),
+          UINT32_C(0x496FB831), UINT32_C(0x03AD64D5), UINT32_C(0x1907687A),
+          UINT32_C(0x83425766), UINT32_C(0x49516EA5)}},
+        {{UINT32_C(0xB1714E53), UINT32_C(0x8108B704), UINT32_C(0x82E39BE7),
+          UINT32_C(0xB458CB4B), UINT32_C(0x097049DE), UINT32_C(0xFCBD51CC),
+          UINT32_C(0x722E8CBA), UINT32_C(0x415F4079)},
+         {UINT32_C(0x342DF9C6), UINT32_C(0xCDB06F5E), UINT32_C(0x1281AC74),
+          UINT32_C(0x64885CD1), UINT32_C(0x5366673D), UINT32_C(0x932A05E4),
+          UINT32_C(0xE83AD23D), UINT32_C(0x7333520B)}},
+        {{UINT32_C(0xC54B523C), UINT32_C(0xDAA0A1EF), UINT32_C(0xB3C261C8),
+          UINT32_C(0xA3E80053), UINT32_C(0x558FCFA5), UINT32_C(0x352CC612),
+          UINT32_C(0x85852B14), UINT32_C(0x1B9B755D)},
+         {UINT32_C(0xA1B541FF), UINT32_C(0x19EE2CB6), UINT32_C(0xD5786B4F),
+          UINT32_C(0x2B531CE2), UINT32_C(0x08C3E15B), UINT32_C(0xEF5EA6DF),
+          UINT32_C(0x87111129), UINT32_C(0x82161B04)}},
+        {{UINT32_C(0xFCEABAED), UINT32_C(0x5AB533A5), UINT32_C(0x4A4D8E44),
+          UINT32_C(0x4C2147A5), UINT32_C(0xDA02D43D), UINT32_C(0xD8EEE795),
+          UINT32_C(0xA15C1CD0), UINT32_C(0x8CB648DF)},
+         {UINT32_C(0xA788DDDE), UINT32_C(0x4869FB6C), UINT32_C(0x77C03759),
+          UINT32_C(0xF9554D14), UINT32_C(0x96187DB9), UINT32_C(0x4D25B41A),
+          UINT32_C(0x3FE0B3F3), UINT32_C(0x662FBAB3)}},
+        {{UINT32_C(0xA58A5B2E), UINT32_C(0xD3AF4D09), UINT32_C(0x5CE88DBE),
+          UINT32_C(0x3C5DD298), UINT32_C(0x7426C2A4), UINT32_C(0x89DDA42E),
+          UINT32_C(0x49095424), UINT32_C(0x2D832B07)},
+         {UINT32_C(0x62AA84CF), UINT32_C(0x24EFCC03), UINT32_C(0xE86923D7),
+          UINT32_C(0x348C19DE), UINT32_C(0x35DB5CB1), UINT32_C(0x453E9286),
+          UINT32_C(0x8DB21CF3), UINT32_C(0x03F48EEB)}},
+        {{UINT32_C(0xF4035856), UINT32_C(0xBCF9600F), UINT32_C(0xAF820E18),
+          UINT32_C(0xE77CEC83), UINT32_C(0x7F2FBCC1), UINT32_C(0xC87D43C1),
+          UINT32_C(0x6290B18D), UINT32_C(0x574C4CAE)},
+         {UINT32_C(0xE56E1EFE), UINT32_C(0x8BD8AE45), UINT32_C(0x75D6FCC9),
+          UINT32_C(0xB1EFD684), UINT32_C(0xA361E753), UINT32_C(0x9829F227),
+          UINT32_C(0x5211B784), UINT32_C(0x9A50B425)}},
+    },
+    {
+        {{UINT32_C(0x36396F78), UINT32_C(0x26F19590), UINT32_C(0x9AD1982C),
+          UINT32_C(0x350D1A76), UINT32_C(0x947F352E), UINT32_C(0x33BDB4AB),
+          UINT32_C(0xFFE1E1E1), UINT32_C(0x6CA38B05)},
+         {UINT32_C(0x6F2A8CA0), UINT32_C(0x055364C2), UINT32_C(0x2969CA7E),
+          UINT32_C(0xAF15075D), UINT32_C(0xC3B9CB70), UINT32_C(0x2916D58F),
+          UINT32_C(0xD7325693), UINT32_C(0x18D94A8B)}},
+        {{UINT32_C(0xF36EB789), UINT32_C(0x87C41809), UINT32_C(0xA7436F54),
+          UINT32_C(0x8C3517F9), UINT32_C(0x3D785160), UINT32_C(0xE7C02E1D),
+          UINT32_C(0x418C7ABF), UINT32_C(0x5BAFE72E)},
+         {UINT32_C(0xCD9B27C2), UINT32_C(0xA00A8E76), UINT32_C(0x7DA06823),
+          UINT32_C(0x66791808), UINT32_C(0x20EC00B4), UINT32_C(0x342A03D9),
+          UINT32_C(0x6122589A), UINT32_C(0x44502A7E)}},
+        {{UINT32_C(0x5BDAE972), UINT32_C(0x3A492F73), UINT32_C(0x126A07DE),
+          UINT32_C(0x5184D076), UINT32_C(0xB56A38F0), UINT32_C(0xAE49313C),
+          UINT32_C(0x9EC47E0A), UINT32_C(0x66CCC24E)},
+         {UINT32_C(0xC03CF3E1), UINT32_C(0xAE84941B), UINT32_C(0x5A73440B),
+          UINT32_C(0x771AFC57), UINT32_C(0xC433E43C), UINT32_C(0xABF93DC8),
+          UINT32_C(0x243C6828), UINT32_C(0x974EE822)}},
+        {{UINT32_C(0xA7A5F66C), UINT32_C(0x468D7FDB), UINT32_C(0xB18DEFCC),
+          UINT32_C(0xBBB2C482), UINT32_C(0xFA2E7DEA), UINT32_C(0x188B8CAC),
+          UINT32_C(0xBE0200B9), UINT32_C(0x7894BC93)},
+         {UINT32_C(0x6B84750E), UINT32_C(0xA3181338), UINT32_C(0x37356096),
+          UINT32_C(0x8B14BDB2), UINT32_C(0xD62F4813), UINT32_C(0xA9200FE7),
+          UINT32_C(0x6F7627CE), UINT32_C(0x8DF664A3)}},
+        {{UINT32_C(0xDD996CF1), UINT32_C(0x39BF14DD), UINT32_C(0xF7F42D26),
+          UINT32_C(0xD00B3BF5), UINT32_C(0x017718A3), UINT32_C(0xF1AF5A20),
+          UINT32_C(0xABCAE05D), UINT32_C(0x34A1E94B)},
+         {UINT32_C(0xC635D333), UINT32_C(0xAD75D1B5), UINT32_C(0x87210A5A),
+          UINT32_C(0x97E5BD39), UINT32_C(0xA0327BF4), UINT32_C(0x11684CA6),
+          UINT32_C(0x9B8F0A46), UINT32_C(0x25C51117)}},
+        {{UINT32_C(0xA935A9B9), UINT32_C(0x7E5CD79F), UINT32_C(0xA22DCD16),
+          UINT32_C(0x15DC70C2), UINT32_C(0x78A420F4), UINT32_C(0x5CDA47E6),
+          UINT32_C(0xEA631104), UINT32_C(0x37E0364E)},
+         {UINT32_C(0x5E47B630), UINT32_C(0xE7C46956), UINT32_C(0xE42C4DCB),
+          UINT32_C(0x7BD4C4A7), UINT32_C(0x1C91117E), UINT32_C(0xA76B87A7),
+          UINT32_C(0xADA4B5E1), UINT32_C(0x2AA043DD)}},
+        {{UINT32_C(0x875DED57), UINT32_C(0x6BB06B5A), UINT32_C(0xFEAD7B14),
+          UINT32_C(0x89452B3B), UINT32_C(0xA6E39E1F), UINT32_C(0x0CBD5CA8),
+          UINT32_C(0x3BFA7A3D), UINT32_C(0x2DC5917C)},
+         {UINT32_C(0xF840B6E8), UINT32_C(0x6395D5B8), UINT32_C(0xED8589EE),
+          UINT32_C(0xAEC9342F), UINT32_C(0x77979E67), UINT32_C(0x8332A1B8),
+          UINT32_C(0xC59F97DB), UINT32_C(0x29B55822)}},
+        {{UINT32_C(0x7D65A8F4), UINT32_C(0xFD145FF7), UINT32_C(0x119C9AFC),
+          UINT32_C(0x8FFF7EE0), UINT32_C(0xAFCD6214), UINT32_C(0x0100D0E9),
+          UINT32_C(0xA3B988B3), UINT32_C(0x98DE55E5)},
+         {UINT32_C(0x00151BF2), UINT32_C(0x0BACCB2E), UINT32_C(0x66091583),
+          UINT32_C(0x2B422D09), UINT32_C(0x93C66A3B), UINT32_C(0xC4D15E16),
+          UINT32_C(0x727DE9E6), UINT32_C(0x1C107559)}},
+        {{UINT32_C(0x3CB76EDF), UINT32_C(0xC019C7D7), UINT32_C(0x151F5E14),
+          UINT32_C(0x6456DD91), UINT32_C(0x57CC7078), UINT32_C(0x29E95B66),
+          UINT32_C(0xE9BDBCEC), UINT32_C(0x9193F4D9)},
+         {UINT32_C(0x4806F8CB), UINT32_C(0x375837B0), UINT32_C(0xAA954620),
+          UINT32_C(0x52D5528A), UINT32_C(0x1B9D6D34), UINT32_C(0xE71F9F60),
+          UINT32_C(0xDF95759C), UINT32_C(0x910E4FA1)}},
+        {{UINT32_C(0xFCADB5EA), UINT32_C(0x8D31B2EE), UINT32_C(0xA63C7498),
+          UINT32_C(0x0814FF77), UINT32_C(0x5E3D927E), UINT32_C(0x236569C0),
+          UINT32_C(0x95BBB9D9), UINT32_C(0x7F669DAD)},
+         {UINT32_C(0x305B0347), UINT32_C(0x29158C9A), UINT32_C(0x52D468EB),
+          UINT32_C(0x99B9B7E7), UINT32_C(0xB4342443), UINT32_C(0x6C4CABC3),
+          UINT32_C(0x0A803ED4), UINT32_C(0x125AFBEA)}},
+        {{UINT32_C(0x101FAA4E), UINT32_C(0x850A150B), UINT32_C(0x11ECDABC),
+          UINT32_C(0xB586BCDA), UINT32_C(0x4DAD2264), UINT32_C(0x9692EF83),
+          UINT32_C(0xD2B67F5E), UINT32_C(0x0951716E)},
+         {UINT32_C(0x924DD16D), UINT32_C(0xA2295F20), UINT32_C(0xD0CE88CD),
+          UINT32_C(0xD8327275), UINT32_C(0xC683ADA3), UINT32_C(0x45F8DD0C),
+          UINT32_C(0x88C26024), UINT32_C(0x4A798B33)}},
+        {{UINT32_C(0xCAF71198), UINT32_C(0x225395CF), UINT32_C(0xCA3F67CF),
+          UINT32_C(0xEE223712), UINT32_C(0x81280061), UINT32_C(0x972B0199),
+          UINT32_C(0x280ECC12), UINT32_C(0x0CB20E7A)},
+         {UINT32_C(0x70F54717), UINT32_C(0x06F04DA8), UINT32_C(0x410B9712),
+          UINT32_C(0x5288425E), UINT32_C(0x74CEFB4A), UINT32_C(0x6C29A514),
+          UINT32_C(0x849E2FD6), UINT32_C(0x4218ECCA)}},
+        {{UINT32_C(0xB33574B6), UINT32_C(0xD85663A3), UINT32_C(0xFAF7D3A2),
+          UINT32_C(0x7469CFB1), UINT32_C(0x3CFA8876), UINT32_C(0x9C587EC4),
+          UINT32_C(0xDB24ED63), UINT32_C(0x5DAE46AE)},
+         {UINT32_C(0xC413E494), UINT32_C(0x66C8DA33), UINT32_C(0x65942568),
+          UINT32_C(0xB8B256B6), UINT32_C(0xA7A4CAAD), UINT32_C(0x0F09178E),
+          UINT32_C(0xAFEBC90B), UINT32_C(0x577D4ADC)}},
+        {{UINT32_C(0x92D6C3B4), UINT32_C(0x49009BA6), UINT32_C(0xB884FAAC),
+          UINT32_C(0xE9CF4915), UINT32_C(0x6F3DBE23), UINT32_C(0xC12377D3),
+          UINT32_C(0xEA6B680C), UINT32_C(0x2F6E0E86)},
+         {UINT32_C(0xE6C5E24D), UINT32_C(0x5DF2CD5A), UINT32_C(0xEE608DD3),
+          UINT32_C(0xAAE7E145), UINT32_C(0x8A7ED956), UINT32_C(0x5357CFF2),
+          UINT32_C(0x3912DBA4), UINT32_C(0x8377126C)}},
+        {{UINT32_C(0xF83BC3F6), UINT32_C(0x6E83A6C6), UINT32_C(0xC0CC09C6),
+          UINT32_C(0x3633E1E4), UINT32_C(0xBC4B73A5), UINT32_C(0x0C2A268B),
+          UINT32_C(0x125688EB), UINT32_C(0x688369D3)},
+         {UINT32_C(0x73E75809), UINT32_C(0x64EE03E1), UINT32_C(0x8E110C46),
+          UINT32_C(0x21773EE9), UINT32_C(0xA6A648B1), UINT32_C(0xF0BC6BE9),
+          UINT32_C(0x7E0041E7), UINT32_C(0x39912183)}},
+        {{UINT32_C(0x26F5716E), UINT32_C(0xCC09774A), UINT32_C(0xFDFB59E9),
+          UINT32_C(0x01CB17F9), UINT32_C(0xAE8938B4), UINT32_C(0xA88D1269),
+          UINT32_C(0xD13047C9), UINT32_C(0x99A40D17)},
+         {UINT32_C(0x6FC672A3), UINT32_C(0xE469C984), UINT32_C(0x5638B928),
+          UINT32_C(0xDA6534B6), UINT32_C(0xCDE40C83), UINT32_C(0xC56EAB20),
+          UINT32_C(0xBD93AF10), UINT32_C(0x2C1582B1)}},
+    },
+    {
+        {{UINT32_C(0xA3F45C37), UINT32_C(0xE4C19851), UINT32_C(0xC7D78FE9),
+          UINT32_C(0xCA0FEFF2), UINT32_C(0x9A7E444B), UINT32_C(0x027B41D8),
+          UINT32_C(0x15D38CBB), UINT32_C(0x1F1B242F)},
+         {UINT32_C(0xF1F50AB9), UINT32_C(0x1C6C132C), UINT32_C(0x5DFE7530),
+          UINT32_C(0x2A02A3A4), UINT32_C(0x6E29159F), UINT32_C(0x2B1EB8E2),
+          UINT32_C(0x2EEDE876), UINT32_C(0x5F3F4AB7)}},
+        {{UINT32_C(0x0F2DF95C), UINT32_C(0x362CE013), UINT32_C(0x26480BFA),
+          UINT32_C(0x82E4E192), UINT32_C(0x6BEFF080), UINT32_C(0x9AAC9A96),
+          UINT32_C(0x8EE2B59C), UINT32_C(0x5A1636F6)},
+         {UINT32_C(0xFA049CCB), UINT32_C(0x600E0339), UINT32_C(0xF2F57163),
+          UINT32_C(0x56680F80), UINT32_C(0x7B4240A7), UINT32_C(0x2C395CC1),
+          UINT32_C(0x9C86BB64), UINT32_C(0x32EDFE4A)}},
+        {{UINT32_C(0x711AEF69), UINT32_C(0x8D9842AB), UINT32_C(0x890831F0),
+          UINT32_C(0x7A1C2429), UINT32_C(0x54CDA99A), UINT32_C(0x924478DF),
+          UINT32_C(0xE25A02E2), UINT32_C(0x791A1D45)},
+         {UINT32_C(0x170F4C21), UINT32_C(0x1433F569), UINT32_C(0xCA5F8BD8),
+          UINT32_C(0x9F42C8C1), UINT32_C(0x067B3201), UINT32_C(0x377740F7),
+          UINT32_C(0x2ECE5D81), UINT32_C(0x75145FFF)}},
+        {{UINT32_C(0x39638F43), UINT32_C(0xCBFE782A), UINT32_C(0xE07553D2),
+          UINT32_C(0xB0C0EC09), UINT32_C(0x115C673A), UINT32_C(0x8D1C41F7),
+          UINT32_C(0xEB39E385), UINT32_C(0x8510551A)},
+         {UINT32_C(0xBA275803), UINT32_C(0x92000181), UINT32_C(0x27B9A42A),
+          UINT32_C(0x8AF63F4A), UINT32_C(0x52297029), UINT32_C(0xD50ECF0F),
+          UINT32_C(0x66883C56), UINT32_C(0x1DCA33A5)}},
+        {{UINT32_C(0xC51DF9D9), UINT32_C(0xB2C44933), UINT32_C(0xE66D80AE),
+          UINT32_C(0xCA6F9FB0), UINT32_C(0x82839BA4), UINT32_C(0x78CD2EEB),
+          UINT32_C(0xF7AFBCF3), UINT32_C(0x8FF8BCC8)},
+         {UINT32_C(0x4164959B), UINT32_C(0x5AD00C70), UINT32_C(0xE83ED8D5),
+          UINT32_C(0xAD901C71), UINT32_C(0x2B52650D), UINT32_C(0x56FFC0A9),
+          UINT32_C(0x780126A8), UINT32_C(0x0689B171)}},
+        {{UINT32_C(0x5EAC1DD8), UINT32_C(0x2E902A39), UINT32_C(0x7CAC283F),
+          UINT32_C(0x7681EABA), UINT32_C(0x78525B7C), UINT32_C(0x03608CD8),
+          UINT32_C(0x5EB95540), UINT32_C(0x09665B80)},
+         {UINT32_C(0x306EE831), UINT32_C(0xF09F9805), UINT32_C(0xE41D453A),
+          UINT32_C(0xFB00B1C6), UINT32_C(0x7C93E727), UINT32_C(0xD8BB9559),
+          UINT32_C(0x2CE63FD8), UINT32_C(0x3B74FEE7)}},
+        {{UINT32_C(0x0A22DABA), UINT32_C(0x73F48B33), UINT32_C(0xC8FC3E20),
+          UINT32_C(0x797DE0FB), UINT32_C(0x9E79222D), UINT32_C(0x69C1BEE2),
+          UINT32_C(0x1DF4C549), UINT32_C(0x3052F67A)},
+         {UINT32_C(0xED78B6FB), UINT32_C(0xFE9128A9), UINT32_C(0x29CCF94F),
+          UINT32_C(0xD9460CFF), UINT32_C(0xC1FD1DAA), UINT32_C(0x53737484),
+          UINT32_C(0x1EDAEEB2), UINT32_C(0x83ADCD01)}},
+        {{UINT32_C(0x2BA4195A), UINT32_C(0x189EC9AA), UINT32_C(0xC522BE92),
+          UINT32_C(0x61345757), UINT32_C(0x39EFB05D), UINT32_C(0x35BAB72A),
+          UINT32_C(0xAE0AC461), UINT32_C(0x82B27322)},
+         {UINT32_C(0xC07F4382), UINT32_C(0xFEBF0F8C), UINT32_C(0xDAD2ED8E),
+          UINT32_C(0x1CA2B3D7), UINT32_C(0x0A27F89C), UINT32_C(0x4800A037),
+          UINT32_C(0x9815D971), UINT32_C(0x77D1B2FC)}},
+        {{UINT32_C(0xCA0FC66A), UINT32_C(0xF9F46089), UINT32_C(0x8C23E4E1),
+          UINT32_C(0x5BC406DE), UINT32_C(0x8DBF6DD5), UINT32_C(0x1D7F3BA9),
+          UINT32_C(0x679D5587), UINT32_C(0x685B9111)},
+         {UINT32_C(0xB85BE0D0), UINT32_C(0x93554084), UINT32_C(0x7B9EB16C),
+          UINT32_C(0xB081E9CA), UINT32_C(0x60F0D0B0), UINT32_C(0x58C428DC),
+          UINT32_C(0x30B3C6D9), UINT32_C(0x12442C1A)}},
+        {{UINT32_C(0x567226BE), UINT32_C(0x147B843C), UINT32_C(0x429A8FFA),
+          UINT32_C(0x2B2BFFAB), UINT32_C(0xCD435C2F), UINT32_C(0x7A4678EB),
+          UINT32_C(0x3C0B887A), UINT32_C(0x200E8513)},
+         {UINT32_C(0x90605CDD), UINT32_C(0x9D457AAD), UINT32_C(0x157F29A5),
+          UINT32_C(0x6736A242), UINT32_C(0x549FCA4D), UINT32_C(0x779B0D25),
+          UINT32_C(0x17FDB4D9), UINT32_C(0x57477EE9)}},
+        {{UINT32_C(0xECF06CDD), UINT32_C(0xD9B15FD1), UINT32_C(0xC1CC2CFC),
+          UINT32_C(0xECF75FC0), UINT32_C(0xA56B39E5), UINT32_C(0x273867C3),
+          UINT32_C(0x79340B7D), UINT32_C(0x72F3ED45)},
+         {UINT32_C(0x55B6C9B9), UINT32_C(0xF31C9E4C), UINT32_C(0x0448FE57),
+          UINT32_C(0xED96826E), UINT32_C(0x8BB7A02F), UINT32_C(0xE2DF54AD),
+          UINT32_C(0xD79D71CC), UINT32_C(0x945E7B6B)}},
+        {{UINT32_C(0x9270E878), UINT32_C(0x32B6CE42), UINT32_C(0xD6EEBEB9),
+          UINT32_C(0x980C8F6E), UINT32_C(0x55808237), UINT32_C(0xC5717C85),
+          UINT32_C(0xCCA3F298), UINT32_C(0x4469D0A0)},
+         {UINT32_C(0x1A18C0E8), UINT32_C(0x2B9DD7E9), UINT32_C(0x6A0EC412),
+          UINT32_C(0xE9D12401), UINT32_C(0x31F44B32), UINT32_C(0xF889DE98),
+          UINT32_C(0x78854A7F), UINT32_C(0x692EE1E6)}},
+        {{UINT32_C(0xADEECA22), UINT32_C(0xF2360597), UINT32_C(0x99A4C198),
+          UINT32_C(0x94623EBC), UINT32_C(0xE4169D20), UINT32_C(0x5A0D49C4),
+          UINT32_C(0xBF0384F0), UINT32_C(0x7BE2C5BB)},
+         {UINT32_C(0x8C537851), UINT32_C(0x42DB0D40), UINT32_C(0x65C50782),
+          UINT32_C(0x198A09A4), UINT32_C(0x45AD7EE0), UINT32_C(0x72F80BB7),
+          UINT32_C(0x11FCED06), UINT32_C(0x4F83164B)}},
+        {{UINT32_C(0x95712AF0), UINT32_C(0x54E5B07C), UINT32_C(0x1E893387),
+          UINT32_C(0x95E7F5D9), UINT32_C(0xC61D7766), UINT32_C(0x383BC5AE),
+          UINT32_C(0x681C28DD), UINT32_C(0x09F626ED)},
+         {UINT32_C(0xDF97E3C9), UINT32_C(0x0D32B726), UINT32_C(0x7C7C4786),
+          UINT32_C(0x2AC62238), UINT32_C(0xD3F5AD40), UINT32_C(0xECEA0C6A),
+          UINT32_C(0xA870A132), UINT32_C(0x0D26633E)}},
+        {{UINT32_C(0xC3D42D26), UINT32_C(0x40A05A14), UINT32_C(0xF3BDE0E3),
+          UINT32_C(0x06577CA1), UINT32_C(0x418B73FB), UINT32_C(0x03DAA258),
+          UINT32_C(0x0EFDEB86), UINT32_C(0x205E02E6)},
+         {UINT32_C(0x99F90D56), UINT32_C(0xF5479E4D), UINT32_C(0x368CB6E3),
+          UINT32_C(0x4E699BF3), UINT32_C(0x62E4A879), UINT32_C(0x534F6743),
+          UINT32_C(0xA9D78191), UINT32_C(0x18473603)}},
+        {{UINT32_C(0x5C1ED4F9), UINT32_C(0xA23D79CF), UINT32_C(0xF2248B01),
+          UINT32_C(0xFADE1CF5), UINT32_C(0x6F4D2164), UINT32_C(0xA3D52827),
+          UINT32_C(0x10B731E5), UINT32_C(0x1F211C03)},
+         {UINT32_C(0xD97229E2), UINT32_C(0x0B415884), UINT32_C(0x80FCC283),
+          UINT32_C(0xCABB7D89), UINT32_C(0x98EF388A), UINT32_C(0xDB9BC752),
+          UINT32_C(0x93E80262), UINT32_C(0x50AF2A4A)}},
+    },
+    {
+        {{UINT32_C(0xD57DD821), UINT32_C(0xD11E80F1), UINT32_C(0xDDA2AB29),
+          UINT32_C(0x11CAE463), UINT32_C(0xE628F315), UINT32_C(0x21CAFD16),
+          UINT32_C(0x7DF70CD4), UINT32_C(0x296A84E9)},
+         {UINT32_C(0x6E9EF995), UINT32_C(0x9ECF7513), UINT32_C(0x06E28855),
+          UINT32_C(0xAE875257), UINT32_C(0x5DED383C), UINT32_C(0x78E1B7E9),
+          UINT32_C(0x5E940F7F), UINT32_C(0x6C5D8ECC)}},
+        {{UINT32_C(0x998EE9A3), UINT32_C(0xCBD3ACB9), UINT32_C(0xD0DCF584),
+          UINT32_C(0x990CDFF6), UINT32_C(0xC7CE5DDA), UINT32_C(0x0FB4346C),
+          UINT32_C(0x355E268F), UINT32_C(0x5EDEEF9B)},
+         {UINT32_C(0xC215036D), UINT32_C(0xACD8B4A2), UINT32_C(0x91C7486B),
+          UINT32_C(0x70D36995), UINT32_C(0x52C6694B), UINT32_C(0x72D5243D),
+          UINT32_C(0xE5F8B99C), UINT32_C(0x54163B48)}},
+        {{UINT32_C(0x1D76A94A), UINT32_C(0xD2AEA2FF), UINT32_C(0x379F780B),
+          UINT32_C(0xC5B4FBF1), UINT32_C(0xB33AC708), UINT32_C(0x700042F7),
+          UINT32_C(0x8183E0CA), UINT32_C(0x7DA790BF)},
+         {UINT32_C(0xEBA72FA8), UINT32_C(0x95681FE6), UINT32_C(0xE22E254E),
+          UINT32_C(0x1F0A390E), UINT32_C(0xBF07A8A5), UINT32_C(0x465A58F8),
+          UINT32_C(0xFB1FCE40), UINT32_C(0x840EA2E7)}},
+        {{UINT32_C(0x44048484), UINT32_C(0xD955C5B5), UINT32_C(0x6935C5E4),
+          UINT32_C(0x7107D595), UINT32_C(0x8A0FCE44), UINT32_C(0xFC657444),
+          UINT32_C(0x2800E517), UINT32_C(0x97DF2B4D)},
+         {UINT32_C(0x2C482414), UINT32_C(0x0B1BB328), UINT32_C(0x4E48CDBE),
+          UINT32_C(0x152614CC), UINT32_C(0x42EDE4E0), UINT32_C(0x48051FB6),
+          UINT32_C(0x3DBFFE52), UINT32_C(0x91125B93)}},
+        {{UINT32_C(0xCF898F54), UINT32_C(0xA2F526C7), UINT32_C(0x83080857),
+          UINT32_C(0x8788CA12), UINT32_C(0x4562F7B0), UINT32_C(0x2F442723),
+          UINT32_C(0xC044560C), UINT32_C(0x837772AB)},
+         {UINT32_C(0x31BCB2EA), UINT32_C(0x51AD2F71), UINT32_C(0xAFC5C03D),
+          UINT32_C(0x0F1D33FC), UINT32_C(0x7BD352A4), UINT32_C(0xDBFE541F),
+          UINT32_C(0x64B8343D), UINT32_C(0x8B441399)}},
+        {{UINT32_C(0x44DCD145), UINT32_C(0xFEB96B8C), UINT32_C(0xEFF22D0D),
+          UINT32_C(0xEEB3007C), UINT32_C(0x252A8C8F), UINT32_C(0xAF64DFC1),
+          UINT32_C(0xD131E0C5), UINT32_C(0x5D9B0A05)},
+         {UINT32_C(0xABFED144), UINT32_C(0x28C943EF), UINT32_C(0xB6A2273D),
+          UINT32_C(0xDFBF730C), UINT32_C(0xE2A1BFBD), UINT32_C(0x6CC5BE44),
+          UINT32_C(0x09030FCD), UINT32_C(0x55FAC033)}},
+        {{UINT32_C(0x728F39EC), UINT32_C(0xFAA58543), UINT32_C(0x40B37B15),
+          UINT32_C(0x9B2F10BA), UINT32_C(0x7254A419), UINT32_C(0x96505C7F),
+          UINT32_C(0x879C7FF9), UINT32_C(0x04F4ACE5)},
+         {UINT32_C(0xBC5FDA53), UINT32_C(0xC0B4B576), UINT32_C(0xF7ABCD3C),
+          UINT32_C(0x12549929), UINT32_C(0x313FEC34), UINT32_C(0x00F5631E),
+          UINT32_C(0x798C7CFB), UINT32_C(0x89EA4459)}},
+        {{UINT32_C(0x0E2020C1), UINT32_C(0x671137B5), UINT32_C(0xA4DC66C3),
+          UINT32_C(0x77727861), UINT32_C(0x81492A26), UINT32_C(0x8CE05ED1),
+          UINT32_C(0xA0C3F612), UINT32_C(0x42BEA541)},
+         {UINT32_C(0xB0E461EB), UINT32_C(0x6D39E3D1), UINT32_C(0x09FA806F),
+          UINT32_C(0x459A8E13), UINT32_C(0x466CB93B), UINT32_C(0xE2A185C1),
+          UINT32_C(0xE21ECB34), UINT32_C(0x17D131CE)}},
+        {{UINT32_C(0x387A15BF), UINT32_C(0x2141E262), UINT32_C(0x6BE61C42),
+          UINT32_C(0x675B5E7C), UINT32_C(0xF1CF93EF), UINT32_C(0xEEC1BDD4),
+          UINT32_C(0x23BAB1F9), UINT32_C(0x6ACF3838)},
+         {UINT32_C(0xB0B39C86), UINT32_C(0xA2F84E23), UINT32_C(0xE244E0E3),
+          UINT32_C(0xE955DBBC), UINT32_C(0xB7A8102A), UINT32_C(0xE0155980),
+          UINT32_C(0xB23012FA), UINT32_C(0x1E117DC8)}},
+        {{UINT32_C(0x6EB36280), UINT32_C(0xC92A36AA), UINT32_C(0x5E906D78),
+          UINT32_C(0x5AED3A1D), UINT32_C(0xAE4E430A), UINT32_C(0x8D336221),
+          UINT32_C(0xD3AA50AD), UINT32_C(0x3F184F1D)},
+         {UINT32_C(0x916D9741), UINT32_C(0xD14810EC), UINT32_C(0x3322D9B3),
+          UINT32_C(0x2900169F), UINT32_C(0x04728254), UINT32_C(0xAFF1A060),
+          UINT32_C(0x26F60B5F), UINT32_C(0x89C4C673)}},
+        {{UINT32_C(0xB7F0D157), UINT32_C(0x5216E0AE), UINT32_C(0xC9F38AAD),
+          UINT32_C(0x3B8D2226), UINT32_C(0xBB34AA79), UINT32_C(0x283E3E3F),
+          UINT32_C(0x565CAB83), UINT32_C(0x94DA80FA)},
+         {UINT32_C(0xE6ED4A46), UINT32_C(0xDDB51943), UINT32_C(0x7CDD5FE6),
+          UINT32_C(0xF3AFFA9A), UINT32_C(0xB648A84F), UINT32_C(0x0AB493CC),
+          UINT32_C(0xF15EE45F), UINT32_C(0x128356B6)}},
+        {{UINT32_C(0xBD0F02C4), UINT32_C(0xD2AD34F4), UINT32_C(0x719BCF1E),
+          UINT32_C(0x3DC9B6D1), UINT32_C(0x12EB5AE8), UINT32_C(0x11EDB8F1),
+          UINT32_C(0x71180F90), UINT32_C(0x33AC71D8)},
+         {UINT32_C(0xB59621D7), UINT32_C(0x0AE988FE), UINT32_C(0x8F348211),
+          UINT32_C(0x32042B52), UINT32_C(0xEB0CEBD3), UINT32_C(0x7E6787C4),
+          UINT32_C(0x26B8A526), UINT32_C(0x8C4D2549)}},
+        {{UINT32_C(0x4D40ED72), UINT32_C(0xA3B46154), UINT32_C(0xF6CF3972),
+          UINT32_C(0x3A096546), UINT32_C(0xB3E46D8C), UINT32_C(0x9C7BC931),
+          UINT32_C(0x90486C75), UINT32_C(0x85B77BAD)},
+         {UINT32_C(0x6EBD35E0), UINT32_C(0x95B706E5), UINT32_C(0x101E098E),
+          UINT32_C(0xC1E18243), UINT32_C(0xF01C17E1), UINT32_C(0xF17C23FF),
+          UINT32_C(0x85EC224E), UINT32_C(0x32235272)}},
+        {{UINT32_C(0xFD24FA16), UINT32_C(0xE816235D), UINT32_C(0x0B3AEBD7),
+          UINT32_C(0x5306CBC3), UINT32_C(0x8BE25CB7), UINT32_C(0xDEF60A9A),
+          UINT32_C(0x512999C2), UINT32_C(0x4B889A0F)},
+         {UINT32_C(0x67B29FD9), UINT32_C(0xAB86A7F8), UINT32_C(0xB5461BCB),
+          UINT32_C(0xB81C532D), UINT32_C(0xD34D9819), UINT32_C(0x810E9A0C),
+          UINT32_C(0x3092515D), UINT32_C(0x1E353009)}},
+        {{UINT32_C(0x21FB0BD9), UINT32_C(0x46826339), UINT32_C(0x003BAE50),
+          UINT32_C(0x9CCE9A43), UINT32_C(0x2EB45B4A), UINT32_C(0xCD2216C3),
+          UINT32_C(0xC7E0F2C3), UINT32_C(0x13598548)},
+         {UINT32_C(0x54611984), UINT32_C(0x8B0BFD72), UINT32_C(0x89C0B05A),
+          UINT32_C(0x705CB525), UINT32_C(0xCE880DD8), UINT32_C(0xD9073D87),
+          UINT32_C(0x003DCAEB), UINT32_C(0x1EA534CD)}},
+        {{UINT32_C(0xC58B4413), UINT32_C(0xC7AAC256), UINT32_C(0xE8054F96),
+          UINT32_C(0x301109D6), UINT32_C(0x9C7E7860), UINT32_C(0x0A1F44D2),
+          UINT32_C(0x96F15424), UINT32_C(0x55D122BB)},
+         {UINT32_C(0x1C14A8A9), UINT32_C(0x9A63098F), UINT32_C(0x4221CDFB),
+          UINT32_C(0x8E01A9DC), UINT32_C(0x357B360A), UINT32_C(0x11C91FCF),
+          UINT32_C(0x036A3CF4), UINT32_C(0x70C47AEA)}},
+    },
+    {
+        {{UINT32_C(0x036A843D), UINT32_C(0xC0457C4F), UINT32_C(0xF1F593CB),
+          UINT32_C(0x6E3E0801), UINT32_C(0x8C53873B), UINT32_C(0x1AADF2D8),
+          UINT32_C(0x0D140C8D), UINT32_C(0x5CEC5C7B)},
+         {UINT32_C(0x328002E4), UINT32_C(0x4341A9AB), UINT32_C(0xC410D034),
+          UINT32_C(0x11F22331), UINT32_C(0x5DB6A39D), UINT32_C(0x0FCF69EF),
+          UINT32_C(0xB84FDA1F), UINT32_C(0x3DD32A53)}},
+        {{UINT32_C(0xAF8C811A), UINT32_C(0x19E52339), UINT32_C(0x92D46C4F),
+          UINT32_C(0xC8B83800), UINT32_C(0xCA8463A3), UINT32_C(0x891C4185),
+          UINT32_C(0x98F3FF1B), UINT32_C(0x5B51651F)},
+         {UINT32_C(0x0FB39DCA), UINT32_C(0x3D149607), UINT32_C(0xB1051394),
+          UINT32_C(0x39ECCDE2), UINT32_C(0x1A14522B), UINT32_C(0x3633DE27),
+          UINT32_C(0x7C59A9A5), UINT32_C(0x5FE55114)}},
+        {{UINT32_C(0x2F0B507F), UINT32_C(0x68C8E0C6), UINT32_C(0x05B62C5E),
+          UINT32_C(0xDABC8EEF), UINT32_C(0xE6165C1E), UINT32_C(0x297C943A),
+          UINT32_C(0x7D7CA6D6), UINT32_C(0x337C6B94)},
+         {UINT32_C(0xD6066191), UINT32_C(0x66F98FE4), UINT32_C(0x58945DA9),
+          UINT32_C(0x745BFEBA), UINT32_C(0x3B29A546), UINT32_C(0x60044787),
+          UINT32_C(0xE2D4EDF2), UINT32_C(0x2815651E)}},
+        {{UINT32_C(0x63661218), UINT32_C(0x54A3BE74), UINT32_C(0x15E79415),
+          UINT32_C(0x89C56364), UINT32_C(0x405E4932), UINT32_C(0xE03C6963),
+          UINT32_C(0x9A619956), UINT32_C(0x86E101EA)},
+         {UINT32_C(0x400DC92B), UINT32_C(0x47BAF2F3), UINT32_C(0x291E4059),
+          UINT32_C(0x5C44512C), UINT32_C(0xEC6D7BF9), UINT32_C(0xD7F84B8E),
+          UINT32_C(0x25AB8D79), UINT32_C(0x6CF42540)}},
+        {{UINT32_C(0xB885DAFC), UINT32_C(0xD6E1B75D), UINT32_C(0x6128014E),
+          UINT32_C(0x7A33CE4B), UINT32_C(0xEA9FF260), UINT32_C(0x80DF9948),
+          UINT32_C(0xD2B5872B), UINT32_C(0x99E0A11C)},
+         {UINT32_C(0xE2435510), UINT32_C(0x960BDC3D), UINT32_C(0x14F7A99C),
+          UINT32_C(0x4B0ECC53), UINT32_C(0x5AC6170B), UINT32_C(0xE815DB8B),
+          UINT32_C(0x17D5F2DD), UINT32_C(0x30956156)}},
+        {{UINT32_C(0x57166FCE), UINT32_C(0xA035E3CE), UINT32_C(0x40A75B80),
+          UINT32_C(0x71AD4095), UINT32_C(0xDB7D0BFB), UINT32_C(0x639C4EA7),
+          UINT32_C(0xB12DBE6B), UINT32_C(0x7A90BE97)},
+         {UINT32_C(0x75F86A60), UINT32_C(0x091AA30F), UINT32_C(0x509AEEFC),
+          UINT32_C(0x67C0F795), UINT32_C(0x331629C5), UINT32_C(0xF028C12A),
+          UINT32_C(0x8A1F7478), UINT32_C(0x90D26B1C)}},
+        {{UINT32_C(0xB6AC2AD5), UINT32_C(0x6F01554E), UINT32_C(0xBC9A48D6),
+          UINT32_C(0x9DD0576E), UINT32_C(0x97AE2605), UINT32_C(0xAB372013),
+          UINT32_C(0xBB83852B), UINT32_C(0x1525D8B5)},
+         {UINT32_C(0xE46E4C61), UINT32_C(0xD50680C3), UINT32_C(0xECB8F06F),
+          UINT32_C(0x29FBBA5C), UINT32_C(0xB16637A3), UINT32_C(0x60A48AB4),
+          UINT32_C(0xCD1490D3), UINT32_C(0x8BB47967)}},
+        {{UINT32_C(0x4B7C7EA6), UINT32_C(0xA35A0187), UINT32_C(0xB4D6409A),
+          UINT32_C(0xFE01521A), UINT32_C(0x8FDE1E30), UINT32_C(0x57CECE62),
+          UINT32_C(0xF4F51D55), UINT32_C(0x1A9A9B2D)},
+         {UINT32_C(0xE221AC58), UINT32_C(0x0D33556B), UINT32_C(0x152508AD),
+          UINT32_C(0x0A4A1A34), UINT32_C(0x0144AA33), UINT32_C(0x1FD61DA1),
+          UINT32_C(0xEDC7C5F8), UINT32_C(0x4804BE6A)}},
+        {{UINT32_C(0x5B363A84), UINT32_C(0x071EC815), UINT32_C(0xFE11ED05),
+          UINT32_C(0x359C2A9F), UINT32_C(0xB8BBF9BD), UINT32_C(0x0FDF80C9),
+          UINT32_C(0x103ACCBE), UINT32_C(0x928E51A4)},
+         {UINT32_C(0xD5E8A222), UINT32_C(0xD152B6E7), UINT32_C(0xCBE022C9),
+          UINT32_C(0x6368E3A8), UINT32_C(0x3128B659), UINT32_C(0x2E5055DE),
+          UINT32_C(0xD21F1062), UINT32_C(0x51E23651)}},
+        {{UINT32_C(0x34834BF7), UINT32_C(0x5CE999D7), UINT32_C(0x3DC831E9),
+          UINT32_C(0xE386394C), UINT32_C(0x7FE48564), UINT32_C(0x6DBD5ECA),
+          UINT32_C(0x556841A5), UINT32_C(0x804BC07F)},
+         {UINT32_C(0x229A9175), UINT32_C(0x2A8B616C), UINT32_C(0xA1B3EF97),
+          UINT32_C(0xAEEB533A), UINT32_C(0x6F145037), UINT32_C(0x9D858F9D),
+          UINT32_C(0x7F6A8EBB), UINT32_C(0x247FFAB0)}},
+        {{UINT32_C(0x099EB4F3), UINT32_C(0xE616E779), UINT32_C(0xF1B1926C),
+          UINT32_C(0x4F360D2E), UINT32_C(0x17055397), UINT32_C(0x28EE1F91),
+          UINT32_C(0x844AFCF3), UINT32_C(0x9994D7FF)},
+         {UINT32_C(0x12CBD801), UINT32_C(0x8824A949), UINT32_C(0x6A4484DD),
+          UINT32_C(0xA3AFED4D), UINT32_C(0x3B5E36A5), UINT32_C(0xCB16CD67),
+          UINT32_C(0xBC3BBEA9), UINT32_C(0x5490C30D)}},
+        {{UINT32_C(0xD7601122), UINT32_C(0xEA43CA5A), UINT32_C(0xD248EB72),
+          UINT32_C(0x9CF2A15B), UINT32_C(0xB71D18D0), UINT32_C(0x4CE8AB75),
+          UINT32_C(0x041A19A5), UINT32_C(0x2576C5B1)},
+         {UINT32_C(0x8CC1496E), UINT32_C(0xDE20FD02), UINT32_C(0x0BE51831),
+          UINT32_C(0xC9FE5B0C), UINT32_C(0x3A53ABBC), UINT32_C(0x9DC17E32),
+          UINT32_C(0xF4C806FA), UINT32_C(0x94E24DD9)}},
+        {{UINT32_C(0x0DF1A4B3), UINT32_C(0x2A9CF5F1), UINT32_C(0x15063C08),
+          UINT32_C(0xE0196754), UINT32_C(0xCCF88F77), UINT32_C(0xCE9CF2C6),
+          UINT32_C(0xEFE91C6C), UINT32_C(0x51ACC7B5)},
+         {UINT32_C(0xA799FE2E), UINT32_C(0x0C2302EF), UINT32_C(0x69C0D117),
+          UINT32_C(0x5EE756A4), UINT32_C(0xF4EAB1A1), UINT32_C(0x7E907EC2),
+          UINT32_C(0xD98022DD), UINT32_C(0x19EEF95B)}},
+        {{UINT32_C(0xA8E7FFA5), UINT32_C(0xB170D483), UINT32_C(0x39180FAC),
+          UINT32_C(0x2052600A), UINT32_C(0xA68AF290), UINT32_C(0x8EAD52D4),
+          UINT32_C(0xFF9E3641), UINT32_C(0x01B88CFE)},
+         {UINT32_C(0x65BC2D0C), UINT32_C(0x3D9077F7), UINT32_C(0x3ABCDB1C),
+          UINT32_C(0x2AF9CF67), UINT32_C(0x7295DADA), UINT32_C(0xEA104E74),
+          UINT32_C(0xEB1E5D6E), UINT32_C(0x7DF23470)}},
+        {{UINT32_C(0x8E53F40B), UINT32_C(0x0F54D98D), UINT32_C(0xAF360481),
+          UINT32_C(0xBFC22E9B), UINT32_C(0xE132666B), UINT32_C(0x309973B6),
+          UINT32_C(0x25E783E0), UINT32_C(0x1F40D11F)},
+         {UINT32_C(0xF00AC3EB), UINT32_C(0x8EEBC9D7), UINT32_C(0x2F9ADCC7),
+          UINT32_C(0xBD725D82), UINT32_C(0x66EFDDCC), UINT32_C(0x47767810),
+          UINT32_C(0x4ECCAF67), UINT32_C(0x60B0B100)}},
+        {{UINT32_C(0xB98C7E96), UINT32_C(0x498E2074), UINT32_C(0x08BF31A9),
+          UINT32_C(0xBEBF5183), UINT32_C(0x3894DBE7), UINT32_C(0x00DD4AAD),
+          UINT32_C(0x429878F6), UINT32_C(0x66C047A4)},
+         {UINT32_C(0x6D0F1AB1), UINT32_C(0x16F2CB33), UINT32_C(0x58669ACB),
+          UINT32_C(0x5FA2F181), UINT32_C(0x486F1BE7), UINT32_C(0xFA4B2F49),
+          UINT32_C(0x5698F41B), UINT32_C(0x1ECAAF6B)}},
+    },
+    {
+        {{UINT32_C(0x4DCC455E), UINT32_C(0x2999C212), UINT32_C(0xBEF617B8),
+          UINT32_C(0x83897E49), UINT32_C(0x5A218E0F), UINT32_C(0x6B49CE26),
+          UINT32_C(0x88EF7EA7), UINT32_C(0x49A5C9EB)},
+         {UINT32_C(0xF63EC82C), UINT32_C(0xF0EDA5FF), UINT32_C(0xEAD471CD),
+          UINT32_C(0x736D933D), UINT32_C(0xDF8071C4), UINT32_C(0x10E4431D),
+          UINT32_C(0x38E1523C), UINT32_C(0x8C59C107)}},
+        {{UINT32_C(0x5A54A4AB), UINT32_C(0x569FB74E), UINT32_C(0xF3384C14),
+          UINT32_C(0x72788868), UINT32_C(0x107B417F), UINT32_C(0xBC840717),
+          UINT32_C(0x7E13210C), UINT32_C(0x6682C107)},
+         {UINT32_C(0x77B20150), UINT32_C(0xB3359FC2), UINT32_C(0xA9E03222),
+          UINT32_C(0xEB923E66), UINT32_C(0xA10CF332), UINT32_C(0x490C39FC),
+          UINT32_C(0x49BA035D), UINT32_C(0x69099C2D)}},
+        {{UINT32_C(0x03CB2C6E), UINT32_C(0x64986720), UINT32_C(0x328B22BA),
+          UINT32_C(0x994054A1), UINT32_C(0x6F0542DA), UINT32_C(0x4155C6B9),
+          UINT32_C(0xA3B93FFB), UINT32_C(0x216CF760)},
+         {UINT32_C(0x5C2AD753), UINT32_C(0x74486184), UINT32_C(0xA0CD3660),
+          UINT32_C(0xE517984E), UINT32_C(0x3D7DA8A1), UINT32_C(0x6530BC86),
+          UINT32_C(0x2E46CA79), UINT32_C(0x04328CF9)}},
+        {{UINT32_C(0x4798CD35), UINT32_C(0x4100ADED), UINT32_C(0x635BAECD),
+          UINT32_C(0xC832796D), UINT32_C(0x5B80E18C), UINT32_C(0x7EF1EA95),
+          UINT32_C(0x426B1AA9), UINT32_C(0x6889A91B)},
+         {UINT32_C(0x0927C6F8), UINT32_C(0xC40A0A87), UINT32_C(0x2B86ED45),
+          UINT32_C(0xD60CFD1C), UINT32_C(0xD57350A1), UINT32_C(0x98731DFF),
+          UINT32_C(0x1DE4341F), UINT32_C(0x1C52EAE9)}},
+        {{UINT32_C(0x23A40FAA), UINT32_C(0xC287E33B), UINT32_C(0x7A633BDC),
+          UINT32_C(0xB96D9F51), UINT32_C(0xE6D0F326), UINT32_C(0xF6A5B779),
+          UINT32_C(0xF619DE4B), UINT32_C(0x10203FE1)},
+         {UINT32_C(0xC4F18BF8), UINT32_C(0x011FB53E), UINT32_C(0xBCA32CA0),
+          UINT32_C(0xAEBB82F6), UINT32_C(0xF881818D), UINT32_C(0x06BF8ED5),
+          UINT32_C(0x18247E6A), UINT32_C(0x3A6A3E35)}},
+        {{UINT32_C(0x00625DC1), UINT32_C(0x3BF2E96E), UINT32_C(0x5A288F80),
+          UINT32_C(0xD81AD156), UINT32_C(0xB7CE9B13), UINT32_C(0x04C3269E),
+          UINT32_C(0x2F9E2713), UINT32_C(0x3E18EAFC)},
+         {UINT32_C(0x9D0BC74A), UINT32_C(0x20F0E05D), UINT32_C(0xD8140790),
+          UINT32_C(0xACDB4B75), UINT32_C(0xF1B5B265), UINT32_C(0x12918A7E),
+          UINT32_C(0x6896342E), UINT32_C(0x22A70AF9)}},
+        {{UINT32_C(0x9C4B6B08), UINT32_C(0x326A28A2), UINT32_C(0xA17D3D57),
+          UINT32_C(0x21302F37), UINT32_C(0xCE36F438), UINT32_C(0x181378E7),
+          UINT32_C(0xFED12DE1), UINT32_C(0x42B07EBA)},
+         {UINT32_C(0x0468AD4C), UINT32_C(0x081DDD20), UINT32_C(0x64DF34AE),
+          UINT32_C(0x32822EC3), UINT32_C(0x04B2192D), UINT32_C(0xE9F8D7C2),
+          UINT32_C(0x918666F8), UINT32_C(0x6ABC7220)}},
+        {{UINT32_C(0x04AF3956), UINT32_C(0x93330701), UINT32_C(0x872BD30D),
+          UINT32_C(0xEEB7AA8E), UINT32_C(0xD0E67494), UINT32_C(0xFC96D106),
+          UINT32_C(0x3A918DFB), UINT32_C(0x516028CF)},
+         {UINT32_C(0xFB27B6EC), UINT32_C(0xFAF0B6F7), UINT32_C(0x515DA78D),
+          UINT32_C(0x0FAD73AD), UINT32_C(0xD8CF1934), UINT32_C(0x5F136068),
+          UINT32_C(0xB6052802), UINT32_C(0x0A526E04)}},
+        {{UINT32_C(0xE4685212), UINT32_C(0x20DF0DEB), UINT32_C(0xA41B293F),
+          UINT32_C(0x71D4BAC1), UINT32_C(0x2FA8BBAC), UINT32_C(0xBCC32A2F),
+          UINT32_C(0xF30CC343), UINT32_C(0x32A8723A)},
+         {UINT32_C(0xEF95ACFE), UINT32_C(0x71E6DAAF), UINT32_C(0x9F445394),
+          UINT32_C(0x27D158F6), UINT32_C(0xE186B246), UINT32_C(0x2140F78D),
+          UINT32_C(0xCB1C83AD), UINT32_C(0x4CAF98C3)}},
+        {{UINT32_C(0xB6F63AA9), UINT32_C(0x94E264FC), UINT32_C(0x4D0FE485),
+          UINT32_C(0xF4637B02), UINT32_C(0x069CCB4E), UINT32_C(0xA4BC0A03),
+          UINT32_C(0x9E25E817), UINT32_C(0x99A81E37)},
+         {UINT32_C(0x8F4D37BB), UINT32_C(0xE3B804A7), UINT32_C(0xE38E654C),
+          UINT32_C(0x57F272A5), UINT32_C(0x05928F65), UINT32_C(0x00D1852C),
+          UINT32_C(0x4345DD06), UINT32_C(0x3031B713)}},
+        {{UINT32_C(0x57536140), UINT32_C(0x6E42AF11), UINT32_C(0x005A403F),
+          UINT32_C(0xDC5B7CDC), UINT32_C(0x26527417), UINT32_C(0xE6EE185E),
+          UINT32_C(0x7C685BCF), UINT32_C(0x1003D013)},
+         {UINT32_C(0x192979E6), UINT32_C(0xC2206BF6), UINT32_C(0x6FE38214),
+          UINT32_C(0xD1C370DB), UINT32_C(0x92F3C044), UINT32_C(0x78D105B7),
+          UINT32_C(0xBFDF8DFA), UINT32_C(0x2F0DF6B8)}},
+        {{UINT32_C(0x44D04C4A), UINT32_C(0xB02FCA38), UINT32_C(0xA44566C6),
+          UINT32_C(0x956A2F7C), UINT32_C(0x9F1F09C6), UINT32_C(0x60672DF3),
+          UINT32_C(0x2160C362), UINT32_C(0x6459A949)},
+         {UINT32_C(0x08714451), UINT32_C(0xDAE54341), UINT32_C(0xBFFD7CF6),
+          UINT32_C(0x48B77A0D), UINT32_C(0x3EDBC8D4), UINT32_C(0x615ADBFE),
+          UINT32_C(0x35B67D2F), UINT32_C(0x3338E557)}},
+        {{UINT32_C(0xDD24A0F0), UINT32_C(0x601D49D1), UINT32_C(0x48EF27B9),
+          UINT32_C(0x60A48DB7), UINT32_C(0x97A8BAC6), UINT32_C(0x97F2212C),
+          UINT32_C(0x155AB524), UINT32_C(0x376B0292)},
+         {UINT32_C(0x62E2A961), UINT32_C(0xA25881BA), UINT32_C(0x2B8C56F7),
+          UINT32_C(0xEB74CC80), UINT32_C(0xDA57C41A), UINT32_C(0xBE5C5DD4),
+          UINT32_C(0x2D16AFA0), UINT32_C(0x53D0D037)}},
+        {{UINT32_C(0xCA291206), UINT32_C(0xE47C9EAB), UINT32_C(0x42D5C667),
+          UINT32_C(0x25DADB64), UINT32_C(0xD886993E), UINT32_C(0x8C154CB6),
+          UINT32_C(0x806B932F), UINT32_C(0x11DEC39C)},
+         {UINT32_C(0x13D4B4E5), UINT32_C(0x51A4DCF3), UINT32_C(0x9D1D822A),
+          UINT32_C(0xAA1DAD6D), UINT32_C(0xCEEF2E29), UINT32_C(0x2BB2E14D),
+          UINT32_C(0xB2343BE3), UINT32_C(0x429C13C7)}},
+        {{UINT32_C(0x297F709D), UINT32_C(0x4E8E953F), UINT32_C(0x262D862A),
+          UINT32_C(0x23183A3D), UINT32_C(0xEA12D93F), UINT32_C(0xE164A10D),
+          UINT32_C(0xFE703920), UINT32_C(0x386C2873)},
+         {UINT32_C(0xE5C51C7E), UINT32_C(0xD59E1582), UINT32_C(0x020F6A2E),
+          UINT32_C(0xA8C93B5B), UINT32_C(0x160CD058), UINT32_C(0x51518BD0),
+          UINT32_C(0xB1D38AC7), UINT32_C(0x3337801A)}},
+        {{UINT32_C(0x2F5D9E25), UINT32_C(0x6E251533), UINT32_C(0xB0D6B0DB),
+          UINT32_C(0x88E76135), UINT32_C(0x9E6762D1), UINT32_C(0x5C197832),
+          UINT32_C(0x84E620AC), UINT32_C(0x12326773)},
+         {UINT32_C(0x0E2694DD), UINT32_C(0x3B88DF27), UINT32_C(0x30A23CAA),
+          UINT32_C(0x30FED9E3), UINT32_C(0xA23DF142), UINT32_C(0xE12DD93E),
+          UINT32_C(0x2EA77C07), UINT32_C(0x06778F51)}},
+    },
+    {
+        {{UINT32_C(0x49E5F6B4), UINT32_C(0x5D5BE00E), UINT32_C(0x721EF9DC),
+          UINT32_C(0x2F47E7C7), UINT32_C(0x7EAFC098), UINT32_C(0x338F7B00),
+          UINT32_C(0xAF8C2475), UINT32_C(0x0F5F06E3)},
+         {UINT32_C(0x63122B22), UINT32_C(0x2A4B845C), UINT32_C(0x89A4CE9A),
+          UINT32_C(0xED440060), UINT32_C(0x9A86D9BC), UINT32_C(0xC9EEB640),
+          UINT32_C(0x2F39B439), UINT32_C(0x12C3E0F3)}},
+        {{UINT32_C(0x17766F6C), UINT32_C(0xB444B88B), UINT32_C(0xA41FD692),
+          UINT32_C(0xF9B100E6), UINT32_C(0x5C149B30), UINT32_C(0x81EAFCD1),
+          UINT32_C(0x1D521A1E), UINT32_C(0x37DD6F6E)},
+         {UINT32_C(0x389DCD6E), UINT32_C(0x14DBE8C3), UINT32_C(0x0DCBC7FC),
+          UINT32_C(0xCD24D655), UINT32_C(0xE00F9102), UINT32_C(0x05F8D48E),
+          UINT32_C(0x509D18D4), UINT32_C(0x403954E6)}},
+        {{UINT32_C(0xE4FE16EC), UINT32_C(0xA04FDDDF), UINT32_C(0x90E15C0C),
+          UINT32_C(0xB9E7FA73), UINT32_C(0xC77FAB6B), UINT32_C(0x7D6A7206),
+          UINT32_C(0x3E221F12), UINT32_C(0x3FFDCCD1)},
+         {UINT32_C(0x47B5BB7F), UINT32_C(0x120C05B1), UINT32_C(0x5B7E2B96),
+          UINT32_C(0xFA3614C0), UINT32_C(0x4A6AC6E0), UINT32_C(0xF3A4F07F),
+          UINT32_C(0xC8AD4F23), UINT32_C(0x0324BF48)}},
+        {{UINT32_C(0x55DF2F18), UINT32_C(0x508A0370), UINT32_C(0xB872F209),
+          UINT32_C(0x1C6C91EA), UINT32_C(0x8E12F437), UINT32_C(0xDC3F6C5A),
+          UINT32_C(0xC91AFD75), UINT32_C(0x65F5058F)},
+         {UINT32_C(0x5A859A1D), UINT32_C(0x0C43613D), UINT32_C(0x5BF96A6B),
+          UINT32_C(0x83A2610E), UINT32_C(0x1496AEAD), UINT32_C(0x1A98AA4C),
+          UINT32_C(0xE6CAA901), UINT32_C(0x3AB1CE5E)}},
+        {{UINT32_C(0xFFB3E411), UINT32_C(0x9420ABFE), UINT32_C(0x31404E74),
+          UINT32_C(0xCE609760), UINT32_C(0x02C49837), UINT32_C(0x3D4C23C5),
+          UINT32_C(0xD0868A3C), UINT32_C(0x6B79FB14)},
+         {UINT32_C(0x6B5861EA), UINT32_C(0xB4EEE8DB), UINT32_C(0x9D948195),
+          UINT32_C(0x495E2B46), UINT32_C(0x1CE15EC9), UINT32_C(0x2BB0BD94),
+          UINT32_C(0xDED25955), UINT32_C(0x6CE79F80)}},
+        {{UINT32_C(0x5820DF65), UINT32_C(0xA6B98C1D), UINT32_C(0x909356B5),
+          UINT32_C(0xE8284737), UINT32_C(0x091340E1), UINT32_C(0x38E8609A),
+          UINT32_C(0x10666012), UINT32_C(0x98EC077B)},
+         {UINT32_C(0xBF075DAE), UINT32_C(0xFB243B1E), UINT32_C(0xA270FE31),
+          UINT32_C(0x32312BAC), UINT32_C(0x0CAA5F8E), UINT32_C(0x21451120),
+          UINT32_C(0x2A515015), UINT32_C(0x8F60118F)}},
+        {{UINT32_C(0xCBDEB88E), UINT32_C(0x4F211C9E), UINT32_C(0xB6D680FD),
+          UINT32_C(0xF6D3CC3A), UINT32_C(0x8BF4B4A7), UINT32_C(0xE193829D),
+          UINT32_C(0x2D620371), UINT32_C(0x3223EF4E)},
+         {UINT32_C(0xC0E5245A), UINT32_C(0xC3E35420), UINT32_C(0xB4ADE2EA),
+          UINT32_C(0xD3F4F894), UINT32_C(0xF2CE985E), UINT32_C(0x464FCB6C),
+          UINT32_C(0x7B987FA7), UINT32_C(0x79CF596D)}},
+        {{UINT32_C(0x0C0016FF), UINT32_C(0x0730748C), UINT32_C(0xA2949069),
+          UINT32_C(0xD02115C5), UINT32_C(0x40E9C7F9), UINT32_C(0xAA6F794D),
+          UINT32_C(0x79149C37), UINT32_C(0x9514FA7B)},
+         {UINT32_C(0x5A46BCE0), UINT32_C(0x6E2F2778), UINT32_C(0x0837ACD5),
+          UINT32_C(0xF55D46C6), UINT32_C(0x1E4223E6), UINT32_C(0xF965C468),
+          UINT32_C(0x85D90A07), UINT32_C(0x0BFF0A91)}},
+        {{UINT32_C(0x1923C8AF), UINT32_C(0x9ED90358), UINT32_C(0xA470AE00),
+          UINT32_C(0xC425B633), UINT32_C(0x1C50FDAD), UINT32_C(0xF9F4B162),
+          UINT32_C(0xA8CA2BD5), UINT32_C(0x0999D072)},
+         {UINT32_C(0xAF74D4C3), UINT32_C(0xCB122FBD), UINT32_C(0x2C283752),
+          UINT32_C(0x372C13F0), UINT32_C(0x82138B19), UINT32_C(0x9F42A903),
+          UINT32_C(0x3EB8CB95), UINT32_C(0x573A2CEE)}},
+        {{UINT32_C(0x3AC2E191), UINT32_C(0x6C3A6BE3), UINT32_C(0x1B222DB2),
+          UINT32_C(0x4149E0EB), UINT32_C(0xA4AACC55), UINT32_C(0x5BA91005),
+          UINT32_C(0x1BFADBD0), UINT32_C(0x176BD33D)},
+         {UINT32_C(0xA8DA0FEA), UINT32_C(0x4AEAF14E), UINT32_C(0xA7FF8E1C),
+          UINT32_C(0xB12401F9), UINT32_C(0x0F192414), UINT32_C(0xF1EF39AE),
+          UINT32_C(0x416743C1), UINT32_C(0x95D433D3)}},
+        {{UINT32_C(0x9AA0C238), UINT32_C(0x29ECF54D), UINT32_C(0x8FCA6419),
+          UINT32_C(0x3762F1D7), UINT32_C(0x64D3AAA9), UINT32_C(0x761D786A),
+          UINT32_C(0xDAEC7BF4), UINT32_C(0x7A8A677D)},
+         {UINT32_C(0x324676F4), UINT32_C(0xC2829EAD), UINT32_C(0x4D0B291E),
+          UINT32_C(0x4E504A47), UINT32_C(0xF8C4F384), UINT32_C(0x360CE7FE),
+          UINT32_C(0x78CDA37D), UINT32_C(0x33A577B5)}},
+        {{UINT32_C(0x333103FD), UINT32_C(0x1BBFC128), UINT32_C(0xE45C9DBE),
+          UINT32_C(0x3D36045C), UINT32_C(0x15C9013D), UINT32_C(0xA8D53F5A),
+          UINT32_C(0xA33FDCFD), UINT32_C(0x99D62F8A)},
+         {UINT32_C(0x0A81F581), UINT32_C(0x73E53961), UINT32_C(0xD00BC0D9),
+          UINT32_C(0xD01AD20E), UINT32_C(0x1F6D9B73), UINT32_C(0x59701F4D),
+          UINT32_C(0xE098E536), UINT32_C(0x0F4EBFBC)}},
+        {{UINT32_C(0x91E3C062), UINT32_C(0xBDB9368A), UINT32_C(0x9B17AAE5),
+          UINT32_C(0xCD66A0B1), UINT32_C(0xB4537E05), UINT32_C(0xB6636DD7),
+          UINT32_C(0x73B119CE), UINT32_C(0x37D94B8E)},
+         {UINT32_C(0xC7428FF9), UINT32_C(0xA5F8E90F), UINT32_C(0xF8EA9F03),
+          UINT32_C(0xE7E5B2B7), UINT32_C(0x5B3506DA), UINT32_C(0xB7F20FB8),
+          UINT32_C(0xE494FFDA), UINT32_C(0x0F4AB6D5)}},
+        {{UINT32_C(0x85365933), UINT32_C(0x3ACEE3BD), UINT32_C(0xBF510114),
+          UINT32_C(0x9D5223D3), UINT32_C(0xA08D01B0), UINT32_C(0xE0D7D9A7),
+          UINT32_C(0xB2F1F61F), UINT32_C(0x28FD329A)},
+         {UINT32_C(0xA5909DD3), UINT32_C(0x3E16A2E2), UINT32_C(0xB4FECB35),
+          UINT32_C(0x284A8708), UINT32_C(0x73D5BFBA), UINT32_C(0x190F7B3A),
+          UINT32_C(0x92EE4BBE), UINT32_C(0x7E07982E)}},
+        {{UINT32_C(0x44945687), UINT32_C(0xA30A4C22), UINT32_C(0xD688A301),
+          UINT32_C(0x657C0F2E), UINT32_C(0xBBB3E65A), UINT32_C(0x9B558D4A),
+          UINT32_C(0xA6E57844), UINT32_C(0x8044D57E)},
+         {UINT32_C(0xE3957E21), UINT32_C(0xF202E50E), UINT32_C(0xCE62FCC9),
+          UINT32_C(0x4957E651), UINT32_C(0xC4ECE0B8), UINT32_C(0xF7B9EBA4),
+          UINT32_C(0x61167229), UINT32_C(0x29532CEC)}},
+        {{UINT32_C(0x3EEF3D71), UINT32_C(0xE9DC8EA6), UINT32_C(0x3E8EC117),
+          UINT32_C(0xEBF76BD4), UINT32_C(0x2EA072B9), UINT32_C(0x48CEB78D),
+          UINT32_C(0x73EFC32D), UINT32_C(0x82ECDFC4)},
+         {UINT32_C(0xE2C89E7D), UINT32_C(0x51B02CB3), UINT32_C(0xF4D9100F),
+          UINT32_C(0xE9D0740C), UINT32_C(0x8A5E3F48), UINT32_C(0xBB556EFE),
+          UINT32_C(0x1D01B44E), UINT32_C(0x864E52DA)}},
+    },
+    {
+        {{UINT32_C(0x14EA6DC5), UINT32_C(0x5A75E0BD), UINT32_C(0x532EFED7),
+          UINT32_C(0x09F2AA76), UINT32_C(0x83CE5A18), UINT32_C(0xE6DAE0A9),
+          UINT32_C(0xCEB4E78D), UINT32_C(0x00F9BCB7)},
+         {UINT32_C(0x71F79BF3), UINT32_C(0x128FB51C), UINT32_C(0x80D5DBC3),
+          UINT32_C(0x78C79788), UINT32_C(0x9B816B9E), UINT32_C(0x2752F02C),
+          UINT32_C(0xEB7622E2), UINT32_C(0x88CFBA0C)}},
+        {{UINT32_C(0x268432A3), UINT32_C(0x845AB940), UINT32_C(0x2F94F6D3),
+          UINT32_C(0xA8D0231B), UINT32_C(0xFEC02130), UINT32_C(0xBDFB3F91),
+          UINT32_C(0x5F62419F), UINT32_C(0x07A61AE4)},
+         {UINT32_C(0x192EBF1A), UINT32_C(0xD1C951DF), UINT32_C(0xFA232E34),
+          UINT32_C(0x22CDCFF5), UINT32_C(0x3A7581DD), UINT32_C(0xDFDF121B),
+          UINT32_C(0x710403A5), UINT32_C(0x9865ECA2)}},
+        {{UINT32_C(0xF8180BAB), UINT32_C(0x609F4527), UINT32_C(0x50A6D914),
+          UINT32_C(0x93AB1072), UINT32_C(0xE2EEE3BD), UINT32_C(0x299D5013),
+          UINT32_C(0x42959C14), UINT32_C(0x36EFCE5B)},
+         {UINT32_C(0x1045FFCB), UINT32_C(0x49CDA60D), UINT32_C(0x45723371),
+          UINT32_C(0xA8B2492E), UINT32_C(0xF243FDBB), UINT32_C(0xCB75789B),
+          UINT32_C(0x871D500D), UINT32_C(0x8E1079D7)}},
+        {{UINT32_C(0xDB14298E), UINT32_C(0x69852694), UINT32_C(0x41A56B6D),
+          UINT32_C(0xBAA92A95), UINT32_C(0x3DBFDBA4), UINT32_C(0xC7371848),
+          UINT32_C(0x947747F8), UINT32_C(0x94B3155C)},
+         {UINT32_C(0x7552426B), UINT32_C(0x97BCDD19), UINT32_C(0x32682121),
+          UINT32_C(0x4FB3E76D), UINT32_C(0x8BC15FCA), UINT32_C(0x875AA0F7),
+          UINT32_C(0xF1FD2315), UINT32_C(0x4065BCDF)}},
+        {{UINT32_C(0xB7F1ED04), UINT32_C(0x2D1C0519), UINT32_C(0xEA2535E1),
+          UINT32_C(0xED9A1BB7), UINT32_C(0xABAE813E), UINT32_C(0xE4728CD6),
+          UINT32_C(0x21A771D0), UINT32_C(0x2CD7D447)},
+         {UINT32_C(0x59B9E964), UINT32_C(0x88E2A785), UINT32_C(0x6F9B5374),
+          UINT32_C(0x2677FBD7), UINT32_C(0x2645B626), UINT32_C(0x3967D6C5),
+          UINT32_C(0x5A1C315B), UINT32_C(0x8843F7DF)}},
+        {{UINT32_C(0xC7055A4E), UINT32_C(0x673CD273), UINT32_C(0xEE827873),
+          UINT32_C(0x052AC45C), UINT32_C(0xCE1981F3), UINT32_C(0xC26B9214),
+          UINT32_C(0x2B8EEF59), UINT32_C(0x3C39C13C)},
+         {UINT32_C(0x0B276D47), UINT32_C(0xDD9E1B9B), UINT32_C(0x7287F9A1),
+          UINT32_C(0x6729A534), UINT32_C(0x061DAD53), UINT32_C(0x43E1471C),
+          UINT32_C(0x118B56C8), UINT32_C(0x6082FAD9)}},
+        {{UINT32_C(0xF99186D6), UINT32_C(0x9C3872AA), UINT32_C(0x75AC99BF),
+          UINT32_C(0x1D9E8DB6), UINT32_C(0xE338DBD3), UINT32_C(0x6FA7A0FF),
+          UINT32_C(0xD1FEF2F9), UINT32_C(0x1EDF44EC)},
+         {UINT32_C(0x1F9114BF), UINT32_C(0xBAF9D33A), UINT32_C(0x3007B6A5),
+          UINT32_C(0x89AF08E5), UINT32_C(0x8436D917), UINT32_C(0xAA04B169),
+          UINT32_C(0x6AFCF5E0), UINT32_C(0x8381E76A)}},
+        {{UINT32_C(0xC1D799BA), UINT32_C(0xC51848A4), UINT32_C(0x7F40B34B),
+          UINT32_C(0x6C3D43A9), UINT32_C(0xA5CB7B95), UINT32_C(0xE8DAE074),
+          UINT32_C(0xBB5F8AEC), UINT32_C(0x5375B1EE)},
+         {UINT32_C(0x507099E6), UINT32_C(0x461290EE), UINT32_C(0x3BAD89AD),
+          UINT32_C(0xB95934AA), UINT32_C(0x701A4D9C), UINT32_C(0x9A6E5C22),
+          UINT32_C(0x5E1389F6), UINT32_C(0x2CA79144)}},
+        {{UINT32_C(0x0E5108FC), UINT32_C(0xBF82F786), UINT32_C(0x644D06DE),
+          UINT32_C(0x3620CCC4), UINT32_C(0x8E5C4753), UINT32_C(0xB65DE853),
+          UINT32_C(0x9FEDFD16), UINT32_C(0x6DAB7241)},
+         {UINT32_C(0x546DCBA4), UINT32_C(0x4CECAC87), UINT32_C(0x3E2D0684),
+          UINT32_C(0xA7BBE65D), UINT32_C(0xDA1E4FFA), UINT32_C(0x092AA490),
+          UINT32_C(0x41AD32AF), UINT32_C(0x78F448BE)}},
+        {{UINT32_C(0x4A33F071), UINT32_C(0x321580FE), UINT32_C(0x5EE5E685),
+          UINT32_C(0xBEA845D1), UINT32_C(0x47AC8ACF), UINT32_C(0xC73CAECE),
+          UINT32_C(0xA9F65F05), UINT32_C(0x0E15E55D)},
+         {UINT32_C(0xA59506E7), UINT32_C(0x5FC47420), UINT32_C(0x01DBD2DD),
+          UINT32_C(0x501417FF), UINT32_C(0xFB1205A6), UINT32_C(0x8EF23280),
+          UINT32_C(0xE0F43AE8), UINT32_C(0x1AA26168)}},
+        {{UINT32_C(0x8149EB2A), UINT32_C(0xD41F73B1), UINT32_C(0xAD95D531),
+          UINT32_C(0xC297AF04), UINT32_C(0x749E415D), UINT32_C(0x2017176F),
+          UINT32_C(0x8357CE9A), UINT32_C(0x5AF89C73)},
+         {UINT32_C(0x08A0FF9C), UINT32_C(0x301F7C79), UINT32_C(0x98695C57),
+          UINT32_C(0x0C2999B5), UINT32_C(0x6E4D8FF5), UINT32_C(0x85679957),
+          UINT32_C(0x6F493B1C), UINT32_C(0x2CC0FF3E)}},
+        {{UINT32_C(0x4AF481F5), UINT32_C(0xFE90F904), UINT32_C(0x31BC4919),
+          UINT32_C(0x0562C78B), UINT32_C(0x70E4F140), UINT32_C(0xAA44AA56),
+          UINT32_C(0xA175159A), UINT32_C(0x1B61DEB4)},
+         {UINT32_C(0xA7A7E648), UINT32_C(0x85315DE1), UINT32_C(0x6C012B33),
+          UINT32_C(0x4BC1F51D), UINT32_C(0x060CDEE6), UINT32_C(0x40CB5DE3),
+          UINT32_C(0x32A1E138), UINT32_C(0x969F9196)}},
+        {{UINT32_C(0xE05F23B5), UINT32_C(0x3B317508), UINT32_C(0x512D1156),
+          UINT32_C(0x7B1A93AE), UINT32_C(0xCB58EC19), UINT32_C(0x3A283415),
+          UINT32_C(0x8E27CAD9), UINT32_C(0x193A53A1)},
+         {UINT32_C(0x03DE1BA8), UINT32_C(0xCF6BBEBA), UINT32_C(0x47A02393),
+          UINT32_C(0xFA5544CA), UINT32_C(0x8627F5EB), UINT32_C(0x8B3AAC1A),
+          UINT32_C(0x62EAF195), UINT32_C(0x02FAD2EC)}},
+        {{UINT32_C(0x259CCF0F), UINT32_C(0x4F8D8ADA), UINT32_C(0x562991D7),
+          UINT32_C(0xE4E6786B), UINT32_C(0x597C3FD3), UINT32_C(0xA1C63473),
+          UINT32_C(0xACAB6F16), UINT32_C(0x1F5B9017)},
+         {UINT32_C(0x592D437A), UINT32_C(0x95B201BD), UINT32_C(0xED14F859),
+          UINT32_C(0x54432A75), UINT32_C(0x0B551AC1), UINT32_C(0x67EF73FB),
+          UINT32_C(0x7F1AB9CA), UINT32_C(0x0A48F043)}},
+        {{UINT32_C(0x4A35445C), UINT32_C(0xECEE508E), UINT32_C(0xB3EA6F9B),
+          UINT32_C(0x80BE9F07), UINT32_C(0x87E4B78E), UINT32_C(0xD914B256),
+          UINT32_C(0xF89B8E4B), UINT32_C(0x97F79CC9)},
+         {UINT32_C(0xC359FB12), UINT32_C(0x6A5B4F2B), UINT32_C(0x99CF6FFA),
+          UINT32_C(0x54E6E37A), UINT32_C(0xF7C66CA8), UINT32_C(0x1133C4B2),
+          UINT32_C(0x0345866B), UINT32_C(0x6F679B28)}},
+        {{UINT32_C(0x44E77CDF), UINT32_C(0x0006F7A1), UINT32_C(0x42033333),
+          UINT32_C(0xD8077F9F), UINT32_C(0x21EAF35F), UINT32_C(0x0414ECE5),
+          UINT32_C(0x5623803C), UINT32_C(0x1211576B)},
+         {UINT32_C(0x140309A7), UINT32_C(0xEDADD215), UINT32_C(0x5EBAE3BB),
+          UINT32_C(0xC349C657), UINT32_C(0x821DE06B), UINT32_C(0xBD40427C),
+          UINT32_C(0x3F5D2F97), UINT32_C(0x8949ACA3)}},
+    },
+    {
+        {{UINT32_C(0x022E3D44), UINT32_C(0xAC1F87E6), UINT32_C(0xB39F6B10),
+          UINT32_C(0xDFC17BED), UINT32_C(0x07119C4A), UINT32_C(0xEAAE4168),
+          UINT32_C(0xDBD47D36), UINT32_C(0x8B3B40BC)},
+         {UINT32_C(0x861B7B59), UINT32_C(0x6683A561), UINT32_C(0x13A6C76D),
+          UINT32_C(0xF9BFFB17), UINT32_C(0xA30A05AC), UINT32_C(0xE4E72EA4),
+          UINT32_C(0xBA0D2AD6), UINT32_C(0x77C219E8)}},
+        {{UINT32_C(0x66BE6944), UINT32_C(0x5019824E), UINT32_C(0x7B131070),
+          UINT32_C(0x811ACEBE), UINT32_C(0x3BA34677), UINT32_C(0x9730DCF0),
+          UINT32_C(0x7BC9CFC8), UINT32_C(0x5B9C5CF5)},
+         {UINT32_C(0xB283C8CC), UINT32_C(0x1CBD950F), UINT32_C(0x3973A325),
+          UINT32_C(0xF66DBDDA), UINT32_C(0x6FA60257), UINT32_C(0x4EC5EBC2),
+          UINT32_C(0x36FF26B3), UINT32_C(0x0C01D577)}},
+        {{UINT32_C(0x7CE2BE74), UINT32_C(0xBB221954), UINT32_C(0x841E6C0C),
+          UINT32_C(0x23E44E0E), UINT32_C(0x77C3824E), UINT32_C(0xE760D33D),
+          UINT32_C(0x7EB3CE34), UINT32_C(0x5B656FBE)},
+         {UINT32_C(0xC5F3D66E), UINT32_C(0xEC50E509), UINT32_C(0x496EF8BA),
+          UINT32_C(0x5326C2B8), UINT32_C(0x3D4B20D4), UINT32_C(0x3F9485F6),
+          UINT32_C(0x51C21B0E), UINT32_C(0x11B74A85)}},
+        {{UINT32_C(0x25E30336), UINT32_C(0xC3EAEB04), UINT32_C(0xA6E3637F),
+          UINT32_C(0xA9D6C70F), UINT32_C(0x86F77F68), UINT32_C(0xF818C37E),
+          UINT32_C(0xC60DF35A), UINT32_C(0x786ED3C2)},
+         {UINT32_C(0xD56D705A), UINT32_C(0xACA70EA0), UINT32_C(0x7BF4EF10),
+          UINT32_C(0xCE61608C), UINT32_C(0x1722C179), UINT32_C(0x49AD1CD8),
+          UINT32_C(0x687F3222), UINT32_C(0x1B84FBE9)}},
+        {{UINT32_C(0x35EE0BA9), UINT32_C(0x8A0F4BF1), UINT32_C(0x03952A08),
+          UINT32_C(0x42AD2846), UINT32_C(0x3B60B4DD), UINT32_C(0x1E0E1E3B),
+          UINT32_C(0xF5DCAD76), UINT32_C(0x0DC1A947)},
+         {UINT32_C(0x1F496E03), UINT32_C(0x054BECA4), UINT32_C(0x3AE6E6F6),
+          UINT32_C(0x8F02FDAB), UINT32_C(0x9B71C9F5), UINT32_C(0x8851CFF4),
+          UINT32_C(0xA7441F87), UINT32_C(0x6BD7271C)}},
+        {{UINT32_C(0x9EB6A2C3), UINT32_C(0xB019E346), UINT32_C(0x931E7550),
+          UINT32_C(0x2B719034), UINT32_C(0x40698F1F), UINT32_C(0x2B2CBEBD),
+          UINT32_C(0x4F1FC587), UINT32_C(0x375DB591)},
+         {UINT32_C(0x676A79A4), UINT32_C(0x09843166), UINT32_C(0xB416D657),
+          UINT32_C(0x91848967), UINT32_C(0x9FED6B27), UINT32_C(0xB49EA721),
+          UINT32_C(0xD080C8AA), UINT32_C(0x1FAC5650)}},
+        {{UINT32_C(0x58C4C2AA), UINT32_C(0x205CD588), UINT32_C(0x17F572EE),
+          UINT32_C(0xBEEE26F8), UINT32_C(0x4CB4DE3A), UINT32_C(0xE744AB67),
+          UINT32_C(0xCBE989BD), UINT32_C(0x37E34E18)},
+         {UINT32_C(0x767D31B5), UINT32_C(0x95D9118B), UINT32_C(0x83E7C03E),
+          UINT32_C(0x9A34DBEC), UINT32_C(0xB8F70DD3), UINT32_C(0xCAFDBD1A),
+          UINT32_C(0x3909BB51), UINT32_C(0x1E68A681)}},
+        {{UINT32_C(0x9FD96ABA), UINT32_C(0xFE0A5DFF), UINT32_C(0xD99B68DE),
+          UINT32_C(0xBBFB1FDF), UINT32_C(0xE3F522BE), UINT32_C(0x5E232A4F),
+          UINT32_C(0xA6428D33), UINT32_C(0x768C2C54)},
+         {UINT32_C(0xDBF1A575), UINT32_C(0xE9CFEDF9), UINT32_C(0x4B83F9AB),
+          UINT32_C(0x841721F2), UINT32_C(0x80A85361), UINT32_C(0xFAD9650A),
+          UINT32_C(0x04979759), UINT32_C(0x31589211)}},
+        {{UINT32_C(0xEFBF2099), UINT32_C(0x1CF9F4B8), UINT32_C(0xF571408B),
+          UINT32_C(0x63D5499B), UINT32_C(0xEC3E74A6), UINT32_C(0x89C119FC),
+          UINT32_C(0x698E4DCD), UINT32_C(0x0525DDDF)},
+         {UINT32_C(0x7333A38C), UINT32_C(0x43FCDDE4), UINT32_C(0x80A912DE),
+          UINT32_C(0x2150EAD4), UINT32_C(0x0A19CC55), UINT32_C(0x4B3BD223),
+          UINT32_C(0x238AC64C), UINT32_C(0x3553EB4E)}},
+        {{UINT32_C(0xFEC2371F), UINT32_C(0x3A259F52), UINT32_C(0x44863D3E),
+          UINT32_C(0x8B03C505), UINT32_C(0x86BB6522), UINT32_C(0x1053E2D6),
+          UINT32_C(0xF7086CBE), UINT32_C(0x400CE699)},
+         {UINT32_C(0x03ED78DE), UINT32_C(0x695B1EA0), UINT32_C(0x16500E1B),
+          UINT32_C(0x00AE6D09), UINT32_C(0x14B01815), UINT32_C(0x9F29B089),
+          UINT32_C(0xC218D892), UINT32_C(0x269692B4)}},
+        {{UINT32_C(0xF0D44E79), UINT32_C(0x8660280D), UINT32_C(0x37C0F38F),
+          UINT32_C(0x69D29685), UINT32_C(0xB9E24AD8), UINT32_C(0x664B8146),
+          UINT32_C(0x1E695452), UINT32_C(0x277CB4DD)},
+         {UINT32_C(0xDFBF05EB), UINT32_C(0xB1A02D4E), UINT32_C(0x4A1426C7),
+          UINT32_C(0x3B349308), UINT32_C(0x22204FE7), UINT32_C(0x13B79612),
+          UINT32_C(0xBCB5CD9F), UINT32_C(0x04F80867)}},
+        {{UINT32_C(0xE0852CBC), UINT32_C(0x37BDBCAE), UINT32_C(0xBE22764C),
+          UINT32_C(0x2A6D7A23), UINT32_C(0x25AFD9FF), UINT32_C(0x4E0D43AC),
+          UINT32_C(0xD16DD9EB), UINT32_C(0x1F6C9E14)},
+         {UINT32_C(0xB4B0F47A), UINT32_C(0xE37E3AB3), UINT32_C(0x6C476C3A),
+          UINT32_C(0x09E046FB), UINT32_C(0xB75FA2DC), UINT32_C(0xB8F649D9),
+          UINT32_C(0xFAB1AC41), UINT32_C(0x7962A8C4)}},
+        {{UINT32_C(0xF6A1314A), UINT32_C(0x00E41470), UINT32_C(0xE4388464),
+          UINT32_C(0x176380C3), UINT32_C(0x9B8A2B4D), UINT32_C(0xDB3405CD),
+          UINT32_C(0x7DE02ABC), UINT32_C(0x6299A1A6)},
+         {UINT32_C(0x7BBE7BFA), UINT32_C(0x9F6B9DE7), UINT32_C(0x9D3098DD),
+          UINT32_C(0x59F16F54), UINT32_C(0x3B5767FE), UINT32_C(0xFEC29C8D),
+          UINT32_C(0x64955759), UINT32_C(0x67711BC0)}},
+        {{UINT32_C(0xB1B07B5D), UINT32_C(0x34444EA3), UINT32_C(0x91FA2B4A),
+          UINT32_C(0xB1D973B4), UINT32_C(0x83403A0E), UINT32_C(0xEBEBEFB1),
+          UINT32_C(0x8E8A8EC6), UINT32_C(0x56D52098)},
+         {UINT32_C(0xA7E82D55), UINT32_C(0x11C93529), UINT32_C(0xD525C399),
+          UINT32_C(0x9230AE03), UINT32_C(0x8DB46C82), UINT32_C(0x74E1CBB2),
+          UINT32_C(0x40BE5E15), UINT32_C(0x4C3383CC)}},
+        {{UINT32_C(0xCDAD72F3), UINT32_C(0x33A52E73), UINT32_C(0xB9E77759),
+          UINT32_C(0x1D2CCA33), UINT32_C(0x549406F5), UINT32_C(0x26717716),
+          UINT32_C(0x5B3DB3E8), UINT32_C(0x70DED57F)},
+         {UINT32_C(0x43C85A67), UINT32_C(0xBA38F813), UINT32_C(0x35422BB3),
+          UINT32_C(0x956F2DD7), UINT32_C(0x07486F18), UINT32_C(0x52D9FA99),
+          UINT32_C(0x75D1D2C4), UINT32_C(0x655791BF)}},
+        {{UINT32_C(0x1FC9E0B3), UINT32_C(0xF434A960), UINT32_C(0xBEDE92AD),
+          UINT32_C(0x42A7B891), UINT32_C(0xA55A8009), UINT32_C(0x05A182D8),
+          UINT32_C(0x38531612), UINT32_C(0x3404E08D)},
+         {UINT32_C(0xF07D76E3), UINT32_C(0x2B5B2766), UINT32_C(0x1D77B90C),
+          UINT32_C(0x94B1A98D), UINT32_C(0x4B18BB9F), UINT32_C(0xA86C0EC8),
+          UINT32_C(0x526A81E3), UINT32_C(0x6532770F)}},
+    },
+    {
+        {{UINT32_C(0x61CFE04A), UINT32_C(0x4429A4E8), UINT32_C(0x2C9CA012),
+          UINT32_C(0xEE867386), UINT32_C(0xC32D1969), UINT32_C(0x237A3040),
+          UINT32_C(0x0AE2DFAE), UINT32_C(0x400AD599)},
+         {UINT32_C(0x213C0A18), UINT32_C(0x1603D10A), UINT32_C(0x2B1E2A57),
+          UINT32_C(0x6EB8042D), UINT32_C(0xC7CAF556), UINT32_C(0x4C9C1696),
+          UINT32_C(0xE0C1A5A3), UINT32_C(0x79BE04A7)}},
+        {{UINT32_C(0x3FCB8B14), UINT32_C(0x161781E3), UINT32_C(0xB1384C3C),
+          UINT32_C(0x1383E3B8), UINT32_C(0xB566626C), UINT32_C(0x5129EA19),
+          UINT32_C(0x551DE02A), UINT32_C(0x8A1F86E4)},
+         {UINT32_C(0xAEDBE04C), UINT32_C(0x9C648CCE), UINT32_C(0xFB200132),
+          UINT32_C(0x0D4278AC), UINT32_C(0xC1E2D4A3), UINT32_C(0x466D452A),
+          UINT32_C(0xB21B6E38), UINT32_C(0x832B0E6E)}},
+        {{UINT32_C(0xED1D76C7), UINT32_C(0x20101D7C), UINT32_C(0xC110D85E),
+          UINT32_C(0xC3282661), UINT32_C(0xFFCA2DD7), UINT32_C(0xB8026CE4),
+          UINT32_C(0x8BA48211), UINT32_C(0x73B4EBA5)},
+         {UINT32_C(0xD8554E2C), UINT32_C(0xAB94FE21), UINT32_C(0x81B2A181),
+          UINT32_C(0x319E2FD7), UINT32_C(0x37E8D3E2), UINT32_C(0x2C824DC5),
+          UINT32_C(0x09FCA0AB), UINT32_C(0x97CD457A)}},
+        {{UINT32_C(0xC50116CB), UINT32_C(0x8E4B5FBD), UINT32_C(0xCA631A93),
+          UINT32_C(0x3D20CECE), UINT32_C(0x545575D8), UINT32_C(0x5F80606C),
+          UINT32_C(0xF91C7908), UINT32_C(0x45ED55DE)},
+         {UINT32_C(0x7CC1083C), UINT32_C(0x91870A92), UINT32_C(0xD360FF5C),
+          UINT32_C(0xA3828E06), UINT32_C(0x84003D42), UINT32_C(0xFC9DFCDC),
+          UINT32_C(0xFAC4667F), UINT32_C(0x0733C887)}},
+        {{UINT32_C(0xCC2FC31B), UINT32_C(0x6F1F771A), UINT32_C(0x902E8176),
+          UINT32_C(0xDA9351A1), UINT32_C(0xCE3FF045), UINT32_C(0xFB9395AF),
+          UINT32_C(0x13820DAB), UINT32_C(0x17C28CA2)},
+         {UINT32_C(0xA684E6FA), UINT32_C(0xA1F596BC), UINT32_C(0xDAD3995A),
+          UINT32_C(0x89228CC7), UINT32_C(0xC02E458B), UINT32_C(0x5DBFD421),
+          UINT32_C(0xA2122AFE), UINT32_C(0x58C25045)}},
+        {{UINT32_C(0x018EADB0), UINT32_C(0x2906450F), UINT32_C(0x9030C84E),
+          UINT32_C(0x88A7A236), UINT32_C(0x33308084), UINT32_C(0x492BA7A3),
+          UINT32_C(0x5605F371), UINT32_C(0x321388B9)},
+         {UINT32_C(0x626AE19A), UINT32_C(0x5F934C94), UINT32_C(0x01C7CCD9),
+          UINT32_C(0xE2BD6C67), UINT32_C(0xEC0BBD52), UINT32_C(0xB07757B1),
+          UINT32_C(0xF9EDD2AC), UINT32_C(0x1E980338)}},
+        {{UINT32_C(0x8831457C), UINT32_C(0x5A537074), UINT32_C(0x47E7B9A9),
+          UINT32_C(0x0E0E22FB), UINT32_C(0xA225A259), UINT32_C(0x7BE70594),
+          UINT32_C(0x30946816), UINT32_C(0x433DB055)},
+         {UINT32_C(0xE2F2C3CB), UINT32_C(0x852EA9F9), UINT32_C(0x2D243848),
+          UINT32_C(0xDC4E8E3A), UINT32_C(0x1E887770), UINT32_C(0x10F34AB8),
+          UINT32_C(0xC89FC71B), UINT32_C(0x29795D2C)}},
+        {{UINT32_C(0xCFEC2C6F), UINT32_C(0xE046B04B), UINT32_C(0x2CA8256E),
+          UINT32_C(0xA1D3B5A0), UINT32_C(0xE87F767F), UINT32_C(0x93F7FDFA),
+          UINT32_C(0x35FA3837), UINT32_C(0x2DF5693E)},
+         {UINT32_C(0x97884587), UINT32_C(0x71D9638C), UINT32_C(0x39E115EC),
+          UINT32_C(0x175EA91F), UINT32_C(0xF41A27FC), UINT32_C(0x14E16C31),
+          UINT32_C(0xEB2F5913), UINT32_C(0x8B2682EA)}},
+        {{UINT32_C(0x798C7F28), UINT32_C(0x2BCC6853), UINT32_C(0xDD7D3615),
+          UINT32_C(0x2F985A59), UINT32_C(0x41D2257A), UINT32_C(0xA66519E1),
+          UINT32_C(0x021F719B), UINT32_C(0x18731D74)},
+         {UINT32_C(0x360E9C20), UINT32_C(0x7210472C), UINT32_C(0x329A9B35),
+          UINT32_C(0x4FB48411), UINT32_C(0x87D62CA5), UINT32_C(0xB33B6CB5),
+          UINT32_C(0xFD0D7703), UINT32_C(0x86226D9E)}},
+        {{UINT32_C(0xF67CB77C), UINT32_C(0xDD133F8B), UINT32_C(0xF6ABEE80),
+          UINT32_C(0x381E4D62), UINT32_C(0x7DF85AE5), UINT32_C(0x3236F005),
+          UINT32_C(0x4610BB0E), UINT32_C(0x88EBB386)},
+         {UINT32_C(0x8DB908D8), UINT32_C(0x895AA539), UINT32_C(0x104C4633),
+          UINT32_C(0x848142E6), UINT32_C(0xB8012B2E), UINT32_C(0x467EE770),
+          UINT32_C(0x1B9210EE), UINT32_C(0x193CBAED)}},
+        {{UINT32_C(0xC1F44FC1), UINT32_C(0x737CD32B), UINT32_C(0x522B6209),
+          UINT32_C(0xCDF82B1C), UINT32_C(0xE0017F2A), UINT32_C(0x08F4BB70),
+          UINT32_C(0x64738F26), UINT32_C(0x1565BCEF)},
+         {UINT32_C(0x684DCF67), UINT32_C(0x0D2910B9), UINT32_C(0xC6F3EB81),
+          UINT32_C(0x4ED1734B), UINT32_C(0xDA1D6BC8), UINT32_C(0xCBEA79B6),
+          UINT32_C(0xEE6A41D6), UINT32_C(0x0470CE36)}},
+        {{UINT32_C(0xBA05AF3C), UINT32_C(0xECFD5C66), UINT32_C(0xEB9BFAA8),
+          UINT32_C(0x421D5540), UINT32_C(0x526CFF85), UINT32_C(0xFC0E5AF2),
+          UINT32_C(0x53DC49A6), UINT32_C(0x7E17F1E6)},
+         {UINT32_C(0x1FAEB0A2), UINT32_C(0x69BB1DFB), UINT32_C(0xB3785ED4),
+          UINT32_C(0xDC95661A), UINT32_C(0x676D7CD0), UINT32_C(0x1F1D7395),
+          UINT32_C(0x89C6412F), UINT32_C(0x2C16BB96)}},
+        {{UINT32_C(0xEE414CA6), UINT32_C(0x2335F20E), UINT32_C(0xFEF5E042),
+          UINT32_C(0x56E0DDB2), UINT32_C(0xD9DE2966), UINT32_C(0x942D4E35),
+          UINT32_C(0xCF63D583), UINT32_C(0x80E92B8C)},
+         {UINT32_C(0x5D492C76), UINT32_C(0x158BE1B6), UINT32_C(0xC4F822D9),
+          UINT32_C(0xFF096960), UINT32_C(0x5AF79379), UINT32_C(0xC00FC730),
+          UINT32_C(0x50D34E12), UINT32_C(0x07C49B03)}},
+        {{UINT32_C(0xC34836C8), UINT32_C(0x64678B2E), UINT32_C(0x615FF066),
+          UINT32_C(0xCC280DCB), UINT32_C(0x9131EC98), UINT32_C(0x86C3C747),
+          UINT32_C(0x2D151FAD), UINT32_C(0x35B008CC)},
+         {UINT32_C(0xF8133FDC), UINT32_C(0x22C18852), UINT32_C(0x2FE8809D),
+          UINT32_C(0x183BE4DC), UINT32_C(0xCF98D56D), UINT32_C(0x86589814),
+          UINT32_C(0x2F6E0DE4), UINT32_C(0x52D8074D)}},
+        {{UINT32_C(0xC9274AA6), UINT32_C(0x33FF9F41), UINT32_C(0xCA854AF1),
+          UINT32_C(0xAC30ACB4), UINT32_C(0xFBC994B7), UINT32_C(0x87A7BE53),
+          UINT32_C(0xDBCD717B), UINT32_C(0x6E7E8B2A)},
+         {UINT32_C(0xCD494AB6), UINT32_C(0x3065A732), UINT32_C(0x60FD7F57),
+          UINT32_C(0x6F977B87), UINT32_C(0xB74BAD54), UINT32_C(0x4C216EB4),
+          UINT32_C(0xF6061F7A), UINT32_C(0x674F00F5)}},
+        {{UINT32_C(0x3164AFBB), UINT32_C(0xA8C22481), UINT32_C(0x72A7AC55),
+          UINT32_C(0x4C9E2F1D), UINT32_C(0x79DEFE94), UINT32_C(0xE3DAC3E3),
+          UINT32_C(0xBB9D953F), UINT32_C(0x193A1E0B)},
+         {UINT32_C(0x7E0957EE), UINT32_C(0x8852020C), UINT32_C(0xB62F8EF7),
+          UINT32_C(0xF7FD181E), UINT32_C(0xE26B8860), UINT32_C(0x0DE7EDDE),
+          UINT32_C(0xFD1B00DE), UINT32_C(0x53A05575)}},
+    },
+    {
+        {{UINT32_C(0x63E0C8FC), UINT32_C(0xE5D63E1B), UINT32_C(0xC684016A),
+          UINT32_C(0x6849B530), UINT32_C(0x009318AD), UINT32_C(0x4E89CB43),
+          UINT32_C(0xEF571911), UINT32_C(0x1CDC5918)},
+         {UINT32_C(0xF389EAF3), UINT32_C(0xA6596C03), UINT32_C(0xE88975F9),
+          UINT32_C(0x9282C1B3), UINT32_C(0x0D53D3F2), UINT32_C(0xD07A2AEF),
+          UINT32_C(0x2B3B602C), UINT32_C(0x3DA515D5)}},
+        {{UINT32_C(0x8A5436EA), UINT32_C(0xE4285781), UINT32_C(0x36D65626),
+          UINT32_C(0x047E3056), UINT32_C(0xE16489A0), UINT32_C(0x0016B568),
+          UINT32_C(0x75A0209C), UINT32_C(0x44603196)},
+         {UINT32_C(0xBCC19754), UINT32_C(0x2BE99A51), UINT32_C(0x5ACFCDEF),
+          UINT32_C(0xE02EAFD0), UINT32_C(0xAECACABB), UINT32_C(0xB0A1E300),
+          UINT32_C(0xAC1860D9), UINT32_C(0x0F39CBDE)}},
+        {{UINT32_C(0x2099F08E), UINT32_C(0x50DA5372), UINT32_C(0xCA4817B1),
+          UINT32_C(0xAA6AAAD1), UINT32_C(0x57D73192), UINT32_C(0xA4DDC5FF),
+          UINT32_C(0x7682D453), UINT32_C(0x046043AC)},
+         {UINT32_C(0x28CF3F48), UINT32_C(0xC8EB1788), UINT32_C(0xDCA184D4),
+          UINT32_C(0x3967A02F), UINT32_C(0x86221941), UINT32_C(0x0CE68B79),
+          UINT32_C(0xFD3A197A), UINT32_C(0x27BDCA48)}},
+        {{UINT32_C(0x563D7A91), UINT32_C(0xD774E33C), UINT32_C(0x07AE1C92),
+          UINT32_C(0x1C309DAE), UINT32_C(0x57DBE6A8), UINT32_C(0xDABA89B4),
+          UINT32_C(0xE5820FA4), UINT32_C(0x90C62517)},
+         {UINT32_C(0x11371109), UINT32_C(0x23C64605), UINT32_C(0x15605666),
+          UINT32_C(0x1176AE7E), UINT32_C(0xDF040DCB), UINT32_C(0xD71E9755),
+          UINT32_C(0x62ED515C), UINT32_C(0x5312A5B3)}},
+        {{UINT32_C(0x7A5FB9E0), UINT32_C(0xB7AA3A11), UINT32_C(0x18E2CB32),
+          UINT32_C(0xA769BC72), UINT32_C(0x6B73E050), UINT32_C(0x9D551B9B),
+          UINT32_C(0xDB067CBC), UINT32_C(0x0CE51DF0)},
+         {UINT32_C(0x4A0E06BE), UINT32_C(0x00BF90D5), UINT32_C(0x7EE820E7),
+          UINT32_C(0xFEC6E7B3), UINT32_C(0x3334937A), UINT32_C(0xDFBAC083),
+          UINT32_C(0xCE14CF46), UINT32_C(0x46884935)}},
+        {{UINT32_C(0x902EF3A9), UINT32_C(0xC3F31EAF), UINT32_C(0x5CCDF002),
+          UINT32_C(0xF3B6E6FA), UINT32_C(0x88CDDE0F), UINT32_C(0x5A9B5321),
+          UINT32_C(0xE8691FED), UINT32_C(0x00D99E43)},
+         {UINT32_C(0xCFE02C8B), UINT32_C(0x8E786F52), UINT32_C(0x4DD36F8E),
+          UINT32_C(0x587AA537), UINT32_C(0x425CC228), UINT32_C(0xBCA91CAC),
+          UINT32_C(0xBFA9C36B), UINT32_C(0x80AA8AA9)}},
+        {{UINT32_C(0x9B20505A), UINT32_C(0xAD4A2AD0), UINT32_C(0x16739066),
+          UINT32_C(0x6D708029), UINT32_C(0x89F73B52), UINT32_C(0x729001F3),
+          UINT32_C(0x8073A428), UINT32_C(0x77480347)},
+         {UINT32_C(0xE84DB3B4), UINT32_C(0x1AB38F07), UINT32_C(0xA6655769),
+          UINT32_C(0xE643D756), UINT32_C(0x46C19856), UINT32_C(0x5631359B),
+          UINT32_C(0x01C3DCD1), UINT32_C(0x82530A32)}},
+        {{UINT32_C(0x2DDDB968), UINT32_C(0x9250EC26), UINT32_C(0x8D82A03E),
+          UINT32_C(0x63D99CBF), UINT32_C(0x41349B60), UINT32_C(0x4FBFE784),
+          UINT32_C(0xA15BF2B7), UINT32_C(0x6977DD07)},
+         {UINT32_C(0x68513C32), UINT32_C(0x771917C6), UINT32_C(0x8F0064F7),
+          UINT32_C(0x02603518), UINT32_C(0x51D78637), UINT32_C(0x45A57429),
+          UINT32_C(0x87293790), UINT32_C(0x56BF57CC)}},
+        {{UINT32_C(0x032E6426), UINT32_C(0xBAC94E24), UINT32_C(0xC2531B26),
+          UINT32_C(0x7D54AE34), UINT32_C(0xCD688082), UINT32_C(0x4D6EF608),
+          UINT32_C(0xF5AA4BEE), UINT32_C(0x736E7ACF)},
+         {UINT32_C(0x6AFB84E2), UINT32_C(0x41D5BF6C), UINT32_C(0x6E976E09),
+          UINT32_C(0x40E12DA5), UINT32_C(0x2235F7B9), UINT32_C(0xCBF32FCB),
+          UINT32_C(0xA21BC0E0), UINT32_C(0x285DDF46)}},
+        {{UINT32_C(0xCE751632), UINT32_C(0x66C6A76E), UINT32_C(0x32A61A1D),
+          UINT32_C(0xBD457D0E), UINT32_C(0x78191C57), UINT32_C(0xFA12A7C8),
+          UINT32_C(0x06611B5E), UINT32_C(0x030ED98B)},
+         {UINT32_C(0xF4972FFD), UINT32_C(0x199F7756), UINT32_C(0x9C8AAB09),
+          UINT32_C(0x298D98E6), UINT32_C(0xC5B02158), UINT32_C(0x2186054C),
+          UINT32_C(0xB9B1147A), UINT32_C(0x0736CE4C)}},
+        {{UINT32_C(0x19BFA57D), UINT32_C(0x33E4A4CA), UINT32_C(0xAA70C35D),
+          UINT32_C(0xF02F6D32), UINT32_C(0x3CC082FD), UINT32_C(0x9EA10B63),
+          UINT32_C(0xD00E82A8), UINT32_C(0x86104E8E)},
+         {UINT32_C(0x87797E25), UINT32_C(0xACBA5E73), UINT32_C(0xEB85A796),
+          UINT32_C(0x24DD98A8), UINT32_C(0xC58AC480), UINT32_C(0x02748827),
+          UINT32_C(0x6A932D80), UINT32_C(0x5B4480C7)}},
+        {{UINT32_C(0x1992B174), UINT32_C(0xF9E210FB), UINT32_C(0xBE22636E),
+          UINT32_C(0x3CFA6EF1), UINT32_C(0x3BDFA2BD), UINT32_C(0xA46F202B),
+          UINT32_C(0x441B96D2), UINT32_C(0x8C83B3DA)},
+         {UINT32_C(0x8AA39AB4), UINT32_C(0x3BB2ED8B), UINT32_C(0x9CE53FB2),
+          UINT32_C(0x4DB63B23), UINT32_C(0x46DC2104), UINT32_C(0x24AC8A98),
+          UINT32_C(0x68E20D1B), UINT32_C(0x997BC4A7)}},
+        {{UINT32_C(0xD1C0D629), UINT32_C(0x4CDF8757), UINT32_C(0xA64B6058),
+          UINT32_C(0xBA155719), UINT32_C(0xBE3FB0B1), UINT32_C(0x82FD0DA3),
+          UINT32_C(0x03E34CB1), UINT32_C(0x12F50694)},
+         {UINT32_C(0x02E7DFEB), UINT32_C(0x8993EE38), UINT32_C(0x3D7A758E),
+          UINT32_C(0x2FC240C6), UINT32_C(0xAFF7CC7B), UINT32_C(0x75CB6F62),
+          UINT32_C(0x71B02A5B), UINT32_C(0x2D73F74D)}},
+        {{UINT32_C(0x550ADA69), UINT32_C(0x0B7B920A), UINT32_C(0xD2F1D5C2),
+          UINT32_C(0x87D29F08), UINT32_C(0xEEA99A38), UINT32_C(0x6E36EF9C),
+          UINT32_C(0x79D7626A), UINT32_C(0x624874C1)},
+         {UINT32_C(0x17F026E0), UINT32_C(0x9FCA1B2E), UINT32_C(0xA3A79C2E),
+          UINT32_C(0xBDBE18E5), UINT32_C(0x6E1B0C6D), UINT32_C(0x1506DE6A),
+          UINT32_C(0xAD2A2C5F), UINT32_C(0x860CCD71)}},
+        {{UINT32_C(0x28715EF9), UINT32_C(0x00A15CB0), UINT32_C(0xB1C0ED6D),
+          UINT32_C(0x71F337D8), UINT32_C(0xF998251E), UINT32_C(0xBD7E6892),
+          UINT32_C(0x08E0A4E9), UINT32_C(0x4C5AB311)},
+         {UINT32_C(0x567342FB), UINT32_C(0xDFD51293), UINT32_C(0x5AE3193B),
+          UINT32_C(0xF202FCD1), UINT32_C(0xAF59A5A2), UINT32_C(0xE317C933),
+          UINT32_C(0x5055DE2A), UINT32_C(0x300FE083)}},
+        {{UINT32_C(0xC58E7AE9), UINT32_C(0x279A071A), UINT32_C(0x4C718A8B),
+          UINT32_C(0xCED1F2F4), UINT32_C(0x5FE7F6E5), UINT32_C(0x3A8C0D1A),
+          UINT32_C(0xBB40DA93), UINT32_C(0x789C9B04)},
+         {UINT32_C(0xBF2A0B9B), UINT32_C(0xBB7EA922), UINT32_C(0x3A484413),
+          UINT32_C(0x5DD7A04A), UINT32_C(0xC5912F93), UINT32_C(0x3E1F49FB),
+          UINT32_C(0x61ECAB05), UINT32_C(0x4D8C07A5)}},
+    },
+    {
+        {{UINT32_C(0x9706D4CF), UINT32_C(0x7D351007), UINT32_C(0xB9BABB1F),
+          UINT32_C(0x3E2B3D2E), UINT32_C(0xA2E423EA), UINT32_C(0xC73745BF),
+          UINT32_C(0xF59601A0), UINT32_C(0x0AB3940A)},
+         {UINT32_C(0x2A895C4F), UINT32_C(0x8881507A), UINT32_C(0x68652263),
+          UINT32_C(0xF27F6F40), UINT32_C(0x88A416BE), UINT32_C(0xCFD91814),
+          UINT32_C(0x1B4F51F6), UINT32_C(0x13459BC3)}},
+        {{UINT32_C(0x01C7C38A), UINT32_C(0x6D830E0C), UINT32_C(0xE27DA48A),
+          UINT32_C(0xBA912BD4), UINT32_C(0x4AB8B5A6), UINT32_C(0x3828F433),
+          UINT32_C(0xE35E88DA), UINT32_C(0x3F858E6C)},
+         {UINT32_C(0x6E1C033C), UINT32_C(0x137F2E3A), UINT32_C(0x7E670398),
+          UINT32_C(0xFC7C8953), UINT32_C(0xF5C3D4DB), UINT32_C(0x6FF761CE),
+          UINT32_C(0xEED1029B), UINT32_C(0x53A02906)}},
+        {{UINT32_C(0x56779C20), UINT32_C(0x5C597BA6), UINT32_C(0x43A87346),
+          UINT32_C(0x366688CC), UINT32_C(0xA55ACF91), UINT32_C(0x19F6DA4A),
+          UINT32_C(0x182DEC58), UINT32_C(0x280ED592)},
+         {UINT32_C(0xA1D3EBDD), UINT32_C(0x0A1F3A7A), UINT32_C(0x0C9F474A),
+          UINT32_C(0xD92B6078), UINT32_C(0x19AE00DD), UINT32_C(0x38D0335E),
+          UINT32_C(0xA97F33F7), UINT32_C(0x094A5772)}},
+        {{UINT32_C(0x312D2694), UINT32_C(0x026A9029), UINT32_C(0xAB5B34B8),
+          UINT32_C(0x95408516), UINT32_C(0xDED270EA), UINT32_C(0x9FFA9AB1),
+          UINT32_C(0x493E5935), UINT32_C(0x1F9DDC52)},
+         {UINT32_C(0x17244394), UINT32_C(0xAC7F94C1), UINT32_C(0x0F28C9DF),
+          UINT32_C(0x18FC29C4), UINT32_C(0xBD817BD9), UINT32_C(0xEDE29238),
+          UINT32_C(0x8E2A7E40), UINT32_C(0x20DBF9AF)}},
+        {{UINT32_C(0x7648CA5C), UINT32_C(0x009365D9), UINT32_C(0x2BF27488),
+          UINT32_C(0xB168191E), UINT32_C(0xE3B91112), UINT32_C(0x2481BFAA),
+          UINT32_C(0x3D6DB830), UINT32_C(0x744C505B)},
+         {UINT32_C(0x3C464704), UINT32_C(0x21426D8F), UINT32_C(0xDAF85A61),
+          UINT32_C(0x283F59EF), UINT32_C(0xF2716102), UINT32_C(0x278B5F8E),
+          UINT32_C(0x0FE7E7EC), UINT32_C(0x95B80D82)}},
+        {{UINT32_C(0xF327664D), UINT32_C(0xD15ADA08), UINT32_C(0xFE904AF8),
+          UINT32_C(0xF26E3232), UINT32_C(0xF99471C6), UINT32_C(0x2763DBA6),
+          UINT32_C(0x15F30827), UINT32_C(0x4BC97139)},
+         {UINT32_C(0x5F154BF9), UINT32_C(0x8523812E), UINT32_C(0xDE17F8F9),
+          UINT32_C(0x0839059F), UINT32_C(0xBC16678D), UINT32_C(0xEA151382),
+          UINT32_C(0x7890C4EF), UINT32_C(0x68D01E62)}},
+        {{UINT32_C(0x9487556B), UINT32_C(0x37FAC9FA), UINT32_C(0xFB4DC83D),
+          UINT32_C(0xB4DF5C53), UINT32_C(0x92969151), UINT32_C(0x1EF42D8C),
+          UINT32_C(0x8B0ED349), UINT32_C(0x6C0A9D18)},
+         {UINT32_C(0x946F31ED), UINT32_C(0x63E91049), UINT32_C(0x653F600B),
+          UINT32_C(0x51E91DC6), UINT32_C(0x53A29196), UINT32_C(0xD7A582B1),
+          UINT32_C(0x31E1D843), UINT32_C(0x0452F4AD)}},
+        {{UINT32_C(0x0DE8E344), UINT32_C(0x1224169D), UINT32_C(0xF329D30F),
+          UINT32_C(0x0F4AB4E7), UINT32_C(0xB525B6A4), UINT32_C(0x12662965),
+          UINT32_C(0x255F14B8), UINT32_C(0x3142B612)},
+         {UINT32_C(0xBBF468A1), UINT32_C(0xEF6148B9), UINT32_C(0x144F8DFF),
+          UINT32_C(0x3FC413B4), UINT32_C(0x9BF55B34), UINT32_C(0xA453D075),
+          UINT32_C(0x86EBA319), UINT32_C(0x857EC763)}},
+        {{UINT32_C(0xC16C1002), UINT32_C(0x7FC22E26), UINT32_C(0xB0B186C3),
+          UINT32_C(0x2E34975E), UINT32_C(0x2FC79F85), UINT32_C(0xE11E3642),
+          UINT32_C(0x9F981B5F), UINT32_C(0x30FE5C0E)},
+         {UINT32_C(0x31816247), UINT32_C(0x73BD0FA6), UINT32_C(0x6906AF0A),
+          UINT32_C(0x40FE1661), UINT32_C(0x787BC7EE), UINT32_C(0x8D7109A3),
+          UINT32_C(0x6FB9A590), UINT32_C(0x29452054)}},
+        {{UINT32_C(0x4DFAAF93), UINT32_C(0x24654B9B), UINT32_C(0x9A450D29),
+          UINT32_C(0x91CDEA8B), UINT32_C(0xE4874748), UINT32_C(0xEE55420B),
+          UINT32_C(0x6D03064C), UINT32_C(0x01FAC14C)},
+         {UINT32_C(0xD93BD5BE), UINT32_C(0x8A4EBDE2), UINT32_C(0x49EF18A9),
+          UINT32_C(0xCB2DF307), UINT32_C(0x1A7B7F36), UINT32_C(0x36E6AC64),
+          UINT32_C(0x4AC1CB8D), UINT32_C(0x30195423)}},
+        {{UINT32_C(0x34F5B3FF), UINT32_C(0xD9970B1E), UINT32_C(0x587A9C5C),
+          UINT32_C(0x3CFEFC50), UINT32_C(0x7CCE631E), UINT32_C(0x8EC1C5DE),
+          UINT32_C(0x52465AB8), UINT32_C(0x92C93E2B)},
+         {UINT32_C(0x257017CA), UINT32_C(0x0104DF30), UINT32_C(0x8D8DB4CE),
+          UINT32_C(0xF4E5E779), UINT32_C(0xFDC267F0), UINT32_C(0xE12A39DD),
+          UINT32_C(0x27C73FDA), UINT32_C(0x683DEAFE)}},
+        {{UINT32_C(0xBBC70623), UINT32_C(0xD0840E81), UINT32_C(0x4D23568E),
+          UINT32_C(0x03A93C16), UINT32_C(0x11A71BFF), UINT32_C(0xC52FF3D6),
+          UINT32_C(0x0875248E), UINT32_C(0x03C11FCE)},
+         {UINT32_C(0x6C4AE445), UINT32_C(0xBC6F184B), UINT32_C(0x7698EE98),
+          UINT32_C(0xF52CC71F), UINT32_C(0xEEA25223), UINT32_C(0x4663193E),
+          UINT32_C(0x031C68DC), UINT32_C(0x86CD1AB3)}},
+        {{UINT32_C(0x21E04C02), UINT32_C(0x221C94EB), UINT32_C(0x7B980F70),
+          UINT32_C(0xE96BB7B3), UINT32_C(0x24DC2BD1), UINT32_C(0x60A72897),
+          UINT32_C(0x5621F475), UINT32_C(0x8C8E019F)},
+         {UINT32_C(0x5CFA457A), UINT32_C(0xAE47B2F7), UINT32_C(0xF395C533),
+          UINT32_C(0x31B2F9E1), UINT32_C(0x82E75849), UINT32_C(0x7EEB5DDC),
+          UINT32_C(0x2A241E52), UINT32_C(0x4863A6A3)}},
+        {{UINT32_C(0x914976EF), UINT32_C(0x806AC7F4), UINT32_C(0xCA42B875),
+          UINT32_C(0x5019261E), UINT32_C(0x6EF2D82F), UINT32_C(0x44F5C03D),
+          UINT32_C(0x690F2ACA), UINT32_C(0x24959F00)},
+         {UINT32_C(0x81F0BBB6), UINT32_C(0x4BDE2115), UINT32_C(0x1F701A2D),
+          UINT32_C(0x01EB2C00), UINT32_C(0x274FB05C), UINT32_C(0x039F8910),
+          UINT32_C(0xC625EBCD), UINT32_C(0x57068F24)}},
+        {{UINT32_C(0x67FF2575), UINT32_C(0xB21B8C93), UINT32_C(0x0C60B449),
+          UINT32_C(0xC7826C60), UINT32_C(0xA98671BB), UINT32_C(0xD4D69A9F),
+          UINT32_C(0xF5A2AB0C), UINT32_C(0x95249276)},
+         {UINT32_C(0x2D1976DA), UINT32_C(0x8F7007F0), UINT32_C(0xC011D54C),
+          UINT32_C(0x846F2A92), UINT32_C(0xFA2076B1), UINT32_C(0xFDBF81DF),
+          UINT32_C(0x5583B46C), UINT32_C(0x3349224F)}},
+        {{UINT32_C(0x7C854B4A), UINT32_C(0x62496746), UINT32_C(0x798B1395),
+          UINT32_C(0xF92BAE1D), UINT32_C(0xD2F65638), UINT32_C(0x2EBE18E3),
+          UINT32_C(0x8A068F49), UINT32_C(0x472FF6E5)},
+         {UINT32_C(0xDA2030C2), UINT32_C(0x64BB0F33), UINT32_C(0x66F6C000),
+          UINT32_C(0x72C0D0C9), UINT32_C(0x3194615E), UINT32_C(0xEA837EE5),
+          UINT32_C(0xFA9A7903), UINT32_C(0x1B7B4849)}},
+    },
+    {
+        {{UINT32_C(0xCF9A0727), UINT32_C(0x27AB780C), UINT32_C(0x9D7486CB),
+          UINT32_C(0xD457A7BC), UINT32_C(0xFE9F1A59), UINT32_C(0xFC57C335),
+          UINT32_C(0xD1D9F161), UINT32_C(0x269D8959)},
+         {UINT32_C(0xB81605D5), UINT32_C(0x06A32331), UINT32_C(0x6F050BE0),
+          UINT32_C(0x23696353), UINT32_C(0x413E1C0D), UINT32_C(0xF9350879),
+          UINT32_C(0x5761A8DF), UINT32_C(0x17019548)}},
+        {{UINT32_C(0x6765C6A2), UINT32_C(0x583D3D3F), UINT32_C(0xBE9DF3AF),
+          UINT32_C(0x68BBA6F9), UINT32_C(0x85358B53), UINT32_C(0x7011E594),
+          UINT32_C(0x53A08874), UINT32_C(0x3B2142E3)},
+         {UINT32_C(0x6F5C8641), UINT32_C(0x4AB6137E), UINT32_C(0x4FE9BCEB),
+          UINT32_C(0x4955890E), UINT32_C(0x4D14DA01), UINT32_C(0xE2F732BA),
+          UINT32_C(0xBEBD63D4), UINT32_C(0x8CB285FC)}},
+        {{UINT32_C(0x6C74A0AA), UINT32_C(0x5099551B), UINT32_C(0xBC2C8A61),
+          UINT32_C(0xF04EB8F8), UINT32_C(0x85983435), UINT32_C(0xE169F492),
+          UINT32_C(0x5B808C9E), UINT32_C(0x764062A1)},
+         {UINT32_C(0x65B994FB), UINT32_C(0x8C59A43F), UINT32_C(0x6068E685),
+          UINT32_C(0x2FB148B7), UINT32_C(0x54108A9F), UINT32_C(0x899D4FC5),
+          UINT32_C(0x5B4D40FE), UINT32_C(0x0469EA3E)}},
+        {{UINT32_C(0x62A76AA8), UINT32_C(0x15B613EA), UINT32_C(0x2FE2F179),
+          UINT32_C(0x7E8E7D56), UINT32_C(0xBE98EDC2), UINT32_C(0x53160F65),
+          UINT32_C(0x9810DC27), UINT32_C(0x258DA04E)},
+         {UINT32_C(0x030D9C31), UINT32_C(0x4FEE19D0), UINT32_C(0xC29E300F),
+          UINT32_C(0xFC2C57F8), UINT32_C(0xC44458AE), UINT32_C(0x00071F97),
+          UINT32_C(0x709727E1), UINT32_C(0x0AA2B911)}},
+        {{UINT32_C(0xA61166F8), UINT32_C(0x443F8B23), UINT32_C(0xD685FCF1),
+          UINT32_C(0x3E8F6278), UINT32_C(0x447433C6), UINT32_C(0xC930C1D1),
+          UINT32_C(0xAED7D6EB), UINT32_C(0x1245A867)},
+         {UINT32_C(0xFA89945A), UINT32_C(0xC35986DD), UINT32_C(0x26B0AFEE),
+          UINT32_C(0x89CE1109), UINT32_C(0x17103D18), UINT32_C(0x9C6A87CD),
+          UINT32_C(0xCE338978), UINT32_C(0x811B2242)}},
+        {{UINT32_C(0x0C293255), UINT32_C(0xC074AF66), UINT32_C(0x5AEAC2E1),
+          UINT32_C(0x982C23A9), UINT32_C(0xD39AC56C), UINT32_C(0xDB14DE0C),
+          UINT32_C(0x47EBB839), UINT32_C(0x20263F3F)},
+         {UINT32_C(0xD10588DF), UINT32_C(0x183EA578), UINT32_C(0x1EB69C36),
+          UINT32_C(0xB4D88EFB), UINT32_C(0xDBF3BEE7), UINT32_C(0xA79A1B4D),
+          UINT32_C(0xE8159E0D), UINT32_C(0x650FC466)}},
+        {{UINT32_C(0xF80D5744), UINT32_C(0x9E6EE797), UINT32_C(0x825949BD),
+          UINT32_C(0xDFC3EBF5), UINT32_C(0x7EC9BD65), UINT32_C(0x1083EC79),
+          UINT32_C(0xB753499C), UINT32_C(0x62A45C5E)},
+         {UINT32_C(0x2B6F42CF), UINT32_C(0x9C135F80), UINT32_C(0xC4B49041),
+          UINT32_C(0xE39B0BA5), UINT32_C(0x8D3B2D06), UINT32_C(0x4D838513),
+          UINT32_C(0xD070754B), UINT32_C(0x696034DC)}},
+        {{UINT32_C(0xB8E3BDD1), UINT32_C(0x06313D73), UINT32_C(0xE6968872),
+          UINT32_C(0xC7BEC420), UINT32_C(0x3A04B7F0), UINT32_C(0x740DD6D3),
+          UINT32_C(0x2465BED2), UINT32_C(0x98F2D0B7)},
+         {UINT32_C(0x4043DBAD), UINT32_C(0x9F298460), UINT32_C(0x01B5961F),
+          UINT32_C(0x82D6991A), UINT32_C(0x54DFAB8A), UINT32_C(0xAAE7DF9D),
+          UINT32_C(0x1A07DD22), UINT32_C(0x5701E335)}},
+        {{UINT32_C(0xFCA398A2), UINT32_C(0x5695A08E), UINT32_C(0x0D76E8CF),
+          UINT32_C(0xD29EBC1F), UINT32_C(0x24004EDB), UINT32_C(0x5AB17ABF),
+          UINT32_C(0x0CC7A144), UINT32_C(0x20C7761B)},
+         {UINT32_C(0x285EA93C), UINT32_C(0x6CAEE036), UINT32_C(0xF2B8BF23),
+          UINT32_C(0xF9756E89), UINT32_C(0xB1AB91B7), UINT32_C(0x3CEA1C76),
+          UINT32_C(0x3FB4F3B8), UINT32_C(0x5D86860E)}},
+        {{UINT32_C(0xFDC7DBC5), UINT32_C(0x835B023B), UINT32_C(0xEEEDFD73),
+          UINT32_C(0xF05C0676), UINT32_C(0xE52BFB27), UINT32_C(0xF8325D64),
+          UINT32_C(0xB5032CFF), UINT32_C(0x919D008D)},
+         {UINT32_C(0x4B130537), UINT32_C(0xEF27862C), UINT32_C(0x5CE404DC),
+          UINT32_C(0x616DF154), UINT32_C(0x451ED033), UINT32_C(0x182BA57E),
+          UINT32_C(0xBD01F864), UINT32_C(0x2EFEC0C7)}},
+        {{UINT32_C(0x45F3AF3C), UINT32_C(0xDC846845), UINT32_C(0x92A47B31),
+          UINT32_C(0x2D2BA0CD), UINT32_C(0xE1AFE6EE), UINT32_C(0x9C806C7D),
+          UINT32_C(0x4C6A4FEA), UINT32_C(0x28FE43FF)},
+         {UINT32_C(0x6C76C0F4), UINT32_C(0x2E028CD1), UINT32_C(0x2AEFBDDA),
+          UINT32_C(0xC6FA5AD1), UINT32_C(0xF63F1A35), UINT32_C(0xC8B5339B),
+          UINT32_C(0x04523F02), UINT32_C(0x30C780A7)}},
+        {{UINT32_C(0xD7E4F0CE), UINT32_C(0x3D2DCA55), UINT32_C(0x26616811),
+          UINT32_C(0x8EEF9189), UINT32_C(0x3C0E5892), UINT32_C(0xB106642F),
+          UINT32_C(0x89DB033E), UINT32_C(0x4A965385)},
+         {UINT32_C(0xB3C2DD37), UINT32_C(0x5A1CBEB6), UINT32_C(0x156EAC75),
+          UINT32_C(0x5290C737), UINT32_C(0xE32E40C7), UINT32_C(0x57AFD98A),
+          UINT32_C(0xB3571868), UINT32_C(0x04A16164)}},
+        {{UINT32_C(0x1A673E1B), UINT32_C(0x9AB8A3E9), UINT32_C(0x0FC23483),
+          UINT32_C(0xC707ABBA), UINT32_C(0x9E0EA0BD), UINT32_C(0x936C1783),
+          UINT32_C(0xF71F6F1D), UINT32_C(0x1E4C2E7C)},
+         {UINT32_C(0x6FB0926C), UINT32_C(0x37904F63), UINT32_C(0xC51FEEA5),
+          UINT32_C(0x9EC76DF7), UINT32_C(0x4D103DAC), UINT32_C(0x2C60F7D6),
+          UINT32_C(0xF9DC2CC6), UINT32_C(0x7B451E0B)}},
+        {{UINT32_C(0xB2A5F07F), UINT32_C(0xD4F8526C), UINT32_C(0xB0F4AE09),
+          UINT32_C(0x41303D42), UINT32_C(0x0C182FDC), UINT32_C(0xAC79523F),
+          UINT32_C(0xAA0C5D6D), UINT32_C(0x8D6A75C8)},
+         {UINT32_C(0x3CDCE3F0), UINT32_C(0x4DD7FC95), UINT32_C(0x5BE6DA0F),
+          UINT32_C(0x4DDB3910), UINT32_C(0x16F7E27D), UINT32_C(0xE34961F9),
+          UINT32_C(0x5B3544EB), UINT32_C(0x0C5CB76F)}},
+        {{UINT32_C(0x252C354C), UINT32_C(0x324C95B5), UINT32_C(0x8CC2C3BC),
+          UINT32_C(0x4648D87E), UINT32_C(0x82BC8C80), UINT32_C(0x6DDFDECD),
+          UINT32_C(0xC069996E), UINT32_C(0x8C64CADE)},
+         {UINT32_C(0x40ED44AB), UINT32_C(0x4E282E96), UINT32_C(0x79334507),
+          UINT32_C(0x70A12067), UINT32_C(0x5AB8902B), UINT32_C(0x65CE5D38),
+          UINT32_C(0x7C949D96), UINT32_C(0x56FE68F2)}},
+        {{UINT32_C(0xCF9530AE), UINT32_C(0x1D55C87E), UINT32_C(0xC147C2D5),
+          UINT32_C(0xD1CF73FF), UINT32_C(0xC1F44403), UINT32_C(0x826031CD),
+          UINT32_C(0x5EEF5BFB), UINT32_C(0x3A06528F)},
+         {UINT32_C(0x5F84A7B1), UINT32_C(0xF220EAF3), UINT32_C(0x350EBADE),
+          UINT32_C(0xBC99C905), UINT32_C(0x810A101C), UINT32_C(0x686A706E),
+          UINT32_C(0x1D92EAEA), UINT32_C(0x95E52713)}},
+    },
+    {
+        {{UINT32_C(0x514D47C2), UINT32_C(0xAAC634B3), UINT32_C(0x58B83B33),
+          UINT32_C(0xD0C189B8), UINT32_C(0x58CA9A2F), UINT32_C(0x633D59E3),
+          UINT32_C(0x838ACC80), UINT32_C(0x65965CE0)},
+         {UINT32_C(0x9B512F6E), UINT32_C(0xBB03F7EA), UINT32_C(0x9EF17A82),
+          UINT32_C(0xB2F38B84), UINT32_C(0xE16A7A95), UINT32_C(0xE8382E37),
+          UINT32_C(0x4D9EF607), UINT32_C(0x28644EFE)}},
+        {{UINT32_C(0x040A515B), UINT32_C(0x46F9115E), UINT32_C(0xFA59CD3E),
+          UINT32_C(0x4C7DBCFF), UINT32_C(0x71BB543E), UINT32_C(0xB4CE22B8),
+          UINT32_C(0x948F80BA), UINT32_C(0x58D935D8)},
+         {UINT32_C(0x03683C8B), UINT32_C(0x33DC1D5B), UINT32_C(0x2D071D87),
+          UINT32_C(0x25E6113A), UINT32_C(0xA7D59351), UINT32_C(0x44F962F8),
+          UINT32_C(0xBCF66B43), UINT32_C(0x6B818DDB)}},
+        {{UINT32_C(0x378C1098), UINT32_C(0x363A63C7), UINT32_C(0xAC5C0C9E),
+          UINT32_C(0xBEB2A7B6), UINT32_C(0x4361C8D4), UINT32_C(0x3F620D3F),
+          UINT32_C(0x4E3D9686), UINT32_C(0x68EAD01A)},
+         {UINT32_C(0x45DB7208), UINT32_C(0x43613085), UINT32_C(0x13B35D33),
+          UINT32_C(0x865A6DDE), UINT32_C(0x68DF09F5), UINT32_C(0x4EAA1663),
+          UINT32_C(0xBF02AA12), UINT32_C(0x5FDCA83F)}},
+        {{UINT32_C(0xBFEFB3CB), UINT32_C(0xC240FEAA), UINT32_C(0x0EC6694F),
+          UINT32_C(0x78E757D2), UINT32_C(0x2413D6A2), UINT32_C(0xA11A82DF),
+          UINT32_C(0xDBB7A220), UINT32_C(0x7BD656EE)},
+         {UINT32_C(0x6EB899A4), UINT32_C(0x68C60873), UINT32_C(0x318C72E8),
+          UINT32_C(0xAFFB9F1C), UINT32_C(0x9FB7619D), UINT32_C(0xF16A443C),
+          UINT32_C(0x42C6E4D6), UINT32_C(0x2FC317E3)}},
+        {{UINT32_C(0x73F57A93), UINT32_C(0xAB56A873), UINT32_C(0x308F5224),
+          UINT32_C(0xE9BA24E2), UINT32_C(0x11992077), UINT32_C(0x010281B9),
+          UINT32_C(0x593EAD1A), UINT32_C(0x2CBCA7FE)},
+         {UINT32_C(0x2A1D8318), UINT32_C(0xB400388A), UINT32_C(0x3C61A0AF),
+          UINT32_C(0xD470ABDA), UINT32_C(0x94BD2FAC), UINT32_C(0xF9102721),
+          UINT32_C(0x0FAC703C), UINT32_C(0x222365D1)}},
+        {{UINT32_C(0x9C2D1B2B), UINT32_C(0x5C9021C4), UINT32_C(0xCAF0B562),
+          UINT32_C(0xB349DB18), UINT32_C(0x91412CC3), UINT32_C(0x6DAF7412),
+          UINT32_C(0xCF6584D3), UINT32_C(0x44E5E3E5)},
+         {UINT32_C(0xE4C17B19), UINT32_C(0x1D1F4244), UINT32_C(0x3787A38A),
+          UINT32_C(0x4C663EE6), UINT32_C(0x313A8581), UINT32_C(0xA3261E22),
+          UINT32_C(0x7A82C05A), UINT32_C(0x3AE1E1DB)}},
+        {{UINT32_C(0x3CD6A155), UINT32_C(0x31AA2B29), UINT32_C(0x3D078B12),
+          UINT32_C(0x0EB9527E), UINT32_C(0x214FF1E2), UINT32_C(0x6785ABA2),
+          UINT32_C(0xF111D572), UINT32_C(0x74974F84)},
+         {UINT32_C(0x078C684B), UINT32_C(0x2199A753), UINT32_C(0x4B13A004),
+          UINT32_C(0xA0F1DE23), UINT32_C(0x75BEBCBC), UINT32_C(0x3965AE19),
+          UINT32_C(0x24562AA7), UINT32_C(0x22A8D7EE)}},
+        {{UINT32_C(0xBF268ADE), UINT32_C(0x0591965F), UINT32_C(0x9EE48F0E),
+          UINT32_C(0xF621B364), UINT32_C(0x5A3A3848), UINT32_C(0x0AD981A9),
+          UINT32_C(0x9ECD72B7), UINT32_C(0x1316675C)},
+         {UINT32_C(0xF37C87E0), UINT32_C(0x21A5CEB7), UINT32_C(0x68D1AAFB),
+          UINT32_C(0xEF864CF3), UINT32_C(0xD3C9A54F), UINT32_C(0x5F340413),
+          UINT32_C(0xE00FD564), UINT32_C(0x0C5DE1E6)}},
+        {{UINT32_C(0xB415D72C), UINT32_C(0x439B2C0C), UINT32_C(0x63442E62),
+          UINT32_C(0x106AE2E0), UINT32_C(0x4A79E93B), UINT32_C(0x8A9428C6),
+          UINT32_C(0xCC2DF510), UINT32_C(0x67FE6D6E)},
+         {UINT32_C(0x655013B3), UINT32_C(0x407158BC), UINT32_C(0x2BC7E7CC),
+          UINT32_C(0x3AAEAC1C), UINT32_C(0xEE8EC1F4), UINT32_C(0x399DB6EF),
+          UINT32_C(0xECFF6657), UINT32_C(0x1F7D0D17)}},
+        {{UINT32_C(0xCB86639E), UINT32_C(0x03039D18), UINT32_C(0x9CDC3408),
+          UINT32_C(0x58603909), UINT32_C(0xF1804B9E), UINT32_C(0x52421109),
+          UINT32_C(0xED126B9F), UINT32_C(0x95502857)},
+         {UINT32_C(0x451B0539), UINT32_C(0xC91842D9), UINT32_C(0xE60AAE3B),
+          UINT32_C(0x2B5B11EB), UINT32_C(0x44CB5A14), UINT32_C(0xDB50F9EA),
+          UINT32_C(0x89E80A6E), UINT32_C(0x4B5C9824)}},
+        {{UINT32_C(0x69FC9F1A), UINT32_C(0x8EF3A1E5), UINT32_C(0x7CCA576A),
+          UINT32_C(0xA4EAB6F4), UINT32_C(0xFBF1CD65), UINT32_C(0x955E1C89),
+          UINT32_C(0xF8CE13DB), UINT32_C(0x3E3ACF6E)},
+         {UINT32_C(0x58F31FC9), UINT32_C(0x1FDB6190), UINT32_C(0x93B0D0D5),
+          UINT32_C(0x10DB71B3), UINT32_C(0x9154B285), UINT32_C(0x90096143),
+          UINT32_C(0x1C49EFF3), UINT32_C(0x37EEE178)}},
+        {{UINT32_C(0xBC198066), UINT32_C(0x609DE502), UINT32_C(0x40722EF6),
+          UINT32_C(0x075C8631), UINT32_C(0xFF0FA57D), UINT32_C(0x121ACC9F),
+          UINT32_C(0xEC7DB1A0), UINT32_C(0x31E79AC5)},
+         {UINT32_C(0xF16FAE79), UINT32_C(0x736EB95D), UINT32_C(0x815A14CB),
+          UINT32_C(0xFF963917), UINT32_C(0x23AF0BC3), UINT32_C(0xC6003E5D),
+          UINT32_C(0x99AFCAAA), UINT32_C(0x0D1B0350)}},
+        {{UINT32_C(0x1F0DF59D), UINT32_C(0x8A1B6C97), UINT32_C(0x59C9CA8D),
+          UINT32_C(0x7DF81A72), UINT32_C(0x9602E8BE), UINT32_C(0x74257F8E),
+          UINT32_C(0xA441657A), UINT32_C(0x2FFBAD39)},
+         {UINT32_C(0x048050A6), UINT32_C(0xB1B090DB), UINT32_C(0x741E7392),
+          UINT32_C(0xD6144221), UINT32_C(0xECA1E2D6), UINT32_C(0x63826973),
+          UINT32_C(0xD287DE2F), UINT32_C(0x28EE60B8)}},
+        {{UINT32_C(0x5DEE86CE), UINT32_C(0x81504295), UINT32_C(0x73C03937),
+          UINT32_C(0xFACCB61D), UINT32_C(0x299B96AF), UINT32_C(0x9898F773),
+          UINT32_C(0x488F95CD), UINT32_C(0x51552297)},
+         {UINT32_C(0x54F5E182), UINT32_C(0x6170618C), UINT32_C(0xC2798401),
+          UINT32_C(0x9C11D666), UINT32_C(0x3EAF3DDE), UINT32_C(0x88225F4B),
+          UINT32_C(0x087F1185), UINT32_C(0x20841538)}},
+        {{UINT32_C(0x14FA59EC), UINT32_C(0x42BCEFFE), UINT32_C(0x7D023F1E),
+          UINT32_C(0xC41CFCDA), UINT32_C(0x7163E802), UINT32_C(0xD7E4FDE7),
+          UINT32_C(0x2E145BCE), UINT32_C(0x54F4C798)},
+         {UINT32_C(0xF9162235), UINT32_C(0xE4EA68C9), UINT32_C(0x458DEC24),
+          UINT32_C(0x4F7EAC6F), UINT32_C(0x845C6AD1), UINT32_C(0x70100D2D),
+          UINT32_C(0xF1EA21B2), UINT32_C(0x67AC34CF)}},
+        {{UINT32_C(0xAC21C728), UINT32_C(0x2BD49BDF), UINT32_C(0xEDA966DF),
+          UINT32_C(0x2D009B45), UINT32_C(0x4A9B9167), UINT32_C(0x0D4476BE),
+          UINT32_C(0x95D2ACD2), UINT32_C(0x340BD3BE)},
+         {UINT32_C(0xB040FF50), UINT32_C(0xF8BACA2D), UINT32_C(0xB91D47C1),
+          UINT32_C(0x307BEA0D), UINT32_C(0xB6B3A1E4), UINT32_C(0x2EFDC81B),
+          UINT32_C(0x1595D6E2), UINT32_C(0x3B2CD7D9)}},
+    },
+    {
+        {{UINT32_C(0x32A5A002), UINT32_C(0x56254AE7), UINT32_C(0x448B0A9F),
+          UINT32_C(0xE48A475C), UINT32_C(0x14EDBBA9), UINT32_C(0x3B2DF6DF),
+          UINT32_C(0xF5E4CC81), UINT32_C(0x911BE369)},
+         {UINT32_C(0x77CBB387), UINT32_C(0x57D065C6), UINT32_C(0x527575FD),
+          UINT32_C(0x7C1E0142), UINT32_C(0x243B5C33), UINT32_C(0x2CA91EEF),
+          UINT32_C(0x5C4700CC), UINT32_C(0x7E54AF42)}},
+        {{UINT32_C(0x5EEDF97F), UINT32_C(0xEF5ECAE5), UINT32_C(0xC0D821AC),
+          UINT32_C(0x2D79312A), UINT32_C(0xA9EDBE8F), UINT32_C(0xD3817042),
+          UINT32_C(0xAD924B1D), UINT32_C(0x7A3D537E)},
+         {UINT32_C(0xB26FFC3B), UINT32_C(0xD9923A20), UINT32_C(0x5B81EC12),
+          UINT32_C(0x651D2201), UINT32_C(0x54C37FF0), UINT32_C(0xBDF7205A),
+          UINT32_C(0x8C0D2E79), UINT32_C(0x5562D258)}},
+        {{UINT32_C(0xFB4842F8), UINT32_C(0xE5BC2E1C), UINT32_C(0x25B464C8),
+          UINT32_C(0xCFE97824), UINT32_C(0x2FEA9ED3), UINT32_C(0xD902A11A),
+          UINT32_C(0x8D3DD0A4), UINT32_C(0x2FC360ED)},
+         {UINT32_C(0x9E5F7AE1), UINT32_C(0xEC4E57FC), UINT32_C(0x79B8AF6C),
+          UINT32_C(0xF0F1FD9F), UINT32_C(0xA9A283D0), UINT32_C(0x803F3ED6),
+          UINT32_C(0xADEEA78E), UINT32_C(0x5F13000F)}},
+        {{UINT32_C(0x1838B470), UINT32_C(0x3EBBBD16), UINT32_C(0xB2781680),
+          UINT32_C(0x934BA22A), UINT32_C(0xC7210CD4), UINT32_C(0xC9ED04FC),
+          UINT32_C(0x4615F186), UINT32_C(0x716004A1)},
+         {UINT32_C(0xE894BBC3), UINT32_C(0xE7B36C21), UINT32_C(0x570AA9A8),
+          UINT32_C(0x3F739857), UINT32_C(0x3063902B), UINT32_C(0x1707FBEE),
+          UINT32_C(0x155C9824), UINT32_C(0x44FCB774)}},
+        {{UINT32_C(0xCDD8CEDB), UINT32_C(0x30ECD772), UINT32_C(0xCA09BCD3),
+          UINT32_C(0x67BB36FD), UINT32_C(0x9BC43B7B), UINT32_C(0xD5AD0FAA),
+          UINT32_C(0x6A130895), UINT32_C(0x3962E556)},
+         {UINT32_C(0x7F7A565A), UINT32_C(0x57928253), UINT32_C(0x55B911EE),
+          UINT32_C(0xDE9D7792), UINT32_C(0x6984F326), UINT32_C(0xD5DBFDDE),
+          UINT32_C(0x9FB51246), UINT32_C(0x7CDF5E15)}},
+        {{UINT32_C(0x89D24763), UINT32_C(0xD7FC427A), UINT32_C(0xAD874362),
+          UINT32_C(0x50E627C9), UINT32_C(0x2069873A), UINT32_C(0x17A8F83B),
+          UINT32_C(0xDB698BD1), UINT32_C(0x186952D7)},
+         {UINT32_C(0x38A2822C), UINT32_C(0x6C007EED), UINT32_C(0x0C207073),
+          UINT32_C(0x5F187091), UINT32_C(0x08D245D2), UINT32_C(0xD0023B63),
+          UINT32_C(0x34544316), UINT32_C(0x7A32C2A1)}},
+        {{UINT32_C(0x8C2635EC), UINT32_C(0x8B99183A), UINT32_C(0x6F12B137),
+          UINT32_C(0xA00A9476), UINT32_C(0x823DA313), UINT32_C(0x9B5E2F57),
+          UINT32_C(0x47B3CEB1), UINT32_C(0x0F7CB4AF)},
+         {UINT32_C(0x67266D24), UINT32_C(0xC993AF7E), UINT32_C(0xEBA985B8),
+          UINT32_C(0x8B60295E), UINT32_C(0xE41A6F69), UINT32_C(0x9AA596CB),
+          UINT32_C(0x4B68507A), UINT32_C(0x4D6CF5DF)}},
+        {{UINT32_C(0x6921DEFE), UINT32_C(0x3B8A3CBC), UINT32_C(0x0ED7B717),
+          UINT32_C(0xB96D5390), UINT32_C(0x7DE65E54), UINT32_C(0x6761E86A),
+          UINT32_C(0x701CC1E4), UINT32_C(0x964460D6)},
+         {UINT32_C(0x26C82309), UINT32_C(0x5C0A2213), UINT32_C(0x20328C60),
+          UINT32_C(0xF95F5472), UINT32_C(0xFB49E3B5), UINT32_C(0xB519B476),
+          UINT32_C(0xEE373756), UINT32_C(0x089D0AB6)}},
+        {{UINT32_C(0xDC952768), UINT32_C(0x947DFCF0), UINT32_C(0x3AB613AA),
+          UINT32_C(0xD8B5C61C), UINT32_C(0x9A457DA4), UINT32_C(0x146E8325),
+          UINT32_C(0xF476945E), UINT32_C(0x37E2F6D3)},
+         {UINT32_C(0x3851A6F6), UINT32_C(0x5702A441), UINT32_C(0x8D67EF9C),
+          UINT32_C(0xB476560E), UINT32_C(0xF9D2AD96), UINT32_C(0xABA23F67),
+          UINT32_C(0xDFBBB806), UINT32_C(0x3CE30A4E)}},
+        {{UINT32_C(0xE5BAA662), UINT32_C(0x64695640), UINT32_C(0x0AAF3988),
+          UINT32_C(0x2A18979A), UINT32_C(0xDE0ED212), UINT32_C(0x605578FF),
+          UINT32_C(0x30F2C13C), UINT32_C(0x52E604D5)},
+         {UINT32_C(0x894AB3B9), UINT32_C(0x2E9E2D83), UINT32_C(0x4BC33041),
+          UINT32_C(0x098B1FAA), UINT32_C(0x0863AA3C), UINT32_C(0x01CF6606),
+          UINT32_C(0xD2951A60), UINT32_C(0x7334879B)}},
+        {{UINT32_C(0xC51704F1), UINT32_C(0xB080105C), UINT32_C(0xEAEE29C4),
+          UINT32_C(0x1A5869B8), UINT32_C(0x5FDD2FD3), UINT32_C(0xAD6AEF33),
+          UINT32_C(0x49C2B183), UINT32_C(0x83E677C4)},
+         {UINT32_C(0xDFA8B8F4), UINT32_C(0x757A4EFD), UINT32_C(0xE42F2C87),
+          UINT32_C(0xFC8E7650), UINT32_C(0x9C963D98), UINT32_C(0xD4A61A3E),
+          UINT32_C(0x45BC9044), UINT32_C(0x3750289A)}},
+        {{UINT32_C(0x40B1C72C), UINT32_C(0x40A0620E), UINT32_C(0xB2E44573),
+          UINT32_C(0xAEE56EC7), UINT32_C(0x60532553), UINT32_C(0xE4E6EA3D),
+          UINT32_C(0xA0EB6014), UINT32_C(0x5BA50E80)},
+         {UINT32_C(0x4378CC2F), UINT32_C(0x84642978), UINT32_C(0x2A1C5FB4),
+          UINT32_C(0xE322D169), UINT32_C(0x6B91F82D), UINT32_C(0x5000C9B1),
+          UINT32_C(0x7AA49F2D), UINT32_C(0x32380CB8)}},
+        {{UINT32_C(0xE18C4BD2), UINT32_C(0x0A2F936A), UINT32_C(0xC3DB9AA5),
+          UINT32_C(0x7AEA56AA), UINT32_C(0x5DDF30CB), UINT32_C(0x3A984E93),
+          UINT32_C(0x904181C6), UINT32_C(0x36133D20)},
+         {UINT32_C(0xF62DFBF5), UINT32_C(0xA9A65593), UINT32_C(0x6808B883),
+          UINT32_C(0xB4AC06FD), UINT32_C(0x7A2FEDBB), UINT32_C(0x98679704),
+          UINT32_C(0x97880A72), UINT32_C(0x20E9E8E1)}},
+        {{UINT32_C(0xCEB26FAE), UINT32_C(0x403A1ED1), UINT32_C(0x3CD622C9),
+          UINT32_C(0xAD13CD87), UINT32_C(0xCF45C32D), UINT32_C(0xC1E03929),
+          UINT32_C(0xC3BE1A53), UINT32_C(0x4B50E4A9)},
+         {UINT32_C(0xD0D7AFE3), UINT32_C(0xCF10F3AF), UINT32_C(0x1494A9B4),
+          UINT32_C(0x6A29B173), UINT32_C(0xD13B0495), UINT32_C(0xB9DC9849),
+          UINT32_C(0x9C05B110), UINT32_C(0x4C50794E)}},
+        {{UINT32_C(0x1427F71D), UINT32_C(0xC3C97DED), UINT32_C(0x966ECF33),
+          UINT32_C(0xC3CFB754), UINT32_C(0x1FBF30CD), UINT32_C(0x48E30FE1),
+          UINT32_C(0x1E4B0998), UINT32_C(0x71C96E1C)},
+         {UINT32_C(0xB92C4BF7), UINT32_C(0x878D6305), UINT32_C(0xCCB5E4A1),
+          UINT32_C(0x14477130), UINT32_C(0xE3C00A19), UINT32_C(0x7C210767),
+          UINT32_C(0xAB3CDBF0), UINT32_C(0x5546DBD5)}},
+        {{UINT32_C(0x70857571), UINT32_C(0xADEC8758), UINT32_C(0xE70D07EC),
+          UINT32_C(0x0A52587C), UINT32_C(0xC731B9BC), UINT32_C(0xE6CEAF9E),
+          UINT32_C(0x47143479), UINT32_C(0x1D0FDE3F)},
+         {UINT32_C(0xC5B410CB), UINT32_C(0x2F3BE2CF), UINT32_C(0x4E64FD9B),
+          UINT32_C(0x576004BE), UINT32_C(0x7629820C), UINT32_C(0x03F33951),
+          UINT32_C(0x46A450E2), UINT32_C(0x7BD32964)}},
+    },
+    {
+        {{UINT32_C(0x46CED42D), UINT32_C(0xD492D6B7), UINT32_C(0x1F0092E3),
+          UINT32_C(0xC068D02D), UINT32_C(0x8D8A822A), UINT32_C(0x008ECBAD),
+          UINT32_C(0x71045647), UINT32_C(0x6B326869)},
+         {UINT32_C(0x523CBA58), UINT32_C(0xFEE3237F), UINT32_C(0x9C29059F),
+          UINT32_C(0x077B7F50), UINT32_C(0xE72FBE6F), UINT32_C(0x42C308B3),
+          UINT32_C(0x8E34148B), UINT32_C(0x3DD79D83)}},
+        {{UINT32_C(0xCAC24455), UINT32_C(0x3ED9DF47), UINT32_C(0xD8546306),
+          UINT32_C(0x7C8A7B31), UINT32_C(0x2AA02202), UINT32_C(0x4CC43295),
+          UINT32_C(0x8598E028), UINT32_C(0x5E8B4EA3)},
+         {UINT32_C(0x812B8070), UINT32_C(0x8A882F3F), UINT32_C(0x1DD374C0),
+          UINT32_C(0x984BE588), UINT32_C(0x16E133CF), UINT32_C(0x6FDA8159),
+          UINT32_C(0x899920D0), UINT32_C(0x34FB92FA)}},
+        {{UINT32_C(0xDA0B8D0E), UINT32_C(0x3BE0416F), UINT32_C(0x88C053D0),
+          UINT32_C(0x2CC846DB), UINT32_C(0xB1A3A621), UINT32_C(0xC04C3A42),
+          UINT32_C(0x8A9D9115), UINT32_C(0x35BC5550)},
+         {UINT32_C(0x7FA72AFE), UINT32_C(0x7F8C9FE3), UINT32_C(0xD1E914FD),
+          UINT32_C(0x488FA0B4), UINT32_C(0x84F79359), UINT32_C(0x8F5C2D63),
+          UINT32_C(0xFBC94785), UINT32_C(0x2BE80429)}},
+        {{UINT32_C(0x6F67799A), UINT32_C(0x391794E0), UINT32_C(0x0677A067),
+          UINT32_C(0xD9BF08AE), UINT32_C(0xDF61563C), UINT32_C(0x716D5062),
+          UINT32_C(0xF590F3A3), UINT32_C(0x0ECB234A)},
+         {UINT32_C(0xFEA22392), UINT32_C(0xA5B91448), UINT32_C(0x7E76FB8B),
+          UINT32_C(0xFAA29487), UINT32_C(0x4B6CB375), UINT32_C(0x3CC3A02A),
+          UINT32_C(0x9022167A), UINT32_C(0x5C0B3B63)}},
+        {{UINT32_C(0x4C576430), UINT32_C(0xC5689CF3), UINT32_C(0xC585F5A5),
+          UINT32_C(0xF7B7B230), UINT32_C(0xE4BFCEE7), UINT32_C(0xB8DAADFB),
+          UINT32_C(0x9CF4242F), UINT32_C(0x7B7D8A95)},
+         {UINT32_C(0x398FEEF6), UINT32_C(0xC1755F9B), UINT32_C(0x5CC5C36E),
+          UINT32_C(0x9B31CD4D), UINT32_C(0xF4C6B793), UINT32_C(0x4D87AB9C),
+          UINT32_C(0xF595EFA8), UINT32_C(0x673FD5B2)}},
+        {{UINT32_C(0xE05E6B19), UINT32_C(0xA3836484), UINT32_C(0xFCA7E6FB),
+          UINT32_C(0x090C14CF), UINT32_C(0xFC717DBC), UINT32_C(0xB7A27042),
+          UINT32_C(0x38647882), UINT32_C(0x56CD4AF1)},
+         {UINT32_C(0xA43C453E), UINT32_C(0xC2B56B50), UINT32_C(0x982E7AED),
+          UINT32_C(0x0CD5E768), UINT32_C(0x58474A8B), UINT32_C(0xD5ABADF7),
+          UINT32_C(0x99F500AC), UINT32_C(0x68188A38)}},
+        {{UINT32_C(0x83B1F7BA), UINT32_C(0x0683AC3E), UINT32_C(0x680568E9),
+          UINT32_C(0x6A4FC30C), UINT32_C(0x7F6256CF), UINT32_C(0x735F5E48),
+          UINT32_C(0x048DB831), UINT32_C(0x1240752D)},
+         {UINT32_C(0x868B8AD7), UINT32_C(0x98B78A67), UINT32_C(0x822EBA7D),
+          UINT32_C(0x9E32F2C1), UINT32_C(0x8F37580F), UINT32_C(0xEAE28B1E),
+          UINT32_C(0xC72EDA86), UINT32_C(0x0D204CE0)}},
+        {{UINT32_C(0x77E8C68C), UINT32_C(0x5E4EAA1C), UINT32_C(0x859A127B),
+          UINT32_C(0x282ADFE9), UINT32_C(0x14904910), UINT32_C(0x0C75AB7C),
+          UINT32_C(0x6E751062), UINT32_C(0x1794516A)},
+         {UINT32_C(0x3DE4A32A), UINT32_C(0x8D99D891), UINT32_C(0x54EF2BF0),
+          UINT32_C(0x957AA807), UINT32_C(0x0B109ECD), UINT32_C(0xBF20A9E0),
+          UINT32_C(0xA72268D3), UINT32_C(0x7732F2B3)}},
+        {{UINT32_C(0x48752F76), UINT32_C(0xADB52E43), UINT32_C(0xD6F7CCE8),
+          UINT32_C(0x01E9F4B1), UINT32_C(0x2E4BD9B5), UINT32_C(0x22702DA0),
+          UINT32_C(0xB40BF9AB), UINT32_C(0x1BCC9C60)},
+         {UINT32_C(0x9F53B2B1), UINT32_C(0xAB774637), UINT32_C(0x8CB316D0),
+          UINT32_C(0x9C574151), UINT32_C(0xBECBEBED), UINT32_C(0x231D5C45),
+          UINT32_C(0xF0458638), UINT32_C(0x0BD2D5E7)}},
+        {{UINT32_C(0x4B946132), UINT32_C(0xD2F5E0B5), UINT32_C(0x155AA2C8),
+          UINT32_C(0x200A8A30), UINT32_C(0x56A62CE7), UINT32_C(0x15473FD4),
+          UINT32_C(0xB6689367), UINT32_C(0x030EA71B)},
+         {UINT32_C(0x0E315F29), UINT32_C(0xD561432B), UINT32_C(0x149E3A9E),
+          UINT32_C(0x4155022E), UINT32_C(0x15841273), UINT32_C(0xC77EF7E1),
+          UINT32_C(0x52BA265A), UINT32_C(0x890D9C8D)}},
+        {{UINT32_C(0x5E62451A), UINT32_C(0xB72B5A6A), UINT32_C(0x5C61A183),
+          UINT32_C(0xFDA85C17), UINT32_C(0xB7F36EB3), UINT32_C(0xA4275361),
+          UINT32_C(0x94F4148D), UINT32_C(0x53ADFAF3)},
+         {UINT32_C(0x6A8467AE), UINT32_C(0x281D47F9), UINT32_C(0x8474D3AD),
+          UINT32_C(0x416A64B5), UINT32_C(0xEC99480E), UINT32_C(0x710D0E7A),
+          UINT32_C(0x819253FF), UINT32_C(0x2693A878)}},
+        {{UINT32_C(0x1A2FE406), UINT32_C(0x4BE76904), UINT32_C(0x343F5B10),
+          UINT32_C(0xB6FEED1D), UINT32_C(0xD705E35C), UINT32_C(0x36695C52),
+          UINT32_C(0x6BD3859F), UINT32_C(0x7DF6FA41)},
+         {UINT32_C(0xC00E77EA), UINT32_C(0x7B9B11F5), UINT32_C(0xCA80F838),
+          UINT32_C(0xC90411B8), UINT32_C(0x2908C694), UINT32_C(0x8A9FAEF0),
+          UINT32_C(0xFF5B39B0), UINT32_C(0x05F65AAA)}},
+        {{UINT32_C(0xD7F59CC5), UINT32_C(0x823A0776), UINT32_C(0xC410DFD1),
+          UINT32_C(0xB9EBE15E), UINT32_C(0x10A7FA3F), UINT32_C(0xC2374B58),
+          UINT32_C(0x311660F2), UINT32_C(0x1B912C84)},
+         {UINT32_C(0xD5A175E6), UINT32_C(0x486A2607), UINT32_C(0x72B74EB7),
+          UINT32_C(0x9B17D14D), UINT32_C(0x1039CA77), UINT32_C(0x1069D5C4),
+          UINT32_C(0x3FEE08BB), UINT32_C(0x214605B3)}},
+        {{UINT32_C(0xF9D14E8D), UINT32_C(0xC25A7379), UINT32_C(0x577D330E),
+          UINT32_C(0x9D5FAFDA), UINT32_C(0xA4A9CEF0), UINT32_C(0xB9A0217D),
+          UINT32_C(0x08252731), UINT32_C(0x95AFC7F7)},
+         {UINT32_C(0x8FC51680), UINT32_C(0x14E53E9E), UINT32_C(0xA8AC4E21),
+          UINT32_C(0x0AEA2428), UINT32_C(0x11CB2361), UINT32_C(0x6BC5E42C),
+          UINT32_C(0xDCB52215), UINT32_C(0x3B205E45)}},
+        {{UINT32_C(0xC916CDE4), UINT32_C(0x8EDD4718), UINT32_C(0xD70D7130),
+          UINT32_C(0xBB08F27A), UINT32_C(0xED9162CB), UINT32_C(0x289A33C0),
+          UINT32_C(0xFB69185B), UINT32_C(0x97CEFA45)},
+         {UINT32_C(0x8B7797EE), UINT32_C(0x44DA2578), UINT32_C(0x148E9A75),
+          UINT32_C(0x579B17F7), UINT32_C(0x913C09AE), UINT32_C(0x73EC1C23),
+          UINT32_C(0x0BAAA67D), UINT32_C(0x3FAB86A4)}},
+        {{UINT32_C(0x2DF7BE6D), UINT32_C(0x28E76C23), UINT32_C(0x500A844D),
+          UINT32_C(0x00526844), UINT32_C(0x3CC748C2), UINT32_C(0xB86FBB14),
+          UINT32_C(0xEB5F6AC5), UINT32_C(0x6D89BB8A)},
+         {UINT32_C(0x2327808C), UINT32_C(0xF66159DF), UINT32_C(0x29C5006C),
+          UINT32_C(0x606F0553), UINT32_C(0x844B6CA4), UINT32_C(0xDAA1107F),
+          UINT32_C(0x63A8946C), UINT32_C(0x95D7686C)}},
+    },
+    {
+        {{UINT32_C(0x07F7DCF5), UINT32_C(0x71438CEA), UINT32_C(0x0A1CCD55),
+          UINT32_C(0xB3F59AFA), UINT32_C(0x0E0071B4), UINT32_C(0x5A439627),
+          UINT32_C(0xE93D5B8E), UINT32_C(0x8694E3FA)},
+         {UINT32_C(0x7D6550B0), UINT32_C(0x21713A38), UINT32_C(0x06CFCD5B),
+          UINT32_C(0x893BD9F7), UINT32_C(0xE7513FCE), UINT32_C(0xC3D2679C),
+          UINT32_C(0x2C451EF3), UINT32_C(0x418AE7C8)}},
+        {{UINT32_C(0x0B85E2A9), UINT32_C(0xADFAFF38), UINT32_C(0x2E244653),
+          UINT32_C(0x6124E627), UINT32_C(0x375D1EE7), UINT32_C(0xF2C465AF),
+          UINT32_C(0x76E58455), UINT32_C(0x5B2302D6)},
+         {UINT32_C(0x7479F387), UINT32_C(0x32938A0D), UINT32_C(0xAAAB22A5),
+          UINT32_C(0xF9A16A0D), UINT32_C(0x2AD65CAE), UINT32_C(0x65AF0E25),
+          UINT32_C(0x8431EA40), UINT32_C(0x2B566866)}},
+        {{UINT32_C(0xDBCDAFAB), UINT32_C(0xCA3ACC11), UINT32_C(0xBB7F218B),
+          UINT32_C(0x0BBB5DBF), UINT32_C(0xDB0ABBE2), UINT32_C(0xD69E091A),
+          UINT32_C(0x0B0B7B09), UINT32_C(0x8AFFCE95)},
+         {UINT32_C(0xC7EC52C7), UINT32_C(0x0A5E6C81), UINT32_C(0x896707CD),
+          UINT32_C(0xABD60595), UINT32_C(0x101E0F80), UINT32_C(0x4CE86506),
+          UINT32_C(0x4ED01B2E), UINT32_C(0x9629A6C0)}},
+        {{UINT32_C(0xE15D82F4), UINT32_C(0x1D740EAC), UINT32_C(0x90A5D149),
+          UINT32_C(0x42F98018), UINT32_C(0x903D6D28), UINT32_C(0x1B8C8DC0),
+          UINT32_C(0x05BBDFF7), UINT32_C(0x7BE2B916)},
+         {UINT32_C(0xD8E41D96), UINT32_C(0xFBACF878), UINT32_C(0xBE26EB56),
+          UINT32_C(0x42E98BFB), UINT32_C(0xF6DE1EB1), UINT32_C(0x9EA73555),
+          UINT32_C(0xCF79A9EE), UINT32_C(0x5325DDDE)}},
+        {{UINT32_C(0x48E6A22F), UINT32_C(0x44BE62C3), UINT32_C(0x8DB35276),
+          UINT32_C(0xD0A3C0AD), UINT32_C(0x136FE9BA), UINT32_C(0xB4C99306),
+          UINT32_C(0xA44E491F), UINT32_C(0x0F2987D7)},
+         {UINT32_C(0xCCC77C2B), UINT32_C(0xA0965F74), UINT32_C(0xFE110072),
+          UINT32_C(0xE01AD644), UINT32_C(0xC16B5E1E), UINT32_C(0x79528B9C),
+          UINT32_C(0xF929BE4D), UINT32_C(0x45AEEFF3)}},
+        {{UINT32_C(0x7F4DA458), UINT32_C(0x46E95DF6), UINT32_C(0xA7AD579B),
+          UINT32_C(0x554C50C1), UINT32_C(0x4316DBA1), UINT32_C(0xF64F00A1),
+          UINT32_C(0x46D487BD), UINT32_C(0x16C98513)},
+         {UINT32_C(0x2C048A1B), UINT32_C(0xECB19761), UINT32_C(0x5373E5E6),
+          UINT32_C(0x997AF398), UINT32_C(0xFDF23B20), UINT32_C(0x50E832D2),
+          UINT32_C(0x7EF7E097), UINT32_C(0x1B358E0F)}},
+        {{UINT32_C(0xACBC759C), UINT32_C(0x7C6728AE), UINT32_C(0xA156A466),
+          UINT32_C(0x187588FB), UINT32_C(0x928F97BD), UINT32_C(0xC2E550ED),
+          UINT32_C(0xAAE1C05A), UINT32_C(0x8B595A3A)},
+         {UINT32_C(0xD77C1125), UINT32_C(0xE36871E1), UINT32_C(0x0DBBD882),
+          UINT32_C(0x11E12978), UINT32_C(0x5E77FB7E), UINT32_C(0x3EF8268A),
+          UINT32_C(0x6B33C00C), UINT32_C(0x7BAEA9BA)}},
+        {{UINT32_C(0x5925E5FE), UINT32_C(0x7C851236), UINT32_C(0xD8E1597B),
+          UINT32_C(0xCED70AE5), UINT32_C(0x6DCD112F), UINT32_C(0x7A28BE1A),
+          UINT32_C(0x3B8EAF6F), UINT32_C(0x1EB19268)},
+         {UINT32_C(0x8AA902B9), UINT32_C(0x7E6F1CF2), UINT32_C(0xA5A761D9),
+          UINT32_C(0x3DD9D59C), UINT32_C(0x48D9F52E), UINT32_C(0x8EF70BB4),
+          UINT32_C(0xCDEE9658), UINT32_C(0x96629C1A)}},
+        {{UINT32_C(0xB367C5B3), UINT32_C(0xCA215EAC), UINT32_C(0xA796338A),
+          UINT32_C(0x36B22774), UINT32_C(0x26EBCDFE), UINT32_C(0x71F9A61A),
+          UINT32_C(0x35119BD3), UINT32_C(0x1B40580A)},
+         {UINT32_C(0x431C78BD), UINT32_C(0x77169EF1), UINT32_C(0x337022D5),
+          UINT32_C(0x8197975E), UINT32_C(0x1D9A4742), UINT32_C(0x45112799),
+          UINT32_C(0x19B6DB07), UINT32_C(0x382750D6)}},
+        {{UINT32_C(0x9786AE0B), UINT32_C(0x740405EE), UINT32_C(0x3ABA0481),
+          UINT32_C(0xF7F37C0F), UINT32_C(0x51892307), UINT32_C(0x904FC60C),
+          UINT32_C(0xE891D639), UINT32_C(0x8405DF2A)},
+         {UINT32_C(0xD9B432F8), UINT32_C(0x53D19AC5), UINT32_C(0x066CD97C),
+          UINT32_C(0xE8F1730F), UINT32_C(0x0E95804B), UINT32_C(0xC8740FEF),
+          UINT32_C(0xEC242811), UINT32_C(0x12EE433C)}},
+        {{UINT32_C(0x6153F4D4), UINT32_C(0x6AF4B9B1), UINT32_C(0xF84F0145),
+          UINT32_C(0x9CD8CD0C), UINT32_C(0xDCEB0F06), UINT32_C(0x6CABD4FC),
+          UINT32_C(0x0D134DCE), UINT32_C(0x036BF146)},
+         {UINT32_C(0x7EFFACAB), UINT32_C(0xCDEB1818), UINT32_C(0x52C987E7),
+          UINT32_C(0xB57A4162), UINT32_C(0xC647E82F), UINT32_C(0xDD5104EB),
+          UINT32_C(0xF51B5270), UINT32_C(0x389AA556)}},
+        {{UINT32_C(0x60108876), UINT32_C(0xC450CAEA), UINT32_C(0xF48601A1),
+          UINT32_C(0xF36B5B6A), UINT32_C(0x09128863), UINT32_C(0x257950D1),
+          UINT32_C(0xA9F6A1B9), UINT32_C(0x7A592427)},
+         {UINT32_C(0xED12DE33), UINT32_C(0xBF1FF2B0), UINT32_C(0xE2141101),
+          UINT32_C(0x4D542AC8), UINT32_C(0xE170F9CF), UINT32_C(0x998523C4),
+          UINT32_C(0xFCEC0E2F), UINT32_C(0x629385CE)}},
+        {{UINT32_C(0xB2677C49), UINT32_C(0x951494ED), UINT32_C(0xF9B648E8),
+          UINT32_C(0xF1AE7138), UINT32_C(0x63CFF359), UINT32_C(0x28B8749E),
+          UINT32_C(0x9A73272F), UINT32_C(0x5AC4EC4C)},
+         {UINT32_C(0x21723271), UINT32_C(0xC25ABB87), UINT32_C(0x8B441AFD),
+          UINT32_C(0x488EC910), UINT32_C(0x1B1DF775), UINT32_C(0x07518348),
+          UINT32_C(0xF1EB2FB4), UINT32_C(0x4662BBDA)}},
+        {{UINT32_C(0x6DF9F64A), UINT32_C(0xAE836F74), UINT32_C(0xA185ABE6),
+          UINT32_C(0xF3CD6C9D), UINT32_C(0xC29A1C1A), UINT32_C(0xAFA897A8),
+          UINT32_C(0x11B2D6AC), UINT32_C(0x4BAFBB69)},
+         {UINT32_C(0xB6D971C7), UINT32_C(0x8040F9A3), UINT32_C(0x00763EAF),
+          UINT32_C(0x3B8920B7), UINT32_C(0x52E848B7), UINT32_C(0x7A1655DA),
+          UINT32_C(0x703FA84D), UINT32_C(0x03BC8B55)}},
+        {{UINT32_C(0x1F934416), UINT32_C(0xE6348C65), UINT32_C(0xF82BBC4A),
+          UINT32_C(0xDBE59C03), UINT32_C(0xEAD60547), UINT32_C(0x51AEAD09),
+          UINT32_C(0x4F20111E), UINT32_C(0x043A35C3)},
+         {UINT32_C(0xEC574F0A), UINT32_C(0x0AA18326), UINT32_C(0xFCADF79D),
+          UINT32_C(0x07E90D70), UINT32_C(0x201CD68B), UINT32_C(0x3979D4CE),
+          UINT32_C(0x2C2734B1), UINT32_C(0x7FBF2C63)}},
+        {{UINT32_C(0x2656AF49), UINT32_C(0x2E451373), UINT32_C(0xA432DE06),
+          UINT32_C(0xCA86207D), UINT32_C(0x12F20637), UINT32_C(0xC5F9262D),
+          UINT32_C(0x26C0C745), UINT32_C(0x7DD9CCDC)},
+         {UINT32_C(0xA785ED89), UINT32_C(0x99276BDC), UINT32_C(0x374CFBE2),
+          UINT32_C(0x34B307A7), UINT32_C(0x1E8EE0C5), UINT32_C(0x916E9B06),
+          UINT32_C(0x88A85C6A), UINT32_C(0x4E8EB3C7)}},
+    },
+    {
+        {{UINT32_C(0x107F1CE0), UINT32_C(0x6F2433EF), UINT32_C(0x46D23AEF),
+          UINT32_C(0x121DE131), UINT32_C(0x20DB44DE), UINT32_C(0x7AC50BE8),
+          UINT32_C(0xF6F41A1C), UINT32_C(0x1E500A2B)},
+         {UINT32_C(0x27B0004C), UINT32_C(0x8E5BAFCC), UINT32_C(0xDB555C04),
+          UINT32_C(0x8538A5ED), UINT32_C(0xCE4ED544), UINT32_C(0x00AEC8A7),
+          UINT32_C(0x73B2DA91), UINT32_C(0x7C7301CC)}},
+        {{UINT32_C(0x63284E3A), UINT32_C(0x3E7E1E5C), UINT32_C(0x1422D8EA),
+          UINT32_C(0x14581400), UINT32_C(0x7AAABD1D), UINT32_C(0x5FE151BF),
+          UINT32_C(0x1533B371), UINT32_C(0x6716691F)},
+         {UINT32_C(0x22A8B7DF), UINT32_C(0xA592D53E), UINT32_C(0x51C97935),
+          UINT32_C(0x66991AFF), UINT32_C(0xDE5429B6), UINT32_C(0x8B10603D),
+          UINT32_C(0x551F146B), UINT32_C(0x0002F6C6)}},
+        {{UINT32_C(0x777A334C), UINT32_C(0xF641CBCB), UINT32_C(0xEEFBCA44),
+          UINT32_C(0xB45B21E1), UINT32_C(0x32F6E263), UINT32_C(0x7C2FCD65),
+          UINT32_C(0xFEED8901), UINT32_C(0x05A21D80)},
+         {UINT32_C(0x5506CF47), UINT32_C(0x2471B486), UINT32_C(0x7C9E62DE),
+          UINT32_C(0x0FFAC1F7), UINT32_C(0x869D3BDC), UINT32_C(0xC4D321DF),
+          UINT32_C(0x9512D0CA), UINT32_C(0x9AC03509)}},
+        {{UINT32_C(0x352E0353), UINT32_C(0x5A26E8F5), UINT32_C(0xBF6ABBAC),
+          UINT32_C(0x965CF602), UINT32_C(0xE911C628), UINT32_C(0xDD8C4818),
+          UINT32_C(0xDC2D04A0), UINT32_C(0x132CA2D8)},
+         {UINT32_C(0x6C865C91), UINT32_C(0x7641CFCE), UINT32_C(0x8E9965EF),
+          UINT32_C(0xDB5AB8F3), UINT32_C(0xDE0B7E90), UINT32_C(0x30030BCD),
+          UINT32_C(0x2320D3F1), UINT32_C(0x7BF44453)}},
+        {{UINT32_C(0xD8A99DAD), UINT32_C(0xC006FA6D), UINT32_C(0xB45E64A1),
+          UINT32_C(0xC042F163), UINT32_C(0x74F4DBB1), UINT32_C(0xB91C9CA4),
+          UINT32_C(0xBE221E4E), UINT32_C(0x23BD5A29)},
+         {UINT32_C(0x3D1ECF78), UINT32_C(0x6B0591D7), UINT32_C(0xAA5B771C),
+          UINT32_C(0x9E0ACF38), UINT32_C(0x796D4AA3), UINT32_C(0xC970F263),
+          UINT32_C(0x7B5DD349), UINT32_C(0x37037502)}},
+        {{UINT32_C(0xFBC52541), UINT32_C(0xE11DECDA), UINT32_C(0xE7FE53A5),
+          UINT32_C(0xA49B8D39), UINT32_C(0x104A1F6E), UINT32_C(0x3A08E9BB),
+          UINT32_C(0xE0192BFB), UINT32_C(0x95444A15)},
+         {UINT32_C(0x1A97B875), UINT32_C(0xEF75B062), UINT32_C(0xEA5FC457),
+          UINT32_C(0x9FC8AE5E), UINT32_C(0x47F73089), UINT32_C(0x3A09FD1B),
+          UINT32_C(0xE24516AB), UINT32_C(0x096750EC)}},
+        {{UINT32_C(0x4A350C95), UINT32_C(0xAA180046), UINT32_C(0x58EA4195),
+          UINT32_C(0xA72F2B67), UINT32_C(0xFD9A4F25), UINT32_C(0xE0647945),
+          UINT32_C(0x22737E2D), UINT32_C(0x4CF4136D)},
+         {UINT32_C(0xEFB2A96D), UINT32_C(0xEE2532CE), UINT32_C(0x6C2F1471),
+          UINT32_C(0xB39DB117), UINT32_C(0x19935BDB), UINT32_C(0xF7C6242B),
+          UINT32_C(0x7A820092), UINT32_C(0x98CA48D4)}},
+        {{UINT32_C(0xC3C938B0), UINT32_C(0xE9C1AD0A), UINT32_C(0xCCDF3BC6),
+          UINT32_C(0xF7CC05C4), UINT32_C(0x363A9CC6), UINT32_C(0x3C21752B),
+          UINT32_C(0x5916BD59), UINT32_C(0x47996B87)},
+         {UINT32_C(0x98D17468), UINT32_C(0x01EF895D), UINT32_C(0x5818F5D8),
+          UINT32_C(0x9182F882), UINT32_C(0xE35E4BE7), UINT32_C(0xCBD212A3),
+          UINT32_C(0x5EA16E55), UINT32_C(0x894E7F39)}},
+        {{UINT32_C(0x7C8FDD7E), UINT32_C(0xAC674AEE), UINT32_C(0xEDB0FE30),
+          UINT32_C(0xA23FA827), UINT32_C(0x745B3230), UINT32_C(0x642BE06F),
+          UINT32_C(0xCB40941C), UINT32_C(0x7654C79B)},
+         {UINT32_C(0xD6A9E988), UINT32_C(0x4640C0C5), UINT32_C(0x11A4EECB),
+          UINT32_C(0xA98AF661), UINT32_C(0x325D730E), UINT32_C(0xE1E827E3),
+          UINT32_C(0x7D8A02DE), UINT32_C(0x2342D880)}},
+        {{UINT32_C(0x715DB87E), UINT32_C(0xE4101595), UINT32_C(0x3C44A43A),
+          UINT32_C(0x462718AB), UINT32_C(0xEFCBC0F7), UINT32_C(0xF414CBC7),
+          UINT32_C(0xE5999AB3), UINT32_C(0x2A64DB21)},
+         {UINT32_C(0x9DA91E84), UINT32_C(0xDAD841E1), UINT32_C(0x5F5C1CDD),
+          UINT32_C(0x5A28F649), UINT32_C(0xB8B41BDA), UINT32_C(0x2F8C9DCA),
+          UINT32_C(0x029C3697), UINT32_C(0x259DC791)}},
+        {{UINT32_C(0x5296BA38), UINT32_C(0xD56F4EF4), UINT32_C(0x02EC3100),
+          UINT32_C(0x4A853BA1), UINT32_C(0xC8AE4C47), UINT32_C(0xB0ED5F21),
+          UINT32_C(0x61DF268E), UINT32_C(0x53D0DA0C)},
+         {UINT32_C(0x6DC06EB6), UINT32_C(0xB6771DCB), UINT32_C(0xBB0C457F),
+          UINT32_C(0x30B07595), UINT32_C(0xF174690D), UINT32_C(0xC2FD08F3),
+          UINT32_C(0x87A5DC8E), UINT32_C(0x77000D6A)}},
+        {{UINT32_C(0x6E1369AD), UINT32_C(0x90DDAA61), UINT32_C(0xB6A5F225),
+          UINT32_C(0x3DD15EE7), UINT32_C(0x27AEB0DC), UINT32_C(0x051AA9C4),
+          UINT32_C(0xE5372729), UINT32_C(0x18712DBB)},
+         {UINT32_C(0xA23AFF5A), UINT32_C(0x13B3F9DF), UINT32_C(0x703FBFF9),
+          UINT32_C(0x34388CED), UINT32_C(0x17D60129), UINT32_C(0x0F390D67),
+          UINT32_C(0x4DAE9863), UINT32_C(0x3F0CA25E)}},
+        {{UINT32_C(0x903385DC), UINT32_C(0x6E0F5594), UINT32_C(0xF8A815A9),
+          UINT32_C(0x47483889), UINT32_C(0x23B70B1C), UINT32_C(0x42AF320C),
+          UINT32_C(0x1A1AEA03), UINT32_C(0x4A27CA27)},
+         {UINT32_C(0x66AF6F9D), UINT32_C(0xFAAC21C8), UINT32_C(0xC9FBFD3E),
+          UINT32_C(0x20849D90), UINT32_C(0xEE0A541C), UINT32_C(0x793F889F),
+          UINT32_C(0xADA5D18F), UINT32_C(0x2555FC32)}},
+        {{UINT32_C(0xBA2BD509), UINT32_C(0x3F38F58C), UINT32_C(0x048F864B),
+          UINT32_C(0x319A5F0D), UINT32_C(0xD5900B1E), UINT32_C(0xC4632F37),
+          UINT32_C(0xF8519441), UINT32_C(0x3FAF2615)},
+         {UINT32_C(0xFE194D77), UINT32_C(0x6A4AA25D), UINT32_C(0xD681409B),
+          UINT32_C(0xB5A6464A), UINT32_C(0xB957523A), UINT32_C(0x1A9326ED),
+          UINT32_C(0x27098B5B), UINT32_C(0x7690EA4F)}},
+        {{UINT32_C(0x10F3FDE3), UINT32_C(0x5530E911), UINT32_C(0x810E7853),
+          UINT32_C(0x9A40101F), UINT32_C(0x8F011C4E), UINT32_C(0x152704FC),
+          UINT32_C(0x129B455F), UINT32_C(0x5B1702E4)},
+         {UINT32_C(0xE60F4D30), UINT32_C(0x46A130BA), UINT32_C(0x62BBE8B5),
+          UINT32_C(0xA3D57414), UINT32_C(0x3CFAEFE3), UINT32_C(0xA26238DA),
+          UINT32_C(0x3175078E), UINT32_C(0x4E614113)}},
+        {{UINT32_C(0x992EE109), UINT32_C(0x27BCCDFF), UINT32_C(0xFB45C6C3),
+          UINT32_C(0x79F88647), UINT32_C(0xC73F2829), UINT32_C(0x7FD5D73A),
+          UINT32_C(0x65A44CF1), UINT32_C(0x7EBE8E4E)},
+         {UINT32_C(0x37414B2C), UINT32_C(0xB9EC0B94), UINT32_C(0x36DED49D),
+          UINT32_C(0x846AD1D1), UINT32_C(0x62F2FE87), UINT32_C(0x72AE1060),
+          UINT32_C(0xC032EEDD), UINT32_C(0x7F5AF329)}},
+    },
+    {
+        {{UINT32_C(0xC7A645A5), UINT32_C(0x6C80B058), UINT32_C(0x729066AC),
+          UINT32_C(0xF86341D2), UINT32_C(0x33FB5CE8), UINT32_C(0xE4F366BD),
+          UINT32_C(0xC23A4751), UINT32_C(0x6B79D63F)},
+         {UINT32_C(0xEC3F8686), UINT32_C(0xFAA0F994), UINT32_C(0xA9BA8F5E),
+          UINT32_C(0x156A6E8E), UINT32_C(0x9F2FAE57), UINT32_C(0xA46CA7D5),
+          UINT32_C(0x6EFE66F2), UINT32_C(0x84CB2196)}},
+        {{UINT32_C(0xED25185C), UINT32_C(0xF9C1DECB), UINT32_C(0xB1FCFC82),
+          UINT32_C(0x6DC43F21), UINT32_C(0xA954087B), UINT32_C(0x4A840262),
+          UINT32_C(0x0A38F667), UINT32_C(0x60230809)},
+         {UINT32_C(0x1D9672B5), UINT32_C(0xBD345006), UINT32_C(0xF83361EF),
+          UINT32_C(0xE0FF804B), UINT32_C(0xEF8E1598), UINT32_C(0x9DDC6CE1),
+          UINT32_C(0xFBD9BD0E), UINT32_C(0x4419F705)}},
+        {{UINT32_C(0x3426122A), UINT32_C(0xF171EDE4), UINT32_C(0x20A3963E),
+          UINT32_C(0xEF6A1AE2), UINT32_C(0x031647D0), UINT32_C(0xD25AB7A2),
+          UINT32_C(0xCB4CA4E3), UINT32_C(0x0FD7EC20)},
+         {UINT32_C(0xB7D3A295), UINT32_C(0xC103969C), UINT32_C(0x34DBABA8),
+          UINT32_C(0x4957509E), UINT32_C(0x60BC0760), UINT32_C(0x8456DF63),
+          UINT32_C(0xD63B49A9), UINT32_C(0x02AF2033)}},
+        {{UINT32_C(0x0378E444), UINT32_C(0x271966A0), UINT32_C(0x5D15A0B7),
+          UINT32_C(0x673F057D), UINT32_C(0xA0EFE59E), UINT32_C(0xA55C44F9),
+          UINT32_C(0x376119A6), UINT32_C(0x2F602F87)},
+         {UINT32_C(0x28981502), UINT32_C(0x0A149074), UINT32_C(0x8741D4F2),
+          UINT32_C(0xDA006774), UINT32_C(0x133F8479), UINT32_C(0x8F982C81),
+          UINT32_C(0xF944319A), UINT32_C(0x1ECAF17A)}},
+        {{UINT32_C(0xA37F4FC2), UINT32_C(0x281A234E), UINT32_C(0xFD34FC11),
+          UINT32_C(0xAFD847B2), UINT32_C(0x4683E11A), UINT32_C(0x02CC0839),
+          UINT32_C(0x3F65B844), UINT32_C(0x71215DA9)},
+         {UINT32_C(0xEFE32AC9), UINT32_C(0xF9F41383), UINT32_C(0x1361FE53),
+          UINT32_C(0x4AC3D91D), UINT32_C(0x1CC2E948), UINT32_C(0x03C9FBAB),
+          UINT32_C(0x43379A4F), UINT32_C(0x9A9A4B91)}},
+        {{UINT32_C(0x51BED5AC), UINT32_C(0x8D37A108), UINT32_C(0x998E1C19),
+          UINT32_C(0x75D91890), UINT32_C(0x5D244730), UINT32_C(0xE6C76B09),
+          UINT32_C(0x4CD555FF), UINT32_C(0x12714716)},
+         {UINT32_C(0x29DDC669), UINT32_C(0xF2DCE85A), UINT32_C(0x8D622348),
+          UINT32_C(0x8914D13A), UINT32_C(0xDAE035E8), UINT32_C(0x9FE6B578),
+          UINT32_C(0xF41EEF19), UINT32_C(0x21ECB251)}},
+        {{UINT32_C(0x7999064D), UINT32_C(0xEAFF3862), UINT32_C(0x96383204),
+          UINT32_C(0xB72BABEF), UINT32_C(0x6BCCCB43), UINT32_C(0x8E6C9E67),
+          UINT32_C(0x7FD71298), UINT32_C(0x320A7D78)},
+         {UINT32_C(0xB438A302), UINT32_C(0x4081E38A), UINT32_C(0x120E132D),
+          UINT32_C(0x0A15CBA7), UINT32_C(0xEC2E0939), UINT32_C(0x6D9123E1),
+          UINT32_C(0xE0D6FEC5), UINT32_C(0x692D699C)}},
+        {{UINT32_C(0xC8D5D361), UINT32_C(0xB639ADAE), UINT32_C(0xC60A078D),
+          UINT32_C(0xA8F742CC), UINT32_C(0x9D740F0F), UINT32_C(0xE8D2CF92),
+          UINT32_C(0x4DCE6A87), UINT32_C(0x6E8EEEF9)},
+         {UINT32_C(0x6A2E5164), UINT32_C(0x54E19488), UINT32_C(0x2430E4B9),
+          UINT32_C(0x4372C6CF), UINT32_C(0x1C5B13B3), UINT32_C(0xD58EA91B),
+          UINT32_C(0xBB9F2911), UINT32_C(0x796DCC45)}},
+        {{UINT32_C(0xCBB267F9), UINT32_C(0xD8D4FAF0), UINT32_C(0x703F4011),
+          UINT32_C(0xC2770DBE), UINT32_C(0x0D651402), UINT32_C(0x13739F02),
+          UINT32_C(0x72D2B3F1), UINT32_C(0x7DE4E51E)},
+         {UINT32_C(0x1FE00C7E), UINT32_C(0xB10F966E), UINT32_C(0x8F42B5F8),
+          UINT32_C(0x5E9A1501), UINT32_C(0xD00437A3), UINT32_C(0x6AFB1AD0),
+          UINT32_C(0x1473D5AE), UINT32_C(0x267D1536)}},
+        {{UINT32_C(0x4CAE118F), UINT32_C(0x1173B5DB), UINT32_C(0xCA749EE6),
+          UINT32_C(0xC3A2EAFD), UINT32_C(0x4ED4FFF4), UINT32_C(0x64F738E6),
+          UINT32_C(0xB07860B6), UINT32_C(0x47DDECB6)},
+         {UINT32_C(0xBD47A901), UINT32_C(0xF5D627FC), UINT32_C(0x856C6903),
+          UINT32_C(0x6493BC28), UINT32_C(0xEA63B675), UINT32_C(0x90280E4B),
+          UINT32_C(0xC4148666), UINT32_C(0x211C04A2)}},
+        {{UINT32_C(0x6524BC38), UINT32_C(0x0A5F0C27), UINT32_C(0xBB3CBDB9),
+          UINT32_C(0x4B9D95FB), UINT32_C(0x20507C82), UINT32_C(0x5394ADC2),
+          UINT32_C(0xB4DBE448), UINT32_C(0x4C0C9167)},
+         {UINT32_C(0x303A5B11), UINT32_C(0xAC3E87CE), UINT32_C(0x3251F4DF),
+          UINT32_C(0xD31FB9C5), UINT32_C(0xE43CE799), UINT32_C(0x86C281DF),
+          UINT32_C(0x29FE09E4), UINT32_C(0x84E644D7)}},
+        {{UINT32_C(0x43166C20), UINT32_C(0x6D7B61DC), UINT32_C(0xBD34F981),
+          UINT32_C(0x54D6C035), UINT32_C(0xC991096D), UINT32_C(0xB166769D),
+          UINT32_C(0x3A4CF05C), UINT32_C(0x51A47E3A)},
+         {UINT32_C(0x14F5E7F1), UINT32_C(0x57CF9EFF), UINT32_C(0xE39FDA0D),
+          UINT32_C(0xED3D4E9D), UINT32_C(0xBAA7E93B), UINT32_C(0xDF0176EC),
+          UINT32_C(0x70935B9F), UINT32_C(0x6B2FEA14)}},
+        {{UINT32_C(0x709B70AE), UINT32_C(0x19F9D59E), UINT32_C(0x70472149),
+          UINT32_C(0xD850CA32), UINT32_C(0x29EE6104), UINT32_C(0x292CADD9),
+          UINT32_C(0x8FD499F2), UINT32_C(0x870F7C99)},
+         {UINT32_C(0x415C6FFD), UINT32_C(0x200ECB1C), UINT32_C(0x35CB841B),
+          UINT32_C(0xEEA6107D), UINT32_C(0xF95DD333), UINT32_C(0x1CB06F8A),
+          UINT32_C(0xE498AA7B), UINT32_C(0x245712FD)}},
+        {{UINT32_C(0xED4FBD78), UINT32_C(0x101665EA), UINT32_C(0x0E32D1B4),
+          UINT32_C(0xC6DDE1BB), UINT32_C(0x40150A9C), UINT32_C(0x3E79185E),
+          UINT32_C(0x7DEF3607), UINT32_C(0x49E2AE6B)},
+         {UINT32_C(0x308B7F59), UINT32_C(0xCCC9B0F6), UINT32_C(0xCE922087),
+          UINT32_C(0xB267008F), UINT32_C(0xCF2AABA6), UINT32_C(0x46CF7F07),
+          UINT32_C(0x9954091F), UINT32_C(0x5A74C8A0)}},
+        {{UINT32_C(0x5240B5A0), UINT32_C(0x8F287195), UINT32_C(0x1845373D),
+          UINT32_C(0x7AC7720F), UINT32_C(0x4E592274), UINT32_C(0xCF276B59),
+          UINT32_C(0x694C30B8), UINT32_C(0x6BEBC284)},
+         {UINT32_C(0x677B16CD), UINT32_C(0xDA0113D6), UINT32_C(0x45C9FA76),
+          UINT32_C(0xA2213446), UINT32_C(0x66964ADB), UINT32_C(0x2DEAF2ED),
+          UINT32_C(0xBC062240), UINT32_C(0x1977A8B3)}},
+        {{UINT32_C(0x80303DFD), UINT32_C(0xEEA29126), UINT32_C(0xE95BF6A1),
+          UINT32_C(0x3E4A33AC), UINT32_C(0x15DE0457), UINT32_C(0x6BFE2D5D),
+          UINT32_C(0xAD0976D1), UINT32_C(0x407BF7E3)},
+         {UINT32_C(0x306B415B), UINT32_C(0x04C1F61F), UINT32_C(0x5F790D5F),
+          UINT32_C(0xC86A75D2), UINT32_C(0xB7EAE07B), UINT32_C(0x7B799EDE),
+          UINT32_C(0xB4A66839), UINT32_C(0x9155A9A0)}},
+    },
+    {
+        {{UINT32_C(0x0DCE586B), UINT32_C(0x9745C6BB), UINT32_C(0xBE77B502),
+          UINT32_C(0x554C8313), UINT32_C(0xA93962CF), UINT32_C(0xF0F842A9),
+          UINT32_C(0xAAA141BC), UINT32_C(0x40862273)},
+         {UINT32_C(0xBD62237B), UINT32_C(0x926FFA4A), UINT32_C(0x7B942F48),
+          UINT32_C(0xD4F1E4A1), UINT32_C(0x075684FD), UINT32_C(0x3A841EB7),
+          UINT32_C(0xDD1807E1), UINT32_C(0x21F6EB39)}},
+        {{UINT32_C(0xBEDA4365), UINT32_C(0x155DFD66), UINT32_C(0x27F33BF9),
+          UINT32_C(0xDD575C83), UINT32_C(0x3DFF83A1), UINT32_C(0x5907B08D),
+          UINT32_C(0xD6788D63), UINT32_C(0x7E325357)},
+         {UINT32_C(0xBAC74ED7), UINT32_C(0xF90BF447), UINT32_C(0xEDA226CD),
+          UINT32_C(0x2DE6C957), UINT32_C(0x1CA44607), UINT32_C(0x67832302),
+          UINT32_C(0x56011C38), UINT32_C(0x22ECBC1F)}},
+        {{UINT32_C(0xB663A46C), UINT32_C(0xF01279A9), UINT32_C(0x7E3AAB83),
+          UINT32_C(0x07D74C5F), UINT32_C(0x8C0DA43E), UINT32_C(0xF20940B6),
+          UINT32_C(0x368AD991), UINT32_C(0x57C6A735)},
+         {UINT32_C(0x5007E059), UINT32_C(0x01E9B366), UINT32_C(0x9614D480),
+          UINT32_C(0xFC38FC99), UINT32_C(0xFF7DA757), UINT32_C(0x4A3AAA18),
+          UINT32_C(0xB0CE1B03), UINT32_C(0x4481B669)}},
+        {{UINT32_C(0xB4A807FF), UINT32_C(0x9CAA37A0), UINT32_C(0xF9B269F3),
+          UINT32_C(0xBDEDEB49), UINT32_C(0xCB607AC3), UINT32_C(0xC5B76E57),
+          UINT32_C(0x9A322F48), UINT32_C(0x08AEFE66)},
+         {UINT32_C(0xD9261469), UINT32_C(0x6919E40D), UINT32_C(0x849718FA),
+          UINT32_C(0x1F0ADA81), UINT32_C(0x9D81628E), UINT32_C(0xCD251B54),
+          UINT32_C(0x5505F9E1), UINT32_C(0x6519C3C6)}},
+        {{UINT32_C(0x2F81C037), UINT32_C(0x277591DC), UINT32_C(0x76E0D41E),
+          UINT32_C(0xD63AD35A), UINT32_C(0x6EC063D3), UINT32_C(0x682662B5),
+          UINT32_C(0x6762A0DB), UINT32_C(0x8210978B)},
+         {UINT32_C(0xFE164B90), UINT32_C(0x05085F68), UINT32_C(0x3D6FD0D1),
+          UINT32_C(0x50026ADC), UINT32_C(0xB01A3791), UINT32_C(0x38CC9FA7),
+          UINT32_C(0xB376F83E), UINT32_C(0x1E286652)}},
+        {{UINT32_C(0x09759892), UINT32_C(0x8DFFDA16), UINT32_C(0x9AC2CE5D),
+          UINT32_C(0xE011DDDB), UINT32_C(0xBD71426B), UINT32_C(0xDDC7670F),
+          UINT32_C(0x19742F7C), UINT32_C(0x9722A23B)},
+         {UINT32_C(0xDC4767D3), UINT32_C(0x2EA99893), UINT32_C(0x11125BAE),
+          UINT32_C(0xCB68D6C2), UINT32_C(0x307ED3B9), UINT32_C(0xAC76953E),
+          UINT32_C(0xC366E9A2), UINT32_C(0x0EDD0C17)}},
+        {{UINT32_C(0x484B5272), UINT32_C(0x88B3DEC9), UINT32_C(0x90380294),
+          UINT32_C(0x0C848EA1), UINT32_C(0xA01AC92C), UINT32_C(0xDE187E83),
+          UINT32_C(0x7A5D4D65), UINT32_C(0x2A880182)},
+         {UINT32_C(0xB3C3C7BB), UINT32_C(0xD3C22C2B), UINT32_C(0xDE7ECE33),
+          UINT32_C(0xC485CE02), UINT32_C(0xA437071A), UINT32_C(0xF22138C4),
+          UINT32_C(0x0716DA53), UINT32_C(0x23A55C89)}},
+        {{UINT32_C(0xF6FE058E), UINT32_C(0x9533C4A3), UINT32_C(0x748E4A4F),
+          UINT32_C(0x28753F87), UINT32_C(0xEA404C70), UINT32_C(0x7814C50A),
+          UINT32_C(0xE91B5EF3), UINT32_C(0x908D1C81)},
+         {UINT32_C(0x04094766), UINT32_C(0xD827D3CE), UINT32_C(0x0CE5C727),
+          UINT32_C(0x7AE2FD26), UINT32_C(0xCDAD2BDD), UINT32_C(0x016AC86F),
+          UINT32_C(0x7A77C252), UINT32_C(0x37C088B0)}},
+        {{UINT32_C(0x18A35CD3), UINT32_C(0xABF4C1EF), UINT32_C(0x698A5A01),
+          UINT32_C(0x1F721491), UINT32_C(0x1A9E9A1F), UINT32_C(0x79284A12),
+          UINT32_C(0x4D50DF40), UINT32_C(0x0457FF70)},
+         {UINT32_C(0xEC46ED07), UINT32_C(0x1D235814), UINT32_C(0xAE5E97C8),
+          UINT32_C(0xBD013752), UINT32_C(0xD9B100D4), UINT32_C(0x0E085C88),
+          UINT32_C(0x8858F9F3), UINT32_C(0x8AFA070A)}},
+        {{UINT32_C(0x698D6A59), UINT32_C(0x0F548BE3), UINT32_C(0xBF2D0D94),
+          UINT32_C(0x5D7818A5), UINT32_C(0xD80E620D), UINT32_C(0x8E150DF1),
+          UINT32_C(0xF857F167), UINT32_C(0x4C3A5E64)},
+         {UINT32_C(0x61BD9152), UINT32_C(0x837D9A98), UINT32_C(0x8D10687F),
+          UINT32_C(0x242CE589), UINT32_C(0xB6B52BB7), UINT32_C(0x9863EA4C),
+          UINT32_C(0xB7DD35FF), UINT32_C(0x23665B46)}},
+        {{UINT32_C(0x73942AAF), UINT32_C(0x3AA5432A), UINT32_C(0x0CEE83A9),
+          UINT32_C(0xB0185DB4), UINT32_C(0xA83B907B), UINT32_C(0x145372EE),
+          UINT32_C(0xBB6D341A), UINT32_C(0x609F1AD9)},
+         {UINT32_C(0x864C92EE), UINT32_C(0x28C2B37A), UINT32_C(0xD4CC1158),
+          UINT32_C(0xDD847239), UINT32_C(0x8F2EAF0A), UINT32_C(0xE5BD4FD2),
+          UINT32_C(0xD24950AB), UINT32_C(0x04F43BC0)}},
+        {{UINT32_C(0x88DA3F20), UINT32_C(0x11DEFCED), UINT32_C(0xA407C4A2),
+          UINT32_C(0xCA4CE370), UINT32_C(0x2F8C5CFC), UINT32_C(0xEA70BEDF),
+          UINT32_C(0x8214B7F7), UINT32_C(0x08AC147D)},
+         {UINT32_C(0xE260AA96), UINT32_C(0xECAD0F77), UINT32_C(0xB56C30F7),
+          UINT32_C(0xA868AC63), UINT32_C(0x396F4815), UINT32_C(0xF0ACDE5A),
+          UINT32_C(0xACDE6CD8), UINT32_C(0x302F75B9)}},
+        {{UINT32_C(0xC5D14866), UINT32_C(0x2125D07D), UINT32_C(0x4AE3212D),
+          UINT32_C(0xFE563DE4), UINT32_C(0xEE9CAA2B), UINT32_C(0x0FE787CB),
+          UINT32_C(0x53802482), UINT32_C(0x7D9B56A2)},
+         {UINT32_C(0x8040D1A7), UINT32_C(0x128B4D37), UINT32_C(0x30ACA2F4),
+          UINT32_C(0x57371299), UINT32_C(0x7623D14A), UINT32_C(0x5C443E35),
+          UINT32_C(0x5FDB6310), UINT32_C(0x6436D328)}},
+        {{UINT32_C(0xA8557B64), UINT32_C(0x531486A4), UINT32_C(0x9C5DE310),
+          UINT32_C(0x3FAB4F21), UINT32_C(0x260468D0), UINT32_C(0xD872282E),
+          UINT32_C(0x2542CBA4), UINT32_C(0x04CD4568)},
+         {UINT32_C(0x555B6E0C), UINT32_C(0xACA0975A), UINT32_C(0x8B85132F),
+          UINT32_C(0xEE8C43B2), UINT32_C(0xB9DECE9D), UINT32_C(0xC768808B),
+          UINT32_C(0x431AF98C), UINT32_C(0x59EDEC60)}},
+        {{UINT32_C(0x31992E22), UINT32_C(0xC365E133), UINT32_C(0x0DC3A4C8),
+          UINT32_C(0xB96C5FA0), UINT32_C(0xA65761B0), UINT32_C(0xDEB1C1DA),
+          UINT32_C(0xF4ACAB4C), UINT32_C(0x457676EE)},
+         {UINT32_C(0xE674FFAF), UINT32_C(0xA0F95894), UINT32_C(0xD65CDAB7),
+          UINT32_C(0xFD099172), UINT32_C(0x54DA58A2), UINT32_C(0x9383C2F8),
+          UINT32_C(0x0F24A07B), UINT32_C(0x0A4F4C11)}},
+        {{UINT32_C(0xE380ABF3), UINT32_C(0x9D7A80B3), UINT32_C(0x9E469F9F),
+          UINT32_C(0xF0C6AC5A), UINT32_C(0x6BD0A324), UINT32_C(0xC87D5727),
+          UINT32_C(0x7692B063), UINT32_C(0x28138E37)},
+         {UINT32_C(0xD67862CA), UINT32_C(0xE18C1F7D), UINT32_C(0x1E07F928),
+          UINT32_C(0x4B6B723E), UINT32_C(0xBBCF4125), UINT32_C(0xAAFE3FB0),
+          UINT32_C(0x3B3AE714), UINT32_C(0x25400322)}},
+    },
+    {
+        {{UINT32_C(0x63C295D8), UINT32_C(0xB89A2DCA), UINT32_C(0x85041AA1),
+          UINT32_C(0x5CC03C65), UINT32_C(0xC6514781), UINT32_C(0xFA9B4C5C),
+          UINT32_C(0xD92388FF), UINT32_C(0x578031A0)},
+         {UINT32_C(0xF92C2D77), UINT32_C(0xB0D5AE0A), UINT32_C(0x793D588A),
+          UINT32_C(0x945A677E), UINT32_C(0x34A190E0), UINT32_C(0x3722DE44),
+          UINT32_C(0x0C2B9975), UINT32_C(0x6EA90DB8)}},
+        {{UINT32_C(0x84BA4F9B), UINT32_C(0xE987AA85), UINT32_C(0x0AB43BE6),
+          UINT32_C(0xB2A77B9C), UINT32_C(0x474D8841), UINT32_C(0xC4AD2AF6),
+          UINT32_C(0x5D4FA590), UINT32_C(0x4ED7A82B)},
+         {UINT32_C(0x9977AC2B), UINT32_C(0x9F39335E), UINT32_C(0x52E87607),
+          UINT32_C(0x3CCD406D), UINT32_C(0x71456060), UINT32_C(0x9D18CB3F),
+          UINT32_C(0x6A45D7D0), UINT32_C(0x0FE4D888)}},
+        {{UINT32_C(0xF42D501A), UINT32_C(0xAEA8A911), UINT32_C(0x88F66FBA),
+          UINT32_C(0x303E25D5), UINT32_C(0x61740B85), UINT32_C(0x54213F29),
+          UINT32_C(0xC0B4D835), UINT32_C(0x5BC13A30)},
+         {UINT32_C(0x4758EA28), UINT32_C(0x569AB9B8), UINT32_C(0xB796A794),
+          UINT32_C(0xE2E49B28), UINT32_C(0x320D54E2), UINT32_C(0x17787125),
+          UINT32_C(0xC54B4465), UINT32_C(0x5A6A8EDE)}},
+        {{UINT32_C(0x870619DD), UINT32_C(0xC76C73D9), UINT32_C(0x84FE1078),
+          UINT32_C(0xF541440E), UINT32_C(0x3B26A3DC), UINT32_C(0x2082FE36),
+          UINT32_C(0xCC329B14), UINT32_C(0x3B896B29)},
+         {UINT32_C(0xCAFCDC20), UINT32_C(0xB45028A9), UINT32_C(0x9C56757E),
+          UINT32_C(0xA1B77C6F), UINT32_C(0x84802E47), UINT32_C(0xDE50D865),
+          UINT32_C(0xBA0892B0), UINT32_C(0x7DFBC0E8)}},
+        {{UINT32_C(0x47E702BB), UINT32_C(0xEBC505A9), UINT32_C(0xDACFACFE),
+          UINT32_C(0x2329A41C), UINT32_C(0x51DDCE2F), UINT32_C(0xEA115603),
+          UINT32_C(0x2E9D855A), UINT32_C(0x95BBC807)},
+         {UINT32_C(0xCFD33E9F), UINT32_C(0x454C6B88), UINT32_C(0x4FFBB24A),
+          UINT32_C(0x993CF6DE), UINT32_C(0x9B2144CD), UINT32_C(0xA8E22FF8),
+          UINT32_C(0x84943294), UINT32_C(0x741066EE)}},
+        {{UINT32_C(0xF067E5B2), UINT32_C(0x2CEE0CFF), UINT32_C(0xCA95F1C5),
+          UINT32_C(0x1C1FD5A3), UINT32_C(0xC07B97F1), UINT32_C(0xA0EB8E7D),
+          UINT32_C(0x7457415E), UINT32_C(0x0F2A5D77)},
+         {UINT32_C(0x45D06291), UINT32_C(0xDFF92C58), UINT32_C(0x48ABABE8),
+          UINT32_C(0x709EA0AC), UINT32_C(0x2FDC92F0), UINT32_C(0xB3058FEB),
+          UINT32_C(0x5E5B169E), UINT32_C(0x55E9F86E)}},
+        {{UINT32_C(0xEBF6AF2B), UINT32_C(0xEE5DF132), UINT32_C(0xF642A206),
+          UINT32_C(0xC30DC3F1), UINT32_C(0x02C60CB6), UINT32_C(0xD7D8EC3E),
+          UINT32_C(0x3178F1BF), UINT32_C(0x7C98946B)},
+         {UINT32_C(0xA68799EB), UINT32_C(0x816C2AA1), UINT32_C(0x2430F06B),
+          UINT32_C(0x507FD5E9), UINT32_C(0xB9EBD4B7), UINT32_C(0x021FFF1C),
+          UINT32_C(0x8AECFEA4), UINT32_C(0x044365E6)}},
+        {{UINT32_C(0x21339693), UINT32_C(0xDC5F5EA6), UINT32_C(0x90A448AD),
+          UINT32_C(0x5BFD2676), UINT32_C(0xA12A9D77), UINT32_C(0xF712BA95),
+          UINT32_C(0xBD8A6B5B), UINT32_C(0x7104735A)},
+         {UINT32_C(0xA763BB99), UINT32_C(0xD2ED8304), UINT32_C(0x11B91A05),
+          UINT32_C(0x7AF040F0), UINT32_C(0xB61F3789), UINT32_C(0xC545E8AE),
+          UINT32_C(0xBB386760), UINT32_C(0x582E9EED)}},
+        {{UINT32_C(0xCC099185), UINT32_C(0x0FCE5877), UINT32_C(0xCD681E67),
+          UINT32_C(0x0E148BB5), UINT32_C(0xECB24ECE), UINT32_C(0xE9F9013E),
+          UINT32_C(0x2A386485), UINT32_C(0x0090654B)},
+         {UINT32_C(0x0520BAE8), UINT32_C(0x11BA700B), UINT32_C(0xD8E53123),
+          UINT32_C(0xFC93BE31), UINT32_C(0xE37948EE), UINT32_C(0x7DD7CB36),
+          UINT32_C(0x3FC23444), UINT32_C(0x8689AE8F)}},
+        {{UINT32_C(0xAAC6616B), UINT32_C(0x2060F7DE), UINT32_C(0xDEAB3CC7),
+          UINT32_C(0x372952C5), UINT32_C(0xC2424ACD), UINT32_C(0x715C4D27),
+          UINT32_C(0x0308A009), UINT32_C(0x05846856)},
+         {UINT32_C(0x0B8B34E8), UINT32_C(0x887BBD55), UINT32_C(0xB688C987),
+          UINT32_C(0x949ACBD1), UINT32_C(0x784C4C0E), UINT32_C(0x3E774D49),
+          UINT32_C(0xB0F5F545), UINT32_C(0x7AEA2D11)}},
+        {{UINT32_C(0xE831E509), UINT32_C(0x5335BA6B), UINT32_C(0x739F332E),
+          UINT32_C(0x8FC4B4AF), UINT32_C(0x95993EAF), UINT32_C(0xB0502462),
+          UINT32_C(0xA7CEB88B), UINT32_C(0x7DA49F36)},
+         {UINT32_C(0x029D0C8F), UINT32_C(0x3BE0B74B), UINT32_C(0x55611A8B),
+          UINT32_C(0xBC07F180), UINT32_C(0x6583F53F), UINT32_C(0xC168CF41),
+          UINT32_C(0xC34ADBC1), UINT32_C(0x4256E8D2)}},
+        {{UINT32_C(0xCE2FCD89), UINT32_C(0x313AFC75), UINT32_C(0xD3DA44F2),
+          UINT32_C(0xEA27FDA4), UINT32_C(0x9063B0DC), UINT32_C(0x9FABEA79),
+          UINT32_C(0xB3418884), UINT32_C(0x2DF7D966)},
+         {UINT32_C(0x80AF2EBD), UINT32_C(0x4329FD24), UINT32_C(0x9F095D30),
+          UINT32_C(0x36F27FF7), UINT32_C(0xCC84C068), UINT32_C(0x88FFB18F),
+          UINT32_C(0x7B0A9906), UINT32_C(0x976427A8)}},
+        {{UINT32_C(0xFAC21087), UINT32_C(0xCFF828CC), UINT32_C(0x56863CB5),
+          UINT32_C(0x6B6D3484), UINT32_C(0xC30879F3), UINT32_C(0x14163A70),
+          UINT32_C(0x8CA6FD5D), UINT32_C(0x30E2A633)},
+         {UINT32_C(0x28A58783), UINT32_C(0xC7FCEAD6), UINT32_C(0xEEFA1EAA),
+          UINT32_C(0x945F7B09), UINT32_C(0x5CC66267), UINT32_C(0x98A503DB),
+          UINT32_C(0x3780061B), UINT32_C(0x83EE750E)}},
+        {{UINT32_C(0xB8477D6B), UINT32_C(0x7061409A), UINT32_C(0x2B7B54FA),
+          UINT32_C(0xE47C779D), UINT32_C(0xF293166C), UINT32_C(0x42F5EDF5),
+          UINT32_C(0x115D830F), UINT32_C(0x73C3AC1B)},
+         {UINT32_C(0x4DEE0980), UINT32_C(0xC30D346E), UINT32_C(0xA62F0D09),
+          UINT32_C(0xEE0D9A29), UINT32_C(0xABCB7DAE), UINT32_C(0xBBE8DC9E),
+          UINT32_C(0x68B78925), UINT32_C(0x4F0E78C0)}},
+        {{UINT32_C(0xB4B14003), UINT32_C(0x25A0D4FF), UINT32_C(0xB8AB649C),
+          UINT32_C(0xA4C3AC55), UINT32_C(0x27F9FDF5), UINT32_C(0x7D7EDE72),
+          UINT32_C(0xBC2A46D4), UINT32_C(0x507EC83F)},
+         {UINT32_C(0xFAAFC26F), UINT32_C(0x344577D9), UINT32_C(0x3EB30156),
+          UINT32_C(0x77CBB783), UINT32_C(0x1D5C9367), UINT32_C(0x3A846FFD),
+          UINT32_C(0x9DF9F7BE), UINT32_C(0x5F0D280C)}},
+        {{UINT32_C(0x77DF7F9F), UINT32_C(0xCC8EAC0A), UINT32_C(0xF33A62D4),
+          UINT32_C(0x195BC6FF), UINT32_C(0x524D78FE), UINT32_C(0x18A33FFA),
+          UINT32_C(0x6603F9C0), UINT32_C(0x10E58974)},
+         {UINT32_C(0x0CDA2C3F), UINT32_C(0x31AF4B46), UINT32_C(0xADE169C3),
+          UINT32_C(0xDDBF00C8), UINT32_C(0x71A7BC38), UINT32_C(0xA169C3E3),
+          UINT32_C(0xA64B342E), UINT32_C(0x3FC352FF)}},
+    },
+    {
+        {{UINT32_C(0xEE73C673), UINT32_C(0x58848315), UINT32_C(0x8ADB897E),
+          UINT32_C(0x67D2F7C0), UINT32_C(0xF0658115), UINT32_C(0xE8CD786D),
+          UINT32_C(0xAC54D2AB), UINT32_C(0x023D515A)},
+         {UINT32_C(0x67559911), UINT32_C(0x0EDE61D8), UINT32_C(0x3C2B78B5),
+          UINT32_C(0xBC12B106), UINT32_C(0x9E4707D8), UINT32_C(0xB5661A28),
+          UINT32_C(0xADC095A4), UINT32_C(0x93FB4096)}},
+        {{UINT32_C(0x33D5FA08), UINT32_C(0xEEB3810F), UINT32_C(0x33F4CAAF),
+          UINT32_C(0x8D8FC354), UINT32_C(0x29EB08A3), UINT32_C(0xED870516),
+          UINT32_C(0xD1D31EBC), UINT32_C(0x89FD91CA)},
+         {UINT32_C(0xEDE2494B), UINT32_C(0xD2F1F832), UINT32_C(0xFA8EEA95),
+          UINT32_C(0xCFEE1D77), UINT32_C(0x3B0F005C), UINT32_C(0x13603C4A),
+          UINT32_C(0xD9EF68F4), UINT32_C(0x6DF97F85)}},
+        {{UINT32_C(0x55410512), UINT32_C(0x578FBC0A), UINT32_C(0xDEC79EEE),
+          UINT32_C(0x1FA404F2), UINT32_C(0x92B60820), UINT32_C(0x201FE215),
+          UINT32_C(0x0A56193A), UINT32_C(0x9A9B3CE8)},
+         {UINT32_C(0x10B49800), UINT32_C(0x8A5ECCB9), UINT32_C(0xBFDB1D8E),
+          UINT32_C(0xA7373AEB), UINT32_C(0x4944B5DF), UINT32_C(0x8996BEFA),
+          UINT32_C(0x7B44246C), UINT32_C(0x3102D3C0)}},
+        {{UINT32_C(0x449C09BE), UINT32_C(0xD4A853B7), UINT32_C(0x51DDB7FE),
+          UINT32_C(0x1F7080A4), UINT32_C(0xE1C27FC1), UINT32_C(0x8A9DE52C),
+          UINT32_C(0x0C58B99D), UINT32_C(0x6585B54F)},
+         {UINT32_C(0xB5A4AB53), UINT32_C(0x8EEB0601), UINT32_C(0x48C73AC6),
+          UINT32_C(0x977D658D), UINT32_C(0x3D9BD223), UINT32_C(0xD5DA0903),
+          UINT32_C(0xBE115965), UINT32_C(0x881A5838)}},
+        {{UINT32_C(0xEB3FC303), UINT32_C(0x8EB70B77), UINT32_C(0x98BDB841),
+          UINT32_C(0xED1C4DEF), UINT32_C(0x997DE9E4), UINT32_C(0x13E6BE06),
+          UINT32_C(0x9334D46D), UINT32_C(0x4A94C0A1)},
+         {UINT32_C(0x0F867DAF), UINT32_C(0x184C17C8), UINT32_C(0x33A64148),
+          UINT32_C(0x4A658026), UINT32_C(0x0AE3D4AA), UINT32_C(0xD177F009),
+          UINT32_C(0x98ED12C0), UINT32_C(0x8134AC8F)}},
+        {{UINT32_C(0x7A58DDEC), UINT32_C(0x7A308A00), UINT32_C(0xFDF92DF2),
+          UINT32_C(0x74A15C5F), UINT32_C(0x21B4E345), UINT32_C(0x210D260E),
+          UINT32_C(0xC651E31E), UINT32_C(0x6446715B)},
+         {UINT32_C(0x10B905B6), UINT32_C(0xB1AF1F84), UINT32_C(0xA62D366F),
+          UINT32_C(0xEF6CD0F2), UINT32_C(0xD1F6B7E3), UINT32_C(0x77E47B01),
+          UINT32_C(0x2B95BD12), UINT32_C(0x0F38B280)}},
+        {{UINT32_C(0x8CCCDAE6), UINT32_C(0x52DA30E1), UINT32_C(0xBD86A13A),
+          UINT32_C(0x9F3D6636), UINT32_C(0xF4EA6151), UINT32_C(0xADFA00C5),
+          UINT32_C(0x1EC37639), UINT32_C(0x6B93BFA0)},
+         {UINT32_C(0xF8FE22FC), UINT32_C(0x443F0023), UINT32_C(0xA81FEACC),
+          UINT32_C(0xCB7848A4), UINT32_C(0x517E9E61), UINT32_C(0xCE5E650A),
+          UINT32_C(0xA1968E3D), UINT32_C(0x5842DB7D)}},
+        {{UINT32_C(0x98C06F78), UINT32_C(0x61DDC694), UINT32_C(0x7985B1A2),
+          UINT32_C(0x680FEDE9), UINT32_C(0xFB53A327), UINT32_C(0x214CD2B8),
+          UINT32_C(0xE425132B), UINT32_C(0x98EAC0B3)},
+         {UINT32_C(0x33E5766D), UINT32_C(0x5EEDD76D), UINT32_C(0x540000A3),
+          UINT32_C(0x5B280618), UINT32_C(0x65C894AE), UINT32_C(0x915D55CB),
+          UINT32_C(0xD20D9523), UINT32_C(0x7B088A36)}},
+        {{UINT32_C(0xC28DA278), UINT32_C(0x51A47312), UINT32_C(0xEFE64521),
+          UINT32_C(0xE315CBA4), UINT32_C(0x49D8D0FF), UINT32_C(0x3EF70A18),
+          UINT32_C(0xCABD48C5), UINT32_C(0x0990CB92)},
+         {UINT32_C(0xA7C2FC76), UINT32_C(0x22ED6302), UINT32_C(0x2CB98186),
+          UINT32_C(0xB50370EA), UINT32_C(0xF3F2BA8B), UINT32_C(0xDEA88C65),
+          UINT32_C(0x09FEDEEA), UINT32_C(0x09062451)}},
+        {{UINT32_C(0xDAC0F222), UINT32_C(0x742F9A2E), UINT32_C(0x95C88A8E),
+          UINT32_C(0xE2A8842B), UINT32_C(0x9D817B14), UINT32_C(0x80C05765),
+          UINT32_C(0x982D49AE), UINT32_C(0x7ED0521A)},
+         {UINT32_C(0x907B10F7), UINT32_C(0x047E49D4), UINT32_C(0xDE8AD4CD),
+          UINT32_C(0x8A3E23A7), UINT32_C(0xEB5292B1), UINT32_C(0xEBE8C13F),
+          UINT32_C(0xA7EB70BD), UINT32_C(0x048A6209)}},
+        {{UINT32_C(0x9AA34851), UINT32_C(0xB51665A0), UINT32_C(0x7C4AFCEE),
+          UINT32_C(0x4DD5AC1B), UINT32_C(0x25A21937), UINT32_C(0x00DEE7AB),
+          UINT32_C(0x80FAF232), UINT32_C(0x88E2681E)},
+         {UINT32_C(0xB5411EE2), UINT32_C(0x79ECD66A), UINT32_C(0xF370BF53),
+          UINT32_C(0x06008CE3), UINT32_C(0xC9BBB64C), UINT32_C(0xCFB1850E),
+          UINT32_C(0x7149B14E), UINT32_C(0x5FBACB27)}},
+        {{UINT32_C(0x9938AA0C), UINT32_C(0xA1F0EE07), UINT32_C(0x74CCE9C4),
+          UINT32_C(0x6945E2BA), UINT32_C(0x46A98BEA), UINT32_C(0x16689FCE),
+          UINT32_C(0xCF67DF91), UINT32_C(0x8D71F405)},
+         {UINT32_C(0x69621150), UINT32_C(0x71E4CAC8), UINT32_C(0x89B380D8),
+          UINT32_C(0x518FA200), UINT32_C(0x53F9E660), UINT32_C(0x3B3B85F1),
+          UINT32_C(0xC6D9B022), UINT32_C(0x02643303)}},
+        {{UINT32_C(0x07660C3E), UINT32_C(0xE8C478EC), UINT32_C(0xEF41F1DA),
+          UINT32_C(0xA906C3A1), UINT32_C(0x46699B71), UINT32_C(0xE918F160),
+          UINT32_C(0xE5BE7B36), UINT32_C(0x2B8A0B0E)},
+         {UINT32_C(0x889F50A0), UINT32_C(0xC663F0EC), UINT32_C(0xF9214F81),
+          UINT32_C(0x7413264B), UINT32_C(0x421A9087), UINT32_C(0x2E9FA9A0),
+          UINT32_C(0x83546DCD), UINT32_C(0x85C59B7C)}},
+        {{UINT32_C(0x8D920A29), UINT32_C(0xB4A6CF39), UINT32_C(0x1B3956A1),
+          UINT32_C(0xC857AF48), UINT32_C(0xDD794B23), UINT32_C(0x519C7371),
+          UINT32_C(0x8EFBF8F9), UINT32_C(0x47846220)},
+         {UINT32_C(0x617E4C6C), UINT32_C(0x184C25E5), UINT32_C(0xD2E51A5E),
+          UINT32_C(0x218FCC23), UINT32_C(0x28FA0FFC), UINT32_C(0xB4219719),
+          UINT32_C(0x781A61D9), UINT32_C(0x6C0BCD71)}},
+        {{UINT32_C(0xDC7B5568), UINT32_C(0x440D6DDF), UINT32_C(0x0DBBEC7C),
+          UINT32_C(0x64C7CC31), UINT32_C(0xA2DC0CBA), UINT32_C(0x63D16D4E),
+          UINT32_C(0x4504BE2C), UINT32_C(0x7BD9E0CC)},
+         {UINT32_C(0x2DE780A8), UINT32_C(0x9C882895), UINT32_C(0xEF2B2486),
+          UINT32_C(0x7C6685C2), UINT32_C(0x957FA7D8), UINT32_C(0xF1FB09E9),
+          UINT32_C(0x46A77A98), UINT32_C(0x20C6B5A5)}},
+        {{UINT32_C(0x33C0F0C1), UINT32_C(0x60C77573), UINT32_C(0xCADDA5FE),
+          UINT32_C(0x40C93227), UINT32_C(0x9DD41D5F), UINT32_C(0xA48EBAA2),
+          UINT32_C(0xEA9FD5AD), UINT32_C(0x4AAFBF3C)},
+         {UINT32_C(0xC5A287BA), UINT32_C(0x7EB61836), UINT32_C(0xB31BA25E),
+          UINT32_C(0x1D6A1BA2), UINT32_C(0xAD186E52), UINT32_C(0x60507257),
+          UINT32_C(0x2BAB7451), UINT32_C(0x7FEC8EB0)}},
+    },
+    {
+        {{UINT32_C(0xB8DA5FFE), UINT32_C(0x500E2FDB), UINT32_C(0x8CDD1B39),
+          UINT32_C(0x6AE2D4EA), UINT32_C(0x1A5840CD), UINT32_C(0x38D12025),
+          UINT32_C(0xC214D26D), UINT32_C(0x8D3B20CB)},
+         {UINT32_C(0xC041E874), UINT32_C(0xEF6BB36C), UINT32_C(0x450F2218),
+          UINT32_C(0x67660393), UINT32_C(0xA892BDFD), UINT32_C(0x1E1B7782),
+          UINT32_C(0x8D962E62), UINT32_C(0x2D69514C)}},
+        {{UINT32_C(0x9631B095), UINT32_C(0x9EDF5F78), UINT32_C(0x45BF8F20),
+          UINT32_C(0xAC7DD687), UINT32_C(0xE3262EBC), UINT32_C(0x257CCE28),
+          UINT32_C(0xE0E480A6), UINT32_C(0x5D32EFCB)},
+         {UINT32_C(0x6FBB99E8), UINT32_C(0xED48E34C), UINT32_C(0x23FDE9B7),
+          UINT32_C(0x50B1D58C), UINT32_C(0x6B6927C8), UINT32_C(0xC5164C2A),
+          UINT32_C(0x8906B705), UINT32_C(0x8A0BC606)}},
+        {{UINT32_C(0x2F747DA8), UINT32_C(0x3FA3C7C9), UINT32_C(0x14938E08),
+          UINT32_C(0x2E8D2C2E), UINT32_C(0xB6A1C720), UINT32_C(0x155A8A5B),
+          UINT32_C(0xB3133FD0), UINT32_C(0x6B4D8C9E)},
+         {UINT32_C(0xCE131C1D), UINT32_C(0x079AC7F1), UINT32_C(0x815B7D2B),
+          UINT32_C(0x9CF419AF), UINT32_C(0xE60B6245), UINT32_C(0x569EB7BA),
+          UINT32_C(0x9A3DD94E), UINT32_C(0x03C79E60)}},
+        {{UINT32_C(0xB9CE9502), UINT32_C(0x328F5296), UINT32_C(0xE45C3576),
+          UINT32_C(0xCA44ADBD), UINT32_C(0x6194AE2C), UINT32_C(0x66987952),
+          UINT32_C(0xBF9B8C49), UINT32_C(0x5875F8EF)},
+         {UINT32_C(0xDA51CAB8), UINT32_C(0x525A4D53), UINT32_C(0x9DC268B2),
+          UINT32_C(0x91A592DD), UINT32_C(0xE1E3C168), UINT32_C(0xD7EA7958),
+          UINT32_C(0xA999ED30), UINT32_C(0x0D1E20E0)}},
+        {{UINT32_C(0xFE8AD270), UINT32_C(0x55DA34E5), UINT32_C(0x61EC55F6),
+          UINT32_C(0xB0412895), UINT32_C(0x534569C9), UINT32_C(0x0D45670F),
+          UINT32_C(0xE23F69FB), UINT32_C(0x5A7E6764)},
+         {UINT32_C(0xA8B28676), UINT32_C(0xBB6BBEC9), UINT32_C(0x093B0D1D),
+          UINT32_C(0x4F924558), UINT32_C(0x0C29D841), UINT32_C(0xD4E4BF12),
+          UINT32_C(0x578A237A), UINT32_C(0x67D2B4C8)}},
+        {{UINT32_C(0x63EF2D73), UINT32_C(0x0BDF32D6), UINT32_C(0x4AE4303C),
+          UINT32_C(0x7248DD2D), UINT32_C(0x6CE1E92A), UINT32_C(0xBB61BAB5),
+          UINT32_C(0x1D7B9A6C), UINT32_C(0x126166E9)},
+         {UINT32_C(0x11CEBC3C), UINT32_C(0x4CE7086A), UINT32_C(0x1C71426F),
+          UINT32_C(0xE7ACB25E), UINT32_C(0x432CC4AF), UINT32_C(0xBFB65EDC),
+          UINT32_C(0xCB018CF7), UINT32_C(0x3BCA5202)}},
+        {{UINT32_C(0x76430A87), UINT32_C(0xACF034F2), UINT32_C(0x534C42ED),
+          UINT32_C(0xBFDF19B3), UINT32_C(0x7946CB1A), UINT32_C(0x05654FE6),
+          UINT32_C(0x80F17880), UINT32_C(0x0DB07E79)},
+         {UINT32_C(0xFDCF8BC9), UINT32_C(0xE6E93101), UINT32_C(0xF798A8CD),
+          UINT32_C(0xF3198B87), UINT32_C(0xC9683420), UINT32_C(0xC05444EF),
+          UINT32_C(0x915D1BF1), UINT32_C(0x56E9AA68)}},
+        {{UINT32_C(0x34000B11), UINT32_C(0xF27B298B), UINT32_C(0xF4196E50),
+          UINT32_C(0x70ED8C95), UINT32_C(0x233C8764), UINT32_C(0xF3E16608),
+          UINT32_C(0x41881557), UINT32_C(0x5B97655A)},
+         {UINT32_C(0x128C195B), UINT32_C(0x5BF11C1A), UINT32_C(0x372C286D),
+          UINT32_C(0xFFB64333), UINT32_C(0x7C83BB31), UINT32_C(0x084D3EF7),
+          UINT32_C(0x745B7D75), UINT32_C(0x8ECF6C01)}},
+        {{UINT32_C(0xC6F4FF82), UINT32_C(0x3D6052B9), UINT32_C(0x6607892F),
+          UINT32_C(0x9305FE45), UINT32_C(0x5879425F), UINT32_C(0x232FD87E),
+          UINT32_C(0xD6F47350), UINT32_C(0x4CAEDF73)},
+         {UINT32_C(0x032FC50D), UINT32_C(0x889243D2), UINT32_C(0x0C9C11AC),
+          UINT32_C(0xA6AF69D7), UINT32_C(0x802E8E06), UINT32_C(0x43B5429D),
+          UINT32_C(0xD70FC802), UINT32_C(0x38F1DEA8)}},
+        {{UINT32_C(0xC9595C08), UINT32_C(0x54F24344), UINT32_C(0x0240AAB3),
+          UINT32_C(0x95A2E8FB), UINT32_C(0xC3544985), UINT32_C(0x07A5109D),
+          UINT32_C(0xB5D30899), UINT32_C(0x96F44213)},
+         {UINT32_C(0xAA347497), UINT32_C(0x03FAB192), UINT32_C(0xC9CFC073),
+          UINT32_C(0x47FFD3DE), UINT32_C(0xD2C1D57F), UINT32_C(0x283AD765),
+          UINT32_C(0x62DC271A), UINT32_C(0x1FDFFBAC)}},
+        {{UINT32_C(0x95F80CA6), UINT32_C(0x2355C629), UINT32_C(0xCD8D880A),
+          UINT32_C(0x90AE1DBB), UINT32_C(0xC54117E0), UINT32_C(0x563CC122),
+          UINT32_C(0x813D7481), UINT32_C(0x1EF4991B)},
+         {UINT32_C(0xCCE9AEDE), UINT32_C(0x8A310D77), UINT32_C(0x9318642E),
+          UINT32_C(0xA401FAEF), UINT32_C(0xCF9AFDCB), UINT32_C(0xC1712A67),
+          UINT32_C(0xBE499DE5), UINT32_C(0x8D97374C)}},
+        {{UINT32_C(0x55A0BC07), UINT32_C(0x7437AA3B), UINT32_C(0xF726DD81),
+          UINT32_C(0x004946D0), UINT32_C(0x0F341860), UINT32_C(0x33D41D1B),
+          UINT32_C(0x17840F0D), UINT32_C(0x2A009EB5)},
+         {UINT32_C(0xAA0DCDCF), UINT32_C(0x158F59AE), UINT32_C(0xEAB42135),
+          UINT32_C(0xF686EF2D), UINT32_C(0x7A80C670), UINT32_C(0xFF6B8E82),
+          UINT32_C(0xA04DF944), UINT32_C(0x38646963)}},
+        {{UINT32_C(0x4B987E90), UINT32_C(0x6BB2705E), UINT32_C(0xD3C36316),
+          UINT32_C(0x2F5E2C4D), UINT32_C(0xE5A9ECEC), UINT32_C(0x41B38905),
+          UINT32_C(0x55BF8D1A), UINT32_C(0x2C6BA681)},
+         {UINT32_C(0x3C92B20B), UINT32_C(0x1121B3B2), UINT32_C(0x904305D5),
+          UINT32_C(0x6DE41B12), UINT32_C(0xD569EAC4), UINT32_C(0xA0496CF4),
+          UINT32_C(0x11E5CF90), UINT32_C(0x5C64A06C)}},
+        {{UINT32_C(0xE28783DF), UINT32_C(0xA65F12AB), UINT32_C(0x37322285),
+          UINT32_C(0x2A891B0F), UINT32_C(0x9811C4EB), UINT32_C(0xD6FF4604),
+          UINT32_C(0xA8505AC0), UINT32_C(0x7C960ED5)},
+         {UINT32_C(0x2FCA110D), UINT32_C(0xE8689377), UINT32_C(0x60FD893E),
+          UINT32_C(0x71AAE292), UINT32_C(0x7505671D), UINT32_C(0x8ADE5317),
+          UINT32_C(0x8C508791), UINT32_C(0x721A07A5)}},
+        {{UINT32_C(0xE5ECCA8C), UINT32_C(0xC1AE9A50), UINT32_C(0x07EB4329),
+          UINT32_C(0x7528AEF5), UINT32_C(0xD1297D88), UINT32_C(0x8F0D0E03),
+          UINT32_C(0x244BBC0C), UINT32_C(0x27C7BF76)},
+         {UINT32_C(0xC7E7E9BB), UINT32_C(0x96EEDA7C), UINT32_C(0xF96C99B3),
+          UINT32_C(0xC9749BF7), UINT32_C(0x467B4D43), UINT32_C(0x44C852D2),
+          UINT32_C(0x937FA21D), UINT32_C(0x1691D71D)}},
+        {{UINT32_C(0xF8058A68), UINT32_C(0x8CAC092F), UINT32_C(0xDAE38445),
+          UINT32_C(0x6B892BCF), UINT32_C(0x97D76059), UINT32_C(0x82CBECE5),
+          UINT32_C(0x3518F9E2), UINT32_C(0x5AEB6646)},
+         {UINT32_C(0x392080B4), UINT32_C(0xA39C710C), UINT32_C(0x1502DE54),
+          UINT32_C(0x575DC5F4), UINT32_C(0x3A3D2B4D), UINT32_C(0xA465DD5E),
+          UINT32_C(0x638EAF45), UINT32_C(0x281AAE47)}},
+    },
+    {
+        {{UINT32_C(0xE955A145), UINT32_C(0xBE40C92B), UINT32_C(0x324234B5),
+          UINT32_C(0xD464D6BC), UINT32_C(0xB09D4AF8), UINT32_C(0xE8084747),
+          UINT32_C(0x5268D6C3), UINT32_C(0x939C70BF)},
+         {UINT32_C(0xD1DDBB48), UINT32_C(0x9C9C9D25), UINT32_C(0x790B5B42),
+          UINT32_C(0x30D9EA7F), UINT32_C(0x4E3914B4), UINT32_C(0x367FD79B),
+          UINT32_C(0x826EE4D7), UINT32_C(0x27615F29)}},
+        {{UINT32_C(0x50A41246), UINT32_C(0x09BB6F16), UINT32_C(0xE5459A13),
+          UINT32_C(0xC72BFF7A), UINT32_C(0xFF09B2F7), UINT32_C(0x0FC15846),
+          UINT32_C(0x09CB693A), UINT32_C(0x6D904062)},
+         {UINT32_C(0xF40FC67D), UINT32_C(0x98A132F8), UINT32_C(0xDF37CBFA),
+          UINT32_C(0xC8B6573B), UINT32_C(0x99D7FC36), UINT32_C(0xC9CF9948),
+          UINT32_C(0xA7235DDB), UINT32_C(0x0DD66ABA)}},
+        {{UINT32_C(0xF96048BD), UINT32_C(0x0180B525), UINT32_C(0x544F1E70),
+          UINT32_C(0xEB566786), UINT32_C(0x8EF4373C), UINT32_C(0x8BABBF9B),
+          UINT32_C(0xD9E49178), UINT32_C(0x509BA431)},
+         {UINT32_C(0x65A4A201), UINT32_C(0xF961A6F5), UINT32_C(0x8D44ED2D),
+          UINT32_C(0xB6621DF9), UINT32_C(0xD7B4D744), UINT32_C(0xEADD3C0C),
+          UINT32_C(0x0EAAB110), UINT32_C(0x75D27E99)}},
+        {{UINT32_C(0x85DF5695), UINT32_C(0xEAC7AC76), UINT32_C(0xDA7540A3),
+          UINT32_C(0x02C26274), UINT32_C(0xC659B610), UINT32_C(0xDEC1BBC4),
+          UINT32_C(0x3AC61EEB), UINT32_C(0x54483C1B)},
+         {UINT32_C(0x217E0283), UINT32_C(0x8B91209A), UINT32_C(0x3A17DDFE),
+          UINT32_C(0x939FBDAF), UINT32_C(0x5BF98726), UINT32_C(0xA82C66D6),
+          UINT32_C(0x915AAC76), UINT32_C(0x2BA82FA0)}},
+        {{UINT32_C(0xAF4542E8), UINT32_C(0x99B324C1), UINT32_C(0xC0F225E0),
+          UINT32_C(0x16EBC66F), UINT32_C(0x27FEF57B), UINT32_C(0xEAE69563),
+          UINT32_C(0x961B03FA), UINT32_C(0x2996FE3C)},
+         {UINT32_C(0x4F967A68), UINT32_C(0x0835212E), UINT32_C(0xF44352DC),
+          UINT32_C(0x0AAABD99), UINT32_C(0x4B3A6B8D), UINT32_C(0x1874255F),
+          UINT32_C(0x6D10B369), UINT32_C(0x45F5D8B2)}},
+        {{UINT32_C(0xF7B7644B), UINT32_C(0x603DD497), UINT32_C(0x2D1386AA),
+          UINT32_C(0x369BE676), UINT32_C(0x14C9FA94), UINT32_C(0x08C1B763),
+          UINT32_C(0x384AF696), UINT32_C(0x734921D9)},
+         {UINT32_C(0xD76E8EEB), UINT32_C(0xA1B5AF5B), UINT32_C(0x42F990E8),
+          UINT32_C(0xB0EAE7A3), UINT32_C(0x069ED81D), UINT32_C(0x59E7C515),
+          UINT32_C(0xB5A50610), UINT32_C(0x2D1B5E62)}},
+        {{UINT32_C(0x85995BD3), UINT32_C(0xDC322810), UINT32_C(0x873E7A09),
+          UINT32_C(0x35A47B05), UINT32_C(0xA70DE932), UINT32_C(0x0CDFE9BB),
+          UINT32_C(0xD62FBC89), UINT32_C(0x049B899D)},
+         {UINT32_C(0x652291DB), UINT32_C(0xF6BAA860), UINT32_C(0x9AF7478F),
+          UINT32_C(0x58123B25), UINT32_C(0x47B9F204), UINT32_C(0xA05CCBC2),
+          UINT32_C(0x82D999A7), UINT32_C(0x8A0B479D)}},
+        {{UINT32_C(0x2D0F619A), UINT32_C(0xA72B9B52), UINT32_C(0x5919C420),
+          UINT32_C(0xE73B66F7), UINT32_C(0xD21CFEFE), UINT32_C(0x92319C86),
+          UINT32_C(0xF1635F0E), UINT32_C(0x58EEFC71)},
+         {UINT32_C(0xDA909290), UINT32_C(0xDC481783), UINT32_C(0x66316584),
+          UINT32_C(0x144E7A98), UINT32_C(0x45E1E3C8), UINT32_C(0xBD7E657F),
+          UINT32_C(0xBD93938C), UINT32_C(0x5C9FCD1C)}},
+        {{UINT32_C(0x436C1AB3), UINT32_C(0x2339E2FA), UINT32_C(0xC26768AA),
+          UINT32_C(0x69C22269), UINT32_C(0x40FCBD90), UINT32_C(0x94DFCAF4),
+          UINT32_C(0xC41D4F61), UINT32_C(0x56235739)},
+         {UINT32_C(0x718468D3), UINT32_C(0x6E50D4DB), UINT32_C(0xCADCEC6C),
+          UINT32_C(0xDEA80730), UINT32_C(0x63DC3C43), UINT32_C(0x924FF97E),
+          UINT32_C(0x6752EA6A), UINT32_C(0x1B652825)}},
+        {{UINT32_C(0xF07BE4BB), UINT32_C(0xAC2BDCDD), UINT32_C(0x8DB0A32D),
+          UINT32_C(0xB46D8E96), UINT32_C(0xB618488D), UINT32_C(0xDD661C68),
+          UINT32_C(0x75E1E4BF), UINT32_C(0x8ED22D4B)},
+         {UINT32_C(0x3C177D80), UINT32_C(0x5DD2E5DF), UINT32_C(0x82803711),
+          UINT32_C(0x5049C012), UINT32_C(0x73E0BA27), UINT32_C(0xFB243B3F),
+          UINT32_C(0x8C7810D5), UINT32_C(0x0C756BA0)}},
+        {{UINT32_C(0x6F16FBCA), UINT32_C(0xFC58F0BD), UINT32_C(0xA5E33B36),
+          UINT32_C(0xA855BB8C), UINT32_C(0x99D08247), UINT32_C(0xB9239EB4),
+          UINT32_C(0x49CAF40D), UINT32_C(0x27ABC78D)},
+         {UINT32_C(0xA1285278), UINT32_C(0x88BE1595), UINT32_C(0x60F16638),
+          UINT32_C(0x9D5AEE5B), UINT32_C(0x1FCE4327), UINT32_C(0x3F381529),
+          UINT32_C(0xF19CAA04), UINT32_C(0x17206899)}},
+        {{UINT32_C(0x9E047F55), UINT32_C(0x58616348), UINT32_C(0xE991FC4C),
+          UINT32_C(0x0D6098A5), UINT32_C(0x99A33914), UINT32_C(0x47760F98),
+          UINT32_C(0x5608C80E), UINT32_C(0x70C8F5D4)},
+         {UINT32_C(0x06036DBE), UINT32_C(0x405F1191), UINT32_C(0x80CC0A27),
+          UINT32_C(0xBF625895), UINT32_C(0x389FA7BF), UINT32_C(0xFB8A0330),
+          UINT32_C(0x1FA0CBB4), UINT32_C(0x22B0B946)}},
+        {{UINT32_C(0x1B1E2ACD), UINT32_C(0x84AE1981), UINT32_C(0x63961891),
+          UINT32_C(0xFA23C205), UINT32_C(0x742C1653), UINT32_C(0xCF4C685E),
+          UINT32_C(0x4D303078), UINT32_C(0x55BFC744)},
+         {UINT32_C(0xBA03AAE4), UINT32_C(0xEB131CBB), UINT32_C(0x2C5B9EAB),
+          UINT32_C(0xF338C0DB), UINT32_C(0xB7495209), UINT32_C(0xC1006396),
+          UINT32_C(0xF7E6A4E6), UINT32_C(0x0FD928CF)}},
+        {{UINT32_C(0x8633AB84), UINT32_C(0xA6BAC994), UINT32_C(0x75364642),
+          UINT32_C(0xC165BF5A), UINT32_C(0x8C57070D), UINT32_C(0xB70BEB47),
+          UINT32_C(0xD416322E), UINT32_C(0x838158A0)},
+         {UINT32_C(0xD4957751), UINT32_C(0x501D2BFD), UINT32_C(0xC23AA730),
+          UINT32_C(0xF1CDDF32), UINT32_C(0x5458F1C6), UINT32_C(0xF64558A8),
+          UINT32_C(0x06E1209C), UINT32_C(0x51B6DDE3)}},
+        {{UINT32_C(0xCC31D6BE), UINT32_C(0x0712C186), UINT32_C(0x33CD1D3F),
+          UINT32_C(0x91C4064A), UINT32_C(0xC7C91F53), UINT32_C(0xCADAE5B0),
+          UINT32_C(0xDEB2A2EE), UINT32_C(0x52AA408F)},
+         {UINT32_C(0x202719D5), UINT32_C(0x058675CC), UINT32_C(0x1D087D07),
+          UINT32_C(0x444F99F5), UINT32_C(0x9D7A8AF4), UINT32_C(0x4DB587E8),
+          UINT32_C(0xDA17095A), UINT32_C(0x389376F5)}},
+        {{UINT32_C(0x48FED385), UINT32_C(0x8262D370), UINT32_C(0x1AE92689),
+          UINT32_C(0x3B1FB466), UINT32_C(0x24242CF4), UINT32_C(0xDA6F570F),
+          UINT32_C(0x0DEAC5E9), UINT32_C(0x0532FC9E)},
+         {UINT32_C(0x20C5BD7B), UINT32_C(0x5E8FB740), UINT32_C(0x002624B3),
+          UINT32_C(0x5AE99925), UINT32_C(0x7AFADC15), UINT32_C(0xAD44A4D5),
+          UINT32_C(0xDF409330), UINT32_C(0x6AECBC80)}},
+    }};
+
+/*-
+ * Q := 2P, both projective, Q and P same pointers OK
+ * Autogenerated: op3/dbl_proj.op3
+ * https://eprint.iacr.org/2015/1060 Alg 6
+ * ASSERT: a = -3
+ */
+static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
+    /* temporary variables */
+    fe_t t0, t1, t2, t3, t4;
+    /* constants */
+    const limb_t *b = const_b;
+    /* set pointers for legacy 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 *Z3 = Q->Z;
+
+    /* the curve arith formula */
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(t0, X);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(t1, Y);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_square(t2, Z);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t3, X, Y);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, t3, t3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t4, Y, Z);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, X, Z);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, b, t2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, Y3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, X3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, t1, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, t1, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, X3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(X3, X3, t3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, t2, t2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t2, t2, t3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, b, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Z3, Z3, t2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Z3, Z3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, Z3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, t3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, t0, t0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t0, t3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t0, t0, t2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t0, t0, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, Y3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t0, t4, t4);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, t0, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, X3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, t0, t1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, Z3);
+}
+
+/*-
+ * 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.op3
+ * https://eprint.iacr.org/2015/1060 Alg 5
+ * ASSERT: a = -3
+ */
+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, t4;
+    /* constants */
+    const limb_t *b = const_b;
+    /* set pointers for legacy curve arith */
+    const limb_t *X1 = Q->X;
+    const limb_t *Y1 = Q->Y;
+    const limb_t *Z1 = Q->Z;
+    const limb_t *X2 = P->X;
+    const limb_t *Y2 = P->Y;
+    fe_t X3;
+    fe_t Y3;
+    fe_t Z3;
+    limb_t nz;
+
+    /* check P for affine inf */
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_nonzero(&nz, P->Y);
+
+    /* the curve arith formula */
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t0, X1, X2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, Y1, Y2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, X2, Y2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, X1, Y1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t3, t3, t4);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, t0, t1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t3, t3, t4);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t4, Y2, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, t4, Y1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, X2, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, Y3, X1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, b, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, Y3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, X3, X3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, X3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Z3, t1, X3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, t1, X3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, b, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, Z1, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t2, t1, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, t2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, Y3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, t1, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, t0, t0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t0, t1, t0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t0, t0, t2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, t4, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t2, t0, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, X3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, Y3, t2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(X3, t3, X3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, X3, t1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, t4, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, t3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, t1);
+
+    /* if P is inf, throw all that away and take Q */
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(R->X, nz, Q->X, X3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(R->Y, nz, Q->Y, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(R->Z, nz, Q->Z, Z3);
+}
+
+/*-
+ * R := Q + P all projective.
+ * R and Q same pointers OK
+ * R and P same pointers not OK
+ * Autogenerated: op3/add_proj.op3
+ * https://eprint.iacr.org/2015/1060 Alg 4
+ * ASSERT: a = -3
+ */
+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, t4, t5;
+    /* constants */
+    const limb_t *b = const_b;
+    /* set pointers for legacy curve arith */
+    const limb_t *X1 = Q->X;
+    const limb_t *Y1 = Q->Y;
+    const limb_t *Z1 = Q->Z;
+    const limb_t *X2 = P->X;
+    const limb_t *Y2 = P->Y;
+    const limb_t *Z2 = P->Z;
+    limb_t *X3 = R->X;
+    limb_t *Y3 = R->Y;
+    limb_t *Z3 = R->Z;
+
+    /* the curve arith formula */
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t0, X1, X2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, Y1, Y2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t2, Z1, Z2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t3, X1, Y1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, X2, Y2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t3, t3, t4);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, t0, t1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t3, t3, t4);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t4, Y1, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t5, Y2, Z2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t4, t4, t5);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t5, t1, t2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t4, t4, t5);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, X1, Z1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, X2, Z2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(X3, X3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, t0, t2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, X3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, b, t2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, Y3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, X3, X3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, X3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Z3, t1, X3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(X3, t1, X3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, b, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, t2, t2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t2, t1, t2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, t2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(Y3, Y3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, Y3, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, t1, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t1, t0, t0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(t0, t1, t0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(t0, t0, t2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, t4, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t2, t0, Y3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Y3, X3, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Y3, Y3, t2);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(X3, t3, X3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_sub(X3, X3, t1);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(Z3, t4, Z3);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(t1, t3, t0);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_add(Z3, Z3, t1);
+}
+
+/* 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;
+
+    fe_copy(precomp[0].X, P->X);
+    fe_copy(precomp[0].Y, P->Y);
+    fe_copy(precomp[0].Z, const_one);
+    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[32], int idx) {
+    int widx, rshift;
+
+    widx = idx >> 3;
+    rshift = idx & 0x7;
+
+    if (idx < 0 || widx >= 32) 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[52], const unsigned char in[32]) {
+    int i;
+    char window, d;
+
+    window = (in[0] & (DRADIX_WNAF - 1)) | 1;
+    for (i = 0; i < 51; 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[257], const unsigned char in[32]) {
+    int i;
+    char window, d;
+
+    window = in[0] & (DRADIX_WNAF - 1);
+    for (i = 0; i < 257; 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[32],
+                              const unsigned char b[32], const pt_aff_t *P) {
+    int i, d, is_neg, is_inf = 1, flipped = 0;
+    char anaf[257] = {0};
+    char bnaf[257] = {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 = 256; i >= 0; i--) {
+        if (!is_inf) point_double(&Q, &Q);
+        if ((d = bnaf[i])) {
+            if ((is_neg = d < 0) != flipped) {
+                fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(Q.Y, Q.Y);
+                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.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_GostR3410_2001_CryptoPro_C_ParamSet_opp(Q.Y, Q.Y);
+                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.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.Z);
+    }
+
+    if (flipped) {
+        /* correct sign */
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(Q.Y, Q.Y);
+    }
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_inv(Q.Z, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->X, Q.X, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_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[32],
+                           const pt_aff_t *P) {
+    int i, j, d, diff, is_neg;
+    char rnaf[52] = {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[51] - 1) >> 1;
+    for (j = 0; j < DRADIX / 2; j++) {
+        diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.X, diff, Q.X,
+                                                              precomp[j].X);
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Y, diff, Q.Y,
+                                                              precomp[j].Y);
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Z, diff, Q.Z,
+                                                              precomp[j].Z);
+    }
+
+    for (i = 50; 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_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
+                lut.X, diff, lut.X, precomp[j].X);
+            fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
+                lut.Y, diff, lut.Y, precomp[j].Y);
+            fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
+                lut.Z, diff, lut.Z, precomp[j].Z);
+        }
+        /* negate lut point if digit is negative */
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(out->Y, lut.Y);
+        fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(lut.Y, is_neg,
+                                                              lut.Y, out->Y);
+        point_add_proj(&Q, &Q, &lut);
+    }
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
+
+    /* conditionally subtract P if the scalar was even */
+    fe_copy(lut.X, precomp[0].X);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(lut.Y, precomp[0].Y);
+    fe_copy(lut.Z, precomp[0].Z);
+    point_add_proj(&lut, &lut, &Q);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.X, scalar[0] & 1,
+                                                          lut.X, Q.X);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Y, scalar[0] & 1,
+                                                          lut.Y, Q.Y);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Z, scalar[0] & 1,
+                                                          lut.Z, Q.Z);
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_inv(Q.Z, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->X, Q.X, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_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[32]) {
+    int i, j, k, d, diff, is_neg = 0;
+    char rnaf[52] = {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.Z);
+
+#if defined(_MSC_VER)
+    /* result still unsigned: yes we know */
+#pragma warning(push)
+#pragma warning(disable : 4146)
+#endif
+
+    for (i = 1; i >= 0; i--) {
+        for (j = 0; i != 1 && j < RADIX; j++) point_double(&Q, &Q);
+        for (j = 0; j < 27; j++) {
+            if (j * 2 + i > 51) continue;
+            d = rnaf[j * 2 + 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_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
+                    lut.X, diff, lut.X, lut_cmb[j][k].X);
+                fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
+                    lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
+            }
+            /* negate lut point if digit is negative */
+            fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(out->Y, lut.Y);
+            fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(
+                lut.Y, is_neg, lut.Y, out->Y);
+            point_add_mixed(&Q, &Q, &lut);
+        }
+    }
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
+
+    /* conditionally subtract P if the scalar was even */
+    fe_copy(lut.X, lut_cmb[0][0].X);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_opp(lut.Y, lut_cmb[0][0].Y);
+    point_add_mixed(&R, &Q, &lut);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.X, scalar[0] & 1,
+                                                          R.X, Q.X);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Y, scalar[0] & 1,
+                                                          R.Y, Q.Y);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_selectznz(Q.Z, scalar[0] & 1,
+                                                          R.Z, Q.Z);
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_inv(Q.Z, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->X, Q.X, Q.Z);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_mul(out->Y, Q.Y, Q.Z);
+}
+
+static void point_mul_two(unsigned char outx[32], unsigned char outy[32],
+                          const unsigned char a[32], const unsigned char b[32],
+                          const unsigned char inx[32],
+                          const unsigned char iny[32]) {
+    pt_aff_t P;
+
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(P.X, inx);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(P.Y, iny);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(P.X, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(P.Y, P.Y);
+    /* simultaneous scalar multiplication */
+    var_smul_wnaf_two(&P, a, b, &P);
+
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.X, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.Y, P.Y);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outx, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outy, P.Y);
+}
+
+static void point_mul_g(unsigned char outx[32], unsigned char outy[32],
+                        const unsigned char scalar[32]) {
+    pt_aff_t P;
+
+    /* fixed scmul function */
+    fixed_smul_cmb(&P, scalar);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.X, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.Y, P.Y);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outx, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outy, P.Y);
+}
+
+static void point_mul(unsigned char outx[32], unsigned char outy[32],
+                      const unsigned char scalar[32],
+                      const unsigned char inx[32],
+                      const unsigned char iny[32]) {
+    pt_aff_t P;
+
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(P.X, inx);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_bytes(P.Y, iny);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(P.X, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_montgomery(P.Y, P.Y);
+    /* var scmul function */
+    var_smul_rwnaf(&P, scalar, &P);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.X, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_from_montgomery(P.Y, P.Y);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outx, P.X);
+    fiat_id_GostR3410_2001_CryptoPro_C_ParamSet_to_bytes(outy, P.Y);
+}
+
+#include <openssl/ec.h>
+
+static const unsigned char const_zb[32] = {0};
+
+    int
+    point_mul_two_id_GostR3410_2001_CryptoPro_C_ParamSet(
+        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[32];
+    unsigned char b_y[32];
+    unsigned char b_n[32];
+    unsigned char b_m[32];
+    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, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
+        BN_bn2lebinpad(n, b_n, 32) != 32 || BN_bn2lebinpad(m, b_m, 32) != 32)
+        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, 32) == 0 &&
+        CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
+        if (!EC_POINT_set_to_infinity(group, r)) goto err;
+    } else {
+        /* otherwise, pack the bytes into the result */
+        if (BN_lebin2bn(b_x, 32, x) == NULL ||
+            BN_lebin2bn(b_y, 32, 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_GostR3410_2001_CryptoPro_C_ParamSet(const EC_GROUP *group,
+                                                     EC_POINT *r,
+                                                     const EC_POINT *q,
+                                                     const BIGNUM *m,
+                                                     BN_CTX *ctx) {
+    int ret = 0;
+    unsigned char b_x[32];
+    unsigned char b_y[32];
+    unsigned char b_m[32];
+    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, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
+        BN_bn2lebinpad(m, b_m, 32) != 32)
+        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, 32) == 0 &&
+        CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
+        if (!EC_POINT_set_to_infinity(group, r)) goto err;
+    } else {
+        /* otherwise, pack the bytes into the result */
+        if (BN_lebin2bn(b_x, 32, x) == NULL ||
+            BN_lebin2bn(b_y, 32, 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_GostR3410_2001_CryptoPro_C_ParamSet(const EC_GROUP *group,
+                                                       EC_POINT *r,
+                                                       const BIGNUM *n,
+                                                       BN_CTX *ctx) {
+    int ret = 0;
+    unsigned char b_x[32];
+    unsigned char b_y[32];
+    unsigned char b_n[32];
+    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, 32) != 32)
+        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, 32) == 0 &&
+        CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
+        if (!EC_POINT_set_to_infinity(group, r)) goto err;
+    } else {
+        /* otherwise, pack the bytes into the result */
+        if (BN_lebin2bn(b_x, 32, x) == NULL ||
+            BN_lebin2bn(b_y, 32, 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__ */
diff --git a/ecp_id_GostR3410_2001_TestParamSet.c b/ecp_id_GostR3410_2001_TestParamSet.c
new file mode 100644 (file)
index 0000000..71f1b23
--- /dev/null
@@ -0,0 +1,11525 @@
+/* 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 4
+/* 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))
+
+/* Projective points */
+typedef struct {
+    fe_t X;
+    fe_t Y;
+    fe_t Z;
+} pt_prj_t;
+
+/* Affine points */
+typedef struct {
+    fe_t X;
+    fe_t Y;
+} 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: word_by_word_montgomery --static id_GostR3410_2001_TestParamSet 64 '2^255 + 1073' */
+/* curve description: id_GostR3410_2001_TestParamSet */
+/* machine_wordsize = 64 (from "64") */
+/* requested operations: (all) */
+/* m = 0x8000000000000000000000000000000000000000000000000000000000000431 (from "2^255 + 1073") */
+/*                                                                    */
+/* NOTE: In addition to the bounds specified above each function, all */
+/*   functions synthesized for this Montgomery arithmetic require the */
+/*   input to be strictly less than the prime modulus (m), and also   */
+/*   require the input to be in the unique saturated representation.  */
+/*   All functions also ensure that these two properties are true of  */
+/*   return values.                                                   */
+/*  */
+/* Computed values: */
+/* eval z = z[0] + (z[1] << 64) + (z[2] << 128) + (z[3] << 192) */
+/* 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) */
+
+#include <stdint.h>
+typedef unsigned char fiat_id_GostR3410_2001_TestParamSet_uint1;
+typedef signed char fiat_id_GostR3410_2001_TestParamSet_int1;
+typedef signed __int128 fiat_id_GostR3410_2001_TestParamSet_int128;
+typedef unsigned __int128 fiat_id_GostR3410_2001_TestParamSet_uint128;
+
+#if (-1 & 3) != 3
+#error "This code only works on a two's complement system"
+#endif
+
+/*
+ * The function fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64 is an addition with carry.
+ * Postconditions:
+ *   out1 = (arg1 + arg2 + arg3) mod 2^64
+ *   out2 = ⌊(arg1 + arg2 + arg3) / 2^64⌋
+ *
+ * Input Bounds:
+ *   arg1: [0x0 ~> 0x1]
+ *   arg2: [0x0 ~> 0xffffffffffffffff]
+ *   arg3: [0x0 ~> 0xffffffffffffffff]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffffffffffffff]
+ *   out2: [0x0 ~> 0x1]
+ */
+static void fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(
+    uint64_t *out1, fiat_id_GostR3410_2001_TestParamSet_uint1 *out2,
+    fiat_id_GostR3410_2001_TestParamSet_uint1 arg1, uint64_t arg2,
+    uint64_t arg3) {
+    fiat_id_GostR3410_2001_TestParamSet_uint128 x1;
+    uint64_t x2;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x3;
+    x1 = ((arg1 + (fiat_id_GostR3410_2001_TestParamSet_uint128)arg2) + arg3);
+    x2 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
+    x3 = (fiat_id_GostR3410_2001_TestParamSet_uint1)(x1 >> 64);
+    *out1 = x2;
+    *out2 = x3;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64 is a subtraction with borrow.
+ * Postconditions:
+ *   out1 = (-arg1 + arg2 + -arg3) mod 2^64
+ *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^64⌋
+ *
+ * Input Bounds:
+ *   arg1: [0x0 ~> 0x1]
+ *   arg2: [0x0 ~> 0xffffffffffffffff]
+ *   arg3: [0x0 ~> 0xffffffffffffffff]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffffffffffffff]
+ *   out2: [0x0 ~> 0x1]
+ */
+static void fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(
+    uint64_t *out1, fiat_id_GostR3410_2001_TestParamSet_uint1 *out2,
+    fiat_id_GostR3410_2001_TestParamSet_uint1 arg1, uint64_t arg2,
+    uint64_t arg3) {
+    fiat_id_GostR3410_2001_TestParamSet_int128 x1;
+    fiat_id_GostR3410_2001_TestParamSet_int1 x2;
+    uint64_t x3;
+    x1 = ((arg2 - (fiat_id_GostR3410_2001_TestParamSet_int128)arg1) - arg3);
+    x2 = (fiat_id_GostR3410_2001_TestParamSet_int1)(x1 >> 64);
+    x3 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
+    *out1 = x3;
+    *out2 = (fiat_id_GostR3410_2001_TestParamSet_uint1)(0x0 - x2);
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_TestParamSet_mulx_u64 is a multiplication, returning the full double-width result.
+ * Postconditions:
+ *   out1 = (arg1 * arg2) mod 2^64
+ *   out2 = ⌊arg1 * arg2 / 2^64⌋
+ *
+ * Input Bounds:
+ *   arg1: [0x0 ~> 0xffffffffffffffff]
+ *   arg2: [0x0 ~> 0xffffffffffffffff]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffffffffffffff]
+ *   out2: [0x0 ~> 0xffffffffffffffff]
+ */
+static void fiat_id_GostR3410_2001_TestParamSet_mulx_u64(uint64_t *out1,
+                                                         uint64_t *out2,
+                                                         uint64_t arg1,
+                                                         uint64_t arg2) {
+    fiat_id_GostR3410_2001_TestParamSet_uint128 x1;
+    uint64_t x2;
+    uint64_t x3;
+    x1 = ((fiat_id_GostR3410_2001_TestParamSet_uint128)arg1 * arg2);
+    x2 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
+    x3 = (uint64_t)(x1 >> 64);
+    *out1 = x2;
+    *out2 = x3;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_TestParamSet_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_GostR3410_2001_TestParamSet_cmovznz_u64(
+    uint64_t *out1, fiat_id_GostR3410_2001_TestParamSet_uint1 arg1,
+    uint64_t arg2, uint64_t arg3) {
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x1;
+    uint64_t x2;
+    uint64_t x3;
+    x1 = (!(!arg1));
+    x2 = ((fiat_id_GostR3410_2001_TestParamSet_int1)(0x0 - x1) &
+          UINT64_C(0xffffffffffffffff));
+    x3 = ((x2 & arg3) | ((~x2) & arg2));
+    *out1 = x3;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_TestParamSet_mul multiplies two field elements in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ *   0 ≤ eval arg2 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg2)) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_id_GostR3410_2001_TestParamSet_mul(uint64_t out1[4],
+                                                    const uint64_t arg1[4],
+                                                    const uint64_t arg2[4]) {
+    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;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x14;
+    uint64_t x15;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x16;
+    uint64_t x17;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 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;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x27;
+    uint64_t x28;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x29;
+    uint64_t x30;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x31;
+    uint64_t x32;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x33;
+    uint64_t x34;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 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;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x45;
+    uint64_t x46;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x47;
+    uint64_t x48;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x49;
+    uint64_t x50;
+    uint64_t x51;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x52;
+    uint64_t x53;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x54;
+    uint64_t x55;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x56;
+    uint64_t x57;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x58;
+    uint64_t x59;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x60;
+    uint64_t x61;
+    uint64_t x62;
+    uint64_t x63;
+    uint64_t x64;
+    uint64_t x65;
+    uint64_t x66;
+    uint64_t x67;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x68;
+    uint64_t x69;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x70;
+    uint64_t x71;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x72;
+    uint64_t x73;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x74;
+    uint64_t x75;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 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;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x87;
+    uint64_t x88;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x89;
+    uint64_t x90;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x91;
+    uint64_t x92;
+    uint64_t x93;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x94;
+    uint64_t x95;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x96;
+    uint64_t x97;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x98;
+    uint64_t x99;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x100;
+    uint64_t x101;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x102;
+    uint64_t x103;
+    uint64_t x104;
+    uint64_t x105;
+    uint64_t x106;
+    uint64_t x107;
+    uint64_t x108;
+    uint64_t x109;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x110;
+    uint64_t x111;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x112;
+    uint64_t x113;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x114;
+    uint64_t x115;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x116;
+    uint64_t x117;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 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;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x129;
+    uint64_t x130;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x131;
+    uint64_t x132;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x133;
+    uint64_t x134;
+    uint64_t x135;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x136;
+    uint64_t x137;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x138;
+    uint64_t x139;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x140;
+    uint64_t x141;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x142;
+    uint64_t x143;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x144;
+    uint64_t x145;
+    uint64_t x146;
+    uint64_t x147;
+    uint64_t x148;
+    uint64_t x149;
+    uint64_t x150;
+    uint64_t x151;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x152;
+    uint64_t x153;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x154;
+    uint64_t x155;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x156;
+    uint64_t x157;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x158;
+    uint64_t x159;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x160;
+    uint64_t x161;
+    uint64_t x162;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x163;
+    uint64_t x164;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x165;
+    uint64_t x166;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x167;
+    uint64_t x168;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x169;
+    uint64_t x170;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x171;
+    uint64_t x172;
+    uint64_t x173;
+    uint64_t x174;
+    uint64_t x175;
+    x1 = (arg1[1]);
+    x2 = (arg1[2]);
+    x3 = (arg1[3]);
+    x4 = (arg1[0]);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x5, &x6, x4, (arg2[3]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x7, &x8, x4, (arg2[2]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x9, &x10, x4, (arg2[1]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x11, &x12, x4, (arg2[0]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x13, &x14, 0x0, x12, x9);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x15, &x16, x14, x10, x7);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x17, &x18, x16, x8, x5);
+    x19 = (x18 + x6);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x20, &x21, x11,
+                                                 UINT64_C(0xdbf951d5883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x22, &x23, x20,
+                                                 UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x24, &x25, x20,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x26, &x27, 0x0, x11,
+                                                      x24);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x28, &x29, x27, x13,
+                                                      x25);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x30, &x31, x29, x15,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x32, &x33, x31, x17,
+                                                      x22);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x34, &x35, x33, x19,
+                                                      x23);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x36, &x37, x1, (arg2[3]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x38, &x39, x1, (arg2[2]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x40, &x41, x1, (arg2[1]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x42, &x43, x1, (arg2[0]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x44, &x45, 0x0, x43,
+                                                      x40);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x46, &x47, x45, x41,
+                                                      x38);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x48, &x49, x47, x39,
+                                                      x36);
+    x50 = (x49 + x37);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x51, &x52, 0x0, x28,
+                                                      x42);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x53, &x54, x52, x30,
+                                                      x44);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x55, &x56, x54, x32,
+                                                      x46);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x57, &x58, x56, x34,
+                                                      x48);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x59, &x60, x58, x35,
+                                                      x50);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x61, &x62, x51,
+                                                 UINT64_C(0xdbf951d5883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x63, &x64, x61,
+                                                 UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x65, &x66, x61,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x67, &x68, 0x0, x51,
+                                                      x65);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x69, &x70, x68, x53,
+                                                      x66);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x71, &x72, x70, x55,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x73, &x74, x72, x57,
+                                                      x63);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x75, &x76, x74, x59,
+                                                      x64);
+    x77 = ((uint64_t)x76 + x60);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x78, &x79, x2, (arg2[3]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x80, &x81, x2, (arg2[2]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x82, &x83, x2, (arg2[1]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x84, &x85, x2, (arg2[0]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x86, &x87, 0x0, x85,
+                                                      x82);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x88, &x89, x87, x83,
+                                                      x80);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x90, &x91, x89, x81,
+                                                      x78);
+    x92 = (x91 + x79);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x93, &x94, 0x0, x69,
+                                                      x84);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x95, &x96, x94, x71,
+                                                      x86);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x97, &x98, x96, x73,
+                                                      x88);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x99, &x100, x98, x75,
+                                                      x90);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x101, &x102, x100, x77,
+                                                      x92);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x103, &x104, x93,
+                                                 UINT64_C(0xdbf951d5883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x105, &x106, x103,
+                                                 UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x107, &x108, x103,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x109, &x110, 0x0, x93,
+                                                      x107);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x111, &x112, x110, x95,
+                                                      x108);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x113, &x114, x112, x97,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x115, &x116, x114, x99,
+                                                      x105);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x117, &x118, x116, x101,
+                                                      x106);
+    x119 = ((uint64_t)x118 + x102);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x120, &x121, x3, (arg2[3]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x122, &x123, x3, (arg2[2]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x124, &x125, x3, (arg2[1]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x126, &x127, x3, (arg2[0]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x128, &x129, 0x0, x127,
+                                                      x124);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x130, &x131, x129, x125,
+                                                      x122);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x132, &x133, x131, x123,
+                                                      x120);
+    x134 = (x133 + x121);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x135, &x136, 0x0, x111,
+                                                      x126);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x137, &x138, x136, x113,
+                                                      x128);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x139, &x140, x138, x115,
+                                                      x130);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x141, &x142, x140, x117,
+                                                      x132);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x143, &x144, x142, x119,
+                                                      x134);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x145, &x146, x135,
+                                                 UINT64_C(0xdbf951d5883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x147, &x148, x145,
+                                                 UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x149, &x150, x145,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x151, &x152, 0x0, x135,
+                                                      x149);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x153, &x154, x152, x137,
+                                                      x150);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x155, &x156, x154, x139,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x157, &x158, x156, x141,
+                                                      x147);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x159, &x160, x158, x143,
+                                                      x148);
+    x161 = ((uint64_t)x160 + x144);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x162, &x163, 0x0, x153,
+                                                       UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x164, &x165, x163, x155,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x166, &x167, x165, x157,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(
+        &x168, &x169, x167, x159, UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x170, &x171, x169, x161,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x172, x171, x162, x153);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x173, x171, x164, x155);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x174, x171, x166, x157);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x175, x171, x168, x159);
+    out1[0] = x172;
+    out1[1] = x173;
+    out1[2] = x174;
+    out1[3] = x175;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_TestParamSet_square squares a field element in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg1)) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_id_GostR3410_2001_TestParamSet_square(uint64_t out1[4],
+                                                       const uint64_t arg1[4]) {
+    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;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x14;
+    uint64_t x15;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x16;
+    uint64_t x17;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 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;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x27;
+    uint64_t x28;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x29;
+    uint64_t x30;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x31;
+    uint64_t x32;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x33;
+    uint64_t x34;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 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;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x45;
+    uint64_t x46;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x47;
+    uint64_t x48;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x49;
+    uint64_t x50;
+    uint64_t x51;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x52;
+    uint64_t x53;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x54;
+    uint64_t x55;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x56;
+    uint64_t x57;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x58;
+    uint64_t x59;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x60;
+    uint64_t x61;
+    uint64_t x62;
+    uint64_t x63;
+    uint64_t x64;
+    uint64_t x65;
+    uint64_t x66;
+    uint64_t x67;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x68;
+    uint64_t x69;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x70;
+    uint64_t x71;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x72;
+    uint64_t x73;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x74;
+    uint64_t x75;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 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;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x87;
+    uint64_t x88;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x89;
+    uint64_t x90;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x91;
+    uint64_t x92;
+    uint64_t x93;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x94;
+    uint64_t x95;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x96;
+    uint64_t x97;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x98;
+    uint64_t x99;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x100;
+    uint64_t x101;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x102;
+    uint64_t x103;
+    uint64_t x104;
+    uint64_t x105;
+    uint64_t x106;
+    uint64_t x107;
+    uint64_t x108;
+    uint64_t x109;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x110;
+    uint64_t x111;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x112;
+    uint64_t x113;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x114;
+    uint64_t x115;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x116;
+    uint64_t x117;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 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;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x129;
+    uint64_t x130;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x131;
+    uint64_t x132;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x133;
+    uint64_t x134;
+    uint64_t x135;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x136;
+    uint64_t x137;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x138;
+    uint64_t x139;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x140;
+    uint64_t x141;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x142;
+    uint64_t x143;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x144;
+    uint64_t x145;
+    uint64_t x146;
+    uint64_t x147;
+    uint64_t x148;
+    uint64_t x149;
+    uint64_t x150;
+    uint64_t x151;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x152;
+    uint64_t x153;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x154;
+    uint64_t x155;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x156;
+    uint64_t x157;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x158;
+    uint64_t x159;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x160;
+    uint64_t x161;
+    uint64_t x162;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x163;
+    uint64_t x164;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x165;
+    uint64_t x166;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x167;
+    uint64_t x168;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x169;
+    uint64_t x170;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x171;
+    uint64_t x172;
+    uint64_t x173;
+    uint64_t x174;
+    uint64_t x175;
+    x1 = (arg1[1]);
+    x2 = (arg1[2]);
+    x3 = (arg1[3]);
+    x4 = (arg1[0]);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x5, &x6, x4, (arg1[3]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x7, &x8, x4, (arg1[2]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x9, &x10, x4, (arg1[1]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x11, &x12, x4, (arg1[0]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x13, &x14, 0x0, x12, x9);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x15, &x16, x14, x10, x7);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x17, &x18, x16, x8, x5);
+    x19 = (x18 + x6);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x20, &x21, x11,
+                                                 UINT64_C(0xdbf951d5883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x22, &x23, x20,
+                                                 UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x24, &x25, x20,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x26, &x27, 0x0, x11,
+                                                      x24);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x28, &x29, x27, x13,
+                                                      x25);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x30, &x31, x29, x15,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x32, &x33, x31, x17,
+                                                      x22);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x34, &x35, x33, x19,
+                                                      x23);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x36, &x37, x1, (arg1[3]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x38, &x39, x1, (arg1[2]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x40, &x41, x1, (arg1[1]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x42, &x43, x1, (arg1[0]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x44, &x45, 0x0, x43,
+                                                      x40);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x46, &x47, x45, x41,
+                                                      x38);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x48, &x49, x47, x39,
+                                                      x36);
+    x50 = (x49 + x37);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x51, &x52, 0x0, x28,
+                                                      x42);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x53, &x54, x52, x30,
+                                                      x44);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x55, &x56, x54, x32,
+                                                      x46);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x57, &x58, x56, x34,
+                                                      x48);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x59, &x60, x58, x35,
+                                                      x50);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x61, &x62, x51,
+                                                 UINT64_C(0xdbf951d5883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x63, &x64, x61,
+                                                 UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x65, &x66, x61,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x67, &x68, 0x0, x51,
+                                                      x65);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x69, &x70, x68, x53,
+                                                      x66);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x71, &x72, x70, x55,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x73, &x74, x72, x57,
+                                                      x63);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x75, &x76, x74, x59,
+                                                      x64);
+    x77 = ((uint64_t)x76 + x60);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x78, &x79, x2, (arg1[3]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x80, &x81, x2, (arg1[2]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x82, &x83, x2, (arg1[1]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x84, &x85, x2, (arg1[0]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x86, &x87, 0x0, x85,
+                                                      x82);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x88, &x89, x87, x83,
+                                                      x80);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x90, &x91, x89, x81,
+                                                      x78);
+    x92 = (x91 + x79);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x93, &x94, 0x0, x69,
+                                                      x84);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x95, &x96, x94, x71,
+                                                      x86);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x97, &x98, x96, x73,
+                                                      x88);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x99, &x100, x98, x75,
+                                                      x90);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x101, &x102, x100, x77,
+                                                      x92);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x103, &x104, x93,
+                                                 UINT64_C(0xdbf951d5883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x105, &x106, x103,
+                                                 UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x107, &x108, x103,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x109, &x110, 0x0, x93,
+                                                      x107);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x111, &x112, x110, x95,
+                                                      x108);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x113, &x114, x112, x97,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x115, &x116, x114, x99,
+                                                      x105);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x117, &x118, x116, x101,
+                                                      x106);
+    x119 = ((uint64_t)x118 + x102);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x120, &x121, x3, (arg1[3]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x122, &x123, x3, (arg1[2]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x124, &x125, x3, (arg1[1]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x126, &x127, x3, (arg1[0]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x128, &x129, 0x0, x127,
+                                                      x124);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x130, &x131, x129, x125,
+                                                      x122);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x132, &x133, x131, x123,
+                                                      x120);
+    x134 = (x133 + x121);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x135, &x136, 0x0, x111,
+                                                      x126);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x137, &x138, x136, x113,
+                                                      x128);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x139, &x140, x138, x115,
+                                                      x130);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x141, &x142, x140, x117,
+                                                      x132);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x143, &x144, x142, x119,
+                                                      x134);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x145, &x146, x135,
+                                                 UINT64_C(0xdbf951d5883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x147, &x148, x145,
+                                                 UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x149, &x150, x145,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x151, &x152, 0x0, x135,
+                                                      x149);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x153, &x154, x152, x137,
+                                                      x150);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x155, &x156, x154, x139,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x157, &x158, x156, x141,
+                                                      x147);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x159, &x160, x158, x143,
+                                                      x148);
+    x161 = ((uint64_t)x160 + x144);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x162, &x163, 0x0, x153,
+                                                       UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x164, &x165, x163, x155,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x166, &x167, x165, x157,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(
+        &x168, &x169, x167, x159, UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x170, &x171, x169, x161,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x172, x171, x162, x153);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x173, x171, x164, x155);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x174, x171, x166, x157);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x175, x171, x168, x159);
+    out1[0] = x172;
+    out1[1] = x173;
+    out1[2] = x174;
+    out1[3] = x175;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_TestParamSet_add adds two field elements in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ *   0 ≤ eval arg2 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) + eval (from_montgomery arg2)) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_id_GostR3410_2001_TestParamSet_add(uint64_t out1[4],
+                                                    const uint64_t arg1[4],
+                                                    const uint64_t arg2[4]) {
+    uint64_t x1;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x2;
+    uint64_t x3;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x4;
+    uint64_t x5;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x6;
+    uint64_t x7;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x8;
+    uint64_t x9;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x10;
+    uint64_t x11;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x12;
+    uint64_t x13;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x14;
+    uint64_t x15;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x16;
+    uint64_t x17;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x18;
+    uint64_t x19;
+    uint64_t x20;
+    uint64_t x21;
+    uint64_t x22;
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x1, &x2, 0x0, (arg1[0]),
+                                                      (arg2[0]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x3, &x4, x2, (arg1[1]),
+                                                      (arg2[1]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x5, &x6, x4, (arg1[2]),
+                                                      (arg2[2]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x7, &x8, x6, (arg1[3]),
+                                                      (arg2[3]));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x9, &x10, 0x0, x1,
+                                                       UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x11, &x12, x10, x3,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x13, &x14, x12, x5,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(
+        &x15, &x16, x14, x7, UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x17, &x18, x16, x8,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x19, x18, x9, x1);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x20, x18, x11, x3);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x21, x18, x13, x5);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x22, x18, x15, x7);
+    out1[0] = x19;
+    out1[1] = x20;
+    out1[2] = x21;
+    out1[3] = x22;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_TestParamSet_sub subtracts two field elements in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ *   0 ≤ eval arg2 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) - eval (from_montgomery arg2)) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_id_GostR3410_2001_TestParamSet_sub(uint64_t out1[4],
+                                                    const uint64_t arg1[4],
+                                                    const uint64_t arg2[4]) {
+    uint64_t x1;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x2;
+    uint64_t x3;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x4;
+    uint64_t x5;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x6;
+    uint64_t x7;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x8;
+    uint64_t x9;
+    uint64_t x10;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x11;
+    uint64_t x12;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x13;
+    uint64_t x14;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x15;
+    uint64_t x16;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x17;
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x1, &x2, 0x0, (arg1[0]),
+                                                       (arg2[0]));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x3, &x4, x2, (arg1[1]),
+                                                       (arg2[1]));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x5, &x6, x4, (arg1[2]),
+                                                       (arg2[2]));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x7, &x8, x6, (arg1[3]),
+                                                       (arg2[3]));
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(
+        &x9, x8, 0x0, UINT64_C(0xffffffffffffffff));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x10, &x11, 0x0, x1,
+                                                      (x9 & UINT16_C(0x431)));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x12, &x13, x11, x3, 0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x14, &x15, x13, x5, 0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(
+        &x16, &x17, x15, x7, (x9 & UINT64_C(0x8000000000000000)));
+    out1[0] = x10;
+    out1[1] = x12;
+    out1[2] = x14;
+    out1[3] = x16;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_TestParamSet_opp negates a field element in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = -eval (from_montgomery arg1) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_id_GostR3410_2001_TestParamSet_opp(uint64_t out1[4],
+                                                    const uint64_t arg1[4]) {
+    uint64_t x1;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x2;
+    uint64_t x3;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x4;
+    uint64_t x5;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x6;
+    uint64_t x7;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x8;
+    uint64_t x9;
+    uint64_t x10;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x11;
+    uint64_t x12;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x13;
+    uint64_t x14;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x15;
+    uint64_t x16;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x17;
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x1, &x2, 0x0, 0x0,
+                                                       (arg1[0]));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x3, &x4, x2, 0x0,
+                                                       (arg1[1]));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x5, &x6, x4, 0x0,
+                                                       (arg1[2]));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x7, &x8, x6, 0x0,
+                                                       (arg1[3]));
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(
+        &x9, x8, 0x0, UINT64_C(0xffffffffffffffff));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x10, &x11, 0x0, x1,
+                                                      (x9 & UINT16_C(0x431)));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x12, &x13, x11, x3, 0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x14, &x15, x13, x5, 0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(
+        &x16, &x17, x15, x7, (x9 & UINT64_C(0x8000000000000000)));
+    out1[0] = x10;
+    out1[1] = x12;
+    out1[2] = x14;
+    out1[3] = x16;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_TestParamSet_from_montgomery translates a field element out of the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   eval out1 mod m = (eval arg1 * ((2^64)⁻¹ mod m)^4) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_id_GostR3410_2001_TestParamSet_from_montgomery(
+    uint64_t out1[4], const uint64_t arg1[4]) {
+    uint64_t x1;
+    uint64_t x2;
+    uint64_t x3;
+    uint64_t x4;
+    uint64_t x5;
+    uint64_t x6;
+    uint64_t x7;
+    uint64_t x8;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x9;
+    uint64_t x10;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x11;
+    uint64_t x12;
+    uint64_t x13;
+    uint64_t x14;
+    uint64_t x15;
+    uint64_t x16;
+    uint64_t x17;
+    uint64_t x18;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x19;
+    uint64_t x20;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x21;
+    uint64_t x22;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x23;
+    uint64_t x24;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x25;
+    uint64_t x26;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x27;
+    uint64_t x28;
+    uint64_t x29;
+    uint64_t x30;
+    uint64_t x31;
+    uint64_t x32;
+    uint64_t x33;
+    uint64_t x34;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x35;
+    uint64_t x36;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x37;
+    uint64_t x38;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x39;
+    uint64_t x40;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x41;
+    uint64_t x42;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x43;
+    uint64_t x44;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x45;
+    uint64_t x46;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x47;
+    uint64_t x48;
+    uint64_t x49;
+    uint64_t x50;
+    uint64_t x51;
+    uint64_t x52;
+    uint64_t x53;
+    uint64_t x54;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x55;
+    uint64_t x56;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x57;
+    uint64_t x58;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x59;
+    uint64_t x60;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x61;
+    uint64_t x62;
+    uint64_t x63;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x64;
+    uint64_t x65;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x66;
+    uint64_t x67;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x68;
+    uint64_t x69;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x70;
+    uint64_t x71;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x72;
+    uint64_t x73;
+    uint64_t x74;
+    uint64_t x75;
+    uint64_t x76;
+    x1 = (arg1[0]);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x2, &x3, x1,
+                                                 UINT64_C(0xdbf951d5883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x4, &x5, x2,
+                                                 UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x6, &x7, x2, UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x8, &x9, 0x0, x1, x6);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x10, &x11, 0x0,
+                                                      (x9 + x7), (arg1[1]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x12, &x13, x10,
+                                                 UINT64_C(0xdbf951d5883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x14, &x15, x12,
+                                                 UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x16, &x17, x12,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x18, &x19, 0x0, x5, x14);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x20, &x21, 0x0, x10,
+                                                      x16);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(
+        &x22, &x23, 0x0, (((uint64_t)x21 + x11) + x17), (arg1[2]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x24, &x25, x23, x4, 0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x26, &x27, x25, x18,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x28, &x29, x22,
+                                                 UINT64_C(0xdbf951d5883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x30, &x31, x28,
+                                                 UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x32, &x33, x28,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x34, &x35, 0x0, x22,
+                                                      x32);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x36, &x37, x35, x24,
+                                                      x33);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x38, &x39, x37, x26,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x40, &x41, x39,
+                                                      (x27 + (x19 + x15)), x30);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x42, &x43, 0x0, x36,
+                                                      (arg1[3]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x44, &x45, x43, x38,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x46, &x47, x45, x40,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x48, &x49, x42,
+                                                 UINT64_C(0xdbf951d5883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x50, &x51, x48,
+                                                 UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x52, &x53, x48,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x54, &x55, 0x0, x42,
+                                                      x52);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x56, &x57, x55, x44,
+                                                      x53);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x58, &x59, x57, x46,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x60, &x61, x59,
+                                                      (x47 + (x41 + x31)), x50);
+    x62 = (x61 + x51);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x63, &x64, 0x0, x56,
+                                                       UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x65, &x66, x64, x58,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x67, &x68, x66, x60,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(
+        &x69, &x70, x68, x62, UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x71, &x72, x70, 0x0,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x73, x72, x63, x56);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x74, x72, x65, x58);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x75, x72, x67, x60);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x76, x72, x69, x62);
+    out1[0] = x73;
+    out1[1] = x74;
+    out1[2] = x75;
+    out1[3] = x76;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_TestParamSet_to_montgomery translates a field element into the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = eval arg1 mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_id_GostR3410_2001_TestParamSet_to_montgomery(
+    uint64_t out1[4], const uint64_t arg1[4]) {
+    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;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x12;
+    uint64_t x13;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x14;
+    uint64_t x15;
+    uint64_t x16;
+    uint64_t x17;
+    uint64_t x18;
+    uint64_t x19;
+    uint64_t x20;
+    uint64_t x21;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x22;
+    uint64_t x23;
+    uint64_t x24;
+    uint64_t x25;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x26;
+    uint64_t x27;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x28;
+    uint64_t x29;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x30;
+    uint64_t x31;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x32;
+    uint64_t x33;
+    uint64_t x34;
+    uint64_t x35;
+    uint64_t x36;
+    uint64_t x37;
+    uint64_t x38;
+    uint64_t x39;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x40;
+    uint64_t x41;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x42;
+    uint64_t x43;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x44;
+    uint64_t x45;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x46;
+    uint64_t x47;
+    uint64_t x48;
+    uint64_t x49;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x50;
+    uint64_t x51;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x52;
+    uint64_t x53;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x54;
+    uint64_t x55;
+    uint64_t x56;
+    uint64_t x57;
+    uint64_t x58;
+    uint64_t x59;
+    uint64_t x60;
+    uint64_t x61;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x62;
+    uint64_t x63;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x64;
+    uint64_t x65;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x66;
+    uint64_t x67;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x68;
+    uint64_t x69;
+    uint64_t x70;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x71;
+    uint64_t x72;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x73;
+    uint64_t x74;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x75;
+    uint64_t x76;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x77;
+    uint64_t x78;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x79;
+    uint64_t x80;
+    uint64_t x81;
+    uint64_t x82;
+    uint64_t x83;
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x1, &x2, (arg1[0]),
+                                                 UINT32_C(0x464584));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x3, &x4, x1,
+                                                 UINT64_C(0xdbf951d5883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x5, &x6, x3,
+                                                 UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x7, &x8, x3, UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x9, &x10, (arg1[1]),
+                                                 UINT32_C(0x464584));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x11, &x12, 0x0, x1, x7);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x13, &x14, 0x0,
+                                                      ((x12 + x2) + x8), x9);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x15, &x16, x13,
+                                                 UINT64_C(0xdbf951d5883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x17, &x18, x15,
+                                                 UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x19, &x20, x15,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x21, &x22, 0x0, x6, x17);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x23, &x24, (arg1[2]),
+                                                 UINT32_C(0x464584));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x25, &x26, 0x0, x13,
+                                                      x19);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(
+        &x27, &x28, 0x0, ((x26 + (x14 + x10)) + x20), x23);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x29, &x30, x28, x5, x24);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x31, &x32, x30, x21,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x33, &x34, x27,
+                                                 UINT64_C(0xdbf951d5883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x35, &x36, x33,
+                                                 UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x37, &x38, x33,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x39, &x40, 0x0, x27,
+                                                      x37);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x41, &x42, x40, x29,
+                                                      x38);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x43, &x44, x42, x31,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x45, &x46, x44,
+                                                      (x32 + (x22 + x18)), x35);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x47, &x48, (arg1[3]),
+                                                 UINT32_C(0x464584));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x49, &x50, 0x0, x41,
+                                                      x47);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x51, &x52, x50, x43,
+                                                      x48);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x53, &x54, x52, x45,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x55, &x56, x49,
+                                                 UINT64_C(0xdbf951d5883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x57, &x58, x55,
+                                                 UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x59, &x60, x55,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x61, &x62, 0x0, x49,
+                                                      x59);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x63, &x64, x62, x51,
+                                                      x60);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x65, &x66, x64, x53,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x67, &x68, x66,
+                                                      (x54 + (x46 + x36)), x57);
+    x69 = (x68 + x58);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x70, &x71, 0x0, x63,
+                                                       UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x72, &x73, x71, x65,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x74, &x75, x73, x67,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(
+        &x76, &x77, x75, x69, UINT64_C(0x8000000000000000));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x78, &x79, x77, 0x0,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x80, x79, x70, x63);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x81, x79, x72, x65);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x82, x79, x74, x67);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x83, x79, x76, x69);
+    out1[0] = x80;
+    out1[1] = x81;
+    out1[2] = x82;
+    out1[3] = x83;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_TestParamSet_nonzero outputs a single non-zero word if the input is non-zero and zero otherwise.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   out1 = 0 ↔ eval (from_montgomery arg1) mod m = 0
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffffffffffffff]
+ */
+static void fiat_id_GostR3410_2001_TestParamSet_nonzero(
+    uint64_t *out1, const uint64_t arg1[4]) {
+    uint64_t x1;
+    x1 = ((arg1[0]) | ((arg1[1]) | ((arg1[2]) | ((arg1[3]) | (uint64_t)0x0))));
+    *out1 = x1;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_TestParamSet_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]]
+ *   arg3: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_id_GostR3410_2001_TestParamSet_selectznz(
+    uint64_t out1[4], fiat_id_GostR3410_2001_TestParamSet_uint1 arg1,
+    const uint64_t arg2[4], const uint64_t arg3[4]) {
+    uint64_t x1;
+    uint64_t x2;
+    uint64_t x3;
+    uint64_t x4;
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x1, arg1, (arg2[0]),
+                                                    (arg3[0]));
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x2, arg1, (arg2[1]),
+                                                    (arg3[1]));
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x3, arg1, (arg2[2]),
+                                                    (arg3[2]));
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x4, arg1, (arg2[3]),
+                                                    (arg3[3]));
+    out1[0] = x1;
+    out1[1] = x2;
+    out1[2] = x3;
+    out1[3] = x4;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_TestParamSet_to_bytes serializes a field element in the Montgomery domain to bytes in little-endian order.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..31]
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * 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]]
+ */
+static void fiat_id_GostR3410_2001_TestParamSet_to_bytes(
+    uint8_t out1[32], const uint64_t arg1[4]) {
+    uint64_t x1;
+    uint64_t x2;
+    uint64_t x3;
+    uint64_t x4;
+    uint64_t x5;
+    uint8_t x6;
+    uint64_t x7;
+    uint8_t x8;
+    uint64_t x9;
+    uint8_t x10;
+    uint64_t x11;
+    uint8_t x12;
+    uint64_t x13;
+    uint8_t x14;
+    uint64_t x15;
+    uint8_t x16;
+    uint8_t x17;
+    uint8_t x18;
+    uint8_t x19;
+    uint64_t x20;
+    uint8_t x21;
+    uint64_t x22;
+    uint8_t x23;
+    uint64_t x24;
+    uint8_t x25;
+    uint64_t x26;
+    uint8_t x27;
+    uint64_t x28;
+    uint8_t x29;
+    uint64_t x30;
+    uint8_t x31;
+    uint8_t x32;
+    uint8_t x33;
+    uint8_t x34;
+    uint64_t x35;
+    uint8_t x36;
+    uint64_t x37;
+    uint8_t x38;
+    uint64_t x39;
+    uint8_t x40;
+    uint64_t x41;
+    uint8_t x42;
+    uint64_t x43;
+    uint8_t x44;
+    uint64_t x45;
+    uint8_t x46;
+    uint8_t x47;
+    uint8_t x48;
+    uint8_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;
+    uint64_t x60;
+    uint8_t x61;
+    uint8_t x62;
+    uint8_t x63;
+    x1 = (arg1[3]);
+    x2 = (arg1[2]);
+    x3 = (arg1[1]);
+    x4 = (arg1[0]);
+    x5 = (x4 >> 8);
+    x6 = (uint8_t)(x4 & UINT8_C(0xff));
+    x7 = (x5 >> 8);
+    x8 = (uint8_t)(x5 & UINT8_C(0xff));
+    x9 = (x7 >> 8);
+    x10 = (uint8_t)(x7 & UINT8_C(0xff));
+    x11 = (x9 >> 8);
+    x12 = (uint8_t)(x9 & UINT8_C(0xff));
+    x13 = (x11 >> 8);
+    x14 = (uint8_t)(x11 & UINT8_C(0xff));
+    x15 = (x13 >> 8);
+    x16 = (uint8_t)(x13 & UINT8_C(0xff));
+    x17 = (uint8_t)(x15 >> 8);
+    x18 = (uint8_t)(x15 & UINT8_C(0xff));
+    x19 = (uint8_t)(x17 & UINT8_C(0xff));
+    x20 = (x3 >> 8);
+    x21 = (uint8_t)(x3 & UINT8_C(0xff));
+    x22 = (x20 >> 8);
+    x23 = (uint8_t)(x20 & UINT8_C(0xff));
+    x24 = (x22 >> 8);
+    x25 = (uint8_t)(x22 & UINT8_C(0xff));
+    x26 = (x24 >> 8);
+    x27 = (uint8_t)(x24 & UINT8_C(0xff));
+    x28 = (x26 >> 8);
+    x29 = (uint8_t)(x26 & UINT8_C(0xff));
+    x30 = (x28 >> 8);
+    x31 = (uint8_t)(x28 & UINT8_C(0xff));
+    x32 = (uint8_t)(x30 >> 8);
+    x33 = (uint8_t)(x30 & UINT8_C(0xff));
+    x34 = (uint8_t)(x32 & UINT8_C(0xff));
+    x35 = (x2 >> 8);
+    x36 = (uint8_t)(x2 & UINT8_C(0xff));
+    x37 = (x35 >> 8);
+    x38 = (uint8_t)(x35 & UINT8_C(0xff));
+    x39 = (x37 >> 8);
+    x40 = (uint8_t)(x37 & UINT8_C(0xff));
+    x41 = (x39 >> 8);
+    x42 = (uint8_t)(x39 & UINT8_C(0xff));
+    x43 = (x41 >> 8);
+    x44 = (uint8_t)(x41 & UINT8_C(0xff));
+    x45 = (x43 >> 8);
+    x46 = (uint8_t)(x43 & UINT8_C(0xff));
+    x47 = (uint8_t)(x45 >> 8);
+    x48 = (uint8_t)(x45 & UINT8_C(0xff));
+    x49 = (uint8_t)(x47 & UINT8_C(0xff));
+    x50 = (x1 >> 8);
+    x51 = (uint8_t)(x1 & 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 = (x58 >> 8);
+    x61 = (uint8_t)(x58 & UINT8_C(0xff));
+    x62 = (uint8_t)(x60 >> 8);
+    x63 = (uint8_t)(x60 & UINT8_C(0xff));
+    out1[0] = x6;
+    out1[1] = x8;
+    out1[2] = x10;
+    out1[3] = x12;
+    out1[4] = x14;
+    out1[5] = x16;
+    out1[6] = x18;
+    out1[7] = x19;
+    out1[8] = x21;
+    out1[9] = x23;
+    out1[10] = x25;
+    out1[11] = x27;
+    out1[12] = x29;
+    out1[13] = x31;
+    out1[14] = x33;
+    out1[15] = x34;
+    out1[16] = x36;
+    out1[17] = x38;
+    out1[18] = x40;
+    out1[19] = x42;
+    out1[20] = x44;
+    out1[21] = x46;
+    out1[22] = x48;
+    out1[23] = x49;
+    out1[24] = x51;
+    out1[25] = x53;
+    out1[26] = x55;
+    out1[27] = x57;
+    out1[28] = x59;
+    out1[29] = x61;
+    out1[30] = x63;
+    out1[31] = x62;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_TestParamSet_from_bytes deserializes a field element in the Montgomery domain from bytes in little-endian order.
+ * Preconditions:
+ *   0 ≤ bytes_eval arg1 < m
+ * Postconditions:
+ *   eval out1 mod m = bytes_eval arg1 mod m
+ *   0 ≤ eval out1 < 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]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_id_GostR3410_2001_TestParamSet_from_bytes(
+    uint64_t out1[4], const uint8_t arg1[32]) {
+    uint64_t x1;
+    uint64_t x2;
+    uint64_t x3;
+    uint64_t x4;
+    uint64_t x5;
+    uint64_t x6;
+    uint64_t x7;
+    uint8_t x8;
+    uint64_t x9;
+    uint64_t x10;
+    uint64_t x11;
+    uint64_t x12;
+    uint64_t x13;
+    uint64_t x14;
+    uint64_t x15;
+    uint8_t x16;
+    uint64_t x17;
+    uint64_t x18;
+    uint64_t x19;
+    uint64_t x20;
+    uint64_t x21;
+    uint64_t x22;
+    uint64_t x23;
+    uint8_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;
+    x1 = ((uint64_t)(arg1[31]) << 56);
+    x2 = ((uint64_t)(arg1[30]) << 48);
+    x3 = ((uint64_t)(arg1[29]) << 40);
+    x4 = ((uint64_t)(arg1[28]) << 32);
+    x5 = ((uint64_t)(arg1[27]) << 24);
+    x6 = ((uint64_t)(arg1[26]) << 16);
+    x7 = ((uint64_t)(arg1[25]) << 8);
+    x8 = (arg1[24]);
+    x9 = ((uint64_t)(arg1[23]) << 56);
+    x10 = ((uint64_t)(arg1[22]) << 48);
+    x11 = ((uint64_t)(arg1[21]) << 40);
+    x12 = ((uint64_t)(arg1[20]) << 32);
+    x13 = ((uint64_t)(arg1[19]) << 24);
+    x14 = ((uint64_t)(arg1[18]) << 16);
+    x15 = ((uint64_t)(arg1[17]) << 8);
+    x16 = (arg1[16]);
+    x17 = ((uint64_t)(arg1[15]) << 56);
+    x18 = ((uint64_t)(arg1[14]) << 48);
+    x19 = ((uint64_t)(arg1[13]) << 40);
+    x20 = ((uint64_t)(arg1[12]) << 32);
+    x21 = ((uint64_t)(arg1[11]) << 24);
+    x22 = ((uint64_t)(arg1[10]) << 16);
+    x23 = ((uint64_t)(arg1[9]) << 8);
+    x24 = (arg1[8]);
+    x25 = ((uint64_t)(arg1[7]) << 56);
+    x26 = ((uint64_t)(arg1[6]) << 48);
+    x27 = ((uint64_t)(arg1[5]) << 40);
+    x28 = ((uint64_t)(arg1[4]) << 32);
+    x29 = ((uint64_t)(arg1[3]) << 24);
+    x30 = ((uint64_t)(arg1[2]) << 16);
+    x31 = ((uint64_t)(arg1[1]) << 8);
+    x32 = (arg1[0]);
+    x33 = (x32 + (x31 + (x30 + (x29 + (x28 + (x27 + (x26 + x25)))))));
+    x34 = (x33 & UINT64_C(0xffffffffffffffff));
+    x35 = (x8 + (x7 + (x6 + (x5 + (x4 + (x3 + (x2 + x1)))))));
+    x36 = (x16 + (x15 + (x14 + (x13 + (x12 + (x11 + (x10 + x9)))))));
+    x37 = (x24 + (x23 + (x22 + (x21 + (x20 + (x19 + (x18 + x17)))))));
+    x38 = (x37 & UINT64_C(0xffffffffffffffff));
+    x39 = (x36 & UINT64_C(0xffffffffffffffff));
+    out1[0] = x34;
+    out1[1] = x38;
+    out1[2] = x39;
+    out1[3] = x35;
+}
+
+/* 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_GostR3410_2001_TestParamSet/fe_inv.op3
+ * sliding window w=5
+ */
+static void fiat_id_GostR3410_2001_TestParamSet_inv(fe_t output,
+                                                    const fe_t t1) {
+    int i;
+    /* temporary variables */
+    fe_t acc, t15;
+
+    fiat_id_GostR3410_2001_TestParamSet_square(acc, t1);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t15, t1, acc);
+    for (i = 0; i < 6; i++)
+        fiat_id_GostR3410_2001_TestParamSet_mul(t15, t15, acc);
+    fiat_id_GostR3410_2001_TestParamSet_square(acc, t1);
+    for (i = 0; i < 244; i++)
+        fiat_id_GostR3410_2001_TestParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_TestParamSet_mul(acc, acc, t1);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_TestParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_TestParamSet_mul(acc, acc, t1);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_TestParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_TestParamSet_mul(output, acc, t15);
+}
+
+/* curve coefficient constants */
+
+static const limb_t const_one[4] = {
+    UINT64_C(0xFFFFFFFFFFFFFBCF), UINT64_C(0xFFFFFFFFFFFFFFFF),
+    UINT64_C(0xFFFFFFFFFFFFFFFF), UINT64_C(0x7FFFFFFFFFFFFFFF)};
+
+static const limb_t const_a[4] = {
+    UINT64_C(0xFFFFFFFFFFFFC983), UINT64_C(0xFFFFFFFFFFFFFFFF),
+    UINT64_C(0xFFFFFFFFFFFFFFFF), UINT64_C(0x7FFFFFFFFFFFFFFF)};
+
+static const limb_t const_b3[4] = {
+    UINT64_C(0x81733EE96AEAB71C), UINT64_C(0x00CD3D1CFC4E6FC7),
+    UINT64_C(0x60AB503A75853407), UINT64_C(0x0A9EC8AE4556810A)};
+
+/* LUT for scalar multiplication by comb interleaving */
+static const pt_aff_t lut_cmb[27][16] = {
+    {
+        {{UINT64_C(0xFFFFFFFFFFFFF36D), UINT64_C(0xFFFFFFFFFFFFFFFF),
+          UINT64_C(0xFFFFFFFFFFFFFFFF), UINT64_C(0x7FFFFFFFFFFFFFFF)},
+         {UINT64_C(0x9AF45A5A471125F5), UINT64_C(0x7CE5090AF69BF9AE),
+          UINT64_C(0x67617A63E4B6DDE6), UINT64_C(0x03F66B354AA3DAA4)}},
+        {{UINT64_C(0xB39BDC16149B5D15), UINT64_C(0x87CE978A7309454F),
+          UINT64_C(0xD22F32EF315A7A56), UINT64_C(0x4C7DE232B69A6B57)},
+         {UINT64_C(0x9E2DAF6D466DC64D), UINT64_C(0x758C27B14B1C8A55),
+          UINT64_C(0x74A0CB23BD647F1A), UINT64_C(0x27E748682C2F4C70)}},
+        {{UINT64_C(0xF2D8F32E55A62594), UINT64_C(0x8323D57036BC547A),
+          UINT64_C(0x497679EB98D4B25A), UINT64_C(0x061167F2B87E0534)},
+         {UINT64_C(0xE1FFFDCE223E4DF8), UINT64_C(0x7C83AE78DCD891E9),
+          UINT64_C(0x743985863C1B95D0), UINT64_C(0x11D7320574B3F5AB)}},
+        {{UINT64_C(0x34B9C048ACB97F7C), UINT64_C(0x8232E73CE3B9BCC6),
+          UINT64_C(0x81F4B63FDA2DB71D), UINT64_C(0x4EEE5393A2DF4C84)},
+         {UINT64_C(0xCA6E63AEAC469C69), UINT64_C(0x27BC807C428E4F01),
+          UINT64_C(0x4A2C23BA5F4EC124), UINT64_C(0x74847CFCAAE2668B)}},
+        {{UINT64_C(0x4435585F6716AF4E), UINT64_C(0xB872D8B71CDB965F),
+          UINT64_C(0x662F1962746FFAD0), UINT64_C(0x52761A24DB5D0187)},
+         {UINT64_C(0xF6A09922A57E0E3D), UINT64_C(0x86C69342A9C12B63),
+          UINT64_C(0x91FF20B65AF190C5), UINT64_C(0x10DB7A2A4EEEE1AE)}},
+        {{UINT64_C(0xBB464A5374628B90), UINT64_C(0x6E7A1227057A4F25),
+          UINT64_C(0x4C309D690B0FA41F), UINT64_C(0x7548260777FE7B93)},
+         {UINT64_C(0xF2583EC70B612421), UINT64_C(0xFF2CFC835E2B15ED),
+          UINT64_C(0x1E97A7DB8CABC5CF), UINT64_C(0x1EC08FAA925C149F)}},
+        {{UINT64_C(0xBA0170E30E9FCBA9), UINT64_C(0x8976DF7C70D9939B),
+          UINT64_C(0xEAE6E74B21AF14DD), UINT64_C(0x09F098680D0861F9)},
+         {UINT64_C(0x4F7FE26E21A781FF), UINT64_C(0x1725B8D0D73DCEF7),
+          UINT64_C(0x9DA632177E743498), UINT64_C(0x0F51D42C1B828B99)}},
+        {{UINT64_C(0xBABB076B9AFE09BD), UINT64_C(0x4AC8922317C4050D),
+          UINT64_C(0xCA3EA6E3DA3E57E8), UINT64_C(0x20AAA384A33242C0)},
+         {UINT64_C(0x6D3A1F2DEF929BF5), UINT64_C(0xB34E2605E751A62D),
+          UINT64_C(0xE1AC629FB8CF1F99), UINT64_C(0x7152D4E3F0BBA01A)}},
+        {{UINT64_C(0xA97A6CE3943E5B8E), UINT64_C(0x1C0F6C7F2D053A9D),
+          UINT64_C(0x9D4A91DE64457DE4), UINT64_C(0x1E19EA8FC6140057)},
+         {UINT64_C(0xD4766CB6500995C8), UINT64_C(0xA019D41DE70CD7EE),
+          UINT64_C(0xBA1828AA7AB0A162), UINT64_C(0x0CACA0630B7A4E93)}},
+        {{UINT64_C(0x1E68315CA1B3FE03), UINT64_C(0x21FB277E1AAB6B20),
+          UINT64_C(0x210305D76A90FB22), UINT64_C(0x4C3D3EEA2E51B9BC)},
+         {UINT64_C(0xC5662C6D89C3A2E8), UINT64_C(0x66EA48181712BF9B),
+          UINT64_C(0x417F8F042254FBAB), UINT64_C(0x2F57DF29B057EEC1)}},
+        {{UINT64_C(0xF6975C9F6509AE4F), UINT64_C(0x58300438DC89C220),
+          UINT64_C(0xE81DA879907FF785), UINT64_C(0x68D600E30910ED2F)},
+         {UINT64_C(0xFBB25113B43BF686), UINT64_C(0x8B391E3F50A64FAE),
+          UINT64_C(0x8C1190D23112B7ED), UINT64_C(0x617BCD41CCB4CA50)}},
+        {{UINT64_C(0x75036E69DD780ACA), UINT64_C(0xC90A01DE6FBCD996),
+          UINT64_C(0x75E1A8E80C851CEF), UINT64_C(0x7225D38AF71BDCC6)},
+         {UINT64_C(0x74AE6935868B78D2), UINT64_C(0xE70570F31CDB5A1E),
+          UINT64_C(0x3E700C48BEBD2FA4), UINT64_C(0x3E483638325D3214)}},
+        {{UINT64_C(0x9F272CD5C0E6D8AD), UINT64_C(0x9E29687CE09743A2),
+          UINT64_C(0xBE0E0D5993CD64B3), UINT64_C(0x5D57A75D504B58F0)},
+         {UINT64_C(0x81A1A6E35D44B092), UINT64_C(0x38AD0169310D7868),
+          UINT64_C(0xC8D3C9A6CC297B73), UINT64_C(0x34D98A19908E0814)}},
+        {{UINT64_C(0xFFB946ADE5A57E1F), UINT64_C(0xF7EA0AA2191B6C5F),
+          UINT64_C(0x52D070588DF529C1), UINT64_C(0x06B7BDE52AFDA727)},
+         {UINT64_C(0x651E6DC990658555), UINT64_C(0x8F910D891FC416CE),
+          UINT64_C(0x0BA4D84ECBF086D5), UINT64_C(0x73DA158C0C4A4B4A)}},
+        {{UINT64_C(0xE22420A6521DB62C), UINT64_C(0x8EBC1A21BC90EB6F),
+          UINT64_C(0xE1529AACE50F6EB4), UINT64_C(0x4025BF278BE235DB)},
+         {UINT64_C(0x406077109FFE2B82), UINT64_C(0x7A6BB75B696B4634),
+          UINT64_C(0x0CEF27A92B2F25D3), UINT64_C(0x6C9CFFD7CA0B7112)}},
+        {{UINT64_C(0x12B39FF0EDA5C43B), UINT64_C(0x2E1FC66C54E0FE3F),
+          UINT64_C(0xFB2DEA80248A9167), UINT64_C(0x11BCDA103B2BB322)},
+         {UINT64_C(0xFDDF6E8416D2C928), UINT64_C(0x99DDF6A136E887F4),
+          UINT64_C(0x1E56D2F3920092D6), UINT64_C(0x67433BF42D77AE5A)}},
+    },
+    {
+        {{UINT64_C(0x6C204DDC321BFA62), UINT64_C(0xA96E42B82F138A80),
+          UINT64_C(0x4C98E986E3EC1A7D), UINT64_C(0x223C8BC4136CADC4)},
+         {UINT64_C(0xFA9F15D3BA3CE54A), UINT64_C(0xA103B9D719963D88),
+          UINT64_C(0x1ED233542F811A21), UINT64_C(0x64D6B14C65A4E833)}},
+        {{UINT64_C(0x2485175CCFBD1039), UINT64_C(0xC4DAE65B7C92D8EC),
+          UINT64_C(0x6FC70F541859FD47), UINT64_C(0x6D54344433E8305C)},
+         {UINT64_C(0x1A65FEC2944DDA07), UINT64_C(0x7BCF8391EF375B21),
+          UINT64_C(0xDDCFC356BE4CD8D6), UINT64_C(0x4BF93B9E13850042)}},
+        {{UINT64_C(0xBDF7A56C88B7F950), UINT64_C(0x3A60E5FC81B8590E),
+          UINT64_C(0x475B94D16F6E6807), UINT64_C(0x2F1B9F062F0D49A8)},
+         {UINT64_C(0x3C36DCF32E6A01D3), UINT64_C(0x807E1D5B30444003),
+          UINT64_C(0xE3768486FECF5768), UINT64_C(0x73C4D0CFEF12B5CC)}},
+        {{UINT64_C(0x9D76477CF4C6FF93), UINT64_C(0x03F16687C5A1A495),
+          UINT64_C(0x5071DA3DB41748B2), UINT64_C(0x0F3A3784971D6A7D)},
+         {UINT64_C(0x0B9A5AD62785A782), UINT64_C(0x957E72A009FF09F9),
+          UINT64_C(0x3072C1DCAE3CF5F4), UINT64_C(0x63D463ACCD9CFD7E)}},
+        {{UINT64_C(0xDA0DEE0BC77B516C), UINT64_C(0x446D7199E6AA0E1F),
+          UINT64_C(0xCC0D1590BFFA705C), UINT64_C(0x6A6FC81CC35B59BA)},
+         {UINT64_C(0x39DF210E593E3EB9), UINT64_C(0x17F331CED0DCC01F),
+          UINT64_C(0x02E0E5EBBD176C5B), UINT64_C(0x68946CCC8A2D6290)}},
+        {{UINT64_C(0x8D1400D609ECFEF2), UINT64_C(0x57D5F91BE1E76A98),
+          UINT64_C(0x5CF76130A12DFF8D), UINT64_C(0x5C36192261002939)},
+         {UINT64_C(0x8D45C8C1FB0FE974), UINT64_C(0x0C97725EF942ED70),
+          UINT64_C(0xB1C6649873C5AA42), UINT64_C(0x4A121FC47E203187)}},
+        {{UINT64_C(0x58430EE3FCEDA76C), UINT64_C(0x3496699AF5C88D62),
+          UINT64_C(0x1C3FC81114273E7E), UINT64_C(0x3E38E9FC1D6D67DA)},
+         {UINT64_C(0xBB683EA4AB685B3B), UINT64_C(0xB63F72B1B0904BB3),
+          UINT64_C(0x5DFA23C547A75297), UINT64_C(0x09E80AA038B59560)}},
+        {{UINT64_C(0x7D8325C67F4D22FC), UINT64_C(0xBFFB01B18C2FA282),
+          UINT64_C(0x01A037DC4A89BE98), UINT64_C(0x092F652584EA8C8A)},
+         {UINT64_C(0x873D33DAC52FD518), UINT64_C(0x0A245B1544AFDD41),
+          UINT64_C(0x7899373798FA7FF5), UINT64_C(0x1BB48AD221D29087)}},
+        {{UINT64_C(0x00C97A991A59313C), UINT64_C(0xBD4F29EE5CF9A6FF),
+          UINT64_C(0xEA59D87AD839B62B), UINT64_C(0x16F18F4897CAB63C)},
+         {UINT64_C(0xB339789A6F6C292F), UINT64_C(0xEC52E644D005ABB2),
+          UINT64_C(0xEEAC93C9AE24DA46), UINT64_C(0x0ECB9957E5C43B4F)}},
+        {{UINT64_C(0xD91B220220561AF7), UINT64_C(0xECA260DD55F2CFB8),
+          UINT64_C(0xF03A8C1D17B91CCF), UINT64_C(0x55A0491F64B35D9A)},
+         {UINT64_C(0x0A97E5CC1A2F8F39), UINT64_C(0x02C187D123B1D80B),
+          UINT64_C(0xA9C13D26DB9FBA1A), UINT64_C(0x7CCDDBACF8051F0D)}},
+        {{UINT64_C(0x05CA8EA5ED0E9DB8), UINT64_C(0xE888079F53A8EA3F),
+          UINT64_C(0x6DDBC40D9209BFA2), UINT64_C(0x068E5BA980DCEAEA)},
+         {UINT64_C(0xDB69D133B19D824B), UINT64_C(0x65154FB6E6A3A462),
+          UINT64_C(0x9FCF733D020B2AC7), UINT64_C(0x15178DDEE1329315)}},
+        {{UINT64_C(0x76F78865877EE476), UINT64_C(0x5824EACC12B471BA),
+          UINT64_C(0x71BDFADFBBB640A8), UINT64_C(0x5181B08F9A631D09)},
+         {UINT64_C(0x2913CCA5FFE978E8), UINT64_C(0x9CEF3612AEB89AA6),
+          UINT64_C(0x93BB373EE02AD6DC), UINT64_C(0x5D7984F004144769)}},
+        {{UINT64_C(0x3219DB074F98D2C3), UINT64_C(0xE3EF888FBD40ACCC),
+          UINT64_C(0x07A30E3A31124C73), UINT64_C(0x5D9C820BB070C53F)},
+         {UINT64_C(0x94D41768DA0661AB), UINT64_C(0x27FC266121FF87EB),
+          UINT64_C(0xB8DCBC7FFF17A977), UINT64_C(0x71F75FF9392EB13D)}},
+        {{UINT64_C(0xC5CED56C9AD71AB0), UINT64_C(0xE744EAB039D6C9F1),
+          UINT64_C(0x6E49B00B839BD904), UINT64_C(0x0C0EDE2CD7003054)},
+         {UINT64_C(0x792C3F801A6A1BB7), UINT64_C(0x6E5093B14B2C7885),
+          UINT64_C(0x2887320913EA65F7), UINT64_C(0x085A2697F381C851)}},
+        {{UINT64_C(0x84FC6B9DDA60A255), UINT64_C(0x12397EED4B495BC6),
+          UINT64_C(0x4881DF6B71A5AA87), UINT64_C(0x57BB32599572CFE2)},
+         {UINT64_C(0x306777593A10A65F), UINT64_C(0x670B82ECDB1758DD),
+          UINT64_C(0xD84F3E8FD57B513E), UINT64_C(0x617A512A89088E78)}},
+        {{UINT64_C(0x83971322AE3D7707), UINT64_C(0x66563CDE6D34D0B4),
+          UINT64_C(0x95342D9BC13309ED), UINT64_C(0x62C2B1B6082A5887)},
+         {UINT64_C(0xD94A8712C3C27158), UINT64_C(0xDE2C9C9DA844BF60),
+          UINT64_C(0xDE897386CE3E4F3C), UINT64_C(0x2C22A82E6ACEBDF1)}},
+    },
+    {
+        {{UINT64_C(0x2755028A0604E200), UINT64_C(0xADE23A7D44189101),
+          UINT64_C(0xA6E418F4F0B7F9B7), UINT64_C(0x036F5503212EDC2A)},
+         {UINT64_C(0xE069D06A3F5E0456), UINT64_C(0x2FAFF7C80F37F2D8),
+          UINT64_C(0xFF08E8797F5EDE53), UINT64_C(0x7F97725D797E0427)}},
+        {{UINT64_C(0xE44E39C1B32E5B1B), UINT64_C(0x25CD4614AD3EC706),
+          UINT64_C(0x2E97B090E382C5D2), UINT64_C(0x3E1A1F6BB00D79F2)},
+         {UINT64_C(0x27573C4EC2375837), UINT64_C(0xAD53D2C86C8D5CCD),
+          UINT64_C(0x94EE5460FC09725A), UINT64_C(0x6E59250602DD0DF4)}},
+        {{UINT64_C(0x6CFFA4BF3D0C7AC4), UINT64_C(0x663B121869ED4317),
+          UINT64_C(0x933094F6C79AD5C1), UINT64_C(0x569F37EDFFC54767)},
+         {UINT64_C(0x954EEE0C1F338782), UINT64_C(0x5BE69673A46CA276),
+          UINT64_C(0x77BA000920CB26DC), UINT64_C(0x2211CAC3029316AE)}},
+        {{UINT64_C(0xC8DEF3CB184EBD7C), UINT64_C(0x393370506A4DB0A0),
+          UINT64_C(0x6FF7993A0BE1D82C), UINT64_C(0x01D7674AFC9252C0)},
+         {UINT64_C(0xB10BA727F62D9268), UINT64_C(0x6E2338D8817B687B),
+          UINT64_C(0x266443F2E47405F1), UINT64_C(0x6A1BD9CE6872B879)}},
+        {{UINT64_C(0x192137652B2BD346), UINT64_C(0x962CA22CE2ACFB8E),
+          UINT64_C(0x518CF45D62FECDE1), UINT64_C(0x529AE629A13D9E8D)},
+         {UINT64_C(0xAF796DB0BB69D5E3), UINT64_C(0xA064209DD4E596B7),
+          UINT64_C(0x9F3DFD4A47942C73), UINT64_C(0x7FAB6C6D7810D5EC)}},
+        {{UINT64_C(0x55D1525066A3B287), UINT64_C(0x1ECC6A20EEFDDC75),
+          UINT64_C(0xF683FA6026DE8C01), UINT64_C(0x4F5DE2A69FBA658C)},
+         {UINT64_C(0xE748D78AC66D82F4), UINT64_C(0x2BA525EF3B24C76B),
+          UINT64_C(0x5A9539E630EE69CE), UINT64_C(0x2DA4C4C2B7861B2D)}},
+        {{UINT64_C(0x9D1E982D820743E6), UINT64_C(0x705D9237AB0CC42D),
+          UINT64_C(0xBDD0166347C4E7D7), UINT64_C(0x3D48EE78F8E69896)},
+         {UINT64_C(0x7A822BCD41132782), UINT64_C(0xBD41BEFAEE46F715),
+          UINT64_C(0x8E5C3B5FD0B2F4B0), UINT64_C(0x690A53D45E47ED55)}},
+        {{UINT64_C(0x390536C165A40E44), UINT64_C(0x4B4D79701C92235C),
+          UINT64_C(0xCAC270848B7389E4), UINT64_C(0x7B5B23B219041D01)},
+         {UINT64_C(0x7C18B9733B5FD5BA), UINT64_C(0xFD14865D84B72217),
+          UINT64_C(0x5592547E267EDE4C), UINT64_C(0x22DB62E58B369753)}},
+        {{UINT64_C(0x06083D33DDF15BDD), UINT64_C(0x5766555F361925F5),
+          UINT64_C(0xECC0F110B7ACDEA7), UINT64_C(0x3E3F1B270A3453B5)},
+         {UINT64_C(0x5A8B7DF96F7B980D), UINT64_C(0xEBA90E39B44756AC),
+          UINT64_C(0x954D7ECDAC9A7DB2), UINT64_C(0x43F688D328EA7151)}},
+        {{UINT64_C(0x51F645694638EFAE), UINT64_C(0x5840A5DB3D28BF3C),
+          UINT64_C(0xDD486261134D3E8F), UINT64_C(0x09F17E2C7B6B466B)},
+         {UINT64_C(0x30D3546378ED7016), UINT64_C(0x342E9701B86D8508),
+          UINT64_C(0xA3FF656542B19533), UINT64_C(0x4405F02C061A4A81)}},
+        {{UINT64_C(0x15C921C03D3AAF1E), UINT64_C(0x2DD720C77D297559),
+          UINT64_C(0x93A07904CB80E3B2), UINT64_C(0x427C610B6B1EDB93)},
+         {UINT64_C(0xD2CE818FF61E2F41), UINT64_C(0x1DA534218252FB3C),
+          UINT64_C(0x37A4A997ED07538F), UINT64_C(0x48A928BF962454F2)}},
+        {{UINT64_C(0x65091E4D7A420273), UINT64_C(0x6AF382AFE54C0B47),
+          UINT64_C(0x150DAB088047A423), UINT64_C(0x22C3740A45BD197C)},
+         {UINT64_C(0x64429AA0E07C3468), UINT64_C(0xC506B8C97B37FE10),
+          UINT64_C(0x30E2FE783CC5062C), UINT64_C(0x2F3B5A5FA9242F2D)}},
+        {{UINT64_C(0x2619A3B25A40BCA1), UINT64_C(0xD012DF23118C2FEA),
+          UINT64_C(0x2868C8B7B73FE15C), UINT64_C(0x45A9CC5AEB10B475)},
+         {UINT64_C(0x7111AB75069050AD), UINT64_C(0x0665182BEC2398A9),
+          UINT64_C(0xD9A5126E9B86A240), UINT64_C(0x601CF0E040E2AED6)}},
+        {{UINT64_C(0xE74C9DCDF48C8655), UINT64_C(0xEE703CA8900E89D5),
+          UINT64_C(0x6C2DFF8B5390F052), UINT64_C(0x08588E891316CC4C)},
+         {UINT64_C(0x0F2CC83A47E80C87), UINT64_C(0x23DE34CFD87824E4),
+          UINT64_C(0xC530AF41541FE8F9), UINT64_C(0x0BF01DC0D142F1C0)}},
+        {{UINT64_C(0x210B0B1E886C0C4A), UINT64_C(0x66369DF19C56A126),
+          UINT64_C(0x5D79AE81EAC22A5E), UINT64_C(0x4E6C67D4D16F7DB6)},
+         {UINT64_C(0x274572F6247CDE60), UINT64_C(0xF3C92AC754E8454B),
+          UINT64_C(0x784EC1A1F08C32D1), UINT64_C(0x222716D8E1FE9C4E)}},
+        {{UINT64_C(0xAF6AEF5D3FB1DB1E), UINT64_C(0xB8B55842C4C2A4D8),
+          UINT64_C(0x258A2F44CA5AB578), UINT64_C(0x558A803F7D8B2D70)},
+         {UINT64_C(0x9A7345C37E0247A3), UINT64_C(0x4E5A6904B4D920B1),
+          UINT64_C(0xCF7FAA4176BCBBE1), UINT64_C(0x66CF993FEE112271)}},
+    },
+    {
+        {{UINT64_C(0xDE7D208F84D2C56B), UINT64_C(0xD1C77403DDA20F33),
+          UINT64_C(0xB73FDC099A6F337A), UINT64_C(0x1B2A380740CD2CBD)},
+         {UINT64_C(0xB642FA2C65988D73), UINT64_C(0x117E75BC059DAB8E),
+          UINT64_C(0xC7E2E935D6B279AA), UINT64_C(0x5EEB9654EEA2A445)}},
+        {{UINT64_C(0xA84747C0A59D7A2A), UINT64_C(0x4478AD4A1004C5B8),
+          UINT64_C(0xF55C2B1BA22DE791), UINT64_C(0x2FF6097D23F8F89F)},
+         {UINT64_C(0xD079C875E117BC40), UINT64_C(0x14AEA36003CB43DD),
+          UINT64_C(0x8C730D890A20D653), UINT64_C(0x6956274A02FD02D8)}},
+        {{UINT64_C(0x9F5D0E9DD46293CF), UINT64_C(0x53748DD4F0D93AB7),
+          UINT64_C(0x6F81339FB9C37CF0), UINT64_C(0x00B8677AF4B041FC)},
+         {UINT64_C(0xF76E0FFEB5A6FE97), UINT64_C(0x6D3C71F5F7D198A2),
+          UINT64_C(0xF91E840811420372), UINT64_C(0x36F9F35470036AED)}},
+        {{UINT64_C(0x503AF4F25D446956), UINT64_C(0xCA08C5372DC9777C),
+          UINT64_C(0xDB4BA888E1308D3A), UINT64_C(0x01EA28EA01DB98CB)},
+         {UINT64_C(0x27CC52A9A7DF5FE0), UINT64_C(0x7DA5186B7DE31E0A),
+          UINT64_C(0x63E32889F136FAD5), UINT64_C(0x1BB010A8A363AF23)}},
+        {{UINT64_C(0x65828B54C0FE56C9), UINT64_C(0x7322CD514ED3935A),
+          UINT64_C(0x42F068F437B4A727), UINT64_C(0x7AA9F9F0B4C02BE4)},
+         {UINT64_C(0xBB77851ADEBB2DD4), UINT64_C(0x7757D5F6D105B81F),
+          UINT64_C(0x7805369C52FA1512), UINT64_C(0x4CBC43AE38B6976A)}},
+        {{UINT64_C(0x24FE8ABD4096725B), UINT64_C(0xC3FAC73A3895D1E2),
+          UINT64_C(0xBCAF7757006A2360), UINT64_C(0x75AE96ADC03EBB33)},
+         {UINT64_C(0x310744780BD1FB6F), UINT64_C(0x729E8E6AEA386CBE),
+          UINT64_C(0xA8BBCC0B4845AAEC), UINT64_C(0x1A0A2D19E6582656)}},
+        {{UINT64_C(0x332BC9BD69BD55F7), UINT64_C(0x93D987E2EFB6F780),
+          UINT64_C(0xE57DE09614381F4D), UINT64_C(0x7BDF4217FF01C4D9)},
+         {UINT64_C(0x2A07C4AB1956BF02), UINT64_C(0x7C7B3684553823D9),
+          UINT64_C(0x8F750E8ED40F600C), UINT64_C(0x63F253E99693A3C3)}},
+        {{UINT64_C(0x250ED8BFC62CE42B), UINT64_C(0xE8A1A295E70674E1),
+          UINT64_C(0x05ED093D163A92F1), UINT64_C(0x515FF44B628969A0)},
+         {UINT64_C(0xF617DF0341CE3AF8), UINT64_C(0xCADE131AF9E60202),
+          UINT64_C(0xFE83C379363B87E9), UINT64_C(0x7196A80B493EF65F)}},
+        {{UINT64_C(0x4B176FE6D7A2047B), UINT64_C(0x6981D18241DCA514),
+          UINT64_C(0xDDC7EE8EDC74AC2E), UINT64_C(0x3A95A20385CC07D1)},
+         {UINT64_C(0x8D4BA2D8841E3200), UINT64_C(0x837DDD9B5F654197),
+          UINT64_C(0x388D358EFBFE4D06), UINT64_C(0x562DE2F261143A85)}},
+        {{UINT64_C(0x3BA1F6E5CFACB903), UINT64_C(0xB5BBA41FBD97A3A2),
+          UINT64_C(0xB86F117FCFCF2547), UINT64_C(0x506428593D9A13DB)},
+         {UINT64_C(0xC15C82AE7B5F2A8F), UINT64_C(0x47E772DDEF89351E),
+          UINT64_C(0x78C53901CAAC4CC7), UINT64_C(0x6B0F5D3068D72131)}},
+        {{UINT64_C(0x47E17734A0B407E6), UINT64_C(0x29E0683034949A81),
+          UINT64_C(0x63D83340CB1AC772), UINT64_C(0x178A6DD6EB84F909)},
+         {UINT64_C(0xA9E948263C27D7BA), UINT64_C(0xC86AF96DDB027A4C),
+          UINT64_C(0xE7D04E3456D5DF86), UINT64_C(0x7212EAC22E8D0EE3)}},
+        {{UINT64_C(0xE7E5AA648A75F66B), UINT64_C(0x7E86B6AA8CFD9597),
+          UINT64_C(0x1B7DDE0C834C0271), UINT64_C(0x397EAF2AD4AD306F)},
+         {UINT64_C(0x0A3579061657E32B), UINT64_C(0xAAEB2DCF4957B3AF),
+          UINT64_C(0x1C0CBD0269D3CEE9), UINT64_C(0x7434EC325A6E7D53)}},
+        {{UINT64_C(0xEB5878F785559E86), UINT64_C(0xB9555F704A09C168),
+          UINT64_C(0xBFFAC5DB80501134), UINT64_C(0x4CDBF53A05B53160)},
+         {UINT64_C(0x1413BA295F90344B), UINT64_C(0xC6A9D1EDD0DD0CFD),
+          UINT64_C(0x8C56AA29A0C31B73), UINT64_C(0x1C9B0B61F4E58E08)}},
+        {{UINT64_C(0xBF8D22370E2F595A), UINT64_C(0x7A646816CBA13CD8),
+          UINT64_C(0xBD2E93A15CD728B6), UINT64_C(0x30FDF85C07CF9009)},
+         {UINT64_C(0x3496D94906122B98), UINT64_C(0xE63EC7415A80B3AF),
+          UINT64_C(0xA2A39CF782838A44), UINT64_C(0x4A064F99C015E1D4)}},
+        {{UINT64_C(0x9CCDF95B456CB242), UINT64_C(0xDA1CB24E6F4517DC),
+          UINT64_C(0x60450E0F931A1115), UINT64_C(0x6780D774B5680A8D)},
+         {UINT64_C(0xAFE48DCD1FDA4243), UINT64_C(0x6BDD541CAE9733C7),
+          UINT64_C(0xCBBCC69CD79D1D52), UINT64_C(0x334F4F671A513B3E)}},
+        {{UINT64_C(0xCE7712C4DF49E1A0), UINT64_C(0xB5444862E0B96135),
+          UINT64_C(0x10564C4BF050D010), UINT64_C(0x0531AEC8FEBEFCC8)},
+         {UINT64_C(0xD45B4BE770DF6D29), UINT64_C(0x1ACC2D706829054E),
+          UINT64_C(0x9744CDE154E56E05), UINT64_C(0x3C5DE93E6EE02696)}},
+    },
+    {
+        {{UINT64_C(0xF43A2B993951B674), UINT64_C(0xE82789E85E72FC98),
+          UINT64_C(0x2AD4843686992601), UINT64_C(0x3FDEB17201A2B65A)},
+         {UINT64_C(0x926B48393666322B), UINT64_C(0x68847D5C44B3FDB7),
+          UINT64_C(0xD06C450DF2F5E247), UINT64_C(0x0CEC0646BBA7C892)}},
+        {{UINT64_C(0x76446D2661F9C9DA), UINT64_C(0xEF2C7B98AC60376F),
+          UINT64_C(0xEEA8CABE2410C057), UINT64_C(0x4C2CE2A73672A2B6)},
+         {UINT64_C(0x3F77094512879BA5), UINT64_C(0x719D5BD0AD913022),
+          UINT64_C(0x28A82DD936D445A4), UINT64_C(0x26382C23965965AA)}},
+        {{UINT64_C(0x66709D92B8AA8419), UINT64_C(0xFAEFF2E40AB5C241),
+          UINT64_C(0xABB7C5DD1DD46DEB), UINT64_C(0x7DD03C3339DB6CB5)},
+         {UINT64_C(0x76CDD1EA9E160F01), UINT64_C(0x00598D5681C5CA37),
+          UINT64_C(0x16D23B04241772EC), UINT64_C(0x5132B02852A6B807)}},
+        {{UINT64_C(0x6D48D4B5CC041445), UINT64_C(0x0B1CD9231528DF63),
+          UINT64_C(0x82EE4DC64A815F60), UINT64_C(0x29DA60590451E242)},
+         {UINT64_C(0xCD90BFB017A8A6D0), UINT64_C(0x8BCF439252A7FC3D),
+          UINT64_C(0x49AD55F21974860C), UINT64_C(0x20BBF0105EDCB1D2)}},
+        {{UINT64_C(0xB4F0EA84A8F6C08C), UINT64_C(0x4341BEA7D50164F3),
+          UINT64_C(0xE538901906320C0F), UINT64_C(0x69D4851A8BA6F033)},
+         {UINT64_C(0x1CE5866077902045), UINT64_C(0xF3B88D85BD8579B3),
+          UINT64_C(0xF84FF63A4FB0A17B), UINT64_C(0x09EE62EEDE6581BF)}},
+        {{UINT64_C(0x8B8C15B57C0516DE), UINT64_C(0x3B448FC3A530B89F),
+          UINT64_C(0xE385BBE5500B0251), UINT64_C(0x5F643F85ED70804B)},
+         {UINT64_C(0x550D9B7D239E85A5), UINT64_C(0xDC910B5B8666E41F),
+          UINT64_C(0x655221817D4E390F), UINT64_C(0x5DD2D3E83162FE10)}},
+        {{UINT64_C(0x59609390DF024A25), UINT64_C(0xE66A77E908CCBA91),
+          UINT64_C(0xC5CEA91A65E24DB6), UINT64_C(0x0888DFB53DCEA0A7)},
+         {UINT64_C(0x8C8E58CC92FA0754), UINT64_C(0x99C259ABF7DC9538),
+          UINT64_C(0x3A06D8ED9BEFE750), UINT64_C(0x71AF22E1FAACDC97)}},
+        {{UINT64_C(0xCC41D094250AC059), UINT64_C(0xCD792A733BE3DA01),
+          UINT64_C(0x2DA07802CC61EFE1), UINT64_C(0x293AFB0857053A5D)},
+         {UINT64_C(0x3E7E48842FD8A8A0), UINT64_C(0x183FA5000B9B48D3),
+          UINT64_C(0x9CAC07BE431AACF6), UINT64_C(0x4F82D7992DF89F10)}},
+        {{UINT64_C(0xFD9F61A80A84935C), UINT64_C(0x78B948D0BB5A7E56),
+          UINT64_C(0xDA4787660ACCEEB3), UINT64_C(0x47BDAE4453C3851D)},
+         {UINT64_C(0x5AE2C60C0CFE8D0D), UINT64_C(0xAC8F79B31D8A79C9),
+          UINT64_C(0xA958C15E0A79CA31), UINT64_C(0x1C46E20EF0952018)}},
+        {{UINT64_C(0xAE552ECEF04AC529), UINT64_C(0xB295B601E2BFEFBC),
+          UINT64_C(0xECC1EE5554733412), UINT64_C(0x28BCBA5312282094)},
+         {UINT64_C(0x306C078150B25069), UINT64_C(0x10D5D23CE9A18FFE),
+          UINT64_C(0xC34FC5C71BD5489F), UINT64_C(0x2B610028E191867D)}},
+        {{UINT64_C(0x458A1CC13E17E84D), UINT64_C(0x6EAE343D5D7CFB98),
+          UINT64_C(0xC6E0FDAA101F0B7E), UINT64_C(0x0B9F7C2C2A023288)},
+         {UINT64_C(0xBEA893A86F3FCAA0), UINT64_C(0x7D711B2B452B07C0),
+          UINT64_C(0x2895873798E2C88D), UINT64_C(0x553A0180DFD99A2A)}},
+        {{UINT64_C(0x8D617BE80DBA5986), UINT64_C(0xDB763C1413D18594),
+          UINT64_C(0x822CB0DAD2DAD82F), UINT64_C(0x37ACD99F93239947)},
+         {UINT64_C(0x6A2A7070CDC08BE6), UINT64_C(0x86B3B66ACF6D63FF),
+          UINT64_C(0x5BEFF3FB0F7D4A67), UINT64_C(0x05C25557EBC94AE5)}},
+        {{UINT64_C(0x5D1DC08789183418), UINT64_C(0xA25C7AE26EA5A960),
+          UINT64_C(0x074698B9D31F3AAE), UINT64_C(0x5A5B510B221788A4)},
+         {UINT64_C(0x896A87871DCE95FE), UINT64_C(0x89E7B93D7F24020C),
+          UINT64_C(0xFC19BF42865B4334), UINT64_C(0x0389FBF75B78B06D)}},
+        {{UINT64_C(0x73B6DA7B0BB3A3E2), UINT64_C(0xDBC1267044D56755),
+          UINT64_C(0x7AF2DE287CC1C589), UINT64_C(0x7E248FCB697CB6B7)},
+         {UINT64_C(0x9410EC06C64202C0), UINT64_C(0x79C8215875EB3A8C),
+          UINT64_C(0x74FDD2F6E95C5EA9), UINT64_C(0x2A40B5B51CCA72C7)}},
+        {{UINT64_C(0x569842235C29E320), UINT64_C(0x8266392AE871D9E2),
+          UINT64_C(0x9D86C6C77B391763), UINT64_C(0x5E9E61E202543C9E)},
+         {UINT64_C(0xD62A9334D2501D1A), UINT64_C(0x9D19F54D9211135D),
+          UINT64_C(0x66D0B9618FE81272), UINT64_C(0x6E64635AD09C2033)}},
+        {{UINT64_C(0x93BD0AD806F84E11), UINT64_C(0x45F18F2B131AFDBF),
+          UINT64_C(0x881F053F6058EB37), UINT64_C(0x36B8D656948AD0D5)},
+         {UINT64_C(0x53DC2E02E1934E38), UINT64_C(0xA8AD5055C0435B6C),
+          UINT64_C(0x0DF7BD114BD7154F), UINT64_C(0x6350B05E73BC98FC)}},
+    },
+    {
+        {{UINT64_C(0x12AC549604BF927A), UINT64_C(0x9BB322DBE749323E),
+          UINT64_C(0xC10C666DF6D99AD6), UINT64_C(0x0FDF8FB34C883E0A)},
+         {UINT64_C(0x10667F92665272E8), UINT64_C(0xA30D4CE15BF8702F),
+          UINT64_C(0x56314B47A2D6033D), UINT64_C(0x09EC90D9DAC1A10E)}},
+        {{UINT64_C(0x364F06DDC9EB81D1), UINT64_C(0xFD181A564DC5CB76),
+          UINT64_C(0x91CF010CE264567C), UINT64_C(0x71D9A95BA05C02FC)},
+         {UINT64_C(0xAB5AFBA653967407), UINT64_C(0x3FC779139B0AA089),
+          UINT64_C(0xDF1D4912AF29EF02), UINT64_C(0x01C3D61C5796A0A5)}},
+        {{UINT64_C(0x11503A1CB376E8DE), UINT64_C(0x5CB17D6DB8B98321),
+          UINT64_C(0x96C9D585BD8FE9C2), UINT64_C(0x048C8DA7D117171D)},
+         {UINT64_C(0xDF7FABB8B582282A), UINT64_C(0x75C2A93724FD6BB7),
+          UINT64_C(0xDF0DBD3200633701), UINT64_C(0x04FB7AEC039B3E72)}},
+        {{UINT64_C(0xE60CCE960E20C09A), UINT64_C(0xAD295B31116E1C38),
+          UINT64_C(0xCA6B625DC04477D0), UINT64_C(0x032FE03BFFA32E36)},
+         {UINT64_C(0x46334FEEE2AAABC6), UINT64_C(0x9808B03CDA1C6871),
+          UINT64_C(0x76D0E3AAF934A482), UINT64_C(0x2B0BF54AF9CB8F97)}},
+        {{UINT64_C(0xB5D527172CA29D02), UINT64_C(0xF9DAEAFBDBEACF03),
+          UINT64_C(0x3786E64B113A3811), UINT64_C(0x6A01A1A55C30569D)},
+         {UINT64_C(0x0A91E160BA1C28B6), UINT64_C(0x5BFA32BA929D3F05),
+          UINT64_C(0x1108F87540C51084), UINT64_C(0x37FD238342FD5AE1)}},
+        {{UINT64_C(0xABF14EDE2A79BFB8), UINT64_C(0x08B34155AA34300C),
+          UINT64_C(0x85C0DFA064077041), UINT64_C(0x3AE5D28DF542D447)},
+         {UINT64_C(0xC303A0FEB74DC4FB), UINT64_C(0xB75292FA556E0B87),
+          UINT64_C(0x785628B051BDC64C), UINT64_C(0x43FE786E13C579F6)}},
+        {{UINT64_C(0xBC5898CB5F08790F), UINT64_C(0xA298A59A125644EC),
+          UINT64_C(0xD2D9627BB048217A), UINT64_C(0x6DCEEF327B1F23F7)},
+         {UINT64_C(0x7F02FC44FA7B9C6A), UINT64_C(0x90C6496073597BF7),
+          UINT64_C(0x5DD7E4F42CB0B3A2), UINT64_C(0x5EC5F92C43E83553)}},
+        {{UINT64_C(0xC06B4D4959E2C8E9), UINT64_C(0x7DBC82181DF8AD8B),
+          UINT64_C(0x35570120DAE8B6D7), UINT64_C(0x4222A1BA0CDE2691)},
+         {UINT64_C(0xD2F1EFA6C1693046), UINT64_C(0x2707228D7D36D9CD),
+          UINT64_C(0xD668EE25062D499C), UINT64_C(0x7AC81BDFCE2621A0)}},
+        {{UINT64_C(0x3A9F04BB16F6A215), UINT64_C(0x739BB2BC89E5494E),
+          UINT64_C(0xCB8DBAE8D1CEB043), UINT64_C(0x6B177DF009A6B465)},
+         {UINT64_C(0xB7C4980E1A529744), UINT64_C(0x3941B9970E9012B5),
+          UINT64_C(0xDF317B9504C6D677), UINT64_C(0x17898D81829F51D6)}},
+        {{UINT64_C(0x3D48FD66A12282BA), UINT64_C(0xB775465B899E5A1A),
+          UINT64_C(0xDE0CCB9955D95C35), UINT64_C(0x4CB3CCDD950AB9DF)},
+         {UINT64_C(0x0B4ABA02175C4CAE), UINT64_C(0x2DA7C698CF86187C),
+          UINT64_C(0x3A4453DF9A9BF6CA), UINT64_C(0x53C86F9C8BB9F543)}},
+        {{UINT64_C(0x806B815E5B7DB133), UINT64_C(0x2451D6AC118FA7C1),
+          UINT64_C(0x32C148B6FB0BEFC3), UINT64_C(0x2E6ECEF6E433031E)},
+         {UINT64_C(0x2B78F31754B2EE29), UINT64_C(0xBC321BF95A73BF01),
+          UINT64_C(0xDF6F7840F8F7F981), UINT64_C(0x751A917A22280C40)}},
+        {{UINT64_C(0x73EFA6314F9161C8), UINT64_C(0xB61C5E6821145C52),
+          UINT64_C(0x609477736A04DC52), UINT64_C(0x758E38FF2C2073B2)},
+         {UINT64_C(0xDC6FEA7303A54541), UINT64_C(0x5E77682CB6E65787),
+          UINT64_C(0xAFEF6C1C37370FD0), UINT64_C(0x33DEEF00D5AC255A)}},
+        {{UINT64_C(0x1AD81101061D35CC), UINT64_C(0xD55EED7D8A77D246),
+          UINT64_C(0x8D59DC22926E64C3), UINT64_C(0x76C9D6CEAFC6FFA6)},
+         {UINT64_C(0x945A89B53F4FCC0F), UINT64_C(0x65EB52CF9087F46A),
+          UINT64_C(0xC3380377AE9F09DE), UINT64_C(0x59067EDD43DFD5FB)}},
+        {{UINT64_C(0xCBB7BC66CF841445), UINT64_C(0x9ED681D3A3BE7C94),
+          UINT64_C(0xF5CF59BE396C6DD5), UINT64_C(0x2598A5DCFA763634)},
+         {UINT64_C(0xAD2B445A85CF4FDE), UINT64_C(0xC8CE3F42A0D92F4C),
+          UINT64_C(0x78356D5BF01CD0F5), UINT64_C(0x26E44A455D50C9D7)}},
+        {{UINT64_C(0x22EB53E34EDF35A5), UINT64_C(0xA0C6CDEFAF1A8A60),
+          UINT64_C(0x1D31BA2CD07C1EBD), UINT64_C(0x513511A0D2C2ADE1)},
+         {UINT64_C(0xBD3772D4C4449889), UINT64_C(0xAF5EF819D3F49C61),
+          UINT64_C(0xAAF2159940047745), UINT64_C(0x2128938CA54B8080)}},
+        {{UINT64_C(0x9761A94A73ADBEC8), UINT64_C(0x4710BBF01FB2F257),
+          UINT64_C(0xFE52603EB3920007), UINT64_C(0x663937507DE06F13)},
+         {UINT64_C(0x35F4E633965AC706), UINT64_C(0xF49DC41833F953E5),
+          UINT64_C(0x1562AD5131CFE467), UINT64_C(0x035FB54D8ADB1F7A)}},
+    },
+    {
+        {{UINT64_C(0xF632081FFD73062E), UINT64_C(0xB2740C19CB740B59),
+          UINT64_C(0x2DFD957F8751E315), UINT64_C(0x5722E015C21039C2)},
+         {UINT64_C(0x44781BFCA4E56D39), UINT64_C(0x894BD2F7DA2FBE63),
+          UINT64_C(0x9E81007B5DE22DE0), UINT64_C(0x0CED0859C68788FC)}},
+        {{UINT64_C(0x97DD8CF18DDA6292), UINT64_C(0x3E9191F727FCF7F1),
+          UINT64_C(0x07885E32DAA6AD44), UINT64_C(0x624CE66EBE9F7E62)},
+         {UINT64_C(0x0483DA421893A3D9), UINT64_C(0x1041B7EA8F2A105F),
+          UINT64_C(0x5B706F99429A24B9), UINT64_C(0x30BFBCEE167C12E1)}},
+        {{UINT64_C(0xEB2C7218C38251D8), UINT64_C(0x5FE5D8F6022B6411),
+          UINT64_C(0xF62200C193DCCB63), UINT64_C(0x2CF0F8F1CFF221E6)},
+         {UINT64_C(0xDCF1BCD69217EE42), UINT64_C(0x1904879C9DB2580B),
+          UINT64_C(0x2DDB7E5DF6510164), UINT64_C(0x7BB299858A0EAC6B)}},
+        {{UINT64_C(0x98313C0E0FCF8397), UINT64_C(0xB594D0B742C8EEF1),
+          UINT64_C(0xBD31FC3497E842F7), UINT64_C(0x49476B9D8F3ADB9B)},
+         {UINT64_C(0xD1B5FD3750B45445), UINT64_C(0x526C51CAD583A89F),
+          UINT64_C(0x5D461F096782C060), UINT64_C(0x414023EC27274A60)}},
+        {{UINT64_C(0x7C809B26EAE4285A), UINT64_C(0x939814BF0A066043),
+          UINT64_C(0x9CBAC0BB6C640E3D), UINT64_C(0x647E22E130EB1B86)},
+         {UINT64_C(0x21E2A42D3C7DFA0D), UINT64_C(0xFF8CC304E2CD0CCE),
+          UINT64_C(0x3DC8C9203496964C), UINT64_C(0x5D91FE782B4DF7C2)}},
+        {{UINT64_C(0xD5BBBD6E96D84346), UINT64_C(0x8363527BF91FFA8C),
+          UINT64_C(0x931D0FDA7F408588), UINT64_C(0x2C51F17BB0B19D0F)},
+         {UINT64_C(0x7A693804FF61C86D), UINT64_C(0xBAB4AC45B3FFD529),
+          UINT64_C(0xEDEA275F4C171C84), UINT64_C(0x0520925CD59B94D9)}},
+        {{UINT64_C(0xB6A620AAE8718BB4), UINT64_C(0x67851F0F88D37A61),
+          UINT64_C(0xCBEE8DBC9984A787), UINT64_C(0x7190B766AE834635)},
+         {UINT64_C(0x3A1D7DB4C9AC1A8E), UINT64_C(0x6EEBD5AD7B97BCB7),
+          UINT64_C(0x609786259D0AB769), UINT64_C(0x5AD56C0C7C7F02DD)}},
+        {{UINT64_C(0x2C0003DE2DB3B6F2), UINT64_C(0x3BE1CE3FEFCF1DD8),
+          UINT64_C(0xE2F79872379E6B8A), UINT64_C(0x3F9640D80B898094)},
+         {UINT64_C(0x11EBD93715B29D41), UINT64_C(0xD6A076B93EF17D8C),
+          UINT64_C(0x0A2C0016B38ED3BA), UINT64_C(0x64329A02CCB161CC)}},
+        {{UINT64_C(0xD135032DB1ED1DEA), UINT64_C(0x43F7684842F734A0),
+          UINT64_C(0x1F6C12BD3C18D8C5), UINT64_C(0x7D7757B7C0A304E8)},
+         {UINT64_C(0x3F0C2867DE3B6B9F), UINT64_C(0x72F98EBBB7201E4F),
+          UINT64_C(0xCC408000940E748D), UINT64_C(0x34FE6D8FAD74B322)}},
+        {{UINT64_C(0xA12A9359E6D884FE), UINT64_C(0xB080A081DE063103),
+          UINT64_C(0x672DE27D97ABB854), UINT64_C(0x712B0883EE6F3485)},
+         {UINT64_C(0xF430BF2D2044A2A2), UINT64_C(0x665610207D12027A),
+          UINT64_C(0x5ED63AD22C539C3B), UINT64_C(0x7982AAD0FE5EE1D1)}},
+        {{UINT64_C(0x873DC8F63BE94D26), UINT64_C(0x909236394B41BD76),
+          UINT64_C(0xE439A4960CBE4B5C), UINT64_C(0x424F8D2411782BF1)},
+         {UINT64_C(0x6612BD9949686ED9), UINT64_C(0x78157AA9FB04E27E),
+          UINT64_C(0x844E1616805F809C), UINT64_C(0x717AEB3262CB8BCD)}},
+        {{UINT64_C(0xE98C1A0E5248CF6A), UINT64_C(0xC84294A8B0E4ADF8),
+          UINT64_C(0xD35748A4A7769275), UINT64_C(0x2C3867E103363C82)},
+         {UINT64_C(0x2EC7AF438F43885A), UINT64_C(0x7979D1A23AE516C7),
+          UINT64_C(0x059939EC8B81056C), UINT64_C(0x434AA4DD7E358480)}},
+        {{UINT64_C(0x12EA1C874A5228EA), UINT64_C(0x47B481984D293B9F),
+          UINT64_C(0x319CE379E9696688), UINT64_C(0x7C9FF5957CE6FD05)},
+         {UINT64_C(0x15E954DF3093E3E4), UINT64_C(0xBC98307C304015AF),
+          UINT64_C(0x66522DF8975C69C5), UINT64_C(0x4C9EBFB3963CE892)}},
+        {{UINT64_C(0x1CEEF18A628FB125), UINT64_C(0xFB69A2344BF30BB6),
+          UINT64_C(0x510EB33970C9C864), UINT64_C(0x1EE9D1ED8A89151D)},
+         {UINT64_C(0x340940284EE1A486), UINT64_C(0x664401672FC79CEE),
+          UINT64_C(0xB597625AC7DA3A75), UINT64_C(0x6E5B920E65205AF9)}},
+        {{UINT64_C(0x749D0CA4D87C914C), UINT64_C(0x55ECBEBB0D60C59E),
+          UINT64_C(0x916A1127A65B4652), UINT64_C(0x503964D44E4767A3)},
+         {UINT64_C(0x8899A4C21B1F94D5), UINT64_C(0xEFFCAF5233E0D94D),
+          UINT64_C(0x61B89B3FA3DAD87D), UINT64_C(0x3CB455F55088D6BE)}},
+        {{UINT64_C(0x5088A52B70678C14), UINT64_C(0x212823D941B00FC3),
+          UINT64_C(0x38D5CEB619865BDB), UINT64_C(0x2E9C7FD712E63491)},
+         {UINT64_C(0x6656F91659E73913), UINT64_C(0x57AE9A47E9035A63),
+          UINT64_C(0x970DCF2BF02B8DAE), UINT64_C(0x3366F8A6950FF8A9)}},
+    },
+    {
+        {{UINT64_C(0x93DABD6FAC4A8F83), UINT64_C(0x272334881CFF0AAD),
+          UINT64_C(0xBCAC3181F500EDFB), UINT64_C(0x27C6DB15B5297515)},
+         {UINT64_C(0x9CD142D92F08A89F), UINT64_C(0x3C0054232EAD0A80),
+          UINT64_C(0x82845F9544A7623A), UINT64_C(0x5104707072BC4862)}},
+        {{UINT64_C(0x4303797ADC1B9159), UINT64_C(0x7842434B5D9C9AC1),
+          UINT64_C(0x8A36ED2D6009FE2E), UINT64_C(0x11FE35C95106429C)},
+         {UINT64_C(0xDF20A39323554A92), UINT64_C(0x59364A48932E37C2),
+          UINT64_C(0x6D7DE6AE7754A5DF), UINT64_C(0x00CCC6A3462725AC)}},
+        {{UINT64_C(0xB1F86CA5BAE83077), UINT64_C(0x82FE28A55110782C),
+          UINT64_C(0x8031BBF3D942182C), UINT64_C(0x4F1F3815410D9F83)},
+         {UINT64_C(0xE57F9907835ABA65), UINT64_C(0x0A8220C25AA10903),
+          UINT64_C(0x2E9847178812602E), UINT64_C(0x0AEC467D2A7D2C6C)}},
+        {{UINT64_C(0xC779F708C4DBED03), UINT64_C(0x10A30CD88582BD4E),
+          UINT64_C(0xFA5646C5243FEAEE), UINT64_C(0x1CFAF38ECA459EF7)},
+         {UINT64_C(0xCCDD014695BC8077), UINT64_C(0x4ECDE91965858C49),
+          UINT64_C(0x562764C677FEE1B6), UINT64_C(0x3CF5A3AB43524407)}},
+        {{UINT64_C(0x0CCEAADD0F6EF445), UINT64_C(0x690C12C1C297AFAF),
+          UINT64_C(0xD67AA6EAC15B3D7B), UINT64_C(0x445D233C9FF8884E)},
+         {UINT64_C(0xC38FFD096CAD3234), UINT64_C(0xA690FFD1C7002F6F),
+          UINT64_C(0xD445E85111ACB469), UINT64_C(0x64EE138097166E52)}},
+        {{UINT64_C(0x1EB031CCCEFBFB0A), UINT64_C(0x60F3DEF4AA40D6A9),
+          UINT64_C(0x240F7CA5F96FCAFE), UINT64_C(0x53AF2F10E4450A06)},
+         {UINT64_C(0xE8AF980FA84058EF), UINT64_C(0x3E30001734AFFC6E),
+          UINT64_C(0x62D1D094C86B458C), UINT64_C(0x5338383D75732C7E)}},
+        {{UINT64_C(0x6BD46AEB04D82638), UINT64_C(0x86940A3162E645A0),
+          UINT64_C(0xD025B4B1A5736B40), UINT64_C(0x1056D9D0924E8E5E)},
+         {UINT64_C(0x3D0495CC1DB58101), UINT64_C(0xC300C6E72D677581),
+          UINT64_C(0xFE38B898610AECEC), UINT64_C(0x1C8B94E2D66F64ED)}},
+        {{UINT64_C(0x5C9C3A3706D0C7EC), UINT64_C(0x6B4B5437B8A74918),
+          UINT64_C(0x85689C989052A235), UINT64_C(0x4F7C2C8D87B53AA6)},
+         {UINT64_C(0x9FCD866FD8F1D334), UINT64_C(0xDBAAA2276898223C),
+          UINT64_C(0x933DE9DA95C7B35A), UINT64_C(0x329AE20F3EA949FD)}},
+        {{UINT64_C(0xB83547AF948A2ECD), UINT64_C(0xEBF7C1E7BE34890C),
+          UINT64_C(0x5F0F44F3F8211C33), UINT64_C(0x14A10BDBC6927638)},
+         {UINT64_C(0x7FD885675B579BF5), UINT64_C(0xD7C712815B7417F0),
+          UINT64_C(0x7C04F1112083502E), UINT64_C(0x42029128E9AD6283)}},
+        {{UINT64_C(0x32FBFFAE2C5C0928), UINT64_C(0x4E31D3121469F1D3),
+          UINT64_C(0x17307E28D79F51A2), UINT64_C(0x546C91AF79A51EBD)},
+         {UINT64_C(0x041D464D668086A6), UINT64_C(0x4986BDE50DB695DB),
+          UINT64_C(0xCBA5F6EEEF317AA0), UINT64_C(0x5879259F730221D3)}},
+        {{UINT64_C(0xBD9C5CA5253BB4BA), UINT64_C(0xBBFC60790E2A75BB),
+          UINT64_C(0xB5F11AE367AB9033), UINT64_C(0x6411CB1EAC2BFAFE)},
+         {UINT64_C(0x750734FEBF5390B0), UINT64_C(0xA044BED4879A3D3D),
+          UINT64_C(0xE1E9F0E4A0C47093), UINT64_C(0x3BCAD93EB64DA48C)}},
+        {{UINT64_C(0xAFC6BCB6B37E16C2), UINT64_C(0xB54F56C02331B0CD),
+          UINT64_C(0x725E81B45BBFBEE7), UINT64_C(0x2AE0C039E8B9D922)},
+         {UINT64_C(0x85301041DB958319), UINT64_C(0xDFAE34DD0681C4A4),
+          UINT64_C(0x906C9219CBF7BB2B), UINT64_C(0x1463E9EF10A1710A)}},
+        {{UINT64_C(0x41E6C38821E6FC9D), UINT64_C(0x0B629A1E24A39EC8),
+          UINT64_C(0xC62F60BE1AEF7A46), UINT64_C(0x59A50B54C5A16B6E)},
+         {UINT64_C(0x41CA367A285B891E), UINT64_C(0x70A6CE6BE2F8AF59),
+          UINT64_C(0x74058747CBCEEF98), UINT64_C(0x4B912170601C375F)}},
+        {{UINT64_C(0x7D975CE2734EE866), UINT64_C(0x8D3572C6A09F5F14),
+          UINT64_C(0x1DB4CC882232EE5E), UINT64_C(0x6C9790497C04C250)},
+         {UINT64_C(0xB5EC7706AE1EBC20), UINT64_C(0x7BDBD34DE21AAA32),
+          UINT64_C(0xAD4125FDC5D1C733), UINT64_C(0x28B0302D731E6B09)}},
+        {{UINT64_C(0xD68EEC491521415E), UINT64_C(0x31963424092763C0),
+          UINT64_C(0xCA90F48D0BFB513B), UINT64_C(0x4814DDFF573A056A)},
+         {UINT64_C(0x7E67599C400E804D), UINT64_C(0x3545275051FD0596),
+          UINT64_C(0x45EDD7FBDB331B66), UINT64_C(0x172DA8B3BDEDE107)}},
+        {{UINT64_C(0xD46F284CB5BEB1C8), UINT64_C(0x5DE5D3F17B125701),
+          UINT64_C(0xC3BA591E248053D1), UINT64_C(0x4E67F1F29C8F487C)},
+         {UINT64_C(0x380D93E48C252EC5), UINT64_C(0x913F96F122BC5CF6),
+          UINT64_C(0xC1F06BBDD7BAA634), UINT64_C(0x7B625179A30BF1B9)}},
+    },
+    {
+        {{UINT64_C(0x125D398DABD424AC), UINT64_C(0xFE65DF039CC70479),
+          UINT64_C(0x89A31794FB5EC82C), UINT64_C(0x63EFFB55A31C5DCA)},
+         {UINT64_C(0x948F7571045B576A), UINT64_C(0xEC9F6FAB022B5FC8),
+          UINT64_C(0x174DC936BD9F0DD2), UINT64_C(0x5EEA65E6F4C4EE8B)}},
+        {{UINT64_C(0xE97070AE8B800D67), UINT64_C(0xB9CB66FAB59B433E),
+          UINT64_C(0xC4496574C6141364), UINT64_C(0x530AA9B56A9677EA)},
+         {UINT64_C(0x4A4E2EE375200533), UINT64_C(0x4C38A5090F20A9BE),
+          UINT64_C(0x0A6FFBA4EA683510), UINT64_C(0x7340EFEE65732EA9)}},
+        {{UINT64_C(0x3A5612E4E41C2B43), UINT64_C(0x31F51B80FCB5C0A8),
+          UINT64_C(0x4C5BBA64BD1F03E6), UINT64_C(0x253872433694ADCA)},
+         {UINT64_C(0xF114EFAF1F7E4D5C), UINT64_C(0xBEA5223A4EA3A59D),
+          UINT64_C(0x82CEF46F67EB414D), UINT64_C(0x09D351C19B6CAC3D)}},
+        {{UINT64_C(0xC69F25CE810F5054), UINT64_C(0xE33E5E97548A2CDF),
+          UINT64_C(0x20B3F44236946D3C), UINT64_C(0x572C0F5C65DF2D3B)},
+         {UINT64_C(0xFC5B2DF3CC953CC8), UINT64_C(0x934D54C0D1CCADC6),
+          UINT64_C(0x828A906EA6E7B4DB), UINT64_C(0x610D36C15AD3076F)}},
+        {{UINT64_C(0x960B0A0174F56E27), UINT64_C(0x9942C6ACCF3FEA75),
+          UINT64_C(0x2E4D786D82C51490), UINT64_C(0x23A516369A4749C9)},
+         {UINT64_C(0xD86AB36A2F7560FC), UINT64_C(0xDA66B49DDDB852A9),
+          UINT64_C(0x84E1587D544C1023), UINT64_C(0x7AB8BC696AA3C1DA)}},
+        {{UINT64_C(0xFD0397AFA5F30701), UINT64_C(0x96FFB15DDFC8B187),
+          UINT64_C(0xF2C864531475E520), UINT64_C(0x71521986EF37300E)},
+         {UINT64_C(0xD81F75A868006D45), UINT64_C(0xDF7814EACBC06D4D),
+          UINT64_C(0x5BCF959B2E8E9150), UINT64_C(0x146D37D756668C18)}},
+        {{UINT64_C(0x1ABD731288E8DC77), UINT64_C(0x0B34B877C1C3A4DB),
+          UINT64_C(0x85739093F844BACE), UINT64_C(0x5DEDCF8F04A7CF80)},
+         {UINT64_C(0xD8BB237ED87CDBDC), UINT64_C(0x89852174CCBA784F),
+          UINT64_C(0x6843BAB8B2FAECC3), UINT64_C(0x15268302AA4BBA32)}},
+        {{UINT64_C(0x3B58225AB23D3770), UINT64_C(0x9357EB5910CC9DE6),
+          UINT64_C(0x8665F92A42ECF80E), UINT64_C(0x4819CC9DC875C031)},
+         {UINT64_C(0x09CBE5D8C34B979B), UINT64_C(0x161E8AC07E1D0E63),
+          UINT64_C(0x874DF24F282E36E8), UINT64_C(0x6528E6FA0712A0CD)}},
+        {{UINT64_C(0xE37AD786107633E4), UINT64_C(0x122D7123CF1FE646),
+          UINT64_C(0x1E6E682BCFA93AC0), UINT64_C(0x0A25F4EE276200DB)},
+         {UINT64_C(0x44E290EDE25FBB01), UINT64_C(0x3E392DF5C3C1B418),
+          UINT64_C(0xE5E1574583EBE689), UINT64_C(0x016139D24B999926)}},
+        {{UINT64_C(0x048915B065D7DA58), UINT64_C(0x6EF7C4EFA78F3D9E),
+          UINT64_C(0x78CCCE55AD614974), UINT64_C(0x43DB7DA054B95643)},
+         {UINT64_C(0xFC423B70E53F1A67), UINT64_C(0x8F8BED814EFE2427),
+          UINT64_C(0xF5D6AD5F95B045EB), UINT64_C(0x23582D5DD7407716)}},
+        {{UINT64_C(0x9E5D24FB9F674472), UINT64_C(0x1AE1863668626041),
+          UINT64_C(0x8977E68F7ABC4380), UINT64_C(0x7D9FF8E805AF2D04)},
+         {UINT64_C(0x9D31195F4197C4E1), UINT64_C(0x9F3F6E114400F35E),
+          UINT64_C(0x1A87D5867BBEF801), UINT64_C(0x42AE0380952BB025)}},
+        {{UINT64_C(0xC6A3ED756B96482B), UINT64_C(0x58B38724A9C6DD2F),
+          UINT64_C(0x464C8CE89297FB47), UINT64_C(0x0245797EFB6D6C55)},
+         {UINT64_C(0xBE141C80C0B58C8F), UINT64_C(0xC4C405CB77766C48),
+          UINT64_C(0xD57EE428D10C0F31), UINT64_C(0x03D4862B50E8FE7B)}},
+        {{UINT64_C(0x21976F8A1DC3722C), UINT64_C(0x02EC30D55F476F0D),
+          UINT64_C(0xD711E01DCA434B06), UINT64_C(0x551AC91099FF2488)},
+         {UINT64_C(0x24AEC72DA56CA3C7), UINT64_C(0x2DD1219A891896CE),
+          UINT64_C(0xD84BAD1967882925), UINT64_C(0x27E65D7F9D4778EF)}},
+        {{UINT64_C(0x09F19C8F4685687F), UINT64_C(0xB7C7B9E3BBB58BD3),
+          UINT64_C(0x349D03A78FA34DD5), UINT64_C(0x41F9D0038D59E889)},
+         {UINT64_C(0xCF3367D42B3ED6FA), UINT64_C(0xCF3C6715378DA1ED),
+          UINT64_C(0x86DC39034E935E9A), UINT64_C(0x50692CFFF08CB23A)}},
+        {{UINT64_C(0x18CA772AC2D65C87), UINT64_C(0xC9092B384F1D0CB6),
+          UINT64_C(0x91E71CF1BBD2015A), UINT64_C(0x4A09DAAC4F3DEF26)},
+         {UINT64_C(0x7CCA7B4A735C9281), UINT64_C(0x2028F1441BF0AAEE),
+          UINT64_C(0xCF72A082ACB5B748), UINT64_C(0x58957D5D43299B85)}},
+        {{UINT64_C(0x64BB164E901F1789), UINT64_C(0xC68766E65AEF97BF),
+          UINT64_C(0x30ECA3E2942B6DCE), UINT64_C(0x632676FAF9E798F3)},
+         {UINT64_C(0xB52533D3F13896EE), UINT64_C(0xAD9128312D8A29C1),
+          UINT64_C(0x12F1B9A4BC14E7FF), UINT64_C(0x4E1D23FD8828D196)}},
+    },
+    {
+        {{UINT64_C(0xC4F89E00EF494793), UINT64_C(0xA6044BC3C93D2F55),
+          UINT64_C(0x68E60B588797F8AF), UINT64_C(0x4D5969FA841E4B5E)},
+         {UINT64_C(0xB1EE70FBD759BB2D), UINT64_C(0x9AC3043366D8AD01),
+          UINT64_C(0xD93F23DB84E9F677), UINT64_C(0x2AD9D16FC53029A4)}},
+        {{UINT64_C(0xD01FC16BDD882D23), UINT64_C(0x3BF921F1FA5B4128),
+          UINT64_C(0x3D3FE145235BC9CE), UINT64_C(0x5955671662E686E1)},
+         {UINT64_C(0xE329A7C279F99D69), UINT64_C(0xA67EF5ECA4F5F5F5),
+          UINT64_C(0xF96A41EED5A34FF0), UINT64_C(0x09D0CF0674674B5F)}},
+        {{UINT64_C(0x8CCDF71C6135B7E2), UINT64_C(0x91F1E33EAFB6AD6B),
+          UINT64_C(0xC452F439DB0CFEDF), UINT64_C(0x15724711C05B06D4)},
+         {UINT64_C(0x5FEE0E0EA3BC1277), UINT64_C(0xD6847FAD8D8BA081),
+          UINT64_C(0x8B02666C0D4C8DDD), UINT64_C(0x149E5009C35559DB)}},
+        {{UINT64_C(0xB4D0D2C95461D9CA), UINT64_C(0xFE7993B6CE0A3973),
+          UINT64_C(0x42B2A500D6032E95), UINT64_C(0x4DEEE35A217131C6)},
+         {UINT64_C(0x94E65C8CFFE7C2EB), UINT64_C(0x0DAD7785B19D4B4A),
+          UINT64_C(0xEEBA6794925613F9), UINT64_C(0x6AF45BBEE30494CB)}},
+        {{UINT64_C(0x41352A6132F43F67), UINT64_C(0x0D218DE948F886D3),
+          UINT64_C(0xCDFC0C559B33B0F6), UINT64_C(0x21FC63536C5B90CD)},
+         {UINT64_C(0x5D8CA5AD7898AFF2), UINT64_C(0xA743F80E24287C30),
+          UINT64_C(0x4D0371319084A3A2), UINT64_C(0x52041EEDB5EFC978)}},
+        {{UINT64_C(0x80B588EECC1BCFCB), UINT64_C(0xAD871A11E5CE0035),
+          UINT64_C(0xF47224D0F966D746), UINT64_C(0x5215A9D2B387FCC2)},
+         {UINT64_C(0xC54EB2E7695C02AF), UINT64_C(0x36FD06BCDFC8493D),
+          UINT64_C(0x1CE8A9AA98CE7C76), UINT64_C(0x058DFCBF644D398B)}},
+        {{UINT64_C(0xCD7E67DC5BB81464), UINT64_C(0xE7A19301047A7789),
+          UINT64_C(0xCCC31EE5573E837B), UINT64_C(0x25EE99AFAF7703D5)},
+         {UINT64_C(0x34FDD6DADDB3E807), UINT64_C(0x273D8288109092DD),
+          UINT64_C(0xF8F2464FB7357633), UINT64_C(0x26B2CBADCCAA31D5)}},
+        {{UINT64_C(0xBA9CFEDEF707F9F7), UINT64_C(0xA9A6896CAC4975FB),
+          UINT64_C(0x62135D9DBB1C35E4), UINT64_C(0x13AE840FCBA133D2)},
+         {UINT64_C(0x6ABF39134C2BA3A9), UINT64_C(0xE4D8508A6D8A62C1),
+          UINT64_C(0xF256535466D96607), UINT64_C(0x5C368CCEB6CABAE8)}},
+        {{UINT64_C(0x0C3B52E88B3999BB), UINT64_C(0xB752E28FEF691871),
+          UINT64_C(0xA0460ABCF17D0D2D), UINT64_C(0x7DDCE3C1B7741F2C)},
+         {UINT64_C(0x076A6BAB3673000F), UINT64_C(0xCDB1CD2B425E8A9D),
+          UINT64_C(0x357FCFFF2606EAB5), UINT64_C(0x308644F8035DE7B4)}},
+        {{UINT64_C(0xBA64A1276D6FF45E), UINT64_C(0x1F52B6AE6B0C3CEF),
+          UINT64_C(0x91295179CBF496CB), UINT64_C(0x2B986FADA1B12BE4)},
+         {UINT64_C(0x243D236644DBAF57), UINT64_C(0x48E22BBA346E88C2),
+          UINT64_C(0xCDFB79578BBAFA0D), UINT64_C(0x094ED36E0D70670E)}},
+        {{UINT64_C(0x2BAD1539A0D60407), UINT64_C(0xC1A9286E6E744111),
+          UINT64_C(0x6D08C0DB81A6DCAA), UINT64_C(0x108F35EC80AFB34F)},
+         {UINT64_C(0xBE79A6E31E3E34AE), UINT64_C(0x206EAA2816D524E5),
+          UINT64_C(0x563B6E1C344ABA64), UINT64_C(0x6C362A613207CA68)}},
+        {{UINT64_C(0x04D8145BEF9A9A0F), UINT64_C(0x8B57559BA15B6247),
+          UINT64_C(0x72D53570303AFBF3), UINT64_C(0x01C36B41D6DB5736)},
+         {UINT64_C(0x94D583C91173B5FA), UINT64_C(0x71F8E12D013C8AAA),
+          UINT64_C(0xA4B5A532F29CB838), UINT64_C(0x4B1797007CE4EBA4)}},
+        {{UINT64_C(0x69CFA7B00CE86FC3), UINT64_C(0x3705D7C0D60E076C),
+          UINT64_C(0xB1A1464AB1091E10), UINT64_C(0x097945A97FE80950)},
+         {UINT64_C(0xD9C71A959AA381E3), UINT64_C(0x2A929073A410FF56),
+          UINT64_C(0x79EF8353F0FEB121), UINT64_C(0x1437C4B05F3107E5)}},
+        {{UINT64_C(0xC5128C8B621DB2E5), UINT64_C(0x4E9C9B2E51A9499A),
+          UINT64_C(0x11535880D8CD7594), UINT64_C(0x35A26F59B0697C07)},
+         {UINT64_C(0xAB3F4B75C43B624E), UINT64_C(0x69F82105B8E03E6B),
+          UINT64_C(0xFB268288FB04E036), UINT64_C(0x6A5E6BD3A0BDB41C)}},
+        {{UINT64_C(0x8C716A1AC8082916), UINT64_C(0xB1D1B1524592472C),
+          UINT64_C(0x63657A6D3AB6938A), UINT64_C(0x44882EB6F03214AE)},
+         {UINT64_C(0x19575B8AC615AF7D), UINT64_C(0x14D740C135EE3D98),
+          UINT64_C(0xBC478E8957768D2D), UINT64_C(0x30CC8FA213FC5E4C)}},
+        {{UINT64_C(0x705607C54EBE1E7C), UINT64_C(0x631E5B88284EDA2B),
+          UINT64_C(0x07E9E39C07F54DDB), UINT64_C(0x4E554D888DCF6BC5)},
+         {UINT64_C(0x12E9FB200CBAB0FE), UINT64_C(0x6F3BC7CEBA5E007F),
+          UINT64_C(0xA770BA1DBC871DF6), UINT64_C(0x541AA4C6FE01142C)}},
+    },
+    {
+        {{UINT64_C(0xBFE26700F2412EC7), UINT64_C(0x0E975796CFE96AF4),
+          UINT64_C(0x7D30BF7CDD6B04F7), UINT64_C(0x5421925DF1D8FCE4)},
+         {UINT64_C(0x1CF5E9F5EC709107), UINT64_C(0x124FCFC2B4580AA9),
+          UINT64_C(0x02F7012B67A835B3), UINT64_C(0x753FE01B47C0760F)}},
+        {{UINT64_C(0x82FD5D47B1D2A896), UINT64_C(0x7EABC17554E75DDB),
+          UINT64_C(0x724FC3A81AB080BC), UINT64_C(0x363D6016A75C31DD)},
+         {UINT64_C(0x5D465FF2863F308F), UINT64_C(0x9EC70664E515ADCB),
+          UINT64_C(0x4BD7A1A2B3BC206A), UINT64_C(0x2022576C4A167D34)}},
+        {{UINT64_C(0xF5AC34515CD6AC65), UINT64_C(0x7629731E5839F554),
+          UINT64_C(0xA3260AE393545A60), UINT64_C(0x49D190E8A7AD1979)},
+         {UINT64_C(0x5AA8492FF0B35045), UINT64_C(0x4A5FAB7B2584E651),
+          UINT64_C(0x5A05420E395E2AAE), UINT64_C(0x30613C78547B4038)}},
+        {{UINT64_C(0x47E1C59DF9DAE7E6), UINT64_C(0x8D68839B247A5A9D),
+          UINT64_C(0x663B5977C1A80D5E), UINT64_C(0x5E51F87240D8CF32)},
+         {UINT64_C(0x88ADBF9EECE49494), UINT64_C(0x40B4AC5C1792BAE8),
+          UINT64_C(0x278200D19A1B3314), UINT64_C(0x7D15320ED9F83584)}},
+        {{UINT64_C(0xFE6DAA74EAF2BFF8), UINT64_C(0x6E4EE4C0C156AA6B),
+          UINT64_C(0xD9310FF8D0F4E7D5), UINT64_C(0x552EEF9E7BB0C42D)},
+         {UINT64_C(0x323FF6F1FDC69E1A), UINT64_C(0x00FA66B741D79365),
+          UINT64_C(0x0006B16EA96B22B4), UINT64_C(0x71BBC653D20F07BE)}},
+        {{UINT64_C(0x89A7B7EEA440FA1C), UINT64_C(0x52BB5278757CD658),
+          UINT64_C(0xC5906F4BB0CDDEA4), UINT64_C(0x66AAAFEE5DE2D8DA)},
+         {UINT64_C(0x4D5E016A53B6E226), UINT64_C(0xA2F73DC61993A1D7),
+          UINT64_C(0x7CDD4C1DA09DD554), UINT64_C(0x6F723079AB416627)}},
+        {{UINT64_C(0xE641639EC4E5C4AF), UINT64_C(0x8BC6100D371CC648),
+          UINT64_C(0x7BD161B19B216E8A), UINT64_C(0x58098AEBF810DB32)},
+         {UINT64_C(0xEE52BB465AD92372), UINT64_C(0x4B2C48E1EEF938CA),
+          UINT64_C(0xE8FDE4D6AB43A5D0), UINT64_C(0x459274CDA5284C83)}},
+        {{UINT64_C(0xA98925B0D015095D), UINT64_C(0xC8969F5F4611A1A5),
+          UINT64_C(0xBDDCD62F2CE4663B), UINT64_C(0x1C9D9007A076C8BE)},
+         {UINT64_C(0xE8DE8890749F7BE5), UINT64_C(0xC9E455E7FF208E75),
+          UINT64_C(0xDCEE17A98F5FAC9A), UINT64_C(0x776B72D368A3A666)}},
+        {{UINT64_C(0x28C7D648FEE0E89A), UINT64_C(0x621B370F463AF60D),
+          UINT64_C(0x9DC1548E5ADC8ACD), UINT64_C(0x48032ACFA0B49504)},
+         {UINT64_C(0x146C6EAC85E992D5), UINT64_C(0x5A2CB5775CB491E0),
+          UINT64_C(0x669DD6D4454C120A), UINT64_C(0x3431AB3398203C39)}},
+        {{UINT64_C(0xE87615039DE017BF), UINT64_C(0xAB117D2FB60AE61F),
+          UINT64_C(0x0846463F827937FF), UINT64_C(0x45E6BD406BD89C65)},
+         {UINT64_C(0x3160AD67A613BDB8), UINT64_C(0xBD5266F3B8714A49),
+          UINT64_C(0xF7D29C4751A233E4), UINT64_C(0x6887B48D4DE6A90C)}},
+        {{UINT64_C(0x087290A5DFDE1EF8), UINT64_C(0xC70CCB52A166950A),
+          UINT64_C(0xAA7F095B4A170AAE), UINT64_C(0x15301F4E5517CA0B)},
+         {UINT64_C(0x3C86B787302F1F84), UINT64_C(0x95D4153544676E39),
+          UINT64_C(0xBFEC4AE39DF5F751), UINT64_C(0x4A0D3986304923D3)}},
+        {{UINT64_C(0x70FAABA979B1390C), UINT64_C(0xA9067EEE62BA8B9E),
+          UINT64_C(0x987895031E17DF6F), UINT64_C(0x5997E8AE78D5B295)},
+         {UINT64_C(0x31E13AD7AE0C6768), UINT64_C(0x23262F05EF17A7B1),
+          UINT64_C(0x1580322749B7B101), UINT64_C(0x1234A9C536B5BA70)}},
+        {{UINT64_C(0xED65C961395793AC), UINT64_C(0x01157CD8CCDE1C47),
+          UINT64_C(0x0D0240B01D5614DF), UINT64_C(0x0F0DA1EF568E83A5)},
+         {UINT64_C(0x57C90846C0B783C1), UINT64_C(0x4501048C81E2F613),
+          UINT64_C(0x03D8A69BA2709DC1), UINT64_C(0x06F365C4A97CCE0E)}},
+        {{UINT64_C(0xEAF23159551580CD), UINT64_C(0x0F1E586A053DD5EE),
+          UINT64_C(0xEB7A78DD3CBCC3D5), UINT64_C(0x39BBC65AB014B850)},
+         {UINT64_C(0x13DA4E8579B61AC7), UINT64_C(0x33E78DCF0DA59E37),
+          UINT64_C(0x4E65AF252A643C4C), UINT64_C(0x0DC38C9708869D03)}},
+        {{UINT64_C(0x2B648345A3A38837), UINT64_C(0x2FA6D8F7905E261D),
+          UINT64_C(0xA23BD78666A14946), UINT64_C(0x781633FD5E01CC9A)},
+         {UINT64_C(0xB1352709E2C71AD1), UINT64_C(0x9D74505283A6D365),
+          UINT64_C(0xD88B5CAE66567032), UINT64_C(0x27FC40DF53D875CA)}},
+        {{UINT64_C(0xB254E54C47F7554F), UINT64_C(0x33AD0ED6D708614D),
+          UINT64_C(0x830566A376CE908D), UINT64_C(0x73DF94BDAA1ADD5C)},
+         {UINT64_C(0x23EC411F2DBDD8A3), UINT64_C(0x9BA473383A979FDC),
+          UINT64_C(0x56A2C27FC667E9F7), UINT64_C(0x295647C7427E6BFB)}},
+    },
+    {
+        {{UINT64_C(0x9B5F4652F8E48C13), UINT64_C(0xE979034F9EEF4BA3),
+          UINT64_C(0xF95FD7767CF5AF6E), UINT64_C(0x4236C47E506CEB46)},
+         {UINT64_C(0x0C02A249E08D2312), UINT64_C(0xAA5A38CCC056499A),
+          UINT64_C(0xCB26A8E27C188B64), UINT64_C(0x38FB961D0AE373D5)}},
+        {{UINT64_C(0xEB179C9E7B23470D), UINT64_C(0xAE70102F1EBC44E7),
+          UINT64_C(0x8184C1D492E0EED0), UINT64_C(0x329882815C21BF08)},
+         {UINT64_C(0x469589678180D11E), UINT64_C(0xEBD5518C7FD7278D),
+          UINT64_C(0xFCEB7F68AD2B74F7), UINT64_C(0x082D2011F9C7B6DA)}},
+        {{UINT64_C(0x65D5AED1BBE0299D), UINT64_C(0x0077F756CF565A0A),
+          UINT64_C(0xD44FCD6B344BB90D), UINT64_C(0x6C2A19C0536F3F25)},
+         {UINT64_C(0x32EE7439BB2A4D91), UINT64_C(0xA97E677AED9351E1),
+          UINT64_C(0x6752EDCF413A16E0), UINT64_C(0x5DE1B0C71CE4FBE6)}},
+        {{UINT64_C(0x6C10DA15D6009B36), UINT64_C(0xAAD05F4FE5D8CFBE),
+          UINT64_C(0xD8BCE0B431D58B76), UINT64_C(0x08DE344E27B2811B)},
+         {UINT64_C(0xD9A78AAE80B51E48), UINT64_C(0x1E1D0A813E41C63A),
+          UINT64_C(0x844376DE8076B3C7), UINT64_C(0x73F0D4A35FDF9D53)}},
+        {{UINT64_C(0xF1532922558C7719), UINT64_C(0x0F10188AA8221197),
+          UINT64_C(0x51A97E5F5DDC1716), UINT64_C(0x0F583A9B444789E7)},
+         {UINT64_C(0xAA8FC58D97D63B87), UINT64_C(0xA5AF048B1CFDA59C),
+          UINT64_C(0x2A4A0C5F2DDB34EB), UINT64_C(0x66C0F0C7701E2E07)}},
+        {{UINT64_C(0xC0BC88B836BE2ABF), UINT64_C(0x265CCE745C721B85),
+          UINT64_C(0x483EBB01D54299BA), UINT64_C(0x18F11CBE348ED89E)},
+         {UINT64_C(0x5E9AE7B9E42129D4), UINT64_C(0x6B3E9E8D81DE5B77),
+          UINT64_C(0xB3ADBAC97A14A74A), UINT64_C(0x1B6CEBB20003B266)}},
+        {{UINT64_C(0xD4D4DD1015EB200E), UINT64_C(0xEEAEA4C6FB87C57B),
+          UINT64_C(0x48F0B95772FF6321), UINT64_C(0x187C4B75B782B01D)},
+         {UINT64_C(0x3DC1AACDE9B4D622), UINT64_C(0x0358418E3F4ED519),
+          UINT64_C(0x981A24F8773D019C), UINT64_C(0x6643CA913DB0B4F4)}},
+        {{UINT64_C(0xE3254F4BD47670E3), UINT64_C(0x9822612530B1DDE9),
+          UINT64_C(0x61EB6C86DA8AF160), UINT64_C(0x725C771618363269)},
+         {UINT64_C(0xB051DC9F02F62462), UINT64_C(0xFF8C9EDF00AC5531),
+          UINT64_C(0x3909C79B962A92A3), UINT64_C(0x25C90D9327790237)}},
+        {{UINT64_C(0x0A5DF2CC88ADC475), UINT64_C(0x48D26967E5D27D0A),
+          UINT64_C(0x21D5F616359FF194), UINT64_C(0x38ACD14189977CE2)},
+         {UINT64_C(0x39B9BD92FDAA8ACB), UINT64_C(0xDB157DF2035B62D0),
+          UINT64_C(0x4E33386EB7D252D9), UINT64_C(0x6BD2E33FCF196258)}},
+        {{UINT64_C(0xE0806297CE8F10C5), UINT64_C(0x446AFD6D8A14B746),
+          UINT64_C(0xD7931F29BF566190), UINT64_C(0x4D9CFBFA86FDB72A)},
+         {UINT64_C(0x7752885195009F63), UINT64_C(0x5FE5013434C0FF45),
+          UINT64_C(0xC38CABBB6E134B81), UINT64_C(0x2E60B277E36DB037)}},
+        {{UINT64_C(0xA614CF6757184CA5), UINT64_C(0x6CBD8D6325BE01E3),
+          UINT64_C(0xE313EE8DA0030BE3), UINT64_C(0x69AF03992B1E7C60)},
+         {UINT64_C(0x519ABFBB50423F30), UINT64_C(0x200111FF486B9519),
+          UINT64_C(0x6FF93CCB3351F692), UINT64_C(0x32EB3E543ED9BE71)}},
+        {{UINT64_C(0x0851ACB954052EBD), UINT64_C(0x3A389B7B6D2336D7),
+          UINT64_C(0x50A8792517C6ACD9), UINT64_C(0x031FE845B807D9B1)},
+         {UINT64_C(0xA348BB01E22F7492), UINT64_C(0x9547ED3605F39661),
+          UINT64_C(0x97DF675668EC4AC2), UINT64_C(0x5836FEFE85B7F81B)}},
+        {{UINT64_C(0x4E4869A65F0B2ACB), UINT64_C(0xC4798F3FDEC46001),
+          UINT64_C(0x281A4ED600903474), UINT64_C(0x04F22E9DEFB9AABD)},
+         {UINT64_C(0x2AC92264FAA721A4), UINT64_C(0xBCE2FF0B276F8041),
+          UINT64_C(0x5F605607E4943926), UINT64_C(0x388C5FAB55506DF7)}},
+        {{UINT64_C(0xFF104F6DAB5687E2), UINT64_C(0x1B6DAFE93B2D0245),
+          UINT64_C(0x6405C02681B2EC4B), UINT64_C(0x2B7676DAF489EBBC)},
+         {UINT64_C(0xBAA158F06DA1F57A), UINT64_C(0x9CB044AD27A8457F),
+          UINT64_C(0xC23737A5A3BBD6C9), UINT64_C(0x71FB5B471D2267E1)}},
+        {{UINT64_C(0x779BD825D14F56E4), UINT64_C(0xD7E672A008396F23),
+          UINT64_C(0x23FE3FC0D40BA6EE), UINT64_C(0x41E749E73B56A3AB)},
+         {UINT64_C(0xD19471CE72042F67), UINT64_C(0x8A686DA74989D4D7),
+          UINT64_C(0x52A709C64FA09BC9), UINT64_C(0x1DC21162B3B6AA64)}},
+        {{UINT64_C(0x62C9838BF9B3BD1D), UINT64_C(0x1EE59E5A0CE6384C),
+          UINT64_C(0xA9F5ABF6ECE8CC7F), UINT64_C(0x1961D80F80BDDA83)},
+         {UINT64_C(0x7A40880CCA406FB1), UINT64_C(0x5035D307DFBCE2E4),
+          UINT64_C(0x590259E03D637299), UINT64_C(0x1607AC9FD6C34E05)}},
+    },
+    {
+        {{UINT64_C(0x4ABC27109D818B72), UINT64_C(0x2496CEA6092607B7),
+          UINT64_C(0xFB1087E1055C4EC8), UINT64_C(0x50A30C6A258ADC7D)},
+         {UINT64_C(0xAF4EB6B30FF502E3), UINT64_C(0x5D5D76AD190607AB),
+          UINT64_C(0xC9C9B71134482C13), UINT64_C(0x574A971842213696)}},
+        {{UINT64_C(0x7C90FAFD7018FC70), UINT64_C(0x36A045592B83291C),
+          UINT64_C(0x6120B51E40D1B175), UINT64_C(0x45F10B203DCF9606)},
+         {UINT64_C(0x3C6A9EFFF20C5636), UINT64_C(0xB2768BA3FFBBC648),
+          UINT64_C(0x1C9DF90AB523B36C), UINT64_C(0x4148BF06D6FF34ED)}},
+        {{UINT64_C(0x3D29821A3B5F9492), UINT64_C(0xAE12C78290B24561),
+          UINT64_C(0xEF6FB2778A3BDC5F), UINT64_C(0x6034BF3BAC3BD74E)},
+         {UINT64_C(0x131D57CD4ACB6F85), UINT64_C(0xDED1C4333BE79B31),
+          UINT64_C(0xB091348978A896B8), UINT64_C(0x1247C0B7B287862C)}},
+        {{UINT64_C(0xEB6428937C494054), UINT64_C(0x7922793022142D26),
+          UINT64_C(0x8F1C8371943E8398), UINT64_C(0x583C7AEF60886DB7)},
+         {UINT64_C(0xAFE460223A12EE0E), UINT64_C(0xE9C9253AB6CB8685),
+          UINT64_C(0x5334F9DD6316A4C6), UINT64_C(0x4E2F13D8E6F1DEE9)}},
+        {{UINT64_C(0x7499A5B4B37D8BA5), UINT64_C(0xA12AA6371C9BCDE2),
+          UINT64_C(0xCC99471DBFD6AE86), UINT64_C(0x0996637892048D63)},
+         {UINT64_C(0x42CBFA9D552E71A3), UINT64_C(0x84A8B153675C1716),
+          UINT64_C(0xB9C07C0E4CF00A7D), UINT64_C(0x32E2322B0DA504DB)}},
+        {{UINT64_C(0x569F581FE671EE59), UINT64_C(0x293522D7422E86C7),
+          UINT64_C(0x5E4CEA7E15DCEF10), UINT64_C(0x67C8A9FC483C0FE3)},
+         {UINT64_C(0x4DE5AC0947B79284), UINT64_C(0x22AB8FBD025016BA),
+          UINT64_C(0x51318C232A099B37), UINT64_C(0x542EA0FA49E06623)}},
+        {{UINT64_C(0xDD240F6428909F31), UINT64_C(0x46B66F9E101B7F01),
+          UINT64_C(0x788C29CA20481C3F), UINT64_C(0x3218A509CA5D5182)},
+         {UINT64_C(0x64BCC7AD63E9A2B9), UINT64_C(0x3D213CA2ADDF5C0B),
+          UINT64_C(0x6D93ED4C9960D650), UINT64_C(0x3F13DB22284EE5F3)}},
+        {{UINT64_C(0x5B678C3A6697E0D1), UINT64_C(0x25A171F416D9D878),
+          UINT64_C(0xC20A6D80FAEC362B), UINT64_C(0x1BB3F14CC512EA4B)},
+         {UINT64_C(0xECE5313B2AE35FA5), UINT64_C(0xE390A01FBBD76B87),
+          UINT64_C(0xC78EA4C5882DA3FC), UINT64_C(0x771BCDAE42086A77)}},
+        {{UINT64_C(0x8E9E3C8B565802E9), UINT64_C(0xC37A7B3553FA1BE7),
+          UINT64_C(0x9D2F1A264408FB77), UINT64_C(0x0B3ECE36FF308B7B)},
+         {UINT64_C(0x8FB35B361F30FC37), UINT64_C(0x463B44E283E1A3C9),
+          UINT64_C(0x7218F09F3402233A), UINT64_C(0x1519638AFC9A6990)}},
+        {{UINT64_C(0x51FB3E5D8EAAC478), UINT64_C(0x620E4826760ED4EC),
+          UINT64_C(0x46FC5B1F1D865577), UINT64_C(0x15EF2AD95244A538)},
+         {UINT64_C(0x8D7E477C4BF382BD), UINT64_C(0xCBF170C902A5C9EE),
+          UINT64_C(0xB91A870C4AFB0EC1), UINT64_C(0x052FFC5169C31425)}},
+        {{UINT64_C(0x1FD437462018D066), UINT64_C(0xBC5015174C67FC35),
+          UINT64_C(0xE65BC2FBBC990EB6), UINT64_C(0x538CA6F973F87F92)},
+         {UINT64_C(0x42FBDAE08352B03F), UINT64_C(0xF265B1E099A4C9B9),
+          UINT64_C(0x6E3EAB2F185CA070), UINT64_C(0x6E6F4F7D37D0A2C1)}},
+        {{UINT64_C(0x9B20D8EEC2D5D73E), UINT64_C(0x190521AE75844C15),
+          UINT64_C(0x67663AC426AD08FE), UINT64_C(0x67AEEFEFF984EC06)},
+         {UINT64_C(0x61C71142CBDD87EF), UINT64_C(0x0FA4995B63396E3B),
+          UINT64_C(0x3196E55185C193B0), UINT64_C(0x36C0A2A8DACB3A3D)}},
+        {{UINT64_C(0xEAB89FDC178A1115), UINT64_C(0xC7B764D8D7C31303),
+          UINT64_C(0xA5B2D6FB90203755), UINT64_C(0x3C360BF9D5F8AEEE)},
+         {UINT64_C(0x8DFDCD0502F1CC3C), UINT64_C(0x7F8A64D264E5269E),
+          UINT64_C(0xA36196ECEA13FFD7), UINT64_C(0x35E2241577E3839F)}},
+        {{UINT64_C(0x29E7AB0BE22E0C52), UINT64_C(0x68BF32C78B27DEDA),
+          UINT64_C(0x52A762A2DC7971AE), UINT64_C(0x4CA4348718B0CDCC)},
+         {UINT64_C(0xED429DA13FCEAF73), UINT64_C(0x49396E6F06718D19),
+          UINT64_C(0xDECB93375BB3301C), UINT64_C(0x4B7723C10FF489B1)}},
+        {{UINT64_C(0xAE321F09ABEE6B9B), UINT64_C(0xF251BF4D37318F60),
+          UINT64_C(0xB0A8A251B63DC269), UINT64_C(0x514A25FC71817963)},
+         {UINT64_C(0x518F574755C9B2E9), UINT64_C(0x3E56CC3E1C9B4845),
+          UINT64_C(0xBDFD637A283AE1FA), UINT64_C(0x419BA4B4C3DE778E)}},
+        {{UINT64_C(0xC7F18E93BCD2EB74), UINT64_C(0x171264C8FC61FB42),
+          UINT64_C(0x27282E7685119033), UINT64_C(0x225006A4D7DB91C7)},
+         {UINT64_C(0x628E0F3C1ECF5024), UINT64_C(0xDC5111E000859CDE),
+          UINT64_C(0x4AB1764F1F220711), UINT64_C(0x7C6916F170DDED3C)}},
+    },
+    {
+        {{UINT64_C(0xF9FFE8FC5F0CA58A), UINT64_C(0x09E34F3022879EBB),
+          UINT64_C(0x648D6339ED7B0520), UINT64_C(0x0D6719D01AF5ECDC)},
+         {UINT64_C(0x2878714D0B8590E4), UINT64_C(0x827D04ED90EC312B),
+          UINT64_C(0xD415C8B43B5767C3), UINT64_C(0x4170F0ADC09FD18D)}},
+        {{UINT64_C(0x9B649CFC3C601031), UINT64_C(0x0478603A636DDAE7),
+          UINT64_C(0xDC972DFA914E100A), UINT64_C(0x519C55DF091621AE)},
+         {UINT64_C(0x863046CBD4A9963D), UINT64_C(0xDF16763C5ACF7C0C),
+          UINT64_C(0x4999A93EFF5468A4), UINT64_C(0x35543EFF424074A5)}},
+        {{UINT64_C(0x27B1DBFADD33307C), UINT64_C(0xA0D04784927CA6F3),
+          UINT64_C(0xBD3EBC5EA37CF855), UINT64_C(0x59D02EF549F5AA2C)},
+         {UINT64_C(0xCDABE86FBDD57BF3), UINT64_C(0x7B3ADD2F37819D86),
+          UINT64_C(0x7B90BA150413B7B0), UINT64_C(0x470717826B99685B)}},
+        {{UINT64_C(0xB7C3218EEF0CE97F), UINT64_C(0xDAE3B56C0898C79C),
+          UINT64_C(0x6349D83D0908877D), UINT64_C(0x0970C6C0C81E8C4E)},
+         {UINT64_C(0x0E45C4A7A47F426C), UINT64_C(0xAB000A593FBB194E),
+          UINT64_C(0x570FBBA53A6DD13E), UINT64_C(0x66045580C8F44A57)}},
+        {{UINT64_C(0x5ABEB74912A72F7F), UINT64_C(0x15072A927AE56F4D),
+          UINT64_C(0x1C77AE00222AB2C4), UINT64_C(0x591EAEC69AFE63DE)},
+         {UINT64_C(0xB51D41AFDFD24304), UINT64_C(0xDE28DF26DFBCC096),
+          UINT64_C(0x02F046C838A20DA7), UINT64_C(0x5EC3DBDC1AE0A45B)}},
+        {{UINT64_C(0x7C19BD7563DD86C2), UINT64_C(0xDB1193118D78A57B),
+          UINT64_C(0xF48BB4FA23C5C4E7), UINT64_C(0x65514C1C97DB0A05)},
+         {UINT64_C(0x1BC1F2F043CAC49C), UINT64_C(0x975FEB512851B4BE),
+          UINT64_C(0x0E0A4633DD60D530), UINT64_C(0x32BBBF1409B1D2C6)}},
+        {{UINT64_C(0x79124749A670EAC0), UINT64_C(0x504D89D531DD893C),
+          UINT64_C(0xDDCED74CE0654D63), UINT64_C(0x58956BE5E2208707)},
+         {UINT64_C(0xBE6A3ECD437E7077), UINT64_C(0xB8AB332D574095C8),
+          UINT64_C(0x4E79AC1C3869DA42), UINT64_C(0x79D4C3FB68859F51)}},
+        {{UINT64_C(0x1E5FC1B97936A831), UINT64_C(0x1EA42ED2D74F1F41),
+          UINT64_C(0x33D22EC1C4EA3228), UINT64_C(0x5705333F729BEBFE)},
+         {UINT64_C(0xDBD1A67B64596076), UINT64_C(0x6BFF269DFA65BA98),
+          UINT64_C(0x8451A9C26C47E715), UINT64_C(0x243D679D22898DB3)}},
+        {{UINT64_C(0xE935D705B8323FD0), UINT64_C(0xE2DA88456937E5CB),
+          UINT64_C(0x1C9DFFF84A5EAE1E), UINT64_C(0x796F0B9545DF7A79)},
+         {UINT64_C(0xC24D573F640DBA32), UINT64_C(0x2B77521702E4B792),
+          UINT64_C(0xD437EB6394D12C40), UINT64_C(0x6182AF6D4AD371F0)}},
+        {{UINT64_C(0x133EDA5241FC7551), UINT64_C(0xA0088A2BE91714AF),
+          UINT64_C(0xB41B9AC25E0A73C0), UINT64_C(0x4808BB5A1D3B3953)},
+         {UINT64_C(0xD875AA142B9AE648), UINT64_C(0x4F38C9462408244C),
+          UINT64_C(0x04B6B941FF051A87), UINT64_C(0x1D5B0B9E6DF48ECD)}},
+        {{UINT64_C(0x27FD368A169E757F), UINT64_C(0x2ACB35607B94D9DB),
+          UINT64_C(0x81903F4B4D4C9B5F), UINT64_C(0x641F806C169B81DE)},
+         {UINT64_C(0x574E94449E957475), UINT64_C(0xE08814AEC6C8EE52),
+          UINT64_C(0xD1AE71EC6C84FDDF), UINT64_C(0x44A56014FAA040D9)}},
+        {{UINT64_C(0x06DA690875A48F60), UINT64_C(0x7BA6C9CBBB2CD408),
+          UINT64_C(0x57D2D0FF3A1BCBFF), UINT64_C(0x186F1A8B8928CE36)},
+         {UINT64_C(0x0FFD205B7A40F877), UINT64_C(0x2915BC8E01AF68F7),
+          UINT64_C(0x816AC4DFC36A5FB1), UINT64_C(0x609B0A872C9E1F7D)}},
+        {{UINT64_C(0x4032AC5EB97536FB), UINT64_C(0x53E6FE68A7C5EDB6),
+          UINT64_C(0x2F4149305F0DCBA1), UINT64_C(0x209752562837E314)},
+         {UINT64_C(0xDF5DC4963C3C1D27), UINT64_C(0x0DFDAAF371797C36),
+          UINT64_C(0x5F3E9229DA504E04), UINT64_C(0x354EA88D8C234246)}},
+        {{UINT64_C(0xAF6741C30922D317), UINT64_C(0x7429853B9DF0A572),
+          UINT64_C(0x0EA1AE041DC207A8), UINT64_C(0x2C1DAA1C450075F5)},
+         {UINT64_C(0x27C71F166ED729B4), UINT64_C(0x785718A653AB8EC0),
+          UINT64_C(0x1EEC7BBFA8465487), UINT64_C(0x78DA9B044C578BA9)}},
+        {{UINT64_C(0xFF9ED65EB3B707FA), UINT64_C(0xF8C8301FF5D28D33),
+          UINT64_C(0xB15D498FA65F5C0F), UINT64_C(0x6DEF256DB0EF2B89)},
+         {UINT64_C(0x0D40A6B252184EF6), UINT64_C(0xC702EBE52BF06F5A),
+          UINT64_C(0x13E50E184BA041AA), UINT64_C(0x53552D887EC4C784)}},
+        {{UINT64_C(0x2CD09B19F28ABB3A), UINT64_C(0x4F5C040F724EDB9B),
+          UINT64_C(0xD6820590E0DCBD16), UINT64_C(0x45D84DE91B7155A3)},
+         {UINT64_C(0x995BDD01A251B1BA), UINT64_C(0x607F951737CAA4DC),
+          UINT64_C(0x747FEA1CA15D9674), UINT64_C(0x646C187673E97C97)}},
+    },
+    {
+        {{UINT64_C(0x1951682B6FAC1486), UINT64_C(0x8B578E1E4A4D14C5),
+          UINT64_C(0x083FA101B7384D42), UINT64_C(0x13380CE9ED1C8A87)},
+         {UINT64_C(0xC7052ED8732A493B), UINT64_C(0xD5FEF40FB32E3D69),
+          UINT64_C(0xA64ACE8788833566), UINT64_C(0x6E36CFDB4177DC00)}},
+        {{UINT64_C(0xAA14E281E742C3B4), UINT64_C(0xB75E7B2AEE5AF40A),
+          UINT64_C(0x3FC5FF0B1616EFA2), UINT64_C(0x090259B0AD763298)},
+         {UINT64_C(0x4105B57E38753438), UINT64_C(0x70ED1A00CF2D8926),
+          UINT64_C(0x78921395322F40BB), UINT64_C(0x3AEE819967A3FF56)}},
+        {{UINT64_C(0x88073D0011EA75FC), UINT64_C(0xD23D279606A4B4EB),
+          UINT64_C(0x1FD22F9ED85D3A6B), UINT64_C(0x6B5EA051AFB43B70)},
+         {UINT64_C(0x96C9C176D99BE576), UINT64_C(0x85AC2B6C4C47261E),
+          UINT64_C(0x2726395999A9C378), UINT64_C(0x6D36E9FE8B5CABDA)}},
+        {{UINT64_C(0xC9FC7661A58F614C), UINT64_C(0x82AA317D2E45AE73),
+          UINT64_C(0xDCB1925FC8CB9CC7), UINT64_C(0x1341C1AA27813205)},
+         {UINT64_C(0xDD06745B6CD478AB), UINT64_C(0x0C2534B21E28F6A3),
+          UINT64_C(0xE21833459D27FE63), UINT64_C(0x7F1E2A3306466147)}},
+        {{UINT64_C(0x378D727E5AEE2471), UINT64_C(0xB718FC17D47739B6),
+          UINT64_C(0xDA27CB9B4145E8EF), UINT64_C(0x3F8AB1A30EF2AB20)},
+         {UINT64_C(0xA89ADD37E16C0141), UINT64_C(0x2127823B59DF1C95),
+          UINT64_C(0x53F90B73B7455CC2), UINT64_C(0x7F9605861183FBE5)}},
+        {{UINT64_C(0x56D0475AE77235C3), UINT64_C(0xED2907C5B18ED61A),
+          UINT64_C(0x2D02C4CB7D73F6F8), UINT64_C(0x35EF69B4C42E7AED)},
+         {UINT64_C(0x53A6120A31B7324A), UINT64_C(0x982DD22159F1A395),
+          UINT64_C(0x03ECA86F835CFD94), UINT64_C(0x4CBA837D73CA1BD5)}},
+        {{UINT64_C(0x64F66D3941B17E6D), UINT64_C(0x3C869BF5CB14F3B3),
+          UINT64_C(0x1EBA045A28350EFA), UINT64_C(0x7ACFB882C7CDEC47)},
+         {UINT64_C(0x7ACFD28D8FB3097B), UINT64_C(0xDA397C3162986426),
+          UINT64_C(0xD49F84212A1A7A94), UINT64_C(0x7B372E2DFAB65156)}},
+        {{UINT64_C(0x3ADBDD0701D9DB0F), UINT64_C(0x617521E694FF0CFB),
+          UINT64_C(0x5BA5905C3F5BD583), UINT64_C(0x6F89603378670CD1)},
+         {UINT64_C(0x0A59C447FB98EA11), UINT64_C(0x59B918CC653EDC59),
+          UINT64_C(0x00BF4D2A9F72C01E), UINT64_C(0x748455D147DEE00F)}},
+        {{UINT64_C(0xE371A7A8386E7491), UINT64_C(0xF71711CC621A3484),
+          UINT64_C(0x1568256EE0015C3B), UINT64_C(0x5ACEF7A67D3FFDE9)},
+         {UINT64_C(0x02ED70E5B08E4219), UINT64_C(0x7ECE1726832AC3AA),
+          UINT64_C(0xC3C0D32B951D1CA2), UINT64_C(0x4C99166438DECC59)}},
+        {{UINT64_C(0xB99DF8BA96EB21A4), UINT64_C(0xB88D25F42BBF8E6D),
+          UINT64_C(0x16B3E0B1686DAA3C), UINT64_C(0x1131456170D47C57)},
+         {UINT64_C(0x8DCDC3D13338342D), UINT64_C(0xE6D39B0188E028A7),
+          UINT64_C(0xB781F1ED72855B5E), UINT64_C(0x0E0D82F6CC192572)}},
+        {{UINT64_C(0xC86A8E5DCF1E20AA), UINT64_C(0x1A87AEF3F9AB96D5),
+          UINT64_C(0xA8941635F3D19051), UINT64_C(0x67B1D0A2654FFF15)},
+         {UINT64_C(0x266FD5ED92862ACD), UINT64_C(0xB72587BED11DEEAC),
+          UINT64_C(0x5CF0D2E2D09320AA), UINT64_C(0x68456EBA515E0277)}},
+        {{UINT64_C(0x86A5461C771F64CA), UINT64_C(0xB7A220B748FF8D7A),
+          UINT64_C(0x9A0DD72AD7A568D1), UINT64_C(0x18F5E1DCF644D858)},
+         {UINT64_C(0xB7AE1BC23E00364F), UINT64_C(0xD7EA31F3CEE8D9F7),
+          UINT64_C(0xD18DA30FDCDB883D), UINT64_C(0x179CFCA5CBA00F48)}},
+        {{UINT64_C(0x496F2C0139E7860C), UINT64_C(0xACDF8B4027F15EAF),
+          UINT64_C(0x8871966C687AC815), UINT64_C(0x6228F1B58DB8FDB5)},
+         {UINT64_C(0x8644656AF30ECF2B), UINT64_C(0x15576CC2AE1DEAFF),
+          UINT64_C(0x93D86D56697AB3FC), UINT64_C(0x3E4A428E811E3FF2)}},
+        {{UINT64_C(0xFB85DE3D91B9F5DF), UINT64_C(0xCDB595D4B20A9C71),
+          UINT64_C(0x55CB08F3B44D671E), UINT64_C(0x780FC2E5FCD7D5ED)},
+         {UINT64_C(0x815AB41F7F939366), UINT64_C(0xA7597A02ECD52B20),
+          UINT64_C(0x9BE078F04648E3C5), UINT64_C(0x7A3E217917BD3DC2)}},
+        {{UINT64_C(0x22758C419D9E5E53), UINT64_C(0x44D675F49EF09FAE),
+          UINT64_C(0x1AB7986D27159F97), UINT64_C(0x72B3F02BB6B9465B)},
+         {UINT64_C(0xA372FAC7FE56F578), UINT64_C(0x33FA6479DA534F4A),
+          UINT64_C(0xB0003307DF63BF2D), UINT64_C(0x34D40B4DB80D0F64)}},
+        {{UINT64_C(0x8A8929DC3D2B9FC2), UINT64_C(0x7D12E86C55EE75E5),
+          UINT64_C(0xB3FE1AD392E1A870), UINT64_C(0x27148C94729CFE4C)},
+         {UINT64_C(0x6A8C3B5218BA868B), UINT64_C(0xDD2006E47F038A9C),
+          UINT64_C(0x4606FA9EB7124908), UINT64_C(0x434A8C07F4940CB1)}},
+    },
+    {
+        {{UINT64_C(0x15F36EBEF98B91EA), UINT64_C(0x94D802DEC1ED17B1),
+          UINT64_C(0x3C45FA08085D77F8), UINT64_C(0x0A30B3C302FF571A)},
+         {UINT64_C(0x70F5852D264C93D0), UINT64_C(0x5E51BCAB191AEE57),
+          UINT64_C(0xD5C14AE9FAD8E96E), UINT64_C(0x73B00534D4BC414B)}},
+        {{UINT64_C(0x21CF876B12AFF5E7), UINT64_C(0x3E9F664CF75799A6),
+          UINT64_C(0xC23B7D199A0E73CD), UINT64_C(0x77AAB691427EEA36)},
+         {UINT64_C(0x2E74F972604EE854), UINT64_C(0x8712C7A0F867C81A),
+          UINT64_C(0x6085980F953A4C56), UINT64_C(0x2DB997070F7707E1)}},
+        {{UINT64_C(0x5ECC087F78BDB7A7), UINT64_C(0x43CC156C04C693F2),
+          UINT64_C(0x965067CF039BD7F1), UINT64_C(0x72140E566E3FAE2F)},
+         {UINT64_C(0x26452E4DE019DED1), UINT64_C(0x6F4C23492EDEF154),
+          UINT64_C(0xA7066D7F054DFC0F), UINT64_C(0x544E6F6D3381AB44)}},
+        {{UINT64_C(0x9B6E94699214C791), UINT64_C(0xD74F9C5586938BDC),
+          UINT64_C(0x0F1527F6FC2928FD), UINT64_C(0x5B0FBF0F63C3A053)},
+         {UINT64_C(0xAC1F442CFC41FF10), UINT64_C(0x34EF88EF787B4932),
+          UINT64_C(0xF8120F08316732AC), UINT64_C(0x7BCCF12CA655DC4A)}},
+        {{UINT64_C(0x750DF97FA6C7760E), UINT64_C(0xF1A0A827609BF215),
+          UINT64_C(0x7348C1B467FD04B4), UINT64_C(0x6A581016615C8145)},
+         {UINT64_C(0x9DC012259A11AAFC), UINT64_C(0x24F65B053F2B0C8B),
+          UINT64_C(0xA27CB8BFDCB1B2A4), UINT64_C(0x3C44B811E48C1A71)}},
+        {{UINT64_C(0xBC059AF2F780B295), UINT64_C(0xDF58928C0B6B247D),
+          UINT64_C(0x224D4C3C01903F3D), UINT64_C(0x7152E120818EE0AC)},
+         {UINT64_C(0x6C8F474554BFF1BE), UINT64_C(0x98A6C7EC431ADEF7),
+          UINT64_C(0xDCB6BB7591B2CFB6), UINT64_C(0x145F6D397E83A5BB)}},
+        {{UINT64_C(0x827C000C81D23BC1), UINT64_C(0x5CDC1135403956FC),
+          UINT64_C(0xD967A5B13C751158), UINT64_C(0x52AF85BC96201D7D)},
+         {UINT64_C(0x522BC492644558F7), UINT64_C(0xF74A35AFED7A060D),
+          UINT64_C(0x10E5F9FD4DC4619E), UINT64_C(0x06071F1F324F60BB)}},
+        {{UINT64_C(0xC5FFD5EF65921C34), UINT64_C(0x46CE1A69302BAA5D),
+          UINT64_C(0x89CC84EC4E22FF1D), UINT64_C(0x16A481AE68131754)},
+         {UINT64_C(0x2A06A156B89039F5), UINT64_C(0x40B6401BB3A95AB9),
+          UINT64_C(0xFFCC53EB313820C3), UINT64_C(0x256B00E7EA959F76)}},
+        {{UINT64_C(0xCCE87FC954FBDD74), UINT64_C(0xEC258542B23C6E1D),
+          UINT64_C(0x5BE392B49E5E1928), UINT64_C(0x65AF311047A8A759)},
+         {UINT64_C(0x943F7A2547DFFD31), UINT64_C(0xDCCDA18651E896FA),
+          UINT64_C(0x71A93B1E933E747F), UINT64_C(0x44F5C468DFB043AD)}},
+        {{UINT64_C(0xF6AEC52C786FCCBA), UINT64_C(0x23D49DCF6D51FA78),
+          UINT64_C(0x0F81463B9B40D8E6), UINT64_C(0x18B9D932708D3DA2)},
+         {UINT64_C(0x796F94EDF986DC6D), UINT64_C(0x33B2CCC1FC2622C3),
+          UINT64_C(0x16790DFB9CCEC606), UINT64_C(0x6F5D1452CFD31481)}},
+        {{UINT64_C(0x91F15DDC6C3A15D6), UINT64_C(0x45D12F404D360E75),
+          UINT64_C(0xF2E28EE81DAFFC9C), UINT64_C(0x5CC6A0566CDF5566)},
+         {UINT64_C(0x855166D21779B9BF), UINT64_C(0x92BA5EF4CF94D9FE),
+          UINT64_C(0x1266FB2A985BC1DD), UINT64_C(0x4572CE8FCA3018AD)}},
+        {{UINT64_C(0x8729A12DBE4BB604), UINT64_C(0x6A29C8494E99E9AB),
+          UINT64_C(0x54AE50117A89894D), UINT64_C(0x5E66A255CDB0EEBD)},
+         {UINT64_C(0x006736EACBEE153B), UINT64_C(0x8A36CC2D225E7B86),
+          UINT64_C(0xF731E430EC0598EC), UINT64_C(0x49338E4D7FD9A11F)}},
+        {{UINT64_C(0xE038CE03DA6DABAA), UINT64_C(0x13A08DCE7C1BCE0C),
+          UINT64_C(0x12D00DD0DA89EFBF), UINT64_C(0x70A13FB96FCF0510)},
+         {UINT64_C(0x16ED1C925CDB03E2), UINT64_C(0xDF1AB61D08E9EE4B),
+          UINT64_C(0x48983DA803AF3E3D), UINT64_C(0x63CCA113429DB770)}},
+        {{UINT64_C(0x6D9AC1EBCFB805E5), UINT64_C(0x47C3FE6950FA37B8),
+          UINT64_C(0xD308EC732C33D457), UINT64_C(0x3CB08E00D4CCA340)},
+         {UINT64_C(0xC078DAD0BE862794), UINT64_C(0x2D147F83F4E10A57),
+          UINT64_C(0xE91820FF3DE1B3D5), UINT64_C(0x3D85DD726F30491B)}},
+        {{UINT64_C(0xD486A022F5CBDD3A), UINT64_C(0x2663134ACAC0B99E),
+          UINT64_C(0x42DE13F55F3ABFCA), UINT64_C(0x4967A225B365B973)},
+         {UINT64_C(0x99C98A2510F1F997), UINT64_C(0x23F057C97714FAB2),
+          UINT64_C(0xCE07CA6E1BA2338D), UINT64_C(0x3BA69161069F65D7)}},
+        {{UINT64_C(0xCCD8C86FC026FB0E), UINT64_C(0xF49F1FEA50407A8C),
+          UINT64_C(0x72FEA37B7F19A1DB), UINT64_C(0x22A03E253F457DB7)},
+         {UINT64_C(0x2D6C62B271F736D2), UINT64_C(0xCC99F8E7A5ACB4E5),
+          UINT64_C(0x8F7DBF2E0DE5F380), UINT64_C(0x24494786352B4933)}},
+    },
+    {
+        {{UINT64_C(0xF020E7A9AE2A5E8F), UINT64_C(0x5ADC788BD14C5F02),
+          UINT64_C(0xC5E5AFE465C84DB4), UINT64_C(0x392FACC435C2633C)},
+         {UINT64_C(0x47D5007042DEE269), UINT64_C(0x76706ED76EB7849C),
+          UINT64_C(0x6BF56D56316548CB), UINT64_C(0x4A466066D37FF4DF)}},
+        {{UINT64_C(0xC8EBBFB5C30283AD), UINT64_C(0x31E9CF963544E645),
+          UINT64_C(0x90EA9A4988886B50), UINT64_C(0x5E4B8C88021D3D5D)},
+         {UINT64_C(0xA4DB92250DFEB658), UINT64_C(0x8AA95DB61910FDAE),
+          UINT64_C(0x82E9A997DE400EB9), UINT64_C(0x238967E996769A04)}},
+        {{UINT64_C(0x1ABB076A89E2DF0A), UINT64_C(0xDA8B09B007065929),
+          UINT64_C(0x332BE8A563BD349B), UINT64_C(0x0EB973CEA2D35385)},
+         {UINT64_C(0x67F7AE639C7D375E), UINT64_C(0xA235818DE7AE90B1),
+          UINT64_C(0x2B59C26E817493B0), UINT64_C(0x39DC105033C4ACD6)}},
+        {{UINT64_C(0x11801ACE7B7DB3F5), UINT64_C(0x79C214C38CC97CA5),
+          UINT64_C(0xB4BFE1ABBF2674BF), UINT64_C(0x598EA7DC43252011)},
+         {UINT64_C(0x217FF6D3B08F8EF5), UINT64_C(0x9797BBC98B9226B7),
+          UINT64_C(0xAB8E98C97B0EDB09), UINT64_C(0x240EC22D083A401F)}},
+        {{UINT64_C(0x55A75BCF459ABC3D), UINT64_C(0xB2F9859864ECC2DC),
+          UINT64_C(0x271C47C39EE84779), UINT64_C(0x0166E5D4BF9BDBF2)},
+         {UINT64_C(0xD205380F4215B666), UINT64_C(0xF704139664E9FE64),
+          UINT64_C(0x4C737E942BB0DA40), UINT64_C(0x2E763521C8119691)}},
+        {{UINT64_C(0x79550B60FD2F8593), UINT64_C(0x47E00AFD0C17A56F),
+          UINT64_C(0x0D900A9DB44157CF), UINT64_C(0x016CF746A81BED76)},
+         {UINT64_C(0xC21E861BAC47A84B), UINT64_C(0x0E14387A1724BD47),
+          UINT64_C(0xC209303E2077F7BC), UINT64_C(0x33B5EB59BAD12F0B)}},
+        {{UINT64_C(0x7152354F9850FC1F), UINT64_C(0x1239576F83637934),
+          UINT64_C(0xB00C4E4E82AF46BA), UINT64_C(0x563D5062EC3FEEFF)},
+         {UINT64_C(0xEF25E37333D67B7F), UINT64_C(0x3A80A50E50D9845E),
+          UINT64_C(0x1DCED1E9A5787EF5), UINT64_C(0x15723E9AA0F87C3C)}},
+        {{UINT64_C(0x217435112B4A156D), UINT64_C(0xB75C041CCD12BD2B),
+          UINT64_C(0x6947368C79F393A6), UINT64_C(0x32CDE49E76420E56)},
+         {UINT64_C(0x67FBA31543D612FF), UINT64_C(0x697F7FAEE3B87BC2),
+          UINT64_C(0x980DAFBC7391129A), UINT64_C(0x438B28586F707469)}},
+        {{UINT64_C(0xDA8AD16D5E9D085F), UINT64_C(0xE636F1AF768FA87C),
+          UINT64_C(0x08520756B85FF1F1), UINT64_C(0x1B8184816ABB31BE)},
+         {UINT64_C(0x25B3DCB92E686F1A), UINT64_C(0xE12821342B0CB829),
+          UINT64_C(0x626232BC3B9B759C), UINT64_C(0x797316BB38C4338E)}},
+        {{UINT64_C(0xF8365B644A62DCBD), UINT64_C(0xC2CF51BA6BF0EFED),
+          UINT64_C(0x37E379EFABF74764), UINT64_C(0x5DC32071A350D603)},
+         {UINT64_C(0x5465CC805B732100), UINT64_C(0x3231B4E3B3BB5366),
+          UINT64_C(0x23F5385ED0D067CE), UINT64_C(0x76CD762167D33451)}},
+        {{UINT64_C(0xC6C93A0555D857DD), UINT64_C(0xB4B6F1768F308F7F),
+          UINT64_C(0x2371CD88C0F13577), UINT64_C(0x1E507D6C70807D9D)},
+         {UINT64_C(0x7A77CCE1C73E8E2F), UINT64_C(0x1DD96274FCCBDEEB),
+          UINT64_C(0xA4DBEA5D03F378B8), UINT64_C(0x44B4DF552A1C347F)}},
+        {{UINT64_C(0x9853D2828D067A47), UINT64_C(0xBF0ADAF486813E74),
+          UINT64_C(0xFDE1F24D39409037), UINT64_C(0x0E629604973B045D)},
+         {UINT64_C(0x9880A74B3BB92FAB), UINT64_C(0xBC4E3405C6C4D6C6),
+          UINT64_C(0x98C243185184A2D6), UINT64_C(0x07D65412C210C183)}},
+        {{UINT64_C(0x3938E528441A5FBC), UINT64_C(0x2CCD837DCCC66B22),
+          UINT64_C(0x075FADE75E606282), UINT64_C(0x321811654BB0E76A)},
+         {UINT64_C(0xE7240305FC929890), UINT64_C(0x1FA427C8E03AAA52),
+          UINT64_C(0xF23C879B0BC7B9F8), UINT64_C(0x699A1235D6BBC908)}},
+        {{UINT64_C(0x20C2978114124B8A), UINT64_C(0x0C6464B348000278),
+          UINT64_C(0xF1939127D644E10C), UINT64_C(0x47A479E64EC07EE3)},
+         {UINT64_C(0xB631576877023389), UINT64_C(0xC0FD319D8BFDD90F),
+          UINT64_C(0x0EBEC2006CB022D4), UINT64_C(0x6810DF3D302F58EF)}},
+        {{UINT64_C(0xCF97FA07ACB1C3F2), UINT64_C(0xACC60D84A2C3F2F1),
+          UINT64_C(0x4EF3CAAC5DEB73D4), UINT64_C(0x654D0D90D5472C1D)},
+         {UINT64_C(0x5A39A718E4729062), UINT64_C(0x84B286B08324E0F2),
+          UINT64_C(0xA07A01CBD21E8457), UINT64_C(0x0EC091C7B094714E)}},
+        {{UINT64_C(0x7AB81940895736BD), UINT64_C(0x9AE791B7E4679DF5),
+          UINT64_C(0x36163D81F064109B), UINT64_C(0x3DDEE4A40E956B07)},
+         {UINT64_C(0xE146E7EEFEAAE47C), UINT64_C(0x81C0C2A76A8EEC03),
+          UINT64_C(0x10BB8DD9A8C315CB), UINT64_C(0x2CB423D8D21B9AB0)}},
+    },
+    {
+        {{UINT64_C(0x5B11D3C7166A5B9A), UINT64_C(0x973627BB8768861D),
+          UINT64_C(0x82A5E2CD5A3E442A), UINT64_C(0x13F6C741DDE63678)},
+         {UINT64_C(0x8DAA3C74D892738E), UINT64_C(0x0A07D651A932376F),
+          UINT64_C(0xE12612C56892504B), UINT64_C(0x619D2B1DCA3FF301)}},
+        {{UINT64_C(0x2B6D686F1B07CEB7), UINT64_C(0x90C0260C298D0996),
+          UINT64_C(0x8CAAB926102BC73C), UINT64_C(0x445A6487AEB3911C)},
+         {UINT64_C(0x7EE1E54757F17290), UINT64_C(0xC055478B417711BF),
+          UINT64_C(0x29EF9FEC5CFA42C2), UINT64_C(0x5A022DE42B8EA0D6)}},
+        {{UINT64_C(0x81A5EC18AEEB2675), UINT64_C(0xA867C5AAAD1BBA8A),
+          UINT64_C(0xAECB36888DB47EBC), UINT64_C(0x77CE00BC26D1038F)},
+         {UINT64_C(0xADC635EF3E68504B), UINT64_C(0x0EFC21DEDAE8AF4F),
+          UINT64_C(0xDE57FD43AC70C4C9), UINT64_C(0x123360BEE78FFC0D)}},
+        {{UINT64_C(0xD608DB32D82B61DB), UINT64_C(0x05AF2A908E45C853),
+          UINT64_C(0xF1B8213E9D3B0032), UINT64_C(0x2312F8ABCAD15361)},
+         {UINT64_C(0xDC8D8E32C29EE818), UINT64_C(0x07D7A475DE5CD587),
+          UINT64_C(0x766109130C6C38B8), UINT64_C(0x0131B6C6D7984BD9)}},
+        {{UINT64_C(0xC05CD4D0CF69C844), UINT64_C(0x747C092D81A9B005),
+          UINT64_C(0x0D793551D9E39F54), UINT64_C(0x3BBB00DA7FFEF17C)},
+         {UINT64_C(0x6CAB83D9655AD7C1), UINT64_C(0x601BECD066A8F590),
+          UINT64_C(0xFADB086DAE51811B), UINT64_C(0x7768A5D8D69F734B)}},
+        {{UINT64_C(0x3BB9B347F0E2385E), UINT64_C(0x376C8C48F7D39F23),
+          UINT64_C(0xE656C1A4D82EC840), UINT64_C(0x328B25C9FC2AC59A)},
+         {UINT64_C(0xD02B2F39A046BEE6), UINT64_C(0xDBAB19A580066D6C),
+          UINT64_C(0x6A2E8F67E938B7F7), UINT64_C(0x645A57A1AA7F2661)}},
+        {{UINT64_C(0x6227904D9A006FAE), UINT64_C(0xA975FC4CB598CB72),
+          UINT64_C(0x945BFC2FA1120B82), UINT64_C(0x437A8AB42AC15CE5)},
+         {UINT64_C(0xA512A1070F53317C), UINT64_C(0x7B552554FF9BD7D6),
+          UINT64_C(0xF81213E754155AF9), UINT64_C(0x0923F42CFDCE0842)}},
+        {{UINT64_C(0x135239165216BB55), UINT64_C(0xF27E4C7A599CA117),
+          UINT64_C(0x464D040A7DD95BE1), UINT64_C(0x408974863C417D05)},
+         {UINT64_C(0x0A3D16BF7C88E5D7), UINT64_C(0x0B94C661C13B286F),
+          UINT64_C(0xF73C7126E2214821), UINT64_C(0x4B3D5BF0F2F6DAFA)}},
+        {{UINT64_C(0xCFABD8A2F1A4332A), UINT64_C(0x56DB1546BAAC9A51),
+          UINT64_C(0x8CC5204B04416247), UINT64_C(0x75EC13BFF0583310)},
+         {UINT64_C(0x0D68896ED35B55D0), UINT64_C(0xE89274E267FC14D9),
+          UINT64_C(0x18D425C0FC322878), UINT64_C(0x69477DD7916C714A)}},
+        {{UINT64_C(0x427CBB6C9BDDF0F9), UINT64_C(0xCF6941E2DB9F52CB),
+          UINT64_C(0xEF144DF635E60DFA), UINT64_C(0x27B5246EB61DF45C)},
+         {UINT64_C(0x0E124518B8D3D1D9), UINT64_C(0xBB3BA1348B313B95),
+          UINT64_C(0x050DCBDF0FA2B7A9), UINT64_C(0x50DBCF6D1D0A99B5)}},
+        {{UINT64_C(0x8A8B22CB3924A1E5), UINT64_C(0x86CB4C5A118F9D55),
+          UINT64_C(0xE5330ACC5B339C53), UINT64_C(0x6D5FDDF966A35A67)},
+         {UINT64_C(0xC95007196F6438A5), UINT64_C(0x9723F2BA07E5394E),
+          UINT64_C(0xA9CE2117866B45A8), UINT64_C(0x1B737D8D045CA2CA)}},
+        {{UINT64_C(0x6093F5A56EE00E30), UINT64_C(0x5CAB98D45DE0A6FC),
+          UINT64_C(0xADFB652C65DE754F), UINT64_C(0x679900D1862EFD1D)},
+         {UINT64_C(0x6E5C230FAFC5D235), UINT64_C(0x3A1E557912CF6DD3),
+          UINT64_C(0x241C20FB03FB4FA0), UINT64_C(0x562FFAE320F6C013)}},
+        {{UINT64_C(0x6EFC732F397F25EC), UINT64_C(0x304D1F7DBC1F03B8),
+          UINT64_C(0xA2FA60018890DADE), UINT64_C(0x4F91F97C51A25539)},
+         {UINT64_C(0xE75F9C5048F4EF02), UINT64_C(0xCC53F460218AEE9D),
+          UINT64_C(0xE7B4048910D76649), UINT64_C(0x148F90A242ECDBA4)}},
+        {{UINT64_C(0xBF45023A1F683AD6), UINT64_C(0x2EA5F70C95E868D1),
+          UINT64_C(0x47A19F33A97F2DE3), UINT64_C(0x3C8CCA9E8A76ED9F)},
+         {UINT64_C(0x01562C6EE1A268D0), UINT64_C(0x9EB6EBACBA4EF01E),
+          UINT64_C(0x835E64D4342410FB), UINT64_C(0x06F96B87FFF4594D)}},
+        {{UINT64_C(0xE49A383AD233612B), UINT64_C(0x3CA5421FC9C14F64),
+          UINT64_C(0x25192E1BBB53DF81), UINT64_C(0x3C1451FEA94C046C)},
+         {UINT64_C(0x72B270F80423FAA8), UINT64_C(0xFF63513D3763888A),
+          UINT64_C(0xB22F2F20C1745190), UINT64_C(0x2E005A7A35DEA32C)}},
+        {{UINT64_C(0x6B5A4E7A6305B2EB), UINT64_C(0xF017BCA19CCD05D2),
+          UINT64_C(0xB37027C9D19AD8CB), UINT64_C(0x2CFCB4700CBB36A6)},
+         {UINT64_C(0x17F4FE51663F3485), UINT64_C(0x7DC20A170DC3467B),
+          UINT64_C(0x6B56BA3F4AF63CBD), UINT64_C(0x4E7CF2890D5D64AF)}},
+    },
+    {
+        {{UINT64_C(0xE2C5CD1F7F59D2E9), UINT64_C(0x6B9ACEB79D7FBE1E),
+          UINT64_C(0x84F0441DA20225B0), UINT64_C(0x15875CDA8B369FBC)},
+         {UINT64_C(0xED1332770659E294), UINT64_C(0x7FAA913E7AE02043),
+          UINT64_C(0xCA0E58DA9DCEDE14), UINT64_C(0x5F6A70FDCDE68547)}},
+        {{UINT64_C(0x524B790DE7282711), UINT64_C(0x4B4F6246BCA05694),
+          UINT64_C(0x85169ECB949AF774), UINT64_C(0x5B168842CC743068)},
+         {UINT64_C(0xB8D0E9F231FB3BA3), UINT64_C(0x56DD4BC362D471C7),
+          UINT64_C(0xB14D689CE2A34F75), UINT64_C(0x7F4E171702E8D2D2)}},
+        {{UINT64_C(0x8EE3491AB17090B9), UINT64_C(0x67C071166B7EDAF4),
+          UINT64_C(0x6876E4CE4D0E6CCE), UINT64_C(0x6D2FBB64BC5A86BE)},
+         {UINT64_C(0x0431C67A070FA8C3), UINT64_C(0x91EFF9BE0F5D65F4),
+          UINT64_C(0x332985E2E07088DF), UINT64_C(0x006D2583676EADA8)}},
+        {{UINT64_C(0xA1FBCC370AA747D6), UINT64_C(0xADEA4A90B0DFDF3C),
+          UINT64_C(0x650162C7401ED81B), UINT64_C(0x0FBC4841A8B15E22)},
+         {UINT64_C(0x1044B4E8BF98CDAC), UINT64_C(0x37071115ECD1C668),
+          UINT64_C(0x29B93C17233C220C), UINT64_C(0x4BEBC3CCE69BC0C0)}},
+        {{UINT64_C(0xD1A16E3746BF7E51), UINT64_C(0x889C7782F7A7370C),
+          UINT64_C(0xC73F396E3CCB474D), UINT64_C(0x1C508F18B9D67A2E)},
+         {UINT64_C(0x3F17E9676B03B7E7), UINT64_C(0x3928F1D8F857BB26),
+          UINT64_C(0x3086FB2EC0EA8620), UINT64_C(0x15DC32C21BE7C3E4)}},
+        {{UINT64_C(0xF48D4C3211F4D949), UINT64_C(0xE14A4AE3B0357C05),
+          UINT64_C(0x77A1121F151D91AE), UINT64_C(0x33F85C2FE8C6869D)},
+         {UINT64_C(0x8EA3BB4C364B77B0), UINT64_C(0x1F155B919BD43E50),
+          UINT64_C(0xA6C2873054748E7D), UINT64_C(0x5AA34DDAE7DDC539)}},
+        {{UINT64_C(0xF0F80DDAA6CF8A82), UINT64_C(0x87DE6D6C091663B5),
+          UINT64_C(0x9479873402FE5519), UINT64_C(0x109D411F96722130)},
+         {UINT64_C(0xBC47CA73E661041F), UINT64_C(0x071D605965741541),
+          UINT64_C(0x7CD4DF6607E08735), UINT64_C(0x175E1F77E68FC807)}},
+        {{UINT64_C(0xB88BDAB8DA58865B), UINT64_C(0x14AD911220ED2B89),
+          UINT64_C(0x2B21AEDF039BF0A3), UINT64_C(0x789717779D4B77E9)},
+         {UINT64_C(0x133DA2ACD6612EF3), UINT64_C(0x6260FCF512AD1785),
+          UINT64_C(0xDBA784DA9DF08843), UINT64_C(0x1A30C4CF4449FBD1)}},
+        {{UINT64_C(0xB6FECE874EF7ACA2), UINT64_C(0x9CE7B61A13F7C58C),
+          UINT64_C(0x6B0223C9F8719A60), UINT64_C(0x21199AA5A3B3B088)},
+         {UINT64_C(0x4A7171966938BB02), UINT64_C(0x2E9A17C9E7ABC263),
+          UINT64_C(0x83F796234BAB12B7), UINT64_C(0x15C0C4AF49D7CFBD)}},
+        {{UINT64_C(0x99B3413956D2957F), UINT64_C(0xA51B8DFD07218BB6),
+          UINT64_C(0x47CA4323FC91D7C9), UINT64_C(0x44B01E753DCFD5F0)},
+         {UINT64_C(0x29F9D18E8CE894F3), UINT64_C(0x22BCC54095227C6F),
+          UINT64_C(0x815CD9363FC75409), UINT64_C(0x0D58B325D8989472)}},
+        {{UINT64_C(0x8B4C6980B6C80208), UINT64_C(0xA5D974978FB77CCD),
+          UINT64_C(0x1B8965719477132F), UINT64_C(0x348ABC213AE45F53)},
+         {UINT64_C(0xE438C1C314BCDB96), UINT64_C(0x63150CF98007C1BF),
+          UINT64_C(0xDB861A338508B903), UINT64_C(0x421DFB017B04ECD6)}},
+        {{UINT64_C(0xF2FCE58B19430E7B), UINT64_C(0x851A5F03D0F8ECB7),
+          UINT64_C(0xE756C1670A5A1833), UINT64_C(0x25A51405227F866C)},
+         {UINT64_C(0x40F34CB03C6EE5F3), UINT64_C(0xF4010401F244B5CF),
+          UINT64_C(0x0E21BDED01349BCF), UINT64_C(0x1B129D8204547F42)}},
+        {{UINT64_C(0x802EC4800927D153), UINT64_C(0x0F75E4FE72541520),
+          UINT64_C(0xA4A1557A026C4613), UINT64_C(0x25E8DAFB7D92BC18)},
+         {UINT64_C(0x1D87A14312F15F05), UINT64_C(0x79390E3C7B6B4240),
+          UINT64_C(0xFC199D76492E6273), UINT64_C(0x0053F1C47EB090C0)}},
+        {{UINT64_C(0xE790F1CAACEE6DFC), UINT64_C(0xC8FB4626DFEA04FF),
+          UINT64_C(0xBF03627F627D88D7), UINT64_C(0x1B3698843D81A75A)},
+         {UINT64_C(0x83405DDA917FA19D), UINT64_C(0xFFB23FF98C7DDCD2),
+          UINT64_C(0x644F54C740F10B48), UINT64_C(0x4636FADF17FF713A)}},
+        {{UINT64_C(0xDA62ECC227F417E4), UINT64_C(0xC0DBE48FFD8662BE),
+          UINT64_C(0x729EE4AA1011E73C), UINT64_C(0x4BAE5D3C3E11C84B)},
+         {UINT64_C(0x854DFFF86CEF6CDA), UINT64_C(0x7939228CCB7131EA),
+          UINT64_C(0x58B3744AD3EBC607), UINT64_C(0x6EB9248F2049E239)}},
+        {{UINT64_C(0x0265CAE9ED0D4E57), UINT64_C(0x92166D028AA65AEF),
+          UINT64_C(0x2E337CDA198345D6), UINT64_C(0x6775330CABE1AD7B)},
+         {UINT64_C(0xA9A828A8BF6FBC7D), UINT64_C(0x33A56F8DCBFEA393),
+          UINT64_C(0x2DB72F77D811EC51), UINT64_C(0x3DDFCD268327C78E)}},
+    },
+    {
+        {{UINT64_C(0x7CF8A521B46AA2C4), UINT64_C(0xE3B20937ACF0D567),
+          UINT64_C(0xD47D8D1BA440648E), UINT64_C(0x674E79201E9791A1)},
+         {UINT64_C(0x27B714EB18366462), UINT64_C(0x1526E5588476F588),
+          UINT64_C(0x72C8D3746C240D70), UINT64_C(0x066BBAFB805C1265)}},
+        {{UINT64_C(0x15F1CFF5457034E1), UINT64_C(0xCF7C6550DD819FA7),
+          UINT64_C(0x57C2CD5377AC7AD6), UINT64_C(0x7DB2A8BEAFED669D)},
+         {UINT64_C(0x2DAFD95FD4697340), UINT64_C(0x382FF89215A6B6E7),
+          UINT64_C(0x036FC753BF4A6B1B), UINT64_C(0x3E7AC46DE4012711)}},
+        {{UINT64_C(0xBA5ECDED5752A34D), UINT64_C(0xB08749D46BAA08DD),
+          UINT64_C(0x8A2B98974A4A47A8), UINT64_C(0x7230966FE42DCE02)},
+         {UINT64_C(0xA6FF614A58654FF5), UINT64_C(0x7F3531D1AB3C2A7E),
+          UINT64_C(0x0282A2F00D0ED417), UINT64_C(0x2DC7B872EA9755A3)}},
+        {{UINT64_C(0x7678D7652392536A), UINT64_C(0x0C2025F1574C657D),
+          UINT64_C(0x01701C80795413DC), UINT64_C(0x63F0D4965396279E)},
+         {UINT64_C(0xB0F9968AFA32EA64), UINT64_C(0x81265D155BB393DE),
+          UINT64_C(0xC05ECC6D0BCD8C10), UINT64_C(0x4F3769F92824457E)}},
+        {{UINT64_C(0x9AA58686F13DB92E), UINT64_C(0x1155CDF4ED2E1B18),
+          UINT64_C(0xA06E919409823F5A), UINT64_C(0x7F1BBE734257AB0E)},
+         {UINT64_C(0x2DFB6472ABA6FCD1), UINT64_C(0x04BE6BCAD73D850E),
+          UINT64_C(0x72AAEC34297D312B), UINT64_C(0x31F4C02C7509D9F5)}},
+        {{UINT64_C(0xAA9BA0007CA72AD5), UINT64_C(0x21EE29457FBCB4D6),
+          UINT64_C(0x0E210AAB1CF8580A), UINT64_C(0x600479FE0FA8DE10)},
+         {UINT64_C(0x246FD26554322F70), UINT64_C(0xC60BE9BB60DF1893),
+          UINT64_C(0x04D4F99D05137E38), UINT64_C(0x6ACB9E016164C176)}},
+        {{UINT64_C(0x126F2C7EC1DB7B6C), UINT64_C(0x4C3B30B5CF4DD3C0),
+          UINT64_C(0x827D57A2F782A489), UINT64_C(0x41B897DEE52621F0)},
+         {UINT64_C(0xED31C55ADDA0A3CD), UINT64_C(0x21C91BB2A11AD179),
+          UINT64_C(0x60E606B843FD6E23), UINT64_C(0x31B8138D51ED7FA6)}},
+        {{UINT64_C(0x1387B313E72E4BC5), UINT64_C(0xDCCCB09C82EBFC72),
+          UINT64_C(0xF0B01202AA4432D6), UINT64_C(0x632599C47C52B69D)},
+         {UINT64_C(0x3922D0C0BCE9A04C), UINT64_C(0xC2397D88B53F4268),
+          UINT64_C(0x50AE5ED900669858), UINT64_C(0x1B2BD4C216C7696B)}},
+        {{UINT64_C(0x6FAE1B082BF7DF06), UINT64_C(0x870B3FE85210DB3B),
+          UINT64_C(0x680BE4229BDC0B91), UINT64_C(0x56BA83C6BCC970AD)},
+         {UINT64_C(0x1AE91BAC859D6C78), UINT64_C(0xC5BDD5FB2895A1A6),
+          UINT64_C(0xA169E73C550610F5), UINT64_C(0x01B467670CC7D3EA)}},
+        {{UINT64_C(0x1E147A510EC5ECE2), UINT64_C(0x9B612A1FD0E2C46C),
+          UINT64_C(0x664FDD555E293783), UINT64_C(0x52070E1567DC4DBC)},
+         {UINT64_C(0x449B53E54A4903FB), UINT64_C(0x79B53583A8D30103),
+          UINT64_C(0x616C97F3AF7CC314), UINT64_C(0x6BEB304C2849862C)}},
+        {{UINT64_C(0xB9C636D6019F0313), UINT64_C(0x0B08E7CBD3E0188D),
+          UINT64_C(0xEAEB1715D704DE15), UINT64_C(0x4990282C837E7543)},
+         {UINT64_C(0xCBB0BD49FBD3A061), UINT64_C(0x3454A8AC1DA124AE),
+          UINT64_C(0x0D524A0237D64EAB), UINT64_C(0x766807490B3E4ADE)}},
+        {{UINT64_C(0xC293E01195B04835), UINT64_C(0x76D304BA23D0C885),
+          UINT64_C(0x36A63627D6552D80), UINT64_C(0x3B4FA680C504CCAB)},
+         {UINT64_C(0xF25B3A04E1FC08DF), UINT64_C(0x786380E562D080F8),
+          UINT64_C(0x0A731427DAC0D110), UINT64_C(0x1D65288FD628429A)}},
+        {{UINT64_C(0x3CE5E929DC94453E), UINT64_C(0xEC7CF988B6073324),
+          UINT64_C(0x023361E7DCB35234), UINT64_C(0x3AF20624F5E89B7C)},
+         {UINT64_C(0x860F188EA5B2B103), UINT64_C(0x5EAC84CECB6D112F),
+          UINT64_C(0x63B200C3914C9FFD), UINT64_C(0x327870A055A1FDCB)}},
+        {{UINT64_C(0x4F94633C155280ED), UINT64_C(0xF98321D53654B8AA),
+          UINT64_C(0x9C057A23489AE89A), UINT64_C(0x1124A1FBD59CA3B5)},
+         {UINT64_C(0x2F4CE0521F64AFD7), UINT64_C(0x841EE4417C789152),
+          UINT64_C(0x93531ED459A98374), UINT64_C(0x69A4F48C36BB8F07)}},
+        {{UINT64_C(0xD8FFD2435FD512A7), UINT64_C(0xF48C96F19BEA1738),
+          UINT64_C(0xF70E1F6A0FFB4553), UINT64_C(0x29DB63B15FF91D21)},
+         {UINT64_C(0xC1355C2377BF7279), UINT64_C(0xD3946EE9A2FC904D),
+          UINT64_C(0x07223881E7B7A9F4), UINT64_C(0x212D896756E08ED6)}},
+        {{UINT64_C(0x32B8C22A45503451), UINT64_C(0x9E4FDAF1E6AB7B3D),
+          UINT64_C(0x7A300E3D04A31294), UINT64_C(0x0F529DFD05FE2AEB)},
+         {UINT64_C(0x7EFFEA9E9951B6FB), UINT64_C(0x18C60266336B9A2B),
+          UINT64_C(0xB78A5EE16C8D0EEC), UINT64_C(0x68C17FE446ED0B23)}},
+    },
+    {
+        {{UINT64_C(0xF707FAD596B3222E), UINT64_C(0xD6AF61610223F804),
+          UINT64_C(0x13FFDC744F43A0E9), UINT64_C(0x6A3B70E93347F487)},
+         {UINT64_C(0xBDDF02A46A4AF4F5), UINT64_C(0x61B451E1E4C69950),
+          UINT64_C(0xFF854590F9E3BB99), UINT64_C(0x46EB1F697CD54C54)}},
+        {{UINT64_C(0x70E643B68E6848D3), UINT64_C(0xC58B8519848C2587),
+          UINT64_C(0x2F195C54EDF4A38E), UINT64_C(0x206E6A323D2A52E8)},
+         {UINT64_C(0x234845B5417595BF), UINT64_C(0x90354373FF5AE3CB),
+          UINT64_C(0x13BE31CE89C0E555), UINT64_C(0x2D18AA43CC67E26F)}},
+        {{UINT64_C(0xC74EE8C4F041BD17), UINT64_C(0x655CF527C2B3CC64),
+          UINT64_C(0x6735CF0A160FF053), UINT64_C(0x35DAB9EB04218A0D)},
+         {UINT64_C(0x32BB2E9ACBC34E46), UINT64_C(0xF780CEAF7D190342),
+          UINT64_C(0x161C0C1A9F0DA1A4), UINT64_C(0x7B198C9EE7642FD6)}},
+        {{UINT64_C(0x936C763E122FD0B4), UINT64_C(0xA3819ED9A7E0C435),
+          UINT64_C(0x86228B04CAAE6D7B), UINT64_C(0x2E1160187A3C65B4)},
+         {UINT64_C(0xF55BB1F3D4EB0345), UINT64_C(0x858A0BF40630B569),
+          UINT64_C(0x8CC22657CB78A626), UINT64_C(0x7CD93BDEB45E3005)}},
+        {{UINT64_C(0xCAA1F45998E517AB), UINT64_C(0x36E60281B34A6F5C),
+          UINT64_C(0x877A49F30B46F47F), UINT64_C(0x0179824B9E7BE761)},
+         {UINT64_C(0x6830A2B2D455D9C0), UINT64_C(0xB734BA0A7BA31962),
+          UINT64_C(0x344665A4065C3B51), UINT64_C(0x0B1D2210562E7F1D)}},
+        {{UINT64_C(0x289BAFCA0B2E22E8), UINT64_C(0x038929A083390107),
+          UINT64_C(0x968A014D0683E782), UINT64_C(0x5A1AD5C853D34463)},
+         {UINT64_C(0xA26133349527B2CA), UINT64_C(0xE8471271310B745F),
+          UINT64_C(0x49C81A2631387F59), UINT64_C(0x1B955AF70343C691)}},
+        {{UINT64_C(0x069328ADA4A9FCA4), UINT64_C(0x14EF09A7624FCB94),
+          UINT64_C(0x21C76F0DE3E0CECD), UINT64_C(0x5F470B866C1BCE0F)},
+         {UINT64_C(0x79319A3FB15BC8B4), UINT64_C(0xB1407CB1DB06AFA1),
+          UINT64_C(0xD69E9E09911116E0), UINT64_C(0x6E77524E0756579E)}},
+        {{UINT64_C(0xD3EC5EBCE2D851D5), UINT64_C(0xC888BC2303B63143),
+          UINT64_C(0x5F3DE41EDB0C357F), UINT64_C(0x646FFBD3C3D47D37)},
+         {UINT64_C(0xE53F8BEB0692639B), UINT64_C(0x7E194E37D4FBC3D4),
+          UINT64_C(0xE1988A22452B2A2E), UINT64_C(0x5D359A15B013F9E1)}},
+        {{UINT64_C(0xA48160A7B2A6627D), UINT64_C(0x5EFDC8483CE8789E),
+          UINT64_C(0x264CBFF1B1CD14EE), UINT64_C(0x288823D444D84222)},
+         {UINT64_C(0x2F091B233A6DB1F8), UINT64_C(0xBFD737B5CEA89B44),
+          UINT64_C(0x682AB86C17F5E969), UINT64_C(0x7653005CABB0FA87)}},
+        {{UINT64_C(0x619C2629D4B8A43A), UINT64_C(0xBFDAF433B6DAF943),
+          UINT64_C(0xDC7AA1EE6D640DB8), UINT64_C(0x35ADEEA83B08D55C)},
+         {UINT64_C(0x30935454D7AF5382), UINT64_C(0x1F9C51A13D68A24A),
+          UINT64_C(0xDBD13CFC78BDBEA9), UINT64_C(0x003B6D9931210A3F)}},
+        {{UINT64_C(0xD4547A329C2B515D), UINT64_C(0x4AF29AA8FECDAAA9),
+          UINT64_C(0x85C80ECDE401D5AD), UINT64_C(0x2830332D8AA315A1)},
+         {UINT64_C(0x5675882371DCE198), UINT64_C(0x55AC9D106ACBDEE3),
+          UINT64_C(0xF6D468CF575CF4BB), UINT64_C(0x46E4FA98576B5C4A)}},
+        {{UINT64_C(0xAD20F82020D859EF), UINT64_C(0x380915882A5462B0),
+          UINT64_C(0x35F45C9F2135DA7D), UINT64_C(0x6B426F91F7F20DBD)},
+         {UINT64_C(0x4A0D8CBEF96E77D2), UINT64_C(0x8FC36F5BCC51D3F4),
+          UINT64_C(0x7A1870DDBE16A0A8), UINT64_C(0x29C3E2B3114DB780)}},
+        {{UINT64_C(0xFF692A4C21779E6E), UINT64_C(0x698231ABA6026EC1),
+          UINT64_C(0xDAB0D835EF03E21B), UINT64_C(0x770BFFACC846D56F)},
+         {UINT64_C(0xCD28722D3B8B0747), UINT64_C(0x3DEFE04032AE95E5),
+          UINT64_C(0x6F5D816A0F9857D6), UINT64_C(0x2E483FEDFC630F5E)}},
+        {{UINT64_C(0xDBF82EC4967C7140), UINT64_C(0x6265CAD10D20A2A5),
+          UINT64_C(0x1509652B5862DEFE), UINT64_C(0x699DD93994A284E5)},
+         {UINT64_C(0xC01166460B2CC732), UINT64_C(0x583FE01294C3EF86),
+          UINT64_C(0xCD5DAEA8CD353430), UINT64_C(0x2B39A746C7ADA62B)}},
+        {{UINT64_C(0xF449B989E4257BBC), UINT64_C(0x95BA21BAA90DCCE6),
+          UINT64_C(0xDD53AD5C93CA4ACD), UINT64_C(0x7FCF27380BB4213B)},
+         {UINT64_C(0x0E57C1C0C2E7E54E), UINT64_C(0xD1769DAEA1A0E975),
+          UINT64_C(0x68F62C4EC3B6E13B), UINT64_C(0x75152F9A781242D8)}},
+        {{UINT64_C(0x4D58276824B8B820), UINT64_C(0x36E37AC45BBD9F84),
+          UINT64_C(0x1F34414ADA076F12), UINT64_C(0x08A77C283E0333C6)},
+         {UINT64_C(0xBB1F017DD9193382), UINT64_C(0x56E9AA2483A5612D),
+          UINT64_C(0x6959B02BD0B4554F), UINT64_C(0x2479BC56E4559B52)}},
+    },
+    {
+        {{UINT64_C(0x96D631C60F570A8E), UINT64_C(0xE3F566A3D714B807),
+          UINT64_C(0x564DD512EF7E1550), UINT64_C(0x1C5CF24A79FA2F58)},
+         {UINT64_C(0x973BA599897958DB), UINT64_C(0x93951D1711A9CBB1),
+          UINT64_C(0x86BA17F6A37A969A), UINT64_C(0x4807CAC7A069B195)}},
+        {{UINT64_C(0xB64AC0D46665B35E), UINT64_C(0xBA9CD3947EF72C68),
+          UINT64_C(0x838807B29C4CBC44), UINT64_C(0x2675D26882770197)},
+         {UINT64_C(0xBFC2F13717087FA9), UINT64_C(0x811E644BE7B79B31),
+          UINT64_C(0x597CE23FC963A061), UINT64_C(0x40BC32E42EA0DEB0)}},
+        {{UINT64_C(0xC0AEFB5027C85959), UINT64_C(0x76D1087E058E0FDD),
+          UINT64_C(0x6ADA5AAF7E51A6F8), UINT64_C(0x424B16E0054A058D)},
+         {UINT64_C(0x9A2C20A963AF9766), UINT64_C(0x4C1CB5323CF18DAB),
+          UINT64_C(0x599CD9296C5D6A00), UINT64_C(0x57C39BAE8AA311BF)}},
+        {{UINT64_C(0x3FDF5B46CD987F02), UINT64_C(0x57755078353175C4),
+          UINT64_C(0x80223EC0CD578394), UINT64_C(0x04BBA6ACAEB7D278)},
+         {UINT64_C(0xD27FD2BE8688BFB2), UINT64_C(0xB2F80278C27A62E5),
+          UINT64_C(0x8BA6FB07339429D8), UINT64_C(0x57737FF63AB70AA0)}},
+        {{UINT64_C(0x0140E47F8EAEB3C9), UINT64_C(0xB91C9798735AC8EA),
+          UINT64_C(0x325E031283D4EFAA), UINT64_C(0x1E7DA3BED9C5888E)},
+         {UINT64_C(0xA210CDA6F7F1EB13), UINT64_C(0xEDC1F6B3936EA9E9),
+          UINT64_C(0x46E831C41B097F65), UINT64_C(0x008576011939A0AE)}},
+        {{UINT64_C(0x7C26F7111F68BB40), UINT64_C(0xEA69C84539DDBE6D),
+          UINT64_C(0x590BF426E5316F22), UINT64_C(0x40CDC921CC2DF9C9)},
+         {UINT64_C(0x28A32DDEF3F991C6), UINT64_C(0xD75B59E65356CA78),
+          UINT64_C(0xB5DD3861D1F5F318), UINT64_C(0x09EB1A2DE7929834)}},
+        {{UINT64_C(0x701F9A2DDBC0370D), UINT64_C(0x559D0FAF2870B59D),
+          UINT64_C(0xE89E5DF055367B5D), UINT64_C(0x22BBD4FC74005A58)},
+         {UINT64_C(0x7ACED1E499CDC76B), UINT64_C(0xD41C827CE3C219D3),
+          UINT64_C(0x5AF3F2AE8221D91F), UINT64_C(0x6D62C990E5B6BC98)}},
+        {{UINT64_C(0x23B2A0BF7FFC9D0F), UINT64_C(0xED98F71D974CA299),
+          UINT64_C(0x10F8C07A151D559B), UINT64_C(0x40E46FC38E949C62)},
+         {UINT64_C(0x0CF53E34BBE55338), UINT64_C(0xF2D6CF26115520D4),
+          UINT64_C(0x915FF09A590B4E23), UINT64_C(0x072E4233BEDC75F2)}},
+        {{UINT64_C(0xB67A6B60997E9BFA), UINT64_C(0xE7686AC9973BC3E7),
+          UINT64_C(0x9525B4490B228320), UINT64_C(0x6C7275837ADE8F19)},
+         {UINT64_C(0x3D064298062FF3D5), UINT64_C(0x5483826C07E22768),
+          UINT64_C(0xF4ADE9211F7A64A4), UINT64_C(0x70BDDCF7BD92EB25)}},
+        {{UINT64_C(0xA8DB36115D8A9E36), UINT64_C(0xAA6A5F33FA81065A),
+          UINT64_C(0x8EC120A3366DDA90), UINT64_C(0x2AA0AB25D8A15CF7)},
+         {UINT64_C(0x5E11E169A0DFFB9C), UINT64_C(0x8C7572E9118408A7),
+          UINT64_C(0x4EEFD13E35833ADF), UINT64_C(0x2C6732E8FC2C1811)}},
+        {{UINT64_C(0x15D063F9B1537DF6), UINT64_C(0x864176B30414FCFD),
+          UINT64_C(0x9C0A194C8FF9E32E), UINT64_C(0x4DB14C6FDDE1540B)},
+         {UINT64_C(0xFAA4AED431F6493F), UINT64_C(0x2C479F1DD3C41A46),
+          UINT64_C(0xC31196678E5E85A2), UINT64_C(0x7E567C8084E9A76C)}},
+        {{UINT64_C(0xB9E2C92A689A6B95), UINT64_C(0xCCEAC3833B635B01),
+          UINT64_C(0x04FEA46534AAB952), UINT64_C(0x772E502763B5CF63)},
+         {UINT64_C(0xCB94F5D225830581), UINT64_C(0x791004AFC77FB7DE),
+          UINT64_C(0x53273C335140E4AE), UINT64_C(0x0C2D329EA524419F)}},
+        {{UINT64_C(0xB7CEDA36B307B0E4), UINT64_C(0x12DF7FD00F8F9667),
+          UINT64_C(0x74274002BF62BD94), UINT64_C(0x6765C73DC436C319)},
+         {UINT64_C(0x79B64CE5F6EEC946), UINT64_C(0x3B1B4B43DAB258B6),
+          UINT64_C(0x377819A3EE1F8B84), UINT64_C(0x1F45F1D676D0EB1F)}},
+        {{UINT64_C(0xCC5BF9B358C953AD), UINT64_C(0x8303250F7BAD1D2C),
+          UINT64_C(0xBCA7BC36F164972B), UINT64_C(0x2CACF8A9B1DFDA64)},
+         {UINT64_C(0xB03A59B9D4E2A06F), UINT64_C(0xFED68E681B7FB8FD),
+          UINT64_C(0x08F75A527E747AE6), UINT64_C(0x3299EA6B37A4420B)}},
+        {{UINT64_C(0x49A00BE6932E5BA6), UINT64_C(0x4921250556114C4B),
+          UINT64_C(0x786B7D31376183C7), UINT64_C(0x01F9E229DD8A5EAF)},
+         {UINT64_C(0xE9B8E99053094AD4), UINT64_C(0x2EDA305CBFAEDFA8),
+          UINT64_C(0x344437267F9E3BC8), UINT64_C(0x1729519C6B55B3C3)}},
+        {{UINT64_C(0xEA5A68C050A597D6), UINT64_C(0xA65147D4F1E86D1B),
+          UINT64_C(0x554FA36B8B47CDEB), UINT64_C(0x7F38364B9F24FFED)},
+         {UINT64_C(0x657C7E051D2A8E2B), UINT64_C(0x8270F1A7E3F64D62),
+          UINT64_C(0xFD258B59953AF5A2), UINT64_C(0x6DE0114143510AA3)}},
+    },
+    {
+        {{UINT64_C(0x483904280D7A5CBE), UINT64_C(0xD37E8C1FDE441E5E),
+          UINT64_C(0x908C88B80DE31C8C), UINT64_C(0x7C0E24BB0ACD87CE)},
+         {UINT64_C(0x4A78117725ECCCE8), UINT64_C(0xC06C2F7ACBDA746F),
+          UINT64_C(0xDB9E9A08AB565DD4), UINT64_C(0x1E9B44C0BE776F5B)}},
+        {{UINT64_C(0x7CFD4E5085B54ABC), UINT64_C(0x41A4A4DCE7A44F8B),
+          UINT64_C(0x751C5052A4422576), UINT64_C(0x534FE0B2D56B6CB1)},
+         {UINT64_C(0x22DAA5CDD5D767D0), UINT64_C(0x9C1999AB0AF8E22C),
+          UINT64_C(0xC70C093299259068), UINT64_C(0x459D212EFD0839F0)}},
+        {{UINT64_C(0xA207E7DEFD32D79B), UINT64_C(0xA7B54991410B479F),
+          UINT64_C(0x806912B6D68E5CDC), UINT64_C(0x1CB7B68C92AB8B64)},
+         {UINT64_C(0x3DB85378DF98339F), UINT64_C(0xA24101DC83EA7A18),
+          UINT64_C(0x8892367CE25522C5), UINT64_C(0x491A8BB37753A2C3)}},
+        {{UINT64_C(0x571C547E8C7875A7), UINT64_C(0x7E5F23E4E9747C13),
+          UINT64_C(0x00F3BBB21058548D), UINT64_C(0x7081F172E2397102)},
+         {UINT64_C(0xB4351B8A6B573034), UINT64_C(0xB35A4F44C1A094F0),
+          UINT64_C(0xE2C1DAEDAE951E96), UINT64_C(0x5CF2A742B9DAA081)}},
+        {{UINT64_C(0xB4F0D3F09828ED9F), UINT64_C(0x6DB312FBA9251386),
+          UINT64_C(0xC9A4583F537203F2), UINT64_C(0x5E0996399CE76D40)},
+         {UINT64_C(0x3381B894C9F8CEA8), UINT64_C(0x8242DAF8626E07E8),
+          UINT64_C(0x64A0B68C6077DFD9), UINT64_C(0x3CC462C0563CF051)}},
+        {{UINT64_C(0x8937364C87AF4A45), UINT64_C(0x8C4ACBFA2DE0FD60),
+          UINT64_C(0xF10AED11472A5D8A), UINT64_C(0x3F5674B55380C2E6)},
+         {UINT64_C(0x8F4FD0F52BF8A452), UINT64_C(0xB436E388C7390418),
+          UINT64_C(0xAFAB7B7CE6EE9406), UINT64_C(0x4F623177951739BA)}},
+        {{UINT64_C(0x90B0ED35A9B50F2A), UINT64_C(0x46DC3F91AC6CF217),
+          UINT64_C(0x2F1420312C7B119C), UINT64_C(0x55A93CBC07D79225)},
+         {UINT64_C(0x45E0DD7DB304A642), UINT64_C(0xB743DFCDD572D446),
+          UINT64_C(0x867B02EBAC74B368), UINT64_C(0x67B2B86C169B94B0)}},
+        {{UINT64_C(0x18396DA7483CFEDB), UINT64_C(0x6C6E03708A3A07C2),
+          UINT64_C(0xF32A1AFEAB554998), UINT64_C(0x408C911987D1C136)},
+         {UINT64_C(0x755F63254BBE0B78), UINT64_C(0xDC4A7319D1178550),
+          UINT64_C(0x44B49813B3B9E459), UINT64_C(0x0294B9A94C3D3620)}},
+        {{UINT64_C(0x6480F6FE067FA6FF), UINT64_C(0x67891400F307A52E),
+          UINT64_C(0x9F846EF87F865DA8), UINT64_C(0x318DAC55AE02F671)},
+         {UINT64_C(0x91119652E288A317), UINT64_C(0x4D7CF2B8038C61B8),
+          UINT64_C(0x098F80DD5154C1A8), UINT64_C(0x10C04F87D239A2D4)}},
+        {{UINT64_C(0x134609265CA6F183), UINT64_C(0x5E97AD18D52001ED),
+          UINT64_C(0x7DCD2477E14843DF), UINT64_C(0x27DAB27698A30426)},
+         {UINT64_C(0x7939CAE3E120D80C), UINT64_C(0xC9F4646651E5B81A),
+          UINT64_C(0xED620322E2E49D52), UINT64_C(0x3C0F5A2EFA172BBB)}},
+        {{UINT64_C(0xBFFE87425DB1196B), UINT64_C(0xCD45F8ED49B7214E),
+          UINT64_C(0x923ABA47C35F5C33), UINT64_C(0x16ED1F1083F3EE48)},
+         {UINT64_C(0x042E6DF099274930), UINT64_C(0xE8AE1DCFC5F8EA16),
+          UINT64_C(0x004462CBF02EA2B2), UINT64_C(0x427F9381D284B04E)}},
+        {{UINT64_C(0x4CD481F875EFACC5), UINT64_C(0xD98C3FD421C83368),
+          UINT64_C(0x4335E7C83894CE88), UINT64_C(0x18321F87955A298C)},
+         {UINT64_C(0x073DD00AD1716E18), UINT64_C(0x66D82A5FFE0BFE61),
+          UINT64_C(0x7D869E202310C532), UINT64_C(0x29A376FB19BF4704)}},
+        {{UINT64_C(0xA1B12B35C149B5B0), UINT64_C(0x3411B2311E828959),
+          UINT64_C(0x56417519560D99FB), UINT64_C(0x4E0EB143EBB52124)},
+         {UINT64_C(0x7B594B5E6AEF3801), UINT64_C(0x00AEE12E9ECB536E),
+          UINT64_C(0x6BF0FB2956E23145), UINT64_C(0x2B2D83B961AE8E98)}},
+        {{UINT64_C(0x9CB3E2E86AC27F2D), UINT64_C(0x82BACA965A6280AA),
+          UINT64_C(0xCBC6C01B2C6B7C8F), UINT64_C(0x390511BCD0C01ABD)},
+         {UINT64_C(0xB322D97249551C0D), UINT64_C(0x7905E82E7B6489C8),
+          UINT64_C(0x4DD0CE8B40EEC20D), UINT64_C(0x5C0B3EE72409298A)}},
+        {{UINT64_C(0x4418D685B635FB99), UINT64_C(0x652EA6083ACE8B39),
+          UINT64_C(0xE586FBDC46FC4047), UINT64_C(0x3C832D34D8CC13D8)},
+         {UINT64_C(0x14CC9F23F7AA54A1), UINT64_C(0x80D094E607153B9F),
+          UINT64_C(0x0776E5406A2EED8E), UINT64_C(0x03CC3BFC77249085)}},
+        {{UINT64_C(0x5F8F281F1308C1A8), UINT64_C(0x31C8E737D1AFC4B7),
+          UINT64_C(0x6778529841AE8EF2), UINT64_C(0x17716086FD028A4B)},
+         {UINT64_C(0x1A2083E0F922E100), UINT64_C(0xD67EC9D1D53FE691),
+          UINT64_C(0x2DF8B6EDECCA8DEB), UINT64_C(0x3B595EE4BCCC999E)}},
+    },
+    {
+        {{UINT64_C(0x11F03F895A4B8C04), UINT64_C(0x254C36487DAE8E6B),
+          UINT64_C(0xAB6EAAF1637CDB83), UINT64_C(0x41F52243FDDED8F6)},
+         {UINT64_C(0x487078E1BBDF3270), UINT64_C(0x98853B49339CEA28),
+          UINT64_C(0x8AF0522BAB3EDE57), UINT64_C(0x734D711F85EB4CC0)}},
+        {{UINT64_C(0xFD1F46ADF86BA644), UINT64_C(0xA5332B97A3299855),
+          UINT64_C(0x61BE90DBD9493634), UINT64_C(0x308F09B1C2705911)},
+         {UINT64_C(0xD59F1B1A0B7918A5), UINT64_C(0x9CF333D0CF6399E6),
+          UINT64_C(0xD09C63CDFBB26B6B), UINT64_C(0x76C27913A6536647)}},
+        {{UINT64_C(0x3DF1811FAAAB555C), UINT64_C(0x60853351886C828B),
+          UINT64_C(0xF6CA7707F1E87F41), UINT64_C(0x5B4F6EDF7D7082E6)},
+         {UINT64_C(0xADE518E03F672DE7), UINT64_C(0x00ED0B84022541B2),
+          UINT64_C(0x04FE5DD6618E8969), UINT64_C(0x2F5F5C65DB9CCA4D)}},
+        {{UINT64_C(0x00B69B4596BDAE2C), UINT64_C(0x06DB22CF770604C4),
+          UINT64_C(0xC2EB7F8F856585C3), UINT64_C(0x6E3225390413C614)},
+         {UINT64_C(0x22C09EA870A46872), UINT64_C(0x143E73BC1FF23734),
+          UINT64_C(0xCAC5E2DD575C20B4), UINT64_C(0x225E53903FEBE787)}},
+        {{UINT64_C(0x594FEA4EBE9C512D), UINT64_C(0x5850709292CB73AE),
+          UINT64_C(0xFD8EFC7DB0CE2096), UINT64_C(0x3B58C199E031D6AB)},
+         {UINT64_C(0x55DA1CBD479F23E4), UINT64_C(0x060C6BB5A6DB6137),
+          UINT64_C(0xD8319CF86864488E), UINT64_C(0x6C15A31B21B02EDA)}},
+        {{UINT64_C(0x13C483728CA7084D), UINT64_C(0xF7554E59A171ECE5),
+          UINT64_C(0x7425C5D823A97699), UINT64_C(0x6F2C68DA71E1120E)},
+         {UINT64_C(0x9591B9B624324B64), UINT64_C(0x2DA33472C02AC704),
+          UINT64_C(0xC5DE7FC981EE1295), UINT64_C(0x6A646A445D6E93C6)}},
+        {{UINT64_C(0x48684061A39D6554), UINT64_C(0xB70ABF61C3DF57B6),
+          UINT64_C(0x9824AFD658B9EEE3), UINT64_C(0x46EBE9D13A14A733)},
+         {UINT64_C(0x8E70F95DD74F8E94), UINT64_C(0xA9D922A26AFCA4E2),
+          UINT64_C(0x519A97536988CC16), UINT64_C(0x711DEF16D545AF8A)}},
+        {{UINT64_C(0x362A5D95811A2BF7), UINT64_C(0x42A84A33566B90CE),
+          UINT64_C(0x25CBC7607C41EC87), UINT64_C(0x6B77E39CD4B7DBEE)},
+         {UINT64_C(0xA98B8201833015A4), UINT64_C(0xE412E217C31B26F4),
+          UINT64_C(0x518BE8F0E0090782), UINT64_C(0x08D9F4B63DB51D4E)}},
+        {{UINT64_C(0x2C80CE87297D421E), UINT64_C(0x2FD137F8ADBA1498),
+          UINT64_C(0xA2ED3D472899AA14), UINT64_C(0x2AC924A5FE4F365A)},
+         {UINT64_C(0xAC0389B7666DC0A0), UINT64_C(0x3CC997398ABF3D9E),
+          UINT64_C(0x33060DB6DFBFF83A), UINT64_C(0x54EEE2150339C3B8)}},
+        {{UINT64_C(0x06C3A4F5820F7E4D), UINT64_C(0x86F083E208C3D311),
+          UINT64_C(0x47E29984FE4B0476), UINT64_C(0x218F52E2CA7DF6CF)},
+         {UINT64_C(0x59317E26BF2C2084), UINT64_C(0xEA9C865B289A10CF),
+          UINT64_C(0x7AA1E50B2074FEA3), UINT64_C(0x708A1D8C4B3EFC31)}},
+        {{UINT64_C(0x34C5C63E864817D7), UINT64_C(0x0F614043D89E995B),
+          UINT64_C(0x60CE8BCE975E2A03), UINT64_C(0x70916E2978493E0C)},
+         {UINT64_C(0xBD0748F9216782C6), UINT64_C(0x0051C65AED32FB72),
+          UINT64_C(0x9DC5F5584DD64705), UINT64_C(0x674F1A63EEC14B50)}},
+        {{UINT64_C(0x73D6E68EDB633FD1), UINT64_C(0x7B5F8303F52F9537),
+          UINT64_C(0x980FDDDC88A74CFB), UINT64_C(0x6419C18F47FC32D1)},
+         {UINT64_C(0x93727B4C870B5D59), UINT64_C(0x4BCE05DECF28021D),
+          UINT64_C(0x3C059B47AB4F0CE5), UINT64_C(0x77CA7F67B85FFDBB)}},
+        {{UINT64_C(0xDBEADDCEC525088E), UINT64_C(0x561E12BE390D2221),
+          UINT64_C(0xCD224FC1D9BA7AF0), UINT64_C(0x03744552394DC073)},
+         {UINT64_C(0xCFC67B4921BB6B6E), UINT64_C(0xD234FD8D1B5F8E6A),
+          UINT64_C(0x6DDBC18B40B7F8B0), UINT64_C(0x79F40857DAACCC74)}},
+        {{UINT64_C(0x30E5F9909DD71B9C), UINT64_C(0x00FCBFA5291124EF),
+          UINT64_C(0xBE595A2549B8C570), UINT64_C(0x5B4B8141BC094446)},
+         {UINT64_C(0xB22B4F04469191B6), UINT64_C(0x10845AC8D73C4D38),
+          UINT64_C(0x39C9F0FBED0C8224), UINT64_C(0x7E009DFBF5813BEE)}},
+        {{UINT64_C(0xA47C2989A61D09C0), UINT64_C(0x3706F45659E55A9C),
+          UINT64_C(0x2373976FEA0259B9), UINT64_C(0x13FC0E09077D20CC)},
+         {UINT64_C(0xBB24DD05E78D29CF), UINT64_C(0xD8757A67822CFA02),
+          UINT64_C(0x36CA74863C55A4C6), UINT64_C(0x4234E6893EEABBE1)}},
+        {{UINT64_C(0xA2F54D14B46BDB51), UINT64_C(0x8A530B78675BB770),
+          UINT64_C(0x617D7E8EDE9F1F8B), UINT64_C(0x799B3E442DCC4712)},
+         {UINT64_C(0x658A31D8B486FE8C), UINT64_C(0x45BAFC29163D4AF0),
+          UINT64_C(0x3A2C7F66A5289C8D), UINT64_C(0x4ECC3C7DB91FF3DB)}},
+    },
+    {
+        {{UINT64_C(0x738CF1C7DF4DFD43), UINT64_C(0x72943A2DE987084C),
+          UINT64_C(0xEA21C05F2491FF24), UINT64_C(0x3D3F4ED7DA050094)},
+         {UINT64_C(0xF90644E461C4054D), UINT64_C(0x253792143A50E82A),
+          UINT64_C(0x47EDB006C7DEF970), UINT64_C(0x0F8F031C0F53F307)}},
+        {{UINT64_C(0x50FEB6D8724976D5), UINT64_C(0x57AA499FF40C7720),
+          UINT64_C(0x6B80AC540DAAF428), UINT64_C(0x7AC6845E1F6FC276)},
+         {UINT64_C(0x8EC7FAB117A4B9C5), UINT64_C(0x8336DD62ED0C8F97),
+          UINT64_C(0x6014A510B7B7104E), UINT64_C(0x4991A03BA2911C30)}},
+        {{UINT64_C(0x6D353975CBCC9BA3), UINT64_C(0x23E97E28C4564492),
+          UINT64_C(0xDF432FDAF8AEED3E), UINT64_C(0x11DB40DD6F6B472C)},
+         {UINT64_C(0x5B87005B95AA0174), UINT64_C(0x1DB4108089D9F1A8),
+          UINT64_C(0x5A6BC444689DF208), UINT64_C(0x16153F87BF38FF8D)}},
+        {{UINT64_C(0xD217003FFFD3C814), UINT64_C(0x1ADE64C3FD50AF95),
+          UINT64_C(0x1936332C9FFB8BEB), UINT64_C(0x6EE322DCD70CD8D8)},
+         {UINT64_C(0xE40A0419F2A60976), UINT64_C(0xA62F6FA1EF93B05B),
+          UINT64_C(0x5978206C596575FF), UINT64_C(0x5CDCA200B68BFE5C)}},
+        {{UINT64_C(0x3FB16AEDB7949E33), UINT64_C(0x3453892840304A1B),
+          UINT64_C(0x7FA35A343BCA4239), UINT64_C(0x22FD1AEFEE76919E)},
+         {UINT64_C(0x1F8FE6A40F6A5D50), UINT64_C(0x27CC704F26BBA46B),
+          UINT64_C(0x230FD0CA3420CC52), UINT64_C(0x3E9E4DA4B3A83D85)}},
+        {{UINT64_C(0x1D82390E7F5CC75E), UINT64_C(0x7025624549D0A605),
+          UINT64_C(0x5B8778134FF4BC44), UINT64_C(0x28E6A057B5EC02E4)},
+         {UINT64_C(0xBC7A10DA2E89FB84), UINT64_C(0x3AF182E520E1EA00),
+          UINT64_C(0x4B590FFA9C507274), UINT64_C(0x26BA94D6AA7FD65B)}},
+        {{UINT64_C(0xC02CC77C238CC195), UINT64_C(0x3F175C97A97EE3E4),
+          UINT64_C(0x8A28FA23DFA1F9DC), UINT64_C(0x35CAC0FF1F968D15)},
+         {UINT64_C(0x0FC41B3337C7C773), UINT64_C(0x71E06B10BC999443),
+          UINT64_C(0x073A1ABA2C87B0A4), UINT64_C(0x29F29B129E5E8B70)}},
+        {{UINT64_C(0xAA25F348E491FE70), UINT64_C(0x9371F94BC1713992),
+          UINT64_C(0x674B478C4FA08818), UINT64_C(0x6F3C31FEB1407431)},
+         {UINT64_C(0xBB7D37FBD93DD5E1), UINT64_C(0xE34A40B87E04EE7A),
+          UINT64_C(0xCF82360DF3C33528), UINT64_C(0x0A3B8FF501477712)}},
+        {{UINT64_C(0xA45914716B718511), UINT64_C(0x7B0CE8DED2FD6B9B),
+          UINT64_C(0xC42544FA6845DBEF), UINT64_C(0x456A698563AF476A)},
+         {UINT64_C(0x5DD611F69CDE4E74), UINT64_C(0x860956832B346AEB),
+          UINT64_C(0xD15C5DA06E75B3D7), UINT64_C(0x220FFD73C72D5D2C)}},
+        {{UINT64_C(0x478DA345D2ED888F), UINT64_C(0xA69D4FB9E04CBCC7),
+          UINT64_C(0xA427150AB3F1179D), UINT64_C(0x1DD3B8C2D5CEA78A)},
+         {UINT64_C(0x9462EFF0B8628A22), UINT64_C(0xB2FFFF4AB2CB44A5),
+          UINT64_C(0x8234A3FF24039BA8), UINT64_C(0x01BE7202916DE889)}},
+        {{UINT64_C(0x510669856DFCEF0B), UINT64_C(0x25729D98DF20CDEE),
+          UINT64_C(0x872FD39D9693E5EF), UINT64_C(0x72D03AE12D859635)},
+         {UINT64_C(0x3F28F84EDACAEB82), UINT64_C(0x9EB40FD6CB5284D7),
+          UINT64_C(0x66C2DCA6C5F54041), UINT64_C(0x4BDBA3821C1F2461)}},
+        {{UINT64_C(0xE53421970E0ED176), UINT64_C(0xF588547AA225A47F),
+          UINT64_C(0xC83B54ED1FEB2259), UINT64_C(0x1B03791392F3733D)},
+         {UINT64_C(0x935C97822271ECFA), UINT64_C(0x5F7E94A653CFE07C),
+          UINT64_C(0xBFF5B0E61B40CA19), UINT64_C(0x36C7851D459445E1)}},
+        {{UINT64_C(0xB6547971588C9748), UINT64_C(0xCFD8E81B11970562),
+          UINT64_C(0x41333C80702FE4FA), UINT64_C(0x2F153C8C962A993B)},
+         {UINT64_C(0x028BBD6A8BDA48AC), UINT64_C(0x7B076F88FE1DB02A),
+          UINT64_C(0xC9560400078FB3FC), UINT64_C(0x5DCC0946035907EA)}},
+        {{UINT64_C(0x93D7CF33A6233F1C), UINT64_C(0x03184BC4DF2A187C),
+          UINT64_C(0x291149BCE83DAC32), UINT64_C(0x575F4279FAEDF216)},
+         {UINT64_C(0x101427B4086FC141), UINT64_C(0xC924F2AED288562E),
+          UINT64_C(0xDB610463EEF5799A), UINT64_C(0x20F187676A09661D)}},
+        {{UINT64_C(0xE39BB775F59D0C20), UINT64_C(0x18DA90E2723A4EF2),
+          UINT64_C(0x8E747A7BF56B381B), UINT64_C(0x7EF67224F98F26DC)},
+         {UINT64_C(0xB1373AF5E1F94B99), UINT64_C(0x1076FBA60C3B6AA8),
+          UINT64_C(0x7FCD0017A3A7811C), UINT64_C(0x6D1A697346554E7E)}},
+        {{UINT64_C(0xE5734077B9CED2C2), UINT64_C(0xC94D17F81F770914),
+          UINT64_C(0x58B47BCB1CD248EB), UINT64_C(0x2E06538C24804B6F)},
+         {UINT64_C(0x275D933F32E7CA19), UINT64_C(0x1B982B491FC9241E),
+          UINT64_C(0x8B8A6ED53986B6AC), UINT64_C(0x1756822135B4EA6A)}},
+    },
+    {
+        {{UINT64_C(0x090AD05AE796327F), UINT64_C(0xA78DAE5EAD21DD4B),
+          UINT64_C(0x8EEC9EDB9C2F8CBE), UINT64_C(0x33E375E0653E0F2D)},
+         {UINT64_C(0xDA19EFF28D67AC72), UINT64_C(0xBFC7E62B2737AB8C),
+          UINT64_C(0xBBF8BD1D4CF53C12), UINT64_C(0x5ABFE23F45C6D555)}},
+        {{UINT64_C(0x32460B330DE39342), UINT64_C(0x3567454AB8977067),
+          UINT64_C(0x10A1E47DF954592C), UINT64_C(0x4DE8C6EF4DD019C4)},
+         {UINT64_C(0x1F1D296B1BDAAAFA), UINT64_C(0x4E6B8E8F3A75AD99),
+          UINT64_C(0x259015E1A27FE061), UINT64_C(0x6B6A48209F320632)}},
+        {{UINT64_C(0x8AA089AFA0B5E605), UINT64_C(0x1D6C1EEE1B4058FD),
+          UINT64_C(0x1D920534B4E89BEF), UINT64_C(0x722A3A3516163340)},
+         {UINT64_C(0xA3B9178CF33B49B2), UINT64_C(0xFF8FE9BB65558E90),
+          UINT64_C(0x94766BC09794EFAE), UINT64_C(0x79A1EFA2FDFAEB42)}},
+        {{UINT64_C(0x2FE44B97BCB6D558), UINT64_C(0xB4F4F402DB8B0A79),
+          UINT64_C(0xF53D8AB1247C32E5), UINT64_C(0x3B883CE54DA4C009)},
+         {UINT64_C(0xB46168BD2EC9F1C6), UINT64_C(0xD40BDE7B6B8FE01A),
+          UINT64_C(0x60A5C168CDFE509F), UINT64_C(0x3314D87823BE249E)}},
+        {{UINT64_C(0x02511A854D9F5769), UINT64_C(0x8398F9BDB49D6A8E),
+          UINT64_C(0xE8D773F35D2D7135), UINT64_C(0x09B3B8AB9DECC331)},
+         {UINT64_C(0x8D2B269B584C11D9), UINT64_C(0xF76619446B6B86A9),
+          UINT64_C(0x719A3620C7659AF7), UINT64_C(0x3CFC8DF037C27DBE)}},
+        {{UINT64_C(0x5EE0BE061145B14B), UINT64_C(0xAC6950E423193ED6),
+          UINT64_C(0x7291C44CDF244C7F), UINT64_C(0x4650C16243D744EA)},
+         {UINT64_C(0x60B92D3F34A084D8), UINT64_C(0xBBD44A0E376E5414),
+          UINT64_C(0x5C0E488A0980F36C), UINT64_C(0x4E53FCCAD7991A09)}},
+        {{UINT64_C(0x7A2ADBCF367B55C2), UINT64_C(0x96A88B751FED467E),
+          UINT64_C(0x8E75E37EFB263845), UINT64_C(0x4C2E47B8EB508DD0)},
+         {UINT64_C(0x20BF51DEB19FCD14), UINT64_C(0xD907174914CB67D0),
+          UINT64_C(0xEC90714B29EBDA7C), UINT64_C(0x4ACADAA6634C0F2E)}},
+        {{UINT64_C(0xA516B9B8EC715EC9), UINT64_C(0xC7DCA26342B8A87B),
+          UINT64_C(0x2CE450C9DA27B456), UINT64_C(0x3C97481200A8819F)},
+         {UINT64_C(0xF4822C23ECDED574), UINT64_C(0xFA737FAD19FA48D4),
+          UINT64_C(0xE34B2F2A45D718E0), UINT64_C(0x1D6F19FEBEA7B540)}},
+        {{UINT64_C(0xADC8FCE798E24789), UINT64_C(0xFE2F890C45869609),
+          UINT64_C(0x6466E03C78A35C19), UINT64_C(0x24C70FEDC1F34AA9)},
+         {UINT64_C(0x89530F7557747DD1), UINT64_C(0x343DE05B2B8CDE2D),
+          UINT64_C(0xC33134E335CC8D5A), UINT64_C(0x3CCEFC38AC9B4F2B)}},
+        {{UINT64_C(0x84C904B8EF923364), UINT64_C(0x46E1FECFBDDD31D8),
+          UINT64_C(0xA8126DD6FAE79B6B), UINT64_C(0x4A53C034FBF05C9A)},
+         {UINT64_C(0x44CA3ACBBE8F255F), UINT64_C(0x6F0FD374EC319885),
+          UINT64_C(0xADBCB4AAF1836DC2), UINT64_C(0x6CC3A59665187EE9)}},
+        {{UINT64_C(0x941E7821B397B5E7), UINT64_C(0xD3457371FEE2A9D5),
+          UINT64_C(0x9F69BE4466382F60), UINT64_C(0x6DCEAD04A1F49E9B)},
+         {UINT64_C(0xDC6BC23B3BF21647), UINT64_C(0x1500FD7FB5271BE9),
+          UINT64_C(0x9B0994DDF23FDF3D), UINT64_C(0x38A2ECEB45065CF7)}},
+        {{UINT64_C(0x2667CEFE0DCA8BF4), UINT64_C(0x8227ACB3E46EB469),
+          UINT64_C(0x4C20677DA75C5B8B), UINT64_C(0x224FC5B4B36ACDFE)},
+         {UINT64_C(0xA0007E147A6A01D3), UINT64_C(0x15C79558F8A64EED),
+          UINT64_C(0xFB58A76A93DEDC09), UINT64_C(0x2057DDDC26F10A98)}},
+        {{UINT64_C(0x1FF658AEBDB27AE4), UINT64_C(0x7F30DF57DDD96647),
+          UINT64_C(0x63490B8DC7294313), UINT64_C(0x0EAEC5735435869E)},
+         {UINT64_C(0x85F05C49DF115B78), UINT64_C(0x95739C0C62992F5D),
+          UINT64_C(0x72F143192B573963), UINT64_C(0x05600E6486328FF4)}},
+        {{UINT64_C(0x9BE7331FEAB0F425), UINT64_C(0x2E4CF5AA74447C20),
+          UINT64_C(0x9B26F51266243D2A), UINT64_C(0x77C9672284AB5627)},
+         {UINT64_C(0xEC545427601673B4), UINT64_C(0xEF6A34FB2F127AF7),
+          UINT64_C(0x519559C1E2DFD269), UINT64_C(0x34D7D7548258E37A)}},
+        {{UINT64_C(0xC113747B5E8B5281), UINT64_C(0x0C085456E04D779B),
+          UINT64_C(0x3E3260521CCBCFC6), UINT64_C(0x5C954CC12A37D19F)},
+         {UINT64_C(0xB1A4A5B39124435B), UINT64_C(0x5E8B8D4118ED98E7),
+          UINT64_C(0xC973D969144A3793), UINT64_C(0x0CB98CC888DD8B49)}},
+        {{UINT64_C(0x0E0233B2B48D04DF), UINT64_C(0x1B3916E07BEAA4A5),
+          UINT64_C(0xA24A4BE4B672BE8C), UINT64_C(0x7A61506D845AB94D)},
+         {UINT64_C(0x160DFA0FE7F4CA3B), UINT64_C(0xA9562C89D84C1148),
+          UINT64_C(0x52979B9592A276EB), UINT64_C(0x17869B53924E86E9)}},
+    },
+    {
+        {{UINT64_C(0x5D39F4781A86D0D8), UINT64_C(0xDE5932DAFB8BC8A9),
+          UINT64_C(0xD706C6D72F5B4B70), UINT64_C(0x53F450FC8A36AFC2)},
+         {UINT64_C(0xE1DC35401E550B3B), UINT64_C(0x475507DC8B7EB6D2),
+          UINT64_C(0xF803F78ADFA2E5F7), UINT64_C(0x40B5F263C48097FF)}},
+        {{UINT64_C(0x336FB00E226CDB1F), UINT64_C(0xDDC1BB0288215C40),
+          UINT64_C(0x6C4DD40E73C07FD0), UINT64_C(0x4D0D2E498F7D15E7)},
+         {UINT64_C(0xAF96E9B3D2061402), UINT64_C(0x15A3084A1372FCF8),
+          UINT64_C(0x91B571E6307B02D6), UINT64_C(0x2239592F53AE7705)}},
+        {{UINT64_C(0x7D8615A1C20B6645), UINT64_C(0xF4875767C7C4465B),
+          UINT64_C(0xF6D3E718861702AB), UINT64_C(0x7F014A53131F726A)},
+         {UINT64_C(0x30809F8FDAAB77CA), UINT64_C(0x7CE8DC6128F944D3),
+          UINT64_C(0xF915111D9AEEF6A1), UINT64_C(0x246D7CC8206902FD)}},
+        {{UINT64_C(0x7677488BEF806225), UINT64_C(0x994C8104F4C75EAE),
+          UINT64_C(0x17586D4E4E0C8988), UINT64_C(0x70E5258090E33A2A)},
+         {UINT64_C(0xB993F26A022D2FED), UINT64_C(0x955C130D689FBFBD),
+          UINT64_C(0x0D3D1C63A3612E8E), UINT64_C(0x423D73E1B91A8DE6)}},
+        {{UINT64_C(0x7274BE083027164F), UINT64_C(0xDE907B4942FDB769),
+          UINT64_C(0x61D74449B697060D), UINT64_C(0x18A5FDC226602CC9)},
+         {UINT64_C(0xB08DC02B049CAF4A), UINT64_C(0xC84AF48578DBA1F1),
+          UINT64_C(0x0A5B35197178E4DF), UINT64_C(0x6EC7A7A55B26D0FE)}},
+        {{UINT64_C(0xDEF1782F88554F05), UINT64_C(0xB73E7333D8D6DF47),
+          UINT64_C(0x1DDF902290E9C67A), UINT64_C(0x5D217B51D56181AC)},
+         {UINT64_C(0x7A338C7BE27F90EE), UINT64_C(0xB97CCD2A0D84A177),
+          UINT64_C(0x3E1016017C5E3FA9), UINT64_C(0x2706E77C30FF0918)}},
+        {{UINT64_C(0x1BD1274F72A7CB9F), UINT64_C(0x8B60357A0622DB90),
+          UINT64_C(0x0140E14A2151BB23), UINT64_C(0x358D7DDAE9A30C4C)},
+         {UINT64_C(0x3B15306089BFB2C6), UINT64_C(0x47462C79B6757C69),
+          UINT64_C(0x2B22239DB43EF986), UINT64_C(0x6793671F0B774DE3)}},
+        {{UINT64_C(0x99EDB02EF6F8EDC6), UINT64_C(0x24432760C4257DD9),
+          UINT64_C(0x4FDD73010336EED2), UINT64_C(0x44879709F6C6506B)},
+         {UINT64_C(0x107C7DE213F18D89), UINT64_C(0x71C71DFBA5701FBD),
+          UINT64_C(0x97017E24C7DE3E0B), UINT64_C(0x0F8D7E09FC9EDDC2)}},
+        {{UINT64_C(0x7A0BB3B13897E01D), UINT64_C(0x7FD4F504C5892BDE),
+          UINT64_C(0x2EA9AA77AB752928), UINT64_C(0x19A82F559078B466)},
+         {UINT64_C(0xEF2842C555A0F0D9), UINT64_C(0x5501EEE915B6F2B4),
+          UINT64_C(0x9665EA6F942AA4B4), UINT64_C(0x015F41F40E707C32)}},
+        {{UINT64_C(0x1B4D6A919C6B6FD6), UINT64_C(0xCFD2CEE968217AFC),
+          UINT64_C(0xC5076256BBC9284D), UINT64_C(0x4C7F4EEFAC36547B)},
+         {UINT64_C(0xAB1AAD2C65EE1907), UINT64_C(0xBCFE8C77BAC25425),
+          UINT64_C(0x38BA0F85C9048A35), UINT64_C(0x300E6AC460A035F6)}},
+        {{UINT64_C(0xA8EDBC5E34707CC6), UINT64_C(0x3DA6BC5156ADFC16),
+          UINT64_C(0x5C7CB5E1CA8B6F3F), UINT64_C(0x76E4A0282D612DFA)},
+         {UINT64_C(0x75AB66FD64F49D39), UINT64_C(0x5AF9879DC387A739),
+          UINT64_C(0x839648083E9EDBCF), UINT64_C(0x555D8BBD7F4C4FFE)}},
+        {{UINT64_C(0xAAE8A2FE3C5590B0), UINT64_C(0x461C6CCC8AB34213),
+          UINT64_C(0xB2F3E8229E719B77), UINT64_C(0x25B8FCA8663188BB)},
+         {UINT64_C(0xAA7A047B72548131), UINT64_C(0x0878FFEE189FA6F0),
+          UINT64_C(0x9E7FB402CE3E17C3), UINT64_C(0x6F260D9344418277)}},
+        {{UINT64_C(0x0EF1C290B703B647), UINT64_C(0x995009FA651673E4),
+          UINT64_C(0x661F76D7BE46362D), UINT64_C(0x74B00FD123E56E7A)},
+         {UINT64_C(0x9557D0ABA1A50E4B), UINT64_C(0xC5A1CF95587688CE),
+          UINT64_C(0x2A14D1B27AE08ECA), UINT64_C(0x2DA8816C3C23D507)}},
+        {{UINT64_C(0x51CB405FB9934883), UINT64_C(0xC99A67D401A6864B),
+          UINT64_C(0xCCF622336CDFFFC3), UINT64_C(0x2938F9F998FE0B79)},
+         {UINT64_C(0x7766691139A5AA28), UINT64_C(0xDF56CBB52427BFC0),
+          UINT64_C(0xA39BE968189EB66D), UINT64_C(0x71E6E105A64FD2AB)}},
+        {{UINT64_C(0xA0C6F79560F9D20B), UINT64_C(0xE06DC8BB765670CC),
+          UINT64_C(0x9FA1DD58A67275E0), UINT64_C(0x0F7F670DE2D23BBB)},
+         {UINT64_C(0xF8F07CF333FB15EA), UINT64_C(0x1D09B592723A0271),
+          UINT64_C(0xF14029234E6FCAAB), UINT64_C(0x05BE1273AE301940)}},
+        {{UINT64_C(0x2D83906C114AFD1E), UINT64_C(0x091474FDC88E5761),
+          UINT64_C(0xAFF18EEBEF9E4F9B), UINT64_C(0x136ECAE5F4E646ED)},
+         {UINT64_C(0xEF4526D0EB01808F), UINT64_C(0x3923EBBA940C0AEC),
+          UINT64_C(0xAB34160CA437F460), UINT64_C(0x7A46966E421AD57C)}},
+    }};
+
+/*-
+ * Q := 2P, both projective, Q and P same pointers OK
+ * Autogenerated: op3/dbl_proj_any.op3
+ * https://eprint.iacr.org/2015/1060 Alg 3
+ */
+static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
+    /* temporary variables */
+    fe_t t0, t1, t2, t3, t4;
+    /* constants */
+    const limb_t *b3 = const_b3;
+    const limb_t *a = const_a;
+    /* set pointers for legacy 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 *Z3 = Q->Z;
+
+    /* the curve arith formula */
+    fiat_id_GostR3410_2001_TestParamSet_square(t0, X);
+    fiat_id_GostR3410_2001_TestParamSet_square(t1, Y);
+    fiat_id_GostR3410_2001_TestParamSet_square(t2, Z);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t3, X, Y);
+    fiat_id_GostR3410_2001_TestParamSet_add(t3, t3, t3);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t4, Y, Z);
+    fiat_id_GostR3410_2001_TestParamSet_mul(Z3, X, Z);
+    fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, Z3);
+    fiat_id_GostR3410_2001_TestParamSet_mul(X3, a, Z3);
+    fiat_id_GostR3410_2001_TestParamSet_mul(Y3, b3, t2);
+    fiat_id_GostR3410_2001_TestParamSet_add(Y3, X3, Y3);
+    fiat_id_GostR3410_2001_TestParamSet_sub(X3, t1, Y3);
+    fiat_id_GostR3410_2001_TestParamSet_add(Y3, t1, Y3);
+    fiat_id_GostR3410_2001_TestParamSet_mul(Y3, X3, Y3);
+    fiat_id_GostR3410_2001_TestParamSet_mul(X3, t3, X3);
+    fiat_id_GostR3410_2001_TestParamSet_mul(Z3, b3, Z3);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, t2);
+    fiat_id_GostR3410_2001_TestParamSet_sub(t3, t0, t2);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t3, a, t3);
+    fiat_id_GostR3410_2001_TestParamSet_add(t3, t3, Z3);
+    fiat_id_GostR3410_2001_TestParamSet_add(Z3, t0, t0);
+    fiat_id_GostR3410_2001_TestParamSet_add(t0, Z3, t0);
+    fiat_id_GostR3410_2001_TestParamSet_add(t0, t0, t2);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t0, t0, t3);
+    fiat_id_GostR3410_2001_TestParamSet_add(Y3, Y3, t0);
+    fiat_id_GostR3410_2001_TestParamSet_add(t2, t4, t4);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t0, t2, t3);
+    fiat_id_GostR3410_2001_TestParamSet_sub(X3, X3, t0);
+    fiat_id_GostR3410_2001_TestParamSet_mul(Z3, t2, t1);
+    fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, Z3);
+    fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, Z3);
+}
+
+/*-
+ * 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_any.op3
+ * https://eprint.iacr.org/2015/1060 Alg 2
+ */
+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, t4, t5;
+    /* constants */
+    const limb_t *b3 = const_b3;
+    const limb_t *a = const_a;
+    /* set pointers for legacy curve arith */
+    const limb_t *X1 = Q->X;
+    const limb_t *Y1 = Q->Y;
+    const limb_t *Z1 = Q->Z;
+    const limb_t *X2 = P->X;
+    const limb_t *Y2 = P->Y;
+    fe_t X3;
+    fe_t Y3;
+    fe_t Z3;
+    limb_t nz;
+
+    /* check P for affine inf */
+    fiat_id_GostR3410_2001_TestParamSet_nonzero(&nz, P->Y);
+
+    /* the curve arith formula */
+    fiat_id_GostR3410_2001_TestParamSet_mul(t0, X1, X2);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t1, Y1, Y2);
+    fiat_id_GostR3410_2001_TestParamSet_add(t3, X2, Y2);
+    fiat_id_GostR3410_2001_TestParamSet_add(t4, X1, Y1);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t3, t3, t4);
+    fiat_id_GostR3410_2001_TestParamSet_add(t4, t0, t1);
+    fiat_id_GostR3410_2001_TestParamSet_sub(t3, t3, t4);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t4, X2, Z1);
+    fiat_id_GostR3410_2001_TestParamSet_add(t4, t4, X1);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t5, Y2, Z1);
+    fiat_id_GostR3410_2001_TestParamSet_add(t5, t5, Y1);
+    fiat_id_GostR3410_2001_TestParamSet_mul(Z3, a, t4);
+    fiat_id_GostR3410_2001_TestParamSet_mul(X3, b3, Z1);
+    fiat_id_GostR3410_2001_TestParamSet_add(Z3, X3, Z3);
+    fiat_id_GostR3410_2001_TestParamSet_sub(X3, t1, Z3);
+    fiat_id_GostR3410_2001_TestParamSet_add(Z3, t1, Z3);
+    fiat_id_GostR3410_2001_TestParamSet_mul(Y3, X3, Z3);
+    fiat_id_GostR3410_2001_TestParamSet_add(t1, t0, t0);
+    fiat_id_GostR3410_2001_TestParamSet_add(t1, t1, t0);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, Z1);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t4, b3, t4);
+    fiat_id_GostR3410_2001_TestParamSet_add(t1, t1, t2);
+    fiat_id_GostR3410_2001_TestParamSet_sub(t2, t0, t2);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, t2);
+    fiat_id_GostR3410_2001_TestParamSet_add(t4, t4, t2);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t0, t1, t4);
+    fiat_id_GostR3410_2001_TestParamSet_add(Y3, Y3, t0);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t0, t5, t4);
+    fiat_id_GostR3410_2001_TestParamSet_mul(X3, t3, X3);
+    fiat_id_GostR3410_2001_TestParamSet_sub(X3, X3, t0);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t0, t3, t1);
+    fiat_id_GostR3410_2001_TestParamSet_mul(Z3, t5, Z3);
+    fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, t0);
+
+    /* if P is inf, throw all that away and take Q */
+    fiat_id_GostR3410_2001_TestParamSet_selectznz(R->X, nz, Q->X, X3);
+    fiat_id_GostR3410_2001_TestParamSet_selectznz(R->Y, nz, Q->Y, Y3);
+    fiat_id_GostR3410_2001_TestParamSet_selectznz(R->Z, nz, Q->Z, Z3);
+}
+
+/*-
+ * R := Q + P all projective.
+ * R and Q same pointers OK
+ * R and P same pointers not OK
+ * Autogenerated: op3/add_proj_any.op3
+ * https://eprint.iacr.org/2015/1060 Alg 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, t4, t5;
+    /* constants */
+    const limb_t *b3 = const_b3;
+    const limb_t *a = const_a;
+    /* set pointers for legacy curve arith */
+    const limb_t *X1 = Q->X;
+    const limb_t *Y1 = Q->Y;
+    const limb_t *Z1 = Q->Z;
+    const limb_t *X2 = P->X;
+    const limb_t *Y2 = P->Y;
+    const limb_t *Z2 = P->Z;
+    limb_t *X3 = R->X;
+    limb_t *Y3 = R->Y;
+    limb_t *Z3 = R->Z;
+
+    /* the curve arith formula */
+    fiat_id_GostR3410_2001_TestParamSet_mul(t0, X1, X2);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t1, Y1, Y2);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t2, Z1, Z2);
+    fiat_id_GostR3410_2001_TestParamSet_add(t3, X1, Y1);
+    fiat_id_GostR3410_2001_TestParamSet_add(t4, X2, Y2);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t3, t3, t4);
+    fiat_id_GostR3410_2001_TestParamSet_add(t4, t0, t1);
+    fiat_id_GostR3410_2001_TestParamSet_sub(t3, t3, t4);
+    fiat_id_GostR3410_2001_TestParamSet_add(t4, X1, Z1);
+    fiat_id_GostR3410_2001_TestParamSet_add(t5, X2, Z2);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t4, t4, t5);
+    fiat_id_GostR3410_2001_TestParamSet_add(t5, t0, t2);
+    fiat_id_GostR3410_2001_TestParamSet_sub(t4, t4, t5);
+    fiat_id_GostR3410_2001_TestParamSet_add(t5, Y1, Z1);
+    fiat_id_GostR3410_2001_TestParamSet_add(X3, Y2, Z2);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t5, t5, X3);
+    fiat_id_GostR3410_2001_TestParamSet_add(X3, t1, t2);
+    fiat_id_GostR3410_2001_TestParamSet_sub(t5, t5, X3);
+    fiat_id_GostR3410_2001_TestParamSet_mul(Z3, a, t4);
+    fiat_id_GostR3410_2001_TestParamSet_mul(X3, b3, t2);
+    fiat_id_GostR3410_2001_TestParamSet_add(Z3, X3, Z3);
+    fiat_id_GostR3410_2001_TestParamSet_sub(X3, t1, Z3);
+    fiat_id_GostR3410_2001_TestParamSet_add(Z3, t1, Z3);
+    fiat_id_GostR3410_2001_TestParamSet_mul(Y3, X3, Z3);
+    fiat_id_GostR3410_2001_TestParamSet_add(t1, t0, t0);
+    fiat_id_GostR3410_2001_TestParamSet_add(t1, t1, t0);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, t2);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t4, b3, t4);
+    fiat_id_GostR3410_2001_TestParamSet_add(t1, t1, t2);
+    fiat_id_GostR3410_2001_TestParamSet_sub(t2, t0, t2);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, t2);
+    fiat_id_GostR3410_2001_TestParamSet_add(t4, t4, t2);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t0, t1, t4);
+    fiat_id_GostR3410_2001_TestParamSet_add(Y3, Y3, t0);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t0, t5, t4);
+    fiat_id_GostR3410_2001_TestParamSet_mul(X3, t3, X3);
+    fiat_id_GostR3410_2001_TestParamSet_sub(X3, X3, t0);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t0, t3, t1);
+    fiat_id_GostR3410_2001_TestParamSet_mul(Z3, t5, Z3);
+    fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, t0);
+}
+
+/* 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;
+
+    fe_copy(precomp[0].X, P->X);
+    fe_copy(precomp[0].Y, P->Y);
+    fe_copy(precomp[0].Z, const_one);
+    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[32], int idx) {
+    int widx, rshift;
+
+    widx = idx >> 3;
+    rshift = idx & 0x7;
+
+    if (idx < 0 || widx >= 32) 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[52], const unsigned char in[32]) {
+    int i;
+    char window, d;
+
+    window = (in[0] & (DRADIX_WNAF - 1)) | 1;
+    for (i = 0; i < 51; 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[257], const unsigned char in[32]) {
+    int i;
+    char window, d;
+
+    window = in[0] & (DRADIX_WNAF - 1);
+    for (i = 0; i < 257; 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[32],
+                              const unsigned char b[32], const pt_aff_t *P) {
+    int i, d, is_neg, is_inf = 1, flipped = 0;
+    char anaf[257] = {0};
+    char bnaf[257] = {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 = 256; i >= 0; i--) {
+        if (!is_inf) point_double(&Q, &Q);
+        if ((d = bnaf[i])) {
+            if ((is_neg = d < 0) != flipped) {
+                fiat_id_GostR3410_2001_TestParamSet_opp(Q.Y, Q.Y);
+                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.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_GostR3410_2001_TestParamSet_opp(Q.Y, Q.Y);
+                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.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.Z);
+    }
+
+    if (flipped) {
+        /* correct sign */
+        fiat_id_GostR3410_2001_TestParamSet_opp(Q.Y, Q.Y);
+    }
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_GostR3410_2001_TestParamSet_inv(Q.Z, Q.Z);
+    fiat_id_GostR3410_2001_TestParamSet_mul(out->X, Q.X, Q.Z);
+    fiat_id_GostR3410_2001_TestParamSet_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[32],
+                           const pt_aff_t *P) {
+    int i, j, d, diff, is_neg;
+    char rnaf[52] = {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[51] - 1) >> 1;
+    for (j = 0; j < DRADIX / 2; j++) {
+        diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
+        fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.X, diff, Q.X,
+                                                      precomp[j].X);
+        fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Y, diff, Q.Y,
+                                                      precomp[j].Y);
+        fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Z, diff, Q.Z,
+                                                      precomp[j].Z);
+    }
+
+    for (i = 50; 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_GostR3410_2001_TestParamSet_selectznz(lut.X, diff, lut.X,
+                                                          precomp[j].X);
+            fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.Y, diff, lut.Y,
+                                                          precomp[j].Y);
+            fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.Z, diff, lut.Z,
+                                                          precomp[j].Z);
+        }
+        /* negate lut point if digit is negative */
+        fiat_id_GostR3410_2001_TestParamSet_opp(out->Y, lut.Y);
+        fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.Y, is_neg, lut.Y,
+                                                      out->Y);
+        point_add_proj(&Q, &Q, &lut);
+    }
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
+
+    /* conditionally subtract P if the scalar was even */
+    fe_copy(lut.X, precomp[0].X);
+    fiat_id_GostR3410_2001_TestParamSet_opp(lut.Y, precomp[0].Y);
+    fe_copy(lut.Z, precomp[0].Z);
+    point_add_proj(&lut, &lut, &Q);
+    fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.X, scalar[0] & 1, lut.X,
+                                                  Q.X);
+    fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Y, scalar[0] & 1, lut.Y,
+                                                  Q.Y);
+    fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Z, scalar[0] & 1, lut.Z,
+                                                  Q.Z);
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_GostR3410_2001_TestParamSet_inv(Q.Z, Q.Z);
+    fiat_id_GostR3410_2001_TestParamSet_mul(out->X, Q.X, Q.Z);
+    fiat_id_GostR3410_2001_TestParamSet_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[32]) {
+    int i, j, k, d, diff, is_neg = 0;
+    char rnaf[52] = {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.Z);
+
+#if defined(_MSC_VER)
+    /* result still unsigned: yes we know */
+#pragma warning(push)
+#pragma warning(disable : 4146)
+#endif
+
+    for (i = 1; i >= 0; i--) {
+        for (j = 0; i != 1 && j < RADIX; j++) point_double(&Q, &Q);
+        for (j = 0; j < 27; j++) {
+            if (j * 2 + i > 51) continue;
+            d = rnaf[j * 2 + 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_GostR3410_2001_TestParamSet_selectznz(
+                    lut.X, diff, lut.X, lut_cmb[j][k].X);
+                fiat_id_GostR3410_2001_TestParamSet_selectznz(
+                    lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
+            }
+            /* negate lut point if digit is negative */
+            fiat_id_GostR3410_2001_TestParamSet_opp(out->Y, lut.Y);
+            fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.Y, is_neg, lut.Y,
+                                                          out->Y);
+            point_add_mixed(&Q, &Q, &lut);
+        }
+    }
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
+
+    /* conditionally subtract P if the scalar was even */
+    fe_copy(lut.X, lut_cmb[0][0].X);
+    fiat_id_GostR3410_2001_TestParamSet_opp(lut.Y, lut_cmb[0][0].Y);
+    point_add_mixed(&R, &Q, &lut);
+    fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.X, scalar[0] & 1, R.X, Q.X);
+    fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Y, scalar[0] & 1, R.Y, Q.Y);
+    fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Z, scalar[0] & 1, R.Z, Q.Z);
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_GostR3410_2001_TestParamSet_inv(Q.Z, Q.Z);
+    fiat_id_GostR3410_2001_TestParamSet_mul(out->X, Q.X, Q.Z);
+    fiat_id_GostR3410_2001_TestParamSet_mul(out->Y, Q.Y, Q.Z);
+}
+
+static void point_mul_two(unsigned char outx[32], unsigned char outy[32],
+                          const unsigned char a[32], const unsigned char b[32],
+                          const unsigned char inx[32],
+                          const unsigned char iny[32]) {
+    pt_aff_t P;
+
+    fiat_id_GostR3410_2001_TestParamSet_from_bytes(P.X, inx);
+    fiat_id_GostR3410_2001_TestParamSet_from_bytes(P.Y, iny);
+    fiat_id_GostR3410_2001_TestParamSet_to_montgomery(P.X, P.X);
+    fiat_id_GostR3410_2001_TestParamSet_to_montgomery(P.Y, P.Y);
+    /* simultaneous scalar multiplication */
+    var_smul_wnaf_two(&P, a, b, &P);
+
+    fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.X, P.X);
+    fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.Y, P.Y);
+    fiat_id_GostR3410_2001_TestParamSet_to_bytes(outx, P.X);
+    fiat_id_GostR3410_2001_TestParamSet_to_bytes(outy, P.Y);
+}
+
+static void point_mul_g(unsigned char outx[32], unsigned char outy[32],
+                        const unsigned char scalar[32]) {
+    pt_aff_t P;
+
+    /* fixed scmul function */
+    fixed_smul_cmb(&P, scalar);
+    fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.X, P.X);
+    fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.Y, P.Y);
+    fiat_id_GostR3410_2001_TestParamSet_to_bytes(outx, P.X);
+    fiat_id_GostR3410_2001_TestParamSet_to_bytes(outy, P.Y);
+}
+
+static void point_mul(unsigned char outx[32], unsigned char outy[32],
+                      const unsigned char scalar[32],
+                      const unsigned char inx[32],
+                      const unsigned char iny[32]) {
+    pt_aff_t P;
+
+    fiat_id_GostR3410_2001_TestParamSet_from_bytes(P.X, inx);
+    fiat_id_GostR3410_2001_TestParamSet_from_bytes(P.Y, iny);
+    fiat_id_GostR3410_2001_TestParamSet_to_montgomery(P.X, P.X);
+    fiat_id_GostR3410_2001_TestParamSet_to_montgomery(P.Y, P.Y);
+    /* var scmul function */
+    var_smul_rwnaf(&P, scalar, &P);
+    fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.X, P.X);
+    fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.Y, P.Y);
+    fiat_id_GostR3410_2001_TestParamSet_to_bytes(outx, P.X);
+    fiat_id_GostR3410_2001_TestParamSet_to_bytes(outy, P.Y);
+}
+
+#include <openssl/ec.h>
+
+static const unsigned char const_zb[32] = {0};
+
+    int
+    point_mul_two_id_GostR3410_2001_TestParamSet(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[32];
+    unsigned char b_y[32];
+    unsigned char b_n[32];
+    unsigned char b_m[32];
+    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, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
+        BN_bn2lebinpad(n, b_n, 32) != 32 || BN_bn2lebinpad(m, b_m, 32) != 32)
+        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, 32) == 0 &&
+        CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
+        if (!EC_POINT_set_to_infinity(group, r)) goto err;
+    } else {
+        /* otherwise, pack the bytes into the result */
+        if (BN_lebin2bn(b_x, 32, x) == NULL ||
+            BN_lebin2bn(b_y, 32, 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_GostR3410_2001_TestParamSet(const EC_GROUP *group, EC_POINT *r,
+                                             const EC_POINT *q, const BIGNUM *m,
+                                             BN_CTX *ctx) {
+    int ret = 0;
+    unsigned char b_x[32];
+    unsigned char b_y[32];
+    unsigned char b_m[32];
+    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, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
+        BN_bn2lebinpad(m, b_m, 32) != 32)
+        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, 32) == 0 &&
+        CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
+        if (!EC_POINT_set_to_infinity(group, r)) goto err;
+    } else {
+        /* otherwise, pack the bytes into the result */
+        if (BN_lebin2bn(b_x, 32, x) == NULL ||
+            BN_lebin2bn(b_y, 32, 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_GostR3410_2001_TestParamSet(const EC_GROUP *group,
+                                               EC_POINT *r, const BIGNUM *n,
+                                               BN_CTX *ctx) {
+    int ret = 0;
+    unsigned char b_x[32];
+    unsigned char b_y[32];
+    unsigned char b_n[32];
+    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, 32) != 32)
+        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, 32) == 0 &&
+        CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
+        if (!EC_POINT_set_to_infinity(group, r)) goto err;
+    } else {
+        /* otherwise, pack the bytes into the result */
+        if (BN_lebin2bn(b_x, 32, x) == NULL ||
+            BN_lebin2bn(b_y, 32, 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 8
+/* 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))
+
+/* Projective points */
+typedef struct {
+    fe_t X;
+    fe_t Y;
+    fe_t Z;
+} pt_prj_t;
+
+/* Affine points */
+typedef struct {
+    fe_t X;
+    fe_t Y;
+} 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: word_by_word_montgomery --static id_GostR3410_2001_TestParamSet 32 '2^255 + 1073' */
+/* curve description: id_GostR3410_2001_TestParamSet */
+/* machine_wordsize = 32 (from "32") */
+/* requested operations: (all) */
+/* m = 0x8000000000000000000000000000000000000000000000000000000000000431 (from "2^255 + 1073") */
+/*                                                                    */
+/* NOTE: In addition to the bounds specified above each function, all */
+/*   functions synthesized for this Montgomery arithmetic require the */
+/*   input to be strictly less than the prime modulus (m), and also   */
+/*   require the input to be in the unique saturated representation.  */
+/*   All functions also ensure that these two properties are true of  */
+/*   return values.                                                   */
+/*  */
+/* Computed values: */
+/* eval z = z[0] + (z[1] << 32) + (z[2] << 64) + (z[3] << 96) + (z[4] << 128) + (z[5] << 160) + (z[6] << 192) + (z[7] << 224) */
+/* 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) */
+
+#include <stdint.h>
+typedef unsigned char fiat_id_GostR3410_2001_TestParamSet_uint1;
+typedef signed char fiat_id_GostR3410_2001_TestParamSet_int1;
+
+#if (-1 & 3) != 3
+#error "This code only works on a two's complement system"
+#endif
+
+/*
+ * The function fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32 is an addition with carry.
+ * Postconditions:
+ *   out1 = (arg1 + arg2 + arg3) mod 2^32
+ *   out2 = ⌊(arg1 + arg2 + arg3) / 2^32⌋
+ *
+ * Input Bounds:
+ *   arg1: [0x0 ~> 0x1]
+ *   arg2: [0x0 ~> 0xffffffff]
+ *   arg3: [0x0 ~> 0xffffffff]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffffff]
+ *   out2: [0x0 ~> 0x1]
+ */
+static void fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
+    uint32_t *out1, fiat_id_GostR3410_2001_TestParamSet_uint1 *out2,
+    fiat_id_GostR3410_2001_TestParamSet_uint1 arg1, uint32_t arg2,
+    uint32_t arg3) {
+    uint64_t x1;
+    uint32_t x2;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x3;
+    x1 = ((arg1 + (uint64_t)arg2) + arg3);
+    x2 = (uint32_t)(x1 & UINT32_C(0xffffffff));
+    x3 = (fiat_id_GostR3410_2001_TestParamSet_uint1)(x1 >> 32);
+    *out1 = x2;
+    *out2 = x3;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32 is a subtraction with borrow.
+ * Postconditions:
+ *   out1 = (-arg1 + arg2 + -arg3) mod 2^32
+ *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^32⌋
+ *
+ * Input Bounds:
+ *   arg1: [0x0 ~> 0x1]
+ *   arg2: [0x0 ~> 0xffffffff]
+ *   arg3: [0x0 ~> 0xffffffff]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffffff]
+ *   out2: [0x0 ~> 0x1]
+ */
+static void fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(
+    uint32_t *out1, fiat_id_GostR3410_2001_TestParamSet_uint1 *out2,
+    fiat_id_GostR3410_2001_TestParamSet_uint1 arg1, uint32_t arg2,
+    uint32_t arg3) {
+    int64_t x1;
+    fiat_id_GostR3410_2001_TestParamSet_int1 x2;
+    uint32_t x3;
+    x1 = ((arg2 - (int64_t)arg1) - arg3);
+    x2 = (fiat_id_GostR3410_2001_TestParamSet_int1)(x1 >> 32);
+    x3 = (uint32_t)(x1 & UINT32_C(0xffffffff));
+    *out1 = x3;
+    *out2 = (fiat_id_GostR3410_2001_TestParamSet_uint1)(0x0 - x2);
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_TestParamSet_mulx_u32 is a multiplication, returning the full double-width result.
+ * Postconditions:
+ *   out1 = (arg1 * arg2) mod 2^32
+ *   out2 = ⌊arg1 * arg2 / 2^32⌋
+ *
+ * Input Bounds:
+ *   arg1: [0x0 ~> 0xffffffff]
+ *   arg2: [0x0 ~> 0xffffffff]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffffff]
+ *   out2: [0x0 ~> 0xffffffff]
+ */
+static void fiat_id_GostR3410_2001_TestParamSet_mulx_u32(uint32_t *out1,
+                                                         uint32_t *out2,
+                                                         uint32_t arg1,
+                                                         uint32_t arg2) {
+    uint64_t x1;
+    uint32_t x2;
+    uint32_t x3;
+    x1 = ((uint64_t)arg1 * arg2);
+    x2 = (uint32_t)(x1 & UINT32_C(0xffffffff));
+    x3 = (uint32_t)(x1 >> 32);
+    *out1 = x2;
+    *out2 = x3;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_TestParamSet_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_GostR3410_2001_TestParamSet_cmovznz_u32(
+    uint32_t *out1, fiat_id_GostR3410_2001_TestParamSet_uint1 arg1,
+    uint32_t arg2, uint32_t arg3) {
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x1;
+    uint32_t x2;
+    uint32_t x3;
+    x1 = (!(!arg1));
+    x2 = ((fiat_id_GostR3410_2001_TestParamSet_int1)(0x0 - x1) &
+          UINT32_C(0xffffffff));
+    x3 = ((x2 & arg3) | ((~x2) & arg2));
+    *out1 = x3;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_TestParamSet_mul multiplies two field elements in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ *   0 ≤ eval arg2 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg2)) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ *   arg2: [[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]]
+ */
+static void fiat_id_GostR3410_2001_TestParamSet_mul(uint32_t out1[8],
+                                                    const uint32_t arg1[8],
+                                                    const uint32_t arg2[8]) {
+    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;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x26;
+    uint32_t x27;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x28;
+    uint32_t x29;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x30;
+    uint32_t x31;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x32;
+    uint32_t x33;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x34;
+    uint32_t x35;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x36;
+    uint32_t x37;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 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;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x47;
+    uint32_t x48;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x49;
+    uint32_t x50;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x51;
+    uint32_t x52;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x53;
+    uint32_t x54;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x55;
+    uint32_t x56;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x57;
+    uint32_t x58;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x59;
+    uint32_t x60;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x61;
+    uint32_t x62;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x63;
+    uint32_t x64;
+    uint32_t x65;
+    uint32_t 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;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x81;
+    uint32_t x82;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x83;
+    uint32_t x84;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x85;
+    uint32_t x86;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x87;
+    uint32_t x88;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x89;
+    uint32_t x90;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x91;
+    uint32_t x92;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x93;
+    uint32_t x94;
+    uint32_t x95;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x96;
+    uint32_t x97;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x98;
+    uint32_t x99;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x100;
+    uint32_t x101;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x102;
+    uint32_t x103;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x104;
+    uint32_t x105;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x106;
+    uint32_t x107;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x108;
+    uint32_t x109;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x110;
+    uint32_t x111;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x112;
+    uint32_t x113;
+    uint32_t x114;
+    uint32_t x115;
+    uint32_t x116;
+    uint32_t x117;
+    uint32_t x118;
+    uint32_t x119;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x120;
+    uint32_t x121;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x122;
+    uint32_t x123;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x124;
+    uint32_t x125;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x126;
+    uint32_t x127;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x128;
+    uint32_t x129;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x130;
+    uint32_t x131;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x132;
+    uint32_t x133;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x134;
+    uint32_t x135;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x136;
+    uint32_t x137;
+    uint32_t x138;
+    uint32_t x139;
+    uint32_t x140;
+    uint32_t x141;
+    uint32_t x142;
+    uint32_t x143;
+    uint32_t x144;
+    uint32_t x145;
+    uint32_t x146;
+    uint32_t x147;
+    uint32_t x148;
+    uint32_t x149;
+    uint32_t x150;
+    uint32_t x151;
+    uint32_t x152;
+    uint32_t x153;
+    uint32_t x154;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x155;
+    uint32_t x156;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x157;
+    uint32_t x158;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x159;
+    uint32_t x160;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x161;
+    uint32_t x162;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x163;
+    uint32_t x164;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x165;
+    uint32_t x166;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x167;
+    uint32_t x168;
+    uint32_t x169;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x170;
+    uint32_t x171;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x172;
+    uint32_t x173;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x174;
+    uint32_t x175;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x176;
+    uint32_t x177;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x178;
+    uint32_t x179;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x180;
+    uint32_t x181;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x182;
+    uint32_t x183;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x184;
+    uint32_t x185;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x186;
+    uint32_t x187;
+    uint32_t x188;
+    uint32_t x189;
+    uint32_t x190;
+    uint32_t x191;
+    uint32_t x192;
+    uint32_t x193;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x194;
+    uint32_t x195;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x196;
+    uint32_t x197;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x198;
+    uint32_t x199;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x200;
+    uint32_t x201;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x202;
+    uint32_t x203;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x204;
+    uint32_t x205;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x206;
+    uint32_t x207;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x208;
+    uint32_t x209;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x210;
+    uint32_t x211;
+    uint32_t x212;
+    uint32_t x213;
+    uint32_t x214;
+    uint32_t x215;
+    uint32_t x216;
+    uint32_t x217;
+    uint32_t x218;
+    uint32_t x219;
+    uint32_t x220;
+    uint32_t x221;
+    uint32_t x222;
+    uint32_t x223;
+    uint32_t x224;
+    uint32_t x225;
+    uint32_t x226;
+    uint32_t x227;
+    uint32_t x228;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x229;
+    uint32_t x230;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x231;
+    uint32_t x232;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x233;
+    uint32_t x234;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x235;
+    uint32_t x236;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x237;
+    uint32_t x238;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x239;
+    uint32_t x240;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x241;
+    uint32_t x242;
+    uint32_t x243;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x244;
+    uint32_t x245;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x246;
+    uint32_t x247;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x248;
+    uint32_t x249;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x250;
+    uint32_t x251;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x252;
+    uint32_t x253;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x254;
+    uint32_t x255;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x256;
+    uint32_t x257;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x258;
+    uint32_t x259;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x260;
+    uint32_t x261;
+    uint32_t x262;
+    uint32_t x263;
+    uint32_t x264;
+    uint32_t x265;
+    uint32_t x266;
+    uint32_t x267;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x268;
+    uint32_t x269;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x270;
+    uint32_t x271;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x272;
+    uint32_t x273;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x274;
+    uint32_t x275;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x276;
+    uint32_t x277;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x278;
+    uint32_t x279;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x280;
+    uint32_t x281;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x282;
+    uint32_t x283;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x284;
+    uint32_t x285;
+    uint32_t x286;
+    uint32_t x287;
+    uint32_t x288;
+    uint32_t x289;
+    uint32_t x290;
+    uint32_t x291;
+    uint32_t x292;
+    uint32_t x293;
+    uint32_t x294;
+    uint32_t x295;
+    uint32_t x296;
+    uint32_t x297;
+    uint32_t x298;
+    uint32_t x299;
+    uint32_t x300;
+    uint32_t x301;
+    uint32_t x302;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x303;
+    uint32_t x304;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x305;
+    uint32_t x306;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x307;
+    uint32_t x308;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x309;
+    uint32_t x310;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x311;
+    uint32_t x312;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x313;
+    uint32_t x314;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x315;
+    uint32_t x316;
+    uint32_t x317;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x318;
+    uint32_t x319;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x320;
+    uint32_t x321;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x322;
+    uint32_t x323;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x324;
+    uint32_t x325;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x326;
+    uint32_t x327;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x328;
+    uint32_t x329;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x330;
+    uint32_t x331;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x332;
+    uint32_t x333;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x334;
+    uint32_t x335;
+    uint32_t x336;
+    uint32_t x337;
+    uint32_t x338;
+    uint32_t x339;
+    uint32_t x340;
+    uint32_t x341;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x342;
+    uint32_t x343;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x344;
+    uint32_t x345;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x346;
+    uint32_t x347;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x348;
+    uint32_t x349;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x350;
+    uint32_t x351;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x352;
+    uint32_t x353;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x354;
+    uint32_t x355;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x356;
+    uint32_t x357;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x358;
+    uint32_t x359;
+    uint32_t x360;
+    uint32_t x361;
+    uint32_t x362;
+    uint32_t x363;
+    uint32_t x364;
+    uint32_t x365;
+    uint32_t x366;
+    uint32_t x367;
+    uint32_t x368;
+    uint32_t x369;
+    uint32_t x370;
+    uint32_t x371;
+    uint32_t x372;
+    uint32_t x373;
+    uint32_t x374;
+    uint32_t x375;
+    uint32_t x376;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x377;
+    uint32_t x378;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x379;
+    uint32_t x380;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x381;
+    uint32_t x382;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x383;
+    uint32_t x384;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x385;
+    uint32_t x386;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x387;
+    uint32_t x388;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x389;
+    uint32_t x390;
+    uint32_t x391;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x392;
+    uint32_t x393;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x394;
+    uint32_t x395;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x396;
+    uint32_t x397;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x398;
+    uint32_t x399;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x400;
+    uint32_t x401;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x402;
+    uint32_t x403;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x404;
+    uint32_t x405;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x406;
+    uint32_t x407;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x408;
+    uint32_t x409;
+    uint32_t x410;
+    uint32_t x411;
+    uint32_t x412;
+    uint32_t x413;
+    uint32_t x414;
+    uint32_t x415;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x416;
+    uint32_t x417;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x418;
+    uint32_t x419;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x420;
+    uint32_t x421;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x422;
+    uint32_t x423;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x424;
+    uint32_t x425;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x426;
+    uint32_t x427;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x428;
+    uint32_t x429;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x430;
+    uint32_t x431;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x432;
+    uint32_t x433;
+    uint32_t x434;
+    uint32_t x435;
+    uint32_t x436;
+    uint32_t x437;
+    uint32_t x438;
+    uint32_t x439;
+    uint32_t x440;
+    uint32_t x441;
+    uint32_t x442;
+    uint32_t x443;
+    uint32_t x444;
+    uint32_t x445;
+    uint32_t x446;
+    uint32_t x447;
+    uint32_t x448;
+    uint32_t x449;
+    uint32_t x450;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x451;
+    uint32_t x452;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x453;
+    uint32_t x454;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x455;
+    uint32_t x456;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x457;
+    uint32_t x458;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x459;
+    uint32_t x460;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x461;
+    uint32_t x462;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x463;
+    uint32_t x464;
+    uint32_t x465;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x466;
+    uint32_t x467;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x468;
+    uint32_t x469;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x470;
+    uint32_t x471;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x472;
+    uint32_t x473;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x474;
+    uint32_t x475;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x476;
+    uint32_t x477;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x478;
+    uint32_t x479;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x480;
+    uint32_t x481;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x482;
+    uint32_t x483;
+    uint32_t x484;
+    uint32_t x485;
+    uint32_t x486;
+    uint32_t x487;
+    uint32_t x488;
+    uint32_t x489;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x490;
+    uint32_t x491;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x492;
+    uint32_t x493;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x494;
+    uint32_t x495;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x496;
+    uint32_t x497;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x498;
+    uint32_t x499;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x500;
+    uint32_t x501;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x502;
+    uint32_t x503;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x504;
+    uint32_t x505;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x506;
+    uint32_t x507;
+    uint32_t x508;
+    uint32_t x509;
+    uint32_t x510;
+    uint32_t x511;
+    uint32_t x512;
+    uint32_t x513;
+    uint32_t x514;
+    uint32_t x515;
+    uint32_t x516;
+    uint32_t x517;
+    uint32_t x518;
+    uint32_t x519;
+    uint32_t x520;
+    uint32_t x521;
+    uint32_t x522;
+    uint32_t x523;
+    uint32_t x524;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x525;
+    uint32_t x526;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x527;
+    uint32_t x528;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x529;
+    uint32_t x530;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x531;
+    uint32_t x532;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x533;
+    uint32_t x534;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x535;
+    uint32_t x536;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x537;
+    uint32_t x538;
+    uint32_t x539;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x540;
+    uint32_t x541;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x542;
+    uint32_t x543;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x544;
+    uint32_t x545;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x546;
+    uint32_t x547;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x548;
+    uint32_t x549;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x550;
+    uint32_t x551;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x552;
+    uint32_t x553;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x554;
+    uint32_t x555;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x556;
+    uint32_t x557;
+    uint32_t x558;
+    uint32_t x559;
+    uint32_t x560;
+    uint32_t x561;
+    uint32_t x562;
+    uint32_t x563;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x564;
+    uint32_t x565;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x566;
+    uint32_t x567;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x568;
+    uint32_t x569;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x570;
+    uint32_t x571;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x572;
+    uint32_t x573;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x574;
+    uint32_t x575;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x576;
+    uint32_t x577;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x578;
+    uint32_t x579;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x580;
+    uint32_t x581;
+    uint32_t x582;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x583;
+    uint32_t x584;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x585;
+    uint32_t x586;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x587;
+    uint32_t x588;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x589;
+    uint32_t x590;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x591;
+    uint32_t x592;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x593;
+    uint32_t x594;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x595;
+    uint32_t x596;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x597;
+    uint32_t x598;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x599;
+    uint32_t x600;
+    uint32_t x601;
+    uint32_t x602;
+    uint32_t x603;
+    uint32_t x604;
+    uint32_t x605;
+    uint32_t x606;
+    uint32_t x607;
+    x1 = (arg1[1]);
+    x2 = (arg1[2]);
+    x3 = (arg1[3]);
+    x4 = (arg1[4]);
+    x5 = (arg1[5]);
+    x6 = (arg1[6]);
+    x7 = (arg1[7]);
+    x8 = (arg1[0]);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x9, &x10, x8, (arg2[7]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x11, &x12, x8, (arg2[6]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x13, &x14, x8, (arg2[5]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x15, &x16, x8, (arg2[4]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x17, &x18, x8, (arg2[3]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x19, &x20, x8, (arg2[2]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x21, &x22, x8, (arg2[1]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x23, &x24, x8, (arg2[0]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x25, &x26, 0x0, x24,
+                                                      x21);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x27, &x28, x26, x22,
+                                                      x19);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x29, &x30, x28, x20,
+                                                      x17);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x31, &x32, x30, x18,
+                                                      x15);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x33, &x34, x32, x16,
+                                                      x13);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x35, &x36, x34, x14,
+                                                      x11);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x37, &x38, x36, x12, x9);
+    x39 = (x38 + x10);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x40, &x41, x23,
+                                                 UINT32_C(0x883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x42, &x43, x40,
+                                                 UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x44, &x45, x40,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x46, &x47, 0x0, x23,
+                                                      x44);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x48, &x49, x47, x25,
+                                                      x45);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x50, &x51, x49, x27,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x52, &x53, x51, x29,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x54, &x55, x53, x31,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x56, &x57, x55, x33,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x58, &x59, x57, x35,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x60, &x61, x59, x37,
+                                                      x42);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x62, &x63, x61, x39,
+                                                      x43);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x64, &x65, x1, (arg2[7]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x66, &x67, x1, (arg2[6]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x68, &x69, x1, (arg2[5]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x70, &x71, x1, (arg2[4]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x72, &x73, x1, (arg2[3]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x74, &x75, x1, (arg2[2]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x76, &x77, x1, (arg2[1]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x78, &x79, x1, (arg2[0]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x80, &x81, 0x0, x79,
+                                                      x76);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x82, &x83, x81, x77,
+                                                      x74);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x84, &x85, x83, x75,
+                                                      x72);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x86, &x87, x85, x73,
+                                                      x70);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x88, &x89, x87, x71,
+                                                      x68);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x90, &x91, x89, x69,
+                                                      x66);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x92, &x93, x91, x67,
+                                                      x64);
+    x94 = (x93 + x65);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x95, &x96, 0x0, x48,
+                                                      x78);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x97, &x98, x96, x50,
+                                                      x80);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x99, &x100, x98, x52,
+                                                      x82);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x101, &x102, x100, x54,
+                                                      x84);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x103, &x104, x102, x56,
+                                                      x86);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x105, &x106, x104, x58,
+                                                      x88);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x107, &x108, x106, x60,
+                                                      x90);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x109, &x110, x108, x62,
+                                                      x92);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x111, &x112, x110, x63,
+                                                      x94);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x113, &x114, x95,
+                                                 UINT32_C(0x883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x115, &x116, x113,
+                                                 UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x117, &x118, x113,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x119, &x120, 0x0, x95,
+                                                      x117);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x121, &x122, x120, x97,
+                                                      x118);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x123, &x124, x122, x99,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x125, &x126, x124, x101,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x127, &x128, x126, x103,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x129, &x130, x128, x105,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x131, &x132, x130, x107,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x133, &x134, x132, x109,
+                                                      x115);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x135, &x136, x134, x111,
+                                                      x116);
+    x137 = ((uint32_t)x136 + x112);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x138, &x139, x2, (arg2[7]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x140, &x141, x2, (arg2[6]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x142, &x143, x2, (arg2[5]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x144, &x145, x2, (arg2[4]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x146, &x147, x2, (arg2[3]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x148, &x149, x2, (arg2[2]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x150, &x151, x2, (arg2[1]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x152, &x153, x2, (arg2[0]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x154, &x155, 0x0, x153,
+                                                      x150);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x156, &x157, x155, x151,
+                                                      x148);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x158, &x159, x157, x149,
+                                                      x146);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x160, &x161, x159, x147,
+                                                      x144);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x162, &x163, x161, x145,
+                                                      x142);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x164, &x165, x163, x143,
+                                                      x140);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x166, &x167, x165, x141,
+                                                      x138);
+    x168 = (x167 + x139);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x169, &x170, 0x0, x121,
+                                                      x152);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x171, &x172, x170, x123,
+                                                      x154);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x173, &x174, x172, x125,
+                                                      x156);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x175, &x176, x174, x127,
+                                                      x158);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x177, &x178, x176, x129,
+                                                      x160);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x179, &x180, x178, x131,
+                                                      x162);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x181, &x182, x180, x133,
+                                                      x164);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x183, &x184, x182, x135,
+                                                      x166);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x185, &x186, x184, x137,
+                                                      x168);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x187, &x188, x169,
+                                                 UINT32_C(0x883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x189, &x190, x187,
+                                                 UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x191, &x192, x187,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x193, &x194, 0x0, x169,
+                                                      x191);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x195, &x196, x194, x171,
+                                                      x192);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x197, &x198, x196, x173,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x199, &x200, x198, x175,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x201, &x202, x200, x177,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x203, &x204, x202, x179,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x205, &x206, x204, x181,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x207, &x208, x206, x183,
+                                                      x189);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x209, &x210, x208, x185,
+                                                      x190);
+    x211 = ((uint32_t)x210 + x186);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x212, &x213, x3, (arg2[7]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x214, &x215, x3, (arg2[6]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x216, &x217, x3, (arg2[5]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x218, &x219, x3, (arg2[4]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x220, &x221, x3, (arg2[3]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x222, &x223, x3, (arg2[2]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x224, &x225, x3, (arg2[1]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x226, &x227, x3, (arg2[0]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x228, &x229, 0x0, x227,
+                                                      x224);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x230, &x231, x229, x225,
+                                                      x222);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x232, &x233, x231, x223,
+                                                      x220);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x234, &x235, x233, x221,
+                                                      x218);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x236, &x237, x235, x219,
+                                                      x216);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x238, &x239, x237, x217,
+                                                      x214);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x240, &x241, x239, x215,
+                                                      x212);
+    x242 = (x241 + x213);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x243, &x244, 0x0, x195,
+                                                      x226);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x245, &x246, x244, x197,
+                                                      x228);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x247, &x248, x246, x199,
+                                                      x230);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x249, &x250, x248, x201,
+                                                      x232);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x251, &x252, x250, x203,
+                                                      x234);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x253, &x254, x252, x205,
+                                                      x236);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x255, &x256, x254, x207,
+                                                      x238);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x257, &x258, x256, x209,
+                                                      x240);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x259, &x260, x258, x211,
+                                                      x242);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x261, &x262, x243,
+                                                 UINT32_C(0x883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x263, &x264, x261,
+                                                 UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x265, &x266, x261,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x267, &x268, 0x0, x243,
+                                                      x265);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x269, &x270, x268, x245,
+                                                      x266);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x271, &x272, x270, x247,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x273, &x274, x272, x249,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x275, &x276, x274, x251,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x277, &x278, x276, x253,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x279, &x280, x278, x255,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x281, &x282, x280, x257,
+                                                      x263);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x283, &x284, x282, x259,
+                                                      x264);
+    x285 = ((uint32_t)x284 + x260);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x286, &x287, x4, (arg2[7]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x288, &x289, x4, (arg2[6]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x290, &x291, x4, (arg2[5]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x292, &x293, x4, (arg2[4]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x294, &x295, x4, (arg2[3]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x296, &x297, x4, (arg2[2]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x298, &x299, x4, (arg2[1]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x300, &x301, x4, (arg2[0]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x302, &x303, 0x0, x301,
+                                                      x298);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x304, &x305, x303, x299,
+                                                      x296);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x306, &x307, x305, x297,
+                                                      x294);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x308, &x309, x307, x295,
+                                                      x292);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x310, &x311, x309, x293,
+                                                      x290);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x312, &x313, x311, x291,
+                                                      x288);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x314, &x315, x313, x289,
+                                                      x286);
+    x316 = (x315 + x287);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x317, &x318, 0x0, x269,
+                                                      x300);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x319, &x320, x318, x271,
+                                                      x302);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x321, &x322, x320, x273,
+                                                      x304);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x323, &x324, x322, x275,
+                                                      x306);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x325, &x326, x324, x277,
+                                                      x308);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x327, &x328, x326, x279,
+                                                      x310);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x329, &x330, x328, x281,
+                                                      x312);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x331, &x332, x330, x283,
+                                                      x314);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x333, &x334, x332, x285,
+                                                      x316);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x335, &x336, x317,
+                                                 UINT32_C(0x883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x337, &x338, x335,
+                                                 UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x339, &x340, x335,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x341, &x342, 0x0, x317,
+                                                      x339);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x343, &x344, x342, x319,
+                                                      x340);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x345, &x346, x344, x321,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x347, &x348, x346, x323,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x349, &x350, x348, x325,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x351, &x352, x350, x327,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x353, &x354, x352, x329,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x355, &x356, x354, x331,
+                                                      x337);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x357, &x358, x356, x333,
+                                                      x338);
+    x359 = ((uint32_t)x358 + x334);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x360, &x361, x5, (arg2[7]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x362, &x363, x5, (arg2[6]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x364, &x365, x5, (arg2[5]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x366, &x367, x5, (arg2[4]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x368, &x369, x5, (arg2[3]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x370, &x371, x5, (arg2[2]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x372, &x373, x5, (arg2[1]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x374, &x375, x5, (arg2[0]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x376, &x377, 0x0, x375,
+                                                      x372);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x378, &x379, x377, x373,
+                                                      x370);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x380, &x381, x379, x371,
+                                                      x368);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x382, &x383, x381, x369,
+                                                      x366);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x384, &x385, x383, x367,
+                                                      x364);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x386, &x387, x385, x365,
+                                                      x362);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x388, &x389, x387, x363,
+                                                      x360);
+    x390 = (x389 + x361);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x391, &x392, 0x0, x343,
+                                                      x374);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x393, &x394, x392, x345,
+                                                      x376);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x395, &x396, x394, x347,
+                                                      x378);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x397, &x398, x396, x349,
+                                                      x380);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x399, &x400, x398, x351,
+                                                      x382);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x401, &x402, x400, x353,
+                                                      x384);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x403, &x404, x402, x355,
+                                                      x386);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x405, &x406, x404, x357,
+                                                      x388);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x407, &x408, x406, x359,
+                                                      x390);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x409, &x410, x391,
+                                                 UINT32_C(0x883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x411, &x412, x409,
+                                                 UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x413, &x414, x409,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x415, &x416, 0x0, x391,
+                                                      x413);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x417, &x418, x416, x393,
+                                                      x414);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x419, &x420, x418, x395,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x421, &x422, x420, x397,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x423, &x424, x422, x399,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x425, &x426, x424, x401,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x427, &x428, x426, x403,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x429, &x430, x428, x405,
+                                                      x411);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x431, &x432, x430, x407,
+                                                      x412);
+    x433 = ((uint32_t)x432 + x408);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x434, &x435, x6, (arg2[7]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x436, &x437, x6, (arg2[6]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x438, &x439, x6, (arg2[5]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x440, &x441, x6, (arg2[4]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x442, &x443, x6, (arg2[3]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x444, &x445, x6, (arg2[2]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x446, &x447, x6, (arg2[1]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x448, &x449, x6, (arg2[0]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x450, &x451, 0x0, x449,
+                                                      x446);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x452, &x453, x451, x447,
+                                                      x444);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x454, &x455, x453, x445,
+                                                      x442);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x456, &x457, x455, x443,
+                                                      x440);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x458, &x459, x457, x441,
+                                                      x438);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x460, &x461, x459, x439,
+                                                      x436);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x462, &x463, x461, x437,
+                                                      x434);
+    x464 = (x463 + x435);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x465, &x466, 0x0, x417,
+                                                      x448);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x467, &x468, x466, x419,
+                                                      x450);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x469, &x470, x468, x421,
+                                                      x452);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x471, &x472, x470, x423,
+                                                      x454);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x473, &x474, x472, x425,
+                                                      x456);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x475, &x476, x474, x427,
+                                                      x458);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x477, &x478, x476, x429,
+                                                      x460);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x479, &x480, x478, x431,
+                                                      x462);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x481, &x482, x480, x433,
+                                                      x464);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x483, &x484, x465,
+                                                 UINT32_C(0x883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x485, &x486, x483,
+                                                 UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x487, &x488, x483,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x489, &x490, 0x0, x465,
+                                                      x487);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x491, &x492, x490, x467,
+                                                      x488);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x493, &x494, x492, x469,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x495, &x496, x494, x471,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x497, &x498, x496, x473,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x499, &x500, x498, x475,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x501, &x502, x500, x477,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x503, &x504, x502, x479,
+                                                      x485);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x505, &x506, x504, x481,
+                                                      x486);
+    x507 = ((uint32_t)x506 + x482);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x508, &x509, x7, (arg2[7]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x510, &x511, x7, (arg2[6]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x512, &x513, x7, (arg2[5]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x514, &x515, x7, (arg2[4]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x516, &x517, x7, (arg2[3]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x518, &x519, x7, (arg2[2]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x520, &x521, x7, (arg2[1]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x522, &x523, x7, (arg2[0]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x524, &x525, 0x0, x523,
+                                                      x520);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x526, &x527, x525, x521,
+                                                      x518);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x528, &x529, x527, x519,
+                                                      x516);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x530, &x531, x529, x517,
+                                                      x514);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x532, &x533, x531, x515,
+                                                      x512);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x534, &x535, x533, x513,
+                                                      x510);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x536, &x537, x535, x511,
+                                                      x508);
+    x538 = (x537 + x509);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x539, &x540, 0x0, x491,
+                                                      x522);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x541, &x542, x540, x493,
+                                                      x524);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x543, &x544, x542, x495,
+                                                      x526);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x545, &x546, x544, x497,
+                                                      x528);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x547, &x548, x546, x499,
+                                                      x530);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x549, &x550, x548, x501,
+                                                      x532);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x551, &x552, x550, x503,
+                                                      x534);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x553, &x554, x552, x505,
+                                                      x536);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x555, &x556, x554, x507,
+                                                      x538);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x557, &x558, x539,
+                                                 UINT32_C(0x883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x559, &x560, x557,
+                                                 UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x561, &x562, x557,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x563, &x564, 0x0, x539,
+                                                      x561);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x565, &x566, x564, x541,
+                                                      x562);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x567, &x568, x566, x543,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x569, &x570, x568, x545,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x571, &x572, x570, x547,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x573, &x574, x572, x549,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x575, &x576, x574, x551,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x577, &x578, x576, x553,
+                                                      x559);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x579, &x580, x578, x555,
+                                                      x560);
+    x581 = ((uint32_t)x580 + x556);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x582, &x583, 0x0, x565,
+                                                       UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x584, &x585, x583, x567,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x586, &x587, x585, x569,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x588, &x589, x587, x571,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x590, &x591, x589, x573,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x592, &x593, x591, x575,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x594, &x595, x593, x577,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x596, &x597, x595, x579,
+                                                       UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x598, &x599, x597, x581,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x600, x599, x582, x565);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x601, x599, x584, x567);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x602, x599, x586, x569);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x603, x599, x588, x571);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x604, x599, x590, x573);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x605, x599, x592, x575);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x606, x599, x594, x577);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x607, x599, x596, x579);
+    out1[0] = x600;
+    out1[1] = x601;
+    out1[2] = x602;
+    out1[3] = x603;
+    out1[4] = x604;
+    out1[5] = x605;
+    out1[6] = x606;
+    out1[7] = x607;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_TestParamSet_square squares a field element in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg1)) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[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]]
+ */
+static void fiat_id_GostR3410_2001_TestParamSet_square(uint32_t out1[8],
+                                                       const uint32_t arg1[8]) {
+    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;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x26;
+    uint32_t x27;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x28;
+    uint32_t x29;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x30;
+    uint32_t x31;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x32;
+    uint32_t x33;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x34;
+    uint32_t x35;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x36;
+    uint32_t x37;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 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;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x47;
+    uint32_t x48;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x49;
+    uint32_t x50;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x51;
+    uint32_t x52;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x53;
+    uint32_t x54;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x55;
+    uint32_t x56;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x57;
+    uint32_t x58;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x59;
+    uint32_t x60;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x61;
+    uint32_t x62;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x63;
+    uint32_t x64;
+    uint32_t x65;
+    uint32_t 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;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x81;
+    uint32_t x82;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x83;
+    uint32_t x84;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x85;
+    uint32_t x86;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x87;
+    uint32_t x88;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x89;
+    uint32_t x90;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x91;
+    uint32_t x92;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x93;
+    uint32_t x94;
+    uint32_t x95;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x96;
+    uint32_t x97;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x98;
+    uint32_t x99;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x100;
+    uint32_t x101;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x102;
+    uint32_t x103;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x104;
+    uint32_t x105;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x106;
+    uint32_t x107;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x108;
+    uint32_t x109;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x110;
+    uint32_t x111;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x112;
+    uint32_t x113;
+    uint32_t x114;
+    uint32_t x115;
+    uint32_t x116;
+    uint32_t x117;
+    uint32_t x118;
+    uint32_t x119;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x120;
+    uint32_t x121;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x122;
+    uint32_t x123;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x124;
+    uint32_t x125;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x126;
+    uint32_t x127;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x128;
+    uint32_t x129;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x130;
+    uint32_t x131;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x132;
+    uint32_t x133;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x134;
+    uint32_t x135;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x136;
+    uint32_t x137;
+    uint32_t x138;
+    uint32_t x139;
+    uint32_t x140;
+    uint32_t x141;
+    uint32_t x142;
+    uint32_t x143;
+    uint32_t x144;
+    uint32_t x145;
+    uint32_t x146;
+    uint32_t x147;
+    uint32_t x148;
+    uint32_t x149;
+    uint32_t x150;
+    uint32_t x151;
+    uint32_t x152;
+    uint32_t x153;
+    uint32_t x154;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x155;
+    uint32_t x156;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x157;
+    uint32_t x158;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x159;
+    uint32_t x160;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x161;
+    uint32_t x162;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x163;
+    uint32_t x164;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x165;
+    uint32_t x166;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x167;
+    uint32_t x168;
+    uint32_t x169;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x170;
+    uint32_t x171;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x172;
+    uint32_t x173;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x174;
+    uint32_t x175;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x176;
+    uint32_t x177;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x178;
+    uint32_t x179;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x180;
+    uint32_t x181;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x182;
+    uint32_t x183;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x184;
+    uint32_t x185;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x186;
+    uint32_t x187;
+    uint32_t x188;
+    uint32_t x189;
+    uint32_t x190;
+    uint32_t x191;
+    uint32_t x192;
+    uint32_t x193;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x194;
+    uint32_t x195;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x196;
+    uint32_t x197;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x198;
+    uint32_t x199;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x200;
+    uint32_t x201;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x202;
+    uint32_t x203;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x204;
+    uint32_t x205;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x206;
+    uint32_t x207;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x208;
+    uint32_t x209;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x210;
+    uint32_t x211;
+    uint32_t x212;
+    uint32_t x213;
+    uint32_t x214;
+    uint32_t x215;
+    uint32_t x216;
+    uint32_t x217;
+    uint32_t x218;
+    uint32_t x219;
+    uint32_t x220;
+    uint32_t x221;
+    uint32_t x222;
+    uint32_t x223;
+    uint32_t x224;
+    uint32_t x225;
+    uint32_t x226;
+    uint32_t x227;
+    uint32_t x228;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x229;
+    uint32_t x230;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x231;
+    uint32_t x232;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x233;
+    uint32_t x234;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x235;
+    uint32_t x236;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x237;
+    uint32_t x238;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x239;
+    uint32_t x240;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x241;
+    uint32_t x242;
+    uint32_t x243;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x244;
+    uint32_t x245;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x246;
+    uint32_t x247;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x248;
+    uint32_t x249;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x250;
+    uint32_t x251;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x252;
+    uint32_t x253;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x254;
+    uint32_t x255;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x256;
+    uint32_t x257;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x258;
+    uint32_t x259;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x260;
+    uint32_t x261;
+    uint32_t x262;
+    uint32_t x263;
+    uint32_t x264;
+    uint32_t x265;
+    uint32_t x266;
+    uint32_t x267;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x268;
+    uint32_t x269;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x270;
+    uint32_t x271;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x272;
+    uint32_t x273;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x274;
+    uint32_t x275;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x276;
+    uint32_t x277;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x278;
+    uint32_t x279;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x280;
+    uint32_t x281;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x282;
+    uint32_t x283;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x284;
+    uint32_t x285;
+    uint32_t x286;
+    uint32_t x287;
+    uint32_t x288;
+    uint32_t x289;
+    uint32_t x290;
+    uint32_t x291;
+    uint32_t x292;
+    uint32_t x293;
+    uint32_t x294;
+    uint32_t x295;
+    uint32_t x296;
+    uint32_t x297;
+    uint32_t x298;
+    uint32_t x299;
+    uint32_t x300;
+    uint32_t x301;
+    uint32_t x302;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x303;
+    uint32_t x304;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x305;
+    uint32_t x306;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x307;
+    uint32_t x308;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x309;
+    uint32_t x310;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x311;
+    uint32_t x312;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x313;
+    uint32_t x314;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x315;
+    uint32_t x316;
+    uint32_t x317;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x318;
+    uint32_t x319;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x320;
+    uint32_t x321;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x322;
+    uint32_t x323;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x324;
+    uint32_t x325;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x326;
+    uint32_t x327;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x328;
+    uint32_t x329;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x330;
+    uint32_t x331;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x332;
+    uint32_t x333;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x334;
+    uint32_t x335;
+    uint32_t x336;
+    uint32_t x337;
+    uint32_t x338;
+    uint32_t x339;
+    uint32_t x340;
+    uint32_t x341;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x342;
+    uint32_t x343;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x344;
+    uint32_t x345;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x346;
+    uint32_t x347;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x348;
+    uint32_t x349;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x350;
+    uint32_t x351;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x352;
+    uint32_t x353;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x354;
+    uint32_t x355;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x356;
+    uint32_t x357;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x358;
+    uint32_t x359;
+    uint32_t x360;
+    uint32_t x361;
+    uint32_t x362;
+    uint32_t x363;
+    uint32_t x364;
+    uint32_t x365;
+    uint32_t x366;
+    uint32_t x367;
+    uint32_t x368;
+    uint32_t x369;
+    uint32_t x370;
+    uint32_t x371;
+    uint32_t x372;
+    uint32_t x373;
+    uint32_t x374;
+    uint32_t x375;
+    uint32_t x376;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x377;
+    uint32_t x378;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x379;
+    uint32_t x380;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x381;
+    uint32_t x382;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x383;
+    uint32_t x384;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x385;
+    uint32_t x386;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x387;
+    uint32_t x388;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x389;
+    uint32_t x390;
+    uint32_t x391;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x392;
+    uint32_t x393;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x394;
+    uint32_t x395;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x396;
+    uint32_t x397;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x398;
+    uint32_t x399;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x400;
+    uint32_t x401;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x402;
+    uint32_t x403;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x404;
+    uint32_t x405;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x406;
+    uint32_t x407;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x408;
+    uint32_t x409;
+    uint32_t x410;
+    uint32_t x411;
+    uint32_t x412;
+    uint32_t x413;
+    uint32_t x414;
+    uint32_t x415;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x416;
+    uint32_t x417;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x418;
+    uint32_t x419;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x420;
+    uint32_t x421;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x422;
+    uint32_t x423;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x424;
+    uint32_t x425;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x426;
+    uint32_t x427;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x428;
+    uint32_t x429;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x430;
+    uint32_t x431;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x432;
+    uint32_t x433;
+    uint32_t x434;
+    uint32_t x435;
+    uint32_t x436;
+    uint32_t x437;
+    uint32_t x438;
+    uint32_t x439;
+    uint32_t x440;
+    uint32_t x441;
+    uint32_t x442;
+    uint32_t x443;
+    uint32_t x444;
+    uint32_t x445;
+    uint32_t x446;
+    uint32_t x447;
+    uint32_t x448;
+    uint32_t x449;
+    uint32_t x450;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x451;
+    uint32_t x452;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x453;
+    uint32_t x454;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x455;
+    uint32_t x456;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x457;
+    uint32_t x458;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x459;
+    uint32_t x460;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x461;
+    uint32_t x462;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x463;
+    uint32_t x464;
+    uint32_t x465;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x466;
+    uint32_t x467;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x468;
+    uint32_t x469;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x470;
+    uint32_t x471;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x472;
+    uint32_t x473;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x474;
+    uint32_t x475;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x476;
+    uint32_t x477;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x478;
+    uint32_t x479;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x480;
+    uint32_t x481;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x482;
+    uint32_t x483;
+    uint32_t x484;
+    uint32_t x485;
+    uint32_t x486;
+    uint32_t x487;
+    uint32_t x488;
+    uint32_t x489;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x490;
+    uint32_t x491;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x492;
+    uint32_t x493;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x494;
+    uint32_t x495;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x496;
+    uint32_t x497;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x498;
+    uint32_t x499;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x500;
+    uint32_t x501;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x502;
+    uint32_t x503;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x504;
+    uint32_t x505;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x506;
+    uint32_t x507;
+    uint32_t x508;
+    uint32_t x509;
+    uint32_t x510;
+    uint32_t x511;
+    uint32_t x512;
+    uint32_t x513;
+    uint32_t x514;
+    uint32_t x515;
+    uint32_t x516;
+    uint32_t x517;
+    uint32_t x518;
+    uint32_t x519;
+    uint32_t x520;
+    uint32_t x521;
+    uint32_t x522;
+    uint32_t x523;
+    uint32_t x524;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x525;
+    uint32_t x526;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x527;
+    uint32_t x528;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x529;
+    uint32_t x530;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x531;
+    uint32_t x532;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x533;
+    uint32_t x534;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x535;
+    uint32_t x536;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x537;
+    uint32_t x538;
+    uint32_t x539;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x540;
+    uint32_t x541;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x542;
+    uint32_t x543;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x544;
+    uint32_t x545;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x546;
+    uint32_t x547;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x548;
+    uint32_t x549;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x550;
+    uint32_t x551;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x552;
+    uint32_t x553;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x554;
+    uint32_t x555;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x556;
+    uint32_t x557;
+    uint32_t x558;
+    uint32_t x559;
+    uint32_t x560;
+    uint32_t x561;
+    uint32_t x562;
+    uint32_t x563;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x564;
+    uint32_t x565;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x566;
+    uint32_t x567;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x568;
+    uint32_t x569;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x570;
+    uint32_t x571;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x572;
+    uint32_t x573;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x574;
+    uint32_t x575;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x576;
+    uint32_t x577;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x578;
+    uint32_t x579;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x580;
+    uint32_t x581;
+    uint32_t x582;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x583;
+    uint32_t x584;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x585;
+    uint32_t x586;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x587;
+    uint32_t x588;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x589;
+    uint32_t x590;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x591;
+    uint32_t x592;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x593;
+    uint32_t x594;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x595;
+    uint32_t x596;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x597;
+    uint32_t x598;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x599;
+    uint32_t x600;
+    uint32_t x601;
+    uint32_t x602;
+    uint32_t x603;
+    uint32_t x604;
+    uint32_t x605;
+    uint32_t x606;
+    uint32_t x607;
+    x1 = (arg1[1]);
+    x2 = (arg1[2]);
+    x3 = (arg1[3]);
+    x4 = (arg1[4]);
+    x5 = (arg1[5]);
+    x6 = (arg1[6]);
+    x7 = (arg1[7]);
+    x8 = (arg1[0]);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x9, &x10, x8, (arg1[7]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x11, &x12, x8, (arg1[6]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x13, &x14, x8, (arg1[5]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x15, &x16, x8, (arg1[4]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x17, &x18, x8, (arg1[3]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x19, &x20, x8, (arg1[2]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x21, &x22, x8, (arg1[1]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x23, &x24, x8, (arg1[0]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x25, &x26, 0x0, x24,
+                                                      x21);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x27, &x28, x26, x22,
+                                                      x19);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x29, &x30, x28, x20,
+                                                      x17);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x31, &x32, x30, x18,
+                                                      x15);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x33, &x34, x32, x16,
+                                                      x13);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x35, &x36, x34, x14,
+                                                      x11);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x37, &x38, x36, x12, x9);
+    x39 = (x38 + x10);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x40, &x41, x23,
+                                                 UINT32_C(0x883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x42, &x43, x40,
+                                                 UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x44, &x45, x40,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x46, &x47, 0x0, x23,
+                                                      x44);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x48, &x49, x47, x25,
+                                                      x45);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x50, &x51, x49, x27,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x52, &x53, x51, x29,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x54, &x55, x53, x31,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x56, &x57, x55, x33,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x58, &x59, x57, x35,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x60, &x61, x59, x37,
+                                                      x42);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x62, &x63, x61, x39,
+                                                      x43);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x64, &x65, x1, (arg1[7]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x66, &x67, x1, (arg1[6]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x68, &x69, x1, (arg1[5]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x70, &x71, x1, (arg1[4]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x72, &x73, x1, (arg1[3]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x74, &x75, x1, (arg1[2]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x76, &x77, x1, (arg1[1]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x78, &x79, x1, (arg1[0]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x80, &x81, 0x0, x79,
+                                                      x76);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x82, &x83, x81, x77,
+                                                      x74);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x84, &x85, x83, x75,
+                                                      x72);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x86, &x87, x85, x73,
+                                                      x70);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x88, &x89, x87, x71,
+                                                      x68);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x90, &x91, x89, x69,
+                                                      x66);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x92, &x93, x91, x67,
+                                                      x64);
+    x94 = (x93 + x65);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x95, &x96, 0x0, x48,
+                                                      x78);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x97, &x98, x96, x50,
+                                                      x80);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x99, &x100, x98, x52,
+                                                      x82);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x101, &x102, x100, x54,
+                                                      x84);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x103, &x104, x102, x56,
+                                                      x86);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x105, &x106, x104, x58,
+                                                      x88);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x107, &x108, x106, x60,
+                                                      x90);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x109, &x110, x108, x62,
+                                                      x92);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x111, &x112, x110, x63,
+                                                      x94);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x113, &x114, x95,
+                                                 UINT32_C(0x883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x115, &x116, x113,
+                                                 UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x117, &x118, x113,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x119, &x120, 0x0, x95,
+                                                      x117);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x121, &x122, x120, x97,
+                                                      x118);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x123, &x124, x122, x99,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x125, &x126, x124, x101,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x127, &x128, x126, x103,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x129, &x130, x128, x105,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x131, &x132, x130, x107,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x133, &x134, x132, x109,
+                                                      x115);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x135, &x136, x134, x111,
+                                                      x116);
+    x137 = ((uint32_t)x136 + x112);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x138, &x139, x2, (arg1[7]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x140, &x141, x2, (arg1[6]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x142, &x143, x2, (arg1[5]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x144, &x145, x2, (arg1[4]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x146, &x147, x2, (arg1[3]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x148, &x149, x2, (arg1[2]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x150, &x151, x2, (arg1[1]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x152, &x153, x2, (arg1[0]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x154, &x155, 0x0, x153,
+                                                      x150);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x156, &x157, x155, x151,
+                                                      x148);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x158, &x159, x157, x149,
+                                                      x146);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x160, &x161, x159, x147,
+                                                      x144);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x162, &x163, x161, x145,
+                                                      x142);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x164, &x165, x163, x143,
+                                                      x140);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x166, &x167, x165, x141,
+                                                      x138);
+    x168 = (x167 + x139);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x169, &x170, 0x0, x121,
+                                                      x152);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x171, &x172, x170, x123,
+                                                      x154);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x173, &x174, x172, x125,
+                                                      x156);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x175, &x176, x174, x127,
+                                                      x158);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x177, &x178, x176, x129,
+                                                      x160);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x179, &x180, x178, x131,
+                                                      x162);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x181, &x182, x180, x133,
+                                                      x164);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x183, &x184, x182, x135,
+                                                      x166);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x185, &x186, x184, x137,
+                                                      x168);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x187, &x188, x169,
+                                                 UINT32_C(0x883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x189, &x190, x187,
+                                                 UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x191, &x192, x187,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x193, &x194, 0x0, x169,
+                                                      x191);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x195, &x196, x194, x171,
+                                                      x192);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x197, &x198, x196, x173,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x199, &x200, x198, x175,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x201, &x202, x200, x177,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x203, &x204, x202, x179,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x205, &x206, x204, x181,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x207, &x208, x206, x183,
+                                                      x189);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x209, &x210, x208, x185,
+                                                      x190);
+    x211 = ((uint32_t)x210 + x186);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x212, &x213, x3, (arg1[7]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x214, &x215, x3, (arg1[6]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x216, &x217, x3, (arg1[5]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x218, &x219, x3, (arg1[4]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x220, &x221, x3, (arg1[3]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x222, &x223, x3, (arg1[2]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x224, &x225, x3, (arg1[1]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x226, &x227, x3, (arg1[0]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x228, &x229, 0x0, x227,
+                                                      x224);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x230, &x231, x229, x225,
+                                                      x222);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x232, &x233, x231, x223,
+                                                      x220);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x234, &x235, x233, x221,
+                                                      x218);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x236, &x237, x235, x219,
+                                                      x216);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x238, &x239, x237, x217,
+                                                      x214);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x240, &x241, x239, x215,
+                                                      x212);
+    x242 = (x241 + x213);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x243, &x244, 0x0, x195,
+                                                      x226);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x245, &x246, x244, x197,
+                                                      x228);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x247, &x248, x246, x199,
+                                                      x230);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x249, &x250, x248, x201,
+                                                      x232);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x251, &x252, x250, x203,
+                                                      x234);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x253, &x254, x252, x205,
+                                                      x236);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x255, &x256, x254, x207,
+                                                      x238);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x257, &x258, x256, x209,
+                                                      x240);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x259, &x260, x258, x211,
+                                                      x242);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x261, &x262, x243,
+                                                 UINT32_C(0x883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x263, &x264, x261,
+                                                 UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x265, &x266, x261,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x267, &x268, 0x0, x243,
+                                                      x265);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x269, &x270, x268, x245,
+                                                      x266);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x271, &x272, x270, x247,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x273, &x274, x272, x249,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x275, &x276, x274, x251,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x277, &x278, x276, x253,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x279, &x280, x278, x255,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x281, &x282, x280, x257,
+                                                      x263);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x283, &x284, x282, x259,
+                                                      x264);
+    x285 = ((uint32_t)x284 + x260);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x286, &x287, x4, (arg1[7]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x288, &x289, x4, (arg1[6]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x290, &x291, x4, (arg1[5]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x292, &x293, x4, (arg1[4]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x294, &x295, x4, (arg1[3]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x296, &x297, x4, (arg1[2]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x298, &x299, x4, (arg1[1]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x300, &x301, x4, (arg1[0]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x302, &x303, 0x0, x301,
+                                                      x298);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x304, &x305, x303, x299,
+                                                      x296);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x306, &x307, x305, x297,
+                                                      x294);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x308, &x309, x307, x295,
+                                                      x292);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x310, &x311, x309, x293,
+                                                      x290);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x312, &x313, x311, x291,
+                                                      x288);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x314, &x315, x313, x289,
+                                                      x286);
+    x316 = (x315 + x287);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x317, &x318, 0x0, x269,
+                                                      x300);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x319, &x320, x318, x271,
+                                                      x302);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x321, &x322, x320, x273,
+                                                      x304);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x323, &x324, x322, x275,
+                                                      x306);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x325, &x326, x324, x277,
+                                                      x308);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x327, &x328, x326, x279,
+                                                      x310);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x329, &x330, x328, x281,
+                                                      x312);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x331, &x332, x330, x283,
+                                                      x314);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x333, &x334, x332, x285,
+                                                      x316);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x335, &x336, x317,
+                                                 UINT32_C(0x883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x337, &x338, x335,
+                                                 UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x339, &x340, x335,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x341, &x342, 0x0, x317,
+                                                      x339);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x343, &x344, x342, x319,
+                                                      x340);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x345, &x346, x344, x321,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x347, &x348, x346, x323,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x349, &x350, x348, x325,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x351, &x352, x350, x327,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x353, &x354, x352, x329,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x355, &x356, x354, x331,
+                                                      x337);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x357, &x358, x356, x333,
+                                                      x338);
+    x359 = ((uint32_t)x358 + x334);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x360, &x361, x5, (arg1[7]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x362, &x363, x5, (arg1[6]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x364, &x365, x5, (arg1[5]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x366, &x367, x5, (arg1[4]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x368, &x369, x5, (arg1[3]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x370, &x371, x5, (arg1[2]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x372, &x373, x5, (arg1[1]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x374, &x375, x5, (arg1[0]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x376, &x377, 0x0, x375,
+                                                      x372);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x378, &x379, x377, x373,
+                                                      x370);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x380, &x381, x379, x371,
+                                                      x368);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x382, &x383, x381, x369,
+                                                      x366);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x384, &x385, x383, x367,
+                                                      x364);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x386, &x387, x385, x365,
+                                                      x362);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x388, &x389, x387, x363,
+                                                      x360);
+    x390 = (x389 + x361);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x391, &x392, 0x0, x343,
+                                                      x374);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x393, &x394, x392, x345,
+                                                      x376);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x395, &x396, x394, x347,
+                                                      x378);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x397, &x398, x396, x349,
+                                                      x380);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x399, &x400, x398, x351,
+                                                      x382);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x401, &x402, x400, x353,
+                                                      x384);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x403, &x404, x402, x355,
+                                                      x386);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x405, &x406, x404, x357,
+                                                      x388);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x407, &x408, x406, x359,
+                                                      x390);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x409, &x410, x391,
+                                                 UINT32_C(0x883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x411, &x412, x409,
+                                                 UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x413, &x414, x409,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x415, &x416, 0x0, x391,
+                                                      x413);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x417, &x418, x416, x393,
+                                                      x414);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x419, &x420, x418, x395,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x421, &x422, x420, x397,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x423, &x424, x422, x399,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x425, &x426, x424, x401,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x427, &x428, x426, x403,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x429, &x430, x428, x405,
+                                                      x411);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x431, &x432, x430, x407,
+                                                      x412);
+    x433 = ((uint32_t)x432 + x408);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x434, &x435, x6, (arg1[7]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x436, &x437, x6, (arg1[6]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x438, &x439, x6, (arg1[5]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x440, &x441, x6, (arg1[4]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x442, &x443, x6, (arg1[3]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x444, &x445, x6, (arg1[2]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x446, &x447, x6, (arg1[1]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x448, &x449, x6, (arg1[0]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x450, &x451, 0x0, x449,
+                                                      x446);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x452, &x453, x451, x447,
+                                                      x444);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x454, &x455, x453, x445,
+                                                      x442);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x456, &x457, x455, x443,
+                                                      x440);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x458, &x459, x457, x441,
+                                                      x438);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x460, &x461, x459, x439,
+                                                      x436);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x462, &x463, x461, x437,
+                                                      x434);
+    x464 = (x463 + x435);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x465, &x466, 0x0, x417,
+                                                      x448);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x467, &x468, x466, x419,
+                                                      x450);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x469, &x470, x468, x421,
+                                                      x452);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x471, &x472, x470, x423,
+                                                      x454);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x473, &x474, x472, x425,
+                                                      x456);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x475, &x476, x474, x427,
+                                                      x458);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x477, &x478, x476, x429,
+                                                      x460);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x479, &x480, x478, x431,
+                                                      x462);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x481, &x482, x480, x433,
+                                                      x464);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x483, &x484, x465,
+                                                 UINT32_C(0x883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x485, &x486, x483,
+                                                 UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x487, &x488, x483,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x489, &x490, 0x0, x465,
+                                                      x487);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x491, &x492, x490, x467,
+                                                      x488);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x493, &x494, x492, x469,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x495, &x496, x494, x471,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x497, &x498, x496, x473,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x499, &x500, x498, x475,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x501, &x502, x500, x477,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x503, &x504, x502, x479,
+                                                      x485);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x505, &x506, x504, x481,
+                                                      x486);
+    x507 = ((uint32_t)x506 + x482);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x508, &x509, x7, (arg1[7]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x510, &x511, x7, (arg1[6]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x512, &x513, x7, (arg1[5]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x514, &x515, x7, (arg1[4]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x516, &x517, x7, (arg1[3]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x518, &x519, x7, (arg1[2]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x520, &x521, x7, (arg1[1]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x522, &x523, x7, (arg1[0]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x524, &x525, 0x0, x523,
+                                                      x520);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x526, &x527, x525, x521,
+                                                      x518);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x528, &x529, x527, x519,
+                                                      x516);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x530, &x531, x529, x517,
+                                                      x514);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x532, &x533, x531, x515,
+                                                      x512);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x534, &x535, x533, x513,
+                                                      x510);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x536, &x537, x535, x511,
+                                                      x508);
+    x538 = (x537 + x509);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x539, &x540, 0x0, x491,
+                                                      x522);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x541, &x542, x540, x493,
+                                                      x524);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x543, &x544, x542, x495,
+                                                      x526);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x545, &x546, x544, x497,
+                                                      x528);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x547, &x548, x546, x499,
+                                                      x530);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x549, &x550, x548, x501,
+                                                      x532);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x551, &x552, x550, x503,
+                                                      x534);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x553, &x554, x552, x505,
+                                                      x536);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x555, &x556, x554, x507,
+                                                      x538);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x557, &x558, x539,
+                                                 UINT32_C(0x883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x559, &x560, x557,
+                                                 UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x561, &x562, x557,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x563, &x564, 0x0, x539,
+                                                      x561);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x565, &x566, x564, x541,
+                                                      x562);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x567, &x568, x566, x543,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x569, &x570, x568, x545,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x571, &x572, x570, x547,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x573, &x574, x572, x549,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x575, &x576, x574, x551,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x577, &x578, x576, x553,
+                                                      x559);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x579, &x580, x578, x555,
+                                                      x560);
+    x581 = ((uint32_t)x580 + x556);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x582, &x583, 0x0, x565,
+                                                       UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x584, &x585, x583, x567,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x586, &x587, x585, x569,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x588, &x589, x587, x571,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x590, &x591, x589, x573,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x592, &x593, x591, x575,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x594, &x595, x593, x577,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x596, &x597, x595, x579,
+                                                       UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x598, &x599, x597, x581,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x600, x599, x582, x565);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x601, x599, x584, x567);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x602, x599, x586, x569);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x603, x599, x588, x571);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x604, x599, x590, x573);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x605, x599, x592, x575);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x606, x599, x594, x577);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x607, x599, x596, x579);
+    out1[0] = x600;
+    out1[1] = x601;
+    out1[2] = x602;
+    out1[3] = x603;
+    out1[4] = x604;
+    out1[5] = x605;
+    out1[6] = x606;
+    out1[7] = x607;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_TestParamSet_add adds two field elements in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ *   0 ≤ eval arg2 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) + eval (from_montgomery arg2)) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ *   arg2: [[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]]
+ */
+static void fiat_id_GostR3410_2001_TestParamSet_add(uint32_t out1[8],
+                                                    const uint32_t arg1[8],
+                                                    const uint32_t arg2[8]) {
+    uint32_t x1;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x2;
+    uint32_t x3;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x4;
+    uint32_t x5;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x6;
+    uint32_t x7;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x8;
+    uint32_t x9;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x10;
+    uint32_t x11;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x12;
+    uint32_t x13;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x14;
+    uint32_t x15;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x16;
+    uint32_t x17;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x18;
+    uint32_t x19;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x20;
+    uint32_t x21;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x22;
+    uint32_t x23;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x24;
+    uint32_t x25;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x26;
+    uint32_t x27;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x28;
+    uint32_t x29;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x30;
+    uint32_t x31;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x32;
+    uint32_t x33;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 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;
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x1, &x2, 0x0, (arg1[0]),
+                                                      (arg2[0]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x3, &x4, x2, (arg1[1]),
+                                                      (arg2[1]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x5, &x6, x4, (arg1[2]),
+                                                      (arg2[2]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x7, &x8, x6, (arg1[3]),
+                                                      (arg2[3]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x9, &x10, x8, (arg1[4]),
+                                                      (arg2[4]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x11, &x12, x10,
+                                                      (arg1[5]), (arg2[5]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x13, &x14, x12,
+                                                      (arg1[6]), (arg2[6]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x15, &x16, x14,
+                                                      (arg1[7]), (arg2[7]));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x17, &x18, 0x0, x1,
+                                                       UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x19, &x20, x18, x3,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x21, &x22, x20, x5,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x23, &x24, x22, x7,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x25, &x26, x24, x9,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x27, &x28, x26, x11,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x29, &x30, x28, x13,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x31, &x32, x30, x15,
+                                                       UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x33, &x34, x32, x16,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x35, x34, x17, x1);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x36, x34, x19, x3);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x37, x34, x21, x5);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x38, x34, x23, x7);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x39, x34, x25, x9);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x40, x34, x27, x11);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x41, x34, x29, x13);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x42, x34, x31, x15);
+    out1[0] = x35;
+    out1[1] = x36;
+    out1[2] = x37;
+    out1[3] = x38;
+    out1[4] = x39;
+    out1[5] = x40;
+    out1[6] = x41;
+    out1[7] = x42;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_TestParamSet_sub subtracts two field elements in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ *   0 ≤ eval arg2 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) - eval (from_montgomery arg2)) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ *   arg2: [[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]]
+ */
+static void fiat_id_GostR3410_2001_TestParamSet_sub(uint32_t out1[8],
+                                                    const uint32_t arg1[8],
+                                                    const uint32_t arg2[8]) {
+    uint32_t x1;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x2;
+    uint32_t x3;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x4;
+    uint32_t x5;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x6;
+    uint32_t x7;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x8;
+    uint32_t x9;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x10;
+    uint32_t x11;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x12;
+    uint32_t x13;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x14;
+    uint32_t x15;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x16;
+    uint32_t x17;
+    uint32_t x18;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x19;
+    uint32_t x20;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x21;
+    uint32_t x22;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x23;
+    uint32_t x24;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x25;
+    uint32_t x26;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x27;
+    uint32_t x28;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x29;
+    uint32_t x30;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x31;
+    uint32_t x32;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x33;
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x1, &x2, 0x0, (arg1[0]),
+                                                       (arg2[0]));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x3, &x4, x2, (arg1[1]),
+                                                       (arg2[1]));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x5, &x6, x4, (arg1[2]),
+                                                       (arg2[2]));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x7, &x8, x6, (arg1[3]),
+                                                       (arg2[3]));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x9, &x10, x8, (arg1[4]),
+                                                       (arg2[4]));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x11, &x12, x10,
+                                                       (arg1[5]), (arg2[5]));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x13, &x14, x12,
+                                                       (arg1[6]), (arg2[6]));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x15, &x16, x14,
+                                                       (arg1[7]), (arg2[7]));
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x17, x16, 0x0,
+                                                    UINT32_C(0xffffffff));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x18, &x19, 0x0, x1,
+                                                      (x17 & UINT16_C(0x431)));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x20, &x21, x19, x3, 0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x22, &x23, x21, x5, 0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x24, &x25, x23, x7, 0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x26, &x27, x25, x9, 0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x28, &x29, x27, x11,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x30, &x31, x29, x13,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
+        &x32, &x33, x31, x15, (x17 & UINT32_C(0x80000000)));
+    out1[0] = x18;
+    out1[1] = x20;
+    out1[2] = x22;
+    out1[3] = x24;
+    out1[4] = x26;
+    out1[5] = x28;
+    out1[6] = x30;
+    out1[7] = x32;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_TestParamSet_opp negates a field element in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = -eval (from_montgomery arg1) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[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]]
+ */
+static void fiat_id_GostR3410_2001_TestParamSet_opp(uint32_t out1[8],
+                                                    const uint32_t arg1[8]) {
+    uint32_t x1;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x2;
+    uint32_t x3;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x4;
+    uint32_t x5;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x6;
+    uint32_t x7;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x8;
+    uint32_t x9;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x10;
+    uint32_t x11;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x12;
+    uint32_t x13;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x14;
+    uint32_t x15;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x16;
+    uint32_t x17;
+    uint32_t x18;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x19;
+    uint32_t x20;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x21;
+    uint32_t x22;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x23;
+    uint32_t x24;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x25;
+    uint32_t x26;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x27;
+    uint32_t x28;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x29;
+    uint32_t x30;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x31;
+    uint32_t x32;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x33;
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x1, &x2, 0x0, 0x0,
+                                                       (arg1[0]));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x3, &x4, x2, 0x0,
+                                                       (arg1[1]));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x5, &x6, x4, 0x0,
+                                                       (arg1[2]));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x7, &x8, x6, 0x0,
+                                                       (arg1[3]));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x9, &x10, x8, 0x0,
+                                                       (arg1[4]));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x11, &x12, x10, 0x0,
+                                                       (arg1[5]));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x13, &x14, x12, 0x0,
+                                                       (arg1[6]));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x15, &x16, x14, 0x0,
+                                                       (arg1[7]));
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x17, x16, 0x0,
+                                                    UINT32_C(0xffffffff));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x18, &x19, 0x0, x1,
+                                                      (x17 & UINT16_C(0x431)));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x20, &x21, x19, x3, 0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x22, &x23, x21, x5, 0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x24, &x25, x23, x7, 0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x26, &x27, x25, x9, 0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x28, &x29, x27, x11,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x30, &x31, x29, x13,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
+        &x32, &x33, x31, x15, (x17 & UINT32_C(0x80000000)));
+    out1[0] = x18;
+    out1[1] = x20;
+    out1[2] = x22;
+    out1[3] = x24;
+    out1[4] = x26;
+    out1[5] = x28;
+    out1[6] = x30;
+    out1[7] = x32;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_TestParamSet_from_montgomery translates a field element out of the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   eval out1 mod m = (eval arg1 * ((2^32)⁻¹ mod m)^8) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[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]]
+ */
+static void fiat_id_GostR3410_2001_TestParamSet_from_montgomery(
+    uint32_t out1[8], const uint32_t arg1[8]) {
+    uint32_t x1;
+    uint32_t x2;
+    uint32_t x3;
+    uint32_t x4;
+    uint32_t x5;
+    uint32_t x6;
+    uint32_t x7;
+    uint32_t x8;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x9;
+    uint32_t x10;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x11;
+    uint32_t x12;
+    uint32_t x13;
+    uint32_t x14;
+    uint32_t x15;
+    uint32_t x16;
+    uint32_t x17;
+    uint32_t x18;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x19;
+    uint32_t x20;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x21;
+    uint32_t x22;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x23;
+    uint32_t x24;
+    uint32_t x25;
+    uint32_t x26;
+    uint32_t x27;
+    uint32_t x28;
+    uint32_t x29;
+    uint32_t x30;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x31;
+    uint32_t x32;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x33;
+    uint32_t x34;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x35;
+    uint32_t x36;
+    uint32_t x37;
+    uint32_t x38;
+    uint32_t x39;
+    uint32_t x40;
+    uint32_t x41;
+    uint32_t x42;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x43;
+    uint32_t x44;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x45;
+    uint32_t x46;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x47;
+    uint32_t x48;
+    uint32_t x49;
+    uint32_t x50;
+    uint32_t x51;
+    uint32_t x52;
+    uint32_t x53;
+    uint32_t x54;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x55;
+    uint32_t x56;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x57;
+    uint32_t x58;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x59;
+    uint32_t x60;
+    uint32_t x61;
+    uint32_t x62;
+    uint32_t x63;
+    uint32_t x64;
+    uint32_t x65;
+    uint32_t x66;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x67;
+    uint32_t x68;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x69;
+    uint32_t x70;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x71;
+    uint32_t x72;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x73;
+    uint32_t x74;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x75;
+    uint32_t x76;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x77;
+    uint32_t x78;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x79;
+    uint32_t x80;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x81;
+    uint32_t x82;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x83;
+    uint32_t x84;
+    uint32_t x85;
+    uint32_t x86;
+    uint32_t x87;
+    uint32_t x88;
+    uint32_t x89;
+    uint32_t x90;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x91;
+    uint32_t x92;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x93;
+    uint32_t x94;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x95;
+    uint32_t x96;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x97;
+    uint32_t x98;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x99;
+    uint32_t x100;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x101;
+    uint32_t x102;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x103;
+    uint32_t x104;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x105;
+    uint32_t x106;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x107;
+    uint32_t x108;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x109;
+    uint32_t x110;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x111;
+    uint32_t x112;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x113;
+    uint32_t x114;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x115;
+    uint32_t x116;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x117;
+    uint32_t x118;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x119;
+    uint32_t x120;
+    uint32_t x121;
+    uint32_t x122;
+    uint32_t x123;
+    uint32_t x124;
+    uint32_t x125;
+    uint32_t x126;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x127;
+    uint32_t x128;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x129;
+    uint32_t x130;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x131;
+    uint32_t x132;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x133;
+    uint32_t x134;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x135;
+    uint32_t x136;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x137;
+    uint32_t x138;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x139;
+    uint32_t x140;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x141;
+    uint32_t x142;
+    uint32_t x143;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x144;
+    uint32_t x145;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x146;
+    uint32_t x147;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x148;
+    uint32_t x149;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x150;
+    uint32_t x151;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x152;
+    uint32_t x153;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x154;
+    uint32_t x155;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x156;
+    uint32_t x157;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x158;
+    uint32_t x159;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x160;
+    uint32_t x161;
+    uint32_t x162;
+    uint32_t x163;
+    uint32_t x164;
+    uint32_t x165;
+    uint32_t x166;
+    uint32_t x167;
+    uint32_t x168;
+    x1 = (arg1[0]);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x2, &x3, x1,
+                                                 UINT32_C(0x883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x4, &x5, x2,
+                                                 UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x6, &x7, x2, UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x8, &x9, 0x0, x1, x6);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x10, &x11, 0x0,
+                                                      (x9 + x7), (arg1[1]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x12, &x13, x10,
+                                                 UINT32_C(0x883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x14, &x15, x12,
+                                                 UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x16, &x17, x12,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x18, &x19, 0x0, x5, x14);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x20, &x21, 0x0, x10,
+                                                      x16);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
+        &x22, &x23, 0x0, (((uint32_t)x21 + x11) + x17), (arg1[2]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x24, &x25, x22,
+                                                 UINT32_C(0x883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x26, &x27, x24,
+                                                 UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x28, &x29, x24,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x30, &x31, 0x0,
+                                                      (x19 + x15), x26);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x32, &x33, 0x0, x22,
+                                                      x28);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
+        &x34, &x35, 0x0, (((uint32_t)x33 + x23) + x29), (arg1[3]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x36, &x37, x34,
+                                                 UINT32_C(0x883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x38, &x39, x36,
+                                                 UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x40, &x41, x36,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x42, &x43, 0x0,
+                                                      (x31 + x27), x38);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x44, &x45, 0x0, x34,
+                                                      x40);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
+        &x46, &x47, 0x0, (((uint32_t)x45 + x35) + x41), (arg1[4]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x48, &x49, x46,
+                                                 UINT32_C(0x883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x50, &x51, x48,
+                                                 UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x52, &x53, x48,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x54, &x55, 0x0,
+                                                      (x43 + x39), x50);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x56, &x57, 0x0, x46,
+                                                      x52);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
+        &x58, &x59, 0x0, (((uint32_t)x57 + x47) + x53), (arg1[5]));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x60, &x61, x58,
+                                                 UINT32_C(0x883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x62, &x63, x60,
+                                                 UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x64, &x65, x60,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x66, &x67, 0x0,
+                                                      (x55 + x51), x62);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x68, &x69, 0x0, x58,
+                                                      x64);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
+        &x70, &x71, 0x0, (((uint32_t)x69 + x59) + x65), (arg1[6]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x72, &x73, x71, x4, 0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x74, &x75, x73, x18,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x76, &x77, x75, x30,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x78, &x79, x77, x42,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x80, &x81, x79, x54,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x82, &x83, x81, x66,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x84, &x85, x70,
+                                                 UINT32_C(0x883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x86, &x87, x84,
+                                                 UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x88, &x89, x84,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x90, &x91, 0x0, x70,
+                                                      x88);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x92, &x93, x91, x72,
+                                                      x89);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x94, &x95, x93, x74,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x96, &x97, x95, x76,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x98, &x99, x97, x78,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x100, &x101, x99, x80,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x102, &x103, x101, x82,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x104, &x105, x103,
+                                                      (x83 + (x67 + x63)), x86);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x106, &x107, 0x0, x92,
+                                                      (arg1[7]));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x108, &x109, x107, x94,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x110, &x111, x109, x96,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x112, &x113, x111, x98,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x114, &x115, x113, x100,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x116, &x117, x115, x102,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x118, &x119, x117, x104,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x120, &x121, x106,
+                                                 UINT32_C(0x883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x122, &x123, x120,
+                                                 UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x124, &x125, x120,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x126, &x127, 0x0, x106,
+                                                      x124);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x128, &x129, x127, x108,
+                                                      x125);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x130, &x131, x129, x110,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x132, &x133, x131, x112,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x134, &x135, x133, x114,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x136, &x137, x135, x116,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x138, &x139, x137, x118,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
+        &x140, &x141, x139, (x119 + (x105 + x87)), x122);
+    x142 = (x141 + x123);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x143, &x144, 0x0, x128,
+                                                       UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x145, &x146, x144, x130,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x147, &x148, x146, x132,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x149, &x150, x148, x134,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x151, &x152, x150, x136,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x153, &x154, x152, x138,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x155, &x156, x154, x140,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x157, &x158, x156, x142,
+                                                       UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x159, &x160, x158, 0x0,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x161, x160, x143, x128);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x162, x160, x145, x130);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x163, x160, x147, x132);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x164, x160, x149, x134);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x165, x160, x151, x136);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x166, x160, x153, x138);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x167, x160, x155, x140);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x168, x160, x157, x142);
+    out1[0] = x161;
+    out1[1] = x162;
+    out1[2] = x163;
+    out1[3] = x164;
+    out1[4] = x165;
+    out1[5] = x166;
+    out1[6] = x167;
+    out1[7] = x168;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_TestParamSet_to_montgomery translates a field element into the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = eval arg1 mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[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]]
+ */
+static void fiat_id_GostR3410_2001_TestParamSet_to_montgomery(
+    uint32_t out1[8], const uint32_t arg1[8]) {
+    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;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x12;
+    uint32_t x13;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x14;
+    uint32_t x15;
+    uint32_t x16;
+    uint32_t x17;
+    uint32_t x18;
+    uint32_t x19;
+    uint32_t x20;
+    uint32_t x21;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x22;
+    uint32_t x23;
+    uint32_t x24;
+    uint32_t x25;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x26;
+    uint32_t x27;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x28;
+    uint32_t x29;
+    uint32_t x30;
+    uint32_t x31;
+    uint32_t x32;
+    uint32_t x33;
+    uint32_t x34;
+    uint32_t x35;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x36;
+    uint32_t x37;
+    uint32_t x38;
+    uint32_t x39;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x40;
+    uint32_t x41;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x42;
+    uint32_t x43;
+    uint32_t x44;
+    uint32_t x45;
+    uint32_t x46;
+    uint32_t x47;
+    uint32_t x48;
+    uint32_t x49;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x50;
+    uint32_t x51;
+    uint32_t x52;
+    uint32_t x53;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x54;
+    uint32_t x55;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x56;
+    uint32_t x57;
+    uint32_t x58;
+    uint32_t x59;
+    uint32_t x60;
+    uint32_t x61;
+    uint32_t x62;
+    uint32_t x63;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x64;
+    uint32_t x65;
+    uint32_t x66;
+    uint32_t x67;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x68;
+    uint32_t x69;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x70;
+    uint32_t x71;
+    uint32_t x72;
+    uint32_t x73;
+    uint32_t x74;
+    uint32_t x75;
+    uint32_t x76;
+    uint32_t x77;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x78;
+    uint32_t x79;
+    uint32_t x80;
+    uint32_t x81;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x82;
+    uint32_t x83;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x84;
+    uint32_t x85;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x86;
+    uint32_t x87;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x88;
+    uint32_t x89;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x90;
+    uint32_t x91;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x92;
+    uint32_t x93;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x94;
+    uint32_t x95;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x96;
+    uint32_t x97;
+    uint32_t x98;
+    uint32_t x99;
+    uint32_t x100;
+    uint32_t x101;
+    uint32_t x102;
+    uint32_t x103;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x104;
+    uint32_t x105;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x106;
+    uint32_t x107;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x108;
+    uint32_t x109;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x110;
+    uint32_t x111;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x112;
+    uint32_t x113;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x114;
+    uint32_t x115;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x116;
+    uint32_t x117;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x118;
+    uint32_t x119;
+    uint32_t x120;
+    uint32_t x121;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x122;
+    uint32_t x123;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x124;
+    uint32_t x125;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x126;
+    uint32_t x127;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x128;
+    uint32_t x129;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x130;
+    uint32_t x131;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x132;
+    uint32_t x133;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x134;
+    uint32_t x135;
+    uint32_t x136;
+    uint32_t x137;
+    uint32_t x138;
+    uint32_t x139;
+    uint32_t x140;
+    uint32_t x141;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x142;
+    uint32_t x143;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x144;
+    uint32_t x145;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x146;
+    uint32_t x147;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x148;
+    uint32_t x149;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x150;
+    uint32_t x151;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x152;
+    uint32_t x153;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x154;
+    uint32_t x155;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x156;
+    uint32_t x157;
+    uint32_t x158;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x159;
+    uint32_t x160;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x161;
+    uint32_t x162;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x163;
+    uint32_t x164;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x165;
+    uint32_t x166;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x167;
+    uint32_t x168;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x169;
+    uint32_t x170;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x171;
+    uint32_t x172;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x173;
+    uint32_t x174;
+    fiat_id_GostR3410_2001_TestParamSet_uint1 x175;
+    uint32_t x176;
+    uint32_t x177;
+    uint32_t x178;
+    uint32_t x179;
+    uint32_t x180;
+    uint32_t x181;
+    uint32_t x182;
+    uint32_t x183;
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x1, &x2, (arg1[0]),
+                                                 UINT32_C(0x464584));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x3, &x4, x1,
+                                                 UINT32_C(0x883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x5, &x6, x3,
+                                                 UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x7, &x8, x3, UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x9, &x10, (arg1[1]),
+                                                 UINT32_C(0x464584));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x11, &x12, 0x0, x1, x7);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x13, &x14, 0x0,
+                                                      ((x12 + x2) + x8), x9);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x15, &x16, x13,
+                                                 UINT32_C(0x883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x17, &x18, x15,
+                                                 UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x19, &x20, x15,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x21, &x22, 0x0, x6, x17);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x23, &x24, (arg1[2]),
+                                                 UINT32_C(0x464584));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x25, &x26, 0x0, x13,
+                                                      x19);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
+        &x27, &x28, 0x0, ((x26 + (x14 + x10)) + x20), x23);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x29, &x30, x27,
+                                                 UINT32_C(0x883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x31, &x32, x29,
+                                                 UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x33, &x34, x29,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x35, &x36, 0x0,
+                                                      (x22 + x18), x31);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x37, &x38, (arg1[3]),
+                                                 UINT32_C(0x464584));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x39, &x40, 0x0, x27,
+                                                      x33);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
+        &x41, &x42, 0x0, ((x40 + (x28 + x24)) + x34), x37);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x43, &x44, x41,
+                                                 UINT32_C(0x883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x45, &x46, x43,
+                                                 UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x47, &x48, x43,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x49, &x50, 0x0,
+                                                      (x36 + x32), x45);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x51, &x52, (arg1[4]),
+                                                 UINT32_C(0x464584));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x53, &x54, 0x0, x41,
+                                                      x47);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
+        &x55, &x56, 0x0, ((x54 + (x42 + x38)) + x48), x51);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x57, &x58, x55,
+                                                 UINT32_C(0x883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x59, &x60, x57,
+                                                 UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x61, &x62, x57,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x63, &x64, 0x0,
+                                                      (x50 + x46), x59);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x65, &x66, (arg1[5]),
+                                                 UINT32_C(0x464584));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x67, &x68, 0x0, x55,
+                                                      x61);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
+        &x69, &x70, 0x0, ((x68 + (x56 + x52)) + x62), x65);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x71, &x72, x69,
+                                                 UINT32_C(0x883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x73, &x74, x71,
+                                                 UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x75, &x76, x71,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x77, &x78, 0x0,
+                                                      (x64 + x60), x73);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x79, &x80, (arg1[6]),
+                                                 UINT32_C(0x464584));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x81, &x82, 0x0, x69,
+                                                      x75);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
+        &x83, &x84, 0x0, ((x82 + (x70 + x66)) + x76), x79);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x85, &x86, x84, x5, x80);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x87, &x88, x86, x21,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x89, &x90, x88, x35,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x91, &x92, x90, x49,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x93, &x94, x92, x63,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x95, &x96, x94, x77,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x97, &x98, x83,
+                                                 UINT32_C(0x883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x99, &x100, x97,
+                                                 UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x101, &x102, x97,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x103, &x104, 0x0, x83,
+                                                      x101);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x105, &x106, x104, x85,
+                                                      x102);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x107, &x108, x106, x87,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x109, &x110, x108, x89,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x111, &x112, x110, x91,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x113, &x114, x112, x93,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x115, &x116, x114, x95,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x117, &x118, x116,
+                                                      (x96 + (x78 + x74)), x99);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x119, &x120, (arg1[7]),
+                                                 UINT32_C(0x464584));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x121, &x122, 0x0, x105,
+                                                      x119);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x123, &x124, x122, x107,
+                                                      x120);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x125, &x126, x124, x109,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x127, &x128, x126, x111,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x129, &x130, x128, x113,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x131, &x132, x130, x115,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x133, &x134, x132, x117,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x135, &x136, x121,
+                                                 UINT32_C(0x883b2b2f));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x137, &x138, x135,
+                                                 UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x139, &x140, x135,
+                                                 UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x141, &x142, 0x0, x121,
+                                                      x139);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x143, &x144, x142, x123,
+                                                      x140);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x145, &x146, x144, x125,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x147, &x148, x146, x127,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x149, &x150, x148, x129,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x151, &x152, x150, x131,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x153, &x154, x152, x133,
+                                                      0x0);
+    fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
+        &x155, &x156, x154, (x134 + (x118 + x100)), x137);
+    x157 = (x156 + x138);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x158, &x159, 0x0, x143,
+                                                       UINT16_C(0x431));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x160, &x161, x159, x145,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x162, &x163, x161, x147,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x164, &x165, x163, x149,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x166, &x167, x165, x151,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x168, &x169, x167, x153,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x170, &x171, x169, x155,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x172, &x173, x171, x157,
+                                                       UINT32_C(0x80000000));
+    fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x174, &x175, x173, 0x0,
+                                                       0x0);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x176, x175, x158, x143);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x177, x175, x160, x145);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x178, x175, x162, x147);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x179, x175, x164, x149);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x180, x175, x166, x151);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x181, x175, x168, x153);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x182, x175, x170, x155);
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x183, x175, x172, x157);
+    out1[0] = x176;
+    out1[1] = x177;
+    out1[2] = x178;
+    out1[3] = x179;
+    out1[4] = x180;
+    out1[5] = x181;
+    out1[6] = x182;
+    out1[7] = x183;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_TestParamSet_nonzero outputs a single non-zero word if the input is non-zero and zero otherwise.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   out1 = 0 ↔ eval (from_montgomery arg1) mod m = 0
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffffff]
+ */
+static void fiat_id_GostR3410_2001_TestParamSet_nonzero(
+    uint32_t *out1, const uint32_t arg1[8]) {
+    uint32_t x1;
+    x1 = ((arg1[0]) |
+          ((arg1[1]) |
+           ((arg1[2]) |
+            ((arg1[3]) |
+             ((arg1[4]) |
+              ((arg1[5]) | ((arg1[6]) | ((arg1[7]) | (uint32_t)0x0))))))));
+    *out1 = x1;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_TestParamSet_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]]
+ *   arg3: [[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]]
+ */
+static void fiat_id_GostR3410_2001_TestParamSet_selectznz(
+    uint32_t out1[8], fiat_id_GostR3410_2001_TestParamSet_uint1 arg1,
+    const uint32_t arg2[8], const uint32_t arg3[8]) {
+    uint32_t x1;
+    uint32_t x2;
+    uint32_t x3;
+    uint32_t x4;
+    uint32_t x5;
+    uint32_t x6;
+    uint32_t x7;
+    uint32_t x8;
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x1, arg1, (arg2[0]),
+                                                    (arg3[0]));
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x2, arg1, (arg2[1]),
+                                                    (arg3[1]));
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x3, arg1, (arg2[2]),
+                                                    (arg3[2]));
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x4, arg1, (arg2[3]),
+                                                    (arg3[3]));
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x5, arg1, (arg2[4]),
+                                                    (arg3[4]));
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x6, arg1, (arg2[5]),
+                                                    (arg3[5]));
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x7, arg1, (arg2[6]),
+                                                    (arg3[6]));
+    fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x8, arg1, (arg2[7]),
+                                                    (arg3[7]));
+    out1[0] = x1;
+    out1[1] = x2;
+    out1[2] = x3;
+    out1[3] = x4;
+    out1[4] = x5;
+    out1[5] = x6;
+    out1[6] = x7;
+    out1[7] = x8;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_TestParamSet_to_bytes serializes a field element in the Montgomery domain to bytes in little-endian order.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..31]
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * 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]]
+ */
+static void fiat_id_GostR3410_2001_TestParamSet_to_bytes(
+    uint8_t out1[32], const uint32_t arg1[8]) {
+    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;
+    uint8_t x10;
+    uint32_t x11;
+    uint8_t x12;
+    uint8_t x13;
+    uint8_t x14;
+    uint8_t x15;
+    uint32_t x16;
+    uint8_t x17;
+    uint32_t x18;
+    uint8_t x19;
+    uint8_t x20;
+    uint8_t x21;
+    uint8_t x22;
+    uint32_t x23;
+    uint8_t x24;
+    uint32_t x25;
+    uint8_t x26;
+    uint8_t x27;
+    uint8_t x28;
+    uint8_t x29;
+    uint32_t x30;
+    uint8_t x31;
+    uint32_t x32;
+    uint8_t x33;
+    uint8_t x34;
+    uint8_t x35;
+    uint8_t x36;
+    uint32_t x37;
+    uint8_t x38;
+    uint32_t x39;
+    uint8_t x40;
+    uint8_t x41;
+    uint8_t x42;
+    uint8_t x43;
+    uint32_t x44;
+    uint8_t x45;
+    uint32_t x46;
+    uint8_t x47;
+    uint8_t x48;
+    uint8_t x49;
+    uint8_t x50;
+    uint32_t x51;
+    uint8_t x52;
+    uint32_t x53;
+    uint8_t x54;
+    uint8_t x55;
+    uint8_t x56;
+    uint8_t x57;
+    uint32_t x58;
+    uint8_t x59;
+    uint32_t x60;
+    uint8_t x61;
+    uint8_t x62;
+    uint8_t x63;
+    x1 = (arg1[7]);
+    x2 = (arg1[6]);
+    x3 = (arg1[5]);
+    x4 = (arg1[4]);
+    x5 = (arg1[3]);
+    x6 = (arg1[2]);
+    x7 = (arg1[1]);
+    x8 = (arg1[0]);
+    x9 = (x8 >> 8);
+    x10 = (uint8_t)(x8 & UINT8_C(0xff));
+    x11 = (x9 >> 8);
+    x12 = (uint8_t)(x9 & UINT8_C(0xff));
+    x13 = (uint8_t)(x11 >> 8);
+    x14 = (uint8_t)(x11 & UINT8_C(0xff));
+    x15 = (uint8_t)(x13 & UINT8_C(0xff));
+    x16 = (x7 >> 8);
+    x17 = (uint8_t)(x7 & UINT8_C(0xff));
+    x18 = (x16 >> 8);
+    x19 = (uint8_t)(x16 & UINT8_C(0xff));
+    x20 = (uint8_t)(x18 >> 8);
+    x21 = (uint8_t)(x18 & UINT8_C(0xff));
+    x22 = (uint8_t)(x20 & UINT8_C(0xff));
+    x23 = (x6 >> 8);
+    x24 = (uint8_t)(x6 & UINT8_C(0xff));
+    x25 = (x23 >> 8);
+    x26 = (uint8_t)(x23 & UINT8_C(0xff));
+    x27 = (uint8_t)(x25 >> 8);
+    x28 = (uint8_t)(x25 & UINT8_C(0xff));
+    x29 = (uint8_t)(x27 & UINT8_C(0xff));
+    x30 = (x5 >> 8);
+    x31 = (uint8_t)(x5 & UINT8_C(0xff));
+    x32 = (x30 >> 8);
+    x33 = (uint8_t)(x30 & UINT8_C(0xff));
+    x34 = (uint8_t)(x32 >> 8);
+    x35 = (uint8_t)(x32 & UINT8_C(0xff));
+    x36 = (uint8_t)(x34 & UINT8_C(0xff));
+    x37 = (x4 >> 8);
+    x38 = (uint8_t)(x4 & UINT8_C(0xff));
+    x39 = (x37 >> 8);
+    x40 = (uint8_t)(x37 & UINT8_C(0xff));
+    x41 = (uint8_t)(x39 >> 8);
+    x42 = (uint8_t)(x39 & UINT8_C(0xff));
+    x43 = (uint8_t)(x41 & UINT8_C(0xff));
+    x44 = (x3 >> 8);
+    x45 = (uint8_t)(x3 & UINT8_C(0xff));
+    x46 = (x44 >> 8);
+    x47 = (uint8_t)(x44 & UINT8_C(0xff));
+    x48 = (uint8_t)(x46 >> 8);
+    x49 = (uint8_t)(x46 & UINT8_C(0xff));
+    x50 = (uint8_t)(x48 & UINT8_C(0xff));
+    x51 = (x2 >> 8);
+    x52 = (uint8_t)(x2 & UINT8_C(0xff));
+    x53 = (x51 >> 8);
+    x54 = (uint8_t)(x51 & UINT8_C(0xff));
+    x55 = (uint8_t)(x53 >> 8);
+    x56 = (uint8_t)(x53 & UINT8_C(0xff));
+    x57 = (uint8_t)(x55 & UINT8_C(0xff));
+    x58 = (x1 >> 8);
+    x59 = (uint8_t)(x1 & UINT8_C(0xff));
+    x60 = (x58 >> 8);
+    x61 = (uint8_t)(x58 & UINT8_C(0xff));
+    x62 = (uint8_t)(x60 >> 8);
+    x63 = (uint8_t)(x60 & UINT8_C(0xff));
+    out1[0] = x10;
+    out1[1] = x12;
+    out1[2] = x14;
+    out1[3] = x15;
+    out1[4] = x17;
+    out1[5] = x19;
+    out1[6] = x21;
+    out1[7] = x22;
+    out1[8] = x24;
+    out1[9] = x26;
+    out1[10] = x28;
+    out1[11] = x29;
+    out1[12] = x31;
+    out1[13] = x33;
+    out1[14] = x35;
+    out1[15] = x36;
+    out1[16] = x38;
+    out1[17] = x40;
+    out1[18] = x42;
+    out1[19] = x43;
+    out1[20] = x45;
+    out1[21] = x47;
+    out1[22] = x49;
+    out1[23] = x50;
+    out1[24] = x52;
+    out1[25] = x54;
+    out1[26] = x56;
+    out1[27] = x57;
+    out1[28] = x59;
+    out1[29] = x61;
+    out1[30] = x63;
+    out1[31] = x62;
+}
+
+/*
+ * The function fiat_id_GostR3410_2001_TestParamSet_from_bytes deserializes a field element in the Montgomery domain from bytes in little-endian order.
+ * Preconditions:
+ *   0 ≤ bytes_eval arg1 < m
+ * Postconditions:
+ *   eval out1 mod m = bytes_eval arg1 mod m
+ *   0 ≤ eval out1 < 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]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ */
+static void fiat_id_GostR3410_2001_TestParamSet_from_bytes(
+    uint32_t out1[8], const uint8_t arg1[32]) {
+    uint32_t x1;
+    uint32_t x2;
+    uint32_t x3;
+    uint8_t x4;
+    uint32_t x5;
+    uint32_t x6;
+    uint32_t x7;
+    uint8_t x8;
+    uint32_t x9;
+    uint32_t x10;
+    uint32_t x11;
+    uint8_t x12;
+    uint32_t x13;
+    uint32_t x14;
+    uint32_t x15;
+    uint8_t x16;
+    uint32_t x17;
+    uint32_t x18;
+    uint32_t x19;
+    uint8_t x20;
+    uint32_t x21;
+    uint32_t x22;
+    uint32_t x23;
+    uint8_t x24;
+    uint32_t x25;
+    uint32_t x26;
+    uint32_t x27;
+    uint8_t x28;
+    uint32_t x29;
+    uint32_t x30;
+    uint32_t x31;
+    uint8_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;
+    x1 = ((uint32_t)(arg1[31]) << 24);
+    x2 = ((uint32_t)(arg1[30]) << 16);
+    x3 = ((uint32_t)(arg1[29]) << 8);
+    x4 = (arg1[28]);
+    x5 = ((uint32_t)(arg1[27]) << 24);
+    x6 = ((uint32_t)(arg1[26]) << 16);
+    x7 = ((uint32_t)(arg1[25]) << 8);
+    x8 = (arg1[24]);
+    x9 = ((uint32_t)(arg1[23]) << 24);
+    x10 = ((uint32_t)(arg1[22]) << 16);
+    x11 = ((uint32_t)(arg1[21]) << 8);
+    x12 = (arg1[20]);
+    x13 = ((uint32_t)(arg1[19]) << 24);
+    x14 = ((uint32_t)(arg1[18]) << 16);
+    x15 = ((uint32_t)(arg1[17]) << 8);
+    x16 = (arg1[16]);
+    x17 = ((uint32_t)(arg1[15]) << 24);
+    x18 = ((uint32_t)(arg1[14]) << 16);
+    x19 = ((uint32_t)(arg1[13]) << 8);
+    x20 = (arg1[12]);
+    x21 = ((uint32_t)(arg1[11]) << 24);
+    x22 = ((uint32_t)(arg1[10]) << 16);
+    x23 = ((uint32_t)(arg1[9]) << 8);
+    x24 = (arg1[8]);
+    x25 = ((uint32_t)(arg1[7]) << 24);
+    x26 = ((uint32_t)(arg1[6]) << 16);
+    x27 = ((uint32_t)(arg1[5]) << 8);
+    x28 = (arg1[4]);
+    x29 = ((uint32_t)(arg1[3]) << 24);
+    x30 = ((uint32_t)(arg1[2]) << 16);
+    x31 = ((uint32_t)(arg1[1]) << 8);
+    x32 = (arg1[0]);
+    x33 = (x32 + (x31 + (x30 + x29)));
+    x34 = (x33 & UINT32_C(0xffffffff));
+    x35 = (x4 + (x3 + (x2 + x1)));
+    x36 = (x8 + (x7 + (x6 + x5)));
+    x37 = (x12 + (x11 + (x10 + x9)));
+    x38 = (x16 + (x15 + (x14 + x13)));
+    x39 = (x20 + (x19 + (x18 + x17)));
+    x40 = (x24 + (x23 + (x22 + x21)));
+    x41 = (x28 + (x27 + (x26 + x25)));
+    x42 = (x41 & UINT32_C(0xffffffff));
+    x43 = (x40 & UINT32_C(0xffffffff));
+    x44 = (x39 & UINT32_C(0xffffffff));
+    x45 = (x38 & UINT32_C(0xffffffff));
+    x46 = (x37 & UINT32_C(0xffffffff));
+    x47 = (x36 & UINT32_C(0xffffffff));
+    out1[0] = x34;
+    out1[1] = x42;
+    out1[2] = x43;
+    out1[3] = x44;
+    out1[4] = x45;
+    out1[5] = x46;
+    out1[6] = x47;
+    out1[7] = x35;
+}
+
+/* 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_GostR3410_2001_TestParamSet/fe_inv.op3
+ * sliding window w=5
+ */
+static void fiat_id_GostR3410_2001_TestParamSet_inv(fe_t output,
+                                                    const fe_t t1) {
+    int i;
+    /* temporary variables */
+    fe_t acc, t15;
+
+    fiat_id_GostR3410_2001_TestParamSet_square(acc, t1);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t15, t1, acc);
+    for (i = 0; i < 6; i++)
+        fiat_id_GostR3410_2001_TestParamSet_mul(t15, t15, acc);
+    fiat_id_GostR3410_2001_TestParamSet_square(acc, t1);
+    for (i = 0; i < 244; i++)
+        fiat_id_GostR3410_2001_TestParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_TestParamSet_mul(acc, acc, t1);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_TestParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_TestParamSet_mul(acc, acc, t1);
+    for (i = 0; i < 5; i++)
+        fiat_id_GostR3410_2001_TestParamSet_square(acc, acc);
+    fiat_id_GostR3410_2001_TestParamSet_mul(output, acc, t15);
+}
+
+/* curve coefficient constants */
+
+static const limb_t const_one[8] = {UINT32_C(0xFFFFFBCF), UINT32_C(0xFFFFFFFF),
+                                    UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
+                                    UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
+                                    UINT32_C(0xFFFFFFFF), UINT32_C(0x7FFFFFFF)};
+
+static const limb_t const_a[8] = {UINT32_C(0xFFFFC983), UINT32_C(0xFFFFFFFF),
+                                  UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
+                                  UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
+                                  UINT32_C(0xFFFFFFFF), UINT32_C(0x7FFFFFFF)};
+
+static const limb_t const_b3[8] = {UINT32_C(0x6AEAB71C), UINT32_C(0x81733EE9),
+                                   UINT32_C(0xFC4E6FC7), UINT32_C(0x00CD3D1C),
+                                   UINT32_C(0x75853407), UINT32_C(0x60AB503A),
+                                   UINT32_C(0x4556810A), UINT32_C(0x0A9EC8AE)};
+
+/* LUT for scalar multiplication by comb interleaving */
+static const pt_aff_t lut_cmb[27][16] = {
+    {
+        {{UINT32_C(0xFFFFF36D), UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
+          UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
+          UINT32_C(0xFFFFFFFF), UINT32_C(0x7FFFFFFF)},
+         {UINT32_C(0x471125F5), UINT32_C(0x9AF45A5A), UINT32_C(0xF69BF9AE),
+          UINT32_C(0x7CE5090A), UINT32_C(0xE4B6DDE6), UINT32_C(0x67617A63),
+          UINT32_C(0x4AA3DAA4), UINT32_C(0x03F66B35)}},
+        {{UINT32_C(0x149B5D15), UINT32_C(0xB39BDC16), UINT32_C(0x7309454F),
+          UINT32_C(0x87CE978A), UINT32_C(0x315A7A56), UINT32_C(0xD22F32EF),
+          UINT32_C(0xB69A6B57), UINT32_C(0x4C7DE232)},
+         {UINT32_C(0x466DC64D), UINT32_C(0x9E2DAF6D), UINT32_C(0x4B1C8A55),
+          UINT32_C(0x758C27B1), UINT32_C(0xBD647F1A), UINT32_C(0x74A0CB23),
+          UINT32_C(0x2C2F4C70), UINT32_C(0x27E74868)}},
+        {{UINT32_C(0x55A62594), UINT32_C(0xF2D8F32E), UINT32_C(0x36BC547A),
+          UINT32_C(0x8323D570), UINT32_C(0x98D4B25A), UINT32_C(0x497679EB),
+          UINT32_C(0xB87E0534), UINT32_C(0x061167F2)},
+         {UINT32_C(0x223E4DF8), UINT32_C(0xE1FFFDCE), UINT32_C(0xDCD891E9),
+          UINT32_C(0x7C83AE78), UINT32_C(0x3C1B95D0), UINT32_C(0x74398586),
+          UINT32_C(0x74B3F5AB), UINT32_C(0x11D73205)}},
+        {{UINT32_C(0xACB97F7C), UINT32_C(0x34B9C048), UINT32_C(0xE3B9BCC6),
+          UINT32_C(0x8232E73C), UINT32_C(0xDA2DB71D), UINT32_C(0x81F4B63F),
+          UINT32_C(0xA2DF4C84), UINT32_C(0x4EEE5393)},
+         {UINT32_C(0xAC469C69), UINT32_C(0xCA6E63AE), UINT32_C(0x428E4F01),
+          UINT32_C(0x27BC807C), UINT32_C(0x5F4EC124), UINT32_C(0x4A2C23BA),
+          UINT32_C(0xAAE2668B), UINT32_C(0x74847CFC)}},
+        {{UINT32_C(0x6716AF4E), UINT32_C(0x4435585F), UINT32_C(0x1CDB965F),
+          UINT32_C(0xB872D8B7), UINT32_C(0x746FFAD0), UINT32_C(0x662F1962),
+          UINT32_C(0xDB5D0187), UINT32_C(0x52761A24)},
+         {UINT32_C(0xA57E0E3D), UINT32_C(0xF6A09922), UINT32_C(0xA9C12B63),
+          UINT32_C(0x86C69342), UINT32_C(0x5AF190C5), UINT32_C(0x91FF20B6),
+          UINT32_C(0x4EEEE1AE), UINT32_C(0x10DB7A2A)}},
+        {{UINT32_C(0x74628B90), UINT32_C(0xBB464A53), UINT32_C(0x057A4F25),
+          UINT32_C(0x6E7A1227), UINT32_C(0x0B0FA41F), UINT32_C(0x4C309D69),
+          UINT32_C(0x77FE7B93), UINT32_C(0x75482607)},
+         {UINT32_C(0x0B612421), UINT32_C(0xF2583EC7), UINT32_C(0x5E2B15ED),
+          UINT32_C(0xFF2CFC83), UINT32_C(0x8CABC5CF), UINT32_C(0x1E97A7DB),
+          UINT32_C(0x925C149F), UINT32_C(0x1EC08FAA)}},
+        {{UINT32_C(0x0E9FCBA9), UINT32_C(0xBA0170E3), UINT32_C(0x70D9939B),
+          UINT32_C(0x8976DF7C), UINT32_C(0x21AF14DD), UINT32_C(0xEAE6E74B),
+          UINT32_C(0x0D0861F9), UINT32_C(0x09F09868)},
+         {UINT32_C(0x21A781FF), UINT32_C(0x4F7FE26E), UINT32_C(0xD73DCEF7),
+          UINT32_C(0x1725B8D0), UINT32_C(0x7E743498), UINT32_C(0x9DA63217),
+          UINT32_C(0x1B828B99), UINT32_C(0x0F51D42C)}},
+        {{UINT32_C(0x9AFE09BD), UINT32_C(0xBABB076B), UINT32_C(0x17C4050D),
+          UINT32_C(0x4AC89223), UINT32_C(0xDA3E57E8), UINT32_C(0xCA3EA6E3),
+          UINT32_C(0xA33242C0), UINT32_C(0x20AAA384)},
+         {UINT32_C(0xEF929BF5), UINT32_C(0x6D3A1F2D), UINT32_C(0xE751A62D),
+          UINT32_C(0xB34E2605), UINT32_C(0xB8CF1F99), UINT32_C(0xE1AC629F),
+          UINT32_C(0xF0BBA01A), UINT32_C(0x7152D4E3)}},
+        {{UINT32_C(0x943E5B8E), UINT32_C(0xA97A6CE3), UINT32_C(0x2D053A9D),
+          UINT32_C(0x1C0F6C7F), UINT32_C(0x64457DE4), UINT32_C(0x9D4A91DE),
+          UINT32_C(0xC6140057), UINT32_C(0x1E19EA8F)},
+         {UINT32_C(0x500995C8), UINT32_C(0xD4766CB6), UINT32_C(0xE70CD7EE),
+          UINT32_C(0xA019D41D), UINT32_C(0x7AB0A162), UINT32_C(0xBA1828AA),
+          UINT32_C(0x0B7A4E93), UINT32_C(0x0CACA063)}},
+        {{UINT32_C(0xA1B3FE03), UINT32_C(0x1E68315C), UINT32_C(0x1AAB6B20),
+          UINT32_C(0x21FB277E), UINT32_C(0x6A90FB22), UINT32_C(0x210305D7),
+          UINT32_C(0x2E51B9BC), UINT32_C(0x4C3D3EEA)},
+         {UINT32_C(0x89C3A2E8), UINT32_C(0xC5662C6D), UINT32_C(0x1712BF9B),
+          UINT32_C(0x66EA4818), UINT32_C(0x2254FBAB), UINT32_C(0x417F8F04),
+          UINT32_C(0xB057EEC1), UINT32_C(0x2F57DF29)}},
+        {{UINT32_C(0x6509AE4F), UINT32_C(0xF6975C9F), UINT32_C(0xDC89C220),
+          UINT32_C(0x58300438), UINT32_C(0x907FF785), UINT32_C(0xE81DA879),
+          UINT32_C(0x0910ED2F), UINT32_C(0x68D600E3)},
+         {UINT32_C(0xB43BF686), UINT32_C(0xFBB25113), UINT32_C(0x50A64FAE),
+          UINT32_C(0x8B391E3F), UINT32_C(0x3112B7ED), UINT32_C(0x8C1190D2),
+          UINT32_C(0xCCB4CA50), UINT32_C(0x617BCD41)}},
+        {{UINT32_C(0xDD780ACA), UINT32_C(0x75036E69), UINT32_C(0x6FBCD996),
+          UINT32_C(0xC90A01DE), UINT32_C(0x0C851CEF), UINT32_C(0x75E1A8E8),
+          UINT32_C(0xF71BDCC6), UINT32_C(0x7225D38A)},
+         {UINT32_C(0x868B78D2), UINT32_C(0x74AE6935), UINT32_C(0x1CDB5A1E),
+          UINT32_C(0xE70570F3), UINT32_C(0xBEBD2FA4), UINT32_C(0x3E700C48),
+          UINT32_C(0x325D3214), UINT32_C(0x3E483638)}},
+        {{UINT32_C(0xC0E6D8AD), UINT32_C(0x9F272CD5), UINT32_C(0xE09743A2),
+          UINT32_C(0x9E29687C), UINT32_C(0x93CD64B3), UINT32_C(0xBE0E0D59),
+          UINT32_C(0x504B58F0), UINT32_C(0x5D57A75D)},
+         {UINT32_C(0x5D44B092), UINT32_C(0x81A1A6E3), UINT32_C(0x310D7868),
+          UINT32_C(0x38AD0169), UINT32_C(0xCC297B73), UINT32_C(0xC8D3C9A6),
+          UINT32_C(0x908E0814), UINT32_C(0x34D98A19)}},
+        {{UINT32_C(0xE5A57E1F), UINT32_C(0xFFB946AD), UINT32_C(0x191B6C5F),
+          UINT32_C(0xF7EA0AA2), UINT32_C(0x8DF529C1), UINT32_C(0x52D07058),
+          UINT32_C(0x2AFDA727), UINT32_C(0x06B7BDE5)},
+         {UINT32_C(0x90658555), UINT32_C(0x651E6DC9), UINT32_C(0x1FC416CE),
+          UINT32_C(0x8F910D89), UINT32_C(0xCBF086D5), UINT32_C(0x0BA4D84E),
+          UINT32_C(0x0C4A4B4A), UINT32_C(0x73DA158C)}},
+        {{UINT32_C(0x521DB62C), UINT32_C(0xE22420A6), UINT32_C(0xBC90EB6F),
+          UINT32_C(0x8EBC1A21), UINT32_C(0xE50F6EB4), UINT32_C(0xE1529AAC),
+          UINT32_C(0x8BE235DB), UINT32_C(0x4025BF27)},
+         {UINT32_C(0x9FFE2B82), UINT32_C(0x40607710), UINT32_C(0x696B4634),
+          UINT32_C(0x7A6BB75B), UINT32_C(0x2B2F25D3), UINT32_C(0x0CEF27A9),
+          UINT32_C(0xCA0B7112), UINT32_C(0x6C9CFFD7)}},
+        {{UINT32_C(0xEDA5C43B), UINT32_C(0x12B39FF0), UINT32_C(0x54E0FE3F),
+          UINT32_C(0x2E1FC66C), UINT32_C(0x248A9167), UINT32_C(0xFB2DEA80),
+          UINT32_C(0x3B2BB322), UINT32_C(0x11BCDA10)},
+         {UINT32_C(0x16D2C928), UINT32_C(0xFDDF6E84), UINT32_C(0x36E887F4),
+          UINT32_C(0x99DDF6A1), UINT32_C(0x920092D6), UINT32_C(0x1E56D2F3),
+          UINT32_C(0x2D77AE5A), UINT32_C(0x67433BF4)}},
+    },
+    {
+        {{UINT32_C(0x321BFA62), UINT32_C(0x6C204DDC), UINT32_C(0x2F138A80),
+          UINT32_C(0xA96E42B8), UINT32_C(0xE3EC1A7D), UINT32_C(0x4C98E986),
+          UINT32_C(0x136CADC4), UINT32_C(0x223C8BC4)},
+         {UINT32_C(0xBA3CE54A), UINT32_C(0xFA9F15D3), UINT32_C(0x19963D88),
+          UINT32_C(0xA103B9D7), UINT32_C(0x2F811A21), UINT32_C(0x1ED23354),
+          UINT32_C(0x65A4E833), UINT32_C(0x64D6B14C)}},
+        {{UINT32_C(0xCFBD1039), UINT32_C(0x2485175C), UINT32_C(0x7C92D8EC),
+          UINT32_C(0xC4DAE65B), UINT32_C(0x1859FD47), UINT32_C(0x6FC70F54),
+          UINT32_C(0x33E8305C), UINT32_C(0x6D543444)},
+         {UINT32_C(0x944DDA07), UINT32_C(0x1A65FEC2), UINT32_C(0xEF375B21),
+          UINT32_C(0x7BCF8391), UINT32_C(0xBE4CD8D6), UINT32_C(0xDDCFC356),
+          UINT32_C(0x13850042), UINT32_C(0x4BF93B9E)}},
+        {{UINT32_C(0x88B7F950), UINT32_C(0xBDF7A56C), UINT32_C(0x81B8590E),
+          UINT32_C(0x3A60E5FC), UINT32_C(0x6F6E6807), UINT32_C(0x475B94D1),
+          UINT32_C(0x2F0D49A8), UINT32_C(0x2F1B9F06)},
+         {UINT32_C(0x2E6A01D3), UINT32_C(0x3C36DCF3), UINT32_C(0x30444003),
+          UINT32_C(0x807E1D5B), UINT32_C(0xFECF5768), UINT32_C(0xE3768486),
+          UINT32_C(0xEF12B5CC), UINT32_C(0x73C4D0CF)}},
+        {{UINT32_C(0xF4C6FF93), UINT32_C(0x9D76477C), UINT32_C(0xC5A1A495),
+          UINT32_C(0x03F16687), UINT32_C(0xB41748B2), UINT32_C(0x5071DA3D),
+          UINT32_C(0x971D6A7D), UINT32_C(0x0F3A3784)},
+         {UINT32_C(0x2785A782), UINT32_C(0x0B9A5AD6), UINT32_C(0x09FF09F9),
+          UINT32_C(0x957E72A0), UINT32_C(0xAE3CF5F4), UINT32_C(0x3072C1DC),
+          UINT32_C(0xCD9CFD7E), UINT32_C(0x63D463AC)}},
+        {{UINT32_C(0xC77B516C), UINT32_C(0xDA0DEE0B), UINT32_C(0xE6AA0E1F),
+          UINT32_C(0x446D7199), UINT32_C(0xBFFA705C), UINT32_C(0xCC0D1590),
+          UINT32_C(0xC35B59BA), UINT32_C(0x6A6FC81C)},
+         {UINT32_C(0x593E3EB9), UINT32_C(0x39DF210E), UINT32_C(0xD0DCC01F),
+          UINT32_C(0x17F331CE), UINT32_C(0xBD176C5B), UINT32_C(0x02E0E5EB),
+          UINT32_C(0x8A2D6290), UINT32_C(0x68946CCC)}},
+        {{UINT32_C(0x09ECFEF2), UINT32_C(0x8D1400D6), UINT32_C(0xE1E76A98),
+          UINT32_C(0x57D5F91B), UINT32_C(0xA12DFF8D), UINT32_C(0x5CF76130),
+          UINT32_C(0x61002939), UINT32_C(0x5C361922)},
+         {UINT32_C(0xFB0FE974), UINT32_C(0x8D45C8C1), UINT32_C(0xF942ED70),
+          UINT32_C(0x0C97725E), UINT32_C(0x73C5AA42), UINT32_C(0xB1C66498),
+          UINT32_C(0x7E203187), UINT32_C(0x4A121FC4)}},
+        {{UINT32_C(0xFCEDA76C), UINT32_C(0x58430EE3), UINT32_C(0xF5C88D62),
+          UINT32_C(0x3496699A), UINT32_C(0x14273E7E), UINT32_C(0x1C3FC811),
+          UINT32_C(0x1D6D67DA), UINT32_C(0x3E38E9FC)},
+         {UINT32_C(0xAB685B3B), UINT32_C(0xBB683EA4), UINT32_C(0xB0904BB3),
+          UINT32_C(0xB63F72B1), UINT32_C(0x47A75297), UINT32_C(0x5DFA23C5),
+          UINT32_C(0x38B59560), UINT32_C(0x09E80AA0)}},
+        {{UINT32_C(0x7F4D22FC), UINT32_C(0x7D8325C6), UINT32_C(0x8C2FA282),
+          UINT32_C(0xBFFB01B1), UINT32_C(0x4A89BE98), UINT32_C(0x01A037DC),
+          UINT32_C(0x84EA8C8A), UINT32_C(0x092F6525)},
+         {UINT32_C(0xC52FD518), UINT32_C(0x873D33DA), UINT32_C(0x44AFDD41),
+          UINT32_C(0x0A245B15), UINT32_C(0x98FA7FF5), UINT32_C(0x78993737),
+          UINT32_C(0x21D29087), UINT32_C(0x1BB48AD2)}},
+        {{UINT32_C(0x1A59313C), UINT32_C(0x00C97A99), UINT32_C(0x5CF9A6FF),
+          UINT32_C(0xBD4F29EE), UINT32_C(0xD839B62B), UINT32_C(0xEA59D87A),
+          UINT32_C(0x97CAB63C), UINT32_C(0x16F18F48)},
+         {UINT32_C(0x6F6C292F), UINT32_C(0xB339789A), UINT32_C(0xD005ABB2),
+          UINT32_C(0xEC52E644), UINT32_C(0xAE24DA46), UINT32_C(0xEEAC93C9),
+          UINT32_C(0xE5C43B4F), UINT32_C(0x0ECB9957)}},
+        {{UINT32_C(0x20561AF7), UINT32_C(0xD91B2202), UINT32_C(0x55F2CFB8),
+          UINT32_C(0xECA260DD), UINT32_C(0x17B91CCF), UINT32_C(0xF03A8C1D),
+          UINT32_C(0x64B35D9A), UINT32_C(0x55A0491F)},
+         {UINT32_C(0x1A2F8F39), UINT32_C(0x0A97E5CC), UINT32_C(0x23B1D80B),
+          UINT32_C(0x02C187D1), UINT32_C(0xDB9FBA1A), UINT32_C(0xA9C13D26),
+          UINT32_C(0xF8051F0D), UINT32_C(0x7CCDDBAC)}},
+        {{UINT32_C(0xED0E9DB8), UINT32_C(0x05CA8EA5), UINT32_C(0x53A8EA3F),
+          UINT32_C(0xE888079F), UINT32_C(0x9209BFA2), UINT32_C(0x6DDBC40D),
+          UINT32_C(0x80DCEAEA), UINT32_C(0x068E5BA9)},
+         {UINT32_C(0xB19D824B), UINT32_C(0xDB69D133), UINT32_C(0xE6A3A462),
+          UINT32_C(0x65154FB6), UINT32_C(0x020B2AC7), UINT32_C(0x9FCF733D),
+          UINT32_C(0xE1329315), UINT32_C(0x15178DDE)}},
+        {{UINT32_C(0x877EE476), UINT32_C(0x76F78865), UINT32_C(0x12B471BA),
+          UINT32_C(0x5824EACC), UINT32_C(0xBBB640A8), UINT32_C(0x71BDFADF),
+          UINT32_C(0x9A631D09), UINT32_C(0x5181B08F)},
+         {UINT32_C(0xFFE978E8), UINT32_C(0x2913CCA5), UINT32_C(0xAEB89AA6),
+          UINT32_C(0x9CEF3612), UINT32_C(0xE02AD6DC), UINT32_C(0x93BB373E),
+          UINT32_C(0x04144769), UINT32_C(0x5D7984F0)}},
+        {{UINT32_C(0x4F98D2C3), UINT32_C(0x3219DB07), UINT32_C(0xBD40ACCC),
+          UINT32_C(0xE3EF888F), UINT32_C(0x31124C73), UINT32_C(0x07A30E3A),
+          UINT32_C(0xB070C53F), UINT32_C(0x5D9C820B)},
+         {UINT32_C(0xDA0661AB), UINT32_C(0x94D41768), UINT32_C(0x21FF87EB),
+          UINT32_C(0x27FC2661), UINT32_C(0xFF17A977), UINT32_C(0xB8DCBC7F),
+          UINT32_C(0x392EB13D), UINT32_C(0x71F75FF9)}},
+        {{UINT32_C(0x9AD71AB0), UINT32_C(0xC5CED56C), UINT32_C(0x39D6C9F1),
+          UINT32_C(0xE744EAB0), UINT32_C(0x839BD904), UINT32_C(0x6E49B00B),
+          UINT32_C(0xD7003054), UINT32_C(0x0C0EDE2C)},
+         {UINT32_C(0x1A6A1BB7), UINT32_C(0x792C3F80), UINT32_C(0x4B2C7885),
+          UINT32_C(0x6E5093B1), UINT32_C(0x13EA65F7), UINT32_C(0x28873209),
+          UINT32_C(0xF381C851), UINT32_C(0x085A2697)}},
+        {{UINT32_C(0xDA60A255), UINT32_C(0x84FC6B9D), UINT32_C(0x4B495BC6),
+          UINT32_C(0x12397EED), UINT32_C(0x71A5AA87), UINT32_C(0x4881DF6B),
+          UINT32_C(0x9572CFE2), UINT32_C(0x57BB3259)},
+         {UINT32_C(0x3A10A65F), UINT32_C(0x30677759), UINT32_C(0xDB1758DD),
+          UINT32_C(0x670B82EC), UINT32_C(0xD57B513E), UINT32_C(0xD84F3E8F),
+          UINT32_C(0x89088E78), UINT32_C(0x617A512A)}},
+        {{UINT32_C(0xAE3D7707), UINT32_C(0x83971322), UINT32_C(0x6D34D0B4),
+          UINT32_C(0x66563CDE), UINT32_C(0xC13309ED), UINT32_C(0x95342D9B),
+          UINT32_C(0x082A5887), UINT32_C(0x62C2B1B6)},
+         {UINT32_C(0xC3C27158), UINT32_C(0xD94A8712), UINT32_C(0xA844BF60),
+          UINT32_C(0xDE2C9C9D), UINT32_C(0xCE3E4F3C), UINT32_C(0xDE897386),
+          UINT32_C(0x6ACEBDF1), UINT32_C(0x2C22A82E)}},
+    },
+    {
+        {{UINT32_C(0x0604E200), UINT32_C(0x2755028A), UINT32_C(0x44189101),
+          UINT32_C(0xADE23A7D), UINT32_C(0xF0B7F9B7), UINT32_C(0xA6E418F4),
+          UINT32_C(0x212EDC2A), UINT32_C(0x036F5503)},
+         {UINT32_C(0x3F5E0456), UINT32_C(0xE069D06A), UINT32_C(0x0F37F2D8),
+          UINT32_C(0x2FAFF7C8), UINT32_C(0x7F5EDE53), UINT32_C(0xFF08E879),
+          UINT32_C(0x797E0427), UINT32_C(0x7F97725D)}},
+        {{UINT32_C(0xB32E5B1B), UINT32_C(0xE44E39C1), UINT32_C(0xAD3EC706),
+          UINT32_C(0x25CD4614), UINT32_C(0xE382C5D2), UINT32_C(0x2E97B090),
+          UINT32_C(0xB00D79F2), UINT32_C(0x3E1A1F6B)},
+         {UINT32_C(0xC2375837), UINT32_C(0x27573C4E), UINT32_C(0x6C8D5CCD),
+          UINT32_C(0xAD53D2C8), UINT32_C(0xFC09725A), UINT32_C(0x94EE5460),
+          UINT32_C(0x02DD0DF4), UINT32_C(0x6E592506)}},
+        {{UINT32_C(0x3D0C7AC4), UINT32_C(0x6CFFA4BF), UINT32_C(0x69ED4317),
+          UINT32_C(0x663B1218), UINT32_C(0xC79AD5C1), UINT32_C(0x933094F6),
+          UINT32_C(0xFFC54767), UINT32_C(0x569F37ED)},
+         {UINT32_C(0x1F338782), UINT32_C(0x954EEE0C), UINT32_C(0xA46CA276),
+          UINT32_C(0x5BE69673), UINT32_C(0x20CB26DC), UINT32_C(0x77BA0009),
+          UINT32_C(0x029316AE), UINT32_C(0x2211CAC3)}},
+        {{UINT32_C(0x184EBD7C), UINT32_C(0xC8DEF3CB), UINT32_C(0x6A4DB0A0),
+          UINT32_C(0x39337050), UINT32_C(0x0BE1D82C), UINT32_C(0x6FF7993A),
+          UINT32_C(0xFC9252C0), UINT32_C(0x01D7674A)},
+         {UINT32_C(0xF62D9268), UINT32_C(0xB10BA727), UINT32_C(0x817B687B),
+          UINT32_C(0x6E2338D8), UINT32_C(0xE47405F1), UINT32_C(0x266443F2),
+          UINT32_C(0x6872B879), UINT32_C(0x6A1BD9CE)}},
+        {{UINT32_C(0x2B2BD346), UINT32_C(0x19213765), UINT32_C(0xE2ACFB8E),
+          UINT32_C(0x962CA22C), UINT32_C(0x62FECDE1), UINT32_C(0x518CF45D),
+          UINT32_C(0xA13D9E8D), UINT32_C(0x529AE629)},
+         {UINT32_C(0xBB69D5E3), UINT32_C(0xAF796DB0), UINT32_C(0xD4E596B7),
+          UINT32_C(0xA064209D), UINT32_C(0x47942C73), UINT32_C(0x9F3DFD4A),
+          UINT32_C(0x7810D5EC), UINT32_C(0x7FAB6C6D)}},
+        {{UINT32_C(0x66A3B287), UINT32_C(0x55D15250), UINT32_C(0xEEFDDC75),
+          UINT32_C(0x1ECC6A20), UINT32_C(0x26DE8C01), UINT32_C(0xF683FA60),
+          UINT32_C(0x9FBA658C), UINT32_C(0x4F5DE2A6)},
+         {UINT32_C(0xC66D82F4), UINT32_C(0xE748D78A), UINT32_C(0x3B24C76B),
+          UINT32_C(0x2BA525EF), UINT32_C(0x30EE69CE), UINT32_C(0x5A9539E6),
+          UINT32_C(0xB7861B2D), UINT32_C(0x2DA4C4C2)}},
+        {{UINT32_C(0x820743E6), UINT32_C(0x9D1E982D), UINT32_C(0xAB0CC42D),
+          UINT32_C(0x705D9237), UINT32_C(0x47C4E7D7), UINT32_C(0xBDD01663),
+          UINT32_C(0xF8E69896), UINT32_C(0x3D48EE78)},
+         {UINT32_C(0x41132782), UINT32_C(0x7A822BCD), UINT32_C(0xEE46F715),
+          UINT32_C(0xBD41BEFA), UINT32_C(0xD0B2F4B0), UINT32_C(0x8E5C3B5F),
+          UINT32_C(0x5E47ED55), UINT32_C(0x690A53D4)}},
+        {{UINT32_C(0x65A40E44), UINT32_C(0x390536C1), UINT32_C(0x1C92235C),
+          UINT32_C(0x4B4D7970), UINT32_C(0x8B7389E4), UINT32_C(0xCAC27084),
+          UINT32_C(0x19041D01), UINT32_C(0x7B5B23B2)},
+         {UINT32_C(0x3B5FD5BA), UINT32_C(0x7C18B973), UINT32_C(0x84B72217),
+          UINT32_C(0xFD14865D), UINT32_C(0x267EDE4C), UINT32_C(0x5592547E),
+          UINT32_C(0x8B369753), UINT32_C(0x22DB62E5)}},
+        {{UINT32_C(0xDDF15BDD), UINT32_C(0x06083D33), UINT32_C(0x361925F5),
+          UINT32_C(0x5766555F), UINT32_C(0xB7ACDEA7), UINT32_C(0xECC0F110),
+          UINT32_C(0x0A3453B5), UINT32_C(0x3E3F1B27)},
+         {UINT32_C(0x6F7B980D), UINT32_C(0x5A8B7DF9), UINT32_C(0xB44756AC),
+          UINT32_C(0xEBA90E39), UINT32_C(0xAC9A7DB2), UINT32_C(0x954D7ECD),
+          UINT32_C(0x28EA7151), UINT32_C(0x43F688D3)}},
+        {{UINT32_C(0x4638EFAE), UINT32_C(0x51F64569), UINT32_C(0x3D28BF3C),
+          UINT32_C(0x5840A5DB), UINT32_C(0x134D3E8F), UINT32_C(0xDD486261),
+          UINT32_C(0x7B6B466B), UINT32_C(0x09F17E2C)},
+         {UINT32_C(0x78ED7016), UINT32_C(0x30D35463), UINT32_C(0xB86D8508),
+          UINT32_C(0x342E9701), UINT32_C(0x42B19533), UINT32_C(0xA3FF6565),
+          UINT32_C(0x061A4A81), UINT32_C(0x4405F02C)}},
+        {{UINT32_C(0x3D3AAF1E), UINT32_C(0x15C921C0), UINT32_C(0x7D297559),
+          UINT32_C(0x2DD720C7), UINT32_C(0xCB80E3B2), UINT32_C(0x93A07904),
+          UINT32_C(0x6B1EDB93), UINT32_C(0x427C610B)},
+         {UINT32_C(0xF61E2F41), UINT32_C(0xD2CE818F), UINT32_C(0x8252FB3C),
+          UINT32_C(0x1DA53421), UINT32_C(0xED07538F), UINT32_C(0x37A4A997),
+          UINT32_C(0x962454F2), UINT32_C(0x48A928BF)}},
+        {{UINT32_C(0x7A420273), UINT32_C(0x65091E4D), UINT32_C(0xE54C0B47),
+          UINT32_C(0x6AF382AF), UINT32_C(0x8047A423), UINT32_C(0x150DAB08),
+          UINT32_C(0x45BD197C), UINT32_C(0x22C3740A)},
+         {UINT32_C(0xE07C3468), UINT32_C(0x64429AA0), UINT32_C(0x7B37FE10),
+          UINT32_C(0xC506B8C9), UINT32_C(0x3CC5062C), UINT32_C(0x30E2FE78),
+          UINT32_C(0xA9242F2D), UINT32_C(0x2F3B5A5F)}},
+        {{UINT32_C(0x5A40BCA1), UINT32_C(0x2619A3B2), UINT32_C(0x118C2FEA),
+          UINT32_C(0xD012DF23), UINT32_C(0xB73FE15C), UINT32_C(0x2868C8B7),
+          UINT32_C(0xEB10B475), UINT32_C(0x45A9CC5A)},
+         {UINT32_C(0x069050AD), UINT32_C(0x7111AB75), UINT32_C(0xEC2398A9),
+          UINT32_C(0x0665182B), UINT32_C(0x9B86A240), UINT32_C(0xD9A5126E),
+          UINT32_C(0x40E2AED6), UINT32_C(0x601CF0E0)}},
+        {{UINT32_C(0xF48C8655), UINT32_C(0xE74C9DCD), UINT32_C(0x900E89D5),
+          UINT32_C(0xEE703CA8), UINT32_C(0x5390F052), UINT32_C(0x6C2DFF8B),
+          UINT32_C(0x1316CC4C), UINT32_C(0x08588E89)},
+         {UINT32_C(0x47E80C87), UINT32_C(0x0F2CC83A), UINT32_C(0xD87824E4),
+          UINT32_C(0x23DE34CF), UINT32_C(0x541FE8F9), UINT32_C(0xC530AF41),
+          UINT32_C(0xD142F1C0), UINT32_C(0x0BF01DC0)}},
+        {{UINT32_C(0x886C0C4A), UINT32_C(0x210B0B1E), UINT32_C(0x9C56A126),
+          UINT32_C(0x66369DF1), UINT32_C(0xEAC22A5E), UINT32_C(0x5D79AE81),
+          UINT32_C(0xD16F7DB6), UINT32_C(0x4E6C67D4)},
+         {UINT32_C(0x247CDE60), UINT32_C(0x274572F6), UINT32_C(0x54E8454B),
+          UINT32_C(0xF3C92AC7), UINT32_C(0xF08C32D1), UINT32_C(0x784EC1A1),
+          UINT32_C(0xE1FE9C4E), UINT32_C(0x222716D8)}},
+        {{UINT32_C(0x3FB1DB1E), UINT32_C(0xAF6AEF5D), UINT32_C(0xC4C2A4D8),
+          UINT32_C(0xB8B55842), UINT32_C(0xCA5AB578), UINT32_C(0x258A2F44),
+          UINT32_C(0x7D8B2D70), UINT32_C(0x558A803F)},
+         {UINT32_C(0x7E0247A3), UINT32_C(0x9A7345C3), UINT32_C(0xB4D920B1),
+          UINT32_C(0x4E5A6904), UINT32_C(0x76BCBBE1), UINT32_C(0xCF7FAA41),
+          UINT32_C(0xEE112271), UINT32_C(0x66CF993F)}},
+    },
+    {
+        {{UINT32_C(0x84D2C56B), UINT32_C(0xDE7D208F), UINT32_C(0xDDA20F33),
+          UINT32_C(0xD1C77403), UINT32_C(0x9A6F337A), UINT32_C(0xB73FDC09),
+          UINT32_C(0x40CD2CBD), UINT32_C(0x1B2A3807)},
+         {UINT32_C(0x65988D73), UINT32_C(0xB642FA2C), UINT32_C(0x059DAB8E),
+          UINT32_C(0x117E75BC), UINT32_C(0xD6B279AA), UINT32_C(0xC7E2E935),
+          UINT32_C(0xEEA2A445), UINT32_C(0x5EEB9654)}},
+        {{UINT32_C(0xA59D7A2A), UINT32_C(0xA84747C0), UINT32_C(0x1004C5B8),
+          UINT32_C(0x4478AD4A), UINT32_C(0xA22DE791), UINT32_C(0xF55C2B1B),
+          UINT32_C(0x23F8F89F), UINT32_C(0x2FF6097D)},
+         {UINT32_C(0xE117BC40), UINT32_C(0xD079C875), UINT32_C(0x03CB43DD),
+          UINT32_C(0x14AEA360), UINT32_C(0x0A20D653), UINT32_C(0x8C730D89),
+          UINT32_C(0x02FD02D8), UINT32_C(0x6956274A)}},
+        {{UINT32_C(0xD46293CF), UINT32_C(0x9F5D0E9D), UINT32_C(0xF0D93AB7),
+          UINT32_C(0x53748DD4), UINT32_C(0xB9C37CF0), UINT32_C(0x6F81339F),
+          UINT32_C(0xF4B041FC), UINT32_C(0x00B8677A)},
+         {UINT32_C(0xB5A6FE97), UINT32_C(0xF76E0FFE), UINT32_C(0xF7D198A2),
+          UINT32_C(0x6D3C71F5), UINT32_C(0x11420372), UINT32_C(0xF91E8408),
+          UINT32_C(0x70036AED), UINT32_C(0x36F9F354)}},
+        {{UINT32_C(0x5D446956), UINT32_C(0x503AF4F2), UINT32_C(0x2DC9777C),
+          UINT32_C(0xCA08C537), UINT32_C(0xE1308D3A), UINT32_C(0xDB4BA888),
+          UINT32_C(0x01DB98CB), UINT32_C(0x01EA28EA)},
+         {UINT32_C(0xA7DF5FE0), UINT32_C(0x27CC52A9), UINT32_C(0x7DE31E0A),
+          UINT32_C(0x7DA5186B), UINT32_C(0xF136FAD5), UINT32_C(0x63E32889),
+          UINT32_C(0xA363AF23), UINT32_C(0x1BB010A8)}},
+        {{UINT32_C(0xC0FE56C9), UINT32_C(0x65828B54), UINT32_C(0x4ED3935A),
+          UINT32_C(0x7322CD51), UINT32_C(0x37B4A727), UINT32_C(0x42F068F4),
+          UINT32_C(0xB4C02BE4), UINT32_C(0x7AA9F9F0)},
+         {UINT32_C(0xDEBB2DD4), UINT32_C(0xBB77851A), UINT32_C(0xD105B81F),
+          UINT32_C(0x7757D5F6), UINT32_C(0x52FA1512), UINT32_C(0x7805369C),
+          UINT32_C(0x38B6976A), UINT32_C(0x4CBC43AE)}},
+        {{UINT32_C(0x4096725B), UINT32_C(0x24FE8ABD), UINT32_C(0x3895D1E2),
+          UINT32_C(0xC3FAC73A), UINT32_C(0x006A2360), UINT32_C(0xBCAF7757),
+          UINT32_C(0xC03EBB33), UINT32_C(0x75AE96AD)},
+         {UINT32_C(0x0BD1FB6F), UINT32_C(0x31074478), UINT32_C(0xEA386CBE),
+          UINT32_C(0x729E8E6A), UINT32_C(0x4845AAEC), UINT32_C(0xA8BBCC0B),
+          UINT32_C(0xE6582656), UINT32_C(0x1A0A2D19)}},
+        {{UINT32_C(0x69BD55F7), UINT32_C(0x332BC9BD), UINT32_C(0xEFB6F780),
+          UINT32_C(0x93D987E2), UINT32_C(0x14381F4D), UINT32_C(0xE57DE096),
+          UINT32_C(0xFF01C4D9), UINT32_C(0x7BDF4217)},
+         {UINT32_C(0x1956BF02), UINT32_C(0x2A07C4AB), UINT32_C(0x553823D9),
+          UINT32_C(0x7C7B3684), UINT32_C(0xD40F600C), UINT32_C(0x8F750E8E),
+          UINT32_C(0x9693A3C3), UINT32_C(0x63F253E9)}},
+        {{UINT32_C(0xC62CE42B), UINT32_C(0x250ED8BF), UINT32_C(0xE70674E1),
+          UINT32_C(0xE8A1A295), UINT32_C(0x163A92F1), UINT32_C(0x05ED093D),
+          UINT32_C(0x628969A0), UINT32_C(0x515FF44B)},
+         {UINT32_C(0x41CE3AF8), UINT32_C(0xF617DF03), UINT32_C(0xF9E60202),
+          UINT32_C(0xCADE131A), UINT32_C(0x363B87E9), UINT32_C(0xFE83C379),
+          UINT32_C(0x493EF65F), UINT32_C(0x7196A80B)}},
+        {{UINT32_C(0xD7A2047B), UINT32_C(0x4B176FE6), UINT32_C(0x41DCA514),
+          UINT32_C(0x6981D182), UINT32_C(0xDC74AC2E), UINT32_C(0xDDC7EE8E),
+          UINT32_C(0x85CC07D1), UINT32_C(0x3A95A203)},
+         {UINT32_C(0x841E3200), UINT32_C(0x8D4BA2D8), UINT32_C(0x5F654197),
+          UINT32_C(0x837DDD9B), UINT32_C(0xFBFE4D06), UINT32_C(0x388D358E),
+          UINT32_C(0x61143A85), UINT32_C(0x562DE2F2)}},
+        {{UINT32_C(0xCFACB903), UINT32_C(0x3BA1F6E5), UINT32_C(0xBD97A3A2),
+          UINT32_C(0xB5BBA41F), UINT32_C(0xCFCF2547), UINT32_C(0xB86F117F),
+          UINT32_C(0x3D9A13DB), UINT32_C(0x50642859)},
+         {UINT32_C(0x7B5F2A8F), UINT32_C(0xC15C82AE), UINT32_C(0xEF89351E),
+          UINT32_C(0x47E772DD), UINT32_C(0xCAAC4CC7), UINT32_C(0x78C53901),
+          UINT32_C(0x68D72131), UINT32_C(0x6B0F5D30)}},
+        {{UINT32_C(0xA0B407E6), UINT32_C(0x47E17734), UINT32_C(0x34949A81),
+          UINT32_C(0x29E06830), UINT32_C(0xCB1AC772), UINT32_C(0x63D83340),
+          UINT32_C(0xEB84F909), UINT32_C(0x178A6DD6)},
+         {UINT32_C(0x3C27D7BA), UINT32_C(0xA9E94826), UINT32_C(0xDB027A4C),
+          UINT32_C(0xC86AF96D), UINT32_C(0x56D5DF86), UINT32_C(0xE7D04E34),
+          UINT32_C(0x2E8D0EE3), UINT32_C(0x7212EAC2)}},
+        {{UINT32_C(0x8A75F66B), UINT32_C(0xE7E5AA64), UINT32_C(0x8CFD9597),
+          UINT32_C(0x7E86B6AA), UINT32_C(0x834C0271), UINT32_C(0x1B7DDE0C),
+          UINT32_C(0xD4AD306F), UINT32_C(0x397EAF2A)},
+         {UINT32_C(0x1657E32B), UINT32_C(0x0A357906), UINT32_C(0x4957B3AF),
+          UINT32_C(0xAAEB2DCF), UINT32_C(0x69D3CEE9), UINT32_C(0x1C0CBD02),
+          UINT32_C(0x5A6E7D53), UINT32_C(0x7434EC32)}},
+        {{UINT32_C(0x85559E86), UINT32_C(0xEB5878F7), UINT32_C(0x4A09C168),
+          UINT32_C(0xB9555F70), UINT32_C(0x80501134), UINT32_C(0xBFFAC5DB),
+          UINT32_C(0x05B53160), UINT32_C(0x4CDBF53A)},
+         {UINT32_C(0x5F90344B), UINT32_C(0x1413BA29), UINT32_C(0xD0DD0CFD),
+          UINT32_C(0xC6A9D1ED), UINT32_C(0xA0C31B73), UINT32_C(0x8C56AA29),
+          UINT32_C(0xF4E58E08), UINT32_C(0x1C9B0B61)}},
+        {{UINT32_C(0x0E2F595A), UINT32_C(0xBF8D2237), UINT32_C(0xCBA13CD8),
+          UINT32_C(0x7A646816), UINT32_C(0x5CD728B6), UINT32_C(0xBD2E93A1),
+          UINT32_C(0x07CF9009), UINT32_C(0x30FDF85C)},
+         {UINT32_C(0x06122B98), UINT32_C(0x3496D949), UINT32_C(0x5A80B3AF),
+          UINT32_C(0xE63EC741), UINT32_C(0x82838A44), UINT32_C(0xA2A39CF7),
+          UINT32_C(0xC015E1D4), UINT32_C(0x4A064F99)}},
+        {{UINT32_C(0x456CB242), UINT32_C(0x9CCDF95B), UINT32_C(0x6F4517DC),
+          UINT32_C(0xDA1CB24E), UINT32_C(0x931A1115), UINT32_C(0x60450E0F),
+          UINT32_C(0xB5680A8D), UINT32_C(0x6780D774)},
+         {UINT32_C(0x1FDA4243), UINT32_C(0xAFE48DCD), UINT32_C(0xAE9733C7),
+          UINT32_C(0x6BDD541C), UINT32_C(0xD79D1D52), UINT32_C(0xCBBCC69C),
+          UINT32_C(0x1A513B3E), UINT32_C(0x334F4F67)}},
+        {{UINT32_C(0xDF49E1A0), UINT32_C(0xCE7712C4), UINT32_C(0xE0B96135),
+          UINT32_C(0xB5444862), UINT32_C(0xF050D010), UINT32_C(0x10564C4B),
+          UINT32_C(0xFEBEFCC8), UINT32_C(0x0531AEC8)},
+         {UINT32_C(0x70DF6D29), UINT32_C(0xD45B4BE7), UINT32_C(0x6829054E),
+          UINT32_C(0x1ACC2D70), UINT32_C(0x54E56E05), UINT32_C(0x9744CDE1),
+          UINT32_C(0x6EE02696), UINT32_C(0x3C5DE93E)}},
+    },
+    {
+        {{UINT32_C(0x3951B674), UINT32_C(0xF43A2B99), UINT32_C(0x5E72FC98),
+          UINT32_C(0xE82789E8), UINT32_C(0x86992601), UINT32_C(0x2AD48436),
+          UINT32_C(0x01A2B65A), UINT32_C(0x3FDEB172)},
+         {UINT32_C(0x3666322B), UINT32_C(0x926B4839), UINT32_C(0x44B3FDB7),
+          UINT32_C(0x68847D5C), UINT32_C(0xF2F5E247), UINT32_C(0xD06C450D),
+          UINT32_C(0xBBA7C892), UINT32_C(0x0CEC0646)}},
+        {{UINT32_C(0x61F9C9DA), UINT32_C(0x76446D26), UINT32_C(0xAC60376F),
+          UINT32_C(0xEF2C7B98), UINT32_C(0x2410C057), UINT32_C(0xEEA8CABE),
+          UINT32_C(0x3672A2B6), UINT32_C(0x4C2CE2A7)},
+         {UINT32_C(0x12879BA5), UINT32_C(0x3F770945), UINT32_C(0xAD913022),
+          UINT32_C(0x719D5BD0), UINT32_C(0x36D445A4), UINT32_C(0x28A82DD9),
+          UINT32_C(0x965965AA), UINT32_C(0x26382C23)}},
+        {{UINT32_C(0xB8AA8419), UINT32_C(0x66709D92), UINT32_C(0x0AB5C241),
+          UINT32_C(0xFAEFF2E4), UINT32_C(0x1DD46DEB), UINT32_C(0xABB7C5DD),
+          UINT32_C(0x39DB6CB5), UINT32_C(0x7DD03C33)},
+         {UINT32_C(0x9E160F01), UINT32_C(0x76CDD1EA), UINT32_C(0x81C5CA37),
+          UINT32_C(0x00598D56), UINT32_C(0x241772EC), UINT32_C(0x16D23B04),
+          UINT32_C(0x52A6B807), UINT32_C(0x5132B028)}},
+        {{UINT32_C(0xCC041445), UINT32_C(0x6D48D4B5), UINT32_C(0x1528DF63),
+          UINT32_C(0x0B1CD923), UINT32_C(0x4A815F60), UINT32_C(0x82EE4DC6),
+          UINT32_C(0x0451E242), UINT32_C(0x29DA6059)},
+         {UINT32_C(0x17A8A6D0), UINT32_C(0xCD90BFB0), UINT32_C(0x52A7FC3D),
+          UINT32_C(0x8BCF4392), UINT32_C(0x1974860C), UINT32_C(0x49AD55F2),
+          UINT32_C(0x5EDCB1D2), UINT32_C(0x20BBF010)}},
+        {{UINT32_C(0xA8F6C08C), UINT32_C(0xB4F0EA84), UINT32_C(0xD50164F3),
+          UINT32_C(0x4341BEA7), UINT32_C(0x06320C0F), UINT32_C(0xE5389019),
+          UINT32_C(0x8BA6F033), UINT32_C(0x69D4851A)},
+         {UINT32_C(0x77902045), UINT32_C(0x1CE58660), UINT32_C(0xBD8579B3),
+          UINT32_C(0xF3B88D85), UINT32_C(0x4FB0A17B), UINT32_C(0xF84FF63A),
+          UINT32_C(0xDE6581BF), UINT32_C(0x09EE62EE)}},
+        {{UINT32_C(0x7C0516DE), UINT32_C(0x8B8C15B5), UINT32_C(0xA530B89F),
+          UINT32_C(0x3B448FC3), UINT32_C(0x500B0251), UINT32_C(0xE385BBE5),
+          UINT32_C(0xED70804B), UINT32_C(0x5F643F85)},
+         {UINT32_C(0x239E85A5), UINT32_C(0x550D9B7D), UINT32_C(0x8666E41F),
+          UINT32_C(0xDC910B5B), UINT32_C(0x7D4E390F), UINT32_C(0x65522181),
+          UINT32_C(0x3162FE10), UINT32_C(0x5DD2D3E8)}},
+        {{UINT32_C(0xDF024A25), UINT32_C(0x59609390), UINT32_C(0x08CCBA91),
+          UINT32_C(0xE66A77E9), UINT32_C(0x65E24DB6), UINT32_C(0xC5CEA91A),
+          UINT32_C(0x3DCEA0A7), UINT32_C(0x0888DFB5)},
+         {UINT32_C(0x92FA0754), UINT32_C(0x8C8E58CC), UINT32_C(0xF7DC9538),
+          UINT32_C(0x99C259AB), UINT32_C(0x9BEFE750), UINT32_C(0x3A06D8ED),
+          UINT32_C(0xFAACDC97), UINT32_C(0x71AF22E1)}},
+        {{UINT32_C(0x250AC059), UINT32_C(0xCC41D094), UINT32_C(0x3BE3DA01),
+          UINT32_C(0xCD792A73), UINT32_C(0xCC61EFE1), UINT32_C(0x2DA07802),
+          UINT32_C(0x57053A5D), UINT32_C(0x293AFB08)},
+         {UINT32_C(0x2FD8A8A0), UINT32_C(0x3E7E4884), UINT32_C(0x0B9B48D3),
+          UINT32_C(0x183FA500), UINT32_C(0x431AACF6), UINT32_C(0x9CAC07BE),
+          UINT32_C(0x2DF89F10), UINT32_C(0x4F82D799)}},
+        {{UINT32_C(0x0A84935C), UINT32_C(0xFD9F61A8), UINT32_C(0xBB5A7E56),
+          UINT32_C(0x78B948D0), UINT32_C(0x0ACCEEB3), UINT32_C(0xDA478766),
+          UINT32_C(0x53C3851D), UINT32_C(0x47BDAE44)},
+         {UINT32_C(0x0CFE8D0D), UINT32_C(0x5AE2C60C), UINT32_C(0x1D8A79C9),
+          UINT32_C(0xAC8F79B3), UINT32_C(0x0A79CA31), UINT32_C(0xA958C15E),
+          UINT32_C(0xF0952018), UINT32_C(0x1C46E20E)}},
+        {{UINT32_C(0xF04AC529), UINT32_C(0xAE552ECE), UINT32_C(0xE2BFEFBC),
+          UINT32_C(0xB295B601), UINT32_C(0x54733412), UINT32_C(0xECC1EE55),
+          UINT32_C(0x12282094), UINT32_C(0x28BCBA53)},
+         {UINT32_C(0x50B25069), UINT32_C(0x306C0781), UINT32_C(0xE9A18FFE),
+          UINT32_C(0x10D5D23C), UINT32_C(0x1BD5489F), UINT32_C(0xC34FC5C7),
+          UINT32_C(0xE191867D), UINT32_C(0x2B610028)}},
+        {{UINT32_C(0x3E17E84D), UINT32_C(0x458A1CC1), UINT32_C(0x5D7CFB98),
+          UINT32_C(0x6EAE343D), UINT32_C(0x101F0B7E), UINT32_C(0xC6E0FDAA),
+          UINT32_C(0x2A023288), UINT32_C(0x0B9F7C2C)},
+         {UINT32_C(0x6F3FCAA0), UINT32_C(0xBEA893A8), UINT32_C(0x452B07C0),
+          UINT32_C(0x7D711B2B), UINT32_C(0x98E2C88D), UINT32_C(0x28958737),
+          UINT32_C(0xDFD99A2A), UINT32_C(0x553A0180)}},
+        {{UINT32_C(0x0DBA5986), UINT32_C(0x8D617BE8), UINT32_C(0x13D18594),
+          UINT32_C(0xDB763C14), UINT32_C(0xD2DAD82F), UINT32_C(0x822CB0DA),
+          UINT32_C(0x93239947), UINT32_C(0x37ACD99F)},
+         {UINT32_C(0xCDC08BE6), UINT32_C(0x6A2A7070), UINT32_C(0xCF6D63FF),
+          UINT32_C(0x86B3B66A), UINT32_C(0x0F7D4A67), UINT32_C(0x5BEFF3FB),
+          UINT32_C(0xEBC94AE5), UINT32_C(0x05C25557)}},
+        {{UINT32_C(0x89183418), UINT32_C(0x5D1DC087), UINT32_C(0x6EA5A960),
+          UINT32_C(0xA25C7AE2), UINT32_C(0xD31F3AAE), UINT32_C(0x074698B9),
+          UINT32_C(0x221788A4), UINT32_C(0x5A5B510B)},
+         {UINT32_C(0x1DCE95FE), UINT32_C(0x896A8787), UINT32_C(0x7F24020C),
+          UINT32_C(0x89E7B93D), UINT32_C(0x865B4334), UINT32_C(0xFC19BF42),
+          UINT32_C(0x5B78B06D), UINT32_C(0x0389FBF7)}},
+        {{UINT32_C(0x0BB3A3E2), UINT32_C(0x73B6DA7B), UINT32_C(0x44D56755),
+          UINT32_C(0xDBC12670), UINT32_C(0x7CC1C589), UINT32_C(0x7AF2DE28),
+          UINT32_C(0x697CB6B7), UINT32_C(0x7E248FCB)},
+         {UINT32_C(0xC64202C0), UINT32_C(0x9410EC06), UINT32_C(0x75EB3A8C),
+          UINT32_C(0x79C82158), UINT32_C(0xE95C5EA9), UINT32_C(0x74FDD2F6),
+          UINT32_C(0x1CCA72C7), UINT32_C(0x2A40B5B5)}},
+        {{UINT32_C(0x5C29E320), UINT32_C(0x56984223), UINT32_C(0xE871D9E2),
+          UINT32_C(0x8266392A), UINT32_C(0x7B391763), UINT32_C(0x9D86C6C7),
+          UINT32_C(0x02543C9E), UINT32_C(0x5E9E61E2)},
+         {UINT32_C(0xD2501D1A), UINT32_C(0xD62A9334), UINT32_C(0x9211135D),
+          UINT32_C(0x9D19F54D), UINT32_C(0x8FE81272), UINT32_C(0x66D0B961),
+          UINT32_C(0xD09C2033), UINT32_C(0x6E64635A)}},
+        {{UINT32_C(0x06F84E11), UINT32_C(0x93BD0AD8), UINT32_C(0x131AFDBF),
+          UINT32_C(0x45F18F2B), UINT32_C(0x6058EB37), UINT32_C(0x881F053F),
+          UINT32_C(0x948AD0D5), UINT32_C(0x36B8D656)},
+         {UINT32_C(0xE1934E38), UINT32_C(0x53DC2E02), UINT32_C(0xC0435B6C),
+          UINT32_C(0xA8AD5055), UINT32_C(0x4BD7154F), UINT32_C(0x0DF7BD11),
+          UINT32_C(0x73BC98FC), UINT32_C(0x6350B05E)}},
+    },
+    {
+        {{UINT32_C(0x04BF927A), UINT32_C(0x12AC5496), UINT32_C(0xE749323E),
+          UINT32_C(0x9BB322DB), UINT32_C(0xF6D99AD6), UINT32_C(0xC10C666D),
+          UINT32_C(0x4C883E0A), UINT32_C(0x0FDF8FB3)},
+         {UINT32_C(0x665272E8), UINT32_C(0x10667F92), UINT32_C(0x5BF8702F),
+          UINT32_C(0xA30D4CE1), UINT32_C(0xA2D6033D), UINT32_C(0x56314B47),
+          UINT32_C(0xDAC1A10E), UINT32_C(0x09EC90D9)}},
+        {{UINT32_C(0xC9EB81D1), UINT32_C(0x364F06DD), UINT32_C(0x4DC5CB76),
+          UINT32_C(0xFD181A56), UINT32_C(0xE264567C), UINT32_C(0x91CF010C),
+          UINT32_C(0xA05C02FC), UINT32_C(0x71D9A95B)},
+         {UINT32_C(0x53967407), UINT32_C(0xAB5AFBA6), UINT32_C(0x9B0AA089),
+          UINT32_C(0x3FC77913), UINT32_C(0xAF29EF02), UINT32_C(0xDF1D4912),
+          UINT32_C(0x5796A0A5), UINT32_C(0x01C3D61C)}},
+        {{UINT32_C(0xB376E8DE), UINT32_C(0x11503A1C), UINT32_C(0xB8B98321),
+          UINT32_C(0x5CB17D6D), UINT32_C(0xBD8FE9C2), UINT32_C(0x96C9D585),
+          UINT32_C(0xD117171D), UINT32_C(0x048C8DA7)},
+         {UINT32_C(0xB582282A), UINT32_C(0xDF7FABB8), UINT32_C(0x24FD6BB7),
+          UINT32_C(0x75C2A937), UINT32_C(0x00633701), UINT32_C(0xDF0DBD32),
+          UINT32_C(0x039B3E72), UINT32_C(0x04FB7AEC)}},
+        {{UINT32_C(0x0E20C09A), UINT32_C(0xE60CCE96), UINT32_C(0x116E1C38),
+          UINT32_C(0xAD295B31), UINT32_C(0xC04477D0), UINT32_C(0xCA6B625D),
+          UINT32_C(0xFFA32E36), UINT32_C(0x032FE03B)},
+         {UINT32_C(0xE2AAABC6), UINT32_C(0x46334FEE), UINT32_C(0xDA1C6871),
+          UINT32_C(0x9808B03C), UINT32_C(0xF934A482), UINT32_C(0x76D0E3AA),
+          UINT32_C(0xF9CB8F97), UINT32_C(0x2B0BF54A)}},
+        {{UINT32_C(0x2CA29D02), UINT32_C(0xB5D52717), UINT32_C(0xDBEACF03),
+          UINT32_C(0xF9DAEAFB), UINT32_C(0x113A3811), UINT32_C(0x3786E64B),
+          UINT32_C(0x5C30569D), UINT32_C(0x6A01A1A5)},
+         {UINT32_C(0xBA1C28B6), UINT32_C(0x0A91E160), UINT32_C(0x929D3F05),
+          UINT32_C(0x5BFA32BA), UINT32_C(0x40C51084), UINT32_C(0x1108F875),
+          UINT32_C(0x42FD5AE1), UINT32_C(0x37FD2383)}},
+        {{UINT32_C(0x2A79BFB8), UINT32_C(0xABF14EDE), UINT32_C(0xAA34300C),
+          UINT32_C(0x08B34155), UINT32_C(0x64077041), UINT32_C(0x85C0DFA0),
+          UINT32_C(0xF542D447), UINT32_C(0x3AE5D28D)},
+         {UINT32_C(0xB74DC4FB), UINT32_C(0xC303A0FE), UINT32_C(0x556E0B87),
+          UINT32_C(0xB75292FA), UINT32_C(0x51BDC64C), UINT32_C(0x785628B0),
+          UINT32_C(0x13C579F6), UINT32_C(0x43FE786E)}},
+        {{UINT32_C(0x5F08790F), UINT32_C(0xBC5898CB), UINT32_C(0x125644EC),
+          UINT32_C(0xA298A59A), UINT32_C(0xB048217A), UINT32_C(0xD2D9627B),
+          UINT32_C(0x7B1F23F7), UINT32_C(0x6DCEEF32)},
+         {UINT32_C(0xFA7B9C6A), UINT32_C(0x7F02FC44), UINT32_C(0x73597BF7),
+          UINT32_C(0x90C64960), UINT32_C(0x2CB0B3A2), UINT32_C(0x5DD7E4F4),
+          UINT32_C(0x43E83553), UINT32_C(0x5EC5F92C)}},
+        {{UINT32_C(0x59E2C8E9), UINT32_C(0xC06B4D49), UINT32_C(0x1DF8AD8B),
+          UINT32_C(0x7DBC8218), UINT32_C(0xDAE8B6D7), UINT32_C(0x35570120),
+          UINT32_C(0x0CDE2691), UINT32_C(0x4222A1BA)},
+         {UINT32_C(0xC1693046), UINT32_C(0xD2F1EFA6), UINT32_C(0x7D36D9CD),
+          UINT32_C(0x2707228D), UINT32_C(0x062D499C), UINT32_C(0xD668EE25),
+          UINT32_C(0xCE2621A0), UINT32_C(0x7AC81BDF)}},
+        {{UINT32_C(0x16F6A215), UINT32_C(0x3A9F04BB), UINT32_C(0x89E5494E),
+          UINT32_C(0x739BB2BC), UINT32_C(0xD1CEB043), UINT32_C(0xCB8DBAE8),
+          UINT32_C(0x09A6B465), UINT32_C(0x6B177DF0)},
+         {UINT32_C(0x1A529744), UINT32_C(0xB7C4980E), UINT32_C(0x0E9012B5),
+          UINT32_C(0x3941B997), UINT32_C(0x04C6D677), UINT32_C(0xDF317B95),
+          UINT32_C(0x829F51D6), UINT32_C(0x17898D81)}},
+        {{UINT32_C(0xA12282BA), UINT32_C(0x3D48FD66), UINT32_C(0x899E5A1A),
+          UINT32_C(0xB775465B), UINT32_C(0x55D95C35), UINT32_C(0xDE0CCB99),
+          UINT32_C(0x950AB9DF), UINT32_C(0x4CB3CCDD)},
+         {UINT32_C(0x175C4CAE), UINT32_C(0x0B4ABA02), UINT32_C(0xCF86187C),
+          UINT32_C(0x2DA7C698), UINT32_C(0x9A9BF6CA), UINT32_C(0x3A4453DF),
+          UINT32_C(0x8BB9F543), UINT32_C(0x53C86F9C)}},
+        {{UINT32_C(0x5B7DB133), UINT32_C(0x806B815E), UINT32_C(0x118FA7C1),
+          UINT32_C(0x2451D6AC), UINT32_C(0xFB0BEFC3), UINT32_C(0x32C148B6),
+          UINT32_C(0xE433031E), UINT32_C(0x2E6ECEF6)},
+         {UINT32_C(0x54B2EE29), UINT32_C(0x2B78F317), UINT32_C(0x5A73BF01),
+          UINT32_C(0xBC321BF9), UINT32_C(0xF8F7F981), UINT32_C(0xDF6F7840),
+          UINT32_C(0x22280C40), UINT32_C(0x751A917A)}},
+        {{UINT32_C(0x4F9161C8), UINT32_C(0x73EFA631), UINT32_C(0x21145C52),
+          UINT32_C(0xB61C5E68), UINT32_C(0x6A04DC52), UINT32_C(0x60947773),
+          UINT32_C(0x2C2073B2), UINT32_C(0x758E38FF)},
+         {UINT32_C(0x03A54541), UINT32_C(0xDC6FEA73), UINT32_C(0xB6E65787),
+          UINT32_C(0x5E77682C), UINT32_C(0x37370FD0), UINT32_C(0xAFEF6C1C),
+          UINT32_C(0xD5AC255A), UINT32_C(0x33DEEF00)}},
+        {{UINT32_C(0x061D35CC), UINT32_C(0x1AD81101), UINT32_C(0x8A77D246),
+          UINT32_C(0xD55EED7D), UINT32_C(0x926E64C3), UINT32_C(0x8D59DC22),
+          UINT32_C(0xAFC6FFA6), UINT32_C(0x76C9D6CE)},
+         {UINT32_C(0x3F4FCC0F), UINT32_C(0x945A89B5), UINT32_C(0x9087F46A),
+          UINT32_C(0x65EB52CF), UINT32_C(0xAE9F09DE), UINT32_C(0xC3380377),
+          UINT32_C(0x43DFD5FB), UINT32_C(0x59067EDD)}},
+        {{UINT32_C(0xCF841445), UINT32_C(0xCBB7BC66), UINT32_C(0xA3BE7C94),
+          UINT32_C(0x9ED681D3), UINT32_C(0x396C6DD5), UINT32_C(0xF5CF59BE),
+          UINT32_C(0xFA763634), UINT32_C(0x2598A5DC)},
+         {UINT32_C(0x85CF4FDE), UINT32_C(0xAD2B445A), UINT32_C(0xA0D92F4C),
+          UINT32_C(0xC8CE3F42), UINT32_C(0xF01CD0F5), UINT32_C(0x78356D5B),
+          UINT32_C(0x5D50C9D7), UINT32_C(0x26E44A45)}},
+        {{UINT32_C(0x4EDF35A5), UINT32_C(0x22EB53E3), UINT32_C(0xAF1A8A60),
+          UINT32_C(0xA0C6CDEF), UINT32_C(0xD07C1EBD), UINT32_C(0x1D31BA2C),
+          UINT32_C(0xD2C2ADE1), UINT32_C(0x513511A0)},
+         {UINT32_C(0xC4449889), UINT32_C(0xBD3772D4), UINT32_C(0xD3F49C61),
+          UINT32_C(0xAF5EF819), UINT32_C(0x40047745), UINT32_C(0xAAF21599),
+          UINT32_C(0xA54B8080), UINT32_C(0x2128938C)}},
+        {{UINT32_C(0x73ADBEC8), UINT32_C(0x9761A94A), UINT32_C(0x1FB2F257),
+          UINT32_C(0x4710BBF0), UINT32_C(0xB3920007), UINT32_C(0xFE52603E),
+          UINT32_C(0x7DE06F13), UINT32_C(0x66393750)},
+         {UINT32_C(0x965AC706), UINT32_C(0x35F4E633), UINT32_C(0x33F953E5),
+          UINT32_C(0xF49DC418), UINT32_C(0x31CFE467), UINT32_C(0x1562AD51),
+          UINT32_C(0x8ADB1F7A), UINT32_C(0x035FB54D)}},
+    },
+    {
+        {{UINT32_C(0xFD73062E), UINT32_C(0xF632081F), UINT32_C(0xCB740B59),
+          UINT32_C(0xB2740C19), UINT32_C(0x8751E315), UINT32_C(0x2DFD957F),
+          UINT32_C(0xC21039C2), UINT32_C(0x5722E015)},
+         {UINT32_C(0xA4E56D39), UINT32_C(0x44781BFC), UINT32_C(0xDA2FBE63),
+          UINT32_C(0x894BD2F7), UINT32_C(0x5DE22DE0), UINT32_C(0x9E81007B),
+          UINT32_C(0xC68788FC), UINT32_C(0x0CED0859)}},
+        {{UINT32_C(0x8DDA6292), UINT32_C(0x97DD8CF1), UINT32_C(0x27FCF7F1),
+          UINT32_C(0x3E9191F7), UINT32_C(0xDAA6AD44), UINT32_C(0x07885E32),
+          UINT32_C(0xBE9F7E62), UINT32_C(0x624CE66E)},
+         {UINT32_C(0x1893A3D9), UINT32_C(0x0483DA42), UINT32_C(0x8F2A105F),
+          UINT32_C(0x1041B7EA), UINT32_C(0x429A24B9), UINT32_C(0x5B706F99),
+          UINT32_C(0x167C12E1), UINT32_C(0x30BFBCEE)}},
+        {{UINT32_C(0xC38251D8), UINT32_C(0xEB2C7218), UINT32_C(0x022B6411),
+          UINT32_C(0x5FE5D8F6), UINT32_C(0x93DCCB63), UINT32_C(0xF62200C1),
+          UINT32_C(0xCFF221E6), UINT32_C(0x2CF0F8F1)},
+         {UINT32_C(0x9217EE42), UINT32_C(0xDCF1BCD6), UINT32_C(0x9DB2580B),
+          UINT32_C(0x1904879C), UINT32_C(0xF6510164), UINT32_C(0x2DDB7E5D),
+          UINT32_C(0x8A0EAC6B), UINT32_C(0x7BB29985)}},
+        {{UINT32_C(0x0FCF8397), UINT32_C(0x98313C0E), UINT32_C(0x42C8EEF1),
+          UINT32_C(0xB594D0B7), UINT32_C(0x97E842F7), UINT32_C(0xBD31FC34),
+          UINT32_C(0x8F3ADB9B), UINT32_C(0x49476B9D)},
+         {UINT32_C(0x50B45445), UINT32_C(0xD1B5FD37), UINT32_C(0xD583A89F),
+          UINT32_C(0x526C51CA), UINT32_C(0x6782C060), UINT32_C(0x5D461F09),
+          UINT32_C(0x27274A60), UINT32_C(0x414023EC)}},
+        {{UINT32_C(0xEAE4285A), UINT32_C(0x7C809B26), UINT32_C(0x0A066043),
+          UINT32_C(0x939814BF), UINT32_C(0x6C640E3D), UINT32_C(0x9CBAC0BB),
+          UINT32_C(0x30EB1B86), UINT32_C(0x647E22E1)},
+         {UINT32_C(0x3C7DFA0D), UINT32_C(0x21E2A42D), UINT32_C(0xE2CD0CCE),
+          UINT32_C(0xFF8CC304), UINT32_C(0x3496964C), UINT32_C(0x3DC8C920),
+          UINT32_C(0x2B4DF7C2), UINT32_C(0x5D91FE78)}},
+        {{UINT32_C(0x96D84346), UINT32_C(0xD5BBBD6E), UINT32_C(0xF91FFA8C),
+          UINT32_C(0x8363527B), UINT32_C(0x7F408588), UINT32_C(0x931D0FDA),
+          UINT32_C(0xB0B19D0F), UINT32_C(0x2C51F17B)},
+         {UINT32_C(0xFF61C86D), UINT32_C(0x7A693804), UINT32_C(0xB3FFD529),
+          UINT32_C(0xBAB4AC45), UINT32_C(0x4C171C84), UINT32_C(0xEDEA275F),
+          UINT32_C(0xD59B94D9), UINT32_C(0x0520925C)}},
+        {{UINT32_C(0xE8718BB4), UINT32_C(0xB6A620AA), UINT32_C(0x88D37A61),
+          UINT32_C(0x67851F0F), UINT32_C(0x9984A787), UINT32_C(0xCBEE8DBC),
+          UINT32_C(0xAE834635), UINT32_C(0x7190B766)},
+         {UINT32_C(0xC9AC1A8E), UINT32_C(0x3A1D7DB4), UINT32_C(0x7B97BCB7),
+          UINT32_C(0x6EEBD5AD), UINT32_C(0x9D0AB769), UINT32_C(0x60978625),
+          UINT32_C(0x7C7F02DD), UINT32_C(0x5AD56C0C)}},
+        {{UINT32_C(0x2DB3B6F2), UINT32_C(0x2C0003DE), UINT32_C(0xEFCF1DD8),
+          UINT32_C(0x3BE1CE3F), UINT32_C(0x379E6B8A), UINT32_C(0xE2F79872),
+          UINT32_C(0x0B898094), UINT32_C(0x3F9640D8)},
+         {UINT32_C(0x15B29D41), UINT32_C(0x11EBD937), UINT32_C(0x3EF17D8C),
+          UINT32_C(0xD6A076B9), UINT32_C(0xB38ED3BA), UINT32_C(0x0A2C0016),
+          UINT32_C(0xCCB161CC), UINT32_C(0x64329A02)}},
+        {{UINT32_C(0xB1ED1DEA), UINT32_C(0xD135032D), UINT32_C(0x42F734A0),
+          UINT32_C(0x43F76848), UINT32_C(0x3C18D8C5), UINT32_C(0x1F6C12BD),
+          UINT32_C(0xC0A304E8), UINT32_C(0x7D7757B7)},
+         {UINT32_C(0xDE3B6B9F), UINT32_C(0x3F0C2867), UINT32_C(0xB7201E4F),
+          UINT32_C(0x72F98EBB), UINT32_C(0x940E748D), UINT32_C(0xCC408000),
+          UINT32_C(0xAD74B322), UINT32_C(0x34FE6D8F)}},
+        {{UINT32_C(0xE6D884FE), UINT32_C(0xA12A9359), UINT32_C(0xDE063103),
+          UINT32_C(0xB080A081), UINT32_C(0x97ABB854), UINT32_C(0x672DE27D),
+          UINT32_C(0xEE6F3485), UINT32_C(0x712B0883)},
+         {UINT32_C(0x2044A2A2), UINT32_C(0xF430BF2D), UINT32_C(0x7D12027A),
+          UINT32_C(0x66561020), UINT32_C(0x2C539C3B), UINT32_C(0x5ED63AD2),
+          UINT32_C(0xFE5EE1D1), UINT32_C(0x7982AAD0)}},
+        {{UINT32_C(0x3BE94D26), UINT32_C(0x873DC8F6), UINT32_C(0x4B41BD76),
+          UINT32_C(0x90923639), UINT32_C(0x0CBE4B5C), UINT32_C(0xE439A496),
+          UINT32_C(0x11782BF1), UINT32_C(0x424F8D24)},
+         {UINT32_C(0x49686ED9), UINT32_C(0x6612BD99), UINT32_C(0xFB04E27E),
+          UINT32_C(0x78157AA9), UINT32_C(0x805F809C), UINT32_C(0x844E1616),
+          UINT32_C(0x62CB8BCD), UINT32_C(0x717AEB32)}},
+        {{UINT32_C(0x5248CF6A), UINT32_C(0xE98C1A0E), UINT32_C(0xB0E4ADF8),
+          UINT32_C(0xC84294A8), UINT32_C(0xA7769275), UINT32_C(0xD35748A4),
+          UINT32_C(0x03363C82), UINT32_C(0x2C3867E1)},
+         {UINT32_C(0x8F43885A), UINT32_C(0x2EC7AF43), UINT32_C(0x3AE516C7),
+          UINT32_C(0x7979D1A2), UINT32_C(0x8B81056C), UINT32_C(0x059939EC),
+          UINT32_C(0x7E358480), UINT32_C(0x434AA4DD)}},
+        {{UINT32_C(0x4A5228EA), UINT32_C(0x12EA1C87), UINT32_C(0x4D293B9F),
+          UINT32_C(0x47B48198), UINT32_C(0xE9696688), UINT32_C(0x319CE379),
+          UINT32_C(0x7CE6FD05), UINT32_C(0x7C9FF595)},
+         {UINT32_C(0x3093E3E4), UINT32_C(0x15E954DF), UINT32_C(0x304015AF),
+          UINT32_C(0xBC98307C), UINT32_C(0x975C69C5), UINT32_C(0x66522DF8),
+          UINT32_C(0x963CE892), UINT32_C(0x4C9EBFB3)}},
+        {{UINT32_C(0x628FB125), UINT32_C(0x1CEEF18A), UINT32_C(0x4BF30BB6),
+          UINT32_C(0xFB69A234), UINT32_C(0x70C9C864), UINT32_C(0x510EB339),
+          UINT32_C(0x8A89151D), UINT32_C(0x1EE9D1ED)},
+         {UINT32_C(0x4EE1A486), UINT32_C(0x34094028), UINT32_C(0x2FC79CEE),
+          UINT32_C(0x66440167), UINT32_C(0xC7DA3A75), UINT32_C(0xB597625A),
+          UINT32_C(0x65205AF9), UINT32_C(0x6E5B920E)}},
+        {{UINT32_C(0xD87C914C), UINT32_C(0x749D0CA4), UINT32_C(0x0D60C59E),
+          UINT32_C(0x55ECBEBB), UINT32_C(0xA65B4652), UINT32_C(0x916A1127),
+          UINT32_C(0x4E4767A3), UINT32_C(0x503964D4)},
+         {UINT32_C(0x1B1F94D5), UINT32_C(0x8899A4C2), UINT32_C(0x33E0D94D),
+          UINT32_C(0xEFFCAF52), UINT32_C(0xA3DAD87D), UINT32_C(0x61B89B3F),
+          UINT32_C(0x5088D6BE), UINT32_C(0x3CB455F5)}},
+        {{UINT32_C(0x70678C14), UINT32_C(0x5088A52B), UINT32_C(0x41B00FC3),
+          UINT32_C(0x212823D9), UINT32_C(0x19865BDB), UINT32_C(0x38D5CEB6),
+          UINT32_C(0x12E63491), UINT32_C(0x2E9C7FD7)},
+         {UINT32_C(0x59E73913), UINT32_C(0x6656F916), UINT32_C(0xE9035A63),
+          UINT32_C(0x57AE9A47), UINT32_C(0xF02B8DAE), UINT32_C(0x970DCF2B),
+          UINT32_C(0x950FF8A9), UINT32_C(0x3366F8A6)}},
+    },
+    {
+        {{UINT32_C(0xAC4A8F83), UINT32_C(0x93DABD6F), UINT32_C(0x1CFF0AAD),
+          UINT32_C(0x27233488), UINT32_C(0xF500EDFB), UINT32_C(0xBCAC3181),
+          UINT32_C(0xB5297515), UINT32_C(0x27C6DB15)},
+         {UINT32_C(0x2F08A89F), UINT32_C(0x9CD142D9), UINT32_C(0x2EAD0A80),
+          UINT32_C(0x3C005423), UINT32_C(0x44A7623A), UINT32_C(0x82845F95),
+          UINT32_C(0x72BC4862), UINT32_C(0x51047070)}},
+        {{UINT32_C(0xDC1B9159), UINT32_C(0x4303797A), UINT32_C(0x5D9C9AC1),
+          UINT32_C(0x7842434B), UINT32_C(0x6009FE2E), UINT32_C(0x8A36ED2D),
+          UINT32_C(0x5106429C), UINT32_C(0x11FE35C9)},
+         {UINT32_C(0x23554A92), UINT32_C(0xDF20A393), UINT32_C(0x932E37C2),
+          UINT32_C(0x59364A48), UINT32_C(0x7754A5DF), UINT32_C(0x6D7DE6AE),
+          UINT32_C(0x462725AC), UINT32_C(0x00CCC6A3)}},
+        {{UINT32_C(0xBAE83077), UINT32_C(0xB1F86CA5), UINT32_C(0x5110782C),
+          UINT32_C(0x82FE28A5), UINT32_C(0xD942182C), UINT32_C(0x8031BBF3),
+          UINT32_C(0x410D9F83), UINT32_C(0x4F1F3815)},
+         {UINT32_C(0x835ABA65), UINT32_C(0xE57F9907), UINT32_C(0x5AA10903),
+          UINT32_C(0x0A8220C2), UINT32_C(0x8812602E), UINT32_C(0x2E984717),
+          UINT32_C(0x2A7D2C6C), UINT32_C(0x0AEC467D)}},
+        {{UINT32_C(0xC4DBED03), UINT32_C(0xC779F708), UINT32_C(0x8582BD4E),
+          UINT32_C(0x10A30CD8), UINT32_C(0x243FEAEE), UINT32_C(0xFA5646C5),
+          UINT32_C(0xCA459EF7), UINT32_C(0x1CFAF38E)},
+         {UINT32_C(0x95BC8077), UINT32_C(0xCCDD0146), UINT32_C(0x65858C49),
+          UINT32_C(0x4ECDE919), UINT32_C(0x77FEE1B6), UINT32_C(0x562764C6),
+          UINT32_C(0x43524407), UINT32_C(0x3CF5A3AB)}},
+        {{UINT32_C(0x0F6EF445), UINT32_C(0x0CCEAADD), UINT32_C(0xC297AFAF),
+          UINT32_C(0x690C12C1), UINT32_C(0xC15B3D7B), UINT32_C(0xD67AA6EA),
+          UINT32_C(0x9FF8884E), UINT32_C(0x445D233C)},
+         {UINT32_C(0x6CAD3234), UINT32_C(0xC38FFD09), UINT32_C(0xC7002F6F),
+          UINT32_C(0xA690FFD1), UINT32_C(0x11ACB469), UINT32_C(0xD445E851),
+          UINT32_C(0x97166E52), UINT32_C(0x64EE1380)}},
+        {{UINT32_C(0xCEFBFB0A), UINT32_C(0x1EB031CC), UINT32_C(0xAA40D6A9),
+          UINT32_C(0x60F3DEF4), UINT32_C(0xF96FCAFE), UINT32_C(0x240F7CA5),
+          UINT32_C(0xE4450A06), UINT32_C(0x53AF2F10)},
+         {UINT32_C(0xA84058EF), UINT32_C(0xE8AF980F), UINT32_C(0x34AFFC6E),
+          UINT32_C(0x3E300017), UINT32_C(0xC86B458C), UINT32_C(0x62D1D094),
+          UINT32_C(0x75732C7E), UINT32_C(0x5338383D)}},
+        {{UINT32_C(0x04D82638), UINT32_C(0x6BD46AEB), UINT32_C(0x62E645A0),
+          UINT32_C(0x86940A31), UINT32_C(0xA5736B40), UINT32_C(0xD025B4B1),
+          UINT32_C(0x924E8E5E), UINT32_C(0x1056D9D0)},
+         {UINT32_C(0x1DB58101), UINT32_C(0x3D0495CC), UINT32_C(0x2D677581),
+          UINT32_C(0xC300C6E7), UINT32_C(0x610AECEC), UINT32_C(0xFE38B898),
+          UINT32_C(0xD66F64ED), UINT32_C(0x1C8B94E2)}},
+        {{UINT32_C(0x06D0C7EC), UINT32_C(0x5C9C3A37), UINT32_C(0xB8A74918),
+          UINT32_C(0x6B4B5437), UINT32_C(0x9052A235), UINT32_C(0x85689C98),
+          UINT32_C(0x87B53AA6), UINT32_C(0x4F7C2C8D)},
+         {UINT32_C(0xD8F1D334), UINT32_C(0x9FCD866F), UINT32_C(0x6898223C),
+          UINT32_C(0xDBAAA227), UINT32_C(0x95C7B35A), UINT32_C(0x933DE9DA),
+          UINT32_C(0x3EA949FD), UINT32_C(0x329AE20F)}},
+        {{UINT32_C(0x948A2ECD), UINT32_C(0xB83547AF), UINT32_C(0xBE34890C),
+          UINT32_C(0xEBF7C1E7), UINT32_C(0xF8211C33), UINT32_C(0x5F0F44F3),
+          UINT32_C(0xC6927638), UINT32_C(0x14A10BDB)},
+         {UINT32_C(0x5B579BF5), UINT32_C(0x7FD88567), UINT32_C(0x5B7417F0),
+          UINT32_C(0xD7C71281), UINT32_C(0x2083502E), UINT32_C(0x7C04F111),
+          UINT32_C(0xE9AD6283), UINT32_C(0x42029128)}},
+        {{UINT32_C(0x2C5C0928), UINT32_C(0x32FBFFAE), UINT32_C(0x1469F1D3),
+          UINT32_C(0x4E31D312), UINT32_C(0xD79F51A2), UINT32_C(0x17307E28),
+          UINT32_C(0x79A51EBD), UINT32_C(0x546C91AF)},
+         {UINT32_C(0x668086A6), UINT32_C(0x041D464D), UINT32_C(0x0DB695DB),
+          UINT32_C(0x4986BDE5), UINT32_C(0xEF317AA0), UINT32_C(0xCBA5F6EE),
+          UINT32_C(0x730221D3), UINT32_C(0x5879259F)}},
+        {{UINT32_C(0x253BB4BA), UINT32_C(0xBD9C5CA5), UINT32_C(0x0E2A75BB),
+          UINT32_C(0xBBFC6079), UINT32_C(0x67AB9033), UINT32_C(0xB5F11AE3),
+          UINT32_C(0xAC2BFAFE), UINT32_C(0x6411CB1E)},
+         {UINT32_C(0xBF5390B0), UINT32_C(0x750734FE), UINT32_C(0x879A3D3D),
+          UINT32_C(0xA044BED4), UINT32_C(0xA0C47093), UINT32_C(0xE1E9F0E4),
+          UINT32_C(0xB64DA48C), UINT32_C(0x3BCAD93E)}},
+        {{UINT32_C(0xB37E16C2), UINT32_C(0xAFC6BCB6), UINT32_C(0x2331B0CD),
+          UINT32_C(0xB54F56C0), UINT32_C(0x5BBFBEE7), UINT32_C(0x725E81B4),
+          UINT32_C(0xE8B9D922), UINT32_C(0x2AE0C039)},
+         {UINT32_C(0xDB958319), UINT32_C(0x85301041), UINT32_C(0x0681C4A4),
+          UINT32_C(0xDFAE34DD), UINT32_C(0xCBF7BB2B), UINT32_C(0x906C9219),
+          UINT32_C(0x10A1710A), UINT32_C(0x1463E9EF)}},
+        {{UINT32_C(0x21E6FC9D), UINT32_C(0x41E6C388), UINT32_C(0x24A39EC8),
+          UINT32_C(0x0B629A1E), UINT32_C(0x1AEF7A46), UINT32_C(0xC62F60BE),
+          UINT32_C(0xC5A16B6E), UINT32_C(0x59A50B54)},
+         {UINT32_C(0x285B891E), UINT32_C(0x41CA367A), UINT32_C(0xE2F8AF59),
+          UINT32_C(0x70A6CE6B), UINT32_C(0xCBCEEF98), UINT32_C(0x74058747),
+          UINT32_C(0x601C375F), UINT32_C(0x4B912170)}},
+        {{UINT32_C(0x734EE866), UINT32_C(0x7D975CE2), UINT32_C(0xA09F5F14),
+          UINT32_C(0x8D3572C6), UINT32_C(0x2232EE5E), UINT32_C(0x1DB4CC88),
+          UINT32_C(0x7C04C250), UINT32_C(0x6C979049)},
+         {UINT32_C(0xAE1EBC20), UINT32_C(0xB5EC7706), UINT32_C(0xE21AAA32),
+          UINT32_C(0x7BDBD34D), UINT32_C(0xC5D1C733), UINT32_C(0xAD4125FD),
+          UINT32_C(0x731E6B09), UINT32_C(0x28B0302D)}},
+        {{UINT32_C(0x1521415E), UINT32_C(0xD68EEC49), UINT32_C(0x092763C0),
+          UINT32_C(0x31963424), UINT32_C(0x0BFB513B), UINT32_C(0xCA90F48D),
+          UINT32_C(0x573A056A), UINT32_C(0x4814DDFF)},
+         {UINT32_C(0x400E804D), UINT32_C(0x7E67599C), UINT32_C(0x51FD0596),
+          UINT32_C(0x35452750), UINT32_C(0xDB331B66), UINT32_C(0x45EDD7FB),
+          UINT32_C(0xBDEDE107), UINT32_C(0x172DA8B3)}},
+        {{UINT32_C(0xB5BEB1C8), UINT32_C(0xD46F284C), UINT32_C(0x7B125701),
+          UINT32_C(0x5DE5D3F1), UINT32_C(0x248053D1), UINT32_C(0xC3BA591E),
+          UINT32_C(0x9C8F487C), UINT32_C(0x4E67F1F2)},
+         {UINT32_C(0x8C252EC5), UINT32_C(0x380D93E4), UINT32_C(0x22BC5CF6),
+          UINT32_C(0x913F96F1), UINT32_C(0xD7BAA634), UINT32_C(0xC1F06BBD),
+          UINT32_C(0xA30BF1B9), UINT32_C(0x7B625179)}},
+    },
+    {
+        {{UINT32_C(0xABD424AC), UINT32_C(0x125D398D), UINT32_C(0x9CC70479),
+          UINT32_C(0xFE65DF03), UINT32_C(0xFB5EC82C), UINT32_C(0x89A31794),
+          UINT32_C(0xA31C5DCA), UINT32_C(0x63EFFB55)},
+         {UINT32_C(0x045B576A), UINT32_C(0x948F7571), UINT32_C(0x022B5FC8),
+          UINT32_C(0xEC9F6FAB), UINT32_C(0xBD9F0DD2), UINT32_C(0x174DC936),
+          UINT32_C(0xF4C4EE8B), UINT32_C(0x5EEA65E6)}},
+        {{UINT32_C(0x8B800D67), UINT32_C(0xE97070AE), UINT32_C(0xB59B433E),
+          UINT32_C(0xB9CB66FA), UINT32_C(0xC6141364), UINT32_C(0xC4496574),
+          UINT32_C(0x6A9677EA), UINT32_C(0x530AA9B5)},
+         {UINT32_C(0x75200533), UINT32_C(0x4A4E2EE3), UINT32_C(0x0F20A9BE),
+          UINT32_C(0x4C38A509), UINT32_C(0xEA683510), UINT32_C(0x0A6FFBA4),
+          UINT32_C(0x65732EA9), UINT32_C(0x7340EFEE)}},
+        {{UINT32_C(0xE41C2B43), UINT32_C(0x3A5612E4), UINT32_C(0xFCB5C0A8),
+          UINT32_C(0x31F51B80), UINT32_C(0xBD1F03E6), UINT32_C(0x4C5BBA64),
+          UINT32_C(0x3694ADCA), UINT32_C(0x25387243)},
+         {UINT32_C(0x1F7E4D5C), UINT32_C(0xF114EFAF), UINT32_C(0x4EA3A59D),
+          UINT32_C(0xBEA5223A), UINT32_C(0x67EB414D), UINT32_C(0x82CEF46F),
+          UINT32_C(0x9B6CAC3D), UINT32_C(0x09D351C1)}},
+        {{UINT32_C(0x810F5054), UINT32_C(0xC69F25CE), UINT32_C(0x548A2CDF),
+          UINT32_C(0xE33E5E97), UINT32_C(0x36946D3C), UINT32_C(0x20B3F442),
+          UINT32_C(0x65DF2D3B), UINT32_C(0x572C0F5C)},
+         {UINT32_C(0xCC953CC8), UINT32_C(0xFC5B2DF3), UINT32_C(0xD1CCADC6),
+          UINT32_C(0x934D54C0), UINT32_C(0xA6E7B4DB), UINT32_C(0x828A906E),
+          UINT32_C(0x5AD3076F), UINT32_C(0x610D36C1)}},
+        {{UINT32_C(0x74F56E27), UINT32_C(0x960B0A01), UINT32_C(0xCF3FEA75),
+          UINT32_C(0x9942C6AC), UINT32_C(0x82C51490), UINT32_C(0x2E4D786D),
+          UINT32_C(0x9A4749C9), UINT32_C(0x23A51636)},
+         {UINT32_C(0x2F7560FC), UINT32_C(0xD86AB36A), UINT32_C(0xDDB852A9),
+          UINT32_C(0xDA66B49D), UINT32_C(0x544C1023), UINT32_C(0x84E1587D),
+          UINT32_C(0x6AA3C1DA), UINT32_C(0x7AB8BC69)}},
+        {{UINT32_C(0xA5F30701), UINT32_C(0xFD0397AF), UINT32_C(0xDFC8B187),
+          UINT32_C(0x96FFB15D), UINT32_C(0x1475E520), UINT32_C(0xF2C86453),
+          UINT32_C(0xEF37300E), UINT32_C(0x71521986)},
+         {UINT32_C(0x68006D45), UINT32_C(0xD81F75A8), UINT32_C(0xCBC06D4D),
+          UINT32_C(0xDF7814EA), UINT32_C(0x2E8E9150), UINT32_C(0x5BCF959B),
+          UINT32_C(0x56668C18), UINT32_C(0x146D37D7)}},
+        {{UINT32_C(0x88E8DC77), UINT32_C(0x1ABD7312), UINT32_C(0xC1C3A4DB),
+          UINT32_C(0x0B34B877), UINT32_C(0xF844BACE), UINT32_C(0x85739093),
+          UINT32_C(0x04A7CF80), UINT32_C(0x5DEDCF8F)},
+         {UINT32_C(0xD87CDBDC), UINT32_C(0xD8BB237E), UINT32_C(0xCCBA784F),
+          UINT32_C(0x89852174), UINT32_C(0xB2FAECC3), UINT32_C(0x6843BAB8),
+          UINT32_C(0xAA4BBA32), UINT32_C(0x15268302)}},
+        {{UINT32_C(0xB23D3770), UINT32_C(0x3B58225A), UINT32_C(0x10CC9DE6),
+          UINT32_C(0x9357EB59), UINT32_C(0x42ECF80E), UINT32_C(0x8665F92A),
+          UINT32_C(0xC875C031), UINT32_C(0x4819CC9D)},
+         {UINT32_C(0xC34B979B), UINT32_C(0x09CBE5D8), UINT32_C(0x7E1D0E63),
+          UINT32_C(0x161E8AC0), UINT32_C(0x282E36E8), UINT32_C(0x874DF24F),
+          UINT32_C(0x0712A0CD), UINT32_C(0x6528E6FA)}},
+        {{UINT32_C(0x107633E4), UINT32_C(0xE37AD786), UINT32_C(0xCF1FE646),
+          UINT32_C(0x122D7123), UINT32_C(0xCFA93AC0), UINT32_C(0x1E6E682B),
+          UINT32_C(0x276200DB), UINT32_C(0x0A25F4EE)},
+         {UINT32_C(0xE25FBB01), UINT32_C(0x44E290ED), UINT32_C(0xC3C1B418),
+          UINT32_C(0x3E392DF5), UINT32_C(0x83EBE689), UINT32_C(0xE5E15745),
+          UINT32_C(0x4B999926), UINT32_C(0x016139D2)}},
+        {{UINT32_C(0x65D7DA58), UINT32_C(0x048915B0), UINT32_C(0xA78F3D9E),
+          UINT32_C(0x6EF7C4EF), UINT32_C(0xAD614974), UINT32_C(0x78CCCE55),
+          UINT32_C(0x54B95643), UINT32_C(0x43DB7DA0)},
+         {UINT32_C(0xE53F1A67), UINT32_C(0xFC423B70), UINT32_C(0x4EFE2427),
+          UINT32_C(0x8F8BED81), UINT32_C(0x95B045EB), UINT32_C(0xF5D6AD5F),
+          UINT32_C(0xD7407716), UINT32_C(0x23582D5D)}},
+        {{UINT32_C(0x9F674472), UINT32_C(0x9E5D24FB), UINT32_C(0x68626041),
+          UINT32_C(0x1AE18636), UINT32_C(0x7ABC4380), UINT32_C(0x8977E68F),
+          UINT32_C(0x05AF2D04), UINT32_C(0x7D9FF8E8)},
+         {UINT32_C(0x4197C4E1), UINT32_C(0x9D31195F), UINT32_C(0x4400F35E),
+          UINT32_C(0x9F3F6E11), UINT32_C(0x7BBEF801), UINT32_C(0x1A87D586),
+          UINT32_C(0x952BB025), UINT32_C(0x42AE0380)}},
+        {{UINT32_C(0x6B96482B), UINT32_C(0xC6A3ED75), UINT32_C(0xA9C6DD2F),
+          UINT32_C(0x58B38724), UINT32_C(0x9297FB47), UINT32_C(0x464C8CE8),
+          UINT32_C(0xFB6D6C55), UINT32_C(0x0245797E)},
+         {UINT32_C(0xC0B58C8F), UINT32_C(0xBE141C80), UINT32_C(0x77766C48),
+          UINT32_C(0xC4C405CB), UINT32_C(0xD10C0F31), UINT32_C(0xD57EE428),
+          UINT32_C(0x50E8FE7B), UINT32_C(0x03D4862B)}},
+        {{UINT32_C(0x1DC3722C), UINT32_C(0x21976F8A), UINT32_C(0x5F476F0D),
+          UINT32_C(0x02EC30D5), UINT32_C(0xCA434B06), UINT32_C(0xD711E01D),
+          UINT32_C(0x99FF2488), UINT32_C(0x551AC910)},
+         {UINT32_C(0xA56CA3C7), UINT32_C(0x24AEC72D), UINT32_C(0x891896CE),
+          UINT32_C(0x2DD1219A), UINT32_C(0x67882925), UINT32_C(0xD84BAD19),
+          UINT32_C(0x9D4778EF), UINT32_C(0x27E65D7F)}},
+        {{UINT32_C(0x4685687F), UINT32_C(0x09F19C8F), UINT32_C(0xBBB58BD3),
+          UINT32_C(0xB7C7B9E3), UINT32_C(0x8FA34DD5), UINT32_C(0x349D03A7),
+          UINT32_C(0x8D59E889), UINT32_C(0x41F9D003)},
+         {UINT32_C(0x2B3ED6FA), UINT32_C(0xCF3367D4), UINT32_C(0x378DA1ED),
+          UINT32_C(0xCF3C6715), UINT32_C(0x4E935E9A), UINT32_C(0x86DC3903),
+          UINT32_C(0xF08CB23A), UINT32_C(0x50692CFF)}},
+        {{UINT32_C(0xC2D65C87), UINT32_C(0x18CA772A), UINT32_C(0x4F1D0CB6),
+          UINT32_C(0xC9092B38), UINT32_C(0xBBD2015A), UINT32_C(0x91E71CF1),
+          UINT32_C(0x4F3DEF26), UINT32_C(0x4A09DAAC)},
+         {UINT32_C(0x735C9281), UINT32_C(0x7CCA7B4A), UINT32_C(0x1BF0AAEE),
+          UINT32_C(0x2028F144), UINT32_C(0xACB5B748), UINT32_C(0xCF72A082),
+          UINT32_C(0x43299B85), UINT32_C(0x58957D5D)}},
+        {{UINT32_C(0x901F1789), UINT32_C(0x64BB164E), UINT32_C(0x5AEF97BF),
+          UINT32_C(0xC68766E6), UINT32_C(0x942B6DCE), UINT32_C(0x30ECA3E2),
+          UINT32_C(0xF9E798F3), UINT32_C(0x632676FA)},
+         {UINT32_C(0xF13896EE), UINT32_C(0xB52533D3), UINT32_C(0x2D8A29C1),
+          UINT32_C(0xAD912831), UINT32_C(0xBC14E7FF), UINT32_C(0x12F1B9A4),
+          UINT32_C(0x8828D196), UINT32_C(0x4E1D23FD)}},
+    },
+    {
+        {{UINT32_C(0xEF494793), UINT32_C(0xC4F89E00), UINT32_C(0xC93D2F55),
+          UINT32_C(0xA6044BC3), UINT32_C(0x8797F8AF), UINT32_C(0x68E60B58),
+          UINT32_C(0x841E4B5E), UINT32_C(0x4D5969FA)},
+         {UINT32_C(0xD759BB2D), UINT32_C(0xB1EE70FB), UINT32_C(0x66D8AD01),
+          UINT32_C(0x9AC30433), UINT32_C(0x84E9F677), UINT32_C(0xD93F23DB),
+          UINT32_C(0xC53029A4), UINT32_C(0x2AD9D16F)}},
+        {{UINT32_C(0xDD882D23), UINT32_C(0xD01FC16B), UINT32_C(0xFA5B4128),
+          UINT32_C(0x3BF921F1), UINT32_C(0x235BC9CE), UINT32_C(0x3D3FE145),
+          UINT32_C(0x62E686E1), UINT32_C(0x59556716)},
+         {UINT32_C(0x79F99D69), UINT32_C(0xE329A7C2), UINT32_C(0xA4F5F5F5),
+          UINT32_C(0xA67EF5EC), UINT32_C(0xD5A34FF0), UINT32_C(0xF96A41EE),
+          UINT32_C(0x74674B5F), UINT32_C(0x09D0CF06)}},
+        {{UINT32_C(0x6135B7E2), UINT32_C(0x8CCDF71C), UINT32_C(0xAFB6AD6B),
+          UINT32_C(0x91F1E33E), UINT32_C(0xDB0CFEDF), UINT32_C(0xC452F439),
+          UINT32_C(0xC05B06D4), UINT32_C(0x15724711)},
+         {UINT32_C(0xA3BC1277), UINT32_C(0x5FEE0E0E), UINT32_C(0x8D8BA081),
+          UINT32_C(0xD6847FAD), UINT32_C(0x0D4C8DDD), UINT32_C(0x8B02666C),
+          UINT32_C(0xC35559DB), UINT32_C(0x149E5009)}},
+        {{UINT32_C(0x5461D9CA), UINT32_C(0xB4D0D2C9), UINT32_C(0xCE0A3973),
+          UINT32_C(0xFE7993B6), UINT32_C(0xD6032E95), UINT32_C(0x42B2A500),
+          UINT32_C(0x217131C6), UINT32_C(0x4DEEE35A)},
+         {UINT32_C(0xFFE7C2EB), UINT32_C(0x94E65C8C), UINT32_C(0xB19D4B4A),
+          UINT32_C(0x0DAD7785), UINT32_C(0x925613F9), UINT32_C(0xEEBA6794),
+          UINT32_C(0xE30494CB), UINT32_C(0x6AF45BBE)}},
+        {{UINT32_C(0x32F43F67), UINT32_C(0x41352A61), UINT32_C(0x48F886D3),
+          UINT32_C(0x0D218DE9), UINT32_C(0x9B33B0F6), UINT32_C(0xCDFC0C55),
+          UINT32_C(0x6C5B90CD), UINT32_C(0x21FC6353)},
+         {UINT32_C(0x7898AFF2), UINT32_C(0x5D8CA5AD), UINT32_C(0x24287C30),
+          UINT32_C(0xA743F80E), UINT32_C(0x9084A3A2), UINT32_C(0x4D037131),
+          UINT32_C(0xB5EFC978), UINT32_C(0x52041EED)}},
+        {{UINT32_C(0xCC1BCFCB), UINT32_C(0x80B588EE), UINT32_C(0xE5CE0035),
+          UINT32_C(0xAD871A11), UINT32_C(0xF966D746), UINT32_C(0xF47224D0),
+          UINT32_C(0xB387FCC2), UINT32_C(0x5215A9D2)},
+         {UINT32_C(0x695C02AF), UINT32_C(0xC54EB2E7), UINT32_C(0xDFC8493D),
+          UINT32_C(0x36FD06BC), UINT32_C(0x98CE7C76), UINT32_C(0x1CE8A9AA),
+          UINT32_C(0x644D398B), UINT32_C(0x058DFCBF)}},
+        {{UINT32_C(0x5BB81464), UINT32_C(0xCD7E67DC), UINT32_C(0x047A7789),
+          UINT32_C(0xE7A19301), UINT32_C(0x573E837B), UINT32_C(0xCCC31EE5),
+          UINT32_C(0xAF7703D5), UINT32_C(0x25EE99AF)},
+         {UINT32_C(0xDDB3E807), UINT32_C(0x34FDD6DA), UINT32_C(0x109092DD),
+          UINT32_C(0x273D8288), UINT32_C(0xB7357633), UINT32_C(0xF8F2464F),
+          UINT32_C(0xCCAA31D5), UINT32_C(0x26B2CBAD)}},
+        {{UINT32_C(0xF707F9F7), UINT32_C(0xBA9CFEDE), UINT32_C(0xAC4975FB),
+          UINT32_C(0xA9A6896C), UINT32_C(0xBB1C35E4), UINT32_C(0x62135D9D),
+          UINT32_C(0xCBA133D2), UINT32_C(0x13AE840F)},
+         {UINT32_C(0x4C2BA3A9), UINT32_C(0x6ABF3913), UINT32_C(0x6D8A62C1),
+          UINT32_C(0xE4D8508A), UINT32_C(0x66D96607), UINT32_C(0xF2565354),
+          UINT32_C(0xB6CABAE8), UINT32_C(0x5C368CCE)}},
+        {{UINT32_C(0x8B3999BB), UINT32_C(0x0C3B52E8), UINT32_C(0xEF691871),
+          UINT32_C(0xB752E28F), UINT32_C(0xF17D0D2D), UINT32_C(0xA0460ABC),
+          UINT32_C(0xB7741F2C), UINT32_C(0x7DDCE3C1)},
+         {UINT32_C(0x3673000F), UINT32_C(0x076A6BAB), UINT32_C(0x425E8A9D),
+          UINT32_C(0xCDB1CD2B), UINT32_C(0x2606EAB5), UINT32_C(0x357FCFFF),
+          UINT32_C(0x035DE7B4), UINT32_C(0x308644F8)}},
+        {{UINT32_C(0x6D6FF45E), UINT32_C(0xBA64A127), UINT32_C(0x6B0C3CEF),
+          UINT32_C(0x1F52B6AE), UINT32_C(0xCBF496CB), UINT32_C(0x91295179),
+          UINT32_C(0xA1B12BE4), UINT32_C(0x2B986FAD)},
+         {UINT32_C(0x44DBAF57), UINT32_C(0x243D2366), UINT32_C(0x346E88C2),
+          UINT32_C(0x48E22BBA), UINT32_C(0x8BBAFA0D), UINT32_C(0xCDFB7957),
+          UINT32_C(0x0D70670E), UINT32_C(0x094ED36E)}},
+        {{UINT32_C(0xA0D60407), UINT32_C(0x2BAD1539), UINT32_C(0x6E744111),
+          UINT32_C(0xC1A9286E), UINT32_C(0x81A6DCAA), UINT32_C(0x6D08C0DB),
+          UINT32_C(0x80AFB34F), UINT32_C(0x108F35EC)},
+         {UINT32_C(0x1E3E34AE), UINT32_C(0xBE79A6E3), UINT32_C(0x16D524E5),
+          UINT32_C(0x206EAA28), UINT32_C(0x344ABA64), UINT32_C(0x563B6E1C),
+          UINT32_C(0x3207CA68), UINT32_C(0x6C362A61)}},
+        {{UINT32_C(0xEF9A9A0F), UINT32_C(0x04D8145B), UINT32_C(0xA15B6247),
+          UINT32_C(0x8B57559B), UINT32_C(0x303AFBF3), UINT32_C(0x72D53570),
+          UINT32_C(0xD6DB5736), UINT32_C(0x01C36B41)},
+         {UINT32_C(0x1173B5FA), UINT32_C(0x94D583C9), UINT32_C(0x013C8AAA),
+          UINT32_C(0x71F8E12D), UINT32_C(0xF29CB838), UINT32_C(0xA4B5A532),
+          UINT32_C(0x7CE4EBA4), UINT32_C(0x4B179700)}},
+        {{UINT32_C(0x0CE86FC3), UINT32_C(0x69CFA7B0), UINT32_C(0xD60E076C),
+          UINT32_C(0x3705D7C0), UINT32_C(0xB1091E10), UINT32_C(0xB1A1464A),
+          UINT32_C(0x7FE80950), UINT32_C(0x097945A9)},
+         {UINT32_C(0x9AA381E3), UINT32_C(0xD9C71A95), UINT32_C(0xA410FF56),
+          UINT32_C(0x2A929073), UINT32_C(0xF0FEB121), UINT32_C(0x79EF8353),
+          UINT32_C(0x5F3107E5), UINT32_C(0x1437C4B0)}},
+        {{UINT32_C(0x621DB2E5), UINT32_C(0xC5128C8B), UINT32_C(0x51A9499A),
+          UINT32_C(0x4E9C9B2E), UINT32_C(0xD8CD7594), UINT32_C(0x11535880),
+          UINT32_C(0xB0697C07), UINT32_C(0x35A26F59)},
+         {UINT32_C(0xC43B624E), UINT32_C(0xAB3F4B75), UINT32_C(0xB8E03E6B),
+          UINT32_C(0x69F82105), UINT32_C(0xFB04E036), UINT32_C(0xFB268288),
+          UINT32_C(0xA0BDB41C), UINT32_C(0x6A5E6BD3)}},
+        {{UINT32_C(0xC8082916), UINT32_C(0x8C716A1A), UINT32_C(0x4592472C),
+          UINT32_C(0xB1D1B152), UINT32_C(0x3AB6938A), UINT32_C(0x63657A6D),
+          UINT32_C(0xF03214AE), UINT32_C(0x44882EB6)},
+         {UINT32_C(0xC615AF7D), UINT32_C(0x19575B8A), UINT32_C(0x35EE3D98),
+          UINT32_C(0x14D740C1), UINT32_C(0x57768D2D), UINT32_C(0xBC478E89),
+          UINT32_C(0x13FC5E4C), UINT32_C(0x30CC8FA2)}},
+        {{UINT32_C(0x4EBE1E7C), UINT32_C(0x705607C5), UINT32_C(0x284EDA2B),
+          UINT32_C(0x631E5B88), UINT32_C(0x07F54DDB), UINT32_C(0x07E9E39C),
+          UINT32_C(0x8DCF6BC5), UINT32_C(0x4E554D88)},
+         {UINT32_C(0x0CBAB0FE), UINT32_C(0x12E9FB20), UINT32_C(0xBA5E007F),
+          UINT32_C(0x6F3BC7CE), UINT32_C(0xBC871DF6), UINT32_C(0xA770BA1D),
+          UINT32_C(0xFE01142C), UINT32_C(0x541AA4C6)}},
+    },
+    {
+        {{UINT32_C(0xF2412EC7), UINT32_C(0xBFE26700), UINT32_C(0xCFE96AF4),
+          UINT32_C(0x0E975796), UINT32_C(0xDD6B04F7), UINT32_C(0x7D30BF7C),
+          UINT32_C(0xF1D8FCE4), UINT32_C(0x5421925D)},
+         {UINT32_C(0xEC709107), UINT32_C(0x1CF5E9F5), UINT32_C(0xB4580AA9),
+          UINT32_C(0x124FCFC2), UINT32_C(0x67A835B3), UINT32_C(0x02F7012B),
+          UINT32_C(0x47C0760F), UINT32_C(0x753FE01B)}},
+        {{UINT32_C(0xB1D2A896), UINT32_C(0x82FD5D47), UINT32_C(0x54E75DDB),
+          UINT32_C(0x7EABC175), UINT32_C(0x1AB080BC), UINT32_C(0x724FC3A8),
+          UINT32_C(0xA75C31DD), UINT32_C(0x363D6016)},
+         {UINT32_C(0x863F308F), UINT32_C(0x5D465FF2), UINT32_C(0xE515ADCB),
+          UINT32_C(0x9EC70664), UINT32_C(0xB3BC206A), UINT32_C(0x4BD7A1A2),
+          UINT32_C(0x4A167D34), UINT32_C(0x2022576C)}},
+        {{UINT32_C(0x5CD6AC65), UINT32_C(0xF5AC3451), UINT32_C(0x5839F554),
+          UINT32_C(0x7629731E), UINT32_C(0x93545A60), UINT32_C(0xA3260AE3),
+          UINT32_C(0xA7AD1979), UINT32_C(0x49D190E8)},
+         {UINT32_C(0xF0B35045), UINT32_C(0x5AA8492F), UINT32_C(0x2584E651),
+          UINT32_C(0x4A5FAB7B), UINT32_C(0x395E2AAE), UINT32_C(0x5A05420E),
+          UINT32_C(0x547B4038), UINT32_C(0x30613C78)}},
+        {{UINT32_C(0xF9DAE7E6), UINT32_C(0x47E1C59D), UINT32_C(0x247A5A9D),
+          UINT32_C(0x8D68839B), UINT32_C(0xC1A80D5E), UINT32_C(0x663B5977),
+          UINT32_C(0x40D8CF32), UINT32_C(0x5E51F872)},
+         {UINT32_C(0xECE49494), UINT32_C(0x88ADBF9E), UINT32_C(0x1792BAE8),
+          UINT32_C(0x40B4AC5C), UINT32_C(0x9A1B3314), UINT32_C(0x278200D1),
+          UINT32_C(0xD9F83584), UINT32_C(0x7D15320E)}},
+        {{UINT32_C(0xEAF2BFF8), UINT32_C(0xFE6DAA74), UINT32_C(0xC156AA6B),
+          UINT32_C(0x6E4EE4C0), UINT32_C(0xD0F4E7D5), UINT32_C(0xD9310FF8),
+          UINT32_C(0x7BB0C42D), UINT32_C(0x552EEF9E)},
+         {UINT32_C(0xFDC69E1A), UINT32_C(0x323FF6F1), UINT32_C(0x41D79365),
+          UINT32_C(0x00FA66B7), UINT32_C(0xA96B22B4), UINT32_C(0x0006B16E),
+          UINT32_C(0xD20F07BE), UINT32_C(0x71BBC653)}},
+        {{UINT32_C(0xA440FA1C), UINT32_C(0x89A7B7EE), UINT32_C(0x757CD658),
+          UINT32_C(0x52BB5278), UINT32_C(0xB0CDDEA4), UINT32_C(0xC5906F4B),
+          UINT32_C(0x5DE2D8DA), UINT32_C(0x66AAAFEE)},
+         {UINT32_C(0x53B6E226), UINT32_C(0x4D5E016A), UINT32_C(0x1993A1D7),
+          UINT32_C(0xA2F73DC6), UINT32_C(0xA09DD554), UINT32_C(0x7CDD4C1D),
+          UINT32_C(0xAB416627), UINT32_C(0x6F723079)}},
+        {{UINT32_C(0xC4E5C4AF), UINT32_C(0xE641639E), UINT32_C(0x371CC648),
+          UINT32_C(0x8BC6100D), UINT32_C(0x9B216E8A), UINT32_C(0x7BD161B1),
+          UINT32_C(0xF810DB32), UINT32_C(0x58098AEB)},
+         {UINT32_C(0x5AD92372), UINT32_C(0xEE52BB46), UINT32_C(0xEEF938CA),
+          UINT32_C(0x4B2C48E1), UINT32_C(0xAB43A5D0), UINT32_C(0xE8FDE4D6),
+          UINT32_C(0xA5284C83), UINT32_C(0x459274CD)}},
+        {{UINT32_C(0xD015095D), UINT32_C(0xA98925B0), UINT32_C(0x4611A1A5),
+          UINT32_C(0xC8969F5F), UINT32_C(0x2CE4663B), UINT32_C(0xBDDCD62F),
+          UINT32_C(0xA076C8BE), UINT32_C(0x1C9D9007)},
+         {UINT32_C(0x749F7BE5), UINT32_C(0xE8DE8890), UINT32_C(0xFF208E75),
+          UINT32_C(0xC9E455E7), UINT32_C(0x8F5FAC9A), UINT32_C(0xDCEE17A9),
+          UINT32_C(0x68A3A666), UINT32_C(0x776B72D3)}},
+        {{UINT32_C(0xFEE0E89A), UINT32_C(0x28C7D648), UINT32_C(0x463AF60D),
+          UINT32_C(0x621B370F), UINT32_C(0x5ADC8ACD), UINT32_C(0x9DC1548E),
+          UINT32_C(0xA0B49504), UINT32_C(0x48032ACF)},
+         {UINT32_C(0x85E992D5), UINT32_C(0x146C6EAC), UINT32_C(0x5CB491E0),
+          UINT32_C(0x5A2CB577), UINT32_C(0x454C120A), UINT32_C(0x669DD6D4),
+          UINT32_C(0x98203C39), UINT32_C(0x3431AB33)}},
+        {{UINT32_C(0x9DE017BF), UINT32_C(0xE8761503), UINT32_C(0xB60AE61F),
+          UINT32_C(0xAB117D2F), UINT32_C(0x827937FF), UINT32_C(0x0846463F),
+          UINT32_C(0x6BD89C65), UINT32_C(0x45E6BD40)},
+         {UINT32_C(0xA613BDB8), UINT32_C(0x3160AD67), UINT32_C(0xB8714A49),
+          UINT32_C(0xBD5266F3), UINT32_C(0x51A233E4), UINT32_C(0xF7D29C47),
+          UINT32_C(0x4DE6A90C), UINT32_C(0x6887B48D)}},
+        {{UINT32_C(0xDFDE1EF8), UINT32_C(0x087290A5), UINT32_C(0xA166950A),
+          UINT32_C(0xC70CCB52), UINT32_C(0x4A170AAE), UINT32_C(0xAA7F095B),
+          UINT32_C(0x5517CA0B), UINT32_C(0x15301F4E)},
+         {UINT32_C(0x302F1F84), UINT32_C(0x3C86B787), UINT32_C(0x44676E39),
+          UINT32_C(0x95D41535), UINT32_C(0x9DF5F751), UINT32_C(0xBFEC4AE3),
+          UINT32_C(0x304923D3), UINT32_C(0x4A0D3986)}},
+        {{UINT32_C(0x79B1390C), UINT32_C(0x70FAABA9), UINT32_C(0x62BA8B9E),
+          UINT32_C(0xA9067EEE), UINT32_C(0x1E17DF6F), UINT32_C(0x98789503),
+          UINT32_C(0x78D5B295), UINT32_C(0x5997E8AE)},
+         {UINT32_C(0xAE0C6768), UINT32_C(0x31E13AD7), UINT32_C(0xEF17A7B1),
+          UINT32_C(0x23262F05), UINT32_C(0x49B7B101), UINT32_C(0x15803227),
+          UINT32_C(0x36B5BA70), UINT32_C(0x1234A9C5)}},
+        {{UINT32_C(0x395793AC), UINT32_C(0xED65C961), UINT32_C(0xCCDE1C47),
+          UINT32_C(0x01157CD8), UINT32_C(0x1D5614DF), UINT32_C(0x0D0240B0),
+          UINT32_C(0x568E83A5), UINT32_C(0x0F0DA1EF)},
+         {UINT32_C(0xC0B783C1), UINT32_C(0x57C90846), UINT32_C(0x81E2F613),
+          UINT32_C(0x4501048C), UINT32_C(0xA2709DC1), UINT32_C(0x03D8A69B),
+          UINT32_C(0xA97CCE0E), UINT32_C(0x06F365C4)}},
+        {{UINT32_C(0x551580CD), UINT32_C(0xEAF23159), UINT32_C(0x053DD5EE),
+          UINT32_C(0x0F1E586A), UINT32_C(0x3CBCC3D5), UINT32_C(0xEB7A78DD),
+          UINT32_C(0xB014B850), UINT32_C(0x39BBC65A)},
+         {UINT32_C(0x79B61AC7), UINT32_C(0x13DA4E85), UINT32_C(0x0DA59E37),
+          UINT32_C(0x33E78DCF), UINT32_C(0x2A643C4C), UINT32_C(0x4E65AF25),
+          UINT32_C(0x08869D03), UINT32_C(0x0DC38C97)}},
+        {{UINT32_C(0xA3A38837), UINT32_C(0x2B648345), UINT32_C(0x905E261D),
+          UINT32_C(0x2FA6D8F7), UINT32_C(0x66A14946), UINT32_C(0xA23BD786),
+          UINT32_C(0x5E01CC9A), UINT32_C(0x781633FD)},
+         {UINT32_C(0xE2C71AD1), UINT32_C(0xB1352709), UINT32_C(0x83A6D365),
+          UINT32_C(0x9D745052), UINT32_C(0x66567032), UINT32_C(0xD88B5CAE),
+          UINT32_C(0x53D875CA), UINT32_C(0x27FC40DF)}},
+        {{UINT32_C(0x47F7554F), UINT32_C(0xB254E54C), UINT32_C(0xD708614D),
+          UINT32_C(0x33AD0ED6), UINT32_C(0x76CE908D), UINT32_C(0x830566A3),
+          UINT32_C(0xAA1ADD5C), UINT32_C(0x73DF94BD)},
+         {UINT32_C(0x2DBDD8A3), UINT32_C(0x23EC411F), UINT32_C(0x3A979FDC),
+          UINT32_C(0x9BA47338), UINT32_C(0xC667E9F7), UINT32_C(0x56A2C27F),
+          UINT32_C(0x427E6BFB), UINT32_C(0x295647C7)}},
+    },
+    {
+        {{UINT32_C(0xF8E48C13), UINT32_C(0x9B5F4652), UINT32_C(0x9EEF4BA3),
+          UINT32_C(0xE979034F), UINT32_C(0x7CF5AF6E), UINT32_C(0xF95FD776),
+          UINT32_C(0x506CEB46), UINT32_C(0x4236C47E)},
+         {UINT32_C(0xE08D2312), UINT32_C(0x0C02A249), UINT32_C(0xC056499A),
+          UINT32_C(0xAA5A38CC), UINT32_C(0x7C188B64), UINT32_C(0xCB26A8E2),
+          UINT32_C(0x0AE373D5), UINT32_C(0x38FB961D)}},
+        {{UINT32_C(0x7B23470D), UINT32_C(0xEB179C9E), UINT32_C(0x1EBC44E7),
+          UINT32_C(0xAE70102F), UINT32_C(0x92E0EED0), UINT32_C(0x8184C1D4),
+          UINT32_C(0x5C21BF08), UINT32_C(0x32988281)},
+         {UINT32_C(0x8180D11E), UINT32_C(0x46958967), UINT32_C(0x7FD7278D),
+          UINT32_C(0xEBD5518C), UINT32_C(0xAD2B74F7), UINT32_C(0xFCEB7F68),
+          UINT32_C(0xF9C7B6DA), UINT32_C(0x082D2011)}},
+        {{UINT32_C(0xBBE0299D), UINT32_C(0x65D5AED1), UINT32_C(0xCF565A0A),
+          UINT32_C(0x0077F756), UINT32_C(0x344BB90D), UINT32_C(0xD44FCD6B),
+          UINT32_C(0x536F3F25), UINT32_C(0x6C2A19C0)},
+         {UINT32_C(0xBB2A4D91), UINT32_C(0x32EE7439), UINT32_C(0xED9351E1),
+          UINT32_C(0xA97E677A), UINT32_C(0x413A16E0), UINT32_C(0x6752EDCF),
+          UINT32_C(0x1CE4FBE6), UINT32_C(0x5DE1B0C7)}},
+        {{UINT32_C(0xD6009B36), UINT32_C(0x6C10DA15), UINT32_C(0xE5D8CFBE),
+          UINT32_C(0xAAD05F4F), UINT32_C(0x31D58B76), UINT32_C(0xD8BCE0B4),
+          UINT32_C(0x27B2811B), UINT32_C(0x08DE344E)},
+         {UINT32_C(0x80B51E48), UINT32_C(0xD9A78AAE), UINT32_C(0x3E41C63A),
+          UINT32_C(0x1E1D0A81), UINT32_C(0x8076B3C7), UINT32_C(0x844376DE),
+          UINT32_C(0x5FDF9D53), UINT32_C(0x73F0D4A3)}},
+        {{UINT32_C(0x558C7719), UINT32_C(0xF1532922), UINT32_C(0xA8221197),
+          UINT32_C(0x0F10188A), UINT32_C(0x5DDC1716), UINT32_C(0x51A97E5F),
+          UINT32_C(0x444789E7), UINT32_C(0x0F583A9B)},
+         {UINT32_C(0x97D63B87), UINT32_C(0xAA8FC58D), UINT32_C(0x1CFDA59C),
+          UINT32_C(0xA5AF048B), UINT32_C(0x2DDB34EB), UINT32_C(0x2A4A0C5F),
+          UINT32_C(0x701E2E07), UINT32_C(0x66C0F0C7)}},
+        {{UINT32_C(0x36BE2ABF), UINT32_C(0xC0BC88B8), UINT32_C(0x5C721B85),
+          UINT32_C(0x265CCE74), UINT32_C(0xD54299BA), UINT32_C(0x483EBB01),
+          UINT32_C(0x348ED89E), UINT32_C(0x18F11CBE)},
+         {UINT32_C(0xE42129D4), UINT32_C(0x5E9AE7B9), UINT32_C(0x81DE5B77),
+          UINT32_C(0x6B3E9E8D), UINT32_C(0x7A14A74A), UINT32_C(0xB3ADBAC9),
+          UINT32_C(0x0003B266), UINT32_C(0x1B6CEBB2)}},
+        {{UINT32_C(0x15EB200E), UINT32_C(0xD4D4DD10), UINT32_C(0xFB87C57B),
+          UINT32_C(0xEEAEA4C6), UINT32_C(0x72FF6321), UINT32_C(0x48F0B957),
+          UINT32_C(0xB782B01D), UINT32_C(0x187C4B75)},
+         {UINT32_C(0xE9B4D622), UINT32_C(0x3DC1AACD), UINT32_C(0x3F4ED519),
+          UINT32_C(0x0358418E), UINT32_C(0x773D019C), UINT32_C(0x981A24F8),
+          UINT32_C(0x3DB0B4F4), UINT32_C(0x6643CA91)}},
+        {{UINT32_C(0xD47670E3), UINT32_C(0xE3254F4B), UINT32_C(0x30B1DDE9),
+          UINT32_C(0x98226125), UINT32_C(0xDA8AF160), UINT32_C(0x61EB6C86),
+          UINT32_C(0x18363269), UINT32_C(0x725C7716)},
+         {UINT32_C(0x02F62462), UINT32_C(0xB051DC9F), UINT32_C(0x00AC5531),
+          UINT32_C(0xFF8C9EDF), UINT32_C(0x962A92A3), UINT32_C(0x3909C79B),
+          UINT32_C(0x27790237), UINT32_C(0x25C90D93)}},
+        {{UINT32_C(0x88ADC475), UINT32_C(0x0A5DF2CC), UINT32_C(0xE5D27D0A),
+          UINT32_C(0x48D26967), UINT32_C(0x359FF194), UINT32_C(0x21D5F616),
+          UINT32_C(0x89977CE2), UINT32_C(0x38ACD141)},
+         {UINT32_C(0xFDAA8ACB), UINT32_C(0x39B9BD92), UINT32_C(0x035B62D0),
+          UINT32_C(0xDB157DF2), UINT32_C(0xB7D252D9), UINT32_C(0x4E33386E),
+          UINT32_C(0xCF196258), UINT32_C(0x6BD2E33F)}},
+        {{UINT32_C(0xCE8F10C5), UINT32_C(0xE0806297), UINT32_C(0x8A14B746),
+          UINT32_C(0x446AFD6D), UINT32_C(0xBF566190), UINT32_C(0xD7931F29),
+          UINT32_C(0x86FDB72A), UINT32_C(0x4D9CFBFA)},
+         {UINT32_C(0x95009F63), UINT32_C(0x77528851), UINT32_C(0x34C0FF45),
+          UINT32_C(0x5FE50134), UINT32_C(0x6E134B81), UINT32_C(0xC38CABBB),
+          UINT32_C(0xE36DB037), UINT32_C(0x2E60B277)}},
+        {{UINT32_C(0x57184CA5), UINT32_C(0xA614CF67), UINT32_C(0x25BE01E3),
+          UINT32_C(0x6CBD8D63), UINT32_C(0xA0030BE3), UINT32_C(0xE313EE8D),
+          UINT32_C(0x2B1E7C60), UINT32_C(0x69AF0399)},
+         {UINT32_C(0x50423F30), UINT32_C(0x519ABFBB), UINT32_C(0x486B9519),
+          UINT32_C(0x200111FF), UINT32_C(0x3351F692), UINT32_C(0x6FF93CCB),
+          UINT32_C(0x3ED9BE71), UINT32_C(0x32EB3E54)}},
+        {{UINT32_C(0x54052EBD), UINT32_C(0x0851ACB9), UINT32_C(0x6D2336D7),
+          UINT32_C(0x3A389B7B), UINT32_C(0x17C6ACD9), UINT32_C(0x50A87925),
+          UINT32_C(0xB807D9B1), UINT32_C(0x031FE845)},
+         {UINT32_C(0xE22F7492), UINT32_C(0xA348BB01), UINT32_C(0x05F39661),
+          UINT32_C(0x9547ED36), UINT32_C(0x68EC4AC2), UINT32_C(0x97DF6756),
+          UINT32_C(0x85B7F81B), UINT32_C(0x5836FEFE)}},
+        {{UINT32_C(0x5F0B2ACB), UINT32_C(0x4E4869A6), UINT32_C(0xDEC46001),
+          UINT32_C(0xC4798F3F), UINT32_C(0x00903474), UINT32_C(0x281A4ED6),
+          UINT32_C(0xEFB9AABD), UINT32_C(0x04F22E9D)},
+         {UINT32_C(0xFAA721A4), UINT32_C(0x2AC92264), UINT32_C(0x276F8041),
+          UINT32_C(0xBCE2FF0B), UINT32_C(0xE4943926), UINT32_C(0x5F605607),
+          UINT32_C(0x55506DF7), UINT32_C(0x388C5FAB)}},
+        {{UINT32_C(0xAB5687E2), UINT32_C(0xFF104F6D), UINT32_C(0x3B2D0245),
+          UINT32_C(0x1B6DAFE9), UINT32_C(0x81B2EC4B), UINT32_C(0x6405C026),
+          UINT32_C(0xF489EBBC), UINT32_C(0x2B7676DA)},
+         {UINT32_C(0x6DA1F57A), UINT32_C(0xBAA158F0), UINT32_C(0x27A8457F),
+          UINT32_C(0x9CB044AD), UINT32_C(0xA3BBD6C9), UINT32_C(0xC23737A5),
+          UINT32_C(0x1D2267E1), UINT32_C(0x71FB5B47)}},
+        {{UINT32_C(0xD14F56E4), UINT32_C(0x779BD825), UINT32_C(0x08396F23),
+          UINT32_C(0xD7E672A0), UINT32_C(0xD40BA6EE), UINT32_C(0x23FE3FC0),
+          UINT32_C(0x3B56A3AB), UINT32_C(0x41E749E7)},
+         {UINT32_C(0x72042F67), UINT32_C(0xD19471CE), UINT32_C(0x4989D4D7),
+          UINT32_C(0x8A686DA7), UINT32_C(0x4FA09BC9), UINT32_C(0x52A709C6),
+          UINT32_C(0xB3B6AA64), UINT32_C(0x1DC21162)}},
+        {{UINT32_C(0xF9B3BD1D), UINT32_C(0x62C9838B), UINT32_C(0x0CE6384C),
+          UINT32_C(0x1EE59E5A), UINT32_C(0xECE8CC7F), UINT32_C(0xA9F5ABF6),
+          UINT32_C(0x80BDDA83), UINT32_C(0x1961D80F)},
+         {UINT32_C(0xCA406FB1), UINT32_C(0x7A40880C), UINT32_C(0xDFBCE2E4),
+          UINT32_C(0x5035D307), UINT32_C(0x3D637299), UINT32_C(0x590259E0),
+          UINT32_C(0xD6C34E05), UINT32_C(0x1607AC9F)}},
+    },
+    {
+        {{UINT32_C(0x9D818B72), UINT32_C(0x4ABC2710), UINT32_C(0x092607B7),
+          UINT32_C(0x2496CEA6), UINT32_C(0x055C4EC8), UINT32_C(0xFB1087E1),
+          UINT32_C(0x258ADC7D), UINT32_C(0x50A30C6A)},
+         {UINT32_C(0x0FF502E3), UINT32_C(0xAF4EB6B3), UINT32_C(0x190607AB),
+          UINT32_C(0x5D5D76AD), UINT32_C(0x34482C13), UINT32_C(0xC9C9B711),
+          UINT32_C(0x42213696), UINT32_C(0x574A9718)}},
+        {{UINT32_C(0x7018FC70), UINT32_C(0x7C90FAFD), UINT32_C(0x2B83291C),
+          UINT32_C(0x36A04559), UINT32_C(0x40D1B175), UINT32_C(0x6120B51E),
+          UINT32_C(0x3DCF9606), UINT32_C(0x45F10B20)},
+         {UINT32_C(0xF20C5636), UINT32_C(0x3C6A9EFF), UINT32_C(0xFFBBC648),
+          UINT32_C(0xB2768BA3), UINT32_C(0xB523B36C), UINT32_C(0x1C9DF90A),
+          UINT32_C(0xD6FF34ED), UINT32_C(0x4148BF06)}},
+        {{UINT32_C(0x3B5F9492), UINT32_C(0x3D29821A), UINT32_C(0x90B24561),
+          UINT32_C(0xAE12C782), UINT32_C(0x8A3BDC5F), UINT32_C(0xEF6FB277),
+          UINT32_C(0xAC3BD74E), UINT32_C(0x6034BF3B)},
+         {UINT32_C(0x4ACB6F85), UINT32_C(0x131D57CD), UINT32_C(0x3BE79B31),
+          UINT32_C(0xDED1C433), UINT32_C(0x78A896B8), UINT32_C(0xB0913489),
+          UINT32_C(0xB287862C), UINT32_C(0x1247C0B7)}},
+        {{UINT32_C(0x7C494054), UINT32_C(0xEB642893), UINT32_C(0x22142D26),
+          UINT32_C(0x79227930), UINT32_C(0x943E8398), UINT32_C(0x8F1C8371),
+          UINT32_C(0x60886DB7), UINT32_C(0x583C7AEF)},
+         {UINT32_C(0x3A12EE0E), UINT32_C(0xAFE46022), UINT32_C(0xB6CB8685),
+          UINT32_C(0xE9C9253A), UINT32_C(0x6316A4C6), UINT32_C(0x5334F9DD),
+          UINT32_C(0xE6F1DEE9), UINT32_C(0x4E2F13D8)}},
+        {{UINT32_C(0xB37D8BA5), UINT32_C(0x7499A5B4), UINT32_C(0x1C9BCDE2),
+          UINT32_C(0xA12AA637), UINT32_C(0xBFD6AE86), UINT32_C(0xCC99471D),
+          UINT32_C(0x92048D63), UINT32_C(0x09966378)},
+         {UINT32_C(0x552E71A3), UINT32_C(0x42CBFA9D), UINT32_C(0x675C1716),
+          UINT32_C(0x84A8B153), UINT32_C(0x4CF00A7D), UINT32_C(0xB9C07C0E),
+          UINT32_C(0x0DA504DB), UINT32_C(0x32E2322B)}},
+        {{UINT32_C(0xE671EE59), UINT32_C(0x569F581F), UINT32_C(0x422E86C7),
+          UINT32_C(0x293522D7), UINT32_C(0x15DCEF10), UINT32_C(0x5E4CEA7E),
+          UINT32_C(0x483C0FE3), UINT32_C(0x67C8A9FC)},
+         {UINT32_C(0x47B79284), UINT32_C(0x4DE5AC09), UINT32_C(0x025016BA),
+          UINT32_C(0x22AB8FBD), UINT32_C(0x2A099B37), UINT32_C(0x51318C23),
+          UINT32_C(0x49E06623), UINT32_C(0x542EA0FA)}},
+        {{UINT32_C(0x28909F31), UINT32_C(0xDD240F64), UINT32_C(0x101B7F01),
+          UINT32_C(0x46B66F9E), UINT32_C(0x20481C3F), UINT32_C(0x788C29CA),
+          UINT32_C(0xCA5D5182), UINT32_C(0x3218A509)},
+         {UINT32_C(0x63E9A2B9), UINT32_C(0x64BCC7AD), UINT32_C(0xADDF5C0B),
+          UINT32_C(0x3D213CA2), UINT32_C(0x9960D650), UINT32_C(0x6D93ED4C),
+          UINT32_C(0x284EE5F3), UINT32_C(0x3F13DB22)}},
+        {{UINT32_C(0x6697E0D1), UINT32_C(0x5B678C3A), UINT32_C(0x16D9D878),
+          UINT32_C(0x25A171F4), UINT32_C(0xFAEC362B), UINT32_C(0xC20A6D80),
+          UINT32_C(0xC512EA4B), UINT32_C(0x1BB3F14C)},
+         {UINT32_C(0x2AE35FA5), UINT32_C(0xECE5313B), UINT32_C(0xBBD76B87),
+          UINT32_C(0xE390A01F), UINT32_C(0x882DA3FC), UINT32_C(0xC78EA4C5),
+          UINT32_C(0x42086A77), UINT32_C(0x771BCDAE)}},
+        {{UINT32_C(0x565802E9), UINT32_C(0x8E9E3C8B), UINT32_C(0x53FA1BE7),
+          UINT32_C(0xC37A7B35), UINT32_C(0x4408FB77), UINT32_C(0x9D2F1A26),
+          UINT32_C(0xFF308B7B), UINT32_C(0x0B3ECE36)},
+         {UINT32_C(0x1F30FC37), UINT32_C(0x8FB35B36), UINT32_C(0x83E1A3C9),
+          UINT32_C(0x463B44E2), UINT32_C(0x3402233A), UINT32_C(0x7218F09F),
+          UINT32_C(0xFC9A6990), UINT32_C(0x1519638A)}},
+        {{UINT32_C(0x8EAAC478), UINT32_C(0x51FB3E5D), UINT32_C(0x760ED4EC),
+          UINT32_C(0x620E4826), UINT32_C(0x1D865577), UINT32_C(0x46FC5B1F),
+          UINT32_C(0x5244A538), UINT32_C(0x15EF2AD9)},
+         {UINT32_C(0x4BF382BD), UINT32_C(0x8D7E477C), UINT32_C(0x02A5C9EE),
+          UINT32_C(0xCBF170C9), UINT32_C(0x4AFB0EC1), UINT32_C(0xB91A870C),
+          UINT32_C(0x69C31425), UINT32_C(0x052FFC51)}},
+        {{UINT32_C(0x2018D066), UINT32_C(0x1FD43746), UINT32_C(0x4C67FC35),
+          UINT32_C(0xBC501517), UINT32_C(0xBC990EB6), UINT32_C(0xE65BC2FB),
+          UINT32_C(0x73F87F92), UINT32_C(0x538CA6F9)},
+         {UINT32_C(0x8352B03F), UINT32_C(0x42FBDAE0), UINT32_C(0x99A4C9B9),
+          UINT32_C(0xF265B1E0), UINT32_C(0x185CA070), UINT32_C(0x6E3EAB2F),
+          UINT32_C(0x37D0A2C1), UINT32_C(0x6E6F4F7D)}},
+        {{UINT32_C(0xC2D5D73E), UINT32_C(0x9B20D8EE), UINT32_C(0x75844C15),
+          UINT32_C(0x190521AE), UINT32_C(0x26AD08FE), UINT32_C(0x67663AC4),
+          UINT32_C(0xF984EC06), UINT32_C(0x67AEEFEF)},
+         {UINT32_C(0xCBDD87EF), UINT32_C(0x61C71142), UINT32_C(0x63396E3B),
+          UINT32_C(0x0FA4995B), UINT32_C(0x85C193B0), UINT32_C(0x3196E551),
+          UINT32_C(0xDACB3A3D), UINT32_C(0x36C0A2A8)}},
+        {{UINT32_C(0x178A1115), UINT32_C(0xEAB89FDC), UINT32_C(0xD7C31303),
+          UINT32_C(0xC7B764D8), UINT32_C(0x90203755), UINT32_C(0xA5B2D6FB),
+          UINT32_C(0xD5F8AEEE), UINT32_C(0x3C360BF9)},
+         {UINT32_C(0x02F1CC3C), UINT32_C(0x8DFDCD05), UINT32_C(0x64E5269E),
+          UINT32_C(0x7F8A64D2), UINT32_C(0xEA13FFD7), UINT32_C(0xA36196EC),
+          UINT32_C(0x77E3839F), UINT32_C(0x35E22415)}},
+        {{UINT32_C(0xE22E0C52), UINT32_C(0x29E7AB0B), UINT32_C(0x8B27DEDA),
+          UINT32_C(0x68BF32C7), UINT32_C(0xDC7971AE), UINT32_C(0x52A762A2),
+          UINT32_C(0x18B0CDCC), UINT32_C(0x4CA43487)},
+         {UINT32_C(0x3FCEAF73), UINT32_C(0xED429DA1), UINT32_C(0x06718D19),
+          UINT32_C(0x49396E6F), UINT32_C(0x5BB3301C), UINT32_C(0xDECB9337),
+          UINT32_C(0x0FF489B1), UINT32_C(0x4B7723C1)}},
+        {{UINT32_C(0xABEE6B9B), UINT32_C(0xAE321F09), UINT32_C(0x37318F60),
+          UINT32_C(0xF251BF4D), UINT32_C(0xB63DC269), UINT32_C(0xB0A8A251),
+          UINT32_C(0x71817963), UINT32_C(0x514A25FC)},
+         {UINT32_C(0x55C9B2E9), UINT32_C(0x518F5747), UINT32_C(0x1C9B4845),
+          UINT32_C(0x3E56CC3E), UINT32_C(0x283AE1FA), UINT32_C(0xBDFD637A),
+          UINT32_C(0xC3DE778E), UINT32_C(0x419BA4B4)}},
+        {{UINT32_C(0xBCD2EB74), UINT32_C(0xC7F18E93), UINT32_C(0xFC61FB42),
+          UINT32_C(0x171264C8), UINT32_C(0x85119033), UINT32_C(0x27282E76),
+          UINT32_C(0xD7DB91C7), UINT32_C(0x225006A4)},
+         {UINT32_C(0x1ECF5024), UINT32_C(0x628E0F3C), UINT32_C(0x00859CDE),
+          UINT32_C(0xDC5111E0), UINT32_C(0x1F220711), UINT32_C(0x4AB1764F),
+          UINT32_C(0x70DDED3C), UINT32_C(0x7C6916F1)}},
+    },
+    {
+        {{UINT32_C(0x5F0CA58A), UINT32_C(0xF9FFE8FC), UINT32_C(0x22879EBB),
+          UINT32_C(0x09E34F30), UINT32_C(0xED7B0520), UINT32_C(0x648D6339),
+          UINT32_C(0x1AF5ECDC), UINT32_C(0x0D6719D0)},
+         {UINT32_C(0x0B8590E4), UINT32_C(0x2878714D), UINT32_C(0x90EC312B),
+          UINT32_C(0x827D04ED), UINT32_C(0x3B5767C3), UINT32_C(0xD415C8B4),
+          UINT32_C(0xC09FD18D), UINT32_C(0x4170F0AD)}},
+        {{UINT32_C(0x3C601031), UINT32_C(0x9B649CFC), UINT32_C(0x636DDAE7),
+          UINT32_C(0x0478603A), UINT32_C(0x914E100A), UINT32_C(0xDC972DFA),
+          UINT32_C(0x091621AE), UINT32_C(0x519C55DF)},
+         {UINT32_C(0xD4A9963D), UINT32_C(0x863046CB), UINT32_C(0x5ACF7C0C),
+          UINT32_C(0xDF16763C), UINT32_C(0xFF5468A4), UINT32_C(0x4999A93E),
+          UINT32_C(0x424074A5), UINT32_C(0x35543EFF)}},
+        {{UINT32_C(0xDD33307C), UINT32_C(0x27B1DBFA), UINT32_C(0x927CA6F3),
+          UINT32_C(0xA0D04784), UINT32_C(0xA37CF855), UINT32_C(0xBD3EBC5E),
+          UINT32_C(0x49F5AA2C), UINT32_C(0x59D02EF5)},
+         {UINT32_C(0xBDD57BF3), UINT32_C(0xCDABE86F), UINT32_C(0x37819D86),
+          UINT32_C(0x7B3ADD2F), UINT32_C(0x0413B7B0), UINT32_C(0x7B90BA15),
+          UINT32_C(0x6B99685B), UINT32_C(0x47071782)}},
+        {{UINT32_C(0xEF0CE97F), UINT32_C(0xB7C3218E), UINT32_C(0x0898C79C),
+          UINT32_C(0xDAE3B56C), UINT32_C(0x0908877D), UINT32_C(0x6349D83D),
+          UINT32_C(0xC81E8C4E), UINT32_C(0x0970C6C0)},
+         {UINT32_C(0xA47F426C), UINT32_C(0x0E45C4A7), UINT32_C(0x3FBB194E),
+          UINT32_C(0xAB000A59), UINT32_C(0x3A6DD13E), UINT32_C(0x570FBBA5),
+          UINT32_C(0xC8F44A57), UINT32_C(0x66045580)}},
+        {{UINT32_C(0x12A72F7F), UINT32_C(0x5ABEB749), UINT32_C(0x7AE56F4D),
+          UINT32_C(0x15072A92), UINT32_C(0x222AB2C4), UINT32_C(0x1C77AE00),
+          UINT32_C(0x9AFE63DE), UINT32_C(0x591EAEC6)},
+         {UINT32_C(0xDFD24304), UINT32_C(0xB51D41AF), UINT32_C(0xDFBCC096),
+          UINT32_C(0xDE28DF26), UINT32_C(0x38A20DA7), UINT32_C(0x02F046C8),
+          UINT32_C(0x1AE0A45B), UINT32_C(0x5EC3DBDC)}},
+        {{UINT32_C(0x63DD86C2), UINT32_C(0x7C19BD75), UINT32_C(0x8D78A57B),
+          UINT32_C(0xDB119311), UINT32_C(0x23C5C4E7), UINT32_C(0xF48BB4FA),
+          UINT32_C(0x97DB0A05), UINT32_C(0x65514C1C)},
+         {UINT32_C(0x43CAC49C), UINT32_C(0x1BC1F2F0), UINT32_C(0x2851B4BE),
+          UINT32_C(0x975FEB51), UINT32_C(0xDD60D530), UINT32_C(0x0E0A4633),
+          UINT32_C(0x09B1D2C6), UINT32_C(0x32BBBF14)}},
+        {{UINT32_C(0xA670EAC0), UINT32_C(0x79124749), UINT32_C(0x31DD893C),
+          UINT32_C(0x504D89D5), UINT32_C(0xE0654D63), UINT32_C(0xDDCED74C),
+          UINT32_C(0xE2208707), UINT32_C(0x58956BE5)},
+         {UINT32_C(0x437E7077), UINT32_C(0xBE6A3ECD), UINT32_C(0x574095C8),
+          UINT32_C(0xB8AB332D), UINT32_C(0x3869DA42), UINT32_C(0x4E79AC1C),
+          UINT32_C(0x68859F51), UINT32_C(0x79D4C3FB)}},
+        {{UINT32_C(0x7936A831), UINT32_C(0x1E5FC1B9), UINT32_C(0xD74F1F41),
+          UINT32_C(0x1EA42ED2), UINT32_C(0xC4EA3228), UINT32_C(0x33D22EC1),
+          UINT32_C(0x729BEBFE), UINT32_C(0x5705333F)},
+         {UINT32_C(0x64596076), UINT32_C(0xDBD1A67B), UINT32_C(0xFA65BA98),
+          UINT32_C(0x6BFF269D), UINT32_C(0x6C47E715), UINT32_C(0x8451A9C2),
+          UINT32_C(0x22898DB3), UINT32_C(0x243D679D)}},
+        {{UINT32_C(0xB8323FD0), UINT32_C(0xE935D705), UINT32_C(0x6937E5CB),
+          UINT32_C(0xE2DA8845), UINT32_C(0x4A5EAE1E), UINT32_C(0x1C9DFFF8),
+          UINT32_C(0x45DF7A79), UINT32_C(0x796F0B95)},
+         {UINT32_C(0x640DBA32), UINT32_C(0xC24D573F), UINT32_C(0x02E4B792),
+          UINT32_C(0x2B775217), UINT32_C(0x94D12C40), UINT32_C(0xD437EB63),
+          UINT32_C(0x4AD371F0), UINT32_C(0x6182AF6D)}},
+        {{UINT32_C(0x41FC7551), UINT32_C(0x133EDA52), UINT32_C(0xE91714AF),
+          UINT32_C(0xA0088A2B), UINT32_C(0x5E0A73C0), UINT32_C(0xB41B9AC2),
+          UINT32_C(0x1D3B3953), UINT32_C(0x4808BB5A)},
+         {UINT32_C(0x2B9AE648), UINT32_C(0xD875AA14), UINT32_C(0x2408244C),
+          UINT32_C(0x4F38C946), UINT32_C(0xFF051A87), UINT32_C(0x04B6B941),
+          UINT32_C(0x6DF48ECD), UINT32_C(0x1D5B0B9E)}},
+        {{UINT32_C(0x169E757F), UINT32_C(0x27FD368A), UINT32_C(0x7B94D9DB),
+          UINT32_C(0x2ACB3560), UINT32_C(0x4D4C9B5F), UINT32_C(0x81903F4B),
+          UINT32_C(0x169B81DE), UINT32_C(0x641F806C)},
+         {UINT32_C(0x9E957475), UINT32_C(0x574E9444), UINT32_C(0xC6C8EE52),
+          UINT32_C(0xE08814AE), UINT32_C(0x6C84FDDF), UINT32_C(0xD1AE71EC),
+          UINT32_C(0xFAA040D9), UINT32_C(0x44A56014)}},
+        {{UINT32_C(0x75A48F60), UINT32_C(0x06DA6908), UINT32_C(0xBB2CD408),
+          UINT32_C(0x7BA6C9CB), UINT32_C(0x3A1BCBFF), UINT32_C(0x57D2D0FF),
+          UINT32_C(0x8928CE36), UINT32_C(0x186F1A8B)},
+         {UINT32_C(0x7A40F877), UINT32_C(0x0FFD205B), UINT32_C(0x01AF68F7),
+          UINT32_C(0x2915BC8E), UINT32_C(0xC36A5FB1), UINT32_C(0x816AC4DF),
+          UINT32_C(0x2C9E1F7D), UINT32_C(0x609B0A87)}},
+        {{UINT32_C(0xB97536FB), UINT32_C(0x4032AC5E), UINT32_C(0xA7C5EDB6),
+          UINT32_C(0x53E6FE68), UINT32_C(0x5F0DCBA1), UINT32_C(0x2F414930),
+          UINT32_C(0x2837E314), UINT32_C(0x20975256)},
+         {UINT32_C(0x3C3C1D27), UINT32_C(0xDF5DC496), UINT32_C(0x71797C36),
+          UINT32_C(0x0DFDAAF3), UINT32_C(0xDA504E04), UINT32_C(0x5F3E9229),
+          UINT32_C(0x8C234246), UINT32_C(0x354EA88D)}},
+        {{UINT32_C(0x0922D317), UINT32_C(0xAF6741C3), UINT32_C(0x9DF0A572),
+          UINT32_C(0x7429853B), UINT32_C(0x1DC207A8), UINT32_C(0x0EA1AE04),
+          UINT32_C(0x450075F5), UINT32_C(0x2C1DAA1C)},
+         {UINT32_C(0x6ED729B4), UINT32_C(0x27C71F16), UINT32_C(0x53AB8EC0),
+          UINT32_C(0x785718A6), UINT32_C(0xA8465487), UINT32_C(0x1EEC7BBF),
+          UINT32_C(0x4C578BA9), UINT32_C(0x78DA9B04)}},
+        {{UINT32_C(0xB3B707FA), UINT32_C(0xFF9ED65E), UINT32_C(0xF5D28D33),
+          UINT32_C(0xF8C8301F), UINT32_C(0xA65F5C0F), UINT32_C(0xB15D498F),
+          UINT32_C(0xB0EF2B89), UINT32_C(0x6DEF256D)},
+         {UINT32_C(0x52184EF6), UINT32_C(0x0D40A6B2), UINT32_C(0x2BF06F5A),
+          UINT32_C(0xC702EBE5), UINT32_C(0x4BA041AA), UINT32_C(0x13E50E18),
+          UINT32_C(0x7EC4C784), UINT32_C(0x53552D88)}},
+        {{UINT32_C(0xF28ABB3A), UINT32_C(0x2CD09B19), UINT32_C(0x724EDB9B),
+          UINT32_C(0x4F5C040F), UINT32_C(0xE0DCBD16), UINT32_C(0xD6820590),
+          UINT32_C(0x1B7155A3), UINT32_C(0x45D84DE9)},
+         {UINT32_C(0xA251B1BA), UINT32_C(0x995BDD01), UINT32_C(0x37CAA4DC),
+          UINT32_C(0x607F9517), UINT32_C(0xA15D9674), UINT32_C(0x747FEA1C),
+          UINT32_C(0x73E97C97), UINT32_C(0x646C1876)}},
+    },
+    {
+        {{UINT32_C(0x6FAC1486), UINT32_C(0x1951682B), UINT32_C(0x4A4D14C5),
+          UINT32_C(0x8B578E1E), UINT32_C(0xB7384D42), UINT32_C(0x083FA101),
+          UINT32_C(0xED1C8A87), UINT32_C(0x13380CE9)},
+         {UINT32_C(0x732A493B), UINT32_C(0xC7052ED8), UINT32_C(0xB32E3D69),
+          UINT32_C(0xD5FEF40F), UINT32_C(0x88833566), UINT32_C(0xA64ACE87),
+          UINT32_C(0x4177DC00), UINT32_C(0x6E36CFDB)}},
+        {{UINT32_C(0xE742C3B4), UINT32_C(0xAA14E281), UINT32_C(0xEE5AF40A),
+          UINT32_C(0xB75E7B2A), UINT32_C(0x1616EFA2), UINT32_C(0x3FC5FF0B),
+          UINT32_C(0xAD763298), UINT32_C(0x090259B0)},
+         {UINT32_C(0x38753438), UINT32_C(0x4105B57E), UINT32_C(0xCF2D8926),
+          UINT32_C(0x70ED1A00), UINT32_C(0x322F40BB), UINT32_C(0x78921395),
+          UINT32_C(0x67A3FF56), UINT32_C(0x3AEE8199)}},
+        {{UINT32_C(0x11EA75FC), UINT32_C(0x88073D00), UINT32_C(0x06A4B4EB),
+          UINT32_C(0xD23D2796), UINT32_C(0xD85D3A6B), UINT32_C(0x1FD22F9E),
+          UINT32_C(0xAFB43B70), UINT32_C(0x6B5EA051)},
+         {UINT32_C(0xD99BE576), UINT32_C(0x96C9C176), UINT32_C(0x4C47261E),
+          UINT32_C(0x85AC2B6C), UINT32_C(0x99A9C378), UINT32_C(0x27263959),
+          UINT32_C(0x8B5CABDA), UINT32_C(0x6D36E9FE)}},
+        {{UINT32_C(0xA58F614C), UINT32_C(0xC9FC7661), UINT32_C(0x2E45AE73),
+          UINT32_C(0x82AA317D), UINT32_C(0xC8CB9CC7), UINT32_C(0xDCB1925F),
+          UINT32_C(0x27813205), UINT32_C(0x1341C1AA)},
+         {UINT32_C(0x6CD478AB), UINT32_C(0xDD06745B), UINT32_C(0x1E28F6A3),
+          UINT32_C(0x0C2534B2), UINT32_C(0x9D27FE63), UINT32_C(0xE2183345),
+          UINT32_C(0x06466147), UINT32_C(0x7F1E2A33)}},
+        {{UINT32_C(0x5AEE2471), UINT32_C(0x378D727E), UINT32_C(0xD47739B6),
+          UINT32_C(0xB718FC17), UINT32_C(0x4145E8EF), UINT32_C(0xDA27CB9B),
+          UINT32_C(0x0EF2AB20), UINT32_C(0x3F8AB1A3)},
+         {UINT32_C(0xE16C0141), UINT32_C(0xA89ADD37), UINT32_C(0x59DF1C95),
+          UINT32_C(0x2127823B), UINT32_C(0xB7455CC2), UINT32_C(0x53F90B73),
+          UINT32_C(0x1183FBE5), UINT32_C(0x7F960586)}},
+        {{UINT32_C(0xE77235C3), UINT32_C(0x56D0475A), UINT32_C(0xB18ED61A),
+          UINT32_C(0xED2907C5), UINT32_C(0x7D73F6F8), UINT32_C(0x2D02C4CB),
+          UINT32_C(0xC42E7AED), UINT32_C(0x35EF69B4)},
+         {UINT32_C(0x31B7324A), UINT32_C(0x53A6120A), UINT32_C(0x59F1A395),
+          UINT32_C(0x982DD221), UINT32_C(0x835CFD94), UINT32_C(0x03ECA86F),
+          UINT32_C(0x73CA1BD5), UINT32_C(0x4CBA837D)}},
+        {{UINT32_C(0x41B17E6D), UINT32_C(0x64F66D39), UINT32_C(0xCB14F3B3),
+          UINT32_C(0x3C869BF5), UINT32_C(0x28350EFA), UINT32_C(0x1EBA045A),
+          UINT32_C(0xC7CDEC47), UINT32_C(0x7ACFB882)},
+         {UINT32_C(0x8FB3097B), UINT32_C(0x7ACFD28D), UINT32_C(0x62986426),
+          UINT32_C(0xDA397C31), UINT32_C(0x2A1A7A94), UINT32_C(0xD49F8421),
+          UINT32_C(0xFAB65156), UINT32_C(0x7B372E2D)}},
+        {{UINT32_C(0x01D9DB0F), UINT32_C(0x3ADBDD07), UINT32_C(0x94FF0CFB),
+          UINT32_C(0x617521E6), UINT32_C(0x3F5BD583), UINT32_C(0x5BA5905C),
+          UINT32_C(0x78670CD1), UINT32_C(0x6F896033)},
+         {UINT32_C(0xFB98EA11), UINT32_C(0x0A59C447), UINT32_C(0x653EDC59),
+          UINT32_C(0x59B918CC), UINT32_C(0x9F72C01E), UINT32_C(0x00BF4D2A),
+          UINT32_C(0x47DEE00F), UINT32_C(0x748455D1)}},
+        {{UINT32_C(0x386E7491), UINT32_C(0xE371A7A8), UINT32_C(0x621A3484),
+          UINT32_C(0xF71711CC), UINT32_C(0xE0015C3B), UINT32_C(0x1568256E),
+          UINT32_C(0x7D3FFDE9), UINT32_C(0x5ACEF7A6)},
+         {UINT32_C(0xB08E4219), UINT32_C(0x02ED70E5), UINT32_C(0x832AC3AA),
+          UINT32_C(0x7ECE1726), UINT32_C(0x951D1CA2), UINT32_C(0xC3C0D32B),
+          UINT32_C(0x38DECC59), UINT32_C(0x4C991664)}},
+        {{UINT32_C(0x96EB21A4), UINT32_C(0xB99DF8BA), UINT32_C(0x2BBF8E6D),
+          UINT32_C(0xB88D25F4), UINT32_C(0x686DAA3C), UINT32_C(0x16B3E0B1),
+          UINT32_C(0x70D47C57), UINT32_C(0x11314561)},
+         {UINT32_C(0x3338342D), UINT32_C(0x8DCDC3D1), UINT32_C(0x88E028A7),
+          UINT32_C(0xE6D39B01), UINT32_C(0x72855B5E), UINT32_C(0xB781F1ED),
+          UINT32_C(0xCC192572), UINT32_C(0x0E0D82F6)}},
+        {{UINT32_C(0xCF1E20AA), UINT32_C(0xC86A8E5D), UINT32_C(0xF9AB96D5),
+          UINT32_C(0x1A87AEF3), UINT32_C(0xF3D19051), UINT32_C(0xA8941635),
+          UINT32_C(0x654FFF15), UINT32_C(0x67B1D0A2)},
+         {UINT32_C(0x92862ACD), UINT32_C(0x266FD5ED), UINT32_C(0xD11DEEAC),
+          UINT32_C(0xB72587BE), UINT32_C(0xD09320AA), UINT32_C(0x5CF0D2E2),
+          UINT32_C(0x515E0277), UINT32_C(0x68456EBA)}},
+        {{UINT32_C(0x771F64CA), UINT32_C(0x86A5461C), UINT32_C(0x48FF8D7A),
+          UINT32_C(0xB7A220B7), UINT32_C(0xD7A568D1), UINT32_C(0x9A0DD72A),
+          UINT32_C(0xF644D858), UINT32_C(0x18F5E1DC)},
+         {UINT32_C(0x3E00364F), UINT32_C(0xB7AE1BC2), UINT32_C(0xCEE8D9F7),
+          UINT32_C(0xD7EA31F3), UINT32_C(0xDCDB883D), UINT32_C(0xD18DA30F),
+          UINT32_C(0xCBA00F48), UINT32_C(0x179CFCA5)}},
+        {{UINT32_C(0x39E7860C), UINT32_C(0x496F2C01), UINT32_C(0x27F15EAF),
+          UINT32_C(0xACDF8B40), UINT32_C(0x687AC815), UINT32_C(0x8871966C),
+          UINT32_C(0x8DB8FDB5), UINT32_C(0x6228F1B5)},
+         {UINT32_C(0xF30ECF2B), UINT32_C(0x8644656A), UINT32_C(0xAE1DEAFF),
+          UINT32_C(0x15576CC2), UINT32_C(0x697AB3FC), UINT32_C(0x93D86D56),
+          UINT32_C(0x811E3FF2), UINT32_C(0x3E4A428E)}},
+        {{UINT32_C(0x91B9F5DF), UINT32_C(0xFB85DE3D), UINT32_C(0xB20A9C71),
+          UINT32_C(0xCDB595D4), UINT32_C(0xB44D671E), UINT32_C(0x55CB08F3),
+          UINT32_C(0xFCD7D5ED), UINT32_C(0x780FC2E5)},
+         {UINT32_C(0x7F939366), UINT32_C(0x815AB41F), UINT32_C(0xECD52B20),
+          UINT32_C(0xA7597A02), UINT32_C(0x4648E3C5), UINT32_C(0x9BE078F0),
+          UINT32_C(0x17BD3DC2), UINT32_C(0x7A3E2179)}},
+        {{UINT32_C(0x9D9E5E53), UINT32_C(0x22758C41), UINT32_C(0x9EF09FAE),
+          UINT32_C(0x44D675F4), UINT32_C(0x27159F97), UINT32_C(0x1AB7986D),
+          UINT32_C(0xB6B9465B), UINT32_C(0x72B3F02B)},
+         {UINT32_C(0xFE56F578), UINT32_C(0xA372FAC7), UINT32_C(0xDA534F4A),
+          UINT32_C(0x33FA6479), UINT32_C(0xDF63BF2D), UINT32_C(0xB0003307),
+          UINT32_C(0xB80D0F64), UINT32_C(0x34D40B4D)}},
+        {{UINT32_C(0x3D2B9FC2), UINT32_C(0x8A8929DC), UINT32_C(0x55EE75E5),
+          UINT32_C(0x7D12E86C), UINT32_C(0x92E1A870), UINT32_C(0xB3FE1AD3),
+          UINT32_C(0x729CFE4C), UINT32_C(0x27148C94)},
+         {UINT32_C(0x18BA868B), UINT32_C(0x6A8C3B52), UINT32_C(0x7F038A9C),
+          UINT32_C(0xDD2006E4), UINT32_C(0xB7124908), UINT32_C(0x4606FA9E),
+          UINT32_C(0xF4940CB1), UINT32_C(0x434A8C07)}},
+    },
+    {
+        {{UINT32_C(0xF98B91EA), UINT32_C(0x15F36EBE), UINT32_C(0xC1ED17B1),
+          UINT32_C(0x94D802DE), UINT32_C(0x085D77F8), UINT32_C(0x3C45FA08),
+          UINT32_C(0x02FF571A), UINT32_C(0x0A30B3C3)},
+         {UINT32_C(0x264C93D0), UINT32_C(0x70F5852D), UINT32_C(0x191AEE57),
+          UINT32_C(0x5E51BCAB), UINT32_C(0xFAD8E96E), UINT32_C(0xD5C14AE9),
+          UINT32_C(0xD4BC414B), UINT32_C(0x73B00534)}},
+        {{UINT32_C(0x12AFF5E7), UINT32_C(0x21CF876B), UINT32_C(0xF75799A6),
+          UINT32_C(0x3E9F664C), UINT32_C(0x9A0E73CD), UINT32_C(0xC23B7D19),
+          UINT32_C(0x427EEA36), UINT32_C(0x77AAB691)},
+         {UINT32_C(0x604EE854), UINT32_C(0x2E74F972), UINT32_C(0xF867C81A),
+          UINT32_C(0x8712C7A0), UINT32_C(0x953A4C56), UINT32_C(0x6085980F),
+          UINT32_C(0x0F7707E1), UINT32_C(0x2DB99707)}},
+        {{UINT32_C(0x78BDB7A7), UINT32_C(0x5ECC087F), UINT32_C(0x04C693F2),
+          UINT32_C(0x43CC156C), UINT32_C(0x039BD7F1), UINT32_C(0x965067CF),
+          UINT32_C(0x6E3FAE2F), UINT32_C(0x72140E56)},
+         {UINT32_C(0xE019DED1), UINT32_C(0x26452E4D), UINT32_C(0x2EDEF154),
+          UINT32_C(0x6F4C2349), UINT32_C(0x054DFC0F), UINT32_C(0xA7066D7F),
+          UINT32_C(0x3381AB44), UINT32_C(0x544E6F6D)}},
+        {{UINT32_C(0x9214C791), UINT32_C(0x9B6E9469), UINT32_C(0x86938BDC),
+          UINT32_C(0xD74F9C55), UINT32_C(0xFC2928FD), UINT32_C(0x0F1527F6),
+          UINT32_C(0x63C3A053), UINT32_C(0x5B0FBF0F)},
+         {UINT32_C(0xFC41FF10), UINT32_C(0xAC1F442C), UINT32_C(0x787B4932),
+          UINT32_C(0x34EF88EF), UINT32_C(0x316732AC), UINT32_C(0xF8120F08),
+          UINT32_C(0xA655DC4A), UINT32_C(0x7BCCF12C)}},
+        {{UINT32_C(0xA6C7760E), UINT32_C(0x750DF97F), UINT32_C(0x609BF215),
+          UINT32_C(0xF1A0A827), UINT32_C(0x67FD04B4), UINT32_C(0x7348C1B4),
+          UINT32_C(0x615C8145), UINT32_C(0x6A581016)},
+         {UINT32_C(0x9A11AAFC), UINT32_C(0x9DC01225), UINT32_C(0x3F2B0C8B),
+          UINT32_C(0x24F65B05), UINT32_C(0xDCB1B2A4), UINT32_C(0xA27CB8BF),
+          UINT32_C(0xE48C1A71), UINT32_C(0x3C44B811)}},
+        {{UINT32_C(0xF780B295), UINT32_C(0xBC059AF2), UINT32_C(0x0B6B247D),
+          UINT32_C(0xDF58928C), UINT32_C(0x01903F3D), UINT32_C(0x224D4C3C),
+          UINT32_C(0x818EE0AC), UINT32_C(0x7152E120)},
+         {UINT32_C(0x54BFF1BE), UINT32_C(0x6C8F4745), UINT32_C(0x431ADEF7),
+          UINT32_C(0x98A6C7EC), UINT32_C(0x91B2CFB6), UINT32_C(0xDCB6BB75),
+          UINT32_C(0x7E83A5BB), UINT32_C(0x145F6D39)}},
+        {{UINT32_C(0x81D23BC1), UINT32_C(0x827C000C), UINT32_C(0x403956FC),
+          UINT32_C(0x5CDC1135), UINT32_C(0x3C751158), UINT32_C(0xD967A5B1),
+          UINT32_C(0x96201D7D), UINT32_C(0x52AF85BC)},
+         {UINT32_C(0x644558F7), UINT32_C(0x522BC492), UINT32_C(0xED7A060D),
+          UINT32_C(0xF74A35AF), UINT32_C(0x4DC4619E), UINT32_C(0x10E5F9FD),
+          UINT32_C(0x324F60BB), UINT32_C(0x06071F1F)}},
+        {{UINT32_C(0x65921C34), UINT32_C(0xC5FFD5EF), UINT32_C(0x302BAA5D),
+          UINT32_C(0x46CE1A69), UINT32_C(0x4E22FF1D), UINT32_C(0x89CC84EC),
+          UINT32_C(0x68131754), UINT32_C(0x16A481AE)},
+         {UINT32_C(0xB89039F5), UINT32_C(0x2A06A156), UINT32_C(0xB3A95AB9),
+          UINT32_C(0x40B6401B), UINT32_C(0x313820C3), UINT32_C(0xFFCC53EB),
+          UINT32_C(0xEA959F76), UINT32_C(0x256B00E7)}},
+        {{UINT32_C(0x54FBDD74), UINT32_C(0xCCE87FC9), UINT32_C(0xB23C6E1D),
+          UINT32_C(0xEC258542), UINT32_C(0x9E5E1928), UINT32_C(0x5BE392B4),
+          UINT32_C(0x47A8A759), UINT32_C(0x65AF3110)},
+         {UINT32_C(0x47DFFD31), UINT32_C(0x943F7A25), UINT32_C(0x51E896FA),
+          UINT32_C(0xDCCDA186), UINT32_C(0x933E747F), UINT32_C(0x71A93B1E),
+          UINT32_C(0xDFB043AD), UINT32_C(0x44F5C468)}},
+        {{UINT32_C(0x786FCCBA), UINT32_C(0xF6AEC52C), UINT32_C(0x6D51FA78),
+          UINT32_C(0x23D49DCF), UINT32_C(0x9B40D8E6), UINT32_C(0x0F81463B),
+          UINT32_C(0x708D3DA2), UINT32_C(0x18B9D932)},
+         {UINT32_C(0xF986DC6D), UINT32_C(0x796F94ED), UINT32_C(0xFC2622C3),
+          UINT32_C(0x33B2CCC1), UINT32_C(0x9CCEC606), UINT32_C(0x16790DFB),
+          UINT32_C(0xCFD31481), UINT32_C(0x6F5D1452)}},
+        {{UINT32_C(0x6C3A15D6), UINT32_C(0x91F15DDC), UINT32_C(0x4D360E75),
+          UINT32_C(0x45D12F40), UINT32_C(0x1DAFFC9C), UINT32_C(0xF2E28EE8),
+          UINT32_C(0x6CDF5566), UINT32_C(0x5CC6A056)},
+         {UINT32_C(0x1779B9BF), UINT32_C(0x855166D2), UINT32_C(0xCF94D9FE),
+          UINT32_C(0x92BA5EF4), UINT32_C(0x985BC1DD), UINT32_C(0x1266FB2A),
+          UINT32_C(0xCA3018AD), UINT32_C(0x4572CE8F)}},
+        {{UINT32_C(0xBE4BB604), UINT32_C(0x8729A12D), UINT32_C(0x4E99E9AB),
+          UINT32_C(0x6A29C849), UINT32_C(0x7A89894D), UINT32_C(0x54AE5011),
+          UINT32_C(0xCDB0EEBD), UINT32_C(0x5E66A255)},
+         {UINT32_C(0xCBEE153B), UINT32_C(0x006736EA), UINT32_C(0x225E7B86),
+          UINT32_C(0x8A36CC2D), UINT32_C(0xEC0598EC), UINT32_C(0xF731E430),
+          UINT32_C(0x7FD9A11F), UINT32_C(0x49338E4D)}},
+        {{UINT32_C(0xDA6DABAA), UINT32_C(0xE038CE03), UINT32_C(0x7C1BCE0C),
+          UINT32_C(0x13A08DCE), UINT32_C(0xDA89EFBF), UINT32_C(0x12D00DD0),
+          UINT32_C(0x6FCF0510), UINT32_C(0x70A13FB9)},
+         {UINT32_C(0x5CDB03E2), UINT32_C(0x16ED1C92), UINT32_C(0x08E9EE4B),
+          UINT32_C(0xDF1AB61D), UINT32_C(0x03AF3E3D), UINT32_C(0x48983DA8),
+          UINT32_C(0x429DB770), UINT32_C(0x63CCA113)}},
+        {{UINT32_C(0xCFB805E5), UINT32_C(0x6D9AC1EB), UINT32_C(0x50FA37B8),
+          UINT32_C(0x47C3FE69), UINT32_C(0x2C33D457), UINT32_C(0xD308EC73),
+          UINT32_C(0xD4CCA340), UINT32_C(0x3CB08E00)},
+         {UINT32_C(0xBE862794), UINT32_C(0xC078DAD0), UINT32_C(0xF4E10A57),
+          UINT32_C(0x2D147F83), UINT32_C(0x3DE1B3D5), UINT32_C(0xE91820FF),
+          UINT32_C(0x6F30491B), UINT32_C(0x3D85DD72)}},
+        {{UINT32_C(0xF5CBDD3A), UINT32_C(0xD486A022), UINT32_C(0xCAC0B99E),
+          UINT32_C(0x2663134A), UINT32_C(0x5F3ABFCA), UINT32_C(0x42DE13F5),
+          UINT32_C(0xB365B973), UINT32_C(0x4967A225)},
+         {UINT32_C(0x10F1F997), UINT32_C(0x99C98A25), UINT32_C(0x7714FAB2),
+          UINT32_C(0x23F057C9), UINT32_C(0x1BA2338D), UINT32_C(0xCE07CA6E),
+          UINT32_C(0x069F65D7), UINT32_C(0x3BA69161)}},
+        {{UINT32_C(0xC026FB0E), UINT32_C(0xCCD8C86F), UINT32_C(0x50407A8C),
+          UINT32_C(0xF49F1FEA), UINT32_C(0x7F19A1DB), UINT32_C(0x72FEA37B),
+          UINT32_C(0x3F457DB7), UINT32_C(0x22A03E25)},
+         {UINT32_C(0x71F736D2), UINT32_C(0x2D6C62B2), UINT32_C(0xA5ACB4E5),
+          UINT32_C(0xCC99F8E7), UINT32_C(0x0DE5F380), UINT32_C(0x8F7DBF2E),
+          UINT32_C(0x352B4933), UINT32_C(0x24494786)}},
+    },
+    {
+        {{UINT32_C(0xAE2A5E8F), UINT32_C(0xF020E7A9), UINT32_C(0xD14C5F02),
+          UINT32_C(0x5ADC788B), UINT32_C(0x65C84DB4), UINT32_C(0xC5E5AFE4),
+          UINT32_C(0x35C2633C), UINT32_C(0x392FACC4)},
+         {UINT32_C(0x42DEE269), UINT32_C(0x47D50070), UINT32_C(0x6EB7849C),
+          UINT32_C(0x76706ED7), UINT32_C(0x316548CB), UINT32_C(0x6BF56D56),
+          UINT32_C(0xD37FF4DF), UINT32_C(0x4A466066)}},
+        {{UINT32_C(0xC30283AD), UINT32_C(0xC8EBBFB5), UINT32_C(0x3544E645),
+          UINT32_C(0x31E9CF96), UINT32_C(0x88886B50), UINT32_C(0x90EA9A49),
+          UINT32_C(0x021D3D5D), UINT32_C(0x5E4B8C88)},
+         {UINT32_C(0x0DFEB658), UINT32_C(0xA4DB9225), UINT32_C(0x1910FDAE),
+          UINT32_C(0x8AA95DB6), UINT32_C(0xDE400EB9), UINT32_C(0x82E9A997),
+          UINT32_C(0x96769A04), UINT32_C(0x238967E9)}},
+        {{UINT32_C(0x89E2DF0A), UINT32_C(0x1ABB076A), UINT32_C(0x07065929),
+          UINT32_C(0xDA8B09B0), UINT32_C(0x63BD349B), UINT32_C(0x332BE8A5),
+          UINT32_C(0xA2D35385), UINT32_C(0x0EB973CE)},
+         {UINT32_C(0x9C7D375E), UINT32_C(0x67F7AE63), UINT32_C(0xE7AE90B1),
+          UINT32_C(0xA235818D), UINT32_C(0x817493B0), UINT32_C(0x2B59C26E),
+          UINT32_C(0x33C4ACD6), UINT32_C(0x39DC1050)}},
+        {{UINT32_C(0x7B7DB3F5), UINT32_C(0x11801ACE), UINT32_C(0x8CC97CA5),
+          UINT32_C(0x79C214C3), UINT32_C(0xBF2674BF), UINT32_C(0xB4BFE1AB),
+          UINT32_C(0x43252011), UINT32_C(0x598EA7DC)},
+         {UINT32_C(0xB08F8EF5), UINT32_C(0x217FF6D3), UINT32_C(0x8B9226B7),
+          UINT32_C(0x9797BBC9), UINT32_C(0x7B0EDB09), UINT32_C(0xAB8E98C9),
+          UINT32_C(0x083A401F), UINT32_C(0x240EC22D)}},
+        {{UINT32_C(0x459ABC3D), UINT32_C(0x55A75BCF), UINT32_C(0x64ECC2DC),
+          UINT32_C(0xB2F98598), UINT32_C(0x9EE84779), UINT32_C(0x271C47C3),
+          UINT32_C(0xBF9BDBF2), UINT32_C(0x0166E5D4)},
+         {UINT32_C(0x4215B666), UINT32_C(0xD205380F), UINT32_C(0x64E9FE64),
+          UINT32_C(0xF7041396), UINT32_C(0x2BB0DA40), UINT32_C(0x4C737E94),
+          UINT32_C(0xC8119691), UINT32_C(0x2E763521)}},
+        {{UINT32_C(0xFD2F8593), UINT32_C(0x79550B60), UINT32_C(0x0C17A56F),
+          UINT32_C(0x47E00AFD), UINT32_C(0xB44157CF), UINT32_C(0x0D900A9D),
+          UINT32_C(0xA81BED76), UINT32_C(0x016CF746)},
+         {UINT32_C(0xAC47A84B), UINT32_C(0xC21E861B), UINT32_C(0x1724BD47),
+          UINT32_C(0x0E14387A), UINT32_C(0x2077F7BC), UINT32_C(0xC209303E),
+          UINT32_C(0xBAD12F0B), UINT32_C(0x33B5EB59)}},
+        {{UINT32_C(0x9850FC1F), UINT32_C(0x7152354F), UINT32_C(0x83637934),
+          UINT32_C(0x1239576F), UINT32_C(0x82AF46BA), UINT32_C(0xB00C4E4E),
+          UINT32_C(0xEC3FEEFF), UINT32_C(0x563D5062)},
+         {UINT32_C(0x33D67B7F), UINT32_C(0xEF25E373), UINT32_C(0x50D9845E),
+          UINT32_C(0x3A80A50E), UINT32_C(0xA5787EF5), UINT32_C(0x1DCED1E9),
+          UINT32_C(0xA0F87C3C), UINT32_C(0x15723E9A)}},
+        {{UINT32_C(0x2B4A156D), UINT32_C(0x21743511), UINT32_C(0xCD12BD2B),
+          UINT32_C(0xB75C041C), UINT32_C(0x79F393A6), UINT32_C(0x6947368C),
+          UINT32_C(0x76420E56), UINT32_C(0x32CDE49E)},
+         {UINT32_C(0x43D612FF), UINT32_C(0x67FBA315), UINT32_C(0xE3B87BC2),
+          UINT32_C(0x697F7FAE), UINT32_C(0x7391129A), UINT32_C(0x980DAFBC),
+          UINT32_C(0x6F707469), UINT32_C(0x438B2858)}},
+        {{UINT32_C(0x5E9D085F), UINT32_C(0xDA8AD16D), UINT32_C(0x768FA87C),
+          UINT32_C(0xE636F1AF), UINT32_C(0xB85FF1F1), UINT32_C(0x08520756),
+          UINT32_C(0x6ABB31BE), UINT32_C(0x1B818481)},
+         {UINT32_C(0x2E686F1A), UINT32_C(0x25B3DCB9), UINT32_C(0x2B0CB829),
+          UINT32_C(0xE1282134), UINT32_C(0x3B9B759C), UINT32_C(0x626232BC),
+          UINT32_C(0x38C4338E), UINT32_C(0x797316BB)}},
+        {{UINT32_C(0x4A62DCBD), UINT32_C(0xF8365B64), UINT32_C(0x6BF0EFED),
+          UINT32_C(0xC2CF51BA), UINT32_C(0xABF74764), UINT32_C(0x37E379EF),
+          UINT32_C(0xA350D603), UINT32_C(0x5DC32071)},
+         {UINT32_C(0x5B732100), UINT32_C(0x5465CC80), UINT32_C(0xB3BB5366),
+          UINT32_C(0x3231B4E3), UINT32_C(0xD0D067CE), UINT32_C(0x23F5385E),
+          UINT32_C(0x67D33451), UINT32_C(0x76CD7621)}},
+        {{UINT32_C(0x55D857DD), UINT32_C(0xC6C93A05), UINT32_C(0x8F308F7F),
+          UINT32_C(0xB4B6F176), UINT32_C(0xC0F13577), UINT32_C(0x2371CD88),
+          UINT32_C(0x70807D9D), UINT32_C(0x1E507D6C)},
+         {UINT32_C(0xC73E8E2F), UINT32_C(0x7A77CCE1), UINT32_C(0xFCCBDEEB),
+          UINT32_C(0x1DD96274), UINT32_C(0x03F378B8), UINT32_C(0xA4DBEA5D),
+          UINT32_C(0x2A1C347F), UINT32_C(0x44B4DF55)}},
+        {{UINT32_C(0x8D067A47), UINT32_C(0x9853D282), UINT32_C(0x86813E74),
+          UINT32_C(0xBF0ADAF4), UINT32_C(0x39409037), UINT32_C(0xFDE1F24D),
+          UINT32_C(0x973B045D), UINT32_C(0x0E629604)},
+         {UINT32_C(0x3BB92FAB), UINT32_C(0x9880A74B), UINT32_C(0xC6C4D6C6),
+          UINT32_C(0xBC4E3405), UINT32_C(0x5184A2D6), UINT32_C(0x98C24318),
+          UINT32_C(0xC210C183), UINT32_C(0x07D65412)}},
+        {{UINT32_C(0x441A5FBC), UINT32_C(0x3938E528), UINT32_C(0xCCC66B22),
+          UINT32_C(0x2CCD837D), UINT32_C(0x5E606282), UINT32_C(0x075FADE7),
+          UINT32_C(0x4BB0E76A), UINT32_C(0x32181165)},
+         {UINT32_C(0xFC929890), UINT32_C(0xE7240305), UINT32_C(0xE03AAA52),
+          UINT32_C(0x1FA427C8), UINT32_C(0x0BC7B9F8), UINT32_C(0xF23C879B),
+          UINT32_C(0xD6BBC908), UINT32_C(0x699A1235)}},
+        {{UINT32_C(0x14124B8A), UINT32_C(0x20C29781), UINT32_C(0x48000278),
+          UINT32_C(0x0C6464B3), UINT32_C(0xD644E10C), UINT32_C(0xF1939127),
+          UINT32_C(0x4EC07EE3), UINT32_C(0x47A479E6)},
+         {UINT32_C(0x77023389), UINT32_C(0xB6315768), UINT32_C(0x8BFDD90F),
+          UINT32_C(0xC0FD319D), UINT32_C(0x6CB022D4), UINT32_C(0x0EBEC200),
+          UINT32_C(0x302F58EF), UINT32_C(0x6810DF3D)}},
+        {{UINT32_C(0xACB1C3F2), UINT32_C(0xCF97FA07), UINT32_C(0xA2C3F2F1),
+          UINT32_C(0xACC60D84), UINT32_C(0x5DEB73D4), UINT32_C(0x4EF3CAAC),
+          UINT32_C(0xD5472C1D), UINT32_C(0x654D0D90)},
+         {UINT32_C(0xE4729062), UINT32_C(0x5A39A718), UINT32_C(0x8324E0F2),
+          UINT32_C(0x84B286B0), UINT32_C(0xD21E8457), UINT32_C(0xA07A01CB),
+          UINT32_C(0xB094714E), UINT32_C(0x0EC091C7)}},
+        {{UINT32_C(0x895736BD), UINT32_C(0x7AB81940), UINT32_C(0xE4679DF5),
+          UINT32_C(0x9AE791B7), UINT32_C(0xF064109B), UINT32_C(0x36163D81),
+          UINT32_C(0x0E956B07), UINT32_C(0x3DDEE4A4)},
+         {UINT32_C(0xFEAAE47C), UINT32_C(0xE146E7EE), UINT32_C(0x6A8EEC03),
+          UINT32_C(0x81C0C2A7), UINT32_C(0xA8C315CB), UINT32_C(0x10BB8DD9),
+          UINT32_C(0xD21B9AB0), UINT32_C(0x2CB423D8)}},
+    },
+    {
+        {{UINT32_C(0x166A5B9A), UINT32_C(0x5B11D3C7), UINT32_C(0x8768861D),
+          UINT32_C(0x973627BB), UINT32_C(0x5A3E442A), UINT32_C(0x82A5E2CD),
+          UINT32_C(0xDDE63678), UINT32_C(0x13F6C741)},
+         {UINT32_C(0xD892738E), UINT32_C(0x8DAA3C74), UINT32_C(0xA932376F),
+          UINT32_C(0x0A07D651), UINT32_C(0x6892504B), UINT32_C(0xE12612C5),
+          UINT32_C(0xCA3FF301), UINT32_C(0x619D2B1D)}},
+        {{UINT32_C(0x1B07CEB7), UINT32_C(0x2B6D686F), UINT32_C(0x298D0996),
+          UINT32_C(0x90C0260C), UINT32_C(0x102BC73C), UINT32_C(0x8CAAB926),
+          UINT32_C(0xAEB3911C), UINT32_C(0x445A6487)},
+         {UINT32_C(0x57F17290), UINT32_C(0x7EE1E547), UINT32_C(0x417711BF),
+          UINT32_C(0xC055478B), UINT32_C(0x5CFA42C2), UINT32_C(0x29EF9FEC),
+          UINT32_C(0x2B8EA0D6), UINT32_C(0x5A022DE4)}},
+        {{UINT32_C(0xAEEB2675), UINT32_C(0x81A5EC18), UINT32_C(0xAD1BBA8A),
+          UINT32_C(0xA867C5AA), UINT32_C(0x8DB47EBC), UINT32_C(0xAECB3688),
+          UINT32_C(0x26D1038F), UINT32_C(0x77CE00BC)},
+         {UINT32_C(0x3E68504B), UINT32_C(0xADC635EF), UINT32_C(0xDAE8AF4F),
+          UINT32_C(0x0EFC21DE), UINT32_C(0xAC70C4C9), UINT32_C(0xDE57FD43),
+          UINT32_C(0xE78FFC0D), UINT32_C(0x123360BE)}},
+        {{UINT32_C(0xD82B61DB), UINT32_C(0xD608DB32), UINT32_C(0x8E45C853),
+          UINT32_C(0x05AF2A90), UINT32_C(0x9D3B0032), UINT32_C(0xF1B8213E),
+          UINT32_C(0xCAD15361), UINT32_C(0x2312F8AB)},
+         {UINT32_C(0xC29EE818), UINT32_C(0xDC8D8E32), UINT32_C(0xDE5CD587),
+          UINT32_C(0x07D7A475), UINT32_C(0x0C6C38B8), UINT32_C(0x76610913),
+          UINT32_C(0xD7984BD9), UINT32_C(0x0131B6C6)}},
+        {{UINT32_C(0xCF69C844), UINT32_C(0xC05CD4D0), UINT32_C(0x81A9B005),
+          UINT32_C(0x747C092D), UINT32_C(0xD9E39F54), UINT32_C(0x0D793551),
+          UINT32_C(0x7FFEF17C), UINT32_C(0x3BBB00DA)},
+         {UINT32_C(0x655AD7C1), UINT32_C(0x6CAB83D9), UINT32_C(0x66A8F590),
+          UINT32_C(0x601BECD0), UINT32_C(0xAE51811B), UINT32_C(0xFADB086D),
+          UINT32_C(0xD69F734B), UINT32_C(0x7768A5D8)}},
+        {{UINT32_C(0xF0E2385E), UINT32_C(0x3BB9B347), UINT32_C(0xF7D39F23),
+          UINT32_C(0x376C8C48), UINT32_C(0xD82EC840), UINT32_C(0xE656C1A4),
+          UINT32_C(0xFC2AC59A), UINT32_C(0x328B25C9)},
+         {UINT32_C(0xA046BEE6), UINT32_C(0xD02B2F39), UINT32_C(0x80066D6C),
+          UINT32_C(0xDBAB19A5), UINT32_C(0xE938B7F7), UINT32_C(0x6A2E8F67),
+          UINT32_C(0xAA7F2661), UINT32_C(0x645A57A1)}},
+        {{UINT32_C(0x9A006FAE), UINT32_C(0x6227904D), UINT32_C(0xB598CB72),
+          UINT32_C(0xA975FC4C), UINT32_C(0xA1120B82), UINT32_C(0x945BFC2F),
+          UINT32_C(0x2AC15CE5), UINT32_C(0x437A8AB4)},
+         {UINT32_C(0x0F53317C), UINT32_C(0xA512A107), UINT32_C(0xFF9BD7D6),
+          UINT32_C(0x7B552554), UINT32_C(0x54155AF9), UINT32_C(0xF81213E7),
+          UINT32_C(0xFDCE0842), UINT32_C(0x0923F42C)}},
+        {{UINT32_C(0x5216BB55), UINT32_C(0x13523916), UINT32_C(0x599CA117),
+          UINT32_C(0xF27E4C7A), UINT32_C(0x7DD95BE1), UINT32_C(0x464D040A),
+          UINT32_C(0x3C417D05), UINT32_C(0x40897486)},
+         {UINT32_C(0x7C88E5D7), UINT32_C(0x0A3D16BF), UINT32_C(0xC13B286F),
+          UINT32_C(0x0B94C661), UINT32_C(0xE2214821), UINT32_C(0xF73C7126),
+          UINT32_C(0xF2F6DAFA), UINT32_C(0x4B3D5BF0)}},
+        {{UINT32_C(0xF1A4332A), UINT32_C(0xCFABD8A2), UINT32_C(0xBAAC9A51),
+          UINT32_C(0x56DB1546), UINT32_C(0x04416247), UINT32_C(0x8CC5204B),
+          UINT32_C(0xF0583310), UINT32_C(0x75EC13BF)},
+         {UINT32_C(0xD35B55D0), UINT32_C(0x0D68896E), UINT32_C(0x67FC14D9),
+          UINT32_C(0xE89274E2), UINT32_C(0xFC322878), UINT32_C(0x18D425C0),
+          UINT32_C(0x916C714A), UINT32_C(0x69477DD7)}},
+        {{UINT32_C(0x9BDDF0F9), UINT32_C(0x427CBB6C), UINT32_C(0xDB9F52CB),
+          UINT32_C(0xCF6941E2), UINT32_C(0x35E60DFA), UINT32_C(0xEF144DF6),
+          UINT32_C(0xB61DF45C), UINT32_C(0x27B5246E)},
+         {UINT32_C(0xB8D3D1D9), UINT32_C(0x0E124518), UINT32_C(0x8B313B95),
+          UINT32_C(0xBB3BA134), UINT32_C(0x0FA2B7A9), UINT32_C(0x050DCBDF),
+          UINT32_C(0x1D0A99B5), UINT32_C(0x50DBCF6D)}},
+        {{UINT32_C(0x3924A1E5), UINT32_C(0x8A8B22CB), UINT32_C(0x118F9D55),
+          UINT32_C(0x86CB4C5A), UINT32_C(0x5B339C53), UINT32_C(0xE5330ACC),
+          UINT32_C(0x66A35A67), UINT32_C(0x6D5FDDF9)},
+         {UINT32_C(0x6F6438A5), UINT32_C(0xC9500719), UINT32_C(0x07E5394E),
+          UINT32_C(0x9723F2BA), UINT32_C(0x866B45A8), UINT32_C(0xA9CE2117),
+          UINT32_C(0x045CA2CA), UINT32_C(0x1B737D8D)}},
+        {{UINT32_C(0x6EE00E30), UINT32_C(0x6093F5A5), UINT32_C(0x5DE0A6FC),
+          UINT32_C(0x5CAB98D4), UINT32_C(0x65DE754F), UINT32_C(0xADFB652C),
+          UINT32_C(0x862EFD1D), UINT32_C(0x679900D1)},
+         {UINT32_C(0xAFC5D235), UINT32_C(0x6E5C230F), UINT32_C(0x12CF6DD3),
+          UINT32_C(0x3A1E5579), UINT32_C(0x03FB4FA0), UINT32_C(0x241C20FB),
+          UINT32_C(0x20F6C013), UINT32_C(0x562FFAE3)}},
+        {{UINT32_C(0x397F25EC), UINT32_C(0x6EFC732F), UINT32_C(0xBC1F03B8),
+          UINT32_C(0x304D1F7D), UINT32_C(0x8890DADE), UINT32_C(0xA2FA6001),
+          UINT32_C(0x51A25539), UINT32_C(0x4F91F97C)},
+         {UINT32_C(0x48F4EF02), UINT32_C(0xE75F9C50), UINT32_C(0x218AEE9D),
+          UINT32_C(0xCC53F460), UINT32_C(0x10D76649), UINT32_C(0xE7B40489),
+          UINT32_C(0x42ECDBA4), UINT32_C(0x148F90A2)}},
+        {{UINT32_C(0x1F683AD6), UINT32_C(0xBF45023A), UINT32_C(0x95E868D1),
+          UINT32_C(0x2EA5F70C), UINT32_C(0xA97F2DE3), UINT32_C(0x47A19F33),
+          UINT32_C(0x8A76ED9F), UINT32_C(0x3C8CCA9E)},
+         {UINT32_C(0xE1A268D0), UINT32_C(0x01562C6E), UINT32_C(0xBA4EF01E),
+          UINT32_C(0x9EB6EBAC), UINT32_C(0x342410FB), UINT32_C(0x835E64D4),
+          UINT32_C(0xFFF4594D), UINT32_C(0x06F96B87)}},
+        {{UINT32_C(0xD233612B), UINT32_C(0xE49A383A), UINT32_C(0xC9C14F64),
+          UINT32_C(0x3CA5421F), UINT32_C(0xBB53DF81), UINT32_C(0x25192E1B),
+          UINT32_C(0xA94C046C), UINT32_C(0x3C1451FE)},
+         {UINT32_C(0x0423FAA8), UINT32_C(0x72B270F8), UINT32_C(0x3763888A),
+          UINT32_C(0xFF63513D), UINT32_C(0xC1745190), UINT32_C(0xB22F2F20),
+          UINT32_C(0x35DEA32C), UINT32_C(0x2E005A7A)}},
+        {{UINT32_C(0x6305B2EB), UINT32_C(0x6B5A4E7A), UINT32_C(0x9CCD05D2),
+          UINT32_C(0xF017BCA1), UINT32_C(0xD19AD8CB), UINT32_C(0xB37027C9),
+          UINT32_C(0x0CBB36A6), UINT32_C(0x2CFCB470)},
+         {UINT32_C(0x663F3485), UINT32_C(0x17F4FE51), UINT32_C(0x0DC3467B),
+          UINT32_C(0x7DC20A17), UINT32_C(0x4AF63CBD), UINT32_C(0x6B56BA3F),
+          UINT32_C(0x0D5D64AF), UINT32_C(0x4E7CF289)}},
+    },
+    {
+        {{UINT32_C(0x7F59D2E9), UINT32_C(0xE2C5CD1F), UINT32_C(0x9D7FBE1E),
+          UINT32_C(0x6B9ACEB7), UINT32_C(0xA20225B0), UINT32_C(0x84F0441D),
+          UINT32_C(0x8B369FBC), UINT32_C(0x15875CDA)},
+         {UINT32_C(0x0659E294), UINT32_C(0xED133277), UINT32_C(0x7AE02043),
+          UINT32_C(0x7FAA913E), UINT32_C(0x9DCEDE14), UINT32_C(0xCA0E58DA),
+          UINT32_C(0xCDE68547), UINT32_C(0x5F6A70FD)}},
+        {{UINT32_C(0xE7282711), UINT32_C(0x524B790D), UINT32_C(0xBCA05694),
+          UINT32_C(0x4B4F6246), UINT32_C(0x949AF774), UINT32_C(0x85169ECB),
+          UINT32_C(0xCC743068), UINT32_C(0x5B168842)},
+         {UINT32_C(0x31FB3BA3), UINT32_C(0xB8D0E9F2), UINT32_C(0x62D471C7),
+          UINT32_C(0x56DD4BC3), UINT32_C(0xE2A34F75), UINT32_C(0xB14D689C),
+          UINT32_C(0x02E8D2D2), UINT32_C(0x7F4E1717)}},
+        {{UINT32_C(0xB17090B9), UINT32_C(0x8EE3491A), UINT32_C(0x6B7EDAF4),
+          UINT32_C(0x67C07116), UINT32_C(0x4D0E6CCE), UINT32_C(0x6876E4CE),
+          UINT32_C(0xBC5A86BE), UINT32_C(0x6D2FBB64)},
+         {UINT32_C(0x070FA8C3), UINT32_C(0x0431C67A), UINT32_C(0x0F5D65F4),
+          UINT32_C(0x91EFF9BE), UINT32_C(0xE07088DF), UINT32_C(0x332985E2),
+          UINT32_C(0x676EADA8), UINT32_C(0x006D2583)}},
+        {{UINT32_C(0x0AA747D6), UINT32_C(0xA1FBCC37), UINT32_C(0xB0DFDF3C),
+          UINT32_C(0xADEA4A90), UINT32_C(0x401ED81B), UINT32_C(0x650162C7),
+          UINT32_C(0xA8B15E22), UINT32_C(0x0FBC4841)},
+         {UINT32_C(0xBF98CDAC), UINT32_C(0x1044B4E8), UINT32_C(0xECD1C668),
+          UINT32_C(0x37071115), UINT32_C(0x233C220C), UINT32_C(0x29B93C17),
+          UINT32_C(0xE69BC0C0), UINT32_C(0x4BEBC3CC)}},
+        {{UINT32_C(0x46BF7E51), UINT32_C(0xD1A16E37), UINT32_C(0xF7A7370C),
+          UINT32_C(0x889C7782), UINT32_C(0x3CCB474D), UINT32_C(0xC73F396E),
+          UINT32_C(0xB9D67A2E), UINT32_C(0x1C508F18)},
+         {UINT32_C(0x6B03B7E7), UINT32_C(0x3F17E967), UINT32_C(0xF857BB26),
+          UINT32_C(0x3928F1D8), UINT32_C(0xC0EA8620), UINT32_C(0x3086FB2E),
+          UINT32_C(0x1BE7C3E4), UINT32_C(0x15DC32C2)}},
+        {{UINT32_C(0x11F4D949), UINT32_C(0xF48D4C32), UINT32_C(0xB0357C05),
+          UINT32_C(0xE14A4AE3), UINT32_C(0x151D91AE), UINT32_C(0x77A1121F),
+          UINT32_C(0xE8C6869D), UINT32_C(0x33F85C2F)},
+         {UINT32_C(0x364B77B0), UINT32_C(0x8EA3BB4C), UINT32_C(0x9BD43E50),
+          UINT32_C(0x1F155B91), UINT32_C(0x54748E7D), UINT32_C(0xA6C28730),
+          UINT32_C(0xE7DDC539), UINT32_C(0x5AA34DDA)}},
+        {{UINT32_C(0xA6CF8A82), UINT32_C(0xF0F80DDA), UINT32_C(0x091663B5),
+          UINT32_C(0x87DE6D6C), UINT32_C(0x02FE5519), UINT32_C(0x94798734),
+          UINT32_C(0x96722130), UINT32_C(0x109D411F)},
+         {UINT32_C(0xE661041F), UINT32_C(0xBC47CA73), UINT32_C(0x65741541),
+          UINT32_C(0x071D6059), UINT32_C(0x07E08735), UINT32_C(0x7CD4DF66),
+          UINT32_C(0xE68FC807), UINT32_C(0x175E1F77)}},
+        {{UINT32_C(0xDA58865B), UINT32_C(0xB88BDAB8), UINT32_C(0x20ED2B89),
+          UINT32_C(0x14AD9112), UINT32_C(0x039BF0A3), UINT32_C(0x2B21AEDF),
+          UINT32_C(0x9D4B77E9), UINT32_C(0x78971777)},
+         {UINT32_C(0xD6612EF3), UINT32_C(0x133DA2AC), UINT32_C(0x12AD1785),
+          UINT32_C(0x6260FCF5), UINT32_C(0x9DF08843), UINT32_C(0xDBA784DA),
+          UINT32_C(0x4449FBD1), UINT32_C(0x1A30C4CF)}},
+        {{UINT32_C(0x4EF7ACA2), UINT32_C(0xB6FECE87), UINT32_C(0x13F7C58C),
+          UINT32_C(0x9CE7B61A), UINT32_C(0xF8719A60), UINT32_C(0x6B0223C9),
+          UINT32_C(0xA3B3B088), UINT32_C(0x21199AA5)},
+         {UINT32_C(0x6938BB02), UINT32_C(0x4A717196), UINT32_C(0xE7ABC263),
+          UINT32_C(0x2E9A17C9), UINT32_C(0x4BAB12B7), UINT32_C(0x83F79623),
+          UINT32_C(0x49D7CFBD), UINT32_C(0x15C0C4AF)}},
+        {{UINT32_C(0x56D2957F), UINT32_C(0x99B34139), UINT32_C(0x07218BB6),
+          UINT32_C(0xA51B8DFD), UINT32_C(0xFC91D7C9), UINT32_C(0x47CA4323),
+          UINT32_C(0x3DCFD5F0), UINT32_C(0x44B01E75)},
+         {UINT32_C(0x8CE894F3), UINT32_C(0x29F9D18E), UINT32_C(0x95227C6F),
+          UINT32_C(0x22BCC540), UINT32_C(0x3FC75409), UINT32_C(0x815CD936),
+          UINT32_C(0xD8989472), UINT32_C(0x0D58B325)}},
+        {{UINT32_C(0xB6C80208), UINT32_C(0x8B4C6980), UINT32_C(0x8FB77CCD),
+          UINT32_C(0xA5D97497), UINT32_C(0x9477132F), UINT32_C(0x1B896571),
+          UINT32_C(0x3AE45F53), UINT32_C(0x348ABC21)},
+         {UINT32_C(0x14BCDB96), UINT32_C(0xE438C1C3), UINT32_C(0x8007C1BF),
+          UINT32_C(0x63150CF9), UINT32_C(0x8508B903), UINT32_C(0xDB861A33),
+          UINT32_C(0x7B04ECD6), UINT32_C(0x421DFB01)}},
+        {{UINT32_C(0x19430E7B), UINT32_C(0xF2FCE58B), UINT32_C(0xD0F8ECB7),
+          UINT32_C(0x851A5F03), UINT32_C(0x0A5A1833), UINT32_C(0xE756C167),
+          UINT32_C(0x227F866C), UINT32_C(0x25A51405)},
+         {UINT32_C(0x3C6EE5F3), UINT32_C(0x40F34CB0), UINT32_C(0xF244B5CF),
+          UINT32_C(0xF4010401), UINT32_C(0x01349BCF), UINT32_C(0x0E21BDED),
+          UINT32_C(0x04547F42), UINT32_C(0x1B129D82)}},
+        {{UINT32_C(0x0927D153), UINT32_C(0x802EC480), UINT32_C(0x72541520),
+          UINT32_C(0x0F75E4FE), UINT32_C(0x026C4613), UINT32_C(0xA4A1557A),
+          UINT32_C(0x7D92BC18), UINT32_C(0x25E8DAFB)},
+         {UINT32_C(0x12F15F05), UINT32_C(0x1D87A143), UINT32_C(0x7B6B4240),
+          UINT32_C(0x79390E3C), UINT32_C(0x492E6273), UINT32_C(0xFC199D76),
+          UINT32_C(0x7EB090C0), UINT32_C(0x0053F1C4)}},
+        {{UINT32_C(0xACEE6DFC), UINT32_C(0xE790F1CA), UINT32_C(0xDFEA04FF),
+          UINT32_C(0xC8FB4626), UINT32_C(0x627D88D7), UINT32_C(0xBF03627F),
+          UINT32_C(0x3D81A75A), UINT32_C(0x1B369884)},
+         {UINT32_C(0x917FA19D), UINT32_C(0x83405DDA), UINT32_C(0x8C7DDCD2),
+          UINT32_C(0xFFB23FF9), UINT32_C(0x40F10B48), UINT32_C(0x644F54C7),
+          UINT32_C(0x17FF713A), UINT32_C(0x4636FADF)}},
+        {{UINT32_C(0x27F417E4), UINT32_C(0xDA62ECC2), UINT32_C(0xFD8662BE),
+          UINT32_C(0xC0DBE48F), UINT32_C(0x1011E73C), UINT32_C(0x729EE4AA),
+          UINT32_C(0x3E11C84B), UINT32_C(0x4BAE5D3C)},
+         {UINT32_C(0x6CEF6CDA), UINT32_C(0x854DFFF8), UINT32_C(0xCB7131EA),
+          UINT32_C(0x7939228C), UINT32_C(0xD3EBC607), UINT32_C(0x58B3744A),
+          UINT32_C(0x2049E239), UINT32_C(0x6EB9248F)}},
+        {{UINT32_C(0xED0D4E57), UINT32_C(0x0265CAE9), UINT32_C(0x8AA65AEF),
+          UINT32_C(0x92166D02), UINT32_C(0x198345D6), UINT32_C(0x2E337CDA),
+          UINT32_C(0xABE1AD7B), UINT32_C(0x6775330C)},
+         {UINT32_C(0xBF6FBC7D), UINT32_C(0xA9A828A8), UINT32_C(0xCBFEA393),
+          UINT32_C(0x33A56F8D), UINT32_C(0xD811EC51), UINT32_C(0x2DB72F77),
+          UINT32_C(0x8327C78E), UINT32_C(0x3DDFCD26)}},
+    },
+    {
+        {{UINT32_C(0xB46AA2C4), UINT32_C(0x7CF8A521), UINT32_C(0xACF0D567),
+          UINT32_C(0xE3B20937), UINT32_C(0xA440648E), UINT32_C(0xD47D8D1B),
+          UINT32_C(0x1E9791A1), UINT32_C(0x674E7920)},
+         {UINT32_C(0x18366462), UINT32_C(0x27B714EB), UINT32_C(0x8476F588),
+          UINT32_C(0x1526E558), UINT32_C(0x6C240D70), UINT32_C(0x72C8D374),
+          UINT32_C(0x805C1265), UINT32_C(0x066BBAFB)}},
+        {{UINT32_C(0x457034E1), UINT32_C(0x15F1CFF5), UINT32_C(0xDD819FA7),
+          UINT32_C(0xCF7C6550), UINT32_C(0x77AC7AD6), UINT32_C(0x57C2CD53),
+          UINT32_C(0xAFED669D), UINT32_C(0x7DB2A8BE)},
+         {UINT32_C(0xD4697340), UINT32_C(0x2DAFD95F), UINT32_C(0x15A6B6E7),
+          UINT32_C(0x382FF892), UINT32_C(0xBF4A6B1B), UINT32_C(0x036FC753),
+          UINT32_C(0xE4012711), UINT32_C(0x3E7AC46D)}},
+        {{UINT32_C(0x5752A34D), UINT32_C(0xBA5ECDED), UINT32_C(0x6BAA08DD),
+          UINT32_C(0xB08749D4), UINT32_C(0x4A4A47A8), UINT32_C(0x8A2B9897),
+          UINT32_C(0xE42DCE02), UINT32_C(0x7230966F)},
+         {UINT32_C(0x58654FF5), UINT32_C(0xA6FF614A), UINT32_C(0xAB3C2A7E),
+          UINT32_C(0x7F3531D1), UINT32_C(0x0D0ED417), UINT32_C(0x0282A2F0),
+          UINT32_C(0xEA9755A3), UINT32_C(0x2DC7B872)}},
+        {{UINT32_C(0x2392536A), UINT32_C(0x7678D765), UINT32_C(0x574C657D),
+          UINT32_C(0x0C2025F1), UINT32_C(0x795413DC), UINT32_C(0x01701C80),
+          UINT32_C(0x5396279E), UINT32_C(0x63F0D496)},
+         {UINT32_C(0xFA32EA64), UINT32_C(0xB0F9968A), UINT32_C(0x5BB393DE),
+          UINT32_C(0x81265D15), UINT32_C(0x0BCD8C10), UINT32_C(0xC05ECC6D),
+          UINT32_C(0x2824457E), UINT32_C(0x4F3769F9)}},
+        {{UINT32_C(0xF13DB92E), UINT32_C(0x9AA58686), UINT32_C(0xED2E1B18),
+          UINT32_C(0x1155CDF4), UINT32_C(0x09823F5A), UINT32_C(0xA06E9194),
+          UINT32_C(0x4257AB0E), UINT32_C(0x7F1BBE73)},
+         {UINT32_C(0xABA6FCD1), UINT32_C(0x2DFB6472), UINT32_C(0xD73D850E),
+          UINT32_C(0x04BE6BCA), UINT32_C(0x297D312B), UINT32_C(0x72AAEC34),
+          UINT32_C(0x7509D9F5), UINT32_C(0x31F4C02C)}},
+        {{UINT32_C(0x7CA72AD5), UINT32_C(0xAA9BA000), UINT32_C(0x7FBCB4D6),
+          UINT32_C(0x21EE2945), UINT32_C(0x1CF8580A), UINT32_C(0x0E210AAB),
+          UINT32_C(0x0FA8DE10), UINT32_C(0x600479FE)},
+         {UINT32_C(0x54322F70), UINT32_C(0x246FD265), UINT32_C(0x60DF1893),
+          UINT32_C(0xC60BE9BB), UINT32_C(0x05137E38), UINT32_C(0x04D4F99D),
+          UINT32_C(0x6164C176), UINT32_C(0x6ACB9E01)}},
+        {{UINT32_C(0xC1DB7B6C), UINT32_C(0x126F2C7E), UINT32_C(0xCF4DD3C0),
+          UINT32_C(0x4C3B30B5), UINT32_C(0xF782A489), UINT32_C(0x827D57A2),
+          UINT32_C(0xE52621F0), UINT32_C(0x41B897DE)},
+         {UINT32_C(0xDDA0A3CD), UINT32_C(0xED31C55A), UINT32_C(0xA11AD179),
+          UINT32_C(0x21C91BB2), UINT32_C(0x43FD6E23), UINT32_C(0x60E606B8),
+          UINT32_C(0x51ED7FA6), UINT32_C(0x31B8138D)}},
+        {{UINT32_C(0xE72E4BC5), UINT32_C(0x1387B313), UINT32_C(0x82EBFC72),
+          UINT32_C(0xDCCCB09C), UINT32_C(0xAA4432D6), UINT32_C(0xF0B01202),
+          UINT32_C(0x7C52B69D), UINT32_C(0x632599C4)},
+         {UINT32_C(0xBCE9A04C), UINT32_C(0x3922D0C0), UINT32_C(0xB53F4268),
+          UINT32_C(0xC2397D88), UINT32_C(0x00669858), UINT32_C(0x50AE5ED9),
+          UINT32_C(0x16C7696B), UINT32_C(0x1B2BD4C2)}},
+        {{UINT32_C(0x2BF7DF06), UINT32_C(0x6FAE1B08), UINT32_C(0x5210DB3B),
+          UINT32_C(0x870B3FE8), UINT32_C(0x9BDC0B91), UINT32_C(0x680BE422),
+          UINT32_C(0xBCC970AD), UINT32_C(0x56BA83C6)},
+         {UINT32_C(0x859D6C78), UINT32_C(0x1AE91BAC), UINT32_C(0x2895A1A6),
+          UINT32_C(0xC5BDD5FB), UINT32_C(0x550610F5), UINT32_C(0xA169E73C),
+          UINT32_C(0x0CC7D3EA), UINT32_C(0x01B46767)}},
+        {{UINT32_C(0x0EC5ECE2), UINT32_C(0x1E147A51), UINT32_C(0xD0E2C46C),
+          UINT32_C(0x9B612A1F), UINT32_C(0x5E293783), UINT32_C(0x664FDD55),
+          UINT32_C(0x67DC4DBC), UINT32_C(0x52070E15)},
+         {UINT32_C(0x4A4903FB), UINT32_C(0x449B53E5), UINT32_C(0xA8D30103),
+          UINT32_C(0x79B53583), UINT32_C(0xAF7CC314), UINT32_C(0x616C97F3),
+          UINT32_C(0x2849862C), UINT32_C(0x6BEB304C)}},
+        {{UINT32_C(0x019F0313), UINT32_C(0xB9C636D6), UINT32_C(0xD3E0188D),
+          UINT32_C(0x0B08E7CB), UINT32_C(0xD704DE15), UINT32_C(0xEAEB1715),
+          UINT32_C(0x837E7543), UINT32_C(0x4990282C)},
+         {UINT32_C(0xFBD3A061), UINT32_C(0xCBB0BD49), UINT32_C(0x1DA124AE),
+          UINT32_C(0x3454A8AC), UINT32_C(0x37D64EAB), UINT32_C(0x0D524A02),
+          UINT32_C(0x0B3E4ADE), UINT32_C(0x76680749)}},
+        {{UINT32_C(0x95B04835), UINT32_C(0xC293E011), UINT32_C(0x23D0C885),
+          UINT32_C(0x76D304BA), UINT32_C(0xD6552D80), UINT32_C(0x36A63627),
+          UINT32_C(0xC504CCAB), UINT32_C(0x3B4FA680)},
+         {UINT32_C(0xE1FC08DF), UINT32_C(0xF25B3A04), UINT32_C(0x62D080F8),
+          UINT32_C(0x786380E5), UINT32_C(0xDAC0D110), UINT32_C(0x0A731427),
+          UINT32_C(0xD628429A), UINT32_C(0x1D65288F)}},
+        {{UINT32_C(0xDC94453E), UINT32_C(0x3CE5E929), UINT32_C(0xB6073324),
+          UINT32_C(0xEC7CF988), UINT32_C(0xDCB35234), UINT32_C(0x023361E7),
+          UINT32_C(0xF5E89B7C), UINT32_C(0x3AF20624)},
+         {UINT32_C(0xA5B2B103), UINT32_C(0x860F188E), UINT32_C(0xCB6D112F),
+          UINT32_C(0x5EAC84CE), UINT32_C(0x914C9FFD), UINT32_C(0x63B200C3),
+          UINT32_C(0x55A1FDCB), UINT32_C(0x327870A0)}},
+        {{UINT32_C(0x155280ED), UINT32_C(0x4F94633C), UINT32_C(0x3654B8AA),
+          UINT32_C(0xF98321D5), UINT32_C(0x489AE89A), UINT32_C(0x9C057A23),
+          UINT32_C(0xD59CA3B5), UINT32_C(0x1124A1FB)},
+         {UINT32_C(0x1F64AFD7), UINT32_C(0x2F4CE052), UINT32_C(0x7C789152),
+          UINT32_C(0x841EE441), UINT32_C(0x59A98374), UINT32_C(0x93531ED4),
+          UINT32_C(0x36BB8F07), UINT32_C(0x69A4F48C)}},
+        {{UINT32_C(0x5FD512A7), UINT32_C(0xD8FFD243), UINT32_C(0x9BEA1738),
+          UINT32_C(0xF48C96F1), UINT32_C(0x0FFB4553), UINT32_C(0xF70E1F6A),
+          UINT32_C(0x5FF91D21), UINT32_C(0x29DB63B1)},
+         {UINT32_C(0x77BF7279), UINT32_C(0xC1355C23), UINT32_C(0xA2FC904D),
+          UINT32_C(0xD3946EE9), UINT32_C(0xE7B7A9F4), UINT32_C(0x07223881),
+          UINT32_C(0x56E08ED6), UINT32_C(0x212D8967)}},
+        {{UINT32_C(0x45503451), UINT32_C(0x32B8C22A), UINT32_C(0xE6AB7B3D),
+          UINT32_C(0x9E4FDAF1), UINT32_C(0x04A31294), UINT32_C(0x7A300E3D),
+          UINT32_C(0x05FE2AEB), UINT32_C(0x0F529DFD)},
+         {UINT32_C(0x9951B6FB), UINT32_C(0x7EFFEA9E), UINT32_C(0x336B9A2B),
+          UINT32_C(0x18C60266), UINT32_C(0x6C8D0EEC), UINT32_C(0xB78A5EE1),
+          UINT32_C(0x46ED0B23), UINT32_C(0x68C17FE4)}},
+    },
+    {
+        {{UINT32_C(0x96B3222E), UINT32_C(0xF707FAD5), UINT32_C(0x0223F804),
+          UINT32_C(0xD6AF6161), UINT32_C(0x4F43A0E9), UINT32_C(0x13FFDC74),
+          UINT32_C(0x3347F487), UINT32_C(0x6A3B70E9)},
+         {UINT32_C(0x6A4AF4F5), UINT32_C(0xBDDF02A4), UINT32_C(0xE4C69950),
+          UINT32_C(0x61B451E1), UINT32_C(0xF9E3BB99), UINT32_C(0xFF854590),
+          UINT32_C(0x7CD54C54), UINT32_C(0x46EB1F69)}},
+        {{UINT32_C(0x8E6848D3), UINT32_C(0x70E643B6), UINT32_C(0x848C2587),
+          UINT32_C(0xC58B8519), UINT32_C(0xEDF4A38E), UINT32_C(0x2F195C54),
+          UINT32_C(0x3D2A52E8), UINT32_C(0x206E6A32)},
+         {UINT32_C(0x417595BF), UINT32_C(0x234845B5), UINT32_C(0xFF5AE3CB),
+          UINT32_C(0x90354373), UINT32_C(0x89C0E555), UINT32_C(0x13BE31CE),
+          UINT32_C(0xCC67E26F), UINT32_C(0x2D18AA43)}},
+        {{UINT32_C(0xF041BD17), UINT32_C(0xC74EE8C4), UINT32_C(0xC2B3CC64),
+          UINT32_C(0x655CF527), UINT32_C(0x160FF053), UINT32_C(0x6735CF0A),
+          UINT32_C(0x04218A0D), UINT32_C(0x35DAB9EB)},
+         {UINT32_C(0xCBC34E46), UINT32_C(0x32BB2E9A), UINT32_C(0x7D190342),
+          UINT32_C(0xF780CEAF), UINT32_C(0x9F0DA1A4), UINT32_C(0x161C0C1A),
+          UINT32_C(0xE7642FD6), UINT32_C(0x7B198C9E)}},
+        {{UINT32_C(0x122FD0B4), UINT32_C(0x936C763E), UINT32_C(0xA7E0C435),
+          UINT32_C(0xA3819ED9), UINT32_C(0xCAAE6D7B), UINT32_C(0x86228B04),
+          UINT32_C(0x7A3C65B4), UINT32_C(0x2E116018)},
+         {UINT32_C(0xD4EB0345), UINT32_C(0xF55BB1F3), UINT32_C(0x0630B569),
+          UINT32_C(0x858A0BF4), UINT32_C(0xCB78A626), UINT32_C(0x8CC22657),
+          UINT32_C(0xB45E3005), UINT32_C(0x7CD93BDE)}},
+        {{UINT32_C(0x98E517AB), UINT32_C(0xCAA1F459), UINT32_C(0xB34A6F5C),
+          UINT32_C(0x36E60281), UINT32_C(0x0B46F47F), UINT32_C(0x877A49F3),
+          UINT32_C(0x9E7BE761), UINT32_C(0x0179824B)},
+         {UINT32_C(0xD455D9C0), UINT32_C(0x6830A2B2), UINT32_C(0x7BA31962),
+          UINT32_C(0xB734BA0A), UINT32_C(0x065C3B51), UINT32_C(0x344665A4),
+          UINT32_C(0x562E7F1D), UINT32_C(0x0B1D2210)}},
+        {{UINT32_C(0x0B2E22E8), UINT32_C(0x289BAFCA), UINT32_C(0x83390107),
+          UINT32_C(0x038929A0), UINT32_C(0x0683E782), UINT32_C(0x968A014D),
+          UINT32_C(0x53D34463), UINT32_C(0x5A1AD5C8)},
+         {UINT32_C(0x9527B2CA), UINT32_C(0xA2613334), UINT32_C(0x310B745F),
+          UINT32_C(0xE8471271), UINT32_C(0x31387F59), UINT32_C(0x49C81A26),
+          UINT32_C(0x0343C691), UINT32_C(0x1B955AF7)}},
+        {{UINT32_C(0xA4A9FCA4), UINT32_C(0x069328AD), UINT32_C(0x624FCB94),
+          UINT32_C(0x14EF09A7), UINT32_C(0xE3E0CECD), UINT32_C(0x21C76F0D),
+          UINT32_C(0x6C1BCE0F), UINT32_C(0x5F470B86)},
+         {UINT32_C(0xB15BC8B4), UINT32_C(0x79319A3F), UINT32_C(0xDB06AFA1),
+          UINT32_C(0xB1407CB1), UINT32_C(0x911116E0), UINT32_C(0xD69E9E09),
+          UINT32_C(0x0756579E), UINT32_C(0x6E77524E)}},
+        {{UINT32_C(0xE2D851D5), UINT32_C(0xD3EC5EBC), UINT32_C(0x03B63143),
+          UINT32_C(0xC888BC23), UINT32_C(0xDB0C357F), UINT32_C(0x5F3DE41E),
+          UINT32_C(0xC3D47D37), UINT32_C(0x646FFBD3)},
+         {UINT32_C(0x0692639B), UINT32_C(0xE53F8BEB), UINT32_C(0xD4FBC3D4),
+          UINT32_C(0x7E194E37), UINT32_C(0x452B2A2E), UINT32_C(0xE1988A22),
+          UINT32_C(0xB013F9E1), UINT32_C(0x5D359A15)}},
+        {{UINT32_C(0xB2A6627D), UINT32_C(0xA48160A7), UINT32_C(0x3CE8789E),
+          UINT32_C(0x5EFDC848), UINT32_C(0xB1CD14EE), UINT32_C(0x264CBFF1),
+          UINT32_C(0x44D84222), UINT32_C(0x288823D4)},
+         {UINT32_C(0x3A6DB1F8), UINT32_C(0x2F091B23), UINT32_C(0xCEA89B44),
+          UINT32_C(0xBFD737B5), UINT32_C(0x17F5E969), UINT32_C(0x682AB86C),
+          UINT32_C(0xABB0FA87), UINT32_C(0x7653005C)}},
+        {{UINT32_C(0xD4B8A43A), UINT32_C(0x619C2629), UINT32_C(0xB6DAF943),
+          UINT32_C(0xBFDAF433), UINT32_C(0x6D640DB8), UINT32_C(0xDC7AA1EE),
+          UINT32_C(0x3B08D55C), UINT32_C(0x35ADEEA8)},
+         {UINT32_C(0xD7AF5382), UINT32_C(0x30935454), UINT32_C(0x3D68A24A),
+          UINT32_C(0x1F9C51A1), UINT32_C(0x78BDBEA9), UINT32_C(0xDBD13CFC),
+          UINT32_C(0x31210A3F), UINT32_C(0x003B6D99)}},
+        {{UINT32_C(0x9C2B515D), UINT32_C(0xD4547A32), UINT32_C(0xFECDAAA9),
+          UINT32_C(0x4AF29AA8), UINT32_C(0xE401D5AD), UINT32_C(0x85C80ECD),
+          UINT32_C(0x8AA315A1), UINT32_C(0x2830332D)},
+         {UINT32_C(0x71DCE198), UINT32_C(0x56758823), UINT32_C(0x6ACBDEE3),
+          UINT32_C(0x55AC9D10), UINT32_C(0x575CF4BB), UINT32_C(0xF6D468CF),
+          UINT32_C(0x576B5C4A), UINT32_C(0x46E4FA98)}},
+        {{UINT32_C(0x20D859EF), UINT32_C(0xAD20F820), UINT32_C(0x2A5462B0),
+          UINT32_C(0x38091588), UINT32_C(0x2135DA7D), UINT32_C(0x35F45C9F),
+          UINT32_C(0xF7F20DBD), UINT32_C(0x6B426F91)},
+         {UINT32_C(0xF96E77D2), UINT32_C(0x4A0D8CBE), UINT32_C(0xCC51D3F4),
+          UINT32_C(0x8FC36F5B), UINT32_C(0xBE16A0A8), UINT32_C(0x7A1870DD),
+          UINT32_C(0x114DB780), UINT32_C(0x29C3E2B3)}},
+        {{UINT32_C(0x21779E6E), UINT32_C(0xFF692A4C), UINT32_C(0xA6026EC1),
+          UINT32_C(0x698231AB), UINT32_C(0xEF03E21B), UINT32_C(0xDAB0D835),
+          UINT32_C(0xC846D56F), UINT32_C(0x770BFFAC)},
+         {UINT32_C(0x3B8B0747), UINT32_C(0xCD28722D), UINT32_C(0x32AE95E5),
+          UINT32_C(0x3DEFE040), UINT32_C(0x0F9857D6), UINT32_C(0x6F5D816A),
+          UINT32_C(0xFC630F5E), UINT32_C(0x2E483FED)}},
+        {{UINT32_C(0x967C7140), UINT32_C(0xDBF82EC4), UINT32_C(0x0D20A2A5),
+          UINT32_C(0x6265CAD1), UINT32_C(0x5862DEFE), UINT32_C(0x1509652B),
+          UINT32_C(0x94A284E5), UINT32_C(0x699DD939)},
+         {UINT32_C(0x0B2CC732), UINT32_C(0xC0116646), UINT32_C(0x94C3EF86),
+          UINT32_C(0x583FE012), UINT32_C(0xCD353430), UINT32_C(0xCD5DAEA8),
+          UINT32_C(0xC7ADA62B), UINT32_C(0x2B39A746)}},
+        {{UINT32_C(0xE4257BBC), UINT32_C(0xF449B989), UINT32_C(0xA90DCCE6),
+          UINT32_C(0x95BA21BA), UINT32_C(0x93CA4ACD), UINT32_C(0xDD53AD5C),
+          UINT32_C(0x0BB4213B), UINT32_C(0x7FCF2738)},
+         {UINT32_C(0xC2E7E54E), UINT32_C(0x0E57C1C0), UINT32_C(0xA1A0E975),
+          UINT32_C(0xD1769DAE), UINT32_C(0xC3B6E13B), UINT32_C(0x68F62C4E),
+          UINT32_C(0x781242D8), UINT32_C(0x75152F9A)}},
+        {{UINT32_C(0x24B8B820), UINT32_C(0x4D582768), UINT32_C(0x5BBD9F84),
+          UINT32_C(0x36E37AC4), UINT32_C(0xDA076F12), UINT32_C(0x1F34414A),
+          UINT32_C(0x3E0333C6), UINT32_C(0x08A77C28)},
+         {UINT32_C(0xD9193382), UINT32_C(0xBB1F017D), UINT32_C(0x83A5612D),
+          UINT32_C(0x56E9AA24), UINT32_C(0xD0B4554F), UINT32_C(0x6959B02B),
+          UINT32_C(0xE4559B52), UINT32_C(0x2479BC56)}},
+    },
+    {
+        {{UINT32_C(0x0F570A8E), UINT32_C(0x96D631C6), UINT32_C(0xD714B807),
+          UINT32_C(0xE3F566A3), UINT32_C(0xEF7E1550), UINT32_C(0x564DD512),
+          UINT32_C(0x79FA2F58), UINT32_C(0x1C5CF24A)},
+         {UINT32_C(0x897958DB), UINT32_C(0x973BA599), UINT32_C(0x11A9CBB1),
+          UINT32_C(0x93951D17), UINT32_C(0xA37A969A), UINT32_C(0x86BA17F6),
+          UINT32_C(0xA069B195), UINT32_C(0x4807CAC7)}},
+        {{UINT32_C(0x6665B35E), UINT32_C(0xB64AC0D4), UINT32_C(0x7EF72C68),
+          UINT32_C(0xBA9CD394), UINT32_C(0x9C4CBC44), UINT32_C(0x838807B2),
+          UINT32_C(0x82770197), UINT32_C(0x2675D268)},
+         {UINT32_C(0x17087FA9), UINT32_C(0xBFC2F137), UINT32_C(0xE7B79B31),
+          UINT32_C(0x811E644B), UINT32_C(0xC963A061), UINT32_C(0x597CE23F),
+          UINT32_C(0x2EA0DEB0), UINT32_C(0x40BC32E4)}},
+        {{UINT32_C(0x27C85959), UINT32_C(0xC0AEFB50), UINT32_C(0x058E0FDD),
+          UINT32_C(0x76D1087E), UINT32_C(0x7E51A6F8), UINT32_C(0x6ADA5AAF),
+          UINT32_C(0x054A058D), UINT32_C(0x424B16E0)},
+         {UINT32_C(0x63AF9766), UINT32_C(0x9A2C20A9), UINT32_C(0x3CF18DAB),
+          UINT32_C(0x4C1CB532), UINT32_C(0x6C5D6A00), UINT32_C(0x599CD929),
+          UINT32_C(0x8AA311BF), UINT32_C(0x57C39BAE)}},
+        {{UINT32_C(0xCD987F02), UINT32_C(0x3FDF5B46), UINT32_C(0x353175C4),
+          UINT32_C(0x57755078), UINT32_C(0xCD578394), UINT32_C(0x80223EC0),
+          UINT32_C(0xAEB7D278), UINT32_C(0x04BBA6AC)},
+         {UINT32_C(0x8688BFB2), UINT32_C(0xD27FD2BE), UINT32_C(0xC27A62E5),
+          UINT32_C(0xB2F80278), UINT32_C(0x339429D8), UINT32_C(0x8BA6FB07),
+          UINT32_C(0x3AB70AA0), UINT32_C(0x57737FF6)}},
+        {{UINT32_C(0x8EAEB3C9), UINT32_C(0x0140E47F), UINT32_C(0x735AC8EA),
+          UINT32_C(0xB91C9798), UINT32_C(0x83D4EFAA), UINT32_C(0x325E0312),
+          UINT32_C(0xD9C5888E), UINT32_C(0x1E7DA3BE)},
+         {UINT32_C(0xF7F1EB13), UINT32_C(0xA210CDA6), UINT32_C(0x936EA9E9),
+          UINT32_C(0xEDC1F6B3), UINT32_C(0x1B097F65), UINT32_C(0x46E831C4),
+          UINT32_C(0x1939A0AE), UINT32_C(0x00857601)}},
+        {{UINT32_C(0x1F68BB40), UINT32_C(0x7C26F711), UINT32_C(0x39DDBE6D),
+          UINT32_C(0xEA69C845), UINT32_C(0xE5316F22), UINT32_C(0x590BF426),
+          UINT32_C(0xCC2DF9C9), UINT32_C(0x40CDC921)},
+         {UINT32_C(0xF3F991C6), UINT32_C(0x28A32DDE), UINT32_C(0x5356CA78),
+          UINT32_C(0xD75B59E6), UINT32_C(0xD1F5F318), UINT32_C(0xB5DD3861),
+          UINT32_C(0xE7929834), UINT32_C(0x09EB1A2D)}},
+        {{UINT32_C(0xDBC0370D), UINT32_C(0x701F9A2D), UINT32_C(0x2870B59D),
+          UINT32_C(0x559D0FAF), UINT32_C(0x55367B5D), UINT32_C(0xE89E5DF0),
+          UINT32_C(0x74005A58), UINT32_C(0x22BBD4FC)},
+         {UINT32_C(0x99CDC76B), UINT32_C(0x7ACED1E4), UINT32_C(0xE3C219D3),
+          UINT32_C(0xD41C827C), UINT32_C(0x8221D91F), UINT32_C(0x5AF3F2AE),
+          UINT32_C(0xE5B6BC98), UINT32_C(0x6D62C990)}},
+        {{UINT32_C(0x7FFC9D0F), UINT32_C(0x23B2A0BF), UINT32_C(0x974CA299),
+          UINT32_C(0xED98F71D), UINT32_C(0x151D559B), UINT32_C(0x10F8C07A),
+          UINT32_C(0x8E949C62), UINT32_C(0x40E46FC3)},
+         {UINT32_C(0xBBE55338), UINT32_C(0x0CF53E34), UINT32_C(0x115520D4),
+          UINT32_C(0xF2D6CF26), UINT32_C(0x590B4E23), UINT32_C(0x915FF09A),
+          UINT32_C(0xBEDC75F2), UINT32_C(0x072E4233)}},
+        {{UINT32_C(0x997E9BFA), UINT32_C(0xB67A6B60), UINT32_C(0x973BC3E7),
+          UINT32_C(0xE7686AC9), UINT32_C(0x0B228320), UINT32_C(0x9525B449),
+          UINT32_C(0x7ADE8F19), UINT32_C(0x6C727583)},
+         {UINT32_C(0x062FF3D5), UINT32_C(0x3D064298), UINT32_C(0x07E22768),
+          UINT32_C(0x5483826C), UINT32_C(0x1F7A64A4), UINT32_C(0xF4ADE921),
+          UINT32_C(0xBD92EB25), UINT32_C(0x70BDDCF7)}},
+        {{UINT32_C(0x5D8A9E36), UINT32_C(0xA8DB3611), UINT32_C(0xFA81065A),
+          UINT32_C(0xAA6A5F33), UINT32_C(0x366DDA90), UINT32_C(0x8EC120A3),
+          UINT32_C(0xD8A15CF7), UINT32_C(0x2AA0AB25)},
+         {UINT32_C(0xA0DFFB9C), UINT32_C(0x5E11E169), UINT32_C(0x118408A7),
+          UINT32_C(0x8C7572E9), UINT32_C(0x35833ADF), UINT32_C(0x4EEFD13E),
+          UINT32_C(0xFC2C1811), UINT32_C(0x2C6732E8)}},
+        {{UINT32_C(0xB1537DF6), UINT32_C(0x15D063F9), UINT32_C(0x0414FCFD),
+          UINT32_C(0x864176B3), UINT32_C(0x8FF9E32E), UINT32_C(0x9C0A194C),
+          UINT32_C(0xDDE1540B), UINT32_C(0x4DB14C6F)},
+         {UINT32_C(0x31F6493F), UINT32_C(0xFAA4AED4), UINT32_C(0xD3C41A46),
+          UINT32_C(0x2C479F1D), UINT32_C(0x8E5E85A2), UINT32_C(0xC3119667),
+          UINT32_C(0x84E9A76C), UINT32_C(0x7E567C80)}},
+        {{UINT32_C(0x689A6B95), UINT32_C(0xB9E2C92A), UINT32_C(0x3B635B01),
+          UINT32_C(0xCCEAC383), UINT32_C(0x34AAB952), UINT32_C(0x04FEA465),
+          UINT32_C(0x63B5CF63), UINT32_C(0x772E5027)},
+         {UINT32_C(0x25830581), UINT32_C(0xCB94F5D2), UINT32_C(0xC77FB7DE),
+          UINT32_C(0x791004AF), UINT32_C(0x5140E4AE), UINT32_C(0x53273C33),
+          UINT32_C(0xA524419F), UINT32_C(0x0C2D329E)}},
+        {{UINT32_C(0xB307B0E4), UINT32_C(0xB7CEDA36), UINT32_C(0x0F8F9667),
+          UINT32_C(0x12DF7FD0), UINT32_C(0xBF62BD94), UINT32_C(0x74274002),
+          UINT32_C(0xC436C319), UINT32_C(0x6765C73D)},
+         {UINT32_C(0xF6EEC946), UINT32_C(0x79B64CE5), UINT32_C(0xDAB258B6),
+          UINT32_C(0x3B1B4B43), UINT32_C(0xEE1F8B84), UINT32_C(0x377819A3),
+          UINT32_C(0x76D0EB1F), UINT32_C(0x1F45F1D6)}},
+        {{UINT32_C(0x58C953AD), UINT32_C(0xCC5BF9B3), UINT32_C(0x7BAD1D2C),
+          UINT32_C(0x8303250F), UINT32_C(0xF164972B), UINT32_C(0xBCA7BC36),
+          UINT32_C(0xB1DFDA64), UINT32_C(0x2CACF8A9)},
+         {UINT32_C(0xD4E2A06F), UINT32_C(0xB03A59B9), UINT32_C(0x1B7FB8FD),
+          UINT32_C(0xFED68E68), UINT32_C(0x7E747AE6), UINT32_C(0x08F75A52),
+          UINT32_C(0x37A4420B), UINT32_C(0x3299EA6B)}},
+        {{UINT32_C(0x932E5BA6), UINT32_C(0x49A00BE6), UINT32_C(0x56114C4B),
+          UINT32_C(0x49212505), UINT32_C(0x376183C7), UINT32_C(0x786B7D31),
+          UINT32_C(0xDD8A5EAF), UINT32_C(0x01F9E229)},
+         {UINT32_C(0x53094AD4), UINT32_C(0xE9B8E990), UINT32_C(0xBFAEDFA8),
+          UINT32_C(0x2EDA305C), UINT32_C(0x7F9E3BC8), UINT32_C(0x34443726),
+          UINT32_C(0x6B55B3C3), UINT32_C(0x1729519C)}},
+        {{UINT32_C(0x50A597D6), UINT32_C(0xEA5A68C0), UINT32_C(0xF1E86D1B),
+          UINT32_C(0xA65147D4), UINT32_C(0x8B47CDEB), UINT32_C(0x554FA36B),
+          UINT32_C(0x9F24FFED), UINT32_C(0x7F38364B)},
+         {UINT32_C(0x1D2A8E2B), UINT32_C(0x657C7E05), UINT32_C(0xE3F64D62),
+          UINT32_C(0x8270F1A7), UINT32_C(0x953AF5A2), UINT32_C(0xFD258B59),
+          UINT32_C(0x43510AA3), UINT32_C(0x6DE01141)}},
+    },
+    {
+        {{UINT32_C(0x0D7A5CBE), UINT32_C(0x48390428), UINT32_C(0xDE441E5E),
+          UINT32_C(0xD37E8C1F), UINT32_C(0x0DE31C8C), UINT32_C(0x908C88B8),
+          UINT32_C(0x0ACD87CE), UINT32_C(0x7C0E24BB)},
+         {UINT32_C(0x25ECCCE8), UINT32_C(0x4A781177), UINT32_C(0xCBDA746F),
+          UINT32_C(0xC06C2F7A), UINT32_C(0xAB565DD4), UINT32_C(0xDB9E9A08),
+          UINT32_C(0xBE776F5B), UINT32_C(0x1E9B44C0)}},
+        {{UINT32_C(0x85B54ABC), UINT32_C(0x7CFD4E50), UINT32_C(0xE7A44F8B),
+          UINT32_C(0x41A4A4DC), UINT32_C(0xA4422576), UINT32_C(0x751C5052),
+          UINT32_C(0xD56B6CB1), UINT32_C(0x534FE0B2)},
+         {UINT32_C(0xD5D767D0), UINT32_C(0x22DAA5CD), UINT32_C(0x0AF8E22C),
+          UINT32_C(0x9C1999AB), UINT32_C(0x99259068), UINT32_C(0xC70C0932),
+          UINT32_C(0xFD0839F0), UINT32_C(0x459D212E)}},
+        {{UINT32_C(0xFD32D79B), UINT32_C(0xA207E7DE), UINT32_C(0x410B479F),
+          UINT32_C(0xA7B54991), UINT32_C(0xD68E5CDC), UINT32_C(0x806912B6),
+          UINT32_C(0x92AB8B64), UINT32_C(0x1CB7B68C)},
+         {UINT32_C(0xDF98339F), UINT32_C(0x3DB85378), UINT32_C(0x83EA7A18),
+          UINT32_C(0xA24101DC), UINT32_C(0xE25522C5), UINT32_C(0x8892367C),
+          UINT32_C(0x7753A2C3), UINT32_C(0x491A8BB3)}},
+        {{UINT32_C(0x8C7875A7), UINT32_C(0x571C547E), UINT32_C(0xE9747C13),
+          UINT32_C(0x7E5F23E4), UINT32_C(0x1058548D), UINT32_C(0x00F3BBB2),
+          UINT32_C(0xE2397102), UINT32_C(0x7081F172)},
+         {UINT32_C(0x6B573034), UINT32_C(0xB4351B8A), UINT32_C(0xC1A094F0),
+          UINT32_C(0xB35A4F44), UINT32_C(0xAE951E96), UINT32_C(0xE2C1DAED),
+          UINT32_C(0xB9DAA081), UINT32_C(0x5CF2A742)}},
+        {{UINT32_C(0x9828ED9F), UINT32_C(0xB4F0D3F0), UINT32_C(0xA9251386),
+          UINT32_C(0x6DB312FB), UINT32_C(0x537203F2), UINT32_C(0xC9A4583F),
+          UINT32_C(0x9CE76D40), UINT32_C(0x5E099639)},
+         {UINT32_C(0xC9F8CEA8), UINT32_C(0x3381B894), UINT32_C(0x626E07E8),
+          UINT32_C(0x8242DAF8), UINT32_C(0x6077DFD9), UINT32_C(0x64A0B68C),
+          UINT32_C(0x563CF051), UINT32_C(0x3CC462C0)}},
+        {{UINT32_C(0x87AF4A45), UINT32_C(0x8937364C), UINT32_C(0x2DE0FD60),
+          UINT32_C(0x8C4ACBFA), UINT32_C(0x472A5D8A), UINT32_C(0xF10AED11),
+          UINT32_C(0x5380C2E6), UINT32_C(0x3F5674B5)},
+         {UINT32_C(0x2BF8A452), UINT32_C(0x8F4FD0F5), UINT32_C(0xC7390418),
+          UINT32_C(0xB436E388), UINT32_C(0xE6EE9406), UINT32_C(0xAFAB7B7C),
+          UINT32_C(0x951739BA), UINT32_C(0x4F623177)}},
+        {{UINT32_C(0xA9B50F2A), UINT32_C(0x90B0ED35), UINT32_C(0xAC6CF217),
+          UINT32_C(0x46DC3F91), UINT32_C(0x2C7B119C), UINT32_C(0x2F142031),
+          UINT32_C(0x07D79225), UINT32_C(0x55A93CBC)},
+         {UINT32_C(0xB304A642), UINT32_C(0x45E0DD7D), UINT32_C(0xD572D446),
+          UINT32_C(0xB743DFCD), UINT32_C(0xAC74B368), UINT32_C(0x867B02EB),
+          UINT32_C(0x169B94B0), UINT32_C(0x67B2B86C)}},
+        {{UINT32_C(0x483CFEDB), UINT32_C(0x18396DA7), UINT32_C(0x8A3A07C2),
+          UINT32_C(0x6C6E0370), UINT32_C(0xAB554998), UINT32_C(0xF32A1AFE),
+          UINT32_C(0x87D1C136), UINT32_C(0x408C9119)},
+         {UINT32_C(0x4BBE0B78), UINT32_C(0x755F6325), UINT32_C(0xD1178550),
+          UINT32_C(0xDC4A7319), UINT32_C(0xB3B9E459), UINT32_C(0x44B49813),
+          UINT32_C(0x4C3D3620), UINT32_C(0x0294B9A9)}},
+        {{UINT32_C(0x067FA6FF), UINT32_C(0x6480F6FE), UINT32_C(0xF307A52E),
+          UINT32_C(0x67891400), UINT32_C(0x7F865DA8), UINT32_C(0x9F846EF8),
+          UINT32_C(0xAE02F671), UINT32_C(0x318DAC55)},
+         {UINT32_C(0xE288A317), UINT32_C(0x91119652), UINT32_C(0x038C61B8),
+          UINT32_C(0x4D7CF2B8), UINT32_C(0x5154C1A8), UINT32_C(0x098F80DD),
+          UINT32_C(0xD239A2D4), UINT32_C(0x10C04F87)}},
+        {{UINT32_C(0x5CA6F183), UINT32_C(0x13460926), UINT32_C(0xD52001ED),
+          UINT32_C(0x5E97AD18), UINT32_C(0xE14843DF), UINT32_C(0x7DCD2477),
+          UINT32_C(0x98A30426), UINT32_C(0x27DAB276)},
+         {UINT32_C(0xE120D80C), UINT32_C(0x7939CAE3), UINT32_C(0x51E5B81A),
+          UINT32_C(0xC9F46466), UINT32_C(0xE2E49D52), UINT32_C(0xED620322),
+          UINT32_C(0xFA172BBB), UINT32_C(0x3C0F5A2E)}},
+        {{UINT32_C(0x5DB1196B), UINT32_C(0xBFFE8742), UINT32_C(0x49B7214E),
+          UINT32_C(0xCD45F8ED), UINT32_C(0xC35F5C33), UINT32_C(0x923ABA47),
+          UINT32_C(0x83F3EE48), UINT32_C(0x16ED1F10)},
+         {UINT32_C(0x99274930), UINT32_C(0x042E6DF0), UINT32_C(0xC5F8EA16),
+          UINT32_C(0xE8AE1DCF), UINT32_C(0xF02EA2B2), UINT32_C(0x004462CB),
+          UINT32_C(0xD284B04E), UINT32_C(0x427F9381)}},
+        {{UINT32_C(0x75EFACC5), UINT32_C(0x4CD481F8), UINT32_C(0x21C83368),
+          UINT32_C(0xD98C3FD4), UINT32_C(0x3894CE88), UINT32_C(0x4335E7C8),
+          UINT32_C(0x955A298C), UINT32_C(0x18321F87)},
+         {UINT32_C(0xD1716E18), UINT32_C(0x073DD00A), UINT32_C(0xFE0BFE61),
+          UINT32_C(0x66D82A5F), UINT32_C(0x2310C532), UINT32_C(0x7D869E20),
+          UINT32_C(0x19BF4704), UINT32_C(0x29A376FB)}},
+        {{UINT32_C(0xC149B5B0), UINT32_C(0xA1B12B35), UINT32_C(0x1E828959),
+          UINT32_C(0x3411B231), UINT32_C(0x560D99FB), UINT32_C(0x56417519),
+          UINT32_C(0xEBB52124), UINT32_C(0x4E0EB143)},
+         {UINT32_C(0x6AEF3801), UINT32_C(0x7B594B5E), UINT32_C(0x9ECB536E),
+          UINT32_C(0x00AEE12E), UINT32_C(0x56E23145), UINT32_C(0x6BF0FB29),
+          UINT32_C(0x61AE8E98), UINT32_C(0x2B2D83B9)}},
+        {{UINT32_C(0x6AC27F2D), UINT32_C(0x9CB3E2E8), UINT32_C(0x5A6280AA),
+          UINT32_C(0x82BACA96), UINT32_C(0x2C6B7C8F), UINT32_C(0xCBC6C01B),
+          UINT32_C(0xD0C01ABD), UINT32_C(0x390511BC)},
+         {UINT32_C(0x49551C0D), UINT32_C(0xB322D972), UINT32_C(0x7B6489C8),
+          UINT32_C(0x7905E82E), UINT32_C(0x40EEC20D), UINT32_C(0x4DD0CE8B),
+          UINT32_C(0x2409298A), UINT32_C(0x5C0B3EE7)}},
+        {{UINT32_C(0xB635FB99), UINT32_C(0x4418D685), UINT32_C(0x3ACE8B39),
+          UINT32_C(0x652EA608), UINT32_C(0x46FC4047), UINT32_C(0xE586FBDC),
+          UINT32_C(0xD8CC13D8), UINT32_C(0x3C832D34)},
+         {UINT32_C(0xF7AA54A1), UINT32_C(0x14CC9F23), UINT32_C(0x07153B9F),
+          UINT32_C(0x80D094E6), UINT32_C(0x6A2EED8E), UINT32_C(0x0776E540),
+          UINT32_C(0x77249085), UINT32_C(0x03CC3BFC)}},
+        {{UINT32_C(0x1308C1A8), UINT32_C(0x5F8F281F), UINT32_C(0xD1AFC4B7),
+          UINT32_C(0x31C8E737), UINT32_C(0x41AE8EF2), UINT32_C(0x67785298),
+          UINT32_C(0xFD028A4B), UINT32_C(0x17716086)},
+         {UINT32_C(0xF922E100), UINT32_C(0x1A2083E0), UINT32_C(0xD53FE691),
+          UINT32_C(0xD67EC9D1), UINT32_C(0xECCA8DEB), UINT32_C(0x2DF8B6ED),
+          UINT32_C(0xBCCC999E), UINT32_C(0x3B595EE4)}},
+    },
+    {
+        {{UINT32_C(0x5A4B8C04), UINT32_C(0x11F03F89), UINT32_C(0x7DAE8E6B),
+          UINT32_C(0x254C3648), UINT32_C(0x637CDB83), UINT32_C(0xAB6EAAF1),
+          UINT32_C(0xFDDED8F6), UINT32_C(0x41F52243)},
+         {UINT32_C(0xBBDF3270), UINT32_C(0x487078E1), UINT32_C(0x339CEA28),
+          UINT32_C(0x98853B49), UINT32_C(0xAB3EDE57), UINT32_C(0x8AF0522B),
+          UINT32_C(0x85EB4CC0), UINT32_C(0x734D711F)}},
+        {{UINT32_C(0xF86BA644), UINT32_C(0xFD1F46AD), UINT32_C(0xA3299855),
+          UINT32_C(0xA5332B97), UINT32_C(0xD9493634), UINT32_C(0x61BE90DB),
+          UINT32_C(0xC2705911), UINT32_C(0x308F09B1)},
+         {UINT32_C(0x0B7918A5), UINT32_C(0xD59F1B1A), UINT32_C(0xCF6399E6),
+          UINT32_C(0x9CF333D0), UINT32_C(0xFBB26B6B), UINT32_C(0xD09C63CD),
+          UINT32_C(0xA6536647), UINT32_C(0x76C27913)}},
+        {{UINT32_C(0xAAAB555C), UINT32_C(0x3DF1811F), UINT32_C(0x886C828B),
+          UINT32_C(0x60853351), UINT32_C(0xF1E87F41), UINT32_C(0xF6CA7707),
+          UINT32_C(0x7D7082E6), UINT32_C(0x5B4F6EDF)},
+         {UINT32_C(0x3F672DE7), UINT32_C(0xADE518E0), UINT32_C(0x022541B2),
+          UINT32_C(0x00ED0B84), UINT32_C(0x618E8969), UINT32_C(0x04FE5DD6),
+          UINT32_C(0xDB9CCA4D), UINT32_C(0x2F5F5C65)}},
+        {{UINT32_C(0x96BDAE2C), UINT32_C(0x00B69B45), UINT32_C(0x770604C4),
+          UINT32_C(0x06DB22CF), UINT32_C(0x856585C3), UINT32_C(0xC2EB7F8F),
+          UINT32_C(0x0413C614), UINT32_C(0x6E322539)},
+         {UINT32_C(0x70A46872), UINT32_C(0x22C09EA8), UINT32_C(0x1FF23734),
+          UINT32_C(0x143E73BC), UINT32_C(0x575C20B4), UINT32_C(0xCAC5E2DD),
+          UINT32_C(0x3FEBE787), UINT32_C(0x225E5390)}},
+        {{UINT32_C(0xBE9C512D), UINT32_C(0x594FEA4E), UINT32_C(0x92CB73AE),
+          UINT32_C(0x58507092), UINT32_C(0xB0CE2096), UINT32_C(0xFD8EFC7D),
+          UINT32_C(0xE031D6AB), UINT32_C(0x3B58C199)},
+         {UINT32_C(0x479F23E4), UINT32_C(0x55DA1CBD), UINT32_C(0xA6DB6137),
+          UINT32_C(0x060C6BB5), UINT32_C(0x6864488E), UINT32_C(0xD8319CF8),
+          UINT32_C(0x21B02EDA), UINT32_C(0x6C15A31B)}},
+        {{UINT32_C(0x8CA7084D), UINT32_C(0x13C48372), UINT32_C(0xA171ECE5),
+          UINT32_C(0xF7554E59), UINT32_C(0x23A97699), UINT32_C(0x7425C5D8),
+          UINT32_C(0x71E1120E), UINT32_C(0x6F2C68DA)},
+         {UINT32_C(0x24324B64), UINT32_C(0x9591B9B6), UINT32_C(0xC02AC704),
+          UINT32_C(0x2DA33472), UINT32_C(0x81EE1295), UINT32_C(0xC5DE7FC9),
+          UINT32_C(0x5D6E93C6), UINT32_C(0x6A646A44)}},
+        {{UINT32_C(0xA39D6554), UINT32_C(0x48684061), UINT32_C(0xC3DF57B6),
+          UINT32_C(0xB70ABF61), UINT32_C(0x58B9EEE3), UINT32_C(0x9824AFD6),
+          UINT32_C(0x3A14A733), UINT32_C(0x46EBE9D1)},
+         {UINT32_C(0xD74F8E94), UINT32_C(0x8E70F95D), UINT32_C(0x6AFCA4E2),
+          UINT32_C(0xA9D922A2), UINT32_C(0x6988CC16), UINT32_C(0x519A9753),
+          UINT32_C(0xD545AF8A), UINT32_C(0x711DEF16)}},
+        {{UINT32_C(0x811A2BF7), UINT32_C(0x362A5D95), UINT32_C(0x566B90CE),
+          UINT32_C(0x42A84A33), UINT32_C(0x7C41EC87), UINT32_C(0x25CBC760),
+          UINT32_C(0xD4B7DBEE), UINT32_C(0x6B77E39C)},
+         {UINT32_C(0x833015A4), UINT32_C(0xA98B8201), UINT32_C(0xC31B26F4),
+          UINT32_C(0xE412E217), UINT32_C(0xE0090782), UINT32_C(0x518BE8F0),
+          UINT32_C(0x3DB51D4E), UINT32_C(0x08D9F4B6)}},
+        {{UINT32_C(0x297D421E), UINT32_C(0x2C80CE87), UINT32_C(0xADBA1498),
+          UINT32_C(0x2FD137F8), UINT32_C(0x2899AA14), UINT32_C(0xA2ED3D47),
+          UINT32_C(0xFE4F365A), UINT32_C(0x2AC924A5)},
+         {UINT32_C(0x666DC0A0), UINT32_C(0xAC0389B7), UINT32_C(0x8ABF3D9E),
+          UINT32_C(0x3CC99739), UINT32_C(0xDFBFF83A), UINT32_C(0x33060DB6),
+          UINT32_C(0x0339C3B8), UINT32_C(0x54EEE215)}},
+        {{UINT32_C(0x820F7E4D), UINT32_C(0x06C3A4F5), UINT32_C(0x08C3D311),
+          UINT32_C(0x86F083E2), UINT32_C(0xFE4B0476), UINT32_C(0x47E29984),
+          UINT32_C(0xCA7DF6CF), UINT32_C(0x218F52E2)},
+         {UINT32_C(0xBF2C2084), UINT32_C(0x59317E26), UINT32_C(0x289A10CF),
+          UINT32_C(0xEA9C865B), UINT32_C(0x2074FEA3), UINT32_C(0x7AA1E50B),
+          UINT32_C(0x4B3EFC31), UINT32_C(0x708A1D8C)}},
+        {{UINT32_C(0x864817D7), UINT32_C(0x34C5C63E), UINT32_C(0xD89E995B),
+          UINT32_C(0x0F614043), UINT32_C(0x975E2A03), UINT32_C(0x60CE8BCE),
+          UINT32_C(0x78493E0C), UINT32_C(0x70916E29)},
+         {UINT32_C(0x216782C6), UINT32_C(0xBD0748F9), UINT32_C(0xED32FB72),
+          UINT32_C(0x0051C65A), UINT32_C(0x4DD64705), UINT32_C(0x9DC5F558),
+          UINT32_C(0xEEC14B50), UINT32_C(0x674F1A63)}},
+        {{UINT32_C(0xDB633FD1), UINT32_C(0x73D6E68E), UINT32_C(0xF52F9537),
+          UINT32_C(0x7B5F8303), UINT32_C(0x88A74CFB), UINT32_C(0x980FDDDC),
+          UINT32_C(0x47FC32D1), UINT32_C(0x6419C18F)},
+         {UINT32_C(0x870B5D59), UINT32_C(0x93727B4C), UINT32_C(0xCF28021D),
+          UINT32_C(0x4BCE05DE), UINT32_C(0xAB4F0CE5), UINT32_C(0x3C059B47),
+          UINT32_C(0xB85FFDBB), UINT32_C(0x77CA7F67)}},
+        {{UINT32_C(0xC525088E), UINT32_C(0xDBEADDCE), UINT32_C(0x390D2221),
+          UINT32_C(0x561E12BE), UINT32_C(0xD9BA7AF0), UINT32_C(0xCD224FC1),
+          UINT32_C(0x394DC073), UINT32_C(0x03744552)},
+         {UINT32_C(0x21BB6B6E), UINT32_C(0xCFC67B49), UINT32_C(0x1B5F8E6A),
+          UINT32_C(0xD234FD8D), UINT32_C(0x40B7F8B0), UINT32_C(0x6DDBC18B),
+          UINT32_C(0xDAACCC74), UINT32_C(0x79F40857)}},
+        {{UINT32_C(0x9DD71B9C), UINT32_C(0x30E5F990), UINT32_C(0x291124EF),
+          UINT32_C(0x00FCBFA5), UINT32_C(0x49B8C570), UINT32_C(0xBE595A25),
+          UINT32_C(0xBC094446), UINT32_C(0x5B4B8141)},
+         {UINT32_C(0x469191B6), UINT32_C(0xB22B4F04), UINT32_C(0xD73C4D38),
+          UINT32_C(0x10845AC8), UINT32_C(0xED0C8224), UINT32_C(0x39C9F0FB),
+          UINT32_C(0xF5813BEE), UINT32_C(0x7E009DFB)}},
+        {{UINT32_C(0xA61D09C0), UINT32_C(0xA47C2989), UINT32_C(0x59E55A9C),
+          UINT32_C(0x3706F456), UINT32_C(0xEA0259B9), UINT32_C(0x2373976F),
+          UINT32_C(0x077D20CC), UINT32_C(0x13FC0E09)},
+         {UINT32_C(0xE78D29CF), UINT32_C(0xBB24DD05), UINT32_C(0x822CFA02),
+          UINT32_C(0xD8757A67), UINT32_C(0x3C55A4C6), UINT32_C(0x36CA7486),
+          UINT32_C(0x3EEABBE1), UINT32_C(0x4234E689)}},
+        {{UINT32_C(0xB46BDB51), UINT32_C(0xA2F54D14), UINT32_C(0x675BB770),
+          UINT32_C(0x8A530B78), UINT32_C(0xDE9F1F8B), UINT32_C(0x617D7E8E),
+          UINT32_C(0x2DCC4712), UINT32_C(0x799B3E44)},
+         {UINT32_C(0xB486FE8C), UINT32_C(0x658A31D8), UINT32_C(0x163D4AF0),
+          UINT32_C(0x45BAFC29), UINT32_C(0xA5289C8D), UINT32_C(0x3A2C7F66),
+          UINT32_C(0xB91FF3DB), UINT32_C(0x4ECC3C7D)}},
+    },
+    {
+        {{UINT32_C(0xDF4DFD43), UINT32_C(0x738CF1C7), UINT32_C(0xE987084C),
+          UINT32_C(0x72943A2D), UINT32_C(0x2491FF24), UINT32_C(0xEA21C05F),
+          UINT32_C(0xDA050094), UINT32_C(0x3D3F4ED7)},
+         {UINT32_C(0x61C4054D), UINT32_C(0xF90644E4), UINT32_C(0x3A50E82A),
+          UINT32_C(0x25379214), UINT32_C(0xC7DEF970), UINT32_C(0x47EDB006),
+          UINT32_C(0x0F53F307), UINT32_C(0x0F8F031C)}},
+        {{UINT32_C(0x724976D5), UINT32_C(0x50FEB6D8), UINT32_C(0xF40C7720),
+          UINT32_C(0x57AA499F), UINT32_C(0x0DAAF428), UINT32_C(0x6B80AC54),
+          UINT32_C(0x1F6FC276), UINT32_C(0x7AC6845E)},
+         {UINT32_C(0x17A4B9C5), UINT32_C(0x8EC7FAB1), UINT32_C(0xED0C8F97),
+          UINT32_C(0x8336DD62), UINT32_C(0xB7B7104E), UINT32_C(0x6014A510),
+          UINT32_C(0xA2911C30), UINT32_C(0x4991A03B)}},
+        {{UINT32_C(0xCBCC9BA3), UINT32_C(0x6D353975), UINT32_C(0xC4564492),
+          UINT32_C(0x23E97E28), UINT32_C(0xF8AEED3E), UINT32_C(0xDF432FDA),
+          UINT32_C(0x6F6B472C), UINT32_C(0x11DB40DD)},
+         {UINT32_C(0x95AA0174), UINT32_C(0x5B87005B), UINT32_C(0x89D9F1A8),
+          UINT32_C(0x1DB41080), UINT32_C(0x689DF208), UINT32_C(0x5A6BC444),
+          UINT32_C(0xBF38FF8D), UINT32_C(0x16153F87)}},
+        {{UINT32_C(0xFFD3C814), UINT32_C(0xD217003F), UINT32_C(0xFD50AF95),
+          UINT32_C(0x1ADE64C3), UINT32_C(0x9FFB8BEB), UINT32_C(0x1936332C),
+          UINT32_C(0xD70CD8D8), UINT32_C(0x6EE322DC)},
+         {UINT32_C(0xF2A60976), UINT32_C(0xE40A0419), UINT32_C(0xEF93B05B),
+          UINT32_C(0xA62F6FA1), UINT32_C(0x596575FF), UINT32_C(0x5978206C),
+          UINT32_C(0xB68BFE5C), UINT32_C(0x5CDCA200)}},
+        {{UINT32_C(0xB7949E33), UINT32_C(0x3FB16AED), UINT32_C(0x40304A1B),
+          UINT32_C(0x34538928), UINT32_C(0x3BCA4239), UINT32_C(0x7FA35A34),
+          UINT32_C(0xEE76919E), UINT32_C(0x22FD1AEF)},
+         {UINT32_C(0x0F6A5D50), UINT32_C(0x1F8FE6A4), UINT32_C(0x26BBA46B),
+          UINT32_C(0x27CC704F), UINT32_C(0x3420CC52), UINT32_C(0x230FD0CA),
+          UINT32_C(0xB3A83D85), UINT32_C(0x3E9E4DA4)}},
+        {{UINT32_C(0x7F5CC75E), UINT32_C(0x1D82390E), UINT32_C(0x49D0A605),
+          UINT32_C(0x70256245), UINT32_C(0x4FF4BC44), UINT32_C(0x5B877813),
+          UINT32_C(0xB5EC02E4), UINT32_C(0x28E6A057)},
+         {UINT32_C(0x2E89FB84), UINT32_C(0xBC7A10DA), UINT32_C(0x20E1EA00),
+          UINT32_C(0x3AF182E5), UINT32_C(0x9C507274), UINT32_C(0x4B590FFA),
+          UINT32_C(0xAA7FD65B), UINT32_C(0x26BA94D6)}},
+        {{UINT32_C(0x238CC195), UINT32_C(0xC02CC77C), UINT32_C(0xA97EE3E4),
+          UINT32_C(0x3F175C97), UINT32_C(0xDFA1F9DC), UINT32_C(0x8A28FA23),
+          UINT32_C(0x1F968D15), UINT32_C(0x35CAC0FF)},
+         {UINT32_C(0x37C7C773), UINT32_C(0x0FC41B33), UINT32_C(0xBC999443),
+          UINT32_C(0x71E06B10), UINT32_C(0x2C87B0A4), UINT32_C(0x073A1ABA),
+          UINT32_C(0x9E5E8B70), UINT32_C(0x29F29B12)}},
+        {{UINT32_C(0xE491FE70), UINT32_C(0xAA25F348), UINT32_C(0xC1713992),
+          UINT32_C(0x9371F94B), UINT32_C(0x4FA08818), UINT32_C(0x674B478C),
+          UINT32_C(0xB1407431), UINT32_C(0x6F3C31FE)},
+         {UINT32_C(0xD93DD5E1), UINT32_C(0xBB7D37FB), UINT32_C(0x7E04EE7A),
+          UINT32_C(0xE34A40B8), UINT32_C(0xF3C33528), UINT32_C(0xCF82360D),
+          UINT32_C(0x01477712), UINT32_C(0x0A3B8FF5)}},
+        {{UINT32_C(0x6B718511), UINT32_C(0xA4591471), UINT32_C(0xD2FD6B9B),
+          UINT32_C(0x7B0CE8DE), UINT32_C(0x6845DBEF), UINT32_C(0xC42544FA),
+          UINT32_C(0x63AF476A), UINT32_C(0x456A6985)},
+         {UINT32_C(0x9CDE4E74), UINT32_C(0x5DD611F6), UINT32_C(0x2B346AEB),
+          UINT32_C(0x86095683), UINT32_C(0x6E75B3D7), UINT32_C(0xD15C5DA0),
+          UINT32_C(0xC72D5D2C), UINT32_C(0x220FFD73)}},
+        {{UINT32_C(0xD2ED888F), UINT32_C(0x478DA345), UINT32_C(0xE04CBCC7),
+          UINT32_C(0xA69D4FB9), UINT32_C(0xB3F1179D), UINT32_C(0xA427150A),
+          UINT32_C(0xD5CEA78A), UINT32_C(0x1DD3B8C2)},
+         {UINT32_C(0xB8628A22), UINT32_C(0x9462EFF0), UINT32_C(0xB2CB44A5),
+          UINT32_C(0xB2FFFF4A), UINT32_C(0x24039BA8), UINT32_C(0x8234A3FF),
+          UINT32_C(0x916DE889), UINT32_C(0x01BE7202)}},
+        {{UINT32_C(0x6DFCEF0B), UINT32_C(0x51066985), UINT32_C(0xDF20CDEE),
+          UINT32_C(0x25729D98), UINT32_C(0x9693E5EF), UINT32_C(0x872FD39D),
+          UINT32_C(0x2D859635), UINT32_C(0x72D03AE1)},
+         {UINT32_C(0xDACAEB82), UINT32_C(0x3F28F84E), UINT32_C(0xCB5284D7),
+          UINT32_C(0x9EB40FD6), UINT32_C(0xC5F54041), UINT32_C(0x66C2DCA6),
+          UINT32_C(0x1C1F2461), UINT32_C(0x4BDBA382)}},
+        {{UINT32_C(0x0E0ED176), UINT32_C(0xE5342197), UINT32_C(0xA225A47F),
+          UINT32_C(0xF588547A), UINT32_C(0x1FEB2259), UINT32_C(0xC83B54ED),
+          UINT32_C(0x92F3733D), UINT32_C(0x1B037913)},
+         {UINT32_C(0x2271ECFA), UINT32_C(0x935C9782), UINT32_C(0x53CFE07C),
+          UINT32_C(0x5F7E94A6), UINT32_C(0x1B40CA19), UINT32_C(0xBFF5B0E6),
+          UINT32_C(0x459445E1), UINT32_C(0x36C7851D)}},
+        {{UINT32_C(0x588C9748), UINT32_C(0xB6547971), UINT32_C(0x11970562),
+          UINT32_C(0xCFD8E81B), UINT32_C(0x702FE4FA), UINT32_C(0x41333C80),
+          UINT32_C(0x962A993B), UINT32_C(0x2F153C8C)},
+         {UINT32_C(0x8BDA48AC), UINT32_C(0x028BBD6A), UINT32_C(0xFE1DB02A),
+          UINT32_C(0x7B076F88), UINT32_C(0x078FB3FC), UINT32_C(0xC9560400),
+          UINT32_C(0x035907EA), UINT32_C(0x5DCC0946)}},
+        {{UINT32_C(0xA6233F1C), UINT32_C(0x93D7CF33), UINT32_C(0xDF2A187C),
+          UINT32_C(0x03184BC4), UINT32_C(0xE83DAC32), UINT32_C(0x291149BC),
+          UINT32_C(0xFAEDF216), UINT32_C(0x575F4279)},
+         {UINT32_C(0x086FC141), UINT32_C(0x101427B4), UINT32_C(0xD288562E),
+          UINT32_C(0xC924F2AE), UINT32_C(0xEEF5799A), UINT32_C(0xDB610463),
+          UINT32_C(0x6A09661D), UINT32_C(0x20F18767)}},
+        {{UINT32_C(0xF59D0C20), UINT32_C(0xE39BB775), UINT32_C(0x723A4EF2),
+          UINT32_C(0x18DA90E2), UINT32_C(0xF56B381B), UINT32_C(0x8E747A7B),
+          UINT32_C(0xF98F26DC), UINT32_C(0x7EF67224)},
+         {UINT32_C(0xE1F94B99), UINT32_C(0xB1373AF5), UINT32_C(0x0C3B6AA8),
+          UINT32_C(0x1076FBA6), UINT32_C(0xA3A7811C), UINT32_C(0x7FCD0017),
+          UINT32_C(0x46554E7E), UINT32_C(0x6D1A6973)}},
+        {{UINT32_C(0xB9CED2C2), UINT32_C(0xE5734077), UINT32_C(0x1F770914),
+          UINT32_C(0xC94D17F8), UINT32_C(0x1CD248EB), UINT32_C(0x58B47BCB),
+          UINT32_C(0x24804B6F), UINT32_C(0x2E06538C)},
+         {UINT32_C(0x32E7CA19), UINT32_C(0x275D933F), UINT32_C(0x1FC9241E),
+          UINT32_C(0x1B982B49), UINT32_C(0x3986B6AC), UINT32_C(0x8B8A6ED5),
+          UINT32_C(0x35B4EA6A), UINT32_C(0x17568221)}},
+    },
+    {
+        {{UINT32_C(0xE796327F), UINT32_C(0x090AD05A), UINT32_C(0xAD21DD4B),
+          UINT32_C(0xA78DAE5E), UINT32_C(0x9C2F8CBE), UINT32_C(0x8EEC9EDB),
+          UINT32_C(0x653E0F2D), UINT32_C(0x33E375E0)},
+         {UINT32_C(0x8D67AC72), UINT32_C(0xDA19EFF2), UINT32_C(0x2737AB8C),
+          UINT32_C(0xBFC7E62B), UINT32_C(0x4CF53C12), UINT32_C(0xBBF8BD1D),
+          UINT32_C(0x45C6D555), UINT32_C(0x5ABFE23F)}},
+        {{UINT32_C(0x0DE39342), UINT32_C(0x32460B33), UINT32_C(0xB8977067),
+          UINT32_C(0x3567454A), UINT32_C(0xF954592C), UINT32_C(0x10A1E47D),
+          UINT32_C(0x4DD019C4), UINT32_C(0x4DE8C6EF)},
+         {UINT32_C(0x1BDAAAFA), UINT32_C(0x1F1D296B), UINT32_C(0x3A75AD99),
+          UINT32_C(0x4E6B8E8F), UINT32_C(0xA27FE061), UINT32_C(0x259015E1),
+          UINT32_C(0x9F320632), UINT32_C(0x6B6A4820)}},
+        {{UINT32_C(0xA0B5E605), UINT32_C(0x8AA089AF), UINT32_C(0x1B4058FD),
+          UINT32_C(0x1D6C1EEE), UINT32_C(0xB4E89BEF), UINT32_C(0x1D920534),
+          UINT32_C(0x16163340), UINT32_C(0x722A3A35)},
+         {UINT32_C(0xF33B49B2), UINT32_C(0xA3B9178C), UINT32_C(0x65558E90),
+          UINT32_C(0xFF8FE9BB), UINT32_C(0x9794EFAE), UINT32_C(0x94766BC0),
+          UINT32_C(0xFDFAEB42), UINT32_C(0x79A1EFA2)}},
+        {{UINT32_C(0xBCB6D558), UINT32_C(0x2FE44B97), UINT32_C(0xDB8B0A79),
+          UINT32_C(0xB4F4F402), UINT32_C(0x247C32E5), UINT32_C(0xF53D8AB1),
+          UINT32_C(0x4DA4C009), UINT32_C(0x3B883CE5)},
+         {UINT32_C(0x2EC9F1C6), UINT32_C(0xB46168BD), UINT32_C(0x6B8FE01A),
+          UINT32_C(0xD40BDE7B), UINT32_C(0xCDFE509F), UINT32_C(0x60A5C168),
+          UINT32_C(0x23BE249E), UINT32_C(0x3314D878)}},
+        {{UINT32_C(0x4D9F5769), UINT32_C(0x02511A85), UINT32_C(0xB49D6A8E),
+          UINT32_C(0x8398F9BD), UINT32_C(0x5D2D7135), UINT32_C(0xE8D773F3),
+          UINT32_C(0x9DECC331), UINT32_C(0x09B3B8AB)},
+         {UINT32_C(0x584C11D9), UINT32_C(0x8D2B269B), UINT32_C(0x6B6B86A9),
+          UINT32_C(0xF7661944), UINT32_C(0xC7659AF7), UINT32_C(0x719A3620),
+          UINT32_C(0x37C27DBE), UINT32_C(0x3CFC8DF0)}},
+        {{UINT32_C(0x1145B14B), UINT32_C(0x5EE0BE06), UINT32_C(0x23193ED6),
+          UINT32_C(0xAC6950E4), UINT32_C(0xDF244C7F), UINT32_C(0x7291C44C),
+          UINT32_C(0x43D744EA), UINT32_C(0x4650C162)},
+         {UINT32_C(0x34A084D8), UINT32_C(0x60B92D3F), UINT32_C(0x376E5414),
+          UINT32_C(0xBBD44A0E), UINT32_C(0x0980F36C), UINT32_C(0x5C0E488A),
+          UINT32_C(0xD7991A09), UINT32_C(0x4E53FCCA)}},
+        {{UINT32_C(0x367B55C2), UINT32_C(0x7A2ADBCF), UINT32_C(0x1FED467E),
+          UINT32_C(0x96A88B75), UINT32_C(0xFB263845), UINT32_C(0x8E75E37E),
+          UINT32_C(0xEB508DD0), UINT32_C(0x4C2E47B8)},
+         {UINT32_C(0xB19FCD14), UINT32_C(0x20BF51DE), UINT32_C(0x14CB67D0),
+          UINT32_C(0xD9071749), UINT32_C(0x29EBDA7C), UINT32_C(0xEC90714B),
+          UINT32_C(0x634C0F2E), UINT32_C(0x4ACADAA6)}},
+        {{UINT32_C(0xEC715EC9), UINT32_C(0xA516B9B8), UINT32_C(0x42B8A87B),
+          UINT32_C(0xC7DCA263), UINT32_C(0xDA27B456), UINT32_C(0x2CE450C9),
+          UINT32_C(0x00A8819F), UINT32_C(0x3C974812)},
+         {UINT32_C(0xECDED574), UINT32_C(0xF4822C23), UINT32_C(0x19FA48D4),
+          UINT32_C(0xFA737FAD), UINT32_C(0x45D718E0), UINT32_C(0xE34B2F2A),
+          UINT32_C(0xBEA7B540), UINT32_C(0x1D6F19FE)}},
+        {{UINT32_C(0x98E24789), UINT32_C(0xADC8FCE7), UINT32_C(0x45869609),
+          UINT32_C(0xFE2F890C), UINT32_C(0x78A35C19), UINT32_C(0x6466E03C),
+          UINT32_C(0xC1F34AA9), UINT32_C(0x24C70FED)},
+         {UINT32_C(0x57747DD1), UINT32_C(0x89530F75), UINT32_C(0x2B8CDE2D),
+          UINT32_C(0x343DE05B), UINT32_C(0x35CC8D5A), UINT32_C(0xC33134E3),
+          UINT32_C(0xAC9B4F2B), UINT32_C(0x3CCEFC38)}},
+        {{UINT32_C(0xEF923364), UINT32_C(0x84C904B8), UINT32_C(0xBDDD31D8),
+          UINT32_C(0x46E1FECF), UINT32_C(0xFAE79B6B), UINT32_C(0xA8126DD6),
+          UINT32_C(0xFBF05C9A), UINT32_C(0x4A53C034)},
+         {UINT32_C(0xBE8F255F), UINT32_C(0x44CA3ACB), UINT32_C(0xEC319885),
+          UINT32_C(0x6F0FD374), UINT32_C(0xF1836DC2), UINT32_C(0xADBCB4AA),
+          UINT32_C(0x65187EE9), UINT32_C(0x6CC3A596)}},
+        {{UINT32_C(0xB397B5E7), UINT32_C(0x941E7821), UINT32_C(0xFEE2A9D5),
+          UINT32_C(0xD3457371), UINT32_C(0x66382F60), UINT32_C(0x9F69BE44),
+          UINT32_C(0xA1F49E9B), UINT32_C(0x6DCEAD04)},
+         {UINT32_C(0x3BF21647), UINT32_C(0xDC6BC23B), UINT32_C(0xB5271BE9),
+          UINT32_C(0x1500FD7F), UINT32_C(0xF23FDF3D), UINT32_C(0x9B0994DD),
+          UINT32_C(0x45065CF7), UINT32_C(0x38A2ECEB)}},
+        {{UINT32_C(0x0DCA8BF4), UINT32_C(0x2667CEFE), UINT32_C(0xE46EB469),
+          UINT32_C(0x8227ACB3), UINT32_C(0xA75C5B8B), UINT32_C(0x4C20677D),
+          UINT32_C(0xB36ACDFE), UINT32_C(0x224FC5B4)},
+         {UINT32_C(0x7A6A01D3), UINT32_C(0xA0007E14), UINT32_C(0xF8A64EED),
+          UINT32_C(0x15C79558), UINT32_C(0x93DEDC09), UINT32_C(0xFB58A76A),
+          UINT32_C(0x26F10A98), UINT32_C(0x2057DDDC)}},
+        {{UINT32_C(0xBDB27AE4), UINT32_C(0x1FF658AE), UINT32_C(0xDDD96647),
+          UINT32_C(0x7F30DF57), UINT32_C(0xC7294313), UINT32_C(0x63490B8D),
+          UINT32_C(0x5435869E), UINT32_C(0x0EAEC573)},
+         {UINT32_C(0xDF115B78), UINT32_C(0x85F05C49), UINT32_C(0x62992F5D),
+          UINT32_C(0x95739C0C), UINT32_C(0x2B573963), UINT32_C(0x72F14319),
+          UINT32_C(0x86328FF4), UINT32_C(0x05600E64)}},
+        {{UINT32_C(0xEAB0F425), UINT32_C(0x9BE7331F), UINT32_C(0x74447C20),
+          UINT32_C(0x2E4CF5AA), UINT32_C(0x66243D2A), UINT32_C(0x9B26F512),
+          UINT32_C(0x84AB5627), UINT32_C(0x77C96722)},
+         {UINT32_C(0x601673B4), UINT32_C(0xEC545427), UINT32_C(0x2F127AF7),
+          UINT32_C(0xEF6A34FB), UINT32_C(0xE2DFD269), UINT32_C(0x519559C1),
+          UINT32_C(0x8258E37A), UINT32_C(0x34D7D754)}},
+        {{UINT32_C(0x5E8B5281), UINT32_C(0xC113747B), UINT32_C(0xE04D779B),
+          UINT32_C(0x0C085456), UINT32_C(0x1CCBCFC6), UINT32_C(0x3E326052),
+          UINT32_C(0x2A37D19F), UINT32_C(0x5C954CC1)},
+         {UINT32_C(0x9124435B), UINT32_C(0xB1A4A5B3), UINT32_C(0x18ED98E7),
+          UINT32_C(0x5E8B8D41), UINT32_C(0x144A3793), UINT32_C(0xC973D969),
+          UINT32_C(0x88DD8B49), UINT32_C(0x0CB98CC8)}},
+        {{UINT32_C(0xB48D04DF), UINT32_C(0x0E0233B2), UINT32_C(0x7BEAA4A5),
+          UINT32_C(0x1B3916E0), UINT32_C(0xB672BE8C), UINT32_C(0xA24A4BE4),
+          UINT32_C(0x845AB94D), UINT32_C(0x7A61506D)},
+         {UINT32_C(0xE7F4CA3B), UINT32_C(0x160DFA0F), UINT32_C(0xD84C1148),
+          UINT32_C(0xA9562C89), UINT32_C(0x92A276EB), UINT32_C(0x52979B95),
+          UINT32_C(0x924E86E9), UINT32_C(0x17869B53)}},
+    },
+    {
+        {{UINT32_C(0x1A86D0D8), UINT32_C(0x5D39F478), UINT32_C(0xFB8BC8A9),
+          UINT32_C(0xDE5932DA), UINT32_C(0x2F5B4B70), UINT32_C(0xD706C6D7),
+          UINT32_C(0x8A36AFC2), UINT32_C(0x53F450FC)},
+         {UINT32_C(0x1E550B3B), UINT32_C(0xE1DC3540), UINT32_C(0x8B7EB6D2),
+          UINT32_C(0x475507DC), UINT32_C(0xDFA2E5F7), UINT32_C(0xF803F78A),
+          UINT32_C(0xC48097FF), UINT32_C(0x40B5F263)}},
+        {{UINT32_C(0x226CDB1F), UINT32_C(0x336FB00E), UINT32_C(0x88215C40),
+          UINT32_C(0xDDC1BB02), UINT32_C(0x73C07FD0), UINT32_C(0x6C4DD40E),
+          UINT32_C(0x8F7D15E7), UINT32_C(0x4D0D2E49)},
+         {UINT32_C(0xD2061402), UINT32_C(0xAF96E9B3), UINT32_C(0x1372FCF8),
+          UINT32_C(0x15A3084A), UINT32_C(0x307B02D6), UINT32_C(0x91B571E6),
+          UINT32_C(0x53AE7705), UINT32_C(0x2239592F)}},
+        {{UINT32_C(0xC20B6645), UINT32_C(0x7D8615A1), UINT32_C(0xC7C4465B),
+          UINT32_C(0xF4875767), UINT32_C(0x861702AB), UINT32_C(0xF6D3E718),
+          UINT32_C(0x131F726A), UINT32_C(0x7F014A53)},
+         {UINT32_C(0xDAAB77CA), UINT32_C(0x30809F8F), UINT32_C(0x28F944D3),
+          UINT32_C(0x7CE8DC61), UINT32_C(0x9AEEF6A1), UINT32_C(0xF915111D),
+          UINT32_C(0x206902FD), UINT32_C(0x246D7CC8)}},
+        {{UINT32_C(0xEF806225), UINT32_C(0x7677488B), UINT32_C(0xF4C75EAE),
+          UINT32_C(0x994C8104), UINT32_C(0x4E0C8988), UINT32_C(0x17586D4E),
+          UINT32_C(0x90E33A2A), UINT32_C(0x70E52580)},
+         {UINT32_C(0x022D2FED), UINT32_C(0xB993F26A), UINT32_C(0x689FBFBD),
+          UINT32_C(0x955C130D), UINT32_C(0xA3612E8E), UINT32_C(0x0D3D1C63),
+          UINT32_C(0xB91A8DE6), UINT32_C(0x423D73E1)}},
+        {{UINT32_C(0x3027164F), UINT32_C(0x7274BE08), UINT32_C(0x42FDB769),
+          UINT32_C(0xDE907B49), UINT32_C(0xB697060D), UINT32_C(0x61D74449),
+          UINT32_C(0x26602CC9), UINT32_C(0x18A5FDC2)},
+         {UINT32_C(0x049CAF4A), UINT32_C(0xB08DC02B), UINT32_C(0x78DBA1F1),
+          UINT32_C(0xC84AF485), UINT32_C(0x7178E4DF), UINT32_C(0x0A5B3519),
+          UINT32_C(0x5B26D0FE), UINT32_C(0x6EC7A7A5)}},
+        {{UINT32_C(0x88554F05), UINT32_C(0xDEF1782F), UINT32_C(0xD8D6DF47),
+          UINT32_C(0xB73E7333), UINT32_C(0x90E9C67A), UINT32_C(0x1DDF9022),
+          UINT32_C(0xD56181AC), UINT32_C(0x5D217B51)},
+         {UINT32_C(0xE27F90EE), UINT32_C(0x7A338C7B), UINT32_C(0x0D84A177),
+          UINT32_C(0xB97CCD2A), UINT32_C(0x7C5E3FA9), UINT32_C(0x3E101601),
+          UINT32_C(0x30FF0918), UINT32_C(0x2706E77C)}},
+        {{UINT32_C(0x72A7CB9F), UINT32_C(0x1BD1274F), UINT32_C(0x0622DB90),
+          UINT32_C(0x8B60357A), UINT32_C(0x2151BB23), UINT32_C(0x0140E14A),
+          UINT32_C(0xE9A30C4C), UINT32_C(0x358D7DDA)},
+         {UINT32_C(0x89BFB2C6), UINT32_C(0x3B153060), UINT32_C(0xB6757C69),
+          UINT32_C(0x47462C79), UINT32_C(0xB43EF986), UINT32_C(0x2B22239D),
+          UINT32_C(0x0B774DE3), UINT32_C(0x6793671F)}},
+        {{UINT32_C(0xF6F8EDC6), UINT32_C(0x99EDB02E), UINT32_C(0xC4257DD9),
+          UINT32_C(0x24432760), UINT32_C(0x0336EED2), UINT32_C(0x4FDD7301),
+          UINT32_C(0xF6C6506B), UINT32_C(0x44879709)},
+         {UINT32_C(0x13F18D89), UINT32_C(0x107C7DE2), UINT32_C(0xA5701FBD),
+          UINT32_C(0x71C71DFB), UINT32_C(0xC7DE3E0B), UINT32_C(0x97017E24),
+          UINT32_C(0xFC9EDDC2), UINT32_C(0x0F8D7E09)}},
+        {{UINT32_C(0x3897E01D), UINT32_C(0x7A0BB3B1), UINT32_C(0xC5892BDE),
+          UINT32_C(0x7FD4F504), UINT32_C(0xAB752928), UINT32_C(0x2EA9AA77),
+          UINT32_C(0x9078B466), UINT32_C(0x19A82F55)},
+         {UINT32_C(0x55A0F0D9), UINT32_C(0xEF2842C5), UINT32_C(0x15B6F2B4),
+          UINT32_C(0x5501EEE9), UINT32_C(0x942AA4B4), UINT32_C(0x9665EA6F),
+          UINT32_C(0x0E707C32), UINT32_C(0x015F41F4)}},
+        {{UINT32_C(0x9C6B6FD6), UINT32_C(0x1B4D6A91), UINT32_C(0x68217AFC),
+          UINT32_C(0xCFD2CEE9), UINT32_C(0xBBC9284D), UINT32_C(0xC5076256),
+          UINT32_C(0xAC36547B), UINT32_C(0x4C7F4EEF)},
+         {UINT32_C(0x65EE1907), UINT32_C(0xAB1AAD2C), UINT32_C(0xBAC25425),
+          UINT32_C(0xBCFE8C77), UINT32_C(0xC9048A35), UINT32_C(0x38BA0F85),
+          UINT32_C(0x60A035F6), UINT32_C(0x300E6AC4)}},
+        {{UINT32_C(0x34707CC6), UINT32_C(0xA8EDBC5E), UINT32_C(0x56ADFC16),
+          UINT32_C(0x3DA6BC51), UINT32_C(0xCA8B6F3F), UINT32_C(0x5C7CB5E1),
+          UINT32_C(0x2D612DFA), UINT32_C(0x76E4A028)},
+         {UINT32_C(0x64F49D39), UINT32_C(0x75AB66FD), UINT32_C(0xC387A739),
+          UINT32_C(0x5AF9879D), UINT32_C(0x3E9EDBCF), UINT32_C(0x83964808),
+          UINT32_C(0x7F4C4FFE), UINT32_C(0x555D8BBD)}},
+        {{UINT32_C(0x3C5590B0), UINT32_C(0xAAE8A2FE), UINT32_C(0x8AB34213),
+          UINT32_C(0x461C6CCC), UINT32_C(0x9E719B77), UINT32_C(0xB2F3E822),
+          UINT32_C(0x663188BB), UINT32_C(0x25B8FCA8)},
+         {UINT32_C(0x72548131), UINT32_C(0xAA7A047B), UINT32_C(0x189FA6F0),
+          UINT32_C(0x0878FFEE), UINT32_C(0xCE3E17C3), UINT32_C(0x9E7FB402),
+          UINT32_C(0x44418277), UINT32_C(0x6F260D93)}},
+        {{UINT32_C(0xB703B647), UINT32_C(0x0EF1C290), UINT32_C(0x651673E4),
+          UINT32_C(0x995009FA), UINT32_C(0xBE46362D), UINT32_C(0x661F76D7),
+          UINT32_C(0x23E56E7A), UINT32_C(0x74B00FD1)},
+         {UINT32_C(0xA1A50E4B), UINT32_C(0x9557D0AB), UINT32_C(0x587688CE),
+          UINT32_C(0xC5A1CF95), UINT32_C(0x7AE08ECA), UINT32_C(0x2A14D1B2),
+          UINT32_C(0x3C23D507), UINT32_C(0x2DA8816C)}},
+        {{UINT32_C(0xB9934883), UINT32_C(0x51CB405F), UINT32_C(0x01A6864B),
+          UINT32_C(0xC99A67D4), UINT32_C(0x6CDFFFC3), UINT32_C(0xCCF62233),
+          UINT32_C(0x98FE0B79), UINT32_C(0x2938F9F9)},
+         {UINT32_C(0x39A5AA28), UINT32_C(0x77666911), UINT32_C(0x2427BFC0),
+          UINT32_C(0xDF56CBB5), UINT32_C(0x189EB66D), UINT32_C(0xA39BE968),
+          UINT32_C(0xA64FD2AB), UINT32_C(0x71E6E105)}},
+        {{UINT32_C(0x60F9D20B), UINT32_C(0xA0C6F795), UINT32_C(0x765670CC),
+          UINT32_C(0xE06DC8BB), UINT32_C(0xA67275E0), UINT32_C(0x9FA1DD58),
+          UINT32_C(0xE2D23BBB), UINT32_C(0x0F7F670D)},
+         {UINT32_C(0x33FB15EA), UINT32_C(0xF8F07CF3), UINT32_C(0x723A0271),
+          UINT32_C(0x1D09B592), UINT32_C(0x4E6FCAAB), UINT32_C(0xF1402923),
+          UINT32_C(0xAE301940), UINT32_C(0x05BE1273)}},
+        {{UINT32_C(0x114AFD1E), UINT32_C(0x2D83906C), UINT32_C(0xC88E5761),
+          UINT32_C(0x091474FD), UINT32_C(0xEF9E4F9B), UINT32_C(0xAFF18EEB),
+          UINT32_C(0xF4E646ED), UINT32_C(0x136ECAE5)},
+         {UINT32_C(0xEB01808F), UINT32_C(0xEF4526D0), UINT32_C(0x940C0AEC),
+          UINT32_C(0x3923EBBA), UINT32_C(0xA437F460), UINT32_C(0xAB34160C),
+          UINT32_C(0x421AD57C), UINT32_C(0x7A46966E)}},
+    }};
+
+/*-
+ * Q := 2P, both projective, Q and P same pointers OK
+ * Autogenerated: op3/dbl_proj_any.op3
+ * https://eprint.iacr.org/2015/1060 Alg 3
+ */
+static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
+    /* temporary variables */
+    fe_t t0, t1, t2, t3, t4;
+    /* constants */
+    const limb_t *a = const_a;
+    const limb_t *b3 = const_b3;
+    /* set pointers for legacy 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 *Z3 = Q->Z;
+
+    /* the curve arith formula */
+    fiat_id_GostR3410_2001_TestParamSet_square(t0, X);
+    fiat_id_GostR3410_2001_TestParamSet_square(t1, Y);
+    fiat_id_GostR3410_2001_TestParamSet_square(t2, Z);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t3, X, Y);
+    fiat_id_GostR3410_2001_TestParamSet_add(t3, t3, t3);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t4, Y, Z);
+    fiat_id_GostR3410_2001_TestParamSet_mul(Z3, X, Z);
+    fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, Z3);
+    fiat_id_GostR3410_2001_TestParamSet_mul(X3, a, Z3);
+    fiat_id_GostR3410_2001_TestParamSet_mul(Y3, b3, t2);
+    fiat_id_GostR3410_2001_TestParamSet_add(Y3, X3, Y3);
+    fiat_id_GostR3410_2001_TestParamSet_sub(X3, t1, Y3);
+    fiat_id_GostR3410_2001_TestParamSet_add(Y3, t1, Y3);
+    fiat_id_GostR3410_2001_TestParamSet_mul(Y3, X3, Y3);
+    fiat_id_GostR3410_2001_TestParamSet_mul(X3, t3, X3);
+    fiat_id_GostR3410_2001_TestParamSet_mul(Z3, b3, Z3);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, t2);
+    fiat_id_GostR3410_2001_TestParamSet_sub(t3, t0, t2);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t3, a, t3);
+    fiat_id_GostR3410_2001_TestParamSet_add(t3, t3, Z3);
+    fiat_id_GostR3410_2001_TestParamSet_add(Z3, t0, t0);
+    fiat_id_GostR3410_2001_TestParamSet_add(t0, Z3, t0);
+    fiat_id_GostR3410_2001_TestParamSet_add(t0, t0, t2);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t0, t0, t3);
+    fiat_id_GostR3410_2001_TestParamSet_add(Y3, Y3, t0);
+    fiat_id_GostR3410_2001_TestParamSet_add(t2, t4, t4);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t0, t2, t3);
+    fiat_id_GostR3410_2001_TestParamSet_sub(X3, X3, t0);
+    fiat_id_GostR3410_2001_TestParamSet_mul(Z3, t2, t1);
+    fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, Z3);
+    fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, Z3);
+}
+
+/*-
+ * 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_any.op3
+ * https://eprint.iacr.org/2015/1060 Alg 2
+ */
+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, t4, t5;
+    /* constants */
+    const limb_t *a = const_a;
+    const limb_t *b3 = const_b3;
+    /* set pointers for legacy curve arith */
+    const limb_t *X1 = Q->X;
+    const limb_t *Y1 = Q->Y;
+    const limb_t *Z1 = Q->Z;
+    const limb_t *X2 = P->X;
+    const limb_t *Y2 = P->Y;
+    fe_t X3;
+    fe_t Y3;
+    fe_t Z3;
+    limb_t nz;
+
+    /* check P for affine inf */
+    fiat_id_GostR3410_2001_TestParamSet_nonzero(&nz, P->Y);
+
+    /* the curve arith formula */
+    fiat_id_GostR3410_2001_TestParamSet_mul(t0, X1, X2);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t1, Y1, Y2);
+    fiat_id_GostR3410_2001_TestParamSet_add(t3, X2, Y2);
+    fiat_id_GostR3410_2001_TestParamSet_add(t4, X1, Y1);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t3, t3, t4);
+    fiat_id_GostR3410_2001_TestParamSet_add(t4, t0, t1);
+    fiat_id_GostR3410_2001_TestParamSet_sub(t3, t3, t4);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t4, X2, Z1);
+    fiat_id_GostR3410_2001_TestParamSet_add(t4, t4, X1);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t5, Y2, Z1);
+    fiat_id_GostR3410_2001_TestParamSet_add(t5, t5, Y1);
+    fiat_id_GostR3410_2001_TestParamSet_mul(Z3, a, t4);
+    fiat_id_GostR3410_2001_TestParamSet_mul(X3, b3, Z1);
+    fiat_id_GostR3410_2001_TestParamSet_add(Z3, X3, Z3);
+    fiat_id_GostR3410_2001_TestParamSet_sub(X3, t1, Z3);
+    fiat_id_GostR3410_2001_TestParamSet_add(Z3, t1, Z3);
+    fiat_id_GostR3410_2001_TestParamSet_mul(Y3, X3, Z3);
+    fiat_id_GostR3410_2001_TestParamSet_add(t1, t0, t0);
+    fiat_id_GostR3410_2001_TestParamSet_add(t1, t1, t0);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, Z1);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t4, b3, t4);
+    fiat_id_GostR3410_2001_TestParamSet_add(t1, t1, t2);
+    fiat_id_GostR3410_2001_TestParamSet_sub(t2, t0, t2);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, t2);
+    fiat_id_GostR3410_2001_TestParamSet_add(t4, t4, t2);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t0, t1, t4);
+    fiat_id_GostR3410_2001_TestParamSet_add(Y3, Y3, t0);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t0, t5, t4);
+    fiat_id_GostR3410_2001_TestParamSet_mul(X3, t3, X3);
+    fiat_id_GostR3410_2001_TestParamSet_sub(X3, X3, t0);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t0, t3, t1);
+    fiat_id_GostR3410_2001_TestParamSet_mul(Z3, t5, Z3);
+    fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, t0);
+
+    /* if P is inf, throw all that away and take Q */
+    fiat_id_GostR3410_2001_TestParamSet_selectznz(R->X, nz, Q->X, X3);
+    fiat_id_GostR3410_2001_TestParamSet_selectznz(R->Y, nz, Q->Y, Y3);
+    fiat_id_GostR3410_2001_TestParamSet_selectznz(R->Z, nz, Q->Z, Z3);
+}
+
+/*-
+ * R := Q + P all projective.
+ * R and Q same pointers OK
+ * R and P same pointers not OK
+ * Autogenerated: op3/add_proj_any.op3
+ * https://eprint.iacr.org/2015/1060 Alg 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, t4, t5;
+    /* constants */
+    const limb_t *a = const_a;
+    const limb_t *b3 = const_b3;
+    /* set pointers for legacy curve arith */
+    const limb_t *X1 = Q->X;
+    const limb_t *Y1 = Q->Y;
+    const limb_t *Z1 = Q->Z;
+    const limb_t *X2 = P->X;
+    const limb_t *Y2 = P->Y;
+    const limb_t *Z2 = P->Z;
+    limb_t *X3 = R->X;
+    limb_t *Y3 = R->Y;
+    limb_t *Z3 = R->Z;
+
+    /* the curve arith formula */
+    fiat_id_GostR3410_2001_TestParamSet_mul(t0, X1, X2);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t1, Y1, Y2);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t2, Z1, Z2);
+    fiat_id_GostR3410_2001_TestParamSet_add(t3, X1, Y1);
+    fiat_id_GostR3410_2001_TestParamSet_add(t4, X2, Y2);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t3, t3, t4);
+    fiat_id_GostR3410_2001_TestParamSet_add(t4, t0, t1);
+    fiat_id_GostR3410_2001_TestParamSet_sub(t3, t3, t4);
+    fiat_id_GostR3410_2001_TestParamSet_add(t4, X1, Z1);
+    fiat_id_GostR3410_2001_TestParamSet_add(t5, X2, Z2);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t4, t4, t5);
+    fiat_id_GostR3410_2001_TestParamSet_add(t5, t0, t2);
+    fiat_id_GostR3410_2001_TestParamSet_sub(t4, t4, t5);
+    fiat_id_GostR3410_2001_TestParamSet_add(t5, Y1, Z1);
+    fiat_id_GostR3410_2001_TestParamSet_add(X3, Y2, Z2);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t5, t5, X3);
+    fiat_id_GostR3410_2001_TestParamSet_add(X3, t1, t2);
+    fiat_id_GostR3410_2001_TestParamSet_sub(t5, t5, X3);
+    fiat_id_GostR3410_2001_TestParamSet_mul(Z3, a, t4);
+    fiat_id_GostR3410_2001_TestParamSet_mul(X3, b3, t2);
+    fiat_id_GostR3410_2001_TestParamSet_add(Z3, X3, Z3);
+    fiat_id_GostR3410_2001_TestParamSet_sub(X3, t1, Z3);
+    fiat_id_GostR3410_2001_TestParamSet_add(Z3, t1, Z3);
+    fiat_id_GostR3410_2001_TestParamSet_mul(Y3, X3, Z3);
+    fiat_id_GostR3410_2001_TestParamSet_add(t1, t0, t0);
+    fiat_id_GostR3410_2001_TestParamSet_add(t1, t1, t0);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, t2);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t4, b3, t4);
+    fiat_id_GostR3410_2001_TestParamSet_add(t1, t1, t2);
+    fiat_id_GostR3410_2001_TestParamSet_sub(t2, t0, t2);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, t2);
+    fiat_id_GostR3410_2001_TestParamSet_add(t4, t4, t2);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t0, t1, t4);
+    fiat_id_GostR3410_2001_TestParamSet_add(Y3, Y3, t0);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t0, t5, t4);
+    fiat_id_GostR3410_2001_TestParamSet_mul(X3, t3, X3);
+    fiat_id_GostR3410_2001_TestParamSet_sub(X3, X3, t0);
+    fiat_id_GostR3410_2001_TestParamSet_mul(t0, t3, t1);
+    fiat_id_GostR3410_2001_TestParamSet_mul(Z3, t5, Z3);
+    fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, t0);
+}
+
+/* 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;
+
+    fe_copy(precomp[0].X, P->X);
+    fe_copy(precomp[0].Y, P->Y);
+    fe_copy(precomp[0].Z, const_one);
+    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[32], int idx) {
+    int widx, rshift;
+
+    widx = idx >> 3;
+    rshift = idx & 0x7;
+
+    if (idx < 0 || widx >= 32) 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[52], const unsigned char in[32]) {
+    int i;
+    char window, d;
+
+    window = (in[0] & (DRADIX_WNAF - 1)) | 1;
+    for (i = 0; i < 51; 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[257], const unsigned char in[32]) {
+    int i;
+    char window, d;
+
+    window = in[0] & (DRADIX_WNAF - 1);
+    for (i = 0; i < 257; 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[32],
+                              const unsigned char b[32], const pt_aff_t *P) {
+    int i, d, is_neg, is_inf = 1, flipped = 0;
+    char anaf[257] = {0};
+    char bnaf[257] = {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 = 256; i >= 0; i--) {
+        if (!is_inf) point_double(&Q, &Q);
+        if ((d = bnaf[i])) {
+            if ((is_neg = d < 0) != flipped) {
+                fiat_id_GostR3410_2001_TestParamSet_opp(Q.Y, Q.Y);
+                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.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_GostR3410_2001_TestParamSet_opp(Q.Y, Q.Y);
+                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.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.Z);
+    }
+
+    if (flipped) {
+        /* correct sign */
+        fiat_id_GostR3410_2001_TestParamSet_opp(Q.Y, Q.Y);
+    }
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_GostR3410_2001_TestParamSet_inv(Q.Z, Q.Z);
+    fiat_id_GostR3410_2001_TestParamSet_mul(out->X, Q.X, Q.Z);
+    fiat_id_GostR3410_2001_TestParamSet_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[32],
+                           const pt_aff_t *P) {
+    int i, j, d, diff, is_neg;
+    char rnaf[52] = {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[51] - 1) >> 1;
+    for (j = 0; j < DRADIX / 2; j++) {
+        diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
+        fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.X, diff, Q.X,
+                                                      precomp[j].X);
+        fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Y, diff, Q.Y,
+                                                      precomp[j].Y);
+        fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Z, diff, Q.Z,
+                                                      precomp[j].Z);
+    }
+
+    for (i = 50; 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_GostR3410_2001_TestParamSet_selectznz(lut.X, diff, lut.X,
+                                                          precomp[j].X);
+            fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.Y, diff, lut.Y,
+                                                          precomp[j].Y);
+            fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.Z, diff, lut.Z,
+                                                          precomp[j].Z);
+        }
+        /* negate lut point if digit is negative */
+        fiat_id_GostR3410_2001_TestParamSet_opp(out->Y, lut.Y);
+        fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.Y, is_neg, lut.Y,
+                                                      out->Y);
+        point_add_proj(&Q, &Q, &lut);
+    }
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
+
+    /* conditionally subtract P if the scalar was even */
+    fe_copy(lut.X, precomp[0].X);
+    fiat_id_GostR3410_2001_TestParamSet_opp(lut.Y, precomp[0].Y);
+    fe_copy(lut.Z, precomp[0].Z);
+    point_add_proj(&lut, &lut, &Q);
+    fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.X, scalar[0] & 1, lut.X,
+                                                  Q.X);
+    fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Y, scalar[0] & 1, lut.Y,
+                                                  Q.Y);
+    fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Z, scalar[0] & 1, lut.Z,
+                                                  Q.Z);
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_GostR3410_2001_TestParamSet_inv(Q.Z, Q.Z);
+    fiat_id_GostR3410_2001_TestParamSet_mul(out->X, Q.X, Q.Z);
+    fiat_id_GostR3410_2001_TestParamSet_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[32]) {
+    int i, j, k, d, diff, is_neg = 0;
+    char rnaf[52] = {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.Z);
+
+#if defined(_MSC_VER)
+    /* result still unsigned: yes we know */
+#pragma warning(push)
+#pragma warning(disable : 4146)
+#endif
+
+    for (i = 1; i >= 0; i--) {
+        for (j = 0; i != 1 && j < RADIX; j++) point_double(&Q, &Q);
+        for (j = 0; j < 27; j++) {
+            if (j * 2 + i > 51) continue;
+            d = rnaf[j * 2 + 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_GostR3410_2001_TestParamSet_selectznz(
+                    lut.X, diff, lut.X, lut_cmb[j][k].X);
+                fiat_id_GostR3410_2001_TestParamSet_selectznz(
+                    lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
+            }
+            /* negate lut point if digit is negative */
+            fiat_id_GostR3410_2001_TestParamSet_opp(out->Y, lut.Y);
+            fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.Y, is_neg, lut.Y,
+                                                          out->Y);
+            point_add_mixed(&Q, &Q, &lut);
+        }
+    }
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
+
+    /* conditionally subtract P if the scalar was even */
+    fe_copy(lut.X, lut_cmb[0][0].X);
+    fiat_id_GostR3410_2001_TestParamSet_opp(lut.Y, lut_cmb[0][0].Y);
+    point_add_mixed(&R, &Q, &lut);
+    fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.X, scalar[0] & 1, R.X, Q.X);
+    fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Y, scalar[0] & 1, R.Y, Q.Y);
+    fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Z, scalar[0] & 1, R.Z, Q.Z);
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_GostR3410_2001_TestParamSet_inv(Q.Z, Q.Z);
+    fiat_id_GostR3410_2001_TestParamSet_mul(out->X, Q.X, Q.Z);
+    fiat_id_GostR3410_2001_TestParamSet_mul(out->Y, Q.Y, Q.Z);
+}
+
+static void point_mul_two(unsigned char outx[32], unsigned char outy[32],
+                          const unsigned char a[32], const unsigned char b[32],
+                          const unsigned char inx[32],
+                          const unsigned char iny[32]) {
+    pt_aff_t P;
+
+    fiat_id_GostR3410_2001_TestParamSet_from_bytes(P.X, inx);
+    fiat_id_GostR3410_2001_TestParamSet_from_bytes(P.Y, iny);
+    fiat_id_GostR3410_2001_TestParamSet_to_montgomery(P.X, P.X);
+    fiat_id_GostR3410_2001_TestParamSet_to_montgomery(P.Y, P.Y);
+    /* simultaneous scalar multiplication */
+    var_smul_wnaf_two(&P, a, b, &P);
+
+    fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.X, P.X);
+    fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.Y, P.Y);
+    fiat_id_GostR3410_2001_TestParamSet_to_bytes(outx, P.X);
+    fiat_id_GostR3410_2001_TestParamSet_to_bytes(outy, P.Y);
+}
+
+static void point_mul_g(unsigned char outx[32], unsigned char outy[32],
+                        const unsigned char scalar[32]) {
+    pt_aff_t P;
+
+    /* fixed scmul function */
+    fixed_smul_cmb(&P, scalar);
+    fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.X, P.X);
+    fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.Y, P.Y);
+    fiat_id_GostR3410_2001_TestParamSet_to_bytes(outx, P.X);
+    fiat_id_GostR3410_2001_TestParamSet_to_bytes(outy, P.Y);
+}
+
+static void point_mul(unsigned char outx[32], unsigned char outy[32],
+                      const unsigned char scalar[32],
+                      const unsigned char inx[32],
+                      const unsigned char iny[32]) {
+    pt_aff_t P;
+
+    fiat_id_GostR3410_2001_TestParamSet_from_bytes(P.X, inx);
+    fiat_id_GostR3410_2001_TestParamSet_from_bytes(P.Y, iny);
+    fiat_id_GostR3410_2001_TestParamSet_to_montgomery(P.X, P.X);
+    fiat_id_GostR3410_2001_TestParamSet_to_montgomery(P.Y, P.Y);
+    /* var scmul function */
+    var_smul_rwnaf(&P, scalar, &P);
+    fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.X, P.X);
+    fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.Y, P.Y);
+    fiat_id_GostR3410_2001_TestParamSet_to_bytes(outx, P.X);
+    fiat_id_GostR3410_2001_TestParamSet_to_bytes(outy, P.Y);
+}
+
+#include <openssl/ec.h>
+
+static const unsigned char const_zb[32] = {0};
+
+    int
+    point_mul_two_id_GostR3410_2001_TestParamSet(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[32];
+    unsigned char b_y[32];
+    unsigned char b_n[32];
+    unsigned char b_m[32];
+    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, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
+        BN_bn2lebinpad(n, b_n, 32) != 32 || BN_bn2lebinpad(m, b_m, 32) != 32)
+        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, 32) == 0 &&
+        CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
+        if (!EC_POINT_set_to_infinity(group, r)) goto err;
+    } else {
+        /* otherwise, pack the bytes into the result */
+        if (BN_lebin2bn(b_x, 32, x) == NULL ||
+            BN_lebin2bn(b_y, 32, 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_GostR3410_2001_TestParamSet(const EC_GROUP *group, EC_POINT *r,
+                                             const EC_POINT *q, const BIGNUM *m,
+                                             BN_CTX *ctx) {
+    int ret = 0;
+    unsigned char b_x[32];
+    unsigned char b_y[32];
+    unsigned char b_m[32];
+    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, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
+        BN_bn2lebinpad(m, b_m, 32) != 32)
+        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, 32) == 0 &&
+        CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
+        if (!EC_POINT_set_to_infinity(group, r)) goto err;
+    } else {
+        /* otherwise, pack the bytes into the result */
+        if (BN_lebin2bn(b_x, 32, x) == NULL ||
+            BN_lebin2bn(b_y, 32, 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_GostR3410_2001_TestParamSet(const EC_GROUP *group,
+                                               EC_POINT *r, const BIGNUM *n,
+                                               BN_CTX *ctx) {
+    int ret = 0;
+    unsigned char b_x[32];
+    unsigned char b_y[32];
+    unsigned char b_n[32];
+    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, 32) != 32)
+        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, 32) == 0 &&
+        CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
+        if (!EC_POINT_set_to_infinity(group, r)) goto err;
+    } else {
+        /* otherwise, pack the bytes into the result */
+        if (BN_lebin2bn(b_x, 32, x) == NULL ||
+            BN_lebin2bn(b_y, 32, 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__ */
diff --git a/ecp_id_tc26_gost_3410_2012_256_paramSetA.c b/ecp_id_tc26_gost_3410_2012_256_paramSetA.c
new file mode 100644 (file)
index 0000000..ad1c5f2
--- /dev/null
@@ -0,0 +1,8998 @@
+/* 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 5
+/* 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_256_paramSetA_carry_add(c, a, b) \
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_add(c, a, b);          \
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry(c, c)
+#define fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(c, a, b) \
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_sub(c, a, b);          \
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA 64 5 '2^256 - 617' */
+/* curve description: id_tc26_gost_3410_2012_256_paramSetA */
+/* machine_wordsize = 64 (from "64") */
+/* requested operations: (all) */
+/* n = 5 (from "5") */
+/* s-c = 2^256 - [(1, 617)] (from "2^256 - 617") */
+/* tight_bounds_multiplier = 1.1 (from "") */
+/*  */
+/* Computed values: */
+/* carry_chain = [0, 1, 2, 3, 4, 0, 1] */
+/* eval z = z[0] + (z[1] << 52) + (z[2] << 103) + (z[3] << 154) + (z[4] << 205) */
+/* 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) */
+
+#include <stdint.h>
+typedef unsigned char fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1;
+typedef signed char fiat_id_tc26_gost_3410_2012_256_paramSetA_int1;
+typedef signed __int128 fiat_id_tc26_gost_3410_2012_256_paramSetA_int128;
+typedef unsigned __int128 fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA_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_256_paramSetA_addcarryx_u52(
+    uint64_t *out1, fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 *out2,
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1, uint64_t arg2,
+    uint64_t arg3) {
+    uint64_t x1;
+    uint64_t x2;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x3;
+    x1 = ((arg1 + arg2) + arg3);
+    x2 = (x1 & UINT64_C(0xfffffffffffff));
+    x3 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x1 >> 52);
+    *out1 = x2;
+    *out2 = x3;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA_subborrowx_u52(
+    uint64_t *out1, fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 *out2,
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1, uint64_t arg2,
+    uint64_t arg3) {
+    int64_t x1;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_int1 x2;
+    uint64_t x3;
+    x1 = ((int64_t)(arg2 - (int64_t)arg1) - (int64_t)arg3);
+    x2 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_int1)(x1 >> 52);
+    x3 = (x1 & UINT64_C(0xfffffffffffff));
+    *out1 = x3;
+    *out2 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(0x0 - x2);
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA_addcarryx_u51(
+    uint64_t *out1, fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 *out2,
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1, uint64_t arg2,
+    uint64_t arg3) {
+    uint64_t x1;
+    uint64_t x2;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x3;
+    x1 = ((arg1 + arg2) + arg3);
+    x2 = (x1 & UINT64_C(0x7ffffffffffff));
+    x3 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x1 >> 51);
+    *out1 = x2;
+    *out2 = x3;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA_subborrowx_u51(
+    uint64_t *out1, fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 *out2,
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1, uint64_t arg2,
+    uint64_t arg3) {
+    int64_t x1;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_int1 x2;
+    uint64_t x3;
+    x1 = ((int64_t)(arg2 - (int64_t)arg1) - (int64_t)arg3);
+    x2 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_int1)(x1 >> 51);
+    x3 = (x1 & UINT64_C(0x7ffffffffffff));
+    *out1 = x3;
+    *out2 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(0x0 - x2);
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA_cmovznz_u64(
+    uint64_t *out1, fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1,
+    uint64_t arg2, uint64_t arg3) {
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x1;
+    uint64_t x2;
+    uint64_t x3;
+    x1 = (!(!arg1));
+    x2 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_int1)(0x0 - x1) &
+          UINT64_C(0xffffffffffffffff));
+    x3 = ((x2 & arg3) | ((~x2) & arg2));
+    *out1 = x3;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_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]]
+ *   arg2: [[0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
+ */
+static void fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(
+    uint64_t out1[5], const uint64_t arg1[5], const uint64_t arg2[5]) {
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x1;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x2;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x3;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x4;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x5;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x6;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x7;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x8;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x9;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x10;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x11;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x12;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x13;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x14;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x15;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x16;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x17;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x18;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x19;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x20;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x21;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x22;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x23;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x24;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x25;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x26;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x27;
+    uint64_t x28;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x29;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x30;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x31;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x32;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x33;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x34;
+    uint64_t x35;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x36;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x37;
+    uint64_t x38;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x39;
+    uint64_t x40;
+    uint64_t x41;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x42;
+    uint64_t x43;
+    uint64_t x44;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x45;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x46;
+    uint64_t x47;
+    uint64_t x48;
+    uint64_t x49;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x50;
+    uint64_t x51;
+    uint64_t x52;
+    x1 = (UINT16_C(0x269) *
+          ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[4]) *
+           (arg2[4])));
+    x2 = (UINT16_C(0x269) *
+          ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[4]) *
+           (arg2[3])));
+    x3 = (UINT16_C(0x269) *
+          ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[4]) *
+           (arg2[2])));
+    x4 = (UINT16_C(0x269) *
+          (((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[4]) *
+            (arg2[1])) *
+           0x2));
+    x5 = (UINT16_C(0x269) *
+          ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[3]) *
+           (arg2[4])));
+    x6 = (UINT16_C(0x269) *
+          ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[3]) *
+           (arg2[3])));
+    x7 = (UINT16_C(0x269) *
+          (((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[3]) *
+            (arg2[2])) *
+           0x2));
+    x8 = (UINT16_C(0x269) *
+          ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[2]) *
+           (arg2[4])));
+    x9 = (UINT16_C(0x269) *
+          (((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[2]) *
+            (arg2[3])) *
+           0x2));
+    x10 = (UINT16_C(0x269) *
+           (((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
+             (arg2[4])) *
+            0x2));
+    x11 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[4]) *
+           (arg2[0]));
+    x12 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[3]) *
+           ((arg2[1]) * 0x2));
+    x13 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[3]) *
+           (arg2[0]));
+    x14 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[2]) *
+           ((arg2[2]) * 0x2));
+    x15 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[2]) *
+           ((arg2[1]) * 0x2));
+    x16 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[2]) *
+           (arg2[0]));
+    x17 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
+           ((arg2[3]) * 0x2));
+    x18 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
+           ((arg2[2]) * 0x2));
+    x19 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
+           ((arg2[1]) * 0x2));
+    x20 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
+           (arg2[0]));
+    x21 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) *
+           (arg2[4]));
+    x22 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) *
+           (arg2[3]));
+    x23 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) *
+           (arg2[2]));
+    x24 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) *
+           (arg2[1]));
+    x25 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) *
+           (arg2[0]));
+    x26 = (x25 + (x10 + (x9 + (x7 + x4))));
+    x27 = (x26 >> 52);
+    x28 = (uint64_t)(x26 & UINT64_C(0xfffffffffffff));
+    x29 = (x21 + (x17 + (x14 + (x12 + x11))));
+    x30 = (x22 + (x18 + (x15 + (x13 + x1))));
+    x31 = (x23 + (x19 + (x16 + (x5 + x2))));
+    x32 = (x24 + (x20 + (x8 + (x6 + x3))));
+    x33 = (x27 + x32);
+    x34 = (x33 >> 51);
+    x35 = (uint64_t)(x33 & UINT64_C(0x7ffffffffffff));
+    x36 = (x34 + x31);
+    x37 = (x36 >> 51);
+    x38 = (uint64_t)(x36 & UINT64_C(0x7ffffffffffff));
+    x39 = (x37 + x30);
+    x40 = (uint64_t)(x39 >> 51);
+    x41 = (uint64_t)(x39 & UINT64_C(0x7ffffffffffff));
+    x42 = (x40 + x29);
+    x43 = (uint64_t)(x42 >> 51);
+    x44 = (uint64_t)(x42 & UINT64_C(0x7ffffffffffff));
+    x45 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)UINT16_C(0x269) *
+           x43);
+    x46 = (x28 + x45);
+    x47 = (uint64_t)(x46 >> 52);
+    x48 = (uint64_t)(x46 & UINT64_C(0xfffffffffffff));
+    x49 = (x47 + x35);
+    x50 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x49 >> 51);
+    x51 = (x49 & UINT64_C(0x7ffffffffffff));
+    x52 = (x50 + x38);
+    out1[0] = x48;
+    out1[1] = x51;
+    out1[2] = x52;
+    out1[3] = x41;
+    out1[4] = x44;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_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]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
+ */
+static void fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(
+    uint64_t out1[5], const uint64_t arg1[5]) {
+    uint64_t x1;
+    uint64_t x2;
+    uint64_t x3;
+    uint64_t x4;
+    uint64_t x5;
+    uint64_t x6;
+    uint64_t x7;
+    uint64_t x8;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x9;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x10;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x11;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x12;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x13;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x14;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x15;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x16;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x17;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x18;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x19;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x20;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x21;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x22;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x23;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x24;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x25;
+    uint64_t x26;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x27;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x28;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x29;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x30;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x31;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x32;
+    uint64_t x33;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x34;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x35;
+    uint64_t x36;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x37;
+    uint64_t x38;
+    uint64_t x39;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x40;
+    uint64_t x41;
+    uint64_t x42;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x43;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128 x44;
+    uint64_t x45;
+    uint64_t x46;
+    uint64_t x47;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x48;
+    uint64_t x49;
+    uint64_t x50;
+    x1 = ((arg1[4]) * UINT16_C(0x269));
+    x2 = (x1 * 0x2);
+    x3 = ((arg1[4]) * 0x2);
+    x4 = ((arg1[3]) * UINT16_C(0x269));
+    x5 = (x4 * 0x2);
+    x6 = ((arg1[3]) * 0x2);
+    x7 = ((arg1[2]) * 0x2);
+    x8 = ((arg1[1]) * 0x2);
+    x9 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[4]) * x1);
+    x10 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[3]) * x2);
+    x11 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[3]) * x4);
+    x12 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[2]) * x2);
+    x13 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[2]) *
+           (x5 * 0x2));
+    x14 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[2]) *
+           ((arg1[2]) * 0x2));
+    x15 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
+           (x2 * 0x2));
+    x16 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
+           (x6 * 0x2));
+    x17 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
+           (x7 * 0x2));
+    x18 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[1]) *
+           ((arg1[1]) * 0x2));
+    x19 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) * x3);
+    x20 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) * x6);
+    x21 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) * x7);
+    x22 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) * x8);
+    x23 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)(arg1[0]) *
+           (arg1[0]));
+    x24 = (x23 + (x15 + x13));
+    x25 = (x24 >> 52);
+    x26 = (uint64_t)(x24 & UINT64_C(0xfffffffffffff));
+    x27 = (x19 + (x16 + x14));
+    x28 = (x20 + (x17 + x9));
+    x29 = (x21 + (x18 + x10));
+    x30 = (x22 + (x12 + x11));
+    x31 = (x25 + x30);
+    x32 = (x31 >> 51);
+    x33 = (uint64_t)(x31 & UINT64_C(0x7ffffffffffff));
+    x34 = (x32 + x29);
+    x35 = (x34 >> 51);
+    x36 = (uint64_t)(x34 & UINT64_C(0x7ffffffffffff));
+    x37 = (x35 + x28);
+    x38 = (uint64_t)(x37 >> 51);
+    x39 = (uint64_t)(x37 & UINT64_C(0x7ffffffffffff));
+    x40 = (x38 + x27);
+    x41 = (uint64_t)(x40 >> 51);
+    x42 = (uint64_t)(x40 & UINT64_C(0x7ffffffffffff));
+    x43 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint128)UINT16_C(0x269) *
+           x41);
+    x44 = (x26 + x43);
+    x45 = (uint64_t)(x44 >> 52);
+    x46 = (uint64_t)(x44 & UINT64_C(0xfffffffffffff));
+    x47 = (x45 + x33);
+    x48 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x47 >> 51);
+    x49 = (x47 & UINT64_C(0x7ffffffffffff));
+    x50 = (x48 + x36);
+    out1[0] = x46;
+    out1[1] = x49;
+    out1[2] = x50;
+    out1[3] = x39;
+    out1[4] = x42;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_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]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
+ */
+static void fiat_id_tc26_gost_3410_2012_256_paramSetA_carry(
+    uint64_t out1[5], const uint64_t arg1[5]) {
+    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;
+    x1 = (arg1[0]);
+    x2 = ((x1 >> 52) + (arg1[1]));
+    x3 = ((x2 >> 51) + (arg1[2]));
+    x4 = ((x3 >> 51) + (arg1[3]));
+    x5 = ((x4 >> 51) + (arg1[4]));
+    x6 = ((x1 & UINT64_C(0xfffffffffffff)) + (UINT16_C(0x269) * (x5 >> 51)));
+    x7 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x6 >> 52) +
+          (x2 & UINT64_C(0x7ffffffffffff)));
+    x8 = (x6 & UINT64_C(0xfffffffffffff));
+    x9 = (x7 & UINT64_C(0x7ffffffffffff));
+    x10 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x7 >> 51) +
+           (x3 & UINT64_C(0x7ffffffffffff)));
+    x11 = (x4 & UINT64_C(0x7ffffffffffff));
+    x12 = (x5 & UINT64_C(0x7ffffffffffff));
+    out1[0] = x8;
+    out1[1] = x9;
+    out1[2] = x10;
+    out1[3] = x11;
+    out1[4] = x12;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_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]]
+ *   arg2: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]]
+ */
+static void fiat_id_tc26_gost_3410_2012_256_paramSetA_add(
+    uint64_t out1[5], const uint64_t arg1[5], const uint64_t arg2[5]) {
+    uint64_t x1;
+    uint64_t x2;
+    uint64_t x3;
+    uint64_t x4;
+    uint64_t x5;
+    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]));
+    out1[0] = x1;
+    out1[1] = x2;
+    out1[2] = x3;
+    out1[3] = x4;
+    out1[4] = x5;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_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]]
+ *   arg2: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]]
+ */
+static void fiat_id_tc26_gost_3410_2012_256_paramSetA_sub(
+    uint64_t out1[5], const uint64_t arg1[5], const uint64_t arg2[5]) {
+    uint64_t x1;
+    uint64_t x2;
+    uint64_t x3;
+    uint64_t x4;
+    uint64_t x5;
+    x1 = ((UINT64_C(0x1ffffffffffb2e) + (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]));
+    out1[0] = x1;
+    out1[1] = x2;
+    out1[2] = x3;
+    out1[3] = x4;
+    out1[4] = x5;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_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]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]]
+ */
+static void fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(
+    uint64_t out1[5], const uint64_t arg1[5]) {
+    uint64_t x1;
+    uint64_t x2;
+    uint64_t x3;
+    uint64_t x4;
+    uint64_t x5;
+    x1 = (UINT64_C(0x1ffffffffffb2e) - (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]));
+    out1[0] = x1;
+    out1[1] = x2;
+    out1[2] = x3;
+    out1[3] = x4;
+    out1[4] = x5;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_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]]
+ *   arg3: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
+    uint64_t out1[5], fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1,
+    const uint64_t arg2[5], const uint64_t arg3[5]) {
+    uint64_t x1;
+    uint64_t x2;
+    uint64_t x3;
+    uint64_t x4;
+    uint64_t x5;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u64(&x1, arg1, (arg2[0]),
+                                                          (arg3[0]));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u64(&x2, arg1, (arg2[1]),
+                                                          (arg3[1]));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u64(&x3, arg1, (arg2[2]),
+                                                          (arg3[2]));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u64(&x4, arg1, (arg2[3]),
+                                                          (arg3[3]));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u64(&x5, arg1, (arg2[4]),
+                                                          (arg3[4]));
+    out1[0] = x1;
+    out1[1] = x2;
+    out1[2] = x3;
+    out1[3] = x4;
+    out1[4] = x5;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_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..31]
+ *
+ * Input Bounds:
+ *   arg1: [[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]]
+ */
+static void fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(
+    uint8_t out1[32], const uint64_t arg1[5]) {
+    uint64_t x1;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x2;
+    uint64_t x3;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x4;
+    uint64_t x5;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x6;
+    uint64_t x7;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x8;
+    uint64_t x9;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x10;
+    uint64_t x11;
+    uint64_t x12;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x13;
+    uint64_t x14;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x15;
+    uint64_t x16;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x17;
+    uint64_t x18;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x19;
+    uint64_t x20;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x21;
+    uint64_t x22;
+    uint64_t x23;
+    uint64_t x24;
+    uint64_t x25;
+    uint64_t x26;
+    uint8_t x27;
+    uint64_t x28;
+    uint8_t x29;
+    uint64_t x30;
+    uint8_t x31;
+    uint64_t x32;
+    uint8_t x33;
+    uint64_t x34;
+    uint8_t x35;
+    uint8_t x36;
+    uint8_t x37;
+    uint64_t x38;
+    uint64_t x39;
+    uint8_t x40;
+    uint64_t x41;
+    uint8_t x42;
+    uint64_t x43;
+    uint8_t x44;
+    uint64_t x45;
+    uint8_t x46;
+    uint64_t x47;
+    uint8_t x48;
+    uint8_t x49;
+    uint8_t x50;
+    uint64_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;
+    uint64_t x60;
+    uint8_t x61;
+    uint64_t x62;
+    uint8_t x63;
+    uint8_t x64;
+    uint8_t x65;
+    uint64_t x66;
+    uint64_t x67;
+    uint8_t x68;
+    uint64_t x69;
+    uint8_t x70;
+    uint64_t x71;
+    uint8_t x72;
+    uint64_t x73;
+    uint8_t x74;
+    uint64_t x75;
+    uint8_t x76;
+    uint8_t x77;
+    uint8_t x78;
+    uint64_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;
+    uint64_t x88;
+    uint8_t x89;
+    uint8_t x90;
+    uint8_t x91;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u52(
+        &x1, &x2, 0x0, (arg1[0]), UINT64_C(0xffffffffffd97));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u51(
+        &x3, &x4, x2, (arg1[1]), UINT64_C(0x7ffffffffffff));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u51(
+        &x5, &x6, x4, (arg1[2]), UINT64_C(0x7ffffffffffff));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u51(
+        &x7, &x8, x6, (arg1[3]), UINT64_C(0x7ffffffffffff));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u51(
+        &x9, &x10, x8, (arg1[4]), UINT64_C(0x7ffffffffffff));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u64(
+        &x11, x10, 0x0, UINT64_C(0xffffffffffffffff));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u52(
+        &x12, &x13, 0x0, x1, (x11 & UINT64_C(0xffffffffffd97)));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u51(
+        &x14, &x15, x13, x3, (x11 & UINT64_C(0x7ffffffffffff)));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u51(
+        &x16, &x17, x15, x5, (x11 & UINT64_C(0x7ffffffffffff)));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u51(
+        &x18, &x19, x17, x7, (x11 & UINT64_C(0x7ffffffffffff)));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u51(
+        &x20, &x21, x19, x9, (x11 & UINT64_C(0x7ffffffffffff)));
+    x22 = (x20 << 5);
+    x23 = (x18 << 2);
+    x24 = (x16 << 7);
+    x25 = (x14 << 4);
+    x26 = (x12 >> 8);
+    x27 = (uint8_t)(x12 & UINT8_C(0xff));
+    x28 = (x26 >> 8);
+    x29 = (uint8_t)(x26 & UINT8_C(0xff));
+    x30 = (x28 >> 8);
+    x31 = (uint8_t)(x28 & UINT8_C(0xff));
+    x32 = (x30 >> 8);
+    x33 = (uint8_t)(x30 & UINT8_C(0xff));
+    x34 = (x32 >> 8);
+    x35 = (uint8_t)(x32 & UINT8_C(0xff));
+    x36 = (uint8_t)(x34 >> 8);
+    x37 = (uint8_t)(x34 & UINT8_C(0xff));
+    x38 = (x36 + x25);
+    x39 = (x38 >> 8);
+    x40 = (uint8_t)(x38 & UINT8_C(0xff));
+    x41 = (x39 >> 8);
+    x42 = (uint8_t)(x39 & UINT8_C(0xff));
+    x43 = (x41 >> 8);
+    x44 = (uint8_t)(x41 & UINT8_C(0xff));
+    x45 = (x43 >> 8);
+    x46 = (uint8_t)(x43 & UINT8_C(0xff));
+    x47 = (x45 >> 8);
+    x48 = (uint8_t)(x45 & UINT8_C(0xff));
+    x49 = (uint8_t)(x47 >> 8);
+    x50 = (uint8_t)(x47 & UINT8_C(0xff));
+    x51 = (x49 + x24);
+    x52 = (x51 >> 8);
+    x53 = (uint8_t)(x51 & 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 = (x58 >> 8);
+    x61 = (uint8_t)(x58 & UINT8_C(0xff));
+    x62 = (x60 >> 8);
+    x63 = (uint8_t)(x60 & UINT8_C(0xff));
+    x64 = (uint8_t)(x62 >> 8);
+    x65 = (uint8_t)(x62 & UINT8_C(0xff));
+    x66 = (x64 + x23);
+    x67 = (x66 >> 8);
+    x68 = (uint8_t)(x66 & UINT8_C(0xff));
+    x69 = (x67 >> 8);
+    x70 = (uint8_t)(x67 & UINT8_C(0xff));
+    x71 = (x69 >> 8);
+    x72 = (uint8_t)(x69 & UINT8_C(0xff));
+    x73 = (x71 >> 8);
+    x74 = (uint8_t)(x71 & UINT8_C(0xff));
+    x75 = (x73 >> 8);
+    x76 = (uint8_t)(x73 & UINT8_C(0xff));
+    x77 = (uint8_t)(x75 >> 8);
+    x78 = (uint8_t)(x75 & UINT8_C(0xff));
+    x79 = (x77 + x22);
+    x80 = (x79 >> 8);
+    x81 = (uint8_t)(x79 & 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 = (x86 >> 8);
+    x89 = (uint8_t)(x86 & UINT8_C(0xff));
+    x90 = (uint8_t)(x88 >> 8);
+    x91 = (uint8_t)(x88 & UINT8_C(0xff));
+    out1[0] = x27;
+    out1[1] = x29;
+    out1[2] = x31;
+    out1[3] = x33;
+    out1[4] = x35;
+    out1[5] = x37;
+    out1[6] = x40;
+    out1[7] = x42;
+    out1[8] = x44;
+    out1[9] = x46;
+    out1[10] = x48;
+    out1[11] = x50;
+    out1[12] = x53;
+    out1[13] = x55;
+    out1[14] = x57;
+    out1[15] = x59;
+    out1[16] = x61;
+    out1[17] = x63;
+    out1[18] = x65;
+    out1[19] = x68;
+    out1[20] = x70;
+    out1[21] = x72;
+    out1[22] = x74;
+    out1[23] = x76;
+    out1[24] = x78;
+    out1[25] = x81;
+    out1[26] = x83;
+    out1[27] = x85;
+    out1[28] = x87;
+    out1[29] = x89;
+    out1[30] = x91;
+    out1[31] = x90;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_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]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
+ */
+static void fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes(
+    uint64_t out1[5], const uint8_t arg1[32]) {
+    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;
+    uint8_t x34;
+    uint64_t x35;
+    uint64_t x36;
+    uint64_t x37;
+    uint64_t x38;
+    uint64_t x39;
+    uint64_t x40;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x41;
+    uint64_t x42;
+    uint64_t x43;
+    uint8_t x44;
+    uint64_t x45;
+    uint64_t x46;
+    uint8_t x47;
+    uint64_t x48;
+    uint64_t x49;
+    x1 = ((uint64_t)(arg1[31]) << 43);
+    x2 = ((uint64_t)(arg1[30]) << 35);
+    x3 = ((uint64_t)(arg1[29]) << 27);
+    x4 = ((uint64_t)(arg1[28]) << 19);
+    x5 = ((uint64_t)(arg1[27]) << 11);
+    x6 = ((uint64_t)(arg1[26]) << 3);
+    x7 = ((uint64_t)(arg1[25]) << 46);
+    x8 = ((uint64_t)(arg1[24]) << 38);
+    x9 = ((uint64_t)(arg1[23]) << 30);
+    x10 = ((uint64_t)(arg1[22]) << 22);
+    x11 = ((uint64_t)(arg1[21]) << 14);
+    x12 = ((uint64_t)(arg1[20]) << 6);
+    x13 = ((uint64_t)(arg1[19]) << 49);
+    x14 = ((uint64_t)(arg1[18]) << 41);
+    x15 = ((uint64_t)(arg1[17]) << 33);
+    x16 = ((uint64_t)(arg1[16]) << 25);
+    x17 = ((uint64_t)(arg1[15]) << 17);
+    x18 = ((uint64_t)(arg1[14]) << 9);
+    x19 = ((uint64_t)(arg1[13]) * 0x2);
+    x20 = ((uint64_t)(arg1[12]) << 44);
+    x21 = ((uint64_t)(arg1[11]) << 36);
+    x22 = ((uint64_t)(arg1[10]) << 28);
+    x23 = ((uint64_t)(arg1[9]) << 20);
+    x24 = ((uint64_t)(arg1[8]) << 12);
+    x25 = ((uint64_t)(arg1[7]) << 4);
+    x26 = ((uint64_t)(arg1[6]) << 48);
+    x27 = ((uint64_t)(arg1[5]) << 40);
+    x28 = ((uint64_t)(arg1[4]) << 32);
+    x29 = ((uint64_t)(arg1[3]) << 24);
+    x30 = ((uint64_t)(arg1[2]) << 16);
+    x31 = ((uint64_t)(arg1[1]) << 8);
+    x32 = (arg1[0]);
+    x33 = (x32 + (x31 + (x30 + (x29 + (x28 + (x27 + x26))))));
+    x34 = (uint8_t)(x33 >> 52);
+    x35 = (x33 & UINT64_C(0xfffffffffffff));
+    x36 = (x6 + (x5 + (x4 + (x3 + (x2 + x1)))));
+    x37 = (x12 + (x11 + (x10 + (x9 + (x8 + x7)))));
+    x38 = (x19 + (x18 + (x17 + (x16 + (x15 + (x14 + x13))))));
+    x39 = (x25 + (x24 + (x23 + (x22 + (x21 + x20)))));
+    x40 = (x34 + x39);
+    x41 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x40 >> 51);
+    x42 = (x40 & UINT64_C(0x7ffffffffffff));
+    x43 = (x41 + x38);
+    x44 = (uint8_t)(x43 >> 51);
+    x45 = (x43 & UINT64_C(0x7ffffffffffff));
+    x46 = (x44 + x37);
+    x47 = (uint8_t)(x46 >> 51);
+    x48 = (x46 & UINT64_C(0x7ffffffffffff));
+    x49 = (x47 + x36);
+    out1[0] = x35;
+    out1[1] = x42;
+    out1[2] = x45;
+    out1[3] = x48;
+    out1[4] = x49;
+}
+
+/* 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_256_paramSetA/fe_inv.op3
+ * custom repunit addition chain
+ */
+static void fiat_id_tc26_gost_3410_2012_256_paramSetA_inv(fe_t output,
+                                                          const fe_t t1) {
+    int i;
+    /* temporary variables */
+    fe_t acc, t16, t164, t2, t246, t32, t4, t64, t8, t80, t82;
+
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t2, acc, t1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t4, acc, t2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t4);
+    for (i = 0; i < 3; i++)
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t8, acc, t4);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t8);
+    for (i = 0; i < 7; i++)
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t16, acc, t8);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t16);
+    for (i = 0; i < 15; i++)
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t32, acc, t16);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t32);
+    for (i = 0; i < 31; i++)
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t64, acc, t32);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t64);
+    for (i = 0; i < 15; i++)
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t80, acc, t16);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t80);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t82, acc, t2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t82);
+    for (i = 0; i < 81; i++)
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t164, acc, t82);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t164);
+    for (i = 0; i < 81; i++)
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t246, acc, t82);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t246);
+    for (i = 0; i < 2; i++)
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(acc, acc, t2);
+    for (i = 0; i < 3; i++)
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(acc, acc, t1);
+    for (i = 0; i < 2; i++)
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(acc, acc, t1);
+    for (i = 0; i < 2; i++)
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(output, acc, t1);
+}
+
+/* curve coefficient constants */
+
+static const limb_t const_one[5] = {
+    UINT64_C(0x0000000000000001), UINT64_C(0x0000000000000000),
+    UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000),
+    UINT64_C(0x0000000000000000)};
+
+static const limb_t const_d[5] = {
+    UINT64_C(0x0002C32D6DC7BFFB), UINT64_C(0x0002897009AF7E52),
+    UINT64_C(0x0005AA3026573BEC), UINT64_C(0x0006A055E2F0E73E),
+    UINT64_C(0x0000302FB5BE0C1F)};
+
+static const limb_t const_S[5] = {
+    UINT64_C(0x00074F34A48E0ECD), UINT64_C(0x00075DA3FD94206B),
+    UINT64_C(0x00029573F66A3104), UINT64_C(0x000057EA8743C630),
+    UINT64_C(0x0003F3F412907CF8)};
+
+static const limb_t const_T[5] = {
+    UINT64_C(0x000075DCE7A14AAA), UINT64_C(0x0005C192AC47EA63),
+    UINT64_C(0x0000F1B2B10E89FC), UINT64_C(0x0007C563A5D2D135),
+    UINT64_C(0x00000807F39FACAF)};
+
+/* LUT for scalar multiplication by comb interleaving */
+static const pt_aff_t lut_cmb[14][16] = {
+    {
+        {{UINT64_C(0x000000000000000D), UINT64_C(0x0000000000000000),
+          UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000),
+          UINT64_C(0x0000000000000000)},
+         {UINT64_C(0x000B2592DBA300E7), UINT64_C(0x0003E87F22E81F92),
+          UINT64_C(0x00060EC939CFDF1B), UINT64_C(0x0006CD212230E3EA),
+          UINT64_C(0x00030650F195523A)},
+         {UINT64_C(0x0000E8752747155F), UINT64_C(0x0002CE74C5C99A73),
+          UINT64_C(0x0006C037EF8E5465), UINT64_C(0x00006AAEBC7B92EB),
+          UINT64_C(0x0007521C44952CFD)}},
+        {{UINT64_C(0x000A63D93451134C), UINT64_C(0x0003F7A46C1C4CA7),
+          UINT64_C(0x0002AF35693661CE), UINT64_C(0x0005313F13E9CC60),
+          UINT64_C(0x00054E15958A5D97)},
+         {UINT64_C(0x0004525DDCDB5791), UINT64_C(0x000736AACCCB7BC8),
+          UINT64_C(0x000174F4885153CF), UINT64_C(0x0000CB27666A2367),
+          UINT64_C(0x00016BDEBB39E143)},
+         {UINT64_C(0x000C732788CBC030), UINT64_C(0x0005C721E676D06F),
+          UINT64_C(0x00024101FDBBCCE2), UINT64_C(0x00059473AE8CD7CA),
+          UINT64_C(0x000586898AC013B2)}},
+        {{UINT64_C(0x000A894E457058AD), UINT64_C(0x00047D7F48E61013),
+          UINT64_C(0x00035B4A672FE227), UINT64_C(0x0002A23302C060B2),
+          UINT64_C(0x0000F011D09FB149)},
+         {UINT64_C(0x000FB80EB0B22BCC), UINT64_C(0x000606DA3C1FAC0B),
+          UINT64_C(0x00049BB0CE05B2EE), UINT64_C(0x000513F1BE099F41),
+          UINT64_C(0x0002AEE30C375862)},
+         {UINT64_C(0x0004ED5422831C0C), UINT64_C(0x0007ED2E735EF7E7),
+          UINT64_C(0x0006F38521F75F30), UINT64_C(0x00040F086DBFA045),
+          UINT64_C(0x0002BA6DCB264756)}},
+        {{UINT64_C(0x000E66CD5DB0B356), UINT64_C(0x00068408F9A4857D),
+          UINT64_C(0x0001F32E8FC1FD9F), UINT64_C(0x0006283C082BF3EE),
+          UINT64_C(0x0007B28870E5B67C)},
+         {UINT64_C(0x000FE1FDB8EFDCBE), UINT64_C(0x0003F21273425384),
+          UINT64_C(0x0005870EEC15951B), UINT64_C(0x0006C844F52108D5),
+          UINT64_C(0x0001CD6F3261AFA2)},
+         {UINT64_C(0x000712D2BEAA7E64), UINT64_C(0x0006CA4E1492A890),
+          UINT64_C(0x0001F6F63F92C63C), UINT64_C(0x0007E2FFA1F1C544),
+          UINT64_C(0x0002725A45A8E238)}},
+        {{UINT64_C(0x0003E27F874C6781), UINT64_C(0x000080BDDC3E44D5),
+          UINT64_C(0x0005AFC7A11A0693), UINT64_C(0x0001B7278AA23AFD),
+          UINT64_C(0x0004D7CF0D085A3B)},
+         {UINT64_C(0x000D80090DD1AE96), UINT64_C(0x0002433971543626),
+          UINT64_C(0x000276F2FB600A27), UINT64_C(0x0005E6BA3FC73B39),
+          UINT64_C(0x0005F6DBA95D6230)},
+         {UINT64_C(0x000E7885A2499A0E), UINT64_C(0x0004547B7F6C185E),
+          UINT64_C(0x000003DCACBBA1C5), UINT64_C(0x000642667D8CF12B),
+          UINT64_C(0x0002EA8E4237A0D7)}},
+        {{UINT64_C(0x000FDE7B60226F30), UINT64_C(0x0006E61454CC4C1B),
+          UINT64_C(0x000479C4C24E0377), UINT64_C(0x0000B58C33813041),
+          UINT64_C(0x0002403059A551B8)},
+         {UINT64_C(0x000F0EF2E06AE25F), UINT64_C(0x00065B351500FA13),
+          UINT64_C(0x0004884D79149E34), UINT64_C(0x00020A52F78F4D69),
+          UINT64_C(0x00052A46E43D1E6F)},
+         {UINT64_C(0x000D0ECC557F4E9D), UINT64_C(0x0007D12B76DDBF72),
+          UINT64_C(0x00001E35D93266D1), UINT64_C(0x00060EC982223C71),
+          UINT64_C(0x0001388A4FBA5CC2)}},
+        {{UINT64_C(0x000288DD0895A16C), UINT64_C(0x000602071D0EFE2E),
+          UINT64_C(0x0007DEA3E3BA4068), UINT64_C(0x00049DB99EA55E0F),
+          UINT64_C(0x00057C4FBA5BF59F)},
+         {UINT64_C(0x00015BEBA4E2B732), UINT64_C(0x0001F7F8E714E8B3),
+          UINT64_C(0x0000A952EF156C40), UINT64_C(0x00017371509C8E81),
+          UINT64_C(0x000362B2B97378ED)},
+         {UINT64_C(0x000A85D2D8D51136), UINT64_C(0x0005F222A81C7F67),
+          UINT64_C(0x0007182E92B465DA), UINT64_C(0x00037F522C4E8E6D),
+          UINT64_C(0x0004310842F64A2B)}},
+        {{UINT64_C(0x0005A383213DC33C), UINT64_C(0x0007E9B816CD42C6),
+          UINT64_C(0x0007FA8AE87087AA), UINT64_C(0x0004E55F40D4A3EE),
+          UINT64_C(0x0004F6D263536B6D)},
+         {UINT64_C(0x00020F67059F55A3), UINT64_C(0x00007763EEA276D3),
+          UINT64_C(0x00019A17F705B71A), UINT64_C(0x0005944E63EB82FE),
+          UINT64_C(0x0007650A0DC5D1CB)},
+         {UINT64_C(0x000FCD65DD4C828B), UINT64_C(0x0004CA6637691EA4),
+          UINT64_C(0x0003CCA5D1052701), UINT64_C(0x000712031F0647A6),
+          UINT64_C(0x00021CFF42584B2A)}},
+        {{UINT64_C(0x0006C8A92F922362), UINT64_C(0x00044311FB926B9A),
+          UINT64_C(0x00024A255F064898), UINT64_C(0x0004502C0490E488),
+          UINT64_C(0x000181B9C7BE07A7)},
+         {UINT64_C(0x000AC7EB3F012FCF), UINT64_C(0x00066FE14D676159),
+          UINT64_C(0x0000E913992C9940), UINT64_C(0x0005A66B28860B80),
+          UINT64_C(0x0004FA013BB9A8C7)},
+         {UINT64_C(0x0000AD18CD3393AB), UINT64_C(0x000615E7DB492BCF),
+          UINT64_C(0x00065C59E4108193), UINT64_C(0x00001C03C21B9CD4),
+          UINT64_C(0x00053FD4D84C40B2)}},
+        {{UINT64_C(0x0003FC89A2C6B0CB), UINT64_C(0x0000F3FE6593C6B3),
+          UINT64_C(0x00033E7B9EFD7774), UINT64_C(0x000202569ACD3FD6),
+          UINT64_C(0x000304E71BD74A19)},
+         {UINT64_C(0x00070B3E67C53736), UINT64_C(0x00062C9877C0935F),
+          UINT64_C(0x00005596CE3DED78), UINT64_C(0x000065742F67B602),
+          UINT64_C(0x0001F8FD1E49E6FF)},
+         {UINT64_C(0x000C98D8B880CCBF), UINT64_C(0x0002C564715F7115),
+          UINT64_C(0x0003131E65C288F0), UINT64_C(0x00032E11B2E67FC3),
+          UINT64_C(0x000306235C4203E9)}},
+        {{UINT64_C(0x0002EE57BC2F49E9), UINT64_C(0x00072B3E30AC4A02),
+          UINT64_C(0x00007DB1E3840852), UINT64_C(0x0001DD33D665342A),
+          UINT64_C(0x0001A7633225AEB5)},
+         {UINT64_C(0x000B7F7B5B762A44), UINT64_C(0x000331A035435FA2),
+          UINT64_C(0x00067E3DC1DDB9A7), UINT64_C(0x0004B831B6E64D06),
+          UINT64_C(0x0006F2281134099E)},
+         {UINT64_C(0x000B980EF7392E55), UINT64_C(0x0000B89E617A9CA2),
+          UINT64_C(0x0007ABA1A8BE9857), UINT64_C(0x00039ACA46853BD7),
+          UINT64_C(0x00075B4D3E20EED0)}},
+        {{UINT64_C(0x000250EDAC297799), UINT64_C(0x0005F2C18C18BF27),
+          UINT64_C(0x0001CA515336C8CA), UINT64_C(0x000559E66BDEB0DF),
+          UINT64_C(0x0001DEEDAD609A8E)},
+         {UINT64_C(0x000955E31C58DEDB), UINT64_C(0x000669D9C0842B27),
+          UINT64_C(0x0006DEB790D54552), UINT64_C(0x0003F019C46019DA),
+          UINT64_C(0x000471F509C91C79)},
+         {UINT64_C(0x000732102C57B4C9), UINT64_C(0x0006A2A9C28278B1),
+          UINT64_C(0x0002324651BB700F), UINT64_C(0x00035DAF397E77FD),
+          UINT64_C(0x000663BBD174F83C)}},
+        {{UINT64_C(0x000B929354FC042F), UINT64_C(0x00011C492ECCD647),
+          UINT64_C(0x00009741F291BEF2), UINT64_C(0x0001B4C7302C0158),
+          UINT64_C(0x00053AE1A0A0CF65)},
+         {UINT64_C(0x0003EF8B2C9BC0FD), UINT64_C(0x00002CC7CA0F574C),
+          UINT64_C(0x0006D4B65A91C0C0), UINT64_C(0x00037510A240479F),
+          UINT64_C(0x0000C64FA252A385)},
+         {UINT64_C(0x000A88BD59ED7C65), UINT64_C(0x0007ADDAE9CF1B08),
+          UINT64_C(0x00019BA0F9C07F82), UINT64_C(0x000678DB16C95452),
+          UINT64_C(0x000056623A2D43CD)}},
+        {{UINT64_C(0x000B7E8A540D0BB7), UINT64_C(0x000584F51D57A3A5),
+          UINT64_C(0x0001D8F204E79366), UINT64_C(0x00050AB42D36BB78),
+          UINT64_C(0x0001F1939E53C5F0)},
+         {UINT64_C(0x0006F36130EDF74C), UINT64_C(0x0004F887F8A3C1AE),
+          UINT64_C(0x000287BA42F1A8B2), UINT64_C(0x00059F26236FEDC0),
+          UINT64_C(0x0004E7E15665AB6B)},
+         {UINT64_C(0x000BEF0A5861C3BC), UINT64_C(0x0001C09CD88554A1),
+          UINT64_C(0x00061D92810426B4), UINT64_C(0x0000B7288E75D464),
+          UINT64_C(0x0006309911A5EDED)}},
+        {{UINT64_C(0x00085B811B64F095), UINT64_C(0x0005D8DFEF0DA78A),
+          UINT64_C(0x0000FAC6BD61618C), UINT64_C(0x0004BAAA6C8B2729),
+          UINT64_C(0x0004B56E9D2ABD89)},
+         {UINT64_C(0x00043E639CD4D3BA), UINT64_C(0x00074DEABEABDB28),
+          UINT64_C(0x0007E3FBA43ED6F6), UINT64_C(0x0003AEE8B7AFF1C3),
+          UINT64_C(0x0003F53F79D2EE85)},
+         {UINT64_C(0x000D24432D4F4AA5), UINT64_C(0x00078D7CF1ED698D),
+          UINT64_C(0x0004FF1A468ED10E), UINT64_C(0x000401D16C0D8D9F),
+          UINT64_C(0x0002F258FE117334)}},
+        {{UINT64_C(0x000FB19D593A119F), UINT64_C(0x000573B9C8EF8EF8),
+          UINT64_C(0x0003D940302F6503), UINT64_C(0x000182EF3D826EE0),
+          UINT64_C(0x0003F7471C590F65)},
+         {UINT64_C(0x000299B06DAA3C6C), UINT64_C(0x0007746E79EDD442),
+          UINT64_C(0x0003AC79E8C5E3A4), UINT64_C(0x0007EEC70EB2D955),
+          UINT64_C(0x000725068BB9E5F2)},
+         {UINT64_C(0x0002BC325E5A930B), UINT64_C(0x000107F46E629456),
+          UINT64_C(0x000640B07B73E5D1), UINT64_C(0x00001279DBE60561),
+          UINT64_C(0x000225709C5657E7)}},
+    },
+    {
+        {{UINT64_C(0x0000192B0CEABA3B), UINT64_C(0x0000C849471353C7),
+          UINT64_C(0x0007933577181965), UINT64_C(0x000142C9EA69016E),
+          UINT64_C(0x0004567E065866D3)},
+         {UINT64_C(0x000B6B66959B52D6), UINT64_C(0x000430844ADC8F3E),
+          UINT64_C(0x0006380BD764FFC3), UINT64_C(0x00016D901A803EAC),
+          UINT64_C(0x000086B9A477DC01)},
+         {UINT64_C(0x00023367321E8B93), UINT64_C(0x00032EA758921A81),
+          UINT64_C(0x0004882218493C4B), UINT64_C(0x000363B5842D9A7D),
+          UINT64_C(0x00015A99D8110971)}},
+        {{UINT64_C(0x000300698CE29666), UINT64_C(0x0004EECA6154042B),
+          UINT64_C(0x000166B994CFB4CC), UINT64_C(0x0004ACF422430E4C),
+          UINT64_C(0x000025F72D8D2619)},
+         {UINT64_C(0x000675E071BC36F8), UINT64_C(0x0004DFF904D1F8C7),
+          UINT64_C(0x0003D505499703DF), UINT64_C(0x00020099265EDEB5),
+          UINT64_C(0x0003CC88B51F7700)},
+         {UINT64_C(0x0007D2FCAA25E5B3), UINT64_C(0x000265D6E2479291),
+          UINT64_C(0x000011547C45B8FB), UINT64_C(0x0007BB46D4B019E2),
+          UINT64_C(0x00056F6CD9966342)}},
+        {{UINT64_C(0x000716456F1AF846), UINT64_C(0x0006EC66D0F766DB),
+          UINT64_C(0x00046A2790A7CDEB), UINT64_C(0x0007D9FE58069E97),
+          UINT64_C(0x0006F455E4C8BAF4)},
+         {UINT64_C(0x0002DE3D52161A5B), UINT64_C(0x0001322EF1230B3D),
+          UINT64_C(0x000064226A5D94E2), UINT64_C(0x0004F0C2721E80E3),
+          UINT64_C(0x00055430C4FD1472)},
+         {UINT64_C(0x000F3FE53622B34E), UINT64_C(0x000400E37E2F6B5E),
+          UINT64_C(0x000786904CA5BE13), UINT64_C(0x000447C21E951630),
+          UINT64_C(0x00030E6760567848)}},
+        {{UINT64_C(0x000B726FC584B729), UINT64_C(0x000414D51BCE0A43),
+          UINT64_C(0x000618F6813D930C), UINT64_C(0x00040A56D66C1756),
+          UINT64_C(0x0003D984C56008C4)},
+         {UINT64_C(0x000EB2683ACBED46), UINT64_C(0x000652CB350659D6),
+          UINT64_C(0x00013634382FCA77), UINT64_C(0x0002F5D25E61B8FF),
+          UINT64_C(0x0000B4620F79B12A)},
+         {UINT64_C(0x0001E7A57930B5B8), UINT64_C(0x00073653EC2B76D1),
+          UINT64_C(0x000613302FE0B30D), UINT64_C(0x0000A6C4E5761F63),
+          UINT64_C(0x0006ADF86A72CC92)}},
+        {{UINT64_C(0x00019186A824FDD7), UINT64_C(0x00011924F7F2750C),
+          UINT64_C(0x00029AD4044367A7), UINT64_C(0x0007E9538B9DECCA),
+          UINT64_C(0x000280D45D483E14)},
+         {UINT64_C(0x000BB52AB225DCB5), UINT64_C(0x00028B165CB1E4DA),
+          UINT64_C(0x0005BC09B05FCBE4), UINT64_C(0x000381D12C463328),
+          UINT64_C(0x00076D0B0F76F027)},
+         {UINT64_C(0x000FEDF306C25C01), UINT64_C(0x0003FECB41117000),
+          UINT64_C(0x0002FD6A35E50E23), UINT64_C(0x000337ED65B03733),
+          UINT64_C(0x0000574ECBAE7CDC)}},
+        {{UINT64_C(0x0006DB58E6ED0D33), UINT64_C(0x0006B3191FF18B0A),
+          UINT64_C(0x0003EA3B063F5E91), UINT64_C(0x00046C617AC41DAE),
+          UINT64_C(0x00055B8985867163)},
+         {UINT64_C(0x000FE332D0609F49), UINT64_C(0x00029E2B6C0590BB),
+          UINT64_C(0x00027B083A8281E3), UINT64_C(0x00023F54A6691576),
+          UINT64_C(0x0001F9B2324B7AF4)},
+         {UINT64_C(0x000B28B2B17C7FE4), UINT64_C(0x0006080357FBA43E),
+          UINT64_C(0x000615C5B81FBEF7), UINT64_C(0x0003954270A7909A),
+          UINT64_C(0x0001A2F47D0A04EB)}},
+        {{UINT64_C(0x000BA17581986197), UINT64_C(0x00034870F30008DA),
+          UINT64_C(0x00013CA300CCA469), UINT64_C(0x0000B162692148B6),
+          UINT64_C(0x0003F7CF95609F4D)},
+         {UINT64_C(0x000BAE83E74F002F), UINT64_C(0x00069841112F14B8),
+          UINT64_C(0x00078C4EFE35A991), UINT64_C(0x00060BCE9ED310B3),
+          UINT64_C(0x000754449FD8083C)},
+         {UINT64_C(0x000AF607F5B16E11), UINT64_C(0x000353A2B8ACC91E),
+          UINT64_C(0x0000EF1D9E0EF391), UINT64_C(0x0004541CFF0EA8DF),
+          UINT64_C(0x00016AEAE7B3F2F0)}},
+        {{UINT64_C(0x0004D0C351D81066), UINT64_C(0x0000558E4F8F8B3B),
+          UINT64_C(0x00016AB2E6954DA6), UINT64_C(0x0001322A57507762),
+          UINT64_C(0x000048180B80AB80)},
+         {UINT64_C(0x0008458BFFCB303A), UINT64_C(0x00022F59A0891BA3),
+          UINT64_C(0x00015FD6CA3084EF), UINT64_C(0x000096545EB531A3),
+          UINT64_C(0x0006E575563BC013)},
+         {UINT64_C(0x00051F33B08869E8), UINT64_C(0x00026605DC18D15D),
+          UINT64_C(0x00055CAC08CDE2C6), UINT64_C(0x000688FFA5C8BAE7),
+          UINT64_C(0x0001B5E984904B9C)}},
+        {{UINT64_C(0x0006B8B443814972), UINT64_C(0x00055FB9A76E0CC9),
+          UINT64_C(0x00009CE2AAB60A30), UINT64_C(0x0003EF83A2F57151),
+          UINT64_C(0x00054D67D9A4F513)},
+         {UINT64_C(0x0007BECDA40A587F), UINT64_C(0x00066610E3756505),
+          UINT64_C(0x000667AED7C671A5), UINT64_C(0x00045C3E37289FA8),
+          UINT64_C(0x0003EE1DEB8BF15F)},
+         {UINT64_C(0x00036DA9491A8276), UINT64_C(0x0007F3BA7F45D5F3),
+          UINT64_C(0x0005491780986582), UINT64_C(0x00017D2A21BAB7FA),
+          UINT64_C(0x00002173C231405F)}},
+        {{UINT64_C(0x000F3DB9923407C2), UINT64_C(0x00034756D5DCF8D4),
+          UINT64_C(0x00012004CC7C2A34), UINT64_C(0x000333FE8258F7D8),
+          UINT64_C(0x00022BB7C7E2AFDF)},
+         {UINT64_C(0x0000F405EE8CE31C), UINT64_C(0x0000EAD90D22334E),
+          UINT64_C(0x00033D2A3C4C1541), UINT64_C(0x0000C208CD2F4BA6),
+          UINT64_C(0x000531D1A514C9B5)},
+         {UINT64_C(0x0009F9F19D9C76D2), UINT64_C(0x00050FDE66CC4397),
+          UINT64_C(0x00007E0C2178203B), UINT64_C(0x0002A55E72D96E80),
+          UINT64_C(0x0003C184A5AB3FAA)}},
+        {{UINT64_C(0x0001563D94E10FCD), UINT64_C(0x0002F2A35D0DB543),
+          UINT64_C(0x0006E7768E05CFD7), UINT64_C(0x000275C5FC14D586),
+          UINT64_C(0x000433EC2F348324)},
+         {UINT64_C(0x0004D3D54C94DA0B), UINT64_C(0x000794DDFDB2EE1E),
+          UINT64_C(0x000682353D05BB00), UINT64_C(0x00062D8667C93A51),
+          UINT64_C(0x0004DADCA5A8CE84)},
+         {UINT64_C(0x0008950DCBA27A08), UINT64_C(0x00059BB3D4E3ABE9),
+          UINT64_C(0x0003822C18A53312), UINT64_C(0x000244B26BFD9780),
+          UINT64_C(0x00021363F385A671)}},
+        {{UINT64_C(0x0008D4A03FC03231), UINT64_C(0x00023E2A19529871),
+          UINT64_C(0x0007E6F5F8C1E22D), UINT64_C(0x0005603802B4085E),
+          UINT64_C(0x0003FFA733F66BE0)},
+         {UINT64_C(0x000CC0D81C2C08E7), UINT64_C(0x00018D23FC4F115C),
+          UINT64_C(0x00003051462BF328), UINT64_C(0x0004DB5D451FA8EB),
+          UINT64_C(0x00010ACD436DB7AA)},
+         {UINT64_C(0x000316FC2858C718), UINT64_C(0x0001C94A21AE0F16),
+          UINT64_C(0x0007FCCA25487FEF), UINT64_C(0x00075860E5CD985C),
+          UINT64_C(0x0005097BC8151C25)}},
+        {{UINT64_C(0x000DD0D0A35B9B1D), UINT64_C(0x00069BAAA4B56FF0),
+          UINT64_C(0x0004C778899053BE), UINT64_C(0x00002FDC9FA10ADD),
+          UINT64_C(0x0007A47AFD52F5E3)},
+         {UINT64_C(0x000E3285C26BE9BF), UINT64_C(0x00033A7071D32E1A),
+          UINT64_C(0x0005D4D66BCC2FAF), UINT64_C(0x00048588A74F8EA8),
+          UINT64_C(0x00067F167FCDC66E)},
+         {UINT64_C(0x0008784A422379C4), UINT64_C(0x0007470006E5302B),
+          UINT64_C(0x000021E9843D3B99), UINT64_C(0x0003D41527492DDA),
+          UINT64_C(0x0006326EC5940067)}},
+        {{UINT64_C(0x000FF43284BB2391), UINT64_C(0x00053CD58E6D70AA),
+          UINT64_C(0x0006AE6FA42E6DDF), UINT64_C(0x00028B006426C7D9),
+          UINT64_C(0x00052B4EB53AA929)},
+         {UINT64_C(0x0005CDDE09C1B9A5), UINT64_C(0x0000A96E981F65EC),
+          UINT64_C(0x0001B2C7538B9E62), UINT64_C(0x000441A392439DEB),
+          UINT64_C(0x0006A2B722DC6381)},
+         {UINT64_C(0x000900CFD32A9792), UINT64_C(0x0001A7B4A6CF54D6),
+          UINT64_C(0x0003CBAB4ADCD36D), UINT64_C(0x0007B9C1AA60B86D),
+          UINT64_C(0x0000702520E53679)}},
+        {{UINT64_C(0x000C9A305D7834CB), UINT64_C(0x0005B7B9FE0CCCE7),
+          UINT64_C(0x000016A6095A241B), UINT64_C(0x0004B712FDF75B13),
+          UINT64_C(0x0002C53655BBD91A)},
+         {UINT64_C(0x0008A6ED2314DDC8), UINT64_C(0x0007DA70CDF279E7),
+          UINT64_C(0x0006D2D0C3606E50), UINT64_C(0x0003283DAAA8966F),
+          UINT64_C(0x0006EF64B4E41560)},
+         {UINT64_C(0x00042A16ECAEB238), UINT64_C(0x0005A981B79EAFF2),
+          UINT64_C(0x0005427BFC071A2B), UINT64_C(0x00049349A5AB5626),
+          UINT64_C(0x00041BC86960BD2C)}},
+        {{UINT64_C(0x000ABCDBE3A9E5D5), UINT64_C(0x000405363A4B3483),
+          UINT64_C(0x000120CFBB24A873), UINT64_C(0x0005AAE474A462D0),
+          UINT64_C(0x00035D540394697D)},
+         {UINT64_C(0x000A64659EFE52C3), UINT64_C(0x0004DB773D047E7A),
+          UINT64_C(0x0002162ABB1CFD3D), UINT64_C(0x00015B391C39D9D5),
+          UINT64_C(0x00045B7D89DC266B)},
+         {UINT64_C(0x000B2D1FBC9FC441), UINT64_C(0x00012722CD49F3E8),
+          UINT64_C(0x0004A0CFFD68110C), UINT64_C(0x0001B6ECFF11A156),
+          UINT64_C(0x0007D2F58CE5E926)}},
+    },
+    {
+        {{UINT64_C(0x000E1788C8C3CC62), UINT64_C(0x00043FD128363765),
+          UINT64_C(0x00069AE472062EAB), UINT64_C(0x00035D256FE91217),
+          UINT64_C(0x00067910C5563600)},
+         {UINT64_C(0x000F768B1233A3DB), UINT64_C(0x0007DF4C7CD2EA86),
+          UINT64_C(0x0002CAE86EF8DA2A), UINT64_C(0x0002329535DE9283),
+          UINT64_C(0x0005A07C9F89C3C4)},
+         {UINT64_C(0x000054FF768F9CA3), UINT64_C(0x00043D9E4B66B860),
+          UINT64_C(0x0007DF913CA8B203), UINT64_C(0x000719B3B558DDAA),
+          UINT64_C(0x00049B2BB9B923F3)}},
+        {{UINT64_C(0x000890BE7F18CD54), UINT64_C(0x00044AEBC732FC6C),
+          UINT64_C(0x0000F98B4946A855), UINT64_C(0x00012B28B7A38B2D),
+          UINT64_C(0x00030C9FAD322292)},
+         {UINT64_C(0x0009D307A4D23D40), UINT64_C(0x00056FC224E7F4C7),
+          UINT64_C(0x00054A676DE6F4D3), UINT64_C(0x0006E886B5E9AB59),
+          UINT64_C(0x0005165D23A85BC8)},
+         {UINT64_C(0x000ED25967873511), UINT64_C(0x0006C6A9C182B080),
+          UINT64_C(0x0006978A72802608), UINT64_C(0x0006BF34B9518468),
+          UINT64_C(0x0006871D973DF84B)}},
+        {{UINT64_C(0x000F875D00421E67), UINT64_C(0x00042EDCCB1C82C1),
+          UINT64_C(0x000048FC0A2E1BB9), UINT64_C(0x000733FCF9823770),
+          UINT64_C(0x00049255AE9DEDFF)},
+         {UINT64_C(0x000B76A27F806A6B), UINT64_C(0x0002C8618FECD22F),
+          UINT64_C(0x0007CA416389DB51), UINT64_C(0x00072B231F4E3DF8),
+          UINT64_C(0x00037E6C81D4C8A3)},
+         {UINT64_C(0x000315AE714C164A), UINT64_C(0x0000651074CD146C),
+          UINT64_C(0x00070A110B6FA83C), UINT64_C(0x000292BEB2445915),
+          UINT64_C(0x0007BAE86E66340A)}},
+        {{UINT64_C(0x0005A42303FA5032), UINT64_C(0x00079C0EED4C5482),
+          UINT64_C(0x00070FAF28317AA9), UINT64_C(0x000252F900BCA786),
+          UINT64_C(0x0004C6DF6AC32D72)},
+         {UINT64_C(0x000899EF622C1092), UINT64_C(0x00024300EA163F80),
+          UINT64_C(0x0005D78541F9C58D), UINT64_C(0x0000A82CF29A5335),
+          UINT64_C(0x00057651841E4857)},
+         {UINT64_C(0x0002DDAF4534E914), UINT64_C(0x0005C3F8E3CEDF3D),
+          UINT64_C(0x0007E428DFE30ABB), UINT64_C(0x0000CFA8EF984856),
+          UINT64_C(0x0007F54DE1239314)}},
+        {{UINT64_C(0x0003E194BB770B21), UINT64_C(0x0005FE5004F0D44C),
+          UINT64_C(0x00000E420E05B0CD), UINT64_C(0x0007F4C1EB04ADEA),
+          UINT64_C(0x00042CF75F5849CB)},
+         {UINT64_C(0x000DFBFF2F58474E), UINT64_C(0x000023E38CACC0A2),
+          UINT64_C(0x0007940AAA1D2AEF), UINT64_C(0x00066B3671EF7D12),
+          UINT64_C(0x0002262304E8FD69)},
+         {UINT64_C(0x0008190A96FA31A5), UINT64_C(0x000342B2840B29B6),
+          UINT64_C(0x000692023CF41B60), UINT64_C(0x000438CCB9AD9326),
+          UINT64_C(0x0006A74AEEF91383)}},
+        {{UINT64_C(0x00018FBC15EE9825), UINT64_C(0x000471ADE4E86042),
+          UINT64_C(0x000460985BA9C276), UINT64_C(0x0000273A2CD2F02D),
+          UINT64_C(0x0003D497885E0289)},
+         {UINT64_C(0x000FB3F88C29D5D7), UINT64_C(0x00006A92797F73B7),
+          UINT64_C(0x00040AF0BB921EC0), UINT64_C(0x00056F0E3B22C834),
+          UINT64_C(0x0002624649A67166)},
+         {UINT64_C(0x00027A77B2D5B395), UINT64_C(0x000485B55DD21EC2),
+          UINT64_C(0x00018F0DD390533C), UINT64_C(0x0002C22DC574DCED),
+          UINT64_C(0x0002023C88609399)}},
+        {{UINT64_C(0x0000652B6A1715E4), UINT64_C(0x00010936CCCDBCBB),
+          UINT64_C(0x00075D99584830CC), UINT64_C(0x00013967DE55AE9B),
+          UINT64_C(0x000497B11ABB2BA5)},
+         {UINT64_C(0x00029098D0D4B7BF), UINT64_C(0x000148C12832BF02),
+          UINT64_C(0x0001ACF592227FC4), UINT64_C(0x000361B3459461F5),
+          UINT64_C(0x00017789D92B4734)},
+         {UINT64_C(0x00051C79B949CE9C), UINT64_C(0x0003A90D40F0533B),
+          UINT64_C(0x0000FF1DE7855E3C), UINT64_C(0x00063C0B316F0292),
+          UINT64_C(0x00079EE9916B16AB)}},
+        {{UINT64_C(0x000BAF756382E001), UINT64_C(0x00074E66D14AA815),
+          UINT64_C(0x0005B5DA0DFB4345), UINT64_C(0x0006A98DDBA8EDB0),
+          UINT64_C(0x00036757B46A7CB2)},
+         {UINT64_C(0x000D2030D203D167), UINT64_C(0x0003C138F45B97D2),
+          UINT64_C(0x0000D68249398DBC), UINT64_C(0x00024992D9AC907A),
+          UINT64_C(0x00054B2D81985107)},
+         {UINT64_C(0x000C135EB42B443B), UINT64_C(0x000459E57D3F091F),
+          UINT64_C(0x0007365731E3CB09), UINT64_C(0x00037913422A2661),
+          UINT64_C(0x00022EB791C1E99D)}},
+        {{UINT64_C(0x000DBBF41597ABD7), UINT64_C(0x00047A1841FA5CB7),
+          UINT64_C(0x0005DFFB8D0489BA), UINT64_C(0x000207F59D5AFDD6),
+          UINT64_C(0x0005862958391C33)},
+         {UINT64_C(0x00023D6607BF974F), UINT64_C(0x000447A73195D140),
+          UINT64_C(0x0001CEA4FE1AACB4), UINT64_C(0x00009432CE509804),
+          UINT64_C(0x0002E2C660E2C2A9)},
+         {UINT64_C(0x00076405764963F7), UINT64_C(0x0007B075E1B18E3F),
+          UINT64_C(0x0003C86F3DB152BE), UINT64_C(0x000717D762BDBB19),
+          UINT64_C(0x00009430702D8371)}},
+        {{UINT64_C(0x000AF7F915E85486), UINT64_C(0x0000B0BBC2BBB069),
+          UINT64_C(0x0004A8AC30D65B82), UINT64_C(0x0001A98BB8FFCCD1),
+          UINT64_C(0x0000A60C0955A82C)},
+         {UINT64_C(0x00028B7AA8D6E8B3), UINT64_C(0x000599AA3AFD1F06),
+          UINT64_C(0x000495C8A53271EA), UINT64_C(0x00010D4AB4581526),
+          UINT64_C(0x00005A91911011B4)},
+         {UINT64_C(0x00091E63537A8EAF), UINT64_C(0x0004DDC52ABAE41E),
+          UINT64_C(0x0003DD0926FDA797), UINT64_C(0x00053806DE4C5BB3),
+          UINT64_C(0x0005E6F1B98E4E5F)}},
+        {{UINT64_C(0x000ED0D0E611D440), UINT64_C(0x00028F43B4F900C1),
+          UINT64_C(0x0004C3467D15A321), UINT64_C(0x0003FA40B92F63A1),
+          UINT64_C(0x0004EB1D7C0F97C7)},
+         {UINT64_C(0x000F31CB2B424218), UINT64_C(0x00028FC2CBD4B770),
+          UINT64_C(0x000049E2E21B9426), UINT64_C(0x0004FBA6C0CA6B59),
+          UINT64_C(0x0000910A8BCBADA6)},
+         {UINT64_C(0x000062AA84E5A1E8), UINT64_C(0x00055785384B963C),
+          UINT64_C(0x000718EE20099ACE), UINT64_C(0x0001AAE6F92CB06B),
+          UINT64_C(0x0005C36213B6B09F)}},
+        {{UINT64_C(0x00042CD518E7BB1F), UINT64_C(0x000621C5EDE20FF0),
+          UINT64_C(0x000784AA45E52004), UINT64_C(0x0001EF5EE32943D1),
+          UINT64_C(0x00020EB45F6DCE70)},
+         {UINT64_C(0x0001A99725161F74), UINT64_C(0x0000C92D8DE52D6B),
+          UINT64_C(0x0004943C545783B6), UINT64_C(0x0000F2A34F6C04CA),
+          UINT64_C(0x0004BA95172EB757)},
+         {UINT64_C(0x00058B38359EEF2E), UINT64_C(0x00072A003FEEF0E3),
+          UINT64_C(0x0005A1A497C5B5E4), UINT64_C(0x0007346A30D5043D),
+          UINT64_C(0x0004DCC170CE73B1)}},
+        {{UINT64_C(0x0007FCA11D67A5F5), UINT64_C(0x00051F99020E8DA7),
+          UINT64_C(0x00032448AD151580), UINT64_C(0x0002D682339FD143),
+          UINT64_C(0x0005C59954328210)},
+         {UINT64_C(0x000065B65920EA67), UINT64_C(0x00064F016ACC8DB2),
+          UINT64_C(0x0002B54FD32DCADE), UINT64_C(0x0007514AC407F433),
+          UINT64_C(0x0006FB8E73CDEC87)},
+         {UINT64_C(0x0008D3F0CEB6FEF4), UINT64_C(0x000008CD1DAF58F2),
+          UINT64_C(0x0005E29BD86720C8), UINT64_C(0x0001F89E2EA7D372),
+          UINT64_C(0x0000F12D2FEBC32E)}},
+        {{UINT64_C(0x00074C08FE9F6EBB), UINT64_C(0x00019BC5A03773E2),
+          UINT64_C(0x0002DC6D42FDA236), UINT64_C(0x00026B76B5DD35AA),
+          UINT64_C(0x0004AC140E7698BA)},
+         {UINT64_C(0x00007B671BE5225C), UINT64_C(0x00075E4E1423B035),
+          UINT64_C(0x0005C5078EE3FB12), UINT64_C(0x00018FE0631F18BA),
+          UINT64_C(0x00049C97C216ADA7)},
+         {UINT64_C(0x000288CA79DE3FDD), UINT64_C(0x0005F95B9694502C),
+          UINT64_C(0x0007A90B27755E7B), UINT64_C(0x0000D6B962A5D7B4),
+          UINT64_C(0x0002B73E8EABF5E7)}},
+        {{UINT64_C(0x000CF4B90C4F175B), UINT64_C(0x00038B2E4ADFE275),
+          UINT64_C(0x00051C55B83D6C95), UINT64_C(0x00055A2D1264C7D4),
+          UINT64_C(0x00062E83FE154821)},
+         {UINT64_C(0x0008971A5D058482), UINT64_C(0x0000037DDD623E19),
+          UINT64_C(0x00032867F2B615A5), UINT64_C(0x000623016E6AEBA8),
+          UINT64_C(0x00012A36AB822905)},
+         {UINT64_C(0x000120EE148C51AE), UINT64_C(0x00040334FADAA4FB),
+          UINT64_C(0x000334965ACA2453), UINT64_C(0x0006D3E8020844BE),
+          UINT64_C(0x00067F6DE44BCF25)}},
+        {{UINT64_C(0x000105D43C9E9178), UINT64_C(0x0004721A89809540),
+          UINT64_C(0x0006FC38C213B1E4), UINT64_C(0x0002647D42F65B1A),
+          UINT64_C(0x0000376348D66B34)},
+         {UINT64_C(0x000C9949B00A3DA8), UINT64_C(0x0000A0919FC02F1D),
+          UINT64_C(0x00028254055C25E6), UINT64_C(0x0001D9499A0AE6F5),
+          UINT64_C(0x0001AACE22F92850)},
+         {UINT64_C(0x0000AD0E76427572), UINT64_C(0x0004C84545B77E18),
+          UINT64_C(0x000288F5B54FDDB7), UINT64_C(0x00038ED121222ABA),
+          UINT64_C(0x0003A0976AA7E43F)}},
+    },
+    {
+        {{UINT64_C(0x00081FCF9F18835D), UINT64_C(0x000431F4C3B0D6B0),
+          UINT64_C(0x0004948FEC6A3648), UINT64_C(0x0004A9B64ED01851),
+          UINT64_C(0x0005A8976BDBA97F)},
+         {UINT64_C(0x000B16BF1437E1C3), UINT64_C(0x00037D028CF83551),
+          UINT64_C(0x0001D4890BE8B6E0), UINT64_C(0x00014CEE0109B29D),
+          UINT64_C(0x0001D11B49FC55FA)},
+         {UINT64_C(0x000FF921373DC1C7), UINT64_C(0x00038DE820056599),
+          UINT64_C(0x0000120CE481802B), UINT64_C(0x0006FFC1F2C088F4),
+          UINT64_C(0x0001EE2D0C6B1DF4)}},
+        {{UINT64_C(0x00000FF81329CB03), UINT64_C(0x00068780226033B3),
+          UINT64_C(0x0006A2545BA20041), UINT64_C(0x0005B2BDDF462150),
+          UINT64_C(0x0003958DB9028FB7)},
+         {UINT64_C(0x000C6BC63284596C), UINT64_C(0x000348523D1DBF57),
+          UINT64_C(0x00046E3F936916F1), UINT64_C(0x0005F78F7E010886),
+          UINT64_C(0x0004BAEFBF32EDCF)},
+         {UINT64_C(0x0006B10E2C0DA1C1), UINT64_C(0x000039C183458580),
+          UINT64_C(0x00012DB6C7B007C5), UINT64_C(0x0003F3B7176CF39B),
+          UINT64_C(0x0003C1F7265871AC)}},
+        {{UINT64_C(0x00085B51F8BCFE19), UINT64_C(0x00014E262925BD43),
+          UINT64_C(0x00012F59369D7DEC), UINT64_C(0x0005891E437C785D),
+          UINT64_C(0x000079EFC6B4ADC9)},
+         {UINT64_C(0x00057113F86AEFDE), UINT64_C(0x00031D2A3CBB809F),
+          UINT64_C(0x00033DCF8AE19C6C), UINT64_C(0x00002213DF3BA392),
+          UINT64_C(0x0002650EDFE84235)},
+         {UINT64_C(0x0004FEF6E8E8730E), UINT64_C(0x0002E2C593B029F4),
+          UINT64_C(0x0002D3E99D33A67F), UINT64_C(0x00014E290C55B9BF),
+          UINT64_C(0x0004403429D2BE3D)}},
+        {{UINT64_C(0x000409570F86A1D1), UINT64_C(0x00022B63BCCD0F01),
+          UINT64_C(0x0004F7D7B94F1868), UINT64_C(0x0001450E62B7DF7C),
+          UINT64_C(0x000694DAA72BBCAC)},
+         {UINT64_C(0x000F24FC804E499A), UINT64_C(0x0001C5150B7A2ED2),
+          UINT64_C(0x0004AA24EEC36D37), UINT64_C(0x0002132213761A03),
+          UINT64_C(0x00075A13822D103C)},
+         {UINT64_C(0x000067187C39EB19), UINT64_C(0x0007765373B31B66),
+          UINT64_C(0x00029CEAE18E4D79), UINT64_C(0x0002C737CC0BD795),
+          UINT64_C(0x0003193EDEEA0158)}},
+        {{UINT64_C(0x0005B52C3101E326), UINT64_C(0x0007176502D653B5),
+          UINT64_C(0x0001FD26BF9CB194), UINT64_C(0x0004FB67EADB3779),
+          UINT64_C(0x0004D0C770A8ACCF)},
+         {UINT64_C(0x00011F79B7B344FC), UINT64_C(0x00006663499E87A4),
+          UINT64_C(0x000450DAEF594E13), UINT64_C(0x00078C2F195A18D1),
+          UINT64_C(0x0007978E36566E63)},
+         {UINT64_C(0x0002EB14A8C94333), UINT64_C(0x0001C2F764E483AE),
+          UINT64_C(0x00031C462060C077), UINT64_C(0x0003EF30123095CE),
+          UINT64_C(0x00021B6A8AF629FF)}},
+        {{UINT64_C(0x0006C49C35F232E3), UINT64_C(0x0000B80EEFEC6616),
+          UINT64_C(0x000680164DFC3701), UINT64_C(0x00072FF54666B634),
+          UINT64_C(0x00068AB4AFC182CD)},
+         {UINT64_C(0x000176EF0C655243), UINT64_C(0x00019A1EE66FD2EB),
+          UINT64_C(0x0006AF04A498FFA9), UINT64_C(0x0002514F98E20D4A),
+          UINT64_C(0x0001A0821E95F930)},
+         {UINT64_C(0x000D58CC3800FE7F), UINT64_C(0x00050C9E092A5673),
+          UINT64_C(0x00051CB3347178DD), UINT64_C(0x0002C9C1FB2FE677),
+          UINT64_C(0x00015EE68A8526B0)}},
+        {{UINT64_C(0x000CD72A8856201E), UINT64_C(0x00038E8C397ED335),
+          UINT64_C(0x0000B8E2262FC710), UINT64_C(0x000027DC02E17AF3),
+          UINT64_C(0x0006A5F450F30E8E)},
+         {UINT64_C(0x000B680DE0C07AE0), UINT64_C(0x00054D907D909686),
+          UINT64_C(0x000757C2922B0737), UINT64_C(0x000660842FC9A0BA),
+          UINT64_C(0x0003FC7B58E7239A)},
+         {UINT64_C(0x0004651B7E8AE200), UINT64_C(0x000484D3CB6C7A8E),
+          UINT64_C(0x0002F474BA01A0C0), UINT64_C(0x00044AA7003C772D),
+          UINT64_C(0x0000371F52FFC53B)}},
+        {{UINT64_C(0x0005C3B547E0B571), UINT64_C(0x000209CCABD0AB4B),
+          UINT64_C(0x0002D25C9DBF3DB1), UINT64_C(0x000032A6A6DE8522),
+          UINT64_C(0x00017A0AD8ECF369)},
+         {UINT64_C(0x0009010B6E71332D), UINT64_C(0x0007B69ECC73F71C),
+          UINT64_C(0x0000FFC2CCAF6490), UINT64_C(0x00064FDB227E8E46),
+          UINT64_C(0x00055085B8768622)},
+         {UINT64_C(0x00039AD933E2C137), UINT64_C(0x000171F8E3C0681B),
+          UINT64_C(0x0001BCC516668190), UINT64_C(0x00063314F511F47A),
+          UINT64_C(0x0002FE194634EA7D)}},
+        {{UINT64_C(0x000FE52986682B6C), UINT64_C(0x0007C7793C6CFA0B),
+          UINT64_C(0x0002F120DB9FC778), UINT64_C(0x00056B1B5D1B696B),
+          UINT64_C(0x0006F7B105C7285D)},
+         {UINT64_C(0x000F08F3C79E5FA2), UINT64_C(0x0006714A9E5021DE),
+          UINT64_C(0x000556DFCA302233), UINT64_C(0x00036A6272A322E0),
+          UINT64_C(0x0007958876DF034E)},
+         {UINT64_C(0x0001B28B59F70354), UINT64_C(0x0007AB27CE51E80D),
+          UINT64_C(0x0000567BCD43D179), UINT64_C(0x00041EF880C69F63),
+          UINT64_C(0x00057CCC9DA97DCC)}},
+        {{UINT64_C(0x00006BDC7393E9B9), UINT64_C(0x00056D46935E2D25),
+          UINT64_C(0x00040C99AE846E20), UINT64_C(0x000277C2A48B7D6B),
+          UINT64_C(0x0006F9657DBA5EC0)},
+         {UINT64_C(0x000E84FD78E1468C), UINT64_C(0x0001F647949AC006),
+          UINT64_C(0x000373B20611C903), UINT64_C(0x00015E6FAFF6FA2A),
+          UINT64_C(0x00053520AB3070E2)},
+         {UINT64_C(0x000CC15CC69411F0), UINT64_C(0x000552FB8719E7D5),
+          UINT64_C(0x0007C3B5010848F9), UINT64_C(0x0000E8AF5525076D),
+          UINT64_C(0x00058459D1B894E4)}},
+        {{UINT64_C(0x000B9009E3531F14), UINT64_C(0x0000237005679DB2),
+          UINT64_C(0x0007BF223FD5732A), UINT64_C(0x0006429263F091F4),
+          UINT64_C(0x0007493705D2ADC2)},
+         {UINT64_C(0x000793C60C5EACBA), UINT64_C(0x000332F859C4D8EE),
+          UINT64_C(0x0000D090DF892E4A), UINT64_C(0x00041A3040EC7085),
+          UINT64_C(0x0001F585E3FC2C2A)},
+         {UINT64_C(0x00084D3FD3FF468A), UINT64_C(0x00038C0475145DFA),
+          UINT64_C(0x00056070E08A4838), UINT64_C(0x0002AC8E15465366),
+          UINT64_C(0x0000F1485199EC2C)}},
+        {{UINT64_C(0x000012693C9129E3), UINT64_C(0x00011009F59E7410),
+          UINT64_C(0x0005E068432FB821), UINT64_C(0x000509F6A285BC64),
+          UINT64_C(0x00064B88E6E8B8A6)},
+         {UINT64_C(0x000739F7074FD4A7), UINT64_C(0x00032712493D3F9E),
+          UINT64_C(0x0002E3550E33660D), UINT64_C(0x0006EE093485A6A5),
+          UINT64_C(0x0004CAE5F8CDBF10)},
+         {UINT64_C(0x000BB27495CF7ED3), UINT64_C(0x00001CEB73051EC2),
+          UINT64_C(0x000686DC320D7C1D), UINT64_C(0x0007C5AD5EC9F58E),
+          UINT64_C(0x0001B98ED417D210)}},
+        {{UINT64_C(0x000BCF4C24A4C93E), UINT64_C(0x00002415C387FA3B),
+          UINT64_C(0x0004B3C58228DDFC), UINT64_C(0x0002037F66598FCF),
+          UINT64_C(0x000793FF104F8F35)},
+         {UINT64_C(0x000F1F6A9319DCA8), UINT64_C(0x0007F0E26C6BFDCF),
+          UINT64_C(0x00024F06F6521950), UINT64_C(0x0001BF65931AAD98),
+          UINT64_C(0x0004DA8B59BE0CB7)},
+         {UINT64_C(0x000C49B7018AF82E), UINT64_C(0x0000264DF5E55202),
+          UINT64_C(0x00004C1B40891F09), UINT64_C(0x00037D39139B0395),
+          UINT64_C(0x000545CEBFF22B6C)}},
+        {{UINT64_C(0x0000535E19606923), UINT64_C(0x000389F3CEB25CB9),
+          UINT64_C(0x000771A87A5F04FF), UINT64_C(0x000712E80B91B905),
+          UINT64_C(0x00001F1EA4402629)},
+         {UINT64_C(0x0003A2CFFE51751A), UINT64_C(0x0001780B59BF2F57),
+          UINT64_C(0x00033B2134560E7F), UINT64_C(0x0000C2FD87484CD4),
+          UINT64_C(0x0000C1E827BF8C54)},
+         {UINT64_C(0x000BB159A554E7F7), UINT64_C(0x000679D0F2669B49),
+          UINT64_C(0x0007C8AF96EB162D), UINT64_C(0x000739F8391987C4),
+          UINT64_C(0x0004FD6BA815924D)}},
+        {{UINT64_C(0x000CD58A76375AB1), UINT64_C(0x0000E0B8DB7493B2),
+          UINT64_C(0x0001F26DC2178BD2), UINT64_C(0x000267C3B843A318),
+          UINT64_C(0x0003B57558845D7B)},
+         {UINT64_C(0x00062248E93DA9D4), UINT64_C(0x0001B750D5841F57),
+          UINT64_C(0x0005825717C4CDF9), UINT64_C(0x000395BD7231BF89),
+          UINT64_C(0x0005BB6B5E2E6AF9)},
+         {UINT64_C(0x0009C6B9394024E3), UINT64_C(0x00075C5446BE7237),
+          UINT64_C(0x00065E6C801E7BB5), UINT64_C(0x00002DB2F90A55CC),
+          UINT64_C(0x00045DBB4D1CCBDE)}},
+        {{UINT64_C(0x00053CBFDBE0980A), UINT64_C(0x0001407AA377A7AD),
+          UINT64_C(0x0001290C47515626), UINT64_C(0x0006B6C6AB3118E7),
+          UINT64_C(0x0002C22D483E81D6)},
+         {UINT64_C(0x00012ACDC7AE7440), UINT64_C(0x00069C66640BC7A6),
+          UINT64_C(0x00002A4F768809CC), UINT64_C(0x00014168BEC8D796),
+          UINT64_C(0x000052716E75E07B)},
+         {UINT64_C(0x0001BB2F947F80B6), UINT64_C(0x000073A86D41B9DC),
+          UINT64_C(0x0000F191E9DE78B6), UINT64_C(0x00065DF33E390DB9),
+          UINT64_C(0x00003308F79176BD)}},
+    },
+    {
+        {{UINT64_C(0x000BA39C423A0F8A), UINT64_C(0x0006FF2C4C49644C),
+          UINT64_C(0x000527B0CF9945D1), UINT64_C(0x000462BF78F17E13),
+          UINT64_C(0x000072F5DF073B45)},
+         {UINT64_C(0x000A52B0C9431B86), UINT64_C(0x00007413199BDB5A),
+          UINT64_C(0x0006FF18C34250CB), UINT64_C(0x0005F22C96AC669A),
+          UINT64_C(0x00009930CFA11CAD)},
+         {UINT64_C(0x00049D54A46B4F00), UINT64_C(0x0001AA620DEF496D),
+          UINT64_C(0x0001FF21C12D3280), UINT64_C(0x0006DA8184B69B09),
+          UINT64_C(0x000387F6AA984BF6)}},
+        {{UINT64_C(0x0001654E2D2F5512), UINT64_C(0x00078F8B53D7341A),
+          UINT64_C(0x0000470E5BC40FE6), UINT64_C(0x0006C2A23BF4231D),
+          UINT64_C(0x00008AD4AC154BD4)},
+         {UINT64_C(0x00025588B0E427F0), UINT64_C(0x00004B7426292145),
+          UINT64_C(0x0004EFE16DBDD657), UINT64_C(0x000737056241360D),
+          UINT64_C(0x000503BBEF8BB0A2)},
+         {UINT64_C(0x000E71495D3F3EE8), UINT64_C(0x0003B55E84166513),
+          UINT64_C(0x0005A32066E89C7A), UINT64_C(0x00060FD619143FDC),
+          UINT64_C(0x0007AF54E13C9A0B)}},
+        {{UINT64_C(0x000F35F2359ED4D4), UINT64_C(0x0006DAD5A1EDD9F7),
+          UINT64_C(0x00033E72BB06FA4C), UINT64_C(0x0004CB0BF2699447),
+          UINT64_C(0x00078ADC100A9438)},
+         {UINT64_C(0x00058677010F1D44), UINT64_C(0x0000EE3DA34D7805),
+          UINT64_C(0x0003C19261DBCE0E), UINT64_C(0x0000BE1D2B1915F1),
+          UINT64_C(0x0004C27417301A56)},
+         {UINT64_C(0x00010519E74F0FD3), UINT64_C(0x000667928B6E2AED),
+          UINT64_C(0x000112B7D96F8351), UINT64_C(0x00025AC5C3C73843),
+          UINT64_C(0x00064F071A913A63)}},
+        {{UINT64_C(0x000134221F75E904), UINT64_C(0x0001E877FC436184),
+          UINT64_C(0x0001043119533F1B), UINT64_C(0x00036E12894B6885),
+          UINT64_C(0x0001A97DC3A85DD9)},
+         {UINT64_C(0x0005B0E5800AD26D), UINT64_C(0x0003C8403B9B7909),
+          UINT64_C(0x000578BF28F187B8), UINT64_C(0x0006F76A622B025F),
+          UINT64_C(0x00001A581506806A)},
+         {UINT64_C(0x000B1B3A779043A2), UINT64_C(0x0002BD2CCEFC7D40),
+          UINT64_C(0x0006880561392822), UINT64_C(0x000470820DC7AD05),
+          UINT64_C(0x0000A8A6DFE39EFC)}},
+        {{UINT64_C(0x0003B4AE7341A857), UINT64_C(0x0006F61AE4525D94),
+          UINT64_C(0x00047463C3F47708), UINT64_C(0x00013CE30C0E6CD4),
+          UINT64_C(0x0001A4D6B43BC1E8)},
+         {UINT64_C(0x000448110CF677D7), UINT64_C(0x0002B26F500047C8),
+          UINT64_C(0x0000A9EDEE30B5CA), UINT64_C(0x00074CEAB89A5F26),
+          UINT64_C(0x00069DC9E784890E)},
+         {UINT64_C(0x0002384FEB025EE8), UINT64_C(0x000760169DF0E4ED),
+          UINT64_C(0x000679A94C441675), UINT64_C(0x0006E39A8B9E9323),
+          UINT64_C(0x0004F60517E33211)}},
+        {{UINT64_C(0x000D1F112D03827C), UINT64_C(0x0003E266C25B8CB9),
+          UINT64_C(0x0004DDAE5E9A861A), UINT64_C(0x0003FDDD5A19E3FC),
+          UINT64_C(0x000525AC4177127A)},
+         {UINT64_C(0x0005E3FBAF1DE590), UINT64_C(0x00006D0AC9D49EBF),
+          UINT64_C(0x00071A842BB0750F), UINT64_C(0x00030A965193BEB1),
+          UINT64_C(0x00000074F0F13CF1)},
+         {UINT64_C(0x000569358B8229BF), UINT64_C(0x0004D8605014C12D),
+          UINT64_C(0x00067CF8F3ABB9E2), UINT64_C(0x0001913D15FE7E56),
+          UINT64_C(0x0004E005335EB124)}},
+        {{UINT64_C(0x000DB4B52128B9C8), UINT64_C(0x000286D98EC1991F),
+          UINT64_C(0x00057D6985B266D5), UINT64_C(0x0000D63A8186A6CA),
+          UINT64_C(0x0003E458C6D43002)},
+         {UINT64_C(0x000FAC1001DCF643), UINT64_C(0x0001A63A60E69551),
+          UINT64_C(0x000770074385A527), UINT64_C(0x000716E487ACFCBE),
+          UINT64_C(0x0003AFC421F39471)},
+         {UINT64_C(0x0001FF85BA0DD581), UINT64_C(0x000185663E421B6B),
+          UINT64_C(0x0003D0CC19588A5B), UINT64_C(0x00050A4ED90A0BD8),
+          UINT64_C(0x0001ADEA0DFB4B55)}},
+        {{UINT64_C(0x000F8CD682890618), UINT64_C(0x0001B4C0FC4BF1B7),
+          UINT64_C(0x0004593054904595), UINT64_C(0x00044163E1D05297),
+          UINT64_C(0x0004FF913B7848EE)},
+         {UINT64_C(0x00044061A1C77BF2), UINT64_C(0x000118C6EAF78CBE),
+          UINT64_C(0x000121317990C4B0), UINT64_C(0x00014F94111D4DBF),
+          UINT64_C(0x00050FC488F73A1C)},
+         {UINT64_C(0x0003F8A423FF3B98), UINT64_C(0x00057AB9DDB49662),
+          UINT64_C(0x000307128F5CD0A4), UINT64_C(0x0005C206361126E4),
+          UINT64_C(0x00058F1A9B6F58C2)}},
+        {{UINT64_C(0x00026D3D15CAFC7E), UINT64_C(0x00011891BC41E2F2),
+          UINT64_C(0x0006F04870D432A4), UINT64_C(0x000745C21E77AAA6),
+          UINT64_C(0x0003DAC061530272)},
+         {UINT64_C(0x0001DAF75081BEA5), UINT64_C(0x00056D5195DD18E2),
+          UINT64_C(0x0001DCAC8C45410E), UINT64_C(0x0004D2DA16F980D8),
+          UINT64_C(0x00063744829E7170)},
+         {UINT64_C(0x000DF1C42FA10272), UINT64_C(0x0000741CA2FAA037),
+          UINT64_C(0x0000467C87311FE7), UINT64_C(0x000523429446FA40),
+          UINT64_C(0x00068BD1A87367D1)}},
+        {{UINT64_C(0x000C458B0171251B), UINT64_C(0x0001FE9DE818F3CF),
+          UINT64_C(0x00054A1370707A2C), UINT64_C(0x000062F84AA462F0),
+          UINT64_C(0x0007CF5A9BF230F7)},
+         {UINT64_C(0x00054404A1098FC2), UINT64_C(0x0002411906266825),
+          UINT64_C(0x0000A193956A70E8), UINT64_C(0x0000FE137D04BC1F),
+          UINT64_C(0x0004E42D21EFFD81)},
+         {UINT64_C(0x000F2EAC10355E39), UINT64_C(0x00054F7E065688EB),
+          UINT64_C(0x0001A95E0CA9F2C6), UINT64_C(0x0007E704C61469A2),
+          UINT64_C(0x0007B68ADBD82DC6)}},
+        {{UINT64_C(0x000899180C1E2363), UINT64_C(0x0007958932146E24),
+          UINT64_C(0x00043C3BDBE7E084), UINT64_C(0x00059983B137251C),
+          UINT64_C(0x000181505C38246A)},
+         {UINT64_C(0x0000FD89855EFABB), UINT64_C(0x0003B63D1B15E2DE),
+          UINT64_C(0x000255391D67495A), UINT64_C(0x0004DD2784B95163),
+          UINT64_C(0x000512AAAA077953)},
+         {UINT64_C(0x000F74E51E9D1E14), UINT64_C(0x0007A0923F8922E5),
+          UINT64_C(0x000481DF01D3BA5E), UINT64_C(0x00078147FE69A25E),
+          UINT64_C(0x0002677F7C367D95)}},
+        {{UINT64_C(0x000C31AE3ACBF754), UINT64_C(0x00015B533DE0199D),
+          UINT64_C(0x00037F5398951F25), UINT64_C(0x0007F6D8289614BF),
+          UINT64_C(0x0007A746B03A9AD8)},
+         {UINT64_C(0x000A5E8B067361B9), UINT64_C(0x000753D2A11E2709),
+          UINT64_C(0x00068EB1296DD194), UINT64_C(0x0007F60FCC2F2F13),
+          UINT64_C(0x000241ECD0A2E455)},
+         {UINT64_C(0x000AB9A10A22A500), UINT64_C(0x0001B6D59F5E169E),
+          UINT64_C(0x00031BBC448574D5), UINT64_C(0x0004717C01E2B0BB),
+          UINT64_C(0x0003D21E8ACA1878)}},
+        {{UINT64_C(0x000499194C8B1C66), UINT64_C(0x00023DD23CF4A5FF),
+          UINT64_C(0x000260F22A1F1E67), UINT64_C(0x00046F48D856E7A8),
+          UINT64_C(0x00027B4E0522C56B)},
+         {UINT64_C(0x000197955EC21F63), UINT64_C(0x0004F7579537C60A),
+          UINT64_C(0x0001EED38E27A397), UINT64_C(0x000642709A47DD6D),
+          UINT64_C(0x0000CEC4BAE6CE94)},
+         {UINT64_C(0x0007E224BD3DE334), UINT64_C(0x0002BC2A4E547CE3),
+          UINT64_C(0x0006C9441E441A2F), UINT64_C(0x00066ABBA46DB7C3),
+          UINT64_C(0x0007D6D7B2C94D89)}},
+        {{UINT64_C(0x00094A1B918036C4), UINT64_C(0x0007000DC73238D4),
+          UINT64_C(0x00077504C3F1AB6E), UINT64_C(0x0004E6A5D5C7C6A1),
+          UINT64_C(0x0003821648B33D3A)},
+         {UINT64_C(0x00081E39CDB93F79), UINT64_C(0x0004EBBC689100FB),
+          UINT64_C(0x0001DD37C191E986), UINT64_C(0x000036795A799602),
+          UINT64_C(0x000041C1B41711DB)},
+         {UINT64_C(0x000A4A21AC6CAF3D), UINT64_C(0x000744CF7594E6F1),
+          UINT64_C(0x000030561165E9A9), UINT64_C(0x00074B8AB965B245),
+          UINT64_C(0x000244902E385A94)}},
+        {{UINT64_C(0x000464BD11AFA1E1), UINT64_C(0x0002E00B44F4A68C),
+          UINT64_C(0x0006C58D5152071B), UINT64_C(0x0007CC78F1BEA1EE),
+          UINT64_C(0x0003D52810ACC281)},
+         {UINT64_C(0x000C04B80D28DBA4), UINT64_C(0x0007C5EAA4A27BFF),
+          UINT64_C(0x00066248F5BFC255), UINT64_C(0x0006BDB404771492),
+          UINT64_C(0x00019FA7BB5E292E)},
+         {UINT64_C(0x0006358792FF5820), UINT64_C(0x0003BB145A4D0D14),
+          UINT64_C(0x000647A0D099804C), UINT64_C(0x0001CE6985BBEA5D),
+          UINT64_C(0x00071F7ADDB5DEC0)}},
+        {{UINT64_C(0x000FF792012E3AD1), UINT64_C(0x000318FC42C34144),
+          UINT64_C(0x00018AA9596D5383), UINT64_C(0x0004A1E0677AA264),
+          UINT64_C(0x0007C9D08A010323)},
+         {UINT64_C(0x000B38DA3FFA9D8B), UINT64_C(0x0007B37A58DB49D5),
+          UINT64_C(0x0003CAB96E3D6DD9), UINT64_C(0x0004877EC3C59320),
+          UINT64_C(0x0005F79E6AB22005)},
+         {UINT64_C(0x000D9227D42E392D), UINT64_C(0x000383E4A65149E3),
+          UINT64_C(0x0001FC4C8988D7D7), UINT64_C(0x0000301C333E8D0D),
+          UINT64_C(0x000566D13B877137)}},
+    },
+    {
+        {{UINT64_C(0x0002819CD64EC5D5), UINT64_C(0x000718864EB85DEA),
+          UINT64_C(0x0000B38F635D18B2), UINT64_C(0x0000FA0D19EC1914),
+          UINT64_C(0x0007FC6E0B53A132)},
+         {UINT64_C(0x000681A57637B42A), UINT64_C(0x00009516D77453A8),
+          UINT64_C(0x00041747D2AFF787), UINT64_C(0x000484C8CAA8775B),
+          UINT64_C(0x00069B6EDB5BEB15)},
+         {UINT64_C(0x000F673ED008533F), UINT64_C(0x00005983AE2E9902),
+          UINT64_C(0x000696120C054601), UINT64_C(0x0002DD10C21D3665),
+          UINT64_C(0x0003650B63683F24)}},
+        {{UINT64_C(0x0001C85E071E87C9), UINT64_C(0x00038E791D5639BC),
+          UINT64_C(0x0007EB7B3E0A3BD5), UINT64_C(0x00067F05BA2C2992),
+          UINT64_C(0x0005A217D19B8E87)},
+         {UINT64_C(0x0009CC57757E7DC9), UINT64_C(0x0004C152B026BBF3),
+          UINT64_C(0x0007CE941D2BB495), UINT64_C(0x00022801029CDB1F),
+          UINT64_C(0x00015E56AA9988B8)},
+         {UINT64_C(0x0001F20BB815BF7F), UINT64_C(0x00045BBFD494947D),
+          UINT64_C(0x000752E00CADD615), UINT64_C(0x00030A1ADE235D5B),
+          UINT64_C(0x00004F475EAAC468)}},
+        {{UINT64_C(0x0005DEC978DC22CC), UINT64_C(0x00069E99CC23AF7D),
+          UINT64_C(0x0001A491C445CF0B), UINT64_C(0x0001A2B80570EAF4),
+          UINT64_C(0x000519998F23DA17)},
+         {UINT64_C(0x00033F2D4F6DFC80), UINT64_C(0x0003473C4B91929A),
+          UINT64_C(0x000657675912C778), UINT64_C(0x00027483C8C74BA9),
+          UINT64_C(0x00045AEDD79F572E)},
+         {UINT64_C(0x0005B55CF68CF232), UINT64_C(0x0005978D5F58C198),
+          UINT64_C(0x000463464AA8D74F), UINT64_C(0x00000768A84F1143),
+          UINT64_C(0x0004D85E72D498F7)}},
+        {{UINT64_C(0x00065396EB5E1B7C), UINT64_C(0x0003AD9BC86D4A9D),
+          UINT64_C(0x0007D80AED5F83A2), UINT64_C(0x0007BF7E181211DD),
+          UINT64_C(0x00053259A33A1C38)},
+         {UINT64_C(0x0004ED7967092AA9), UINT64_C(0x00037E220CEFD1A7),
+          UINT64_C(0x0007D56552E4BE39), UINT64_C(0x000467E0E1384212),
+          UINT64_C(0x0007CB81AF42B8E6)},
+         {UINT64_C(0x000F60010D427117), UINT64_C(0x0003FE077DD17DAC),
+          UINT64_C(0x0003D70C978E0E1D), UINT64_C(0x0004EC475F514EFA),
+          UINT64_C(0x000678A033281D8A)}},
+        {{UINT64_C(0x0001DDD15D89D0DA), UINT64_C(0x0005AE12E0DC3F81),
+          UINT64_C(0x00021725313E6CD1), UINT64_C(0x00058E25DD51CD68),
+          UINT64_C(0x00051CC1640E208C)},
+         {UINT64_C(0x000A5BFACD788203), UINT64_C(0x00076782156DA54A),
+          UINT64_C(0x0006546FAACEBFB5), UINT64_C(0x0000751697EBD387),
+          UINT64_C(0x000403792F66F908)},
+         {UINT64_C(0x0001ED1BA791D84F), UINT64_C(0x0007C0C66505B59A),
+          UINT64_C(0x0003039E8770455C), UINT64_C(0x000176EBE864CCC6),
+          UINT64_C(0x0000A9D7490BB5E2)}},
+        {{UINT64_C(0x000ADBB841243625), UINT64_C(0x00070EF045AE92E4),
+          UINT64_C(0x0003ED707AC6DC1C), UINT64_C(0x0002EC569D895E88),
+          UINT64_C(0x0007A1F82B8A9F9B)},
+         {UINT64_C(0x000480ED4CC26515), UINT64_C(0x0007142FB964F1D8),
+          UINT64_C(0x0002D589D76131D9), UINT64_C(0x0002041F5E307B5D),
+          UINT64_C(0x0004DC0C8DC698E2)},
+         {UINT64_C(0x000639BA125B4EB0), UINT64_C(0x0006735AE5885BC9),
+          UINT64_C(0x000402130AA29EFE), UINT64_C(0x0006483ECF5F928A),
+          UINT64_C(0x0005C0C2A7450215)}},
+        {{UINT64_C(0x00011E1BA90F4D05), UINT64_C(0x0003C4ACA739B18D),
+          UINT64_C(0x0006DA6C4D05BB4B), UINT64_C(0x0006C9D11A68C07A),
+          UINT64_C(0x0007E4FF60853DCC)},
+         {UINT64_C(0x000FC3B1EAB98C72), UINT64_C(0x000194A565C0D2C0),
+          UINT64_C(0x0006774E78078878), UINT64_C(0x0002845C8FBE34B8),
+          UINT64_C(0x0003FA8FFB470A30)},
+         {UINT64_C(0x000DF02100A29B8E), UINT64_C(0x0001EDB288FCEFEF),
+          UINT64_C(0x0003A1F05EE527CB), UINT64_C(0x0000800DA11B67CF),
+          UINT64_C(0x0000F28747F25BA7)}},
+        {{UINT64_C(0x000AB1FE778D5AC8), UINT64_C(0x0007AC5F7720F73D),
+          UINT64_C(0x0001F29E35DE087B), UINT64_C(0x0006594AE6F4B147),
+          UINT64_C(0x0003BD0E462820EB)},
+         {UINT64_C(0x00046E4EE5708B31), UINT64_C(0x0005F6D4A65795AD),
+          UINT64_C(0x00065A6A14FD4DBD), UINT64_C(0x0005175D21ECC1C7),
+          UINT64_C(0x0007FE00455D7273)},
+         {UINT64_C(0x0007B6F8CC74B2E7), UINT64_C(0x000741AB0632D05A),
+          UINT64_C(0x00049D46261751F0), UINT64_C(0x0006736BD5AEA112),
+          UINT64_C(0x00069AD164B202C5)}},
+        {{UINT64_C(0x00012BDCF8236C6C), UINT64_C(0x000367FF9D0F9B9A),
+          UINT64_C(0x0003F319B67073D2), UINT64_C(0x000760E8B33BDBA0),
+          UINT64_C(0x00056660C3661195)},
+         {UINT64_C(0x0006A7EA308B1685), UINT64_C(0x0006C261A0B19E51),
+          UINT64_C(0x0004E083123A5FB3), UINT64_C(0x00047A0C38DD3BA2),
+          UINT64_C(0x00053C6D2A152664)},
+         {UINT64_C(0x000FAF64FB917431), UINT64_C(0x000565756E7FAAF4),
+          UINT64_C(0x0003D721A24A3704), UINT64_C(0x00013317369CBD42),
+          UINT64_C(0x00016612511B5AA0)}},
+        {{UINT64_C(0x000E652B12074C2E), UINT64_C(0x00059D0BAF050179),
+          UINT64_C(0x00003B5736856800), UINT64_C(0x000647959933E44E),
+          UINT64_C(0x0003D56153518775)},
+         {UINT64_C(0x0000F380F6F1A960), UINT64_C(0x0001ACBBE16F804F),
+          UINT64_C(0x0002997050169D92), UINT64_C(0x0006923F3FB9A04C),
+          UINT64_C(0x000760D8364CDE1D)},
+         {UINT64_C(0x00087864C2C7818E), UINT64_C(0x00065BCE2C21225E),
+          UINT64_C(0x0000829D71C17447), UINT64_C(0x000624DD657FE09E),
+          UINT64_C(0x000078584F6FEFD9)}},
+        {{UINT64_C(0x0006D584A0FE7A46), UINT64_C(0x00069D33D6A2E6E8),
+          UINT64_C(0x00067E621C9A0CE7), UINT64_C(0x00077A830F59FBFF),
+          UINT64_C(0x00014C1BD946B545)},
+         {UINT64_C(0x0001B2A1355A4052), UINT64_C(0x000675CBE17382B6),
+          UINT64_C(0x000641AF5CC81253), UINT64_C(0x0005EB097D44D21F),
+          UINT64_C(0x00009FC2AAAE02CC)},
+         {UINT64_C(0x000D414D936E58DD), UINT64_C(0x0000B296AC88EB92),
+          UINT64_C(0x00076AB84DD6056C), UINT64_C(0x000685E1AB03C5DC),
+          UINT64_C(0x00028348D45F6358)}},
+        {{UINT64_C(0x00016CC86D940FFC), UINT64_C(0x0006FA98A7F59E71),
+          UINT64_C(0x00029CA45E235967), UINT64_C(0x0001DDB48758B49F),
+          UINT64_C(0x00061464300AF54F)},
+         {UINT64_C(0x00043C3AC9312B0D), UINT64_C(0x000064FC92BC9377),
+          UINT64_C(0x000239F95BD3C366), UINT64_C(0x0000529C3D8CF33A),
+          UINT64_C(0x000181E4547EBD24)},
+         {UINT64_C(0x000E16213D8C28C0), UINT64_C(0x000231D13CE48188),
+          UINT64_C(0x0007F4B9BEA03675), UINT64_C(0x0004042E3AC3D778),
+          UINT64_C(0x0001EAA475E87AA7)}},
+        {{UINT64_C(0x0001DAA732854120), UINT64_C(0x0002D8C6031F046B),
+          UINT64_C(0x00048CA4CD8BA89E), UINT64_C(0x00006937503A6724),
+          UINT64_C(0x00061B37A983648E)},
+         {UINT64_C(0x00013AC756B13B17), UINT64_C(0x0007F99EB1FE63B2),
+          UINT64_C(0x00012EF62AA29F91), UINT64_C(0x000275A63AC0B82C),
+          UINT64_C(0x00041F85AC1748DC)},
+         {UINT64_C(0x0003C3A345E37216), UINT64_C(0x0000BC95899511A0),
+          UINT64_C(0x00067984E11988E2), UINT64_C(0x0003790C6A6BD91C),
+          UINT64_C(0x0004AE8857A370C0)}},
+        {{UINT64_C(0x00059767D1DC7159), UINT64_C(0x00059021E287D705),
+          UINT64_C(0x00059EECEC3BE7D9), UINT64_C(0x0001EAA18D4EADD0),
+          UINT64_C(0x00065A975E23F03E)},
+         {UINT64_C(0x000A95AFCF439414), UINT64_C(0x00015B75C723F702),
+          UINT64_C(0x0000BF98929522FB), UINT64_C(0x0003085D78E648C0),
+          UINT64_C(0x00037D7D62CA4475)},
+         {UINT64_C(0x0004A0DA8919F5F5), UINT64_C(0x000367D06413644F),
+          UINT64_C(0x000354956C041EA1), UINT64_C(0x00010755634E2C5D),
+          UINT64_C(0x000170791147DD80)}},
+        {{UINT64_C(0x000827F7944FE6CC), UINT64_C(0x00001C751F20EF72),
+          UINT64_C(0x00035F7CA3D66415), UINT64_C(0x0005210C82C852BA),
+          UINT64_C(0x00004C02A5485650)},
+         {UINT64_C(0x0003B5BDD64B5C0A), UINT64_C(0x0004689EBDCCFF34),
+          UINT64_C(0x00070E43EECF0D36), UINT64_C(0x0006DE61D82DCC84),
+          UINT64_C(0x00012E98D82A7298)},
+         {UINT64_C(0x0001E9E5518D471A), UINT64_C(0x0007A1BB46DE49D9),
+          UINT64_C(0x00035B2927B223D1), UINT64_C(0x0001CCAE464874F4),
+          UINT64_C(0x00039DDDEF590E1E)}},
+        {{UINT64_C(0x00024A7A1C775995), UINT64_C(0x0007157DD78B8376),
+          UINT64_C(0x000135892F3211E4), UINT64_C(0x00068F7235FB1FF7),
+          UINT64_C(0x0007B084D8E8F5BA)},
+         {UINT64_C(0x00047354D60A9B5C), UINT64_C(0x0005528D484B558C),
+          UINT64_C(0x0005EA409EB39DEF), UINT64_C(0x0001301D88A26EAB),
+          UINT64_C(0x0003E8EEEA1E9E16)},
+         {UINT64_C(0x0007E18F66EB4040), UINT64_C(0x0003D687AAC18DF1),
+          UINT64_C(0x000043407B1B01C5), UINT64_C(0x00076026A3612E1D),
+          UINT64_C(0x00036AC22C1DA7F0)}},
+    },
+    {
+        {{UINT64_C(0x000A1DB3FDA77DAC), UINT64_C(0x0004D9593DB5C4FA),
+          UINT64_C(0x0002D0C711ADB1E7), UINT64_C(0x0004FA1FD3056EC4),
+          UINT64_C(0x0001AEA89A06C580)},
+         {UINT64_C(0x0000B6E56502BC8A), UINT64_C(0x00030FB5DA75A109),
+          UINT64_C(0x00061CCC955CD549), UINT64_C(0x00072ED7E235BE62),
+          UINT64_C(0x0004FFC550D2C672)},
+         {UINT64_C(0x0001401B07FD2FC2), UINT64_C(0x0001363A97814A08),
+          UINT64_C(0x00040A250BB0D833), UINT64_C(0x0003FDC7EADB00FF),
+          UINT64_C(0x0006D0C5F0015D6E)}},
+        {{UINT64_C(0x0006C4A3C3DD75D0), UINT64_C(0x00035FB0DFF6D283),
+          UINT64_C(0x00008EC03452D8B5), UINT64_C(0x0000660AA38D2E81),
+          UINT64_C(0x00070999FB1B3622)},
+         {UINT64_C(0x00076C0468E5E93B), UINT64_C(0x000691D7E3FC4A00),
+          UINT64_C(0x00049CB4185CDAF8), UINT64_C(0x00016C0C829B0E8D),
+          UINT64_C(0x0006AA160D0C7282)},
+         {UINT64_C(0x0005FA2B7F6BD2E2), UINT64_C(0x000158DA48E6F8A3),
+          UINT64_C(0x000604218B1883CE), UINT64_C(0x0000CFFE74536FDE),
+          UINT64_C(0x00005D042AB776AA)}},
+        {{UINT64_C(0x00027DD79FD8B383), UINT64_C(0x0004E3C07F0FC4F0),
+          UINT64_C(0x00071E194BBE44D0), UINT64_C(0x000516439A5B3612),
+          UINT64_C(0x0003F479BE23976A)},
+         {UINT64_C(0x000D07783284BAF3), UINT64_C(0x00044583E7D6E11C),
+          UINT64_C(0x0001D132C130CABE), UINT64_C(0x000625DDBFB712E6),
+          UINT64_C(0x00070A1B85622B32)},
+         {UINT64_C(0x00034C89E9034A6C), UINT64_C(0x00078F18070D16D9),
+          UINT64_C(0x0005C48940FE1968), UINT64_C(0x0007B463D52BFF8C),
+          UINT64_C(0x0004F9CB24AA3CA3)}},
+        {{UINT64_C(0x0000210FBD862AF4), UINT64_C(0x00042D00326CF364),
+          UINT64_C(0x0005909CDA828553), UINT64_C(0x000765038B375968),
+          UINT64_C(0x00061244E59E8942)},
+         {UINT64_C(0x000316B2C8856415), UINT64_C(0x0002A4748F779AB3),
+          UINT64_C(0x000239C5E875089A), UINT64_C(0x00036401DD98269B),
+          UINT64_C(0x00011DDAE2A7E2F2)},
+         {UINT64_C(0x000E9134B0007750), UINT64_C(0x0005EF4908EA5F8B),
+          UINT64_C(0x00079BE217CC5E96), UINT64_C(0x0000599ECA99A489),
+          UINT64_C(0x0004C47BBF939482)}},
+        {{UINT64_C(0x00003A337C362E13), UINT64_C(0x0007780615B15DD1),
+          UINT64_C(0x000773A3946A0160), UINT64_C(0x000700FAAF105D15),
+          UINT64_C(0x0001A74BE2B6494D)},
+         {UINT64_C(0x0005CA35FE3DB4CB), UINT64_C(0x00071DF8C08DEDDD),
+          UINT64_C(0x0005F7E4ACF08CA7), UINT64_C(0x00036F543C236FDD),
+          UINT64_C(0x00069ABF13BDA30B)},
+         {UINT64_C(0x000D0BDB4C5FE93D), UINT64_C(0x0002B22A4FA5285B),
+          UINT64_C(0x0006FA80F65CB79E), UINT64_C(0x000379BFA1F4BF5E),
+          UINT64_C(0x00046594A6F4C0D4)}},
+        {{UINT64_C(0x0007305A30FD1F79), UINT64_C(0x0001C6FFD9905695),
+          UINT64_C(0x0004645BE794D673), UINT64_C(0x000342101D707890),
+          UINT64_C(0x0001BB588F62A0A3)},
+         {UINT64_C(0x000105A272D17F2A), UINT64_C(0x0007B3D6FA991E49),
+          UINT64_C(0x000227280611E9A7), UINT64_C(0x0001A93AAA75915F),
+          UINT64_C(0x00023FA441B3482E)},
+         {UINT64_C(0x00049C1150A4394C), UINT64_C(0x00040C4F9BAC625E),
+          UINT64_C(0x000019D525AD587E), UINT64_C(0x0004FF7128EF9688),
+          UINT64_C(0x0004FD444389AB05)}},
+        {{UINT64_C(0x000238E42AD5EEEC), UINT64_C(0x0005DE60189ED21B),
+          UINT64_C(0x0001C3ED84BF7F92), UINT64_C(0x00051D4CE9A6E138),
+          UINT64_C(0x0004D7509030CE74)},
+         {UINT64_C(0x00014535B829610F), UINT64_C(0x0006763BE3F420BB),
+          UINT64_C(0x000224420EC61552), UINT64_C(0x0001D944B492451E),
+          UINT64_C(0x00043B7C34AD7E8B)},
+         {UINT64_C(0x0008748FB4B47D51), UINT64_C(0x0005ABB8E9B2C218),
+          UINT64_C(0x0001F774AE8AEF2A), UINT64_C(0x0004E251530C1540),
+          UINT64_C(0x0002C17E01A2CD3E)}},
+        {{UINT64_C(0x000A5AEDEE07B0B0), UINT64_C(0x0005F89D3947B76A),
+          UINT64_C(0x0002BB62F90E7DE8), UINT64_C(0x000654A1AF24BC3B),
+          UINT64_C(0x0003546F95E0EE6F)},
+         {UINT64_C(0x00085679601B8BC5), UINT64_C(0x0004BB095D71C7D0),
+          UINT64_C(0x00053ECC1C751399), UINT64_C(0x00041FE3795CBDE2),
+          UINT64_C(0x0006EA98F1D1D81D)},
+         {UINT64_C(0x00064ED26F676ADD), UINT64_C(0x0005A7A5BEE185B3),
+          UINT64_C(0x000130CC8FEC6AE2), UINT64_C(0x000629FDE7C00F10),
+          UINT64_C(0x000585D5A1CBFA57)}},
+        {{UINT64_C(0x000AE0784632D10F), UINT64_C(0x00027BFA28563B52),
+          UINT64_C(0x0004DECE15823B3A), UINT64_C(0x00010DA131FF58A7),
+          UINT64_C(0x00048DEFFB0FE190)},
+         {UINT64_C(0x000C811EC58F82EA), UINT64_C(0x000326DA9E04E555),
+          UINT64_C(0x00071F177799421B), UINT64_C(0x0003E3A474D3E8B8),
+          UINT64_C(0x0003D5D6D4DE3CEF)},
+         {UINT64_C(0x000D9FFAF07322DD), UINT64_C(0x000628E14EB89510),
+          UINT64_C(0x00075D001D2380EC), UINT64_C(0x00050D7E5EF7D399),
+          UINT64_C(0x00079765D0A00A45)}},
+        {{UINT64_C(0x00090F5A32267E76), UINT64_C(0x00019A1B8E57CC65),
+          UINT64_C(0x00048B29601AC029), UINT64_C(0x00069FA23DE54FFB),
+          UINT64_C(0x00002FCBE3187F20)},
+         {UINT64_C(0x000125C2704C278B), UINT64_C(0x00028493D1EF2120),
+          UINT64_C(0x00054F9AD9FF374B), UINT64_C(0x0006985537375711),
+          UINT64_C(0x00007534EB65121D)},
+         {UINT64_C(0x0004BD9A12979647), UINT64_C(0x000788B5BC284E24),
+          UINT64_C(0x0004CBD296C6FF6B), UINT64_C(0x0007FA0CD5EE5D70),
+          UINT64_C(0x0002BC98A33DCE4E)}},
+        {{UINT64_C(0x000753D51E36094F), UINT64_C(0x00011309101DCED4),
+          UINT64_C(0x0000279505A1BAA2), UINT64_C(0x0006AEDE7A85AAE1),
+          UINT64_C(0x000037AE84B6FE0A)},
+         {UINT64_C(0x0007739A4BFF6011), UINT64_C(0x000710D32F9567E8),
+          UINT64_C(0x00040FE60EC00E34), UINT64_C(0x0000E77282D60FC2),
+          UINT64_C(0x00012AF7C9905886)},
+         {UINT64_C(0x00010065259DAB06), UINT64_C(0x00002C1EC736FA56),
+          UINT64_C(0x00041E7AC35292DC), UINT64_C(0x0000DDF0A6E3C65E),
+          UINT64_C(0x00060CA6ABEF89FE)}},
+        {{UINT64_C(0x000C71B130D21942), UINT64_C(0x000650CBCD04857A),
+          UINT64_C(0x00003A21705F79DE), UINT64_C(0x000441B7586ABB4B),
+          UINT64_C(0x00044FFAB824B35E)},
+         {UINT64_C(0x0004FC14956E331F), UINT64_C(0x0002DF101A872454),
+          UINT64_C(0x0001ACAC797EC78F), UINT64_C(0x0006FBE58D90CBB2),
+          UINT64_C(0x0002083D4F2ED3D2)},
+         {UINT64_C(0x0002485E01980997), UINT64_C(0x000679010A4C7EE8),
+          UINT64_C(0x00057361E75E0DF0), UINT64_C(0x0000548EBB7B0F63),
+          UINT64_C(0x0000ADFA873F0ADC)}},
+        {{UINT64_C(0x000CEBAD25601C16), UINT64_C(0x00040CF38C58593E),
+          UINT64_C(0x000548AC165085FC), UINT64_C(0x00000EC8D84A3956),
+          UINT64_C(0x0006990D99B70E27)},
+         {UINT64_C(0x0002D6F54C35029C), UINT64_C(0x000194EECC0B8D55),
+          UINT64_C(0x000599D2C75B688B), UINT64_C(0x000646453AC905E4),
+          UINT64_C(0x0003DAEFFC1F7F77)},
+         {UINT64_C(0x0002FB3C155DFF91), UINT64_C(0x000666676455E39E),
+          UINT64_C(0x000094B59579A3D7), UINT64_C(0x000131163E64B240),
+          UINT64_C(0x0002BE896BAC1C14)}},
+        {{UINT64_C(0x0005372C822B631C), UINT64_C(0x0002C792A5D553F9),
+          UINT64_C(0x00079A45AF14B5DB), UINT64_C(0x0005728AC606211C),
+          UINT64_C(0x00059EF170252365)},
+         {UINT64_C(0x0000B216D3837D4E), UINT64_C(0x00049608E9DA7038),
+          UINT64_C(0x00071C88398BEB38), UINT64_C(0x0001D39322C696DB),
+          UINT64_C(0x0003270FEE25BE63)},
+         {UINT64_C(0x000F312227C8BD36), UINT64_C(0x0006EA625A52C28E),
+          UINT64_C(0x00022DD277705C08), UINT64_C(0x0002D9A720B669E6),
+          UINT64_C(0x00075102EDD2BA08)}},
+        {{UINT64_C(0x000CA132F90FE15B), UINT64_C(0x0007F9D119339816),
+          UINT64_C(0x0006E56945E2B2A2), UINT64_C(0x0004514FE66AAADD),
+          UINT64_C(0x00017AF1BC738FB9)},
+         {UINT64_C(0x0004346FAA16001E), UINT64_C(0x0001C1A89BB2AE60),
+          UINT64_C(0x0001399CEC955395), UINT64_C(0x0003C0BBC0A6E99B),
+          UINT64_C(0x00064D29AE483CCC)},
+         {UINT64_C(0x00040ACC3E0904B8), UINT64_C(0x00036DC23E8EE05E),
+          UINT64_C(0x00066D427ADA3210), UINT64_C(0x00011F6E098F35F7),
+          UINT64_C(0x00039151730A7BBA)}},
+        {{UINT64_C(0x00091ADA9145C93C), UINT64_C(0x00024194BA72DF78),
+          UINT64_C(0x0003678D46D1C849), UINT64_C(0x000389372773D592),
+          UINT64_C(0x00018C36FC253B2C)},
+         {UINT64_C(0x0005F6DDFD39F849), UINT64_C(0x0002633241A26C74),
+          UINT64_C(0x000474A8B991D2BE), UINT64_C(0x0002CE50E2C4FE43),
+          UINT64_C(0x000293E1C206D813)},
+         {UINT64_C(0x000F47D948A0883B), UINT64_C(0x000489F014B14B93),
+          UINT64_C(0x0006D2AC8A2E3258), UINT64_C(0x0000CE310A0B2212),
+          UINT64_C(0x0001253D16B5D0A2)}},
+    },
+    {
+        {{UINT64_C(0x0001FC6BA4B27045), UINT64_C(0x00038F66C4585DD0),
+          UINT64_C(0x00044510A543BBBA), UINT64_C(0x0001FFA25BB30E5E),
+          UINT64_C(0x0002D3C1BD993CDE)},
+         {UINT64_C(0x000A2BB5F0A56D1F), UINT64_C(0x00026C278F22FDAC),
+          UINT64_C(0x0000972239E1602A), UINT64_C(0x0006D636075CCB7A),
+          UINT64_C(0x000255FEE96DB6F1)},
+         {UINT64_C(0x000D53D8C21D2AC3), UINT64_C(0x00073D8BC6569D5D),
+          UINT64_C(0x000611171F31EC1E), UINT64_C(0x0007BF39C3FB085A),
+          UINT64_C(0x00078CDD196C484E)}},
+        {{UINT64_C(0x0007AA3E7172E704), UINT64_C(0x00041E6CDC54B308),
+          UINT64_C(0x0000B05762F3EFE5), UINT64_C(0x000444BD48FEF0C8),
+          UINT64_C(0x0004428AB2D08617)},
+         {UINT64_C(0x000BDD2F9B4370E5), UINT64_C(0x0002F2670834C4F7),
+          UINT64_C(0x0003BB1958A52A76), UINT64_C(0x00047CD537305248),
+          UINT64_C(0x0001EFD0574CCBFF)},
+         {UINT64_C(0x000AEB5EF88DCA62), UINT64_C(0x000117EAA2E61A6B),
+          UINT64_C(0x0004FCBB9750C8D0), UINT64_C(0x000495792CD27339),
+          UINT64_C(0x0001B23C157916F6)}},
+        {{UINT64_C(0x0007891B674E71F0), UINT64_C(0x0007C4F6FCAD4468),
+          UINT64_C(0x000476D6C5509A66), UINT64_C(0x0005F5A8B9CC77CD),
+          UINT64_C(0x0004199343D1FC80)},
+         {UINT64_C(0x0003F18F3D8F0055), UINT64_C(0x000752C7D8BA3224),
+          UINT64_C(0x000436F715E78E8E), UINT64_C(0x0001036795BF501D),
+          UINT64_C(0x000236B8319E54B6)},
+         {UINT64_C(0x0002E41C100EDD83), UINT64_C(0x00058577EB7BBD8B),
+          UINT64_C(0x0001F51303AAC160), UINT64_C(0x0005DC3CA305853E),
+          UINT64_C(0x00072B9415F81A28)}},
+        {{UINT64_C(0x0005265E75BE3284), UINT64_C(0x0007167FAA26A5DF),
+          UINT64_C(0x000123D1A2FDB52D), UINT64_C(0x00061BBE43A46D84),
+          UINT64_C(0x000261B8D88701BD)},
+         {UINT64_C(0x000C87F87048B464), UINT64_C(0x00053BAEC34F322B),
+          UINT64_C(0x0004DC58AFE19A7D), UINT64_C(0x000090CE2820F2C2),
+          UINT64_C(0x0006C48AC43ECD33)},
+         {UINT64_C(0x000B402CCF1F1A30), UINT64_C(0x000429DB8F417641),
+          UINT64_C(0x000249FD2DC1A2A4), UINT64_C(0x00049F1F51516171),
+          UINT64_C(0x00065C94E325A506)}},
+        {{UINT64_C(0x0005D0EAFD053602), UINT64_C(0x0000B2EB6445EFF1),
+          UINT64_C(0x0003EBD9F65805D5), UINT64_C(0x0003CA4B8EBF6A36),
+          UINT64_C(0x00078BFD685BE998)},
+         {UINT64_C(0x000F64B891DDF860), UINT64_C(0x000529576B60556C),
+          UINT64_C(0x0001B37FD3E24669), UINT64_C(0x0000033818EEF5C8),
+          UINT64_C(0x0002B11EBF7E5937)},
+         {UINT64_C(0x0003152B742C702B), UINT64_C(0x0006632B1ECD6036),
+          UINT64_C(0x0007923AFB88728F), UINT64_C(0x0006244DA1C3448B),
+          UINT64_C(0x0000AD2FB0196EC3)}},
+        {{UINT64_C(0x000AD563EB3B07A3), UINT64_C(0x0001213A17B47AC3),
+          UINT64_C(0x00053EC21980E6FC), UINT64_C(0x0002C4ACC165507F),
+          UINT64_C(0x0007A622F28DA7BE)},
+         {UINT64_C(0x000C8F45E5659E8D), UINT64_C(0x0002A78FCB23CE95),
+          UINT64_C(0x00024430FD4597D0), UINT64_C(0x000347620F5EDF93),
+          UINT64_C(0x0003DC647EA1BA77)},
+         {UINT64_C(0x0007F8F8703A7DCA), UINT64_C(0x000795C87DAACF66),
+          UINT64_C(0x00007534BD87B9EE), UINT64_C(0x0005099B2C521F78),
+          UINT64_C(0x000273750C74E81D)}},
+        {{UINT64_C(0x00024EDC3D8ABF8E), UINT64_C(0x000300DFA97BDDE9),
+          UINT64_C(0x000446C6F830946C), UINT64_C(0x00068F06F4ACDD60),
+          UINT64_C(0x00018F286BEDB687)},
+         {UINT64_C(0x0003287C7040CAF8), UINT64_C(0x0005A30953D9648B),
+          UINT64_C(0x0004C0CED1BF2F16), UINT64_C(0x0005022BA173833A),
+          UINT64_C(0x000471670E5DD4C8)},
+         {UINT64_C(0x000575C7D920A1FA), UINT64_C(0x000028011ACAA137),
+          UINT64_C(0x000267F433A9BB5D), UINT64_C(0x0000C0E4B91042B4),
+          UINT64_C(0x0001740F314FE330)}},
+        {{UINT64_C(0x0009146BFD90884A), UINT64_C(0x00024724AE1312FD),
+          UINT64_C(0x0000CC37AB3544BD), UINT64_C(0x0002E4F30E1D877C),
+          UINT64_C(0x00078F98059C7CDB)},
+         {UINT64_C(0x00080EF557A2B367), UINT64_C(0x00034596D52275E4),
+          UINT64_C(0x0003D07B43BC2723), UINT64_C(0x000485142DA02EA6),
+          UINT64_C(0x00052ED77068B052)},
+         {UINT64_C(0x00050C37F84E0B1E), UINT64_C(0x0007F90DAF676333),
+          UINT64_C(0x000014A034E40FE3), UINT64_C(0x0001A1CCC5B06FA4),
+          UINT64_C(0x0002B57B6AAF5AFB)}},
+        {{UINT64_C(0x0005A1EC835F93D9), UINT64_C(0x00027C73660ABD19),
+          UINT64_C(0x00051ED4ACB98418), UINT64_C(0x0005934D9A8C4481),
+          UINT64_C(0x000056DCE5E599B7)},
+         {UINT64_C(0x000D82F2893E91E9), UINT64_C(0x00007DB2ED2F5FC8),
+          UINT64_C(0x000470BFB2A14A2D), UINT64_C(0x000243357800B12B),
+          UINT64_C(0x0001586B880D973F)},
+         {UINT64_C(0x0002894A1AEE30F0), UINT64_C(0x00000A56EEFC3625),
+          UINT64_C(0x000328B708D399DB), UINT64_C(0x0001E0245E856F01),
+          UINT64_C(0x000331A120A8FA38)}},
+        {{UINT64_C(0x0000B01B89AE8C48), UINT64_C(0x000160C2BE55859D),
+          UINT64_C(0x00032ED748BC62AF), UINT64_C(0x0003A96EF5B049CB),
+          UINT64_C(0x0007D5C6C7C53881)},
+         {UINT64_C(0x000F575F2E610488), UINT64_C(0x00050DD2D252D63F),
+          UINT64_C(0x00032900A6CAB78A), UINT64_C(0x00052436AFB000AE),
+          UINT64_C(0x0001058C522E70B4)},
+         {UINT64_C(0x000C32E693EA545B), UINT64_C(0x000363FF953257C4),
+          UINT64_C(0x0006BB224E619CF6), UINT64_C(0x0004725D9B6CC315),
+          UINT64_C(0x00028D022032739E)}},
+        {{UINT64_C(0x000130FFBDDA7B5B), UINT64_C(0x00008B75F47AA474),
+          UINT64_C(0x000704583AA71B9F), UINT64_C(0x000003F123BF1718),
+          UINT64_C(0x0000C86888DA8826)},
+         {UINT64_C(0x0001E99131EE0CC8), UINT64_C(0x00015BD0E81C213F),
+          UINT64_C(0x00060DB057C2D8C7), UINT64_C(0x0003931F8CDBD796),
+          UINT64_C(0x0000B711D1643ABA)},
+         {UINT64_C(0x000CAE2E3BD0339C), UINT64_C(0x000535FE10F2B9B9),
+          UINT64_C(0x0003BAC64D32897B), UINT64_C(0x0002E04FBE091647),
+          UINT64_C(0x00069D6BFB6020F3)}},
+        {{UINT64_C(0x0003BF20FBF44C75), UINT64_C(0x0003DFDF8AA48E71),
+          UINT64_C(0x000755E830F9348A), UINT64_C(0x0004DCF2FBC753A0),
+          UINT64_C(0x000563C950DED5E7)},
+         {UINT64_C(0x00095173064904B2), UINT64_C(0x0001AD16621A4F26),
+          UINT64_C(0x0000190EBCA98F19), UINT64_C(0x00025C88E57E353D),
+          UINT64_C(0x0007235C78DDE09A)},
+         {UINT64_C(0x000AB2477B99C193), UINT64_C(0x000787D92E572642),
+          UINT64_C(0x000254AE25CB36B6), UINT64_C(0x00014FF7F61A68BA),
+          UINT64_C(0x0002AE23C86DA540)}},
+        {{UINT64_C(0x000AA69FC65B55EE), UINT64_C(0x000602BFEB958D5E),
+          UINT64_C(0x00041B4D60AAC3E7), UINT64_C(0x0006E4587652A12A),
+          UINT64_C(0x000538D39DB42EA9)},
+         {UINT64_C(0x000A78E9FAE803AA), UINT64_C(0x00050F1F50C82CCF),
+          UINT64_C(0x0000690C7B716417), UINT64_C(0x00009E9B33D5B1F8),
+          UINT64_C(0x00046AD0D9B59A8E)},
+         {UINT64_C(0x000E0FB21CA97546), UINT64_C(0x000796398B48AA4B),
+          UINT64_C(0x0005BFE2E571682E), UINT64_C(0x00079B204C96268F),
+          UINT64_C(0x00036514FC4F006A)}},
+        {{UINT64_C(0x000AB6ADDA89E077), UINT64_C(0x000456219E30B23F),
+          UINT64_C(0x00073DF2B5B296A7), UINT64_C(0x0007416CF096B608),
+          UINT64_C(0x000506FAF22F148F)},
+         {UINT64_C(0x0004D01231B41F08), UINT64_C(0x00004E0DE454C9D9),
+          UINT64_C(0x0001C359EA53295F), UINT64_C(0x0005C16FFE73D620),
+          UINT64_C(0x0001FD9A40888D64)},
+         {UINT64_C(0x00082DD110EAA0DA), UINT64_C(0x0002885D3B8FB45F),
+          UINT64_C(0x0007AAD0C23075A0), UINT64_C(0x000013BF01DF39A9),
+          UINT64_C(0x000025FFC049C3BB)}},
+        {{UINT64_C(0x000188B1DC7CFBB3), UINT64_C(0x00073B99A1AD10BA),
+          UINT64_C(0x000799A4C5F58A95), UINT64_C(0x0005036A5F90050D),
+          UINT64_C(0x0007A61558C47079)},
+         {UINT64_C(0x0008E5B50FC0616E), UINT64_C(0x0006BE2B98B6BAB1),
+          UINT64_C(0x000214A72D8A4D1E), UINT64_C(0x000761E21C815E1A),
+          UINT64_C(0x0003D750B6148769)},
+         {UINT64_C(0x000A9F7E8D06E7C1), UINT64_C(0x000028F98763EEF5),
+          UINT64_C(0x00079EA1FD1DE978), UINT64_C(0x00021613CA3BB40B),
+          UINT64_C(0x00070E4362C5401C)}},
+        {{UINT64_C(0x0009D08B1089B486), UINT64_C(0x000165F2FBD68266),
+          UINT64_C(0x00035E25AA132009), UINT64_C(0x00044F5F944F1D77),
+          UINT64_C(0x00025F71B14DA654)},
+         {UINT64_C(0x000BD353769CE1F9), UINT64_C(0x0006FA3F3DDDC54C),
+          UINT64_C(0x0002B84C2EC34B40), UINT64_C(0x0002BC5399680FE7),
+          UINT64_C(0x00077DF80D7D51A4)},
+         {UINT64_C(0x0004E2691B0328F3), UINT64_C(0x00050F4537961493),
+          UINT64_C(0x00044E2C41C84DCA), UINT64_C(0x00052B780EFDCD69),
+          UINT64_C(0x0005376F2A050E19)}},
+    },
+    {
+        {{UINT64_C(0x000DA03985F38262), UINT64_C(0x00037D5F62914A3C),
+          UINT64_C(0x000793B68F7811A9), UINT64_C(0x00032B90BCD39CE3),
+          UINT64_C(0x00075AA44FE7E19C)},
+         {UINT64_C(0x000F05AB91A2B12A), UINT64_C(0x00059AF4F8982C00),
+          UINT64_C(0x00048CCE588AE51A), UINT64_C(0x00049E4C670BBE65),
+          UINT64_C(0x0006B3D82691A651)},
+         {UINT64_C(0x0008F5698465745B), UINT64_C(0x00075BE3EB74331D),
+          UINT64_C(0x000737D69788EE86), UINT64_C(0x00062141377DCE86),
+          UINT64_C(0x0006EFBEF11283CC)}},
+        {{UINT64_C(0x000FB2D42C8285AF), UINT64_C(0x0006FD40664A5490),
+          UINT64_C(0x00057F0694D97426), UINT64_C(0x0002A7A28B3356DA),
+          UINT64_C(0x00028920886AF6EC)},
+         {UINT64_C(0x000A8C24C0BF2760), UINT64_C(0x00068C3EC242BF3A),
+          UINT64_C(0x0000CE0D0E1B7F97), UINT64_C(0x00061C58FABECF34),
+          UINT64_C(0x00004CA319E801FD)},
+         {UINT64_C(0x000325DE46C5736B), UINT64_C(0x000468915384C263),
+          UINT64_C(0x0006347A5799363C), UINT64_C(0x0007210BB1344417),
+          UINT64_C(0x00011E398C2404CC)}},
+        {{UINT64_C(0x0006351562580ED8), UINT64_C(0x0006220AA1C9D62B),
+          UINT64_C(0x0001CDF640634049), UINT64_C(0x0002FA7088B01B0A),
+          UINT64_C(0x00019ACCA28277EE)},
+         {UINT64_C(0x000C65B688EBF493), UINT64_C(0x0005B03149C63AE5),
+          UINT64_C(0x0006AFA8197C4FD1), UINT64_C(0x0002D0DA5C748E78),
+          UINT64_C(0x000662C002D4D15F)},
+         {UINT64_C(0x0001118B8CBBB7E7), UINT64_C(0x0004CBAB82FD2BF5),
+          UINT64_C(0x0002348B0CE469A5), UINT64_C(0x00023EB3398A797E),
+          UINT64_C(0x0004E228589713E3)}},
+        {{UINT64_C(0x0000B4E4D027C85C), UINT64_C(0x0000D803053DA772),
+          UINT64_C(0x00065984BB60A337), UINT64_C(0x0007DC2376F7272A),
+          UINT64_C(0x0000E9430E355BA4)},
+         {UINT64_C(0x000A8E389D48606F), UINT64_C(0x00021F690AA2DBC8),
+          UINT64_C(0x000142274ABC9F41), UINT64_C(0x00072BF593710713),
+          UINT64_C(0x0002FD7F4AE2EE22)},
+         {UINT64_C(0x000BF1C20DDD2691), UINT64_C(0x0005411630C2A271),
+          UINT64_C(0x0002D6C2990BAF6C), UINT64_C(0x00016E01E690E20C),
+          UINT64_C(0x0000E8F8FFA954EC)}},
+        {{UINT64_C(0x0005A3AB6DAFDFD3), UINT64_C(0x0000D9D486BDD09A),
+          UINT64_C(0x0002D2E51B7C9711), UINT64_C(0x00017CE407134280),
+          UINT64_C(0x0003AD3997FA1672)},
+         {UINT64_C(0x0003D8F172453802), UINT64_C(0x0002317FA3185EC2),
+          UINT64_C(0x0000BA91852E2031), UINT64_C(0x0005EC464B3ED108),
+          UINT64_C(0x00057C6D8CF0E0FD)},
+         {UINT64_C(0x0008CA2766DB4A5B), UINT64_C(0x00073D443B130A20),
+          UINT64_C(0x00058BF472C3BA39), UINT64_C(0x0006F5CC0907C053),
+          UINT64_C(0x0003FC5C6F14BD87)}},
+        {{UINT64_C(0x0004B65645E73CF6), UINT64_C(0x0007C5AB1C053774),
+          UINT64_C(0x0005018E4FF1FC18), UINT64_C(0x000769511D97D00F),
+          UINT64_C(0x0006AD6BD6EAA9E9)},
+         {UINT64_C(0x00046576871857E4), UINT64_C(0x000215AA0839B591),
+          UINT64_C(0x0004E1CAA9F6A2CA), UINT64_C(0x0007AB0F33E726C5),
+          UINT64_C(0x00067F4BE171AA28)},
+         {UINT64_C(0x0006531996604B7F), UINT64_C(0x000453BF42EC79D2),
+          UINT64_C(0x00032113012CCEA4), UINT64_C(0x00006D0B5464300F),
+          UINT64_C(0x0002176B1E5D6D50)}},
+        {{UINT64_C(0x0001D3C100DC72D5), UINT64_C(0x0003654CB2834C97),
+          UINT64_C(0x0005E965AC7DA69D), UINT64_C(0x00078DC0DD9AE1DD),
+          UINT64_C(0x00019E21FECCAAF3)},
+         {UINT64_C(0x00013C3FDF2B1672), UINT64_C(0x000619ED60AD922A),
+          UINT64_C(0x0006A134A3138156), UINT64_C(0x000074D7A0EB94F4),
+          UINT64_C(0x000655B9265AD61E)},
+         {UINT64_C(0x00091D8E2767E0B1), UINT64_C(0x00065AEFAC257813),
+          UINT64_C(0x00038076D1470BE1), UINT64_C(0x0003C981EA0EB22B),
+          UINT64_C(0x00015A7A2D75B203)}},
+        {{UINT64_C(0x000CC309EA9DA550), UINT64_C(0x000167109F6B7EEA),
+          UINT64_C(0x00036256E39C62A5), UINT64_C(0x00023FE04A59A8D0),
+          UINT64_C(0x00048F3DCFC704E4)},
+         {UINT64_C(0x000DD13D87BC3FD8), UINT64_C(0x0001E1039D0C27A5),
+          UINT64_C(0x00013884321DFE6C), UINT64_C(0x00018DF5EB967D7E),
+          UINT64_C(0x00027626CDA767FD)},
+         {UINT64_C(0x00081A4C254FE9AA), UINT64_C(0x00039710CABEFE25),
+          UINT64_C(0x0001FE4ED0D3AF13), UINT64_C(0x00036B4C87AE2C9F),
+          UINT64_C(0x00011248B666F136)}},
+        {{UINT64_C(0x000E797C4CCA0B46), UINT64_C(0x000549315E592B39),
+          UINT64_C(0x000446B1DF8247A1), UINT64_C(0x00030ED36C5BB7F3),
+          UINT64_C(0x0002AA80BB30E10E)},
+         {UINT64_C(0x000987E78A6334CD), UINT64_C(0x00021A51601C5BC5),
+          UINT64_C(0x00056CB555352F37), UINT64_C(0x000225D060DB2429),
+          UINT64_C(0x000385DB17BD6237)},
+         {UINT64_C(0x0002ED3E680A5E84), UINT64_C(0x0005712851DFAB33),
+          UINT64_C(0x00039A12254B9A45), UINT64_C(0x000216D42F43EEBB),
+          UINT64_C(0x000357331598DA83)}},
+        {{UINT64_C(0x000F7C1D3279D8A5), UINT64_C(0x00043F72163137B9),
+          UINT64_C(0x00042C3FE876167F), UINT64_C(0x0003B0E73C83522A),
+          UINT64_C(0x0001DB409981C582)},
+         {UINT64_C(0x000122CD3118D65B), UINT64_C(0x00071763F291C87A),
+          UINT64_C(0x000561465C8B3331), UINT64_C(0x0004944F4C61C7FD),
+          UINT64_C(0x0002AAC9443A36DB)},
+         {UINT64_C(0x0004D4FA4218C372), UINT64_C(0x00076C45E03C77EB),
+          UINT64_C(0x000072FB97E90D33), UINT64_C(0x0005082CF2079905),
+          UINT64_C(0x0002FE26BFD54FFA)}},
+        {{UINT64_C(0x0007D19A42E4631A), UINT64_C(0x0006571B981A6AEC),
+          UINT64_C(0x0004D393AE74429A), UINT64_C(0x000446A87D160168),
+          UINT64_C(0x0003AF53BFC0F685)},
+         {UINT64_C(0x0002D55D97B6EB19), UINT64_C(0x00039E6461F719F3),
+          UINT64_C(0x000190259D2C913D), UINT64_C(0x0003C976B6FBF37A),
+          UINT64_C(0x00019F876AD4BC35)},
+         {UINT64_C(0x000EDF4304B4688B), UINT64_C(0x0000C939FCAC59CD),
+          UINT64_C(0x00056BFC00BE589D), UINT64_C(0x0004B4C590A12AC7),
+          UINT64_C(0x0007EF9566506AD0)}},
+        {{UINT64_C(0x000A585FE0E0C2E0), UINT64_C(0x00018D0780A3AD5B),
+          UINT64_C(0x0006DD4F15327657), UINT64_C(0x00009AB856FE2440),
+          UINT64_C(0x000750F36E6E9B65)},
+         {UINT64_C(0x0008B6024E61BB41), UINT64_C(0x0006393F246B2AD3),
+          UINT64_C(0x000446AF58B6CA59), UINT64_C(0x00000520765881CA),
+          UINT64_C(0x00061089ABFD62AB)},
+         {UINT64_C(0x000633226585ECE4), UINT64_C(0x00076BF57CC213CB),
+          UINT64_C(0x000484A01C226640), UINT64_C(0x00033C1F700F8FBA),
+          UINT64_C(0x0000B0E1B3037271)}},
+        {{UINT64_C(0x00054E468A9EFE70), UINT64_C(0x000608519FBFBF2D),
+          UINT64_C(0x0005333558A69061), UINT64_C(0x0004D0D77DF73B72),
+          UINT64_C(0x0005963DB206A396)},
+         {UINT64_C(0x000394333A1E85F3), UINT64_C(0x000353C23C03493E),
+          UINT64_C(0x0000C828A97CB1A5), UINT64_C(0x00078C43450120ED),
+          UINT64_C(0x000555DF3569380F)},
+         {UINT64_C(0x00042EFA777C3D87), UINT64_C(0x0006535188CEB3F6),
+          UINT64_C(0x000711F155E76C84), UINT64_C(0x0000E3BA9883F418),
+          UINT64_C(0x00057A3C7F7ECCF3)}},
+        {{UINT64_C(0x000B073EF993682F), UINT64_C(0x00033F05FA3CCE30),
+          UINT64_C(0x00068B17D4A39381), UINT64_C(0x0004A922A545C066),
+          UINT64_C(0x0006F6DAE315DA70)},
+         {UINT64_C(0x00014D0E6682401A), UINT64_C(0x0007CCF46A4DD19B),
+          UINT64_C(0x00075F65E59EC735), UINT64_C(0x0001444919609445),
+          UINT64_C(0x00056DEA40CFB96B)},
+         {UINT64_C(0x00016AF62D5F1A62), UINT64_C(0x00031733B90868F3),
+          UINT64_C(0x0006590B06472897), UINT64_C(0x00049790ACFA5796),
+          UINT64_C(0x0003AB09B226B35A)}},
+        {{UINT64_C(0x000329065372355E), UINT64_C(0x0007AB688B6A2989),
+          UINT64_C(0x00045AC32571E188), UINT64_C(0x0005840E91DC5D76),
+          UINT64_C(0x0000A0DFC537909E)},
+         {UINT64_C(0x0005F472964EF0CE), UINT64_C(0x0003D2FA150C40C5),
+          UINT64_C(0x0007CBF1211260FB), UINT64_C(0x0003709955BA6654),
+          UINT64_C(0x000217DBDD3D5D0D)},
+         {UINT64_C(0x000A1158C12DB2A4), UINT64_C(0x0004C90A2B817CA8),
+          UINT64_C(0x00061F4B5B3A38EC), UINT64_C(0x000380423D6EF40B),
+          UINT64_C(0x00000B4B0EF2C8F0)}},
+        {{UINT64_C(0x00028D6E002BCA29), UINT64_C(0x0007A3997D7D546A),
+          UINT64_C(0x0005D8C776975959), UINT64_C(0x0000317399D2025E),
+          UINT64_C(0x000754B217E301A9)},
+         {UINT64_C(0x0002CDE1681E8828), UINT64_C(0x000380F9FC21B2AB),
+          UINT64_C(0x00003AD0F0DC0117), UINT64_C(0x0003D01C67CEC59B),
+          UINT64_C(0x00039049C45C39C8)},
+         {UINT64_C(0x0000CE99521AEEAB), UINT64_C(0x0003B4C67C5B669C),
+          UINT64_C(0x0000E043A30EE5B7), UINT64_C(0x0003F0C4E94F62CF),
+          UINT64_C(0x0001AB4F30E0A8F5)}},
+    },
+    {
+        {{UINT64_C(0x000DC91F212AB480), UINT64_C(0x0005945E1877E8EC),
+          UINT64_C(0x00013573E60D6704), UINT64_C(0x00069D9C4A961CA2),
+          UINT64_C(0x0003DE09EC8A48AF)},
+         {UINT64_C(0x000E81E566BFFA33), UINT64_C(0x00033E06B06E4111),
+          UINT64_C(0x0002D32A23297AFD), UINT64_C(0x0005F9BFCE126AC6),
+          UINT64_C(0x0001FF61C1A88D8E)},
+         {UINT64_C(0x0008D3EC31CFC3EE), UINT64_C(0x000046D8793EAB63),
+          UINT64_C(0x0000C143A50BCCDC), UINT64_C(0x0006EAB8519D9BAD),
+          UINT64_C(0x00074830BD46D5B4)}},
+        {{UINT64_C(0x0000574A2032B148), UINT64_C(0x0004328CBA692C33),
+          UINT64_C(0x000232F42D123335), UINT64_C(0x000181DEF8EAD0DD),
+          UINT64_C(0x000451E2578C52D5)},
+         {UINT64_C(0x000695C6731F0527), UINT64_C(0x0005CD46B5C17880),
+          UINT64_C(0x00015EAA924D0904), UINT64_C(0x00007F6FB72E84D0),
+          UINT64_C(0x0000CEB928AFDBBD)},
+         {UINT64_C(0x0004D3626FF5B12C), UINT64_C(0x00051FE69CA7F94B),
+          UINT64_C(0x000772203CEE99E4), UINT64_C(0x0005F1FAC7E8C081),
+          UINT64_C(0x0003E578A1665444)}},
+        {{UINT64_C(0x000B298801B1FE77), UINT64_C(0x0002586B0CE008AC),
+          UINT64_C(0x00045E778DC50E87), UINT64_C(0x0000FDCB5F3CC8F7),
+          UINT64_C(0x00017C5D39EFC586)},
+         {UINT64_C(0x0002A41D8771BA87), UINT64_C(0x0004C8102431A7BA),
+          UINT64_C(0x0000B390AB74C50C), UINT64_C(0x0002C546F7C05D4D),
+          UINT64_C(0x0006AAD492B3116F)},
+         {UINT64_C(0x0008FF03C1367A73), UINT64_C(0x0002A4A748616572),
+          UINT64_C(0x000605B500CB4A72), UINT64_C(0x0005C39BB9BB5B8B),
+          UINT64_C(0x000569FE03A16B9F)}},
+        {{UINT64_C(0x000275341CBCADF6), UINT64_C(0x000430EFD84DCC71),
+          UINT64_C(0x00022B997FAB00F0), UINT64_C(0x00030C5632CF0693),
+          UINT64_C(0x0002A0826D840314)},
+         {UINT64_C(0x000C11CD5CF6EE57), UINT64_C(0x0001257E6308FBB1),
+          UINT64_C(0x0002F7CE59284FB8), UINT64_C(0x00057DD9BDD3EF59),
+          UINT64_C(0x0003452936337369)},
+         {UINT64_C(0x000530B11F6BDDA7), UINT64_C(0x0007A51865D93007),
+          UINT64_C(0x00076B5BC60F0AC9), UINT64_C(0x000212F031E350EA),
+          UINT64_C(0x000075AED0A2ADAE)}},
+        {{UINT64_C(0x000AD78B391BD2D5), UINT64_C(0x0003A11ABEA7FF04),
+          UINT64_C(0x00046A25F0F350A4), UINT64_C(0x0001543CC7EF57AB),
+          UINT64_C(0x00069223D8309EB4)},
+         {UINT64_C(0x000B33AD1F86A15A), UINT64_C(0x00036B112A03501B),
+          UINT64_C(0x000344A2066D4EF2), UINT64_C(0x00055436BD4B9A9D),
+          UINT64_C(0x00041A71A942A508)},
+         {UINT64_C(0x0006FF9618F443D0), UINT64_C(0x0000F3000CB2F1BA),
+          UINT64_C(0x00022C2897DAADE0), UINT64_C(0x0004F604C596FCBC),
+          UINT64_C(0x000585C83B55AFF4)}},
+        {{UINT64_C(0x00084B6AF7D110A1), UINT64_C(0x0001EFC9DBBC4234),
+          UINT64_C(0x000796661C37007B), UINT64_C(0x00010DB07259FC43),
+          UINT64_C(0x000202355E8495E8)},
+         {UINT64_C(0x000DA5E823077C6C), UINT64_C(0x0003C9503E1777C0),
+          UINT64_C(0x0001A5E4F1DED645), UINT64_C(0x0000DE482043B271),
+          UINT64_C(0x0004B4CCC6B33E65)},
+         {UINT64_C(0x00011797174CD365), UINT64_C(0x000242D89859CD09),
+          UINT64_C(0x0000714A4593BD77), UINT64_C(0x00051B9197490AE5),
+          UINT64_C(0x0006E6A726266AD0)}},
+        {{UINT64_C(0x0006163606CF5614), UINT64_C(0x0003B9BA82C96535),
+          UINT64_C(0x000075E66F7CF6D4), UINT64_C(0x000411E3154EC181),
+          UINT64_C(0x00029B40D6F2E74B)},
+         {UINT64_C(0x0005D2E429379A65), UINT64_C(0x00008B1A72434343),
+          UINT64_C(0x00041E8D9808E74A), UINT64_C(0x0004F14CB75EB689),
+          UINT64_C(0x0004F434008C1B41)},
+         {UINT64_C(0x00067B260BE03B58), UINT64_C(0x0001EEF4691ADD3A),
+          UINT64_C(0x0002850460D0C4EE), UINT64_C(0x0005AFCC1FFDAA08),
+          UINT64_C(0x0003AB9267B9F6DC)}},
+        {{UINT64_C(0x000B5389B777649D), UINT64_C(0x0001F24DBD666B73),
+          UINT64_C(0x00036DFB5DE2A31F), UINT64_C(0x0005EB994849E227),
+          UINT64_C(0x0004279FBFCC1BD4)},
+         {UINT64_C(0x000B7EA950A7028F), UINT64_C(0x000732F69E7CF7DE),
+          UINT64_C(0x00066069E71F3D7B), UINT64_C(0x00028033D27359B1),
+          UINT64_C(0x000183D3130F9EED)},
+         {UINT64_C(0x000D74EA5E42F626), UINT64_C(0x0004B6BC58EA9C64),
+          UINT64_C(0x0003C2C8FEA82634), UINT64_C(0x0002CE04C5B571DD),
+          UINT64_C(0x0001E397436718BF)}},
+        {{UINT64_C(0x000B7484714F9403), UINT64_C(0x0004FC7BF02108DB),
+          UINT64_C(0x0003678FA400AD90), UINT64_C(0x00028EF7C8AC0FE1),
+          UINT64_C(0x000504A42505BDEF)},
+         {UINT64_C(0x000A0A066ABF7FBB), UINT64_C(0x00072AEC8D4433CE),
+          UINT64_C(0x0002A0384B583EC1), UINT64_C(0x0002AB91E995640C),
+          UINT64_C(0x000169BC2751E588)},
+         {UINT64_C(0x0009EB12660357B5), UINT64_C(0x00077A9937FD5E5F),
+          UINT64_C(0x00021FF5CE16F36C), UINT64_C(0x0001C906DF80DF41),
+          UINT64_C(0x0000CC48BA3DF0EA)}},
+        {{UINT64_C(0x000E23A04EED9E35), UINT64_C(0x0004ADC00E39212A),
+          UINT64_C(0x00017453A70FE352), UINT64_C(0x0006D407B1DB39B2),
+          UINT64_C(0x0005D825F613189B)},
+         {UINT64_C(0x00040B93828FA640), UINT64_C(0x00017C0D3D748E6A),
+          UINT64_C(0x0003E2BC36916CA3), UINT64_C(0x00026F60A9DD3D92),
+          UINT64_C(0x0002CB47886C390F)},
+         {UINT64_C(0x0008E7468212D22E), UINT64_C(0x0005E3F127FB8644),
+          UINT64_C(0x0006C85DFBC55D78), UINT64_C(0x0007DFDFC6C531F3),
+          UINT64_C(0x000674E26E15BF6B)}},
+        {{UINT64_C(0x000742AB1CE45F49), UINT64_C(0x000352695906DAC7),
+          UINT64_C(0x00067D9DD8206042), UINT64_C(0x0002A8F523687321),
+          UINT64_C(0x000209C2CC3DF3F2)},
+         {UINT64_C(0x000582E07DACB336), UINT64_C(0x000659136B8B103E),
+          UINT64_C(0x00075BFAC5E74BD0), UINT64_C(0x00030FA01037A173),
+          UINT64_C(0x00027A6E9B54A029)},
+         {UINT64_C(0x00010636DC94228F), UINT64_C(0x000334F99AD2D208),
+          UINT64_C(0x000210CE39BF48FB), UINT64_C(0x0005CE98A1D2F02D),
+          UINT64_C(0x0007E987948C2C36)}},
+        {{UINT64_C(0x00060BD25865CC5A), UINT64_C(0x000717975E64B3FD),
+          UINT64_C(0x000791116DD316E7), UINT64_C(0x000027FC70709E15),
+          UINT64_C(0x000014CE5C4B9FED)},
+         {UINT64_C(0x000FCB5EE438E62F), UINT64_C(0x0003918BFDF256E1),
+          UINT64_C(0x000122BF1C544888), UINT64_C(0x00014620D1E4D6BE),
+          UINT64_C(0x00031786B5D1AA6E)},
+         {UINT64_C(0x000D8369134DE3F1), UINT64_C(0x000358E513D33827),
+          UINT64_C(0x0001AD06806E9F25), UINT64_C(0x0007751294480EB8),
+          UINT64_C(0x00070E23870117F1)}},
+        {{UINT64_C(0x00006F3BCD1B2F70), UINT64_C(0x0000FA5C78F50611),
+          UINT64_C(0x000411C55245B3EE), UINT64_C(0x0004944F3F6FC1FB),
+          UINT64_C(0x000044A8C001AA25)},
+         {UINT64_C(0x000D4183C7441852), UINT64_C(0x000055D95E60582E),
+          UINT64_C(0x0007BCDE3E7457F2), UINT64_C(0x00008C8DB0B27127),
+          UINT64_C(0x000151434B629450)},
+         {UINT64_C(0x000E723B7F1ECEB3), UINT64_C(0x0004AD5542379FD9),
+          UINT64_C(0x0007AD503D0F9616), UINT64_C(0x0007C70002B01072),
+          UINT64_C(0x00014758CEF08E44)}},
+        {{UINT64_C(0x000C404279D4475B), UINT64_C(0x00069FDFED5F482D),
+          UINT64_C(0x0004DDA9A420B9DE), UINT64_C(0x000442DE4FB067AC),
+          UINT64_C(0x00011575126C1A87)},
+         {UINT64_C(0x0000D4A13CE38DD3), UINT64_C(0x00055443D3A075FC),
+          UINT64_C(0x0002D0CC46239CD5), UINT64_C(0x00037A0D9341BE9F),
+          UINT64_C(0x0007D72576A16B0E)},
+         {UINT64_C(0x00018F1C0EA31782), UINT64_C(0x00017F5C99216478),
+          UINT64_C(0x00070B5287151CE4), UINT64_C(0x00069D184D521E3F),
+          UINT64_C(0x00050B904149AB2A)}},
+        {{UINT64_C(0x000B9757956238BE), UINT64_C(0x000719EF66129C48),
+          UINT64_C(0x0003A4A2018A1497), UINT64_C(0x00060697B014C86D),
+          UINT64_C(0x0004211842CFCBB6)},
+         {UINT64_C(0x00000FC466BA4129), UINT64_C(0x0005C2C02129FAE5),
+          UINT64_C(0x0007CC7E722EDDB4), UINT64_C(0x000463EFB0DEA9BC),
+          UINT64_C(0x0005CEAB5704312E)},
+         {UINT64_C(0x0003CB3EF741A489), UINT64_C(0x000447C22A9AC8F6),
+          UINT64_C(0x00070DC1AC662C00), UINT64_C(0x000643FBD84746C4),
+          UINT64_C(0x00047AC14BC4BE7F)}},
+        {{UINT64_C(0x0001F0ED4EAB4BF3), UINT64_C(0x0003BDBDE234EFD5),
+          UINT64_C(0x0007F9817DB30238), UINT64_C(0x0005F1CA682E32C5),
+          UINT64_C(0x0004EA29A4CB0AC2)},
+         {UINT64_C(0x000119149BBD8CE2), UINT64_C(0x00053B67849C8636),
+          UINT64_C(0x0000EE5D57DDF5A8), UINT64_C(0x0004ACD87314DB39),
+          UINT64_C(0x00050B40A053EECC)},
+         {UINT64_C(0x000A4EC0C58B1A27), UINT64_C(0x0004144223834F69),
+          UINT64_C(0x00006C3A5FA7A66C), UINT64_C(0x0001E7C747C08629),
+          UINT64_C(0x0006C75F05A9CE16)}},
+    },
+    {
+        {{UINT64_C(0x000DA9D6805AB8BD), UINT64_C(0x000551D3DA5834BB),
+          UINT64_C(0x00044E2A3C850244), UINT64_C(0x00003C161B738B16),
+          UINT64_C(0x00016FA62C9D5E85)},
+         {UINT64_C(0x0002A0101ADD9A68), UINT64_C(0x00005F00A8B73A3E),
+          UINT64_C(0x0002700C6352EA8B), UINT64_C(0x00058F72766D9CF5),
+          UINT64_C(0x0000786CDD193DF0)},
+         {UINT64_C(0x0008EF307292DAA3), UINT64_C(0x00078A0B85552DDA),
+          UINT64_C(0x0002B5E21BAB14CA), UINT64_C(0x00042FBE2B9E130A),
+          UINT64_C(0x0006A1FF64B8DFE0)}},
+        {{UINT64_C(0x000C37A44368992F), UINT64_C(0x000503AD37567295),
+          UINT64_C(0x00022D6E783EB997), UINT64_C(0x00073209A3FE24D5),
+          UINT64_C(0x00061BEA701A085E)},
+         {UINT64_C(0x000F79A9906695E1), UINT64_C(0x0006563AA33BECCA),
+          UINT64_C(0x0006D9C258571274), UINT64_C(0x0002082E0EFF1CF3),
+          UINT64_C(0x00006858AC5958CD)},
+         {UINT64_C(0x00073B5DF922B953), UINT64_C(0x0007D833BB16576F),
+          UINT64_C(0x0002D7E0952EDC43), UINT64_C(0x0004C40B62DE9061),
+          UINT64_C(0x0006802A03BBC4A8)}},
+        {{UINT64_C(0x000AA4FF9CD029FB), UINT64_C(0x0006A8F58A61B495),
+          UINT64_C(0x00076DE5AEDD2889), UINT64_C(0x000418E79FA28A81),
+          UINT64_C(0x0004AC6187BA7E86)},
+         {UINT64_C(0x000BB424077E0F78), UINT64_C(0x0006BE304793DFB9),
+          UINT64_C(0x0001D1A8E8B74E8C), UINT64_C(0x000400EE04CA634E),
+          UINT64_C(0x0000D23EE5F7A76A)},
+         {UINT64_C(0x000E8C82769B883D), UINT64_C(0x00061FF0A44B7C0C),
+          UINT64_C(0x00071C3F9C0C1C14), UINT64_C(0x0001A72BC400F4FB),
+          UINT64_C(0x000063C977E0C2A2)}},
+        {{UINT64_C(0x000B7EA553156CDE), UINT64_C(0x0004F77ED1DA0116),
+          UINT64_C(0x0005313D6AB54554), UINT64_C(0x00068205E8633D72),
+          UINT64_C(0x0004C0F6F5D7AA5B)},
+         {UINT64_C(0x0002AC03322F3ABE), UINT64_C(0x00013B9DB1E063DB),
+          UINT64_C(0x0001653067E1D575), UINT64_C(0x00068FA0726EBED0),
+          UINT64_C(0x00056D9BF5F7ACB5)},
+         {UINT64_C(0x0008092305F9E607), UINT64_C(0x00050ADE9DDED289),
+          UINT64_C(0x000677C866291C9D), UINT64_C(0x0000A00D6AD82313),
+          UINT64_C(0x000204C6129E7A63)}},
+        {{UINT64_C(0x000CC52FB8AA29BE), UINT64_C(0x00001FD5EBA86F95),
+          UINT64_C(0x0003EDEE7EE1584C), UINT64_C(0x0007A98D872F3541),
+          UINT64_C(0x00041BB59C74740D)},
+         {UINT64_C(0x000B91A314979A22), UINT64_C(0x000445CC55FA6E68),
+          UINT64_C(0x00029A9728593F50), UINT64_C(0x0003D453E9BB2BF4),
+          UINT64_C(0x000458E9C150C319)},
+         {UINT64_C(0x0008B902F4166F58), UINT64_C(0x00008BF4504AEFA7),
+          UINT64_C(0x000507F7245632D2), UINT64_C(0x00046F4236C007FE),
+          UINT64_C(0x0005F8B80AB194EF)}},
+        {{UINT64_C(0x000E0E279B58D515), UINT64_C(0x000494C3FDFB0D3E),
+          UINT64_C(0x0006ADD516425B77), UINT64_C(0x0000C99F3F472FC4),
+          UINT64_C(0x00023C04A4713378)},
+         {UINT64_C(0x00033C225C70B892), UINT64_C(0x0005DEF1B82B20A8),
+          UINT64_C(0x00062D4704CA33EF), UINT64_C(0x00001505BB87DFBE),
+          UINT64_C(0x00018D6306B777E3)},
+         {UINT64_C(0x000A6436A9F762A4), UINT64_C(0x000102ABB9E7477D),
+          UINT64_C(0x00004BD6FA6C8FD0), UINT64_C(0x0002E4FAD22E39A3),
+          UINT64_C(0x0007D2D079A6B2DA)}},
+        {{UINT64_C(0x000B537BD4E0A6B1), UINT64_C(0x00064415199F9972),
+          UINT64_C(0x0002D496FA892827), UINT64_C(0x00029834D9583EE0),
+          UINT64_C(0x0001F325BFC1AEE2)},
+         {UINT64_C(0x000BE9617256C790), UINT64_C(0x0002301EF1F61C9F),
+          UINT64_C(0x0002A218C8615200), UINT64_C(0x00060780EED8C6E7),
+          UINT64_C(0x0004A46B99106694)},
+         {UINT64_C(0x00037B99B0CAB13C), UINT64_C(0x00078242AB738B41),
+          UINT64_C(0x00018258BBD69E1C), UINT64_C(0x00043D3E9A166688),
+          UINT64_C(0x00055321313F52D3)}},
+        {{UINT64_C(0x00067501A6250F6D), UINT64_C(0x000051135CC1DB41),
+          UINT64_C(0x0005B70CAFF3B24D), UINT64_C(0x0007AF6469DAB79A),
+          UINT64_C(0x0005A486101FF730)},
+         {UINT64_C(0x000B81D6FB3B7613), UINT64_C(0x000705F8371DE858),
+          UINT64_C(0x0004616EECCC6DE2), UINT64_C(0x0003B624C3D98F88),
+          UINT64_C(0x0002580784E014F7)},
+         {UINT64_C(0x0003C6B7855856C3), UINT64_C(0x0002ACC5BCB17705),
+          UINT64_C(0x0004E8DA7BC00D1D), UINT64_C(0x0006A7AF33BBD40A),
+          UINT64_C(0x0004CA608C42E191)}},
+        {{UINT64_C(0x00014957F896B8DD), UINT64_C(0x0002EE29ED7F94C7),
+          UINT64_C(0x00006C535FD580D1), UINT64_C(0x0007EE5C2C854B58),
+          UINT64_C(0x000390B6176CC0A5)},
+         {UINT64_C(0x000D8E851115F82F), UINT64_C(0x00057712C2473469),
+          UINT64_C(0x0005FED753D7DE49), UINT64_C(0x000100E99106EB96),
+          UINT64_C(0x00032A5894C01232)},
+         {UINT64_C(0x0003F3BD2CBCD3E4), UINT64_C(0x00051B2182A69BC1),
+          UINT64_C(0x00047F72BDF9D1E5), UINT64_C(0x0004386BB2531556),
+          UINT64_C(0x0006251703B0886A)}},
+        {{UINT64_C(0x000DA5B8DDCC32C8), UINT64_C(0x0004B6E439859BAC),
+          UINT64_C(0x000565788B32A991), UINT64_C(0x0007DA2C259D0EFC),
+          UINT64_C(0x00026E2BCA2F2403)},
+         {UINT64_C(0x00036BD2B233B8DF), UINT64_C(0x000025EC957D6035),
+          UINT64_C(0x000421C4260564F0), UINT64_C(0x00024C08F5533B05),
+          UINT64_C(0x0004195603852EB3)},
+         {UINT64_C(0x0007B58166F4C3F1), UINT64_C(0x000262CCAD523D27),
+          UINT64_C(0x0002167831F73FA9), UINT64_C(0x0002330A70233315),
+          UINT64_C(0x0001E997E60115B3)}},
+        {{UINT64_C(0x000B11A8A180A2DD), UINT64_C(0x000740DE93A3B1BB),
+          UINT64_C(0x0001A75730E8D6F7), UINT64_C(0x0002787677BCD20B),
+          UINT64_C(0x0002C62508D0E0E3)},
+         {UINT64_C(0x000193FF85DC4853), UINT64_C(0x0006FF8B716F7C95),
+          UINT64_C(0x0005695A400F15D0), UINT64_C(0x0006FCEA3FD445A5),
+          UINT64_C(0x0006827935BB527C)},
+         {UINT64_C(0x000E756880792D5C), UINT64_C(0x00017C4CBFDCB6F6),
+          UINT64_C(0x0003621A1F5AD47B), UINT64_C(0x00008ACFEC1E2F0B),
+          UINT64_C(0x000680EE7BD4FDC9)}},
+        {{UINT64_C(0x000B22617017AD54), UINT64_C(0x0006D79A05652478),
+          UINT64_C(0x00078436BB1A4FC2), UINT64_C(0x000588C3017ACA81),
+          UINT64_C(0x000721CFE104D7FC)},
+         {UINT64_C(0x00058F6241221394), UINT64_C(0x0003B5CC42F98968),
+          UINT64_C(0x0005B8C26DF7368C), UINT64_C(0x000258033A96E20A),
+          UINT64_C(0x0006CDFD92327819)},
+         {UINT64_C(0x000D5F316E441B95), UINT64_C(0x0007262AFF6C2AD0),
+          UINT64_C(0x000615C867B8A858), UINT64_C(0x0002304A98935CF1),
+          UINT64_C(0x0001C346C9D50FBE)}},
+        {{UINT64_C(0x000B8D64E6633E8B), UINT64_C(0x0004415800321D6A),
+          UINT64_C(0x000112873DB9D153), UINT64_C(0x0007454E53F98187),
+          UINT64_C(0x0006D9C7B5E085F8)},
+         {UINT64_C(0x0008054C9FC0114A), UINT64_C(0x00060A1D43700A51),
+          UINT64_C(0x0007F536F76DCA7B), UINT64_C(0x00059A4ADEA37323),
+          UINT64_C(0x0006F027E38F2362)},
+         {UINT64_C(0x000304C8AA59BE30), UINT64_C(0x0007FE5A68FCF77D),
+          UINT64_C(0x0006BDE087AB92A0), UINT64_C(0x000025E8F669E08C),
+          UINT64_C(0x00018E93C6B2C356)}},
+        {{UINT64_C(0x0004A344E63D4ACA), UINT64_C(0x0007C308BC5ED73E),
+          UINT64_C(0x0003A32DEAF4E9FA), UINT64_C(0x0004472F4E854593),
+          UINT64_C(0x000047D341D3DDFD)},
+         {UINT64_C(0x0007532D39E9B3BB), UINT64_C(0x000217DF5A0A7433),
+          UINT64_C(0x00074975495E1565), UINT64_C(0x0002821D2EEF04CF),
+          UINT64_C(0x00054FC7406A916F)},
+         {UINT64_C(0x000913F345C8BBFF), UINT64_C(0x0006989D1646C723),
+          UINT64_C(0x00027764F8A16ACB), UINT64_C(0x000008C125AF8D5F),
+          UINT64_C(0x0006800FE91196F4)}},
+        {{UINT64_C(0x00082C098B00AA79), UINT64_C(0x000770B1C497ACD1),
+          UINT64_C(0x000344FD551B8CCE), UINT64_C(0x00023F33BE497F56),
+          UINT64_C(0x0002EAF897898B65)},
+         {UINT64_C(0x0007F51FA8DC697B), UINT64_C(0x00074CE3069BBE12),
+          UINT64_C(0x0004C428EA0209F5), UINT64_C(0x00002F2D8D0BB62C),
+          UINT64_C(0x00004E256AFA4C76)},
+         {UINT64_C(0x00001D22BDE52262), UINT64_C(0x0006DE17872B5135),
+          UINT64_C(0x00066D4BFED89F63), UINT64_C(0x000389FDDE527F9D),
+          UINT64_C(0x0000EB2F6E615478)}},
+        {{UINT64_C(0x000C58D612641095), UINT64_C(0x00054CA77FCC5570),
+          UINT64_C(0x0001DA1FC218000A), UINT64_C(0x00037F0150DC6C3C),
+          UINT64_C(0x00022955963EF643)},
+         {UINT64_C(0x0009C17EB03D6EA7), UINT64_C(0x0002DDDAC1318776),
+          UINT64_C(0x0004E4B91FA27202), UINT64_C(0x0001E2352AB304E3),
+          UINT64_C(0x00060A0E261D6691)},
+         {UINT64_C(0x000B576743FFBA33), UINT64_C(0x0005A197F3AFDA0C),
+          UINT64_C(0x000429DD4FCB8A3F), UINT64_C(0x0001AF629993F4B3),
+          UINT64_C(0x00045EB119867A22)}},
+    },
+    {
+        {{UINT64_C(0x000AC144EF178112), UINT64_C(0x000094A0264CAF23),
+          UINT64_C(0x0004A0AC5A24DEFD), UINT64_C(0x0007C7625D1D184E),
+          UINT64_C(0x0005737B194A6A86)},
+         {UINT64_C(0x0008F38EC35EE99B), UINT64_C(0x0006D9BAA844775F),
+          UINT64_C(0x00046F84DF77B762), UINT64_C(0x0002544D6FE58FDC),
+          UINT64_C(0x00077B72BB7289FB)},
+         {UINT64_C(0x000DD166D7288C6E), UINT64_C(0x0001C67A51DA413C),
+          UINT64_C(0x0006973C6FAD10E1), UINT64_C(0x00031DE5E5EDA939),
+          UINT64_C(0x000393F71ED28892)}},
+        {{UINT64_C(0x000B1C84EECF7E6B), UINT64_C(0x00056A60AC35BAB2),
+          UINT64_C(0x0002F06DF1910A93), UINT64_C(0x0000618DC5FAEB06),
+          UINT64_C(0x0001D49317BBBDF6)},
+         {UINT64_C(0x000493F2A36F71D9), UINT64_C(0x00040122E257F266),
+          UINT64_C(0x00007974D73D3705), UINT64_C(0x0001276FD01A753E),
+          UINT64_C(0x000756654735EC6A)},
+         {UINT64_C(0x0007DB79632DD089), UINT64_C(0x0001FE3FA5F4A3F7),
+          UINT64_C(0x0001716E3C167A6F), UINT64_C(0x00053B6AA21FEB09),
+          UINT64_C(0x00023EC2880EEB4A)}},
+        {{UINT64_C(0x00025A84454FFE86), UINT64_C(0x000780F2E547DCDF),
+          UINT64_C(0x000701A2C14FDED4), UINT64_C(0x0004B8A116F259A3),
+          UINT64_C(0x000695574E1284BB)},
+         {UINT64_C(0x000D30440055360D), UINT64_C(0x00003410B657F1F4),
+          UINT64_C(0x0006EE23795C3521), UINT64_C(0x0004C9A2F7E3A24B),
+          UINT64_C(0x0000FD8B32023BD7)},
+         {UINT64_C(0x000AE6F82F35FF69), UINT64_C(0x0003F3D6F04FB2C4),
+          UINT64_C(0x00005F2596E4AACD), UINT64_C(0x0007F09E9725486A),
+          UINT64_C(0x00062C57118684FB)}},
+        {{UINT64_C(0x00071AB6451B13D2), UINT64_C(0x000619FA9ABFE206),
+          UINT64_C(0x0004C28E4E8FA08C), UINT64_C(0x0002CEE0DAC526F3),
+          UINT64_C(0x0005F61B37975A6F)},
+         {UINT64_C(0x00015634247F1514), UINT64_C(0x00043246C09599E2),
+          UINT64_C(0x000502B5C89D4562), UINT64_C(0x00055B6E5B70BD64),
+          UINT64_C(0x0000924E7D2DA3A4)},
+         {UINT64_C(0x000DC2A7C58A69B5), UINT64_C(0x0007579FCF83B046),
+          UINT64_C(0x000490212587ACC9), UINT64_C(0x00042C0D4FB52DDA),
+          UINT64_C(0x0006EA269EA5E4FF)}},
+        {{UINT64_C(0x000FAB3168E74931), UINT64_C(0x000009FC282310C8),
+          UINT64_C(0x0002E357A087E03B), UINT64_C(0x0002E82B3F54812E),
+          UINT64_C(0x0000A1378335E998)},
+         {UINT64_C(0x0009E98B211CF746), UINT64_C(0x000294635069D795),
+          UINT64_C(0x00066C9A8A94C197), UINT64_C(0x00049DBA942CC086),
+          UINT64_C(0x00038BE03A6F71F4)},
+         {UINT64_C(0x000D42F0FB6C56DF), UINT64_C(0x0003D1EF830454E8),
+          UINT64_C(0x000225CD3F51B513), UINT64_C(0x00002F23E7710F71),
+          UINT64_C(0x0007ED09816C213D)}},
+        {{UINT64_C(0x000475A30D2F95C3), UINT64_C(0x0006534DABA67C75),
+          UINT64_C(0x0005FFF4349E9DCF), UINT64_C(0x0005741BFE20E51E),
+          UINT64_C(0x0007C9C06E28F6DB)},
+         {UINT64_C(0x0004C91D367D647C), UINT64_C(0x0005DB920659E98B),
+          UINT64_C(0x0006E2DC6EDEAE13), UINT64_C(0x00045FADDDCD7438),
+          UINT64_C(0x0006A3D3CCDD5BDE)},
+         {UINT64_C(0x000030AFB5D712D2), UINT64_C(0x0004232A6E545B6F),
+          UINT64_C(0x0006CC8095D31E5A), UINT64_C(0x0005E95D17B4F93D),
+          UINT64_C(0x000640826F938DB4)}},
+        {{UINT64_C(0x00054E864AE39A36), UINT64_C(0x00075453A7420C12),
+          UINT64_C(0x0007550FC0647586), UINT64_C(0x0000CE261F056DAC),
+          UINT64_C(0x0006EC06688237F9)},
+         {UINT64_C(0x00009D858855A118), UINT64_C(0x00035D6E1CAC4C58),
+          UINT64_C(0x00051BC56EDB0309), UINT64_C(0x00056720925976FA),
+          UINT64_C(0x0003095195EC98C0)},
+         {UINT64_C(0x00028453ABBCD94C), UINT64_C(0x0000442BD67826FA),
+          UINT64_C(0x00027091B2C7D123), UINT64_C(0x00053D5CE098F2DF),
+          UINT64_C(0x00033B91CBED8C33)}},
+        {{UINT64_C(0x00031BB1AEC4EB7B), UINT64_C(0x000404BD71986FBA),
+          UINT64_C(0x000789F140F41C34), UINT64_C(0x00046319EC635090),
+          UINT64_C(0x00062555BCEF03FC)},
+         {UINT64_C(0x000B7957AF9DF20B), UINT64_C(0x00061499B0C64744),
+          UINT64_C(0x0005A1460AB6F031), UINT64_C(0x000254B48FE3B63C),
+          UINT64_C(0x000138DA1B0B8458)},
+         {UINT64_C(0x0008FC31F72B00C5), UINT64_C(0x00009260DAF93E82),
+          UINT64_C(0x0007724F21722EEC), UINT64_C(0x00065104B46DE00D),
+          UINT64_C(0x0005C74C4AADE4A1)}},
+        {{UINT64_C(0x000C942D7E200CDA), UINT64_C(0x0004DCCF2C9062F8),
+          UINT64_C(0x00033C6DC30EF168), UINT64_C(0x0005876E586F49F0),
+          UINT64_C(0x0005C625124B23D5)},
+         {UINT64_C(0x000AF942F3B8567F), UINT64_C(0x00068DD426ED4B8D),
+          UINT64_C(0x00074CE2434E2244), UINT64_C(0x0005BC01452BAF26),
+          UINT64_C(0x00068D340AA53E01)},
+         {UINT64_C(0x00062BADB88E1FEE), UINT64_C(0x00001B7927E30590),
+          UINT64_C(0x0007FB96EBA04357), UINT64_C(0x00063C4C5B983654),
+          UINT64_C(0x0003CB27C00B0E03)}},
+        {{UINT64_C(0x0003A8ABA3BA06D8), UINT64_C(0x0005183A547A5052),
+          UINT64_C(0x0002FA684E05B048), UINT64_C(0x00037DC680820759),
+          UINT64_C(0x0003A758E398D110)},
+         {UINT64_C(0x000AE41D00F8BBE3), UINT64_C(0x0007C91843988CEE),
+          UINT64_C(0x00008AC196646158), UINT64_C(0x0004F9CA63F0D300),
+          UINT64_C(0x0004AE71F5595151)},
+         {UINT64_C(0x0009C5C331E75B70), UINT64_C(0x000034AEB589633E),
+          UINT64_C(0x0003A2AFA63836A6), UINT64_C(0x00071AA62CA57C97),
+          UINT64_C(0x0002588D39981664)}},
+        {{UINT64_C(0x0002F5861915F134), UINT64_C(0x0002E22B903AD5D1),
+          UINT64_C(0x0004B62079B373C7), UINT64_C(0x0006E593A78A5789),
+          UINT64_C(0x0006ACFA4114B928)},
+         {UINT64_C(0x000845994C9F8482), UINT64_C(0x00018D23FF32CC4E),
+          UINT64_C(0x0001EF02A3741210), UINT64_C(0x0003A1F60A318F68),
+          UINT64_C(0x00074BBE122C022E)},
+         {UINT64_C(0x000235F03B8817CF), UINT64_C(0x0004136EC580474B),
+          UINT64_C(0x00030B5BE4C70BFD), UINT64_C(0x0006771287C6A491),
+          UINT64_C(0x0004EE10D834F1D6)}},
+        {{UINT64_C(0x0009238C49B5B594), UINT64_C(0x0006D951D5930D4A),
+          UINT64_C(0x00052C92A1704BF4), UINT64_C(0x00058049C0061E24),
+          UINT64_C(0x0003414A1DFBD8A0)},
+         {UINT64_C(0x0003B17B475F899E), UINT64_C(0x0000A207F4C1C87F),
+          UINT64_C(0x00005DAC41647336), UINT64_C(0x000017D58BC6FE28),
+          UINT64_C(0x00006090A9CB1708)},
+         {UINT64_C(0x0000E353DF9AED9F), UINT64_C(0x000211A100A66400),
+          UINT64_C(0x000537F1DBBF53C6), UINT64_C(0x00061176C39FF089),
+          UINT64_C(0x0000ED4DD7183518)}},
+        {{UINT64_C(0x000D4A93DE96CDC1), UINT64_C(0x0001C832B89CB8A0),
+          UINT64_C(0x000203277525319E), UINT64_C(0x0004CEE0F6725575),
+          UINT64_C(0x00070ED69AF9BF53)},
+         {UINT64_C(0x000C17F8BAA5AAC7), UINT64_C(0x0006AF4ABBDC969F),
+          UINT64_C(0x0003A0E69B82101E), UINT64_C(0x0006234479D6A63E),
+          UINT64_C(0x0002BF20728C2007)},
+         {UINT64_C(0x00063FEF01AE2A02), UINT64_C(0x0001C86F09FC4AF4),
+          UINT64_C(0x00069A1DE168EBCE), UINT64_C(0x00063F996EFB8433),
+          UINT64_C(0x00072A687DA051BD)}},
+        {{UINT64_C(0x000A8952F3FB5F0C), UINT64_C(0x00022194DC688FAE),
+          UINT64_C(0x0006F9F5064736BF), UINT64_C(0x0007A6A4D691B9DB),
+          UINT64_C(0x0007F5B139E354FB)},
+         {UINT64_C(0x0000B63808606E6E), UINT64_C(0x0005E413F0FE0384),
+          UINT64_C(0x00024FB74A712242), UINT64_C(0x00027B1CB73DDC68),
+          UINT64_C(0x0006285935149BF9)},
+         {UINT64_C(0x000D30A9D3AC7820), UINT64_C(0x0002B97ED3978DF1),
+          UINT64_C(0x0003681BAB9F5289), UINT64_C(0x0000D844B826D276),
+          UINT64_C(0x000784A758F5FDDE)}},
+        {{UINT64_C(0x0005EF9827213EE3), UINT64_C(0x00042F84E4310A41),
+          UINT64_C(0x0004A5143748EB06), UINT64_C(0x0003190974F9FF92),
+          UINT64_C(0x0005016A42C2EB4B)},
+         {UINT64_C(0x00000CB993776C25), UINT64_C(0x0005E9694BF91DF4),
+          UINT64_C(0x00056BC66736D688), UINT64_C(0x0002EC931ADE934B),
+          UINT64_C(0x0001A9C364E091BF)},
+         {UINT64_C(0x000E211DC7632283), UINT64_C(0x00035BE411AEEFD3),
+          UINT64_C(0x00015DAFEBCCAC46), UINT64_C(0x00037714AEB785FD),
+          UINT64_C(0x0006253CC0A245FF)}},
+        {{UINT64_C(0x00029AF81A0D1BD2), UINT64_C(0x00003B61C799BE14),
+          UINT64_C(0x0001C03C6426B11A), UINT64_C(0x0007F386EC4C5C3C),
+          UINT64_C(0x0000B2BC5FE81F9E)},
+         {UINT64_C(0x000AD04EE82724D3), UINT64_C(0x0005B1D7846B04CA),
+          UINT64_C(0x00033D35B52BC659), UINT64_C(0x000135A47CD22439),
+          UINT64_C(0x0007D7B6CAEA433E)},
+         {UINT64_C(0x000850D32772E3DB), UINT64_C(0x000582BED8E87C91),
+          UINT64_C(0x000198367AE74473), UINT64_C(0x0002F5A5839CEAE9),
+          UINT64_C(0x0002B8174D7564F2)}},
+    },
+    {
+        {{UINT64_C(0x0005F71E4CC72DC5), UINT64_C(0x000729408117FF19),
+          UINT64_C(0x000309B7A677423D), UINT64_C(0x0004839F84C2AB89),
+          UINT64_C(0x00008A95BA320E5D)},
+         {UINT64_C(0x00078965FDB1CB39), UINT64_C(0x0005F0C0D8298F25),
+          UINT64_C(0x00055C4EEDD50E22), UINT64_C(0x00023DC216E90B73),
+          UINT64_C(0x000797D03A50DC08)},
+         {UINT64_C(0x000D4CA0AD220D40), UINT64_C(0x00028CD933850D3B),
+          UINT64_C(0x0004D7EE3B9C333B), UINT64_C(0x0002966D4130006D),
+          UINT64_C(0x0000FBD61D1E8F9C)}},
+        {{UINT64_C(0x00009E516DAADA87), UINT64_C(0x0004EC925BC0EEEE),
+          UINT64_C(0x0006EFFBA132BCEB), UINT64_C(0x000724D09DAD4807),
+          UINT64_C(0x000452C79585B373)},
+         {UINT64_C(0x000F1401F95C5FB5), UINT64_C(0x0005A1CE98BCB0CF),
+          UINT64_C(0x000216304328D3D2), UINT64_C(0x0004BF1910725FC2),
+          UINT64_C(0x0004002028E1F6C0)},
+         {UINT64_C(0x000BCA6D33FB4AF5), UINT64_C(0x000699B08CFF3D9E),
+          UINT64_C(0x0000EA0CDC3C332C), UINT64_C(0x000630F4F9EAC5C7),
+          UINT64_C(0x000780B9E89D8FFA)}},
+        {{UINT64_C(0x000CF75D097A1682), UINT64_C(0x00032545E3AC653A),
+          UINT64_C(0x00029DB14F338894), UINT64_C(0x000351894CA83CAE),
+          UINT64_C(0x000318CEC53A3C6A)},
+         {UINT64_C(0x000F2E2D2A2EA810), UINT64_C(0x00054DDA2C9BB050),
+          UINT64_C(0x000290BE850E8961), UINT64_C(0x000287BC5EBC0BFC),
+          UINT64_C(0x00062D4620BB48F9)},
+         {UINT64_C(0x0005A0F8E756C417), UINT64_C(0x0004937AF0050D8E),
+          UINT64_C(0x0003DF98E8FBE4F8), UINT64_C(0x00073EF8BBA04BAC),
+          UINT64_C(0x0003743A4A505CD5)}},
+        {{UINT64_C(0x000AC304DDD850C1), UINT64_C(0x000116AE8E058E54),
+          UINT64_C(0x0003E025C2CAAABC), UINT64_C(0x0006FC6FE28AC49A),
+          UINT64_C(0x00016E67A015DEA5)},
+         {UINT64_C(0x0000CF3F158429CD), UINT64_C(0x000480063B01884B),
+          UINT64_C(0x000363368F078BE2), UINT64_C(0x000504AB7790BA1A),
+          UINT64_C(0x0006710350B446FA)},
+         {UINT64_C(0x000D8B8DE6397785), UINT64_C(0x000188CD6C441A62),
+          UINT64_C(0x0004AD0920B22E3C), UINT64_C(0x0005021ECF3C72DE),
+          UINT64_C(0x0003D133001D1ED5)}},
+        {{UINT64_C(0x000B60A8C5FAF1CD), UINT64_C(0x0004C53C423A845B),
+          UINT64_C(0x000520A9E9FA2A69), UINT64_C(0x00027D388A1F08D1),
+          UINT64_C(0x000032396160EC47)},
+         {UINT64_C(0x00038139094FAD75), UINT64_C(0x0003CD9876593CD5),
+          UINT64_C(0x00071333878088E4), UINT64_C(0x000201E8433445E6),
+          UINT64_C(0x000112302E7408FF)},
+         {UINT64_C(0x000CBFE63FC06EE2), UINT64_C(0x00027425B1F20DEB),
+          UINT64_C(0x000457B85B95B8B5), UINT64_C(0x00076DF4D98AEAFE),
+          UINT64_C(0x0004EC884BB0909D)}},
+        {{UINT64_C(0x000560BECBEEDE54), UINT64_C(0x000355F2A19E2A7B),
+          UINT64_C(0x0003AC869895D894), UINT64_C(0x0001B3A88FAF6472),
+          UINT64_C(0x00030150F70F46D2)},
+         {UINT64_C(0x000C4423AB869B40), UINT64_C(0x0003A52F86375064),
+          UINT64_C(0x00012F5BC0F20340), UINT64_C(0x0006CA222C7412D4),
+          UINT64_C(0x00032F1254041880)},
+         {UINT64_C(0x0002B2DBAB6499A6), UINT64_C(0x00011049F2328790),
+          UINT64_C(0x000696584124F8E2), UINT64_C(0x000142AB6165955E),
+          UINT64_C(0x00063E346DAEF2ED)}},
+        {{UINT64_C(0x000D39355730C824), UINT64_C(0x0003FC8CAC7D5529),
+          UINT64_C(0x00051C9605C77F3A), UINT64_C(0x0007A2A90B74D60C),
+          UINT64_C(0x0006FA2B0304B184)},
+         {UINT64_C(0x0004EB3441C3FCC1), UINT64_C(0x0002CACCC532F441),
+          UINT64_C(0x0005E09ACF224276), UINT64_C(0x00058A77259116FC),
+          UINT64_C(0x0000BDC2A63D5387)},
+         {UINT64_C(0x000F8EFB7463FFE8), UINT64_C(0x0001057CA428A821),
+          UINT64_C(0x0004ED380A470ED0), UINT64_C(0x00076F49D6CEF5F0),
+          UINT64_C(0x0003F9D2D6743030)}},
+        {{UINT64_C(0x0000AF30896CC3EF), UINT64_C(0x000201D4DF630DBA),
+          UINT64_C(0x00052E42F5AFF8BF), UINT64_C(0x00000EB77C14ACF5),
+          UINT64_C(0x0003CA2DFB8C5EDF)},
+         {UINT64_C(0x000B5A205B171808), UINT64_C(0x0004C56363842D6C),
+          UINT64_C(0x000292D70469611A), UINT64_C(0x0006D916356CD45A),
+          UINT64_C(0x0006B0027CD19FAB)},
+         {UINT64_C(0x00022B2713528A82), UINT64_C(0x0006E7BE33E7CEF0),
+          UINT64_C(0x000009FC8141F131), UINT64_C(0x0000150A7927D149),
+          UINT64_C(0x0003B14B0DA7FF44)}},
+        {{UINT64_C(0x00032EFED0F84103), UINT64_C(0x00019069CDCE6F9F),
+          UINT64_C(0x0005C6ACB2ABA640), UINT64_C(0x0006C2B81330E238),
+          UINT64_C(0x0003A809BBA9B370)},
+         {UINT64_C(0x0004BE6C8B688B18), UINT64_C(0x0001351C261FED04),
+          UINT64_C(0x0002C96D1BC48370), UINT64_C(0x0001E95E38FF6352),
+          UINT64_C(0x0007BEAD8D5751AA)},
+         {UINT64_C(0x00098F021AA4DB09), UINT64_C(0x00078CD1DC9071DF),
+          UINT64_C(0x000605F5C2A08E6A), UINT64_C(0x0002E7D15E83EE69),
+          UINT64_C(0x0000E6B2FF6D9875)}},
+        {{UINT64_C(0x0004DE5A07C4323E), UINT64_C(0x0002D406347B7064),
+          UINT64_C(0x0005AA73A0846C15), UINT64_C(0x0000B5C4D6C73A87),
+          UINT64_C(0x0002AA137FBF2494)},
+         {UINT64_C(0x0004685341C33279), UINT64_C(0x000082B2B0E321E2),
+          UINT64_C(0x0005643452806D72), UINT64_C(0x000626BA7990B3AF),
+          UINT64_C(0x0007CF53B95B4365)},
+         {UINT64_C(0x00013532346149FF), UINT64_C(0x0005947C275C07F1),
+          UINT64_C(0x00034F1270EB410F), UINT64_C(0x000514A7C01BF670),
+          UINT64_C(0x000407161B0257A8)}},
+        {{UINT64_C(0x00054B5C52AC8719), UINT64_C(0x0002D86CBEB0D6B0),
+          UINT64_C(0x0004F84A08F1266B), UINT64_C(0x0004D65F37B998EF),
+          UINT64_C(0x0006C27CE40B4135)},
+         {UINT64_C(0x0007BF812153FC77), UINT64_C(0x0005CDDD65D79B11),
+          UINT64_C(0x00054A7071923FF6), UINT64_C(0x00034FBFFF7FA918),
+          UINT64_C(0x000261A5361256A4)},
+         {UINT64_C(0x000B13BCE19AAFB7), UINT64_C(0x0006D3B746CE4B8F),
+          UINT64_C(0x00053A3635869292), UINT64_C(0x0007909536E7719B),
+          UINT64_C(0x000008EB20D956CC)}},
+        {{UINT64_C(0x00065CF97D492C5D), UINT64_C(0x00029D9BCEE03B91),
+          UINT64_C(0x0006041F5A49C183), UINT64_C(0x0002F8117A3A828F),
+          UINT64_C(0x000369E3DAD33DF2)},
+         {UINT64_C(0x000D5176A425F79F), UINT64_C(0x000343D6AB0DE966),
+          UINT64_C(0x00064EFB5C97C515), UINT64_C(0x0002BF9162998A39),
+          UINT64_C(0x00050EF13FEEC9EB)},
+         {UINT64_C(0x00039C0CFD97E85B), UINT64_C(0x000770E1CCBB013E),
+          UINT64_C(0x0005F03BD9F7D9C2), UINT64_C(0x000690F1EE2F80E3),
+          UINT64_C(0x00071787D1339A82)}},
+        {{UINT64_C(0x000F7F42B80EB7F2), UINT64_C(0x000544C8293F8329),
+          UINT64_C(0x000122DA47640B5D), UINT64_C(0x0000FEAFA087BC4E),
+          UINT64_C(0x00059F0BB3B97004)},
+         {UINT64_C(0x0002AA28745CD9B5), UINT64_C(0x0007BC8D5CD03005),
+          UINT64_C(0x0001422C4B7A9189), UINT64_C(0x000282692E6090A7),
+          UINT64_C(0x0000867B47D33593)},
+         {UINT64_C(0x0003413E422FA5A2), UINT64_C(0x0006887164EBB90B),
+          UINT64_C(0x00065C5E1BFDB4A4), UINT64_C(0x0004B98C578628EE),
+          UINT64_C(0x0004E5352F622184)}},
+        {{UINT64_C(0x0002549D88E38B2F), UINT64_C(0x0004908DEAD628D9),
+          UINT64_C(0x000073E0A2E146D7), UINT64_C(0x000664C6FFF36209),
+          UINT64_C(0x000130159F64A292)},
+         {UINT64_C(0x000B964E8ECBEDBE), UINT64_C(0x00030E5C798B68B0),
+          UINT64_C(0x0004BFD953930A67), UINT64_C(0x0007CA03ABB678FB),
+          UINT64_C(0x00033FEF5B3D5B01)},
+         {UINT64_C(0x00098E12CCF396A9), UINT64_C(0x0003A8CA995F3788),
+          UINT64_C(0x0007482D4E5FAAC6), UINT64_C(0x00031D5A37583FCA),
+          UINT64_C(0x0006D982702EDC91)}},
+        {{UINT64_C(0x000BE837A054ACCB), UINT64_C(0x0004ECB51A8EF070),
+          UINT64_C(0x0002F2D57B4FCF60), UINT64_C(0x0004C1513045FB2B),
+          UINT64_C(0x00047770E3380A5B)},
+         {UINT64_C(0x000425BEF82D311B), UINT64_C(0x00002005D68620DC),
+          UINT64_C(0x0007325F0CD3FBE0), UINT64_C(0x0004EEFB9471E0EC),
+          UINT64_C(0x00028F8C67917260)},
+         {UINT64_C(0x000B0A66B88E76E6), UINT64_C(0x0000F3A2C9DA4F2E),
+          UINT64_C(0x0001EA49E958D92A), UINT64_C(0x000026E1BDBB6E03),
+          UINT64_C(0x0005029291E8FB70)}},
+        {{UINT64_C(0x000E54C9AEAECCC3), UINT64_C(0x000361674AC1790E),
+          UINT64_C(0x0006F9F28B87D9E7), UINT64_C(0x00018B8D2B452066),
+          UINT64_C(0x0007DB9345D70FBC)},
+         {UINT64_C(0x000F3DF99A78836C), UINT64_C(0x0004914D0D5AE148),
+          UINT64_C(0x000571EBD41C1239), UINT64_C(0x0005A51875241CFB),
+          UINT64_C(0x0007336AA1FEBF60)},
+         {UINT64_C(0x000A212F131FA1A5), UINT64_C(0x0000D92E88DEBB89),
+          UINT64_C(0x000558BFDAECA4D2), UINT64_C(0x000269A780A65DC8),
+          UINT64_C(0x0007265543B97C9D)}},
+    },
+    {
+        {{UINT64_C(0x0009BE522B9D7F04), UINT64_C(0x0004BC705622740B),
+          UINT64_C(0x0007E15EA4E4D172), UINT64_C(0x00038BD4A6FDEDBC),
+          UINT64_C(0x0005E8C142089478)},
+         {UINT64_C(0x00048C72EDCC8AA4), UINT64_C(0x0006C5E6065406FA),
+          UINT64_C(0x0006AF3701C24620), UINT64_C(0x00042EA0F2E70B8F),
+          UINT64_C(0x00033DFF74481155)},
+         {UINT64_C(0x000852E6A6E72D7C), UINT64_C(0x00042B699FEF3BF1),
+          UINT64_C(0x0005907EE2406991), UINT64_C(0x0004D36621FDF916),
+          UINT64_C(0x0006D7911C011B7B)}},
+        {{UINT64_C(0x000EBFE9B94F7A12), UINT64_C(0x0004824A85A9AC4B),
+          UINT64_C(0x00014EEF07D3D55D), UINT64_C(0x000513B829B2AE5C),
+          UINT64_C(0x0006011380B7D9CC)},
+         {UINT64_C(0x000A21168961EEA8), UINT64_C(0x00063CBB9BA57577),
+          UINT64_C(0x0006606B05EF2134), UINT64_C(0x0006B72A1D536E54),
+          UINT64_C(0x000661849203E9CC)},
+         {UINT64_C(0x0004C06869AEA3D6), UINT64_C(0x00021F578255BAF7),
+          UINT64_C(0x00067D1096E12882), UINT64_C(0x00050B150BD416A4),
+          UINT64_C(0x0002910322AC87CD)}},
+        {{UINT64_C(0x000644D63DB19259), UINT64_C(0x000547C0FCA86C59),
+          UINT64_C(0x0007A198D5D3FAEE), UINT64_C(0x0001E28699860365),
+          UINT64_C(0x0000EFE6732ABA42)},
+         {UINT64_C(0x000888204C12F590), UINT64_C(0x0001C8E5F2BFF85C),
+          UINT64_C(0x0001772AF32270BC), UINT64_C(0x0005D962EAAB3158),
+          UINT64_C(0x0001A34AB97418FB)},
+         {UINT64_C(0x0008D80BBC8528CC), UINT64_C(0x000241D41B76D92E),
+          UINT64_C(0x0004513FE5B63EE3), UINT64_C(0x00062D1B5DE35CE4),
+          UINT64_C(0x0005157C5E57C598)}},
+        {{UINT64_C(0x000BDB25BE3A9FD2), UINT64_C(0x000302ED2946793F),
+          UINT64_C(0x00012C506EF80331), UINT64_C(0x0006D13E5DECA318),
+          UINT64_C(0x00001A5DF0E20F25)},
+         {UINT64_C(0x000BC9FC9FF75DF0), UINT64_C(0x0000BF1C056F5479),
+          UINT64_C(0x00036E0E95E2CF70), UINT64_C(0x00058A068DA69D3D),
+          UINT64_C(0x0001555FC948F50D)},
+         {UINT64_C(0x000998A0950C1A1C), UINT64_C(0x0005358898A6636E),
+          UINT64_C(0x0001CC47B1220D25), UINT64_C(0x0007E929E197B7F1),
+          UINT64_C(0x0006FE5D94BC2454)}},
+        {{UINT64_C(0x000EABC2EB1D0B59), UINT64_C(0x0007A05C59336123),
+          UINT64_C(0x0007918FF8448B64), UINT64_C(0x00057A94A01CAB48),
+          UINT64_C(0x0002FF15B4CC7487)},
+         {UINT64_C(0x00008799019AECD9), UINT64_C(0x0003D8F58AC75312),
+          UINT64_C(0x0000D4A7DF2730C1), UINT64_C(0x0005E75D83B3FAC3),
+          UINT64_C(0x0007180E7E60D802)},
+         {UINT64_C(0x0005AEF92672CCE1), UINT64_C(0x0006637504959CA3),
+          UINT64_C(0x00053E5589BFA337), UINT64_C(0x0003A21A8478ED35),
+          UINT64_C(0x0002DD36E5AC50F9)}},
+        {{UINT64_C(0x00062DF8E260C004), UINT64_C(0x0004DE30E71B999A),
+          UINT64_C(0x00045C3FA066284D), UINT64_C(0x000331D9BB25623D),
+          UINT64_C(0x000202123595AEC6)},
+         {UINT64_C(0x00047A9FF0131346), UINT64_C(0x0003A150D3AAC3F1),
+          UINT64_C(0x00029452C6C88616), UINT64_C(0x0007CA8D3EC1A917),
+          UINT64_C(0x0006EEC72C9A0BF5)},
+         {UINT64_C(0x000F10845A21F448), UINT64_C(0x00001AAE742835C2),
+          UINT64_C(0x00025E4CFB83A17F), UINT64_C(0x0007BF8EB92AF3AB),
+          UINT64_C(0x000699BE9783E779)}},
+        {{UINT64_C(0x0001DC9C52A66972), UINT64_C(0x0002C0B904C59FBA),
+          UINT64_C(0x0006C89144084C6D), UINT64_C(0x00014AB65019CF29),
+          UINT64_C(0x00006EA2401AC315)},
+         {UINT64_C(0x000ADC23F3836291), UINT64_C(0x0002F1AD8C01F7C1),
+          UINT64_C(0x000205DF0C8922CF), UINT64_C(0x0001751FC5AEB310),
+          UINT64_C(0x0006F64DB4075476)},
+         {UINT64_C(0x000F82F426A80AE1), UINT64_C(0x00013C4A6E62FC16),
+          UINT64_C(0x0001FBCDF27E0B34), UINT64_C(0x00078E30B91EF3E6),
+          UINT64_C(0x000059CBEA565341)}},
+        {{UINT64_C(0x00062CB978126A51), UINT64_C(0x0004E2E7313211FE),
+          UINT64_C(0x00066E6E57EED552), UINT64_C(0x00009AE384794AC9),
+          UINT64_C(0x00077726F8AB9C55)},
+         {UINT64_C(0x0006D6C6C9E72C58), UINT64_C(0x00069723C749EA4F),
+          UINT64_C(0x0005631BCF116547), UINT64_C(0x0004E31FAB9D03A6),
+          UINT64_C(0x0002B7F538841EE2)},
+         {UINT64_C(0x000BD957A2809D3C), UINT64_C(0x000317F1DC4351FD),
+          UINT64_C(0x000701BA3438D796), UINT64_C(0x00009FBD6563EC5D),
+          UINT64_C(0x0003E98ABE5B2F47)}},
+        {{UINT64_C(0x000AE4190E276A10), UINT64_C(0x0001FFB966B8121D),
+          UINT64_C(0x0004FEEDA4D78B7E), UINT64_C(0x0005DB20D5551162),
+          UINT64_C(0x00030DC06EF26E4D)},
+         {UINT64_C(0x000A970255208159), UINT64_C(0x0001A104788B4AEF),
+          UINT64_C(0x00004D4C840BE3BE), UINT64_C(0x0006BD8A71949A6C),
+          UINT64_C(0x000651C9FF191728)},
+         {UINT64_C(0x000A44663267D2A4), UINT64_C(0x0001FC0CAB11E883),
+          UINT64_C(0x000785A12DE63089), UINT64_C(0x00006EC9E0189600),
+          UINT64_C(0x000375BF7E8AB1B8)}},
+        {{UINT64_C(0x000BFFBBC3B4CE41), UINT64_C(0x0003376A2003A823),
+          UINT64_C(0x000091EBF7910590), UINT64_C(0x00061FB8363DCA05),
+          UINT64_C(0x00042807BC01AD4E)},
+         {UINT64_C(0x000ACF6D9A5C7646), UINT64_C(0x000560F4B3AE3DC2),
+          UINT64_C(0x000183CCAE76BD95), UINT64_C(0x00065764DB513046),
+          UINT64_C(0x000214F42294E850)},
+         {UINT64_C(0x0000F3EDC763536B), UINT64_C(0x0004E9D5EF6B046E),
+          UINT64_C(0x000150D442C37994), UINT64_C(0x0001B54E80DE1472),
+          UINT64_C(0x00007A1D71EDF00C)}},
+        {{UINT64_C(0x00087407DBA8E90B), UINT64_C(0x0007E1C66322205F),
+          UINT64_C(0x0004FAC245ACCD04), UINT64_C(0x0002B13B4E297D86),
+          UINT64_C(0x000323B2D23AEDAE)},
+         {UINT64_C(0x0009941B92E19A5C), UINT64_C(0x000195BC242E04DB),
+          UINT64_C(0x0007CBD2DF69FF04), UINT64_C(0x0007CA419CC6C1BA),
+          UINT64_C(0x0002904A1B8DDF4F)},
+         {UINT64_C(0x00040957907BF307), UINT64_C(0x00015C68151C4FE7),
+          UINT64_C(0x0003DD3F01FB8E0F), UINT64_C(0x0003D31C808FC101),
+          UINT64_C(0x00066F1F09C544BB)}},
+        {{UINT64_C(0x0003F8A6A6C266C9), UINT64_C(0x0001000A75D2D728),
+          UINT64_C(0x000149100C338128), UINT64_C(0x00048CB6ED6D33B4),
+          UINT64_C(0x00069B7380105C27)},
+         {UINT64_C(0x000BBCA015BD1302), UINT64_C(0x000453E91EF883C4),
+          UINT64_C(0x000087A2C55564F3), UINT64_C(0x00028661DD26634D),
+          UINT64_C(0x0000504737350EB4)},
+         {UINT64_C(0x0003AE59A5B3D5E2), UINT64_C(0x0001545256AA2218),
+          UINT64_C(0x00064A0782A0BF22), UINT64_C(0x000365507C34B4AA),
+          UINT64_C(0x00032799B2146183)}},
+        {{UINT64_C(0x0003D6DBFB2DFB8B), UINT64_C(0x00022DF9277F3ECF),
+          UINT64_C(0x0000C42749A48685), UINT64_C(0x0001B0E7B30B31B5),
+          UINT64_C(0x00075EBF4439768D)},
+         {UINT64_C(0x00039F41CE757E5C), UINT64_C(0x0007F8600191731B),
+          UINT64_C(0x0006B2813E3967F5), UINT64_C(0x00015D1CE8E34A7E),
+          UINT64_C(0x00072FBC1F6F13D8)},
+         {UINT64_C(0x0004F6CF2E028861), UINT64_C(0x00020F869603ABDE),
+          UINT64_C(0x00042A4AA3F9DAAB), UINT64_C(0x0004A8C0AC2A2950),
+          UINT64_C(0x0004B1809E50B53C)}},
+        {{UINT64_C(0x00062DDA4C355837), UINT64_C(0x0002F17314E1EE8D),
+          UINT64_C(0x00078EBCB6E2323E), UINT64_C(0x0004543455D081FD),
+          UINT64_C(0x000791C9DA3066C1)},
+         {UINT64_C(0x0007AEA83D07CA0E), UINT64_C(0x000601D3C4BBCA6C),
+          UINT64_C(0x000438ECD2EB6B9E), UINT64_C(0x0005FE33D87D61C1),
+          UINT64_C(0x0002C2CD6F6EF8D2)},
+         {UINT64_C(0x0002DAEC4B332C81), UINT64_C(0x000600000F256A01),
+          UINT64_C(0x000647117D50194B), UINT64_C(0x0002A7D5456F092C),
+          UINT64_C(0x000398A204AC0606)}},
+        {{UINT64_C(0x00076419370EC4A0), UINT64_C(0x00012369939759B2),
+          UINT64_C(0x00023B2960FD0EE0), UINT64_C(0x0007AF17DB515E9B),
+          UINT64_C(0x0002CC3165DDFC91)},
+         {UINT64_C(0x0005EE1C6281CBB1), UINT64_C(0x00060699623D7D65),
+          UINT64_C(0x0000F3D85C23D284), UINT64_C(0x000018587E7669D1),
+          UINT64_C(0x000227AAF5D77845)},
+         {UINT64_C(0x000153114ADB9FC3), UINT64_C(0x000164F7102A9765),
+          UINT64_C(0x0006E7834D58BEE3), UINT64_C(0x0006F111F5E5ACB0),
+          UINT64_C(0x000162CF7ADDFFCA)}},
+        {{UINT64_C(0x00055D7C37A14EAC), UINT64_C(0x0005223EE335640C),
+          UINT64_C(0x000291B30C58F170), UINT64_C(0x00023A4EB047D54F),
+          UINT64_C(0x0002C3DDA0AF63CB)},
+         {UINT64_C(0x000C4C6EF153A948), UINT64_C(0x00004C4867916BA5),
+          UINT64_C(0x00035BE98811B8E0), UINT64_C(0x0004F3937F720308),
+          UINT64_C(0x00041AC616B68B67)},
+         {UINT64_C(0x000D47D0742C184D), UINT64_C(0x00063D7733EDA001),
+          UINT64_C(0x000609767EC0E926), UINT64_C(0x0006C3F5D59B36D0),
+          UINT64_C(0x0004B14DD7938C89)}},
+    }};
+
+/*-
+ * 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_256_paramSetA_carry_square(t0, X);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(t1, Y);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(t2, Z);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(t3, t2, t2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(X3, X, Y);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(Y3, X3);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(T3, Y3, t0);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(Z3, T3, t1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(Y3, t0, t1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t2, Y3, t3);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t3, t0, t1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, Z3, t2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, Z3, t3);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Z3, t2, Y3);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA_carry_mul(t0, X1, X2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t1, Y1, Y2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t2, d, T2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t2, T1, t2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(X3, X1, Y1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(Y3, X2, Y2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, X3, Y3);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t3, T3, t0);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(T3, t3, t1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(t3, Z1, t2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(Z3, Z1, t2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t1, t1, t0);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, T3, Z3);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, t3, t1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, T3, t1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA_carry_mul(t0, X1, X2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t1, Y1, Y2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t2, d, T2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t2, T1, t2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t3, Z1, Z2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(X3, X1, Y1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(Y3, X2, Y2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, X3, Y3);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(Z3, T3, t0);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(T3, Z3, t1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(Z3, t3, t2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(t3, t3, t2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t1, t1, t0);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, T3, Z3);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, t3, t1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, T3, t1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA_carry_add(t0, Z1, Y1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t1, Z1, Y1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, S, t0);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, Z1, T3);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Z3, X3, t1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t1, t1, T);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(t0, T3, t1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA_carry_sub(T3, X1, T);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(Y3, T3, S);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, T3, Y3);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Z3, Y1, Y3);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(T3, T3, S);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, Y1, T3);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, X3, Y3);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, X3, Z3);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, Y3, Z3);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_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[32], int idx) {
+    int widx, rshift;
+
+    widx = idx >> 3;
+    rshift = idx & 0x7;
+
+    if (idx < 0 || widx >= 32) 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[52], const unsigned char in[32]) {
+    int i;
+    char window, d;
+
+    window = (in[0] & (DRADIX_WNAF - 1)) | 1;
+    for (i = 0; i < 51; 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[257], const unsigned char in[32]) {
+    int i;
+    char window, d;
+
+    window = in[0] & (DRADIX_WNAF - 1);
+    for (i = 0; i < 257; 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[32],
+                              const unsigned char b[32], const pt_aff_t *P) {
+    int i, d, is_neg, is_inf = 1, flipped = 0;
+    char anaf[257] = {0};
+    char bnaf[257] = {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 = 256; 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_256_paramSetA_opp(Q.X, Q.X);
+                fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA_opp(Q.X, Q.X);
+                fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA_opp(Q.X, Q.X);
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA_inv(Q.Z, Q.Z);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(out->X, Q.X, Q.Z);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_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[32],
+                           const pt_aff_t *P) {
+    int i, j, d, diff, is_neg;
+    char rnaf[52] = {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[51] - 1) >> 1;
+    for (j = 0; j < DRADIX / 2; j++) {
+        diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.X, diff, Q.X,
+                                                            precomp[j].X);
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Y, diff, Q.Y,
+                                                            precomp[j].Y);
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.T, diff, Q.T,
+                                                            precomp[j].T);
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Z, diff, Q.Z,
+                                                            precomp[j].Z);
+    }
+
+    for (i = 50; 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_256_paramSetA_selectznz(
+                lut.X, diff, lut.X, precomp[j].X);
+            fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
+                lut.Y, diff, lut.Y, precomp[j].Y);
+            fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
+                lut.T, diff, lut.T, precomp[j].T);
+            fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
+                lut.Z, diff, lut.Z, precomp[j].Z);
+        }
+        /* negate lut point if digit is negative */
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(out->X, lut.X);
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(out->T, lut.T);
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(lut.X, is_neg,
+                                                            lut.X, out->X);
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA_opp(lut.X, precomp[0].X);
+    fe_copy(lut.Y, precomp[0].Y);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA_selectznz(Q.X, scalar[0] & 1,
+                                                        lut.X, Q.X);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Y, scalar[0] & 1,
+                                                        lut.Y, Q.Y);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.T, scalar[0] & 1,
+                                                        lut.T, Q.T);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA_inv(Q.Z, Q.Z);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(out->X, Q.X, Q.Z);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_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[32]) {
+    int i, j, k, d, diff, is_neg = 0;
+    char rnaf[52] = {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 = 3; i >= 0; i--) {
+        for (j = 0; i != 3 && j < RADIX; j++) point_double(&Q, &Q);
+        for (j = 0; j < 14; j++) {
+            if (j * 4 + i > 51) continue;
+            d = rnaf[j * 4 + 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_256_paramSetA_selectznz(
+                    lut.X, diff, lut.X, lut_cmb[j][k].X);
+                fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
+                    lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
+                fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
+                    lut.T, diff, lut.T, lut_cmb[j][k].T);
+            }
+            /* negate lut point if digit is negative */
+            fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(out->X, lut.X);
+            fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(out->T, lut.T);
+            fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(lut.X, is_neg,
+                                                                lut.X, out->X);
+            fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA_opp(lut.X, lut_cmb[0][0].X);
+    fe_copy(lut.Y, lut_cmb[0][0].Y);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(lut.T, lut_cmb[0][0].T);
+    point_add_mixed(&R, &Q, &lut);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.X, scalar[0] & 1, R.X,
+                                                        Q.X);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Y, scalar[0] & 1, R.Y,
+                                                        Q.Y);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.T, scalar[0] & 1, R.T,
+                                                        Q.T);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA_inv(Q.Z, Q.Z);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(out->X, Q.X, Q.Z);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(out->Y, Q.Y, Q.Z);
+}
+
+static void point_mul_two(unsigned char outx[32], unsigned char outy[32],
+                          const unsigned char a[32], const unsigned char b[32],
+                          const unsigned char inx[32],
+                          const unsigned char iny[32]) {
+    pt_aff_t P;
+
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes(P.X, inx);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes(P.Y, iny);
+    /* simultaneous scalar multiplication */
+    var_smul_wnaf_two(&P, a, b, &P);
+
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outx, P.X);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outy, P.Y);
+}
+
+static void point_mul_g(unsigned char outx[32], unsigned char outy[32],
+                        const unsigned char scalar[32]) {
+    pt_aff_t P;
+
+    /* fixed scmul function */
+    fixed_smul_cmb(&P, scalar);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outx, P.X);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outy, P.Y);
+}
+
+static void point_mul(unsigned char outx[32], unsigned char outy[32],
+                      const unsigned char scalar[32],
+                      const unsigned char inx[32],
+                      const unsigned char iny[32]) {
+    pt_aff_t P;
+
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes(P.X, inx);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes(P.Y, iny);
+    /* var scmul function */
+    var_smul_rwnaf(&P, scalar, &P);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outx, P.X);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outy, P.Y);
+}
+
+#include <openssl/ec.h>
+
+static const unsigned char const_zb[32] = {0};
+
+    int
+    point_mul_two_id_tc26_gost_3410_2012_256_paramSetA(
+        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[32];
+    unsigned char b_y[32];
+    unsigned char b_n[32];
+    unsigned char b_m[32];
+    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, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
+        BN_bn2lebinpad(n, b_n, 32) != 32 || BN_bn2lebinpad(m, b_m, 32) != 32)
+        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, 32) == 0 &&
+        CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
+        if (!EC_POINT_set_to_infinity(group, r)) goto err;
+    } else {
+        /* otherwise, pack the bytes into the result */
+        if (BN_lebin2bn(b_x, 32, x) == NULL ||
+            BN_lebin2bn(b_y, 32, 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_256_paramSetA(const EC_GROUP *group,
+                                                   EC_POINT *r,
+                                                   const EC_POINT *q,
+                                                   const BIGNUM *m,
+                                                   BN_CTX *ctx) {
+    int ret = 0;
+    unsigned char b_x[32];
+    unsigned char b_y[32];
+    unsigned char b_m[32];
+    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, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
+        BN_bn2lebinpad(m, b_m, 32) != 32)
+        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, 32) == 0 &&
+        CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
+        if (!EC_POINT_set_to_infinity(group, r)) goto err;
+    } else {
+        /* otherwise, pack the bytes into the result */
+        if (BN_lebin2bn(b_x, 32, x) == NULL ||
+            BN_lebin2bn(b_y, 32, 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_256_paramSetA(const EC_GROUP *group,
+                                                     EC_POINT *r,
+                                                     const BIGNUM *n,
+                                                     BN_CTX *ctx) {
+    int ret = 0;
+    unsigned char b_x[32];
+    unsigned char b_y[32];
+    unsigned char b_n[32];
+    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, 32) != 32)
+        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, 32) == 0 &&
+        CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
+        if (!EC_POINT_set_to_infinity(group, r)) goto err;
+    } else {
+        /* otherwise, pack the bytes into the result */
+        if (BN_lebin2bn(b_x, 32, x) == NULL ||
+            BN_lebin2bn(b_y, 32, 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 11
+/* 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_256_paramSetA_carry_add(c, a, b) \
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_add(c, a, b);          \
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry(c, c)
+#define fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(c, a, b) \
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_sub(c, a, b);          \
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA 32 '(auto)' '2^256 - 617' */
+/* curve description: id_tc26_gost_3410_2012_256_paramSetA */
+/* machine_wordsize = 32 (from "32") */
+/* requested operations: (all) */
+/* n = 11 (from "(auto)") */
+/* s-c = 2^256 - [(1, 617)] (from "2^256 - 617") */
+/* tight_bounds_multiplier = 1.1 (from "") */
+/*  */
+/* Computed values: */
+/* carry_chain = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 1] */
+/* eval z = z[0] + (z[1] << 24) + (z[2] << 47) + (z[3] << 70) + (z[4] << 94) + (z[5] << 117) + (z[6] << 140) + (z[7] << 163) + (z[8] << 187) + (z[9] << 210) + (z[10] << 233) */
+/* 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) */
+
+#include <stdint.h>
+typedef unsigned char fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1;
+typedef signed char fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA_addcarryx_u24 is an addition with carry.
+ * Postconditions:
+ *   out1 = (arg1 + arg2 + arg3) mod 2^24
+ *   out2 = ⌊(arg1 + arg2 + arg3) / 2^24⌋
+ *
+ * Input Bounds:
+ *   arg1: [0x0 ~> 0x1]
+ *   arg2: [0x0 ~> 0xffffff]
+ *   arg3: [0x0 ~> 0xffffff]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffff]
+ *   out2: [0x0 ~> 0x1]
+ */
+static void fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u24(
+    uint32_t *out1, fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 *out2,
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1, uint32_t arg2,
+    uint32_t arg3) {
+    uint32_t x1;
+    uint32_t x2;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x3;
+    x1 = ((arg1 + arg2) + arg3);
+    x2 = (x1 & UINT32_C(0xffffff));
+    x3 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x1 >> 24);
+    *out1 = x2;
+    *out2 = x3;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u24 is a subtraction with borrow.
+ * Postconditions:
+ *   out1 = (-arg1 + arg2 + -arg3) mod 2^24
+ *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^24⌋
+ *
+ * Input Bounds:
+ *   arg1: [0x0 ~> 0x1]
+ *   arg2: [0x0 ~> 0xffffff]
+ *   arg3: [0x0 ~> 0xffffff]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffff]
+ *   out2: [0x0 ~> 0x1]
+ */
+static void fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u24(
+    uint32_t *out1, fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 *out2,
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1, uint32_t arg2,
+    uint32_t arg3) {
+    int32_t x1;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_int1 x2;
+    uint32_t x3;
+    x1 = ((int32_t)(arg2 - arg1) - (int32_t)arg3);
+    x2 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_int1)(x1 >> 24);
+    x3 = (x1 & UINT32_C(0xffffff));
+    *out1 = x3;
+    *out2 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(0x0 - x2);
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA_addcarryx_u23(
+    uint32_t *out1, fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 *out2,
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1, uint32_t arg2,
+    uint32_t arg3) {
+    uint32_t x1;
+    uint32_t x2;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x3;
+    x1 = ((arg1 + arg2) + arg3);
+    x2 = (x1 & UINT32_C(0x7fffff));
+    x3 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x1 >> 23);
+    *out1 = x2;
+    *out2 = x3;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA_subborrowx_u23(
+    uint32_t *out1, fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 *out2,
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1, uint32_t arg2,
+    uint32_t arg3) {
+    int32_t x1;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_int1 x2;
+    uint32_t x3;
+    x1 = ((int32_t)(arg2 - arg1) - (int32_t)arg3);
+    x2 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_int1)(x1 >> 23);
+    x3 = (x1 & UINT32_C(0x7fffff));
+    *out1 = x3;
+    *out2 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(0x0 - x2);
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA_cmovznz_u32(
+    uint32_t *out1, fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1,
+    uint32_t arg2, uint32_t arg3) {
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x1;
+    uint32_t x2;
+    uint32_t x3;
+    x1 = (!(!arg1));
+    x2 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_int1)(0x0 - x1) &
+          UINT32_C(0xffffffff));
+    x3 = ((x2 & arg3) | ((~x2) & arg2));
+    *out1 = x3;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_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 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664]]
+ *   arg2: [[0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc]]
+ */
+static void fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(
+    uint32_t out1[11], const uint32_t arg1[11], const uint32_t arg2[11]) {
+    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;
+    uint32_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;
+    uint32_t x137;
+    uint64_t x138;
+    uint64_t x139;
+    uint32_t x140;
+    uint64_t x141;
+    uint64_t x142;
+    uint32_t x143;
+    uint64_t x144;
+    uint64_t x145;
+    uint32_t x146;
+    uint64_t x147;
+    uint64_t x148;
+    uint32_t x149;
+    uint64_t x150;
+    uint64_t x151;
+    uint32_t x152;
+    uint64_t x153;
+    uint64_t x154;
+    uint32_t x155;
+    uint64_t x156;
+    uint64_t x157;
+    uint32_t x158;
+    uint64_t x159;
+    uint64_t x160;
+    uint32_t x161;
+    uint64_t x162;
+    uint32_t x163;
+    uint32_t x164;
+    uint64_t x165;
+    uint64_t x166;
+    uint32_t x167;
+    uint32_t x168;
+    uint32_t x169;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x170;
+    uint32_t x171;
+    uint32_t x172;
+    x1 = (UINT16_C(0x269) * ((uint64_t)(arg1[10]) * (arg2[10])));
+    x2 = (UINT16_C(0x269) * ((uint64_t)(arg1[10]) * (arg2[9])));
+    x3 = (UINT16_C(0x269) * (((uint64_t)(arg1[10]) * (arg2[8])) * 0x2));
+    x4 = (UINT16_C(0x269) * ((uint64_t)(arg1[10]) * (arg2[7])));
+    x5 = (UINT16_C(0x269) * ((uint64_t)(arg1[10]) * (arg2[6])));
+    x6 = (UINT16_C(0x269) * ((uint64_t)(arg1[10]) * (arg2[5])));
+    x7 = (UINT16_C(0x269) * (((uint64_t)(arg1[10]) * (arg2[4])) * 0x2));
+    x8 = (UINT16_C(0x269) * ((uint64_t)(arg1[10]) * (arg2[3])));
+    x9 = (UINT16_C(0x269) * ((uint64_t)(arg1[10]) * (arg2[2])));
+    x10 = (UINT16_C(0x269) * (((uint64_t)(arg1[10]) * (arg2[1])) * 0x2));
+    x11 = (UINT16_C(0x269) * ((uint64_t)(arg1[9]) * (arg2[10])));
+    x12 = (UINT16_C(0x269) * (((uint64_t)(arg1[9]) * (arg2[9])) * 0x2));
+    x13 = (UINT16_C(0x269) * (((uint64_t)(arg1[9]) * (arg2[8])) * 0x2));
+    x14 = (UINT16_C(0x269) * ((uint64_t)(arg1[9]) * (arg2[7])));
+    x15 = (UINT16_C(0x269) * ((uint64_t)(arg1[9]) * (arg2[6])));
+    x16 = (UINT16_C(0x269) * (((uint64_t)(arg1[9]) * (arg2[5])) * 0x2));
+    x17 = (UINT16_C(0x269) * (((uint64_t)(arg1[9]) * (arg2[4])) * 0x2));
+    x18 = (UINT16_C(0x269) * ((uint64_t)(arg1[9]) * (arg2[3])));
+    x19 = (UINT16_C(0x269) * (((uint64_t)(arg1[9]) * (arg2[2])) * 0x2));
+    x20 = (UINT16_C(0x269) * (((uint64_t)(arg1[8]) * (arg2[10])) * 0x2));
+    x21 = (UINT16_C(0x269) * (((uint64_t)(arg1[8]) * (arg2[9])) * 0x2));
+    x22 = (UINT16_C(0x269) * (((uint64_t)(arg1[8]) * (arg2[8])) * 0x2));
+    x23 = (UINT16_C(0x269) * ((uint64_t)(arg1[8]) * (arg2[7])));
+    x24 = (UINT16_C(0x269) * (((uint64_t)(arg1[8]) * (arg2[6])) * 0x2));
+    x25 = (UINT16_C(0x269) * (((uint64_t)(arg1[8]) * (arg2[5])) * 0x2));
+    x26 = (UINT16_C(0x269) * (((uint64_t)(arg1[8]) * (arg2[4])) * 0x2));
+    x27 = (UINT16_C(0x269) * (((uint64_t)(arg1[8]) * (arg2[3])) * 0x2));
+    x28 = (UINT16_C(0x269) * ((uint64_t)(arg1[7]) * (arg2[10])));
+    x29 = (UINT16_C(0x269) * ((uint64_t)(arg1[7]) * (arg2[9])));
+    x30 = (UINT16_C(0x269) * ((uint64_t)(arg1[7]) * (arg2[8])));
+    x31 = (UINT16_C(0x269) * ((uint64_t)(arg1[7]) * (arg2[7])));
+    x32 = (UINT16_C(0x269) * ((uint64_t)(arg1[7]) * (arg2[6])));
+    x33 = (UINT16_C(0x269) * ((uint64_t)(arg1[7]) * (arg2[5])));
+    x34 = (UINT16_C(0x269) * (((uint64_t)(arg1[7]) * (arg2[4])) * 0x2));
+    x35 = (UINT16_C(0x269) * ((uint64_t)(arg1[6]) * (arg2[10])));
+    x36 = (UINT16_C(0x269) * ((uint64_t)(arg1[6]) * (arg2[9])));
+    x37 = (UINT16_C(0x269) * (((uint64_t)(arg1[6]) * (arg2[8])) * 0x2));
+    x38 = (UINT16_C(0x269) * ((uint64_t)(arg1[6]) * (arg2[7])));
+    x39 = (UINT16_C(0x269) * ((uint64_t)(arg1[6]) * (arg2[6])));
+    x40 = (UINT16_C(0x269) * (((uint64_t)(arg1[6]) * (arg2[5])) * 0x2));
+    x41 = (UINT16_C(0x269) * ((uint64_t)(arg1[5]) * (arg2[10])));
+    x42 = (UINT16_C(0x269) * (((uint64_t)(arg1[5]) * (arg2[9])) * 0x2));
+    x43 = (UINT16_C(0x269) * (((uint64_t)(arg1[5]) * (arg2[8])) * 0x2));
+    x44 = (UINT16_C(0x269) * ((uint64_t)(arg1[5]) * (arg2[7])));
+    x45 = (UINT16_C(0x269) * (((uint64_t)(arg1[5]) * (arg2[6])) * 0x2));
+    x46 = (UINT16_C(0x269) * (((uint64_t)(arg1[4]) * (arg2[10])) * 0x2));
+    x47 = (UINT16_C(0x269) * (((uint64_t)(arg1[4]) * (arg2[9])) * 0x2));
+    x48 = (UINT16_C(0x269) * (((uint64_t)(arg1[4]) * (arg2[8])) * 0x2));
+    x49 = (UINT16_C(0x269) * (((uint64_t)(arg1[4]) * (arg2[7])) * 0x2));
+    x50 = (UINT16_C(0x269) * ((uint64_t)(arg1[3]) * (arg2[10])));
+    x51 = (UINT16_C(0x269) * ((uint64_t)(arg1[3]) * (arg2[9])));
+    x52 = (UINT16_C(0x269) * (((uint64_t)(arg1[3]) * (arg2[8])) * 0x2));
+    x53 = (UINT16_C(0x269) * ((uint64_t)(arg1[2]) * (arg2[10])));
+    x54 = (UINT16_C(0x269) * (((uint64_t)(arg1[2]) * (arg2[9])) * 0x2));
+    x55 = (UINT16_C(0x269) * (((uint64_t)(arg1[1]) * (arg2[10])) * 0x2));
+    x56 = ((uint64_t)(arg1[10]) * (arg2[0]));
+    x57 = ((uint64_t)(arg1[9]) * ((arg2[1]) * 0x2));
+    x58 = ((uint64_t)(arg1[9]) * (arg2[0]));
+    x59 = ((uint64_t)(arg1[8]) * ((arg2[2]) * 0x2));
+    x60 = ((uint64_t)(arg1[8]) * ((arg2[1]) * 0x2));
+    x61 = ((uint64_t)(arg1[8]) * (arg2[0]));
+    x62 = ((uint64_t)(arg1[7]) * (arg2[3]));
+    x63 = ((uint64_t)(arg1[7]) * (arg2[2]));
+    x64 = ((uint64_t)(arg1[7]) * (arg2[1]));
+    x65 = ((uint64_t)(arg1[7]) * (arg2[0]));
+    x66 = ((uint64_t)(arg1[6]) * ((arg2[4]) * 0x2));
+    x67 = ((uint64_t)(arg1[6]) * (arg2[3]));
+    x68 = ((uint64_t)(arg1[6]) * (arg2[2]));
+    x69 = ((uint64_t)(arg1[6]) * ((arg2[1]) * 0x2));
+    x70 = ((uint64_t)(arg1[6]) * (arg2[0]));
+    x71 = ((uint64_t)(arg1[5]) * ((arg2[5]) * 0x2));
+    x72 = ((uint64_t)(arg1[5]) * ((arg2[4]) * 0x2));
+    x73 = ((uint64_t)(arg1[5]) * (arg2[3]));
+    x74 = ((uint64_t)(arg1[5]) * ((arg2[2]) * 0x2));
+    x75 = ((uint64_t)(arg1[5]) * ((arg2[1]) * 0x2));
+    x76 = ((uint64_t)(arg1[5]) * (arg2[0]));
+    x77 = ((uint64_t)(arg1[4]) * ((arg2[6]) * 0x2));
+    x78 = ((uint64_t)(arg1[4]) * ((arg2[5]) * 0x2));
+    x79 = ((uint64_t)(arg1[4]) * ((arg2[4]) * 0x2));
+    x80 = ((uint64_t)(arg1[4]) * ((arg2[3]) * 0x2));
+    x81 = ((uint64_t)(arg1[4]) * ((arg2[2]) * 0x2));
+    x82 = ((uint64_t)(arg1[4]) * ((arg2[1]) * 0x2));
+    x83 = ((uint64_t)(arg1[4]) * (arg2[0]));
+    x84 = ((uint64_t)(arg1[3]) * (arg2[7]));
+    x85 = ((uint64_t)(arg1[3]) * (arg2[6]));
+    x86 = ((uint64_t)(arg1[3]) * (arg2[5]));
+    x87 = ((uint64_t)(arg1[3]) * ((arg2[4]) * 0x2));
+    x88 = ((uint64_t)(arg1[3]) * (arg2[3]));
+    x89 = ((uint64_t)(arg1[3]) * (arg2[2]));
+    x90 = ((uint64_t)(arg1[3]) * (arg2[1]));
+    x91 = ((uint64_t)(arg1[3]) * (arg2[0]));
+    x92 = ((uint64_t)(arg1[2]) * ((arg2[8]) * 0x2));
+    x93 = ((uint64_t)(arg1[2]) * (arg2[7]));
+    x94 = ((uint64_t)(arg1[2]) * (arg2[6]));
+    x95 = ((uint64_t)(arg1[2]) * ((arg2[5]) * 0x2));
+    x96 = ((uint64_t)(arg1[2]) * ((arg2[4]) * 0x2));
+    x97 = ((uint64_t)(arg1[2]) * (arg2[3]));
+    x98 = ((uint64_t)(arg1[2]) * (arg2[2]));
+    x99 = ((uint64_t)(arg1[2]) * ((arg2[1]) * 0x2));
+    x100 = ((uint64_t)(arg1[2]) * (arg2[0]));
+    x101 = ((uint64_t)(arg1[1]) * ((arg2[9]) * 0x2));
+    x102 = ((uint64_t)(arg1[1]) * ((arg2[8]) * 0x2));
+    x103 = ((uint64_t)(arg1[1]) * (arg2[7]));
+    x104 = ((uint64_t)(arg1[1]) * ((arg2[6]) * 0x2));
+    x105 = ((uint64_t)(arg1[1]) * ((arg2[5]) * 0x2));
+    x106 = ((uint64_t)(arg1[1]) * ((arg2[4]) * 0x2));
+    x107 = ((uint64_t)(arg1[1]) * (arg2[3]));
+    x108 = ((uint64_t)(arg1[1]) * ((arg2[2]) * 0x2));
+    x109 = ((uint64_t)(arg1[1]) * ((arg2[1]) * 0x2));
+    x110 = ((uint64_t)(arg1[1]) * (arg2[0]));
+    x111 = ((uint64_t)(arg1[0]) * (arg2[10]));
+    x112 = ((uint64_t)(arg1[0]) * (arg2[9]));
+    x113 = ((uint64_t)(arg1[0]) * (arg2[8]));
+    x114 = ((uint64_t)(arg1[0]) * (arg2[7]));
+    x115 = ((uint64_t)(arg1[0]) * (arg2[6]));
+    x116 = ((uint64_t)(arg1[0]) * (arg2[5]));
+    x117 = ((uint64_t)(arg1[0]) * (arg2[4]));
+    x118 = ((uint64_t)(arg1[0]) * (arg2[3]));
+    x119 = ((uint64_t)(arg1[0]) * (arg2[2]));
+    x120 = ((uint64_t)(arg1[0]) * (arg2[1]));
+    x121 = ((uint64_t)(arg1[0]) * (arg2[0]));
+    x122 =
+        (x121 +
+         (x55 +
+          (x54 + (x52 + (x49 + (x45 + (x40 + (x34 + (x27 + (x19 + x10))))))))));
+    x123 = (x122 >> 24);
+    x124 = (uint32_t)(x122 & UINT32_C(0xffffff));
+    x125 =
+        (x111 +
+         (x101 +
+          (x92 + (x84 + (x77 + (x71 + (x66 + (x62 + (x59 + (x57 + x56))))))))));
+    x126 =
+        (x112 +
+         (x102 +
+          (x93 + (x85 + (x78 + (x72 + (x67 + (x63 + (x60 + (x58 + x1))))))))));
+    x127 =
+        (x113 +
+         (x103 +
+          (x94 + (x86 + (x79 + (x73 + (x68 + (x64 + (x61 + (x11 + x2))))))))));
+    x128 =
+        (x114 +
+         (x104 +
+          (x95 + (x87 + (x80 + (x74 + (x69 + (x65 + (x20 + (x12 + x3))))))))));
+    x129 =
+        (x115 +
+         (x105 +
+          (x96 + (x88 + (x81 + (x75 + (x70 + (x28 + (x21 + (x13 + x4))))))))));
+    x130 =
+        (x116 +
+         (x106 +
+          (x97 + (x89 + (x82 + (x76 + (x35 + (x29 + (x22 + (x14 + x5))))))))));
+    x131 =
+        (x117 +
+         (x107 +
+          (x98 + (x90 + (x83 + (x41 + (x36 + (x30 + (x23 + (x15 + x6))))))))));
+    x132 =
+        (x118 +
+         (x108 +
+          (x99 + (x91 + (x46 + (x42 + (x37 + (x31 + (x24 + (x16 + x7))))))))));
+    x133 =
+        (x119 +
+         (x109 +
+          (x100 + (x50 + (x47 + (x43 + (x38 + (x32 + (x25 + (x17 + x8))))))))));
+    x134 =
+        (x120 +
+         (x110 +
+          (x53 + (x51 + (x48 + (x44 + (x39 + (x33 + (x26 + (x18 + x9))))))))));
+    x135 = (x123 + x134);
+    x136 = (x135 >> 23);
+    x137 = (uint32_t)(x135 & UINT32_C(0x7fffff));
+    x138 = (x136 + x133);
+    x139 = (x138 >> 23);
+    x140 = (uint32_t)(x138 & UINT32_C(0x7fffff));
+    x141 = (x139 + x132);
+    x142 = (x141 >> 24);
+    x143 = (uint32_t)(x141 & UINT32_C(0xffffff));
+    x144 = (x142 + x131);
+    x145 = (x144 >> 23);
+    x146 = (uint32_t)(x144 & UINT32_C(0x7fffff));
+    x147 = (x145 + x130);
+    x148 = (x147 >> 23);
+    x149 = (uint32_t)(x147 & UINT32_C(0x7fffff));
+    x150 = (x148 + x129);
+    x151 = (x150 >> 23);
+    x152 = (uint32_t)(x150 & UINT32_C(0x7fffff));
+    x153 = (x151 + x128);
+    x154 = (x153 >> 24);
+    x155 = (uint32_t)(x153 & UINT32_C(0xffffff));
+    x156 = (x154 + x127);
+    x157 = (x156 >> 23);
+    x158 = (uint32_t)(x156 & UINT32_C(0x7fffff));
+    x159 = (x157 + x126);
+    x160 = (x159 >> 23);
+    x161 = (uint32_t)(x159 & UINT32_C(0x7fffff));
+    x162 = (x160 + x125);
+    x163 = (uint32_t)(x162 >> 23);
+    x164 = (uint32_t)(x162 & UINT32_C(0x7fffff));
+    x165 = ((uint64_t)UINT16_C(0x269) * x163);
+    x166 = (x124 + x165);
+    x167 = (uint32_t)(x166 >> 24);
+    x168 = (uint32_t)(x166 & UINT32_C(0xffffff));
+    x169 = (x167 + x137);
+    x170 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x169 >> 23);
+    x171 = (x169 & UINT32_C(0x7fffff));
+    x172 = (x170 + x140);
+    out1[0] = x168;
+    out1[1] = x171;
+    out1[2] = x172;
+    out1[3] = x143;
+    out1[4] = x146;
+    out1[5] = x149;
+    out1[6] = x152;
+    out1[7] = x155;
+    out1[8] = x158;
+    out1[9] = x161;
+    out1[10] = x164;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_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 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc]]
+ */
+static void fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(
+    uint32_t out1[11], const uint32_t arg1[11]) {
+    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;
+    uint32_t x16;
+    uint32_t x17;
+    uint32_t x18;
+    uint32_t x19;
+    uint32_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;
+    uint32_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;
+    uint32_t x102;
+    uint64_t x103;
+    uint64_t x104;
+    uint32_t x105;
+    uint64_t x106;
+    uint64_t x107;
+    uint32_t x108;
+    uint64_t x109;
+    uint64_t x110;
+    uint32_t x111;
+    uint64_t x112;
+    uint64_t x113;
+    uint32_t x114;
+    uint64_t x115;
+    uint64_t x116;
+    uint32_t x117;
+    uint64_t x118;
+    uint64_t x119;
+    uint32_t x120;
+    uint64_t x121;
+    uint64_t x122;
+    uint32_t x123;
+    uint64_t x124;
+    uint64_t x125;
+    uint32_t x126;
+    uint64_t x127;
+    uint32_t x128;
+    uint32_t x129;
+    uint64_t x130;
+    uint64_t x131;
+    uint32_t x132;
+    uint32_t x133;
+    uint32_t x134;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x135;
+    uint32_t x136;
+    uint32_t x137;
+    x1 = ((uint64_t)(arg1[10]) * UINT16_C(0x269));
+    x2 = (x1 * 0x2);
+    x3 = ((arg1[10]) * 0x2);
+    x4 = ((uint64_t)(arg1[9]) * UINT16_C(0x269));
+    x5 = (x4 * 0x2);
+    x6 = ((arg1[9]) * 0x2);
+    x7 = ((uint64_t)(arg1[8]) * UINT16_C(0x269));
+    x8 = (x7 * 0x2);
+    x9 = ((arg1[8]) * 0x2);
+    x10 = ((uint64_t)(arg1[7]) * UINT16_C(0x269));
+    x11 = (x10 * 0x2);
+    x12 = ((arg1[7]) * 0x2);
+    x13 = ((uint64_t)(arg1[6]) * UINT16_C(0x269));
+    x14 = (x13 * 0x2);
+    x15 = ((arg1[6]) * 0x2);
+    x16 = ((arg1[5]) * 0x2);
+    x17 = ((arg1[4]) * 0x2);
+    x18 = ((arg1[3]) * 0x2);
+    x19 = ((arg1[2]) * 0x2);
+    x20 = ((arg1[1]) * 0x2);
+    x21 = ((arg1[10]) * x1);
+    x22 = ((arg1[9]) * x2);
+    x23 = ((arg1[9]) * (x4 * 0x2));
+    x24 = ((arg1[8]) * (x2 * 0x2));
+    x25 = ((arg1[8]) * (x5 * 0x2));
+    x26 = ((arg1[8]) * (x7 * 0x2));
+    x27 = ((arg1[7]) * x2);
+    x28 = ((arg1[7]) * x5);
+    x29 = ((arg1[7]) * x8);
+    x30 = ((arg1[7]) * x10);
+    x31 = ((arg1[6]) * x2);
+    x32 = ((arg1[6]) * x5);
+    x33 = ((arg1[6]) * (x8 * 0x2));
+    x34 = ((arg1[6]) * x11);
+    x35 = ((arg1[6]) * x13);
+    x36 = ((arg1[5]) * x2);
+    x37 = ((arg1[5]) * (x5 * 0x2));
+    x38 = ((arg1[5]) * (x8 * 0x2));
+    x39 = ((arg1[5]) * x11);
+    x40 = ((arg1[5]) * (x14 * 0x2));
+    x41 = ((uint64_t)(arg1[5]) * ((arg1[5]) * 0x2));
+    x42 = ((arg1[4]) * (x2 * 0x2));
+    x43 = ((arg1[4]) * (x5 * 0x2));
+    x44 = ((arg1[4]) * (x8 * 0x2));
+    x45 = ((arg1[4]) * (x11 * 0x2));
+    x46 = ((uint64_t)(arg1[4]) * (x15 * 0x2));
+    x47 = ((uint64_t)(arg1[4]) * (x16 * 0x2));
+    x48 = ((uint64_t)(arg1[4]) * ((arg1[4]) * 0x2));
+    x49 = ((arg1[3]) * x2);
+    x50 = ((arg1[3]) * x5);
+    x51 = ((arg1[3]) * (x8 * 0x2));
+    x52 = ((uint64_t)(arg1[3]) * x12);
+    x53 = ((uint64_t)(arg1[3]) * x15);
+    x54 = ((uint64_t)(arg1[3]) * x16);
+    x55 = ((uint64_t)(arg1[3]) * (x17 * 0x2));
+    x56 = ((uint64_t)(arg1[3]) * (arg1[3]));
+    x57 = ((arg1[2]) * x2);
+    x58 = ((arg1[2]) * (x5 * 0x2));
+    x59 = ((uint64_t)(arg1[2]) * (x9 * 0x2));
+    x60 = ((uint64_t)(arg1[2]) * x12);
+    x61 = ((uint64_t)(arg1[2]) * x15);
+    x62 = ((uint64_t)(arg1[2]) * (x16 * 0x2));
+    x63 = ((uint64_t)(arg1[2]) * (x17 * 0x2));
+    x64 = ((uint64_t)(arg1[2]) * x18);
+    x65 = ((uint64_t)(arg1[2]) * (arg1[2]));
+    x66 = ((arg1[1]) * (x2 * 0x2));
+    x67 = ((uint64_t)(arg1[1]) * (x6 * 0x2));
+    x68 = ((uint64_t)(arg1[1]) * (x9 * 0x2));
+    x69 = ((uint64_t)(arg1[1]) * x12);
+    x70 = ((uint64_t)(arg1[1]) * (x15 * 0x2));
+    x71 = ((uint64_t)(arg1[1]) * (x16 * 0x2));
+    x72 = ((uint64_t)(arg1[1]) * (x17 * 0x2));
+    x73 = ((uint64_t)(arg1[1]) * x18);
+    x74 = ((uint64_t)(arg1[1]) * (x19 * 0x2));
+    x75 = ((uint64_t)(arg1[1]) * ((arg1[1]) * 0x2));
+    x76 = ((uint64_t)(arg1[0]) * x3);
+    x77 = ((uint64_t)(arg1[0]) * x6);
+    x78 = ((uint64_t)(arg1[0]) * x9);
+    x79 = ((uint64_t)(arg1[0]) * x12);
+    x80 = ((uint64_t)(arg1[0]) * x15);
+    x81 = ((uint64_t)(arg1[0]) * x16);
+    x82 = ((uint64_t)(arg1[0]) * x17);
+    x83 = ((uint64_t)(arg1[0]) * x18);
+    x84 = ((uint64_t)(arg1[0]) * x19);
+    x85 = ((uint64_t)(arg1[0]) * x20);
+    x86 = ((uint64_t)(arg1[0]) * (arg1[0]));
+    x87 = (x86 + (x66 + (x58 + (x51 + (x45 + x40)))));
+    x88 = (x87 >> 24);
+    x89 = (uint32_t)(x87 & UINT32_C(0xffffff));
+    x90 = (x76 + (x67 + (x59 + (x52 + (x46 + x41)))));
+    x91 = (x77 + (x68 + (x60 + (x53 + (x47 + x21)))));
+    x92 = (x78 + (x69 + (x61 + (x54 + (x48 + x22)))));
+    x93 = (x79 + (x70 + (x62 + (x55 + (x24 + x23)))));
+    x94 = (x80 + (x71 + (x63 + (x56 + (x27 + x25)))));
+    x95 = (x81 + (x72 + (x64 + (x31 + (x28 + x26)))));
+    x96 = (x82 + (x73 + (x65 + (x36 + (x32 + x29)))));
+    x97 = (x83 + (x74 + (x42 + (x37 + (x33 + x30)))));
+    x98 = (x84 + (x75 + (x49 + (x43 + (x38 + x34)))));
+    x99 = (x85 + (x57 + (x50 + (x44 + (x39 + x35)))));
+    x100 = (x88 + x99);
+    x101 = (x100 >> 23);
+    x102 = (uint32_t)(x100 & UINT32_C(0x7fffff));
+    x103 = (x101 + x98);
+    x104 = (x103 >> 23);
+    x105 = (uint32_t)(x103 & UINT32_C(0x7fffff));
+    x106 = (x104 + x97);
+    x107 = (x106 >> 24);
+    x108 = (uint32_t)(x106 & UINT32_C(0xffffff));
+    x109 = (x107 + x96);
+    x110 = (x109 >> 23);
+    x111 = (uint32_t)(x109 & UINT32_C(0x7fffff));
+    x112 = (x110 + x95);
+    x113 = (x112 >> 23);
+    x114 = (uint32_t)(x112 & UINT32_C(0x7fffff));
+    x115 = (x113 + x94);
+    x116 = (x115 >> 23);
+    x117 = (uint32_t)(x115 & UINT32_C(0x7fffff));
+    x118 = (x116 + x93);
+    x119 = (x118 >> 24);
+    x120 = (uint32_t)(x118 & UINT32_C(0xffffff));
+    x121 = (x119 + x92);
+    x122 = (x121 >> 23);
+    x123 = (uint32_t)(x121 & UINT32_C(0x7fffff));
+    x124 = (x122 + x91);
+    x125 = (x124 >> 23);
+    x126 = (uint32_t)(x124 & UINT32_C(0x7fffff));
+    x127 = (x125 + x90);
+    x128 = (uint32_t)(x127 >> 23);
+    x129 = (uint32_t)(x127 & UINT32_C(0x7fffff));
+    x130 = ((uint64_t)UINT16_C(0x269) * x128);
+    x131 = (x89 + x130);
+    x132 = (uint32_t)(x131 >> 24);
+    x133 = (uint32_t)(x131 & UINT32_C(0xffffff));
+    x134 = (x132 + x102);
+    x135 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x134 >> 23);
+    x136 = (x134 & UINT32_C(0x7fffff));
+    x137 = (x135 + x105);
+    out1[0] = x133;
+    out1[1] = x136;
+    out1[2] = x137;
+    out1[3] = x108;
+    out1[4] = x111;
+    out1[5] = x114;
+    out1[6] = x117;
+    out1[7] = x120;
+    out1[8] = x123;
+    out1[9] = x126;
+    out1[10] = x129;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_carry reduces a field element.
+ * Postconditions:
+ *   eval out1 mod m = eval arg1 mod m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc]]
+ */
+static void fiat_id_tc26_gost_3410_2012_256_paramSetA_carry(
+    uint32_t out1[11], const uint32_t arg1[11]) {
+    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;
+    x1 = (arg1[0]);
+    x2 = ((x1 >> 24) + (arg1[1]));
+    x3 = ((x2 >> 23) + (arg1[2]));
+    x4 = ((x3 >> 23) + (arg1[3]));
+    x5 = ((x4 >> 24) + (arg1[4]));
+    x6 = ((x5 >> 23) + (arg1[5]));
+    x7 = ((x6 >> 23) + (arg1[6]));
+    x8 = ((x7 >> 23) + (arg1[7]));
+    x9 = ((x8 >> 24) + (arg1[8]));
+    x10 = ((x9 >> 23) + (arg1[9]));
+    x11 = ((x10 >> 23) + (arg1[10]));
+    x12 = ((x1 & UINT32_C(0xffffff)) + (UINT16_C(0x269) * (x11 >> 23)));
+    x13 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x12 >> 24) +
+           (x2 & UINT32_C(0x7fffff)));
+    x14 = (x12 & UINT32_C(0xffffff));
+    x15 = (x13 & UINT32_C(0x7fffff));
+    x16 = ((fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x13 >> 23) +
+           (x3 & UINT32_C(0x7fffff)));
+    x17 = (x4 & UINT32_C(0xffffff));
+    x18 = (x5 & UINT32_C(0x7fffff));
+    x19 = (x6 & UINT32_C(0x7fffff));
+    x20 = (x7 & UINT32_C(0x7fffff));
+    x21 = (x8 & UINT32_C(0xffffff));
+    x22 = (x9 & UINT32_C(0x7fffff));
+    x23 = (x10 & UINT32_C(0x7fffff));
+    x24 = (x11 & UINT32_C(0x7fffff));
+    out1[0] = x14;
+    out1[1] = x15;
+    out1[2] = x16;
+    out1[3] = x17;
+    out1[4] = x18;
+    out1[5] = x19;
+    out1[6] = x20;
+    out1[7] = x21;
+    out1[8] = x22;
+    out1[9] = x23;
+    out1[10] = x24;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_add adds two field elements.
+ * Postconditions:
+ *   eval out1 mod m = (eval arg1 + eval arg2) mod m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc]]
+ *   arg2: [[0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664]]
+ */
+static void fiat_id_tc26_gost_3410_2012_256_paramSetA_add(
+    uint32_t out1[11], const uint32_t arg1[11], const uint32_t arg2[11]) {
+    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;
+    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]));
+    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;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_sub subtracts two field elements.
+ * Postconditions:
+ *   eval out1 mod m = (eval arg1 - eval arg2) mod m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc]]
+ *   arg2: [[0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664]]
+ */
+static void fiat_id_tc26_gost_3410_2012_256_paramSetA_sub(
+    uint32_t out1[11], const uint32_t arg1[11], const uint32_t arg2[11]) {
+    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;
+    x1 = ((UINT32_C(0x1fffb2e) + (arg1[0])) - (arg2[0]));
+    x2 = ((UINT32_C(0xfffffe) + (arg1[1])) - (arg2[1]));
+    x3 = ((UINT32_C(0xfffffe) + (arg1[2])) - (arg2[2]));
+    x4 = ((UINT32_C(0x1fffffe) + (arg1[3])) - (arg2[3]));
+    x5 = ((UINT32_C(0xfffffe) + (arg1[4])) - (arg2[4]));
+    x6 = ((UINT32_C(0xfffffe) + (arg1[5])) - (arg2[5]));
+    x7 = ((UINT32_C(0xfffffe) + (arg1[6])) - (arg2[6]));
+    x8 = ((UINT32_C(0x1fffffe) + (arg1[7])) - (arg2[7]));
+    x9 = ((UINT32_C(0xfffffe) + (arg1[8])) - (arg2[8]));
+    x10 = ((UINT32_C(0xfffffe) + (arg1[9])) - (arg2[9]));
+    x11 = ((UINT32_C(0xfffffe) + (arg1[10])) - (arg2[10]));
+    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;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_opp negates a field element.
+ * Postconditions:
+ *   eval out1 mod m = -eval arg1 mod m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x34ccccb], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664], [0x0 ~> 0x1a66664]]
+ */
+static void fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(
+    uint32_t out1[11], const uint32_t arg1[11]) {
+    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;
+    x1 = (UINT32_C(0x1fffb2e) - (arg1[0]));
+    x2 = (UINT32_C(0xfffffe) - (arg1[1]));
+    x3 = (UINT32_C(0xfffffe) - (arg1[2]));
+    x4 = (UINT32_C(0x1fffffe) - (arg1[3]));
+    x5 = (UINT32_C(0xfffffe) - (arg1[4]));
+    x6 = (UINT32_C(0xfffffe) - (arg1[5]));
+    x7 = (UINT32_C(0xfffffe) - (arg1[6]));
+    x8 = (UINT32_C(0x1fffffe) - (arg1[7]));
+    x9 = (UINT32_C(0xfffffe) - (arg1[8]));
+    x10 = (UINT32_C(0xfffffe) - (arg1[9]));
+    x11 = (UINT32_C(0xfffffe) - (arg1[10]));
+    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;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_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]]
+ *   arg3: [[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]]
+ */
+static void fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
+    uint32_t out1[11], fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 arg1,
+    const uint32_t arg2[11], const uint32_t arg3[11]) {
+    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;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x1, arg1, (arg2[0]),
+                                                          (arg3[0]));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x2, arg1, (arg2[1]),
+                                                          (arg3[1]));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x3, arg1, (arg2[2]),
+                                                          (arg3[2]));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x4, arg1, (arg2[3]),
+                                                          (arg3[3]));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x5, arg1, (arg2[4]),
+                                                          (arg3[4]));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x6, arg1, (arg2[5]),
+                                                          (arg3[5]));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x7, arg1, (arg2[6]),
+                                                          (arg3[6]));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x8, arg1, (arg2[7]),
+                                                          (arg3[7]));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x9, arg1, (arg2[8]),
+                                                          (arg3[8]));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x10, arg1, (arg2[9]),
+                                                          (arg3[9]));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(
+        &x11, arg1, (arg2[10]), (arg3[10]));
+    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;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_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..31]
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc]]
+ * 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]]
+ */
+static void fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(
+    uint8_t out1[32], const uint32_t arg1[11]) {
+    uint32_t x1;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x2;
+    uint32_t x3;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x4;
+    uint32_t x5;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x6;
+    uint32_t x7;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x8;
+    uint32_t x9;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x10;
+    uint32_t x11;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x12;
+    uint32_t x13;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x14;
+    uint32_t x15;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x16;
+    uint32_t x17;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x18;
+    uint32_t x19;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x20;
+    uint32_t x21;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x22;
+    uint32_t x23;
+    uint32_t x24;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x25;
+    uint32_t x26;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x27;
+    uint32_t x28;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x29;
+    uint32_t x30;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x31;
+    uint32_t x32;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x33;
+    uint32_t x34;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x35;
+    uint32_t x36;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x37;
+    uint32_t x38;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x39;
+    uint32_t x40;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x41;
+    uint32_t x42;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x43;
+    uint32_t x44;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x45;
+    uint32_t x46;
+    uint32_t x47;
+    uint32_t x48;
+    uint32_t x49;
+    uint32_t x50;
+    uint32_t x51;
+    uint32_t x52;
+    uint32_t x53;
+    uint32_t x54;
+    uint32_t x55;
+    uint8_t x56;
+    uint8_t x57;
+    uint8_t x58;
+    uint8_t x59;
+    uint32_t x60;
+    uint8_t x61;
+    uint8_t x62;
+    uint8_t x63;
+    uint32_t x64;
+    uint32_t x65;
+    uint8_t x66;
+    uint32_t x67;
+    uint8_t x68;
+    uint8_t x69;
+    uint8_t x70;
+    uint32_t x71;
+    uint32_t x72;
+    uint8_t x73;
+    uint32_t x74;
+    uint8_t x75;
+    uint8_t x76;
+    uint8_t x77;
+    uint32_t x78;
+    uint32_t x79;
+    uint8_t x80;
+    uint32_t x81;
+    uint8_t x82;
+    uint8_t x83;
+    uint8_t x84;
+    uint32_t x85;
+    uint32_t x86;
+    uint8_t x87;
+    uint32_t x88;
+    uint8_t x89;
+    uint8_t x90;
+    uint8_t x91;
+    uint32_t x92;
+    uint32_t x93;
+    uint8_t x94;
+    uint32_t x95;
+    uint8_t x96;
+    uint8_t x97;
+    uint8_t x98;
+    uint32_t x99;
+    uint32_t x100;
+    uint8_t x101;
+    uint32_t x102;
+    uint8_t x103;
+    uint8_t x104;
+    uint8_t x105;
+    uint32_t x106;
+    uint32_t x107;
+    uint8_t x108;
+    uint32_t x109;
+    uint8_t x110;
+    uint8_t x111;
+    uint8_t x112;
+    uint32_t x113;
+    uint32_t x114;
+    uint8_t x115;
+    uint32_t x116;
+    uint8_t x117;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x118;
+    uint8_t x119;
+    uint32_t x120;
+    uint32_t x121;
+    uint8_t x122;
+    uint8_t x123;
+    uint8_t x124;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u24(
+        &x1, &x2, 0x0, (arg1[0]), UINT32_C(0xfffd97));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u23(
+        &x3, &x4, x2, (arg1[1]), UINT32_C(0x7fffff));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u23(
+        &x5, &x6, x4, (arg1[2]), UINT32_C(0x7fffff));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u24(
+        &x7, &x8, x6, (arg1[3]), UINT32_C(0xffffff));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u23(
+        &x9, &x10, x8, (arg1[4]), UINT32_C(0x7fffff));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u23(
+        &x11, &x12, x10, (arg1[5]), UINT32_C(0x7fffff));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u23(
+        &x13, &x14, x12, (arg1[6]), UINT32_C(0x7fffff));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u24(
+        &x15, &x16, x14, (arg1[7]), UINT32_C(0xffffff));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u23(
+        &x17, &x18, x16, (arg1[8]), UINT32_C(0x7fffff));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u23(
+        &x19, &x20, x18, (arg1[9]), UINT32_C(0x7fffff));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_subborrowx_u23(
+        &x21, &x22, x20, (arg1[10]), UINT32_C(0x7fffff));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_cmovznz_u32(&x23, x22, 0x0,
+                                                          UINT32_C(0xffffffff));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u24(
+        &x24, &x25, 0x0, x1, (x23 & UINT32_C(0xfffd97)));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u23(
+        &x26, &x27, x25, x3, (x23 & UINT32_C(0x7fffff)));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u23(
+        &x28, &x29, x27, x5, (x23 & UINT32_C(0x7fffff)));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u24(
+        &x30, &x31, x29, x7, (x23 & UINT32_C(0xffffff)));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u23(
+        &x32, &x33, x31, x9, (x23 & UINT32_C(0x7fffff)));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u23(
+        &x34, &x35, x33, x11, (x23 & UINT32_C(0x7fffff)));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u23(
+        &x36, &x37, x35, x13, (x23 & UINT32_C(0x7fffff)));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u24(
+        &x38, &x39, x37, x15, (x23 & UINT32_C(0xffffff)));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u23(
+        &x40, &x41, x39, x17, (x23 & UINT32_C(0x7fffff)));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u23(
+        &x42, &x43, x41, x19, (x23 & UINT32_C(0x7fffff)));
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_addcarryx_u23(
+        &x44, &x45, x43, x21, (x23 & UINT32_C(0x7fffff)));
+    x46 = (x44 * (uint32_t)0x2);
+    x47 = (x42 << 2);
+    x48 = (x40 << 3);
+    x49 = (x38 << 3);
+    x50 = (x36 << 4);
+    x51 = (x34 << 5);
+    x52 = (x32 << 6);
+    x53 = (x30 << 6);
+    x54 = (x28 << 7);
+    x55 = (x24 >> 8);
+    x56 = (uint8_t)(x24 & UINT8_C(0xff));
+    x57 = (uint8_t)(x55 >> 8);
+    x58 = (uint8_t)(x55 & UINT8_C(0xff));
+    x59 = (uint8_t)(x57 & UINT8_C(0xff));
+    x60 = (x26 >> 8);
+    x61 = (uint8_t)(x26 & UINT8_C(0xff));
+    x62 = (uint8_t)(x60 >> 8);
+    x63 = (uint8_t)(x60 & UINT8_C(0xff));
+    x64 = (x62 + x54);
+    x65 = (x64 >> 8);
+    x66 = (uint8_t)(x64 & UINT8_C(0xff));
+    x67 = (x65 >> 8);
+    x68 = (uint8_t)(x65 & UINT8_C(0xff));
+    x69 = (uint8_t)(x67 >> 8);
+    x70 = (uint8_t)(x67 & UINT8_C(0xff));
+    x71 = (x69 + x53);
+    x72 = (x71 >> 8);
+    x73 = (uint8_t)(x71 & UINT8_C(0xff));
+    x74 = (x72 >> 8);
+    x75 = (uint8_t)(x72 & UINT8_C(0xff));
+    x76 = (uint8_t)(x74 >> 8);
+    x77 = (uint8_t)(x74 & UINT8_C(0xff));
+    x78 = (x76 + x52);
+    x79 = (x78 >> 8);
+    x80 = (uint8_t)(x78 & UINT8_C(0xff));
+    x81 = (x79 >> 8);
+    x82 = (uint8_t)(x79 & UINT8_C(0xff));
+    x83 = (uint8_t)(x81 >> 8);
+    x84 = (uint8_t)(x81 & UINT8_C(0xff));
+    x85 = (x83 + x51);
+    x86 = (x85 >> 8);
+    x87 = (uint8_t)(x85 & UINT8_C(0xff));
+    x88 = (x86 >> 8);
+    x89 = (uint8_t)(x86 & UINT8_C(0xff));
+    x90 = (uint8_t)(x88 >> 8);
+    x91 = (uint8_t)(x88 & UINT8_C(0xff));
+    x92 = (x90 + x50);
+    x93 = (x92 >> 8);
+    x94 = (uint8_t)(x92 & UINT8_C(0xff));
+    x95 = (x93 >> 8);
+    x96 = (uint8_t)(x93 & UINT8_C(0xff));
+    x97 = (uint8_t)(x95 >> 8);
+    x98 = (uint8_t)(x95 & UINT8_C(0xff));
+    x99 = (x97 + x49);
+    x100 = (x99 >> 8);
+    x101 = (uint8_t)(x99 & UINT8_C(0xff));
+    x102 = (x100 >> 8);
+    x103 = (uint8_t)(x100 & UINT8_C(0xff));
+    x104 = (uint8_t)(x102 >> 8);
+    x105 = (uint8_t)(x102 & UINT8_C(0xff));
+    x106 = (x104 + x48);
+    x107 = (x106 >> 8);
+    x108 = (uint8_t)(x106 & UINT8_C(0xff));
+    x109 = (x107 >> 8);
+    x110 = (uint8_t)(x107 & UINT8_C(0xff));
+    x111 = (uint8_t)(x109 >> 8);
+    x112 = (uint8_t)(x109 & UINT8_C(0xff));
+    x113 = (x111 + x47);
+    x114 = (x113 >> 8);
+    x115 = (uint8_t)(x113 & UINT8_C(0xff));
+    x116 = (x114 >> 8);
+    x117 = (uint8_t)(x114 & UINT8_C(0xff));
+    x118 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x116 >> 8);
+    x119 = (uint8_t)(x116 & UINT8_C(0xff));
+    x120 = (x118 + x46);
+    x121 = (x120 >> 8);
+    x122 = (uint8_t)(x120 & UINT8_C(0xff));
+    x123 = (uint8_t)(x121 >> 8);
+    x124 = (uint8_t)(x121 & UINT8_C(0xff));
+    out1[0] = x56;
+    out1[1] = x58;
+    out1[2] = x59;
+    out1[3] = x61;
+    out1[4] = x63;
+    out1[5] = x66;
+    out1[6] = x68;
+    out1[7] = x70;
+    out1[8] = x73;
+    out1[9] = x75;
+    out1[10] = x77;
+    out1[11] = x80;
+    out1[12] = x82;
+    out1[13] = x84;
+    out1[14] = x87;
+    out1[15] = x89;
+    out1[16] = x91;
+    out1[17] = x94;
+    out1[18] = x96;
+    out1[19] = x98;
+    out1[20] = x101;
+    out1[21] = x103;
+    out1[22] = x105;
+    out1[23] = x108;
+    out1[24] = x110;
+    out1[25] = x112;
+    out1[26] = x115;
+    out1[27] = x117;
+    out1[28] = x119;
+    out1[29] = x122;
+    out1[30] = x124;
+    out1[31] = x123;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_256_paramSetA_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]]
+ * Output Bounds:
+ *   out1: [[0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x1199999], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc], [0x0 ~> 0x8ccccc]]
+ */
+static void fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes(
+    uint32_t out1[11], const uint8_t arg1[32]) {
+    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;
+    uint8_t x29;
+    uint32_t x30;
+    uint32_t x31;
+    uint8_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;
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1 x45;
+    uint32_t x46;
+    uint32_t x47;
+    uint8_t x48;
+    uint32_t x49;
+    uint32_t x50;
+    uint8_t x51;
+    uint32_t x52;
+    uint32_t x53;
+    uint8_t x54;
+    uint32_t x55;
+    uint32_t x56;
+    uint8_t x57;
+    uint32_t x58;
+    uint32_t x59;
+    uint8_t x60;
+    uint32_t x61;
+    uint32_t x62;
+    uint8_t x63;
+    uint32_t x64;
+    uint32_t x65;
+    uint8_t x66;
+    uint32_t x67;
+    uint32_t x68;
+    uint8_t x69;
+    uint32_t x70;
+    uint32_t x71;
+    x1 = ((uint32_t)(arg1[31]) << 15);
+    x2 = ((uint32_t)(arg1[30]) << 7);
+    x3 = ((uint32_t)(arg1[29]) << 22);
+    x4 = ((uint32_t)(arg1[28]) << 14);
+    x5 = ((uint32_t)(arg1[27]) << 6);
+    x6 = ((uint32_t)(arg1[26]) << 21);
+    x7 = ((uint32_t)(arg1[25]) << 13);
+    x8 = ((uint32_t)(arg1[24]) << 5);
+    x9 = ((uint32_t)(arg1[23]) << 21);
+    x10 = ((uint32_t)(arg1[22]) << 13);
+    x11 = ((uint32_t)(arg1[21]) << 5);
+    x12 = ((uint32_t)(arg1[20]) << 20);
+    x13 = ((uint32_t)(arg1[19]) << 12);
+    x14 = ((uint32_t)(arg1[18]) << 4);
+    x15 = ((uint32_t)(arg1[17]) << 19);
+    x16 = ((uint32_t)(arg1[16]) << 11);
+    x17 = ((uint32_t)(arg1[15]) << 3);
+    x18 = ((uint32_t)(arg1[14]) << 18);
+    x19 = ((uint32_t)(arg1[13]) << 10);
+    x20 = ((uint32_t)(arg1[12]) << 2);
+    x21 = ((uint32_t)(arg1[11]) << 18);
+    x22 = ((uint32_t)(arg1[10]) << 10);
+    x23 = ((uint32_t)(arg1[9]) << 2);
+    x24 = ((uint32_t)(arg1[8]) << 17);
+    x25 = ((uint32_t)(arg1[7]) << 9);
+    x26 = ((uint32_t)(arg1[6]) * 0x2);
+    x27 = ((uint32_t)(arg1[5]) << 16);
+    x28 = ((uint32_t)(arg1[4]) << 8);
+    x29 = (arg1[3]);
+    x30 = ((uint32_t)(arg1[2]) << 16);
+    x31 = ((uint32_t)(arg1[1]) << 8);
+    x32 = (arg1[0]);
+    x33 = (x32 + (x31 + x30));
+    x34 = (x33 & UINT32_C(0xffffff));
+    x35 = (x2 + x1);
+    x36 = (x5 + (x4 + x3));
+    x37 = (x8 + (x7 + x6));
+    x38 = (x11 + (x10 + x9));
+    x39 = (x14 + (x13 + x12));
+    x40 = (x17 + (x16 + x15));
+    x41 = (x20 + (x19 + x18));
+    x42 = (x23 + (x22 + x21));
+    x43 = (x26 + (x25 + x24));
+    x44 = (x29 + (x28 + x27));
+    x45 = (fiat_id_tc26_gost_3410_2012_256_paramSetA_uint1)(x44 >> 23);
+    x46 = (x44 & UINT32_C(0x7fffff));
+    x47 = (x45 + x43);
+    x48 = (uint8_t)(x47 >> 23);
+    x49 = (x47 & UINT32_C(0x7fffff));
+    x50 = (x48 + x42);
+    x51 = (uint8_t)(x50 >> 24);
+    x52 = (x50 & UINT32_C(0xffffff));
+    x53 = (x51 + x41);
+    x54 = (uint8_t)(x53 >> 23);
+    x55 = (x53 & UINT32_C(0x7fffff));
+    x56 = (x54 + x40);
+    x57 = (uint8_t)(x56 >> 23);
+    x58 = (x56 & UINT32_C(0x7fffff));
+    x59 = (x57 + x39);
+    x60 = (uint8_t)(x59 >> 23);
+    x61 = (x59 & UINT32_C(0x7fffff));
+    x62 = (x60 + x38);
+    x63 = (uint8_t)(x62 >> 24);
+    x64 = (x62 & UINT32_C(0xffffff));
+    x65 = (x63 + x37);
+    x66 = (uint8_t)(x65 >> 23);
+    x67 = (x65 & UINT32_C(0x7fffff));
+    x68 = (x66 + x36);
+    x69 = (uint8_t)(x68 >> 23);
+    x70 = (x68 & UINT32_C(0x7fffff));
+    x71 = (x69 + x35);
+    out1[0] = x34;
+    out1[1] = x46;
+    out1[2] = x49;
+    out1[3] = x52;
+    out1[4] = x55;
+    out1[5] = x58;
+    out1[6] = x61;
+    out1[7] = x64;
+    out1[8] = x67;
+    out1[9] = x70;
+    out1[10] = x71;
+}
+
+/* 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_256_paramSetA/fe_inv.op3
+ * custom repunit addition chain
+ */
+static void fiat_id_tc26_gost_3410_2012_256_paramSetA_inv(fe_t output,
+                                                          const fe_t t1) {
+    int i;
+    /* temporary variables */
+    fe_t acc, t16, t164, t2, t246, t32, t4, t64, t8, t80, t82;
+
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t2, acc, t1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t4, acc, t2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t4);
+    for (i = 0; i < 3; i++)
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t8, acc, t4);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t8);
+    for (i = 0; i < 7; i++)
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t16, acc, t8);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t16);
+    for (i = 0; i < 15; i++)
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t32, acc, t16);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t32);
+    for (i = 0; i < 31; i++)
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t64, acc, t32);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t64);
+    for (i = 0; i < 15; i++)
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t80, acc, t16);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t80);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t82, acc, t2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t82);
+    for (i = 0; i < 81; i++)
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t164, acc, t82);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t164);
+    for (i = 0; i < 81; i++)
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t246, acc, t82);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, t246);
+    for (i = 0; i < 2; i++)
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(acc, acc, t2);
+    for (i = 0; i < 3; i++)
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(acc, acc, t1);
+    for (i = 0; i < 2; i++)
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(acc, acc, t1);
+    for (i = 0; i < 2; i++)
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(output, acc, t1);
+}
+
+/* curve coefficient constants */
+
+static const limb_t const_one[11] = {
+    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)};
+
+static const limb_t const_d[11] = {
+    UINT32_C(0x00C7BFFB), UINT32_C(0x00432D6D), UINT32_C(0x006FCA45),
+    UINT32_C(0x005C026B), UINT32_C(0x0077D8A2), UINT32_C(0x0040995C),
+    UINT32_C(0x004FAD51), UINT32_C(0x00F17873), UINT32_C(0x007F502A),
+    UINT32_C(0x002DF060), UINT32_C(0x000302FB)};
+
+static const limb_t const_S[11] = {
+    UINT32_C(0x008E0ECD), UINT32_C(0x004F34A4), UINT32_C(0x00040D6E),
+    UINT32_C(0x0068FF65), UINT32_C(0x006209D7), UINT32_C(0x004FD9A8),
+    UINT32_C(0x000C14AB), UINT32_C(0x0043A1E3), UINT32_C(0x00602BF5),
+    UINT32_C(0x001483E7), UINT32_C(0x003F3F41)};
+
+static const limb_t const_T[11] = {
+    UINT32_C(0x00A14AAA), UINT32_C(0x0075DCE7), UINT32_C(0x007D4C60),
+    UINT32_C(0x0064AB11), UINT32_C(0x0013F970), UINT32_C(0x004AC43A),
+    UINT32_C(0x004D478D), UINT32_C(0x00D2E968), UINT32_C(0x003FE2B1),
+    UINT32_C(0x001CFD65), UINT32_C(0x0000807F)};
+
+/* LUT for scalar multiplication by comb interleaving */
+static const pt_aff_t lut_cmb[14][16] = {
+    {
+        {{UINT32_C(0x0000000D), 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(0x00A300E7), UINT32_C(0x002592DB), UINT32_C(0x0003F256),
+          UINT32_C(0x001FC8BA), UINT32_C(0x003E36FA), UINT32_C(0x0024E73F),
+          UINT32_C(0x007AB076), UINT32_C(0x00911871), UINT32_C(0x006B6690),
+          UINT32_C(0x000CAA91), UINT32_C(0x0030650F)},
+         {UINT32_C(0x0047155F), UINT32_C(0x00687527), UINT32_C(0x00334E61),
+          UINT32_C(0x009D3172), UINT32_C(0x0028CAB3), UINT32_C(0x005FBE39),
+          UINT32_C(0x003AF601), UINT32_C(0x005E3DC9), UINT32_C(0x00743557),
+          UINT32_C(0x0024A967), UINT32_C(0x007521C4)}},
+        {{UINT32_C(0x0051134C), UINT32_C(0x0063D934), UINT32_C(0x000994F4),
+          UINT32_C(0x00E91B07), UINT32_C(0x00439CFD), UINT32_C(0x0055A4D9),
+          UINT32_C(0x00181579), UINT32_C(0x0089F4E6), UINT32_C(0x005E989F),
+          UINT32_C(0x002C52EC), UINT32_C(0x0054E159)},
+         {UINT32_C(0x00DB5791), UINT32_C(0x00525DDC), UINT32_C(0x006F7908),
+          UINT32_C(0x00AAB332), UINT32_C(0x00279FCD), UINT32_C(0x00522145),
+          UINT32_C(0x0059CBA7), UINT32_C(0x00B33511), UINT32_C(0x000C6593),
+          UINT32_C(0x0059CF0A), UINT32_C(0x0016BDEB)},
+         {UINT32_C(0x00CBC030), UINT32_C(0x00732788), UINT32_C(0x005A0DF8),
+          UINT32_C(0x00C8799D), UINT32_C(0x0019C571), UINT32_C(0x0007F6EF),
+          UINT32_C(0x00729208), UINT32_C(0x00D7466B), UINT32_C(0x004ACA39),
+          UINT32_C(0x0056009D), UINT32_C(0x00586898)}},
+        {{UINT32_C(0x007058AD), UINT32_C(0x00094E45), UINT32_C(0x00420275),
+          UINT32_C(0x005FD239), UINT32_C(0x00444F1F), UINT32_C(0x00299CBF),
+          UINT32_C(0x002C9ADA), UINT32_C(0x00816030), UINT32_C(0x00255119),
+          UINT32_C(0x0004FD8A), UINT32_C(0x000F011D)},
+         {UINT32_C(0x00B22BCC), UINT32_C(0x00380EB0), UINT32_C(0x0075817F),
+          UINT32_C(0x00B68F07), UINT32_C(0x0065DD81), UINT32_C(0x00433816),
+          UINT32_C(0x005064DD), UINT32_C(0x00DF04CF), UINT32_C(0x000A89F8),
+          UINT32_C(0x0061BAC3), UINT32_C(0x002AEE30)},
+         {UINT32_C(0x00831C0C), UINT32_C(0x006D5422), UINT32_C(0x005EFCE9),
+          UINT32_C(0x004B9CD7), UINT32_C(0x003E61FB), UINT32_C(0x001487DD),
+          UINT32_C(0x0011779C), UINT32_C(0x0036DFD0), UINT32_C(0x005A0784),
+          UINT32_C(0x0059323A), UINT32_C(0x002BA6DC)}},
+        {{UINT32_C(0x00B0B356), UINT32_C(0x0066CD5D), UINT32_C(0x0010AFBC),
+          UINT32_C(0x00023E69), UINT32_C(0x007B3FA1), UINT32_C(0x003A3F07),
+          UINT32_C(0x007B8F99), UINT32_C(0x000415F9), UINT32_C(0x0073141E),
+          UINT32_C(0x00072DB3), UINT32_C(0x007B2887)},
+         {UINT32_C(0x00EFDCBE), UINT32_C(0x0061FDB8), UINT32_C(0x004A709F),
+          UINT32_C(0x00849CD0), UINT32_C(0x002A36FC), UINT32_C(0x003BB056),
+          UINT32_C(0x00356C38), UINT32_C(0x007A9084), UINT32_C(0x000B6422),
+          UINT32_C(0x00130D7D), UINT32_C(0x001CD6F3)},
+         {UINT32_C(0x00AA7E64), UINT32_C(0x0012D2BE), UINT32_C(0x0055120E),
+          UINT32_C(0x00938524), UINT32_C(0x000C79B2), UINT32_C(0x0058FE4B),
+          UINT32_C(0x00510FB7), UINT32_C(0x00D0F8E2), UINT32_C(0x0063F17F),
+          UINT32_C(0x002D4711), UINT32_C(0x002725A4)}},
+        {{UINT32_C(0x004C6781), UINT32_C(0x00627F87), UINT32_C(0x00489AA7),
+          UINT32_C(0x002F770F), UINT32_C(0x000D2620), UINT32_C(0x001E8468),
+          UINT32_C(0x003F6D7E), UINT32_C(0x00C5511D), UINT32_C(0x006CDB93),
+          UINT32_C(0x006842D1), UINT32_C(0x004D7CF0)},
+         {UINT32_C(0x00D1AE96), UINT32_C(0x0000090D), UINT32_C(0x0006C4DB),
+          UINT32_C(0x00CE5C55), UINT32_C(0x00144E90), UINT32_C(0x004BED80),
+          UINT32_C(0x004E53B7), UINT32_C(0x001FE39D), UINT32_C(0x0042F35D),
+          UINT32_C(0x004AEB11), UINT32_C(0x005F6DBA)},
+         {UINT32_C(0x00499A0E), UINT32_C(0x007885A2), UINT32_C(0x00030BDC),
+          UINT32_C(0x001EDFDB), UINT32_C(0x00438B15), UINT32_C(0x0072B2EE),
+          UINT32_C(0x004AC01E), UINT32_C(0x003EC678), UINT32_C(0x005F2133),
+          UINT32_C(0x0011BD06), UINT32_C(0x002EA8E4)}},
+        {{UINT32_C(0x00226F30), UINT32_C(0x005E7B60), UINT32_C(0x0009837F),
+          UINT32_C(0x00851533), UINT32_C(0x0006EFB9), UINT32_C(0x00130938),
+          UINT32_C(0x001063CE), UINT32_C(0x0019C098), UINT32_C(0x00605AC6),
+          UINT32_C(0x004D2A8D), UINT32_C(0x00240305)},
+         {UINT32_C(0x006AE25F), UINT32_C(0x000EF2E0), UINT32_C(0x001F427E),
+          UINT32_C(0x00CD4540), UINT32_C(0x003C6996), UINT32_C(0x0035E452),
+          UINT32_C(0x005A6442), UINT32_C(0x007BC7A6), UINT32_C(0x003D0529),
+          UINT32_C(0x0021E8F3), UINT32_C(0x0052A46E)},
+         {UINT32_C(0x007F4E9D), UINT32_C(0x000ECC55), UINT32_C(0x0037EE5A),
+          UINT32_C(0x004ADDB7), UINT32_C(0x004DA3F4), UINT32_C(0x005764C9),
+          UINT32_C(0x001C40F1), UINT32_C(0x00C1111E), UINT32_C(0x000B0764),
+          UINT32_C(0x007DD2E6), UINT32_C(0x001388A4)}},
+        {{UINT32_C(0x0095A16C), UINT32_C(0x0008DD08), UINT32_C(0x005FC5C5),
+          UINT32_C(0x0081C743), UINT32_C(0x0000D180), UINT32_C(0x000F8EE9),
+          UINT32_C(0x0003FEF5), UINT32_C(0x00CF52AF), UINT32_C(0x007E4EDC),
+          UINT32_C(0x0052DFAC), UINT32_C(0x0057C4FB)},
+         {UINT32_C(0x00E2B732), UINT32_C(0x005BEBA4), UINT32_C(0x001D1662),
+          UINT32_C(0x00FE39C5), UINT32_C(0x0058807D), UINT32_C(0x004BBC55),
+          UINT32_C(0x0020454A), UINT32_C(0x00A84E47), UINT32_C(0x0034B9B8),
+          UINT32_C(0x004B9BC7), UINT32_C(0x00362B2B)},
+         {UINT32_C(0x00D51136), UINT32_C(0x0005D2D8), UINT32_C(0x000FECF5),
+          UINT32_C(0x0088AA07), UINT32_C(0x004BB57C), UINT32_C(0x003A4AD1),
+          UINT32_C(0x001B78C1), UINT32_C(0x00162747), UINT32_C(0x002DBFA9),
+          UINT32_C(0x0017B251), UINT32_C(0x00431084)}},
+        {{UINT32_C(0x003DC33C), UINT32_C(0x00238321), UINT32_C(0x002858CB),
+          UINT32_C(0x006E05B3), UINT32_C(0x000F55FA), UINT32_C(0x002BA1C2),
+          UINT32_C(0x007BBFD4), UINT32_C(0x00A06A51), UINT32_C(0x003672AF),
+          UINT32_C(0x001A9B5B), UINT32_C(0x004F6D26)},
+         {UINT32_C(0x009F55A3), UINT32_C(0x000F6705), UINT32_C(0x004EDA64),
+          UINT32_C(0x00D8FBA8), UINT32_C(0x006E341D), UINT32_C(0x005FDC16),
+          UINT32_C(0x003F8CD0), UINT32_C(0x0031F5C1), UINT32_C(0x002ECA27),
+          UINT32_C(0x006E2E8E), UINT32_C(0x007650A0)},
+         {UINT32_C(0x004C828B), UINT32_C(0x004D65DD), UINT32_C(0x0023D49F),
+          UINT32_C(0x00998DDA), UINT32_C(0x004E0332), UINT32_C(0x00174414),
+          UINT32_C(0x00699E65), UINT32_C(0x008F8323), UINT32_C(0x002B8901),
+          UINT32_C(0x0012C259), UINT32_C(0x0021CFF4)}},
+        {{UINT32_C(0x00922362), UINT32_C(0x0048A92F), UINT32_C(0x004D734D),
+          UINT32_C(0x00C47EE4), UINT32_C(0x00113110), UINT32_C(0x00157C19),
+          UINT32_C(0x00221251), UINT32_C(0x00024872), UINT32_C(0x001E2816),
+          UINT32_C(0x003DF03D), UINT32_C(0x00181B9C)},
+         {UINT32_C(0x00012FCF), UINT32_C(0x0047EB3F), UINT32_C(0x006C2B35),
+          UINT32_C(0x00F85359), UINT32_C(0x0032819B), UINT32_C(0x004E64B2),
+          UINT32_C(0x00600748), UINT32_C(0x00944305), UINT32_C(0x001ED335),
+          UINT32_C(0x005DCD46), UINT32_C(0x004FA013)},
+         {UINT32_C(0x003393AB), UINT32_C(0x002D18CD), UINT32_C(0x002579E1),
+          UINT32_C(0x0079F6D2), UINT32_C(0x00032785), UINT32_C(0x00679042),
+          UINT32_C(0x003532E2), UINT32_C(0x00E10DCE), UINT32_C(0x00480E01),
+          UINT32_C(0x00426205), UINT32_C(0x0053FD4D)}},
+        {{UINT32_C(0x00C6B0CB), UINT32_C(0x007C89A2), UINT32_C(0x0078D667),
+          UINT32_C(0x00FF9964), UINT32_C(0x006EE83C), UINT32_C(0x006E7BF5),
+          UINT32_C(0x007599F3), UINT32_C(0x004D669F), UINT32_C(0x0065012B),
+          UINT32_C(0x005EBA50), UINT32_C(0x00304E71)},
+         {UINT32_C(0x00C53736), UINT32_C(0x000B3E67), UINT32_C(0x00126BEE),
+          UINT32_C(0x00261DF0), UINT32_C(0x005AF18B), UINT32_C(0x005B38F7),
+          UINT32_C(0x000082AC), UINT32_C(0x0017B3DB), UINT32_C(0x007C32BA),
+          UINT32_C(0x00724F37), UINT32_C(0x001F8FD1)},
+         {UINT32_C(0x0080CCBF), UINT32_C(0x0018D8B8), UINT32_C(0x006E22B9),
+          UINT32_C(0x00591C57), UINT32_C(0x0011E0B1), UINT32_C(0x0079970A),
+          UINT32_C(0x0070D898), UINT32_C(0x00D9733F), UINT32_C(0x00259708),
+          UINT32_C(0x0062101F), UINT32_C(0x00306235)}},
+        {{UINT32_C(0x002F49E9), UINT32_C(0x006E57BC), UINT32_C(0x00094045),
+          UINT32_C(0x00CF8C2B), UINT32_C(0x0010A5CA), UINT32_C(0x00478E10),
+          UINT32_C(0x000A83ED), UINT32_C(0x00EB329A), UINT32_C(0x0054EE99),
+          UINT32_C(0x00112D75), UINT32_C(0x001A7633)},
+         {UINT32_C(0x00762A44), UINT32_C(0x007F7B5B), UINT32_C(0x006BF456),
+          UINT32_C(0x00680D50), UINT32_C(0x00734ECC), UINT32_C(0x00770776),
+          UINT32_C(0x0041B3F1), UINT32_C(0x00DB7326), UINT32_C(0x007A5C18),
+          UINT32_C(0x0009A04C), UINT32_C(0x006F2281)},
+         {UINT32_C(0x00392E55), UINT32_C(0x00180EF7), UINT32_C(0x00539457),
+          UINT32_C(0x0027985E), UINT32_C(0x0030AE2E), UINT32_C(0x0006A2FA),
+          UINT32_C(0x0075FD5D), UINT32_C(0x0023429D), UINT32_C(0x0041CD65),
+          UINT32_C(0x00710776), UINT32_C(0x0075B4D3)}},
+        {{UINT32_C(0x00297799), UINT32_C(0x0050EDAC), UINT32_C(0x0017E4E4),
+          UINT32_C(0x00B06306), UINT32_C(0x0011957C), UINT32_C(0x00454CDB),
+          UINT32_C(0x0037CE52), UINT32_C(0x0035EF58), UINT32_C(0x003AACF3),
+          UINT32_C(0x006B04D4), UINT32_C(0x001DEEDA)},
+         {UINT32_C(0x0058DEDB), UINT32_C(0x0055E31C), UINT32_C(0x000564F2),
+          UINT32_C(0x00767021), UINT32_C(0x000AA59A), UINT32_C(0x005E4355),
+          UINT32_C(0x0076B6F5), UINT32_C(0x00E2300C), UINT32_C(0x0065F80C),
+          UINT32_C(0x004E48E3), UINT32_C(0x00471F50)},
+         {UINT32_C(0x0057B4C9), UINT32_C(0x0032102C), UINT32_C(0x004F162E),
+          UINT32_C(0x00AA70A0), UINT32_C(0x00601FA8), UINT32_C(0x001946ED),
+          UINT32_C(0x007F5192), UINT32_C(0x009CBF3B), UINT32_C(0x0071AED7),
+          UINT32_C(0x000BA7C1), UINT32_C(0x00663BBD)}},
+        {{UINT32_C(0x00FC042F), UINT32_C(0x00129354), UINT32_C(0x001AC8F7),
+          UINT32_C(0x00124BB3), UINT32_C(0x007DE447), UINT32_C(0x0007CA46),
+          UINT32_C(0x005604BA), UINT32_C(0x00981600), UINT32_C(0x0014DA63),
+          UINT32_C(0x0005067B), UINT32_C(0x0053AE1A)},
+         {UINT32_C(0x009BC0FD), UINT32_C(0x006F8B2C), UINT32_C(0x006AE987),
+          UINT32_C(0x0031F283), UINT32_C(0x0001800B), UINT32_C(0x00596A47),
+          UINT32_C(0x0067F6A5), UINT32_C(0x00512023), UINT32_C(0x0015BA88),
+          UINT32_C(0x0012951C), UINT32_C(0x000C64FA)},
+         {UINT32_C(0x00ED7C65), UINT32_C(0x0008BD59), UINT32_C(0x00636115),
+          UINT32_C(0x0076BA73), UINT32_C(0x007F05EB), UINT32_C(0x0003E701),
+          UINT32_C(0x00148CDD), UINT32_C(0x008B64AA), UINT32_C(0x00373C6D),
+          UINT32_C(0x00516A1E), UINT32_C(0x00056623)}},
+        {{UINT32_C(0x000D0BB7), UINT32_C(0x007E8A54), UINT32_C(0x007474B6),
+          UINT32_C(0x003D4755), UINT32_C(0x0026CD61), UINT32_C(0x0048139E),
+          UINT32_C(0x005E0EC7), UINT32_C(0x00169B5D), UINT32_C(0x0042855A),
+          UINT32_C(0x00729E2F), UINT32_C(0x001F1939)},
+         {UINT32_C(0x00EDF74C), UINT32_C(0x00736130), UINT32_C(0x007835CD),
+          UINT32_C(0x0021FE28), UINT32_C(0x0051653E), UINT32_C(0x00690BC6),
+          UINT32_C(0x0070143D), UINT32_C(0x0011B7F6), UINT32_C(0x002ECF93),
+          UINT32_C(0x00332D5B), UINT32_C(0x004E7E15)},
+         {UINT32_C(0x0061C3BC), UINT32_C(0x006F0A58), UINT32_C(0x002A9437),
+          UINT32_C(0x00273621), UINT32_C(0x004D6870), UINT32_C(0x004A0410),
+          UINT32_C(0x001930EC), UINT32_C(0x00473AEA), UINT32_C(0x00345B94),
+          UINT32_C(0x000D2F6F), UINT32_C(0x00630991)}},
+        {{UINT32_C(0x0064F095), UINT32_C(0x005B811B), UINT32_C(0x0034F150),
+          UINT32_C(0x0037FBC3), UINT32_C(0x00431976), UINT32_C(0x001AF585),
+          UINT32_C(0x004A47D6), UINT32_C(0x00364593), UINT32_C(0x00265D55),
+          UINT32_C(0x006955EC), UINT32_C(0x004B56E9)},
+         {UINT32_C(0x00D4D3BA), UINT32_C(0x003E639C), UINT32_C(0x007B6508),
+          UINT32_C(0x007AAFAA), UINT32_C(0x002DEDD3), UINT32_C(0x006E90FB),
+          UINT32_C(0x0070FF1F), UINT32_C(0x005BD7F8), UINT32_C(0x0015D774),
+          UINT32_C(0x004E9774), UINT32_C(0x003F53F7)},
+         {UINT32_C(0x004F4AA5), UINT32_C(0x0024432D), UINT32_C(0x002D31BA),
+          UINT32_C(0x005F3C7B), UINT32_C(0x00221DE3), UINT32_C(0x00691A3B),
+          UINT32_C(0x0067E7F8), UINT32_C(0x00B606C6), UINT32_C(0x005200E8),
+          UINT32_C(0x00708B99), UINT32_C(0x002F258F)}},
+        {{UINT32_C(0x003A119F), UINT32_C(0x00319D59), UINT32_C(0x0071DF1F),
+          UINT32_C(0x00EE723B), UINT32_C(0x004A075C), UINT32_C(0x0000C0BD),
+          UINT32_C(0x00381ECA), UINT32_C(0x009EC137), UINT32_C(0x0014C177),
+          UINT32_C(0x0062C87B), UINT32_C(0x003F7471)},
+         {UINT32_C(0x00AA3C6C), UINT32_C(0x0019B06D), UINT32_C(0x003A8845),
+          UINT32_C(0x001B9E7B), UINT32_C(0x004749DD), UINT32_C(0x0067A317),
+          UINT32_C(0x00555D63), UINT32_C(0x0087596C), UINT32_C(0x004BF763),
+          UINT32_C(0x005DCF2F), UINT32_C(0x00725068)},
+         {UINT32_C(0x005A930B), UINT32_C(0x003C325E), UINT32_C(0x00528AC5),
+          UINT32_C(0x00FD1B98), UINT32_C(0x004BA241), UINT32_C(0x0041EDCF),
+          UINT32_C(0x00587205), UINT32_C(0x00EDF302), UINT32_C(0x001C093C),
+          UINT32_C(0x0062B2BF), UINT32_C(0x00225709)}},
+    },
+    {
+        {{UINT32_C(0x00EABA3B), UINT32_C(0x00192B0C), UINT32_C(0x006A78E0),
+          UINT32_C(0x001251C4), UINT32_C(0x0032CA32), UINT32_C(0x0055DC60),
+          UINT32_C(0x005BBC99), UINT32_C(0x00F53480), UINT32_C(0x004CA164),
+          UINT32_C(0x0032C336), UINT32_C(0x004567E0)},
+         {UINT32_C(0x009B52D6), UINT32_C(0x006B6695), UINT32_C(0x0011E7D6),
+          UINT32_C(0x002112B7), UINT32_C(0x007F870C), UINT32_C(0x002F5D93),
+          UINT32_C(0x002B31C0), UINT32_C(0x000D401F), UINT32_C(0x0004B6C8),
+          UINT32_C(0x0023BEE0), UINT32_C(0x00086B9A)},
+         {UINT32_C(0x001E8B93), UINT32_C(0x00336732), UINT32_C(0x00435024),
+          UINT32_C(0x00A9D624), UINT32_C(0x007896CB), UINT32_C(0x00086124),
+          UINT32_C(0x001F6441), UINT32_C(0x00C216CD), UINT32_C(0x0045B1DA),
+          UINT32_C(0x0040884B), UINT32_C(0x0015A99D)}},
+        {{UINT32_C(0x00E29666), UINT32_C(0x0000698C), UINT32_C(0x00008566),
+          UINT32_C(0x00B29855), UINT32_C(0x0069993B), UINT32_C(0x0066533E),
+          UINT32_C(0x00130B35), UINT32_C(0x00112187), UINT32_C(0x0066567A),
+          UINT32_C(0x006C6930), UINT32_C(0x00025F72)},
+         {UINT32_C(0x00BC36F8), UINT32_C(0x0075E071), UINT32_C(0x003F18EC),
+          UINT32_C(0x00FE4134), UINT32_C(0x0007BF37), UINT32_C(0x0015265C),
+          UINT32_C(0x002D5EA8), UINT32_C(0x00932F6F), UINT32_C(0x0001004C),
+          UINT32_C(0x0028FBB8), UINT32_C(0x003CC88B)},
+         {UINT32_C(0x0025E5B3), UINT32_C(0x0052FCAA), UINT32_C(0x0072522F),
+          UINT32_C(0x0075B891), UINT32_C(0x0071F699), UINT32_C(0x0051F116),
+          UINT32_C(0x0078808A), UINT32_C(0x006A580C), UINT32_C(0x000BDDA3),
+          UINT32_C(0x004CB31A), UINT32_C(0x0056F6CD)}},
+        {{UINT32_C(0x001AF846), UINT32_C(0x0016456F), UINT32_C(0x006CDB6E),
+          UINT32_C(0x0019B43D), UINT32_C(0x001BD7BB), UINT32_C(0x001E429F),
+          UINT32_C(0x0025E351), UINT32_C(0x002C034F), UINT32_C(0x0053ECFF),
+          UINT32_C(0x002645D7), UINT32_C(0x006F455E)},
+         {UINT32_C(0x00161A5B), UINT32_C(0x005E3D52), UINT32_C(0x006167A5),
+          UINT32_C(0x008BBC48), UINT32_C(0x0029C44C), UINT32_C(0x0009A976),
+          UINT32_C(0x0038C321), UINT32_C(0x00390F40), UINT32_C(0x004A7861),
+          UINT32_C(0x0027E8A3), UINT32_C(0x0055430C)},
+         {UINT32_C(0x0022B34E), UINT32_C(0x003FE536), UINT32_C(0x006D6BDE),
+          UINT32_C(0x0038DF8B), UINT32_C(0x007C2700), UINT32_C(0x00413296),
+          UINT32_C(0x000C3C34), UINT32_C(0x000F4A8B), UINT32_C(0x002223E1),
+          UINT32_C(0x0002B3C2), UINT32_C(0x0030E676)}},
+        {{UINT32_C(0x0084B729), UINT32_C(0x00726FC5), UINT32_C(0x00414876),
+          UINT32_C(0x003546F3), UINT32_C(0x00261905), UINT32_C(0x005A04F6),
+          UINT32_C(0x0055B0C7), UINT32_C(0x006B360B), UINT32_C(0x0012052B),
+          UINT32_C(0x002B0046), UINT32_C(0x003D984C)},
+         {UINT32_C(0x00CBED46), UINT32_C(0x0032683A), UINT32_C(0x004B3ADD),
+          UINT32_C(0x00B2CD41), UINT32_C(0x0014EF94), UINT32_C(0x0050E0BF),
+          UINT32_C(0x003FC9B1), UINT32_C(0x002F30DC), UINT32_C(0x00297AE9),
+          UINT32_C(0x007BCD89), UINT32_C(0x000B4620)},
+         {UINT32_C(0x0030B5B8), UINT32_C(0x0067A579), UINT32_C(0x006EDA23),
+          UINT32_C(0x0094FB0A), UINT32_C(0x00661BCD), UINT32_C(0x0040BF82),
+          UINT32_C(0x0058F099), UINT32_C(0x0072BB0F), UINT32_C(0x00485362),
+          UINT32_C(0x00539664), UINT32_C(0x006ADF86)}},
+        {{UINT32_C(0x0024FDD7), UINT32_C(0x001186A8), UINT32_C(0x004EA183),
+          UINT32_C(0x00493DFC), UINT32_C(0x004F4E46), UINT32_C(0x0050110D),
+          UINT32_C(0x003294D6), UINT32_C(0x00C5CEF6), UINT32_C(0x0053F4A9),
+          UINT32_C(0x006A41F0), UINT32_C(0x00280D45)},
+         {UINT32_C(0x0025DCB5), UINT32_C(0x00352AB2), UINT32_C(0x003C9B57),
+          UINT32_C(0x00C5972C), UINT32_C(0x0017C8A2), UINT32_C(0x0026C17F),
+          UINT32_C(0x004A2DE0), UINT32_C(0x00962319), UINT32_C(0x001DC0E8),
+          UINT32_C(0x007BB781), UINT32_C(0x0076D0B0)},
+         {UINT32_C(0x00C25C01), UINT32_C(0x006DF306), UINT32_C(0x002E001F),
+          UINT32_C(0x00B2D044), UINT32_C(0x001C46FF), UINT32_C(0x0028D794),
+          UINT32_C(0x004CD7EB), UINT32_C(0x00B2D81B), UINT32_C(0x00719BF6),
+          UINT32_C(0x005D73E6), UINT32_C(0x000574EC)}},
+        {{UINT32_C(0x00ED0D33), UINT32_C(0x005B58E6), UINT32_C(0x0031614D),
+          UINT32_C(0x00C647FC), UINT32_C(0x003D23AC), UINT32_C(0x006C18FD),
+          UINT32_C(0x006B9F51), UINT32_C(0x00BD620E), UINT32_C(0x000E3630),
+          UINT32_C(0x002C338B), UINT32_C(0x0055B898)},
+         {UINT32_C(0x00609F49), UINT32_C(0x006332D0), UINT32_C(0x0032177F),
+          UINT32_C(0x008ADB01), UINT32_C(0x0003C6A7), UINT32_C(0x0020EA0A),
+          UINT32_C(0x005D93D8), UINT32_C(0x0053348A), UINT32_C(0x00511FAA),
+          UINT32_C(0x00125BD7), UINT32_C(0x001F9B23)},
+         {UINT32_C(0x007C7FE4), UINT32_C(0x0028B2B1), UINT32_C(0x007487D6),
+          UINT32_C(0x0000D5FE), UINT32_C(0x007DEF82), UINT32_C(0x0016E07E),
+          UINT32_C(0x0026B0AE), UINT32_C(0x003853C8), UINT32_C(0x002DCAA1),
+          UINT32_C(0x00685027), UINT32_C(0x001A2F47)}},
+        {{UINT32_C(0x00986197), UINT32_C(0x00217581), UINT32_C(0x00011B57),
+          UINT32_C(0x001C3CC0), UINT32_C(0x0048D2D2), UINT32_C(0x000C0332),
+          UINT32_C(0x002D89E5), UINT32_C(0x003490A4), UINT32_C(0x003458B1),
+          UINT32_C(0x002B04FA), UINT32_C(0x003F7CF9)},
+         {UINT32_C(0x004F002F), UINT32_C(0x002E83E7), UINT32_C(0x00629717),
+          UINT32_C(0x0010444B), UINT32_C(0x005323A6), UINT32_C(0x003BF8D6),
+          UINT32_C(0x002CFC62), UINT32_C(0x004F6988), UINT32_C(0x007305E7),
+          UINT32_C(0x007EC041), UINT32_C(0x00754449)},
+         {UINT32_C(0x00B16E11), UINT32_C(0x007607F5), UINT32_C(0x001923D5),
+          UINT32_C(0x00E8AE2B), UINT32_C(0x006722D4), UINT32_C(0x0076783B),
+          UINT32_C(0x0037C778), UINT32_C(0x007F8754), UINT32_C(0x00422A0E),
+          UINT32_C(0x003D9F97), UINT32_C(0x0016AEAE)}},
+        {{UINT32_C(0x00D81066), UINT32_C(0x0050C351), UINT32_C(0x00716769),
+          UINT32_C(0x006393E3), UINT32_C(0x001B4C15), UINT32_C(0x004B9A55),
+          UINT32_C(0x00588B55), UINT32_C(0x002BA83B), UINT32_C(0x00009915),
+          UINT32_C(0x005C055C), UINT32_C(0x00048180)},
+         {UINT32_C(0x00CB303A), UINT32_C(0x00458BFF), UINT32_C(0x00237470),
+          UINT32_C(0x00D66822), UINT32_C(0x0009DE8B), UINT32_C(0x005B28C2),
+          UINT32_C(0x0068CAFE), UINT32_C(0x002F5A98), UINT32_C(0x004C4B2A),
+          UINT32_C(0x0031DE00), UINT32_C(0x006E5755)},
+         {UINT32_C(0x008869E8), UINT32_C(0x001F33B0), UINT32_C(0x001A2BAA),
+          UINT32_C(0x00817706), UINT32_C(0x00458C99), UINT32_C(0x00302337),
+          UINT32_C(0x0039EAE5), UINT32_C(0x00D2E45D), UINT32_C(0x0073447F),
+          UINT32_C(0x0024825C), UINT32_C(0x001B5E98)}},
+        {{UINT32_C(0x00814972), UINT32_C(0x0038B443), UINT32_C(0x0041992D),
+          UINT32_C(0x00EE69DB), UINT32_C(0x00146157), UINT32_C(0x000AAAD8),
+          UINT32_C(0x005444E7), UINT32_C(0x00D17AB8), UINT32_C(0x004DF7C1),
+          UINT32_C(0x004D27A8), UINT32_C(0x0054D67D)},
+         {UINT32_C(0x000A587F), UINT32_C(0x003ECDA4), UINT32_C(0x002CA0AF),
+          UINT32_C(0x008438DD), UINT32_C(0x00634B99), UINT32_C(0x003B5F19),
+          UINT32_C(0x006A333D), UINT32_C(0x001B944F), UINT32_C(0x007E2E1F),
+          UINT32_C(0x005C5F8A), UINT32_C(0x003EE1DE)},
+         {UINT32_C(0x001A8276), UINT32_C(0x006DA949), UINT32_C(0x003ABE66),
+          UINT32_C(0x00EE9FD1), UINT32_C(0x004B05FC), UINT32_C(0x005E0261),
+          UINT32_C(0x007EAA48), UINT32_C(0x0010DD5B), UINT32_C(0x007CBE95),
+          UINT32_C(0x00118A02), UINT32_C(0x0002173C)}},
+        {{UINT32_C(0x003407C2), UINT32_C(0x003DB992), UINT32_C(0x001F1A9E),
+          UINT32_C(0x00D5B577), UINT32_C(0x005468D1), UINT32_C(0x001331F0),
+          UINT32_C(0x00760900), UINT32_C(0x00412C7B), UINT32_C(0x007D99FF),
+          UINT32_C(0x003F157E), UINT32_C(0x0022BB7C)},
+         {UINT32_C(0x008CE31C), UINT32_C(0x007405EE), UINT32_C(0x004669C1),
+          UINT32_C(0x00B64348), UINT32_C(0x002A823A), UINT32_C(0x0028F130),
+          UINT32_C(0x006999E9), UINT32_C(0x006697A5), UINT32_C(0x00546104),
+          UINT32_C(0x0028A64D), UINT32_C(0x00531D1A)},
+         {UINT32_C(0x009C76D2), UINT32_C(0x0079F19D), UINT32_C(0x000872F3),
+          UINT32_C(0x00F799B3), UINT32_C(0x00407743), UINT32_C(0x003085E0),
+          UINT32_C(0x002003F0), UINT32_C(0x00396CB7), UINT32_C(0x002952AF),
+          UINT32_C(0x002D59FD), UINT32_C(0x003C184A)}},
+        {{UINT32_C(0x00E10FCD), UINT32_C(0x00563D94), UINT32_C(0x0036A862),
+          UINT32_C(0x00A8D743), UINT32_C(0x001FAEBC), UINT32_C(0x005A3817),
+          UINT32_C(0x0061B73B), UINT32_C(0x00FE0A6A), UINT32_C(0x00113AE2),
+          UINT32_C(0x0079A419), UINT32_C(0x00433EC2)},
+         {UINT32_C(0x0094DA0B), UINT32_C(0x0053D54C), UINT32_C(0x005DC3C9),
+          UINT32_C(0x00377F6C), UINT32_C(0x007601E5), UINT32_C(0x0054F416),
+          UINT32_C(0x00147411), UINT32_C(0x0033E49D), UINT32_C(0x001316C3),
+          UINT32_C(0x002D4674), UINT32_C(0x004DADCA)},
+         {UINT32_C(0x00A27A08), UINT32_C(0x00150DCB), UINT32_C(0x00757D31),
+          UINT32_C(0x00ECF538), UINT32_C(0x00662566), UINT32_C(0x00306294),
+          UINT32_C(0x00601C11), UINT32_C(0x0035FECB), UINT32_C(0x00452259),
+          UINT32_C(0x001C2D33), UINT32_C(0x0021363F)}},
+        {{UINT32_C(0x00C03231), UINT32_C(0x0054A03F), UINT32_C(0x00530E31),
+          UINT32_C(0x008A8654), UINT32_C(0x00445A8F), UINT32_C(0x0057E307),
+          UINT32_C(0x0017BF37), UINT32_C(0x00015A04), UINT32_C(0x0002B01C),
+          UINT32_C(0x001FB35F), UINT32_C(0x003FFA73)},
+         {UINT32_C(0x002C08E7), UINT32_C(0x0040D81C), UINT32_C(0x00622B99),
+          UINT32_C(0x0048FF13), UINT32_C(0x00665063), UINT32_C(0x004518AF),
+          UINT32_C(0x003AC182), UINT32_C(0x00A28FD4), UINT32_C(0x002A6DAE),
+          UINT32_C(0x001B6DBD), UINT32_C(0x0010ACD4)},
+         {UINT32_C(0x0058C718), UINT32_C(0x0016FC28), UINT32_C(0x0041E2C6),
+          UINT32_C(0x0052886B), UINT32_C(0x007FDE72), UINT32_C(0x00289521),
+          UINT32_C(0x00173FE6), UINT32_C(0x0072E6CC), UINT32_C(0x0017AC30),
+          UINT32_C(0x0040A8E1), UINT32_C(0x005097BC)}},
+        {{UINT32_C(0x005B9B1D), UINT32_C(0x0050D0A3), UINT32_C(0x002DFE1B),
+          UINT32_C(0x00EAA92D), UINT32_C(0x00277DA6), UINT32_C(0x00622641),
+          UINT32_C(0x0037663B), UINT32_C(0x004FD085), UINT32_C(0x000C17EE),
+          UINT32_C(0x006A97AF), UINT32_C(0x007A47AF)},
+         {UINT32_C(0x006BE9BF), UINT32_C(0x003285C2), UINT32_C(0x0065C35C),
+          UINT32_C(0x009C1C74), UINT32_C(0x005F5ECE), UINT32_C(0x0059AF30),
+          UINT32_C(0x002A2EA6), UINT32_C(0x0053A7C7), UINT32_C(0x003A42C4),
+          UINT32_C(0x007E6E33), UINT32_C(0x0067F167)},
+         {UINT32_C(0x002379C4), UINT32_C(0x00784A42), UINT32_C(0x00260570),
+          UINT32_C(0x00C001B9), UINT32_C(0x007733D1), UINT32_C(0x002610F4),
+          UINT32_C(0x0076810F), UINT32_C(0x0093A496), UINT32_C(0x001DEA0A),
+          UINT32_C(0x002CA003), UINT32_C(0x006326EC)}},
+        {{UINT32_C(0x00BB2391), UINT32_C(0x00743284), UINT32_C(0x002E155F),
+          UINT32_C(0x0035639B), UINT32_C(0x005BBF4F), UINT32_C(0x003E90B9),
+          UINT32_C(0x00767573), UINT32_C(0x00321363), UINT32_C(0x00254580),
+          UINT32_C(0x0029D549), UINT32_C(0x0052B4EB)},
+         {UINT32_C(0x00C1B9A5), UINT32_C(0x004DDE09), UINT32_C(0x006CBD8B),
+          UINT32_C(0x005BA607), UINT32_C(0x003CC42A), UINT32_C(0x001D4E2E),
+          UINT32_C(0x007ACD96), UINT32_C(0x00C921CE), UINT32_C(0x000620D1),
+          UINT32_C(0x0016E31C), UINT32_C(0x006A2B72)},
+         {UINT32_C(0x002A9792), UINT32_C(0x0000CFD3), UINT32_C(0x006A9AD2),
+          UINT32_C(0x00ED29B3), UINT32_C(0x0026DA69), UINT32_C(0x002D2B73),
+          UINT32_C(0x001B5E5D), UINT32_C(0x00D5305C), UINT32_C(0x0067DCE0),
+          UINT32_C(0x000729B3), UINT32_C(0x00070252)}},
+        {{UINT32_C(0x007834CB), UINT32_C(0x001A305D), UINT32_C(0x00199CF9),
+          UINT32_C(0x00EE7F83), UINT32_C(0x0048376D), UINT32_C(0x00182568),
+          UINT32_C(0x0044C0B5), UINT32_C(0x007EFBAD), UINT32_C(0x006A5B89),
+          UINT32_C(0x002DDEC8), UINT32_C(0x002C5365)},
+         {UINT32_C(0x0014DDC8), UINT32_C(0x0026ED23), UINT32_C(0x004F3CF1),
+          UINT32_C(0x009C337C), UINT32_C(0x005CA1F6), UINT32_C(0x00430D81),
+          UINT32_C(0x001BF696), UINT32_C(0x00D5544B), UINT32_C(0x0001941E),
+          UINT32_C(0x002720AB), UINT32_C(0x006EF64B)},
+         {UINT32_C(0x00AEB238), UINT32_C(0x002A16EC), UINT32_C(0x0055FE48),
+          UINT32_C(0x00606DE7), UINT32_C(0x0034576A), UINT32_C(0x006FF01C),
+          UINT32_C(0x0009AA13), UINT32_C(0x00D2D5AB), UINT32_C(0x003249A4),
+          UINT32_C(0x004B05E9), UINT32_C(0x0041BC86)}},
+        {{UINT32_C(0x00A9E5D5), UINT32_C(0x003CDBE3), UINT32_C(0x00669075),
+          UINT32_C(0x004D8E92), UINT32_C(0x0050E701), UINT32_C(0x003EEC92),
+          UINT32_C(0x00340906), UINT32_C(0x003A5231), UINT32_C(0x0076D572),
+          UINT32_C(0x001CA34B), UINT32_C(0x0035D540)},
+         {UINT32_C(0x00FE52C3), UINT32_C(0x0064659E), UINT32_C(0x000FCF54),
+          UINT32_C(0x00DDCF41), UINT32_C(0x007A7B36), UINT32_C(0x002AEC73),
+          UINT32_C(0x007550B1), UINT32_C(0x008E1CEC), UINT32_C(0x002CAD9C),
+          UINT32_C(0x004EE133), UINT32_C(0x0045B7D8)},
+         {UINT32_C(0x009FC441), UINT32_C(0x002D1FBC), UINT32_C(0x003E7D16),
+          UINT32_C(0x00C8B352), UINT32_C(0x00221849), UINT32_C(0x003FF5A0),
+          UINT32_C(0x0055A506), UINT32_C(0x007F88D0), UINT32_C(0x0018DB76),
+          UINT32_C(0x00672F49), UINT32_C(0x007D2F58)}},
+    },
+    {
+        {{UINT32_C(0x00C3CC62), UINT32_C(0x001788C8), UINT32_C(0x0046ECBC),
+          UINT32_C(0x00F44A0D), UINT32_C(0x005D570F), UINT32_C(0x0011C818),
+          UINT32_C(0x0005F4D7), UINT32_C(0x00B7F489), UINT32_C(0x0001AE92),
+          UINT32_C(0x002AB1B0), UINT32_C(0x0067910C)},
+         {UINT32_C(0x0033A3DB), UINT32_C(0x00768B12), UINT32_C(0x005D50DE),
+          UINT32_C(0x00D31F34), UINT32_C(0x003455F7), UINT32_C(0x0021BBE3),
+          UINT32_C(0x0020D657), UINT32_C(0x009AEF49), UINT32_C(0x0011194A),
+          UINT32_C(0x007C4E1E), UINT32_C(0x005A07C9)},
+         {UINT32_C(0x008F9CA3), UINT32_C(0x0054FF76), UINT32_C(0x00570C00),
+          UINT32_C(0x006792D9), UINT32_C(0x0064070F), UINT32_C(0x0044F2A2),
+          UINT32_C(0x006ABEFC), UINT32_C(0x00DAAC6E), UINT32_C(0x004F8CD9),
+          UINT32_C(0x004DC91F), UINT32_C(0x0049B2BB)}},
+        {{UINT32_C(0x0018CD54), UINT32_C(0x0010BE7F), UINT32_C(0x005F8D91),
+          UINT32_C(0x00BAF1CC), UINT32_C(0x0050AB12), UINT32_C(0x002D251A),
+          UINT32_C(0x004B47CC), UINT32_C(0x005BD1C5), UINT32_C(0x00489594),
+          UINT32_C(0x00699114), UINT32_C(0x0030C9FA)},
+         {UINT32_C(0x00D23D40), UINT32_C(0x005307A4), UINT32_C(0x007E98F3),
+          UINT32_C(0x00F08939), UINT32_C(0x0069A75B), UINT32_C(0x001DB79B),
+          UINT32_C(0x00566A53), UINT32_C(0x005AF4D5), UINT32_C(0x00237443),
+          UINT32_C(0x001D42DE), UINT32_C(0x005165D2)},
+         {UINT32_C(0x00873511), UINT32_C(0x00525967), UINT32_C(0x0056101D),
+          UINT32_C(0x00AA7060), UINT32_C(0x004C11B1), UINT32_C(0x0029CA00),
+          UINT32_C(0x001A34BC), UINT32_C(0x005CA8C2), UINT32_C(0x002F5F9A),
+          UINT32_C(0x0039EFC2), UINT32_C(0x006871D9)}},
+        {{UINT32_C(0x00421E67), UINT32_C(0x00075D00), UINT32_C(0x0010583F),
+          UINT32_C(0x00B732C7), UINT32_C(0x0037730B), UINT32_C(0x007028B8),
+          UINT32_C(0x005C0247), UINT32_C(0x007CC11B), UINT32_C(0x007F99FE),
+          UINT32_C(0x0074EF6F), UINT32_C(0x0049255A)},
+         {UINT32_C(0x00806A6B), UINT32_C(0x0076A27F), UINT32_C(0x001A45F6),
+          UINT32_C(0x001863FB), UINT32_C(0x0036A2B2), UINT32_C(0x00058E27),
+          UINT32_C(0x007E3E52), UINT32_C(0x008FA71E), UINT32_C(0x000F9591),
+          UINT32_C(0x000EA645), UINT32_C(0x0037E6C8)},
+         {UINT32_C(0x004C164A), UINT32_C(0x0015AE71), UINT32_C(0x00228D86),
+          UINT32_C(0x00441D33), UINT32_C(0x00507819), UINT32_C(0x00442DBE),
+          UINT32_C(0x00457850), UINT32_C(0x0059222C), UINT32_C(0x0029495F),
+          UINT32_C(0x007331A0), UINT32_C(0x007BAE86)}},
+        {{UINT32_C(0x00FA5032), UINT32_C(0x00242303), UINT32_C(0x000A904B),
+          UINT32_C(0x0003BB53), UINT32_C(0x007553E7), UINT32_C(0x003CA0C5),
+          UINT32_C(0x0061B87D), UINT32_C(0x00805E53), UINT32_C(0x0049297C),
+          UINT32_C(0x0056196B), UINT32_C(0x004C6DF6)},
+         {UINT32_C(0x002C1092), UINT32_C(0x0019EF62), UINT32_C(0x0047F011),
+          UINT32_C(0x00C03A85), UINT32_C(0x000B1A90), UINT32_C(0x001507E7),
+          UINT32_C(0x004D6EBC), UINT32_C(0x00794D29), UINT32_C(0x005C5416),
+          UINT32_C(0x0020F242), UINT32_C(0x00576518)},
+         {UINT32_C(0x0034E914), UINT32_C(0x005DAF45), UINT32_C(0x005BE7A5),
+          UINT32_C(0x00FE38F3), UINT32_C(0x00157770), UINT32_C(0x00237F8C),
+          UINT32_C(0x0015BF21), UINT32_C(0x0077CC24), UINT32_C(0x005067D4),
+          UINT32_C(0x00091C98), UINT32_C(0x007F54DE)}},
+        {{UINT32_C(0x00770B21), UINT32_C(0x006194BB), UINT32_C(0x001A8987),
+          UINT32_C(0x0094013C), UINT32_C(0x00619B7F), UINT32_C(0x00083816),
+          UINT32_C(0x007A8072), UINT32_C(0x00F58256), UINT32_C(0x002FFA60),
+          UINT32_C(0x007AC24E), UINT32_C(0x0042CF75)},
+         {UINT32_C(0x0058474E), UINT32_C(0x007BFF2F), UINT32_C(0x0018145B),
+          UINT32_C(0x00F8E32B), UINT32_C(0x0055DE08), UINT32_C(0x002AA874),
+          UINT32_C(0x0044BCA0), UINT32_C(0x0038F7BE), UINT32_C(0x0027359B),
+          UINT32_C(0x002747EB), UINT32_C(0x00226230)},
+         {UINT32_C(0x00FA31A5), UINT32_C(0x00190A96), UINT32_C(0x006536D0),
+          UINT32_C(0x00ACA102), UINT32_C(0x0036C0D0), UINT32_C(0x0008F3D0),
+          UINT32_C(0x0049B490), UINT32_C(0x005CD6C9), UINT32_C(0x000E1C66),
+          UINT32_C(0x0077C89C), UINT32_C(0x006A74AE)}},
+        {{UINT32_C(0x00EE9825), UINT32_C(0x000FBC15), UINT32_C(0x000C0843),
+          UINT32_C(0x006B793A), UINT32_C(0x0004ED1C), UINT32_C(0x00616EA7),
+          UINT32_C(0x000B6304), UINT32_C(0x00166978), UINT32_C(0x0024139D),
+          UINT32_C(0x0042F014), UINT32_C(0x003D4978)},
+         {UINT32_C(0x0029D5D7), UINT32_C(0x0033F88C), UINT32_C(0x006E76FF),
+          UINT32_C(0x00A49E5F), UINT32_C(0x003D801A), UINT32_C(0x0042EE48),
+          UINT32_C(0x000D2057), UINT32_C(0x001D9164), UINT32_C(0x001AB787),
+          UINT32_C(0x004D338B), UINT32_C(0x00262464)},
+         {UINT32_C(0x00D5B395), UINT32_C(0x007A77B2), UINT32_C(0x0043D844),
+          UINT32_C(0x006D5774), UINT32_C(0x00267921), UINT32_C(0x00374E41),
+          UINT32_C(0x003B4C78), UINT32_C(0x00E2BA6E), UINT32_C(0x00656116),
+          UINT32_C(0x0043049C), UINT32_C(0x002023C8)}},
+        {{UINT32_C(0x001715E4), UINT32_C(0x00652B6A), UINT32_C(0x00379760),
+          UINT32_C(0x004DB333), UINT32_C(0x00619842), UINT32_C(0x00656120),
+          UINT32_C(0x0026FAEC), UINT32_C(0x00EF2AD7), UINT32_C(0x00149CB3),
+          UINT32_C(0x0055D95D), UINT32_C(0x00497B11)},
+         {UINT32_C(0x00D4B7BF), UINT32_C(0x001098D0), UINT32_C(0x0057E045),
+          UINT32_C(0x00304A0C), UINT32_C(0x007F8852), UINT32_C(0x00564889),
+          UINT32_C(0x007D4D67), UINT32_C(0x00A2CA30), UINT32_C(0x0051B0D9),
+          UINT32_C(0x00495A39), UINT32_C(0x0017789D)},
+         {UINT32_C(0x0049CE9C), UINT32_C(0x001C79B9), UINT32_C(0x000A676A),
+          UINT32_C(0x0043503C), UINT32_C(0x003C78EA), UINT32_C(0x00779E15),
+          UINT32_C(0x002487F8), UINT32_C(0x0098B781), UINT32_C(0x002F1E05),
+          UINT32_C(0x000B58B5), UINT32_C(0x0079EE99)}},
+        {{UINT32_C(0x0082E001), UINT32_C(0x002F7563), UINT32_C(0x005502B7),
+          UINT32_C(0x0099B452), UINT32_C(0x00068BD3), UINT32_C(0x006837ED),
+          UINT32_C(0x006C2DAE), UINT32_C(0x00EDD476), UINT32_C(0x004B54C6),
+          UINT32_C(0x002353E5), UINT32_C(0x0036757B)},
+         {UINT32_C(0x0003D167), UINT32_C(0x002030D2), UINT32_C(0x0072FA5A),
+          UINT32_C(0x004E3D16), UINT32_C(0x001B78F0), UINT32_C(0x000924E6),
+          UINT32_C(0x001E86B4), UINT32_C(0x006CD648), UINT32_C(0x001D24C9),
+          UINT32_C(0x000CC288), UINT32_C(0x0054B2D8)},
+         {UINT32_C(0x002B443B), UINT32_C(0x00135EB4), UINT32_C(0x006123F8),
+          UINT32_C(0x00795F4F), UINT32_C(0x00161316), UINT32_C(0x005CC78F),
+          UINT32_C(0x001879B2), UINT32_C(0x00A11513), UINT32_C(0x0075BC89),
+          UINT32_C(0x000E0F4C), UINT32_C(0x0022EB79)}},
+        {{UINT32_C(0x0097ABD7), UINT32_C(0x003BF415), UINT32_C(0x004B96FB),
+          UINT32_C(0x0086107E), UINT32_C(0x0013751E), UINT32_C(0x006E3412),
+          UINT32_C(0x0075AEFF), UINT32_C(0x00CEAD7E), UINT32_C(0x004D03FA),
+          UINT32_C(0x0041C8E1), UINT32_C(0x00586295)},
+         {UINT32_C(0x00BF974F), UINT32_C(0x003D6607), UINT32_C(0x003A2804),
+          UINT32_C(0x00E9CC65), UINT32_C(0x00596911), UINT32_C(0x0013F86A),
+          UINT32_C(0x00010E75), UINT32_C(0x0067284C), UINT32_C(0x00244A19),
+          UINT32_C(0x00071615), UINT32_C(0x002E2C66)},
+         {UINT32_C(0x004963F7), UINT32_C(0x00640576), UINT32_C(0x0031C7EE),
+          UINT32_C(0x001D786C), UINT32_C(0x00257DEC), UINT32_C(0x003CF6C5),
+          UINT32_C(0x00465E43), UINT32_C(0x00B15EDD), UINT32_C(0x00478BEB),
+          UINT32_C(0x00016C1B), UINT32_C(0x00094307)}},
+        {{UINT32_C(0x00E85486), UINT32_C(0x0077F915), UINT32_C(0x00760D35),
+          UINT32_C(0x002EF0AE), UINT32_C(0x0037042C), UINT32_C(0x0030C359),
+          UINT32_C(0x00346545), UINT32_C(0x00DC7FE6), UINT32_C(0x0030D4C5),
+          UINT32_C(0x004AAD41), UINT32_C(0x000A60C0)},
+         {UINT32_C(0x00D6E8B3), UINT32_C(0x000B7AA8), UINT32_C(0x0023E0C5),
+          UINT32_C(0x006A8EBF), UINT32_C(0x0063D566), UINT32_C(0x002294C9),
+          UINT32_C(0x0049A4AE), UINT32_C(0x005A2C0A), UINT32_C(0x005086A5),
+          UINT32_C(0x0008808D), UINT32_C(0x0005A919)},
+         {UINT32_C(0x007A8EAF), UINT32_C(0x001E6353), UINT32_C(0x005C83D2),
+          UINT32_C(0x00714AAE), UINT32_C(0x004F2F37), UINT32_C(0x00249BF6),
+          UINT32_C(0x006CDEE8), UINT32_C(0x006F262D), UINT32_C(0x007E9C03),
+          UINT32_C(0x004C7272), UINT32_C(0x005E6F1B)}},
+        {{UINT32_C(0x0011D440), UINT32_C(0x0050D0E6), UINT32_C(0x0020183D),
+          UINT32_C(0x00D0ED3E), UINT32_C(0x004642A3), UINT32_C(0x0019F456),
+          UINT32_C(0x0068661A), UINT32_C(0x005C97B1), UINT32_C(0x001DFD20),
+          UINT32_C(0x00607CBE), UINT32_C(0x004EB1D7)},
+         {UINT32_C(0x00424218), UINT32_C(0x0031CB2B), UINT32_C(0x0016EE1E),
+          UINT32_C(0x00F0B2F5), UINT32_C(0x00284CA3), UINT32_C(0x000B886E),
+          UINT32_C(0x0056424F), UINT32_C(0x00606535), UINT32_C(0x001A7DD3),
+          UINT32_C(0x005E5D6D), UINT32_C(0x000910A8)},
+         {UINT32_C(0x00E5A1E8), UINT32_C(0x0062AA84), UINT32_C(0x0072C780),
+          UINT32_C(0x00E14E12), UINT32_C(0x00359D55), UINT32_C(0x00388026),
+          UINT32_C(0x001AF8C7), UINT32_C(0x007C9658), UINT32_C(0x007CD573),
+          UINT32_C(0x001DB584), UINT32_C(0x005C3621)}},
+        {{UINT32_C(0x00E7BB1F), UINT32_C(0x002CD518), UINT32_C(0x0041FE08),
+          UINT32_C(0x00717B78), UINT32_C(0x00400988), UINT32_C(0x00291794),
+          UINT32_C(0x00747C25), UINT32_C(0x007194A1), UINT32_C(0x0040F7AF),
+          UINT32_C(0x007B6E73), UINT32_C(0x0020EB45)},
+         {UINT32_C(0x00161F74), UINT32_C(0x00299725), UINT32_C(0x0025AD63),
+          UINT32_C(0x004B6379), UINT32_C(0x00076C32), UINT32_C(0x0071515E),
+          UINT32_C(0x0032A4A1), UINT32_C(0x00A7B602), UINT32_C(0x005C7951),
+          UINT32_C(0x003975BA), UINT32_C(0x004BA951)},
+         {UINT32_C(0x009EEF2E), UINT32_C(0x000B3835), UINT32_C(0x005E1C6B),
+          UINT32_C(0x00800FFB), UINT32_C(0x006BC9CA), UINT32_C(0x00125F16),
+          UINT32_C(0x000F6D0D), UINT32_C(0x00186A82), UINT32_C(0x00479A35),
+          UINT32_C(0x0006739D), UINT32_C(0x004DCC17)}},
+        {{UINT32_C(0x0067A5F5), UINT32_C(0x007CA11D), UINT32_C(0x0051B4EF),
+          UINT32_C(0x00E64083), UINT32_C(0x002B0147), UINT32_C(0x0022B454),
+          UINT32_C(0x0050D922), UINT32_C(0x0019CFE8), UINT32_C(0x00416B41),
+          UINT32_C(0x00219410), UINT32_C(0x005C5995)},
+         {UINT32_C(0x0020EA67), UINT32_C(0x0065B659), UINT32_C(0x0011B640),
+          UINT32_C(0x00C05AB3), UINT32_C(0x0015BD93), UINT32_C(0x003F4CB7),
+          UINT32_C(0x000CD5AA), UINT32_C(0x006203FA), UINT32_C(0x001FA8A5),
+          UINT32_C(0x001E6F64), UINT32_C(0x006FB8E7)},
+         {UINT32_C(0x00B6FEF4), UINT32_C(0x0053F0CE), UINT32_C(0x006B1E51),
+          UINT32_C(0x0033476B), UINT32_C(0x00419002), UINT32_C(0x006F619C),
+          UINT32_C(0x005CAF14), UINT32_C(0x001753E9), UINT32_C(0x0038FC4F),
+          UINT32_C(0x007F5E19), UINT32_C(0x000F12D2)}},
+        {{UINT32_C(0x009F6EBB), UINT32_C(0x004C08FE), UINT32_C(0x006E7C4E),
+          UINT32_C(0x00F1680D), UINT32_C(0x00446C66), UINT32_C(0x00350BF6),
+          UINT32_C(0x006A96E3), UINT32_C(0x005AEE9A), UINT32_C(0x006935BB),
+          UINT32_C(0x0073B4C5), UINT32_C(0x004AC140)},
+         {UINT32_C(0x00E5225C), UINT32_C(0x007B671B), UINT32_C(0x007606A0),
+          UINT32_C(0x00938508), UINT32_C(0x007625D7), UINT32_C(0x001E3B8F),
+          UINT32_C(0x002EAE28), UINT32_C(0x00318F8C), UINT32_C(0x001CC7F0),
+          UINT32_C(0x0010B56D), UINT32_C(0x0049C97C)},
+         {UINT32_C(0x00DE3FDD), UINT32_C(0x0008CA79), UINT32_C(0x000A0585),
+          UINT32_C(0x0056E5A5), UINT32_C(0x003CF77E), UINT32_C(0x002C9DD5),
+          UINT32_C(0x006D3D48), UINT32_C(0x00B152EB), UINT32_C(0x001C6B5C),
+          UINT32_C(0x00755FAF), UINT32_C(0x002B73E8)}},
+        {{UINT32_C(0x004F175B), UINT32_C(0x0074B90C), UINT32_C(0x007C4EB9),
+          UINT32_C(0x00CB92B7), UINT32_C(0x00592AE2), UINT32_C(0x0056E0F5),
+          UINT32_C(0x007528E2), UINT32_C(0x00893263), UINT32_C(0x0006AD16),
+          UINT32_C(0x0070AA41), UINT32_C(0x0062E83F)},
+         {UINT32_C(0x00058482), UINT32_C(0x00171A5D), UINT32_C(0x0047C331),
+          UINT32_C(0x00DF7758), UINT32_C(0x002B4A00), UINT32_C(0x001FCAD8),
+          UINT32_C(0x006A1943), UINT32_C(0x00B73575), UINT32_C(0x00171180),
+          UINT32_C(0x005C1148), UINT32_C(0x0012A36A)},
+         {UINT32_C(0x008C51AE), UINT32_C(0x0020EE14), UINT32_C(0x00549F62),
+          UINT32_C(0x00CD3EB6), UINT32_C(0x0048A700), UINT32_C(0x00596B28),
+          UINT32_C(0x002F99A4), UINT32_C(0x00010422), UINT32_C(0x001769F4),
+          UINT32_C(0x00225E79), UINT32_C(0x0067F6DE)}},
+        {{UINT32_C(0x009E9178), UINT32_C(0x0005D43C), UINT32_C(0x0012A802),
+          UINT32_C(0x0086A260), UINT32_C(0x0063C91C), UINT32_C(0x0063084E),
+          UINT32_C(0x0046B7E1), UINT32_C(0x00A17B2D), UINT32_C(0x0051323E),
+          UINT32_C(0x0046B359), UINT32_C(0x00037634)},
+         {UINT32_C(0x000A3DA8), UINT32_C(0x001949B0), UINT32_C(0x0005E3B9),
+          UINT32_C(0x002467F0), UINT32_C(0x004BCC28), UINT32_C(0x00501570),
+          UINT32_C(0x003D5412), UINT32_C(0x00CD0573), UINT32_C(0x0040ECA4),
+          UINT32_C(0x0017C942), UINT32_C(0x001AACE2)},
+         {UINT32_C(0x00427572), UINT32_C(0x002D0E76), UINT32_C(0x006FC301),
+          UINT32_C(0x0011516D), UINT32_C(0x003B6F32), UINT32_C(0x0056D53F),
+          UINT32_C(0x002E9447), UINT32_C(0x00909115), UINT32_C(0x007DC768),
+          UINT32_C(0x00553F21), UINT32_C(0x003A0976)}},
+    },
+    {
+        {{UINT32_C(0x0018835D), UINT32_C(0x001FCF9F), UINT32_C(0x001AD610),
+          UINT32_C(0x007D30EC), UINT32_C(0x006C910C), UINT32_C(0x003FB1A8),
+          UINT32_C(0x001464A4), UINT32_C(0x0027680C), UINT32_C(0x007E54DB),
+          UINT32_C(0x005EDD4B), UINT32_C(0x005A8976)},
+         {UINT32_C(0x0037E1C3), UINT32_C(0x0016BF14), UINT32_C(0x0006AA36),
+          UINT32_C(0x0040A33E), UINT32_C(0x006DC0DF), UINT32_C(0x00242FA2),
+          UINT32_C(0x00274EA4), UINT32_C(0x000084D9), UINT32_C(0x0068A677),
+          UINT32_C(0x004FE2AF), UINT32_C(0x001D11B4)},
+         {UINT32_C(0x003DC1C7), UINT32_C(0x00792137), UINT32_C(0x002CB33F),
+          UINT32_C(0x007A0801), UINT32_C(0x000056E3), UINT32_C(0x00339206),
+          UINT32_C(0x003D0090), UINT32_C(0x00F96044), UINT32_C(0x00537FE0),
+          UINT32_C(0x006358EF), UINT32_C(0x001EE2D0)}},
+        {{UINT32_C(0x0029CB03), UINT32_C(0x000FF813), UINT32_C(0x00067660),
+          UINT32_C(0x00E00898), UINT32_C(0x000083A1), UINT32_C(0x00516E88),
+          UINT32_C(0x00543512), UINT32_C(0x00EFA310), UINT32_C(0x005ED95E),
+          UINT32_C(0x0048147D), UINT32_C(0x003958DB)},
+         {UINT32_C(0x0084596C), UINT32_C(0x006BC632), UINT32_C(0x0037EAF8),
+          UINT32_C(0x00148F47), UINT32_C(0x002DE2D2), UINT32_C(0x007E4DA4),
+          UINT32_C(0x0021A371), UINT32_C(0x00BF0084), UINT32_C(0x003EFBC7),
+          UINT32_C(0x0079976E), UINT32_C(0x004BAEFB)},
+         {UINT32_C(0x000DA1C1), UINT32_C(0x00310E2C), UINT32_C(0x0030B00D),
+          UINT32_C(0x007060D1), UINT32_C(0x000F8A0E), UINT32_C(0x005B1EC0),
+          UINT32_C(0x0066C96D), UINT32_C(0x008BB679), UINT32_C(0x0031F9DB),
+          UINT32_C(0x0032C38D), UINT32_C(0x003C1F72)}},
+        {{UINT32_C(0x00BCFE19), UINT32_C(0x005B51F8), UINT32_C(0x0037A870),
+          UINT32_C(0x00898A49), UINT32_C(0x007BD853), UINT32_C(0x0064DA75),
+          UINT32_C(0x0017497A), UINT32_C(0x0021BE3C), UINT32_C(0x0026C48F),
+          UINT32_C(0x0035A56E), UINT32_C(0x00079EFC)},
+         {UINT32_C(0x006AEFDE), UINT32_C(0x007113F8), UINT32_C(0x007013EA),
+          UINT32_C(0x004A8F2E), UINT32_C(0x0038D8C7), UINT32_C(0x003E2B86),
+          UINT32_C(0x006499EE), UINT32_C(0x00EF9DD1), UINT32_C(0x00541109),
+          UINT32_C(0x007F4211), UINT32_C(0x002650ED)},
+         {UINT32_C(0x00E8730E), UINT32_C(0x007EF6E8), UINT32_C(0x00053E89),
+          UINT32_C(0x00B164EC), UINT32_C(0x004CFEB8), UINT32_C(0x002674CE),
+          UINT32_C(0x006FD69F), UINT32_C(0x00862ADC), UINT32_C(0x0074A714),
+          UINT32_C(0x004E95F1), UINT32_C(0x00440342)}},
+        {{UINT32_C(0x0086A1D1), UINT32_C(0x0009570F), UINT32_C(0x0021E028),
+          UINT32_C(0x00D8EF33), UINT32_C(0x0030D08A), UINT32_C(0x005EE53C),
+          UINT32_C(0x005F27BE), UINT32_C(0x00315BEF), UINT32_C(0x0030A287),
+          UINT32_C(0x00395DE5), UINT32_C(0x00694DAA)},
+         {UINT32_C(0x004E499A), UINT32_C(0x0024FC80), UINT32_C(0x0045DA5E),
+          UINT32_C(0x004542DE), UINT32_C(0x005A6E71), UINT32_C(0x0013BB0D),
+          UINT32_C(0x0000E551), UINT32_C(0x0009BB0D), UINT32_C(0x00710991),
+          UINT32_C(0x00116881), UINT32_C(0x0075A138)},
+         {UINT32_C(0x0039EB19), UINT32_C(0x0067187C), UINT32_C(0x00636CC0),
+          UINT32_C(0x0094DCEC), UINT32_C(0x001AF3DD), UINT32_C(0x002B8639),
+          UINT32_C(0x006554E7), UINT32_C(0x00E605EB), UINT32_C(0x0061639B),
+          UINT32_C(0x0077500A), UINT32_C(0x003193ED)}},
+        {{UINT32_C(0x0001E326), UINT32_C(0x00352C31), UINT32_C(0x004A76AB),
+          UINT32_C(0x00D940B5), UINT32_C(0x006329C5), UINT32_C(0x001AFE72),
+          UINT32_C(0x005E4FE9), UINT32_C(0x00F56D9B), UINT32_C(0x003E7DB3),
+          UINT32_C(0x00054566), UINT32_C(0x004D0C77)},
+         {UINT32_C(0x00B344FC), UINT32_C(0x001F79B7), UINT32_C(0x0050F482),
+          UINT32_C(0x0098D267), UINT32_C(0x001C2619), UINT32_C(0x006BBD65),
+          UINT32_C(0x00346286), UINT32_C(0x008CAD0C), UINT32_C(0x000FC617),
+          UINT32_C(0x0032B373), UINT32_C(0x007978E3)},
+         {UINT32_C(0x00C94333), UINT32_C(0x006B14A8), UINT32_C(0x001075C5),
+          UINT32_C(0x00BDD939), UINT32_C(0x0000EE70), UINT32_C(0x00188183),
+          UINT32_C(0x007398E2), UINT32_C(0x0009184A), UINT32_C(0x007DF798),
+          UINT32_C(0x0057B14F), UINT32_C(0x0021B6A8)}},
+        {{UINT32_C(0x00F232E3), UINT32_C(0x00449C35), UINT32_C(0x000CC2CD),
+          UINT32_C(0x0003BBFB), UINT32_C(0x006E022E), UINT32_C(0x005937F0),
+          UINT32_C(0x000D3400), UINT32_C(0x00A3335B), UINT32_C(0x003797FA),
+          UINT32_C(0x007E0C16), UINT32_C(0x0068AB4A)},
+         {UINT32_C(0x00655243), UINT32_C(0x0076EF0C), UINT32_C(0x007A5D62),
+          UINT32_C(0x0087B99B), UINT32_C(0x007F5266), UINT32_C(0x00129263),
+          UINT32_C(0x0052B578), UINT32_C(0x00CC7106), UINT32_C(0x004128A7),
+          UINT32_C(0x0074AFC9), UINT32_C(0x001A0821)},
+         {UINT32_C(0x0000FE7F), UINT32_C(0x0058CC38), UINT32_C(0x004ACE7A),
+          UINT32_C(0x0027824A), UINT32_C(0x0071BB43), UINT32_C(0x004CD1C5),
+          UINT32_C(0x001DE8E5), UINT32_C(0x00FD97F3), UINT32_C(0x004164E0),
+          UINT32_C(0x00542935), UINT32_C(0x0015EE68)}},
+        {{UINT32_C(0x0056201E), UINT32_C(0x00572A88), UINT32_C(0x005A66B9),
+          UINT32_C(0x00A30E5F), UINT32_C(0x000E20E3), UINT32_C(0x000898BF),
+          UINT32_C(0x003CC5C7), UINT32_C(0x000170BD), UINT32_C(0x003813EE),
+          UINT32_C(0x00079874), UINT32_C(0x006A5F45)},
+         {UINT32_C(0x00C07AE0), UINT32_C(0x00680DE0), UINT32_C(0x0012D0D6),
+          UINT32_C(0x00641F64), UINT32_C(0x000E6F53), UINT32_C(0x000A48AC),
+          UINT32_C(0x002EBABE), UINT32_C(0x0017E4D0), UINT32_C(0x006B3042),
+          UINT32_C(0x0047391C), UINT32_C(0x003FC7B5)},
+         {UINT32_C(0x008AE200), UINT32_C(0x00651B7E), UINT32_C(0x000F51C8),
+          UINT32_C(0x0034F2DB), UINT32_C(0x00418121), UINT32_C(0x0052E806),
+          UINT32_C(0x004B57A3), UINT32_C(0x00801E3B), UINT32_C(0x006E2553),
+          UINT32_C(0x0017FE29), UINT32_C(0x000371F5)}},
+        {{UINT32_C(0x00E0B571), UINT32_C(0x0043B547), UINT32_C(0x0015696B),
+          UINT32_C(0x00732AF4), UINT32_C(0x007B6282), UINT32_C(0x007276FC),
+          UINT32_C(0x00489692), UINT32_C(0x00536F42), UINT32_C(0x00241953),
+          UINT32_C(0x0047679B), UINT32_C(0x0017A0AD)},
+         {UINT32_C(0x0071332D), UINT32_C(0x00010B6E), UINT32_C(0x007EE392),
+          UINT32_C(0x00A7B31C), UINT32_C(0x004921ED), UINT32_C(0x000B32BD),
+          UINT32_C(0x001187FE), UINT32_C(0x00913F47), UINT32_C(0x000B27ED),
+          UINT32_C(0x0043B431), UINT32_C(0x0055085B)},
+         {UINT32_C(0x00E2C137), UINT32_C(0x001AD933), UINT32_C(0x000D0367),
+          UINT32_C(0x007E38F0), UINT32_C(0x0003205C), UINT32_C(0x0014599A),
+          UINT32_C(0x001E8DE6), UINT32_C(0x007A88FA), UINT32_C(0x0077198A),
+          UINT32_C(0x0031A753), UINT32_C(0x002FE194)}},
+        {{UINT32_C(0x00682B6C), UINT32_C(0x00652986), UINT32_C(0x001F417F),
+          UINT32_C(0x00DE4F1B), UINT32_C(0x000EF1F1), UINT32_C(0x00036E7F),
+          UINT32_C(0x005AD789), UINT32_C(0x00AE8DB4), UINT32_C(0x0076B58D),
+          UINT32_C(0x002E3942), UINT32_C(0x006F7B10)},
+         {UINT32_C(0x009E5FA2), UINT32_C(0x0008F3C7), UINT32_C(0x00043BDE),
+          UINT32_C(0x0052A794), UINT32_C(0x0044679C), UINT32_C(0x007F28C0),
+          UINT32_C(0x00382AB6), UINT32_C(0x00395191), UINT32_C(0x0039B531),
+          UINT32_C(0x0036F81A), UINT32_C(0x00795887)},
+         {UINT32_C(0x00F70354), UINT32_C(0x00328B59), UINT32_C(0x003D01A3),
+          UINT32_C(0x00C9F394), UINT32_C(0x0022F3EA), UINT32_C(0x006F350F),
+          UINT32_C(0x0058C2B3), UINT32_C(0x0040634F), UINT32_C(0x00320F7C),
+          UINT32_C(0x006D4BEE), UINT32_C(0x0057CCC9)}},
+        {{UINT32_C(0x0093E9B9), UINT32_C(0x006BDC73), UINT32_C(0x0045A4A0),
+          UINT32_C(0x0051A4D7), UINT32_C(0x005C415B), UINT32_C(0x0066BA11),
+          UINT32_C(0x005AE064), UINT32_C(0x005245BE), UINT32_C(0x00013BE1),
+          UINT32_C(0x006DD2F6), UINT32_C(0x006F9657)},
+         {UINT32_C(0x00E1468C), UINT32_C(0x0004FD78), UINT32_C(0x005800DD),
+          UINT32_C(0x0091E526), UINT32_C(0x0012067D), UINT32_C(0x00481847),
+          UINT32_C(0x000A9B9D), UINT32_C(0x00D7FB7D), UINT32_C(0x0008AF37),
+          UINT32_C(0x00598387), UINT32_C(0x0053520A)},
+         {UINT32_C(0x009411F0), UINT32_C(0x00415CC6), UINT32_C(0x003CFAB9),
+          UINT32_C(0x00BEE1C6), UINT32_C(0x0011F354), UINT32_C(0x00540421),
+          UINT32_C(0x005B7E1D), UINT32_C(0x00AA9283), UINT32_C(0x00107457),
+          UINT32_C(0x000DC4A7), UINT32_C(0x0058459D)}},
+        {{UINT32_C(0x00531F14), UINT32_C(0x001009E3), UINT32_C(0x0073B657),
+          UINT32_C(0x00DC0159), UINT32_C(0x00665408), UINT32_C(0x0008FF55),
+          UINT32_C(0x007D3DF9), UINT32_C(0x0031F848), UINT32_C(0x000B2149),
+          UINT32_C(0x002E956E), UINT32_C(0x00749370)},
+         {UINT32_C(0x005EACBA), UINT32_C(0x0013C60C), UINT32_C(0x001B1DCF),
+          UINT32_C(0x00BE1671), UINT32_C(0x005C94CC), UINT32_C(0x00437E24),
+          UINT32_C(0x00214684), UINT32_C(0x00207638), UINT32_C(0x002A0D18),
+          UINT32_C(0x001FE161), UINT32_C(0x001F585E)},
+         {UINT32_C(0x00FF468A), UINT32_C(0x004D3FD3), UINT32_C(0x000BBF50),
+          UINT32_C(0x00011D45), UINT32_C(0x001070E3), UINT32_C(0x00438229),
+          UINT32_C(0x0059AB03), UINT32_C(0x000AA329), UINT32_C(0x00315647),
+          UINT32_C(0x000CCF61), UINT32_C(0x000F1485)}},
+        {{UINT32_C(0x009129E3), UINT32_C(0x0012693C), UINT32_C(0x004E8200),
+          UINT32_C(0x00027D67), UINT32_C(0x00704244), UINT32_C(0x00210CBE),
+          UINT32_C(0x00192F03), UINT32_C(0x005142DE), UINT32_C(0x001A84FB),
+          UINT32_C(0x003745C5), UINT32_C(0x0064B88E)},
+         {UINT32_C(0x004FD4A7), UINT32_C(0x0039F707), UINT32_C(0x0027F3CE),
+          UINT32_C(0x00C4924F), UINT32_C(0x004C1AC9), UINT32_C(0x005438CD),
+          UINT32_C(0x0029571A), UINT32_C(0x009A42D3), UINT32_C(0x00437704),
+          UINT32_C(0x00466DF8), UINT32_C(0x004CAE5F)},
+         {UINT32_C(0x00CF7ED3), UINT32_C(0x00327495), UINT32_C(0x0023D857),
+          UINT32_C(0x003ADCC1), UINT32_C(0x00783A07), UINT32_C(0x0070C835),
+          UINT32_C(0x0063B436), UINT32_C(0x00AF64FA), UINT32_C(0x0043E2D6),
+          UINT32_C(0x0020BE90), UINT32_C(0x001B98ED)}},
+        {{UINT32_C(0x00A4C93E), UINT32_C(0x004F4C24), UINT32_C(0x007F4777),
+          UINT32_C(0x000570E1), UINT32_C(0x003BF809), UINT32_C(0x001608A3),
+          UINT32_C(0x0073E59E), UINT32_C(0x00B32CC7), UINT32_C(0x005501BF),
+          UINT32_C(0x00027C79), UINT32_C(0x00793FF1)},
+         {UINT32_C(0x0019DCA8), UINT32_C(0x001F6A93), UINT32_C(0x007FB9FE),
+          UINT32_C(0x00389B1A), UINT32_C(0x0032A1FC), UINT32_C(0x001BD948),
+          UINT32_C(0x00661278), UINT32_C(0x00C98D56), UINT32_C(0x005CDFB2),
+          UINT32_C(0x004DF065), UINT32_C(0x004DA8B5)},
+         {UINT32_C(0x008AF82E), UINT32_C(0x0049B701), UINT32_C(0x002A4058),
+          UINT32_C(0x00937D79), UINT32_C(0x003E1209), UINT32_C(0x006D0224),
+          UINT32_C(0x00654260), UINT32_C(0x0089CD81), UINT32_C(0x0031BE9C),
+          UINT32_C(0x007F915B), UINT32_C(0x00545CEB)}},
+        {{UINT32_C(0x00606923), UINT32_C(0x00535E19), UINT32_C(0x004B9720),
+          UINT32_C(0x007CF3AC), UINT32_C(0x0009FEE2), UINT32_C(0x0021E97C),
+          UINT32_C(0x00417B8D), UINT32_C(0x0005C8DC), UINT32_C(0x00278974),
+          UINT32_C(0x00220131), UINT32_C(0x0001F1EA)},
+         {UINT32_C(0x0051751A), UINT32_C(0x0022CFFE), UINT32_C(0x0065EAE7),
+          UINT32_C(0x0002D66F), UINT32_C(0x001CFE5E), UINT32_C(0x0004D158),
+          UINT32_C(0x003519D9), UINT32_C(0x00C3A426), UINT32_C(0x0050617E),
+          UINT32_C(0x003DFC62), UINT32_C(0x000C1E82)},
+         {UINT32_C(0x0054E7F7), UINT32_C(0x003159A5), UINT32_C(0x00536937),
+          UINT32_C(0x00743C99), UINT32_C(0x002C5B9E), UINT32_C(0x003E5BAC),
+          UINT32_C(0x00713E45), UINT32_C(0x001C8CC3), UINT32_C(0x00379CFC),
+          UINT32_C(0x0040AC92), UINT32_C(0x004FD6BA)}},
+        {{UINT32_C(0x00375AB1), UINT32_C(0x00558A76), UINT32_C(0x00127659),
+          UINT32_C(0x002E36DD), UINT32_C(0x0017A438), UINT32_C(0x0037085E),
+          UINT32_C(0x00460F93), UINT32_C(0x00DC21D1), UINT32_C(0x006D33E1),
+          UINT32_C(0x004422EB), UINT32_C(0x003B5755)},
+         {UINT32_C(0x003DA9D4), UINT32_C(0x002248E9), UINT32_C(0x0003EAEC),
+          UINT32_C(0x00D43561), UINT32_C(0x001BF26D), UINT32_C(0x005C5F13),
+          UINT32_C(0x00626C12), UINT32_C(0x00B918DF), UINT32_C(0x0065CADE),
+          UINT32_C(0x00717357), UINT32_C(0x005BB6B5)},
+         {UINT32_C(0x004024E3), UINT32_C(0x0046B939), UINT32_C(0x004E46F3),
+          UINT32_C(0x001511AF), UINT32_C(0x00776BD7), UINT32_C(0x00320079),
+          UINT32_C(0x007332F3), UINT32_C(0x007C852A), UINT32_C(0x007816D9),
+          UINT32_C(0x0068E65E), UINT32_C(0x0045DBB4)}},
+        {{UINT32_C(0x00E0980A), UINT32_C(0x003CBFDB), UINT32_C(0x0074F5AA),
+          UINT32_C(0x001EA8DD), UINT32_C(0x002C4C50), UINT32_C(0x00311D45),
+          UINT32_C(0x0039C948), UINT32_C(0x0055988C), UINT32_C(0x005B5B63),
+          UINT32_C(0x0041F40E), UINT32_C(0x002C22D4)},
+         {UINT32_C(0x00AE7440), UINT32_C(0x002ACDC7), UINT32_C(0x0078F4C2),
+          UINT32_C(0x00199902), UINT32_C(0x001399A7), UINT32_C(0x003DDA20),
+          UINT32_C(0x00658152), UINT32_C(0x005F646B), UINT32_C(0x006CA0B4),
+          UINT32_C(0x0073AF03), UINT32_C(0x00052716)},
+         {UINT32_C(0x007F80B6), UINT32_C(0x003B2F94), UINT32_C(0x00373B83),
+          UINT32_C(0x00EA1B50), UINT32_C(0x00716C1C), UINT32_C(0x0047A779),
+          UINT32_C(0x006E478C), UINT32_C(0x009F1C86), UINT32_C(0x00772EF9),
+          UINT32_C(0x003C8BB5), UINT32_C(0x0003308F)}},
+    },
+    {
+        {{UINT32_C(0x003A0F8A), UINT32_C(0x00239C42), UINT32_C(0x002C8997),
+          UINT32_C(0x00CB1312), UINT32_C(0x000BA3BF), UINT32_C(0x00433E65),
+          UINT32_C(0x0004E93D), UINT32_C(0x00BC78BF), UINT32_C(0x0016315F),
+          UINT32_C(0x007839DA), UINT32_C(0x00072F5D)},
+         {UINT32_C(0x00431B86), UINT32_C(0x0052B0C9), UINT32_C(0x007B6B54),
+          UINT32_C(0x0004C666), UINT32_C(0x0021961D), UINT32_C(0x00630D09),
+          UINT32_C(0x0026B7F8), UINT32_C(0x004B5633), UINT32_C(0x0036F916),
+          UINT32_C(0x007D08E5), UINT32_C(0x0009930C)},
+         {UINT32_C(0x006B4F00), UINT32_C(0x001D54A4), UINT32_C(0x00692DA9),
+          UINT32_C(0x0098837B), UINT32_C(0x0065006A), UINT32_C(0x000704B4),
+          UINT32_C(0x00424FF9), UINT32_C(0x00C25B4D), UINT32_C(0x005B6D40),
+          UINT32_C(0x0054C25F), UINT32_C(0x00387F6A)}},
+        {{UINT32_C(0x002F5512), UINT32_C(0x00654E2D), UINT32_C(0x00668342),
+          UINT32_C(0x00E2D4F5), UINT32_C(0x001FCDE3), UINT32_C(0x00396F10),
+          UINT32_C(0x00474238), UINT32_C(0x001DFA11), UINT32_C(0x00536151),
+          UINT32_C(0x0060AA5E), UINT32_C(0x0008AD4A)},
+         {UINT32_C(0x00E427F0), UINT32_C(0x005588B0), UINT32_C(0x002428A4),
+          UINT32_C(0x00DD098A), UINT32_C(0x002CAE12), UINT32_C(0x0005B6F7),
+          UINT32_C(0x0003677F), UINT32_C(0x00B1209B), UINT32_C(0x000B9B82),
+          UINT32_C(0x007C5D85), UINT32_C(0x00503BBE)},
+         {UINT32_C(0x003F3EE8), UINT32_C(0x0071495D), UINT32_C(0x004CA27C),
+          UINT32_C(0x0057A105), UINT32_C(0x0038F4ED), UINT32_C(0x00019BA2),
+          UINT32_C(0x00772D19), UINT32_C(0x000C8A1F), UINT32_C(0x002F07EB),
+          UINT32_C(0x0009E4D0), UINT32_C(0x007AF54E)}},
+        {{UINT32_C(0x009ED4D4), UINT32_C(0x0035F235), UINT32_C(0x003B3EFE),
+          UINT32_C(0x00B5687B), UINT32_C(0x007499B6), UINT32_C(0x004AEC1B),
+          UINT32_C(0x0011D9F3), UINT32_C(0x00F934CA), UINT32_C(0x00626585),
+          UINT32_C(0x000054A1), UINT32_C(0x0078ADC1)},
+         {UINT32_C(0x000F1D44), UINT32_C(0x00067701), UINT32_C(0x002F00AB),
+          UINT32_C(0x008F68D3), UINT32_C(0x001C1C3B), UINT32_C(0x0049876F),
+          UINT32_C(0x007C5E0C), UINT32_C(0x00958C8A), UINT32_C(0x00585F0E),
+          UINT32_C(0x003980D2), UINT32_C(0x004C2741)},
+         {UINT32_C(0x004F0FD3), UINT32_C(0x000519E7), UINT32_C(0x00455DA2),
+          UINT32_C(0x00E4A2DB), UINT32_C(0x0006A399), UINT32_C(0x005F65BE),
+          UINT32_C(0x0010C895), UINT32_C(0x00E1E39C), UINT32_C(0x000D2D62),
+          UINT32_C(0x005489D3), UINT32_C(0x0064F071)}},
+        {{UINT32_C(0x0075E904), UINT32_C(0x0034221F), UINT32_C(0x006C3082),
+          UINT32_C(0x001DFF10), UINT32_C(0x007E367A), UINT32_C(0x0044654C),
+          UINT32_C(0x00214821), UINT32_C(0x0044A5B4), UINT32_C(0x0065B709),
+          UINT32_C(0x001D42EE), UINT32_C(0x001A97DC)},
+         {UINT32_C(0x000AD26D), UINT32_C(0x0030E580), UINT32_C(0x006F212B),
+          UINT32_C(0x00100EE6), UINT32_C(0x000F70F2), UINT32_C(0x007CA3C6),
+          UINT32_C(0x0017EBC5), UINT32_C(0x00311581), UINT32_C(0x002B7BB5),
+          UINT32_C(0x00283403), UINT32_C(0x0001A581)},
+         {UINT32_C(0x009043A2), UINT32_C(0x001B3A77), UINT32_C(0x000FA816),
+          UINT32_C(0x004B33BF), UINT32_C(0x005044AF), UINT32_C(0x001584E4),
+          UINT32_C(0x00417440), UINT32_C(0x0006E3D6), UINT32_C(0x00723841),
+          UINT32_C(0x007F1CF7), UINT32_C(0x000A8A6D)}},
+        {{UINT32_C(0x0041A857), UINT32_C(0x0034AE73), UINT32_C(0x004BB287),
+          UINT32_C(0x0086B914), UINT32_C(0x006E11BD), UINT32_C(0x000F0FD1),
+          UINT32_C(0x003523A3), UINT32_C(0x00860736), UINT32_C(0x00209E71),
+          UINT32_C(0x0021DE0F), UINT32_C(0x001A4D6B)},
+         {UINT32_C(0x00F677D7), UINT32_C(0x0048110C), UINT32_C(0x0008F908),
+          UINT32_C(0x009BD400), UINT32_C(0x006B94AC), UINT32_C(0x0037B8C2),
+          UINT32_C(0x0049854F), UINT32_C(0x005C4D2F), UINT32_C(0x003BA675),
+          UINT32_C(0x003C2448), UINT32_C(0x0069DC9E)},
+         {UINT32_C(0x00025EE8), UINT32_C(0x00384FEB), UINT32_C(0x001C9DA4),
+          UINT32_C(0x0005A77C), UINT32_C(0x002CEBD8), UINT32_C(0x00253110),
+          UINT32_C(0x0048F3CD), UINT32_C(0x0045CF49), UINT32_C(0x004771CD),
+          UINT32_C(0x003F1990), UINT32_C(0x004F6051)}},
+        {{UINT32_C(0x0003827C), UINT32_C(0x001F112D), UINT32_C(0x0071973A),
+          UINT32_C(0x0099B096), UINT32_C(0x000C34F8), UINT32_C(0x00397A6A),
+          UINT32_C(0x007F26ED), UINT32_C(0x00AD0CF1), UINT32_C(0x0069FEEE),
+          UINT32_C(0x000BB893), UINT32_C(0x00525AC4)},
+         {UINT32_C(0x001DE590), UINT32_C(0x0063FBAF), UINT32_C(0x0013D7EB),
+          UINT32_C(0x0042B275), UINT32_C(0x006A1E1B), UINT32_C(0x0010AEC1),
+          UINT32_C(0x002C78D4), UINT32_C(0x0028C9DF), UINT32_C(0x0045854B),
+          UINT32_C(0x000789E7), UINT32_C(0x0000074F)},
+         {UINT32_C(0x008229BF), UINT32_C(0x0069358B), UINT32_C(0x001825AA),
+          UINT32_C(0x00181405), UINT32_C(0x0073C536), UINT32_C(0x0063CEAE),
+          UINT32_C(0x0015B3E7), UINT32_C(0x008AFF3F), UINT32_C(0x0010C89E),
+          UINT32_C(0x001AF589), UINT32_C(0x004E0053)}},
+        {{UINT32_C(0x0028B9C8), UINT32_C(0x0034B521), UINT32_C(0x003323FB),
+          UINT32_C(0x00B663B0), UINT32_C(0x004DAAA1), UINT32_C(0x002616C9),
+          UINT32_C(0x0032ABEB), UINT32_C(0x0040C353), UINT32_C(0x00086B1D),
+          UINT32_C(0x0036A180), UINT32_C(0x003E458C)},
+         {UINT32_C(0x00DCF643), UINT32_C(0x002C1001), UINT32_C(0x0052AA3F),
+          UINT32_C(0x008E9839), UINT32_C(0x004A4E69), UINT32_C(0x001D0E16),
+          UINT32_C(0x002FBB80), UINT32_C(0x0043D67E), UINT32_C(0x00478B72),
+          UINT32_C(0x000F9CA3), UINT32_C(0x003AFC42)},
+         {UINT32_C(0x000DD581), UINT32_C(0x007F85BA), UINT32_C(0x00436D63),
+          UINT32_C(0x00598F90), UINT32_C(0x0014B661), UINT32_C(0x00306562),
+          UINT32_C(0x00761E86), UINT32_C(0x006C8505), UINT32_C(0x00568527),
+          UINT32_C(0x006FDA5A), UINT32_C(0x001ADEA0)}},
+        {{UINT32_C(0x00890618), UINT32_C(0x000CD682), UINT32_C(0x007E36FF),
+          UINT32_C(0x00303F12), UINT32_C(0x000B2A6D), UINT32_C(0x00415241),
+          UINT32_C(0x0025E2C9), UINT32_C(0x00F0E829), UINT32_C(0x003A20B1),
+          UINT32_C(0x005BC247), UINT32_C(0x004FF913)},
+         {UINT32_C(0x00C77BF2), UINT32_C(0x004061A1), UINT32_C(0x007197C8),
+          UINT32_C(0x0031BABD), UINT32_C(0x00096046), UINT32_C(0x0045E643),
+          UINT32_C(0x006FC909), UINT32_C(0x00088EA6), UINT32_C(0x0070A7CA),
+          UINT32_C(0x0047B9D0), UINT32_C(0x0050FC48)},
+         {UINT32_C(0x00FF3B98), UINT32_C(0x0078A423), UINT32_C(0x0012CC47),
+          UINT32_C(0x00AE776D), UINT32_C(0x0021495E), UINT32_C(0x004A3D73),
+          UINT32_C(0x00391838), UINT32_C(0x001B0893), UINT32_C(0x000AE103),
+          UINT32_C(0x005B7AC6), UINT32_C(0x0058F1A9)}},
+        {{UINT32_C(0x00CAFC7E), UINT32_C(0x006D3D15), UINT32_C(0x003C5E44),
+          UINT32_C(0x00246F10), UINT32_C(0x00654846), UINT32_C(0x0021C350),
+          UINT32_C(0x0029B782), UINT32_C(0x000F3BD5), UINT32_C(0x004BA2E1),
+          UINT32_C(0x000A9813), UINT32_C(0x003DAC06)},
+         {UINT32_C(0x0081BEA5), UINT32_C(0x005AF750), UINT32_C(0x00231C43),
+          UINT32_C(0x00546577), UINT32_C(0x00021D5B), UINT32_C(0x00323115),
+          UINT32_C(0x00360EE5), UINT32_C(0x000B7CC0), UINT32_C(0x0042696D),
+          UINT32_C(0x0014F38B), UINT32_C(0x00637448)},
+         {UINT32_C(0x00A10272), UINT32_C(0x0071C42F), UINT32_C(0x005406FB),
+          UINT32_C(0x000728BE), UINT32_C(0x003FCE1D), UINT32_C(0x00721CC4),
+          UINT32_C(0x00100233), UINT32_C(0x004A237D), UINT32_C(0x004691A1),
+          UINT32_C(0x00439B3E), UINT32_C(0x0068BD1A)}},
+        {{UINT32_C(0x0071251B), UINT32_C(0x00458B01), UINT32_C(0x001E79F8),
+          UINT32_C(0x00A77A06), UINT32_C(0x0074587F), UINT32_C(0x004DC1C1),
+          UINT32_C(0x003C2A50), UINT32_C(0x00255231), UINT32_C(0x005C317C),
+          UINT32_C(0x005F9187), UINT32_C(0x007CF5A9)},
+         {UINT32_C(0x00098FC2), UINT32_C(0x004404A1), UINT32_C(0x004D04AA),
+          UINT32_C(0x00464189), UINT32_C(0x0061D090), UINT32_C(0x004E55A9),
+          UINT32_C(0x0007C50C), UINT32_C(0x00BE825E), UINT32_C(0x00047F09),
+          UINT32_C(0x000F7FEC), UINT32_C(0x004E42D2)},
+         {UINT32_C(0x00355E39), UINT32_C(0x002EAC10), UINT32_C(0x00511D7E),
+          UINT32_C(0x00DF8195), UINT32_C(0x00658D53), UINT32_C(0x007832A7),
+          UINT32_C(0x00688D4A), UINT32_C(0x00630A34), UINT32_C(0x001BF382),
+          UINT32_C(0x005EC16E), UINT32_C(0x007B68AD)}},
+        {{UINT32_C(0x001E2363), UINT32_C(0x0019180C), UINT32_C(0x000DC491),
+          UINT32_C(0x00624C85), UINT32_C(0x004109E5), UINT32_C(0x006F6F9F),
+          UINT32_C(0x004721E1), UINT32_C(0x00D89B92), UINT32_C(0x002ACCC1),
+          UINT32_C(0x0061C123), UINT32_C(0x00181505)},
+         {UINT32_C(0x005EFABB), UINT32_C(0x007D8985), UINT32_C(0x003C5BC1),
+          UINT32_C(0x008F46C5), UINT32_C(0x0012B4ED), UINT32_C(0x0064759D),
+          UINT32_C(0x0058D2A9), UINT32_C(0x00C25CA8), UINT32_C(0x004E6E93),
+          UINT32_C(0x00503BCA), UINT32_C(0x00512AAA)},
+         {UINT32_C(0x009D1E14), UINT32_C(0x0074E51E), UINT32_C(0x00245CBE),
+          UINT32_C(0x00248FE2), UINT32_C(0x0074BDE8), UINT32_C(0x007C074E),
+          UINT32_C(0x0017A40E), UINT32_C(0x00FF34D1), UINT32_C(0x0057C0A3),
+          UINT32_C(0x0061B3EC), UINT32_C(0x002677F7)}},
+        {{UINT32_C(0x00CBF754), UINT32_C(0x0031AE3A), UINT32_C(0x000333B8),
+          UINT32_C(0x00D4CF78), UINT32_C(0x003E4A56), UINT32_C(0x004E6254),
+          UINT32_C(0x002FDBFA), UINT32_C(0x00144B0A), UINT32_C(0x0063FB6C),
+          UINT32_C(0x0001D4D6), UINT32_C(0x007A746B)},
+         {UINT32_C(0x007361B9), UINT32_C(0x005E8B06), UINT32_C(0x0044E134),
+          UINT32_C(0x00F4A847), UINT32_C(0x002329D4), UINT32_C(0x0044A5B7),
+          UINT32_C(0x0044F475), UINT32_C(0x00E61797), UINT32_C(0x0057FB07),
+          UINT32_C(0x00051722), UINT32_C(0x00241ECD)},
+         {UINT32_C(0x0022A500), UINT32_C(0x0039A10A), UINT32_C(0x0042D3D5),
+          UINT32_C(0x00B567D7), UINT32_C(0x0069AA6D), UINT32_C(0x00711215),
+          UINT32_C(0x002ED8DD), UINT32_C(0x0000F158), UINT32_C(0x006238BE),
+          UINT32_C(0x005650C3), UINT32_C(0x003D21E8)}},
+        {{UINT32_C(0x008B1C66), UINT32_C(0x0019194C), UINT32_C(0x0014BFE9),
+          UINT32_C(0x00748F3D), UINT32_C(0x003CCE8F), UINT32_C(0x0048A87C),
+          UINT32_C(0x006A1307), UINT32_C(0x006C2B73), UINT32_C(0x002E37A4),
+          UINT32_C(0x0029162B), UINT32_C(0x0027B4E0)},
+         {UINT32_C(0x00C21F63), UINT32_C(0x0017955E), UINT32_C(0x0078C143),
+          UINT32_C(0x00D5E54D), UINT32_C(0x00472F3D), UINT32_C(0x004E389E),
+          UINT32_C(0x005B4F76), UINT32_C(0x004D23EE), UINT32_C(0x00532138),
+          UINT32_C(0x00573674), UINT32_C(0x000CEC4B)},
+         {UINT32_C(0x003DE334), UINT32_C(0x006224BD), UINT32_C(0x000F9C6F),
+          UINT32_C(0x000A9395), UINT32_C(0x00345EAF), UINT32_C(0x00107910),
+          UINT32_C(0x0070F64A), UINT32_C(0x00D236DB), UINT32_C(0x0027355D),
+          UINT32_C(0x00164A6C), UINT32_C(0x007D6D7B)}},
+        {{UINT32_C(0x008036C4), UINT32_C(0x004A1B91), UINT32_C(0x00471A92),
+          UINT32_C(0x000371CC), UINT32_C(0x0056DDC0), UINT32_C(0x00130FC6),
+          UINT32_C(0x00287BA8), UINT32_C(0x00EAE3E3), UINT32_C(0x006A7352),
+          UINT32_C(0x004599E9), UINT32_C(0x00382164)},
+         {UINT32_C(0x00B93F79), UINT32_C(0x001E39CD), UINT32_C(0x00201F70),
+          UINT32_C(0x00EF1A24), UINT32_C(0x00530D3A), UINT32_C(0x005F0647),
+          UINT32_C(0x00008EE9), UINT32_C(0x00AD3CCB), UINT32_C(0x006C1B3C),
+          UINT32_C(0x0020B88E), UINT32_C(0x00041C1B)},
+         {UINT32_C(0x006CAF3D), UINT32_C(0x004A21AC), UINT32_C(0x001CDE34),
+          UINT32_C(0x0033DD65), UINT32_C(0x005353D1), UINT32_C(0x00584597),
+          UINT32_C(0x00114182), UINT32_C(0x005CB2D9), UINT32_C(0x0053A5C5),
+          UINT32_C(0x0071C2D4), UINT32_C(0x00244902)}},
+        {{UINT32_C(0x00AFA1E1), UINT32_C(0x0064BD11), UINT32_C(0x0014D188),
+          UINT32_C(0x0002D13D), UINT32_C(0x000E36B8), UINT32_C(0x00354548),
+          UINT32_C(0x007BB62C), UINT32_C(0x0078DF50), UINT32_C(0x0007E63C),
+          UINT32_C(0x00056614), UINT32_C(0x003D5281)},
+         {UINT32_C(0x0028DBA4), UINT32_C(0x0004B80D), UINT32_C(0x004F7FF8),
+          UINT32_C(0x007AA928), UINT32_C(0x0004ABF1), UINT32_C(0x0023D6FF),
+          UINT32_C(0x0024B312), UINT32_C(0x00023B8A), UINT32_C(0x003B5EDA),
+          UINT32_C(0x005AF149), UINT32_C(0x0019FA7B)},
+         {UINT32_C(0x00FF5820), UINT32_C(0x00358792), UINT32_C(0x0021A28C),
+          UINT32_C(0x00C51693), UINT32_C(0x000098EE), UINT32_C(0x00034266),
+          UINT32_C(0x0017723D), UINT32_C(0x00C2DDF5), UINT32_C(0x0000E734),
+          UINT32_C(0x006DAEF6), UINT32_C(0x0071F7AD)}},
+        {{UINT32_C(0x002E3AD1), UINT32_C(0x00779201), UINT32_C(0x0068289F),
+          UINT32_C(0x003F10B0), UINT32_C(0x002706C6), UINT32_C(0x002565B5),
+          UINT32_C(0x00190C55), UINT32_C(0x0033BD51), UINT32_C(0x000E50F0),
+          UINT32_C(0x00500819), UINT32_C(0x007C9D08)},
+         {UINT32_C(0x00FA9D8B), UINT32_C(0x0038DA3F), UINT32_C(0x00693AB6),
+          UINT32_C(0x00DE9636), UINT32_C(0x005BB3EC), UINT32_C(0x0065B8F5),
+          UINT32_C(0x00481E55), UINT32_C(0x0061E2C9), UINT32_C(0x001643BF),
+          UINT32_C(0x00559100), UINT32_C(0x005F79E6)},
+         {UINT32_C(0x002E392D), UINT32_C(0x001227D4), UINT32_C(0x00293C7B),
+          UINT32_C(0x00F92994), UINT32_C(0x002FAEE0), UINT32_C(0x00322623),
+          UINT32_C(0x00434FE2), UINT32_C(0x00199F46), UINT32_C(0x005C180E),
+          UINT32_C(0x005C3B89), UINT32_C(0x00566D13)}},
+    },
+    {
+        {{UINT32_C(0x004EC5D5), UINT32_C(0x00019CD6), UINT32_C(0x000BBD45),
+          UINT32_C(0x002193AE), UINT32_C(0x003165C6), UINT32_C(0x003D8D74),
+          UINT32_C(0x0045059C), UINT32_C(0x008CF60C), UINT32_C(0x00487D06),
+          UINT32_C(0x005A9D09), UINT32_C(0x007FC6E0)},
+         {UINT32_C(0x0037B42A), UINT32_C(0x0001A576), UINT32_C(0x000A750D),
+          UINT32_C(0x0045B5DD), UINT32_C(0x006F0E25), UINT32_C(0x001F4ABF),
+          UINT32_C(0x0056E0BA), UINT32_C(0x0065543B), UINT32_C(0x00564264),
+          UINT32_C(0x005ADF58), UINT32_C(0x0069B6ED)},
+         {UINT32_C(0x0008533F), UINT32_C(0x00673ED0), UINT32_C(0x0053205E),
+          UINT32_C(0x0060EB8B), UINT32_C(0x000C0216), UINT32_C(0x00483015),
+          UINT32_C(0x001974B0), UINT32_C(0x00610E9B), UINT32_C(0x00116E88),
+          UINT32_C(0x001B41F9), UINT32_C(0x003650B6)}},
+        {{UINT32_C(0x001E87C9), UINT32_C(0x00485E07), UINT32_C(0x00473783),
+          UINT32_C(0x009E4755), UINT32_C(0x0077AAE3), UINT32_C(0x006CF828),
+          UINT32_C(0x0064BF5B), UINT32_C(0x00DD1614), UINT32_C(0x001F3F82),
+          UINT32_C(0x000CDC74), UINT32_C(0x005A217D)},
+         {UINT32_C(0x007E7DC9), UINT32_C(0x004C5775), UINT32_C(0x00577E73),
+          UINT32_C(0x0054AC09), UINT32_C(0x00692B30), UINT32_C(0x005074AE),
+          UINT32_C(0x0047FE74), UINT32_C(0x00814E6D), UINT32_C(0x00611400),
+          UINT32_C(0x0054CC45), UINT32_C(0x0015E56A)},
+         {UINT32_C(0x0015BF7F), UINT32_C(0x00720BB8), UINT32_C(0x00128FA3),
+          UINT32_C(0x00EFF525), UINT32_C(0x002C2B16), UINT32_C(0x000032B7),
+          UINT32_C(0x0056FA97), UINT32_C(0x006F11AE), UINT32_C(0x0021850D),
+          UINT32_C(0x00755623), UINT32_C(0x0004F475)}},
+        {{UINT32_C(0x00DC22CC), UINT32_C(0x005EC978), UINT32_C(0x0075EFAB),
+          UINT32_C(0x00A67308), UINT32_C(0x001E17A7), UINT32_C(0x00471117),
+          UINT32_C(0x003D0D24), UINT32_C(0x0002B875), UINT32_C(0x005CD15C),
+          UINT32_C(0x00791ED0), UINT32_C(0x00519998)},
+         {UINT32_C(0x006DFC80), UINT32_C(0x003F2D4F), UINT32_C(0x00325346),
+          UINT32_C(0x00CF12E4), UINT32_C(0x000EF0D1), UINT32_C(0x001D644B),
+          UINT32_C(0x006A72BB), UINT32_C(0x00E463A5), UINT32_C(0x00393A41),
+          UINT32_C(0x003CFAB9), UINT32_C(0x0045AEDD)},
+         {UINT32_C(0x008CF232), UINT32_C(0x00355CF6), UINT32_C(0x0018330B),
+          UINT32_C(0x00E357D6), UINT32_C(0x002E9F65), UINT32_C(0x00192AA3),
+          UINT32_C(0x0050E31A), UINT32_C(0x00542788), UINT32_C(0x005C03B4),
+          UINT32_C(0x0016A4C7), UINT32_C(0x004D85E7)}},
+        {{UINT32_C(0x005E1B7C), UINT32_C(0x005396EB), UINT32_C(0x002953AC),
+          UINT32_C(0x0066F21B), UINT32_C(0x000744EB), UINT32_C(0x002BB57E),
+          UINT32_C(0x00777EC0), UINT32_C(0x000C0908), UINT32_C(0x0063DFBF),
+          UINT32_C(0x0019D0E1), UINT32_C(0x0053259A)},
+         {UINT32_C(0x00092AA9), UINT32_C(0x006D7967), UINT32_C(0x007A34E9),
+          UINT32_C(0x0088833B), UINT32_C(0x007C72DF), UINT32_C(0x00154B92),
+          UINT32_C(0x0004BEAB), UINT32_C(0x00709C21), UINT32_C(0x001A33F0),
+          UINT32_C(0x007A15C7), UINT32_C(0x007CB81A)},
+         {UINT32_C(0x00427117), UINT32_C(0x0060010D), UINT32_C(0x002FB59E),
+          UINT32_C(0x0081DF74), UINT32_C(0x001C3AFF), UINT32_C(0x00325E38),
+          UINT32_C(0x003E9EB8), UINT32_C(0x00AFA8A7), UINT32_C(0x002A7623),
+          UINT32_C(0x001940EC), UINT32_C(0x00678A03)}},
+        {{UINT32_C(0x0089D0DA), UINT32_C(0x005DD15D), UINT32_C(0x0007F023),
+          UINT32_C(0x0084B837), UINT32_C(0x0059A36B), UINT32_C(0x0014C4F9),
+          UINT32_C(0x005A10B9), UINT32_C(0x00EEA8E6), UINT32_C(0x0032C712),
+          UINT32_C(0x00207104), UINT32_C(0x0051CC16)},
+         {UINT32_C(0x00788203), UINT32_C(0x005BFACD), UINT32_C(0x0034A954),
+          UINT32_C(0x00E0855B), UINT32_C(0x007F6BD9), UINT32_C(0x003EAB3A),
+          UINT32_C(0x0061F2A3), UINT32_C(0x004BF5E9), UINT32_C(0x00203A8B),
+          UINT32_C(0x007B37C8), UINT32_C(0x00403792)},
+         {UINT32_C(0x0091D84F), UINT32_C(0x006D1BA7), UINT32_C(0x0036B343),
+          UINT32_C(0x00319941), UINT32_C(0x000AB9F0), UINT32_C(0x007A1DC1),
+          UINT32_C(0x0031981C), UINT32_C(0x00F43266), UINT32_C(0x0008BB75),
+          UINT32_C(0x00485DAF), UINT32_C(0x000A9D74)}},
+        {{UINT32_C(0x00243625), UINT32_C(0x005BB841), UINT32_C(0x00525C95),
+          UINT32_C(0x00BC116B), UINT32_C(0x003839C3), UINT32_C(0x0041EB1B),
+          UINT32_C(0x00221F6B), UINT32_C(0x004EC4AF), UINT32_C(0x006D762B),
+          UINT32_C(0x005C54FC), UINT32_C(0x007A1F82)},
+         {UINT32_C(0x00C26515), UINT32_C(0x0000ED4C), UINT32_C(0x001E3B09),
+          UINT32_C(0x000BEE59), UINT32_C(0x0063B3C5), UINT32_C(0x00275D84),
+          UINT32_C(0x005756AC), UINT32_C(0x00AF183D), UINT32_C(0x0009020F),
+          UINT32_C(0x006E34C7), UINT32_C(0x004DC0C8)},
+         {UINT32_C(0x005B4EB0), UINT32_C(0x0039BA12), UINT32_C(0x000B792C),
+          UINT32_C(0x00D6B962), UINT32_C(0x003DFD9C), UINT32_C(0x004C2A8A),
+          UINT32_C(0x0022A010), UINT32_C(0x0067AFC9), UINT32_C(0x0057241F),
+          UINT32_C(0x003A2810), UINT32_C(0x005C0C2A)}},
+        {{UINT32_C(0x000F4D05), UINT32_C(0x001E1BA9), UINT32_C(0x003631A2),
+          UINT32_C(0x002B29CE), UINT32_C(0x007696F1), UINT32_C(0x00313416),
+          UINT32_C(0x001EB6D3), UINT32_C(0x008D3460), UINT32_C(0x003364E8),
+          UINT32_C(0x000429EE), UINT32_C(0x007E4FF6)},
+         {UINT32_C(0x00B98C72), UINT32_C(0x0043B1EA), UINT32_C(0x001A581F),
+          UINT32_C(0x00295970), UINT32_C(0x0010F065), UINT32_C(0x0039E01E),
+          UINT32_C(0x002E33BA), UINT32_C(0x0047DF1A), UINT32_C(0x0041422E),
+          UINT32_C(0x005A3851), UINT32_C(0x003FA8FF)},
+         {UINT32_C(0x00A29B8E), UINT32_C(0x00702100), UINT32_C(0x001DFDFB),
+          UINT32_C(0x006CA23F), UINT32_C(0x004F967B), UINT32_C(0x00417B94),
+          UINT32_C(0x0073DD0F), UINT32_C(0x00D08DB3), UINT32_C(0x001C4006),
+          UINT32_C(0x003F92DD), UINT32_C(0x000F2874)}},
+        {{UINT32_C(0x008D5AC8), UINT32_C(0x0031FE77), UINT32_C(0x001EE7B5),
+          UINT32_C(0x0017DDC8), UINT32_C(0x0010F7EB), UINT32_C(0x0078D778),
+          UINT32_C(0x0051CF94), UINT32_C(0x00737A58), UINT32_C(0x002F2CA5),
+          UINT32_C(0x00314107), UINT32_C(0x003BD0E4)},
+         {UINT32_C(0x00708B31), UINT32_C(0x006E4EE5), UINT32_C(0x0072B5A8),
+          UINT32_C(0x00B52995), UINT32_C(0x001B7B7D), UINT32_C(0x002853F5),
+          UINT32_C(0x0071F2D3), UINT32_C(0x0090F660), UINT32_C(0x004E8BAE),
+          UINT32_C(0x002AEB93), UINT32_C(0x007FE004)},
+         {UINT32_C(0x0074B2E7), UINT32_C(0x0036F8CC), UINT32_C(0x005A0B4F),
+          UINT32_C(0x006AC18C), UINT32_C(0x0023E1D0), UINT32_C(0x0018985D),
+          UINT32_C(0x0044A4EA), UINT32_C(0x00EAD750), UINT32_C(0x001739B5),
+          UINT32_C(0x00259016), UINT32_C(0x0069AD16)}},
+        {{UINT32_C(0x00236C6C), UINT32_C(0x002BDCF8), UINT32_C(0x00737342),
+          UINT32_C(0x00FFE743), UINT32_C(0x0067A4D9), UINT32_C(0x0066D9C1),
+          UINT32_C(0x00681F98), UINT32_C(0x00599DED), UINT32_C(0x0057B074),
+          UINT32_C(0x001B308C), UINT32_C(0x0056660C)},
+         {UINT32_C(0x008B1685), UINT32_C(0x0027EA30), UINT32_C(0x0033CA2D),
+          UINT32_C(0x0098682C), UINT32_C(0x003F67B0), UINT32_C(0x000C48E9),
+          UINT32_C(0x0068A704), UINT32_C(0x001C6E9D), UINT32_C(0x00123D06),
+          UINT32_C(0x0050A933), UINT32_C(0x0053C6D2)},
+         {UINT32_C(0x00917431), UINT32_C(0x002F64FB), UINT32_C(0x00755E9F),
+          UINT32_C(0x005D5B9F), UINT32_C(0x006E0959), UINT32_C(0x00068928),
+          UINT32_C(0x00509EB9), UINT32_C(0x009B4E5E), UINT32_C(0x0000998B),
+          UINT32_C(0x0008DAD5), UINT32_C(0x00166125)}},
+        {{UINT32_C(0x00074C2E), UINT32_C(0x00652B12), UINT32_C(0x00202F3C),
+          UINT32_C(0x0042EBC1), UINT32_C(0x00500167), UINT32_C(0x005CDA15),
+          UINT32_C(0x001381DA), UINT32_C(0x00CC99F2), UINT32_C(0x005723CA),
+          UINT32_C(0x001A8C3B), UINT32_C(0x003D5615)},
+         {UINT32_C(0x00F1A960), UINT32_C(0x007380F6), UINT32_C(0x007009E1),
+          UINT32_C(0x002EF85B), UINT32_C(0x003B246B), UINT32_C(0x0041405A),
+          UINT32_C(0x001314CB), UINT32_C(0x009FDCD0), UINT32_C(0x0077491F),
+          UINT32_C(0x003266F0), UINT32_C(0x00760D83)},
+         {UINT32_C(0x00C7818E), UINT32_C(0x007864C2), UINT32_C(0x00244BD0),
+          UINT32_C(0x00F38B08), UINT32_C(0x00688F96), UINT32_C(0x0075C705),
+          UINT32_C(0x00278414), UINT32_C(0x00B2BFF0), UINT32_C(0x0067126E),
+          UINT32_C(0x007B7F7E), UINT32_C(0x00078584)}},
+        {{UINT32_C(0x00FE7A46), UINT32_C(0x005584A0), UINT32_C(0x005CDD0D),
+          UINT32_C(0x004CF5A8), UINT32_C(0x0019CFA7), UINT32_C(0x00087268),
+          UINT32_C(0x007FF3F3), UINT32_C(0x0087ACFD), UINT32_C(0x0017BD41),
+          UINT32_C(0x004A35AA), UINT32_C(0x0014C1BD)},
+         {UINT32_C(0x005A4052), UINT32_C(0x0032A135), UINT32_C(0x007056C3),
+          UINT32_C(0x0072F85C), UINT32_C(0x0024A79D), UINT32_C(0x003D7320),
+          UINT32_C(0x0007F20D), UINT32_C(0x00BEA269), UINT32_C(0x0032F584),
+          UINT32_C(0x00557016), UINT32_C(0x0009FC2A)},
+         {UINT32_C(0x006E58DD), UINT32_C(0x00414D93), UINT32_C(0x001D725A),
+          UINT32_C(0x00A5AB22), UINT32_C(0x000AD82C), UINT32_C(0x00613758),
+          UINT32_C(0x00773B55), UINT32_C(0x00D581E2), UINT32_C(0x006342F0),
+          UINT32_C(0x0022FB1A), UINT32_C(0x0028348D)}},
+        {{UINT32_C(0x00940FFC), UINT32_C(0x006CC86D), UINT32_C(0x0033CE22),
+          UINT32_C(0x00A629FD), UINT32_C(0x0032CFBE), UINT32_C(0x0011788D),
+          UINT32_C(0x0027D4E5), UINT32_C(0x0043AC5A), UINT32_C(0x003CEEDA),
+          UINT32_C(0x000057AA), UINT32_C(0x00614643)},
+         {UINT32_C(0x00312B0D), UINT32_C(0x003C3AC9), UINT32_C(0x00126EE8),
+          UINT32_C(0x003F24AF), UINT32_C(0x0006CC19), UINT32_C(0x00656F4F),
+          UINT32_C(0x004E91CF), UINT32_C(0x001EC679), UINT32_C(0x0010294E),
+          UINT32_C(0x0023F5E9), UINT32_C(0x00181E45)},
+         {UINT32_C(0x008C28C0), UINT32_C(0x0016213D), UINT32_C(0x0010311C),
+          UINT32_C(0x00744F39), UINT32_C(0x006CEA8C), UINT32_C(0x0066FA80),
+          UINT32_C(0x005E3FA5), UINT32_C(0x001D61EB), UINT32_C(0x001E0217),
+          UINT32_C(0x002F43D5), UINT32_C(0x001EAA47)}},
+        {{UINT32_C(0x00854120), UINT32_C(0x005AA732), UINT32_C(0x00608D63),
+          UINT32_C(0x003180C7), UINT32_C(0x00513CB6), UINT32_C(0x0013362E),
+          UINT32_C(0x00492465), UINT32_C(0x00A81D33), UINT32_C(0x0038349B),
+          UINT32_C(0x004C1B24), UINT32_C(0x0061B37A)},
+         {UINT32_C(0x00B13B17), UINT32_C(0x003AC756), UINT32_C(0x004C7642),
+          UINT32_C(0x0067AC7F), UINT32_C(0x003F23FE), UINT32_C(0x0058AA8A),
+          UINT32_C(0x000B0977), UINT32_C(0x001D605C), UINT32_C(0x00713AD3),
+          UINT32_C(0x0060BA46), UINT32_C(0x0041F85A)},
+         {UINT32_C(0x00E37216), UINT32_C(0x0043A345), UINT32_C(0x00223407),
+          UINT32_C(0x00256265), UINT32_C(0x0011C42F), UINT32_C(0x00138466),
+          UINT32_C(0x004733CC), UINT32_C(0x003535EC), UINT32_C(0x0001BC86),
+          UINT32_C(0x003D1B86), UINT32_C(0x004AE885)}},
+        {{UINT32_C(0x00DC7159), UINT32_C(0x001767D1), UINT32_C(0x007AE0AB),
+          UINT32_C(0x000878A1), UINT32_C(0x004FB364), UINT32_C(0x0033B0EF),
+          UINT32_C(0x00742CF7), UINT32_C(0x00C6A756), UINT32_C(0x0078F550),
+          UINT32_C(0x00711F81), UINT32_C(0x0065A975)},
+         {UINT32_C(0x00439414), UINT32_C(0x0015AFCF), UINT32_C(0x007EE055),
+          UINT32_C(0x00DD71C8), UINT32_C(0x0045F656), UINT32_C(0x00624A54),
+          UINT32_C(0x003005FC), UINT32_C(0x00BC7324), UINT32_C(0x0055842E),
+          UINT32_C(0x00165223), UINT32_C(0x0037D7D6)},
+         {UINT32_C(0x0019F5F5), UINT32_C(0x0020DA89), UINT32_C(0x006C89E9),
+          UINT32_C(0x00F41904), UINT32_C(0x003D42D9), UINT32_C(0x0055B010),
+          UINT32_C(0x00175AA4), UINT32_C(0x00B1A716), UINT32_C(0x000083AA),
+          UINT32_C(0x000A3EEC), UINT32_C(0x00170791)}},
+        {{UINT32_C(0x004FE6CC), UINT32_C(0x0027F794), UINT32_C(0x001DEE50),
+          UINT32_C(0x001D47C8), UINT32_C(0x00482A07), UINT32_C(0x00728F59),
+          UINT32_C(0x002E9AFB), UINT32_C(0x00416429), UINT32_C(0x00429086),
+          UINT32_C(0x002A42B2), UINT32_C(0x0004C02A)},
+         {UINT32_C(0x004B5C0A), UINT32_C(0x0035BDD6), UINT32_C(0x001FE687),
+          UINT32_C(0x0027AF73), UINT32_C(0x001A6D1A), UINT32_C(0x000FBB3C),
+          UINT32_C(0x00213872), UINT32_C(0x00EC16E6), UINT32_C(0x00636F30),
+          UINT32_C(0x00415394), UINT32_C(0x0012E98D)},
+         {UINT32_C(0x008D471A), UINT32_C(0x0069E551), UINT32_C(0x00493B23),
+          UINT32_C(0x006ED1B7), UINT32_C(0x0047A3E8), UINT32_C(0x00249EC8),
+          UINT32_C(0x003D1AD9), UINT32_C(0x0023243A), UINT32_C(0x0078E657),
+          UINT32_C(0x007AC870), UINT32_C(0x0039DDDE)}},
+        {{UINT32_C(0x00775995), UINT32_C(0x004A7A1C), UINT32_C(0x00706EC4),
+          UINT32_C(0x005F75E2), UINT32_C(0x0023C9C5), UINT32_C(0x0024BCC8),
+          UINT32_C(0x007DC9AC), UINT32_C(0x001AFD8F), UINT32_C(0x006B47B9),
+          UINT32_C(0x004747AD), UINT32_C(0x007B084D)},
+         {UINT32_C(0x000A9B5C), UINT32_C(0x007354D6), UINT32_C(0x006AB188),
+          UINT32_C(0x00A35212), UINT32_C(0x003BDF54), UINT32_C(0x00027ACE),
+          UINT32_C(0x002AEF52), UINT32_C(0x00C45137), UINT32_C(0x0058980E),
+          UINT32_C(0x0050F4F0), UINT32_C(0x003E8EEE)},
+         {UINT32_C(0x00EB4040), UINT32_C(0x00618F66), UINT32_C(0x0031BE2F),
+          UINT32_C(0x00A1EAB0), UINT32_C(0x00038AF5), UINT32_C(0x0001EC6C),
+          UINT32_C(0x0007421A), UINT32_C(0x0051B097), UINT32_C(0x0043B013),
+          UINT32_C(0x0060ED3F), UINT32_C(0x0036AC22)}},
+    },
+    {
+        {{UINT32_C(0x00A77DAC), UINT32_C(0x001DB3FD), UINT32_C(0x00389F54),
+          UINT32_C(0x00564F6D), UINT32_C(0x0063CF36), UINT32_C(0x001C46B6),
+          UINT32_C(0x00311686), UINT32_C(0x00E982B7), UINT32_C(0x00027D0F),
+          UINT32_C(0x0050362C), UINT32_C(0x001AEA89)},
+         {UINT32_C(0x0002BC8A), UINT32_C(0x0036E565), UINT32_C(0x00342121),
+          UINT32_C(0x00ED769D), UINT32_C(0x002A92C3), UINT32_C(0x00325573),
+          UINT32_C(0x0018B0E6), UINT32_C(0x00F11ADF), UINT32_C(0x004B976B),
+          UINT32_C(0x00069633), UINT32_C(0x004FFC55)},
+         {UINT32_C(0x00FD2FC2), UINT32_C(0x00401B07), UINT32_C(0x00294102),
+          UINT32_C(0x008EA5E0), UINT32_C(0x0030664D), UINT32_C(0x00142EC3),
+          UINT32_C(0x003FE051), UINT32_C(0x00F56D80), UINT32_C(0x0039FEE3),
+          UINT32_C(0x00000AEB), UINT32_C(0x006D0C5F)}},
+        {{UINT32_C(0x00DD75D0), UINT32_C(0x0044A3C3), UINT32_C(0x005A506D),
+          UINT32_C(0x00EC37FD), UINT32_C(0x00316AD7), UINT32_C(0x0000D14B),
+          UINT32_C(0x00204476), UINT32_C(0x0051C697), UINT32_C(0x00083305),
+          UINT32_C(0x0058D9B1), UINT32_C(0x0070999F)},
+         {UINT32_C(0x00E5E93B), UINT32_C(0x006C0468), UINT32_C(0x0009400E),
+          UINT32_C(0x0075F8FF), UINT32_C(0x0035F1A4), UINT32_C(0x00506173),
+          UINT32_C(0x002364E5), UINT32_C(0x00414D87), UINT32_C(0x0008B606),
+          UINT32_C(0x00686394), UINT32_C(0x006AA160)},
+         {UINT32_C(0x006BD2E2), UINT32_C(0x007A2B7F), UINT32_C(0x005F146B),
+          UINT32_C(0x00369239), UINT32_C(0x00079C56), UINT32_C(0x00062C62),
+          UINT32_C(0x0077B021), UINT32_C(0x003A29B7), UINT32_C(0x002867FF),
+          UINT32_C(0x0055BBB5), UINT32_C(0x0005D042)}},
+        {{UINT32_C(0x00D8B383), UINT32_C(0x007DD79F), UINT32_C(0x00789E04),
+          UINT32_C(0x00F01FC3), UINT32_C(0x0009A138), UINT32_C(0x00652EF9),
+          UINT32_C(0x0004B8F0), UINT32_C(0x00CD2D9B), UINT32_C(0x002A8B21),
+          UINT32_C(0x00711CBB), UINT32_C(0x003F479B)},
+         {UINT32_C(0x0084BAF3), UINT32_C(0x00077832), UINT32_C(0x005C239A),
+          UINT32_C(0x0060F9F5), UINT32_C(0x00157D11), UINT32_C(0x004B04C3),
+          UINT32_C(0x00398E89), UINT32_C(0x00DFDB89), UINT32_C(0x004B12EE),
+          UINT32_C(0x002B1159), UINT32_C(0x0070A1B8)},
+         {UINT32_C(0x00034A6C), UINT32_C(0x004C89E9), UINT32_C(0x0022DB26),
+          UINT32_C(0x00C601C3), UINT32_C(0x0032D1E3), UINT32_C(0x002503F8),
+          UINT32_C(0x00632E24), UINT32_C(0x00EA95FF), UINT32_C(0x000FDA31),
+          UINT32_C(0x002551E5), UINT32_C(0x004F9CB2)}},
+        {{UINT32_C(0x00862AF4), UINT32_C(0x00210FBD), UINT32_C(0x001E6C80),
+          UINT32_C(0x00400C9B), UINT32_C(0x000AA70B), UINT32_C(0x00736A0A),
+          UINT32_C(0x005A2C84), UINT32_C(0x00C59BAC), UINT32_C(0x000BB281),
+          UINT32_C(0x002CF44A), UINT32_C(0x0061244E)},
+         {UINT32_C(0x00856415), UINT32_C(0x0016B2C8), UINT32_C(0x00735666),
+          UINT32_C(0x001D23DD), UINT32_C(0x001134A9), UINT32_C(0x0017A1D4),
+          UINT32_C(0x0026D1CE), UINT32_C(0x00EECC13), UINT32_C(0x0049B200),
+          UINT32_C(0x00153F17), UINT32_C(0x0011DDAE)},
+         {UINT32_C(0x00007750), UINT32_C(0x001134B0), UINT32_C(0x004BF17D),
+          UINT32_C(0x00D2423A), UINT32_C(0x003D2D7B), UINT32_C(0x00085F31),
+          UINT32_C(0x00227CDF), UINT32_C(0x00654CD2), UINT32_C(0x00082CCF),
+          UINT32_C(0x007C9CA4), UINT32_C(0x004C47BB)}},
+        {{UINT32_C(0x00362E13), UINT32_C(0x003A337C), UINT32_C(0x002BBA20),
+          UINT32_C(0x0001856C), UINT32_C(0x0002C1DE), UINT32_C(0x000E51A8),
+          UINT32_C(0x00457B9D), UINT32_C(0x0057882E), UINT32_C(0x0037807D),
+          UINT32_C(0x0015B24A), UINT32_C(0x001A74BE)},
+         {UINT32_C(0x003DB4CB), UINT32_C(0x004A35FE), UINT32_C(0x003DBBAB),
+          UINT32_C(0x007E3023), UINT32_C(0x00194FC7), UINT32_C(0x0012B3C2),
+          UINT32_C(0x00776FBF), UINT32_C(0x001E11B7), UINT32_C(0x002DB7AA),
+          UINT32_C(0x001DED18), UINT32_C(0x0069ABF1)},
+         {UINT32_C(0x005FE93D), UINT32_C(0x000BDB4C), UINT32_C(0x00250B7A),
+          UINT32_C(0x008A93E9), UINT32_C(0x006F3CAC), UINT32_C(0x0003D972),
+          UINT32_C(0x0057B7D4), UINT32_C(0x00D0FA5F), UINT32_C(0x0051BCDF),
+          UINT32_C(0x0037A606), UINT32_C(0x0046594A)}},
+        {{UINT32_C(0x00FD1F79), UINT32_C(0x00305A30), UINT32_C(0x000AD2AE),
+          UINT32_C(0x00BFF664), UINT32_C(0x002CE671), UINT32_C(0x006F9E53),
+          UINT32_C(0x00242322), UINT32_C(0x000EB83C), UINT32_C(0x000DA108),
+          UINT32_C(0x007B1505), UINT32_C(0x001BB588)},
+         {UINT32_C(0x00D17F2A), UINT32_C(0x0005A272), UINT32_C(0x0023C922),
+          UINT32_C(0x00F5BEA6), UINT32_C(0x00534FEC), UINT32_C(0x00201847),
+          UINT32_C(0x0057D139), UINT32_C(0x00553AC8), UINT32_C(0x0038D49D),
+          UINT32_C(0x000D9A41), UINT32_C(0x0023FA44)},
+         {UINT32_C(0x00A4394C), UINT32_C(0x001C1150), UINT32_C(0x000C4BC9),
+          UINT32_C(0x0013E6EB), UINT32_C(0x0030FD03), UINT32_C(0x005496B5),
+          UINT32_C(0x002200CE), UINT32_C(0x009477CB), UINT32_C(0x00167FB8),
+          UINT32_C(0x001C4D58), UINT32_C(0x004FD444)}},
+        {{UINT32_C(0x00D5EEEC), UINT32_C(0x0038E42A), UINT32_C(0x005A4364),
+          UINT32_C(0x00980627), UINT32_C(0x007F2577), UINT32_C(0x003612FD),
+          UINT32_C(0x004E0E1F), UINT32_C(0x0074D370), UINT32_C(0x00528EA6),
+          UINT32_C(0x00018673), UINT32_C(0x004D7509)},
+         {UINT32_C(0x0029610F), UINT32_C(0x004535B8), UINT32_C(0x00041762),
+          UINT32_C(0x008EF8FD), UINT32_C(0x002AA59D), UINT32_C(0x00083B18),
+          UINT32_C(0x00479122), UINT32_C(0x005A4922), UINT32_C(0x002CECA2),
+          UINT32_C(0x00256BF4), UINT32_C(0x0043B7C3)},
+         {UINT32_C(0x00B47D51), UINT32_C(0x00748FB4), UINT32_C(0x00584310),
+          UINT32_C(0x00EE3A6C), UINT32_C(0x005E556A), UINT32_C(0x0052BA2B),
+          UINT32_C(0x00500FBB), UINT32_C(0x00A9860A), UINT32_C(0x007A7128),
+          UINT32_C(0x000D1669), UINT32_C(0x002C17E0)}},
+        {{UINT32_C(0x0007B0B0), UINT32_C(0x005AEDEE), UINT32_C(0x0076ED54),
+          UINT32_C(0x00274E51), UINT32_C(0x007BD17E), UINT32_C(0x000BE439),
+          UINT32_C(0x000ED5DB), UINT32_C(0x00D7925E), UINT32_C(0x003F2A50),
+          UINT32_C(0x002F0773), UINT32_C(0x003546F9)},
+         {UINT32_C(0x001B8BC5), UINT32_C(0x00567960), UINT32_C(0x0038FA10),
+          UINT32_C(0x00C2575C), UINT32_C(0x0027332E), UINT32_C(0x003071D4),
+          UINT32_C(0x0078A9F6), UINT32_C(0x00BCAE5E), UINT32_C(0x00760FF1),
+          UINT32_C(0x000E8EC0), UINT32_C(0x006EA98F)},
+         {UINT32_C(0x00676ADD), UINT32_C(0x004ED26F), UINT32_C(0x0030B66C),
+          UINT32_C(0x00E96FB8), UINT32_C(0x0055C569), UINT32_C(0x00323FB1),
+          UINT32_C(0x00440986), UINT32_C(0x00F3E007), UINT32_C(0x005F14FE),
+          UINT32_C(0x000E5FD2), UINT32_C(0x00585D5A)}},
+        {{UINT32_C(0x0032D10F), UINT32_C(0x00607846), UINT32_C(0x00476A55),
+          UINT32_C(0x00FE8A15), UINT32_C(0x0076749E), UINT32_C(0x00385608),
+          UINT32_C(0x0029E6F6), UINT32_C(0x0098FFAC), UINT32_C(0x004086D0),
+          UINT32_C(0x00587F0C), UINT32_C(0x0048DEFF)},
+         {UINT32_C(0x008F82EA), UINT32_C(0x00011EC5), UINT32_C(0x001CAAB9),
+          UINT32_C(0x00B6A781), UINT32_C(0x000436C9), UINT32_C(0x005DDE65),
+          UINT32_C(0x002E38F8), UINT32_C(0x003A69F4), UINT32_C(0x003DF1D2),
+          UINT32_C(0x0026F1E7), UINT32_C(0x003D5D6D)},
+         {UINT32_C(0x007322DD), UINT32_C(0x001FFAF0), UINT32_C(0x0012A21B),
+          UINT32_C(0x003853AE), UINT32_C(0x0001D98A), UINT32_C(0x0000748E),
+          UINT32_C(0x00667AE8), UINT32_C(0x002F7BE9), UINT32_C(0x001686BF),
+          UINT32_C(0x00050052), UINT32_C(0x0079765D)}},
+        {{UINT32_C(0x00267E76), UINT32_C(0x000F5A32), UINT32_C(0x00798CB2),
+          UINT32_C(0x0086E395), UINT32_C(0x00005266), UINT32_C(0x0025806B),
+          UINT32_C(0x007EE459), UINT32_C(0x001EF2A7), UINT32_C(0x00034FD1),
+          UINT32_C(0x0018C3F9), UINT32_C(0x0002FCBE)},
+         {UINT32_C(0x004C278B), UINT32_C(0x0025C270), UINT32_C(0x00642402),
+          UINT32_C(0x0024F47B), UINT32_C(0x006E96A1), UINT32_C(0x006B67FC),
+          UINT32_C(0x00446A7C), UINT32_C(0x009B9BAB), UINT32_C(0x00774C2A),
+          UINT32_C(0x005B2890), UINT32_C(0x0007534E)},
+         {UINT32_C(0x00979647), UINT32_C(0x003D9A12), UINT32_C(0x0009C489),
+          UINT32_C(0x002D6F0A), UINT32_C(0x007ED7E2), UINT32_C(0x004A5B1B),
+          UINT32_C(0x005C265E), UINT32_C(0x006AF72E), UINT32_C(0x003BFD06),
+          UINT32_C(0x0019EE72), UINT32_C(0x002BC98A)}},
+        {{UINT32_C(0x0036094F), UINT32_C(0x0053D51E), UINT32_C(0x0039DA8E),
+          UINT32_C(0x00C24407), UINT32_C(0x00754444), UINT32_C(0x00541686),
+          UINT32_C(0x0038413C), UINT32_C(0x003D42D5), UINT32_C(0x002B576F),
+          UINT32_C(0x0025B7F0), UINT32_C(0x00037AE8)},
+         {UINT32_C(0x00FF6011), UINT32_C(0x00739A4B), UINT32_C(0x002CFD0E),
+          UINT32_C(0x0034CBE5), UINT32_C(0x001C69C4), UINT32_C(0x00183B00),
+          UINT32_C(0x0070A07F), UINT32_C(0x00416B07), UINT32_C(0x001873B9),
+          UINT32_C(0x004C82C4), UINT32_C(0x0012AF7C)},
+         {UINT32_C(0x009DAB06), UINT32_C(0x00006525), UINT32_C(0x005F4AC2),
+          UINT32_C(0x0007B1CD), UINT32_C(0x0025B80B), UINT32_C(0x006B0D4A),
+          UINT32_C(0x0017A0F3), UINT32_C(0x005371E3), UINT32_C(0x00786EF8),
+          UINT32_C(0x005F7C4F), UINT32_C(0x0060CA6A)}},
+        {{UINT32_C(0x00D21942), UINT32_C(0x0071B130), UINT32_C(0x0010AF58),
+          UINT32_C(0x0032F341), UINT32_C(0x0073BD94), UINT32_C(0x0005C17D),
+          UINT32_C(0x0052C1D1), UINT32_C(0x00AC355D), UINT32_C(0x007A20DB),
+          UINT32_C(0x0041259A), UINT32_C(0x0044FFAB)},
+         {UINT32_C(0x006E331F), UINT32_C(0x007C1495), UINT32_C(0x00648A89),
+          UINT32_C(0x00C406A1), UINT32_C(0x000F1EB7), UINT32_C(0x0031E5FB),
+          UINT32_C(0x006C8D65), UINT32_C(0x00C6C865), UINT32_C(0x004B7DF2),
+          UINT32_C(0x0079769E), UINT32_C(0x002083D4)},
+         {UINT32_C(0x00980997), UINT32_C(0x00485E01), UINT32_C(0x000FDD04),
+          UINT32_C(0x00404293), UINT32_C(0x001BE19E), UINT32_C(0x00079D78),
+          UINT32_C(0x0058EB9B), UINT32_C(0x005DBD87), UINT32_C(0x00702A47),
+          UINT32_C(0x0039F856), UINT32_C(0x000ADFA8)}},
+        {{UINT32_C(0x00601C16), UINT32_C(0x006BAD25), UINT32_C(0x000B27D9),
+          UINT32_C(0x003CE316), UINT32_C(0x000BF903), UINT32_C(0x00305942),
+          UINT32_C(0x0055AA45), UINT32_C(0x006C251C), UINT32_C(0x001C0764),
+          UINT32_C(0x004DB871), UINT32_C(0x006990D9)},
+         {UINT32_C(0x0035029C), UINT32_C(0x0056F54C), UINT32_C(0x0071AAA5),
+          UINT32_C(0x003BB302), UINT32_C(0x00511665), UINT32_C(0x004B1D6D),
+          UINT32_C(0x00792CCE), UINT32_C(0x009D6482), UINT32_C(0x005F2322),
+          UINT32_C(0x0060FBFB), UINT32_C(0x003DAEFF)},
+         {UINT32_C(0x005DFF91), UINT32_C(0x007B3C15), UINT32_C(0x003C73C5),
+          UINT32_C(0x0099D915), UINT32_C(0x0047AF99), UINT32_C(0x005655E6),
+          UINT32_C(0x001004A5), UINT32_C(0x001F3259), UINT32_C(0x0050988B),
+          UINT32_C(0x005D60E0), UINT32_C(0x002BE896)}},
+        {{UINT32_C(0x002B631C), UINT32_C(0x00372C82), UINT32_C(0x002A7F2A),
+          UINT32_C(0x00E4A975), UINT32_C(0x006BB6B1), UINT32_C(0x0016BC52),
+          UINT32_C(0x00473CD2), UINT32_C(0x00630310), UINT32_C(0x0016B945),
+          UINT32_C(0x0001291B), UINT32_C(0x0059EF17)},
+         {UINT32_C(0x00837D4E), UINT32_C(0x003216D3), UINT32_C(0x004E0701),
+          UINT32_C(0x00823A76), UINT32_C(0x00567125), UINT32_C(0x0020E62F),
+          UINT32_C(0x0036F8E4), UINT32_C(0x0091634B), UINT32_C(0x000CE9C9),
+          UINT32_C(0x00712DF3), UINT32_C(0x003270FE)},
+         {UINT32_C(0x00C8BD36), UINT32_C(0x00312227), UINT32_C(0x005851DE),
+          UINT32_C(0x00989694), UINT32_C(0x003811BA), UINT32_C(0x0049DDC1),
+          UINT32_C(0x0079916E), UINT32_C(0x00905B34), UINT32_C(0x00216CD3),
+          UINT32_C(0x006E95D0), UINT32_C(0x0075102E)}},
+        {{UINT32_C(0x000FE15B), UINT32_C(0x002132F9), UINT32_C(0x007302D9),
+          UINT32_C(0x0074464C), UINT32_C(0x006545FE), UINT32_C(0x0025178A),
+          UINT32_C(0x0037772B), UINT32_C(0x00F33555), UINT32_C(0x006628A7),
+          UINT32_C(0x00639C7D), UINT32_C(0x0017AF1B)},
+         {UINT32_C(0x0016001E), UINT32_C(0x00346FAA), UINT32_C(0x0055CC08),
+          UINT32_C(0x006A26EC), UINT32_C(0x00272A70), UINT32_C(0x0073B255),
+          UINT32_C(0x0066C9CC), UINT32_C(0x00E05374), UINT32_C(0x0031E05D),
+          UINT32_C(0x007241E6), UINT32_C(0x0064D29A)},
+         {UINT32_C(0x000904B8), UINT32_C(0x000ACC3E), UINT32_C(0x005C0BC8),
+          UINT32_C(0x00708FA3), UINT32_C(0x006420DB), UINT32_C(0x0009EB68),
+          UINT32_C(0x007DF36A), UINT32_C(0x0004C79A), UINT32_C(0x00688FB7),
+          UINT32_C(0x001853DD), UINT32_C(0x00391517)}},
+        {{UINT32_C(0x0045C93C), UINT32_C(0x001ADA91), UINT32_C(0x005BEF12),
+          UINT32_C(0x00652E9C), UINT32_C(0x00109290), UINT32_C(0x00351B47),
+          UINT32_C(0x00649B3C), UINT32_C(0x0093B9EA), UINT32_C(0x0031C49B),
+          UINT32_C(0x006129D9), UINT32_C(0x0018C36F)},
+         {UINT32_C(0x0039F849), UINT32_C(0x0076DDFD), UINT32_C(0x004D8E8B),
+          UINT32_C(0x00CC9068), UINT32_C(0x00257C98), UINT32_C(0x0022E647),
+          UINT32_C(0x0010E3A5), UINT32_C(0x0071627F), UINT32_C(0x004D6728),
+          UINT32_C(0x001036C0), UINT32_C(0x00293E1C)},
+         {UINT32_C(0x00A0883B), UINT32_C(0x0047D948), UINT32_C(0x0029727E),
+          UINT32_C(0x007C052C), UINT32_C(0x0064B122), UINT32_C(0x003228B8),
+          UINT32_C(0x0004B695), UINT32_C(0x00850591), UINT32_C(0x00086718),
+          UINT32_C(0x0035AE85), UINT32_C(0x001253D1)}},
+    },
+    {
+        {{UINT32_C(0x00B27045), UINT32_C(0x007C6BA4), UINT32_C(0x000BBA03),
+          UINT32_C(0x00D9B116), UINT32_C(0x007774E3), UINT32_C(0x0042950E),
+          UINT32_C(0x0017A228), UINT32_C(0x002DD987), UINT32_C(0x0078FFD1),
+          UINT32_C(0x006CC9E6), UINT32_C(0x002D3C1B)},
+         {UINT32_C(0x00A56D1F), UINT32_C(0x002BB5F0), UINT32_C(0x005FB594),
+          UINT32_C(0x0009E3C8), UINT32_C(0x0040549B), UINT32_C(0x0008E785),
+          UINT32_C(0x005E84B9), UINT32_C(0x0003AE65), UINT32_C(0x00476B1B),
+          UINT32_C(0x004B6DB7), UINT32_C(0x00255FEE)},
+         {UINT32_C(0x001D2AC3), UINT32_C(0x0053D8C2), UINT32_C(0x0053ABBA),
+          UINT32_C(0x0062F195), UINT32_C(0x00583DCF), UINT32_C(0x005C7CC7),
+          UINT32_C(0x0016B088), UINT32_C(0x00E1FD84), UINT32_C(0x003BDF9C),
+          UINT32_C(0x004B6242), UINT32_C(0x0078CDD1)}},
+        {{UINT32_C(0x0072E704), UINT32_C(0x002A3E71), UINT32_C(0x0016610F),
+          UINT32_C(0x009B3715), UINT32_C(0x005FCB07), UINT32_C(0x005D8BCF),
+          UINT32_C(0x00320582), UINT32_C(0x00A47F78), UINT32_C(0x005E225E),
+          UINT32_C(0x00168430), UINT32_C(0x004428AB)},
+         {UINT32_C(0x004370E5), UINT32_C(0x005D2F9B), UINT32_C(0x00189EF7),
+          UINT32_C(0x0099C20D), UINT32_C(0x0054ECBC), UINT32_C(0x00656294),
+          UINT32_C(0x00121DD8), UINT32_C(0x009B9829), UINT32_C(0x007E3E6A),
+          UINT32_C(0x003A665F), UINT32_C(0x001EFD05)},
+         {UINT32_C(0x008DCA62), UINT32_C(0x006B5EF8), UINT32_C(0x00434D75),
+          UINT32_C(0x00FAA8B9), UINT32_C(0x0011A045), UINT32_C(0x006E5D43),
+          UINT32_C(0x004E67E5), UINT32_C(0x00966939), UINT32_C(0x005A4ABC),
+          UINT32_C(0x002BC8B7), UINT32_C(0x001B23C1)}},
+        {{UINT32_C(0x004E71F0), UINT32_C(0x00091B67), UINT32_C(0x00288D0F),
+          UINT32_C(0x003DBF2B), UINT32_C(0x0034CDF1), UINT32_C(0x005B1542),
+          UINT32_C(0x007363B6), UINT32_C(0x005CE63B), UINT32_C(0x0002FAD4),
+          UINT32_C(0x001E8FE4), UINT32_C(0x00419934)},
+         {UINT32_C(0x008F0055), UINT32_C(0x00718F3D), UINT32_C(0x00464487),
+          UINT32_C(0x00B1F62E), UINT32_C(0x001D1DD4), UINT32_C(0x005C579E),
+          UINT32_C(0x000761B7), UINT32_C(0x00CADFA8), UINT32_C(0x005881B3),
+          UINT32_C(0x000CF2A5), UINT32_C(0x00236B83)},
+         {UINT32_C(0x000EDD83), UINT32_C(0x00641C10), UINT32_C(0x0077B165),
+          UINT32_C(0x005DFADE), UINT32_C(0x0002C161), UINT32_C(0x004C0EAB),
+          UINT32_C(0x004F8FA8), UINT32_C(0x005182C2), UINT32_C(0x0022EE1E),
+          UINT32_C(0x002FC0D1), UINT32_C(0x0072B941)}},
+        {{UINT32_C(0x00BE3284), UINT32_C(0x00265E75), UINT32_C(0x0054BBEA),
+          UINT32_C(0x009FEA89), UINT32_C(0x006A5BC5), UINT32_C(0x00468BF6),
+          UINT32_C(0x0061091E), UINT32_C(0x0021D236), UINT32_C(0x00770DDF),
+          UINT32_C(0x0044380D), UINT32_C(0x00261B8D)},
+         {UINT32_C(0x0048B464), UINT32_C(0x0007F870), UINT32_C(0x00664579),
+          UINT32_C(0x00EBB0D3), UINT32_C(0x0034FB4E), UINT32_C(0x0062BF86),
+          UINT32_C(0x0030A6E2), UINT32_C(0x00141079), UINT32_C(0x004C4867),
+          UINT32_C(0x0021F669), UINT32_C(0x006C48AC)},
+         {UINT32_C(0x001F1A30), UINT32_C(0x00402CCF), UINT32_C(0x002EC836),
+          UINT32_C(0x0076E3D0), UINT32_C(0x0045490A), UINT32_C(0x0074B706),
+          UINT32_C(0x005C524F), UINT32_C(0x00A8A8B0), UINT32_C(0x001A4F8F),
+          UINT32_C(0x00192D28), UINT32_C(0x0065C94E)}},
+        {{UINT32_C(0x00053602), UINT32_C(0x0050EAFD), UINT32_C(0x003DFE2B),
+          UINT32_C(0x00BAD911), UINT32_C(0x000BAA2C), UINT32_C(0x0067D960),
+          UINT32_C(0x000D9F5E), UINT32_C(0x00C75FB5), UINT32_C(0x0061E525),
+          UINT32_C(0x0042DF4C), UINT32_C(0x0078BFD6)},
+         {UINT32_C(0x00DDF860), UINT32_C(0x0064B891), UINT32_C(0x000AAD9E),
+          UINT32_C(0x0055DAD8), UINT32_C(0x000CD34A), UINT32_C(0x007F4F89),
+          UINT32_C(0x00720D9B), UINT32_C(0x000C777A), UINT32_C(0x005C019C),
+          UINT32_C(0x007BF2C9), UINT32_C(0x002B11EB)},
+         {UINT32_C(0x002C702B), UINT32_C(0x00152B74), UINT32_C(0x002C06C6),
+          UINT32_C(0x00CAC7B3), UINT32_C(0x00651F98), UINT32_C(0x006BEE21),
+          UINT32_C(0x0022FC91), UINT32_C(0x00D0E1A2), UINT32_C(0x000F1226),
+          UINT32_C(0x0000CB76), UINT32_C(0x000AD2FB)}},
+        {{UINT32_C(0x003B07A3), UINT32_C(0x005563EB), UINT32_C(0x000F5875),
+          UINT32_C(0x004E85ED), UINT32_C(0x004DF848), UINT32_C(0x00086603),
+          UINT32_C(0x001FE9F6), UINT32_C(0x0060B2A8), UINT32_C(0x00796256),
+          UINT32_C(0x00146D3D), UINT32_C(0x007A622F)},
+         {UINT32_C(0x00659E8D), UINT32_C(0x000F45E5), UINT32_C(0x0079D2B9),
+          UINT32_C(0x00E3F2C8), UINT32_C(0x002FA0A9), UINT32_C(0x0043F516),
+          UINT32_C(0x0064D221), UINT32_C(0x0007AF6F), UINT32_C(0x005DA3B1),
+          UINT32_C(0x00750DD3), UINT32_C(0x003DC647)},
+         {UINT32_C(0x003A7DCA), UINT32_C(0x0078F870), UINT32_C(0x0059ECCF),
+          UINT32_C(0x00721F6A), UINT32_C(0x0073DDE5), UINT32_C(0x0052F61E),
+          UINT32_C(0x005E03A9), UINT32_C(0x0096290F), UINT32_C(0x007684CD),
+          UINT32_C(0x0063A740), UINT32_C(0x00273750)}},
+        {{UINT32_C(0x008ABF8E), UINT32_C(0x004EDC3D), UINT32_C(0x007BBD24),
+          UINT32_C(0x0037EA5E), UINT32_C(0x0028D8C0), UINT32_C(0x001BE0C2),
+          UINT32_C(0x00582236), UINT32_C(0x007A566E), UINT32_C(0x001F4783),
+          UINT32_C(0x005F6DB4), UINT32_C(0x0018F286)},
+         {UINT32_C(0x0040CAF8), UINT32_C(0x00287C70), UINT32_C(0x002C9166),
+          UINT32_C(0x00C254F6), UINT32_C(0x005E2D68), UINT32_C(0x003B46FC),
+          UINT32_C(0x004EA606), UINT32_C(0x00D0B9C1), UINT32_C(0x00228115),
+          UINT32_C(0x0072EEA6), UINT32_C(0x00471670)},
+         {UINT32_C(0x0020A1FA), UINT32_C(0x0075C7D9), UINT32_C(0x005426EA),
+          UINT32_C(0x000046B2), UINT32_C(0x0076BA0A), UINT32_C(0x0050CEA6),
+          UINT32_C(0x002D133F), UINT32_C(0x005C8821), UINT32_C(0x00406072),
+          UINT32_C(0x000A7F19), UINT32_C(0x001740F3)}},
+        {{UINT32_C(0x0090884A), UINT32_C(0x00146BFD), UINT32_C(0x00625FB2),
+          UINT32_C(0x00C92B84), UINT32_C(0x00097A91), UINT32_C(0x005EACD5),
+          UINT32_C(0x005F0661), UINT32_C(0x00870EC3), UINT32_C(0x006D7279),
+          UINT32_C(0x002CE3E6), UINT32_C(0x0078F980)},
+         {UINT32_C(0x00A2B367), UINT32_C(0x000EF557), UINT32_C(0x004EBC90),
+          UINT32_C(0x0065B548), UINT32_C(0x004E46D1), UINT32_C(0x006D0EF0),
+          UINT32_C(0x00299E83), UINT32_C(0x0016D017), UINT32_C(0x004A428A),
+          UINT32_C(0x00034582), UINT32_C(0x0052ED77)},
+         {UINT32_C(0x004E0B1E), UINT32_C(0x000C37F8), UINT32_C(0x006C666A),
+          UINT32_C(0x00436BD9), UINT32_C(0x001FC7FE), UINT32_C(0x0000D390),
+          UINT32_C(0x006900A5), UINT32_C(0x0062D837), UINT32_C(0x006CD0E6),
+          UINT32_C(0x00557AD7), UINT32_C(0x002B57B6)}},
+        {{UINT32_C(0x005F93D9), UINT32_C(0x0021EC83), UINT32_C(0x0057A32B),
+          UINT32_C(0x001CD982), UINT32_C(0x0008309F), UINT32_C(0x0052B2E6),
+          UINT32_C(0x002068F6), UINT32_C(0x00CD4622), UINT32_C(0x005EC9A6),
+          UINT32_C(0x002F2CCD), UINT32_C(0x00056DCE)},
+         {UINT32_C(0x003E91E9), UINT32_C(0x0002F289), UINT32_C(0x006BF91B),
+          UINT32_C(0x006CBB4B), UINT32_C(0x00145A1F), UINT32_C(0x007ECA85),
+          UINT32_C(0x004AE385), UINT32_C(0x00BC0058), UINT32_C(0x007D219A),
+          UINT32_C(0x00406CB9), UINT32_C(0x001586B8)},
+         {UINT32_C(0x00EE30F0), UINT32_C(0x00094A1A), UINT32_C(0x0006C4A5),
+          UINT32_C(0x0095BBBF), UINT32_C(0x0033B602), UINT32_C(0x005C234E),
+          UINT32_C(0x00405945), UINT32_C(0x002F42B7), UINT32_C(0x0060F012),
+          UINT32_C(0x000547D1), UINT32_C(0x00331A12)}},
+        {{UINT32_C(0x00AE8C48), UINT32_C(0x00301B89), UINT32_C(0x0030B3A1),
+          UINT32_C(0x0030AF95), UINT32_C(0x00455E58), UINT32_C(0x005D22F1),
+          UINT32_C(0x0072D976), UINT32_C(0x007AD824), UINT32_C(0x0005D4B7),
+          UINT32_C(0x003E29C4), UINT32_C(0x007D5C6C)},
+         {UINT32_C(0x00610488), UINT32_C(0x00575F2E), UINT32_C(0x005AC7FE),
+          UINT32_C(0x0074B494), UINT32_C(0x006F1543), UINT32_C(0x00029B2A),
+          UINT32_C(0x002B9948), UINT32_C(0x0057D800), UINT32_C(0x0052921B),
+          UINT32_C(0x00117385), UINT32_C(0x001058C5)},
+         {UINT32_C(0x00EA545B), UINT32_C(0x0032E693), UINT32_C(0x004AF898),
+          UINT32_C(0x00FFE54C), UINT32_C(0x0039ECD8), UINT32_C(0x00093986),
+          UINT32_C(0x004575D9), UINT32_C(0x00CDB661), UINT32_C(0x007A392E),
+          UINT32_C(0x0001939C), UINT32_C(0x0028D022)}},
+        {{UINT32_C(0x00DA7B5B), UINT32_C(0x0030FFBD), UINT32_C(0x00548E82),
+          UINT32_C(0x00DD7D1E), UINT32_C(0x00373E22), UINT32_C(0x0060EA9C),
+          UINT32_C(0x00463822), UINT32_C(0x0091DF8B), UINT32_C(0x001801F8),
+          UINT32_C(0x0046D441), UINT32_C(0x000C8688)},
+         {UINT32_C(0x00EE0CC8), UINT32_C(0x00699131), UINT32_C(0x000427E3),
+          UINT32_C(0x00F43A07), UINT32_C(0x00318E56), UINT32_C(0x00415F0B),
+          UINT32_C(0x0065B06D), UINT32_C(0x00C66DEB), UINT32_C(0x0069C98F),
+          UINT32_C(0x000B21D5), UINT32_C(0x000B711D)},
+         {UINT32_C(0x00D0339C), UINT32_C(0x002E2E3B), UINT32_C(0x00573739),
+          UINT32_C(0x007F843C), UINT32_C(0x0012F74D), UINT32_C(0x001934CA),
+          UINT32_C(0x0011DDD6), UINT32_C(0x00DF048B), UINT32_C(0x004D7027),
+          UINT32_C(0x005B0107), UINT32_C(0x0069D6BF)}},
+        {{UINT32_C(0x00F44C75), UINT32_C(0x003F20FB), UINT32_C(0x0011CE27),
+          UINT32_C(0x00F7E2A9), UINT32_C(0x006914F7), UINT32_C(0x0020C3E4),
+          UINT32_C(0x00683AAF), UINT32_C(0x007DE3A9), UINT32_C(0x001E6E79),
+          UINT32_C(0x0006F6AF), UINT32_C(0x00563C95)},
+         {UINT32_C(0x004904B2), UINT32_C(0x00517306), UINT32_C(0x0049E4D2),
+          UINT32_C(0x00459886), UINT32_C(0x001E326B), UINT32_C(0x003AF2A6),
+          UINT32_C(0x004F40C8), UINT32_C(0x0072BF1A), UINT32_C(0x00692E44),
+          UINT32_C(0x0046EF04), UINT32_C(0x007235C7)},
+         {UINT32_C(0x0099C193), UINT32_C(0x0032477B), UINT32_C(0x0064C855),
+          UINT32_C(0x00F64B95), UINT32_C(0x006D6DE1), UINT32_C(0x0038972C),
+          UINT32_C(0x002E92A5), UINT32_C(0x00FB0D34), UINT32_C(0x0000A7FB),
+          UINT32_C(0x00436D2A), UINT32_C(0x002AE23C)}},
+        {{UINT32_C(0x005B55EE), UINT32_C(0x00269FC6), UINT32_C(0x0031ABD5),
+          UINT32_C(0x00AFFAE5), UINT32_C(0x0007CF80), UINT32_C(0x003582AB),
+          UINT32_C(0x004AA0DA), UINT32_C(0x003B2950), UINT32_C(0x0027722C),
+          UINT32_C(0x006DA175), UINT32_C(0x00538D39)},
+         {UINT32_C(0x00E803AA), UINT32_C(0x0078E9FA), UINT32_C(0x000599F4),
+          UINT32_C(0x00C7D432), UINT32_C(0x00482F43), UINT32_C(0x0031EDC5),
+          UINT32_C(0x007E0348), UINT32_C(0x0099EAD8), UINT32_C(0x00384F4D),
+          UINT32_C(0x004DACD4), UINT32_C(0x0046AD0D)},
+         {UINT32_C(0x00A97546), UINT32_C(0x000FB21C), UINT32_C(0x0015497C),
+          UINT32_C(0x008E62D2), UINT32_C(0x00505DE5), UINT32_C(0x000B95C5),
+          UINT32_C(0x0023EDFF), UINT32_C(0x00264B13), UINT32_C(0x002BCD90),
+          UINT32_C(0x00627803), UINT32_C(0x0036514F)}},
+        {{UINT32_C(0x0089E077), UINT32_C(0x0036ADDA), UINT32_C(0x001647F5),
+          UINT32_C(0x0088678C), UINT32_C(0x002D4F15), UINT32_C(0x004AD6CA),
+          UINT32_C(0x000239EF), UINT32_C(0x00784B5B), UINT32_C(0x003FA0B6),
+          UINT32_C(0x001178A4), UINT32_C(0x00506FAF)},
+         {UINT32_C(0x00B41F08), UINT32_C(0x00501231), UINT32_C(0x00193B29),
+          UINT32_C(0x00837915), UINT32_C(0x0052BE13), UINT32_C(0x0067A94C),
+          UINT32_C(0x00080E1A), UINT32_C(0x00FF39EB), UINT32_C(0x0012E0B7),
+          UINT32_C(0x0004446B), UINT32_C(0x001FD9A4)},
+         {UINT32_C(0x00EAA0DA), UINT32_C(0x002DD110), UINT32_C(0x00768BF0),
+          UINT32_C(0x00174EE3), UINT32_C(0x006B40A2), UINT32_C(0x004308C1),
+          UINT32_C(0x006A7D56), UINT32_C(0x0080EF9C), UINT32_C(0x006C09DF),
+          UINT32_C(0x00024E1D), UINT32_C(0x00025FFC)}},
+        {{UINT32_C(0x007CFBB3), UINT32_C(0x0008B1DC), UINT32_C(0x00221743),
+          UINT32_C(0x00E6686B), UINT32_C(0x00152BCE), UINT32_C(0x001317D6),
+          UINT32_C(0x00437CCD), UINT32_C(0x002FC802), UINT32_C(0x006681B5),
+          UINT32_C(0x00462383), UINT32_C(0x007A6155)},
+         {UINT32_C(0x00C0616E), UINT32_C(0x0065B50F), UINT32_C(0x00575631),
+          UINT32_C(0x008AE62D), UINT32_C(0x001A3DAF), UINT32_C(0x001CB629),
+          UINT32_C(0x000690A5), UINT32_C(0x000E40AF), UINT32_C(0x0027B0F1),
+          UINT32_C(0x0030A43B), UINT32_C(0x003D750B)},
+         {UINT32_C(0x0006E7C1), UINT32_C(0x001F7E8D), UINT32_C(0x007DDEB5),
+          UINT32_C(0x003E61D8), UINT32_C(0x0052F00A), UINT32_C(0x0007F477),
+          UINT32_C(0x0002FCF5), UINT32_C(0x00E51DDA), UINT32_C(0x00710B09),
+          UINT32_C(0x00162A00), UINT32_C(0x0070E436)}},
+        {{UINT32_C(0x0089B486), UINT32_C(0x00508B10), UINT32_C(0x00504CD3),
+          UINT32_C(0x007CBEF5), UINT32_C(0x00401259), UINT32_C(0x0016A84C),
+          UINT32_C(0x005DDAF1), UINT32_C(0x00CA278E), UINT32_C(0x005227AF),
+          UINT32_C(0x000A6D32), UINT32_C(0x0025F71B)},
+         {UINT32_C(0x009CE1F9), UINT32_C(0x00535376), UINT32_C(0x0038A997),
+          UINT32_C(0x008FCF77), UINT32_C(0x001681BE), UINT32_C(0x0030BB0D),
+          UINT32_C(0x0079D5C2), UINT32_C(0x00CCB407), UINT32_C(0x00115E29),
+          UINT32_C(0x006BEA8D), UINT32_C(0x0077DF80)},
+         {UINT32_C(0x000328F3), UINT32_C(0x0062691B), UINT32_C(0x00429269),
+          UINT32_C(0x00D14DE5), UINT32_C(0x001B9543), UINT32_C(0x00310721),
+          UINT32_C(0x005A6271), UINT32_C(0x00077EE6), UINT32_C(0x006695BC),
+          UINT32_C(0x00502870), UINT32_C(0x005376F2)}},
+    },
+    {
+        {{UINT32_C(0x00F38262), UINT32_C(0x00203985), UINT32_C(0x0029479B),
+          UINT32_C(0x0057D8A4), UINT32_C(0x002352DF), UINT32_C(0x005A3DE0),
+          UINT32_C(0x0038FC9D), UINT32_C(0x005E69CE), UINT32_C(0x007195C8),
+          UINT32_C(0x007F3F0C), UINT32_C(0x0075AA44)},
+         {UINT32_C(0x00A2B12A), UINT32_C(0x0005AB91), UINT32_C(0x0005801E),
+          UINT32_C(0x00BD3E26), UINT32_C(0x004A3566), UINT32_C(0x0039622B),
+          UINT32_C(0x00196466), UINT32_C(0x003385DF), UINT32_C(0x00464F26),
+          UINT32_C(0x00348D32), UINT32_C(0x006B3D82)},
+         {UINT32_C(0x0065745B), UINT32_C(0x00756984), UINT32_C(0x000663B1),
+          UINT32_C(0x00F8FADD), UINT32_C(0x005D0DD6), UINT32_C(0x005A5E23),
+          UINT32_C(0x0021B9BE), UINT32_C(0x009BBEE7), UINT32_C(0x003310A0),
+          UINT32_C(0x0008941E), UINT32_C(0x006EFBEF)}},
+        {{UINT32_C(0x008285AF), UINT32_C(0x0032D42C), UINT32_C(0x004A921F),
+          UINT32_C(0x00501992), UINT32_C(0x00684DBF), UINT32_C(0x001A5365),
+          UINT32_C(0x0036ABF8), UINT32_C(0x004599AB), UINT32_C(0x003153D1),
+          UINT32_C(0x004357B7), UINT32_C(0x00289208)},
+         {UINT32_C(0x00BF2760), UINT32_C(0x000C24C0), UINT32_C(0x0057E755),
+          UINT32_C(0x000FB090), UINT32_C(0x007F2FA3), UINT32_C(0x0034386D),
+          UINT32_C(0x004D0670), UINT32_C(0x007D5F67), UINT32_C(0x00770E2C),
+          UINT32_C(0x004F400F), UINT32_C(0x0004CA31)},
+         {UINT32_C(0x00C5736B), UINT32_C(0x0025DE46), UINT32_C(0x00184C66),
+          UINT32_C(0x002454E1), UINT32_C(0x006C791A), UINT32_C(0x00695E64),
+          UINT32_C(0x0005F1A3), UINT32_C(0x00D89A22), UINT32_C(0x00339085),
+          UINT32_C(0x00612026), UINT32_C(0x0011E398)}},
+        {{UINT32_C(0x00580ED8), UINT32_C(0x00351562), UINT32_C(0x003AC56C),
+          UINT32_C(0x0082A872), UINT32_C(0x00009388), UINT32_C(0x0059018D),
+          UINT32_C(0x00428E6F), UINT32_C(0x0044580D), UINT32_C(0x00397D38),
+          UINT32_C(0x001413BF), UINT32_C(0x0019ACCA)},
+         {UINT32_C(0x00EBF493), UINT32_C(0x0065B688), UINT32_C(0x00475CB8),
+          UINT32_C(0x000C5271), UINT32_C(0x001FA36C), UINT32_C(0x002065F1),
+          UINT32_C(0x001E357D), UINT32_C(0x002E3A47), UINT32_C(0x007D686D),
+          UINT32_C(0x0016A68A), UINT32_C(0x00662C00)},
+         {UINT32_C(0x00BBB7E7), UINT32_C(0x00118B8C), UINT32_C(0x00257EA2),
+          UINT32_C(0x00EAE0BF), UINT32_C(0x00534B32), UINT32_C(0x002C3391),
+          UINT32_C(0x005F91A4), UINT32_C(0x009CC53C), UINT32_C(0x000D1F59),
+          UINT32_C(0x0044B89F), UINT32_C(0x004E2285)}},
+        {{UINT32_C(0x0027C85C), UINT32_C(0x0034E4D0), UINT32_C(0x0034EE41),
+          UINT32_C(0x0000C14F), UINT32_C(0x00466E36), UINT32_C(0x0012ED82),
+          UINT32_C(0x004AB2CC), UINT32_C(0x00BB7B93), UINT32_C(0x0013EE11),
+          UINT32_C(0x0071AADD), UINT32_C(0x000E9430)},
+         {UINT32_C(0x0048606F), UINT32_C(0x000E389D), UINT32_C(0x005B7915),
+          UINT32_C(0x00DA42A8), UINT32_C(0x003E8287), UINT32_C(0x001D2AF2),
+          UINT32_C(0x0044CA11), UINT32_C(0x00C9B883), UINT32_C(0x000B95FA),
+          UINT32_C(0x00571771), UINT32_C(0x002FD7F4)},
+         {UINT32_C(0x00DD2691), UINT32_C(0x0071C20D), UINT32_C(0x00544E37),
+          UINT32_C(0x00458C30), UINT32_C(0x005ED950), UINT32_C(0x000A642E),
+          UINT32_C(0x000316B6), UINT32_C(0x00F34871), UINT32_C(0x0030B700),
+          UINT32_C(0x007D4AA7), UINT32_C(0x000E8F8F)}},
+        {{UINT32_C(0x00AFDFD3), UINT32_C(0x0023AB6D), UINT32_C(0x003A134B),
+          UINT32_C(0x007521AF), UINT32_C(0x002E2236), UINT32_C(0x00146DF2),
+          UINT32_C(0x00201697), UINT32_C(0x000389A1), UINT32_C(0x0048BE72),
+          UINT32_C(0x003FD0B3), UINT32_C(0x003AD399)},
+         {UINT32_C(0x00453802), UINT32_C(0x0058F172), UINT32_C(0x000BD847),
+          UINT32_C(0x005FE8C6), UINT32_C(0x0040628C), UINT32_C(0x004614B8),
+          UINT32_C(0x004205D4), UINT32_C(0x00259F68), UINT32_C(0x0076F623),
+          UINT32_C(0x00678707), UINT32_C(0x0057C6D8)},
+         {UINT32_C(0x00DB4A5B), UINT32_C(0x004A2766), UINT32_C(0x00614411),
+          UINT32_C(0x00510EC4), UINT32_C(0x007473CF), UINT32_C(0x0051CB0E),
+          UINT32_C(0x0014EC5F), UINT32_C(0x000483E0), UINT32_C(0x001F7AE6),
+          UINT32_C(0x0078A5EC), UINT32_C(0x003FC5C6)}},
+        {{UINT32_C(0x00E73CF6), UINT32_C(0x00365645), UINT32_C(0x0026EE89),
+          UINT32_C(0x006AC701), UINT32_C(0x007831F1), UINT32_C(0x00393FC7),
+          UINT32_C(0x0003E80C), UINT32_C(0x008ECBE8), UINT32_C(0x0027B4A8),
+          UINT32_C(0x0037554F), UINT32_C(0x006AD6BD)},
+         {UINT32_C(0x001857E4), UINT32_C(0x00657687), UINT32_C(0x0036B228),
+          UINT32_C(0x006A820E), UINT32_C(0x00459485), UINT32_C(0x002AA7DA),
+          UINT32_C(0x0031670E), UINT32_C(0x0099F393), UINT32_C(0x0023D587),
+          UINT32_C(0x000B8D51), UINT32_C(0x0067F4BE)},
+         {UINT32_C(0x00604B7F), UINT32_C(0x00531996), UINT32_C(0x000F3A4C),
+          UINT32_C(0x00EFD0BB), UINT32_C(0x001D4914), UINT32_C(0x004C04B3),
+          UINT32_C(0x0003D908), UINT32_C(0x00AA3218), UINT32_C(0x00403685),
+          UINT32_C(0x0072EB6A), UINT32_C(0x002176B1)}},
+        {{UINT32_C(0x00DC72D5), UINT32_C(0x0053C100), UINT32_C(0x006992E3),
+          UINT32_C(0x00532CA0), UINT32_C(0x004D3AD9), UINT32_C(0x0016B1F6),
+          UINT32_C(0x00776F4B), UINT32_C(0x006ECD70), UINT32_C(0x004FC6E0),
+          UINT32_C(0x00766557), UINT32_C(0x0019E21F)},
+         {UINT32_C(0x002B1672), UINT32_C(0x003C3FDF), UINT32_C(0x00324542),
+          UINT32_C(0x007B582B), UINT32_C(0x0002AD86), UINT32_C(0x00528C4E),
+          UINT32_C(0x003D3509), UINT32_C(0x00D075CA), UINT32_C(0x00783A6B),
+          UINT32_C(0x0032D6B0), UINT32_C(0x00655B92)},
+         {UINT32_C(0x0067E0B1), UINT32_C(0x001D8E27), UINT32_C(0x002F0272),
+          UINT32_C(0x00BBEB09), UINT32_C(0x0017C396), UINT32_C(0x005B451C),
+          UINT32_C(0x000ADC03), UINT32_C(0x00F50759), UINT32_C(0x000DE4C0),
+          UINT32_C(0x006BAD90), UINT32_C(0x0015A7A2)}},
+        {{UINT32_C(0x009DA550), UINT32_C(0x004309EA), UINT32_C(0x006FDD59),
+          UINT32_C(0x00C427DA), UINT32_C(0x00454A59), UINT32_C(0x005B8E71),
+          UINT32_C(0x00341B12), UINT32_C(0x00252CD4), UINT32_C(0x00111FF0),
+          UINT32_C(0x007E3827), UINT32_C(0x0048F3DC)},
+         {UINT32_C(0x00BC3FD8), UINT32_C(0x00513D87), UINT32_C(0x0004F4BB),
+          UINT32_C(0x0040E743), UINT32_C(0x007CD878), UINT32_C(0x0010C877),
+          UINT32_C(0x005F89C4), UINT32_C(0x00F5CB3E), UINT32_C(0x0074C6FA),
+          UINT32_C(0x006D3B3F), UINT32_C(0x0027626C)},
+         {UINT32_C(0x004FE9AA), UINT32_C(0x001A4C25), UINT32_C(0x005FC4B0),
+          UINT32_C(0x00C432AF), UINT32_C(0x005E26E5), UINT32_C(0x003B434E),
+          UINT32_C(0x0027CFF2), UINT32_C(0x0043D716), UINT32_C(0x0059B5A6),
+          UINT32_C(0x00333789), UINT32_C(0x0011248B)}},
+        {{UINT32_C(0x00CA0B46), UINT32_C(0x00797C4C), UINT32_C(0x0025673C),
+          UINT32_C(0x004C5796), UINT32_C(0x000F4352), UINT32_C(0x00477E09),
+          UINT32_C(0x007CE235), UINT32_C(0x00B62DDB), UINT32_C(0x00398769),
+          UINT32_C(0x00598708), UINT32_C(0x002AA80B)},
+         {UINT32_C(0x006334CD), UINT32_C(0x0007E78A), UINT32_C(0x000B78B3),
+          UINT32_C(0x00945807), UINT32_C(0x005E6E86), UINT32_C(0x005554D4),
+          UINT32_C(0x000A6B65), UINT32_C(0x00306D92), UINT32_C(0x005D12E8),
+          UINT32_C(0x003DEB11), UINT32_C(0x00385DB1)},
+         {UINT32_C(0x000A5E84), UINT32_C(0x006D3E68), UINT32_C(0x00756665),
+          UINT32_C(0x004A1477), UINT32_C(0x00348B5C), UINT32_C(0x0048952E),
+          UINT32_C(0x002EDCD0), UINT32_C(0x0017A1F7), UINT32_C(0x000D0B6A),
+          UINT32_C(0x002CC6D4), UINT32_C(0x00357331)}},
+        {{UINT32_C(0x0079D8A5), UINT32_C(0x007C1D32), UINT32_C(0x0026F73E),
+          UINT32_C(0x00DC858C), UINT32_C(0x002CFF0F), UINT32_C(0x007FA1D8),
+          UINT32_C(0x000AA161), UINT32_C(0x009E41A9), UINT32_C(0x0009D873),
+          UINT32_C(0x004C0E2C), UINT32_C(0x001DB409)},
+         {UINT32_C(0x0018D65B), UINT32_C(0x0022CD31), UINT32_C(0x00390F42),
+          UINT32_C(0x00D8FCA4), UINT32_C(0x006663C5), UINT32_C(0x0019722C),
+          UINT32_C(0x007F6B0A), UINT32_C(0x00A630E3), UINT32_C(0x006E4A27),
+          UINT32_C(0x0021D1B6), UINT32_C(0x002AAC94)},
+         {UINT32_C(0x0018C372), UINT32_C(0x0054FA42), UINT32_C(0x000EFD69),
+          UINT32_C(0x0011780F), UINT32_C(0x001A67DB), UINT32_C(0x006E5FA4),
+          UINT32_C(0x00414397), UINT32_C(0x007903CC), UINT32_C(0x006A8416),
+          UINT32_C(0x007EAA7F), UINT32_C(0x002FE26B)}},
+        {{UINT32_C(0x00E4631A), UINT32_C(0x00519A42), UINT32_C(0x004D5D8F),
+          UINT32_C(0x00C6E606), UINT32_C(0x00053595), UINT32_C(0x004EB9D1),
+          UINT32_C(0x005A269C), UINT32_C(0x003E8B00), UINT32_C(0x00162354),
+          UINT32_C(0x007E07B4), UINT32_C(0x003AF53B)},
+         {UINT32_C(0x00B6EB19), UINT32_C(0x00555D97), UINT32_C(0x00633E65),
+          UINT32_C(0x0099187D), UINT32_C(0x00227AE7), UINT32_C(0x001674B2),
+          UINT32_C(0x005E8C81), UINT32_C(0x005B7DF9), UINT32_C(0x0055E4BB),
+          UINT32_C(0x0056A5E1), UINT32_C(0x0019F876)},
+         {UINT32_C(0x00B4688B), UINT32_C(0x005F4304), UINT32_C(0x000B39BD),
+          UINT32_C(0x004E7F2B), UINT32_C(0x00313A32), UINT32_C(0x007002F9),
+          UINT32_C(0x0031EB5F), UINT32_C(0x00C85095), UINT32_C(0x00425A62),
+          UINT32_C(0x00328356), UINT32_C(0x007EF956)}},
+        {{UINT32_C(0x00E0C2E0), UINT32_C(0x00585FE0), UINT32_C(0x0075AB74),
+          UINT32_C(0x0041E028), UINT32_C(0x006CAE63), UINT32_C(0x003C54C9),
+          UINT32_C(0x001036EA), UINT32_C(0x002B7F12), UINT32_C(0x00144D5C),
+          UINT32_C(0x007374DB), UINT32_C(0x00750F36)},
+         {UINT32_C(0x0061BB41), UINT32_C(0x0036024E), UINT32_C(0x00655A71),
+          UINT32_C(0x004FC91A), UINT32_C(0x0014B38E), UINT32_C(0x003D62DB),
+          UINT32_C(0x0072A235), UINT32_C(0x003B2C40), UINT32_C(0x002C0290),
+          UINT32_C(0x005FEB15), UINT32_C(0x0061089A)},
+         {UINT32_C(0x0085ECE4), UINT32_C(0x00332265), UINT32_C(0x0042796C),
+          UINT32_C(0x00FD5F30), UINT32_C(0x004C81DA), UINT32_C(0x00007089),
+          UINT32_C(0x006EA425), UINT32_C(0x00B807C7), UINT32_C(0x00459E0F),
+          UINT32_C(0x00181B93), UINT32_C(0x000B0E1B)}},
+        {{UINT32_C(0x009EFE70), UINT32_C(0x004E468A), UINT32_C(0x0077E5AA),
+          UINT32_C(0x001467EF), UINT32_C(0x0020C382), UINT32_C(0x0055629A),
+          UINT32_C(0x005CA999), UINT32_C(0x00BEFB9D), UINT32_C(0x005A686B),
+          UINT32_C(0x0010351C), UINT32_C(0x005963DB)},
+         {UINT32_C(0x001E85F3), UINT32_C(0x0014333A), UINT32_C(0x006927C7),
+          UINT32_C(0x00F08F00), UINT32_C(0x00634AD4), UINT32_C(0x0022A5F2),
+          UINT32_C(0x003B4641), UINT32_C(0x00A28090), UINT32_C(0x003FC621),
+          UINT32_C(0x002B49C0), UINT32_C(0x00555DF3)},
+         {UINT32_C(0x007C3D87), UINT32_C(0x002EFA77), UINT32_C(0x00567EC8),
+          UINT32_C(0x00D46233), UINT32_C(0x00590994), UINT32_C(0x0045579D),
+          UINT32_C(0x0006388F), UINT32_C(0x004C41FA), UINT32_C(0x004C71DD),
+          UINT32_C(0x007BF667), UINT32_C(0x0057A3C7)}},
+        {{UINT32_C(0x0093682F), UINT32_C(0x00073EF9), UINT32_C(0x0019C616),
+          UINT32_C(0x00C17E8F), UINT32_C(0x002702CF), UINT32_C(0x005F528E),
+          UINT32_C(0x0019B458), UINT32_C(0x0052A2E0), UINT32_C(0x00425491),
+          UINT32_C(0x0018AED3), UINT32_C(0x006F6DAE)},
+         {UINT32_C(0x0082401A), UINT32_C(0x004D0E66), UINT32_C(0x003A3362),
+          UINT32_C(0x003D1A93), UINT32_C(0x000E6BF3), UINT32_C(0x0017967B),
+          UINT32_C(0x00117AFB), UINT32_C(0x008CB04A), UINT32_C(0x002CA224),
+          UINT32_C(0x00067DCB), UINT32_C(0x0056DEA4)},
+         {UINT32_C(0x005F1A62), UINT32_C(0x006AF62D), UINT32_C(0x000D1E62),
+          UINT32_C(0x00CCEE42), UINT32_C(0x00512EC5), UINT32_C(0x002C191C),
+          UINT32_C(0x0065B2C8), UINT32_C(0x00567D2B), UINT32_C(0x006A4BC8),
+          UINT32_C(0x0011359A), UINT32_C(0x003AB09B)}},
+        {{UINT32_C(0x0072355E), UINT32_C(0x00290653), UINT32_C(0x00453126),
+          UINT32_C(0x00DA22DA), UINT32_C(0x004311EA), UINT32_C(0x000C95C7),
+          UINT32_C(0x005DA2D6), UINT32_C(0x0048EE2E), UINT32_C(0x007AC207),
+          UINT32_C(0x0029BC84), UINT32_C(0x000A0DFC)},
+         {UINT32_C(0x004EF0CE), UINT32_C(0x00747296), UINT32_C(0x000818AB),
+          UINT32_C(0x00BE8543), UINT32_C(0x0041F6F4), UINT32_C(0x00448449),
+          UINT32_C(0x00153E5F), UINT32_C(0x00AADD33), UINT32_C(0x0035B84C),
+          UINT32_C(0x0069EAE8), UINT32_C(0x00217DBD)},
+         {UINT32_C(0x002DB2A4), UINT32_C(0x001158C1), UINT32_C(0x002F9514),
+          UINT32_C(0x00428AE0), UINT32_C(0x0071D932), UINT32_C(0x002D6CE8),
+          UINT32_C(0x0002F0FA), UINT32_C(0x001EB77A), UINT32_C(0x0041C021),
+          UINT32_C(0x00779647), UINT32_C(0x0000B4B0)}},
+        {{UINT32_C(0x002BCA29), UINT32_C(0x000D6E00), UINT32_C(0x002A8D45),
+          UINT32_C(0x00E65F5F), UINT32_C(0x0032B3E8), UINT32_C(0x001DDA5D),
+          UINT32_C(0x0017AEC6), UINT32_C(0x00CCE901), UINT32_C(0x002418B9),
+          UINT32_C(0x003F180D), UINT32_C(0x00754B21)},
+         {UINT32_C(0x001E8828), UINT32_C(0x004DE168), UINT32_C(0x00365565),
+          UINT32_C(0x003E7F08), UINT32_C(0x00022EE0), UINT32_C(0x0043C370),
+          UINT32_C(0x0066C1D6), UINT32_C(0x0033E762), UINT32_C(0x0021E80E),
+          UINT32_C(0x0022E1CE), UINT32_C(0x0039049C)},
+         {UINT32_C(0x001AEEAB), UINT32_C(0x004E9952), UINT32_C(0x006CD381),
+          UINT32_C(0x00319F16), UINT32_C(0x004B6EED), UINT32_C(0x000E8C3B),
+          UINT32_C(0x0033C702), UINT32_C(0x0074A7B1), UINT32_C(0x0055F862),
+          UINT32_C(0x00070547), UINT32_C(0x001AB4F3)}},
+    },
+    {
+        {{UINT32_C(0x002AB480), UINT32_C(0x00491F21), UINT32_C(0x007D1D9B),
+          UINT32_C(0x0017861D), UINT32_C(0x004E0965), UINT32_C(0x004F9835),
+          UINT32_C(0x002889AB), UINT32_C(0x00254B0E), UINT32_C(0x003F4ECE),
+          UINT32_C(0x00645245), UINT32_C(0x003DE09E)},
+         {UINT32_C(0x00BFFA33), UINT32_C(0x0001E566), UINT32_C(0x0048223D),
+          UINT32_C(0x0081AC1B), UINT32_C(0x0075FACF), UINT32_C(0x00288CA5),
+          UINT32_C(0x00319699), UINT32_C(0x00E70935), UINT32_C(0x003AFCDF),
+          UINT32_C(0x000D446C), UINT32_C(0x001FF61C)},
+         {UINT32_C(0x00CFC3EE), UINT32_C(0x0053EC31), UINT32_C(0x00556C71),
+          UINT32_C(0x00B61E4F), UINT32_C(0x0019B811), UINT32_C(0x000E942F),
+          UINT32_C(0x006B460A), UINT32_C(0x0028CECD), UINT32_C(0x0053755C),
+          UINT32_C(0x006A36AD), UINT32_C(0x0074830B)}},
+        {{UINT32_C(0x0032B148), UINT32_C(0x00574A20), UINT32_C(0x00258660),
+          UINT32_C(0x00A32E9A), UINT32_C(0x00666B0C), UINT32_C(0x0050B448),
+          UINT32_C(0x00375197), UINT32_C(0x007C7568), UINT32_C(0x0054C0EF),
+          UINT32_C(0x003C6296), UINT32_C(0x00451E25)},
+         {UINT32_C(0x001F0527), UINT32_C(0x0015C673), UINT32_C(0x002F100D),
+          UINT32_C(0x0051AD70), UINT32_C(0x00120973), UINT32_C(0x002A4934),
+          UINT32_C(0x00340AF5), UINT32_C(0x00DB9742), UINT32_C(0x00743FB7),
+          UINT32_C(0x00457EDD), UINT32_C(0x000CEB92)},
+         {UINT32_C(0x00F5B12C), UINT32_C(0x0053626F), UINT32_C(0x007F2969),
+          UINT32_C(0x00F9A729), UINT32_C(0x0033C947), UINT32_C(0x0000F3BA),
+          UINT32_C(0x00207B91), UINT32_C(0x0063F460), UINT32_C(0x0012F8FD),
+          UINT32_C(0x000B32A2), UINT32_C(0x003E578A)}},
+        {{UINT32_C(0x00B1FE77), UINT32_C(0x00298801), UINT32_C(0x00011596),
+          UINT32_C(0x001AC338), UINT32_C(0x001D0E96), UINT32_C(0x005E3714),
+          UINT32_C(0x003DE2F3), UINT32_C(0x00AF9E64), UINT32_C(0x00187EE5),
+          UINT32_C(0x004F7E2C), UINT32_C(0x0017C5D3)},
+         {UINT32_C(0x0071BA87), UINT32_C(0x00241D87), UINT32_C(0x0034F745),
+          UINT32_C(0x0004090C), UINT32_C(0x000A1932), UINT32_C(0x0042ADD3),
+          UINT32_C(0x0053459C), UINT32_C(0x007BE02E), UINT32_C(0x003D62A3),
+          UINT32_C(0x0015988B), UINT32_C(0x006AAD49)},
+         {UINT32_C(0x00367A73), UINT32_C(0x007F03C1), UINT32_C(0x002CAE51),
+          UINT32_C(0x0029D218), UINT32_C(0x0014E4A9), UINT32_C(0x0054032D),
+          UINT32_C(0x0062F02D), UINT32_C(0x00DCDDAD), UINT32_C(0x007EE1CD),
+          UINT32_C(0x001D0B5C), UINT32_C(0x00569FE0)}},
+        {{UINT32_C(0x00BCADF6), UINT32_C(0x0075341C), UINT32_C(0x00398E24),
+          UINT32_C(0x003BF613), UINT32_C(0x0001E10C), UINT32_C(0x0065FEAC),
+          UINT32_C(0x0024D15C), UINT32_C(0x00196783), UINT32_C(0x0051862B),
+          UINT32_C(0x006C2018), UINT32_C(0x002A0826)},
+         {UINT32_C(0x00F6EE57), UINT32_C(0x0011CD5C), UINT32_C(0x001F7638),
+          UINT32_C(0x005F98C2), UINT32_C(0x001F7049), UINT32_C(0x003964A1),
+          UINT32_C(0x005657BE), UINT32_C(0x00DEE9F7), UINT32_C(0x0026BEEC),
+          UINT32_C(0x00319B9B), UINT32_C(0x00345293)},
+         {UINT32_C(0x006BDDA7), UINT32_C(0x0030B11F), UINT32_C(0x002600EA),
+          UINT32_C(0x00461976), UINT32_C(0x001593E9), UINT32_C(0x006F183C),
+          UINT32_C(0x003ABB5A), UINT32_C(0x0018F1A8), UINT32_C(0x00390978),
+          UINT32_C(0x0005156D), UINT32_C(0x00075AED)}},
+        {{UINT32_C(0x001BD2D5), UINT32_C(0x00578B39), UINT32_C(0x007FE095),
+          UINT32_C(0x0046AFA9), UINT32_C(0x002148E8), UINT32_C(0x0017C3CD),
+          UINT32_C(0x006AE351), UINT32_C(0x0063F7AB), UINT32_C(0x0050AA1E),
+          UINT32_C(0x004184F5), UINT32_C(0x0069223D)},
+         {UINT32_C(0x0086A15A), UINT32_C(0x0033AD1F), UINT32_C(0x006A0376),
+          UINT32_C(0x00C44A80), UINT32_C(0x001DE4DA), UINT32_C(0x000819B5),
+          UINT32_C(0x00275A25), UINT32_C(0x005EA5CD), UINT32_C(0x0022AA1B),
+          UINT32_C(0x004A1528), UINT32_C(0x0041A71A)},
+         {UINT32_C(0x00F443D0), UINT32_C(0x007F9618), UINT32_C(0x005E374D),
+          UINT32_C(0x00C0032C), UINT32_C(0x005BC03C), UINT32_C(0x00225F6A),
+          UINT32_C(0x002F1161), UINT32_C(0x0062CB7E), UINT32_C(0x00527B02),
+          UINT32_C(0x005AAD7F), UINT32_C(0x00585C83)}},
+        {{UINT32_C(0x00D110A1), UINT32_C(0x004B6AF7), UINT32_C(0x00084690),
+          UINT32_C(0x00F276EF), UINT32_C(0x0000F67B), UINT32_C(0x001870DC),
+          UINT32_C(0x0010FCB3), UINT32_C(0x00392CFE), UINT32_C(0x002086D8),
+          UINT32_C(0x007424AF), UINT32_C(0x00202355)},
+         {UINT32_C(0x00077C6C), UINT32_C(0x0025E823), UINT32_C(0x006EF81B),
+          UINT32_C(0x00540F85), UINT32_C(0x002C8AF2), UINT32_C(0x0013C77B),
+          UINT32_C(0x001C4D2F), UINT32_C(0x001021D9), UINT32_C(0x00146F24),
+          UINT32_C(0x003599F3), UINT32_C(0x004B4CCC)},
+         {UINT32_C(0x004CD365), UINT32_C(0x00179717), UINT32_C(0x0039A122),
+          UINT32_C(0x00B62616), UINT32_C(0x007AEE90), UINT32_C(0x0029164E),
+          UINT32_C(0x0039438A), UINT32_C(0x00CBA485), UINT32_C(0x00428DC8),
+          UINT32_C(0x00313356), UINT32_C(0x006E6A72)}},
+        {{UINT32_C(0x00CF5614), UINT32_C(0x00163606), UINT32_C(0x002CA6AC),
+          UINT32_C(0x006EA0B2), UINT32_C(0x006DA8EE), UINT32_C(0x0019BDF3),
+          UINT32_C(0x006043AF), UINT32_C(0x008AA760), UINT32_C(0x002E08F1),
+          UINT32_C(0x0037973A), UINT32_C(0x0029B40D)},
+         {UINT32_C(0x00379A65), UINT32_C(0x0052E429), UINT32_C(0x0068686B),
+          UINT32_C(0x00C69C90), UINT32_C(0x004E9422), UINT32_C(0x00366023),
+          UINT32_C(0x002260F4), UINT32_C(0x005BAF5B), UINT32_C(0x000678A6),
+          UINT32_C(0x000460DA), UINT32_C(0x004F4340)},
+         {UINT32_C(0x00E03B58), UINT32_C(0x007B260B), UINT32_C(0x005BA74C),
+          UINT32_C(0x00BD1A46), UINT32_C(0x0009DC7B), UINT32_C(0x00118343),
+          UINT32_C(0x00021428), UINT32_C(0x000FFED5), UINT32_C(0x0072D7E6),
+          UINT32_C(0x003DCFB6), UINT32_C(0x003AB926)}},
+        {{UINT32_C(0x0077649D), UINT32_C(0x005389B7), UINT32_C(0x004D6E76),
+          UINT32_C(0x00936F59), UINT32_C(0x00463E7C), UINT32_C(0x006D778A),
+          UINT32_C(0x0009DB6F), UINT32_C(0x00A424F1), UINT32_C(0x0052F5CC),
+          UINT32_C(0x007E60DE), UINT32_C(0x004279FB)},
+         {UINT32_C(0x00A7028F), UINT32_C(0x007EA950), UINT32_C(0x001EFBD6),
+          UINT32_C(0x00BDA79F), UINT32_C(0x007AF7CC), UINT32_C(0x00279C7C),
+          UINT32_C(0x006C7303), UINT32_C(0x00E939AC), UINT32_C(0x00354019),
+          UINT32_C(0x00187CF7), UINT32_C(0x00183D31)},
+         {UINT32_C(0x0042F626), UINT32_C(0x0074EA5E), UINT32_C(0x00538C9A),
+          UINT32_C(0x00AF163A), UINT32_C(0x004C692D), UINT32_C(0x0023FAA0),
+          UINT32_C(0x00775E16), UINT32_C(0x0062DAB8), UINT32_C(0x007D6702),
+          UINT32_C(0x001B38C5), UINT32_C(0x001E3974)}},
+        {{UINT32_C(0x004F9403), UINT32_C(0x00748471), UINT32_C(0x00211B76),
+          UINT32_C(0x001EFC08), UINT32_C(0x005B213F), UINT32_C(0x003E9002),
+          UINT32_C(0x00785B3C), UINT32_C(0x00E45607), UINT32_C(0x003D477B),
+          UINT32_C(0x00282DEF), UINT32_C(0x00504A42)},
+         {UINT32_C(0x00BF7FBB), UINT32_C(0x000A066A), UINT32_C(0x000679D4),
+          UINT32_C(0x00BB2351), UINT32_C(0x007D83CA), UINT32_C(0x00612D60),
+          UINT32_C(0x00031501), UINT32_C(0x00F4CAB2), UINT32_C(0x002155C8),
+          UINT32_C(0x003A8F2C), UINT32_C(0x00169BC2)},
+         {UINT32_C(0x000357B5), UINT32_C(0x006B1266), UINT32_C(0x002BCBF3),
+          UINT32_C(0x00A64DFF), UINT32_C(0x0066D9DE), UINT32_C(0x0057385B),
+          UINT32_C(0x005050FF), UINT32_C(0x006FC06F), UINT32_C(0x0028E483),
+          UINT32_C(0x0051EF87), UINT32_C(0x000CC48B)}},
+        {{UINT32_C(0x00ED9E35), UINT32_C(0x0023A04E), UINT32_C(0x0024255C),
+          UINT32_C(0x0070038E), UINT32_C(0x0046A52B), UINT32_C(0x004E9C3F),
+          UINT32_C(0x006C8BA2), UINT32_C(0x00D8ED9C), UINT32_C(0x006F6A03),
+          UINT32_C(0x003098C4), UINT32_C(0x005D825F)},
+         {UINT32_C(0x008FA640), UINT32_C(0x000B9382), UINT32_C(0x0011CD48),
+          UINT32_C(0x00034F5D), UINT32_C(0x0059465F), UINT32_C(0x0070DA45),
+          UINT32_C(0x00649F15), UINT32_C(0x0054EE9E), UINT32_C(0x003D37B0),
+          UINT32_C(0x004361C8), UINT32_C(0x002CB478)},
+         {UINT32_C(0x0012D22E), UINT32_C(0x00674682), UINT32_C(0x0070C891),
+          UINT32_C(0x00FC49FE), UINT32_C(0x003AF178), UINT32_C(0x0077EF15),
+          UINT32_C(0x007CF642), UINT32_C(0x00E36298), UINT32_C(0x002FEFEF),
+          UINT32_C(0x0070ADFB), UINT32_C(0x00674E26)}},
+        {{UINT32_C(0x00E45F49), UINT32_C(0x0042AB1C), UINT32_C(0x005B58EE),
+          UINT32_C(0x009A5641), UINT32_C(0x004084D4), UINT32_C(0x00776081),
+          UINT32_C(0x004873EC), UINT32_C(0x0091B439), UINT32_C(0x0049547A),
+          UINT32_C(0x0061EF9F), UINT32_C(0x00209C2C)},
+         {UINT32_C(0x00ACB336), UINT32_C(0x0002E07D), UINT32_C(0x006207CB),
+          UINT32_C(0x0044DAE2), UINT32_C(0x0017A196), UINT32_C(0x006B179D),
+          UINT32_C(0x005CFADF), UINT32_C(0x00081BD0), UINT32_C(0x002587D0),
+          UINT32_C(0x005AA501), UINT32_C(0x0027A6E9)},
+         {UINT32_C(0x0094228F), UINT32_C(0x000636DC), UINT32_C(0x005A4102),
+          UINT32_C(0x003E66B4), UINT32_C(0x0011F6CD), UINT32_C(0x0038E6FD),
+          UINT32_C(0x000B5086), UINT32_C(0x0050E978), UINT32_C(0x005AE74C),
+          UINT32_C(0x00246161), UINT32_C(0x007E9879)}},
+        {{UINT32_C(0x0065CC5A), UINT32_C(0x000BD258), UINT32_C(0x00167FAC),
+          UINT32_C(0x00E5D799), UINT32_C(0x002DCFC5), UINT32_C(0x0045B74C),
+          UINT32_C(0x00057C88), UINT32_C(0x0038384F), UINT32_C(0x003413FE),
+          UINT32_C(0x00625CFF), UINT32_C(0x00014CE5)},
+         {UINT32_C(0x0038E62F), UINT32_C(0x004B5EE4), UINT32_C(0x004ADC3F),
+          UINT32_C(0x0062FF7C), UINT32_C(0x001110E4), UINT32_C(0x007C7151),
+          UINT32_C(0x002F8915), UINT32_C(0x0068F26B), UINT32_C(0x0038A310),
+          UINT32_C(0x002E8D53), UINT32_C(0x0031786B)},
+         {UINT32_C(0x004DE3F1), UINT32_C(0x00036913), UINT32_C(0x006704FB),
+          UINT32_C(0x003944F4), UINT32_C(0x003E4AD6), UINT32_C(0x001A01BA),
+          UINT32_C(0x002E0D68), UINT32_C(0x004A2407), UINT32_C(0x0047BA89),
+          UINT32_C(0x003808BF), UINT32_C(0x0070E238)}},
+        {{UINT32_C(0x001B2F70), UINT32_C(0x006F3BCD), UINT32_C(0x0020C220),
+          UINT32_C(0x00971E3D), UINT32_C(0x0067DC3E), UINT32_C(0x00154916),
+          UINT32_C(0x007EE08E), UINT32_C(0x009FB7E0), UINT32_C(0x00164A27),
+          UINT32_C(0x00000D51), UINT32_C(0x00044A8C)},
+         {UINT32_C(0x00441852), UINT32_C(0x004183C7), UINT32_C(0x000B05DA),
+          UINT32_C(0x00765798), UINT32_C(0x002FE415), UINT32_C(0x0078F9D1),
+          UINT32_C(0x0049FDE6), UINT32_C(0x00D85938), UINT32_C(0x00404646),
+          UINT32_C(0x005B14A2), UINT32_C(0x00151434)},
+         {UINT32_C(0x001ECEB3), UINT32_C(0x00723B7F), UINT32_C(0x0073FB3C),
+          UINT32_C(0x0055508D), UINT32_C(0x002C2D2B), UINT32_C(0x0040F43E),
+          UINT32_C(0x001CBD6A), UINT32_C(0x00015808), UINT32_C(0x0013E380),
+          UINT32_C(0x00778472), UINT32_C(0x0014758C)}},
+        {{UINT32_C(0x00D4475B), UINT32_C(0x00404279), UINT32_C(0x006905B8),
+          UINT32_C(0x00F7FB57), UINT32_C(0x0073BDA7), UINT32_C(0x00269082),
+          UINT32_C(0x006B26ED), UINT32_C(0x0027D833), UINT32_C(0x001E216F),
+          UINT32_C(0x001360D4), UINT32_C(0x00115751)},
+         {UINT32_C(0x00E38DD3), UINT32_C(0x0054A13C), UINT32_C(0x000EBF81),
+          UINT32_C(0x0010F4E8), UINT32_C(0x0039AB55), UINT32_C(0x0031188E),
+          UINT32_C(0x0027D686), UINT32_C(0x00C9A0DF), UINT32_C(0x0039BD06),
+          UINT32_C(0x00350B58), UINT32_C(0x007D7257)},
+         {UINT32_C(0x00A31782), UINT32_C(0x000F1C0E), UINT32_C(0x002C8F03),
+          UINT32_C(0x00D72648), UINT32_C(0x0039C85F), UINT32_C(0x004A1C54),
+          UINT32_C(0x000FF85A), UINT32_C(0x0026A90F), UINT32_C(0x002B4E8C),
+          UINT32_C(0x000A4D59), UINT32_C(0x0050B904)}},
+        {{UINT32_C(0x006238BE), UINT32_C(0x00175795), UINT32_C(0x00538917),
+          UINT32_C(0x007BD984), UINT32_C(0x00292FC6), UINT32_C(0x00080628),
+          UINT32_C(0x001B5D25), UINT32_C(0x00D80A64), UINT32_C(0x005B034B),
+          UINT32_C(0x00167E5D), UINT32_C(0x00421184)},
+         {UINT32_C(0x00BA4129), UINT32_C(0x000FC466), UINT32_C(0x003F5CA0),
+          UINT32_C(0x00B0084A), UINT32_C(0x003B6970), UINT32_C(0x0079C8BB),
+          UINT32_C(0x006F3E63), UINT32_C(0x00D86F54), UINT32_C(0x003A31F7),
+          UINT32_C(0x00382189), UINT32_C(0x005CEAB5)},
+         {UINT32_C(0x0041A489), UINT32_C(0x004B3EF7), UINT32_C(0x00591EC7),
+          UINT32_C(0x00F08AA6), UINT32_C(0x00580111), UINT32_C(0x0006B198),
+          UINT32_C(0x0031386E), UINT32_C(0x00EC23A3), UINT32_C(0x007F21FD),
+          UINT32_C(0x005E25F3), UINT32_C(0x0047AC14)}},
+        {{UINT32_C(0x00AB4BF3), UINT32_C(0x0070ED4E), UINT32_C(0x001DFAA3),
+          UINT32_C(0x006F788D), UINT32_C(0x000470EF), UINT32_C(0x0005F6CC),
+          UINT32_C(0x00317FCC), UINT32_C(0x00341719), UINT32_C(0x000AF8E5),
+          UINT32_C(0x00265856), UINT32_C(0x004EA29A)},
+         {UINT32_C(0x00BD8CE2), UINT32_C(0x0019149B), UINT32_C(0x0010C6C2),
+          UINT32_C(0x00D9E127), UINT32_C(0x006B514E), UINT32_C(0x00755F77),
+          UINT32_C(0x004E4772), UINT32_C(0x00398A6D), UINT32_C(0x0032566C),
+          UINT32_C(0x00029F76), UINT32_C(0x0050B40A)},
+         {UINT32_C(0x008B1A27), UINT32_C(0x004EC0C5), UINT32_C(0x0069ED34),
+          UINT32_C(0x001088E0), UINT32_C(0x004CD905), UINT32_C(0x00697E9E),
+          UINT32_C(0x000A4361), UINT32_C(0x00A3E043), UINT32_C(0x0058F3E3),
+          UINT32_C(0x002D4E70), UINT32_C(0x006C75F0)}},
+    },
+    {
+        {{UINT32_C(0x005AB8BD), UINT32_C(0x0029D680), UINT32_C(0x0006977B),
+          UINT32_C(0x0074F696), UINT32_C(0x00048954), UINT32_C(0x0028F214),
+          UINT32_C(0x0045A271), UINT32_C(0x000DB9C5), UINT32_C(0x00141E0B),
+          UINT32_C(0x0064EAF4), UINT32_C(0x0016FA62)},
+         {UINT32_C(0x00DD9A68), UINT32_C(0x0020101A), UINT32_C(0x006747C5),
+          UINT32_C(0x00C02A2D), UINT32_C(0x00551617), UINT32_C(0x00318D4B),
+          UINT32_C(0x003D5380), UINT32_C(0x003B36CE), UINT32_C(0x0042C7B9),
+          UINT32_C(0x0068C9EF), UINT32_C(0x000786CD)},
+         {UINT32_C(0x0092DAA3), UINT32_C(0x006F3072), UINT32_C(0x0025BB51),
+          UINT32_C(0x0082E155), UINT32_C(0x002995E2), UINT32_C(0x00086EAC),
+          UINT32_C(0x004295AF), UINT32_C(0x0015CF09), UINT32_C(0x000217DF),
+          UINT32_C(0x0025C6FF), UINT32_C(0x006A1FF6)}},
+        {{UINT32_C(0x0068992F), UINT32_C(0x0037A443), UINT32_C(0x004E52B8),
+          UINT32_C(0x00EB4DD5), UINT32_C(0x00732F40), UINT32_C(0x0039E0FA),
+          UINT32_C(0x0035516B), UINT32_C(0x00D1FF12), UINT32_C(0x007B9904),
+          UINT32_C(0x0000D042), UINT32_C(0x0061BEA7)},
+         {UINT32_C(0x006695E1), UINT32_C(0x0079A990), UINT32_C(0x007D995E),
+          UINT32_C(0x008EA8CE), UINT32_C(0x0024E995), UINT32_C(0x0009615C),
+          UINT32_C(0x003CF6CE), UINT32_C(0x00077F8E), UINT32_C(0x00350417),
+          UINT32_C(0x0062CAC6), UINT32_C(0x0006858A)},
+         {UINT32_C(0x0022B953), UINT32_C(0x003B5DF9), UINT32_C(0x004AEDEE),
+          UINT32_C(0x000CEEC5), UINT32_C(0x003887F6), UINT32_C(0x000254BB),
+          UINT32_C(0x001856BF), UINT32_C(0x00B16F48), UINT32_C(0x00226205),
+          UINT32_C(0x001DDE25), UINT32_C(0x006802A0)}},
+        {{UINT32_C(0x00D029FB), UINT32_C(0x0024FF9C), UINT32_C(0x003692B5),
+          UINT32_C(0x003D6298), UINT32_C(0x005113AA), UINT32_C(0x0016BB74),
+          UINT32_C(0x00207B6F), UINT32_C(0x00CFD145), UINT32_C(0x001A0C73),
+          UINT32_C(0x003DD3F4), UINT32_C(0x004AC618)},
+         {UINT32_C(0x007E0F78), UINT32_C(0x00342407), UINT32_C(0x007BF737),
+          UINT32_C(0x008C11E4), UINT32_C(0x001D19AF), UINT32_C(0x0023A2DD),
+          UINT32_C(0x00538E8D), UINT32_C(0x00026531), UINT32_C(0x002A0077),
+          UINT32_C(0x002FBD3B), UINT32_C(0x000D23EE)},
+         {UINT32_C(0x009B883D), UINT32_C(0x000C8276), UINT32_C(0x006F819D),
+          UINT32_C(0x00FC2912), UINT32_C(0x00382987), UINT32_C(0x007E7030),
+          UINT32_C(0x003EF8E1), UINT32_C(0x00E2007A), UINT32_C(0x0008D395),
+          UINT32_C(0x003F0615), UINT32_C(0x00063C97)}},
+        {{UINT32_C(0x00156CDE), UINT32_C(0x007EA553), UINT32_C(0x004022D6),
+          UINT32_C(0x00DFB476), UINT32_C(0x000AA93D), UINT32_C(0x0075AAD5),
+          UINT32_C(0x005CA989), UINT32_C(0x00F4319E), UINT32_C(0x006F4102),
+          UINT32_C(0x002EBD52), UINT32_C(0x004C0F6F)},
+         {UINT32_C(0x002F3ABE), UINT32_C(0x002C0332), UINT32_C(0x000C7B65),
+          UINT32_C(0x00E76C78), UINT32_C(0x002AEA4E), UINT32_C(0x00419F87),
+          UINT32_C(0x00340B29), UINT32_C(0x0039375F), UINT32_C(0x005747D0),
+          UINT32_C(0x002FBD65), UINT32_C(0x0056D9BF)},
+         {UINT32_C(0x00F9E607), UINT32_C(0x00092305), UINT32_C(0x005A5130),
+          UINT32_C(0x00B7A777), UINT32_C(0x00393B42), UINT32_C(0x002198A4),
+          UINT32_C(0x0044F3BE), UINT32_C(0x00B56C11), UINT32_C(0x000C5006),
+          UINT32_C(0x0014F3D3), UINT32_C(0x00204C61)}},
+        {{UINT32_C(0x00AA29BE), UINT32_C(0x00452FB8), UINT32_C(0x000DF2B9),
+          UINT32_C(0x00F57AEA), UINT32_C(0x00309807), UINT32_C(0x0039FB85),
+          UINT32_C(0x00505F6F), UINT32_C(0x00C3979A), UINT32_C(0x0037D4C6),
+          UINT32_C(0x0063A3A0), UINT32_C(0x0041BB59)},
+         {UINT32_C(0x00979A22), UINT32_C(0x0011A314), UINT32_C(0x004DCD17),
+          UINT32_C(0x0073157E), UINT32_C(0x007EA111), UINT32_C(0x005CA164),
+          UINT32_C(0x007D14D4), UINT32_C(0x00F4DD95), UINT32_C(0x0065EA29),
+          UINT32_C(0x000A8618), UINT32_C(0x00458E9C)},
+         {UINT32_C(0x00166F58), UINT32_C(0x003902F4), UINT32_C(0x005DF4F1),
+          UINT32_C(0x00FD1412), UINT32_C(0x0065A422), UINT32_C(0x005C9158),
+          UINT32_C(0x007FA83F), UINT32_C(0x001B6003), UINT32_C(0x003E37A1),
+          UINT32_C(0x00558CA7), UINT32_C(0x005F8B80)}},
+        {{UINT32_C(0x0058D515), UINT32_C(0x000E279B), UINT32_C(0x0061A7DC),
+          UINT32_C(0x0030FF7E), UINT32_C(0x0036EF25), UINT32_C(0x00545909),
+          UINT32_C(0x0071356E), UINT32_C(0x009FA397), UINT32_C(0x006064CF),
+          UINT32_C(0x0023899B), UINT32_C(0x0023C04A)},
+         {UINT32_C(0x0070B892), UINT32_C(0x003C225C), UINT32_C(0x00641506),
+          UINT32_C(0x00BC6E0A), UINT32_C(0x0067DF77), UINT32_C(0x001C1328),
+          UINT32_C(0x006FB16A), UINT32_C(0x00DDC3EF), UINT32_C(0x000C0A82),
+          UINT32_C(0x0035BBBF), UINT32_C(0x0018D630)},
+         {UINT32_C(0x00F762A4), UINT32_C(0x006436A9), UINT32_C(0x0068EFB4),
+          UINT32_C(0x00AAEE79), UINT32_C(0x001FA040), UINT32_C(0x005BE9B2),
+          UINT32_C(0x0068C25E), UINT32_C(0x0069171C), UINT32_C(0x0069727D),
+          UINT32_C(0x004D3596), UINT32_C(0x007D2D07)}},
+        {{UINT32_C(0x00E0A6B1), UINT32_C(0x00537BD4), UINT32_C(0x00732E56),
+          UINT32_C(0x00054667), UINT32_C(0x00504F91), UINT32_C(0x005BEA24),
+          UINT32_C(0x003816A4), UINT32_C(0x006CAC1F), UINT32_C(0x00094C1A),
+          UINT32_C(0x007E0D77), UINT32_C(0x001F325B)},
+         {UINT32_C(0x0056C790), UINT32_C(0x00696172), UINT32_C(0x004393F7),
+          UINT32_C(0x0007BC7D), UINT32_C(0x0024008C), UINT32_C(0x00632185),
+          UINT32_C(0x0039D510), UINT32_C(0x00776C63), UINT32_C(0x005303C0),
+          UINT32_C(0x00488334), UINT32_C(0x004A46B9)},
+         {UINT32_C(0x00CAB13C), UINT32_C(0x007B99B0), UINT32_C(0x00716826),
+          UINT32_C(0x0090AADC), UINT32_C(0x003C39E0), UINT32_C(0x0062EF5A),
+          UINT32_C(0x00220C12), UINT32_C(0x004D0B33), UINT32_C(0x004E1E9F),
+          UINT32_C(0x0009FA96), UINT32_C(0x00553213)}},
+        {{UINT32_C(0x00250F6D), UINT32_C(0x007501A6), UINT32_C(0x003B682C),
+          UINT32_C(0x0044D730), UINT32_C(0x00649A14), UINT32_C(0x0032BFCE),
+          UINT32_C(0x0066ADB8), UINT32_C(0x0034ED5B), UINT32_C(0x0043D7B2),
+          UINT32_C(0x0000FFB9), UINT32_C(0x005A4861)},
+         {UINT32_C(0x003B7613), UINT32_C(0x0001D6FB), UINT32_C(0x003D0B17),
+          UINT32_C(0x007E0DC7), UINT32_C(0x005BC5C1), UINT32_C(0x003BB331),
+          UINT32_C(0x0062230B), UINT32_C(0x0061ECC7), UINT32_C(0x005DDB12),
+          UINT32_C(0x002700A7), UINT32_C(0x00258078)},
+         {UINT32_C(0x005856C3), UINT32_C(0x0046B785), UINT32_C(0x002EE0A7),
+          UINT32_C(0x00316F2C), UINT32_C(0x001A3AAB), UINT32_C(0x0069EF00),
+          UINT32_C(0x0002A746), UINT32_C(0x0099DDEA), UINT32_C(0x004753D7),
+          UINT32_C(0x0062170C), UINT32_C(0x004CA608)}},
+        {{UINT32_C(0x0096B8DD), UINT32_C(0x004957F8), UINT32_C(0x007298E2),
+          UINT32_C(0x008A7B5F), UINT32_C(0x0001A2BB), UINT32_C(0x004D7F56),
+          UINT32_C(0x00560362), UINT32_C(0x001642A5), UINT32_C(0x0017F72E),
+          UINT32_C(0x003B6605), UINT32_C(0x00390B61)},
+         {UINT32_C(0x0015F82F), UINT32_C(0x000E8511), UINT32_C(0x00668D3B),
+          UINT32_C(0x00C4B091), UINT32_C(0x003C935D), UINT32_C(0x005D4F5F),
+          UINT32_C(0x0065AFF6), UINT32_C(0x00C88375), UINT32_C(0x00488074),
+          UINT32_C(0x00260091), UINT32_C(0x0032A589)},
+         {UINT32_C(0x00BCD3E4), UINT32_C(0x0073BD2C), UINT32_C(0x00537827),
+          UINT32_C(0x00C860A9), UINT32_C(0x0023CB46), UINT32_C(0x004AF7E7),
+          UINT32_C(0x0055A3FB), UINT32_C(0x00D9298A), UINT32_C(0x002A1C35),
+          UINT32_C(0x001D8443), UINT32_C(0x00625170)}},
+        {{UINT32_C(0x00CC32C8), UINT32_C(0x0025B8DD), UINT32_C(0x0033759B),
+          UINT32_C(0x00B90E61), UINT32_C(0x0053232D), UINT32_C(0x00622CCA),
+          UINT32_C(0x003F2B2B), UINT32_C(0x0012CE87), UINT32_C(0x000FED16),
+          UINT32_C(0x00517920), UINT32_C(0x0026E2BC)},
+         {UINT32_C(0x0033B8DF), UINT32_C(0x006BD2B2), UINT32_C(0x002C06A6),
+          UINT32_C(0x007B255F), UINT32_C(0x0049E009), UINT32_C(0x00109815),
+          UINT32_C(0x0041610E), UINT32_C(0x007AA99D), UINT32_C(0x004D2604),
+          UINT32_C(0x001C2975), UINT32_C(0x00419560)},
+         {UINT32_C(0x00F4C3F1), UINT32_C(0x00358166), UINT32_C(0x0047A4EF),
+          UINT32_C(0x00B32B54), UINT32_C(0x007F5298), UINT32_C(0x0060C7DC),
+          UINT32_C(0x004550B3), UINT32_C(0x00381199), UINT32_C(0x004D1985),
+          UINT32_C(0x003008AD), UINT32_C(0x001E997E)}},
+        {{UINT32_C(0x0080A2DD), UINT32_C(0x0011A8A1), UINT32_C(0x00763776),
+          UINT32_C(0x0037A4E8), UINT32_C(0x002DEFD0), UINT32_C(0x005CC3A3),
+          UINT32_C(0x0002CD3A), UINT32_C(0x003BDE69), UINT32_C(0x000D3C3B),
+          UINT32_C(0x00468707), UINT32_C(0x002C6250)},
+         {UINT32_C(0x00DC4853), UINT32_C(0x0013FF85), UINT32_C(0x006F92A3),
+          UINT32_C(0x00E2DC5B), UINT32_C(0x002BA1BF), UINT32_C(0x0069003C),
+          UINT32_C(0x00696B4A), UINT32_C(0x001FEA22), UINT32_C(0x00737E75),
+          UINT32_C(0x002DDA93), UINT32_C(0x00682793)},
+         {UINT32_C(0x00792D5C), UINT32_C(0x00756880), UINT32_C(0x0016DEDC),
+          UINT32_C(0x00132FF7), UINT32_C(0x0028F65F), UINT32_C(0x00687D6B),
+          UINT32_C(0x0042DB10), UINT32_C(0x00F60F17), UINT32_C(0x00244567),
+          UINT32_C(0x005EA7EE), UINT32_C(0x00680EE7)}},
+        {{UINT32_C(0x0017AD54), UINT32_C(0x00226170), UINT32_C(0x00248F16),
+          UINT32_C(0x00E68159), UINT32_C(0x001F85B5), UINT32_C(0x005AEC69),
+          UINT32_C(0x00207C21), UINT32_C(0x0080BD65), UINT32_C(0x0072C461),
+          UINT32_C(0x000826BF), UINT32_C(0x00721CFE)},
+         {UINT32_C(0x00221394), UINT32_C(0x000F6241), UINT32_C(0x00312D0B),
+          UINT32_C(0x007310BE), UINT32_C(0x006D18ED), UINT32_C(0x0009B7DC),
+          UINT32_C(0x0002ADC6), UINT32_C(0x009D4B71), UINT32_C(0x00652C01),
+          UINT32_C(0x001193C0), UINT32_C(0x006CDFD9)},
+         {UINT32_C(0x00441B95), UINT32_C(0x005F316E), UINT32_C(0x00055A1A),
+          UINT32_C(0x008ABFDB), UINT32_C(0x0050B1C9), UINT32_C(0x00219EE2),
+          UINT32_C(0x003C70AE), UINT32_C(0x004C49AE), UINT32_C(0x00791825),
+          UINT32_C(0x004EA87D), UINT32_C(0x001C346C)}},
+        {{UINT32_C(0x00633E8B), UINT32_C(0x000D64E6), UINT32_C(0x0043AD57),
+          UINT32_C(0x0056000C), UINT32_C(0x0022A710), UINT32_C(0x001CF6E7),
+          UINT32_C(0x0061C894), UINT32_C(0x0029FCC0), UINT32_C(0x0063A2A7),
+          UINT32_C(0x002F042F), UINT32_C(0x006D9C7B)},
+         {UINT32_C(0x00C0114A), UINT32_C(0x00054C9F), UINT32_C(0x00014A30),
+          UINT32_C(0x008750DC), UINT32_C(0x0014F782), UINT32_C(0x005BDDB7),
+          UINT32_C(0x0048FFA9), UINT32_C(0x006F51B9), UINT32_C(0x000ACD25),
+          UINT32_C(0x001C791B), UINT32_C(0x006F027E)},
+         {UINT32_C(0x0059BE30), UINT32_C(0x0004C8AA), UINT32_C(0x001EEFA6),
+          UINT32_C(0x00969A3F), UINT32_C(0x002541FF), UINT32_C(0x00021EAE),
+          UINT32_C(0x002335EF), UINT32_C(0x007B34F0), UINT32_C(0x005812F4),
+          UINT32_C(0x0035961A), UINT32_C(0x0018E93C)}},
+        {{UINT32_C(0x003D4ACA), UINT32_C(0x002344E6), UINT32_C(0x005AE7C9),
+          UINT32_C(0x00C22F17), UINT32_C(0x0053F5F0), UINT32_C(0x0037ABD3),
+          UINT32_C(0x0064DD19), UINT32_C(0x00A742A2), UINT32_C(0x00762397),
+          UINT32_C(0x000E9EEF), UINT32_C(0x00047D34)},
+         {UINT32_C(0x00E9B3BB), UINT32_C(0x00532D39), UINT32_C(0x004E866E),
+          UINT32_C(0x00F7D682), UINT32_C(0x002ACA85), UINT32_C(0x00552578),
+          UINT32_C(0x0033FA4B), UINT32_C(0x00977782), UINT32_C(0x003D410E),
+          UINT32_C(0x0003548B), UINT32_C(0x0054FC74)},
+         {UINT32_C(0x00C8BBFF), UINT32_C(0x0013F345), UINT32_C(0x0058E472),
+          UINT32_C(0x00274591), UINT32_C(0x005597A6), UINT32_C(0x0013E285),
+          UINT32_C(0x0057D3BB), UINT32_C(0x0092D7C6), UINT32_C(0x00500460),
+          UINT32_C(0x00488CB7), UINT32_C(0x006800FE)}},
+        {{UINT32_C(0x0000AA79), UINT32_C(0x002C098B), UINT32_C(0x00759A30),
+          UINT32_C(0x002C7125), UINT32_C(0x00199DDC), UINT32_C(0x0075546E),
+          UINT32_C(0x00559A27), UINT32_C(0x00DF24BF), UINT32_C(0x00151F99),
+          UINT32_C(0x003C4C5B), UINT32_C(0x002EAF89)},
+         {UINT32_C(0x00DC697B), UINT32_C(0x00751FA8), UINT32_C(0x0077C24F),
+          UINT32_C(0x0038C1A6), UINT32_C(0x0013EBD3), UINT32_C(0x0023A808),
+          UINT32_C(0x000B2621), UINT32_C(0x00C685DB), UINT32_C(0x00581796),
+          UINT32_C(0x0057D263), UINT32_C(0x0004E256)},
+         {UINT32_C(0x00E52262), UINT32_C(0x001D22BD), UINT32_C(0x006A26A0),
+          UINT32_C(0x0085E1CA), UINT32_C(0x003EC7B7), UINT32_C(0x002FFB62),
+          UINT32_C(0x0067736A), UINT32_C(0x00EF293F), UINT32_C(0x0061C4FE),
+          UINT32_C(0x00730AA3), UINT32_C(0x000EB2F6)}},
+        {{UINT32_C(0x00641095), UINT32_C(0x0058D612), UINT32_C(0x000AAE18),
+          UINT32_C(0x0029DFF3), UINT32_C(0x00001553), UINT32_C(0x007F0860),
+          UINT32_C(0x000F0ED0), UINT32_C(0x00A86E36), UINT32_C(0x000DBF80),
+          UINT32_C(0x0031F7B2), UINT32_C(0x00229559)},
+         {UINT32_C(0x003D6EA7), UINT32_C(0x00417EB0), UINT32_C(0x0030EED3),
+          UINT32_C(0x0076B04C), UINT32_C(0x006404B7), UINT32_C(0x00647E89),
+          UINT32_C(0x0038E725), UINT32_C(0x00955982), UINT32_C(0x0044F11A),
+          UINT32_C(0x0030EB34), UINT32_C(0x0060A0E2)},
+         {UINT32_C(0x00FFBA33), UINT32_C(0x00576743), UINT32_C(0x007B4196),
+          UINT32_C(0x0065FCEB), UINT32_C(0x00147F68), UINT32_C(0x00753F2E),
+          UINT32_C(0x002CE14E), UINT32_C(0x004CC9FA), UINT32_C(0x0008D7B1),
+          UINT32_C(0x004C33D1), UINT32_C(0x0045EB11)}},
+    },
+    {
+        {{UINT32_C(0x00178112), UINT32_C(0x004144EF), UINT32_C(0x0015E475),
+          UINT32_C(0x00280993), UINT32_C(0x003DFA25), UINT32_C(0x00316893),
+          UINT32_C(0x0013A505), UINT32_C(0x002E8E8C), UINT32_C(0x001BE3B1),
+          UINT32_C(0x004A5354), UINT32_C(0x005737B1)},
+         {UINT32_C(0x005EE99B), UINT32_C(0x00738EC3), UINT32_C(0x000EEBF1),
+          UINT32_C(0x006EAA11), UINT32_C(0x006EC5B6), UINT32_C(0x00137DDE),
+          UINT32_C(0x0077237C), UINT32_C(0x00B7F2C7), UINT32_C(0x006D2A26),
+          UINT32_C(0x005B944F), UINT32_C(0x0077B72B)},
+         {UINT32_C(0x00288C6E), UINT32_C(0x005166D7), UINT32_C(0x0048279B),
+          UINT32_C(0x009E9476), UINT32_C(0x0021C271), UINT32_C(0x0071BEB4),
+          UINT32_C(0x004E74B9), UINT32_C(0x00F2F6D4), UINT32_C(0x00498EF2),
+          UINT32_C(0x00769444), UINT32_C(0x00393F71)}},
+        {{UINT32_C(0x00CF7E6B), UINT32_C(0x001C84EE), UINT32_C(0x00375656),
+          UINT32_C(0x00982B0D), UINT32_C(0x0015275A), UINT32_C(0x0037C644),
+          UINT32_C(0x00419783), UINT32_C(0x00E2FD75), UINT32_C(0x005830C6),
+          UINT32_C(0x003DDDEF), UINT32_C(0x001D4931)},
+         {UINT32_C(0x006F71D9), UINT32_C(0x0013F2A3), UINT32_C(0x007E4CC9),
+          UINT32_C(0x0048B895), UINT32_C(0x006E0B00), UINT32_C(0x00535CF4),
+          UINT32_C(0x004F83CB), UINT32_C(0x00E80D3A), UINT32_C(0x002893B7),
+          UINT32_C(0x0039AF63), UINT32_C(0x00756654)},
+         {UINT32_C(0x002DD089), UINT32_C(0x005B7963), UINT32_C(0x00147EEF),
+          UINT32_C(0x008FE97D), UINT32_C(0x0074DE7F), UINT32_C(0x0038F059),
+          UINT32_C(0x00424B8B), UINT32_C(0x00510FF5), UINT32_C(0x002A9DB5),
+          UINT32_C(0x0040775A), UINT32_C(0x0023EC28)}},
+        {{UINT32_C(0x004FFE86), UINT32_C(0x005A8445), UINT32_C(0x007B9BE4),
+          UINT32_C(0x003CB951), UINT32_C(0x003DA9E0), UINT32_C(0x000B053F),
+          UINT32_C(0x0068F80D), UINT32_C(0x008B792C), UINT32_C(0x006E5C50),
+          UINT32_C(0x00709425), UINT32_C(0x00695574)},
+         {UINT32_C(0x0055360D), UINT32_C(0x00304400), UINT32_C(0x007E3E9A),
+          UINT32_C(0x00042D95), UINT32_C(0x006A420D), UINT32_C(0x000DE570),
+          UINT32_C(0x0012F771), UINT32_C(0x007BF1D1), UINT32_C(0x005E64D1),
+          UINT32_C(0x001011DE), UINT32_C(0x000FD8B3)},
+         {UINT32_C(0x0035FF69), UINT32_C(0x0066F82F), UINT32_C(0x00765895),
+          UINT32_C(0x00F5BC13), UINT32_C(0x00559AFC), UINT32_C(0x00165B92),
+          UINT32_C(0x001A82F9), UINT32_C(0x004B92A4), UINT32_C(0x006FF84F),
+          UINT32_C(0x000C3427), UINT32_C(0x0062C571)}},
+        {{UINT32_C(0x001B13D2), UINT32_C(0x001AB645), UINT32_C(0x007C40CE),
+          UINT32_C(0x007EA6AF), UINT32_C(0x00411986), UINT32_C(0x00393A3E),
+          UINT32_C(0x003CE614), UINT32_C(0x006D6293), UINT32_C(0x003D6770),
+          UINT32_C(0x003CBAD3), UINT32_C(0x005F61B3)},
+         {UINT32_C(0x007F1514), UINT32_C(0x00563424), UINT32_C(0x00333C42),
+          UINT32_C(0x0091B025), UINT32_C(0x000AC50C), UINT32_C(0x00572275),
+          UINT32_C(0x00592815), UINT32_C(0x002DB85E), UINT32_C(0x0012ADB7),
+          UINT32_C(0x00696D1D), UINT32_C(0x000924E7)},
+         {UINT32_C(0x008A69B5), UINT32_C(0x0042A7C5), UINT32_C(0x007608DB),
+          UINT32_C(0x00E7F3E0), UINT32_C(0x005993D5), UINT32_C(0x0004961E),
+          UINT32_C(0x0076A481), UINT32_C(0x00A7DA96), UINT32_C(0x007E1606),
+          UINT32_C(0x00752F27), UINT32_C(0x006EA269)}},
+        {{UINT32_C(0x00E74931), UINT32_C(0x002B3168), UINT32_C(0x0062191F),
+          UINT32_C(0x007F0A08), UINT32_C(0x00407602), UINT32_C(0x005E821F),
+          UINT32_C(0x004B971A), UINT32_C(0x009FAA40), UINT32_C(0x00617415),
+          UINT32_C(0x0019AF4C), UINT32_C(0x000A1378)},
+         {UINT32_C(0x001CF746), UINT32_C(0x00698B21), UINT32_C(0x003AF2B3),
+          UINT32_C(0x0018D41A), UINT32_C(0x00032EA5), UINT32_C(0x006A2A53),
+          UINT32_C(0x0021B364), UINT32_C(0x004A1660), UINT32_C(0x00524EDD),
+          UINT32_C(0x00537B8F), UINT32_C(0x0038BE03)},
+         {UINT32_C(0x006C56DF), UINT32_C(0x0042F0FB), UINT32_C(0x000A9D1A),
+          UINT32_C(0x007BE0C1), UINT32_C(0x006A26F4), UINT32_C(0x0034FD46),
+          UINT32_C(0x005C512E), UINT32_C(0x00F3B887), UINT32_C(0x00741791),
+          UINT32_C(0x000B6109), UINT32_C(0x007ED098)}},
+        {{UINT32_C(0x002F95C3), UINT32_C(0x0075A30D), UINT32_C(0x004F8EA8),
+          UINT32_C(0x00D36AE9), UINT32_C(0x003B9F94), UINT32_C(0x0050D27A),
+          UINT32_C(0x0047AFFF), UINT32_C(0x00FF1072), UINT32_C(0x006EBA0D),
+          UINT32_C(0x007147B6), UINT32_C(0x007C9C06)},
+         {UINT32_C(0x007D647C), UINT32_C(0x00491D36), UINT32_C(0x003D3169),
+          UINT32_C(0x00E48196), UINT32_C(0x005C2776), UINT32_C(0x0071BB7A),
+          UINT32_C(0x000E3716), UINT32_C(0x00EEE6BA), UINT32_C(0x007A2FD6),
+          UINT32_C(0x0066EADE), UINT32_C(0x006A3D3C)},
+         {UINT32_C(0x00D712D2), UINT32_C(0x0030AFB5), UINT32_C(0x000B6DE0),
+          UINT32_C(0x00CA9B95), UINT32_C(0x003CB508), UINT32_C(0x0002574C),
+          UINT32_C(0x004F7664), UINT32_C(0x008BDA7C), UINT32_C(0x0052F4AE),
+          UINT32_C(0x007C9C6D), UINT32_C(0x00640826)}},
+        {{UINT32_C(0x00E39A36), UINT32_C(0x004E864A), UINT32_C(0x0041824A),
+          UINT32_C(0x0014E9D0), UINT32_C(0x006B0DD5), UINT32_C(0x003F0191),
+          UINT32_C(0x006B3AA8), UINT32_C(0x000F82B6), UINT32_C(0x00646713),
+          UINT32_C(0x004411BF), UINT32_C(0x006EC066)},
+         {UINT32_C(0x0055A118), UINT32_C(0x001D8588), UINT32_C(0x00098B01),
+          UINT32_C(0x005B872B), UINT32_C(0x000612D7), UINT32_C(0x0015BB6C),
+          UINT32_C(0x003EA8DE), UINT32_C(0x00492CBB), UINT32_C(0x0002B390),
+          UINT32_C(0x002F64C6), UINT32_C(0x00309519)},
+         {UINT32_C(0x00BCD94C), UINT32_C(0x000453AB), UINT32_C(0x0004DF45),
+          UINT32_C(0x000AF59E), UINT32_C(0x00224611), UINT32_C(0x0046CB1F),
+          UINT32_C(0x0037D384), UINT32_C(0x00704C79), UINT32_C(0x004E9EAE),
+          UINT32_C(0x005F6C61), UINT32_C(0x0033B91C)}},
+        {{UINT32_C(0x00C4EB7B), UINT32_C(0x001BB1AE), UINT32_C(0x000DF746),
+          UINT32_C(0x002F5C66), UINT32_C(0x00386901), UINT32_C(0x004503D0),
+          UINT32_C(0x00243C4F), UINT32_C(0x00F631A8), UINT32_C(0x0072318C),
+          UINT32_C(0x0067781F), UINT32_C(0x0062555B)},
+         {UINT32_C(0x009DF20B), UINT32_C(0x007957AF), UINT32_C(0x0048E896),
+          UINT32_C(0x00266C31), UINT32_C(0x00606385), UINT32_C(0x00182ADB),
+          UINT32_C(0x000F2D0A), UINT32_C(0x0047F1DB), UINT32_C(0x00612A5A),
+          UINT32_C(0x00585C22), UINT32_C(0x00138DA1)},
+         {UINT32_C(0x002B00C5), UINT32_C(0x007C31F7), UINT32_C(0x0027D051),
+          UINT32_C(0x009836BE), UINT32_C(0x005DD824), UINT32_C(0x003C85C8),
+          UINT32_C(0x00037B92), UINT32_C(0x005A36F0), UINT32_C(0x00072882),
+          UINT32_C(0x00556F25), UINT32_C(0x005C74C4)}},
+        {{UINT32_C(0x00200CDA), UINT32_C(0x00142D7E), UINT32_C(0x000C5F19),
+          UINT32_C(0x0033CB24), UINT32_C(0x0062D137), UINT32_C(0x00370C3B),
+          UINT32_C(0x007C19E3), UINT32_C(0x002C37A4), UINT32_C(0x0056C3B7),
+          UINT32_C(0x0012591E), UINT32_C(0x005C6251)},
+         {UINT32_C(0x00B8567F), UINT32_C(0x007942F3), UINT32_C(0x002971B5),
+          UINT32_C(0x007509BB), UINT32_C(0x004489A3), UINT32_C(0x00090D38),
+          UINT32_C(0x0049BA67), UINT32_C(0x00A295D7), UINT32_C(0x0006DE00),
+          UINT32_C(0x005529F0), UINT32_C(0x0068D340)},
+         {UINT32_C(0x008E1FEE), UINT32_C(0x002BADB8), UINT32_C(0x0060B20C),
+          UINT32_C(0x00DE49F8), UINT32_C(0x0006AE06), UINT32_C(0x005BAE81),
+          UINT32_C(0x00153FDC), UINT32_C(0x002DCC1B), UINT32_C(0x000F1E26),
+          UINT32_C(0x00005870), UINT32_C(0x003CB27C)}},
+        {{UINT32_C(0x00BA06D8), UINT32_C(0x0028ABA3), UINT32_C(0x004A0A47),
+          UINT32_C(0x000E951E), UINT32_C(0x00609146), UINT32_C(0x00213816),
+          UINT32_C(0x005657D3), UINT32_C(0x00404103), UINT32_C(0x0041BEE3),
+          UINT32_C(0x001CC688), UINT32_C(0x003A758E)},
+         {UINT32_C(0x00F8BBE3), UINT32_C(0x00641D00), UINT32_C(0x00119DD5),
+          UINT32_C(0x004610E6), UINT32_C(0x0042B1F2), UINT32_C(0x00065991),
+          UINT32_C(0x00400456), UINT32_C(0x0031F869), UINT32_C(0x00467CE5),
+          UINT32_C(0x002ACA8A), UINT32_C(0x004AE71F)},
+         {UINT32_C(0x00E75B70), UINT32_C(0x0045C331), UINT32_C(0x002C67D3),
+          UINT32_C(0x002BAD62), UINT32_C(0x006D4C0D), UINT32_C(0x003E98E0),
+          UINT32_C(0x0025DD15), UINT32_C(0x001652BE), UINT32_C(0x00138D53),
+          UINT32_C(0x004CC0B3), UINT32_C(0x002588D3)}},
+        {{UINT32_C(0x0015F134), UINT32_C(0x00758619), UINT32_C(0x005ABA25),
+          UINT32_C(0x008AE40E), UINT32_C(0x00678EB8), UINT32_C(0x0001E6CD),
+          UINT32_C(0x006265B1), UINT32_C(0x00D3C52B), UINT32_C(0x002372C9),
+          UINT32_C(0x0008A5C9), UINT32_C(0x006ACFA4)},
+         {UINT32_C(0x009F8482), UINT32_C(0x0045994C), UINT32_C(0x005989D0),
+          UINT32_C(0x0048FFCC), UINT32_C(0x00242063), UINT32_C(0x000A8DD0),
+          UINT32_C(0x005A0F78), UINT32_C(0x000518C7), UINT32_C(0x0039D0FB),
+          UINT32_C(0x00116011), UINT32_C(0x0074BBE1)},
+         {UINT32_C(0x008817CF), UINT32_C(0x0035F03B), UINT32_C(0x0008E964),
+          UINT32_C(0x00DBB160), UINT32_C(0x0017FB04), UINT32_C(0x006F931C),
+          UINT32_C(0x0024585A), UINT32_C(0x0043E352), UINT32_C(0x005B3B89),
+          UINT32_C(0x0041A78E), UINT32_C(0x004EE10D)}},
+        {{UINT32_C(0x00B5B594), UINT32_C(0x00238C49), UINT32_C(0x0061A952),
+          UINT32_C(0x00547564), UINT32_C(0x0017E9B6), UINT32_C(0x004A85C1),
+          UINT32_C(0x00092964), UINT32_C(0x00E0030F), UINT32_C(0x0002C024),
+          UINT32_C(0x006FDEC5), UINT32_C(0x003414A1)},
+         {UINT32_C(0x005F899E), UINT32_C(0x00317B47), UINT32_C(0x00390FE7),
+          UINT32_C(0x0081FD30), UINT32_C(0x00666C28), UINT32_C(0x00310591),
+          UINT32_C(0x000A02ED), UINT32_C(0x00C5E37F), UINT32_C(0x00200BEA),
+          UINT32_C(0x004E58B8), UINT32_C(0x0006090A)},
+         {UINT32_C(0x009AED9F), UINT32_C(0x006353DF), UINT32_C(0x004C8001),
+          UINT32_C(0x00684029), UINT32_C(0x00278C84), UINT32_C(0x00476EFD),
+          UINT32_C(0x002269BF), UINT32_C(0x0061CFF8), UINT32_C(0x006308BB),
+          UINT32_C(0x0038C1A8), UINT32_C(0x000ED4DD)}},
+        {{UINT32_C(0x0096CDC1), UINT32_C(0x004A93DE), UINT32_C(0x0017141A),
+          UINT32_C(0x000CAE27), UINT32_C(0x00633C72), UINT32_C(0x001DD494),
+          UINT32_C(0x005D5019), UINT32_C(0x007B392A), UINT32_C(0x004E6770),
+          UINT32_C(0x0057CDFA), UINT32_C(0x0070ED69)},
+         {UINT32_C(0x00A5AAC7), UINT32_C(0x0017F8BA), UINT32_C(0x0012D3F8),
+          UINT32_C(0x00D2AEF7), UINT32_C(0x00203DAB), UINT32_C(0x001A6E08),
+          UINT32_C(0x000F9D07), UINT32_C(0x003CEB53), UINT32_C(0x001F11A2),
+          UINT32_C(0x00146100), UINT32_C(0x002BF207)},
+         {UINT32_C(0x00AE2A02), UINT32_C(0x003FEF01), UINT32_C(0x00095E8C),
+          UINT32_C(0x001BC27F), UINT32_C(0x00579C72), UINT32_C(0x007785A3),
+          UINT32_C(0x000CF4D0), UINT32_C(0x00B77DC2), UINT32_C(0x00771FCC),
+          UINT32_C(0x006D028D), UINT32_C(0x0072A687)}},
+        {{UINT32_C(0x00FB5F0C), UINT32_C(0x000952F3), UINT32_C(0x0011F5D5),
+          UINT32_C(0x0065371A), UINT32_C(0x006D7E88), UINT32_C(0x0054191C),
+          UINT32_C(0x0076F7CF), UINT32_C(0x006B48DC), UINT32_C(0x006FD352),
+          UINT32_C(0x004F1AA7), UINT32_C(0x007F5B13)},
+         {UINT32_C(0x00606E6E), UINT32_C(0x00363808), UINT32_C(0x00407081),
+          UINT32_C(0x0004FC3F), UINT32_C(0x00448579), UINT32_C(0x005D29C4),
+          UINT32_C(0x001A127D), UINT32_C(0x005B9EEE), UINT32_C(0x00653D8E),
+          UINT32_C(0x0028A4DF), UINT32_C(0x00628593)},
+         {UINT32_C(0x00AC7820), UINT32_C(0x0030A9D3), UINT32_C(0x0071BE3A),
+          UINT32_C(0x005FB4E5), UINT32_C(0x002512AE), UINT32_C(0x006EAE7D),
+          UINT32_C(0x001D9B40), UINT32_C(0x005C1369), UINT32_C(0x00786C22),
+          UINT32_C(0x0047AFEE), UINT32_C(0x00784A75)}},
+        {{UINT32_C(0x00213EE3), UINT32_C(0x006F9827), UINT32_C(0x0021482B),
+          UINT32_C(0x00E1390C), UINT32_C(0x00560D0B), UINT32_C(0x0050DD23),
+          UINT32_C(0x0064A528), UINT32_C(0x00BA7CFF), UINT32_C(0x002D8C84),
+          UINT32_C(0x0016175A), UINT32_C(0x005016A4)},
+         {UINT32_C(0x00776C25), UINT32_C(0x000CB993), UINT32_C(0x0023BE80),
+          UINT32_C(0x005A52FE), UINT32_C(0x002D117A), UINT32_C(0x00199CDB),
+          UINT32_C(0x0052EB5E), UINT32_C(0x008D6F49), UINT32_C(0x007D7649),
+          UINT32_C(0x0027048D), UINT32_C(0x001A9C36)},
+         {UINT32_C(0x00632283), UINT32_C(0x00211DC7), UINT32_C(0x005DFA7C),
+          UINT32_C(0x00F9046B), UINT32_C(0x00588CD6), UINT32_C(0x003FAF32),
+          UINT32_C(0x007F4AED), UINT32_C(0x00575BC2), UINT32_C(0x007DBB8A),
+          UINT32_C(0x0005122F), UINT32_C(0x006253CC)}},
+        {{UINT32_C(0x000D1BD2), UINT32_C(0x001AF81A), UINT32_C(0x0037C285),
+          UINT32_C(0x00D871E6), UINT32_C(0x0062340E), UINT32_C(0x0071909A),
+          UINT32_C(0x000F0E01), UINT32_C(0x0076262E), UINT32_C(0x007BF9C3),
+          UINT32_C(0x007F40FC), UINT32_C(0x000B2BC5)},
+         {UINT32_C(0x002724D3), UINT32_C(0x00504EE8), UINT32_C(0x00609955),
+          UINT32_C(0x0075E11A), UINT32_C(0x000CB36C), UINT32_C(0x0056D4AF),
+          UINT32_C(0x000E59E9), UINT32_C(0x003E6912), UINT32_C(0x00789AD2),
+          UINT32_C(0x00575219), UINT32_C(0x007D7B6C)},
+         {UINT32_C(0x0072E3DB), UINT32_C(0x0050D327), UINT32_C(0x000F9230),
+          UINT32_C(0x00AFB63A), UINT32_C(0x0008E760), UINT32_C(0x0059EB9D),
+          UINT32_C(0x003A4CC1), UINT32_C(0x00C1CE75), UINT32_C(0x00497AD2),
+          UINT32_C(0x006BAB27), UINT32_C(0x002B8174)}},
+    },
+    {
+        {{UINT32_C(0x00C72DC5), UINT32_C(0x00771E4C), UINT32_C(0x007FE32B),
+          UINT32_C(0x00502045), UINT32_C(0x00047BCA), UINT32_C(0x005E99DD),
+          UINT32_C(0x0062584D), UINT32_C(0x00C26155), UINT32_C(0x007641CF),
+          UINT32_C(0x00519072), UINT32_C(0x0008A95B)},
+         {UINT32_C(0x00B1CB39), UINT32_C(0x000965FD), UINT32_C(0x0031E4AF),
+          UINT32_C(0x0030360A), UINT32_C(0x001C457C), UINT32_C(0x003BB754),
+          UINT32_C(0x005CEAE2), UINT32_C(0x000B7485), UINT32_C(0x00211EE1),
+          UINT32_C(0x005286E0), UINT32_C(0x00797D03)},
+         {UINT32_C(0x00220D40), UINT32_C(0x004CA0AD), UINT32_C(0x0021A77A),
+          UINT32_C(0x00364CE1), UINT32_C(0x006676A3), UINT32_C(0x0038EE70),
+          UINT32_C(0x001B66BF), UINT32_C(0x00A09800), UINT32_C(0x00714B36),
+          UINT32_C(0x0068F47C), UINT32_C(0x000FBD61)}},
+        {{UINT32_C(0x00AADA87), UINT32_C(0x001E516D), UINT32_C(0x001DDDC1),
+          UINT32_C(0x002496F0), UINT32_C(0x0079D73B), UINT32_C(0x006E84CA),
+          UINT32_C(0x0001F77F), UINT32_C(0x004ED6A4), UINT32_C(0x004F9268),
+          UINT32_C(0x002C2D9B), UINT32_C(0x00452C79)},
+         {UINT32_C(0x005C5FB5), UINT32_C(0x001401F9), UINT32_C(0x001619FE),
+          UINT32_C(0x0073A62F), UINT32_C(0x0027A568), UINT32_C(0x00410CA3),
+          UINT32_C(0x007090B1), UINT32_C(0x0088392F), UINT32_C(0x00025F8C),
+          UINT32_C(0x00470FB6), UINT32_C(0x00400202)},
+         {UINT32_C(0x00FB4AF5), UINT32_C(0x004A6D33), UINT32_C(0x0067B3D7),
+          UINT32_C(0x006C233F), UINT32_C(0x006659A6), UINT32_C(0x003370F0),
+          UINT32_C(0x0071C750), UINT32_C(0x007CF562), UINT32_C(0x006B187A),
+          UINT32_C(0x0044EC7F), UINT32_C(0x00780B9E)}},
+        {{UINT32_C(0x007A1682), UINT32_C(0x00775D09), UINT32_C(0x000CA759),
+          UINT32_C(0x005178EB), UINT32_C(0x001128C9), UINT32_C(0x00453CCE),
+          UINT32_C(0x002B94ED), UINT32_C(0x00A6541E), UINT32_C(0x0029A8C4),
+          UINT32_C(0x0029D1E3), UINT32_C(0x00318CEC)},
+         {UINT32_C(0x002EA810), UINT32_C(0x002E2D2A), UINT32_C(0x00760A1E),
+          UINT32_C(0x00768B26), UINT32_C(0x0012C353), UINT32_C(0x007A143A),
+          UINT32_C(0x007F1485), UINT32_C(0x002F5E05), UINT32_C(0x006543DE),
+          UINT32_C(0x0005DA47), UINT32_C(0x0062D462)},
+         {UINT32_C(0x0056C417), UINT32_C(0x0020F8E7), UINT32_C(0x0021B1CB),
+          UINT32_C(0x00DEBC01), UINT32_C(0x0049F124), UINT32_C(0x0063A3EF),
+          UINT32_C(0x006B1EFC), UINT32_C(0x005DD025), UINT32_C(0x00579F7C),
+          UINT32_C(0x005282E6), UINT32_C(0x003743A4)}},
+        {{UINT32_C(0x00D850C1), UINT32_C(0x004304DD), UINT32_C(0x0031CA95),
+          UINT32_C(0x00ABA381), UINT32_C(0x00557845), UINT32_C(0x00170B2A),
+          UINT32_C(0x00269F01), UINT32_C(0x00F14562), UINT32_C(0x00177E37),
+          UINT32_C(0x0000AEF5), UINT32_C(0x0016E67A)},
+         {UINT32_C(0x008429CD), UINT32_C(0x004F3F15), UINT32_C(0x00310961),
+          UINT32_C(0x00018EC0), UINT32_C(0x0017C520), UINT32_C(0x005A3C1E),
+          UINT32_C(0x00069B19), UINT32_C(0x00BBC85D), UINT32_C(0x006A8255),
+          UINT32_C(0x0005A237), UINT32_C(0x00671035)},
+         {UINT32_C(0x00397785), UINT32_C(0x000B8DE6), UINT32_C(0x00034C5B),
+          UINT32_C(0x00335B11), UINT32_C(0x005C7862), UINT32_C(0x002482C8),
+          UINT32_C(0x0037A568), UINT32_C(0x00679E39), UINT32_C(0x0056810F),
+          UINT32_C(0x0000E8F6), UINT32_C(0x003D1330)}},
+        {{UINT32_C(0x00FAF1CD), UINT32_C(0x0060A8C5), UINT32_C(0x00508B76),
+          UINT32_C(0x004F108E), UINT32_C(0x0054D331), UINT32_C(0x0027A7E8),
+          UINT32_C(0x00346905), UINT32_C(0x00450F84), UINT32_C(0x001D3E9C),
+          UINT32_C(0x000B0762), UINT32_C(0x00032396)},
+         {UINT32_C(0x004FAD75), UINT32_C(0x00013909), UINT32_C(0x00279AA7),
+          UINT32_C(0x00661D96), UINT32_C(0x0011C8F3), UINT32_C(0x004E1E02),
+          UINT32_C(0x0079B899), UINT32_C(0x00219A22), UINT32_C(0x007D00F4),
+          UINT32_C(0x0073A047), UINT32_C(0x00112302)},
+         {UINT32_C(0x00C06EE2), UINT32_C(0x003FE63F), UINT32_C(0x0041BD79),
+          UINT32_C(0x00096C7C), UINT32_C(0x00716A9D), UINT32_C(0x00616E56),
+          UINT32_C(0x003FA2BD), UINT32_C(0x006CC575), UINT32_C(0x0077B6FA),
+          UINT32_C(0x005D8484), UINT32_C(0x004EC884)}},
+        {{UINT32_C(0x00EEDE54), UINT32_C(0x0060BECB), UINT32_C(0x00454F6A),
+          UINT32_C(0x007CA867), UINT32_C(0x003128D5), UINT32_C(0x001A6257),
+          UINT32_C(0x001C9D64), UINT32_C(0x0047D7B2), UINT32_C(0x0048D9D4),
+          UINT32_C(0x00387A36), UINT32_C(0x0030150F)},
+         {UINT32_C(0x00869B40), UINT32_C(0x004423AB), UINT32_C(0x006A0C98),
+          UINT32_C(0x004BE18D), UINT32_C(0x000680E9), UINT32_C(0x006F03C8),
+          UINT32_C(0x0035097A), UINT32_C(0x00163A09), UINT32_C(0x00036511),
+          UINT32_C(0x002020C4), UINT32_C(0x0032F125)},
+         {UINT32_C(0x006499A6), UINT32_C(0x0032DBAB), UINT32_C(0x0050F205),
+          UINT32_C(0x00127C8C), UINT32_C(0x0071C444), UINT32_C(0x00610493),
+          UINT32_C(0x0057B4B2), UINT32_C(0x00B0B2CA), UINT32_C(0x0034A155),
+          UINT32_C(0x006D7797), UINT32_C(0x0063E346)}},
+        {{UINT32_C(0x0030C824), UINT32_C(0x00393557), UINT32_C(0x002AA53A),
+          UINT32_C(0x00232B1F), UINT32_C(0x007E74FF), UINT32_C(0x0058171D),
+          UINT32_C(0x000328E4), UINT32_C(0x0085BA6B), UINT32_C(0x0013D154),
+          UINT32_C(0x0018258C), UINT32_C(0x006FA2B0)},
+         {UINT32_C(0x00C3FCC1), UINT32_C(0x006B3441), UINT32_C(0x005E8829),
+          UINT32_C(0x00B3314C), UINT32_C(0x0004ECB2), UINT32_C(0x006B3C89),
+          UINT32_C(0x003F2F04), UINT32_C(0x0092C88B), UINT32_C(0x001EC53B),
+          UINT32_C(0x0031EA9C), UINT32_C(0x000BDC2A)},
+         {UINT32_C(0x0063FFE8), UINT32_C(0x000EFB74), UINT32_C(0x0015043F),
+          UINT32_C(0x005F290A), UINT32_C(0x001DA041), UINT32_C(0x0060291C),
+          UINT32_C(0x007C2769), UINT32_C(0x00EB677A), UINT32_C(0x0043B7A4),
+          UINT32_C(0x0033A181), UINT32_C(0x003F9D2D)}},
+        {{UINT32_C(0x006CC3EF), UINT32_C(0x002F3089), UINT32_C(0x0061B741),
+          UINT32_C(0x007537D8), UINT32_C(0x00717E80), UINT32_C(0x000BD6BF),
+          UINT32_C(0x003D6972), UINT32_C(0x00BE0A56), UINT32_C(0x007C075B),
+          UINT32_C(0x005C62F6), UINT32_C(0x003CA2DF)},
+         {UINT32_C(0x00171808), UINT32_C(0x005A205B), UINT32_C(0x0005AD96),
+          UINT32_C(0x0058D8E1), UINT32_C(0x00423531), UINT32_C(0x005C11A5),
+          UINT32_C(0x00169496), UINT32_C(0x001AB66A), UINT32_C(0x002F6C8B),
+          UINT32_C(0x00668CFD), UINT32_C(0x006B0027)},
+         {UINT32_C(0x00528A82), UINT32_C(0x002B2713), UINT32_C(0x0079DE04),
+          UINT32_C(0x00EF8CF9), UINT32_C(0x006263B9), UINT32_C(0x00720507),
+          UINT32_C(0x0052404F), UINT32_C(0x003C93E8), UINT32_C(0x00100A85),
+          UINT32_C(0x006D3FFA), UINT32_C(0x003B14B0)}},
+        {{UINT32_C(0x00F84103), UINT32_C(0x002EFED0), UINT32_C(0x004DF3E6),
+          UINT32_C(0x001A7373), UINT32_C(0x004C8064), UINT32_C(0x0032CAAE),
+          UINT32_C(0x000E2E35), UINT32_C(0x00099871), UINT32_C(0x0043615C),
+          UINT32_C(0x005D4D9B), UINT32_C(0x003A809B)},
+         {UINT32_C(0x00688B18), UINT32_C(0x003E6C8B), UINT32_C(0x007DA089),
+          UINT32_C(0x00470987), UINT32_C(0x0006E04D), UINT32_C(0x00346F12),
+          UINT32_C(0x0054964B), UINT32_C(0x001C7FB1), UINT32_C(0x0028F4AF),
+          UINT32_C(0x006ABA8D), UINT32_C(0x007BEAD8)},
+         {UINT32_C(0x00A4DB09), UINT32_C(0x000F021A), UINT32_C(0x000E3BF3),
+          UINT32_C(0x00347724), UINT32_C(0x001CD5E3), UINT32_C(0x00570A82),
+          UINT32_C(0x001A702F), UINT32_C(0x00AF41F7), UINT32_C(0x005573E8),
+          UINT32_C(0x007B6CC3), UINT32_C(0x000E6B2F)}},
+        {{UINT32_C(0x00C4323E), UINT32_C(0x005E5A07), UINT32_C(0x006E0C89),
+          UINT32_C(0x00018D1E), UINT32_C(0x00582AB5), UINT32_C(0x004E8211),
+          UINT32_C(0x0021ED53), UINT32_C(0x006B639D), UINT32_C(0x00505AE2),
+          UINT32_C(0x007DF924), UINT32_C(0x002AA137)},
+         {UINT32_C(0x00C33279), UINT32_C(0x00685341), UINT32_C(0x00643C48),
+          UINT32_C(0x00ACAC38), UINT32_C(0x005AE420), UINT32_C(0x00514A01),
+          UINT32_C(0x006BEB21), UINT32_C(0x003CC859), UINT32_C(0x0017135D),
+          UINT32_C(0x004ADA1B), UINT32_C(0x007CF53B)},
+         {UINT32_C(0x006149FF), UINT32_C(0x00353234), UINT32_C(0x0000FE22),
+          UINT32_C(0x001F09D7), UINT32_C(0x00021F65), UINT32_C(0x0049C3AD),
+          UINT32_C(0x001C1A78), UINT32_C(0x00E00DFB), UINT32_C(0x00228A53),
+          UINT32_C(0x005812BD), UINT32_C(0x00407161)}},
+        {{UINT32_C(0x00AC8719), UINT32_C(0x004B5C52), UINT32_C(0x001AD60A),
+          UINT32_C(0x001B2FAC), UINT32_C(0x004CD6B6), UINT32_C(0x002823C4),
+          UINT32_C(0x003BE7C2), UINT32_C(0x009BDCCC), UINT32_C(0x00566B2F),
+          UINT32_C(0x00205A09), UINT32_C(0x006C27CE)},
+         {UINT32_C(0x0053FC77), UINT32_C(0x003F8121), UINT32_C(0x0073622F),
+          UINT32_C(0x00775975), UINT32_C(0x007FED73), UINT32_C(0x0041C648),
+          UINT32_C(0x00462A53), UINT32_C(0x00FFBFD4), UINT32_C(0x0011A7DF),
+          UINT32_C(0x003092B5), UINT32_C(0x00261A53)},
+         {UINT32_C(0x009AAFB7), UINT32_C(0x0013BCE1), UINT32_C(0x004971F6),
+          UINT32_C(0x00EDD1B3), UINT32_C(0x002525B4), UINT32_C(0x0058D61A),
+          UINT32_C(0x0066E9D1), UINT32_C(0x009B73B8), UINT32_C(0x0033C84A),
+          UINT32_C(0x0006CAB6), UINT32_C(0x00008EB2)}},
+        {{UINT32_C(0x00492C5D), UINT32_C(0x005CF97D), UINT32_C(0x0007722C),
+          UINT32_C(0x0066F3B8), UINT32_C(0x000306A7), UINT32_C(0x007D6927),
+          UINT32_C(0x0023F020), UINT32_C(0x00BD1D41), UINT32_C(0x00497C08),
+          UINT32_C(0x005699EF), UINT32_C(0x00369E3D)},
+         {UINT32_C(0x0025F79F), UINT32_C(0x005176A4), UINT32_C(0x003D2CDA),
+          UINT32_C(0x00F5AAC3), UINT32_C(0x000A2AD0), UINT32_C(0x006D725F),
+          UINT32_C(0x000E7277), UINT32_C(0x00B14CC5), UINT32_C(0x002D5FC8),
+          UINT32_C(0x007F764F), UINT32_C(0x0050EF13)},
+         {UINT32_C(0x0097E85B), UINT32_C(0x001C0CFD), UINT32_C(0x006027C7),
+          UINT32_C(0x0038732E), UINT32_C(0x003385DC), UINT32_C(0x006F67DF),
+          UINT32_C(0x0038EF81), UINT32_C(0x00F717C0), UINT32_C(0x000B4878),
+          UINT32_C(0x00099CD4), UINT32_C(0x0071787D)}},
+        {{UINT32_C(0x000EB7F2), UINT32_C(0x007F42B8), UINT32_C(0x0070653E),
+          UINT32_C(0x00320A4F), UINT32_C(0x0016BB51), UINT32_C(0x00691D90),
+          UINT32_C(0x00138916), UINT32_C(0x00D043DE), UINT32_C(0x00107F57),
+          UINT32_C(0x001DCB80), UINT32_C(0x0059F0BB)},
+         {UINT32_C(0x005CD9B5), UINT32_C(0x002A2874), UINT32_C(0x000600A5),
+          UINT32_C(0x00235734), UINT32_C(0x002313EF), UINT32_C(0x00312DEA),
+          UINT32_C(0x0029CA11), UINT32_C(0x00973048), UINT32_C(0x004D4134),
+          UINT32_C(0x003E99AC), UINT32_C(0x000867B4)},
+         {UINT32_C(0x002FA5A2), UINT32_C(0x00413E42), UINT32_C(0x00772166),
+          UINT32_C(0x001C593A), UINT32_C(0x006949A2), UINT32_C(0x00786FF6),
+          UINT32_C(0x003BB2E2), UINT32_C(0x002BC314), UINT32_C(0x00125CC6),
+          UINT32_C(0x007B110C), UINT32_C(0x004E5352)}},
+        {{UINT32_C(0x00E38B2F), UINT32_C(0x00549D88), UINT32_C(0x00451B24),
+          UINT32_C(0x00237AB5), UINT32_C(0x000DAF24), UINT32_C(0x00028B85),
+          UINT32_C(0x0002439F), UINT32_C(0x007FF9B1), UINT32_C(0x004B3263),
+          UINT32_C(0x007B2514), UINT32_C(0x00130159)},
+         {UINT32_C(0x00CBEDBE), UINT32_C(0x00164E8E), UINT32_C(0x006D1617),
+          UINT32_C(0x00971E62), UINT32_C(0x0014CEC3), UINT32_C(0x00654E4C),
+          UINT32_C(0x003EE5FE), UINT32_C(0x00D5DB3C), UINT32_C(0x0007E501),
+          UINT32_C(0x0059EAD8), UINT32_C(0x0033FEF5)},
+         {UINT32_C(0x00F396A9), UINT32_C(0x000E12CC), UINT32_C(0x0066F113),
+          UINT32_C(0x0032A657), UINT32_C(0x00558CEA), UINT32_C(0x0035397E),
+          UINT32_C(0x0072BA41), UINT32_C(0x001BAC1F), UINT32_C(0x00458EAD),
+          UINT32_C(0x000176E4), UINT32_C(0x006D9827)}},
+        {{UINT32_C(0x0054ACCB), UINT32_C(0x006837A0), UINT32_C(0x005E0E17),
+          UINT32_C(0x002D46A3), UINT32_C(0x001EC13B), UINT32_C(0x0055ED3F),
+          UINT32_C(0x004AD796), UINT32_C(0x009822FD), UINT32_C(0x006E60A8),
+          UINT32_C(0x0019C052), UINT32_C(0x0047770E)},
+         {UINT32_C(0x002D311B), UINT32_C(0x0025BEF8), UINT32_C(0x00441B88),
+          UINT32_C(0x000175A1), UINT32_C(0x0077C008), UINT32_C(0x007C334F),
+          UINT32_C(0x003B3992), UINT32_C(0x00CA38F0), UINT32_C(0x0002777D),
+          UINT32_C(0x003C8B93), UINT32_C(0x0028F8C6)},
+         {UINT32_C(0x008E76E6), UINT32_C(0x000A66B8), UINT32_C(0x0049E5D6),
+          UINT32_C(0x00E8B276), UINT32_C(0x0032543C), UINT32_C(0x0027A563),
+          UINT32_C(0x0000CF52), UINT32_C(0x00DEDDB7), UINT32_C(0x00401370),
+          UINT32_C(0x000F47DB), UINT32_C(0x00502929)}},
+        {{UINT32_C(0x00AECCC3), UINT32_C(0x0054C9AE), UINT32_C(0x002F21DC),
+          UINT32_C(0x0059D2B0), UINT32_C(0x0033CED8), UINT32_C(0x004A2E1F),
+          UINT32_C(0x0019B7CF), UINT32_C(0x0095A290), UINT32_C(0x0070C5C6),
+          UINT32_C(0x002EB87D), UINT32_C(0x007DB934)},
+         {UINT32_C(0x0078836C), UINT32_C(0x003DF99A), UINT32_C(0x005C291E),
+          UINT32_C(0x00534356), UINT32_C(0x00247324), UINT32_C(0x002F5070),
+          UINT32_C(0x003EEB8F), UINT32_C(0x003A920E), UINT32_C(0x0002D28C),
+          UINT32_C(0x000FF5FB), UINT32_C(0x007336AA)},
+         {UINT32_C(0x001FA1A5), UINT32_C(0x00212F13), UINT32_C(0x00577134),
+          UINT32_C(0x004BA237), UINT32_C(0x0049A436), UINT32_C(0x007F6BB2),
+          UINT32_C(0x00722AC5), UINT32_C(0x00C0532E), UINT32_C(0x007534D3),
+          UINT32_C(0x001DCBE4), UINT32_C(0x00726554)}},
+    },
+    {
+        {{UINT32_C(0x009D7F04), UINT32_C(0x003E522B), UINT32_C(0x004E8173),
+          UINT32_C(0x001C1588), UINT32_C(0x0022E52F), UINT32_C(0x007A9393),
+          UINT32_C(0x006F3F0A), UINT32_C(0x00537EF6), UINT32_C(0x0061C5EA),
+          UINT32_C(0x001044A3), UINT32_C(0x005E8C14)},
+         {UINT32_C(0x00CC8AA4), UINT32_C(0x000C72ED), UINT32_C(0x0000DF49),
+          UINT32_C(0x00798195), UINT32_C(0x000C41B1), UINT32_C(0x005C0709),
+          UINT32_C(0x0063F579), UINT32_C(0x00797385), UINT32_C(0x00561750),
+          UINT32_C(0x0022408A), UINT32_C(0x0033DFF7)},
+         {UINT32_C(0x00E72D7C), UINT32_C(0x0052E6A6), UINT32_C(0x00677E30),
+          UINT32_C(0x00DA67FB), UINT32_C(0x0053230A), UINT32_C(0x007B8901),
+          UINT32_C(0x0045AC83), UINT32_C(0x0010FEFC), UINT32_C(0x006E69B3),
+          UINT32_C(0x006008DB), UINT32_C(0x006D7911)}},
+        {{UINT32_C(0x004F7A12), UINT32_C(0x003FE9B9), UINT32_C(0x0035897D),
+          UINT32_C(0x0092A16A), UINT32_C(0x002ABB20), UINT32_C(0x003C1F4F),
+          UINT32_C(0x00170A77), UINT32_C(0x0014D957), UINT32_C(0x003289DC),
+          UINT32_C(0x0005BECE), UINT32_C(0x00601138)},
+         {UINT32_C(0x0061EEA8), UINT32_C(0x00211689), UINT32_C(0x002EAEF4),
+          UINT32_C(0x002EE6E9), UINT32_C(0x0042698F), UINT32_C(0x002C17BC),
+          UINT32_C(0x00153303), UINT32_C(0x000EA9B7), UINT32_C(0x00335B95),
+          UINT32_C(0x00101F4E), UINT32_C(0x00661849)},
+         {UINT32_C(0x00AEA3D6), UINT32_C(0x00406869), UINT32_C(0x00375EE9),
+          UINT32_C(0x00D5E095), UINT32_C(0x00510487), UINT32_C(0x00425B84),
+          UINT32_C(0x002933E8), UINT32_C(0x0085EA0B), UINT32_C(0x0036858A),
+          UINT32_C(0x0015643E), UINT32_C(0x00291032)}},
+        {{UINT32_C(0x00B19259), UINT32_C(0x0044D63D), UINT32_C(0x000D8B2C),
+          UINT32_C(0x00F03F2A), UINT32_C(0x0075DD51), UINT32_C(0x0063574F),
+          UINT32_C(0x00597D0C), UINT32_C(0x004CC301), UINT32_C(0x0008F143),
+          UINT32_C(0x001955D2), UINT32_C(0x000EFE67)},
+         {UINT32_C(0x0012F590), UINT32_C(0x0008204C), UINT32_C(0x007F0B91),
+          UINT32_C(0x00397CAF), UINT32_C(0x00617872), UINT32_C(0x002BCC89),
+          UINT32_C(0x00560BB9), UINT32_C(0x00755598), UINT32_C(0x006EECB1),
+          UINT32_C(0x004BA0C7), UINT32_C(0x001A34AB)},
+         {UINT32_C(0x008528CC), UINT32_C(0x00580BBC), UINT32_C(0x005B25D1),
+          UINT32_C(0x007506DD), UINT32_C(0x007DC690), UINT32_C(0x007F96D8),
+          UINT32_C(0x00392289), UINT32_C(0x00AEF1AE), UINT32_C(0x0063168D),
+          UINT32_C(0x0072BE2C), UINT32_C(0x005157C5)}},
+        {{UINT32_C(0x003A9FD2), UINT32_C(0x005B25BE), UINT32_C(0x004F27F7),
+          UINT32_C(0x00BB4A51), UINT32_C(0x000662C0), UINT32_C(0x0041BBE0),
+          UINT32_C(0x00460962), UINT32_C(0x002EF651), UINT32_C(0x0017689F),
+          UINT32_C(0x00071079), UINT32_C(0x0001A5DF)},
+         {UINT32_C(0x00F75DF0), UINT32_C(0x0049FC9F), UINT32_C(0x006A8F37),
+          UINT32_C(0x00C7015B), UINT32_C(0x001EE02F), UINT32_C(0x003A578B),
+          UINT32_C(0x004F5B70), UINT32_C(0x0046D34E), UINT32_C(0x0036C503),
+          UINT32_C(0x004A47A8), UINT32_C(0x001555FC)},
+         {UINT32_C(0x000C1A1C), UINT32_C(0x0018A095), UINT32_C(0x004C6DD3),
+          UINT32_C(0x00622629), UINT32_C(0x001A4B4D), UINT32_C(0x001EC488),
+          UINT32_C(0x007C4E62), UINT32_C(0x00F0CBDB), UINT32_C(0x0053F494),
+          UINT32_C(0x0025E122), UINT32_C(0x006FE5D9)}},
+        {{UINT32_C(0x001D0B59), UINT32_C(0x002BC2EB), UINT32_C(0x006C247D),
+          UINT32_C(0x0017164C), UINT32_C(0x0016C9E8), UINT32_C(0x003FE112),
+          UINT32_C(0x00523C8C), UINT32_C(0x00500E55), UINT32_C(0x001EBD4A),
+          UINT32_C(0x002663A4), UINT32_C(0x002FF15B)},
+         {UINT32_C(0x009AECD9), UINT32_C(0x00079901), UINT32_C(0x006A6241),
+          UINT32_C(0x003D62B1), UINT32_C(0x006182F6), UINT32_C(0x001F7C9C),
+          UINT32_C(0x0030C6A5), UINT32_C(0x00C1D9FD), UINT32_C(0x000AF3AE),
+          UINT32_C(0x007306C0), UINT32_C(0x007180E7)},
+         {UINT32_C(0x0072CCE1), UINT32_C(0x002EF926), UINT32_C(0x0033946B),
+          UINT32_C(0x00DD4125), UINT32_C(0x00466F98), UINT32_C(0x005626FE),
+          UINT32_C(0x004D69F2), UINT32_C(0x00423C76), UINT32_C(0x0065D10D),
+          UINT32_C(0x002D6287), UINT32_C(0x002DD36E)}},
+        {{UINT32_C(0x0060C004), UINT32_C(0x002DF8E2), UINT32_C(0x0073334C),
+          UINT32_C(0x008C39C6), UINT32_C(0x00509B37), UINT32_C(0x007E8198),
+          UINT32_C(0x000F62E1), UINT32_C(0x00DD92B1), UINT32_C(0x001998EC),
+          UINT32_C(0x002CAD76), UINT32_C(0x00202123)},
+         {UINT32_C(0x00131346), UINT32_C(0x007A9FF0), UINT32_C(0x00587E28),
+          UINT32_C(0x005434EA), UINT32_C(0x000C2CE8), UINT32_C(0x004B1B22),
+          UINT32_C(0x0045D4A2), UINT32_C(0x009F60D4), UINT32_C(0x0057E546),
+          UINT32_C(0x0064D05F), UINT32_C(0x006EEC72)},
+         {UINT32_C(0x0021F448), UINT32_C(0x0010845A), UINT32_C(0x0006B85E),
+          UINT32_C(0x00AB9D0A), UINT32_C(0x0042FE06), UINT32_C(0x0033EE0E),
+          UINT32_C(0x006AD2F2), UINT32_C(0x005C9579), UINT32_C(0x0067DFC7),
+          UINT32_C(0x003C1F3B), UINT32_C(0x00699BE9)}},
+        {{UINT32_C(0x00A66972), UINT32_C(0x005C9C52), UINT32_C(0x0033F743),
+          UINT32_C(0x002E4131), UINT32_C(0x0018DAB0), UINT32_C(0x00451021),
+          UINT32_C(0x004A7644), UINT32_C(0x00280CE7), UINT32_C(0x0054A55B),
+          UINT32_C(0x0000D618), UINT32_C(0x0006EA24)},
+         {UINT32_C(0x00836291), UINT32_C(0x005C23F3), UINT32_C(0x003EF835),
+          UINT32_C(0x006B6300), UINT32_C(0x00459EBC), UINT32_C(0x007C3224),
+          UINT32_C(0x0044102E), UINT32_C(0x00E2D759), UINT32_C(0x0058BA8F),
+          UINT32_C(0x00203AA3), UINT32_C(0x006F64DB)},
+         {UINT32_C(0x00A80AE1), UINT32_C(0x0002F426), UINT32_C(0x005F82DF),
+          UINT32_C(0x00129B98), UINT32_C(0x0016684F), UINT32_C(0x0037C9F8),
+          UINT32_C(0x00798FDE), UINT32_C(0x005C8F79), UINT32_C(0x0007C718),
+          UINT32_C(0x0052B29A), UINT32_C(0x00059CBE)}},
+        {{UINT32_C(0x00126A51), UINT32_C(0x002CB978), UINT32_C(0x00423FCC),
+          UINT32_C(0x00B9CC4C), UINT32_C(0x002AA538), UINT32_C(0x00395FBB),
+          UINT32_C(0x00327373), UINT32_C(0x00C23CA5), UINT32_C(0x00544D71),
+          UINT32_C(0x00455CE2), UINT32_C(0x0077726F)},
+         {UINT32_C(0x00E72C58), UINT32_C(0x0056C6C9), UINT32_C(0x003D49ED),
+          UINT32_C(0x00C8F1D2), UINT32_C(0x004A8FA5), UINT32_C(0x006F3C45),
+          UINT32_C(0x0069AB18), UINT32_C(0x00D5CE81), UINT32_C(0x000A718F),
+          UINT32_C(0x004420F7), UINT32_C(0x002B7F53)},
+         {UINT32_C(0x00809D3C), UINT32_C(0x005957A2), UINT32_C(0x006A3FB7),
+          UINT32_C(0x00FC7710), UINT32_C(0x002F2CC5), UINT32_C(0x0068D0E3),
+          UINT32_C(0x0017780D), UINT32_C(0x00B2B1F6), UINT32_C(0x001C4FDE),
+          UINT32_C(0x0072D97A), UINT32_C(0x003E98AB)}},
+        {{UINT32_C(0x00276A10), UINT32_C(0x0064190E), UINT32_C(0x000243B5),
+          UINT32_C(0x00EE59AE), UINT32_C(0x0016FC7F), UINT32_C(0x0036935E),
+          UINT32_C(0x0058A7F7), UINT32_C(0x006AAA88), UINT32_C(0x0036ED90),
+          UINT32_C(0x00779372), UINT32_C(0x0030DC06)},
+         {UINT32_C(0x00208159), UINT32_C(0x00170255), UINT32_C(0x00695DF5),
+          UINT32_C(0x00411E22), UINT32_C(0x00477C68), UINT32_C(0x0032102F),
+          UINT32_C(0x001B026A), UINT32_C(0x0038CA4D), UINT32_C(0x00235EC5),
+          UINT32_C(0x0078C8B9), UINT32_C(0x00651C9F)},
+         {UINT32_C(0x0067D2A4), UINT32_C(0x00446632), UINT32_C(0x003D1074),
+          UINT32_C(0x00032AC4), UINT32_C(0x0061127F), UINT32_C(0x0004B798),
+          UINT32_C(0x00003C2D), UINT32_C(0x00F00C4B), UINT32_C(0x00603764),
+          UINT32_C(0x0074558D), UINT32_C(0x00375BF7)}},
+        {{UINT32_C(0x00B4CE41), UINT32_C(0x007FBBC3), UINT32_C(0x00750477),
+          UINT32_C(0x00DA8800), UINT32_C(0x000B20CD), UINT32_C(0x002FDE44),
+          UINT32_C(0x0001448F), UINT32_C(0x001B1EE5), UINT32_C(0x003B0FDC),
+          UINT32_C(0x00600D6A), UINT32_C(0x0042807B)},
+         {UINT32_C(0x005C7646), UINT32_C(0x004F6D9A), UINT32_C(0x0047B855),
+          UINT32_C(0x003D2CEB), UINT32_C(0x007B2B58), UINT32_C(0x0032B9DA),
+          UINT32_C(0x00118C1E), UINT32_C(0x006DA898), UINT32_C(0x00432BB2),
+          UINT32_C(0x0014A742), UINT32_C(0x00214F42)},
+         {UINT32_C(0x0063536B), UINT32_C(0x0073EDC7), UINT32_C(0x00608DC1),
+          UINT32_C(0x00757BDA), UINT32_C(0x0073293A), UINT32_C(0x00510B0D),
+          UINT32_C(0x001C8A86), UINT32_C(0x00406F0A), UINT32_C(0x0030DAA7),
+          UINT32_C(0x000F6F80), UINT32_C(0x0007A1D7)}},
+        {{UINT32_C(0x00A8E90B), UINT32_C(0x007407DB), UINT32_C(0x00440BF0),
+          UINT32_C(0x007198C8), UINT32_C(0x001A09F8), UINT32_C(0x000916B3),
+          UINT32_C(0x0061A7D6), UINT32_C(0x00A714BE), UINT32_C(0x0039589D),
+          UINT32_C(0x0011D76D), UINT32_C(0x00323B2D)},
+         {UINT32_C(0x00E19A5C), UINT32_C(0x00141B92), UINT32_C(0x00409B73),
+          UINT32_C(0x006F090B), UINT32_C(0x007E0865), UINT32_C(0x004B7DA7),
+          UINT32_C(0x006EBE5E), UINT32_C(0x00CE6360), UINT32_C(0x003FE520),
+          UINT32_C(0x005C6EFA), UINT32_C(0x002904A1)},
+         {UINT32_C(0x007BF307), UINT32_C(0x00095790), UINT32_C(0x0009FCE8),
+          UINT32_C(0x001A0547), UINT32_C(0x001C1E57), UINT32_C(0x007C07EE),
+          UINT32_C(0x00405EE9), UINT32_C(0x004047E0), UINT32_C(0x006DE98E),
+          UINT32_C(0x004E2A25), UINT32_C(0x0066F1F0)}},
+        {{UINT32_C(0x00C266C9), UINT32_C(0x0078A6A6), UINT32_C(0x005AE507),
+          UINT32_C(0x00029D74), UINT32_C(0x00025040), UINT32_C(0x004030CE),
+          UINT32_C(0x006D0A48), UINT32_C(0x0076B699), UINT32_C(0x001E465B),
+          UINT32_C(0x000082E1), UINT32_C(0x0069B738)},
+         {UINT32_C(0x00BD1302), UINT32_C(0x003CA015), UINT32_C(0x00107897),
+          UINT32_C(0x00FA47BE), UINT32_C(0x0049E714), UINT32_C(0x000B1555),
+          UINT32_C(0x0053443D), UINT32_C(0x00EE9331), UINT32_C(0x00514330),
+          UINT32_C(0x0039A875), UINT32_C(0x00050473)},
+         {UINT32_C(0x00B3D5E2), UINT32_C(0x002E59A5), UINT32_C(0x00444307),
+          UINT32_C(0x001495AA), UINT32_C(0x007E4455), UINT32_C(0x001E0A82),
+          UINT32_C(0x002AB250), UINT32_C(0x003E1A5A), UINT32_C(0x000DB2A8),
+          UINT32_C(0x0010A30C), UINT32_C(0x0032799B)}},
+        {{UINT32_C(0x002DFB8B), UINT32_C(0x0056DBFB), UINT32_C(0x0067D9E7),
+          UINT32_C(0x007E49DF), UINT32_C(0x000D0A8B), UINT32_C(0x001D2692),
+          UINT32_C(0x006D4621), UINT32_C(0x00D98598), UINT32_C(0x0034D873),
+          UINT32_C(0x0021CBB4), UINT32_C(0x0075EBF4)},
+         {UINT32_C(0x00757E5C), UINT32_C(0x001F41CE), UINT32_C(0x002E6367),
+          UINT32_C(0x00180064), UINT32_C(0x004FEBFE), UINT32_C(0x0004F8E5),
+          UINT32_C(0x001FB594), UINT32_C(0x007471A5), UINT32_C(0x0060AE8E),
+          UINT32_C(0x007B789E), UINT32_C(0x0072FBC1)},
+         {UINT32_C(0x00028861), UINT32_C(0x0076CF2E), UINT32_C(0x00757BC9),
+          UINT32_C(0x00E1A580), UINT32_C(0x00355683), UINT32_C(0x002A8FE7),
+          UINT32_C(0x00542152), UINT32_C(0x00561514), UINT32_C(0x00725460),
+          UINT32_C(0x007285A9), UINT32_C(0x004B1809)}},
+        {{UINT32_C(0x00355837), UINT32_C(0x002DDA4C), UINT32_C(0x003DD1AC),
+          UINT32_C(0x005CC538), UINT32_C(0x00647CBC), UINT32_C(0x0072DB88),
+          UINT32_C(0x007F7C75), UINT32_C(0x002AE840), UINT32_C(0x00062A1A),
+          UINT32_C(0x00518336), UINT32_C(0x00791C9D)},
+         {UINT32_C(0x0007CA0E), UINT32_C(0x002EA83D), UINT32_C(0x00794D8F),
+          UINT32_C(0x0074F12E), UINT32_C(0x00573D80), UINT32_C(0x00334BAD),
+          UINT32_C(0x007061C7), UINT32_C(0x00EC3EB0), UINT32_C(0x004AFF19),
+          UINT32_C(0x007B77C6), UINT32_C(0x002C2CD6)},
+         {UINT32_C(0x00332C81), UINT32_C(0x005AEC4B), UINT32_C(0x002D4025),
+          UINT32_C(0x000003C9), UINT32_C(0x00329780), UINT32_C(0x0045F540),
+          UINT32_C(0x004B3238), UINT32_C(0x00A2B784), UINT32_C(0x001953EA),
+          UINT32_C(0x00256030), UINT32_C(0x00398A20)}},
+        {{UINT32_C(0x000EC4A0), UINT32_C(0x00641937), UINT32_C(0x006B364E),
+          UINT32_C(0x00DA64E5), UINT32_C(0x001DC048), UINT32_C(0x002583F4),
+          UINT32_C(0x0026D1D9), UINT32_C(0x00EDA8AF), UINT32_C(0x0047D78B),
+          UINT32_C(0x002EEFE4), UINT32_C(0x002CC316)},
+         {UINT32_C(0x0081CBB1), UINT32_C(0x006E1C62), UINT32_C(0x002FACAB),
+          UINT32_C(0x00A6588F), UINT32_C(0x00250981), UINT32_C(0x0061708F),
+          UINT32_C(0x0074479E), UINT32_C(0x003F3B34), UINT32_C(0x00140C2C),
+          UINT32_C(0x002EBBC2), UINT32_C(0x00227AAF)},
+         {UINT32_C(0x00DB9FC3), UINT32_C(0x0053114A), UINT32_C(0x0052ECA2),
+          UINT32_C(0x003DC40A), UINT32_C(0x007DC659), UINT32_C(0x000D3562),
+          UINT32_C(0x002C373C), UINT32_C(0x00FAF2D6), UINT32_C(0x002B7888),
+          UINT32_C(0x0056EFFE), UINT32_C(0x00162CF7)}},
+        {{UINT32_C(0x00A14EAC), UINT32_C(0x005D7C37), UINT32_C(0x002C818A),
+          UINT32_C(0x008FB8CD), UINT32_C(0x0062E148), UINT32_C(0x004C3163),
+          UINT32_C(0x0053D48D), UINT32_C(0x005823EA), UINT32_C(0x002D1D27),
+          UINT32_C(0x00057B1E), UINT32_C(0x002C3DDA)},
+         {UINT32_C(0x0053A948), UINT32_C(0x004C6EF1), UINT32_C(0x002D74B8),
+          UINT32_C(0x001219E4), UINT32_C(0x0071C013), UINT32_C(0x00262046),
+          UINT32_C(0x00421ADF), UINT32_C(0x00BFB901), UINT32_C(0x001E79C9),
+          UINT32_C(0x0035B45B), UINT32_C(0x0041AC61)},
+         {UINT32_C(0x002C184D), UINT32_C(0x0047D074), UINT32_C(0x0034003A),
+          UINT32_C(0x005DCCFB), UINT32_C(0x00524D8F), UINT32_C(0x0059FB03),
+          UINT32_C(0x0034304B), UINT32_C(0x00EACD9B), UINT32_C(0x002761FA),
+          UINT32_C(0x003C9C64), UINT32_C(0x004B14DD)}},
+    }};
+
+/*-
+ * 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_256_paramSetA_carry_square(t0, X);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(t1, Y);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(t2, Z);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(t3, t2, t2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(X3, X, Y);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_square(Y3, X3);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(T3, Y3, t0);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(Z3, T3, t1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(Y3, t0, t1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t2, Y3, t3);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t3, t0, t1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, Z3, t2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, Z3, t3);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Z3, t2, Y3);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA_carry_mul(t0, X1, X2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t1, Y1, Y2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t2, d, T2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t2, T1, t2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(X3, X1, Y1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(Y3, X2, Y2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, X3, Y3);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t3, T3, t0);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(T3, t3, t1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(t3, Z1, t2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(Z3, Z1, t2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t1, t1, t0);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, T3, Z3);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, t3, t1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, T3, t1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA_carry_mul(t0, X1, X2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t1, Y1, Y2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t2, d, T2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t2, T1, t2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t3, Z1, Z2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(X3, X1, Y1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(Y3, X2, Y2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, X3, Y3);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(Z3, T3, t0);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(T3, Z3, t1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(Z3, t3, t2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(t3, t3, t2);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t1, t1, t0);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, T3, Z3);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, t3, t1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, T3, t1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA_carry_add(t0, Z1, Y1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t1, Z1, Y1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, S, t0);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, Z1, T3);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Z3, X3, t1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t1, t1, T);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(t0, T3, t1);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA_carry_sub(T3, X1, T);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(Y3, T3, S);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, T3, Y3);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Z3, Y1, Y3);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(T3, T3, S);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, Y1, T3);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, X3, Y3);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, X3, Z3);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, Y3, Z3);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_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[32], int idx) {
+    int widx, rshift;
+
+    widx = idx >> 3;
+    rshift = idx & 0x7;
+
+    if (idx < 0 || widx >= 32) 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[52], const unsigned char in[32]) {
+    int i;
+    char window, d;
+
+    window = (in[0] & (DRADIX_WNAF - 1)) | 1;
+    for (i = 0; i < 51; 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[257], const unsigned char in[32]) {
+    int i;
+    char window, d;
+
+    window = in[0] & (DRADIX_WNAF - 1);
+    for (i = 0; i < 257; 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[32],
+                              const unsigned char b[32], const pt_aff_t *P) {
+    int i, d, is_neg, is_inf = 1, flipped = 0;
+    char anaf[257] = {0};
+    char bnaf[257] = {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 = 256; 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_256_paramSetA_opp(Q.X, Q.X);
+                fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA_opp(Q.X, Q.X);
+                fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA_opp(Q.X, Q.X);
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA_inv(Q.Z, Q.Z);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(out->X, Q.X, Q.Z);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_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[32],
+                           const pt_aff_t *P) {
+    int i, j, d, diff, is_neg;
+    char rnaf[52] = {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[51] - 1) >> 1;
+    for (j = 0; j < DRADIX / 2; j++) {
+        diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.X, diff, Q.X,
+                                                            precomp[j].X);
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Y, diff, Q.Y,
+                                                            precomp[j].Y);
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.T, diff, Q.T,
+                                                            precomp[j].T);
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Z, diff, Q.Z,
+                                                            precomp[j].Z);
+    }
+
+    for (i = 50; 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_256_paramSetA_selectznz(
+                lut.X, diff, lut.X, precomp[j].X);
+            fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
+                lut.Y, diff, lut.Y, precomp[j].Y);
+            fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
+                lut.T, diff, lut.T, precomp[j].T);
+            fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
+                lut.Z, diff, lut.Z, precomp[j].Z);
+        }
+        /* negate lut point if digit is negative */
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(out->X, lut.X);
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(out->T, lut.T);
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(lut.X, is_neg,
+                                                            lut.X, out->X);
+        fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA_opp(lut.X, precomp[0].X);
+    fe_copy(lut.Y, precomp[0].Y);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA_selectznz(Q.X, scalar[0] & 1,
+                                                        lut.X, Q.X);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Y, scalar[0] & 1,
+                                                        lut.Y, Q.Y);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.T, scalar[0] & 1,
+                                                        lut.T, Q.T);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA_inv(Q.Z, Q.Z);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(out->X, Q.X, Q.Z);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_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[32]) {
+    int i, j, k, d, diff, is_neg = 0;
+    char rnaf[52] = {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 = 3; i >= 0; i--) {
+        for (j = 0; i != 3 && j < RADIX; j++) point_double(&Q, &Q);
+        for (j = 0; j < 14; j++) {
+            if (j * 4 + i > 51) continue;
+            d = rnaf[j * 4 + 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_256_paramSetA_selectznz(
+                    lut.X, diff, lut.X, lut_cmb[j][k].X);
+                fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
+                    lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
+                fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(
+                    lut.T, diff, lut.T, lut_cmb[j][k].T);
+            }
+            /* negate lut point if digit is negative */
+            fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(out->X, lut.X);
+            fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(out->T, lut.T);
+            fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(lut.X, is_neg,
+                                                                lut.X, out->X);
+            fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA_opp(lut.X, lut_cmb[0][0].X);
+    fe_copy(lut.Y, lut_cmb[0][0].Y);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_opp(lut.T, lut_cmb[0][0].T);
+    point_add_mixed(&R, &Q, &lut);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.X, scalar[0] & 1, R.X,
+                                                        Q.X);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.Y, scalar[0] & 1, R.Y,
+                                                        Q.Y);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_selectznz(Q.T, scalar[0] & 1, R.T,
+                                                        Q.T);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_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_256_paramSetA_inv(Q.Z, Q.Z);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(out->X, Q.X, Q.Z);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(out->Y, Q.Y, Q.Z);
+}
+
+static void point_mul_two(unsigned char outx[32], unsigned char outy[32],
+                          const unsigned char a[32], const unsigned char b[32],
+                          const unsigned char inx[32],
+                          const unsigned char iny[32]) {
+    pt_aff_t P;
+
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes(P.X, inx);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes(P.Y, iny);
+    /* simultaneous scalar multiplication */
+    var_smul_wnaf_two(&P, a, b, &P);
+
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outx, P.X);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outy, P.Y);
+}
+
+static void point_mul_g(unsigned char outx[32], unsigned char outy[32],
+                        const unsigned char scalar[32]) {
+    pt_aff_t P;
+
+    /* fixed scmul function */
+    fixed_smul_cmb(&P, scalar);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outx, P.X);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outy, P.Y);
+}
+
+static void point_mul(unsigned char outx[32], unsigned char outy[32],
+                      const unsigned char scalar[32],
+                      const unsigned char inx[32],
+                      const unsigned char iny[32]) {
+    pt_aff_t P;
+
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes(P.X, inx);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_from_bytes(P.Y, iny);
+    /* var scmul function */
+    var_smul_rwnaf(&P, scalar, &P);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outx, P.X);
+    fiat_id_tc26_gost_3410_2012_256_paramSetA_to_bytes(outy, P.Y);
+}
+
+#include <openssl/ec.h>
+
+static const unsigned char const_zb[32] = {0};
+
+    int
+    point_mul_two_id_tc26_gost_3410_2012_256_paramSetA(
+        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[32];
+    unsigned char b_y[32];
+    unsigned char b_n[32];
+    unsigned char b_m[32];
+    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, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
+        BN_bn2lebinpad(n, b_n, 32) != 32 || BN_bn2lebinpad(m, b_m, 32) != 32)
+        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, 32) == 0 &&
+        CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
+        if (!EC_POINT_set_to_infinity(group, r)) goto err;
+    } else {
+        /* otherwise, pack the bytes into the result */
+        if (BN_lebin2bn(b_x, 32, x) == NULL ||
+            BN_lebin2bn(b_y, 32, 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_256_paramSetA(const EC_GROUP *group,
+                                                   EC_POINT *r,
+                                                   const EC_POINT *q,
+                                                   const BIGNUM *m,
+                                                   BN_CTX *ctx) {
+    int ret = 0;
+    unsigned char b_x[32];
+    unsigned char b_y[32];
+    unsigned char b_m[32];
+    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, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
+        BN_bn2lebinpad(m, b_m, 32) != 32)
+        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, 32) == 0 &&
+        CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
+        if (!EC_POINT_set_to_infinity(group, r)) goto err;
+    } else {
+        /* otherwise, pack the bytes into the result */
+        if (BN_lebin2bn(b_x, 32, x) == NULL ||
+            BN_lebin2bn(b_y, 32, 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_256_paramSetA(const EC_GROUP *group,
+                                                     EC_POINT *r,
+                                                     const BIGNUM *n,
+                                                     BN_CTX *ctx) {
+    int ret = 0;
+    unsigned char b_x[32];
+    unsigned char b_y[32];
+    unsigned char b_n[32];
+    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, 32) != 32)
+        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, 32) == 0 &&
+        CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
+        if (!EC_POINT_set_to_infinity(group, r)) goto err;
+    } else {
+        /* otherwise, pack the bytes into the result */
+        if (BN_lebin2bn(b_x, 32, x) == NULL ||
+            BN_lebin2bn(b_y, 32, 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__ */
diff --git a/ecp_id_tc26_gost_3410_2012_512_paramSetA.c b/ecp_id_tc26_gost_3410_2012_512_paramSetA.c
new file mode 100644 (file)
index 0000000..6947a8a
--- /dev/null
@@ -0,0 +1,12604 @@
+/* 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_paramSetA_carry_add(c, a, b) \
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_add(c, a, b);          \
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry(c, c)
+#define fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(c, a, b) \
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_sub(c, a, b);          \
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry(c, c)
+
+/* Projective points */
+typedef struct {
+    fe_t X;
+    fe_t Y;
+    fe_t Z;
+} pt_prj_t;
+
+/* Affine points */
+typedef struct {
+    fe_t X;
+    fe_t Y;
+} 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_paramSetA 64 '(auto)' '2^512 - 569' */
+/* curve description: id_tc26_gost_3410_2012_512_paramSetA */
+/* 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_paramSetA_uint1;
+typedef signed char fiat_id_tc26_gost_3410_2012_512_paramSetA_int1;
+typedef signed __int128 fiat_id_tc26_gost_3410_2012_512_paramSetA_int128;
+typedef unsigned __int128 fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_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_paramSetA_addcarryx_u52(
+    uint64_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 *out2,
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 arg1, uint64_t arg2,
+    uint64_t arg3) {
+    uint64_t x1;
+    uint64_t x2;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x3;
+    x1 = ((arg1 + arg2) + arg3);
+    x2 = (x1 & UINT64_C(0xfffffffffffff));
+    x3 = (fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1)(x1 >> 52);
+    *out1 = x2;
+    *out2 = x3;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_subborrowx_u52(
+    uint64_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 *out2,
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 arg1, uint64_t arg2,
+    uint64_t arg3) {
+    int64_t x1;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_int1 x2;
+    uint64_t x3;
+    x1 = ((int64_t)(arg2 - (int64_t)arg1) - (int64_t)arg3);
+    x2 = (fiat_id_tc26_gost_3410_2012_512_paramSetA_int1)(x1 >> 52);
+    x3 = (x1 & UINT64_C(0xfffffffffffff));
+    *out1 = x3;
+    *out2 = (fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1)(0x0 - x2);
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_addcarryx_u51(
+    uint64_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 *out2,
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 arg1, uint64_t arg2,
+    uint64_t arg3) {
+    uint64_t x1;
+    uint64_t x2;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x3;
+    x1 = ((arg1 + arg2) + arg3);
+    x2 = (x1 & UINT64_C(0x7ffffffffffff));
+    x3 = (fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1)(x1 >> 51);
+    *out1 = x2;
+    *out2 = x3;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_subborrowx_u51(
+    uint64_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 *out2,
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 arg1, uint64_t arg2,
+    uint64_t arg3) {
+    int64_t x1;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_int1 x2;
+    uint64_t x3;
+    x1 = ((int64_t)(arg2 - (int64_t)arg1) - (int64_t)arg3);
+    x2 = (fiat_id_tc26_gost_3410_2012_512_paramSetA_int1)(x1 >> 51);
+    x3 = (x1 & UINT64_C(0x7ffffffffffff));
+    *out1 = x3;
+    *out2 = (fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1)(0x0 - x2);
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_cmovznz_u64(
+    uint64_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 arg1,
+    uint64_t arg2, uint64_t arg3) {
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x1;
+    uint64_t x2;
+    uint64_t x3;
+    x1 = (!(!arg1));
+    x2 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_int1)(0x0 - x1) &
+          UINT64_C(0xffffffffffffffff));
+    x3 = ((x2 & arg3) | ((~x2) & arg2));
+    *out1 = x3;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_carry_mul(
+    uint64_t out1[10], const uint64_t arg1[10], const uint64_t arg2[10]) {
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x1;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x2;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x3;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x4;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x5;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x6;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x7;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x8;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x9;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x10;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x11;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x12;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x13;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x14;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x15;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x16;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x17;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x18;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x19;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x20;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x21;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x22;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x23;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x24;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x25;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x26;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x27;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x28;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x29;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x30;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x31;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x32;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x33;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x34;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x35;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x36;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x37;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x38;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x39;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x40;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x41;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x42;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x43;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x44;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x45;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x46;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x47;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x48;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x49;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x50;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x51;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x52;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x53;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x54;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x55;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x56;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x57;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x58;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x59;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x60;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x61;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x62;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x63;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x64;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x65;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x66;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x67;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x68;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x69;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x70;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x71;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x72;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x73;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x74;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x75;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x76;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x77;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x78;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x79;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x80;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x81;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x82;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x83;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x84;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x85;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x86;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x87;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x88;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x89;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x90;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x91;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x92;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x93;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x94;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x95;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x96;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x97;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x98;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x99;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x100;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x101;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x102;
+    uint64_t x103;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x104;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x105;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x106;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x107;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x108;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x109;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x110;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x111;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x112;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x113;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x114;
+    uint64_t x115;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x116;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x117;
+    uint64_t x118;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x119;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x120;
+    uint64_t x121;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x122;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x123;
+    uint64_t x124;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x125;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x126;
+    uint64_t x127;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x128;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x129;
+    uint64_t x130;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x131;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x132;
+    uint64_t x133;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x134;
+    uint64_t x135;
+    uint64_t x136;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x137;
+    uint64_t x138;
+    uint64_t x139;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x140;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x141;
+    uint64_t x142;
+    uint64_t x143;
+    uint64_t x144;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x145;
+    uint64_t x146;
+    uint64_t x147;
+    x1 = (UINT16_C(0x239) *
+          ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[9]) *
+           (arg2[9])));
+    x2 = (UINT16_C(0x239) *
+          ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[9]) *
+           (arg2[8])));
+    x3 = (UINT16_C(0x239) *
+          ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[9]) *
+           (arg2[7])));
+    x4 = (UINT16_C(0x239) *
+          (((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[9]) *
+            (arg2[6])) *
+           0x2));
+    x5 = (UINT16_C(0x239) *
+          ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[9]) *
+           (arg2[5])));
+    x6 = (UINT16_C(0x239) *
+          ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[9]) *
+           (arg2[4])));
+    x7 = (UINT16_C(0x239) *
+          ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[9]) *
+           (arg2[3])));
+    x8 = (UINT16_C(0x239) *
+          ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[9]) *
+           (arg2[2])));
+    x9 = (UINT16_C(0x239) *
+          (((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[9]) *
+            (arg2[1])) *
+           0x2));
+    x10 = (UINT16_C(0x239) *
+           ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[8]) *
+            (arg2[9])));
+    x11 = (UINT16_C(0x239) *
+           ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[8]) *
+            (arg2[8])));
+    x12 = (UINT16_C(0x239) *
+           (((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[8]) *
+             (arg2[7])) *
+            0x2));
+    x13 = (UINT16_C(0x239) *
+           (((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[8]) *
+             (arg2[6])) *
+            0x2));
+    x14 = (UINT16_C(0x239) *
+           ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[8]) *
+            (arg2[5])));
+    x15 = (UINT16_C(0x239) *
+           ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[8]) *
+            (arg2[4])));
+    x16 = (UINT16_C(0x239) *
+           ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[8]) *
+            (arg2[3])));
+    x17 = (UINT16_C(0x239) *
+           (((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[8]) *
+             (arg2[2])) *
+            0x2));
+    x18 = (UINT16_C(0x239) *
+           ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[7]) *
+            (arg2[9])));
+    x19 = (UINT16_C(0x239) *
+           (((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[7]) *
+             (arg2[8])) *
+            0x2));
+    x20 = (UINT16_C(0x239) *
+           (((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[7]) *
+             (arg2[7])) *
+            0x2));
+    x21 = (UINT16_C(0x239) *
+           (((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[7]) *
+             (arg2[6])) *
+            0x2));
+    x22 = (UINT16_C(0x239) *
+           ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[7]) *
+            (arg2[5])));
+    x23 = (UINT16_C(0x239) *
+           ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[7]) *
+            (arg2[4])));
+    x24 = (UINT16_C(0x239) *
+           (((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[7]) *
+             (arg2[3])) *
+            0x2));
+    x25 = (UINT16_C(0x239) *
+           (((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[6]) *
+             (arg2[9])) *
+            0x2));
+    x26 = (UINT16_C(0x239) *
+           (((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[6]) *
+             (arg2[8])) *
+            0x2));
+    x27 = (UINT16_C(0x239) *
+           (((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[6]) *
+             (arg2[7])) *
+            0x2));
+    x28 = (UINT16_C(0x239) *
+           (((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[6]) *
+             (arg2[6])) *
+            0x2));
+    x29 = (UINT16_C(0x239) *
+           ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[6]) *
+            (arg2[5])));
+    x30 = (UINT16_C(0x239) *
+           (((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[6]) *
+             (arg2[4])) *
+            0x2));
+    x31 = (UINT16_C(0x239) *
+           ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[5]) *
+            (arg2[9])));
+    x32 = (UINT16_C(0x239) *
+           ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[5]) *
+            (arg2[8])));
+    x33 = (UINT16_C(0x239) *
+           ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[5]) *
+            (arg2[7])));
+    x34 = (UINT16_C(0x239) *
+           ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[5]) *
+            (arg2[6])));
+    x35 = (UINT16_C(0x239) *
+           ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[5]) *
+            (arg2[5])));
+    x36 = (UINT16_C(0x239) *
+           ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[4]) *
+            (arg2[9])));
+    x37 = (UINT16_C(0x239) *
+           ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[4]) *
+            (arg2[8])));
+    x38 = (UINT16_C(0x239) *
+           ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[4]) *
+            (arg2[7])));
+    x39 = (UINT16_C(0x239) *
+           (((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[4]) *
+             (arg2[6])) *
+            0x2));
+    x40 = (UINT16_C(0x239) *
+           ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[3]) *
+            (arg2[9])));
+    x41 = (UINT16_C(0x239) *
+           ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[3]) *
+            (arg2[8])));
+    x42 = (UINT16_C(0x239) *
+           (((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[3]) *
+             (arg2[7])) *
+            0x2));
+    x43 = (UINT16_C(0x239) *
+           ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[2]) *
+            (arg2[9])));
+    x44 = (UINT16_C(0x239) *
+           (((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[2]) *
+             (arg2[8])) *
+            0x2));
+    x45 = (UINT16_C(0x239) *
+           (((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[1]) *
+             (arg2[9])) *
+            0x2));
+    x46 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[9]) *
+           (arg2[0]));
+    x47 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[8]) *
+           ((arg2[1]) * 0x2));
+    x48 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[8]) *
+           (arg2[0]));
+    x49 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[7]) *
+           ((arg2[2]) * 0x2));
+    x50 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[7]) *
+           ((arg2[1]) * 0x2));
+    x51 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[7]) *
+           (arg2[0]));
+    x52 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[6]) *
+           ((arg2[3]) * 0x2));
+    x53 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[6]) *
+           ((arg2[2]) * 0x2));
+    x54 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[6]) *
+           ((arg2[1]) * 0x2));
+    x55 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[6]) *
+           (arg2[0]));
+    x56 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[5]) *
+           (arg2[4]));
+    x57 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[5]) *
+           (arg2[3]));
+    x58 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[5]) *
+           (arg2[2]));
+    x59 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[5]) *
+           (arg2[1]));
+    x60 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[5]) *
+           (arg2[0]));
+    x61 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[4]) *
+           (arg2[5]));
+    x62 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[4]) *
+           (arg2[4]));
+    x63 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[4]) *
+           (arg2[3]));
+    x64 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[4]) *
+           (arg2[2]));
+    x65 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[4]) *
+           ((arg2[1]) * 0x2));
+    x66 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[4]) *
+           (arg2[0]));
+    x67 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[3]) *
+           ((arg2[6]) * 0x2));
+    x68 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[3]) *
+           (arg2[5]));
+    x69 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[3]) *
+           (arg2[4]));
+    x70 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[3]) *
+           (arg2[3]));
+    x71 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[3]) *
+           ((arg2[2]) * 0x2));
+    x72 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[3]) *
+           ((arg2[1]) * 0x2));
+    x73 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[3]) *
+           (arg2[0]));
+    x74 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[2]) *
+           ((arg2[7]) * 0x2));
+    x75 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[2]) *
+           ((arg2[6]) * 0x2));
+    x76 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[2]) *
+           (arg2[5]));
+    x77 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[2]) *
+           (arg2[4]));
+    x78 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[2]) *
+           ((arg2[3]) * 0x2));
+    x79 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[2]) *
+           ((arg2[2]) * 0x2));
+    x80 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[2]) *
+           ((arg2[1]) * 0x2));
+    x81 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[2]) *
+           (arg2[0]));
+    x82 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[1]) *
+           ((arg2[8]) * 0x2));
+    x83 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[1]) *
+           ((arg2[7]) * 0x2));
+    x84 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[1]) *
+           ((arg2[6]) * 0x2));
+    x85 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[1]) *
+           (arg2[5]));
+    x86 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[1]) *
+           ((arg2[4]) * 0x2));
+    x87 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[1]) *
+           ((arg2[3]) * 0x2));
+    x88 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[1]) *
+           ((arg2[2]) * 0x2));
+    x89 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[1]) *
+           ((arg2[1]) * 0x2));
+    x90 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[1]) *
+           (arg2[0]));
+    x91 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[0]) *
+           (arg2[9]));
+    x92 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[0]) *
+           (arg2[8]));
+    x93 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[0]) *
+           (arg2[7]));
+    x94 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[0]) *
+           (arg2[6]));
+    x95 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[0]) *
+           (arg2[5]));
+    x96 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[0]) *
+           (arg2[4]));
+    x97 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[0]) *
+           (arg2[3]));
+    x98 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[0]) *
+           (arg2[2]));
+    x99 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[0]) *
+           (arg2[1]));
+    x100 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_uint128 x19;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x20;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x21;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x22;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x23;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x24;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x25;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x26;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x27;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x28;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x29;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x30;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x31;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x32;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x33;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x34;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x35;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x36;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x37;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x38;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x39;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x40;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x41;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x42;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x43;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x44;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x45;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x46;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x47;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x48;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x49;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x50;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x51;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x52;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x53;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x54;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x55;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x56;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x57;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x58;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x59;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x60;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x61;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x62;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x63;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x64;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x65;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x66;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x67;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x68;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x69;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x70;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x71;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x72;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x73;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x74;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x75;
+    uint64_t x76;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x77;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x78;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x79;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x80;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x81;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x82;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x83;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x84;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x85;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x86;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x87;
+    uint64_t x88;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x89;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x90;
+    uint64_t x91;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x92;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x93;
+    uint64_t x94;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x95;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x96;
+    uint64_t x97;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x98;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x99;
+    uint64_t x100;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x101;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x102;
+    uint64_t x103;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x104;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x105;
+    uint64_t x106;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x107;
+    uint64_t x108;
+    uint64_t x109;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x110;
+    uint64_t x111;
+    uint64_t x112;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x113;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128 x114;
+    uint64_t x115;
+    uint64_t x116;
+    uint64_t x117;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_uint128)(arg1[9]) * x1);
+    x20 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[8]) * x2);
+    x21 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[8]) * x4);
+    x22 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[7]) * x2);
+    x23 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[7]) *
+           (x5 * 0x2));
+    x24 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[7]) *
+           (x7 * 0x2));
+    x25 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[6]) *
+           (x2 * 0x2));
+    x26 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[6]) *
+           (x5 * 0x2));
+    x27 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[6]) *
+           (x8 * 0x2));
+    x28 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[6]) *
+           (x10 * 0x2));
+    x29 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[5]) * x2);
+    x30 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[5]) * x5);
+    x31 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[5]) * x8);
+    x32 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[5]) * x11);
+    x33 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[5]) * x13);
+    x34 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[4]) * x2);
+    x35 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[4]) * x5);
+    x36 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[4]) * x8);
+    x37 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[4]) *
+           (x11 * 0x2));
+    x38 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[4]) * x14);
+    x39 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[4]) *
+           (arg1[4]));
+    x40 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[3]) * x2);
+    x41 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[3]) * x5);
+    x42 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[3]) *
+           (x8 * 0x2));
+    x43 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[3]) *
+           (x12 * 0x2));
+    x44 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[3]) * x14);
+    x45 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[3]) * x15);
+    x46 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[3]) *
+           (arg1[3]));
+    x47 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[2]) * x2);
+    x48 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[2]) *
+           (x5 * 0x2));
+    x49 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[2]) *
+           (x9 * 0x2));
+    x50 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[2]) *
+           (x12 * 0x2));
+    x51 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[2]) * x14);
+    x52 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[2]) * x15);
+    x53 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[2]) *
+           (x16 * 0x2));
+    x54 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[2]) *
+           ((arg1[2]) * 0x2));
+    x55 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[1]) *
+           (x2 * 0x2));
+    x56 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[1]) *
+           (x6 * 0x2));
+    x57 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[1]) *
+           (x9 * 0x2));
+    x58 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[1]) *
+           (x12 * 0x2));
+    x59 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[1]) * x14);
+    x60 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[1]) *
+           (x15 * 0x2));
+    x61 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[1]) *
+           (x16 * 0x2));
+    x62 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[1]) *
+           (x17 * 0x2));
+    x63 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[1]) *
+           ((arg1[1]) * 0x2));
+    x64 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[0]) * x3);
+    x65 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[0]) * x6);
+    x66 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[0]) * x9);
+    x67 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[0]) * x12);
+    x68 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[0]) * x14);
+    x69 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[0]) * x15);
+    x70 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[0]) * x16);
+    x71 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[0]) * x17);
+    x72 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_uint128)(arg1[0]) * x18);
+    x73 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_selectznz(
+    uint64_t out1[10], fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_cmovznz_u64(&x1, arg1, (arg2[0]),
+                                                          (arg3[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_cmovznz_u64(&x2, arg1, (arg2[1]),
+                                                          (arg3[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_cmovznz_u64(&x3, arg1, (arg2[2]),
+                                                          (arg3[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_cmovznz_u64(&x4, arg1, (arg2[3]),
+                                                          (arg3[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_cmovznz_u64(&x5, arg1, (arg2[4]),
+                                                          (arg3[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_cmovznz_u64(&x6, arg1, (arg2[5]),
+                                                          (arg3[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_cmovznz_u64(&x7, arg1, (arg2[6]),
+                                                          (arg3[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_cmovznz_u64(&x8, arg1, (arg2[7]),
+                                                          (arg3[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_cmovznz_u64(&x9, arg1, (arg2[8]),
+                                                          (arg3[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_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_paramSetA_to_bytes(
+    uint8_t out1[64], const uint64_t arg1[10]) {
+    uint64_t x1;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x2;
+    uint64_t x3;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x4;
+    uint64_t x5;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x6;
+    uint64_t x7;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x8;
+    uint64_t x9;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x10;
+    uint64_t x11;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x12;
+    uint64_t x13;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x14;
+    uint64_t x15;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x16;
+    uint64_t x17;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x18;
+    uint64_t x19;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x20;
+    uint64_t x21;
+    uint64_t x22;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x23;
+    uint64_t x24;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x25;
+    uint64_t x26;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x27;
+    uint64_t x28;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x29;
+    uint64_t x30;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x31;
+    uint64_t x32;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x33;
+    uint64_t x34;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x35;
+    uint64_t x36;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x37;
+    uint64_t x38;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x39;
+    uint64_t x40;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_subborrowx_u52(
+        &x1, &x2, 0x0, (arg1[0]), UINT64_C(0xffffffffffdc7));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_subborrowx_u51(
+        &x3, &x4, x2, (arg1[1]), UINT64_C(0x7ffffffffffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_subborrowx_u51(
+        &x5, &x6, x4, (arg1[2]), UINT64_C(0x7ffffffffffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_subborrowx_u51(
+        &x7, &x8, x6, (arg1[3]), UINT64_C(0x7ffffffffffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_subborrowx_u51(
+        &x9, &x10, x8, (arg1[4]), UINT64_C(0x7ffffffffffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_subborrowx_u52(
+        &x11, &x12, x10, (arg1[5]), UINT64_C(0xfffffffffffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_subborrowx_u51(
+        &x13, &x14, x12, (arg1[6]), UINT64_C(0x7ffffffffffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_subborrowx_u51(
+        &x15, &x16, x14, (arg1[7]), UINT64_C(0x7ffffffffffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_subborrowx_u51(
+        &x17, &x18, x16, (arg1[8]), UINT64_C(0x7ffffffffffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_subborrowx_u51(
+        &x19, &x20, x18, (arg1[9]), UINT64_C(0x7ffffffffffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_cmovznz_u64(
+        &x21, x20, 0x0, UINT64_C(0xffffffffffffffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_addcarryx_u52(
+        &x22, &x23, 0x0, x1, (x21 & UINT64_C(0xffffffffffdc7)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_addcarryx_u51(
+        &x24, &x25, x23, x3, (x21 & UINT64_C(0x7ffffffffffff)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_addcarryx_u51(
+        &x26, &x27, x25, x5, (x21 & UINT64_C(0x7ffffffffffff)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_addcarryx_u51(
+        &x28, &x29, x27, x7, (x21 & UINT64_C(0x7ffffffffffff)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_addcarryx_u51(
+        &x30, &x31, x29, x9, (x21 & UINT64_C(0x7ffffffffffff)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_addcarryx_u52(
+        &x32, &x33, x31, x11, (x21 & UINT64_C(0xfffffffffffff)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_addcarryx_u51(
+        &x34, &x35, x33, x13, (x21 & UINT64_C(0x7ffffffffffff)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_addcarryx_u51(
+        &x36, &x37, x35, x15, (x21 & UINT64_C(0x7ffffffffffff)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_addcarryx_u51(
+        &x38, &x39, x37, x17, (x21 & UINT64_C(0x7ffffffffffff)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA/fe_inv.op3
+ * custom repunit addition chain
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_carry_square(acc, t1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t2, acc, t1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t3, acc, t1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, t3);
+    for (i = 0; i < 2; i++)
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t6, acc, t3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, t6);
+    for (i = 0; i < 5; i++)
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t12, acc, t6);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, t12);
+    for (i = 0; i < 11; i++)
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t24, acc, t12);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, t24);
+    for (i = 0; i < 23; i++)
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t48, acc, t24);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, t48);
+    for (i = 0; i < 47; i++)
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t96, acc, t48);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, t96);
+    for (i = 0; i < 5; i++)
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t102, acc, t6);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, t102);
+    for (i = 0; i < 95; i++)
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t198, acc, t96);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, t198);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t200, acc, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, t200);
+    for (i = 0; i < 199; i++)
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t400, acc, t200);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, t400);
+    for (i = 0; i < 101; i++)
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t502, acc, t102);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, t502);
+    for (i = 0; i < 3; i++)
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(acc, acc, t3);
+    for (i = 0; i < 4; i++)
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(acc, acc, t1);
+    for (i = 0; i < 2; i++)
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_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_b[10] = {
+    UINT64_C(0x000190785A71C760), UINT64_C(0x00054EBEE4761503),
+    UINT64_C(0x0001B521BB0C5DF3), UINT64_C(0x0001D8532D15D004),
+    UINT64_C(0x000771E584879869), UINT64_C(0x000D081CFD0B6265),
+    UINT64_C(0x00074761CB0E879B), UINT64_C(0x0004CFE3B469704A),
+    UINT64_C(0x0001B7706F42CAD9), UINT64_C(0x0007461282EF6FE4)};
+
+/* LUT for scalar multiplication by comb interleaving */
+static const pt_aff_t lut_cmb[12][16] = {
+    {
+        {{UINT64_C(0x0000000000000003), 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(0x000589CB5215F2A4), UINT64_C(0x0005FC235F5B889A),
+          UINT64_C(0x00047483D30051FC), UINT64_C(0x0005BA4F5D79A943),
+          UINT64_C(0x0006F8B135F27E81), UINT64_C(0x000064FDCBEFA921),
+          UINT64_C(0x00013ACF1ABC1778), UINT64_C(0x0004A8A1CD9CBC39),
+          UINT64_C(0x0002B8E986E205B8), UINT64_C(0x0003A81E7F43D41B)}},
+        {{UINT64_C(0x000134687CCB87C3), UINT64_C(0x0003A10544E8416E),
+          UINT64_C(0x00061120F5D8AB9F), UINT64_C(0x0004D75D92CBD5EC),
+          UINT64_C(0x00021E94205A696E), UINT64_C(0x000291D5F488FBA5),
+          UINT64_C(0x0004C096168A1174), UINT64_C(0x00034ACFF09B62AD),
+          UINT64_C(0x00019FAD4E4D776D), UINT64_C(0x00050FF8D5938951)},
+         {UINT64_C(0x000CD7EC518D90D6), UINT64_C(0x000711A4FB6C7125),
+          UINT64_C(0x000298DBA98C6CDE), UINT64_C(0x00005BBAB3EB0BFA),
+          UINT64_C(0x00008E9D7BF33E26), UINT64_C(0x00019E3F333F7EB3),
+          UINT64_C(0x00048D7F84FBFA38), UINT64_C(0x00076B7309883C74),
+          UINT64_C(0x0000DFCC0DD3C626), UINT64_C(0x0001E5AE220BF623)}},
+        {{UINT64_C(0x000AEA0CE47F1E5F), UINT64_C(0x0006DA872DC7D9E3),
+          UINT64_C(0x0004026E133CB612), UINT64_C(0x0001D4C81CBDD5C9),
+          UINT64_C(0x000116A46100FB10), UINT64_C(0x000C71645B8C9FFB),
+          UINT64_C(0x0006AFE06F1C1484), UINT64_C(0x0000B6FF2FF4E6C1),
+          UINT64_C(0x0000A642376D824E), UINT64_C(0x0002B4540E895C56)},
+         {UINT64_C(0x000BB3B92706CBC6), UINT64_C(0x0005700DE178E056),
+          UINT64_C(0x000197807544BFFA), UINT64_C(0x000706F69DD298A6),
+          UINT64_C(0x000205A8622A4E8B), UINT64_C(0x000109A43ED36596),
+          UINT64_C(0x00049AB5B2BD5C17), UINT64_C(0x000515CF2C048D7F),
+          UINT64_C(0x000651FD0ECDF273), UINT64_C(0x0003C6B66DABD057)}},
+        {{UINT64_C(0x000ABFC1B7D256E0), UINT64_C(0x00022DFADD1D6E68),
+          UINT64_C(0x00033EEC39057D08), UINT64_C(0x00075EC5CD3B3AFE),
+          UINT64_C(0x000073336BE8A8F9), UINT64_C(0x000528C313659874),
+          UINT64_C(0x000045D76D6402E5), UINT64_C(0x0007B1F5060389E6),
+          UINT64_C(0x0005D713A16A99F2), UINT64_C(0x0003C394B1ED6CB5)},
+         {UINT64_C(0x000A8C1A38755E5A), UINT64_C(0x0005CA589C9447E1),
+          UINT64_C(0x0002D738BA7D236E), UINT64_C(0x00005E7DB74C629B),
+          UINT64_C(0x000062E362468963), UINT64_C(0x000EBFCB8EE6AF9E),
+          UINT64_C(0x000193EA82E68F84), UINT64_C(0x00003CAA0E7EFC3A),
+          UINT64_C(0x00054937BC67C142), UINT64_C(0x000432F67FAB85C5)}},
+        {{UINT64_C(0x000C34CEE53642A2), UINT64_C(0x00048BA44E987AEF),
+          UINT64_C(0x0007CFBA481AC93A), UINT64_C(0x000252C52E6724E2),
+          UINT64_C(0x00069C1386DDE181), UINT64_C(0x0003FE183213C47A),
+          UINT64_C(0x0006C13A8DC37861), UINT64_C(0x0004546EA0F50627),
+          UINT64_C(0x0007B6C23C692349), UINT64_C(0x0004307D8079E6F2)},
+         {UINT64_C(0x000812879D2E3C8E), UINT64_C(0x000191C73044FE47),
+          UINT64_C(0x00077218289340D5), UINT64_C(0x0005DA711BBBFF71),
+          UINT64_C(0x0001C57405B59E36), UINT64_C(0x000C7F1B91C21105),
+          UINT64_C(0x000066E23EF3A609), UINT64_C(0x00012EB6D5C73D15),
+          UINT64_C(0x00020C3294080ED7), UINT64_C(0x00033ABC6BDE0FD2)}},
+        {{UINT64_C(0x00002EE1E7135C5B), UINT64_C(0x000147440718098F),
+          UINT64_C(0x000742216A0AD24C), UINT64_C(0x000209FAE0414762),
+          UINT64_C(0x0007523CACA53442), UINT64_C(0x0002240ADDECED0B),
+          UINT64_C(0x00023970F6F47640), UINT64_C(0x000799A6033CA82E),
+          UINT64_C(0x00013F8D7EBD8951), UINT64_C(0x0003167F9B05B77B)},
+         {UINT64_C(0x00084059554ECF79), UINT64_C(0x0005753C6736FF73),
+          UINT64_C(0x000619A371C7BA90), UINT64_C(0x00007A6287324180),
+          UINT64_C(0x00037396508E43B1), UINT64_C(0x000B92328505DD45),
+          UINT64_C(0x00055C92400C6EE2), UINT64_C(0x0002654406A9F655),
+          UINT64_C(0x0003AF03185F59DF), UINT64_C(0x0000C9632A02E2DE)}},
+        {{UINT64_C(0x00082288639F2EBD), UINT64_C(0x0004E3BE5A9F335C),
+          UINT64_C(0x0000475B64CDF3D5), UINT64_C(0x00003AD875B443CE),
+          UINT64_C(0x0005A22CF276D7D8), UINT64_C(0x00059A094CC2E917),
+          UINT64_C(0x0002CAA724BAEBC5), UINT64_C(0x0001CB230407F535),
+          UINT64_C(0x00043A679D215417), UINT64_C(0x00032069427B390F)},
+         {UINT64_C(0x00005AAE7CCDEA72), UINT64_C(0x000227E312EBD77B),
+          UINT64_C(0x0006C48359C093AD), UINT64_C(0x00066AE122001431),
+          UINT64_C(0x0002A7685789D1A1), UINT64_C(0x000DDDC9B1721593),
+          UINT64_C(0x0002EB3A73075BAE), UINT64_C(0x00010D483A062D6E),
+          UINT64_C(0x000414E1A10675C2), UINT64_C(0x0003FC179BB802A2)}},
+        {{UINT64_C(0x000FA7D670E14D45), UINT64_C(0x0005B60822C15C07),
+          UINT64_C(0x0006E1C8DC8B953D), UINT64_C(0x0003AA1F0C09E3C3),
+          UINT64_C(0x0004C494E672EDE4), UINT64_C(0x00061EB986E7C9B9),
+          UINT64_C(0x0003EDBB8C82ECC2), UINT64_C(0x0007B7E098625DE1),
+          UINT64_C(0x0001652C34790E48), UINT64_C(0x000181E9C44FB652)},
+         {UINT64_C(0x00026B7BFCB41422), UINT64_C(0x0004420662645444),
+          UINT64_C(0x0005427FA987FF52), UINT64_C(0x0005B9040DF26326),
+          UINT64_C(0x000334DEEC131B7C), UINT64_C(0x0009976A9AEB37C6),
+          UINT64_C(0x0005DE6BDA0EE26F), UINT64_C(0x00046CD4B8DA22BF),
+          UINT64_C(0x0001A9277ED46EDA), UINT64_C(0x00048FE9C8EA98F0)}},
+        {{UINT64_C(0x00069292A4F09AE6), UINT64_C(0x00059EEEC0228FDC),
+          UINT64_C(0x0002E6A2EB99E1C1), UINT64_C(0x00028B36B1CB7EDC),
+          UINT64_C(0x0007C4D51AEABB6E), UINT64_C(0x00040FA7C5F982AC),
+          UINT64_C(0x0000A163AFAB5A89), UINT64_C(0x000436DC36654D6F),
+          UINT64_C(0x0006E7E4EFBDBA76), UINT64_C(0x000469D46D1AEC82)},
+         {UINT64_C(0x0003F3770683CF55), UINT64_C(0x0007581899AFCAA5),
+          UINT64_C(0x00021BB9291EC382), UINT64_C(0x000725C1812F5867),
+          UINT64_C(0x00010D68EF013EA6), UINT64_C(0x000D8AD6CCEEDD36),
+          UINT64_C(0x0004145477456E2A), UINT64_C(0x000350F4CCCDD3ED),
+          UINT64_C(0x0006D247F4FCCCBC), UINT64_C(0x0002C35AD24695CC)}},
+        {{UINT64_C(0x0000563E3BB2C9A3), UINT64_C(0x0004731F28271C7E),
+          UINT64_C(0x00006474AEE84E9A), UINT64_C(0x00079618BA66931E),
+          UINT64_C(0x0005DEEC306DF549), UINT64_C(0x000A49F4075B243E),
+          UINT64_C(0x00072F449585855D), UINT64_C(0x000031C0CC652EF1),
+          UINT64_C(0x00003DDAA420F12A), UINT64_C(0x00027047A35D3C45)},
+         {UINT64_C(0x0008D45AEA9F97DE), UINT64_C(0x00031B40D05861EA),
+          UINT64_C(0x00022DF5AC218686), UINT64_C(0x000237062CC05B46),
+          UINT64_C(0x000511B267DD6BA7), UINT64_C(0x000818297550A398),
+          UINT64_C(0x000702FE7A56CB70), UINT64_C(0x00053C7D673599DE),
+          UINT64_C(0x0003ED45D15B6C15), UINT64_C(0x0001806F568245B9)}},
+        {{UINT64_C(0x0009351072DB2170), UINT64_C(0x00033196A2CEF459),
+          UINT64_C(0x0006744E6383FCEF), UINT64_C(0x0005C51252A32D28),
+          UINT64_C(0x00005FA2110CC455), UINT64_C(0x0004B8063421A324),
+          UINT64_C(0x0007D30325E5137D), UINT64_C(0x0002AFA7F320E835),
+          UINT64_C(0x00011A9719C3D5ED), UINT64_C(0x0006DFED78D57C93)},
+         {UINT64_C(0x000CD2B1C06C89E0), UINT64_C(0x00005887BE69BEF0),
+          UINT64_C(0x00023A5834EEE4F0), UINT64_C(0x00064984FA6CCD98),
+          UINT64_C(0x00006FB77FDF3397), UINT64_C(0x0001EBEBCE68907A),
+          UINT64_C(0x0006784C0935BED2), UINT64_C(0x00050FF3F3DFF454),
+          UINT64_C(0x0004036C327922ED), UINT64_C(0x00008DE3F2C6A92E)}},
+        {{UINT64_C(0x0006E03B0A49FC14), UINT64_C(0x0002D86C93A83EE0),
+          UINT64_C(0x0004A7F892C15148), UINT64_C(0x0002FC12A44E72B1),
+          UINT64_C(0x0000F1222DB270EC), UINT64_C(0x0005C305D53F498F),
+          UINT64_C(0x0005C15989BD840C), UINT64_C(0x0005FD28651837A4),
+          UINT64_C(0x0001F44FE46C7F06), UINT64_C(0x00025B96CDAFE605)},
+         {UINT64_C(0x0009FDD223F15C01), UINT64_C(0x0007578682CC2965),
+          UINT64_C(0x0006222B764EE30D), UINT64_C(0x0002695A8C2DDC09),
+          UINT64_C(0x0003EED3043E0B4D), UINT64_C(0x000DF4BA29380423),
+          UINT64_C(0x000799CE51DCFEE3), UINT64_C(0x0001DC423C4607A6),
+          UINT64_C(0x000353F2E08F2F67), UINT64_C(0x0002DE3BCB26FB64)}},
+        {{UINT64_C(0x000121C2DFF5C5F8), UINT64_C(0x0002C6372966E3BB),
+          UINT64_C(0x00040EDCBB6FAE3D), UINT64_C(0x00045E8590C45B65),
+          UINT64_C(0x00057F2556A1008A), UINT64_C(0x000D2C63669622C2),
+          UINT64_C(0x00053762BBDA6A4D), UINT64_C(0x000638814A3C0C15),
+          UINT64_C(0x0006306A8C676FEC), UINT64_C(0x00039FEA5B5F2932)},
+         {UINT64_C(0x00045B18CC6F6BD4), UINT64_C(0x000572570661CF49),
+          UINT64_C(0x0003DB3E7E6325C0), UINT64_C(0x0000D4366AC3C833),
+          UINT64_C(0x0000BA40102D6C2B), UINT64_C(0x000D88CD5627BDAA),
+          UINT64_C(0x0001A191F2BD95D8), UINT64_C(0x0007B490EB1F6E2E),
+          UINT64_C(0x0001854754C42C14), UINT64_C(0x0004F9B402BCF150)}},
+        {{UINT64_C(0x00062710FFD6E4C3), UINT64_C(0x00075F168936C9E7),
+          UINT64_C(0x0005EBCC23DECE92), UINT64_C(0x0006A533FC0618A4),
+          UINT64_C(0x00006276D8296DCC), UINT64_C(0x000C6FDBE7DDD556),
+          UINT64_C(0x0005F77BF0F1421B), UINT64_C(0x00021327FBB8BE4C),
+          UINT64_C(0x00039F51E09D0F1B), UINT64_C(0x00036B0DC0560BD1)},
+         {UINT64_C(0x00090F866EA9C581), UINT64_C(0x0001BB6C84E218AF),
+          UINT64_C(0x00016801E510D5D1), UINT64_C(0x00048969111EF218),
+          UINT64_C(0x00032F01F97E8EAC), UINT64_C(0x000846529FDA255F),
+          UINT64_C(0x00003E0DA43E7BC5), UINT64_C(0x0005377E9AD3A533),
+          UINT64_C(0x00054F1C41B443CC), UINT64_C(0x0001E2C9C182A7B8)}},
+        {{UINT64_C(0x0006822BBEC85A6F), UINT64_C(0x00037FF627207C7D),
+          UINT64_C(0x000099E1EDB38619), UINT64_C(0x00024EABAAEF4727),
+          UINT64_C(0x0001634583C11813), UINT64_C(0x0005BF27EB8FC0B2),
+          UINT64_C(0x0002C5E6D68AED81), UINT64_C(0x00051011E59FEFC1),
+          UINT64_C(0x0005BDE68E16008B), UINT64_C(0x00001CDB6AC4A926)},
+         {UINT64_C(0x000F9C8354532F1F), UINT64_C(0x0003B7D13F24D465),
+          UINT64_C(0x0001EE14FAFB642C), UINT64_C(0x0003086537C154F6),
+          UINT64_C(0x000498FB21A3549B), UINT64_C(0x000D5F9768C501AF),
+          UINT64_C(0x0007358BD9264583), UINT64_C(0x00020604DE0C73BC),
+          UINT64_C(0x0004C1EFB4D90397), UINT64_C(0x000316FD7FD552FA)}},
+        {{UINT64_C(0x000DF775325B2BEF), UINT64_C(0x0007C981BDB56B5B),
+          UINT64_C(0x00030415FEF5D1EB), UINT64_C(0x00066427FB342115),
+          UINT64_C(0x00039F275DCEB907), UINT64_C(0x000FC52CB944765D),
+          UINT64_C(0x00063BA40ACC8623), UINT64_C(0x000217B5022687A4),
+          UINT64_C(0x0003782EE74343F6), UINT64_C(0x0006E344AF9791BC)},
+         {UINT64_C(0x0006A094A3D00C90), UINT64_C(0x0000A8C2AF5A4ED6),
+          UINT64_C(0x0002593EB8606459), UINT64_C(0x0006BB706B63F1A3),
+          UINT64_C(0x0001AC9ABD940E22), UINT64_C(0x000A8AFEAB077BE2),
+          UINT64_C(0x000053C3E6DE9695), UINT64_C(0x00035197B6C50B68),
+          UINT64_C(0x0005F05ED56144C6), UINT64_C(0x0005D16C6B2F7A7D)}},
+    },
+    {
+        {{UINT64_C(0x0009697EFB5343B1), UINT64_C(0x00030F79CEE2F4D7),
+          UINT64_C(0x0007C57239C2BFFF), UINT64_C(0x0005E177E6306573),
+          UINT64_C(0x00058AECAB18B5E4), UINT64_C(0x000C2D8B42DA873F),
+          UINT64_C(0x00067CEC60F40D7C), UINT64_C(0x0001CD069631374B),
+          UINT64_C(0x00053BF89F276A0A), UINT64_C(0x000211BC2F82ABCC)},
+         {UINT64_C(0x000F42F918BECCB0), UINT64_C(0x00050BCCFB9278C6),
+          UINT64_C(0x000521F422BE023A), UINT64_C(0x000247E206708DFF),
+          UINT64_C(0x000603F8EAFA08E8), UINT64_C(0x0001C8FA49E8E7A9),
+          UINT64_C(0x0000ED2F247FA8F2), UINT64_C(0x00054F2BD90FC41F),
+          UINT64_C(0x000613E3F3A0E141), UINT64_C(0x00058F502829C1A3)}},
+        {{UINT64_C(0x000FA958A02414EA), UINT64_C(0x0005694D8B531753),
+          UINT64_C(0x0002596B7F70E2D2), UINT64_C(0x0006F58C437031E9),
+          UINT64_C(0x0005E52B9AB2FC87), UINT64_C(0x00047681FFAD52A2),
+          UINT64_C(0x00054CFD109661E6), UINT64_C(0x0002642E41E026F7),
+          UINT64_C(0x00015A4C0B3E2C49), UINT64_C(0x00012DBAB3D25C66)},
+         {UINT64_C(0x000F66D444F2C6A3), UINT64_C(0x000465ABD7FBD63E),
+          UINT64_C(0x000346682E14F62C), UINT64_C(0x0007D1BFDC2BDD7C),
+          UINT64_C(0x00014B50150CDD7D), UINT64_C(0x000F1BAD6F065607),
+          UINT64_C(0x0001B669F08E4917), UINT64_C(0x0007147465D09FD0),
+          UINT64_C(0x0002E2E3DF8C1CE5), UINT64_C(0x0003E168C6A9219B)}},
+        {{UINT64_C(0x00026E66F048E71C), UINT64_C(0x00021DA6DDB4379F),
+          UINT64_C(0x0006A446FCD70668), UINT64_C(0x0000ED5A782862E2),
+          UINT64_C(0x000600DB452AEA1A), UINT64_C(0x00070E2B0EE96B31),
+          UINT64_C(0x000272BCDA0E468B), UINT64_C(0x0006754F74551E8E),
+          UINT64_C(0x00030B2901255489), UINT64_C(0x00018BA394D8F24B)},
+         {UINT64_C(0x000EF5DAB92AD60C), UINT64_C(0x0007A4E353682E4C),
+          UINT64_C(0x0004D92B14F64543), UINT64_C(0x0006FB1C445C4562),
+          UINT64_C(0x00005F0C73553832), UINT64_C(0x000F219585C811FA),
+          UINT64_C(0x00002373528CE90C), UINT64_C(0x0005AEFE0F86FFD6),
+          UINT64_C(0x000065686EF3DFA1), UINT64_C(0x0004BCFCBABBE76F)}},
+        {{UINT64_C(0x000A04E942DB5726), UINT64_C(0x0004E0A8E957D2EB),
+          UINT64_C(0x000042171E8C74B0), UINT64_C(0x0002CD5D9C992A32),
+          UINT64_C(0x00021775A666DF3B), UINT64_C(0x0009B1719FCE5AFD),
+          UINT64_C(0x00070479A5510650), UINT64_C(0x00076CA597F5197E),
+          UINT64_C(0x0002FF8004DC7298), UINT64_C(0x000427FBA3F2118F)},
+         {UINT64_C(0x000B2B7F0F1BC525), UINT64_C(0x0004F49FDAF0E9F8),
+          UINT64_C(0x000119E1F8B31D5C), UINT64_C(0x00002C2E70F7717A),
+          UINT64_C(0x000547EB13E64F24), UINT64_C(0x00061C10285CB68B),
+          UINT64_C(0x00027F33F80AC82B), UINT64_C(0x00007A73F720ACD1),
+          UINT64_C(0x0000FA4783E28EA8), UINT64_C(0x0005E1B01569FE4A)}},
+        {{UINT64_C(0x000C8833182EEC18), UINT64_C(0x0005188EE3CCBD7D),
+          UINT64_C(0x000145800FA7D3B9), UINT64_C(0x00015F410C821BF2),
+          UINT64_C(0x0006D6985D22BB97), UINT64_C(0x000ACE8A202EEB11),
+          UINT64_C(0x000000D3BC5FFCBC), UINT64_C(0x0005A94DE37C5B1E),
+          UINT64_C(0x0006A3E90AE676A0), UINT64_C(0x0003DC3E9B9DEA03)},
+         {UINT64_C(0x000ADDB18897A653), UINT64_C(0x00028BB1348E369A),
+          UINT64_C(0x0000E0EF15D097A0), UINT64_C(0x000369538A36A67C),
+          UINT64_C(0x0004F11787ECB811), UINT64_C(0x000DAB579DC3F6E7),
+          UINT64_C(0x00051EEDC98205E1), UINT64_C(0x000296B14C5B057C),
+          UINT64_C(0x0006A6B518D5A499), UINT64_C(0x0004B973FBCAD781)}},
+        {{UINT64_C(0x00092403168F568C), UINT64_C(0x00050C76745944DA),
+          UINT64_C(0x00045586DDAA3849), UINT64_C(0x0002424F7A393AE3),
+          UINT64_C(0x0003613FCF452DAE), UINT64_C(0x000483477F08760D),
+          UINT64_C(0x0006DE9C9C30A9F7), UINT64_C(0x0006DE3DC9E26B78),
+          UINT64_C(0x00072E8A269F2328), UINT64_C(0x0001A0904E3E62B3)},
+         {UINT64_C(0x000F53CF7A63B520), UINT64_C(0x00016E19E79779D7),
+          UINT64_C(0x0003BA73148BC41B), UINT64_C(0x0000A0B9CB876955),
+          UINT64_C(0x0002C3678483C9E4), UINT64_C(0x0001717604F49F0C),
+          UINT64_C(0x0006DA52AE47D9A6), UINT64_C(0x00018A068DEAD248),
+          UINT64_C(0x0000A45F44D54D0B), UINT64_C(0x000201738C7D6750)}},
+        {{UINT64_C(0x000BFD50B6C0ED05), UINT64_C(0x0003B59B6181691D),
+          UINT64_C(0x00036E5595022312), UINT64_C(0x0006371166F016C4),
+          UINT64_C(0x0000D2463D93685C), UINT64_C(0x0000FB99CEC22230),
+          UINT64_C(0x000662B7CA84328B), UINT64_C(0x0005B058F277AA90),
+          UINT64_C(0x000744C6285E6BE8), UINT64_C(0x00044924B43A399C)},
+         {UINT64_C(0x0009FE2EF5756858), UINT64_C(0x0002609FAC19675C),
+          UINT64_C(0x0001EDB73C43A527), UINT64_C(0x00018040218709B5),
+          UINT64_C(0x00038E60561A169C), UINT64_C(0x000716A3DE9C2728),
+          UINT64_C(0x0001312CD53738AB), UINT64_C(0x00003A5EADF12479),
+          UINT64_C(0x0004F1C4C30A626A), UINT64_C(0x00017077F028932B)}},
+        {{UINT64_C(0x0005E4B52DDE7879), UINT64_C(0x0000DD824234AF86),
+          UINT64_C(0x0007E33F8D4E4720), UINT64_C(0x0007DE0000448CDA),
+          UINT64_C(0x00033984E740002A), UINT64_C(0x000C47E6A3586EA2),
+          UINT64_C(0x00044D0958EBE073), UINT64_C(0x00001246801B8077),
+          UINT64_C(0x0002F9FC5AA5757F), UINT64_C(0x0001A2DCE0976101)},
+         {UINT64_C(0x000660A83163C88F), UINT64_C(0x000537D8B7F6309C),
+          UINT64_C(0x00008DD86923D2DE), UINT64_C(0x0001EDCB48974621),
+          UINT64_C(0x00006C01F610F051), UINT64_C(0x0008C9E7599C4A9D),
+          UINT64_C(0x00036EA13E261953), UINT64_C(0x0003ED8BC32C0F96),
+          UINT64_C(0x000755A3B7B81967), UINT64_C(0x00013DE89A6B4D9D)}},
+        {{UINT64_C(0x000CA6E0EB363C7F), UINT64_C(0x0005F55CE82062CB),
+          UINT64_C(0x00054C8A253358D0), UINT64_C(0x0002C5D656290FF8),
+          UINT64_C(0x00057F5B9325F1DA), UINT64_C(0x0001FEF7C4623421),
+          UINT64_C(0x000751B35DC509CC), UINT64_C(0x0000D577E46356BC),
+          UINT64_C(0x0001AE1750B963E0), UINT64_C(0x000101926AD538C7)},
+         {UINT64_C(0x000ADB8B609BBDFF), UINT64_C(0x00071752C179ED60),
+          UINT64_C(0x0001F4F46D3CDA68), UINT64_C(0x0006AB70B8479B34),
+          UINT64_C(0x00025F7ED7DEE309), UINT64_C(0x000DDC2D9609A612),
+          UINT64_C(0x0004E68BAF1E467F), UINT64_C(0x00040F9B19D3CBE2),
+          UINT64_C(0x00037E8C1EC0C6A4), UINT64_C(0x0003125691C2193B)}},
+        {{UINT64_C(0x00067DA2BD46C9EA), UINT64_C(0x00026B6CAB294387),
+          UINT64_C(0x0001D6166D7C9065), UINT64_C(0x00062BF47248BD53),
+          UINT64_C(0x0002E90A5DD8639A), UINT64_C(0x0003936168470E19),
+          UINT64_C(0x000528F76D8AF696), UINT64_C(0x0006ED2117C0F595),
+          UINT64_C(0x00053A94B0075896), UINT64_C(0x00029EA83F539A1E)},
+         {UINT64_C(0x0002028A9BD76B91), UINT64_C(0x0004FD251AA0E6F2),
+          UINT64_C(0x0005AC8CC0D23EFF), UINT64_C(0x000128939573B39C),
+          UINT64_C(0x000672B16EA38AE5), UINT64_C(0x0004D9266E6063F1),
+          UINT64_C(0x000059E6A8535CE8), UINT64_C(0x0000599ECB0EF8DD),
+          UINT64_C(0x0007013D35E8201F), UINT64_C(0x0002C65B4B7CFED7)}},
+        {{UINT64_C(0x0008F58A1E3612AD), UINT64_C(0x0003A9FB96EDB71F),
+          UINT64_C(0x0001F18D41C781FC), UINT64_C(0x00018367EBB23895),
+          UINT64_C(0x0005D1FCD3BE526A), UINT64_C(0x000A42281101E568),
+          UINT64_C(0x0005BABB0531BAFA), UINT64_C(0x0000A5F2A706F2D0),
+          UINT64_C(0x00004127B930A594), UINT64_C(0x0000EB497CC34685)},
+         {UINT64_C(0x00073B79A1945681), UINT64_C(0x000752EA80F8AC71),
+          UINT64_C(0x0006302573AC640B), UINT64_C(0x00078867625480E5),
+          UINT64_C(0x0007079395B2C6EF), UINT64_C(0x000C10FF5DD268D7),
+          UINT64_C(0x00057909D9F5E805), UINT64_C(0x0003A161EE637F23),
+          UINT64_C(0x00076AA86D84AD92), UINT64_C(0x0001EF085DE6C3AC)}},
+        {{UINT64_C(0x000C311C4599BCA4), UINT64_C(0x00071D198CA022EA),
+          UINT64_C(0x0007BCCA6C1EA7A9), UINT64_C(0x0005A91F6CE54B62),
+          UINT64_C(0x00040F2F68ADFDE8), UINT64_C(0x0006DA7F20DC869C),
+          UINT64_C(0x00059DD3EE431C99), UINT64_C(0x000714D6993F24A2),
+          UINT64_C(0x0007C5152642D91F), UINT64_C(0x0002F4E11F2CC27F)},
+         {UINT64_C(0x000A8ACA2FD26CFD), UINT64_C(0x0002EB39C4AC80BE),
+          UINT64_C(0x0005BFAD35FC99F2), UINT64_C(0x0002BFAB444638F8),
+          UINT64_C(0x000355F04D6D03C9), UINT64_C(0x000EB7D307BB548E),
+          UINT64_C(0x00045256FDC37CFF), UINT64_C(0x000455EACB7CD74C),
+          UINT64_C(0x0005F5BC0A0265A1), UINT64_C(0x0004E4B55474C1FB)}},
+        {{UINT64_C(0x000405C3B4CBBA99), UINT64_C(0x0003A2CFD9BA8CE7),
+          UINT64_C(0x0004D38F33BA729F), UINT64_C(0x00058368002B41A8),
+          UINT64_C(0x0001EB778063FAFA), UINT64_C(0x00000CB2D95428C0),
+          UINT64_C(0x0007A5F40E6F6248), UINT64_C(0x00066402E02185E2),
+          UINT64_C(0x0002874AE640E9BA), UINT64_C(0x00025092EF1270C6)},
+         {UINT64_C(0x0004F5A43B7EA260), UINT64_C(0x00024FC17540A356),
+          UINT64_C(0x0001076B47F9F931), UINT64_C(0x0002FB78183398A6),
+          UINT64_C(0x000229276794FECA), UINT64_C(0x0001B56FD26AC511),
+          UINT64_C(0x00013652FDA2807D), UINT64_C(0x0000AD7AC8AF8820),
+          UINT64_C(0x00059580D670358C), UINT64_C(0x0007B37AB910DB85)}},
+        {{UINT64_C(0x000E7AAFAA81120D), UINT64_C(0x0001EFCC9131C28F),
+          UINT64_C(0x0000F04662F79A92), UINT64_C(0x00018481A743283F),
+          UINT64_C(0x0003227CCC1B0051), UINT64_C(0x000889F9DEBDBBB6),
+          UINT64_C(0x00026E53C8DB36F4), UINT64_C(0x00040E757FC7CCB6),
+          UINT64_C(0x000796C1E48AF493), UINT64_C(0x0005CD8E286C308F)},
+         {UINT64_C(0x000FEEF26280024C), UINT64_C(0x00008656CE73F334),
+          UINT64_C(0x000047F19B4CCB60), UINT64_C(0x0003E09FD007DE6A),
+          UINT64_C(0x0006DFDC10446128), UINT64_C(0x0001C5059DDF7FB5),
+          UINT64_C(0x0000C6D4835DEC52), UINT64_C(0x0001ECDEF9FA549E),
+          UINT64_C(0x00004A50331A27BB), UINT64_C(0x0007445C7A2F53C4)}},
+        {{UINT64_C(0x000919F3EC9CCC4F), UINT64_C(0x0005F2F6CF149577),
+          UINT64_C(0x00060C560F67551A), UINT64_C(0x0007E358E045685B),
+          UINT64_C(0x00070CCBF13484CF), UINT64_C(0x000C37725A783FCF),
+          UINT64_C(0x00054AB9E7EE7B1E), UINT64_C(0x0003333BAB51E43A),
+          UINT64_C(0x000017DC7BC018D7), UINT64_C(0x00003CA4BCFA7DD5)},
+         {UINT64_C(0x0003E1A7A3069435), UINT64_C(0x000480EFF4E48BC7),
+          UINT64_C(0x00062115BD5D5E69), UINT64_C(0x0007096DD6C931AD),
+          UINT64_C(0x0002608249CB7A58), UINT64_C(0x0008A26364C8096A),
+          UINT64_C(0x0003C1F2D4A059E3), UINT64_C(0x00010E330E128864),
+          UINT64_C(0x0003B581FC1DE5C7), UINT64_C(0x000588DBEAEEB225)}},
+        {{UINT64_C(0x0003AC2924B671D6), UINT64_C(0x00027D78B698A45A),
+          UINT64_C(0x00015C6FF89B42E6), UINT64_C(0x000480FF26EC1381),
+          UINT64_C(0x0000CC4426AAA245), UINT64_C(0x000FB55D009EF0BB),
+          UINT64_C(0x000298CBBB4ADE83), UINT64_C(0x000718B823375BD8),
+          UINT64_C(0x0007751B44E5F80F), UINT64_C(0x00059A1E5D2A4A5C)},
+         {UINT64_C(0x000CB0EE2657342C), UINT64_C(0x00055C4B6D401505),
+          UINT64_C(0x00056E99CE0E1574), UINT64_C(0x00002F6CB06EAD80),
+          UINT64_C(0x000476059C9E6EB0), UINT64_C(0x000C60BC1D3204D4),
+          UINT64_C(0x00050DC61142023B), UINT64_C(0x000726C34A8A210F),
+          UINT64_C(0x0005C72290CE928B), UINT64_C(0x0004DFA0CEB1B72D)}},
+    },
+    {
+        {{UINT64_C(0x000247F93F2BDD27), UINT64_C(0x0007C93034C92904),
+          UINT64_C(0x00027DAD72E4B40B), UINT64_C(0x00014E25E82ABBD1),
+          UINT64_C(0x00060E4F42A6C475), UINT64_C(0x000DC708D6D66CCB),
+          UINT64_C(0x00036DB87A4B6343), UINT64_C(0x0003C58123691EAF),
+          UINT64_C(0x0004DAD470664927), UINT64_C(0x0006A82E32F9C5E6)},
+         {UINT64_C(0x0002A35EDD030037), UINT64_C(0x000219F0D4AE2250),
+          UINT64_C(0x0003A7450131A667), UINT64_C(0x00061472E2C5CAD3),
+          UINT64_C(0x0000BDF65BE7AF81), UINT64_C(0x0007F887A21C419E),
+          UINT64_C(0x00048915425E3C2E), UINT64_C(0x00046299A3659CE9),
+          UINT64_C(0x00044FD643C6825F), UINT64_C(0x00041408EE3F7EE7)}},
+        {{UINT64_C(0x0001D71DC21EAB28), UINT64_C(0x00065A53D38F953D),
+          UINT64_C(0x00032DEB59D8023C), UINT64_C(0x0004054571AECBAF),
+          UINT64_C(0x0006227C20ADC1B1), UINT64_C(0x0004052B60ED5E09),
+          UINT64_C(0x0007D536170CE49B), UINT64_C(0x000133F69C75D93C),
+          UINT64_C(0x000631A47E596690), UINT64_C(0x0007BE94B2BCFA10)},
+         {UINT64_C(0x000D3D75C6EDBD10), UINT64_C(0x0002F0C1700CF75C),
+          UINT64_C(0x0000880BD06AC9F8), UINT64_C(0x0007F4DE75015506),
+          UINT64_C(0x0004F7D9218E4531), UINT64_C(0x000525D094B57596),
+          UINT64_C(0x000303BA4ADC93BE), UINT64_C(0x000781A6DDE92BB0),
+          UINT64_C(0x0000145A33FB664A), UINT64_C(0x0003075364E801EA)}},
+        {{UINT64_C(0x000B5C724B664A37), UINT64_C(0x0002503E28109C51),
+          UINT64_C(0x00025B829904E428), UINT64_C(0x00069506DB016812),
+          UINT64_C(0x0004A750C8A64E1B), UINT64_C(0x000B87DB220A7C57),
+          UINT64_C(0x00031EFD957F4D41), UINT64_C(0x000049A333D86B06),
+          UINT64_C(0x0001D8EAEB6440B9), UINT64_C(0x000276C32B4CE41C)},
+         {UINT64_C(0x0008857C83EF71E8), UINT64_C(0x0005E721B3AB9D6B),
+          UINT64_C(0x00017EACB90E5F00), UINT64_C(0x0005C3E831C481C5),
+          UINT64_C(0x0007C0B8197E5462), UINT64_C(0x000DBDC919F92AA9),
+          UINT64_C(0x0002200849E9CAEE), UINT64_C(0x0004BE6C719C5906),
+          UINT64_C(0x0004E280855B1920), UINT64_C(0x0005C5B91DB6D1EA)}},
+        {{UINT64_C(0x000424B6E394CF88), UINT64_C(0x0003C2C97C04AC74),
+          UINT64_C(0x00063ADB5E77144A), UINT64_C(0x0005D883FF8E6B47),
+          UINT64_C(0x0004F87D0A1CC558), UINT64_C(0x000BB8A228CF7739),
+          UINT64_C(0x0004B3A03FA0D71F), UINT64_C(0x000753D34ABABB8E),
+          UINT64_C(0x000562AB4C8CB943), UINT64_C(0x0001CEBF9BBC430C)},
+         {UINT64_C(0x0007223CBD30A33E), UINT64_C(0x0007335C7215C6C3),
+          UINT64_C(0x000603E2856D2862), UINT64_C(0x0002A848E65B42A0),
+          UINT64_C(0x0004218F69174E09), UINT64_C(0x0005FFA3227A0A23),
+          UINT64_C(0x00005B5868C2514B), UINT64_C(0x0004938AFADAD730),
+          UINT64_C(0x0007660F9A69E6DE), UINT64_C(0x00065102D85E579B)}},
+        {{UINT64_C(0x000D8ADCE1ED036C), UINT64_C(0x00075B271EA827E2),
+          UINT64_C(0x00076B7F6030D0B9), UINT64_C(0x0001CF9A9998A24D),
+          UINT64_C(0x0003EAAA8D599E8C), UINT64_C(0x000926867BCB228B),
+          UINT64_C(0x0005C256FF24300F), UINT64_C(0x0002D2C9DDD6690E),
+          UINT64_C(0x000318EC38CFD857), UINT64_C(0x00040F4D05884680)},
+         {UINT64_C(0x000BA16121F40EA5), UINT64_C(0x0003E1A3C8625ED4),
+          UINT64_C(0x0003A030ED90ADCB), UINT64_C(0x00051906502C4E1E),
+          UINT64_C(0x00056353D129BB9B), UINT64_C(0x00097E025B071B0B),
+          UINT64_C(0x0007FEFDDBE2C9B0), UINT64_C(0x0005B33FC31E9599),
+          UINT64_C(0x0004B5E596C70338), UINT64_C(0x0001C9B00B315DC4)}},
+        {{UINT64_C(0x000607DBC162717D), UINT64_C(0x0000D1169F3006DA),
+          UINT64_C(0x0000DD28C7A17F77), UINT64_C(0x000575B9A5BE6190),
+          UINT64_C(0x0001608A9002E304), UINT64_C(0x0008355DA341F5E9),
+          UINT64_C(0x0006F9C8170EE63C), UINT64_C(0x00014428C0115E5D),
+          UINT64_C(0x00023A2E2E57272F), UINT64_C(0x000688C75933F079)},
+         {UINT64_C(0x000FF6A2CDB10A3C), UINT64_C(0x00011BFAEC3923D3),
+          UINT64_C(0x00042ED75727E176), UINT64_C(0x00014FA777DC3A6C),
+          UINT64_C(0x000160BDE1742549), UINT64_C(0x000AB16C591470C7),
+          UINT64_C(0x00028D130B66A9E4), UINT64_C(0x00047E950B4F11C5),
+          UINT64_C(0x000135717CA7A661), UINT64_C(0x000654B545B4E06F)}},
+        {{UINT64_C(0x00021C7F20682330), UINT64_C(0x0006E09BA4DD4E28),
+          UINT64_C(0x0005ED0838CEDFB5), UINT64_C(0x00046FAAD6213185),
+          UINT64_C(0x00042F098929C355), UINT64_C(0x0002587008E96E6D),
+          UINT64_C(0x000705A22499C027), UINT64_C(0x0000D8B3B0087A17),
+          UINT64_C(0x0003A94A483422C6), UINT64_C(0x0003D967C7D3D6FD)},
+         {UINT64_C(0x0009965DB7927E5D), UINT64_C(0x0005AB719C5CAE45),
+          UINT64_C(0x00033CCD1F896812), UINT64_C(0x0001AE9A7A4BA5D3),
+          UINT64_C(0x00072043806DB7CF), UINT64_C(0x0008763B930B883A),
+          UINT64_C(0x0002E90170B740E5), UINT64_C(0x00058F5C1631E156),
+          UINT64_C(0x0000C3D179B466C2), UINT64_C(0x0005E600D05FAA9D)}},
+        {{UINT64_C(0x0001BDEA3D7E7C27), UINT64_C(0x0000D69B04E78772),
+          UINT64_C(0x0006FD1A96FF1C3D), UINT64_C(0x000704C7BCD74C67),
+          UINT64_C(0x0006587D24D60D0B), UINT64_C(0x0009A72FB4EDBDF3),
+          UINT64_C(0x0005F66F2FC11A22), UINT64_C(0x0005C07A5C028CB3),
+          UINT64_C(0x000427DC53252FD7), UINT64_C(0x00000C0FE0D5E259)},
+         {UINT64_C(0x00015C9DCE11A938), UINT64_C(0x0002F708542BA021),
+          UINT64_C(0x0006DAB5EC8723B2), UINT64_C(0x0003151DBC6DBEA3),
+          UINT64_C(0x000309C003EEA187), UINT64_C(0x000986E93A4AD727),
+          UINT64_C(0x0005A27640EB41AD), UINT64_C(0x00064B4B969CE91A),
+          UINT64_C(0x00058AD60A48BA18), UINT64_C(0x0007DE07E6483D46)}},
+        {{UINT64_C(0x0001C747EC0357A9), UINT64_C(0x00053CBE4FDF72AE),
+          UINT64_C(0x0001FB453499F9E9), UINT64_C(0x0004C4167C9B02FD),
+          UINT64_C(0x000127DCADD50EB4), UINT64_C(0x000805FB4E216AE0),
+          UINT64_C(0x00029FAA52099B86), UINT64_C(0x00047C3F68455806),
+          UINT64_C(0x0001B9FA50F58DBC), UINT64_C(0x0003BD919AFF02A8)},
+         {UINT64_C(0x0000E4A059AF4846), UINT64_C(0x0007E18DF861A61A),
+          UINT64_C(0x0006C2588CE7246D), UINT64_C(0x000662D80DEF8736),
+          UINT64_C(0x00067C77B3EBB3CB), UINT64_C(0x000DB319339B4754),
+          UINT64_C(0x0002F3DAFE1D02AD), UINT64_C(0x0001AB8E0CEDA23A),
+          UINT64_C(0x0000839E55FF286D), UINT64_C(0x000427E6A937B04C)}},
+        {{UINT64_C(0x0009CD5E8F10490A), UINT64_C(0x000770DEE503609F),
+          UINT64_C(0x0002F4D1F9822AF0), UINT64_C(0x000209D7D6C6D432),
+          UINT64_C(0x000577EE861AD61E), UINT64_C(0x000D96564BC24BF1),
+          UINT64_C(0x0007205D262B6DBF), UINT64_C(0x0003C7E6251A1A93),
+          UINT64_C(0x00013FC13A41D60E), UINT64_C(0x000213F2333B026A)},
+         {UINT64_C(0x0008E0F9A2F3F058), UINT64_C(0x00052D3E4E010B53),
+          UINT64_C(0x00048FB0F03593BF), UINT64_C(0x0007400230A674D3),
+          UINT64_C(0x0007D42DE3498D1B), UINT64_C(0x00088D98507324A9),
+          UINT64_C(0x0006FEBD72D5E2AE), UINT64_C(0x00023587543DE864),
+          UINT64_C(0x0006101B209DB09C), UINT64_C(0x0007176D895A251A)}},
+        {{UINT64_C(0x0005B6A111C3F2A8), UINT64_C(0x000287D5A1A25472),
+          UINT64_C(0x0004C3C87F77626A), UINT64_C(0x0007EAFB9945BB03),
+          UINT64_C(0x0000B01EC3BD3FD6), UINT64_C(0x0003CFA14713C9F7),
+          UINT64_C(0x00055DC5C2B54DF9), UINT64_C(0x00040CB8F2FD4F74),
+          UINT64_C(0x0002B2C21AAD7697), UINT64_C(0x0006A800C6F15DE5)},
+         {UINT64_C(0x00087EBAC501C1CD), UINT64_C(0x0004B94A8B9744A9),
+          UINT64_C(0x00071EA1C4951821), UINT64_C(0x0002F01B39CE1A3C),
+          UINT64_C(0x0005D4D68C89745D), UINT64_C(0x000CDC8D00E9F950),
+          UINT64_C(0x0004C2450A80D882), UINT64_C(0x0002B0D6F20496F6),
+          UINT64_C(0x0000E2B53712BC8E), UINT64_C(0x0004FB508F36E069)}},
+        {{UINT64_C(0x0009905B853D75DD), UINT64_C(0x0002202313A58A10),
+          UINT64_C(0x00047F9FAA6A8086), UINT64_C(0x0006997CD94C68DB),
+          UINT64_C(0x00053560DF08CE67), UINT64_C(0x00058B243F1C8213),
+          UINT64_C(0x00023330F3EAC431), UINT64_C(0x00029615BF1FDC4B),
+          UINT64_C(0x0000E02FFE4339AB), UINT64_C(0x0006701924C686EC)},
+         {UINT64_C(0x00028B574C85D822), UINT64_C(0x00023BDBC197A77D),
+          UINT64_C(0x0000CA80105F893D), UINT64_C(0x0004A4B3F8BA0A40),
+          UINT64_C(0x0006606848556101), UINT64_C(0x0002691001720525),
+          UINT64_C(0x000492966DED5935), UINT64_C(0x0004330B122DF4B0),
+          UINT64_C(0x0003F277BB31C2EC), UINT64_C(0x000415C4C2A49A50)}},
+        {{UINT64_C(0x00067B9FED7E7EA9), UINT64_C(0x0000C6210735C315),
+          UINT64_C(0x000015C61BE12C57), UINT64_C(0x00031A65953D8E09),
+          UINT64_C(0x0000C16E4265E92A), UINT64_C(0x00038511318F2F8F),
+          UINT64_C(0x0006D2553216EB6C), UINT64_C(0x00014C8A2AC5A158),
+          UINT64_C(0x000155D5D24C02F3), UINT64_C(0x00028479C9ACA656)},
+         {UINT64_C(0x0007F082D316A5DE), UINT64_C(0x0003727A88716E25),
+          UINT64_C(0x000759E99508C576), UINT64_C(0x000268F8E924CE60),
+          UINT64_C(0x0006584B44F67E86), UINT64_C(0x00010FC03061696C),
+          UINT64_C(0x000111F962EADA3C), UINT64_C(0x000287220D2E4A6F),
+          UINT64_C(0x0003DB8A5947F03E), UINT64_C(0x00063C396A142480)}},
+        {{UINT64_C(0x0008D64DDD35262C), UINT64_C(0x0000E4419BEEDCBC),
+          UINT64_C(0x0002644C710FD7DF), UINT64_C(0x0002B9FD57D1EDA6),
+          UINT64_C(0x0001B443D6794EE2), UINT64_C(0x00066E8A571BA2F0),
+          UINT64_C(0x0002A7DDA194FF52), UINT64_C(0x0000F1F9B9EB114E),
+          UINT64_C(0x0002D0C71939AF7D), UINT64_C(0x0007B1CF36555692)},
+         {UINT64_C(0x000E6FC6E690E6C9), UINT64_C(0x00025FE13962D085),
+          UINT64_C(0x00057EF392B58263), UINT64_C(0x0000601F80D88963),
+          UINT64_C(0x0000F77167FACF40), UINT64_C(0x0005C1EB1F4AF8D3),
+          UINT64_C(0x0004E45CA91A75A3), UINT64_C(0x0007A538AF4D39AB),
+          UINT64_C(0x0002FC7EF186BF83), UINT64_C(0x0002BB96633B032F)}},
+        {{UINT64_C(0x000A511387235D97), UINT64_C(0x0000C5AEBD7CD669),
+          UINT64_C(0x0001E2B79B37FC76), UINT64_C(0x000633A0ED45A1B2),
+          UINT64_C(0x00002A485310156D), UINT64_C(0x000CF71C1E86A953),
+          UINT64_C(0x000380A9470BDE9B), UINT64_C(0x0006C3A16CD16C98),
+          UINT64_C(0x0003FD675030BD33), UINT64_C(0x0005733732E1E8BD)},
+         {UINT64_C(0x0005DC87E99B96E0), UINT64_C(0x00061EEB65283A4A),
+          UINT64_C(0x00066868AD05A9F6), UINT64_C(0x0003149FA1801E6C),
+          UINT64_C(0x00009D644B39DFC5), UINT64_C(0x00088AA6A5735E82),
+          UINT64_C(0x000329D82B26F648), UINT64_C(0x00038BF5BA7C68AD),
+          UINT64_C(0x0000C5080B2DF90F), UINT64_C(0x00038D1F9AC2EAFD)}},
+        {{UINT64_C(0x000DB14BDA7C7B66), UINT64_C(0x0000C49B073976FE),
+          UINT64_C(0x000594F284FFA26E), UINT64_C(0x000082CF489F3922),
+          UINT64_C(0x00052C957BF245F7), UINT64_C(0x0006E308A2AB1201),
+          UINT64_C(0x000099B40ACA95A7), UINT64_C(0x0002815B6839730D),
+          UINT64_C(0x0000B4295FDA8783), UINT64_C(0x00056F95752DE2DE)},
+         {UINT64_C(0x000F056FEC9E88EA), UINT64_C(0x0007747F406F4246),
+          UINT64_C(0x000125F62E04125C), UINT64_C(0x000286A0E4919620),
+          UINT64_C(0x000691348CCDE24C), UINT64_C(0x0000010E5ED700B6),
+          UINT64_C(0x0000B69D2C21F3C6), UINT64_C(0x00073767577F6F02),
+          UINT64_C(0x0005344DA12140FD), UINT64_C(0x00063AC1FFD1B34E)}},
+    },
+    {
+        {{UINT64_C(0x00073DCFA4CC1F6E), UINT64_C(0x000058B4C7ED3A6B),
+          UINT64_C(0x00044FC7BBBB4D1C), UINT64_C(0x00073AA6DD4CD996),
+          UINT64_C(0x000603CE62F0768C), UINT64_C(0x000DDF011F0B6AB3),
+          UINT64_C(0x0003E05089170D90), UINT64_C(0x0005874DCC299BE8),
+          UINT64_C(0x0001472869B59056), UINT64_C(0x000509DDD9B76FFE)},
+         {UINT64_C(0x000EF415076C2F66), UINT64_C(0x00011E95B1CD79BE),
+          UINT64_C(0x00072B66656ECB77), UINT64_C(0x0000C32231A4FA37),
+          UINT64_C(0x000078B2D3568104), UINT64_C(0x00071892DBCB8007),
+          UINT64_C(0x00003A0D60762137), UINT64_C(0x0001972E82FD7568),
+          UINT64_C(0x0003B928B40F35C4), UINT64_C(0x00008D70A3EF6199)}},
+        {{UINT64_C(0x000AFC3506C0703F), UINT64_C(0x000624FB1C5785C2),
+          UINT64_C(0x0000AABC82587858), UINT64_C(0x0004C835073ADCF9),
+          UINT64_C(0x000687A3E10BEBEC), UINT64_C(0x000594AAE6A6AE1A),
+          UINT64_C(0x00065326690F40A8), UINT64_C(0x0000FAAF35DCEA85),
+          UINT64_C(0x0000F2D71EE73779), UINT64_C(0x00066971F9CF6697)},
+         {UINT64_C(0x000438C3AE869675), UINT64_C(0x00058F4A97CCECEE),
+          UINT64_C(0x00038C0DA4EAB715), UINT64_C(0x0002EFF5EC967DA5),
+          UINT64_C(0x0004EC8C45F8A0B7), UINT64_C(0x0001A00E90F5CDF1),
+          UINT64_C(0x00008DEA644831E0), UINT64_C(0x000344FDFCB694A6),
+          UINT64_C(0x0001645897F09A36), UINT64_C(0x0003CD2366934F24)}},
+        {{UINT64_C(0x0003A9CBC10E78A2), UINT64_C(0x0005680C903EE3AA),
+          UINT64_C(0x0006148C4134D494), UINT64_C(0x0000B708AB89AB5E),
+          UINT64_C(0x0004077F94E08257), UINT64_C(0x0006E5183D078408),
+          UINT64_C(0x000100C1D80D49CE), UINT64_C(0x00077E3B5B1FD1E9),
+          UINT64_C(0x0001D5173866042B), UINT64_C(0x0002EC241DBE6604)},
+         {UINT64_C(0x000D707611B80741), UINT64_C(0x000004EDC429B806),
+          UINT64_C(0x00025B85B91E12D5), UINT64_C(0x0005A874EFD18EE2),
+          UINT64_C(0x000679D292E2E5E8), UINT64_C(0x0007C4E1CF9D2493),
+          UINT64_C(0x00007FEC8151F6C5), UINT64_C(0x0007077C6CE7BCBD),
+          UINT64_C(0x0004E603D2D1C045), UINT64_C(0x000120DC52FC4C28)}},
+        {{UINT64_C(0x00024CAB433F1EE9), UINT64_C(0x00029390B5399AC6),
+          UINT64_C(0x0000A140735E1061), UINT64_C(0x0006209FAAABDAEB),
+          UINT64_C(0x000313939B1E27F8), UINT64_C(0x00071218CE90C274),
+          UINT64_C(0x00004D454CA99B52), UINT64_C(0x000244DC876EE217),
+          UINT64_C(0x0007B9AEDFF13E10), UINT64_C(0x0007C60093FD8081)},
+         {UINT64_C(0x000DA5DEA4CAF297), UINT64_C(0x00068C8666E24B9C),
+          UINT64_C(0x0002429BB8CB157C), UINT64_C(0x00075FA673A5EDA2),
+          UINT64_C(0x000374A3EAD4DEAA), UINT64_C(0x000BDA91FD4D7B4C),
+          UINT64_C(0x000219669647B2DF), UINT64_C(0x0003EDAFFBB15EF4),
+          UINT64_C(0x00024CF5BC63EF28), UINT64_C(0x00027124899C9A4B)}},
+        {{UINT64_C(0x00040B019B1261D0), UINT64_C(0x0000B4F4F45584EA),
+          UINT64_C(0x00010867C36FE3B7), UINT64_C(0x0001B956EFC67D1C),
+          UINT64_C(0x00060551212213FD), UINT64_C(0x00045B1AC4D20479),
+          UINT64_C(0x00031E79405F14E6), UINT64_C(0x00054F01E909A81E),
+          UINT64_C(0x00001536D9DE39DB), UINT64_C(0x0000B62D820D6FE3)},
+         {UINT64_C(0x0003F4243CF34066), UINT64_C(0x00024F7957E1D750),
+          UINT64_C(0x000080B613A16A90), UINT64_C(0x0004FFBB7D0412AA),
+          UINT64_C(0x00048AADB4617EEB), UINT64_C(0x0005590404BF6350),
+          UINT64_C(0x0005FB0DEC254DD3), UINT64_C(0x0006E456239D68DC),
+          UINT64_C(0x0006AA0BAC97FBC4), UINT64_C(0x0007C0F318810C9E)}},
+        {{UINT64_C(0x00095C2255EB8676), UINT64_C(0x0002EEBEE04E7BD1),
+          UINT64_C(0x00047162E07D3E1B), UINT64_C(0x00019CBB802D7D2F),
+          UINT64_C(0x0004D5BCA1F2FE81), UINT64_C(0x000636275F6E3CD0),
+          UINT64_C(0x000074C1065AE748), UINT64_C(0x00000ED33D724610),
+          UINT64_C(0x000382AAE71C671F), UINT64_C(0x00050F862E56FE82)},
+         {UINT64_C(0x000F0C6FE0519997), UINT64_C(0x0004AF7A837FAD03),
+          UINT64_C(0x00029E2DCFC7D836), UINT64_C(0x0000D7429D3F9BC8),
+          UINT64_C(0x0002062ED538B7FE), UINT64_C(0x00048D96CEDB79F1),
+          UINT64_C(0x00035E77C26028A3), UINT64_C(0x0002BEBC515C0C05),
+          UINT64_C(0x0001137EC9DBE5EA), UINT64_C(0x0004EF0306F592B4)}},
+        {{UINT64_C(0x00045CFFCC0FA82B), UINT64_C(0x000147CD2A7BCEF8),
+          UINT64_C(0x0004A7DF37A543F3), UINT64_C(0x0000E83C08C7DB26),
+          UINT64_C(0x000433C19A259924), UINT64_C(0x000060A2CC17C1B7),
+          UINT64_C(0x00048887C01708A7), UINT64_C(0x0004F7B43946A5B5),
+          UINT64_C(0x0000318DA056D31F), UINT64_C(0x0005816FA3E55B23)},
+         {UINT64_C(0x00028F1B6BE8EDBD), UINT64_C(0x0002FAEDDF5DD2E3),
+          UINT64_C(0x0004F7E40BA33E35), UINT64_C(0x00065C3B855FC053),
+          UINT64_C(0x0001874EF8C8D7C7), UINT64_C(0x0009EE69935EB5BD),
+          UINT64_C(0x0005209285BDCD9B), UINT64_C(0x00065CD4AD193A52),
+          UINT64_C(0x0007AF07028EFAD4), UINT64_C(0x0003D64202012D6B)}},
+        {{UINT64_C(0x000B9243B209436A), UINT64_C(0x0004A9127BF30A58),
+          UINT64_C(0x0006E0E94A1E2713), UINT64_C(0x0004376EAD2B248D),
+          UINT64_C(0x000767EEA5E05823), UINT64_C(0x0009BF8F74216C3F),
+          UINT64_C(0x00024B8202C21037), UINT64_C(0x00013B0257209206),
+          UINT64_C(0x0002F0B8A9C57E63), UINT64_C(0x0001559540A76AA1)},
+         {UINT64_C(0x00066AF801F7DD9E), UINT64_C(0x00075AFD2B0FB2AA),
+          UINT64_C(0x00055CB5FD0A01A3), UINT64_C(0x000139A9A848804F),
+          UINT64_C(0x0004DB6F2563F825), UINT64_C(0x0001293E77720431),
+          UINT64_C(0x0005D00E9E6814E5), UINT64_C(0x00033A3B82EBAE98),
+          UINT64_C(0x00032C37E6C66CBB), UINT64_C(0x000690013DADC456)}},
+        {{UINT64_C(0x000272465B8B5D7D), UINT64_C(0x000720DB646ED253),
+          UINT64_C(0x0002AB65B7565858), UINT64_C(0x00014AD6B607866E),
+          UINT64_C(0x000598494CC47B43), UINT64_C(0x000001AE0D244024),
+          UINT64_C(0x00029E1DE544546D), UINT64_C(0x0002D87A26EE67AB),
+          UINT64_C(0x0002767B394A967D), UINT64_C(0x0005DD104AA8F32A)},
+         {UINT64_C(0x00068115CF22CDAC), UINT64_C(0x0006E7DA3BE129A8),
+          UINT64_C(0x00037A31451A8758), UINT64_C(0x00039CB3690F9258),
+          UINT64_C(0x00069351BF30A237), UINT64_C(0x000943CB31F201C2),
+          UINT64_C(0x00056D93FDE091B5), UINT64_C(0x0007A6DAFB6FE56C),
+          UINT64_C(0x00076EBD371AC14C), UINT64_C(0x00022219B02515D5)}},
+        {{UINT64_C(0x0007126658D45F84), UINT64_C(0x0005F94089210333),
+          UINT64_C(0x0000DF0B1374230F), UINT64_C(0x0000C22084A59475),
+          UINT64_C(0x0005B56056BEF979), UINT64_C(0x0003B18C16D005D1),
+          UINT64_C(0x00009A3D6108A669), UINT64_C(0x0002B5446C86171D),
+          UINT64_C(0x0003C25E4502353F), UINT64_C(0x0002AF979DDD05A1)},
+         {UINT64_C(0x000CE57EA911389C), UINT64_C(0x00060CBCB1000CD6),
+          UINT64_C(0x0002AEF497970566), UINT64_C(0x0003002606F34647),
+          UINT64_C(0x0005BAC30DE7C37E), UINT64_C(0x000ACE8DDCA7F508),
+          UINT64_C(0x0004C49914338529), UINT64_C(0x000201F520B0AA42),
+          UINT64_C(0x0003ACEB18EE94D1), UINT64_C(0x00043292408A3327)}},
+        {{UINT64_C(0x00071CFCF4149893), UINT64_C(0x0002FF24B716F1CF),
+          UINT64_C(0x0002E9DD42D79E81), UINT64_C(0x0005F2E12A9D3787),
+          UINT64_C(0x0000B67ABBDD6226), UINT64_C(0x000E14AD866F075E),
+          UINT64_C(0x0000DF8C5452E7ED), UINT64_C(0x000179D614E61B47),
+          UINT64_C(0x0005F5E532D764C5), UINT64_C(0x000134C30CA43904)},
+         {UINT64_C(0x0008A3D8E0E5028B), UINT64_C(0x0002AD02FF65DB2D),
+          UINT64_C(0x000024B54F477366), UINT64_C(0x0004DF76000BEBD4),
+          UINT64_C(0x0001BABEBBC5B492), UINT64_C(0x000293A99B9A4E9E),
+          UINT64_C(0x0006DA8EC81880DF), UINT64_C(0x0004D62443F19541),
+          UINT64_C(0x0007788BC32D12B7), UINT64_C(0x00053D73A62F6A5D)}},
+        {{UINT64_C(0x0008D1269BFE5E8B), UINT64_C(0x0000FE4C7CBD9622),
+          UINT64_C(0x0003CF67B2F4ACFF), UINT64_C(0x0006A8A24518F03D),
+          UINT64_C(0x000347DAE1827AD4), UINT64_C(0x000F291ACCCDE5C5),
+          UINT64_C(0x0000C9C96024DBC2), UINT64_C(0x0006E1493787400F),
+          UINT64_C(0x0004557C49C13B5E), UINT64_C(0x0001BBD5022E461F)},
+         {UINT64_C(0x00029EF080397D2A), UINT64_C(0x0007D3AEFB96A5DA),
+          UINT64_C(0x0005CE903FC41243), UINT64_C(0x0007ACF27A77BE2F),
+          UINT64_C(0x00069367C2BB5B2D), UINT64_C(0x000EA380A0F28EC9),
+          UINT64_C(0x0004D091094729F5), UINT64_C(0x0000568ED1C33BAF),
+          UINT64_C(0x0006FFC9FEC1754C), UINT64_C(0x00079AF250E87C71)}},
+        {{UINT64_C(0x0001B7181A9FE1E7), UINT64_C(0x0004BF3195C7079A),
+          UINT64_C(0x00004C65A8623BD7), UINT64_C(0x000293D8EC50869E),
+          UINT64_C(0x00061ECDC77A17C7), UINT64_C(0x00024A53FBCEF78C),
+          UINT64_C(0x0006DE143AB5A0EC), UINT64_C(0x0004F508E8AD0226),
+          UINT64_C(0x0006DB9363078A38), UINT64_C(0x0002687048D33591)},
+         {UINT64_C(0x00002320E24E6A1C), UINT64_C(0x000313A5A33B1564),
+          UINT64_C(0x00032A7B146533BC), UINT64_C(0x00071698E42DC91D),
+          UINT64_C(0x00013FC72B6E6862), UINT64_C(0x000192B68047991B),
+          UINT64_C(0x00077CB246D0CF66), UINT64_C(0x00019BF6E968E141),
+          UINT64_C(0x00022BEFB71228A7), UINT64_C(0x0007A8BE0F3AB802)}},
+        {{UINT64_C(0x0004ADD37A15BAF2), UINT64_C(0x0002BA4932A7035A),
+          UINT64_C(0x0007F27F93062C33), UINT64_C(0x0001E46147E6199F),
+          UINT64_C(0x0004849455CB21C9), UINT64_C(0x000DF6C55755F760),
+          UINT64_C(0x00062C25D51F8005), UINT64_C(0x00018D552106AE65),
+          UINT64_C(0x00036D4A8E15A67D), UINT64_C(0x0002EAE18E596E61)},
+         {UINT64_C(0x000A03842DB9836A), UINT64_C(0x00048F98CEFB00D3),
+          UINT64_C(0x0005190809ADF2BA), UINT64_C(0x0002DFB56F0A20D0),
+          UINT64_C(0x00027970FAA41846), UINT64_C(0x000A481D0AD15C42),
+          UINT64_C(0x000613F431F58DB3), UINT64_C(0x00007B1DF30C2753),
+          UINT64_C(0x000724A12A33FE21), UINT64_C(0x00061257C4C8D5D9)}},
+        {{UINT64_C(0x0006B38283640BFC), UINT64_C(0x00071A8876D2D39B),
+          UINT64_C(0x0000F57FF4B7C4D2), UINT64_C(0x00048165C6651FA6),
+          UINT64_C(0x000261CAB432E4D9), UINT64_C(0x0003A33A1024655B),
+          UINT64_C(0x00016A80FB002EFE), UINT64_C(0x0007F53959DC0BF4),
+          UINT64_C(0x000327B19C41762A), UINT64_C(0x0003AEB118550BD1)},
+         {UINT64_C(0x000194446473FAA4), UINT64_C(0x00056252C5E6D79B),
+          UINT64_C(0x000385407B1E32BE), UINT64_C(0x0004F62D3BA2C380),
+          UINT64_C(0x0006709FC90E66D9), UINT64_C(0x000BF2EFEC69E52A),
+          UINT64_C(0x00025E53D4588CB4), UINT64_C(0x000767AF079A8486),
+          UINT64_C(0x0006B1B2BCF33774), UINT64_C(0x00054711D18A6446)}},
+        {{UINT64_C(0x0002F65D12A437F5), UINT64_C(0x0004C193BB16BB5C),
+          UINT64_C(0x00044CB11429B380), UINT64_C(0x000575B1D96C4371),
+          UINT64_C(0x0004792169D089CC), UINT64_C(0x000A44E79CFC086D),
+          UINT64_C(0x0007F7A9AA829C6C), UINT64_C(0x0000E51AD40E415B),
+          UINT64_C(0x0003741299AE5AB0), UINT64_C(0x00034773AD27F4C8)},
+         {UINT64_C(0x0001088846755E86), UINT64_C(0x0007C43CEE739306),
+          UINT64_C(0x0006DFB006FC973D), UINT64_C(0x00075D11ABB97E3F),
+          UINT64_C(0x0006CE4EAD9FD40A), UINT64_C(0x00090DE95E0B71B8),
+          UINT64_C(0x000677FB1CA2400F), UINT64_C(0x0001D6A9EAC1F91B),
+          UINT64_C(0x0004B5A0DEA254E4), UINT64_C(0x00031843DB8ACA4B)}},
+    },
+    {
+        {{UINT64_C(0x00040F0FEE5191D7), UINT64_C(0x0007AD757B218666),
+          UINT64_C(0x00025B684155AF20), UINT64_C(0x00029F4B5C485180),
+          UINT64_C(0x0007D8377347091F), UINT64_C(0x000A22940AF54A77),
+          UINT64_C(0x0003BDF6CB1B3734), UINT64_C(0x000579D05F06E011),
+          UINT64_C(0x00032F87199B836F), UINT64_C(0x000467CDC3E7620A)},
+         {UINT64_C(0x00099269E81CAEA9), UINT64_C(0x00060FAD5B89DD61),
+          UINT64_C(0x0005D82009E159C4), UINT64_C(0x000543570882A388),
+          UINT64_C(0x0005742B11F41567), UINT64_C(0x00005532CC1A04CF),
+          UINT64_C(0x0007E7D67CA82018), UINT64_C(0x00030811921ED542),
+          UINT64_C(0x00033B0153C0A9D2), UINT64_C(0x000027EEDE45D652)}},
+        {{UINT64_C(0x00054628B564DD25), UINT64_C(0x000278E72161A60B),
+          UINT64_C(0x0002875070456F4D), UINT64_C(0x0000A471C5023AE6),
+          UINT64_C(0x00053142CC156044), UINT64_C(0x000EB689710B36EE),
+          UINT64_C(0x000749FE221A7A5D), UINT64_C(0x0005CE289B236184),
+          UINT64_C(0x00064A9332E96DFA), UINT64_C(0x00019F74B7F23AA6)},
+         {UINT64_C(0x000047C80E1C6849), UINT64_C(0x00032C0409EB2702),
+          UINT64_C(0x0005472D7A3265A6), UINT64_C(0x00007486A002948B),
+          UINT64_C(0x0005B35D6DCD0117), UINT64_C(0x000F09583142990E),
+          UINT64_C(0x00020994F45554BA), UINT64_C(0x0002A8A2ED9245E6),
+          UINT64_C(0x0001FCB7F2469865), UINT64_C(0x0003ABDD4F76D182)}},
+        {{UINT64_C(0x0007EF170E5B61C6), UINT64_C(0x00072FD9870DA526),
+          UINT64_C(0x00052A5CE07FB8A2), UINT64_C(0x000641090CDA363A),
+          UINT64_C(0x0001F046CD11B1C9), UINT64_C(0x000C5ACA2B42DE77),
+          UINT64_C(0x0003FA2D3D3A78D1), UINT64_C(0x00022EE52A68BA15),
+          UINT64_C(0x0006ED9A8FFEDB9E), UINT64_C(0x000628597175CF09)},
+         {UINT64_C(0x0007233FAD040661), UINT64_C(0x0002DBF1724897C1),
+          UINT64_C(0x00058AF887383FF2), UINT64_C(0x0001A82F626A8BA1),
+          UINT64_C(0x000663B0E734D3AD), UINT64_C(0x00041A94CEBE29A8),
+          UINT64_C(0x0000EBE98973931D), UINT64_C(0x0007653DABE4C434),
+          UINT64_C(0x00077F080BA025B1), UINT64_C(0x0001349D8D6D5053)}},
+        {{UINT64_C(0x000BE1C7FB3EA365), UINT64_C(0x0000DEC547480E21),
+          UINT64_C(0x0003063031574C24), UINT64_C(0x0004A1A78E047579),
+          UINT64_C(0x000606500AB9A488), UINT64_C(0x00027F5C522D4690),
+          UINT64_C(0x0001EDD9FF35555F), UINT64_C(0x00027FDC2B282190),
+          UINT64_C(0x000683CED2B98C75), UINT64_C(0x000650923C157066)},
+         {UINT64_C(0x00092C9AF39CBACB), UINT64_C(0x0007D3858C2DD00B),
+          UINT64_C(0x00031E676BBB7275), UINT64_C(0x0003AA2D98F4F933),
+          UINT64_C(0x0003DCA9CE27A62B), UINT64_C(0x000A07F50B9E690F),
+          UINT64_C(0x000051DF1C1BCD4A), UINT64_C(0x0003517B8AC99CFD),
+          UINT64_C(0x0006367C0179F6E0), UINT64_C(0x0002CE5C968BCB6D)}},
+        {{UINT64_C(0x000200C339FA6063), UINT64_C(0x0002D8C7E4167214),
+          UINT64_C(0x00043F59D8D68BBE), UINT64_C(0x00020ABF6635C5FA),
+          UINT64_C(0x000676FC3B2B32D8), UINT64_C(0x000EBE9FD818DFC0),
+          UINT64_C(0x0006D7A4486F3794), UINT64_C(0x000684F5E2DF04E3),
+          UINT64_C(0x00032590E104D8CA), UINT64_C(0x0007F86F511DEAF5)},
+         {UINT64_C(0x00034E941C93C058), UINT64_C(0x00034819A8DA6A22),
+          UINT64_C(0x000164AD4449303E), UINT64_C(0x00042BE59CA73B0D),
+          UINT64_C(0x00014B7F6EA0A455), UINT64_C(0x00098C54814B4ED9),
+          UINT64_C(0x0004C74E9049A134), UINT64_C(0x0001859C7C28787A),
+          UINT64_C(0x0002BF6FCC75D79D), UINT64_C(0x0007A8E2129CEB51)}},
+        {{UINT64_C(0x00018E8A6D68977A), UINT64_C(0x000202BA27C4F548),
+          UINT64_C(0x000765E7CECDA47B), UINT64_C(0x000363DB05A69000),
+          UINT64_C(0x0005F96506BEB7D3), UINT64_C(0x00089C30791266ED),
+          UINT64_C(0x00077E5CAB5C1F29), UINT64_C(0x0006E87E942A7A13),
+          UINT64_C(0x0001FD90D57F757B), UINT64_C(0x0007B1FF16E524CF)},
+         {UINT64_C(0x0005EA5BBEA59591), UINT64_C(0x000427E51D91AE1C),
+          UINT64_C(0x00070FC7F83A8541), UINT64_C(0x00069E9D31A36625),
+          UINT64_C(0x00030C2ED2385F4C), UINT64_C(0x00095E9CEDC7EC18),
+          UINT64_C(0x0004DF297D2AB731), UINT64_C(0x0007FD32EE0B4C2F),
+          UINT64_C(0x0006423F55007B50), UINT64_C(0x000582AFCEAF6692)}},
+        {{UINT64_C(0x000132229C4BE432), UINT64_C(0x000062BDAF1A965D),
+          UINT64_C(0x0002C1A7663C1E53), UINT64_C(0x00038DAE7DCFB8CC),
+          UINT64_C(0x00072695BB1282ED), UINT64_C(0x0006EC32706E7F8F),
+          UINT64_C(0x0004FDED61E285BE), UINT64_C(0x0003D1D5A48B6110),
+          UINT64_C(0x000552ACEEFD0F10), UINT64_C(0x00011D10445A68E0)},
+         {UINT64_C(0x000CB3E30A36F50F), UINT64_C(0x0004A7B7557E35AE),
+          UINT64_C(0x00066CFBF15B4D97), UINT64_C(0x0000508B08233B2E),
+          UINT64_C(0x0003F31FB5C7AE10), UINT64_C(0x000E6621F3031E22),
+          UINT64_C(0x000482990F4ECDC4), UINT64_C(0x000484D2AA8A0F24),
+          UINT64_C(0x00009D4CF9C0A36A), UINT64_C(0x0001CC385C527853)}},
+        {{UINT64_C(0x000A4792A9EEE2A9), UINT64_C(0x00072FA6FDF2C7C6),
+          UINT64_C(0x0007C7826E4812BE), UINT64_C(0x0006F6D236CF8FD6),
+          UINT64_C(0x00073F81409D27AF), UINT64_C(0x0006499E587E37BE),
+          UINT64_C(0x0001D910B9037DCA), UINT64_C(0x00076B6BA2C2DD1C),
+          UINT64_C(0x0000C40F587E10E9), UINT64_C(0x0003A0C39693B06A)},
+         {UINT64_C(0x000B22437DF0A661), UINT64_C(0x000740D926C3CA81),
+          UINT64_C(0x0004D6FC409922D3), UINT64_C(0x0006C8B0A63EBE3B),
+          UINT64_C(0x0007A7E09C658E92), UINT64_C(0x000EE849F67956DF),
+          UINT64_C(0x00009ACED8E8FE8F), UINT64_C(0x0001CD4640F2626A),
+          UINT64_C(0x0000370AE99E0EF4), UINT64_C(0x000081E0D1461BE8)}},
+        {{UINT64_C(0x00073065330BAB74), UINT64_C(0x0001574E266A5243),
+          UINT64_C(0x0002D1F64CEC7BBF), UINT64_C(0x0005B4B35FD5F97F),
+          UINT64_C(0x0006E328070806B7), UINT64_C(0x000194194F915C7A),
+          UINT64_C(0x00073D3745896020), UINT64_C(0x0005E613BB39AE2A),
+          UINT64_C(0x00011D507ABCADE1), UINT64_C(0x0002EAF0689489D1)},
+         {UINT64_C(0x000058D096BDB2AB), UINT64_C(0x00069969F77F9CB1),
+          UINT64_C(0x00039B6125B8F829), UINT64_C(0x00044A07AEC2D0C6),
+          UINT64_C(0x000504B4F3946022), UINT64_C(0x00080D0DFA735E99),
+          UINT64_C(0x0002BC6CCE0171E5), UINT64_C(0x0003D83527837207),
+          UINT64_C(0x00066CBA871AC0F9), UINT64_C(0x00024A295AAEBA6A)}},
+        {{UINT64_C(0x000D2B933FA0DA3A), UINT64_C(0x00079892AF905B11),
+          UINT64_C(0x00021863855AA63A), UINT64_C(0x00052D86FEC679D3),
+          UINT64_C(0x000791B1FDE46EBE), UINT64_C(0x000AF24DC2D97724),
+          UINT64_C(0x000430197793B4EF), UINT64_C(0x0001355100B792D4),
+          UINT64_C(0x00067BC1C675D49F), UINT64_C(0x00013F553362D7E5)},
+         {UINT64_C(0x0004977612BCB0EB), UINT64_C(0x0003E50B8F31A3A8),
+          UINT64_C(0x0007CD4AF5A9CB24), UINT64_C(0x0002D3E56A2C0F66),
+          UINT64_C(0x0002D65C455CD2EF), UINT64_C(0x0002086963C9C7D0),
+          UINT64_C(0x000145D5C4A9FFAE), UINT64_C(0x000619BAC8505C4A),
+          UINT64_C(0x000027E3A7AE4A7A), UINT64_C(0x0000B67AD3689936)}},
+        {{UINT64_C(0x000CC7D3BF4762C0), UINT64_C(0x0001F746EDBE329E),
+          UINT64_C(0x0001DF8B85050FA2), UINT64_C(0x0003BD3B0F568385),
+          UINT64_C(0x000180BF161ABAC6), UINT64_C(0x0000215CE0594FA0),
+          UINT64_C(0x00047C0CB6A73218), UINT64_C(0x0000DBAEA7BF27D7),
+          UINT64_C(0x0002F869F09063DD), UINT64_C(0x00054D9BA9522E09)},
+         {UINT64_C(0x0002FE8D87A17CE0), UINT64_C(0x00057E4AC584E74A),
+          UINT64_C(0x0002DAC318271EF4), UINT64_C(0x0002423F79D4DEB2),
+          UINT64_C(0x0003E960755CCBC4), UINT64_C(0x000D266A7438DBF6),
+          UINT64_C(0x000477E42DA16918), UINT64_C(0x0006B11A646B2B6A),
+          UINT64_C(0x000431429BD1F7B7), UINT64_C(0x0006ED79801CF551)}},
+        {{UINT64_C(0x000C2F5AD403D304), UINT64_C(0x00000E16E8839A82),
+          UINT64_C(0x0006E1D15D839778), UINT64_C(0x0005F5B10106BB12),
+          UINT64_C(0x0005C19D486DD5C6), UINT64_C(0x000719C29C1E59DF),
+          UINT64_C(0x000659479542B834), UINT64_C(0x0007ACDE37B973BE),
+          UINT64_C(0x0003482AD9321747), UINT64_C(0x000505ADD6521552)},
+         {UINT64_C(0x000F913FC1522D09), UINT64_C(0x00037BFD0D4ABC49),
+          UINT64_C(0x00001FA1DDC7C8F2), UINT64_C(0x000557253E6A7DB6),
+          UINT64_C(0x0006E4F330384051), UINT64_C(0x000EB36BC2271684),
+          UINT64_C(0x0006E60BC26E1F0F), UINT64_C(0x00054A6E03B188FB),
+          UINT64_C(0x0003C21955E62B44), UINT64_C(0x00029C4483BA7D4D)}},
+        {{UINT64_C(0x000670CC3896EBA5), UINT64_C(0x000259CFB18CBAE2),
+          UINT64_C(0x0006699793CC03B7), UINT64_C(0x0006E571D3FF8F29),
+          UINT64_C(0x00001EB92283238D), UINT64_C(0x000F5DE25A4C21F7),
+          UINT64_C(0x00021DA151657372), UINT64_C(0x0005351A570D55D1),
+          UINT64_C(0x0005E3C40430A85A), UINT64_C(0x0001A3FAEB0F9878)},
+         {UINT64_C(0x00041F28CA0920E8), UINT64_C(0x0000528AA3286F64),
+          UINT64_C(0x000550CD85825A5A), UINT64_C(0x0006A07132346430),
+          UINT64_C(0x0006248B435552B3), UINT64_C(0x000C51E8492A342A),
+          UINT64_C(0x000238B2E633EAE5), UINT64_C(0x00077EFF4FF5E3AF),
+          UINT64_C(0x000737FE3C5938DC), UINT64_C(0x0003E7F342587F14)}},
+        {{UINT64_C(0x0000469EA4F316A5), UINT64_C(0x0000CFF01ADFC8EC),
+          UINT64_C(0x000752DEE0AF6B42), UINT64_C(0x0000FBD7A1DB547A),
+          UINT64_C(0x00071529F9CBFCB7), UINT64_C(0x0002EEF2C4E55DE9),
+          UINT64_C(0x00068B08FC158B20), UINT64_C(0x0005BA1440B0CD47),
+          UINT64_C(0x000770690268EB1C), UINT64_C(0x0004FEA766326EEE)},
+         {UINT64_C(0x0007E31940932215), UINT64_C(0x0006F953571E0D10),
+          UINT64_C(0x000325DB7CA114C1), UINT64_C(0x0003346F1BDB76FF),
+          UINT64_C(0x0004B2D608C398A0), UINT64_C(0x000880C15A6358CD),
+          UINT64_C(0x00003A12DA7DAE1C), UINT64_C(0x00012A98295624DC),
+          UINT64_C(0x0003F435F64DA03F), UINT64_C(0x00077E682761BD79)}},
+        {{UINT64_C(0x000725EBE3550E60), UINT64_C(0x00009759E82357AA),
+          UINT64_C(0x000707477FAC3456), UINT64_C(0x00056FDC23023B2E),
+          UINT64_C(0x00051E1365B47E4D), UINT64_C(0x000B5D849F58CA94),
+          UINT64_C(0x000685BF93742A36), UINT64_C(0x0001A1BC548F6279),
+          UINT64_C(0x000344BB9DE268D0), UINT64_C(0x0005FDFB2BC3DEF5)},
+         {UINT64_C(0x000848AFB0499C56), UINT64_C(0x00010DC37ABCFDEA),
+          UINT64_C(0x0006C1811764BA4D), UINT64_C(0x0002A308A7745FCC),
+          UINT64_C(0x00074CBB9E51FB1A), UINT64_C(0x000AC8D6F8659635),
+          UINT64_C(0x000154D1F4F69089), UINT64_C(0x00028051B6633DBB),
+          UINT64_C(0x0003335687BF4293), UINT64_C(0x0005ED908B0510A4)}},
+        {{UINT64_C(0x0004904C9668E6CD), UINT64_C(0x00079071B2B92E94),
+          UINT64_C(0x0001E7AE6FF7AF6A), UINT64_C(0x0002127FE63573CD),
+          UINT64_C(0x0000D3D1E41CDAC6), UINT64_C(0x00011204952E81CE),
+          UINT64_C(0x000271F8C2A453E2), UINT64_C(0x0001B69F9248DB24),
+          UINT64_C(0x000379D0353FB400), UINT64_C(0x0001295BB193D08F)},
+         {UINT64_C(0x000E90DA27BA514F), UINT64_C(0x0003159CBE1F9C35),
+          UINT64_C(0x0005521CD6FEB8F3), UINT64_C(0x0005119F047F6EB1),
+          UINT64_C(0x0004D5D0948D614B), UINT64_C(0x0006892CA0E25568),
+          UINT64_C(0x0000FD25BBE0A6E7), UINT64_C(0x00021564372435F1),
+          UINT64_C(0x00027D8B49CAD04C), UINT64_C(0x00007D5A2C89462D)}},
+    },
+    {
+        {{UINT64_C(0x000F514B71EBBDCC), UINT64_C(0x0004035582F1B252),
+          UINT64_C(0x0002A1C7C414989A), UINT64_C(0x0007743F23DC3274),
+          UINT64_C(0x000791E243AE6EF8), UINT64_C(0x0009076C398D3FDA),
+          UINT64_C(0x00055D23854865C6), UINT64_C(0x00067630F1F7A188),
+          UINT64_C(0x0004FEF4830113F0), UINT64_C(0x0006EF4DC0128B39)},
+         {UINT64_C(0x000AE1F76A7AB992), UINT64_C(0x0003D7ABB33C7671),
+          UINT64_C(0x0007A82D28545FE8), UINT64_C(0x00034AB6DCB3D487),
+          UINT64_C(0x0007701ECE7EE900), UINT64_C(0x000E400E5BC2A1A4),
+          UINT64_C(0x000693EAE58F5DF2), UINT64_C(0x00037BBA5ED12DB3),
+          UINT64_C(0x0005ED5B1E21C1B3), UINT64_C(0x000641DC0D967E8B)}},
+        {{UINT64_C(0x00054C95BB0652B1), UINT64_C(0x00046F4FED58813D),
+          UINT64_C(0x00050815BA4C242F), UINT64_C(0x0003C70A5ADB1CBD),
+          UINT64_C(0x00018471501C557F), UINT64_C(0x00061B89E1DB46F5),
+          UINT64_C(0x00030130047B6C15), UINT64_C(0x00024E7E179F958E),
+          UINT64_C(0x00029B81AFD116BD), UINT64_C(0x0001F1C0E6F5B495)},
+         {UINT64_C(0x00023C05D2947309), UINT64_C(0x000077CE6739DA7A),
+          UINT64_C(0x0007175E6FC632C3), UINT64_C(0x00079215145A49EE),
+          UINT64_C(0x0005582902E4AEC2), UINT64_C(0x0003D193BC0C12D2),
+          UINT64_C(0x0005BA6F099A5DF0), UINT64_C(0x000403F8EF0B4955),
+          UINT64_C(0x000642EB7C8A43A1), UINT64_C(0x0005D32BCC2F8B89)}},
+        {{UINT64_C(0x00017EB1EE4CB1A1), UINT64_C(0x0006638C230FE375),
+          UINT64_C(0x00023DCF4460C9F8), UINT64_C(0x0002497719F0A400),
+          UINT64_C(0x00040836988B5191), UINT64_C(0x0004916DE1D1C20D),
+          UINT64_C(0x0001141194F546D7), UINT64_C(0x00002179582ACA27),
+          UINT64_C(0x0004DBC84C72F8E0), UINT64_C(0x00023C1DFC8EFD14)},
+         {UINT64_C(0x00070B7F76ADAF26), UINT64_C(0x0003C6CEB8B1DA8A),
+          UINT64_C(0x0003FD11262FDAE0), UINT64_C(0x0002770D8C7E9FB3),
+          UINT64_C(0x0006D3BD713575D9), UINT64_C(0x0007838C17F3658C),
+          UINT64_C(0x00077F30784494CF), UINT64_C(0x0001CE5F8562296E),
+          UINT64_C(0x0005C03FBD4434BB), UINT64_C(0x0001FF536CDDE62E)}},
+        {{UINT64_C(0x0001172A96A1E7D6), UINT64_C(0x0001098F9CBA5BBC),
+          UINT64_C(0x00074F5479589BDA), UINT64_C(0x0003E78B80CE763C),
+          UINT64_C(0x00045042B492B949), UINT64_C(0x000135B01953B25D),
+          UINT64_C(0x000564A958658405), UINT64_C(0x00073391FC7A30CF),
+          UINT64_C(0x00051DA995FAF2AC), UINT64_C(0x00008899D026CFE6)},
+         {UINT64_C(0x0002EF92641119A3), UINT64_C(0x0007CFCD3D8E8348),
+          UINT64_C(0x000251D519AA1667), UINT64_C(0x0007524C025888AD),
+          UINT64_C(0x0002847F5CB47F5C), UINT64_C(0x0000C637101A1799),
+          UINT64_C(0x000684496C314774), UINT64_C(0x0005DF9F71863B37),
+          UINT64_C(0x0003099895A2F373), UINT64_C(0x0000333CA2E94544)}},
+        {{UINT64_C(0x00070CCF02ECB2CC), UINT64_C(0x000105EF4D0A506E),
+          UINT64_C(0x00007BF7A4DE2CA0), UINT64_C(0x0006DAB36E4422DE),
+          UINT64_C(0x0005261AD9D05DF0), UINT64_C(0x000C9FCA9FCF1803),
+          UINT64_C(0x00077F743B9F8F4A), UINT64_C(0x00054F8CFD871DBE),
+          UINT64_C(0x00008369A88F23E3), UINT64_C(0x0004DE24D800793E)},
+         {UINT64_C(0x00080D00BBD99113), UINT64_C(0x000705E433C3D50A),
+          UINT64_C(0x0000CC78397E7790), UINT64_C(0x00033741085A403B),
+          UINT64_C(0x0006E31F0AE64239), UINT64_C(0x0004B8AE3CC6DEFC),
+          UINT64_C(0x0007FC3C4D4BFA22), UINT64_C(0x0005A85FF42BA85E),
+          UINT64_C(0x0005E2879D483F75), UINT64_C(0x000111B21C595B57)}},
+        {{UINT64_C(0x000B69E54FB31425), UINT64_C(0x0007670DB77E68C9),
+          UINT64_C(0x000200548E67C390), UINT64_C(0x0007E58E7DA1316B),
+          UINT64_C(0x00065C0A1A2EC1E9), UINT64_C(0x000566CC8A93BAED),
+          UINT64_C(0x00034140BA9D29BD), UINT64_C(0x00066D8BC0434EC9),
+          UINT64_C(0x000545F0A0BE9D95), UINT64_C(0x0005D43571D5259A)},
+         {UINT64_C(0x000CB66450379E4A), UINT64_C(0x0002EA896E3D63C2),
+          UINT64_C(0x0000A1CBC3C15620), UINT64_C(0x0004F3A6795DCE0B),
+          UINT64_C(0x0007A3F6DAC83AC6), UINT64_C(0x0005EC06F01B9BAD),
+          UINT64_C(0x0006468A896619D3), UINT64_C(0x0003C2FAACC2C60B),
+          UINT64_C(0x0006858F9F24FF57), UINT64_C(0x00011A6265D8A36E)}},
+        {{UINT64_C(0x00041C66E40F1A90), UINT64_C(0x0004E4F0180E78EF),
+          UINT64_C(0x0003FB530CA47EAF), UINT64_C(0x0007ABB19E0A2FA0),
+          UINT64_C(0x00041ABDD6CB403F), UINT64_C(0x000DAB4EEE08EF52),
+          UINT64_C(0x00023FC4E743BC92), UINT64_C(0x0005B913456A7476),
+          UINT64_C(0x0001C85ADE3AC4F1), UINT64_C(0x0004C1EA18C4581B)},
+         {UINT64_C(0x000AC8C9F1F7F0A6), UINT64_C(0x0007E11A1C557ED2),
+          UINT64_C(0x0000E1E16CCE15D8), UINT64_C(0x000132838704418A),
+          UINT64_C(0x0002E6AFA3B1E448), UINT64_C(0x000D76FF3FBC3F61),
+          UINT64_C(0x00015097A2812475), UINT64_C(0x0000F295A5BC66CB),
+          UINT64_C(0x0002FF9986FD6334), UINT64_C(0x000792181517F379)}},
+        {{UINT64_C(0x000593BFA181F4DE), UINT64_C(0x00076E78859CC727),
+          UINT64_C(0x0000768CDCBCFB1D), UINT64_C(0x0002B147828E8906),
+          UINT64_C(0x0004D189BBDFAF3E), UINT64_C(0x000F4188F2DE5620),
+          UINT64_C(0x0005541E2603D86E), UINT64_C(0x00068B0163E24EF2),
+          UINT64_C(0x000732F7A222EC67), UINT64_C(0x00030102005758D0)},
+         {UINT64_C(0x000965B8766CC610), UINT64_C(0x0006CED5C6750EC9),
+          UINT64_C(0x0002510890A11A94), UINT64_C(0x00050A335E380C21),
+          UINT64_C(0x0002D3AAA4B5ABB1), UINT64_C(0x000C3DEBF83FD12E),
+          UINT64_C(0x00042A5B613A963D), UINT64_C(0x00048A5474D5B2CC),
+          UINT64_C(0x0006DBC324E377DF), UINT64_C(0x0004A450113CC47F)}},
+        {{UINT64_C(0x00082FD2D666BA94), UINT64_C(0x000307B3C69374F1),
+          UINT64_C(0x00030E4DCCADA50B), UINT64_C(0x00025121DD5AF46E),
+          UINT64_C(0x0005DAE113DE717D), UINT64_C(0x000F540F6A242AF7),
+          UINT64_C(0x0001984B2DEE5FE8), UINT64_C(0x000751006703C07F),
+          UINT64_C(0x0003C4BED0C06C42), UINT64_C(0x0006834E2CFEAF97)},
+         {UINT64_C(0x00079EF331F8BE0C), UINT64_C(0x0006C58FB2C0D852),
+          UINT64_C(0x000642C225B2131C), UINT64_C(0x0003F1F2DD654AF1),
+          UINT64_C(0x0003F6D400299A16), UINT64_C(0x000A1D524B709913),
+          UINT64_C(0x0007F61D15FA8CD7), UINT64_C(0x00007D279176192A),
+          UINT64_C(0x0004CB0573788091), UINT64_C(0x00017B43566C1463)}},
+        {{UINT64_C(0x0007A50D58E645CD), UINT64_C(0x000717BFEFCEFD32),
+          UINT64_C(0x00021533C2082002), UINT64_C(0x0000B6C97BE84215),
+          UINT64_C(0x0003D9526234147F), UINT64_C(0x000736AFD37F86C3),
+          UINT64_C(0x0001446C15A309FC), UINT64_C(0x00049F6A2E32732D),
+          UINT64_C(0x0005A7F6B6BD0310), UINT64_C(0x00049050A86F7F6E)},
+         {UINT64_C(0x000478A084486F70), UINT64_C(0x0004B485E454FFE6),
+          UINT64_C(0x00005134AC546D22), UINT64_C(0x00045EC4A7C0DB13),
+          UINT64_C(0x0003AB8CCE7A0B15), UINT64_C(0x000601A238F1B5B3),
+          UINT64_C(0x00063D63F830D881), UINT64_C(0x0000F2D0A86F5488),
+          UINT64_C(0x00077A07AB5A6307), UINT64_C(0x0001A0E97FE656C5)}},
+        {{UINT64_C(0x0002B8E72C38FDE6), UINT64_C(0x0001650DDE9F2E2E),
+          UINT64_C(0x00028EF99CEB5566), UINT64_C(0x00041C64DDA06D6A),
+          UINT64_C(0x00005CB89B26AD37), UINT64_C(0x000A5F15A5F8AF03),
+          UINT64_C(0x00025505F3937C0E), UINT64_C(0x000159B4CD9043F4),
+          UINT64_C(0x000343C00F6BA0DB), UINT64_C(0x00047E9671AB1CFB)},
+         {UINT64_C(0x0007DE9E2086ECD6), UINT64_C(0x0000A7B07155978A),
+          UINT64_C(0x00026C99DCA72BC9), UINT64_C(0x0004F4F2C6EB2ED1),
+          UINT64_C(0x00074C9CE7C64240), UINT64_C(0x000A4D876B2764B2),
+          UINT64_C(0x0005394454615D25), UINT64_C(0x000481776CCE078B),
+          UINT64_C(0x000186A538247AB1), UINT64_C(0x000333D9943B1146)}},
+        {{UINT64_C(0x00084973CEDC2791), UINT64_C(0x0002950F48F39EEB),
+          UINT64_C(0x0000EF6F70D1EFF2), UINT64_C(0x0004D3D6FD70FEAF),
+          UINT64_C(0x000638ED86C3A27D), UINT64_C(0x000F9B23D52DAEF5),
+          UINT64_C(0x0007DCA2C6212A71), UINT64_C(0x0003A72278C541D8),
+          UINT64_C(0x0000D206D53E4F6B), UINT64_C(0x0007CC2FD213C6D8)},
+         {UINT64_C(0x0009C9835F59129E), UINT64_C(0x0007F4A22C2FB8AC),
+          UINT64_C(0x0000EB9FBBDAB0AF), UINT64_C(0x000397BE0B58FC49),
+          UINT64_C(0x0000D58A5D14AA83), UINT64_C(0x000CBCDEEF3C688F),
+          UINT64_C(0x0007F56D84202AE6), UINT64_C(0x0001AACDE92E0055),
+          UINT64_C(0x0006A0198A5DD4EF), UINT64_C(0x00009072B8CFBB20)}},
+        {{UINT64_C(0x000F7FEC5A5D3591), UINT64_C(0x0003CC91186CC1D7),
+          UINT64_C(0x0000539F22D56CB3), UINT64_C(0x00014418785A7E75),
+          UINT64_C(0x0007DD55510142B3), UINT64_C(0x00027C9298FBB5F7),
+          UINT64_C(0x0002E6839156F4F1), UINT64_C(0x00006806E7AF3BDD),
+          UINT64_C(0x00017FEEBFA3E11C), UINT64_C(0x0005E3B668C8CF1E)},
+         {UINT64_C(0x0002E308DB4D3ABB), UINT64_C(0x0002519214DBB309),
+          UINT64_C(0x00053F1D5795FB73), UINT64_C(0x00006C5A6BA835DE),
+          UINT64_C(0x0007282B5833FF0C), UINT64_C(0x0007CA1C54F0B679),
+          UINT64_C(0x00067F8A25FBF269), UINT64_C(0x00006A247708AB5B),
+          UINT64_C(0x000271FDD248BDC5), UINT64_C(0x00001617D43FC96F)}},
+        {{UINT64_C(0x000530DC05A439D4), UINT64_C(0x0002C89DF13D212F),
+          UINT64_C(0x00006CD963D870CE), UINT64_C(0x00070E6A17E094DF),
+          UINT64_C(0x0005335D7B440052), UINT64_C(0x0005D20A7FC5B6E6),
+          UINT64_C(0x0000816C1BD2E991), UINT64_C(0x00015BFD4D6A50B8),
+          UINT64_C(0x000611290ED60372), UINT64_C(0x000252141FDE02E6)},
+         {UINT64_C(0x000EE270D2D5D91D), UINT64_C(0x00064864D00DF773),
+          UINT64_C(0x0002CDF8C5BDD29E), UINT64_C(0x0004B4D19D843238),
+          UINT64_C(0x0001E7349DF960FB), UINT64_C(0x000AB7E45A9B26DB),
+          UINT64_C(0x0002D5282F6EE449), UINT64_C(0x0004F9B215872CD1),
+          UINT64_C(0x0002F931EDC40DD7), UINT64_C(0x0004C76A77256A9F)}},
+        {{UINT64_C(0x0006A781358C169E), UINT64_C(0x000093BAB2A31F43),
+          UINT64_C(0x0002C0B13C7E6C0A), UINT64_C(0x00035E6DBE645073),
+          UINT64_C(0x00027A3CF6B52BB2), UINT64_C(0x0007090F7CD7F0B6),
+          UINT64_C(0x00049B2C3B592E30), UINT64_C(0x0002359164A5EB6A),
+          UINT64_C(0x0004DC6C9A544458), UINT64_C(0x0007423068D875B5)},
+         {UINT64_C(0x00059D79EBA27F83), UINT64_C(0x0005D19F0CBC111F),
+          UINT64_C(0x000753952EB35496), UINT64_C(0x00062897B4108C18),
+          UINT64_C(0x0006D7F09D866E46), UINT64_C(0x0005897E202402FA),
+          UINT64_C(0x0001D12E39D2981C), UINT64_C(0x0004D1F9BD50FDDC),
+          UINT64_C(0x00060754737FA4EC), UINT64_C(0x0004B66C109681C2)}},
+        {{UINT64_C(0x00091EB3450A8B6F), UINT64_C(0x0006E67784D11649),
+          UINT64_C(0x00052A0A75E83A4C), UINT64_C(0x0000C7EF54A33FAB),
+          UINT64_C(0x0007E4B1F177CCAC), UINT64_C(0x000B1572C584C7B2),
+          UINT64_C(0x0003F88F3DDE8AF6), UINT64_C(0x00055A76B8A9FEC4),
+          UINT64_C(0x0004D726D797ABF3), UINT64_C(0x000063A37056B2C1)},
+         {UINT64_C(0x000BEC5B8D4113B1), UINT64_C(0x0004AF1E78531E4F),
+          UINT64_C(0x0003A706B01EA69E), UINT64_C(0x000114C7197A503E),
+          UINT64_C(0x00068D6405B730D6), UINT64_C(0x00037F60FB050D8E),
+          UINT64_C(0x0002625FCDD6414D), UINT64_C(0x0000A66900D00C7B),
+          UINT64_C(0x0007AADE957078F1), UINT64_C(0x000708B1373BF752)}},
+    },
+    {
+        {{UINT64_C(0x000C3BAB92C31CE5), UINT64_C(0x00002134ECD1DE22),
+          UINT64_C(0x000610E7706C8F42), UINT64_C(0x0004D37D742251A7),
+          UINT64_C(0x0003F0AD3A1A8A28), UINT64_C(0x0005B53175168302),
+          UINT64_C(0x0007812CA56B0662), UINT64_C(0x0006DBA3FECD0E65),
+          UINT64_C(0x000488903D3A2C5C), UINT64_C(0x000356F226A3070C)},
+         {UINT64_C(0x000C6272379969A8), UINT64_C(0x000030E999753799),
+          UINT64_C(0x00006FA2FD45CF73), UINT64_C(0x0005B8B69287AF76),
+          UINT64_C(0x0005213C07A81179), UINT64_C(0x0008D822B335452D),
+          UINT64_C(0x000011E080D0121B), UINT64_C(0x000337047AED499C),
+          UINT64_C(0x0005F3F0DAE82068), UINT64_C(0x000287D13EDC6853)}},
+        {{UINT64_C(0x000890BAE3CD0A60), UINT64_C(0x0007CFCB31DC10E6),
+          UINT64_C(0x00042A0AD557A444), UINT64_C(0x0005E3E8DEDD318E),
+          UINT64_C(0x0004B768FB3B1B2D), UINT64_C(0x000A74BE0F89CA10),
+          UINT64_C(0x0003022817A331F0), UINT64_C(0x000398531778D3CE),
+          UINT64_C(0x0003F92B536499CA), UINT64_C(0x00039BBC19367C44)},
+         {UINT64_C(0x0003D17E79CF10DA), UINT64_C(0x00041C136308597C),
+          UINT64_C(0x0001C7CFCC962C3F), UINT64_C(0x0005F7010BF5A11D),
+          UINT64_C(0x00018E8314AB3E4C), UINT64_C(0x000B784160490F36),
+          UINT64_C(0x00002C72D731F23C), UINT64_C(0x00059E1083EF050E),
+          UINT64_C(0x00029D7C307711F7), UINT64_C(0x00028978EEF174D0)}},
+        {{UINT64_C(0x0000B2EDE471ED48), UINT64_C(0x00049FF7F87A8FDE),
+          UINT64_C(0x000407DAC8E66330), UINT64_C(0x00017A99137DCD53),
+          UINT64_C(0x000413D5BA8A3E49), UINT64_C(0x00069E2849ED7ACF),
+          UINT64_C(0x00011A49582E3C16), UINT64_C(0x0003EF82C8E245ED),
+          UINT64_C(0x0002209E0B7EA09E), UINT64_C(0x000640B26788B817)},
+         {UINT64_C(0x000FB77EC4895293), UINT64_C(0x000521EE12FEC7C5),
+          UINT64_C(0x0006B87272F0F4BE), UINT64_C(0x000743571A70D3FA),
+          UINT64_C(0x00012A853508E676), UINT64_C(0x000C8E90D720C744),
+          UINT64_C(0x0004E53325BF55D5), UINT64_C(0x00022141D2FC04DE),
+          UINT64_C(0x0002C08E37CCB8A9), UINT64_C(0x0005B2FF2928CA19)}},
+        {{UINT64_C(0x00093112664E6955), UINT64_C(0x000318FAC599B3B0),
+          UINT64_C(0x0004E86FFA5DC372), UINT64_C(0x00011CEA6B7ED8B5),
+          UINT64_C(0x00032C5BB4D4B3E4), UINT64_C(0x00012FAB789556A8),
+          UINT64_C(0x0005FD6D51C50C39), UINT64_C(0x0001F53B8DF4EB2C),
+          UINT64_C(0x0003DC5A71DF97A9), UINT64_C(0x000202CBFD6A2695)},
+         {UINT64_C(0x000A8D3B3805ED4E), UINT64_C(0x0006E97BF7B19A75),
+          UINT64_C(0x000020C8EF1A157A), UINT64_C(0x0000DDAD96ECC141),
+          UINT64_C(0x000634B69890E950), UINT64_C(0x000BCFBDA6464E18),
+          UINT64_C(0x00057A50EC40E5E7), UINT64_C(0x000369C5C34E75A1),
+          UINT64_C(0x0001DDDA57109D52), UINT64_C(0x000109C8DA359727)}},
+        {{UINT64_C(0x000DC858E40E2D09), UINT64_C(0x0006583010E4FCF5),
+          UINT64_C(0x0005616E9FBECEE8), UINT64_C(0x0004CC7EC96FFCA8),
+          UINT64_C(0x0005436EDC94F6C0), UINT64_C(0x0001BFB47EC04EC2),
+          UINT64_C(0x000353148F9B2046), UINT64_C(0x0002E68773E2D458),
+          UINT64_C(0x000128904A0917E3), UINT64_C(0x0007E5A730228042)},
+         {UINT64_C(0x000447DEFB88BB4F), UINT64_C(0x00012D87179A012D),
+          UINT64_C(0x0002379DFC6577E4), UINT64_C(0x000646EB1BA5867E),
+          UINT64_C(0x0004927A6707CB7F), UINT64_C(0x000F2F4B5DD2C056),
+          UINT64_C(0x000148E5C0EB9590), UINT64_C(0x000022E829ADA8D2),
+          UINT64_C(0x00066C299B36127A), UINT64_C(0x000208ACAE17BA18)}},
+        {{UINT64_C(0x0003FD0BE2AFDA6A), UINT64_C(0x00079A3A05AFE09A),
+          UINT64_C(0x00024431B9238AF6), UINT64_C(0x000196CDCEEABC5D),
+          UINT64_C(0x0005CD6BA856B384), UINT64_C(0x0003376ABB9C7D13),
+          UINT64_C(0x0000E28403D233B1), UINT64_C(0x0001E3E601F20B20),
+          UINT64_C(0x000553A7F33316D7), UINT64_C(0x00077A41CF9D1895)},
+         {UINT64_C(0x00018114833694B4), UINT64_C(0x00066ACE25DEC0AC),
+          UINT64_C(0x000000AD04607BBE), UINT64_C(0x0001C2BBD9D88ED5),
+          UINT64_C(0x000207EF8CDA325D), UINT64_C(0x0008C36267211FB6),
+          UINT64_C(0x0004148ABE972485), UINT64_C(0x00032559C1C5BC5F),
+          UINT64_C(0x0000D7CC34EB0616), UINT64_C(0x0006CFEBFC675164)}},
+        {{UINT64_C(0x0006391786A18B11), UINT64_C(0x00072B22981C2BBC),
+          UINT64_C(0x00064B2DCDABB7B4), UINT64_C(0x000307055034DD3A),
+          UINT64_C(0x00051C4CAE5629B9), UINT64_C(0x0007AAF27949F035),
+          UINT64_C(0x0002346889D53C01), UINT64_C(0x0006F67E4A19CA62),
+          UINT64_C(0x000331666606352F), UINT64_C(0x0005374DF049C2AC)},
+         {UINT64_C(0x0002B2B3139457D6), UINT64_C(0x000351A98E4D4EB2),
+          UINT64_C(0x0003DC00C4EBC1E7), UINT64_C(0x00017CA9107B252F),
+          UINT64_C(0x0007D9A4523CFBEB), UINT64_C(0x00037F677495611A),
+          UINT64_C(0x00032ACDFB65FA6E), UINT64_C(0x000005C03EBCCAC4),
+          UINT64_C(0x00044D67340F21A9), UINT64_C(0x0006F83F5FED3656)}},
+        {{UINT64_C(0x000E79AA3546F16F), UINT64_C(0x0000A94AF4903B11),
+          UINT64_C(0x0005BFBC2B88E83A), UINT64_C(0x0001616214CA6D22),
+          UINT64_C(0x0002F33B14AC87D4), UINT64_C(0x000DC3668AC17EC3),
+          UINT64_C(0x0003F9A5CD0FA18C), UINT64_C(0x00012136A765687B),
+          UINT64_C(0x000477263FD5ADD5), UINT64_C(0x00047574A89B0A9F)},
+         {UINT64_C(0x00086FD1F3EC5E19), UINT64_C(0x0001A0517754F902),
+          UINT64_C(0x0003FBB71A4EF414), UINT64_C(0x00060C166C23D6D5),
+          UINT64_C(0x0003CB4401A452C9), UINT64_C(0x00084139B2A26F87),
+          UINT64_C(0x000194184853F0AF), UINT64_C(0x000725C3E883547A),
+          UINT64_C(0x00007311B46CFE9E), UINT64_C(0x0006272C00057E36)}},
+        {{UINT64_C(0x00091526FAFA38D9), UINT64_C(0x00013C7B17BEB483),
+          UINT64_C(0x0005FBC53CC1E78B), UINT64_C(0x0000C1040CBB5D8E),
+          UINT64_C(0x0003A0AF18FC9ADE), UINT64_C(0x0007BC9B9B737A51),
+          UINT64_C(0x00058EAEC3E9FED9), UINT64_C(0x0000D346CF710790),
+          UINT64_C(0x0003BE2B75105FA1), UINT64_C(0x0004D079255CE7B8)},
+         {UINT64_C(0x00006C7D92D0825D), UINT64_C(0x00027A8C0386749E),
+          UINT64_C(0x0001C5B09D0FC792), UINT64_C(0x0002C2B760A9C963),
+          UINT64_C(0x0001524437DB7579), UINT64_C(0x0001B37F4B60ABD4),
+          UINT64_C(0x0007FE579406D534), UINT64_C(0x0002739C0C35BD00),
+          UINT64_C(0x00051086E45FFF04), UINT64_C(0x0003F4C9935FE354)}},
+        {{UINT64_C(0x0004E5D268BD8A83), UINT64_C(0x000377586FC26AA0),
+          UINT64_C(0x00030113A02CBC64), UINT64_C(0x000692EB25CA12F0),
+          UINT64_C(0x0001A47E293F9D79), UINT64_C(0x000DD2612D416AA9),
+          UINT64_C(0x00019FAC853D7BDD), UINT64_C(0x00001B9C4E8811EC),
+          UINT64_C(0x000164570C0AABCB), UINT64_C(0x0002DBCACCC287E8)},
+         {UINT64_C(0x00027EADFBCEA391), UINT64_C(0x000406BA866FB97C),
+          UINT64_C(0x000250E70AA28457), UINT64_C(0x0000CE5D6B77F502),
+          UINT64_C(0x0007E1FE982DC604), UINT64_C(0x00077DC8CD9AEDE3),
+          UINT64_C(0x0006EECC4E8C56CC), UINT64_C(0x000529E001D51C07),
+          UINT64_C(0x0000D42CF53B5E54), UINT64_C(0x00059F46F2041F90)}},
+        {{UINT64_C(0x000A993579C46A7C), UINT64_C(0x0003FADB3C50214A),
+          UINT64_C(0x0007552587801072), UINT64_C(0x00008E9ED9922E64),
+          UINT64_C(0x0001D65D1FE863B0), UINT64_C(0x000B68B2D984977E),
+          UINT64_C(0x00026F8BCC4EF71E), UINT64_C(0x0004580D2CF9C07C),
+          UINT64_C(0x0005F7DB9F7C5608), UINT64_C(0x00039723A14ADB8F)},
+         {UINT64_C(0x0001FC8374852517), UINT64_C(0x0004EFCD85E78688),
+          UINT64_C(0x0005BA5C6E340E04), UINT64_C(0x0002AD5541C4F7E0),
+          UINT64_C(0x0007AFEAD74D7911), UINT64_C(0x000772EEA94A657C),
+          UINT64_C(0x000372BB0B3340C5), UINT64_C(0x0002DFFC3FE428C3),
+          UINT64_C(0x0007780B19634458), UINT64_C(0x000396C2E8AD8E1B)}},
+        {{UINT64_C(0x000A0DC2AEA8D665), UINT64_C(0x000497C1A0EAAB74),
+          UINT64_C(0x00034918630C5E96), UINT64_C(0x00021960961A8492),
+          UINT64_C(0x00056059C4ACA995), UINT64_C(0x000FDDE1D84A2BCA),
+          UINT64_C(0x0003E28D6D947C37), UINT64_C(0x00059FA17EA39CB1),
+          UINT64_C(0x0002B2B829872434), UINT64_C(0x0001AD4DAEAA9FE2)},
+         {UINT64_C(0x000F2E4853E5AF32), UINT64_C(0x0004693D39964BD6),
+          UINT64_C(0x0006A84B327FFE47), UINT64_C(0x0002F3C1238E197A),
+          UINT64_C(0x0003790974398BDF), UINT64_C(0x000FF31F3581AF07),
+          UINT64_C(0x0004C239726330EE), UINT64_C(0x0002C366AFC8A963),
+          UINT64_C(0x0005B30D24500CBF), UINT64_C(0x0007D9C6B29592A1)}},
+        {{UINT64_C(0x000E71DDD57E8296), UINT64_C(0x000346C03100FF87),
+          UINT64_C(0x00046A920C6C7EF3), UINT64_C(0x00017883AE0679DA),
+          UINT64_C(0x0007371362C409A2), UINT64_C(0x0003F3FD0398532B),
+          UINT64_C(0x00047C47A292C97E), UINT64_C(0x0003E20A94F0DAB2),
+          UINT64_C(0x000615A39700E27A), UINT64_C(0x0004DD4F52D80B70)},
+         {UINT64_C(0x000D8189C3E7FF9B), UINT64_C(0x0006A323F12ACCE3),
+          UINT64_C(0x000218561CEBE916), UINT64_C(0x000582DFFA5B6244),
+          UINT64_C(0x00017E86803253FE), UINT64_C(0x000F6E066437E671),
+          UINT64_C(0x00003379D07B3571), UINT64_C(0x00028E80792D0F88),
+          UINT64_C(0x0003ADB5E00F7D48), UINT64_C(0x0004490947B64CC1)}},
+        {{UINT64_C(0x000966BA117EB5A0), UINT64_C(0x0003EAD0F9635F78),
+          UINT64_C(0x0001127434D7F565), UINT64_C(0x000166F7EFE73A42),
+          UINT64_C(0x0006E1EB3EE2C95B), UINT64_C(0x0002169A44ADD28F),
+          UINT64_C(0x0007D099F80F5E40), UINT64_C(0x00001673EEDC2717),
+          UINT64_C(0x0006D35CE7C87042), UINT64_C(0x0001F1659FA895C4)},
+         {UINT64_C(0x0000CDA418AFEEA2), UINT64_C(0x00022BB4CD3D78EA),
+          UINT64_C(0x0007CCB3C8415D6C), UINT64_C(0x00072FAD0144A08F),
+          UINT64_C(0x0006AD7BD312743A), UINT64_C(0x0009717E7E313571),
+          UINT64_C(0x00030507C307B184), UINT64_C(0x00037E8A184867EE),
+          UINT64_C(0x0005A0F950ED5715), UINT64_C(0x00035FB26907AA86)}},
+        {{UINT64_C(0x00087069CFCD15C6), UINT64_C(0x0005E74CAE8DD69A),
+          UINT64_C(0x00077415248EC6CF), UINT64_C(0x00039CFB19D98136),
+          UINT64_C(0x0004102ADA4617F0), UINT64_C(0x00091344A9950D43),
+          UINT64_C(0x0007F37FAA893404), UINT64_C(0x0000894C6ED07059),
+          UINT64_C(0x0001CBD2D8C191AE), UINT64_C(0x0005E7D0A8D6C1FB)},
+         {UINT64_C(0x000D8A6DCD86A648), UINT64_C(0x00069DFB00FAC67A),
+          UINT64_C(0x00055E4E4A8BF53E), UINT64_C(0x00052C3F21F19F1A),
+          UINT64_C(0x000199681E75B076), UINT64_C(0x000B461379ABA50E),
+          UINT64_C(0x00027C35B013932E), UINT64_C(0x0003E43D98DC3C8B),
+          UINT64_C(0x0005299D0D27C3FF), UINT64_C(0x000501003FB5C76B)}},
+        {{UINT64_C(0x0002584D9F215747), UINT64_C(0x0007BE751EE9975B),
+          UINT64_C(0x0006739CFFA040AB), UINT64_C(0x00021F693AB51286),
+          UINT64_C(0x0004378F5B99BA03), UINT64_C(0x00092021DCD03E29),
+          UINT64_C(0x00029C3D833529D1), UINT64_C(0x0003218DAA201C66),
+          UINT64_C(0x00068DD2830252B2), UINT64_C(0x0000C547881361FE)},
+         {UINT64_C(0x0004DA1DDF2727C5), UINT64_C(0x000141088C10F286),
+          UINT64_C(0x00033EFA65C7AD64), UINT64_C(0x000309E225C521F2),
+          UINT64_C(0x000165C50DA477FD), UINT64_C(0x0006A39D52AC02AF),
+          UINT64_C(0x000583FDD7E42212), UINT64_C(0x00049409EBFF68E5),
+          UINT64_C(0x0003F0AC36D8B5F7), UINT64_C(0x0007F9BFC22F82AF)}},
+    },
+    {
+        {{UINT64_C(0x0002372DBC024334), UINT64_C(0x0003AC04780C37E6),
+          UINT64_C(0x0000B462B14E1199), UINT64_C(0x000789AB88A9152C),
+          UINT64_C(0x0004669A83086007), UINT64_C(0x0002875233E2BB95),
+          UINT64_C(0x000164D14E6DD133), UINT64_C(0x0007834C96D7F2E1),
+          UINT64_C(0x0000376AF8A1FB72), UINT64_C(0x00025E655DD42C55)},
+         {UINT64_C(0x000BC3F8D59BD4F8), UINT64_C(0x0004295AE12759FE),
+          UINT64_C(0x0001710B8788649D), UINT64_C(0x00063FB5252144E8),
+          UINT64_C(0x0000FB67B48BFB15), UINT64_C(0x000EF2243C620B1A),
+          UINT64_C(0x00043471BAB61989), UINT64_C(0x000297865EB6854C),
+          UINT64_C(0x00041EC649B840B6), UINT64_C(0x0000DBB860FE03FD)}},
+        {{UINT64_C(0x000F3F668337995A), UINT64_C(0x0000D23F1A076787),
+          UINT64_C(0x000559B19C7D6F35), UINT64_C(0x0001F5D63B1D816A),
+          UINT64_C(0x0004919133B61F8E), UINT64_C(0x00031862225D9C14),
+          UINT64_C(0x0003C6604EA7EF2F), UINT64_C(0x00062AF2D864BE9B),
+          UINT64_C(0x0004E75593316CB0), UINT64_C(0x0006270C9215DEE8)},
+         {UINT64_C(0x00079DDB43AE991A), UINT64_C(0x0000D9D288C5279D),
+          UINT64_C(0x00010A5CE9E2122D), UINT64_C(0x0006627C1899977C),
+          UINT64_C(0x0004545C3F73568F), UINT64_C(0x00041DA4E722FDD7),
+          UINT64_C(0x0001D1CA3BA6C0E4), UINT64_C(0x000154DDB8B11262),
+          UINT64_C(0x00076A8BBB916CBA), UINT64_C(0x000264F61CEB449C)}},
+        {{UINT64_C(0x000C03E88F01C0CF), UINT64_C(0x0002DE2458CBF5D8),
+          UINT64_C(0x00059AB57877E3A8), UINT64_C(0x000022BA99E9FF36),
+          UINT64_C(0x0006E3D7F3651BA4), UINT64_C(0x00091A76C49112C9),
+          UINT64_C(0x00033BFF09F31D44), UINT64_C(0x00037DF6585ECCB8),
+          UINT64_C(0x00031E08F635DFAB), UINT64_C(0x00061B6BEEA111BC)},
+         {UINT64_C(0x000EC7C8AED31D53), UINT64_C(0x0001C2D420733AED),
+          UINT64_C(0x00028A0A574AB6AC), UINT64_C(0x0000C07A2A7F50B8),
+          UINT64_C(0x000146FAE597AF65), UINT64_C(0x000BFB422415D9A7),
+          UINT64_C(0x0003B3FAF595D88B), UINT64_C(0x00016FABFA94B1DD),
+          UINT64_C(0x00077BD9F4E1A511), UINT64_C(0x0001ED87CB724465)}},
+        {{UINT64_C(0x000213F3A12FADCB), UINT64_C(0x00073702A45BFCC2),
+          UINT64_C(0x00005344B6A0BE9D), UINT64_C(0x0005780B5541C989),
+          UINT64_C(0x0004689EA1E50219), UINT64_C(0x0005B3C5CE5DF752),
+          UINT64_C(0x000187B449599429), UINT64_C(0x0004F3F92602410B),
+          UINT64_C(0x00008266C08FAD01), UINT64_C(0x00006449FDC76A08)},
+         {UINT64_C(0x0001290134E207CC), UINT64_C(0x0005FC0BF00CD133),
+          UINT64_C(0x0005093E94846544), UINT64_C(0x0001904D36A7E4E0),
+          UINT64_C(0x0006CFB29FCB4C43), UINT64_C(0x00021A5E794AD08A),
+          UINT64_C(0x00049AF3B74BD0CA), UINT64_C(0x0003D12DD54A42E0),
+          UINT64_C(0x00020F8191FC6C17), UINT64_C(0x0005271ACF2BEF13)}},
+        {{UINT64_C(0x0003973D23C5FC40), UINT64_C(0x00022C79CF716759),
+          UINT64_C(0x000698E37C807E96), UINT64_C(0x00061499D8A20942),
+          UINT64_C(0x0003CA6565D1591A), UINT64_C(0x000376C82319132C),
+          UINT64_C(0x0000AB592C414D58), UINT64_C(0x00078DCD766F3A9F),
+          UINT64_C(0x000235326903A314), UINT64_C(0x0001C533CF655AFB)},
+         {UINT64_C(0x000417ABAE4343FF), UINT64_C(0x0000CC1BEBE8BA73),
+          UINT64_C(0x00035CFD9C4CD9EB), UINT64_C(0x000525DDECFE78DD),
+          UINT64_C(0x0004018B732A3EA9), UINT64_C(0x0004158841836B35),
+          UINT64_C(0x00013A9FC11821AB), UINT64_C(0x0001A62E3E9F6760),
+          UINT64_C(0x00019D2F382BFC5A), UINT64_C(0x00048B8C5EE1498A)}},
+        {{UINT64_C(0x00067BC07969E710), UINT64_C(0x00056FE1647FF971),
+          UINT64_C(0x00056B9EC60E5571), UINT64_C(0x0004FF5FF4D6D59D),
+          UINT64_C(0x00048349FDBC6F40), UINT64_C(0x0000EDA3EDA8889B),
+          UINT64_C(0x0000C724742965C9), UINT64_C(0x0004CA3A42627635),
+          UINT64_C(0x00047141B8D6F392), UINT64_C(0x0003D2FEDEAA1C29)},
+         {UINT64_C(0x000716C803508620), UINT64_C(0x0004F95142A62BB6),
+          UINT64_C(0x000486FEE8AA4AD7), UINT64_C(0x0007AEE5F2F7D145),
+          UINT64_C(0x00073A3D7B302EEA), UINT64_C(0x000C31B194B33CB5),
+          UINT64_C(0x0005E8F7E9DB0F29), UINT64_C(0x00026804A1976839),
+          UINT64_C(0x000224312A20168B), UINT64_C(0x0004C6397AFDC614)}},
+        {{UINT64_C(0x000B366A0560CD66), UINT64_C(0x0005ACD26E6E7D4B),
+          UINT64_C(0x0001A29126E560EF), UINT64_C(0x00077D0A85F35263),
+          UINT64_C(0x00066BB4F7909A61), UINT64_C(0x000089487A0F6CA2),
+          UINT64_C(0x00004201AC59EC89), UINT64_C(0x0003517D862DA268),
+          UINT64_C(0x0004E06334DCBFC2), UINT64_C(0x000542129BF06EDC)},
+         {UINT64_C(0x0009AC6AC40ECFAD), UINT64_C(0x0004A4A6435450F2),
+          UINT64_C(0x0003884DC2B01CE7), UINT64_C(0x00033DFEBB566E48),
+          UINT64_C(0x000578290964FDAC), UINT64_C(0x00023B7A353BC889),
+          UINT64_C(0x0005060A08B7EE8B), UINT64_C(0x0007AB7A129FEBF9),
+          UINT64_C(0x000546502F940252), UINT64_C(0x0001DBB0164F28EF)}},
+        {{UINT64_C(0x00018A4A75F64304), UINT64_C(0x00046FFF5757186A),
+          UINT64_C(0x000114066ED84642), UINT64_C(0x0002551CC10C6D4D),
+          UINT64_C(0x000402FACD10897C), UINT64_C(0x00015C0E2DCC992B),
+          UINT64_C(0x00040E8F0EBF60EE), UINT64_C(0x000060EB6563E9C6),
+          UINT64_C(0x0003B809A3126313), UINT64_C(0x00017A66BDC55746)},
+         {UINT64_C(0x0009062DED579427), UINT64_C(0x00044A5F128A6E10),
+          UINT64_C(0x000151DC6DCB8F89), UINT64_C(0x000141A87B41F52E),
+          UINT64_C(0x0000D7A6A002BD72), UINT64_C(0x000E8B9C9303AC1F),
+          UINT64_C(0x0001834AD28690AA), UINT64_C(0x00032ADCC504A8B7),
+          UINT64_C(0x0000A927B2B2E93B), UINT64_C(0x0002A737885EE993)}},
+        {{UINT64_C(0x0006BCF992E8B9F6), UINT64_C(0x00040A05E593A37A),
+          UINT64_C(0x0003A56755FA1A2F), UINT64_C(0x0003C89364FAE34E),
+          UINT64_C(0x0007E77DBC3D88C6), UINT64_C(0x0002ED2A5FAC8E6E),
+          UINT64_C(0x0005FAFA89C46962), UINT64_C(0x0004DBFA31641429),
+          UINT64_C(0x0000DB79C8D1176F), UINT64_C(0x00019941D0C3522A)},
+         {UINT64_C(0x00041A75E1C8E526), UINT64_C(0x0004C6B783802833),
+          UINT64_C(0x0001B562BAFECB1F), UINT64_C(0x0003E09662D4B955),
+          UINT64_C(0x00036C04E510554C), UINT64_C(0x000E4C0F87B4805F),
+          UINT64_C(0x00073B95C41A7C5A), UINT64_C(0x00010377BD353B8C),
+          UINT64_C(0x0000E2A301E84DD8), UINT64_C(0x0004AA08670DB7E8)}},
+        {{UINT64_C(0x00056A0D36E91A81), UINT64_C(0x0007AE104EAE22F7),
+          UINT64_C(0x000377C28F77E9A6), UINT64_C(0x00077E662A50D752),
+          UINT64_C(0x0000806A44DC69B2), UINT64_C(0x0007C6E8FEC3651E),
+          UINT64_C(0x0003B809BA19FDFE), UINT64_C(0x0002B748E1AF6B23),
+          UINT64_C(0x00013D51330F00A4), UINT64_C(0x000054847211A69E)},
+         {UINT64_C(0x00012FB021D29481), UINT64_C(0x0006FA2B27174477),
+          UINT64_C(0x0003C6438378319E), UINT64_C(0x0000FFD2B056F1C6),
+          UINT64_C(0x0004D77E75145534), UINT64_C(0x00020A7895D994A3),
+          UINT64_C(0x0003166E20D7EAB2), UINT64_C(0x0006B6D0CB136A52),
+          UINT64_C(0x0002B5C30551AFC3), UINT64_C(0x00068443D6142CD4)}},
+        {{UINT64_C(0x000408A9351DFB46), UINT64_C(0x0006B998F97E7968),
+          UINT64_C(0x0005B54EB77BAE87), UINT64_C(0x0001D1547584B3F6),
+          UINT64_C(0x0000DEC5666F2759), UINT64_C(0x00097223408D9F44),
+          UINT64_C(0x0004E4F55A177F66), UINT64_C(0x000008514532470B),
+          UINT64_C(0x0000856C14AE04B3), UINT64_C(0x00061CA70F3895B4)},
+         {UINT64_C(0x000253C057F4BB69), UINT64_C(0x0001163F0D6F162A),
+          UINT64_C(0x00016E781BFFB4F3), UINT64_C(0x0001F13813403F57),
+          UINT64_C(0x000720EC959BE2A5), UINT64_C(0x00004CAD26FC8BC3),
+          UINT64_C(0x0004430E9FD18B54), UINT64_C(0x000127BC205199CF),
+          UINT64_C(0x0006E3D5CCB5D82C), UINT64_C(0x0002C08FFC17839E)}},
+        {{UINT64_C(0x00038FAE0545EF38), UINT64_C(0x00053E6BB230EB0F),
+          UINT64_C(0x0003612B0393816C), UINT64_C(0x00073B82CB17AA32),
+          UINT64_C(0x000164306BE664B8), UINT64_C(0x0007DECB1BEAB083),
+          UINT64_C(0x0003ABA14AB6DFEF), UINT64_C(0x0006698C134B72CB),
+          UINT64_C(0x00048700868CEFB6), UINT64_C(0x0004DC5186706827)},
+         {UINT64_C(0x000D284BA53E67E8), UINT64_C(0x0004F1D7F1CDA504),
+          UINT64_C(0x000763E8AAD17850), UINT64_C(0x0003EE3C7D2B43AB),
+          UINT64_C(0x0005EDDBD6D373C5), UINT64_C(0x000F6B7396FD7F7F),
+          UINT64_C(0x0006367A99D09B8F), UINT64_C(0x0001571A1CD21578),
+          UINT64_C(0x0007236B9994F1FA), UINT64_C(0x00062AA7DCD740A8)}},
+        {{UINT64_C(0x000895A1FD8F0DA1), UINT64_C(0x0000940D048284D5),
+          UINT64_C(0x0007059173020EB7), UINT64_C(0x00034CBCC3643F29),
+          UINT64_C(0x00054D38DFC9A9C7), UINT64_C(0x00004D0D54222865),
+          UINT64_C(0x0007AC3D3F2E7588), UINT64_C(0x0004BD1D9A8CC40C),
+          UINT64_C(0x0004BA573C79363A), UINT64_C(0x0003B77EA3C0F6CE)},
+         {UINT64_C(0x0004EA2FC4B8BA7C), UINT64_C(0x0001ADDAEDBD593B),
+          UINT64_C(0x0007B6AB6C9FFEBE), UINT64_C(0x000246C34D52441A),
+          UINT64_C(0x000664D1C2133D2A), UINT64_C(0x0005A8FCC6F82245),
+          UINT64_C(0x0003C821241B7620), UINT64_C(0x0007ABB29F71AC83),
+          UINT64_C(0x0000126E955FDD3A), UINT64_C(0x000483EA750D326E)}},
+        {{UINT64_C(0x0003FD366EBA1606), UINT64_C(0x0002D9ABAF3B8EC5),
+          UINT64_C(0x00011FB79452ADD0), UINT64_C(0x0004D367D2541244),
+          UINT64_C(0x00014C5A74A4D2BE), UINT64_C(0x000BD9255862125B),
+          UINT64_C(0x00053C3CF655527E), UINT64_C(0x000040AA6D6CB56E),
+          UINT64_C(0x0005F328C422C551), UINT64_C(0x000635823C8498F1)},
+         {UINT64_C(0x000B8D2832D1E4F0), UINT64_C(0x0002253CC89289E1),
+          UINT64_C(0x0004AFE460B4CFA4), UINT64_C(0x00047F33AFB8FB72),
+          UINT64_C(0x0003147C7881EF17), UINT64_C(0x000B142D32392AC5),
+          UINT64_C(0x0002DB71D8F10037), UINT64_C(0x000445CB1A7CD1AC),
+          UINT64_C(0x0005320C19EF8761), UINT64_C(0x0006956661FEB75C)}},
+        {{UINT64_C(0x0008A4F6E3E57DAD), UINT64_C(0x00052E3220306CD3),
+          UINT64_C(0x00016C04A243039F), UINT64_C(0x0006F0BB18CACDCB),
+          UINT64_C(0x000061BCDE864EC1), UINT64_C(0x00029F6788292DC0),
+          UINT64_C(0x000022F1DB885727), UINT64_C(0x00058B87F88D42DB),
+          UINT64_C(0x00067E1B4B34B7CE), UINT64_C(0x00065DB9E57B9F40)},
+         {UINT64_C(0x000DB97A65B73FBC), UINT64_C(0x0005DDAD4615047A),
+          UINT64_C(0x0003254BA8C48789), UINT64_C(0x0007BDDF93DDA4BB),
+          UINT64_C(0x0002C0DF753CF13C), UINT64_C(0x000F1261EE450629),
+          UINT64_C(0x0001AFB00BDE3B73), UINT64_C(0x0007AD40F78FD9B6),
+          UINT64_C(0x000275243D6431D9), UINT64_C(0x000670BF2C9CC698)}},
+        {{UINT64_C(0x0009312A3CA8CBBC), UINT64_C(0x0000D499C81D0092),
+          UINT64_C(0x0001F9D05BE7A579), UINT64_C(0x000262C322C0431E),
+          UINT64_C(0x00078231853C844C), UINT64_C(0x00046A359E9EA4F7),
+          UINT64_C(0x000490A7B54A0D2C), UINT64_C(0x0005AAE046C3E758),
+          UINT64_C(0x00059A6FF1C516DC), UINT64_C(0x0005C2CEC2165D95)},
+         {UINT64_C(0x000912BFF9FC238B), UINT64_C(0x0007FEBB522D20DD),
+          UINT64_C(0x00070A32C9786B85), UINT64_C(0x0003419D9DCB4F51),
+          UINT64_C(0x0006464E7100B7D1), UINT64_C(0x0001B5E3520C4AE3),
+          UINT64_C(0x00019B50C7D74FC7), UINT64_C(0x0003ECE80D56DEDC),
+          UINT64_C(0x00031A0A04910717), UINT64_C(0x0002DC124F80EA68)}},
+    },
+    {
+        {{UINT64_C(0x0007FC3E471A068B), UINT64_C(0x0001F9C0BD1E7FDA),
+          UINT64_C(0x0005B816710E054C), UINT64_C(0x000641A4989CA761),
+          UINT64_C(0x0005868FBF10DBFA), UINT64_C(0x000AB68C9F619D52),
+          UINT64_C(0x000610CC30529BEC), UINT64_C(0x000627D1E7BB0ABB),
+          UINT64_C(0x000312A648EFC13F), UINT64_C(0x000720DB474C9967)},
+         {UINT64_C(0x00088A74ECFAC532), UINT64_C(0x0000CA6C465E54E3),
+          UINT64_C(0x00063BCCC230DDCA), UINT64_C(0x000545133A54D8A3),
+          UINT64_C(0x000289A2A21D7DAD), UINT64_C(0x00064142FD2154C0),
+          UINT64_C(0x0000AE8DE8498437), UINT64_C(0x0000FEE6A05C9CA4),
+          UINT64_C(0x0005A712CADD4BD3), UINT64_C(0x00073C7C0CB9DC7E)}},
+        {{UINT64_C(0x00014BC20D8FC866), UINT64_C(0x0001B713C72B026C),
+          UINT64_C(0x0002BB1B00DD97B0), UINT64_C(0x0003DDF6D5D77C14),
+          UINT64_C(0x0000018D34DBE288), UINT64_C(0x000B37E4BE21CFC1),
+          UINT64_C(0x00042460ABD75619), UINT64_C(0x00048564EF06DBBE),
+          UINT64_C(0x0001D0F8F700CFDF), UINT64_C(0x00050BF2E57EF201)},
+         {UINT64_C(0x0000E7551324C838), UINT64_C(0x00013E348DFFE7EF),
+          UINT64_C(0x0005667611C90CF1), UINT64_C(0x00054F8E74F0FE54),
+          UINT64_C(0x00046065CFEC47E4), UINT64_C(0x00020F5CA7131E31),
+          UINT64_C(0x00056BCD632BBD22), UINT64_C(0x0004068611AE97FE),
+          UINT64_C(0x000342E9BF1AE60D), UINT64_C(0x00059284EE40F315)}},
+        {{UINT64_C(0x000695C423B1830F), UINT64_C(0x000061319340E99D),
+          UINT64_C(0x00056EECAD0FDEF4), UINT64_C(0x0001851799B6AF30),
+          UINT64_C(0x000574BFEEC6CF78), UINT64_C(0x00090695389CAC68),
+          UINT64_C(0x0004AD41B7692D45), UINT64_C(0x00067399705E0A02),
+          UINT64_C(0x0004D01C657BFE93), UINT64_C(0x0007AE346F356E78)},
+         {UINT64_C(0x0005ED517D1CECA6), UINT64_C(0x0004FA192E057F98),
+          UINT64_C(0x00028B4C280516A2), UINT64_C(0x0000F57015483B8B),
+          UINT64_C(0x000381A2B0925CBA), UINT64_C(0x0007EC4E45D3BCA9),
+          UINT64_C(0x0005E6AE14D94280), UINT64_C(0x00044AA8A233553A),
+          UINT64_C(0x000188ECFCF3FD6B), UINT64_C(0x00056CD6831AF6A1)}},
+        {{UINT64_C(0x000BAD665FBBA51D), UINT64_C(0x0005CE5627119792),
+          UINT64_C(0x000013618EFFC45B), UINT64_C(0x00059C97725250C5),
+          UINT64_C(0x00034D2A31C26543), UINT64_C(0x000FC7D8B33901C2),
+          UINT64_C(0x0004049BB70B6E8C), UINT64_C(0x000298E4AB70ACB4),
+          UINT64_C(0x00024A67CAB12D0F), UINT64_C(0x0000658DD54DD249)},
+         {UINT64_C(0x00018A1BE3CECA73), UINT64_C(0x0007CB9EB76F08C8),
+          UINT64_C(0x0001B277825030CD), UINT64_C(0x0005EE5C3A83FB88),
+          UINT64_C(0x000520DD7C104236), UINT64_C(0x0000B4C8EAC628F4),
+          UINT64_C(0x00067414680C3CBD), UINT64_C(0x000634E9A20A30CC),
+          UINT64_C(0x0006FCA2CD50A25E), UINT64_C(0x0003207EC54AE849)}},
+        {{UINT64_C(0x000A7C2C9FA19751), UINT64_C(0x00032EAC1838C0AE),
+          UINT64_C(0x000704308B256AC4), UINT64_C(0x0002462B6C4B26A1),
+          UINT64_C(0x0002E3D83A96467F), UINT64_C(0x000FE8591432EB6A),
+          UINT64_C(0x0003FD27EAF7B31A), UINT64_C(0x00058F724E26D47B),
+          UINT64_C(0x00076136F099E12E), UINT64_C(0x000558F5CDCDEAA6)},
+         {UINT64_C(0x0006ED04F333B165), UINT64_C(0x000634F9F9299870),
+          UINT64_C(0x0006E7943903D73C), UINT64_C(0x00005689249D8E40),
+          UINT64_C(0x00043B4AC0439BF3), UINT64_C(0x000553178FDF6D63),
+          UINT64_C(0x000439F7375523D2), UINT64_C(0x0005F10CB0346B4A),
+          UINT64_C(0x00004E0AE314DF84), UINT64_C(0x00069471AB5DFADA)}},
+        {{UINT64_C(0x0000E9501E9FAFE7), UINT64_C(0x0001ED4A26197388),
+          UINT64_C(0x0005CAA03225B2DC), UINT64_C(0x0003498CF6071DD5),
+          UINT64_C(0x00002CF8D255A84E), UINT64_C(0x000FA75C0885DE81),
+          UINT64_C(0x00030965CE1A47CB), UINT64_C(0x00011FB194A95BB0),
+          UINT64_C(0x0004800A95408A73), UINT64_C(0x0002EEA35FCE3212)},
+         {UINT64_C(0x00087C5B9DE51934), UINT64_C(0x00036D95402D7411),
+          UINT64_C(0x00037FB02C63558B), UINT64_C(0x0006A1232CBC6C08),
+          UINT64_C(0x0005C0E468414E24), UINT64_C(0x0007F99C0CCF2D15),
+          UINT64_C(0x000094592332F465), UINT64_C(0x0002AB96A524CF72),
+          UINT64_C(0x0007E87F1D99C378), UINT64_C(0x0000207DD0DD808E)}},
+        {{UINT64_C(0x000ECD9FF97D4931), UINT64_C(0x0001D4B8B850BE44),
+          UINT64_C(0x0006C1F7D66BFB33), UINT64_C(0x000286B0E020CE70),
+          UINT64_C(0x00057D2D930A9035), UINT64_C(0x000F70CD43EF78D8),
+          UINT64_C(0x0005595A2E3FB21C), UINT64_C(0x0002B23212C03281),
+          UINT64_C(0x0006BE2A6AB3CEFB), UINT64_C(0x0007B13ACF77F80E)},
+         {UINT64_C(0x000CB860BC601AFD), UINT64_C(0x0006ACF4F99A1471),
+          UINT64_C(0x0006698A5886492B), UINT64_C(0x000245BF72D02C00),
+          UINT64_C(0x00067720650A5EB3), UINT64_C(0x000D9E8B3198D8BE),
+          UINT64_C(0x00072728DEA3F720), UINT64_C(0x0000B079DF1DF966),
+          UINT64_C(0x000764E77F92B823), UINT64_C(0x00004721437DFB0D)}},
+        {{UINT64_C(0x0008C47E3E9972F3), UINT64_C(0x0005F6800BF3F5AC),
+          UINT64_C(0x00040B8943EC9A82), UINT64_C(0x00018C3DE68795BC),
+          UINT64_C(0x000798ACD9D5C188), UINT64_C(0x000626A89DFFB9C7),
+          UINT64_C(0x0000A446A1E585FF), UINT64_C(0x00003F9D6C0F2522),
+          UINT64_C(0x00045DA3E3E5843E), UINT64_C(0x0001DF8788F4C149)},
+         {UINT64_C(0x00002D1EA1F1D567), UINT64_C(0x0007D2CEB46D5CF9),
+          UINT64_C(0x0000AE8762EDBE19), UINT64_C(0x0004D34041C698A3),
+          UINT64_C(0x0002249A52FB7AFB), UINT64_C(0x0001AA28A184F6D0),
+          UINT64_C(0x0004AEDC54AC0233), UINT64_C(0x0001A52FA2FE3789),
+          UINT64_C(0x000684CDB10852C6), UINT64_C(0x000006A488535FB8)}},
+        {{UINT64_C(0x000B69CD208922BD), UINT64_C(0x000113C0A2CDC098),
+          UINT64_C(0x00034EB1527C9342), UINT64_C(0x0002E33524A72273),
+          UINT64_C(0x0005D54F4B29D1BB), UINT64_C(0x000935E2895D6B59),
+          UINT64_C(0x00002467FF51247E), UINT64_C(0x00064A19BE2B9B33),
+          UINT64_C(0x0000CA9B34B3CC48), UINT64_C(0x0001C1179DC502AF)},
+         {UINT64_C(0x00030DD196A35DEC), UINT64_C(0x0004F43012319797),
+          UINT64_C(0x0003AD2F85C0A8FE), UINT64_C(0x000767B8C3625127),
+          UINT64_C(0x0007156D91446AF4), UINT64_C(0x000A52B80B684D9E),
+          UINT64_C(0x000493C29A3C9396), UINT64_C(0x00060B66E8B18710),
+          UINT64_C(0x00073CE5C6E23F4E), UINT64_C(0x0000C0E9CF09DBEA)}},
+        {{UINT64_C(0x000D847204E88E6A), UINT64_C(0x00014392C2DBD5D4),
+          UINT64_C(0x0003647F5392D642), UINT64_C(0x00005CD6B4397528),
+          UINT64_C(0x0003CA804BE0E6E6), UINT64_C(0x000AFA2DEBF9BDF0),
+          UINT64_C(0x0003B70844F7F77A), UINT64_C(0x00055FD54AED8423),
+          UINT64_C(0x0001E87463CB4E23), UINT64_C(0x0001BCB9D95AA334)},
+         {UINT64_C(0x0008AD95903A42F5), UINT64_C(0x0002B77C076B1514),
+          UINT64_C(0x00004EA8D39728A1), UINT64_C(0x00006196D1EAC34C),
+          UINT64_C(0x00021AD5CD908FB5), UINT64_C(0x0009231E8FBDFA13),
+          UINT64_C(0x0006F53F72D12265), UINT64_C(0x0004EEB89634BD92),
+          UINT64_C(0x000467E16722B0C0), UINT64_C(0x000322B4828C8354)}},
+        {{UINT64_C(0x000749D2D2151628), UINT64_C(0x00017DB343621D73),
+          UINT64_C(0x000165CD9CF505C3), UINT64_C(0x0006EF002B6F7508),
+          UINT64_C(0x0006A5B3F2EBD640), UINT64_C(0x00088918A6F47361),
+          UINT64_C(0x00024A4CC1F89F3D), UINT64_C(0x0002A883A0915ACB),
+          UINT64_C(0x0000B430E4311864), UINT64_C(0x0002E5AFD5631755)},
+         {UINT64_C(0x000E6600C23AF414), UINT64_C(0x0004A68A06127530),
+          UINT64_C(0x0000119CF5DBEFF9), UINT64_C(0x00031BD59339EC9D),
+          UINT64_C(0x0007AFB0A0652755), UINT64_C(0x0004E54D473D5D91),
+          UINT64_C(0x0006663BBC911425), UINT64_C(0x00060CD99F4A6814),
+          UINT64_C(0x0004D70E317492DC), UINT64_C(0x00057C676F34207B)}},
+        {{UINT64_C(0x000FA45FEB394F79), UINT64_C(0x0002595780239750),
+          UINT64_C(0x0006DAEAFB6AF370), UINT64_C(0x0004F71BE680332B),
+          UINT64_C(0x0007A2B88BEC444F), UINT64_C(0x0006D282845556D8),
+          UINT64_C(0x0003A48753C8FEB2), UINT64_C(0x0005314A5E71A50D),
+          UINT64_C(0x00064B67D3BEDF37), UINT64_C(0x00049BB87F9AA6E0)},
+         {UINT64_C(0x000F9E3C83D99F56), UINT64_C(0x0002AFD6DA547B1C),
+          UINT64_C(0x000799EBA75D7647), UINT64_C(0x00017702967C6572),
+          UINT64_C(0x00036DAA4C258B87), UINT64_C(0x0005BAA7744D42CE),
+          UINT64_C(0x0006706FA16409C8), UINT64_C(0x0003833BD25E3852),
+          UINT64_C(0x0005B9B25E71D72C), UINT64_C(0x0000851A32EE02B9)}},
+        {{UINT64_C(0x00096C7F5422B60A), UINT64_C(0x0000A451DBBE6CC7),
+          UINT64_C(0x0004DFB70D71B03F), UINT64_C(0x00047A85B6A73205),
+          UINT64_C(0x000552D4E655E4A4), UINT64_C(0x00026F31F95A9399),
+          UINT64_C(0x0001C446539B5383), UINT64_C(0x000544DB6B46DF8B),
+          UINT64_C(0x0003348ADD036467), UINT64_C(0x0000AA2D0D6935D7)},
+         {UINT64_C(0x0007D5B7A1E58219), UINT64_C(0x0004617A5AB605AC),
+          UINT64_C(0x0006A6AF7E81B995), UINT64_C(0x00042EE78EACBEE0),
+          UINT64_C(0x00049DD85014D117), UINT64_C(0x0009591FD9314E76),
+          UINT64_C(0x0005DB569F458EB8), UINT64_C(0x00051D4F2503D183),
+          UINT64_C(0x00063FBB28BA6AD3), UINT64_C(0x0006D3AC67CC821C)}},
+        {{UINT64_C(0x000DB3F243061D75), UINT64_C(0x0006D73931E621F2),
+          UINT64_C(0x0000B17170E27A4D), UINT64_C(0x00004483B525B3B3),
+          UINT64_C(0x0000CEC6BF188345), UINT64_C(0x00028C93F5247B6F),
+          UINT64_C(0x0004A6511A5DEF06), UINT64_C(0x00076B62AEAC63B1),
+          UINT64_C(0x00074A604ED95C71), UINT64_C(0x00009EFCC184826A)},
+         {UINT64_C(0x0008BAC2B060443D), UINT64_C(0x000344E9D3B2EEA9),
+          UINT64_C(0x00020435D407DCEB), UINT64_C(0x00022E3643D85699),
+          UINT64_C(0x0001A1F508400E9C), UINT64_C(0x000D7CC9B1AC0494),
+          UINT64_C(0x0004C1AD9E2EB052), UINT64_C(0x00009FBD9B150459),
+          UINT64_C(0x000369468497704F), UINT64_C(0x0003FF2AC90D8014)}},
+        {{UINT64_C(0x000F26B79E392352), UINT64_C(0x0002B957BF938557),
+          UINT64_C(0x000715D0978BD2B2), UINT64_C(0x00045531E667D86D),
+          UINT64_C(0x00038962FCA00EDE), UINT64_C(0x000DC1791F176B3F),
+          UINT64_C(0x000743403651C9FA), UINT64_C(0x0004ABD020A84523),
+          UINT64_C(0x0006DECB17845C69), UINT64_C(0x0003DF12469D37F5)},
+         {UINT64_C(0x000FA8419C8A9D27), UINT64_C(0x000768869058EE8E),
+          UINT64_C(0x0000D174A1CB1143), UINT64_C(0x00070F67326B9037),
+          UINT64_C(0x00026979FA59E935), UINT64_C(0x000F4AA12B6BC96F),
+          UINT64_C(0x000606751117A342), UINT64_C(0x00047A115AF10FB7),
+          UINT64_C(0x0006DF7816619F79), UINT64_C(0x00072158DA5671BF)}},
+        {{UINT64_C(0x000ECAFE87CBB23D), UINT64_C(0x000512A524D4D77C),
+          UINT64_C(0x0005FF1AF3F9CDCC), UINT64_C(0x0005A5222E7CCBCA),
+          UINT64_C(0x00037F25D366C5D3), UINT64_C(0x000DEE9CD4A0BD44),
+          UINT64_C(0x0001BA906B38FE5F), UINT64_C(0x0002479A4422043C),
+          UINT64_C(0x0007F85530950F05), UINT64_C(0x00026843F9CA979A)},
+         {UINT64_C(0x000E6EBFB1D7D79A), UINT64_C(0x0001962262421C26),
+          UINT64_C(0x000749C75E0896B7), UINT64_C(0x00072656E0591FB4),
+          UINT64_C(0x00048C25570B4B5D), UINT64_C(0x000C0F6689F57006),
+          UINT64_C(0x000106B77BE98B19), UINT64_C(0x00070FD9ADA250C6),
+          UINT64_C(0x0004B2AC835CA2CF), UINT64_C(0x0005FD38C57539D3)}},
+    },
+    {
+        {{UINT64_C(0x00078CF823118058), UINT64_C(0x000084E70B90249E),
+          UINT64_C(0x000340E63640803E), UINT64_C(0x000259F3BA46031B),
+          UINT64_C(0x0004025A533D8FB6), UINT64_C(0x00021525975D8B46),
+          UINT64_C(0x00016415CB875BF3), UINT64_C(0x00037D3C94CF88C2),
+          UINT64_C(0x0001303423D046C3), UINT64_C(0x00064D6CA6CF50E4)},
+         {UINT64_C(0x0001C4F51365236C), UINT64_C(0x00074C650114C6D7),
+          UINT64_C(0x00030B74EB231DBC), UINT64_C(0x000108DDE7A79F07),
+          UINT64_C(0x0005C84883DAAC53), UINT64_C(0x000F4FFFB87D65C4),
+          UINT64_C(0x0003A077D6424776), UINT64_C(0x00074EF17A8FF930),
+          UINT64_C(0x0001C70531DAACC1), UINT64_C(0x0004FDAB70943349)}},
+        {{UINT64_C(0x000D10852C9532B6), UINT64_C(0x000043AAC71DC676),
+          UINT64_C(0x0000699B3F568856), UINT64_C(0x00062AA64E24D6D0),
+          UINT64_C(0x0000AC30CB5E809D), UINT64_C(0x0003DF891FADF9D0),
+          UINT64_C(0x0002E8AEFD6E009D), UINT64_C(0x000763BB5C596056),
+          UINT64_C(0x00027648417EC3B3), UINT64_C(0x00026FFF568DBEC6)},
+         {UINT64_C(0x00046866CD52C51B), UINT64_C(0x00074EBD129DAF5E),
+          UINT64_C(0x0007E8A44CB2D0FF), UINT64_C(0x0001754AF2E0C3E1),
+          UINT64_C(0x00075DF74CCBA4EB), UINT64_C(0x0007015D1AC6F756),
+          UINT64_C(0x0007CC58CB459B84), UINT64_C(0x0004431C9AFC9478),
+          UINT64_C(0x0001496EF18E492E), UINT64_C(0x00040F52B9782D09)}},
+        {{UINT64_C(0x0005432D2ABFAEFB), UINT64_C(0x000219E9F74B6891),
+          UINT64_C(0x000772FBB5A56EDD), UINT64_C(0x0003F9B32B854A6E),
+          UINT64_C(0x0000E23A82F7F4DB), UINT64_C(0x00079910F350CA56),
+          UINT64_C(0x0002F2CBD94634FD), UINT64_C(0x00062DE8463F621C),
+          UINT64_C(0x00018A84A27F47AC), UINT64_C(0x000492918B0A6CFC)},
+         {UINT64_C(0x000917028ABF0C6C), UINT64_C(0x0005885BCB7EC09C),
+          UINT64_C(0x00007B7029F86047), UINT64_C(0x0004E980E40CB14D),
+          UINT64_C(0x0002414620471CAF), UINT64_C(0x000638833F454BE0),
+          UINT64_C(0x0007530E1D810E0C), UINT64_C(0x00007BC1509E4C84),
+          UINT64_C(0x000234FE03106A25), UINT64_C(0x0007B3C1744922CE)}},
+        {{UINT64_C(0x0001D6F26560D816), UINT64_C(0x000761F53B7DED62),
+          UINT64_C(0x0003F63729C380A1), UINT64_C(0x0000D9AABEB1F8E4),
+          UINT64_C(0x0002FC799030E923), UINT64_C(0x00090EB9E83FC112),
+          UINT64_C(0x000276A6C7B64189), UINT64_C(0x0005C92C57117936),
+          UINT64_C(0x0003A76769F60AB1), UINT64_C(0x0000214C6BFF3AB2)},
+         {UINT64_C(0x000F91FA223FB871), UINT64_C(0x00072F8E905BA3A7),
+          UINT64_C(0x00054D9829B0E1C4), UINT64_C(0x000041AADCD2F042),
+          UINT64_C(0x0006B33B8DBF5DAC), UINT64_C(0x0005E138CA79ABDB),
+          UINT64_C(0x0007F91015FD64B0), UINT64_C(0x0003E42D44B48D18),
+          UINT64_C(0x0003070F61FC98CE), UINT64_C(0x0003ECFBC333B9A7)}},
+        {{UINT64_C(0x000A1C5F63F4003A), UINT64_C(0x00073E65E07CAEF9),
+          UINT64_C(0x0007EE53E05454BD), UINT64_C(0x0002832BB0CB8A80),
+          UINT64_C(0x0007F92B5F28C3C9), UINT64_C(0x000B198CFA188FC6),
+          UINT64_C(0x0001B4972BD5EA15), UINT64_C(0x0003371055BFF265),
+          UINT64_C(0x00040289DB496278), UINT64_C(0x000037FB8AEF99C7)},
+         {UINT64_C(0x0003E8BA240F2657), UINT64_C(0x000507715E41F403),
+          UINT64_C(0x00000AC5E34F938B), UINT64_C(0x00010AC246A10935),
+          UINT64_C(0x00035E92D9586CD7), UINT64_C(0x000A927B7C112162),
+          UINT64_C(0x0001E320A6A23B35), UINT64_C(0x0002AEA76305FB4D),
+          UINT64_C(0x00027FC7B4E55E7B), UINT64_C(0x0007F605FDDB3012)}},
+        {{UINT64_C(0x0007B3BEE04C4C80), UINT64_C(0x0005EC1698F3E6D0),
+          UINT64_C(0x00058683E8514BF8), UINT64_C(0x00003490978C1C15),
+          UINT64_C(0x0003FD63AD3797AF), UINT64_C(0x00078C4971CAD19E),
+          UINT64_C(0x0006E7EC2A846823), UINT64_C(0x00077586A76BAADD),
+          UINT64_C(0x00022BF1CA7743E1), UINT64_C(0x000719DBF8CE1E82)},
+         {UINT64_C(0x000E187887A1EB86), UINT64_C(0x0006E15CE17F34FE),
+          UINT64_C(0x000165A9C070F6B8), UINT64_C(0x000235BE0B50B7A1),
+          UINT64_C(0x0000701631632860), UINT64_C(0x0001520CD1B97E69),
+          UINT64_C(0x000324D126195433), UINT64_C(0x000695BD1FBD3083),
+          UINT64_C(0x0007D0E98F84E4E6), UINT64_C(0x000076D0FD61BE2C)}},
+        {{UINT64_C(0x0001C135C074F082), UINT64_C(0x0001B1C98964C70E),
+          UINT64_C(0x00070F16F51C63DE), UINT64_C(0x00065C546121FD21),
+          UINT64_C(0x0006E0EA00711AC1), UINT64_C(0x00019C4ED64CA43A),
+          UINT64_C(0x0007B5F5DE4D83CD), UINT64_C(0x0004A3289E196D3B),
+          UINT64_C(0x000379BD42718428), UINT64_C(0x00028B586AD8AC43)},
+         {UINT64_C(0x00081CF90B74F2A0), UINT64_C(0x0002D685FCE339CF),
+          UINT64_C(0x00029BACF289048F), UINT64_C(0x00031B11C9F022B9),
+          UINT64_C(0x000723747A599137), UINT64_C(0x00008CAE4A9C10E7),
+          UINT64_C(0x000252D22A179598), UINT64_C(0x000462BF1945C2A5),
+          UINT64_C(0x0005E7BF4B6F8B7E), UINT64_C(0x0004A5CC544E7A94)}},
+        {{UINT64_C(0x0002CE082C195DF7), UINT64_C(0x0000B2902F1DD4F4),
+          UINT64_C(0x0002EBCE1E8E6C3E), UINT64_C(0x0003DBB93DD984FC),
+          UINT64_C(0x000294BCFA46D91A), UINT64_C(0x000E47F5EB6C49F2),
+          UINT64_C(0x00027D01A275F685), UINT64_C(0x0002A8AB31F7A7C5),
+          UINT64_C(0x000065DEDCCEB9FE), UINT64_C(0x0007EE40D2F05D3F)},
+         {UINT64_C(0x000AA9F92E841F87), UINT64_C(0x00025B8A866BCAA0),
+          UINT64_C(0x000456616AD0616E), UINT64_C(0x000019C95CBF2929),
+          UINT64_C(0x00018B84E8563743), UINT64_C(0x000D9BBA3F123075),
+          UINT64_C(0x0003C88C52754F28), UINT64_C(0x0002A84A28E16C62),
+          UINT64_C(0x00006C4CBF9BD1BE), UINT64_C(0x00014E2ED761883C)}},
+        {{UINT64_C(0x000DD43327A5EC62), UINT64_C(0x00037A88C2CE8F10),
+          UINT64_C(0x00079FB7AF273687), UINT64_C(0x0005C217AE2F9294),
+          UINT64_C(0x0007B658E58E2D4D), UINT64_C(0x0001B9F8E201BDE2),
+          UINT64_C(0x00003AF8B1C4F58C), UINT64_C(0x000023F0302D4943),
+          UINT64_C(0x0000F016949D42FE), UINT64_C(0x0005DA77793E30DF)},
+         {UINT64_C(0x0009A4A03292A077), UINT64_C(0x0005E38597159B13),
+          UINT64_C(0x000438CD4AA3B94B), UINT64_C(0x00039E50FBBA527D),
+          UINT64_C(0x00032E5CFA99121B), UINT64_C(0x000CE6179D42746B),
+          UINT64_C(0x000201FC90B2780E), UINT64_C(0x0002129922687B60),
+          UINT64_C(0x0001410E58988022), UINT64_C(0x0005E3F21AE57B91)}},
+        {{UINT64_C(0x000EE44D178CCA07), UINT64_C(0x0002290775707084),
+          UINT64_C(0x000256E01D88B556), UINT64_C(0x0001EF98ED0CEE11),
+          UINT64_C(0x0003BD6824481F73), UINT64_C(0x000BAAFD1FEBD7AB),
+          UINT64_C(0x0006C5370AC07A93), UINT64_C(0x00039FFED4B7C601),
+          UINT64_C(0x00039A6B4153D857), UINT64_C(0x00077A6BC55E5234)},
+         {UINT64_C(0x000816AA9A09968B), UINT64_C(0x0007BDB9C7F2EAF9),
+          UINT64_C(0x00032ACE09E1CBDC), UINT64_C(0x000522E8C19D3EEB),
+          UINT64_C(0x0003827A069B97BD), UINT64_C(0x0006716F9981A71A),
+          UINT64_C(0x000554503B7BA012), UINT64_C(0x000074637BF2E394),
+          UINT64_C(0x000615A2194548E8), UINT64_C(0x000006C523A794B4)}},
+        {{UINT64_C(0x000A0B318735C445), UINT64_C(0x00055C3BC1A59729),
+          UINT64_C(0x000355C87CF06A80), UINT64_C(0x0000ABBB95628B32),
+          UINT64_C(0x00073A2D28549A3A), UINT64_C(0x000CC8F16C0B5FB6),
+          UINT64_C(0x0005190FEF2C780C), UINT64_C(0x000485C8686725FF),
+          UINT64_C(0x000212610F06DB7C), UINT64_C(0x000186C78ED4F0AC)},
+         {UINT64_C(0x00051A0699ABFB29), UINT64_C(0x0004079D38322CB8),
+          UINT64_C(0x0004E0C463922EE4), UINT64_C(0x0005EC25735A7F4C),
+          UINT64_C(0x00030ACD8B3755D5), UINT64_C(0x0004533C09F622E8),
+          UINT64_C(0x00065BD64578113C), UINT64_C(0x000011679C79532B),
+          UINT64_C(0x000270C486D96F98), UINT64_C(0x00064FCDA161257D)}},
+        {{UINT64_C(0x000A95E15137A104), UINT64_C(0x000184008DF11135),
+          UINT64_C(0x00005609A6FCBD2E), UINT64_C(0x0004EDFE7BC6F8F9),
+          UINT64_C(0x00053CA3D1760E75), UINT64_C(0x000EA2FB5A31F0F3),
+          UINT64_C(0x00077ABE20D50F91), UINT64_C(0x0007C0E34B46F175),
+          UINT64_C(0x0007A94E7592DB90), UINT64_C(0x000249BEAED5FC42)},
+         {UINT64_C(0x000F85AF26A73A5A), UINT64_C(0x0002B83D21F3C411),
+          UINT64_C(0x000069FD92DFF608), UINT64_C(0x000407178D3E9436),
+          UINT64_C(0x0000D6C1A603C407), UINT64_C(0x000C556CBD53BF39),
+          UINT64_C(0x0000802C8ABE0ADC), UINT64_C(0x00024A5E6F60B0DA),
+          UINT64_C(0x0007DB9843929DA3), UINT64_C(0x0001FF410E9D19C7)}},
+        {{UINT64_C(0x00094E812DBE8C32), UINT64_C(0x0006D33ED80BCDA2),
+          UINT64_C(0x00002D936BC7580C), UINT64_C(0x00043D349744E6D4),
+          UINT64_C(0x00020A0DEB1F77B4), UINT64_C(0x00031B3519BBF1AA),
+          UINT64_C(0x0007A520ED4CEF61), UINT64_C(0x000043394E7A87E8),
+          UINT64_C(0x00040764584AEB95), UINT64_C(0x0003155C9B8CCF57)},
+         {UINT64_C(0x000C17DA9E28ADF8), UINT64_C(0x0003424BBFF78B37),
+          UINT64_C(0x0003CC6A19FFC5FF), UINT64_C(0x0002CB497A44C566),
+          UINT64_C(0x00022DDAD26DE223), UINT64_C(0x000AC080F18A0065),
+          UINT64_C(0x000575057C11015D), UINT64_C(0x00078021729DE91B),
+          UINT64_C(0x0005796ED9E76DA3), UINT64_C(0x0006FE4AB6E74734)}},
+        {{UINT64_C(0x0005F849D235CCE0), UINT64_C(0x000436E70A0D70E1),
+          UINT64_C(0x00035E68AA2BDD02), UINT64_C(0x0003E7FE63874EA2),
+          UINT64_C(0x00026C88F7884563), UINT64_C(0x000FCD9BAE21D5B1),
+          UINT64_C(0x0005C69101494E3A), UINT64_C(0x00037DB907EEE3A2),
+          UINT64_C(0x00064C59AE199A08), UINT64_C(0x00039423CE12F5BB)},
+         {UINT64_C(0x0000AAAF7EEE09F7), UINT64_C(0x0004C5314B2C4D75),
+          UINT64_C(0x0003EC74B3A6D36C), UINT64_C(0x000620CA51245767),
+          UINT64_C(0x00044F419AE83224), UINT64_C(0x00080A722E02A693),
+          UINT64_C(0x0007A360EBC5DBD9), UINT64_C(0x000381727BCF6E58),
+          UINT64_C(0x000617B700F3ADF6), UINT64_C(0x0000FA1A09F64950)}},
+        {{UINT64_C(0x00096F84C0BDFF5B), UINT64_C(0x0006E5B26C5065BB),
+          UINT64_C(0x0001952942E39562), UINT64_C(0x000653E9892230FF),
+          UINT64_C(0x0000F763C13E4999), UINT64_C(0x0009F0784B215E56),
+          UINT64_C(0x000270D42201B3A3), UINT64_C(0x00045740B9AF7F09),
+          UINT64_C(0x000229B251B5D908), UINT64_C(0x000657F560FDA230)},
+         {UINT64_C(0x00031EFD1B4B981B), UINT64_C(0x0007B1F5B3F7B1EA),
+          UINT64_C(0x000170AF323B8DC9), UINT64_C(0x00055F77521B9F83),
+          UINT64_C(0x0003B381A7CCCC0F), UINT64_C(0x00086767112D35DD),
+          UINT64_C(0x0000C15A5CC603CB), UINT64_C(0x00026C0095FA28DE),
+          UINT64_C(0x0005178C03D1D4CC), UINT64_C(0x0006A499CD28196A)}},
+        {{UINT64_C(0x0009617A9ECA8281), UINT64_C(0x0002F03DC8FC403F),
+          UINT64_C(0x0005A200AB22733A), UINT64_C(0x000402BA3A81D989),
+          UINT64_C(0x0006690A4DAA9371), UINT64_C(0x0001CC8F6D90CC2C),
+          UINT64_C(0x000293AC50B59125), UINT64_C(0x0004D1A882B9D469),
+          UINT64_C(0x00014C4DF2707168), UINT64_C(0x0005A3C384944E0D)},
+         {UINT64_C(0x000B2CD4D51F74FF), UINT64_C(0x00021EB289F478F1),
+          UINT64_C(0x0004BF9CA3A7AC0A), UINT64_C(0x0003DB4F626C2310),
+          UINT64_C(0x0005CBF13B00CCC4), UINT64_C(0x00029073A697E0B9),
+          UINT64_C(0x0002C5D67FD6CD73), UINT64_C(0x0005D10BAA363615),
+          UINT64_C(0x000051A608EA619E), UINT64_C(0x0004155A6B02D3FB)}},
+    },
+    {
+        {{UINT64_C(0x000B63BE2E2471B6), UINT64_C(0x000793F7C56B8C12),
+          UINT64_C(0x00003A61A28C6343), UINT64_C(0x00073E8EF4E8B82C),
+          UINT64_C(0x000770A1A8474CE7), UINT64_C(0x000B2231CECAFDB4),
+          UINT64_C(0x0006E5A738D66F01), UINT64_C(0x0002489688C31B78),
+          UINT64_C(0x00060068F8F76B83), UINT64_C(0x0003D6F5D74A6F06)},
+         {UINT64_C(0x0002EEDB0339BF8A), UINT64_C(0x0006213ECE2A8CBB),
+          UINT64_C(0x0006876AC31EC71D), UINT64_C(0x0001ADFE07733CDB),
+          UINT64_C(0x000192FE0B2619CE), UINT64_C(0x00000B3F7CB6D64F),
+          UINT64_C(0x000193DD7BC97D28), UINT64_C(0x0005572F38C9E619),
+          UINT64_C(0x000117122583880C), UINT64_C(0x0003F2E95F7AD5BD)}},
+        {{UINT64_C(0x0005C60618A27AB4), UINT64_C(0x00041A118681EEDE),
+          UINT64_C(0x000264B9365ED5C1), UINT64_C(0x000257E09A79B510),
+          UINT64_C(0x0007087B4DFA9B18), UINT64_C(0x000BC4BD3F5B7665),
+          UINT64_C(0x00047988ECDAA2B4), UINT64_C(0x00038D5A0D231327),
+          UINT64_C(0x00061EBA028CB516), UINT64_C(0x00034DFCB32D1C33)},
+         {UINT64_C(0x0007BF2B53E6F733), UINT64_C(0x0007363F62FE6A5D),
+          UINT64_C(0x00009E88E9E4BBC7), UINT64_C(0x00053137DF685DF0),
+          UINT64_C(0x0000D26EEFA89EB2), UINT64_C(0x00060E84ECFF317A),
+          UINT64_C(0x000562FC49406706), UINT64_C(0x0004010FC39B719E),
+          UINT64_C(0x00059BF4CE26C533), UINT64_C(0x00016B0A194ADE86)}},
+        {{UINT64_C(0x00025D428CB55AB4), UINT64_C(0x000349C469FB2C47),
+          UINT64_C(0x00011112758D3875), UINT64_C(0x0005BBB75049ADD3),
+          UINT64_C(0x00013E42E4FC95BB), UINT64_C(0x00063D2C733F5E50),
+          UINT64_C(0x00071ECB0DB2E6CD), UINT64_C(0x00047F5C9C428E03),
+          UINT64_C(0x0000C8ACA14009B2), UINT64_C(0x0000FEBA85C091ED)},
+         {UINT64_C(0x000319368C78D149), UINT64_C(0x0000A97A3731C17E),
+          UINT64_C(0x0005734AA19A7BF7), UINT64_C(0x0004110947FCD175),
+          UINT64_C(0x00027E988A2F1542), UINT64_C(0x0001405032878E0A),
+          UINT64_C(0x00035BAF2C56A5E2), UINT64_C(0x000539BA8560A8C0),
+          UINT64_C(0x0006BE84D2118DA9), UINT64_C(0x0005E0476ABA3F5B)}},
+        {{UINT64_C(0x0003AA4CC1DD3F97), UINT64_C(0x00063185FB6A0D5E),
+          UINT64_C(0x0007EAE973FA7134), UINT64_C(0x0000D566EB4BA56E),
+          UINT64_C(0x000432A20DAAF7BF), UINT64_C(0x000C99D6D0DE97D6),
+          UINT64_C(0x00040CD8D71B4231), UINT64_C(0x00061DBA01336D9F),
+          UINT64_C(0x00010DC031C5661D), UINT64_C(0x0007DBFCC3C94CE7)},
+         {UINT64_C(0x00092DCF6D493BCC), UINT64_C(0x00008741DFAF5D31),
+          UINT64_C(0x0002E2A67554DF10), UINT64_C(0x0005119B1E5ADE23),
+          UINT64_C(0x000501601DB80686), UINT64_C(0x00016AF164683AA7),
+          UINT64_C(0x00013250FB11AA12), UINT64_C(0x00070A10DFF37326),
+          UINT64_C(0x0000F9D812FF4EAB), UINT64_C(0x00002035714DCE83)}},
+        {{UINT64_C(0x0007CA219AED5320), UINT64_C(0x0000DC5D44C110A5),
+          UINT64_C(0x000211982529953C), UINT64_C(0x000330BE049F485C),
+          UINT64_C(0x0006B006A9948E28), UINT64_C(0x0000B04E018D4DC0),
+          UINT64_C(0x000215F49B9F8FF2), UINT64_C(0x00079CE3A3D8E522),
+          UINT64_C(0x0006EDC3EA4A4987), UINT64_C(0x0006F9FD6811BC4F)},
+         {UINT64_C(0x000FEF3CB3BE843C), UINT64_C(0x0005B9E17892CE3D),
+          UINT64_C(0x0005168AA844E7A9), UINT64_C(0x000600B2314595D6),
+          UINT64_C(0x000477B0AFD0F4F6), UINT64_C(0x00053D8F4E812FCD),
+          UINT64_C(0x00049909798B2B0F), UINT64_C(0x0000B0BD698B1D5E),
+          UINT64_C(0x000009B704E143DF), UINT64_C(0x00043C8ABB658E21)}},
+        {{UINT64_C(0x0009311B2D0959AA), UINT64_C(0x000408C67EBE4373),
+          UINT64_C(0x0004708398C93D1C), UINT64_C(0x0005CEEB3BA4DF18),
+          UINT64_C(0x00059663D0C68975), UINT64_C(0x000D6F23DB87CD7A),
+          UINT64_C(0x0007FE452E537133), UINT64_C(0x000067D1FF579E76),
+          UINT64_C(0x000678700E4625F3), UINT64_C(0x000512B5A1BD51F9)},
+         {UINT64_C(0x000E28A401845C37), UINT64_C(0x0005334538459412),
+          UINT64_C(0x000415EEBEE74BD9), UINT64_C(0x00014AFBBC227A22),
+          UINT64_C(0x000214A015E7D9E7), UINT64_C(0x000139325A047952),
+          UINT64_C(0x00029504D6930EAE), UINT64_C(0x0005D1BCA17818E8),
+          UINT64_C(0x0002DD22238F7A8E), UINT64_C(0x0004F8349B5B0ED3)}},
+        {{UINT64_C(0x00034C0AE7DDF681), UINT64_C(0x0007688311AB02D5),
+          UINT64_C(0x0002EB0E8A6E1F1D), UINT64_C(0x0005FF8BCF6AAEB8),
+          UINT64_C(0x0002CAD1E56904C4), UINT64_C(0x000FA16935A53E47),
+          UINT64_C(0x00002881197DC9DD), UINT64_C(0x0005C925AAAF6DA8),
+          UINT64_C(0x0006034B84FE7D23), UINT64_C(0x0005D6AE622F2E8E)},
+         {UINT64_C(0x00065068FCC0ACD6), UINT64_C(0x000070B371C8C2DF),
+          UINT64_C(0x0003DA0FCB5BFD98), UINT64_C(0x0005B4F3426521A8),
+          UINT64_C(0x000689F815FC00FE), UINT64_C(0x0002E666CEEBA0E2),
+          UINT64_C(0x0001E39832C0990E), UINT64_C(0x000574558F79940A),
+          UINT64_C(0x00076D485F8B12D9), UINT64_C(0x000156F30CEE05D5)}},
+        {{UINT64_C(0x0007D87AFB920C3D), UINT64_C(0x0002A9E23A083533),
+          UINT64_C(0x0001543E5ED3B5D9), UINT64_C(0x0000B974928CFC56),
+          UINT64_C(0x0002CF48F5FC7EE6), UINT64_C(0x000CE1C3C95C8368),
+          UINT64_C(0x000333FD6C3D7D3F), UINT64_C(0x00044589E3099078),
+          UINT64_C(0x0001F34D2E96B01D), UINT64_C(0x00017EAC450F370E)},
+         {UINT64_C(0x0001B2713A497273), UINT64_C(0x00030B002E865A54),
+          UINT64_C(0x000182D7C612D473), UINT64_C(0x00026397A5C46946),
+          UINT64_C(0x000187CB68D83F11), UINT64_C(0x00077ADF60174A14),
+          UINT64_C(0x0002BC33B9BC9135), UINT64_C(0x00036AD6BE31C9F9),
+          UINT64_C(0x0001AC5D650B5D13), UINT64_C(0x0003F43A72E4D5E3)}},
+        {{UINT64_C(0x000EF6C11E20B6EA), UINT64_C(0x0005905102070C81),
+          UINT64_C(0x00024652608509D4), UINT64_C(0x000205B6D7FBB6A0),
+          UINT64_C(0x00032589FE0677BD), UINT64_C(0x00085D8055C79F1F),
+          UINT64_C(0x00004E43893D83E7), UINT64_C(0x00013EDB219CA7D3),
+          UINT64_C(0x0007BF9B35859660), UINT64_C(0x0005DF7DCB816251)},
+         {UINT64_C(0x0001EF55471D4356), UINT64_C(0x000540AF79AD9A97),
+          UINT64_C(0x00060EB528DDF6D9), UINT64_C(0x000328BCC97D7964),
+          UINT64_C(0x000706B99B540A23), UINT64_C(0x0007753141D6BF4E),
+          UINT64_C(0x000256E51FDE35B1), UINT64_C(0x0005324363DCFDED),
+          UINT64_C(0x0004E0FE9820F921), UINT64_C(0x000368ECFA81C767)}},
+        {{UINT64_C(0x000AE3882AC0F8F0), UINT64_C(0x00023952C3BBED16),
+          UINT64_C(0x0002208B0CCB771B), UINT64_C(0x00032499978C3D1E),
+          UINT64_C(0x0000B08DEF9DE24A), UINT64_C(0x00014733B64362CB),
+          UINT64_C(0x00044CEB44FBCD29), UINT64_C(0x00062081D15BFA79),
+          UINT64_C(0x000612FF02BEFFD5), UINT64_C(0x00016207454BB815)},
+         {UINT64_C(0x000E140447F99D22), UINT64_C(0x0004415B5CE2B9E2),
+          UINT64_C(0x000497FECE7E53B5), UINT64_C(0x0003BBA75954C646),
+          UINT64_C(0x00075267384AD185), UINT64_C(0x000BE077D1B86BB1),
+          UINT64_C(0x0000A186FFAE61F0), UINT64_C(0x0007E20C811F4FAE),
+          UINT64_C(0x0004F69AD42F56BF), UINT64_C(0x00006F7B76AEA2AF)}},
+        {{UINT64_C(0x000BEDEC2A48D51F), UINT64_C(0x00040C00234C90E7),
+          UINT64_C(0x0003BC8777CA6ECC), UINT64_C(0x0000D79570C70B74),
+          UINT64_C(0x000157D50E130D10), UINT64_C(0x0003932A1F3A8446),
+          UINT64_C(0x000520C248ECB88C), UINT64_C(0x00073A8FF16D17F0),
+          UINT64_C(0x0006B070CCE2E887), UINT64_C(0x00006F6D81DF9ECD)},
+         {UINT64_C(0x0007C3E53178DAC6), UINT64_C(0x0000802C2D20978A),
+          UINT64_C(0x0005CC0D9E0C57C8), UINT64_C(0x0000A2DB47B4AA42),
+          UINT64_C(0x0000D0C16DEAE477), UINT64_C(0x00030AECB867C0D4),
+          UINT64_C(0x0006545EF5ADABE6), UINT64_C(0x0006207530AC956A),
+          UINT64_C(0x0004B667DB2FBFC5), UINT64_C(0x0007231A93C94578)}},
+        {{UINT64_C(0x0006EE7B285AAF99), UINT64_C(0x000184C97496A4CA),
+          UINT64_C(0x0000E820762561C8), UINT64_C(0x0003069976AB441A),
+          UINT64_C(0x0002F2D34AB64E3A), UINT64_C(0x0008DA8798C4984C),
+          UINT64_C(0x00018E10EC261ED8), UINT64_C(0x0005572CDE59EF3B),
+          UINT64_C(0x0005243583492A31), UINT64_C(0x000553EBD5BD4F76)},
+         {UINT64_C(0x00003CD44541889B), UINT64_C(0x0000A15FD3B46A03),
+          UINT64_C(0x0002445DDC01C49C), UINT64_C(0x0000FF7AB524990D),
+          UINT64_C(0x00067DD44CEF1BC4), UINT64_C(0x00011A6A854E822E),
+          UINT64_C(0x00020922345D9089), UINT64_C(0x00004F8BE8B1C52C),
+          UINT64_C(0x000334AD5EA9B90D), UINT64_C(0x0004E5FE9C90028A)}},
+        {{UINT64_C(0x000068C177996387), UINT64_C(0x000019B13C995F39),
+          UINT64_C(0x00065BFEAB3691E1), UINT64_C(0x0003CEAA9FF90919),
+          UINT64_C(0x00070CE531ADC5B6), UINT64_C(0x000E2CEBFDBB5331),
+          UINT64_C(0x0000D202455F41D3), UINT64_C(0x000671180605FF9D),
+          UINT64_C(0x00011AD81B928580), UINT64_C(0x00028FC16864D6F0)},
+         {UINT64_C(0x000A61CD60DAEB8D), UINT64_C(0x000365700D8B7834),
+          UINT64_C(0x00057BC9FDF724EE), UINT64_C(0x0001F7A1B9F925AF),
+          UINT64_C(0x0007AA4AEFCA0359), UINT64_C(0x00034A27F50833A0),
+          UINT64_C(0x0000ED7927DFB95D), UINT64_C(0x0007B8F116040DEA),
+          UINT64_C(0x000117F98382AC39), UINT64_C(0x00020171F463D451)}},
+        {{UINT64_C(0x00059264A9F49C09), UINT64_C(0x00044F0F00815067),
+          UINT64_C(0x000151E20E3CE2F3), UINT64_C(0x0003CB10A0F261AA),
+          UINT64_C(0x00019DAE7938AAE9), UINT64_C(0x000FA6C983FECF4D),
+          UINT64_C(0x0000A4A7CA460046), UINT64_C(0x00069CD684FAA9A3),
+          UINT64_C(0x0005962FD31973AC), UINT64_C(0x0001A315E3CE66B5)},
+         {UINT64_C(0x0001EE33900F6430), UINT64_C(0x00064BE92C2C1CDD),
+          UINT64_C(0x00011FCA5905D7B7), UINT64_C(0x0001664E4C15055D),
+          UINT64_C(0x000124F50846C1DD), UINT64_C(0x0005A95B64C89DD6),
+          UINT64_C(0x000635C7B470A25B), UINT64_C(0x00044199D92D72BC),
+          UINT64_C(0x000317D8CC4D6593), UINT64_C(0x0004A1E8E879471E)}},
+        {{UINT64_C(0x00070F53D415523F), UINT64_C(0x00008843EE85FF0C),
+          UINT64_C(0x0001E10C523BB14C), UINT64_C(0x0004756E413F0932),
+          UINT64_C(0x0003DE85A220DF46), UINT64_C(0x000E272251866340),
+          UINT64_C(0x00008C97549ABE3D), UINT64_C(0x0003998C7C359F9D),
+          UINT64_C(0x00018EC0C21FA45C), UINT64_C(0x0007A6A308E8E50C)},
+         {UINT64_C(0x0002370A35276C0F), UINT64_C(0x0002729B26DBEA22),
+          UINT64_C(0x0000D95854453918), UINT64_C(0x0000FEBB57C7378F),
+          UINT64_C(0x0002E3F0D283969D), UINT64_C(0x000875CC00175050),
+          UINT64_C(0x00050E7B3F62B00A), UINT64_C(0x0006E1A11C5C2BEA),
+          UINT64_C(0x0003461785DC962F), UINT64_C(0x00006A29E20D62BD)}},
+        {{UINT64_C(0x000537C77DAC5528), UINT64_C(0x00008C1BE92F83C6),
+          UINT64_C(0x000611D61F939CC5), UINT64_C(0x00067A47050E3CE6),
+          UINT64_C(0x0006FC68EE4297A6), UINT64_C(0x00076CC8299AC1F1),
+          UINT64_C(0x000798EF7F4F028F), UINT64_C(0x0003D929F2A08907),
+          UINT64_C(0x0007F626DB8181AE), UINT64_C(0x00038C7518A169E3)},
+         {UINT64_C(0x0003C2C303DDCFAE), UINT64_C(0x0005A51351AFA1EB),
+          UINT64_C(0x00033D8168A6178F), UINT64_C(0x0002BAE4B7BD921A),
+          UINT64_C(0x00079BB0E6C13360), UINT64_C(0x0002FEC8223E6E6A),
+          UINT64_C(0x00057EB3E02985A1), UINT64_C(0x0006A5F6F23E337D),
+          UINT64_C(0x0000B51AD9A8DF7E), UINT64_C(0x0007C85F9D74F60E)}},
+    },
+    {
+        {{UINT64_C(0x000373002424FC6B), UINT64_C(0x000265A533B8CF47),
+          UINT64_C(0x00015EAD4A0AE37C), UINT64_C(0x00022EEEA45AEA56),
+          UINT64_C(0x0005CA0E0AF3AAE5), UINT64_C(0x000216AD75D115B7),
+          UINT64_C(0x0002B2885E63BCC1), UINT64_C(0x00001DEB58FCEA8C),
+          UINT64_C(0x00050D28722A0E55), UINT64_C(0x00016C1C97050E66)},
+         {UINT64_C(0x000BACBCDEEAFAB6), UINT64_C(0x000210A7858140DE),
+          UINT64_C(0x0006E228E5AB34EE), UINT64_C(0x00038068E28B5065),
+          UINT64_C(0x0002BDB4015D78E6), UINT64_C(0x000E7DF0E5A47C2C),
+          UINT64_C(0x000091791C6E0564), UINT64_C(0x00047E8BA82005E7),
+          UINT64_C(0x0002E2976DD2714D), UINT64_C(0x00029F182BE6C8A5)}},
+        {{UINT64_C(0x000D83B94CB40D60), UINT64_C(0x000182EE55A47AB2),
+          UINT64_C(0x0002A9A2A11F16C0), UINT64_C(0x00050CC737555D01),
+          UINT64_C(0x000189A2DA48966B), UINT64_C(0x000A973CE36E61C1),
+          UINT64_C(0x0004AF3A17E7233F), UINT64_C(0x00045CB6428ED4F1),
+          UINT64_C(0x0001768287382675), UINT64_C(0x0000C6B22C10147C)},
+         {UINT64_C(0x000401DB5A4C6A3E), UINT64_C(0x00023EE16B73E10C),
+          UINT64_C(0x0002FEA5C8440A34), UINT64_C(0x00018E7129952281),
+          UINT64_C(0x0001A31C2F9C5948), UINT64_C(0x0006685938AF9BD8),
+          UINT64_C(0x0002F4C9F4721C11), UINT64_C(0x0006D88254B2B220),
+          UINT64_C(0x00007BC40460348E), UINT64_C(0x0001773137A2404B)}},
+        {{UINT64_C(0x000C6B4D1144D64A), UINT64_C(0x0006D90E0E79B31D),
+          UINT64_C(0x00068DA0056E18D5), UINT64_C(0x0005340F7E02D070),
+          UINT64_C(0x0001D5DF828F1380), UINT64_C(0x000636F195DCDB2B),
+          UINT64_C(0x0000E7E7E014119C), UINT64_C(0x0007B435A9FBE2C0),
+          UINT64_C(0x00076EB85EA1EFBB), UINT64_C(0x00022AA0A0C698A1)},
+         {UINT64_C(0x000B9CB571CA9CF0), UINT64_C(0x0004B86CE22A5E6D),
+          UINT64_C(0x0006E4462F85131B), UINT64_C(0x0002F155E75A2EED),
+          UINT64_C(0x00063F764F24AC73), UINT64_C(0x000FFA94474DEF2E),
+          UINT64_C(0x0004A1B60F2E7A47), UINT64_C(0x00063EE08D47164B),
+          UINT64_C(0x0005ECDC6B2A7E48), UINT64_C(0x00071C6910C71824)}},
+        {{UINT64_C(0x0007813E229F97CB), UINT64_C(0x00043ADE3B460997),
+          UINT64_C(0x0005E8C96137590A), UINT64_C(0x000484EEC3127431),
+          UINT64_C(0x0003A512D58F34EC), UINT64_C(0x000B47722D5ECC77),
+          UINT64_C(0x00076E35AE2C410D), UINT64_C(0x000142A4F3860A59),
+          UINT64_C(0x0005AD2423E3E88D), UINT64_C(0x00032A4A2C6376BD)},
+         {UINT64_C(0x0009DB45FC2C575A), UINT64_C(0x0007CF11E987B02F),
+          UINT64_C(0x000329AE7B16D79A), UINT64_C(0x0006BA1FDDBA003F),
+          UINT64_C(0x00072F40C3D1D0E1), UINT64_C(0x000A2168272DEAEB),
+          UINT64_C(0x00040B3BC5E98BE4), UINT64_C(0x0005426244ED0D94),
+          UINT64_C(0x000610D19F336894), UINT64_C(0x0001EC5B0CD24773)}},
+        {{UINT64_C(0x000126DC95FF47CB), UINT64_C(0x0006D821C64139FD),
+          UINT64_C(0x00036D6653EA637C), UINT64_C(0x0005A97F942DD0FF),
+          UINT64_C(0x00000318724B076A), UINT64_C(0x000ED3C1F9BBE805),
+          UINT64_C(0x0002E76961D49FCA), UINT64_C(0x000759A40326E7D9),
+          UINT64_C(0x0002641EFF076C29), UINT64_C(0x00006CA5347A2017)},
+         {UINT64_C(0x00010765B5C69CBC), UINT64_C(0x0001782241147DAD),
+          UINT64_C(0x000104E6A5297609), UINT64_C(0x0006495BFD0C4503),
+          UINT64_C(0x0006B9D0D10CA297), UINT64_C(0x00034803A8F4A7B8),
+          UINT64_C(0x00069B1A0E7F94AF), UINT64_C(0x00076E9131740435),
+          UINT64_C(0x00079E1647538E00), UINT64_C(0x000381FB07DCC831)}},
+        {{UINT64_C(0x0000623E19A529B0), UINT64_C(0x0002A1F34419A0BA),
+          UINT64_C(0x0007450BB7C4CEEC), UINT64_C(0x000724D0766E901A),
+          UINT64_C(0x0006FDCF27272EFB), UINT64_C(0x000E99E1E2856702),
+          UINT64_C(0x0006AF1B534CF0E7), UINT64_C(0x00024538A8F87630),
+          UINT64_C(0x0002DBFF74B7F80D), UINT64_C(0x0006689E4424A84F)},
+         {UINT64_C(0x000A25CFDE9D7DDB), UINT64_C(0x00025B06D5477447),
+          UINT64_C(0x00040103EF10F2A9), UINT64_C(0x0000589A19B6B3E8),
+          UINT64_C(0x0001001736EC3E24), UINT64_C(0x000B77124673C96A),
+          UINT64_C(0x00053B0645C3104F), UINT64_C(0x00066AEE9346C15C),
+          UINT64_C(0x000336D117178F21), UINT64_C(0x0004C8732602283A)}},
+        {{UINT64_C(0x000B072ABBE3BA75), UINT64_C(0x00015A08F89BDB09),
+          UINT64_C(0x00034F423F9E09E0), UINT64_C(0x0001EF27A09841EF),
+          UINT64_C(0x00065B203436FF75), UINT64_C(0x00018864D568B13F),
+          UINT64_C(0x00069449D057FB4C), UINT64_C(0x000005868A6A3CD5),
+          UINT64_C(0x0007932D29BB522B), UINT64_C(0x0001069BF48AA2B7)},
+         {UINT64_C(0x000EE21FDCDDE7C7), UINT64_C(0x0006CAF6E905C045),
+          UINT64_C(0x00031A72930255A6), UINT64_C(0x00076FCF5F4A6F74),
+          UINT64_C(0x00001AA0517A0131), UINT64_C(0x00040DDFF2E11FAF),
+          UINT64_C(0x0004A5512DFF3F02), UINT64_C(0x00055F08A9212CD2),
+          UINT64_C(0x000519761093F184), UINT64_C(0x00027B6A1B2A1EF7)}},
+        {{UINT64_C(0x000EA5C61B6DBC4E), UINT64_C(0x00051A4DCC7D6792),
+          UINT64_C(0x0003357B7EAF7670), UINT64_C(0x000554E802A50353),
+          UINT64_C(0x00072BF41E70B24F), UINT64_C(0x000049E5C8DA1177),
+          UINT64_C(0x00037C5CB7FD16BA), UINT64_C(0x0003803F2EEEF15D),
+          UINT64_C(0x000146D4B548675B), UINT64_C(0x0000E11A2717E6B2)},
+         {UINT64_C(0x000C794070988A0A), UINT64_C(0x0002A32EF7BCEEB5),
+          UINT64_C(0x00050C772349C586), UINT64_C(0x0000FA8C6654583D),
+          UINT64_C(0x000385E544F610DF), UINT64_C(0x000C27780562C065),
+          UINT64_C(0x0004D0E5952E5D7A), UINT64_C(0x00022358D60920AE),
+          UINT64_C(0x000647D3BCA69083), UINT64_C(0x000663401832196F)}},
+        {{UINT64_C(0x0002E9B7160E3961), UINT64_C(0x0000CFDD2754F2C2),
+          UINT64_C(0x000737ED6627095B), UINT64_C(0x0000907EAC442E04),
+          UINT64_C(0x0004BFDDFD6D0E23), UINT64_C(0x0009C97A7D587EEF),
+          UINT64_C(0x000543F2822FAFB5), UINT64_C(0x0003FDF6AF5D7A19),
+          UINT64_C(0x0000FC963721698D), UINT64_C(0x000179F21E6577FB)},
+         {UINT64_C(0x00025DABF637CE7B), UINT64_C(0x0000DEF29AADAC3D),
+          UINT64_C(0x0001737E91658123), UINT64_C(0x000249402C7B4BC4),
+          UINT64_C(0x0001F964C1BA2B35), UINT64_C(0x0006547130478601),
+          UINT64_C(0x00004A763BB9F26E), UINT64_C(0x0002DEE0532A3ABA),
+          UINT64_C(0x0000FB73209B3189), UINT64_C(0x000323CB18309CBF)}},
+        {{UINT64_C(0x000F430885B15B6B), UINT64_C(0x00075D059AEC5A1E),
+          UINT64_C(0x0004453A277EFFCE), UINT64_C(0x00064F823D9E2950),
+          UINT64_C(0x00073827A14B9299), UINT64_C(0x0001C133BA90B752),
+          UINT64_C(0x0002FE7DB431EADF), UINT64_C(0x0007321007818326),
+          UINT64_C(0x00071653A5874521), UINT64_C(0x000797A5565F102D)},
+         {UINT64_C(0x00036CFD54EEA72C), UINT64_C(0x0000808016DA4E23),
+          UINT64_C(0x0003D2134B084DFE), UINT64_C(0x00011B5581647A89),
+          UINT64_C(0x00052FAD726D60BB), UINT64_C(0x000DCFDB5420868A),
+          UINT64_C(0x000750548DD329FF), UINT64_C(0x00019FE6DA0749CC),
+          UINT64_C(0x00005B85FA39A2C1), UINT64_C(0x00023AE3BBD89F61)}},
+        {{UINT64_C(0x000CA8883C4EF58F), UINT64_C(0x0006E759199F54FA),
+          UINT64_C(0x00055E8867F4288D), UINT64_C(0x000225E439FE7035),
+          UINT64_C(0x00040EE9678BC4D1), UINT64_C(0x000E0C8FEC05A2E2),
+          UINT64_C(0x000586D8C13D487A), UINT64_C(0x00008B4A7E530498),
+          UINT64_C(0x0001E781B4E18C6D), UINT64_C(0x00017D763BE7083C)},
+         {UINT64_C(0x000A451105CF54F0), UINT64_C(0x000637BF27522C26),
+          UINT64_C(0x0006042AB901CB43), UINT64_C(0x0000F3A157D77CEC),
+          UINT64_C(0x00040B5652E5D030), UINT64_C(0x0003F395A2C01F02),
+          UINT64_C(0x00041B950FC573CA), UINT64_C(0x0007DED4FDDEA439),
+          UINT64_C(0x00012CAC59609158), UINT64_C(0x0000EC63DC4F41D8)}},
+        {{UINT64_C(0x000027B04D23C68B), UINT64_C(0x000525B4F2B59AFC),
+          UINT64_C(0x0001473B3791B81E), UINT64_C(0x0004234680C59597),
+          UINT64_C(0x00049B5B1E7B7404), UINT64_C(0x000CA846EE9B6288),
+          UINT64_C(0x0002F4D705212A30), UINT64_C(0x000435199A6D217F),
+          UINT64_C(0x0002C022FF19EE1F), UINT64_C(0x0003594F8F0758A9)},
+         {UINT64_C(0x000968170931C47A), UINT64_C(0x000621AD96C9DEDE),
+          UINT64_C(0x0001F40DB9806854), UINT64_C(0x0006535786069F3A),
+          UINT64_C(0x0002BAAF09744048), UINT64_C(0x000CE1A02746C6D1),
+          UINT64_C(0x000159007061AA2D), UINT64_C(0x000679FCA2D81FCD),
+          UINT64_C(0x000418AC9FB46B4D), UINT64_C(0x000308BE060423D1)}},
+        {{UINT64_C(0x0000C4AC87AF9AD9), UINT64_C(0x0000CDECE641A609),
+          UINT64_C(0x0001E12CC58F8FCD), UINT64_C(0x000510A219809940),
+          UINT64_C(0x0006DA7CEA8384F8), UINT64_C(0x000AB5F0694566E0),
+          UINT64_C(0x0001CC9EE803A140), UINT64_C(0x0000F9FBB28BDD1E),
+          UINT64_C(0x0007F4EFEB56B1DE), UINT64_C(0x000277916C4688BF)},
+         {UINT64_C(0x000D23553900C111), UINT64_C(0x0002646A893D2545),
+          UINT64_C(0x0003F85DED9F79E4), UINT64_C(0x0003D6EBC7956C87),
+          UINT64_C(0x00042C8421E33668), UINT64_C(0x0000CE0FCEE92113),
+          UINT64_C(0x00062F37FB71D455), UINT64_C(0x0002B5C2D8B8E0D9),
+          UINT64_C(0x0001F89A7B791F03), UINT64_C(0x00026E0534AAFC55)}},
+        {{UINT64_C(0x0002995D9382FB5B), UINT64_C(0x0007C05714B2BDCD),
+          UINT64_C(0x00055EFDFFD811CA), UINT64_C(0x0000C43B6FA2E22F),
+          UINT64_C(0x0003930FE770F72D), UINT64_C(0x00082F4073A9EB83),
+          UINT64_C(0x00028C90A8534165), UINT64_C(0x00020C6D2C543EAE),
+          UINT64_C(0x0003F98A8E8F71B7), UINT64_C(0x0007B8FB4D43C48C)},
+         {UINT64_C(0x000C54F1DA463909), UINT64_C(0x000482EC99C805E1),
+          UINT64_C(0x000301F27ED477A1), UINT64_C(0x0005CA99320599DA),
+          UINT64_C(0x0003F84676223EB7), UINT64_C(0x00001D5F50BC87AC),
+          UINT64_C(0x0006D360C6473C45), UINT64_C(0x00078FE24EB5EF6D),
+          UINT64_C(0x0003E18E1D8C918F), UINT64_C(0x0000BAAA9526A788)}},
+        {{UINT64_C(0x0003CFAC186FC15D), UINT64_C(0x0004079422F8115B),
+          UINT64_C(0x00015745819F82E6), UINT64_C(0x0003618BCA6799CF),
+          UINT64_C(0x000147DCBEB05016), UINT64_C(0x0008E01C4060F0AE),
+          UINT64_C(0x0006DD9C9ABCADD5), UINT64_C(0x00055C9418FA0C56),
+          UINT64_C(0x0004ADEDA517CF14), UINT64_C(0x0000A4AEB8D1A937)},
+         {UINT64_C(0x0004727D18C04C1D), UINT64_C(0x000459FEB8D4258F),
+          UINT64_C(0x000134BF4171D346), UINT64_C(0x000686442480B1AF),
+          UINT64_C(0x000739A7BBB7AB37), UINT64_C(0x000F61BC7DC00473),
+          UINT64_C(0x0003746597B948CE), UINT64_C(0x000125EAB46F1D2B),
+          UINT64_C(0x000033F4805B72AE), UINT64_C(0x000584748C0B9409)}},
+        {{UINT64_C(0x00092A49D3069003), UINT64_C(0x0005840D8AF17ED6),
+          UINT64_C(0x000174B6F581B1E5), UINT64_C(0x000163189D301971),
+          UINT64_C(0x0000018D239951ED), UINT64_C(0x0009B7C92C641D5C),
+          UINT64_C(0x000289C88DD6E0A4), UINT64_C(0x0000CE7ED79D24F4),
+          UINT64_C(0x0007F5A09563A4B9), UINT64_C(0x0007A4A25F6B4D5C)},
+         {UINT64_C(0x00002966A02D81D0), UINT64_C(0x00079C7EA96452D3),
+          UINT64_C(0x0007C34AB0AA795A), UINT64_C(0x00050A1B57CC0E57),
+          UINT64_C(0x0007DE8829195BCB), UINT64_C(0x0006242A9B8D0EC5),
+          UINT64_C(0x0005DD50FAD307D9), UINT64_C(0x0001B700B637CA0B),
+          UINT64_C(0x0003455689EBE7C1), UINT64_C(0x0002782C47D2932F)}},
+    }};
+
+/*-
+ * Q := 2P, both projective, Q and P same pointers OK
+ * Autogenerated: op3/dbl_proj.op3
+ * https://eprint.iacr.org/2015/1060 Alg 6
+ * ASSERT: a = -3
+ */
+static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
+    /* temporary variables */
+    fe_t t0, t1, t2, t3, t4;
+    /* constants */
+    const limb_t *b = const_b;
+    /* set pointers for legacy 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 *Z3 = Q->Z;
+
+    /* the curve arith formula */
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(t0, X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(t1, Y);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(t2, Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t3, X, Y);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t3, t3, t3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t4, Y, Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(Z3, X, Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Z3, Z3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(Y3, b, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(Y3, Y3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(X3, Y3, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Y3, X3, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(X3, t1, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Y3, t1, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(Y3, X3, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(X3, X3, t3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t3, t2, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t2, t2, t3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(Z3, b, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(Z3, Z3, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(Z3, Z3, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t3, Z3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Z3, Z3, t3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t3, t0, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t0, t3, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(t0, t0, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t0, t0, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Y3, Y3, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t0, t4, t4);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(Z3, t0, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(X3, X3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(Z3, t0, t1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Z3, Z3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Z3, Z3, Z3);
+}
+
+/*-
+ * out1 = (arg1 == 0) ? 0 : nz
+ * NB: this is not a "mod p equiv" 0, but literal 0
+ * NB: this is not a real Fiat function, just named that way for consistency.
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetA_nonzero(limb_t *out1,
+                                                              const fe_t arg1) {
+    limb_t x1 = 0;
+    int i;
+
+    for (i = 0; i < LIMB_CNT; i++) x1 |= arg1[i];
+    *out1 = x1;
+}
+
+/*-
+ * 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.op3
+ * https://eprint.iacr.org/2015/1060 Alg 5
+ * ASSERT: a = -3
+ */
+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, t4;
+    /* constants */
+    const limb_t *b = const_b;
+    /* set pointers for legacy curve arith */
+    const limb_t *X1 = Q->X;
+    const limb_t *Y1 = Q->Y;
+    const limb_t *Z1 = Q->Z;
+    const limb_t *X2 = P->X;
+    const limb_t *Y2 = P->Y;
+    fe_t X3;
+    fe_t Y3;
+    fe_t Z3;
+    limb_t nz;
+
+    /* check P for affine inf */
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_nonzero(&nz, P->Y);
+
+    /* the curve arith formula */
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t0, X1, X2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t1, Y1, Y2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t3, X2, Y2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t4, X1, Y1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t3, t3, t4);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t4, t0, t1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(t3, t3, t4);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t4, Y2, Z1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t4, t4, Y1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(Y3, X2, Z1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Y3, Y3, X1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(Z3, b, Z1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(X3, Y3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Z3, X3, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(X3, X3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(Z3, t1, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(X3, t1, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(Y3, b, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t1, Z1, Z1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t2, t1, Z1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(Y3, Y3, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(Y3, Y3, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t1, Y3, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Y3, t1, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t1, t0, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t0, t1, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(t0, t0, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t1, t4, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t2, t0, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(Y3, X3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Y3, Y3, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(X3, t3, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(X3, X3, t1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(Z3, t4, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t1, t3, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Z3, Z3, t1);
+
+    /* if P is inf, throw all that away and take Q */
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_selectznz(R->X, nz, Q->X, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_selectznz(R->Y, nz, Q->Y, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_selectznz(R->Z, nz, Q->Z, Z3);
+}
+
+/*-
+ * R := Q + P all projective.
+ * R and Q same pointers OK
+ * R and P same pointers not OK
+ * Autogenerated: op3/add_proj.op3
+ * https://eprint.iacr.org/2015/1060 Alg 4
+ * ASSERT: a = -3
+ */
+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, t4, t5;
+    /* constants */
+    const limb_t *b = const_b;
+    /* set pointers for legacy curve arith */
+    const limb_t *X1 = Q->X;
+    const limb_t *Y1 = Q->Y;
+    const limb_t *Z1 = Q->Z;
+    const limb_t *X2 = P->X;
+    const limb_t *Y2 = P->Y;
+    const limb_t *Z2 = P->Z;
+    limb_t *X3 = R->X;
+    limb_t *Y3 = R->Y;
+    limb_t *Z3 = R->Z;
+
+    /* the curve arith formula */
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t0, X1, X2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t1, Y1, Y2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t2, Z1, Z2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t3, X1, Y1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t4, X2, Y2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t3, t3, t4);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t4, t0, t1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(t3, t3, t4);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t4, Y1, Z1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t5, Y2, Z2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t4, t4, t5);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t5, t1, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(t4, t4, t5);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(X3, X1, Z1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Y3, X2, Z2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(X3, X3, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Y3, t0, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(Y3, X3, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(Z3, b, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(X3, Y3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Z3, X3, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(X3, X3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(Z3, t1, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(X3, t1, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(Y3, b, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t1, t2, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t2, t1, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(Y3, Y3, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(Y3, Y3, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t1, Y3, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Y3, t1, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t1, t0, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t0, t1, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(t0, t0, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t1, t4, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t2, t0, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(Y3, X3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Y3, Y3, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(X3, t3, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(X3, X3, t1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(Z3, t4, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t1, t3, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Z3, Z3, t1);
+}
+
+/* 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;
+
+    fe_copy(precomp[0].X, P->X);
+    fe_copy(precomp[0].Y, P->Y);
+    fe_copy(precomp[0].Z, const_one);
+    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_paramSetA_opp(Q.Y, Q.Y);
+                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.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_paramSetA_opp(Q.Y, Q.Y);
+                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.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.Z);
+    }
+
+    if (flipped) {
+        /* correct sign */
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_opp(Q.Y, Q.Y);
+    }
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_inv(Q.Z, Q.Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(out->X, Q.X, Q.Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_selectznz(Q.X, diff, Q.X,
+                                                            precomp[j].X);
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_selectznz(Q.Y, diff, Q.Y,
+                                                            precomp[j].Y);
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_selectznz(
+                lut.X, diff, lut.X, precomp[j].X);
+            fiat_id_tc26_gost_3410_2012_512_paramSetA_selectznz(
+                lut.Y, diff, lut.Y, precomp[j].Y);
+            fiat_id_tc26_gost_3410_2012_512_paramSetA_selectznz(
+                lut.Z, diff, lut.Z, precomp[j].Z);
+        }
+        /* negate lut point if digit is negative */
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_opp(out->Y, lut.Y);
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_selectznz(lut.Y, is_neg,
+                                                            lut.Y, out->Y);
+        point_add_proj(&Q, &Q, &lut);
+    }
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
+
+    /* conditionally subtract P if the scalar was even */
+    fe_copy(lut.X, precomp[0].X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_opp(lut.Y, precomp[0].Y);
+    fe_copy(lut.Z, precomp[0].Z);
+    point_add_proj(&lut, &lut, &Q);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_selectznz(Q.X, scalar[0] & 1,
+                                                        lut.X, Q.X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_selectznz(Q.Y, scalar[0] & 1,
+                                                        lut.Y, Q.Y);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_selectznz(Q.Z, scalar[0] & 1,
+                                                        lut.Z, Q.Z);
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_inv(Q.Z, Q.Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(out->X, Q.X, Q.Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_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.Z);
+
+#if defined(_MSC_VER)
+    /* result still unsigned: yes we know */
+#pragma warning(push)
+#pragma warning(disable : 4146)
+#endif
+
+    for (i = 9; i >= 0; i--) {
+        for (j = 0; i != 9 && j < RADIX; j++) point_double(&Q, &Q);
+        for (j = 0; j < 12; j++) {
+            if (j * 10 + i > 102) continue;
+            d = rnaf[j * 10 + 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_paramSetA_selectznz(
+                    lut.X, diff, lut.X, lut_cmb[j][k].X);
+                fiat_id_tc26_gost_3410_2012_512_paramSetA_selectznz(
+                    lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
+            }
+            /* negate lut point if digit is negative */
+            fiat_id_tc26_gost_3410_2012_512_paramSetA_opp(out->Y, lut.Y);
+            fiat_id_tc26_gost_3410_2012_512_paramSetA_selectznz(lut.Y, is_neg,
+                                                                lut.Y, out->Y);
+            point_add_mixed(&Q, &Q, &lut);
+        }
+    }
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
+
+    /* conditionally subtract P if the scalar was even */
+    fe_copy(lut.X, lut_cmb[0][0].X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_opp(lut.Y, lut_cmb[0][0].Y);
+    point_add_mixed(&R, &Q, &lut);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_selectznz(Q.X, scalar[0] & 1, R.X,
+                                                        Q.X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_selectznz(Q.Y, scalar[0] & 1, R.Y,
+                                                        Q.Y);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_selectznz(Q.Z, scalar[0] & 1, R.Z,
+                                                        Q.Z);
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_inv(Q.Z, Q.Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(out->X, Q.X, Q.Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_from_bytes(P.X, inx);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_from_bytes(P.Y, iny);
+    /* simultaneous scalar multiplication */
+    var_smul_wnaf_two(&P, a, b, &P);
+
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_to_bytes(outx, P.X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_to_bytes(outx, P.X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_from_bytes(P.X, inx);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_from_bytes(P.Y, iny);
+    /* var scmul function */
+    var_smul_rwnaf(&P, scalar, &P);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_to_bytes(outx, P.X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA(
+        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_paramSetA(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_paramSetA(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_paramSetA_carry_add(c, a, b) \
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_add(c, a, b);          \
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry(c, c)
+#define fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(c, a, b) \
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_sub(c, a, b);          \
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry(c, c)
+
+/* Projective points */
+typedef struct {
+    fe_t X;
+    fe_t Y;
+    fe_t Z;
+} pt_prj_t;
+
+/* Affine points */
+typedef struct {
+    fe_t X;
+    fe_t Y;
+} 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_paramSetA 32 '(auto)' '2^512 - 569' */
+/* curve description: id_tc26_gost_3410_2012_512_paramSetA */
+/* 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_paramSetA_uint1;
+typedef signed char fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_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_paramSetA_addcarryx_u22(
+    uint32_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 *out2,
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 arg1, uint32_t arg2,
+    uint32_t arg3) {
+    uint32_t x1;
+    uint32_t x2;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x3;
+    x1 = ((arg1 + arg2) + arg3);
+    x2 = (x1 & UINT32_C(0x3fffff));
+    x3 = (fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1)(x1 >> 22);
+    *out1 = x2;
+    *out2 = x3;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_subborrowx_u22(
+    uint32_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 *out2,
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 arg1, uint32_t arg2,
+    uint32_t arg3) {
+    int32_t x1;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_int1 x2;
+    uint32_t x3;
+    x1 = ((int32_t)(arg2 - arg1) - (int32_t)arg3);
+    x2 = (fiat_id_tc26_gost_3410_2012_512_paramSetA_int1)(x1 >> 22);
+    x3 = (x1 & UINT32_C(0x3fffff));
+    *out1 = x3;
+    *out2 = (fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1)(0x0 - x2);
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_addcarryx_u23(
+    uint32_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 *out2,
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 arg1, uint32_t arg2,
+    uint32_t arg3) {
+    uint32_t x1;
+    uint32_t x2;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x3;
+    x1 = ((arg1 + arg2) + arg3);
+    x2 = (x1 & UINT32_C(0x7fffff));
+    x3 = (fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1)(x1 >> 23);
+    *out1 = x2;
+    *out2 = x3;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_subborrowx_u23(
+    uint32_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 *out2,
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 arg1, uint32_t arg2,
+    uint32_t arg3) {
+    int32_t x1;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_int1 x2;
+    uint32_t x3;
+    x1 = ((int32_t)(arg2 - arg1) - (int32_t)arg3);
+    x2 = (fiat_id_tc26_gost_3410_2012_512_paramSetA_int1)(x1 >> 23);
+    x3 = (x1 & UINT32_C(0x7fffff));
+    *out1 = x3;
+    *out2 = (fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1)(0x0 - x2);
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_cmovznz_u32(
+    uint32_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 arg1,
+    uint32_t arg2, uint32_t arg3) {
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x1;
+    uint32_t x2;
+    uint32_t x3;
+    x1 = (!(!arg1));
+    x2 = ((fiat_id_tc26_gost_3410_2012_512_paramSetA_int1)(0x0 - x1) &
+          UINT32_C(0xffffffff));
+    x3 = ((x2 & arg3) | ((~x2) & arg2));
+    *out1 = x3;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_selectznz(
+    uint32_t out1[23], fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_cmovznz_u32(&x1, arg1, (arg2[0]),
+                                                          (arg3[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_cmovznz_u32(&x2, arg1, (arg2[1]),
+                                                          (arg3[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_cmovznz_u32(&x3, arg1, (arg2[2]),
+                                                          (arg3[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_cmovznz_u32(&x4, arg1, (arg2[3]),
+                                                          (arg3[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_cmovznz_u32(&x5, arg1, (arg2[4]),
+                                                          (arg3[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_cmovznz_u32(&x6, arg1, (arg2[5]),
+                                                          (arg3[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_cmovznz_u32(&x7, arg1, (arg2[6]),
+                                                          (arg3[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_cmovznz_u32(&x8, arg1, (arg2[7]),
+                                                          (arg3[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_cmovznz_u32(&x9, arg1, (arg2[8]),
+                                                          (arg3[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_cmovznz_u32(&x10, arg1, (arg2[9]),
+                                                          (arg3[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_cmovznz_u32(
+        &x11, arg1, (arg2[10]), (arg3[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_cmovznz_u32(
+        &x12, arg1, (arg2[11]), (arg3[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_cmovznz_u32(
+        &x13, arg1, (arg2[12]), (arg3[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_cmovznz_u32(
+        &x14, arg1, (arg2[13]), (arg3[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_cmovznz_u32(
+        &x15, arg1, (arg2[14]), (arg3[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_cmovznz_u32(
+        &x16, arg1, (arg2[15]), (arg3[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_cmovznz_u32(
+        &x17, arg1, (arg2[16]), (arg3[16]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_cmovznz_u32(
+        &x18, arg1, (arg2[17]), (arg3[17]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_cmovznz_u32(
+        &x19, arg1, (arg2[18]), (arg3[18]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_cmovznz_u32(
+        &x20, arg1, (arg2[19]), (arg3[19]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_cmovznz_u32(
+        &x21, arg1, (arg2[20]), (arg3[20]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_cmovznz_u32(
+        &x22, arg1, (arg2[21]), (arg3[21]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_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_paramSetA_to_bytes(
+    uint8_t out1[64], const uint32_t arg1[23]) {
+    uint32_t x1;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x2;
+    uint32_t x3;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x4;
+    uint32_t x5;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x6;
+    uint32_t x7;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x8;
+    uint32_t x9;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x10;
+    uint32_t x11;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x12;
+    uint32_t x13;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x14;
+    uint32_t x15;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x16;
+    uint32_t x17;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x18;
+    uint32_t x19;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x20;
+    uint32_t x21;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x22;
+    uint32_t x23;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x24;
+    uint32_t x25;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x26;
+    uint32_t x27;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x28;
+    uint32_t x29;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x30;
+    uint32_t x31;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x32;
+    uint32_t x33;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x34;
+    uint32_t x35;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x36;
+    uint32_t x37;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x38;
+    uint32_t x39;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x40;
+    uint32_t x41;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x42;
+    uint32_t x43;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x44;
+    uint32_t x45;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x46;
+    uint32_t x47;
+    uint32_t x48;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x49;
+    uint32_t x50;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x51;
+    uint32_t x52;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x53;
+    uint32_t x54;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x55;
+    uint32_t x56;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x57;
+    uint32_t x58;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x59;
+    uint32_t x60;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x61;
+    uint32_t x62;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x63;
+    uint32_t x64;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x65;
+    uint32_t x66;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x67;
+    uint32_t x68;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x69;
+    uint32_t x70;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x71;
+    uint32_t x72;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x73;
+    uint32_t x74;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x75;
+    uint32_t x76;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x77;
+    uint32_t x78;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x79;
+    uint32_t x80;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x81;
+    uint32_t x82;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x83;
+    uint32_t x84;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x85;
+    uint32_t x86;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x87;
+    uint32_t x88;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x89;
+    uint32_t x90;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_uint1 x91;
+    uint32_t x92;
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_subborrowx_u23(
+        &x1, &x2, 0x0, (arg1[0]), UINT32_C(0x7ffdc7));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_subborrowx_u22(
+        &x3, &x4, x2, (arg1[1]), UINT32_C(0x3fffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_subborrowx_u22(
+        &x5, &x6, x4, (arg1[2]), UINT32_C(0x3fffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_subborrowx_u23(
+        &x7, &x8, x6, (arg1[3]), UINT32_C(0x7fffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_subborrowx_u22(
+        &x9, &x10, x8, (arg1[4]), UINT32_C(0x3fffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_subborrowx_u22(
+        &x11, &x12, x10, (arg1[5]), UINT32_C(0x3fffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_subborrowx_u22(
+        &x13, &x14, x12, (arg1[6]), UINT32_C(0x3fffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_subborrowx_u23(
+        &x15, &x16, x14, (arg1[7]), UINT32_C(0x7fffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_subborrowx_u22(
+        &x17, &x18, x16, (arg1[8]), UINT32_C(0x3fffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_subborrowx_u22(
+        &x19, &x20, x18, (arg1[9]), UINT32_C(0x3fffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_subborrowx_u22(
+        &x21, &x22, x20, (arg1[10]), UINT32_C(0x3fffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_subborrowx_u23(
+        &x23, &x24, x22, (arg1[11]), UINT32_C(0x7fffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_subborrowx_u22(
+        &x25, &x26, x24, (arg1[12]), UINT32_C(0x3fffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_subborrowx_u22(
+        &x27, &x28, x26, (arg1[13]), UINT32_C(0x3fffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_subborrowx_u22(
+        &x29, &x30, x28, (arg1[14]), UINT32_C(0x3fffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_subborrowx_u23(
+        &x31, &x32, x30, (arg1[15]), UINT32_C(0x7fffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_subborrowx_u22(
+        &x33, &x34, x32, (arg1[16]), UINT32_C(0x3fffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_subborrowx_u22(
+        &x35, &x36, x34, (arg1[17]), UINT32_C(0x3fffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_subborrowx_u22(
+        &x37, &x38, x36, (arg1[18]), UINT32_C(0x3fffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_subborrowx_u23(
+        &x39, &x40, x38, (arg1[19]), UINT32_C(0x7fffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_subborrowx_u22(
+        &x41, &x42, x40, (arg1[20]), UINT32_C(0x3fffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_subborrowx_u22(
+        &x43, &x44, x42, (arg1[21]), UINT32_C(0x3fffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_subborrowx_u22(
+        &x45, &x46, x44, (arg1[22]), UINT32_C(0x3fffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_cmovznz_u32(&x47, x46, 0x0,
+                                                          UINT32_C(0xffffffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_addcarryx_u23(
+        &x48, &x49, 0x0, x1, (x47 & UINT32_C(0x7ffdc7)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_addcarryx_u22(
+        &x50, &x51, x49, x3, (x47 & UINT32_C(0x3fffff)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_addcarryx_u22(
+        &x52, &x53, x51, x5, (x47 & UINT32_C(0x3fffff)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_addcarryx_u23(
+        &x54, &x55, x53, x7, (x47 & UINT32_C(0x7fffff)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_addcarryx_u22(
+        &x56, &x57, x55, x9, (x47 & UINT32_C(0x3fffff)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_addcarryx_u22(
+        &x58, &x59, x57, x11, (x47 & UINT32_C(0x3fffff)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_addcarryx_u22(
+        &x60, &x61, x59, x13, (x47 & UINT32_C(0x3fffff)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_addcarryx_u23(
+        &x62, &x63, x61, x15, (x47 & UINT32_C(0x7fffff)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_addcarryx_u22(
+        &x64, &x65, x63, x17, (x47 & UINT32_C(0x3fffff)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_addcarryx_u22(
+        &x66, &x67, x65, x19, (x47 & UINT32_C(0x3fffff)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_addcarryx_u22(
+        &x68, &x69, x67, x21, (x47 & UINT32_C(0x3fffff)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_addcarryx_u23(
+        &x70, &x71, x69, x23, (x47 & UINT32_C(0x7fffff)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_addcarryx_u22(
+        &x72, &x73, x71, x25, (x47 & UINT32_C(0x3fffff)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_addcarryx_u22(
+        &x74, &x75, x73, x27, (x47 & UINT32_C(0x3fffff)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_addcarryx_u22(
+        &x76, &x77, x75, x29, (x47 & UINT32_C(0x3fffff)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_addcarryx_u23(
+        &x78, &x79, x77, x31, (x47 & UINT32_C(0x7fffff)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_addcarryx_u22(
+        &x80, &x81, x79, x33, (x47 & UINT32_C(0x3fffff)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_addcarryx_u22(
+        &x82, &x83, x81, x35, (x47 & UINT32_C(0x3fffff)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_addcarryx_u22(
+        &x84, &x85, x83, x37, (x47 & UINT32_C(0x3fffff)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_addcarryx_u23(
+        &x86, &x87, x85, x39, (x47 & UINT32_C(0x7fffff)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_addcarryx_u22(
+        &x88, &x89, x87, x41, (x47 & UINT32_C(0x3fffff)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_addcarryx_u22(
+        &x90, &x91, x89, x43, (x47 & UINT32_C(0x3fffff)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA_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_paramSetA/fe_inv.op3
+ * custom repunit addition chain
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_carry_square(acc, t1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t2, acc, t1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t3, acc, t1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, t3);
+    for (i = 0; i < 2; i++)
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t6, acc, t3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, t6);
+    for (i = 0; i < 5; i++)
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t12, acc, t6);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, t12);
+    for (i = 0; i < 11; i++)
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t24, acc, t12);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, t24);
+    for (i = 0; i < 23; i++)
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t48, acc, t24);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, t48);
+    for (i = 0; i < 47; i++)
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t96, acc, t48);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, t96);
+    for (i = 0; i < 5; i++)
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t102, acc, t6);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, t102);
+    for (i = 0; i < 95; i++)
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t198, acc, t96);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, t198);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t200, acc, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, t200);
+    for (i = 0; i < 199; i++)
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t400, acc, t200);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, t400);
+    for (i = 0; i < 101; i++)
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t502, acc, t102);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, t502);
+    for (i = 0; i < 3; i++)
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(acc, acc, t3);
+    for (i = 0; i < 4; i++)
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(acc, acc, t1);
+    for (i = 0; i < 2; i++)
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_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_b[23] = {
+    UINT32_C(0x0071C760), UINT32_C(0x0020F0B4), UINT32_C(0x000A818C),
+    UINT32_C(0x007DC8EC), UINT32_C(0x003E753A), UINT32_C(0x001D862E),
+    UINT32_C(0x00036A43), UINT32_C(0x00457401), UINT32_C(0x002C2996),
+    UINT32_C(0x00398693), UINT32_C(0x00396121), UINT32_C(0x00132F71),
+    UINT32_C(0x000FD0B6), UINT32_C(0x002F4207), UINT32_C(0x0030E879),
+    UINT32_C(0x0051D872), UINT32_C(0x0025C12B), UINT32_C(0x003E3B46),
+    UINT32_C(0x0015B333), UINT32_C(0x00037A16), UINT32_C(0x00321B77),
+    UINT32_C(0x0005DEDF), UINT32_C(0x003A3094)};
+
+/* LUT for scalar multiplication by comb interleaving */
+static const pt_aff_t lut_cmb[11][16] = {
+    {
+        {{UINT32_C(0x00000003), 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(0x0015F2A4), UINT32_C(0x001396A4), UINT32_C(0x00044D2C),
+          UINT32_C(0x0046BEB7), UINT32_C(0x003F97F0), UINT32_C(0x00298028),
+          UINT32_C(0x0038E907), UINT32_C(0x005E6A50), UINT32_C(0x001D27AE),
+          UINT32_C(0x0027E81B), UINT32_C(0x002C4D7C), UINT32_C(0x00490EF8),
+          UINT32_C(0x001CBEFA), UINT32_C(0x0020193F), UINT32_C(0x002BC177),
+          UINT32_C(0x004EB3C6), UINT32_C(0x0032F0E4), UINT32_C(0x000A1CD9),
+          UINT32_C(0x000B712A), UINT32_C(0x004C3710), UINT32_C(0x000DAB8E),
+          UINT32_C(0x003E87A8), UINT32_C(0x001D40F3)}},
+        {{UINT32_C(0x004B87C3), UINT32_C(0x0028D0F9), UINT32_C(0x0020B709),
+          UINT32_C(0x000A89D0), UINT32_C(0x0033EE84), UINT32_C(0x003AEC55),
+          UINT32_C(0x000C2241), UINT32_C(0x0032F57B), UINT32_C(0x002BAEC9),
+          UINT32_C(0x002696E9), UINT32_C(0x00250816), UINT32_C(0x005D2A1E),
+          UINT32_C(0x001F488F), UINT32_C(0x0010A475), UINT32_C(0x0028A117),
+          UINT32_C(0x00302585), UINT32_C(0x002D8AB6), UINT32_C(0x002CFF09),
+          UINT32_C(0x002EDAD2), UINT32_C(0x006A726B), UINT32_C(0x002899FA),
+          UINT32_C(0x002B2712), UINT32_C(0x00287FC6)},
+         {UINT32_C(0x000D90D6), UINT32_C(0x002FD8A3), UINT32_C(0x003892E6),
+          UINT32_C(0x0049F6D8), UINT32_C(0x001BDC46), UINT32_C(0x0014C636),
+          UINT32_C(0x002531B7), UINT32_C(0x007AC2FE), UINT32_C(0x002DDD59),
+          UINT32_C(0x0033E260), UINT32_C(0x00275EFC), UINT32_C(0x0075988E),
+          UINT32_C(0x003333F7), UINT32_C(0x0020678F), UINT32_C(0x000FBFA3),
+          UINT32_C(0x00235FE1), UINT32_C(0x0020F1D2), UINT32_C(0x00373098),
+          UINT32_C(0x000C4DDA), UINT32_C(0x00606E9E), UINT32_C(0x00118DFC),
+          UINT32_C(0x000417EC), UINT32_C(0x000F2D71)}},
+        {{UINT32_C(0x007F1E5F), UINT32_C(0x001419C8), UINT32_C(0x002CF1D7),
+          UINT32_C(0x000E5B8F), UINT32_C(0x00025B6A), UINT32_C(0x00099E5B),
+          UINT32_C(0x001804DC), UINT32_C(0x002F7572), UINT32_C(0x002A640E),
+          UINT32_C(0x000FB103), UINT32_C(0x00291840), UINT32_C(0x007FD916),
+          UINT32_C(0x0005B8C9), UINT32_C(0x00131C59), UINT32_C(0x0031C148),
+          UINT32_C(0x002BF81B), UINT32_C(0x00139B07), UINT32_C(0x002FF2FF),
+          UINT32_C(0x00049C2D), UINT32_C(0x0011BB6C), UINT32_C(0x002B0A64),
+          UINT32_C(0x001D12B8), UINT32_C(0x0015A2A0)},
+         {UINT32_C(0x0006CBC6), UINT32_C(0x0027724E), UINT32_C(0x00302B5D),
+          UINT32_C(0x001BC2F1), UINT32_C(0x003F55C0), UINT32_C(0x003AA25F),
+          UINT32_C(0x00232F00), UINT32_C(0x0074A629), UINT32_C(0x00037B4E),
+          UINT32_C(0x0024E8BE), UINT32_C(0x002A188A), UINT32_C(0x002CB205),
+          UINT32_C(0x0003ED36), UINT32_C(0x001C4269), UINT32_C(0x002BD5C1),
+          UINT32_C(0x0026AD6C), UINT32_C(0x001235FE), UINT32_C(0x001CF2C0),
+          UINT32_C(0x0024E745), UINT32_C(0x0068766F), UINT32_C(0x002BE51F),
+          UINT32_C(0x001B57A0), UINT32_C(0x001E35B3)}},
+        {{UINT32_C(0x005256E0), UINT32_C(0x003F836F), UINT32_C(0x00373455),
+          UINT32_C(0x0075BA3A), UINT32_C(0x002108B7), UINT32_C(0x001C82BE),
+          UINT32_C(0x00267DD8), UINT32_C(0x004ECEBF), UINT32_C(0x002F62E6),
+          UINT32_C(0x000A8F9E), UINT32_C(0x000CDAFA), UINT32_C(0x0043A073),
+          UINT32_C(0x00313659), UINT32_C(0x00154A30), UINT32_C(0x0016402E),
+          UINT32_C(0x001175DB), UINT32_C(0x000E2798), UINT32_C(0x001F5060),
+          UINT32_C(0x0033E5EC), UINT32_C(0x001D0B54), UINT32_C(0x001ADD71),
+          UINT32_C(0x0023DAD9), UINT32_C(0x001E1CA5)},
+         {UINT32_C(0x00755E5A), UINT32_C(0x00183470), UINT32_C(0x0023F0D4),
+          UINT32_C(0x00313928), UINT32_C(0x002DD729), UINT32_C(0x001D3E91),
+          UINT32_C(0x0035AE71), UINT32_C(0x005318A6), UINT32_C(0x002F3EDB),
+          UINT32_C(0x00289630), UINT32_C(0x0038D891), UINT32_C(0x007CF062),
+          UINT32_C(0x0038EE6A), UINT32_C(0x0013AFF2), UINT32_C(0x002E68F8),
+          UINT32_C(0x0064FAA0), UINT32_C(0x003BF0E8), UINT32_C(0x000AA0E7),
+          UINT32_C(0x0002840F), UINT32_C(0x003DE33E), UINT32_C(0x0022D493),
+          UINT32_C(0x003F570B), UINT32_C(0x002197B3)}},
+        {{UINT32_C(0x003642A2), UINT32_C(0x00299DCA), UINT32_C(0x003D77E1),
+          UINT32_C(0x00489D30), UINT32_C(0x0027522E), UINT32_C(0x00240D64),
+          UINT32_C(0x002F9F74), UINT32_C(0x0019C938), UINT32_C(0x00296297),
+          UINT32_C(0x001E1814), UINT32_C(0x0004E1B7), UINT32_C(0x0023D69C),
+          UINT32_C(0x0003213C), UINT32_C(0x0004FF86), UINT32_C(0x001C3786),
+          UINT32_C(0x00304EA3), UINT32_C(0x0014189F), UINT32_C(0x0006EA0F),
+          UINT32_C(0x00069315), UINT32_C(0x0011E349), UINT32_C(0x00397B6C),
+          UINT32_C(0x0000F3CD), UINT32_C(0x002183EC)},
+         {UINT32_C(0x002E3C8E), UINT32_C(0x00250F3A), UINT32_C(0x003F23C0),
+          UINT32_C(0x000E6089), UINT32_C(0x001AA647), UINT32_C(0x001449A0),
+          UINT32_C(0x001EE430), UINT32_C(0x006EFFDC), UINT32_C(0x002D388D),
+          UINT32_C(0x0019E36B), UINT32_C(0x001D016D), UINT32_C(0x000829C5),
+          UINT32_C(0x00391C21), UINT32_C(0x00271FC6), UINT32_C(0x002F3A60),
+          UINT32_C(0x0019B88F), UINT32_C(0x001CF454), UINT32_C(0x002B6D5C),
+          UINT32_C(0x001DAE4B), UINT32_C(0x0014A040), UINT32_C(0x002920C3),
+          UINT32_C(0x0017BC1F), UINT32_C(0x0019D5E3)}},
+        {{UINT32_C(0x00135C5B), UINT32_C(0x001DC3CE), UINT32_C(0x0004C781),
+          UINT32_C(0x00080E30), UINT32_C(0x0009851D), UINT32_C(0x00350569),
+          UINT32_C(0x002E8442), UINT32_C(0x001051D8), UINT32_C(0x0004FD70),
+          UINT32_C(0x00134424), UINT32_C(0x000F2B29), UINT32_C(0x00685F52),
+          UINT32_C(0x002DDECE), UINT32_C(0x00008902), UINT32_C(0x002F4764),
+          UINT32_C(0x000E5C3D), UINT32_C(0x0032A0B9), UINT32_C(0x001A6033),
+          UINT32_C(0x0012A3E6), UINT32_C(0x006BF5EC), UINT32_C(0x003D93F8),
+          UINT32_C(0x00360B6E), UINT32_C(0x0018B3FC)},
+         {UINT32_C(0x004ECF79), UINT32_C(0x0000B2AA), UINT32_C(0x003FB9C2),
+          UINT32_C(0x0078CE6D), UINT32_C(0x001215D4), UINT32_C(0x0038E3DD),
+          UINT32_C(0x000C3346), UINT32_C(0x004C9060), UINT32_C(0x003D3143),
+          UINT32_C(0x00243B10), UINT32_C(0x00259423), UINT32_C(0x006A2B73),
+          UINT32_C(0x0028505D), UINT32_C(0x000AE48C), UINT32_C(0x0000C6EE),
+          UINT32_C(0x00572490), UINT32_C(0x0027D956), UINT32_C(0x0014406A),
+          UINT32_C(0x0033BE99), UINT32_C(0x0018C2FA), UINT32_C(0x002F3AF0),
+          UINT32_C(0x001405C5), UINT32_C(0x00064B19)}},
+        {{UINT32_C(0x001F2EBD), UINT32_C(0x000510C7), UINT32_C(0x0019AE41),
+          UINT32_C(0x007CB53E), UINT32_C(0x003AB38E), UINT32_C(0x003266F9),
+          UINT32_C(0x00208EB6), UINT32_C(0x006D10F3), UINT32_C(0x001D6C3A),
+          UINT32_C(0x002D7D80), UINT32_C(0x000B3C9D), UINT32_C(0x0048BDA2),
+          UINT32_C(0x0014CC2E), UINT32_C(0x00156682), UINT32_C(0x000BAEBC),
+          UINT32_C(0x0032A9C9), UINT32_C(0x001FD4D5), UINT32_C(0x00323040),
+          UINT32_C(0x00282E72), UINT32_C(0x003CE90A), UINT32_C(0x0007C3A6),
+          UINT32_C(0x0004F672), UINT32_C(0x0019034A)},
+         {UINT32_C(0x004DEA72), UINT32_C(0x00355CF9), UINT32_C(0x002BBD82),
+          UINT32_C(0x004625D7), UINT32_C(0x0035A89F), UINT32_C(0x002CE049),
+          UINT32_C(0x001D8906), UINT32_C(0x0000050C), UINT32_C(0x00357091),
+          UINT32_C(0x001D1A1C), UINT32_C(0x001A15E2), UINT32_C(0x002C9AA7),
+          UINT32_C(0x001B1721), UINT32_C(0x003B7772), UINT32_C(0x003075BA),
+          UINT32_C(0x003ACE9C), UINT32_C(0x0018B5B9), UINT32_C(0x001483A0),
+          UINT32_C(0x002B8443), UINT32_C(0x000D0833), UINT32_C(0x0011414E),
+          UINT32_C(0x00377005), UINT32_C(0x001FE0BC)}},
+        {{UINT32_C(0x00614D45), UINT32_C(0x000FACE1), UINT32_C(0x002E03FD),
+          UINT32_C(0x00104582), UINT32_C(0x0027B6D8), UINT32_C(0x002E45CA),
+          UINT32_C(0x003DC391), UINT32_C(0x000278F0), UINT32_C(0x00150F86),
+          UINT32_C(0x002EDE47), UINT32_C(0x0025399C), UINT32_C(0x004DCCC4),
+          UINT32_C(0x00186E7C), UINT32_C(0x000987AE), UINT32_C(0x00082ECC),
+          UINT32_C(0x007B6EE3), UINT32_C(0x00097785), UINT32_C(0x003E0986),
+          UINT32_C(0x001C91ED), UINT32_C(0x0061A3C8), UINT32_C(0x00291652),
+          UINT32_C(0x00089F6C), UINT32_C(0x000C0F4E)},
+         {UINT32_C(0x00341422), UINT32_C(0x0016F7F9), UINT32_C(0x002A2213),
+          UINT32_C(0x000CC4C8), UINT32_C(0x002A5108), UINT32_C(0x0014C3FF),
+          UINT32_C(0x002A84FF), UINT32_C(0x007C98C9), UINT32_C(0x001C8206),
+          UINT32_C(0x0031B7CB), UINT32_C(0x0037BB04), UINT32_C(0x003E3334),
+          UINT32_C(0x0029AEB3), UINT32_C(0x003E65DA), UINT32_C(0x0020EE26),
+          UINT32_C(0x00779AF6), UINT32_C(0x00288AFE), UINT32_C(0x000D4B8D),
+          UINT32_C(0x001DB51B), UINT32_C(0x003BF6A3), UINT32_C(0x00381A92),
+          UINT32_C(0x0011D531), UINT32_C(0x00247F4E)}},
+        {{UINT32_C(0x00709AE6), UINT32_C(0x00252549), UINT32_C(0x0007EE34),
+          UINT32_C(0x005D8045), UINT32_C(0x0038367B), UINT32_C(0x0035CCF0),
+          UINT32_C(0x0005CD45), UINT32_C(0x0072DFB7), UINT32_C(0x00059B58),
+          UINT32_C(0x002BB6E5), UINT32_C(0x003546BA), UINT32_C(0x001567C4),
+          UINT32_C(0x003C5F98), UINT32_C(0x002503E9), UINT32_C(0x003AB5A8),
+          UINT32_C(0x002858EB), UINT32_C(0x001535BC), UINT32_C(0x002DC366),
+          UINT32_C(0x0034ED0D), UINT32_C(0x00277DED), UINT32_C(0x00016E7E),
+          UINT32_C(0x001A35D9), UINT32_C(0x00234EA3)},
+         {UINT32_C(0x0003CF55), UINT32_C(0x0026EE0D), UINT32_C(0x0025529F),
+          UINT32_C(0x0031335F), UINT32_C(0x00305D60), UINT32_C(0x00148F61),
+          UINT32_C(0x00343772), UINT32_C(0x004BD619), UINT32_C(0x0012E0C0),
+          UINT32_C(0x0013EA6E), UINT32_C(0x001A3BC0), UINT32_C(0x0069B10D),
+          UINT32_C(0x002CCEED), UINT32_C(0x002B62B5), UINT32_C(0x003456E2),
+          UINT32_C(0x0005151D), UINT32_C(0x00374FB6), UINT32_C(0x000F4CCC),
+          UINT32_C(0x001978D4), UINT32_C(0x003FA7E6), UINT32_C(0x00266D24),
+          UINT32_C(0x00248D2B), UINT32_C(0x00161AD6)}},
+        {{UINT32_C(0x0032C9A3), UINT32_C(0x002C7C77), UINT32_C(0x000E3F02),
+          UINT32_C(0x003E504E), UINT32_C(0x001351CC), UINT32_C(0x00177427),
+          UINT32_C(0x0020C8E9), UINT32_C(0x0019A4C7), UINT32_C(0x000B0C5D),
+          UINT32_C(0x001F549F), UINT32_C(0x003B0C1B), UINT32_C(0x0021F5DE),
+          UINT32_C(0x000075B2), UINT32_C(0x0036927D), UINT32_C(0x00185855),
+          UINT32_C(0x004BD125), UINT32_C(0x0014BBC7), UINT32_C(0x001C0CC6),
+          UINT32_C(0x0022540C), UINT32_C(0x00552107), UINT32_C(0x002283DD),
+          UINT32_C(0x0006BA78), UINT32_C(0x0013823D)},
+         {UINT32_C(0x001F97DE), UINT32_C(0x0028B5D5), UINT32_C(0x0030F546),
+          UINT32_C(0x0001A0B0), UINT32_C(0x0010CC6D), UINT32_C(0x001610C3),
+          UINT32_C(0x00245BEB), UINT32_C(0x003016D1), UINT32_C(0x001B8316),
+          UINT32_C(0x0016BA74), UINT32_C(0x002C99F7), UINT32_C(0x001CC511),
+          UINT32_C(0x0017550A), UINT32_C(0x0002060A), UINT32_C(0x00256CB7),
+          UINT32_C(0x0040BF9E), UINT32_C(0x0016677B), UINT32_C(0x0007D673),
+          UINT32_C(0x00182B4F), UINT32_C(0x002E8ADB), UINT32_C(0x001CBED4),
+          UINT32_C(0x002D048B), UINT32_C(0x000C037A)}},
+        {{UINT32_C(0x005B2170), UINT32_C(0x002A20E5), UINT32_C(0x003A2CC9),
+          UINT32_C(0x002D459D), UINT32_C(0x001DECC6), UINT32_C(0x0031C1FE),
+          UINT32_C(0x000CE89C), UINT32_C(0x0028CB4A), UINT32_C(0x00228929),
+          UINT32_C(0x000C455B), UINT32_C(0x00288443), UINT32_C(0x0019205F),
+          UINT32_C(0x0023421A), UINT32_C(0x00352E01), UINT32_C(0x001E5137),
+          UINT32_C(0x0074C0C9), UINT32_C(0x0003A0D7), UINT32_C(0x003A7F32),
+          UINT32_C(0x002BDAAB), UINT32_C(0x0038CE1E), UINT32_C(0x000991A9),
+          UINT32_C(0x0031AAF9), UINT32_C(0x0036FF6B)},
+         {UINT32_C(0x006C89E0), UINT32_C(0x00256380), UINT32_C(0x001F7866),
+          UINT32_C(0x000F7CD3), UINT32_C(0x001E0162), UINT32_C(0x001A7772),
+          UINT32_C(0x000474B0), UINT32_C(0x001B3366), UINT32_C(0x0024C27D),
+          UINT32_C(0x0033397C), UINT32_C(0x002DDFF7), UINT32_C(0x0003D06F),
+          UINT32_C(0x003CE689), UINT32_C(0x00087AFA), UINT32_C(0x00135BED),
+          UINT32_C(0x001E1302), UINT32_C(0x003FD153), UINT32_C(0x003F3F3D),
+          UINT32_C(0x0005DB43), UINT32_C(0x006193C9), UINT32_C(0x00174036),
+          UINT32_C(0x00258D52), UINT32_C(0x00046F1F)}},
+        {{UINT32_C(0x0049FC14), UINT32_C(0x00007614), UINT32_C(0x001F7037),
+          UINT32_C(0x00592750), UINT32_C(0x00290B61), UINT32_C(0x000960A8),
+          UINT32_C(0x00194FF1), UINT32_C(0x00139CAC), UINT32_C(0x003E0952),
+          UINT32_C(0x00270EC5), UINT32_C(0x00088B6C), UINT32_C(0x004C78F1),
+          UINT32_C(0x001D53F4), UINT32_C(0x003170C1), UINT32_C(0x001BD840),
+          UINT32_C(0x00705662), UINT32_C(0x0020DE92), UINT32_C(0x00128651),
+          UINT32_C(0x003E0D7F), UINT32_C(0x007F2363), UINT32_C(0x00029F44),
+          UINT32_C(0x001B5FCC), UINT32_C(0x0012DCB6)},
+         {UINT32_C(0x00715C01), UINT32_C(0x003BA447), UINT32_C(0x0014B2CF),
+          UINT32_C(0x000D0598), UINT32_C(0x0021BD5E), UINT32_C(0x003B2771),
+          UINT32_C(0x001C4456), UINT32_C(0x000B7702), UINT32_C(0x0034AD46),
+          UINT32_C(0x0020B4D4), UINT32_C(0x0034C10F), UINT32_C(0x00211BEE),
+          UINT32_C(0x00229380), UINT32_C(0x000F7D2E), UINT32_C(0x001DCFEE),
+          UINT32_C(0x00667394), UINT32_C(0x00181E9B), UINT32_C(0x000423C4),
+          UINT32_C(0x001ECE77), UINT32_C(0x00170479), UINT32_C(0x0032353F),
+          UINT32_C(0x00164DF6), UINT32_C(0x0016F1DE)}},
+        {{UINT32_C(0x0075C5F8), UINT32_C(0x000385BF), UINT32_C(0x0031DD89),
+          UINT32_C(0x006E52CD), UINT32_C(0x0007AB18), UINT32_C(0x001DB7D7),
+          UINT32_C(0x00181DB9), UINT32_C(0x003116D9), UINT32_C(0x002F42C8),
+          UINT32_C(0x001008A8), UINT32_C(0x000955A8), UINT32_C(0x0016157F),
+          UINT32_C(0x00366962), UINT32_C(0x00374B18), UINT32_C(0x003DA6A4),
+          UINT32_C(0x004DD8AE), UINT32_C(0x00303056), UINT32_C(0x000814A3),
+          UINT32_C(0x001FD98E), UINT32_C(0x0054633B), UINT32_C(0x00196306),
+          UINT32_C(0x0036BE52), UINT32_C(0x001CFF52)},
+         {UINT32_C(0x006F6BD4), UINT32_C(0x00363198), UINT32_C(0x0027A4A2),
+          UINT32_C(0x002E0CC3), UINT32_C(0x003815C9), UINT32_C(0x003F3192),
+          UINT32_C(0x0037B67C), UINT32_C(0x0030F20C), UINT32_C(0x002A1B35),
+          UINT32_C(0x0016C2B1), UINT32_C(0x0010040B), UINT32_C(0x006D50BA),
+          UINT32_C(0x0015627B), UINT32_C(0x00236233), UINT32_C(0x002BD95D),
+          UINT32_C(0x0068647C), UINT32_C(0x003DB8B8), UINT32_C(0x00090EB1),
+          UINT32_C(0x001829ED), UINT32_C(0x003AA621), UINT32_C(0x00281854),
+          UINT32_C(0x000579E2), UINT32_C(0x0027CDA0)}},
+        {{UINT32_C(0x0056E4C3), UINT32_C(0x000E21FF), UINT32_C(0x0024F3B1),
+          UINT32_C(0x002D126D), UINT32_C(0x00125D7C), UINT32_C(0x0011EF67),
+          UINT32_C(0x000BD798), UINT32_C(0x00018629), UINT32_C(0x001299FE),
+          UINT32_C(0x0016DCCD), UINT32_C(0x001DB60A), UINT32_C(0x002AB062),
+          UINT32_C(0x003E7DDD), UINT32_C(0x002F1BF6), UINT32_C(0x000F1421),
+          UINT32_C(0x007DDEFC), UINT32_C(0x0022F932), UINT32_C(0x00327FBB),
+          UINT32_C(0x001E3684), UINT32_C(0x000F04E8), UINT32_C(0x0028B9F5),
+          UINT32_C(0x0000AC17), UINT32_C(0x001B586E)},
+         {UINT32_C(0x0029C581), UINT32_C(0x001F0CDD), UINT32_C(0x000C57C8),
+          UINT32_C(0x005909C4), UINT32_C(0x003A26ED), UINT32_C(0x0032886A),
+          UINT32_C(0x0002D003), UINT32_C(0x0047BC86), UINT32_C(0x0004B488),
+          UINT32_C(0x0028EAC9), UINT32_C(0x00007E5F), UINT32_C(0x002AFB2F),
+          UINT32_C(0x0029FDA2), UINT32_C(0x00161194), UINT32_C(0x0003E7BC),
+          UINT32_C(0x000F8369), UINT32_C(0x000E94CC), UINT32_C(0x0037E9AD),
+          UINT32_C(0x0007994D), UINT32_C(0x00620DA2), UINT32_C(0x001C54F1),
+          UINT32_C(0x0003054F), UINT32_C(0x000F164E)}},
+        {{UINT32_C(0x00485A6F), UINT32_C(0x0004577D), UINT32_C(0x003E3EB4),
+          UINT32_C(0x006C4E40), UINT32_C(0x00032DFF), UINT32_C(0x0036D9C3),
+          UINT32_C(0x003133C3), UINT32_C(0x003BD1C9), UINT32_C(0x002755D5),
+          UINT32_C(0x00118134), UINT32_C(0x001160F0), UINT32_C(0x00059163),
+          UINT32_C(0x003EB8FC), UINT32_C(0x00056FC9), UINT32_C(0x0028AED8),
+          UINT32_C(0x003179B5), UINT32_C(0x003FBF05), UINT32_C(0x00011E59),
+          UINT32_C(0x00011744), UINT32_C(0x003470B0), UINT32_C(0x00135BDE),
+          UINT32_C(0x00158952), UINT32_C(0x0000E6DB)},
+         {UINT32_C(0x00532F1F), UINT32_C(0x003906A8), UINT32_C(0x002A32FC),
+          UINT32_C(0x00227E49), UINT32_C(0x00058EDF), UINT32_C(0x003D7DB2),
+          UINT32_C(0x0023DC29), UINT32_C(0x0070553D), UINT32_C(0x0004329B),
+          UINT32_C(0x003549B6), UINT32_C(0x003EC868), UINT32_C(0x000D7C98),
+          UINT32_C(0x00368C50), UINT32_C(0x000F57E5), UINT32_C(0x00126458),
+          UINT32_C(0x004D62F6), UINT32_C(0x0031CEF3), UINT32_C(0x00204DE0),
+          UINT32_C(0x00072E81), UINT32_C(0x007DA6C8), UINT32_C(0x003D4C1E),
+          UINT32_C(0x003FAAA5), UINT32_C(0x0018B7EB)}},
+        {{UINT32_C(0x005B2BEF), UINT32_C(0x002EEA64), UINT32_C(0x0035ADEF),
+          UINT32_C(0x00037B6A), UINT32_C(0x003D7F26), UINT32_C(0x003F7AE8),
+          UINT32_C(0x0016082B), UINT32_C(0x004D0845), UINT32_C(0x003213FD),
+          UINT32_C(0x002B907C), UINT32_C(0x0009D773), UINT32_C(0x0032EB9F),
+          UINT32_C(0x000B9447), UINT32_C(0x000FF14B), UINT32_C(0x002CC862),
+          UINT32_C(0x000EE902), UINT32_C(0x001A1E93), UINT32_C(0x003B5022),
+          UINT32_C(0x0007EC85), UINT32_C(0x00773A1A), UINT32_C(0x001E3782),
+          UINT32_C(0x001F2F23), UINT32_C(0x00371A25)},
+         {UINT32_C(0x00500C90), UINT32_C(0x00012947), UINT32_C(0x00276B35),
+          UINT32_C(0x00055EB4), UINT32_C(0x000B22A3), UINT32_C(0x001C3032),
+          UINT32_C(0x0034B27D), UINT32_C(0x0058FC68), UINT32_C(0x001DB835),
+          UINT32_C(0x0000E22D), UINT32_C(0x0026AF65), UINT32_C(0x005F11AC),
+          UINT32_C(0x002AB077), UINT32_C(0x0016A2BF), UINT32_C(0x002DE969),
+          UINT32_C(0x0014F0F9), UINT32_C(0x00142DA0), UINT32_C(0x00197B6C),
+          UINT32_C(0x00098CD4), UINT32_C(0x0076AB0A), UINT32_C(0x003EDF05),
+          UINT32_C(0x00165EF4), UINT32_C(0x002E8B63)}},
+    },
+    {
+        {{UINT32_C(0x0043FF72), UINT32_C(0x00371016), UINT32_C(0x00088C3D),
+          UINT32_C(0x003D3831), UINT32_C(0x0029E105), UINT32_C(0x000874C9),
+          UINT32_C(0x0028AD35), UINT32_C(0x0050A745), UINT32_C(0x00129E17),
+          UINT32_C(0x0006826F), UINT32_C(0x0003A7E7), UINT32_C(0x005A9957),
+          UINT32_C(0x003F5A11), UINT32_C(0x001E0D75), UINT32_C(0x00132E4A),
+          UINT32_C(0x001CACF1), UINT32_C(0x00106741), UINT32_C(0x0035B4A8),
+          UINT32_C(0x0038B784), UINT32_C(0x007346F0), UINT32_C(0x003DB373),
+          UINT32_C(0x001CED8B), UINT32_C(0x003B3CAB)},
+         {UINT32_C(0x0005ACA1), UINT32_C(0x0003F976), UINT32_C(0x000C0B13),
+          UINT32_C(0x007066AA), UINT32_C(0x0037D80F), UINT32_C(0x00150B30),
+          UINT32_C(0x0022F326), UINT32_C(0x0034AEAA), UINT32_C(0x0008FECE),
+          UINT32_C(0x0038E83F), UINT32_C(0x003A6384), UINT32_C(0x0015A868),
+          UINT32_C(0x000D1591), UINT32_C(0x00111853), UINT32_C(0x0007CCDC),
+          UINT32_C(0x00088671), UINT32_C(0x000325D9), UINT32_C(0x0030192A),
+          UINT32_C(0x0001A7CA), UINT32_C(0x00363760), UINT32_C(0x001F97E8),
+          UINT32_C(0x002C79F3), UINT32_C(0x001B4F8F)}},
+        {{UINT32_C(0x006A80D4), UINT32_C(0x0039A871), UINT32_C(0x001DED13),
+          UINT32_C(0x003F5D25), UINT32_C(0x0009BD11), UINT32_C(0x0015E36E),
+          UINT32_C(0x000EE574), UINT32_C(0x006F2527), UINT32_C(0x0004BD44),
+          UINT32_C(0x003A9039), UINT32_C(0x00158327), UINT32_C(0x0007B459),
+          UINT32_C(0x002C3FC0), UINT32_C(0x002902E4), UINT32_C(0x002368B3),
+          UINT32_C(0x0054306B), UINT32_C(0x002E6771), UINT32_C(0x0000025A),
+          UINT32_C(0x00359E84), UINT32_C(0x00753A6D), UINT32_C(0x001F1043),
+          UINT32_C(0x00198B2D), UINT32_C(0x001D7912)},
+         {UINT32_C(0x007E5CCB), UINT32_C(0x000738A9), UINT32_C(0x00164BE0),
+          UINT32_C(0x001D6B62), UINT32_C(0x000EF92E), UINT32_C(0x00280CB8),
+          UINT32_C(0x0037C2AD), UINT32_C(0x00569D4A), UINT32_C(0x00279D0C),
+          UINT32_C(0x002F59F7), UINT32_C(0x003DAC74), UINT32_C(0x0042978C),
+          UINT32_C(0x0010DA80), UINT32_C(0x00217A9D), UINT32_C(0x00336498),
+          UINT32_C(0x00239BFB), UINT32_C(0x00367CF4), UINT32_C(0x00002665),
+          UINT32_C(0x0012FC23), UINT32_C(0x006B55F4), UINT32_C(0x0008389E),
+          UINT32_C(0x0010C55C), UINT32_C(0x003917A5)}},
+        {{UINT32_C(0x000B001B), UINT32_C(0x0036253F), UINT32_C(0x00364099),
+          UINT32_C(0x00403910), UINT32_C(0x002FD274), UINT32_C(0x00240152),
+          UINT32_C(0x002222A5), UINT32_C(0x00038A33), UINT32_C(0x0015B0C3),
+          UINT32_C(0x001BA804), UINT32_C(0x000B91C9), UINT32_C(0x001E1D50),
+          UINT32_C(0x002C6A3F), UINT32_C(0x0002DA6D), UINT32_C(0x0031CDE7),
+          UINT32_C(0x005F8ABA), UINT32_C(0x0032F16C), UINT32_C(0x0005F59E),
+          UINT32_C(0x0027FB7F), UINT32_C(0x003F4395), UINT32_C(0x0005567B),
+          UINT32_C(0x00037388), UINT32_C(0x0031BC7C)},
+         {UINT32_C(0x0021EB64), UINT32_C(0x000F56D8), UINT32_C(0x00063940),
+          UINT32_C(0x007222D6), UINT32_C(0x002072C6), UINT32_C(0x002E61E2),
+          UINT32_C(0x0016F379), UINT32_C(0x0027EADF), UINT32_C(0x003A6BD2),
+          UINT32_C(0x002F0B3A), UINT32_C(0x002FFAE6), UINT32_C(0x007DBBB0),
+          UINT32_C(0x00003399), UINT32_C(0x0015CF91), UINT32_C(0x00284363),
+          UINT32_C(0x003DC09B), UINT32_C(0x00305937), UINT32_C(0x001A75E2),
+          UINT32_C(0x0028D44C), UINT32_C(0x0052188E), UINT32_C(0x003F5117),
+          UINT32_C(0x002A7B19), UINT32_C(0x000F38A9)}},
+        {{UINT32_C(0x0068B2E0), UINT32_C(0x0017FFC5), UINT32_C(0x0027AFC3),
+          UINT32_C(0x000A45A1), UINT32_C(0x001227B7), UINT32_C(0x000976FE),
+          UINT32_C(0x003CC399), UINT32_C(0x00111C12), UINT32_C(0x0021CDEC),
+          UINT32_C(0x000290FA), UINT32_C(0x000E0DC4), UINT32_C(0x004B8791),
+          UINT32_C(0x003123B8), UINT32_C(0x00257E85), UINT32_C(0x0031095C),
+          UINT32_C(0x00009042), UINT32_C(0x002E0671), UINT32_C(0x002EDE50),
+          UINT32_C(0x002522AF), UINT32_C(0x002113DA), UINT32_C(0x002136C8),
+          UINT32_C(0x003A4426), UINT32_C(0x00375E38)},
+         {UINT32_C(0x004B72D7), UINT32_C(0x00317636), UINT32_C(0x002C6B14),
+          UINT32_C(0x0023C200), UINT32_C(0x00229CA0), UINT32_C(0x0018AB4E),
+          UINT32_C(0x0038DE7C), UINT32_C(0x0071C6F7), UINT32_C(0x0006D850),
+          UINT32_C(0x0007F5A9), UINT32_C(0x001ADEAD), UINT32_C(0x00171F68),
+          UINT32_C(0x0018927F), UINT32_C(0x001A4C5E), UINT32_C(0x0000DDCC),
+          UINT32_C(0x0038263E), UINT32_C(0x003C1F7F), UINT32_C(0x001B3C9A),
+          UINT32_C(0x003488F3), UINT32_C(0x0023C421), UINT32_C(0x002F2417),
+          UINT32_C(0x00068EDA), UINT32_C(0x00073EC6)}},
+        {{UINT32_C(0x00740829), UINT32_C(0x003BBE8D), UINT32_C(0x00073E98),
+          UINT32_C(0x00356FAD), UINT32_C(0x003B7DDB), UINT32_C(0x002DC94B),
+          UINT32_C(0x0030C9A3), UINT32_C(0x001B8A3C), UINT32_C(0x0023BCCD),
+          UINT32_C(0x0003F076), UINT32_C(0x003A8A39), UINT32_C(0x0067C926),
+          UINT32_C(0x00057C86), UINT32_C(0x0027A91E), UINT32_C(0x0006BFD0),
+          UINT32_C(0x00268025), UINT32_C(0x0026C695), UINT32_C(0x0030F65C),
+          UINT32_C(0x0007A146), UINT32_C(0x001C03BD), UINT32_C(0x001A48A6),
+          UINT32_C(0x00327209), UINT32_C(0x00331030)},
+         {UINT32_C(0x004BBAF6), UINT32_C(0x0014ED13), UINT32_C(0x00201E53),
+          UINT32_C(0x0019209B), UINT32_C(0x0018CD1E), UINT32_C(0x000DEF6D),
+          UINT32_C(0x00038012), UINT32_C(0x0045882E), UINT32_C(0x003736AB),
+          UINT32_C(0x001E713A), UINT32_C(0x002C4DFB), UINT32_C(0x003F0EEF),
+          UINT32_C(0x002CFF2D), UINT32_C(0x003250F5), UINT32_C(0x00078ABA),
+          UINT32_C(0x00678753), UINT32_C(0x00056E90), UINT32_C(0x00198BB5),
+          UINT32_C(0x003CE0AD), UINT32_C(0x007FA3C4), UINT32_C(0x00393AC2),
+          UINT32_C(0x00207404), UINT32_C(0x001C83C6)}},
+        {{UINT32_C(0x0006EF83), UINT32_C(0x0015F1B3), UINT32_C(0x0012AA0F),
+          UINT32_C(0x0014518C), UINT32_C(0x002839B7), UINT32_C(0x000D1D3A),
+          UINT32_C(0x0004C1BA), UINT32_C(0x005F75C2), UINT32_C(0x000D10B9),
+          UINT32_C(0x0013D894), UINT32_C(0x000DB952), UINT32_C(0x000B1478),
+          UINT32_C(0x000CB9AA), UINT32_C(0x0011AD2E), UINT32_C(0x002894C3),
+          UINT32_C(0x0011DD4E), UINT32_C(0x000303E2), UINT32_C(0x001EEC21),
+          UINT32_C(0x001A194B), UINT32_C(0x005970C2), UINT32_C(0x00271263),
+          UINT32_C(0x0037CD83), UINT32_C(0x0000E91B)},
+         {UINT32_C(0x0002F7FB), UINT32_C(0x0037D3D0), UINT32_C(0x00167E4D),
+          UINT32_C(0x002B340E), UINT32_C(0x0029810C), UINT32_C(0x000F2744),
+          UINT32_C(0x000500A9), UINT32_C(0x0077B334), UINT32_C(0x0033BBF3),
+          UINT32_C(0x0035F681), UINT32_C(0x002A089F), UINT32_C(0x0005BD0A),
+          UINT32_C(0x0034B55C), UINT32_C(0x001C94F6), UINT32_C(0x003E80FE),
+          UINT32_C(0x0012E6AD), UINT32_C(0x002E5578), UINT32_C(0x000FCD23),
+          UINT32_C(0x003D81BB), UINT32_C(0x000E9FC4), UINT32_C(0x002DCA2E),
+          UINT32_C(0x00163735), UINT32_C(0x00331F02)}},
+        {{UINT32_C(0x006924AC), UINT32_C(0x0035ADA0), UINT32_C(0x001100A8),
+          UINT32_C(0x00267DEA), UINT32_C(0x00271C3D), UINT32_C(0x0028011C),
+          UINT32_C(0x0033F146), UINT32_C(0x00380BD9), UINT32_C(0x001E9B99),
+          UINT32_C(0x0038A9B3), UINT32_C(0x0023055C), UINT32_C(0x00402C40),
+          UINT32_C(0x000E057B), UINT32_C(0x002F5047), UINT32_C(0x0030ABB8),
+          UINT32_C(0x00177283), UINT32_C(0x00151E5A), UINT32_C(0x0026A491),
+          UINT32_C(0x00346A9D), UINT32_C(0x006A2686), UINT32_C(0x0010AE09),
+          UINT32_C(0x0031479F), UINT32_C(0x003F9361)},
+         {UINT32_C(0x0022A729), UINT32_C(0x001A0AB6), UINT32_C(0x003A1834),
+          UINT32_C(0x004ADEAE), UINT32_C(0x0025C51B), UINT32_C(0x00380B76),
+          UINT32_C(0x00109BCA), UINT32_C(0x00326C1B), UINT32_C(0x002680D8),
+          UINT32_C(0x003F48F6), UINT32_C(0x000DCE07), UINT32_C(0x000D0CDC),
+          UINT32_C(0x0024513C), UINT32_C(0x001AAF42), UINT32_C(0x000F88A1),
+          UINT32_C(0x007680CC), UINT32_C(0x00032E52), UINT32_C(0x00028B7A),
+          UINT32_C(0x0028F444), UINT32_C(0x0013B5EA), UINT32_C(0x000BE2FE),
+          UINT32_C(0x00382F79), UINT32_C(0x0026D469)}},
+        {{UINT32_C(0x002EF810), UINT32_C(0x003D7CA9), UINT32_C(0x0012A7CA),
+          UINT32_C(0x0066ED19), UINT32_C(0x003B6782), UINT32_C(0x001A688B),
+          UINT32_C(0x00057236), UINT32_C(0x003AB1DD), UINT32_C(0x002DCA9F),
+          UINT32_C(0x00318D65), UINT32_C(0x002C3201), UINT32_C(0x002651F2),
+          UINT32_C(0x0002585A), UINT32_C(0x00110B33), UINT32_C(0x002FC48F),
+          UINT32_C(0x0027FF7F), UINT32_C(0x000C314B), UINT32_C(0x00306B0F),
+          UINT32_C(0x002BCD62), UINT32_C(0x000E5451), UINT32_C(0x00372C81),
+          UINT32_C(0x0008B694), UINT32_C(0x001640E1)},
+         {UINT32_C(0x005D5544), UINT32_C(0x00050CE4), UINT32_C(0x0017634F),
+          UINT32_C(0x0013A04A), UINT32_C(0x00106FDB), UINT32_C(0x001DFA5D),
+          UINT32_C(0x002B04EB), UINT32_C(0x0049FF7C), UINT32_C(0x0026E744),
+          UINT32_C(0x003D42A5), UINT32_C(0x002B0FD6), UINT32_C(0x0076FAC0),
+          UINT32_C(0x003ACF9E), UINT32_C(0x000B293A), UINT32_C(0x00120F10),
+          UINT32_C(0x0056D4D7), UINT32_C(0x003229A1), UINT32_C(0x001C7884),
+          UINT32_C(0x003CE57D), UINT32_C(0x003C86A7), UINT32_C(0x001588C1),
+          UINT32_C(0x0000D548), UINT32_C(0x0011BB4A)}},
+        {{UINT32_C(0x0036250B), UINT32_C(0x00274CE1), UINT32_C(0x003F5FE8),
+          UINT32_C(0x00112AFF), UINT32_C(0x0004D6DD), UINT32_C(0x0037A903),
+          UINT32_C(0x00211DC3), UINT32_C(0x0030C9D5), UINT32_C(0x003F5472),
+          UINT32_C(0x00198593), UINT32_C(0x000093E8), UINT32_C(0x001F8BFF),
+          UINT32_C(0x0000C9FF), UINT32_C(0x003D63D2), UINT32_C(0x00003D23),
+          UINT32_C(0x00153CAB), UINT32_C(0x003CA8E7), UINT32_C(0x000F7F9C),
+          UINT32_C(0x0017381E), UINT32_C(0x003B2121), UINT32_C(0x0006A36E),
+          UINT32_C(0x0020DF0D), UINT32_C(0x002DCC34)},
+         {UINT32_C(0x001DDE59), UINT32_C(0x00100B9E), UINT32_C(0x001387EC),
+          UINT32_C(0x001F5F47), UINT32_C(0x0037E7AF), UINT32_C(0x00193274),
+          UINT32_C(0x002F43DE), UINT32_C(0x0018E845), UINT32_C(0x002C7EEB),
+          UINT32_C(0x0031E7AD), UINT32_C(0x0003754D), UINT32_C(0x00107B6F),
+          UINT32_C(0x0006C7A7), UINT32_C(0x002EFA28), UINT32_C(0x00230679),
+          UINT32_C(0x003BA29A), UINT32_C(0x003EB83E), UINT32_C(0x000E3477),
+          UINT32_C(0x00312658), UINT32_C(0x006C10E6), UINT32_C(0x00372B67),
+          UINT32_C(0x000F6596), UINT32_C(0x00380597)}},
+        {{UINT32_C(0x00555AFE), UINT32_C(0x000C7849), UINT32_C(0x00042F9D),
+          UINT32_C(0x0007EDFA), UINT32_C(0x000C752B), UINT32_C(0x00137CA0),
+          UINT32_C(0x002A9FBE), UINT32_C(0x00565768), UINT32_C(0x00015078),
+          UINT32_C(0x0037865E), UINT32_C(0x0022585A), UINT32_C(0x005C7329),
+          UINT32_C(0x00230050), UINT32_C(0x002EAD2B), UINT32_C(0x001FFAB6),
+          UINT32_C(0x007012D8), UINT32_C(0x00118E18), UINT32_C(0x0031CBE8),
+          UINT32_C(0x0034B659), UINT32_C(0x000C9258), UINT32_C(0x00123325),
+          UINT32_C(0x001F45F2), UINT32_C(0x002B0B5E)},
+         {UINT32_C(0x0063E131), UINT32_C(0x002CEABB), UINT32_C(0x0003CF06),
+          UINT32_C(0x005C2801), UINT32_C(0x0014448A), UINT32_C(0x001F4570),
+          UINT32_C(0x001DE032), UINT32_C(0x007965E9), UINT32_C(0x001C2619),
+          UINT32_C(0x001A84C4), UINT32_C(0x003CA51E), UINT32_C(0x005F8927),
+          UINT32_C(0x001ED00E), UINT32_C(0x0018ABCE), UINT32_C(0x00282492),
+          UINT32_C(0x002A4526), UINT32_C(0x001D6653), UINT32_C(0x000D9615),
+          UINT32_C(0x0011E6F0), UINT32_C(0x00671D54), UINT32_C(0x00340830),
+          UINT32_C(0x001EF0D7), UINT32_C(0x002FBB7B)}},
+        {{UINT32_C(0x00348880), UINT32_C(0x0032B440), UINT32_C(0x003867FD),
+          UINT32_C(0x0041325C), UINT32_C(0x000CDBC2), UINT32_C(0x00065444),
+          UINT32_C(0x0028F475), UINT32_C(0x001DA4B4), UINT32_C(0x00109841),
+          UINT32_C(0x003B0866), UINT32_C(0x001E6A77), UINT32_C(0x005D249E),
+          UINT32_C(0x0039C59B), UINT32_C(0x003A6F13), UINT32_C(0x0038A7E4),
+          UINT32_C(0x005AE286), UINT32_C(0x002F9473), UINT32_C(0x00023261),
+          UINT32_C(0x003A0DB2), UINT32_C(0x001E7F01), UINT32_C(0x0036BF40),
+          UINT32_C(0x000E2AEC), UINT32_C(0x000C8DE1)},
+         {UINT32_C(0x0053791C), UINT32_C(0x0025ADBE), UINT32_C(0x001DF305),
+          UINT32_C(0x005CB9A7), UINT32_C(0x002A8658), UINT32_C(0x00101F47),
+          UINT32_C(0x00329A71), UINT32_C(0x006E7F78), UINT32_C(0x003CB686),
+          UINT32_C(0x002818C0), UINT32_C(0x0013DEA8), UINT32_C(0x0001AD5E),
+          UINT32_C(0x002F79EF), UINT32_C(0x002D66C0), UINT32_C(0x001DABD2),
+          UINT32_C(0x00602B71), UINT32_C(0x002903C7), UINT32_C(0x00385466),
+          UINT32_C(0x001CDB64), UINT32_C(0x0075CE9A), UINT32_C(0x002430BD),
+          UINT32_C(0x00176946), UINT32_C(0x000E2BC5)}},
+        {{UINT32_C(0x007C9263), UINT32_C(0x002D6DC4), UINT32_C(0x003D3ACD),
+          UINT32_C(0x003EBF76), UINT32_C(0x003E1EFB), UINT32_C(0x002E4716),
+          UINT32_C(0x000F0DD6), UINT32_C(0x003B4748), UINT32_C(0x00073A35),
+          UINT32_C(0x003EB153), UINT32_C(0x003DBAE5), UINT32_C(0x00091752),
+          UINT32_C(0x00152A69), UINT32_C(0x003A6B6D), UINT32_C(0x00190CE0),
+          UINT32_C(0x000C4F96), UINT32_C(0x002AEE5B), UINT32_C(0x002D6E94),
+          UINT32_C(0x00298B92), UINT32_C(0x002FC509), UINT32_C(0x000EA268),
+          UINT32_C(0x000701E4), UINT32_C(0x003CBD22)},
+         {UINT32_C(0x0068BB5F), UINT32_C(0x003E426A), UINT32_C(0x000ABA98),
+          UINT32_C(0x0063696E), UINT32_C(0x000CA3AE), UINT32_C(0x0030D3D9),
+          UINT32_C(0x000E9E5C), UINT32_C(0x0046B796), UINT32_C(0x00098D02),
+          UINT32_C(0x001C097A), UINT32_C(0x00322587), UINT32_C(0x004192A0),
+          UINT32_C(0x00117CF5), UINT32_C(0x0019B330), UINT32_C(0x001C614E),
+          UINT32_C(0x007DC495), UINT32_C(0x0010F1B4), UINT32_C(0x00303802),
+          UINT32_C(0x0039F211), UINT32_C(0x00330A82), UINT32_C(0x002DD8DA),
+          UINT32_C(0x002D36F2), UINT32_C(0x00017BC2)}},
+        {{UINT32_C(0x0049325F), UINT32_C(0x003DB33B), UINT32_C(0x0029EBF5),
+          UINT32_C(0x001C7997), UINT32_C(0x0033F6E9), UINT32_C(0x0030C1AD),
+          UINT32_C(0x00361DDF), UINT32_C(0x0034088E), UINT32_C(0x002A26DB),
+          UINT32_C(0x00050A8F), UINT32_C(0x002D5CB6), UINT32_C(0x002B3ACD),
+          UINT32_C(0x002F102C), UINT32_C(0x001D8F3E), UINT32_C(0x0036E06F),
+          UINT32_C(0x005F6B74), UINT32_C(0x0003DC5F), UINT32_C(0x003135D7),
+          UINT32_C(0x0038E39F), UINT32_C(0x007B5A1E), UINT32_C(0x000355D0),
+          UINT32_C(0x0016256E), UINT32_C(0x00091FAA)},
+         {UINT32_C(0x004EEA23), UINT32_C(0x002F50B1), UINT32_C(0x001CBFB6),
+          UINT32_C(0x0077CA4A), UINT32_C(0x002E434E), UINT32_C(0x003F8B6D),
+          UINT32_C(0x0033265D), UINT32_C(0x006DC04A), UINT32_C(0x0017B7FE),
+          UINT32_C(0x00156470), UINT32_C(0x001C0AB3), UINT32_C(0x002B82A3),
+          UINT32_C(0x0025ED15), UINT32_C(0x00345415), UINT32_C(0x00006AE3),
+          UINT32_C(0x006A18D6), UINT32_C(0x000651B4), UINT32_C(0x00324AF0),
+          UINT32_C(0x0019FD45), UINT32_C(0x00756504), UINT32_C(0x000D0EB8),
+          UINT32_C(0x001080DF), UINT32_C(0x00117135)}},
+        {{UINT32_C(0x0002201B), UINT32_C(0x002573D3), UINT32_C(0x002B796D),
+          UINT32_C(0x000F77C6), UINT32_C(0x001FA05B), UINT32_C(0x0004EA6D),
+          UINT32_C(0x003790D1), UINT32_C(0x004517CB), UINT32_C(0x003D97B6),
+          UINT32_C(0x0015B191), UINT32_C(0x00311E57), UINT32_C(0x0037CE58),
+          UINT32_C(0x00151409), UINT32_C(0x000D6BCF), UINT32_C(0x000C5CA5),
+          UINT32_C(0x0063737A), UINT32_C(0x00299B77), UINT32_C(0x000C37E1),
+          UINT32_C(0x000F27AA), UINT32_C(0x0057C9C2), UINT32_C(0x0030EDD0),
+          UINT32_C(0x003C12B9), UINT32_C(0x003AE308)},
+         {UINT32_C(0x00154AEB), UINT32_C(0x0008F6CC), UINT32_C(0x001668D8),
+          UINT32_C(0x004663DD), UINT32_C(0x000D8D93), UINT32_C(0x001CE5F0),
+          UINT32_C(0x0021BF83), UINT32_C(0x006BAE95), UINT32_C(0x002855B3),
+          UINT32_C(0x00335B55), UINT32_C(0x001408AA), UINT32_C(0x0004E3E5),
+          UINT32_C(0x0028E855), UINT32_C(0x0014E502), UINT32_C(0x0008E67D),
+          UINT32_C(0x006EDAAA), UINT32_C(0x001D9F0F), UINT32_C(0x0009DC94),
+          UINT32_C(0x003A18E2), UINT32_C(0x0007FA8E), UINT32_C(0x003E00BB),
+          UINT32_C(0x002A56FF), UINT32_C(0x00038554)}},
+        {{UINT32_C(0x007A0037), UINT32_C(0x003D491D), UINT32_C(0x003C391C),
+          UINT32_C(0x006294C3), UINT32_C(0x00303F10), UINT32_C(0x0026A8E1),
+          UINT32_C(0x0028D44A), UINT32_C(0x004CD241), UINT32_C(0x001AC12E),
+          UINT32_C(0x0032802C), UINT32_C(0x0017518C), UINT32_C(0x004B7FF7),
+          UINT32_C(0x00184785), UINT32_C(0x000C137F), UINT32_C(0x0020C5E6),
+          UINT32_C(0x002E88CB), UINT32_C(0x00109C0D), UINT32_C(0x003AF23C),
+          UINT32_C(0x0037A943), UINT32_C(0x00209953), UINT32_C(0x0015B4E0),
+          UINT32_C(0x00069845), UINT32_C(0x00093EA8)},
+         {UINT32_C(0x0004A991), UINT32_C(0x003F0551), UINT32_C(0x000D6C31),
+          UINT32_C(0x006F47D6), UINT32_C(0x00007E9B), UINT32_C(0x0027E38C),
+          UINT32_C(0x0033BB37), UINT32_C(0x0013496D), UINT32_C(0x001A3F2A),
+          UINT32_C(0x0014FCBA), UINT32_C(0x002722F6), UINT32_C(0x005676F1),
+          UINT32_C(0x00213E52), UINT32_C(0x003DF1C7), UINT32_C(0x00228B30),
+          UINT32_C(0x006856C0), UINT32_C(0x0022A73D), UINT32_C(0x0000B650),
+          UINT32_C(0x000EABEB), UINT32_C(0x00714726), UINT32_C(0x00128875),
+          UINT32_C(0x000EB41C), UINT32_C(0x0018CA4B)}},
+        {{UINT32_C(0x007BD9EC), UINT32_C(0x001763E0), UINT32_C(0x003A0DDC),
+          UINT32_C(0x00731C43), UINT32_C(0x00293989), UINT32_C(0x00347EFA),
+          UINT32_C(0x00115B21), UINT32_C(0x003B45B4), UINT32_C(0x000DA37F),
+          UINT32_C(0x002C87D5), UINT32_C(0x001C53C2), UINT32_C(0x007822F8),
+          UINT32_C(0x0008496E), UINT32_C(0x003D3CB7), UINT32_C(0x0008A383),
+          UINT32_C(0x00735A84), UINT32_C(0x000876BD), UINT32_C(0x00141FF0),
+          UINT32_C(0x003567B3), UINT32_C(0x00785465), UINT32_C(0x0030D346),
+          UINT32_C(0x0032C983), UINT32_C(0x0016542B)},
+         {UINT32_C(0x00175998), UINT32_C(0x00105962), UINT32_C(0x0027690D),
+          UINT32_C(0x0053CEA1), UINT32_C(0x0027FE4A), UINT32_C(0x000377CE),
+          UINT32_C(0x00029F12), UINT32_C(0x00791342), UINT32_C(0x001CD5D3),
+          UINT32_C(0x0024804D), UINT32_C(0x00318CBD), UINT32_C(0x000AC20C),
+          UINT32_C(0x002261A2), UINT32_C(0x00017C07), UINT32_C(0x0006AED6),
+          UINT32_C(0x0001AE5E), UINT32_C(0x00230EA0), UINT32_C(0x00390D91),
+          UINT32_C(0x0009C7FB), UINT32_C(0x002F102A), UINT32_C(0x00291350),
+          UINT32_C(0x003DA578), UINT32_C(0x0013E6DE)}},
+    },
+    {
+        {{UINT32_C(0x005C8DD6), UINT32_C(0x002A3738), UINT32_C(0x00365D8C),
+          UINT32_C(0x0063DB9C), UINT32_C(0x00113081), UINT32_C(0x002F34E7),
+          UINT32_C(0x003E646D), UINT32_C(0x0019B42D), UINT32_C(0x0006CC4B),
+          UINT32_C(0x0037967A), UINT32_C(0x0037B63A), UINT32_C(0x00346973),
+          UINT32_C(0x00175BB7), UINT32_C(0x001BAEA5), UINT32_C(0x002D90D6),
+          UINT32_C(0x00235EC5), UINT32_C(0x0022B7D3), UINT32_C(0x0006C0A7),
+          UINT32_C(0x000D9373), UINT32_C(0x003362B4), UINT32_C(0x00167362),
+          UINT32_C(0x00228FA8), UINT32_C(0x002DC7CC)},
+         {UINT32_C(0x00772F9B), UINT32_C(0x00383B30), UINT32_C(0x001FE31B),
+          UINT32_C(0x0039283D), UINT32_C(0x0030E99D), UINT32_C(0x0019398C),
+          UINT32_C(0x000E05D7), UINT32_C(0x001CB0B3), UINT32_C(0x0031A3E1),
+          UINT32_C(0x00335E57), UINT32_C(0x003D185F), UINT32_C(0x004F30A8),
+          UINT32_C(0x002CC2DA), UINT32_C(0x003CB4EE), UINT32_C(0x000D7F61),
+          UINT32_C(0x006B8EDA), UINT32_C(0x0020C99D), UINT32_C(0x00342D58),
+          UINT32_C(0x003BCF21), UINT32_C(0x00043EE8), UINT32_C(0x003937C7),
+          UINT32_C(0x002B2687), UINT32_C(0x003099B7)}},
+        {{UINT32_C(0x006F3863), UINT32_C(0x00216888), UINT32_C(0x00117F80),
+          UINT32_C(0x003AECB0), UINT32_C(0x003CB3C3), UINT32_C(0x0009172C),
+          UINT32_C(0x00351EE1), UINT32_C(0x000AD459), UINT32_C(0x00342449),
+          UINT32_C(0x000A95A1), UINT32_C(0x00362F69), UINT32_C(0x0044683C),
+          UINT32_C(0x0012100A), UINT32_C(0x000038C6), UINT32_C(0x0003DA8C),
+          UINT32_C(0x004920F7), UINT32_C(0x001F5E72), UINT32_C(0x003F8B01),
+          UINT32_C(0x001B2E28), UINT32_C(0x007828AE), UINT32_C(0x003B1AA3),
+          UINT32_C(0x002304AF), UINT32_C(0x002983E5)},
+         {UINT32_C(0x0059F3AD), UINT32_C(0x0005EBDB), UINT32_C(0x0038F715),
+          UINT32_C(0x007427DF), UINT32_C(0x0035EE7F), UINT32_C(0x001A4B0D),
+          UINT32_C(0x0014E6C7), UINT32_C(0x00699A32), UINT32_C(0x00015674),
+          UINT32_C(0x003DC67D), UINT32_C(0x0001CDA8), UINT32_C(0x003C45B2),
+          UINT32_C(0x001BE065), UINT32_C(0x000C2772), UINT32_C(0x002184E2),
+          UINT32_C(0x005C0469), UINT32_C(0x0024F0B3), UINT32_C(0x002374A4),
+          UINT32_C(0x0031DE85), UINT32_C(0x006B53DE), UINT32_C(0x000F651C),
+          UINT32_C(0x003071EB), UINT32_C(0x0029A433)}},
+        {{UINT32_C(0x0030A82F), UINT32_C(0x000EF962), UINT32_C(0x00227761),
+          UINT32_C(0x006D7F9E), UINT32_C(0x000081BE), UINT32_C(0x000FEE69),
+          UINT32_C(0x000752C8), UINT32_C(0x00748DEE), UINT32_C(0x00387116),
+          UINT32_C(0x00287C41), UINT32_C(0x00027434), UINT32_C(0x00664A85),
+          UINT32_C(0x001D3DE1), UINT32_C(0x003D565F), UINT32_C(0x003B7ED9),
+          UINT32_C(0x0065C3BB), UINT32_C(0x0023180A), UINT32_C(0x000E41D1),
+          UINT32_C(0x001016CD), UINT32_C(0x0065F0C5), UINT32_C(0x0017A834),
+          UINT32_C(0x0000A4AB), UINT32_C(0x001FC477)},
+         {UINT32_C(0x004855D4), UINT32_C(0x001D815B), UINT32_C(0x00366682),
+          UINT32_C(0x004FEE42), UINT32_C(0x001DD612), UINT32_C(0x0025BA93),
+          UINT32_C(0x000E1804), UINT32_C(0x0007B46D), UINT32_C(0x00079E19),
+          UINT32_C(0x00263779), UINT32_C(0x001FDFA2), UINT32_C(0x0078741F),
+          UINT32_C(0x0037B69E), UINT32_C(0x0018E0A2), UINT32_C(0x0037F5D9),
+          UINT32_C(0x000C71E4), UINT32_C(0x001F6109), UINT32_C(0x0002A965),
+          UINT32_C(0x00358A62), UINT32_C(0x00790CBB), UINT32_C(0x001FC664),
+          UINT32_C(0x00027F06), UINT32_C(0x0026A40A)}},
+        {{UINT32_C(0x0060807F), UINT32_C(0x003DF3AE), UINT32_C(0x000BE26F),
+          UINT32_C(0x005110E1), UINT32_C(0x003B1A48), UINT32_C(0x00326EEB),
+          UINT32_C(0x001E337A), UINT32_C(0x0030A675), UINT32_C(0x003F5F8B),
+          UINT32_C(0x000CD0BA), UINT32_C(0x002297FB), UINT32_C(0x000379BD),
+          UINT32_C(0x0015C430), UINT32_C(0x003FE28A), UINT32_C(0x00280CE2),
+          UINT32_C(0x0010A09A), UINT32_C(0x000BB43D), UINT32_C(0x003BF3E8),
+          UINT32_C(0x000D2A25), UINT32_C(0x00553C3D), UINT32_C(0x003A4814),
+          UINT32_C(0x0023D406), UINT32_C(0x00130434)},
+         {UINT32_C(0x00012725), UINT32_C(0x00034675), UINT32_C(0x0030625E),
+          UINT32_C(0x0068204C), UINT32_C(0x00007FF0), UINT32_C(0x000353D6),
+          UINT32_C(0x00374D41), UINT32_C(0x002B0AEC), UINT32_C(0x002D4C90),
+          UINT32_C(0x0023B516), UINT32_C(0x003D5FE1), UINT32_C(0x001BF1AF),
+          UINT32_C(0x0026188F), UINT32_C(0x000277E9), UINT32_C(0x0009EDC0),
+          UINT32_C(0x00419F60), UINT32_C(0x003B901E), UINT32_C(0x00036C9A),
+          UINT32_C(0x001C2868), UINT32_C(0x0039BD67), UINT32_C(0x001E1FAC),
+          UINT32_C(0x0018E5C8), UINT32_C(0x000D5B85)}},
+        {{UINT32_C(0x000B4E46), UINT32_C(0x001C91BB), UINT32_C(0x000E149E),
+          UINT32_C(0x000CF26B), UINT32_C(0x00239A61), UINT32_C(0x001413C1),
+          UINT32_C(0x0039D982), UINT32_C(0x0031DC48), UINT32_C(0x000CB5E3),
+          UINT32_C(0x00177633), UINT32_C(0x003594BF), UINT32_C(0x00220B88),
+          UINT32_C(0x003EE0E1), UINT32_C(0x0001C29C), UINT32_C(0x00332288),
+          UINT32_C(0x001AC903), UINT32_C(0x002EA788), UINT32_C(0x002CF324),
+          UINT32_C(0x000A068A), UINT32_C(0x00192C4F), UINT32_C(0x003620B1),
+          UINT32_C(0x003A15B7), UINT32_C(0x001846FF)},
+         {UINT32_C(0x0037EA0F), UINT32_C(0x000E365F), UINT32_C(0x000AB7DB),
+          UINT32_C(0x0073FC69), UINT32_C(0x0030E576), UINT32_C(0x001F51C5),
+          UINT32_C(0x003E4C0F), UINT32_C(0x007734A2), UINT32_C(0x000B6D61),
+          UINT32_C(0x0007F20A), UINT32_C(0x0016676C), UINT32_C(0x000742AB),
+          UINT32_C(0x0024CACD), UINT32_C(0x00263F7C), UINT32_C(0x001FBB60),
+          UINT32_C(0x005126DE), UINT32_C(0x001B0843), UINT32_C(0x0027E640),
+          UINT32_C(0x002B6416), UINT32_C(0x000E461C), UINT32_C(0x0035712F),
+          UINT32_C(0x00021FD4), UINT32_C(0x003DFB53)}},
+        {{UINT32_C(0x0078AFC0), UINT32_C(0x00344524), UINT32_C(0x00032570),
+          UINT32_C(0x005274D4), UINT32_C(0x001BE8C7), UINT32_C(0x0000F7FC),
+          UINT32_C(0x003A3CD2), UINT32_C(0x00224B02), UINT32_C(0x003CB849),
+          UINT32_C(0x00318F23), UINT32_C(0x000B31C5), UINT32_C(0x00172883),
+          UINT32_C(0x000E290F), UINT32_C(0x00058FCA), UINT32_C(0x0029D5B9),
+          UINT32_C(0x000EE887), UINT32_C(0x0008C23A), UINT32_C(0x000B4641),
+          UINT32_C(0x0019F308), UINT32_C(0x00368406), UINT32_C(0x003235C5),
+          UINT32_C(0x000F6048), UINT32_C(0x00334FC7)},
+         {UINT32_C(0x00721229), UINT32_C(0x0028E47C), UINT32_C(0x0006F2DC),
+          UINT32_C(0x006E7CFF), UINT32_C(0x00184C72), UINT32_C(0x003AF41E),
+          UINT32_C(0x000EC9A0), UINT32_C(0x0008E682), UINT32_C(0x00294028),
+          UINT32_C(0x0010CBE0), UINT32_C(0x00325E8D), UINT32_C(0x00229C6E),
+          UINT32_C(0x0007AE13), UINT32_C(0x0012B92A), UINT32_C(0x001A6F8B),
+          UINT32_C(0x00445E9E), UINT32_C(0x0038E62B), UINT32_C(0x000CCE4E),
+          UINT32_C(0x0016D227), UINT32_C(0x005AEC2B), UINT32_C(0x002CB9C3),
+          UINT32_C(0x000E9EE2), UINT32_C(0x00151064)}},
+        {{UINT32_C(0x00219F11), UINT32_C(0x000EEE99), UINT32_C(0x000F0E81),
+          UINT32_C(0x0014202D), UINT32_C(0x0017D47D), UINT32_C(0x0013E996),
+          UINT32_C(0x001FC4D3), UINT32_C(0x007153BF), UINT32_C(0x003B0646),
+          UINT32_C(0x003CCDA8), UINT32_C(0x002DB80C), UINT32_C(0x005A6567),
+          UINT32_C(0x00301938), UINT32_C(0x000B2A1D), UINT32_C(0x002C1CD4),
+          UINT32_C(0x0036D153), UINT32_C(0x00002DE7), UINT32_C(0x001C0718),
+          UINT32_C(0x001398D4), UINT32_C(0x001C18B0), UINT32_C(0x000531C6),
+          UINT32_C(0x00270891), UINT32_C(0x001D12C0)},
+         {UINT32_C(0x006BF552), UINT32_C(0x00379C8C), UINT32_C(0x00124703),
+          UINT32_C(0x001685D6), UINT32_C(0x000B4D76), UINT32_C(0x00354333),
+          UINT32_C(0x003FD16E), UINT32_C(0x0078F567), UINT32_C(0x00228610),
+          UINT32_C(0x002410D3), UINT32_C(0x0037EE2A), UINT32_C(0x002FF2A5),
+          UINT32_C(0x001EA65B), UINT32_C(0x003FE56C), UINT32_C(0x00086D94),
+          UINT32_C(0x0016F8D9), UINT32_C(0x00253D0C), UINT32_C(0x00110729),
+          UINT32_C(0x00251056), UINT32_C(0x00771AF9), UINT32_C(0x00330BB2),
+          UINT32_C(0x0030D723), UINT32_C(0x0010B52C)}},
+        {{UINT32_C(0x0059EEDD), UINT32_C(0x00224DDB), UINT32_C(0x00224843),
+          UINT32_C(0x00062307), UINT32_C(0x001C385D), UINT32_C(0x00214646),
+          UINT32_C(0x002E9EF9), UINT32_C(0x00069FC2), UINT32_C(0x0034E86C),
+          UINT32_C(0x002DE7F8), UINT32_C(0x0011547F), UINT32_C(0x00592112),
+          UINT32_C(0x003BA86D), UINT32_C(0x003E5946), UINT32_C(0x001999D6),
+          UINT32_C(0x0019972E), UINT32_C(0x000BEC90), UINT32_C(0x001A2575),
+          UINT32_C(0x000C3FB3), UINT32_C(0x0016B2B8), UINT32_C(0x000F91C3),
+          UINT32_C(0x003BE22B), UINT32_C(0x00259437)},
+         {UINT32_C(0x00511BD4), UINT32_C(0x00114679), UINT32_C(0x003320B0),
+          UINT32_C(0x006912DE), UINT32_C(0x00209607), UINT32_C(0x0010EA82),
+          UINT32_C(0x001756FD), UINT32_C(0x0067C9A7), UINT32_C(0x00386F00),
+          UINT32_C(0x0019C5A2), UINT32_C(0x000C1F54), UINT32_C(0x0060CBC7),
+          UINT32_C(0x001DA7B9), UINT32_C(0x00063F18), UINT32_C(0x003D8253),
+          UINT32_C(0x006757E9), UINT32_C(0x001F28E4), UINT32_C(0x003F4512),
+          UINT32_C(0x0015BA1B), UINT32_C(0x00296BBE), UINT32_C(0x001E7448),
+          UINT32_C(0x0027173C), UINT32_C(0x00385C41)}},
+        {{UINT32_C(0x001A30EE), UINT32_C(0x003F8DAD), UINT32_C(0x000A157B),
+          UINT32_C(0x002E76B6), UINT32_C(0x0003B33B), UINT32_C(0x00067B4F),
+          UINT32_C(0x00338572), UINT32_C(0x004A7886), UINT32_C(0x000AF814),
+          UINT32_C(0x00231F5B), UINT32_C(0x003A7866), UINT32_C(0x001BC9D8),
+          UINT32_C(0x002EC718), UINT32_C(0x000F7210), UINT32_C(0x0038A200),
+          UINT32_C(0x0024BD8B), UINT32_C(0x0025403D), UINT32_C(0x002338A0),
+          UINT32_C(0x00197FC8), UINT32_C(0x007EFFC4), UINT32_C(0x002C8ED2),
+          UINT32_C(0x002F359C), UINT32_C(0x0007199C)},
+         {UINT32_C(0x003AA840), UINT32_C(0x001FEBA5), UINT32_C(0x00204035),
+          UINT32_C(0x001437DE), UINT32_C(0x0030877E), UINT32_C(0x001DC9D8),
+          UINT32_C(0x0022F529), UINT32_C(0x004AA308), UINT32_C(0x0008CF16),
+          UINT32_C(0x00227F26), UINT32_C(0x0030EA93), UINT32_C(0x00444D20),
+          UINT32_C(0x000FC049), UINT32_C(0x0025FECC), UINT32_C(0x00366A3B),
+          UINT32_C(0x0075F2C6), UINT32_C(0x002D58DE), UINT32_C(0x00037A47),
+          UINT32_C(0x001143E7), UINT32_C(0x0066F889), UINT32_C(0x001AA585),
+          UINT32_C(0x0008637C), UINT32_C(0x00285D24)}},
+        {{UINT32_C(0x001684FD), UINT32_C(0x0026202E), UINT32_C(0x00229298),
+          UINT32_C(0x0038BA17), UINT32_C(0x001143E4), UINT32_C(0x0004C67B),
+          UINT32_C(0x0009A1D3), UINT32_C(0x00359003), UINT32_C(0x0000CF20),
+          UINT32_C(0x003C8E67), UINT32_C(0x0025DDF6), UINT32_C(0x00167020),
+          UINT32_C(0x000C3320), UINT32_C(0x0032FD4F), UINT32_C(0x001D4DDD),
+          UINT32_C(0x002ABE07), UINT32_C(0x0015D694), UINT32_C(0x002025E4),
+          UINT32_C(0x0024B490), UINT32_C(0x00237C45), UINT32_C(0x000F2232),
+          UINT32_C(0x00172623), UINT32_C(0x003F2420)},
+         {UINT32_C(0x0031C43A), UINT32_C(0x002504F9), UINT32_C(0x002A5346),
+          UINT32_C(0x00085709), UINT32_C(0x00181464), UINT32_C(0x0016AE98),
+          UINT32_C(0x0005937D), UINT32_C(0x007E227E), UINT32_C(0x0021E344),
+          UINT32_C(0x002D37F2), UINT32_C(0x003BABA8), UINT32_C(0x0076BA1E),
+          UINT32_C(0x001E9354), UINT32_C(0x001FB1CD), UINT32_C(0x002FA365),
+          UINT32_C(0x0037F2A0), UINT32_C(0x00150FF4), UINT32_C(0x0001D5DC),
+          UINT32_C(0x003D537E), UINT32_C(0x003F0F28), UINT32_C(0x002C7BEA),
+          UINT32_C(0x003C8613), UINT32_C(0x0032181B)}},
+        {{UINT32_C(0x004FDBFF), UINT32_C(0x00279110), UINT32_C(0x0014218E),
+          UINT32_C(0x006FF570), UINT32_C(0x000BEE6D), UINT32_C(0x001AC4BF),
+          UINT32_C(0x00168284), UINT32_C(0x00204FD9), UINT32_C(0x0009E49A),
+          UINT32_C(0x00375F6C), UINT32_C(0x00188591), UINT32_C(0x00711953),
+          UINT32_C(0x003F4432), UINT32_C(0x00196529), UINT32_C(0x00394538),
+          UINT32_C(0x0018F2F6), UINT32_C(0x002CA7B0), UINT32_C(0x00013757),
+          UINT32_C(0x001F2763), UINT32_C(0x001F675A), UINT32_C(0x002051A1),
+          UINT32_C(0x003E27EB), UINT32_C(0x001862D5)},
+         {UINT32_C(0x00762CA4), UINT32_C(0x0008C476), UINT32_C(0x00324E43),
+          UINT32_C(0x002A5BED), UINT32_C(0x002FCB16), UINT32_C(0x003A2EC2),
+          UINT32_C(0x000DAC89), UINT32_C(0x001B1EA8), UINT32_C(0x00270A0C),
+          UINT32_C(0x000F92C4), UINT32_C(0x00137059), UINT32_C(0x0002C67B),
+          UINT32_C(0x001DE35A), UINT32_C(0x0003AEB0), UINT32_C(0x0032086D),
+          UINT32_C(0x00622727), UINT32_C(0x003663F6), UINT32_C(0x00143F44),
+          UINT32_C(0x0007E1A6), UINT32_C(0x0052B971), UINT32_C(0x002A4520),
+          UINT32_C(0x003B35C1), UINT32_C(0x000E5F13)}},
+        {{UINT32_C(0x00377631), UINT32_C(0x00160066), UINT32_C(0x003F8625),
+          UINT32_C(0x0008A975), UINT32_C(0x0011C7DC), UINT32_C(0x002AC5AE),
+          UINT32_C(0x001D6AD4), UINT32_C(0x00457D6D), UINT32_C(0x000D9162),
+          UINT32_C(0x0029BE2C), UINT32_C(0x0023E49C), UINT32_C(0x003CE982),
+          UINT32_C(0x0029BD3F), UINT32_C(0x002FA98A), UINT32_C(0x000AAF8F),
+          UINT32_C(0x0051BA4C), UINT32_C(0x000AAA3A), UINT32_C(0x00035AC4),
+          UINT32_C(0x00326C9D), UINT32_C(0x0001BBF9), UINT32_C(0x00259EE8),
+          UINT32_C(0x00363291), UINT32_C(0x00354D7C)},
+         {UINT32_C(0x0004BACF), UINT32_C(0x00021298), UINT32_C(0x000BD9F4),
+          UINT32_C(0x0043D1FD), UINT32_C(0x00144099), UINT32_C(0x0031DC66),
+          UINT32_C(0x0038FF58), UINT32_C(0x001EDFDE), UINT32_C(0x000CDE37),
+          UINT32_C(0x0011D4F2), UINT32_C(0x001830F3), UINT32_C(0x0066B396),
+          UINT32_C(0x002B5740), UINT32_C(0x0000FE1B), UINT32_C(0x0018CA75),
+          UINT32_C(0x000543A1), UINT32_C(0x0001F8BB), UINT32_C(0x003AD189),
+          UINT32_C(0x002324CF), UINT32_C(0x004D2C11), UINT32_C(0x002F4CEB),
+          UINT32_C(0x00158CE7), UINT32_C(0x000CC8E6)}},
+        {{UINT32_C(0x0001F545), UINT32_C(0x000BAFC9), UINT32_C(0x00256984),
+          UINT32_C(0x005BA1BD), UINT32_C(0x00186CC4), UINT32_C(0x00354258),
+          UINT32_C(0x002C995A), UINT32_C(0x00634432), UINT32_C(0x001C8DFD),
+          UINT32_C(0x0006A9F8), UINT32_C(0x003413FA), UINT32_C(0x00407583),
+          UINT32_C(0x00364359), UINT32_C(0x00360343), UINT32_C(0x0004E81D),
+          UINT32_C(0x0023B9E2), UINT32_C(0x00044AAC), UINT32_C(0x003E4F02),
+          UINT32_C(0x000253E4), UINT32_C(0x004E1D95), UINT32_C(0x0008B230),
+          UINT32_C(0x00045AB3), UINT32_C(0x00036815)},
+         {UINT32_C(0x003912F5), UINT32_C(0x0038574B), UINT32_C(0x0004AD86),
+          UINT32_C(0x00463316), UINT32_C(0x000037D8), UINT32_C(0x001023FC),
+          UINT32_C(0x00031DE0), UINT32_C(0x007EC789), UINT32_C(0x000081EF),
+          UINT32_C(0x002ABA70), UINT32_C(0x00355BFB), UINT32_C(0x00306CB6),
+          UINT32_C(0x00146C52), UINT32_C(0x000D5AD0), UINT32_C(0x003681F1),
+          UINT32_C(0x0063A37A), UINT32_C(0x001B646E), UINT32_C(0x000A931F),
+          UINT32_C(0x0023DD86), UINT32_C(0x006F9AFA), UINT32_C(0x0008A0BB),
+          UINT32_C(0x0011BD6F), UINT32_C(0x00169519)}},
+        {{UINT32_C(0x00183D98), UINT32_C(0x003953F2), UINT32_C(0x00003F5C),
+          UINT32_C(0x001D61CC), UINT32_C(0x0029E894), UINT32_C(0x0008FD62),
+          UINT32_C(0x00124F02), UINT32_C(0x005D5510), UINT32_C(0x002CBB48),
+          UINT32_C(0x0027C8EC), UINT32_C(0x002DA8A4), UINT32_C(0x00506092),
+          UINT32_C(0x000D2ECA), UINT32_C(0x00080CB3), UINT32_C(0x00370B1F),
+          UINT32_C(0x00264230), UINT32_C(0x00254B5D), UINT32_C(0x0030D35B),
+          UINT32_C(0x00237E95), UINT32_C(0x003D3219), UINT32_C(0x000F1EE0),
+          UINT32_C(0x0016F356), UINT32_C(0x000433B4)},
+         {UINT32_C(0x002EDDFD), UINT32_C(0x0028836F), UINT32_C(0x0004B480),
+          UINT32_C(0x00268786), UINT32_C(0x002F536C), UINT32_C(0x002AF788),
+          UINT32_C(0x003B32BC), UINT32_C(0x003B16D5), UINT32_C(0x002C983E),
+          UINT32_C(0x00009C26), UINT32_C(0x00267D08), UINT32_C(0x0020E60C),
+          UINT32_C(0x000ECF45), UINT32_C(0x00278142), UINT32_C(0x001746F3),
+          UINT32_C(0x0054A790), UINT32_C(0x0035C6AA), UINT32_C(0x00272DAC),
+          UINT32_C(0x002BA52D), UINT32_C(0x0038B5A4), UINT32_C(0x003725B3),
+          UINT32_C(0x003565DC), UINT32_C(0x001FF559)}},
+        {{UINT32_C(0x0065D9D6), UINT32_C(0x00344FC2), UINT32_C(0x0000870B),
+          UINT32_C(0x00699985), UINT32_C(0x002A5C08), UINT32_C(0x002D5249),
+          UINT32_C(0x002CB5FE), UINT32_C(0x007C94CD), UINT32_C(0x001208B8),
+          UINT32_C(0x00034BB9), UINT32_C(0x000F21F9), UINT32_C(0x0010B487),
+          UINT32_C(0x001D773A), UINT32_C(0x0037E3B0), UINT32_C(0x002176D0),
+          UINT32_C(0x0052166E), UINT32_C(0x002F70E0), UINT32_C(0x001BED82),
+          UINT32_C(0x00286120), UINT32_C(0x007331ED), UINT32_C(0x001507E2),
+          UINT32_C(0x003FD862), UINT32_C(0x000A5BC5)},
+         {UINT32_C(0x00763783), UINT32_C(0x0011EC7B), UINT32_C(0x0006ECDB),
+          UINT32_C(0x00596D37), UINT32_C(0x002D6D59), UINT32_C(0x001FB1F1),
+          UINT32_C(0x0010DD1F), UINT32_C(0x003F277E), UINT32_C(0x00091B7A),
+          UINT32_C(0x003FFE47), UINT32_C(0x0003D49D), UINT32_C(0x0071AF1E),
+          UINT32_C(0x00173FA2), UINT32_C(0x001B76EC), UINT32_C(0x001D5248),
+          UINT32_C(0x0059BE83), UINT32_C(0x003F4D6A), UINT32_C(0x001CE0D3),
+          UINT32_C(0x003FDBAF), UINT32_C(0x00554CAA), UINT32_C(0x002FAF76),
+          UINT32_C(0x0004DD7D), UINT32_C(0x0025BFE6)}},
+        {{UINT32_C(0x0078E507), UINT32_C(0x003B0516), UINT32_C(0x00239513),
+          UINT32_C(0x0026B945), UINT32_C(0x002F7EA4), UINT32_C(0x00258DAA),
+          UINT32_C(0x002CA54E), UINT32_C(0x0038F70D), UINT32_C(0x0000EA33),
+          UINT32_C(0x002CC019), UINT32_C(0x00322C57), UINT32_C(0x007E5F7D),
+          UINT32_C(0x001BD5E1), UINT32_C(0x002300D9), UINT32_C(0x000A82FB),
+          UINT32_C(0x007B959B), UINT32_C(0x00200D1E), UINT32_C(0x001F252C),
+          UINT32_C(0x0021984A), UINT32_C(0x0015C036), UINT32_C(0x0016A72F),
+          UINT32_C(0x00003E13), UINT32_C(0x0015AA73)},
+         {UINT32_C(0x007C9D6A), UINT32_C(0x003E1441), UINT32_C(0x0011A00F),
+          UINT32_C(0x0079A490), UINT32_C(0x0012D007), UINT32_C(0x003C8625),
+          UINT32_C(0x001E5649), UINT32_C(0x004491D7), UINT32_C(0x00076136),
+          UINT32_C(0x003E7528), UINT32_C(0x00353C0B), UINT32_C(0x0008E4BD),
+          UINT32_C(0x003422E8), UINT32_C(0x00338BFD), UINT32_C(0x0027F2D6),
+          UINT32_C(0x00772362), UINT32_C(0x00359B33), UINT32_C(0x003A501D),
+          UINT32_C(0x00154AFF), UINT32_C(0x0049526D), UINT32_C(0x002761DE),
+          UINT32_C(0x00309735), UINT32_C(0x00060B95)}},
+    },
+    {
+        {{UINT32_C(0x00523B9F), UINT32_C(0x001A6BE6), UINT32_C(0x00036EDD),
+          UINT32_C(0x0076AA2F), UINT32_C(0x003FD0E2), UINT32_C(0x00385A57),
+          UINT32_C(0x00098667), UINT32_C(0x0013DD67), UINT32_C(0x0012B434),
+          UINT32_C(0x00000973), UINT32_C(0x003CF995), UINT32_C(0x0045926B),
+          UINT32_C(0x0002CF3D), UINT32_C(0x001B1027), UINT32_C(0x003876F6),
+          UINT32_C(0x0039998A), UINT32_C(0x00398D3B), UINT32_C(0x000598D3),
+          UINT32_C(0x0009E59F), UINT32_C(0x003DA91C), UINT32_C(0x0027F8FE),
+          UINT32_C(0x001992EF), UINT32_C(0x001BD1E4)},
+         {UINT32_C(0x005E09D8), UINT32_C(0x0027291C), UINT32_C(0x00042E2C),
+          UINT32_C(0x005186A7), UINT32_C(0x00151430), UINT32_C(0x002A705A),
+          UINT32_C(0x00312685), UINT32_C(0x001C5CD7), UINT32_C(0x002BC485),
+          UINT32_C(0x0006B1B4), UINT32_C(0x003ED133), UINT32_C(0x006BA1BB),
+          UINT32_C(0x0012B561), UINT32_C(0x001C6829), UINT32_C(0x0038F88D),
+          UINT32_C(0x000FAFDF), UINT32_C(0x003A8F9C), UINT32_C(0x003B8278),
+          UINT32_C(0x00075330), UINT32_C(0x00723D70), UINT32_C(0x0013971C),
+          UINT32_C(0x0002A3A0), UINT32_C(0x0032D46E)}},
+        {{UINT32_C(0x004A84E3), UINT32_C(0x000F993B), UINT32_C(0x0038E50F),
+          UINT32_C(0x006F9D6C), UINT32_C(0x00222DDA), UINT32_C(0x00201C17),
+          UINT32_C(0x003D690B), UINT32_C(0x00685E56), UINT32_C(0x003AE821),
+          UINT32_C(0x00160832), UINT32_C(0x00267374), UINT32_C(0x0014A440),
+          UINT32_C(0x00286466), UINT32_C(0x0037B81C), UINT32_C(0x0034FB56),
+          UINT32_C(0x000A60A9), UINT32_C(0x00361F71), UINT32_C(0x002768E5),
+          UINT32_C(0x002D9ADF), UINT32_C(0x00351ED3), UINT32_C(0x0026B155),
+          UINT32_C(0x002ACF8B), UINT32_C(0x000CAB49)},
+         {UINT32_C(0x002E7818), UINT32_C(0x00050DDB), UINT32_C(0x002F8281),
+          UINT32_C(0x000426DB), UINT32_C(0x003BF6C0), UINT32_C(0x002F18B3),
+          UINT32_C(0x000FDF15), UINT32_C(0x004326C8), UINT32_C(0x0034A233),
+          UINT32_C(0x003F8BB5), UINT32_C(0x00252744), UINT32_C(0x005D0622),
+          UINT32_C(0x000600E0), UINT32_C(0x000C538E), UINT32_C(0x002B9B96),
+          UINT32_C(0x00240977), UINT32_C(0x00266E45), UINT32_C(0x000ED85F),
+          UINT32_C(0x0016D56E), UINT32_C(0x005934A8), UINT32_C(0x000DE008),
+          UINT32_C(0x000B7A70), UINT32_C(0x00333A6E)}},
+        {{UINT32_C(0x0062AA91), UINT32_C(0x0004AD0D), UINT32_C(0x00290514),
+          UINT32_C(0x0035EF4E), UINT32_C(0x003F0059), UINT32_C(0x0036F603),
+          UINT32_C(0x001E8A95), UINT32_C(0x004E5E21), UINT32_C(0x003AAAD3),
+          UINT32_C(0x001864B4), UINT32_C(0x00314695), UINT32_C(0x0061F315),
+          UINT32_C(0x003E5320), UINT32_C(0x000A6A70), UINT32_C(0x00312DDA),
+          UINT32_C(0x000CA432), UINT32_C(0x00089AF4), UINT32_C(0x0027EE81),
+          UINT32_C(0x003314B2), UINT32_C(0x00569617), UINT32_C(0x00369C83),
+          UINT32_C(0x00333762), UINT32_C(0x0004C25B)},
+         {UINT32_C(0x0029163B), UINT32_C(0x0010F6C4), UINT32_C(0x003CFA87),
+          UINT32_C(0x00413607), UINT32_C(0x0004D631), UINT32_C(0x0029CC9A),
+          UINT32_C(0x0009B191), UINT32_C(0x0012E650), UINT32_C(0x0007576E),
+          UINT32_C(0x002FAEF9), UINT32_C(0x001E71A7), UINT32_C(0x006D93A4),
+          UINT32_C(0x00110BDB), UINT32_C(0x003C8A96), UINT32_C(0x000AB70A),
+          UINT32_C(0x00161FF3), UINT32_C(0x00309EAC), UINT32_C(0x000887FB),
+          UINT32_C(0x00199FC7), UINT32_C(0x007B0C04), UINT32_C(0x00030951),
+          UINT32_C(0x00138445), UINT32_C(0x002C19E3)}},
+        {{UINT32_C(0x001D9920), UINT32_C(0x0035A7F8), UINT32_C(0x0026F037),
+          UINT32_C(0x00352EE6), UINT32_C(0x0036FF52), UINT32_C(0x000DA4B7),
+          UINT32_C(0x000D5800), UINT32_C(0x0012D75B), UINT32_C(0x001E4378),
+          UINT32_C(0x0006FB97), UINT32_C(0x003489D8), UINT32_C(0x007291B9),
+          UINT32_C(0x002611FF), UINT32_C(0x0029220F), UINT32_C(0x003180AF),
+          UINT32_C(0x003B64F1), UINT32_C(0x0029D493), UINT32_C(0x0029061E),
+          UINT32_C(0x00287F20), UINT32_C(0x000A8410), UINT32_C(0x003B766F),
+          UINT32_C(0x00194E12), UINT32_C(0x001C9672)},
+         {UINT32_C(0x002BEBD9), UINT32_C(0x0034C959), UINT32_C(0x00372BCE),
+          UINT32_C(0x0077E3FE), UINT32_C(0x002A76EF), UINT32_C(0x003B1215),
+          UINT32_C(0x0017D01E), UINT32_C(0x001F6D6E), UINT32_C(0x001AF581),
+          UINT32_C(0x002135B9), UINT32_C(0x0023AE9B), UINT32_C(0x00643EE2),
+          UINT32_C(0x00309B0B), UINT32_C(0x00149E24), UINT32_C(0x002B829C),
+          UINT32_C(0x0014D460), UINT32_C(0x0035AAB8), UINT32_C(0x001D64A4),
+          UINT32_C(0x003C4123), UINT32_C(0x005FD0BE), UINT32_C(0x002680CE),
+          UINT32_C(0x0032FC91), UINT32_C(0x000D5EFA)}},
+        {{UINT32_C(0x0042107B), UINT32_C(0x002D79CB), UINT32_C(0x000E25C7),
+          UINT32_C(0x0015D835), UINT32_C(0x0025EACC), UINT32_C(0x0038E784),
+          UINT32_C(0x00133C3A), UINT32_C(0x0009780F), UINT32_C(0x0007A2B3),
+          UINT32_C(0x003A0803), UINT32_C(0x00381D55), UINT32_C(0x00282268),
+          UINT32_C(0x0020B921), UINT32_C(0x0037F7AC), UINT32_C(0x0013B76D),
+          UINT32_C(0x003CE92F), UINT32_C(0x0025ECD4), UINT32_C(0x0030B106),
+          UINT32_C(0x001D9F81), UINT32_C(0x006798C4), UINT32_C(0x000CF158),
+          UINT32_C(0x003CAF9C), UINT32_C(0x003824DB)},
+         {UINT32_C(0x007F6848), UINT32_C(0x0034A534), UINT32_C(0x0001B343),
+          UINT32_C(0x006BF10C), UINT32_C(0x0008FCF1), UINT32_C(0x000025F0),
+          UINT32_C(0x00105280), UINT32_C(0x0058FEE9), UINT32_C(0x0006B688),
+          UINT32_C(0x001BEC79), UINT32_C(0x003D6BC7), UINT32_C(0x001DBC3E),
+          UINT32_C(0x00298412), UINT32_C(0x002CAF5F), UINT32_C(0x003C0536),
+          UINT32_C(0x006D0ED6), UINT32_C(0x002790F7), UINT32_C(0x0016B380),
+          UINT32_C(0x000EA2CC), UINT32_C(0x007F2385), UINT32_C(0x001FC33E),
+          UINT32_C(0x0001295D), UINT32_C(0x002EC02F)}},
+        {{UINT32_C(0x001F7939), UINT32_C(0x002AC3E2), UINT32_C(0x001660F9),
+          UINT32_C(0x00663A40), UINT32_C(0x001A8A13), UINT32_C(0x0023C8EF),
+          UINT32_C(0x003AB7B7), UINT32_C(0x0039E16F), UINT32_C(0x001FA47B),
+          UINT32_C(0x0025AB8D), UINT32_C(0x00384015), UINT32_C(0x003CE1A6),
+          UINT32_C(0x0005F145), UINT32_C(0x000C1E4B), UINT32_C(0x001A72DB),
+          UINT32_C(0x00203492), UINT32_C(0x003DE59E), UINT32_C(0x0010CD81),
+          UINT32_C(0x002D2FAE), UINT32_C(0x0021F48A), UINT32_C(0x001C1285),
+          UINT32_C(0x002EC41B), UINT32_C(0x001E8B07)},
+         {UINT32_C(0x0018D1F3), UINT32_C(0x002EC53A), UINT32_C(0x00190D62),
+          UINT32_C(0x0018FCFD), UINT32_C(0x000A3EE7), UINT32_C(0x0039D235),
+          UINT32_C(0x00217FF2), UINT32_C(0x00142817), UINT32_C(0x002FB4F7),
+          UINT32_C(0x001BB01D), UINT32_C(0x000BF067), UINT32_C(0x0052C1A1),
+          UINT32_C(0x001029DF), UINT32_C(0x003B77AC), UINT32_C(0x001C5446),
+          UINT32_C(0x000A8528), UINT32_C(0x00076849), UINT32_C(0x0024957C),
+          UINT32_C(0x00255F16), UINT32_C(0x00464713), UINT32_C(0x0014A68E),
+          UINT32_C(0x002A0E25), UINT32_C(0x0027874C)}},
+        {{UINT32_C(0x00165C60), UINT32_C(0x000F1947), UINT32_C(0x00358DAC),
+          UINT32_C(0x003112AB), UINT32_C(0x003CED7D), UINT32_C(0x0007D95D),
+          UINT32_C(0x001BFB25), UINT32_C(0x0038039B), UINT32_C(0x002C49B9),
+          UINT32_C(0x00226B1D), UINT32_C(0x00307B50), UINT32_C(0x002A8A6B),
+          UINT32_C(0x003A8D6F), UINT32_C(0x002D72F9), UINT32_C(0x002F321D),
+          UINT32_C(0x00530076), UINT32_C(0x002D8361), UINT32_C(0x002D2B58),
+          UINT32_C(0x0032030C), UINT32_C(0x0032F5E5), UINT32_C(0x00164CE3),
+          UINT32_C(0x0026D5D1), UINT32_C(0x0020444C)},
+         {UINT32_C(0x002ABBE4), UINT32_C(0x003519D8), UINT32_C(0x00151482),
+          UINT32_C(0x00773260), UINT32_C(0x0034B1AD), UINT32_C(0x00250B9E),
+          UINT32_C(0x00302049), UINT32_C(0x00385164), UINT32_C(0x003E74F7),
+          UINT32_C(0x0023B51F), UINT32_C(0x001A3158), UINT32_C(0x00527F9C),
+          UINT32_C(0x003CABD3), UINT32_C(0x002F9178), UINT32_C(0x0006BAE5),
+          UINT32_C(0x00600F3B), UINT32_C(0x002DF1B8), UINT32_C(0x000D590F),
+          UINT32_C(0x00194149), UINT32_C(0x005DE8B8), UINT32_C(0x002325D5),
+          UINT32_C(0x003EDBFF), UINT32_C(0x000AAFE1)}},
+        {{UINT32_C(0x001A50FC), UINT32_C(0x00280217), UINT32_C(0x003A5F1B),
+          UINT32_C(0x00412D41), UINT32_C(0x00285345), UINT32_C(0x002DBBAD),
+          UINT32_C(0x000FF377), UINT32_C(0x0059899D), UINT32_C(0x0029B472),
+          UINT32_C(0x00072A4A), UINT32_C(0x0028DC22), UINT32_C(0x001611B6),
+          UINT32_C(0x003C3760), UINT32_C(0x0001466B), UINT32_C(0x003D8FA9),
+          UINT32_C(0x00573081), UINT32_C(0x0013FB11), UINT32_C(0x00203758),
+          UINT32_C(0x002E6367), UINT32_C(0x00482CF9), UINT32_C(0x003178F6),
+          UINT32_C(0x001073E8), UINT32_C(0x001997C3)},
+         {UINT32_C(0x0073FDFD), UINT32_C(0x002EFF90), UINT32_C(0x0014EBAD),
+          UINT32_C(0x000F3618), UINT32_C(0x00162A1A), UINT32_C(0x00270E47),
+          UINT32_C(0x0010A3E7), UINT32_C(0x00345497), UINT32_C(0x002C126D),
+          UINT32_C(0x0036F8A6), UINT32_C(0x00166505), UINT32_C(0x0005C77A),
+          UINT32_C(0x00197ED6), UINT32_C(0x00192ECC), UINT32_C(0x00233375),
+          UINT32_C(0x003E0030), UINT32_C(0x000D5706), UINT32_C(0x0009709A),
+          UINT32_C(0x003D8884), UINT32_C(0x00244795), UINT32_C(0x000B3F0C),
+          UINT32_C(0x002420C0), UINT32_C(0x00286796)}},
+        {{UINT32_C(0x000CAAE5), UINT32_C(0x00094457), UINT32_C(0x00152528),
+          UINT32_C(0x001E3DB2), UINT32_C(0x0005EC25), UINT32_C(0x000BF941),
+          UINT32_C(0x002A007F), UINT32_C(0x00504FD8), UINT32_C(0x003ED863),
+          UINT32_C(0x003A902A), UINT32_C(0x0014F2EA), UINT32_C(0x0015DB81),
+          UINT32_C(0x00280472), UINT32_C(0x003D790F), UINT32_C(0x00349779),
+          UINT32_C(0x006EB09F), UINT32_C(0x00209701), UINT32_C(0x00377E4F),
+          UINT32_C(0x002E600B), UINT32_C(0x00152371), UINT32_C(0x000BA435),
+          UINT32_C(0x001FEF62), UINT32_C(0x0027E7F6)},
+         {UINT32_C(0x00599CB9), UINT32_C(0x001549AA), UINT32_C(0x0013AF70),
+          UINT32_C(0x00234B56), UINT32_C(0x00248CC3), UINT32_C(0x0032259C),
+          UINT32_C(0x00203D97), UINT32_C(0x006AA891), UINT32_C(0x0005CEFE),
+          UINT32_C(0x00199005), UINT32_C(0x001990D3), UINT32_C(0x00334DF5),
+          UINT32_C(0x001B0BB0), UINT32_C(0x0011DD6C), UINT32_C(0x0038F1E0),
+          UINT32_C(0x004EE490), UINT32_C(0x003C3321), UINT32_C(0x001F139B),
+          UINT32_C(0x0006C59B), UINT32_C(0x00195C36), UINT32_C(0x00013ED7),
+          UINT32_C(0x00020142), UINT32_C(0x0034FF5C)}},
+        {{UINT32_C(0x002C93FF), UINT32_C(0x000319F9), UINT32_C(0x00002CB9),
+          UINT32_C(0x002D18F3), UINT32_C(0x001DCA23), UINT32_C(0x000C5093),
+          UINT32_C(0x001EFF04), UINT32_C(0x0075CFF0), UINT32_C(0x00064EA8),
+          UINT32_C(0x0004571C), UINT32_C(0x0019B187), UINT32_C(0x0053F3E7),
+          UINT32_C(0x002BFCD9), UINT32_C(0x00100147), UINT32_C(0x00381877),
+          UINT32_C(0x0032E5D6), UINT32_C(0x002EC006), UINT32_C(0x00238ED2),
+          UINT32_C(0x0032C67B), UINT32_C(0x00001663), UINT32_C(0x003C176A),
+          UINT32_C(0x0014E21C), UINT32_C(0x00399D5E)},
+         {UINT32_C(0x004E0B57), UINT32_C(0x001C2F95), UINT32_C(0x00363DC0),
+          UINT32_C(0x0009DC71), UINT32_C(0x00151A34), UINT32_C(0x003159C5),
+          UINT32_C(0x00201355), UINT32_C(0x00455C7C), UINT32_C(0x00070906),
+          UINT32_C(0x002195FD), UINT32_C(0x001CE30A), UINT32_C(0x0073CADB),
+          UINT32_C(0x0005C318), UINT32_C(0x00037022), UINT32_C(0x00053E6C),
+          UINT32_C(0x0078D811), UINT32_C(0x002D5455), UINT32_C(0x000B37E3),
+          UINT32_C(0x003A1081), UINT32_C(0x005948E6), UINT32_C(0x0032F5E3),
+          UINT32_C(0x003F1006), UINT32_C(0x0029C6C7)}},
+        {{UINT32_C(0x006A53F5), UINT32_C(0x00234585), UINT32_C(0x003B1248),
+          UINT32_C(0x0031E22D), UINT32_C(0x0014C277), UINT32_C(0x001E4E41),
+          UINT32_C(0x000C1028), UINT32_C(0x004CFB54), UINT32_C(0x000EA3E8),
+          UINT32_C(0x00091AA9), UINT32_C(0x0026A9C7), UINT32_C(0x003266E7),
+          UINT32_C(0x002E72A8), UINT32_C(0x002340FE), UINT32_C(0x00306573),
+          UINT32_C(0x006B9E9A), UINT32_C(0x0035D59F), UINT32_C(0x001DB09E),
+          UINT32_C(0x0005F131), UINT32_C(0x0002A91F), UINT32_C(0x003D10FA),
+          UINT32_C(0x002D44C4), UINT32_C(0x001A9029)},
+         {UINT32_C(0x004DC2D6), UINT32_C(0x000485AA), UINT32_C(0x00357F02),
+          UINT32_C(0x00109ABD), UINT32_C(0x00277446), UINT32_C(0x002B2567),
+          UINT32_C(0x003C69A7), UINT32_C(0x0031AA5D), UINT32_C(0x00308E0D),
+          UINT32_C(0x000CDB91), UINT32_C(0x001A3AB7), UINT32_C(0x0043A830),
+          UINT32_C(0x002FC1D1), UINT32_C(0x001FA04C), UINT32_C(0x002B3C22),
+          UINT32_C(0x00400E6C), UINT32_C(0x00088655), UINT32_C(0x000D2E38),
+          UINT32_C(0x002BEDE7), UINT32_C(0x0041F67A), UINT32_C(0x002EB40A),
+          UINT32_C(0x00263E54), UINT32_C(0x000736A8)}},
+        {{UINT32_C(0x00524DB7), UINT32_C(0x00329BD6), UINT32_C(0x002BC43F),
+          UINT32_C(0x00407E56), UINT32_C(0x0006BA61), UINT32_C(0x001A5FC7),
+          UINT32_C(0x000FC681), UINT32_C(0x001A5E17), UINT32_C(0x002AD8E2),
+          UINT32_C(0x003C1B1E), UINT32_C(0x003028BA), UINT32_C(0x002CE10A),
+          UINT32_C(0x0013F30E), UINT32_C(0x001966B5), UINT32_C(0x001C1DF1),
+          UINT32_C(0x00540907), UINT32_C(0x0029361C), UINT32_C(0x000E7B5C),
+          UINT32_C(0x00303DDE), UINT32_C(0x0059FB60), UINT32_C(0x00151554),
+          UINT32_C(0x002838BD), UINT32_C(0x003D9CFA)},
+         {UINT32_C(0x002063F9), UINT32_C(0x002731CA), UINT32_C(0x002003F0),
+          UINT32_C(0x0079F9F9), UINT32_C(0x00347AC8), UINT32_C(0x0021973A),
+          UINT32_C(0x001280CE), UINT32_C(0x00323A60), UINT32_C(0x00098D3C),
+          UINT32_C(0x00306D49), UINT32_C(0x000109EC), UINT32_C(0x00511419),
+          UINT32_C(0x0010C7B4), UINT32_C(0x001D2E21), UINT32_C(0x003991C3),
+          UINT32_C(0x003C5990), UINT32_C(0x001DB860), UINT32_C(0x0014EC41),
+          UINT32_C(0x00088BAC), UINT32_C(0x00448C44), UINT32_C(0x00084966),
+          UINT32_C(0x0031E904), UINT32_C(0x000524F2)}},
+        {{UINT32_C(0x0049E3D3), UINT32_C(0x00181A3B), UINT32_C(0x0011AA50),
+          UINT32_C(0x007021E5), UINT32_C(0x00316EC7), UINT32_C(0x0029A769),
+          UINT32_C(0x003F4C5A), UINT32_C(0x006AA0ED), UINT32_C(0x003E7379),
+          UINT32_C(0x00150459), UINT32_C(0x0035CBC7), UINT32_C(0x005DEBB1),
+          UINT32_C(0x00053C63), UINT32_C(0x000AA5E3), UINT32_C(0x0013545F),
+          UINT32_C(0x00019A93), UINT32_C(0x0029934B), UINT32_C(0x000A94D0),
+          UINT32_C(0x00260B29), UINT32_C(0x00298F53), UINT32_C(0x00377D15),
+          UINT32_C(0x0029F246), UINT32_C(0x002F33B2)},
+         {UINT32_C(0x0066FE62), UINT32_C(0x001037AD), UINT32_C(0x00370077),
+          UINT32_C(0x00421175), UINT32_C(0x001E861C), UINT32_C(0x00033773),
+          UINT32_C(0x002BFEA4), UINT32_C(0x0000380F), UINT32_C(0x0001544C),
+          UINT32_C(0x00272751), UINT32_C(0x003FB134), UINT32_C(0x0039C926),
+          UINT32_C(0x002CAB64), UINT32_C(0x0026F1D5), UINT32_C(0x00273824),
+          UINT32_C(0x004BDF14), UINT32_C(0x001E4097), UINT32_C(0x00281D77),
+          UINT32_C(0x00273464), UINT32_C(0x0005EB84), UINT32_C(0x002942CD),
+          UINT32_C(0x003938B5), UINT32_C(0x00333CCF)}},
+        {{UINT32_C(0x000B8466), UINT32_C(0x00335B47), UINT32_C(0x001C7C5F),
+          UINT32_C(0x00130B87), UINT32_C(0x0002C697), UINT32_C(0x0011F099),
+          UINT32_C(0x001909FC), UINT32_C(0x007C440B), UINT32_C(0x0006E6CD),
+          UINT32_C(0x003604F5), UINT32_C(0x000A3664), UINT32_C(0x000E9448),
+          UINT32_C(0x00375564), UINT32_C(0x00100ABB), UINT32_C(0x000A2BD1),
+          UINT32_C(0x00610611), UINT32_C(0x000B0919), UINT32_C(0x00192DA1),
+          UINT32_C(0x000CA6A0), UINT32_C(0x0022EC21), UINT32_C(0x0010021B),
+          UINT32_C(0x0014AC0F), UINT32_C(0x003C3561)},
+         {UINT32_C(0x001DE844), UINT32_C(0x000339F0), UINT32_C(0x00338277),
+          UINT32_C(0x0039E865), UINT32_C(0x000C918F), UINT32_C(0x001B9202),
+          UINT32_C(0x0039DB51), UINT32_C(0x0035E972), UINT32_C(0x00269806),
+          UINT32_C(0x001A4703), UINT32_C(0x00128E3F), UINT32_C(0x0059736B),
+          UINT32_C(0x0009133A), UINT32_C(0x000988FA), UINT32_C(0x003F5D17),
+          UINT32_C(0x0075D549), UINT32_C(0x0035AF8B), UINT32_C(0x000EBF87),
+          UINT32_C(0x002B5241), UINT32_C(0x001A47E1), UINT32_C(0x003FAD0B),
+          UINT32_C(0x003F031A), UINT32_C(0x0000856D)}},
+        {{UINT32_C(0x007BA242), UINT32_C(0x003F139F), UINT32_C(0x0011DEFD),
+          UINT32_C(0x0023DE43), UINT32_C(0x00295AA0), UINT32_C(0x003AB6CE),
+          UINT32_C(0x0000492A), UINT32_C(0x00038F1C), UINT32_C(0x001F3BEB),
+          UINT32_C(0x000DEADE), UINT32_C(0x003039CC), UINT32_C(0x00546C46),
+          UINT32_C(0x000F8C59), UINT32_C(0x00364F5D), UINT32_C(0x00278A38),
+          UINT32_C(0x0003D22C), UINT32_C(0x000FDC4B), UINT32_C(0x0001BEAF),
+          UINT32_C(0x00025B08), UINT32_C(0x0008F72C), UINT32_C(0x0027C5E7),
+          UINT32_C(0x00252A05), UINT32_C(0x00107A50)},
+         {UINT32_C(0x000EBA8F), UINT32_C(0x0027A1D4), UINT32_C(0x003EF3A3),
+          UINT32_C(0x007BCF49), UINT32_C(0x003D3105), UINT32_C(0x0023E6FD),
+          UINT32_C(0x00359B97), UINT32_C(0x0028F42A), UINT32_C(0x003E23D6),
+          UINT32_C(0x00178851), UINT32_C(0x0037642F), UINT32_C(0x0042E04B),
+          UINT32_C(0x00376AFD), UINT32_C(0x00198F42), UINT32_C(0x002F89CF),
+          UINT32_C(0x000E495C), UINT32_C(0x002116C6), UINT32_C(0x00369883),
+          UINT32_C(0x0005445E), UINT32_C(0x0028D909), UINT32_C(0x001123BE),
+          UINT32_C(0x00395238), UINT32_C(0x000BDBC0)}},
+        {{UINT32_C(0x0079A5E7), UINT32_C(0x001C3E7B), UINT32_C(0x00184F53),
+          UINT32_C(0x003BBC86), UINT32_C(0x0010D687), UINT32_C(0x00038850),
+          UINT32_C(0x0038E20E), UINT32_C(0x003E53AE), UINT32_C(0x0004A94C),
+          UINT32_C(0x002AEB4D), UINT32_C(0x003AEB1A), UINT32_C(0x00448BCC),
+          UINT32_C(0x0004DB71), UINT32_C(0x0003778D), UINT32_C(0x003944F0),
+          UINT32_C(0x000CC500), UINT32_C(0x00008E46), UINT32_C(0x000F5C40),
+          UINT32_C(0x00110507), UINT32_C(0x001F1E48), UINT32_C(0x003628D5),
+          UINT32_C(0x00052A96), UINT32_C(0x003B94D2)},
+         {UINT32_C(0x0004ABCF), UINT32_C(0x000A3BC2), UINT32_C(0x0001C80A),
+          UINT32_C(0x007BDA93), UINT32_C(0x000ECD4F), UINT32_C(0x003F215D),
+          UINT32_C(0x000EBBE2), UINT32_C(0x005395FC), UINT32_C(0x00074168),
+          UINT32_C(0x0022A24A), UINT32_C(0x001A1B35), UINT32_C(0x0077FFE0),
+          UINT32_C(0x003C9950), UINT32_C(0x0028A73C), UINT32_C(0x001AC592),
+          UINT32_C(0x0023CB0D), UINT32_C(0x003F12D3), UINT32_C(0x0030ED1B),
+          UINT32_C(0x002E878C), UINT32_C(0x003BA03C), UINT32_C(0x003CDBA8),
+          UINT32_C(0x0021E634), UINT32_C(0x000F8610)}},
+    },
+    {
+        {{UINT32_C(0x00374EA0), UINT32_C(0x003D49A3), UINT32_C(0x001F7E76),
+          UINT32_C(0x001D6B9E), UINT32_C(0x002592C5), UINT32_C(0x000E14A2),
+          UINT32_C(0x00190C56), UINT32_C(0x0063DAE2), UINT32_C(0x0039CB00),
+          UINT32_C(0x001A96B0), UINT32_C(0x001112B0), UINT32_C(0x00125D57),
+          UINT32_C(0x003E073B), UINT32_C(0x003BA300), UINT32_C(0x0010434F),
+          UINT32_C(0x00584798), UINT32_C(0x00328C4D), UINT32_C(0x002C908E),
+          UINT32_C(0x003F37C6), UINT32_C(0x0050852E), UINT32_C(0x000E2E46),
+          UINT32_C(0x003A1A63), UINT32_C(0x001C643D)},
+         {UINT32_C(0x00147D83), UINT32_C(0x000590DE), UINT32_C(0x001A30E1),
+          UINT32_C(0x003223D8), UINT32_C(0x00092F2B), UINT32_C(0x002B60EE),
+          UINT32_C(0x00044972), UINT32_C(0x0024B04F), UINT32_C(0x000F8784),
+          UINT32_C(0x00015A35), UINT32_C(0x001E5404), UINT32_C(0x003B76C0),
+          UINT32_C(0x0024ECFE), UINT32_C(0x00101933), UINT32_C(0x0029FDFB),
+          UINT32_C(0x00224043), UINT32_C(0x00059771), UINT32_C(0x0035FA07),
+          UINT32_C(0x00044AFE), UINT32_C(0x00168A97), UINT32_C(0x001D4795),
+          UINT32_C(0x0016C054), UINT32_C(0x00202B01)}},
+        {{UINT32_C(0x0063E7A6), UINT32_C(0x0034C8D6), UINT32_C(0x00280787),
+          UINT32_C(0x001A7385), UINT32_C(0x003ABD2E), UINT32_C(0x00185E3E),
+          UINT32_C(0x0000C346), UINT32_C(0x0075FF68), UINT32_C(0x00117390),
+          UINT32_C(0x00234323), UINT32_C(0x00327433), UINT32_C(0x003FED4A),
+          UINT32_C(0x003946EE), UINT32_C(0x00036FEB), UINT32_C(0x000C0F57),
+          UINT32_C(0x00359C4A), UINT32_C(0x00092D1D), UINT32_C(0x0001A134),
+          UINT32_C(0x002AD6D7), UINT32_C(0x0012395F), UINT32_C(0x003F988A),
+          UINT32_C(0x001ACCFF), UINT32_C(0x002123C1)},
+         {UINT32_C(0x002D5A19), UINT32_C(0x00156939), UINT32_C(0x00222C1A),
+          UINT32_C(0x00619366), UINT32_C(0x0016036D), UINT32_C(0x0033459B),
+          UINT32_C(0x00062D47), UINT32_C(0x004B8C12), UINT32_C(0x001B95CF),
+          UINT32_C(0x00117F5F), UINT32_C(0x003F80DA), UINT32_C(0x00050A50),
+          UINT32_C(0x003942D5), UINT32_C(0x00385EAE), UINT32_C(0x0033AB22),
+          UINT32_C(0x00537468), UINT32_C(0x000DFF4B), UINT32_C(0x001879D6),
+          UINT32_C(0x002388A7), UINT32_C(0x000FCEA6), UINT32_C(0x00375E35),
+          UINT32_C(0x003398B3), UINT32_C(0x003F30BA)}},
+        {{UINT32_C(0x003598D4), UINT32_C(0x0019A9A3), UINT32_C(0x003A267B),
+          UINT32_C(0x002B12CC), UINT32_C(0x003839D5), UINT32_C(0x003B8D33),
+          UINT32_C(0x0025BF3A), UINT32_C(0x00438430), UINT32_C(0x00189C5B),
+          UINT32_C(0x003F2C8B), UINT32_C(0x003A8177), UINT32_C(0x007055A3),
+          UINT32_C(0x002E6730), UINT32_C(0x00341821), UINT32_C(0x002142DE),
+          UINT32_C(0x0010BC51), UINT32_C(0x000D1EA0), UINT32_C(0x0015FEF0),
+          UINT32_C(0x00329B9B), UINT32_C(0x000508A4), UINT32_C(0x0001C1B9),
+          UINT32_C(0x001FF600), UINT32_C(0x00328E8E)},
+         {UINT32_C(0x00717603), UINT32_C(0x0033F89C), UINT32_C(0x0025C76B),
+          UINT32_C(0x0018607B), UINT32_C(0x001303E9), UINT32_C(0x000F2CB5),
+          UINT32_C(0x000F8CE4), UINT32_C(0x0011128F), UINT32_C(0x00216CE5),
+          UINT32_C(0x003B4AEC), UINT32_C(0x0027F704), UINT32_C(0x005A2623),
+          UINT32_C(0x002A1412), UINT32_C(0x0037E07D), UINT32_C(0x0007F5BF),
+          UINT32_C(0x006BFF5F), UINT32_C(0x0000D2EA), UINT32_C(0x0028D09E),
+          UINT32_C(0x0030FECE), UINT32_C(0x007CE886), UINT32_C(0x00163AD8),
+          UINT32_C(0x00007318), UINT32_C(0x002C4F8D)}},
+        {{UINT32_C(0x0022EF26), UINT32_C(0x0011DF21), UINT32_C(0x001A21E7),
+          UINT32_C(0x0067A5B1), UINT32_C(0x00327468), UINT32_C(0x0031BA5C),
+          UINT32_C(0x00156DC9), UINT32_C(0x001E7E4E), UINT32_C(0x003FB583),
+          UINT32_C(0x001EB61F), UINT32_C(0x002ABBA4), UINT32_C(0x0040FEC8),
+          UINT32_C(0x0004C5FF), UINT32_C(0x0010F939), UINT32_C(0x003D4DA2),
+          UINT32_C(0x005C0941), UINT32_C(0x0013C311), UINT32_C(0x000BA027),
+          UINT32_C(0x001845CC), UINT32_C(0x006FF264), UINT32_C(0x0038AC88),
+          UINT32_C(0x003463D6), UINT32_C(0x000EADB9)},
+         {UINT32_C(0x000B056C), UINT32_C(0x00288DB2), UINT32_C(0x001C02CF),
+          UINT32_C(0x000BB175), UINT32_C(0x0018F094), UINT32_C(0x0027806D),
+          UINT32_C(0x00355563), UINT32_C(0x0054C2AD), UINT32_C(0x001CCE8E),
+          UINT32_C(0x002E2B85), UINT32_C(0x00073F85), UINT32_C(0x006D02CB),
+          UINT32_C(0x0033434A), UINT32_C(0x003DA80B), UINT32_C(0x001550B8),
+          UINT32_C(0x0053A65C), UINT32_C(0x003624AD), UINT32_C(0x00078142),
+          UINT32_C(0x0017BFE5), UINT32_C(0x002EF056), UINT32_C(0x00126C8F),
+          UINT32_C(0x00377035), UINT32_C(0x003C5FD9)}},
+        {{UINT32_C(0x00692F52), UINT32_C(0x002D345A), UINT32_C(0x001014B5),
+          UINT32_C(0x004A6F1C), UINT32_C(0x00279FEB), UINT32_C(0x00057359),
+          UINT32_C(0x0005EE89), UINT32_C(0x000B0567), UINT32_C(0x002B38D3),
+          UINT32_C(0x00243C26), UINT32_C(0x0000FE1B), UINT32_C(0x001499CE),
+          UINT32_C(0x00326C87), UINT32_C(0x003808D0), UINT32_C(0x0024E577),
+          UINT32_C(0x00559968), UINT32_C(0x0014EF5F), UINT32_C(0x00091017),
+          UINT32_C(0x000A4B95), UINT32_C(0x0079EB0D), UINT32_C(0x000498F0),
+          UINT32_C(0x002F7F3A), UINT32_C(0x00024E38)},
+         {UINT32_C(0x000590D7), UINT32_C(0x000C5AFF), UINT32_C(0x0021F7AF),
+          UINT32_C(0x00667CCB), UINT32_C(0x0038AC0E), UINT32_C(0x0023A769),
+          UINT32_C(0x003E7C3D), UINT32_C(0x0052FB04), UINT32_C(0x002DE7EC),
+          UINT32_C(0x002F29F5), UINT32_C(0x0023207B), UINT32_C(0x000CDF9D),
+          UINT32_C(0x002B4365), UINT32_C(0x003A2FBF), UINT32_C(0x0011FB18),
+          UINT32_C(0x0063AFCF), UINT32_C(0x0015B1DD), UINT32_C(0x0033B40C),
+          UINT32_C(0x00012F31), UINT32_C(0x00087C46), UINT32_C(0x00099C9E),
+          UINT32_C(0x0016BC64), UINT32_C(0x0032AD86)}},
+        {{UINT32_C(0x00483715), UINT32_C(0x00368333), UINT32_C(0x00246073),
+          UINT32_C(0x005FB045), UINT32_C(0x003A117A), UINT32_C(0x002FBC81),
+          UINT32_C(0x0009FFFF), UINT32_C(0x003826CF), UINT32_C(0x00040665),
+          UINT32_C(0x00248D34), UINT32_C(0x0020F6F7), UINT32_C(0x0064C39E),
+          UINT32_C(0x000DDC2A), UINT32_C(0x0027F7AD), UINT32_C(0x002A0468),
+          UINT32_C(0x004233A3), UINT32_C(0x0039012C), UINT32_C(0x001733DF),
+          UINT32_C(0x002EFFEF), UINT32_C(0x00799097), UINT32_C(0x001FF171),
+          UINT32_C(0x0018ED19), UINT32_C(0x0026CCEE)},
+         {UINT32_C(0x0046E82C), UINT32_C(0x003D6F41), UINT32_C(0x001B2A06),
+          UINT32_C(0x001FF2C3), UINT32_C(0x003F0F50), UINT32_C(0x0001A930),
+          UINT32_C(0x003BF063), UINT32_C(0x002EE18D), UINT32_C(0x001CCFE3),
+          UINT32_C(0x0036F969), UINT32_C(0x00149AD4), UINT32_C(0x0016E5BE),
+          UINT32_C(0x001F9762), UINT32_C(0x0022D061), UINT32_C(0x0012E3B7),
+          UINT32_C(0x0003E984), UINT32_C(0x003B3250), UINT32_C(0x0038C6B2),
+          UINT32_C(0x00159530), UINT32_C(0x0073861F), UINT32_C(0x00251136),
+          UINT32_C(0x00123D52), UINT32_C(0x0027A418)}},
+        {{UINT32_C(0x003F3D56), UINT32_C(0x0035580A), UINT32_C(0x00315B32),
+          UINT32_C(0x00683B54), UINT32_C(0x002E6B1B), UINT32_C(0x0030E284),
+          UINT32_C(0x001A147C), UINT32_C(0x0057017E), UINT32_C(0x003F1CE4),
+          UINT32_C(0x000739F3), UINT32_C(0x000BE2D0), UINT32_C(0x00237229),
+          UINT32_C(0x0035DB98), UINT32_C(0x00013B31), UINT32_C(0x000885D5),
+          UINT32_C(0x00734416), UINT32_C(0x002BCB46), UINT32_C(0x0025B709),
+          UINT32_C(0x001F5588), UINT32_C(0x007AFB72), UINT32_C(0x000A3B67),
+          UINT32_C(0x002F51E5), UINT32_C(0x0037F6D4)},
+         {UINT32_C(0x0058DC2B), UINT32_C(0x003BC578), UINT32_C(0x003EFB94),
+          UINT32_C(0x007AB5C0), UINT32_C(0x0033698C), UINT32_C(0x00384E73),
+          UINT32_C(0x0018C54E), UINT32_C(0x0006017C), UINT32_C(0x00169895),
+          UINT32_C(0x0032C34C), UINT32_C(0x001B77D2), UINT32_C(0x00668DCD),
+          UINT32_C(0x0029D00C), UINT32_C(0x0035521D), UINT32_C(0x000871E7),
+          UINT32_C(0x000881E9), UINT32_C(0x003F9CC2), UINT32_C(0x00273AEA),
+          UINT32_C(0x000AFA2B), UINT32_C(0x00519C25), UINT32_C(0x00284813),
+          UINT32_C(0x002F3204), UINT32_C(0x003A63D7)}},
+        {{UINT32_C(0x00024391), UINT32_C(0x003BA776), UINT32_C(0x00033874),
+          UINT32_C(0x0034FBCF), UINT32_C(0x00303978), UINT32_C(0x00022D87),
+          UINT32_C(0x0005FC7A), UINT32_C(0x004D7ABB), UINT32_C(0x003F68E7),
+          UINT32_C(0x0017EC8C), UINT32_C(0x00051303), UINT32_C(0x006259DA),
+          UINT32_C(0x0021F4E5), UINT32_C(0x00121632), UINT32_C(0x0031BBFE),
+          UINT32_C(0x0079B8A1), UINT32_C(0x003AE333), UINT32_C(0x0006A0FC),
+          UINT32_C(0x00055308), UINT32_C(0x00601907), UINT32_C(0x002EA623),
+          UINT32_C(0x003B33BA), UINT32_C(0x00349F3F)},
+         {UINT32_C(0x0001E557), UINT32_C(0x000C8304), UINT32_C(0x0002EDBE),
+          UINT32_C(0x001EFF0A), UINT32_C(0x003B6349), UINT32_C(0x00228976),
+          UINT32_C(0x00317095), UINT32_C(0x00482B44), UINT32_C(0x002287BF),
+          UINT32_C(0x00244B82), UINT32_C(0x003CFA63), UINT32_C(0x001D099B),
+          UINT32_C(0x0023EB12), UINT32_C(0x00188057), UINT32_C(0x000D5E10),
+          UINT32_C(0x005205C6), UINT32_C(0x002A8F5F), UINT32_C(0x002AB102),
+          UINT32_C(0x00151E7A), UINT32_C(0x0031464E), UINT32_C(0x0016ACF5),
+          UINT32_C(0x003C570E), UINT32_C(0x003D5498)}},
+        {{UINT32_C(0x00528A5E), UINT32_C(0x001D1A41), UINT32_C(0x001D0B03),
+          UINT32_C(0x006E975C), UINT32_C(0x000C8044), UINT32_C(0x0026C6AB),
+          UINT32_C(0x001E178A), UINT32_C(0x0066B411), UINT32_C(0x00047104),
+          UINT32_C(0x00204D14), UINT32_C(0x00228536), UINT32_C(0x000D099C),
+          UINT32_C(0x000838AB), UINT32_C(0x001BC3DC), UINT32_C(0x0029FCE8),
+          UINT32_C(0x00029FD9), UINT32_C(0x002E687A), UINT32_C(0x003E8AE4),
+          UINT32_C(0x002DD424), UINT32_C(0x00432788), UINT32_C(0x0008979F),
+          UINT32_C(0x0039EDD9), UINT32_C(0x001751D6)},
+         {UINT32_C(0x00492D65), UINT32_C(0x001A7DE1), UINT32_C(0x0014FD58),
+          UINT32_C(0x000C2887), UINT32_C(0x00170FFC), UINT32_C(0x0002CD82),
+          UINT32_C(0x000C7EB0), UINT32_C(0x007BC59A), UINT32_C(0x00027399),
+          UINT32_C(0x0007595A), UINT32_C(0x0006B074), UINT32_C(0x00362BD4),
+          UINT32_C(0x001D090F), UINT32_C(0x0005CC42), UINT32_C(0x00350E6D),
+          UINT32_C(0x000520BA), UINT32_C(0x003511C8), UINT32_C(0x00263B84),
+          UINT32_C(0x0012CB4B), UINT32_C(0x00395148), UINT32_C(0x001557BE),
+          UINT32_C(0x001A47CB), UINT32_C(0x00314464)}},
+        {{UINT32_C(0x0043F2F2), UINT32_C(0x00194797), UINT32_C(0x00164AF2),
+          UINT32_C(0x0039D872), UINT32_C(0x000104A3), UINT32_C(0x0016929A),
+          UINT32_C(0x00282C81), UINT32_C(0x005F9C2C), UINT32_C(0x002A5D4B),
+          UINT32_C(0x003192B8), UINT32_C(0x002E15CB), UINT32_C(0x004F6E26),
+          UINT32_C(0x001DBE42), UINT32_C(0x0011C09D), UINT32_C(0x0036F64F),
+          UINT32_C(0x004483FB), UINT32_C(0x00060CCE), UINT32_C(0x003148C2),
+          UINT32_C(0x001EE90A), UINT32_C(0x003E6042), UINT32_C(0x002E64B1),
+          UINT32_C(0x002C44F1), UINT32_C(0x002F2B60)},
+         {UINT32_C(0x005DC792), UINT32_C(0x00397CAD), UINT32_C(0x0018311A),
+          UINT32_C(0x000DB83D), UINT32_C(0x003A7FE0), UINT32_C(0x0036E2B7),
+          UINT32_C(0x00208A0B), UINT32_C(0x00725417), UINT32_C(0x00055265),
+          UINT32_C(0x0028A5C2), UINT32_C(0x002D7738), UINT32_C(0x0008626D),
+          UINT32_C(0x00267142), UINT32_C(0x00335A17), UINT32_C(0x003E2E6A),
+          UINT32_C(0x0023C202), UINT32_C(0x001CEC16), UINT32_C(0x0007C3CA),
+          UINT32_C(0x0026178F), UINT32_C(0x007AF6B1), UINT32_C(0x003EC4B0),
+          UINT32_C(0x000A5C59), UINT32_C(0x0005CC1B)}},
+        {{UINT32_C(0x006D6CE3), UINT32_C(0x003CDDFA), UINT32_C(0x003536DB),
+          UINT32_C(0x003AFD9F), UINT32_C(0x00097B34), UINT32_C(0x0005ECD4),
+          UINT32_C(0x0034AA4D), UINT32_C(0x003B05FC), UINT32_C(0x0009BBAD),
+          UINT32_C(0x003FDCEE), UINT32_C(0x0033D997), UINT32_C(0x0003C160),
+          UINT32_C(0x003B6D37), UINT32_C(0x00315C67), UINT32_C(0x002362F6),
+          UINT32_C(0x001A9401), UINT32_C(0x0014E9AD), UINT32_C(0x0033DA3E),
+          UINT32_C(0x001BCD3C), UINT32_C(0x002D9F1B), UINT32_C(0x0030DD6A),
+          UINT32_C(0x003EC5E7), UINT32_C(0x00308176)},
+         {UINT32_C(0x003069BB), UINT32_C(0x0021C759), UINT32_C(0x0015A982),
+          UINT32_C(0x000433F9), UINT32_C(0x000F0415), UINT32_C(0x0019193B),
+          UINT32_C(0x000CB74A), UINT32_C(0x00550A79), UINT32_C(0x002D6049),
+          UINT32_C(0x00207DAA), UINT32_C(0x000496F6), UINT32_C(0x00492EB6),
+          UINT32_C(0x003490BF), UINT32_C(0x003D7E1A), UINT32_C(0x0029D71A),
+          UINT32_C(0x001A99C6), UINT32_C(0x003442EC), UINT32_C(0x001FE876),
+          UINT32_C(0x00307A44), UINT32_C(0x005B4A4F), UINT32_C(0x000DC29C),
+          UINT32_C(0x0038C4EF), UINT32_C(0x002E915D)}},
+        {{UINT32_C(0x000BEB8C), UINT32_C(0x00061A56), UINT32_C(0x000D8268),
+          UINT32_C(0x00421E9B), UINT32_C(0x001AD305), UINT32_C(0x002C0C54),
+          UINT32_C(0x002B4A5F), UINT32_C(0x003DF358), UINT32_C(0x001523F3),
+          UINT32_C(0x0028B368), UINT32_C(0x00276FD0), UINT32_C(0x00442093),
+          UINT32_C(0x000817D3), UINT32_C(0x002AE36B), UINT32_C(0x003C22DE),
+          UINT32_C(0x0058669C), UINT32_C(0x000D7F6C), UINT32_C(0x00279A1A),
+          UINT32_C(0x000D107C), UINT32_C(0x0021DE92), UINT32_C(0x00246CC9),
+          UINT32_C(0x0034B4A4), UINT32_C(0x000EFACA)},
+         {UINT32_C(0x00694EEC), UINT32_C(0x003C5044), UINT32_C(0x0016ECB7),
+          UINT32_C(0x00412A48), UINT32_C(0x0017E21D), UINT32_C(0x001C1E82),
+          UINT32_C(0x002BA6CD), UINT32_C(0x001CF647), UINT32_C(0x00306F34),
+          UINT32_C(0x00146470), UINT32_C(0x00196674), UINT32_C(0x001418A3),
+          UINT32_C(0x002CFE68), UINT32_C(0x0026B0A5), UINT32_C(0x000747E1),
+          UINT32_C(0x0000076E), UINT32_C(0x002C52FE), UINT32_C(0x00381158),
+          UINT32_C(0x003CB4BD), UINT32_C(0x000E909B), UINT32_C(0x0009F542),
+          UINT32_C(0x000CB347), UINT32_C(0x0016D579)}},
+        {{UINT32_C(0x0069D866), UINT32_C(0x0027D233), UINT32_C(0x0035A8F4),
+          UINT32_C(0x006BC550), UINT32_C(0x0018DA15), UINT32_C(0x0030CE9E),
+          UINT32_C(0x0015D2E1), UINT32_C(0x005388CB), UINT32_C(0x0032AC42),
+          UINT32_C(0x001EDFA9), UINT32_C(0x00041ADC), UINT32_C(0x000232D9),
+          UINT32_C(0x00278158), UINT32_C(0x003B9C91), UINT32_C(0x001DD2A0),
+          UINT32_C(0x0033F780), UINT32_C(0x003E5C50), UINT32_C(0x00075CF3),
+          UINT32_C(0x0015E7C2), UINT32_C(0x00440ADA), UINT32_C(0x0016D15D),
+          UINT32_C(0x000586C1), UINT32_C(0x002A016C)},
+         {UINT32_C(0x004AE04A), UINT32_C(0x003E7BC9), UINT32_C(0x00096110),
+          UINT32_C(0x00066932), UINT32_C(0x001B3038), UINT32_C(0x001A7311),
+          UINT32_C(0x002F1AEF), UINT32_C(0x0068EA21), UINT32_C(0x00095E5D),
+          UINT32_C(0x0009883B), UINT32_C(0x00033990), UINT32_C(0x0024C0B3),
+          UINT32_C(0x0029A84D), UINT32_C(0x0005EBA4), UINT32_C(0x00311E64),
+          UINT32_C(0x0013FEAE), UINT32_C(0x0008156B), UINT32_C(0x002F4EE6),
+          UINT32_C(0x000DF329), UINT32_C(0x001AE70A), UINT32_C(0x002847DD),
+          UINT32_C(0x0018E0D7), UINT32_C(0x002BD42E)}},
+        {{UINT32_C(0x000B9710), UINT32_C(0x001F475F), UINT32_C(0x000999F5),
+          UINT32_C(0x0032B55C), UINT32_C(0x002E7C12), UINT32_C(0x00264CED),
+          UINT32_C(0x00094F0A), UINT32_C(0x005A4E16), UINT32_C(0x000BECA0),
+          UINT32_C(0x00349B97), UINT32_C(0x003CE972), UINT32_C(0x002B59D3),
+          UINT32_C(0x002F203F), UINT32_C(0x000F211F), UINT32_C(0x003B07F1),
+          UINT32_C(0x00786C83), UINT32_C(0x0001D952), UINT32_C(0x002B793E),
+          UINT32_C(0x0033C2B1), UINT32_C(0x005E8A36), UINT32_C(0x0036E5E2),
+          UINT32_C(0x00156A46), UINT32_C(0x00362C8F)},
+         {UINT32_C(0x00317544), UINT32_C(0x000AEC08), UINT32_C(0x003109AC),
+          UINT32_C(0x004EC46A), UINT32_C(0x00214545), UINT32_C(0x00338B7B),
+          UINT32_C(0x0016C802), UINT32_C(0x004E4271), UINT32_C(0x003A07D9),
+          UINT32_C(0x00019D25), UINT32_C(0x00198775), UINT32_C(0x0049A8C4),
+          UINT32_C(0x00215656), UINT32_C(0x0009570A), UINT32_C(0x0004BCC8),
+          UINT32_C(0x006ED97E), UINT32_C(0x003721B2), UINT32_C(0x001AB6C7),
+          UINT32_C(0x00219EDF), UINT32_C(0x004291B1), UINT32_C(0x0021788D),
+          UINT32_C(0x003CA653), UINT32_C(0x002C51F0)}},
+        {{UINT32_C(0x00549A73), UINT32_C(0x001585E0), UINT32_C(0x001219AF),
+          UINT32_C(0x00278B73), UINT32_C(0x000AB916), UINT32_C(0x003FB445),
+          UINT32_C(0x003FC327), UINT32_C(0x00487904), UINT32_C(0x0008835A),
+          UINT32_C(0x0013EBDD), UINT32_C(0x002B6722), UINT32_C(0x005F61F3),
+          UINT32_C(0x0033C0B6), UINT32_C(0x00387E43), UINT32_C(0x000DC4FF),
+          UINT32_C(0x00220AA8), UINT32_C(0x002411BD), UINT32_C(0x002D9844),
+          UINT32_C(0x003BD35D), UINT32_C(0x000878BC), UINT32_C(0x001548F6),
+          UINT32_C(0x003F932E), UINT32_C(0x00189EAF)},
+         {UINT32_C(0x00243BBC), UINT32_C(0x00080398), UINT32_C(0x0010A82F),
+          UINT32_C(0x006AB89B), UINT32_C(0x00021339), UINT32_C(0x00291FC3),
+          UINT32_C(0x00145BA0), UINT32_C(0x005378D0), UINT32_C(0x0015B299),
+          UINT32_C(0x00057581), UINT32_C(0x002112C0), UINT32_C(0x00642C8E),
+          UINT32_C(0x003981D5), UINT32_C(0x0020F113), UINT32_C(0x00354642),
+          UINT32_C(0x007C7721), UINT32_C(0x000CEDDA), UINT32_C(0x00220C78),
+          UINT32_C(0x000FA861), UINT32_C(0x004B62AA), UINT32_C(0x000C4398),
+          UINT32_C(0x001A528A), UINT32_C(0x001FA9C0)}},
+        {{UINT32_C(0x00213FA6), UINT32_C(0x00303120), UINT32_C(0x002AB912),
+          UINT32_C(0x00604140), UINT32_C(0x0025C250), UINT32_C(0x003C2A6C),
+          UINT32_C(0x00322291), UINT32_C(0x0013477E), UINT32_C(0x001F06C8),
+          UINT32_C(0x003B3F6A), UINT32_C(0x00283A23), UINT32_C(0x0038B2D8),
+          UINT32_C(0x0029DD45), UINT32_C(0x002EBAA8), UINT32_C(0x001B3724),
+          UINT32_C(0x00678E35), UINT32_C(0x00096D14), UINT32_C(0x0027B787),
+          UINT32_C(0x0007AA23), UINT32_C(0x0025F092), UINT32_C(0x002170F1),
+          UINT32_C(0x001BC371), UINT32_C(0x003AED1A)},
+         {UINT32_C(0x00425B32), UINT32_C(0x00286AA0), UINT32_C(0x00023581),
+          UINT32_C(0x006EE73F), UINT32_C(0x001E5A3B), UINT32_C(0x0030D82F),
+          UINT32_C(0x002D1CA8), UINT32_C(0x006A5FF6), UINT32_C(0x001470F9),
+          UINT32_C(0x00161816), UINT32_C(0x002350CB), UINT32_C(0x00113D17),
+          UINT32_C(0x003F9A5E), UINT32_C(0x003C7C27), UINT32_C(0x00276EA7),
+          UINT32_C(0x000CC5E8), UINT32_C(0x003022F0), UINT32_C(0x00293E6C),
+          UINT32_C(0x001948B1), UINT32_C(0x00043775), UINT32_C(0x003051DB),
+          UINT32_C(0x003D4E8F), UINT32_C(0x0016EAD0)}},
+    },
+    {
+        {{UINT32_C(0x000E7229), UINT32_C(0x001A6628), UINT32_C(0x003C1B89),
+          UINT32_C(0x001DEF3A), UINT32_C(0x0005F8AB), UINT32_C(0x00178896),
+          UINT32_C(0x00120D1F), UINT32_C(0x00035812), UINT32_C(0x002204C7),
+          UINT32_C(0x0025B252), UINT32_C(0x002627D9), UINT32_C(0x00295A6A),
+          UINT32_C(0x00064F84), UINT32_C(0x002DD46E), UINT32_C(0x0018C55B),
+          UINT32_C(0x0076AC5A), UINT32_C(0x0024BECB), UINT32_C(0x000D610A),
+          UINT32_C(0x003CF93D), UINT32_C(0x0025BA10), UINT32_C(0x0001D8FF),
+          UINT32_C(0x00111DC7), UINT32_C(0x001BA971)},
+         {UINT32_C(0x00079874), UINT32_C(0x002A9BC0), UINT32_C(0x000AE07A),
+          UINT32_C(0x002B976D), UINT32_C(0x0037698A), UINT32_C(0x001EFD5D),
+          UINT32_C(0x00355FBE), UINT32_C(0x000FC35F), UINT32_C(0x003A64A2),
+          UINT32_C(0x0037BE03), UINT32_C(0x002E85B5), UINT32_C(0x001D3118),
+          UINT32_C(0x0027921A), UINT32_C(0x000C7471), UINT32_C(0x002BCAB5),
+          UINT32_C(0x0033AB97), UINT32_C(0x0001C915), UINT32_C(0x0019A901),
+          UINT32_C(0x001D2E71), UINT32_C(0x002A197E), UINT32_C(0x00115A8D),
+          UINT32_C(0x0024BF73), UINT32_C(0x0003CC85)}},
+        {{UINT32_C(0x002895B2), UINT32_C(0x00320735), UINT32_C(0x000CFB47),
+          UINT32_C(0x003DB761), UINT32_C(0x0024C433), UINT32_C(0x0013E23C),
+          UINT32_C(0x002BF3DF), UINT32_C(0x0050A160), UINT32_C(0x000ED8DF),
+          UINT32_C(0x00023DC8), UINT32_C(0x0022ADA6), UINT32_C(0x0055A62F),
+          UINT32_C(0x00118219), UINT32_C(0x00055FC7), UINT32_C(0x0016FC9A),
+          UINT32_C(0x0019CDAC), UINT32_C(0x001F6533), UINT32_C(0x0039DEF8),
+          UINT32_C(0x00365EB0), UINT32_C(0x001DE6A4), UINT32_C(0x002EC097),
+          UINT32_C(0x0014ABA8), UINT32_C(0x003B186E)},
+         {UINT32_C(0x0076F84F), UINT32_C(0x000A6360), UINT32_C(0x00389AFC),
+          UINT32_C(0x007F347C), UINT32_C(0x0010F3A6), UINT32_C(0x0020172F),
+          UINT32_C(0x002456C5), UINT32_C(0x0074D6FD), UINT32_C(0x003EBC5A),
+          UINT32_C(0x0015702D), UINT32_C(0x002C322D), UINT32_C(0x0062EC4A),
+          UINT32_C(0x001C6321), UINT32_C(0x001ECEE0), UINT32_C(0x000C4DCD),
+          UINT32_C(0x00385F54), UINT32_C(0x0015A2F6), UINT32_C(0x003EA398),
+          UINT32_C(0x00154A9E), UINT32_C(0x0035549D), UINT32_C(0x002902A3),
+          UINT32_C(0x000E87D8), UINT32_C(0x002197A4)}},
+        {{UINT32_C(0x000E5E61), UINT32_C(0x0004D26C), UINT32_C(0x0006E668),
+          UINT32_C(0x00001B95), UINT32_C(0x0022CEB8), UINT32_C(0x002AD340),
+          UINT32_C(0x00178FFF), UINT32_C(0x0068E92D), UINT32_C(0x001CE560),
+          UINT32_C(0x00314785), UINT32_C(0x003C340C), UINT32_C(0x000E0359),
+          UINT32_C(0x0012093F), UINT32_C(0x00126D05), UINT32_C(0x0001A73F),
+          UINT32_C(0x006AADBB), UINT32_C(0x002D01CE), UINT32_C(0x001E4C4C),
+          UINT32_C(0x0019B1E1), UINT32_C(0x001E252E), UINT32_C(0x0027C32F),
+          UINT32_C(0x0027F7C8), UINT32_C(0x00274554)},
+         {UINT32_C(0x0047C011), UINT32_C(0x0016AC83), UINT32_C(0x001C5FD0),
+          UINT32_C(0x002B42DE), UINT32_C(0x00108C9B), UINT32_C(0x003E5C82),
+          UINT32_C(0x001F47C2), UINT32_C(0x0067643D), UINT32_C(0x00253B0C),
+          UINT32_C(0x003B23F4), UINT32_C(0x00285E6A), UINT32_C(0x0000127F),
+          UINT32_C(0x001AFEDD), UINT32_C(0x001639C8), UINT32_C(0x0035C65D),
+          UINT32_C(0x003890F9), UINT32_C(0x0026D0AD), UINT32_C(0x0024695D),
+          UINT32_C(0x0033FF31), UINT32_C(0x00166142), UINT32_C(0x0032EBDF),
+          UINT32_C(0x000D509E), UINT32_C(0x00190DE4)}},
+        {{UINT32_C(0x005E3F2E), UINT32_C(0x0010C08C), UINT32_C(0x0010E26F),
+          UINT32_C(0x0025A315), UINT32_C(0x0009E64F), UINT32_C(0x00002605),
+          UINT32_C(0x003601E3), UINT32_C(0x00634D76), UINT32_C(0x003BFCD4),
+          UINT32_C(0x00123253), UINT32_C(0x001D94E0), UINT32_C(0x003E9F61),
+          UINT32_C(0x0025A1E6), UINT32_C(0x00075853), UINT32_C(0x001EC114),
+          UINT32_C(0x00470547), UINT32_C(0x003E437A), UINT32_C(0x0019ED05),
+          UINT32_C(0x00061623), UINT32_C(0x0038D391), UINT32_C(0x0031CCDE),
+          UINT32_C(0x003374B4), UINT32_C(0x0007C7B9)},
+         {UINT32_C(0x00512F62), UINT32_C(0x002E17FE), UINT32_C(0x0036CB08),
+          UINT32_C(0x001BDB9E), UINT32_C(0x00394D71), UINT32_C(0x002A7EF7),
+          UINT32_C(0x002E6818), UINT32_C(0x005F5A88), UINT32_C(0x00311E36),
+          UINT32_C(0x002A6BB1), UINT32_C(0x0019CD43), UINT32_C(0x0045542F),
+          UINT32_C(0x002B8CEA), UINT32_C(0x000FA346), UINT32_C(0x002E1A7A),
+          UINT32_C(0x000BD16F), UINT32_C(0x00245C8D), UINT32_C(0x00314F13),
+          UINT32_C(0x000FFBE8), UINT32_C(0x0056B54A), UINT32_C(0x00382922),
+          UINT32_C(0x0035F251), UINT32_C(0x003ACEB3)}},
+        {{UINT32_C(0x003E11B5), UINT32_C(0x0002716B), UINT32_C(0x002750E4),
+          UINT32_C(0x003740A5), UINT32_C(0x00338906), UINT32_C(0x0013B5F0),
+          UINT32_C(0x0027CFAE), UINT32_C(0x004AA6D3), UINT32_C(0x0039E3B9),
+          UINT32_C(0x002D1B9F), UINT32_C(0x000035D9), UINT32_C(0x001E459B),
+          UINT32_C(0x000CF781), UINT32_C(0x0020167F), UINT32_C(0x001BB777),
+          UINT32_C(0x0038BA4C), UINT32_C(0x0028F2E3), UINT32_C(0x0037D8D5),
+          UINT32_C(0x001ECF87), UINT32_C(0x004E758A), UINT32_C(0x002AA667),
+          UINT32_C(0x002E97A6), UINT32_C(0x00352507)},
+         {UINT32_C(0x00283BBD), UINT32_C(0x00263775), UINT32_C(0x000C63C9),
+          UINT32_C(0x00001EE4), UINT32_C(0x003ACBBF), UINT32_C(0x00162A58),
+          UINT32_C(0x0007B4FE), UINT32_C(0x00351728), UINT32_C(0x001973F1),
+          UINT32_C(0x002770E0), UINT32_C(0x003116FA), UINT32_C(0x0046EBBD),
+          UINT32_C(0x002C2896), UINT32_C(0x0036E872), UINT32_C(0x0013137C),
+          UINT32_C(0x002F444F), UINT32_C(0x003B3375), UINT32_C(0x0003C6AB),
+          UINT32_C(0x000FCBE7), UINT32_C(0x006D9063), UINT32_C(0x0020E15A),
+          UINT32_C(0x000D5454), UINT32_C(0x0037BDB0)}},
+        {{UINT32_C(0x00439E00), UINT32_C(0x001E43D1), UINT32_C(0x003DE476),
+          UINT32_C(0x00148953), UINT32_C(0x0025C9E8), UINT32_C(0x001B6D92),
+          UINT32_C(0x000AA405), UINT32_C(0x0040CB85), UINT32_C(0x00310A15),
+          UINT32_C(0x003D0034), UINT32_C(0x001ACFB7), UINT32_C(0x00171502),
+          UINT32_C(0x0034B2C2), UINT32_C(0x0027FB5D), UINT32_C(0x003B0085),
+          UINT32_C(0x00344898), UINT32_C(0x003CA33C), UINT32_C(0x001BAF56),
+          UINT32_C(0x00021B32), UINT32_C(0x00448603), UINT32_C(0x00091BA6),
+          UINT32_C(0x000BAFC4), UINT32_C(0x0013D5A4)},
+         {UINT32_C(0x00780D50), UINT32_C(0x0004D808), UINT32_C(0x002F1F9D),
+          UINT32_C(0x006E9B4E), UINT32_C(0x001EDD73), UINT32_C(0x000A2602),
+          UINT32_C(0x0032564D), UINT32_C(0x000A5962), UINT32_C(0x002D65F0),
+          UINT32_C(0x001FF6E8), UINT32_C(0x00263DE7), UINT32_C(0x0028B02D),
+          UINT32_C(0x000E0A8D), UINT32_C(0x002AE55E), UINT32_C(0x002EAA0B),
+          UINT32_C(0x00508B9C), UINT32_C(0x002CA2CC), UINT32_C(0x0039B8A4),
+          UINT32_C(0x000CF2D9), UINT32_C(0x002B0C05), UINT32_C(0x0036C4C9),
+          UINT32_C(0x00115406), UINT32_C(0x003A4458)}},
+        {{UINT32_C(0x001A9FEF), UINT32_C(0x0017C5B8), UINT32_C(0x0014F927),
+          UINT32_C(0x0033E7CA), UINT32_C(0x001DE04B), UINT32_C(0x0021489F),
+          UINT32_C(0x003223E7), UINT32_C(0x007F4816), UINT32_C(0x0016233A),
+          UINT32_C(0x000E408A), UINT32_C(0x0025911C), UINT32_C(0x006CFEEF),
+          UINT32_C(0x00162D98), UINT32_C(0x001FB3B2), UINT32_C(0x000CAFE2),
+          UINT32_C(0x00140C69), UINT32_C(0x00373513), UINT32_C(0x0005EFAF),
+          UINT32_C(0x00318C8D), UINT32_C(0x001ED26D), UINT32_C(0x0023E013),
+          UINT32_C(0x000E235E), UINT32_C(0x002D6FB0)},
+         {UINT32_C(0x004D9693), UINT32_C(0x0018038F), UINT32_C(0x001CF661),
+          UINT32_C(0x002F57EB), UINT32_C(0x001E346F), UINT32_C(0x0030F7B0),
+          UINT32_C(0x001DD4F8), UINT32_C(0x002D4964), UINT32_C(0x003D7230),
+          UINT32_C(0x000FA730), UINT32_C(0x001D142C), UINT32_C(0x002276EA),
+          UINT32_C(0x001BA178), UINT32_C(0x001466BF), UINT32_C(0x000BF8C5),
+          UINT32_C(0x0040D605), UINT32_C(0x002D85AB), UINT32_C(0x001F11D4),
+          UINT32_C(0x0016C7D7), UINT32_C(0x000AA5D0), UINT32_C(0x00359550),
+          UINT32_C(0x0029A075), UINT32_C(0x00122CA4)}},
+        {{UINT32_C(0x0072B845), UINT32_C(0x001BEE64), UINT32_C(0x0030577D),
+          UINT32_C(0x006BAF51), UINT32_C(0x0024885D), UINT32_C(0x002BA5B1),
+          UINT32_C(0x00236704), UINT32_C(0x000346DC), UINT32_C(0x002A639E),
+          UINT32_C(0x003AF226), UINT32_C(0x002EA89E), UINT32_C(0x0026AF84),
+          UINT32_C(0x00004D4C), UINT32_C(0x0003640E), UINT32_C(0x001D8986),
+          UINT32_C(0x000E2826), UINT32_C(0x000D1018), UINT32_C(0x002CB972),
+          UINT32_C(0x0009688A), UINT32_C(0x000489A0), UINT32_C(0x002E4F56),
+          UINT32_C(0x003DD33C), UINT32_C(0x003609BA)},
+         {UINT32_C(0x001692AF), UINT32_C(0x002C1F96), UINT32_C(0x003792D8),
+          UINT32_C(0x00069079), UINT32_C(0x0016ED4A), UINT32_C(0x003B5304),
+          UINT32_C(0x000FA6CC), UINT32_C(0x0018593E), UINT32_C(0x0000C409),
+          UINT32_C(0x0004E36E), UINT32_C(0x0003E4B0), UINT32_C(0x0018A207),
+          UINT32_C(0x00146BF4), UINT32_C(0x001CBDA5), UINT32_C(0x0011B878),
+          UINT32_C(0x0062A10E), UINT32_C(0x0002D181), UINT32_C(0x001D3599),
+          UINT32_C(0x00185943), UINT32_C(0x00609AB4), UINT32_C(0x002218D4),
+          UINT32_C(0x003653F8), UINT32_C(0x0019F9FD)}},
+        {{UINT32_C(0x002ED6C7), UINT32_C(0x003C5236), UINT32_C(0x00186569),
+          UINT32_C(0x00428772), UINT32_C(0x003A69E3), UINT32_C(0x00087BF9),
+          UINT32_C(0x003E9E5F), UINT32_C(0x003AE8B4), UINT32_C(0x003504F3),
+          UINT32_C(0x000A8276), UINT32_C(0x003C584F), UINT32_C(0x0069143D),
+          UINT32_C(0x002C8325), UINT32_C(0x000FFE9F), UINT32_C(0x00191129),
+          UINT32_C(0x00319B36), UINT32_C(0x00115E02), UINT32_C(0x0016E07A),
+          UINT32_C(0x002FA414), UINT32_C(0x0014619E), UINT32_C(0x0012CD22),
+          UINT32_C(0x002D0E0D), UINT32_C(0x00125784)},
+         {UINT32_C(0x00642A65), UINT32_C(0x00203D55), UINT32_C(0x0016C315),
+          UINT32_C(0x003CF7A9), UINT32_C(0x003071DE), UINT32_C(0x00106DAE),
+          UINT32_C(0x000B2C7D), UINT32_C(0x0047BA31), UINT32_C(0x002CA388),
+          UINT32_C(0x0029FBFC), UINT32_C(0x00390EAC), UINT32_C(0x0057CD61),
+          UINT32_C(0x0021CF36), UINT32_C(0x0034A05C), UINT32_C(0x00008B13),
+          UINT32_C(0x00793DB5), UINT32_C(0x0017E8E7), UINT32_C(0x0035D12F),
+          UINT32_C(0x003D6716), UINT32_C(0x004C990F), UINT32_C(0x003B6448),
+          UINT32_C(0x000A7F2C), UINT32_C(0x0025B5C5)}},
+        {{UINT32_C(0x005E98D9), UINT32_C(0x0026DFA6), UINT32_C(0x000864C2),
+          UINT32_C(0x002E69DF), UINT32_C(0x00364C2C), UINT32_C(0x000D5FD3),
+          UINT32_C(0x001356CE), UINT32_C(0x00454A4C), UINT32_C(0x003B0302),
+          UINT32_C(0x0016D23C), UINT32_C(0x000B4AAA), UINT32_C(0x0057F380),
+          UINT32_C(0x0007CFAC), UINT32_C(0x0027103B), UINT32_C(0x000CAA2B),
+          UINT32_C(0x005B3BDE), UINT32_C(0x000D252E), UINT32_C(0x002FC387),
+          UINT32_C(0x001B39E0), UINT32_C(0x003C0113), UINT32_C(0x0009ADA1),
+          UINT32_C(0x002D5182), UINT32_C(0x00029B37)},
+         {UINT32_C(0x003B5C86), UINT32_C(0x002985B6), UINT32_C(0x00193F46),
+          UINT32_C(0x007D3FF4), UINT32_C(0x0017EA07), UINT32_C(0x003167A4),
+          UINT32_C(0x0028ECD5), UINT32_C(0x00102560), UINT32_C(0x0014D8CD),
+          UINT32_C(0x0009D70A), UINT32_C(0x0036C65B), UINT32_C(0x0077810C),
+          UINT32_C(0x0038B843), UINT32_C(0x000AAA4F), UINT32_C(0x000423CC),
+          UINT32_C(0x00609B5A), UINT32_C(0x000B047D), UINT32_C(0x0032FCF2),
+          UINT32_C(0x00341089), UINT32_C(0x002F82CA), UINT32_C(0x0012D7A7),
+          UINT32_C(0x002D3F89), UINT32_C(0x00189DD5)}},
+        {{UINT32_C(0x0066582F), UINT32_C(0x00257453), UINT32_C(0x00210314),
+          UINT32_C(0x0062A225), UINT32_C(0x00165C3B), UINT32_C(0x002E6592),
+          UINT32_C(0x002F1436), UINT32_C(0x005EE3F8), UINT32_C(0x0007F555),
+          UINT32_C(0x0020F441), UINT32_C(0x0034ED55), UINT32_C(0x00308313),
+          UINT32_C(0x0034A8DF), UINT32_C(0x0019301D), UINT32_C(0x00173FDB),
+          UINT32_C(0x00144214), UINT32_C(0x0019892A), UINT32_C(0x0027897A),
+          UINT32_C(0x0021A061), UINT32_C(0x007D24B8), UINT32_C(0x0037F3B1),
+          UINT32_C(0x00248CC2), UINT32_C(0x00373DB3)},
+         {UINT32_C(0x000BF27A), UINT32_C(0x0039D46B), UINT32_C(0x001AD6FE),
+          UINT32_C(0x00475AC8), UINT32_C(0x00063B06), UINT32_C(0x00233FD2),
+          UINT32_C(0x0035C0AF), UINT32_C(0x006C6594), UINT32_C(0x002F3CD2),
+          UINT32_C(0x0015DF1B), UINT32_C(0x002DF565), UINT32_C(0x0022D72E),
+          UINT32_C(0x0004B112), UINT32_C(0x00022C9B), UINT32_C(0x00217D30),
+          UINT32_C(0x00586404), UINT32_C(0x00175C8A), UINT32_C(0x003CD70E),
+          UINT32_C(0x003F9D96), UINT32_C(0x007351B7), UINT32_C(0x00328F89),
+          UINT32_C(0x00339645), UINT32_C(0x00147D37)}},
+        {{UINT32_C(0x0006ACC7), UINT32_C(0x0017F7BC), UINT32_C(0x00043BCE),
+          UINT32_C(0x00259C1D), UINT32_C(0x002CDB37), UINT32_C(0x0007238C),
+          UINT32_C(0x00375E6F), UINT32_C(0x00022971), UINT32_C(0x001B4942),
+          UINT32_C(0x003E301A), UINT32_C(0x00389E0C), UINT32_C(0x0014070B),
+          UINT32_C(0x0029DEFC), UINT32_C(0x002DDAC4), UINT32_C(0x00236616),
+          UINT32_C(0x0000A23A), UINT32_C(0x003BA71B), UINT32_C(0x00230957),
+          UINT32_C(0x002229EB), UINT32_C(0x0073C8F9), UINT32_C(0x0025DF6A),
+          UINT32_C(0x002BADCB), UINT32_C(0x000F1344)},
+         {UINT32_C(0x001BEE3F), UINT32_C(0x001FA015), UINT32_C(0x000CFE6E),
+          UINT32_C(0x006FB0F7), UINT32_C(0x003C54F5), UINT32_C(0x003503D8),
+          UINT32_C(0x000B28FC), UINT32_C(0x0001F5C0), UINT32_C(0x00104298),
+          UINT32_C(0x003AF43A), UINT32_C(0x003A5408), UINT32_C(0x0018DAC0),
+          UINT32_C(0x0032EE35), UINT32_C(0x0031C65F), UINT32_C(0x000B31F5),
+          UINT32_C(0x0018B829), UINT32_C(0x000133FD), UINT32_C(0x00280CF1),
+          UINT32_C(0x00206DF2), UINT32_C(0x0009D76F), UINT32_C(0x001DC987),
+          UINT32_C(0x00365635), UINT32_C(0x0014E280)}},
+        {{UINT32_C(0x0052A016), UINT32_C(0x0006F577), UINT32_C(0x001C0241),
+          UINT32_C(0x005E5024), UINT32_C(0x000DA944), UINT32_C(0x000855A1),
+          UINT32_C(0x002A89F3), UINT32_C(0x000E86B5), UINT32_C(0x000CEF59),
+          UINT32_C(0x003E508E), UINT32_C(0x00384B7E), UINT32_C(0x0032AAA5),
+          UINT32_C(0x0018FF8F), UINT32_C(0x002CD18E), UINT32_C(0x00040821),
+          UINT32_C(0x00189644), UINT32_C(0x002DEB40), UINT32_C(0x00132C27),
+          UINT32_C(0x000B3030), UINT32_C(0x0054A603), UINT32_C(0x0006BBED),
+          UINT32_C(0x0031D103), UINT32_C(0x002F003F)},
+         {UINT32_C(0x001E656D), UINT32_C(0x002FF583), UINT32_C(0x0012A61F),
+          UINT32_C(0x00346DBE), UINT32_C(0x002A6FB1), UINT32_C(0x0011FD3B),
+          UINT32_C(0x0001276C), UINT32_C(0x006148C0), UINT32_C(0x00016501),
+          UINT32_C(0x000C96D4), UINT32_C(0x003DB630), UINT32_C(0x00492C8D),
+          UINT32_C(0x00057FDE), UINT32_C(0x000CF96C), UINT32_C(0x000164CA),
+          UINT32_C(0x004FCB96), UINT32_C(0x00385504), UINT32_C(0x003E5188),
+          UINT32_C(0x00286382), UINT32_C(0x0041E093), UINT32_C(0x0002DAB5),
+          UINT32_C(0x0010BB0F), UINT32_C(0x0000784C)}},
+        {{UINT32_C(0x0075746D), UINT32_C(0x003F9D7D), UINT32_C(0x002D54D0),
+          UINT32_C(0x000CA2BA), UINT32_C(0x0034E004), UINT32_C(0x00145EDC),
+          UINT32_C(0x0024946A), UINT32_C(0x002B2267), UINT32_C(0x0029D5D7),
+          UINT32_C(0x001BD561), UINT32_C(0x00040FF1), UINT32_C(0x007A8818),
+          UINT32_C(0x000347CA), UINT32_C(0x00368968), UINT32_C(0x003DFBFD),
+          UINT32_C(0x0045E779), UINT32_C(0x0028CB15), UINT32_C(0x0006FE47),
+          UINT32_C(0x002AE3AD), UINT32_C(0x000C1917), UINT32_C(0x001A6E74),
+          UINT32_C(0x000C0AAF), UINT32_C(0x001EAD78)},
+         {UINT32_C(0x0013957A), UINT32_C(0x000B13A3), UINT32_C(0x002FC29D),
+          UINT32_C(0x00318258), UINT32_C(0x000316AF), UINT32_C(0x00159186),
+          UINT32_C(0x002F9ACE), UINT32_C(0x002617A1), UINT32_C(0x002DA110),
+          UINT32_C(0x0024827F), UINT32_C(0x0014B7E3), UINT32_C(0x005A1108),
+          UINT32_C(0x002AD5AB), UINT32_C(0x001F8CD8), UINT32_C(0x00280CBB),
+          UINT32_C(0x000F3352), UINT32_C(0x0021699D), UINT32_C(0x003D79ED),
+          UINT32_C(0x000F2342), UINT32_C(0x000A46DF), UINT32_C(0x000765C5),
+          UINT32_C(0x001562AA), UINT32_C(0x001933BE)}},
+        {{UINT32_C(0x00771DC4), UINT32_C(0x00105963), UINT32_C(0x0013309E),
+          UINT32_C(0x002D5F9C), UINT32_C(0x003816E4), UINT32_C(0x00183FD1),
+          UINT32_C(0x0024CC65), UINT32_C(0x004C32C8), UINT32_C(0x00023344),
+          UINT32_C(0x00127581), UINT32_C(0x00170A08), UINT32_C(0x003E271B),
+          UINT32_C(0x00376C4A), UINT32_C(0x00378FA8), UINT32_C(0x0038BD67),
+          UINT32_C(0x006DD9F1), UINT32_C(0x0013CB77), UINT32_C(0x00110A9A),
+          UINT32_C(0x0011B015), UINT32_C(0x003AB2F7), UINT32_C(0x00203C14),
+          UINT32_C(0x0037D1D9), UINT32_C(0x0017F513)},
+         {UINT32_C(0x00383DC1), UINT32_C(0x0032B2DC), UINT32_C(0x003F0168),
+          UINT32_C(0x00279081), UINT32_C(0x001E4F82), UINT32_C(0x00183A42),
+          UINT32_C(0x000BFB80), UINT32_C(0x005A12C9), UINT32_C(0x00186FCD),
+          UINT32_C(0x002E7365), UINT32_C(0x0026CDDE), UINT32_C(0x007856A6),
+          UINT32_C(0x00241080), UINT32_C(0x000BB921), UINT32_C(0x003E1A85),
+          UINT32_C(0x0062D604), UINT32_C(0x000BB5D8), UINT32_C(0x0026B482),
+          UINT32_C(0x0019F5D5), UINT32_C(0x0028F3DC), UINT32_C(0x00143FEB),
+          UINT32_C(0x003E5ADA), UINT32_C(0x00253DEF)}},
+        {{UINT32_C(0x006BA123), UINT32_C(0x000A781D), UINT32_C(0x000B7D51),
+          UINT32_C(0x00740F38), UINT32_C(0x002940F6), UINT32_C(0x00157C6F),
+          UINT32_C(0x003E02CE), UINT32_C(0x007207C6), UINT32_C(0x001B64BC),
+          UINT32_C(0x00372F37), UINT32_C(0x003A87CB), UINT32_C(0x002D7712),
+          UINT32_C(0x001B97D4), UINT32_C(0x00391CB2), UINT32_C(0x003AB655),
+          UINT32_C(0x00002E6F), UINT32_C(0x002C7D2F), UINT32_C(0x002AA52F),
+          UINT32_C(0x0032378F), UINT32_C(0x0072D63D), UINT32_C(0x0038FA33),
+          UINT32_C(0x003C9DB3), UINT32_C(0x0008013D)},
+         {UINT32_C(0x0002066C), UINT32_C(0x0035DFEF), UINT32_C(0x001BC43F),
+          UINT32_C(0x0029FB46), UINT32_C(0x0013F28B), UINT32_C(0x002A9E1C),
+          UINT32_C(0x00316CE9), UINT32_C(0x002537F0), UINT32_C(0x002F07AC),
+          UINT32_C(0x0037B3FA), UINT32_C(0x000BB76B), UINT32_C(0x0049349E),
+          UINT32_C(0x00330713), UINT32_C(0x002755E1), UINT32_C(0x002928A9),
+          UINT32_C(0x00636D8A), UINT32_C(0x0036549D), UINT32_C(0x00119414),
+          UINT32_C(0x002CF725), UINT32_C(0x0037181E), UINT32_C(0x0001A2BC),
+          UINT32_C(0x0019DA46), UINT32_C(0x003B690A)}},
+    },
+    {
+        {{UINT32_C(0x0032A280), UINT32_C(0x001CB2CC), UINT32_C(0x000F9796),
+          UINT32_C(0x00007D75), UINT32_C(0x001AF2EB), UINT32_C(0x003C758A),
+          UINT32_C(0x003A6728), UINT32_C(0x0043B3E9), UINT32_C(0x00188CE5),
+          UINT32_C(0x0029D0A4), UINT32_C(0x000113A0), UINT32_C(0x0022343F),
+          UINT32_C(0x000890D8), UINT32_C(0x0012176A), UINT32_C(0x002971B0),
+          UINT32_C(0x00785A55), UINT32_C(0x0001C0B7), UINT32_C(0x00273262),
+          UINT32_C(0x002D06D6), UINT32_C(0x0006C271), UINT32_C(0x001E07EA),
+          UINT32_C(0x003A1542), UINT32_C(0x0026C181)},
+         {UINT32_C(0x00414498), UINT32_C(0x0014CB47), UINT32_C(0x000FFCA6),
+          UINT32_C(0x002D51CC), UINT32_C(0x000008D4), UINT32_C(0x00244EA0),
+          UINT32_C(0x002F062C), UINT32_C(0x000336A8), UINT32_C(0x00150722),
+          UINT32_C(0x0019F588), UINT32_C(0x000CB860), UINT32_C(0x00604BC3),
+          UINT32_C(0x0008902B), UINT32_C(0x003D5ADC), UINT32_C(0x00088D53),
+          UINT32_C(0x000A2728), UINT32_C(0x003852C8), UINT32_C(0x001CE562),
+          UINT32_C(0x003D7474), UINT32_C(0x000E17F9), UINT32_C(0x000ADBDE),
+          UINT32_C(0x0002F321), UINT32_C(0x002B5370)}},
+        {{UINT32_C(0x00720956), UINT32_C(0x0012FE7D), UINT32_C(0x003A4010),
+          UINT32_C(0x0005E1F1), UINT32_C(0x002FCF68), UINT32_C(0x0001CA0D),
+          UINT32_C(0x001F9A09), UINT32_C(0x00476576), UINT32_C(0x001BBE6F),
+          UINT32_C(0x00157A43), UINT32_C(0x00041B45), UINT32_C(0x0069B21A),
+          UINT32_C(0x0011A874), UINT32_C(0x00237329), UINT32_C(0x0010ABF2),
+          UINT32_C(0x004A1BCF), UINT32_C(0x00248B43), UINT32_C(0x0039B567),
+          UINT32_C(0x00162490), UINT32_C(0x002F2BDB), UINT32_C(0x00296C0C),
+          UINT32_C(0x000A4FEE), UINT32_C(0x0004AD98)},
+         {UINT32_C(0x004454EB), UINT32_C(0x002C8099), UINT32_C(0x0010E84D),
+          UINT32_C(0x002E2241), UINT32_C(0x003207CA), UINT32_C(0x000F5910),
+          UINT32_C(0x0003F04F), UINT32_C(0x00392613), UINT32_C(0x000ADE9F),
+          UINT32_C(0x003DBD57), UINT32_C(0x0030B86D), UINT32_C(0x0009CC16),
+          UINT32_C(0x000A209A), UINT32_C(0x003C2AFA), UINT32_C(0x00035E76),
+          UINT32_C(0x005F940A), UINT32_C(0x002B2161), UINT32_C(0x000C7D9D),
+          UINT32_C(0x00363B77), UINT32_C(0x0077A201), UINT32_C(0x00399B44),
+          UINT32_C(0x0008E94D), UINT32_C(0x00008286)}},
+        {{UINT32_C(0x002B92BC), UINT32_C(0x0006153E), UINT32_C(0x0000F8C6),
+          UINT32_C(0x005F1B6C), UINT32_C(0x0003BA49), UINT32_C(0x001A925E),
+          UINT32_C(0x000F9BBA), UINT32_C(0x00055F92), UINT32_C(0x002FBD92),
+          UINT32_C(0x002177A5), UINT32_C(0x003FB8F5), UINT32_C(0x005D4BF2),
+          UINT32_C(0x002146D4), UINT32_C(0x0036976B), UINT32_C(0x0022B1BA),
+          UINT32_C(0x0032F949), UINT32_C(0x000965FD), UINT32_C(0x001E9F3E),
+          UINT32_C(0x002DA23B), UINT32_C(0x00107070), UINT32_C(0x00398A1E),
+          UINT32_C(0x00069BFE), UINT32_C(0x002FDDC0)},
+         {UINT32_C(0x0072B741), UINT32_C(0x003D395C), UINT32_C(0x003A9B25),
+          UINT32_C(0x00294646), UINT32_C(0x00021148), UINT32_C(0x0015DA45),
+          UINT32_C(0x00113C40), UINT32_C(0x00419E05), UINT32_C(0x003F3B62),
+          UINT32_C(0x001F8475), UINT32_C(0x0006EE22), UINT32_C(0x0066BC79),
+          UINT32_C(0x0008B7CC), UINT32_C(0x00023931), UINT32_C(0x00167FA8),
+          UINT32_C(0x003BD93E), UINT32_C(0x0039EE3D), UINT32_C(0x001DFEEA),
+          UINT32_C(0x001FDCFE), UINT32_C(0x00613DB2), UINT32_C(0x00160B1F),
+          UINT32_C(0x001970FE), UINT32_C(0x0023B0DD)}},
+        {{UINT32_C(0x0023C1BA), UINT32_C(0x002E5121), UINT32_C(0x002C52E9),
+          UINT32_C(0x007811E3), UINT32_C(0x0001A384), UINT32_C(0x002EABE1),
+          UINT32_C(0x0024FBC8), UINT32_C(0x0045D98F), UINT32_C(0x001C8207),
+          UINT32_C(0x0033DA7A), UINT32_C(0x0030B201), UINT32_C(0x0023DFB3),
+          UINT32_C(0x0014CD7A), UINT32_C(0x000B9A13), UINT32_C(0x0029ED72),
+          UINT32_C(0x003FDD61), UINT32_C(0x002FAEDB), UINT32_C(0x0016FDA9),
+          UINT32_C(0x0006A7E0), UINT32_C(0x003CCE59), UINT32_C(0x00059683),
+          UINT32_C(0x0034B4B3), UINT32_C(0x00344F10)},
+         {UINT32_C(0x0064F192), UINT32_C(0x00121A7B), UINT32_C(0x001023D3),
+          UINT32_C(0x004802FA), UINT32_C(0x000C0C74), UINT32_C(0x003436B0),
+          UINT32_C(0x0028F327), UINT32_C(0x00104D43), UINT32_C(0x000B6D47),
+          UINT32_C(0x003D9F11), UINT32_C(0x0038A86E), UINT32_C(0x0024B31C),
+          UINT32_C(0x000D71F6), UINT32_C(0x0001075B), UINT32_C(0x00131E0B),
+          UINT32_C(0x006451D8), UINT32_C(0x0023646D), UINT32_C(0x00185996),
+          UINT32_C(0x00143B48), UINT32_C(0x0076F1C1), UINT32_C(0x000E8DA3),
+          UINT32_C(0x002EB768), UINT32_C(0x003FBF6F)}},
+        {{UINT32_C(0x004D2204), UINT32_C(0x002A5EA9), UINT32_C(0x00019369),
+          UINT32_C(0x0070CD74), UINT32_C(0x001A76B1), UINT32_C(0x003815C4),
+          UINT32_C(0x002E68F7), UINT32_C(0x005398A8), UINT32_C(0x0020AB8F),
+          UINT32_C(0x00185D53), UINT32_C(0x00168C1D), UINT32_C(0x00274E1A),
+          UINT32_C(0x000524F2), UINT32_C(0x003D9B1A), UINT32_C(0x0012E5AB),
+          UINT32_C(0x004C1050), UINT32_C(0x0032ABC0), UINT32_C(0x0025971D),
+          UINT32_C(0x003AC08F), UINT32_C(0x002F1AFC), UINT32_C(0x001407B9),
+          UINT32_C(0x00277B2E), UINT32_C(0x001B1F71)},
+         {UINT32_C(0x000D2E98), UINT32_C(0x0030B33B), UINT32_C(0x003037E7),
+          UINT32_C(0x00425F13), UINT32_C(0x002EBDC3), UINT32_C(0x001D9BE6),
+          UINT32_C(0x00111CD4), UINT32_C(0x007D7418), UINT32_C(0x001F1C08),
+          UINT32_C(0x0027B843), UINT32_C(0x002D41E6), UINT32_C(0x004D0FDD),
+          UINT32_C(0x00162312), UINT32_C(0x000A0EB8), UINT32_C(0x0004819A),
+          UINT32_C(0x001E097B), UINT32_C(0x0000A336), UINT32_C(0x000C49B4),
+          UINT32_C(0x001F6549), UINT32_C(0x0065532D), UINT32_C(0x00175C84),
+          UINT32_C(0x0008B3CF), UINT32_C(0x001D68D8)}},
+        {{UINT32_C(0x007E2EF2), UINT32_C(0x000CB9A8), UINT32_C(0x000968E6),
+          UINT32_C(0x00367210), UINT32_C(0x00079EA4), UINT32_C(0x00115BCE),
+          UINT32_C(0x002F228C), UINT32_C(0x007BE5BF), UINT32_C(0x003C8A27),
+          UINT32_C(0x000C8607), UINT32_C(0x00319827), UINT32_C(0x006BF356),
+          UINT32_C(0x00222BCA), UINT32_C(0x002D52EC), UINT32_C(0x001634C9),
+          UINT32_C(0x00422BB5), UINT32_C(0x0020B569), UINT32_C(0x002745C9),
+          UINT32_C(0x002547E2), UINT32_C(0x00692CC6), UINT32_C(0x00366369),
+          UINT32_C(0x000C2F45), UINT32_C(0x002DCB38)},
+         {UINT32_C(0x00432E57), UINT32_C(0x003BCE51), UINT32_C(0x002F50A1),
+          UINT32_C(0x00010E21), UINT32_C(0x000B5704), UINT32_C(0x003603EC),
+          UINT32_C(0x003DC6B0), UINT32_C(0x001D3C66), UINT32_C(0x003E876A),
+          UINT32_C(0x001D2475), UINT32_C(0x003D0CFE), UINT32_C(0x00752FD6),
+          UINT32_C(0x001389EE), UINT32_C(0x002682A3), UINT32_C(0x00006DE0),
+          UINT32_C(0x00466661), UINT32_C(0x0025CA0B), UINT32_C(0x003A47DE),
+          UINT32_C(0x001DBDDD), UINT32_C(0x00584C8D), UINT32_C(0x00097729),
+          UINT32_C(0x003A3D36), UINT32_C(0x0026D79A)}},
+        {{UINT32_C(0x0046DC32), UINT32_C(0x0039E30E), UINT32_C(0x001A553F),
+          UINT32_C(0x00631635), UINT32_C(0x00137523), UINT32_C(0x0011F122),
+          UINT32_C(0x0002887F), UINT32_C(0x0039C6A2), UINT32_C(0x003D3F52),
+          UINT32_C(0x000E5C16), UINT32_C(0x001B4338), UINT32_C(0x001104AD),
+          UINT32_C(0x0026AD2E), UINT32_C(0x000C1BE9), UINT32_C(0x000082A2),
+          UINT32_C(0x0036D7B0), UINT32_C(0x003E62E1), UINT32_C(0x002AC82D),
+          UINT32_C(0x00354EEE), UINT32_C(0x001B7162), UINT32_C(0x002F1507),
+          UINT32_C(0x00064946), UINT32_C(0x002B777F)},
+         {UINT32_C(0x00755CF4), UINT32_C(0x002F3F9D), UINT32_C(0x0027FBE0),
+          UINT32_C(0x00250D1C), UINT32_C(0x003AD66C), UINT32_C(0x00220A36),
+          UINT32_C(0x00324DD9), UINT32_C(0x000FD4E3), UINT32_C(0x002FB653),
+          UINT32_C(0x001407E0), UINT32_C(0x0007BD23), UINT32_C(0x001BCA1B),
+          UINT32_C(0x0023529D), UINT32_C(0x000512E2), UINT32_C(0x00322089),
+          UINT32_C(0x0052FB0B), UINT32_C(0x00159218), UINT32_C(0x000A2629),
+          UINT32_C(0x001ECC37), UINT32_C(0x000D691D), UINT32_C(0x001CDC35),
+          UINT32_C(0x0025DECE), UINT32_C(0x0008B229)}},
+        {{UINT32_C(0x00042A2E), UINT32_C(0x0002BECD), UINT32_C(0x000CE644),
+          UINT32_C(0x007EB2C8), UINT32_C(0x000CDB86), UINT32_C(0x0038243C),
+          UINT32_C(0x0013980F), UINT32_C(0x007DB14B), UINT32_C(0x003AF52F),
+          UINT32_C(0x0034D34E), UINT32_C(0x00328903), UINT32_C(0x0012E910),
+          UINT32_C(0x002F165C), UINT32_C(0x001F951B), UINT32_C(0x003DCC69),
+          UINT32_C(0x006A2790), UINT32_C(0x001419B1), UINT32_C(0x003CD6D6),
+          UINT32_C(0x000A88DC), UINT32_C(0x0065E513), UINT32_C(0x00038EAB),
+          UINT32_C(0x000DA64E), UINT32_C(0x001E4802)},
+         {UINT32_C(0x00411E28), UINT32_C(0x0038A31B), UINT32_C(0x000EA13F),
+          UINT32_C(0x00692375), UINT32_C(0x003972E4), UINT32_C(0x003C7618),
+          UINT32_C(0x0030675C), UINT32_C(0x000471A7), UINT32_C(0x001EAA31),
+          UINT32_C(0x000332B8), UINT32_C(0x000BA219), UINT32_C(0x005949F6),
+          UINT32_C(0x000721E9), UINT32_C(0x000B0539), UINT32_C(0x00351BFD),
+          UINT32_C(0x006AF8C8), UINT32_C(0x001749B7), UINT32_C(0x001B4221),
+          UINT32_C(0x00346E9F), UINT32_C(0x001D138C), UINT32_C(0x00315C0E),
+          UINT32_C(0x003AE1BD), UINT32_C(0x001E5845)}},
+        {{UINT32_C(0x0073DD11), UINT32_C(0x0038D066), UINT32_C(0x003B6E1E),
+          UINT32_C(0x0058D879), UINT32_C(0x003FC188), UINT32_C(0x0026EA01),
+          UINT32_C(0x003A5E72), UINT32_C(0x003EAE27), UINT32_C(0x0017EC7B),
+          UINT32_C(0x0021435A), UINT32_C(0x0030A0EF), UINT32_C(0x00226F77),
+          UINT32_C(0x00319511), UINT32_C(0x000EECC9), UINT32_C(0x00184FB1),
+          UINT32_C(0x00485367), UINT32_C(0x0012DBCE), UINT32_C(0x00296D94),
+          UINT32_C(0x001ECEF1), UINT32_C(0x0048A6EF), UINT32_C(0x000C1378),
+          UINT32_C(0x000486F3), UINT32_C(0x00294CB6)},
+         {UINT32_C(0x00659E15), UINT32_C(0x0021AFE5), UINT32_C(0x00035B7D),
+          UINT32_C(0x0014905A), UINT32_C(0x00190940), UINT32_C(0x0028A11C),
+          UINT32_C(0x003C2EC5), UINT32_C(0x0061D9FF), UINT32_C(0x003C91F9),
+          UINT32_C(0x000C24F9), UINT32_C(0x0021D20C), UINT32_C(0x0069147F),
+          UINT32_C(0x002C2485), UINT32_C(0x001F02A6), UINT32_C(0x001E436B),
+          UINT32_C(0x0070B5EC), UINT32_C(0x003C8887), UINT32_C(0x000479C4),
+          UINT32_C(0x00329212), UINT32_C(0x00023848), UINT32_C(0x000FD9D8),
+          UINT32_C(0x001CA129), UINT32_C(0x002842CB)}},
+        {{UINT32_C(0x007B92F5), UINT32_C(0x0037A067), UINT32_C(0x000074AF),
+          UINT32_C(0x005B2F28), UINT32_C(0x000CBF5F), UINT32_C(0x00077719),
+          UINT32_C(0x0015F2E0), UINT32_C(0x0016A3E7), UINT32_C(0x001CEB10),
+          UINT32_C(0x0022F6C6), UINT32_C(0x003D1FA9), UINT32_C(0x004CD931),
+          UINT32_C(0x001D7522), UINT32_C(0x001781A9), UINT32_C(0x003443CE),
+          UINT32_C(0x006FA88B), UINT32_C(0x001564BA), UINT32_C(0x00110D1F),
+          UINT32_C(0x0012896B), UINT32_C(0x000B6064), UINT32_C(0x00253009),
+          UINT32_C(0x0007C604), UINT32_C(0x003E79C8)},
+         {UINT32_C(0x0022EAC3), UINT32_C(0x001D3CBB), UINT32_C(0x001660EB),
+          UINT32_C(0x00530D25), UINT32_C(0x001DDD46), UINT32_C(0x0038675B),
+          UINT32_C(0x00270FCB), UINT32_C(0x0070D781), UINT32_C(0x0036DB98),
+          UINT32_C(0x0010E11B), UINT32_C(0x0019CA07), UINT32_C(0x004B0308),
+          UINT32_C(0x003E92E0), UINT32_C(0x00039F79), UINT32_C(0x002FAD1D),
+          UINT32_C(0x0017B8FE), UINT32_C(0x001C8122), UINT32_C(0x0013FAE1),
+          UINT32_C(0x00095301), UINT32_C(0x003B1103), UINT32_C(0x00031A89),
+          UINT32_C(0x001447C4), UINT32_C(0x0009D34F)}},
+        {{UINT32_C(0x007C8A6B), UINT32_C(0x002A2FE8), UINT32_C(0x0035E593),
+          UINT32_C(0x004E1D4D), UINT32_C(0x0015A0B8), UINT32_C(0x0020842D),
+          UINT32_C(0x0018D50D), UINT32_C(0x001081D4), UINT32_C(0x00126A85),
+          UINT32_C(0x0005E191), UINT32_C(0x001BEF59), UINT32_C(0x005AA8B6),
+          UINT32_C(0x003A3A60), UINT32_C(0x000ABF90), UINT32_C(0x0006196E),
+          UINT32_C(0x00150E95), UINT32_C(0x000CB2DC), UINT32_C(0x000DDCD3),
+          UINT32_C(0x003E2A72), UINT32_C(0x00582EAB), UINT32_C(0x0035F095),
+          UINT32_C(0x0010E8B9), UINT32_C(0x002F9603)},
+         {UINT32_C(0x00381ED7), UINT32_C(0x000655D9), UINT32_C(0x00270A8E),
+          UINT32_C(0x00048245), UINT32_C(0x00309CD3), UINT32_C(0x0017ED44),
+          UINT32_C(0x001D450E), UINT32_C(0x000312BA), UINT32_C(0x0005985D),
+          UINT32_C(0x00358C0C), UINT32_C(0x002A7087), UINT32_C(0x0072F6C5),
+          UINT32_C(0x00198D4B), UINT32_C(0x00266DA7), UINT32_C(0x0030D13D),
+          UINT32_C(0x00164FAF), UINT32_C(0x001B3D2A), UINT32_C(0x00054328),
+          UINT32_C(0x00297C8D), UINT32_C(0x0024974D), UINT32_C(0x000C4C24),
+          UINT32_C(0x00233778), UINT32_C(0x000A3C4F)}},
+        {{UINT32_C(0x0019EECE), UINT32_C(0x00162127), UINT32_C(0x001040AF),
+          UINT32_C(0x001C475E), UINT32_C(0x00239506), UINT32_C(0x0009AF50),
+          UINT32_C(0x001C9807), UINT32_C(0x003FA8CC), UINT32_C(0x003128F6),
+          UINT32_C(0x00045734), UINT32_C(0x001442AC), UINT32_C(0x0047E27E),
+          UINT32_C(0x003215CF), UINT32_C(0x00140684), UINT32_C(0x0023566D),
+          UINT32_C(0x0062EA4E), UINT32_C(0x0026B67A), UINT32_C(0x00295AF8),
+          UINT32_C(0x0006E548), UINT32_C(0x0040F0F6), UINT32_C(0x003FA25A),
+          UINT32_C(0x003841B6), UINT32_C(0x0034374F)},
+         {UINT32_C(0x0011DBC4), UINT32_C(0x001EE6DB), UINT32_C(0x00351C56),
+          UINT32_C(0x003D4083), UINT32_C(0x001009D6), UINT32_C(0x003E9349),
+          UINT32_C(0x00010A11), UINT32_C(0x00382D27), UINT32_C(0x003D7132),
+          UINT32_C(0x001999FC), UINT32_C(0x003911D4), UINT32_C(0x0045D805),
+          UINT32_C(0x0001B235), UINT32_C(0x00258644), UINT32_C(0x001B1DA8),
+          UINT32_C(0x007D367D), UINT32_C(0x002106B2), UINT32_C(0x00096B2D),
+          UINT32_C(0x001A078D), UINT32_C(0x007CE535), UINT32_C(0x003C6BB8),
+          UINT32_C(0x0021FC86), UINT32_C(0x00388E7F)}},
+        {{UINT32_C(0x003C849A), UINT32_C(0x00339DA9), UINT32_C(0x0001B56C),
+          UINT32_C(0x0018B48F), UINT32_C(0x0036B241), UINT32_C(0x001C3E99),
+          UINT32_C(0x001DC79F), UINT32_C(0x006E4794), UINT32_C(0x0014AD70),
+          UINT32_C(0x0020AF6F), UINT32_C(0x00286589), UINT32_C(0x0000AA9B),
+          UINT32_C(0x00287B90), UINT32_C(0x0036D3BA), UINT32_C(0x002CB788),
+          UINT32_C(0x0036DAF5), UINT32_C(0x000DA427), UINT32_C(0x0003CD59),
+          UINT32_C(0x00026B18), UINT32_C(0x002DA542), UINT32_C(0x0010AEF9),
+          UINT32_C(0x003EA11A), UINT32_C(0x003453B3)},
+         {UINT32_C(0x001D0091), UINT32_C(0x0020390C), UINT32_C(0x002D251A),
+          UINT32_C(0x0043EFFA), UINT32_C(0x00284188), UINT32_C(0x00326C4E),
+          UINT32_C(0x001965D5), UINT32_C(0x0052E6EE), UINT32_C(0x0000616F),
+          UINT32_C(0x002561A4), UINT32_C(0x003AD411), UINT32_C(0x0036D206),
+          UINT32_C(0x000E1BD3), UINT32_C(0x001392B2), UINT32_C(0x002A8475),
+          UINT32_C(0x0066EFA5), UINT32_C(0x0037E866), UINT32_C(0x001BBD62),
+          UINT32_C(0x001D1550), UINT32_C(0x0032E625), UINT32_C(0x00302306),
+          UINT32_C(0x001E0DDA), UINT32_C(0x001CF60C)}},
+        {{UINT32_C(0x0023F415), UINT32_C(0x0034D9CF), UINT32_C(0x0024E53D),
+          UINT32_C(0x000875AF), UINT32_C(0x00052504), UINT32_C(0x003FD275),
+          UINT32_C(0x0030C106), UINT32_C(0x006F3F46), UINT32_C(0x000B6725),
+          UINT32_C(0x001DB8D9), UINT32_C(0x0028E8F0), UINT32_C(0x00172728),
+          UINT32_C(0x0028DA5A), UINT32_C(0x0032E926), UINT32_C(0x002D0A85),
+          UINT32_C(0x000530D4), UINT32_C(0x0035DC87), UINT32_C(0x002D07D2),
+          UINT32_C(0x003F882E), UINT32_C(0x005C838F), UINT32_C(0x0026F2BF),
+          UINT32_C(0x003EEE58), UINT32_C(0x00071443)},
+         {UINT32_C(0x002CB0FF), UINT32_C(0x003E64EA), UINT32_C(0x0018EDB8),
+          UINT32_C(0x003B4182), UINT32_C(0x001FC937), UINT32_C(0x002AAFB7),
+          UINT32_C(0x002EA0F1), UINT32_C(0x0049D653), UINT32_C(0x000F4A39),
+          UINT32_C(0x000B926E), UINT32_C(0x0010CA2F), UINT32_C(0x002208C8),
+          UINT32_C(0x0039DE49), UINT32_C(0x000161ED), UINT32_C(0x0007EAFC),
+          UINT32_C(0x00514FED), UINT32_C(0x00039404), UINT32_C(0x0018883A),
+          UINT32_C(0x00023262), UINT32_C(0x0016E9C1), UINT32_C(0x003C573A),
+          UINT32_C(0x002FB6FD), UINT32_C(0x00386202)}},
+        {{UINT32_C(0x005D99DB), UINT32_C(0x00001D29), UINT32_C(0x000AF82D),
+          UINT32_C(0x00444767), UINT32_C(0x0015C5E2), UINT32_C(0x002A81B3),
+          UINT32_C(0x0024A5EF), UINT32_C(0x006F6AF5), UINT32_C(0x001EBBCB),
+          UINT32_C(0x00305276), UINT32_C(0x001A7F7A), UINT32_C(0x006B1587),
+          UINT32_C(0x0010BC41), UINT32_C(0x00233733), UINT32_C(0x0015633F),
+          UINT32_C(0x006476A7), UINT32_C(0x00104F63), UINT32_C(0x001F393B),
+          UINT32_C(0x00255507), UINT32_C(0x00708297), UINT32_C(0x000DB54C),
+          UINT32_C(0x001A8A1D), UINT32_C(0x001A9756)},
+         {UINT32_C(0x0033896F), UINT32_C(0x00011688), UINT32_C(0x001FBDA0),
+          UINT32_C(0x002D7B5B), UINT32_C(0x00345043), UINT32_C(0x000409DD),
+          UINT32_C(0x0023A47B), UINT32_C(0x0018CE42), UINT32_C(0x00005C57),
+          UINT32_C(0x0010E46C), UINT32_C(0x0016395D), UINT32_C(0x0029A5E5),
+          UINT32_C(0x00063854), UINT32_C(0x002F12A1), UINT32_C(0x00013E1B),
+          UINT32_C(0x00407727), UINT32_C(0x001EEAAC), UINT32_C(0x0039D044),
+          UINT32_C(0x0023C5C8), UINT32_C(0x003BB777), UINT32_C(0x00206B48),
+          UINT32_C(0x0020CD62), UINT32_C(0x002C7DE1)}},
+        {{UINT32_C(0x00431425), UINT32_C(0x003E66AF), UINT32_C(0x0039AA06),
+          UINT32_C(0x0061F4D9), UINT32_C(0x001789C9), UINT32_C(0x002ECAAC),
+          UINT32_C(0x0003F0C7), UINT32_C(0x0019C0FC), UINT32_C(0x00131E10),
+          UINT32_C(0x001FDEC5), UINT32_C(0x00375C20), UINT32_C(0x0038CDA3),
+          UINT32_C(0x0019FA41), UINT32_C(0x00339E14), UINT32_C(0x002C2643),
+          UINT32_C(0x0060E1EB), UINT32_C(0x001F88C5), UINT32_C(0x002C520C),
+          UINT32_C(0x000ED4A1), UINT32_C(0x0009B12C), UINT32_C(0x003385E8),
+          UINT32_C(0x0007CEC0), UINT32_C(0x0025145A)},
+         {UINT32_C(0x000C4BBC), UINT32_C(0x001CA76E), UINT32_C(0x00053791),
+          UINT32_C(0x0071B24B), UINT32_C(0x002AEE0E), UINT32_C(0x003D38BC),
+          UINT32_C(0x0014DF23), UINT32_C(0x00714100), UINT32_C(0x002621B3),
+          UINT32_C(0x003EA6E9), UINT32_C(0x003351FD), UINT32_C(0x002F67A6),
+          UINT32_C(0x003DD342), UINT32_C(0x002B6916), UINT32_C(0x0018E95C),
+          UINT32_C(0x004F0EF0), UINT32_C(0x00063803), UINT32_C(0x0031C884),
+          UINT32_C(0x0029F497), UINT32_C(0x0076FCD3), UINT32_C(0x0008E8DE),
+          UINT32_C(0x00375097), UINT32_C(0x0034BF55)}},
+    },
+    {
+        {{UINT32_C(0x00101002), UINT32_C(0x003E5E72), UINT32_C(0x0008B02E),
+          UINT32_C(0x0050FB59), UINT32_C(0x0018AB92), UINT32_C(0x003EE716),
+          UINT32_C(0x00097228), UINT32_C(0x0049BDB3), UINT32_C(0x003AF4F6),
+          UINT32_C(0x003EC3F2), UINT32_C(0x000A2168), UINT32_C(0x002E9535),
+          UINT32_C(0x001B90E4), UINT32_C(0x002BA88C), UINT32_C(0x00326E95),
+          UINT32_C(0x003FEB7E), UINT32_C(0x002017BC), UINT32_C(0x000D0EEE),
+          UINT32_C(0x0014761F), UINT32_C(0x0047526E), UINT32_C(0x00180227),
+          UINT32_C(0x000611B5), UINT32_C(0x0035BCC9)},
+         {UINT32_C(0x0065BB6C), UINT32_C(0x00254EB1), UINT32_C(0x00213662),
+          UINT32_C(0x000C625D), UINT32_C(0x00291EF8), UINT32_C(0x00123964),
+          UINT32_C(0x003C6A2D), UINT32_C(0x003CEFF9), UINT32_C(0x00263687),
+          UINT32_C(0x0011917B), UINT32_C(0x000E22CF), UINT32_C(0x002846F8),
+          UINT32_C(0x0034AE34), UINT32_C(0x001EA233), UINT32_C(0x001EA70A),
+          UINT32_C(0x001C002F), UINT32_C(0x0008295D), UINT32_C(0x00358F85),
+          UINT32_C(0x001292A5), UINT32_C(0x006FF9AD), UINT32_C(0x0006C51D),
+          UINT32_C(0x0010C570), UINT32_C(0x003F9016)}},
+        {{UINT32_C(0x00520C83), UINT32_C(0x0011B38F), UINT32_C(0x003659FA),
+          UINT32_C(0x004B70A4), UINT32_C(0x002D7D78), UINT32_C(0x00317E0C),
+          UINT32_C(0x002BCC8A), UINT32_C(0x00170479), UINT32_C(0x003049C8),
+          UINT32_C(0x0035330F), UINT32_C(0x00292CAC), UINT32_C(0x00659C79),
+          UINT32_C(0x000953DA), UINT32_C(0x002839AC), UINT32_C(0x000EEC75),
+          UINT32_C(0x0034FE7A), UINT32_C(0x003DA567), UINT32_C(0x003E416C),
+          UINT32_C(0x00007AD5), UINT32_C(0x00787665), UINT32_C(0x0023F8AC),
+          UINT32_C(0x0022688F), UINT32_C(0x002F4735)},
+         {UINT32_C(0x0048FDB2), UINT32_C(0x001EC71C), UINT32_C(0x003D8930),
+          UINT32_C(0x00650536), UINT32_C(0x0022A057), UINT32_C(0x0034D941),
+          UINT32_C(0x0033DA64), UINT32_C(0x002D8AF7), UINT32_C(0x0015A74D),
+          UINT32_C(0x0002EE4D), UINT32_C(0x0020F500), UINT32_C(0x00050ADE),
+          UINT32_C(0x0021DCE1), UINT32_C(0x00006CC2), UINT32_C(0x00004AF7),
+          UINT32_C(0x00385379), UINT32_C(0x0014D7FD), UINT32_C(0x0035F5DC),
+          UINT32_C(0x002CE71C), UINT32_C(0x004F1273), UINT32_C(0x00235AF5),
+          UINT32_C(0x00073649), UINT32_C(0x001C5B77)}},
+        {{UINT32_C(0x002D1D21), UINT32_C(0x003D3AFA), UINT32_C(0x003484FE),
+          UINT32_C(0x003B8AEF), UINT32_C(0x0028E325), UINT32_C(0x00180681),
+          UINT32_C(0x0008D952), UINT32_C(0x0004222B), UINT32_C(0x002EC06C),
+          UINT32_C(0x00196929), UINT32_C(0x0003F38C), UINT32_C(0x004A5049),
+          UINT32_C(0x000D9B6D), UINT32_C(0x001C481B), UINT32_C(0x003A16BA),
+          UINT32_C(0x007F7383), UINT32_C(0x0016E539), UINT32_C(0x003CB657),
+          UINT32_C(0x000CB3E0), UINT32_C(0x0017CB6E), UINT32_C(0x00282B60),
+          UINT32_C(0x00168672), UINT32_C(0x0021396D)},
+         {UINT32_C(0x00230B59), UINT32_C(0x002A3F7A), UINT32_C(0x002CEDD4),
+          UINT32_C(0x0046B9E4), UINT32_C(0x0010DAFC), UINT32_C(0x0030ED59),
+          UINT32_C(0x0034B350), UINT32_C(0x004C3909), UINT32_C(0x000D0E93),
+          UINT32_C(0x003A3458), UINT32_C(0x00030157), UINT32_C(0x003E191D),
+          UINT32_C(0x002A17A1), UINT32_C(0x001C795E), UINT32_C(0x00019E14),
+          UINT32_C(0x00448635), UINT32_C(0x00364727), UINT32_C(0x002B17DB),
+          UINT32_C(0x00013693), UINT32_C(0x0050F600), UINT32_C(0x0013ADED),
+          UINT32_C(0x00267B88), UINT32_C(0x0012E874)}},
+        {{UINT32_C(0x00491237), UINT32_C(0x000A3228), UINT32_C(0x0006A16F),
+          UINT32_C(0x002BCC52), UINT32_C(0x002A58B0), UINT32_C(0x00223C2F),
+          UINT32_C(0x000ECF49), UINT32_C(0x00310D98), UINT32_C(0x000E07C8),
+          UINT32_C(0x0027A178), UINT32_C(0x002F51C1), UINT32_C(0x001D757E),
+          UINT32_C(0x003D1406), UINT32_C(0x003F45BF), UINT32_C(0x003C049A),
+          UINT32_C(0x00247F57), UINT32_C(0x001B4EA7), UINT32_C(0x002C3AA4),
+          UINT32_C(0x0000C59A), UINT32_C(0x002C0BF5), UINT32_C(0x0004E1EC),
+          UINT32_C(0x003B5C4F), UINT32_C(0x002ED5BD)},
+         {UINT32_C(0x000DA809), UINT32_C(0x003F3B14), UINT32_C(0x00317876),
+          UINT32_C(0x004FBBD1), UINT32_C(0x00145987), UINT32_C(0x0034043D),
+          UINT32_C(0x0004E8DF), UINT32_C(0x0040B9A8), UINT32_C(0x003FB500),
+          UINT32_C(0x00102180), UINT32_C(0x00002AD5), UINT32_C(0x000948B6),
+          UINT32_C(0x0024E856), UINT32_C(0x001346B2), UINT32_C(0x001224DE),
+          UINT32_C(0x00780CFE), UINT32_C(0x003527A8), UINT32_C(0x0015A63D),
+          UINT32_C(0x00350B6B), UINT32_C(0x0019D0B1), UINT32_C(0x00125F42),
+          UINT32_C(0x000C970B), UINT32_C(0x0030D16C)}},
+        {{UINT32_C(0x005B8DD0), UINT32_C(0x002EFE9A), UINT32_C(0x002160B2),
+          UINT32_C(0x006C25E9), UINT32_C(0x003648EE), UINT32_C(0x000F0498),
+          UINT32_C(0x002E36A5), UINT32_C(0x0048709D), UINT32_C(0x003F3212),
+          UINT32_C(0x0032A4D7), UINT32_C(0x0037EA02), UINT32_C(0x003554EF),
+          UINT32_C(0x00080AFA), UINT32_C(0x0009F4D8), UINT32_C(0x000A370E),
+          UINT32_C(0x0074C856), UINT32_C(0x00302B5C), UINT32_C(0x000F4BED),
+          UINT32_C(0x00286A2A), UINT32_C(0x001B7967), UINT32_C(0x001EA28E),
+          UINT32_C(0x0005C511), UINT32_C(0x0036A76A)},
+         {UINT32_C(0x00470560), UINT32_C(0x002A01F5), UINT32_C(0x0000571A),
+          UINT32_C(0x0049D849), UINT32_C(0x001EC4A9), UINT32_C(0x0032B83B),
+          UINT32_C(0x001A8DF4), UINT32_C(0x00495FB3), UINT32_C(0x000BD33C),
+          UINT32_C(0x000857FC), UINT32_C(0x00128475), UINT32_C(0x003B8705),
+          UINT32_C(0x00243166), UINT32_C(0x001BCEBA), UINT32_C(0x0028F42F),
+          UINT32_C(0x00530ED6), UINT32_C(0x001D8A5C), UINT32_C(0x001FC74F),
+          UINT32_C(0x002D4804), UINT32_C(0x000367B6), UINT32_C(0x000327AF),
+          UINT32_C(0x002863D0), UINT32_C(0x000900E7)}},
+        {{UINT32_C(0x00780229), UINT32_C(0x001EF630), UINT32_C(0x000510ED),
+          UINT32_C(0x006460B5), UINT32_C(0x000A8636), UINT32_C(0x00358DE6),
+          UINT32_C(0x001EAE5F), UINT32_C(0x0054B5EB), UINT32_C(0x0024DDD6),
+          UINT32_C(0x003EDDBF), UINT32_C(0x00373B40), UINT32_C(0x0026ABAC),
+          UINT32_C(0x003A5597), UINT32_C(0x002BE3A2), UINT32_C(0x00167777),
+          UINT32_C(0x0045D31B), UINT32_C(0x0032440D), UINT32_C(0x0015429F),
+          UINT32_C(0x003A681A), UINT32_C(0x001D0AA3), UINT32_C(0x0036BA5B),
+          UINT32_C(0x0025EA57), UINT32_C(0x00343F81)},
+         {UINT32_C(0x0013FCD6), UINT32_C(0x0032B515), UINT32_C(0x00205A39),
+          UINT32_C(0x006417AA), UINT32_C(0x00188962), UINT32_C(0x0030F077),
+          UINT32_C(0x0030D896), UINT32_C(0x00618839), UINT32_C(0x000924CE),
+          UINT32_C(0x00313575), UINT32_C(0x002445E3), UINT32_C(0x0004EECA),
+          UINT32_C(0x002B4A7C), UINT32_C(0x0009D939), UINT32_C(0x0013DD92),
+          UINT32_C(0x0023A94B), UINT32_C(0x0022A525), UINT32_C(0x002EC641),
+          UINT32_C(0x000F31A9), UINT32_C(0x001D3493), UINT32_C(0x003DF626),
+          UINT32_C(0x003C1521), UINT32_C(0x000E392E)}},
+        {{UINT32_C(0x0066600B), UINT32_C(0x0004FDF8), UINT32_C(0x0007D4BD),
+          UINT32_C(0x0026B138), UINT32_C(0x002EA81D), UINT32_C(0x00333EF4),
+          UINT32_C(0x0015A59C), UINT32_C(0x0051B0C0), UINT32_C(0x0035D122),
+          UINT32_C(0x003DA6C3), UINT32_C(0x003E2C86), UINT32_C(0x003CB4B4),
+          UINT32_C(0x00044B44), UINT32_C(0x003424DE), UINT32_C(0x001D32E6),
+          UINT32_C(0x002521D8), UINT32_C(0x003CCEC2), UINT32_C(0x000276F5),
+          UINT32_C(0x00220217), UINT32_C(0x00008BA1), UINT32_C(0x000321CB),
+          UINT32_C(0x00286E09), UINT32_C(0x0004C3E0)},
+         {UINT32_C(0x002B8D50), UINT32_C(0x002E3BC1), UINT32_C(0x000F2753),
+          UINT32_C(0x007FCE93), UINT32_C(0x003EF16C), UINT32_C(0x0035426B),
+          UINT32_C(0x00206746), UINT32_C(0x007FCFC3), UINT32_C(0x003C1D6C),
+          UINT32_C(0x0037F851), UINT32_C(0x0014034B), UINT32_C(0x005C71B5),
+          UINT32_C(0x002AA534), UINT32_C(0x003695A5), UINT32_C(0x001CC377),
+          UINT32_C(0x004B40F1), UINT32_C(0x003B0DD3), UINT32_C(0x0003CC25),
+          UINT32_C(0x00296BD9), UINT32_C(0x0076050E), UINT32_C(0x0030853C),
+          UINT32_C(0x0023CDDF), UINT32_C(0x0005051F)}},
+        {{UINT32_C(0x001FAC05), UINT32_C(0x0038BF66), UINT32_C(0x00106AE1),
+          UINT32_C(0x005F6C39), UINT32_C(0x002BCFD1), UINT32_C(0x0012C446),
+          UINT32_C(0x002014B7), UINT32_C(0x0022CDD4), UINT32_C(0x002C0E46),
+          UINT32_C(0x000068BA), UINT32_C(0x0009B619), UINT32_C(0x00112EBA),
+          UINT32_C(0x001134DE), UINT32_C(0x00382BD9), UINT32_C(0x0038AB24),
+          UINT32_C(0x003EFC51), UINT32_C(0x00125A98), UINT32_C(0x00166AE1),
+          UINT32_C(0x001204D8), UINT32_C(0x00395F99), UINT32_C(0x0022EC93),
+          UINT32_C(0x000C2334), UINT32_C(0x000F0DB3)},
+         {UINT32_C(0x0065FB58), UINT32_C(0x0026949F), UINT32_C(0x00284E96),
+          UINT32_C(0x000E9B6C), UINT32_C(0x003DCCC0), UINT32_C(0x00276266),
+          UINT32_C(0x0011C074), UINT32_C(0x0006165B), UINT32_C(0x003618B9),
+          UINT32_C(0x000C1873), UINT32_C(0x00210655), UINT32_C(0x0068168F),
+          UINT32_C(0x002A5321), UINT32_C(0x00130FA1), UINT32_C(0x00288227),
+          UINT32_C(0x00405D32), UINT32_C(0x002C76A2), UINT32_C(0x003544A1),
+          UINT32_C(0x0021FFEE), UINT32_C(0x00372D2B), UINT32_C(0x001A438E),
+          UINT32_C(0x002F5590), UINT32_C(0x001BBD78)}},
+        {{UINT32_C(0x000324B7), UINT32_C(0x0005A62F), UINT32_C(0x003F767B),
+          UINT32_C(0x006E0320), UINT32_C(0x0000FF7D), UINT32_C(0x001365D4),
+          UINT32_C(0x0034C36F), UINT32_C(0x000AC0F4), UINT32_C(0x00037C47),
+          UINT32_C(0x00022A9D), UINT32_C(0x001C6BCF), UINT32_C(0x000C25F1),
+          UINT32_C(0x0019449E), UINT32_C(0x00272780), UINT32_C(0x00107BA2),
+          UINT32_C(0x003A5F5D), UINT32_C(0x0010F210), UINT32_C(0x001A8365),
+          UINT32_C(0x000FA62A), UINT32_C(0x000EEFAD), UINT32_C(0x00080B72),
+          UINT32_C(0x003ABCCF), UINT32_C(0x00019B10)},
+         {UINT32_C(0x0076B572), UINT32_C(0x003D6F9E), UINT32_C(0x000ADEC4),
+          UINT32_C(0x00516D49), UINT32_C(0x003E0BD1), UINT32_C(0x00139E71),
+          UINT32_C(0x00339678), UINT32_C(0x006ABDF0), UINT32_C(0x0038E886),
+          UINT32_C(0x002299CE), UINT32_C(0x00367195), UINT32_C(0x0043A05B),
+          UINT32_C(0x00361D28), UINT32_C(0x000796D9), UINT32_C(0x00373012),
+          UINT32_C(0x001EC4D3), UINT32_C(0x001008A0), UINT32_C(0x002E74DD),
+          UINT32_C(0x003C82F9), UINT32_C(0x004054A4), UINT32_C(0x0032570C),
+          UINT32_C(0x00101897), UINT32_C(0x00118C2D)}},
+        {{UINT32_C(0x00462F42), UINT32_C(0x00057E48), UINT32_C(0x001278B3),
+          UINT32_C(0x0026CC97), UINT32_C(0x001E327A), UINT32_C(0x001598F9),
+          UINT32_C(0x003DEF1B), UINT32_C(0x00079209), UINT32_C(0x0033F716),
+          UINT32_C(0x003B919D), UINT32_C(0x003706F3), UINT32_C(0x00399A35),
+          UINT32_C(0x0036C21D), UINT32_C(0x00323DF4), UINT32_C(0x000A940E),
+          UINT32_C(0x000D518E), UINT32_C(0x000D882E), UINT32_C(0x003C191A),
+          UINT32_C(0x00244FC8), UINT32_C(0x0005C226), UINT32_C(0x000509F7),
+          UINT32_C(0x000F698A), UINT32_C(0x00007583)},
+         {UINT32_C(0x007336DD), UINT32_C(0x002AE10E), UINT32_C(0x00262EEC),
+          UINT32_C(0x0040454E), UINT32_C(0x003352A6), UINT32_C(0x002A34DE),
+          UINT32_C(0x0033BCE4), UINT32_C(0x0024FD39), UINT32_C(0x001319FB),
+          UINT32_C(0x001AE5AA), UINT32_C(0x00315D5B), UINT32_C(0x002C46BE),
+          UINT32_C(0x001DF5A0), UINT32_C(0x002C4B31), UINT32_C(0x0034A43A),
+          UINT32_C(0x004D4DD6), UINT32_C(0x000116D9), UINT32_C(0x000E599A),
+          UINT32_C(0x0033B481), UINT32_C(0x0072C084), UINT32_C(0x003602A6),
+          UINT32_C(0x000FA6A0), UINT32_C(0x00193096)}},
+        {{UINT32_C(0x001FA23E), UINT32_C(0x0017DD44), UINT32_C(0x002B9851),
+          UINT32_C(0x0078D9BF), UINT32_C(0x00300461), UINT32_C(0x000E650F),
+          UINT32_C(0x0003235A), UINT32_C(0x001E10FD), UINT32_C(0x00191997),
+          UINT32_C(0x00347E5B), UINT32_C(0x000EF26D), UINT32_C(0x00722710),
+          UINT32_C(0x00091296), UINT32_C(0x0000DAC3), UINT32_C(0x00364C90),
+          UINT32_C(0x00153FD5), UINT32_C(0x00386DE4), UINT32_C(0x0010D8C8),
+          UINT32_C(0x001F9824), UINT32_C(0x000ADEC8), UINT32_C(0x003F9D31),
+          UINT32_C(0x0022F161), UINT32_C(0x000FB294)},
+         {UINT32_C(0x007CFE80), UINT32_C(0x002929EF), UINT32_C(0x001E66B0),
+          UINT32_C(0x003A9598), UINT32_C(0x00040870), UINT32_C(0x00110507),
+          UINT32_C(0x0002B8C7), UINT32_C(0x00218FE2), UINT32_C(0x0024A402),
+          UINT32_C(0x00082D52), UINT32_C(0x0014DAF9), UINT32_C(0x003244A6),
+          UINT32_C(0x000583BF), UINT32_C(0x00215F1C), UINT32_C(0x0035F85B),
+          UINT32_C(0x000DE2B3), UINT32_C(0x0004BC8F), UINT32_C(0x000E7228),
+          UINT32_C(0x002E9933), UINT32_C(0x0007BDB8), UINT32_C(0x001F7F0F),
+          UINT32_C(0x003332AF), UINT32_C(0x00156268)}},
+        {{UINT32_C(0x0002E3E7), UINT32_C(0x0025FA60), UINT32_C(0x001FB4E6),
+          UINT32_C(0x0016C3C6), UINT32_C(0x00247D0E), UINT32_C(0x002D8D5E),
+          UINT32_C(0x0006A675), UINT32_C(0x00149DD3), UINT32_C(0x0014833C),
+          UINT32_C(0x002071D1), UINT32_C(0x00267269), UINT32_C(0x005E8399),
+          UINT32_C(0x0015D1BF), UINT32_C(0x002573DB), UINT32_C(0x000E94C4),
+          UINT32_C(0x0053F0CB), UINT32_C(0x000E6C01), UINT32_C(0x002C9873),
+          UINT32_C(0x0003E40E), UINT32_C(0x002DC625), UINT32_C(0x000EE009),
+          UINT32_C(0x0037B3C1), UINT32_C(0x00314D3B)},
+         {UINT32_C(0x0012F52A), UINT32_C(0x00212A59), UINT32_C(0x0039A45C),
+          UINT32_C(0x000237A1), UINT32_C(0x0002467E), UINT32_C(0x003AD286),
+          UINT32_C(0x0014E2EE), UINT32_C(0x0079D3D0), UINT32_C(0x001D7205),
+          UINT32_C(0x0019A1C3), UINT32_C(0x001A753E), UINT32_C(0x00648E5B),
+          UINT32_C(0x001DA22B), UINT32_C(0x0032CBC7), UINT32_C(0x001A0350),
+          UINT32_C(0x0051025A), UINT32_C(0x003A3047), UINT32_C(0x001814DC),
+          UINT32_C(0x0015F660), UINT32_C(0x00384509), UINT32_C(0x0028C315),
+          UINT32_C(0x0014D207), UINT32_C(0x001BFC3C)}},
+        {{UINT32_C(0x000BF619), UINT32_C(0x001B0A4A), UINT32_C(0x002F5B04),
+          UINT32_C(0x00066718), UINT32_C(0x000F956B), UINT32_C(0x00148057),
+          UINT32_C(0x003D7C40), UINT32_C(0x002D779F), UINT32_C(0x000D96BA),
+          UINT32_C(0x0034F9E9), UINT32_C(0x000ABC81), UINT32_C(0x00612100),
+          UINT32_C(0x00094453), UINT32_C(0x001A7A84), UINT32_C(0x00395C2A),
+          UINT32_C(0x001CCF9C), UINT32_C(0x001909AB), UINT32_C(0x000127F4),
+          UINT32_C(0x003CC47F), UINT32_C(0x0053B36F), UINT32_C(0x001168B8),
+          UINT32_C(0x003E681B), UINT32_C(0x0033586A)},
+         {UINT32_C(0x003405C5), UINT32_C(0x0014C1F8), UINT32_C(0x00217C04),
+          UINT32_C(0x0044F686), UINT32_C(0x003B975D), UINT32_C(0x001566BE),
+          UINT32_C(0x000C3966), UINT32_C(0x00442F22), UINT32_C(0x002EEC1C),
+          UINT32_C(0x001FBB59), UINT32_C(0x002C7F08), UINT32_C(0x005C2547),
+          UINT32_C(0x002E399A), UINT32_C(0x00357E26), UINT32_C(0x00182B2F),
+          UINT32_C(0x00428509), UINT32_C(0x0001036A), UINT32_C(0x000C10BF),
+          UINT32_C(0x0038CF9D), UINT32_C(0x0037AD35), UINT32_C(0x000ED96E),
+          UINT32_C(0x001A6435), UINT32_C(0x003E4F02)}},
+        {{UINT32_C(0x0041EB8E), UINT32_C(0x000024BF), UINT32_C(0x003694DF),
+          UINT32_C(0x00511BE5), UINT32_C(0x000A954F), UINT32_C(0x00206AB1),
+          UINT32_C(0x003CF939), UINT32_C(0x00513701), UINT32_C(0x000E6080),
+          UINT32_C(0x002108CE), UINT32_C(0x0020017E), UINT32_C(0x00105B07),
+          UINT32_C(0x0011EE5F), UINT32_C(0x003E26E6), UINT32_C(0x000DCD93),
+          UINT32_C(0x0008016D), UINT32_C(0x003FE138), UINT32_C(0x0003D710),
+          UINT32_C(0x002881A3), UINT32_C(0x002E6638), UINT32_C(0x0013554C),
+          UINT32_C(0x001A9737), UINT32_C(0x002F29B7)},
+         {UINT32_C(0x0072FA30), UINT32_C(0x003860AB), UINT32_C(0x002A3A9B),
+          UINT32_C(0x0046D4D4), UINT32_C(0x002C8E1C), UINT32_C(0x000B27C5),
+          UINT32_C(0x002FB5F3), UINT32_C(0x006E389E), UINT32_C(0x0032BF68),
+          UINT32_C(0x002F2032), UINT32_C(0x003D0E8B), UINT32_C(0x005EFF1B),
+          UINT32_C(0x000E77F7), UINT32_C(0x0032D4D9), UINT32_C(0x000EE3B7),
+          UINT32_C(0x002DD781), UINT32_C(0x002C515F), UINT32_C(0x001196A0),
+          UINT32_C(0x003C1961), UINT32_C(0x00484EBE), UINT32_C(0x0007BCF4),
+          UINT32_C(0x002FA36A), UINT32_C(0x00385130)}},
+        {{UINT32_C(0x000B2CC6), UINT32_C(0x000E1DAF), UINT32_C(0x003ADA49),
+          UINT32_C(0x0067C22D), UINT32_C(0x002135BF), UINT32_C(0x0034F418),
+          UINT32_C(0x002F97CB), UINT32_C(0x003D4E4F), UINT32_C(0x00389246),
+          UINT32_C(0x000605C0), UINT32_C(0x0005A49F), UINT32_C(0x00289A5C),
+          UINT32_C(0x0019305F), UINT32_C(0x002BDB2B), UINT32_C(0x0037F1CC),
+          UINT32_C(0x007C489D), UINT32_C(0x001CC3B8), UINT32_C(0x0022BE49),
+          UINT32_C(0x0004F6FE), UINT32_C(0x004CDB36), UINT32_C(0x001ECD22),
+          UINT32_C(0x00347FCC), UINT32_C(0x00121B6E)},
+         {UINT32_C(0x0038250C), UINT32_C(0x003A9B9A), UINT32_C(0x0031B884),
+          UINT32_C(0x0038B4E2), UINT32_C(0x002903F8), UINT32_C(0x000D4406),
+          UINT32_C(0x0003337E), UINT32_C(0x000571CA), UINT32_C(0x0020FC99),
+          UINT32_C(0x002BEC49), UINT32_C(0x0004A324), UINT32_C(0x0063E39A),
+          UINT32_C(0x00248D5A), UINT32_C(0x0034EE85), UINT32_C(0x0012C541),
+          UINT32_C(0x0036DF11), UINT32_C(0x001A9D56), UINT32_C(0x00114AD8),
+          UINT32_C(0x002B0978), UINT32_C(0x004376FE), UINT32_C(0x0019DA75),
+          UINT32_C(0x0036CC96), UINT32_C(0x002821E1)}},
+        {{UINT32_C(0x003C6DB0), UINT32_C(0x00394096), UINT32_C(0x0015D4D8),
+          UINT32_C(0x00624F58), UINT32_C(0x003A01CB), UINT32_C(0x002C9112),
+          UINT32_C(0x003A878F), UINT32_C(0x00184B32), UINT32_C(0x001888A3),
+          UINT32_C(0x00026E10), UINT32_C(0x000E5D54), UINT32_C(0x0055695D),
+          UINT32_C(0x0004DC05), UINT32_C(0x001B0A95), UINT32_C(0x00230372),
+          UINT32_C(0x000B124E), UINT32_C(0x0011DE6A), UINT32_C(0x000F2458),
+          UINT32_C(0x002C9259), UINT32_C(0x00290AC1), UINT32_C(0x0020440B),
+          UINT32_C(0x00114828), UINT32_C(0x002B166A)},
+         {UINT32_C(0x0032B46D), UINT32_C(0x00207B45), UINT32_C(0x000473C9),
+          UINT32_C(0x007FBBBF), UINT32_C(0x0015AFF8), UINT32_C(0x0039EB60),
+          UINT32_C(0x0035D816), UINT32_C(0x000B1D9F), UINT32_C(0x0037A1A2),
+          UINT32_C(0x000D8711), UINT32_C(0x0002DFDE), UINT32_C(0x001CBEC4),
+          UINT32_C(0x002A1716), UINT32_C(0x003B7011), UINT32_C(0x002CED5F),
+          UINT32_C(0x006BA8F2), UINT32_C(0x0002B544), UINT32_C(0x000C2201),
+          UINT32_C(0x001B97B2), UINT32_C(0x0068B05E), UINT32_C(0x002ECFAD),
+          UINT32_C(0x0014D41E), UINT32_C(0x00319D72)}},
+    },
+    {
+        {{UINT32_C(0x00000297), UINT32_C(0x0028EE9D), UINT32_C(0x0025F457),
+          UINT32_C(0x003A1C7F), UINT32_C(0x003D187E), UINT32_C(0x0016AAC2),
+          UINT32_C(0x0018DA90), UINT32_C(0x0032CC34), UINT32_C(0x0000C9FE),
+          UINT32_C(0x00083A39), UINT32_C(0x000ABFD1), UINT32_C(0x00056518),
+          UINT32_C(0x0020E915), UINT32_C(0x0037F36C), UINT32_C(0x001C3CE8),
+          UINT32_C(0x0016154B), UINT32_C(0x000D8F76), UINT32_C(0x001349C7),
+          UINT32_C(0x002C5B2D), UINT32_C(0x00302ADF), UINT32_C(0x00347C0F),
+          UINT32_C(0x001AD83E), UINT32_C(0x00337C01)},
+         {UINT32_C(0x0044DBD8), UINT32_C(0x00161F8E), UINT32_C(0x003A4EAF),
+          UINT32_C(0x007E41EE), UINT32_C(0x0020D593), UINT32_C(0x002B1752),
+          UINT32_C(0x0008C520), UINT32_C(0x000F746C), UINT32_C(0x00251428),
+          UINT32_C(0x00336F1A), UINT32_C(0x002F850D), UINT32_C(0x00363B2F),
+          UINT32_C(0x003C91B4), UINT32_C(0x00373CAD), UINT32_C(0x00114941),
+          UINT32_C(0x007F0C1B), UINT32_C(0x000AB3AA), UINT32_C(0x000B5CDA),
+          UINT32_C(0x003A4CD6), UINT32_C(0x0013C09D), UINT32_C(0x003CFDAB),
+          UINT32_C(0x0030F023), UINT32_C(0x002F9D40)}},
+        {{UINT32_C(0x0016AB0F), UINT32_C(0x0002549A), UINT32_C(0x00324067),
+          UINT32_C(0x001CAA0D), UINT32_C(0x001D43DA), UINT32_C(0x002D4798),
+          UINT32_C(0x002FABBD), UINT32_C(0x00524E09), UINT32_C(0x003E65A7),
+          UINT32_C(0x000E6579), UINT32_C(0x0006B2BA), UINT32_C(0x007B52B6),
+          UINT32_C(0x0017769B), UINT32_C(0x0013CA17), UINT32_C(0x00179C6F),
+          UINT32_C(0x005068DF), UINT32_C(0x00329383), UINT32_C(0x001C707E),
+          UINT32_C(0x001906BF), UINT32_C(0x0076817B), UINT32_C(0x0010ED4F),
+          UINT32_C(0x00185468), UINT32_C(0x003C4A19)},
+         {UINT32_C(0x003A29A3), UINT32_C(0x0007D7E2), UINT32_C(0x000C6BC2),
+          UINT32_C(0x007A5479), UINT32_C(0x0001F1CF), UINT32_C(0x0039F9E1),
+          UINT32_C(0x00044B37), UINT32_C(0x005AA886), UINT32_C(0x002CDE04),
+          UINT32_C(0x002B1FD3), UINT32_C(0x003036AE), UINT32_C(0x004BC454),
+          UINT32_C(0x000E6063), UINT32_C(0x003E513C), UINT32_C(0x00142E11),
+          UINT32_C(0x006EB792), UINT32_C(0x002A88A8), UINT32_C(0x003EE121),
+          UINT32_C(0x000CAFA1), UINT32_C(0x0069BADD), UINT32_C(0x003F3982),
+          UINT32_C(0x001A3478), UINT32_C(0x00051F0B)}},
+        {{UINT32_C(0x0065CD56), UINT32_C(0x002C822B), UINT32_C(0x002F6B9C),
+          UINT32_C(0x000A1BB8), UINT32_C(0x000AAF79), UINT32_C(0x000EA4D3),
+          UINT32_C(0x00077BC8), UINT32_C(0x004E72DE), UINT32_C(0x00344B0B),
+          UINT32_C(0x001E3ED5), UINT32_C(0x0038E0C9), UINT32_C(0x00798666),
+          UINT32_C(0x002C7240), UINT32_C(0x00033538), UINT32_C(0x003C3C44),
+          UINT32_C(0x00400702), UINT32_C(0x00200573), UINT32_C(0x003E2A4D),
+          UINT32_C(0x0004ADF5), UINT32_C(0x007BCBC6), UINT32_C(0x001D81E3),
+          UINT32_C(0x000E60C8), UINT32_C(0x0033E777)},
+         {UINT32_C(0x0034AD00), UINT32_C(0x001B4772), UINT32_C(0x0003423A),
+          UINT32_C(0x003B4DC7), UINT32_C(0x0020F3E4), UINT32_C(0x0039B171),
+          UINT32_C(0x00127CDB), UINT32_C(0x003DCC1F), UINT32_C(0x002BC848),
+          UINT32_C(0x00370405), UINT32_C(0x00012BF7), UINT32_C(0x002C5599),
+          UINT32_C(0x0014AB0C), UINT32_C(0x00103733), UINT32_C(0x0002C167),
+          UINT32_C(0x0072597A), UINT32_C(0x001A940B), UINT32_C(0x000AA67E),
+          UINT32_C(0x0027936D), UINT32_C(0x006B2D36), UINT32_C(0x00236515),
+          UINT32_C(0x003318C3), UINT32_C(0x0000665D)}},
+        {{UINT32_C(0x007BF246), UINT32_C(0x0038A54E), UINT32_C(0x0017A2C6),
+          UINT32_C(0x002DF25B), UINT32_C(0x0022DEB2), UINT32_C(0x003B118A),
+          UINT32_C(0x00285430), UINT32_C(0x007EDA78), UINT32_C(0x0020F2EC),
+          UINT32_C(0x002DC0F9), UINT32_C(0x000824DC), UINT32_C(0x0035CC91),
+          UINT32_C(0x002C8632), UINT32_C(0x001D44DC), UINT32_C(0x0018CA86),
+          UINT32_C(0x004A0FAD), UINT32_C(0x002945F8), UINT32_C(0x0002D0D5),
+          UINT32_C(0x001B8CB7), UINT32_C(0x002990A6), UINT32_C(0x0019DEB1),
+          UINT32_C(0x0025B0F2), UINT32_C(0x000568B1)},
+         {UINT32_C(0x001B65CD), UINT32_C(0x000CDCF7), UINT32_C(0x000C0170),
+          UINT32_C(0x00180F0B), UINT32_C(0x0016BD33), UINT32_C(0x002FFA3C),
+          UINT32_C(0x00040868), UINT32_C(0x005D604E), UINT32_C(0x00100FF9),
+          UINT32_C(0x00336B67), UINT32_C(0x003FF1A5), UINT32_C(0x0066724B),
+          UINT32_C(0x003B381E), UINT32_C(0x002868B1), UINT32_C(0x0010D47B),
+          UINT32_C(0x00776DC4), UINT32_C(0x00246BA9), UINT32_C(0x002AD2CD),
+          UINT32_C(0x002AAF38), UINT32_C(0x000D0446), UINT32_C(0x002F27BB),
+          UINT32_C(0x002943E1), UINT32_C(0x000F4F81)}},
+        {{UINT32_C(0x003D4A9C), UINT32_C(0x00024A6D), UINT32_C(0x0014B9E1),
+          UINT32_C(0x0052698E), UINT32_C(0x0030AB88), UINT32_C(0x003B378D),
+          UINT32_C(0x003E866C), UINT32_C(0x006C9349), UINT32_C(0x00290E01),
+          UINT32_C(0x001477AD), UINT32_C(0x0000E581), UINT32_C(0x001E06CC),
+          UINT32_C(0x00310918), UINT32_C(0x003193C5), UINT32_C(0x002B6332),
+          UINT32_C(0x005EA944), UINT32_C(0x001F5E4B), UINT32_C(0x0014F9B3),
+          UINT32_C(0x000E2522), UINT32_C(0x004FCF6F), UINT32_C(0x002A3D76),
+          UINT32_C(0x00048DB9), UINT32_C(0x001D02E8)},
+         {UINT32_C(0x0037AF28), UINT32_C(0x0029FE6C), UINT32_C(0x0009EDFC),
+          UINT32_C(0x0027B89F), UINT32_C(0x00301D20), UINT32_C(0x0032442E),
+          UINT32_C(0x00200E28), UINT32_C(0x002D5E74), UINT32_C(0x0012B052),
+          UINT32_C(0x003A45F3), UINT32_C(0x00317F8E), UINT32_C(0x001621A4),
+          UINT32_C(0x0017C898), UINT32_C(0x00337293), UINT32_C(0x0017DFB5),
+          UINT32_C(0x0071E94B), UINT32_C(0x001F139A), UINT32_C(0x001769A4),
+          UINT32_C(0x003BA6FF), UINT32_C(0x005D3122), UINT32_C(0x002F863F),
+          UINT32_C(0x000395F4), UINT32_C(0x00259438)}},
+        {{UINT32_C(0x00698800), UINT32_C(0x003C6A37), UINT32_C(0x0021F1BB),
+          UINT32_C(0x004E8C9D), UINT32_C(0x00033DB6), UINT32_C(0x000A7B27),
+          UINT32_C(0x000E7C3D), UINT32_C(0x00611E5A), UINT32_C(0x0008E6DC),
+          UINT32_C(0x001B99B7), UINT32_C(0x00011169), UINT32_C(0x000C1DEC),
+          UINT32_C(0x002423CA), UINT32_C(0x00017B20), UINT32_C(0x000AB665),
+          UINT32_C(0x002626D4), UINT32_C(0x0023799A), UINT32_C(0x002806DE),
+          UINT32_C(0x003692DB), UINT32_C(0x002B1EC8), UINT32_C(0x000E1414),
+          UINT32_C(0x0026B167), UINT32_C(0x00169029)},
+         {UINT32_C(0x0013B973), UINT32_C(0x003B4AF9), UINT32_C(0x0031ACC0),
+          UINT32_C(0x00393363), UINT32_C(0x000B4D81), UINT32_C(0x0015A3AE),
+          UINT32_C(0x002B3D90), UINT32_C(0x001BCC23), UINT32_C(0x000CC79D),
+          UINT32_C(0x003E07EC), UINT32_C(0x002EE5FF), UINT32_C(0x0045B99C),
+          UINT32_C(0x0001C279), UINT32_C(0x001A54B4), UINT32_C(0x00175534),
+          UINT32_C(0x004FEA24), UINT32_C(0x0010F58E), UINT32_C(0x00343EB1),
+          UINT32_C(0x0039ED8E), UINT32_C(0x0022AE96), UINT32_C(0x0023467E),
+          UINT32_C(0x00318A7F), UINT32_C(0x0029E05C)}},
+        {{UINT32_C(0x006B581B), UINT32_C(0x002F4135), UINT32_C(0x0007FED7),
+          UINT32_C(0x0060C57B), UINT32_C(0x003393FD), UINT32_C(0x00093667),
+          UINT32_C(0x0004FA1F), UINT32_C(0x0054919F), UINT32_C(0x00229F53),
+          UINT32_C(0x001AB18E), UINT32_C(0x0011D07D), UINT32_C(0x0002443C),
+          UINT32_C(0x002AA483), UINT32_C(0x0008DA57), UINT32_C(0x0038A821),
+          UINT32_C(0x007861E9), UINT32_C(0x0024D8C3), UINT32_C(0x00309579),
+          UINT32_C(0x002A1002), UINT32_C(0x007B324A), UINT32_C(0x00291FD3),
+          UINT32_C(0x002937C2), UINT32_C(0x00310CCC)},
+         {UINT32_C(0x007B71A6), UINT32_C(0x003EB7A5), UINT32_C(0x00395509),
+          UINT32_C(0x003F58C6), UINT32_C(0x002932CB), UINT32_C(0x003417F8),
+          UINT32_C(0x000AD82F), UINT32_C(0x00251085), UINT32_C(0x0006F21E),
+          UINT32_C(0x001588B0), UINT32_C(0x000C136A), UINT32_C(0x004E6BB6),
+          UINT32_C(0x000C7C60), UINT32_C(0x0015A2FF), UINT32_C(0x001965F4),
+          UINT32_C(0x006B3224), UINT32_C(0x00280D4B), UINT32_C(0x000374E1),
+          UINT32_C(0x00187558), UINT32_C(0x007A1057), UINT32_C(0x0001A4DB),
+          UINT32_C(0x00392A05), UINT32_C(0x002B7342)}},
+        {{UINT32_C(0x00102D12), UINT32_C(0x00157E1D), UINT32_C(0x003819E1),
+          UINT32_C(0x000436EA), UINT32_C(0x0033F4FE), UINT32_C(0x0004D63C),
+          UINT32_C(0x003A559C), UINT32_C(0x005758F8), UINT32_C(0x0032A48C),
+          UINT32_C(0x0036F300), UINT32_C(0x003C06D5), UINT32_C(0x004AC77E),
+          UINT32_C(0x0012DD43), UINT32_C(0x001CDBEB), UINT32_C(0x000CBE11),
+          UINT32_C(0x0003CB34), UINT32_C(0x003F6859), UINT32_C(0x00144DCF),
+          UINT32_C(0x000BDC01), UINT32_C(0x0038921F), UINT32_C(0x00161041),
+          UINT32_C(0x000B8BE6), UINT32_C(0x002AC248)},
+         {UINT32_C(0x0067DD3E), UINT32_C(0x0036DB63), UINT32_C(0x0037BA32),
+          UINT32_C(0x000AF959), UINT32_C(0x0025B293), UINT32_C(0x0010059F),
+          UINT32_C(0x0035780D), UINT32_C(0x0046380C), UINT32_C(0x0018452D),
+          UINT32_C(0x002B5B67), UINT32_C(0x0016B7B2), UINT32_C(0x007AF664),
+          UINT32_C(0x003C1F41), UINT32_C(0x00097E6F), UINT32_C(0x003205A1),
+          UINT32_C(0x00725EFF), UINT32_C(0x003E2E86), UINT32_C(0x0038F16D),
+          UINT32_C(0x000B458E), UINT32_C(0x00385D51), UINT32_C(0x00006670),
+          UINT32_C(0x0008BCC1), UINT32_C(0x00098C17)}},
+        {{UINT32_C(0x006DBF88), UINT32_C(0x002D6BB0), UINT32_C(0x003DFE61),
+          UINT32_C(0x003DF76A), UINT32_C(0x00035BAA), UINT32_C(0x000984CF),
+          UINT32_C(0x00054134), UINT32_C(0x00556ECD), UINT32_C(0x001F1973),
+          UINT32_C(0x0006D2EA), UINT32_C(0x002F57DA), UINT32_C(0x0024A56A),
+          UINT32_C(0x002A7755), UINT32_C(0x000305FD), UINT32_C(0x001C8FD6),
+          UINT32_C(0x00481CAF), UINT32_C(0x003D0B45), UINT32_C(0x000D68BC),
+          UINT32_C(0x0039248B), UINT32_C(0x00290881), UINT32_C(0x001C8DB5),
+          UINT32_C(0x000250CE), UINT32_C(0x000A5C50)},
+         {UINT32_C(0x005313E5), UINT32_C(0x002F268C), UINT32_C(0x001D3B3E),
+          UINT32_C(0x001FE5D2), UINT32_C(0x0006955A), UINT32_C(0x00336B39),
+          UINT32_C(0x00290B6C), UINT32_C(0x00183F14), UINT32_C(0x0025ED57),
+          UINT32_C(0x0006E18E), UINT32_C(0x00245AB9), UINT32_C(0x000AFADF),
+          UINT32_C(0x001B239A), UINT32_C(0x003D1824), UINT32_C(0x00286527),
+          UINT32_C(0x00619C72), UINT32_C(0x00341914), UINT32_C(0x00191683),
+          UINT32_C(0x00365835), UINT32_C(0x006A9C8D), UINT32_C(0x000DCB56),
+          UINT32_C(0x003D7D6F), UINT32_C(0x00312DA6)}},
+        {{UINT32_C(0x002A34A8), UINT32_C(0x0011A273), UINT32_C(0x002EF0E7),
+          UINT32_C(0x0056ED5F), UINT32_C(0x0022B29F), UINT32_C(0x003BC53B),
+          UINT32_C(0x00374AF6), UINT32_C(0x001209F7), UINT32_C(0x00087894),
+          UINT32_C(0x001D51AC), UINT32_C(0x001C55D9), UINT32_C(0x0007EA51),
+          UINT32_C(0x0027A416), UINT32_C(0x002199BF), UINT32_C(0x00398181),
+          UINT32_C(0x0050725A), UINT32_C(0x00016D8B), UINT32_C(0x00185F36),
+          UINT32_C(0x0022B389), UINT32_C(0x00670F14), UINT32_C(0x003EE89C),
+          UINT32_C(0x00208598), UINT32_C(0x0037FA4E)},
+         {UINT32_C(0x002CBD11), UINT32_C(0x0025CA10), UINT32_C(0x0025A5C4),
+          UINT32_C(0x0073CCEA), UINT32_C(0x001D4A0C), UINT32_C(0x003E1189),
+          UINT32_C(0x0012D18F), UINT32_C(0x00202D6B), UINT32_C(0x0005142A),
+          UINT32_C(0x000673EF), UINT32_C(0x00230DED), UINT32_C(0x005C9EF1),
+          UINT32_C(0x00199F43), UINT32_C(0x000951F1), UINT32_C(0x0001FA9B),
+          UINT32_C(0x0042FDCE), UINT32_C(0x003CF250), UINT32_C(0x00333B05),
+          UINT32_C(0x003487E6), UINT32_C(0x001A46EF), UINT32_C(0x0009221A),
+          UINT32_C(0x001601FA), UINT32_C(0x000A8F97)}},
+        {{UINT32_C(0x0029B1A4), UINT32_C(0x001A205E), UINT32_C(0x0010D45B),
+          UINT32_C(0x00009969), UINT32_C(0x003B86E1), UINT32_C(0x00263695),
+          UINT32_C(0x0038303F), UINT32_C(0x000F276E), UINT32_C(0x003DD7EE),
+          UINT32_C(0x0003D7B5), UINT32_C(0x0019C4B1), UINT32_C(0x003248D5),
+          UINT32_C(0x0021E8FE), UINT32_C(0x000FC768), UINT32_C(0x001F35EC),
+          UINT32_C(0x002FB73B), UINT32_C(0x001B945A), UINT32_C(0x00164C1B),
+          UINT32_C(0x002F277F), UINT32_C(0x005EAE78), UINT32_C(0x00071711),
+          UINT32_C(0x000C61BB), UINT32_C(0x000AB2C0)},
+         {UINT32_C(0x0016DF7A), UINT32_C(0x0015DC01), UINT32_C(0x002BA091),
+          UINT32_C(0x0011F44E), UINT32_C(0x000B08D7), UINT32_C(0x002E9923),
+          UINT32_C(0x00092787), UINT32_C(0x002ADBB4), UINT32_C(0x003D7AA5),
+          UINT32_C(0x0009E226), UINT32_C(0x002384F8), UINT32_C(0x003614F7),
+          UINT32_C(0x003BEA0C), UINT32_C(0x002456BB), UINT32_C(0x00107C57),
+          UINT32_C(0x004A575C), UINT32_C(0x000760C6), UINT32_C(0x0034DEA3),
+          UINT32_C(0x002C29AE), UINT32_C(0x007702EC), UINT32_C(0x000797DD),
+          UINT32_C(0x002C2EC2), UINT32_C(0x000B53B4)}},
+        {{UINT32_C(0x004E14DC), UINT32_C(0x000DCCE7), UINT32_C(0x00268B67),
+          UINT32_C(0x00671423), UINT32_C(0x000C36E7), UINT32_C(0x002EF482),
+          UINT32_C(0x0002A811), UINT32_C(0x004F450D), UINT32_C(0x0019D6E8),
+          UINT32_C(0x00379047), UINT32_C(0x0024CF74), UINT32_C(0x0017F363),
+          UINT32_C(0x00242D1C), UINT32_C(0x000034DF), UINT32_C(0x002AEC5D),
+          UINT32_C(0x0016D8E1), UINT32_C(0x0015B2FA), UINT32_C(0x00347EF8),
+          UINT32_C(0x00075A03), UINT32_C(0x006AFAC1), UINT32_C(0x0010C4CC),
+          UINT32_C(0x00216803), UINT32_C(0x001AA96E)},
+         {UINT32_C(0x0057B948), UINT32_C(0x002E3492), UINT32_C(0x002E8BEB),
+          UINT32_C(0x00500CA7), UINT32_C(0x002A1860), UINT32_C(0x001B6814),
+          UINT32_C(0x0019C85F), UINT32_C(0x0061C4ED), UINT32_C(0x002EF6B7),
+          UINT32_C(0x0038C2BF), UINT32_C(0x003C380D), UINT32_C(0x0011C0C0),
+          UINT32_C(0x0011337C), UINT32_C(0x0015C779), UINT32_C(0x00136724),
+          UINT32_C(0x00050BF7), UINT32_C(0x0005558D), UINT32_C(0x002EC289),
+          UINT32_C(0x003637CA), UINT32_C(0x004B8113), UINT32_C(0x001A69CC),
+          UINT32_C(0x00301379), UINT32_C(0x003F1AD7)}},
+        {{UINT32_C(0x0012C055), UINT32_C(0x000EB55E), UINT32_C(0x000D7834),
+          UINT32_C(0x0027B02C), UINT32_C(0x003B78F0), UINT32_C(0x0010001F),
+          UINT32_C(0x002DD1EC), UINT32_C(0x0044CC9D), UINT32_C(0x003F406F),
+          UINT32_C(0x002BBD9B), UINT32_C(0x003D495E), UINT32_C(0x002D8896),
+          UINT32_C(0x0030CB6A), UINT32_C(0x001B5E53), UINT32_C(0x002AD9F8),
+          UINT32_C(0x001E75BF), UINT32_C(0x000F94EA), UINT32_C(0x00057B4C),
+          UINT32_C(0x00370072), UINT32_C(0x0014B385), UINT32_C(0x0005ACED),
+          UINT32_C(0x002C28F0), UINT32_C(0x003AB7D9)},
+         {UINT32_C(0x0020CF13), UINT32_C(0x00225C38), UINT32_C(0x002B6293),
+          UINT32_C(0x0013F808), UINT32_C(0x00344CB9), UINT32_C(0x0033719D),
+          UINT32_C(0x002FE2B6), UINT32_C(0x00282CB5), UINT32_C(0x00175559),
+          UINT32_C(0x000403EA), UINT32_C(0x00359279), UINT32_C(0x005D8812),
+          UINT32_C(0x000B1A40), UINT32_C(0x003EE682), UINT32_C(0x0016E724),
+          UINT32_C(0x002FB1C5), UINT32_C(0x002F6BEE), UINT32_C(0x0022778B),
+          UINT32_C(0x0019AEA3), UINT32_C(0x003D80A9), UINT32_C(0x0032D9D1),
+          UINT32_C(0x003BF23F), UINT32_C(0x002DBA08)}},
+        {{UINT32_C(0x00475A5B), UINT32_C(0x000AF126), UINT32_C(0x000E8D05),
+          UINT32_C(0x0037AAD9), UINT32_C(0x003350FF), UINT32_C(0x003B6DF1),
+          UINT32_C(0x000C70D2), UINT32_C(0x0031341A), UINT32_C(0x00166A1F),
+          UINT32_C(0x003D3DBE), UINT32_C(0x0021F7E8), UINT32_C(0x006D14A1),
+          UINT32_C(0x0039D159), UINT32_C(0x001EFA80), UINT32_C(0x0032B317),
+          UINT32_C(0x0024939B), UINT32_C(0x001C82DD), UINT32_C(0x00061D7A),
+          UINT32_C(0x00147571), UINT32_C(0x004FFE3E), UINT32_C(0x000965DE),
+          UINT32_C(0x0028C381), UINT32_C(0x000DFE6C)},
+         {UINT32_C(0x0035EAA0), UINT32_C(0x0009123B), UINT32_C(0x0032E9E6),
+          UINT32_C(0x00084111), UINT32_C(0x0000F226), UINT32_C(0x003CD924),
+          UINT32_C(0x000ABC8B), UINT32_C(0x00538B5D), UINT32_C(0x00023291),
+          UINT32_C(0x000DB4A0), UINT32_C(0x00010030), UINT32_C(0x00328332),
+          UINT32_C(0x001A2589), UINT32_C(0x00233EA0), UINT32_C(0x0017BE31),
+          UINT32_C(0x00586460), UINT32_C(0x0012777E), UINT32_C(0x002D359E),
+          UINT32_C(0x000D0BCC), UINT32_C(0x00245915), UINT32_C(0x000F3FAB),
+          UINT32_C(0x00232DCC), UINT32_C(0x0026CC0F)}},
+        {{UINT32_C(0x006107A0), UINT32_C(0x00348213), UINT32_C(0x001DB8EE),
+          UINT32_C(0x003152F3), UINT32_C(0x0029336E), UINT32_C(0x001572BD),
+          UINT32_C(0x002314E4), UINT32_C(0x0050D309), UINT32_C(0x002101EA),
+          UINT32_C(0x0000EDBA), UINT32_C(0x0011643A), UINT32_C(0x002A8161),
+          UINT32_C(0x00169D2D), UINT32_C(0x00105B84), UINT32_C(0x0007A268),
+          UINT32_C(0x00602253), UINT32_C(0x000EAF07), UINT32_C(0x000BF9C0),
+          UINT32_C(0x001F44D9), UINT32_C(0x0000BADF), UINT32_C(0x000B6708),
+          UINT32_C(0x000F4EDA), UINT32_C(0x0027E80B)},
+         {UINT32_C(0x0079EA50), UINT32_C(0x0012030F), UINT32_C(0x00175D43),
+          UINT32_C(0x005CD824), UINT32_C(0x00334D4F), UINT32_C(0x002AEE35),
+          UINT32_C(0x0021CFB0), UINT32_C(0x00199622), UINT32_C(0x000CA221),
+          UINT32_C(0x0007BC44), UINT32_C(0x0029CBBF), UINT32_C(0x0019F06C),
+          UINT32_C(0x0034ECA6), UINT32_C(0x0027BE0E), UINT32_C(0x002FE495),
+          UINT32_C(0x00705DBB), UINT32_C(0x002F6511), UINT32_C(0x000D66C8),
+          UINT32_C(0x000C392A), UINT32_C(0x0014BBEE), UINT32_C(0x0007F420),
+          UINT32_C(0x0020EF1F), UINT32_C(0x002DD2C3)}},
+        {{UINT32_C(0x001F311E), UINT32_C(0x0035E164), UINT32_C(0x000D7E33),
+          UINT32_C(0x004EE0A2), UINT32_C(0x001B027B), UINT32_C(0x003AF8A9),
+          UINT32_C(0x000897E1), UINT32_C(0x004E7636), UINT32_C(0x002CFEBD),
+          UINT32_C(0x00349E23), UINT32_C(0x003A2005), UINT32_C(0x0033A740),
+          UINT32_C(0x000273B7), UINT32_C(0x00018397), UINT32_C(0x0002783F),
+          UINT32_C(0x00201E98), UINT32_C(0x0009D39F), UINT32_C(0x000A5722),
+          UINT32_C(0x002D49F8), UINT32_C(0x00798C09), UINT32_C(0x000C4014),
+          UINT32_C(0x0007D8C3), UINT32_C(0x002F570F)},
+         {UINT32_C(0x00477116), UINT32_C(0x00161163), UINT32_C(0x002DF7BB),
+          UINT32_C(0x001DD1D7), UINT32_C(0x003A92DB), UINT32_C(0x0036ACFC),
+          UINT32_C(0x00211278), UINT32_C(0x0055790C), UINT32_C(0x000B98E9),
+          UINT32_C(0x002EB711), UINT32_C(0x0009D7B7), UINT32_C(0x003CD366),
+          UINT32_C(0x000622E0), UINT32_C(0x000D9307), UINT32_C(0x0001BD5F),
+          UINT32_C(0x0073A35F), UINT32_C(0x003FC1C3), UINT32_C(0x0025C15B),
+          UINT32_C(0x00359419), UINT32_C(0x006A6138), UINT32_C(0x002A142D),
+          UINT32_C(0x000BBEDD), UINT32_C(0x0008A742)}},
+    },
+    {
+        {{UINT32_C(0x00020495), UINT32_C(0x0029C46F), UINT32_C(0x0015C863),
+          UINT32_C(0x001A9BE1), UINT32_C(0x002541BC), UINT32_C(0x003083D6),
+          UINT32_C(0x000E2B6E), UINT32_C(0x004DEA6D), UINT32_C(0x00233C05),
+          UINT32_C(0x00093178), UINT32_C(0x00300C16), UINT32_C(0x0047A8A8),
+          UINT32_C(0x003EEE62), UINT32_C(0x003A3FFE), UINT32_C(0x002D8A6E),
+          UINT32_C(0x003747DF), UINT32_C(0x0023EBEC), UINT32_C(0x003A703F),
+          UINT32_C(0x00057635), UINT32_C(0x004C2FF0), UINT32_C(0x0013DB65),
+          UINT32_C(0x0028F19D), UINT32_C(0x00333AB2)},
+         {UINT32_C(0x0000A454), UINT32_C(0x0003242C), UINT32_C(0x00263770),
+          UINT32_C(0x0070C7F5), UINT32_C(0x0007B940), UINT32_C(0x00062CBB),
+          UINT32_C(0x000BB7CC), UINT32_C(0x00001E3F), UINT32_C(0x00107BEF),
+          UINT32_C(0x0024BD77), UINT32_C(0x0003307A), UINT32_C(0x003C6EC5),
+          UINT32_C(0x00357523), UINT32_C(0x003FE203), UINT32_C(0x002F4B77),
+          UINT32_C(0x0039AB29), UINT32_C(0x00009871), UINT32_C(0x003024E6),
+          UINT32_C(0x001EAE16), UINT32_C(0x003F3D08), UINT32_C(0x0029A969),
+          UINT32_C(0x001642E9), UINT32_C(0x003925FE)}},
+        {{UINT32_C(0x000C8333), UINT32_C(0x00134BA7), UINT32_C(0x0009B871),
+          UINT32_C(0x0004CDC4), UINT32_C(0x00289CA0), UINT32_C(0x001FC8D2),
+          UINT32_C(0x0039D91B), UINT32_C(0x0038FC3D), UINT32_C(0x0019773B),
+          UINT32_C(0x0006D4DF), UINT32_C(0x0006221A), UINT32_C(0x004F1A1C),
+          UINT32_C(0x0010AF9E), UINT32_C(0x0018553A), UINT32_C(0x00130550),
+          UINT32_C(0x00111A01), UINT32_C(0x003C7519), UINT32_C(0x00287566),
+          UINT32_C(0x001644E8), UINT32_C(0x0041602D), UINT32_C(0x0032CDC1),
+          UINT32_C(0x001C2B40), UINT32_C(0x0030A48F)},
+         {UINT32_C(0x0042DCF0), UINT32_C(0x0008B28F), UINT32_C(0x003EC6F9),
+          UINT32_C(0x006A8D26), UINT32_C(0x0034DBA9), UINT32_C(0x002BD050),
+          UINT32_C(0x003FE19C), UINT32_C(0x0030096C), UINT32_C(0x0013965D),
+          UINT32_C(0x00010C86), UINT32_C(0x003C6698), UINT32_C(0x00731549),
+          UINT32_C(0x000AAA24), UINT32_C(0x0010C344), UINT32_C(0x003F7448),
+          UINT32_C(0x000C5964), UINT32_C(0x0019616E), UINT32_C(0x0035336F),
+          UINT32_C(0x000723D5), UINT32_C(0x00244786), UINT32_C(0x002452D1),
+          UINT32_C(0x001F0B6A), UINT32_C(0x0031D0BC)}},
+        {{UINT32_C(0x001ABEAE), UINT32_C(0x00140094), UINT32_C(0x0025F718),
+          UINT32_C(0x001FFB06), UINT32_C(0x002CE72A), UINT32_C(0x000678CF),
+          UINT32_C(0x0007D404), UINT32_C(0x0073CB92), UINT32_C(0x000A9FC4),
+          UINT32_C(0x000668BB), UINT32_C(0x0027BD0D), UINT32_C(0x002BDE2E),
+          UINT32_C(0x003EDD2C), UINT32_C(0x00154AE6), UINT32_C(0x00290863),
+          UINT32_C(0x00334512), UINT32_C(0x001E546A), UINT32_C(0x002467D8),
+          UINT32_C(0x0006CBDB), UINT32_C(0x002139AD), UINT32_C(0x001CED3F),
+          UINT32_C(0x00217DC2), UINT32_C(0x001F626B)},
+         {UINT32_C(0x00390DFD), UINT32_C(0x0002F8B3), UINT32_C(0x000E30AF),
+          UINT32_C(0x0005D7A3), UINT32_C(0x001EFA22), UINT32_C(0x002CAFDB),
+          UINT32_C(0x00004971), UINT32_C(0x002EFBEA), UINT32_C(0x001F4ACB),
+          UINT32_C(0x00302B99), UINT32_C(0x001DFC66), UINT32_C(0x007364F2),
+          UINT32_C(0x00371C65), UINT32_C(0x0028108D), UINT32_C(0x003C66ED),
+          UINT32_C(0x005D7568), UINT32_C(0x00212DC4), UINT32_C(0x0011A56E),
+          UINT32_C(0x0034EE5A), UINT32_C(0x0031E1D4), UINT32_C(0x003CF9C2),
+          UINT32_C(0x003EB41F), UINT32_C(0x003C84A7)}},
+        {{UINT32_C(0x007FF718), UINT32_C(0x00032692), UINT32_C(0x002F052E),
+          UINT32_C(0x00755B72), UINT32_C(0x003D2345), UINT32_C(0x0038E6DD),
+          UINT32_C(0x0025DC5A), UINT32_C(0x0065158E), UINT32_C(0x0035F9E0),
+          UINT32_C(0x0019A28C), UINT32_C(0x00178B35), UINT32_C(0x0044D5B8),
+          UINT32_C(0x0039CE59), UINT32_C(0x00379216), UINT32_C(0x00098649),
+          UINT32_C(0x00105E9E), UINT32_C(0x0037A436), UINT32_C(0x0035A4A6),
+          UINT32_C(0x00087244), UINT32_C(0x002AA631), UINT32_C(0x001E9EDB),
+          UINT32_C(0x000A2622), UINT32_C(0x001D1531)},
+         {UINT32_C(0x003C8CB9), UINT32_C(0x003D6118), UINT32_C(0x00179E49),
+          UINT32_C(0x002B0C0C), UINT32_C(0x0039C364), UINT32_C(0x002CA57A),
+          UINT32_C(0x003F8C54), UINT32_C(0x001FB453), UINT32_C(0x003C0C82),
+          UINT32_C(0x003B2FF0), UINT32_C(0x003A2B7F), UINT32_C(0x0058C732),
+          UINT32_C(0x000C6E03), UINT32_C(0x0030EAAB), UINT32_C(0x002A43FC),
+          UINT32_C(0x0029DF25), UINT32_C(0x00002B4F), UINT32_C(0x0022A3CA),
+          UINT32_C(0x00104844), UINT32_C(0x004A0B3B), UINT32_C(0x001849CB),
+          UINT32_C(0x001C4653), UINT32_C(0x002F1596)}},
+        {{UINT32_C(0x001D4A19), UINT32_C(0x0035FDF4), UINT32_C(0x000F8F5B),
+          UINT32_C(0x003FF4B0), UINT32_C(0x00157527), UINT32_C(0x0015F4FF),
+          UINT32_C(0x00337DA4), UINT32_C(0x002BC44F), UINT32_C(0x00223C67),
+          UINT32_C(0x001B663C), UINT32_C(0x00281B4B), UINT32_C(0x0078BDF6),
+          UINT32_C(0x000D0B3B), UINT32_C(0x00099BBB), UINT32_C(0x002A4438),
+          UINT32_C(0x00512DEC), UINT32_C(0x0007055E), UINT32_C(0x002AF2F0),
+          UINT32_C(0x002C9105), UINT32_C(0x0023E635), UINT32_C(0x001CB35B),
+          UINT32_C(0x0028C1C2), UINT32_C(0x002DE4D1)},
+         {UINT32_C(0x00140ADA), UINT32_C(0x0011EC68), UINT32_C(0x0018DFDD),
+          UINT32_C(0x006F5E0E), UINT32_C(0x00185618), UINT32_C(0x000B38F8),
+          UINT32_C(0x0003AC86), UINT32_C(0x00345A9C), UINT32_C(0x0018811B),
+          UINT32_C(0x0034EF90), UINT32_C(0x00309FA7), UINT32_C(0x002657B1),
+          UINT32_C(0x0026A02F), UINT32_C(0x003FB112), UINT32_C(0x003E8E9A),
+          UINT32_C(0x004E6284), UINT32_C(0x00310F7A), UINT32_C(0x0013E7DA),
+          UINT32_C(0x0014C174), UINT32_C(0x0038C1FC), UINT32_C(0x0026EC4A),
+          UINT32_C(0x0018C688), UINT32_C(0x002A438F)}},
+        {{UINT32_C(0x004F0ACF), UINT32_C(0x001C15FB), UINT32_C(0x003CD5C1),
+          UINT32_C(0x000D2292), UINT32_C(0x0025B6A8), UINT32_C(0x00221999),
+          UINT32_C(0x0016BA08), UINT32_C(0x00792A56), UINT32_C(0x00215FF2),
+          UINT32_C(0x002B39F1), UINT32_C(0x000F2F96), UINT32_C(0x00025D28),
+          UINT32_C(0x0029609E), UINT32_C(0x00351C7F), UINT32_C(0x000A603D),
+          UINT32_C(0x003F3CD9), UINT32_C(0x00024C3B), UINT32_C(0x000C25E9),
+          UINT32_C(0x002157FF), UINT32_C(0x003E3F6F), UINT32_C(0x0015898B),
+          UINT32_C(0x0007923F), UINT32_C(0x0011A75F)},
+         {UINT32_C(0x001B8989), UINT32_C(0x0036B95E), UINT32_C(0x000B28EB),
+          UINT32_C(0x006F0F0E), UINT32_C(0x001BB501), UINT32_C(0x0029744C),
+          UINT32_C(0x002C2A82), UINT32_C(0x006278D2), UINT32_C(0x0006D540),
+          UINT32_C(0x00338072), UINT32_C(0x0023F135), UINT32_C(0x006B3C7F),
+          UINT32_C(0x003F9CA2), UINT32_C(0x003069ED), UINT32_C(0x001454A7),
+          UINT32_C(0x001CEA39), UINT32_C(0x000EDAE9), UINT32_C(0x002BF356),
+          UINT32_C(0x003B1BD9), UINT32_C(0x00073EF3), UINT32_C(0x003041D7),
+          UINT32_C(0x00096064), UINT32_C(0x00142C76)}},
+        {{UINT32_C(0x0068FFC6), UINT32_C(0x003C11C5), UINT32_C(0x0031DD2F),
+          UINT32_C(0x002086BC), UINT32_C(0x00213A20), UINT32_C(0x000198C3),
+          UINT32_C(0x003C70AA), UINT32_C(0x0064A691), UINT32_C(0x003F88A6),
+          UINT32_C(0x0010B222), UINT32_C(0x001133AE), UINT32_C(0x0000D81A),
+          UINT32_C(0x0008B4F2), UINT32_C(0x0037B644), UINT32_C(0x0020B08F),
+          UINT32_C(0x002B77A7), UINT32_C(0x000AEF1B), UINT32_C(0x002AB9A7),
+          UINT32_C(0x001FFD9C), UINT32_C(0x002D2887), UINT32_C(0x001829D4),
+          UINT32_C(0x00291E60), UINT32_C(0x0024DD09)},
+         {UINT32_C(0x005A1EE9), UINT32_C(0x000858BD), UINT32_C(0x0006666A),
+          UINT32_C(0x00665E27), UINT32_C(0x001E2D76), UINT32_C(0x00151594),
+          UINT32_C(0x003CBB31), UINT32_C(0x00274D76), UINT32_C(0x00385369),
+          UINT32_C(0x002D97F4), UINT32_C(0x00213614), UINT32_C(0x005429E7),
+          UINT32_C(0x001A6A17), UINT32_C(0x00022689), UINT32_C(0x0007C22E),
+          UINT32_C(0x000CB237), UINT32_C(0x003B33BC), UINT32_C(0x003A2CF2),
+          UINT32_C(0x001014A7), UINT32_C(0x004AFB82), UINT32_C(0x003DB97C),
+          UINT32_C(0x0016FCCC), UINT32_C(0x001D22CE)}},
+        {{UINT32_C(0x00583D1F), UINT32_C(0x001CAB29), UINT32_C(0x0021DFFC),
+          UINT32_C(0x00579859), UINT32_C(0x00239960), UINT32_C(0x00287022),
+          UINT32_C(0x000FBF8A), UINT32_C(0x00522225), UINT32_C(0x00084A9F),
+          UINT32_C(0x0024948B), UINT32_C(0x002CC83C), UINT32_C(0x0067C4AC),
+          UINT32_C(0x0034836D), UINT32_C(0x00216546), UINT32_C(0x00364159),
+          UINT32_C(0x003ADB5A), UINT32_C(0x0003CEB5), UINT32_C(0x00345B44),
+          UINT32_C(0x002138FD), UINT32_C(0x001743CA), UINT32_C(0x00069ABD),
+          UINT32_C(0x0023EC4A), UINT32_C(0x00050B88)},
+         {UINT32_C(0x006438C3), UINT32_C(0x00369425), UINT32_C(0x00279B67),
+          UINT32_C(0x000D0143), UINT32_C(0x001F364D), UINT32_C(0x00177C5D),
+          UINT32_C(0x00095B66), UINT32_C(0x002B4C4F), UINT32_C(0x002C159D),
+          UINT32_C(0x0004AD5B), UINT32_C(0x00177C82), UINT32_C(0x0033A0E4),
+          UINT32_C(0x003ACCD6), UINT32_C(0x0034623F), UINT32_C(0x000F5D74),
+          UINT32_C(0x00680AEF), UINT32_C(0x002D31E0), UINT32_C(0x000BB398),
+          UINT32_C(0x00233354), UINT32_C(0x00253484), UINT32_C(0x00385E50),
+          UINT32_C(0x000F78CF), UINT32_C(0x000322BA)}},
+        {{UINT32_C(0x00724124), UINT32_C(0x0030C69A), UINT32_C(0x00310E26),
+          UINT32_C(0x00278477), UINT32_C(0x0012FFD4), UINT32_C(0x0005570F),
+          UINT32_C(0x003EBD03), UINT32_C(0x006F51F4), UINT32_C(0x00043A21),
+          UINT32_C(0x001A4CEA), UINT32_C(0x00172D44), UINT32_C(0x00696C4A),
+          UINT32_C(0x003FA9A1), UINT32_C(0x0026633B), UINT32_C(0x0005F2B7),
+          UINT32_C(0x0002C7C4), UINT32_C(0x0003A452), UINT32_C(0x003F240B),
+          UINT32_C(0x003CBC7E), UINT32_C(0x00074F43), UINT32_C(0x002F68A2),
+          UINT32_C(0x000623F6), UINT32_C(0x001D4282)},
+         {UINT32_C(0x0014B428), UINT32_C(0x003E7D33), UINT32_C(0x002520C7),
+          UINT32_C(0x0041CCF2), UINT32_C(0x00233BAB), UINT32_C(0x001589F9),
+          UINT32_C(0x000D2E6E), UINT32_C(0x001FFD7C), UINT32_C(0x001DCFD2),
+          UINT32_C(0x00390FFE), UINT32_C(0x00031026), UINT32_C(0x00772372),
+          UINT32_C(0x0010F507), UINT32_C(0x0039D935), UINT32_C(0x0011504F),
+          UINT32_C(0x0041B316), UINT32_C(0x001B31F1), UINT32_C(0x00309FCB),
+          UINT32_C(0x002D1468), UINT32_C(0x00238297), UINT32_C(0x001B6605),
+          UINT32_C(0x001B59F9), UINT32_C(0x000B6C96)}},
+        {{UINT32_C(0x0043F6C2), UINT32_C(0x000763DF), UINT32_C(0x00308091),
+          UINT32_C(0x006DDCFF), UINT32_C(0x002FC758), UINT32_C(0x001EFF60),
+          UINT32_C(0x0018180E), UINT32_C(0x005F0A71), UINT32_C(0x001E4437),
+          UINT32_C(0x000EADD7), UINT32_C(0x0012CA06), UINT32_C(0x0024EF90),
+          UINT32_C(0x00188475), UINT32_C(0x0018B6D9), UINT32_C(0x001DEA6E),
+          UINT32_C(0x0044FC14), UINT32_C(0x003D1458), UINT32_C(0x0031E96A),
+          UINT32_C(0x000E2DAF), UINT32_C(0x00628BB3), UINT32_C(0x002A2193),
+          UINT32_C(0x00011F06), UINT32_C(0x000C91E9)},
+         {UINT32_C(0x00482FED), UINT32_C(0x002528F8), UINT32_C(0x002FD25C),
+          UINT32_C(0x00261308), UINT32_C(0x00139233), UINT32_C(0x00302E3F),
+          UINT32_C(0x002A13B0), UINT32_C(0x007DEDA6), UINT32_C(0x0011FB4F),
+          UINT32_C(0x0008FBA1), UINT32_C(0x00196CC9), UINT32_C(0x0051E7E4),
+          UINT32_C(0x0005A421), UINT32_C(0x003784E4), UINT32_C(0x00174AFF),
+          UINT32_C(0x004725BC), UINT32_C(0x0004CD05), UINT32_C(0x0026FA6B),
+          UINT32_C(0x001805BF), UINT32_C(0x0017519D), UINT32_C(0x001A7B71),
+          UINT32_C(0x00280018), UINT32_C(0x0026EC17)}},
+        {{UINT32_C(0x001C205B), UINT32_C(0x002CCC69), UINT32_C(0x0030F0E5),
+          UINT32_C(0x00192A4E), UINT32_C(0x003D1B67), UINT32_C(0x0020DAE2),
+          UINT32_C(0x000769DE), UINT32_C(0x001BFA4D), UINT32_C(0x000B7649),
+          UINT32_C(0x000C1B2B), UINT32_C(0x0038C90F), UINT32_C(0x001D0BF8),
+          UINT32_C(0x000577CB), UINT32_C(0x00190B4F), UINT32_C(0x003E238F),
+          UINT32_C(0x0052DFF8), UINT32_C(0x0010D0F0), UINT32_C(0x000218C9),
+          UINT32_C(0x0013F89C), UINT32_C(0x00714803), UINT32_C(0x003A6F8C),
+          UINT32_C(0x00353B6D), UINT32_C(0x002FFEEA)},
+         {UINT32_C(0x0030C7D2), UINT32_C(0x000CA103), UINT32_C(0x0021611C),
+          UINT32_C(0x00188899), UINT32_C(0x001F54E9), UINT32_C(0x00010620),
+          UINT32_C(0x000AE01A), UINT32_C(0x007A2DB9), UINT32_C(0x002A9401),
+          UINT32_C(0x00209C63), UINT32_C(0x00389F5D), UINT32_C(0x00196FFF),
+          UINT32_C(0x002CE291), UINT32_C(0x00340A01), UINT32_C(0x003FF906),
+          UINT32_C(0x002C42FC), UINT32_C(0x0037C6A3), UINT32_C(0x001146A7),
+          UINT32_C(0x00044BAD), UINT32_C(0x0063D883), UINT32_C(0x000BAB16),
+          UINT32_C(0x001FF085), UINT32_C(0x00140B79)}},
+        {{UINT32_C(0x0032C0E7), UINT32_C(0x00208DFF), UINT32_C(0x002F6660),
+          UINT32_C(0x0070C915), UINT32_C(0x002D9AF5), UINT32_C(0x0012AB64),
+          UINT32_C(0x0015326E), UINT32_C(0x001E8920), UINT32_C(0x0031383C),
+          UINT32_C(0x000E45C6), UINT32_C(0x003FF494), UINT32_C(0x00792407),
+          UINT32_C(0x0021A39A), UINT32_C(0x003EFC30), UINT32_C(0x0008C932),
+          UINT32_C(0x0031D0D5), UINT32_C(0x0013E9B1), UINT32_C(0x0016F25F),
+          UINT32_C(0x00251F58), UINT32_C(0x001D0CCC), UINT32_C(0x00189479),
+          UINT32_C(0x001E2A1D), UINT32_C(0x001548E8)},
+         {UINT32_C(0x007ED4E4), UINT32_C(0x003831E3), UINT32_C(0x0036B65B),
+          UINT32_C(0x00173DB0), UINT32_C(0x0030B4B3), UINT32_C(0x003B0A38),
+          UINT32_C(0x00176695), UINT32_C(0x0022F024), UINT32_C(0x002DC536),
+          UINT32_C(0x0026D641), UINT32_C(0x003845E6), UINT32_C(0x006AE213),
+          UINT32_C(0x000F1253), UINT32_C(0x0035B8B4), UINT32_C(0x002D1D2C),
+          UINT32_C(0x0026072B), UINT32_C(0x000C4DFF), UINT32_C(0x00098C06),
+          UINT32_C(0x003973E5), UINT32_C(0x006E815F), UINT32_C(0x0035E739),
+          UINT32_C(0x0004E25A), UINT32_C(0x00323E06)}},
+        {{UINT32_C(0x0018218E), UINT32_C(0x001C5A05), UINT32_C(0x00156FEA),
+          UINT32_C(0x000DEF36), UINT32_C(0x003405AB), UINT32_C(0x000C8D8A),
+          UINT32_C(0x003D4CE6), UINT32_C(0x0036C6B1), UINT32_C(0x0026347B),
+          UINT32_C(0x002BEC62), UINT32_C(0x00135B49), UINT32_C(0x004ED20D),
+          UINT32_C(0x002BCE15), UINT32_C(0x000A503C), UINT32_C(0x0030279F),
+          UINT32_C(0x00124E30), UINT32_C(0x003AF38A), UINT32_C(0x0008EB83),
+          UINT32_C(0x00141065), UINT32_C(0x004DF4DC), UINT32_C(0x00176DD3),
+          UINT32_C(0x000FCB73), UINT32_C(0x000229CD)},
+         {UINT32_C(0x0004041C), UINT32_C(0x003CAB13), UINT32_C(0x0029B3E4),
+          UINT32_C(0x001B70DE), UINT32_C(0x00009B3A), UINT32_C(0x002C70AC),
+          UINT32_C(0x00272EDA), UINT32_C(0x0010407E), UINT32_C(0x000645F0),
+          UINT32_C(0x001E2E70), UINT32_C(0x000502A8), UINT32_C(0x00794831),
+          UINT32_C(0x003AE5DE), UINT32_C(0x002799EA), UINT32_C(0x001CAFA4),
+          UINT32_C(0x006E7B51), UINT32_C(0x0008984E), UINT32_C(0x0012EF3F),
+          UINT32_C(0x000025E7), UINT32_C(0x000DDA10), UINT32_C(0x00119536),
+          UINT32_C(0x003D6D8D), UINT32_C(0x0006C12F)}},
+        {{UINT32_C(0x00435EE4), UINT32_C(0x000163D6), UINT32_C(0x00377C11),
+          UINT32_C(0x003BD7D6), UINT32_C(0x002E05F5), UINT32_C(0x001FBA80),
+          UINT32_C(0x00107C07), UINT32_C(0x00681A61), UINT32_C(0x0005189C),
+          UINT32_C(0x0002C249), UINT32_C(0x003607CD), UINT32_C(0x000957D6),
+          UINT32_C(0x003F952A), UINT32_C(0x0008ECBA), UINT32_C(0x001E29E1),
+          UINT32_C(0x0033462B), UINT32_C(0x0022898D), UINT32_C(0x001AABD5),
+          UINT32_C(0x002E885C), UINT32_C(0x000A2647), UINT32_C(0x0037A37C),
+          UINT32_C(0x00297E79), UINT32_C(0x002A2CA3)},
+         {UINT32_C(0x002C1A17), UINT32_C(0x00158B61), UINT32_C(0x0016816F),
+          UINT32_C(0x0053A5A8), UINT32_C(0x001547B2), UINT32_C(0x0030AC66),
+          UINT32_C(0x00202C4C), UINT32_C(0x00274C07), UINT32_C(0x000D322E),
+          UINT32_C(0x0004A3E0), UINT32_C(0x000F7BC7), UINT32_C(0x00102196),
+          UINT32_C(0x000C81FB), UINT32_C(0x00358316), UINT32_C(0x00063F2B),
+          UINT32_C(0x007FF11C), UINT32_C(0x0025FFE3), UINT32_C(0x00256744),
+          UINT32_C(0x002E91A0), UINT32_C(0x0064976E), UINT32_C(0x0038C948),
+          UINT32_C(0x00396FAC), UINT32_C(0x0037CF6E)}},
+        {{UINT32_C(0x00794F1D), UINT32_C(0x002B6A50), UINT32_C(0x00120AE4),
+          UINT32_C(0x001CEC0F), UINT32_C(0x00383F87), UINT32_C(0x00216277),
+          UINT32_C(0x00286CEA), UINT32_C(0x00103D5A), UINT32_C(0x002AA574),
+          UINT32_C(0x003D3491), UINT32_C(0x0022931D), UINT32_C(0x00489498),
+          UINT32_C(0x0032EEF4), UINT32_C(0x000CA2AA), UINT32_C(0x00080A27),
+          UINT32_C(0x007FA661), UINT32_C(0x00094E9A), UINT32_C(0x003EE29E),
+          UINT32_C(0x002AC21C), UINT32_C(0x001CE359), UINT32_C(0x003330FC),
+          UINT32_C(0x001C6ADE), UINT32_C(0x00187790)},
+         {UINT32_C(0x00340EF5), UINT32_C(0x000BDD62), UINT32_C(0x00333909),
+          UINT32_C(0x0039146A), UINT32_C(0x0038BB2E), UINT32_C(0x00030F37),
+          UINT32_C(0x00143B07), UINT32_C(0x0031CC3D), UINT32_C(0x002B5B5C),
+          UINT32_C(0x00005892), UINT32_C(0x00052BD0), UINT32_C(0x000A282B),
+          UINT32_C(0x0030D9C5), UINT32_C(0x001004FC), UINT32_C(0x0038922A),
+          UINT32_C(0x000241A2), UINT32_C(0x000053C3), UINT32_C(0x002C02CA),
+          UINT32_C(0x002D4F8F), UINT32_C(0x004AB17B), UINT32_C(0x003667C0),
+          UINT32_C(0x0004EF7E), UINT32_C(0x000080E4)}},
+        {{UINT32_C(0x005FA89B), UINT32_C(0x001D2F7D), UINT32_C(0x0019B385),
+          UINT32_C(0x0053B863), UINT32_C(0x0022E414), UINT32_C(0x0011C620),
+          UINT32_C(0x001F0CA5), UINT32_C(0x001B475A), UINT32_C(0x003E5B07),
+          UINT32_C(0x0020C305), UINT32_C(0x0018A591), UINT32_C(0x007DE564),
+          UINT32_C(0x001F654F), UINT32_C(0x003F1044), UINT32_C(0x000D7B16),
+          UINT32_C(0x004E51E7), UINT32_C(0x00267972), UINT32_C(0x002A42F3),
+          UINT32_C(0x000159C2), UINT32_C(0x0016007C), UINT32_C(0x000F9CA8),
+          UINT32_C(0x00021184), UINT32_C(0x0007FCE7)},
+         {UINT32_C(0x00045B0F), UINT32_C(0x000002C5), UINT32_C(0x0033642B),
+          UINT32_C(0x0038378F), UINT32_C(0x001F29A8), UINT32_C(0x0018130B),
+          UINT32_C(0x00340B0B), UINT32_C(0x007667B7), UINT32_C(0x0038B986),
+          UINT32_C(0x00218A5C), UINT32_C(0x0020D3E4), UINT32_C(0x002B84EB),
+          UINT32_C(0x001DBF61), UINT32_C(0x0006E45C), UINT32_C(0x000C2528),
+          UINT32_C(0x003D5B87), UINT32_C(0x003B9631), UINT32_C(0x0016FFC9),
+          UINT32_C(0x002577D8), UINT32_C(0x00084014), UINT32_C(0x00326179),
+          UINT32_C(0x002B97FC), UINT32_C(0x0017D9B9)}},
+    },
+    {
+        {{UINT32_C(0x0024FC6B), UINT32_C(0x00260048), UINT32_C(0x0027A39B),
+          UINT32_C(0x004A6771), UINT32_C(0x002F8996), UINT32_C(0x00250571),
+          UINT32_C(0x0022BD5A), UINT32_C(0x0016BA95), UINT32_C(0x00177752),
+          UINT32_C(0x003AAE54), UINT32_C(0x000382BC), UINT32_C(0x002DBDCA),
+          UINT32_C(0x00175D11), UINT32_C(0x000485AB), UINT32_C(0x00263BCC),
+          UINT32_C(0x002CA217), UINT32_C(0x0033AA31), UINT32_C(0x001EB58F),
+          UINT32_C(0x001CAA07), UINT32_C(0x00439150), UINT32_C(0x003350D2),
+          UINT32_C(0x002E0A1C), UINT32_C(0x000B60E4)},
+         {UINT32_C(0x006AFAB6), UINT32_C(0x001979BD), UINT32_C(0x00206F5D),
+          UINT32_C(0x004F0B02), UINT32_C(0x001DC842), UINT32_C(0x0032D59A),
+          UINT32_C(0x001DC451), UINT32_C(0x0022D419), UINT32_C(0x00003471),
+          UINT32_C(0x00178E67), UINT32_C(0x002D0057), UINT32_C(0x006162BD),
+          UINT32_C(0x000E5A47), UINT32_C(0x00139F7C), UINT32_C(0x0006E056),
+          UINT32_C(0x00245E47), UINT32_C(0x0000179C), UINT32_C(0x0028BA82),
+          UINT32_C(0x00229B1F), UINT32_C(0x003B6E93), UINT32_C(0x0012AE29),
+          UINT32_C(0x0017CD91), UINT32_C(0x0014F8C1)}},
+        {{UINT32_C(0x00340D60), UINT32_C(0x00077299), UINT32_C(0x003D596C),
+          UINT32_C(0x005CAB48), UINT32_C(0x0018060B), UINT32_C(0x00108F8B),
+          UINT32_C(0x00155345), UINT32_C(0x00555740), UINT32_C(0x0006639B),
+          UINT32_C(0x000966BA), UINT32_C(0x0028B692), UINT32_C(0x000E0989),
+          UINT32_C(0x000E36E6), UINT32_C(0x003EA5CF), UINT32_C(0x003E7233),
+          UINT32_C(0x002BCE85), UINT32_C(0x003B53C6), UINT32_C(0x000B6428),
+          UINT32_C(0x000CEB17), UINT32_C(0x001439C1), UINT32_C(0x003E1768),
+          UINT32_C(0x00182028), UINT32_C(0x00063591)},
+         {UINT32_C(0x004C6A3E), UINT32_C(0x0003B6B4), UINT32_C(0x00308620),
+          UINT32_C(0x0042D6E7), UINT32_C(0x000688FB), UINT32_C(0x00242205),
+          UINT32_C(0x0015FD4B), UINT32_C(0x006548A0), UINT32_C(0x00073894),
+          UINT32_C(0x00059483), UINT32_C(0x00070BE7), UINT32_C(0x005EC1A3),
+          UINT32_C(0x00138AF9), UINT32_C(0x00059A16), UINT32_C(0x000721C1),
+          UINT32_C(0x003D327D), UINT32_C(0x000AC881), UINT32_C(0x0008254B),
+          UINT32_C(0x00291DB6), UINT32_C(0x00202301), UINT32_C(0x002587BC),
+          UINT32_C(0x002F4480), UINT32_C(0x000BB989)}},
+        {{UINT32_C(0x0044D64A), UINT32_C(0x00169A22), UINT32_C(0x00198EE3),
+          UINT32_C(0x001C1CF3), UINT32_C(0x001ABB64), UINT32_C(0x0002B70C),
+          UINT32_C(0x000D1B40), UINT32_C(0x0000B41C), UINT32_C(0x001A07BF),
+          UINT32_C(0x0031380A), UINT32_C(0x0037E0A3), UINT32_C(0x005959D5),
+          UINT32_C(0x00195DCD), UINT32_C(0x00318DBC), UINT32_C(0x00014119),
+          UINT32_C(0x0039F9F8), UINT32_C(0x002F8B00), UINT32_C(0x00035A9F),
+          UINT32_C(0x001F77ED), UINT32_C(0x0042F50F), UINT32_C(0x0010F6EB),
+          UINT32_C(0x00018D31), UINT32_C(0x00115505)},
+         {UINT32_C(0x004A9CF0), UINT32_C(0x00396AE3), UINT32_C(0x002F36DC),
+          UINT32_C(0x0059C454), UINT32_C(0x002372E1), UINT32_C(0x0017C289),
+          UINT32_C(0x001DC88C), UINT32_C(0x00568BBB), UINT32_C(0x0038AAF3),
+          UINT32_C(0x000AC735), UINT32_C(0x001D93C9), UINT32_C(0x0079763F),
+          UINT32_C(0x000474DE), UINT32_C(0x001FFEA5), UINT32_C(0x0032E7A4),
+          UINT32_C(0x00286D83), UINT32_C(0x001C592E), UINT32_C(0x002E08D4),
+          UINT32_C(0x003C918F), UINT32_C(0x00635953), UINT32_C(0x00125ECD),
+          UINT32_C(0x00218E30), UINT32_C(0x0038E348)}},
+        {{UINT32_C(0x001F97CB), UINT32_C(0x00027C45), UINT32_C(0x0004CBBC),
+          UINT32_C(0x003C768C), UINT32_C(0x002150EB), UINT32_C(0x00309BAC),
+          UINT32_C(0x001BD192), UINT32_C(0x00449D0C), UINT32_C(0x00027761),
+          UINT32_C(0x00334EC9), UINT32_C(0x0004B563), UINT32_C(0x0063BBA5),
+          UINT32_C(0x0022D5EC), UINT32_C(0x0036D1DC), UINT32_C(0x0022C410),
+          UINT32_C(0x005B8D6B), UINT32_C(0x00182967), UINT32_C(0x002A4F38),
+          UINT32_C(0x00111A50), UINT32_C(0x00211F1F), UINT32_C(0x001EDAD2),
+          UINT32_C(0x0018C6ED), UINT32_C(0x00195251)},
+         {UINT32_C(0x002C575A), UINT32_C(0x00368BF8), UINT32_C(0x001817CE),
+          UINT32_C(0x0023D30F), UINT32_C(0x00335F3C), UINT32_C(0x003D8B6B),
+          UINT32_C(0x0036535C), UINT32_C(0x006E800F), UINT32_C(0x001D0FEE),
+          UINT32_C(0x001D0E1D), UINT32_C(0x001030F4), UINT32_C(0x00575F2F),
+          UINT32_C(0x000272DE), UINT32_C(0x0012885A), UINT32_C(0x001E98BE),
+          UINT32_C(0x0002CEF1), UINT32_C(0x00343652), UINT32_C(0x0026244E),
+          UINT32_C(0x00112950), UINT32_C(0x000CF99B), UINT32_C(0x0039E10D),
+          UINT32_C(0x0019A48E), UINT32_C(0x000F62D8)}},
+        {{UINT32_C(0x007F47CB), UINT32_C(0x000DB92B), UINT32_C(0x001CFE89),
+          UINT32_C(0x00438C82), UINT32_C(0x002F9B60), UINT32_C(0x0029F531),
+          UINT32_C(0x0036DACC), UINT32_C(0x000B743F), UINT32_C(0x0014BFCA),
+          UINT32_C(0x003076AB), UINT32_C(0x00061C92), UINT32_C(0x00402803),
+          UINT32_C(0x001F9BBE), UINT32_C(0x002BB4F0), UINT32_C(0x001D49FC),
+          UINT32_C(0x0039DA58), UINT32_C(0x001B9F65), UINT32_C(0x001A4032),
+          UINT32_C(0x001853D6), UINT32_C(0x0077F83B), UINT32_C(0x000BA641),
+          UINT32_C(0x0028F440), UINT32_C(0x00036529)},
+         {UINT32_C(0x00469CBC), UINT32_C(0x000ECB6B), UINT32_C(0x003ED688),
+          UINT32_C(0x00448228), UINT32_C(0x000125E0), UINT32_C(0x001294BB),
+          UINT32_C(0x003209CD), UINT32_C(0x00431140), UINT32_C(0x0024ADFE),
+          UINT32_C(0x000A297C), UINT32_C(0x00343443), UINT32_C(0x003DC6B9),
+          UINT32_C(0x003A8F4A), UINT32_C(0x003CD200), UINT32_C(0x0027F94A),
+          UINT32_C(0x0026C683), UINT32_C(0x001010D7), UINT32_C(0x00291317),
+          UINT32_C(0x001C01DB), UINT32_C(0x00323A9C), UINT32_C(0x0018F9E1),
+          UINT32_C(0x000FB990), UINT32_C(0x001C0FD8)}},
+        {{UINT32_C(0x002529B0), UINT32_C(0x00047C33), UINT32_C(0x00105D03),
+          UINT32_C(0x00668833), UINT32_C(0x001D8A87), UINT32_C(0x001BE267),
+          UINT32_C(0x002E8A17), UINT32_C(0x001BA406), UINT32_C(0x0012683B),
+          UINT32_C(0x0032EFBE), UINT32_C(0x0033C9C9), UINT32_C(0x003816FD),
+          UINT32_C(0x001E2856), UINT32_C(0x001FA678), UINT32_C(0x0034CF0E),
+          UINT32_C(0x002BC6D4), UINT32_C(0x0021D8C3), UINT32_C(0x00138A8F),
+          UINT32_C(0x00301A91), UINT32_C(0x007BA5BF), UINT32_C(0x0027ADBF),
+          UINT32_C(0x00084950), UINT32_C(0x003344F2)},
+         {UINT32_C(0x001D7DDB), UINT32_C(0x000B9FBD), UINT32_C(0x003A23D1),
+          UINT32_C(0x000DAA8E), UINT32_C(0x0015296C), UINT32_C(0x00378879),
+          UINT32_C(0x00080207), UINT32_C(0x006DACFA), UINT32_C(0x002C4D0C),
+          UINT32_C(0x0003E240), UINT32_C(0x0005CDBB), UINT32_C(0x004B5100),
+          UINT32_C(0x0024673C), UINT32_C(0x003EDDC4), UINT32_C(0x001C3104),
+          UINT32_C(0x004EC191), UINT32_C(0x001B0572), UINT32_C(0x002EE934),
+          UINT32_C(0x001E439A), UINT32_C(0x0008B8BC), UINT32_C(0x001D336D),
+          UINT32_C(0x000C0450), UINT32_C(0x00264399)}},
+        {{UINT32_C(0x0063BA75), UINT32_C(0x000E5577), UINT32_C(0x002D84D8),
+          UINT32_C(0x0011F137), UINT32_C(0x003C0568), UINT32_C(0x001FCF04),
+          UINT32_C(0x00369E84), UINT32_C(0x0026107B), UINT32_C(0x003793D0),
+          UINT32_C(0x002FF753), UINT32_C(0x00080D0D), UINT32_C(0x0009FE5B),
+          UINT32_C(0x000D568B), UINT32_C(0x00306219), UINT32_C(0x00057FB4),
+          UINT32_C(0x00251274), UINT32_C(0x0028F357), UINT32_C(0x001868A6),
+          UINT32_C(0x00245601), UINT32_C(0x00694DDA), UINT32_C(0x001BF932),
+          UINT32_C(0x00291545), UINT32_C(0x000834DF)},
+         {UINT32_C(0x005DE7C7), UINT32_C(0x00043FB9), UINT32_C(0x002022F7),
+          UINT32_C(0x006DD20B), UINT32_C(0x0034DB2B), UINT32_C(0x0009812A),
+          UINT32_C(0x000634E5), UINT32_C(0x00529BDD), UINT32_C(0x0037E7AF),
+          UINT32_C(0x0020131E), UINT32_C(0x0028145E), UINT32_C(0x007D781A),
+          UINT32_C(0x003F2E11), UINT32_C(0x00090377), UINT32_C(0x001FF3F0),
+          UINT32_C(0x0029544B), UINT32_C(0x0004B34A), UINT32_C(0x00308A92),
+          UINT32_C(0x00230957), UINT32_C(0x0030849F), UINT32_C(0x003BD197),
+          UINT32_C(0x0036543D), UINT32_C(0x0013DB50)}},
+        {{UINT32_C(0x006DBC4E), UINT32_C(0x000B8C36), UINT32_C(0x0033C975),
+          UINT32_C(0x001B98FA), UINT32_C(0x000E1469), UINT32_C(0x003F57BB),
+          UINT32_C(0x00366AF6), UINT32_C(0x002940D4), UINT32_C(0x002A7401),
+          UINT32_C(0x000B24FA), UINT32_C(0x003D079C), UINT32_C(0x000BBF2B),
+          UINT32_C(0x001C8DA1), UINT32_C(0x00281279), UINT32_C(0x003FD16B),
+          UINT32_C(0x005F172D), UINT32_C(0x003BC575), UINT32_C(0x0003F2EE),
+          UINT32_C(0x000EB6E0), UINT32_C(0x0025AA43), UINT32_C(0x0019146D),
+          UINT32_C(0x000E2FCD), UINT32_C(0x000708D1)},
+         {UINT32_C(0x00188A0A), UINT32_C(0x003280E1), UINT32_C(0x00375AE3),
+          UINT32_C(0x005DEF79), UINT32_C(0x0030CA8C), UINT32_C(0x0011A4E2),
+          UINT32_C(0x001A18EE), UINT32_C(0x0015160F), UINT32_C(0x003D4633),
+          UINT32_C(0x00210DF1), UINT32_C(0x0039513D), UINT32_C(0x00032B85),
+          UINT32_C(0x0000562C), UINT32_C(0x002B09DE), UINT32_C(0x0012E5D7),
+          UINT32_C(0x00343965), UINT32_C(0x002482BA), UINT32_C(0x00358D60),
+          UINT32_C(0x00210688), UINT32_C(0x001DE534), UINT32_C(0x0037E47D),
+          UINT32_C(0x00306432), UINT32_C(0x00331A00)}},
+        {{UINT32_C(0x000E3961), UINT32_C(0x00136E2C), UINT32_C(0x00396117),
+          UINT32_C(0x003A4EA9), UINT32_C(0x002B633F), UINT32_C(0x00331384),
+          UINT32_C(0x000E6FDA), UINT32_C(0x00110B81), UINT32_C(0x00083F56),
+          UINT32_C(0x0010E231), UINT32_C(0x00377F5B), UINT32_C(0x00777CBF),
+          UINT32_C(0x0027D587), UINT32_C(0x0016725E), UINT32_C(0x0022FAFB),
+          UINT32_C(0x0050FCA0), UINT32_C(0x0035E866), UINT32_C(0x001F6AF5),
+          UINT32_C(0x00131AFF), UINT32_C(0x0031B90B), UINT32_C(0x003D8FC9),
+          UINT32_C(0x003CCAEF), UINT32_C(0x000BCF90)},
+         {UINT32_C(0x0037CE7B), UINT32_C(0x003B57EC), UINT32_C(0x00161E92),
+          UINT32_C(0x0065355B), UINT32_C(0x0024637B), UINT32_C(0x0008B2C0),
+          UINT32_C(0x0002E6FD), UINT32_C(0x001ED2F1), UINT32_C(0x0024A016),
+          UINT32_C(0x0022B354), UINT32_C(0x0019306E), UINT32_C(0x003009F9),
+          UINT32_C(0x00130478), UINT32_C(0x0039951C), UINT32_C(0x003B9F26),
+          UINT32_C(0x00129D8E), UINT32_C(0x0028EAE8), UINT32_C(0x002E0532),
+          UINT32_C(0x002312B7), UINT32_C(0x001904D9), UINT32_C(0x001F8FB7),
+          UINT32_C(0x00306139), UINT32_C(0x00191E58)}},
+        {{UINT32_C(0x00315B6B), UINT32_C(0x0006110B), UINT32_C(0x002D0F7A),
+          UINT32_C(0x000B35D8), UINT32_C(0x0039DD74), UINT32_C(0x0013BF7F),
+          UINT32_C(0x00088A74), UINT32_C(0x00678A54), UINT32_C(0x0027C11E),
+          UINT32_C(0x0039299C), UINT32_C(0x0009E852), UINT32_C(0x003A9738),
+          UINT32_C(0x003BA90B), UINT32_C(0x003C704C), UINT32_C(0x00031EAD),
+          UINT32_C(0x003F9F6D), UINT32_C(0x00060C99), UINT32_C(0x00210078),
+          UINT32_C(0x000A43CC), UINT32_C(0x001D2C3A), UINT32_C(0x0016F165),
+          UINT32_C(0x002CBE20), UINT32_C(0x003CBD2A)},
+         {UINT32_C(0x006EA72C), UINT32_C(0x0019FAA9), UINT32_C(0x0027119B),
+          UINT32_C(0x00002DB4), UINT32_C(0x003FC202), UINT32_C(0x00258426),
+          UINT32_C(0x0017A426), UINT32_C(0x00591EA2), UINT32_C(0x000DAAC0),
+          UINT32_C(0x00160BB2), UINT32_C(0x002B5C9B), UINT32_C(0x0034552F),
+          UINT32_C(0x00354208), UINT32_C(0x003F73F6), UINT32_C(0x001D329F),
+          UINT32_C(0x00541523), UINT32_C(0x001D2733), UINT32_C(0x003E6DA0),
+          UINT32_C(0x00058267), UINT32_C(0x002FD1CD), UINT32_C(0x003085B8),
+          UINT32_C(0x0037B13E), UINT32_C(0x0011D71D)}},
+        {{UINT32_C(0x004EF58F), UINT32_C(0x00111078), UINT32_C(0x002A7D65),
+          UINT32_C(0x0032333E), UINT32_C(0x0011BB9D), UINT32_C(0x0033FA14),
+          UINT32_C(0x001ABD10), UINT32_C(0x007F9C0D), UINT32_C(0x0012F21C),
+          UINT32_C(0x003C4D14), UINT32_C(0x003A59E2), UINT32_C(0x0017140E),
+          UINT32_C(0x003EC05A), UINT32_C(0x002B8323), UINT32_C(0x0013D487),
+          UINT32_C(0x0061B630), UINT32_C(0x000C1262), UINT32_C(0x0034A7E5),
+          UINT32_C(0x0018DA22), UINT32_C(0x000DA70C), UINT32_C(0x001E1E78),
+          UINT32_C(0x0037CE10), UINT32_C(0x000BEBB1)},
+         {UINT32_C(0x004F54F0), UINT32_C(0x000A220B), UINT32_C(0x00161352),
+          UINT32_C(0x007E4EA4), UINT32_C(0x002878DE), UINT32_C(0x001C80E5),
+          UINT32_C(0x000C0855), UINT32_C(0x0075DF3B), UINT32_C(0x0039D0AB),
+          UINT32_C(0x001D0301), UINT32_C(0x001594B9), UINT32_C(0x0078140B),
+          UINT32_C(0x001A2C01), UINT32_C(0x0028FCE5), UINT32_C(0x003C573C),
+          UINT32_C(0x0006E543), UINT32_C(0x003A90E6), UINT32_C(0x002D4FDD),
+          UINT32_C(0x0022B1F7), UINT32_C(0x0062CB04), UINT32_C(0x002C12CA),
+          UINT32_C(0x00389E83), UINT32_C(0x0007631E)}},
+        {{UINT32_C(0x0023C68B), UINT32_C(0x000F609A), UINT32_C(0x000D7E01),
+          UINT32_C(0x0069E56B), UINT32_C(0x0003D496), UINT32_C(0x001BC8DC),
+          UINT32_C(0x00328E76), UINT32_C(0x00316565), UINT32_C(0x0011A340),
+          UINT32_C(0x00374048), UINT32_C(0x0016C79E), UINT32_C(0x0014449B),
+          UINT32_C(0x002EE9B6), UINT32_C(0x00032A11), UINT32_C(0x001212A3),
+          UINT32_C(0x003D35C1), UINT32_C(0x003485FD), UINT32_C(0x001199A6),
+          UINT32_C(0x001C3F0D), UINT32_C(0x0017F8CF), UINT32_C(0x0014AC02),
+          UINT32_C(0x001E0EB1), UINT32_C(0x001ACA7C)},
+         {UINT32_C(0x0031C47A), UINT32_C(0x00102E12), UINT32_C(0x002F6F4B),
+          UINT32_C(0x005B2D93), UINT32_C(0x000A9886), UINT32_C(0x001CC034),
+          UINT32_C(0x0023E81B), UINT32_C(0x0001A7CE), UINT32_C(0x0029ABC3),
+          UINT32_C(0x0004048C), UINT32_C(0x002BC25D), UINT32_C(0x00368ABA),
+          UINT32_C(0x0002746C), UINT32_C(0x00373868), UINT32_C(0x00061AA2),
+          UINT32_C(0x0056401C), UINT32_C(0x00207F34), UINT32_C(0x001FCA2D),
+          UINT32_C(0x00169B9E), UINT32_C(0x0064FDA3), UINT32_C(0x0028C18A),
+          UINT32_C(0x000C0847), UINT32_C(0x001845F0)}},
+        {{UINT32_C(0x002F9AD9), UINT32_C(0x0009590F), UINT32_C(0x00130486),
+          UINT32_C(0x0059CC83), UINT32_C(0x0039A337), UINT32_C(0x0022C7C7),
+          UINT32_C(0x0003C259), UINT32_C(0x00602650), UINT32_C(0x0008510C),
+          UINT32_C(0x00384F8A), UINT32_C(0x001F3AA0), UINT32_C(0x003706DA),
+          UINT32_C(0x00069456), UINT32_C(0x0002AD7C), UINT32_C(0x00003A14),
+          UINT32_C(0x007327BA), UINT32_C(0x002F7478), UINT32_C(0x001FBB28),
+          UINT32_C(0x0023BC3E), UINT32_C(0x007F5AB5), UINT32_C(0x001FFF4E),
+          UINT32_C(0x00188D11), UINT32_C(0x0013BC8B)},
+         {UINT32_C(0x0000C111), UINT32_C(0x0006AA72), UINT32_C(0x0012A2E9),
+          UINT32_C(0x0055127A), UINT32_C(0x003C8991), UINT32_C(0x0036CFBC),
+          UINT32_C(0x0037F0BB), UINT32_C(0x00655B21), UINT32_C(0x002B75E3),
+          UINT32_C(0x00336687), UINT32_C(0x00210878), UINT32_C(0x00089C2C),
+          UINT32_C(0x003CEE92), UINT32_C(0x00143383), UINT32_C(0x00371D45),
+          UINT32_C(0x000BCDFE), UINT32_C(0x00238367), UINT32_C(0x001C2D8B),
+          UINT32_C(0x003E06AD), UINT32_C(0x0053DBC8), UINT32_C(0x002A9F89),
+          UINT32_C(0x002955F8), UINT32_C(0x00137029)}},
+        {{UINT32_C(0x0002FB5B), UINT32_C(0x0032BB27), UINT32_C(0x001EE694),
+          UINT32_C(0x002E2965), UINT32_C(0x00395F01), UINT32_C(0x003FEC08),
+          UINT32_C(0x003ABDFB), UINT32_C(0x0068B88B), UINT32_C(0x00221DB7),
+          UINT32_C(0x000F72D1), UINT32_C(0x0003F9DC), UINT32_C(0x005C1B93),
+          UINT32_C(0x00073A9E), UINT32_C(0x00160BD0), UINT32_C(0x00053416),
+          UINT32_C(0x0023242A), UINT32_C(0x0010FAB9), UINT32_C(0x0006D2C5),
+          UINT32_C(0x00236E83), UINT32_C(0x0054747B), UINT32_C(0x00063F98),
+          UINT32_C(0x001A8789), UINT32_C(0x003DC7DA)},
+         {UINT32_C(0x00463909), UINT32_C(0x0029E3B4), UINT32_C(0x0002F0E2),
+          UINT32_C(0x00593390), UINT32_C(0x0034320B), UINT32_C(0x003F6A3B),
+          UINT32_C(0x002603E4), UINT32_C(0x00016676), UINT32_C(0x00254C99),
+          UINT32_C(0x0023EB7B), UINT32_C(0x00119D88), UINT32_C(0x003D63F8),
+          UINT32_C(0x00350BC8), UINT32_C(0x00140757), UINT32_C(0x002473C4),
+          UINT32_C(0x0034D831), UINT32_C(0x0017BDB7), UINT32_C(0x003E24EB),
+          UINT32_C(0x00231FE3), UINT32_C(0x0070EC64), UINT32_C(0x00043E18),
+          UINT32_C(0x002A4D4F), UINT32_C(0x0005D554)}},
+        {{UINT32_C(0x006FC15D), UINT32_C(0x001F5830), UINT32_C(0x0008AD9E),
+          UINT32_C(0x002845F0), UINT32_C(0x001CD01E), UINT32_C(0x0000CFC1),
+          UINT32_C(0x0032AE8B), UINT32_C(0x0019E673), UINT32_C(0x0030C5E5),
+          UINT32_C(0x00050166), UINT32_C(0x00372FAC), UINT32_C(0x00057147),
+          UINT32_C(0x0004060F), UINT32_C(0x00163807), UINT32_C(0x002BCADD),
+          UINT32_C(0x00376726), UINT32_C(0x0028315B), UINT32_C(0x0009418F),
+          UINT32_C(0x001E2957), UINT32_C(0x006D28BE), UINT32_C(0x001BCADE),
+          UINT32_C(0x0031A352), UINT32_C(0x00052575)},
+         {UINT32_C(0x00404C1D), UINT32_C(0x0024FA31), UINT32_C(0x0012C7A3),
+          UINT32_C(0x007D71A8), UINT32_C(0x0028D167), UINT32_C(0x0020B8E9),
+          UINT32_C(0x0032697E), UINT32_C(0x00202C6B), UINT32_C(0x00032212),
+          UINT32_C(0x003AB37D), UINT32_C(0x0029EEED), UINT32_C(0x00239F39),
+          UINT32_C(0x0007DC00), UINT32_C(0x003BD86F), UINT32_C(0x003B948C),
+          UINT32_C(0x005D1965), UINT32_C(0x003C74AD), UINT32_C(0x001EAB46),
+          UINT32_C(0x00255C49), UINT32_C(0x002402DB), UINT32_C(0x0004833F),
+          UINT32_C(0x00181728), UINT32_C(0x002C23A4)}},
+        {{UINT32_C(0x00069003), UINT32_C(0x001493A6), UINT32_C(0x003F6B49),
+          UINT32_C(0x001B15E2), UINT32_C(0x003CB610), UINT32_C(0x003AC0D8),
+          UINT32_C(0x0012E96D), UINT32_C(0x004C065C), UINT32_C(0x00318C4E),
+          UINT32_C(0x00151ED2), UINT32_C(0x002348E6), UINT32_C(0x006AE001),
+          UINT32_C(0x0012C641), UINT32_C(0x00126DF2), UINT32_C(0x001D6E0A),
+          UINT32_C(0x00227223), UINT32_C(0x003493D1), UINT32_C(0x0027ED79),
+          UINT32_C(0x00097233), UINT32_C(0x0004AB1D), UINT32_C(0x002E7F5A),
+          UINT32_C(0x003ED69A), UINT32_C(0x003D2512)},
+         {UINT32_C(0x002D81D0), UINT32_C(0x0012CD40), UINT32_C(0x00296981),
+          UINT32_C(0x007D52C8), UINT32_C(0x002B5E71), UINT32_C(0x0018553C),
+          UINT32_C(0x003F8695), UINT32_C(0x00730395), UINT32_C(0x00050DAB),
+          UINT32_C(0x0015BCBA), UINT32_C(0x00220A46), UINT32_C(0x00762FDE),
+          UINT32_C(0x0029B8D0), UINT32_C(0x0025890A), UINT32_C(0x002D307D),
+          UINT32_C(0x0077543E), UINT32_C(0x001F282E), UINT32_C(0x00300B63),
+          UINT32_C(0x000F826D), UINT32_C(0x00344F5F), UINT32_C(0x0017B455),
+          UINT32_C(0x000FA526), UINT32_C(0x0013C162)}},
+    }};
+
+/*-
+ * Q := 2P, both projective, Q and P same pointers OK
+ * Autogenerated: op3/dbl_proj.op3
+ * https://eprint.iacr.org/2015/1060 Alg 6
+ * ASSERT: a = -3
+ */
+static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
+    /* temporary variables */
+    fe_t t0, t1, t2, t3, t4;
+    /* constants */
+    const limb_t *b = const_b;
+    /* set pointers for legacy 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 *Z3 = Q->Z;
+
+    /* the curve arith formula */
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(t0, X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(t1, Y);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_square(t2, Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t3, X, Y);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t3, t3, t3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t4, Y, Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(Z3, X, Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Z3, Z3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(Y3, b, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(Y3, Y3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(X3, Y3, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Y3, X3, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(X3, t1, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Y3, t1, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(Y3, X3, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(X3, X3, t3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t3, t2, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t2, t2, t3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(Z3, b, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(Z3, Z3, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(Z3, Z3, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t3, Z3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Z3, Z3, t3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t3, t0, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t0, t3, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(t0, t0, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t0, t0, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Y3, Y3, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t0, t4, t4);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(Z3, t0, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(X3, X3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(Z3, t0, t1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Z3, Z3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Z3, Z3, Z3);
+}
+
+/*-
+ * out1 = (arg1 == 0) ? 0 : nz
+ * NB: this is not a "mod p equiv" 0, but literal 0
+ * NB: this is not a real Fiat function, just named that way for consistency.
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetA_nonzero(limb_t *out1,
+                                                              const fe_t arg1) {
+    limb_t x1 = 0;
+    int i;
+
+    for (i = 0; i < LIMB_CNT; i++) x1 |= arg1[i];
+    *out1 = x1;
+}
+
+/*-
+ * 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.op3
+ * https://eprint.iacr.org/2015/1060 Alg 5
+ * ASSERT: a = -3
+ */
+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, t4;
+    /* constants */
+    const limb_t *b = const_b;
+    /* set pointers for legacy curve arith */
+    const limb_t *X1 = Q->X;
+    const limb_t *Y1 = Q->Y;
+    const limb_t *Z1 = Q->Z;
+    const limb_t *X2 = P->X;
+    const limb_t *Y2 = P->Y;
+    fe_t X3;
+    fe_t Y3;
+    fe_t Z3;
+    limb_t nz;
+
+    /* check P for affine inf */
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_nonzero(&nz, P->Y);
+
+    /* the curve arith formula */
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t0, X1, X2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t1, Y1, Y2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t3, X2, Y2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t4, X1, Y1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t3, t3, t4);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t4, t0, t1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(t3, t3, t4);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t4, Y2, Z1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t4, t4, Y1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(Y3, X2, Z1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Y3, Y3, X1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(Z3, b, Z1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(X3, Y3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Z3, X3, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(X3, X3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(Z3, t1, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(X3, t1, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(Y3, b, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t1, Z1, Z1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t2, t1, Z1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(Y3, Y3, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(Y3, Y3, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t1, Y3, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Y3, t1, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t1, t0, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t0, t1, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(t0, t0, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t1, t4, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t2, t0, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(Y3, X3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Y3, Y3, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(X3, t3, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(X3, X3, t1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(Z3, t4, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t1, t3, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Z3, Z3, t1);
+
+    /* if P is inf, throw all that away and take Q */
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_selectznz(R->X, nz, Q->X, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_selectznz(R->Y, nz, Q->Y, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_selectznz(R->Z, nz, Q->Z, Z3);
+}
+
+/*-
+ * R := Q + P all projective.
+ * R and Q same pointers OK
+ * R and P same pointers not OK
+ * Autogenerated: op3/add_proj.op3
+ * https://eprint.iacr.org/2015/1060 Alg 4
+ * ASSERT: a = -3
+ */
+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, t4, t5;
+    /* constants */
+    const limb_t *b = const_b;
+    /* set pointers for legacy curve arith */
+    const limb_t *X1 = Q->X;
+    const limb_t *Y1 = Q->Y;
+    const limb_t *Z1 = Q->Z;
+    const limb_t *X2 = P->X;
+    const limb_t *Y2 = P->Y;
+    const limb_t *Z2 = P->Z;
+    limb_t *X3 = R->X;
+    limb_t *Y3 = R->Y;
+    limb_t *Z3 = R->Z;
+
+    /* the curve arith formula */
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t0, X1, X2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t1, Y1, Y2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t2, Z1, Z2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t3, X1, Y1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t4, X2, Y2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t3, t3, t4);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t4, t0, t1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(t3, t3, t4);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t4, Y1, Z1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t5, Y2, Z2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t4, t4, t5);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t5, t1, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(t4, t4, t5);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(X3, X1, Z1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Y3, X2, Z2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(X3, X3, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Y3, t0, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(Y3, X3, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(Z3, b, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(X3, Y3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Z3, X3, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(X3, X3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(Z3, t1, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(X3, t1, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(Y3, b, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t1, t2, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t2, t1, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(Y3, Y3, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(Y3, Y3, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t1, Y3, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Y3, t1, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t1, t0, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(t0, t1, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(t0, t0, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t1, t4, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t2, t0, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(Y3, X3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Y3, Y3, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(X3, t3, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_sub(X3, X3, t1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(Z3, t4, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(t1, t3, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_add(Z3, Z3, t1);
+}
+
+/* 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;
+
+    fe_copy(precomp[0].X, P->X);
+    fe_copy(precomp[0].Y, P->Y);
+    fe_copy(precomp[0].Z, const_one);
+    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_paramSetA_opp(Q.Y, Q.Y);
+                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.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_paramSetA_opp(Q.Y, Q.Y);
+                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.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.Z);
+    }
+
+    if (flipped) {
+        /* correct sign */
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_opp(Q.Y, Q.Y);
+    }
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_inv(Q.Z, Q.Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(out->X, Q.X, Q.Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_selectznz(Q.X, diff, Q.X,
+                                                            precomp[j].X);
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_selectznz(Q.Y, diff, Q.Y,
+                                                            precomp[j].Y);
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_selectznz(
+                lut.X, diff, lut.X, precomp[j].X);
+            fiat_id_tc26_gost_3410_2012_512_paramSetA_selectznz(
+                lut.Y, diff, lut.Y, precomp[j].Y);
+            fiat_id_tc26_gost_3410_2012_512_paramSetA_selectznz(
+                lut.Z, diff, lut.Z, precomp[j].Z);
+        }
+        /* negate lut point if digit is negative */
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_opp(out->Y, lut.Y);
+        fiat_id_tc26_gost_3410_2012_512_paramSetA_selectznz(lut.Y, is_neg,
+                                                            lut.Y, out->Y);
+        point_add_proj(&Q, &Q, &lut);
+    }
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
+
+    /* conditionally subtract P if the scalar was even */
+    fe_copy(lut.X, precomp[0].X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_opp(lut.Y, precomp[0].Y);
+    fe_copy(lut.Z, precomp[0].Z);
+    point_add_proj(&lut, &lut, &Q);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_selectznz(Q.X, scalar[0] & 1,
+                                                        lut.X, Q.X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_selectznz(Q.Y, scalar[0] & 1,
+                                                        lut.Y, Q.Y);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_selectznz(Q.Z, scalar[0] & 1,
+                                                        lut.Z, Q.Z);
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_inv(Q.Z, Q.Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(out->X, Q.X, Q.Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_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.Z);
+
+#if defined(_MSC_VER)
+    /* result still unsigned: yes we know */
+#pragma warning(push)
+#pragma warning(disable : 4146)
+#endif
+
+    for (i = 10; i >= 0; i--) {
+        for (j = 0; i != 10 && j < RADIX; j++) point_double(&Q, &Q);
+        for (j = 0; j < 11; j++) {
+            if (j * 11 + i > 102) continue;
+            d = rnaf[j * 11 + 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_paramSetA_selectznz(
+                    lut.X, diff, lut.X, lut_cmb[j][k].X);
+                fiat_id_tc26_gost_3410_2012_512_paramSetA_selectznz(
+                    lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
+            }
+            /* negate lut point if digit is negative */
+            fiat_id_tc26_gost_3410_2012_512_paramSetA_opp(out->Y, lut.Y);
+            fiat_id_tc26_gost_3410_2012_512_paramSetA_selectznz(lut.Y, is_neg,
+                                                                lut.Y, out->Y);
+            point_add_mixed(&Q, &Q, &lut);
+        }
+    }
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
+
+    /* conditionally subtract P if the scalar was even */
+    fe_copy(lut.X, lut_cmb[0][0].X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_opp(lut.Y, lut_cmb[0][0].Y);
+    point_add_mixed(&R, &Q, &lut);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_selectznz(Q.X, scalar[0] & 1, R.X,
+                                                        Q.X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_selectznz(Q.Y, scalar[0] & 1, R.Y,
+                                                        Q.Y);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_selectznz(Q.Z, scalar[0] & 1, R.Z,
+                                                        Q.Z);
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_inv(Q.Z, Q.Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_carry_mul(out->X, Q.X, Q.Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_from_bytes(P.X, inx);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_from_bytes(P.Y, iny);
+    /* simultaneous scalar multiplication */
+    var_smul_wnaf_two(&P, a, b, &P);
+
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_to_bytes(outx, P.X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_to_bytes(outx, P.X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA_from_bytes(P.X, inx);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_from_bytes(P.Y, iny);
+    /* var scmul function */
+    var_smul_rwnaf(&P, scalar, &P);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_to_bytes(outx, P.X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetA_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_paramSetA(
+        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_paramSetA(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_paramSetA(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__ */
diff --git a/ecp_id_tc26_gost_3410_2012_512_paramSetB.c b/ecp_id_tc26_gost_3410_2012_512_paramSetB.c
new file mode 100644 (file)
index 0000000..e305747
--- /dev/null
@@ -0,0 +1,22321 @@
+/* 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 8
+/* 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))
+
+/* Projective points */
+typedef struct {
+    fe_t X;
+    fe_t Y;
+    fe_t Z;
+} pt_prj_t;
+
+/* Affine points */
+typedef struct {
+    fe_t X;
+    fe_t Y;
+} 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: word_by_word_montgomery --static id_tc26_gost_3410_2012_512_paramSetB 64 '2^511 + 111' */
+/* curve description: id_tc26_gost_3410_2012_512_paramSetB */
+/* machine_wordsize = 64 (from "64") */
+/* requested operations: (all) */
+/* m = 0x8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f (from "2^511 + 111") */
+/*                                                                    */
+/* NOTE: In addition to the bounds specified above each function, all */
+/*   functions synthesized for this Montgomery arithmetic require the */
+/*   input to be strictly less than the prime modulus (m), and also   */
+/*   require the input to be in the unique saturated representation.  */
+/*   All functions also ensure that these two properties are true of  */
+/*   return values.                                                   */
+/*  */
+/* Computed values: */
+/* eval z = z[0] + (z[1] << 64) + (z[2] << 128) + (z[3] << 192) + (z[4] << 256) + (z[5] << 0x140) + (z[6] << 0x180) + (z[7] << 0x1c0) */
+/* 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_paramSetB_uint1;
+typedef signed char fiat_id_tc26_gost_3410_2012_512_paramSetB_int1;
+typedef signed __int128 fiat_id_tc26_gost_3410_2012_512_paramSetB_int128;
+typedef unsigned __int128 fiat_id_tc26_gost_3410_2012_512_paramSetB_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_paramSetB_addcarryx_u64 is an addition with carry.
+ * Postconditions:
+ *   out1 = (arg1 + arg2 + arg3) mod 2^64
+ *   out2 = ⌊(arg1 + arg2 + arg3) / 2^64⌋
+ *
+ * Input Bounds:
+ *   arg1: [0x0 ~> 0x1]
+ *   arg2: [0x0 ~> 0xffffffffffffffff]
+ *   arg3: [0x0 ~> 0xffffffffffffffff]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffffffffffffff]
+ *   out2: [0x0 ~> 0x1]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(
+    uint64_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 *out2,
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 arg1, uint64_t arg2,
+    uint64_t arg3) {
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint128 x1;
+    uint64_t x2;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x3;
+    x1 = ((arg1 + (fiat_id_tc26_gost_3410_2012_512_paramSetB_uint128)arg2) +
+          arg3);
+    x2 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
+    x3 = (fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1)(x1 >> 64);
+    *out1 = x2;
+    *out2 = x3;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64 is a subtraction with borrow.
+ * Postconditions:
+ *   out1 = (-arg1 + arg2 + -arg3) mod 2^64
+ *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^64⌋
+ *
+ * Input Bounds:
+ *   arg1: [0x0 ~> 0x1]
+ *   arg2: [0x0 ~> 0xffffffffffffffff]
+ *   arg3: [0x0 ~> 0xffffffffffffffff]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffffffffffffff]
+ *   out2: [0x0 ~> 0x1]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(
+    uint64_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 *out2,
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 arg1, uint64_t arg2,
+    uint64_t arg3) {
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_int128 x1;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_int1 x2;
+    uint64_t x3;
+    x1 = ((arg2 - (fiat_id_tc26_gost_3410_2012_512_paramSetB_int128)arg1) -
+          arg3);
+    x2 = (fiat_id_tc26_gost_3410_2012_512_paramSetB_int1)(x1 >> 64);
+    x3 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
+    *out1 = x3;
+    *out2 = (fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1)(0x0 - x2);
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64 is a multiplication, returning the full double-width result.
+ * Postconditions:
+ *   out1 = (arg1 * arg2) mod 2^64
+ *   out2 = ⌊arg1 * arg2 / 2^64⌋
+ *
+ * Input Bounds:
+ *   arg1: [0x0 ~> 0xffffffffffffffff]
+ *   arg2: [0x0 ~> 0xffffffffffffffff]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffffffffffffff]
+ *   out2: [0x0 ~> 0xffffffffffffffff]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(uint64_t *out1,
+                                                               uint64_t *out2,
+                                                               uint64_t arg1,
+                                                               uint64_t arg2) {
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint128 x1;
+    uint64_t x2;
+    uint64_t x3;
+    x1 = ((fiat_id_tc26_gost_3410_2012_512_paramSetB_uint128)arg1 * arg2);
+    x2 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
+    x3 = (uint64_t)(x1 >> 64);
+    *out1 = x2;
+    *out2 = x3;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetB_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_paramSetB_cmovznz_u64(
+    uint64_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 arg1,
+    uint64_t arg2, uint64_t arg3) {
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1;
+    uint64_t x2;
+    uint64_t x3;
+    x1 = (!(!arg1));
+    x2 = ((fiat_id_tc26_gost_3410_2012_512_paramSetB_int1)(0x0 - x1) &
+          UINT64_C(0xffffffffffffffff));
+    x3 = ((x2 & arg3) | ((~x2) & arg2));
+    *out1 = x3;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetB_mul multiplies two field elements in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ *   0 ≤ eval arg2 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg2)) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ *   arg2: [[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]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(
+    uint64_t out1[8], const uint64_t arg1[8], const uint64_t arg2[8]) {
+    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;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x26;
+    uint64_t x27;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x28;
+    uint64_t x29;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x30;
+    uint64_t x31;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x32;
+    uint64_t x33;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x34;
+    uint64_t x35;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x36;
+    uint64_t x37;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 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;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x47;
+    uint64_t x48;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x49;
+    uint64_t x50;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x51;
+    uint64_t x52;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x53;
+    uint64_t x54;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x55;
+    uint64_t x56;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x57;
+    uint64_t x58;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x59;
+    uint64_t x60;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x61;
+    uint64_t x62;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 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;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x81;
+    uint64_t x82;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x83;
+    uint64_t x84;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x85;
+    uint64_t x86;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x87;
+    uint64_t x88;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x89;
+    uint64_t x90;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x91;
+    uint64_t x92;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x93;
+    uint64_t x94;
+    uint64_t x95;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x96;
+    uint64_t x97;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x98;
+    uint64_t x99;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x100;
+    uint64_t x101;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x102;
+    uint64_t x103;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x104;
+    uint64_t x105;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x106;
+    uint64_t x107;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x108;
+    uint64_t x109;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x110;
+    uint64_t x111;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x112;
+    uint64_t x113;
+    uint64_t x114;
+    uint64_t x115;
+    uint64_t x116;
+    uint64_t x117;
+    uint64_t x118;
+    uint64_t x119;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x120;
+    uint64_t x121;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x122;
+    uint64_t x123;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x124;
+    uint64_t x125;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x126;
+    uint64_t x127;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x128;
+    uint64_t x129;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x130;
+    uint64_t x131;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x132;
+    uint64_t x133;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x134;
+    uint64_t x135;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 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;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x155;
+    uint64_t x156;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x157;
+    uint64_t x158;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x159;
+    uint64_t x160;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x161;
+    uint64_t x162;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x163;
+    uint64_t x164;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x165;
+    uint64_t x166;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x167;
+    uint64_t x168;
+    uint64_t x169;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x170;
+    uint64_t x171;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x172;
+    uint64_t x173;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x174;
+    uint64_t x175;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x176;
+    uint64_t x177;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x178;
+    uint64_t x179;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x180;
+    uint64_t x181;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x182;
+    uint64_t x183;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x184;
+    uint64_t x185;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x186;
+    uint64_t x187;
+    uint64_t x188;
+    uint64_t x189;
+    uint64_t x190;
+    uint64_t x191;
+    uint64_t x192;
+    uint64_t x193;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x194;
+    uint64_t x195;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x196;
+    uint64_t x197;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x198;
+    uint64_t x199;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x200;
+    uint64_t x201;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x202;
+    uint64_t x203;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x204;
+    uint64_t x205;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x206;
+    uint64_t x207;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x208;
+    uint64_t x209;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 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;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x229;
+    uint64_t x230;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x231;
+    uint64_t x232;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x233;
+    uint64_t x234;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x235;
+    uint64_t x236;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x237;
+    uint64_t x238;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x239;
+    uint64_t x240;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x241;
+    uint64_t x242;
+    uint64_t x243;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x244;
+    uint64_t x245;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x246;
+    uint64_t x247;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x248;
+    uint64_t x249;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x250;
+    uint64_t x251;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x252;
+    uint64_t x253;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x254;
+    uint64_t x255;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x256;
+    uint64_t x257;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x258;
+    uint64_t x259;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x260;
+    uint64_t x261;
+    uint64_t x262;
+    uint64_t x263;
+    uint64_t x264;
+    uint64_t x265;
+    uint64_t x266;
+    uint64_t x267;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x268;
+    uint64_t x269;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x270;
+    uint64_t x271;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x272;
+    uint64_t x273;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x274;
+    uint64_t x275;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x276;
+    uint64_t x277;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x278;
+    uint64_t x279;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x280;
+    uint64_t x281;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x282;
+    uint64_t x283;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 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;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x303;
+    uint64_t x304;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x305;
+    uint64_t x306;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x307;
+    uint64_t x308;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x309;
+    uint64_t x310;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x311;
+    uint64_t x312;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x313;
+    uint64_t x314;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x315;
+    uint64_t x316;
+    uint64_t x317;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x318;
+    uint64_t x319;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x320;
+    uint64_t x321;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x322;
+    uint64_t x323;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x324;
+    uint64_t x325;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x326;
+    uint64_t x327;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x328;
+    uint64_t x329;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x330;
+    uint64_t x331;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x332;
+    uint64_t x333;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x334;
+    uint64_t x335;
+    uint64_t x336;
+    uint64_t x337;
+    uint64_t x338;
+    uint64_t x339;
+    uint64_t x340;
+    uint64_t x341;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x342;
+    uint64_t x343;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x344;
+    uint64_t x345;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x346;
+    uint64_t x347;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x348;
+    uint64_t x349;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x350;
+    uint64_t x351;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x352;
+    uint64_t x353;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x354;
+    uint64_t x355;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x356;
+    uint64_t x357;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 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;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x377;
+    uint64_t x378;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x379;
+    uint64_t x380;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x381;
+    uint64_t x382;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x383;
+    uint64_t x384;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x385;
+    uint64_t x386;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x387;
+    uint64_t x388;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x389;
+    uint64_t x390;
+    uint64_t x391;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x392;
+    uint64_t x393;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x394;
+    uint64_t x395;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x396;
+    uint64_t x397;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x398;
+    uint64_t x399;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x400;
+    uint64_t x401;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x402;
+    uint64_t x403;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x404;
+    uint64_t x405;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x406;
+    uint64_t x407;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x408;
+    uint64_t x409;
+    uint64_t x410;
+    uint64_t x411;
+    uint64_t x412;
+    uint64_t x413;
+    uint64_t x414;
+    uint64_t x415;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x416;
+    uint64_t x417;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x418;
+    uint64_t x419;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x420;
+    uint64_t x421;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x422;
+    uint64_t x423;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x424;
+    uint64_t x425;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x426;
+    uint64_t x427;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x428;
+    uint64_t x429;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x430;
+    uint64_t x431;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 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;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x451;
+    uint64_t x452;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x453;
+    uint64_t x454;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x455;
+    uint64_t x456;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x457;
+    uint64_t x458;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x459;
+    uint64_t x460;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x461;
+    uint64_t x462;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x463;
+    uint64_t x464;
+    uint64_t x465;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x466;
+    uint64_t x467;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x468;
+    uint64_t x469;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x470;
+    uint64_t x471;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x472;
+    uint64_t x473;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x474;
+    uint64_t x475;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x476;
+    uint64_t x477;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x478;
+    uint64_t x479;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x480;
+    uint64_t x481;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x482;
+    uint64_t x483;
+    uint64_t x484;
+    uint64_t x485;
+    uint64_t x486;
+    uint64_t x487;
+    uint64_t x488;
+    uint64_t x489;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x490;
+    uint64_t x491;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x492;
+    uint64_t x493;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x494;
+    uint64_t x495;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x496;
+    uint64_t x497;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x498;
+    uint64_t x499;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x500;
+    uint64_t x501;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x502;
+    uint64_t x503;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x504;
+    uint64_t x505;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 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;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x525;
+    uint64_t x526;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x527;
+    uint64_t x528;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x529;
+    uint64_t x530;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x531;
+    uint64_t x532;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x533;
+    uint64_t x534;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x535;
+    uint64_t x536;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x537;
+    uint64_t x538;
+    uint64_t x539;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x540;
+    uint64_t x541;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x542;
+    uint64_t x543;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x544;
+    uint64_t x545;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x546;
+    uint64_t x547;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x548;
+    uint64_t x549;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x550;
+    uint64_t x551;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x552;
+    uint64_t x553;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x554;
+    uint64_t x555;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x556;
+    uint64_t x557;
+    uint64_t x558;
+    uint64_t x559;
+    uint64_t x560;
+    uint64_t x561;
+    uint64_t x562;
+    uint64_t x563;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x564;
+    uint64_t x565;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x566;
+    uint64_t x567;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x568;
+    uint64_t x569;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x570;
+    uint64_t x571;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x572;
+    uint64_t x573;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x574;
+    uint64_t x575;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x576;
+    uint64_t x577;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x578;
+    uint64_t x579;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x580;
+    uint64_t x581;
+    uint64_t x582;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x583;
+    uint64_t x584;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x585;
+    uint64_t x586;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x587;
+    uint64_t x588;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x589;
+    uint64_t x590;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x591;
+    uint64_t x592;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x593;
+    uint64_t x594;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x595;
+    uint64_t x596;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x597;
+    uint64_t x598;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x599;
+    uint64_t x600;
+    uint64_t x601;
+    uint64_t x602;
+    uint64_t x603;
+    uint64_t x604;
+    uint64_t x605;
+    uint64_t x606;
+    uint64_t x607;
+    x1 = (arg1[1]);
+    x2 = (arg1[2]);
+    x3 = (arg1[3]);
+    x4 = (arg1[4]);
+    x5 = (arg1[5]);
+    x6 = (arg1[6]);
+    x7 = (arg1[7]);
+    x8 = (arg1[0]);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x9, &x10, x8,
+                                                       (arg2[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x11, &x12, x8,
+                                                       (arg2[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x13, &x14, x8,
+                                                       (arg2[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x15, &x16, x8,
+                                                       (arg2[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x17, &x18, x8,
+                                                       (arg2[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x19, &x20, x8,
+                                                       (arg2[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x21, &x22, x8,
+                                                       (arg2[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x23, &x24, x8,
+                                                       (arg2[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x25, &x26, 0x0,
+                                                            x24, x21);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x27, &x28, x26,
+                                                            x22, x19);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x29, &x30, x28,
+                                                            x20, x17);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x31, &x32, x30,
+                                                            x18, x15);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x33, &x34, x32,
+                                                            x16, x13);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x35, &x36, x34,
+                                                            x14, x11);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x37, &x38, x36,
+                                                            x12, x9);
+    x39 = (x38 + x10);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x40, &x41, x23, UINT64_C(0x4e6a171024e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x42, &x43, x40, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x44, &x45, x40,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x46, &x47, 0x0,
+                                                            x23, x44);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x48, &x49, x47,
+                                                            x25, x45);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x50, &x51, x49,
+                                                            x27, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x52, &x53, x51,
+                                                            x29, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x54, &x55, x53,
+                                                            x31, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x56, &x57, x55,
+                                                            x33, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x58, &x59, x57,
+                                                            x35, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x60, &x61, x59,
+                                                            x37, x42);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x62, &x63, x61,
+                                                            x39, x43);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x64, &x65, x1,
+                                                       (arg2[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x66, &x67, x1,
+                                                       (arg2[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x68, &x69, x1,
+                                                       (arg2[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x70, &x71, x1,
+                                                       (arg2[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x72, &x73, x1,
+                                                       (arg2[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x74, &x75, x1,
+                                                       (arg2[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x76, &x77, x1,
+                                                       (arg2[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x78, &x79, x1,
+                                                       (arg2[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x80, &x81, 0x0,
+                                                            x79, x76);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x82, &x83, x81,
+                                                            x77, x74);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x84, &x85, x83,
+                                                            x75, x72);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x86, &x87, x85,
+                                                            x73, x70);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x88, &x89, x87,
+                                                            x71, x68);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x90, &x91, x89,
+                                                            x69, x66);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x92, &x93, x91,
+                                                            x67, x64);
+    x94 = (x93 + x65);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x95, &x96, 0x0,
+                                                            x48, x78);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x97, &x98, x96,
+                                                            x50, x80);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x99, &x100, x98,
+                                                            x52, x82);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x101, &x102, x100,
+                                                            x54, x84);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x103, &x104, x102,
+                                                            x56, x86);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x105, &x106, x104,
+                                                            x58, x88);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x107, &x108, x106,
+                                                            x60, x90);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x109, &x110, x108,
+                                                            x62, x92);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x111, &x112, x110,
+                                                            x63, x94);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x113, &x114, x95, UINT64_C(0x4e6a171024e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x115, &x116, x113, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x117, &x118, x113,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x119, &x120, 0x0,
+                                                            x95, x117);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x121, &x122, x120,
+                                                            x97, x118);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x123, &x124, x122,
+                                                            x99, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x125, &x126, x124,
+                                                            x101, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x127, &x128, x126,
+                                                            x103, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x129, &x130, x128,
+                                                            x105, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x131, &x132, x130,
+                                                            x107, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x133, &x134, x132,
+                                                            x109, x115);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x135, &x136, x134,
+                                                            x111, x116);
+    x137 = ((uint64_t)x136 + x112);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x138, &x139, x2,
+                                                       (arg2[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x140, &x141, x2,
+                                                       (arg2[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x142, &x143, x2,
+                                                       (arg2[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x144, &x145, x2,
+                                                       (arg2[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x146, &x147, x2,
+                                                       (arg2[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x148, &x149, x2,
+                                                       (arg2[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x150, &x151, x2,
+                                                       (arg2[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x152, &x153, x2,
+                                                       (arg2[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x154, &x155, 0x0,
+                                                            x153, x150);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x156, &x157, x155,
+                                                            x151, x148);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x158, &x159, x157,
+                                                            x149, x146);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x160, &x161, x159,
+                                                            x147, x144);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x162, &x163, x161,
+                                                            x145, x142);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x164, &x165, x163,
+                                                            x143, x140);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x166, &x167, x165,
+                                                            x141, x138);
+    x168 = (x167 + x139);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x169, &x170, 0x0,
+                                                            x121, x152);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x171, &x172, x170,
+                                                            x123, x154);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x173, &x174, x172,
+                                                            x125, x156);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x175, &x176, x174,
+                                                            x127, x158);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x177, &x178, x176,
+                                                            x129, x160);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x179, &x180, x178,
+                                                            x131, x162);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x181, &x182, x180,
+                                                            x133, x164);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x183, &x184, x182,
+                                                            x135, x166);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x185, &x186, x184,
+                                                            x137, x168);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x187, &x188, x169, UINT64_C(0x4e6a171024e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x189, &x190, x187, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x191, &x192, x187,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x193, &x194, 0x0,
+                                                            x169, x191);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x195, &x196, x194,
+                                                            x171, x192);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x197, &x198, x196,
+                                                            x173, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x199, &x200, x198,
+                                                            x175, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x201, &x202, x200,
+                                                            x177, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x203, &x204, x202,
+                                                            x179, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x205, &x206, x204,
+                                                            x181, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x207, &x208, x206,
+                                                            x183, x189);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x209, &x210, x208,
+                                                            x185, x190);
+    x211 = ((uint64_t)x210 + x186);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x212, &x213, x3,
+                                                       (arg2[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x214, &x215, x3,
+                                                       (arg2[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x216, &x217, x3,
+                                                       (arg2[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x218, &x219, x3,
+                                                       (arg2[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x220, &x221, x3,
+                                                       (arg2[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x222, &x223, x3,
+                                                       (arg2[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x224, &x225, x3,
+                                                       (arg2[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x226, &x227, x3,
+                                                       (arg2[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x228, &x229, 0x0,
+                                                            x227, x224);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x230, &x231, x229,
+                                                            x225, x222);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x232, &x233, x231,
+                                                            x223, x220);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x234, &x235, x233,
+                                                            x221, x218);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x236, &x237, x235,
+                                                            x219, x216);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x238, &x239, x237,
+                                                            x217, x214);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x240, &x241, x239,
+                                                            x215, x212);
+    x242 = (x241 + x213);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x243, &x244, 0x0,
+                                                            x195, x226);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x245, &x246, x244,
+                                                            x197, x228);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x247, &x248, x246,
+                                                            x199, x230);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x249, &x250, x248,
+                                                            x201, x232);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x251, &x252, x250,
+                                                            x203, x234);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x253, &x254, x252,
+                                                            x205, x236);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x255, &x256, x254,
+                                                            x207, x238);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x257, &x258, x256,
+                                                            x209, x240);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x259, &x260, x258,
+                                                            x211, x242);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x261, &x262, x243, UINT64_C(0x4e6a171024e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x263, &x264, x261, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x265, &x266, x261,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x267, &x268, 0x0,
+                                                            x243, x265);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x269, &x270, x268,
+                                                            x245, x266);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x271, &x272, x270,
+                                                            x247, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x273, &x274, x272,
+                                                            x249, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x275, &x276, x274,
+                                                            x251, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x277, &x278, x276,
+                                                            x253, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x279, &x280, x278,
+                                                            x255, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x281, &x282, x280,
+                                                            x257, x263);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x283, &x284, x282,
+                                                            x259, x264);
+    x285 = ((uint64_t)x284 + x260);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x286, &x287, x4,
+                                                       (arg2[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x288, &x289, x4,
+                                                       (arg2[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x290, &x291, x4,
+                                                       (arg2[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x292, &x293, x4,
+                                                       (arg2[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x294, &x295, x4,
+                                                       (arg2[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x296, &x297, x4,
+                                                       (arg2[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x298, &x299, x4,
+                                                       (arg2[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x300, &x301, x4,
+                                                       (arg2[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x302, &x303, 0x0,
+                                                            x301, x298);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x304, &x305, x303,
+                                                            x299, x296);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x306, &x307, x305,
+                                                            x297, x294);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x308, &x309, x307,
+                                                            x295, x292);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x310, &x311, x309,
+                                                            x293, x290);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x312, &x313, x311,
+                                                            x291, x288);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x314, &x315, x313,
+                                                            x289, x286);
+    x316 = (x315 + x287);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x317, &x318, 0x0,
+                                                            x269, x300);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x319, &x320, x318,
+                                                            x271, x302);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x321, &x322, x320,
+                                                            x273, x304);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x323, &x324, x322,
+                                                            x275, x306);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x325, &x326, x324,
+                                                            x277, x308);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x327, &x328, x326,
+                                                            x279, x310);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x329, &x330, x328,
+                                                            x281, x312);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x331, &x332, x330,
+                                                            x283, x314);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x333, &x334, x332,
+                                                            x285, x316);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x335, &x336, x317, UINT64_C(0x4e6a171024e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x337, &x338, x335, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x339, &x340, x335,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x341, &x342, 0x0,
+                                                            x317, x339);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x343, &x344, x342,
+                                                            x319, x340);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x345, &x346, x344,
+                                                            x321, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x347, &x348, x346,
+                                                            x323, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x349, &x350, x348,
+                                                            x325, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x351, &x352, x350,
+                                                            x327, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x353, &x354, x352,
+                                                            x329, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x355, &x356, x354,
+                                                            x331, x337);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x357, &x358, x356,
+                                                            x333, x338);
+    x359 = ((uint64_t)x358 + x334);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x360, &x361, x5,
+                                                       (arg2[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x362, &x363, x5,
+                                                       (arg2[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x364, &x365, x5,
+                                                       (arg2[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x366, &x367, x5,
+                                                       (arg2[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x368, &x369, x5,
+                                                       (arg2[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x370, &x371, x5,
+                                                       (arg2[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x372, &x373, x5,
+                                                       (arg2[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x374, &x375, x5,
+                                                       (arg2[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x376, &x377, 0x0,
+                                                            x375, x372);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x378, &x379, x377,
+                                                            x373, x370);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x380, &x381, x379,
+                                                            x371, x368);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x382, &x383, x381,
+                                                            x369, x366);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x384, &x385, x383,
+                                                            x367, x364);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x386, &x387, x385,
+                                                            x365, x362);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x388, &x389, x387,
+                                                            x363, x360);
+    x390 = (x389 + x361);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x391, &x392, 0x0,
+                                                            x343, x374);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x393, &x394, x392,
+                                                            x345, x376);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x395, &x396, x394,
+                                                            x347, x378);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x397, &x398, x396,
+                                                            x349, x380);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x399, &x400, x398,
+                                                            x351, x382);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x401, &x402, x400,
+                                                            x353, x384);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x403, &x404, x402,
+                                                            x355, x386);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x405, &x406, x404,
+                                                            x357, x388);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x407, &x408, x406,
+                                                            x359, x390);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x409, &x410, x391, UINT64_C(0x4e6a171024e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x411, &x412, x409, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x413, &x414, x409,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x415, &x416, 0x0,
+                                                            x391, x413);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x417, &x418, x416,
+                                                            x393, x414);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x419, &x420, x418,
+                                                            x395, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x421, &x422, x420,
+                                                            x397, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x423, &x424, x422,
+                                                            x399, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x425, &x426, x424,
+                                                            x401, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x427, &x428, x426,
+                                                            x403, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x429, &x430, x428,
+                                                            x405, x411);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x431, &x432, x430,
+                                                            x407, x412);
+    x433 = ((uint64_t)x432 + x408);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x434, &x435, x6,
+                                                       (arg2[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x436, &x437, x6,
+                                                       (arg2[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x438, &x439, x6,
+                                                       (arg2[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x440, &x441, x6,
+                                                       (arg2[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x442, &x443, x6,
+                                                       (arg2[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x444, &x445, x6,
+                                                       (arg2[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x446, &x447, x6,
+                                                       (arg2[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x448, &x449, x6,
+                                                       (arg2[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x450, &x451, 0x0,
+                                                            x449, x446);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x452, &x453, x451,
+                                                            x447, x444);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x454, &x455, x453,
+                                                            x445, x442);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x456, &x457, x455,
+                                                            x443, x440);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x458, &x459, x457,
+                                                            x441, x438);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x460, &x461, x459,
+                                                            x439, x436);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x462, &x463, x461,
+                                                            x437, x434);
+    x464 = (x463 + x435);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x465, &x466, 0x0,
+                                                            x417, x448);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x467, &x468, x466,
+                                                            x419, x450);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x469, &x470, x468,
+                                                            x421, x452);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x471, &x472, x470,
+                                                            x423, x454);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x473, &x474, x472,
+                                                            x425, x456);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x475, &x476, x474,
+                                                            x427, x458);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x477, &x478, x476,
+                                                            x429, x460);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x479, &x480, x478,
+                                                            x431, x462);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x481, &x482, x480,
+                                                            x433, x464);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x483, &x484, x465, UINT64_C(0x4e6a171024e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x485, &x486, x483, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x487, &x488, x483,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x489, &x490, 0x0,
+                                                            x465, x487);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x491, &x492, x490,
+                                                            x467, x488);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x493, &x494, x492,
+                                                            x469, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x495, &x496, x494,
+                                                            x471, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x497, &x498, x496,
+                                                            x473, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x499, &x500, x498,
+                                                            x475, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x501, &x502, x500,
+                                                            x477, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x503, &x504, x502,
+                                                            x479, x485);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x505, &x506, x504,
+                                                            x481, x486);
+    x507 = ((uint64_t)x506 + x482);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x508, &x509, x7,
+                                                       (arg2[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x510, &x511, x7,
+                                                       (arg2[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x512, &x513, x7,
+                                                       (arg2[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x514, &x515, x7,
+                                                       (arg2[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x516, &x517, x7,
+                                                       (arg2[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x518, &x519, x7,
+                                                       (arg2[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x520, &x521, x7,
+                                                       (arg2[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x522, &x523, x7,
+                                                       (arg2[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x524, &x525, 0x0,
+                                                            x523, x520);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x526, &x527, x525,
+                                                            x521, x518);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x528, &x529, x527,
+                                                            x519, x516);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x530, &x531, x529,
+                                                            x517, x514);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x532, &x533, x531,
+                                                            x515, x512);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x534, &x535, x533,
+                                                            x513, x510);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x536, &x537, x535,
+                                                            x511, x508);
+    x538 = (x537 + x509);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x539, &x540, 0x0,
+                                                            x491, x522);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x541, &x542, x540,
+                                                            x493, x524);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x543, &x544, x542,
+                                                            x495, x526);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x545, &x546, x544,
+                                                            x497, x528);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x547, &x548, x546,
+                                                            x499, x530);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x549, &x550, x548,
+                                                            x501, x532);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x551, &x552, x550,
+                                                            x503, x534);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x553, &x554, x552,
+                                                            x505, x536);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x555, &x556, x554,
+                                                            x507, x538);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x557, &x558, x539, UINT64_C(0x4e6a171024e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x559, &x560, x557, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x561, &x562, x557,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x563, &x564, 0x0,
+                                                            x539, x561);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x565, &x566, x564,
+                                                            x541, x562);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x567, &x568, x566,
+                                                            x543, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x569, &x570, x568,
+                                                            x545, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x571, &x572, x570,
+                                                            x547, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x573, &x574, x572,
+                                                            x549, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x575, &x576, x574,
+                                                            x551, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x577, &x578, x576,
+                                                            x553, x559);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x579, &x580, x578,
+                                                            x555, x560);
+    x581 = ((uint64_t)x580 + x556);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(
+        &x582, &x583, 0x0, x565, UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x584, &x585, x583,
+                                                             x567, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x586, &x587, x585,
+                                                             x569, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x588, &x589, x587,
+                                                             x571, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x590, &x591, x589,
+                                                             x573, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x592, &x593, x591,
+                                                             x575, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x594, &x595, x593,
+                                                             x577, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(
+        &x596, &x597, x595, x579, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x598, &x599, x597,
+                                                             x581, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x600, x599, x582,
+                                                          x565);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x601, x599, x584,
+                                                          x567);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x602, x599, x586,
+                                                          x569);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x603, x599, x588,
+                                                          x571);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x604, x599, x590,
+                                                          x573);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x605, x599, x592,
+                                                          x575);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x606, x599, x594,
+                                                          x577);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x607, x599, x596,
+                                                          x579);
+    out1[0] = x600;
+    out1[1] = x601;
+    out1[2] = x602;
+    out1[3] = x603;
+    out1[4] = x604;
+    out1[5] = x605;
+    out1[6] = x606;
+    out1[7] = x607;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetB_square squares a field element in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg1)) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[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]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetB_square(
+    uint64_t out1[8], const uint64_t arg1[8]) {
+    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;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x26;
+    uint64_t x27;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x28;
+    uint64_t x29;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x30;
+    uint64_t x31;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x32;
+    uint64_t x33;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x34;
+    uint64_t x35;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x36;
+    uint64_t x37;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 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;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x47;
+    uint64_t x48;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x49;
+    uint64_t x50;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x51;
+    uint64_t x52;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x53;
+    uint64_t x54;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x55;
+    uint64_t x56;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x57;
+    uint64_t x58;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x59;
+    uint64_t x60;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x61;
+    uint64_t x62;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 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;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x81;
+    uint64_t x82;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x83;
+    uint64_t x84;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x85;
+    uint64_t x86;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x87;
+    uint64_t x88;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x89;
+    uint64_t x90;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x91;
+    uint64_t x92;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x93;
+    uint64_t x94;
+    uint64_t x95;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x96;
+    uint64_t x97;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x98;
+    uint64_t x99;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x100;
+    uint64_t x101;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x102;
+    uint64_t x103;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x104;
+    uint64_t x105;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x106;
+    uint64_t x107;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x108;
+    uint64_t x109;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x110;
+    uint64_t x111;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x112;
+    uint64_t x113;
+    uint64_t x114;
+    uint64_t x115;
+    uint64_t x116;
+    uint64_t x117;
+    uint64_t x118;
+    uint64_t x119;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x120;
+    uint64_t x121;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x122;
+    uint64_t x123;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x124;
+    uint64_t x125;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x126;
+    uint64_t x127;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x128;
+    uint64_t x129;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x130;
+    uint64_t x131;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x132;
+    uint64_t x133;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x134;
+    uint64_t x135;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 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;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x155;
+    uint64_t x156;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x157;
+    uint64_t x158;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x159;
+    uint64_t x160;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x161;
+    uint64_t x162;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x163;
+    uint64_t x164;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x165;
+    uint64_t x166;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x167;
+    uint64_t x168;
+    uint64_t x169;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x170;
+    uint64_t x171;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x172;
+    uint64_t x173;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x174;
+    uint64_t x175;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x176;
+    uint64_t x177;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x178;
+    uint64_t x179;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x180;
+    uint64_t x181;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x182;
+    uint64_t x183;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x184;
+    uint64_t x185;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x186;
+    uint64_t x187;
+    uint64_t x188;
+    uint64_t x189;
+    uint64_t x190;
+    uint64_t x191;
+    uint64_t x192;
+    uint64_t x193;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x194;
+    uint64_t x195;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x196;
+    uint64_t x197;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x198;
+    uint64_t x199;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x200;
+    uint64_t x201;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x202;
+    uint64_t x203;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x204;
+    uint64_t x205;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x206;
+    uint64_t x207;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x208;
+    uint64_t x209;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 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;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x229;
+    uint64_t x230;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x231;
+    uint64_t x232;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x233;
+    uint64_t x234;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x235;
+    uint64_t x236;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x237;
+    uint64_t x238;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x239;
+    uint64_t x240;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x241;
+    uint64_t x242;
+    uint64_t x243;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x244;
+    uint64_t x245;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x246;
+    uint64_t x247;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x248;
+    uint64_t x249;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x250;
+    uint64_t x251;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x252;
+    uint64_t x253;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x254;
+    uint64_t x255;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x256;
+    uint64_t x257;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x258;
+    uint64_t x259;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x260;
+    uint64_t x261;
+    uint64_t x262;
+    uint64_t x263;
+    uint64_t x264;
+    uint64_t x265;
+    uint64_t x266;
+    uint64_t x267;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x268;
+    uint64_t x269;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x270;
+    uint64_t x271;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x272;
+    uint64_t x273;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x274;
+    uint64_t x275;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x276;
+    uint64_t x277;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x278;
+    uint64_t x279;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x280;
+    uint64_t x281;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x282;
+    uint64_t x283;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 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;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x303;
+    uint64_t x304;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x305;
+    uint64_t x306;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x307;
+    uint64_t x308;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x309;
+    uint64_t x310;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x311;
+    uint64_t x312;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x313;
+    uint64_t x314;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x315;
+    uint64_t x316;
+    uint64_t x317;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x318;
+    uint64_t x319;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x320;
+    uint64_t x321;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x322;
+    uint64_t x323;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x324;
+    uint64_t x325;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x326;
+    uint64_t x327;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x328;
+    uint64_t x329;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x330;
+    uint64_t x331;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x332;
+    uint64_t x333;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x334;
+    uint64_t x335;
+    uint64_t x336;
+    uint64_t x337;
+    uint64_t x338;
+    uint64_t x339;
+    uint64_t x340;
+    uint64_t x341;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x342;
+    uint64_t x343;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x344;
+    uint64_t x345;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x346;
+    uint64_t x347;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x348;
+    uint64_t x349;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x350;
+    uint64_t x351;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x352;
+    uint64_t x353;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x354;
+    uint64_t x355;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x356;
+    uint64_t x357;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 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;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x377;
+    uint64_t x378;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x379;
+    uint64_t x380;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x381;
+    uint64_t x382;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x383;
+    uint64_t x384;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x385;
+    uint64_t x386;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x387;
+    uint64_t x388;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x389;
+    uint64_t x390;
+    uint64_t x391;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x392;
+    uint64_t x393;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x394;
+    uint64_t x395;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x396;
+    uint64_t x397;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x398;
+    uint64_t x399;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x400;
+    uint64_t x401;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x402;
+    uint64_t x403;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x404;
+    uint64_t x405;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x406;
+    uint64_t x407;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x408;
+    uint64_t x409;
+    uint64_t x410;
+    uint64_t x411;
+    uint64_t x412;
+    uint64_t x413;
+    uint64_t x414;
+    uint64_t x415;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x416;
+    uint64_t x417;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x418;
+    uint64_t x419;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x420;
+    uint64_t x421;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x422;
+    uint64_t x423;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x424;
+    uint64_t x425;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x426;
+    uint64_t x427;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x428;
+    uint64_t x429;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x430;
+    uint64_t x431;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 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;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x451;
+    uint64_t x452;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x453;
+    uint64_t x454;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x455;
+    uint64_t x456;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x457;
+    uint64_t x458;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x459;
+    uint64_t x460;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x461;
+    uint64_t x462;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x463;
+    uint64_t x464;
+    uint64_t x465;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x466;
+    uint64_t x467;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x468;
+    uint64_t x469;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x470;
+    uint64_t x471;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x472;
+    uint64_t x473;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x474;
+    uint64_t x475;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x476;
+    uint64_t x477;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x478;
+    uint64_t x479;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x480;
+    uint64_t x481;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x482;
+    uint64_t x483;
+    uint64_t x484;
+    uint64_t x485;
+    uint64_t x486;
+    uint64_t x487;
+    uint64_t x488;
+    uint64_t x489;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x490;
+    uint64_t x491;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x492;
+    uint64_t x493;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x494;
+    uint64_t x495;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x496;
+    uint64_t x497;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x498;
+    uint64_t x499;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x500;
+    uint64_t x501;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x502;
+    uint64_t x503;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x504;
+    uint64_t x505;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 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;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x525;
+    uint64_t x526;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x527;
+    uint64_t x528;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x529;
+    uint64_t x530;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x531;
+    uint64_t x532;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x533;
+    uint64_t x534;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x535;
+    uint64_t x536;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x537;
+    uint64_t x538;
+    uint64_t x539;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x540;
+    uint64_t x541;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x542;
+    uint64_t x543;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x544;
+    uint64_t x545;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x546;
+    uint64_t x547;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x548;
+    uint64_t x549;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x550;
+    uint64_t x551;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x552;
+    uint64_t x553;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x554;
+    uint64_t x555;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x556;
+    uint64_t x557;
+    uint64_t x558;
+    uint64_t x559;
+    uint64_t x560;
+    uint64_t x561;
+    uint64_t x562;
+    uint64_t x563;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x564;
+    uint64_t x565;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x566;
+    uint64_t x567;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x568;
+    uint64_t x569;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x570;
+    uint64_t x571;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x572;
+    uint64_t x573;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x574;
+    uint64_t x575;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x576;
+    uint64_t x577;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x578;
+    uint64_t x579;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x580;
+    uint64_t x581;
+    uint64_t x582;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x583;
+    uint64_t x584;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x585;
+    uint64_t x586;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x587;
+    uint64_t x588;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x589;
+    uint64_t x590;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x591;
+    uint64_t x592;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x593;
+    uint64_t x594;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x595;
+    uint64_t x596;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x597;
+    uint64_t x598;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x599;
+    uint64_t x600;
+    uint64_t x601;
+    uint64_t x602;
+    uint64_t x603;
+    uint64_t x604;
+    uint64_t x605;
+    uint64_t x606;
+    uint64_t x607;
+    x1 = (arg1[1]);
+    x2 = (arg1[2]);
+    x3 = (arg1[3]);
+    x4 = (arg1[4]);
+    x5 = (arg1[5]);
+    x6 = (arg1[6]);
+    x7 = (arg1[7]);
+    x8 = (arg1[0]);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x9, &x10, x8,
+                                                       (arg1[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x11, &x12, x8,
+                                                       (arg1[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x13, &x14, x8,
+                                                       (arg1[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x15, &x16, x8,
+                                                       (arg1[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x17, &x18, x8,
+                                                       (arg1[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x19, &x20, x8,
+                                                       (arg1[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x21, &x22, x8,
+                                                       (arg1[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x23, &x24, x8,
+                                                       (arg1[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x25, &x26, 0x0,
+                                                            x24, x21);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x27, &x28, x26,
+                                                            x22, x19);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x29, &x30, x28,
+                                                            x20, x17);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x31, &x32, x30,
+                                                            x18, x15);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x33, &x34, x32,
+                                                            x16, x13);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x35, &x36, x34,
+                                                            x14, x11);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x37, &x38, x36,
+                                                            x12, x9);
+    x39 = (x38 + x10);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x40, &x41, x23, UINT64_C(0x4e6a171024e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x42, &x43, x40, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x44, &x45, x40,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x46, &x47, 0x0,
+                                                            x23, x44);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x48, &x49, x47,
+                                                            x25, x45);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x50, &x51, x49,
+                                                            x27, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x52, &x53, x51,
+                                                            x29, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x54, &x55, x53,
+                                                            x31, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x56, &x57, x55,
+                                                            x33, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x58, &x59, x57,
+                                                            x35, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x60, &x61, x59,
+                                                            x37, x42);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x62, &x63, x61,
+                                                            x39, x43);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x64, &x65, x1,
+                                                       (arg1[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x66, &x67, x1,
+                                                       (arg1[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x68, &x69, x1,
+                                                       (arg1[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x70, &x71, x1,
+                                                       (arg1[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x72, &x73, x1,
+                                                       (arg1[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x74, &x75, x1,
+                                                       (arg1[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x76, &x77, x1,
+                                                       (arg1[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x78, &x79, x1,
+                                                       (arg1[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x80, &x81, 0x0,
+                                                            x79, x76);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x82, &x83, x81,
+                                                            x77, x74);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x84, &x85, x83,
+                                                            x75, x72);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x86, &x87, x85,
+                                                            x73, x70);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x88, &x89, x87,
+                                                            x71, x68);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x90, &x91, x89,
+                                                            x69, x66);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x92, &x93, x91,
+                                                            x67, x64);
+    x94 = (x93 + x65);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x95, &x96, 0x0,
+                                                            x48, x78);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x97, &x98, x96,
+                                                            x50, x80);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x99, &x100, x98,
+                                                            x52, x82);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x101, &x102, x100,
+                                                            x54, x84);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x103, &x104, x102,
+                                                            x56, x86);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x105, &x106, x104,
+                                                            x58, x88);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x107, &x108, x106,
+                                                            x60, x90);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x109, &x110, x108,
+                                                            x62, x92);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x111, &x112, x110,
+                                                            x63, x94);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x113, &x114, x95, UINT64_C(0x4e6a171024e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x115, &x116, x113, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x117, &x118, x113,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x119, &x120, 0x0,
+                                                            x95, x117);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x121, &x122, x120,
+                                                            x97, x118);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x123, &x124, x122,
+                                                            x99, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x125, &x126, x124,
+                                                            x101, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x127, &x128, x126,
+                                                            x103, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x129, &x130, x128,
+                                                            x105, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x131, &x132, x130,
+                                                            x107, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x133, &x134, x132,
+                                                            x109, x115);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x135, &x136, x134,
+                                                            x111, x116);
+    x137 = ((uint64_t)x136 + x112);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x138, &x139, x2,
+                                                       (arg1[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x140, &x141, x2,
+                                                       (arg1[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x142, &x143, x2,
+                                                       (arg1[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x144, &x145, x2,
+                                                       (arg1[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x146, &x147, x2,
+                                                       (arg1[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x148, &x149, x2,
+                                                       (arg1[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x150, &x151, x2,
+                                                       (arg1[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x152, &x153, x2,
+                                                       (arg1[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x154, &x155, 0x0,
+                                                            x153, x150);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x156, &x157, x155,
+                                                            x151, x148);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x158, &x159, x157,
+                                                            x149, x146);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x160, &x161, x159,
+                                                            x147, x144);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x162, &x163, x161,
+                                                            x145, x142);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x164, &x165, x163,
+                                                            x143, x140);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x166, &x167, x165,
+                                                            x141, x138);
+    x168 = (x167 + x139);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x169, &x170, 0x0,
+                                                            x121, x152);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x171, &x172, x170,
+                                                            x123, x154);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x173, &x174, x172,
+                                                            x125, x156);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x175, &x176, x174,
+                                                            x127, x158);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x177, &x178, x176,
+                                                            x129, x160);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x179, &x180, x178,
+                                                            x131, x162);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x181, &x182, x180,
+                                                            x133, x164);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x183, &x184, x182,
+                                                            x135, x166);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x185, &x186, x184,
+                                                            x137, x168);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x187, &x188, x169, UINT64_C(0x4e6a171024e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x189, &x190, x187, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x191, &x192, x187,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x193, &x194, 0x0,
+                                                            x169, x191);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x195, &x196, x194,
+                                                            x171, x192);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x197, &x198, x196,
+                                                            x173, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x199, &x200, x198,
+                                                            x175, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x201, &x202, x200,
+                                                            x177, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x203, &x204, x202,
+                                                            x179, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x205, &x206, x204,
+                                                            x181, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x207, &x208, x206,
+                                                            x183, x189);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x209, &x210, x208,
+                                                            x185, x190);
+    x211 = ((uint64_t)x210 + x186);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x212, &x213, x3,
+                                                       (arg1[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x214, &x215, x3,
+                                                       (arg1[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x216, &x217, x3,
+                                                       (arg1[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x218, &x219, x3,
+                                                       (arg1[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x220, &x221, x3,
+                                                       (arg1[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x222, &x223, x3,
+                                                       (arg1[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x224, &x225, x3,
+                                                       (arg1[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x226, &x227, x3,
+                                                       (arg1[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x228, &x229, 0x0,
+                                                            x227, x224);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x230, &x231, x229,
+                                                            x225, x222);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x232, &x233, x231,
+                                                            x223, x220);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x234, &x235, x233,
+                                                            x221, x218);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x236, &x237, x235,
+                                                            x219, x216);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x238, &x239, x237,
+                                                            x217, x214);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x240, &x241, x239,
+                                                            x215, x212);
+    x242 = (x241 + x213);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x243, &x244, 0x0,
+                                                            x195, x226);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x245, &x246, x244,
+                                                            x197, x228);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x247, &x248, x246,
+                                                            x199, x230);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x249, &x250, x248,
+                                                            x201, x232);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x251, &x252, x250,
+                                                            x203, x234);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x253, &x254, x252,
+                                                            x205, x236);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x255, &x256, x254,
+                                                            x207, x238);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x257, &x258, x256,
+                                                            x209, x240);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x259, &x260, x258,
+                                                            x211, x242);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x261, &x262, x243, UINT64_C(0x4e6a171024e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x263, &x264, x261, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x265, &x266, x261,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x267, &x268, 0x0,
+                                                            x243, x265);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x269, &x270, x268,
+                                                            x245, x266);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x271, &x272, x270,
+                                                            x247, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x273, &x274, x272,
+                                                            x249, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x275, &x276, x274,
+                                                            x251, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x277, &x278, x276,
+                                                            x253, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x279, &x280, x278,
+                                                            x255, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x281, &x282, x280,
+                                                            x257, x263);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x283, &x284, x282,
+                                                            x259, x264);
+    x285 = ((uint64_t)x284 + x260);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x286, &x287, x4,
+                                                       (arg1[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x288, &x289, x4,
+                                                       (arg1[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x290, &x291, x4,
+                                                       (arg1[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x292, &x293, x4,
+                                                       (arg1[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x294, &x295, x4,
+                                                       (arg1[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x296, &x297, x4,
+                                                       (arg1[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x298, &x299, x4,
+                                                       (arg1[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x300, &x301, x4,
+                                                       (arg1[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x302, &x303, 0x0,
+                                                            x301, x298);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x304, &x305, x303,
+                                                            x299, x296);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x306, &x307, x305,
+                                                            x297, x294);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x308, &x309, x307,
+                                                            x295, x292);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x310, &x311, x309,
+                                                            x293, x290);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x312, &x313, x311,
+                                                            x291, x288);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x314, &x315, x313,
+                                                            x289, x286);
+    x316 = (x315 + x287);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x317, &x318, 0x0,
+                                                            x269, x300);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x319, &x320, x318,
+                                                            x271, x302);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x321, &x322, x320,
+                                                            x273, x304);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x323, &x324, x322,
+                                                            x275, x306);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x325, &x326, x324,
+                                                            x277, x308);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x327, &x328, x326,
+                                                            x279, x310);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x329, &x330, x328,
+                                                            x281, x312);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x331, &x332, x330,
+                                                            x283, x314);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x333, &x334, x332,
+                                                            x285, x316);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x335, &x336, x317, UINT64_C(0x4e6a171024e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x337, &x338, x335, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x339, &x340, x335,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x341, &x342, 0x0,
+                                                            x317, x339);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x343, &x344, x342,
+                                                            x319, x340);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x345, &x346, x344,
+                                                            x321, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x347, &x348, x346,
+                                                            x323, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x349, &x350, x348,
+                                                            x325, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x351, &x352, x350,
+                                                            x327, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x353, &x354, x352,
+                                                            x329, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x355, &x356, x354,
+                                                            x331, x337);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x357, &x358, x356,
+                                                            x333, x338);
+    x359 = ((uint64_t)x358 + x334);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x360, &x361, x5,
+                                                       (arg1[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x362, &x363, x5,
+                                                       (arg1[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x364, &x365, x5,
+                                                       (arg1[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x366, &x367, x5,
+                                                       (arg1[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x368, &x369, x5,
+                                                       (arg1[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x370, &x371, x5,
+                                                       (arg1[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x372, &x373, x5,
+                                                       (arg1[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x374, &x375, x5,
+                                                       (arg1[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x376, &x377, 0x0,
+                                                            x375, x372);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x378, &x379, x377,
+                                                            x373, x370);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x380, &x381, x379,
+                                                            x371, x368);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x382, &x383, x381,
+                                                            x369, x366);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x384, &x385, x383,
+                                                            x367, x364);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x386, &x387, x385,
+                                                            x365, x362);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x388, &x389, x387,
+                                                            x363, x360);
+    x390 = (x389 + x361);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x391, &x392, 0x0,
+                                                            x343, x374);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x393, &x394, x392,
+                                                            x345, x376);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x395, &x396, x394,
+                                                            x347, x378);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x397, &x398, x396,
+                                                            x349, x380);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x399, &x400, x398,
+                                                            x351, x382);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x401, &x402, x400,
+                                                            x353, x384);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x403, &x404, x402,
+                                                            x355, x386);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x405, &x406, x404,
+                                                            x357, x388);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x407, &x408, x406,
+                                                            x359, x390);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x409, &x410, x391, UINT64_C(0x4e6a171024e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x411, &x412, x409, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x413, &x414, x409,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x415, &x416, 0x0,
+                                                            x391, x413);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x417, &x418, x416,
+                                                            x393, x414);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x419, &x420, x418,
+                                                            x395, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x421, &x422, x420,
+                                                            x397, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x423, &x424, x422,
+                                                            x399, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x425, &x426, x424,
+                                                            x401, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x427, &x428, x426,
+                                                            x403, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x429, &x430, x428,
+                                                            x405, x411);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x431, &x432, x430,
+                                                            x407, x412);
+    x433 = ((uint64_t)x432 + x408);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x434, &x435, x6,
+                                                       (arg1[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x436, &x437, x6,
+                                                       (arg1[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x438, &x439, x6,
+                                                       (arg1[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x440, &x441, x6,
+                                                       (arg1[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x442, &x443, x6,
+                                                       (arg1[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x444, &x445, x6,
+                                                       (arg1[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x446, &x447, x6,
+                                                       (arg1[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x448, &x449, x6,
+                                                       (arg1[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x450, &x451, 0x0,
+                                                            x449, x446);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x452, &x453, x451,
+                                                            x447, x444);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x454, &x455, x453,
+                                                            x445, x442);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x456, &x457, x455,
+                                                            x443, x440);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x458, &x459, x457,
+                                                            x441, x438);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x460, &x461, x459,
+                                                            x439, x436);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x462, &x463, x461,
+                                                            x437, x434);
+    x464 = (x463 + x435);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x465, &x466, 0x0,
+                                                            x417, x448);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x467, &x468, x466,
+                                                            x419, x450);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x469, &x470, x468,
+                                                            x421, x452);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x471, &x472, x470,
+                                                            x423, x454);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x473, &x474, x472,
+                                                            x425, x456);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x475, &x476, x474,
+                                                            x427, x458);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x477, &x478, x476,
+                                                            x429, x460);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x479, &x480, x478,
+                                                            x431, x462);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x481, &x482, x480,
+                                                            x433, x464);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x483, &x484, x465, UINT64_C(0x4e6a171024e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x485, &x486, x483, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x487, &x488, x483,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x489, &x490, 0x0,
+                                                            x465, x487);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x491, &x492, x490,
+                                                            x467, x488);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x493, &x494, x492,
+                                                            x469, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x495, &x496, x494,
+                                                            x471, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x497, &x498, x496,
+                                                            x473, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x499, &x500, x498,
+                                                            x475, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x501, &x502, x500,
+                                                            x477, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x503, &x504, x502,
+                                                            x479, x485);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x505, &x506, x504,
+                                                            x481, x486);
+    x507 = ((uint64_t)x506 + x482);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x508, &x509, x7,
+                                                       (arg1[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x510, &x511, x7,
+                                                       (arg1[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x512, &x513, x7,
+                                                       (arg1[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x514, &x515, x7,
+                                                       (arg1[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x516, &x517, x7,
+                                                       (arg1[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x518, &x519, x7,
+                                                       (arg1[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x520, &x521, x7,
+                                                       (arg1[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x522, &x523, x7,
+                                                       (arg1[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x524, &x525, 0x0,
+                                                            x523, x520);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x526, &x527, x525,
+                                                            x521, x518);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x528, &x529, x527,
+                                                            x519, x516);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x530, &x531, x529,
+                                                            x517, x514);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x532, &x533, x531,
+                                                            x515, x512);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x534, &x535, x533,
+                                                            x513, x510);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x536, &x537, x535,
+                                                            x511, x508);
+    x538 = (x537 + x509);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x539, &x540, 0x0,
+                                                            x491, x522);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x541, &x542, x540,
+                                                            x493, x524);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x543, &x544, x542,
+                                                            x495, x526);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x545, &x546, x544,
+                                                            x497, x528);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x547, &x548, x546,
+                                                            x499, x530);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x549, &x550, x548,
+                                                            x501, x532);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x551, &x552, x550,
+                                                            x503, x534);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x553, &x554, x552,
+                                                            x505, x536);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x555, &x556, x554,
+                                                            x507, x538);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x557, &x558, x539, UINT64_C(0x4e6a171024e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x559, &x560, x557, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x561, &x562, x557,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x563, &x564, 0x0,
+                                                            x539, x561);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x565, &x566, x564,
+                                                            x541, x562);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x567, &x568, x566,
+                                                            x543, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x569, &x570, x568,
+                                                            x545, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x571, &x572, x570,
+                                                            x547, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x573, &x574, x572,
+                                                            x549, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x575, &x576, x574,
+                                                            x551, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x577, &x578, x576,
+                                                            x553, x559);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x579, &x580, x578,
+                                                            x555, x560);
+    x581 = ((uint64_t)x580 + x556);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(
+        &x582, &x583, 0x0, x565, UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x584, &x585, x583,
+                                                             x567, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x586, &x587, x585,
+                                                             x569, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x588, &x589, x587,
+                                                             x571, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x590, &x591, x589,
+                                                             x573, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x592, &x593, x591,
+                                                             x575, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x594, &x595, x593,
+                                                             x577, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(
+        &x596, &x597, x595, x579, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x598, &x599, x597,
+                                                             x581, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x600, x599, x582,
+                                                          x565);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x601, x599, x584,
+                                                          x567);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x602, x599, x586,
+                                                          x569);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x603, x599, x588,
+                                                          x571);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x604, x599, x590,
+                                                          x573);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x605, x599, x592,
+                                                          x575);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x606, x599, x594,
+                                                          x577);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x607, x599, x596,
+                                                          x579);
+    out1[0] = x600;
+    out1[1] = x601;
+    out1[2] = x602;
+    out1[3] = x603;
+    out1[4] = x604;
+    out1[5] = x605;
+    out1[6] = x606;
+    out1[7] = x607;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetB_add adds two field elements in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ *   0 ≤ eval arg2 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) + eval (from_montgomery arg2)) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ *   arg2: [[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]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetB_add(
+    uint64_t out1[8], const uint64_t arg1[8], const uint64_t arg2[8]) {
+    uint64_t x1;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2;
+    uint64_t x3;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x4;
+    uint64_t x5;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x6;
+    uint64_t x7;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x8;
+    uint64_t x9;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x10;
+    uint64_t x11;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x12;
+    uint64_t x13;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x14;
+    uint64_t x15;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x16;
+    uint64_t x17;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x18;
+    uint64_t x19;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x20;
+    uint64_t x21;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x22;
+    uint64_t x23;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x24;
+    uint64_t x25;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x26;
+    uint64_t x27;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x28;
+    uint64_t x29;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x30;
+    uint64_t x31;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x32;
+    uint64_t x33;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 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;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(
+        &x1, &x2, 0x0, (arg1[0]), (arg2[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(
+        &x3, &x4, x2, (arg1[1]), (arg2[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(
+        &x5, &x6, x4, (arg1[2]), (arg2[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(
+        &x7, &x8, x6, (arg1[3]), (arg2[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(
+        &x9, &x10, x8, (arg1[4]), (arg2[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(
+        &x11, &x12, x10, (arg1[5]), (arg2[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(
+        &x13, &x14, x12, (arg1[6]), (arg2[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(
+        &x15, &x16, x14, (arg1[7]), (arg2[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x17, &x18, 0x0,
+                                                             x1, UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x19, &x20, x18,
+                                                             x3, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x21, &x22, x20,
+                                                             x5, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x23, &x24, x22,
+                                                             x7, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x25, &x26, x24,
+                                                             x9, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x27, &x28, x26,
+                                                             x11, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x29, &x30, x28,
+                                                             x13, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(
+        &x31, &x32, x30, x15, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x33, &x34, x32,
+                                                             x16, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x35, x34, x17, x1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x36, x34, x19, x3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x37, x34, x21, x5);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x38, x34, x23, x7);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x39, x34, x25, x9);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x40, x34, x27, x11);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x41, x34, x29, x13);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x42, x34, x31, x15);
+    out1[0] = x35;
+    out1[1] = x36;
+    out1[2] = x37;
+    out1[3] = x38;
+    out1[4] = x39;
+    out1[5] = x40;
+    out1[6] = x41;
+    out1[7] = x42;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetB_sub subtracts two field elements in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ *   0 ≤ eval arg2 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) - eval (from_montgomery arg2)) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ *   arg2: [[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]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(
+    uint64_t out1[8], const uint64_t arg1[8], const uint64_t arg2[8]) {
+    uint64_t x1;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2;
+    uint64_t x3;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x4;
+    uint64_t x5;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x6;
+    uint64_t x7;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x8;
+    uint64_t x9;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x10;
+    uint64_t x11;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x12;
+    uint64_t x13;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x14;
+    uint64_t x15;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x16;
+    uint64_t x17;
+    uint64_t x18;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x19;
+    uint64_t x20;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x21;
+    uint64_t x22;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x23;
+    uint64_t x24;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x25;
+    uint64_t x26;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x27;
+    uint64_t x28;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x29;
+    uint64_t x30;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x31;
+    uint64_t x32;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x33;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(
+        &x1, &x2, 0x0, (arg1[0]), (arg2[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(
+        &x3, &x4, x2, (arg1[1]), (arg2[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(
+        &x5, &x6, x4, (arg1[2]), (arg2[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(
+        &x7, &x8, x6, (arg1[3]), (arg2[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(
+        &x9, &x10, x8, (arg1[4]), (arg2[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(
+        &x11, &x12, x10, (arg1[5]), (arg2[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(
+        &x13, &x14, x12, (arg1[6]), (arg2[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(
+        &x15, &x16, x14, (arg1[7]), (arg2[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(
+        &x17, x16, 0x0, UINT64_C(0xffffffffffffffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(
+        &x18, &x19, 0x0, x1, (x17 & UINT8_C(0x6f)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x20, &x21, x19, x3,
+                                                            0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x22, &x23, x21, x5,
+                                                            0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x24, &x25, x23, x7,
+                                                            0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x26, &x27, x25, x9,
+                                                            0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x28, &x29, x27,
+                                                            x11, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x30, &x31, x29,
+                                                            x13, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(
+        &x32, &x33, x31, x15, (x17 & UINT64_C(0x8000000000000000)));
+    out1[0] = x18;
+    out1[1] = x20;
+    out1[2] = x22;
+    out1[3] = x24;
+    out1[4] = x26;
+    out1[5] = x28;
+    out1[6] = x30;
+    out1[7] = x32;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetB_opp negates a field element in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = -eval (from_montgomery arg1) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[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]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetB_opp(
+    uint64_t out1[8], const uint64_t arg1[8]) {
+    uint64_t x1;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2;
+    uint64_t x3;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x4;
+    uint64_t x5;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x6;
+    uint64_t x7;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x8;
+    uint64_t x9;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x10;
+    uint64_t x11;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x12;
+    uint64_t x13;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x14;
+    uint64_t x15;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x16;
+    uint64_t x17;
+    uint64_t x18;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x19;
+    uint64_t x20;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x21;
+    uint64_t x22;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x23;
+    uint64_t x24;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x25;
+    uint64_t x26;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x27;
+    uint64_t x28;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x29;
+    uint64_t x30;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x31;
+    uint64_t x32;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x33;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x1, &x2, 0x0, 0x0,
+                                                             (arg1[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x3, &x4, x2, 0x0,
+                                                             (arg1[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x5, &x6, x4, 0x0,
+                                                             (arg1[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x7, &x8, x6, 0x0,
+                                                             (arg1[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x9, &x10, x8, 0x0,
+                                                             (arg1[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x11, &x12, x10,
+                                                             0x0, (arg1[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x13, &x14, x12,
+                                                             0x0, (arg1[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x15, &x16, x14,
+                                                             0x0, (arg1[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(
+        &x17, x16, 0x0, UINT64_C(0xffffffffffffffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(
+        &x18, &x19, 0x0, x1, (x17 & UINT8_C(0x6f)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x20, &x21, x19, x3,
+                                                            0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x22, &x23, x21, x5,
+                                                            0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x24, &x25, x23, x7,
+                                                            0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x26, &x27, x25, x9,
+                                                            0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x28, &x29, x27,
+                                                            x11, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x30, &x31, x29,
+                                                            x13, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(
+        &x32, &x33, x31, x15, (x17 & UINT64_C(0x8000000000000000)));
+    out1[0] = x18;
+    out1[1] = x20;
+    out1[2] = x22;
+    out1[3] = x24;
+    out1[4] = x26;
+    out1[5] = x28;
+    out1[6] = x30;
+    out1[7] = x32;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetB_from_montgomery translates a field element out of the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   eval out1 mod m = (eval arg1 * ((2^64)⁻¹ mod m)^8) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[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]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetB_from_montgomery(
+    uint64_t out1[8], const uint64_t arg1[8]) {
+    uint64_t x1;
+    uint64_t x2;
+    uint64_t x3;
+    uint64_t x4;
+    uint64_t x5;
+    uint64_t x6;
+    uint64_t x7;
+    uint64_t x8;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x9;
+    uint64_t x10;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 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_paramSetB_uint1 x19;
+    uint64_t x20;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x21;
+    uint64_t x22;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x23;
+    uint64_t x24;
+    uint64_t x25;
+    uint64_t x26;
+    uint64_t x27;
+    uint64_t x28;
+    uint64_t x29;
+    uint64_t x30;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x31;
+    uint64_t x32;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x33;
+    uint64_t x34;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x35;
+    uint64_t x36;
+    uint64_t x37;
+    uint64_t x38;
+    uint64_t x39;
+    uint64_t x40;
+    uint64_t x41;
+    uint64_t x42;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x43;
+    uint64_t x44;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x45;
+    uint64_t x46;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x47;
+    uint64_t x48;
+    uint64_t x49;
+    uint64_t x50;
+    uint64_t x51;
+    uint64_t x52;
+    uint64_t x53;
+    uint64_t x54;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x55;
+    uint64_t x56;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x57;
+    uint64_t x58;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x59;
+    uint64_t x60;
+    uint64_t x61;
+    uint64_t x62;
+    uint64_t x63;
+    uint64_t x64;
+    uint64_t x65;
+    uint64_t x66;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x67;
+    uint64_t x68;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x69;
+    uint64_t x70;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x71;
+    uint64_t x72;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x73;
+    uint64_t x74;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x75;
+    uint64_t x76;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x77;
+    uint64_t x78;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x79;
+    uint64_t x80;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x81;
+    uint64_t x82;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x83;
+    uint64_t x84;
+    uint64_t x85;
+    uint64_t x86;
+    uint64_t x87;
+    uint64_t x88;
+    uint64_t x89;
+    uint64_t x90;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x91;
+    uint64_t x92;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x93;
+    uint64_t x94;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x95;
+    uint64_t x96;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x97;
+    uint64_t x98;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x99;
+    uint64_t x100;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x101;
+    uint64_t x102;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x103;
+    uint64_t x104;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x105;
+    uint64_t x106;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x107;
+    uint64_t x108;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x109;
+    uint64_t x110;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x111;
+    uint64_t x112;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x113;
+    uint64_t x114;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x115;
+    uint64_t x116;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x117;
+    uint64_t x118;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x119;
+    uint64_t x120;
+    uint64_t x121;
+    uint64_t x122;
+    uint64_t x123;
+    uint64_t x124;
+    uint64_t x125;
+    uint64_t x126;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x127;
+    uint64_t x128;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x129;
+    uint64_t x130;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x131;
+    uint64_t x132;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x133;
+    uint64_t x134;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x135;
+    uint64_t x136;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x137;
+    uint64_t x138;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x139;
+    uint64_t x140;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x141;
+    uint64_t x142;
+    uint64_t x143;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x144;
+    uint64_t x145;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x146;
+    uint64_t x147;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x148;
+    uint64_t x149;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x150;
+    uint64_t x151;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x152;
+    uint64_t x153;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x154;
+    uint64_t x155;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x156;
+    uint64_t x157;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x158;
+    uint64_t x159;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 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;
+    x1 = (arg1[0]);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x2, &x3, x1, UINT64_C(0x4e6a171024e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x4, &x5, x2, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x6, &x7, x2,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x8, &x9, 0x0, x1,
+                                                            x6);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(
+        &x10, &x11, 0x0, (x9 + x7), (arg1[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x12, &x13, x10, UINT64_C(0x4e6a171024e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x14, &x15, x12, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x16, &x17, x12,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x18, &x19, 0x0, x5,
+                                                            x14);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x20, &x21, 0x0,
+                                                            x10, x16);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(
+        &x22, &x23, 0x0, (((uint64_t)x21 + x11) + x17), (arg1[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x24, &x25, x22, UINT64_C(0x4e6a171024e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x26, &x27, x24, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x28, &x29, x24,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x30, &x31, 0x0,
+                                                            (x19 + x15), x26);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x32, &x33, 0x0,
+                                                            x22, x28);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(
+        &x34, &x35, 0x0, (((uint64_t)x33 + x23) + x29), (arg1[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x36, &x37, x34, UINT64_C(0x4e6a171024e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x38, &x39, x36, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x40, &x41, x36,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x42, &x43, 0x0,
+                                                            (x31 + x27), x38);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x44, &x45, 0x0,
+                                                            x34, x40);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(
+        &x46, &x47, 0x0, (((uint64_t)x45 + x35) + x41), (arg1[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x48, &x49, x46, UINT64_C(0x4e6a171024e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x50, &x51, x48, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x52, &x53, x48,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x54, &x55, 0x0,
+                                                            (x43 + x39), x50);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x56, &x57, 0x0,
+                                                            x46, x52);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(
+        &x58, &x59, 0x0, (((uint64_t)x57 + x47) + x53), (arg1[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x60, &x61, x58, UINT64_C(0x4e6a171024e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x62, &x63, x60, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x64, &x65, x60,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x66, &x67, 0x0,
+                                                            (x55 + x51), x62);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x68, &x69, 0x0,
+                                                            x58, x64);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(
+        &x70, &x71, 0x0, (((uint64_t)x69 + x59) + x65), (arg1[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x72, &x73, x71, x4,
+                                                            0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x74, &x75, x73,
+                                                            x18, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x76, &x77, x75,
+                                                            x30, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x78, &x79, x77,
+                                                            x42, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x80, &x81, x79,
+                                                            x54, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x82, &x83, x81,
+                                                            x66, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x84, &x85, x70, UINT64_C(0x4e6a171024e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x86, &x87, x84, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x88, &x89, x84,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x90, &x91, 0x0,
+                                                            x70, x88);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x92, &x93, x91,
+                                                            x72, x89);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x94, &x95, x93,
+                                                            x74, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x96, &x97, x95,
+                                                            x76, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x98, &x99, x97,
+                                                            x78, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x100, &x101, x99,
+                                                            x80, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x102, &x103, x101,
+                                                            x82, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(
+        &x104, &x105, x103, (x83 + (x67 + x63)), x86);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x106, &x107, 0x0,
+                                                            x92, (arg1[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x108, &x109, x107,
+                                                            x94, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x110, &x111, x109,
+                                                            x96, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x112, &x113, x111,
+                                                            x98, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x114, &x115, x113,
+                                                            x100, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x116, &x117, x115,
+                                                            x102, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x118, &x119, x117,
+                                                            x104, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x120, &x121, x106, UINT64_C(0x4e6a171024e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x122, &x123, x120, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x124, &x125, x120,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x126, &x127, 0x0,
+                                                            x106, x124);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x128, &x129, x127,
+                                                            x108, x125);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x130, &x131, x129,
+                                                            x110, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x132, &x133, x131,
+                                                            x112, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x134, &x135, x133,
+                                                            x114, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x136, &x137, x135,
+                                                            x116, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x138, &x139, x137,
+                                                            x118, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(
+        &x140, &x141, x139, (x119 + (x105 + x87)), x122);
+    x142 = (x141 + x123);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(
+        &x143, &x144, 0x0, x128, UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x145, &x146, x144,
+                                                             x130, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x147, &x148, x146,
+                                                             x132, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x149, &x150, x148,
+                                                             x134, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x151, &x152, x150,
+                                                             x136, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x153, &x154, x152,
+                                                             x138, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x155, &x156, x154,
+                                                             x140, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(
+        &x157, &x158, x156, x142, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x159, &x160, x158,
+                                                             0x0, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x161, x160, x143,
+                                                          x128);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x162, x160, x145,
+                                                          x130);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x163, x160, x147,
+                                                          x132);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x164, x160, x149,
+                                                          x134);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x165, x160, x151,
+                                                          x136);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x166, x160, x153,
+                                                          x138);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x167, x160, x155,
+                                                          x140);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x168, x160, x157,
+                                                          x142);
+    out1[0] = x161;
+    out1[1] = x162;
+    out1[2] = x163;
+    out1[3] = x164;
+    out1[4] = x165;
+    out1[5] = x166;
+    out1[6] = x167;
+    out1[7] = x168;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetB_to_montgomery translates a field element into the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = eval arg1 mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[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]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetB_to_montgomery(
+    uint64_t out1[8], const uint64_t arg1[8]) {
+    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;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x12;
+    uint64_t x13;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x14;
+    uint64_t x15;
+    uint64_t x16;
+    uint64_t x17;
+    uint64_t x18;
+    uint64_t x19;
+    uint64_t x20;
+    uint64_t x21;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x22;
+    uint64_t x23;
+    uint64_t x24;
+    uint64_t x25;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x26;
+    uint64_t x27;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x28;
+    uint64_t x29;
+    uint64_t x30;
+    uint64_t x31;
+    uint64_t x32;
+    uint64_t x33;
+    uint64_t x34;
+    uint64_t x35;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x36;
+    uint64_t x37;
+    uint64_t x38;
+    uint64_t x39;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x40;
+    uint64_t x41;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x42;
+    uint64_t x43;
+    uint64_t x44;
+    uint64_t x45;
+    uint64_t x46;
+    uint64_t x47;
+    uint64_t x48;
+    uint64_t x49;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x50;
+    uint64_t x51;
+    uint64_t x52;
+    uint64_t x53;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x54;
+    uint64_t x55;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x56;
+    uint64_t x57;
+    uint64_t x58;
+    uint64_t x59;
+    uint64_t x60;
+    uint64_t x61;
+    uint64_t x62;
+    uint64_t x63;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x64;
+    uint64_t x65;
+    uint64_t x66;
+    uint64_t x67;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x68;
+    uint64_t x69;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 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_paramSetB_uint1 x78;
+    uint64_t x79;
+    uint64_t x80;
+    uint64_t x81;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x82;
+    uint64_t x83;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x84;
+    uint64_t x85;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x86;
+    uint64_t x87;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x88;
+    uint64_t x89;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x90;
+    uint64_t x91;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x92;
+    uint64_t x93;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x94;
+    uint64_t x95;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x96;
+    uint64_t x97;
+    uint64_t x98;
+    uint64_t x99;
+    uint64_t x100;
+    uint64_t x101;
+    uint64_t x102;
+    uint64_t x103;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x104;
+    uint64_t x105;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x106;
+    uint64_t x107;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x108;
+    uint64_t x109;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x110;
+    uint64_t x111;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x112;
+    uint64_t x113;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x114;
+    uint64_t x115;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x116;
+    uint64_t x117;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x118;
+    uint64_t x119;
+    uint64_t x120;
+    uint64_t x121;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x122;
+    uint64_t x123;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x124;
+    uint64_t x125;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x126;
+    uint64_t x127;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x128;
+    uint64_t x129;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x130;
+    uint64_t x131;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x132;
+    uint64_t x133;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x134;
+    uint64_t x135;
+    uint64_t x136;
+    uint64_t x137;
+    uint64_t x138;
+    uint64_t x139;
+    uint64_t x140;
+    uint64_t x141;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x142;
+    uint64_t x143;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x144;
+    uint64_t x145;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x146;
+    uint64_t x147;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x148;
+    uint64_t x149;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x150;
+    uint64_t x151;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x152;
+    uint64_t x153;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x154;
+    uint64_t x155;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x156;
+    uint64_t x157;
+    uint64_t x158;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x159;
+    uint64_t x160;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x161;
+    uint64_t x162;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x163;
+    uint64_t x164;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x165;
+    uint64_t x166;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x167;
+    uint64_t x168;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x169;
+    uint64_t x170;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x171;
+    uint64_t x172;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x173;
+    uint64_t x174;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 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;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x1, &x2, (arg1[0]),
+                                                       UINT16_C(0xc084));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x3, &x4, x1, UINT64_C(0x4e6a171024e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x5, &x6, x3, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x7, &x8, x3,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x9, &x10, (arg1[1]),
+                                                       UINT16_C(0xc084));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x11, &x12, 0x0, x1,
+                                                            x7);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(
+        &x13, &x14, 0x0, ((x12 + x2) + x8), x9);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x15, &x16, x13, UINT64_C(0x4e6a171024e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x17, &x18, x15, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x19, &x20, x15,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x21, &x22, 0x0, x6,
+                                                            x17);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x23, &x24, (arg1[2]),
+                                                       UINT16_C(0xc084));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x25, &x26, 0x0,
+                                                            x13, x19);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(
+        &x27, &x28, 0x0, ((x26 + (x14 + x10)) + x20), x23);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x29, &x30, x27, UINT64_C(0x4e6a171024e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x31, &x32, x29, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x33, &x34, x29,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x35, &x36, 0x0,
+                                                            (x22 + x18), x31);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x37, &x38, (arg1[3]),
+                                                       UINT16_C(0xc084));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x39, &x40, 0x0,
+                                                            x27, x33);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(
+        &x41, &x42, 0x0, ((x40 + (x28 + x24)) + x34), x37);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x43, &x44, x41, UINT64_C(0x4e6a171024e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x45, &x46, x43, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x47, &x48, x43,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x49, &x50, 0x0,
+                                                            (x36 + x32), x45);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x51, &x52, (arg1[4]),
+                                                       UINT16_C(0xc084));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x53, &x54, 0x0,
+                                                            x41, x47);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(
+        &x55, &x56, 0x0, ((x54 + (x42 + x38)) + x48), x51);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x57, &x58, x55, UINT64_C(0x4e6a171024e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x59, &x60, x57, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x61, &x62, x57,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x63, &x64, 0x0,
+                                                            (x50 + x46), x59);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x65, &x66, (arg1[5]),
+                                                       UINT16_C(0xc084));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x67, &x68, 0x0,
+                                                            x55, x61);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(
+        &x69, &x70, 0x0, ((x68 + (x56 + x52)) + x62), x65);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x71, &x72, x69, UINT64_C(0x4e6a171024e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x73, &x74, x71, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x75, &x76, x71,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x77, &x78, 0x0,
+                                                            (x64 + x60), x73);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x79, &x80, (arg1[6]),
+                                                       UINT16_C(0xc084));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x81, &x82, 0x0,
+                                                            x69, x75);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(
+        &x83, &x84, 0x0, ((x82 + (x70 + x66)) + x76), x79);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x85, &x86, x84, x5,
+                                                            x80);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x87, &x88, x86,
+                                                            x21, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x89, &x90, x88,
+                                                            x35, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x91, &x92, x90,
+                                                            x49, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x93, &x94, x92,
+                                                            x63, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x95, &x96, x94,
+                                                            x77, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x97, &x98, x83, UINT64_C(0x4e6a171024e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x99, &x100, x97, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x101, &x102, x97,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x103, &x104, 0x0,
+                                                            x83, x101);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x105, &x106, x104,
+                                                            x85, x102);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x107, &x108, x106,
+                                                            x87, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x109, &x110, x108,
+                                                            x89, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x111, &x112, x110,
+                                                            x91, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x113, &x114, x112,
+                                                            x93, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x115, &x116, x114,
+                                                            x95, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(
+        &x117, &x118, x116, (x96 + (x78 + x74)), x99);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x119, &x120, (arg1[7]),
+                                                       UINT16_C(0xc084));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x121, &x122, 0x0,
+                                                            x105, x119);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x123, &x124, x122,
+                                                            x107, x120);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x125, &x126, x124,
+                                                            x109, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x127, &x128, x126,
+                                                            x111, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x129, &x130, x128,
+                                                            x113, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x131, &x132, x130,
+                                                            x115, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x133, &x134, x132,
+                                                            x117, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x135, &x136, x121, UINT64_C(0x4e6a171024e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(
+        &x137, &x138, x135, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u64(&x139, &x140, x135,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x141, &x142, 0x0,
+                                                            x121, x139);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x143, &x144, x142,
+                                                            x123, x140);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x145, &x146, x144,
+                                                            x125, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x147, &x148, x146,
+                                                            x127, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x149, &x150, x148,
+                                                            x129, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x151, &x152, x150,
+                                                            x131, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(&x153, &x154, x152,
+                                                            x133, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u64(
+        &x155, &x156, x154, (x134 + (x118 + x100)), x137);
+    x157 = (x156 + x138);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(
+        &x158, &x159, 0x0, x143, UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x160, &x161, x159,
+                                                             x145, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x162, &x163, x161,
+                                                             x147, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x164, &x165, x163,
+                                                             x149, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x166, &x167, x165,
+                                                             x151, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x168, &x169, x167,
+                                                             x153, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x170, &x171, x169,
+                                                             x155, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(
+        &x172, &x173, x171, x157, UINT64_C(0x8000000000000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u64(&x174, &x175, x173,
+                                                             0x0, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x176, x175, x158,
+                                                          x143);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x177, x175, x160,
+                                                          x145);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x178, x175, x162,
+                                                          x147);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x179, x175, x164,
+                                                          x149);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x180, x175, x166,
+                                                          x151);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x181, x175, x168,
+                                                          x153);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x182, x175, x170,
+                                                          x155);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x183, x175, x172,
+                                                          x157);
+    out1[0] = x176;
+    out1[1] = x177;
+    out1[2] = x178;
+    out1[3] = x179;
+    out1[4] = x180;
+    out1[5] = x181;
+    out1[6] = x182;
+    out1[7] = x183;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetB_nonzero outputs a single non-zero word if the input is non-zero and zero otherwise.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   out1 = 0 ↔ eval (from_montgomery arg1) mod m = 0
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffffffffffffff]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetB_nonzero(
+    uint64_t *out1, const uint64_t arg1[8]) {
+    uint64_t x1;
+    x1 = ((arg1[0]) |
+          ((arg1[1]) |
+           ((arg1[2]) |
+            ((arg1[3]) |
+             ((arg1[4]) |
+              ((arg1[5]) | ((arg1[6]) | ((arg1[7]) | (uint64_t)0x0))))))));
+    *out1 = x1;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetB_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]]
+ *   arg3: [[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]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetB_selectznz(
+    uint64_t out1[8], fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 arg1,
+    const uint64_t arg2[8], const uint64_t arg3[8]) {
+    uint64_t x1;
+    uint64_t x2;
+    uint64_t x3;
+    uint64_t x4;
+    uint64_t x5;
+    uint64_t x6;
+    uint64_t x7;
+    uint64_t x8;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x1, arg1, (arg2[0]),
+                                                          (arg3[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x2, arg1, (arg2[1]),
+                                                          (arg3[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x3, arg1, (arg2[2]),
+                                                          (arg3[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x4, arg1, (arg2[3]),
+                                                          (arg3[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x5, arg1, (arg2[4]),
+                                                          (arg3[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x6, arg1, (arg2[5]),
+                                                          (arg3[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x7, arg1, (arg2[6]),
+                                                          (arg3[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u64(&x8, arg1, (arg2[7]),
+                                                          (arg3[7]));
+    out1[0] = x1;
+    out1[1] = x2;
+    out1[2] = x3;
+    out1[3] = x4;
+    out1[4] = x5;
+    out1[5] = x6;
+    out1[6] = x7;
+    out1[7] = x8;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetB_to_bytes serializes a field element in the Montgomery domain to bytes in little-endian order.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..63]
+ *
+ * Input Bounds:
+ *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * 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_paramSetB_to_bytes(
+    uint8_t out1[64], const uint64_t arg1[8]) {
+    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;
+    uint8_t x10;
+    uint64_t x11;
+    uint8_t x12;
+    uint64_t x13;
+    uint8_t x14;
+    uint64_t x15;
+    uint8_t x16;
+    uint64_t x17;
+    uint8_t x18;
+    uint64_t x19;
+    uint8_t x20;
+    uint8_t x21;
+    uint8_t x22;
+    uint8_t x23;
+    uint64_t x24;
+    uint8_t x25;
+    uint64_t x26;
+    uint8_t x27;
+    uint64_t x28;
+    uint8_t x29;
+    uint64_t x30;
+    uint8_t x31;
+    uint64_t x32;
+    uint8_t x33;
+    uint64_t x34;
+    uint8_t x35;
+    uint8_t x36;
+    uint8_t x37;
+    uint8_t x38;
+    uint64_t x39;
+    uint8_t x40;
+    uint64_t x41;
+    uint8_t x42;
+    uint64_t x43;
+    uint8_t x44;
+    uint64_t x45;
+    uint8_t x46;
+    uint64_t x47;
+    uint8_t x48;
+    uint64_t x49;
+    uint8_t x50;
+    uint8_t x51;
+    uint8_t x52;
+    uint8_t x53;
+    uint64_t x54;
+    uint8_t x55;
+    uint64_t x56;
+    uint8_t x57;
+    uint64_t x58;
+    uint8_t x59;
+    uint64_t x60;
+    uint8_t x61;
+    uint64_t x62;
+    uint8_t x63;
+    uint64_t x64;
+    uint8_t x65;
+    uint8_t x66;
+    uint8_t x67;
+    uint8_t x68;
+    uint64_t x69;
+    uint8_t x70;
+    uint64_t x71;
+    uint8_t x72;
+    uint64_t x73;
+    uint8_t x74;
+    uint64_t x75;
+    uint8_t x76;
+    uint64_t x77;
+    uint8_t x78;
+    uint64_t x79;
+    uint8_t x80;
+    uint8_t x81;
+    uint8_t x82;
+    uint8_t x83;
+    uint64_t x84;
+    uint8_t x85;
+    uint64_t x86;
+    uint8_t x87;
+    uint64_t x88;
+    uint8_t x89;
+    uint64_t x90;
+    uint8_t x91;
+    uint64_t x92;
+    uint8_t x93;
+    uint64_t x94;
+    uint8_t x95;
+    uint8_t x96;
+    uint8_t x97;
+    uint8_t x98;
+    uint64_t x99;
+    uint8_t x100;
+    uint64_t x101;
+    uint8_t x102;
+    uint64_t x103;
+    uint8_t x104;
+    uint64_t x105;
+    uint8_t x106;
+    uint64_t x107;
+    uint8_t x108;
+    uint64_t x109;
+    uint8_t x110;
+    uint8_t x111;
+    uint8_t x112;
+    uint8_t x113;
+    uint64_t x114;
+    uint8_t x115;
+    uint64_t x116;
+    uint8_t x117;
+    uint64_t x118;
+    uint8_t x119;
+    uint64_t x120;
+    uint8_t x121;
+    uint64_t x122;
+    uint8_t x123;
+    uint64_t x124;
+    uint8_t x125;
+    uint8_t x126;
+    uint8_t x127;
+    x1 = (arg1[7]);
+    x2 = (arg1[6]);
+    x3 = (arg1[5]);
+    x4 = (arg1[4]);
+    x5 = (arg1[3]);
+    x6 = (arg1[2]);
+    x7 = (arg1[1]);
+    x8 = (arg1[0]);
+    x9 = (x8 >> 8);
+    x10 = (uint8_t)(x8 & UINT8_C(0xff));
+    x11 = (x9 >> 8);
+    x12 = (uint8_t)(x9 & UINT8_C(0xff));
+    x13 = (x11 >> 8);
+    x14 = (uint8_t)(x11 & UINT8_C(0xff));
+    x15 = (x13 >> 8);
+    x16 = (uint8_t)(x13 & UINT8_C(0xff));
+    x17 = (x15 >> 8);
+    x18 = (uint8_t)(x15 & UINT8_C(0xff));
+    x19 = (x17 >> 8);
+    x20 = (uint8_t)(x17 & UINT8_C(0xff));
+    x21 = (uint8_t)(x19 >> 8);
+    x22 = (uint8_t)(x19 & UINT8_C(0xff));
+    x23 = (uint8_t)(x21 & UINT8_C(0xff));
+    x24 = (x7 >> 8);
+    x25 = (uint8_t)(x7 & UINT8_C(0xff));
+    x26 = (x24 >> 8);
+    x27 = (uint8_t)(x24 & UINT8_C(0xff));
+    x28 = (x26 >> 8);
+    x29 = (uint8_t)(x26 & UINT8_C(0xff));
+    x30 = (x28 >> 8);
+    x31 = (uint8_t)(x28 & UINT8_C(0xff));
+    x32 = (x30 >> 8);
+    x33 = (uint8_t)(x30 & UINT8_C(0xff));
+    x34 = (x32 >> 8);
+    x35 = (uint8_t)(x32 & UINT8_C(0xff));
+    x36 = (uint8_t)(x34 >> 8);
+    x37 = (uint8_t)(x34 & UINT8_C(0xff));
+    x38 = (uint8_t)(x36 & UINT8_C(0xff));
+    x39 = (x6 >> 8);
+    x40 = (uint8_t)(x6 & UINT8_C(0xff));
+    x41 = (x39 >> 8);
+    x42 = (uint8_t)(x39 & UINT8_C(0xff));
+    x43 = (x41 >> 8);
+    x44 = (uint8_t)(x41 & UINT8_C(0xff));
+    x45 = (x43 >> 8);
+    x46 = (uint8_t)(x43 & UINT8_C(0xff));
+    x47 = (x45 >> 8);
+    x48 = (uint8_t)(x45 & UINT8_C(0xff));
+    x49 = (x47 >> 8);
+    x50 = (uint8_t)(x47 & UINT8_C(0xff));
+    x51 = (uint8_t)(x49 >> 8);
+    x52 = (uint8_t)(x49 & UINT8_C(0xff));
+    x53 = (uint8_t)(x51 & UINT8_C(0xff));
+    x54 = (x5 >> 8);
+    x55 = (uint8_t)(x5 & UINT8_C(0xff));
+    x56 = (x54 >> 8);
+    x57 = (uint8_t)(x54 & UINT8_C(0xff));
+    x58 = (x56 >> 8);
+    x59 = (uint8_t)(x56 & UINT8_C(0xff));
+    x60 = (x58 >> 8);
+    x61 = (uint8_t)(x58 & UINT8_C(0xff));
+    x62 = (x60 >> 8);
+    x63 = (uint8_t)(x60 & UINT8_C(0xff));
+    x64 = (x62 >> 8);
+    x65 = (uint8_t)(x62 & UINT8_C(0xff));
+    x66 = (uint8_t)(x64 >> 8);
+    x67 = (uint8_t)(x64 & UINT8_C(0xff));
+    x68 = (uint8_t)(x66 & UINT8_C(0xff));
+    x69 = (x4 >> 8);
+    x70 = (uint8_t)(x4 & UINT8_C(0xff));
+    x71 = (x69 >> 8);
+    x72 = (uint8_t)(x69 & UINT8_C(0xff));
+    x73 = (x71 >> 8);
+    x74 = (uint8_t)(x71 & UINT8_C(0xff));
+    x75 = (x73 >> 8);
+    x76 = (uint8_t)(x73 & UINT8_C(0xff));
+    x77 = (x75 >> 8);
+    x78 = (uint8_t)(x75 & UINT8_C(0xff));
+    x79 = (x77 >> 8);
+    x80 = (uint8_t)(x77 & UINT8_C(0xff));
+    x81 = (uint8_t)(x79 >> 8);
+    x82 = (uint8_t)(x79 & UINT8_C(0xff));
+    x83 = (uint8_t)(x81 & UINT8_C(0xff));
+    x84 = (x3 >> 8);
+    x85 = (uint8_t)(x3 & UINT8_C(0xff));
+    x86 = (x84 >> 8);
+    x87 = (uint8_t)(x84 & UINT8_C(0xff));
+    x88 = (x86 >> 8);
+    x89 = (uint8_t)(x86 & UINT8_C(0xff));
+    x90 = (x88 >> 8);
+    x91 = (uint8_t)(x88 & UINT8_C(0xff));
+    x92 = (x90 >> 8);
+    x93 = (uint8_t)(x90 & UINT8_C(0xff));
+    x94 = (x92 >> 8);
+    x95 = (uint8_t)(x92 & UINT8_C(0xff));
+    x96 = (uint8_t)(x94 >> 8);
+    x97 = (uint8_t)(x94 & UINT8_C(0xff));
+    x98 = (uint8_t)(x96 & UINT8_C(0xff));
+    x99 = (x2 >> 8);
+    x100 = (uint8_t)(x2 & UINT8_C(0xff));
+    x101 = (x99 >> 8);
+    x102 = (uint8_t)(x99 & UINT8_C(0xff));
+    x103 = (x101 >> 8);
+    x104 = (uint8_t)(x101 & UINT8_C(0xff));
+    x105 = (x103 >> 8);
+    x106 = (uint8_t)(x103 & UINT8_C(0xff));
+    x107 = (x105 >> 8);
+    x108 = (uint8_t)(x105 & UINT8_C(0xff));
+    x109 = (x107 >> 8);
+    x110 = (uint8_t)(x107 & UINT8_C(0xff));
+    x111 = (uint8_t)(x109 >> 8);
+    x112 = (uint8_t)(x109 & UINT8_C(0xff));
+    x113 = (uint8_t)(x111 & UINT8_C(0xff));
+    x114 = (x1 >> 8);
+    x115 = (uint8_t)(x1 & UINT8_C(0xff));
+    x116 = (x114 >> 8);
+    x117 = (uint8_t)(x114 & UINT8_C(0xff));
+    x118 = (x116 >> 8);
+    x119 = (uint8_t)(x116 & UINT8_C(0xff));
+    x120 = (x118 >> 8);
+    x121 = (uint8_t)(x118 & UINT8_C(0xff));
+    x122 = (x120 >> 8);
+    x123 = (uint8_t)(x120 & UINT8_C(0xff));
+    x124 = (x122 >> 8);
+    x125 = (uint8_t)(x122 & UINT8_C(0xff));
+    x126 = (uint8_t)(x124 >> 8);
+    x127 = (uint8_t)(x124 & UINT8_C(0xff));
+    out1[0] = x10;
+    out1[1] = x12;
+    out1[2] = x14;
+    out1[3] = x16;
+    out1[4] = x18;
+    out1[5] = x20;
+    out1[6] = x22;
+    out1[7] = x23;
+    out1[8] = x25;
+    out1[9] = x27;
+    out1[10] = x29;
+    out1[11] = x31;
+    out1[12] = x33;
+    out1[13] = x35;
+    out1[14] = x37;
+    out1[15] = x38;
+    out1[16] = x40;
+    out1[17] = x42;
+    out1[18] = x44;
+    out1[19] = x46;
+    out1[20] = x48;
+    out1[21] = x50;
+    out1[22] = x52;
+    out1[23] = x53;
+    out1[24] = x55;
+    out1[25] = x57;
+    out1[26] = x59;
+    out1[27] = x61;
+    out1[28] = x63;
+    out1[29] = x65;
+    out1[30] = x67;
+    out1[31] = x68;
+    out1[32] = x70;
+    out1[33] = x72;
+    out1[34] = x74;
+    out1[35] = x76;
+    out1[36] = x78;
+    out1[37] = x80;
+    out1[38] = x82;
+    out1[39] = x83;
+    out1[40] = x85;
+    out1[41] = x87;
+    out1[42] = x89;
+    out1[43] = x91;
+    out1[44] = x93;
+    out1[45] = x95;
+    out1[46] = x97;
+    out1[47] = x98;
+    out1[48] = x100;
+    out1[49] = x102;
+    out1[50] = x104;
+    out1[51] = x106;
+    out1[52] = x108;
+    out1[53] = x110;
+    out1[54] = x112;
+    out1[55] = x113;
+    out1[56] = x115;
+    out1[57] = x117;
+    out1[58] = x119;
+    out1[59] = x121;
+    out1[60] = x123;
+    out1[61] = x125;
+    out1[62] = x127;
+    out1[63] = x126;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetB_from_bytes deserializes a field element in the Montgomery domain from bytes in little-endian order.
+ * Preconditions:
+ *   0 ≤ bytes_eval arg1 < m
+ * Postconditions:
+ *   eval out1 mod m = bytes_eval arg1 mod m
+ *   0 ≤ eval out1 < 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 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetB_from_bytes(
+    uint64_t out1[8], 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;
+    uint8_t x8;
+    uint64_t x9;
+    uint64_t x10;
+    uint64_t x11;
+    uint64_t x12;
+    uint64_t x13;
+    uint64_t x14;
+    uint64_t x15;
+    uint8_t x16;
+    uint64_t x17;
+    uint64_t x18;
+    uint64_t x19;
+    uint64_t x20;
+    uint64_t x21;
+    uint64_t x22;
+    uint64_t x23;
+    uint8_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;
+    uint8_t x40;
+    uint64_t x41;
+    uint64_t x42;
+    uint64_t x43;
+    uint64_t x44;
+    uint64_t x45;
+    uint64_t x46;
+    uint64_t x47;
+    uint8_t x48;
+    uint64_t x49;
+    uint64_t x50;
+    uint64_t x51;
+    uint64_t x52;
+    uint64_t x53;
+    uint64_t x54;
+    uint64_t x55;
+    uint8_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;
+    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;
+    x1 = ((uint64_t)(arg1[63]) << 56);
+    x2 = ((uint64_t)(arg1[62]) << 48);
+    x3 = ((uint64_t)(arg1[61]) << 40);
+    x4 = ((uint64_t)(arg1[60]) << 32);
+    x5 = ((uint64_t)(arg1[59]) << 24);
+    x6 = ((uint64_t)(arg1[58]) << 16);
+    x7 = ((uint64_t)(arg1[57]) << 8);
+    x8 = (arg1[56]);
+    x9 = ((uint64_t)(arg1[55]) << 56);
+    x10 = ((uint64_t)(arg1[54]) << 48);
+    x11 = ((uint64_t)(arg1[53]) << 40);
+    x12 = ((uint64_t)(arg1[52]) << 32);
+    x13 = ((uint64_t)(arg1[51]) << 24);
+    x14 = ((uint64_t)(arg1[50]) << 16);
+    x15 = ((uint64_t)(arg1[49]) << 8);
+    x16 = (arg1[48]);
+    x17 = ((uint64_t)(arg1[47]) << 56);
+    x18 = ((uint64_t)(arg1[46]) << 48);
+    x19 = ((uint64_t)(arg1[45]) << 40);
+    x20 = ((uint64_t)(arg1[44]) << 32);
+    x21 = ((uint64_t)(arg1[43]) << 24);
+    x22 = ((uint64_t)(arg1[42]) << 16);
+    x23 = ((uint64_t)(arg1[41]) << 8);
+    x24 = (arg1[40]);
+    x25 = ((uint64_t)(arg1[39]) << 56);
+    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]) << 56);
+    x34 = ((uint64_t)(arg1[30]) << 48);
+    x35 = ((uint64_t)(arg1[29]) << 40);
+    x36 = ((uint64_t)(arg1[28]) << 32);
+    x37 = ((uint64_t)(arg1[27]) << 24);
+    x38 = ((uint64_t)(arg1[26]) << 16);
+    x39 = ((uint64_t)(arg1[25]) << 8);
+    x40 = (arg1[24]);
+    x41 = ((uint64_t)(arg1[23]) << 56);
+    x42 = ((uint64_t)(arg1[22]) << 48);
+    x43 = ((uint64_t)(arg1[21]) << 40);
+    x44 = ((uint64_t)(arg1[20]) << 32);
+    x45 = ((uint64_t)(arg1[19]) << 24);
+    x46 = ((uint64_t)(arg1[18]) << 16);
+    x47 = ((uint64_t)(arg1[17]) << 8);
+    x48 = (arg1[16]);
+    x49 = ((uint64_t)(arg1[15]) << 56);
+    x50 = ((uint64_t)(arg1[14]) << 48);
+    x51 = ((uint64_t)(arg1[13]) << 40);
+    x52 = ((uint64_t)(arg1[12]) << 32);
+    x53 = ((uint64_t)(arg1[11]) << 24);
+    x54 = ((uint64_t)(arg1[10]) << 16);
+    x55 = ((uint64_t)(arg1[9]) << 8);
+    x56 = (arg1[8]);
+    x57 = ((uint64_t)(arg1[7]) << 56);
+    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 + x57)))))));
+    x66 = (x65 & UINT64_C(0xffffffffffffffff));
+    x67 = (x8 + (x7 + (x6 + (x5 + (x4 + (x3 + (x2 + x1)))))));
+    x68 = (x16 + (x15 + (x14 + (x13 + (x12 + (x11 + (x10 + x9)))))));
+    x69 = (x24 + (x23 + (x22 + (x21 + (x20 + (x19 + (x18 + x17)))))));
+    x70 = (x32 + (x31 + (x30 + (x29 + (x28 + (x27 + (x26 + x25)))))));
+    x71 = (x40 + (x39 + (x38 + (x37 + (x36 + (x35 + (x34 + x33)))))));
+    x72 = (x48 + (x47 + (x46 + (x45 + (x44 + (x43 + (x42 + x41)))))));
+    x73 = (x56 + (x55 + (x54 + (x53 + (x52 + (x51 + (x50 + x49)))))));
+    x74 = (x73 & UINT64_C(0xffffffffffffffff));
+    x75 = (x72 & UINT64_C(0xffffffffffffffff));
+    x76 = (x71 & UINT64_C(0xffffffffffffffff));
+    x77 = (x70 & UINT64_C(0xffffffffffffffff));
+    x78 = (x69 & UINT64_C(0xffffffffffffffff));
+    x79 = (x68 & UINT64_C(0xffffffffffffffff));
+    out1[0] = x66;
+    out1[1] = x74;
+    out1[2] = x75;
+    out1[3] = x76;
+    out1[4] = x77;
+    out1[5] = x78;
+    out1[6] = x79;
+    out1[7] = x67;
+}
+
+/* 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_paramSetB/fe_inv.op3
+ * sliding window w=5
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetB_inv(fe_t output,
+                                                          const fe_t t1) {
+    int i;
+    /* temporary variables */
+    fe_t acc, t13, t3;
+
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_square(acc, t1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t3, t1, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t13, t3, acc);
+    for (i = 0; i < 4; i++)
+        fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t13, t13, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_square(acc, t1);
+    for (i = 0; i < 505; i++)
+        fiat_id_tc26_gost_3410_2012_512_paramSetB_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(acc, acc, t3);
+    for (i = 0; i < 5; i++)
+        fiat_id_tc26_gost_3410_2012_512_paramSetB_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(output, acc, t13);
+}
+
+/* curve coefficient constants */
+
+static const limb_t const_one[8] = {
+    UINT64_C(0xFFFFFFFFFFFFFF91), UINT64_C(0xFFFFFFFFFFFFFFFF),
+    UINT64_C(0xFFFFFFFFFFFFFFFF), UINT64_C(0xFFFFFFFFFFFFFFFF),
+    UINT64_C(0xFFFFFFFFFFFFFFFF), UINT64_C(0xFFFFFFFFFFFFFFFF),
+    UINT64_C(0xFFFFFFFFFFFFFFFF), UINT64_C(0x7FFFFFFFFFFFFFFF)};
+
+static const limb_t const_b[8] = {
+    UINT64_C(0xDBE748C318A75DD6), UINT64_C(0xC954A7809097BFC1),
+    UINT64_C(0x6553CD27E2D5A471), UINT64_C(0xB99B326049435CF3),
+    UINT64_C(0xE9EAC8A216D2C5E7), UINT64_C(0x260B45A102D0CC51),
+    UINT64_C(0x8636181D6C5BD56D), UINT64_C(0x638259A12C5765BC)};
+
+/* LUT for scalar multiplication by comb interleaving */
+static const pt_aff_t lut_cmb[14][16] = {
+    {
+        {{UINT64_C(0xFFFFFFFFFFFFFEB3), UINT64_C(0xFFFFFFFFFFFFFFFF),
+          UINT64_C(0xFFFFFFFFFFFFFFFF), UINT64_C(0xFFFFFFFFFFFFFFFF),
+          UINT64_C(0xFFFFFFFFFFFFFFFF), UINT64_C(0xFFFFFFFFFFFFFFFF),
+          UINT64_C(0xFFFFFFFFFFFFFFFF), UINT64_C(0x7FFFFFFFFFFFFFFF)},
+         {UINT64_C(0x9F34E17E2383127B), UINT64_C(0x4C79D571CF48CEEA),
+          UINT64_C(0xA33463BC494E1BED), UINT64_C(0x9D80747F3A5DA27F),
+          UINT64_C(0xDCBD09DDC2F4174A), UINT64_C(0xE8307A8C2147B2E0),
+          UINT64_C(0xD1D3CCEDDBCF9AC9), UINT64_C(0x778FFEC2E98DEFF1)}},
+        {{UINT64_C(0xCE514E6BB67DA584), UINT64_C(0xEB51443BE19C2094),
+          UINT64_C(0xC8E8F54B9B071A6E), UINT64_C(0x239C53FDBED2A243),
+          UINT64_C(0x67D47B7B2AE8E157), UINT64_C(0x046DE3B75550826E),
+          UINT64_C(0x2F7DD21E17723575), UINT64_C(0x0E6EABDD11E8E247)},
+         {UINT64_C(0xF204F0D648600734), UINT64_C(0x04B3054C343D6475),
+          UINT64_C(0x707BD9D8F7E6D181), UINT64_C(0x535CEC326B353E20),
+          UINT64_C(0xA185FA95108C5FE7), UINT64_C(0x7033EBFAB573367F),
+          UINT64_C(0xEC54E36B46552D77), UINT64_C(0x235E6C1A729C9EBA)}},
+        {{UINT64_C(0xECDCEE638B28C0DC), UINT64_C(0xD4E35B4036AE99A1),
+          UINT64_C(0xDACC813D464A3D2F), UINT64_C(0x8D92802ADBAF282E),
+          UINT64_C(0x652CFF9C7D8757F2), UINT64_C(0x2C1BCBD97F5A8471),
+          UINT64_C(0x010192E216C3679A), UINT64_C(0x562694967529DB85)},
+         {UINT64_C(0x7480BB90D5F89B94), UINT64_C(0xE01FE3D81E46EDE6),
+          UINT64_C(0xC18431634E57E6F5), UINT64_C(0x5F8C688491C2DF63),
+          UINT64_C(0x42E01ED65FA2DC4D), UINT64_C(0x629C95CD8FF5A769),
+          UINT64_C(0x0E8C16376EAB4807), UINT64_C(0x1C41FB660ABD9BB6)}},
+        {{UINT64_C(0x6B509B4F6ED32E5F), UINT64_C(0xC62AFB2567C95F17),
+          UINT64_C(0x352D4B7A5CE4762A), UINT64_C(0x331358159AFA6ACC),
+          UINT64_C(0x168B565406D550B2), UINT64_C(0x254DCCE0B528DF40),
+          UINT64_C(0x422ADB9A222C9415), UINT64_C(0x6FC0F2CE3D2F923E)},
+         {UINT64_C(0x3CC0872359359CE7), UINT64_C(0x1779C0CD91A4DC50),
+          UINT64_C(0x1205971EC8B9922D), UINT64_C(0x199F8198C13192A7),
+          UINT64_C(0xA43FBDBF492DB7AA), UINT64_C(0x9E173427E82BEEC8),
+          UINT64_C(0x1E9014993850D54E), UINT64_C(0x603774B7F761EC57)}},
+        {{UINT64_C(0x23B79C802BDEF3A9), UINT64_C(0x2217119AD19A5F2C),
+          UINT64_C(0x49194CE156B09A50), UINT64_C(0xEE7D88A221329201),
+          UINT64_C(0x1C45A959D0BBED28), UINT64_C(0x1BA5DAD5780FA0D1),
+          UINT64_C(0x17D7C7946959608D), UINT64_C(0x7DA394237E4E9B1F)},
+         {UINT64_C(0x435F5C5547508CA7), UINT64_C(0x84583489516AD549),
+          UINT64_C(0x09DDC49D02BAE814), UINT64_C(0xCD566B6E260B4D97),
+          UINT64_C(0x8C11211EE38DF931), UINT64_C(0x7D5FC8D005D473F8),
+          UINT64_C(0x48C9D7CD865C76F2), UINT64_C(0x2D4517372A6D5599)}},
+        {{UINT64_C(0x5F8B137B29C4EACD), UINT64_C(0x5CB8477C99075883),
+          UINT64_C(0xBC6736A750A641C4), UINT64_C(0xF96B6D0E81B0881D),
+          UINT64_C(0x8E9C2612E561FC8F), UINT64_C(0x8F742744284E20B7),
+          UINT64_C(0xBC8C5BE7D4DD11EE), UINT64_C(0x414709E782B2EF56)},
+         {UINT64_C(0xE4D6BC0A6DF555F2), UINT64_C(0x916E0A8038EE529F),
+          UINT64_C(0xBBE312733414117E), UINT64_C(0x2D7BF9CD3154234A),
+          UINT64_C(0x79B9CFA91852E8EE), UINT64_C(0x62653E8C1BD9C07A),
+          UINT64_C(0x35FE04F67C7AFF7E), UINT64_C(0x746C1E87E70AE283)}},
+        {{UINT64_C(0x1F5857A198366BA5), UINT64_C(0x96781D84414DECAD),
+          UINT64_C(0xB39DD88866CF983E), UINT64_C(0xDE1050ACCAC19B5F),
+          UINT64_C(0x5A58BFA88B2AA408), UINT64_C(0xA0A6E9613C440DED),
+          UINT64_C(0xBAAEC3DFC67D0412), UINT64_C(0x0E37C0E06759674E)},
+         {UINT64_C(0x1E623E7563880D22), UINT64_C(0x3BE27CF8F0ACB4B6),
+          UINT64_C(0x5E6ABD4F4F69642E), UINT64_C(0x3E92D34D13CADA08),
+          UINT64_C(0x56C644290127C48B), UINT64_C(0x620FC35B7F3C5746),
+          UINT64_C(0x6870F3DEEF94C612), UINT64_C(0x219C5A5A2606F4A4)}},
+        {{UINT64_C(0x0AD4ACAA1625FE00), UINT64_C(0xD7DEE6BB9BEE03FF),
+          UINT64_C(0x72A27D3B2E594A2C), UINT64_C(0x471EFD78AAB1C0E5),
+          UINT64_C(0xBDE8465E37857650), UINT64_C(0x1CA721C2BD9F5885),
+          UINT64_C(0x361E6F8A6073DCEF), UINT64_C(0x2BA435E30A7CF8E9)},
+         {UINT64_C(0xC7B032BD1C6893FA), UINT64_C(0xFA9C30E809D4E403),
+          UINT64_C(0xB03AF5BD20293A47), UINT64_C(0x21EBC61BE008F02D),
+          UINT64_C(0x0A50151D73D59E63), UINT64_C(0x18D1A3F678D260DB),
+          UINT64_C(0xE8E3C3F47D79BA96), UINT64_C(0x51FAED3775A06F31)}},
+        {{UINT64_C(0xECD4B979E8BCBC8B), UINT64_C(0x7529023CF803878F),
+          UINT64_C(0xAD84E1849A8B8850), UINT64_C(0xF1E004F8CCF88146),
+          UINT64_C(0x27406240C194F3F5), UINT64_C(0x175AB72FE366D6B0),
+          UINT64_C(0x1A44BC8513BBCC48), UINT64_C(0x7930F86912F138C6)},
+         {UINT64_C(0x1943A86518E4DCD0), UINT64_C(0x747F6C7CBCE9F068),
+          UINT64_C(0x5A306F6454D067F7), UINT64_C(0xD1A8EF54EDB2062A),
+          UINT64_C(0x60E6ACAEA42F21B3), UINT64_C(0x9218654F3B2D2C26),
+          UINT64_C(0xEDE14471E8B2778E), UINT64_C(0x7B868D318CEE6931)}},
+        {{UINT64_C(0x0957A4F6B368FF42), UINT64_C(0xF9F134FD004C85FC),
+          UINT64_C(0x3A6B8A4719017E1D), UINT64_C(0x673A45EA7D50A61E),
+          UINT64_C(0x4A26DA494E18EE86), UINT64_C(0xAF7DD8FDDF0C17A6),
+          UINT64_C(0xD24BF75A7E7277C3), UINT64_C(0x5EF832A1BF72613C)},
+         {UINT64_C(0x2E9C8E083300EE10), UINT64_C(0xCCA04C068763AB4E),
+          UINT64_C(0x5F8DBC28A6B7D854), UINT64_C(0xC6CD3DE84025C222),
+          UINT64_C(0xEFD30CC10DFE44A5), UINT64_C(0xC2CD44421D7BE70F),
+          UINT64_C(0x06F8D46B45CCED5D), UINT64_C(0x2D74D0D62EF0C653)}},
+        {{UINT64_C(0x151B24DFB26E78B9), UINT64_C(0xC57E81560BB1ED51),
+          UINT64_C(0x57BAADA59C13974B), UINT64_C(0x98336FB820CC5AF3),
+          UINT64_C(0x1DA5BD290C790E28), UINT64_C(0x877AA9358C6E2539),
+          UINT64_C(0x1673F15109AEE9D2), UINT64_C(0x519FB4EE0AEE66D8)},
+         {UINT64_C(0x2B798F206AA8D898), UINT64_C(0xC3DFB5ECBA86008C),
+          UINT64_C(0xF780333B343A8CBF), UINT64_C(0xFF22F62AB6D2056E),
+          UINT64_C(0x97F3006E182EF2A6), UINT64_C(0x3C5ADB493064AC5E),
+          UINT64_C(0x89C8C032C9D64C70), UINT64_C(0x1A9ABDED243DB254)}},
+        {{UINT64_C(0xA84B636211A375BF), UINT64_C(0x598270A6620A2252),
+          UINT64_C(0xB183EC9D13A0EFF8), UINT64_C(0x2F7BEBD4B755AD35),
+          UINT64_C(0xEBA848EDC53EFD69), UINT64_C(0x12059A246FAEC1B6),
+          UINT64_C(0xBA6340A47A290D7B), UINT64_C(0x2284943263DF6036)},
+         {UINT64_C(0x4702BCB62AA27F19), UINT64_C(0x8DDE49209B6D66D6),
+          UINT64_C(0xC3D4A80BBDC2DC5D), UINT64_C(0xE51AC2D6691A8BD4),
+          UINT64_C(0x794853518F4211FC), UINT64_C(0x163CD093A9D14C71),
+          UINT64_C(0x4B38A2B189A0E099), UINT64_C(0x166732459E98054E)}},
+        {{UINT64_C(0xFB44107131FBB6B8), UINT64_C(0x79A8775C42AD947A),
+          UINT64_C(0xA8C9E486E72D0384), UINT64_C(0x9AF7F292840A1DDB),
+          UINT64_C(0x07E9DB522DB1B47D), UINT64_C(0x0698669ABA81EBAD),
+          UINT64_C(0xA48E2F032DC06B76), UINT64_C(0x1B06024879B9161A)},
+         {UINT64_C(0xD47BADE113C53A83), UINT64_C(0x9C1F4DD068727195),
+          UINT64_C(0x14A2FC601293376B), UINT64_C(0x8A63967EDC206930),
+          UINT64_C(0x5D9DFE3898E46F8B), UINT64_C(0x9199E19385CF7B41),
+          UINT64_C(0x3E8DF54D113D1605), UINT64_C(0x14D3C202303789E1)}},
+        {{UINT64_C(0x11A727D4626710EB), UINT64_C(0x38481EC13EB613F1),
+          UINT64_C(0xB824F8315625E925), UINT64_C(0x3FEFE4F7D03D016B),
+          UINT64_C(0xCE196037BF1FE74C), UINT64_C(0xE5518F38E956E95F),
+          UINT64_C(0x84E24D4523E1AE46), UINT64_C(0x29D1DB5A3E0F63A1)},
+         {UINT64_C(0x380BF7874FAE4F08), UINT64_C(0xB4E5D477ED8B6A7C),
+          UINT64_C(0xABA43C3ADC035A0D), UINT64_C(0x7B88050825134A5C),
+          UINT64_C(0x2DB4554865D5A8CF), UINT64_C(0x776B78B67EDE5F4D),
+          UINT64_C(0x4CB5848179297E21), UINT64_C(0x1E1911058BE6DBD4)}},
+        {{UINT64_C(0x4D1054373E98C38E), UINT64_C(0xAE4B330CB2E8BE84),
+          UINT64_C(0xB1A22A3DE16CA9CD), UINT64_C(0xE78B43CB1DAF0B8D),
+          UINT64_C(0x509D9C345CB2B278), UINT64_C(0x9A1342B329F9FFFD),
+          UINT64_C(0x8159F45273A20A3F), UINT64_C(0x35043A47CA064DAD)},
+         {UINT64_C(0xE000710E040E7978), UINT64_C(0x2A1DA585FAF394BB),
+          UINT64_C(0xF9423EE651524252), UINT64_C(0xD95CE5EF181ACF8B),
+          UINT64_C(0x0097A9B5613B5947), UINT64_C(0x6F088D14AB442CD0),
+          UINT64_C(0x4E225BACCAE96A8E), UINT64_C(0x753B77B9EE82591B)}},
+        {{UINT64_C(0x41D5FEEC43969A20), UINT64_C(0xC7E1DFA25B57402C),
+          UINT64_C(0xC43BFFDD9C098C51), UINT64_C(0xAC5E73942954A8F5),
+          UINT64_C(0xD420A646B2E1308E), UINT64_C(0x13476158D7CAE952),
+          UINT64_C(0x6A48FA12E7B188C1), UINT64_C(0x1CF2DE71EC53C308)},
+         {UINT64_C(0xAA44CF54653FB0FE), UINT64_C(0x4E05A63D450317F4),
+          UINT64_C(0x8B59BAA6E3AA21DA), UINT64_C(0xFA3A1CDA11F7840D),
+          UINT64_C(0x220F39B639DB678D), UINT64_C(0x6D497E96759CDCA0),
+          UINT64_C(0x0ADF3F2969FA5114), UINT64_C(0x7836181D15349213)}},
+    },
+    {
+        {{UINT64_C(0x1F11E63C5D6F9B3E), UINT64_C(0x4569A6DAA403A073),
+          UINT64_C(0x1B585729FE26A8BD), UINT64_C(0x2185B4E45F41FAA7),
+          UINT64_C(0x3887350C6E99E6E1), UINT64_C(0x92F63CA599CFFB22),
+          UINT64_C(0x94E93270A52F6381), UINT64_C(0x489EE2DFD0A380FC)},
+         {UINT64_C(0x45F7836AB988D87D), UINT64_C(0xA44DCA0C337BEFA3),
+          UINT64_C(0x6F42243655657370), UINT64_C(0xE5299B33C16D6547),
+          UINT64_C(0x74A82B2F1E5AAB47), UINT64_C(0x795A79B9CFA92CDB),
+          UINT64_C(0x2EE0F1BE4981A557), UINT64_C(0x3F7A2AC5F5637DEF)}},
+        {{UINT64_C(0x78CF079D3A0FEA31), UINT64_C(0xF5A54C8C6F9069B7),
+          UINT64_C(0x24C79868D8C02F14), UINT64_C(0x43DDB340F36B384F),
+          UINT64_C(0x8AF55E5EAD874F73), UINT64_C(0x29E81ACA5856DB97),
+          UINT64_C(0xB23D0E00702DF822), UINT64_C(0x58EF4F993D029F4B)},
+         {UINT64_C(0x0B28FA62F26CA389), UINT64_C(0xD3288224ECFF83DF),
+          UINT64_C(0x5D8F23193FD82EB2), UINT64_C(0x68E3D3C53D1CB29F),
+          UINT64_C(0x8DF1A753EC26BE41), UINT64_C(0xB2074622C2C7412F),
+          UINT64_C(0x3A8D35048D5018F7), UINT64_C(0x0B0D2D49FD309F9B)}},
+        {{UINT64_C(0xE997DD069319D09A), UINT64_C(0xF8A2189FDA1726DB),
+          UINT64_C(0x3AD35868266E7222), UINT64_C(0x0116610C0F42E1A2),
+          UINT64_C(0xF23385ACE93CC223), UINT64_C(0xE06DE4F68D221503),
+          UINT64_C(0x0C963EF8A36EE6D9), UINT64_C(0x13B707C8C297BB1A)},
+         {UINT64_C(0x1067542415B7BEF0), UINT64_C(0x9C064518AB4ECC7E),
+          UINT64_C(0x324CDF0C83247132), UINT64_C(0xA9A416204CE15206),
+          UINT64_C(0x0641C526F0EC82B3), UINT64_C(0xD952D947F165B832),
+          UINT64_C(0xF6E4EF5B56C3BC3C), UINT64_C(0x528479A6EF1F3728)}},
+        {{UINT64_C(0xF84BE5DCA64A2C9B), UINT64_C(0xC20AD405B92B2A9D),
+          UINT64_C(0xC965A45A829BA060), UINT64_C(0x5041E47FD9F58ABF),
+          UINT64_C(0x360FB8E29E6AEB4E), UINT64_C(0xDC3B93DEB995DDB3),
+          UINT64_C(0x7FB0501FFA2C89E5), UINT64_C(0x1883F0179C9B058F)},
+         {UINT64_C(0x9FC09649ABF2EABC), UINT64_C(0x051F9AA2D2ADFBBE),
+          UINT64_C(0x000B4689F2471B9C), UINT64_C(0x2C21C96A23DB9E67),
+          UINT64_C(0x840F2A03D9D7C226), UINT64_C(0xE728B0702E660925),
+          UINT64_C(0x1ED21D55A8258042), UINT64_C(0x20DE972E8DA89F47)}},
+        {{UINT64_C(0x3003BD09D3DE31B6), UINT64_C(0x6883729E83781375),
+          UINT64_C(0x882F56AEA7E281ED), UINT64_C(0x936861D399873D07),
+          UINT64_C(0x68DB9DF0E329D05A), UINT64_C(0xEFD44FB8B6ED5B00),
+          UINT64_C(0x095DF018DE7AFD7D), UINT64_C(0x11DD7E7431FEE4D2)},
+         {UINT64_C(0x59256A82052E3502), UINT64_C(0xB12A68CD967C4F10),
+          UINT64_C(0xF56E1410F921E058), UINT64_C(0xF7E2CED1D9721852),
+          UINT64_C(0xE62F6371DE8CBE99), UINT64_C(0x51BB6086BDCF5383),
+          UINT64_C(0xDE865C7F05F1C9EF), UINT64_C(0x2F4D471E59C9DB82)}},
+        {{UINT64_C(0x5238E20B60A83A69), UINT64_C(0xE8ED22D8241F9EE4),
+          UINT64_C(0x94609C9FC44B4D6B), UINT64_C(0x8CB4F484738B047F),
+          UINT64_C(0x1DA037763A311894), UINT64_C(0x3B2301D7FFEDBEDE),
+          UINT64_C(0xBE0D9731C28BFA7B), UINT64_C(0x03E672B78E73852C)},
+         {UINT64_C(0xA1A4A97DAA676638), UINT64_C(0x1CC2C685473A0CAB),
+          UINT64_C(0x31FE11382E95739F), UINT64_C(0x090AEB0D090C8025),
+          UINT64_C(0x9F0A7073645B652E), UINT64_C(0xC03ABF85E83798BD),
+          UINT64_C(0x71FBC2D748F4C4C3), UINT64_C(0x56AE0E1E0D38C5BA)}},
+        {{UINT64_C(0xDAFDB67CF2C2C6C1), UINT64_C(0xFD6B132ECF3D93C2),
+          UINT64_C(0xA6FD14BDAE365613), UINT64_C(0x0B5A2A4A2B04AD13),
+          UINT64_C(0x2AA0470A36B30288), UINT64_C(0xBC9849382A2BB583),
+          UINT64_C(0xC05200992DE94268), UINT64_C(0x2CD5FBBB49E1A2C3)},
+         {UINT64_C(0x082C8F94AAD935D9), UINT64_C(0x20AECE5C51A9454D),
+          UINT64_C(0x5BE24C7E19E2401F), UINT64_C(0x7BECBAF1A327A3BB),
+          UINT64_C(0x39E76F20B6300E64), UINT64_C(0x5D151BA79CBC4DCE),
+          UINT64_C(0x07726284B5D04C2A), UINT64_C(0x4D8BD241B721A54D)}},
+        {{UINT64_C(0xD28B4A8E9BB85232), UINT64_C(0x4F965F03CAD53584),
+          UINT64_C(0xDAE3617BDD1B0F12), UINT64_C(0xDB8660B36777B034),
+          UINT64_C(0xC67184DD5F952B6A), UINT64_C(0x0ADCC669CE065AD2),
+          UINT64_C(0x1FC9CB4677CE4665), UINT64_C(0x0A01B64D2234474A)},
+         {UINT64_C(0x0A749E821D915F94), UINT64_C(0xF0D212C9425F6ECA),
+          UINT64_C(0x0C23D0141281CD10), UINT64_C(0x0C933FD429DB5FC8),
+          UINT64_C(0x80DDA2EFBA5D8406), UINT64_C(0x8C1402D5338183C4),
+          UINT64_C(0x6E06C3E2D4B5A7F9), UINT64_C(0x64E3E1AB8506CA5C)}},
+        {{UINT64_C(0xAC11D879C94EA8D3), UINT64_C(0xDD8B6BA31F28B33F),
+          UINT64_C(0x647E69ADAEEAD88D), UINT64_C(0xB49B31E13933567E),
+          UINT64_C(0xBB12FE39EE7A3136), UINT64_C(0x28FF74A3C80837A7),
+          UINT64_C(0x0A932C81B75677A8), UINT64_C(0x53D93D35C29F7F54)},
+         {UINT64_C(0x284971943AC6D6AE), UINT64_C(0x220B50C702D7F721),
+          UINT64_C(0xDA33488CC1FC3346), UINT64_C(0xDD86F1ECF9ED4655),
+          UINT64_C(0xAC1853B2632DB517), UINT64_C(0x3736EA466F0C3545),
+          UINT64_C(0x3D92A7782D45B919), UINT64_C(0x5D9F56743D09DB84)}},
+        {{UINT64_C(0x00D301679AF99589), UINT64_C(0x0B5213F3C5B73D12),
+          UINT64_C(0x8A5A80AD39E67DBF), UINT64_C(0xE2C58969F837F8F4),
+          UINT64_C(0x9DDF8923D4EE1D6C), UINT64_C(0x1AE3E0AF33DF50BB),
+          UINT64_C(0x7FBAA73B4E518813), UINT64_C(0x1CE6C9B65F7BB71D)},
+         {UINT64_C(0xB12B057D66EB4A4E), UINT64_C(0x1C88E248382599E5),
+          UINT64_C(0x5384C3E84E5081A6), UINT64_C(0xB7992A1C9E4ABC53),
+          UINT64_C(0xC0582520044BF086), UINT64_C(0xE14418EBA7DB6B58),
+          UINT64_C(0x312673ADC31464E1), UINT64_C(0x27DEAEFF5FEAD6E3)}},
+        {{UINT64_C(0x55C37C50ADE2EA17), UINT64_C(0x1E1596544F0C5622),
+          UINT64_C(0x6C96793CF2BD8529), UINT64_C(0x2B5624195AF8E077),
+          UINT64_C(0x47F6A01952A39000), UINT64_C(0xC364F4D4163EFA85),
+          UINT64_C(0xD3116C3358BE9780), UINT64_C(0x4DBED7419F098FF2)},
+         {UINT64_C(0xB0DD4831486D49D8), UINT64_C(0x84A0C54975913B1C),
+          UINT64_C(0xB4A793263E2FA892), UINT64_C(0x9E24FB33F8E1FCD2),
+          UINT64_C(0xE9E35346BB163DE8), UINT64_C(0x04B20FA159EA0DF0),
+          UINT64_C(0xB4D02BC4B8742A03), UINT64_C(0x081FA0376C2841D9)}},
+        {{UINT64_C(0x514F4ACBFBA142D2), UINT64_C(0x996B6E0394E5F474),
+          UINT64_C(0x5223E730CE24CA53), UINT64_C(0x527581EA4F5B06A0),
+          UINT64_C(0x31E6DD1A6A33B429), UINT64_C(0x93A4E1C1F6375ACD),
+          UINT64_C(0x6C726FF3949ED4F7), UINT64_C(0x4E416E72F8F882F8)},
+         {UINT64_C(0x26FEC8642FD16999), UINT64_C(0x41DF4A57ABA0E3A7),
+          UINT64_C(0x15E54D3FB4FAF8AC), UINT64_C(0xE4318BDC6F3F282A),
+          UINT64_C(0x07C320CDF014698B), UINT64_C(0x71B738303468CBCE),
+          UINT64_C(0x1FD1AF59D640CFD9), UINT64_C(0x0CF151AED34059EF)}},
+        {{UINT64_C(0xB7107CE7A2B3DF22), UINT64_C(0xC1A4E08B90B45D70),
+          UINT64_C(0xC86AFB665E20257F), UINT64_C(0xDD33CC9611CE1970),
+          UINT64_C(0x44C20C485F20F903), UINT64_C(0x87FECE7F936A4522),
+          UINT64_C(0x867932E942105DEA), UINT64_C(0x31AEE1F547E2F4AB)},
+         {UINT64_C(0x4CE020DF55B1D8A3), UINT64_C(0x5841BB8C9B33E4D6),
+          UINT64_C(0x99C6EF8407E5C052), UINT64_C(0x0F6F0DEFBB139F7B),
+          UINT64_C(0x5E608798366377C5), UINT64_C(0xDE403CF3101AFF93),
+          UINT64_C(0x164B26D14B69DBFC), UINT64_C(0x190A876646229B9E)}},
+        {{UINT64_C(0xAC7B1FA185A61975), UINT64_C(0x975ACE540A3C0E98),
+          UINT64_C(0xB80D922D173A29D7), UINT64_C(0x71AA4F0C955E0187),
+          UINT64_C(0xDB3716B93556BA4D), UINT64_C(0x81E375E0248C6ECE),
+          UINT64_C(0x4CCE97876AFD16A4), UINT64_C(0x67A717E803564374)},
+         {UINT64_C(0xE0FD3F7DE94E08C5), UINT64_C(0xDA2A587271CA98AD),
+          UINT64_C(0x34A8EAD7BA15DEF3), UINT64_C(0xD83A9987C8EE8AC0),
+          UINT64_C(0x64167A82D9CE22C6), UINT64_C(0x7EE988EDE859A064),
+          UINT64_C(0xD8B9D231603E188F), UINT64_C(0x40C992660248F567)}},
+        {{UINT64_C(0x4059BE67387928A0), UINT64_C(0x5063C31E1412407D),
+          UINT64_C(0x78ABE79BC37FB4AD), UINT64_C(0xA9A4E76A0DF5F4D6),
+          UINT64_C(0x1F4CCCFCF0C3C9C8), UINT64_C(0x44A6D446BB2D774F),
+          UINT64_C(0x1B77494E4991F3D4), UINT64_C(0x41F3A74CC5908739)},
+         {UINT64_C(0xB371AB6CC6B26A88), UINT64_C(0x01E7AD15454963FE),
+          UINT64_C(0x12A6652C43898DC2), UINT64_C(0xC9CFD8BA1EE1BBD9),
+          UINT64_C(0x22037206C5437711), UINT64_C(0x327F948D062E81FD),
+          UINT64_C(0xA2FF4F469C87B698), UINT64_C(0x1E83A7F94EB0808E)}},
+        {{UINT64_C(0xE2F16272B80F91DF), UINT64_C(0xA0265684B186EBD1),
+          UINT64_C(0x207DAD692E7D6A85), UINT64_C(0xEFABE500F27F03D4),
+          UINT64_C(0xEDD0F81D0244072F), UINT64_C(0x4CA26C63944AEDEA),
+          UINT64_C(0xD8D01D46E874F15F), UINT64_C(0x73E39EED5A1130AE)},
+         {UINT64_C(0xED9953FA0E5EC45F), UINT64_C(0x0F62DDD4B4D672DA),
+          UINT64_C(0x5115FE6F89507053), UINT64_C(0x58968A298354B66C),
+          UINT64_C(0xB37024D572ADF8E8), UINT64_C(0xD7EC1D4A4D98186B),
+          UINT64_C(0xB5B41AD67F418AC8), UINT64_C(0x2C0959C568B72616)}},
+    },
+    {
+        {{UINT64_C(0x1DD33DD599EF1F4E), UINT64_C(0x2F2951AF3CB93CF3),
+          UINT64_C(0x7BB75D5798F20535), UINT64_C(0x64C36788BF95DDDE),
+          UINT64_C(0x74B787C95E211976), UINT64_C(0xB464F818BE8D9E4F),
+          UINT64_C(0x2631F72191BEB188), UINT64_C(0x3581CB615EC2BFD7)},
+         {UINT64_C(0x56A35D67C41A6EF1), UINT64_C(0x5895E76EF69A3D49),
+          UINT64_C(0x03192D2F8B97FDA2), UINT64_C(0x11240C0BA0A94FA9),
+          UINT64_C(0x4DC27F38BDDB31E7), UINT64_C(0x038AE33D69A0D11A),
+          UINT64_C(0x9F3A13EE857974B5), UINT64_C(0x2ACA765E0222E516)}},
+        {{UINT64_C(0xFA06EFB5D2421565), UINT64_C(0xC199817D8AB1719F),
+          UINT64_C(0x44325F2F48C3D0C4), UINT64_C(0xDD6C11655A80BBEF),
+          UINT64_C(0x3079192402A61986), UINT64_C(0xEBD53E2A3A7E4B1E),
+          UINT64_C(0xDD3E7657C7AB55DB), UINT64_C(0x43EA2DB27A09B71B)},
+         {UINT64_C(0x9002748E0A3AE7D5), UINT64_C(0x0590F7C65B23AE62),
+          UINT64_C(0x44EE4FA64A2305B0), UINT64_C(0x914591BDABA335D8),
+          UINT64_C(0x5888289FAB32FC4D), UINT64_C(0xA5FED8476E19B810),
+          UINT64_C(0x255C3F9917DB4A48), UINT64_C(0x0431EEB86F25750A)}},
+        {{UINT64_C(0xB398FF44D0A38E64), UINT64_C(0x5FBAD7B905E41904),
+          UINT64_C(0xBA57597B357B82CD), UINT64_C(0x18BE4419A929E6BC),
+          UINT64_C(0x3F3F6D35A98B452D), UINT64_C(0x27425C5F58D546DA),
+          UINT64_C(0x61A1BBDAC446022B), UINT64_C(0x3EA60775689D15AF)},
+         {UINT64_C(0xDD0970423F8C1B93), UINT64_C(0x951AAC5631E09914),
+          UINT64_C(0x99C77D0F647CCFAC), UINT64_C(0xF3CB5C7A6102DEE7),
+          UINT64_C(0x2C1CAACBF9484E59), UINT64_C(0x7EBD7135405766AC),
+          UINT64_C(0x267C325CB0C58371), UINT64_C(0x48FDF94DC2F52776)}},
+        {{UINT64_C(0xF64427884EE6EE71), UINT64_C(0x49D6F157C09D8FAF),
+          UINT64_C(0x159F7AA23C93BF65), UINT64_C(0x992387CF0B5464C4),
+          UINT64_C(0xFC15173BDEDA026E), UINT64_C(0x90B860E6C989FD74),
+          UINT64_C(0xCC08BC0C2E98CC2D), UINT64_C(0x089D2D48C85BC472)},
+         {UINT64_C(0x9087C7463953E507), UINT64_C(0x54F480A390F97B85),
+          UINT64_C(0x83D619939F9CC5D0), UINT64_C(0x0C55DE44C1970015),
+          UINT64_C(0xC45D5EA1DF669193), UINT64_C(0x5DEFF1E7FDCF23AB),
+          UINT64_C(0x2B38D4792A211F3D), UINT64_C(0x099279253E31284F)}},
+        {{UINT64_C(0x30454C23C38EFF1A), UINT64_C(0x706FD470FEC8424E),
+          UINT64_C(0xA216319733467A08), UINT64_C(0x7C8A4D4380E6DB64),
+          UINT64_C(0x505D89BFE9AB850B), UINT64_C(0xC10CFEFF5E8DF0CB),
+          UINT64_C(0x3EB45DF716304B39), UINT64_C(0x3AAE23FE527C325B)},
+         {UINT64_C(0x65DBB826C153DA5D), UINT64_C(0xB8EC2676FFCCCC80),
+          UINT64_C(0x4538FBAB1C8BA8C2), UINT64_C(0x6FA94E5266FD20CA),
+          UINT64_C(0x480D857EA9B7513F), UINT64_C(0xDB1C611C82814908),
+          UINT64_C(0x0F1F21FF53F81AA5), UINT64_C(0x20696D2DE1A47218)}},
+        {{UINT64_C(0xF31AA6227AB6E8D8), UINT64_C(0x3D12F32B686BB479),
+          UINT64_C(0xACA48C8A3BF6E8F8), UINT64_C(0x39D4F322FCECFCC0),
+          UINT64_C(0xCBD2E493C8BBCADE), UINT64_C(0x18E2A8E75C695155),
+          UINT64_C(0x4047ED16DF022D32), UINT64_C(0x1040565ECD6CDB7C)},
+         {UINT64_C(0x1B72EA4764515BD6), UINT64_C(0x0DC58AE89320C9CB),
+          UINT64_C(0xEE53907B5310CDBD), UINT64_C(0x7C2C62A154FE7719),
+          UINT64_C(0xA04150808AE9C75E), UINT64_C(0x2BFC37801E8A0123),
+          UINT64_C(0xBBCB26FECE6823AD), UINT64_C(0x5E4B59A0D61B79A7)}},
+        {{UINT64_C(0x8C93F97590C0C1CA), UINT64_C(0x0871A9018F518A16),
+          UINT64_C(0x6477E523964CACE1), UINT64_C(0xE52D22C8A77046AC),
+          UINT64_C(0x4FE86722F9911C69), UINT64_C(0x8B03B1960E21642C),
+          UINT64_C(0xDD3523EFEEA31DF9), UINT64_C(0x4D4EDD43D896AE4F)},
+         {UINT64_C(0xEB5C2968B8CB58A3), UINT64_C(0x5C6C5B639AF9580A),
+          UINT64_C(0x20759CEB3A166247), UINT64_C(0x812FBE1B0F964024),
+          UINT64_C(0xBB295EBA816BFC2C), UINT64_C(0x355256260BC4C607),
+          UINT64_C(0x411799ED7D134609), UINT64_C(0x7ECBDA128615FBAA)}},
+        {{UINT64_C(0x45EB69B3E7C6C149), UINT64_C(0x9D414F65F40D6D9C),
+          UINT64_C(0x3FC4D2A66AD70201), UINT64_C(0x039F56D22E2EB20A),
+          UINT64_C(0xAE25D395CE4F7AB7), UINT64_C(0xD69AE8511B640F4F),
+          UINT64_C(0x912BA30CCF08596A), UINT64_C(0x7C552E1CFB7DA74A)},
+         {UINT64_C(0x57F7B3CC298071AC), UINT64_C(0x7B38B1865029FCFB),
+          UINT64_C(0x43D0A21DDBD1AFDA), UINT64_C(0x2165A125CFDCE1D5),
+          UINT64_C(0xC2422D76099E931C), UINT64_C(0x3940B3F9D220528D),
+          UINT64_C(0xA530E1E05892DDF1), UINT64_C(0x5D1060BBC5EDB806)}},
+        {{UINT64_C(0x03C39CB0DA19A7BF), UINT64_C(0x9227C95735061C5A),
+          UINT64_C(0xB86AE697E6733C8E), UINT64_C(0x4790AB411D91D056),
+          UINT64_C(0x82599E6E91944712), UINT64_C(0xE6EEAB302126986F),
+          UINT64_C(0xF6CF67704C7C86DD), UINT64_C(0x0962C8E081C7F520)},
+         {UINT64_C(0x7275701A3E672910), UINT64_C(0xCC253D25555D4EAA),
+          UINT64_C(0xC87804A50F307D6F), UINT64_C(0xA6C402695E6E364D),
+          UINT64_C(0x5A4DB5779DE73155), UINT64_C(0x8513BC0545B03B16),
+          UINT64_C(0x7EDB8B9F5CB1A5DF), UINT64_C(0x5686C42AD4905C9B)}},
+        {{UINT64_C(0x1B9368C4C1288660), UINT64_C(0x5F83CD353BCEFEDB),
+          UINT64_C(0xB4656091C33CD356), UINT64_C(0x2284D9074920232F),
+          UINT64_C(0x87816B0695B4CBCA), UINT64_C(0xA35A7191EF2D4546),
+          UINT64_C(0xF9E71B1D296E871A), UINT64_C(0x72A7B9C35330AF13)},
+         {UINT64_C(0xAC61BC6F401BE940), UINT64_C(0x0634D9D70DD2350E),
+          UINT64_C(0xE27626F00CE45A7C), UINT64_C(0x9B38569F3493FA74),
+          UINT64_C(0x3F23C7036EC9DC13), UINT64_C(0x8BF8FF129C62D952),
+          UINT64_C(0x5D53A2D258132258), UINT64_C(0x1FC830A533A57773)}},
+        {{UINT64_C(0xAE58A3B90F294E33), UINT64_C(0xF12E0FC4AEF8F84C),
+          UINT64_C(0x78C5BDDE649D16FF), UINT64_C(0x12645CA18827C75F),
+          UINT64_C(0x1288C5667F97ABED), UINT64_C(0x0CAD8E5DC1E2781E),
+          UINT64_C(0x24B69A1DBC92FF24), UINT64_C(0x7068305D545221B2)},
+         {UINT64_C(0x7A9A3F7C40F6201C), UINT64_C(0x5B7E5FA25EFACD4C),
+          UINT64_C(0x85FACB2ED6275627), UINT64_C(0xDD0FBA635BBE856B),
+          UINT64_C(0x030826B1B2E456FD), UINT64_C(0x0FF397E85F898479),
+          UINT64_C(0x68ECAA4EBFAE4984), UINT64_C(0x4EB40475CAC01FD8)}},
+        {{UINT64_C(0x141804F12BC4C766), UINT64_C(0xD84A76DAC8FB07C1),
+          UINT64_C(0x29376B5BC83676A9), UINT64_C(0x3D3A00EB3749490C),
+          UINT64_C(0xA5EB6CF7C5F439B6), UINT64_C(0x16266439EA156432),
+          UINT64_C(0x1CF83E2503161D4B), UINT64_C(0x37603F2295E3E8A3)},
+         {UINT64_C(0x62EE26ECE920EDDA), UINT64_C(0xCD7734A30FC4DF7D),
+          UINT64_C(0x0EF3E6C9D7FBCA6B), UINT64_C(0xCF2460DA87F1873A),
+          UINT64_C(0x005110721895CF1C), UINT64_C(0xB92A8E934F11854B),
+          UINT64_C(0x985562510C665D9D), UINT64_C(0x3CD64282174A7FF2)}},
+        {{UINT64_C(0x39243EA7B9F9E43F), UINT64_C(0x973D4582270D2DB1),
+          UINT64_C(0xEB8B50330541FF4C), UINT64_C(0xED5F52A09F309D70),
+          UINT64_C(0xE978FBAE123F45B6), UINT64_C(0x0A79B6930015781D),
+          UINT64_C(0xC5DA0CCF5C9A03FB), UINT64_C(0x1C6E4F58F16D4CE1)},
+         {UINT64_C(0x09674C2E89CB89DB), UINT64_C(0xB3D147B1C94A4D96),
+          UINT64_C(0x936F3F8827D24C12), UINT64_C(0x44E8C741A8C4BA25),
+          UINT64_C(0x249A28AE920FDDE8), UINT64_C(0x274F2B4E229B2C19),
+          UINT64_C(0x94C203EEFF4EC64D), UINT64_C(0x53284B1F43358F20)}},
+        {{UINT64_C(0xE3AB8BAADCCFF94D), UINT64_C(0xF038D9A5F97449EE),
+          UINT64_C(0xE4A45DCF5EF19F06), UINT64_C(0xFFF8AD9A17EF6368),
+          UINT64_C(0x0CEB6B85ADDF0B6E), UINT64_C(0x6C7B60B196AC1BA3),
+          UINT64_C(0xED84F897A25F77F8), UINT64_C(0x1EE6167155886360)},
+         {UINT64_C(0x08B44F387BA18315), UINT64_C(0x8A9FFAE9F3D0E0C4),
+          UINT64_C(0x82807E7DE5886E61), UINT64_C(0xF15402F351E94C78),
+          UINT64_C(0x45969D9F96A8AF2E), UINT64_C(0xA8E0ED89F4956ACC),
+          UINT64_C(0xB5334DECF2D21764), UINT64_C(0x2B274E2F861C26B7)}},
+        {{UINT64_C(0xC2E3A80299E77118), UINT64_C(0xFFE72B90C6DE1B4D),
+          UINT64_C(0xCCB21D53E29458FB), UINT64_C(0xD233AF10511F0279),
+          UINT64_C(0xC301B7EAB9B907B3), UINT64_C(0x59DB1F45D7B55600),
+          UINT64_C(0x7173318B3A386844), UINT64_C(0x403ABED7D9AB6F85)},
+         {UINT64_C(0x0CFE2CFC14698FC9), UINT64_C(0x40A4198934CE5939),
+          UINT64_C(0x0F5FA8499ABA363C), UINT64_C(0x99C045AB8CC887D9),
+          UINT64_C(0x1E7563F5E8DF250B), UINT64_C(0x2624A5DCD3B78407),
+          UINT64_C(0x7D80CA6D1954A966), UINT64_C(0x789BD6854C8995C2)}},
+        {{UINT64_C(0xBA8D937683A05A40), UINT64_C(0xDD238C0E0572668D),
+          UINT64_C(0x5B41446FE0AD7EAA), UINT64_C(0x6D1AD6B463F9C64D),
+          UINT64_C(0xF5FE99AA8830CE1C), UINT64_C(0x5BB1E7DFF2B77D66),
+          UINT64_C(0x7382CA41F7E63961), UINT64_C(0x56D6F922555032C4)},
+         {UINT64_C(0xF9EAA991AC45C214), UINT64_C(0x2A4B717266146EA4),
+          UINT64_C(0x5667D61FD14553F5), UINT64_C(0x996E8D8B3F7D071A),
+          UINT64_C(0xCB023EA5E2229B97), UINT64_C(0xA446A954398EA3C6),
+          UINT64_C(0x733E3D79AAF9ABF2), UINT64_C(0x2B4FAE8E47503BBD)}},
+    },
+    {
+        {{UINT64_C(0x24E9082DEBEFDC12), UINT64_C(0x86997EA924FDCD6E),
+          UINT64_C(0x1512918803145F3F), UINT64_C(0xC829D42CA16A167D),
+          UINT64_C(0x55C0A31CFDFACB6F), UINT64_C(0x1A728DB45B93FB73),
+          UINT64_C(0x7A187912467A55D2), UINT64_C(0x7934C39C1E8843D3)},
+         {UINT64_C(0x688D9927F35497AA), UINT64_C(0x2176E4E45A745926),
+          UINT64_C(0xA60F1ED74FF0DA29), UINT64_C(0xE1EF2081E66F5F74),
+          UINT64_C(0xCDE36E799EE53EFF), UINT64_C(0xFCD1D1BF855244FF),
+          UINT64_C(0xD55CDB2E464A4040), UINT64_C(0x39BC13F11E64BB0B)}},
+        {{UINT64_C(0x828B353965D70320), UINT64_C(0x921019C6954FE3CC),
+          UINT64_C(0xC2B142C839DFC1EA), UINT64_C(0x7A619A1CBAD22A43),
+          UINT64_C(0xE08FA3AED827C06E), UINT64_C(0xAC645EFF88BAA42F),
+          UINT64_C(0x514723BA294F3582), UINT64_C(0x6FD17829AA355FD2)},
+         {UINT64_C(0x6366853C11D05C79), UINT64_C(0xE225500B17D185C9),
+          UINT64_C(0xAEEC2174FA47EADA), UINT64_C(0x9737ECC06666332F),
+          UINT64_C(0xD0638BC9E33AA72A), UINT64_C(0x4889AB0DF6CF4E24),
+          UINT64_C(0x2912E4A0039E3190), UINT64_C(0x411CFB3CC035D955)}},
+        {{UINT64_C(0xE59D745B0B3BD0D0), UINT64_C(0x62AB04F90653222F),
+          UINT64_C(0xE6421BB743E0EC6C), UINT64_C(0x6F3E477015E65B27),
+          UINT64_C(0x90FB7585D82704E6), UINT64_C(0xCF7FD882E9A129DF),
+          UINT64_C(0xFA8E1B9DD3D0023A), UINT64_C(0x12861B4ADE4307E5)},
+         {UINT64_C(0x9DC0D3D9B86CF424), UINT64_C(0xCFC0A60FC2DBE006),
+          UINT64_C(0x5933BAA82B9F470A), UINT64_C(0x112F153CCAB8113B),
+          UINT64_C(0x1AEDA34056B279C1), UINT64_C(0x1408A037BE13DFA3),
+          UINT64_C(0x10D90850C06D3674), UINT64_C(0x3DB6999EAF30AE4A)}},
+        {{UINT64_C(0xAB96F01356348084), UINT64_C(0x403955438C167F42),
+          UINT64_C(0xE1385C9F2280FEB8), UINT64_C(0x3667162576D2C4AA),
+          UINT64_C(0x76E313444D4D667B), UINT64_C(0x906B5973EF0B171D),
+          UINT64_C(0x229BCCFAEBCCA769), UINT64_C(0x36462E608A9A561C)},
+         {UINT64_C(0xFD5116FD4FE428A6), UINT64_C(0xE92C088AF3846007),
+          UINT64_C(0x8AC5F8BE218A0D1E), UINT64_C(0x59A97369DDF329CE),
+          UINT64_C(0xEA2D262ECAB484D5), UINT64_C(0x6F95E17ABD10F3EC),
+          UINT64_C(0x6FFBEC38E08DDB7E), UINT64_C(0x55E8DE216446BB5D)}},
+        {{UINT64_C(0xA5D6141A0CB565AE), UINT64_C(0x8786B494F9091FE2),
+          UINT64_C(0x89B1900F1D6C9279), UINT64_C(0x425AD0F5C21934C0),
+          UINT64_C(0xF781FBF6E2201D3E), UINT64_C(0x7210043361E0191D),
+          UINT64_C(0x186A39995B3E5491), UINT64_C(0x6DF058E695E49235)},
+         {UINT64_C(0x82D37E0234559E42), UINT64_C(0x4AE4A8ACA0E7F1D4),
+          UINT64_C(0x9941A84CB34AAED2), UINT64_C(0x4DA92D325484ECE0),
+          UINT64_C(0x6F1FB58CEB7C740E), UINT64_C(0xEC6FAE864965B6CC),
+          UINT64_C(0x179E84801CEFF73B), UINT64_C(0x58ED2BB372724658)}},
+        {{UINT64_C(0xD6FA5A23AC30848E), UINT64_C(0xFE58E2D353705571),
+          UINT64_C(0x43368F7247EF14E7), UINT64_C(0x7DDA0F48694E6BB3),
+          UINT64_C(0x0DFA9BF9E9B7CEF9), UINT64_C(0xA3BD4B239803203F),
+          UINT64_C(0x3F0EAF0DAA1B561C), UINT64_C(0x6E8678F311C56C8F)},
+         {UINT64_C(0x4E574AFBB4272D39), UINT64_C(0xDD9622A926A589E0),
+          UINT64_C(0xCF41D02818E2B544), UINT64_C(0x7FE65A44479B717E),
+          UINT64_C(0x38D34C1FABDE58B1), UINT64_C(0x4A8B1A4920E02EE5),
+          UINT64_C(0x6C2C5AF126D927F1), UINT64_C(0x08E02884CE4D534A)}},
+        {{UINT64_C(0xF47477733C9034CE), UINT64_C(0x92B208B8A8CDA587),
+          UINT64_C(0xDDB5A865A8A5D6F6), UINT64_C(0xE3C3150E09FFBBCA),
+          UINT64_C(0x120720D671780DEE), UINT64_C(0x6977608D1CB5E7E7),
+          UINT64_C(0x52261203DBE5697A), UINT64_C(0x1C88E9C4184E7B19)},
+         {UINT64_C(0x6BE6C1909927BFC6), UINT64_C(0xA1452123F431A9E8),
+          UINT64_C(0x62BC5BF4B949ED5C), UINT64_C(0xD57633C02BCF732C),
+          UINT64_C(0xA3723F7C0AE4563A), UINT64_C(0x5449AFCE031958EA),
+          UINT64_C(0xE3BF9985A6580D6F), UINT64_C(0x34B0D3206B471AA6)}},
+        {{UINT64_C(0xEE28E9FC46BF771F), UINT64_C(0xDCD3C06EF23B38E6),
+          UINT64_C(0x894E78648D62D86B), UINT64_C(0xF226C4DAC0209FC3),
+          UINT64_C(0xEEB85A816EC4D3B1), UINT64_C(0x837F8A033ABEC007),
+          UINT64_C(0x622C40BC18C1A3EA), UINT64_C(0x49A59CB2279C341A)},
+         {UINT64_C(0xC3833ABAD38DC85B), UINT64_C(0xC512B7213E303976),
+          UINT64_C(0x80CB1ADFA43BA4BF), UINT64_C(0x6C8A15748FAD6957),
+          UINT64_C(0xB5305AE5A0DC03A1), UINT64_C(0xA63FE0FCA78753F7),
+          UINT64_C(0x81C2BCE17D4EB934), UINT64_C(0x4ED73812AD66F6FB)}},
+        {{UINT64_C(0xAC25AB81CA09A5D2), UINT64_C(0x1E000EFCB6EE3D0D),
+          UINT64_C(0x7EDA899F148738A5), UINT64_C(0xEE70DFB44ABD3CA0),
+          UINT64_C(0xA9F18AF3371F70BD), UINT64_C(0xA2D64FE430E796BC),
+          UINT64_C(0x77E4219038943DC4), UINT64_C(0x35AEB8A206EB5CFC)},
+         {UINT64_C(0x95D36C2EDA26DB57), UINT64_C(0xEEF40F183A546E88),
+          UINT64_C(0xAD4D846BE5D07294), UINT64_C(0x80BE6BA895158FF2),
+          UINT64_C(0xC15AC73FC85F84EA), UINT64_C(0xBAFC39522044951E),
+          UINT64_C(0xEA750E8DA14C51AE), UINT64_C(0x1817F004524FC6FA)}},
+        {{UINT64_C(0x9C835DB314555CD7), UINT64_C(0x76A92FC0299196F6),
+          UINT64_C(0x35CDF54D6618F1A6), UINT64_C(0x4B77E5A0B3260002),
+          UINT64_C(0x321C2EAFA837BDB2), UINT64_C(0x559AE831D5D4A743),
+          UINT64_C(0x0EB18D7FE116E5CC), UINT64_C(0x3FE7D2921945E60E)},
+         {UINT64_C(0x4CA61AEF649D5551), UINT64_C(0x7C3CFBFF95257CC3),
+          UINT64_C(0x8AF04A7466A5D03B), UINT64_C(0xA0C95ADEFC3B143A),
+          UINT64_C(0x515258CEA61B0143), UINT64_C(0xF1959D4B43A147BD),
+          UINT64_C(0xAAE3EF4C43B761E4), UINT64_C(0x731F5D9EBB8BEA3A)}},
+        {{UINT64_C(0x483D5F556283C8DA), UINT64_C(0x0CE48F6FC067AF22),
+          UINT64_C(0xBA767432CFB3FEF8), UINT64_C(0x1AD7F214463510B2),
+          UINT64_C(0xDCFDB1A77D448527), UINT64_C(0x3EEFAEDD119BA281),
+          UINT64_C(0x9D5F25467B6597AB), UINT64_C(0x03515E65B8AE2AC1)},
+         {UINT64_C(0x91A17476A768A2E9), UINT64_C(0x921B21AA1C0B8745),
+          UINT64_C(0xE1B0AB68D1636FB2), UINT64_C(0x35AF62C10A933BC5),
+          UINT64_C(0x24432C7B6CCA56F8), UINT64_C(0x88976C8FE142C3D6),
+          UINT64_C(0x1BAC1E5DC0EEC621), UINT64_C(0x2760B03A7EB64467)}},
+        {{UINT64_C(0xCEFCAB97535D9B1E), UINT64_C(0x2DDF1964EFC85889),
+          UINT64_C(0x62276E0267FC56FE), UINT64_C(0xD33D4E1F9EA27125),
+          UINT64_C(0xD11F07263EAB0BFD), UINT64_C(0xCEF5BD00B4E5A283),
+          UINT64_C(0x107CB2FBA5ECFF20), UINT64_C(0x1D110BEC85321266)},
+         {UINT64_C(0x5CD67BCAB9C05938), UINT64_C(0x023B2FD6EC9ED6BA),
+          UINT64_C(0x473FEF71C44D68BE), UINT64_C(0x6DB457A124006876),
+          UINT64_C(0xA56C47E35979901A), UINT64_C(0x971F5FE7006B786D),
+          UINT64_C(0xD894B21C8E3630E4), UINT64_C(0x56B8610DFF0AD8ED)}},
+        {{UINT64_C(0xDC5748066A9AD8B6), UINT64_C(0x39B1553AA33AA074),
+          UINT64_C(0x55233DAA71EF2A51), UINT64_C(0x6186F6F0CCC11692),
+          UINT64_C(0x949F7A8D51E7F2B8), UINT64_C(0x9ED94F29BF2FF9B7),
+          UINT64_C(0x54ED16DA3B90382D), UINT64_C(0x065D09754014335A)},
+         {UINT64_C(0x95DA36F27B737144), UINT64_C(0xE0A7C458DDD9C1E0),
+          UINT64_C(0x0DCE291C69B64234), UINT64_C(0xF943B7278689DEF3),
+          UINT64_C(0x1CB8375C24F80B28), UINT64_C(0x60EFAA298902EC28),
+          UINT64_C(0x036BD90F673F34AF), UINT64_C(0x687B36FB02B1A208)}},
+        {{UINT64_C(0x1704A5980C031EE5), UINT64_C(0x325E60968288EC60),
+          UINT64_C(0x588F58A116EFC6F9), UINT64_C(0xA1EA547F2C520574),
+          UINT64_C(0x2633CB8F7FD9F40A), UINT64_C(0x736D8CFA3AA1C0DD),
+          UINT64_C(0x189E74DA92B3300E), UINT64_C(0x6C92BE1892172793)},
+         {UINT64_C(0x3B67DADFC6E25307), UINT64_C(0x170BF45CCCF961F7),
+          UINT64_C(0xF07F48B5B2C0629E), UINT64_C(0xACB40994974F7169),
+          UINT64_C(0x29AD746C871177C5), UINT64_C(0x1AD449E2E3AE7857),
+          UINT64_C(0xAFB63CB9AE9BE21F), UINT64_C(0x0E6C676CB08FAEEC)}},
+        {{UINT64_C(0xA60E0D9F60CABC21), UINT64_C(0xBDFC43CF8BA79177),
+          UINT64_C(0x8362D84B7BEECCF8), UINT64_C(0x0CC9E6BA29F8FBE4),
+          UINT64_C(0xCA90958A4801BF01), UINT64_C(0xCB84005EF13C6356),
+          UINT64_C(0x9CA6408B90AE5AB9), UINT64_C(0x293582F2E668357C)},
+         {UINT64_C(0xAA3A680AFFCEB4F6), UINT64_C(0x19CE2D54F18508A5),
+          UINT64_C(0x74027BA5F430A62C), UINT64_C(0x7248CB8EDCB846D8),
+          UINT64_C(0x608F15E83D3779E2), UINT64_C(0x21B8A43852BB6633),
+          UINT64_C(0x64B4C82EA95BDE4F), UINT64_C(0x75169F73CA13D8B1)}},
+        {{UINT64_C(0xDC6C53C97435D441), UINT64_C(0x621030CD630885A0),
+          UINT64_C(0x9F761C574CA9BBE8), UINT64_C(0x3CBD7B5189453166),
+          UINT64_C(0xE80014E453EED18D), UINT64_C(0xAB31FE34FD48C287),
+          UINT64_C(0xB908AA720B1F2C06), UINT64_C(0x2A849D2EDA592359)},
+         {UINT64_C(0x688DAA1B9B7DA75A), UINT64_C(0x779B963B42D4659B),
+          UINT64_C(0x44BCCBE10DA7F5E1), UINT64_C(0x96F4FE4E0E283A19),
+          UINT64_C(0x00239F780F532628), UINT64_C(0xA8E1A47FB2BD3F1E),
+          UINT64_C(0x23D8F15049D504AD), UINT64_C(0x36F4D7ADA818FB1A)}},
+    },
+    {
+        {{UINT64_C(0xED7AAC766FA6665A), UINT64_C(0x593FD44FCD7ABC00),
+          UINT64_C(0xB70DAA5DE5940EBE), UINT64_C(0xBBD56469E6CEB5B5),
+          UINT64_C(0x17B54A104EC6EC19), UINT64_C(0x2411F294F288553F),
+          UINT64_C(0x0108208281534194), UINT64_C(0x3CFFCF3F98F85E1E)},
+         {UINT64_C(0x0B82B0FD07E62220), UINT64_C(0x99B5CC1950F91B0E),
+          UINT64_C(0x2C60F9383AE5C675), UINT64_C(0x6A25B099F42E3EEA),
+          UINT64_C(0x498948A8329D208C), UINT64_C(0x45226E626A343691),
+          UINT64_C(0x053643F68B8E9C2D), UINT64_C(0x56E1E5644A938DA8)}},
+        {{UINT64_C(0x144DA6782242A19C), UINT64_C(0x0860A384C072E8A2),
+          UINT64_C(0xD782A875318A08B7), UINT64_C(0xAC99802E8D318C54),
+          UINT64_C(0x329437A2307DA17A), UINT64_C(0x35656A126696DC0F),
+          UINT64_C(0xC5A9914AE2152828), UINT64_C(0x3BCBD2FC841C814B)},
+         {UINT64_C(0x7D2FCF55590C6FC2), UINT64_C(0xCCCF43156197DABE),
+          UINT64_C(0xF4701C360E2EB665), UINT64_C(0x9D4F5A7CE9400A11),
+          UINT64_C(0x815C62182F49F529), UINT64_C(0x264A9BEFB015260A),
+          UINT64_C(0x279A03B8177E94AB), UINT64_C(0x115481E6F6E2518A)}},
+        {{UINT64_C(0x2FE0C370BB65B1C1), UINT64_C(0x620FC63EAABD8550),
+          UINT64_C(0xA6EDA03F9660303A), UINT64_C(0xC15FD5C5802B6899),
+          UINT64_C(0x6DFBBCA530FD19A1), UINT64_C(0x2BC0DDA1C5394AAB),
+          UINT64_C(0xFC6196340CF41B04), UINT64_C(0x64DDF00E7DBCB198)},
+         {UINT64_C(0x78B289F692602D0B), UINT64_C(0x123CC6A5E4A24732),
+          UINT64_C(0x5F2DB53B70913278), UINT64_C(0xD55AE856C27EAC92),
+          UINT64_C(0xCC82E112085696BA), UINT64_C(0xA421C17967F01774),
+          UINT64_C(0x7DEEF7FDE602BAF7), UINT64_C(0x00A730B335E94ADA)}},
+        {{UINT64_C(0x586D8DC81DAC6F8B), UINT64_C(0x89A56AC618F1FE48),
+          UINT64_C(0x51231A77F2A8BFA5), UINT64_C(0xD36BE5FECA562E8C),
+          UINT64_C(0x5DFE328F9A6268D9), UINT64_C(0x3110144C781FA0B4),
+          UINT64_C(0x6A18A1907ACBE702), UINT64_C(0x68F941C2D70C4B5F)},
+         {UINT64_C(0xCE3C1DE30A19654D), UINT64_C(0xCE96C00049AD2799),
+          UINT64_C(0x9AD7B0F306E913EE), UINT64_C(0x625C4FC1472A1C37),
+          UINT64_C(0x1E25E3AC967BBD4D), UINT64_C(0xE516CD882042C162),
+          UINT64_C(0x1483A10EC3197E40), UINT64_C(0x60815A8A84E5FAED)}},
+        {{UINT64_C(0x3413EEA8D1313B07), UINT64_C(0x4B6C2CCF49BC14B0),
+          UINT64_C(0x56C78C84C33BE839), UINT64_C(0x00980F4F0DC481C6),
+          UINT64_C(0xA34D712C5E96BAE7), UINT64_C(0xEA386C4AEB0574F5),
+          UINT64_C(0x834334AB6BB4DC04), UINT64_C(0x140F220947404A42)},
+         {UINT64_C(0x970B7DE3CC6F8D14), UINT64_C(0x7C9A38E9CCD6A840),
+          UINT64_C(0x7C1C4638A63FAF90), UINT64_C(0x36AFEA841F10834E),
+          UINT64_C(0xA9AA4A1515765F2A), UINT64_C(0xB20B2249D9240C98),
+          UINT64_C(0x20116417D03ABC25), UINT64_C(0x69B3430037A8893D)}},
+        {{UINT64_C(0x710FB0751021F8CA), UINT64_C(0xF90919DD64008516),
+          UINT64_C(0xB0ED31722CCC8FFC), UINT64_C(0xC6ADC85B78988C41),
+          UINT64_C(0x1CDE6A9D0A1B81A9), UINT64_C(0x9ABC5114C80CAC9E),
+          UINT64_C(0x877E608243A7B1A7), UINT64_C(0x0CA1F0D151BD9782)},
+         {UINT64_C(0xFBB662BB6E6AACB7), UINT64_C(0xDCAB0D7796CD1A74),
+          UINT64_C(0x603F2717DC56300E), UINT64_C(0x327251B0FE92F7E4),
+          UINT64_C(0x07E0CBED7031603A), UINT64_C(0xA0F296ECD04C19FD),
+          UINT64_C(0x3296BF9BB8C5E0AB), UINT64_C(0x41E72DDB49E5E7B6)}},
+        {{UINT64_C(0x47E9562CCE99C0C5), UINT64_C(0x4C5FD161BA5372BF),
+          UINT64_C(0x05D1B7B15C808664), UINT64_C(0x9DBE76B6539F8180),
+          UINT64_C(0x646C3DDFDDBD7BC3), UINT64_C(0x06032B9697376739),
+          UINT64_C(0xB71DD971696BDA3D), UINT64_C(0x75061EB81D340FD0)},
+         {UINT64_C(0x6FD064FDE6A7DCA5), UINT64_C(0x79A316508DB01DE3),
+          UINT64_C(0xB1B65A8DF6483911), UINT64_C(0xAF2BBE1CA9DE2C37),
+          UINT64_C(0x6B663C9E85CB42C5), UINT64_C(0x464FEDFEB583E78E),
+          UINT64_C(0x393C00F8FFDF93CB), UINT64_C(0x61CC9A6D9F96CF15)}},
+        {{UINT64_C(0x40EDC986CA774807), UINT64_C(0x8B2A531C4C334C01),
+          UINT64_C(0x72D378C4CEB21FD6), UINT64_C(0x169C54E43833D841),
+          UINT64_C(0xCC830E8E82FE513F), UINT64_C(0xBDC4ECD7ABF34DD7),
+          UINT64_C(0xB5349484AEDD9FF5), UINT64_C(0x12D7ADB3A404055B)},
+         {UINT64_C(0x88027C00637B7C24), UINT64_C(0x755587A6C0EB319D),
+          UINT64_C(0x3F24E32F2027178A), UINT64_C(0xB912054EA4FE8F8D),
+          UINT64_C(0x6AACA9115C9A68D6), UINT64_C(0x14772328235CF842),
+          UINT64_C(0x6D3020A80C0175F8), UINT64_C(0x587768A73E0F7418)}},
+        {{UINT64_C(0x57E3A1F91154C74A), UINT64_C(0x80157FF5B85FB8E8),
+          UINT64_C(0xBEDB658DEE5DEFEC), UINT64_C(0x65C0AA98067E9A0E),
+          UINT64_C(0xAF9A507A229A5289), UINT64_C(0x6A13ACF0F954DD94),
+          UINT64_C(0xB5F3A18D53DC4C19), UINT64_C(0x06AEB3F585AF938F)},
+         {UINT64_C(0x503F06228C9BB087), UINT64_C(0xEA19AC85E3FEA015),
+          UINT64_C(0xE446CD70403FB8FC), UINT64_C(0x1BDDC810DF5B398F),
+          UINT64_C(0x0CAF818FAD2CAEC6), UINT64_C(0x06983E52807AB004),
+          UINT64_C(0xA6B33E3C79428650), UINT64_C(0x182E3D46231BAE71)}},
+        {{UINT64_C(0xAF54B735B309DC4B), UINT64_C(0x494F7441805890F1),
+          UINT64_C(0x3CCD5F0CF87271F6), UINT64_C(0x2914763B7638102B),
+          UINT64_C(0x3CA50D01FD258079), UINT64_C(0x6D9A3D4777CDD6A9),
+          UINT64_C(0xD81373B81F4A05CE), UINT64_C(0x16B258DBCCD443ED)},
+         {UINT64_C(0xC9D4009FA3805FEE), UINT64_C(0x5EC56730225FA57D),
+          UINT64_C(0x4A51A79BAC17E4C0), UINT64_C(0xB389FBA3E7750942),
+          UINT64_C(0x2B137D6E1AB7E8BE), UINT64_C(0x3953702AD8C26EFE),
+          UINT64_C(0x6D86ED3EB79F2828), UINT64_C(0x36ECEEE86D6A62C0)}},
+        {{UINT64_C(0xF97E85FB6B8B9B02), UINT64_C(0x3319D570C6F128F6),
+          UINT64_C(0xDAB74E23B4CA56DD), UINT64_C(0x50CA71EF81FCBB47),
+          UINT64_C(0xBFC19F2EAAD7F910), UINT64_C(0x96650F9BDB3772F4),
+          UINT64_C(0x5823F134B6F26494), UINT64_C(0x1B899B3ECBFBD2E3)},
+         {UINT64_C(0xD1589C42F6CF8F8A), UINT64_C(0x3168AAF534DDB625),
+          UINT64_C(0x4C73053572ABDA08), UINT64_C(0x8B1C24C7F82913C3),
+          UINT64_C(0xD7D80F27239FBCD3), UINT64_C(0xB18B4F056B7C205D),
+          UINT64_C(0x2864763FD92056A6), UINT64_C(0x0B3DDC7BBCDB3022)}},
+        {{UINT64_C(0x1AB037D6207F772B), UINT64_C(0xF050DD3488767BFA),
+          UINT64_C(0xFEF182FF79ABF05E), UINT64_C(0xAAFCFD0F4B25067B),
+          UINT64_C(0x1EB7623534E155B0), UINT64_C(0xA3B921C965CEF7A6),
+          UINT64_C(0x6CBD50B3D9216B0A), UINT64_C(0x3E298A719E578A9A)},
+         {UINT64_C(0xC0DEE8511CCE9059), UINT64_C(0x397344BBEBA49DE2),
+          UINT64_C(0x45A60A85B08513DE), UINT64_C(0x55D314F9F0D07F9B),
+          UINT64_C(0xBF6D4D5112D12611), UINT64_C(0x49F9BCF130A7E8DE),
+          UINT64_C(0xDB0A90585435D109), UINT64_C(0x4DE5C43F0F706CF2)}},
+        {{UINT64_C(0x7FF298D670B6D62B), UINT64_C(0xB2FF0AD4E67688D3),
+          UINT64_C(0x5E63A6B2805652BD), UINT64_C(0x32D81219AD74922A),
+          UINT64_C(0x77D2E3A3A9CCCC31), UINT64_C(0x031D571B2CF2EEE0),
+          UINT64_C(0x471653BD4FC7C9EA), UINT64_C(0x2322CC680AFC2A13)},
+         {UINT64_C(0x3D152EFF08C6D70E), UINT64_C(0xBEC9CBCFBEC5DBD9),
+          UINT64_C(0x41BD49626496310F), UINT64_C(0xD23FC983B1A88E6B),
+          UINT64_C(0x5B622EDC5EF464E2), UINT64_C(0xC6500ADDFFCC97BB),
+          UINT64_C(0xF2CCD3EFAA783FF4), UINT64_C(0x51AD36047CE05CC1)}},
+        {{UINT64_C(0x4796EE8324C48E44), UINT64_C(0xB4D448B0BBA7BC62),
+          UINT64_C(0x2F356E4A1C32B713), UINT64_C(0x980D6DCA32050781),
+          UINT64_C(0xB52B1826B5F6C099), UINT64_C(0x01F7D68DA144D7F5),
+          UINT64_C(0x09ABC596A23999CB), UINT64_C(0x17C069DD66246640)},
+         {UINT64_C(0xB7D7F96C1F7E37A6), UINT64_C(0x57E198C0E46AAD16),
+          UINT64_C(0xB2088DF9D1C0DF8C), UINT64_C(0x0CC38EE43FDEC190),
+          UINT64_C(0x68DD1FC4FB2D9B68), UINT64_C(0x0AD94674AD1D73C0),
+          UINT64_C(0x9529C7DF1B92B955), UINT64_C(0x6711E3610D141F7C)}},
+        {{UINT64_C(0x1B1A51593B87C175), UINT64_C(0x7F62A639029FF8F9),
+          UINT64_C(0xA2E37638C69ADEFB), UINT64_C(0x3AC773C658E309A0),
+          UINT64_C(0x9E7A85FD22EFD710), UINT64_C(0xD29E2F3DA60E5275),
+          UINT64_C(0xC4734B9B1163C9ED), UINT64_C(0x09D3204A9CBEEE57)},
+         {UINT64_C(0xB2339F8D0B8A97AA), UINT64_C(0xC19C67A67AE97B4D),
+          UINT64_C(0x8C0E823F65425033), UINT64_C(0x447F972A8B186D7F),
+          UINT64_C(0x43385E2932A6C164), UINT64_C(0x95049508E9E78569),
+          UINT64_C(0x2AF8C598A074B68F), UINT64_C(0x18AC97B85CD5E2F7)}},
+        {{UINT64_C(0xFAE6158901DEB288), UINT64_C(0x33F684F3885B8EA2),
+          UINT64_C(0x89A90618CFA425B5), UINT64_C(0x8F5D3C2EFBBF5B15),
+          UINT64_C(0x379803C6C2B6CB28), UINT64_C(0xFE683EA3990CE2DB),
+          UINT64_C(0xC1B3C21F7B6E4E0C), UINT64_C(0x6F152C2EEA3513DC)},
+         {UINT64_C(0x235053389AB792CA), UINT64_C(0xC64C7F27282A67AF),
+          UINT64_C(0x6FCBDE656498B24F), UINT64_C(0x6FB7F7FCA1612A06),
+          UINT64_C(0xFD575B9F45C74402), UINT64_C(0x6EAD0805A709A516),
+          UINT64_C(0xCA6208AED4EF066B), UINT64_C(0x23880ECE93954E65)}},
+    },
+    {
+        {{UINT64_C(0x2B13B8B87FB1977A), UINT64_C(0xEA6510AD21B7871A),
+          UINT64_C(0xDBDCB0E8882483C7), UINT64_C(0x5E2E96644C379245),
+          UINT64_C(0x581D4429EBAF2C56), UINT64_C(0xA929CBB0CA79FCCF),
+          UINT64_C(0xE74D3D662009377F), UINT64_C(0x664661A5610CC0D1)},
+         {UINT64_C(0x1F778C190570237A), UINT64_C(0x905AEB861769A370),
+          UINT64_C(0xF51B013BD6C06AEE), UINT64_C(0xDF0D890543EFB668),
+          UINT64_C(0xDD082BC311E4D5DA), UINT64_C(0x58AA1283D7BE0C1D),
+          UINT64_C(0x97F20D6B941E9230), UINT64_C(0x486C960C8BB614AD)}},
+        {{UINT64_C(0x0B573B944CE9052B), UINT64_C(0x88B5C4CBD78F10E5),
+          UINT64_C(0xB131989B77DCA0EB), UINT64_C(0x7F405D8081E63C3B),
+          UINT64_C(0xCC31F1853818CA2D), UINT64_C(0x42F386A2FE177EA8),
+          UINT64_C(0x1B7DD56E9D888B2A), UINT64_C(0x3A6D84D3C8E873E8)},
+         {UINT64_C(0xBCFEF8777E3FBCD6), UINT64_C(0x5DA67B53B36F3F68),
+          UINT64_C(0xE840229A5827FE5A), UINT64_C(0x17689956B989407B),
+          UINT64_C(0xAD6E3F87AFE27325), UINT64_C(0x62027C70DB1E1A3E),
+          UINT64_C(0x86A2C9097EBB4747), UINT64_C(0x47ADC4CC4A919D6B)}},
+        {{UINT64_C(0x92381565A4CA0F15), UINT64_C(0x67FB0C76C08705DB),
+          UINT64_C(0x661DA00403BA6D54), UINT64_C(0xF875EF2477C5C4F7),
+          UINT64_C(0x0769B11C4157A282), UINT64_C(0x8ADB10ACFAF534C6),
+          UINT64_C(0x0312147B9CCD6AB2), UINT64_C(0x75390C00D67A443F)},
+         {UINT64_C(0x0F5A29A021A1047C), UINT64_C(0xCABB96FB83A146B8),
+          UINT64_C(0x1375356A2A3F2F48), UINT64_C(0xDEAB754483C57DB4),
+          UINT64_C(0x1AB71412F5AFA2F1), UINT64_C(0x21D94B4873B58749),
+          UINT64_C(0xBA87E6D5FF2F369A), UINT64_C(0x4B3B90B6DBAE0E08)}},
+        {{UINT64_C(0xB8648E3F9116F02B), UINT64_C(0xA5E5A03BCEF02B4F),
+          UINT64_C(0x21EB9835A70F456A), UINT64_C(0x44865319C8A7C423),
+          UINT64_C(0x57DB3941BCD6C0AD), UINT64_C(0x20D97A3A7D371806),
+          UINT64_C(0xBE61AA4F0F8A3D51), UINT64_C(0x7A6E0BBA13CB7D2B)},
+         {UINT64_C(0xB3B98673EEA5D6FB), UINT64_C(0x534EB45F87B03BAC),
+          UINT64_C(0x6CEB244FA9508557), UINT64_C(0xA47FBAC7F209CC15),
+          UINT64_C(0x41EBF99D1FC65C19), UINT64_C(0xD1477A867341650F),
+          UINT64_C(0xC4E6EB8EB361E0F8), UINT64_C(0x68FAF82ED2B3D548)}},
+        {{UINT64_C(0xB9CCA467F92B039B), UINT64_C(0x9F7180AF0E6F2A2B),
+          UINT64_C(0xC3084870ADA011F8), UINT64_C(0xC814D1DC882D7A38),
+          UINT64_C(0x3A145072D51C1D14), UINT64_C(0x595AC55BD70F8B08),
+          UINT64_C(0x67308D0571EFED45), UINT64_C(0x2C660B9822DBFA33)},
+         {UINT64_C(0xC8EB4EECAF8F2980), UINT64_C(0xBC8F2D726145AB09),
+          UINT64_C(0x1A0A9D53C22D5E84), UINT64_C(0x8E6460089ECD643E),
+          UINT64_C(0x6C704F66B541E2D8), UINT64_C(0xEED597AA31995198),
+          UINT64_C(0xB9032FA3619126C2), UINT64_C(0x0CA4AEABB0A08F01)}},
+        {{UINT64_C(0xF48A003DDB421144), UINT64_C(0x4A7FA5929885A445),
+          UINT64_C(0x040AA1C28E8FA3DB), UINT64_C(0xCE94D87491A15B11),
+          UINT64_C(0x79490F6DF0E875B7), UINT64_C(0x743A531D70318E86),
+          UINT64_C(0xE88CA2AFC4630CD1), UINT64_C(0x6E2FE529F5C5D4AD)},
+         {UINT64_C(0x619A4F46FE062D25), UINT64_C(0xCE1B5FADBD747C4F),
+          UINT64_C(0x3C4283663D512728), UINT64_C(0x7FE8790871AFAEC7),
+          UINT64_C(0xB70063103DB8315E), UINT64_C(0x97A0397B7195E9B1),
+          UINT64_C(0x51EB939F84870127), UINT64_C(0x768A3CD7517A32EE)}},
+        {{UINT64_C(0x25234FFA257E424F), UINT64_C(0x5D80ACE8AD164952),
+          UINT64_C(0x4B15F3867B4C0F5D), UINT64_C(0x71963894F95006BD),
+          UINT64_C(0x4781B77869963C75), UINT64_C(0xDECD94FBFD339850),
+          UINT64_C(0x1533454E11A9D79C), UINT64_C(0x3B17EC4092BFCA33)},
+         {UINT64_C(0x58D0672A12A30834), UINT64_C(0x807B665B3E66F5D6),
+          UINT64_C(0xCD732AE8B164B077), UINT64_C(0xED26F82EF1F732BE),
+          UINT64_C(0x4E65CB2E75A7B899), UINT64_C(0x2EA2BE743C72F22E),
+          UINT64_C(0x60CD26F64068CEFE), UINT64_C(0x63734AC01FEBEFAA)}},
+        {{UINT64_C(0x290E6008E7203401), UINT64_C(0x3497CEA1A67A0F47),
+          UINT64_C(0xB079862C641F5B86), UINT64_C(0xDF3CB4837A0D51D1),
+          UINT64_C(0x4CC0DCD1BC8D25B7), UINT64_C(0x1034F5FFBDFAC20F),
+          UINT64_C(0xC5896F316881DBFB), UINT64_C(0x2C6BD4A168A39778)},
+         {UINT64_C(0x6FAB7060F5CEDBE3), UINT64_C(0xC51F3245F7141245),
+          UINT64_C(0xA3FFA5A4C3EF1EEF), UINT64_C(0x2FC2A0C7206172D5),
+          UINT64_C(0x6616FCFF094E55D7), UINT64_C(0xC3F309FF22EA071F),
+          UINT64_C(0x0685AADBDD267FAA), UINT64_C(0x0AE3722A6BC770C0)}},
+        {{UINT64_C(0x7B11DD6AE67270FB), UINT64_C(0x0128A3510016905D),
+          UINT64_C(0x9CE64782BFE007A0), UINT64_C(0x7324986D7714E091),
+          UINT64_C(0x3E796B16269E4410), UINT64_C(0x707A148C9A97AD36),
+          UINT64_C(0xBE29A34087D5B9AC), UINT64_C(0x2F92E67EF0D882B4)},
+         {UINT64_C(0xB9F0664257636C75), UINT64_C(0xA803EF99FB7F18EB),
+          UINT64_C(0x4B8A1D791E9BF04A), UINT64_C(0x4C43526D062068D6),
+          UINT64_C(0xCA59CFF0800F0FF9), UINT64_C(0x8BE857C3E4389A8E),
+          UINT64_C(0x5042CF565383EDE8), UINT64_C(0x06791C9A0E02F40E)}},
+        {{UINT64_C(0x18A74ACEF5D076B4), UINT64_C(0x050C2161E41EC2CF),
+          UINT64_C(0xECC5823D484F2CD0), UINT64_C(0x63B7B1BDAA7C332A),
+          UINT64_C(0xAC6A274DABEE9CD9), UINT64_C(0xEAC874F87B7A7DB1),
+          UINT64_C(0x0FA4B8E8734BEA81), UINT64_C(0x1ADA0B97243D05BA)},
+         {UINT64_C(0x724C084F822C8BC9), UINT64_C(0xAE697A1BA117425F),
+          UINT64_C(0x391728042CD06676), UINT64_C(0x87B4F92023213E25),
+          UINT64_C(0xCBA8C7A1FC373ED4), UINT64_C(0xDAC6B96BD2F10FD2),
+          UINT64_C(0xCC175798FD265CFF), UINT64_C(0x1631D89CB731090A)}},
+        {{UINT64_C(0xB639A2086D19CB56), UINT64_C(0x78F0F35342A88733),
+          UINT64_C(0xC6BC527BE0323B20), UINT64_C(0x3406CEDD6DE64954),
+          UINT64_C(0xAA89168BBAF8A735), UINT64_C(0x7F68CEA02D7B04AB),
+          UINT64_C(0x6EAD81B25EEC36D4), UINT64_C(0x1C41724EBBCE0784)},
+         {UINT64_C(0xDA5383AD831BEE83), UINT64_C(0xA8B7BEE3F3C29716),
+          UINT64_C(0x5B7E054035ACA35B), UINT64_C(0x8F006F3FB8F21324),
+          UINT64_C(0x915849F8A7B700CB), UINT64_C(0x77C5B34DA455A08B),
+          UINT64_C(0x13BA7C32D6D73C0B), UINT64_C(0x65D599C96936AC88)}},
+        {{UINT64_C(0xF636CFE84DA5FFF8), UINT64_C(0xE5FD754ED1E6E947),
+          UINT64_C(0x8F960362388A72F1), UINT64_C(0x95B55A07381C1C38),
+          UINT64_C(0x31E1D02D1DF2F860), UINT64_C(0xC03243C712EA25F5),
+          UINT64_C(0x5FD87B58C28C0062), UINT64_C(0x5769E94D9D950661)},
+         {UINT64_C(0xF88C7CCF6509E6E7), UINT64_C(0x8A021BABD3971A21),
+          UINT64_C(0x2655B4AA9B284C2F), UINT64_C(0xC3E14580C7050955),
+          UINT64_C(0x63B332E290E60DDF), UINT64_C(0x6AB86D32F1CD1B51),
+          UINT64_C(0x9896AC1113BC748E), UINT64_C(0x516D4D4A40FC1EBC)}},
+        {{UINT64_C(0xC27DBB0A8F7B417D), UINT64_C(0xEE24827A770CF92D),
+          UINT64_C(0x22E08B645F9A2A6B), UINT64_C(0xAE739513E10F76A1),
+          UINT64_C(0xEC6E2D9DFF544277), UINT64_C(0x470C22B7740DB83A),
+          UINT64_C(0x643B7953EE4F1E82), UINT64_C(0x664094975556FB59)},
+         {UINT64_C(0x4C15C4CB728114E6), UINT64_C(0xEFF1BB9F1F29EF7F),
+          UINT64_C(0x8E00B92A259562ED), UINT64_C(0xF28B146C9838D769),
+          UINT64_C(0x3D7C8FFF206622CC), UINT64_C(0xD521181D86457FAD),
+          UINT64_C(0xBF56F6639D9A3085), UINT64_C(0x11BA1FEDA24B415A)}},
+        {{UINT64_C(0x149597F7035701C5), UINT64_C(0x055B1C4B6361CC7E),
+          UINT64_C(0x10DF1572C221AF72), UINT64_C(0x6941B1E9C3D3A167),
+          UINT64_C(0x29985CAB38D00AF6), UINT64_C(0xDD9B839119E385F7),
+          UINT64_C(0x65268E33F2E81932), UINT64_C(0x4FC872735C07CEF9)},
+         {UINT64_C(0xE1644429EA012B70), UINT64_C(0x639FA8744BDF6ACE),
+          UINT64_C(0x7BAE6AFFF65480CF), UINT64_C(0xB9CA15AF606EFF3A),
+          UINT64_C(0x10F5918AC04C5263), UINT64_C(0x50F27E68ED3D0F98),
+          UINT64_C(0x647C1AD33134D7FA), UINT64_C(0x08EF017DF869EEFB)}},
+        {{UINT64_C(0xD474B5FDF229A34B), UINT64_C(0x03819D4E29E0A164),
+          UINT64_C(0x0D24139A8D0910B9), UINT64_C(0xB4F45C8D9C2D8E8D),
+          UINT64_C(0x10E4BEA22F21718A), UINT64_C(0xD3D7ECDE63DA06E8),
+          UINT64_C(0xB2AAB06AF148B0ED), UINT64_C(0x630152B1AABD0F7A)},
+         {UINT64_C(0xCF4D05C23B1563B4), UINT64_C(0xBFA58B4E6F355349),
+          UINT64_C(0x2FA4A29C04D1A769), UINT64_C(0xF4E15F9D1AEDA992),
+          UINT64_C(0x0FDABCEB877819C9), UINT64_C(0x5EDFCC1CC3EDB0A3),
+          UINT64_C(0x76625DC7D1DBCF40), UINT64_C(0x3E558CF02A7BD819)}},
+        {{UINT64_C(0x07C7924F07A883A0), UINT64_C(0x18484807010EA080),
+          UINT64_C(0xDF8602FEB6B2B992), UINT64_C(0x38A2EFDCAA03AA11),
+          UINT64_C(0x60B0031119B2BB14), UINT64_C(0x9E12E7FE15E28BF3),
+          UINT64_C(0x2AC0917BBB0271CD), UINT64_C(0x24126EAE1558FAAD)},
+         {UINT64_C(0x2EB303EF19170EDF), UINT64_C(0x6945946BF5779AD2),
+          UINT64_C(0xE4E5635A31B7DF96), UINT64_C(0x2B371D13D6AC3252),
+          UINT64_C(0x38E781988116C539), UINT64_C(0x76DF4A2C6C89FAF6),
+          UINT64_C(0xDFB6755D6F233984), UINT64_C(0x0CBF63F6D382985D)}},
+    },
+    {
+        {{UINT64_C(0x936D53BC56B39FA7), UINT64_C(0x751274EC511D5744),
+          UINT64_C(0xDAF4432AF29D41C2), UINT64_C(0x717A68C1014F8954),
+          UINT64_C(0x6D5D3F05736F4024), UINT64_C(0x52E785F812D037D9),
+          UINT64_C(0xC04CBA1902CA06C4), UINT64_C(0x432078069259A368)},
+         {UINT64_C(0x1211482B2BE51135), UINT64_C(0x5B473F6EE4D32066),
+          UINT64_C(0x91991C8E4ADE99FC), UINT64_C(0x124378E84865136B),
+          UINT64_C(0xAF791646BFFFC5CC), UINT64_C(0xB7DBA11536D38141),
+          UINT64_C(0x0E8794265BD595B7), UINT64_C(0x39B7D642CACC032E)}},
+        {{UINT64_C(0x76ACE7C8D756CE1D), UINT64_C(0x4BEC8290F8A89F09),
+          UINT64_C(0xE8FE848C690139DA), UINT64_C(0x8C5CB5CC6A541656),
+          UINT64_C(0x6127BB25A79F1A2B), UINT64_C(0x955551CCE17D0549),
+          UINT64_C(0x648A32E958E7C3FD), UINT64_C(0x366035A5A60D449C)},
+         {UINT64_C(0xA4CF0CCB67A48368), UINT64_C(0xCF7D74F7BE344234),
+          UINT64_C(0x006DFFB48CFFCCCE), UINT64_C(0xBBC66664FB55072B),
+          UINT64_C(0xAA51DDD15EFD8AF6), UINT64_C(0x88D0CFD46F004C47),
+          UINT64_C(0xD18C2DBFD97BBB13), UINT64_C(0x5E5982001E7E68D2)}},
+        {{UINT64_C(0xFF9FB488466B58D2), UINT64_C(0x153A751DA8041078),
+          UINT64_C(0xD7E96CB3D5817ADF), UINT64_C(0x56A7A135511775D8),
+          UINT64_C(0xB48FB40677E5DE7A), UINT64_C(0x4DE670FB997A6721),
+          UINT64_C(0x446019B586EFBADA), UINT64_C(0x403CC005FA535082)},
+         {UINT64_C(0xF85BFEE2C2FA986D), UINT64_C(0xF2B77B880E0C320B),
+          UINT64_C(0xAEFE19728FE98FA0), UINT64_C(0x291FD9C7E8DB8196),
+          UINT64_C(0x7C3AB36DF579D9D0), UINT64_C(0x7F202BEF764622DD),
+          UINT64_C(0xDFD4DE34804CEBFF), UINT64_C(0x25CA634E683B7281)}},
+        {{UINT64_C(0x2E3BCCC2EEB585DE), UINT64_C(0x728BAD6D9C7AB9D7),
+          UINT64_C(0xE298BC835C38CDF1), UINT64_C(0x0D88D423B610385E),
+          UINT64_C(0x5710F23571744E3A), UINT64_C(0xD9312CC99681CFF4),
+          UINT64_C(0x1C46AB4AF3D5B3BC), UINT64_C(0x48BE540BE2631926)},
+         {UINT64_C(0xBFAB35A15CCDF14D), UINT64_C(0x16C3216CD778F586),
+          UINT64_C(0x2A60480004128BB2), UINT64_C(0x05505889A7D2E1AA),
+          UINT64_C(0xBE8B94BE1DE7C7B4), UINT64_C(0x53E72EBF05BB8DEC),
+          UINT64_C(0x1A38C5DA2870C597), UINT64_C(0x76F0E77BDD36B123)}},
+        {{UINT64_C(0xC13D1E8A83B68DC3), UINT64_C(0x5F7291EFA93D168B),
+          UINT64_C(0xD1C56274CA88F0F6), UINT64_C(0x58EDFC8C868E3651),
+          UINT64_C(0x9D8F42AF70692949), UINT64_C(0x65903C3381B6E052),
+          UINT64_C(0xAD71B078262E1F70), UINT64_C(0x7A60D3BBC40DC22F)},
+         {UINT64_C(0x6B64F0DBBA1FC54F), UINT64_C(0x6DDB148C81F84A0B),
+          UINT64_C(0xCFBD966253955B40), UINT64_C(0x67D49D079B35DB3B),
+          UINT64_C(0x6ED336DDA8EF7DB2), UINT64_C(0x7AAF4B8A03F2A331),
+          UINT64_C(0x9751DBE15C3873CA), UINT64_C(0x78479B108193A7ED)}},
+        {{UINT64_C(0xB05EDD9A487DB2BF), UINT64_C(0xF905159158F7E778),
+          UINT64_C(0xBD643BE6DC23CBF4), UINT64_C(0xBCE094ECC1EA2427),
+          UINT64_C(0x2A3F3B4B4EB1BD95), UINT64_C(0xBA8FC9DC6F5E1428),
+          UINT64_C(0x7DC28C949F053047), UINT64_C(0x58117A0CC553DC91)},
+         {UINT64_C(0x4888B1E8D4A6137C), UINT64_C(0x5DC05984F8DCBD03),
+          UINT64_C(0xAE2C8657D2F55576), UINT64_C(0x54721BEFFC4DA255),
+          UINT64_C(0x0A326693802C9EBF), UINT64_C(0xA33294AA91186DF0),
+          UINT64_C(0x716BD76FB822390D), UINT64_C(0x7F023C0B7C4AA61B)}},
+        {{UINT64_C(0x6506DA35046A8017), UINT64_C(0x23083C16F785115E),
+          UINT64_C(0x7858113724051BBD), UINT64_C(0xCD36D48F5088EBFE),
+          UINT64_C(0x23F7F0A35E542ACC), UINT64_C(0x720187957D015B1E),
+          UINT64_C(0xA69E68D438D2D742), UINT64_C(0x36808A3B023B5C20)},
+         {UINT64_C(0x660D03D61FEAB6D8), UINT64_C(0x77A1E18558D53E94),
+          UINT64_C(0x67425F4E74024E57), UINT64_C(0x3B9160080CC26788),
+          UINT64_C(0x0C7D287EE3643998), UINT64_C(0xB0D98DD127B3B31F),
+          UINT64_C(0xBA621971BB980CFC), UINT64_C(0x77591087404A2DE1)}},
+        {{UINT64_C(0xB768C63DC15C3D38), UINT64_C(0x281AEC4D54DBA325),
+          UINT64_C(0xBB51D2E450C9B1F3), UINT64_C(0x086BB9BBE7268C94),
+          UINT64_C(0x9E0AF3510C7ED37A), UINT64_C(0xDBC8852839145AA3),
+          UINT64_C(0xA70373BEB1AB786C), UINT64_C(0x273AC4D90A73090A)},
+         {UINT64_C(0xD618DB6AC280E9F5), UINT64_C(0x9D874643A9685A4B),
+          UINT64_C(0x7EF799B48A9C1951), UINT64_C(0xAEAE400CFFBA36BB),
+          UINT64_C(0x889119CB145DC10A), UINT64_C(0x08B052FF1BF7AE53),
+          UINT64_C(0xDEF76EC0E3F04B93), UINT64_C(0x35A13BB206DC2CC5)}},
+        {{UINT64_C(0x97C54E1C613C9FD0), UINT64_C(0x7D4BEB4142581F50),
+          UINT64_C(0x9401F44A5BCA7CAF), UINT64_C(0x5FD7E0B036115D18),
+          UINT64_C(0x714FC514CD0DCE05), UINT64_C(0xF3B737082AB3265E),
+          UINT64_C(0x118FB47A8798EA8B), UINT64_C(0x79A1F4CDFE5C2BFF)},
+         {UINT64_C(0xC0D3ABAA103FF4DC), UINT64_C(0xF5D504ED146D121C),
+          UINT64_C(0x38B7419B842CABA1), UINT64_C(0xE1730788907320F6),
+          UINT64_C(0x0037793BE111875F), UINT64_C(0x715042EA0AAB7249),
+          UINT64_C(0xF57D27EF15630B39), UINT64_C(0x3B5033305D0153CA)}},
+        {{UINT64_C(0x44E75F39C8AAD5E3), UINT64_C(0x3890E8AE506B9C14),
+          UINT64_C(0xDDA7D91F38915D2F), UINT64_C(0x412802B85F28E467),
+          UINT64_C(0x08FF3E17711B51DC), UINT64_C(0x0F23C1EF81C96D4A),
+          UINT64_C(0x7B8E28A157511A7E), UINT64_C(0x6020037042C2BACF)},
+         {UINT64_C(0x5457AA668559DC01), UINT64_C(0xDB0CBC6FBB083219),
+          UINT64_C(0x316C4876F981BE19), UINT64_C(0xA04412B99B98D6AC),
+          UINT64_C(0x20964CB82D95C876), UINT64_C(0xF643F29E51009C2C),
+          UINT64_C(0x5316D85A30C43DD3), UINT64_C(0x104EB0C846A82D48)}},
+        {{UINT64_C(0xC05ADD9A0B183769), UINT64_C(0x14E8EC7A653E726A),
+          UINT64_C(0xE5311F878D457375), UINT64_C(0xCC1585A825D9120D),
+          UINT64_C(0x04F39BE371A945BC), UINT64_C(0xFBFAD37418298210),
+          UINT64_C(0x95F0BD1E3A9D2053), UINT64_C(0x1EAEEFEDC056D70E)},
+         {UINT64_C(0x3274833C1E6E949A), UINT64_C(0xA38EA2CAC1D152E6),
+          UINT64_C(0xE77A10271B9A48BA), UINT64_C(0xD44CF88669B03ED3),
+          UINT64_C(0xB52D35E72D9D2B8F), UINT64_C(0xFA67F927F99BD52B),
+          UINT64_C(0x3910D907DF337872), UINT64_C(0x53E3909C90BF7A7F)}},
+        {{UINT64_C(0xC558DB4E8FC5B40A), UINT64_C(0x330982A37511657E),
+          UINT64_C(0x81A476210B883053), UINT64_C(0xB1F534713F3DB1D4),
+          UINT64_C(0x8A2B835A0C804E24), UINT64_C(0xF8537A453012783B),
+          UINT64_C(0xC761FC419DC2A56A), UINT64_C(0x50369DCB2C12BE25)},
+         {UINT64_C(0x19877D98CA00D808), UINT64_C(0x305586B51DA7BD8F),
+          UINT64_C(0x683BF46E0FB6F9E7), UINT64_C(0xF23F54577E53ECB1),
+          UINT64_C(0xA09A090117EE25E8), UINT64_C(0x61AF93055BAA52EC),
+          UINT64_C(0xC12B74BEA8104024), UINT64_C(0x6BDABBAA60A876E3)}},
+        {{UINT64_C(0x0EC8ADDA438800F3), UINT64_C(0xA47197E64FBF0259),
+          UINT64_C(0x324E06961767F99F), UINT64_C(0x0E455BC2E440710A),
+          UINT64_C(0xFE2316897A5984F7), UINT64_C(0x7706D5C73CF323D8),
+          UINT64_C(0x6DFE4B08FFC9FB5E), UINT64_C(0x5E912EC78F9D5207)},
+         {UINT64_C(0x9B71034DD7D1AC99), UINT64_C(0x5786B8AD33D5ABF4),
+          UINT64_C(0x70E625B7426E2B80), UINT64_C(0x71D53ABB6A33883F),
+          UINT64_C(0xB42DE25AAA10AA82), UINT64_C(0x709B3CDFC313C9F3),
+          UINT64_C(0x49F3BBC799A04BD3), UINT64_C(0x5B56D9BB3390B190)}},
+        {{UINT64_C(0xA4D655E505DAE0B4), UINT64_C(0x3402DB147016EDE7),
+          UINT64_C(0x58D4EFC5117097DC), UINT64_C(0x4F397AFC61AE9FDC),
+          UINT64_C(0x3EE32FBE85DE0E4A), UINT64_C(0xE5C9410018F9DA9B),
+          UINT64_C(0x6248B57030778D74), UINT64_C(0x569D70C9FF879B98)},
+         {UINT64_C(0x385FD4C879A7786F), UINT64_C(0x779353B992C6E962),
+          UINT64_C(0x9C9103FB5AA82E08), UINT64_C(0x128BD7DDEC3B37D1),
+          UINT64_C(0xCC0376F898AE8C82), UINT64_C(0xDD33B1A3289AFB7D),
+          UINT64_C(0x2B3A6BE5F1D2F3AC), UINT64_C(0x2B342E8F58C1DCA0)}},
+        {{UINT64_C(0x4ADA9F0F924940FC), UINT64_C(0x636260E5BD4E799E),
+          UINT64_C(0x10650FC885ECD23F), UINT64_C(0x04765F0532AE8105),
+          UINT64_C(0x22F515E9DEEBFAF2), UINT64_C(0xFB6611B1EA6ED3BA),
+          UINT64_C(0x2D260305B116A647), UINT64_C(0x540A895ACEB63ED4)},
+         {UINT64_C(0xA5C897EC65640BD2), UINT64_C(0x1D82AD214EB90B65),
+          UINT64_C(0x2A00C3C3A2BD6C71), UINT64_C(0xD9BE5D85A185CE8C),
+          UINT64_C(0x0FA039FEE02E9DCD), UINT64_C(0xAD1DC7C0806B50C1),
+          UINT64_C(0xA78992C20C6AB58F), UINT64_C(0x7D58FDA7FBE348EA)}},
+        {{UINT64_C(0x07E652776F4DBDFC), UINT64_C(0xC35157C0E4E35AA2),
+          UINT64_C(0x9844955DFAF9CF8D), UINT64_C(0xD1832D2FE577A918),
+          UINT64_C(0xCDD6CCFD212A678C), UINT64_C(0x19406763262F2BC7),
+          UINT64_C(0x1B5FE0FC7DCF82E3), UINT64_C(0x72FCB51228083B97)},
+         {UINT64_C(0x2EB13174CAE3C67A), UINT64_C(0x571DBD3528F8CB44),
+          UINT64_C(0x3F3514DA7B2F56B1), UINT64_C(0xC59066972E1D4CD8),
+          UINT64_C(0x9F9589DA3709FD27), UINT64_C(0x539CBA98DCF0E714),
+          UINT64_C(0xC6FDBE8236D31BAC), UINT64_C(0x22501C258860078E)}},
+    },
+    {
+        {{UINT64_C(0xB6BAA4C5E7462A35), UINT64_C(0x4CABEF232DE0E694),
+          UINT64_C(0xE595F2CE67A94587), UINT64_C(0x0B4D6B8065DE13EF),
+          UINT64_C(0x6ED1FA63B88601AA), UINT64_C(0x63DAF3EF254800DF),
+          UINT64_C(0x15F07C6B6EDECF60), UINT64_C(0x746CB00F49F82DF6)},
+         {UINT64_C(0x4860833FF95DC407), UINT64_C(0x245FDFB1D4D68D59),
+          UINT64_C(0xFD7E134628C585C1), UINT64_C(0x3307AAE7AA744D74),
+          UINT64_C(0xAB21F1D527C71537), UINT64_C(0x1BED3B9C541ADB51),
+          UINT64_C(0x48E656280B804584), UINT64_C(0x10213DC396C62E82)}},
+        {{UINT64_C(0xA971A3219E900795), UINT64_C(0x41151E65A28AD250),
+          UINT64_C(0x88FBF84CB46F0286), UINT64_C(0xCE5E34E32C5AA2BF),
+          UINT64_C(0xC30F0784FE74FBD6), UINT64_C(0xA19ACA519DDDC5BB),
+          UINT64_C(0x30CB6369D954B6AF), UINT64_C(0x20C72B2B1BA9F34A)},
+         {UINT64_C(0x0D9F6CC9421721EE), UINT64_C(0x5239E3D2701F3853),
+          UINT64_C(0x48CF795D10A37D0D), UINT64_C(0x2822ACF8C1454415),
+          UINT64_C(0x9EF24913F9392C27), UINT64_C(0x9317897633F3F273),
+          UINT64_C(0x0AD1CAB2AADFE5DB), UINT64_C(0x2454195102019622)}},
+        {{UINT64_C(0x577E8E89122FE6A1), UINT64_C(0xDFED3EF029DCABC8),
+          UINT64_C(0x91B0AE211F1EC613), UINT64_C(0xF4FB2E9F43EC585C),
+          UINT64_C(0x402F8D435AFDC7FC), UINT64_C(0x7DF6E3F43BFC6DDF),
+          UINT64_C(0x4B14B20B2094F2CE), UINT64_C(0x6621FA23C9F3FCE9)},
+         {UINT64_C(0xC167636B61482134), UINT64_C(0xC2D96AF4BD89AA34),
+          UINT64_C(0x4D19C54777A1383E), UINT64_C(0x86476C72994B20EC),
+          UINT64_C(0xD71188DA3611027E), UINT64_C(0xEEB9CB25BFA77EA0),
+          UINT64_C(0x63E037067A9FFDFB), UINT64_C(0x52FBC7359E1F711D)}},
+        {{UINT64_C(0x4D58058F9DCD39C8), UINT64_C(0x742DCAC8560A57E3),
+          UINT64_C(0x51314E8AC40593C3), UINT64_C(0xAA35CAF4BBE9F40F),
+          UINT64_C(0xD0D06ACC7B4DF87C), UINT64_C(0xE02B48CB897586CC),
+          UINT64_C(0x30AB25AB9F14AB3B), UINT64_C(0x77B9D8A22DCFFD42)},
+         {UINT64_C(0xDE1678E743F00508), UINT64_C(0x2F82D94EE59D0799),
+          UINT64_C(0x1D68DC5F7D85FF61), UINT64_C(0xCCD286EAA577E85E),
+          UINT64_C(0x7820217205653CE9), UINT64_C(0x80BCF42C4B096045),
+          UINT64_C(0x983AC1DA8D9DC78C), UINT64_C(0x48ADE8D1757F008E)}},
+        {{UINT64_C(0xFE9CADC1F131C430), UINT64_C(0xCB4FACAED4ACF7F9),
+          UINT64_C(0xA75B35B64B81AA0C), UINT64_C(0xDB73BF2A6132294C),
+          UINT64_C(0xDC1998EE35FC4FBC), UINT64_C(0x1125CF55F1A96BA6),
+          UINT64_C(0x800577A81AC0769D), UINT64_C(0x0AF21977E4CDAC1C)},
+         {UINT64_C(0x12CAE81D91DD37F9), UINT64_C(0x81F5BAF61A432775),
+          UINT64_C(0x62A87C5D81CBCB7D), UINT64_C(0x781596EF2D311E47),
+          UINT64_C(0xADA41A240EA6CE86), UINT64_C(0x064E561D9198BFEE),
+          UINT64_C(0xD2EBB0D78784FC32), UINT64_C(0x60F7F749E00D527A)}},
+        {{UINT64_C(0xB6220879F9F5101B), UINT64_C(0x8E51E911ED750B14),
+          UINT64_C(0x5A0FF85156B8B8BB), UINT64_C(0x6EFDB4CCE97F0F1B),
+          UINT64_C(0xEF4E3272CFEE47C1), UINT64_C(0xFB33D3FFDB73FA56),
+          UINT64_C(0x8702D241D5C182A7), UINT64_C(0x1342C905B061F4C9)},
+         {UINT64_C(0xCCFDFF8B40B3B920), UINT64_C(0xE01ADAA1234F25BE),
+          UINT64_C(0x6EE2AFD9CA98B24D), UINT64_C(0x833C8017933CF022),
+          UINT64_C(0x9446CDC88B7E88DA), UINT64_C(0x08A83DEB0252B0C4),
+          UINT64_C(0x5AFAE687983B95BF), UINT64_C(0x417A1691BBF76F93)}},
+        {{UINT64_C(0xF1100073E270155C), UINT64_C(0x913B27AB37D73458),
+          UINT64_C(0x0723B646F8799368), UINT64_C(0x891C7858B8599816),
+          UINT64_C(0xBDCF3C7AAD13A257), UINT64_C(0xF473BEE8106E5B5A),
+          UINT64_C(0xB093D48427722F06), UINT64_C(0x33895F5C8E4CF84D)},
+         {UINT64_C(0x530F59FE1A92A242), UINT64_C(0x703FDC05D5444E38),
+          UINT64_C(0xEC6FB903A9B55C56), UINT64_C(0x102929BAECEFEF64),
+          UINT64_C(0x76B9B329BFC1F153), UINT64_C(0x3F794AD77A32A9E4),
+          UINT64_C(0x9A344BD7AD9D9F76), UINT64_C(0x1281308B8F22FE76)}},
+        {{UINT64_C(0xDBAD1D0455D6DFC4), UINT64_C(0x1674C09F78FB03A6),
+          UINT64_C(0x10F038F004F4EB90), UINT64_C(0xD6F8CEBAC933F8C3),
+          UINT64_C(0x6D3018D6322E4AE8), UINT64_C(0x3C0E8DD865FB0400),
+          UINT64_C(0x0E04FEA5F8603F6E), UINT64_C(0x417F6C35CF3D2FBA)},
+         {UINT64_C(0x4F62D458C6DBF972), UINT64_C(0x1D66CC0B3C69018C),
+          UINT64_C(0xDB741BC64F1297A2), UINT64_C(0x7EEDA8D5DDEC7115),
+          UINT64_C(0x0B5D07B39A910CA8), UINT64_C(0x5D74BC7E3D0FA9E7),
+          UINT64_C(0x0F3D10634DC25E76), UINT64_C(0x7BDF3F13DDD0F35E)}},
+        {{UINT64_C(0xF4B8E8F949A8E647), UINT64_C(0xD2045FF4C9C7F249),
+          UINT64_C(0xA73E20731DFCE331), UINT64_C(0x538FE0C260186A35),
+          UINT64_C(0xF6931385D44D55DC), UINT64_C(0xAA0FAE8BBD2D5D5C),
+          UINT64_C(0xA1DF24510CE9E7B7), UINT64_C(0x453B0239F6E915DF)},
+         {UINT64_C(0x92E689FD4BD5604D), UINT64_C(0x302F7B7CEA5FB1A5),
+          UINT64_C(0x9A065527C6C18BD5), UINT64_C(0xB6B9302338018472),
+          UINT64_C(0xEC4F8E47775EFE83), UINT64_C(0x5EFED6CD5D557E9F),
+          UINT64_C(0x883149A7F32DB82A), UINT64_C(0x32BB4DD5A83BA057)}},
+        {{UINT64_C(0xB45FB2398CE494A6), UINT64_C(0x6E80D72B015A171F),
+          UINT64_C(0xE17A3D2B846810F0), UINT64_C(0x86A2C703C689398E),
+          UINT64_C(0x163CC0EAF84177D3), UINT64_C(0xCFC5453608485195),
+          UINT64_C(0x49ED48E3AEA228CD), UINT64_C(0x51D4CD9A5E05A3FA)},
+         {UINT64_C(0xD75C938E0A28C1F0), UINT64_C(0xE18FCBDB0D986264),
+          UINT64_C(0x0E29546B0129A474), UINT64_C(0x718C5F10B4E6503E),
+          UINT64_C(0x5BFFEF16E89FFD06), UINT64_C(0xD87F3E8D7ABFEFBE),
+          UINT64_C(0x3E6EEBD8B05607DF), UINT64_C(0x1B3135D4030FC02D)}},
+        {{UINT64_C(0x1FCA9768AFD466ED), UINT64_C(0x3711CD99DDE4FE72),
+          UINT64_C(0xFA6A96FBA0BC2449), UINT64_C(0xB4E3322DDF617AD1),
+          UINT64_C(0x652400B538997D42), UINT64_C(0xE4033FDD5869744E),
+          UINT64_C(0x5E56CF67F8CF5A3F), UINT64_C(0x0B68F41839950DFD)},
+         {UINT64_C(0x31F316B3921A1064), UINT64_C(0x084CF2C3860AB95E),
+          UINT64_C(0x4FAE7CBD33A08792), UINT64_C(0x13E887AE5C2F1F4F),
+          UINT64_C(0x1B4D941C5A2C1393), UINT64_C(0xE7043946BFDDC322),
+          UINT64_C(0x2D73CD5BA801A880), UINT64_C(0x6CDC6BC245019EB0)}},
+        {{UINT64_C(0x68D9AE8272A9BDDF), UINT64_C(0x3EA7B5D0C4F79A39),
+          UINT64_C(0x8A9E525DBFA9189D), UINT64_C(0xC4BCDB4F08088070),
+          UINT64_C(0xD4F1B3D0F0019D99), UINT64_C(0xCD3981D03A21C513),
+          UINT64_C(0x4A85B07A51146A17), UINT64_C(0x44E11FCBAC9373DE)},
+         {UINT64_C(0x45C28B85406B1F1D), UINT64_C(0x7669767BA598A7AB),
+          UINT64_C(0xE4DC8F54CABA790E), UINT64_C(0x7259E49F4002264B),
+          UINT64_C(0x54142E6D78A9F0E3), UINT64_C(0xFC3843172D74E9B1),
+          UINT64_C(0x949A6E31471BA3C1), UINT64_C(0x2196E341269DBD46)}},
+        {{UINT64_C(0xF090B2141C85C152), UINT64_C(0xC66553E02980953D),
+          UINT64_C(0x50050906908B9243), UINT64_C(0x489B07B818F1B4C3),
+          UINT64_C(0x39C781DE4A6A7071), UINT64_C(0xC3FCC6B415FAF2A8),
+          UINT64_C(0xC9A9D650DF30D339), UINT64_C(0x2BCF89690DC87B05)},
+         {UINT64_C(0x6BD111010D36DD59), UINT64_C(0x9AFD4507AF38D4C5),
+          UINT64_C(0xE9A345A31FEE36E3), UINT64_C(0x141074A837454BA6),
+          UINT64_C(0x89747031F603533F), UINT64_C(0xAB75320E897F9FA2),
+          UINT64_C(0x52927CDF594481A4), UINT64_C(0x2C8FB10BBC2244A3)}},
+        {{UINT64_C(0x456358B81C40C77E), UINT64_C(0x26A15EA81732ED35),
+          UINT64_C(0x36F26CBB9AEA6548), UINT64_C(0x6589AC51D7FAD4C1),
+          UINT64_C(0x4804A1BC9067988D), UINT64_C(0x633F203E4219111A),
+          UINT64_C(0xCD90D01C123C4BBE), UINT64_C(0x617EEF2782519788)},
+         {UINT64_C(0x8A7F22A79DDFBBB9), UINT64_C(0xF8CEDC4EC8F9E873),
+          UINT64_C(0x547A5995F8B00FFD), UINT64_C(0xC6780AC53132F91D),
+          UINT64_C(0xAD7113506DD34140), UINT64_C(0x1C0A71EC83D8A3E6),
+          UINT64_C(0x687D67C786E0466B), UINT64_C(0x7CE57B02BD67492F)}},
+        {{UINT64_C(0xEF5A0FECC4A0F3CF), UINT64_C(0xCEB2194BE3C2A79F),
+          UINT64_C(0x7371FF56D37AFB50), UINT64_C(0x881C254A68CFB693),
+          UINT64_C(0x31F411B17A5B61F5), UINT64_C(0xC2141EEB13E15910),
+          UINT64_C(0xD4B5D01575C6566F), UINT64_C(0x1335132C60C17F10)},
+         {UINT64_C(0x49A2D9CBF9EED825), UINT64_C(0x0514441AE7C41C5A),
+          UINT64_C(0xCE9F19F7636BA847), UINT64_C(0x5517505744F44B74),
+          UINT64_C(0x0ED9CB8AD26F9DEA), UINT64_C(0xBBB248C084BD07A6),
+          UINT64_C(0x2C867FB19CD8A6C1), UINT64_C(0x230B41222186DB7C)}},
+        {{UINT64_C(0xC59AF140BC6B2647), UINT64_C(0xCD781156D5CA9D30),
+          UINT64_C(0x479CFCF804C5C668), UINT64_C(0xEAC4A5C0B08BEEC5),
+          UINT64_C(0x8772B60E6C67636A), UINT64_C(0x99266F13631A6EF3),
+          UINT64_C(0x4DADE9DE0D368B05), UINT64_C(0x2F9488CBE42CB970)},
+         {UINT64_C(0x4882B1D4B6FB1965), UINT64_C(0x6423BBB4AF24AD57),
+          UINT64_C(0xE52B487EC406CF8F), UINT64_C(0x502802ADD49D4935),
+          UINT64_C(0x6832E21624D5128F), UINT64_C(0x42190CD4670EAE40),
+          UINT64_C(0xA2D4FDB439258F40), UINT64_C(0x6127E350C5CADEEA)}},
+    },
+    {
+        {{UINT64_C(0x160D95BD896F045C), UINT64_C(0xBB8AA2C5406D8CA3),
+          UINT64_C(0x1B4E10B394F274E5), UINT64_C(0xE6D305446332DB6B),
+          UINT64_C(0x95250D6A5AAE23C5), UINT64_C(0x67458318FC831AC1),
+          UINT64_C(0x05D21C9B63510D9A), UINT64_C(0x2416562C20F2A3CC)},
+         {UINT64_C(0x8B666C7AD6DE2B6D), UINT64_C(0xC49D98D0E54B6B3C),
+          UINT64_C(0x73315C3F90558A8E), UINT64_C(0x212910AD44E631C4),
+          UINT64_C(0x7D2EBB7EBB053E42), UINT64_C(0x396AD2614FEF86C3),
+          UINT64_C(0x90DA355C5E410BED), UINT64_C(0x344A24DD43C9183F)}},
+        {{UINT64_C(0x509715496AC2509A), UINT64_C(0xFCAF5541FDA9F8AF),
+          UINT64_C(0xDDFDC6A9B3F2B1F5), UINT64_C(0xBCA36B59B7DA428B),
+          UINT64_C(0xB55602BE357DCA59), UINT64_C(0x803C92A1CE692E5D),
+          UINT64_C(0xCD723C3D6DC19967), UINT64_C(0x3EE4BC03F741820F)},
+         {UINT64_C(0x70113C23BB103F3B), UINT64_C(0x35FA914436553268),
+          UINT64_C(0x505B79171C026E84), UINT64_C(0xA43E12561ED89D68),
+          UINT64_C(0xC8AE5CFBC87289BE), UINT64_C(0xD573E0CF2B9C5072),
+          UINT64_C(0x709B1C4B475FA7A4), UINT64_C(0x505ADF5981D07D11)}},
+        {{UINT64_C(0x1BC79E6AA4AFD6AC), UINT64_C(0x156C1B3626866C93),
+          UINT64_C(0x6E4F2FB690A70847), UINT64_C(0x745824E0E37556C2),
+          UINT64_C(0x384788E85BF6585C), UINT64_C(0xAD6A726B87EFA785),
+          UINT64_C(0xD93A3B7E40FEB98E), UINT64_C(0x4BA6A352282EB335)},
+         {UINT64_C(0x36EE7727937FA288), UINT64_C(0xF1334DD2C0513862),
+          UINT64_C(0x7AF1B32E30FB68F5), UINT64_C(0x2B0BAEFE3196B14D),
+          UINT64_C(0x5E7BA8D721E84FA0), UINT64_C(0x4DA767CD256AE375),
+          UINT64_C(0xA8D467F8E0F658DB), UINT64_C(0x7709039E20DB1855)}},
+        {{UINT64_C(0x6155BDC4B26EE5F4), UINT64_C(0xF0CFD2B7C48A3913),
+          UINT64_C(0x75AABCA163BFB3E5), UINT64_C(0x9232746DC525DA22),
+          UINT64_C(0x5F00A6CD333F2B14), UINT64_C(0xB3216C2BF8ECA91E),
+          UINT64_C(0x9A1F1EE8F6E4FF19), UINT64_C(0x3C76ADCFB0074F5D)},
+         {UINT64_C(0xA414BFFB45309788), UINT64_C(0x83EF3C3F86539F4F),
+          UINT64_C(0x0AB8CEEA576C4A69), UINT64_C(0xA01CC45813BEF0E4),
+          UINT64_C(0x855B7F00EA181987), UINT64_C(0xA97F14A9E30F184F),
+          UINT64_C(0xB17DF2F0554D467D), UINT64_C(0x29F0A944D6C8100D)}},
+        {{UINT64_C(0x57796871C7D083C9), UINT64_C(0xB83CD7FF0DA74190),
+          UINT64_C(0xA077968F97DC4A71), UINT64_C(0xC27429EC08ACDC2D),
+          UINT64_C(0x04996DF62B52DFEE), UINT64_C(0x13511C3A1C182059),
+          UINT64_C(0xCC27218ACEFA8F7F), UINT64_C(0x0757BD45A0E51331)},
+         {UINT64_C(0x05F1D65D453DD761), UINT64_C(0x71D57417F3C5F5DF),
+          UINT64_C(0x0C1E204338FA1AE7), UINT64_C(0xA68A6F2E36E7BB29),
+          UINT64_C(0x3F3CA00F221EA420), UINT64_C(0x840830F61484F503),
+          UINT64_C(0xA011EA6118380FC5), UINT64_C(0x63E08325D4D5F0B4)}},
+        {{UINT64_C(0xAC4F176AA5352F43), UINT64_C(0x2C0A1D79F5346C89),
+          UINT64_C(0x3F16B2ECEA7357BC), UINT64_C(0x1FE6E8239CB644F4),
+          UINT64_C(0x54E68BB4E2C9912E), UINT64_C(0x82B35E8E98E581AE),
+          UINT64_C(0xD855E028D6611B81), UINT64_C(0x3D420591A8C7ABE1)},
+         {UINT64_C(0x71326CB4A4D7C106), UINT64_C(0x5BA8407F7E21F3EA),
+          UINT64_C(0xD33581D740DA0D53), UINT64_C(0x7AB205460C1E7D99),
+          UINT64_C(0x71438057CB0075B5), UINT64_C(0x2F9AD50CCB952FEE),
+          UINT64_C(0xFDCF4A128B942A98), UINT64_C(0x025CFA1BD8BB5BE5)}},
+        {{UINT64_C(0x2BF4ABF727BF5931), UINT64_C(0x78BD4315D080A1BA),
+          UINT64_C(0x1EB55607F12B24D0), UINT64_C(0xB7BC25D68E8BAB49),
+          UINT64_C(0x01B666AE60E68A74), UINT64_C(0x9E1E74179058E10D),
+          UINT64_C(0x5D2493D0AB695D1E), UINT64_C(0x714D7BB5271B7FBF)},
+         {UINT64_C(0x869B52F63BD07521), UINT64_C(0x3413A47C038E8A90),
+          UINT64_C(0x2B7724D4C2B6D60D), UINT64_C(0xD500A48CB984B181),
+          UINT64_C(0xDCD8259499ED9E13), UINT64_C(0x33C480BA09397DD9),
+          UINT64_C(0xF98DA63DB36CB025), UINT64_C(0x0593108A0C33FD92)}},
+        {{UINT64_C(0xE3BBCCB7F01AB893), UINT64_C(0x3D8D3BD26CE61B0B),
+          UINT64_C(0xB030CE07FC00DB91), UINT64_C(0x78ADD938AA51D38B),
+          UINT64_C(0x8FA757976CAF34CC), UINT64_C(0x28C34C7E494B4CCE),
+          UINT64_C(0xECD5F38579091116), UINT64_C(0x455FD9533512B9B1)},
+         {UINT64_C(0x1D2150EF3CD57BE0), UINT64_C(0xF130B2A043CEF565),
+          UINT64_C(0x1146159CFA4A4082), UINT64_C(0xDE949D6AD6BB7E30),
+          UINT64_C(0xEB8984ED40A2A53B), UINT64_C(0xB9E72FE4B920CDBE),
+          UINT64_C(0xA507DDCAB43A51A9), UINT64_C(0x3EB7D79F6C7C6F7F)}},
+        {{UINT64_C(0xDF75FE14DD356637), UINT64_C(0x4B21206BFBC9E9DB),
+          UINT64_C(0x0A33BCF3A729BB2F), UINT64_C(0xA61A363C686F49F2),
+          UINT64_C(0x426A460334BD498C), UINT64_C(0xE87EDA60705F7CD3),
+          UINT64_C(0xF9D24A5AE633E9A7), UINT64_C(0x52063D93A4325C1D)},
+         {UINT64_C(0x02890EEC23EEB132), UINT64_C(0x00430E865D39DDFD),
+          UINT64_C(0x118E18F6A1E47638), UINT64_C(0xBB38E8C75806CD2F),
+          UINT64_C(0xB7E5375EF7CE9486), UINT64_C(0x73DAA9EBFDE35E82),
+          UINT64_C(0x117E476182070D71), UINT64_C(0x317DF0BE915BBD57)}},
+        {{UINT64_C(0xF691548725B74127), UINT64_C(0x4333E7F518162D83),
+          UINT64_C(0xB435BEF9A429665E), UINT64_C(0xEEE9B7B720B9D358),
+          UINT64_C(0x436ABB8BF8D1D44F), UINT64_C(0xD1219F9ABF38B81F),
+          UINT64_C(0x7CEE70639035DE38), UINT64_C(0x34129008B341FFDA)},
+         {UINT64_C(0x6595A1B099745C5B), UINT64_C(0x07DF297A2C0685BB),
+          UINT64_C(0xEE85C714998110AD), UINT64_C(0xD251E587E2A8AD4E),
+          UINT64_C(0x9A38F9DCEC4D02C1), UINT64_C(0x60DA566FCCDAF4C8),
+          UINT64_C(0x1BD9A21A90B08CA2), UINT64_C(0x6D9414AEE97F4EA0)}},
+        {{UINT64_C(0xCBFAA86174973250), UINT64_C(0xC58A0F6BAB15AA60),
+          UINT64_C(0xC00F822DFDB7A15D), UINT64_C(0xAEA74910FA067DEF),
+          UINT64_C(0x3750367B81F3EFC5), UINT64_C(0x3183E3E8AFC6EC7C),
+          UINT64_C(0xFB62717ADA10CD9F), UINT64_C(0x40431C1D6EEC9774)},
+         {UINT64_C(0x423E731005914824), UINT64_C(0xA4F7A9789DE23908),
+          UINT64_C(0xC151A73C7D5D18AA), UINT64_C(0x1B85B7CBED1EAC6B),
+          UINT64_C(0xF25CAF8C075066C4), UINT64_C(0x99508D708004809B),
+          UINT64_C(0x6BEDC19F212271C6), UINT64_C(0x2CCDAB3977A5AE84)}},
+        {{UINT64_C(0x14203BEC23389925), UINT64_C(0xFBCA94CFCF059388),
+          UINT64_C(0x17626B408124F30F), UINT64_C(0x2208F6E5C1C98EB6),
+          UINT64_C(0x9B385200961F4C48), UINT64_C(0x1C9F33E8002E5C7A),
+          UINT64_C(0xC426A94058B6DD91), UINT64_C(0x6DF740E51CEC7286)},
+         {UINT64_C(0xF939798687E56C60), UINT64_C(0x84425935587728F6),
+          UINT64_C(0x394A3A012FE267FB), UINT64_C(0xB9C6481FD451CD8E),
+          UINT64_C(0xA6AB4F4B5340AAC8), UINT64_C(0xD7FD96759B85FF63),
+          UINT64_C(0x3D3AE591AC5AEC86), UINT64_C(0x43283823B96673F7)}},
+        {{UINT64_C(0x24214D2374E61BA9), UINT64_C(0xB41CFB58F69ED123),
+          UINT64_C(0x8E91FE0254F5F407), UINT64_C(0xFB9899364F84200B),
+          UINT64_C(0xAAE985CE024E62F0), UINT64_C(0x896815EDA0BB20F6),
+          UINT64_C(0x3536095B3DF1E5BC), UINT64_C(0x31C5AFA09E1EB847)},
+         {UINT64_C(0x5C32910FC2B9B4F0), UINT64_C(0x32ABA81450DBB2E8),
+          UINT64_C(0x17E2B52F6AAF8A27), UINT64_C(0x142E63AC111CD6C3),
+          UINT64_C(0x15D5F29722B6D227), UINT64_C(0x22380A783C14CE28),
+          UINT64_C(0x29F4951C5249F727), UINT64_C(0x24C25987274839DE)}},
+        {{UINT64_C(0x13F552E914C6CA73), UINT64_C(0xCE9659270B154556),
+          UINT64_C(0x330E6D5983EE34E2), UINT64_C(0xFB7B6051E8035AD6),
+          UINT64_C(0xC58FBCA85B2D081D), UINT64_C(0x254FEDD191D78C8E),
+          UINT64_C(0x0438FF98CF877F74), UINT64_C(0x479CEE4A8BB12DC9)},
+         {UINT64_C(0x1855A1C37A0CBCDD), UINT64_C(0x3667FFBB000FFC35),
+          UINT64_C(0xC053A4BFF880E9C0), UINT64_C(0xF8E1BCC105AEFE0E),
+          UINT64_C(0x1AFEE0F20B65DBBC), UINT64_C(0x63ACB97B9E945F96),
+          UINT64_C(0xDFC8096580B8F0BA), UINT64_C(0x12A145EBE919BE03)}},
+        {{UINT64_C(0x8BBD02E8C6008C86), UINT64_C(0xB7ACE6C4516BDD2F),
+          UINT64_C(0x914AE008E5036467), UINT64_C(0xD06CF39287987C22),
+          UINT64_C(0x0F78C12DC71FFCB4), UINT64_C(0xB4612FBBCBF7A3B3),
+          UINT64_C(0xB6E692557B711004), UINT64_C(0x68CEE9EC1EA5ED45)},
+         {UINT64_C(0x45E4A8D15009FAD4), UINT64_C(0x1D303BD7B1458DF2),
+          UINT64_C(0x388523D9BE13EFBE), UINT64_C(0xAC9F6D4AC15147CD),
+          UINT64_C(0x551F34709ECFA216), UINT64_C(0x0FF1AA33AC9311F4),
+          UINT64_C(0x34EED866B8D84926), UINT64_C(0x6BD5ED1C72C2CC5C)}},
+        {{UINT64_C(0xA283EC1A9BDD8695), UINT64_C(0x451A730BA599147A),
+          UINT64_C(0x9B6CC56ADA71F52B), UINT64_C(0xB1002CF577D55722),
+          UINT64_C(0x354328CD07A8D105), UINT64_C(0x86B04CA87A21026C),
+          UINT64_C(0x53BADA3D50EC9794), UINT64_C(0x0BD230C8BBC32D2B)},
+         {UINT64_C(0x322E97FAF7E3C388), UINT64_C(0xA0F06207AD6FEB4F),
+          UINT64_C(0x3B05C04E9A128AA1), UINT64_C(0x05DE3C902214D1AB),
+          UINT64_C(0x632C92A7E69A562B), UINT64_C(0xE9F9DEE06BEFC0B6),
+          UINT64_C(0xD269F54763E05275), UINT64_C(0x04B2E1AB6C56EC35)}},
+    },
+    {
+        {{UINT64_C(0x9DB921FCFEB514D4), UINT64_C(0x00AC3CB4485F4F30),
+          UINT64_C(0x0DAFF6F9FED6B15B), UINT64_C(0x74C16AF59A5E67CB),
+          UINT64_C(0xAA73C142A8275392), UINT64_C(0xBF53E45446A65634),
+          UINT64_C(0x2819387F03D87479), UINT64_C(0x4BC9293DB495DDDB)},
+         {UINT64_C(0x755EC69618AE902B), UINT64_C(0x147291751E9C6398),
+          UINT64_C(0x82396B3F29508353), UINT64_C(0x932903AE08614C4D),
+          UINT64_C(0xA4B24D6450BC308A), UINT64_C(0xA89DAA2F88BDA41E),
+          UINT64_C(0x94FC7C4684F8A09A), UINT64_C(0x1054948EB4931402)}},
+        {{UINT64_C(0xF3E0BB8F8A7BA306), UINT64_C(0xC31FDE41A45240B6),
+          UINT64_C(0x05AD7E1AE1755B86), UINT64_C(0xDDBFC1F9BCDD1230),
+          UINT64_C(0x8006BDBBB4F8B744), UINT64_C(0x865829028ADE1D9A),
+          UINT64_C(0x8FEFE3B7078339E6), UINT64_C(0x342996F446216EA5)},
+         {UINT64_C(0xE0E1B5B39B3D4651), UINT64_C(0xB2FC080CAABBE714),
+          UINT64_C(0xC720BD5EA522F01C), UINT64_C(0x11D0543B95F65EBE),
+          UINT64_C(0x0880103C484D4123), UINT64_C(0xD3F969F396976F8B),
+          UINT64_C(0x614855B7FDBA1CC1), UINT64_C(0x56D4EEFEB3EC4B2E)}},
+        {{UINT64_C(0x029DC51C3894EB7E), UINT64_C(0xF4AAE8789D9876B7),
+          UINT64_C(0x0FCD3C74E2388A33), UINT64_C(0xAD4C4CF791E31014),
+          UINT64_C(0x34F61FF111977D22), UINT64_C(0x984416FD7AAFC8D7),
+          UINT64_C(0x4A4413615DAE6048), UINT64_C(0x50D2387B7B1AFA0C)},
+         {UINT64_C(0xD8BE85A1BB8211DB), UINT64_C(0x195092C3DD31FED9),
+          UINT64_C(0x1F6FE6ABC1764C23), UINT64_C(0x6A25DE233F067D75),
+          UINT64_C(0x8DB614AAA244AA1D), UINT64_C(0xAB0D747325B11975),
+          UINT64_C(0x714067C5C036EA42), UINT64_C(0x379935D66F3B1132)}},
+        {{UINT64_C(0x1E8339D48E762CB5), UINT64_C(0x1857091C0DF30209),
+          UINT64_C(0x2E4AC9A729523926), UINT64_C(0x5983F6D2B7D5A5BB),
+          UINT64_C(0xA99D8D11F31262FE), UINT64_C(0xE722945DA5CAB7C2),
+          UINT64_C(0x3196BFBDE8767862), UINT64_C(0x43707848A59924F6)},
+         {UINT64_C(0x8F0E368AC78D8788), UINT64_C(0x50811A264BF7DA53),
+          UINT64_C(0x9E0CB8FEDCA664FF), UINT64_C(0xD2B8DFA082EDADD5),
+          UINT64_C(0x09C457724A0C48E4), UINT64_C(0x6EC46A5C22511381),
+          UINT64_C(0xF5810BB4313E87CC), UINT64_C(0x20C5F006AB5A6BAB)}},
+        {{UINT64_C(0x76C6F60AD87A06AF), UINT64_C(0xAB7144AD78FDEBB5),
+          UINT64_C(0x956C36E75646A659), UINT64_C(0x5477D0F6B785E745),
+          UINT64_C(0xFE9FF2324594BC06), UINT64_C(0x1783B9A03039A102),
+          UINT64_C(0xD41E6C5A90DB0AB3), UINT64_C(0x43749FB47550121F)},
+         {UINT64_C(0xB7C6D143D17CA661), UINT64_C(0xB1591F572B73135D),
+          UINT64_C(0xF03232C9C62DFF62), UINT64_C(0xD3D1C629CAF25761),
+          UINT64_C(0xF633733F4B67D224), UINT64_C(0xCFBBC0D0764EBF02),
+          UINT64_C(0x41CC07DD63C7EE19), UINT64_C(0x53BC8A63E8B36CB5)}},
+        {{UINT64_C(0x1E9F596C74CAF7FF), UINT64_C(0x8088EF968C049872),
+          UINT64_C(0x3A9EA96ECE1208BF), UINT64_C(0x892C44E715DAF25D),
+          UINT64_C(0xAF6E1EBF5E996AE4), UINT64_C(0x0A6EEE3CBAC1A746),
+          UINT64_C(0x9D471CB1CAF162F6), UINT64_C(0x13F7192AE6BE08F1)},
+         {UINT64_C(0xCE44C77A49FBB46D), UINT64_C(0xA7B9136F5A04A72E),
+          UINT64_C(0x6CA33EC42B937703), UINT64_C(0xD4B3AAB5E8685FFF),
+          UINT64_C(0x8EFE02B3E7207EF1), UINT64_C(0xB138C46DB83D0E5A),
+          UINT64_C(0xB73E636AF6C29885), UINT64_C(0x5C1E124272567A55)}},
+        {{UINT64_C(0xDD967B6A15137904), UINT64_C(0x4588BAA76969B92D),
+          UINT64_C(0x99580A4C5E2BA269), UINT64_C(0xE80802B4915645CD),
+          UINT64_C(0x7246F3F2FB6591AE), UINT64_C(0x68C2F8C6CC25F464),
+          UINT64_C(0xB5172E904905AE3C), UINT64_C(0x6860BBDD675591B3)},
+         {UINT64_C(0x68BE15C0626489DF), UINT64_C(0x65EA3D880C737BEB),
+          UINT64_C(0x9EF8B6CC32B5081D), UINT64_C(0xA6238BB1B16FF753),
+          UINT64_C(0x22191589E17264C8), UINT64_C(0xDBDAE7A3903E28DC),
+          UINT64_C(0xB36FCD91F2DBCB8E), UINT64_C(0x01EBFAC475D33835)}},
+        {{UINT64_C(0x7B0EE204BC820AEC), UINT64_C(0x500DA7FC8568C4E8),
+          UINT64_C(0x992A6429B0961D29), UINT64_C(0xA3CAE853E65D7FDA),
+          UINT64_C(0x7B6F5E7934197E58), UINT64_C(0x90D37EACC4E849CB),
+          UINT64_C(0xE01D14AF0106FD33), UINT64_C(0x4BE8367980027E17)},
+         {UINT64_C(0xA412BA38A85EE145), UINT64_C(0x219D461E5097CD50),
+          UINT64_C(0xAD42175C29ECFCDA), UINT64_C(0xB1DEF962D04FAEFA),
+          UINT64_C(0x5B527A4BA95983C1), UINT64_C(0x48A06C96BB20AB6D),
+          UINT64_C(0x7BAD34CD1FB83513), UINT64_C(0x458294DFFDF018ED)}},
+        {{UINT64_C(0x1D1EBD7EA695A157), UINT64_C(0x296DD049C52D5ED9),
+          UINT64_C(0x8958F5B00BE33F05), UINT64_C(0x6B7F7204D37E60D7),
+          UINT64_C(0x446F7B95C668C85A), UINT64_C(0xB6E53B2020F60396),
+          UINT64_C(0x5738FF4E8E621E73), UINT64_C(0x05DBD4958CD9F00C)},
+         {UINT64_C(0x645AD9D6CFECAA9D), UINT64_C(0x01CB8E093CEF6673),
+          UINT64_C(0x2851ED4E06D13DA7), UINT64_C(0x61FE9A95CB18DFCB),
+          UINT64_C(0x62CC060FF903CBFE), UINT64_C(0x121B6E4EF14B0B1B),
+          UINT64_C(0x8CAB6654C4DEC6F3), UINT64_C(0x718809984B40D6D4)}},
+        {{UINT64_C(0xEE5CA2A49583FB84), UINT64_C(0xEF16CD074462D044),
+          UINT64_C(0x1C1D599921EBB18F), UINT64_C(0x66D7586B0AACAD30),
+          UINT64_C(0x8EDF0A452EB12D8B), UINT64_C(0x1A320A44223DE805),
+          UINT64_C(0x0A389DA0A0C2F092), UINT64_C(0x274FF5417E68A2D9)},
+         {UINT64_C(0x6CC34B5330395E54), UINT64_C(0x881E630B8C112729),
+          UINT64_C(0x801E1CAD70E4C811), UINT64_C(0xA527AE8291C2E90A),
+          UINT64_C(0x93179BC8562AE094), UINT64_C(0xCE68A130148F4F44),
+          UINT64_C(0xD8CA2ED032F8CCFD), UINT64_C(0x0415FDA40527F82B)}},
+        {{UINT64_C(0x9F5CA1FD25AED793), UINT64_C(0x5B95B9AA09C49711),
+          UINT64_C(0x386C8FBBB968168C), UINT64_C(0xC6B27D7DBDC778F4),
+          UINT64_C(0xBD5439A2321A9D97), UINT64_C(0xEA40A5FEDC4BA6A0),
+          UINT64_C(0x94913F0F962508AA), UINT64_C(0x0D2DD91AB247396E)},
+         {UINT64_C(0x1F459CF117C64EFF), UINT64_C(0x02E10B550137E003),
+          UINT64_C(0xFC375FE460F82DFB), UINT64_C(0x9CCA9D6E4631ECED),
+          UINT64_C(0x575C197CE5053FDA), UINT64_C(0x2EA3ECEE0A5B9670),
+          UINT64_C(0xE69DECA1A6F50038), UINT64_C(0x32F452FBE8EDDA74)}},
+        {{UINT64_C(0x20980611D9E4C490), UINT64_C(0x827D79F174825DDD),
+          UINT64_C(0xB4604E04218E0B22), UINT64_C(0x0A7E5E3A1F4F1752),
+          UINT64_C(0x50260245243D8298), UINT64_C(0xEBF01C841A2101B7),
+          UINT64_C(0x369E69AE69E1A262), UINT64_C(0x5FD078684C1C960A)},
+         {UINT64_C(0xC542D34BA8F15793), UINT64_C(0x08F14B8FE393381E),
+          UINT64_C(0xB6E06E97F855CD9F), UINT64_C(0x47A195EDA6CEE8C0),
+          UINT64_C(0x8776F026B05A740D), UINT64_C(0x811D7AD6AC8EC060),
+          UINT64_C(0xA61E5D2729002EFB), UINT64_C(0x3D51D70E0C78E746)}},
+        {{UINT64_C(0xC0D70275C99E1438), UINT64_C(0x0E95C0ECFD5EE6B2),
+          UINT64_C(0xE14F58B039E6733E), UINT64_C(0x057B179EB4941C24),
+          UINT64_C(0x5E12F07F93C0A5EF), UINT64_C(0xF600367D05E72CAB),
+          UINT64_C(0x89FCB008899F259F), UINT64_C(0x2654687C9C3E30E7)},
+         {UINT64_C(0x85B7F9B73F148638), UINT64_C(0x8088F4F29EAEE0B4),
+          UINT64_C(0xA741D2703A7CAFD7), UINT64_C(0x8973A806DB5B5339),
+          UINT64_C(0xAAF4E75C22DDCAA9), UINT64_C(0xA2450A79CBB763CB),
+          UINT64_C(0xBE1B3F2A016E5E3D), UINT64_C(0x4B1061B2CCECC258)}},
+        {{UINT64_C(0x2F28689AC9C8A23A), UINT64_C(0xD8FB298059341E8C),
+          UINT64_C(0xD3617B26375ACDAD), UINT64_C(0x314FA469513ED120),
+          UINT64_C(0xFEB30225E2F8DF55), UINT64_C(0x29E001AF1F639D66),
+          UINT64_C(0xA175DDD4DBDC9737), UINT64_C(0x6A778E4F8015C048)},
+         {UINT64_C(0x4612651ECC55DBA8), UINT64_C(0xE853ADDE2B3C7B06),
+          UINT64_C(0x14B2D0B76E0B2E41), UINT64_C(0xCA4F0872EE804E0B),
+          UINT64_C(0xEA2AFCA5F893D931), UINT64_C(0x6EB018919BE51B1A),
+          UINT64_C(0xB0D8500D1F2769F1), UINT64_C(0x1303BA01A47FFC13)}},
+        {{UINT64_C(0xBED58425B43811EA), UINT64_C(0x57D7E5364E52E1D6),
+          UINT64_C(0x93DE67FEBF5EF913), UINT64_C(0x2CCDA4E32713FC52),
+          UINT64_C(0xC5C1B6F08F1FA4BB), UINT64_C(0xA267A790A725295F),
+          UINT64_C(0x13BB7D112D219844), UINT64_C(0x7FAF96A275415602)},
+         {UINT64_C(0x7879EDF44E4C3CE4), UINT64_C(0x9CD59A0D3BF094F7),
+          UINT64_C(0xD7976DEB4A882A52), UINT64_C(0x19EBBC10BA65AFBA),
+          UINT64_C(0xABC373502D48D187), UINT64_C(0x5D5CA6C31236B5F9),
+          UINT64_C(0xDFA55AC2915EAF61), UINT64_C(0x6C54515EE8735632)}},
+        {{UINT64_C(0xB1CD06DEDC21B326), UINT64_C(0xD6F6F904E4AE6148),
+          UINT64_C(0x941B7545FA13BE52), UINT64_C(0xD527042FDF7CE61B),
+          UINT64_C(0x1AB4495ED9C9BBDB), UINT64_C(0xA5CBE7C5BF6582BE),
+          UINT64_C(0x1D0B5BA241A1DA90), UINT64_C(0x6F99305C0A810954)},
+         {UINT64_C(0x866C254F40D3954D), UINT64_C(0x5DEBFF4D2E5A123D),
+          UINT64_C(0x14AB6FB8AD23124C), UINT64_C(0xAE3C32B6C6B13624),
+          UINT64_C(0x74075FF6707528BA), UINT64_C(0x55DA7227E91D5097),
+          UINT64_C(0x450D38486A9C3469), UINT64_C(0x15818A1E2313EBA2)}},
+    },
+    {
+        {{UINT64_C(0x27BE68B414125D01), UINT64_C(0x875491142482BF94),
+          UINT64_C(0xE8B709318D0C8AF2), UINT64_C(0xF38D32BF11344A8B),
+          UINT64_C(0xCB7CDFD163136143), UINT64_C(0x717954CDA17D7DE5),
+          UINT64_C(0xD65BDD447C10DF5E), UINT64_C(0x15C45F814E821D20)},
+         {UINT64_C(0x7D425E66D9C326C4), UINT64_C(0xEEA0D61A1C7B4BCD),
+          UINT64_C(0x41A8654A8707E9C8), UINT64_C(0xBA9E8F7C0B4A8F46),
+          UINT64_C(0xB96A24FCF2739871), UINT64_C(0xA9BA022FFD9C9D58),
+          UINT64_C(0x59F7C2972C9AE418), UINT64_C(0x6B82C284B0CDD468)}},
+        {{UINT64_C(0xD4C5486A58483FA2), UINT64_C(0x8F140259EDC6A022),
+          UINT64_C(0xE451FB0CC43116F8), UINT64_C(0x5368FE4765DF7628),
+          UINT64_C(0x0F0DCC6DBC70855A), UINT64_C(0x0E726D87472BFE81),
+          UINT64_C(0x9C64B7163C024F88), UINT64_C(0x1ABAE0D814FF6089)},
+         {UINT64_C(0xC0ABA6B3B5A15618), UINT64_C(0x71FAA6DF65CE0681),
+          UINT64_C(0x3199E2C939A6F5BF), UINT64_C(0xD8EBFEDA85BCF47E),
+          UINT64_C(0xC3D57D3BC262A35F), UINT64_C(0xF0D6338E0269DFDE),
+          UINT64_C(0x09072E1E0E6D0BF0), UINT64_C(0x0980E2914128B1BA)}},
+        {{UINT64_C(0x6A2023F84DE44CB0), UINT64_C(0xEA995754247A7D5B),
+          UINT64_C(0xD850D17999102324), UINT64_C(0x126FDFE2A906B038),
+          UINT64_C(0x4C3B3696577DF168), UINT64_C(0x9D3A9E079E3853EA),
+          UINT64_C(0xBC21A51E40ACE3A1), UINT64_C(0x165065A3C51DD652)},
+         {UINT64_C(0xF5B255B9E4BBD96B), UINT64_C(0xC1E91F803D94F9D6),
+          UINT64_C(0x7DDB5BB784768FCE), UINT64_C(0x33F7ADF65CA35823),
+          UINT64_C(0x3667E17433097882), UINT64_C(0x5FDC3BA18F241DC1),
+          UINT64_C(0x41F5C737172CD7FC), UINT64_C(0x64D4116E7986FE8D)}},
+        {{UINT64_C(0x2FF0F5058C89DED4), UINT64_C(0x06507852BBBD0897),
+          UINT64_C(0x628865211FAD2908), UINT64_C(0xB8A1362E9F5F4D13),
+          UINT64_C(0x83075FE66E9856FD), UINT64_C(0x06B0BA277CCEDC4D),
+          UINT64_C(0x09B81B5152750DD5), UINT64_C(0x12A96BB0CB59D8F1)},
+         {UINT64_C(0xCA4BC3A5DB43958B), UINT64_C(0x6456C11B94C12E88),
+          UINT64_C(0x7EFA99FFAC330EE6), UINT64_C(0x56973CADF40AEBEC),
+          UINT64_C(0x62522E6BC5D73A2A), UINT64_C(0xF4538CA890F4378B),
+          UINT64_C(0xE5447FCB1BA585B1), UINT64_C(0x6C3F50C218376AB9)}},
+        {{UINT64_C(0xC0156EB6E1720FC1), UINT64_C(0xE0F821EEFFEE4BA3),
+          UINT64_C(0xC0B4EF97D0B530C5), UINT64_C(0x003BB1161A47CDAA),
+          UINT64_C(0xA5837856464EC84B), UINT64_C(0xD65BA195E0E63A97),
+          UINT64_C(0xB22C0F5FA375112F), UINT64_C(0x18D81698A7F7BDC1)},
+         {UINT64_C(0x5FD3C5E591E78A50), UINT64_C(0xE5EE4EB997D10A66),
+          UINT64_C(0xF74BD0859FA305DA), UINT64_C(0x519BC6765485E038),
+          UINT64_C(0x7D3E6E21DE116ECE), UINT64_C(0x10D68B8C4221F32B),
+          UINT64_C(0xE41D74A9565C1614), UINT64_C(0x191561DD2E728554)}},
+        {{UINT64_C(0x527CD25501C9BD19), UINT64_C(0x01879769913FA68C),
+          UINT64_C(0xE9BF7700D76B7FCB), UINT64_C(0xCEA4EE4102B92508),
+          UINT64_C(0x739154CC34D015A1), UINT64_C(0xD1F1F1AC44C3F451),
+          UINT64_C(0x1DF5A4AA7905A732), UINT64_C(0x081AFEB8B67F7057)},
+         {UINT64_C(0x8A0EDEC0671D0F79), UINT64_C(0xE99B4B79442928EE),
+          UINT64_C(0x4A722AC72C1557B0), UINT64_C(0x95070ED603021BBE),
+          UINT64_C(0x9E1E6418672C3F05), UINT64_C(0x8733726389B0C1A6),
+          UINT64_C(0xB67B8831008A3B13), UINT64_C(0x4F44986BB059BE83)}},
+        {{UINT64_C(0x09A5B3C92CB15C97), UINT64_C(0x43E1B906F9B4777D),
+          UINT64_C(0x3BAB3A6466A5BC88), UINT64_C(0x276632BB7D82E655),
+          UINT64_C(0xD09388D1D97D5CE2), UINT64_C(0x26B0339DCA1248C5),
+          UINT64_C(0x05F0A24111F2A8BB), UINT64_C(0x1F498EBAB7F68A8A)},
+         {UINT64_C(0x265C09CFD0DD019B), UINT64_C(0x01A0FE11958B91C2),
+          UINT64_C(0xF55D56ED5A389069), UINT64_C(0x9E5DE2CA1A18A889),
+          UINT64_C(0x4F4C9D39065A1799), UINT64_C(0xB5CB916F7213B184),
+          UINT64_C(0x1941E104B5D0926E), UINT64_C(0x6EC375E82E03CFB8)}},
+        {{UINT64_C(0x80F444EDB57B1B5D), UINT64_C(0x2E5315E77D4EFD6C),
+          UINT64_C(0x9272EBA7868CC07F), UINT64_C(0x19EC814D31A8EA6E),
+          UINT64_C(0x9EE92D03F29FCDBF), UINT64_C(0xDBF8AB6B2E8408C3),
+          UINT64_C(0xA0E845FBA103D807), UINT64_C(0x2A6A6B311CA3992E)},
+         {UINT64_C(0xF58B6F6C1C391D76), UINT64_C(0x9E385BB213687C07),
+          UINT64_C(0xF6EE205B6BAEBBF5), UINT64_C(0xB2D7D412A706C6C5),
+          UINT64_C(0xCFE32A97CD887640), UINT64_C(0x2783CFE9D93A1136),
+          UINT64_C(0x601DE429F4D34FA7), UINT64_C(0x1E433BB86EA85459)}},
+        {{UINT64_C(0x8BCB9073D618AD6A), UINT64_C(0x84CDBD19996FE814),
+          UINT64_C(0xB1F5FFDB166793B9), UINT64_C(0x5FA22BADEDE62FB4),
+          UINT64_C(0xC1C1C3947019C1EB), UINT64_C(0x7A02619108AA77F0),
+          UINT64_C(0x026EE69DA32E5855), UINT64_C(0x5356399780B81284)},
+         {UINT64_C(0xF46C064F5E0B9ABB), UINT64_C(0x39332D2CE8A0FE23),
+          UINT64_C(0xBD50EE1C0BE9ECC5), UINT64_C(0x9B4A4CC08DE1B166),
+          UINT64_C(0x4BBA7B7B56713AAF), UINT64_C(0x2CA8EF64F1C76C54),
+          UINT64_C(0x1022D9F4CEB309E8), UINT64_C(0x4F1375BC15A18D10)}},
+        {{UINT64_C(0x09CF4EBA9198331C), UINT64_C(0x232CA52D7D60EA39),
+          UINT64_C(0x2C4780892FC3A96E), UINT64_C(0xC7F9A36C80CB5721),
+          UINT64_C(0xEDA98A0C2D8802BE), UINT64_C(0xC74130483C41B152),
+          UINT64_C(0x479DF24FA74D701C), UINT64_C(0x7A92C3F151869D52)},
+         {UINT64_C(0xC1AB98B3F00BA577), UINT64_C(0x5A687BA4B7778354),
+          UINT64_C(0xF5A77B64157FB1D2), UINT64_C(0xB9F746AE81BBAFEE),
+          UINT64_C(0xBA33EBDC1BEE9D2D), UINT64_C(0x6FE41BC1D046655C),
+          UINT64_C(0x2A8CB913ACC3A496), UINT64_C(0x7CBC537D6AC2B374)}},
+        {{UINT64_C(0x55C19B5E538ED4B1), UINT64_C(0x6AA0E45661891DAE),
+          UINT64_C(0xD77CA0C2CD971AE7), UINT64_C(0xB23434F770294F78),
+          UINT64_C(0x3B87D75914D25513), UINT64_C(0x2A37CFD28B94F435),
+          UINT64_C(0xF63B09623F3F32FF), UINT64_C(0x6387EFB998B5916A)},
+         {UINT64_C(0xB2826971F35951D8), UINT64_C(0xD1DDCB0A996C5518),
+          UINT64_C(0xA5E88B2D3669304A), UINT64_C(0xEA5685BDC53DEDB7),
+          UINT64_C(0x2DD72E086A446FA0), UINT64_C(0xFA2689EFEA074FF8),
+          UINT64_C(0xC3430BBE7A8302C3), UINT64_C(0x098A5073E98D1CD5)}},
+        {{UINT64_C(0xCF5D95C244EE6CC4), UINT64_C(0x5D5278B5CE04027F),
+          UINT64_C(0xEA0F4D01C1D26E0E), UINT64_C(0xA79154F3AB2E71FB),
+          UINT64_C(0x27BBA6EEDC59126C), UINT64_C(0x269EB8B7632BEE8F),
+          UINT64_C(0xD589400853BB6C55), UINT64_C(0x7698DA12222DDE2B)},
+         {UINT64_C(0x826DF5A3B5D03BC6), UINT64_C(0xFAADAD56E126406F),
+          UINT64_C(0x2EC70B6468849D5F), UINT64_C(0x9DDF89911D799E78),
+          UINT64_C(0xB2AEAFC5D4DE8AC5), UINT64_C(0x7A167F8FE114AD71),
+          UINT64_C(0x9DCD07BC13AA2EDF), UINT64_C(0x531A5A3D6651BD12)}},
+        {{UINT64_C(0xDE7CE2AD82E7C32C), UINT64_C(0x2C9908EA2D0742C3),
+          UINT64_C(0xDA528D69056F7C69), UINT64_C(0x1FE6E3EB704BFDCD),
+          UINT64_C(0x9C1EEDDF79B0F586), UINT64_C(0x0F6F81FB481E83F6),
+          UINT64_C(0x17DB66C0E007286E), UINT64_C(0x3607EC131802CD99)},
+         {UINT64_C(0xCCB2B85C6F216120), UINT64_C(0x7B9EA544E51C2036),
+          UINT64_C(0xB14CD3615428771E), UINT64_C(0x978C458E03C6BD02),
+          UINT64_C(0xEA43C163EACEB25A), UINT64_C(0xB590D2D76B85CBB9),
+          UINT64_C(0x10B8EB8619C45D61), UINT64_C(0x2E5AF3E0A1FC40DE)}},
+        {{UINT64_C(0x465C626190D2EA3E), UINT64_C(0x6B10583C3E11EFC6),
+          UINT64_C(0x1E3A113224958F6C), UINT64_C(0xCB895C3BB3336EA5),
+          UINT64_C(0xCA995E605F89EEA1), UINT64_C(0x725FB30B199719B0),
+          UINT64_C(0xC6897E80F8061D92), UINT64_C(0x56680A532CFBFB75)},
+         {UINT64_C(0xA770755DD13E5E25), UINT64_C(0xC33F71B0FB78D704),
+          UINT64_C(0x7B2322E7A101B288), UINT64_C(0x03ED4A92C1075A9E),
+          UINT64_C(0xBF4359844B8CB0D4), UINT64_C(0x6C61DDF360F8188C),
+          UINT64_C(0x760339E14D04EA1B), UINT64_C(0x18B7FE1346CE38BC)}},
+        {{UINT64_C(0x7AA91562838C109E), UINT64_C(0xBBCAE1A4EF910EAF),
+          UINT64_C(0xF3CAD5ADA3F53427), UINT64_C(0xF8FA6F08AA559EE9),
+          UINT64_C(0x35DF7AA59B872C03), UINT64_C(0x0A3C67898F1C0B48),
+          UINT64_C(0xE4106F6F3B1F9ABD), UINT64_C(0x51EE882B7DAA3EA0)},
+         {UINT64_C(0xFAE35FE0A97C031B), UINT64_C(0x265CC7A22FB341D9),
+          UINT64_C(0xF99D1646F7515098), UINT64_C(0x3630DCFCA70C3101),
+          UINT64_C(0x0D492AE5984A7736), UINT64_C(0x1E46ACB5A65956C5),
+          UINT64_C(0x87E193D09C39921B), UINT64_C(0x1AA85A4B71406E88)}},
+        {{UINT64_C(0x6875F76226B55827), UINT64_C(0xC6E92CB628C694F4),
+          UINT64_C(0xC3DA1CFB57E83283), UINT64_C(0x2DAD4640FC91E16A),
+          UINT64_C(0x27238EDF079E48FB), UINT64_C(0x8262F37E4676F002),
+          UINT64_C(0xF1DF56857E20A097), UINT64_C(0x710B88301D647DBF)},
+         {UINT64_C(0xF521938F55F50EC5), UINT64_C(0x86E72C2D5A65EC57),
+          UINT64_C(0x72E72E109E067563), UINT64_C(0x1C572F372941350F),
+          UINT64_C(0x0234F61327E00FBF), UINT64_C(0xA33CCF1AE0605A65),
+          UINT64_C(0xFDB2433A9BE4C255), UINT64_C(0x18374CEBDD7E45CD)}},
+    },
+    {
+        {{UINT64_C(0x9E00FC840CEEC3F3), UINT64_C(0xA758AA230D2268DF),
+          UINT64_C(0x5C9B3794D36F482D), UINT64_C(0xEE3F79CFE90303E7),
+          UINT64_C(0x22573217D1BB3495), UINT64_C(0x6D5C2063D2242A7E),
+          UINT64_C(0x339BEDB8876A074A), UINT64_C(0x6326870395CD5AA2)},
+         {UINT64_C(0xA86B4EF91B0CAE7B), UINT64_C(0x420985B43DB7D12D),
+          UINT64_C(0x99A3BB296B1CEED3), UINT64_C(0x2113B00F3569FA9E),
+          UINT64_C(0x2C5924208E8BF2D8), UINT64_C(0xF74DD63B00DB962B),
+          UINT64_C(0x8F0523E59758035F), UINT64_C(0x4EA1D81A448F83C0)}},
+        {{UINT64_C(0x01183057AAB1F908), UINT64_C(0xAF94AE9A324AC197),
+          UINT64_C(0x6BF3B50D23710A59), UINT64_C(0x9B65A594C39A3428),
+          UINT64_C(0x345E5C522210C08A), UINT64_C(0x6D728DD623216FE9),
+          UINT64_C(0x9D09327B2E4F42C2), UINT64_C(0x47504F6209505F44)},
+         {UINT64_C(0x24F03D12FB3AD9B5), UINT64_C(0x70E8DE3C439F3E25),
+          UINT64_C(0x1FE89F0EAE5A62FE), UINT64_C(0x3B518A064B98CDA2),
+          UINT64_C(0x725AE18CC70FF3F3), UINT64_C(0x45765C3502BA4952),
+          UINT64_C(0xBAA6488DA7C32E49), UINT64_C(0x5D277639C5A2E6D7)}},
+        {{UINT64_C(0xE3818693BD6F5DF9), UINT64_C(0x482D93578307A5AD),
+          UINT64_C(0x82B507F2323D211C), UINT64_C(0x9E382A7192967D94),
+          UINT64_C(0x4327BB2AB3BFF973), UINT64_C(0x911FF5F4AC87D95A),
+          UINT64_C(0xD21289613BEF8BFB), UINT64_C(0x43E2ED58B8FA196B)},
+         {UINT64_C(0x74359D2CD5D4F65F), UINT64_C(0x7FE8B0D1401FC20D),
+          UINT64_C(0xAA9C0EBCC012734A), UINT64_C(0x54BB07EDBC05E810),
+          UINT64_C(0x09744AB894C9B39B), UINT64_C(0x1B29E64A47E3E6E7),
+          UINT64_C(0x82082F863B728BB9), UINT64_C(0x5DA4AF1DE159E167)}},
+        {{UINT64_C(0xD838425EF80E5A20), UINT64_C(0x1701F0F47AA52E54),
+          UINT64_C(0x2BC3E0243B0EF4D7), UINT64_C(0x13DED370BD8C9C7E),
+          UINT64_C(0x93A9BCB03853E414), UINT64_C(0xBA7528320B81BBA1),
+          UINT64_C(0xBE267CE569F51EC3), UINT64_C(0x2DD1339181D034EB)},
+         {UINT64_C(0x78E02B77EAB11B6E), UINT64_C(0xDC2C14F2D67C3B1C),
+          UINT64_C(0x3407014C87193F9F), UINT64_C(0xA5187CAC580D2A6C),
+          UINT64_C(0xA76AD3CB254FB63B), UINT64_C(0x16A7A635FA5EC4B7),
+          UINT64_C(0x8B1E623D358A7E00), UINT64_C(0x12DED0AEE428EB45)}},
+        {{UINT64_C(0xEC93FF3E42D2628B), UINT64_C(0xF3E153F84D6D15AD),
+          UINT64_C(0x9C1D3EE7B269AFEF), UINT64_C(0x1DC9ED6B2596D285),
+          UINT64_C(0x1D99A25FDA973D5C), UINT64_C(0x6D0CC657575656A3),
+          UINT64_C(0xB5FBD5739BE5B314), UINT64_C(0x2D0AF3814BCB4F6B)},
+         {UINT64_C(0x813C697542992580), UINT64_C(0x5F35F31BD9C88B9F),
+          UINT64_C(0xD62AC131F1315EA8), UINT64_C(0x6898E20F20AEAF30),
+          UINT64_C(0x85A2C8AF733A3518), UINT64_C(0x60BB0AE042DFC623),
+          UINT64_C(0x5BE9C6827F5A3320), UINT64_C(0x781531140795B27B)}},
+        {{UINT64_C(0xEBA2445D5BFB1A8F), UINT64_C(0x23CA73DBE3A37647),
+          UINT64_C(0x1D41C8EA09D6A2E8), UINT64_C(0x837CB597B9CA389A),
+          UINT64_C(0x66B0A05A1DAF5EF4), UINT64_C(0xD1EC0B2B79720DD3),
+          UINT64_C(0xA4EBD63334EC20E5), UINT64_C(0x3CBE3C4B96CB4933)},
+         {UINT64_C(0x5DFBCA31EAB154BD), UINT64_C(0xA95532F9086B4B02),
+          UINT64_C(0xD6D5A0140ECE8177), UINT64_C(0xA2BD7647C1701606),
+          UINT64_C(0xA051332728947FD0), UINT64_C(0x941ADE30FB8D79A4),
+          UINT64_C(0xE793B659A5399FC5), UINT64_C(0x0CBA91FE7A2DAACF)}},
+        {{UINT64_C(0x6EDE3A1AF5D6C8A5), UINT64_C(0x18C47EFC5B8C138E),
+          UINT64_C(0x997CB33C7B418D78), UINT64_C(0x5269B9B083E40686),
+          UINT64_C(0x85054DDC8A20DE43), UINT64_C(0x0FF62C389485BF29),
+          UINT64_C(0x8D769D160EF78B00), UINT64_C(0x53D4361998B54D2D)},
+         {UINT64_C(0x7CAC1C68C6B6FC2F), UINT64_C(0x4F4FB16BBA127B4F),
+          UINT64_C(0x613B15EFB003EE2B), UINT64_C(0x51D36B347121BA05),
+          UINT64_C(0xA33E6C3670C1BD53), UINT64_C(0x0D786268EEF75FCD),
+          UINT64_C(0xEE9064EC425A7776), UINT64_C(0x640F4FE31B720CA1)}},
+        {{UINT64_C(0x0D80E5DCDE5EB014), UINT64_C(0x8B87C2C5FB6F0966),
+          UINT64_C(0x440E812F7F7A8B3D), UINT64_C(0x4129E117D930CD64),
+          UINT64_C(0x19224A1FBB1AD89B), UINT64_C(0xFF6582C11B9CF977),
+          UINT64_C(0x0C279A282ED4B99F), UINT64_C(0x5985FA3261859FE3)},
+         {UINT64_C(0xE807ADC1FD425835), UINT64_C(0xD0F0F7C652CC2AFA),
+          UINT64_C(0xF3B06F655C43ECC0), UINT64_C(0xC308696A5F15A3D0),
+          UINT64_C(0x00DC3AA797174601), UINT64_C(0x8FC6B2DE81B1A96F),
+          UINT64_C(0x0E4646A22071B8F4), UINT64_C(0x4D8B4DA5E92B7E14)}},
+        {{UINT64_C(0xA371921925133E4D), UINT64_C(0x76EC51481211714A),
+          UINT64_C(0xB5C0EC5675C6B433), UINT64_C(0xE1DFD7B314240932),
+          UINT64_C(0x319F8E99239466CA), UINT64_C(0xA6D0F9EC35FED9C2),
+          UINT64_C(0x19FC4B44C41F492E), UINT64_C(0x36D24698B8CF87F2)},
+         {UINT64_C(0x789735C0C74D1AAA), UINT64_C(0x0C0DBF5F6B21C410),
+          UINT64_C(0x157DEB3C4DCAACF0), UINT64_C(0xA7D53A569826FE13),
+          UINT64_C(0xB4F2E8848E151D58), UINT64_C(0x6CD528BDA51FDECE),
+          UINT64_C(0x7EF7FA0E6F669DBD), UINT64_C(0x5250D79D666F1F7B)}},
+        {{UINT64_C(0xC33D5CC302CBADB6), UINT64_C(0xF51C5ABFC56345D9),
+          UINT64_C(0x0B2FED493B5E86CE), UINT64_C(0x86599A1D480D2793),
+          UINT64_C(0x15CA7826A8F96CB6), UINT64_C(0x0577868C5DA5D7C0),
+          UINT64_C(0x0292603BF8B7F740), UINT64_C(0x49C31FB585445AB2)},
+         {UINT64_C(0xCFF51BEBEFDB9DA0), UINT64_C(0x1C552A239DA2096C),
+          UINT64_C(0x6FAC5D64416FD3D7), UINT64_C(0x7F6CD9A75F5F2D95),
+          UINT64_C(0x98BD5C7F1E91AB28), UINT64_C(0x95132D69DAC6FFA2),
+          UINT64_C(0x5611638C4C6BDC19), UINT64_C(0x79320E840DDCBF9E)}},
+        {{UINT64_C(0x2B07BCB228AD172D), UINT64_C(0xFBD855539AABAAA7),
+          UINT64_C(0x466FF9B8715A69DA), UINT64_C(0xA5EE097A5DF8355B),
+          UINT64_C(0x5E81EF3694527A84), UINT64_C(0x0FD8285862E79307),
+          UINT64_C(0xF77154C67A0154D8), UINT64_C(0x706EA85717F87D8C)},
+         {UINT64_C(0x696280B6EDF504A7), UINT64_C(0x8E2FDF940D58FD9E),
+          UINT64_C(0x4582C0650A6463DF), UINT64_C(0x5DC2DECD68B7389B),
+          UINT64_C(0x98D77559D2CFCF3C), UINT64_C(0x4E652C83E277A1EA),
+          UINT64_C(0x81FA94F722B153DC), UINT64_C(0x6B86C4CB27250748)}},
+        {{UINT64_C(0x31FA2A569050FD42), UINT64_C(0x72FEACD1FDCEFA17),
+          UINT64_C(0xDC60ED6384A8F817), UINT64_C(0x584DADB824332D2E),
+          UINT64_C(0x44D7CF2E3C47EB6B), UINT64_C(0x905E2D0E9A6BC268),
+          UINT64_C(0x501FE4486EF013BE), UINT64_C(0x733E11DA999445A7)},
+         {UINT64_C(0x7EBF9F56B4A90B6B), UINT64_C(0x526D56854364F578),
+          UINT64_C(0xBF9B3EF7BE950B53), UINT64_C(0x6C5EEE0A73D295F8),
+          UINT64_C(0x4A79F9A73F9CFD38), UINT64_C(0xA8C15D285C348121),
+          UINT64_C(0xDB33882F7BC3EEA7), UINT64_C(0x164B6C981C95C7DB)}},
+        {{UINT64_C(0x99A0B2F1876E8E37), UINT64_C(0x9540376E7D53142D),
+          UINT64_C(0x9D87809D6F20C705), UINT64_C(0x1305C33BB0FDE5DE),
+          UINT64_C(0x172DFA23DF9311EB), UINT64_C(0xC55A603CB8B9A7ED),
+          UINT64_C(0xF4426DA9398CDDF1), UINT64_C(0x7EE621B093395515)},
+         {UINT64_C(0xBBD0B9E97190296B), UINT64_C(0x244FFECC817E9802),
+          UINT64_C(0x572B5387071D598F), UINT64_C(0x8314EF61D2B681E2),
+          UINT64_C(0x8F8CA790639B8713), UINT64_C(0x81FD3C40F265F881),
+          UINT64_C(0x05EC87EA78DB97D0), UINT64_C(0x7C279328E4CB4B7D)}},
+        {{UINT64_C(0xF385F057A3B4A536), UINT64_C(0x14C2337F4844689C),
+          UINT64_C(0x3523F9A98B5FFFB0), UINT64_C(0xF5E10A66A5E078C2),
+          UINT64_C(0xC5DDD8699EEAC34E), UINT64_C(0x16348B68ED24D386),
+          UINT64_C(0x90992D06EBB0A580), UINT64_C(0x001BD2DB047485A9)},
+         {UINT64_C(0x871A178BDABC2B30), UINT64_C(0xEC9674EC6B5F7DC4),
+          UINT64_C(0xBB3B1C57AC23E5B0), UINT64_C(0x6DBB053044A658A1),
+          UINT64_C(0x28B031C961E53517), UINT64_C(0xC1AB8ED564182250),
+          UINT64_C(0xDA3FE27ED1333B9E), UINT64_C(0x4652F37C71AD4520)}},
+        {{UINT64_C(0xB9C2F8947B2186CC), UINT64_C(0xFA2E5BE557CF825F),
+          UINT64_C(0x71A9C72326232D47), UINT64_C(0xD990D5D4EB1F6B74),
+          UINT64_C(0x0526A74FEE869587), UINT64_C(0xB29047B179F385E3),
+          UINT64_C(0xE9555EB37588AABE), UINT64_C(0x379D31BAE8EDC982)},
+         {UINT64_C(0xD1354749DEC275F9), UINT64_C(0xDC58001638EAAC97),
+          UINT64_C(0x23B6F54D894811E9), UINT64_C(0x8A2356F8838B2AE0),
+          UINT64_C(0x5ECBE0750332F83F), UINT64_C(0x1DE54B95F248814B),
+          UINT64_C(0x3B4D634D963938AE), UINT64_C(0x4C8888A57A5F8CB0)}},
+        {{UINT64_C(0xC6A93408866B8E1D), UINT64_C(0x33DCDEAC3FA8DDAC),
+          UINT64_C(0x7F21F9115DBEC7A8), UINT64_C(0x4C54D4CB888CF7C1),
+          UINT64_C(0x3FBBB373B81E81C5), UINT64_C(0x2946B9BBC50F3415),
+          UINT64_C(0x8EA5487B72265924), UINT64_C(0x3D570399BDEBBFEC)},
+         {UINT64_C(0x86C128FF1939A079), UINT64_C(0x4B37E0819509F043),
+          UINT64_C(0x429912317209D23F), UINT64_C(0x22D2D20768A1134B),
+          UINT64_C(0xA5AF7A3834D6A734), UINT64_C(0x752A81902ED7FCBF),
+          UINT64_C(0x11CC587080FD1D18), UINT64_C(0x1D9ACAE3D189B4DD)}},
+    },
+    {
+        {{UINT64_C(0xE47BFD7FBD6BEAA4), UINT64_C(0x6D4E6C1256A13CBF),
+          UINT64_C(0x66944291955E8CFA), UINT64_C(0xA5D03765E17CB432),
+          UINT64_C(0xB39957CC87350701), UINT64_C(0x5442D545C31F2D8B),
+          UINT64_C(0xB260AC7DA27161B7), UINT64_C(0x633DBFE5272AA5A0)},
+         {UINT64_C(0x6273DAA0CC5C98C5), UINT64_C(0x18117A87F7F5EE34),
+          UINT64_C(0x70638CFDFFC6434F), UINT64_C(0xC3F386EE540FDE06),
+          UINT64_C(0xA97159E3D18B02F7), UINT64_C(0x10E18495EB612449),
+          UINT64_C(0xD572354C3D9E5A31), UINT64_C(0x2642E9F29A2301C1)}},
+        {{UINT64_C(0x01048593442143BC), UINT64_C(0x015299B112B5CE6C),
+          UINT64_C(0x7DB0D76F5F5AEA95), UINT64_C(0xE9E3DA6FD2FB7690),
+          UINT64_C(0x6E4C64AB8904CCF0), UINT64_C(0xDCBD06CCA49B6CCD),
+          UINT64_C(0x7258A3FCB0ABB0C1), UINT64_C(0x07DF0E9459FC214B)},
+         {UINT64_C(0x58804CBF1E7CC675), UINT64_C(0x26CB78C2E80CFBF9),
+          UINT64_C(0xD0A31AF09AE03E99), UINT64_C(0x121F1D3D5C86A88D),
+          UINT64_C(0x421726042507EBB7), UINT64_C(0x1C0477822BBA126B),
+          UINT64_C(0xE85C59C8102027F2), UINT64_C(0x461D9C09CD8232E8)}},
+        {{UINT64_C(0x97B3842A200770DE), UINT64_C(0x4647F3FE77C0536B),
+          UINT64_C(0x37CC9562BF7476D9), UINT64_C(0x90D29C5C2DEA54A8),
+          UINT64_C(0xCD666644C21BF888), UINT64_C(0xEAE36F2FC5CF18C8),
+          UINT64_C(0x903D889AFD93F2C5), UINT64_C(0x037ADD7EE5F67DF4)},
+         {UINT64_C(0xD38FA2DC995AC5D0), UINT64_C(0x69D19EA198A2A549),
+          UINT64_C(0xEC7814C75E8F6D58), UINT64_C(0xDD241DB2247C0E89),
+          UINT64_C(0x5421BE26E5CF278B), UINT64_C(0xCF675E38EDACBA69),
+          UINT64_C(0x397356A121F9C045), UINT64_C(0x317C547F49E0BF07)}},
+        {{UINT64_C(0x2EB59913F5C55ABA), UINT64_C(0x805C61A199485E9B),
+          UINT64_C(0x94D81C7EB4C7CEE9), UINT64_C(0x2DD3516FA9DEE0B1),
+          UINT64_C(0x4C59CC213353561D), UINT64_C(0x375C19F35EE9F7B9),
+          UINT64_C(0x89DE4E4127FC9486), UINT64_C(0x68487AFF24995DF5)},
+         {UINT64_C(0x15B98DF06D549CB6), UINT64_C(0x4B884EDE9B4544BA),
+          UINT64_C(0xE2CEA2061B3D89C5), UINT64_C(0xCE8945D22648786B),
+          UINT64_C(0x0B209B7CF1272125), UINT64_C(0xEAB0849A2BAFF0D1),
+          UINT64_C(0xE5F18031E971F89E), UINT64_C(0x4379379C766B7A2F)}},
+        {{UINT64_C(0xFC10C84729B51FB0), UINT64_C(0x148AE7AF1E012F1A),
+          UINT64_C(0x75A5A6FDA20D8DBE), UINT64_C(0x30148FCB8FA0842C),
+          UINT64_C(0x0A64E438126F8253), UINT64_C(0x72C3C042AECD60D4),
+          UINT64_C(0x6C3589C838A21DFB), UINT64_C(0x64BA45946BB0D5D0)},
+         {UINT64_C(0x6E818AA1D464168A), UINT64_C(0x96C68C331743888E),
+          UINT64_C(0x0D52C73F0672EC8E), UINT64_C(0x56F9E940A8B446E9),
+          UINT64_C(0x68F43782C0E008C5), UINT64_C(0x7C0D8BFE96201134),
+          UINT64_C(0x66C97894B3F5942B), UINT64_C(0x08579CF989BE1E99)}},
+        {{UINT64_C(0xE863C3A92828506B), UINT64_C(0x18C6E29D9DF36CD1),
+          UINT64_C(0xA2DF177DC2AD4DFB), UINT64_C(0xD0E200A208B5F6B6),
+          UINT64_C(0x6BE0AF7577B670DB), UINT64_C(0x750E92FDBD46EEB0),
+          UINT64_C(0x21E21B3787F96AD1), UINT64_C(0x0C4F884EC89C7708)},
+         {UINT64_C(0xBCCD3155630AF761), UINT64_C(0x769F9CED19F3528A),
+          UINT64_C(0x2572864DBF9CAC65), UINT64_C(0xD276411CF43268F0),
+          UINT64_C(0x12D9FDCFA2C48843), UINT64_C(0x320A13DF7AAF1CBC),
+          UINT64_C(0x3D4DCB95630820CF), UINT64_C(0x5F471E2128553384)}},
+        {{UINT64_C(0xC14F1D4D9C6DCC7D), UINT64_C(0x9CEA8E3ABC2EA2FA),
+          UINT64_C(0xD854AEC04F1DE28B), UINT64_C(0x5FAFDDCEB0EF66E2),
+          UINT64_C(0xD5BAF034A190ADC7), UINT64_C(0xFEB3DE5F052D641A),
+          UINT64_C(0xA336FD9A51F9F744), UINT64_C(0x11E7DE0F2E516669)},
+         {UINT64_C(0x46B240270CD862CD), UINT64_C(0xDB3CE4A222667C9F),
+          UINT64_C(0xDF1BD2A28E3438CF), UINT64_C(0xC20E6ECB94E0825A),
+          UINT64_C(0x086782224EDF3C36), UINT64_C(0xCD547458D86E0625),
+          UINT64_C(0xED9FFDFAC1C8975A), UINT64_C(0x7709A34E60FF6B18)}},
+        {{UINT64_C(0xEE6F55D70D6EF8BE), UINT64_C(0x6BA29662C47749F3),
+          UINT64_C(0x505BEBB2CB5824F0), UINT64_C(0xDAA39E017CE139AF),
+          UINT64_C(0xC73FFE67BA4EAAF5), UINT64_C(0x1AC8354F1216FBC5),
+          UINT64_C(0xFA600D707C029B38), UINT64_C(0x1DEF1E98B77E8711)},
+         {UINT64_C(0x9EA77FEF2199269A), UINT64_C(0xCC5F3E27A4B5E402),
+          UINT64_C(0x998BF96FFE20DCF6), UINT64_C(0xCF543A7154252277),
+          UINT64_C(0x9D767F8771A66685), UINT64_C(0x0E1AA8F5860B1EC4),
+          UINT64_C(0x3979C3949437E2D0), UINT64_C(0x55CBC282855C635C)}},
+        {{UINT64_C(0x798D8087DB0F28BC), UINT64_C(0x80BE50E690209D22),
+          UINT64_C(0x6B14A1E169AE2A50), UINT64_C(0x504AD87B21B5A02E),
+          UINT64_C(0xBF92B62181938DD3), UINT64_C(0x1A209438E927A712),
+          UINT64_C(0x3DFC548A3C613F5E), UINT64_C(0x1E6E3311A3C2CC7E)},
+         {UINT64_C(0xE46AC0C4A91BB2B2), UINT64_C(0xAC89BB09DF9BA7FD),
+          UINT64_C(0xC87555DD04403839), UINT64_C(0xB1460C86C6BB4379),
+          UINT64_C(0x3AD253EF5FC6E594), UINT64_C(0xB66B2FB7393CB89B),
+          UINT64_C(0x1411B9FDE1BAB087), UINT64_C(0x084DD6CD22C9CE4C)}},
+        {{UINT64_C(0x676D50EEE480DDEB), UINT64_C(0x588EC4BBD14909D0),
+          UINT64_C(0x509A74A7B5DD3FC6), UINT64_C(0xE616EEF3AA6870F2),
+          UINT64_C(0x76F235D998C5A7E5), UINT64_C(0x7A925C5577FFB2E6),
+          UINT64_C(0x0A78A158955213B7), UINT64_C(0x07B068B928FB60B7)},
+         {UINT64_C(0x7610C82150380E64), UINT64_C(0x6E7C80CE282776C2),
+          UINT64_C(0x9F67368AEEBD3250), UINT64_C(0x932F6E9985FB7863),
+          UINT64_C(0x41FCC562924A519D), UINT64_C(0xC099DE16B499B4AF),
+          UINT64_C(0x10764D48AC9C7E76), UINT64_C(0x66C85BF9A1BABCE6)}},
+        {{UINT64_C(0xB080963FF5CB951F), UINT64_C(0xD9A5580B2A16F27F),
+          UINT64_C(0x5840499D4FCEE6ED), UINT64_C(0x5F4704D64F3B33D4),
+          UINT64_C(0x02A1399382256A05), UINT64_C(0x5713E01992365A7E),
+          UINT64_C(0x4A2F7BA66F38944B), UINT64_C(0x14B58D5BA47662D3)},
+         {UINT64_C(0xC219E3005900EFC8), UINT64_C(0x45707A504FE2DFC9),
+          UINT64_C(0x0CE4FACD6863DF90), UINT64_C(0xEDB31912C6BCDA9C),
+          UINT64_C(0x3E24A0D685B6CF7C), UINT64_C(0x6365ACDA358DDF3B),
+          UINT64_C(0x10FD0871F2CB0823), UINT64_C(0x51D58D3D1DAFE4C7)}},
+        {{UINT64_C(0xE5B64EF4291B51D2), UINT64_C(0x70C52EDB1A7A445D),
+          UINT64_C(0x758D0DC9C1E8DF63), UINT64_C(0x55328AB30677FE82),
+          UINT64_C(0xAF4221FF7F3A1866), UINT64_C(0xDE1BA1098C04E9CA),
+          UINT64_C(0x26F0D0864C577D77), UINT64_C(0x6D5D3FB16D494F73)},
+         {UINT64_C(0x3C0153EB451F8B8C), UINT64_C(0x6A9B03D15FD3ED6A),
+          UINT64_C(0xDF442C11175180C3), UINT64_C(0xB205EB514DD99376),
+          UINT64_C(0x28E9C5FFEB489DE3), UINT64_C(0x225CEB0944766908),
+          UINT64_C(0x1DB1F7E7EB193B68), UINT64_C(0x364B9E6BDF27292C)}},
+        {{UINT64_C(0xDC6E723D728F33A8), UINT64_C(0x8ABEB28A3A0930B3),
+          UINT64_C(0x584B13CAD024D8B7), UINT64_C(0xDCDC5BB7DBDE780E),
+          UINT64_C(0xA2AD762B161D9801), UINT64_C(0x46EBC8A96CE5F18A),
+          UINT64_C(0x97A0BA527EB1CD22), UINT64_C(0x58BC4DAAE22D91D5)},
+         {UINT64_C(0xC06F0B259F01D49D), UINT64_C(0x8236F2AD3533732B),
+          UINT64_C(0xE3DF9BF57C6C24F4), UINT64_C(0xD60FBCC76AA1E1F0),
+          UINT64_C(0x8DDBB9A2B70A307F), UINT64_C(0x61BB56B1C6071C49),
+          UINT64_C(0x8D3446D71ABF19BD), UINT64_C(0x44AF2FD846387989)}},
+        {{UINT64_C(0x25ACEB4C86B1B8AE), UINT64_C(0xB5B0A7E367CFD1AA),
+          UINT64_C(0x87B3C5CBB0F063B4), UINT64_C(0x7F4292746F03BE41),
+          UINT64_C(0x412836E0D82D7749), UINT64_C(0xD9B1603B535225CC),
+          UINT64_C(0xCBF1A8271590B41F), UINT64_C(0x47C32D83FE159BF9)},
+         {UINT64_C(0x7A147456369026E5), UINT64_C(0x4A21DAB12691A87D),
+          UINT64_C(0x006D3EA461818C2D), UINT64_C(0x56006BDFD548A261),
+          UINT64_C(0x8632A9091D7DA713), UINT64_C(0x859839DD26E387A5),
+          UINT64_C(0x41E4D9D97FF52CF4), UINT64_C(0x0E21329F85A8F21E)}},
+        {{UINT64_C(0xDF4AF1E0626902CA), UINT64_C(0x339CD3CDEC50A5FF),
+          UINT64_C(0x44B2ABBA98DD7A01), UINT64_C(0x47A4DA46CC7AC1A8),
+          UINT64_C(0xA69253411EA0F3A8), UINT64_C(0x46F82C17C23AA0AC),
+          UINT64_C(0xF0394E44386897AA), UINT64_C(0x601F9A559D5AA759)},
+         {UINT64_C(0x194F939FEF324E1E), UINT64_C(0x188BE442E2F35782),
+          UINT64_C(0x4B2FA7C15683B3DD), UINT64_C(0x9F2737A644300367),
+          UINT64_C(0xB72F7E8AAFDF269E), UINT64_C(0x5FFD87557A8A5232),
+          UINT64_C(0xA1641CF043299A6C), UINT64_C(0x1FDA30D5C4D1E057)}},
+        {{UINT64_C(0x926373C4D94B7DD2), UINT64_C(0xE9882CA7FAA5C280),
+          UINT64_C(0x358F82F6C1D821E2), UINT64_C(0xDF9818268812649A),
+          UINT64_C(0x96ED450710D267E1), UINT64_C(0x72253BD1F7DF2D84),
+          UINT64_C(0x78F13C381F09BC6D), UINT64_C(0x023C79F015D1F353)},
+         {UINT64_C(0x5E357E1A65E1924F), UINT64_C(0x827A8C8318CC9432),
+          UINT64_C(0x9A2FF5D68696C800), UINT64_C(0xDE825B6AE26AB439),
+          UINT64_C(0x34C74673A646B303), UINT64_C(0xFBFD424E50657C92),
+          UINT64_C(0xAAD263D91F96EEC2), UINT64_C(0x78D93F6C42FF59EC)}},
+    },
+    {
+        {{UINT64_C(0xEF807EEB4ACCAC90), UINT64_C(0xEA3708EC83EFEFD0),
+          UINT64_C(0xB3F56C3DAC470AEC), UINT64_C(0x0467461D4BB6B4A8),
+          UINT64_C(0x9E2D3152455704F7), UINT64_C(0x957F5FF695097282),
+          UINT64_C(0x1BBA5CCAAEADBFBC), UINT64_C(0x5D64A8B0829F221F)},
+         {UINT64_C(0x63B30E25DC012583), UINT64_C(0x739D6C4D6E8E7E4B),
+          UINT64_C(0x4DB4BA8A108F21C6), UINT64_C(0xE4D0991D8E217429),
+          UINT64_C(0x0DFEC43E747D489D), UINT64_C(0x759C611C3F6623D2),
+          UINT64_C(0xBB3166AE1C16C550), UINT64_C(0x1097FE4146E761A6)}},
+        {{UINT64_C(0x5CACE9282774936E), UINT64_C(0x7D88CE3C97A7BC86),
+          UINT64_C(0x7B5F9D752732B6C7), UINT64_C(0x31E096D2A9623A78),
+          UINT64_C(0xED0B1A7F8F2A6C6F), UINT64_C(0x47F31AC08A38C329),
+          UINT64_C(0x65FE20B48AE3E440), UINT64_C(0x5BB3DF728FF8D87D)},
+         {UINT64_C(0x5C361D56394AF7A9), UINT64_C(0x37A958024A967882),
+          UINT64_C(0x02037A09C3D24749), UINT64_C(0x623CF773A9EB6A87),
+          UINT64_C(0x4D09B042CC9980AC), UINT64_C(0xC1EF17CA4C258646),
+          UINT64_C(0x054C55D4EA522FA1), UINT64_C(0x756B405D1459D247)}},
+        {{UINT64_C(0xC88B5D92FF7BCBB8), UINT64_C(0x37E62C2A33BB4D7F),
+          UINT64_C(0x63DBECFC93850D2E), UINT64_C(0x282E18965DAF279B),
+          UINT64_C(0x90226257B2FD8FA2), UINT64_C(0x68215F8C69A65468),
+          UINT64_C(0xAEBF43D556338A49), UINT64_C(0x035A40A038D7D063)},
+         {UINT64_C(0xEEEE462E61C724FC), UINT64_C(0x660F015BA58C2B0C),
+          UINT64_C(0x627E0736E16621D4), UINT64_C(0xD423ADA85D724668),
+          UINT64_C(0xF98AB83A6B777C4C), UINT64_C(0x4F5FEC825DC968EE),
+          UINT64_C(0x4AC7CAAADF9BE0BE), UINT64_C(0x6F7E06DCCADCF93D)}},
+        {{UINT64_C(0xCF90CB74DE36D484), UINT64_C(0xD511A70F0ED61EEE),
+          UINT64_C(0xDBF5689E33798A5C), UINT64_C(0x81900CF3DAA5D75E),
+          UINT64_C(0x854460AA84CA34C5), UINT64_C(0x3C00E7B539220C74),
+          UINT64_C(0x4E7CE464AB33422B), UINT64_C(0x22221BD4AB536B00)},
+         {UINT64_C(0x718695F4E50DFFEE), UINT64_C(0x466D642CD103C522),
+          UINT64_C(0xA01B70706EC72083), UINT64_C(0xD29C046DCB7675DD),
+          UINT64_C(0xA2AF1025605F249C), UINT64_C(0x3BD414BDEA9111DF),
+          UINT64_C(0x8DCEC5097D037C23), UINT64_C(0x750E0282176546F8)}},
+        {{UINT64_C(0x452C27FF824344A7), UINT64_C(0x85E64CC2EC399A05),
+          UINT64_C(0xBE15D09E3442039C), UINT64_C(0x875022BB6A323861),
+          UINT64_C(0xD984BF9D61866CC9), UINT64_C(0x4007F668EE6E8271),
+          UINT64_C(0x090E14CCF107566D), UINT64_C(0x08C2354A1131FCD8)},
+         {UINT64_C(0xF9C862998F5FFF23), UINT64_C(0x97788808AC995497),
+          UINT64_C(0xBF6CB8B5D43FDCB9), UINT64_C(0xC75BD147B72DFB91),
+          UINT64_C(0xA537A636E15359C6), UINT64_C(0x313458F393F6292F),
+          UINT64_C(0x096B68662BF3CE59), UINT64_C(0x5618ACC8275BB1A8)}},
+        {{UINT64_C(0x434DBAD76DD4F47F), UINT64_C(0x7F24804B93A13416),
+          UINT64_C(0x54864638DCFDC8FB), UINT64_C(0x94D15AAB8DBB2A99),
+          UINT64_C(0xC60D064A3B08BE5D), UINT64_C(0x8D52AF0377113B1C),
+          UINT64_C(0x795F3549E649649D), UINT64_C(0x6C50A7B3A2F7B890)},
+         {UINT64_C(0x1243D102BA7BE66C), UINT64_C(0xD52A9D6524A4F3D5),
+          UINT64_C(0x84F3A7D8D940B299), UINT64_C(0x2D0D05610A6C5F96),
+          UINT64_C(0x6814730955AF49E6), UINT64_C(0x1AD2CC292D484160),
+          UINT64_C(0xD983666441613C8C), UINT64_C(0x116D32D9E1444926)}},
+        {{UINT64_C(0xBFB347E11FC8967F), UINT64_C(0xAB2F0DE9AFD35E6A),
+          UINT64_C(0x77C822B93D717B63), UINT64_C(0xBA49F6D5EFE76953),
+          UINT64_C(0xC4FF8395C3729C1E), UINT64_C(0x5E5251991792651B),
+          UINT64_C(0xEF736F1E220793FE), UINT64_C(0x0C1364DEADA2DF7C)},
+         {UINT64_C(0xE364A0295E0A04FB), UINT64_C(0x078CF4CC02A1CB8F),
+          UINT64_C(0x2C6EDCEC884EB5E8), UINT64_C(0x361E83F134DA48A0),
+          UINT64_C(0x543FD798AE22EE07), UINT64_C(0x80A0521A72A9D550),
+          UINT64_C(0xCEEB2763D5D883DE), UINT64_C(0x4633AE13744C8616)}},
+        {{UINT64_C(0x386138C2EFC180BF), UINT64_C(0x62884C835025C16C),
+          UINT64_C(0xC846079F3AEF27D9), UINT64_C(0x85AC6CC58815E30E),
+          UINT64_C(0x45705559D26A2BD0), UINT64_C(0xEF1649A0EEDB70C4),
+          UINT64_C(0x2596F146E4641EFD), UINT64_C(0x61E89F8E93C7B04A)},
+         {UINT64_C(0x6EBD7C9F071CA85D), UINT64_C(0x5C9951AE1C15ACD1),
+          UINT64_C(0x9DE96A7C8AE934A1), UINT64_C(0x4B32645D481D190E),
+          UINT64_C(0x8D0E2B25A79C0B4A), UINT64_C(0x8EF7BB2ACD74DA50),
+          UINT64_C(0x9481D2DB07920CC8), UINT64_C(0x1BD7A22E8736C183)}},
+        {{UINT64_C(0xD4F2750064FCB568), UINT64_C(0xD92CBB705C300E98),
+          UINT64_C(0x5A971902CAA8D9B9), UINT64_C(0xA5542DF51C4824C9),
+          UINT64_C(0x7B469D1BC84D2CCD), UINT64_C(0xD3FBFEBBA2566F40),
+          UINT64_C(0x89511F69E8FA73C0), UINT64_C(0x6FFD125BB162F797)},
+         {UINT64_C(0x961C9532C0FA653C), UINT64_C(0x007BD198BDB0C77A),
+          UINT64_C(0x1853303BEEFC3BE3), UINT64_C(0x6D50323FC4A33E36),
+          UINT64_C(0x9798C97AE367E4C9), UINT64_C(0x9E146B0712A538A8),
+          UINT64_C(0xBFB3E8194996D58B), UINT64_C(0x5438D6F69022E072)}},
+        {{UINT64_C(0xC58B1061DD4E810B), UINT64_C(0x7966E96A8FD29C69),
+          UINT64_C(0x7E2D9FD42E65F9B6), UINT64_C(0xA8F68084FC48055F),
+          UINT64_C(0x545CAE012DC5A983), UINT64_C(0xC9D198C8A2596608),
+          UINT64_C(0xF9D9BF5D4208B520), UINT64_C(0x1C0C3F5A7E6883FF)},
+         {UINT64_C(0x06D7B98305CD4D87), UINT64_C(0x899A60E89E9F9F35),
+          UINT64_C(0x1465EAD55119AAC1), UINT64_C(0x3EDF1E360F329991),
+          UINT64_C(0x86BCB01EA0646C43), UINT64_C(0xA6EF27F3EF4EBCEB),
+          UINT64_C(0xEAF04AE654EB8E6B), UINT64_C(0x48051E6208227047)}},
+        {{UINT64_C(0xA84EFDA5F245F1E6), UINT64_C(0x49759EF3EB80F18C),
+          UINT64_C(0xFB8A3A4B1142EE5C), UINT64_C(0x62907A8FB9EE65D6),
+          UINT64_C(0xC5FD7DC9D68D862F), UINT64_C(0x1F791D0FE1C81BAD),
+          UINT64_C(0xFED4DEA38C4757BA), UINT64_C(0x041A50E32FA4C20E)},
+         {UINT64_C(0xB8F7EE7AF454E68E), UINT64_C(0xB68F9599CBAB4836),
+          UINT64_C(0x3FB9C650F1872586), UINT64_C(0xF967C7689FDDEF61),
+          UINT64_C(0x8A2683AF70E86E8E), UINT64_C(0xAFD29242E523AD78),
+          UINT64_C(0xBA4EECA59DD43A6C), UINT64_C(0x374478967BB2E1AE)}},
+        {{UINT64_C(0xE5378393F86EFABC), UINT64_C(0x336470CA45F692E9),
+          UINT64_C(0xC5F0022C66E0FBDF), UINT64_C(0x189D81D53ECD3196),
+          UINT64_C(0x416D97CB771F9C1C), UINT64_C(0xBF2B6B77223448F1),
+          UINT64_C(0xA4F6355ABE42A9A6), UINT64_C(0x1C15439AB9956AAC)},
+         {UINT64_C(0x020CA3197DBFC8B8), UINT64_C(0x25A1DFD15C7E4025),
+          UINT64_C(0x5CF6FAD84D06AAA0), UINT64_C(0x8221BAD8AC1B211B),
+          UINT64_C(0x68E7DBA3AE4C7F7B), UINT64_C(0x4C167FA9FEF7CB4B),
+          UINT64_C(0x207A14B8A34935DE), UINT64_C(0x1476CCBD645A14C2)}},
+        {{UINT64_C(0xF0467D8954E05676), UINT64_C(0xA1987E17E04530FF),
+          UINT64_C(0x1E3010C22E3A997C), UINT64_C(0x4001E89FEBEF74A7),
+          UINT64_C(0x60C6556632572D28), UINT64_C(0x410C49D0A562BF8F),
+          UINT64_C(0xFE591AD0782CE10C), UINT64_C(0x272DE301C3016AA6)},
+         {UINT64_C(0x7AEFA3F7D3FD089D), UINT64_C(0x5141E3CFC68CE61E),
+          UINT64_C(0xEC6F871E919EF2CB), UINT64_C(0x9E1F2C4FB15754CA),
+          UINT64_C(0x4E053A03B367A8E1), UINT64_C(0xB5447BAB7A946A07),
+          UINT64_C(0xCA9D154A5934AC68), UINT64_C(0x2C24448B9DCC05A4)}},
+        {{UINT64_C(0xDDDCC6F77230B721), UINT64_C(0x3AB7517BD59A4D7D),
+          UINT64_C(0x0202A42773E75A94), UINT64_C(0xEB9CBB02F45E584C),
+          UINT64_C(0x879F20404D193D46), UINT64_C(0x897A3D49FD5CCEC5),
+          UINT64_C(0x7B22D3AD5E795234), UINT64_C(0x103A74B935E6EA1D)},
+         {UINT64_C(0x83AD405EDE267F29), UINT64_C(0x9C0750BCCD4EF83E),
+          UINT64_C(0x1192B08CAAF8C955), UINT64_C(0xD983183C93618DC5),
+          UINT64_C(0x3F142E9F51FA4692), UINT64_C(0xF9242D3EA9E77124),
+          UINT64_C(0x044F55EAC733EFCE), UINT64_C(0x3FCE259EBFB0E74D)}},
+        {{UINT64_C(0xB4A72C274E061902), UINT64_C(0x46D496858271B5ED),
+          UINT64_C(0xE640CD1CC565B666), UINT64_C(0xFEE64A698C432368),
+          UINT64_C(0x9B245FBA7C9309AA), UINT64_C(0x2489BB011FD0DCD7),
+          UINT64_C(0xBE612E5CB4ADB680), UINT64_C(0x7B828C731905845A)},
+         {UINT64_C(0xB205C233AE7E8E5F), UINT64_C(0x67C2AC050DDE4865),
+          UINT64_C(0xC29416F4556BCEFF), UINT64_C(0x3A94801DE7DE42B2),
+          UINT64_C(0xC79768DB8E9195AD), UINT64_C(0xF701EAE5702232BD),
+          UINT64_C(0x7093880E769E819E), UINT64_C(0x07385CFB85575FE1)}},
+        {{UINT64_C(0xBE89A89F552D7645), UINT64_C(0xC1406B554C7C1F2D),
+          UINT64_C(0x123A5BB39C11B663), UINT64_C(0x1925904A275B4F27),
+          UINT64_C(0x94D3368711F1A12B), UINT64_C(0x446FD57BD3F31833),
+          UINT64_C(0x0FF6FF5DA29D4040), UINT64_C(0x35355FF6AE52039A)},
+         {UINT64_C(0x74B055757DE14B02), UINT64_C(0xD2E7C9637A47B576),
+          UINT64_C(0x0D391E9DE99D0433), UINT64_C(0xA4DC392950CCA807),
+          UINT64_C(0x81694449A2AF3088), UINT64_C(0x9222E26555474A7F),
+          UINT64_C(0xAB5C44522C2AD9EE), UINT64_C(0x5810784DF7EC7C2A)}},
+    }};
+
+/*-
+ * Q := 2P, both projective, Q and P same pointers OK
+ * Autogenerated: op3/dbl_proj.op3
+ * https://eprint.iacr.org/2015/1060 Alg 6
+ * ASSERT: a = -3
+ */
+static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
+    /* temporary variables */
+    fe_t t0, t1, t2, t3, t4;
+    /* constants */
+    const limb_t *b = const_b;
+    /* set pointers for legacy 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 *Z3 = Q->Z;
+
+    /* the curve arith formula */
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_square(t0, X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_square(t1, Y);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_square(t2, Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t3, X, Y);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t3, t3, t3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t4, Y, Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(Z3, X, Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Z3, Z3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(Y3, b, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(Y3, Y3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(X3, Y3, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Y3, X3, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(X3, t1, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Y3, t1, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(Y3, X3, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(X3, X3, t3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t3, t2, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t2, t2, t3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(Z3, b, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(Z3, Z3, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(Z3, Z3, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t3, Z3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Z3, Z3, t3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t3, t0, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t0, t3, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(t0, t0, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t0, t0, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Y3, Y3, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t0, t4, t4);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(Z3, t0, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(X3, X3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(Z3, t0, t1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Z3, Z3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Z3, Z3, Z3);
+}
+
+/*-
+ * 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.op3
+ * https://eprint.iacr.org/2015/1060 Alg 5
+ * ASSERT: a = -3
+ */
+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, t4;
+    /* constants */
+    const limb_t *b = const_b;
+    /* set pointers for legacy curve arith */
+    const limb_t *X1 = Q->X;
+    const limb_t *Y1 = Q->Y;
+    const limb_t *Z1 = Q->Z;
+    const limb_t *X2 = P->X;
+    const limb_t *Y2 = P->Y;
+    fe_t X3;
+    fe_t Y3;
+    fe_t Z3;
+    limb_t nz;
+
+    /* check P for affine inf */
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_nonzero(&nz, P->Y);
+
+    /* the curve arith formula */
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t0, X1, X2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t1, Y1, Y2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t3, X2, Y2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t4, X1, Y1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t3, t3, t4);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t4, t0, t1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(t3, t3, t4);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t4, Y2, Z1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t4, t4, Y1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(Y3, X2, Z1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Y3, Y3, X1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(Z3, b, Z1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(X3, Y3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Z3, X3, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(X3, X3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(Z3, t1, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(X3, t1, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(Y3, b, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t1, Z1, Z1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t2, t1, Z1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(Y3, Y3, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(Y3, Y3, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t1, Y3, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Y3, t1, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t1, t0, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t0, t1, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(t0, t0, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t1, t4, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t2, t0, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(Y3, X3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Y3, Y3, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(X3, t3, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(X3, X3, t1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(Z3, t4, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t1, t3, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Z3, Z3, t1);
+
+    /* if P is inf, throw all that away and take Q */
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_selectznz(R->X, nz, Q->X, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_selectznz(R->Y, nz, Q->Y, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_selectznz(R->Z, nz, Q->Z, Z3);
+}
+
+/*-
+ * R := Q + P all projective.
+ * R and Q same pointers OK
+ * R and P same pointers not OK
+ * Autogenerated: op3/add_proj.op3
+ * https://eprint.iacr.org/2015/1060 Alg 4
+ * ASSERT: a = -3
+ */
+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, t4, t5;
+    /* constants */
+    const limb_t *b = const_b;
+    /* set pointers for legacy curve arith */
+    const limb_t *X1 = Q->X;
+    const limb_t *Y1 = Q->Y;
+    const limb_t *Z1 = Q->Z;
+    const limb_t *X2 = P->X;
+    const limb_t *Y2 = P->Y;
+    const limb_t *Z2 = P->Z;
+    limb_t *X3 = R->X;
+    limb_t *Y3 = R->Y;
+    limb_t *Z3 = R->Z;
+
+    /* the curve arith formula */
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t0, X1, X2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t1, Y1, Y2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t2, Z1, Z2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t3, X1, Y1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t4, X2, Y2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t3, t3, t4);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t4, t0, t1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(t3, t3, t4);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t4, Y1, Z1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t5, Y2, Z2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t4, t4, t5);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t5, t1, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(t4, t4, t5);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(X3, X1, Z1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Y3, X2, Z2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(X3, X3, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Y3, t0, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(Y3, X3, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(Z3, b, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(X3, Y3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Z3, X3, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(X3, X3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(Z3, t1, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(X3, t1, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(Y3, b, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t1, t2, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t2, t1, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(Y3, Y3, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(Y3, Y3, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t1, Y3, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Y3, t1, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t1, t0, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t0, t1, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(t0, t0, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t1, t4, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t2, t0, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(Y3, X3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Y3, Y3, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(X3, t3, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(X3, X3, t1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(Z3, t4, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t1, t3, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Z3, Z3, t1);
+}
+
+/* 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;
+
+    fe_copy(precomp[0].X, P->X);
+    fe_copy(precomp[0].Y, P->Y);
+    fe_copy(precomp[0].Z, const_one);
+    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_paramSetB_opp(Q.Y, Q.Y);
+                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.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_paramSetB_opp(Q.Y, Q.Y);
+                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.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.Z);
+    }
+
+    if (flipped) {
+        /* correct sign */
+        fiat_id_tc26_gost_3410_2012_512_paramSetB_opp(Q.Y, Q.Y);
+    }
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_inv(Q.Z, Q.Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(out->X, Q.X, Q.Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_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_paramSetB_selectznz(Q.X, diff, Q.X,
+                                                            precomp[j].X);
+        fiat_id_tc26_gost_3410_2012_512_paramSetB_selectznz(Q.Y, diff, Q.Y,
+                                                            precomp[j].Y);
+        fiat_id_tc26_gost_3410_2012_512_paramSetB_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_paramSetB_selectznz(
+                lut.X, diff, lut.X, precomp[j].X);
+            fiat_id_tc26_gost_3410_2012_512_paramSetB_selectznz(
+                lut.Y, diff, lut.Y, precomp[j].Y);
+            fiat_id_tc26_gost_3410_2012_512_paramSetB_selectznz(
+                lut.Z, diff, lut.Z, precomp[j].Z);
+        }
+        /* negate lut point if digit is negative */
+        fiat_id_tc26_gost_3410_2012_512_paramSetB_opp(out->Y, lut.Y);
+        fiat_id_tc26_gost_3410_2012_512_paramSetB_selectznz(lut.Y, is_neg,
+                                                            lut.Y, out->Y);
+        point_add_proj(&Q, &Q, &lut);
+    }
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
+
+    /* conditionally subtract P if the scalar was even */
+    fe_copy(lut.X, precomp[0].X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_opp(lut.Y, precomp[0].Y);
+    fe_copy(lut.Z, precomp[0].Z);
+    point_add_proj(&lut, &lut, &Q);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_selectznz(Q.X, scalar[0] & 1,
+                                                        lut.X, Q.X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_selectznz(Q.Y, scalar[0] & 1,
+                                                        lut.Y, Q.Y);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_selectznz(Q.Z, scalar[0] & 1,
+                                                        lut.Z, Q.Z);
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_inv(Q.Z, Q.Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(out->X, Q.X, Q.Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_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.Z);
+
+#if defined(_MSC_VER)
+    /* result still unsigned: yes we know */
+#pragma warning(push)
+#pragma warning(disable : 4146)
+#endif
+
+    for (i = 7; i >= 0; i--) {
+        for (j = 0; i != 7 && j < RADIX; j++) point_double(&Q, &Q);
+        for (j = 0; j < 14; j++) {
+            if (j * 8 + i > 102) continue;
+            d = rnaf[j * 8 + 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_paramSetB_selectznz(
+                    lut.X, diff, lut.X, lut_cmb[j][k].X);
+                fiat_id_tc26_gost_3410_2012_512_paramSetB_selectznz(
+                    lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
+            }
+            /* negate lut point if digit is negative */
+            fiat_id_tc26_gost_3410_2012_512_paramSetB_opp(out->Y, lut.Y);
+            fiat_id_tc26_gost_3410_2012_512_paramSetB_selectznz(lut.Y, is_neg,
+                                                                lut.Y, out->Y);
+            point_add_mixed(&Q, &Q, &lut);
+        }
+    }
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
+
+    /* conditionally subtract P if the scalar was even */
+    fe_copy(lut.X, lut_cmb[0][0].X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_opp(lut.Y, lut_cmb[0][0].Y);
+    point_add_mixed(&R, &Q, &lut);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_selectznz(Q.X, scalar[0] & 1, R.X,
+                                                        Q.X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_selectznz(Q.Y, scalar[0] & 1, R.Y,
+                                                        Q.Y);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_selectznz(Q.Z, scalar[0] & 1, R.Z,
+                                                        Q.Z);
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_inv(Q.Z, Q.Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(out->X, Q.X, Q.Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_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_paramSetB_from_bytes(P.X, inx);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_from_bytes(P.Y, iny);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_to_montgomery(P.X, P.X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_to_montgomery(P.Y, P.Y);
+    /* simultaneous scalar multiplication */
+    var_smul_wnaf_two(&P, a, b, &P);
+
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_from_montgomery(P.X, P.X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_from_montgomery(P.Y, P.Y);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_to_bytes(outx, P.X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_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_paramSetB_from_montgomery(P.X, P.X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_from_montgomery(P.Y, P.Y);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_to_bytes(outx, P.X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_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_paramSetB_from_bytes(P.X, inx);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_from_bytes(P.Y, iny);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_to_montgomery(P.X, P.X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_to_montgomery(P.Y, P.Y);
+    /* var scmul function */
+    var_smul_rwnaf(&P, scalar, &P);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_from_montgomery(P.X, P.X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_from_montgomery(P.Y, P.Y);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_to_bytes(outx, P.X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_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_paramSetB(
+        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_paramSetB(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_paramSetB(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 16
+/* 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))
+
+/* Projective points */
+typedef struct {
+    fe_t X;
+    fe_t Y;
+    fe_t Z;
+} pt_prj_t;
+
+/* Affine points */
+typedef struct {
+    fe_t X;
+    fe_t Y;
+} 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: word_by_word_montgomery --static id_tc26_gost_3410_2012_512_paramSetB 32 '2^511 + 111' */
+/* curve description: id_tc26_gost_3410_2012_512_paramSetB */
+/* machine_wordsize = 32 (from "32") */
+/* requested operations: (all) */
+/* m = 0x8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f (from "2^511 + 111") */
+/*                                                                    */
+/* NOTE: In addition to the bounds specified above each function, all */
+/*   functions synthesized for this Montgomery arithmetic require the */
+/*   input to be strictly less than the prime modulus (m), and also   */
+/*   require the input to be in the unique saturated representation.  */
+/*   All functions also ensure that these two properties are true of  */
+/*   return values.                                                   */
+/*  */
+/* Computed values: */
+/* eval z = z[0] + (z[1] << 32) + (z[2] << 64) + (z[3] << 96) + (z[4] << 128) + (z[5] << 160) + (z[6] << 192) + (z[7] << 224) + (z[8] << 256) + (z[9] << 0x120) + (z[10] << 0x140) + (z[11] << 0x160) + (z[12] << 0x180) + (z[13] << 0x1a0) + (z[14] << 0x1c0) + (z[15] << 0x1e0) */
+/* 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_paramSetB_uint1;
+typedef signed char fiat_id_tc26_gost_3410_2012_512_paramSetB_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_paramSetB_addcarryx_u32 is an addition with carry.
+ * Postconditions:
+ *   out1 = (arg1 + arg2 + arg3) mod 2^32
+ *   out2 = ⌊(arg1 + arg2 + arg3) / 2^32⌋
+ *
+ * Input Bounds:
+ *   arg1: [0x0 ~> 0x1]
+ *   arg2: [0x0 ~> 0xffffffff]
+ *   arg3: [0x0 ~> 0xffffffff]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffffff]
+ *   out2: [0x0 ~> 0x1]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+    uint32_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 *out2,
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 arg1, uint32_t arg2,
+    uint32_t arg3) {
+    uint64_t x1;
+    uint32_t x2;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x3;
+    x1 = ((arg1 + (uint64_t)arg2) + arg3);
+    x2 = (uint32_t)(x1 & UINT32_C(0xffffffff));
+    x3 = (fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1)(x1 >> 32);
+    *out1 = x2;
+    *out2 = x3;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32 is a subtraction with borrow.
+ * Postconditions:
+ *   out1 = (-arg1 + arg2 + -arg3) mod 2^32
+ *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^32⌋
+ *
+ * Input Bounds:
+ *   arg1: [0x0 ~> 0x1]
+ *   arg2: [0x0 ~> 0xffffffff]
+ *   arg3: [0x0 ~> 0xffffffff]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffffff]
+ *   out2: [0x0 ~> 0x1]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(
+    uint32_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 *out2,
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 arg1, uint32_t arg2,
+    uint32_t arg3) {
+    int64_t x1;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_int1 x2;
+    uint32_t x3;
+    x1 = ((arg2 - (int64_t)arg1) - arg3);
+    x2 = (fiat_id_tc26_gost_3410_2012_512_paramSetB_int1)(x1 >> 32);
+    x3 = (uint32_t)(x1 & UINT32_C(0xffffffff));
+    *out1 = x3;
+    *out2 = (fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1)(0x0 - x2);
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32 is a multiplication, returning the full double-width result.
+ * Postconditions:
+ *   out1 = (arg1 * arg2) mod 2^32
+ *   out2 = ⌊arg1 * arg2 / 2^32⌋
+ *
+ * Input Bounds:
+ *   arg1: [0x0 ~> 0xffffffff]
+ *   arg2: [0x0 ~> 0xffffffff]
+ * Output Bounds:
+ *   out1: [0x0 ~> 0xffffffff]
+ *   out2: [0x0 ~> 0xffffffff]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(uint32_t *out1,
+                                                               uint32_t *out2,
+                                                               uint32_t arg1,
+                                                               uint32_t arg2) {
+    uint64_t x1;
+    uint32_t x2;
+    uint32_t x3;
+    x1 = ((uint64_t)arg1 * arg2);
+    x2 = (uint32_t)(x1 & UINT32_C(0xffffffff));
+    x3 = (uint32_t)(x1 >> 32);
+    *out1 = x2;
+    *out2 = x3;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetB_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_paramSetB_cmovznz_u32(
+    uint32_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 arg1,
+    uint32_t arg2, uint32_t arg3) {
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1;
+    uint32_t x2;
+    uint32_t x3;
+    x1 = (!(!arg1));
+    x2 = ((fiat_id_tc26_gost_3410_2012_512_paramSetB_int1)(0x0 - x1) &
+          UINT32_C(0xffffffff));
+    x3 = ((x2 & arg3) | ((~x2) & arg2));
+    *out1 = x3;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetB_mul multiplies two field elements in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ *   0 ≤ eval arg2 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg2)) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[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]]
+ *   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]]
+ * 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]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(
+    uint32_t out1[16], const uint32_t arg1[16], const uint32_t arg2[16]) {
+    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;
+    uint32_t x49;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x50;
+    uint32_t x51;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x52;
+    uint32_t x53;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x54;
+    uint32_t x55;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x56;
+    uint32_t x57;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x58;
+    uint32_t x59;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x60;
+    uint32_t x61;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x62;
+    uint32_t x63;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x64;
+    uint32_t x65;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x66;
+    uint32_t x67;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x68;
+    uint32_t x69;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x70;
+    uint32_t x71;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x72;
+    uint32_t x73;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x74;
+    uint32_t x75;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x76;
+    uint32_t x77;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 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;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x87;
+    uint32_t x88;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x89;
+    uint32_t x90;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x91;
+    uint32_t x92;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x93;
+    uint32_t x94;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x95;
+    uint32_t x96;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x97;
+    uint32_t x98;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x99;
+    uint32_t x100;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x101;
+    uint32_t x102;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x103;
+    uint32_t x104;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x105;
+    uint32_t x106;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x107;
+    uint32_t x108;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x109;
+    uint32_t x110;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x111;
+    uint32_t x112;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x113;
+    uint32_t x114;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x115;
+    uint32_t x116;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x117;
+    uint32_t x118;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x119;
+    uint32_t x120;
+    uint32_t x121;
+    uint32_t x122;
+    uint32_t x123;
+    uint32_t x124;
+    uint32_t x125;
+    uint32_t x126;
+    uint32_t x127;
+    uint32_t x128;
+    uint32_t x129;
+    uint32_t x130;
+    uint32_t x131;
+    uint32_t x132;
+    uint32_t x133;
+    uint32_t x134;
+    uint32_t x135;
+    uint32_t x136;
+    uint32_t x137;
+    uint32_t x138;
+    uint32_t x139;
+    uint32_t x140;
+    uint32_t x141;
+    uint32_t x142;
+    uint32_t x143;
+    uint32_t x144;
+    uint32_t x145;
+    uint32_t x146;
+    uint32_t x147;
+    uint32_t x148;
+    uint32_t x149;
+    uint32_t x150;
+    uint32_t x151;
+    uint32_t x152;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x153;
+    uint32_t x154;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x155;
+    uint32_t x156;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x157;
+    uint32_t x158;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x159;
+    uint32_t x160;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x161;
+    uint32_t x162;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x163;
+    uint32_t x164;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x165;
+    uint32_t x166;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x167;
+    uint32_t x168;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x169;
+    uint32_t x170;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x171;
+    uint32_t x172;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x173;
+    uint32_t x174;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x175;
+    uint32_t x176;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x177;
+    uint32_t x178;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x179;
+    uint32_t x180;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x181;
+    uint32_t x182;
+    uint32_t x183;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x184;
+    uint32_t x185;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x186;
+    uint32_t x187;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x188;
+    uint32_t x189;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x190;
+    uint32_t x191;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x192;
+    uint32_t x193;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x194;
+    uint32_t x195;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x196;
+    uint32_t x197;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x198;
+    uint32_t x199;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x200;
+    uint32_t x201;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x202;
+    uint32_t x203;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x204;
+    uint32_t x205;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x206;
+    uint32_t x207;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x208;
+    uint32_t x209;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x210;
+    uint32_t x211;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x212;
+    uint32_t x213;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x214;
+    uint32_t x215;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x216;
+    uint32_t x217;
+    uint32_t x218;
+    uint32_t x219;
+    uint32_t x220;
+    uint32_t x221;
+    uint32_t x222;
+    uint32_t x223;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x224;
+    uint32_t x225;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x226;
+    uint32_t x227;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x228;
+    uint32_t x229;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x230;
+    uint32_t x231;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x232;
+    uint32_t x233;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x234;
+    uint32_t x235;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x236;
+    uint32_t x237;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x238;
+    uint32_t x239;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x240;
+    uint32_t x241;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x242;
+    uint32_t x243;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x244;
+    uint32_t x245;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x246;
+    uint32_t x247;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x248;
+    uint32_t x249;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x250;
+    uint32_t x251;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x252;
+    uint32_t x253;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x254;
+    uint32_t x255;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x256;
+    uint32_t x257;
+    uint32_t x258;
+    uint32_t x259;
+    uint32_t x260;
+    uint32_t x261;
+    uint32_t x262;
+    uint32_t x263;
+    uint32_t x264;
+    uint32_t x265;
+    uint32_t x266;
+    uint32_t x267;
+    uint32_t x268;
+    uint32_t x269;
+    uint32_t x270;
+    uint32_t x271;
+    uint32_t x272;
+    uint32_t x273;
+    uint32_t x274;
+    uint32_t x275;
+    uint32_t x276;
+    uint32_t x277;
+    uint32_t x278;
+    uint32_t x279;
+    uint32_t x280;
+    uint32_t x281;
+    uint32_t x282;
+    uint32_t x283;
+    uint32_t x284;
+    uint32_t x285;
+    uint32_t x286;
+    uint32_t x287;
+    uint32_t x288;
+    uint32_t x289;
+    uint32_t x290;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x291;
+    uint32_t x292;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x293;
+    uint32_t x294;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x295;
+    uint32_t x296;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x297;
+    uint32_t x298;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x299;
+    uint32_t x300;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x301;
+    uint32_t x302;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x303;
+    uint32_t x304;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x305;
+    uint32_t x306;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x307;
+    uint32_t x308;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x309;
+    uint32_t x310;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x311;
+    uint32_t x312;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x313;
+    uint32_t x314;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x315;
+    uint32_t x316;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x317;
+    uint32_t x318;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x319;
+    uint32_t x320;
+    uint32_t x321;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x322;
+    uint32_t x323;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x324;
+    uint32_t x325;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x326;
+    uint32_t x327;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x328;
+    uint32_t x329;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x330;
+    uint32_t x331;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x332;
+    uint32_t x333;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x334;
+    uint32_t x335;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x336;
+    uint32_t x337;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x338;
+    uint32_t x339;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x340;
+    uint32_t x341;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x342;
+    uint32_t x343;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x344;
+    uint32_t x345;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x346;
+    uint32_t x347;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x348;
+    uint32_t x349;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x350;
+    uint32_t x351;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x352;
+    uint32_t x353;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x354;
+    uint32_t x355;
+    uint32_t x356;
+    uint32_t x357;
+    uint32_t x358;
+    uint32_t x359;
+    uint32_t x360;
+    uint32_t x361;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x362;
+    uint32_t x363;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x364;
+    uint32_t x365;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x366;
+    uint32_t x367;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x368;
+    uint32_t x369;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x370;
+    uint32_t x371;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x372;
+    uint32_t x373;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x374;
+    uint32_t x375;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x376;
+    uint32_t x377;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x378;
+    uint32_t x379;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x380;
+    uint32_t x381;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x382;
+    uint32_t x383;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x384;
+    uint32_t x385;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x386;
+    uint32_t x387;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x388;
+    uint32_t x389;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x390;
+    uint32_t x391;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x392;
+    uint32_t x393;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x394;
+    uint32_t x395;
+    uint32_t x396;
+    uint32_t x397;
+    uint32_t x398;
+    uint32_t x399;
+    uint32_t x400;
+    uint32_t x401;
+    uint32_t x402;
+    uint32_t x403;
+    uint32_t x404;
+    uint32_t x405;
+    uint32_t x406;
+    uint32_t x407;
+    uint32_t x408;
+    uint32_t x409;
+    uint32_t x410;
+    uint32_t x411;
+    uint32_t x412;
+    uint32_t x413;
+    uint32_t x414;
+    uint32_t x415;
+    uint32_t x416;
+    uint32_t x417;
+    uint32_t x418;
+    uint32_t x419;
+    uint32_t x420;
+    uint32_t x421;
+    uint32_t x422;
+    uint32_t x423;
+    uint32_t x424;
+    uint32_t x425;
+    uint32_t x426;
+    uint32_t x427;
+    uint32_t x428;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x429;
+    uint32_t x430;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x431;
+    uint32_t x432;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x433;
+    uint32_t x434;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x435;
+    uint32_t x436;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x437;
+    uint32_t x438;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x439;
+    uint32_t x440;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x441;
+    uint32_t x442;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x443;
+    uint32_t x444;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x445;
+    uint32_t x446;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x447;
+    uint32_t x448;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x449;
+    uint32_t x450;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x451;
+    uint32_t x452;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x453;
+    uint32_t x454;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x455;
+    uint32_t x456;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x457;
+    uint32_t x458;
+    uint32_t x459;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x460;
+    uint32_t x461;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x462;
+    uint32_t x463;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x464;
+    uint32_t x465;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x466;
+    uint32_t x467;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x468;
+    uint32_t x469;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x470;
+    uint32_t x471;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x472;
+    uint32_t x473;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x474;
+    uint32_t x475;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x476;
+    uint32_t x477;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x478;
+    uint32_t x479;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x480;
+    uint32_t x481;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x482;
+    uint32_t x483;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x484;
+    uint32_t x485;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x486;
+    uint32_t x487;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x488;
+    uint32_t x489;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x490;
+    uint32_t x491;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x492;
+    uint32_t x493;
+    uint32_t x494;
+    uint32_t x495;
+    uint32_t x496;
+    uint32_t x497;
+    uint32_t x498;
+    uint32_t x499;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x500;
+    uint32_t x501;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x502;
+    uint32_t x503;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x504;
+    uint32_t x505;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x506;
+    uint32_t x507;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x508;
+    uint32_t x509;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x510;
+    uint32_t x511;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x512;
+    uint32_t x513;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x514;
+    uint32_t x515;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x516;
+    uint32_t x517;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x518;
+    uint32_t x519;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x520;
+    uint32_t x521;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x522;
+    uint32_t x523;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x524;
+    uint32_t x525;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x526;
+    uint32_t x527;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x528;
+    uint32_t x529;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x530;
+    uint32_t x531;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x532;
+    uint32_t x533;
+    uint32_t x534;
+    uint32_t x535;
+    uint32_t x536;
+    uint32_t x537;
+    uint32_t x538;
+    uint32_t x539;
+    uint32_t x540;
+    uint32_t x541;
+    uint32_t x542;
+    uint32_t x543;
+    uint32_t x544;
+    uint32_t x545;
+    uint32_t x546;
+    uint32_t x547;
+    uint32_t x548;
+    uint32_t x549;
+    uint32_t x550;
+    uint32_t x551;
+    uint32_t x552;
+    uint32_t x553;
+    uint32_t x554;
+    uint32_t x555;
+    uint32_t x556;
+    uint32_t x557;
+    uint32_t x558;
+    uint32_t x559;
+    uint32_t x560;
+    uint32_t x561;
+    uint32_t x562;
+    uint32_t x563;
+    uint32_t x564;
+    uint32_t x565;
+    uint32_t x566;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x567;
+    uint32_t x568;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x569;
+    uint32_t x570;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x571;
+    uint32_t x572;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x573;
+    uint32_t x574;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x575;
+    uint32_t x576;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x577;
+    uint32_t x578;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x579;
+    uint32_t x580;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x581;
+    uint32_t x582;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x583;
+    uint32_t x584;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x585;
+    uint32_t x586;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x587;
+    uint32_t x588;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x589;
+    uint32_t x590;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x591;
+    uint32_t x592;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x593;
+    uint32_t x594;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x595;
+    uint32_t x596;
+    uint32_t x597;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x598;
+    uint32_t x599;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x600;
+    uint32_t x601;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x602;
+    uint32_t x603;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x604;
+    uint32_t x605;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x606;
+    uint32_t x607;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x608;
+    uint32_t x609;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x610;
+    uint32_t x611;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x612;
+    uint32_t x613;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x614;
+    uint32_t x615;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x616;
+    uint32_t x617;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x618;
+    uint32_t x619;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x620;
+    uint32_t x621;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x622;
+    uint32_t x623;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x624;
+    uint32_t x625;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x626;
+    uint32_t x627;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x628;
+    uint32_t x629;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x630;
+    uint32_t x631;
+    uint32_t x632;
+    uint32_t x633;
+    uint32_t x634;
+    uint32_t x635;
+    uint32_t x636;
+    uint32_t x637;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x638;
+    uint32_t x639;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x640;
+    uint32_t x641;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x642;
+    uint32_t x643;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x644;
+    uint32_t x645;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x646;
+    uint32_t x647;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x648;
+    uint32_t x649;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x650;
+    uint32_t x651;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x652;
+    uint32_t x653;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x654;
+    uint32_t x655;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x656;
+    uint32_t x657;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x658;
+    uint32_t x659;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x660;
+    uint32_t x661;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x662;
+    uint32_t x663;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x664;
+    uint32_t x665;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x666;
+    uint32_t x667;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x668;
+    uint32_t x669;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x670;
+    uint32_t x671;
+    uint32_t x672;
+    uint32_t x673;
+    uint32_t x674;
+    uint32_t x675;
+    uint32_t x676;
+    uint32_t x677;
+    uint32_t x678;
+    uint32_t x679;
+    uint32_t x680;
+    uint32_t x681;
+    uint32_t x682;
+    uint32_t x683;
+    uint32_t x684;
+    uint32_t x685;
+    uint32_t x686;
+    uint32_t x687;
+    uint32_t x688;
+    uint32_t x689;
+    uint32_t x690;
+    uint32_t x691;
+    uint32_t x692;
+    uint32_t x693;
+    uint32_t x694;
+    uint32_t x695;
+    uint32_t x696;
+    uint32_t x697;
+    uint32_t x698;
+    uint32_t x699;
+    uint32_t x700;
+    uint32_t x701;
+    uint32_t x702;
+    uint32_t x703;
+    uint32_t x704;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x705;
+    uint32_t x706;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x707;
+    uint32_t x708;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x709;
+    uint32_t x710;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x711;
+    uint32_t x712;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x713;
+    uint32_t x714;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x715;
+    uint32_t x716;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x717;
+    uint32_t x718;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x719;
+    uint32_t x720;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x721;
+    uint32_t x722;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x723;
+    uint32_t x724;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x725;
+    uint32_t x726;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x727;
+    uint32_t x728;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x729;
+    uint32_t x730;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x731;
+    uint32_t x732;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x733;
+    uint32_t x734;
+    uint32_t x735;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x736;
+    uint32_t x737;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x738;
+    uint32_t x739;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x740;
+    uint32_t x741;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x742;
+    uint32_t x743;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x744;
+    uint32_t x745;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x746;
+    uint32_t x747;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x748;
+    uint32_t x749;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x750;
+    uint32_t x751;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x752;
+    uint32_t x753;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x754;
+    uint32_t x755;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x756;
+    uint32_t x757;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x758;
+    uint32_t x759;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x760;
+    uint32_t x761;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x762;
+    uint32_t x763;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x764;
+    uint32_t x765;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x766;
+    uint32_t x767;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x768;
+    uint32_t x769;
+    uint32_t x770;
+    uint32_t x771;
+    uint32_t x772;
+    uint32_t x773;
+    uint32_t x774;
+    uint32_t x775;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x776;
+    uint32_t x777;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x778;
+    uint32_t x779;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x780;
+    uint32_t x781;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x782;
+    uint32_t x783;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x784;
+    uint32_t x785;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x786;
+    uint32_t x787;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x788;
+    uint32_t x789;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x790;
+    uint32_t x791;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x792;
+    uint32_t x793;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x794;
+    uint32_t x795;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x796;
+    uint32_t x797;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x798;
+    uint32_t x799;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x800;
+    uint32_t x801;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x802;
+    uint32_t x803;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x804;
+    uint32_t x805;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x806;
+    uint32_t x807;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x808;
+    uint32_t x809;
+    uint32_t x810;
+    uint32_t x811;
+    uint32_t x812;
+    uint32_t x813;
+    uint32_t x814;
+    uint32_t x815;
+    uint32_t x816;
+    uint32_t x817;
+    uint32_t x818;
+    uint32_t x819;
+    uint32_t x820;
+    uint32_t x821;
+    uint32_t x822;
+    uint32_t x823;
+    uint32_t x824;
+    uint32_t x825;
+    uint32_t x826;
+    uint32_t x827;
+    uint32_t x828;
+    uint32_t x829;
+    uint32_t x830;
+    uint32_t x831;
+    uint32_t x832;
+    uint32_t x833;
+    uint32_t x834;
+    uint32_t x835;
+    uint32_t x836;
+    uint32_t x837;
+    uint32_t x838;
+    uint32_t x839;
+    uint32_t x840;
+    uint32_t x841;
+    uint32_t x842;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x843;
+    uint32_t x844;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x845;
+    uint32_t x846;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x847;
+    uint32_t x848;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x849;
+    uint32_t x850;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x851;
+    uint32_t x852;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x853;
+    uint32_t x854;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x855;
+    uint32_t x856;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x857;
+    uint32_t x858;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x859;
+    uint32_t x860;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x861;
+    uint32_t x862;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x863;
+    uint32_t x864;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x865;
+    uint32_t x866;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x867;
+    uint32_t x868;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x869;
+    uint32_t x870;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x871;
+    uint32_t x872;
+    uint32_t x873;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x874;
+    uint32_t x875;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x876;
+    uint32_t x877;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x878;
+    uint32_t x879;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x880;
+    uint32_t x881;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x882;
+    uint32_t x883;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x884;
+    uint32_t x885;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x886;
+    uint32_t x887;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x888;
+    uint32_t x889;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x890;
+    uint32_t x891;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x892;
+    uint32_t x893;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x894;
+    uint32_t x895;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x896;
+    uint32_t x897;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x898;
+    uint32_t x899;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x900;
+    uint32_t x901;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x902;
+    uint32_t x903;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x904;
+    uint32_t x905;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x906;
+    uint32_t x907;
+    uint32_t x908;
+    uint32_t x909;
+    uint32_t x910;
+    uint32_t x911;
+    uint32_t x912;
+    uint32_t x913;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x914;
+    uint32_t x915;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x916;
+    uint32_t x917;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x918;
+    uint32_t x919;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x920;
+    uint32_t x921;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x922;
+    uint32_t x923;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x924;
+    uint32_t x925;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x926;
+    uint32_t x927;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x928;
+    uint32_t x929;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x930;
+    uint32_t x931;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x932;
+    uint32_t x933;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x934;
+    uint32_t x935;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x936;
+    uint32_t x937;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x938;
+    uint32_t x939;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x940;
+    uint32_t x941;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x942;
+    uint32_t x943;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x944;
+    uint32_t x945;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x946;
+    uint32_t x947;
+    uint32_t x948;
+    uint32_t x949;
+    uint32_t x950;
+    uint32_t x951;
+    uint32_t x952;
+    uint32_t x953;
+    uint32_t x954;
+    uint32_t x955;
+    uint32_t x956;
+    uint32_t x957;
+    uint32_t x958;
+    uint32_t x959;
+    uint32_t x960;
+    uint32_t x961;
+    uint32_t x962;
+    uint32_t x963;
+    uint32_t x964;
+    uint32_t x965;
+    uint32_t x966;
+    uint32_t x967;
+    uint32_t x968;
+    uint32_t x969;
+    uint32_t x970;
+    uint32_t x971;
+    uint32_t x972;
+    uint32_t x973;
+    uint32_t x974;
+    uint32_t x975;
+    uint32_t x976;
+    uint32_t x977;
+    uint32_t x978;
+    uint32_t x979;
+    uint32_t x980;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x981;
+    uint32_t x982;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x983;
+    uint32_t x984;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x985;
+    uint32_t x986;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x987;
+    uint32_t x988;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x989;
+    uint32_t x990;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x991;
+    uint32_t x992;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x993;
+    uint32_t x994;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x995;
+    uint32_t x996;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x997;
+    uint32_t x998;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x999;
+    uint32_t x1000;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1001;
+    uint32_t x1002;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1003;
+    uint32_t x1004;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1005;
+    uint32_t x1006;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1007;
+    uint32_t x1008;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1009;
+    uint32_t x1010;
+    uint32_t x1011;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1012;
+    uint32_t x1013;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1014;
+    uint32_t x1015;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1016;
+    uint32_t x1017;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1018;
+    uint32_t x1019;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1020;
+    uint32_t x1021;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1022;
+    uint32_t x1023;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1024;
+    uint32_t x1025;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1026;
+    uint32_t x1027;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1028;
+    uint32_t x1029;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1030;
+    uint32_t x1031;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1032;
+    uint32_t x1033;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1034;
+    uint32_t x1035;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1036;
+    uint32_t x1037;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1038;
+    uint32_t x1039;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1040;
+    uint32_t x1041;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1042;
+    uint32_t x1043;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1044;
+    uint32_t x1045;
+    uint32_t x1046;
+    uint32_t x1047;
+    uint32_t x1048;
+    uint32_t x1049;
+    uint32_t x1050;
+    uint32_t x1051;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1052;
+    uint32_t x1053;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1054;
+    uint32_t x1055;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1056;
+    uint32_t x1057;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1058;
+    uint32_t x1059;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1060;
+    uint32_t x1061;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1062;
+    uint32_t x1063;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1064;
+    uint32_t x1065;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1066;
+    uint32_t x1067;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1068;
+    uint32_t x1069;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1070;
+    uint32_t x1071;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1072;
+    uint32_t x1073;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1074;
+    uint32_t x1075;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1076;
+    uint32_t x1077;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1078;
+    uint32_t x1079;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1080;
+    uint32_t x1081;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1082;
+    uint32_t x1083;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1084;
+    uint32_t x1085;
+    uint32_t x1086;
+    uint32_t x1087;
+    uint32_t x1088;
+    uint32_t x1089;
+    uint32_t x1090;
+    uint32_t x1091;
+    uint32_t x1092;
+    uint32_t x1093;
+    uint32_t x1094;
+    uint32_t x1095;
+    uint32_t x1096;
+    uint32_t x1097;
+    uint32_t x1098;
+    uint32_t x1099;
+    uint32_t x1100;
+    uint32_t x1101;
+    uint32_t x1102;
+    uint32_t x1103;
+    uint32_t x1104;
+    uint32_t x1105;
+    uint32_t x1106;
+    uint32_t x1107;
+    uint32_t x1108;
+    uint32_t x1109;
+    uint32_t x1110;
+    uint32_t x1111;
+    uint32_t x1112;
+    uint32_t x1113;
+    uint32_t x1114;
+    uint32_t x1115;
+    uint32_t x1116;
+    uint32_t x1117;
+    uint32_t x1118;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1119;
+    uint32_t x1120;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1121;
+    uint32_t x1122;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1123;
+    uint32_t x1124;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1125;
+    uint32_t x1126;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1127;
+    uint32_t x1128;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1129;
+    uint32_t x1130;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1131;
+    uint32_t x1132;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1133;
+    uint32_t x1134;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1135;
+    uint32_t x1136;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1137;
+    uint32_t x1138;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1139;
+    uint32_t x1140;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1141;
+    uint32_t x1142;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1143;
+    uint32_t x1144;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1145;
+    uint32_t x1146;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1147;
+    uint32_t x1148;
+    uint32_t x1149;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1150;
+    uint32_t x1151;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1152;
+    uint32_t x1153;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1154;
+    uint32_t x1155;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1156;
+    uint32_t x1157;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1158;
+    uint32_t x1159;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1160;
+    uint32_t x1161;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1162;
+    uint32_t x1163;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1164;
+    uint32_t x1165;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1166;
+    uint32_t x1167;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1168;
+    uint32_t x1169;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1170;
+    uint32_t x1171;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1172;
+    uint32_t x1173;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1174;
+    uint32_t x1175;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1176;
+    uint32_t x1177;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1178;
+    uint32_t x1179;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1180;
+    uint32_t x1181;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1182;
+    uint32_t x1183;
+    uint32_t x1184;
+    uint32_t x1185;
+    uint32_t x1186;
+    uint32_t x1187;
+    uint32_t x1188;
+    uint32_t x1189;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1190;
+    uint32_t x1191;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1192;
+    uint32_t x1193;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1194;
+    uint32_t x1195;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1196;
+    uint32_t x1197;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1198;
+    uint32_t x1199;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1200;
+    uint32_t x1201;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1202;
+    uint32_t x1203;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1204;
+    uint32_t x1205;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1206;
+    uint32_t x1207;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1208;
+    uint32_t x1209;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1210;
+    uint32_t x1211;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1212;
+    uint32_t x1213;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1214;
+    uint32_t x1215;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1216;
+    uint32_t x1217;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1218;
+    uint32_t x1219;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1220;
+    uint32_t x1221;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1222;
+    uint32_t x1223;
+    uint32_t x1224;
+    uint32_t x1225;
+    uint32_t x1226;
+    uint32_t x1227;
+    uint32_t x1228;
+    uint32_t x1229;
+    uint32_t x1230;
+    uint32_t x1231;
+    uint32_t x1232;
+    uint32_t x1233;
+    uint32_t x1234;
+    uint32_t x1235;
+    uint32_t x1236;
+    uint32_t x1237;
+    uint32_t x1238;
+    uint32_t x1239;
+    uint32_t x1240;
+    uint32_t x1241;
+    uint32_t x1242;
+    uint32_t x1243;
+    uint32_t x1244;
+    uint32_t x1245;
+    uint32_t x1246;
+    uint32_t x1247;
+    uint32_t x1248;
+    uint32_t x1249;
+    uint32_t x1250;
+    uint32_t x1251;
+    uint32_t x1252;
+    uint32_t x1253;
+    uint32_t x1254;
+    uint32_t x1255;
+    uint32_t x1256;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1257;
+    uint32_t x1258;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1259;
+    uint32_t x1260;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1261;
+    uint32_t x1262;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1263;
+    uint32_t x1264;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1265;
+    uint32_t x1266;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1267;
+    uint32_t x1268;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1269;
+    uint32_t x1270;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1271;
+    uint32_t x1272;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1273;
+    uint32_t x1274;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1275;
+    uint32_t x1276;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1277;
+    uint32_t x1278;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1279;
+    uint32_t x1280;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1281;
+    uint32_t x1282;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1283;
+    uint32_t x1284;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1285;
+    uint32_t x1286;
+    uint32_t x1287;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1288;
+    uint32_t x1289;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1290;
+    uint32_t x1291;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1292;
+    uint32_t x1293;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1294;
+    uint32_t x1295;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1296;
+    uint32_t x1297;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1298;
+    uint32_t x1299;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1300;
+    uint32_t x1301;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1302;
+    uint32_t x1303;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1304;
+    uint32_t x1305;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1306;
+    uint32_t x1307;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1308;
+    uint32_t x1309;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1310;
+    uint32_t x1311;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1312;
+    uint32_t x1313;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1314;
+    uint32_t x1315;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1316;
+    uint32_t x1317;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1318;
+    uint32_t x1319;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1320;
+    uint32_t x1321;
+    uint32_t x1322;
+    uint32_t x1323;
+    uint32_t x1324;
+    uint32_t x1325;
+    uint32_t x1326;
+    uint32_t x1327;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1328;
+    uint32_t x1329;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1330;
+    uint32_t x1331;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1332;
+    uint32_t x1333;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1334;
+    uint32_t x1335;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1336;
+    uint32_t x1337;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1338;
+    uint32_t x1339;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1340;
+    uint32_t x1341;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1342;
+    uint32_t x1343;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1344;
+    uint32_t x1345;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1346;
+    uint32_t x1347;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1348;
+    uint32_t x1349;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1350;
+    uint32_t x1351;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1352;
+    uint32_t x1353;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1354;
+    uint32_t x1355;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1356;
+    uint32_t x1357;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1358;
+    uint32_t x1359;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1360;
+    uint32_t x1361;
+    uint32_t x1362;
+    uint32_t x1363;
+    uint32_t x1364;
+    uint32_t x1365;
+    uint32_t x1366;
+    uint32_t x1367;
+    uint32_t x1368;
+    uint32_t x1369;
+    uint32_t x1370;
+    uint32_t x1371;
+    uint32_t x1372;
+    uint32_t x1373;
+    uint32_t x1374;
+    uint32_t x1375;
+    uint32_t x1376;
+    uint32_t x1377;
+    uint32_t x1378;
+    uint32_t x1379;
+    uint32_t x1380;
+    uint32_t x1381;
+    uint32_t x1382;
+    uint32_t x1383;
+    uint32_t x1384;
+    uint32_t x1385;
+    uint32_t x1386;
+    uint32_t x1387;
+    uint32_t x1388;
+    uint32_t x1389;
+    uint32_t x1390;
+    uint32_t x1391;
+    uint32_t x1392;
+    uint32_t x1393;
+    uint32_t x1394;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1395;
+    uint32_t x1396;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1397;
+    uint32_t x1398;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1399;
+    uint32_t x1400;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1401;
+    uint32_t x1402;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1403;
+    uint32_t x1404;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1405;
+    uint32_t x1406;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1407;
+    uint32_t x1408;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1409;
+    uint32_t x1410;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1411;
+    uint32_t x1412;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1413;
+    uint32_t x1414;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1415;
+    uint32_t x1416;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1417;
+    uint32_t x1418;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1419;
+    uint32_t x1420;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1421;
+    uint32_t x1422;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1423;
+    uint32_t x1424;
+    uint32_t x1425;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1426;
+    uint32_t x1427;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1428;
+    uint32_t x1429;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1430;
+    uint32_t x1431;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1432;
+    uint32_t x1433;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1434;
+    uint32_t x1435;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1436;
+    uint32_t x1437;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1438;
+    uint32_t x1439;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1440;
+    uint32_t x1441;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1442;
+    uint32_t x1443;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1444;
+    uint32_t x1445;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1446;
+    uint32_t x1447;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1448;
+    uint32_t x1449;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1450;
+    uint32_t x1451;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1452;
+    uint32_t x1453;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1454;
+    uint32_t x1455;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1456;
+    uint32_t x1457;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1458;
+    uint32_t x1459;
+    uint32_t x1460;
+    uint32_t x1461;
+    uint32_t x1462;
+    uint32_t x1463;
+    uint32_t x1464;
+    uint32_t x1465;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1466;
+    uint32_t x1467;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1468;
+    uint32_t x1469;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1470;
+    uint32_t x1471;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1472;
+    uint32_t x1473;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1474;
+    uint32_t x1475;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1476;
+    uint32_t x1477;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1478;
+    uint32_t x1479;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1480;
+    uint32_t x1481;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1482;
+    uint32_t x1483;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1484;
+    uint32_t x1485;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1486;
+    uint32_t x1487;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1488;
+    uint32_t x1489;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1490;
+    uint32_t x1491;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1492;
+    uint32_t x1493;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1494;
+    uint32_t x1495;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1496;
+    uint32_t x1497;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1498;
+    uint32_t x1499;
+    uint32_t x1500;
+    uint32_t x1501;
+    uint32_t x1502;
+    uint32_t x1503;
+    uint32_t x1504;
+    uint32_t x1505;
+    uint32_t x1506;
+    uint32_t x1507;
+    uint32_t x1508;
+    uint32_t x1509;
+    uint32_t x1510;
+    uint32_t x1511;
+    uint32_t x1512;
+    uint32_t x1513;
+    uint32_t x1514;
+    uint32_t x1515;
+    uint32_t x1516;
+    uint32_t x1517;
+    uint32_t x1518;
+    uint32_t x1519;
+    uint32_t x1520;
+    uint32_t x1521;
+    uint32_t x1522;
+    uint32_t x1523;
+    uint32_t x1524;
+    uint32_t x1525;
+    uint32_t x1526;
+    uint32_t x1527;
+    uint32_t x1528;
+    uint32_t x1529;
+    uint32_t x1530;
+    uint32_t x1531;
+    uint32_t x1532;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1533;
+    uint32_t x1534;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1535;
+    uint32_t x1536;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1537;
+    uint32_t x1538;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1539;
+    uint32_t x1540;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1541;
+    uint32_t x1542;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1543;
+    uint32_t x1544;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1545;
+    uint32_t x1546;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1547;
+    uint32_t x1548;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1549;
+    uint32_t x1550;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1551;
+    uint32_t x1552;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1553;
+    uint32_t x1554;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1555;
+    uint32_t x1556;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1557;
+    uint32_t x1558;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1559;
+    uint32_t x1560;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1561;
+    uint32_t x1562;
+    uint32_t x1563;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1564;
+    uint32_t x1565;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1566;
+    uint32_t x1567;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1568;
+    uint32_t x1569;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1570;
+    uint32_t x1571;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1572;
+    uint32_t x1573;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1574;
+    uint32_t x1575;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1576;
+    uint32_t x1577;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1578;
+    uint32_t x1579;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1580;
+    uint32_t x1581;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1582;
+    uint32_t x1583;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1584;
+    uint32_t x1585;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1586;
+    uint32_t x1587;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1588;
+    uint32_t x1589;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1590;
+    uint32_t x1591;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1592;
+    uint32_t x1593;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1594;
+    uint32_t x1595;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1596;
+    uint32_t x1597;
+    uint32_t x1598;
+    uint32_t x1599;
+    uint32_t x1600;
+    uint32_t x1601;
+    uint32_t x1602;
+    uint32_t x1603;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1604;
+    uint32_t x1605;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1606;
+    uint32_t x1607;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1608;
+    uint32_t x1609;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1610;
+    uint32_t x1611;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1612;
+    uint32_t x1613;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1614;
+    uint32_t x1615;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1616;
+    uint32_t x1617;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1618;
+    uint32_t x1619;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1620;
+    uint32_t x1621;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1622;
+    uint32_t x1623;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1624;
+    uint32_t x1625;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1626;
+    uint32_t x1627;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1628;
+    uint32_t x1629;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1630;
+    uint32_t x1631;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1632;
+    uint32_t x1633;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1634;
+    uint32_t x1635;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1636;
+    uint32_t x1637;
+    uint32_t x1638;
+    uint32_t x1639;
+    uint32_t x1640;
+    uint32_t x1641;
+    uint32_t x1642;
+    uint32_t x1643;
+    uint32_t x1644;
+    uint32_t x1645;
+    uint32_t x1646;
+    uint32_t x1647;
+    uint32_t x1648;
+    uint32_t x1649;
+    uint32_t x1650;
+    uint32_t x1651;
+    uint32_t x1652;
+    uint32_t x1653;
+    uint32_t x1654;
+    uint32_t x1655;
+    uint32_t x1656;
+    uint32_t x1657;
+    uint32_t x1658;
+    uint32_t x1659;
+    uint32_t x1660;
+    uint32_t x1661;
+    uint32_t x1662;
+    uint32_t x1663;
+    uint32_t x1664;
+    uint32_t x1665;
+    uint32_t x1666;
+    uint32_t x1667;
+    uint32_t x1668;
+    uint32_t x1669;
+    uint32_t x1670;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1671;
+    uint32_t x1672;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1673;
+    uint32_t x1674;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1675;
+    uint32_t x1676;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1677;
+    uint32_t x1678;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1679;
+    uint32_t x1680;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1681;
+    uint32_t x1682;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1683;
+    uint32_t x1684;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1685;
+    uint32_t x1686;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1687;
+    uint32_t x1688;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1689;
+    uint32_t x1690;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1691;
+    uint32_t x1692;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1693;
+    uint32_t x1694;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1695;
+    uint32_t x1696;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1697;
+    uint32_t x1698;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1699;
+    uint32_t x1700;
+    uint32_t x1701;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1702;
+    uint32_t x1703;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1704;
+    uint32_t x1705;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1706;
+    uint32_t x1707;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1708;
+    uint32_t x1709;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1710;
+    uint32_t x1711;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1712;
+    uint32_t x1713;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1714;
+    uint32_t x1715;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1716;
+    uint32_t x1717;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1718;
+    uint32_t x1719;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1720;
+    uint32_t x1721;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1722;
+    uint32_t x1723;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1724;
+    uint32_t x1725;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1726;
+    uint32_t x1727;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1728;
+    uint32_t x1729;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1730;
+    uint32_t x1731;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1732;
+    uint32_t x1733;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1734;
+    uint32_t x1735;
+    uint32_t x1736;
+    uint32_t x1737;
+    uint32_t x1738;
+    uint32_t x1739;
+    uint32_t x1740;
+    uint32_t x1741;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1742;
+    uint32_t x1743;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1744;
+    uint32_t x1745;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1746;
+    uint32_t x1747;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1748;
+    uint32_t x1749;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1750;
+    uint32_t x1751;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1752;
+    uint32_t x1753;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1754;
+    uint32_t x1755;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1756;
+    uint32_t x1757;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1758;
+    uint32_t x1759;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1760;
+    uint32_t x1761;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1762;
+    uint32_t x1763;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1764;
+    uint32_t x1765;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1766;
+    uint32_t x1767;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1768;
+    uint32_t x1769;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1770;
+    uint32_t x1771;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1772;
+    uint32_t x1773;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1774;
+    uint32_t x1775;
+    uint32_t x1776;
+    uint32_t x1777;
+    uint32_t x1778;
+    uint32_t x1779;
+    uint32_t x1780;
+    uint32_t x1781;
+    uint32_t x1782;
+    uint32_t x1783;
+    uint32_t x1784;
+    uint32_t x1785;
+    uint32_t x1786;
+    uint32_t x1787;
+    uint32_t x1788;
+    uint32_t x1789;
+    uint32_t x1790;
+    uint32_t x1791;
+    uint32_t x1792;
+    uint32_t x1793;
+    uint32_t x1794;
+    uint32_t x1795;
+    uint32_t x1796;
+    uint32_t x1797;
+    uint32_t x1798;
+    uint32_t x1799;
+    uint32_t x1800;
+    uint32_t x1801;
+    uint32_t x1802;
+    uint32_t x1803;
+    uint32_t x1804;
+    uint32_t x1805;
+    uint32_t x1806;
+    uint32_t x1807;
+    uint32_t x1808;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1809;
+    uint32_t x1810;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1811;
+    uint32_t x1812;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1813;
+    uint32_t x1814;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1815;
+    uint32_t x1816;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1817;
+    uint32_t x1818;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1819;
+    uint32_t x1820;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1821;
+    uint32_t x1822;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1823;
+    uint32_t x1824;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1825;
+    uint32_t x1826;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1827;
+    uint32_t x1828;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1829;
+    uint32_t x1830;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1831;
+    uint32_t x1832;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1833;
+    uint32_t x1834;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1835;
+    uint32_t x1836;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1837;
+    uint32_t x1838;
+    uint32_t x1839;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1840;
+    uint32_t x1841;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1842;
+    uint32_t x1843;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1844;
+    uint32_t x1845;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1846;
+    uint32_t x1847;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1848;
+    uint32_t x1849;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1850;
+    uint32_t x1851;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1852;
+    uint32_t x1853;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1854;
+    uint32_t x1855;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1856;
+    uint32_t x1857;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1858;
+    uint32_t x1859;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1860;
+    uint32_t x1861;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1862;
+    uint32_t x1863;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1864;
+    uint32_t x1865;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1866;
+    uint32_t x1867;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1868;
+    uint32_t x1869;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1870;
+    uint32_t x1871;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1872;
+    uint32_t x1873;
+    uint32_t x1874;
+    uint32_t x1875;
+    uint32_t x1876;
+    uint32_t x1877;
+    uint32_t x1878;
+    uint32_t x1879;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1880;
+    uint32_t x1881;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1882;
+    uint32_t x1883;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1884;
+    uint32_t x1885;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1886;
+    uint32_t x1887;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1888;
+    uint32_t x1889;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1890;
+    uint32_t x1891;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1892;
+    uint32_t x1893;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1894;
+    uint32_t x1895;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1896;
+    uint32_t x1897;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1898;
+    uint32_t x1899;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1900;
+    uint32_t x1901;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1902;
+    uint32_t x1903;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1904;
+    uint32_t x1905;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1906;
+    uint32_t x1907;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1908;
+    uint32_t x1909;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1910;
+    uint32_t x1911;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1912;
+    uint32_t x1913;
+    uint32_t x1914;
+    uint32_t x1915;
+    uint32_t x1916;
+    uint32_t x1917;
+    uint32_t x1918;
+    uint32_t x1919;
+    uint32_t x1920;
+    uint32_t x1921;
+    uint32_t x1922;
+    uint32_t x1923;
+    uint32_t x1924;
+    uint32_t x1925;
+    uint32_t x1926;
+    uint32_t x1927;
+    uint32_t x1928;
+    uint32_t x1929;
+    uint32_t x1930;
+    uint32_t x1931;
+    uint32_t x1932;
+    uint32_t x1933;
+    uint32_t x1934;
+    uint32_t x1935;
+    uint32_t x1936;
+    uint32_t x1937;
+    uint32_t x1938;
+    uint32_t x1939;
+    uint32_t x1940;
+    uint32_t x1941;
+    uint32_t x1942;
+    uint32_t x1943;
+    uint32_t x1944;
+    uint32_t x1945;
+    uint32_t x1946;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1947;
+    uint32_t x1948;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1949;
+    uint32_t x1950;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1951;
+    uint32_t x1952;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1953;
+    uint32_t x1954;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1955;
+    uint32_t x1956;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1957;
+    uint32_t x1958;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1959;
+    uint32_t x1960;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1961;
+    uint32_t x1962;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1963;
+    uint32_t x1964;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1965;
+    uint32_t x1966;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1967;
+    uint32_t x1968;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1969;
+    uint32_t x1970;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1971;
+    uint32_t x1972;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1973;
+    uint32_t x1974;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1975;
+    uint32_t x1976;
+    uint32_t x1977;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1978;
+    uint32_t x1979;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1980;
+    uint32_t x1981;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1982;
+    uint32_t x1983;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1984;
+    uint32_t x1985;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1986;
+    uint32_t x1987;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1988;
+    uint32_t x1989;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1990;
+    uint32_t x1991;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1992;
+    uint32_t x1993;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1994;
+    uint32_t x1995;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1996;
+    uint32_t x1997;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1998;
+    uint32_t x1999;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2000;
+    uint32_t x2001;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2002;
+    uint32_t x2003;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2004;
+    uint32_t x2005;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2006;
+    uint32_t x2007;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2008;
+    uint32_t x2009;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2010;
+    uint32_t x2011;
+    uint32_t x2012;
+    uint32_t x2013;
+    uint32_t x2014;
+    uint32_t x2015;
+    uint32_t x2016;
+    uint32_t x2017;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2018;
+    uint32_t x2019;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2020;
+    uint32_t x2021;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2022;
+    uint32_t x2023;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2024;
+    uint32_t x2025;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2026;
+    uint32_t x2027;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2028;
+    uint32_t x2029;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2030;
+    uint32_t x2031;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2032;
+    uint32_t x2033;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2034;
+    uint32_t x2035;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2036;
+    uint32_t x2037;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2038;
+    uint32_t x2039;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2040;
+    uint32_t x2041;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2042;
+    uint32_t x2043;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2044;
+    uint32_t x2045;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2046;
+    uint32_t x2047;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2048;
+    uint32_t x2049;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2050;
+    uint32_t x2051;
+    uint32_t x2052;
+    uint32_t x2053;
+    uint32_t x2054;
+    uint32_t x2055;
+    uint32_t x2056;
+    uint32_t x2057;
+    uint32_t x2058;
+    uint32_t x2059;
+    uint32_t x2060;
+    uint32_t x2061;
+    uint32_t x2062;
+    uint32_t x2063;
+    uint32_t x2064;
+    uint32_t x2065;
+    uint32_t x2066;
+    uint32_t x2067;
+    uint32_t x2068;
+    uint32_t x2069;
+    uint32_t x2070;
+    uint32_t x2071;
+    uint32_t x2072;
+    uint32_t x2073;
+    uint32_t x2074;
+    uint32_t x2075;
+    uint32_t x2076;
+    uint32_t x2077;
+    uint32_t x2078;
+    uint32_t x2079;
+    uint32_t x2080;
+    uint32_t x2081;
+    uint32_t x2082;
+    uint32_t x2083;
+    uint32_t x2084;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2085;
+    uint32_t x2086;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2087;
+    uint32_t x2088;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2089;
+    uint32_t x2090;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2091;
+    uint32_t x2092;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2093;
+    uint32_t x2094;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2095;
+    uint32_t x2096;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2097;
+    uint32_t x2098;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2099;
+    uint32_t x2100;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2101;
+    uint32_t x2102;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2103;
+    uint32_t x2104;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2105;
+    uint32_t x2106;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2107;
+    uint32_t x2108;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2109;
+    uint32_t x2110;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2111;
+    uint32_t x2112;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2113;
+    uint32_t x2114;
+    uint32_t x2115;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2116;
+    uint32_t x2117;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2118;
+    uint32_t x2119;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2120;
+    uint32_t x2121;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2122;
+    uint32_t x2123;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2124;
+    uint32_t x2125;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2126;
+    uint32_t x2127;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2128;
+    uint32_t x2129;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2130;
+    uint32_t x2131;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2132;
+    uint32_t x2133;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2134;
+    uint32_t x2135;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2136;
+    uint32_t x2137;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2138;
+    uint32_t x2139;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2140;
+    uint32_t x2141;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2142;
+    uint32_t x2143;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2144;
+    uint32_t x2145;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2146;
+    uint32_t x2147;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2148;
+    uint32_t x2149;
+    uint32_t x2150;
+    uint32_t x2151;
+    uint32_t x2152;
+    uint32_t x2153;
+    uint32_t x2154;
+    uint32_t x2155;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2156;
+    uint32_t x2157;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2158;
+    uint32_t x2159;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2160;
+    uint32_t x2161;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2162;
+    uint32_t x2163;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2164;
+    uint32_t x2165;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2166;
+    uint32_t x2167;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2168;
+    uint32_t x2169;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2170;
+    uint32_t x2171;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2172;
+    uint32_t x2173;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2174;
+    uint32_t x2175;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2176;
+    uint32_t x2177;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2178;
+    uint32_t x2179;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2180;
+    uint32_t x2181;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2182;
+    uint32_t x2183;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2184;
+    uint32_t x2185;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2186;
+    uint32_t x2187;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2188;
+    uint32_t x2189;
+    uint32_t x2190;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2191;
+    uint32_t x2192;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2193;
+    uint32_t x2194;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2195;
+    uint32_t x2196;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2197;
+    uint32_t x2198;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2199;
+    uint32_t x2200;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2201;
+    uint32_t x2202;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2203;
+    uint32_t x2204;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2205;
+    uint32_t x2206;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2207;
+    uint32_t x2208;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2209;
+    uint32_t x2210;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2211;
+    uint32_t x2212;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2213;
+    uint32_t x2214;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2215;
+    uint32_t x2216;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2217;
+    uint32_t x2218;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2219;
+    uint32_t x2220;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2221;
+    uint32_t x2222;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2223;
+    uint32_t x2224;
+    uint32_t x2225;
+    uint32_t x2226;
+    uint32_t x2227;
+    uint32_t x2228;
+    uint32_t x2229;
+    uint32_t x2230;
+    uint32_t x2231;
+    uint32_t x2232;
+    uint32_t x2233;
+    uint32_t x2234;
+    uint32_t x2235;
+    uint32_t x2236;
+    uint32_t x2237;
+    uint32_t x2238;
+    uint32_t x2239;
+    x1 = (arg1[1]);
+    x2 = (arg1[2]);
+    x3 = (arg1[3]);
+    x4 = (arg1[4]);
+    x5 = (arg1[5]);
+    x6 = (arg1[6]);
+    x7 = (arg1[7]);
+    x8 = (arg1[8]);
+    x9 = (arg1[9]);
+    x10 = (arg1[10]);
+    x11 = (arg1[11]);
+    x12 = (arg1[12]);
+    x13 = (arg1[13]);
+    x14 = (arg1[14]);
+    x15 = (arg1[15]);
+    x16 = (arg1[0]);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x17, &x18, x16,
+                                                       (arg2[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x19, &x20, x16,
+                                                       (arg2[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x21, &x22, x16,
+                                                       (arg2[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x23, &x24, x16,
+                                                       (arg2[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x25, &x26, x16,
+                                                       (arg2[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x27, &x28, x16,
+                                                       (arg2[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x29, &x30, x16,
+                                                       (arg2[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x31, &x32, x16,
+                                                       (arg2[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x33, &x34, x16,
+                                                       (arg2[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x35, &x36, x16,
+                                                       (arg2[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x37, &x38, x16,
+                                                       (arg2[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x39, &x40, x16,
+                                                       (arg2[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x41, &x42, x16,
+                                                       (arg2[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x43, &x44, x16,
+                                                       (arg2[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x45, &x46, x16,
+                                                       (arg2[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x47, &x48, x16,
+                                                       (arg2[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x49, &x50, 0x0,
+                                                            x48, x45);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x51, &x52, x50,
+                                                            x46, x43);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x53, &x54, x52,
+                                                            x44, x41);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x55, &x56, x54,
+                                                            x42, x39);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x57, &x58, x56,
+                                                            x40, x37);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x59, &x60, x58,
+                                                            x38, x35);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x61, &x62, x60,
+                                                            x36, x33);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x63, &x64, x62,
+                                                            x34, x31);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x65, &x66, x64,
+                                                            x32, x29);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x67, &x68, x66,
+                                                            x30, x27);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x69, &x70, x68,
+                                                            x28, x25);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x71, &x72, x70,
+                                                            x26, x23);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x73, &x74, x72,
+                                                            x24, x21);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x75, &x76, x74,
+                                                            x22, x19);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x77, &x78, x76,
+                                                            x20, x17);
+    x79 = (x78 + x18);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x80, &x81, x47,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x82, &x83, x80,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x84, &x85, x80,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x86, &x87, 0x0,
+                                                            x47, x84);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x88, &x89, x87,
+                                                            x49, x85);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x90, &x91, x89,
+                                                            x51, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x92, &x93, x91,
+                                                            x53, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x94, &x95, x93,
+                                                            x55, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x96, &x97, x95,
+                                                            x57, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x98, &x99, x97,
+                                                            x59, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x100, &x101, x99,
+                                                            x61, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x102, &x103, x101,
+                                                            x63, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x104, &x105, x103,
+                                                            x65, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x106, &x107, x105,
+                                                            x67, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x108, &x109, x107,
+                                                            x69, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x110, &x111, x109,
+                                                            x71, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x112, &x113, x111,
+                                                            x73, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x114, &x115, x113,
+                                                            x75, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x116, &x117, x115,
+                                                            x77, x82);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x118, &x119, x117,
+                                                            x79, x83);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x120, &x121, x1,
+                                                       (arg2[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x122, &x123, x1,
+                                                       (arg2[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x124, &x125, x1,
+                                                       (arg2[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x126, &x127, x1,
+                                                       (arg2[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x128, &x129, x1,
+                                                       (arg2[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x130, &x131, x1,
+                                                       (arg2[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x132, &x133, x1,
+                                                       (arg2[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x134, &x135, x1,
+                                                       (arg2[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x136, &x137, x1,
+                                                       (arg2[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x138, &x139, x1,
+                                                       (arg2[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x140, &x141, x1,
+                                                       (arg2[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x142, &x143, x1,
+                                                       (arg2[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x144, &x145, x1,
+                                                       (arg2[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x146, &x147, x1,
+                                                       (arg2[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x148, &x149, x1,
+                                                       (arg2[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x150, &x151, x1,
+                                                       (arg2[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x152, &x153, 0x0,
+                                                            x151, x148);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x154, &x155, x153,
+                                                            x149, x146);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x156, &x157, x155,
+                                                            x147, x144);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x158, &x159, x157,
+                                                            x145, x142);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x160, &x161, x159,
+                                                            x143, x140);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x162, &x163, x161,
+                                                            x141, x138);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x164, &x165, x163,
+                                                            x139, x136);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x166, &x167, x165,
+                                                            x137, x134);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x168, &x169, x167,
+                                                            x135, x132);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x170, &x171, x169,
+                                                            x133, x130);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x172, &x173, x171,
+                                                            x131, x128);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x174, &x175, x173,
+                                                            x129, x126);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x176, &x177, x175,
+                                                            x127, x124);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x178, &x179, x177,
+                                                            x125, x122);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x180, &x181, x179,
+                                                            x123, x120);
+    x182 = (x181 + x121);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x183, &x184, 0x0,
+                                                            x88, x150);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x185, &x186, x184,
+                                                            x90, x152);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x187, &x188, x186,
+                                                            x92, x154);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x189, &x190, x188,
+                                                            x94, x156);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x191, &x192, x190,
+                                                            x96, x158);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x193, &x194, x192,
+                                                            x98, x160);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x195, &x196, x194,
+                                                            x100, x162);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x197, &x198, x196,
+                                                            x102, x164);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x199, &x200, x198,
+                                                            x104, x166);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x201, &x202, x200,
+                                                            x106, x168);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x203, &x204, x202,
+                                                            x108, x170);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x205, &x206, x204,
+                                                            x110, x172);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x207, &x208, x206,
+                                                            x112, x174);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x209, &x210, x208,
+                                                            x114, x176);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x211, &x212, x210,
+                                                            x116, x178);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x213, &x214, x212,
+                                                            x118, x180);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x215, &x216, x214,
+                                                            x119, x182);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x217, &x218, x183,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x219, &x220, x217,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x221, &x222, x217,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x223, &x224, 0x0,
+                                                            x183, x221);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x225, &x226, x224,
+                                                            x185, x222);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x227, &x228, x226,
+                                                            x187, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x229, &x230, x228,
+                                                            x189, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x231, &x232, x230,
+                                                            x191, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x233, &x234, x232,
+                                                            x193, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x235, &x236, x234,
+                                                            x195, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x237, &x238, x236,
+                                                            x197, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x239, &x240, x238,
+                                                            x199, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x241, &x242, x240,
+                                                            x201, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x243, &x244, x242,
+                                                            x203, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x245, &x246, x244,
+                                                            x205, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x247, &x248, x246,
+                                                            x207, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x249, &x250, x248,
+                                                            x209, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x251, &x252, x250,
+                                                            x211, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x253, &x254, x252,
+                                                            x213, x219);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x255, &x256, x254,
+                                                            x215, x220);
+    x257 = ((uint32_t)x256 + x216);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x258, &x259, x2,
+                                                       (arg2[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x260, &x261, x2,
+                                                       (arg2[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x262, &x263, x2,
+                                                       (arg2[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x264, &x265, x2,
+                                                       (arg2[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x266, &x267, x2,
+                                                       (arg2[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x268, &x269, x2,
+                                                       (arg2[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x270, &x271, x2,
+                                                       (arg2[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x272, &x273, x2,
+                                                       (arg2[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x274, &x275, x2,
+                                                       (arg2[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x276, &x277, x2,
+                                                       (arg2[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x278, &x279, x2,
+                                                       (arg2[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x280, &x281, x2,
+                                                       (arg2[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x282, &x283, x2,
+                                                       (arg2[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x284, &x285, x2,
+                                                       (arg2[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x286, &x287, x2,
+                                                       (arg2[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x288, &x289, x2,
+                                                       (arg2[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x290, &x291, 0x0,
+                                                            x289, x286);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x292, &x293, x291,
+                                                            x287, x284);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x294, &x295, x293,
+                                                            x285, x282);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x296, &x297, x295,
+                                                            x283, x280);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x298, &x299, x297,
+                                                            x281, x278);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x300, &x301, x299,
+                                                            x279, x276);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x302, &x303, x301,
+                                                            x277, x274);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x304, &x305, x303,
+                                                            x275, x272);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x306, &x307, x305,
+                                                            x273, x270);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x308, &x309, x307,
+                                                            x271, x268);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x310, &x311, x309,
+                                                            x269, x266);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x312, &x313, x311,
+                                                            x267, x264);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x314, &x315, x313,
+                                                            x265, x262);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x316, &x317, x315,
+                                                            x263, x260);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x318, &x319, x317,
+                                                            x261, x258);
+    x320 = (x319 + x259);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x321, &x322, 0x0,
+                                                            x225, x288);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x323, &x324, x322,
+                                                            x227, x290);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x325, &x326, x324,
+                                                            x229, x292);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x327, &x328, x326,
+                                                            x231, x294);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x329, &x330, x328,
+                                                            x233, x296);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x331, &x332, x330,
+                                                            x235, x298);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x333, &x334, x332,
+                                                            x237, x300);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x335, &x336, x334,
+                                                            x239, x302);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x337, &x338, x336,
+                                                            x241, x304);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x339, &x340, x338,
+                                                            x243, x306);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x341, &x342, x340,
+                                                            x245, x308);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x343, &x344, x342,
+                                                            x247, x310);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x345, &x346, x344,
+                                                            x249, x312);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x347, &x348, x346,
+                                                            x251, x314);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x349, &x350, x348,
+                                                            x253, x316);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x351, &x352, x350,
+                                                            x255, x318);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x353, &x354, x352,
+                                                            x257, x320);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x355, &x356, x321,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x357, &x358, x355,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x359, &x360, x355,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x361, &x362, 0x0,
+                                                            x321, x359);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x363, &x364, x362,
+                                                            x323, x360);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x365, &x366, x364,
+                                                            x325, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x367, &x368, x366,
+                                                            x327, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x369, &x370, x368,
+                                                            x329, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x371, &x372, x370,
+                                                            x331, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x373, &x374, x372,
+                                                            x333, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x375, &x376, x374,
+                                                            x335, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x377, &x378, x376,
+                                                            x337, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x379, &x380, x378,
+                                                            x339, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x381, &x382, x380,
+                                                            x341, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x383, &x384, x382,
+                                                            x343, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x385, &x386, x384,
+                                                            x345, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x387, &x388, x386,
+                                                            x347, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x389, &x390, x388,
+                                                            x349, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x391, &x392, x390,
+                                                            x351, x357);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x393, &x394, x392,
+                                                            x353, x358);
+    x395 = ((uint32_t)x394 + x354);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x396, &x397, x3,
+                                                       (arg2[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x398, &x399, x3,
+                                                       (arg2[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x400, &x401, x3,
+                                                       (arg2[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x402, &x403, x3,
+                                                       (arg2[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x404, &x405, x3,
+                                                       (arg2[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x406, &x407, x3,
+                                                       (arg2[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x408, &x409, x3,
+                                                       (arg2[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x410, &x411, x3,
+                                                       (arg2[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x412, &x413, x3,
+                                                       (arg2[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x414, &x415, x3,
+                                                       (arg2[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x416, &x417, x3,
+                                                       (arg2[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x418, &x419, x3,
+                                                       (arg2[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x420, &x421, x3,
+                                                       (arg2[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x422, &x423, x3,
+                                                       (arg2[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x424, &x425, x3,
+                                                       (arg2[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x426, &x427, x3,
+                                                       (arg2[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x428, &x429, 0x0,
+                                                            x427, x424);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x430, &x431, x429,
+                                                            x425, x422);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x432, &x433, x431,
+                                                            x423, x420);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x434, &x435, x433,
+                                                            x421, x418);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x436, &x437, x435,
+                                                            x419, x416);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x438, &x439, x437,
+                                                            x417, x414);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x440, &x441, x439,
+                                                            x415, x412);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x442, &x443, x441,
+                                                            x413, x410);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x444, &x445, x443,
+                                                            x411, x408);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x446, &x447, x445,
+                                                            x409, x406);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x448, &x449, x447,
+                                                            x407, x404);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x450, &x451, x449,
+                                                            x405, x402);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x452, &x453, x451,
+                                                            x403, x400);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x454, &x455, x453,
+                                                            x401, x398);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x456, &x457, x455,
+                                                            x399, x396);
+    x458 = (x457 + x397);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x459, &x460, 0x0,
+                                                            x363, x426);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x461, &x462, x460,
+                                                            x365, x428);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x463, &x464, x462,
+                                                            x367, x430);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x465, &x466, x464,
+                                                            x369, x432);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x467, &x468, x466,
+                                                            x371, x434);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x469, &x470, x468,
+                                                            x373, x436);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x471, &x472, x470,
+                                                            x375, x438);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x473, &x474, x472,
+                                                            x377, x440);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x475, &x476, x474,
+                                                            x379, x442);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x477, &x478, x476,
+                                                            x381, x444);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x479, &x480, x478,
+                                                            x383, x446);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x481, &x482, x480,
+                                                            x385, x448);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x483, &x484, x482,
+                                                            x387, x450);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x485, &x486, x484,
+                                                            x389, x452);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x487, &x488, x486,
+                                                            x391, x454);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x489, &x490, x488,
+                                                            x393, x456);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x491, &x492, x490,
+                                                            x395, x458);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x493, &x494, x459,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x495, &x496, x493,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x497, &x498, x493,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x499, &x500, 0x0,
+                                                            x459, x497);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x501, &x502, x500,
+                                                            x461, x498);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x503, &x504, x502,
+                                                            x463, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x505, &x506, x504,
+                                                            x465, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x507, &x508, x506,
+                                                            x467, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x509, &x510, x508,
+                                                            x469, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x511, &x512, x510,
+                                                            x471, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x513, &x514, x512,
+                                                            x473, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x515, &x516, x514,
+                                                            x475, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x517, &x518, x516,
+                                                            x477, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x519, &x520, x518,
+                                                            x479, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x521, &x522, x520,
+                                                            x481, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x523, &x524, x522,
+                                                            x483, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x525, &x526, x524,
+                                                            x485, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x527, &x528, x526,
+                                                            x487, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x529, &x530, x528,
+                                                            x489, x495);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x531, &x532, x530,
+                                                            x491, x496);
+    x533 = ((uint32_t)x532 + x492);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x534, &x535, x4,
+                                                       (arg2[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x536, &x537, x4,
+                                                       (arg2[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x538, &x539, x4,
+                                                       (arg2[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x540, &x541, x4,
+                                                       (arg2[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x542, &x543, x4,
+                                                       (arg2[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x544, &x545, x4,
+                                                       (arg2[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x546, &x547, x4,
+                                                       (arg2[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x548, &x549, x4,
+                                                       (arg2[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x550, &x551, x4,
+                                                       (arg2[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x552, &x553, x4,
+                                                       (arg2[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x554, &x555, x4,
+                                                       (arg2[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x556, &x557, x4,
+                                                       (arg2[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x558, &x559, x4,
+                                                       (arg2[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x560, &x561, x4,
+                                                       (arg2[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x562, &x563, x4,
+                                                       (arg2[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x564, &x565, x4,
+                                                       (arg2[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x566, &x567, 0x0,
+                                                            x565, x562);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x568, &x569, x567,
+                                                            x563, x560);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x570, &x571, x569,
+                                                            x561, x558);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x572, &x573, x571,
+                                                            x559, x556);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x574, &x575, x573,
+                                                            x557, x554);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x576, &x577, x575,
+                                                            x555, x552);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x578, &x579, x577,
+                                                            x553, x550);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x580, &x581, x579,
+                                                            x551, x548);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x582, &x583, x581,
+                                                            x549, x546);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x584, &x585, x583,
+                                                            x547, x544);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x586, &x587, x585,
+                                                            x545, x542);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x588, &x589, x587,
+                                                            x543, x540);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x590, &x591, x589,
+                                                            x541, x538);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x592, &x593, x591,
+                                                            x539, x536);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x594, &x595, x593,
+                                                            x537, x534);
+    x596 = (x595 + x535);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x597, &x598, 0x0,
+                                                            x501, x564);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x599, &x600, x598,
+                                                            x503, x566);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x601, &x602, x600,
+                                                            x505, x568);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x603, &x604, x602,
+                                                            x507, x570);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x605, &x606, x604,
+                                                            x509, x572);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x607, &x608, x606,
+                                                            x511, x574);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x609, &x610, x608,
+                                                            x513, x576);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x611, &x612, x610,
+                                                            x515, x578);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x613, &x614, x612,
+                                                            x517, x580);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x615, &x616, x614,
+                                                            x519, x582);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x617, &x618, x616,
+                                                            x521, x584);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x619, &x620, x618,
+                                                            x523, x586);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x621, &x622, x620,
+                                                            x525, x588);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x623, &x624, x622,
+                                                            x527, x590);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x625, &x626, x624,
+                                                            x529, x592);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x627, &x628, x626,
+                                                            x531, x594);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x629, &x630, x628,
+                                                            x533, x596);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x631, &x632, x597,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x633, &x634, x631,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x635, &x636, x631,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x637, &x638, 0x0,
+                                                            x597, x635);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x639, &x640, x638,
+                                                            x599, x636);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x641, &x642, x640,
+                                                            x601, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x643, &x644, x642,
+                                                            x603, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x645, &x646, x644,
+                                                            x605, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x647, &x648, x646,
+                                                            x607, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x649, &x650, x648,
+                                                            x609, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x651, &x652, x650,
+                                                            x611, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x653, &x654, x652,
+                                                            x613, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x655, &x656, x654,
+                                                            x615, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x657, &x658, x656,
+                                                            x617, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x659, &x660, x658,
+                                                            x619, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x661, &x662, x660,
+                                                            x621, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x663, &x664, x662,
+                                                            x623, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x665, &x666, x664,
+                                                            x625, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x667, &x668, x666,
+                                                            x627, x633);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x669, &x670, x668,
+                                                            x629, x634);
+    x671 = ((uint32_t)x670 + x630);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x672, &x673, x5,
+                                                       (arg2[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x674, &x675, x5,
+                                                       (arg2[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x676, &x677, x5,
+                                                       (arg2[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x678, &x679, x5,
+                                                       (arg2[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x680, &x681, x5,
+                                                       (arg2[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x682, &x683, x5,
+                                                       (arg2[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x684, &x685, x5,
+                                                       (arg2[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x686, &x687, x5,
+                                                       (arg2[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x688, &x689, x5,
+                                                       (arg2[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x690, &x691, x5,
+                                                       (arg2[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x692, &x693, x5,
+                                                       (arg2[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x694, &x695, x5,
+                                                       (arg2[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x696, &x697, x5,
+                                                       (arg2[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x698, &x699, x5,
+                                                       (arg2[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x700, &x701, x5,
+                                                       (arg2[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x702, &x703, x5,
+                                                       (arg2[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x704, &x705, 0x0,
+                                                            x703, x700);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x706, &x707, x705,
+                                                            x701, x698);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x708, &x709, x707,
+                                                            x699, x696);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x710, &x711, x709,
+                                                            x697, x694);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x712, &x713, x711,
+                                                            x695, x692);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x714, &x715, x713,
+                                                            x693, x690);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x716, &x717, x715,
+                                                            x691, x688);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x718, &x719, x717,
+                                                            x689, x686);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x720, &x721, x719,
+                                                            x687, x684);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x722, &x723, x721,
+                                                            x685, x682);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x724, &x725, x723,
+                                                            x683, x680);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x726, &x727, x725,
+                                                            x681, x678);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x728, &x729, x727,
+                                                            x679, x676);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x730, &x731, x729,
+                                                            x677, x674);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x732, &x733, x731,
+                                                            x675, x672);
+    x734 = (x733 + x673);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x735, &x736, 0x0,
+                                                            x639, x702);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x737, &x738, x736,
+                                                            x641, x704);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x739, &x740, x738,
+                                                            x643, x706);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x741, &x742, x740,
+                                                            x645, x708);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x743, &x744, x742,
+                                                            x647, x710);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x745, &x746, x744,
+                                                            x649, x712);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x747, &x748, x746,
+                                                            x651, x714);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x749, &x750, x748,
+                                                            x653, x716);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x751, &x752, x750,
+                                                            x655, x718);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x753, &x754, x752,
+                                                            x657, x720);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x755, &x756, x754,
+                                                            x659, x722);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x757, &x758, x756,
+                                                            x661, x724);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x759, &x760, x758,
+                                                            x663, x726);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x761, &x762, x760,
+                                                            x665, x728);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x763, &x764, x762,
+                                                            x667, x730);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x765, &x766, x764,
+                                                            x669, x732);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x767, &x768, x766,
+                                                            x671, x734);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x769, &x770, x735,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x771, &x772, x769,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x773, &x774, x769,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x775, &x776, 0x0,
+                                                            x735, x773);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x777, &x778, x776,
+                                                            x737, x774);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x779, &x780, x778,
+                                                            x739, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x781, &x782, x780,
+                                                            x741, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x783, &x784, x782,
+                                                            x743, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x785, &x786, x784,
+                                                            x745, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x787, &x788, x786,
+                                                            x747, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x789, &x790, x788,
+                                                            x749, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x791, &x792, x790,
+                                                            x751, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x793, &x794, x792,
+                                                            x753, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x795, &x796, x794,
+                                                            x755, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x797, &x798, x796,
+                                                            x757, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x799, &x800, x798,
+                                                            x759, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x801, &x802, x800,
+                                                            x761, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x803, &x804, x802,
+                                                            x763, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x805, &x806, x804,
+                                                            x765, x771);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x807, &x808, x806,
+                                                            x767, x772);
+    x809 = ((uint32_t)x808 + x768);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x810, &x811, x6,
+                                                       (arg2[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x812, &x813, x6,
+                                                       (arg2[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x814, &x815, x6,
+                                                       (arg2[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x816, &x817, x6,
+                                                       (arg2[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x818, &x819, x6,
+                                                       (arg2[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x820, &x821, x6,
+                                                       (arg2[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x822, &x823, x6,
+                                                       (arg2[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x824, &x825, x6,
+                                                       (arg2[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x826, &x827, x6,
+                                                       (arg2[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x828, &x829, x6,
+                                                       (arg2[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x830, &x831, x6,
+                                                       (arg2[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x832, &x833, x6,
+                                                       (arg2[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x834, &x835, x6,
+                                                       (arg2[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x836, &x837, x6,
+                                                       (arg2[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x838, &x839, x6,
+                                                       (arg2[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x840, &x841, x6,
+                                                       (arg2[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x842, &x843, 0x0,
+                                                            x841, x838);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x844, &x845, x843,
+                                                            x839, x836);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x846, &x847, x845,
+                                                            x837, x834);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x848, &x849, x847,
+                                                            x835, x832);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x850, &x851, x849,
+                                                            x833, x830);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x852, &x853, x851,
+                                                            x831, x828);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x854, &x855, x853,
+                                                            x829, x826);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x856, &x857, x855,
+                                                            x827, x824);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x858, &x859, x857,
+                                                            x825, x822);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x860, &x861, x859,
+                                                            x823, x820);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x862, &x863, x861,
+                                                            x821, x818);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x864, &x865, x863,
+                                                            x819, x816);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x866, &x867, x865,
+                                                            x817, x814);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x868, &x869, x867,
+                                                            x815, x812);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x870, &x871, x869,
+                                                            x813, x810);
+    x872 = (x871 + x811);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x873, &x874, 0x0,
+                                                            x777, x840);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x875, &x876, x874,
+                                                            x779, x842);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x877, &x878, x876,
+                                                            x781, x844);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x879, &x880, x878,
+                                                            x783, x846);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x881, &x882, x880,
+                                                            x785, x848);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x883, &x884, x882,
+                                                            x787, x850);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x885, &x886, x884,
+                                                            x789, x852);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x887, &x888, x886,
+                                                            x791, x854);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x889, &x890, x888,
+                                                            x793, x856);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x891, &x892, x890,
+                                                            x795, x858);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x893, &x894, x892,
+                                                            x797, x860);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x895, &x896, x894,
+                                                            x799, x862);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x897, &x898, x896,
+                                                            x801, x864);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x899, &x900, x898,
+                                                            x803, x866);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x901, &x902, x900,
+                                                            x805, x868);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x903, &x904, x902,
+                                                            x807, x870);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x905, &x906, x904,
+                                                            x809, x872);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x907, &x908, x873,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x909, &x910, x907,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x911, &x912, x907,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x913, &x914, 0x0,
+                                                            x873, x911);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x915, &x916, x914,
+                                                            x875, x912);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x917, &x918, x916,
+                                                            x877, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x919, &x920, x918,
+                                                            x879, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x921, &x922, x920,
+                                                            x881, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x923, &x924, x922,
+                                                            x883, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x925, &x926, x924,
+                                                            x885, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x927, &x928, x926,
+                                                            x887, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x929, &x930, x928,
+                                                            x889, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x931, &x932, x930,
+                                                            x891, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x933, &x934, x932,
+                                                            x893, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x935, &x936, x934,
+                                                            x895, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x937, &x938, x936,
+                                                            x897, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x939, &x940, x938,
+                                                            x899, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x941, &x942, x940,
+                                                            x901, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x943, &x944, x942,
+                                                            x903, x909);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x945, &x946, x944,
+                                                            x905, x910);
+    x947 = ((uint32_t)x946 + x906);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x948, &x949, x7,
+                                                       (arg2[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x950, &x951, x7,
+                                                       (arg2[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x952, &x953, x7,
+                                                       (arg2[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x954, &x955, x7,
+                                                       (arg2[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x956, &x957, x7,
+                                                       (arg2[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x958, &x959, x7,
+                                                       (arg2[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x960, &x961, x7,
+                                                       (arg2[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x962, &x963, x7,
+                                                       (arg2[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x964, &x965, x7,
+                                                       (arg2[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x966, &x967, x7,
+                                                       (arg2[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x968, &x969, x7,
+                                                       (arg2[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x970, &x971, x7,
+                                                       (arg2[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x972, &x973, x7,
+                                                       (arg2[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x974, &x975, x7,
+                                                       (arg2[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x976, &x977, x7,
+                                                       (arg2[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x978, &x979, x7,
+                                                       (arg2[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x980, &x981, 0x0,
+                                                            x979, x976);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x982, &x983, x981,
+                                                            x977, x974);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x984, &x985, x983,
+                                                            x975, x972);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x986, &x987, x985,
+                                                            x973, x970);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x988, &x989, x987,
+                                                            x971, x968);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x990, &x991, x989,
+                                                            x969, x966);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x992, &x993, x991,
+                                                            x967, x964);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x994, &x995, x993,
+                                                            x965, x962);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x996, &x997, x995,
+                                                            x963, x960);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x998, &x999, x997,
+                                                            x961, x958);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1000, &x1001,
+                                                            x999, x959, x956);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1002, &x1003,
+                                                            x1001, x957, x954);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1004, &x1005,
+                                                            x1003, x955, x952);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1006, &x1007,
+                                                            x1005, x953, x950);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1008, &x1009,
+                                                            x1007, x951, x948);
+    x1010 = (x1009 + x949);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1011, &x1012, 0x0,
+                                                            x915, x978);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1013, &x1014,
+                                                            x1012, x917, x980);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1015, &x1016,
+                                                            x1014, x919, x982);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1017, &x1018,
+                                                            x1016, x921, x984);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1019, &x1020,
+                                                            x1018, x923, x986);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1021, &x1022,
+                                                            x1020, x925, x988);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1023, &x1024,
+                                                            x1022, x927, x990);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1025, &x1026,
+                                                            x1024, x929, x992);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1027, &x1028,
+                                                            x1026, x931, x994);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1029, &x1030,
+                                                            x1028, x933, x996);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1031, &x1032,
+                                                            x1030, x935, x998);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1033, &x1034,
+                                                            x1032, x937, x1000);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1035, &x1036,
+                                                            x1034, x939, x1002);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1037, &x1038,
+                                                            x1036, x941, x1004);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1039, &x1040,
+                                                            x1038, x943, x1006);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1041, &x1042,
+                                                            x1040, x945, x1008);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1043, &x1044,
+                                                            x1042, x947, x1010);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1045, &x1046, x1011,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1047, &x1048, x1045,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1049, &x1050, x1045,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1051, &x1052, 0x0,
+                                                            x1011, x1049);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1053, &x1054, x1052, x1013, x1050);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1055, &x1056,
+                                                            x1054, x1015, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1057, &x1058,
+                                                            x1056, x1017, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1059, &x1060,
+                                                            x1058, x1019, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1061, &x1062,
+                                                            x1060, x1021, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1063, &x1064,
+                                                            x1062, x1023, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1065, &x1066,
+                                                            x1064, x1025, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1067, &x1068,
+                                                            x1066, x1027, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1069, &x1070,
+                                                            x1068, x1029, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1071, &x1072,
+                                                            x1070, x1031, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1073, &x1074,
+                                                            x1072, x1033, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1075, &x1076,
+                                                            x1074, x1035, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1077, &x1078,
+                                                            x1076, x1037, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1079, &x1080,
+                                                            x1078, x1039, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1081, &x1082, x1080, x1041, x1047);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1083, &x1084, x1082, x1043, x1048);
+    x1085 = ((uint32_t)x1084 + x1044);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1086, &x1087, x8,
+                                                       (arg2[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1088, &x1089, x8,
+                                                       (arg2[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1090, &x1091, x8,
+                                                       (arg2[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1092, &x1093, x8,
+                                                       (arg2[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1094, &x1095, x8,
+                                                       (arg2[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1096, &x1097, x8,
+                                                       (arg2[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1098, &x1099, x8,
+                                                       (arg2[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1100, &x1101, x8,
+                                                       (arg2[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1102, &x1103, x8,
+                                                       (arg2[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1104, &x1105, x8,
+                                                       (arg2[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1106, &x1107, x8,
+                                                       (arg2[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1108, &x1109, x8,
+                                                       (arg2[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1110, &x1111, x8,
+                                                       (arg2[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1112, &x1113, x8,
+                                                       (arg2[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1114, &x1115, x8,
+                                                       (arg2[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1116, &x1117, x8,
+                                                       (arg2[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1118, &x1119, 0x0,
+                                                            x1117, x1114);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1120, &x1121, x1119, x1115, x1112);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1122, &x1123, x1121, x1113, x1110);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1124, &x1125, x1123, x1111, x1108);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1126, &x1127, x1125, x1109, x1106);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1128, &x1129, x1127, x1107, x1104);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1130, &x1131, x1129, x1105, x1102);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1132, &x1133, x1131, x1103, x1100);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1134, &x1135, x1133, x1101, x1098);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1136, &x1137, x1135, x1099, x1096);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1138, &x1139, x1137, x1097, x1094);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1140, &x1141, x1139, x1095, x1092);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1142, &x1143, x1141, x1093, x1090);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1144, &x1145, x1143, x1091, x1088);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1146, &x1147, x1145, x1089, x1086);
+    x1148 = (x1147 + x1087);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1149, &x1150, 0x0,
+                                                            x1053, x1116);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1151, &x1152, x1150, x1055, x1118);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1153, &x1154, x1152, x1057, x1120);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1155, &x1156, x1154, x1059, x1122);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1157, &x1158, x1156, x1061, x1124);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1159, &x1160, x1158, x1063, x1126);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1161, &x1162, x1160, x1065, x1128);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1163, &x1164, x1162, x1067, x1130);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1165, &x1166, x1164, x1069, x1132);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1167, &x1168, x1166, x1071, x1134);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1169, &x1170, x1168, x1073, x1136);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1171, &x1172, x1170, x1075, x1138);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1173, &x1174, x1172, x1077, x1140);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1175, &x1176, x1174, x1079, x1142);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1177, &x1178, x1176, x1081, x1144);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1179, &x1180, x1178, x1083, x1146);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1181, &x1182, x1180, x1085, x1148);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1183, &x1184, x1149,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1185, &x1186, x1183,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1187, &x1188, x1183,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1189, &x1190, 0x0,
+                                                            x1149, x1187);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1191, &x1192, x1190, x1151, x1188);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1193, &x1194,
+                                                            x1192, x1153, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1195, &x1196,
+                                                            x1194, x1155, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1197, &x1198,
+                                                            x1196, x1157, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1199, &x1200,
+                                                            x1198, x1159, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1201, &x1202,
+                                                            x1200, x1161, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1203, &x1204,
+                                                            x1202, x1163, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1205, &x1206,
+                                                            x1204, x1165, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1207, &x1208,
+                                                            x1206, x1167, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1209, &x1210,
+                                                            x1208, x1169, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1211, &x1212,
+                                                            x1210, x1171, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1213, &x1214,
+                                                            x1212, x1173, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1215, &x1216,
+                                                            x1214, x1175, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1217, &x1218,
+                                                            x1216, x1177, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1219, &x1220, x1218, x1179, x1185);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1221, &x1222, x1220, x1181, x1186);
+    x1223 = ((uint32_t)x1222 + x1182);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1224, &x1225, x9,
+                                                       (arg2[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1226, &x1227, x9,
+                                                       (arg2[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1228, &x1229, x9,
+                                                       (arg2[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1230, &x1231, x9,
+                                                       (arg2[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1232, &x1233, x9,
+                                                       (arg2[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1234, &x1235, x9,
+                                                       (arg2[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1236, &x1237, x9,
+                                                       (arg2[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1238, &x1239, x9,
+                                                       (arg2[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1240, &x1241, x9,
+                                                       (arg2[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1242, &x1243, x9,
+                                                       (arg2[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1244, &x1245, x9,
+                                                       (arg2[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1246, &x1247, x9,
+                                                       (arg2[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1248, &x1249, x9,
+                                                       (arg2[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1250, &x1251, x9,
+                                                       (arg2[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1252, &x1253, x9,
+                                                       (arg2[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1254, &x1255, x9,
+                                                       (arg2[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1256, &x1257, 0x0,
+                                                            x1255, x1252);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1258, &x1259, x1257, x1253, x1250);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1260, &x1261, x1259, x1251, x1248);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1262, &x1263, x1261, x1249, x1246);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1264, &x1265, x1263, x1247, x1244);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1266, &x1267, x1265, x1245, x1242);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1268, &x1269, x1267, x1243, x1240);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1270, &x1271, x1269, x1241, x1238);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1272, &x1273, x1271, x1239, x1236);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1274, &x1275, x1273, x1237, x1234);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1276, &x1277, x1275, x1235, x1232);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1278, &x1279, x1277, x1233, x1230);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1280, &x1281, x1279, x1231, x1228);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1282, &x1283, x1281, x1229, x1226);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1284, &x1285, x1283, x1227, x1224);
+    x1286 = (x1285 + x1225);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1287, &x1288, 0x0,
+                                                            x1191, x1254);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1289, &x1290, x1288, x1193, x1256);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1291, &x1292, x1290, x1195, x1258);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1293, &x1294, x1292, x1197, x1260);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1295, &x1296, x1294, x1199, x1262);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1297, &x1298, x1296, x1201, x1264);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1299, &x1300, x1298, x1203, x1266);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1301, &x1302, x1300, x1205, x1268);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1303, &x1304, x1302, x1207, x1270);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1305, &x1306, x1304, x1209, x1272);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1307, &x1308, x1306, x1211, x1274);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1309, &x1310, x1308, x1213, x1276);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1311, &x1312, x1310, x1215, x1278);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1313, &x1314, x1312, x1217, x1280);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1315, &x1316, x1314, x1219, x1282);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1317, &x1318, x1316, x1221, x1284);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1319, &x1320, x1318, x1223, x1286);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1321, &x1322, x1287,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1323, &x1324, x1321,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1325, &x1326, x1321,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1327, &x1328, 0x0,
+                                                            x1287, x1325);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1329, &x1330, x1328, x1289, x1326);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1331, &x1332,
+                                                            x1330, x1291, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1333, &x1334,
+                                                            x1332, x1293, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1335, &x1336,
+                                                            x1334, x1295, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1337, &x1338,
+                                                            x1336, x1297, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1339, &x1340,
+                                                            x1338, x1299, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1341, &x1342,
+                                                            x1340, x1301, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1343, &x1344,
+                                                            x1342, x1303, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1345, &x1346,
+                                                            x1344, x1305, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1347, &x1348,
+                                                            x1346, x1307, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1349, &x1350,
+                                                            x1348, x1309, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1351, &x1352,
+                                                            x1350, x1311, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1353, &x1354,
+                                                            x1352, x1313, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1355, &x1356,
+                                                            x1354, x1315, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1357, &x1358, x1356, x1317, x1323);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1359, &x1360, x1358, x1319, x1324);
+    x1361 = ((uint32_t)x1360 + x1320);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1362, &x1363, x10,
+                                                       (arg2[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1364, &x1365, x10,
+                                                       (arg2[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1366, &x1367, x10,
+                                                       (arg2[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1368, &x1369, x10,
+                                                       (arg2[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1370, &x1371, x10,
+                                                       (arg2[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1372, &x1373, x10,
+                                                       (arg2[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1374, &x1375, x10,
+                                                       (arg2[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1376, &x1377, x10,
+                                                       (arg2[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1378, &x1379, x10,
+                                                       (arg2[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1380, &x1381, x10,
+                                                       (arg2[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1382, &x1383, x10,
+                                                       (arg2[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1384, &x1385, x10,
+                                                       (arg2[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1386, &x1387, x10,
+                                                       (arg2[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1388, &x1389, x10,
+                                                       (arg2[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1390, &x1391, x10,
+                                                       (arg2[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1392, &x1393, x10,
+                                                       (arg2[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1394, &x1395, 0x0,
+                                                            x1393, x1390);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1396, &x1397, x1395, x1391, x1388);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1398, &x1399, x1397, x1389, x1386);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1400, &x1401, x1399, x1387, x1384);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1402, &x1403, x1401, x1385, x1382);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1404, &x1405, x1403, x1383, x1380);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1406, &x1407, x1405, x1381, x1378);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1408, &x1409, x1407, x1379, x1376);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1410, &x1411, x1409, x1377, x1374);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1412, &x1413, x1411, x1375, x1372);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1414, &x1415, x1413, x1373, x1370);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1416, &x1417, x1415, x1371, x1368);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1418, &x1419, x1417, x1369, x1366);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1420, &x1421, x1419, x1367, x1364);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1422, &x1423, x1421, x1365, x1362);
+    x1424 = (x1423 + x1363);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1425, &x1426, 0x0,
+                                                            x1329, x1392);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1427, &x1428, x1426, x1331, x1394);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1429, &x1430, x1428, x1333, x1396);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1431, &x1432, x1430, x1335, x1398);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1433, &x1434, x1432, x1337, x1400);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1435, &x1436, x1434, x1339, x1402);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1437, &x1438, x1436, x1341, x1404);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1439, &x1440, x1438, x1343, x1406);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1441, &x1442, x1440, x1345, x1408);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1443, &x1444, x1442, x1347, x1410);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1445, &x1446, x1444, x1349, x1412);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1447, &x1448, x1446, x1351, x1414);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1449, &x1450, x1448, x1353, x1416);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1451, &x1452, x1450, x1355, x1418);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1453, &x1454, x1452, x1357, x1420);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1455, &x1456, x1454, x1359, x1422);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1457, &x1458, x1456, x1361, x1424);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1459, &x1460, x1425,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1461, &x1462, x1459,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1463, &x1464, x1459,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1465, &x1466, 0x0,
+                                                            x1425, x1463);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1467, &x1468, x1466, x1427, x1464);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1469, &x1470,
+                                                            x1468, x1429, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1471, &x1472,
+                                                            x1470, x1431, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1473, &x1474,
+                                                            x1472, x1433, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1475, &x1476,
+                                                            x1474, x1435, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1477, &x1478,
+                                                            x1476, x1437, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1479, &x1480,
+                                                            x1478, x1439, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1481, &x1482,
+                                                            x1480, x1441, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1483, &x1484,
+                                                            x1482, x1443, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1485, &x1486,
+                                                            x1484, x1445, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1487, &x1488,
+                                                            x1486, x1447, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1489, &x1490,
+                                                            x1488, x1449, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1491, &x1492,
+                                                            x1490, x1451, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1493, &x1494,
+                                                            x1492, x1453, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1495, &x1496, x1494, x1455, x1461);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1497, &x1498, x1496, x1457, x1462);
+    x1499 = ((uint32_t)x1498 + x1458);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1500, &x1501, x11,
+                                                       (arg2[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1502, &x1503, x11,
+                                                       (arg2[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1504, &x1505, x11,
+                                                       (arg2[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1506, &x1507, x11,
+                                                       (arg2[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1508, &x1509, x11,
+                                                       (arg2[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1510, &x1511, x11,
+                                                       (arg2[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1512, &x1513, x11,
+                                                       (arg2[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1514, &x1515, x11,
+                                                       (arg2[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1516, &x1517, x11,
+                                                       (arg2[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1518, &x1519, x11,
+                                                       (arg2[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1520, &x1521, x11,
+                                                       (arg2[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1522, &x1523, x11,
+                                                       (arg2[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1524, &x1525, x11,
+                                                       (arg2[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1526, &x1527, x11,
+                                                       (arg2[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1528, &x1529, x11,
+                                                       (arg2[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1530, &x1531, x11,
+                                                       (arg2[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1532, &x1533, 0x0,
+                                                            x1531, x1528);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1534, &x1535, x1533, x1529, x1526);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1536, &x1537, x1535, x1527, x1524);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1538, &x1539, x1537, x1525, x1522);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1540, &x1541, x1539, x1523, x1520);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1542, &x1543, x1541, x1521, x1518);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1544, &x1545, x1543, x1519, x1516);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1546, &x1547, x1545, x1517, x1514);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1548, &x1549, x1547, x1515, x1512);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1550, &x1551, x1549, x1513, x1510);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1552, &x1553, x1551, x1511, x1508);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1554, &x1555, x1553, x1509, x1506);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1556, &x1557, x1555, x1507, x1504);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1558, &x1559, x1557, x1505, x1502);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1560, &x1561, x1559, x1503, x1500);
+    x1562 = (x1561 + x1501);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1563, &x1564, 0x0,
+                                                            x1467, x1530);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1565, &x1566, x1564, x1469, x1532);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1567, &x1568, x1566, x1471, x1534);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1569, &x1570, x1568, x1473, x1536);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1571, &x1572, x1570, x1475, x1538);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1573, &x1574, x1572, x1477, x1540);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1575, &x1576, x1574, x1479, x1542);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1577, &x1578, x1576, x1481, x1544);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1579, &x1580, x1578, x1483, x1546);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1581, &x1582, x1580, x1485, x1548);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1583, &x1584, x1582, x1487, x1550);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1585, &x1586, x1584, x1489, x1552);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1587, &x1588, x1586, x1491, x1554);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1589, &x1590, x1588, x1493, x1556);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1591, &x1592, x1590, x1495, x1558);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1593, &x1594, x1592, x1497, x1560);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1595, &x1596, x1594, x1499, x1562);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1597, &x1598, x1563,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1599, &x1600, x1597,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1601, &x1602, x1597,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1603, &x1604, 0x0,
+                                                            x1563, x1601);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1605, &x1606, x1604, x1565, x1602);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1607, &x1608,
+                                                            x1606, x1567, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1609, &x1610,
+                                                            x1608, x1569, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1611, &x1612,
+                                                            x1610, x1571, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1613, &x1614,
+                                                            x1612, x1573, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1615, &x1616,
+                                                            x1614, x1575, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1617, &x1618,
+                                                            x1616, x1577, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1619, &x1620,
+                                                            x1618, x1579, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1621, &x1622,
+                                                            x1620, x1581, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1623, &x1624,
+                                                            x1622, x1583, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1625, &x1626,
+                                                            x1624, x1585, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1627, &x1628,
+                                                            x1626, x1587, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1629, &x1630,
+                                                            x1628, x1589, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1631, &x1632,
+                                                            x1630, x1591, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1633, &x1634, x1632, x1593, x1599);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1635, &x1636, x1634, x1595, x1600);
+    x1637 = ((uint32_t)x1636 + x1596);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1638, &x1639, x12,
+                                                       (arg2[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1640, &x1641, x12,
+                                                       (arg2[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1642, &x1643, x12,
+                                                       (arg2[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1644, &x1645, x12,
+                                                       (arg2[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1646, &x1647, x12,
+                                                       (arg2[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1648, &x1649, x12,
+                                                       (arg2[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1650, &x1651, x12,
+                                                       (arg2[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1652, &x1653, x12,
+                                                       (arg2[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1654, &x1655, x12,
+                                                       (arg2[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1656, &x1657, x12,
+                                                       (arg2[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1658, &x1659, x12,
+                                                       (arg2[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1660, &x1661, x12,
+                                                       (arg2[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1662, &x1663, x12,
+                                                       (arg2[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1664, &x1665, x12,
+                                                       (arg2[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1666, &x1667, x12,
+                                                       (arg2[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1668, &x1669, x12,
+                                                       (arg2[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1670, &x1671, 0x0,
+                                                            x1669, x1666);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1672, &x1673, x1671, x1667, x1664);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1674, &x1675, x1673, x1665, x1662);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1676, &x1677, x1675, x1663, x1660);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1678, &x1679, x1677, x1661, x1658);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1680, &x1681, x1679, x1659, x1656);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1682, &x1683, x1681, x1657, x1654);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1684, &x1685, x1683, x1655, x1652);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1686, &x1687, x1685, x1653, x1650);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1688, &x1689, x1687, x1651, x1648);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1690, &x1691, x1689, x1649, x1646);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1692, &x1693, x1691, x1647, x1644);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1694, &x1695, x1693, x1645, x1642);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1696, &x1697, x1695, x1643, x1640);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1698, &x1699, x1697, x1641, x1638);
+    x1700 = (x1699 + x1639);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1701, &x1702, 0x0,
+                                                            x1605, x1668);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1703, &x1704, x1702, x1607, x1670);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1705, &x1706, x1704, x1609, x1672);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1707, &x1708, x1706, x1611, x1674);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1709, &x1710, x1708, x1613, x1676);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1711, &x1712, x1710, x1615, x1678);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1713, &x1714, x1712, x1617, x1680);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1715, &x1716, x1714, x1619, x1682);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1717, &x1718, x1716, x1621, x1684);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1719, &x1720, x1718, x1623, x1686);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1721, &x1722, x1720, x1625, x1688);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1723, &x1724, x1722, x1627, x1690);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1725, &x1726, x1724, x1629, x1692);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1727, &x1728, x1726, x1631, x1694);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1729, &x1730, x1728, x1633, x1696);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1731, &x1732, x1730, x1635, x1698);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1733, &x1734, x1732, x1637, x1700);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1735, &x1736, x1701,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1737, &x1738, x1735,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1739, &x1740, x1735,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1741, &x1742, 0x0,
+                                                            x1701, x1739);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1743, &x1744, x1742, x1703, x1740);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1745, &x1746,
+                                                            x1744, x1705, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1747, &x1748,
+                                                            x1746, x1707, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1749, &x1750,
+                                                            x1748, x1709, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1751, &x1752,
+                                                            x1750, x1711, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1753, &x1754,
+                                                            x1752, x1713, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1755, &x1756,
+                                                            x1754, x1715, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1757, &x1758,
+                                                            x1756, x1717, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1759, &x1760,
+                                                            x1758, x1719, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1761, &x1762,
+                                                            x1760, x1721, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1763, &x1764,
+                                                            x1762, x1723, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1765, &x1766,
+                                                            x1764, x1725, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1767, &x1768,
+                                                            x1766, x1727, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1769, &x1770,
+                                                            x1768, x1729, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1771, &x1772, x1770, x1731, x1737);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1773, &x1774, x1772, x1733, x1738);
+    x1775 = ((uint32_t)x1774 + x1734);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1776, &x1777, x13,
+                                                       (arg2[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1778, &x1779, x13,
+                                                       (arg2[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1780, &x1781, x13,
+                                                       (arg2[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1782, &x1783, x13,
+                                                       (arg2[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1784, &x1785, x13,
+                                                       (arg2[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1786, &x1787, x13,
+                                                       (arg2[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1788, &x1789, x13,
+                                                       (arg2[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1790, &x1791, x13,
+                                                       (arg2[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1792, &x1793, x13,
+                                                       (arg2[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1794, &x1795, x13,
+                                                       (arg2[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1796, &x1797, x13,
+                                                       (arg2[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1798, &x1799, x13,
+                                                       (arg2[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1800, &x1801, x13,
+                                                       (arg2[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1802, &x1803, x13,
+                                                       (arg2[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1804, &x1805, x13,
+                                                       (arg2[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1806, &x1807, x13,
+                                                       (arg2[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1808, &x1809, 0x0,
+                                                            x1807, x1804);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1810, &x1811, x1809, x1805, x1802);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1812, &x1813, x1811, x1803, x1800);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1814, &x1815, x1813, x1801, x1798);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1816, &x1817, x1815, x1799, x1796);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1818, &x1819, x1817, x1797, x1794);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1820, &x1821, x1819, x1795, x1792);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1822, &x1823, x1821, x1793, x1790);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1824, &x1825, x1823, x1791, x1788);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1826, &x1827, x1825, x1789, x1786);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1828, &x1829, x1827, x1787, x1784);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1830, &x1831, x1829, x1785, x1782);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1832, &x1833, x1831, x1783, x1780);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1834, &x1835, x1833, x1781, x1778);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1836, &x1837, x1835, x1779, x1776);
+    x1838 = (x1837 + x1777);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1839, &x1840, 0x0,
+                                                            x1743, x1806);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1841, &x1842, x1840, x1745, x1808);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1843, &x1844, x1842, x1747, x1810);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1845, &x1846, x1844, x1749, x1812);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1847, &x1848, x1846, x1751, x1814);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1849, &x1850, x1848, x1753, x1816);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1851, &x1852, x1850, x1755, x1818);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1853, &x1854, x1852, x1757, x1820);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1855, &x1856, x1854, x1759, x1822);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1857, &x1858, x1856, x1761, x1824);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1859, &x1860, x1858, x1763, x1826);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1861, &x1862, x1860, x1765, x1828);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1863, &x1864, x1862, x1767, x1830);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1865, &x1866, x1864, x1769, x1832);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1867, &x1868, x1866, x1771, x1834);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1869, &x1870, x1868, x1773, x1836);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1871, &x1872, x1870, x1775, x1838);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1873, &x1874, x1839,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1875, &x1876, x1873,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1877, &x1878, x1873,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1879, &x1880, 0x0,
+                                                            x1839, x1877);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1881, &x1882, x1880, x1841, x1878);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1883, &x1884,
+                                                            x1882, x1843, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1885, &x1886,
+                                                            x1884, x1845, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1887, &x1888,
+                                                            x1886, x1847, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1889, &x1890,
+                                                            x1888, x1849, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1891, &x1892,
+                                                            x1890, x1851, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1893, &x1894,
+                                                            x1892, x1853, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1895, &x1896,
+                                                            x1894, x1855, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1897, &x1898,
+                                                            x1896, x1857, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1899, &x1900,
+                                                            x1898, x1859, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1901, &x1902,
+                                                            x1900, x1861, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1903, &x1904,
+                                                            x1902, x1863, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1905, &x1906,
+                                                            x1904, x1865, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1907, &x1908,
+                                                            x1906, x1867, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1909, &x1910, x1908, x1869, x1875);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1911, &x1912, x1910, x1871, x1876);
+    x1913 = ((uint32_t)x1912 + x1872);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1914, &x1915, x14,
+                                                       (arg2[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1916, &x1917, x14,
+                                                       (arg2[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1918, &x1919, x14,
+                                                       (arg2[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1920, &x1921, x14,
+                                                       (arg2[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1922, &x1923, x14,
+                                                       (arg2[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1924, &x1925, x14,
+                                                       (arg2[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1926, &x1927, x14,
+                                                       (arg2[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1928, &x1929, x14,
+                                                       (arg2[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1930, &x1931, x14,
+                                                       (arg2[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1932, &x1933, x14,
+                                                       (arg2[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1934, &x1935, x14,
+                                                       (arg2[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1936, &x1937, x14,
+                                                       (arg2[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1938, &x1939, x14,
+                                                       (arg2[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1940, &x1941, x14,
+                                                       (arg2[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1942, &x1943, x14,
+                                                       (arg2[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1944, &x1945, x14,
+                                                       (arg2[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1946, &x1947, 0x0,
+                                                            x1945, x1942);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1948, &x1949, x1947, x1943, x1940);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1950, &x1951, x1949, x1941, x1938);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1952, &x1953, x1951, x1939, x1936);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1954, &x1955, x1953, x1937, x1934);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1956, &x1957, x1955, x1935, x1932);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1958, &x1959, x1957, x1933, x1930);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1960, &x1961, x1959, x1931, x1928);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1962, &x1963, x1961, x1929, x1926);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1964, &x1965, x1963, x1927, x1924);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1966, &x1967, x1965, x1925, x1922);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1968, &x1969, x1967, x1923, x1920);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1970, &x1971, x1969, x1921, x1918);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1972, &x1973, x1971, x1919, x1916);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1974, &x1975, x1973, x1917, x1914);
+    x1976 = (x1975 + x1915);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1977, &x1978, 0x0,
+                                                            x1881, x1944);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1979, &x1980, x1978, x1883, x1946);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1981, &x1982, x1980, x1885, x1948);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1983, &x1984, x1982, x1887, x1950);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1985, &x1986, x1984, x1889, x1952);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1987, &x1988, x1986, x1891, x1954);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1989, &x1990, x1988, x1893, x1956);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1991, &x1992, x1990, x1895, x1958);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1993, &x1994, x1992, x1897, x1960);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1995, &x1996, x1994, x1899, x1962);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1997, &x1998, x1996, x1901, x1964);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1999, &x2000, x1998, x1903, x1966);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2001, &x2002, x2000, x1905, x1968);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2003, &x2004, x2002, x1907, x1970);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2005, &x2006, x2004, x1909, x1972);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2007, &x2008, x2006, x1911, x1974);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2009, &x2010, x2008, x1913, x1976);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2011, &x2012, x1977,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2013, &x2014, x2011,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2015, &x2016, x2011,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2017, &x2018, 0x0,
+                                                            x1977, x2015);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2019, &x2020, x2018, x1979, x2016);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2021, &x2022,
+                                                            x2020, x1981, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2023, &x2024,
+                                                            x2022, x1983, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2025, &x2026,
+                                                            x2024, x1985, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2027, &x2028,
+                                                            x2026, x1987, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2029, &x2030,
+                                                            x2028, x1989, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2031, &x2032,
+                                                            x2030, x1991, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2033, &x2034,
+                                                            x2032, x1993, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2035, &x2036,
+                                                            x2034, x1995, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2037, &x2038,
+                                                            x2036, x1997, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2039, &x2040,
+                                                            x2038, x1999, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2041, &x2042,
+                                                            x2040, x2001, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2043, &x2044,
+                                                            x2042, x2003, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2045, &x2046,
+                                                            x2044, x2005, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2047, &x2048, x2046, x2007, x2013);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2049, &x2050, x2048, x2009, x2014);
+    x2051 = ((uint32_t)x2050 + x2010);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2052, &x2053, x15,
+                                                       (arg2[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2054, &x2055, x15,
+                                                       (arg2[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2056, &x2057, x15,
+                                                       (arg2[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2058, &x2059, x15,
+                                                       (arg2[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2060, &x2061, x15,
+                                                       (arg2[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2062, &x2063, x15,
+                                                       (arg2[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2064, &x2065, x15,
+                                                       (arg2[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2066, &x2067, x15,
+                                                       (arg2[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2068, &x2069, x15,
+                                                       (arg2[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2070, &x2071, x15,
+                                                       (arg2[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2072, &x2073, x15,
+                                                       (arg2[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2074, &x2075, x15,
+                                                       (arg2[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2076, &x2077, x15,
+                                                       (arg2[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2078, &x2079, x15,
+                                                       (arg2[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2080, &x2081, x15,
+                                                       (arg2[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2082, &x2083, x15,
+                                                       (arg2[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2084, &x2085, 0x0,
+                                                            x2083, x2080);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2086, &x2087, x2085, x2081, x2078);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2088, &x2089, x2087, x2079, x2076);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2090, &x2091, x2089, x2077, x2074);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2092, &x2093, x2091, x2075, x2072);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2094, &x2095, x2093, x2073, x2070);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2096, &x2097, x2095, x2071, x2068);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2098, &x2099, x2097, x2069, x2066);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2100, &x2101, x2099, x2067, x2064);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2102, &x2103, x2101, x2065, x2062);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2104, &x2105, x2103, x2063, x2060);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2106, &x2107, x2105, x2061, x2058);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2108, &x2109, x2107, x2059, x2056);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2110, &x2111, x2109, x2057, x2054);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2112, &x2113, x2111, x2055, x2052);
+    x2114 = (x2113 + x2053);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2115, &x2116, 0x0,
+                                                            x2019, x2082);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2117, &x2118, x2116, x2021, x2084);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2119, &x2120, x2118, x2023, x2086);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2121, &x2122, x2120, x2025, x2088);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2123, &x2124, x2122, x2027, x2090);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2125, &x2126, x2124, x2029, x2092);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2127, &x2128, x2126, x2031, x2094);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2129, &x2130, x2128, x2033, x2096);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2131, &x2132, x2130, x2035, x2098);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2133, &x2134, x2132, x2037, x2100);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2135, &x2136, x2134, x2039, x2102);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2137, &x2138, x2136, x2041, x2104);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2139, &x2140, x2138, x2043, x2106);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2141, &x2142, x2140, x2045, x2108);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2143, &x2144, x2142, x2047, x2110);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2145, &x2146, x2144, x2049, x2112);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2147, &x2148, x2146, x2051, x2114);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2149, &x2150, x2115,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2151, &x2152, x2149,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2153, &x2154, x2149,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2155, &x2156, 0x0,
+                                                            x2115, x2153);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2157, &x2158, x2156, x2117, x2154);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2159, &x2160,
+                                                            x2158, x2119, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2161, &x2162,
+                                                            x2160, x2121, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2163, &x2164,
+                                                            x2162, x2123, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2165, &x2166,
+                                                            x2164, x2125, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2167, &x2168,
+                                                            x2166, x2127, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2169, &x2170,
+                                                            x2168, x2129, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2171, &x2172,
+                                                            x2170, x2131, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2173, &x2174,
+                                                            x2172, x2133, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2175, &x2176,
+                                                            x2174, x2135, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2177, &x2178,
+                                                            x2176, x2137, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2179, &x2180,
+                                                            x2178, x2139, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2181, &x2182,
+                                                            x2180, x2141, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2183, &x2184,
+                                                            x2182, x2143, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2185, &x2186, x2184, x2145, x2151);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2187, &x2188, x2186, x2147, x2152);
+    x2189 = ((uint32_t)x2188 + x2148);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(
+        &x2190, &x2191, 0x0, x2157, UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x2192, &x2193,
+                                                             x2191, x2159, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x2194, &x2195,
+                                                             x2193, x2161, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x2196, &x2197,
+                                                             x2195, x2163, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x2198, &x2199,
+                                                             x2197, x2165, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x2200, &x2201,
+                                                             x2199, x2167, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x2202, &x2203,
+                                                             x2201, x2169, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x2204, &x2205,
+                                                             x2203, x2171, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x2206, &x2207,
+                                                             x2205, x2173, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x2208, &x2209,
+                                                             x2207, x2175, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x2210, &x2211,
+                                                             x2209, x2177, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x2212, &x2213,
+                                                             x2211, x2179, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x2214, &x2215,
+                                                             x2213, x2181, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x2216, &x2217,
+                                                             x2215, x2183, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x2218, &x2219,
+                                                             x2217, x2185, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(
+        &x2220, &x2221, x2219, x2187, UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x2222, &x2223,
+                                                             x2221, x2189, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x2224, x2223, x2190,
+                                                          x2157);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x2225, x2223, x2192,
+                                                          x2159);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x2226, x2223, x2194,
+                                                          x2161);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x2227, x2223, x2196,
+                                                          x2163);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x2228, x2223, x2198,
+                                                          x2165);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x2229, x2223, x2200,
+                                                          x2167);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x2230, x2223, x2202,
+                                                          x2169);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x2231, x2223, x2204,
+                                                          x2171);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x2232, x2223, x2206,
+                                                          x2173);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x2233, x2223, x2208,
+                                                          x2175);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x2234, x2223, x2210,
+                                                          x2177);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x2235, x2223, x2212,
+                                                          x2179);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x2236, x2223, x2214,
+                                                          x2181);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x2237, x2223, x2216,
+                                                          x2183);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x2238, x2223, x2218,
+                                                          x2185);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x2239, x2223, x2220,
+                                                          x2187);
+    out1[0] = x2224;
+    out1[1] = x2225;
+    out1[2] = x2226;
+    out1[3] = x2227;
+    out1[4] = x2228;
+    out1[5] = x2229;
+    out1[6] = x2230;
+    out1[7] = x2231;
+    out1[8] = x2232;
+    out1[9] = x2233;
+    out1[10] = x2234;
+    out1[11] = x2235;
+    out1[12] = x2236;
+    out1[13] = x2237;
+    out1[14] = x2238;
+    out1[15] = x2239;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetB_square squares a field element in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg1)) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[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]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetB_square(
+    uint32_t out1[16], const uint32_t arg1[16]) {
+    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;
+    uint32_t x49;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x50;
+    uint32_t x51;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x52;
+    uint32_t x53;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x54;
+    uint32_t x55;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x56;
+    uint32_t x57;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x58;
+    uint32_t x59;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x60;
+    uint32_t x61;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x62;
+    uint32_t x63;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x64;
+    uint32_t x65;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x66;
+    uint32_t x67;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x68;
+    uint32_t x69;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x70;
+    uint32_t x71;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x72;
+    uint32_t x73;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x74;
+    uint32_t x75;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x76;
+    uint32_t x77;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 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;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x87;
+    uint32_t x88;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x89;
+    uint32_t x90;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x91;
+    uint32_t x92;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x93;
+    uint32_t x94;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x95;
+    uint32_t x96;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x97;
+    uint32_t x98;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x99;
+    uint32_t x100;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x101;
+    uint32_t x102;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x103;
+    uint32_t x104;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x105;
+    uint32_t x106;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x107;
+    uint32_t x108;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x109;
+    uint32_t x110;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x111;
+    uint32_t x112;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x113;
+    uint32_t x114;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x115;
+    uint32_t x116;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x117;
+    uint32_t x118;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x119;
+    uint32_t x120;
+    uint32_t x121;
+    uint32_t x122;
+    uint32_t x123;
+    uint32_t x124;
+    uint32_t x125;
+    uint32_t x126;
+    uint32_t x127;
+    uint32_t x128;
+    uint32_t x129;
+    uint32_t x130;
+    uint32_t x131;
+    uint32_t x132;
+    uint32_t x133;
+    uint32_t x134;
+    uint32_t x135;
+    uint32_t x136;
+    uint32_t x137;
+    uint32_t x138;
+    uint32_t x139;
+    uint32_t x140;
+    uint32_t x141;
+    uint32_t x142;
+    uint32_t x143;
+    uint32_t x144;
+    uint32_t x145;
+    uint32_t x146;
+    uint32_t x147;
+    uint32_t x148;
+    uint32_t x149;
+    uint32_t x150;
+    uint32_t x151;
+    uint32_t x152;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x153;
+    uint32_t x154;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x155;
+    uint32_t x156;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x157;
+    uint32_t x158;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x159;
+    uint32_t x160;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x161;
+    uint32_t x162;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x163;
+    uint32_t x164;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x165;
+    uint32_t x166;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x167;
+    uint32_t x168;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x169;
+    uint32_t x170;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x171;
+    uint32_t x172;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x173;
+    uint32_t x174;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x175;
+    uint32_t x176;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x177;
+    uint32_t x178;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x179;
+    uint32_t x180;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x181;
+    uint32_t x182;
+    uint32_t x183;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x184;
+    uint32_t x185;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x186;
+    uint32_t x187;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x188;
+    uint32_t x189;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x190;
+    uint32_t x191;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x192;
+    uint32_t x193;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x194;
+    uint32_t x195;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x196;
+    uint32_t x197;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x198;
+    uint32_t x199;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x200;
+    uint32_t x201;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x202;
+    uint32_t x203;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x204;
+    uint32_t x205;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x206;
+    uint32_t x207;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x208;
+    uint32_t x209;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x210;
+    uint32_t x211;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x212;
+    uint32_t x213;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x214;
+    uint32_t x215;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x216;
+    uint32_t x217;
+    uint32_t x218;
+    uint32_t x219;
+    uint32_t x220;
+    uint32_t x221;
+    uint32_t x222;
+    uint32_t x223;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x224;
+    uint32_t x225;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x226;
+    uint32_t x227;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x228;
+    uint32_t x229;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x230;
+    uint32_t x231;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x232;
+    uint32_t x233;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x234;
+    uint32_t x235;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x236;
+    uint32_t x237;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x238;
+    uint32_t x239;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x240;
+    uint32_t x241;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x242;
+    uint32_t x243;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x244;
+    uint32_t x245;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x246;
+    uint32_t x247;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x248;
+    uint32_t x249;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x250;
+    uint32_t x251;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x252;
+    uint32_t x253;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x254;
+    uint32_t x255;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x256;
+    uint32_t x257;
+    uint32_t x258;
+    uint32_t x259;
+    uint32_t x260;
+    uint32_t x261;
+    uint32_t x262;
+    uint32_t x263;
+    uint32_t x264;
+    uint32_t x265;
+    uint32_t x266;
+    uint32_t x267;
+    uint32_t x268;
+    uint32_t x269;
+    uint32_t x270;
+    uint32_t x271;
+    uint32_t x272;
+    uint32_t x273;
+    uint32_t x274;
+    uint32_t x275;
+    uint32_t x276;
+    uint32_t x277;
+    uint32_t x278;
+    uint32_t x279;
+    uint32_t x280;
+    uint32_t x281;
+    uint32_t x282;
+    uint32_t x283;
+    uint32_t x284;
+    uint32_t x285;
+    uint32_t x286;
+    uint32_t x287;
+    uint32_t x288;
+    uint32_t x289;
+    uint32_t x290;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x291;
+    uint32_t x292;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x293;
+    uint32_t x294;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x295;
+    uint32_t x296;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x297;
+    uint32_t x298;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x299;
+    uint32_t x300;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x301;
+    uint32_t x302;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x303;
+    uint32_t x304;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x305;
+    uint32_t x306;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x307;
+    uint32_t x308;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x309;
+    uint32_t x310;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x311;
+    uint32_t x312;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x313;
+    uint32_t x314;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x315;
+    uint32_t x316;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x317;
+    uint32_t x318;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x319;
+    uint32_t x320;
+    uint32_t x321;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x322;
+    uint32_t x323;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x324;
+    uint32_t x325;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x326;
+    uint32_t x327;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x328;
+    uint32_t x329;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x330;
+    uint32_t x331;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x332;
+    uint32_t x333;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x334;
+    uint32_t x335;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x336;
+    uint32_t x337;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x338;
+    uint32_t x339;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x340;
+    uint32_t x341;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x342;
+    uint32_t x343;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x344;
+    uint32_t x345;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x346;
+    uint32_t x347;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x348;
+    uint32_t x349;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x350;
+    uint32_t x351;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x352;
+    uint32_t x353;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x354;
+    uint32_t x355;
+    uint32_t x356;
+    uint32_t x357;
+    uint32_t x358;
+    uint32_t x359;
+    uint32_t x360;
+    uint32_t x361;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x362;
+    uint32_t x363;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x364;
+    uint32_t x365;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x366;
+    uint32_t x367;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x368;
+    uint32_t x369;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x370;
+    uint32_t x371;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x372;
+    uint32_t x373;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x374;
+    uint32_t x375;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x376;
+    uint32_t x377;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x378;
+    uint32_t x379;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x380;
+    uint32_t x381;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x382;
+    uint32_t x383;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x384;
+    uint32_t x385;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x386;
+    uint32_t x387;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x388;
+    uint32_t x389;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x390;
+    uint32_t x391;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x392;
+    uint32_t x393;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x394;
+    uint32_t x395;
+    uint32_t x396;
+    uint32_t x397;
+    uint32_t x398;
+    uint32_t x399;
+    uint32_t x400;
+    uint32_t x401;
+    uint32_t x402;
+    uint32_t x403;
+    uint32_t x404;
+    uint32_t x405;
+    uint32_t x406;
+    uint32_t x407;
+    uint32_t x408;
+    uint32_t x409;
+    uint32_t x410;
+    uint32_t x411;
+    uint32_t x412;
+    uint32_t x413;
+    uint32_t x414;
+    uint32_t x415;
+    uint32_t x416;
+    uint32_t x417;
+    uint32_t x418;
+    uint32_t x419;
+    uint32_t x420;
+    uint32_t x421;
+    uint32_t x422;
+    uint32_t x423;
+    uint32_t x424;
+    uint32_t x425;
+    uint32_t x426;
+    uint32_t x427;
+    uint32_t x428;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x429;
+    uint32_t x430;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x431;
+    uint32_t x432;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x433;
+    uint32_t x434;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x435;
+    uint32_t x436;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x437;
+    uint32_t x438;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x439;
+    uint32_t x440;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x441;
+    uint32_t x442;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x443;
+    uint32_t x444;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x445;
+    uint32_t x446;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x447;
+    uint32_t x448;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x449;
+    uint32_t x450;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x451;
+    uint32_t x452;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x453;
+    uint32_t x454;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x455;
+    uint32_t x456;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x457;
+    uint32_t x458;
+    uint32_t x459;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x460;
+    uint32_t x461;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x462;
+    uint32_t x463;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x464;
+    uint32_t x465;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x466;
+    uint32_t x467;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x468;
+    uint32_t x469;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x470;
+    uint32_t x471;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x472;
+    uint32_t x473;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x474;
+    uint32_t x475;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x476;
+    uint32_t x477;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x478;
+    uint32_t x479;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x480;
+    uint32_t x481;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x482;
+    uint32_t x483;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x484;
+    uint32_t x485;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x486;
+    uint32_t x487;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x488;
+    uint32_t x489;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x490;
+    uint32_t x491;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x492;
+    uint32_t x493;
+    uint32_t x494;
+    uint32_t x495;
+    uint32_t x496;
+    uint32_t x497;
+    uint32_t x498;
+    uint32_t x499;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x500;
+    uint32_t x501;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x502;
+    uint32_t x503;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x504;
+    uint32_t x505;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x506;
+    uint32_t x507;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x508;
+    uint32_t x509;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x510;
+    uint32_t x511;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x512;
+    uint32_t x513;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x514;
+    uint32_t x515;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x516;
+    uint32_t x517;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x518;
+    uint32_t x519;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x520;
+    uint32_t x521;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x522;
+    uint32_t x523;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x524;
+    uint32_t x525;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x526;
+    uint32_t x527;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x528;
+    uint32_t x529;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x530;
+    uint32_t x531;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x532;
+    uint32_t x533;
+    uint32_t x534;
+    uint32_t x535;
+    uint32_t x536;
+    uint32_t x537;
+    uint32_t x538;
+    uint32_t x539;
+    uint32_t x540;
+    uint32_t x541;
+    uint32_t x542;
+    uint32_t x543;
+    uint32_t x544;
+    uint32_t x545;
+    uint32_t x546;
+    uint32_t x547;
+    uint32_t x548;
+    uint32_t x549;
+    uint32_t x550;
+    uint32_t x551;
+    uint32_t x552;
+    uint32_t x553;
+    uint32_t x554;
+    uint32_t x555;
+    uint32_t x556;
+    uint32_t x557;
+    uint32_t x558;
+    uint32_t x559;
+    uint32_t x560;
+    uint32_t x561;
+    uint32_t x562;
+    uint32_t x563;
+    uint32_t x564;
+    uint32_t x565;
+    uint32_t x566;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x567;
+    uint32_t x568;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x569;
+    uint32_t x570;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x571;
+    uint32_t x572;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x573;
+    uint32_t x574;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x575;
+    uint32_t x576;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x577;
+    uint32_t x578;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x579;
+    uint32_t x580;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x581;
+    uint32_t x582;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x583;
+    uint32_t x584;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x585;
+    uint32_t x586;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x587;
+    uint32_t x588;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x589;
+    uint32_t x590;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x591;
+    uint32_t x592;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x593;
+    uint32_t x594;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x595;
+    uint32_t x596;
+    uint32_t x597;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x598;
+    uint32_t x599;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x600;
+    uint32_t x601;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x602;
+    uint32_t x603;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x604;
+    uint32_t x605;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x606;
+    uint32_t x607;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x608;
+    uint32_t x609;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x610;
+    uint32_t x611;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x612;
+    uint32_t x613;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x614;
+    uint32_t x615;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x616;
+    uint32_t x617;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x618;
+    uint32_t x619;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x620;
+    uint32_t x621;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x622;
+    uint32_t x623;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x624;
+    uint32_t x625;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x626;
+    uint32_t x627;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x628;
+    uint32_t x629;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x630;
+    uint32_t x631;
+    uint32_t x632;
+    uint32_t x633;
+    uint32_t x634;
+    uint32_t x635;
+    uint32_t x636;
+    uint32_t x637;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x638;
+    uint32_t x639;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x640;
+    uint32_t x641;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x642;
+    uint32_t x643;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x644;
+    uint32_t x645;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x646;
+    uint32_t x647;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x648;
+    uint32_t x649;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x650;
+    uint32_t x651;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x652;
+    uint32_t x653;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x654;
+    uint32_t x655;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x656;
+    uint32_t x657;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x658;
+    uint32_t x659;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x660;
+    uint32_t x661;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x662;
+    uint32_t x663;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x664;
+    uint32_t x665;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x666;
+    uint32_t x667;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x668;
+    uint32_t x669;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x670;
+    uint32_t x671;
+    uint32_t x672;
+    uint32_t x673;
+    uint32_t x674;
+    uint32_t x675;
+    uint32_t x676;
+    uint32_t x677;
+    uint32_t x678;
+    uint32_t x679;
+    uint32_t x680;
+    uint32_t x681;
+    uint32_t x682;
+    uint32_t x683;
+    uint32_t x684;
+    uint32_t x685;
+    uint32_t x686;
+    uint32_t x687;
+    uint32_t x688;
+    uint32_t x689;
+    uint32_t x690;
+    uint32_t x691;
+    uint32_t x692;
+    uint32_t x693;
+    uint32_t x694;
+    uint32_t x695;
+    uint32_t x696;
+    uint32_t x697;
+    uint32_t x698;
+    uint32_t x699;
+    uint32_t x700;
+    uint32_t x701;
+    uint32_t x702;
+    uint32_t x703;
+    uint32_t x704;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x705;
+    uint32_t x706;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x707;
+    uint32_t x708;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x709;
+    uint32_t x710;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x711;
+    uint32_t x712;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x713;
+    uint32_t x714;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x715;
+    uint32_t x716;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x717;
+    uint32_t x718;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x719;
+    uint32_t x720;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x721;
+    uint32_t x722;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x723;
+    uint32_t x724;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x725;
+    uint32_t x726;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x727;
+    uint32_t x728;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x729;
+    uint32_t x730;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x731;
+    uint32_t x732;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x733;
+    uint32_t x734;
+    uint32_t x735;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x736;
+    uint32_t x737;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x738;
+    uint32_t x739;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x740;
+    uint32_t x741;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x742;
+    uint32_t x743;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x744;
+    uint32_t x745;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x746;
+    uint32_t x747;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x748;
+    uint32_t x749;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x750;
+    uint32_t x751;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x752;
+    uint32_t x753;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x754;
+    uint32_t x755;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x756;
+    uint32_t x757;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x758;
+    uint32_t x759;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x760;
+    uint32_t x761;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x762;
+    uint32_t x763;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x764;
+    uint32_t x765;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x766;
+    uint32_t x767;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x768;
+    uint32_t x769;
+    uint32_t x770;
+    uint32_t x771;
+    uint32_t x772;
+    uint32_t x773;
+    uint32_t x774;
+    uint32_t x775;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x776;
+    uint32_t x777;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x778;
+    uint32_t x779;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x780;
+    uint32_t x781;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x782;
+    uint32_t x783;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x784;
+    uint32_t x785;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x786;
+    uint32_t x787;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x788;
+    uint32_t x789;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x790;
+    uint32_t x791;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x792;
+    uint32_t x793;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x794;
+    uint32_t x795;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x796;
+    uint32_t x797;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x798;
+    uint32_t x799;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x800;
+    uint32_t x801;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x802;
+    uint32_t x803;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x804;
+    uint32_t x805;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x806;
+    uint32_t x807;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x808;
+    uint32_t x809;
+    uint32_t x810;
+    uint32_t x811;
+    uint32_t x812;
+    uint32_t x813;
+    uint32_t x814;
+    uint32_t x815;
+    uint32_t x816;
+    uint32_t x817;
+    uint32_t x818;
+    uint32_t x819;
+    uint32_t x820;
+    uint32_t x821;
+    uint32_t x822;
+    uint32_t x823;
+    uint32_t x824;
+    uint32_t x825;
+    uint32_t x826;
+    uint32_t x827;
+    uint32_t x828;
+    uint32_t x829;
+    uint32_t x830;
+    uint32_t x831;
+    uint32_t x832;
+    uint32_t x833;
+    uint32_t x834;
+    uint32_t x835;
+    uint32_t x836;
+    uint32_t x837;
+    uint32_t x838;
+    uint32_t x839;
+    uint32_t x840;
+    uint32_t x841;
+    uint32_t x842;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x843;
+    uint32_t x844;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x845;
+    uint32_t x846;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x847;
+    uint32_t x848;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x849;
+    uint32_t x850;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x851;
+    uint32_t x852;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x853;
+    uint32_t x854;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x855;
+    uint32_t x856;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x857;
+    uint32_t x858;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x859;
+    uint32_t x860;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x861;
+    uint32_t x862;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x863;
+    uint32_t x864;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x865;
+    uint32_t x866;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x867;
+    uint32_t x868;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x869;
+    uint32_t x870;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x871;
+    uint32_t x872;
+    uint32_t x873;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x874;
+    uint32_t x875;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x876;
+    uint32_t x877;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x878;
+    uint32_t x879;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x880;
+    uint32_t x881;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x882;
+    uint32_t x883;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x884;
+    uint32_t x885;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x886;
+    uint32_t x887;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x888;
+    uint32_t x889;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x890;
+    uint32_t x891;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x892;
+    uint32_t x893;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x894;
+    uint32_t x895;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x896;
+    uint32_t x897;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x898;
+    uint32_t x899;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x900;
+    uint32_t x901;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x902;
+    uint32_t x903;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x904;
+    uint32_t x905;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x906;
+    uint32_t x907;
+    uint32_t x908;
+    uint32_t x909;
+    uint32_t x910;
+    uint32_t x911;
+    uint32_t x912;
+    uint32_t x913;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x914;
+    uint32_t x915;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x916;
+    uint32_t x917;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x918;
+    uint32_t x919;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x920;
+    uint32_t x921;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x922;
+    uint32_t x923;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x924;
+    uint32_t x925;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x926;
+    uint32_t x927;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x928;
+    uint32_t x929;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x930;
+    uint32_t x931;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x932;
+    uint32_t x933;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x934;
+    uint32_t x935;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x936;
+    uint32_t x937;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x938;
+    uint32_t x939;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x940;
+    uint32_t x941;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x942;
+    uint32_t x943;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x944;
+    uint32_t x945;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x946;
+    uint32_t x947;
+    uint32_t x948;
+    uint32_t x949;
+    uint32_t x950;
+    uint32_t x951;
+    uint32_t x952;
+    uint32_t x953;
+    uint32_t x954;
+    uint32_t x955;
+    uint32_t x956;
+    uint32_t x957;
+    uint32_t x958;
+    uint32_t x959;
+    uint32_t x960;
+    uint32_t x961;
+    uint32_t x962;
+    uint32_t x963;
+    uint32_t x964;
+    uint32_t x965;
+    uint32_t x966;
+    uint32_t x967;
+    uint32_t x968;
+    uint32_t x969;
+    uint32_t x970;
+    uint32_t x971;
+    uint32_t x972;
+    uint32_t x973;
+    uint32_t x974;
+    uint32_t x975;
+    uint32_t x976;
+    uint32_t x977;
+    uint32_t x978;
+    uint32_t x979;
+    uint32_t x980;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x981;
+    uint32_t x982;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x983;
+    uint32_t x984;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x985;
+    uint32_t x986;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x987;
+    uint32_t x988;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x989;
+    uint32_t x990;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x991;
+    uint32_t x992;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x993;
+    uint32_t x994;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x995;
+    uint32_t x996;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x997;
+    uint32_t x998;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x999;
+    uint32_t x1000;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1001;
+    uint32_t x1002;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1003;
+    uint32_t x1004;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1005;
+    uint32_t x1006;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1007;
+    uint32_t x1008;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1009;
+    uint32_t x1010;
+    uint32_t x1011;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1012;
+    uint32_t x1013;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1014;
+    uint32_t x1015;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1016;
+    uint32_t x1017;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1018;
+    uint32_t x1019;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1020;
+    uint32_t x1021;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1022;
+    uint32_t x1023;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1024;
+    uint32_t x1025;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1026;
+    uint32_t x1027;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1028;
+    uint32_t x1029;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1030;
+    uint32_t x1031;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1032;
+    uint32_t x1033;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1034;
+    uint32_t x1035;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1036;
+    uint32_t x1037;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1038;
+    uint32_t x1039;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1040;
+    uint32_t x1041;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1042;
+    uint32_t x1043;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1044;
+    uint32_t x1045;
+    uint32_t x1046;
+    uint32_t x1047;
+    uint32_t x1048;
+    uint32_t x1049;
+    uint32_t x1050;
+    uint32_t x1051;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1052;
+    uint32_t x1053;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1054;
+    uint32_t x1055;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1056;
+    uint32_t x1057;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1058;
+    uint32_t x1059;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1060;
+    uint32_t x1061;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1062;
+    uint32_t x1063;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1064;
+    uint32_t x1065;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1066;
+    uint32_t x1067;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1068;
+    uint32_t x1069;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1070;
+    uint32_t x1071;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1072;
+    uint32_t x1073;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1074;
+    uint32_t x1075;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1076;
+    uint32_t x1077;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1078;
+    uint32_t x1079;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1080;
+    uint32_t x1081;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1082;
+    uint32_t x1083;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1084;
+    uint32_t x1085;
+    uint32_t x1086;
+    uint32_t x1087;
+    uint32_t x1088;
+    uint32_t x1089;
+    uint32_t x1090;
+    uint32_t x1091;
+    uint32_t x1092;
+    uint32_t x1093;
+    uint32_t x1094;
+    uint32_t x1095;
+    uint32_t x1096;
+    uint32_t x1097;
+    uint32_t x1098;
+    uint32_t x1099;
+    uint32_t x1100;
+    uint32_t x1101;
+    uint32_t x1102;
+    uint32_t x1103;
+    uint32_t x1104;
+    uint32_t x1105;
+    uint32_t x1106;
+    uint32_t x1107;
+    uint32_t x1108;
+    uint32_t x1109;
+    uint32_t x1110;
+    uint32_t x1111;
+    uint32_t x1112;
+    uint32_t x1113;
+    uint32_t x1114;
+    uint32_t x1115;
+    uint32_t x1116;
+    uint32_t x1117;
+    uint32_t x1118;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1119;
+    uint32_t x1120;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1121;
+    uint32_t x1122;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1123;
+    uint32_t x1124;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1125;
+    uint32_t x1126;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1127;
+    uint32_t x1128;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1129;
+    uint32_t x1130;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1131;
+    uint32_t x1132;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1133;
+    uint32_t x1134;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1135;
+    uint32_t x1136;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1137;
+    uint32_t x1138;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1139;
+    uint32_t x1140;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1141;
+    uint32_t x1142;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1143;
+    uint32_t x1144;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1145;
+    uint32_t x1146;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1147;
+    uint32_t x1148;
+    uint32_t x1149;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1150;
+    uint32_t x1151;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1152;
+    uint32_t x1153;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1154;
+    uint32_t x1155;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1156;
+    uint32_t x1157;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1158;
+    uint32_t x1159;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1160;
+    uint32_t x1161;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1162;
+    uint32_t x1163;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1164;
+    uint32_t x1165;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1166;
+    uint32_t x1167;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1168;
+    uint32_t x1169;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1170;
+    uint32_t x1171;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1172;
+    uint32_t x1173;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1174;
+    uint32_t x1175;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1176;
+    uint32_t x1177;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1178;
+    uint32_t x1179;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1180;
+    uint32_t x1181;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1182;
+    uint32_t x1183;
+    uint32_t x1184;
+    uint32_t x1185;
+    uint32_t x1186;
+    uint32_t x1187;
+    uint32_t x1188;
+    uint32_t x1189;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1190;
+    uint32_t x1191;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1192;
+    uint32_t x1193;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1194;
+    uint32_t x1195;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1196;
+    uint32_t x1197;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1198;
+    uint32_t x1199;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1200;
+    uint32_t x1201;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1202;
+    uint32_t x1203;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1204;
+    uint32_t x1205;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1206;
+    uint32_t x1207;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1208;
+    uint32_t x1209;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1210;
+    uint32_t x1211;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1212;
+    uint32_t x1213;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1214;
+    uint32_t x1215;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1216;
+    uint32_t x1217;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1218;
+    uint32_t x1219;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1220;
+    uint32_t x1221;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1222;
+    uint32_t x1223;
+    uint32_t x1224;
+    uint32_t x1225;
+    uint32_t x1226;
+    uint32_t x1227;
+    uint32_t x1228;
+    uint32_t x1229;
+    uint32_t x1230;
+    uint32_t x1231;
+    uint32_t x1232;
+    uint32_t x1233;
+    uint32_t x1234;
+    uint32_t x1235;
+    uint32_t x1236;
+    uint32_t x1237;
+    uint32_t x1238;
+    uint32_t x1239;
+    uint32_t x1240;
+    uint32_t x1241;
+    uint32_t x1242;
+    uint32_t x1243;
+    uint32_t x1244;
+    uint32_t x1245;
+    uint32_t x1246;
+    uint32_t x1247;
+    uint32_t x1248;
+    uint32_t x1249;
+    uint32_t x1250;
+    uint32_t x1251;
+    uint32_t x1252;
+    uint32_t x1253;
+    uint32_t x1254;
+    uint32_t x1255;
+    uint32_t x1256;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1257;
+    uint32_t x1258;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1259;
+    uint32_t x1260;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1261;
+    uint32_t x1262;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1263;
+    uint32_t x1264;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1265;
+    uint32_t x1266;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1267;
+    uint32_t x1268;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1269;
+    uint32_t x1270;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1271;
+    uint32_t x1272;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1273;
+    uint32_t x1274;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1275;
+    uint32_t x1276;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1277;
+    uint32_t x1278;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1279;
+    uint32_t x1280;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1281;
+    uint32_t x1282;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1283;
+    uint32_t x1284;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1285;
+    uint32_t x1286;
+    uint32_t x1287;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1288;
+    uint32_t x1289;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1290;
+    uint32_t x1291;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1292;
+    uint32_t x1293;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1294;
+    uint32_t x1295;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1296;
+    uint32_t x1297;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1298;
+    uint32_t x1299;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1300;
+    uint32_t x1301;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1302;
+    uint32_t x1303;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1304;
+    uint32_t x1305;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1306;
+    uint32_t x1307;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1308;
+    uint32_t x1309;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1310;
+    uint32_t x1311;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1312;
+    uint32_t x1313;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1314;
+    uint32_t x1315;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1316;
+    uint32_t x1317;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1318;
+    uint32_t x1319;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1320;
+    uint32_t x1321;
+    uint32_t x1322;
+    uint32_t x1323;
+    uint32_t x1324;
+    uint32_t x1325;
+    uint32_t x1326;
+    uint32_t x1327;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1328;
+    uint32_t x1329;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1330;
+    uint32_t x1331;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1332;
+    uint32_t x1333;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1334;
+    uint32_t x1335;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1336;
+    uint32_t x1337;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1338;
+    uint32_t x1339;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1340;
+    uint32_t x1341;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1342;
+    uint32_t x1343;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1344;
+    uint32_t x1345;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1346;
+    uint32_t x1347;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1348;
+    uint32_t x1349;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1350;
+    uint32_t x1351;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1352;
+    uint32_t x1353;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1354;
+    uint32_t x1355;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1356;
+    uint32_t x1357;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1358;
+    uint32_t x1359;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1360;
+    uint32_t x1361;
+    uint32_t x1362;
+    uint32_t x1363;
+    uint32_t x1364;
+    uint32_t x1365;
+    uint32_t x1366;
+    uint32_t x1367;
+    uint32_t x1368;
+    uint32_t x1369;
+    uint32_t x1370;
+    uint32_t x1371;
+    uint32_t x1372;
+    uint32_t x1373;
+    uint32_t x1374;
+    uint32_t x1375;
+    uint32_t x1376;
+    uint32_t x1377;
+    uint32_t x1378;
+    uint32_t x1379;
+    uint32_t x1380;
+    uint32_t x1381;
+    uint32_t x1382;
+    uint32_t x1383;
+    uint32_t x1384;
+    uint32_t x1385;
+    uint32_t x1386;
+    uint32_t x1387;
+    uint32_t x1388;
+    uint32_t x1389;
+    uint32_t x1390;
+    uint32_t x1391;
+    uint32_t x1392;
+    uint32_t x1393;
+    uint32_t x1394;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1395;
+    uint32_t x1396;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1397;
+    uint32_t x1398;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1399;
+    uint32_t x1400;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1401;
+    uint32_t x1402;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1403;
+    uint32_t x1404;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1405;
+    uint32_t x1406;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1407;
+    uint32_t x1408;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1409;
+    uint32_t x1410;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1411;
+    uint32_t x1412;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1413;
+    uint32_t x1414;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1415;
+    uint32_t x1416;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1417;
+    uint32_t x1418;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1419;
+    uint32_t x1420;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1421;
+    uint32_t x1422;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1423;
+    uint32_t x1424;
+    uint32_t x1425;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1426;
+    uint32_t x1427;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1428;
+    uint32_t x1429;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1430;
+    uint32_t x1431;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1432;
+    uint32_t x1433;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1434;
+    uint32_t x1435;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1436;
+    uint32_t x1437;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1438;
+    uint32_t x1439;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1440;
+    uint32_t x1441;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1442;
+    uint32_t x1443;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1444;
+    uint32_t x1445;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1446;
+    uint32_t x1447;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1448;
+    uint32_t x1449;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1450;
+    uint32_t x1451;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1452;
+    uint32_t x1453;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1454;
+    uint32_t x1455;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1456;
+    uint32_t x1457;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1458;
+    uint32_t x1459;
+    uint32_t x1460;
+    uint32_t x1461;
+    uint32_t x1462;
+    uint32_t x1463;
+    uint32_t x1464;
+    uint32_t x1465;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1466;
+    uint32_t x1467;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1468;
+    uint32_t x1469;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1470;
+    uint32_t x1471;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1472;
+    uint32_t x1473;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1474;
+    uint32_t x1475;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1476;
+    uint32_t x1477;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1478;
+    uint32_t x1479;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1480;
+    uint32_t x1481;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1482;
+    uint32_t x1483;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1484;
+    uint32_t x1485;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1486;
+    uint32_t x1487;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1488;
+    uint32_t x1489;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1490;
+    uint32_t x1491;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1492;
+    uint32_t x1493;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1494;
+    uint32_t x1495;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1496;
+    uint32_t x1497;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1498;
+    uint32_t x1499;
+    uint32_t x1500;
+    uint32_t x1501;
+    uint32_t x1502;
+    uint32_t x1503;
+    uint32_t x1504;
+    uint32_t x1505;
+    uint32_t x1506;
+    uint32_t x1507;
+    uint32_t x1508;
+    uint32_t x1509;
+    uint32_t x1510;
+    uint32_t x1511;
+    uint32_t x1512;
+    uint32_t x1513;
+    uint32_t x1514;
+    uint32_t x1515;
+    uint32_t x1516;
+    uint32_t x1517;
+    uint32_t x1518;
+    uint32_t x1519;
+    uint32_t x1520;
+    uint32_t x1521;
+    uint32_t x1522;
+    uint32_t x1523;
+    uint32_t x1524;
+    uint32_t x1525;
+    uint32_t x1526;
+    uint32_t x1527;
+    uint32_t x1528;
+    uint32_t x1529;
+    uint32_t x1530;
+    uint32_t x1531;
+    uint32_t x1532;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1533;
+    uint32_t x1534;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1535;
+    uint32_t x1536;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1537;
+    uint32_t x1538;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1539;
+    uint32_t x1540;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1541;
+    uint32_t x1542;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1543;
+    uint32_t x1544;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1545;
+    uint32_t x1546;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1547;
+    uint32_t x1548;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1549;
+    uint32_t x1550;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1551;
+    uint32_t x1552;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1553;
+    uint32_t x1554;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1555;
+    uint32_t x1556;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1557;
+    uint32_t x1558;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1559;
+    uint32_t x1560;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1561;
+    uint32_t x1562;
+    uint32_t x1563;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1564;
+    uint32_t x1565;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1566;
+    uint32_t x1567;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1568;
+    uint32_t x1569;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1570;
+    uint32_t x1571;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1572;
+    uint32_t x1573;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1574;
+    uint32_t x1575;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1576;
+    uint32_t x1577;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1578;
+    uint32_t x1579;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1580;
+    uint32_t x1581;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1582;
+    uint32_t x1583;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1584;
+    uint32_t x1585;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1586;
+    uint32_t x1587;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1588;
+    uint32_t x1589;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1590;
+    uint32_t x1591;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1592;
+    uint32_t x1593;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1594;
+    uint32_t x1595;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1596;
+    uint32_t x1597;
+    uint32_t x1598;
+    uint32_t x1599;
+    uint32_t x1600;
+    uint32_t x1601;
+    uint32_t x1602;
+    uint32_t x1603;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1604;
+    uint32_t x1605;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1606;
+    uint32_t x1607;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1608;
+    uint32_t x1609;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1610;
+    uint32_t x1611;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1612;
+    uint32_t x1613;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1614;
+    uint32_t x1615;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1616;
+    uint32_t x1617;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1618;
+    uint32_t x1619;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1620;
+    uint32_t x1621;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1622;
+    uint32_t x1623;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1624;
+    uint32_t x1625;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1626;
+    uint32_t x1627;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1628;
+    uint32_t x1629;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1630;
+    uint32_t x1631;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1632;
+    uint32_t x1633;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1634;
+    uint32_t x1635;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1636;
+    uint32_t x1637;
+    uint32_t x1638;
+    uint32_t x1639;
+    uint32_t x1640;
+    uint32_t x1641;
+    uint32_t x1642;
+    uint32_t x1643;
+    uint32_t x1644;
+    uint32_t x1645;
+    uint32_t x1646;
+    uint32_t x1647;
+    uint32_t x1648;
+    uint32_t x1649;
+    uint32_t x1650;
+    uint32_t x1651;
+    uint32_t x1652;
+    uint32_t x1653;
+    uint32_t x1654;
+    uint32_t x1655;
+    uint32_t x1656;
+    uint32_t x1657;
+    uint32_t x1658;
+    uint32_t x1659;
+    uint32_t x1660;
+    uint32_t x1661;
+    uint32_t x1662;
+    uint32_t x1663;
+    uint32_t x1664;
+    uint32_t x1665;
+    uint32_t x1666;
+    uint32_t x1667;
+    uint32_t x1668;
+    uint32_t x1669;
+    uint32_t x1670;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1671;
+    uint32_t x1672;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1673;
+    uint32_t x1674;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1675;
+    uint32_t x1676;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1677;
+    uint32_t x1678;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1679;
+    uint32_t x1680;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1681;
+    uint32_t x1682;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1683;
+    uint32_t x1684;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1685;
+    uint32_t x1686;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1687;
+    uint32_t x1688;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1689;
+    uint32_t x1690;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1691;
+    uint32_t x1692;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1693;
+    uint32_t x1694;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1695;
+    uint32_t x1696;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1697;
+    uint32_t x1698;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1699;
+    uint32_t x1700;
+    uint32_t x1701;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1702;
+    uint32_t x1703;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1704;
+    uint32_t x1705;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1706;
+    uint32_t x1707;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1708;
+    uint32_t x1709;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1710;
+    uint32_t x1711;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1712;
+    uint32_t x1713;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1714;
+    uint32_t x1715;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1716;
+    uint32_t x1717;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1718;
+    uint32_t x1719;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1720;
+    uint32_t x1721;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1722;
+    uint32_t x1723;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1724;
+    uint32_t x1725;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1726;
+    uint32_t x1727;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1728;
+    uint32_t x1729;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1730;
+    uint32_t x1731;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1732;
+    uint32_t x1733;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1734;
+    uint32_t x1735;
+    uint32_t x1736;
+    uint32_t x1737;
+    uint32_t x1738;
+    uint32_t x1739;
+    uint32_t x1740;
+    uint32_t x1741;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1742;
+    uint32_t x1743;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1744;
+    uint32_t x1745;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1746;
+    uint32_t x1747;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1748;
+    uint32_t x1749;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1750;
+    uint32_t x1751;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1752;
+    uint32_t x1753;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1754;
+    uint32_t x1755;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1756;
+    uint32_t x1757;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1758;
+    uint32_t x1759;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1760;
+    uint32_t x1761;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1762;
+    uint32_t x1763;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1764;
+    uint32_t x1765;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1766;
+    uint32_t x1767;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1768;
+    uint32_t x1769;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1770;
+    uint32_t x1771;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1772;
+    uint32_t x1773;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1774;
+    uint32_t x1775;
+    uint32_t x1776;
+    uint32_t x1777;
+    uint32_t x1778;
+    uint32_t x1779;
+    uint32_t x1780;
+    uint32_t x1781;
+    uint32_t x1782;
+    uint32_t x1783;
+    uint32_t x1784;
+    uint32_t x1785;
+    uint32_t x1786;
+    uint32_t x1787;
+    uint32_t x1788;
+    uint32_t x1789;
+    uint32_t x1790;
+    uint32_t x1791;
+    uint32_t x1792;
+    uint32_t x1793;
+    uint32_t x1794;
+    uint32_t x1795;
+    uint32_t x1796;
+    uint32_t x1797;
+    uint32_t x1798;
+    uint32_t x1799;
+    uint32_t x1800;
+    uint32_t x1801;
+    uint32_t x1802;
+    uint32_t x1803;
+    uint32_t x1804;
+    uint32_t x1805;
+    uint32_t x1806;
+    uint32_t x1807;
+    uint32_t x1808;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1809;
+    uint32_t x1810;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1811;
+    uint32_t x1812;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1813;
+    uint32_t x1814;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1815;
+    uint32_t x1816;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1817;
+    uint32_t x1818;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1819;
+    uint32_t x1820;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1821;
+    uint32_t x1822;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1823;
+    uint32_t x1824;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1825;
+    uint32_t x1826;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1827;
+    uint32_t x1828;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1829;
+    uint32_t x1830;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1831;
+    uint32_t x1832;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1833;
+    uint32_t x1834;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1835;
+    uint32_t x1836;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1837;
+    uint32_t x1838;
+    uint32_t x1839;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1840;
+    uint32_t x1841;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1842;
+    uint32_t x1843;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1844;
+    uint32_t x1845;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1846;
+    uint32_t x1847;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1848;
+    uint32_t x1849;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1850;
+    uint32_t x1851;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1852;
+    uint32_t x1853;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1854;
+    uint32_t x1855;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1856;
+    uint32_t x1857;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1858;
+    uint32_t x1859;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1860;
+    uint32_t x1861;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1862;
+    uint32_t x1863;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1864;
+    uint32_t x1865;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1866;
+    uint32_t x1867;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1868;
+    uint32_t x1869;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1870;
+    uint32_t x1871;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1872;
+    uint32_t x1873;
+    uint32_t x1874;
+    uint32_t x1875;
+    uint32_t x1876;
+    uint32_t x1877;
+    uint32_t x1878;
+    uint32_t x1879;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1880;
+    uint32_t x1881;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1882;
+    uint32_t x1883;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1884;
+    uint32_t x1885;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1886;
+    uint32_t x1887;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1888;
+    uint32_t x1889;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1890;
+    uint32_t x1891;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1892;
+    uint32_t x1893;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1894;
+    uint32_t x1895;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1896;
+    uint32_t x1897;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1898;
+    uint32_t x1899;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1900;
+    uint32_t x1901;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1902;
+    uint32_t x1903;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1904;
+    uint32_t x1905;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1906;
+    uint32_t x1907;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1908;
+    uint32_t x1909;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1910;
+    uint32_t x1911;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1912;
+    uint32_t x1913;
+    uint32_t x1914;
+    uint32_t x1915;
+    uint32_t x1916;
+    uint32_t x1917;
+    uint32_t x1918;
+    uint32_t x1919;
+    uint32_t x1920;
+    uint32_t x1921;
+    uint32_t x1922;
+    uint32_t x1923;
+    uint32_t x1924;
+    uint32_t x1925;
+    uint32_t x1926;
+    uint32_t x1927;
+    uint32_t x1928;
+    uint32_t x1929;
+    uint32_t x1930;
+    uint32_t x1931;
+    uint32_t x1932;
+    uint32_t x1933;
+    uint32_t x1934;
+    uint32_t x1935;
+    uint32_t x1936;
+    uint32_t x1937;
+    uint32_t x1938;
+    uint32_t x1939;
+    uint32_t x1940;
+    uint32_t x1941;
+    uint32_t x1942;
+    uint32_t x1943;
+    uint32_t x1944;
+    uint32_t x1945;
+    uint32_t x1946;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1947;
+    uint32_t x1948;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1949;
+    uint32_t x1950;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1951;
+    uint32_t x1952;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1953;
+    uint32_t x1954;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1955;
+    uint32_t x1956;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1957;
+    uint32_t x1958;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1959;
+    uint32_t x1960;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1961;
+    uint32_t x1962;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1963;
+    uint32_t x1964;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1965;
+    uint32_t x1966;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1967;
+    uint32_t x1968;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1969;
+    uint32_t x1970;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1971;
+    uint32_t x1972;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1973;
+    uint32_t x1974;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1975;
+    uint32_t x1976;
+    uint32_t x1977;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1978;
+    uint32_t x1979;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1980;
+    uint32_t x1981;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1982;
+    uint32_t x1983;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1984;
+    uint32_t x1985;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1986;
+    uint32_t x1987;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1988;
+    uint32_t x1989;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1990;
+    uint32_t x1991;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1992;
+    uint32_t x1993;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1994;
+    uint32_t x1995;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1996;
+    uint32_t x1997;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x1998;
+    uint32_t x1999;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2000;
+    uint32_t x2001;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2002;
+    uint32_t x2003;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2004;
+    uint32_t x2005;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2006;
+    uint32_t x2007;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2008;
+    uint32_t x2009;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2010;
+    uint32_t x2011;
+    uint32_t x2012;
+    uint32_t x2013;
+    uint32_t x2014;
+    uint32_t x2015;
+    uint32_t x2016;
+    uint32_t x2017;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2018;
+    uint32_t x2019;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2020;
+    uint32_t x2021;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2022;
+    uint32_t x2023;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2024;
+    uint32_t x2025;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2026;
+    uint32_t x2027;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2028;
+    uint32_t x2029;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2030;
+    uint32_t x2031;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2032;
+    uint32_t x2033;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2034;
+    uint32_t x2035;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2036;
+    uint32_t x2037;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2038;
+    uint32_t x2039;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2040;
+    uint32_t x2041;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2042;
+    uint32_t x2043;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2044;
+    uint32_t x2045;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2046;
+    uint32_t x2047;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2048;
+    uint32_t x2049;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2050;
+    uint32_t x2051;
+    uint32_t x2052;
+    uint32_t x2053;
+    uint32_t x2054;
+    uint32_t x2055;
+    uint32_t x2056;
+    uint32_t x2057;
+    uint32_t x2058;
+    uint32_t x2059;
+    uint32_t x2060;
+    uint32_t x2061;
+    uint32_t x2062;
+    uint32_t x2063;
+    uint32_t x2064;
+    uint32_t x2065;
+    uint32_t x2066;
+    uint32_t x2067;
+    uint32_t x2068;
+    uint32_t x2069;
+    uint32_t x2070;
+    uint32_t x2071;
+    uint32_t x2072;
+    uint32_t x2073;
+    uint32_t x2074;
+    uint32_t x2075;
+    uint32_t x2076;
+    uint32_t x2077;
+    uint32_t x2078;
+    uint32_t x2079;
+    uint32_t x2080;
+    uint32_t x2081;
+    uint32_t x2082;
+    uint32_t x2083;
+    uint32_t x2084;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2085;
+    uint32_t x2086;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2087;
+    uint32_t x2088;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2089;
+    uint32_t x2090;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2091;
+    uint32_t x2092;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2093;
+    uint32_t x2094;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2095;
+    uint32_t x2096;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2097;
+    uint32_t x2098;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2099;
+    uint32_t x2100;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2101;
+    uint32_t x2102;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2103;
+    uint32_t x2104;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2105;
+    uint32_t x2106;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2107;
+    uint32_t x2108;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2109;
+    uint32_t x2110;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2111;
+    uint32_t x2112;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2113;
+    uint32_t x2114;
+    uint32_t x2115;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2116;
+    uint32_t x2117;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2118;
+    uint32_t x2119;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2120;
+    uint32_t x2121;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2122;
+    uint32_t x2123;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2124;
+    uint32_t x2125;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2126;
+    uint32_t x2127;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2128;
+    uint32_t x2129;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2130;
+    uint32_t x2131;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2132;
+    uint32_t x2133;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2134;
+    uint32_t x2135;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2136;
+    uint32_t x2137;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2138;
+    uint32_t x2139;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2140;
+    uint32_t x2141;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2142;
+    uint32_t x2143;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2144;
+    uint32_t x2145;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2146;
+    uint32_t x2147;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2148;
+    uint32_t x2149;
+    uint32_t x2150;
+    uint32_t x2151;
+    uint32_t x2152;
+    uint32_t x2153;
+    uint32_t x2154;
+    uint32_t x2155;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2156;
+    uint32_t x2157;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2158;
+    uint32_t x2159;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2160;
+    uint32_t x2161;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2162;
+    uint32_t x2163;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2164;
+    uint32_t x2165;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2166;
+    uint32_t x2167;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2168;
+    uint32_t x2169;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2170;
+    uint32_t x2171;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2172;
+    uint32_t x2173;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2174;
+    uint32_t x2175;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2176;
+    uint32_t x2177;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2178;
+    uint32_t x2179;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2180;
+    uint32_t x2181;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2182;
+    uint32_t x2183;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2184;
+    uint32_t x2185;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2186;
+    uint32_t x2187;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2188;
+    uint32_t x2189;
+    uint32_t x2190;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2191;
+    uint32_t x2192;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2193;
+    uint32_t x2194;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2195;
+    uint32_t x2196;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2197;
+    uint32_t x2198;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2199;
+    uint32_t x2200;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2201;
+    uint32_t x2202;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2203;
+    uint32_t x2204;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2205;
+    uint32_t x2206;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2207;
+    uint32_t x2208;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2209;
+    uint32_t x2210;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2211;
+    uint32_t x2212;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2213;
+    uint32_t x2214;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2215;
+    uint32_t x2216;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2217;
+    uint32_t x2218;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2219;
+    uint32_t x2220;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2221;
+    uint32_t x2222;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2223;
+    uint32_t x2224;
+    uint32_t x2225;
+    uint32_t x2226;
+    uint32_t x2227;
+    uint32_t x2228;
+    uint32_t x2229;
+    uint32_t x2230;
+    uint32_t x2231;
+    uint32_t x2232;
+    uint32_t x2233;
+    uint32_t x2234;
+    uint32_t x2235;
+    uint32_t x2236;
+    uint32_t x2237;
+    uint32_t x2238;
+    uint32_t x2239;
+    x1 = (arg1[1]);
+    x2 = (arg1[2]);
+    x3 = (arg1[3]);
+    x4 = (arg1[4]);
+    x5 = (arg1[5]);
+    x6 = (arg1[6]);
+    x7 = (arg1[7]);
+    x8 = (arg1[8]);
+    x9 = (arg1[9]);
+    x10 = (arg1[10]);
+    x11 = (arg1[11]);
+    x12 = (arg1[12]);
+    x13 = (arg1[13]);
+    x14 = (arg1[14]);
+    x15 = (arg1[15]);
+    x16 = (arg1[0]);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x17, &x18, x16,
+                                                       (arg1[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x19, &x20, x16,
+                                                       (arg1[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x21, &x22, x16,
+                                                       (arg1[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x23, &x24, x16,
+                                                       (arg1[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x25, &x26, x16,
+                                                       (arg1[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x27, &x28, x16,
+                                                       (arg1[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x29, &x30, x16,
+                                                       (arg1[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x31, &x32, x16,
+                                                       (arg1[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x33, &x34, x16,
+                                                       (arg1[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x35, &x36, x16,
+                                                       (arg1[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x37, &x38, x16,
+                                                       (arg1[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x39, &x40, x16,
+                                                       (arg1[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x41, &x42, x16,
+                                                       (arg1[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x43, &x44, x16,
+                                                       (arg1[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x45, &x46, x16,
+                                                       (arg1[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x47, &x48, x16,
+                                                       (arg1[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x49, &x50, 0x0,
+                                                            x48, x45);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x51, &x52, x50,
+                                                            x46, x43);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x53, &x54, x52,
+                                                            x44, x41);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x55, &x56, x54,
+                                                            x42, x39);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x57, &x58, x56,
+                                                            x40, x37);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x59, &x60, x58,
+                                                            x38, x35);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x61, &x62, x60,
+                                                            x36, x33);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x63, &x64, x62,
+                                                            x34, x31);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x65, &x66, x64,
+                                                            x32, x29);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x67, &x68, x66,
+                                                            x30, x27);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x69, &x70, x68,
+                                                            x28, x25);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x71, &x72, x70,
+                                                            x26, x23);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x73, &x74, x72,
+                                                            x24, x21);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x75, &x76, x74,
+                                                            x22, x19);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x77, &x78, x76,
+                                                            x20, x17);
+    x79 = (x78 + x18);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x80, &x81, x47,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x82, &x83, x80,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x84, &x85, x80,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x86, &x87, 0x0,
+                                                            x47, x84);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x88, &x89, x87,
+                                                            x49, x85);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x90, &x91, x89,
+                                                            x51, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x92, &x93, x91,
+                                                            x53, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x94, &x95, x93,
+                                                            x55, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x96, &x97, x95,
+                                                            x57, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x98, &x99, x97,
+                                                            x59, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x100, &x101, x99,
+                                                            x61, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x102, &x103, x101,
+                                                            x63, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x104, &x105, x103,
+                                                            x65, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x106, &x107, x105,
+                                                            x67, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x108, &x109, x107,
+                                                            x69, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x110, &x111, x109,
+                                                            x71, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x112, &x113, x111,
+                                                            x73, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x114, &x115, x113,
+                                                            x75, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x116, &x117, x115,
+                                                            x77, x82);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x118, &x119, x117,
+                                                            x79, x83);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x120, &x121, x1,
+                                                       (arg1[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x122, &x123, x1,
+                                                       (arg1[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x124, &x125, x1,
+                                                       (arg1[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x126, &x127, x1,
+                                                       (arg1[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x128, &x129, x1,
+                                                       (arg1[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x130, &x131, x1,
+                                                       (arg1[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x132, &x133, x1,
+                                                       (arg1[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x134, &x135, x1,
+                                                       (arg1[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x136, &x137, x1,
+                                                       (arg1[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x138, &x139, x1,
+                                                       (arg1[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x140, &x141, x1,
+                                                       (arg1[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x142, &x143, x1,
+                                                       (arg1[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x144, &x145, x1,
+                                                       (arg1[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x146, &x147, x1,
+                                                       (arg1[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x148, &x149, x1,
+                                                       (arg1[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x150, &x151, x1,
+                                                       (arg1[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x152, &x153, 0x0,
+                                                            x151, x148);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x154, &x155, x153,
+                                                            x149, x146);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x156, &x157, x155,
+                                                            x147, x144);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x158, &x159, x157,
+                                                            x145, x142);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x160, &x161, x159,
+                                                            x143, x140);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x162, &x163, x161,
+                                                            x141, x138);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x164, &x165, x163,
+                                                            x139, x136);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x166, &x167, x165,
+                                                            x137, x134);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x168, &x169, x167,
+                                                            x135, x132);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x170, &x171, x169,
+                                                            x133, x130);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x172, &x173, x171,
+                                                            x131, x128);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x174, &x175, x173,
+                                                            x129, x126);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x176, &x177, x175,
+                                                            x127, x124);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x178, &x179, x177,
+                                                            x125, x122);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x180, &x181, x179,
+                                                            x123, x120);
+    x182 = (x181 + x121);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x183, &x184, 0x0,
+                                                            x88, x150);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x185, &x186, x184,
+                                                            x90, x152);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x187, &x188, x186,
+                                                            x92, x154);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x189, &x190, x188,
+                                                            x94, x156);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x191, &x192, x190,
+                                                            x96, x158);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x193, &x194, x192,
+                                                            x98, x160);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x195, &x196, x194,
+                                                            x100, x162);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x197, &x198, x196,
+                                                            x102, x164);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x199, &x200, x198,
+                                                            x104, x166);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x201, &x202, x200,
+                                                            x106, x168);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x203, &x204, x202,
+                                                            x108, x170);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x205, &x206, x204,
+                                                            x110, x172);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x207, &x208, x206,
+                                                            x112, x174);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x209, &x210, x208,
+                                                            x114, x176);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x211, &x212, x210,
+                                                            x116, x178);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x213, &x214, x212,
+                                                            x118, x180);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x215, &x216, x214,
+                                                            x119, x182);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x217, &x218, x183,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x219, &x220, x217,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x221, &x222, x217,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x223, &x224, 0x0,
+                                                            x183, x221);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x225, &x226, x224,
+                                                            x185, x222);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x227, &x228, x226,
+                                                            x187, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x229, &x230, x228,
+                                                            x189, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x231, &x232, x230,
+                                                            x191, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x233, &x234, x232,
+                                                            x193, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x235, &x236, x234,
+                                                            x195, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x237, &x238, x236,
+                                                            x197, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x239, &x240, x238,
+                                                            x199, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x241, &x242, x240,
+                                                            x201, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x243, &x244, x242,
+                                                            x203, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x245, &x246, x244,
+                                                            x205, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x247, &x248, x246,
+                                                            x207, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x249, &x250, x248,
+                                                            x209, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x251, &x252, x250,
+                                                            x211, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x253, &x254, x252,
+                                                            x213, x219);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x255, &x256, x254,
+                                                            x215, x220);
+    x257 = ((uint32_t)x256 + x216);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x258, &x259, x2,
+                                                       (arg1[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x260, &x261, x2,
+                                                       (arg1[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x262, &x263, x2,
+                                                       (arg1[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x264, &x265, x2,
+                                                       (arg1[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x266, &x267, x2,
+                                                       (arg1[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x268, &x269, x2,
+                                                       (arg1[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x270, &x271, x2,
+                                                       (arg1[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x272, &x273, x2,
+                                                       (arg1[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x274, &x275, x2,
+                                                       (arg1[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x276, &x277, x2,
+                                                       (arg1[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x278, &x279, x2,
+                                                       (arg1[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x280, &x281, x2,
+                                                       (arg1[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x282, &x283, x2,
+                                                       (arg1[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x284, &x285, x2,
+                                                       (arg1[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x286, &x287, x2,
+                                                       (arg1[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x288, &x289, x2,
+                                                       (arg1[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x290, &x291, 0x0,
+                                                            x289, x286);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x292, &x293, x291,
+                                                            x287, x284);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x294, &x295, x293,
+                                                            x285, x282);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x296, &x297, x295,
+                                                            x283, x280);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x298, &x299, x297,
+                                                            x281, x278);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x300, &x301, x299,
+                                                            x279, x276);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x302, &x303, x301,
+                                                            x277, x274);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x304, &x305, x303,
+                                                            x275, x272);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x306, &x307, x305,
+                                                            x273, x270);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x308, &x309, x307,
+                                                            x271, x268);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x310, &x311, x309,
+                                                            x269, x266);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x312, &x313, x311,
+                                                            x267, x264);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x314, &x315, x313,
+                                                            x265, x262);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x316, &x317, x315,
+                                                            x263, x260);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x318, &x319, x317,
+                                                            x261, x258);
+    x320 = (x319 + x259);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x321, &x322, 0x0,
+                                                            x225, x288);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x323, &x324, x322,
+                                                            x227, x290);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x325, &x326, x324,
+                                                            x229, x292);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x327, &x328, x326,
+                                                            x231, x294);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x329, &x330, x328,
+                                                            x233, x296);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x331, &x332, x330,
+                                                            x235, x298);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x333, &x334, x332,
+                                                            x237, x300);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x335, &x336, x334,
+                                                            x239, x302);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x337, &x338, x336,
+                                                            x241, x304);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x339, &x340, x338,
+                                                            x243, x306);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x341, &x342, x340,
+                                                            x245, x308);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x343, &x344, x342,
+                                                            x247, x310);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x345, &x346, x344,
+                                                            x249, x312);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x347, &x348, x346,
+                                                            x251, x314);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x349, &x350, x348,
+                                                            x253, x316);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x351, &x352, x350,
+                                                            x255, x318);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x353, &x354, x352,
+                                                            x257, x320);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x355, &x356, x321,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x357, &x358, x355,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x359, &x360, x355,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x361, &x362, 0x0,
+                                                            x321, x359);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x363, &x364, x362,
+                                                            x323, x360);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x365, &x366, x364,
+                                                            x325, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x367, &x368, x366,
+                                                            x327, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x369, &x370, x368,
+                                                            x329, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x371, &x372, x370,
+                                                            x331, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x373, &x374, x372,
+                                                            x333, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x375, &x376, x374,
+                                                            x335, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x377, &x378, x376,
+                                                            x337, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x379, &x380, x378,
+                                                            x339, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x381, &x382, x380,
+                                                            x341, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x383, &x384, x382,
+                                                            x343, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x385, &x386, x384,
+                                                            x345, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x387, &x388, x386,
+                                                            x347, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x389, &x390, x388,
+                                                            x349, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x391, &x392, x390,
+                                                            x351, x357);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x393, &x394, x392,
+                                                            x353, x358);
+    x395 = ((uint32_t)x394 + x354);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x396, &x397, x3,
+                                                       (arg1[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x398, &x399, x3,
+                                                       (arg1[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x400, &x401, x3,
+                                                       (arg1[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x402, &x403, x3,
+                                                       (arg1[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x404, &x405, x3,
+                                                       (arg1[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x406, &x407, x3,
+                                                       (arg1[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x408, &x409, x3,
+                                                       (arg1[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x410, &x411, x3,
+                                                       (arg1[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x412, &x413, x3,
+                                                       (arg1[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x414, &x415, x3,
+                                                       (arg1[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x416, &x417, x3,
+                                                       (arg1[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x418, &x419, x3,
+                                                       (arg1[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x420, &x421, x3,
+                                                       (arg1[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x422, &x423, x3,
+                                                       (arg1[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x424, &x425, x3,
+                                                       (arg1[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x426, &x427, x3,
+                                                       (arg1[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x428, &x429, 0x0,
+                                                            x427, x424);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x430, &x431, x429,
+                                                            x425, x422);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x432, &x433, x431,
+                                                            x423, x420);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x434, &x435, x433,
+                                                            x421, x418);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x436, &x437, x435,
+                                                            x419, x416);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x438, &x439, x437,
+                                                            x417, x414);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x440, &x441, x439,
+                                                            x415, x412);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x442, &x443, x441,
+                                                            x413, x410);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x444, &x445, x443,
+                                                            x411, x408);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x446, &x447, x445,
+                                                            x409, x406);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x448, &x449, x447,
+                                                            x407, x404);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x450, &x451, x449,
+                                                            x405, x402);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x452, &x453, x451,
+                                                            x403, x400);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x454, &x455, x453,
+                                                            x401, x398);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x456, &x457, x455,
+                                                            x399, x396);
+    x458 = (x457 + x397);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x459, &x460, 0x0,
+                                                            x363, x426);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x461, &x462, x460,
+                                                            x365, x428);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x463, &x464, x462,
+                                                            x367, x430);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x465, &x466, x464,
+                                                            x369, x432);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x467, &x468, x466,
+                                                            x371, x434);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x469, &x470, x468,
+                                                            x373, x436);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x471, &x472, x470,
+                                                            x375, x438);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x473, &x474, x472,
+                                                            x377, x440);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x475, &x476, x474,
+                                                            x379, x442);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x477, &x478, x476,
+                                                            x381, x444);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x479, &x480, x478,
+                                                            x383, x446);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x481, &x482, x480,
+                                                            x385, x448);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x483, &x484, x482,
+                                                            x387, x450);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x485, &x486, x484,
+                                                            x389, x452);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x487, &x488, x486,
+                                                            x391, x454);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x489, &x490, x488,
+                                                            x393, x456);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x491, &x492, x490,
+                                                            x395, x458);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x493, &x494, x459,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x495, &x496, x493,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x497, &x498, x493,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x499, &x500, 0x0,
+                                                            x459, x497);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x501, &x502, x500,
+                                                            x461, x498);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x503, &x504, x502,
+                                                            x463, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x505, &x506, x504,
+                                                            x465, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x507, &x508, x506,
+                                                            x467, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x509, &x510, x508,
+                                                            x469, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x511, &x512, x510,
+                                                            x471, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x513, &x514, x512,
+                                                            x473, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x515, &x516, x514,
+                                                            x475, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x517, &x518, x516,
+                                                            x477, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x519, &x520, x518,
+                                                            x479, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x521, &x522, x520,
+                                                            x481, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x523, &x524, x522,
+                                                            x483, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x525, &x526, x524,
+                                                            x485, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x527, &x528, x526,
+                                                            x487, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x529, &x530, x528,
+                                                            x489, x495);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x531, &x532, x530,
+                                                            x491, x496);
+    x533 = ((uint32_t)x532 + x492);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x534, &x535, x4,
+                                                       (arg1[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x536, &x537, x4,
+                                                       (arg1[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x538, &x539, x4,
+                                                       (arg1[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x540, &x541, x4,
+                                                       (arg1[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x542, &x543, x4,
+                                                       (arg1[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x544, &x545, x4,
+                                                       (arg1[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x546, &x547, x4,
+                                                       (arg1[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x548, &x549, x4,
+                                                       (arg1[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x550, &x551, x4,
+                                                       (arg1[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x552, &x553, x4,
+                                                       (arg1[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x554, &x555, x4,
+                                                       (arg1[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x556, &x557, x4,
+                                                       (arg1[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x558, &x559, x4,
+                                                       (arg1[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x560, &x561, x4,
+                                                       (arg1[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x562, &x563, x4,
+                                                       (arg1[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x564, &x565, x4,
+                                                       (arg1[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x566, &x567, 0x0,
+                                                            x565, x562);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x568, &x569, x567,
+                                                            x563, x560);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x570, &x571, x569,
+                                                            x561, x558);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x572, &x573, x571,
+                                                            x559, x556);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x574, &x575, x573,
+                                                            x557, x554);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x576, &x577, x575,
+                                                            x555, x552);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x578, &x579, x577,
+                                                            x553, x550);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x580, &x581, x579,
+                                                            x551, x548);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x582, &x583, x581,
+                                                            x549, x546);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x584, &x585, x583,
+                                                            x547, x544);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x586, &x587, x585,
+                                                            x545, x542);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x588, &x589, x587,
+                                                            x543, x540);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x590, &x591, x589,
+                                                            x541, x538);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x592, &x593, x591,
+                                                            x539, x536);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x594, &x595, x593,
+                                                            x537, x534);
+    x596 = (x595 + x535);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x597, &x598, 0x0,
+                                                            x501, x564);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x599, &x600, x598,
+                                                            x503, x566);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x601, &x602, x600,
+                                                            x505, x568);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x603, &x604, x602,
+                                                            x507, x570);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x605, &x606, x604,
+                                                            x509, x572);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x607, &x608, x606,
+                                                            x511, x574);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x609, &x610, x608,
+                                                            x513, x576);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x611, &x612, x610,
+                                                            x515, x578);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x613, &x614, x612,
+                                                            x517, x580);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x615, &x616, x614,
+                                                            x519, x582);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x617, &x618, x616,
+                                                            x521, x584);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x619, &x620, x618,
+                                                            x523, x586);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x621, &x622, x620,
+                                                            x525, x588);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x623, &x624, x622,
+                                                            x527, x590);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x625, &x626, x624,
+                                                            x529, x592);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x627, &x628, x626,
+                                                            x531, x594);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x629, &x630, x628,
+                                                            x533, x596);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x631, &x632, x597,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x633, &x634, x631,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x635, &x636, x631,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x637, &x638, 0x0,
+                                                            x597, x635);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x639, &x640, x638,
+                                                            x599, x636);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x641, &x642, x640,
+                                                            x601, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x643, &x644, x642,
+                                                            x603, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x645, &x646, x644,
+                                                            x605, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x647, &x648, x646,
+                                                            x607, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x649, &x650, x648,
+                                                            x609, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x651, &x652, x650,
+                                                            x611, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x653, &x654, x652,
+                                                            x613, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x655, &x656, x654,
+                                                            x615, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x657, &x658, x656,
+                                                            x617, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x659, &x660, x658,
+                                                            x619, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x661, &x662, x660,
+                                                            x621, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x663, &x664, x662,
+                                                            x623, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x665, &x666, x664,
+                                                            x625, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x667, &x668, x666,
+                                                            x627, x633);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x669, &x670, x668,
+                                                            x629, x634);
+    x671 = ((uint32_t)x670 + x630);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x672, &x673, x5,
+                                                       (arg1[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x674, &x675, x5,
+                                                       (arg1[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x676, &x677, x5,
+                                                       (arg1[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x678, &x679, x5,
+                                                       (arg1[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x680, &x681, x5,
+                                                       (arg1[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x682, &x683, x5,
+                                                       (arg1[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x684, &x685, x5,
+                                                       (arg1[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x686, &x687, x5,
+                                                       (arg1[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x688, &x689, x5,
+                                                       (arg1[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x690, &x691, x5,
+                                                       (arg1[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x692, &x693, x5,
+                                                       (arg1[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x694, &x695, x5,
+                                                       (arg1[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x696, &x697, x5,
+                                                       (arg1[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x698, &x699, x5,
+                                                       (arg1[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x700, &x701, x5,
+                                                       (arg1[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x702, &x703, x5,
+                                                       (arg1[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x704, &x705, 0x0,
+                                                            x703, x700);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x706, &x707, x705,
+                                                            x701, x698);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x708, &x709, x707,
+                                                            x699, x696);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x710, &x711, x709,
+                                                            x697, x694);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x712, &x713, x711,
+                                                            x695, x692);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x714, &x715, x713,
+                                                            x693, x690);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x716, &x717, x715,
+                                                            x691, x688);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x718, &x719, x717,
+                                                            x689, x686);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x720, &x721, x719,
+                                                            x687, x684);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x722, &x723, x721,
+                                                            x685, x682);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x724, &x725, x723,
+                                                            x683, x680);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x726, &x727, x725,
+                                                            x681, x678);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x728, &x729, x727,
+                                                            x679, x676);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x730, &x731, x729,
+                                                            x677, x674);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x732, &x733, x731,
+                                                            x675, x672);
+    x734 = (x733 + x673);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x735, &x736, 0x0,
+                                                            x639, x702);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x737, &x738, x736,
+                                                            x641, x704);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x739, &x740, x738,
+                                                            x643, x706);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x741, &x742, x740,
+                                                            x645, x708);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x743, &x744, x742,
+                                                            x647, x710);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x745, &x746, x744,
+                                                            x649, x712);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x747, &x748, x746,
+                                                            x651, x714);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x749, &x750, x748,
+                                                            x653, x716);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x751, &x752, x750,
+                                                            x655, x718);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x753, &x754, x752,
+                                                            x657, x720);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x755, &x756, x754,
+                                                            x659, x722);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x757, &x758, x756,
+                                                            x661, x724);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x759, &x760, x758,
+                                                            x663, x726);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x761, &x762, x760,
+                                                            x665, x728);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x763, &x764, x762,
+                                                            x667, x730);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x765, &x766, x764,
+                                                            x669, x732);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x767, &x768, x766,
+                                                            x671, x734);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x769, &x770, x735,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x771, &x772, x769,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x773, &x774, x769,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x775, &x776, 0x0,
+                                                            x735, x773);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x777, &x778, x776,
+                                                            x737, x774);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x779, &x780, x778,
+                                                            x739, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x781, &x782, x780,
+                                                            x741, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x783, &x784, x782,
+                                                            x743, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x785, &x786, x784,
+                                                            x745, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x787, &x788, x786,
+                                                            x747, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x789, &x790, x788,
+                                                            x749, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x791, &x792, x790,
+                                                            x751, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x793, &x794, x792,
+                                                            x753, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x795, &x796, x794,
+                                                            x755, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x797, &x798, x796,
+                                                            x757, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x799, &x800, x798,
+                                                            x759, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x801, &x802, x800,
+                                                            x761, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x803, &x804, x802,
+                                                            x763, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x805, &x806, x804,
+                                                            x765, x771);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x807, &x808, x806,
+                                                            x767, x772);
+    x809 = ((uint32_t)x808 + x768);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x810, &x811, x6,
+                                                       (arg1[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x812, &x813, x6,
+                                                       (arg1[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x814, &x815, x6,
+                                                       (arg1[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x816, &x817, x6,
+                                                       (arg1[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x818, &x819, x6,
+                                                       (arg1[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x820, &x821, x6,
+                                                       (arg1[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x822, &x823, x6,
+                                                       (arg1[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x824, &x825, x6,
+                                                       (arg1[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x826, &x827, x6,
+                                                       (arg1[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x828, &x829, x6,
+                                                       (arg1[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x830, &x831, x6,
+                                                       (arg1[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x832, &x833, x6,
+                                                       (arg1[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x834, &x835, x6,
+                                                       (arg1[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x836, &x837, x6,
+                                                       (arg1[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x838, &x839, x6,
+                                                       (arg1[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x840, &x841, x6,
+                                                       (arg1[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x842, &x843, 0x0,
+                                                            x841, x838);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x844, &x845, x843,
+                                                            x839, x836);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x846, &x847, x845,
+                                                            x837, x834);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x848, &x849, x847,
+                                                            x835, x832);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x850, &x851, x849,
+                                                            x833, x830);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x852, &x853, x851,
+                                                            x831, x828);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x854, &x855, x853,
+                                                            x829, x826);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x856, &x857, x855,
+                                                            x827, x824);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x858, &x859, x857,
+                                                            x825, x822);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x860, &x861, x859,
+                                                            x823, x820);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x862, &x863, x861,
+                                                            x821, x818);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x864, &x865, x863,
+                                                            x819, x816);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x866, &x867, x865,
+                                                            x817, x814);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x868, &x869, x867,
+                                                            x815, x812);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x870, &x871, x869,
+                                                            x813, x810);
+    x872 = (x871 + x811);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x873, &x874, 0x0,
+                                                            x777, x840);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x875, &x876, x874,
+                                                            x779, x842);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x877, &x878, x876,
+                                                            x781, x844);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x879, &x880, x878,
+                                                            x783, x846);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x881, &x882, x880,
+                                                            x785, x848);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x883, &x884, x882,
+                                                            x787, x850);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x885, &x886, x884,
+                                                            x789, x852);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x887, &x888, x886,
+                                                            x791, x854);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x889, &x890, x888,
+                                                            x793, x856);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x891, &x892, x890,
+                                                            x795, x858);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x893, &x894, x892,
+                                                            x797, x860);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x895, &x896, x894,
+                                                            x799, x862);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x897, &x898, x896,
+                                                            x801, x864);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x899, &x900, x898,
+                                                            x803, x866);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x901, &x902, x900,
+                                                            x805, x868);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x903, &x904, x902,
+                                                            x807, x870);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x905, &x906, x904,
+                                                            x809, x872);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x907, &x908, x873,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x909, &x910, x907,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x911, &x912, x907,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x913, &x914, 0x0,
+                                                            x873, x911);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x915, &x916, x914,
+                                                            x875, x912);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x917, &x918, x916,
+                                                            x877, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x919, &x920, x918,
+                                                            x879, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x921, &x922, x920,
+                                                            x881, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x923, &x924, x922,
+                                                            x883, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x925, &x926, x924,
+                                                            x885, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x927, &x928, x926,
+                                                            x887, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x929, &x930, x928,
+                                                            x889, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x931, &x932, x930,
+                                                            x891, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x933, &x934, x932,
+                                                            x893, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x935, &x936, x934,
+                                                            x895, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x937, &x938, x936,
+                                                            x897, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x939, &x940, x938,
+                                                            x899, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x941, &x942, x940,
+                                                            x901, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x943, &x944, x942,
+                                                            x903, x909);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x945, &x946, x944,
+                                                            x905, x910);
+    x947 = ((uint32_t)x946 + x906);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x948, &x949, x7,
+                                                       (arg1[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x950, &x951, x7,
+                                                       (arg1[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x952, &x953, x7,
+                                                       (arg1[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x954, &x955, x7,
+                                                       (arg1[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x956, &x957, x7,
+                                                       (arg1[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x958, &x959, x7,
+                                                       (arg1[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x960, &x961, x7,
+                                                       (arg1[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x962, &x963, x7,
+                                                       (arg1[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x964, &x965, x7,
+                                                       (arg1[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x966, &x967, x7,
+                                                       (arg1[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x968, &x969, x7,
+                                                       (arg1[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x970, &x971, x7,
+                                                       (arg1[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x972, &x973, x7,
+                                                       (arg1[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x974, &x975, x7,
+                                                       (arg1[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x976, &x977, x7,
+                                                       (arg1[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x978, &x979, x7,
+                                                       (arg1[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x980, &x981, 0x0,
+                                                            x979, x976);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x982, &x983, x981,
+                                                            x977, x974);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x984, &x985, x983,
+                                                            x975, x972);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x986, &x987, x985,
+                                                            x973, x970);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x988, &x989, x987,
+                                                            x971, x968);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x990, &x991, x989,
+                                                            x969, x966);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x992, &x993, x991,
+                                                            x967, x964);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x994, &x995, x993,
+                                                            x965, x962);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x996, &x997, x995,
+                                                            x963, x960);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x998, &x999, x997,
+                                                            x961, x958);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1000, &x1001,
+                                                            x999, x959, x956);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1002, &x1003,
+                                                            x1001, x957, x954);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1004, &x1005,
+                                                            x1003, x955, x952);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1006, &x1007,
+                                                            x1005, x953, x950);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1008, &x1009,
+                                                            x1007, x951, x948);
+    x1010 = (x1009 + x949);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1011, &x1012, 0x0,
+                                                            x915, x978);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1013, &x1014,
+                                                            x1012, x917, x980);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1015, &x1016,
+                                                            x1014, x919, x982);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1017, &x1018,
+                                                            x1016, x921, x984);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1019, &x1020,
+                                                            x1018, x923, x986);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1021, &x1022,
+                                                            x1020, x925, x988);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1023, &x1024,
+                                                            x1022, x927, x990);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1025, &x1026,
+                                                            x1024, x929, x992);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1027, &x1028,
+                                                            x1026, x931, x994);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1029, &x1030,
+                                                            x1028, x933, x996);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1031, &x1032,
+                                                            x1030, x935, x998);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1033, &x1034,
+                                                            x1032, x937, x1000);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1035, &x1036,
+                                                            x1034, x939, x1002);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1037, &x1038,
+                                                            x1036, x941, x1004);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1039, &x1040,
+                                                            x1038, x943, x1006);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1041, &x1042,
+                                                            x1040, x945, x1008);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1043, &x1044,
+                                                            x1042, x947, x1010);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1045, &x1046, x1011,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1047, &x1048, x1045,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1049, &x1050, x1045,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1051, &x1052, 0x0,
+                                                            x1011, x1049);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1053, &x1054, x1052, x1013, x1050);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1055, &x1056,
+                                                            x1054, x1015, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1057, &x1058,
+                                                            x1056, x1017, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1059, &x1060,
+                                                            x1058, x1019, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1061, &x1062,
+                                                            x1060, x1021, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1063, &x1064,
+                                                            x1062, x1023, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1065, &x1066,
+                                                            x1064, x1025, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1067, &x1068,
+                                                            x1066, x1027, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1069, &x1070,
+                                                            x1068, x1029, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1071, &x1072,
+                                                            x1070, x1031, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1073, &x1074,
+                                                            x1072, x1033, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1075, &x1076,
+                                                            x1074, x1035, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1077, &x1078,
+                                                            x1076, x1037, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1079, &x1080,
+                                                            x1078, x1039, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1081, &x1082, x1080, x1041, x1047);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1083, &x1084, x1082, x1043, x1048);
+    x1085 = ((uint32_t)x1084 + x1044);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1086, &x1087, x8,
+                                                       (arg1[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1088, &x1089, x8,
+                                                       (arg1[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1090, &x1091, x8,
+                                                       (arg1[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1092, &x1093, x8,
+                                                       (arg1[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1094, &x1095, x8,
+                                                       (arg1[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1096, &x1097, x8,
+                                                       (arg1[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1098, &x1099, x8,
+                                                       (arg1[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1100, &x1101, x8,
+                                                       (arg1[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1102, &x1103, x8,
+                                                       (arg1[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1104, &x1105, x8,
+                                                       (arg1[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1106, &x1107, x8,
+                                                       (arg1[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1108, &x1109, x8,
+                                                       (arg1[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1110, &x1111, x8,
+                                                       (arg1[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1112, &x1113, x8,
+                                                       (arg1[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1114, &x1115, x8,
+                                                       (arg1[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1116, &x1117, x8,
+                                                       (arg1[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1118, &x1119, 0x0,
+                                                            x1117, x1114);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1120, &x1121, x1119, x1115, x1112);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1122, &x1123, x1121, x1113, x1110);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1124, &x1125, x1123, x1111, x1108);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1126, &x1127, x1125, x1109, x1106);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1128, &x1129, x1127, x1107, x1104);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1130, &x1131, x1129, x1105, x1102);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1132, &x1133, x1131, x1103, x1100);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1134, &x1135, x1133, x1101, x1098);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1136, &x1137, x1135, x1099, x1096);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1138, &x1139, x1137, x1097, x1094);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1140, &x1141, x1139, x1095, x1092);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1142, &x1143, x1141, x1093, x1090);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1144, &x1145, x1143, x1091, x1088);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1146, &x1147, x1145, x1089, x1086);
+    x1148 = (x1147 + x1087);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1149, &x1150, 0x0,
+                                                            x1053, x1116);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1151, &x1152, x1150, x1055, x1118);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1153, &x1154, x1152, x1057, x1120);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1155, &x1156, x1154, x1059, x1122);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1157, &x1158, x1156, x1061, x1124);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1159, &x1160, x1158, x1063, x1126);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1161, &x1162, x1160, x1065, x1128);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1163, &x1164, x1162, x1067, x1130);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1165, &x1166, x1164, x1069, x1132);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1167, &x1168, x1166, x1071, x1134);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1169, &x1170, x1168, x1073, x1136);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1171, &x1172, x1170, x1075, x1138);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1173, &x1174, x1172, x1077, x1140);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1175, &x1176, x1174, x1079, x1142);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1177, &x1178, x1176, x1081, x1144);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1179, &x1180, x1178, x1083, x1146);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1181, &x1182, x1180, x1085, x1148);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1183, &x1184, x1149,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1185, &x1186, x1183,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1187, &x1188, x1183,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1189, &x1190, 0x0,
+                                                            x1149, x1187);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1191, &x1192, x1190, x1151, x1188);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1193, &x1194,
+                                                            x1192, x1153, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1195, &x1196,
+                                                            x1194, x1155, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1197, &x1198,
+                                                            x1196, x1157, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1199, &x1200,
+                                                            x1198, x1159, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1201, &x1202,
+                                                            x1200, x1161, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1203, &x1204,
+                                                            x1202, x1163, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1205, &x1206,
+                                                            x1204, x1165, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1207, &x1208,
+                                                            x1206, x1167, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1209, &x1210,
+                                                            x1208, x1169, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1211, &x1212,
+                                                            x1210, x1171, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1213, &x1214,
+                                                            x1212, x1173, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1215, &x1216,
+                                                            x1214, x1175, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1217, &x1218,
+                                                            x1216, x1177, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1219, &x1220, x1218, x1179, x1185);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1221, &x1222, x1220, x1181, x1186);
+    x1223 = ((uint32_t)x1222 + x1182);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1224, &x1225, x9,
+                                                       (arg1[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1226, &x1227, x9,
+                                                       (arg1[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1228, &x1229, x9,
+                                                       (arg1[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1230, &x1231, x9,
+                                                       (arg1[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1232, &x1233, x9,
+                                                       (arg1[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1234, &x1235, x9,
+                                                       (arg1[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1236, &x1237, x9,
+                                                       (arg1[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1238, &x1239, x9,
+                                                       (arg1[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1240, &x1241, x9,
+                                                       (arg1[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1242, &x1243, x9,
+                                                       (arg1[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1244, &x1245, x9,
+                                                       (arg1[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1246, &x1247, x9,
+                                                       (arg1[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1248, &x1249, x9,
+                                                       (arg1[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1250, &x1251, x9,
+                                                       (arg1[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1252, &x1253, x9,
+                                                       (arg1[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1254, &x1255, x9,
+                                                       (arg1[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1256, &x1257, 0x0,
+                                                            x1255, x1252);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1258, &x1259, x1257, x1253, x1250);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1260, &x1261, x1259, x1251, x1248);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1262, &x1263, x1261, x1249, x1246);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1264, &x1265, x1263, x1247, x1244);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1266, &x1267, x1265, x1245, x1242);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1268, &x1269, x1267, x1243, x1240);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1270, &x1271, x1269, x1241, x1238);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1272, &x1273, x1271, x1239, x1236);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1274, &x1275, x1273, x1237, x1234);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1276, &x1277, x1275, x1235, x1232);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1278, &x1279, x1277, x1233, x1230);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1280, &x1281, x1279, x1231, x1228);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1282, &x1283, x1281, x1229, x1226);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1284, &x1285, x1283, x1227, x1224);
+    x1286 = (x1285 + x1225);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1287, &x1288, 0x0,
+                                                            x1191, x1254);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1289, &x1290, x1288, x1193, x1256);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1291, &x1292, x1290, x1195, x1258);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1293, &x1294, x1292, x1197, x1260);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1295, &x1296, x1294, x1199, x1262);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1297, &x1298, x1296, x1201, x1264);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1299, &x1300, x1298, x1203, x1266);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1301, &x1302, x1300, x1205, x1268);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1303, &x1304, x1302, x1207, x1270);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1305, &x1306, x1304, x1209, x1272);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1307, &x1308, x1306, x1211, x1274);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1309, &x1310, x1308, x1213, x1276);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1311, &x1312, x1310, x1215, x1278);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1313, &x1314, x1312, x1217, x1280);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1315, &x1316, x1314, x1219, x1282);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1317, &x1318, x1316, x1221, x1284);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1319, &x1320, x1318, x1223, x1286);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1321, &x1322, x1287,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1323, &x1324, x1321,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1325, &x1326, x1321,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1327, &x1328, 0x0,
+                                                            x1287, x1325);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1329, &x1330, x1328, x1289, x1326);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1331, &x1332,
+                                                            x1330, x1291, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1333, &x1334,
+                                                            x1332, x1293, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1335, &x1336,
+                                                            x1334, x1295, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1337, &x1338,
+                                                            x1336, x1297, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1339, &x1340,
+                                                            x1338, x1299, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1341, &x1342,
+                                                            x1340, x1301, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1343, &x1344,
+                                                            x1342, x1303, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1345, &x1346,
+                                                            x1344, x1305, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1347, &x1348,
+                                                            x1346, x1307, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1349, &x1350,
+                                                            x1348, x1309, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1351, &x1352,
+                                                            x1350, x1311, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1353, &x1354,
+                                                            x1352, x1313, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1355, &x1356,
+                                                            x1354, x1315, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1357, &x1358, x1356, x1317, x1323);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1359, &x1360, x1358, x1319, x1324);
+    x1361 = ((uint32_t)x1360 + x1320);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1362, &x1363, x10,
+                                                       (arg1[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1364, &x1365, x10,
+                                                       (arg1[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1366, &x1367, x10,
+                                                       (arg1[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1368, &x1369, x10,
+                                                       (arg1[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1370, &x1371, x10,
+                                                       (arg1[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1372, &x1373, x10,
+                                                       (arg1[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1374, &x1375, x10,
+                                                       (arg1[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1376, &x1377, x10,
+                                                       (arg1[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1378, &x1379, x10,
+                                                       (arg1[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1380, &x1381, x10,
+                                                       (arg1[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1382, &x1383, x10,
+                                                       (arg1[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1384, &x1385, x10,
+                                                       (arg1[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1386, &x1387, x10,
+                                                       (arg1[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1388, &x1389, x10,
+                                                       (arg1[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1390, &x1391, x10,
+                                                       (arg1[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1392, &x1393, x10,
+                                                       (arg1[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1394, &x1395, 0x0,
+                                                            x1393, x1390);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1396, &x1397, x1395, x1391, x1388);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1398, &x1399, x1397, x1389, x1386);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1400, &x1401, x1399, x1387, x1384);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1402, &x1403, x1401, x1385, x1382);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1404, &x1405, x1403, x1383, x1380);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1406, &x1407, x1405, x1381, x1378);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1408, &x1409, x1407, x1379, x1376);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1410, &x1411, x1409, x1377, x1374);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1412, &x1413, x1411, x1375, x1372);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1414, &x1415, x1413, x1373, x1370);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1416, &x1417, x1415, x1371, x1368);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1418, &x1419, x1417, x1369, x1366);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1420, &x1421, x1419, x1367, x1364);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1422, &x1423, x1421, x1365, x1362);
+    x1424 = (x1423 + x1363);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1425, &x1426, 0x0,
+                                                            x1329, x1392);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1427, &x1428, x1426, x1331, x1394);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1429, &x1430, x1428, x1333, x1396);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1431, &x1432, x1430, x1335, x1398);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1433, &x1434, x1432, x1337, x1400);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1435, &x1436, x1434, x1339, x1402);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1437, &x1438, x1436, x1341, x1404);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1439, &x1440, x1438, x1343, x1406);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1441, &x1442, x1440, x1345, x1408);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1443, &x1444, x1442, x1347, x1410);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1445, &x1446, x1444, x1349, x1412);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1447, &x1448, x1446, x1351, x1414);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1449, &x1450, x1448, x1353, x1416);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1451, &x1452, x1450, x1355, x1418);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1453, &x1454, x1452, x1357, x1420);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1455, &x1456, x1454, x1359, x1422);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1457, &x1458, x1456, x1361, x1424);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1459, &x1460, x1425,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1461, &x1462, x1459,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1463, &x1464, x1459,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1465, &x1466, 0x0,
+                                                            x1425, x1463);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1467, &x1468, x1466, x1427, x1464);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1469, &x1470,
+                                                            x1468, x1429, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1471, &x1472,
+                                                            x1470, x1431, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1473, &x1474,
+                                                            x1472, x1433, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1475, &x1476,
+                                                            x1474, x1435, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1477, &x1478,
+                                                            x1476, x1437, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1479, &x1480,
+                                                            x1478, x1439, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1481, &x1482,
+                                                            x1480, x1441, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1483, &x1484,
+                                                            x1482, x1443, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1485, &x1486,
+                                                            x1484, x1445, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1487, &x1488,
+                                                            x1486, x1447, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1489, &x1490,
+                                                            x1488, x1449, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1491, &x1492,
+                                                            x1490, x1451, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1493, &x1494,
+                                                            x1492, x1453, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1495, &x1496, x1494, x1455, x1461);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1497, &x1498, x1496, x1457, x1462);
+    x1499 = ((uint32_t)x1498 + x1458);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1500, &x1501, x11,
+                                                       (arg1[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1502, &x1503, x11,
+                                                       (arg1[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1504, &x1505, x11,
+                                                       (arg1[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1506, &x1507, x11,
+                                                       (arg1[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1508, &x1509, x11,
+                                                       (arg1[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1510, &x1511, x11,
+                                                       (arg1[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1512, &x1513, x11,
+                                                       (arg1[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1514, &x1515, x11,
+                                                       (arg1[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1516, &x1517, x11,
+                                                       (arg1[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1518, &x1519, x11,
+                                                       (arg1[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1520, &x1521, x11,
+                                                       (arg1[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1522, &x1523, x11,
+                                                       (arg1[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1524, &x1525, x11,
+                                                       (arg1[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1526, &x1527, x11,
+                                                       (arg1[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1528, &x1529, x11,
+                                                       (arg1[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1530, &x1531, x11,
+                                                       (arg1[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1532, &x1533, 0x0,
+                                                            x1531, x1528);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1534, &x1535, x1533, x1529, x1526);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1536, &x1537, x1535, x1527, x1524);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1538, &x1539, x1537, x1525, x1522);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1540, &x1541, x1539, x1523, x1520);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1542, &x1543, x1541, x1521, x1518);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1544, &x1545, x1543, x1519, x1516);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1546, &x1547, x1545, x1517, x1514);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1548, &x1549, x1547, x1515, x1512);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1550, &x1551, x1549, x1513, x1510);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1552, &x1553, x1551, x1511, x1508);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1554, &x1555, x1553, x1509, x1506);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1556, &x1557, x1555, x1507, x1504);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1558, &x1559, x1557, x1505, x1502);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1560, &x1561, x1559, x1503, x1500);
+    x1562 = (x1561 + x1501);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1563, &x1564, 0x0,
+                                                            x1467, x1530);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1565, &x1566, x1564, x1469, x1532);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1567, &x1568, x1566, x1471, x1534);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1569, &x1570, x1568, x1473, x1536);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1571, &x1572, x1570, x1475, x1538);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1573, &x1574, x1572, x1477, x1540);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1575, &x1576, x1574, x1479, x1542);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1577, &x1578, x1576, x1481, x1544);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1579, &x1580, x1578, x1483, x1546);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1581, &x1582, x1580, x1485, x1548);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1583, &x1584, x1582, x1487, x1550);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1585, &x1586, x1584, x1489, x1552);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1587, &x1588, x1586, x1491, x1554);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1589, &x1590, x1588, x1493, x1556);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1591, &x1592, x1590, x1495, x1558);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1593, &x1594, x1592, x1497, x1560);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1595, &x1596, x1594, x1499, x1562);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1597, &x1598, x1563,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1599, &x1600, x1597,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1601, &x1602, x1597,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1603, &x1604, 0x0,
+                                                            x1563, x1601);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1605, &x1606, x1604, x1565, x1602);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1607, &x1608,
+                                                            x1606, x1567, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1609, &x1610,
+                                                            x1608, x1569, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1611, &x1612,
+                                                            x1610, x1571, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1613, &x1614,
+                                                            x1612, x1573, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1615, &x1616,
+                                                            x1614, x1575, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1617, &x1618,
+                                                            x1616, x1577, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1619, &x1620,
+                                                            x1618, x1579, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1621, &x1622,
+                                                            x1620, x1581, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1623, &x1624,
+                                                            x1622, x1583, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1625, &x1626,
+                                                            x1624, x1585, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1627, &x1628,
+                                                            x1626, x1587, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1629, &x1630,
+                                                            x1628, x1589, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1631, &x1632,
+                                                            x1630, x1591, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1633, &x1634, x1632, x1593, x1599);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1635, &x1636, x1634, x1595, x1600);
+    x1637 = ((uint32_t)x1636 + x1596);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1638, &x1639, x12,
+                                                       (arg1[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1640, &x1641, x12,
+                                                       (arg1[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1642, &x1643, x12,
+                                                       (arg1[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1644, &x1645, x12,
+                                                       (arg1[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1646, &x1647, x12,
+                                                       (arg1[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1648, &x1649, x12,
+                                                       (arg1[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1650, &x1651, x12,
+                                                       (arg1[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1652, &x1653, x12,
+                                                       (arg1[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1654, &x1655, x12,
+                                                       (arg1[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1656, &x1657, x12,
+                                                       (arg1[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1658, &x1659, x12,
+                                                       (arg1[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1660, &x1661, x12,
+                                                       (arg1[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1662, &x1663, x12,
+                                                       (arg1[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1664, &x1665, x12,
+                                                       (arg1[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1666, &x1667, x12,
+                                                       (arg1[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1668, &x1669, x12,
+                                                       (arg1[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1670, &x1671, 0x0,
+                                                            x1669, x1666);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1672, &x1673, x1671, x1667, x1664);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1674, &x1675, x1673, x1665, x1662);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1676, &x1677, x1675, x1663, x1660);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1678, &x1679, x1677, x1661, x1658);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1680, &x1681, x1679, x1659, x1656);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1682, &x1683, x1681, x1657, x1654);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1684, &x1685, x1683, x1655, x1652);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1686, &x1687, x1685, x1653, x1650);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1688, &x1689, x1687, x1651, x1648);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1690, &x1691, x1689, x1649, x1646);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1692, &x1693, x1691, x1647, x1644);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1694, &x1695, x1693, x1645, x1642);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1696, &x1697, x1695, x1643, x1640);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1698, &x1699, x1697, x1641, x1638);
+    x1700 = (x1699 + x1639);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1701, &x1702, 0x0,
+                                                            x1605, x1668);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1703, &x1704, x1702, x1607, x1670);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1705, &x1706, x1704, x1609, x1672);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1707, &x1708, x1706, x1611, x1674);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1709, &x1710, x1708, x1613, x1676);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1711, &x1712, x1710, x1615, x1678);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1713, &x1714, x1712, x1617, x1680);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1715, &x1716, x1714, x1619, x1682);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1717, &x1718, x1716, x1621, x1684);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1719, &x1720, x1718, x1623, x1686);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1721, &x1722, x1720, x1625, x1688);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1723, &x1724, x1722, x1627, x1690);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1725, &x1726, x1724, x1629, x1692);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1727, &x1728, x1726, x1631, x1694);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1729, &x1730, x1728, x1633, x1696);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1731, &x1732, x1730, x1635, x1698);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1733, &x1734, x1732, x1637, x1700);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1735, &x1736, x1701,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1737, &x1738, x1735,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1739, &x1740, x1735,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1741, &x1742, 0x0,
+                                                            x1701, x1739);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1743, &x1744, x1742, x1703, x1740);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1745, &x1746,
+                                                            x1744, x1705, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1747, &x1748,
+                                                            x1746, x1707, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1749, &x1750,
+                                                            x1748, x1709, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1751, &x1752,
+                                                            x1750, x1711, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1753, &x1754,
+                                                            x1752, x1713, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1755, &x1756,
+                                                            x1754, x1715, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1757, &x1758,
+                                                            x1756, x1717, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1759, &x1760,
+                                                            x1758, x1719, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1761, &x1762,
+                                                            x1760, x1721, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1763, &x1764,
+                                                            x1762, x1723, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1765, &x1766,
+                                                            x1764, x1725, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1767, &x1768,
+                                                            x1766, x1727, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1769, &x1770,
+                                                            x1768, x1729, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1771, &x1772, x1770, x1731, x1737);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1773, &x1774, x1772, x1733, x1738);
+    x1775 = ((uint32_t)x1774 + x1734);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1776, &x1777, x13,
+                                                       (arg1[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1778, &x1779, x13,
+                                                       (arg1[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1780, &x1781, x13,
+                                                       (arg1[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1782, &x1783, x13,
+                                                       (arg1[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1784, &x1785, x13,
+                                                       (arg1[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1786, &x1787, x13,
+                                                       (arg1[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1788, &x1789, x13,
+                                                       (arg1[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1790, &x1791, x13,
+                                                       (arg1[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1792, &x1793, x13,
+                                                       (arg1[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1794, &x1795, x13,
+                                                       (arg1[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1796, &x1797, x13,
+                                                       (arg1[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1798, &x1799, x13,
+                                                       (arg1[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1800, &x1801, x13,
+                                                       (arg1[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1802, &x1803, x13,
+                                                       (arg1[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1804, &x1805, x13,
+                                                       (arg1[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1806, &x1807, x13,
+                                                       (arg1[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1808, &x1809, 0x0,
+                                                            x1807, x1804);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1810, &x1811, x1809, x1805, x1802);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1812, &x1813, x1811, x1803, x1800);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1814, &x1815, x1813, x1801, x1798);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1816, &x1817, x1815, x1799, x1796);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1818, &x1819, x1817, x1797, x1794);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1820, &x1821, x1819, x1795, x1792);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1822, &x1823, x1821, x1793, x1790);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1824, &x1825, x1823, x1791, x1788);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1826, &x1827, x1825, x1789, x1786);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1828, &x1829, x1827, x1787, x1784);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1830, &x1831, x1829, x1785, x1782);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1832, &x1833, x1831, x1783, x1780);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1834, &x1835, x1833, x1781, x1778);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1836, &x1837, x1835, x1779, x1776);
+    x1838 = (x1837 + x1777);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1839, &x1840, 0x0,
+                                                            x1743, x1806);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1841, &x1842, x1840, x1745, x1808);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1843, &x1844, x1842, x1747, x1810);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1845, &x1846, x1844, x1749, x1812);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1847, &x1848, x1846, x1751, x1814);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1849, &x1850, x1848, x1753, x1816);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1851, &x1852, x1850, x1755, x1818);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1853, &x1854, x1852, x1757, x1820);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1855, &x1856, x1854, x1759, x1822);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1857, &x1858, x1856, x1761, x1824);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1859, &x1860, x1858, x1763, x1826);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1861, &x1862, x1860, x1765, x1828);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1863, &x1864, x1862, x1767, x1830);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1865, &x1866, x1864, x1769, x1832);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1867, &x1868, x1866, x1771, x1834);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1869, &x1870, x1868, x1773, x1836);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1871, &x1872, x1870, x1775, x1838);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1873, &x1874, x1839,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1875, &x1876, x1873,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1877, &x1878, x1873,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1879, &x1880, 0x0,
+                                                            x1839, x1877);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1881, &x1882, x1880, x1841, x1878);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1883, &x1884,
+                                                            x1882, x1843, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1885, &x1886,
+                                                            x1884, x1845, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1887, &x1888,
+                                                            x1886, x1847, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1889, &x1890,
+                                                            x1888, x1849, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1891, &x1892,
+                                                            x1890, x1851, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1893, &x1894,
+                                                            x1892, x1853, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1895, &x1896,
+                                                            x1894, x1855, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1897, &x1898,
+                                                            x1896, x1857, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1899, &x1900,
+                                                            x1898, x1859, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1901, &x1902,
+                                                            x1900, x1861, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1903, &x1904,
+                                                            x1902, x1863, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1905, &x1906,
+                                                            x1904, x1865, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1907, &x1908,
+                                                            x1906, x1867, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1909, &x1910, x1908, x1869, x1875);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1911, &x1912, x1910, x1871, x1876);
+    x1913 = ((uint32_t)x1912 + x1872);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1914, &x1915, x14,
+                                                       (arg1[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1916, &x1917, x14,
+                                                       (arg1[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1918, &x1919, x14,
+                                                       (arg1[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1920, &x1921, x14,
+                                                       (arg1[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1922, &x1923, x14,
+                                                       (arg1[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1924, &x1925, x14,
+                                                       (arg1[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1926, &x1927, x14,
+                                                       (arg1[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1928, &x1929, x14,
+                                                       (arg1[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1930, &x1931, x14,
+                                                       (arg1[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1932, &x1933, x14,
+                                                       (arg1[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1934, &x1935, x14,
+                                                       (arg1[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1936, &x1937, x14,
+                                                       (arg1[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1938, &x1939, x14,
+                                                       (arg1[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1940, &x1941, x14,
+                                                       (arg1[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1942, &x1943, x14,
+                                                       (arg1[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1944, &x1945, x14,
+                                                       (arg1[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1946, &x1947, 0x0,
+                                                            x1945, x1942);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1948, &x1949, x1947, x1943, x1940);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1950, &x1951, x1949, x1941, x1938);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1952, &x1953, x1951, x1939, x1936);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1954, &x1955, x1953, x1937, x1934);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1956, &x1957, x1955, x1935, x1932);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1958, &x1959, x1957, x1933, x1930);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1960, &x1961, x1959, x1931, x1928);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1962, &x1963, x1961, x1929, x1926);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1964, &x1965, x1963, x1927, x1924);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1966, &x1967, x1965, x1925, x1922);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1968, &x1969, x1967, x1923, x1920);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1970, &x1971, x1969, x1921, x1918);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1972, &x1973, x1971, x1919, x1916);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1974, &x1975, x1973, x1917, x1914);
+    x1976 = (x1975 + x1915);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x1977, &x1978, 0x0,
+                                                            x1881, x1944);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1979, &x1980, x1978, x1883, x1946);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1981, &x1982, x1980, x1885, x1948);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1983, &x1984, x1982, x1887, x1950);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1985, &x1986, x1984, x1889, x1952);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1987, &x1988, x1986, x1891, x1954);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1989, &x1990, x1988, x1893, x1956);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1991, &x1992, x1990, x1895, x1958);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1993, &x1994, x1992, x1897, x1960);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1995, &x1996, x1994, x1899, x1962);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1997, &x1998, x1996, x1901, x1964);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1999, &x2000, x1998, x1903, x1966);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2001, &x2002, x2000, x1905, x1968);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2003, &x2004, x2002, x1907, x1970);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2005, &x2006, x2004, x1909, x1972);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2007, &x2008, x2006, x1911, x1974);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2009, &x2010, x2008, x1913, x1976);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2011, &x2012, x1977,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2013, &x2014, x2011,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2015, &x2016, x2011,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2017, &x2018, 0x0,
+                                                            x1977, x2015);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2019, &x2020, x2018, x1979, x2016);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2021, &x2022,
+                                                            x2020, x1981, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2023, &x2024,
+                                                            x2022, x1983, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2025, &x2026,
+                                                            x2024, x1985, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2027, &x2028,
+                                                            x2026, x1987, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2029, &x2030,
+                                                            x2028, x1989, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2031, &x2032,
+                                                            x2030, x1991, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2033, &x2034,
+                                                            x2032, x1993, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2035, &x2036,
+                                                            x2034, x1995, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2037, &x2038,
+                                                            x2036, x1997, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2039, &x2040,
+                                                            x2038, x1999, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2041, &x2042,
+                                                            x2040, x2001, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2043, &x2044,
+                                                            x2042, x2003, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2045, &x2046,
+                                                            x2044, x2005, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2047, &x2048, x2046, x2007, x2013);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2049, &x2050, x2048, x2009, x2014);
+    x2051 = ((uint32_t)x2050 + x2010);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2052, &x2053, x15,
+                                                       (arg1[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2054, &x2055, x15,
+                                                       (arg1[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2056, &x2057, x15,
+                                                       (arg1[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2058, &x2059, x15,
+                                                       (arg1[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2060, &x2061, x15,
+                                                       (arg1[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2062, &x2063, x15,
+                                                       (arg1[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2064, &x2065, x15,
+                                                       (arg1[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2066, &x2067, x15,
+                                                       (arg1[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2068, &x2069, x15,
+                                                       (arg1[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2070, &x2071, x15,
+                                                       (arg1[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2072, &x2073, x15,
+                                                       (arg1[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2074, &x2075, x15,
+                                                       (arg1[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2076, &x2077, x15,
+                                                       (arg1[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2078, &x2079, x15,
+                                                       (arg1[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2080, &x2081, x15,
+                                                       (arg1[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2082, &x2083, x15,
+                                                       (arg1[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2084, &x2085, 0x0,
+                                                            x2083, x2080);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2086, &x2087, x2085, x2081, x2078);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2088, &x2089, x2087, x2079, x2076);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2090, &x2091, x2089, x2077, x2074);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2092, &x2093, x2091, x2075, x2072);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2094, &x2095, x2093, x2073, x2070);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2096, &x2097, x2095, x2071, x2068);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2098, &x2099, x2097, x2069, x2066);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2100, &x2101, x2099, x2067, x2064);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2102, &x2103, x2101, x2065, x2062);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2104, &x2105, x2103, x2063, x2060);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2106, &x2107, x2105, x2061, x2058);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2108, &x2109, x2107, x2059, x2056);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2110, &x2111, x2109, x2057, x2054);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2112, &x2113, x2111, x2055, x2052);
+    x2114 = (x2113 + x2053);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2115, &x2116, 0x0,
+                                                            x2019, x2082);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2117, &x2118, x2116, x2021, x2084);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2119, &x2120, x2118, x2023, x2086);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2121, &x2122, x2120, x2025, x2088);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2123, &x2124, x2122, x2027, x2090);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2125, &x2126, x2124, x2029, x2092);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2127, &x2128, x2126, x2031, x2094);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2129, &x2130, x2128, x2033, x2096);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2131, &x2132, x2130, x2035, x2098);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2133, &x2134, x2132, x2037, x2100);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2135, &x2136, x2134, x2039, x2102);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2137, &x2138, x2136, x2041, x2104);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2139, &x2140, x2138, x2043, x2106);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2141, &x2142, x2140, x2045, x2108);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2143, &x2144, x2142, x2047, x2110);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2145, &x2146, x2144, x2049, x2112);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2147, &x2148, x2146, x2051, x2114);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2149, &x2150, x2115,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2151, &x2152, x2149,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2153, &x2154, x2149,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2155, &x2156, 0x0,
+                                                            x2115, x2153);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2157, &x2158, x2156, x2117, x2154);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2159, &x2160,
+                                                            x2158, x2119, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2161, &x2162,
+                                                            x2160, x2121, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2163, &x2164,
+                                                            x2162, x2123, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2165, &x2166,
+                                                            x2164, x2125, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2167, &x2168,
+                                                            x2166, x2127, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2169, &x2170,
+                                                            x2168, x2129, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2171, &x2172,
+                                                            x2170, x2131, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2173, &x2174,
+                                                            x2172, x2133, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2175, &x2176,
+                                                            x2174, x2135, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2177, &x2178,
+                                                            x2176, x2137, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2179, &x2180,
+                                                            x2178, x2139, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2181, &x2182,
+                                                            x2180, x2141, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x2183, &x2184,
+                                                            x2182, x2143, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2185, &x2186, x2184, x2145, x2151);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x2187, &x2188, x2186, x2147, x2152);
+    x2189 = ((uint32_t)x2188 + x2148);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(
+        &x2190, &x2191, 0x0, x2157, UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x2192, &x2193,
+                                                             x2191, x2159, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x2194, &x2195,
+                                                             x2193, x2161, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x2196, &x2197,
+                                                             x2195, x2163, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x2198, &x2199,
+                                                             x2197, x2165, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x2200, &x2201,
+                                                             x2199, x2167, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x2202, &x2203,
+                                                             x2201, x2169, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x2204, &x2205,
+                                                             x2203, x2171, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x2206, &x2207,
+                                                             x2205, x2173, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x2208, &x2209,
+                                                             x2207, x2175, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x2210, &x2211,
+                                                             x2209, x2177, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x2212, &x2213,
+                                                             x2211, x2179, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x2214, &x2215,
+                                                             x2213, x2181, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x2216, &x2217,
+                                                             x2215, x2183, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x2218, &x2219,
+                                                             x2217, x2185, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(
+        &x2220, &x2221, x2219, x2187, UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x2222, &x2223,
+                                                             x2221, x2189, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x2224, x2223, x2190,
+                                                          x2157);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x2225, x2223, x2192,
+                                                          x2159);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x2226, x2223, x2194,
+                                                          x2161);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x2227, x2223, x2196,
+                                                          x2163);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x2228, x2223, x2198,
+                                                          x2165);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x2229, x2223, x2200,
+                                                          x2167);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x2230, x2223, x2202,
+                                                          x2169);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x2231, x2223, x2204,
+                                                          x2171);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x2232, x2223, x2206,
+                                                          x2173);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x2233, x2223, x2208,
+                                                          x2175);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x2234, x2223, x2210,
+                                                          x2177);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x2235, x2223, x2212,
+                                                          x2179);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x2236, x2223, x2214,
+                                                          x2181);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x2237, x2223, x2216,
+                                                          x2183);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x2238, x2223, x2218,
+                                                          x2185);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x2239, x2223, x2220,
+                                                          x2187);
+    out1[0] = x2224;
+    out1[1] = x2225;
+    out1[2] = x2226;
+    out1[3] = x2227;
+    out1[4] = x2228;
+    out1[5] = x2229;
+    out1[6] = x2230;
+    out1[7] = x2231;
+    out1[8] = x2232;
+    out1[9] = x2233;
+    out1[10] = x2234;
+    out1[11] = x2235;
+    out1[12] = x2236;
+    out1[13] = x2237;
+    out1[14] = x2238;
+    out1[15] = x2239;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetB_add adds two field elements in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ *   0 ≤ eval arg2 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) + eval (from_montgomery arg2)) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[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]]
+ *   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]]
+ * 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]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetB_add(
+    uint32_t out1[16], const uint32_t arg1[16], const uint32_t arg2[16]) {
+    uint32_t x1;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2;
+    uint32_t x3;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x4;
+    uint32_t x5;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x6;
+    uint32_t x7;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x8;
+    uint32_t x9;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x10;
+    uint32_t x11;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x12;
+    uint32_t x13;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x14;
+    uint32_t x15;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x16;
+    uint32_t x17;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x18;
+    uint32_t x19;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x20;
+    uint32_t x21;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x22;
+    uint32_t x23;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x24;
+    uint32_t x25;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x26;
+    uint32_t x27;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x28;
+    uint32_t x29;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x30;
+    uint32_t x31;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x32;
+    uint32_t x33;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x34;
+    uint32_t x35;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x36;
+    uint32_t x37;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x38;
+    uint32_t x39;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x40;
+    uint32_t x41;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x42;
+    uint32_t x43;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x44;
+    uint32_t x45;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x46;
+    uint32_t x47;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x48;
+    uint32_t x49;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x50;
+    uint32_t x51;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x52;
+    uint32_t x53;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x54;
+    uint32_t x55;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x56;
+    uint32_t x57;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x58;
+    uint32_t x59;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x60;
+    uint32_t x61;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x62;
+    uint32_t x63;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x64;
+    uint32_t x65;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_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;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x1, &x2, 0x0, (arg1[0]), (arg2[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x3, &x4, x2, (arg1[1]), (arg2[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x5, &x6, x4, (arg1[2]), (arg2[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x7, &x8, x6, (arg1[3]), (arg2[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x9, &x10, x8, (arg1[4]), (arg2[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x11, &x12, x10, (arg1[5]), (arg2[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x13, &x14, x12, (arg1[6]), (arg2[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x15, &x16, x14, (arg1[7]), (arg2[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x17, &x18, x16, (arg1[8]), (arg2[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x19, &x20, x18, (arg1[9]), (arg2[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x21, &x22, x20, (arg1[10]), (arg2[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x23, &x24, x22, (arg1[11]), (arg2[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x25, &x26, x24, (arg1[12]), (arg2[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x27, &x28, x26, (arg1[13]), (arg2[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x29, &x30, x28, (arg1[14]), (arg2[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x31, &x32, x30, (arg1[15]), (arg2[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x33, &x34, 0x0,
+                                                             x1, UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x35, &x36, x34,
+                                                             x3, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x37, &x38, x36,
+                                                             x5, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x39, &x40, x38,
+                                                             x7, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x41, &x42, x40,
+                                                             x9, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x43, &x44, x42,
+                                                             x11, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x45, &x46, x44,
+                                                             x13, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x47, &x48, x46,
+                                                             x15, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x49, &x50, x48,
+                                                             x17, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x51, &x52, x50,
+                                                             x19, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x53, &x54, x52,
+                                                             x21, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x55, &x56, x54,
+                                                             x23, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x57, &x58, x56,
+                                                             x25, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x59, &x60, x58,
+                                                             x27, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x61, &x62, x60,
+                                                             x29, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(
+        &x63, &x64, x62, x31, UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x65, &x66, x64,
+                                                             x32, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x67, x66, x33, x1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x68, x66, x35, x3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x69, x66, x37, x5);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x70, x66, x39, x7);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x71, x66, x41, x9);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x72, x66, x43, x11);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x73, x66, x45, x13);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x74, x66, x47, x15);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x75, x66, x49, x17);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x76, x66, x51, x19);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x77, x66, x53, x21);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x78, x66, x55, x23);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x79, x66, x57, x25);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x80, x66, x59, x27);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x81, x66, x61, x29);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x82, x66, x63, x31);
+    out1[0] = x67;
+    out1[1] = x68;
+    out1[2] = x69;
+    out1[3] = x70;
+    out1[4] = x71;
+    out1[5] = x72;
+    out1[6] = x73;
+    out1[7] = x74;
+    out1[8] = x75;
+    out1[9] = x76;
+    out1[10] = x77;
+    out1[11] = x78;
+    out1[12] = x79;
+    out1[13] = x80;
+    out1[14] = x81;
+    out1[15] = x82;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetB_sub subtracts two field elements in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ *   0 ≤ eval arg2 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) - eval (from_montgomery arg2)) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[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]]
+ *   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]]
+ * 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]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(
+    uint32_t out1[16], const uint32_t arg1[16], const uint32_t arg2[16]) {
+    uint32_t x1;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2;
+    uint32_t x3;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x4;
+    uint32_t x5;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x6;
+    uint32_t x7;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x8;
+    uint32_t x9;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x10;
+    uint32_t x11;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x12;
+    uint32_t x13;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x14;
+    uint32_t x15;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x16;
+    uint32_t x17;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x18;
+    uint32_t x19;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x20;
+    uint32_t x21;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x22;
+    uint32_t x23;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x24;
+    uint32_t x25;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x26;
+    uint32_t x27;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x28;
+    uint32_t x29;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x30;
+    uint32_t x31;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x32;
+    uint32_t x33;
+    uint32_t x34;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x35;
+    uint32_t x36;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x37;
+    uint32_t x38;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x39;
+    uint32_t x40;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x41;
+    uint32_t x42;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x43;
+    uint32_t x44;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x45;
+    uint32_t x46;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x47;
+    uint32_t x48;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x49;
+    uint32_t x50;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x51;
+    uint32_t x52;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x53;
+    uint32_t x54;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x55;
+    uint32_t x56;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x57;
+    uint32_t x58;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x59;
+    uint32_t x60;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x61;
+    uint32_t x62;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x63;
+    uint32_t x64;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x65;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(
+        &x1, &x2, 0x0, (arg1[0]), (arg2[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(
+        &x3, &x4, x2, (arg1[1]), (arg2[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(
+        &x5, &x6, x4, (arg1[2]), (arg2[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(
+        &x7, &x8, x6, (arg1[3]), (arg2[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(
+        &x9, &x10, x8, (arg1[4]), (arg2[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(
+        &x11, &x12, x10, (arg1[5]), (arg2[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(
+        &x13, &x14, x12, (arg1[6]), (arg2[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(
+        &x15, &x16, x14, (arg1[7]), (arg2[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(
+        &x17, &x18, x16, (arg1[8]), (arg2[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(
+        &x19, &x20, x18, (arg1[9]), (arg2[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(
+        &x21, &x22, x20, (arg1[10]), (arg2[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(
+        &x23, &x24, x22, (arg1[11]), (arg2[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(
+        &x25, &x26, x24, (arg1[12]), (arg2[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(
+        &x27, &x28, x26, (arg1[13]), (arg2[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(
+        &x29, &x30, x28, (arg1[14]), (arg2[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(
+        &x31, &x32, x30, (arg1[15]), (arg2[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x33, x32, 0x0,
+                                                          UINT32_C(0xffffffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x34, &x35, 0x0, x1, (x33 & UINT8_C(0x6f)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x36, &x37, x35, x3,
+                                                            0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x38, &x39, x37, x5,
+                                                            0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x40, &x41, x39, x7,
+                                                            0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x42, &x43, x41, x9,
+                                                            0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x44, &x45, x43,
+                                                            x11, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x46, &x47, x45,
+                                                            x13, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x48, &x49, x47,
+                                                            x15, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x50, &x51, x49,
+                                                            x17, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x52, &x53, x51,
+                                                            x19, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x54, &x55, x53,
+                                                            x21, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x56, &x57, x55,
+                                                            x23, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x58, &x59, x57,
+                                                            x25, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x60, &x61, x59,
+                                                            x27, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x62, &x63, x61,
+                                                            x29, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x64, &x65, x63, x31, (x33 & UINT32_C(0x80000000)));
+    out1[0] = x34;
+    out1[1] = x36;
+    out1[2] = x38;
+    out1[3] = x40;
+    out1[4] = x42;
+    out1[5] = x44;
+    out1[6] = x46;
+    out1[7] = x48;
+    out1[8] = x50;
+    out1[9] = x52;
+    out1[10] = x54;
+    out1[11] = x56;
+    out1[12] = x58;
+    out1[13] = x60;
+    out1[14] = x62;
+    out1[15] = x64;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetB_opp negates a field element in the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = -eval (from_montgomery arg1) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[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]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetB_opp(
+    uint32_t out1[16], const uint32_t arg1[16]) {
+    uint32_t x1;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x2;
+    uint32_t x3;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x4;
+    uint32_t x5;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x6;
+    uint32_t x7;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x8;
+    uint32_t x9;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x10;
+    uint32_t x11;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x12;
+    uint32_t x13;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x14;
+    uint32_t x15;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x16;
+    uint32_t x17;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x18;
+    uint32_t x19;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x20;
+    uint32_t x21;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x22;
+    uint32_t x23;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x24;
+    uint32_t x25;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x26;
+    uint32_t x27;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x28;
+    uint32_t x29;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x30;
+    uint32_t x31;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x32;
+    uint32_t x33;
+    uint32_t x34;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x35;
+    uint32_t x36;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x37;
+    uint32_t x38;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x39;
+    uint32_t x40;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x41;
+    uint32_t x42;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x43;
+    uint32_t x44;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x45;
+    uint32_t x46;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x47;
+    uint32_t x48;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x49;
+    uint32_t x50;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x51;
+    uint32_t x52;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x53;
+    uint32_t x54;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x55;
+    uint32_t x56;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x57;
+    uint32_t x58;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x59;
+    uint32_t x60;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x61;
+    uint32_t x62;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x63;
+    uint32_t x64;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x65;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x1, &x2, 0x0, 0x0,
+                                                             (arg1[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x3, &x4, x2, 0x0,
+                                                             (arg1[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x5, &x6, x4, 0x0,
+                                                             (arg1[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x7, &x8, x6, 0x0,
+                                                             (arg1[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x9, &x10, x8, 0x0,
+                                                             (arg1[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x11, &x12, x10,
+                                                             0x0, (arg1[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x13, &x14, x12,
+                                                             0x0, (arg1[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x15, &x16, x14,
+                                                             0x0, (arg1[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x17, &x18, x16,
+                                                             0x0, (arg1[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x19, &x20, x18,
+                                                             0x0, (arg1[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x21, &x22, x20,
+                                                             0x0, (arg1[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x23, &x24, x22,
+                                                             0x0, (arg1[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x25, &x26, x24,
+                                                             0x0, (arg1[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x27, &x28, x26,
+                                                             0x0, (arg1[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x29, &x30, x28,
+                                                             0x0, (arg1[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x31, &x32, x30,
+                                                             0x0, (arg1[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x33, x32, 0x0,
+                                                          UINT32_C(0xffffffff));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x34, &x35, 0x0, x1, (x33 & UINT8_C(0x6f)));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x36, &x37, x35, x3,
+                                                            0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x38, &x39, x37, x5,
+                                                            0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x40, &x41, x39, x7,
+                                                            0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x42, &x43, x41, x9,
+                                                            0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x44, &x45, x43,
+                                                            x11, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x46, &x47, x45,
+                                                            x13, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x48, &x49, x47,
+                                                            x15, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x50, &x51, x49,
+                                                            x17, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x52, &x53, x51,
+                                                            x19, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x54, &x55, x53,
+                                                            x21, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x56, &x57, x55,
+                                                            x23, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x58, &x59, x57,
+                                                            x25, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x60, &x61, x59,
+                                                            x27, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x62, &x63, x61,
+                                                            x29, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x64, &x65, x63, x31, (x33 & UINT32_C(0x80000000)));
+    out1[0] = x34;
+    out1[1] = x36;
+    out1[2] = x38;
+    out1[3] = x40;
+    out1[4] = x42;
+    out1[5] = x44;
+    out1[6] = x46;
+    out1[7] = x48;
+    out1[8] = x50;
+    out1[9] = x52;
+    out1[10] = x54;
+    out1[11] = x56;
+    out1[12] = x58;
+    out1[13] = x60;
+    out1[14] = x62;
+    out1[15] = x64;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetB_from_montgomery translates a field element out of the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   eval out1 mod m = (eval arg1 * ((2^32)⁻¹ mod m)^16) mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[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]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetB_from_montgomery(
+    uint32_t out1[16], const uint32_t arg1[16]) {
+    uint32_t x1;
+    uint32_t x2;
+    uint32_t x3;
+    uint32_t x4;
+    uint32_t x5;
+    uint32_t x6;
+    uint32_t x7;
+    uint32_t x8;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x9;
+    uint32_t x10;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x11;
+    uint32_t x12;
+    uint32_t x13;
+    uint32_t x14;
+    uint32_t x15;
+    uint32_t x16;
+    uint32_t x17;
+    uint32_t x18;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x19;
+    uint32_t x20;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x21;
+    uint32_t x22;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x23;
+    uint32_t x24;
+    uint32_t x25;
+    uint32_t x26;
+    uint32_t x27;
+    uint32_t x28;
+    uint32_t x29;
+    uint32_t x30;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x31;
+    uint32_t x32;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x33;
+    uint32_t x34;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x35;
+    uint32_t x36;
+    uint32_t x37;
+    uint32_t x38;
+    uint32_t x39;
+    uint32_t x40;
+    uint32_t x41;
+    uint32_t x42;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x43;
+    uint32_t x44;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x45;
+    uint32_t x46;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x47;
+    uint32_t x48;
+    uint32_t x49;
+    uint32_t x50;
+    uint32_t x51;
+    uint32_t x52;
+    uint32_t x53;
+    uint32_t x54;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x55;
+    uint32_t x56;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x57;
+    uint32_t x58;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x59;
+    uint32_t x60;
+    uint32_t x61;
+    uint32_t x62;
+    uint32_t x63;
+    uint32_t x64;
+    uint32_t x65;
+    uint32_t x66;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x67;
+    uint32_t x68;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x69;
+    uint32_t x70;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x71;
+    uint32_t x72;
+    uint32_t x73;
+    uint32_t x74;
+    uint32_t x75;
+    uint32_t x76;
+    uint32_t x77;
+    uint32_t x78;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x79;
+    uint32_t x80;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x81;
+    uint32_t x82;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x83;
+    uint32_t x84;
+    uint32_t x85;
+    uint32_t x86;
+    uint32_t x87;
+    uint32_t x88;
+    uint32_t x89;
+    uint32_t x90;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x91;
+    uint32_t x92;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x93;
+    uint32_t x94;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x95;
+    uint32_t x96;
+    uint32_t x97;
+    uint32_t x98;
+    uint32_t x99;
+    uint32_t x100;
+    uint32_t x101;
+    uint32_t x102;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x103;
+    uint32_t x104;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x105;
+    uint32_t x106;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x107;
+    uint32_t x108;
+    uint32_t x109;
+    uint32_t x110;
+    uint32_t x111;
+    uint32_t x112;
+    uint32_t x113;
+    uint32_t x114;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x115;
+    uint32_t x116;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x117;
+    uint32_t x118;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x119;
+    uint32_t x120;
+    uint32_t x121;
+    uint32_t x122;
+    uint32_t x123;
+    uint32_t x124;
+    uint32_t x125;
+    uint32_t x126;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x127;
+    uint32_t x128;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x129;
+    uint32_t x130;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x131;
+    uint32_t x132;
+    uint32_t x133;
+    uint32_t x134;
+    uint32_t x135;
+    uint32_t x136;
+    uint32_t x137;
+    uint32_t x138;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x139;
+    uint32_t x140;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x141;
+    uint32_t x142;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x143;
+    uint32_t x144;
+    uint32_t x145;
+    uint32_t x146;
+    uint32_t x147;
+    uint32_t x148;
+    uint32_t x149;
+    uint32_t x150;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x151;
+    uint32_t x152;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x153;
+    uint32_t x154;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x155;
+    uint32_t x156;
+    uint32_t x157;
+    uint32_t x158;
+    uint32_t x159;
+    uint32_t x160;
+    uint32_t x161;
+    uint32_t x162;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x163;
+    uint32_t x164;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x165;
+    uint32_t x166;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x167;
+    uint32_t x168;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x169;
+    uint32_t x170;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x171;
+    uint32_t x172;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x173;
+    uint32_t x174;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x175;
+    uint32_t x176;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x177;
+    uint32_t x178;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x179;
+    uint32_t x180;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x181;
+    uint32_t x182;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x183;
+    uint32_t x184;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x185;
+    uint32_t x186;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x187;
+    uint32_t x188;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x189;
+    uint32_t x190;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x191;
+    uint32_t x192;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x193;
+    uint32_t x194;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x195;
+    uint32_t x196;
+    uint32_t x197;
+    uint32_t x198;
+    uint32_t x199;
+    uint32_t x200;
+    uint32_t x201;
+    uint32_t x202;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x203;
+    uint32_t x204;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x205;
+    uint32_t x206;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x207;
+    uint32_t x208;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x209;
+    uint32_t x210;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x211;
+    uint32_t x212;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x213;
+    uint32_t x214;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x215;
+    uint32_t x216;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x217;
+    uint32_t x218;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x219;
+    uint32_t x220;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x221;
+    uint32_t x222;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x223;
+    uint32_t x224;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x225;
+    uint32_t x226;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x227;
+    uint32_t x228;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x229;
+    uint32_t x230;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x231;
+    uint32_t x232;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x233;
+    uint32_t x234;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x235;
+    uint32_t x236;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x237;
+    uint32_t x238;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x239;
+    uint32_t x240;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x241;
+    uint32_t x242;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x243;
+    uint32_t x244;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x245;
+    uint32_t x246;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x247;
+    uint32_t x248;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x249;
+    uint32_t x250;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x251;
+    uint32_t x252;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x253;
+    uint32_t x254;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x255;
+    uint32_t x256;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x257;
+    uint32_t x258;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x259;
+    uint32_t x260;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x261;
+    uint32_t x262;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x263;
+    uint32_t x264;
+    uint32_t x265;
+    uint32_t x266;
+    uint32_t x267;
+    uint32_t x268;
+    uint32_t x269;
+    uint32_t x270;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x271;
+    uint32_t x272;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x273;
+    uint32_t x274;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x275;
+    uint32_t x276;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x277;
+    uint32_t x278;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x279;
+    uint32_t x280;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x281;
+    uint32_t x282;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x283;
+    uint32_t x284;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x285;
+    uint32_t x286;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x287;
+    uint32_t x288;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x289;
+    uint32_t x290;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x291;
+    uint32_t x292;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x293;
+    uint32_t x294;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x295;
+    uint32_t x296;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x297;
+    uint32_t x298;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x299;
+    uint32_t x300;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x301;
+    uint32_t x302;
+    uint32_t x303;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x304;
+    uint32_t x305;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x306;
+    uint32_t x307;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x308;
+    uint32_t x309;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x310;
+    uint32_t x311;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x312;
+    uint32_t x313;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x314;
+    uint32_t x315;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x316;
+    uint32_t x317;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x318;
+    uint32_t x319;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x320;
+    uint32_t x321;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x322;
+    uint32_t x323;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x324;
+    uint32_t x325;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x326;
+    uint32_t x327;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x328;
+    uint32_t x329;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x330;
+    uint32_t x331;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x332;
+    uint32_t x333;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x334;
+    uint32_t x335;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x336;
+    uint32_t x337;
+    uint32_t x338;
+    uint32_t x339;
+    uint32_t x340;
+    uint32_t x341;
+    uint32_t x342;
+    uint32_t x343;
+    uint32_t x344;
+    uint32_t x345;
+    uint32_t x346;
+    uint32_t x347;
+    uint32_t x348;
+    uint32_t x349;
+    uint32_t x350;
+    uint32_t x351;
+    uint32_t x352;
+    x1 = (arg1[0]);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x2, &x3, x1,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x4, &x5, x2,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x6, &x7, x2,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x8, &x9, 0x0, x1,
+                                                            x6);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x10, &x11, 0x0, (x9 + x7), (arg1[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x12, &x13, x10,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x14, &x15, x12,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x16, &x17, x12,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x18, &x19, 0x0, x5,
+                                                            x14);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x20, &x21, 0x0,
+                                                            x10, x16);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x22, &x23, 0x0, (((uint32_t)x21 + x11) + x17), (arg1[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x24, &x25, x22,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x26, &x27, x24,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x28, &x29, x24,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x30, &x31, 0x0,
+                                                            (x19 + x15), x26);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x32, &x33, 0x0,
+                                                            x22, x28);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x34, &x35, 0x0, (((uint32_t)x33 + x23) + x29), (arg1[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x36, &x37, x34,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x38, &x39, x36,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x40, &x41, x36,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x42, &x43, 0x0,
+                                                            (x31 + x27), x38);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x44, &x45, 0x0,
+                                                            x34, x40);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x46, &x47, 0x0, (((uint32_t)x45 + x35) + x41), (arg1[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x48, &x49, x46,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x50, &x51, x48,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x52, &x53, x48,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x54, &x55, 0x0,
+                                                            (x43 + x39), x50);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x56, &x57, 0x0,
+                                                            x46, x52);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x58, &x59, 0x0, (((uint32_t)x57 + x47) + x53), (arg1[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x60, &x61, x58,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x62, &x63, x60,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x64, &x65, x60,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x66, &x67, 0x0,
+                                                            (x55 + x51), x62);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x68, &x69, 0x0,
+                                                            x58, x64);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x70, &x71, 0x0, (((uint32_t)x69 + x59) + x65), (arg1[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x72, &x73, x70,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x74, &x75, x72,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x76, &x77, x72,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x78, &x79, 0x0,
+                                                            (x67 + x63), x74);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x80, &x81, 0x0,
+                                                            x70, x76);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x82, &x83, 0x0, (((uint32_t)x81 + x71) + x77), (arg1[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x84, &x85, x82,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x86, &x87, x84,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x88, &x89, x84,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x90, &x91, 0x0,
+                                                            (x79 + x75), x86);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x92, &x93, 0x0,
+                                                            x82, x88);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x94, &x95, 0x0, (((uint32_t)x93 + x83) + x89), (arg1[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x96, &x97, x94,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x98, &x99, x96,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x100, &x101, x96,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x102, &x103, 0x0,
+                                                            (x91 + x87), x98);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x104, &x105, 0x0,
+                                                            x94, x100);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x106, &x107, 0x0, (((uint32_t)x105 + x95) + x101), (arg1[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x108, &x109, x106,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x110, &x111, x108,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x112, &x113, x108,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x114, &x115, 0x0,
+                                                            (x103 + x99), x110);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x116, &x117, 0x0,
+                                                            x106, x112);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x118, &x119, 0x0, (((uint32_t)x117 + x107) + x113), (arg1[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x120, &x121, x118,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x122, &x123, x120,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x124, &x125, x120,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x126, &x127, 0x0, (x115 + x111), x122);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x128, &x129, 0x0,
+                                                            x118, x124);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x130, &x131, 0x0, (((uint32_t)x129 + x119) + x125), (arg1[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x132, &x133, x130,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x134, &x135, x132,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x136, &x137, x132,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x138, &x139, 0x0, (x127 + x123), x134);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x140, &x141, 0x0,
+                                                            x130, x136);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x142, &x143, 0x0, (((uint32_t)x141 + x131) + x137), (arg1[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x144, &x145, x142,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x146, &x147, x144,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x148, &x149, x144,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x150, &x151, 0x0, (x139 + x135), x146);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x152, &x153, 0x0,
+                                                            x142, x148);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x154, &x155, 0x0, (((uint32_t)x153 + x143) + x149), (arg1[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x156, &x157, x154,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x158, &x159, x156,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x160, &x161, x156,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x162, &x163, 0x0, (x151 + x147), x158);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x164, &x165, 0x0,
+                                                            x154, x160);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x166, &x167, 0x0, (((uint32_t)x165 + x155) + x161), (arg1[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x168, &x169, x167,
+                                                            x4, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x170, &x171, x169,
+                                                            x18, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x172, &x173, x171,
+                                                            x30, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x174, &x175, x173,
+                                                            x42, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x176, &x177, x175,
+                                                            x54, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x178, &x179, x177,
+                                                            x66, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x180, &x181, x179,
+                                                            x78, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x182, &x183, x181,
+                                                            x90, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x184, &x185, x183,
+                                                            x102, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x186, &x187, x185,
+                                                            x114, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x188, &x189, x187,
+                                                            x126, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x190, &x191, x189,
+                                                            x138, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x192, &x193, x191,
+                                                            x150, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x194, &x195, x193,
+                                                            x162, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x196, &x197, x166,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x198, &x199, x196,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x200, &x201, x196,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x202, &x203, 0x0,
+                                                            x166, x200);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x204, &x205, x203,
+                                                            x168, x201);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x206, &x207, x205,
+                                                            x170, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x208, &x209, x207,
+                                                            x172, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x210, &x211, x209,
+                                                            x174, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x212, &x213, x211,
+                                                            x176, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x214, &x215, x213,
+                                                            x178, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x216, &x217, x215,
+                                                            x180, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x218, &x219, x217,
+                                                            x182, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x220, &x221, x219,
+                                                            x184, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x222, &x223, x221,
+                                                            x186, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x224, &x225, x223,
+                                                            x188, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x226, &x227, x225,
+                                                            x190, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x228, &x229, x227,
+                                                            x192, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x230, &x231, x229,
+                                                            x194, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x232, &x233, x231, (x195 + (x163 + x159)), x198);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x234, &x235, 0x0,
+                                                            x204, (arg1[15]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x236, &x237, x235,
+                                                            x206, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x238, &x239, x237,
+                                                            x208, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x240, &x241, x239,
+                                                            x210, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x242, &x243, x241,
+                                                            x212, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x244, &x245, x243,
+                                                            x214, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x246, &x247, x245,
+                                                            x216, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x248, &x249, x247,
+                                                            x218, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x250, &x251, x249,
+                                                            x220, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x252, &x253, x251,
+                                                            x222, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x254, &x255, x253,
+                                                            x224, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x256, &x257, x255,
+                                                            x226, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x258, &x259, x257,
+                                                            x228, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x260, &x261, x259,
+                                                            x230, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x262, &x263, x261,
+                                                            x232, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x264, &x265, x234,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x266, &x267, x264,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x268, &x269, x264,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x270, &x271, 0x0,
+                                                            x234, x268);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x272, &x273, x271,
+                                                            x236, x269);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x274, &x275, x273,
+                                                            x238, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x276, &x277, x275,
+                                                            x240, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x278, &x279, x277,
+                                                            x242, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x280, &x281, x279,
+                                                            x244, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x282, &x283, x281,
+                                                            x246, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x284, &x285, x283,
+                                                            x248, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x286, &x287, x285,
+                                                            x250, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x288, &x289, x287,
+                                                            x252, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x290, &x291, x289,
+                                                            x254, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x292, &x293, x291,
+                                                            x256, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x294, &x295, x293,
+                                                            x258, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x296, &x297, x295,
+                                                            x260, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x298, &x299, x297,
+                                                            x262, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x300, &x301, x299, (x263 + (x233 + x199)), x266);
+    x302 = (x301 + x267);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(
+        &x303, &x304, 0x0, x272, UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x305, &x306, x304,
+                                                             x274, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x307, &x308, x306,
+                                                             x276, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x309, &x310, x308,
+                                                             x278, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x311, &x312, x310,
+                                                             x280, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x313, &x314, x312,
+                                                             x282, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x315, &x316, x314,
+                                                             x284, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x317, &x318, x316,
+                                                             x286, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x319, &x320, x318,
+                                                             x288, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x321, &x322, x320,
+                                                             x290, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x323, &x324, x322,
+                                                             x292, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x325, &x326, x324,
+                                                             x294, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x327, &x328, x326,
+                                                             x296, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x329, &x330, x328,
+                                                             x298, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x331, &x332, x330,
+                                                             x300, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(
+        &x333, &x334, x332, x302, UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x335, &x336, x334,
+                                                             0x0, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x337, x336, x303,
+                                                          x272);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x338, x336, x305,
+                                                          x274);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x339, x336, x307,
+                                                          x276);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x340, x336, x309,
+                                                          x278);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x341, x336, x311,
+                                                          x280);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x342, x336, x313,
+                                                          x282);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x343, x336, x315,
+                                                          x284);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x344, x336, x317,
+                                                          x286);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x345, x336, x319,
+                                                          x288);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x346, x336, x321,
+                                                          x290);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x347, x336, x323,
+                                                          x292);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x348, x336, x325,
+                                                          x294);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x349, x336, x327,
+                                                          x296);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x350, x336, x329,
+                                                          x298);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x351, x336, x331,
+                                                          x300);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x352, x336, x333,
+                                                          x302);
+    out1[0] = x337;
+    out1[1] = x338;
+    out1[2] = x339;
+    out1[3] = x340;
+    out1[4] = x341;
+    out1[5] = x342;
+    out1[6] = x343;
+    out1[7] = x344;
+    out1[8] = x345;
+    out1[9] = x346;
+    out1[10] = x347;
+    out1[11] = x348;
+    out1[12] = x349;
+    out1[13] = x350;
+    out1[14] = x351;
+    out1[15] = x352;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetB_to_montgomery translates a field element into the Montgomery domain.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   eval (from_montgomery out1) mod m = eval arg1 mod m
+ *   0 ≤ eval out1 < m
+ *
+ * Input Bounds:
+ *   arg1: [[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]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetB_to_montgomery(
+    uint32_t out1[16], const uint32_t arg1[16]) {
+    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;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x12;
+    uint32_t x13;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x14;
+    uint32_t x15;
+    uint32_t x16;
+    uint32_t x17;
+    uint32_t x18;
+    uint32_t x19;
+    uint32_t x20;
+    uint32_t x21;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x22;
+    uint32_t x23;
+    uint32_t x24;
+    uint32_t x25;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x26;
+    uint32_t x27;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x28;
+    uint32_t x29;
+    uint32_t x30;
+    uint32_t x31;
+    uint32_t x32;
+    uint32_t x33;
+    uint32_t x34;
+    uint32_t x35;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x36;
+    uint32_t x37;
+    uint32_t x38;
+    uint32_t x39;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x40;
+    uint32_t x41;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x42;
+    uint32_t x43;
+    uint32_t x44;
+    uint32_t x45;
+    uint32_t x46;
+    uint32_t x47;
+    uint32_t x48;
+    uint32_t x49;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x50;
+    uint32_t x51;
+    uint32_t x52;
+    uint32_t x53;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x54;
+    uint32_t x55;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x56;
+    uint32_t x57;
+    uint32_t x58;
+    uint32_t x59;
+    uint32_t x60;
+    uint32_t x61;
+    uint32_t x62;
+    uint32_t x63;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x64;
+    uint32_t x65;
+    uint32_t x66;
+    uint32_t x67;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x68;
+    uint32_t x69;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x70;
+    uint32_t x71;
+    uint32_t x72;
+    uint32_t x73;
+    uint32_t x74;
+    uint32_t x75;
+    uint32_t x76;
+    uint32_t x77;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x78;
+    uint32_t x79;
+    uint32_t x80;
+    uint32_t x81;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x82;
+    uint32_t x83;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x84;
+    uint32_t x85;
+    uint32_t x86;
+    uint32_t x87;
+    uint32_t x88;
+    uint32_t x89;
+    uint32_t x90;
+    uint32_t x91;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x92;
+    uint32_t x93;
+    uint32_t x94;
+    uint32_t x95;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x96;
+    uint32_t x97;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x98;
+    uint32_t x99;
+    uint32_t x100;
+    uint32_t x101;
+    uint32_t x102;
+    uint32_t x103;
+    uint32_t x104;
+    uint32_t x105;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x106;
+    uint32_t x107;
+    uint32_t x108;
+    uint32_t x109;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x110;
+    uint32_t x111;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x112;
+    uint32_t x113;
+    uint32_t x114;
+    uint32_t x115;
+    uint32_t x116;
+    uint32_t x117;
+    uint32_t x118;
+    uint32_t x119;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x120;
+    uint32_t x121;
+    uint32_t x122;
+    uint32_t x123;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x124;
+    uint32_t x125;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x126;
+    uint32_t x127;
+    uint32_t x128;
+    uint32_t x129;
+    uint32_t x130;
+    uint32_t x131;
+    uint32_t x132;
+    uint32_t x133;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x134;
+    uint32_t x135;
+    uint32_t x136;
+    uint32_t x137;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x138;
+    uint32_t x139;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x140;
+    uint32_t x141;
+    uint32_t x142;
+    uint32_t x143;
+    uint32_t x144;
+    uint32_t x145;
+    uint32_t x146;
+    uint32_t x147;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x148;
+    uint32_t x149;
+    uint32_t x150;
+    uint32_t x151;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x152;
+    uint32_t x153;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x154;
+    uint32_t x155;
+    uint32_t x156;
+    uint32_t x157;
+    uint32_t x158;
+    uint32_t x159;
+    uint32_t x160;
+    uint32_t x161;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x162;
+    uint32_t x163;
+    uint32_t x164;
+    uint32_t x165;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x166;
+    uint32_t x167;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x168;
+    uint32_t x169;
+    uint32_t x170;
+    uint32_t x171;
+    uint32_t x172;
+    uint32_t x173;
+    uint32_t x174;
+    uint32_t x175;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x176;
+    uint32_t x177;
+    uint32_t x178;
+    uint32_t x179;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x180;
+    uint32_t x181;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x182;
+    uint32_t x183;
+    uint32_t x184;
+    uint32_t x185;
+    uint32_t x186;
+    uint32_t x187;
+    uint32_t x188;
+    uint32_t x189;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x190;
+    uint32_t x191;
+    uint32_t x192;
+    uint32_t x193;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x194;
+    uint32_t x195;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x196;
+    uint32_t x197;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x198;
+    uint32_t x199;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x200;
+    uint32_t x201;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x202;
+    uint32_t x203;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x204;
+    uint32_t x205;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x206;
+    uint32_t x207;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x208;
+    uint32_t x209;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x210;
+    uint32_t x211;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x212;
+    uint32_t x213;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x214;
+    uint32_t x215;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x216;
+    uint32_t x217;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x218;
+    uint32_t x219;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x220;
+    uint32_t x221;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x222;
+    uint32_t x223;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x224;
+    uint32_t x225;
+    uint32_t x226;
+    uint32_t x227;
+    uint32_t x228;
+    uint32_t x229;
+    uint32_t x230;
+    uint32_t x231;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x232;
+    uint32_t x233;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x234;
+    uint32_t x235;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x236;
+    uint32_t x237;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x238;
+    uint32_t x239;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x240;
+    uint32_t x241;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x242;
+    uint32_t x243;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x244;
+    uint32_t x245;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x246;
+    uint32_t x247;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x248;
+    uint32_t x249;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x250;
+    uint32_t x251;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x252;
+    uint32_t x253;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x254;
+    uint32_t x255;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x256;
+    uint32_t x257;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x258;
+    uint32_t x259;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x260;
+    uint32_t x261;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x262;
+    uint32_t x263;
+    uint32_t x264;
+    uint32_t x265;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x266;
+    uint32_t x267;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x268;
+    uint32_t x269;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x270;
+    uint32_t x271;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x272;
+    uint32_t x273;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x274;
+    uint32_t x275;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x276;
+    uint32_t x277;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x278;
+    uint32_t x279;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x280;
+    uint32_t x281;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x282;
+    uint32_t x283;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x284;
+    uint32_t x285;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x286;
+    uint32_t x287;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x288;
+    uint32_t x289;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x290;
+    uint32_t x291;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x292;
+    uint32_t x293;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x294;
+    uint32_t x295;
+    uint32_t x296;
+    uint32_t x297;
+    uint32_t x298;
+    uint32_t x299;
+    uint32_t x300;
+    uint32_t x301;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x302;
+    uint32_t x303;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x304;
+    uint32_t x305;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x306;
+    uint32_t x307;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x308;
+    uint32_t x309;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x310;
+    uint32_t x311;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x312;
+    uint32_t x313;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x314;
+    uint32_t x315;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x316;
+    uint32_t x317;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x318;
+    uint32_t x319;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x320;
+    uint32_t x321;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x322;
+    uint32_t x323;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x324;
+    uint32_t x325;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x326;
+    uint32_t x327;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x328;
+    uint32_t x329;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x330;
+    uint32_t x331;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x332;
+    uint32_t x333;
+    uint32_t x334;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x335;
+    uint32_t x336;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x337;
+    uint32_t x338;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x339;
+    uint32_t x340;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x341;
+    uint32_t x342;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x343;
+    uint32_t x344;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x345;
+    uint32_t x346;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x347;
+    uint32_t x348;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x349;
+    uint32_t x350;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x351;
+    uint32_t x352;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x353;
+    uint32_t x354;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x355;
+    uint32_t x356;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x357;
+    uint32_t x358;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x359;
+    uint32_t x360;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x361;
+    uint32_t x362;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x363;
+    uint32_t x364;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x365;
+    uint32_t x366;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 x367;
+    uint32_t x368;
+    uint32_t x369;
+    uint32_t x370;
+    uint32_t x371;
+    uint32_t x372;
+    uint32_t x373;
+    uint32_t x374;
+    uint32_t x375;
+    uint32_t x376;
+    uint32_t x377;
+    uint32_t x378;
+    uint32_t x379;
+    uint32_t x380;
+    uint32_t x381;
+    uint32_t x382;
+    uint32_t x383;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x1, &x2, (arg1[0]),
+                                                       UINT16_C(0xc084));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x3, &x4, x1,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x5, &x6, x3,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x7, &x8, x3,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x9, &x10, (arg1[1]),
+                                                       UINT16_C(0xc084));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x11, &x12, 0x0, x1,
+                                                            x7);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x13, &x14, 0x0, ((x12 + x2) + x8), x9);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x15, &x16, x13,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x17, &x18, x15,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x19, &x20, x15,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x21, &x22, 0x0, x6,
+                                                            x17);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x23, &x24, (arg1[2]),
+                                                       UINT16_C(0xc084));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x25, &x26, 0x0,
+                                                            x13, x19);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x27, &x28, 0x0, ((x26 + (x14 + x10)) + x20), x23);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x29, &x30, x27,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x31, &x32, x29,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x33, &x34, x29,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x35, &x36, 0x0,
+                                                            (x22 + x18), x31);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x37, &x38, (arg1[3]),
+                                                       UINT16_C(0xc084));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x39, &x40, 0x0,
+                                                            x27, x33);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x41, &x42, 0x0, ((x40 + (x28 + x24)) + x34), x37);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x43, &x44, x41,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x45, &x46, x43,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x47, &x48, x43,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x49, &x50, 0x0,
+                                                            (x36 + x32), x45);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x51, &x52, (arg1[4]),
+                                                       UINT16_C(0xc084));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x53, &x54, 0x0,
+                                                            x41, x47);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x55, &x56, 0x0, ((x54 + (x42 + x38)) + x48), x51);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x57, &x58, x55,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x59, &x60, x57,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x61, &x62, x57,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x63, &x64, 0x0,
+                                                            (x50 + x46), x59);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x65, &x66, (arg1[5]),
+                                                       UINT16_C(0xc084));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x67, &x68, 0x0,
+                                                            x55, x61);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x69, &x70, 0x0, ((x68 + (x56 + x52)) + x62), x65);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x71, &x72, x69,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x73, &x74, x71,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x75, &x76, x71,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x77, &x78, 0x0,
+                                                            (x64 + x60), x73);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x79, &x80, (arg1[6]),
+                                                       UINT16_C(0xc084));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x81, &x82, 0x0,
+                                                            x69, x75);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x83, &x84, 0x0, ((x82 + (x70 + x66)) + x76), x79);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x85, &x86, x83,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x87, &x88, x85,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x89, &x90, x85,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x91, &x92, 0x0,
+                                                            (x78 + x74), x87);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x93, &x94, (arg1[7]),
+                                                       UINT16_C(0xc084));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x95, &x96, 0x0,
+                                                            x83, x89);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x97, &x98, 0x0, ((x96 + (x84 + x80)) + x90), x93);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x99, &x100, x97,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x101, &x102, x99,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x103, &x104, x99,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x105, &x106, 0x0,
+                                                            (x92 + x88), x101);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x107, &x108, (arg1[8]),
+                                                       UINT16_C(0xc084));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x109, &x110, 0x0,
+                                                            x97, x103);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x111, &x112, 0x0, ((x110 + (x98 + x94)) + x104), x107);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x113, &x114, x111,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x115, &x116, x113,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x117, &x118, x113,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x119, &x120, 0x0, (x106 + x102), x115);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x121, &x122, (arg1[9]),
+                                                       UINT16_C(0xc084));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x123, &x124, 0x0,
+                                                            x111, x117);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x125, &x126, 0x0, ((x124 + (x112 + x108)) + x118), x121);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x127, &x128, x125,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x129, &x130, x127,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x131, &x132, x127,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x133, &x134, 0x0, (x120 + x116), x129);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x135, &x136, (arg1[10]),
+                                                       UINT16_C(0xc084));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x137, &x138, 0x0,
+                                                            x125, x131);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x139, &x140, 0x0, ((x138 + (x126 + x122)) + x132), x135);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x141, &x142, x139,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x143, &x144, x141,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x145, &x146, x141,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x147, &x148, 0x0, (x134 + x130), x143);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x149, &x150, (arg1[11]),
+                                                       UINT16_C(0xc084));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x151, &x152, 0x0,
+                                                            x139, x145);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x153, &x154, 0x0, ((x152 + (x140 + x136)) + x146), x149);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x155, &x156, x153,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x157, &x158, x155,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x159, &x160, x155,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x161, &x162, 0x0, (x148 + x144), x157);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x163, &x164, (arg1[12]),
+                                                       UINT16_C(0xc084));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x165, &x166, 0x0,
+                                                            x153, x159);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x167, &x168, 0x0, ((x166 + (x154 + x150)) + x160), x163);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x169, &x170, x167,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x171, &x172, x169,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x173, &x174, x169,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x175, &x176, 0x0, (x162 + x158), x171);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x177, &x178, (arg1[13]),
+                                                       UINT16_C(0xc084));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x179, &x180, 0x0,
+                                                            x167, x173);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x181, &x182, 0x0, ((x180 + (x168 + x164)) + x174), x177);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x183, &x184, x181,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x185, &x186, x183,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x187, &x188, x183,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x189, &x190, 0x0, (x176 + x172), x185);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x191, &x192, (arg1[14]),
+                                                       UINT16_C(0xc084));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x193, &x194, 0x0,
+                                                            x181, x187);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x195, &x196, 0x0, ((x194 + (x182 + x178)) + x188), x191);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x197, &x198, x196,
+                                                            x5, x192);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x199, &x200, x198,
+                                                            x21, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x201, &x202, x200,
+                                                            x35, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x203, &x204, x202,
+                                                            x49, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x205, &x206, x204,
+                                                            x63, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x207, &x208, x206,
+                                                            x77, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x209, &x210, x208,
+                                                            x91, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x211, &x212, x210,
+                                                            x105, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x213, &x214, x212,
+                                                            x119, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x215, &x216, x214,
+                                                            x133, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x217, &x218, x216,
+                                                            x147, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x219, &x220, x218,
+                                                            x161, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x221, &x222, x220,
+                                                            x175, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x223, &x224, x222,
+                                                            x189, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x225, &x226, x195,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x227, &x228, x225,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x229, &x230, x225,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x231, &x232, 0x0,
+                                                            x195, x229);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x233, &x234, x232,
+                                                            x197, x230);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x235, &x236, x234,
+                                                            x199, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x237, &x238, x236,
+                                                            x201, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x239, &x240, x238,
+                                                            x203, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x241, &x242, x240,
+                                                            x205, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x243, &x244, x242,
+                                                            x207, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x245, &x246, x244,
+                                                            x209, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x247, &x248, x246,
+                                                            x211, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x249, &x250, x248,
+                                                            x213, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x251, &x252, x250,
+                                                            x215, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x253, &x254, x252,
+                                                            x217, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x255, &x256, x254,
+                                                            x219, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x257, &x258, x256,
+                                                            x221, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x259, &x260, x258,
+                                                            x223, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x261, &x262, x260, (x224 + (x190 + x186)), x227);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x263, &x264, (arg1[15]),
+                                                       UINT16_C(0xc084));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x265, &x266, 0x0,
+                                                            x233, x263);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x267, &x268, x266,
+                                                            x235, x264);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x269, &x270, x268,
+                                                            x237, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x271, &x272, x270,
+                                                            x239, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x273, &x274, x272,
+                                                            x241, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x275, &x276, x274,
+                                                            x243, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x277, &x278, x276,
+                                                            x245, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x279, &x280, x278,
+                                                            x247, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x281, &x282, x280,
+                                                            x249, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x283, &x284, x282,
+                                                            x251, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x285, &x286, x284,
+                                                            x253, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x287, &x288, x286,
+                                                            x255, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x289, &x290, x288,
+                                                            x257, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x291, &x292, x290,
+                                                            x259, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x293, &x294, x292,
+                                                            x261, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x295, &x296, x265,
+                                                       UINT32_C(0x24e6a171));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x297, &x298, x295,
+                                                       UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mulx_u32(&x299, &x300, x295,
+                                                       UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x301, &x302, 0x0,
+                                                            x265, x299);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x303, &x304, x302,
+                                                            x267, x300);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x305, &x306, x304,
+                                                            x269, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x307, &x308, x306,
+                                                            x271, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x309, &x310, x308,
+                                                            x273, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x311, &x312, x310,
+                                                            x275, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x313, &x314, x312,
+                                                            x277, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x315, &x316, x314,
+                                                            x279, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x317, &x318, x316,
+                                                            x281, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x319, &x320, x318,
+                                                            x283, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x321, &x322, x320,
+                                                            x285, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x323, &x324, x322,
+                                                            x287, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x325, &x326, x324,
+                                                            x289, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x327, &x328, x326,
+                                                            x291, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(&x329, &x330, x328,
+                                                            x293, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_addcarryx_u32(
+        &x331, &x332, x330, (x294 + (x262 + x228)), x297);
+    x333 = (x332 + x298);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(
+        &x334, &x335, 0x0, x303, UINT8_C(0x6f));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x336, &x337, x335,
+                                                             x305, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x338, &x339, x337,
+                                                             x307, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x340, &x341, x339,
+                                                             x309, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x342, &x343, x341,
+                                                             x311, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x344, &x345, x343,
+                                                             x313, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x346, &x347, x345,
+                                                             x315, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x348, &x349, x347,
+                                                             x317, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x350, &x351, x349,
+                                                             x319, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x352, &x353, x351,
+                                                             x321, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x354, &x355, x353,
+                                                             x323, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x356, &x357, x355,
+                                                             x325, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x358, &x359, x357,
+                                                             x327, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x360, &x361, x359,
+                                                             x329, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x362, &x363, x361,
+                                                             x331, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(
+        &x364, &x365, x363, x333, UINT32_C(0x80000000));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_subborrowx_u32(&x366, &x367, x365,
+                                                             0x0, 0x0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x368, x367, x334,
+                                                          x303);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x369, x367, x336,
+                                                          x305);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x370, x367, x338,
+                                                          x307);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x371, x367, x340,
+                                                          x309);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x372, x367, x342,
+                                                          x311);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x373, x367, x344,
+                                                          x313);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x374, x367, x346,
+                                                          x315);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x375, x367, x348,
+                                                          x317);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x376, x367, x350,
+                                                          x319);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x377, x367, x352,
+                                                          x321);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x378, x367, x354,
+                                                          x323);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x379, x367, x356,
+                                                          x325);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x380, x367, x358,
+                                                          x327);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x381, x367, x360,
+                                                          x329);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x382, x367, x362,
+                                                          x331);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x383, x367, x364,
+                                                          x333);
+    out1[0] = x368;
+    out1[1] = x369;
+    out1[2] = x370;
+    out1[3] = x371;
+    out1[4] = x372;
+    out1[5] = x373;
+    out1[6] = x374;
+    out1[7] = x375;
+    out1[8] = x376;
+    out1[9] = x377;
+    out1[10] = x378;
+    out1[11] = x379;
+    out1[12] = x380;
+    out1[13] = x381;
+    out1[14] = x382;
+    out1[15] = x383;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetB_nonzero outputs a single non-zero word if the input is non-zero and zero otherwise.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   out1 = 0 ↔ eval (from_montgomery arg1) mod m = 0
+ *
+ * Input Bounds:
+ *   arg1: [[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]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetB_nonzero(
+    uint32_t *out1, const uint32_t arg1[16]) {
+    uint32_t x1;
+    x1 =
+        ((arg1[0]) |
+         ((arg1[1]) |
+          ((arg1[2]) |
+           ((arg1[3]) |
+            ((arg1[4]) |
+             ((arg1[5]) |
+              ((arg1[6]) |
+               ((arg1[7]) |
+                ((arg1[8]) |
+                 ((arg1[9]) |
+                  ((arg1[10]) |
+                   ((arg1[11]) |
+                    ((arg1[12]) |
+                     ((arg1[13]) |
+                      ((arg1[14]) | ((arg1[15]) | (uint32_t)0x0))))))))))))))));
+    *out1 = x1;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetB_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]]
+ *   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]]
+ * 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]]
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetB_selectznz(
+    uint32_t out1[16], fiat_id_tc26_gost_3410_2012_512_paramSetB_uint1 arg1,
+    const uint32_t arg2[16], const uint32_t arg3[16]) {
+    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;
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x1, arg1, (arg2[0]),
+                                                          (arg3[0]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x2, arg1, (arg2[1]),
+                                                          (arg3[1]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x3, arg1, (arg2[2]),
+                                                          (arg3[2]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x4, arg1, (arg2[3]),
+                                                          (arg3[3]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x5, arg1, (arg2[4]),
+                                                          (arg3[4]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x6, arg1, (arg2[5]),
+                                                          (arg3[5]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x7, arg1, (arg2[6]),
+                                                          (arg3[6]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x8, arg1, (arg2[7]),
+                                                          (arg3[7]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x9, arg1, (arg2[8]),
+                                                          (arg3[8]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(&x10, arg1, (arg2[9]),
+                                                          (arg3[9]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(
+        &x11, arg1, (arg2[10]), (arg3[10]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(
+        &x12, arg1, (arg2[11]), (arg3[11]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(
+        &x13, arg1, (arg2[12]), (arg3[12]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(
+        &x14, arg1, (arg2[13]), (arg3[13]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(
+        &x15, arg1, (arg2[14]), (arg3[14]));
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_cmovznz_u32(
+        &x16, arg1, (arg2[15]), (arg3[15]));
+    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;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetB_to_bytes serializes a field element in the Montgomery domain to bytes in little-endian order.
+ * Preconditions:
+ *   0 ≤ eval arg1 < m
+ * Postconditions:
+ *   out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..63]
+ *
+ * Input Bounds:
+ *   arg1: [[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 ~> 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_paramSetB_to_bytes(
+    uint8_t out1[64], const uint32_t arg1[16]) {
+    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;
+    uint8_t x18;
+    uint32_t x19;
+    uint8_t x20;
+    uint8_t x21;
+    uint8_t x22;
+    uint8_t x23;
+    uint32_t x24;
+    uint8_t x25;
+    uint32_t x26;
+    uint8_t x27;
+    uint8_t x28;
+    uint8_t x29;
+    uint8_t x30;
+    uint32_t x31;
+    uint8_t x32;
+    uint32_t x33;
+    uint8_t x34;
+    uint8_t x35;
+    uint8_t x36;
+    uint8_t x37;
+    uint32_t x38;
+    uint8_t x39;
+    uint32_t x40;
+    uint8_t x41;
+    uint8_t x42;
+    uint8_t x43;
+    uint8_t x44;
+    uint32_t x45;
+    uint8_t x46;
+    uint32_t x47;
+    uint8_t x48;
+    uint8_t x49;
+    uint8_t x50;
+    uint8_t x51;
+    uint32_t x52;
+    uint8_t x53;
+    uint32_t x54;
+    uint8_t x55;
+    uint8_t x56;
+    uint8_t x57;
+    uint8_t x58;
+    uint32_t x59;
+    uint8_t x60;
+    uint32_t x61;
+    uint8_t x62;
+    uint8_t x63;
+    uint8_t x64;
+    uint8_t x65;
+    uint32_t x66;
+    uint8_t x67;
+    uint32_t x68;
+    uint8_t x69;
+    uint8_t x70;
+    uint8_t x71;
+    uint8_t x72;
+    uint32_t x73;
+    uint8_t x74;
+    uint32_t x75;
+    uint8_t x76;
+    uint8_t x77;
+    uint8_t x78;
+    uint8_t x79;
+    uint32_t x80;
+    uint8_t x81;
+    uint32_t x82;
+    uint8_t x83;
+    uint8_t x84;
+    uint8_t x85;
+    uint8_t x86;
+    uint32_t x87;
+    uint8_t x88;
+    uint32_t x89;
+    uint8_t x90;
+    uint8_t x91;
+    uint8_t x92;
+    uint8_t x93;
+    uint32_t x94;
+    uint8_t x95;
+    uint32_t x96;
+    uint8_t x97;
+    uint8_t x98;
+    uint8_t x99;
+    uint8_t x100;
+    uint32_t x101;
+    uint8_t x102;
+    uint32_t x103;
+    uint8_t x104;
+    uint8_t x105;
+    uint8_t x106;
+    uint8_t x107;
+    uint32_t x108;
+    uint8_t x109;
+    uint32_t x110;
+    uint8_t x111;
+    uint8_t x112;
+    uint8_t x113;
+    uint8_t x114;
+    uint32_t x115;
+    uint8_t x116;
+    uint32_t x117;
+    uint8_t x118;
+    uint8_t x119;
+    uint8_t x120;
+    uint8_t x121;
+    uint32_t x122;
+    uint8_t x123;
+    uint32_t x124;
+    uint8_t x125;
+    uint8_t x126;
+    uint8_t x127;
+    x1 = (arg1[15]);
+    x2 = (arg1[14]);
+    x3 = (arg1[13]);
+    x4 = (arg1[12]);
+    x5 = (arg1[11]);
+    x6 = (arg1[10]);
+    x7 = (arg1[9]);
+    x8 = (arg1[8]);
+    x9 = (arg1[7]);
+    x10 = (arg1[6]);
+    x11 = (arg1[5]);
+    x12 = (arg1[4]);
+    x13 = (arg1[3]);
+    x14 = (arg1[2]);
+    x15 = (arg1[1]);
+    x16 = (arg1[0]);
+    x17 = (x16 >> 8);
+    x18 = (uint8_t)(x16 & UINT8_C(0xff));
+    x19 = (x17 >> 8);
+    x20 = (uint8_t)(x17 & UINT8_C(0xff));
+    x21 = (uint8_t)(x19 >> 8);
+    x22 = (uint8_t)(x19 & UINT8_C(0xff));
+    x23 = (uint8_t)(x21 & UINT8_C(0xff));
+    x24 = (x15 >> 8);
+    x25 = (uint8_t)(x15 & UINT8_C(0xff));
+    x26 = (x24 >> 8);
+    x27 = (uint8_t)(x24 & UINT8_C(0xff));
+    x28 = (uint8_t)(x26 >> 8);
+    x29 = (uint8_t)(x26 & UINT8_C(0xff));
+    x30 = (uint8_t)(x28 & UINT8_C(0xff));
+    x31 = (x14 >> 8);
+    x32 = (uint8_t)(x14 & UINT8_C(0xff));
+    x33 = (x31 >> 8);
+    x34 = (uint8_t)(x31 & UINT8_C(0xff));
+    x35 = (uint8_t)(x33 >> 8);
+    x36 = (uint8_t)(x33 & UINT8_C(0xff));
+    x37 = (uint8_t)(x35 & UINT8_C(0xff));
+    x38 = (x13 >> 8);
+    x39 = (uint8_t)(x13 & UINT8_C(0xff));
+    x40 = (x38 >> 8);
+    x41 = (uint8_t)(x38 & UINT8_C(0xff));
+    x42 = (uint8_t)(x40 >> 8);
+    x43 = (uint8_t)(x40 & UINT8_C(0xff));
+    x44 = (uint8_t)(x42 & UINT8_C(0xff));
+    x45 = (x12 >> 8);
+    x46 = (uint8_t)(x12 & UINT8_C(0xff));
+    x47 = (x45 >> 8);
+    x48 = (uint8_t)(x45 & UINT8_C(0xff));
+    x49 = (uint8_t)(x47 >> 8);
+    x50 = (uint8_t)(x47 & UINT8_C(0xff));
+    x51 = (uint8_t)(x49 & UINT8_C(0xff));
+    x52 = (x11 >> 8);
+    x53 = (uint8_t)(x11 & UINT8_C(0xff));
+    x54 = (x52 >> 8);
+    x55 = (uint8_t)(x52 & UINT8_C(0xff));
+    x56 = (uint8_t)(x54 >> 8);
+    x57 = (uint8_t)(x54 & UINT8_C(0xff));
+    x58 = (uint8_t)(x56 & UINT8_C(0xff));
+    x59 = (x10 >> 8);
+    x60 = (uint8_t)(x10 & UINT8_C(0xff));
+    x61 = (x59 >> 8);
+    x62 = (uint8_t)(x59 & UINT8_C(0xff));
+    x63 = (uint8_t)(x61 >> 8);
+    x64 = (uint8_t)(x61 & UINT8_C(0xff));
+    x65 = (uint8_t)(x63 & UINT8_C(0xff));
+    x66 = (x9 >> 8);
+    x67 = (uint8_t)(x9 & UINT8_C(0xff));
+    x68 = (x66 >> 8);
+    x69 = (uint8_t)(x66 & UINT8_C(0xff));
+    x70 = (uint8_t)(x68 >> 8);
+    x71 = (uint8_t)(x68 & UINT8_C(0xff));
+    x72 = (uint8_t)(x70 & UINT8_C(0xff));
+    x73 = (x8 >> 8);
+    x74 = (uint8_t)(x8 & UINT8_C(0xff));
+    x75 = (x73 >> 8);
+    x76 = (uint8_t)(x73 & UINT8_C(0xff));
+    x77 = (uint8_t)(x75 >> 8);
+    x78 = (uint8_t)(x75 & UINT8_C(0xff));
+    x79 = (uint8_t)(x77 & UINT8_C(0xff));
+    x80 = (x7 >> 8);
+    x81 = (uint8_t)(x7 & UINT8_C(0xff));
+    x82 = (x80 >> 8);
+    x83 = (uint8_t)(x80 & UINT8_C(0xff));
+    x84 = (uint8_t)(x82 >> 8);
+    x85 = (uint8_t)(x82 & UINT8_C(0xff));
+    x86 = (uint8_t)(x84 & UINT8_C(0xff));
+    x87 = (x6 >> 8);
+    x88 = (uint8_t)(x6 & UINT8_C(0xff));
+    x89 = (x87 >> 8);
+    x90 = (uint8_t)(x87 & UINT8_C(0xff));
+    x91 = (uint8_t)(x89 >> 8);
+    x92 = (uint8_t)(x89 & UINT8_C(0xff));
+    x93 = (uint8_t)(x91 & UINT8_C(0xff));
+    x94 = (x5 >> 8);
+    x95 = (uint8_t)(x5 & UINT8_C(0xff));
+    x96 = (x94 >> 8);
+    x97 = (uint8_t)(x94 & UINT8_C(0xff));
+    x98 = (uint8_t)(x96 >> 8);
+    x99 = (uint8_t)(x96 & UINT8_C(0xff));
+    x100 = (uint8_t)(x98 & UINT8_C(0xff));
+    x101 = (x4 >> 8);
+    x102 = (uint8_t)(x4 & UINT8_C(0xff));
+    x103 = (x101 >> 8);
+    x104 = (uint8_t)(x101 & UINT8_C(0xff));
+    x105 = (uint8_t)(x103 >> 8);
+    x106 = (uint8_t)(x103 & UINT8_C(0xff));
+    x107 = (uint8_t)(x105 & UINT8_C(0xff));
+    x108 = (x3 >> 8);
+    x109 = (uint8_t)(x3 & UINT8_C(0xff));
+    x110 = (x108 >> 8);
+    x111 = (uint8_t)(x108 & UINT8_C(0xff));
+    x112 = (uint8_t)(x110 >> 8);
+    x113 = (uint8_t)(x110 & UINT8_C(0xff));
+    x114 = (uint8_t)(x112 & UINT8_C(0xff));
+    x115 = (x2 >> 8);
+    x116 = (uint8_t)(x2 & UINT8_C(0xff));
+    x117 = (x115 >> 8);
+    x118 = (uint8_t)(x115 & UINT8_C(0xff));
+    x119 = (uint8_t)(x117 >> 8);
+    x120 = (uint8_t)(x117 & UINT8_C(0xff));
+    x121 = (uint8_t)(x119 & UINT8_C(0xff));
+    x122 = (x1 >> 8);
+    x123 = (uint8_t)(x1 & UINT8_C(0xff));
+    x124 = (x122 >> 8);
+    x125 = (uint8_t)(x122 & UINT8_C(0xff));
+    x126 = (uint8_t)(x124 >> 8);
+    x127 = (uint8_t)(x124 & UINT8_C(0xff));
+    out1[0] = x18;
+    out1[1] = x20;
+    out1[2] = x22;
+    out1[3] = x23;
+    out1[4] = x25;
+    out1[5] = x27;
+    out1[6] = x29;
+    out1[7] = x30;
+    out1[8] = x32;
+    out1[9] = x34;
+    out1[10] = x36;
+    out1[11] = x37;
+    out1[12] = x39;
+    out1[13] = x41;
+    out1[14] = x43;
+    out1[15] = x44;
+    out1[16] = x46;
+    out1[17] = x48;
+    out1[18] = x50;
+    out1[19] = x51;
+    out1[20] = x53;
+    out1[21] = x55;
+    out1[22] = x57;
+    out1[23] = x58;
+    out1[24] = x60;
+    out1[25] = x62;
+    out1[26] = x64;
+    out1[27] = x65;
+    out1[28] = x67;
+    out1[29] = x69;
+    out1[30] = x71;
+    out1[31] = x72;
+    out1[32] = x74;
+    out1[33] = x76;
+    out1[34] = x78;
+    out1[35] = x79;
+    out1[36] = x81;
+    out1[37] = x83;
+    out1[38] = x85;
+    out1[39] = x86;
+    out1[40] = x88;
+    out1[41] = x90;
+    out1[42] = x92;
+    out1[43] = x93;
+    out1[44] = x95;
+    out1[45] = x97;
+    out1[46] = x99;
+    out1[47] = x100;
+    out1[48] = x102;
+    out1[49] = x104;
+    out1[50] = x106;
+    out1[51] = x107;
+    out1[52] = x109;
+    out1[53] = x111;
+    out1[54] = x113;
+    out1[55] = x114;
+    out1[56] = x116;
+    out1[57] = x118;
+    out1[58] = x120;
+    out1[59] = x121;
+    out1[60] = x123;
+    out1[61] = x125;
+    out1[62] = x127;
+    out1[63] = x126;
+}
+
+/*
+ * The function fiat_id_tc26_gost_3410_2012_512_paramSetB_from_bytes deserializes a field element in the Montgomery domain from bytes in little-endian order.
+ * Preconditions:
+ *   0 ≤ bytes_eval arg1 < m
+ * Postconditions:
+ *   eval out1 mod m = bytes_eval arg1 mod m
+ *   0 ≤ eval out1 < 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 ~> 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_paramSetB_from_bytes(
+    uint32_t out1[16], const uint8_t arg1[64]) {
+    uint32_t x1;
+    uint32_t x2;
+    uint32_t x3;
+    uint8_t x4;
+    uint32_t x5;
+    uint32_t x6;
+    uint32_t x7;
+    uint8_t x8;
+    uint32_t x9;
+    uint32_t x10;
+    uint32_t x11;
+    uint8_t x12;
+    uint32_t x13;
+    uint32_t x14;
+    uint32_t x15;
+    uint8_t x16;
+    uint32_t x17;
+    uint32_t x18;
+    uint32_t x19;
+    uint8_t x20;
+    uint32_t x21;
+    uint32_t x22;
+    uint32_t x23;
+    uint8_t x24;
+    uint32_t x25;
+    uint32_t x26;
+    uint32_t x27;
+    uint8_t x28;
+    uint32_t x29;
+    uint32_t x30;
+    uint32_t x31;
+    uint8_t x32;
+    uint32_t x33;
+    uint32_t x34;
+    uint32_t x35;
+    uint8_t x36;
+    uint32_t x37;
+    uint32_t x38;
+    uint32_t x39;
+    uint8_t x40;
+    uint32_t x41;
+    uint32_t x42;
+    uint32_t x43;
+    uint8_t x44;
+    uint32_t x45;
+    uint32_t x46;
+    uint32_t x47;
+    uint8_t x48;
+    uint32_t x49;
+    uint32_t x50;
+    uint32_t x51;
+    uint8_t x52;
+    uint32_t x53;
+    uint32_t x54;
+    uint32_t x55;
+    uint8_t x56;
+    uint32_t x57;
+    uint32_t x58;
+    uint32_t x59;
+    uint8_t x60;
+    uint32_t x61;
+    uint32_t x62;
+    uint32_t x63;
+    uint8_t x64;
+    uint32_t x65;
+    uint32_t 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;
+    uint32_t x91;
+    uint32_t x92;
+    uint32_t x93;
+    uint32_t x94;
+    uint32_t x95;
+    x1 = ((uint32_t)(arg1[63]) << 24);
+    x2 = ((uint32_t)(arg1[62]) << 16);
+    x3 = ((uint32_t)(arg1[61]) << 8);
+    x4 = (arg1[60]);
+    x5 = ((uint32_t)(arg1[59]) << 24);
+    x6 = ((uint32_t)(arg1[58]) << 16);
+    x7 = ((uint32_t)(arg1[57]) << 8);
+    x8 = (arg1[56]);
+    x9 = ((uint32_t)(arg1[55]) << 24);
+    x10 = ((uint32_t)(arg1[54]) << 16);
+    x11 = ((uint32_t)(arg1[53]) << 8);
+    x12 = (arg1[52]);
+    x13 = ((uint32_t)(arg1[51]) << 24);
+    x14 = ((uint32_t)(arg1[50]) << 16);
+    x15 = ((uint32_t)(arg1[49]) << 8);
+    x16 = (arg1[48]);
+    x17 = ((uint32_t)(arg1[47]) << 24);
+    x18 = ((uint32_t)(arg1[46]) << 16);
+    x19 = ((uint32_t)(arg1[45]) << 8);
+    x20 = (arg1[44]);
+    x21 = ((uint32_t)(arg1[43]) << 24);
+    x22 = ((uint32_t)(arg1[42]) << 16);
+    x23 = ((uint32_t)(arg1[41]) << 8);
+    x24 = (arg1[40]);
+    x25 = ((uint32_t)(arg1[39]) << 24);
+    x26 = ((uint32_t)(arg1[38]) << 16);
+    x27 = ((uint32_t)(arg1[37]) << 8);
+    x28 = (arg1[36]);
+    x29 = ((uint32_t)(arg1[35]) << 24);
+    x30 = ((uint32_t)(arg1[34]) << 16);
+    x31 = ((uint32_t)(arg1[33]) << 8);
+    x32 = (arg1[32]);
+    x33 = ((uint32_t)(arg1[31]) << 24);
+    x34 = ((uint32_t)(arg1[30]) << 16);
+    x35 = ((uint32_t)(arg1[29]) << 8);
+    x36 = (arg1[28]);
+    x37 = ((uint32_t)(arg1[27]) << 24);
+    x38 = ((uint32_t)(arg1[26]) << 16);
+    x39 = ((uint32_t)(arg1[25]) << 8);
+    x40 = (arg1[24]);
+    x41 = ((uint32_t)(arg1[23]) << 24);
+    x42 = ((uint32_t)(arg1[22]) << 16);
+    x43 = ((uint32_t)(arg1[21]) << 8);
+    x44 = (arg1[20]);
+    x45 = ((uint32_t)(arg1[19]) << 24);
+    x46 = ((uint32_t)(arg1[18]) << 16);
+    x47 = ((uint32_t)(arg1[17]) << 8);
+    x48 = (arg1[16]);
+    x49 = ((uint32_t)(arg1[15]) << 24);
+    x50 = ((uint32_t)(arg1[14]) << 16);
+    x51 = ((uint32_t)(arg1[13]) << 8);
+    x52 = (arg1[12]);
+    x53 = ((uint32_t)(arg1[11]) << 24);
+    x54 = ((uint32_t)(arg1[10]) << 16);
+    x55 = ((uint32_t)(arg1[9]) << 8);
+    x56 = (arg1[8]);
+    x57 = ((uint32_t)(arg1[7]) << 24);
+    x58 = ((uint32_t)(arg1[6]) << 16);
+    x59 = ((uint32_t)(arg1[5]) << 8);
+    x60 = (arg1[4]);
+    x61 = ((uint32_t)(arg1[3]) << 24);
+    x62 = ((uint32_t)(arg1[2]) << 16);
+    x63 = ((uint32_t)(arg1[1]) << 8);
+    x64 = (arg1[0]);
+    x65 = (x64 + (x63 + (x62 + x61)));
+    x66 = (x65 & UINT32_C(0xffffffff));
+    x67 = (x4 + (x3 + (x2 + x1)));
+    x68 = (x8 + (x7 + (x6 + x5)));
+    x69 = (x12 + (x11 + (x10 + x9)));
+    x70 = (x16 + (x15 + (x14 + x13)));
+    x71 = (x20 + (x19 + (x18 + x17)));
+    x72 = (x24 + (x23 + (x22 + x21)));
+    x73 = (x28 + (x27 + (x26 + x25)));
+    x74 = (x32 + (x31 + (x30 + x29)));
+    x75 = (x36 + (x35 + (x34 + x33)));
+    x76 = (x40 + (x39 + (x38 + x37)));
+    x77 = (x44 + (x43 + (x42 + x41)));
+    x78 = (x48 + (x47 + (x46 + x45)));
+    x79 = (x52 + (x51 + (x50 + x49)));
+    x80 = (x56 + (x55 + (x54 + x53)));
+    x81 = (x60 + (x59 + (x58 + x57)));
+    x82 = (x81 & UINT32_C(0xffffffff));
+    x83 = (x80 & UINT32_C(0xffffffff));
+    x84 = (x79 & UINT32_C(0xffffffff));
+    x85 = (x78 & UINT32_C(0xffffffff));
+    x86 = (x77 & UINT32_C(0xffffffff));
+    x87 = (x76 & UINT32_C(0xffffffff));
+    x88 = (x75 & UINT32_C(0xffffffff));
+    x89 = (x74 & UINT32_C(0xffffffff));
+    x90 = (x73 & UINT32_C(0xffffffff));
+    x91 = (x72 & UINT32_C(0xffffffff));
+    x92 = (x71 & UINT32_C(0xffffffff));
+    x93 = (x70 & UINT32_C(0xffffffff));
+    x94 = (x69 & UINT32_C(0xffffffff));
+    x95 = (x68 & UINT32_C(0xffffffff));
+    out1[0] = x66;
+    out1[1] = x82;
+    out1[2] = x83;
+    out1[3] = x84;
+    out1[4] = x85;
+    out1[5] = x86;
+    out1[6] = x87;
+    out1[7] = x88;
+    out1[8] = x89;
+    out1[9] = x90;
+    out1[10] = x91;
+    out1[11] = x92;
+    out1[12] = x93;
+    out1[13] = x94;
+    out1[14] = x95;
+    out1[15] = x67;
+}
+
+/* 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_paramSetB/fe_inv.op3
+ * sliding window w=5
+ */
+static void fiat_id_tc26_gost_3410_2012_512_paramSetB_inv(fe_t output,
+                                                          const fe_t t1) {
+    int i;
+    /* temporary variables */
+    fe_t acc, t13, t3;
+
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_square(acc, t1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t3, t1, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t13, t3, acc);
+    for (i = 0; i < 4; i++)
+        fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t13, t13, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_square(acc, t1);
+    for (i = 0; i < 505; i++)
+        fiat_id_tc26_gost_3410_2012_512_paramSetB_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(acc, acc, t3);
+    for (i = 0; i < 5; i++)
+        fiat_id_tc26_gost_3410_2012_512_paramSetB_square(acc, acc);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(output, acc, t13);
+}
+
+/* curve coefficient constants */
+
+static const limb_t const_one[16] = {
+    UINT32_C(0xFFFFFF91), UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
+    UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
+    UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
+    UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
+    UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
+    UINT32_C(0x7FFFFFFF)};
+
+static const limb_t const_b[16] = {
+    UINT32_C(0x18A75DD6), UINT32_C(0xDBE748C3), UINT32_C(0x9097BFC1),
+    UINT32_C(0xC954A780), UINT32_C(0xE2D5A471), UINT32_C(0x6553CD27),
+    UINT32_C(0x49435CF3), UINT32_C(0xB99B3260), UINT32_C(0x16D2C5E7),
+    UINT32_C(0xE9EAC8A2), UINT32_C(0x02D0CC51), UINT32_C(0x260B45A1),
+    UINT32_C(0x6C5BD56D), UINT32_C(0x8636181D), UINT32_C(0x2C5765BC),
+    UINT32_C(0x638259A1)};
+
+/* LUT for scalar multiplication by comb interleaving */
+static const pt_aff_t lut_cmb[14][16] = {
+    {
+        {{UINT32_C(0xFFFFFEB3), UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
+          UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
+          UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
+          UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
+          UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
+          UINT32_C(0x7FFFFFFF)},
+         {UINT32_C(0x2383127B), UINT32_C(0x9F34E17E), UINT32_C(0xCF48CEEA),
+          UINT32_C(0x4C79D571), UINT32_C(0x494E1BED), UINT32_C(0xA33463BC),
+          UINT32_C(0x3A5DA27F), UINT32_C(0x9D80747F), UINT32_C(0xC2F4174A),
+          UINT32_C(0xDCBD09DD), UINT32_C(0x2147B2E0), UINT32_C(0xE8307A8C),
+          UINT32_C(0xDBCF9AC9), UINT32_C(0xD1D3CCED), UINT32_C(0xE98DEFF1),
+          UINT32_C(0x778FFEC2)}},
+        {{UINT32_C(0xB67DA584), UINT32_C(0xCE514E6B), UINT32_C(0xE19C2094),
+          UINT32_C(0xEB51443B), UINT32_C(0x9B071A6E), UINT32_C(0xC8E8F54B),
+          UINT32_C(0xBED2A243), UINT32_C(0x239C53FD), UINT32_C(0x2AE8E157),
+          UINT32_C(0x67D47B7B), UINT32_C(0x5550826E), UINT32_C(0x046DE3B7),
+          UINT32_C(0x17723575), UINT32_C(0x2F7DD21E), UINT32_C(0x11E8E247),
+          UINT32_C(0x0E6EABDD)},
+         {UINT32_C(0x48600734), UINT32_C(0xF204F0D6), UINT32_C(0x343D6475),
+          UINT32_C(0x04B3054C), UINT32_C(0xF7E6D181), UINT32_C(0x707BD9D8),
+          UINT32_C(0x6B353E20), UINT32_C(0x535CEC32), UINT32_C(0x108C5FE7),
+          UINT32_C(0xA185FA95), UINT32_C(0xB573367F), UINT32_C(0x7033EBFA),
+          UINT32_C(0x46552D77), UINT32_C(0xEC54E36B), UINT32_C(0x729C9EBA),
+          UINT32_C(0x235E6C1A)}},
+        {{UINT32_C(0x8B28C0DC), UINT32_C(0xECDCEE63), UINT32_C(0x36AE99A1),
+          UINT32_C(0xD4E35B40), UINT32_C(0x464A3D2F), UINT32_C(0xDACC813D),
+          UINT32_C(0xDBAF282E), UINT32_C(0x8D92802A), UINT32_C(0x7D8757F2),
+          UINT32_C(0x652CFF9C), UINT32_C(0x7F5A8471), UINT32_C(0x2C1BCBD9),
+          UINT32_C(0x16C3679A), UINT32_C(0x010192E2), UINT32_C(0x7529DB85),
+          UINT32_C(0x56269496)},
+         {UINT32_C(0xD5F89B94), UINT32_C(0x7480BB90), UINT32_C(0x1E46EDE6),
+          UINT32_C(0xE01FE3D8), UINT32_C(0x4E57E6F5), UINT32_C(0xC1843163),
+          UINT32_C(0x91C2DF63), UINT32_C(0x5F8C6884), UINT32_C(0x5FA2DC4D),
+          UINT32_C(0x42E01ED6), UINT32_C(0x8FF5A769), UINT32_C(0x629C95CD),
+          UINT32_C(0x6EAB4807), UINT32_C(0x0E8C1637), UINT32_C(0x0ABD9BB6),
+          UINT32_C(0x1C41FB66)}},
+        {{UINT32_C(0x6ED32E5F), UINT32_C(0x6B509B4F), UINT32_C(0x67C95F17),
+          UINT32_C(0xC62AFB25), UINT32_C(0x5CE4762A), UINT32_C(0x352D4B7A),
+          UINT32_C(0x9AFA6ACC), UINT32_C(0x33135815), UINT32_C(0x06D550B2),
+          UINT32_C(0x168B5654), UINT32_C(0xB528DF40), UINT32_C(0x254DCCE0),
+          UINT32_C(0x222C9415), UINT32_C(0x422ADB9A), UINT32_C(0x3D2F923E),
+          UINT32_C(0x6FC0F2CE)},
+         {UINT32_C(0x59359CE7), UINT32_C(0x3CC08723), UINT32_C(0x91A4DC50),
+          UINT32_C(0x1779C0CD), UINT32_C(0xC8B9922D), UINT32_C(0x1205971E),
+          UINT32_C(0xC13192A7), UINT32_C(0x199F8198), UINT32_C(0x492DB7AA),
+          UINT32_C(0xA43FBDBF), UINT32_C(0xE82BEEC8), UINT32_C(0x9E173427),
+          UINT32_C(0x3850D54E), UINT32_C(0x1E901499), UINT32_C(0xF761EC57),
+          UINT32_C(0x603774B7)}},
+        {{UINT32_C(0x2BDEF3A9), UINT32_C(0x23B79C80), UINT32_C(0xD19A5F2C),
+          UINT32_C(0x2217119A), UINT32_C(0x56B09A50), UINT32_C(0x49194CE1),
+          UINT32_C(0x21329201), UINT32_C(0xEE7D88A2), UINT32_C(0xD0BBED28),
+          UINT32_C(0x1C45A959), UINT32_C(0x780FA0D1), UINT32_C(0x1BA5DAD5),
+          UINT32_C(0x6959608D), UINT32_C(0x17D7C794), UINT32_C(0x7E4E9B1F),
+          UINT32_C(0x7DA39423)},
+         {UINT32_C(0x47508CA7), UINT32_C(0x435F5C55), UINT32_C(0x516AD549),
+          UINT32_C(0x84583489), UINT32_C(0x02BAE814), UINT32_C(0x09DDC49D),
+          UINT32_C(0x260B4D97), UINT32_C(0xCD566B6E), UINT32_C(0xE38DF931),
+          UINT32_C(0x8C11211E), UINT32_C(0x05D473F8), UINT32_C(0x7D5FC8D0),
+          UINT32_C(0x865C76F2), UINT32_C(0x48C9D7CD), UINT32_C(0x2A6D5599),
+          UINT32_C(0x2D451737)}},
+        {{UINT32_C(0x29C4EACD), UINT32_C(0x5F8B137B), UINT32_C(0x99075883),
+          UINT32_C(0x5CB8477C), UINT32_C(0x50A641C4), UINT32_C(0xBC6736A7),
+          UINT32_C(0x81B0881D), UINT32_C(0xF96B6D0E), UINT32_C(0xE561FC8F),
+          UINT32_C(0x8E9C2612), UINT32_C(0x284E20B7), UINT32_C(0x8F742744),
+          UINT32_C(0xD4DD11EE), UINT32_C(0xBC8C5BE7), UINT32_C(0x82B2EF56),
+          UINT32_C(0x414709E7)},
+         {UINT32_C(0x6DF555F2), UINT32_C(0xE4D6BC0A), UINT32_C(0x38EE529F),
+          UINT32_C(0x916E0A80), UINT32_C(0x3414117E), UINT32_C(0xBBE31273),
+          UINT32_C(0x3154234A), UINT32_C(0x2D7BF9CD), UINT32_C(0x1852E8EE),
+          UINT32_C(0x79B9CFA9), UINT32_C(0x1BD9C07A), UINT32_C(0x62653E8C),
+          UINT32_C(0x7C7AFF7E), UINT32_C(0x35FE04F6), UINT32_C(0xE70AE283),
+          UINT32_C(0x746C1E87)}},
+        {{UINT32_C(0x98366BA5), UINT32_C(0x1F5857A1), UINT32_C(0x414DECAD),
+          UINT32_C(0x96781D84), UINT32_C(0x66CF983E), UINT32_C(0xB39DD888),
+          UINT32_C(0xCAC19B5F), UINT32_C(0xDE1050AC), UINT32_C(0x8B2AA408),
+          UINT32_C(0x5A58BFA8), UINT32_C(0x3C440DED), UINT32_C(0xA0A6E961),
+          UINT32_C(0xC67D0412), UINT32_C(0xBAAEC3DF), UINT32_C(0x6759674E),
+          UINT32_C(0x0E37C0E0)},
+         {UINT32_C(0x63880D22), UINT32_C(0x1E623E75), UINT32_C(0xF0ACB4B6),
+          UINT32_C(0x3BE27CF8), UINT32_C(0x4F69642E), UINT32_C(0x5E6ABD4F),
+          UINT32_C(0x13CADA08), UINT32_C(0x3E92D34D), UINT32_C(0x0127C48B),
+          UINT32_C(0x56C64429), UINT32_C(0x7F3C5746), UINT32_C(0x620FC35B),
+          UINT32_C(0xEF94C612), UINT32_C(0x6870F3DE), UINT32_C(0x2606F4A4),
+          UINT32_C(0x219C5A5A)}},
+        {{UINT32_C(0x1625FE00), UINT32_C(0x0AD4ACAA), UINT32_C(0x9BEE03FF),
+          UINT32_C(0xD7DEE6BB), UINT32_C(0x2E594A2C), UINT32_C(0x72A27D3B),
+          UINT32_C(0xAAB1C0E5), UINT32_C(0x471EFD78), UINT32_C(0x37857650),
+          UINT32_C(0xBDE8465E), UINT32_C(0xBD9F5885), UINT32_C(0x1CA721C2),
+          UINT32_C(0x6073DCEF), UINT32_C(0x361E6F8A), UINT32_C(0x0A7CF8E9),
+          UINT32_C(0x2BA435E3)},
+         {UINT32_C(0x1C6893FA), UINT32_C(0xC7B032BD), UINT32_C(0x09D4E403),
+          UINT32_C(0xFA9C30E8), UINT32_C(0x20293A47), UINT32_C(0xB03AF5BD),
+          UINT32_C(0xE008F02D), UINT32_C(0x21EBC61B), UINT32_C(0x73D59E63),
+          UINT32_C(0x0A50151D), UINT32_C(0x78D260DB), UINT32_C(0x18D1A3F6),
+          UINT32_C(0x7D79BA96), UINT32_C(0xE8E3C3F4), UINT32_C(0x75A06F31),
+          UINT32_C(0x51FAED37)}},
+        {{UINT32_C(0xE8BCBC8B), UINT32_C(0xECD4B979), UINT32_C(0xF803878F),
+          UINT32_C(0x7529023C), UINT32_C(0x9A8B8850), UINT32_C(0xAD84E184),
+          UINT32_C(0xCCF88146), UINT32_C(0xF1E004F8), UINT32_C(0xC194F3F5),
+          UINT32_C(0x27406240), UINT32_C(0xE366D6B0), UINT32_C(0x175AB72F),
+          UINT32_C(0x13BBCC48), UINT32_C(0x1A44BC85), UINT32_C(0x12F138C6),
+          UINT32_C(0x7930F869)},
+         {UINT32_C(0x18E4DCD0), UINT32_C(0x1943A865), UINT32_C(0xBCE9F068),
+          UINT32_C(0x747F6C7C), UINT32_C(0x54D067F7), UINT32_C(0x5A306F64),
+          UINT32_C(0xEDB2062A), UINT32_C(0xD1A8EF54), UINT32_C(0xA42F21B3),
+          UINT32_C(0x60E6ACAE), UINT32_C(0x3B2D2C26), UINT32_C(0x9218654F),
+          UINT32_C(0xE8B2778E), UINT32_C(0xEDE14471), UINT32_C(0x8CEE6931),
+          UINT32_C(0x7B868D31)}},
+        {{UINT32_C(0xB368FF42), UINT32_C(0x0957A4F6), UINT32_C(0x004C85FC),
+          UINT32_C(0xF9F134FD), UINT32_C(0x19017E1D), UINT32_C(0x3A6B8A47),
+          UINT32_C(0x7D50A61E), UINT32_C(0x673A45EA), UINT32_C(0x4E18EE86),
+          UINT32_C(0x4A26DA49), UINT32_C(0xDF0C17A6), UINT32_C(0xAF7DD8FD),
+          UINT32_C(0x7E7277C3), UINT32_C(0xD24BF75A), UINT32_C(0xBF72613C),
+          UINT32_C(0x5EF832A1)},
+         {UINT32_C(0x3300EE10), UINT32_C(0x2E9C8E08), UINT32_C(0x8763AB4E),
+          UINT32_C(0xCCA04C06), UINT32_C(0xA6B7D854), UINT32_C(0x5F8DBC28),
+          UINT32_C(0x4025C222), UINT32_C(0xC6CD3DE8), UINT32_C(0x0DFE44A5),
+          UINT32_C(0xEFD30CC1), UINT32_C(0x1D7BE70F), UINT32_C(0xC2CD4442),
+          UINT32_C(0x45CCED5D), UINT32_C(0x06F8D46B), UINT32_C(0x2EF0C653),
+          UINT32_C(0x2D74D0D6)}},
+        {{UINT32_C(0xB26E78B9), UINT32_C(0x151B24DF), UINT32_C(0x0BB1ED51),
+          UINT32_C(0xC57E8156), UINT32_C(0x9C13974B), UINT32_C(0x57BAADA5),
+          UINT32_C(0x20CC5AF3), UINT32_C(0x98336FB8), UINT32_C(0x0C790E28),
+          UINT32_C(0x1DA5BD29), UINT32_C(0x8C6E2539), UINT32_C(0x877AA935),
+          UINT32_C(0x09AEE9D2), UINT32_C(0x1673F151), UINT32_C(0x0AEE66D8),
+          UINT32_C(0x519FB4EE)},
+         {UINT32_C(0x6AA8D898), UINT32_C(0x2B798F20), UINT32_C(0xBA86008C),
+          UINT32_C(0xC3DFB5EC), UINT32_C(0x343A8CBF), UINT32_C(0xF780333B),
+          UINT32_C(0xB6D2056E), UINT32_C(0xFF22F62A), UINT32_C(0x182EF2A6),
+          UINT32_C(0x97F3006E), UINT32_C(0x3064AC5E), UINT32_C(0x3C5ADB49),
+          UINT32_C(0xC9D64C70), UINT32_C(0x89C8C032), UINT32_C(0x243DB254),
+          UINT32_C(0x1A9ABDED)}},
+        {{UINT32_C(0x11A375BF), UINT32_C(0xA84B6362), UINT32_C(0x620A2252),
+          UINT32_C(0x598270A6), UINT32_C(0x13A0EFF8), UINT32_C(0xB183EC9D),
+          UINT32_C(0xB755AD35), UINT32_C(0x2F7BEBD4), UINT32_C(0xC53EFD69),
+          UINT32_C(0xEBA848ED), UINT32_C(0x6FAEC1B6), UINT32_C(0x12059A24),
+          UINT32_C(0x7A290D7B), UINT32_C(0xBA6340A4), UINT32_C(0x63DF6036),
+          UINT32_C(0x22849432)},
+         {UINT32_C(0x2AA27F19), UINT32_C(0x4702BCB6), UINT32_C(0x9B6D66D6),
+          UINT32_C(0x8DDE4920), UINT32_C(0xBDC2DC5D), UINT32_C(0xC3D4A80B),
+          UINT32_C(0x691A8BD4), UINT32_C(0xE51AC2D6), UINT32_C(0x8F4211FC),
+          UINT32_C(0x79485351), UINT32_C(0xA9D14C71), UINT32_C(0x163CD093),
+          UINT32_C(0x89A0E099), UINT32_C(0x4B38A2B1), UINT32_C(0x9E98054E),
+          UINT32_C(0x16673245)}},
+        {{UINT32_C(0x31FBB6B8), UINT32_C(0xFB441071), UINT32_C(0x42AD947A),
+          UINT32_C(0x79A8775C), UINT32_C(0xE72D0384), UINT32_C(0xA8C9E486),
+          UINT32_C(0x840A1DDB), UINT32_C(0x9AF7F292), UINT32_C(0x2DB1B47D),
+          UINT32_C(0x07E9DB52), UINT32_C(0xBA81EBAD), UINT32_C(0x0698669A),
+          UINT32_C(0x2DC06B76), UINT32_C(0xA48E2F03), UINT32_C(0x79B9161A),
+          UINT32_C(0x1B060248)},
+         {UINT32_C(0x13C53A83), UINT32_C(0xD47BADE1), UINT32_C(0x68727195),
+          UINT32_C(0x9C1F4DD0), UINT32_C(0x1293376B), UINT32_C(0x14A2FC60),
+          UINT32_C(0xDC206930), UINT32_C(0x8A63967E), UINT32_C(0x98E46F8B),
+          UINT32_C(0x5D9DFE38), UINT32_C(0x85CF7B41), UINT32_C(0x9199E193),
+          UINT32_C(0x113D1605), UINT32_C(0x3E8DF54D), UINT32_C(0x303789E1),
+          UINT32_C(0x14D3C202)}},
+        {{UINT32_C(0x626710EB), UINT32_C(0x11A727D4), UINT32_C(0x3EB613F1),
+          UINT32_C(0x38481EC1), UINT32_C(0x5625E925), UINT32_C(0xB824F831),
+          UINT32_C(0xD03D016B), UINT32_C(0x3FEFE4F7), UINT32_C(0xBF1FE74C),
+          UINT32_C(0xCE196037), UINT32_C(0xE956E95F), UINT32_C(0xE5518F38),
+          UINT32_C(0x23E1AE46), UINT32_C(0x84E24D45), UINT32_C(0x3E0F63A1),
+          UINT32_C(0x29D1DB5A)},
+         {UINT32_C(0x4FAE4F08), UINT32_C(0x380BF787), UINT32_C(0xED8B6A7C),
+          UINT32_C(0xB4E5D477), UINT32_C(0xDC035A0D), UINT32_C(0xABA43C3A),
+          UINT32_C(0x25134A5C), UINT32_C(0x7B880508), UINT32_C(0x65D5A8CF),
+          UINT32_C(0x2DB45548), UINT32_C(0x7EDE5F4D), UINT32_C(0x776B78B6),
+          UINT32_C(0x79297E21), UINT32_C(0x4CB58481), UINT32_C(0x8BE6DBD4),
+          UINT32_C(0x1E191105)}},
+        {{UINT32_C(0x3E98C38E), UINT32_C(0x4D105437), UINT32_C(0xB2E8BE84),
+          UINT32_C(0xAE4B330C), UINT32_C(0xE16CA9CD), UINT32_C(0xB1A22A3D),
+          UINT32_C(0x1DAF0B8D), UINT32_C(0xE78B43CB), UINT32_C(0x5CB2B278),
+          UINT32_C(0x509D9C34), UINT32_C(0x29F9FFFD), UINT32_C(0x9A1342B3),
+          UINT32_C(0x73A20A3F), UINT32_C(0x8159F452), UINT32_C(0xCA064DAD),
+          UINT32_C(0x35043A47)},
+         {UINT32_C(0x040E7978), UINT32_C(0xE000710E), UINT32_C(0xFAF394BB),
+          UINT32_C(0x2A1DA585), UINT32_C(0x51524252), UINT32_C(0xF9423EE6),
+          UINT32_C(0x181ACF8B), UINT32_C(0xD95CE5EF), UINT32_C(0x613B5947),
+          UINT32_C(0x0097A9B5), UINT32_C(0xAB442CD0), UINT32_C(0x6F088D14),
+          UINT32_C(0xCAE96A8E), UINT32_C(0x4E225BAC), UINT32_C(0xEE82591B),
+          UINT32_C(0x753B77B9)}},
+        {{UINT32_C(0x43969A20), UINT32_C(0x41D5FEEC), UINT32_C(0x5B57402C),
+          UINT32_C(0xC7E1DFA2), UINT32_C(0x9C098C51), UINT32_C(0xC43BFFDD),
+          UINT32_C(0x2954A8F5), UINT32_C(0xAC5E7394), UINT32_C(0xB2E1308E),
+          UINT32_C(0xD420A646), UINT32_C(0xD7CAE952), UINT32_C(0x13476158),
+          UINT32_C(0xE7B188C1), UINT32_C(0x6A48FA12), UINT32_C(0xEC53C308),
+          UINT32_C(0x1CF2DE71)},
+         {UINT32_C(0x653FB0FE), UINT32_C(0xAA44CF54), UINT32_C(0x450317F4),
+          UINT32_C(0x4E05A63D), UINT32_C(0xE3AA21DA), UINT32_C(0x8B59BAA6),
+          UINT32_C(0x11F7840D), UINT32_C(0xFA3A1CDA), UINT32_C(0x39DB678D),
+          UINT32_C(0x220F39B6), UINT32_C(0x759CDCA0), UINT32_C(0x6D497E96),
+          UINT32_C(0x69FA5114), UINT32_C(0x0ADF3F29), UINT32_C(0x15349213),
+          UINT32_C(0x7836181D)}},
+    },
+    {
+        {{UINT32_C(0x5D6F9B3E), UINT32_C(0x1F11E63C), UINT32_C(0xA403A073),
+          UINT32_C(0x4569A6DA), UINT32_C(0xFE26A8BD), UINT32_C(0x1B585729),
+          UINT32_C(0x5F41FAA7), UINT32_C(0x2185B4E4), UINT32_C(0x6E99E6E1),
+          UINT32_C(0x3887350C), UINT32_C(0x99CFFB22), UINT32_C(0x92F63CA5),
+          UINT32_C(0xA52F6381), UINT32_C(0x94E93270), UINT32_C(0xD0A380FC),
+          UINT32_C(0x489EE2DF)},
+         {UINT32_C(0xB988D87D), UINT32_C(0x45F7836A), UINT32_C(0x337BEFA3),
+          UINT32_C(0xA44DCA0C), UINT32_C(0x55657370), UINT32_C(0x6F422436),
+          UINT32_C(0xC16D6547), UINT32_C(0xE5299B33), UINT32_C(0x1E5AAB47),
+          UINT32_C(0x74A82B2F), UINT32_C(0xCFA92CDB), UINT32_C(0x795A79B9),
+          UINT32_C(0x4981A557), UINT32_C(0x2EE0F1BE), UINT32_C(0xF5637DEF),
+          UINT32_C(0x3F7A2AC5)}},
+        {{UINT32_C(0x3A0FEA31), UINT32_C(0x78CF079D), UINT32_C(0x6F9069B7),
+          UINT32_C(0xF5A54C8C), UINT32_C(0xD8C02F14), UINT32_C(0x24C79868),
+          UINT32_C(0xF36B384F), UINT32_C(0x43DDB340), UINT32_C(0xAD874F73),
+          UINT32_C(0x8AF55E5E), UINT32_C(0x5856DB97), UINT32_C(0x29E81ACA),
+          UINT32_C(0x702DF822), UINT32_C(0xB23D0E00), UINT32_C(0x3D029F4B),
+          UINT32_C(0x58EF4F99)},
+         {UINT32_C(0xF26CA389), UINT32_C(0x0B28FA62), UINT32_C(0xECFF83DF),
+          UINT32_C(0xD3288224), UINT32_C(0x3FD82EB2), UINT32_C(0x5D8F2319),
+          UINT32_C(0x3D1CB29F), UINT32_C(0x68E3D3C5), UINT32_C(0xEC26BE41),
+          UINT32_C(0x8DF1A753), UINT32_C(0xC2C7412F), UINT32_C(0xB2074622),
+          UINT32_C(0x8D5018F7), UINT32_C(0x3A8D3504), UINT32_C(0xFD309F9B),
+          UINT32_C(0x0B0D2D49)}},
+        {{UINT32_C(0x9319D09A), UINT32_C(0xE997DD06), UINT32_C(0xDA1726DB),
+          UINT32_C(0xF8A2189F), UINT32_C(0x266E7222), UINT32_C(0x3AD35868),
+          UINT32_C(0x0F42E1A2), UINT32_C(0x0116610C), UINT32_C(0xE93CC223),
+          UINT32_C(0xF23385AC), UINT32_C(0x8D221503), UINT32_C(0xE06DE4F6),
+          UINT32_C(0xA36EE6D9), UINT32_C(0x0C963EF8), UINT32_C(0xC297BB1A),
+          UINT32_C(0x13B707C8)},
+         {UINT32_C(0x15B7BEF0), UINT32_C(0x10675424), UINT32_C(0xAB4ECC7E),
+          UINT32_C(0x9C064518), UINT32_C(0x83247132), UINT32_C(0x324CDF0C),
+          UINT32_C(0x4CE15206), UINT32_C(0xA9A41620), UINT32_C(0xF0EC82B3),
+          UINT32_C(0x0641C526), UINT32_C(0xF165B832), UINT32_C(0xD952D947),
+          UINT32_C(0x56C3BC3C), UINT32_C(0xF6E4EF5B), UINT32_C(0xEF1F3728),
+          UINT32_C(0x528479A6)}},
+        {{UINT32_C(0xA64A2C9B), UINT32_C(0xF84BE5DC), UINT32_C(0xB92B2A9D),
+          UINT32_C(0xC20AD405), UINT32_C(0x829BA060), UINT32_C(0xC965A45A),
+          UINT32_C(0xD9F58ABF), UINT32_C(0x5041E47F), UINT32_C(0x9E6AEB4E),
+          UINT32_C(0x360FB8E2), UINT32_C(0xB995DDB3), UINT32_C(0xDC3B93DE),
+          UINT32_C(0xFA2C89E5), UINT32_C(0x7FB0501F), UINT32_C(0x9C9B058F),
+          UINT32_C(0x1883F017)},
+         {UINT32_C(0xABF2EABC), UINT32_C(0x9FC09649), UINT32_C(0xD2ADFBBE),
+          UINT32_C(0x051F9AA2), UINT32_C(0xF2471B9C), UINT32_C(0x000B4689),
+          UINT32_C(0x23DB9E67), UINT32_C(0x2C21C96A), UINT32_C(0xD9D7C226),
+          UINT32_C(0x840F2A03), UINT32_C(0x2E660925), UINT32_C(0xE728B070),
+          UINT32_C(0xA8258042), UINT32_C(0x1ED21D55), UINT32_C(0x8DA89F47),
+          UINT32_C(0x20DE972E)}},
+        {{UINT32_C(0xD3DE31B6), UINT32_C(0x3003BD09), UINT32_C(0x83781375),
+          UINT32_C(0x6883729E), UINT32_C(0xA7E281ED), UINT32_C(0x882F56AE),
+          UINT32_C(0x99873D07), UINT32_C(0x936861D3), UINT32_C(0xE329D05A),
+          UINT32_C(0x68DB9DF0), UINT32_C(0xB6ED5B00), UINT32_C(0xEFD44FB8),
+          UINT32_C(0xDE7AFD7D), UINT32_C(0x095DF018), UINT32_C(0x31FEE4D2),
+          UINT32_C(0x11DD7E74)},
+         {UINT32_C(0x052E3502), UINT32_C(0x59256A82), UINT32_C(0x967C4F10),
+          UINT32_C(0xB12A68CD), UINT32_C(0xF921E058), UINT32_C(0xF56E1410),
+          UINT32_C(0xD9721852), UINT32_C(0xF7E2CED1), UINT32_C(0xDE8CBE99),
+          UINT32_C(0xE62F6371), UINT32_C(0xBDCF5383), UINT32_C(0x51BB6086),
+          UINT32_C(0x05F1C9EF), UINT32_C(0xDE865C7F), UINT32_C(0x59C9DB82),
+          UINT32_C(0x2F4D471E)}},
+        {{UINT32_C(0x60A83A69), UINT32_C(0x5238E20B), UINT32_C(0x241F9EE4),
+          UINT32_C(0xE8ED22D8), UINT32_C(0xC44B4D6B), UINT32_C(0x94609C9F),
+          UINT32_C(0x738B047F), UINT32_C(0x8CB4F484), UINT32_C(0x3A311894),
+          UINT32_C(0x1DA03776), UINT32_C(0xFFEDBEDE), UINT32_C(0x3B2301D7),
+          UINT32_C(0xC28BFA7B), UINT32_C(0xBE0D9731), UINT32_C(0x8E73852C),
+          UINT32_C(0x03E672B7)},
+         {UINT32_C(0xAA676638), UINT32_C(0xA1A4A97D), UINT32_C(0x473A0CAB),
+          UINT32_C(0x1CC2C685), UINT32_C(0x2E95739F), UINT32_C(0x31FE1138),
+          UINT32_C(0x090C8025), UINT32_C(0x090AEB0D), UINT32_C(0x645B652E),
+          UINT32_C(0x9F0A7073), UINT32_C(0xE83798BD), UINT32_C(0xC03ABF85),
+          UINT32_C(0x48F4C4C3), UINT32_C(0x71FBC2D7), UINT32_C(0x0D38C5BA),
+          UINT32_C(0x56AE0E1E)}},
+        {{UINT32_C(0xF2C2C6C1), UINT32_C(0xDAFDB67C), UINT32_C(0xCF3D93C2),
+          UINT32_C(0xFD6B132E), UINT32_C(0xAE365613), UINT32_C(0xA6FD14BD),
+          UINT32_C(0x2B04AD13), UINT32_C(0x0B5A2A4A), UINT32_C(0x36B30288),
+          UINT32_C(0x2AA0470A), UINT32_C(0x2A2BB583), UINT32_C(0xBC984938),
+          UINT32_C(0x2DE94268), UINT32_C(0xC0520099), UINT32_C(0x49E1A2C3),
+          UINT32_C(0x2CD5FBBB)},
+         {UINT32_C(0xAAD935D9), UINT32_C(0x082C8F94), UINT32_C(0x51A9454D),
+          UINT32_C(0x20AECE5C), UINT32_C(0x19E2401F), UINT32_C(0x5BE24C7E),
+          UINT32_C(0xA327A3BB), UINT32_C(0x7BECBAF1), UINT32_C(0xB6300E64),
+          UINT32_C(0x39E76F20), UINT32_C(0x9CBC4DCE), UINT32_C(0x5D151BA7),
+          UINT32_C(0xB5D04C2A), UINT32_C(0x07726284), UINT32_C(0xB721A54D),
+          UINT32_C(0x4D8BD241)}},
+        {{UINT32_C(0x9BB85232), UINT32_C(0xD28B4A8E), UINT32_C(0xCAD53584),
+          UINT32_C(0x4F965F03), UINT32_C(0xDD1B0F12), UINT32_C(0xDAE3617B),
+          UINT32_C(0x6777B034), UINT32_C(0xDB8660B3), UINT32_C(0x5F952B6A),
+          UINT32_C(0xC67184DD), UINT32_C(0xCE065AD2), UINT32_C(0x0ADCC669),
+          UINT32_C(0x77CE4665), UINT32_C(0x1FC9CB46), UINT32_C(0x2234474A),
+          UINT32_C(0x0A01B64D)},
+         {UINT32_C(0x1D915F94), UINT32_C(0x0A749E82), UINT32_C(0x425F6ECA),
+          UINT32_C(0xF0D212C9), UINT32_C(0x1281CD10), UINT32_C(0x0C23D014),
+          UINT32_C(0x29DB5FC8), UINT32_C(0x0C933FD4), UINT32_C(0xBA5D8406),
+          UINT32_C(0x80DDA2EF), UINT32_C(0x338183C4), UINT32_C(0x8C1402D5),
+          UINT32_C(0xD4B5A7F9), UINT32_C(0x6E06C3E2), UINT32_C(0x8506CA5C),
+          UINT32_C(0x64E3E1AB)}},
+        {{UINT32_C(0xC94EA8D3), UINT32_C(0xAC11D879), UINT32_C(0x1F28B33F),
+          UINT32_C(0xDD8B6BA3), UINT32_C(0xAEEAD88D), UINT32_C(0x647E69AD),
+          UINT32_C(0x3933567E), UINT32_C(0xB49B31E1), UINT32_C(0xEE7A3136),
+          UINT32_C(0xBB12FE39), UINT32_C(0xC80837A7), UINT32_C(0x28FF74A3),
+          UINT32_C(0xB75677A8), UINT32_C(0x0A932C81), UINT32_C(0xC29F7F54),
+          UINT32_C(0x53D93D35)},
+         {UINT32_C(0x3AC6D6AE), UINT32_C(0x28497194), UINT32_C(0x02D7F721),
+          UINT32_C(0x220B50C7), UINT32_C(0xC1FC3346), UINT32_C(0xDA33488C),
+          UINT32_C(0xF9ED4655), UINT32_C(0xDD86F1EC), UINT32_C(0x632DB517),
+          UINT32_C(0xAC1853B2), UINT32_C(0x6F0C3545), UINT32_C(0x3736EA46),
+          UINT32_C(0x2D45B919), UINT32_C(0x3D92A778), UINT32_C(0x3D09DB84),
+          UINT32_C(0x5D9F5674)}},
+        {{UINT32_C(0x9AF99589), UINT32_C(0x00D30167), UINT32_C(0xC5B73D12),
+          UINT32_C(0x0B5213F3), UINT32_C(0x39E67DBF), UINT32_C(0x8A5A80AD),
+          UINT32_C(0xF837F8F4), UINT32_C(0xE2C58969), UINT32_C(0xD4EE1D6C),
+          UINT32_C(0x9DDF8923), UINT32_C(0x33DF50BB), UINT32_C(0x1AE3E0AF),
+          UINT32_C(0x4E518813), UINT32_C(0x7FBAA73B), UINT32_C(0x5F7BB71D),
+          UINT32_C(0x1CE6C9B6)},
+         {UINT32_C(0x66EB4A4E), UINT32_C(0xB12B057D), UINT32_C(0x382599E5),
+          UINT32_C(0x1C88E248), UINT32_C(0x4E5081A6), UINT32_C(0x5384C3E8),
+          UINT32_C(0x9E4ABC53), UINT32_C(0xB7992A1C), UINT32_C(0x044BF086),
+          UINT32_C(0xC0582520), UINT32_C(0xA7DB6B58), UINT32_C(0xE14418EB),
+          UINT32_C(0xC31464E1), UINT32_C(0x312673AD), UINT32_C(0x5FEAD6E3),
+          UINT32_C(0x27DEAEFF)}},
+        {{UINT32_C(0xADE2EA17), UINT32_C(0x55C37C50), UINT32_C(0x4F0C5622),
+          UINT32_C(0x1E159654), UINT32_C(0xF2BD8529), UINT32_C(0x6C96793C),
+          UINT32_C(0x5AF8E077), UINT32_C(0x2B562419), UINT32_C(0x52A39000),
+          UINT32_C(0x47F6A019), UINT32_C(0x163EFA85), UINT32_C(0xC364F4D4),
+          UINT32_C(0x58BE9780), UINT32_C(0xD3116C33), UINT32_C(0x9F098FF2),
+          UINT32_C(0x4DBED741)},
+         {UINT32_C(0x486D49D8), UINT32_C(0xB0DD4831), UINT32_C(0x75913B1C),
+          UINT32_C(0x84A0C549), UINT32_C(0x3E2FA892), UINT32_C(0xB4A79326),
+          UINT32_C(0xF8E1FCD2), UINT32_C(0x9E24FB33), UINT32_C(0xBB163DE8),
+          UINT32_C(0xE9E35346), UINT32_C(0x59EA0DF0), UINT32_C(0x04B20FA1),
+          UINT32_C(0xB8742A03), UINT32_C(0xB4D02BC4), UINT32_C(0x6C2841D9),
+          UINT32_C(0x081FA037)}},
+        {{UINT32_C(0xFBA142D2), UINT32_C(0x514F4ACB), UINT32_C(0x94E5F474),
+          UINT32_C(0x996B6E03), UINT32_C(0xCE24CA53), UINT32_C(0x5223E730),
+          UINT32_C(0x4F5B06A0), UINT32_C(0x527581EA), UINT32_C(0x6A33B429),
+          UINT32_C(0x31E6DD1A), UINT32_C(0xF6375ACD), UINT32_C(0x93A4E1C1),
+          UINT32_C(0x949ED4F7), UINT32_C(0x6C726FF3), UINT32_C(0xF8F882F8),
+          UINT32_C(0x4E416E72)},
+         {UINT32_C(0x2FD16999), UINT32_C(0x26FEC864), UINT32_C(0xABA0E3A7),
+          UINT32_C(0x41DF4A57), UINT32_C(0xB4FAF8AC), UINT32_C(0x15E54D3F),
+          UINT32_C(0x6F3F282A), UINT32_C(0xE4318BDC), UINT32_C(0xF014698B),
+          UINT32_C(0x07C320CD), UINT32_C(0x3468CBCE), UINT32_C(0x71B73830),
+          UINT32_C(0xD640CFD9), UINT32_C(0x1FD1AF59), UINT32_C(0xD34059EF),
+          UINT32_C(0x0CF151AE)}},
+        {{UINT32_C(0xA2B3DF22), UINT32_C(0xB7107CE7), UINT32_C(0x90B45D70),
+          UINT32_C(0xC1A4E08B), UINT32_C(0x5E20257F), UINT32_C(0xC86AFB66),
+          UINT32_C(0x11CE1970), UINT32_C(0xDD33CC96), UINT32_C(0x5F20F903),
+          UINT32_C(0x44C20C48), UINT32_C(0x936A4522), UINT32_C(0x87FECE7F),
+          UINT32_C(0x42105DEA), UINT32_C(0x867932E9), UINT32_C(0x47E2F4AB),
+          UINT32_C(0x31AEE1F5)},
+         {UINT32_C(0x55B1D8A3), UINT32_C(0x4CE020DF), UINT32_C(0x9B33E4D6),
+          UINT32_C(0x5841BB8C), UINT32_C(0x07E5C052), UINT32_C(0x99C6EF84),
+          UINT32_C(0xBB139F7B), UINT32_C(0x0F6F0DEF), UINT32_C(0x366377C5),
+          UINT32_C(0x5E608798), UINT32_C(0x101AFF93), UINT32_C(0xDE403CF3),
+          UINT32_C(0x4B69DBFC), UINT32_C(0x164B26D1), UINT32_C(0x46229B9E),
+          UINT32_C(0x190A8766)}},
+        {{UINT32_C(0x85A61975), UINT32_C(0xAC7B1FA1), UINT32_C(0x0A3C0E98),
+          UINT32_C(0x975ACE54), UINT32_C(0x173A29D7), UINT32_C(0xB80D922D),
+          UINT32_C(0x955E0187), UINT32_C(0x71AA4F0C), UINT32_C(0x3556BA4D),
+          UINT32_C(0xDB3716B9), UINT32_C(0x248C6ECE), UINT32_C(0x81E375E0),
+          UINT32_C(0x6AFD16A4), UINT32_C(0x4CCE9787), UINT32_C(0x03564374),
+          UINT32_C(0x67A717E8)},
+         {UINT32_C(0xE94E08C5), UINT32_C(0xE0FD3F7D), UINT32_C(0x71CA98AD),
+          UINT32_C(0xDA2A5872), UINT32_C(0xBA15DEF3), UINT32_C(0x34A8EAD7),
+          UINT32_C(0xC8EE8AC0), UINT32_C(0xD83A9987), UINT32_C(0xD9CE22C6),
+          UINT32_C(0x64167A82), UINT32_C(0xE859A064), UINT32_C(0x7EE988ED),
+          UINT32_C(0x603E188F), UINT32_C(0xD8B9D231), UINT32_C(0x0248F567),
+          UINT32_C(0x40C99266)}},
+        {{UINT32_C(0x387928A0), UINT32_C(0x4059BE67), UINT32_C(0x1412407D),
+          UINT32_C(0x5063C31E), UINT32_C(0xC37FB4AD), UINT32_C(0x78ABE79B),
+          UINT32_C(0x0DF5F4D6), UINT32_C(0xA9A4E76A), UINT32_C(0xF0C3C9C8),
+          UINT32_C(0x1F4CCCFC), UINT32_C(0xBB2D774F), UINT32_C(0x44A6D446),
+          UINT32_C(0x4991F3D4), UINT32_C(0x1B77494E), UINT32_C(0xC5908739),
+          UINT32_C(0x41F3A74C)},
+         {UINT32_C(0xC6B26A88), UINT32_C(0xB371AB6C), UINT32_C(0x454963FE),
+          UINT32_C(0x01E7AD15), UINT32_C(0x43898DC2), UINT32_C(0x12A6652C),
+          UINT32_C(0x1EE1BBD9), UINT32_C(0xC9CFD8BA), UINT32_C(0xC5437711),
+          UINT32_C(0x22037206), UINT32_C(0x062E81FD), UINT32_C(0x327F948D),
+          UINT32_C(0x9C87B698), UINT32_C(0xA2FF4F46), UINT32_C(0x4EB0808E),
+          UINT32_C(0x1E83A7F9)}},
+        {{UINT32_C(0xB80F91DF), UINT32_C(0xE2F16272), UINT32_C(0xB186EBD1),
+          UINT32_C(0xA0265684), UINT32_C(0x2E7D6A85), UINT32_C(0x207DAD69),
+          UINT32_C(0xF27F03D4), UINT32_C(0xEFABE500), UINT32_C(0x0244072F),
+          UINT32_C(0xEDD0F81D), UINT32_C(0x944AEDEA), UINT32_C(0x4CA26C63),
+          UINT32_C(0xE874F15F), UINT32_C(0xD8D01D46), UINT32_C(0x5A1130AE),
+          UINT32_C(0x73E39EED)},
+         {UINT32_C(0x0E5EC45F), UINT32_C(0xED9953FA), UINT32_C(0xB4D672DA),
+          UINT32_C(0x0F62DDD4), UINT32_C(0x89507053), UINT32_C(0x5115FE6F),
+          UINT32_C(0x8354B66C), UINT32_C(0x58968A29), UINT32_C(0x72ADF8E8),
+          UINT32_C(0xB37024D5), UINT32_C(0x4D98186B), UINT32_C(0xD7EC1D4A),
+          UINT32_C(0x7F418AC8), UINT32_C(0xB5B41AD6), UINT32_C(0x68B72616),
+          UINT32_C(0x2C0959C5)}},
+    },
+    {
+        {{UINT32_C(0x99EF1F4E), UINT32_C(0x1DD33DD5), UINT32_C(0x3CB93CF3),
+          UINT32_C(0x2F2951AF), UINT32_C(0x98F20535), UINT32_C(0x7BB75D57),
+          UINT32_C(0xBF95DDDE), UINT32_C(0x64C36788), UINT32_C(0x5E211976),
+          UINT32_C(0x74B787C9), UINT32_C(0xBE8D9E4F), UINT32_C(0xB464F818),
+          UINT32_C(0x91BEB188), UINT32_C(0x2631F721), UINT32_C(0x5EC2BFD7),
+          UINT32_C(0x3581CB61)},
+         {UINT32_C(0xC41A6EF1), UINT32_C(0x56A35D67), UINT32_C(0xF69A3D49),
+          UINT32_C(0x5895E76E), UINT32_C(0x8B97FDA2), UINT32_C(0x03192D2F),
+          UINT32_C(0xA0A94FA9), UINT32_C(0x11240C0B), UINT32_C(0xBDDB31E7),
+          UINT32_C(0x4DC27F38), UINT32_C(0x69A0D11A), UINT32_C(0x038AE33D),
+          UINT32_C(0x857974B5), UINT32_C(0x9F3A13EE), UINT32_C(0x0222E516),
+          UINT32_C(0x2ACA765E)}},
+        {{UINT32_C(0xD2421565), UINT32_C(0xFA06EFB5), UINT32_C(0x8AB1719F),
+          UINT32_C(0xC199817D), UINT32_C(0x48C3D0C4), UINT32_C(0x44325F2F),
+          UINT32_C(0x5A80BBEF), UINT32_C(0xDD6C1165), UINT32_C(0x02A61986),
+          UINT32_C(0x30791924), UINT32_C(0x3A7E4B1E), UINT32_C(0xEBD53E2A),
+          UINT32_C(0xC7AB55DB), UINT32_C(0xDD3E7657), UINT32_C(0x7A09B71B),
+          UINT32_C(0x43EA2DB2)},
+         {UINT32_C(0x0A3AE7D5), UINT32_C(0x9002748E), UINT32_C(0x5B23AE62),
+          UINT32_C(0x0590F7C6), UINT32_C(0x4A2305B0), UINT32_C(0x44EE4FA6),
+          UINT32_C(0xABA335D8), UINT32_C(0x914591BD), UINT32_C(0xAB32FC4D),
+          UINT32_C(0x5888289F), UINT32_C(0x6E19B810), UINT32_C(0xA5FED847),
+          UINT32_C(0x17DB4A48), UINT32_C(0x255C3F99), UINT32_C(0x6F25750A),
+          UINT32_C(0x0431EEB8)}},
+        {{UINT32_C(0xD0A38E64), UINT32_C(0xB398FF44), UINT32_C(0x05E41904),
+          UINT32_C(0x5FBAD7B9), UINT32_C(0x357B82CD), UINT32_C(0xBA57597B),
+          UINT32_C(0xA929E6BC), UINT32_C(0x18BE4419), UINT32_C(0xA98B452D),
+          UINT32_C(0x3F3F6D35), UINT32_C(0x58D546DA), UINT32_C(0x27425C5F),
+          UINT32_C(0xC446022B), UINT32_C(0x61A1BBDA), UINT32_C(0x689D15AF),
+          UINT32_C(0x3EA60775)},
+         {UINT32_C(0x3F8C1B93), UINT32_C(0xDD097042), UINT32_C(0x31E09914),
+          UINT32_C(0x951AAC56), UINT32_C(0x647CCFAC), UINT32_C(0x99C77D0F),
+          UINT32_C(0x6102DEE7), UINT32_C(0xF3CB5C7A), UINT32_C(0xF9484E59),
+          UINT32_C(0x2C1CAACB), UINT32_C(0x405766AC), UINT32_C(0x7EBD7135),
+          UINT32_C(0xB0C58371), UINT32_C(0x267C325C), UINT32_C(0xC2F52776),
+          UINT32_C(0x48FDF94D)}},
+        {{UINT32_C(0x4EE6EE71), UINT32_C(0xF6442788), UINT32_C(0xC09D8FAF),
+          UINT32_C(0x49D6F157), UINT32_C(0x3C93BF65), UINT32_C(0x159F7AA2),
+          UINT32_C(0x0B5464C4), UINT32_C(0x992387CF), UINT32_C(0xDEDA026E),
+          UINT32_C(0xFC15173B), UINT32_C(0xC989FD74), UINT32_C(0x90B860E6),
+          UINT32_C(0x2E98CC2D), UINT32_C(0xCC08BC0C), UINT32_C(0xC85BC472),
+          UINT32_C(0x089D2D48)},
+         {UINT32_C(0x3953E507), UINT32_C(0x9087C746), UINT32_C(0x90F97B85),
+          UINT32_C(0x54F480A3), UINT32_C(0x9F9CC5D0), UINT32_C(0x83D61993),
+          UINT32_C(0xC1970015), UINT32_C(0x0C55DE44), UINT32_C(0xDF669193),
+          UINT32_C(0xC45D5EA1), UINT32_C(0xFDCF23AB), UINT32_C(0x5DEFF1E7),
+          UINT32_C(0x2A211F3D), UINT32_C(0x2B38D479), UINT32_C(0x3E31284F),
+          UINT32_C(0x09927925)}},
+        {{UINT32_C(0xC38EFF1A), UINT32_C(0x30454C23), UINT32_C(0xFEC8424E),
+          UINT32_C(0x706FD470), UINT32_C(0x33467A08), UINT32_C(0xA2163197),
+          UINT32_C(0x80E6DB64), UINT32_C(0x7C8A4D43), UINT32_C(0xE9AB850B),
+          UINT32_C(0x505D89BF), UINT32_C(0x5E8DF0CB), UINT32_C(0xC10CFEFF),
+          UINT32_C(0x16304B39), UINT32_C(0x3EB45DF7), UINT32_C(0x527C325B),
+          UINT32_C(0x3AAE23FE)},
+         {UINT32_C(0xC153DA5D), UINT32_C(0x65DBB826), UINT32_C(0xFFCCCC80),
+          UINT32_C(0xB8EC2676), UINT32_C(0x1C8BA8C2), UINT32_C(0x4538FBAB),
+          UINT32_C(0x66FD20CA), UINT32_C(0x6FA94E52), UINT32_C(0xA9B7513F),
+          UINT32_C(0x480D857E), UINT32_C(0x82814908), UINT32_C(0xDB1C611C),
+          UINT32_C(0x53F81AA5), UINT32_C(0x0F1F21FF), UINT32_C(0xE1A47218),
+          UINT32_C(0x20696D2D)}},
+        {{UINT32_C(0x7AB6E8D8), UINT32_C(0xF31AA622), UINT32_C(0x686BB479),
+          UINT32_C(0x3D12F32B), UINT32_C(0x3BF6E8F8), UINT32_C(0xACA48C8A),
+          UINT32_C(0xFCECFCC0), UINT32_C(0x39D4F322), UINT32_C(0xC8BBCADE),
+          UINT32_C(0xCBD2E493), UINT32_C(0x5C695155), UINT32_C(0x18E2A8E7),
+          UINT32_C(0xDF022D32), UINT32_C(0x4047ED16), UINT32_C(0xCD6CDB7C),
+          UINT32_C(0x1040565E)},
+         {UINT32_C(0x64515BD6), UINT32_C(0x1B72EA47), UINT32_C(0x9320C9CB),
+          UINT32_C(0x0DC58AE8), UINT32_C(0x5310CDBD), UINT32_C(0xEE53907B),
+          UINT32_C(0x54FE7719), UINT32_C(0x7C2C62A1), UINT32_C(0x8AE9C75E),
+          UINT32_C(0xA0415080), UINT32_C(0x1E8A0123), UINT32_C(0x2BFC3780),
+          UINT32_C(0xCE6823AD), UINT32_C(0xBBCB26FE), UINT32_C(0xD61B79A7),
+          UINT32_C(0x5E4B59A0)}},
+        {{UINT32_C(0x90C0C1CA), UINT32_C(0x8C93F975), UINT32_C(0x8F518A16),
+          UINT32_C(0x0871A901), UINT32_C(0x964CACE1), UINT32_C(0x6477E523),
+          UINT32_C(0xA77046AC), UINT32_C(0xE52D22C8), UINT32_C(0xF9911C69),
+          UINT32_C(0x4FE86722), UINT32_C(0x0E21642C), UINT32_C(0x8B03B196),
+          UINT32_C(0xEEA31DF9), UINT32_C(0xDD3523EF), UINT32_C(0xD896AE4F),
+          UINT32_C(0x4D4EDD43)},
+         {UINT32_C(0xB8CB58A3), UINT32_C(0xEB5C2968), UINT32_C(0x9AF9580A),
+          UINT32_C(0x5C6C5B63), UINT32_C(0x3A166247), UINT32_C(0x20759CEB),
+          UINT32_C(0x0F964024), UINT32_C(0x812FBE1B), UINT32_C(0x816BFC2C),
+          UINT32_C(0xBB295EBA), UINT32_C(0x0BC4C607), UINT32_C(0x35525626),
+          UINT32_C(0x7D134609), UINT32_C(0x411799ED), UINT32_C(0x8615FBAA),
+          UINT32_C(0x7ECBDA12)}},
+        {{UINT32_C(0xE7C6C149), UINT32_C(0x45EB69B3), UINT32_C(0xF40D6D9C),
+          UINT32_C(0x9D414F65), UINT32_C(0x6AD70201), UINT32_C(0x3FC4D2A6),
+          UINT32_C(0x2E2EB20A), UINT32_C(0x039F56D2), UINT32_C(0xCE4F7AB7),
+          UINT32_C(0xAE25D395), UINT32_C(0x1B640F4F), UINT32_C(0xD69AE851),
+          UINT32_C(0xCF08596A), UINT32_C(0x912BA30C), UINT32_C(0xFB7DA74A),
+          UINT32_C(0x7C552E1C)},
+         {UINT32_C(0x298071AC), UINT32_C(0x57F7B3CC), UINT32_C(0x5029FCFB),
+          UINT32_C(0x7B38B186), UINT32_C(0xDBD1AFDA), UINT32_C(0x43D0A21D),
+          UINT32_C(0xCFDCE1D5), UINT32_C(0x2165A125), UINT32_C(0x099E931C),
+          UINT32_C(0xC2422D76), UINT32_C(0xD220528D), UINT32_C(0x3940B3F9),
+          UINT32_C(0x5892DDF1), UINT32_C(0xA530E1E0), UINT32_C(0xC5EDB806),
+          UINT32_C(0x5D1060BB)}},
+        {{UINT32_C(0xDA19A7BF), UINT32_C(0x03C39CB0), UINT32_C(0x35061C5A),
+          UINT32_C(0x9227C957), UINT32_C(0xE6733C8E), UINT32_C(0xB86AE697),
+          UINT32_C(0x1D91D056), UINT32_C(0x4790AB41), UINT32_C(0x91944712),
+          UINT32_C(0x82599E6E), UINT32_C(0x2126986F), UINT32_C(0xE6EEAB30),
+          UINT32_C(0x4C7C86DD), UINT32_C(0xF6CF6770), UINT32_C(0x81C7F520),
+          UINT32_C(0x0962C8E0)},
+         {UINT32_C(0x3E672910), UINT32_C(0x7275701A), UINT32_C(0x555D4EAA),
+          UINT32_C(0xCC253D25), UINT32_C(0x0F307D6F), UINT32_C(0xC87804A5),
+          UINT32_C(0x5E6E364D), UINT32_C(0xA6C40269), UINT32_C(0x9DE73155),
+          UINT32_C(0x5A4DB577), UINT32_C(0x45B03B16), UINT32_C(0x8513BC05),
+          UINT32_C(0x5CB1A5DF), UINT32_C(0x7EDB8B9F), UINT32_C(0xD4905C9B),
+          UINT32_C(0x5686C42A)}},
+        {{UINT32_C(0xC1288660), UINT32_C(0x1B9368C4), UINT32_C(0x3BCEFEDB),
+          UINT32_C(0x5F83CD35), UINT32_C(0xC33CD356), UINT32_C(0xB4656091),
+          UINT32_C(0x4920232F), UINT32_C(0x2284D907), UINT32_C(0x95B4CBCA),
+          UINT32_C(0x87816B06), UINT32_C(0xEF2D4546), UINT32_C(0xA35A7191),
+          UINT32_C(0x296E871A), UINT32_C(0xF9E71B1D), UINT32_C(0x5330AF13),
+          UINT32_C(0x72A7B9C3)},
+         {UINT32_C(0x401BE940), UINT32_C(0xAC61BC6F), UINT32_C(0x0DD2350E),
+          UINT32_C(0x0634D9D7), UINT32_C(0x0CE45A7C), UINT32_C(0xE27626F0),
+          UINT32_C(0x3493FA74), UINT32_C(0x9B38569F), UINT32_C(0x6EC9DC13),
+          UINT32_C(0x3F23C703), UINT32_C(0x9C62D952), UINT32_C(0x8BF8FF12),
+          UINT32_C(0x58132258), UINT32_C(0x5D53A2D2), UINT32_C(0x33A57773),
+          UINT32_C(0x1FC830A5)}},
+        {{UINT32_C(0x0F294E33), UINT32_C(0xAE58A3B9), UINT32_C(0xAEF8F84C),
+          UINT32_C(0xF12E0FC4), UINT32_C(0x649D16FF), UINT32_C(0x78C5BDDE),
+          UINT32_C(0x8827C75F), UINT32_C(0x12645CA1), UINT32_C(0x7F97ABED),
+          UINT32_C(0x1288C566), UINT32_C(0xC1E2781E), UINT32_C(0x0CAD8E5D),
+          UINT32_C(0xBC92FF24), UINT32_C(0x24B69A1D), UINT32_C(0x545221B2),
+          UINT32_C(0x7068305D)},
+         {UINT32_C(0x40F6201C), UINT32_C(0x7A9A3F7C), UINT32_C(0x5EFACD4C),
+          UINT32_C(0x5B7E5FA2), UINT32_C(0xD6275627), UINT32_C(0x85FACB2E),
+          UINT32_C(0x5BBE856B), UINT32_C(0xDD0FBA63), UINT32_C(0xB2E456FD),
+          UINT32_C(0x030826B1), UINT32_C(0x5F898479), UINT32_C(0x0FF397E8),
+          UINT32_C(0xBFAE4984), UINT32_C(0x68ECAA4E), UINT32_C(0xCAC01FD8),
+          UINT32_C(0x4EB40475)}},
+        {{UINT32_C(0x2BC4C766), UINT32_C(0x141804F1), UINT32_C(0xC8FB07C1),
+          UINT32_C(0xD84A76DA), UINT32_C(0xC83676A9), UINT32_C(0x29376B5B),
+          UINT32_C(0x3749490C), UINT32_C(0x3D3A00EB), UINT32_C(0xC5F439B6),
+          UINT32_C(0xA5EB6CF7), UINT32_C(0xEA156432), UINT32_C(0x16266439),
+          UINT32_C(0x03161D4B), UINT32_C(0x1CF83E25), UINT32_C(0x95E3E8A3),
+          UINT32_C(0x37603F22)},
+         {UINT32_C(0xE920EDDA), UINT32_C(0x62EE26EC), UINT32_C(0x0FC4DF7D),
+          UINT32_C(0xCD7734A3), UINT32_C(0xD7FBCA6B), UINT32_C(0x0EF3E6C9),
+          UINT32_C(0x87F1873A), UINT32_C(0xCF2460DA), UINT32_C(0x1895CF1C),
+          UINT32_C(0x00511072), UINT32_C(0x4F11854B), UINT32_C(0xB92A8E93),
+          UINT32_C(0x0C665D9D), UINT32_C(0x98556251), UINT32_C(0x174A7FF2),
+          UINT32_C(0x3CD64282)}},
+        {{UINT32_C(0xB9F9E43F), UINT32_C(0x39243EA7), UINT32_C(0x270D2DB1),
+          UINT32_C(0x973D4582), UINT32_C(0x0541FF4C), UINT32_C(0xEB8B5033),
+          UINT32_C(0x9F309D70), UINT32_C(0xED5F52A0), UINT32_C(0x123F45B6),
+          UINT32_C(0xE978FBAE), UINT32_C(0x0015781D), UINT32_C(0x0A79B693),
+          UINT32_C(0x5C9A03FB), UINT32_C(0xC5DA0CCF), UINT32_C(0xF16D4CE1),
+          UINT32_C(0x1C6E4F58)},
+         {UINT32_C(0x89CB89DB), UINT32_C(0x09674C2E), UINT32_C(0xC94A4D96),
+          UINT32_C(0xB3D147B1), UINT32_C(0x27D24C12), UINT32_C(0x936F3F88),
+          UINT32_C(0xA8C4BA25), UINT32_C(0x44E8C741), UINT32_C(0x920FDDE8),
+          UINT32_C(0x249A28AE), UINT32_C(0x229B2C19), UINT32_C(0x274F2B4E),
+          UINT32_C(0xFF4EC64D), UINT32_C(0x94C203EE), UINT32_C(0x43358F20),
+          UINT32_C(0x53284B1F)}},
+        {{UINT32_C(0xDCCFF94D), UINT32_C(0xE3AB8BAA), UINT32_C(0xF97449EE),
+          UINT32_C(0xF038D9A5), UINT32_C(0x5EF19F06), UINT32_C(0xE4A45DCF),
+          UINT32_C(0x17EF6368), UINT32_C(0xFFF8AD9A), UINT32_C(0xADDF0B6E),
+          UINT32_C(0x0CEB6B85), UINT32_C(0x96AC1BA3), UINT32_C(0x6C7B60B1),
+          UINT32_C(0xA25F77F8), UINT32_C(0xED84F897), UINT32_C(0x55886360),
+          UINT32_C(0x1EE61671)},
+         {UINT32_C(0x7BA18315), UINT32_C(0x08B44F38), UINT32_C(0xF3D0E0C4),
+          UINT32_C(0x8A9FFAE9), UINT32_C(0xE5886E61), UINT32_C(0x82807E7D),
+          UINT32_C(0x51E94C78), UINT32_C(0xF15402F3), UINT32_C(0x96A8AF2E),
+          UINT32_C(0x45969D9F), UINT32_C(0xF4956ACC), UINT32_C(0xA8E0ED89),
+          UINT32_C(0xF2D21764), UINT32_C(0xB5334DEC), UINT32_C(0x861C26B7),
+          UINT32_C(0x2B274E2F)}},
+        {{UINT32_C(0x99E77118), UINT32_C(0xC2E3A802), UINT32_C(0xC6DE1B4D),
+          UINT32_C(0xFFE72B90), UINT32_C(0xE29458FB), UINT32_C(0xCCB21D53),
+          UINT32_C(0x511F0279), UINT32_C(0xD233AF10), UINT32_C(0xB9B907B3),
+          UINT32_C(0xC301B7EA), UINT32_C(0xD7B55600), UINT32_C(0x59DB1F45),
+          UINT32_C(0x3A386844), UINT32_C(0x7173318B), UINT32_C(0xD9AB6F85),
+          UINT32_C(0x403ABED7)},
+         {UINT32_C(0x14698FC9), UINT32_C(0x0CFE2CFC), UINT32_C(0x34CE5939),
+          UINT32_C(0x40A41989), UINT32_C(0x9ABA363C), UINT32_C(0x0F5FA849),
+          UINT32_C(0x8CC887D9), UINT32_C(0x99C045AB), UINT32_C(0xE8DF250B),
+          UINT32_C(0x1E7563F5), UINT32_C(0xD3B78407), UINT32_C(0x2624A5DC),
+          UINT32_C(0x1954A966), UINT32_C(0x7D80CA6D), UINT32_C(0x4C8995C2),
+          UINT32_C(0x789BD685)}},
+        {{UINT32_C(0x83A05A40), UINT32_C(0xBA8D9376), UINT32_C(0x0572668D),
+          UINT32_C(0xDD238C0E), UINT32_C(0xE0AD7EAA), UINT32_C(0x5B41446F),
+          UINT32_C(0x63F9C64D), UINT32_C(0x6D1AD6B4), UINT32_C(0x8830CE1C),
+          UINT32_C(0xF5FE99AA), UINT32_C(0xF2B77D66), UINT32_C(0x5BB1E7DF),
+          UINT32_C(0xF7E63961), UINT32_C(0x7382CA41), UINT32_C(0x555032C4),
+          UINT32_C(0x56D6F922)},
+         {UINT32_C(0xAC45C214), UINT32_C(0xF9EAA991), UINT32_C(0x66146EA4),
+          UINT32_C(0x2A4B7172), UINT32_C(0xD14553F5), UINT32_C(0x5667D61F),
+          UINT32_C(0x3F7D071A), UINT32_C(0x996E8D8B), UINT32_C(0xE2229B97),
+          UINT32_C(0xCB023EA5), UINT32_C(0x398EA3C6), UINT32_C(0xA446A954),
+          UINT32_C(0xAAF9ABF2), UINT32_C(0x733E3D79), UINT32_C(0x47503BBD),
+          UINT32_C(0x2B4FAE8E)}},
+    },
+    {
+        {{UINT32_C(0xEBEFDC12), UINT32_C(0x24E9082D), UINT32_C(0x24FDCD6E),
+          UINT32_C(0x86997EA9), UINT32_C(0x03145F3F), UINT32_C(0x15129188),
+          UINT32_C(0xA16A167D), UINT32_C(0xC829D42C), UINT32_C(0xFDFACB6F),
+          UINT32_C(0x55C0A31C), UINT32_C(0x5B93FB73), UINT32_C(0x1A728DB4),
+          UINT32_C(0x467A55D2), UINT32_C(0x7A187912), UINT32_C(0x1E8843D3),
+          UINT32_C(0x7934C39C)},
+         {UINT32_C(0xF35497AA), UINT32_C(0x688D9927), UINT32_C(0x5A745926),
+          UINT32_C(0x2176E4E4), UINT32_C(0x4FF0DA29), UINT32_C(0xA60F1ED7),
+          UINT32_C(0xE66F5F74), UINT32_C(0xE1EF2081), UINT32_C(0x9EE53EFF),
+          UINT32_C(0xCDE36E79), UINT32_C(0x855244FF), UINT32_C(0xFCD1D1BF),
+          UINT32_C(0x464A4040), UINT32_C(0xD55CDB2E), UINT32_C(0x1E64BB0B),
+          UINT32_C(0x39BC13F1)}},
+        {{UINT32_C(0x65D70320), UINT32_C(0x828B3539), UINT32_C(0x954FE3CC),
+          UINT32_C(0x921019C6), UINT32_C(0x39DFC1EA), UINT32_C(0xC2B142C8),
+          UINT32_C(0xBAD22A43), UINT32_C(0x7A619A1C), UINT32_C(0xD827C06E),
+          UINT32_C(0xE08FA3AE), UINT32_C(0x88BAA42F), UINT32_C(0xAC645EFF),
+          UINT32_C(0x294F3582), UINT32_C(0x514723BA), UINT32_C(0xAA355FD2),
+          UINT32_C(0x6FD17829)},
+         {UINT32_C(0x11D05C79), UINT32_C(0x6366853C), UINT32_C(0x17D185C9),
+          UINT32_C(0xE225500B), UINT32_C(0xFA47EADA), UINT32_C(0xAEEC2174),
+          UINT32_C(0x6666332F), UINT32_C(0x9737ECC0), UINT32_C(0xE33AA72A),
+          UINT32_C(0xD0638BC9), UINT32_C(0xF6CF4E24), UINT32_C(0x4889AB0D),
+          UINT32_C(0x039E3190), UINT32_C(0x2912E4A0), UINT32_C(0xC035D955),
+          UINT32_C(0x411CFB3C)}},
+        {{UINT32_C(0x0B3BD0D0), UINT32_C(0xE59D745B), UINT32_C(0x0653222F),
+          UINT32_C(0x62AB04F9), UINT32_C(0x43E0EC6C), UINT32_C(0xE6421BB7),
+          UINT32_C(0x15E65B27), UINT32_C(0x6F3E4770), UINT32_C(0xD82704E6),
+          UINT32_C(0x90FB7585), UINT32_C(0xE9A129DF), UINT32_C(0xCF7FD882),
+          UINT32_C(0xD3D0023A), UINT32_C(0xFA8E1B9D), UINT32_C(0xDE4307E5),
+          UINT32_C(0x12861B4A)},
+         {UINT32_C(0xB86CF424), UINT32_C(0x9DC0D3D9), UINT32_C(0xC2DBE006),
+          UINT32_C(0xCFC0A60F), UINT32_C(0x2B9F470A), UINT32_C(0x5933BAA8),
+          UINT32_C(0xCAB8113B), UINT32_C(0x112F153C), UINT32_C(0x56B279C1),
+          UINT32_C(0x1AEDA340), UINT32_C(0xBE13DFA3), UINT32_C(0x1408A037),
+          UINT32_C(0xC06D3674), UINT32_C(0x10D90850), UINT32_C(0xAF30AE4A),
+          UINT32_C(0x3DB6999E)}},
+        {{UINT32_C(0x56348084), UINT32_C(0xAB96F013), UINT32_C(0x8C167F42),
+          UINT32_C(0x40395543), UINT32_C(0x2280FEB8), UINT32_C(0xE1385C9F),
+          UINT32_C(0x76D2C4AA), UINT32_C(0x36671625), UINT32_C(0x4D4D667B),
+          UINT32_C(0x76E31344), UINT32_C(0xEF0B171D), UINT32_C(0x906B5973),
+          UINT32_C(0xEBCCA769), UINT32_C(0x229BCCFA), UINT32_C(0x8A9A561C),
+          UINT32_C(0x36462E60)},
+         {UINT32_C(0x4FE428A6), UINT32_C(0xFD5116FD), UINT32_C(0xF3846007),
+          UINT32_C(0xE92C088A), UINT32_C(0x218A0D1E), UINT32_C(0x8AC5F8BE),
+          UINT32_C(0xDDF329CE), UINT32_C(0x59A97369), UINT32_C(0xCAB484D5),
+          UINT32_C(0xEA2D262E), UINT32_C(0xBD10F3EC), UINT32_C(0x6F95E17A),
+          UINT32_C(0xE08DDB7E), UINT32_C(0x6FFBEC38), UINT32_C(0x6446BB5D),
+          UINT32_C(0x55E8DE21)}},
+        {{UINT32_C(0x0CB565AE), UINT32_C(0xA5D6141A), UINT32_C(0xF9091FE2),
+          UINT32_C(0x8786B494), UINT32_C(0x1D6C9279), UINT32_C(0x89B1900F),
+          UINT32_C(0xC21934C0), UINT32_C(0x425AD0F5), UINT32_C(0xE2201D3E),
+          UINT32_C(0xF781FBF6), UINT32_C(0x61E0191D), UINT32_C(0x72100433),
+          UINT32_C(0x5B3E5491), UINT32_C(0x186A3999), UINT32_C(0x95E49235),
+          UINT32_C(0x6DF058E6)},
+         {UINT32_C(0x34559E42), UINT32_C(0x82D37E02), UINT32_C(0xA0E7F1D4),
+          UINT32_C(0x4AE4A8AC), UINT32_C(0xB34AAED2), UINT32_C(0x9941A84C),
+          UINT32_C(0x5484ECE0), UINT32_C(0x4DA92D32), UINT32_C(0xEB7C740E),
+          UINT32_C(0x6F1FB58C), UINT32_C(0x4965B6CC), UINT32_C(0xEC6FAE86),
+          UINT32_C(0x1CEFF73B), UINT32_C(0x179E8480), UINT32_C(0x72724658),
+          UINT32_C(0x58ED2BB3)}},
+        {{UINT32_C(0xAC30848E), UINT32_C(0xD6FA5A23), UINT32_C(0x53705571),
+          UINT32_C(0xFE58E2D3), UINT32_C(0x47EF14E7), UINT32_C(0x43368F72),
+          UINT32_C(0x694E6BB3), UINT32_C(0x7DDA0F48), UINT32_C(0xE9B7CEF9),
+          UINT32_C(0x0DFA9BF9), UINT32_C(0x9803203F), UINT32_C(0xA3BD4B23),
+          UINT32_C(0xAA1B561C), UINT32_C(0x3F0EAF0D), UINT32_C(0x11C56C8F),
+          UINT32_C(0x6E8678F3)},
+         {UINT32_C(0xB4272D39), UINT32_C(0x4E574AFB), UINT32_C(0x26A589E0),
+          UINT32_C(0xDD9622A9), UINT32_C(0x18E2B544), UINT32_C(0xCF41D028),
+          UINT32_C(0x479B717E), UINT32_C(0x7FE65A44), UINT32_C(0xABDE58B1),
+          UINT32_C(0x38D34C1F), UINT32_C(0x20E02EE5), UINT32_C(0x4A8B1A49),
+          UINT32_C(0x26D927F1), UINT32_C(0x6C2C5AF1), UINT32_C(0xCE4D534A),
+          UINT32_C(0x08E02884)}},
+        {{UINT32_C(0x3C9034CE), UINT32_C(0xF4747773), UINT32_C(0xA8CDA587),
+          UINT32_C(0x92B208B8), UINT32_C(0xA8A5D6F6), UINT32_C(0xDDB5A865),
+          UINT32_C(0x09FFBBCA), UINT32_C(0xE3C3150E), UINT32_C(0x71780DEE),
+          UINT32_C(0x120720D6), UINT32_C(0x1CB5E7E7), UINT32_C(0x6977608D),
+          UINT32_C(0xDBE5697A), UINT32_C(0x52261203), UINT32_C(0x184E7B19),
+          UINT32_C(0x1C88E9C4)},
+         {UINT32_C(0x9927BFC6), UINT32_C(0x6BE6C190), UINT32_C(0xF431A9E8),
+          UINT32_C(0xA1452123), UINT32_C(0xB949ED5C), UINT32_C(0x62BC5BF4),
+          UINT32_C(0x2BCF732C), UINT32_C(0xD57633C0), UINT32_C(0x0AE4563A),
+          UINT32_C(0xA3723F7C), UINT32_C(0x031958EA), UINT32_C(0x5449AFCE),
+          UINT32_C(0xA6580D6F), UINT32_C(0xE3BF9985), UINT32_C(0x6B471AA6),
+          UINT32_C(0x34B0D320)}},
+        {{UINT32_C(0x46BF771F), UINT32_C(0xEE28E9FC), UINT32_C(0xF23B38E6),
+          UINT32_C(0xDCD3C06E), UINT32_C(0x8D62D86B), UINT32_C(0x894E7864),
+          UINT32_C(0xC0209FC3), UINT32_C(0xF226C4DA), UINT32_C(0x6EC4D3B1),
+          UINT32_C(0xEEB85A81), UINT32_C(0x3ABEC007), UINT32_C(0x837F8A03),
+          UINT32_C(0x18C1A3EA), UINT32_C(0x622C40BC), UINT32_C(0x279C341A),
+          UINT32_C(0x49A59CB2)},
+         {UINT32_C(0xD38DC85B), UINT32_C(0xC3833ABA), UINT32_C(0x3E303976),
+          UINT32_C(0xC512B721), UINT32_C(0xA43BA4BF), UINT32_C(0x80CB1ADF),
+          UINT32_C(0x8FAD6957), UINT32_C(0x6C8A1574), UINT32_C(0xA0DC03A1),
+          UINT32_C(0xB5305AE5), UINT32_C(0xA78753F7), UINT32_C(0xA63FE0FC),
+          UINT32_C(0x7D4EB934), UINT32_C(0x81C2BCE1), UINT32_C(0xAD66F6FB),
+          UINT32_C(0x4ED73812)}},
+        {{UINT32_C(0xCA09A5D2), UINT32_C(0xAC25AB81), UINT32_C(0xB6EE3D0D),
+          UINT32_C(0x1E000EFC), UINT32_C(0x148738A5), UINT32_C(0x7EDA899F),
+          UINT32_C(0x4ABD3CA0), UINT32_C(0xEE70DFB4), UINT32_C(0x371F70BD),
+          UINT32_C(0xA9F18AF3), UINT32_C(0x30E796BC), UINT32_C(0xA2D64FE4),
+          UINT32_C(0x38943DC4), UINT32_C(0x77E42190), UINT32_C(0x06EB5CFC),
+          UINT32_C(0x35AEB8A2)},
+         {UINT32_C(0xDA26DB57), UINT32_C(0x95D36C2E), UINT32_C(0x3A546E88),
+          UINT32_C(0xEEF40F18), UINT32_C(0xE5D07294), UINT32_C(0xAD4D846B),
+          UINT32_C(0x95158FF2), UINT32_C(0x80BE6BA8), UINT32_C(0xC85F84EA),
+          UINT32_C(0xC15AC73F), UINT32_C(0x2044951E), UINT32_C(0xBAFC3952),
+          UINT32_C(0xA14C51AE), UINT32_C(0xEA750E8D), UINT32_C(0x524FC6FA),
+          UINT32_C(0x1817F004)}},
+        {{UINT32_C(0x14555CD7), UINT32_C(0x9C835DB3), UINT32_C(0x299196F6),
+          UINT32_C(0x76A92FC0), UINT32_C(0x6618F1A6), UINT32_C(0x35CDF54D),
+          UINT32_C(0xB3260002), UINT32_C(0x4B77E5A0), UINT32_C(0xA837BDB2),
+          UINT32_C(0x321C2EAF), UINT32_C(0xD5D4A743), UINT32_C(0x559AE831),
+          UINT32_C(0xE116E5CC), UINT32_C(0x0EB18D7F), UINT32_C(0x1945E60E),
+          UINT32_C(0x3FE7D292)},
+         {UINT32_C(0x649D5551), UINT32_C(0x4CA61AEF), UINT32_C(0x95257CC3),
+          UINT32_C(0x7C3CFBFF), UINT32_C(0x66A5D03B), UINT32_C(0x8AF04A74),
+          UINT32_C(0xFC3B143A), UINT32_C(0xA0C95ADE), UINT32_C(0xA61B0143),
+          UINT32_C(0x515258CE), UINT32_C(0x43A147BD), UINT32_C(0xF1959D4B),
+          UINT32_C(0x43B761E4), UINT32_C(0xAAE3EF4C), UINT32_C(0xBB8BEA3A),
+          UINT32_C(0x731F5D9E)}},
+        {{UINT32_C(0x6283C8DA), UINT32_C(0x483D5F55), UINT32_C(0xC067AF22),
+          UINT32_C(0x0CE48F6F), UINT32_C(0xCFB3FEF8), UINT32_C(0xBA767432),
+          UINT32_C(0x463510B2), UINT32_C(0x1AD7F214), UINT32_C(0x7D448527),
+          UINT32_C(0xDCFDB1A7), UINT32_C(0x119BA281), UINT32_C(0x3EEFAEDD),
+          UINT32_C(0x7B6597AB), UINT32_C(0x9D5F2546), UINT32_C(0xB8AE2AC1),
+          UINT32_C(0x03515E65)},
+         {UINT32_C(0xA768A2E9), UINT32_C(0x91A17476), UINT32_C(0x1C0B8745),
+          UINT32_C(0x921B21AA), UINT32_C(0xD1636FB2), UINT32_C(0xE1B0AB68),
+          UINT32_C(0x0A933BC5), UINT32_C(0x35AF62C1), UINT32_C(0x6CCA56F8),
+          UINT32_C(0x24432C7B), UINT32_C(0xE142C3D6), UINT32_C(0x88976C8F),
+          UINT32_C(0xC0EEC621), UINT32_C(0x1BAC1E5D), UINT32_C(0x7EB64467),
+          UINT32_C(0x2760B03A)}},
+        {{UINT32_C(0x535D9B1E), UINT32_C(0xCEFCAB97), UINT32_C(0xEFC85889),
+          UINT32_C(0x2DDF1964), UINT32_C(0x67FC56FE), UINT32_C(0x62276E02),
+          UINT32_C(0x9EA27125), UINT32_C(0xD33D4E1F), UINT32_C(0x3EAB0BFD),
+          UINT32_C(0xD11F0726), UINT32_C(0xB4E5A283), UINT32_C(0xCEF5BD00),
+          UINT32_C(0xA5ECFF20), UINT32_C(0x107CB2FB), UINT32_C(0x85321266),
+          UINT32_C(0x1D110BEC)},
+         {UINT32_C(0xB9C05938), UINT32_C(0x5CD67BCA), UINT32_C(0xEC9ED6BA),
+          UINT32_C(0x023B2FD6), UINT32_C(0xC44D68BE), UINT32_C(0x473FEF71),
+          UINT32_C(0x24006876), UINT32_C(0x6DB457A1), UINT32_C(0x5979901A),
+          UINT32_C(0xA56C47E3), UINT32_C(0x006B786D), UINT32_C(0x971F5FE7),
+          UINT32_C(0x8E3630E4), UINT32_C(0xD894B21C), UINT32_C(0xFF0AD8ED),
+          UINT32_C(0x56B8610D)}},
+        {{UINT32_C(0x6A9AD8B6), UINT32_C(0xDC574806), UINT32_C(0xA33AA074),
+          UINT32_C(0x39B1553A), UINT32_C(0x71EF2A51), UINT32_C(0x55233DAA),
+          UINT32_C(0xCCC11692), UINT32_C(0x6186F6F0), UINT32_C(0x51E7F2B8),
+          UINT32_C(0x949F7A8D), UINT32_C(0xBF2FF9B7), UINT32_C(0x9ED94F29),
+          UINT32_C(0x3B90382D), UINT32_C(0x54ED16DA), UINT32_C(0x4014335A),
+          UINT32_C(0x065D0975)},
+         {UINT32_C(0x7B737144), UINT32_C(0x95DA36F2), UINT32_C(0xDDD9C1E0),
+          UINT32_C(0xE0A7C458), UINT32_C(0x69B64234), UINT32_C(0x0DCE291C),
+          UINT32_C(0x8689DEF3), UINT32_C(0xF943B727), UINT32_C(0x24F80B28),
+          UINT32_C(0x1CB8375C), UINT32_C(0x8902EC28), UINT32_C(0x60EFAA29),
+          UINT32_C(0x673F34AF), UINT32_C(0x036BD90F), UINT32_C(0x02B1A208),
+          UINT32_C(0x687B36FB)}},
+        {{UINT32_C(0x0C031EE5), UINT32_C(0x1704A598), UINT32_C(0x8288EC60),
+          UINT32_C(0x325E6096), UINT32_C(0x16EFC6F9), UINT32_C(0x588F58A1),
+          UINT32_C(0x2C520574), UINT32_C(0xA1EA547F), UINT32_C(0x7FD9F40A),
+          UINT32_C(0x2633CB8F), UINT32_C(0x3AA1C0DD), UINT32_C(0x736D8CFA),
+          UINT32_C(0x92B3300E), UINT32_C(0x189E74DA), UINT32_C(0x92172793),
+          UINT32_C(0x6C92BE18)},
+         {UINT32_C(0xC6E25307), UINT32_C(0x3B67DADF), UINT32_C(0xCCF961F7),
+          UINT32_C(0x170BF45C), UINT32_C(0xB2C0629E), UINT32_C(0xF07F48B5),
+          UINT32_C(0x974F7169), UINT32_C(0xACB40994), UINT32_C(0x871177C5),
+          UINT32_C(0x29AD746C), UINT32_C(0xE3AE7857), UINT32_C(0x1AD449E2),
+          UINT32_C(0xAE9BE21F), UINT32_C(0xAFB63CB9), UINT32_C(0xB08FAEEC),
+          UINT32_C(0x0E6C676C)}},
+        {{UINT32_C(0x60CABC21), UINT32_C(0xA60E0D9F), UINT32_C(0x8BA79177),
+          UINT32_C(0xBDFC43CF), UINT32_C(0x7BEECCF8), UINT32_C(0x8362D84B),
+          UINT32_C(0x29F8FBE4), UINT32_C(0x0CC9E6BA), UINT32_C(0x4801BF01),
+          UINT32_C(0xCA90958A), UINT32_C(0xF13C6356), UINT32_C(0xCB84005E),
+          UINT32_C(0x90AE5AB9), UINT32_C(0x9CA6408B), UINT32_C(0xE668357C),
+          UINT32_C(0x293582F2)},
+         {UINT32_C(0xFFCEB4F6), UINT32_C(0xAA3A680A), UINT32_C(0xF18508A5),
+          UINT32_C(0x19CE2D54), UINT32_C(0xF430A62C), UINT32_C(0x74027BA5),
+          UINT32_C(0xDCB846D8), UINT32_C(0x7248CB8E), UINT32_C(0x3D3779E2),
+          UINT32_C(0x608F15E8), UINT32_C(0x52BB6633), UINT32_C(0x21B8A438),
+          UINT32_C(0xA95BDE4F), UINT32_C(0x64B4C82E), UINT32_C(0xCA13D8B1),
+          UINT32_C(0x75169F73)}},
+        {{UINT32_C(0x7435D441), UINT32_C(0xDC6C53C9), UINT32_C(0x630885A0),
+          UINT32_C(0x621030CD), UINT32_C(0x4CA9BBE8), UINT32_C(0x9F761C57),
+          UINT32_C(0x89453166), UINT32_C(0x3CBD7B51), UINT32_C(0x53EED18D),
+          UINT32_C(0xE80014E4), UINT32_C(0xFD48C287), UINT32_C(0xAB31FE34),
+          UINT32_C(0x0B1F2C06), UINT32_C(0xB908AA72), UINT32_C(0xDA592359),
+          UINT32_C(0x2A849D2E)},
+         {UINT32_C(0x9B7DA75A), UINT32_C(0x688DAA1B), UINT32_C(0x42D4659B),
+          UINT32_C(0x779B963B), UINT32_C(0x0DA7F5E1), UINT32_C(0x44BCCBE1),
+          UINT32_C(0x0E283A19), UINT32_C(0x96F4FE4E), UINT32_C(0x0F532628),
+          UINT32_C(0x00239F78), UINT32_C(0xB2BD3F1E), UINT32_C(0xA8E1A47F),
+          UINT32_C(0x49D504AD), UINT32_C(0x23D8F150), UINT32_C(0xA818FB1A),
+          UINT32_C(0x36F4D7AD)}},
+    },
+    {
+        {{UINT32_C(0x6FA6665A), UINT32_C(0xED7AAC76), UINT32_C(0xCD7ABC00),
+          UINT32_C(0x593FD44F), UINT32_C(0xE5940EBE), UINT32_C(0xB70DAA5D),
+          UINT32_C(0xE6CEB5B5), UINT32_C(0xBBD56469), UINT32_C(0x4EC6EC19),
+          UINT32_C(0x17B54A10), UINT32_C(0xF288553F), UINT32_C(0x2411F294),
+          UINT32_C(0x81534194), UINT32_C(0x01082082), UINT32_C(0x98F85E1E),
+          UINT32_C(0x3CFFCF3F)},
+         {UINT32_C(0x07E62220), UINT32_C(0x0B82B0FD), UINT32_C(0x50F91B0E),
+          UINT32_C(0x99B5CC19), UINT32_C(0x3AE5C675), UINT32_C(0x2C60F938),
+          UINT32_C(0xF42E3EEA), UINT32_C(0x6A25B099), UINT32_C(0x329D208C),
+          UINT32_C(0x498948A8), UINT32_C(0x6A343691), UINT32_C(0x45226E62),
+          UINT32_C(0x8B8E9C2D), UINT32_C(0x053643F6), UINT32_C(0x4A938DA8),
+          UINT32_C(0x56E1E564)}},
+        {{UINT32_C(0x2242A19C), UINT32_C(0x144DA678), UINT32_C(0xC072E8A2),
+          UINT32_C(0x0860A384), UINT32_C(0x318A08B7), UINT32_C(0xD782A875),
+          UINT32_C(0x8D318C54), UINT32_C(0xAC99802E), UINT32_C(0x307DA17A),
+          UINT32_C(0x329437A2), UINT32_C(0x6696DC0F), UINT32_C(0x35656A12),
+          UINT32_C(0xE2152828), UINT32_C(0xC5A9914A), UINT32_C(0x841C814B),
+          UINT32_C(0x3BCBD2FC)},
+         {UINT32_C(0x590C6FC2), UINT32_C(0x7D2FCF55), UINT32_C(0x6197DABE),
+          UINT32_C(0xCCCF4315), UINT32_C(0x0E2EB665), UINT32_C(0xF4701C36),
+          UINT32_C(0xE9400A11), UINT32_C(0x9D4F5A7C), UINT32_C(0x2F49F529),
+          UINT32_C(0x815C6218), UINT32_C(0xB015260A), UINT32_C(0x264A9BEF),
+          UINT32_C(0x177E94AB), UINT32_C(0x279A03B8), UINT32_C(0xF6E2518A),
+          UINT32_C(0x115481E6)}},
+        {{UINT32_C(0xBB65B1C1), UINT32_C(0x2FE0C370), UINT32_C(0xAABD8550),
+          UINT32_C(0x620FC63E), UINT32_C(0x9660303A), UINT32_C(0xA6EDA03F),
+          UINT32_C(0x802B6899), UINT32_C(0xC15FD5C5), UINT32_C(0x30FD19A1),
+          UINT32_C(0x6DFBBCA5), UINT32_C(0xC5394AAB), UINT32_C(0x2BC0DDA1),
+          UINT32_C(0x0CF41B04), UINT32_C(0xFC619634), UINT32_C(0x7DBCB198),
+          UINT32_C(0x64DDF00E)},
+         {UINT32_C(0x92602D0B), UINT32_C(0x78B289F6), UINT32_C(0xE4A24732),
+          UINT32_C(0x123CC6A5), UINT32_C(0x70913278), UINT32_C(0x5F2DB53B),
+          UINT32_C(0xC27EAC92), UINT32_C(0xD55AE856), UINT32_C(0x085696BA),
+          UINT32_C(0xCC82E112), UINT32_C(0x67F01774), UINT32_C(0xA421C179),
+          UINT32_C(0xE602BAF7), UINT32_C(0x7DEEF7FD), UINT32_C(0x35E94ADA),
+          UINT32_C(0x00A730B3)}},
+        {{UINT32_C(0x1DAC6F8B), UINT32_C(0x586D8DC8), UINT32_C(0x18F1FE48),
+          UINT32_C(0x89A56AC6), UINT32_C(0xF2A8BFA5), UINT32_C(0x51231A77),
+          UINT32_C(0xCA562E8C), UINT32_C(0xD36BE5FE), UINT32_C(0x9A6268D9),
+          UINT32_C(0x5DFE328F), UINT32_C(0x781FA0B4), UINT32_C(0x3110144C),
+          UINT32_C(0x7ACBE702), UINT32_C(0x6A18A190), UINT32_C(0xD70C4B5F),
+          UINT32_C(0x68F941C2)},
+         {UINT32_C(0x0A19654D), UINT32_C(0xCE3C1DE3), UINT32_C(0x49AD2799),
+          UINT32_C(0xCE96C000), UINT32_C(0x06E913EE), UINT32_C(0x9AD7B0F3),
+          UINT32_C(0x472A1C37), UINT32_C(0x625C4FC1), UINT32_C(0x967BBD4D),
+          UINT32_C(0x1E25E3AC), UINT32_C(0x2042C162), UINT32_C(0xE516CD88),
+          UINT32_C(0xC3197E40), UINT32_C(0x1483A10E), UINT32_C(0x84E5FAED),
+          UINT32_C(0x60815A8A)}},
+        {{UINT32_C(0xD1313B07), UINT32_C(0x3413EEA8), UINT32_C(0x49BC14B0),
+          UINT32_C(0x4B6C2CCF), UINT32_C(0xC33BE839), UINT32_C(0x56C78C84),
+          UINT32_C(0x0DC481C6), UINT32_C(0x00980F4F), UINT32_C(0x5E96BAE7),
+          UINT32_C(0xA34D712C), UINT32_C(0xEB0574F5), UINT32_C(0xEA386C4A),
+          UINT32_C(0x6BB4DC04), UINT32_C(0x834334AB), UINT32_C(0x47404A42),
+          UINT32_C(0x140F2209)},
+         {UINT32_C(0xCC6F8D14), UINT32_C(0x970B7DE3), UINT32_C(0xCCD6A840),
+          UINT32_C(0x7C9A38E9), UINT32_C(0xA63FAF90), UINT32_C(0x7C1C4638),
+          UINT32_C(0x1F10834E), UINT32_C(0x36AFEA84), UINT32_C(0x15765F2A),
+          UINT32_C(0xA9AA4A15), UINT32_C(0xD9240C98), UINT32_C(0xB20B2249),
+          UINT32_C(0xD03ABC25), UINT32_C(0x20116417), UINT32_C(0x37A8893D),
+          UINT32_C(0x69B34300)}},
+        {{UINT32_C(0x1021F8CA), UINT32_C(0x710FB075), UINT32_C(0x64008516),
+          UINT32_C(0xF90919DD), UINT32_C(0x2CCC8FFC), UINT32_C(0xB0ED3172),
+          UINT32_C(0x78988C41), UINT32_C(0xC6ADC85B), UINT32_C(0x0A1B81A9),
+          UINT32_C(0x1CDE6A9D), UINT32_C(0xC80CAC9E), UINT32_C(0x9ABC5114),
+          UINT32_C(0x43A7B1A7), UINT32_C(0x877E6082), UINT32_C(0x51BD9782),
+          UINT32_C(0x0CA1F0D1)},
+         {UINT32_C(0x6E6AACB7), UINT32_C(0xFBB662BB), UINT32_C(0x96CD1A74),
+          UINT32_C(0xDCAB0D77), UINT32_C(0xDC56300E), UINT32_C(0x603F2717),
+          UINT32_C(0xFE92F7E4), UINT32_C(0x327251B0), UINT32_C(0x7031603A),
+          UINT32_C(0x07E0CBED), UINT32_C(0xD04C19FD), UINT32_C(0xA0F296EC),
+          UINT32_C(0xB8C5E0AB), UINT32_C(0x3296BF9B), UINT32_C(0x49E5E7B6),
+          UINT32_C(0x41E72DDB)}},
+        {{UINT32_C(0xCE99C0C5), UINT32_C(0x47E9562C), UINT32_C(0xBA5372BF),
+          UINT32_C(0x4C5FD161), UINT32_C(0x5C808664), UINT32_C(0x05D1B7B1),
+          UINT32_C(0x539F8180), UINT32_C(0x9DBE76B6), UINT32_C(0xDDBD7BC3),
+          UINT32_C(0x646C3DDF), UINT32_C(0x97376739), UINT32_C(0x06032B96),
+          UINT32_C(0x696BDA3D), UINT32_C(0xB71DD971), UINT32_C(0x1D340FD0),
+          UINT32_C(0x75061EB8)},
+         {UINT32_C(0xE6A7DCA5), UINT32_C(0x6FD064FD), UINT32_C(0x8DB01DE3),
+          UINT32_C(0x79A31650), UINT32_C(0xF6483911), UINT32_C(0xB1B65A8D),
+          UINT32_C(0xA9DE2C37), UINT32_C(0xAF2BBE1C), UINT32_C(0x85CB42C5),
+          UINT32_C(0x6B663C9E), UINT32_C(0xB583E78E), UINT32_C(0x464FEDFE),
+          UINT32_C(0xFFDF93CB), UINT32_C(0x393C00F8), UINT32_C(0x9F96CF15),
+          UINT32_C(0x61CC9A6D)}},
+        {{UINT32_C(0xCA774807), UINT32_C(0x40EDC986), UINT32_C(0x4C334C01),
+          UINT32_C(0x8B2A531C), UINT32_C(0xCEB21FD6), UINT32_C(0x72D378C4),
+          UINT32_C(0x3833D841), UINT32_C(0x169C54E4), UINT32_C(0x82FE513F),
+          UINT32_C(0xCC830E8E), UINT32_C(0xABF34DD7), UINT32_C(0xBDC4ECD7),
+          UINT32_C(0xAEDD9FF5), UINT32_C(0xB5349484), UINT32_C(0xA404055B),
+          UINT32_C(0x12D7ADB3)},
+         {UINT32_C(0x637B7C24), UINT32_C(0x88027C00), UINT32_C(0xC0EB319D),
+          UINT32_C(0x755587A6), UINT32_C(0x2027178A), UINT32_C(0x3F24E32F),
+          UINT32_C(0xA4FE8F8D), UINT32_C(0xB912054E), UINT32_C(0x5C9A68D6),
+          UINT32_C(0x6AACA911), UINT32_C(0x235CF842), UINT32_C(0x14772328),
+          UINT32_C(0x0C0175F8), UINT32_C(0x6D3020A8), UINT32_C(0x3E0F7418),
+          UINT32_C(0x587768A7)}},
+        {{UINT32_C(0x1154C74A), UINT32_C(0x57E3A1F9), UINT32_C(0xB85FB8E8),
+          UINT32_C(0x80157FF5), UINT32_C(0xEE5DEFEC), UINT32_C(0xBEDB658D),
+          UINT32_C(0x067E9A0E), UINT32_C(0x65C0AA98), UINT32_C(0x229A5289),
+          UINT32_C(0xAF9A507A), UINT32_C(0xF954DD94), UINT32_C(0x6A13ACF0),
+          UINT32_C(0x53DC4C19), UINT32_C(0xB5F3A18D), UINT32_C(0x85AF938F),
+          UINT32_C(0x06AEB3F5)},
+         {UINT32_C(0x8C9BB087), UINT32_C(0x503F0622), UINT32_C(0xE3FEA015),
+          UINT32_C(0xEA19AC85), UINT32_C(0x403FB8FC), UINT32_C(0xE446CD70),
+          UINT32_C(0xDF5B398F), UINT32_C(0x1BDDC810), UINT32_C(0xAD2CAEC6),
+          UINT32_C(0x0CAF818F), UINT32_C(0x807AB004), UINT32_C(0x06983E52),
+          UINT32_C(0x79428650), UINT32_C(0xA6B33E3C), UINT32_C(0x231BAE71),
+          UINT32_C(0x182E3D46)}},
+        {{UINT32_C(0xB309DC4B), UINT32_C(0xAF54B735), UINT32_C(0x805890F1),
+          UINT32_C(0x494F7441), UINT32_C(0xF87271F6), UINT32_C(0x3CCD5F0C),
+          UINT32_C(0x7638102B), UINT32_C(0x2914763B), UINT32_C(0xFD258079),
+          UINT32_C(0x3CA50D01), UINT32_C(0x77CDD6A9), UINT32_C(0x6D9A3D47),
+          UINT32_C(0x1F4A05CE), UINT32_C(0xD81373B8), UINT32_C(0xCCD443ED),
+          UINT32_C(0x16B258DB)},
+         {UINT32_C(0xA3805FEE), UINT32_C(0xC9D4009F), UINT32_C(0x225FA57D),
+          UINT32_C(0x5EC56730), UINT32_C(0xAC17E4C0), UINT32_C(0x4A51A79B),
+          UINT32_C(0xE7750942), UINT32_C(0xB389FBA3), UINT32_C(0x1AB7E8BE),
+          UINT32_C(0x2B137D6E), UINT32_C(0xD8C26EFE), UINT32_C(0x3953702A),
+          UINT32_C(0xB79F2828), UINT32_C(0x6D86ED3E), UINT32_C(0x6D6A62C0),
+          UINT32_C(0x36ECEEE8)}},
+        {{UINT32_C(0x6B8B9B02), UINT32_C(0xF97E85FB), UINT32_C(0xC6F128F6),
+          UINT32_C(0x3319D570), UINT32_C(0xB4CA56DD), UINT32_C(0xDAB74E23),
+          UINT32_C(0x81FCBB47), UINT32_C(0x50CA71EF), UINT32_C(0xAAD7F910),
+          UINT32_C(0xBFC19F2E), UINT32_C(0xDB3772F4), UINT32_C(0x96650F9B),
+          UINT32_C(0xB6F26494), UINT32_C(0x5823F134), UINT32_C(0xCBFBD2E3),
+          UINT32_C(0x1B899B3E)},
+         {UINT32_C(0xF6CF8F8A), UINT32_C(0xD1589C42), UINT32_C(0x34DDB625),
+          UINT32_C(0x3168AAF5), UINT32_C(0x72ABDA08), UINT32_C(0x4C730535),
+          UINT32_C(0xF82913C3), UINT32_C(0x8B1C24C7), UINT32_C(0x239FBCD3),
+          UINT32_C(0xD7D80F27), UINT32_C(0x6B7C205D), UINT32_C(0xB18B4F05),
+          UINT32_C(0xD92056A6), UINT32_C(0x2864763F), UINT32_C(0xBCDB3022),
+          UINT32_C(0x0B3DDC7B)}},
+        {{UINT32_C(0x207F772B), UINT32_C(0x1AB037D6), UINT32_C(0x88767BFA),
+          UINT32_C(0xF050DD34), UINT32_C(0x79ABF05E), UINT32_C(0xFEF182FF),
+          UINT32_C(0x4B25067B), UINT32_C(0xAAFCFD0F), UINT32_C(0x34E155B0),
+          UINT32_C(0x1EB76235), UINT32_C(0x65CEF7A6), UINT32_C(0xA3B921C9),
+          UINT32_C(0xD9216B0A), UINT32_C(0x6CBD50B3), UINT32_C(0x9E578A9A),
+          UINT32_C(0x3E298A71)},
+         {UINT32_C(0x1CCE9059), UINT32_C(0xC0DEE851), UINT32_C(0xEBA49DE2),
+          UINT32_C(0x397344BB), UINT32_C(0xB08513DE), UINT32_C(0x45A60A85),
+          UINT32_C(0xF0D07F9B), UINT32_C(0x55D314F9), UINT32_C(0x12D12611),
+          UINT32_C(0xBF6D4D51), UINT32_C(0x30A7E8DE), UINT32_C(0x49F9BCF1),
+          UINT32_C(0x5435D109), UINT32_C(0xDB0A9058), UINT32_C(0x0F706CF2),
+          UINT32_C(0x4DE5C43F)}},
+        {{UINT32_C(0x70B6D62B), UINT32_C(0x7FF298D6), UINT32_C(0xE67688D3),
+          UINT32_C(0xB2FF0AD4), UINT32_C(0x805652BD), UINT32_C(0x5E63A6B2),
+          UINT32_C(0xAD74922A), UINT32_C(0x32D81219), UINT32_C(0xA9CCCC31),
+          UINT32_C(0x77D2E3A3), UINT32_C(0x2CF2EEE0), UINT32_C(0x031D571B),
+          UINT32_C(0x4FC7C9EA), UINT32_C(0x471653BD), UINT32_C(0x0AFC2A13),
+          UINT32_C(0x2322CC68)},
+         {UINT32_C(0x08C6D70E), UINT32_C(0x3D152EFF), UINT32_C(0xBEC5DBD9),
+          UINT32_C(0xBEC9CBCF), UINT32_C(0x6496310F), UINT32_C(0x41BD4962),
+          UINT32_C(0xB1A88E6B), UINT32_C(0xD23FC983), UINT32_C(0x5EF464E2),
+          UINT32_C(0x5B622EDC), UINT32_C(0xFFCC97BB), UINT32_C(0xC6500ADD),
+          UINT32_C(0xAA783FF4), UINT32_C(0xF2CCD3EF), UINT32_C(0x7CE05CC1),
+          UINT32_C(0x51AD3604)}},
+        {{UINT32_C(0x24C48E44), UINT32_C(0x4796EE83), UINT32_C(0xBBA7BC62),
+          UINT32_C(0xB4D448B0), UINT32_C(0x1C32B713), UINT32_C(0x2F356E4A),
+          UINT32_C(0x32050781), UINT32_C(0x980D6DCA), UINT32_C(0xB5F6C099),
+          UINT32_C(0xB52B1826), UINT32_C(0xA144D7F5), UINT32_C(0x01F7D68D),
+          UINT32_C(0xA23999CB), UINT32_C(0x09ABC596), UINT32_C(0x66246640),
+          UINT32_C(0x17C069DD)},
+         {UINT32_C(0x1F7E37A6), UINT32_C(0xB7D7F96C), UINT32_C(0xE46AAD16),
+          UINT32_C(0x57E198C0), UINT32_C(0xD1C0DF8C), UINT32_C(0xB2088DF9),
+          UINT32_C(0x3FDEC190), UINT32_C(0x0CC38EE4), UINT32_C(0xFB2D9B68),
+          UINT32_C(0x68DD1FC4), UINT32_C(0xAD1D73C0), UINT32_C(0x0AD94674),
+          UINT32_C(0x1B92B955), UINT32_C(0x9529C7DF), UINT32_C(0x0D141F7C),
+          UINT32_C(0x6711E361)}},
+        {{UINT32_C(0x3B87C175), UINT32_C(0x1B1A5159), UINT32_C(0x029FF8F9),
+          UINT32_C(0x7F62A639), UINT32_C(0xC69ADEFB), UINT32_C(0xA2E37638),
+          UINT32_C(0x58E309A0), UINT32_C(0x3AC773C6), UINT32_C(0x22EFD710),
+          UINT32_C(0x9E7A85FD), UINT32_C(0xA60E5275), UINT32_C(0xD29E2F3D),
+          UINT32_C(0x1163C9ED), UINT32_C(0xC4734B9B), UINT32_C(0x9CBEEE57),
+          UINT32_C(0x09D3204A)},
+         {UINT32_C(0x0B8A97AA), UINT32_C(0xB2339F8D), UINT32_C(0x7AE97B4D),
+          UINT32_C(0xC19C67A6), UINT32_C(0x65425033), UINT32_C(0x8C0E823F),
+          UINT32_C(0x8B186D7F), UINT32_C(0x447F972A), UINT32_C(0x32A6C164),
+          UINT32_C(0x43385E29), UINT32_C(0xE9E78569), UINT32_C(0x95049508),
+          UINT32_C(0xA074B68F), UINT32_C(0x2AF8C598), UINT32_C(0x5CD5E2F7),
+          UINT32_C(0x18AC97B8)}},
+        {{UINT32_C(0x01DEB288), UINT32_C(0xFAE61589), UINT32_C(0x885B8EA2),
+          UINT32_C(0x33F684F3), UINT32_C(0xCFA425B5), UINT32_C(0x89A90618),
+          UINT32_C(0xFBBF5B15), UINT32_C(0x8F5D3C2E), UINT32_C(0xC2B6CB28),
+          UINT32_C(0x379803C6), UINT32_C(0x990CE2DB), UINT32_C(0xFE683EA3),
+          UINT32_C(0x7B6E4E0C), UINT32_C(0xC1B3C21F), UINT32_C(0xEA3513DC),
+          UINT32_C(0x6F152C2E)},
+         {UINT32_C(0x9AB792CA), UINT32_C(0x23505338), UINT32_C(0x282A67AF),
+          UINT32_C(0xC64C7F27), UINT32_C(0x6498B24F), UINT32_C(0x6FCBDE65),
+          UINT32_C(0xA1612A06), UINT32_C(0x6FB7F7FC), UINT32_C(0x45C74402),
+          UINT32_C(0xFD575B9F), UINT32_C(0xA709A516), UINT32_C(0x6EAD0805),
+          UINT32_C(0xD4EF066B), UINT32_C(0xCA6208AE), UINT32_C(0x93954E65),
+          UINT32_C(0x23880ECE)}},
+    },
+    {
+        {{UINT32_C(0x7FB1977A), UINT32_C(0x2B13B8B8), UINT32_C(0x21B7871A),
+          UINT32_C(0xEA6510AD), UINT32_C(0x882483C7), UINT32_C(0xDBDCB0E8),
+          UINT32_C(0x4C379245), UINT32_C(0x5E2E9664), UINT32_C(0xEBAF2C56),
+          UINT32_C(0x581D4429), UINT32_C(0xCA79FCCF), UINT32_C(0xA929CBB0),
+          UINT32_C(0x2009377F), UINT32_C(0xE74D3D66), UINT32_C(0x610CC0D1),
+          UINT32_C(0x664661A5)},
+         {UINT32_C(0x0570237A), UINT32_C(0x1F778C19), UINT32_C(0x1769A370),
+          UINT32_C(0x905AEB86), UINT32_C(0xD6C06AEE), UINT32_C(0xF51B013B),
+          UINT32_C(0x43EFB668), UINT32_C(0xDF0D8905), UINT32_C(0x11E4D5DA),
+          UINT32_C(0xDD082BC3), UINT32_C(0xD7BE0C1D), UINT32_C(0x58AA1283),
+          UINT32_C(0x941E9230), UINT32_C(0x97F20D6B), UINT32_C(0x8BB614AD),
+          UINT32_C(0x486C960C)}},
+        {{UINT32_C(0x4CE9052B), UINT32_C(0x0B573B94), UINT32_C(0xD78F10E5),
+          UINT32_C(0x88B5C4CB), UINT32_C(0x77DCA0EB), UINT32_C(0xB131989B),
+          UINT32_C(0x81E63C3B), UINT32_C(0x7F405D80), UINT32_C(0x3818CA2D),
+          UINT32_C(0xCC31F185), UINT32_C(0xFE177EA8), UINT32_C(0x42F386A2),
+          UINT32_C(0x9D888B2A), UINT32_C(0x1B7DD56E), UINT32_C(0xC8E873E8),
+          UINT32_C(0x3A6D84D3)},
+         {UINT32_C(0x7E3FBCD6), UINT32_C(0xBCFEF877), UINT32_C(0xB36F3F68),
+          UINT32_C(0x5DA67B53), UINT32_C(0x5827FE5A), UINT32_C(0xE840229A),
+          UINT32_C(0xB989407B), UINT32_C(0x17689956), UINT32_C(0xAFE27325),
+          UINT32_C(0xAD6E3F87), UINT32_C(0xDB1E1A3E), UINT32_C(0x62027C70),
+          UINT32_C(0x7EBB4747), UINT32_C(0x86A2C909), UINT32_C(0x4A919D6B),
+          UINT32_C(0x47ADC4CC)}},
+        {{UINT32_C(0xA4CA0F15), UINT32_C(0x92381565), UINT32_C(0xC08705DB),
+          UINT32_C(0x67FB0C76), UINT32_C(0x03BA6D54), UINT32_C(0x661DA004),
+          UINT32_C(0x77C5C4F7), UINT32_C(0xF875EF24), UINT32_C(0x4157A282),
+          UINT32_C(0x0769B11C), UINT32_C(0xFAF534C6), UINT32_C(0x8ADB10AC),
+          UINT32_C(0x9CCD6AB2), UINT32_C(0x0312147B), UINT32_C(0xD67A443F),
+          UINT32_C(0x75390C00)},
+         {UINT32_C(0x21A1047C), UINT32_C(0x0F5A29A0), UINT32_C(0x83A146B8),
+          UINT32_C(0xCABB96FB), UINT32_C(0x2A3F2F48), UINT32_C(0x1375356A),
+          UINT32_C(0x83C57DB4), UINT32_C(0xDEAB7544), UINT32_C(0xF5AFA2F1),
+          UINT32_C(0x1AB71412), UINT32_C(0x73B58749), UINT32_C(0x21D94B48),
+          UINT32_C(0xFF2F369A), UINT32_C(0xBA87E6D5), UINT32_C(0xDBAE0E08),
+          UINT32_C(0x4B3B90B6)}},
+        {{UINT32_C(0x9116F02B), UINT32_C(0xB8648E3F), UINT32_C(0xCEF02B4F),
+          UINT32_C(0xA5E5A03B), UINT32_C(0xA70F456A), UINT32_C(0x21EB9835),
+          UINT32_C(0xC8A7C423), UINT32_C(0x44865319), UINT32_C(0xBCD6C0AD),
+          UINT32_C(0x57DB3941), UINT32_C(0x7D371806), UINT32_C(0x20D97A3A),
+          UINT32_C(0x0F8A3D51), UINT32_C(0xBE61AA4F), UINT32_C(0x13CB7D2B),
+          UINT32_C(0x7A6E0BBA)},
+         {UINT32_C(0xEEA5D6FB), UINT32_C(0xB3B98673), UINT32_C(0x87B03BAC),
+          UINT32_C(0x534EB45F), UINT32_C(0xA9508557), UINT32_C(0x6CEB244F),
+          UINT32_C(0xF209CC15), UINT32_C(0xA47FBAC7), UINT32_C(0x1FC65C19),
+          UINT32_C(0x41EBF99D), UINT32_C(0x7341650F), UINT32_C(0xD1477A86),
+          UINT32_C(0xB361E0F8), UINT32_C(0xC4E6EB8E), UINT32_C(0xD2B3D548),
+          UINT32_C(0x68FAF82E)}},
+        {{UINT32_C(0xF92B039B), UINT32_C(0xB9CCA467), UINT32_C(0x0E6F2A2B),
+          UINT32_C(0x9F7180AF), UINT32_C(0xADA011F8), UINT32_C(0xC3084870),
+          UINT32_C(0x882D7A38), UINT32_C(0xC814D1DC), UINT32_C(0xD51C1D14),
+          UINT32_C(0x3A145072), UINT32_C(0xD70F8B08), UINT32_C(0x595AC55B),
+          UINT32_C(0x71EFED45), UINT32_C(0x67308D05), UINT32_C(0x22DBFA33),
+          UINT32_C(0x2C660B98)},
+         {UINT32_C(0xAF8F2980), UINT32_C(0xC8EB4EEC), UINT32_C(0x6145AB09),
+          UINT32_C(0xBC8F2D72), UINT32_C(0xC22D5E84), UINT32_C(0x1A0A9D53),
+          UINT32_C(0x9ECD643E), UINT32_C(0x8E646008), UINT32_C(0xB541E2D8),
+          UINT32_C(0x6C704F66), UINT32_C(0x31995198), UINT32_C(0xEED597AA),
+          UINT32_C(0x619126C2), UINT32_C(0xB9032FA3), UINT32_C(0xB0A08F01),
+          UINT32_C(0x0CA4AEAB)}},
+        {{UINT32_C(0xDB421144), UINT32_C(0xF48A003D), UINT32_C(0x9885A445),
+          UINT32_C(0x4A7FA592), UINT32_C(0x8E8FA3DB), UINT32_C(0x040AA1C2),
+          UINT32_C(0x91A15B11), UINT32_C(0xCE94D874), UINT32_C(0xF0E875B7),
+          UINT32_C(0x79490F6D), UINT32_C(0x70318E86), UINT32_C(0x743A531D),
+          UINT32_C(0xC4630CD1), UINT32_C(0xE88CA2AF), UINT32_C(0xF5C5D4AD),
+          UINT32_C(0x6E2FE529)},
+         {UINT32_C(0xFE062D25), UINT32_C(0x619A4F46), UINT32_C(0xBD747C4F),
+          UINT32_C(0xCE1B5FAD), UINT32_C(0x3D512728), UINT32_C(0x3C428366),
+          UINT32_C(0x71AFAEC7), UINT32_C(0x7FE87908), UINT32_C(0x3DB8315E),
+          UINT32_C(0xB7006310), UINT32_C(0x7195E9B1), UINT32_C(0x97A0397B),
+          UINT32_C(0x84870127), UINT32_C(0x51EB939F), UINT32_C(0x517A32EE),
+          UINT32_C(0x768A3CD7)}},
+        {{UINT32_C(0x257E424F), UINT32_C(0x25234FFA), UINT32_C(0xAD164952),
+          UINT32_C(0x5D80ACE8), UINT32_C(0x7B4C0F5D), UINT32_C(0x4B15F386),
+          UINT32_C(0xF95006BD), UINT32_C(0x71963894), UINT32_C(0x69963C75),
+          UINT32_C(0x4781B778), UINT32_C(0xFD339850), UINT32_C(0xDECD94FB),
+          UINT32_C(0x11A9D79C), UINT32_C(0x1533454E), UINT32_C(0x92BFCA33),
+          UINT32_C(0x3B17EC40)},
+         {UINT32_C(0x12A30834), UINT32_C(0x58D0672A), UINT32_C(0x3E66F5D6),
+          UINT32_C(0x807B665B), UINT32_C(0xB164B077), UINT32_C(0xCD732AE8),
+          UINT32_C(0xF1F732BE), UINT32_C(0xED26F82E), UINT32_C(0x75A7B899),
+          UINT32_C(0x4E65CB2E), UINT32_C(0x3C72F22E), UINT32_C(0x2EA2BE74),
+          UINT32_C(0x4068CEFE), UINT32_C(0x60CD26F6), UINT32_C(0x1FEBEFAA),
+          UINT32_C(0x63734AC0)}},
+        {{UINT32_C(0xE7203401), UINT32_C(0x290E6008), UINT32_C(0xA67A0F47),
+          UINT32_C(0x3497CEA1), UINT32_C(0x641F5B86), UINT32_C(0xB079862C),
+          UINT32_C(0x7A0D51D1), UINT32_C(0xDF3CB483), UINT32_C(0xBC8D25B7),
+          UINT32_C(0x4CC0DCD1), UINT32_C(0xBDFAC20F), UINT32_C(0x1034F5FF),
+          UINT32_C(0x6881DBFB), UINT32_C(0xC5896F31), UINT32_C(0x68A39778),
+          UINT32_C(0x2C6BD4A1)},
+         {UINT32_C(0xF5CEDBE3), UINT32_C(0x6FAB7060), UINT32_C(0xF7141245),
+          UINT32_C(0xC51F3245), UINT32_C(0xC3EF1EEF), UINT32_C(0xA3FFA5A4),
+          UINT32_C(0x206172D5), UINT32_C(0x2FC2A0C7), UINT32_C(0x094E55D7),
+          UINT32_C(0x6616FCFF), UINT32_C(0x22EA071F), UINT32_C(0xC3F309FF),
+          UINT32_C(0xDD267FAA), UINT32_C(0x0685AADB), UINT32_C(0x6BC770C0),
+          UINT32_C(0x0AE3722A)}},
+        {{UINT32_C(0xE67270FB), UINT32_C(0x7B11DD6A), UINT32_C(0x0016905D),
+          UINT32_C(0x0128A351), UINT32_C(0xBFE007A0), UINT32_C(0x9CE64782),
+          UINT32_C(0x7714E091), UINT32_C(0x7324986D), UINT32_C(0x269E4410),
+          UINT32_C(0x3E796B16), UINT32_C(0x9A97AD36), UINT32_C(0x707A148C),
+          UINT32_C(0x87D5B9AC), UINT32_C(0xBE29A340), UINT32_C(0xF0D882B4),
+          UINT32_C(0x2F92E67E)},
+         {UINT32_C(0x57636C75), UINT32_C(0xB9F06642), UINT32_C(0xFB7F18EB),
+          UINT32_C(0xA803EF99), UINT32_C(0x1E9BF04A), UINT32_C(0x4B8A1D79),
+          UINT32_C(0x062068D6), UINT32_C(0x4C43526D), UINT32_C(0x800F0FF9),
+          UINT32_C(0xCA59CFF0), UINT32_C(0xE4389A8E), UINT32_C(0x8BE857C3),
+          UINT32_C(0x5383EDE8), UINT32_C(0x5042CF56), UINT32_C(0x0E02F40E),
+          UINT32_C(0x06791C9A)}},
+        {{UINT32_C(0xF5D076B4), UINT32_C(0x18A74ACE), UINT32_C(0xE41EC2CF),
+          UINT32_C(0x050C2161), UINT32_C(0x484F2CD0), UINT32_C(0xECC5823D),
+          UINT32_C(0xAA7C332A), UINT32_C(0x63B7B1BD), UINT32_C(0xABEE9CD9),
+          UINT32_C(0xAC6A274D), UINT32_C(0x7B7A7DB1), UINT32_C(0xEAC874F8),
+          UINT32_C(0x734BEA81), UINT32_C(0x0FA4B8E8), UINT32_C(0x243D05BA),
+          UINT32_C(0x1ADA0B97)},
+         {UINT32_C(0x822C8BC9), UINT32_C(0x724C084F), UINT32_C(0xA117425F),
+          UINT32_C(0xAE697A1B), UINT32_C(0x2CD06676), UINT32_C(0x39172804),
+          UINT32_C(0x23213E25), UINT32_C(0x87B4F920), UINT32_C(0xFC373ED4),
+          UINT32_C(0xCBA8C7A1), UINT32_C(0xD2F10FD2), UINT32_C(0xDAC6B96B),
+          UINT32_C(0xFD265CFF), UINT32_C(0xCC175798), UINT32_C(0xB731090A),
+          UINT32_C(0x1631D89C)}},
+        {{UINT32_C(0x6D19CB56), UINT32_C(0xB639A208), UINT32_C(0x42A88733),
+          UINT32_C(0x78F0F353), UINT32_C(0xE0323B20), UINT32_C(0xC6BC527B),
+          UINT32_C(0x6DE64954), UINT32_C(0x3406CEDD), UINT32_C(0xBAF8A735),
+          UINT32_C(0xAA89168B), UINT32_C(0x2D7B04AB), UINT32_C(0x7F68CEA0),
+          UINT32_C(0x5EEC36D4), UINT32_C(0x6EAD81B2), UINT32_C(0xBBCE0784),
+          UINT32_C(0x1C41724E)},
+         {UINT32_C(0x831BEE83), UINT32_C(0xDA5383AD), UINT32_C(0xF3C29716),
+          UINT32_C(0xA8B7BEE3), UINT32_C(0x35ACA35B), UINT32_C(0x5B7E0540),
+          UINT32_C(0xB8F21324), UINT32_C(0x8F006F3F), UINT32_C(0xA7B700CB),
+          UINT32_C(0x915849F8), UINT32_C(0xA455A08B), UINT32_C(0x77C5B34D),
+          UINT32_C(0xD6D73C0B), UINT32_C(0x13BA7C32), UINT32_C(0x6936AC88),
+          UINT32_C(0x65D599C9)}},
+        {{UINT32_C(0x4DA5FFF8), UINT32_C(0xF636CFE8), UINT32_C(0xD1E6E947),
+          UINT32_C(0xE5FD754E), UINT32_C(0x388A72F1), UINT32_C(0x8F960362),
+          UINT32_C(0x381C1C38), UINT32_C(0x95B55A07), UINT32_C(0x1DF2F860),
+          UINT32_C(0x31E1D02D), UINT32_C(0x12EA25F5), UINT32_C(0xC03243C7),
+          UINT32_C(0xC28C0062), UINT32_C(0x5FD87B58), UINT32_C(0x9D950661),
+          UINT32_C(0x5769E94D)},
+         {UINT32_C(0x6509E6E7), UINT32_C(0xF88C7CCF), UINT32_C(0xD3971A21),
+          UINT32_C(0x8A021BAB), UINT32_C(0x9B284C2F), UINT32_C(0x2655B4AA),
+          UINT32_C(0xC7050955), UINT32_C(0xC3E14580), UINT32_C(0x90E60DDF),
+          UINT32_C(0x63B332E2), UINT32_C(0xF1CD1B51), UINT32_C(0x6AB86D32),
+          UINT32_C(0x13BC748E), UINT32_C(0x9896AC11), UINT32_C(0x40FC1EBC),
+          UINT32_C(0x516D4D4A)}},
+        {{UINT32_C(0x8F7B417D), UINT32_C(0xC27DBB0A), UINT32_C(0x770CF92D),
+          UINT32_C(0xEE24827A), UINT32_C(0x5F9A2A6B), UINT32_C(0x22E08B64),
+          UINT32_C(0xE10F76A1), UINT32_C(0xAE739513), UINT32_C(0xFF544277),
+          UINT32_C(0xEC6E2D9D), UINT32_C(0x740DB83A), UINT32_C(0x470C22B7),
+          UINT32_C(0xEE4F1E82), UINT32_C(0x643B7953), UINT32_C(0x5556FB59),
+          UINT32_C(0x66409497)},
+         {UINT32_C(0x728114E6), UINT32_C(0x4C15C4CB), UINT32_C(0x1F29EF7F),
+          UINT32_C(0xEFF1BB9F), UINT32_C(0x259562ED), UINT32_C(0x8E00B92A),
+          UINT32_C(0x9838D769), UINT32_C(0xF28B146C), UINT32_C(0x206622CC),
+          UINT32_C(0x3D7C8FFF), UINT32_C(0x86457FAD), UINT32_C(0xD521181D),
+          UINT32_C(0x9D9A3085), UINT32_C(0xBF56F663), UINT32_C(0xA24B415A),
+          UINT32_C(0x11BA1FED)}},
+        {{UINT32_C(0x035701C5), UINT32_C(0x149597F7), UINT32_C(0x6361CC7E),
+          UINT32_C(0x055B1C4B), UINT32_C(0xC221AF72), UINT32_C(0x10DF1572),
+          UINT32_C(0xC3D3A167), UINT32_C(0x6941B1E9), UINT32_C(0x38D00AF6),
+          UINT32_C(0x29985CAB), UINT32_C(0x19E385F7), UINT32_C(0xDD9B8391),
+          UINT32_C(0xF2E81932), UINT32_C(0x65268E33), UINT32_C(0x5C07CEF9),
+          UINT32_C(0x4FC87273)},
+         {UINT32_C(0xEA012B70), UINT32_C(0xE1644429), UINT32_C(0x4BDF6ACE),
+          UINT32_C(0x639FA874), UINT32_C(0xF65480CF), UINT32_C(0x7BAE6AFF),
+          UINT32_C(0x606EFF3A), UINT32_C(0xB9CA15AF), UINT32_C(0xC04C5263),
+          UINT32_C(0x10F5918A), UINT32_C(0xED3D0F98), UINT32_C(0x50F27E68),
+          UINT32_C(0x3134D7FA), UINT32_C(0x647C1AD3), UINT32_C(0xF869EEFB),
+          UINT32_C(0x08EF017D)}},
+        {{UINT32_C(0xF229A34B), UINT32_C(0xD474B5FD), UINT32_C(0x29E0A164),
+          UINT32_C(0x03819D4E), UINT32_C(0x8D0910B9), UINT32_C(0x0D24139A),
+          UINT32_C(0x9C2D8E8D), UINT32_C(0xB4F45C8D), UINT32_C(0x2F21718A),
+          UINT32_C(0x10E4BEA2), UINT32_C(0x63DA06E8), UINT32_C(0xD3D7ECDE),
+          UINT32_C(0xF148B0ED), UINT32_C(0xB2AAB06A), UINT32_C(0xAABD0F7A),
+          UINT32_C(0x630152B1)},
+         {UINT32_C(0x3B1563B4), UINT32_C(0xCF4D05C2), UINT32_C(0x6F355349),
+          UINT32_C(0xBFA58B4E), UINT32_C(0x04D1A769), UINT32_C(0x2FA4A29C),
+          UINT32_C(0x1AEDA992), UINT32_C(0xF4E15F9D), UINT32_C(0x877819C9),
+          UINT32_C(0x0FDABCEB), UINT32_C(0xC3EDB0A3), UINT32_C(0x5EDFCC1C),
+          UINT32_C(0xD1DBCF40), UINT32_C(0x76625DC7), UINT32_C(0x2A7BD819),
+          UINT32_C(0x3E558CF0)}},
+        {{UINT32_C(0x07A883A0), UINT32_C(0x07C7924F), UINT32_C(0x010EA080),
+          UINT32_C(0x18484807), UINT32_C(0xB6B2B992), UINT32_C(0xDF8602FE),
+          UINT32_C(0xAA03AA11), UINT32_C(0x38A2EFDC), UINT32_C(0x19B2BB14),
+          UINT32_C(0x60B00311), UINT32_C(0x15E28BF3), UINT32_C(0x9E12E7FE),
+          UINT32_C(0xBB0271CD), UINT32_C(0x2AC0917B), UINT32_C(0x1558FAAD),
+          UINT32_C(0x24126EAE)},
+         {UINT32_C(0x19170EDF), UINT32_C(0x2EB303EF), UINT32_C(0xF5779AD2),
+          UINT32_C(0x6945946B), UINT32_C(0x31B7DF96), UINT32_C(0xE4E5635A),
+          UINT32_C(0xD6AC3252), UINT32_C(0x2B371D13), UINT32_C(0x8116C539),
+          UINT32_C(0x38E78198), UINT32_C(0x6C89FAF6), UINT32_C(0x76DF4A2C),
+          UINT32_C(0x6F233984), UINT32_C(0xDFB6755D), UINT32_C(0xD382985D),
+          UINT32_C(0x0CBF63F6)}},
+    },
+    {
+        {{UINT32_C(0x56B39FA7), UINT32_C(0x936D53BC), UINT32_C(0x511D5744),
+          UINT32_C(0x751274EC), UINT32_C(0xF29D41C2), UINT32_C(0xDAF4432A),
+          UINT32_C(0x014F8954), UINT32_C(0x717A68C1), UINT32_C(0x736F4024),
+          UINT32_C(0x6D5D3F05), UINT32_C(0x12D037D9), UINT32_C(0x52E785F8),
+          UINT32_C(0x02CA06C4), UINT32_C(0xC04CBA19), UINT32_C(0x9259A368),
+          UINT32_C(0x43207806)},
+         {UINT32_C(0x2BE51135), UINT32_C(0x1211482B), UINT32_C(0xE4D32066),
+          UINT32_C(0x5B473F6E), UINT32_C(0x4ADE99FC), UINT32_C(0x91991C8E),
+          UINT32_C(0x4865136B), UINT32_C(0x124378E8), UINT32_C(0xBFFFC5CC),
+          UINT32_C(0xAF791646), UINT32_C(0x36D38141), UINT32_C(0xB7DBA115),
+          UINT32_C(0x5BD595B7), UINT32_C(0x0E879426), UINT32_C(0xCACC032E),
+          UINT32_C(0x39B7D642)}},
+        {{UINT32_C(0xD756CE1D), UINT32_C(0x76ACE7C8), UINT32_C(0xF8A89F09),
+          UINT32_C(0x4BEC8290), UINT32_C(0x690139DA), UINT32_C(0xE8FE848C),
+          UINT32_C(0x6A541656), UINT32_C(0x8C5CB5CC), UINT32_C(0xA79F1A2B),
+          UINT32_C(0x6127BB25), UINT32_C(0xE17D0549), UINT32_C(0x955551CC),
+          UINT32_C(0x58E7C3FD), UINT32_C(0x648A32E9), UINT32_C(0xA60D449C),
+          UINT32_C(0x366035A5)},
+         {UINT32_C(0x67A48368), UINT32_C(0xA4CF0CCB), UINT32_C(0xBE344234),
+          UINT32_C(0xCF7D74F7), UINT32_C(0x8CFFCCCE), UINT32_C(0x006DFFB4),
+          UINT32_C(0xFB55072B), UINT32_C(0xBBC66664), UINT32_C(0x5EFD8AF6),
+          UINT32_C(0xAA51DDD1), UINT32_C(0x6F004C47), UINT32_C(0x88D0CFD4),
+          UINT32_C(0xD97BBB13), UINT32_C(0xD18C2DBF), UINT32_C(0x1E7E68D2),
+          UINT32_C(0x5E598200)}},
+        {{UINT32_C(0x466B58D2), UINT32_C(0xFF9FB488), UINT32_C(0xA8041078),
+          UINT32_C(0x153A751D), UINT32_C(0xD5817ADF), UINT32_C(0xD7E96CB3),
+          UINT32_C(0x511775D8), UINT32_C(0x56A7A135), UINT32_C(0x77E5DE7A),
+          UINT32_C(0xB48FB406), UINT32_C(0x997A6721), UINT32_C(0x4DE670FB),
+          UINT32_C(0x86EFBADA), UINT32_C(0x446019B5), UINT32_C(0xFA535082),
+          UINT32_C(0x403CC005)},
+         {UINT32_C(0xC2FA986D), UINT32_C(0xF85BFEE2), UINT32_C(0x0E0C320B),
+          UINT32_C(0xF2B77B88), UINT32_C(0x8FE98FA0), UINT32_C(0xAEFE1972),
+          UINT32_C(0xE8DB8196), UINT32_C(0x291FD9C7), UINT32_C(0xF579D9D0),
+          UINT32_C(0x7C3AB36D), UINT32_C(0x764622DD), UINT32_C(0x7F202BEF),
+          UINT32_C(0x804CEBFF), UINT32_C(0xDFD4DE34), UINT32_C(0x683B7281),
+          UINT32_C(0x25CA634E)}},
+        {{UINT32_C(0xEEB585DE), UINT32_C(0x2E3BCCC2), UINT32_C(0x9C7AB9D7),
+          UINT32_C(0x728BAD6D), UINT32_C(0x5C38CDF1), UINT32_C(0xE298BC83),
+          UINT32_C(0xB610385E), UINT32_C(0x0D88D423), UINT32_C(0x71744E3A),
+          UINT32_C(0x5710F235), UINT32_C(0x9681CFF4), UINT32_C(0xD9312CC9),
+          UINT32_C(0xF3D5B3BC), UINT32_C(0x1C46AB4A), UINT32_C(0xE2631926),
+          UINT32_C(0x48BE540B)},
+         {UINT32_C(0x5CCDF14D), UINT32_C(0xBFAB35A1), UINT32_C(0xD778F586),
+          UINT32_C(0x16C3216C), UINT32_C(0x04128BB2), UINT32_C(0x2A604800),
+          UINT32_C(0xA7D2E1AA), UINT32_C(0x05505889), UINT32_C(0x1DE7C7B4),
+          UINT32_C(0xBE8B94BE), UINT32_C(0x05BB8DEC), UINT32_C(0x53E72EBF),
+          UINT32_C(0x2870C597), UINT32_C(0x1A38C5DA), UINT32_C(0xDD36B123),
+          UINT32_C(0x76F0E77B)}},
+        {{UINT32_C(0x83B68DC3), UINT32_C(0xC13D1E8A), UINT32_C(0xA93D168B),
+          UINT32_C(0x5F7291EF), UINT32_C(0xCA88F0F6), UINT32_C(0xD1C56274),
+          UINT32_C(0x868E3651), UINT32_C(0x58EDFC8C), UINT32_C(0x70692949),
+          UINT32_C(0x9D8F42AF), UINT32_C(0x81B6E052), UINT32_C(0x65903C33),
+          UINT32_C(0x262E1F70), UINT32_C(0xAD71B078), UINT32_C(0xC40DC22F),
+          UINT32_C(0x7A60D3BB)},
+         {UINT32_C(0xBA1FC54F), UINT32_C(0x6B64F0DB), UINT32_C(0x81F84A0B),
+          UINT32_C(0x6DDB148C), UINT32_C(0x53955B40), UINT32_C(0xCFBD9662),
+          UINT32_C(0x9B35DB3B), UINT32_C(0x67D49D07), UINT32_C(0xA8EF7DB2),
+          UINT32_C(0x6ED336DD), UINT32_C(0x03F2A331), UINT32_C(0x7AAF4B8A),
+          UINT32_C(0x5C3873CA), UINT32_C(0x9751DBE1), UINT32_C(0x8193A7ED),
+          UINT32_C(0x78479B10)}},
+        {{UINT32_C(0x487DB2BF), UINT32_C(0xB05EDD9A), UINT32_C(0x58F7E778),
+          UINT32_C(0xF9051591), UINT32_C(0xDC23CBF4), UINT32_C(0xBD643BE6),
+          UINT32_C(0xC1EA2427), UINT32_C(0xBCE094EC), UINT32_C(0x4EB1BD95),
+          UINT32_C(0x2A3F3B4B), UINT32_C(0x6F5E1428), UINT32_C(0xBA8FC9DC),
+          UINT32_C(0x9F053047), UINT32_C(0x7DC28C94), UINT32_C(0xC553DC91),
+          UINT32_C(0x58117A0C)},
+         {UINT32_C(0xD4A6137C), UINT32_C(0x4888B1E8), UINT32_C(0xF8DCBD03),
+          UINT32_C(0x5DC05984), UINT32_C(0xD2F55576), UINT32_C(0xAE2C8657),
+          UINT32_C(0xFC4DA255), UINT32_C(0x54721BEF), UINT32_C(0x802C9EBF),
+          UINT32_C(0x0A326693), UINT32_C(0x91186DF0), UINT32_C(0xA33294AA),
+          UINT32_C(0xB822390D), UINT32_C(0x716BD76F), UINT32_C(0x7C4AA61B),
+          UINT32_C(0x7F023C0B)}},
+        {{UINT32_C(0x046A8017), UINT32_C(0x6506DA35), UINT32_C(0xF785115E),
+          UINT32_C(0x23083C16), UINT32_C(0x24051BBD), UINT32_C(0x78581137),
+          UINT32_C(0x5088EBFE), UINT32_C(0xCD36D48F), UINT32_C(0x5E542ACC),
+          UINT32_C(0x23F7F0A3), UINT32_C(0x7D015B1E), UINT32_C(0x72018795),
+          UINT32_C(0x38D2D742), UINT32_C(0xA69E68D4), UINT32_C(0x023B5C20),
+          UINT32_C(0x36808A3B)},
+         {UINT32_C(0x1FEAB6D8), UINT32_C(0x660D03D6), UINT32_C(0x58D53E94),
+          UINT32_C(0x77A1E185), UINT32_C(0x74024E57), UINT32_C(0x67425F4E),
+          UINT32_C(0x0CC26788), UINT32_C(0x3B916008), UINT32_C(0xE3643998),
+          UINT32_C(0x0C7D287E), UINT32_C(0x27B3B31F), UINT32_C(0xB0D98DD1),
+          UINT32_C(0xBB980CFC), UINT32_C(0xBA621971), UINT32_C(0x404A2DE1),
+          UINT32_C(0x77591087)}},
+        {{UINT32_C(0xC15C3D38), UINT32_C(0xB768C63D), UINT32_C(0x54DBA325),
+          UINT32_C(0x281AEC4D), UINT32_C(0x50C9B1F3), UINT32_C(0xBB51D2E4),
+          UINT32_C(0xE7268C94), UINT32_C(0x086BB9BB), UINT32_C(0x0C7ED37A),
+          UINT32_C(0x9E0AF351), UINT32_C(0x39145AA3), UINT32_C(0xDBC88528),
+          UINT32_C(0xB1AB786C), UINT32_C(0xA70373BE), UINT32_C(0x0A73090A),
+          UINT32_C(0x273AC4D9)},
+         {UINT32_C(0xC280E9F5), UINT32_C(0xD618DB6A), UINT32_C(0xA9685A4B),
+          UINT32_C(0x9D874643), UINT32_C(0x8A9C1951), UINT32_C(0x7EF799B4),
+          UINT32_C(0xFFBA36BB), UINT32_C(0xAEAE400C), UINT32_C(0x145DC10A),
+          UINT32_C(0x889119CB), UINT32_C(0x1BF7AE53), UINT32_C(0x08B052FF),
+          UINT32_C(0xE3F04B93), UINT32_C(0xDEF76EC0), UINT32_C(0x06DC2CC5),
+          UINT32_C(0x35A13BB2)}},
+        {{UINT32_C(0x613C9FD0), UINT32_C(0x97C54E1C), UINT32_C(0x42581F50),
+          UINT32_C(0x7D4BEB41), UINT32_C(0x5BCA7CAF), UINT32_C(0x9401F44A),
+          UINT32_C(0x36115D18), UINT32_C(0x5FD7E0B0), UINT32_C(0xCD0DCE05),
+          UINT32_C(0x714FC514), UINT32_C(0x2AB3265E), UINT32_C(0xF3B73708),
+          UINT32_C(0x8798EA8B), UINT32_C(0x118FB47A), UINT32_C(0xFE5C2BFF),
+          UINT32_C(0x79A1F4CD)},
+         {UINT32_C(0x103FF4DC), UINT32_C(0xC0D3ABAA), UINT32_C(0x146D121C),
+          UINT32_C(0xF5D504ED), UINT32_C(0x842CABA1), UINT32_C(0x38B7419B),
+          UINT32_C(0x907320F6), UINT32_C(0xE1730788), UINT32_C(0xE111875F),
+          UINT32_C(0x0037793B), UINT32_C(0x0AAB7249), UINT32_C(0x715042EA),
+          UINT32_C(0x15630B39), UINT32_C(0xF57D27EF), UINT32_C(0x5D0153CA),
+          UINT32_C(0x3B503330)}},
+        {{UINT32_C(0xC8AAD5E3), UINT32_C(0x44E75F39), UINT32_C(0x506B9C14),
+          UINT32_C(0x3890E8AE), UINT32_C(0x38915D2F), UINT32_C(0xDDA7D91F),
+          UINT32_C(0x5F28E467), UINT32_C(0x412802B8), UINT32_C(0x711B51DC),
+          UINT32_C(0x08FF3E17), UINT32_C(0x81C96D4A), UINT32_C(0x0F23C1EF),
+          UINT32_C(0x57511A7E), UINT32_C(0x7B8E28A1), UINT32_C(0x42C2BACF),
+          UINT32_C(0x60200370)},
+         {UINT32_C(0x8559DC01), UINT32_C(0x5457AA66), UINT32_C(0xBB083219),
+          UINT32_C(0xDB0CBC6F), UINT32_C(0xF981BE19), UINT32_C(0x316C4876),
+          UINT32_C(0x9B98D6AC), UINT32_C(0xA04412B9), UINT32_C(0x2D95C876),
+          UINT32_C(0x20964CB8), UINT32_C(0x51009C2C), UINT32_C(0xF643F29E),
+          UINT32_C(0x30C43DD3), UINT32_C(0x5316D85A), UINT32_C(0x46A82D48),
+          UINT32_C(0x104EB0C8)}},
+        {{UINT32_C(0x0B183769), UINT32_C(0xC05ADD9A), UINT32_C(0x653E726A),
+          UINT32_C(0x14E8EC7A), UINT32_C(0x8D457375), UINT32_C(0xE5311F87),
+          UINT32_C(0x25D9120D), UINT32_C(0xCC1585A8), UINT32_C(0x71A945BC),
+          UINT32_C(0x04F39BE3), UINT32_C(0x18298210), UINT32_C(0xFBFAD374),
+          UINT32_C(0x3A9D2053), UINT32_C(0x95F0BD1E), UINT32_C(0xC056D70E),
+          UINT32_C(0x1EAEEFED)},
+         {UINT32_C(0x1E6E949A), UINT32_C(0x3274833C), UINT32_C(0xC1D152E6),
+          UINT32_C(0xA38EA2CA), UINT32_C(0x1B9A48BA), UINT32_C(0xE77A1027),
+          UINT32_C(0x69B03ED3), UINT32_C(0xD44CF886), UINT32_C(0x2D9D2B8F),
+          UINT32_C(0xB52D35E7), UINT32_C(0xF99BD52B), UINT32_C(0xFA67F927),
+          UINT32_C(0xDF337872), UINT32_C(0x3910D907), UINT32_C(0x90BF7A7F),
+          UINT32_C(0x53E3909C)}},
+        {{UINT32_C(0x8FC5B40A), UINT32_C(0xC558DB4E), UINT32_C(0x7511657E),
+          UINT32_C(0x330982A3), UINT32_C(0x0B883053), UINT32_C(0x81A47621),
+          UINT32_C(0x3F3DB1D4), UINT32_C(0xB1F53471), UINT32_C(0x0C804E24),
+          UINT32_C(0x8A2B835A), UINT32_C(0x3012783B), UINT32_C(0xF8537A45),
+          UINT32_C(0x9DC2A56A), UINT32_C(0xC761FC41), UINT32_C(0x2C12BE25),
+          UINT32_C(0x50369DCB)},
+         {UINT32_C(0xCA00D808), UINT32_C(0x19877D98), UINT32_C(0x1DA7BD8F),
+          UINT32_C(0x305586B5), UINT32_C(0x0FB6F9E7), UINT32_C(0x683BF46E),
+          UINT32_C(0x7E53ECB1), UINT32_C(0xF23F5457), UINT32_C(0x17EE25E8),
+          UINT32_C(0xA09A0901), UINT32_C(0x5BAA52EC), UINT32_C(0x61AF9305),
+          UINT32_C(0xA8104024), UINT32_C(0xC12B74BE), UINT32_C(0x60A876E3),
+          UINT32_C(0x6BDABBAA)}},
+        {{UINT32_C(0x438800F3), UINT32_C(0x0EC8ADDA), UINT32_C(0x4FBF0259),
+          UINT32_C(0xA47197E6), UINT32_C(0x1767F99F), UINT32_C(0x324E0696),
+          UINT32_C(0xE440710A), UINT32_C(0x0E455BC2), UINT32_C(0x7A5984F7),
+          UINT32_C(0xFE231689), UINT32_C(0x3CF323D8), UINT32_C(0x7706D5C7),
+          UINT32_C(0xFFC9FB5E), UINT32_C(0x6DFE4B08), UINT32_C(0x8F9D5207),
+          UINT32_C(0x5E912EC7)},
+         {UINT32_C(0xD7D1AC99), UINT32_C(0x9B71034D), UINT32_C(0x33D5ABF4),
+          UINT32_C(0x5786B8AD), UINT32_C(0x426E2B80), UINT32_C(0x70E625B7),
+          UINT32_C(0x6A33883F), UINT32_C(0x71D53ABB), UINT32_C(0xAA10AA82),
+          UINT32_C(0xB42DE25A), UINT32_C(0xC313C9F3), UINT32_C(0x709B3CDF),
+          UINT32_C(0x99A04BD3), UINT32_C(0x49F3BBC7), UINT32_C(0x3390B190),
+          UINT32_C(0x5B56D9BB)}},
+        {{UINT32_C(0x05DAE0B4), UINT32_C(0xA4D655E5), UINT32_C(0x7016EDE7),
+          UINT32_C(0x3402DB14), UINT32_C(0x117097DC), UINT32_C(0x58D4EFC5),
+          UINT32_C(0x61AE9FDC), UINT32_C(0x4F397AFC), UINT32_C(0x85DE0E4A),
+          UINT32_C(0x3EE32FBE), UINT32_C(0x18F9DA9B), UINT32_C(0xE5C94100),
+          UINT32_C(0x30778D74), UINT32_C(0x6248B570), UINT32_C(0xFF879B98),
+          UINT32_C(0x569D70C9)},
+         {UINT32_C(0x79A7786F), UINT32_C(0x385FD4C8), UINT32_C(0x92C6E962),
+          UINT32_C(0x779353B9), UINT32_C(0x5AA82E08), UINT32_C(0x9C9103FB),
+          UINT32_C(0xEC3B37D1), UINT32_C(0x128BD7DD), UINT32_C(0x98AE8C82),
+          UINT32_C(0xCC0376F8), UINT32_C(0x289AFB7D), UINT32_C(0xDD33B1A3),
+          UINT32_C(0xF1D2F3AC), UINT32_C(0x2B3A6BE5), UINT32_C(0x58C1DCA0),
+          UINT32_C(0x2B342E8F)}},
+        {{UINT32_C(0x924940FC), UINT32_C(0x4ADA9F0F), UINT32_C(0xBD4E799E),
+          UINT32_C(0x636260E5), UINT32_C(0x85ECD23F), UINT32_C(0x10650FC8),
+          UINT32_C(0x32AE8105), UINT32_C(0x04765F05), UINT32_C(0xDEEBFAF2),
+          UINT32_C(0x22F515E9), UINT32_C(0xEA6ED3BA), UINT32_C(0xFB6611B1),
+          UINT32_C(0xB116A647), UINT32_C(0x2D260305), UINT32_C(0xCEB63ED4),
+          UINT32_C(0x540A895A)},
+         {UINT32_C(0x65640BD2), UINT32_C(0xA5C897EC), UINT32_C(0x4EB90B65),
+          UINT32_C(0x1D82AD21), UINT32_C(0xA2BD6C71), UINT32_C(0x2A00C3C3),
+          UINT32_C(0xA185CE8C), UINT32_C(0xD9BE5D85), UINT32_C(0xE02E9DCD),
+          UINT32_C(0x0FA039FE), UINT32_C(0x806B50C1), UINT32_C(0xAD1DC7C0),
+          UINT32_C(0x0C6AB58F), UINT32_C(0xA78992C2), UINT32_C(0xFBE348EA),
+          UINT32_C(0x7D58FDA7)}},
+        {{UINT32_C(0x6F4DBDFC), UINT32_C(0x07E65277), UINT32_C(0xE4E35AA2),
+          UINT32_C(0xC35157C0), UINT32_C(0xFAF9CF8D), UINT32_C(0x9844955D),
+          UINT32_C(0xE577A918), UINT32_C(0xD1832D2F), UINT32_C(0x212A678C),
+          UINT32_C(0xCDD6CCFD), UINT32_C(0x262F2BC7), UINT32_C(0x19406763),
+          UINT32_C(0x7DCF82E3), UINT32_C(0x1B5FE0FC), UINT32_C(0x28083B97),
+          UINT32_C(0x72FCB512)},
+         {UINT32_C(0xCAE3C67A), UINT32_C(0x2EB13174), UINT32_C(0x28F8CB44),
+          UINT32_C(0x571DBD35), UINT32_C(0x7B2F56B1), UINT32_C(0x3F3514DA),
+          UINT32_C(0x2E1D4CD8), UINT32_C(0xC5906697), UINT32_C(0x3709FD27),
+          UINT32_C(0x9F9589DA), UINT32_C(0xDCF0E714), UINT32_C(0x539CBA98),
+          UINT32_C(0x36D31BAC), UINT32_C(0xC6FDBE82), UINT32_C(0x8860078E),
+          UINT32_C(0x22501C25)}},
+    },
+    {
+        {{UINT32_C(0xE7462A35), UINT32_C(0xB6BAA4C5), UINT32_C(0x2DE0E694),
+          UINT32_C(0x4CABEF23), UINT32_C(0x67A94587), UINT32_C(0xE595F2CE),
+          UINT32_C(0x65DE13EF), UINT32_C(0x0B4D6B80), UINT32_C(0xB88601AA),
+          UINT32_C(0x6ED1FA63), UINT32_C(0x254800DF), UINT32_C(0x63DAF3EF),
+          UINT32_C(0x6EDECF60), UINT32_C(0x15F07C6B), UINT32_C(0x49F82DF6),
+          UINT32_C(0x746CB00F)},
+         {UINT32_C(0xF95DC407), UINT32_C(0x4860833F), UINT32_C(0xD4D68D59),
+          UINT32_C(0x245FDFB1), UINT32_C(0x28C585C1), UINT32_C(0xFD7E1346),
+          UINT32_C(0xAA744D74), UINT32_C(0x3307AAE7), UINT32_C(0x27C71537),
+          UINT32_C(0xAB21F1D5), UINT32_C(0x541ADB51), UINT32_C(0x1BED3B9C),
+          UINT32_C(0x0B804584), UINT32_C(0x48E65628), UINT32_C(0x96C62E82),
+          UINT32_C(0x10213DC3)}},
+        {{UINT32_C(0x9E900795), UINT32_C(0xA971A321), UINT32_C(0xA28AD250),
+          UINT32_C(0x41151E65), UINT32_C(0xB46F0286), UINT32_C(0x88FBF84C),
+          UINT32_C(0x2C5AA2BF), UINT32_C(0xCE5E34E3), UINT32_C(0xFE74FBD6),
+          UINT32_C(0xC30F0784), UINT32_C(0x9DDDC5BB), UINT32_C(0xA19ACA51),
+          UINT32_C(0xD954B6AF), UINT32_C(0x30CB6369), UINT32_C(0x1BA9F34A),
+          UINT32_C(0x20C72B2B)},
+         {UINT32_C(0x421721EE), UINT32_C(0x0D9F6CC9), UINT32_C(0x701F3853),
+          UINT32_C(0x5239E3D2), UINT32_C(0x10A37D0D), UINT32_C(0x48CF795D),
+          UINT32_C(0xC1454415), UINT32_C(0x2822ACF8), UINT32_C(0xF9392C27),
+          UINT32_C(0x9EF24913), UINT32_C(0x33F3F273), UINT32_C(0x93178976),
+          UINT32_C(0xAADFE5DB), UINT32_C(0x0AD1CAB2), UINT32_C(0x02019622),
+          UINT32_C(0x24541951)}},
+        {{UINT32_C(0x122FE6A1), UINT32_C(0x577E8E89), UINT32_C(0x29DCABC8),
+          UINT32_C(0xDFED3EF0), UINT32_C(0x1F1EC613), UINT32_C(0x91B0AE21),
+          UINT32_C(0x43EC585C), UINT32_C(0xF4FB2E9F), UINT32_C(0x5AFDC7FC),
+          UINT32_C(0x402F8D43), UINT32_C(0x3BFC6DDF), UINT32_C(0x7DF6E3F4),
+          UINT32_C(0x2094F2CE), UINT32_C(0x4B14B20B), UINT32_C(0xC9F3FCE9),
+          UINT32_C(0x6621FA23)},
+         {UINT32_C(0x61482134), UINT32_C(0xC167636B), UINT32_C(0xBD89AA34),
+          UINT32_C(0xC2D96AF4), UINT32_C(0x77A1383E), UINT32_C(0x4D19C547),
+          UINT32_C(0x994B20EC), UINT32_C(0x86476C72), UINT32_C(0x3611027E),
+          UINT32_C(0xD71188DA), UINT32_C(0xBFA77EA0), UINT32_C(0xEEB9CB25),
+          UINT32_C(0x7A9FFDFB), UINT32_C(0x63E03706), UINT32_C(0x9E1F711D),
+          UINT32_C(0x52FBC735)}},
+        {{UINT32_C(0x9DCD39C8), UINT32_C(0x4D58058F), UINT32_C(0x560A57E3),
+          UINT32_C(0x742DCAC8), UINT32_C(0xC40593C3), UINT32_C(0x51314E8A),
+          UINT32_C(0xBBE9F40F), UINT32_C(0xAA35CAF4), UINT32_C(0x7B4DF87C),
+          UINT32_C(0xD0D06ACC), UINT32_C(0x897586CC), UINT32_C(0xE02B48CB),
+          UINT32_C(0x9F14AB3B), UINT32_C(0x30AB25AB), UINT32_C(0x2DCFFD42),
+          UINT32_C(0x77B9D8A2)},
+         {UINT32_C(0x43F00508), UINT32_C(0xDE1678E7), UINT32_C(0xE59D0799),
+          UINT32_C(0x2F82D94E), UINT32_C(0x7D85FF61), UINT32_C(0x1D68DC5F),
+          UINT32_C(0xA577E85E), UINT32_C(0xCCD286EA), UINT32_C(0x05653CE9),
+          UINT32_C(0x78202172), UINT32_C(0x4B096045), UINT32_C(0x80BCF42C),
+          UINT32_C(0x8D9DC78C), UINT32_C(0x983AC1DA), UINT32_C(0x757F008E),
+          UINT32_C(0x48ADE8D1)}},
+        {{UINT32_C(0xF131C430), UINT32_C(0xFE9CADC1), UINT32_C(0xD4ACF7F9),
+          UINT32_C(0xCB4FACAE), UINT32_C(0x4B81AA0C), UINT32_C(0xA75B35B6),
+          UINT32_C(0x6132294C), UINT32_C(0xDB73BF2A), UINT32_C(0x35FC4FBC),
+          UINT32_C(0xDC1998EE), UINT32_C(0xF1A96BA6), UINT32_C(0x1125CF55),
+          UINT32_C(0x1AC0769D), UINT32_C(0x800577A8), UINT32_C(0xE4CDAC1C),
+          UINT32_C(0x0AF21977)},
+         {UINT32_C(0x91DD37F9), UINT32_C(0x12CAE81D), UINT32_C(0x1A432775),
+          UINT32_C(0x81F5BAF6), UINT32_C(0x81CBCB7D), UINT32_C(0x62A87C5D),
+          UINT32_C(0x2D311E47), UINT32_C(0x781596EF), UINT32_C(0x0EA6CE86),
+          UINT32_C(0xADA41A24), UINT32_C(0x9198BFEE), UINT32_C(0x064E561D),
+          UINT32_C(0x8784FC32), UINT32_C(0xD2EBB0D7), UINT32_C(0xE00D527A),
+          UINT32_C(0x60F7F749)}},
+        {{UINT32_C(0xF9F5101B), UINT32_C(0xB6220879), UINT32_C(0xED750B14),
+          UINT32_C(0x8E51E911), UINT32_C(0x56B8B8BB), UINT32_C(0x5A0FF851),
+          UINT32_C(0xE97F0F1B), UINT32_C(0x6EFDB4CC), UINT32_C(0xCFEE47C1),
+          UINT32_C(0xEF4E3272), UINT32_C(0xDB73FA56), UINT32_C(0xFB33D3FF),
+          UINT32_C(0xD5C182A7), UINT32_C(0x8702D241), UINT32_C(0xB061F4C9),
+          UINT32_C(0x1342C905)},
+         {UINT32_C(0x40B3B920), UINT32_C(0xCCFDFF8B), UINT32_C(0x234F25BE),
+          UINT32_C(0xE01ADAA1), UINT32_C(0xCA98B24D), UINT32_C(0x6EE2AFD9),
+          UINT32_C(0x933CF022), UINT32_C(0x833C8017), UINT32_C(0x8B7E88DA),
+          UINT32_C(0x9446CDC8), UINT32_C(0x0252B0C4), UINT32_C(0x08A83DEB),
+          UINT32_C(0x983B95BF), UINT32_C(0x5AFAE687), UINT32_C(0xBBF76F93),
+          UINT32_C(0x417A1691)}},
+        {{UINT32_C(0xE270155C), UINT32_C(0xF1100073), UINT32_C(0x37D73458),
+          UINT32_C(0x913B27AB), UINT32_C(0xF8799368), UINT32_C(0x0723B646),
+          UINT32_C(0xB8599816), UINT32_C(0x891C7858), UINT32_C(0xAD13A257),
+          UINT32_C(0xBDCF3C7A), UINT32_C(0x106E5B5A), UINT32_C(0xF473BEE8),
+          UINT32_C(0x27722F06), UINT32_C(0xB093D484), UINT32_C(0x8E4CF84D),
+          UINT32_C(0x33895F5C)},
+         {UINT32_C(0x1A92A242), UINT32_C(0x530F59FE), UINT32_C(0xD5444E38),
+          UINT32_C(0x703FDC05), UINT32_C(0xA9B55C56), UINT32_C(0xEC6FB903),
+          UINT32_C(0xECEFEF64), UINT32_C(0x102929BA), UINT32_C(0xBFC1F153),
+          UINT32_C(0x76B9B329), UINT32_C(0x7A32A9E4), UINT32_C(0x3F794AD7),
+          UINT32_C(0xAD9D9F76), UINT32_C(0x9A344BD7), UINT32_C(0x8F22FE76),
+          UINT32_C(0x1281308B)}},
+        {{UINT32_C(0x55D6DFC4), UINT32_C(0xDBAD1D04), UINT32_C(0x78FB03A6),
+          UINT32_C(0x1674C09F), UINT32_C(0x04F4EB90), UINT32_C(0x10F038F0),
+          UINT32_C(0xC933F8C3), UINT32_C(0xD6F8CEBA), UINT32_C(0x322E4AE8),
+          UINT32_C(0x6D3018D6), UINT32_C(0x65FB0400), UINT32_C(0x3C0E8DD8),
+          UINT32_C(0xF8603F6E), UINT32_C(0x0E04FEA5), UINT32_C(0xCF3D2FBA),
+          UINT32_C(0x417F6C35)},
+         {UINT32_C(0xC6DBF972), UINT32_C(0x4F62D458), UINT32_C(0x3C69018C),
+          UINT32_C(0x1D66CC0B), UINT32_C(0x4F1297A2), UINT32_C(0xDB741BC6),
+          UINT32_C(0xDDEC7115), UINT32_C(0x7EEDA8D5), UINT32_C(0x9A910CA8),
+          UINT32_C(0x0B5D07B3), UINT32_C(0x3D0FA9E7), UINT32_C(0x5D74BC7E),
+          UINT32_C(0x4DC25E76), UINT32_C(0x0F3D1063), UINT32_C(0xDDD0F35E),
+          UINT32_C(0x7BDF3F13)}},
+        {{UINT32_C(0x49A8E647), UINT32_C(0xF4B8E8F9), UINT32_C(0xC9C7F249),
+          UINT32_C(0xD2045FF4), UINT32_C(0x1DFCE331), UINT32_C(0xA73E2073),
+          UINT32_C(0x60186A35), UINT32_C(0x538FE0C2), UINT32_C(0xD44D55DC),
+          UINT32_C(0xF6931385), UINT32_C(0xBD2D5D5C), UINT32_C(0xAA0FAE8B),
+          UINT32_C(0x0CE9E7B7), UINT32_C(0xA1DF2451), UINT32_C(0xF6E915DF),
+          UINT32_C(0x453B0239)},
+         {UINT32_C(0x4BD5604D), UINT32_C(0x92E689FD), UINT32_C(0xEA5FB1A5),
+          UINT32_C(0x302F7B7C), UINT32_C(0xC6C18BD5), UINT32_C(0x9A065527),
+          UINT32_C(0x38018472), UINT32_C(0xB6B93023), UINT32_C(0x775EFE83),
+          UINT32_C(0xEC4F8E47), UINT32_C(0x5D557E9F), UINT32_C(0x5EFED6CD),
+          UINT32_C(0xF32DB82A), UINT32_C(0x883149A7), UINT32_C(0xA83BA057),
+          UINT32_C(0x32BB4DD5)}},
+        {{UINT32_C(0x8CE494A6), UINT32_C(0xB45FB239), UINT32_C(0x015A171F),
+          UINT32_C(0x6E80D72B), UINT32_C(0x846810F0), UINT32_C(0xE17A3D2B),
+          UINT32_C(0xC689398E), UINT32_C(0x86A2C703), UINT32_C(0xF84177D3),
+          UINT32_C(0x163CC0EA), UINT32_C(0x08485195), UINT32_C(0xCFC54536),
+          UINT32_C(0xAEA228CD), UINT32_C(0x49ED48E3), UINT32_C(0x5E05A3FA),
+          UINT32_C(0x51D4CD9A)},
+         {UINT32_C(0x0A28C1F0), UINT32_C(0xD75C938E), UINT32_C(0x0D986264),
+          UINT32_C(0xE18FCBDB), UINT32_C(0x0129A474), UINT32_C(0x0E29546B),
+          UINT32_C(0xB4E6503E), UINT32_C(0x718C5F10), UINT32_C(0xE89FFD06),
+          UINT32_C(0x5BFFEF16), UINT32_C(0x7ABFEFBE), UINT32_C(0xD87F3E8D),
+          UINT32_C(0xB05607DF), UINT32_C(0x3E6EEBD8), UINT32_C(0x030FC02D),
+          UINT32_C(0x1B3135D4)}},
+        {{UINT32_C(0xAFD466ED), UINT32_C(0x1FCA9768), UINT32_C(0xDDE4FE72),
+          UINT32_C(0x3711CD99), UINT32_C(0xA0BC2449), UINT32_C(0xFA6A96FB),
+          UINT32_C(0xDF617AD1), UINT32_C(0xB4E3322D), UINT32_C(0x38997D42),
+          UINT32_C(0x652400B5), UINT32_C(0x5869744E), UINT32_C(0xE4033FDD),
+          UINT32_C(0xF8CF5A3F), UINT32_C(0x5E56CF67), UINT32_C(0x39950DFD),
+          UINT32_C(0x0B68F418)},
+         {UINT32_C(0x921A1064), UINT32_C(0x31F316B3), UINT32_C(0x860AB95E),
+          UINT32_C(0x084CF2C3), UINT32_C(0x33A08792), UINT32_C(0x4FAE7CBD),
+          UINT32_C(0x5C2F1F4F), UINT32_C(0x13E887AE), UINT32_C(0x5A2C1393),
+          UINT32_C(0x1B4D941C), UINT32_C(0xBFDDC322), UINT32_C(0xE7043946),
+          UINT32_C(0xA801A880), UINT32_C(0x2D73CD5B), UINT32_C(0x45019EB0),
+          UINT32_C(0x6CDC6BC2)}},
+        {{UINT32_C(0x72A9BDDF), UINT32_C(0x68D9AE82), UINT32_C(0xC4F79A39),
+          UINT32_C(0x3EA7B5D0), UINT32_C(0xBFA9189D), UINT32_C(0x8A9E525D),
+          UINT32_C(0x08088070), UINT32_C(0xC4BCDB4F), UINT32_C(0xF0019D99),
+          UINT32_C(0xD4F1B3D0), UINT32_C(0x3A21C513), UINT32_C(0xCD3981D0),
+          UINT32_C(0x51146A17), UINT32_C(0x4A85B07A), UINT32_C(0xAC9373DE),
+          UINT32_C(0x44E11FCB)},
+         {UINT32_C(0x406B1F1D), UINT32_C(0x45C28B85), UINT32_C(0xA598A7AB),
+          UINT32_C(0x7669767B), UINT32_C(0xCABA790E), UINT32_C(0xE4DC8F54),
+          UINT32_C(0x4002264B), UINT32_C(0x7259E49F), UINT32_C(0x78A9F0E3),
+          UINT32_C(0x54142E6D), UINT32_C(0x2D74E9B1), UINT32_C(0xFC384317),
+          UINT32_C(0x471BA3C1), UINT32_C(0x949A6E31), UINT32_C(0x269DBD46),
+          UINT32_C(0x2196E341)}},
+        {{UINT32_C(0x1C85C152), UINT32_C(0xF090B214), UINT32_C(0x2980953D),
+          UINT32_C(0xC66553E0), UINT32_C(0x908B9243), UINT32_C(0x50050906),
+          UINT32_C(0x18F1B4C3), UINT32_C(0x489B07B8), UINT32_C(0x4A6A7071),
+          UINT32_C(0x39C781DE), UINT32_C(0x15FAF2A8), UINT32_C(0xC3FCC6B4),
+          UINT32_C(0xDF30D339), UINT32_C(0xC9A9D650), UINT32_C(0x0DC87B05),
+          UINT32_C(0x2BCF8969)},
+         {UINT32_C(0x0D36DD59), UINT32_C(0x6BD11101), UINT32_C(0xAF38D4C5),
+          UINT32_C(0x9AFD4507), UINT32_C(0x1FEE36E3), UINT32_C(0xE9A345A3),
+          UINT32_C(0x37454BA6), UINT32_C(0x141074A8), UINT32_C(0xF603533F),
+          UINT32_C(0x89747031), UINT32_C(0x897F9FA2), UINT32_C(0xAB75320E),
+          UINT32_C(0x594481A4), UINT32_C(0x52927CDF), UINT32_C(0xBC2244A3),
+          UINT32_C(0x2C8FB10B)}},
+        {{UINT32_C(0x1C40C77E), UINT32_C(0x456358B8), UINT32_C(0x1732ED35),
+          UINT32_C(0x26A15EA8), UINT32_C(0x9AEA6548), UINT32_C(0x36F26CBB),
+          UINT32_C(0xD7FAD4C1), UINT32_C(0x6589AC51), UINT32_C(0x9067988D),
+          UINT32_C(0x4804A1BC), UINT32_C(0x4219111A), UINT32_C(0x633F203E),
+          UINT32_C(0x123C4BBE), UINT32_C(0xCD90D01C), UINT32_C(0x82519788),
+          UINT32_C(0x617EEF27)},
+         {UINT32_C(0x9DDFBBB9), UINT32_C(0x8A7F22A7), UINT32_C(0xC8F9E873),
+          UINT32_C(0xF8CEDC4E), UINT32_C(0xF8B00FFD), UINT32_C(0x547A5995),
+          UINT32_C(0x3132F91D), UINT32_C(0xC6780AC5), UINT32_C(0x6DD34140),
+          UINT32_C(0xAD711350), UINT32_C(0x83D8A3E6), UINT32_C(0x1C0A71EC),
+          UINT32_C(0x86E0466B), UINT32_C(0x687D67C7), UINT32_C(0xBD67492F),
+          UINT32_C(0x7CE57B02)}},
+        {{UINT32_C(0xC4A0F3CF), UINT32_C(0xEF5A0FEC), UINT32_C(0xE3C2A79F),
+          UINT32_C(0xCEB2194B), UINT32_C(0xD37AFB50), UINT32_C(0x7371FF56),
+          UINT32_C(0x68CFB693), UINT32_C(0x881C254A), UINT32_C(0x7A5B61F5),
+          UINT32_C(0x31F411B1), UINT32_C(0x13E15910), UINT32_C(0xC2141EEB),
+          UINT32_C(0x75C6566F), UINT32_C(0xD4B5D015), UINT32_C(0x60C17F10),
+          UINT32_C(0x1335132C)},
+         {UINT32_C(0xF9EED825), UINT32_C(0x49A2D9CB), UINT32_C(0xE7C41C5A),
+          UINT32_C(0x0514441A), UINT32_C(0x636BA847), UINT32_C(0xCE9F19F7),
+          UINT32_C(0x44F44B74), UINT32_C(0x55175057), UINT32_C(0xD26F9DEA),
+          UINT32_C(0x0ED9CB8A), UINT32_C(0x84BD07A6), UINT32_C(0xBBB248C0),
+          UINT32_C(0x9CD8A6C1), UINT32_C(0x2C867FB1), UINT32_C(0x2186DB7C),
+          UINT32_C(0x230B4122)}},
+        {{UINT32_C(0xBC6B2647), UINT32_C(0xC59AF140), UINT32_C(0xD5CA9D30),
+          UINT32_C(0xCD781156), UINT32_C(0x04C5C668), UINT32_C(0x479CFCF8),
+          UINT32_C(0xB08BEEC5), UINT32_C(0xEAC4A5C0), UINT32_C(0x6C67636A),
+          UINT32_C(0x8772B60E), UINT32_C(0x631A6EF3), UINT32_C(0x99266F13),
+          UINT32_C(0x0D368B05), UINT32_C(0x4DADE9DE), UINT32_C(0xE42CB970),
+          UINT32_C(0x2F9488CB)},
+         {UINT32_C(0xB6FB1965), UINT32_C(0x4882B1D4), UINT32_C(0xAF24AD57),
+          UINT32_C(0x6423BBB4), UINT32_C(0xC406CF8F), UINT32_C(0xE52B487E),
+          UINT32_C(0xD49D4935), UINT32_C(0x502802AD), UINT32_C(0x24D5128F),
+          UINT32_C(0x6832E216), UINT32_C(0x670EAE40), UINT32_C(0x42190CD4),
+          UINT32_C(0x39258F40), UINT32_C(0xA2D4FDB4), UINT32_C(0xC5CADEEA),
+          UINT32_C(0x6127E350)}},
+    },
+    {
+        {{UINT32_C(0x896F045C), UINT32_C(0x160D95BD), UINT32_C(0x406D8CA3),
+          UINT32_C(0xBB8AA2C5), UINT32_C(0x94F274E5), UINT32_C(0x1B4E10B3),
+          UINT32_C(0x6332DB6B), UINT32_C(0xE6D30544), UINT32_C(0x5AAE23C5),
+          UINT32_C(0x95250D6A), UINT32_C(0xFC831AC1), UINT32_C(0x67458318),
+          UINT32_C(0x63510D9A), UINT32_C(0x05D21C9B), UINT32_C(0x20F2A3CC),
+          UINT32_C(0x2416562C)},
+         {UINT32_C(0xD6DE2B6D), UINT32_C(0x8B666C7A), UINT32_C(0xE54B6B3C),
+          UINT32_C(0xC49D98D0), UINT32_C(0x90558A8E), UINT32_C(0x73315C3F),
+          UINT32_C(0x44E631C4), UINT32_C(0x212910AD), UINT32_C(0xBB053E42),
+          UINT32_C(0x7D2EBB7E), UINT32_C(0x4FEF86C3), UINT32_C(0x396AD261),
+          UINT32_C(0x5E410BED), UINT32_C(0x90DA355C), UINT32_C(0x43C9183F),
+          UINT32_C(0x344A24DD)}},
+        {{UINT32_C(0x6AC2509A), UINT32_C(0x50971549), UINT32_C(0xFDA9F8AF),
+          UINT32_C(0xFCAF5541), UINT32_C(0xB3F2B1F5), UINT32_C(0xDDFDC6A9),
+          UINT32_C(0xB7DA428B), UINT32_C(0xBCA36B59), UINT32_C(0x357DCA59),
+          UINT32_C(0xB55602BE), UINT32_C(0xCE692E5D), UINT32_C(0x803C92A1),
+          UINT32_C(0x6DC19967), UINT32_C(0xCD723C3D), UINT32_C(0xF741820F),
+          UINT32_C(0x3EE4BC03)},
+         {UINT32_C(0xBB103F3B), UINT32_C(0x70113C23), UINT32_C(0x36553268),
+          UINT32_C(0x35FA9144), UINT32_C(0x1C026E84), UINT32_C(0x505B7917),
+          UINT32_C(0x1ED89D68), UINT32_C(0xA43E1256), UINT32_C(0xC87289BE),
+          UINT32_C(0xC8AE5CFB), UINT32_C(0x2B9C5072), UINT32_C(0xD573E0CF),
+          UINT32_C(0x475FA7A4), UINT32_C(0x709B1C4B), UINT32_C(0x81D07D11),
+          UINT32_C(0x505ADF59)}},
+        {{UINT32_C(0xA4AFD6AC), UINT32_C(0x1BC79E6A), UINT32_C(0x26866C93),
+          UINT32_C(0x156C1B36), UINT32_C(0x90A70847), UINT32_C(0x6E4F2FB6),
+          UINT32_C(0xE37556C2), UINT32_C(0x745824E0), UINT32_C(0x5BF6585C),
+          UINT32_C(0x384788E8), UINT32_C(0x87EFA785), UINT32_C(0xAD6A726B),
+          UINT32_C(0x40FEB98E), UINT32_C(0xD93A3B7E), UINT32_C(0x282EB335),
+          UINT32_C(0x4BA6A352)},
+         {UINT32_C(0x937FA288), UINT32_C(0x36EE7727), UINT32_C(0xC0513862),
+          UINT32_C(0xF1334DD2), UINT32_C(0x30FB68F5), UINT32_C(0x7AF1B32E),
+          UINT32_C(0x3196B14D), UINT32_C(0x2B0BAEFE), UINT32_C(0x21E84FA0),
+          UINT32_C(0x5E7BA8D7), UINT32_C(0x256AE375), UINT32_C(0x4DA767CD),
+          UINT32_C(0xE0F658DB), UINT32_C(0xA8D467F8), UINT32_C(0x20DB1855),
+          UINT32_C(0x7709039E)}},
+        {{UINT32_C(0xB26EE5F4), UINT32_C(0x6155BDC4), UINT32_C(0xC48A3913),
+          UINT32_C(0xF0CFD2B7), UINT32_C(0x63BFB3E5), UINT32_C(0x75AABCA1),
+          UINT32_C(0xC525DA22), UINT32_C(0x9232746D), UINT32_C(0x333F2B14),
+          UINT32_C(0x5F00A6CD), UINT32_C(0xF8ECA91E), UINT32_C(0xB3216C2B),
+          UINT32_C(0xF6E4FF19), UINT32_C(0x9A1F1EE8), UINT32_C(0xB0074F5D),
+          UINT32_C(0x3C76ADCF)},
+         {UINT32_C(0x45309788), UINT32_C(0xA414BFFB), UINT32_C(0x86539F4F),
+          UINT32_C(0x83EF3C3F), UINT32_C(0x576C4A69), UINT32_C(0x0AB8CEEA),
+          UINT32_C(0x13BEF0E4), UINT32_C(0xA01CC458), UINT32_C(0xEA181987),
+          UINT32_C(0x855B7F00), UINT32_C(0xE30F184F), UINT32_C(0xA97F14A9),
+          UINT32_C(0x554D467D), UINT32_C(0xB17DF2F0), UINT32_C(0xD6C8100D),
+          UINT32_C(0x29F0A944)}},
+        {{UINT32_C(0xC7D083C9), UINT32_C(0x57796871), UINT32_C(0x0DA74190),
+          UINT32_C(0xB83CD7FF), UINT32_C(0x97DC4A71), UINT32_C(0xA077968F),
+          UINT32_C(0x08ACDC2D), UINT32_C(0xC27429EC), UINT32_C(0x2B52DFEE),
+          UINT32_C(0x04996DF6), UINT32_C(0x1C182059), UINT32_C(0x13511C3A),
+          UINT32_C(0xCEFA8F7F), UINT32_C(0xCC27218A), UINT32_C(0xA0E51331),
+          UINT32_C(0x0757BD45)},
+         {UINT32_C(0x453DD761), UINT32_C(0x05F1D65D), UINT32_C(0xF3C5F5DF),
+          UINT32_C(0x71D57417), UINT32_C(0x38FA1AE7), UINT32_C(0x0C1E2043),
+          UINT32_C(0x36E7BB29), UINT32_C(0xA68A6F2E), UINT32_C(0x221EA420),
+          UINT32_C(0x3F3CA00F), UINT32_C(0x1484F503), UINT32_C(0x840830F6),
+          UINT32_C(0x18380FC5), UINT32_C(0xA011EA61), UINT32_C(0xD4D5F0B4),
+          UINT32_C(0x63E08325)}},
+        {{UINT32_C(0xA5352F43), UINT32_C(0xAC4F176A), UINT32_C(0xF5346C89),
+          UINT32_C(0x2C0A1D79), UINT32_C(0xEA7357BC), UINT32_C(0x3F16B2EC),
+          UINT32_C(0x9CB644F4), UINT32_C(0x1FE6E823), UINT32_C(0xE2C9912E),
+          UINT32_C(0x54E68BB4), UINT32_C(0x98E581AE), UINT32_C(0x82B35E8E),
+          UINT32_C(0xD6611B81), UINT32_C(0xD855E028), UINT32_C(0xA8C7ABE1),
+          UINT32_C(0x3D420591)},
+         {UINT32_C(0xA4D7C106), UINT32_C(0x71326CB4), UINT32_C(0x7E21F3EA),
+          UINT32_C(0x5BA8407F), UINT32_C(0x40DA0D53), UINT32_C(0xD33581D7),
+          UINT32_C(0x0C1E7D99), UINT32_C(0x7AB20546), UINT32_C(0xCB0075B5),
+          UINT32_C(0x71438057), UINT32_C(0xCB952FEE), UINT32_C(0x2F9AD50C),
+          UINT32_C(0x8B942A98), UINT32_C(0xFDCF4A12), UINT32_C(0xD8BB5BE5),
+          UINT32_C(0x025CFA1B)}},
+        {{UINT32_C(0x27BF5931), UINT32_C(0x2BF4ABF7), UINT32_C(0xD080A1BA),
+          UINT32_C(0x78BD4315), UINT32_C(0xF12B24D0), UINT32_C(0x1EB55607),
+          UINT32_C(0x8E8BAB49), UINT32_C(0xB7BC25D6), UINT32_C(0x60E68A74),
+          UINT32_C(0x01B666AE), UINT32_C(0x9058E10D), UINT32_C(0x9E1E7417),
+          UINT32_C(0xAB695D1E), UINT32_C(0x5D2493D0), UINT32_C(0x271B7FBF),
+          UINT32_C(0x714D7BB5)},
+         {UINT32_C(0x3BD07521), UINT32_C(0x869B52F6), UINT32_C(0x038E8A90),
+          UINT32_C(0x3413A47C), UINT32_C(0xC2B6D60D), UINT32_C(0x2B7724D4),
+          UINT32_C(0xB984B181), UINT32_C(0xD500A48C), UINT32_C(0x99ED9E13),
+          UINT32_C(0xDCD82594), UINT32_C(0x09397DD9), UINT32_C(0x33C480BA),
+          UINT32_C(0xB36CB025), UINT32_C(0xF98DA63D), UINT32_C(0x0C33FD92),
+          UINT32_C(0x0593108A)}},
+        {{UINT32_C(0xF01AB893), UINT32_C(0xE3BBCCB7), UINT32_C(0x6CE61B0B),
+          UINT32_C(0x3D8D3BD2), UINT32_C(0xFC00DB91), UINT32_C(0xB030CE07),
+          UINT32_C(0xAA51D38B), UINT32_C(0x78ADD938), UINT32_C(0x6CAF34CC),
+          UINT32_C(0x8FA75797), UINT32_C(0x494B4CCE), UINT32_C(0x28C34C7E),
+          UINT32_C(0x79091116), UINT32_C(0xECD5F385), UINT32_C(0x3512B9B1),
+          UINT32_C(0x455FD953)},
+         {UINT32_C(0x3CD57BE0), UINT32_C(0x1D2150EF), UINT32_C(0x43CEF565),
+          UINT32_C(0xF130B2A0), UINT32_C(0xFA4A4082), UINT32_C(0x1146159C),
+          UINT32_C(0xD6BB7E30), UINT32_C(0xDE949D6A), UINT32_C(0x40A2A53B),
+          UINT32_C(0xEB8984ED), UINT32_C(0xB920CDBE), UINT32_C(0xB9E72FE4),
+          UINT32_C(0xB43A51A9), UINT32_C(0xA507DDCA), UINT32_C(0x6C7C6F7F),
+          UINT32_C(0x3EB7D79F)}},
+        {{UINT32_C(0xDD356637), UINT32_C(0xDF75FE14), UINT32_C(0xFBC9E9DB),
+          UINT32_C(0x4B21206B), UINT32_C(0xA729BB2F), UINT32_C(0x0A33BCF3),
+          UINT32_C(0x686F49F2), UINT32_C(0xA61A363C), UINT32_C(0x34BD498C),
+          UINT32_C(0x426A4603), UINT32_C(0x705F7CD3), UINT32_C(0xE87EDA60),
+          UINT32_C(0xE633E9A7), UINT32_C(0xF9D24A5A), UINT32_C(0xA4325C1D),
+          UINT32_C(0x52063D93)},
+         {UINT32_C(0x23EEB132), UINT32_C(0x02890EEC), UINT32_C(0x5D39DDFD),
+          UINT32_C(0x00430E86), UINT32_C(0xA1E47638), UINT32_C(0x118E18F6),
+          UINT32_C(0x5806CD2F), UINT32_C(0xBB38E8C7), UINT32_C(0xF7CE9486),
+          UINT32_C(0xB7E5375E), UINT32_C(0xFDE35E82), UINT32_C(0x73DAA9EB),
+          UINT32_C(0x82070D71), UINT32_C(0x117E4761), UINT32_C(0x915BBD57),
+          UINT32_C(0x317DF0BE)}},
+        {{UINT32_C(0x25B74127), UINT32_C(0xF6915487), UINT32_C(0x18162D83),
+          UINT32_C(0x4333E7F5), UINT32_C(0xA429665E), UINT32_C(0xB435BEF9),
+          UINT32_C(0x20B9D358), UINT32_C(0xEEE9B7B7), UINT32_C(0xF8D1D44F),
+          UINT32_C(0x436ABB8B), UINT32_C(0xBF38B81F), UINT32_C(0xD1219F9A),
+          UINT32_C(0x9035DE38), UINT32_C(0x7CEE7063), UINT32_C(0xB341FFDA),
+          UINT32_C(0x34129008)},
+         {UINT32_C(0x99745C5B), UINT32_C(0x6595A1B0), UINT32_C(0x2C0685BB),
+          UINT32_C(0x07DF297A), UINT32_C(0x998110AD), UINT32_C(0xEE85C714),
+          UINT32_C(0xE2A8AD4E), UINT32_C(0xD251E587), UINT32_C(0xEC4D02C1),
+          UINT32_C(0x9A38F9DC), UINT32_C(0xCCDAF4C8), UINT32_C(0x60DA566F),
+          UINT32_C(0x90B08CA2), UINT32_C(0x1BD9A21A), UINT32_C(0xE97F4EA0),
+          UINT32_C(0x6D9414AE)}},
+        {{UINT32_C(0x74973250), UINT32_C(0xCBFAA861), UINT32_C(0xAB15AA60),
+          UINT32_C(0xC58A0F6B), UINT32_C(0xFDB7A15D), UINT32_C(0xC00F822D),
+          UINT32_C(0xFA067DEF), UINT32_C(0xAEA74910), UINT32_C(0x81F3EFC5),
+          UINT32_C(0x3750367B), UINT32_C(0xAFC6EC7C), UINT32_C(0x3183E3E8),
+          UINT32_C(0xDA10CD9F), UINT32_C(0xFB62717A), UINT32_C(0x6EEC9774),
+          UINT32_C(0x40431C1D)},
+         {UINT32_C(0x05914824), UINT32_C(0x423E7310), UINT32_C(0x9DE23908),
+          UINT32_C(0xA4F7A978), UINT32_C(0x7D5D18AA), UINT32_C(0xC151A73C),
+          UINT32_C(0xED1EAC6B), UINT32_C(0x1B85B7CB), UINT32_C(0x075066C4),
+          UINT32_C(0xF25CAF8C), UINT32_C(0x8004809B), UINT32_C(0x99508D70),
+          UINT32_C(0x212271C6), UINT32_C(0x6BEDC19F), UINT32_C(0x77A5AE84),
+          UINT32_C(0x2CCDAB39)}},
+        {{UINT32_C(0x23389925), UINT32_C(0x14203BEC), UINT32_C(0xCF059388),
+          UINT32_C(0xFBCA94CF), UINT32_C(0x8124F30F), UINT32_C(0x17626B40),
+          UINT32_C(0xC1C98EB6), UINT32_C(0x2208F6E5), UINT32_C(0x961F4C48),
+          UINT32_C(0x9B385200), UINT32_C(0x002E5C7A), UINT32_C(0x1C9F33E8),
+          UINT32_C(0x58B6DD91), UINT32_C(0xC426A940), UINT32_C(0x1CEC7286),
+          UINT32_C(0x6DF740E5)},
+         {UINT32_C(0x87E56C60), UINT32_C(0xF9397986), UINT32_C(0x587728F6),
+          UINT32_C(0x84425935), UINT32_C(0x2FE267FB), UINT32_C(0x394A3A01),
+          UINT32_C(0xD451CD8E), UINT32_C(0xB9C6481F), UINT32_C(0x5340AAC8),
+          UINT32_C(0xA6AB4F4B), UINT32_C(0x9B85FF63), UINT32_C(0xD7FD9675),
+          UINT32_C(0xAC5AEC86), UINT32_C(0x3D3AE591), UINT32_C(0xB96673F7),
+          UINT32_C(0x43283823)}},
+        {{UINT32_C(0x74E61BA9), UINT32_C(0x24214D23), UINT32_C(0xF69ED123),
+          UINT32_C(0xB41CFB58), UINT32_C(0x54F5F407), UINT32_C(0x8E91FE02),
+          UINT32_C(0x4F84200B), UINT32_C(0xFB989936), UINT32_C(0x024E62F0),
+          UINT32_C(0xAAE985CE), UINT32_C(0xA0BB20F6), UINT32_C(0x896815ED),
+          UINT32_C(0x3DF1E5BC), UINT32_C(0x3536095B), UINT32_C(0x9E1EB847),
+          UINT32_C(0x31C5AFA0)},
+         {UINT32_C(0xC2B9B4F0), UINT32_C(0x5C32910F), UINT32_C(0x50DBB2E8),
+          UINT32_C(0x32ABA814), UINT32_C(0x6AAF8A27), UINT32_C(0x17E2B52F),
+          UINT32_C(0x111CD6C3), UINT32_C(0x142E63AC), UINT32_C(0x22B6D227),
+          UINT32_C(0x15D5F297), UINT32_C(0x3C14CE28), UINT32_C(0x22380A78),
+          UINT32_C(0x5249F727), UINT32_C(0x29F4951C), UINT32_C(0x274839DE),
+          UINT32_C(0x24C25987)}},
+        {{UINT32_C(0x14C6CA73), UINT32_C(0x13F552E9), UINT32_C(0x0B154556),
+          UINT32_C(0xCE965927), UINT32_C(0x83EE34E2), UINT32_C(0x330E6D59),
+          UINT32_C(0xE8035AD6), UINT32_C(0xFB7B6051), UINT32_C(0x5B2D081D),
+          UINT32_C(0xC58FBCA8), UINT32_C(0x91D78C8E), UINT32_C(0x254FEDD1),
+          UINT32_C(0xCF877F74), UINT32_C(0x0438FF98), UINT32_C(0x8BB12DC9),
+          UINT32_C(0x479CEE4A)},
+         {UINT32_C(0x7A0CBCDD), UINT32_C(0x1855A1C3), UINT32_C(0x000FFC35),
+          UINT32_C(0x3667FFBB), UINT32_C(0xF880E9C0), UINT32_C(0xC053A4BF),
+          UINT32_C(0x05AEFE0E), UINT32_C(0xF8E1BCC1), UINT32_C(0x0B65DBBC),
+          UINT32_C(0x1AFEE0F2), UINT32_C(0x9E945F96), UINT32_C(0x63ACB97B),
+          UINT32_C(0x80B8F0BA), UINT32_C(0xDFC80965), UINT32_C(0xE919BE03),
+          UINT32_C(0x12A145EB)}},
+        {{UINT32_C(0xC6008C86), UINT32_C(0x8BBD02E8), UINT32_C(0x516BDD2F),
+          UINT32_C(0xB7ACE6C4), UINT32_C(0xE5036467), UINT32_C(0x914AE008),
+          UINT32_C(0x87987C22), UINT32_C(0xD06CF392), UINT32_C(0xC71FFCB4),
+          UINT32_C(0x0F78C12D), UINT32_C(0xCBF7A3B3), UINT32_C(0xB4612FBB),
+          UINT32_C(0x7B711004), UINT32_C(0xB6E69255), UINT32_C(0x1EA5ED45),
+          UINT32_C(0x68CEE9EC)},
+         {UINT32_C(0x5009FAD4), UINT32_C(0x45E4A8D1), UINT32_C(0xB1458DF2),
+          UINT32_C(0x1D303BD7), UINT32_C(0xBE13EFBE), UINT32_C(0x388523D9),
+          UINT32_C(0xC15147CD), UINT32_C(0xAC9F6D4A), UINT32_C(0x9ECFA216),
+          UINT32_C(0x551F3470), UINT32_C(0xAC9311F4), UINT32_C(0x0FF1AA33),
+          UINT32_C(0xB8D84926), UINT32_C(0x34EED866), UINT32_C(0x72C2CC5C),
+          UINT32_C(0x6BD5ED1C)}},
+        {{UINT32_C(0x9BDD8695), UINT32_C(0xA283EC1A), UINT32_C(0xA599147A),
+          UINT32_C(0x451A730B), UINT32_C(0xDA71F52B), UINT32_C(0x9B6CC56A),
+          UINT32_C(0x77D55722), UINT32_C(0xB1002CF5), UINT32_C(0x07A8D105),
+          UINT32_C(0x354328CD), UINT32_C(0x7A21026C), UINT32_C(0x86B04CA8),
+          UINT32_C(0x50EC9794), UINT32_C(0x53BADA3D), UINT32_C(0xBBC32D2B),
+          UINT32_C(0x0BD230C8)},
+         {UINT32_C(0xF7E3C388), UINT32_C(0x322E97FA), UINT32_C(0xAD6FEB4F),
+          UINT32_C(0xA0F06207), UINT32_C(0x9A128AA1), UINT32_C(0x3B05C04E),
+          UINT32_C(0x2214D1AB), UINT32_C(0x05DE3C90), UINT32_C(0xE69A562B),
+          UINT32_C(0x632C92A7), UINT32_C(0x6BEFC0B6), UINT32_C(0xE9F9DEE0),
+          UINT32_C(0x63E05275), UINT32_C(0xD269F547), UINT32_C(0x6C56EC35),
+          UINT32_C(0x04B2E1AB)}},
+    },
+    {
+        {{UINT32_C(0xFEB514D4), UINT32_C(0x9DB921FC), UINT32_C(0x485F4F30),
+          UINT32_C(0x00AC3CB4), UINT32_C(0xFED6B15B), UINT32_C(0x0DAFF6F9),
+          UINT32_C(0x9A5E67CB), UINT32_C(0x74C16AF5), UINT32_C(0xA8275392),
+          UINT32_C(0xAA73C142), UINT32_C(0x46A65634), UINT32_C(0xBF53E454),
+          UINT32_C(0x03D87479), UINT32_C(0x2819387F), UINT32_C(0xB495DDDB),
+          UINT32_C(0x4BC9293D)},
+         {UINT32_C(0x18AE902B), UINT32_C(0x755EC696), UINT32_C(0x1E9C6398),
+          UINT32_C(0x14729175), UINT32_C(0x29508353), UINT32_C(0x82396B3F),
+          UINT32_C(0x08614C4D), UINT32_C(0x932903AE), UINT32_C(0x50BC308A),
+          UINT32_C(0xA4B24D64), UINT32_C(0x88BDA41E), UINT32_C(0xA89DAA2F),
+          UINT32_C(0x84F8A09A), UINT32_C(0x94FC7C46), UINT32_C(0xB4931402),
+          UINT32_C(0x1054948E)}},
+        {{UINT32_C(0x8A7BA306), UINT32_C(0xF3E0BB8F), UINT32_C(0xA45240B6),
+          UINT32_C(0xC31FDE41), UINT32_C(0xE1755B86), UINT32_C(0x05AD7E1A),
+          UINT32_C(0xBCDD1230), UINT32_C(0xDDBFC1F9), UINT32_C(0xB4F8B744),
+          UINT32_C(0x8006BDBB), UINT32_C(0x8ADE1D9A), UINT32_C(0x86582902),
+          UINT32_C(0x078339E6), UINT32_C(0x8FEFE3B7), UINT32_C(0x46216EA5),
+          UINT32_C(0x342996F4)},
+         {UINT32_C(0x9B3D4651), UINT32_C(0xE0E1B5B3), UINT32_C(0xAABBE714),
+          UINT32_C(0xB2FC080C), UINT32_C(0xA522F01C), UINT32_C(0xC720BD5E),
+          UINT32_C(0x95F65EBE), UINT32_C(0x11D0543B), UINT32_C(0x484D4123),
+          UINT32_C(0x0880103C), UINT32_C(0x96976F8B), UINT32_C(0xD3F969F3),
+          UINT32_C(0xFDBA1CC1), UINT32_C(0x614855B7), UINT32_C(0xB3EC4B2E),
+          UINT32_C(0x56D4EEFE)}},
+        {{UINT32_C(0x3894EB7E), UINT32_C(0x029DC51C), UINT32_C(0x9D9876B7),
+          UINT32_C(0xF4AAE878), UINT32_C(0xE2388A33), UINT32_C(0x0FCD3C74),
+          UINT32_C(0x91E31014), UINT32_C(0xAD4C4CF7), UINT32_C(0x11977D22),
+          UINT32_C(0x34F61FF1), UINT32_C(0x7AAFC8D7), UINT32_C(0x984416FD),
+          UINT32_C(0x5DAE6048), UINT32_C(0x4A441361), UINT32_C(0x7B1AFA0C),
+          UINT32_C(0x50D2387B)},
+         {UINT32_C(0xBB8211DB), UINT32_C(0xD8BE85A1), UINT32_C(0xDD31FED9),
+          UINT32_C(0x195092C3), UINT32_C(0xC1764C23), UINT32_C(0x1F6FE6AB),
+          UINT32_C(0x3F067D75), UINT32_C(0x6A25DE23), UINT32_C(0xA244AA1D),
+          UINT32_C(0x8DB614AA), UINT32_C(0x25B11975), UINT32_C(0xAB0D7473),
+          UINT32_C(0xC036EA42), UINT32_C(0x714067C5), UINT32_C(0x6F3B1132),
+          UINT32_C(0x379935D6)}},
+        {{UINT32_C(0x8E762CB5), UINT32_C(0x1E8339D4), UINT32_C(0x0DF30209),
+          UINT32_C(0x1857091C), UINT32_C(0x29523926), UINT32_C(0x2E4AC9A7),
+          UINT32_C(0xB7D5A5BB), UINT32_C(0x5983F6D2), UINT32_C(0xF31262FE),
+          UINT32_C(0xA99D8D11), UINT32_C(0xA5CAB7C2), UINT32_C(0xE722945D),
+          UINT32_C(0xE8767862), UINT32_C(0x3196BFBD), UINT32_C(0xA59924F6),
+          UINT32_C(0x43707848)},
+         {UINT32_C(0xC78D8788), UINT32_C(0x8F0E368A), UINT32_C(0x4BF7DA53),
+          UINT32_C(0x50811A26), UINT32_C(0xDCA664FF), UINT32_C(0x9E0CB8FE),
+          UINT32_C(0x82EDADD5), UINT32_C(0xD2B8DFA0), UINT32_C(0x4A0C48E4),
+          UINT32_C(0x09C45772), UINT32_C(0x22511381), UINT32_C(0x6EC46A5C),
+          UINT32_C(0x313E87CC), UINT32_C(0xF5810BB4), UINT32_C(0xAB5A6BAB),
+          UINT32_C(0x20C5F006)}},
+        {{UINT32_C(0xD87A06AF), UINT32_C(0x76C6F60A), UINT32_C(0x78FDEBB5),
+          UINT32_C(0xAB7144AD), UINT32_C(0x5646A659), UINT32_C(0x956C36E7),
+          UINT32_C(0xB785E745), UINT32_C(0x5477D0F6), UINT32_C(0x4594BC06),
+          UINT32_C(0xFE9FF232), UINT32_C(0x3039A102), UINT32_C(0x1783B9A0),
+          UINT32_C(0x90DB0AB3), UINT32_C(0xD41E6C5A), UINT32_C(0x7550121F),
+          UINT32_C(0x43749FB4)},
+         {UINT32_C(0xD17CA661), UINT32_C(0xB7C6D143), UINT32_C(0x2B73135D),
+          UINT32_C(0xB1591F57), UINT32_C(0xC62DFF62), UINT32_C(0xF03232C9),
+          UINT32_C(0xCAF25761), UINT32_C(0xD3D1C629), UINT32_C(0x4B67D224),
+          UINT32_C(0xF633733F), UINT32_C(0x764EBF02), UINT32_C(0xCFBBC0D0),
+          UINT32_C(0x63C7EE19), UINT32_C(0x41CC07DD), UINT32_C(0xE8B36CB5),
+          UINT32_C(0x53BC8A63)}},
+        {{UINT32_C(0x74CAF7FF), UINT32_C(0x1E9F596C), UINT32_C(0x8C049872),
+          UINT32_C(0x8088EF96), UINT32_C(0xCE1208BF), UINT32_C(0x3A9EA96E),
+          UINT32_C(0x15DAF25D), UINT32_C(0x892C44E7), UINT32_C(0x5E996AE4),
+          UINT32_C(0xAF6E1EBF), UINT32_C(0xBAC1A746), UINT32_C(0x0A6EEE3C),
+          UINT32_C(0xCAF162F6), UINT32_C(0x9D471CB1), UINT32_C(0xE6BE08F1),
+          UINT32_C(0x13F7192A)},
+         {UINT32_C(0x49FBB46D), UINT32_C(0xCE44C77A), UINT32_C(0x5A04A72E),
+          UINT32_C(0xA7B9136F), UINT32_C(0x2B937703), UINT32_C(0x6CA33EC4),
+          UINT32_C(0xE8685FFF), UINT32_C(0xD4B3AAB5), UINT32_C(0xE7207EF1),
+          UINT32_C(0x8EFE02B3), UINT32_C(0xB83D0E5A), UINT32_C(0xB138C46D),
+          UINT32_C(0xF6C29885), UINT32_C(0xB73E636A), UINT32_C(0x72567A55),
+          UINT32_C(0x5C1E1242)}},
+        {{UINT32_C(0x15137904), UINT32_C(0xDD967B6A), UINT32_C(0x6969B92D),
+          UINT32_C(0x4588BAA7), UINT32_C(0x5E2BA269), UINT32_C(0x99580A4C),
+          UINT32_C(0x915645CD), UINT32_C(0xE80802B4), UINT32_C(0xFB6591AE),
+          UINT32_C(0x7246F3F2), UINT32_C(0xCC25F464), UINT32_C(0x68C2F8C6),
+          UINT32_C(0x4905AE3C), UINT32_C(0xB5172E90), UINT32_C(0x675591B3),
+          UINT32_C(0x6860BBDD)},
+         {UINT32_C(0x626489DF), UINT32_C(0x68BE15C0), UINT32_C(0x0C737BEB),
+          UINT32_C(0x65EA3D88), UINT32_C(0x32B5081D), UINT32_C(0x9EF8B6CC),
+          UINT32_C(0xB16FF753), UINT32_C(0xA6238BB1), UINT32_C(0xE17264C8),
+          UINT32_C(0x22191589), UINT32_C(0x903E28DC), UINT32_C(0xDBDAE7A3),
+          UINT32_C(0xF2DBCB8E), UINT32_C(0xB36FCD91), UINT32_C(0x75D33835),
+          UINT32_C(0x01EBFAC4)}},
+        {{UINT32_C(0xBC820AEC), UINT32_C(0x7B0EE204), UINT32_C(0x8568C4E8),
+          UINT32_C(0x500DA7FC), UINT32_C(0xB0961D29), UINT32_C(0x992A6429),
+          UINT32_C(0xE65D7FDA), UINT32_C(0xA3CAE853), UINT32_C(0x34197E58),
+          UINT32_C(0x7B6F5E79), UINT32_C(0xC4E849CB), UINT32_C(0x90D37EAC),
+          UINT32_C(0x0106FD33), UINT32_C(0xE01D14AF), UINT32_C(0x80027E17),
+          UINT32_C(0x4BE83679)},
+         {UINT32_C(0xA85EE145), UINT32_C(0xA412BA38), UINT32_C(0x5097CD50),
+          UINT32_C(0x219D461E), UINT32_C(0x29ECFCDA), UINT32_C(0xAD42175C),
+          UINT32_C(0xD04FAEFA), UINT32_C(0xB1DEF962), UINT32_C(0xA95983C1),
+          UINT32_C(0x5B527A4B), UINT32_C(0xBB20AB6D), UINT32_C(0x48A06C96),
+          UINT32_C(0x1FB83513), UINT32_C(0x7BAD34CD), UINT32_C(0xFDF018ED),
+          UINT32_C(0x458294DF)}},
+        {{UINT32_C(0xA695A157), UINT32_C(0x1D1EBD7E), UINT32_C(0xC52D5ED9),
+          UINT32_C(0x296DD049), UINT32_C(0x0BE33F05), UINT32_C(0x8958F5B0),
+          UINT32_C(0xD37E60D7), UINT32_C(0x6B7F7204), UINT32_C(0xC668C85A),
+          UINT32_C(0x446F7B95), UINT32_C(0x20F60396), UINT32_C(0xB6E53B20),
+          UINT32_C(0x8E621E73), UINT32_C(0x5738FF4E), UINT32_C(0x8CD9F00C),
+          UINT32_C(0x05DBD495)},
+         {UINT32_C(0xCFECAA9D), UINT32_C(0x645AD9D6), UINT32_C(0x3CEF6673),
+          UINT32_C(0x01CB8E09), UINT32_C(0x06D13DA7), UINT32_C(0x2851ED4E),
+          UINT32_C(0xCB18DFCB), UINT32_C(0x61FE9A95), UINT32_C(0xF903CBFE),
+          UINT32_C(0x62CC060F), UINT32_C(0xF14B0B1B), UINT32_C(0x121B6E4E),
+          UINT32_C(0xC4DEC6F3), UINT32_C(0x8CAB6654), UINT32_C(0x4B40D6D4),
+          UINT32_C(0x71880998)}},
+        {{UINT32_C(0x9583FB84), UINT32_C(0xEE5CA2A4), UINT32_C(0x4462D044),
+          UINT32_C(0xEF16CD07), UINT32_C(0x21EBB18F), UINT32_C(0x1C1D5999),
+          UINT32_C(0x0AACAD30), UINT32_C(0x66D7586B), UINT32_C(0x2EB12D8B),
+          UINT32_C(0x8EDF0A45), UINT32_C(0x223DE805), UINT32_C(0x1A320A44),
+          UINT32_C(0xA0C2F092), UINT32_C(0x0A389DA0), UINT32_C(0x7E68A2D9),
+          UINT32_C(0x274FF541)},
+         {UINT32_C(0x30395E54), UINT32_C(0x6CC34B53), UINT32_C(0x8C112729),
+          UINT32_C(0x881E630B), UINT32_C(0x70E4C811), UINT32_C(0x801E1CAD),
+          UINT32_C(0x91C2E90A), UINT32_C(0xA527AE82), UINT32_C(0x562AE094),
+          UINT32_C(0x93179BC8), UINT32_C(0x148F4F44), UINT32_C(0xCE68A130),
+          UINT32_C(0x32F8CCFD), UINT32_C(0xD8CA2ED0), UINT32_C(0x0527F82B),
+          UINT32_C(0x0415FDA4)}},
+        {{UINT32_C(0x25AED793), UINT32_C(0x9F5CA1FD), UINT32_C(0x09C49711),
+          UINT32_C(0x5B95B9AA), UINT32_C(0xB968168C), UINT32_C(0x386C8FBB),
+          UINT32_C(0xBDC778F4), UINT32_C(0xC6B27D7D), UINT32_C(0x321A9D97),
+          UINT32_C(0xBD5439A2), UINT32_C(0xDC4BA6A0), UINT32_C(0xEA40A5FE),
+          UINT32_C(0x962508AA), UINT32_C(0x94913F0F), UINT32_C(0xB247396E),
+          UINT32_C(0x0D2DD91A)},
+         {UINT32_C(0x17C64EFF), UINT32_C(0x1F459CF1), UINT32_C(0x0137E003),
+          UINT32_C(0x02E10B55), UINT32_C(0x60F82DFB), UINT32_C(0xFC375FE4),
+          UINT32_C(0x4631ECED), UINT32_C(0x9CCA9D6E), UINT32_C(0xE5053FDA),
+          UINT32_C(0x575C197C), UINT32_C(0x0A5B9670), UINT32_C(0x2EA3ECEE),
+          UINT32_C(0xA6F50038), UINT32_C(0xE69DECA1), UINT32_C(0xE8EDDA74),
+          UINT32_C(0x32F452FB)}},
+        {{UINT32_C(0xD9E4C490), UINT32_C(0x20980611), UINT32_C(0x74825DDD),
+          UINT32_C(0x827D79F1), UINT32_C(0x218E0B22), UINT32_C(0xB4604E04),
+          UINT32_C(0x1F4F1752), UINT32_C(0x0A7E5E3A), UINT32_C(0x243D8298),
+          UINT32_C(0x50260245), UINT32_C(0x1A2101B7), UINT32_C(0xEBF01C84),
+          UINT32_C(0x69E1A262), UINT32_C(0x369E69AE), UINT32_C(0x4C1C960A),
+          UINT32_C(0x5FD07868)},
+         {UINT32_C(0xA8F15793), UINT32_C(0xC542D34B), UINT32_C(0xE393381E),
+          UINT32_C(0x08F14B8F), UINT32_C(0xF855CD9F), UINT32_C(0xB6E06E97),
+          UINT32_C(0xA6CEE8C0), UINT32_C(0x47A195ED), UINT32_C(0xB05A740D),
+          UINT32_C(0x8776F026), UINT32_C(0xAC8EC060), UINT32_C(0x811D7AD6),
+          UINT32_C(0x29002EFB), UINT32_C(0xA61E5D27), UINT32_C(0x0C78E746),
+          UINT32_C(0x3D51D70E)}},
+        {{UINT32_C(0xC99E1438), UINT32_C(0xC0D70275), UINT32_C(0xFD5EE6B2),
+          UINT32_C(0x0E95C0EC), UINT32_C(0x39E6733E), UINT32_C(0xE14F58B0),
+          UINT32_C(0xB4941C24), UINT32_C(0x057B179E), UINT32_C(0x93C0A5EF),
+          UINT32_C(0x5E12F07F), UINT32_C(0x05E72CAB), UINT32_C(0xF600367D),
+          UINT32_C(0x899F259F), UINT32_C(0x89FCB008), UINT32_C(0x9C3E30E7),
+          UINT32_C(0x2654687C)},
+         {UINT32_C(0x3F148638), UINT32_C(0x85B7F9B7), UINT32_C(0x9EAEE0B4),
+          UINT32_C(0x8088F4F2), UINT32_C(0x3A7CAFD7), UINT32_C(0xA741D270),
+          UINT32_C(0xDB5B5339), UINT32_C(0x8973A806), UINT32_C(0x22DDCAA9),
+          UINT32_C(0xAAF4E75C), UINT32_C(0xCBB763CB), UINT32_C(0xA2450A79),
+          UINT32_C(0x016E5E3D), UINT32_C(0xBE1B3F2A), UINT32_C(0xCCECC258),
+          UINT32_C(0x4B1061B2)}},
+        {{UINT32_C(0xC9C8A23A), UINT32_C(0x2F28689A), UINT32_C(0x59341E8C),
+          UINT32_C(0xD8FB2980), UINT32_C(0x375ACDAD), UINT32_C(0xD3617B26),
+          UINT32_C(0x513ED120), UINT32_C(0x314FA469), UINT32_C(0xE2F8DF55),
+          UINT32_C(0xFEB30225), UINT32_C(0x1F639D66), UINT32_C(0x29E001AF),
+          UINT32_C(0xDBDC9737), UINT32_C(0xA175DDD4), UINT32_C(0x8015C048),
+          UINT32_C(0x6A778E4F)},
+         {UINT32_C(0xCC55DBA8), UINT32_C(0x4612651E), UINT32_C(0x2B3C7B06),
+          UINT32_C(0xE853ADDE), UINT32_C(0x6E0B2E41), UINT32_C(0x14B2D0B7),
+          UINT32_C(0xEE804E0B), UINT32_C(0xCA4F0872), UINT32_C(0xF893D931),
+          UINT32_C(0xEA2AFCA5), UINT32_C(0x9BE51B1A), UINT32_C(0x6EB01891),
+          UINT32_C(0x1F2769F1), UINT32_C(0xB0D8500D), UINT32_C(0xA47FFC13),
+          UINT32_C(0x1303BA01)}},
+        {{UINT32_C(0xB43811EA), UINT32_C(0xBED58425), UINT32_C(0x4E52E1D6),
+          UINT32_C(0x57D7E536), UINT32_C(0xBF5EF913), UINT32_C(0x93DE67FE),
+          UINT32_C(0x2713FC52), UINT32_C(0x2CCDA4E3), UINT32_C(0x8F1FA4BB),
+          UINT32_C(0xC5C1B6F0), UINT32_C(0xA725295F), UINT32_C(0xA267A790),
+          UINT32_C(0x2D219844), UINT32_C(0x13BB7D11), UINT32_C(0x75415602),
+          UINT32_C(0x7FAF96A2)},
+         {UINT32_C(0x4E4C3CE4), UINT32_C(0x7879EDF4), UINT32_C(0x3BF094F7),
+          UINT32_C(0x9CD59A0D), UINT32_C(0x4A882A52), UINT32_C(0xD7976DEB),
+          UINT32_C(0xBA65AFBA), UINT32_C(0x19EBBC10), UINT32_C(0x2D48D187),
+          UINT32_C(0xABC37350), UINT32_C(0x1236B5F9), UINT32_C(0x5D5CA6C3),
+          UINT32_C(0x915EAF61), UINT32_C(0xDFA55AC2), UINT32_C(0xE8735632),
+          UINT32_C(0x6C54515E)}},
+        {{UINT32_C(0xDC21B326), UINT32_C(0xB1CD06DE), UINT32_C(0xE4AE6148),
+          UINT32_C(0xD6F6F904), UINT32_C(0xFA13BE52), UINT32_C(0x941B7545),
+          UINT32_C(0xDF7CE61B), UINT32_C(0xD527042F), UINT32_C(0xD9C9BBDB),
+          UINT32_C(0x1AB4495E), UINT32_C(0xBF6582BE), UINT32_C(0xA5CBE7C5),
+          UINT32_C(0x41A1DA90), UINT32_C(0x1D0B5BA2), UINT32_C(0x0A810954),
+          UINT32_C(0x6F99305C)},
+         {UINT32_C(0x40D3954D), UINT32_C(0x866C254F), UINT32_C(0x2E5A123D),
+          UINT32_C(0x5DEBFF4D), UINT32_C(0xAD23124C), UINT32_C(0x14AB6FB8),
+          UINT32_C(0xC6B13624), UINT32_C(0xAE3C32B6), UINT32_C(0x707528BA),
+          UINT32_C(0x74075FF6), UINT32_C(0xE91D5097), UINT32_C(0x55DA7227),
+          UINT32_C(0x6A9C3469), UINT32_C(0x450D3848), UINT32_C(0x2313EBA2),
+          UINT32_C(0x15818A1E)}},
+    },
+    {
+        {{UINT32_C(0x14125D01), UINT32_C(0x27BE68B4), UINT32_C(0x2482BF94),
+          UINT32_C(0x87549114), UINT32_C(0x8D0C8AF2), UINT32_C(0xE8B70931),
+          UINT32_C(0x11344A8B), UINT32_C(0xF38D32BF), UINT32_C(0x63136143),
+          UINT32_C(0xCB7CDFD1), UINT32_C(0xA17D7DE5), UINT32_C(0x717954CD),
+          UINT32_C(0x7C10DF5E), UINT32_C(0xD65BDD44), UINT32_C(0x4E821D20),
+          UINT32_C(0x15C45F81)},
+         {UINT32_C(0xD9C326C4), UINT32_C(0x7D425E66), UINT32_C(0x1C7B4BCD),
+          UINT32_C(0xEEA0D61A), UINT32_C(0x8707E9C8), UINT32_C(0x41A8654A),
+          UINT32_C(0x0B4A8F46), UINT32_C(0xBA9E8F7C), UINT32_C(0xF2739871),
+          UINT32_C(0xB96A24FC), UINT32_C(0xFD9C9D58), UINT32_C(0xA9BA022F),
+          UINT32_C(0x2C9AE418), UINT32_C(0x59F7C297), UINT32_C(0xB0CDD468),
+          UINT32_C(0x6B82C284)}},
+        {{UINT32_C(0x58483FA2), UINT32_C(0xD4C5486A), UINT32_C(0xEDC6A022),
+          UINT32_C(0x8F140259), UINT32_C(0xC43116F8), UINT32_C(0xE451FB0C),
+          UINT32_C(0x65DF7628), UINT32_C(0x5368FE47), UINT32_C(0xBC70855A),
+          UINT32_C(0x0F0DCC6D), UINT32_C(0x472BFE81), UINT32_C(0x0E726D87),
+          UINT32_C(0x3C024F88), UINT32_C(0x9C64B716), UINT32_C(0x14FF6089),
+          UINT32_C(0x1ABAE0D8)},
+         {UINT32_C(0xB5A15618), UINT32_C(0xC0ABA6B3), UINT32_C(0x65CE0681),
+          UINT32_C(0x71FAA6DF), UINT32_C(0x39A6F5BF), UINT32_C(0x3199E2C9),
+          UINT32_C(0x85BCF47E), UINT32_C(0xD8EBFEDA), UINT32_C(0xC262A35F),
+          UINT32_C(0xC3D57D3B), UINT32_C(0x0269DFDE), UINT32_C(0xF0D6338E),
+          UINT32_C(0x0E6D0BF0), UINT32_C(0x09072E1E), UINT32_C(0x4128B1BA),
+          UINT32_C(0x0980E291)}},
+        {{UINT32_C(0x4DE44CB0), UINT32_C(0x6A2023F8), UINT32_C(0x247A7D5B),
+          UINT32_C(0xEA995754), UINT32_C(0x99102324), UINT32_C(0xD850D179),
+          UINT32_C(0xA906B038), UINT32_C(0x126FDFE2), UINT32_C(0x577DF168),
+          UINT32_C(0x4C3B3696), UINT32_C(0x9E3853EA), UINT32_C(0x9D3A9E07),
+          UINT32_C(0x40ACE3A1), UINT32_C(0xBC21A51E), UINT32_C(0xC51DD652),
+          UINT32_C(0x165065A3)},
+         {UINT32_C(0xE4BBD96B), UINT32_C(0xF5B255B9), UINT32_C(0x3D94F9D6),
+          UINT32_C(0xC1E91F80), UINT32_C(0x84768FCE), UINT32_C(0x7DDB5BB7),
+          UINT32_C(0x5CA35823), UINT32_C(0x33F7ADF6), UINT32_C(0x33097882),
+          UINT32_C(0x3667E174), UINT32_C(0x8F241DC1), UINT32_C(0x5FDC3BA1),
+          UINT32_C(0x172CD7FC), UINT32_C(0x41F5C737), UINT32_C(0x7986FE8D),
+          UINT32_C(0x64D4116E)}},
+        {{UINT32_C(0x8C89DED4), UINT32_C(0x2FF0F505), UINT32_C(0xBBBD0897),
+          UINT32_C(0x06507852), UINT32_C(0x1FAD2908), UINT32_C(0x62886521),
+          UINT32_C(0x9F5F4D13), UINT32_C(0xB8A1362E), UINT32_C(0x6E9856FD),
+          UINT32_C(0x83075FE6), UINT32_C(0x7CCEDC4D), UINT32_C(0x06B0BA27),
+          UINT32_C(0x52750DD5), UINT32_C(0x09B81B51), UINT32_C(0xCB59D8F1),
+          UINT32_C(0x12A96BB0)},
+         {UINT32_C(0xDB43958B), UINT32_C(0xCA4BC3A5), UINT32_C(0x94C12E88),
+          UINT32_C(0x6456C11B), UINT32_C(0xAC330EE6), UINT32_C(0x7EFA99FF),
+          UINT32_C(0xF40AEBEC), UINT32_C(0x56973CAD), UINT32_C(0xC5D73A2A),
+          UINT32_C(0x62522E6B), UINT32_C(0x90F4378B), UINT32_C(0xF4538CA8),
+          UINT32_C(0x1BA585B1), UINT32_C(0xE5447FCB), UINT32_C(0x18376AB9),
+          UINT32_C(0x6C3F50C2)}},
+        {{UINT32_C(0xE1720FC1), UINT32_C(0xC0156EB6), UINT32_C(0xFFEE4BA3),
+          UINT32_C(0xE0F821EE), UINT32_C(0xD0B530C5), UINT32_C(0xC0B4EF97),
+          UINT32_C(0x1A47CDAA), UINT32_C(0x003BB116), UINT32_C(0x464EC84B),
+          UINT32_C(0xA5837856), UINT32_C(0xE0E63A97), UINT32_C(0xD65BA195),
+          UINT32_C(0xA375112F), UINT32_C(0xB22C0F5F), UINT32_C(0xA7F7BDC1),
+          UINT32_C(0x18D81698)},
+         {UINT32_C(0x91E78A50), UINT32_C(0x5FD3C5E5), UINT32_C(0x97D10A66),
+          UINT32_C(0xE5EE4EB9), UINT32_C(0x9FA305DA), UINT32_C(0xF74BD085),
+          UINT32_C(0x5485E038), UINT32_C(0x519BC676), UINT32_C(0xDE116ECE),
+          UINT32_C(0x7D3E6E21), UINT32_C(0x4221F32B), UINT32_C(0x10D68B8C),
+          UINT32_C(0x565C1614), UINT32_C(0xE41D74A9), UINT32_C(0x2E728554),
+          UINT32_C(0x191561DD)}},
+        {{UINT32_C(0x01C9BD19), UINT32_C(0x527CD255), UINT32_C(0x913FA68C),
+          UINT32_C(0x01879769), UINT32_C(0xD76B7FCB), UINT32_C(0xE9BF7700),
+          UINT32_C(0x02B92508), UINT32_C(0xCEA4EE41), UINT32_C(0x34D015A1),
+          UINT32_C(0x739154CC), UINT32_C(0x44C3F451), UINT32_C(0xD1F1F1AC),
+          UINT32_C(0x7905A732), UINT32_C(0x1DF5A4AA), UINT32_C(0xB67F7057),
+          UINT32_C(0x081AFEB8)},
+         {UINT32_C(0x671D0F79), UINT32_C(0x8A0EDEC0), UINT32_C(0x442928EE),
+          UINT32_C(0xE99B4B79), UINT32_C(0x2C1557B0), UINT32_C(0x4A722AC7),
+          UINT32_C(0x03021BBE), UINT32_C(0x95070ED6), UINT32_C(0x672C3F05),
+          UINT32_C(0x9E1E6418), UINT32_C(0x89B0C1A6), UINT32_C(0x87337263),
+          UINT32_C(0x008A3B13), UINT32_C(0xB67B8831), UINT32_C(0xB059BE83),
+          UINT32_C(0x4F44986B)}},
+        {{UINT32_C(0x2CB15C97), UINT32_C(0x09A5B3C9), UINT32_C(0xF9B4777D),
+          UINT32_C(0x43E1B906), UINT32_C(0x66A5BC88), UINT32_C(0x3BAB3A64),
+          UINT32_C(0x7D82E655), UINT32_C(0x276632BB), UINT32_C(0xD97D5CE2),
+          UINT32_C(0xD09388D1), UINT32_C(0xCA1248C5), UINT32_C(0x26B0339D),
+          UINT32_C(0x11F2A8BB), UINT32_C(0x05F0A241), UINT32_C(0xB7F68A8A),
+          UINT32_C(0x1F498EBA)},
+         {UINT32_C(0xD0DD019B), UINT32_C(0x265C09CF), UINT32_C(0x958B91C2),
+          UINT32_C(0x01A0FE11), UINT32_C(0x5A389069), UINT32_C(0xF55D56ED),
+          UINT32_C(0x1A18A889), UINT32_C(0x9E5DE2CA), UINT32_C(0x065A1799),
+          UINT32_C(0x4F4C9D39), UINT32_C(0x7213B184), UINT32_C(0xB5CB916F),
+          UINT32_C(0xB5D0926E), UINT32_C(0x1941E104), UINT32_C(0x2E03CFB8),
+          UINT32_C(0x6EC375E8)}},
+        {{UINT32_C(0xB57B1B5D), UINT32_C(0x80F444ED), UINT32_C(0x7D4EFD6C),
+          UINT32_C(0x2E5315E7), UINT32_C(0x868CC07F), UINT32_C(0x9272EBA7),
+          UINT32_C(0x31A8EA6E), UINT32_C(0x19EC814D), UINT32_C(0xF29FCDBF),
+          UINT32_C(0x9EE92D03), UINT32_C(0x2E8408C3), UINT32_C(0xDBF8AB6B),
+          UINT32_C(0xA103D807), UINT32_C(0xA0E845FB), UINT32_C(0x1CA3992E),
+          UINT32_C(0x2A6A6B31)},
+         {UINT32_C(0x1C391D76), UINT32_C(0xF58B6F6C), UINT32_C(0x13687C07),
+          UINT32_C(0x9E385BB2), UINT32_C(0x6BAEBBF5), UINT32_C(0xF6EE205B),
+          UINT32_C(0xA706C6C5), UINT32_C(0xB2D7D412), UINT32_C(0xCD887640),
+          UINT32_C(0xCFE32A97), UINT32_C(0xD93A1136), UINT32_C(0x2783CFE9),
+          UINT32_C(0xF4D34FA7), UINT32_C(0x601DE429), UINT32_C(0x6EA85459),
+          UINT32_C(0x1E433BB8)}},
+        {{UINT32_C(0xD618AD6A), UINT32_C(0x8BCB9073), UINT32_C(0x996FE814),
+          UINT32_C(0x84CDBD19), UINT32_C(0x166793B9), UINT32_C(0xB1F5FFDB),
+          UINT32_C(0xEDE62FB4), UINT32_C(0x5FA22BAD), UINT32_C(0x7019C1EB),
+          UINT32_C(0xC1C1C394), UINT32_C(0x08AA77F0), UINT32_C(0x7A026191),
+          UINT32_C(0xA32E5855), UINT32_C(0x026EE69D), UINT32_C(0x80B81284),
+          UINT32_C(0x53563997)},
+         {UINT32_C(0x5E0B9ABB), UINT32_C(0xF46C064F), UINT32_C(0xE8A0FE23),
+          UINT32_C(0x39332D2C), UINT32_C(0x0BE9ECC5), UINT32_C(0xBD50EE1C),
+          UINT32_C(0x8DE1B166), UINT32_C(0x9B4A4CC0), UINT32_C(0x56713AAF),
+          UINT32_C(0x4BBA7B7B), UINT32_C(0xF1C76C54), UINT32_C(0x2CA8EF64),
+          UINT32_C(0xCEB309E8), UINT32_C(0x1022D9F4), UINT32_C(0x15A18D10),
+          UINT32_C(0x4F1375BC)}},
+        {{UINT32_C(0x9198331C), UINT32_C(0x09CF4EBA), UINT32_C(0x7D60EA39),
+          UINT32_C(0x232CA52D), UINT32_C(0x2FC3A96E), UINT32_C(0x2C478089),
+          UINT32_C(0x80CB5721), UINT32_C(0xC7F9A36C), UINT32_C(0x2D8802BE),
+          UINT32_C(0xEDA98A0C), UINT32_C(0x3C41B152), UINT32_C(0xC7413048),
+          UINT32_C(0xA74D701C), UINT32_C(0x479DF24F), UINT32_C(0x51869D52),
+          UINT32_C(0x7A92C3F1)},
+         {UINT32_C(0xF00BA577), UINT32_C(0xC1AB98B3), UINT32_C(0xB7778354),
+          UINT32_C(0x5A687BA4), UINT32_C(0x157FB1D2), UINT32_C(0xF5A77B64),
+          UINT32_C(0x81BBAFEE), UINT32_C(0xB9F746AE), UINT32_C(0x1BEE9D2D),
+          UINT32_C(0xBA33EBDC), UINT32_C(0xD046655C), UINT32_C(0x6FE41BC1),
+          UINT32_C(0xACC3A496), UINT32_C(0x2A8CB913), UINT32_C(0x6AC2B374),
+          UINT32_C(0x7CBC537D)}},
+        {{UINT32_C(0x538ED4B1), UINT32_C(0x55C19B5E), UINT32_C(0x61891DAE),
+          UINT32_C(0x6AA0E456), UINT32_C(0xCD971AE7), UINT32_C(0xD77CA0C2),
+          UINT32_C(0x70294F78), UINT32_C(0xB23434F7), UINT32_C(0x14D25513),
+          UINT32_C(0x3B87D759), UINT32_C(0x8B94F435), UINT32_C(0x2A37CFD2),
+          UINT32_C(0x3F3F32FF), UINT32_C(0xF63B0962), UINT32_C(0x98B5916A),
+          UINT32_C(0x6387EFB9)},
+         {UINT32_C(0xF35951D8), UINT32_C(0xB2826971), UINT32_C(0x996C5518),
+          UINT32_C(0xD1DDCB0A), UINT32_C(0x3669304A), UINT32_C(0xA5E88B2D),
+          UINT32_C(0xC53DEDB7), UINT32_C(0xEA5685BD), UINT32_C(0x6A446FA0),
+          UINT32_C(0x2DD72E08), UINT32_C(0xEA074FF8), UINT32_C(0xFA2689EF),
+          UINT32_C(0x7A8302C3), UINT32_C(0xC3430BBE), UINT32_C(0xE98D1CD5),
+          UINT32_C(0x098A5073)}},
+        {{UINT32_C(0x44EE6CC4), UINT32_C(0xCF5D95C2), UINT32_C(0xCE04027F),
+          UINT32_C(0x5D5278B5), UINT32_C(0xC1D26E0E), UINT32_C(0xEA0F4D01),
+          UINT32_C(0xAB2E71FB), UINT32_C(0xA79154F3), UINT32_C(0xDC59126C),
+          UINT32_C(0x27BBA6EE), UINT32_C(0x632BEE8F), UINT32_C(0x269EB8B7),
+          UINT32_C(0x53BB6C55), UINT32_C(0xD5894008), UINT32_C(0x222DDE2B),
+          UINT32_C(0x7698DA12)},
+         {UINT32_C(0xB5D03BC6), UINT32_C(0x826DF5A3), UINT32_C(0xE126406F),
+          UINT32_C(0xFAADAD56), UINT32_C(0x68849D5F), UINT32_C(0x2EC70B64),
+          UINT32_C(0x1D799E78), UINT32_C(0x9DDF8991), UINT32_C(0xD4DE8AC5),
+          UINT32_C(0xB2AEAFC5), UINT32_C(0xE114AD71), UINT32_C(0x7A167F8F),
+          UINT32_C(0x13AA2EDF), UINT32_C(0x9DCD07BC), UINT32_C(0x6651BD12),
+          UINT32_C(0x531A5A3D)}},
+        {{UINT32_C(0x82E7C32C), UINT32_C(0xDE7CE2AD), UINT32_C(0x2D0742C3),
+          UINT32_C(0x2C9908EA), UINT32_C(0x056F7C69), UINT32_C(0xDA528D69),
+          UINT32_C(0x704BFDCD), UINT32_C(0x1FE6E3EB), UINT32_C(0x79B0F586),
+          UINT32_C(0x9C1EEDDF), UINT32_C(0x481E83F6), UINT32_C(0x0F6F81FB),
+          UINT32_C(0xE007286E), UINT32_C(0x17DB66C0), UINT32_C(0x1802CD99),
+          UINT32_C(0x3607EC13)},
+         {UINT32_C(0x6F216120), UINT32_C(0xCCB2B85C), UINT32_C(0xE51C2036),
+          UINT32_C(0x7B9EA544), UINT32_C(0x5428771E), UINT32_C(0xB14CD361),
+          UINT32_C(0x03C6BD02), UINT32_C(0x978C458E), UINT32_C(0xEACEB25A),
+          UINT32_C(0xEA43C163), UINT32_C(0x6B85CBB9), UINT32_C(0xB590D2D7),
+          UINT32_C(0x19C45D61), UINT32_C(0x10B8EB86), UINT32_C(0xA1FC40DE),
+          UINT32_C(0x2E5AF3E0)}},
+        {{UINT32_C(0x90D2EA3E), UINT32_C(0x465C6261), UINT32_C(0x3E11EFC6),
+          UINT32_C(0x6B10583C), UINT32_C(0x24958F6C), UINT32_C(0x1E3A1132),
+          UINT32_C(0xB3336EA5), UINT32_C(0xCB895C3B), UINT32_C(0x5F89EEA1),
+          UINT32_C(0xCA995E60), UINT32_C(0x199719B0), UINT32_C(0x725FB30B),
+          UINT32_C(0xF8061D92), UINT32_C(0xC6897E80), UINT32_C(0x2CFBFB75),
+          UINT32_C(0x56680A53)},
+         {UINT32_C(0xD13E5E25), UINT32_C(0xA770755D), UINT32_C(0xFB78D704),
+          UINT32_C(0xC33F71B0), UINT32_C(0xA101B288), UINT32_C(0x7B2322E7),
+          UINT32_C(0xC1075A9E), UINT32_C(0x03ED4A92), UINT32_C(0x4B8CB0D4),
+          UINT32_C(0xBF435984), UINT32_C(0x60F8188C), UINT32_C(0x6C61DDF3),
+          UINT32_C(0x4D04EA1B), UINT32_C(0x760339E1), UINT32_C(0x46CE38BC),
+          UINT32_C(0x18B7FE13)}},
+        {{UINT32_C(0x838C109E), UINT32_C(0x7AA91562), UINT32_C(0xEF910EAF),
+          UINT32_C(0xBBCAE1A4), UINT32_C(0xA3F53427), UINT32_C(0xF3CAD5AD),
+          UINT32_C(0xAA559EE9), UINT32_C(0xF8FA6F08), UINT32_C(0x9B872C03),
+          UINT32_C(0x35DF7AA5), UINT32_C(0x8F1C0B48), UINT32_C(0x0A3C6789),
+          UINT32_C(0x3B1F9ABD), UINT32_C(0xE4106F6F), UINT32_C(0x7DAA3EA0),
+          UINT32_C(0x51EE882B)},
+         {UINT32_C(0xA97C031B), UINT32_C(0xFAE35FE0), UINT32_C(0x2FB341D9),
+          UINT32_C(0x265CC7A2), UINT32_C(0xF7515098), UINT32_C(0xF99D1646),
+          UINT32_C(0xA70C3101), UINT32_C(0x3630DCFC), UINT32_C(0x984A7736),
+          UINT32_C(0x0D492AE5), UINT32_C(0xA65956C5), UINT32_C(0x1E46ACB5),
+          UINT32_C(0x9C39921B), UINT32_C(0x87E193D0), UINT32_C(0x71406E88),
+          UINT32_C(0x1AA85A4B)}},
+        {{UINT32_C(0x26B55827), UINT32_C(0x6875F762), UINT32_C(0x28C694F4),
+          UINT32_C(0xC6E92CB6), UINT32_C(0x57E83283), UINT32_C(0xC3DA1CFB),
+          UINT32_C(0xFC91E16A), UINT32_C(0x2DAD4640), UINT32_C(0x079E48FB),
+          UINT32_C(0x27238EDF), UINT32_C(0x4676F002), UINT32_C(0x8262F37E),
+          UINT32_C(0x7E20A097), UINT32_C(0xF1DF5685), UINT32_C(0x1D647DBF),
+          UINT32_C(0x710B8830)},
+         {UINT32_C(0x55F50EC5), UINT32_C(0xF521938F), UINT32_C(0x5A65EC57),
+          UINT32_C(0x86E72C2D), UINT32_C(0x9E067563), UINT32_C(0x72E72E10),
+          UINT32_C(0x2941350F), UINT32_C(0x1C572F37), UINT32_C(0x27E00FBF),
+          UINT32_C(0x0234F613), UINT32_C(0xE0605A65), UINT32_C(0xA33CCF1A),
+          UINT32_C(0x9BE4C255), UINT32_C(0xFDB2433A), UINT32_C(0xDD7E45CD),
+          UINT32_C(0x18374CEB)}},
+    },
+    {
+        {{UINT32_C(0x0CEEC3F3), UINT32_C(0x9E00FC84), UINT32_C(0x0D2268DF),
+          UINT32_C(0xA758AA23), UINT32_C(0xD36F482D), UINT32_C(0x5C9B3794),
+          UINT32_C(0xE90303E7), UINT32_C(0xEE3F79CF), UINT32_C(0xD1BB3495),
+          UINT32_C(0x22573217), UINT32_C(0xD2242A7E), UINT32_C(0x6D5C2063),
+          UINT32_C(0x876A074A), UINT32_C(0x339BEDB8), UINT32_C(0x95CD5AA2),
+          UINT32_C(0x63268703)},
+         {UINT32_C(0x1B0CAE7B), UINT32_C(0xA86B4EF9), UINT32_C(0x3DB7D12D),
+          UINT32_C(0x420985B4), UINT32_C(0x6B1CEED3), UINT32_C(0x99A3BB29),
+          UINT32_C(0x3569FA9E), UINT32_C(0x2113B00F), UINT32_C(0x8E8BF2D8),
+          UINT32_C(0x2C592420), UINT32_C(0x00DB962B), UINT32_C(0xF74DD63B),
+          UINT32_C(0x9758035F), UINT32_C(0x8F0523E5), UINT32_C(0x448F83C0),
+          UINT32_C(0x4EA1D81A)}},
+        {{UINT32_C(0xAAB1F908), UINT32_C(0x01183057), UINT32_C(0x324AC197),
+          UINT32_C(0xAF94AE9A), UINT32_C(0x23710A59), UINT32_C(0x6BF3B50D),
+          UINT32_C(0xC39A3428), UINT32_C(0x9B65A594), UINT32_C(0x2210C08A),
+          UINT32_C(0x345E5C52), UINT32_C(0x23216FE9), UINT32_C(0x6D728DD6),
+          UINT32_C(0x2E4F42C2), UINT32_C(0x9D09327B), UINT32_C(0x09505F44),
+          UINT32_C(0x47504F62)},
+         {UINT32_C(0xFB3AD9B5), UINT32_C(0x24F03D12), UINT32_C(0x439F3E25),
+          UINT32_C(0x70E8DE3C), UINT32_C(0xAE5A62FE), UINT32_C(0x1FE89F0E),
+          UINT32_C(0x4B98CDA2), UINT32_C(0x3B518A06), UINT32_C(0xC70FF3F3),
+          UINT32_C(0x725AE18C), UINT32_C(0x02BA4952), UINT32_C(0x45765C35),
+          UINT32_C(0xA7C32E49), UINT32_C(0xBAA6488D), UINT32_C(0xC5A2E6D7),
+          UINT32_C(0x5D277639)}},
+        {{UINT32_C(0xBD6F5DF9), UINT32_C(0xE3818693), UINT32_C(0x8307A5AD),
+          UINT32_C(0x482D9357), UINT32_C(0x323D211C), UINT32_C(0x82B507F2),
+          UINT32_C(0x92967D94), UINT32_C(0x9E382A71), UINT32_C(0xB3BFF973),
+          UINT32_C(0x4327BB2A), UINT32_C(0xAC87D95A), UINT32_C(0x911FF5F4),
+          UINT32_C(0x3BEF8BFB), UINT32_C(0xD2128961), UINT32_C(0xB8FA196B),
+          UINT32_C(0x43E2ED58)},
+         {UINT32_C(0xD5D4F65F), UINT32_C(0x74359D2C), UINT32_C(0x401FC20D),
+          UINT32_C(0x7FE8B0D1), UINT32_C(0xC012734A), UINT32_C(0xAA9C0EBC),
+          UINT32_C(0xBC05E810), UINT32_C(0x54BB07ED), UINT32_C(0x94C9B39B),
+          UINT32_C(0x09744AB8), UINT32_C(0x47E3E6E7), UINT32_C(0x1B29E64A),
+          UINT32_C(0x3B728BB9), UINT32_C(0x82082F86), UINT32_C(0xE159E167),
+          UINT32_C(0x5DA4AF1D)}},
+        {{UINT32_C(0xF80E5A20), UINT32_C(0xD838425E), UINT32_C(0x7AA52E54),
+          UINT32_C(0x1701F0F4), UINT32_C(0x3B0EF4D7), UINT32_C(0x2BC3E024),
+          UINT32_C(0xBD8C9C7E), UINT32_C(0x13DED370), UINT32_C(0x3853E414),
+          UINT32_C(0x93A9BCB0), UINT32_C(0x0B81BBA1), UINT32_C(0xBA752832),
+          UINT32_C(0x69F51EC3), UINT32_C(0xBE267CE5), UINT32_C(0x81D034EB),
+          UINT32_C(0x2DD13391)},
+         {UINT32_C(0xEAB11B6E), UINT32_C(0x78E02B77), UINT32_C(0xD67C3B1C),
+          UINT32_C(0xDC2C14F2), UINT32_C(0x87193F9F), UINT32_C(0x3407014C),
+          UINT32_C(0x580D2A6C), UINT32_C(0xA5187CAC), UINT32_C(0x254FB63B),
+          UINT32_C(0xA76AD3CB), UINT32_C(0xFA5EC4B7), UINT32_C(0x16A7A635),
+          UINT32_C(0x358A7E00), UINT32_C(0x8B1E623D), UINT32_C(0xE428EB45),
+          UINT32_C(0x12DED0AE)}},
+        {{UINT32_C(0x42D2628B), UINT32_C(0xEC93FF3E), UINT32_C(0x4D6D15AD),
+          UINT32_C(0xF3E153F8), UINT32_C(0xB269AFEF), UINT32_C(0x9C1D3EE7),
+          UINT32_C(0x2596D285), UINT32_C(0x1DC9ED6B), UINT32_C(0xDA973D5C),
+          UINT32_C(0x1D99A25F), UINT32_C(0x575656A3), UINT32_C(0x6D0CC657),
+          UINT32_C(0x9BE5B314), UINT32_C(0xB5FBD573), UINT32_C(0x4BCB4F6B),
+          UINT32_C(0x2D0AF381)},
+         {UINT32_C(0x42992580), UINT32_C(0x813C6975), UINT32_C(0xD9C88B9F),
+          UINT32_C(0x5F35F31B), UINT32_C(0xF1315EA8), UINT32_C(0xD62AC131),
+          UINT32_C(0x20AEAF30), UINT32_C(0x6898E20F), UINT32_C(0x733A3518),
+          UINT32_C(0x85A2C8AF), UINT32_C(0x42DFC623), UINT32_C(0x60BB0AE0),
+          UINT32_C(0x7F5A3320), UINT32_C(0x5BE9C682), UINT32_C(0x0795B27B),
+          UINT32_C(0x78153114)}},
+        {{UINT32_C(0x5BFB1A8F), UINT32_C(0xEBA2445D), UINT32_C(0xE3A37647),
+          UINT32_C(0x23CA73DB), UINT32_C(0x09D6A2E8), UINT32_C(0x1D41C8EA),
+          UINT32_C(0xB9CA389A), UINT32_C(0x837CB597), UINT32_C(0x1DAF5EF4),
+          UINT32_C(0x66B0A05A), UINT32_C(0x79720DD3), UINT32_C(0xD1EC0B2B),
+          UINT32_C(0x34EC20E5), UINT32_C(0xA4EBD633), UINT32_C(0x96CB4933),
+          UINT32_C(0x3CBE3C4B)},
+         {UINT32_C(0xEAB154BD), UINT32_C(0x5DFBCA31), UINT32_C(0x086B4B02),
+          UINT32_C(0xA95532F9), UINT32_C(0x0ECE8177), UINT32_C(0xD6D5A014),
+          UINT32_C(0xC1701606), UINT32_C(0xA2BD7647), UINT32_C(0x28947FD0),
+          UINT32_C(0xA0513327), UINT32_C(0xFB8D79A4), UINT32_C(0x941ADE30),
+          UINT32_C(0xA5399FC5), UINT32_C(0xE793B659), UINT32_C(0x7A2DAACF),
+          UINT32_C(0x0CBA91FE)}},
+        {{UINT32_C(0xF5D6C8A5), UINT32_C(0x6EDE3A1A), UINT32_C(0x5B8C138E),
+          UINT32_C(0x18C47EFC), UINT32_C(0x7B418D78), UINT32_C(0x997CB33C),
+          UINT32_C(0x83E40686), UINT32_C(0x5269B9B0), UINT32_C(0x8A20DE43),
+          UINT32_C(0x85054DDC), UINT32_C(0x9485BF29), UINT32_C(0x0FF62C38),
+          UINT32_C(0x0EF78B00), UINT32_C(0x8D769D16), UINT32_C(0x98B54D2D),
+          UINT32_C(0x53D43619)},
+         {UINT32_C(0xC6B6FC2F), UINT32_C(0x7CAC1C68), UINT32_C(0xBA127B4F),
+          UINT32_C(0x4F4FB16B), UINT32_C(0xB003EE2B), UINT32_C(0x613B15EF),
+          UINT32_C(0x7121BA05), UINT32_C(0x51D36B34), UINT32_C(0x70C1BD53),
+          UINT32_C(0xA33E6C36), UINT32_C(0xEEF75FCD), UINT32_C(0x0D786268),
+          UINT32_C(0x425A7776), UINT32_C(0xEE9064EC), UINT32_C(0x1B720CA1),
+          UINT32_C(0x640F4FE3)}},
+        {{UINT32_C(0xDE5EB014), UINT32_C(0x0D80E5DC), UINT32_C(0xFB6F0966),
+          UINT32_C(0x8B87C2C5), UINT32_C(0x7F7A8B3D), UINT32_C(0x440E812F),
+          UINT32_C(0xD930CD64), UINT32_C(0x4129E117), UINT32_C(0xBB1AD89B),
+          UINT32_C(0x19224A1F), UINT32_C(0x1B9CF977), UINT32_C(0xFF6582C1),
+          UINT32_C(0x2ED4B99F), UINT32_C(0x0C279A28), UINT32_C(0x61859FE3),
+          UINT32_C(0x5985FA32)},
+         {UINT32_C(0xFD425835), UINT32_C(0xE807ADC1), UINT32_C(0x52CC2AFA),
+          UINT32_C(0xD0F0F7C6), UINT32_C(0x5C43ECC0), UINT32_C(0xF3B06F65),
+          UINT32_C(0x5F15A3D0), UINT32_C(0xC308696A), UINT32_C(0x97174601),
+          UINT32_C(0x00DC3AA7), UINT32_C(0x81B1A96F), UINT32_C(0x8FC6B2DE),
+          UINT32_C(0x2071B8F4), UINT32_C(0x0E4646A2), UINT32_C(0xE92B7E14),
+          UINT32_C(0x4D8B4DA5)}},
+        {{UINT32_C(0x25133E4D), UINT32_C(0xA3719219), UINT32_C(0x1211714A),
+          UINT32_C(0x76EC5148), UINT32_C(0x75C6B433), UINT32_C(0xB5C0EC56),
+          UINT32_C(0x14240932), UINT32_C(0xE1DFD7B3), UINT32_C(0x239466CA),
+          UINT32_C(0x319F8E99), UINT32_C(0x35FED9C2), UINT32_C(0xA6D0F9EC),
+          UINT32_C(0xC41F492E), UINT32_C(0x19FC4B44), UINT32_C(0xB8CF87F2),
+          UINT32_C(0x36D24698)},
+         {UINT32_C(0xC74D1AAA), UINT32_C(0x789735C0), UINT32_C(0x6B21C410),
+          UINT32_C(0x0C0DBF5F), UINT32_C(0x4DCAACF0), UINT32_C(0x157DEB3C),
+          UINT32_C(0x9826FE13), UINT32_C(0xA7D53A56), UINT32_C(0x8E151D58),
+          UINT32_C(0xB4F2E884), UINT32_C(0xA51FDECE), UINT32_C(0x6CD528BD),
+          UINT32_C(0x6F669DBD), UINT32_C(0x7EF7FA0E), UINT32_C(0x666F1F7B),
+          UINT32_C(0x5250D79D)}},
+        {{UINT32_C(0x02CBADB6), UINT32_C(0xC33D5CC3), UINT32_C(0xC56345D9),
+          UINT32_C(0xF51C5ABF), UINT32_C(0x3B5E86CE), UINT32_C(0x0B2FED49),
+          UINT32_C(0x480D2793), UINT32_C(0x86599A1D), UINT32_C(0xA8F96CB6),
+          UINT32_C(0x15CA7826), UINT32_C(0x5DA5D7C0), UINT32_C(0x0577868C),
+          UINT32_C(0xF8B7F740), UINT32_C(0x0292603B), UINT32_C(0x85445AB2),
+          UINT32_C(0x49C31FB5)},
+         {UINT32_C(0xEFDB9DA0), UINT32_C(0xCFF51BEB), UINT32_C(0x9DA2096C),
+          UINT32_C(0x1C552A23), UINT32_C(0x416FD3D7), UINT32_C(0x6FAC5D64),
+          UINT32_C(0x5F5F2D95), UINT32_C(0x7F6CD9A7), UINT32_C(0x1E91AB28),
+          UINT32_C(0x98BD5C7F), UINT32_C(0xDAC6FFA2), UINT32_C(0x95132D69),
+          UINT32_C(0x4C6BDC19), UINT32_C(0x5611638C), UINT32_C(0x0DDCBF9E),
+          UINT32_C(0x79320E84)}},
+        {{UINT32_C(0x28AD172D), UINT32_C(0x2B07BCB2), UINT32_C(0x9AABAAA7),
+          UINT32_C(0xFBD85553), UINT32_C(0x715A69DA), UINT32_C(0x466FF9B8),
+          UINT32_C(0x5DF8355B), UINT32_C(0xA5EE097A), UINT32_C(0x94527A84),
+          UINT32_C(0x5E81EF36), UINT32_C(0x62E79307), UINT32_C(0x0FD82858),
+          UINT32_C(0x7A0154D8), UINT32_C(0xF77154C6), UINT32_C(0x17F87D8C),
+          UINT32_C(0x706EA857)},
+         {UINT32_C(0xEDF504A7), UINT32_C(0x696280B6), UINT32_C(0x0D58FD9E),
+          UINT32_C(0x8E2FDF94), UINT32_C(0x0A6463DF), UINT32_C(0x4582C065),
+          UINT32_C(0x68B7389B), UINT32_C(0x5DC2DECD), UINT32_C(0xD2CFCF3C),
+          UINT32_C(0x98D77559), UINT32_C(0xE277A1EA), UINT32_C(0x4E652C83),
+          UINT32_C(0x22B153DC), UINT32_C(0x81FA94F7), UINT32_C(0x27250748),
+          UINT32_C(0x6B86C4CB)}},
+        {{UINT32_C(0x9050FD42), UINT32_C(0x31FA2A56), UINT32_C(0xFDCEFA17),
+          UINT32_C(0x72FEACD1), UINT32_C(0x84A8F817), UINT32_C(0xDC60ED63),
+          UINT32_C(0x24332D2E), UINT32_C(0x584DADB8), UINT32_C(0x3C47EB6B),
+          UINT32_C(0x44D7CF2E), UINT32_C(0x9A6BC268), UINT32_C(0x905E2D0E),
+          UINT32_C(0x6EF013BE), UINT32_C(0x501FE448), UINT32_C(0x999445A7),
+          UINT32_C(0x733E11DA)},
+         {UINT32_C(0xB4A90B6B), UINT32_C(0x7EBF9F56), UINT32_C(0x4364F578),
+          UINT32_C(0x526D5685), UINT32_C(0xBE950B53), UINT32_C(0xBF9B3EF7),
+          UINT32_C(0x73D295F8), UINT32_C(0x6C5EEE0A), UINT32_C(0x3F9CFD38),
+          UINT32_C(0x4A79F9A7), UINT32_C(0x5C348121), UINT32_C(0xA8C15D28),
+          UINT32_C(0x7BC3EEA7), UINT32_C(0xDB33882F), UINT32_C(0x1C95C7DB),
+          UINT32_C(0x164B6C98)}},
+        {{UINT32_C(0x876E8E37), UINT32_C(0x99A0B2F1), UINT32_C(0x7D53142D),
+          UINT32_C(0x9540376E), UINT32_C(0x6F20C705), UINT32_C(0x9D87809D),
+          UINT32_C(0xB0FDE5DE), UINT32_C(0x1305C33B), UINT32_C(0xDF9311EB),
+          UINT32_C(0x172DFA23), UINT32_C(0xB8B9A7ED), UINT32_C(0xC55A603C),
+          UINT32_C(0x398CDDF1), UINT32_C(0xF4426DA9), UINT32_C(0x93395515),
+          UINT32_C(0x7EE621B0)},
+         {UINT32_C(0x7190296B), UINT32_C(0xBBD0B9E9), UINT32_C(0x817E9802),
+          UINT32_C(0x244FFECC), UINT32_C(0x071D598F), UINT32_C(0x572B5387),
+          UINT32_C(0xD2B681E2), UINT32_C(0x8314EF61), UINT32_C(0x639B8713),
+          UINT32_C(0x8F8CA790), UINT32_C(0xF265F881), UINT32_C(0x81FD3C40),
+          UINT32_C(0x78DB97D0), UINT32_C(0x05EC87EA), UINT32_C(0xE4CB4B7D),
+          UINT32_C(0x7C279328)}},
+        {{UINT32_C(0xA3B4A536), UINT32_C(0xF385F057), UINT32_C(0x4844689C),
+          UINT32_C(0x14C2337F), UINT32_C(0x8B5FFFB0), UINT32_C(0x3523F9A9),
+          UINT32_C(0xA5E078C2), UINT32_C(0xF5E10A66), UINT32_C(0x9EEAC34E),
+          UINT32_C(0xC5DDD869), UINT32_C(0xED24D386), UINT32_C(0x16348B68),
+          UINT32_C(0xEBB0A580), UINT32_C(0x90992D06), UINT32_C(0x047485A9),
+          UINT32_C(0x001BD2DB)},
+         {UINT32_C(0xDABC2B30), UINT32_C(0x871A178B), UINT32_C(0x6B5F7DC4),
+          UINT32_C(0xEC9674EC), UINT32_C(0xAC23E5B0), UINT32_C(0xBB3B1C57),
+          UINT32_C(0x44A658A1), UINT32_C(0x6DBB0530), UINT32_C(0x61E53517),
+          UINT32_C(0x28B031C9), UINT32_C(0x64182250), UINT32_C(0xC1AB8ED5),
+          UINT32_C(0xD1333B9E), UINT32_C(0xDA3FE27E), UINT32_C(0x71AD4520),
+          UINT32_C(0x4652F37C)}},
+        {{UINT32_C(0x7B2186CC), UINT32_C(0xB9C2F894), UINT32_C(0x57CF825F),
+          UINT32_C(0xFA2E5BE5), UINT32_C(0x26232D47), UINT32_C(0x71A9C723),
+          UINT32_C(0xEB1F6B74), UINT32_C(0xD990D5D4), UINT32_C(0xEE869587),
+          UINT32_C(0x0526A74F), UINT32_C(0x79F385E3), UINT32_C(0xB29047B1),
+          UINT32_C(0x7588AABE), UINT32_C(0xE9555EB3), UINT32_C(0xE8EDC982),
+          UINT32_C(0x379D31BA)},
+         {UINT32_C(0xDEC275F9), UINT32_C(0xD1354749), UINT32_C(0x38EAAC97),
+          UINT32_C(0xDC580016), UINT32_C(0x894811E9), UINT32_C(0x23B6F54D),
+          UINT32_C(0x838B2AE0), UINT32_C(0x8A2356F8), UINT32_C(0x0332F83F),
+          UINT32_C(0x5ECBE075), UINT32_C(0xF248814B), UINT32_C(0x1DE54B95),
+          UINT32_C(0x963938AE), UINT32_C(0x3B4D634D), UINT32_C(0x7A5F8CB0),
+          UINT32_C(0x4C8888A5)}},
+        {{UINT32_C(0x866B8E1D), UINT32_C(0xC6A93408), UINT32_C(0x3FA8DDAC),
+          UINT32_C(0x33DCDEAC), UINT32_C(0x5DBEC7A8), UINT32_C(0x7F21F911),
+          UINT32_C(0x888CF7C1), UINT32_C(0x4C54D4CB), UINT32_C(0xB81E81C5),
+          UINT32_C(0x3FBBB373), UINT32_C(0xC50F3415), UINT32_C(0x2946B9BB),
+          UINT32_C(0x72265924), UINT32_C(0x8EA5487B), UINT32_C(0xBDEBBFEC),
+          UINT32_C(0x3D570399)},
+         {UINT32_C(0x1939A079), UINT32_C(0x86C128FF), UINT32_C(0x9509F043),
+          UINT32_C(0x4B37E081), UINT32_C(0x7209D23F), UINT32_C(0x42991231),
+          UINT32_C(0x68A1134B), UINT32_C(0x22D2D207), UINT32_C(0x34D6A734),
+          UINT32_C(0xA5AF7A38), UINT32_C(0x2ED7FCBF), UINT32_C(0x752A8190),
+          UINT32_C(0x80FD1D18), UINT32_C(0x11CC5870), UINT32_C(0xD189B4DD),
+          UINT32_C(0x1D9ACAE3)}},
+    },
+    {
+        {{UINT32_C(0xBD6BEAA4), UINT32_C(0xE47BFD7F), UINT32_C(0x56A13CBF),
+          UINT32_C(0x6D4E6C12), UINT32_C(0x955E8CFA), UINT32_C(0x66944291),
+          UINT32_C(0xE17CB432), UINT32_C(0xA5D03765), UINT32_C(0x87350701),
+          UINT32_C(0xB39957CC), UINT32_C(0xC31F2D8B), UINT32_C(0x5442D545),
+          UINT32_C(0xA27161B7), UINT32_C(0xB260AC7D), UINT32_C(0x272AA5A0),
+          UINT32_C(0x633DBFE5)},
+         {UINT32_C(0xCC5C98C5), UINT32_C(0x6273DAA0), UINT32_C(0xF7F5EE34),
+          UINT32_C(0x18117A87), UINT32_C(0xFFC6434F), UINT32_C(0x70638CFD),
+          UINT32_C(0x540FDE06), UINT32_C(0xC3F386EE), UINT32_C(0xD18B02F7),
+          UINT32_C(0xA97159E3), UINT32_C(0xEB612449), UINT32_C(0x10E18495),
+          UINT32_C(0x3D9E5A31), UINT32_C(0xD572354C), UINT32_C(0x9A2301C1),
+          UINT32_C(0x2642E9F2)}},
+        {{UINT32_C(0x442143BC), UINT32_C(0x01048593), UINT32_C(0x12B5CE6C),
+          UINT32_C(0x015299B1), UINT32_C(0x5F5AEA95), UINT32_C(0x7DB0D76F),
+          UINT32_C(0xD2FB7690), UINT32_C(0xE9E3DA6F), UINT32_C(0x8904CCF0),
+          UINT32_C(0x6E4C64AB), UINT32_C(0xA49B6CCD), UINT32_C(0xDCBD06CC),
+          UINT32_C(0xB0ABB0C1), UINT32_C(0x7258A3FC), UINT32_C(0x59FC214B),
+          UINT32_C(0x07DF0E94)},
+         {UINT32_C(0x1E7CC675), UINT32_C(0x58804CBF), UINT32_C(0xE80CFBF9),
+          UINT32_C(0x26CB78C2), UINT32_C(0x9AE03E99), UINT32_C(0xD0A31AF0),
+          UINT32_C(0x5C86A88D), UINT32_C(0x121F1D3D), UINT32_C(0x2507EBB7),
+          UINT32_C(0x42172604), UINT32_C(0x2BBA126B), UINT32_C(0x1C047782),
+          UINT32_C(0x102027F2), UINT32_C(0xE85C59C8), UINT32_C(0xCD8232E8),
+          UINT32_C(0x461D9C09)}},
+        {{UINT32_C(0x200770DE), UINT32_C(0x97B3842A), UINT32_C(0x77C0536B),
+          UINT32_C(0x4647F3FE), UINT32_C(0xBF7476D9), UINT32_C(0x37CC9562),
+          UINT32_C(0x2DEA54A8), UINT32_C(0x90D29C5C), UINT32_C(0xC21BF888),
+          UINT32_C(0xCD666644), UINT32_C(0xC5CF18C8), UINT32_C(0xEAE36F2F),
+          UINT32_C(0xFD93F2C5), UINT32_C(0x903D889A), UINT32_C(0xE5F67DF4),
+          UINT32_C(0x037ADD7E)},
+         {UINT32_C(0x995AC5D0), UINT32_C(0xD38FA2DC), UINT32_C(0x98A2A549),
+          UINT32_C(0x69D19EA1), UINT32_C(0x5E8F6D58), UINT32_C(0xEC7814C7),
+          UINT32_C(0x247C0E89), UINT32_C(0xDD241DB2), UINT32_C(0xE5CF278B),
+          UINT32_C(0x5421BE26), UINT32_C(0xEDACBA69), UINT32_C(0xCF675E38),
+          UINT32_C(0x21F9C045), UINT32_C(0x397356A1), UINT32_C(0x49E0BF07),
+          UINT32_C(0x317C547F)}},
+        {{UINT32_C(0xF5C55ABA), UINT32_C(0x2EB59913), UINT32_C(0x99485E9B),
+          UINT32_C(0x805C61A1), UINT32_C(0xB4C7CEE9), UINT32_C(0x94D81C7E),
+          UINT32_C(0xA9DEE0B1), UINT32_C(0x2DD3516F), UINT32_C(0x3353561D),
+          UINT32_C(0x4C59CC21), UINT32_C(0x5EE9F7B9), UINT32_C(0x375C19F3),
+          UINT32_C(0x27FC9486), UINT32_C(0x89DE4E41), UINT32_C(0x24995DF5),
+          UINT32_C(0x68487AFF)},
+         {UINT32_C(0x6D549CB6), UINT32_C(0x15B98DF0), UINT32_C(0x9B4544BA),
+          UINT32_C(0x4B884EDE), UINT32_C(0x1B3D89C5), UINT32_C(0xE2CEA206),
+          UINT32_C(0x2648786B), UINT32_C(0xCE8945D2), UINT32_C(0xF1272125),
+          UINT32_C(0x0B209B7C), UINT32_C(0x2BAFF0D1), UINT32_C(0xEAB0849A),
+          UINT32_C(0xE971F89E), UINT32_C(0xE5F18031), UINT32_C(0x766B7A2F),
+          UINT32_C(0x4379379C)}},
+        {{UINT32_C(0x29B51FB0), UINT32_C(0xFC10C847), UINT32_C(0x1E012F1A),
+          UINT32_C(0x148AE7AF), UINT32_C(0xA20D8DBE), UINT32_C(0x75A5A6FD),
+          UINT32_C(0x8FA0842C), UINT32_C(0x30148FCB), UINT32_C(0x126F8253),
+          UINT32_C(0x0A64E438), UINT32_C(0xAECD60D4), UINT32_C(0x72C3C042),
+          UINT32_C(0x38A21DFB), UINT32_C(0x6C3589C8), UINT32_C(0x6BB0D5D0),
+          UINT32_C(0x64BA4594)},
+         {UINT32_C(0xD464168A), UINT32_C(0x6E818AA1), UINT32_C(0x1743888E),
+          UINT32_C(0x96C68C33), UINT32_C(0x0672EC8E), UINT32_C(0x0D52C73F),
+          UINT32_C(0xA8B446E9), UINT32_C(0x56F9E940), UINT32_C(0xC0E008C5),
+          UINT32_C(0x68F43782), UINT32_C(0x96201134), UINT32_C(0x7C0D8BFE),
+          UINT32_C(0xB3F5942B), UINT32_C(0x66C97894), UINT32_C(0x89BE1E99),
+          UINT32_C(0x08579CF9)}},
+        {{UINT32_C(0x2828506B), UINT32_C(0xE863C3A9), UINT32_C(0x9DF36CD1),
+          UINT32_C(0x18C6E29D), UINT32_C(0xC2AD4DFB), UINT32_C(0xA2DF177D),
+          UINT32_C(0x08B5F6B6), UINT32_C(0xD0E200A2), UINT32_C(0x77B670DB),
+          UINT32_C(0x6BE0AF75), UINT32_C(0xBD46EEB0), UINT32_C(0x750E92FD),
+          UINT32_C(0x87F96AD1), UINT32_C(0x21E21B37), UINT32_C(0xC89C7708),
+          UINT32_C(0x0C4F884E)},
+         {UINT32_C(0x630AF761), UINT32_C(0xBCCD3155), UINT32_C(0x19F3528A),
+          UINT32_C(0x769F9CED), UINT32_C(0xBF9CAC65), UINT32_C(0x2572864D),
+          UINT32_C(0xF43268F0), UINT32_C(0xD276411C), UINT32_C(0xA2C48843),
+          UINT32_C(0x12D9FDCF), UINT32_C(0x7AAF1CBC), UINT32_C(0x320A13DF),
+          UINT32_C(0x630820CF), UINT32_C(0x3D4DCB95), UINT32_C(0x28553384),
+          UINT32_C(0x5F471E21)}},
+        {{UINT32_C(0x9C6DCC7D), UINT32_C(0xC14F1D4D), UINT32_C(0xBC2EA2FA),
+          UINT32_C(0x9CEA8E3A), UINT32_C(0x4F1DE28B), UINT32_C(0xD854AEC0),
+          UINT32_C(0xB0EF66E2), UINT32_C(0x5FAFDDCE), UINT32_C(0xA190ADC7),
+          UINT32_C(0xD5BAF034), UINT32_C(0x052D641A), UINT32_C(0xFEB3DE5F),
+          UINT32_C(0x51F9F744), UINT32_C(0xA336FD9A), UINT32_C(0x2E516669),
+          UINT32_C(0x11E7DE0F)},
+         {UINT32_C(0x0CD862CD), UINT32_C(0x46B24027), UINT32_C(0x22667C9F),
+          UINT32_C(0xDB3CE4A2), UINT32_C(0x8E3438CF), UINT32_C(0xDF1BD2A2),
+          UINT32_C(0x94E0825A), UINT32_C(0xC20E6ECB), UINT32_C(0x4EDF3C36),
+          UINT32_C(0x08678222), UINT32_C(0xD86E0625), UINT32_C(0xCD547458),
+          UINT32_C(0xC1C8975A), UINT32_C(0xED9FFDFA), UINT32_C(0x60FF6B18),
+          UINT32_C(0x7709A34E)}},
+        {{UINT32_C(0x0D6EF8BE), UINT32_C(0xEE6F55D7), UINT32_C(0xC47749F3),
+          UINT32_C(0x6BA29662), UINT32_C(0xCB5824F0), UINT32_C(0x505BEBB2),
+          UINT32_C(0x7CE139AF), UINT32_C(0xDAA39E01), UINT32_C(0xBA4EAAF5),
+          UINT32_C(0xC73FFE67), UINT32_C(0x1216FBC5), UINT32_C(0x1AC8354F),
+          UINT32_C(0x7C029B38), UINT32_C(0xFA600D70), UINT32_C(0xB77E8711),
+          UINT32_C(0x1DEF1E98)},
+         {UINT32_C(0x2199269A), UINT32_C(0x9EA77FEF), UINT32_C(0xA4B5E402),
+          UINT32_C(0xCC5F3E27), UINT32_C(0xFE20DCF6), UINT32_C(0x998BF96F),
+          UINT32_C(0x54252277), UINT32_C(0xCF543A71), UINT32_C(0x71A66685),
+          UINT32_C(0x9D767F87), UINT32_C(0x860B1EC4), UINT32_C(0x0E1AA8F5),
+          UINT32_C(0x9437E2D0), UINT32_C(0x3979C394), UINT32_C(0x855C635C),
+          UINT32_C(0x55CBC282)}},
+        {{UINT32_C(0xDB0F28BC), UINT32_C(0x798D8087), UINT32_C(0x90209D22),
+          UINT32_C(0x80BE50E6), UINT32_C(0x69AE2A50), UINT32_C(0x6B14A1E1),
+          UINT32_C(0x21B5A02E), UINT32_C(0x504AD87B), UINT32_C(0x81938DD3),
+          UINT32_C(0xBF92B621), UINT32_C(0xE927A712), UINT32_C(0x1A209438),
+          UINT32_C(0x3C613F5E), UINT32_C(0x3DFC548A), UINT32_C(0xA3C2CC7E),
+          UINT32_C(0x1E6E3311)},
+         {UINT32_C(0xA91BB2B2), UINT32_C(0xE46AC0C4), UINT32_C(0xDF9BA7FD),
+          UINT32_C(0xAC89BB09), UINT32_C(0x04403839), UINT32_C(0xC87555DD),
+          UINT32_C(0xC6BB4379), UINT32_C(0xB1460C86), UINT32_C(0x5FC6E594),
+          UINT32_C(0x3AD253EF), UINT32_C(0x393CB89B), UINT32_C(0xB66B2FB7),
+          UINT32_C(0xE1BAB087), UINT32_C(0x1411B9FD), UINT32_C(0x22C9CE4C),
+          UINT32_C(0x084DD6CD)}},
+        {{UINT32_C(0xE480DDEB), UINT32_C(0x676D50EE), UINT32_C(0xD14909D0),
+          UINT32_C(0x588EC4BB), UINT32_C(0xB5DD3FC6), UINT32_C(0x509A74A7),
+          UINT32_C(0xAA6870F2), UINT32_C(0xE616EEF3), UINT32_C(0x98C5A7E5),
+          UINT32_C(0x76F235D9), UINT32_C(0x77FFB2E6), UINT32_C(0x7A925C55),
+          UINT32_C(0x955213B7), UINT32_C(0x0A78A158), UINT32_C(0x28FB60B7),
+          UINT32_C(0x07B068B9)},
+         {UINT32_C(0x50380E64), UINT32_C(0x7610C821), UINT32_C(0x282776C2),
+          UINT32_C(0x6E7C80CE), UINT32_C(0xEEBD3250), UINT32_C(0x9F67368A),
+          UINT32_C(0x85FB7863), UINT32_C(0x932F6E99), UINT32_C(0x924A519D),
+          UINT32_C(0x41FCC562), UINT32_C(0xB499B4AF), UINT32_C(0xC099DE16),
+          UINT32_C(0xAC9C7E76), UINT32_C(0x10764D48), UINT32_C(0xA1BABCE6),
+          UINT32_C(0x66C85BF9)}},
+        {{UINT32_C(0xF5CB951F), UINT32_C(0xB080963F), UINT32_C(0x2A16F27F),
+          UINT32_C(0xD9A5580B), UINT32_C(0x4FCEE6ED), UINT32_C(0x5840499D),
+          UINT32_C(0x4F3B33D4), UINT32_C(0x5F4704D6), UINT32_C(0x82256A05),
+          UINT32_C(0x02A13993), UINT32_C(0x92365A7E), UINT32_C(0x5713E019),
+          UINT32_C(0x6F38944B), UINT32_C(0x4A2F7BA6), UINT32_C(0xA47662D3),
+          UINT32_C(0x14B58D5B)},
+         {UINT32_C(0x5900EFC8), UINT32_C(0xC219E300), UINT32_C(0x4FE2DFC9),
+          UINT32_C(0x45707A50), UINT32_C(0x6863DF90), UINT32_C(0x0CE4FACD),
+          UINT32_C(0xC6BCDA9C), UINT32_C(0xEDB31912), UINT32_C(0x85B6CF7C),
+          UINT32_C(0x3E24A0D6), UINT32_C(0x358DDF3B), UINT32_C(0x6365ACDA),
+          UINT32_C(0xF2CB0823), UINT32_C(0x10FD0871), UINT32_C(0x1DAFE4C7),
+          UINT32_C(0x51D58D3D)}},
+        {{UINT32_C(0x291B51D2), UINT32_C(0xE5B64EF4), UINT32_C(0x1A7A445D),
+          UINT32_C(0x70C52EDB), UINT32_C(0xC1E8DF63), UINT32_C(0x758D0DC9),
+          UINT32_C(0x0677FE82), UINT32_C(0x55328AB3), UINT32_C(0x7F3A1866),
+          UINT32_C(0xAF4221FF), UINT32_C(0x8C04E9CA), UINT32_C(0xDE1BA109),
+          UINT32_C(0x4C577D77), UINT32_C(0x26F0D086), UINT32_C(0x6D494F73),
+          UINT32_C(0x6D5D3FB1)},
+         {UINT32_C(0x451F8B8C), UINT32_C(0x3C0153EB), UINT32_C(0x5FD3ED6A),
+          UINT32_C(0x6A9B03D1), UINT32_C(0x175180C3), UINT32_C(0xDF442C11),
+          UINT32_C(0x4DD99376), UINT32_C(0xB205EB51), UINT32_C(0xEB489DE3),
+          UINT32_C(0x28E9C5FF), UINT32_C(0x44766908), UINT32_C(0x225CEB09),
+          UINT32_C(0xEB193B68), UINT32_C(0x1DB1F7E7), UINT32_C(0xDF27292C),
+          UINT32_C(0x364B9E6B)}},
+        {{UINT32_C(0x728F33A8), UINT32_C(0xDC6E723D), UINT32_C(0x3A0930B3),
+          UINT32_C(0x8ABEB28A), UINT32_C(0xD024D8B7), UINT32_C(0x584B13CA),
+          UINT32_C(0xDBDE780E), UINT32_C(0xDCDC5BB7), UINT32_C(0x161D9801),
+          UINT32_C(0xA2AD762B), UINT32_C(0x6CE5F18A), UINT32_C(0x46EBC8A9),
+          UINT32_C(0x7EB1CD22), UINT32_C(0x97A0BA52), UINT32_C(0xE22D91D5),
+          UINT32_C(0x58BC4DAA)},
+         {UINT32_C(0x9F01D49D), UINT32_C(0xC06F0B25), UINT32_C(0x3533732B),
+          UINT32_C(0x8236F2AD), UINT32_C(0x7C6C24F4), UINT32_C(0xE3DF9BF5),
+          UINT32_C(0x6AA1E1F0), UINT32_C(0xD60FBCC7), UINT32_C(0xB70A307F),
+          UINT32_C(0x8DDBB9A2), UINT32_C(0xC6071C49), UINT32_C(0x61BB56B1),
+          UINT32_C(0x1ABF19BD), UINT32_C(0x8D3446D7), UINT32_C(0x46387989),
+          UINT32_C(0x44AF2FD8)}},
+        {{UINT32_C(0x86B1B8AE), UINT32_C(0x25ACEB4C), UINT32_C(0x67CFD1AA),
+          UINT32_C(0xB5B0A7E3), UINT32_C(0xB0F063B4), UINT32_C(0x87B3C5CB),
+          UINT32_C(0x6F03BE41), UINT32_C(0x7F429274), UINT32_C(0xD82D7749),
+          UINT32_C(0x412836E0), UINT32_C(0x535225CC), UINT32_C(0xD9B1603B),
+          UINT32_C(0x1590B41F), UINT32_C(0xCBF1A827), UINT32_C(0xFE159BF9),
+          UINT32_C(0x47C32D83)},
+         {UINT32_C(0x369026E5), UINT32_C(0x7A147456), UINT32_C(0x2691A87D),
+          UINT32_C(0x4A21DAB1), UINT32_C(0x61818C2D), UINT32_C(0x006D3EA4),
+          UINT32_C(0xD548A261), UINT32_C(0x56006BDF), UINT32_C(0x1D7DA713),
+          UINT32_C(0x8632A909), UINT32_C(0x26E387A5), UINT32_C(0x859839DD),
+          UINT32_C(0x7FF52CF4), UINT32_C(0x41E4D9D9), UINT32_C(0x85A8F21E),
+          UINT32_C(0x0E21329F)}},
+        {{UINT32_C(0x626902CA), UINT32_C(0xDF4AF1E0), UINT32_C(0xEC50A5FF),
+          UINT32_C(0x339CD3CD), UINT32_C(0x98DD7A01), UINT32_C(0x44B2ABBA),
+          UINT32_C(0xCC7AC1A8), UINT32_C(0x47A4DA46), UINT32_C(0x1EA0F3A8),
+          UINT32_C(0xA6925341), UINT32_C(0xC23AA0AC), UINT32_C(0x46F82C17),
+          UINT32_C(0x386897AA), UINT32_C(0xF0394E44), UINT32_C(0x9D5AA759),
+          UINT32_C(0x601F9A55)},
+         {UINT32_C(0xEF324E1E), UINT32_C(0x194F939F), UINT32_C(0xE2F35782),
+          UINT32_C(0x188BE442), UINT32_C(0x5683B3DD), UINT32_C(0x4B2FA7C1),
+          UINT32_C(0x44300367), UINT32_C(0x9F2737A6), UINT32_C(0xAFDF269E),
+          UINT32_C(0xB72F7E8A), UINT32_C(0x7A8A5232), UINT32_C(0x5FFD8755),
+          UINT32_C(0x43299A6C), UINT32_C(0xA1641CF0), UINT32_C(0xC4D1E057),
+          UINT32_C(0x1FDA30D5)}},
+        {{UINT32_C(0xD94B7DD2), UINT32_C(0x926373C4), UINT32_C(0xFAA5C280),
+          UINT32_C(0xE9882CA7), UINT32_C(0xC1D821E2), UINT32_C(0x358F82F6),
+          UINT32_C(0x8812649A), UINT32_C(0xDF981826), UINT32_C(0x10D267E1),
+          UINT32_C(0x96ED4507), UINT32_C(0xF7DF2D84), UINT32_C(0x72253BD1),
+          UINT32_C(0x1F09BC6D), UINT32_C(0x78F13C38), UINT32_C(0x15D1F353),
+          UINT32_C(0x023C79F0)},
+         {UINT32_C(0x65E1924F), UINT32_C(0x5E357E1A), UINT32_C(0x18CC9432),
+          UINT32_C(0x827A8C83), UINT32_C(0x8696C800), UINT32_C(0x9A2FF5D6),
+          UINT32_C(0xE26AB439), UINT32_C(0xDE825B6A), UINT32_C(0xA646B303),
+          UINT32_C(0x34C74673), UINT32_C(0x50657C92), UINT32_C(0xFBFD424E),
+          UINT32_C(0x1F96EEC2), UINT32_C(0xAAD263D9), UINT32_C(0x42FF59EC),
+          UINT32_C(0x78D93F6C)}},
+    },
+    {
+        {{UINT32_C(0x4ACCAC90), UINT32_C(0xEF807EEB), UINT32_C(0x83EFEFD0),
+          UINT32_C(0xEA3708EC), UINT32_C(0xAC470AEC), UINT32_C(0xB3F56C3D),
+          UINT32_C(0x4BB6B4A8), UINT32_C(0x0467461D), UINT32_C(0x455704F7),
+          UINT32_C(0x9E2D3152), UINT32_C(0x95097282), UINT32_C(0x957F5FF6),
+          UINT32_C(0xAEADBFBC), UINT32_C(0x1BBA5CCA), UINT32_C(0x829F221F),
+          UINT32_C(0x5D64A8B0)},
+         {UINT32_C(0xDC012583), UINT32_C(0x63B30E25), UINT32_C(0x6E8E7E4B),
+          UINT32_C(0x739D6C4D), UINT32_C(0x108F21C6), UINT32_C(0x4DB4BA8A),
+          UINT32_C(0x8E217429), UINT32_C(0xE4D0991D), UINT32_C(0x747D489D),
+          UINT32_C(0x0DFEC43E), UINT32_C(0x3F6623D2), UINT32_C(0x759C611C),
+          UINT32_C(0x1C16C550), UINT32_C(0xBB3166AE), UINT32_C(0x46E761A6),
+          UINT32_C(0x1097FE41)}},
+        {{UINT32_C(0x2774936E), UINT32_C(0x5CACE928), UINT32_C(0x97A7BC86),
+          UINT32_C(0x7D88CE3C), UINT32_C(0x2732B6C7), UINT32_C(0x7B5F9D75),
+          UINT32_C(0xA9623A78), UINT32_C(0x31E096D2), UINT32_C(0x8F2A6C6F),
+          UINT32_C(0xED0B1A7F), UINT32_C(0x8A38C329), UINT32_C(0x47F31AC0),
+          UINT32_C(0x8AE3E440), UINT32_C(0x65FE20B4), UINT32_C(0x8FF8D87D),
+          UINT32_C(0x5BB3DF72)},
+         {UINT32_C(0x394AF7A9), UINT32_C(0x5C361D56), UINT32_C(0x4A967882),
+          UINT32_C(0x37A95802), UINT32_C(0xC3D24749), UINT32_C(0x02037A09),
+          UINT32_C(0xA9EB6A87), UINT32_C(0x623CF773), UINT32_C(0xCC9980AC),
+          UINT32_C(0x4D09B042), UINT32_C(0x4C258646), UINT32_C(0xC1EF17CA),
+          UINT32_C(0xEA522FA1), UINT32_C(0x054C55D4), UINT32_C(0x1459D247),
+          UINT32_C(0x756B405D)}},
+        {{UINT32_C(0xFF7BCBB8), UINT32_C(0xC88B5D92), UINT32_C(0x33BB4D7F),
+          UINT32_C(0x37E62C2A), UINT32_C(0x93850D2E), UINT32_C(0x63DBECFC),
+          UINT32_C(0x5DAF279B), UINT32_C(0x282E1896), UINT32_C(0xB2FD8FA2),
+          UINT32_C(0x90226257), UINT32_C(0x69A65468), UINT32_C(0x68215F8C),
+          UINT32_C(0x56338A49), UINT32_C(0xAEBF43D5), UINT32_C(0x38D7D063),
+          UINT32_C(0x035A40A0)},
+         {UINT32_C(0x61C724FC), UINT32_C(0xEEEE462E), UINT32_C(0xA58C2B0C),
+          UINT32_C(0x660F015B), UINT32_C(0xE16621D4), UINT32_C(0x627E0736),
+          UINT32_C(0x5D724668), UINT32_C(0xD423ADA8), UINT32_C(0x6B777C4C),
+          UINT32_C(0xF98AB83A), UINT32_C(0x5DC968EE), UINT32_C(0x4F5FEC82),
+          UINT32_C(0xDF9BE0BE), UINT32_C(0x4AC7CAAA), UINT32_C(0xCADCF93D),
+          UINT32_C(0x6F7E06DC)}},
+        {{UINT32_C(0xDE36D484), UINT32_C(0xCF90CB74), UINT32_C(0x0ED61EEE),
+          UINT32_C(0xD511A70F), UINT32_C(0x33798A5C), UINT32_C(0xDBF5689E),
+          UINT32_C(0xDAA5D75E), UINT32_C(0x81900CF3), UINT32_C(0x84CA34C5),
+          UINT32_C(0x854460AA), UINT32_C(0x39220C74), UINT32_C(0x3C00E7B5),
+          UINT32_C(0xAB33422B), UINT32_C(0x4E7CE464), UINT32_C(0xAB536B00),
+          UINT32_C(0x22221BD4)},
+         {UINT32_C(0xE50DFFEE), UINT32_C(0x718695F4), UINT32_C(0xD103C522),
+          UINT32_C(0x466D642C), UINT32_C(0x6EC72083), UINT32_C(0xA01B7070),
+          UINT32_C(0xCB7675DD), UINT32_C(0xD29C046D), UINT32_C(0x605F249C),
+          UINT32_C(0xA2AF1025), UINT32_C(0xEA9111DF), UINT32_C(0x3BD414BD),
+          UINT32_C(0x7D037C23), UINT32_C(0x8DCEC509), UINT32_C(0x176546F8),
+          UINT32_C(0x750E0282)}},
+        {{UINT32_C(0x824344A7), UINT32_C(0x452C27FF), UINT32_C(0xEC399A05),
+          UINT32_C(0x85E64CC2), UINT32_C(0x3442039C), UINT32_C(0xBE15D09E),
+          UINT32_C(0x6A323861), UINT32_C(0x875022BB), UINT32_C(0x61866CC9),
+          UINT32_C(0xD984BF9D), UINT32_C(0xEE6E8271), UINT32_C(0x4007F668),
+          UINT32_C(0xF107566D), UINT32_C(0x090E14CC), UINT32_C(0x1131FCD8),
+          UINT32_C(0x08C2354A)},
+         {UINT32_C(0x8F5FFF23), UINT32_C(0xF9C86299), UINT32_C(0xAC995497),
+          UINT32_C(0x97788808), UINT32_C(0xD43FDCB9), UINT32_C(0xBF6CB8B5),
+          UINT32_C(0xB72DFB91), UINT32_C(0xC75BD147), UINT32_C(0xE15359C6),
+          UINT32_C(0xA537A636), UINT32_C(0x93F6292F), UINT32_C(0x313458F3),
+          UINT32_C(0x2BF3CE59), UINT32_C(0x096B6866), UINT32_C(0x275BB1A8),
+          UINT32_C(0x5618ACC8)}},
+        {{UINT32_C(0x6DD4F47F), UINT32_C(0x434DBAD7), UINT32_C(0x93A13416),
+          UINT32_C(0x7F24804B), UINT32_C(0xDCFDC8FB), UINT32_C(0x54864638),
+          UINT32_C(0x8DBB2A99), UINT32_C(0x94D15AAB), UINT32_C(0x3B08BE5D),
+          UINT32_C(0xC60D064A), UINT32_C(0x77113B1C), UINT32_C(0x8D52AF03),
+          UINT32_C(0xE649649D), UINT32_C(0x795F3549), UINT32_C(0xA2F7B890),
+          UINT32_C(0x6C50A7B3)},
+         {UINT32_C(0xBA7BE66C), UINT32_C(0x1243D102), UINT32_C(0x24A4F3D5),
+          UINT32_C(0xD52A9D65), UINT32_C(0xD940B299), UINT32_C(0x84F3A7D8),
+          UINT32_C(0x0A6C5F96), UINT32_C(0x2D0D0561), UINT32_C(0x55AF49E6),
+          UINT32_C(0x68147309), UINT32_C(0x2D484160), UINT32_C(0x1AD2CC29),
+          UINT32_C(0x41613C8C), UINT32_C(0xD9836664), UINT32_C(0xE1444926),
+          UINT32_C(0x116D32D9)}},
+        {{UINT32_C(0x1FC8967F), UINT32_C(0xBFB347E1), UINT32_C(0xAFD35E6A),
+          UINT32_C(0xAB2F0DE9), UINT32_C(0x3D717B63), UINT32_C(0x77C822B9),
+          UINT32_C(0xEFE76953), UINT32_C(0xBA49F6D5), UINT32_C(0xC3729C1E),
+          UINT32_C(0xC4FF8395), UINT32_C(0x1792651B), UINT32_C(0x5E525199),
+          UINT32_C(0x220793FE), UINT32_C(0xEF736F1E), UINT32_C(0xADA2DF7C),
+          UINT32_C(0x0C1364DE)},
+         {UINT32_C(0x5E0A04FB), UINT32_C(0xE364A029), UINT32_C(0x02A1CB8F),
+          UINT32_C(0x078CF4CC), UINT32_C(0x884EB5E8), UINT32_C(0x2C6EDCEC),
+          UINT32_C(0x34DA48A0), UINT32_C(0x361E83F1), UINT32_C(0xAE22EE07),
+          UINT32_C(0x543FD798), UINT32_C(0x72A9D550), UINT32_C(0x80A0521A),
+          UINT32_C(0xD5D883DE), UINT32_C(0xCEEB2763), UINT32_C(0x744C8616),
+          UINT32_C(0x4633AE13)}},
+        {{UINT32_C(0xEFC180BF), UINT32_C(0x386138C2), UINT32_C(0x5025C16C),
+          UINT32_C(0x62884C83), UINT32_C(0x3AEF27D9), UINT32_C(0xC846079F),
+          UINT32_C(0x8815E30E), UINT32_C(0x85AC6CC5), UINT32_C(0xD26A2BD0),
+          UINT32_C(0x45705559), UINT32_C(0xEEDB70C4), UINT32_C(0xEF1649A0),
+          UINT32_C(0xE4641EFD), UINT32_C(0x2596F146), UINT32_C(0x93C7B04A),
+          UINT32_C(0x61E89F8E)},
+         {UINT32_C(0x071CA85D), UINT32_C(0x6EBD7C9F), UINT32_C(0x1C15ACD1),
+          UINT32_C(0x5C9951AE), UINT32_C(0x8AE934A1), UINT32_C(0x9DE96A7C),
+          UINT32_C(0x481D190E), UINT32_C(0x4B32645D), UINT32_C(0xA79C0B4A),
+          UINT32_C(0x8D0E2B25), UINT32_C(0xCD74DA50), UINT32_C(0x8EF7BB2A),
+          UINT32_C(0x07920CC8), UINT32_C(0x9481D2DB), UINT32_C(0x8736C183),
+          UINT32_C(0x1BD7A22E)}},
+        {{UINT32_C(0x64FCB568), UINT32_C(0xD4F27500), UINT32_C(0x5C300E98),
+          UINT32_C(0xD92CBB70), UINT32_C(0xCAA8D9B9), UINT32_C(0x5A971902),
+          UINT32_C(0x1C4824C9), UINT32_C(0xA5542DF5), UINT32_C(0xC84D2CCD),
+          UINT32_C(0x7B469D1B), UINT32_C(0xA2566F40), UINT32_C(0xD3FBFEBB),
+          UINT32_C(0xE8FA73C0), UINT32_C(0x89511F69), UINT32_C(0xB162F797),
+          UINT32_C(0x6FFD125B)},
+         {UINT32_C(0xC0FA653C), UINT32_C(0x961C9532), UINT32_C(0xBDB0C77A),
+          UINT32_C(0x007BD198), UINT32_C(0xEEFC3BE3), UINT32_C(0x1853303B),
+          UINT32_C(0xC4A33E36), UINT32_C(0x6D50323F), UINT32_C(0xE367E4C9),
+          UINT32_C(0x9798C97A), UINT32_C(0x12A538A8), UINT32_C(0x9E146B07),
+          UINT32_C(0x4996D58B), UINT32_C(0xBFB3E819), UINT32_C(0x9022E072),
+          UINT32_C(0x5438D6F6)}},
+        {{UINT32_C(0xDD4E810B), UINT32_C(0xC58B1061), UINT32_C(0x8FD29C69),
+          UINT32_C(0x7966E96A), UINT32_C(0x2E65F9B6), UINT32_C(0x7E2D9FD4),
+          UINT32_C(0xFC48055F), UINT32_C(0xA8F68084), UINT32_C(0x2DC5A983),
+          UINT32_C(0x545CAE01), UINT32_C(0xA2596608), UINT32_C(0xC9D198C8),
+          UINT32_C(0x4208B520), UINT32_C(0xF9D9BF5D), UINT32_C(0x7E6883FF),
+          UINT32_C(0x1C0C3F5A)},
+         {UINT32_C(0x05CD4D87), UINT32_C(0x06D7B983), UINT32_C(0x9E9F9F35),
+          UINT32_C(0x899A60E8), UINT32_C(0x5119AAC1), UINT32_C(0x1465EAD5),
+          UINT32_C(0x0F329991), UINT32_C(0x3EDF1E36), UINT32_C(0xA0646C43),
+          UINT32_C(0x86BCB01E), UINT32_C(0xEF4EBCEB), UINT32_C(0xA6EF27F3),
+          UINT32_C(0x54EB8E6B), UINT32_C(0xEAF04AE6), UINT32_C(0x08227047),
+          UINT32_C(0x48051E62)}},
+        {{UINT32_C(0xF245F1E6), UINT32_C(0xA84EFDA5), UINT32_C(0xEB80F18C),
+          UINT32_C(0x49759EF3), UINT32_C(0x1142EE5C), UINT32_C(0xFB8A3A4B),
+          UINT32_C(0xB9EE65D6), UINT32_C(0x62907A8F), UINT32_C(0xD68D862F),
+          UINT32_C(0xC5FD7DC9), UINT32_C(0xE1C81BAD), UINT32_C(0x1F791D0F),
+          UINT32_C(0x8C4757BA), UINT32_C(0xFED4DEA3), UINT32_C(0x2FA4C20E),
+          UINT32_C(0x041A50E3)},
+         {UINT32_C(0xF454E68E), UINT32_C(0xB8F7EE7A), UINT32_C(0xCBAB4836),
+          UINT32_C(0xB68F9599), UINT32_C(0xF1872586), UINT32_C(0x3FB9C650),
+          UINT32_C(0x9FDDEF61), UINT32_C(0xF967C768), UINT32_C(0x70E86E8E),
+          UINT32_C(0x8A2683AF), UINT32_C(0xE523AD78), UINT32_C(0xAFD29242),
+          UINT32_C(0x9DD43A6C), UINT32_C(0xBA4EECA5), UINT32_C(0x7BB2E1AE),
+          UINT32_C(0x37447896)}},
+        {{UINT32_C(0xF86EFABC), UINT32_C(0xE5378393), UINT32_C(0x45F692E9),
+          UINT32_C(0x336470CA), UINT32_C(0x66E0FBDF), UINT32_C(0xC5F0022C),
+          UINT32_C(0x3ECD3196), UINT32_C(0x189D81D5), UINT32_C(0x771F9C1C),
+          UINT32_C(0x416D97CB), UINT32_C(0x223448F1), UINT32_C(0xBF2B6B77),
+          UINT32_C(0xBE42A9A6), UINT32_C(0xA4F6355A), UINT32_C(0xB9956AAC),
+          UINT32_C(0x1C15439A)},
+         {UINT32_C(0x7DBFC8B8), UINT32_C(0x020CA319), UINT32_C(0x5C7E4025),
+          UINT32_C(0x25A1DFD1), UINT32_C(0x4D06AAA0), UINT32_C(0x5CF6FAD8),
+          UINT32_C(0xAC1B211B), UINT32_C(0x8221BAD8), UINT32_C(0xAE4C7F7B),
+          UINT32_C(0x68E7DBA3), UINT32_C(0xFEF7CB4B), UINT32_C(0x4C167FA9),
+          UINT32_C(0xA34935DE), UINT32_C(0x207A14B8), UINT32_C(0x645A14C2),
+          UINT32_C(0x1476CCBD)}},
+        {{UINT32_C(0x54E05676), UINT32_C(0xF0467D89), UINT32_C(0xE04530FF),
+          UINT32_C(0xA1987E17), UINT32_C(0x2E3A997C), UINT32_C(0x1E3010C2),
+          UINT32_C(0xEBEF74A7), UINT32_C(0x4001E89F), UINT32_C(0x32572D28),
+          UINT32_C(0x60C65566), UINT32_C(0xA562BF8F), UINT32_C(0x410C49D0),
+          UINT32_C(0x782CE10C), UINT32_C(0xFE591AD0), UINT32_C(0xC3016AA6),
+          UINT32_C(0x272DE301)},
+         {UINT32_C(0xD3FD089D), UINT32_C(0x7AEFA3F7), UINT32_C(0xC68CE61E),
+          UINT32_C(0x5141E3CF), UINT32_C(0x919EF2CB), UINT32_C(0xEC6F871E),
+          UINT32_C(0xB15754CA), UINT32_C(0x9E1F2C4F), UINT32_C(0xB367A8E1),
+          UINT32_C(0x4E053A03), UINT32_C(0x7A946A07), UINT32_C(0xB5447BAB),
+          UINT32_C(0x5934AC68), UINT32_C(0xCA9D154A), UINT32_C(0x9DCC05A4),
+          UINT32_C(0x2C24448B)}},
+        {{UINT32_C(0x7230B721), UINT32_C(0xDDDCC6F7), UINT32_C(0xD59A4D7D),
+          UINT32_C(0x3AB7517B), UINT32_C(0x73E75A94), UINT32_C(0x0202A427),
+          UINT32_C(0xF45E584C), UINT32_C(0xEB9CBB02), UINT32_C(0x4D193D46),
+          UINT32_C(0x879F2040), UINT32_C(0xFD5CCEC5), UINT32_C(0x897A3D49),
+          UINT32_C(0x5E795234), UINT32_C(0x7B22D3AD), UINT32_C(0x35E6EA1D),
+          UINT32_C(0x103A74B9)},
+         {UINT32_C(0xDE267F29), UINT32_C(0x83AD405E), UINT32_C(0xCD4EF83E),
+          UINT32_C(0x9C0750BC), UINT32_C(0xAAF8C955), UINT32_C(0x1192B08C),
+          UINT32_C(0x93618DC5), UINT32_C(0xD983183C), UINT32_C(0x51FA4692),
+          UINT32_C(0x3F142E9F), UINT32_C(0xA9E77124), UINT32_C(0xF9242D3E),
+          UINT32_C(0xC733EFCE), UINT32_C(0x044F55EA), UINT32_C(0xBFB0E74D),
+          UINT32_C(0x3FCE259E)}},
+        {{UINT32_C(0x4E061902), UINT32_C(0xB4A72C27), UINT32_C(0x8271B5ED),
+          UINT32_C(0x46D49685), UINT32_C(0xC565B666), UINT32_C(0xE640CD1C),
+          UINT32_C(0x8C432368), UINT32_C(0xFEE64A69), UINT32_C(0x7C9309AA),
+          UINT32_C(0x9B245FBA), UINT32_C(0x1FD0DCD7), UINT32_C(0x2489BB01),
+          UINT32_C(0xB4ADB680), UINT32_C(0xBE612E5C), UINT32_C(0x1905845A),
+          UINT32_C(0x7B828C73)},
+         {UINT32_C(0xAE7E8E5F), UINT32_C(0xB205C233), UINT32_C(0x0DDE4865),
+          UINT32_C(0x67C2AC05), UINT32_C(0x556BCEFF), UINT32_C(0xC29416F4),
+          UINT32_C(0xE7DE42B2), UINT32_C(0x3A94801D), UINT32_C(0x8E9195AD),
+          UINT32_C(0xC79768DB), UINT32_C(0x702232BD), UINT32_C(0xF701EAE5),
+          UINT32_C(0x769E819E), UINT32_C(0x7093880E), UINT32_C(0x85575FE1),
+          UINT32_C(0x07385CFB)}},
+        {{UINT32_C(0x552D7645), UINT32_C(0xBE89A89F), UINT32_C(0x4C7C1F2D),
+          UINT32_C(0xC1406B55), UINT32_C(0x9C11B663), UINT32_C(0x123A5BB3),
+          UINT32_C(0x275B4F27), UINT32_C(0x1925904A), UINT32_C(0x11F1A12B),
+          UINT32_C(0x94D33687), UINT32_C(0xD3F31833), UINT32_C(0x446FD57B),
+          UINT32_C(0xA29D4040), UINT32_C(0x0FF6FF5D), UINT32_C(0xAE52039A),
+          UINT32_C(0x35355FF6)},
+         {UINT32_C(0x7DE14B02), UINT32_C(0x74B05575), UINT32_C(0x7A47B576),
+          UINT32_C(0xD2E7C963), UINT32_C(0xE99D0433), UINT32_C(0x0D391E9D),
+          UINT32_C(0x50CCA807), UINT32_C(0xA4DC3929), UINT32_C(0xA2AF3088),
+          UINT32_C(0x81694449), UINT32_C(0x55474A7F), UINT32_C(0x9222E265),
+          UINT32_C(0x2C2AD9EE), UINT32_C(0xAB5C4452), UINT32_C(0xF7EC7C2A),
+          UINT32_C(0x5810784D)}},
+    }};
+
+/*-
+ * Q := 2P, both projective, Q and P same pointers OK
+ * Autogenerated: op3/dbl_proj.op3
+ * https://eprint.iacr.org/2015/1060 Alg 6
+ * ASSERT: a = -3
+ */
+static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
+    /* temporary variables */
+    fe_t t0, t1, t2, t3, t4;
+    /* constants */
+    const limb_t *b = const_b;
+    /* set pointers for legacy 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 *Z3 = Q->Z;
+
+    /* the curve arith formula */
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_square(t0, X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_square(t1, Y);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_square(t2, Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t3, X, Y);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t3, t3, t3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t4, Y, Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(Z3, X, Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Z3, Z3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(Y3, b, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(Y3, Y3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(X3, Y3, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Y3, X3, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(X3, t1, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Y3, t1, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(Y3, X3, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(X3, X3, t3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t3, t2, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t2, t2, t3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(Z3, b, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(Z3, Z3, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(Z3, Z3, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t3, Z3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Z3, Z3, t3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t3, t0, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t0, t3, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(t0, t0, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t0, t0, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Y3, Y3, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t0, t4, t4);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(Z3, t0, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(X3, X3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(Z3, t0, t1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Z3, Z3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Z3, Z3, Z3);
+}
+
+/*-
+ * 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.op3
+ * https://eprint.iacr.org/2015/1060 Alg 5
+ * ASSERT: a = -3
+ */
+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, t4;
+    /* constants */
+    const limb_t *b = const_b;
+    /* set pointers for legacy curve arith */
+    const limb_t *X1 = Q->X;
+    const limb_t *Y1 = Q->Y;
+    const limb_t *Z1 = Q->Z;
+    const limb_t *X2 = P->X;
+    const limb_t *Y2 = P->Y;
+    fe_t X3;
+    fe_t Y3;
+    fe_t Z3;
+    limb_t nz;
+
+    /* check P for affine inf */
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_nonzero(&nz, P->Y);
+
+    /* the curve arith formula */
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t0, X1, X2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t1, Y1, Y2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t3, X2, Y2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t4, X1, Y1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t3, t3, t4);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t4, t0, t1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(t3, t3, t4);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t4, Y2, Z1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t4, t4, Y1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(Y3, X2, Z1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Y3, Y3, X1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(Z3, b, Z1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(X3, Y3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Z3, X3, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(X3, X3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(Z3, t1, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(X3, t1, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(Y3, b, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t1, Z1, Z1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t2, t1, Z1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(Y3, Y3, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(Y3, Y3, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t1, Y3, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Y3, t1, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t1, t0, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t0, t1, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(t0, t0, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t1, t4, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t2, t0, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(Y3, X3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Y3, Y3, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(X3, t3, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(X3, X3, t1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(Z3, t4, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t1, t3, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Z3, Z3, t1);
+
+    /* if P is inf, throw all that away and take Q */
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_selectznz(R->X, nz, Q->X, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_selectznz(R->Y, nz, Q->Y, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_selectznz(R->Z, nz, Q->Z, Z3);
+}
+
+/*-
+ * R := Q + P all projective.
+ * R and Q same pointers OK
+ * R and P same pointers not OK
+ * Autogenerated: op3/add_proj.op3
+ * https://eprint.iacr.org/2015/1060 Alg 4
+ * ASSERT: a = -3
+ */
+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, t4, t5;
+    /* constants */
+    const limb_t *b = const_b;
+    /* set pointers for legacy curve arith */
+    const limb_t *X1 = Q->X;
+    const limb_t *Y1 = Q->Y;
+    const limb_t *Z1 = Q->Z;
+    const limb_t *X2 = P->X;
+    const limb_t *Y2 = P->Y;
+    const limb_t *Z2 = P->Z;
+    limb_t *X3 = R->X;
+    limb_t *Y3 = R->Y;
+    limb_t *Z3 = R->Z;
+
+    /* the curve arith formula */
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t0, X1, X2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t1, Y1, Y2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t2, Z1, Z2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t3, X1, Y1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t4, X2, Y2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t3, t3, t4);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t4, t0, t1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(t3, t3, t4);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t4, Y1, Z1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t5, Y2, Z2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t4, t4, t5);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t5, t1, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(t4, t4, t5);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(X3, X1, Z1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Y3, X2, Z2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(X3, X3, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Y3, t0, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(Y3, X3, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(Z3, b, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(X3, Y3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Z3, X3, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(X3, X3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(Z3, t1, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(X3, t1, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(Y3, b, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t1, t2, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t2, t1, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(Y3, Y3, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(Y3, Y3, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t1, Y3, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Y3, t1, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t1, t0, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(t0, t1, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(t0, t0, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t1, t4, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t2, t0, Y3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(Y3, X3, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Y3, Y3, t2);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(X3, t3, X3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_sub(X3, X3, t1);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(Z3, t4, Z3);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(t1, t3, t0);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_add(Z3, Z3, t1);
+}
+
+/* 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;
+
+    fe_copy(precomp[0].X, P->X);
+    fe_copy(precomp[0].Y, P->Y);
+    fe_copy(precomp[0].Z, const_one);
+    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_paramSetB_opp(Q.Y, Q.Y);
+                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.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_paramSetB_opp(Q.Y, Q.Y);
+                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.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.Z);
+    }
+
+    if (flipped) {
+        /* correct sign */
+        fiat_id_tc26_gost_3410_2012_512_paramSetB_opp(Q.Y, Q.Y);
+    }
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_inv(Q.Z, Q.Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(out->X, Q.X, Q.Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_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_paramSetB_selectznz(Q.X, diff, Q.X,
+                                                            precomp[j].X);
+        fiat_id_tc26_gost_3410_2012_512_paramSetB_selectznz(Q.Y, diff, Q.Y,
+                                                            precomp[j].Y);
+        fiat_id_tc26_gost_3410_2012_512_paramSetB_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_paramSetB_selectznz(
+                lut.X, diff, lut.X, precomp[j].X);
+            fiat_id_tc26_gost_3410_2012_512_paramSetB_selectznz(
+                lut.Y, diff, lut.Y, precomp[j].Y);
+            fiat_id_tc26_gost_3410_2012_512_paramSetB_selectznz(
+                lut.Z, diff, lut.Z, precomp[j].Z);
+        }
+        /* negate lut point if digit is negative */
+        fiat_id_tc26_gost_3410_2012_512_paramSetB_opp(out->Y, lut.Y);
+        fiat_id_tc26_gost_3410_2012_512_paramSetB_selectznz(lut.Y, is_neg,
+                                                            lut.Y, out->Y);
+        point_add_proj(&Q, &Q, &lut);
+    }
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
+
+    /* conditionally subtract P if the scalar was even */
+    fe_copy(lut.X, precomp[0].X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_opp(lut.Y, precomp[0].Y);
+    fe_copy(lut.Z, precomp[0].Z);
+    point_add_proj(&lut, &lut, &Q);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_selectznz(Q.X, scalar[0] & 1,
+                                                        lut.X, Q.X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_selectznz(Q.Y, scalar[0] & 1,
+                                                        lut.Y, Q.Y);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_selectznz(Q.Z, scalar[0] & 1,
+                                                        lut.Z, Q.Z);
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_inv(Q.Z, Q.Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(out->X, Q.X, Q.Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_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.Z);
+
+#if defined(_MSC_VER)
+    /* result still unsigned: yes we know */
+#pragma warning(push)
+#pragma warning(disable : 4146)
+#endif
+
+    for (i = 7; i >= 0; i--) {
+        for (j = 0; i != 7 && j < RADIX; j++) point_double(&Q, &Q);
+        for (j = 0; j < 14; j++) {
+            if (j * 8 + i > 102) continue;
+            d = rnaf[j * 8 + 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_paramSetB_selectznz(
+                    lut.X, diff, lut.X, lut_cmb[j][k].X);
+                fiat_id_tc26_gost_3410_2012_512_paramSetB_selectznz(
+                    lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
+            }
+            /* negate lut point if digit is negative */
+            fiat_id_tc26_gost_3410_2012_512_paramSetB_opp(out->Y, lut.Y);
+            fiat_id_tc26_gost_3410_2012_512_paramSetB_selectznz(lut.Y, is_neg,
+                                                                lut.Y, out->Y);
+            point_add_mixed(&Q, &Q, &lut);
+        }
+    }
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
+
+    /* conditionally subtract P if the scalar was even */
+    fe_copy(lut.X, lut_cmb[0][0].X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_opp(lut.Y, lut_cmb[0][0].Y);
+    point_add_mixed(&R, &Q, &lut);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_selectznz(Q.X, scalar[0] & 1, R.X,
+                                                        Q.X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_selectznz(Q.Y, scalar[0] & 1, R.Y,
+                                                        Q.Y);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_selectznz(Q.Z, scalar[0] & 1, R.Z,
+                                                        Q.Z);
+
+    /* convert to affine -- NB depends on coordinate system */
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_inv(Q.Z, Q.Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_mul(out->X, Q.X, Q.Z);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_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_paramSetB_from_bytes(P.X, inx);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_from_bytes(P.Y, iny);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_to_montgomery(P.X, P.X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_to_montgomery(P.Y, P.Y);
+    /* simultaneous scalar multiplication */
+    var_smul_wnaf_two(&P, a, b, &P);
+
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_from_montgomery(P.X, P.X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_from_montgomery(P.Y, P.Y);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_to_bytes(outx, P.X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_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_paramSetB_from_montgomery(P.X, P.X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_from_montgomery(P.Y, P.Y);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_to_bytes(outx, P.X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_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_paramSetB_from_bytes(P.X, inx);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_from_bytes(P.Y, iny);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_to_montgomery(P.X, P.X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_to_montgomery(P.Y, P.Y);
+    /* var scmul function */
+    var_smul_rwnaf(&P, scalar, &P);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_from_montgomery(P.X, P.X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_from_montgomery(P.Y, P.Y);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_to_bytes(outx, P.X);
+    fiat_id_tc26_gost_3410_2012_512_paramSetB_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_paramSetB(
+        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_paramSetB(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_paramSetB(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__ */
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 (file)
index 0000000..10fe5d2
--- /dev/null
@@ -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__ */
index 850479a9d0f24da5475c941417c055c410dc4317..89884ce3a15a5f42096a8bc2ef9057cb2b4ce1f5 100644 (file)
@@ -71,7 +71,7 @@ int VKO_compute_key(unsigned char *shared_key,
             break;
     }
 
-    if (!EC_POINT_mul(grp, pnt, NULL, pub_key, scalar, ctx)) {
+    if (!gost_ec_point_mul(grp, pnt, NULL, pub_key, scalar, ctx)) {
         GOSTerr(GOST_F_VKO_COMPUTE_KEY, GOST_R_ERROR_POINT_MUL);
         goto err;
     }
index 61d50261a98e0dd6abca787f6a2c54afd33cd1cf..e4800a461d1452d77991619010567fbef6ad3875 100644 (file)
@@ -224,15 +224,7 @@ ECDSA_SIG *gost_ec_sign(const unsigned char *dgst, int dlen, EC_KEY *eckey)
                 GOSTerr(GOST_F_GOST_EC_SIGN, GOST_R_RNG_ERROR);
                 goto err;
             }
-            /*
-             * To avoid timing information leaking the length of k,
-             * compute C*k using an equivalent scalar of fixed bit-length */
-            if (!BN_add(k, k, order)
-                || (BN_num_bits(k) <= BN_num_bits(order)
-                    && !BN_add(k, k, order))) {
-                goto err;
-            }
-            if (!EC_POINT_mul(group, C, k, NULL, NULL, ctx)) {
+            if (!gost_ec_point_mul(group, C, k, NULL, NULL, ctx)) {
                 GOSTerr(GOST_F_GOST_EC_SIGN, ERR_R_EC_LIB);
                 goto err;
             }
@@ -387,7 +379,7 @@ int gost_ec_verify(const unsigned char *dgst, int dgst_len,
         GOSTerr(GOST_F_GOST_EC_VERIFY, ERR_R_MALLOC_FAILURE);
         goto err;
     }
-    if (!EC_POINT_mul(group, C, z1, pub_key, z2, ctx)) {
+    if (!gost_ec_point_mul(group, C, z1, pub_key, z2, ctx)) {
         GOSTerr(GOST_F_GOST_EC_VERIFY, ERR_R_EC_LIB);
         goto err;
     }
@@ -458,7 +450,7 @@ int gost_ec_compute_public(EC_KEY *ec)
         goto err;
     }
 
-    if (!EC_POINT_mul(group, pub_key, priv_key, NULL, NULL, ctx)) {
+    if (!gost_ec_point_mul(group, pub_key, priv_key, NULL, NULL, ctx)) {
         GOSTerr(GOST_F_GOST_EC_COMPUTE_PUBLIC, ERR_R_EC_LIB);
         goto err;
     }
@@ -475,6 +467,101 @@ int gost_ec_compute_public(EC_KEY *ec)
     return ok;
 }
 
+int gost_ec_point_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *n,
+                      const EC_POINT *q, const BIGNUM *m, BN_CTX *ctx)
+{
+    if (group == NULL || r == NULL || ctx == NULL)
+        return 0;
+
+    if (m != NULL && n != NULL) {
+        /* verification */
+        if (q == NULL)
+            return 0;
+        switch(EC_GROUP_get_curve_name(group)) {
+            case NID_id_GostR3410_2001_CryptoPro_A_ParamSet:
+            case NID_id_GostR3410_2001_CryptoPro_XchA_ParamSet:
+            case NID_id_tc26_gost_3410_2012_256_paramSetB:
+                return point_mul_two_id_GostR3410_2001_CryptoPro_A_ParamSet(group, r, n, q, m, ctx);
+            case NID_id_GostR3410_2001_CryptoPro_B_ParamSet:
+            case NID_id_tc26_gost_3410_2012_256_paramSetC:
+                return point_mul_two_id_GostR3410_2001_CryptoPro_B_ParamSet(group, r, n, q, m, ctx);
+            case NID_id_GostR3410_2001_CryptoPro_C_ParamSet:
+            case NID_id_GostR3410_2001_CryptoPro_XchB_ParamSet:
+            case NID_id_tc26_gost_3410_2012_256_paramSetD:
+                return point_mul_two_id_GostR3410_2001_CryptoPro_C_ParamSet(group, r, n, q, m, ctx);
+            case NID_id_GostR3410_2001_TestParamSet:
+                return point_mul_two_id_GostR3410_2001_TestParamSet(group, r, n, q, m, ctx);
+            case NID_id_tc26_gost_3410_2012_256_paramSetA:
+                return point_mul_two_id_tc26_gost_3410_2012_256_paramSetA(group, r, n, q, m, ctx);
+            case NID_id_tc26_gost_3410_2012_512_paramSetA:
+                return point_mul_two_id_tc26_gost_3410_2012_512_paramSetA(group, r, n, q, m, ctx);
+            case NID_id_tc26_gost_3410_2012_512_paramSetB:
+                return point_mul_two_id_tc26_gost_3410_2012_512_paramSetB(group, r, n, q, m, ctx);
+            case NID_id_tc26_gost_3410_2012_512_paramSetC:
+                return point_mul_two_id_tc26_gost_3410_2012_512_paramSetC(group, r, n, q, m, ctx);
+            default:
+                return EC_POINT_mul(group, r, n, q, m, ctx);
+        }
+    } else if (n != NULL) {
+        /* mul g */
+        switch(EC_GROUP_get_curve_name(group)) {
+            case NID_id_GostR3410_2001_CryptoPro_A_ParamSet:
+            case NID_id_GostR3410_2001_CryptoPro_XchA_ParamSet:
+            case NID_id_tc26_gost_3410_2012_256_paramSetB:
+                return point_mul_g_id_GostR3410_2001_CryptoPro_A_ParamSet(group, r, n, ctx);
+            case NID_id_GostR3410_2001_CryptoPro_B_ParamSet:
+            case NID_id_tc26_gost_3410_2012_256_paramSetC:
+                return point_mul_g_id_GostR3410_2001_CryptoPro_B_ParamSet(group, r, n, ctx);
+            case NID_id_GostR3410_2001_CryptoPro_C_ParamSet:
+            case NID_id_GostR3410_2001_CryptoPro_XchB_ParamSet:
+            case NID_id_tc26_gost_3410_2012_256_paramSetD:
+                return point_mul_g_id_GostR3410_2001_CryptoPro_C_ParamSet(group, r, n, ctx);
+            case NID_id_GostR3410_2001_TestParamSet:
+                return point_mul_g_id_GostR3410_2001_TestParamSet(group, r, n, ctx);
+            case NID_id_tc26_gost_3410_2012_256_paramSetA:
+                return point_mul_g_id_tc26_gost_3410_2012_256_paramSetA(group, r, n, ctx);
+            case NID_id_tc26_gost_3410_2012_512_paramSetA:
+                return point_mul_g_id_tc26_gost_3410_2012_512_paramSetA(group, r, n, ctx);
+            case NID_id_tc26_gost_3410_2012_512_paramSetB:
+                return point_mul_g_id_tc26_gost_3410_2012_512_paramSetB(group, r, n, ctx);
+            case NID_id_tc26_gost_3410_2012_512_paramSetC:
+                return point_mul_g_id_tc26_gost_3410_2012_512_paramSetC(group, r, n, ctx);
+            default:
+                return EC_POINT_mul(group, r, n, q, m, ctx);
+        }
+    } else if (m != NULL) {
+        if (q == NULL)
+            return 0;
+        /* mul */
+        switch(EC_GROUP_get_curve_name(group)) {
+            case NID_id_GostR3410_2001_CryptoPro_A_ParamSet:
+            case NID_id_GostR3410_2001_CryptoPro_XchA_ParamSet:
+            case NID_id_tc26_gost_3410_2012_256_paramSetB:
+                return point_mul_id_GostR3410_2001_CryptoPro_A_ParamSet(group, r, q, m, ctx);
+            case NID_id_GostR3410_2001_CryptoPro_B_ParamSet:
+            case NID_id_tc26_gost_3410_2012_256_paramSetC:
+                return point_mul_id_GostR3410_2001_CryptoPro_B_ParamSet(group, r, q, m, ctx);
+            case NID_id_GostR3410_2001_CryptoPro_C_ParamSet:
+            case NID_id_GostR3410_2001_CryptoPro_XchB_ParamSet:
+            case NID_id_tc26_gost_3410_2012_256_paramSetD:
+                return point_mul_id_GostR3410_2001_CryptoPro_C_ParamSet(group, r, q, m, ctx);
+            case NID_id_GostR3410_2001_TestParamSet:
+                return point_mul_id_GostR3410_2001_TestParamSet(group, r, q, m, ctx);
+            case NID_id_tc26_gost_3410_2012_256_paramSetA:
+                return point_mul_id_tc26_gost_3410_2012_256_paramSetA(group, r, q, m, ctx);
+            case NID_id_tc26_gost_3410_2012_512_paramSetA:
+                return point_mul_id_tc26_gost_3410_2012_512_paramSetA(group, r, q, m, ctx);
+            case NID_id_tc26_gost_3410_2012_512_paramSetB:
+                return point_mul_id_tc26_gost_3410_2012_512_paramSetB(group, r, q, m, ctx);
+            case NID_id_tc26_gost_3410_2012_512_paramSetC:
+                return point_mul_id_tc26_gost_3410_2012_512_paramSetC(group, r, q, m, ctx);
+            default:
+                return EC_POINT_mul(group, r, n, q, m, ctx);
+        }
+    }
+    return 0;
+}
+
 /*
  *
  * Generates GOST R 34.10-2001
index 6ca32972ffe4a0db3e4468abf86a08cff0a402e3..c60d8d2bf0a763cacd88fab256e0e656fc22d0f8 100644 (file)
@@ -247,6 +247,22 @@ ECDSA_SIG *gost_ec_sign(const unsigned char *dgst, int dlen, EC_KEY *eckey);
 int gost_ec_verify(const unsigned char *dgst, int dgst_len,
                    ECDSA_SIG *sig, EC_KEY *ec);
 int gost_ec_compute_public(EC_KEY *ec);
+int gost_ec_point_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *n,
+                      const EC_POINT *q, const BIGNUM *m, BN_CTX *ctx);
+
+#define CURVEDEF(a) \
+int point_mul_##a(const EC_GROUP *group, EC_POINT *r, const EC_POINT *q, const BIGNUM *m, BN_CTX *ctx);\
+int point_mul_g_##a(const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, BN_CTX *ctx);\
+int point_mul_two_##a(const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, const EC_POINT *q, const BIGNUM *m, BN_CTX *ctx);
+
+CURVEDEF(id_GostR3410_2001_CryptoPro_A_ParamSet)
+CURVEDEF(id_GostR3410_2001_CryptoPro_B_ParamSet)
+CURVEDEF(id_GostR3410_2001_CryptoPro_C_ParamSet)
+CURVEDEF(id_GostR3410_2001_TestParamSet)
+CURVEDEF(id_tc26_gost_3410_2012_256_paramSetA)
+CURVEDEF(id_tc26_gost_3410_2012_512_paramSetA)
+CURVEDEF(id_tc26_gost_3410_2012_512_paramSetB)
+CURVEDEF(id_tc26_gost_3410_2012_512_paramSetC)
 
 /* VKO */
 int VKO_compute_key(unsigned char *shared_key,