]> www.wagner.pp.ru Git - openssl-gost/engine.git/blob - ecp_id_tc26_gost_3410_2012_512_paramSetC.c
MSVC: Add dllexport to OSSL_provider_init
[openssl-gost/engine.git] / ecp_id_tc26_gost_3410_2012_512_paramSetC.c
1 /* Autogenerated: ECCKiila https://gitlab.com/nisec/ecckiila */
2 /*-
3  * MIT License
4  * 
5  * Copyright (c) 2020 Luis Rivera-Zamarripa, Jesús-Javier Chi-Domínguez, Billy Bob Brumley
6  * 
7  * Permission is hereby granted, free of charge, to any person obtaining a copy
8  * of this software and associated documentation files (the "Software"), to deal
9  * in the Software without restriction, including without limitation the rights
10  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11  * copies of the Software, and to permit persons to whom the Software is
12  * furnished to do so, subject to the following conditions:
13  * 
14  * The above copyright notice and this permission notice shall be included in all
15  * copies or substantial portions of the Software.
16  * 
17  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23  * SOFTWARE.
24  */
25 #if defined(__SIZEOF_INT128__) && !defined(PEDANTIC)
26
27 #include <stdint.h>
28 #include <string.h>
29 #define LIMB_BITS 64
30 #define LIMB_CNT 10
31 /* Field elements */
32 typedef uint64_t fe_t[LIMB_CNT];
33 typedef uint64_t limb_t;
34
35 #ifdef OPENSSL_NO_ASM
36 #define FIAT_ID_TC26_GOST_3410_2012_512_PARAMSETC_NO_ASM
37 #endif
38
39 #define fe_copy(d, s) memcpy(d, s, sizeof(fe_t))
40 #define fe_set_zero(d) memset(d, 0, sizeof(fe_t))
41
42 #define fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(c, a, b) \
43     fiat_id_tc26_gost_3410_2012_512_paramSetC_add(c, a, b);          \
44     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry(c, c)
45 #define fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(c, a, b) \
46     fiat_id_tc26_gost_3410_2012_512_paramSetC_sub(c, a, b);          \
47     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry(c, c)
48
49 /* Projective points */
50 typedef struct {
51     fe_t X;
52     fe_t Y;
53     fe_t T;
54     fe_t Z;
55 } pt_prj_t;
56
57 /* Affine points */
58 typedef struct {
59     fe_t X;
60     fe_t Y;
61     fe_t T;
62 } pt_aff_t;
63
64 /* BEGIN verbatim fiat code https://github.com/mit-plv/fiat-crypto */
65 /*-
66  * MIT License
67  *
68  * Copyright (c) 2020 the fiat-crypto authors (see the AUTHORS file)
69  *
70  * Permission is hereby granted, free of charge, to any person obtaining a copy
71  * of this software and associated documentation files (the "Software"), to deal
72  * in the Software without restriction, including without limitation the rights
73  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
74  * copies of the Software, and to permit persons to whom the Software is
75  * furnished to do so, subject to the following conditions:
76  *
77  * The above copyright notice and this permission notice shall be included in
78  * all copies or substantial portions of the Software.
79  *
80  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
81  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
82  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
83  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
84  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
85  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
86  * SOFTWARE.
87  */
88
89 /* Autogenerated: unsaturated_solinas --static --use-value-barrier id_tc26_gost_3410_2012_512_paramSetC 64 '(auto)' '2^512 - 569' */
90 /* curve description: id_tc26_gost_3410_2012_512_paramSetC */
91 /* machine_wordsize = 64 (from "64") */
92 /* requested operations: (all) */
93 /* n = 10 (from "(auto)") */
94 /* s-c = 2^512 - [(1, 569)] (from "2^512 - 569") */
95 /* tight_bounds_multiplier = 1 (from "") */
96 /*  */
97 /* Computed values: */
98 /* carry_chain = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1] */
99 /* 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) */
100 /* 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) */
101 /* balance = [0x1ffffffffffb8e, 0xffffffffffffe, 0xffffffffffffe, 0xffffffffffffe, 0xffffffffffffe, 0x1ffffffffffffe, 0xffffffffffffe, 0xffffffffffffe, 0xffffffffffffe, 0xffffffffffffe] */
102
103 #include <stdint.h>
104 typedef unsigned char fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1;
105 typedef signed char fiat_id_tc26_gost_3410_2012_512_paramSetC_int1;
106 typedef signed __int128 fiat_id_tc26_gost_3410_2012_512_paramSetC_int128;
107 typedef unsigned __int128 fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128;
108
109 #if (-1 & 3) != 3
110 #error "This code only works on a two's complement system"
111 #endif
112
113 #if !defined(FIAT_ID_TC26_GOST_3410_2012_512_PARAMSETC_NO_ASM) && \
114     (defined(__GNUC__) || defined(__clang__))
115 static __inline__ uint64_t
116 fiat_id_tc26_gost_3410_2012_512_paramSetC_value_barrier_u64(uint64_t a) {
117     __asm__("" : "+r"(a) : /* no inputs */);
118     return a;
119 }
120 #else
121 #define fiat_id_tc26_gost_3410_2012_512_paramSetC_value_barrier_u64(x) (x)
122 #endif
123
124 /*
125  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u52 is an addition with carry.
126  * Postconditions:
127  *   out1 = (arg1 + arg2 + arg3) mod 2^52
128  *   out2 = ⌊(arg1 + arg2 + arg3) / 2^52⌋
129  *
130  * Input Bounds:
131  *   arg1: [0x0 ~> 0x1]
132  *   arg2: [0x0 ~> 0xfffffffffffff]
133  *   arg3: [0x0 ~> 0xfffffffffffff]
134  * Output Bounds:
135  *   out1: [0x0 ~> 0xfffffffffffff]
136  *   out2: [0x0 ~> 0x1]
137  */
138 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u52(
139     uint64_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 *out2,
140     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1, uint64_t arg2,
141     uint64_t arg3) {
142     uint64_t x1;
143     uint64_t x2;
144     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x3;
145     x1 = ((arg1 + arg2) + arg3);
146     x2 = (x1 & UINT64_C(0xfffffffffffff));
147     x3 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x1 >> 52);
148     *out1 = x2;
149     *out2 = x3;
150 }
151
152 /*
153  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u52 is a subtraction with borrow.
154  * Postconditions:
155  *   out1 = (-arg1 + arg2 + -arg3) mod 2^52
156  *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^52⌋
157  *
158  * Input Bounds:
159  *   arg1: [0x0 ~> 0x1]
160  *   arg2: [0x0 ~> 0xfffffffffffff]
161  *   arg3: [0x0 ~> 0xfffffffffffff]
162  * Output Bounds:
163  *   out1: [0x0 ~> 0xfffffffffffff]
164  *   out2: [0x0 ~> 0x1]
165  */
166 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u52(
167     uint64_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 *out2,
168     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1, uint64_t arg2,
169     uint64_t arg3) {
170     int64_t x1;
171     fiat_id_tc26_gost_3410_2012_512_paramSetC_int1 x2;
172     uint64_t x3;
173     x1 = ((int64_t)(arg2 - (int64_t)arg1) - (int64_t)arg3);
174     x2 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_int1)(x1 >> 52);
175     x3 = (x1 & UINT64_C(0xfffffffffffff));
176     *out1 = x3;
177     *out2 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(0x0 - x2);
178 }
179
180 /*
181  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u51 is an addition with carry.
182  * Postconditions:
183  *   out1 = (arg1 + arg2 + arg3) mod 2^51
184  *   out2 = ⌊(arg1 + arg2 + arg3) / 2^51⌋
185  *
186  * Input Bounds:
187  *   arg1: [0x0 ~> 0x1]
188  *   arg2: [0x0 ~> 0x7ffffffffffff]
189  *   arg3: [0x0 ~> 0x7ffffffffffff]
190  * Output Bounds:
191  *   out1: [0x0 ~> 0x7ffffffffffff]
192  *   out2: [0x0 ~> 0x1]
193  */
194 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u51(
195     uint64_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 *out2,
196     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1, uint64_t arg2,
197     uint64_t arg3) {
198     uint64_t x1;
199     uint64_t x2;
200     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x3;
201     x1 = ((arg1 + arg2) + arg3);
202     x2 = (x1 & UINT64_C(0x7ffffffffffff));
203     x3 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x1 >> 51);
204     *out1 = x2;
205     *out2 = x3;
206 }
207
208 /*
209  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u51 is a subtraction with borrow.
210  * Postconditions:
211  *   out1 = (-arg1 + arg2 + -arg3) mod 2^51
212  *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^51⌋
213  *
214  * Input Bounds:
215  *   arg1: [0x0 ~> 0x1]
216  *   arg2: [0x0 ~> 0x7ffffffffffff]
217  *   arg3: [0x0 ~> 0x7ffffffffffff]
218  * Output Bounds:
219  *   out1: [0x0 ~> 0x7ffffffffffff]
220  *   out2: [0x0 ~> 0x1]
221  */
222 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u51(
223     uint64_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 *out2,
224     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1, uint64_t arg2,
225     uint64_t arg3) {
226     int64_t x1;
227     fiat_id_tc26_gost_3410_2012_512_paramSetC_int1 x2;
228     uint64_t x3;
229     x1 = ((int64_t)(arg2 - (int64_t)arg1) - (int64_t)arg3);
230     x2 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_int1)(x1 >> 51);
231     x3 = (x1 & UINT64_C(0x7ffffffffffff));
232     *out1 = x3;
233     *out2 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(0x0 - x2);
234 }
235
236 /*
237  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64 is a single-word conditional move.
238  * Postconditions:
239  *   out1 = (if arg1 = 0 then arg2 else arg3)
240  *
241  * Input Bounds:
242  *   arg1: [0x0 ~> 0x1]
243  *   arg2: [0x0 ~> 0xffffffffffffffff]
244  *   arg3: [0x0 ~> 0xffffffffffffffff]
245  * Output Bounds:
246  *   out1: [0x0 ~> 0xffffffffffffffff]
247  */
248 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(
249     uint64_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1,
250     uint64_t arg2, uint64_t arg3) {
251     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x1;
252     uint64_t x2;
253     uint64_t x3;
254     x1 = (!(!arg1));
255     x2 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_int1)(0x0 - x1) &
256           UINT64_C(0xffffffffffffffff));
257     x3 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_value_barrier_u64(x2) &
258            arg3) |
259           (fiat_id_tc26_gost_3410_2012_512_paramSetC_value_barrier_u64((~x2)) &
260            arg2));
261     *out1 = x3;
262 }
263
264 /*
265  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul multiplies two field elements and reduces the result.
266  * Postconditions:
267  *   eval out1 mod m = (eval arg1 * eval arg2) mod m
268  *
269  * Input Bounds:
270  *   arg1: [[0x0 ~> 0x30000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x30000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000]]
271  *   arg2: [[0x0 ~> 0x30000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x30000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000]]
272  * Output Bounds:
273  *   out1: [[0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000]]
274  */
275 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(
276     uint64_t out1[10], const uint64_t arg1[10], const uint64_t arg2[10]) {
277     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x1;
278     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x2;
279     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x3;
280     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x4;
281     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x5;
282     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x6;
283     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x7;
284     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x8;
285     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x9;
286     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x10;
287     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x11;
288     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x12;
289     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x13;
290     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x14;
291     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x15;
292     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x16;
293     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x17;
294     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x18;
295     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x19;
296     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x20;
297     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x21;
298     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x22;
299     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x23;
300     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x24;
301     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x25;
302     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x26;
303     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x27;
304     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x28;
305     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x29;
306     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x30;
307     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x31;
308     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x32;
309     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x33;
310     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x34;
311     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x35;
312     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x36;
313     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x37;
314     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x38;
315     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x39;
316     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x40;
317     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x41;
318     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x42;
319     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x43;
320     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x44;
321     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x45;
322     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x46;
323     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x47;
324     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x48;
325     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x49;
326     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x50;
327     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x51;
328     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x52;
329     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x53;
330     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x54;
331     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x55;
332     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x56;
333     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x57;
334     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x58;
335     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x59;
336     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x60;
337     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x61;
338     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x62;
339     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x63;
340     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x64;
341     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x65;
342     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x66;
343     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x67;
344     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x68;
345     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x69;
346     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x70;
347     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x71;
348     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x72;
349     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x73;
350     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x74;
351     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x75;
352     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x76;
353     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x77;
354     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x78;
355     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x79;
356     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x80;
357     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x81;
358     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x82;
359     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x83;
360     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x84;
361     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x85;
362     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x86;
363     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x87;
364     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x88;
365     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x89;
366     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x90;
367     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x91;
368     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x92;
369     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x93;
370     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x94;
371     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x95;
372     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x96;
373     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x97;
374     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x98;
375     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x99;
376     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x100;
377     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x101;
378     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x102;
379     uint64_t x103;
380     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x104;
381     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x105;
382     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x106;
383     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x107;
384     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x108;
385     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x109;
386     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x110;
387     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x111;
388     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x112;
389     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x113;
390     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x114;
391     uint64_t x115;
392     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x116;
393     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x117;
394     uint64_t x118;
395     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x119;
396     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x120;
397     uint64_t x121;
398     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x122;
399     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x123;
400     uint64_t x124;
401     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x125;
402     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x126;
403     uint64_t x127;
404     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x128;
405     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x129;
406     uint64_t x130;
407     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x131;
408     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x132;
409     uint64_t x133;
410     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x134;
411     uint64_t x135;
412     uint64_t x136;
413     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x137;
414     uint64_t x138;
415     uint64_t x139;
416     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x140;
417     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x141;
418     uint64_t x142;
419     uint64_t x143;
420     uint64_t x144;
421     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x145;
422     uint64_t x146;
423     uint64_t x147;
424     x1 = (UINT16_C(0x239) *
425           ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[9]) *
426            (arg2[9])));
427     x2 = (UINT16_C(0x239) *
428           ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[9]) *
429            (arg2[8])));
430     x3 = (UINT16_C(0x239) *
431           ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[9]) *
432            (arg2[7])));
433     x4 = (UINT16_C(0x239) *
434           (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[9]) *
435             (arg2[6])) *
436            0x2));
437     x5 = (UINT16_C(0x239) *
438           ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[9]) *
439            (arg2[5])));
440     x6 = (UINT16_C(0x239) *
441           ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[9]) *
442            (arg2[4])));
443     x7 = (UINT16_C(0x239) *
444           ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[9]) *
445            (arg2[3])));
446     x8 = (UINT16_C(0x239) *
447           ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[9]) *
448            (arg2[2])));
449     x9 = (UINT16_C(0x239) *
450           (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[9]) *
451             (arg2[1])) *
452            0x2));
453     x10 = (UINT16_C(0x239) *
454            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) *
455             (arg2[9])));
456     x11 = (UINT16_C(0x239) *
457            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) *
458             (arg2[8])));
459     x12 = (UINT16_C(0x239) *
460            (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) *
461              (arg2[7])) *
462             0x2));
463     x13 = (UINT16_C(0x239) *
464            (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) *
465              (arg2[6])) *
466             0x2));
467     x14 = (UINT16_C(0x239) *
468            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) *
469             (arg2[5])));
470     x15 = (UINT16_C(0x239) *
471            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) *
472             (arg2[4])));
473     x16 = (UINT16_C(0x239) *
474            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) *
475             (arg2[3])));
476     x17 = (UINT16_C(0x239) *
477            (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) *
478              (arg2[2])) *
479             0x2));
480     x18 = (UINT16_C(0x239) *
481            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
482             (arg2[9])));
483     x19 = (UINT16_C(0x239) *
484            (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
485              (arg2[8])) *
486             0x2));
487     x20 = (UINT16_C(0x239) *
488            (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
489              (arg2[7])) *
490             0x2));
491     x21 = (UINT16_C(0x239) *
492            (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
493              (arg2[6])) *
494             0x2));
495     x22 = (UINT16_C(0x239) *
496            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
497             (arg2[5])));
498     x23 = (UINT16_C(0x239) *
499            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
500             (arg2[4])));
501     x24 = (UINT16_C(0x239) *
502            (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
503              (arg2[3])) *
504             0x2));
505     x25 = (UINT16_C(0x239) *
506            (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
507              (arg2[9])) *
508             0x2));
509     x26 = (UINT16_C(0x239) *
510            (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
511              (arg2[8])) *
512             0x2));
513     x27 = (UINT16_C(0x239) *
514            (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
515              (arg2[7])) *
516             0x2));
517     x28 = (UINT16_C(0x239) *
518            (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
519              (arg2[6])) *
520             0x2));
521     x29 = (UINT16_C(0x239) *
522            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
523             (arg2[5])));
524     x30 = (UINT16_C(0x239) *
525            (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
526              (arg2[4])) *
527             0x2));
528     x31 = (UINT16_C(0x239) *
529            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) *
530             (arg2[9])));
531     x32 = (UINT16_C(0x239) *
532            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) *
533             (arg2[8])));
534     x33 = (UINT16_C(0x239) *
535            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) *
536             (arg2[7])));
537     x34 = (UINT16_C(0x239) *
538            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) *
539             (arg2[6])));
540     x35 = (UINT16_C(0x239) *
541            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) *
542             (arg2[5])));
543     x36 = (UINT16_C(0x239) *
544            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
545             (arg2[9])));
546     x37 = (UINT16_C(0x239) *
547            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
548             (arg2[8])));
549     x38 = (UINT16_C(0x239) *
550            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
551             (arg2[7])));
552     x39 = (UINT16_C(0x239) *
553            (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
554              (arg2[6])) *
555             0x2));
556     x40 = (UINT16_C(0x239) *
557            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
558             (arg2[9])));
559     x41 = (UINT16_C(0x239) *
560            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
561             (arg2[8])));
562     x42 = (UINT16_C(0x239) *
563            (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
564              (arg2[7])) *
565             0x2));
566     x43 = (UINT16_C(0x239) *
567            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
568             (arg2[9])));
569     x44 = (UINT16_C(0x239) *
570            (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
571              (arg2[8])) *
572             0x2));
573     x45 = (UINT16_C(0x239) *
574            (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
575              (arg2[9])) *
576             0x2));
577     x46 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[9]) *
578            (arg2[0]));
579     x47 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) *
580            ((arg2[1]) * 0x2));
581     x48 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) *
582            (arg2[0]));
583     x49 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
584            ((arg2[2]) * 0x2));
585     x50 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
586            ((arg2[1]) * 0x2));
587     x51 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
588            (arg2[0]));
589     x52 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
590            ((arg2[3]) * 0x2));
591     x53 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
592            ((arg2[2]) * 0x2));
593     x54 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
594            ((arg2[1]) * 0x2));
595     x55 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
596            (arg2[0]));
597     x56 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) *
598            (arg2[4]));
599     x57 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) *
600            (arg2[3]));
601     x58 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) *
602            (arg2[2]));
603     x59 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) *
604            (arg2[1]));
605     x60 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) *
606            (arg2[0]));
607     x61 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
608            (arg2[5]));
609     x62 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
610            (arg2[4]));
611     x63 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
612            (arg2[3]));
613     x64 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
614            (arg2[2]));
615     x65 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
616            ((arg2[1]) * 0x2));
617     x66 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
618            (arg2[0]));
619     x67 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
620            ((arg2[6]) * 0x2));
621     x68 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
622            (arg2[5]));
623     x69 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
624            (arg2[4]));
625     x70 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
626            (arg2[3]));
627     x71 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
628            ((arg2[2]) * 0x2));
629     x72 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
630            ((arg2[1]) * 0x2));
631     x73 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
632            (arg2[0]));
633     x74 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
634            ((arg2[7]) * 0x2));
635     x75 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
636            ((arg2[6]) * 0x2));
637     x76 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
638            (arg2[5]));
639     x77 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
640            (arg2[4]));
641     x78 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
642            ((arg2[3]) * 0x2));
643     x79 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
644            ((arg2[2]) * 0x2));
645     x80 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
646            ((arg2[1]) * 0x2));
647     x81 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
648            (arg2[0]));
649     x82 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
650            ((arg2[8]) * 0x2));
651     x83 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
652            ((arg2[7]) * 0x2));
653     x84 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
654            ((arg2[6]) * 0x2));
655     x85 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
656            (arg2[5]));
657     x86 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
658            ((arg2[4]) * 0x2));
659     x87 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
660            ((arg2[3]) * 0x2));
661     x88 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
662            ((arg2[2]) * 0x2));
663     x89 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
664            ((arg2[1]) * 0x2));
665     x90 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
666            (arg2[0]));
667     x91 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) *
668            (arg2[9]));
669     x92 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) *
670            (arg2[8]));
671     x93 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) *
672            (arg2[7]));
673     x94 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) *
674            (arg2[6]));
675     x95 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) *
676            (arg2[5]));
677     x96 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) *
678            (arg2[4]));
679     x97 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) *
680            (arg2[3]));
681     x98 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) *
682            (arg2[2]));
683     x99 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) *
684            (arg2[1]));
685     x100 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) *
686             (arg2[0]));
687     x101 = (x100 +
688             (x45 + (x44 + (x42 + (x39 + (x35 + (x30 + (x24 + (x17 + x9)))))))));
689     x102 = (x101 >> 52);
690     x103 = (uint64_t)(x101 & UINT64_C(0xfffffffffffff));
691     x104 =
692         (x91 +
693          (x82 + (x74 + (x67 + (x61 + (x56 + (x52 + (x49 + (x47 + x46)))))))));
694     x105 = (x92 +
695             (x83 + (x75 + (x68 + (x62 + (x57 + (x53 + (x50 + (x48 + x1)))))))));
696     x106 = (x93 +
697             (x84 + (x76 + (x69 + (x63 + (x58 + (x54 + (x51 + (x10 + x2)))))))));
698     x107 = (x94 +
699             (x85 + (x77 + (x70 + (x64 + (x59 + (x55 + (x18 + (x11 + x3)))))))));
700     x108 = (x95 +
701             (x86 + (x78 + (x71 + (x65 + (x60 + (x25 + (x19 + (x12 + x4)))))))));
702     x109 = (x96 +
703             (x87 + (x79 + (x72 + (x66 + (x31 + (x26 + (x20 + (x13 + x5)))))))));
704     x110 = (x97 +
705             (x88 + (x80 + (x73 + (x36 + (x32 + (x27 + (x21 + (x14 + x6)))))))));
706     x111 = (x98 +
707             (x89 + (x81 + (x40 + (x37 + (x33 + (x28 + (x22 + (x15 + x7)))))))));
708     x112 = (x99 +
709             (x90 + (x43 + (x41 + (x38 + (x34 + (x29 + (x23 + (x16 + x8)))))))));
710     x113 = (x102 + x112);
711     x114 = (x113 >> 51);
712     x115 = (uint64_t)(x113 & UINT64_C(0x7ffffffffffff));
713     x116 = (x114 + x111);
714     x117 = (x116 >> 51);
715     x118 = (uint64_t)(x116 & UINT64_C(0x7ffffffffffff));
716     x119 = (x117 + x110);
717     x120 = (x119 >> 51);
718     x121 = (uint64_t)(x119 & UINT64_C(0x7ffffffffffff));
719     x122 = (x120 + x109);
720     x123 = (x122 >> 51);
721     x124 = (uint64_t)(x122 & UINT64_C(0x7ffffffffffff));
722     x125 = (x123 + x108);
723     x126 = (x125 >> 52);
724     x127 = (uint64_t)(x125 & UINT64_C(0xfffffffffffff));
725     x128 = (x126 + x107);
726     x129 = (x128 >> 51);
727     x130 = (uint64_t)(x128 & UINT64_C(0x7ffffffffffff));
728     x131 = (x129 + x106);
729     x132 = (x131 >> 51);
730     x133 = (uint64_t)(x131 & UINT64_C(0x7ffffffffffff));
731     x134 = (x132 + x105);
732     x135 = (uint64_t)(x134 >> 51);
733     x136 = (uint64_t)(x134 & UINT64_C(0x7ffffffffffff));
734     x137 = (x135 + x104);
735     x138 = (uint64_t)(x137 >> 51);
736     x139 = (uint64_t)(x137 & UINT64_C(0x7ffffffffffff));
737     x140 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)UINT16_C(0x239) *
738             x138);
739     x141 = (x103 + x140);
740     x142 = (uint64_t)(x141 >> 52);
741     x143 = (uint64_t)(x141 & UINT64_C(0xfffffffffffff));
742     x144 = (x142 + x115);
743     x145 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x144 >> 51);
744     x146 = (x144 & UINT64_C(0x7ffffffffffff));
745     x147 = (x145 + x118);
746     out1[0] = x143;
747     out1[1] = x146;
748     out1[2] = x147;
749     out1[3] = x121;
750     out1[4] = x124;
751     out1[5] = x127;
752     out1[6] = x130;
753     out1[7] = x133;
754     out1[8] = x136;
755     out1[9] = x139;
756 }
757
758 /*
759  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square squares a field element and reduces the result.
760  * Postconditions:
761  *   eval out1 mod m = (eval arg1 * eval arg1) mod m
762  *
763  * Input Bounds:
764  *   arg1: [[0x0 ~> 0x30000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x30000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000]]
765  * Output Bounds:
766  *   out1: [[0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000]]
767  */
768 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(
769     uint64_t out1[10], const uint64_t arg1[10]) {
770     uint64_t x1;
771     uint64_t x2;
772     uint64_t x3;
773     uint64_t x4;
774     uint64_t x5;
775     uint64_t x6;
776     uint64_t x7;
777     uint64_t x8;
778     uint64_t x9;
779     uint64_t x10;
780     uint64_t x11;
781     uint64_t x12;
782     uint64_t x13;
783     uint64_t x14;
784     uint64_t x15;
785     uint64_t x16;
786     uint64_t x17;
787     uint64_t x18;
788     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x19;
789     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x20;
790     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x21;
791     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x22;
792     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x23;
793     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x24;
794     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x25;
795     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x26;
796     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x27;
797     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x28;
798     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x29;
799     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x30;
800     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x31;
801     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x32;
802     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x33;
803     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x34;
804     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x35;
805     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x36;
806     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x37;
807     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x38;
808     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x39;
809     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x40;
810     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x41;
811     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x42;
812     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x43;
813     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x44;
814     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x45;
815     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x46;
816     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x47;
817     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x48;
818     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x49;
819     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x50;
820     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x51;
821     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x52;
822     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x53;
823     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x54;
824     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x55;
825     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x56;
826     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x57;
827     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x58;
828     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x59;
829     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x60;
830     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x61;
831     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x62;
832     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x63;
833     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x64;
834     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x65;
835     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x66;
836     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x67;
837     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x68;
838     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x69;
839     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x70;
840     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x71;
841     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x72;
842     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x73;
843     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x74;
844     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x75;
845     uint64_t x76;
846     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x77;
847     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x78;
848     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x79;
849     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x80;
850     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x81;
851     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x82;
852     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x83;
853     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x84;
854     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x85;
855     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x86;
856     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x87;
857     uint64_t x88;
858     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x89;
859     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x90;
860     uint64_t x91;
861     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x92;
862     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x93;
863     uint64_t x94;
864     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x95;
865     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x96;
866     uint64_t x97;
867     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x98;
868     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x99;
869     uint64_t x100;
870     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x101;
871     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x102;
872     uint64_t x103;
873     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x104;
874     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x105;
875     uint64_t x106;
876     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x107;
877     uint64_t x108;
878     uint64_t x109;
879     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x110;
880     uint64_t x111;
881     uint64_t x112;
882     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x113;
883     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x114;
884     uint64_t x115;
885     uint64_t x116;
886     uint64_t x117;
887     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x118;
888     uint64_t x119;
889     uint64_t x120;
890     x1 = ((arg1[9]) * UINT16_C(0x239));
891     x2 = (x1 * 0x2);
892     x3 = ((arg1[9]) * 0x2);
893     x4 = ((arg1[8]) * UINT16_C(0x239));
894     x5 = (x4 * 0x2);
895     x6 = ((arg1[8]) * 0x2);
896     x7 = ((arg1[7]) * UINT16_C(0x239));
897     x8 = (x7 * 0x2);
898     x9 = ((arg1[7]) * 0x2);
899     x10 = ((arg1[6]) * UINT16_C(0x239));
900     x11 = (x10 * 0x2);
901     x12 = ((arg1[6]) * 0x2);
902     x13 = ((arg1[5]) * UINT16_C(0x239));
903     x14 = ((arg1[5]) * 0x2);
904     x15 = ((arg1[4]) * 0x2);
905     x16 = ((arg1[3]) * 0x2);
906     x17 = ((arg1[2]) * 0x2);
907     x18 = ((arg1[1]) * 0x2);
908     x19 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[9]) * x1);
909     x20 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) * x2);
910     x21 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) * x4);
911     x22 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) * x2);
912     x23 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
913            (x5 * 0x2));
914     x24 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
915            (x7 * 0x2));
916     x25 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
917            (x2 * 0x2));
918     x26 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
919            (x5 * 0x2));
920     x27 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
921            (x8 * 0x2));
922     x28 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
923            (x10 * 0x2));
924     x29 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) * x2);
925     x30 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) * x5);
926     x31 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) * x8);
927     x32 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) * x11);
928     x33 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) * x13);
929     x34 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) * x2);
930     x35 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) * x5);
931     x36 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) * x8);
932     x37 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
933            (x11 * 0x2));
934     x38 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) * x14);
935     x39 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
936            (arg1[4]));
937     x40 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) * x2);
938     x41 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) * x5);
939     x42 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
940            (x8 * 0x2));
941     x43 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
942            (x12 * 0x2));
943     x44 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) * x14);
944     x45 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) * x15);
945     x46 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
946            (arg1[3]));
947     x47 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) * x2);
948     x48 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
949            (x5 * 0x2));
950     x49 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
951            (x9 * 0x2));
952     x50 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
953            (x12 * 0x2));
954     x51 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) * x14);
955     x52 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) * x15);
956     x53 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
957            (x16 * 0x2));
958     x54 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
959            ((arg1[2]) * 0x2));
960     x55 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
961            (x2 * 0x2));
962     x56 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
963            (x6 * 0x2));
964     x57 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
965            (x9 * 0x2));
966     x58 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
967            (x12 * 0x2));
968     x59 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) * x14);
969     x60 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
970            (x15 * 0x2));
971     x61 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
972            (x16 * 0x2));
973     x62 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
974            (x17 * 0x2));
975     x63 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
976            ((arg1[1]) * 0x2));
977     x64 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) * x3);
978     x65 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) * x6);
979     x66 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) * x9);
980     x67 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) * x12);
981     x68 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) * x14);
982     x69 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) * x15);
983     x70 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) * x16);
984     x71 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) * x17);
985     x72 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) * x18);
986     x73 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) *
987            (arg1[0]));
988     x74 = (x73 + (x55 + (x48 + (x42 + (x37 + x33)))));
989     x75 = (x74 >> 52);
990     x76 = (uint64_t)(x74 & UINT64_C(0xfffffffffffff));
991     x77 = (x64 + (x56 + (x49 + (x43 + x38))));
992     x78 = (x65 + (x57 + (x50 + (x44 + (x39 + x19)))));
993     x79 = (x66 + (x58 + (x51 + (x45 + x20))));
994     x80 = (x67 + (x59 + (x52 + (x46 + (x22 + x21)))));
995     x81 = (x68 + (x60 + (x53 + (x25 + x23))));
996     x82 = (x69 + (x61 + (x54 + (x29 + (x26 + x24)))));
997     x83 = (x70 + (x62 + (x34 + (x30 + x27))));
998     x84 = (x71 + (x63 + (x40 + (x35 + (x31 + x28)))));
999     x85 = (x72 + (x47 + (x41 + (x36 + x32))));
1000     x86 = (x75 + x85);
1001     x87 = (x86 >> 51);
1002     x88 = (uint64_t)(x86 & UINT64_C(0x7ffffffffffff));
1003     x89 = (x87 + x84);
1004     x90 = (x89 >> 51);
1005     x91 = (uint64_t)(x89 & UINT64_C(0x7ffffffffffff));
1006     x92 = (x90 + x83);
1007     x93 = (x92 >> 51);
1008     x94 = (uint64_t)(x92 & UINT64_C(0x7ffffffffffff));
1009     x95 = (x93 + x82);
1010     x96 = (x95 >> 51);
1011     x97 = (uint64_t)(x95 & UINT64_C(0x7ffffffffffff));
1012     x98 = (x96 + x81);
1013     x99 = (x98 >> 52);
1014     x100 = (uint64_t)(x98 & UINT64_C(0xfffffffffffff));
1015     x101 = (x99 + x80);
1016     x102 = (x101 >> 51);
1017     x103 = (uint64_t)(x101 & UINT64_C(0x7ffffffffffff));
1018     x104 = (x102 + x79);
1019     x105 = (x104 >> 51);
1020     x106 = (uint64_t)(x104 & UINT64_C(0x7ffffffffffff));
1021     x107 = (x105 + x78);
1022     x108 = (uint64_t)(x107 >> 51);
1023     x109 = (uint64_t)(x107 & UINT64_C(0x7ffffffffffff));
1024     x110 = (x108 + x77);
1025     x111 = (uint64_t)(x110 >> 51);
1026     x112 = (uint64_t)(x110 & UINT64_C(0x7ffffffffffff));
1027     x113 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)UINT16_C(0x239) *
1028             x111);
1029     x114 = (x76 + x113);
1030     x115 = (uint64_t)(x114 >> 52);
1031     x116 = (uint64_t)(x114 & UINT64_C(0xfffffffffffff));
1032     x117 = (x115 + x88);
1033     x118 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x117 >> 51);
1034     x119 = (x117 & UINT64_C(0x7ffffffffffff));
1035     x120 = (x118 + x91);
1036     out1[0] = x116;
1037     out1[1] = x119;
1038     out1[2] = x120;
1039     out1[3] = x94;
1040     out1[4] = x97;
1041     out1[5] = x100;
1042     out1[6] = x103;
1043     out1[7] = x106;
1044     out1[8] = x109;
1045     out1[9] = x112;
1046 }
1047
1048 /*
1049  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_carry reduces a field element.
1050  * Postconditions:
1051  *   eval out1 mod m = eval arg1 mod m
1052  *
1053  * Input Bounds:
1054  *   arg1: [[0x0 ~> 0x30000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x30000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000]]
1055  * Output Bounds:
1056  *   out1: [[0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000]]
1057  */
1058 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_carry(
1059     uint64_t out1[10], const uint64_t arg1[10]) {
1060     uint64_t x1;
1061     uint64_t x2;
1062     uint64_t x3;
1063     uint64_t x4;
1064     uint64_t x5;
1065     uint64_t x6;
1066     uint64_t x7;
1067     uint64_t x8;
1068     uint64_t x9;
1069     uint64_t x10;
1070     uint64_t x11;
1071     uint64_t x12;
1072     uint64_t x13;
1073     uint64_t x14;
1074     uint64_t x15;
1075     uint64_t x16;
1076     uint64_t x17;
1077     uint64_t x18;
1078     uint64_t x19;
1079     uint64_t x20;
1080     uint64_t x21;
1081     uint64_t x22;
1082     x1 = (arg1[0]);
1083     x2 = ((x1 >> 52) + (arg1[1]));
1084     x3 = ((x2 >> 51) + (arg1[2]));
1085     x4 = ((x3 >> 51) + (arg1[3]));
1086     x5 = ((x4 >> 51) + (arg1[4]));
1087     x6 = ((x5 >> 51) + (arg1[5]));
1088     x7 = ((x6 >> 52) + (arg1[6]));
1089     x8 = ((x7 >> 51) + (arg1[7]));
1090     x9 = ((x8 >> 51) + (arg1[8]));
1091     x10 = ((x9 >> 51) + (arg1[9]));
1092     x11 = ((x1 & UINT64_C(0xfffffffffffff)) + (UINT16_C(0x239) * (x10 >> 51)));
1093     x12 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x11 >> 52) +
1094            (x2 & UINT64_C(0x7ffffffffffff)));
1095     x13 = (x11 & UINT64_C(0xfffffffffffff));
1096     x14 = (x12 & UINT64_C(0x7ffffffffffff));
1097     x15 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x12 >> 51) +
1098            (x3 & UINT64_C(0x7ffffffffffff)));
1099     x16 = (x4 & UINT64_C(0x7ffffffffffff));
1100     x17 = (x5 & UINT64_C(0x7ffffffffffff));
1101     x18 = (x6 & UINT64_C(0xfffffffffffff));
1102     x19 = (x7 & UINT64_C(0x7ffffffffffff));
1103     x20 = (x8 & UINT64_C(0x7ffffffffffff));
1104     x21 = (x9 & UINT64_C(0x7ffffffffffff));
1105     x22 = (x10 & UINT64_C(0x7ffffffffffff));
1106     out1[0] = x13;
1107     out1[1] = x14;
1108     out1[2] = x15;
1109     out1[3] = x16;
1110     out1[4] = x17;
1111     out1[5] = x18;
1112     out1[6] = x19;
1113     out1[7] = x20;
1114     out1[8] = x21;
1115     out1[9] = x22;
1116 }
1117
1118 /*
1119  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_add adds two field elements.
1120  * Postconditions:
1121  *   eval out1 mod m = (eval arg1 + eval arg2) mod m
1122  *
1123  * Input Bounds:
1124  *   arg1: [[0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000]]
1125  *   arg2: [[0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000]]
1126  * Output Bounds:
1127  *   out1: [[0x0 ~> 0x30000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x30000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000]]
1128  */
1129 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_add(
1130     uint64_t out1[10], const uint64_t arg1[10], const uint64_t arg2[10]) {
1131     uint64_t x1;
1132     uint64_t x2;
1133     uint64_t x3;
1134     uint64_t x4;
1135     uint64_t x5;
1136     uint64_t x6;
1137     uint64_t x7;
1138     uint64_t x8;
1139     uint64_t x9;
1140     uint64_t x10;
1141     x1 = ((arg1[0]) + (arg2[0]));
1142     x2 = ((arg1[1]) + (arg2[1]));
1143     x3 = ((arg1[2]) + (arg2[2]));
1144     x4 = ((arg1[3]) + (arg2[3]));
1145     x5 = ((arg1[4]) + (arg2[4]));
1146     x6 = ((arg1[5]) + (arg2[5]));
1147     x7 = ((arg1[6]) + (arg2[6]));
1148     x8 = ((arg1[7]) + (arg2[7]));
1149     x9 = ((arg1[8]) + (arg2[8]));
1150     x10 = ((arg1[9]) + (arg2[9]));
1151     out1[0] = x1;
1152     out1[1] = x2;
1153     out1[2] = x3;
1154     out1[3] = x4;
1155     out1[4] = x5;
1156     out1[5] = x6;
1157     out1[6] = x7;
1158     out1[7] = x8;
1159     out1[8] = x9;
1160     out1[9] = x10;
1161 }
1162
1163 /*
1164  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_sub subtracts two field elements.
1165  * Postconditions:
1166  *   eval out1 mod m = (eval arg1 - eval arg2) mod m
1167  *
1168  * Input Bounds:
1169  *   arg1: [[0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000]]
1170  *   arg2: [[0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000]]
1171  * Output Bounds:
1172  *   out1: [[0x0 ~> 0x30000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x30000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000]]
1173  */
1174 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_sub(
1175     uint64_t out1[10], const uint64_t arg1[10], const uint64_t arg2[10]) {
1176     uint64_t x1;
1177     uint64_t x2;
1178     uint64_t x3;
1179     uint64_t x4;
1180     uint64_t x5;
1181     uint64_t x6;
1182     uint64_t x7;
1183     uint64_t x8;
1184     uint64_t x9;
1185     uint64_t x10;
1186     x1 = ((UINT64_C(0x1ffffffffffb8e) + (arg1[0])) - (arg2[0]));
1187     x2 = ((UINT64_C(0xffffffffffffe) + (arg1[1])) - (arg2[1]));
1188     x3 = ((UINT64_C(0xffffffffffffe) + (arg1[2])) - (arg2[2]));
1189     x4 = ((UINT64_C(0xffffffffffffe) + (arg1[3])) - (arg2[3]));
1190     x5 = ((UINT64_C(0xffffffffffffe) + (arg1[4])) - (arg2[4]));
1191     x6 = ((UINT64_C(0x1ffffffffffffe) + (arg1[5])) - (arg2[5]));
1192     x7 = ((UINT64_C(0xffffffffffffe) + (arg1[6])) - (arg2[6]));
1193     x8 = ((UINT64_C(0xffffffffffffe) + (arg1[7])) - (arg2[7]));
1194     x9 = ((UINT64_C(0xffffffffffffe) + (arg1[8])) - (arg2[8]));
1195     x10 = ((UINT64_C(0xffffffffffffe) + (arg1[9])) - (arg2[9]));
1196     out1[0] = x1;
1197     out1[1] = x2;
1198     out1[2] = x3;
1199     out1[3] = x4;
1200     out1[4] = x5;
1201     out1[5] = x6;
1202     out1[6] = x7;
1203     out1[7] = x8;
1204     out1[8] = x9;
1205     out1[9] = x10;
1206 }
1207
1208 /*
1209  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_opp negates a field element.
1210  * Postconditions:
1211  *   eval out1 mod m = -eval arg1 mod m
1212  *
1213  * Input Bounds:
1214  *   arg1: [[0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000]]
1215  * Output Bounds:
1216  *   out1: [[0x0 ~> 0x30000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x30000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000], [0x0 ~> 0x18000000000000]]
1217  */
1218 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(
1219     uint64_t out1[10], const uint64_t arg1[10]) {
1220     uint64_t x1;
1221     uint64_t x2;
1222     uint64_t x3;
1223     uint64_t x4;
1224     uint64_t x5;
1225     uint64_t x6;
1226     uint64_t x7;
1227     uint64_t x8;
1228     uint64_t x9;
1229     uint64_t x10;
1230     x1 = (UINT64_C(0x1ffffffffffb8e) - (arg1[0]));
1231     x2 = (UINT64_C(0xffffffffffffe) - (arg1[1]));
1232     x3 = (UINT64_C(0xffffffffffffe) - (arg1[2]));
1233     x4 = (UINT64_C(0xffffffffffffe) - (arg1[3]));
1234     x5 = (UINT64_C(0xffffffffffffe) - (arg1[4]));
1235     x6 = (UINT64_C(0x1ffffffffffffe) - (arg1[5]));
1236     x7 = (UINT64_C(0xffffffffffffe) - (arg1[6]));
1237     x8 = (UINT64_C(0xffffffffffffe) - (arg1[7]));
1238     x9 = (UINT64_C(0xffffffffffffe) - (arg1[8]));
1239     x10 = (UINT64_C(0xffffffffffffe) - (arg1[9]));
1240     out1[0] = x1;
1241     out1[1] = x2;
1242     out1[2] = x3;
1243     out1[3] = x4;
1244     out1[4] = x5;
1245     out1[5] = x6;
1246     out1[6] = x7;
1247     out1[7] = x8;
1248     out1[8] = x9;
1249     out1[9] = x10;
1250 }
1251
1252 /*
1253  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz is a multi-limb conditional select.
1254  * Postconditions:
1255  *   eval out1 = (if arg1 = 0 then eval arg2 else eval arg3)
1256  *
1257  * Input Bounds:
1258  *   arg1: [0x0 ~> 0x1]
1259  *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1260  *   arg3: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1261  * Output Bounds:
1262  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1263  */
1264 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
1265     uint64_t out1[10], fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1,
1266     const uint64_t arg2[10], const uint64_t arg3[10]) {
1267     uint64_t x1;
1268     uint64_t x2;
1269     uint64_t x3;
1270     uint64_t x4;
1271     uint64_t x5;
1272     uint64_t x6;
1273     uint64_t x7;
1274     uint64_t x8;
1275     uint64_t x9;
1276     uint64_t x10;
1277     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(&x1, arg1, (arg2[0]),
1278                                                           (arg3[0]));
1279     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(&x2, arg1, (arg2[1]),
1280                                                           (arg3[1]));
1281     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(&x3, arg1, (arg2[2]),
1282                                                           (arg3[2]));
1283     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(&x4, arg1, (arg2[3]),
1284                                                           (arg3[3]));
1285     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(&x5, arg1, (arg2[4]),
1286                                                           (arg3[4]));
1287     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(&x6, arg1, (arg2[5]),
1288                                                           (arg3[5]));
1289     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(&x7, arg1, (arg2[6]),
1290                                                           (arg3[6]));
1291     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(&x8, arg1, (arg2[7]),
1292                                                           (arg3[7]));
1293     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(&x9, arg1, (arg2[8]),
1294                                                           (arg3[8]));
1295     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(&x10, arg1, (arg2[9]),
1296                                                           (arg3[9]));
1297     out1[0] = x1;
1298     out1[1] = x2;
1299     out1[2] = x3;
1300     out1[3] = x4;
1301     out1[4] = x5;
1302     out1[5] = x6;
1303     out1[6] = x7;
1304     out1[7] = x8;
1305     out1[8] = x9;
1306     out1[9] = x10;
1307 }
1308
1309 /*
1310  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes serializes a field element to bytes in little-endian order.
1311  * Postconditions:
1312  *   out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..63]
1313  *
1314  * Input Bounds:
1315  *   arg1: [[0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000]]
1316  * Output Bounds:
1317  *   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]]
1318  */
1319 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(
1320     uint8_t out1[64], const uint64_t arg1[10]) {
1321     uint64_t x1;
1322     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x2;
1323     uint64_t x3;
1324     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x4;
1325     uint64_t x5;
1326     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x6;
1327     uint64_t x7;
1328     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x8;
1329     uint64_t x9;
1330     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x10;
1331     uint64_t x11;
1332     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x12;
1333     uint64_t x13;
1334     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x14;
1335     uint64_t x15;
1336     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x16;
1337     uint64_t x17;
1338     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x18;
1339     uint64_t x19;
1340     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x20;
1341     uint64_t x21;
1342     uint64_t x22;
1343     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x23;
1344     uint64_t x24;
1345     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x25;
1346     uint64_t x26;
1347     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x27;
1348     uint64_t x28;
1349     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x29;
1350     uint64_t x30;
1351     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x31;
1352     uint64_t x32;
1353     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x33;
1354     uint64_t x34;
1355     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x35;
1356     uint64_t x36;
1357     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x37;
1358     uint64_t x38;
1359     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x39;
1360     uint64_t x40;
1361     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x41;
1362     uint64_t x42;
1363     uint64_t x43;
1364     uint64_t x44;
1365     uint64_t x45;
1366     uint64_t x46;
1367     uint64_t x47;
1368     uint64_t x48;
1369     uint64_t x49;
1370     uint8_t x50;
1371     uint64_t x51;
1372     uint8_t x52;
1373     uint64_t x53;
1374     uint8_t x54;
1375     uint64_t x55;
1376     uint8_t x56;
1377     uint64_t x57;
1378     uint8_t x58;
1379     uint64_t x59;
1380     uint8_t x60;
1381     uint8_t x61;
1382     uint64_t x62;
1383     uint8_t x63;
1384     uint64_t x64;
1385     uint8_t x65;
1386     uint64_t x66;
1387     uint8_t x67;
1388     uint64_t x68;
1389     uint8_t x69;
1390     uint64_t x70;
1391     uint8_t x71;
1392     uint64_t x72;
1393     uint8_t x73;
1394     uint8_t x74;
1395     uint64_t x75;
1396     uint8_t x76;
1397     uint64_t x77;
1398     uint8_t x78;
1399     uint64_t x79;
1400     uint8_t x80;
1401     uint64_t x81;
1402     uint8_t x82;
1403     uint64_t x83;
1404     uint8_t x84;
1405     uint64_t x85;
1406     uint8_t x86;
1407     uint64_t x87;
1408     uint8_t x88;
1409     uint8_t x89;
1410     uint64_t x90;
1411     uint8_t x91;
1412     uint64_t x92;
1413     uint8_t x93;
1414     uint64_t x94;
1415     uint8_t x95;
1416     uint64_t x96;
1417     uint8_t x97;
1418     uint64_t x98;
1419     uint8_t x99;
1420     uint64_t x100;
1421     uint8_t x101;
1422     uint8_t x102;
1423     uint64_t x103;
1424     uint8_t x104;
1425     uint64_t x105;
1426     uint8_t x106;
1427     uint64_t x107;
1428     uint8_t x108;
1429     uint64_t x109;
1430     uint8_t x110;
1431     uint64_t x111;
1432     uint8_t x112;
1433     uint64_t x113;
1434     uint8_t x114;
1435     uint8_t x115;
1436     uint8_t x116;
1437     uint64_t x117;
1438     uint8_t x118;
1439     uint64_t x119;
1440     uint8_t x120;
1441     uint64_t x121;
1442     uint8_t x122;
1443     uint64_t x123;
1444     uint8_t x124;
1445     uint64_t x125;
1446     uint8_t x126;
1447     uint8_t x127;
1448     uint64_t x128;
1449     uint8_t x129;
1450     uint64_t x130;
1451     uint8_t x131;
1452     uint64_t x132;
1453     uint8_t x133;
1454     uint64_t x134;
1455     uint8_t x135;
1456     uint64_t x136;
1457     uint8_t x137;
1458     uint64_t x138;
1459     uint8_t x139;
1460     uint8_t x140;
1461     uint64_t x141;
1462     uint8_t x142;
1463     uint64_t x143;
1464     uint8_t x144;
1465     uint64_t x145;
1466     uint8_t x146;
1467     uint64_t x147;
1468     uint8_t x148;
1469     uint64_t x149;
1470     uint8_t x150;
1471     uint64_t x151;
1472     uint8_t x152;
1473     uint64_t x153;
1474     uint8_t x154;
1475     uint8_t x155;
1476     uint64_t x156;
1477     uint8_t x157;
1478     uint64_t x158;
1479     uint8_t x159;
1480     uint64_t x160;
1481     uint8_t x161;
1482     uint64_t x162;
1483     uint8_t x163;
1484     uint64_t x164;
1485     uint8_t x165;
1486     uint64_t x166;
1487     uint8_t x167;
1488     uint8_t x168;
1489     uint64_t x169;
1490     uint8_t x170;
1491     uint64_t x171;
1492     uint8_t x172;
1493     uint64_t x173;
1494     uint8_t x174;
1495     uint64_t x175;
1496     uint8_t x176;
1497     uint64_t x177;
1498     uint8_t x178;
1499     uint64_t x179;
1500     uint8_t x180;
1501     uint8_t x181;
1502     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u52(
1503         &x1, &x2, 0x0, (arg1[0]), UINT64_C(0xffffffffffdc7));
1504     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u51(
1505         &x3, &x4, x2, (arg1[1]), UINT64_C(0x7ffffffffffff));
1506     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u51(
1507         &x5, &x6, x4, (arg1[2]), UINT64_C(0x7ffffffffffff));
1508     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u51(
1509         &x7, &x8, x6, (arg1[3]), UINT64_C(0x7ffffffffffff));
1510     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u51(
1511         &x9, &x10, x8, (arg1[4]), UINT64_C(0x7ffffffffffff));
1512     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u52(
1513         &x11, &x12, x10, (arg1[5]), UINT64_C(0xfffffffffffff));
1514     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u51(
1515         &x13, &x14, x12, (arg1[6]), UINT64_C(0x7ffffffffffff));
1516     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u51(
1517         &x15, &x16, x14, (arg1[7]), UINT64_C(0x7ffffffffffff));
1518     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u51(
1519         &x17, &x18, x16, (arg1[8]), UINT64_C(0x7ffffffffffff));
1520     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u51(
1521         &x19, &x20, x18, (arg1[9]), UINT64_C(0x7ffffffffffff));
1522     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(
1523         &x21, x20, 0x0, UINT64_C(0xffffffffffffffff));
1524     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u52(
1525         &x22, &x23, 0x0, x1, (x21 & UINT64_C(0xffffffffffdc7)));
1526     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u51(
1527         &x24, &x25, x23, x3, (x21 & UINT64_C(0x7ffffffffffff)));
1528     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u51(
1529         &x26, &x27, x25, x5, (x21 & UINT64_C(0x7ffffffffffff)));
1530     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u51(
1531         &x28, &x29, x27, x7, (x21 & UINT64_C(0x7ffffffffffff)));
1532     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u51(
1533         &x30, &x31, x29, x9, (x21 & UINT64_C(0x7ffffffffffff)));
1534     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u52(
1535         &x32, &x33, x31, x11, (x21 & UINT64_C(0xfffffffffffff)));
1536     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u51(
1537         &x34, &x35, x33, x13, (x21 & UINT64_C(0x7ffffffffffff)));
1538     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u51(
1539         &x36, &x37, x35, x15, (x21 & UINT64_C(0x7ffffffffffff)));
1540     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u51(
1541         &x38, &x39, x37, x17, (x21 & UINT64_C(0x7ffffffffffff)));
1542     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u51(
1543         &x40, &x41, x39, x19, (x21 & UINT64_C(0x7ffffffffffff)));
1544     x42 = (x40 << 5);
1545     x43 = (x38 << 2);
1546     x44 = (x36 << 7);
1547     x45 = (x34 << 4);
1548     x46 = (x30 << 5);
1549     x47 = (x28 << 2);
1550     x48 = (x26 << 7);
1551     x49 = (x24 << 4);
1552     x50 = (uint8_t)(x22 & UINT8_C(0xff));
1553     x51 = (x22 >> 8);
1554     x52 = (uint8_t)(x51 & UINT8_C(0xff));
1555     x53 = (x51 >> 8);
1556     x54 = (uint8_t)(x53 & UINT8_C(0xff));
1557     x55 = (x53 >> 8);
1558     x56 = (uint8_t)(x55 & UINT8_C(0xff));
1559     x57 = (x55 >> 8);
1560     x58 = (uint8_t)(x57 & UINT8_C(0xff));
1561     x59 = (x57 >> 8);
1562     x60 = (uint8_t)(x59 & UINT8_C(0xff));
1563     x61 = (uint8_t)(x59 >> 8);
1564     x62 = (x49 + (uint64_t)x61);
1565     x63 = (uint8_t)(x62 & UINT8_C(0xff));
1566     x64 = (x62 >> 8);
1567     x65 = (uint8_t)(x64 & UINT8_C(0xff));
1568     x66 = (x64 >> 8);
1569     x67 = (uint8_t)(x66 & UINT8_C(0xff));
1570     x68 = (x66 >> 8);
1571     x69 = (uint8_t)(x68 & UINT8_C(0xff));
1572     x70 = (x68 >> 8);
1573     x71 = (uint8_t)(x70 & UINT8_C(0xff));
1574     x72 = (x70 >> 8);
1575     x73 = (uint8_t)(x72 & UINT8_C(0xff));
1576     x74 = (uint8_t)(x72 >> 8);
1577     x75 = (x48 + (uint64_t)x74);
1578     x76 = (uint8_t)(x75 & UINT8_C(0xff));
1579     x77 = (x75 >> 8);
1580     x78 = (uint8_t)(x77 & UINT8_C(0xff));
1581     x79 = (x77 >> 8);
1582     x80 = (uint8_t)(x79 & UINT8_C(0xff));
1583     x81 = (x79 >> 8);
1584     x82 = (uint8_t)(x81 & UINT8_C(0xff));
1585     x83 = (x81 >> 8);
1586     x84 = (uint8_t)(x83 & UINT8_C(0xff));
1587     x85 = (x83 >> 8);
1588     x86 = (uint8_t)(x85 & UINT8_C(0xff));
1589     x87 = (x85 >> 8);
1590     x88 = (uint8_t)(x87 & UINT8_C(0xff));
1591     x89 = (uint8_t)(x87 >> 8);
1592     x90 = (x47 + (uint64_t)x89);
1593     x91 = (uint8_t)(x90 & UINT8_C(0xff));
1594     x92 = (x90 >> 8);
1595     x93 = (uint8_t)(x92 & UINT8_C(0xff));
1596     x94 = (x92 >> 8);
1597     x95 = (uint8_t)(x94 & UINT8_C(0xff));
1598     x96 = (x94 >> 8);
1599     x97 = (uint8_t)(x96 & UINT8_C(0xff));
1600     x98 = (x96 >> 8);
1601     x99 = (uint8_t)(x98 & UINT8_C(0xff));
1602     x100 = (x98 >> 8);
1603     x101 = (uint8_t)(x100 & UINT8_C(0xff));
1604     x102 = (uint8_t)(x100 >> 8);
1605     x103 = (x46 + (uint64_t)x102);
1606     x104 = (uint8_t)(x103 & UINT8_C(0xff));
1607     x105 = (x103 >> 8);
1608     x106 = (uint8_t)(x105 & UINT8_C(0xff));
1609     x107 = (x105 >> 8);
1610     x108 = (uint8_t)(x107 & UINT8_C(0xff));
1611     x109 = (x107 >> 8);
1612     x110 = (uint8_t)(x109 & UINT8_C(0xff));
1613     x111 = (x109 >> 8);
1614     x112 = (uint8_t)(x111 & UINT8_C(0xff));
1615     x113 = (x111 >> 8);
1616     x114 = (uint8_t)(x113 & UINT8_C(0xff));
1617     x115 = (uint8_t)(x113 >> 8);
1618     x116 = (uint8_t)(x32 & UINT8_C(0xff));
1619     x117 = (x32 >> 8);
1620     x118 = (uint8_t)(x117 & UINT8_C(0xff));
1621     x119 = (x117 >> 8);
1622     x120 = (uint8_t)(x119 & UINT8_C(0xff));
1623     x121 = (x119 >> 8);
1624     x122 = (uint8_t)(x121 & UINT8_C(0xff));
1625     x123 = (x121 >> 8);
1626     x124 = (uint8_t)(x123 & UINT8_C(0xff));
1627     x125 = (x123 >> 8);
1628     x126 = (uint8_t)(x125 & UINT8_C(0xff));
1629     x127 = (uint8_t)(x125 >> 8);
1630     x128 = (x45 + (uint64_t)x127);
1631     x129 = (uint8_t)(x128 & UINT8_C(0xff));
1632     x130 = (x128 >> 8);
1633     x131 = (uint8_t)(x130 & UINT8_C(0xff));
1634     x132 = (x130 >> 8);
1635     x133 = (uint8_t)(x132 & UINT8_C(0xff));
1636     x134 = (x132 >> 8);
1637     x135 = (uint8_t)(x134 & UINT8_C(0xff));
1638     x136 = (x134 >> 8);
1639     x137 = (uint8_t)(x136 & UINT8_C(0xff));
1640     x138 = (x136 >> 8);
1641     x139 = (uint8_t)(x138 & UINT8_C(0xff));
1642     x140 = (uint8_t)(x138 >> 8);
1643     x141 = (x44 + (uint64_t)x140);
1644     x142 = (uint8_t)(x141 & UINT8_C(0xff));
1645     x143 = (x141 >> 8);
1646     x144 = (uint8_t)(x143 & UINT8_C(0xff));
1647     x145 = (x143 >> 8);
1648     x146 = (uint8_t)(x145 & UINT8_C(0xff));
1649     x147 = (x145 >> 8);
1650     x148 = (uint8_t)(x147 & UINT8_C(0xff));
1651     x149 = (x147 >> 8);
1652     x150 = (uint8_t)(x149 & UINT8_C(0xff));
1653     x151 = (x149 >> 8);
1654     x152 = (uint8_t)(x151 & UINT8_C(0xff));
1655     x153 = (x151 >> 8);
1656     x154 = (uint8_t)(x153 & UINT8_C(0xff));
1657     x155 = (uint8_t)(x153 >> 8);
1658     x156 = (x43 + (uint64_t)x155);
1659     x157 = (uint8_t)(x156 & UINT8_C(0xff));
1660     x158 = (x156 >> 8);
1661     x159 = (uint8_t)(x158 & UINT8_C(0xff));
1662     x160 = (x158 >> 8);
1663     x161 = (uint8_t)(x160 & UINT8_C(0xff));
1664     x162 = (x160 >> 8);
1665     x163 = (uint8_t)(x162 & UINT8_C(0xff));
1666     x164 = (x162 >> 8);
1667     x165 = (uint8_t)(x164 & UINT8_C(0xff));
1668     x166 = (x164 >> 8);
1669     x167 = (uint8_t)(x166 & UINT8_C(0xff));
1670     x168 = (uint8_t)(x166 >> 8);
1671     x169 = (x42 + (uint64_t)x168);
1672     x170 = (uint8_t)(x169 & UINT8_C(0xff));
1673     x171 = (x169 >> 8);
1674     x172 = (uint8_t)(x171 & UINT8_C(0xff));
1675     x173 = (x171 >> 8);
1676     x174 = (uint8_t)(x173 & UINT8_C(0xff));
1677     x175 = (x173 >> 8);
1678     x176 = (uint8_t)(x175 & UINT8_C(0xff));
1679     x177 = (x175 >> 8);
1680     x178 = (uint8_t)(x177 & UINT8_C(0xff));
1681     x179 = (x177 >> 8);
1682     x180 = (uint8_t)(x179 & UINT8_C(0xff));
1683     x181 = (uint8_t)(x179 >> 8);
1684     out1[0] = x50;
1685     out1[1] = x52;
1686     out1[2] = x54;
1687     out1[3] = x56;
1688     out1[4] = x58;
1689     out1[5] = x60;
1690     out1[6] = x63;
1691     out1[7] = x65;
1692     out1[8] = x67;
1693     out1[9] = x69;
1694     out1[10] = x71;
1695     out1[11] = x73;
1696     out1[12] = x76;
1697     out1[13] = x78;
1698     out1[14] = x80;
1699     out1[15] = x82;
1700     out1[16] = x84;
1701     out1[17] = x86;
1702     out1[18] = x88;
1703     out1[19] = x91;
1704     out1[20] = x93;
1705     out1[21] = x95;
1706     out1[22] = x97;
1707     out1[23] = x99;
1708     out1[24] = x101;
1709     out1[25] = x104;
1710     out1[26] = x106;
1711     out1[27] = x108;
1712     out1[28] = x110;
1713     out1[29] = x112;
1714     out1[30] = x114;
1715     out1[31] = x115;
1716     out1[32] = x116;
1717     out1[33] = x118;
1718     out1[34] = x120;
1719     out1[35] = x122;
1720     out1[36] = x124;
1721     out1[37] = x126;
1722     out1[38] = x129;
1723     out1[39] = x131;
1724     out1[40] = x133;
1725     out1[41] = x135;
1726     out1[42] = x137;
1727     out1[43] = x139;
1728     out1[44] = x142;
1729     out1[45] = x144;
1730     out1[46] = x146;
1731     out1[47] = x148;
1732     out1[48] = x150;
1733     out1[49] = x152;
1734     out1[50] = x154;
1735     out1[51] = x157;
1736     out1[52] = x159;
1737     out1[53] = x161;
1738     out1[54] = x163;
1739     out1[55] = x165;
1740     out1[56] = x167;
1741     out1[57] = x170;
1742     out1[58] = x172;
1743     out1[59] = x174;
1744     out1[60] = x176;
1745     out1[61] = x178;
1746     out1[62] = x180;
1747     out1[63] = x181;
1748 }
1749
1750 /*
1751  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes deserializes a field element from bytes in little-endian order.
1752  * Postconditions:
1753  *   eval out1 mod m = bytes_eval arg1 mod m
1754  *
1755  * Input Bounds:
1756  *   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]]
1757  * Output Bounds:
1758  *   out1: [[0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x10000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000], [0x0 ~> 0x8000000000000]]
1759  */
1760 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes(
1761     uint64_t out1[10], const uint8_t arg1[64]) {
1762     uint64_t x1;
1763     uint64_t x2;
1764     uint64_t x3;
1765     uint64_t x4;
1766     uint64_t x5;
1767     uint64_t x6;
1768     uint64_t x7;
1769     uint64_t x8;
1770     uint64_t x9;
1771     uint64_t x10;
1772     uint64_t x11;
1773     uint64_t x12;
1774     uint64_t x13;
1775     uint64_t x14;
1776     uint64_t x15;
1777     uint64_t x16;
1778     uint64_t x17;
1779     uint64_t x18;
1780     uint64_t x19;
1781     uint64_t x20;
1782     uint64_t x21;
1783     uint64_t x22;
1784     uint64_t x23;
1785     uint64_t x24;
1786     uint64_t x25;
1787     uint64_t x26;
1788     uint64_t x27;
1789     uint64_t x28;
1790     uint64_t x29;
1791     uint64_t x30;
1792     uint64_t x31;
1793     uint8_t x32;
1794     uint64_t x33;
1795     uint64_t x34;
1796     uint64_t x35;
1797     uint64_t x36;
1798     uint64_t x37;
1799     uint64_t x38;
1800     uint64_t x39;
1801     uint64_t x40;
1802     uint64_t x41;
1803     uint64_t x42;
1804     uint64_t x43;
1805     uint64_t x44;
1806     uint64_t x45;
1807     uint64_t x46;
1808     uint64_t x47;
1809     uint64_t x48;
1810     uint64_t x49;
1811     uint64_t x50;
1812     uint64_t x51;
1813     uint64_t x52;
1814     uint64_t x53;
1815     uint64_t x54;
1816     uint64_t x55;
1817     uint64_t x56;
1818     uint64_t x57;
1819     uint64_t x58;
1820     uint64_t x59;
1821     uint64_t x60;
1822     uint64_t x61;
1823     uint64_t x62;
1824     uint64_t x63;
1825     uint8_t x64;
1826     uint64_t x65;
1827     uint64_t x66;
1828     uint64_t x67;
1829     uint64_t x68;
1830     uint64_t x69;
1831     uint64_t x70;
1832     uint64_t x71;
1833     uint8_t x72;
1834     uint64_t x73;
1835     uint64_t x74;
1836     uint64_t x75;
1837     uint64_t x76;
1838     uint64_t x77;
1839     uint64_t x78;
1840     uint64_t x79;
1841     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x80;
1842     uint64_t x81;
1843     uint64_t x82;
1844     uint64_t x83;
1845     uint64_t x84;
1846     uint64_t x85;
1847     uint64_t x86;
1848     uint64_t x87;
1849     uint64_t x88;
1850     uint8_t x89;
1851     uint64_t x90;
1852     uint64_t x91;
1853     uint64_t x92;
1854     uint64_t x93;
1855     uint64_t x94;
1856     uint64_t x95;
1857     uint64_t x96;
1858     uint8_t x97;
1859     uint64_t x98;
1860     uint64_t x99;
1861     uint64_t x100;
1862     uint64_t x101;
1863     uint64_t x102;
1864     uint64_t x103;
1865     uint64_t x104;
1866     uint64_t x105;
1867     uint64_t x106;
1868     uint64_t x107;
1869     uint64_t x108;
1870     uint64_t x109;
1871     uint64_t x110;
1872     uint8_t x111;
1873     uint64_t x112;
1874     uint64_t x113;
1875     uint64_t x114;
1876     uint64_t x115;
1877     uint64_t x116;
1878     uint64_t x117;
1879     uint64_t x118;
1880     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x119;
1881     uint64_t x120;
1882     uint64_t x121;
1883     uint64_t x122;
1884     uint64_t x123;
1885     uint64_t x124;
1886     uint64_t x125;
1887     uint64_t x126;
1888     uint64_t x127;
1889     uint8_t x128;
1890     uint64_t x129;
1891     uint64_t x130;
1892     uint64_t x131;
1893     uint64_t x132;
1894     uint64_t x133;
1895     uint64_t x134;
1896     uint64_t x135;
1897     uint8_t x136;
1898     uint64_t x137;
1899     uint64_t x138;
1900     uint64_t x139;
1901     uint64_t x140;
1902     uint64_t x141;
1903     uint64_t x142;
1904     x1 = ((uint64_t)(arg1[63]) << 43);
1905     x2 = ((uint64_t)(arg1[62]) << 35);
1906     x3 = ((uint64_t)(arg1[61]) << 27);
1907     x4 = ((uint64_t)(arg1[60]) << 19);
1908     x5 = ((uint64_t)(arg1[59]) << 11);
1909     x6 = ((uint64_t)(arg1[58]) << 3);
1910     x7 = ((uint64_t)(arg1[57]) << 46);
1911     x8 = ((uint64_t)(arg1[56]) << 38);
1912     x9 = ((uint64_t)(arg1[55]) << 30);
1913     x10 = ((uint64_t)(arg1[54]) << 22);
1914     x11 = ((uint64_t)(arg1[53]) << 14);
1915     x12 = ((uint64_t)(arg1[52]) << 6);
1916     x13 = ((uint64_t)(arg1[51]) << 49);
1917     x14 = ((uint64_t)(arg1[50]) << 41);
1918     x15 = ((uint64_t)(arg1[49]) << 33);
1919     x16 = ((uint64_t)(arg1[48]) << 25);
1920     x17 = ((uint64_t)(arg1[47]) << 17);
1921     x18 = ((uint64_t)(arg1[46]) << 9);
1922     x19 = ((uint64_t)(arg1[45]) * 0x2);
1923     x20 = ((uint64_t)(arg1[44]) << 44);
1924     x21 = ((uint64_t)(arg1[43]) << 36);
1925     x22 = ((uint64_t)(arg1[42]) << 28);
1926     x23 = ((uint64_t)(arg1[41]) << 20);
1927     x24 = ((uint64_t)(arg1[40]) << 12);
1928     x25 = ((uint64_t)(arg1[39]) << 4);
1929     x26 = ((uint64_t)(arg1[38]) << 48);
1930     x27 = ((uint64_t)(arg1[37]) << 40);
1931     x28 = ((uint64_t)(arg1[36]) << 32);
1932     x29 = ((uint64_t)(arg1[35]) << 24);
1933     x30 = ((uint64_t)(arg1[34]) << 16);
1934     x31 = ((uint64_t)(arg1[33]) << 8);
1935     x32 = (arg1[32]);
1936     x33 = ((uint64_t)(arg1[31]) << 43);
1937     x34 = ((uint64_t)(arg1[30]) << 35);
1938     x35 = ((uint64_t)(arg1[29]) << 27);
1939     x36 = ((uint64_t)(arg1[28]) << 19);
1940     x37 = ((uint64_t)(arg1[27]) << 11);
1941     x38 = ((uint64_t)(arg1[26]) << 3);
1942     x39 = ((uint64_t)(arg1[25]) << 46);
1943     x40 = ((uint64_t)(arg1[24]) << 38);
1944     x41 = ((uint64_t)(arg1[23]) << 30);
1945     x42 = ((uint64_t)(arg1[22]) << 22);
1946     x43 = ((uint64_t)(arg1[21]) << 14);
1947     x44 = ((uint64_t)(arg1[20]) << 6);
1948     x45 = ((uint64_t)(arg1[19]) << 49);
1949     x46 = ((uint64_t)(arg1[18]) << 41);
1950     x47 = ((uint64_t)(arg1[17]) << 33);
1951     x48 = ((uint64_t)(arg1[16]) << 25);
1952     x49 = ((uint64_t)(arg1[15]) << 17);
1953     x50 = ((uint64_t)(arg1[14]) << 9);
1954     x51 = ((uint64_t)(arg1[13]) * 0x2);
1955     x52 = ((uint64_t)(arg1[12]) << 44);
1956     x53 = ((uint64_t)(arg1[11]) << 36);
1957     x54 = ((uint64_t)(arg1[10]) << 28);
1958     x55 = ((uint64_t)(arg1[9]) << 20);
1959     x56 = ((uint64_t)(arg1[8]) << 12);
1960     x57 = ((uint64_t)(arg1[7]) << 4);
1961     x58 = ((uint64_t)(arg1[6]) << 48);
1962     x59 = ((uint64_t)(arg1[5]) << 40);
1963     x60 = ((uint64_t)(arg1[4]) << 32);
1964     x61 = ((uint64_t)(arg1[3]) << 24);
1965     x62 = ((uint64_t)(arg1[2]) << 16);
1966     x63 = ((uint64_t)(arg1[1]) << 8);
1967     x64 = (arg1[0]);
1968     x65 = (x63 + (uint64_t)x64);
1969     x66 = (x62 + x65);
1970     x67 = (x61 + x66);
1971     x68 = (x60 + x67);
1972     x69 = (x59 + x68);
1973     x70 = (x58 + x69);
1974     x71 = (x70 & UINT64_C(0xfffffffffffff));
1975     x72 = (uint8_t)(x70 >> 52);
1976     x73 = (x57 + (uint64_t)x72);
1977     x74 = (x56 + x73);
1978     x75 = (x55 + x74);
1979     x76 = (x54 + x75);
1980     x77 = (x53 + x76);
1981     x78 = (x52 + x77);
1982     x79 = (x78 & UINT64_C(0x7ffffffffffff));
1983     x80 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x78 >> 51);
1984     x81 = (x51 + (uint64_t)x80);
1985     x82 = (x50 + x81);
1986     x83 = (x49 + x82);
1987     x84 = (x48 + x83);
1988     x85 = (x47 + x84);
1989     x86 = (x46 + x85);
1990     x87 = (x45 + x86);
1991     x88 = (x87 & UINT64_C(0x7ffffffffffff));
1992     x89 = (uint8_t)(x87 >> 51);
1993     x90 = (x44 + (uint64_t)x89);
1994     x91 = (x43 + x90);
1995     x92 = (x42 + x91);
1996     x93 = (x41 + x92);
1997     x94 = (x40 + x93);
1998     x95 = (x39 + x94);
1999     x96 = (x95 & UINT64_C(0x7ffffffffffff));
2000     x97 = (uint8_t)(x95 >> 51);
2001     x98 = (x38 + (uint64_t)x97);
2002     x99 = (x37 + x98);
2003     x100 = (x36 + x99);
2004     x101 = (x35 + x100);
2005     x102 = (x34 + x101);
2006     x103 = (x33 + x102);
2007     x104 = (x31 + (uint64_t)x32);
2008     x105 = (x30 + x104);
2009     x106 = (x29 + x105);
2010     x107 = (x28 + x106);
2011     x108 = (x27 + x107);
2012     x109 = (x26 + x108);
2013     x110 = (x109 & UINT64_C(0xfffffffffffff));
2014     x111 = (uint8_t)(x109 >> 52);
2015     x112 = (x25 + (uint64_t)x111);
2016     x113 = (x24 + x112);
2017     x114 = (x23 + x113);
2018     x115 = (x22 + x114);
2019     x116 = (x21 + x115);
2020     x117 = (x20 + x116);
2021     x118 = (x117 & UINT64_C(0x7ffffffffffff));
2022     x119 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x117 >> 51);
2023     x120 = (x19 + (uint64_t)x119);
2024     x121 = (x18 + x120);
2025     x122 = (x17 + x121);
2026     x123 = (x16 + x122);
2027     x124 = (x15 + x123);
2028     x125 = (x14 + x124);
2029     x126 = (x13 + x125);
2030     x127 = (x126 & UINT64_C(0x7ffffffffffff));
2031     x128 = (uint8_t)(x126 >> 51);
2032     x129 = (x12 + (uint64_t)x128);
2033     x130 = (x11 + x129);
2034     x131 = (x10 + x130);
2035     x132 = (x9 + x131);
2036     x133 = (x8 + x132);
2037     x134 = (x7 + x133);
2038     x135 = (x134 & UINT64_C(0x7ffffffffffff));
2039     x136 = (uint8_t)(x134 >> 51);
2040     x137 = (x6 + (uint64_t)x136);
2041     x138 = (x5 + x137);
2042     x139 = (x4 + x138);
2043     x140 = (x3 + x139);
2044     x141 = (x2 + x140);
2045     x142 = (x1 + x141);
2046     out1[0] = x71;
2047     out1[1] = x79;
2048     out1[2] = x88;
2049     out1[3] = x96;
2050     out1[4] = x103;
2051     out1[5] = x110;
2052     out1[6] = x118;
2053     out1[7] = x127;
2054     out1[8] = x135;
2055     out1[9] = x142;
2056 }
2057
2058 /* END verbatim fiat code */
2059
2060 /*-
2061  * Finite field inversion via FLT.
2062  * NB: this is not a real Fiat function, just named that way for consistency.
2063  * Autogenerated: ecp/id_tc26_gost_3410_2012_512_paramSetC/fe_inv.op3
2064  * custom repunit addition chain
2065  */
2066 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_inv(fe_t output,
2067                                                           const fe_t t1) {
2068     int i;
2069     /* temporary variables */
2070     fe_t acc, t102, t12, t198, t2, t200, t24, t3, t400, t48, t502, t6, t96;
2071
2072     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t1);
2073     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t2, acc, t1);
2074     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t2);
2075     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t3, acc, t1);
2076     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t3);
2077     for (i = 0; i < 2; i++)
2078         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
2079     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t6, acc, t3);
2080     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t6);
2081     for (i = 0; i < 5; i++)
2082         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
2083     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t12, acc, t6);
2084     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t12);
2085     for (i = 0; i < 11; i++)
2086         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
2087     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t24, acc, t12);
2088     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t24);
2089     for (i = 0; i < 23; i++)
2090         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
2091     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t48, acc, t24);
2092     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t48);
2093     for (i = 0; i < 47; i++)
2094         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
2095     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t96, acc, t48);
2096     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t96);
2097     for (i = 0; i < 5; i++)
2098         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
2099     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t102, acc, t6);
2100     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t102);
2101     for (i = 0; i < 95; i++)
2102         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
2103     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t198, acc, t96);
2104     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t198);
2105     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
2106     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t200, acc, t2);
2107     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t200);
2108     for (i = 0; i < 199; i++)
2109         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
2110     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t400, acc, t200);
2111     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t400);
2112     for (i = 0; i < 101; i++)
2113         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
2114     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t502, acc, t102);
2115     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t502);
2116     for (i = 0; i < 3; i++)
2117         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
2118     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(acc, acc, t3);
2119     for (i = 0; i < 4; i++)
2120         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
2121     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(acc, acc, t1);
2122     for (i = 0; i < 2; i++)
2123         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
2124     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(output, acc, t1);
2125 }
2126
2127 /* curve coefficient constants */
2128
2129 static const limb_t const_one[10] = {
2130     UINT64_C(0x0000000000000001), UINT64_C(0x0000000000000000),
2131     UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000),
2132     UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000),
2133     UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000),
2134     UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000)};
2135
2136 static const limb_t const_d[10] = {
2137     UINT64_C(0x00002DBB33EE7550), UINT64_C(0x00042BC2A22B4CA3),
2138     UINT64_C(0x00073C6D3D23419F), UINT64_C(0x0001ACC138B390F9),
2139     UINT64_C(0x0005359CF0528AE0), UINT64_C(0x0008A0621050439C),
2140     UINT64_C(0x00054198E31EBDE2), UINT64_C(0x0006B7FC9B56805A),
2141     UINT64_C(0x000367C4E973CF37), UINT64_C(0x0004F27AEC600BEC)};
2142
2143 static const limb_t const_S[10] = {
2144     UINT64_C(0x0003F4913304621E), UINT64_C(0x0000F50F57752CD7),
2145     UINT64_C(0x000430E4B0B72F98), UINT64_C(0x000794CFB1D31BC1),
2146     UINT64_C(0x0006B298C3EB5D47), UINT64_C(0x0005D7E77BEBEF18),
2147     UINT64_C(0x0002AF99C7385087), UINT64_C(0x00005200D92A5FE9),
2148     UINT64_C(0x0007260EC5A30C32), UINT64_C(0x0000C36144E7FD04)};
2149
2150 static const limb_t const_T[10] = {
2151     UINT64_C(0x0002B249DDFD1271), UINT64_C(0x0004B1F5C5B1E21B),
2152     UINT64_C(0x00028A1234DB359A), UINT64_C(0x00004775897342D4),
2153     UINT64_C(0x0006339A280DC1D0), UINT64_C(0x000C1ABB02B80B44),
2154     UINT64_C(0x00038AEED0851FA5), UINT64_C(0x000273FF6F391564),
2155     UINT64_C(0x00033BF626E8A289), UINT64_C(0x0004D3147CBAACA7)};
2156
2157 /* LUT for scalar multiplication by comb interleaving */
2158 static const pt_aff_t lut_cmb[8][16] = {
2159     {
2160         {{UINT64_C(0x0000000000000012), UINT64_C(0x0000000000000000),
2161           UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000),
2162           UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000),
2163           UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000),
2164           UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000)},
2165          {UINT64_C(0x000303EE73001A3D), UINT64_C(0x000404B2BAAE7600),
2166           UINT64_C(0x00072E65E120AC45), UINT64_C(0x00027BAFC1A31744),
2167           UINT64_C(0x000116EA5B2867BC), UINT64_C(0x0006117F7B386695),
2168           UINT64_C(0x000501794368D9A5), UINT64_C(0x0007403C541FBF61),
2169           UINT64_C(0x0005785AE6564ADD), UINT64_C(0x000234D7BCE8FD8F)},
2170          {UINT64_C(0x000646C41601E12E), UINT64_C(0x0000549120444C03),
2171           UINT64_C(0x00014329D44C1CE3), UINT64_C(0x0004B25B9D77A2D8),
2172           UINT64_C(0x00039C7A68D74B3D), UINT64_C(0x000D3AF6A9F7367C),
2173           UINT64_C(0x00021A86BD5F4DA0), UINT64_C(0x0002843DEA3B74DD),
2174           UINT64_C(0x000276643211439A), UINT64_C(0x0007B72B4861D41A)}},
2175         {{UINT64_C(0x000DDC3263F14838), UINT64_C(0x0001CBD1F17B2BCB),
2176           UINT64_C(0x0002BAFA22A82009), UINT64_C(0x0005322387667A03),
2177           UINT64_C(0x00055B751CB96A65), UINT64_C(0x000A0DFD0340FDE7),
2178           UINT64_C(0x0005C48FB27C4503), UINT64_C(0x000268CD738A33D9),
2179           UINT64_C(0x0001B2D195DC6145), UINT64_C(0x00006EA96DB2EACC)},
2180          {UINT64_C(0x000BBCD609E2FF0C), UINT64_C(0x0005F4AE7E31E8D1),
2181           UINT64_C(0x000360BD6E15CC1F), UINT64_C(0x000409CF3A7414FB),
2182           UINT64_C(0x00031EE2AD0268C7), UINT64_C(0x0005CB4FB4D93FBB),
2183           UINT64_C(0x0003CADF6924D45D), UINT64_C(0x0001C5874E363854),
2184           UINT64_C(0x00037EFA0AF03B97), UINT64_C(0x00001148D12E29B3)},
2185          {UINT64_C(0x000E0DB54C224325), UINT64_C(0x00010454C4B66E25),
2186           UINT64_C(0x000648D062587B3B), UINT64_C(0x0003D2EE25796057),
2187           UINT64_C(0x00004BB47D7FDE7C), UINT64_C(0x000244DB1E9D557B),
2188           UINT64_C(0x0006BE33D5802F21), UINT64_C(0x00042132C57B6D1F),
2189           UINT64_C(0x0003D487A5698542), UINT64_C(0x0007C1540EB060D1)}},
2190         {{UINT64_C(0x00079342FE30B9C8), UINT64_C(0x00041A8C6FF7B725),
2191           UINT64_C(0x00075CAE2380D311), UINT64_C(0x00038F8B24FD7BC3),
2192           UINT64_C(0x0004844218778181), UINT64_C(0x000C42D63D57509A),
2193           UINT64_C(0x000535D988A70AAF), UINT64_C(0x0001A3FD38C3746A),
2194           UINT64_C(0x0001E914A2CBA533), UINT64_C(0x0004D2080711F2B0)},
2195          {UINT64_C(0x0009F2BA98B41E21), UINT64_C(0x000615CCDD4A12CF),
2196           UINT64_C(0x0003EE0BB3543CA8), UINT64_C(0x00015A62A2476E14),
2197           UINT64_C(0x00061C939A6ECEDD), UINT64_C(0x000BE481A4C0C342),
2198           UINT64_C(0x000795DEC470D8C2), UINT64_C(0x0000ABE2CB782E96),
2199           UINT64_C(0x0007A7D6BF78D7EE), UINT64_C(0x0004E3A1B9FC9045)},
2200          {UINT64_C(0x000BAEA9645E541E), UINT64_C(0x0002D492585BA0C5),
2201           UINT64_C(0x000114FE72026DC5), UINT64_C(0x00053A929E20E410),
2202           UINT64_C(0x00060E85CF97390E), UINT64_C(0x0007D39ADBD8478A),
2203           UINT64_C(0x0002063C667C0601), UINT64_C(0x000742C442708702),
2204           UINT64_C(0x0000A2426FB29578), UINT64_C(0x00048CBFCAE1F773)}},
2205         {{UINT64_C(0x000A0BBFED323C86), UINT64_C(0x0006F7539EA3736E),
2206           UINT64_C(0x0005DF9B59EA30BF), UINT64_C(0x0005D9C303700CA0),
2207           UINT64_C(0x0001AB39B96006A3), UINT64_C(0x000D38FB4C2CE047),
2208           UINT64_C(0x0004257F3B363F21), UINT64_C(0x00018E0BAF6472A8),
2209           UINT64_C(0x000483ACD523D9F5), UINT64_C(0x00036FACA6C25759)},
2210          {UINT64_C(0x000231905C4CD0FD), UINT64_C(0x00016CA0261FB96E),
2211           UINT64_C(0x00031D0ECAC833D3), UINT64_C(0x0003E05643F857D5),
2212           UINT64_C(0x000040F272FCC47D), UINT64_C(0x00067E5354B2A5B5),
2213           UINT64_C(0x0000AE3CF45E8B10), UINT64_C(0x000599F3DD49B217),
2214           UINT64_C(0x000626891D86B28E), UINT64_C(0x0003E3F07489D3C0)},
2215          {UINT64_C(0x000C646BFDF7F340), UINT64_C(0x0001913CBD57D3CE),
2216           UINT64_C(0x00004B9386B4B830), UINT64_C(0x0007C9304B89B5D0),
2217           UINT64_C(0x00007520EC2D81FB), UINT64_C(0x0000D50731E5F0DF),
2218           UINT64_C(0x0006129D0F7AD03D), UINT64_C(0x0002FA03D5A61196),
2219           UINT64_C(0x0001A9011556D653), UINT64_C(0x0002A7D6F6C7BDB0)}},
2220         {{UINT64_C(0x00061D011098A411), UINT64_C(0x000260BCC6C7F863),
2221           UINT64_C(0x0000E1117CD19373), UINT64_C(0x0004B68FE728DDED),
2222           UINT64_C(0x0002AA52ACFB998D), UINT64_C(0x00015AD84E849B1A),
2223           UINT64_C(0x0002CBCDF89B3EA6), UINT64_C(0x00067ABD295869C6),
2224           UINT64_C(0x0000C524BC70CA4A), UINT64_C(0x0004C62E5FE7557E)},
2225          {UINT64_C(0x0007CFBEC39A14E2), UINT64_C(0x000626369976E030),
2226           UINT64_C(0x00032365D9DEE36F), UINT64_C(0x000734EC026C36B6),
2227           UINT64_C(0x00075F2357A20A57), UINT64_C(0x0006C63528ED47F5),
2228           UINT64_C(0x0000E985E6F0FA99), UINT64_C(0x00059351FE01E099),
2229           UINT64_C(0x0002C483F70283A2), UINT64_C(0x0004E1A30B241A78)},
2230          {UINT64_C(0x0003579D4EB3F8B7), UINT64_C(0x000127186D359C4A),
2231           UINT64_C(0x000625FBDA161934), UINT64_C(0x000786DE6F454C06),
2232           UINT64_C(0x00032BA63340A9DB), UINT64_C(0x0000CC026D945494),
2233           UINT64_C(0x000079206668566B), UINT64_C(0x00046E3529640A46),
2234           UINT64_C(0x000533DFE4808D98), UINT64_C(0x0001202AEF1AA871)}},
2235         {{UINT64_C(0x000D5A034C320711), UINT64_C(0x00046D5DEC9CBE0A),
2236           UINT64_C(0x0002FD14714E2D8B), UINT64_C(0x00071E0CE392B781),
2237           UINT64_C(0x0006EE842039DCC6), UINT64_C(0x0002AFE7EEFBE82E),
2238           UINT64_C(0x0001706CA91CE495), UINT64_C(0x0005B0F58587732F),
2239           UINT64_C(0x0003BA85FDED0A5B), UINT64_C(0x00054CEBB3898127)},
2240          {UINT64_C(0x000A6C4C3C22D5DC), UINT64_C(0x0003FD092008F2AF),
2241           UINT64_C(0x000678C1C38BE060), UINT64_C(0x00029494E571D7ED),
2242           UINT64_C(0x000679B640BD621E), UINT64_C(0x000E89487D97914B),
2243           UINT64_C(0x0003B91C01A032CB), UINT64_C(0x0005715AFC07377B),
2244           UINT64_C(0x0006AB64B7814DA4), UINT64_C(0x0005E7734E1241FA)},
2245          {UINT64_C(0x000EBC29D557AFE2), UINT64_C(0x00015EA9E492702C),
2246           UINT64_C(0x00039B8FF4CB3E25), UINT64_C(0x0005D3DA87AD6898),
2247           UINT64_C(0x0001B20F6958F437), UINT64_C(0x000FE179ED072875),
2248           UINT64_C(0x0003299FC0106D8A), UINT64_C(0x00063AB8C98927F6),
2249           UINT64_C(0x0004425DDEB4A8FE), UINT64_C(0x00021FCE1531E24E)}},
2250         {{UINT64_C(0x0007745E07BBFFEF), UINT64_C(0x0007125991A3183C),
2251           UINT64_C(0x000288F58C85404B), UINT64_C(0x0005F0E01F988465),
2252           UINT64_C(0x00058A085EA50075), UINT64_C(0x00006AB7768A5A2B),
2253           UINT64_C(0x00043ABF68337850), UINT64_C(0x00075B86C98A35FB),
2254           UINT64_C(0x000612842EA8B184), UINT64_C(0x000109A8BB7AB3ED)},
2255          {UINT64_C(0x0004F08D1A6DDAC3), UINT64_C(0x0005B2B420BFE682),
2256           UINT64_C(0x00010DFAF256A129), UINT64_C(0x0001B6CDADBEB8E5),
2257           UINT64_C(0x0006F611F5281A54), UINT64_C(0x000A1B472B862641),
2258           UINT64_C(0x000335A2003B6703), UINT64_C(0x00008AD4CAD5F73B),
2259           UINT64_C(0x0007A0EC3F0E578C), UINT64_C(0x00023141F13E5FA2)},
2260          {UINT64_C(0x0005188CBAD97549), UINT64_C(0x0001F6C5FC0F255B),
2261           UINT64_C(0x00036A526CAC9622), UINT64_C(0x0000BB287D684ADB),
2262           UINT64_C(0x0006F28BF1F5FA01), UINT64_C(0x000D7D8997333372),
2263           UINT64_C(0x000236EF8A6D2653), UINT64_C(0x0000C2BF98DACC6E),
2264           UINT64_C(0x0002FA4352B452E0), UINT64_C(0x00043FDC45864176)}},
2265         {{UINT64_C(0x000EA137F595EE0D), UINT64_C(0x000179D93A5775A9),
2266           UINT64_C(0x0001E0372E081E93), UINT64_C(0x0003A69DAD123CC1),
2267           UINT64_C(0x00025A2C66DE635D), UINT64_C(0x0002EEA6D51CD899),
2268           UINT64_C(0x0003138B80BA676F), UINT64_C(0x000411B2C78B4F07),
2269           UINT64_C(0x0007AAE1E0D50C65), UINT64_C(0x000528F5BDE8B6D3)},
2270          {UINT64_C(0x000D742C7F0B19BD), UINT64_C(0x0006DBF28C91828A),
2271           UINT64_C(0x00076FE332464CA9), UINT64_C(0x0001873DC4EBC9D9),
2272           UINT64_C(0x00014016F9C485A4), UINT64_C(0x000F894AD46EB122),
2273           UINT64_C(0x0006AE2B805EB995), UINT64_C(0x00004C6AF846DDB3),
2274           UINT64_C(0x0004C43621B2FA9D), UINT64_C(0x0001C9C1089132C7)},
2275          {UINT64_C(0x0007B12746972BA5), UINT64_C(0x00010D7707EB91D0),
2276           UINT64_C(0x00057125FEF70465), UINT64_C(0x000722135480EB9A),
2277           UINT64_C(0x000439824482D29B), UINT64_C(0x00019B590375A86B),
2278           UINT64_C(0x000732235FA4483D), UINT64_C(0x00035CD4C74AE3F3),
2279           UINT64_C(0x00076A29C3A22075), UINT64_C(0x0001E3D85B615311)}},
2280         {{UINT64_C(0x0005CCC96BFF3A5F), UINT64_C(0x0001D6DCC8ACE7EF),
2281           UINT64_C(0x0001B8A8497C7E75), UINT64_C(0x0001448EF2271B21),
2282           UINT64_C(0x000469E763024DA6), UINT64_C(0x000C1E4859EDB4E8),
2283           UINT64_C(0x00022B32D11EA0B8), UINT64_C(0x0007833F6716976E),
2284           UINT64_C(0x00056E62E2CC647C), UINT64_C(0x00060A6CC7E8F469)},
2285          {UINT64_C(0x000A5D20AC5EDF20), UINT64_C(0x0006BD1CB9C662A5),
2286           UINT64_C(0x000053F695AD3F0C), UINT64_C(0x0003BB68B21BAC80),
2287           UINT64_C(0x0006FA23083E49C3), UINT64_C(0x000960F58A7F49C4),
2288           UINT64_C(0x000534DF3026534A), UINT64_C(0x00068C4D4E5AFD06),
2289           UINT64_C(0x00003C47E39095B9), UINT64_C(0x000113AD9DE11151)},
2290          {UINT64_C(0x000AD10BAF7B6E7F), UINT64_C(0x0005FBD2F1D1D0A6),
2291           UINT64_C(0x00064E2BF5A74481), UINT64_C(0x00000C9DED412AB9),
2292           UINT64_C(0x0006DF76D2881747), UINT64_C(0x000F68ADE96EFAEE),
2293           UINT64_C(0x0007CF2EE2DD3D95), UINT64_C(0x00029109B2E5028B),
2294           UINT64_C(0x000084C0C872E5AF), UINT64_C(0x00055EF1044EE901)}},
2295         {{UINT64_C(0x0000978CD0735FB2), UINT64_C(0x0000A3B4EC3A861F),
2296           UINT64_C(0x00024123B8F06382), UINT64_C(0x00076C7DAA554F27),
2297           UINT64_C(0x0001B6A5E18D2E6A), UINT64_C(0x000947CC76EF8A46),
2298           UINT64_C(0x0001CA1CA453479A), UINT64_C(0x000072531851597A),
2299           UINT64_C(0x00005962E72A5B9F), UINT64_C(0x00035F4D1AE3ECEF)},
2300          {UINT64_C(0x00063950B57813F3), UINT64_C(0x0003955052095B99),
2301           UINT64_C(0x0000910D0C16F997), UINT64_C(0x0006561C81D19E24),
2302           UINT64_C(0x0005BD32E2B1D2DC), UINT64_C(0x000B1BCFBCC703F8),
2303           UINT64_C(0x00044176746C4650), UINT64_C(0x00025ECF08C32C2B),
2304           UINT64_C(0x00034A09E20BB15C), UINT64_C(0x00059E3EA6051146)},
2305          {UINT64_C(0x0005697698D05E0F), UINT64_C(0x00053B12113E48E9),
2306           UINT64_C(0x0003CCFD3B3F2E28), UINT64_C(0x0003B625F59D23B8),
2307           UINT64_C(0x0005E36ACA4E9712), UINT64_C(0x0003CD4602A4EB25),
2308           UINT64_C(0x0001F0A79E67888A), UINT64_C(0x0001A3BB856644D1),
2309           UINT64_C(0x0007BC8D45D9BE80), UINT64_C(0x000240C74D67C49F)}},
2310         {{UINT64_C(0x000F4AB4ACE9FBFB), UINT64_C(0x0001323C2E448C11),
2311           UINT64_C(0x0007E627CF56EBD6), UINT64_C(0x0000AFD6CA7DE511),
2312           UINT64_C(0x0006DCC97293C201), UINT64_C(0x00045898E21442A0),
2313           UINT64_C(0x0004D8D6616961DB), UINT64_C(0x000120025DFF12D0),
2314           UINT64_C(0x00027486D92674F0), UINT64_C(0x0000E577FD8D1E8D)},
2315          {UINT64_C(0x0008D1FF64347FD3), UINT64_C(0x0000B5503113ECB8),
2316           UINT64_C(0x0006A04E1F0AD932), UINT64_C(0x0005EFDB668B751C),
2317           UINT64_C(0x0007A75A308E95E9), UINT64_C(0x000DE0F991E7DCE0),
2318           UINT64_C(0x0001AC3243FB2D46), UINT64_C(0x0007C4CD25A8CCA1),
2319           UINT64_C(0x00020F39C66C4FB0), UINT64_C(0x00030EF201B6694C)},
2320          {UINT64_C(0x000D02B23C415547), UINT64_C(0x000585D53C64FF35),
2321           UINT64_C(0x0003D4E05329F658), UINT64_C(0x0003E78544910FE9),
2322           UINT64_C(0x000145FA301F1487), UINT64_C(0x00084D749E22B3AC),
2323           UINT64_C(0x0005DB00726E0F27), UINT64_C(0x00049F8B12327E02),
2324           UINT64_C(0x00066FA6FAE6E30F), UINT64_C(0x000148864CA7B024)}},
2325         {{UINT64_C(0x00072DB89831C22E), UINT64_C(0x000212B7A78FBD12),
2326           UINT64_C(0x00021EB595C4F6D8), UINT64_C(0x000230B818D0625E),
2327           UINT64_C(0x000432CEBFBE8326), UINT64_C(0x0005A4237390A4E7),
2328           UINT64_C(0x00048BC4F80E39D8), UINT64_C(0x0002C266EDA08C65),
2329           UINT64_C(0x0003003D1ACFB73A), UINT64_C(0x0003B25FB2316C33)},
2330          {UINT64_C(0x0001309EB03AE17C), UINT64_C(0x0006B7D21F1AC8CA),
2331           UINT64_C(0x00030F22AD66CC64), UINT64_C(0x00068CAE1E8A8AE4),
2332           UINT64_C(0x000036B8E12F02A1), UINT64_C(0x00051A9A31790107),
2333           UINT64_C(0x0002BC64D9C75BC2), UINT64_C(0x00012E0A5E87C678),
2334           UINT64_C(0x0005A6B78E7A5666), UINT64_C(0x0007ADC780A85627)},
2335          {UINT64_C(0x000623C20A48F7FB), UINT64_C(0x00068BD279754B54),
2336           UINT64_C(0x000214146A030D28), UINT64_C(0x0000BCF5046BE3DE),
2337           UINT64_C(0x0007F0B1C26980FD), UINT64_C(0x000E951243CBB013),
2338           UINT64_C(0x0003FEDEE8A79D6A), UINT64_C(0x00037CD9BA1B93CC),
2339           UINT64_C(0x00060FA57A12C244), UINT64_C(0x000342025E288D46)}},
2340         {{UINT64_C(0x00060F5BE50D6219), UINT64_C(0x0004F425F334521F),
2341           UINT64_C(0x000084F4C30F8CB3), UINT64_C(0x0004572CAA850AB6),
2342           UINT64_C(0x0007491416856BB1), UINT64_C(0x000DD438508B179E),
2343           UINT64_C(0x0005AF1DAD1E9061), UINT64_C(0x00072FF71C440602),
2344           UINT64_C(0x000640C33C87D2DD), UINT64_C(0x0006CEED81188498)},
2345          {UINT64_C(0x000EFB091DF854C6), UINT64_C(0x00028A1D31C19FA0),
2346           UINT64_C(0x0002A9A404668E0B), UINT64_C(0x000727F82CC27ACF),
2347           UINT64_C(0x000126282CC527D7), UINT64_C(0x00014FAB2CE4AC32),
2348           UINT64_C(0x0001FAFC4C09B367), UINT64_C(0x000252F0B2B54F3B),
2349           UINT64_C(0x0007E8131BAA6FF5), UINT64_C(0x000517793281415B)},
2350          {UINT64_C(0x000BDEBEB66BDFE8), UINT64_C(0x0002CC5E9E8B6103),
2351           UINT64_C(0x00004B6B392825E5), UINT64_C(0x0002C59B6082CA61),
2352           UINT64_C(0x000540C66BBC2394), UINT64_C(0x0003927DEFBBC62D),
2353           UINT64_C(0x0001F26C16D6387C), UINT64_C(0x000086AB5563FC8E),
2354           UINT64_C(0x00064F3E8C626EBD), UINT64_C(0x0000C841CACA38C0)}},
2355         {{UINT64_C(0x0000A508668F873E), UINT64_C(0x00005FDC5913D7CF),
2356           UINT64_C(0x00077CFFBBDCF5A1), UINT64_C(0x0003F77B2390B8D4),
2357           UINT64_C(0x0005594711779416), UINT64_C(0x0005ADA86CAF4491),
2358           UINT64_C(0x0007F7C714C93E3D), UINT64_C(0x0005186774E545D7),
2359           UINT64_C(0x0002C4325416B617), UINT64_C(0x0002EAF1D8B132CD)},
2360          {UINT64_C(0x000AEBD507E37692), UINT64_C(0x000309A15EAB0693),
2361           UINT64_C(0x0005FF4C2A7A5D05), UINT64_C(0x000218CCB516CA7F),
2362           UINT64_C(0x000091C7C9915F63), UINT64_C(0x00004C73F619E0B9),
2363           UINT64_C(0x00018867BD8D792A), UINT64_C(0x00077DF8951E6F62),
2364           UINT64_C(0x0002FCA92BD5A710), UINT64_C(0x0003DE1F4CB64968)},
2365          {UINT64_C(0x0007D8C68947865A), UINT64_C(0x00035B85E8AF7920),
2366           UINT64_C(0x000138BC855475E9), UINT64_C(0x00065B8343CF3C8E),
2367           UINT64_C(0x00072C46C618D9B0), UINT64_C(0x000DD020C6DF0D12),
2368           UINT64_C(0x000470F00A8FAEE1), UINT64_C(0x0005DAF00E2DC642),
2369           UINT64_C(0x00063930E56AAF60), UINT64_C(0x000286F9B967AAC9)}},
2370         {{UINT64_C(0x000DD90F276D31AF), UINT64_C(0x0000EA6D5DBA194F),
2371           UINT64_C(0x000430D033491006), UINT64_C(0x0007F9FA0D60BE75),
2372           UINT64_C(0x0004B562950EEA1A), UINT64_C(0x000E6BCD0715D21E),
2373           UINT64_C(0x0000590F8E3023F7), UINT64_C(0x0001D19FD03857CA),
2374           UINT64_C(0x000620A7B51ED174), UINT64_C(0x0001D40D3102B572)},
2375          {UINT64_C(0x00032D705F8518C5), UINT64_C(0x0000368F16F69285),
2376           UINT64_C(0x00031B1912C61DA8), UINT64_C(0x0006862322CE1F30),
2377           UINT64_C(0x00010660B97D08CF), UINT64_C(0x00035D64540A6D07),
2378           UINT64_C(0x0004199885EE5BEA), UINT64_C(0x00028D3C28F71406),
2379           UINT64_C(0x000098A7ED42E515), UINT64_C(0x0000033517091A8F)},
2380          {UINT64_C(0x000BEEAD956FEED8), UINT64_C(0x0006D144B99B7E54),
2381           UINT64_C(0x0006620FDB6DADBF), UINT64_C(0x00065F15A8F5ECA2),
2382           UINT64_C(0x00024170192B151F), UINT64_C(0x0006068B65F5278C),
2383           UINT64_C(0x0006AB4CACC7BF25), UINT64_C(0x0006680608A271D0),
2384           UINT64_C(0x00025004C7539417), UINT64_C(0x000727215A3B6BFA)}},
2385         {{UINT64_C(0x000FAA227F4F5AD3), UINT64_C(0x00048C30B1278D75),
2386           UINT64_C(0x0004C2380F042C08), UINT64_C(0x0006F4250A5404FA),
2387           UINT64_C(0x0000E5775C9D6EA4), UINT64_C(0x000C434ED2579348),
2388           UINT64_C(0x00043B279220C0B7), UINT64_C(0x00011C3AB979AF10),
2389           UINT64_C(0x000593B8B6831C9A), UINT64_C(0x0000C951C87E440D)},
2390          {UINT64_C(0x0009E652CBEBE9EA), UINT64_C(0x0002D471C31CC4A7),
2391           UINT64_C(0x0001180C86178F58), UINT64_C(0x0004A1CBEE332A03),
2392           UINT64_C(0x0004F056D32EEC00), UINT64_C(0x000E9D6F5A148CC7),
2393           UINT64_C(0x00038F214F11933B), UINT64_C(0x0006AB7F8DF475B6),
2394           UINT64_C(0x00016E32A36F4E7A), UINT64_C(0x00002D0656419319)},
2395          {UINT64_C(0x000FCD3F816A5978), UINT64_C(0x0006041C99F186A9),
2396           UINT64_C(0x0001D3D980EFB038), UINT64_C(0x0007E9FDEA9BE147),
2397           UINT64_C(0x00032BCE66E90B6D), UINT64_C(0x0001B6674476F1BF),
2398           UINT64_C(0x00051E25FEF557ED), UINT64_C(0x000029CDE03D236F),
2399           UINT64_C(0x000478BCDD0C953A), UINT64_C(0x0004BEBB6141C907)}},
2400     },
2401     {
2402         {{UINT64_C(0x0009E2E990726798), UINT64_C(0x00009676B8E190DC),
2403           UINT64_C(0x00048C9965EA2A0C), UINT64_C(0x0004EF181E315DD7),
2404           UINT64_C(0x00003A6A0FE2B108), UINT64_C(0x0004B4B789B5786E),
2405           UINT64_C(0x0001839D83E4BC52), UINT64_C(0x0003B9D09BE4ACFC),
2406           UINT64_C(0x000603A800326917), UINT64_C(0x0007C7926D46765A)},
2407          {UINT64_C(0x000BDE461C54BBE9), UINT64_C(0x00030C12C7BE3000),
2408           UINT64_C(0x00068D49E4D38051), UINT64_C(0x000002424DFF63EE),
2409           UINT64_C(0x0006748D0F817A7A), UINT64_C(0x000DAAAC34BF5895),
2410           UINT64_C(0x0004BF755438F5F4), UINT64_C(0x00031C0109A0A789),
2411           UINT64_C(0x0000257084478A82), UINT64_C(0x0000EADEDC01C8B8)},
2412          {UINT64_C(0x000BA95D208FC8C9), UINT64_C(0x000171FB35AEDA7D),
2413           UINT64_C(0x0002108B68CD61DE), UINT64_C(0x00032F4E1D4BC730),
2414           UINT64_C(0x0000FFB462AB7826), UINT64_C(0x000A3E9F4B3F7B0E),
2415           UINT64_C(0x0001E70DB7658F11), UINT64_C(0x00028C2EF3EEB807),
2416           UINT64_C(0x000753BD52CA29CE), UINT64_C(0x000547E50673926A)}},
2417         {{UINT64_C(0x000F9CABD5C6650F), UINT64_C(0x00036740AC449DBC),
2418           UINT64_C(0x0004759192EC241F), UINT64_C(0x000381C0F9E7EAB2),
2419           UINT64_C(0x00063278E1545DA8), UINT64_C(0x000037A5B7E50AB6),
2420           UINT64_C(0x000476FAC0FF808E), UINT64_C(0x00036E5576C1E063),
2421           UINT64_C(0x00027A9D39B89A83), UINT64_C(0x0006F1DA42C4750F)},
2422          {UINT64_C(0x0000C0B93DC3C004), UINT64_C(0x00035D0E6F5E38D1),
2423           UINT64_C(0x00061A730762CA71), UINT64_C(0x0003A620EFD387BE),
2424           UINT64_C(0x0003E2EC3540ED15), UINT64_C(0x000E424C214D117F),
2425           UINT64_C(0x0003E1325B0BB449), UINT64_C(0x0006FC7D1FC2FC7C),
2426           UINT64_C(0x00073F72D066FB57), UINT64_C(0x0004B2D6EC5C213B)},
2427          {UINT64_C(0x000ACB4FC84F8936), UINT64_C(0x0000757CBE4C50D6),
2428           UINT64_C(0x00049E1C99C1E958), UINT64_C(0x0007D86D6FF27A95),
2429           UINT64_C(0x00029876C3EF1BD5), UINT64_C(0x000A9E00A5CBE886),
2430           UINT64_C(0x0000BD4E512C515F), UINT64_C(0x0005C75102170269),
2431           UINT64_C(0x0007807E85A235DA), UINT64_C(0x000293A17091A760)}},
2432         {{UINT64_C(0x000308924C47EA21), UINT64_C(0x0007EFFEAF16E651),
2433           UINT64_C(0x0007D78EEF6B95C8), UINT64_C(0x000480EBCBF733D4),
2434           UINT64_C(0x0001F759131373D1), UINT64_C(0x000F52DAA6D26E12),
2435           UINT64_C(0x0001AA1A394183A6), UINT64_C(0x00031E24C017EBE3),
2436           UINT64_C(0x000134A7ECCB3DEC), UINT64_C(0x0001EAACFA806C01)},
2437          {UINT64_C(0x0000C8DC99E4D9E5), UINT64_C(0x0000499FCD94685F),
2438           UINT64_C(0x0004FB45C9641579), UINT64_C(0x00014AE4737E13F2),
2439           UINT64_C(0x0005BAC25108C107), UINT64_C(0x000407F8F14C185F),
2440           UINT64_C(0x0003281019A9EC49), UINT64_C(0x00018C647189223F),
2441           UINT64_C(0x00077667AEF20006), UINT64_C(0x000342D230F93D40)},
2442          {UINT64_C(0x000C9265EF97099F), UINT64_C(0x0002CB0A3B71869F),
2443           UINT64_C(0x0000DD18B78BEFAB), UINT64_C(0x000445C0E95393D6),
2444           UINT64_C(0x00022C17960D9AEB), UINT64_C(0x00055752E5A3E34F),
2445           UINT64_C(0x00029B02A7513832), UINT64_C(0x000115BB849BE596),
2446           UINT64_C(0x00070895A6FD0E07), UINT64_C(0x0002E9C698B128A0)}},
2447         {{UINT64_C(0x0000460245EC561C), UINT64_C(0x000759CFCDC4304B),
2448           UINT64_C(0x0000354F11DD3770), UINT64_C(0x00034ECA59B714C8),
2449           UINT64_C(0x0006DEB5CFBFE8AA), UINT64_C(0x0009C83E53DD01E1),
2450           UINT64_C(0x000681045B1B2B4B), UINT64_C(0x00066B499D80354A),
2451           UINT64_C(0x0007B09A32C5EB10), UINT64_C(0x0007F5BFC7687E65)},
2452          {UINT64_C(0x0007DBDD7509D7B6), UINT64_C(0x0001FF07267C40F7),
2453           UINT64_C(0x00020C1AAC3C0409), UINT64_C(0x0006148B211F9D4A),
2454           UINT64_C(0x0007D9183357E99A), UINT64_C(0x0005FB86106C8179),
2455           UINT64_C(0x00061566F3217886), UINT64_C(0x00064086D6797E68),
2456           UINT64_C(0x0000AAE710B5D9A0), UINT64_C(0x0003A7960D860C8C)},
2457          {UINT64_C(0x000BA0F7583190C4), UINT64_C(0x00076FA655DA6153),
2458           UINT64_C(0x0006AD011EF06120), UINT64_C(0x0001B9919F914745),
2459           UINT64_C(0x0006933CC4A1F75E), UINT64_C(0x0008B0C001D798B5),
2460           UINT64_C(0x0003A7401C076C5F), UINT64_C(0x0002A5E88685994E),
2461           UINT64_C(0x00040E300EEB5F5B), UINT64_C(0x000401FE079260EE)}},
2462         {{UINT64_C(0x000659914EBDF906), UINT64_C(0x0004AC87025B5364),
2463           UINT64_C(0x0000284A5CDE167E), UINT64_C(0x0003DCE5E16B1561),
2464           UINT64_C(0x000109507CE45C7B), UINT64_C(0x000E774890C7761C),
2465           UINT64_C(0x0005E1CED11C691A), UINT64_C(0x0000B979E77DA4D4),
2466           UINT64_C(0x0004EF607D7B0F58), UINT64_C(0x000597CD44BFB28F)},
2467          {UINT64_C(0x000A69885D31FD12), UINT64_C(0x00077B176FC02779),
2468           UINT64_C(0x00032C80E3987695), UINT64_C(0x00075F209C1E30BB),
2469           UINT64_C(0x0001009FD731AAC0), UINT64_C(0x000D3EB5362EA2CF),
2470           UINT64_C(0x0001D6C33BB4F1EC), UINT64_C(0x0005811CB2ECEF96),
2471           UINT64_C(0x00057D8C6C5AE4E1), UINT64_C(0x0004B4EA22243336)},
2472          {UINT64_C(0x000E6D776CDADB51), UINT64_C(0x00059CCC0F8E0BB1),
2473           UINT64_C(0x000788DF3C7AD498), UINT64_C(0x000142A89307C686),
2474           UINT64_C(0x00016B22FB5E10E8), UINT64_C(0x0004175AE2F3EB2B),
2475           UINT64_C(0x0002B10B599DE0CC), UINT64_C(0x0001EBE2F56C5287),
2476           UINT64_C(0x0001A33116E45EDF), UINT64_C(0x0004AE20B6AA13BB)}},
2477         {{UINT64_C(0x000D4F1640E31025), UINT64_C(0x00005369F3A71705),
2478           UINT64_C(0x0006E57097B5B700), UINT64_C(0x000287C31DDA7EB0),
2479           UINT64_C(0x0006BD941635599D), UINT64_C(0x000958A013ADB362),
2480           UINT64_C(0x000797EC3AF59A21), UINT64_C(0x000532140C91BE6E),
2481           UINT64_C(0x0004936CF742D1B9), UINT64_C(0x0006D291755B4C5F)},
2482          {UINT64_C(0x0000A926A8EE98B9), UINT64_C(0x00046DFF06B0EA14),
2483           UINT64_C(0x000422FF6FD967CC), UINT64_C(0x000779542C4521B1),
2484           UINT64_C(0x000469BEAB421801), UINT64_C(0x000E418E584BB6E2),
2485           UINT64_C(0x00009CA813EF2F4E), UINT64_C(0x0005F68592828DF0),
2486           UINT64_C(0x0000656C0BBF9122), UINT64_C(0x0000CCB05A025C71)},
2487          {UINT64_C(0x000E98CF9AA86649), UINT64_C(0x0004280C51AC4674),
2488           UINT64_C(0x00069006DA4ABEB3), UINT64_C(0x00046B1CDF4D42C3),
2489           UINT64_C(0x00052325C9885550), UINT64_C(0x00030D64AFD848FD),
2490           UINT64_C(0x0002C8ACC81C6FC5), UINT64_C(0x00047CB0D16BECBB),
2491           UINT64_C(0x000424989DA2A6C5), UINT64_C(0x000168C78A279267)}},
2492         {{UINT64_C(0x000D255173B3974D), UINT64_C(0x00078AB8051F9D89),
2493           UINT64_C(0x0005D31E2BD6FAF8), UINT64_C(0x0007DECEFF2FED16),
2494           UINT64_C(0x0000A995EBB1AF3C), UINT64_C(0x000EC88849F934DD),
2495           UINT64_C(0x0003F4357D1349BF), UINT64_C(0x0003003724CCAD86),
2496           UINT64_C(0x0005CC63A601A857), UINT64_C(0x000343B88A410741)},
2497          {UINT64_C(0x000B861EBEC11DA3), UINT64_C(0x0002F7DA0CE66B58),
2498           UINT64_C(0x0004A05CFDD667EC), UINT64_C(0x000618C4234E4317),
2499           UINT64_C(0x00077E534DE5E42D), UINT64_C(0x000F510ACBE2E35B),
2500           UINT64_C(0x0004D176CC3F8974), UINT64_C(0x0004199583F06449),
2501           UINT64_C(0x0000406979E0EB70), UINT64_C(0x000695F16DD2B384)},
2502          {UINT64_C(0x000B5F01887D972B), UINT64_C(0x000591009B9788BD),
2503           UINT64_C(0x0001CFB8C1E46165), UINT64_C(0x0005B8112A6084A0),
2504           UINT64_C(0x00049527793479C1), UINT64_C(0x000B187275AFF4A8),
2505           UINT64_C(0x00049D80550875EB), UINT64_C(0x00065B3359B96DBD),
2506           UINT64_C(0x0001FB8879675983), UINT64_C(0x0005DEBD62191D57)}},
2507         {{UINT64_C(0x000D1CA24C4248EB), UINT64_C(0x0005F680B9DB4143),
2508           UINT64_C(0x000332A16BFB989D), UINT64_C(0x000753E5C1BD1DD6),
2509           UINT64_C(0x0004FB5069A3DD11), UINT64_C(0x000B36967D95CB7F),
2510           UINT64_C(0x0007C1A743B83E84), UINT64_C(0x0000AEE0A0745A8D),
2511           UINT64_C(0x0006C7A9C91323B2), UINT64_C(0x000528CD9463AAFB)},
2512          {UINT64_C(0x000C466D9EBE068D), UINT64_C(0x00013A27797DC234),
2513           UINT64_C(0x00018F27D8B96428), UINT64_C(0x000024C1197D66BB),
2514           UINT64_C(0x00030D29442EEAC4), UINT64_C(0x000D7F436D88C8D7),
2515           UINT64_C(0x00041C67DD503E48), UINT64_C(0x00071B77621F3C37),
2516           UINT64_C(0x0001E384DE527534), UINT64_C(0x0004A3548D4230EF)},
2517          {UINT64_C(0x0009D0F8D367877F), UINT64_C(0x000144D7265E0804),
2518           UINT64_C(0x0005645C59D64EAE), UINT64_C(0x000533EB925569B6),
2519           UINT64_C(0x0004DFD1C43D5A74), UINT64_C(0x000E0AA14014632B),
2520           UINT64_C(0x0005693798BB1AC4), UINT64_C(0x00000B28BE3E0068),
2521           UINT64_C(0x000379AAA7EAE112), UINT64_C(0x0000247F1C8CFD8E)}},
2522         {{UINT64_C(0x000C15D58808355F), UINT64_C(0x0003A9B54B4046D8),
2523           UINT64_C(0x0003BE1A6AB6A8D7), UINT64_C(0x000699C7D04884C2),
2524           UINT64_C(0x00055A19B13E30E6), UINT64_C(0x000FBA511C14C314),
2525           UINT64_C(0x0007C4B1AB58948C), UINT64_C(0x00014F0D999CB430),
2526           UINT64_C(0x0007AFCB455F6D0F), UINT64_C(0x00013287261490BE)},
2527          {UINT64_C(0x000C39060A09A6A6), UINT64_C(0x00068EFAAE7BEA33),
2528           UINT64_C(0x0000F39708828339), UINT64_C(0x00074458444BC73B),
2529           UINT64_C(0x0004EBB9FE3A3451), UINT64_C(0x0002963523524531),
2530           UINT64_C(0x0002BA9B39DAC86F), UINT64_C(0x000296C0868A96CA),
2531           UINT64_C(0x0000E1FD8D0A7823), UINT64_C(0x00010A911670FB07)},
2532          {UINT64_C(0x000F856897F72F1E), UINT64_C(0x0000EEE5678607C6),
2533           UINT64_C(0x000517CD2197022F), UINT64_C(0x0004BEDF2B12DB4D),
2534           UINT64_C(0x00019C0AF97A5D1D), UINT64_C(0x000374FACB3B50F7),
2535           UINT64_C(0x0003917CBAD403FF), UINT64_C(0x0004C4704E757E6D),
2536           UINT64_C(0x00029A25D20AD24F), UINT64_C(0x000369770FC2A344)}},
2537         {{UINT64_C(0x0008DA57843C3422), UINT64_C(0x000082AA03CF53E5),
2538           UINT64_C(0x0007396268B0FA19), UINT64_C(0x000148F2D5ECB6B4),
2539           UINT64_C(0x0000E4C3E6069C02), UINT64_C(0x0008A317BACC7D91),
2540           UINT64_C(0x00023FB0B882B0C6), UINT64_C(0x0003470CCBB116C6),
2541           UINT64_C(0x0001DD2C55D9FCCD), UINT64_C(0x0003D996E34873D8)},
2542          {UINT64_C(0x000494440ECC3AB3), UINT64_C(0x0002540E1E629CBC),
2543           UINT64_C(0x0007355927AA0DA6), UINT64_C(0x000617CCFB6EB6C6),
2544           UINT64_C(0x00045DCD2CD0B597), UINT64_C(0x000A9351FEF0BD26),
2545           UINT64_C(0x0000E241A46E98C5), UINT64_C(0x00011AAC255B8C6D),
2546           UINT64_C(0x00077EB6092D7F54), UINT64_C(0x00006C19945480AB)},
2547          {UINT64_C(0x0008B1824E089690), UINT64_C(0x0004658566F83B39),
2548           UINT64_C(0x0007A1E24B6B0E67), UINT64_C(0x0003546FE60DC8CA),
2549           UINT64_C(0x000527C86CABEAC9), UINT64_C(0x0006138EFAB370BD),
2550           UINT64_C(0x000367B7A18E4830), UINT64_C(0x0005F41E7F74F931),
2551           UINT64_C(0x00043CD498AEE92B), UINT64_C(0x00036640F17461CB)}},
2552         {{UINT64_C(0x00014F84E18CA5AB), UINT64_C(0x000581E482520BE7),
2553           UINT64_C(0x0006D3C0B43466D5), UINT64_C(0x000717397C15F270),
2554           UINT64_C(0x0002926AAAE17414), UINT64_C(0x000CEE21A20BFDB7),
2555           UINT64_C(0x0005627F8C434E1F), UINT64_C(0x0007B06611540ADD),
2556           UINT64_C(0x00017C0766AD8FF8), UINT64_C(0x0001A6DF1F7CFD76)},
2557          {UINT64_C(0x00048F19C87B8FFD), UINT64_C(0x000738685355DF41),
2558           UINT64_C(0x00062D4C85207B23), UINT64_C(0x0004DA81080542F4),
2559           UINT64_C(0x0002595A163374DE), UINT64_C(0x00077DF196F75779),
2560           UINT64_C(0x0003CC24DA342DED), UINT64_C(0x00071C8601CD59A9),
2561           UINT64_C(0x000575ED879C1606), UINT64_C(0x0003C9A80845E0C4)},
2562          {UINT64_C(0x000E4341EC68E990), UINT64_C(0x00007DB9731C2EAE),
2563           UINT64_C(0x00050B4AC8A0C069), UINT64_C(0x00020F490D1B024D),
2564           UINT64_C(0x00067C6E1654BBA0), UINT64_C(0x0003EFDE035BD6AF),
2565           UINT64_C(0x0003C25584A7D506), UINT64_C(0x000591764CC32886),
2566           UINT64_C(0x0006FC9CB331260F), UINT64_C(0x00017E5D60885352)}},
2567         {{UINT64_C(0x000731233C0BF910), UINT64_C(0x000329E61DB0C699),
2568           UINT64_C(0x0007BA2FF701A4E9), UINT64_C(0x000333EA1E17AEF2),
2569           UINT64_C(0x00004C20BB4E7B23), UINT64_C(0x00036D578DEB0B28),
2570           UINT64_C(0x0001EB9E5DFB52E4), UINT64_C(0x0004CA4959FA2735),
2571           UINT64_C(0x0001D94E469AE705), UINT64_C(0x00076C278152C2A0)},
2572          {UINT64_C(0x00098E1BB8C2F143), UINT64_C(0x0004D297A9E0C320),
2573           UINT64_C(0x00076A7705B29809), UINT64_C(0x0001C4AB1E7AA3FB),
2574           UINT64_C(0x0007CEC0D37488E9), UINT64_C(0x000AF115EFF64680),
2575           UINT64_C(0x0000120EF3CBB216), UINT64_C(0x00054823751D4F6C),
2576           UINT64_C(0x0002AC54F606C3D7), UINT64_C(0x0001EBCEFB260725)},
2577          {UINT64_C(0x000B771E27A53F81), UINT64_C(0x0006D54C547C8EC4),
2578           UINT64_C(0x0000011D3B796F70), UINT64_C(0x000103E44C9CDCE1),
2579           UINT64_C(0x0004C7BA40D38FA7), UINT64_C(0x00089A5EBD4841A3),
2580           UINT64_C(0x000684C71D5AEC65), UINT64_C(0x000605EEF1D5EAB1),
2581           UINT64_C(0x00067509EAF71EBE), UINT64_C(0x0005963E232F38F6)}},
2582         {{UINT64_C(0x000BCAC8C9D8CB62), UINT64_C(0x000201763A59294E),
2583           UINT64_C(0x00019A01979C0FF2), UINT64_C(0x0004D0E0410F78A4),
2584           UINT64_C(0x0006EB9F8CAC287A), UINT64_C(0x000EA0768460F44C),
2585           UINT64_C(0x0005A455F94A712D), UINT64_C(0x0000BC93EBB5FFB3),
2586           UINT64_C(0x00020C65BD0C37ED), UINT64_C(0x000261BF4CEC1574)},
2587          {UINT64_C(0x000FF07CB12EA13B), UINT64_C(0x00020429E9B2B0F9),
2588           UINT64_C(0x0004DFA80EA8ECD6), UINT64_C(0x00073BBBD56CD402),
2589           UINT64_C(0x0003919C06A06CA6), UINT64_C(0x000A50DFCA5441D8),
2590           UINT64_C(0x0002B9A99A9B237D), UINT64_C(0x000742A2E2D61162),
2591           UINT64_C(0x0002CA00A4309B93), UINT64_C(0x0000905C120B4320)},
2592          {UINT64_C(0x00061578EB35918B), UINT64_C(0x0001446B3BE9D4A0),
2593           UINT64_C(0x0003D523BC8898B4), UINT64_C(0x00064BBE9875DB61),
2594           UINT64_C(0x0000D3A22E1BC0BA), UINT64_C(0x00061BADB8814627),
2595           UINT64_C(0x0001E3CC67E1C334), UINT64_C(0x0007D8BFF80A52C8),
2596           UINT64_C(0x0007C1A1B139325E), UINT64_C(0x000699D472241937)}},
2597         {{UINT64_C(0x00025E7D1EB3C74B), UINT64_C(0x0007898AA108BC0E),
2598           UINT64_C(0x00047515F8ED8CD4), UINT64_C(0x0004D3B9580C495A),
2599           UINT64_C(0x0007180B924B02DC), UINT64_C(0x0000F661E19F6359),
2600           UINT64_C(0x000670BF44B39CC7), UINT64_C(0x0007FE66B0398776),
2601           UINT64_C(0x0007995A1E2AC824), UINT64_C(0x0006D5DC46677210)},
2602          {UINT64_C(0x000FAAD726B55EA2), UINT64_C(0x00079D5D2BEE8A46),
2603           UINT64_C(0x00026095ED36BEE6), UINT64_C(0x0006B2CD7C0A5EAC),
2604           UINT64_C(0x0007363AADE3CBFF), UINT64_C(0x0008973FB787E167),
2605           UINT64_C(0x0007C0F634CBA455), UINT64_C(0x0000FA999E76881F),
2606           UINT64_C(0x000324C512E8946B), UINT64_C(0x000380D8788E7945)},
2607          {UINT64_C(0x0008DB1A6DE4460C), UINT64_C(0x00062893735BF9A0),
2608           UINT64_C(0x000013BA32E02B7B), UINT64_C(0x00073C9F80B4A895),
2609           UINT64_C(0x0003C3F3C87AAFB2), UINT64_C(0x000827F36493E441),
2610           UINT64_C(0x000292EFAC99E138), UINT64_C(0x000022A4A4904138),
2611           UINT64_C(0x00024529ECB28E37), UINT64_C(0x00077421EE238C1B)}},
2612         {{UINT64_C(0x000F7B9C6C9FCA63), UINT64_C(0x00034B8A0AAFC9BE),
2613           UINT64_C(0x0005DAE98DB7E24F), UINT64_C(0x00074C6CA22931E1),
2614           UINT64_C(0x0002A4921C14D883), UINT64_C(0x0006EFA91FA1CE71),
2615           UINT64_C(0x0003CE84355E0DCE), UINT64_C(0x000753C05DD0ADC7),
2616           UINT64_C(0x00017FAB49BE457E), UINT64_C(0x000352750D53DB1E)},
2617          {UINT64_C(0x000C2F7461033645), UINT64_C(0x000513C3544B8E3B),
2618           UINT64_C(0x00052C0D08ECF672), UINT64_C(0x000724A3D76B9645),
2619           UINT64_C(0x0005EE3A414B8581), UINT64_C(0x0001B06B1A55E453),
2620           UINT64_C(0x000186401A4D8285), UINT64_C(0x00038DD6E8C786ED),
2621           UINT64_C(0x0002D70CAF4EE8DD), UINT64_C(0x0005D01B347C3A06)},
2622          {UINT64_C(0x0001567FFD93F0D1), UINT64_C(0x000309252F65BB4A),
2623           UINT64_C(0x0005959B6ED014AB), UINT64_C(0x0004B43212E34585),
2624           UINT64_C(0x000438AFACBE2355), UINT64_C(0x0005CE8397224869),
2625           UINT64_C(0x0005A2F2198160CD), UINT64_C(0x00038CA3C93100EF),
2626           UINT64_C(0x0005B4E108E763BD), UINT64_C(0x00013AB825E9037B)}},
2627         {{UINT64_C(0x00035B4D0F47A893), UINT64_C(0x0000F88590FD42E6),
2628           UINT64_C(0x0000D7368E95AC4C), UINT64_C(0x000195F98944B691),
2629           UINT64_C(0x000486CCF2B919EC), UINT64_C(0x0004A59D1C2A3F33),
2630           UINT64_C(0x000534076FD4DE0F), UINT64_C(0x00059369592A8078),
2631           UINT64_C(0x00075849457601A8), UINT64_C(0x0005BCFEF89B98B3)},
2632          {UINT64_C(0x00082471AB978FF4), UINT64_C(0x000417A722D632A1),
2633           UINT64_C(0x000119FFFE762A0C), UINT64_C(0x000154FACAC33A86),
2634           UINT64_C(0x000629B146A09126), UINT64_C(0x00077F98E5A9B02A),
2635           UINT64_C(0x0007BFDF4C9B46F3), UINT64_C(0x0006F3CE86DA2075),
2636           UINT64_C(0x00043496F1F7058B), UINT64_C(0x000410C0161E3F69)},
2637          {UINT64_C(0x00061C0DDD1D5193), UINT64_C(0x0005D358D2C1C9E2),
2638           UINT64_C(0x0000F247BBCF087E), UINT64_C(0x00075A43B2343359),
2639           UINT64_C(0x0001269D6EFC98D0), UINT64_C(0x0009DE5FF8C9C95C),
2640           UINT64_C(0x00051605D13327E2), UINT64_C(0x00033CB5838CF4A6),
2641           UINT64_C(0x0003A16E2B08FE9E), UINT64_C(0x0003650C080431E5)}},
2642     },
2643     {
2644         {{UINT64_C(0x00049602E45D0A93), UINT64_C(0x00059C589221A880),
2645           UINT64_C(0x00006BFB336EDCAF), UINT64_C(0x0005AD45223DDD99),
2646           UINT64_C(0x00057F8BFA84AC51), UINT64_C(0x000AB4970BF8F60A),
2647           UINT64_C(0x00067F4FB7299A69), UINT64_C(0x0006C45D1DA5576A),
2648           UINT64_C(0x0001DF5059D6F745), UINT64_C(0x0007522509A7E4C7)},
2649          {UINT64_C(0x000754184C1EAC3E), UINT64_C(0x0001803402F7CD15),
2650           UINT64_C(0x0004F73F4944A6CF), UINT64_C(0x00046CEC832A58F1),
2651           UINT64_C(0x0005BF7C9110EC11), UINT64_C(0x0006BEE5D06C0C15),
2652           UINT64_C(0x00004D8B8B8F00B0), UINT64_C(0x00028C4D421BD379),
2653           UINT64_C(0x00075078416E153C), UINT64_C(0x000359B19C14F12F)},
2654          {UINT64_C(0x000808DDF052F857), UINT64_C(0x000019692911893C),
2655           UINT64_C(0x00020F8AC2158528), UINT64_C(0x0006BF85B2D465D0),
2656           UINT64_C(0x0000E4B967AE33BF), UINT64_C(0x0006B2C044AA16CD),
2657           UINT64_C(0x0005714242B5BB0F), UINT64_C(0x0005D92812DAFB73),
2658           UINT64_C(0x0007AD2DCB20ECFF), UINT64_C(0x00077EEC1D3FA208)}},
2659         {{UINT64_C(0x0002119238646FD8), UINT64_C(0x0005ABC2F8AF448B),
2660           UINT64_C(0x000453259E95D8E5), UINT64_C(0x0005B48782EBCAEE),
2661           UINT64_C(0x00038436F43CDFBF), UINT64_C(0x00048D16E429CE28),
2662           UINT64_C(0x000570D828600948), UINT64_C(0x0003453855620095),
2663           UINT64_C(0x0006AD331E478470), UINT64_C(0x000651BFAB5074BD)},
2664          {UINT64_C(0x0005F4433BDB32D9), UINT64_C(0x000105218D10DE9D),
2665           UINT64_C(0x000584EFCC5C27E2), UINT64_C(0x00013201F8F88C14),
2666           UINT64_C(0x0005783EC5680875), UINT64_C(0x0005599CE7F06E7D),
2667           UINT64_C(0x000469D4A0F10D5A), UINT64_C(0x00066493C7BE869D),
2668           UINT64_C(0x000282E244723DA2), UINT64_C(0x000003DDA26211EF)},
2669          {UINT64_C(0x0004777CF1747536), UINT64_C(0x0004BD8E40F0AAC6),
2670           UINT64_C(0x0007330BCEF012F6), UINT64_C(0x0005B417B099D130),
2671           UINT64_C(0x00008F04461BF63F), UINT64_C(0x0002FAB6C914DFFC),
2672           UINT64_C(0x00012387DF5AFEB9), UINT64_C(0x00060B418608D67A),
2673           UINT64_C(0x00028BA76C66CFD8), UINT64_C(0x00046A5D5B19C944)}},
2674         {{UINT64_C(0x000D23E16E7EB572), UINT64_C(0x00046332FC8A601B),
2675           UINT64_C(0x00065A48317134CE), UINT64_C(0x00043B6D52860AED),
2676           UINT64_C(0x0006EEB80466982A), UINT64_C(0x0009E57FBD4942F2),
2677           UINT64_C(0x0001B441B9B92D52), UINT64_C(0x0003927622998150),
2678           UINT64_C(0x00032063CFE0CC69), UINT64_C(0x0001E7A8EAAD8648)},
2679          {UINT64_C(0x0009791DBC2F7ADE), UINT64_C(0x0005B5AE56F669E8),
2680           UINT64_C(0x0004787844482C09), UINT64_C(0x000233D0503DE859),
2681           UINT64_C(0x0002980F93DB7782), UINT64_C(0x000E89640104583D),
2682           UINT64_C(0x000256749A55B356), UINT64_C(0x000346FB5377E7C7),
2683           UINT64_C(0x0005986D02625C7F), UINT64_C(0x0006501A5BE2B9EA)},
2684          {UINT64_C(0x000DC86BCD571C18), UINT64_C(0x000295273CB7094B),
2685           UINT64_C(0x0002353CEEA64824), UINT64_C(0x0000EDE9FDAEF274),
2686           UINT64_C(0x0006FC2FE16F8340), UINT64_C(0x000E75263685AE89),
2687           UINT64_C(0x0002A6B522548B24), UINT64_C(0x00030B331A3CF122),
2688           UINT64_C(0x00040AA1996D71AF), UINT64_C(0x00021DA1E66C5828)}},
2689         {{UINT64_C(0x0006237FE85D84B7), UINT64_C(0x0005D493978AA748),
2690           UINT64_C(0x0005606DB28D11E0), UINT64_C(0x0001404E7EE9A4A7),
2691           UINT64_C(0x0000009FCCF95887), UINT64_C(0x0001F35190486D07),
2692           UINT64_C(0x0005ABF1251A2823), UINT64_C(0x0007D9F90E1B9546),
2693           UINT64_C(0x000027D362BD3273), UINT64_C(0x0001D3276CA5DBCA)},
2694          {UINT64_C(0x0005BCE59854F4F2), UINT64_C(0x00068A97823BA015),
2695           UINT64_C(0x00069C7B6BA3A2B9), UINT64_C(0x000391289E956A27),
2696           UINT64_C(0x0006D77C747BE4B3), UINT64_C(0x00030591F7C41921),
2697           UINT64_C(0x0002A1EB441BD53B), UINT64_C(0x00014CCBBA39D2CC),
2698           UINT64_C(0x0002A9EAEDC15CEF), UINT64_C(0x000175CD0B5E3DFD)},
2699          {UINT64_C(0x00037ECC8CE85AE8), UINT64_C(0x0002D2E68B37C995),
2700           UINT64_C(0x0007756F4C412926), UINT64_C(0x00064C1755FD279C),
2701           UINT64_C(0x0005D142CA088513), UINT64_C(0x0005C77113983F17),
2702           UINT64_C(0x000667B020C82500), UINT64_C(0x000303A898E3AC4F),
2703           UINT64_C(0x0007E3C86D19C210), UINT64_C(0x0004249657F2E122)}},
2704         {{UINT64_C(0x0001D1C5E353E5CA), UINT64_C(0x0002576EB624749B),
2705           UINT64_C(0x00065CDB175F1C9E), UINT64_C(0x0003A41B811E62CE),
2706           UINT64_C(0x000518CFEE6F53F7), UINT64_C(0x00098B04A4AC2F13),
2707           UINT64_C(0x0006AB7610983F96), UINT64_C(0x000746A4D621967E),
2708           UINT64_C(0x000350349EC927D2), UINT64_C(0x000222970DF1E1BE)},
2709          {UINT64_C(0x0008906EEA836812), UINT64_C(0x0003114905108F3F),
2710           UINT64_C(0x0005C9663C445888), UINT64_C(0x0001C71F712BD33B),
2711           UINT64_C(0x00043D935A54A0DA), UINT64_C(0x0003646E9FDC729F),
2712           UINT64_C(0x0007210C4951848F), UINT64_C(0x00011FEF8E510953),
2713           UINT64_C(0x000346FAA21A5B8C), UINT64_C(0x00003AD57103DD51)},
2714          {UINT64_C(0x00033864A36064D6), UINT64_C(0x000029B9EAFEDC2A),
2715           UINT64_C(0x0003BE3DEB0B5F9A), UINT64_C(0x0003B506AA541679),
2716           UINT64_C(0x0005B2A6B10327B0), UINT64_C(0x000157232B715DB2),
2717           UINT64_C(0x0001EA48E7F6FCF8), UINT64_C(0x00025E863CA33319),
2718           UINT64_C(0x0005C8D3F568BF16), UINT64_C(0x0004C5D907C3D1C8)}},
2719         {{UINT64_C(0x00046AD26F23721E), UINT64_C(0x0002C765BDA314CE),
2720           UINT64_C(0x000752858F9EB295), UINT64_C(0x000513964D698E8F),
2721           UINT64_C(0x0001C85381B9C98C), UINT64_C(0x00007D077B6D8B14),
2722           UINT64_C(0x0002650BE441372D), UINT64_C(0x0007C92EF836C485),
2723           UINT64_C(0x0000F996ACD339F6), UINT64_C(0x0007E8564FED0A69)},
2724          {UINT64_C(0x000E29A25F3371CF), UINT64_C(0x00008814C5A56ED5),
2725           UINT64_C(0x0000021D0DCD381D), UINT64_C(0x00076A6088860540),
2726           UINT64_C(0x0004219513890BB8), UINT64_C(0x0009B16B9A0A067F),
2727           UINT64_C(0x00047E7B85349C38), UINT64_C(0x00074B3FE445EC78),
2728           UINT64_C(0x000275D721E0622F), UINT64_C(0x0002A2EC646BA867)},
2729          {UINT64_C(0x000BBDD3A720C17F), UINT64_C(0x0001B2C37BA0E3D1),
2730           UINT64_C(0x00054714236D0CC2), UINT64_C(0x00076964A35C7638),
2731           UINT64_C(0x000025052B296A76), UINT64_C(0x000C48304202EE65),
2732           UINT64_C(0x0006ED1F7DCB85DA), UINT64_C(0x0002FA4317B61178),
2733           UINT64_C(0x0006CEE7698DA4B8), UINT64_C(0x00044B0FF2267F23)}},
2734         {{UINT64_C(0x000D747A3E22E2B1), UINT64_C(0x0003DEDA875D7CAE),
2735           UINT64_C(0x0006A21C6B5FE47D), UINT64_C(0x000412BD22E4D137),
2736           UINT64_C(0x00029DA6D3B3667F), UINT64_C(0x00048E20CB87439F),
2737           UINT64_C(0x000325A27394F2C8), UINT64_C(0x000428463E1D4FBF),
2738           UINT64_C(0x00041B300FF04818), UINT64_C(0x0001521958F0E161)},
2739          {UINT64_C(0x000085DB6B7E977C), UINT64_C(0x00017CE01F10308D),
2740           UINT64_C(0x0000AC1CA092A153), UINT64_C(0x000415739EAB8C46),
2741           UINT64_C(0x0000C8CDF9774C54), UINT64_C(0x00051119A4D27CD6),
2742           UINT64_C(0x0003979EF4CABD4E), UINT64_C(0x000306E82DE011FD),
2743           UINT64_C(0x000130D235924305), UINT64_C(0x0004BC668226FA1A)},
2744          {UINT64_C(0x00035460C289FE8C), UINT64_C(0x00077FC4B88D0A33),
2745           UINT64_C(0x00034B3A2F12DA46), UINT64_C(0x0000587252519A91),
2746           UINT64_C(0x00067696AD8CA13F), UINT64_C(0x0004B367ED30881B),
2747           UINT64_C(0x0006ECDC69A04362), UINT64_C(0x00062060141E8A58),
2748           UINT64_C(0x000446717A1D4C41), UINT64_C(0x00059C92F4144291)}},
2749         {{UINT64_C(0x00090BCBA13F3FFA), UINT64_C(0x000459F76914A474),
2750           UINT64_C(0x00077DF9C1AB8451), UINT64_C(0x00027F4173658DE6),
2751           UINT64_C(0x000752A654451BBD), UINT64_C(0x0004389BF205F6A5),
2752           UINT64_C(0x0002A0F6E2CAC058), UINT64_C(0x000759DDCA3CF248),
2753           UINT64_C(0x0001DB6435DE0B7B), UINT64_C(0x0007A40E4FF1D274)},
2754          {UINT64_C(0x000B40F9FEA2DF61), UINT64_C(0x000187FAF0A90648),
2755           UINT64_C(0x0007F429F69E5C3C), UINT64_C(0x0005E462DCD8F74D),
2756           UINT64_C(0x00002FB868905F55), UINT64_C(0x0006227264E559AC),
2757           UINT64_C(0x0005DCC2ACD4BE01), UINT64_C(0x0001754DD8D51BE7),
2758           UINT64_C(0x000254DBE11362D7), UINT64_C(0x00067071A34DAE0B)},
2759          {UINT64_C(0x00052B353E84B78C), UINT64_C(0x000564D48962EE3B),
2760           UINT64_C(0x000566CE4AC9469E), UINT64_C(0x00022969A603533F),
2761           UINT64_C(0x00057CBF4F23DA31), UINT64_C(0x000F413FE6288E6F),
2762           UINT64_C(0x00043A5E06D777D3), UINT64_C(0x0000D59724B433B0),
2763           UINT64_C(0x0004AC5FF7A4F7F5), UINT64_C(0x0007581748BFBCFE)}},
2764         {{UINT64_C(0x00051789D3E212FA), UINT64_C(0x0000BCEB94909B13),
2765           UINT64_C(0x00028C362BBCB45E), UINT64_C(0x00070EF351F3B7C0),
2766           UINT64_C(0x000666ECDEB8047E), UINT64_C(0x00078E439202364E),
2767           UINT64_C(0x0007E77E6140B4A9), UINT64_C(0x000482D5B04DDC11),
2768           UINT64_C(0x0001764AEFADC75A), UINT64_C(0x0006B47820ED7E1B)},
2769          {UINT64_C(0x000E69076D92441D), UINT64_C(0x0007F96BE0ECA0A5),
2770           UINT64_C(0x0005B603DEE01A8E), UINT64_C(0x0002D1B5AEAB2F76),
2771           UINT64_C(0x0007A711B7087718), UINT64_C(0x000277D13CD92B5F),
2772           UINT64_C(0x0003AE287A233D24), UINT64_C(0x000666E9F9CC65A3),
2773           UINT64_C(0x000676645DDC4BCF), UINT64_C(0x0004C2FE8FE9D67B)},
2774          {UINT64_C(0x00027D78672C6C00), UINT64_C(0x0002479A6D9CA279),
2775           UINT64_C(0x00072D4B69EE9EED), UINT64_C(0x000115C466A0FF92),
2776           UINT64_C(0x00040A74ED91DE82), UINT64_C(0x00007A983DF62653),
2777           UINT64_C(0x0003E0BD157BC637), UINT64_C(0x000257CF02231B18),
2778           UINT64_C(0x00021FB8D5B274BC), UINT64_C(0x00063F5ED86AF20B)}},
2779         {{UINT64_C(0x000417CD2C573949), UINT64_C(0x0005C0A0F0D85A83),
2780           UINT64_C(0x0004BCA59A389EFA), UINT64_C(0x0004BC9A8EDBAE72),
2781           UINT64_C(0x00031DA12B0ED484), UINT64_C(0x000361F7E36F579E),
2782           UINT64_C(0x0002F55EEE1A1AB5), UINT64_C(0x0001FE95A3CDAB65),
2783           UINT64_C(0x0000BD0E2F996073), UINT64_C(0x00069840C7AEA37F)},
2784          {UINT64_C(0x0008A8244C90AAE5), UINT64_C(0x000192938B5C4443),
2785           UINT64_C(0x00062E8381B8DA6E), UINT64_C(0x0002A57B4398E87B),
2786           UINT64_C(0x0001B401B603039D), UINT64_C(0x000F8931B08E2459),
2787           UINT64_C(0x0005FDE03EB7E448), UINT64_C(0x000042A4FFF29BE1),
2788           UINT64_C(0x0005548F632ED26F), UINT64_C(0x00007E01A00DDD53)},
2789          {UINT64_C(0x00009C5F1271C360), UINT64_C(0x00014712324EDF39),
2790           UINT64_C(0x00024AF2050F1BB5), UINT64_C(0x0000FB6B43AD3C7B),
2791           UINT64_C(0x00066F4AA55F0B74), UINT64_C(0x000C69A365B54877),
2792           UINT64_C(0x0000D87DE69BA1D3), UINT64_C(0x00001F390592ACB1),
2793           UINT64_C(0x0002D3ACDCBEEC70), UINT64_C(0x0006A6C9430F6DC5)}},
2794         {{UINT64_C(0x00076182951B9FCD), UINT64_C(0x00014DA2A6CA4A38),
2795           UINT64_C(0x00061C55C6BDE562), UINT64_C(0x0006ECA43E5605F8),
2796           UINT64_C(0x00006B6FFF6EC841), UINT64_C(0x0000713C0144812B),
2797           UINT64_C(0x00071F1D396EB0DD), UINT64_C(0x00071210D066A6DB),
2798           UINT64_C(0x000737CF73AC235F), UINT64_C(0x000056B844B68475)},
2799          {UINT64_C(0x0008F1CEAD60A1D0), UINT64_C(0x0000444231BD8012),
2800           UINT64_C(0x000445D6A0ED8B97), UINT64_C(0x0002DD91F0EEE5C0),
2801           UINT64_C(0x0003766A3BF6B231), UINT64_C(0x000F5C93D686296E),
2802           UINT64_C(0x000233237F38DC42), UINT64_C(0x0007525D1A3497EA),
2803           UINT64_C(0x0001819B905D774A), UINT64_C(0x0007FFB178F7CE0F)},
2804          {UINT64_C(0x000641A17722C8F1), UINT64_C(0x00079F1706850C02),
2805           UINT64_C(0x0006060CBB0518EB), UINT64_C(0x0002B66C8CB99F42),
2806           UINT64_C(0x00066E8E928880E6), UINT64_C(0x0001989CC847F22C),
2807           UINT64_C(0x0003469EEFF682ED), UINT64_C(0x0000D34A55978260),
2808           UINT64_C(0x00044C59D525236B), UINT64_C(0x000390050E10B720)}},
2809         {{UINT64_C(0x00009CD2BD71F4DB), UINT64_C(0x00029F23BB9D8BE1),
2810           UINT64_C(0x0000FB44276A7039), UINT64_C(0x0005F4E44D6437E8),
2811           UINT64_C(0x0004E5D5F5C4BB02), UINT64_C(0x000662EA552904DE),
2812           UINT64_C(0x00072BFD95DA12F6), UINT64_C(0x0006E4A9CCE5BBB7),
2813           UINT64_C(0x00035D0BE00D7A94), UINT64_C(0x0001C01BCE0CD7F9)},
2814          {UINT64_C(0x000C0AFD973DBCF3), UINT64_C(0x00064CE4BD3B9ACA),
2815           UINT64_C(0x0007702F5FC560D5), UINT64_C(0x0005E595BA3FBA8C),
2816           UINT64_C(0x0005B6BF254BF97D), UINT64_C(0x000576ABA05DA74C),
2817           UINT64_C(0x000010304EEBAB26), UINT64_C(0x00015D19F5797872),
2818           UINT64_C(0x00016D4017CFBF4A), UINT64_C(0x00026F6161725AEC)},
2819          {UINT64_C(0x00087F397AEAE324), UINT64_C(0x0005FA83BB5E2D0C),
2820           UINT64_C(0x0007223E58B05D25), UINT64_C(0x0003870F05A9B0F5),
2821           UINT64_C(0x0001A6AE5BF4D17D), UINT64_C(0x000EC0FEC7C22B4D),
2822           UINT64_C(0x0004123EA40B3D05), UINT64_C(0x0006AB321BCED2BF),
2823           UINT64_C(0x0005EB8B088ADF8C), UINT64_C(0x0006D4D7B749D913)}},
2824         {{UINT64_C(0x0004F5FA884DA730), UINT64_C(0x0000AF25F411BD67),
2825           UINT64_C(0x0003BA45D0584E3F), UINT64_C(0x0002185580D7028A),
2826           UINT64_C(0x00042C01189DCCED), UINT64_C(0x00008C6AE9B1ABB6),
2827           UINT64_C(0x00052E642E3C2B76), UINT64_C(0x0007310740FB3824),
2828           UINT64_C(0x000728038396164C), UINT64_C(0x000699C02D4658C4)},
2829          {UINT64_C(0x00079389C8FD6F3C), UINT64_C(0x000334AEF7344570),
2830           UINT64_C(0x000242D78C5A1222), UINT64_C(0x0003C2A690D38351),
2831           UINT64_C(0x0001CF5ACE9C51A0), UINT64_C(0x00055B466F344A63),
2832           UINT64_C(0x0007E983BE7FDAE4), UINT64_C(0x00055CFA24140C02),
2833           UINT64_C(0x000069CB7B9C5BD2), UINT64_C(0x0006188710431607)},
2834          {UINT64_C(0x00026F7B943A846D), UINT64_C(0x0002D01FFCEE4F40),
2835           UINT64_C(0x00018950D46B06FD), UINT64_C(0x000489C50B872A31),
2836           UINT64_C(0x0006350B0D584129), UINT64_C(0x0001F25CBB8B17E3),
2837           UINT64_C(0x0002C5C45781F165), UINT64_C(0x0005737448097914),
2838           UINT64_C(0x000511D83B88DD30), UINT64_C(0x000274954F75EF59)}},
2839         {{UINT64_C(0x000ECDBAA9D6B470), UINT64_C(0x0004FEAEC5FC07C4),
2840           UINT64_C(0x00006ACFE89ADEF6), UINT64_C(0x0001DA4AAD513147),
2841           UINT64_C(0x00067D3AF31AE9ED), UINT64_C(0x000A4B232569B195),
2842           UINT64_C(0x0004CF616E4681F8), UINT64_C(0x000644769BD5A3D2),
2843           UINT64_C(0x00025E58B311AC44), UINT64_C(0x00052C8B011460F8)},
2844          {UINT64_C(0x00045717702B786E), UINT64_C(0x00014A10820591ED),
2845           UINT64_C(0x00062D9363FA4EE1), UINT64_C(0x00022163012006D4),
2846           UINT64_C(0x000271B0D1CBDBE0), UINT64_C(0x00026F3A015A99D4),
2847           UINT64_C(0x0007C87580D2C201), UINT64_C(0x0001BF98F86FC444),
2848           UINT64_C(0x000138F3A6FA662A), UINT64_C(0x0001A06E15120B69)},
2849          {UINT64_C(0x0008025E88D639DD), UINT64_C(0x0000E347C30AA122),
2850           UINT64_C(0x0002589D8BA62AC4), UINT64_C(0x0002E11924750A60),
2851           UINT64_C(0x0001FBEE719BDB54), UINT64_C(0x0004C0C9348C22B4),
2852           UINT64_C(0x00057FD26F80CAC8), UINT64_C(0x00019B358CE6D1E3),
2853           UINT64_C(0x00007A93D359D2C5), UINT64_C(0x00077158FA133E83)}},
2854         {{UINT64_C(0x000D7DAFE61175ED), UINT64_C(0x0000E4504E665412),
2855           UINT64_C(0x0005FB729DDEE3EC), UINT64_C(0x000047F270C83BC2),
2856           UINT64_C(0x0005A73604DF6148), UINT64_C(0x000BD1E93DBD8BB5),
2857           UINT64_C(0x0000AC824EAD6B31), UINT64_C(0x0005FF3E8CE9DCC5),
2858           UINT64_C(0x00007CC6E8CFFAC1), UINT64_C(0x0002AFFEFFBB1A9A)},
2859          {UINT64_C(0x00023316BB40DF6E), UINT64_C(0x000481B56A077501),
2860           UINT64_C(0x00013E2A0B14557D), UINT64_C(0x000595D27B53FF98),
2861           UINT64_C(0x0003C19B9D245EB2), UINT64_C(0x000FE22605BBBE16),
2862           UINT64_C(0x0005BBC13BECC9C3), UINT64_C(0x0005555CC21B1639),
2863           UINT64_C(0x0006C7E755F4FE0A), UINT64_C(0x00004CED449C0043)},
2864          {UINT64_C(0x000F212C1FCCCAFA), UINT64_C(0x00065AA07D23A1F0),
2865           UINT64_C(0x000653B0A8787B0D), UINT64_C(0x0002764B66DA9938),
2866           UINT64_C(0x0001C729D799C70F), UINT64_C(0x000B8104F70D5296),
2867           UINT64_C(0x0002712DA31EC0BF), UINT64_C(0x00015C3C4923D483),
2868           UINT64_C(0x0005652F2FB13CB3), UINT64_C(0x00041664C0C8CDFC)}},
2869         {{UINT64_C(0x00082999B7AC4DE8), UINT64_C(0x00058A2CECA252A7),
2870           UINT64_C(0x00020C73280A45C0), UINT64_C(0x000450DA84CA8CD7),
2871           UINT64_C(0x0007BF0E4090350D), UINT64_C(0x000ADF283C44352A),
2872           UINT64_C(0x0003E4DCFC4CEE6B), UINT64_C(0x000763CA01B20C07),
2873           UINT64_C(0x00074828372B938A), UINT64_C(0x00022EC150908F6A)},
2874          {UINT64_C(0x0002582469359E84), UINT64_C(0x000228A33D25EEC6),
2875           UINT64_C(0x0006435073D85A7E), UINT64_C(0x000227840F93D3F5),
2876           UINT64_C(0x000262B1B8D3C804), UINT64_C(0x000340D7D4B65A82),
2877           UINT64_C(0x0003D2F31E1046E9), UINT64_C(0x0004F093EF407EAD),
2878           UINT64_C(0x0000739071C0CFCC), UINT64_C(0x00026D2395B09E2C)},
2879          {UINT64_C(0x000F54E820DEB8D8), UINT64_C(0x000587F5BBC119C5),
2880           UINT64_C(0x00033CF484DE2CE4), UINT64_C(0x00072D6E48747C29),
2881           UINT64_C(0x0001FC0C06AF6484), UINT64_C(0x00072C72C472F425),
2882           UINT64_C(0x0006A997E7AC72B4), UINT64_C(0x000615BA71BDA74C),
2883           UINT64_C(0x000194736B2BCBEA), UINT64_C(0x00053764E1CF34DF)}},
2884     },
2885     {
2886         {{UINT64_C(0x000869A43C294C54), UINT64_C(0x0003CB29D7749693),
2887           UINT64_C(0x0007C4909DB7E1DF), UINT64_C(0x0005228EB2FBC6A3),
2888           UINT64_C(0x0001416FC12D302E), UINT64_C(0x00091471B10D8725),
2889           UINT64_C(0x0001E08AA9DECE88), UINT64_C(0x000587A018AD629C),
2890           UINT64_C(0x0006C4A4C27A1DCA), UINT64_C(0x0005C28EBD109BCD)},
2891          {UINT64_C(0x000F17D6F444B156), UINT64_C(0x00010614A6278D4D),
2892           UINT64_C(0x00004E296EC65945), UINT64_C(0x000764A3D99A6C4C),
2893           UINT64_C(0x0003AC1DDF8C7862), UINT64_C(0x000A1BDC47EBAF83),
2894           UINT64_C(0x000575E7E4E6E02D), UINT64_C(0x000346FF3FA7D4EF),
2895           UINT64_C(0x0006490E0AA55F9E), UINT64_C(0x0003DE09135EA98D)},
2896          {UINT64_C(0x0004B1218EED069B), UINT64_C(0x0003A6C9EA9923A4),
2897           UINT64_C(0x0001EC1877C85728), UINT64_C(0x000300A0F14A71F6),
2898           UINT64_C(0x0006ECECC49016EB), UINT64_C(0x00058EED82849105),
2899           UINT64_C(0x000400ECD17E513E), UINT64_C(0x00060825E3952E96),
2900           UINT64_C(0x000565AE484D0F5D), UINT64_C(0x000209AD7372BC07)}},
2901         {{UINT64_C(0x000967088E9B527F), UINT64_C(0x0002672CB51B0152),
2902           UINT64_C(0x0000A1B79BAEC761), UINT64_C(0x0001174B982E833F),
2903           UINT64_C(0x00024E0D77B79A0D), UINT64_C(0x00047372BD137D72),
2904           UINT64_C(0x0000BD9098E4916F), UINT64_C(0x0002AE2E6C280D68),
2905           UINT64_C(0x000569AB6BDEC767), UINT64_C(0x0006EB14F61A266B)},
2906          {UINT64_C(0x000468847FDDE1A1), UINT64_C(0x0007E47FFAC321C1),
2907           UINT64_C(0x000099E09961D0C8), UINT64_C(0x0007F115DEAE525D),
2908           UINT64_C(0x000694F77EF9636E), UINT64_C(0x00040F8DDE23159D),
2909           UINT64_C(0x0006680E30AEF9BB), UINT64_C(0x0006B528CEF988BE),
2910           UINT64_C(0x000518BE82D6063B), UINT64_C(0x00022B8C074B2105)},
2911          {UINT64_C(0x0003A4C05B585761), UINT64_C(0x0003528539A1DAD4),
2912           UINT64_C(0x000540826053F31F), UINT64_C(0x0003BA075642B0C7),
2913           UINT64_C(0x000368D07DE9484A), UINT64_C(0x000B3D3E8D9BA85E),
2914           UINT64_C(0x0007550F9A53DD73), UINT64_C(0x000041A194358CC9),
2915           UINT64_C(0x0004F9F0386A50A1), UINT64_C(0x00041D37DCFBA507)}},
2916         {{UINT64_C(0x00024FF20ED85567), UINT64_C(0x00026ACB40B58156),
2917           UINT64_C(0x0002C9398F6DD650), UINT64_C(0x00030160273B8447),
2918           UINT64_C(0x0002E3773B782B9F), UINT64_C(0x0007030F6938A06B),
2919           UINT64_C(0x0004E62A1384F897), UINT64_C(0x000225C672A35300),
2920           UINT64_C(0x0005C1F66CAD5B3A), UINT64_C(0x0005832B4574C046)},
2921          {UINT64_C(0x0006B08E0399855F), UINT64_C(0x0000E9671A6388F9),
2922           UINT64_C(0x0006596FB4577230), UINT64_C(0x00041255210F89BD),
2923           UINT64_C(0x00058F5E2E72B2D8), UINT64_C(0x0003DEA57DF34241),
2924           UINT64_C(0x00021714F7980B29), UINT64_C(0x00033241DDA8B0E5),
2925           UINT64_C(0x000502E01B9EF7BE), UINT64_C(0x00027166556F5433)},
2926          {UINT64_C(0x0002068F4390F72B), UINT64_C(0x000037FC7DD50F35),
2927           UINT64_C(0x0003D7105B085171), UINT64_C(0x0003F4A9D00E2D1B),
2928           UINT64_C(0x00036BA34F00ADB8), UINT64_C(0x000BAA7FD102D0DF),
2929           UINT64_C(0x0006D540C7AB1FE3), UINT64_C(0x0006D399320CD3FB),
2930           UINT64_C(0x00000969ECDCA36E), UINT64_C(0x000736A5F44C73E5)}},
2931         {{UINT64_C(0x000A1EA8102BF7EA), UINT64_C(0x00076681D903FE4E),
2932           UINT64_C(0x00016827A8F7E29F), UINT64_C(0x000041D34C09DF5C),
2933           UINT64_C(0x0003C9643E4AE7F0), UINT64_C(0x000AA849BA118FEC),
2934           UINT64_C(0x0004F8B809BA8FD8), UINT64_C(0x0000D32D898D1E18),
2935           UINT64_C(0x00057AF4934DCD86), UINT64_C(0x000564F85C2CDDAD)},
2936          {UINT64_C(0x000E180C6892618B), UINT64_C(0x0006FF7240030636),
2937           UINT64_C(0x000366CD397F1774), UINT64_C(0x0005728BDC33187B),
2938           UINT64_C(0x0000B3266F640DCE), UINT64_C(0x000128B8A25D3F67),
2939           UINT64_C(0x0007708EE6E8BF9F), UINT64_C(0x00046A93620B4A05),
2940           UINT64_C(0x0007290D084B52EC), UINT64_C(0x000739810783526B)},
2941          {UINT64_C(0x000CC39B5FFAF5D7), UINT64_C(0x0003C6202DA25104),
2942           UINT64_C(0x00062CC8759BDEDE), UINT64_C(0x00036D29F17389AF),
2943           UINT64_C(0x00012C6A9C28C6C5), UINT64_C(0x0009DCE18E457FFC),
2944           UINT64_C(0x0004ECCE05180B2B), UINT64_C(0x000596ACCF512291),
2945           UINT64_C(0x00062945DAA66E26), UINT64_C(0x00050AD4823F6CFD)}},
2946         {{UINT64_C(0x000A8CC651B80948), UINT64_C(0x0001E1750AC465BE),
2947           UINT64_C(0x000187C1C7A67AC8), UINT64_C(0x0006F89CE139F631),
2948           UINT64_C(0x00036828EE424F47), UINT64_C(0x000F2D70AE145D31),
2949           UINT64_C(0x0004B3577A19593F), UINT64_C(0x0001B7EA66A3F33D),
2950           UINT64_C(0x00077FC34430FB8C), UINT64_C(0x0007F27E8D488429)},
2951          {UINT64_C(0x000F6CC160A3C9DE), UINT64_C(0x000192CEF1A784E0),
2952           UINT64_C(0x00055B5C5AEEC896), UINT64_C(0x0006D5903202D1D5),
2953           UINT64_C(0x00044EE2B9F57100), UINT64_C(0x00085703712819CA),
2954           UINT64_C(0x00050908533B6653), UINT64_C(0x0003454ED72A02D5),
2955           UINT64_C(0x00070AC25F6383E3), UINT64_C(0x00048EB15CD43A55)},
2956          {UINT64_C(0x000A62A87FDE7680), UINT64_C(0x0001AF035CE0A44A),
2957           UINT64_C(0x0007F2C92A8D048E), UINT64_C(0x0000CEE23583E470),
2958           UINT64_C(0x00003B703640D1F1), UINT64_C(0x00098B27784DA23E),
2959           UINT64_C(0x0003A7C34610E147), UINT64_C(0x00073D1ABE50B09E),
2960           UINT64_C(0x0002938FFA96CAB7), UINT64_C(0x0003E1959EF246D8)}},
2961         {{UINT64_C(0x0001869BB1B94C69), UINT64_C(0x00051734C75D4111),
2962           UINT64_C(0x00000E8A85605AF9), UINT64_C(0x00047660F7146E01),
2963           UINT64_C(0x00026CB57D10B81E), UINT64_C(0x0006DC6E8E61EABF),
2964           UINT64_C(0x00040BDBDDA25575), UINT64_C(0x000621970F444FB0),
2965           UINT64_C(0x0005A68915E84863), UINT64_C(0x0003FC0413B2B9DB)},
2966          {UINT64_C(0x00057BA222699263), UINT64_C(0x0007645EE7373008),
2967           UINT64_C(0x0001A2F8038B610D), UINT64_C(0x000677556F7C8C70),
2968           UINT64_C(0x0004CE4E5D52ADBA), UINT64_C(0x000CAE8AF894C9EB),
2969           UINT64_C(0x000289D1174CA2E9), UINT64_C(0x00032825A0B38AD1),
2970           UINT64_C(0x0002D70424509A50), UINT64_C(0x000588C224908678)},
2971          {UINT64_C(0x000EC8195559B033), UINT64_C(0x0004928CC1FABC5C),
2972           UINT64_C(0x0007E050DE738A9E), UINT64_C(0x0003E981A0A1EF6A),
2973           UINT64_C(0x00001FE76C501153), UINT64_C(0x000CB9239B643220),
2974           UINT64_C(0x0006875D72093E18), UINT64_C(0x00025CA8156C881B),
2975           UINT64_C(0x00048360BD70DA5F), UINT64_C(0x00012C76B37E5C67)}},
2976         {{UINT64_C(0x000CADFF54C5FC61), UINT64_C(0x0003100C3F2C3EC2),
2977           UINT64_C(0x00072D1EA82213E6), UINT64_C(0x0007F17AA56C2E31),
2978           UINT64_C(0x0006CBE667300217), UINT64_C(0x000A75C32AC1D00C),
2979           UINT64_C(0x0000900399B302FC), UINT64_C(0x00066D6BDEE4B606),
2980           UINT64_C(0x00005EFA0E987CE1), UINT64_C(0x0002C879F735E948)},
2981          {UINT64_C(0x0002780923AD1294), UINT64_C(0x00050A7906F38719),
2982           UINT64_C(0x0004D2CE3806BCDB), UINT64_C(0x0006D8F87C7B1F2D),
2983           UINT64_C(0x0005BC54F9F117E6), UINT64_C(0x000AFCE58A3CEADC),
2984           UINT64_C(0x000026B8F094B4FB), UINT64_C(0x000511D8D0A6A1C0),
2985           UINT64_C(0x00026046F65CA5CE), UINT64_C(0x0007B31882AB5612)},
2986          {UINT64_C(0x00019F342DF704E3), UINT64_C(0x00053617515314C8),
2987           UINT64_C(0x000622A658FC7975), UINT64_C(0x0006453B59E91EF8),
2988           UINT64_C(0x00042BFDC9994A46), UINT64_C(0x000238C1575D2AF0),
2989           UINT64_C(0x00029CD2DC2AE52F), UINT64_C(0x000479332C429AD4),
2990           UINT64_C(0x000428FDA62FAFFA), UINT64_C(0x0007D90C15C992EF)}},
2991         {{UINT64_C(0x000E4A20CED7FD14), UINT64_C(0x0004C97EA9E0328B),
2992           UINT64_C(0x0006E9445684BABF), UINT64_C(0x000151806F26ED39),
2993           UINT64_C(0x0001160C77905467), UINT64_C(0x000C6609DEA0FC1A),
2994           UINT64_C(0x0002A722284AD939), UINT64_C(0x00003ADBE879DBC4),
2995           UINT64_C(0x00015AC0555FD701), UINT64_C(0x0001F94BEBDB96D9)},
2996          {UINT64_C(0x0004AAF2301F16D2), UINT64_C(0x0007F51734ABB20B),
2997           UINT64_C(0x00042C8A35243B42), UINT64_C(0x0001B3820B36100F),
2998           UINT64_C(0x000115444F5C6CAF), UINT64_C(0x000F3926D4333445),
2999           UINT64_C(0x000587A6557C80D0), UINT64_C(0x000665447A091344),
3000           UINT64_C(0x0003F84BD9CE1BCA), UINT64_C(0x0007200779A07D57)},
3001          {UINT64_C(0x000C61B46E3949CF), UINT64_C(0x0000D8E735ED00B6),
3002           UINT64_C(0x00048A5E9F98CEA3), UINT64_C(0x00024C0D94F3C634),
3003           UINT64_C(0x000538D79B7A6393), UINT64_C(0x00021002B287137D),
3004           UINT64_C(0x000799366E30C2E8), UINT64_C(0x0006B1AF8463E70D),
3005           UINT64_C(0x00048CDE10CB3E51), UINT64_C(0x00017412D6535F95)}},
3006         {{UINT64_C(0x000BAA4CCFEC442D), UINT64_C(0x0005DDC1184E8BA8),
3007           UINT64_C(0x0007D1F6A8B018EA), UINT64_C(0x000769A32FD77A23),
3008           UINT64_C(0x0002355FBFEE11A4), UINT64_C(0x000D2BB5D9500DE9),
3009           UINT64_C(0x000351D470C5EA4E), UINT64_C(0x0004BDBFBB0E40E5),
3010           UINT64_C(0x0001A757E0DE9DFA), UINT64_C(0x0005DD504BAB40E2)},
3011          {UINT64_C(0x000D79053EF41593), UINT64_C(0x0000C6229EE33D5E),
3012           UINT64_C(0x0004C4A2E362ED5D), UINT64_C(0x0006D21696B79D70),
3013           UINT64_C(0x000530ED2DF8E89F), UINT64_C(0x00033E8AD160078D),
3014           UINT64_C(0x000188BB911588CC), UINT64_C(0x0001659B61A4C110),
3015           UINT64_C(0x0000AC04E00E10DC), UINT64_C(0x0007BAAFBA1435EF)},
3016          {UINT64_C(0x000F5FC78EDB6AE0), UINT64_C(0x00053D7865FB725A),
3017           UINT64_C(0x0006ED24F885E307), UINT64_C(0x0005CE843771EF4F),
3018           UINT64_C(0x00058D6256C79CC2), UINT64_C(0x00010C8CBB613DE9),
3019           UINT64_C(0x0004D23EBA7C20F7), UINT64_C(0x0004AAB81D2BD1A4),
3020           UINT64_C(0x0007EAA3AAB8A668), UINT64_C(0x0003973523884C90)}},
3021         {{UINT64_C(0x000D315BCC6A4EBE), UINT64_C(0x00023AE21C0D026D),
3022           UINT64_C(0x00074CC51E26A4A7), UINT64_C(0x0004EABBCED74E32),
3023           UINT64_C(0x0006B0E906F48456), UINT64_C(0x0001FD94BDF2BC16),
3024           UINT64_C(0x0002B3738B72AE1B), UINT64_C(0x0006DDA66FC3E72B),
3025           UINT64_C(0x0000A0BAE6CE73F8), UINT64_C(0x000649ACF7A899F4)},
3026          {UINT64_C(0x000B963804F8D424), UINT64_C(0x0006F39A9330D7C7),
3027           UINT64_C(0x0004A7B044BBF992), UINT64_C(0x0003B6ACEE3101AE),
3028           UINT64_C(0x000380FD2850FBDA), UINT64_C(0x000A7E356E4721CB),
3029           UINT64_C(0x0006D74381BB53BD), UINT64_C(0x00077C758E87A472),
3030           UINT64_C(0x00034ED47B90A5C1), UINT64_C(0x000541B8694A1D57)},
3031          {UINT64_C(0x000213F762157EAF), UINT64_C(0x0003DDFE58F8609F),
3032           UINT64_C(0x00051DB2894E81BD), UINT64_C(0x000217B6B6443ED1),
3033           UINT64_C(0x0003C3FD6874D805), UINT64_C(0x0009D6AC77E5E651),
3034           UINT64_C(0x000585C8D73CF003), UINT64_C(0x0001177F582F8B0D),
3035           UINT64_C(0x0006139F224E35C7), UINT64_C(0x00006B22BB7192B0)}},
3036         {{UINT64_C(0x0005C1F05010C834), UINT64_C(0x0003113280A7C18B),
3037           UINT64_C(0x000402B6DBFA220A), UINT64_C(0x00046EABCF726FB6),
3038           UINT64_C(0x000175B743915725), UINT64_C(0x000E4CE9A3461CCF),
3039           UINT64_C(0x0001C5E283A38DED), UINT64_C(0x0004D6C8A05331E5),
3040           UINT64_C(0x0006D2583BCB0A6F), UINT64_C(0x0003AAA41153FCC0)},
3041          {UINT64_C(0x000A352F702DDC40), UINT64_C(0x0007D7130B63AB8C),
3042           UINT64_C(0x00017012D62D24CA), UINT64_C(0x00036D6618341280),
3043           UINT64_C(0x00042CD7A92424EC), UINT64_C(0x0004455D81496370),
3044           UINT64_C(0x0002C71773A15E7B), UINT64_C(0x000319726F43A64E),
3045           UINT64_C(0x00061BA3963EE4E5), UINT64_C(0x0006EA9AD805A571)},
3046          {UINT64_C(0x0001C51E5B6AE1BB), UINT64_C(0x0000940E67BDF3D8),
3047           UINT64_C(0x0004303CE5522A77), UINT64_C(0x0007682D028A84C6),
3048           UINT64_C(0x00054D741BEDE444), UINT64_C(0x00049041A3E00485),
3049           UINT64_C(0x00061D64B9E535C8), UINT64_C(0x00026B36E1180C79),
3050           UINT64_C(0x00037DC2FB4BBDCE), UINT64_C(0x0003E50BD67DF773)}},
3051         {{UINT64_C(0x0009A8E363B551FC), UINT64_C(0x0003C8F4B97600B8),
3052           UINT64_C(0x0002AC4D3F80805A), UINT64_C(0x0007F634F89272C9),
3053           UINT64_C(0x0005018AAD3C2F10), UINT64_C(0x000839F5851BC891),
3054           UINT64_C(0x00051EB91313038C), UINT64_C(0x00008705A06CCCC9),
3055           UINT64_C(0x00055961D9C37E66), UINT64_C(0x00065992B370FB1A)},
3056          {UINT64_C(0x000033C42B482130), UINT64_C(0x00001ED0534D30B9),
3057           UINT64_C(0x0003CCB1B89FEFCA), UINT64_C(0x00027E1B2B1E8762),
3058           UINT64_C(0x0001B4D9C8C9A94E), UINT64_C(0x000B112BA6074641),
3059           UINT64_C(0x0001600271D8DC7A), UINT64_C(0x0003D379BCAB026B),
3060           UINT64_C(0x000023990289F9BD), UINT64_C(0x00034CB0141402B9)},
3061          {UINT64_C(0x000FC8B21E970F5A), UINT64_C(0x000645D4DAFEA6BA),
3062           UINT64_C(0x0004AB31A4584708), UINT64_C(0x00042A82D72C4005),
3063           UINT64_C(0x00018A07C94BFF8F), UINT64_C(0x000B940457D4526F),
3064           UINT64_C(0x0002B84EF0E2C65C), UINT64_C(0x00015EDE587F066A),
3065           UINT64_C(0x0007B339EA0568AD), UINT64_C(0x0000C15683B4ED21)}},
3066         {{UINT64_C(0x000C2A3BC5E45C10), UINT64_C(0x00019DD27F647208),
3067           UINT64_C(0x0001CC4D0E9788D9), UINT64_C(0x000239D5295ABFF1),
3068           UINT64_C(0x00006A78F80338D3), UINT64_C(0x000D38F708F1447E),
3069           UINT64_C(0x0005402FECD5F832), UINT64_C(0x00003152B770F7D0),
3070           UINT64_C(0x000727F40CC0FE28), UINT64_C(0x000201310EEDAB24)},
3071          {UINT64_C(0x0003A811FB4DE1FA), UINT64_C(0x0003F2DC5B4E9FC4),
3072           UINT64_C(0x00071A6F274F0FCE), UINT64_C(0x000767549B19F783),
3073           UINT64_C(0x00025B2A9BF40B8C), UINT64_C(0x000419CB0D40B471),
3074           UINT64_C(0x000160FCD458E327), UINT64_C(0x0001AED850052B97),
3075           UINT64_C(0x000655AB35DEDE29), UINT64_C(0x000502A05E2F8319)},
3076          {UINT64_C(0x000338A047D08030), UINT64_C(0x00050A7982BB722B),
3077           UINT64_C(0x000383E0216F4B3F), UINT64_C(0x0004C7A4ED9B9E89),
3078           UINT64_C(0x0004E87685DC7649), UINT64_C(0x0006D484C7EBB3E3),
3079           UINT64_C(0x0006DE1BC9FDC618), UINT64_C(0x0005BD6D2BB413A0),
3080           UINT64_C(0x000049BD7BE1BE65), UINT64_C(0x00016C04FAA43BB8)}},
3081         {{UINT64_C(0x00004480CB2786D2), UINT64_C(0x00016A7099089F43),
3082           UINT64_C(0x0004937243CD80DB), UINT64_C(0x00012750E73A6278),
3083           UINT64_C(0x000626538BE283B6), UINT64_C(0x00040FA0E5894E03),
3084           UINT64_C(0x0006BF9036149B73), UINT64_C(0x000340A6643F7198),
3085           UINT64_C(0x0000FDF9E90AE71F), UINT64_C(0x0002026C7AB86EA7)},
3086          {UINT64_C(0x000D16EFFDC6C167), UINT64_C(0x00079987485ACAFE),
3087           UINT64_C(0x00044ECAA2B81CB1), UINT64_C(0x00012E547660B8E8),
3088           UINT64_C(0x0007B1BE4F5084D6), UINT64_C(0x00035ECD495C1561),
3089           UINT64_C(0x00019428F31961AD), UINT64_C(0x0003A909AF294BAC),
3090           UINT64_C(0x0002EBAA89C6DB55), UINT64_C(0x00074D7085DEC609)},
3091          {UINT64_C(0x00012AC41AD9E34A), UINT64_C(0x0002CD879D1C83F1),
3092           UINT64_C(0x0001DB74B741FC14), UINT64_C(0x00066DA29E07A4EC),
3093           UINT64_C(0x00000D7E37FEFC54), UINT64_C(0x000A26B97A5598EA),
3094           UINT64_C(0x000615C93236E843), UINT64_C(0x000382BC16FB3B6F),
3095           UINT64_C(0x00025E0626E0106E), UINT64_C(0x0005854D6D92CC47)}},
3096         {{UINT64_C(0x000B6DA23DC37DD7), UINT64_C(0x000627D60888F4D0),
3097           UINT64_C(0x000182E4C16CC439), UINT64_C(0x000190A2AEAAD64F),
3098           UINT64_C(0x00058A080ED83FEF), UINT64_C(0x000C475B09289638),
3099           UINT64_C(0x00000A2B7CF8481F), UINT64_C(0x00002B5319E8BC29),
3100           UINT64_C(0x00007FF5582B8B07), UINT64_C(0x00071CFF2B7D8A99)},
3101          {UINT64_C(0x000799B83F3B4462), UINT64_C(0x00074ABE8CF43DF5),
3102           UINT64_C(0x00021C8FA0636722), UINT64_C(0x00057366BE84D1CC),
3103           UINT64_C(0x00004CD7BD66A8D7), UINT64_C(0x00071899B3473BA8),
3104           UINT64_C(0x0000747B62595049), UINT64_C(0x00006097B2D1993A),
3105           UINT64_C(0x0004CC30EDA24173), UINT64_C(0x00027116E4563311)},
3106          {UINT64_C(0x0004C7419A1E733D), UINT64_C(0x0000541AD1C0EEBF),
3107           UINT64_C(0x0001BAB59CF44E81), UINT64_C(0x00056EA6AA62AA42),
3108           UINT64_C(0x000088CBEBB0E2E1), UINT64_C(0x0004D93FA0BF3D38),
3109           UINT64_C(0x0001F22C909EE410), UINT64_C(0x00006B1E6CAC473B),
3110           UINT64_C(0x00019E125E7B6046), UINT64_C(0x0001CFB3D7B37E4E)}},
3111         {{UINT64_C(0x00048754583A8735), UINT64_C(0x0007C03868E916A6),
3112           UINT64_C(0x0007B4DCB70752B4), UINT64_C(0x0004EC5FBA952102),
3113           UINT64_C(0x00030F2C4A828172), UINT64_C(0x00023232F926F234),
3114           UINT64_C(0x0007257074636C00), UINT64_C(0x0007BBA1745B61D3),
3115           UINT64_C(0x0004606E90A58313), UINT64_C(0x0007E22E07DE154B)},
3116          {UINT64_C(0x0006C2E97C0DBC05), UINT64_C(0x00054DEBDD212630),
3117           UINT64_C(0x0002C65F92437420), UINT64_C(0x00024DA821327EDC),
3118           UINT64_C(0x000580B8B7AD4E87), UINT64_C(0x0001CF81FE5285E9),
3119           UINT64_C(0x0006DD81D32634A6), UINT64_C(0x0003338A292D42A1),
3120           UINT64_C(0x000025E961008BC1), UINT64_C(0x00036D9C01BA5AB9)},
3121          {UINT64_C(0x000DC6D75F088499), UINT64_C(0x0000A65C50F7E24F),
3122           UINT64_C(0x00045F9DC37DEEF4), UINT64_C(0x0007A85A69654899),
3123           UINT64_C(0x0004F6026DDF5B58), UINT64_C(0x00013EF829317A2A),
3124           UINT64_C(0x00021C7A10A33027), UINT64_C(0x000556BF6AB7F742),
3125           UINT64_C(0x0001388625C5DA4A), UINT64_C(0x000515466D6ABA32)}},
3126     },
3127     {
3128         {{UINT64_C(0x0006AEDBD4096564), UINT64_C(0x0004FA8B9BD472A8),
3129           UINT64_C(0x000518E920FABD7C), UINT64_C(0x00035641C8964A33),
3130           UINT64_C(0x0003B7F827A7DEB4), UINT64_C(0x00087747322CE9B7),
3131           UINT64_C(0x0000065AF64E2636), UINT64_C(0x0007E118D796640B),
3132           UINT64_C(0x00022A725F5CDAF8), UINT64_C(0x0006482AF75091E7)},
3133          {UINT64_C(0x0004D5F5FBAF23D8), UINT64_C(0x00018961AF8EF02D),
3134           UINT64_C(0x0004410974A5C748), UINT64_C(0x0003671CA4C34023),
3135           UINT64_C(0x000198D894EF5FDF), UINT64_C(0x00045C045A1A5DA1),
3136           UINT64_C(0x00006A2E629F4DBD), UINT64_C(0x0005EF0CF4FEC9BD),
3137           UINT64_C(0x0002E56472C2285E), UINT64_C(0x000081F06DCB9DCB)},
3138          {UINT64_C(0x000E80FFCADCC17A), UINT64_C(0x00005936ED4B05E0),
3139           UINT64_C(0x0005E5192BD5AE9E), UINT64_C(0x0004DAF3465C58CF),
3140           UINT64_C(0x0006378BB4FAF5A0), UINT64_C(0x000CD0DB0E0B2AB7),
3141           UINT64_C(0x00059295D7556578), UINT64_C(0x00017B233F34BAA3),
3142           UINT64_C(0x0002571548CAFBE4), UINT64_C(0x0005236D086B5D11)}},
3143         {{UINT64_C(0x000C6C8A8FEAF23E), UINT64_C(0x00015B3EACB47609),
3144           UINT64_C(0x0001C051945F47AE), UINT64_C(0x0003BB72E86D1518),
3145           UINT64_C(0x0002F0317989531D), UINT64_C(0x000734207AD0F517),
3146           UINT64_C(0x000363F8254FFC55), UINT64_C(0x00016DC567D3F213),
3147           UINT64_C(0x0004C688524FC6D3), UINT64_C(0x000156E27F2C4E00)},
3148          {UINT64_C(0x00094738AD2D4E84), UINT64_C(0x000308AECD530FE4),
3149           UINT64_C(0x0003502EB6F601CA), UINT64_C(0x0000A8DF04C92C06),
3150           UINT64_C(0x00050EB08481C052), UINT64_C(0x000AA7EB925117D8),
3151           UINT64_C(0x00049599E1644BCD), UINT64_C(0x0005C13296C44839),
3152           UINT64_C(0x000500DE14878BFC), UINT64_C(0x00071AD4469CF9E7)},
3153          {UINT64_C(0x000E2FB921857436), UINT64_C(0x00043A88AF65DD1C),
3154           UINT64_C(0x0007AE448925AD60), UINT64_C(0x000665712480CF54),
3155           UINT64_C(0x0002182C680974A7), UINT64_C(0x000A0E7328765D70),
3156           UINT64_C(0x000268DF8BD38233), UINT64_C(0x0006919944C2A877),
3157           UINT64_C(0x0007783F5CA85F2D), UINT64_C(0x000739F3727C396A)}},
3158         {{UINT64_C(0x000E191F38D6E32D), UINT64_C(0x0003D053DFEFE14D),
3159           UINT64_C(0x0006103BF922921F), UINT64_C(0x0002781AB0853980),
3160           UINT64_C(0x0004D1652DB90908), UINT64_C(0x0005E1F759009BDD),
3161           UINT64_C(0x00019A45C89003A3), UINT64_C(0x0006A14C19DCA07A),
3162           UINT64_C(0x0005D837A9C8F3A6), UINT64_C(0x0000DE43E792E061)},
3163          {UINT64_C(0x000058271D24FD29), UINT64_C(0x00068BAB21F6CEE4),
3164           UINT64_C(0x0004478711E724E4), UINT64_C(0x0006CEF29CE967CC),
3165           UINT64_C(0x0004B50277D6D492), UINT64_C(0x0004164FBC658CA4),
3166           UINT64_C(0x0005AF1234A44C70), UINT64_C(0x0003BD47313B580F),
3167           UINT64_C(0x0006BC5D3649D3EC), UINT64_C(0x0007638ACC404B36)},
3168          {UINT64_C(0x00025CAF5D092528), UINT64_C(0x00015409EDAAF2E8),
3169           UINT64_C(0x00058CB7B8A5B798), UINT64_C(0x0007CA6671CF0F3C),
3170           UINT64_C(0x00052C52122B9340), UINT64_C(0x000DB0C96E176FB1),
3171           UINT64_C(0x00055085B46D6018), UINT64_C(0x0002FDD65EB673C5),
3172           UINT64_C(0x0000B19A0B489654), UINT64_C(0x0002A275A7E071D2)}},
3173         {{UINT64_C(0x0001A067462A7A3F), UINT64_C(0x0007CAA8EAE4E2D4),
3174           UINT64_C(0x0004DFDFC8AE5719), UINT64_C(0x0007F8F8369F764C),
3175           UINT64_C(0x0002A33657D7196B), UINT64_C(0x000ACE1F520DCA38),
3176           UINT64_C(0x00015FA3A1F57752), UINT64_C(0x00001065EF98FA0B),
3177           UINT64_C(0x0004F22D7351AD00), UINT64_C(0x0000B4988C661B8F)},
3178          {UINT64_C(0x000C5FDC9DF374E1), UINT64_C(0x00033D547A4D226B),
3179           UINT64_C(0x0002DA94FE5AD02C), UINT64_C(0x0005207148BDD3C7),
3180           UINT64_C(0x0001521F51FF31A6), UINT64_C(0x00048B1F8084AD9F),
3181           UINT64_C(0x000169D55C98C3B6), UINT64_C(0x00016716681D2998),
3182           UINT64_C(0x00076D65C8585D2D), UINT64_C(0x000503C6F5CC1008)},
3183          {UINT64_C(0x000CE3789E67601E), UINT64_C(0x0000F38B3450DF49),
3184           UINT64_C(0x0003E6488733B404), UINT64_C(0x000128DC95E3F8DB),
3185           UINT64_C(0x0003405A39A11293), UINT64_C(0x000E8E6112B3A418),
3186           UINT64_C(0x00046B9A7FFCE45B), UINT64_C(0x0005D9582699F55F),
3187           UINT64_C(0x000509DE86896EE8), UINT64_C(0x000253344BD2D25A)}},
3188         {{UINT64_C(0x000A74347CE9D01B), UINT64_C(0x00044CA58D3D8F8A),
3189           UINT64_C(0x00050F0D0D68B95B), UINT64_C(0x00066CFA1182777D),
3190           UINT64_C(0x0000B0C791214C7B), UINT64_C(0x0002416F6ECE0445),
3191           UINT64_C(0x00049F613047A77F), UINT64_C(0x00070690C94185C7),
3192           UINT64_C(0x0006E6203DEAD6C4), UINT64_C(0x00030B26F58B9536)},
3193          {UINT64_C(0x000A58FA609D2E01), UINT64_C(0x000678958763572F),
3194           UINT64_C(0x000767549D4EB411), UINT64_C(0x0007809D91FE5A98),
3195           UINT64_C(0x00013335B8563F17), UINT64_C(0x0009523C3394E0DA),
3196           UINT64_C(0x00048A10A1B96912), UINT64_C(0x000742BA8C558752),
3197           UINT64_C(0x00009B3582D1EFD9), UINT64_C(0x00016EAF2C3E1BD3)},
3198          {UINT64_C(0x000E2DC67D5E5A88), UINT64_C(0x000598CF6F4EF704),
3199           UINT64_C(0x00011C238E331841), UINT64_C(0x0002E1CA17ED944C),
3200           UINT64_C(0x0007FEA87E3DB53D), UINT64_C(0x0000B99FCC76BB95),
3201           UINT64_C(0x0000BBF95F7E3AB4), UINT64_C(0x000445911CBCE6F1),
3202           UINT64_C(0x00062C0AEE9E79DF), UINT64_C(0x0001ABB8605E684D)}},
3203         {{UINT64_C(0x0003871499B1866E), UINT64_C(0x00026E19448C89A9),
3204           UINT64_C(0x00007B6CB1356919), UINT64_C(0x0007B5EFC7773779),
3205           UINT64_C(0x00071541CD774F9C), UINT64_C(0x0000D81B8DC56F51),
3206           UINT64_C(0x000590BBF413B605), UINT64_C(0x000312F6FCC71713),
3207           UINT64_C(0x00040195ACA7265C), UINT64_C(0x00026C0F46908F3B)},
3208          {UINT64_C(0x000C3CFC3518AB54), UINT64_C(0x0002C5FF27FA6953),
3209           UINT64_C(0x00009C03C91FECE0), UINT64_C(0x00063E758C4A409F),
3210           UINT64_C(0x00047ED48DD883AF), UINT64_C(0x000D3B409A02DCB3),
3211           UINT64_C(0x000710E2A1D5CBE9), UINT64_C(0x0007DC251BA3E052),
3212           UINT64_C(0x00045E9A29900763), UINT64_C(0x0000A7C951A4128D)},
3213          {UINT64_C(0x000B48959A040E34), UINT64_C(0x000641FBFBA37FEE),
3214           UINT64_C(0x0006D6D531398A6F), UINT64_C(0x0005F4725764937E),
3215           UINT64_C(0x0000FB5E7D595AF7), UINT64_C(0x0002A0E33F31CD55),
3216           UINT64_C(0x000171D3C6F621A1), UINT64_C(0x00030886FC60A83C),
3217           UINT64_C(0x0002375FEAAB3B40), UINT64_C(0x000656142FE41FD8)}},
3218         {{UINT64_C(0x00088D813F345513), UINT64_C(0x0006B33BA57A93E0),
3219           UINT64_C(0x0004C7985F7EFB17), UINT64_C(0x0000AD075424ADBA),
3220           UINT64_C(0x0004E8F7946DF6B2), UINT64_C(0x000C112D1F980523),
3221           UINT64_C(0x00049E755D0280A1), UINT64_C(0x0002D0BE2A1F153A),
3222           UINT64_C(0x0003488C3095B641), UINT64_C(0x0004DB1E9A0CD854)},
3223          {UINT64_C(0x000827E184A33715), UINT64_C(0x00026FFF534D1DE2),
3224           UINT64_C(0x0005B116ED309D3B), UINT64_C(0x00040C8D9923F968),
3225           UINT64_C(0x000254D6262F127D), UINT64_C(0x000EB4C401A02B57),
3226           UINT64_C(0x0007C1A5CD19481B), UINT64_C(0x0004E994D22CB148),
3227           UINT64_C(0x0002FD14D8E9A6FF), UINT64_C(0x0003F3B0B506E8EF)},
3228          {UINT64_C(0x0000ACBB2192D0D4), UINT64_C(0x0005AD437C1137DA),
3229           UINT64_C(0x000194DF8F4978FE), UINT64_C(0x000569F428FCD681),
3230           UINT64_C(0x000440AB84EBDA2E), UINT64_C(0x0000071ACB2B9B94),
3231           UINT64_C(0x00036495A727E109), UINT64_C(0x0002C7BBFBC4670C),
3232           UINT64_C(0x00070DF23A25F661), UINT64_C(0x00028B24AE967AD8)}},
3233         {{UINT64_C(0x000A0F56D26C19CD), UINT64_C(0x0002199EFE6C17CF),
3234           UINT64_C(0x000234D29F1CA747), UINT64_C(0x00074E7EDAC788C6),
3235           UINT64_C(0x00056DEF769EC613), UINT64_C(0x0006DA5F9111D368),
3236           UINT64_C(0x00075019DED7070F), UINT64_C(0x000668904B9CC686),
3237           UINT64_C(0x0007BD2278E98141), UINT64_C(0x00074D7CE18B9D06)},
3238          {UINT64_C(0x0001691EF1DB7743), UINT64_C(0x0005BDCB52513251),
3239           UINT64_C(0x0000880DFD58552F), UINT64_C(0x0001D6B3EE69BD0A),
3240           UINT64_C(0x0000DF5A88773C38), UINT64_C(0x000C094929962F60),
3241           UINT64_C(0x0001978F58542D2F), UINT64_C(0x0002477127820A19),
3242           UINT64_C(0x0004F630DFE1AD37), UINT64_C(0x000283387FC2588D)},
3243          {UINT64_C(0x00073E4B175342B1), UINT64_C(0x0001E2EA2F8817F8),
3244           UINT64_C(0x0000E36E592D89B9), UINT64_C(0x000556985C76F3D1),
3245           UINT64_C(0x00017586947F1B9F), UINT64_C(0x00083894538720F0),
3246           UINT64_C(0x00049C8320EB6627), UINT64_C(0x00057FCF4E730A78),
3247           UINT64_C(0x0002A4BEEFAA0B93), UINT64_C(0x000294ECE9A722E1)}},
3248         {{UINT64_C(0x000672F6D1495031), UINT64_C(0x0001BD8FDDE53EF6),
3249           UINT64_C(0x0002B91C714A2C13), UINT64_C(0x0003042764C1BE7A),
3250           UINT64_C(0x000215C56A0EDE6E), UINT64_C(0x000F01712E36F0AB),
3251           UINT64_C(0x000525EB2C91F5D9), UINT64_C(0x0004A7BAC5E8B947),
3252           UINT64_C(0x0005183B56926CBA), UINT64_C(0x0007D3EDAAAC8E27)},
3253          {UINT64_C(0x000282A6939E11C3), UINT64_C(0x00066C4CBC6F5DBE),
3254           UINT64_C(0x0005123C70144F68), UINT64_C(0x0000354705754070),
3255           UINT64_C(0x0005BE6B2B681A76), UINT64_C(0x00054B5DD04806FF),
3256           UINT64_C(0x0004CE73D1EA7C82), UINT64_C(0x000692CC1053AB63),
3257           UINT64_C(0x000535AE1B4F5F42), UINT64_C(0x00060A6C280503D9)},
3258          {UINT64_C(0x0005CCDAD02C3E6B), UINT64_C(0x000236AAF0C2208D),
3259           UINT64_C(0x0002A1B3DC123AD5), UINT64_C(0x0004808D9A85C7CB),
3260           UINT64_C(0x000620B632D048DE), UINT64_C(0x000DE4795B182DAC),
3261           UINT64_C(0x0006F740B4DDEBB6), UINT64_C(0x000527F4E1B71053),
3262           UINT64_C(0x0003711DE510B0C6), UINT64_C(0x0004C2397BB75FD4)}},
3263         {{UINT64_C(0x0004234DA61A7380), UINT64_C(0x0007CFE09C0E115B),
3264           UINT64_C(0x000146042D1F85BF), UINT64_C(0x00076BA304771D0E),
3265           UINT64_C(0x000382E92D2CA568), UINT64_C(0x000F852C7DE31639),
3266           UINT64_C(0x0002B6DA101F3608), UINT64_C(0x0002354CDEB32A3D),
3267           UINT64_C(0x0006D1C3FABA408E), UINT64_C(0x00046A322AB41F71)},
3268          {UINT64_C(0x000835486D6965D2), UINT64_C(0x0005DDC060C09641),
3269           UINT64_C(0x0006FE8F914611BF), UINT64_C(0x00056CBACCEE1D60),
3270           UINT64_C(0x00029652751B4958), UINT64_C(0x00030B1681FB22FD),
3271           UINT64_C(0x0004C26183389F35), UINT64_C(0x00064C5D6F3E855B),
3272           UINT64_C(0x00048CC11FAA68A2), UINT64_C(0x000303DF8C197245)},
3273          {UINT64_C(0x000A93445489DD55), UINT64_C(0x00032C10E5A00644),
3274           UINT64_C(0x00010133787B6B48), UINT64_C(0x000294AF3FFBB10E),
3275           UINT64_C(0x00067150840A8E54), UINT64_C(0x00048B07F53AECD5),
3276           UINT64_C(0x0002BDABD1E806B9), UINT64_C(0x00077916BD0D716C),
3277           UINT64_C(0x0007251EACE82A30), UINT64_C(0x0005BD06E6166102)}},
3278         {{UINT64_C(0x000198DAB8E7D26B), UINT64_C(0x0004B8CD7B0F6214),
3279           UINT64_C(0x0006F94FEBA66594), UINT64_C(0x0006D655AAE8E434),
3280           UINT64_C(0x00033CBDDA515A1D), UINT64_C(0x000FD360D05067E0),
3281           UINT64_C(0x0007D4B6026E8F95), UINT64_C(0x0006FA60F441F382),
3282           UINT64_C(0x000671F70F6E2FD4), UINT64_C(0x00058B341C31C7CD)},
3283          {UINT64_C(0x0003B6DAB18C1F78), UINT64_C(0x000360A07E0CE4B7),
3284           UINT64_C(0x00037BA4F69CC30E), UINT64_C(0x00014F6DD6939E3B),
3285           UINT64_C(0x00071E66AFEA8A58), UINT64_C(0x000F5276CCE6483E),
3286           UINT64_C(0x0003F604318A4007), UINT64_C(0x0001FF31567FCF56),
3287           UINT64_C(0x0007687CFE2E27EA), UINT64_C(0x00043AF6AD6807D2)},
3288          {UINT64_C(0x000152CC8C204025), UINT64_C(0x00032037F0153CD1),
3289           UINT64_C(0x0001E8B1E05EC419), UINT64_C(0x0001B7B6CEF81375),
3290           UINT64_C(0x00017E8291BDC455), UINT64_C(0x0002E282133836F4),
3291           UINT64_C(0x0001D9A6210E2D16), UINT64_C(0x000799CEE0857BEA),
3292           UINT64_C(0x00035D41A84A5412), UINT64_C(0x0006FFBCA27C28A6)}},
3293         {{UINT64_C(0x0000430814E96BE9), UINT64_C(0x00057E73FB140B73),
3294           UINT64_C(0x00060128FAB5ADA4), UINT64_C(0x0007C05121085A5A),
3295           UINT64_C(0x000767DC265FE0E8), UINT64_C(0x00025029FD3C2D6F),
3296           UINT64_C(0x0004EF454786B123), UINT64_C(0x000208D275E826AD),
3297           UINT64_C(0x0006C327FB0C7286), UINT64_C(0x000424E515341DF4)},
3298          {UINT64_C(0x0009BDDC8231AB6B), UINT64_C(0x0005CA9241F8E72F),
3299           UINT64_C(0x000773A7E6FE081D), UINT64_C(0x00024CAA53134E52),
3300           UINT64_C(0x0005AC81DCD4E91A), UINT64_C(0x00062F6FB283E86A),
3301           UINT64_C(0x00020E0D3D1EA811), UINT64_C(0x0000179B49545C71),
3302           UINT64_C(0x00051EA7921EDD08), UINT64_C(0x0001106F03625EEA)},
3303          {UINT64_C(0x000F609CEB81873F), UINT64_C(0x00019BFC53A07BB7),
3304           UINT64_C(0x0002151A37FD339F), UINT64_C(0x0000247FAB99463B),
3305           UINT64_C(0x00028EB12503B657), UINT64_C(0x00000740156BCA3C),
3306           UINT64_C(0x0003050E54A17FC4), UINT64_C(0x00006A21FE8BE254),
3307           UINT64_C(0x000783205CEE4961), UINT64_C(0x0005DDAC46630BD0)}},
3308         {{UINT64_C(0x000D0214026C8378), UINT64_C(0x00049B9512E7C6AB),
3309           UINT64_C(0x00052CAB42C95449), UINT64_C(0x0001712C0B2D3437),
3310           UINT64_C(0x000028712113EE6E), UINT64_C(0x0003C231B02FBAA4),
3311           UINT64_C(0x00034002A05D7466), UINT64_C(0x00047244849D6C0F),
3312           UINT64_C(0x00007A777E770EED), UINT64_C(0x0002FB5FBC1A501D)},
3313          {UINT64_C(0x0007DD3F594FA92E), UINT64_C(0x00011F65F7B4DC87),
3314           UINT64_C(0x0006C8D5BC2A5CD3), UINT64_C(0x00045434BCA486D6),
3315           UINT64_C(0x0000916C2F835346), UINT64_C(0x000284317FF11104),
3316           UINT64_C(0x0000FED4B690D85B), UINT64_C(0x0004F7CD3C5275F4),
3317           UINT64_C(0x00072FCBE2A0E31E), UINT64_C(0x0006DCE382A2D3FC)},
3318          {UINT64_C(0x00010A836271A17B), UINT64_C(0x000731E97701D7E1),
3319           UINT64_C(0x00074424AD4971CE), UINT64_C(0x0007F483B4D3226B),
3320           UINT64_C(0x0000B8D73CF87486), UINT64_C(0x0003747546D2B06B),
3321           UINT64_C(0x0006D6E9758543E8), UINT64_C(0x0002311DE6C16B96),
3322           UINT64_C(0x0000CBAF9CBD69A4), UINT64_C(0x000095BAD5DFF17A)}},
3323         {{UINT64_C(0x000774E982F03894), UINT64_C(0x00068F7BA9BD2B4C),
3324           UINT64_C(0x0001BF739059F5EE), UINT64_C(0x00047AB5F6CF04EE),
3325           UINT64_C(0x00003AC811A5FFEF), UINT64_C(0x0005C95473A71B06),
3326           UINT64_C(0x00059B02D1C89D3A), UINT64_C(0x00011350FAAC38CB),
3327           UINT64_C(0x0002513847A831C2), UINT64_C(0x0007FA7D3DC337C4)},
3328          {UINT64_C(0x000E029A8789C756), UINT64_C(0x0006C80112AA281C),
3329           UINT64_C(0x00008852BEC02592), UINT64_C(0x0003FBF12B155C1A),
3330           UINT64_C(0x0005E093259AD772), UINT64_C(0x0009A44E24E7366E),
3331           UINT64_C(0x0003BF1CA8CB8F83), UINT64_C(0x0006E16F8C3A71FD),
3332           UINT64_C(0x0001DBC1D6FDDDC1), UINT64_C(0x0005A28406D8B874)},
3333          {UINT64_C(0x00052274D60C7FE9), UINT64_C(0x00009ADA801895BF),
3334           UINT64_C(0x000022D4D6202774), UINT64_C(0x00072D947EE0B5BD),
3335           UINT64_C(0x00051A0FEB7FDA2C), UINT64_C(0x000709284A66373B),
3336           UINT64_C(0x00013FB44E784E2E), UINT64_C(0x00043800043BC45B),
3337           UINT64_C(0x0006DEBFA915C8FE), UINT64_C(0x000184A44DB57776)}},
3338         {{UINT64_C(0x000C6E45435B0D8B), UINT64_C(0x0007A4D96FC4C926),
3339           UINT64_C(0x0004DD4FFB13A623), UINT64_C(0x0002B97573D59BA4),
3340           UINT64_C(0x00064D5DAD519C4F), UINT64_C(0x000C54E3E0322075),
3341           UINT64_C(0x00025D680006D4FD), UINT64_C(0x000026C6C103CE9E),
3342           UINT64_C(0x0006A3C770AD980F), UINT64_C(0x00000AFFA7978989)},
3343          {UINT64_C(0x0001BBC06890396F), UINT64_C(0x00059B7508BE77A3),
3344           UINT64_C(0x0002C2F34E1E88EF), UINT64_C(0x0000BA76CC4B6DC3),
3345           UINT64_C(0x00040CB93F2DB890), UINT64_C(0x00038DB1EAF02BA4),
3346           UINT64_C(0x00051A968FE1C009), UINT64_C(0x00079E490FDF2F6E),
3347           UINT64_C(0x00038810CC4881B6), UINT64_C(0x0002F52348865870)},
3348          {UINT64_C(0x000FBCBADF123F77), UINT64_C(0x0005C24E5CE6F8C7),
3349           UINT64_C(0x00057CBE94145D7B), UINT64_C(0x0003D7A5F191DC9F),
3350           UINT64_C(0x000580576DE72DB2), UINT64_C(0x0003E11D99876CB6),
3351           UINT64_C(0x00071D9921E18FA4), UINT64_C(0x0002A74C8C214DE9),
3352           UINT64_C(0x000290E367E8106A), UINT64_C(0x0000A45E602E2A06)}},
3353         {{UINT64_C(0x000C81708300B3A2), UINT64_C(0x00002EB6DD40141C),
3354           UINT64_C(0x00008EBFBAD275A0), UINT64_C(0x00009EB98ABECC72),
3355           UINT64_C(0x0001EA0CBBD24C18), UINT64_C(0x0005C085867DB19C),
3356           UINT64_C(0x00078A2DB60D1751), UINT64_C(0x00032A43EBAC70A1),
3357           UINT64_C(0x0002C402B12DA313), UINT64_C(0x0004F4B89ACDD13A)},
3358          {UINT64_C(0x0004AC90A370FD35), UINT64_C(0x00027D715223E22B),
3359           UINT64_C(0x000564833F08968D), UINT64_C(0x0006A965DB0C2238),
3360           UINT64_C(0x0004C25626C5CCE9), UINT64_C(0x000E894C118288F1),
3361           UINT64_C(0x00004FDD61C59DF2), UINT64_C(0x0004F91479C26D34),
3362           UINT64_C(0x00022FDED1EDE6BC), UINT64_C(0x00053CC6F351DBD1)},
3363          {UINT64_C(0x00041C1E5BF143DB), UINT64_C(0x00078318A8FC82ED),
3364           UINT64_C(0x00073CB01F7A1760), UINT64_C(0x0002BB276EE12092),
3365           UINT64_C(0x00062B5D062F3983), UINT64_C(0x0006C0699785ED64),
3366           UINT64_C(0x000705C5B8750987), UINT64_C(0x000734C5A5EBF1CC),
3367           UINT64_C(0x0006B535CD5FCA58), UINT64_C(0x000173A96CF5E5C2)}},
3368     },
3369     {
3370         {{UINT64_C(0x00013C7D530A0840), UINT64_C(0x00037CA09024BA99),
3371           UINT64_C(0x00000F02A724D26D), UINT64_C(0x0007486168F78DF3),
3372           UINT64_C(0x00057B6FBAF96B6F), UINT64_C(0x00020E874D64E405),
3373           UINT64_C(0x0001C5456BEE2684), UINT64_C(0x000700947727AE36),
3374           UINT64_C(0x0000AF081E60DF35), UINT64_C(0x00049F6D248190F3)},
3375          {UINT64_C(0x000FACBF6A273B2E), UINT64_C(0x0000B50B6F61BB7F),
3376           UINT64_C(0x00016ED02D72CCBD), UINT64_C(0x000009999E37103A),
3377           UINT64_C(0x0006DEE9B338E1D0), UINT64_C(0x00076C4153F5F8EB),
3378           UINT64_C(0x0004FB473E4876B9), UINT64_C(0x00035CB573505218),
3379           UINT64_C(0x00040E4E17B314F1), UINT64_C(0x00064FADD17FB3C8)},
3380          {UINT64_C(0x00090B27A6A17533), UINT64_C(0x00010DB043FC3678),
3381           UINT64_C(0x0005F8AAB7DA8EDB), UINT64_C(0x0005008B83D17311),
3382           UINT64_C(0x00075BB4482F1426), UINT64_C(0x000B1BCB5765DFFA),
3383           UINT64_C(0x000242DCC05593AD), UINT64_C(0x00045C4BE141A4D5),
3384           UINT64_C(0x0006EBC978B8CA73), UINT64_C(0x0004580E5DA2151A)}},
3385         {{UINT64_C(0x000B09415B635B74), UINT64_C(0x000483E55C20EA00),
3386           UINT64_C(0x00070DEE5B80A6E0), UINT64_C(0x00072FD4450BC01C),
3387           UINT64_C(0x0007B300C6DCC536), UINT64_C(0x000754D2BB66E63F),
3388           UINT64_C(0x0001BF3C286F6A01), UINT64_C(0x00025F645BB8410D),
3389           UINT64_C(0x000298DF23B3BFD7), UINT64_C(0x0001774CB501031D)},
3390          {UINT64_C(0x000271CB350C6048), UINT64_C(0x0007DCA7FD3BF959),
3391           UINT64_C(0x0000C41185459A7F), UINT64_C(0x0004BB079006A71E),
3392           UINT64_C(0x0001C3DA681DC428), UINT64_C(0x000E32A22D0BED67),
3393           UINT64_C(0x0001CF9C74CC48D7), UINT64_C(0x000754ED2FD148AF),
3394           UINT64_C(0x0006A6BF79732C29), UINT64_C(0x0000637BA0DEB58F)},
3395          {UINT64_C(0x000AEEE5E5D5BF89), UINT64_C(0x0001BA9622F598CD),
3396           UINT64_C(0x00017E6C0ECF6116), UINT64_C(0x0001B6169A7A5686),
3397           UINT64_C(0x0000C74F9DCA999E), UINT64_C(0x000BAE9A5784B34D),
3398           UINT64_C(0x0003F1DCC80821EF), UINT64_C(0x0006A6297209394D),
3399           UINT64_C(0x000027BAECCEB3DB), UINT64_C(0x0006FBF5A0739FF7)}},
3400         {{UINT64_C(0x000ADF4D9C8BE4C7), UINT64_C(0x0001F7C3F9B2DF52),
3401           UINT64_C(0x000054205B348462), UINT64_C(0x00058A2B0587B556),
3402           UINT64_C(0x0001031A5A79DB2E), UINT64_C(0x000CB7B60FC99B95),
3403           UINT64_C(0x00025FC96A4BB5A5), UINT64_C(0x0006C62B62F597A6),
3404           UINT64_C(0x00009CBDCB2DF127), UINT64_C(0x0002ACC07E9CED89)},
3405          {UINT64_C(0x0000ED235FAE524A), UINT64_C(0x0003E231B9C1C59C),
3406           UINT64_C(0x0005FACE3761829C), UINT64_C(0x000417E0131C4B06),
3407           UINT64_C(0x000703508BE7FC97), UINT64_C(0x00047BA8D9CC12E6),
3408           UINT64_C(0x00040B532D99E9A0), UINT64_C(0x00013850B64F1991),
3409           UINT64_C(0x0005CDF168C10B39), UINT64_C(0x000358ABDF8E6B44)},
3410          {UINT64_C(0x00042687C30120DE), UINT64_C(0x0006F4E854B5AC1D),
3411           UINT64_C(0x000060D24D07C886), UINT64_C(0x0006662BC5B4226E),
3412           UINT64_C(0x0000DD5E40422C53), UINT64_C(0x00066BA1A186AEA2),
3413           UINT64_C(0x0003D5A9977141C7), UINT64_C(0x0007210CB94D5A31),
3414           UINT64_C(0x0000575395147170), UINT64_C(0x0003EEF35D2347C4)}},
3415         {{UINT64_C(0x00005FA6D194F912), UINT64_C(0x000656A4617A17B0),
3416           UINT64_C(0x0002B82DEF48F596), UINT64_C(0x000483AE1ABD8952),
3417           UINT64_C(0x0004FEA93C4AA27F), UINT64_C(0x000A79830ABCFA6B),
3418           UINT64_C(0x00030C8EA10D6328), UINT64_C(0x000150C9AB136C88),
3419           UINT64_C(0x00009F66838D7EB3), UINT64_C(0x000599AAECD736AC)},
3420          {UINT64_C(0x000101FF4997777E), UINT64_C(0x0006FE6DA39F9EF7),
3421           UINT64_C(0x0005DD2FD55D5B90), UINT64_C(0x00001EBA3BFFA43E),
3422           UINT64_C(0x0003937F9AEAE09F), UINT64_C(0x000B6E4EB341745B),
3423           UINT64_C(0x0006A541793FEB35), UINT64_C(0x0004C99BA0510109),
3424           UINT64_C(0x0003ECAA464451F9), UINT64_C(0x000627CC2A28E33F)},
3425          {UINT64_C(0x0006F5CF9EEF8083), UINT64_C(0x0003689B7AF03C8C),
3426           UINT64_C(0x00041C9C530F26AE), UINT64_C(0x0006F1B087DFAE9E),
3427           UINT64_C(0x0005ABB0337D1374), UINT64_C(0x000F05AA9CE380B8),
3428           UINT64_C(0x00039D858198471E), UINT64_C(0x0005CB4A29D7FAB0),
3429           UINT64_C(0x000794534C8BBACE), UINT64_C(0x00039CEB7D5953E0)}},
3430         {{UINT64_C(0x000614976BAF39A3), UINT64_C(0x000325765D4DAD1B),
3431           UINT64_C(0x0006EC2EF5A9DFA1), UINT64_C(0x0004F0B8F0301A47),
3432           UINT64_C(0x000031D97E564E18), UINT64_C(0x0001C40ECB1A0617),
3433           UINT64_C(0x0000DEA316CA6102), UINT64_C(0x000232439090EE60),
3434           UINT64_C(0x0002901913C8FB0F), UINT64_C(0x000412FF556E2402)},
3435          {UINT64_C(0x00064CE9BB2FE15E), UINT64_C(0x0005E645C62B940A),
3436           UINT64_C(0x0003113E7905C6AE), UINT64_C(0x0002BBDF7FB2C955),
3437           UINT64_C(0x0000CCF48175A91B), UINT64_C(0x00038BC3E1E69073),
3438           UINT64_C(0x00004538F90A325F), UINT64_C(0x00046BF9A7D85906),
3439           UINT64_C(0x0005D8AAA52E49AC), UINT64_C(0x0006F70CEB9DE4F0)},
3440          {UINT64_C(0x000635FDDEEE55B1), UINT64_C(0x0002B647305EC4D0),
3441           UINT64_C(0x000785A1C6C0CC5B), UINT64_C(0x0000C28EEEF42FDF),
3442           UINT64_C(0x00070B6DF3CE31F0), UINT64_C(0x00075BB72FEDB524),
3443           UINT64_C(0x00044424339CD683), UINT64_C(0x000724049E9861DF),
3444           UINT64_C(0x000606B0D0C1B71C), UINT64_C(0x00072720DEDAF767)}},
3445         {{UINT64_C(0x000AB553D62ECFB6), UINT64_C(0x00078C8B49E2EE27),
3446           UINT64_C(0x000712AB7130F07C), UINT64_C(0x0007517AB87454C5),
3447           UINT64_C(0x0007A2F222BFE5AF), UINT64_C(0x0009DF9AC8EF8D1E),
3448           UINT64_C(0x00070A0B9486719E), UINT64_C(0x0005FE0A5CBB6815),
3449           UINT64_C(0x0005A777CFBB6EAC), UINT64_C(0x00026AA3DEB05ED1)},
3450          {UINT64_C(0x000178E658CAB163), UINT64_C(0x0006218B72D4439D),
3451           UINT64_C(0x0003E0E7508F98B6), UINT64_C(0x00053A2E9C0FE780),
3452           UINT64_C(0x0000862C90F4AB94), UINT64_C(0x0007D2A76495265C),
3453           UINT64_C(0x00007D6CA0B086A9), UINT64_C(0x00037E0CE123AE70),
3454           UINT64_C(0x0005E35005198C60), UINT64_C(0x00014DB9BE0C9BD4)},
3455          {UINT64_C(0x00022AE27AE69A25), UINT64_C(0x0006BC61B880B6B7),
3456           UINT64_C(0x0002B9A770ACB37C), UINT64_C(0x0006A57A8181E7DE),
3457           UINT64_C(0x000515156749D33A), UINT64_C(0x000089265C87573A),
3458           UINT64_C(0x0002AAB0BA4334FD), UINT64_C(0x00036BFA753F183D),
3459           UINT64_C(0x0007D94CDD21BBEA), UINT64_C(0x00073D056E77BAD1)}},
3460         {{UINT64_C(0x00054034D049A849), UINT64_C(0x0007A61F3DCAD52B),
3461           UINT64_C(0x0006AE0359F441AC), UINT64_C(0x0004FA71A2DB1D12),
3462           UINT64_C(0x0004A3AD2195FB05), UINT64_C(0x000DA575D0991F08),
3463           UINT64_C(0x0004483A3F583D4A), UINT64_C(0x00019E22FF97F896),
3464           UINT64_C(0x00045CE17079EB6F), UINT64_C(0x0003D843DC26F0B3)},
3465          {UINT64_C(0x0005BB7830081F4A), UINT64_C(0x000535B970A5DEEC),
3466           UINT64_C(0x0006920157058AB1), UINT64_C(0x0005ABB6799CD9B0),
3467           UINT64_C(0x0004E722E0BE3E24), UINT64_C(0x00034B265793F314),
3468           UINT64_C(0x000721330570DC23), UINT64_C(0x0004426EF0F5B164),
3469           UINT64_C(0x0007D6F3A6CB44E7), UINT64_C(0x00056E34A5B334A3)},
3470          {UINT64_C(0x0003F8C7FDA5799A), UINT64_C(0x000633A1AB544629),
3471           UINT64_C(0x00036C698257C6E1), UINT64_C(0x000671CB37471C6E),
3472           UINT64_C(0x0006309190EBE26A), UINT64_C(0x000073E0D3C3C947),
3473           UINT64_C(0x00075458F071D648), UINT64_C(0x0000304D50E4E6E2),
3474           UINT64_C(0x00025B9FCE5481C7), UINT64_C(0x000560854658E1E6)}},
3475         {{UINT64_C(0x000AF006973EAE1E), UINT64_C(0x0003BA1CB36833ED),
3476           UINT64_C(0x000440038B6244FE), UINT64_C(0x0001ED4D4B28E0BB),
3477           UINT64_C(0x0004946559A45B7C), UINT64_C(0x000D7AC175A120AF),
3478           UINT64_C(0x0000C782441BE688), UINT64_C(0x0003FBE4F6759494),
3479           UINT64_C(0x0003227FCD0861C6), UINT64_C(0x000693E8E569DF61)},
3480          {UINT64_C(0x000EF3D4D70D6006), UINT64_C(0x0003622B91C969F3),
3481           UINT64_C(0x00059E57B022C126), UINT64_C(0x0004E567BE39909D),
3482           UINT64_C(0x00025826F5172EBE), UINT64_C(0x000978FE696EB07D),
3483           UINT64_C(0x0007E55EC2C54F03), UINT64_C(0x0001F198F1EA9886),
3484           UINT64_C(0x00061284786511BB), UINT64_C(0x00054EBEEA2E481C)},
3485          {UINT64_C(0x000F0108988CDC8A), UINT64_C(0x0006320933C6DB8E),
3486           UINT64_C(0x00069930CEF56158), UINT64_C(0x0003A35FC98F89A6),
3487           UINT64_C(0x00027BD07B67AAA5), UINT64_C(0x000A2124168772A7),
3488           UINT64_C(0x000108CBFCB7F765), UINT64_C(0x000190EA54B1EC2B),
3489           UINT64_C(0x000427DAAD72BFD4), UINT64_C(0x00073EB2D65C41BA)}},
3490         {{UINT64_C(0x000A06A739424A7F), UINT64_C(0x0000F82BABC20278),
3491           UINT64_C(0x0005E0013C80B8BA), UINT64_C(0x00009213E9C746A9),
3492           UINT64_C(0x00077CCF7EE8DCA2), UINT64_C(0x00048553CE359952),
3493           UINT64_C(0x00068D83C7BB1BFC), UINT64_C(0x00023585472C1288),
3494           UINT64_C(0x000683CF0D405E14), UINT64_C(0x0004B248941E148A)},
3495          {UINT64_C(0x000A7C88931485A3), UINT64_C(0x00030D7D59F36392),
3496           UINT64_C(0x0003096B037E2FE5), UINT64_C(0x00072B76E5C87A57),
3497           UINT64_C(0x000412333ADDB88D), UINT64_C(0x00075009989C68F4),
3498           UINT64_C(0x0005EE189974076A), UINT64_C(0x000060FFAFD8A128),
3499           UINT64_C(0x000120ACF08DA33F), UINT64_C(0x000571F558025BFD)},
3500          {UINT64_C(0x000DA9D04CD700E8), UINT64_C(0x00057458C41B633D),
3501           UINT64_C(0x00014B6489FA7B39), UINT64_C(0x0003BD5C957593DD),
3502           UINT64_C(0x0001304CB1D79CF1), UINT64_C(0x0005E9BAF878A8A2),
3503           UINT64_C(0x000194C540C98A95), UINT64_C(0x0003B7B2BACEC32A),
3504           UINT64_C(0x0004F344F8DD4CDE), UINT64_C(0x000078EF34BD78A1)}},
3505         {{UINT64_C(0x000FC67E2383EF8F), UINT64_C(0x000382B810E6F7BF),
3506           UINT64_C(0x00006C9F24B27C13), UINT64_C(0x000057D888D81661),
3507           UINT64_C(0x00054A699A1B1D6B), UINT64_C(0x0008FF73BB9232B4),
3508           UINT64_C(0x0003804878333A2B), UINT64_C(0x00044F051B58790E),
3509           UINT64_C(0x0000271D3AA9BD38), UINT64_C(0x00044CDE0EB6CF43)},
3510          {UINT64_C(0x0000D62B3C3A5A19), UINT64_C(0x000141707504E91E),
3511           UINT64_C(0x0006515C33000546), UINT64_C(0x00017546C6B9FF00),
3512           UINT64_C(0x00045D82E76E1B8B), UINT64_C(0x000AE172E2EB811B),
3513           UINT64_C(0x000413704723E59F), UINT64_C(0x00070B4CE13230E2),
3514           UINT64_C(0x0000054BF697CE5A), UINT64_C(0x00063ECC547A49B9)},
3515          {UINT64_C(0x000602372F14D11C), UINT64_C(0x000378921B1097ED),
3516           UINT64_C(0x00067C4238D607FA), UINT64_C(0x00021D2C859309EE),
3517           UINT64_C(0x0005847490A29E8E), UINT64_C(0x0002D093948C4994),
3518           UINT64_C(0x0000E23389BFC4DD), UINT64_C(0x0007DE892CA061E2),
3519           UINT64_C(0x0004BCEA3495B247), UINT64_C(0x00062F7532D3859D)}},
3520         {{UINT64_C(0x00086B22DF769D24), UINT64_C(0x000247653B1384A5),
3521           UINT64_C(0x0007CA7B0BA8B67B), UINT64_C(0x00003DE749E6F9B6),
3522           UINT64_C(0x00060288E35E6723), UINT64_C(0x000132375704332A),
3523           UINT64_C(0x000090B7E04CAAD9), UINT64_C(0x000618FE2CC615F8),
3524           UINT64_C(0x00071C3FA82E1054), UINT64_C(0x0005ACCA0095992F)},
3525          {UINT64_C(0x0008070A5524110A), UINT64_C(0x0002F514E36570A5),
3526           UINT64_C(0x0007FA5FFDAD9B18), UINT64_C(0x00040716460997F2),
3527           UINT64_C(0x0004A84076418D9B), UINT64_C(0x000191D0E25444E5),
3528           UINT64_C(0x0003F007A978D4FD), UINT64_C(0x00010583B27CE828),
3529           UINT64_C(0x00076188CFB16D13), UINT64_C(0x0004AB4850C52869)},
3530          {UINT64_C(0x000CB5BB8406E9FB), UINT64_C(0x0006229079FE11A8),
3531           UINT64_C(0x00069D10E2374F64), UINT64_C(0x0003E0965719E097),
3532           UINT64_C(0x0003D8E4F1D6E86E), UINT64_C(0x000FEA5863BEBA3D),
3533           UINT64_C(0x0007D0430EF56C07), UINT64_C(0x000181949DFD703D),
3534           UINT64_C(0x0001339A965B35C2), UINT64_C(0x0003B56220F5C7F3)}},
3535         {{UINT64_C(0x00066DEE74B6C3E6), UINT64_C(0x000383135AE75C98),
3536           UINT64_C(0x0004505F98DC1ACE), UINT64_C(0x00032C4BBDDAC89F),
3537           UINT64_C(0x00052AA09F53D136), UINT64_C(0x0004F3A390196005),
3538           UINT64_C(0x0004A5FCAC34F0E0), UINT64_C(0x0001EDC68C692D8B),
3539           UINT64_C(0x0002FD9E6D8EE76F), UINT64_C(0x00029FC1CCA2C8F6)},
3540          {UINT64_C(0x00065029BC02DCE4), UINT64_C(0x00072FD6589B1B83),
3541           UINT64_C(0x00004147281085E5), UINT64_C(0x0003B32D6A3356B3),
3542           UINT64_C(0x00073F9780B33257), UINT64_C(0x0003D884CD344161),
3543           UINT64_C(0x00032F7D4EA15736), UINT64_C(0x0000F5FB646C3211),
3544           UINT64_C(0x000710946F78EE11), UINT64_C(0x00041450BEBEAFA8)},
3545          {UINT64_C(0x0004B10D60B8A44B), UINT64_C(0x00074DF316AD0515),
3546           UINT64_C(0x00000BD0DA3A0140), UINT64_C(0x0002FA9736D69155),
3547           UINT64_C(0x0004AE7CB062A37A), UINT64_C(0x0003B28579544A9B),
3548           UINT64_C(0x00030DEF5D17E4D9), UINT64_C(0x0004FC0A27B77D73),
3549           UINT64_C(0x000103D226B1E92E), UINT64_C(0x0005050AA53E3D45)}},
3550         {{UINT64_C(0x0004C96EE0523578), UINT64_C(0x0002657E40AE1BEA),
3551           UINT64_C(0x00032F4A192D817A), UINT64_C(0x0002963B113F0E7E),
3552           UINT64_C(0x0005E7C716A6D2E3), UINT64_C(0x00027EE6D4437F4B),
3553           UINT64_C(0x0001151EA99B216A), UINT64_C(0x0001183200C3345A),
3554           UINT64_C(0x0004620822162719), UINT64_C(0x0006FF98AC189C7F)},
3555          {UINT64_C(0x0007835A38637315), UINT64_C(0x00021DCF392DA107),
3556           UINT64_C(0x00032E572F2009A7), UINT64_C(0x000551A3874139CB),
3557           UINT64_C(0x00054BA83808EC95), UINT64_C(0x000E3B367E07B1AA),
3558           UINT64_C(0x0001C425C58AF001), UINT64_C(0x0007FEBED49D81AD),
3559           UINT64_C(0x0005614216D95FD6), UINT64_C(0x0007059956FB58D9)},
3560          {UINT64_C(0x0009A088527332D8), UINT64_C(0x0004EBFF217D2F53),
3561           UINT64_C(0x00068A2C41E7A6F9), UINT64_C(0x0007203B80A56ADA),
3562           UINT64_C(0x0003CCF4A503F5B5), UINT64_C(0x0009DE73564AAC98),
3563           UINT64_C(0x0007C64A2D2D5B63), UINT64_C(0x00066A514607F4F4),
3564           UINT64_C(0x0004F7B23A1883CE), UINT64_C(0x000478DBA2254062)}},
3565         {{UINT64_C(0x000891C63EC17278), UINT64_C(0x0003A469EA7941A1),
3566           UINT64_C(0x0006CC724614C2A6), UINT64_C(0x00047368EAC894D3),
3567           UINT64_C(0x000332725D63A7FD), UINT64_C(0x000E1B3A2B255A5D),
3568           UINT64_C(0x0007DE48A07B22AC), UINT64_C(0x0001320FE5C7DF2A),
3569           UINT64_C(0x0007981EA9B5299F), UINT64_C(0x00064E3A11075FBC)},
3570          {UINT64_C(0x000F356D82B65E1D), UINT64_C(0x000333902B0C3E91),
3571           UINT64_C(0x000236EE56D2F8F6), UINT64_C(0x00052D781547A66B),
3572           UINT64_C(0x00071ECC2B2D45FD), UINT64_C(0x00021D01072A8CFE),
3573           UINT64_C(0x00014250E888F3A4), UINT64_C(0x00041F6CCF6D58E7),
3574           UINT64_C(0x00012F704916CD11), UINT64_C(0x0001C16A5BA5DEB5)},
3575          {UINT64_C(0x0007176D4A4BE8ED), UINT64_C(0x0003AC14FE6CB1C7),
3576           UINT64_C(0x0005BF2A9F3FDCA4), UINT64_C(0x000100A77E943894),
3577           UINT64_C(0x0001A1B89F7EB96B), UINT64_C(0x000AC24527F9F6BC),
3578           UINT64_C(0x0002AFDC6A5CC161), UINT64_C(0x0006C7233297DD8D),
3579           UINT64_C(0x0001EF7E4B64538A), UINT64_C(0x00064C28116F6D3D)}},
3580         {{UINT64_C(0x000C28582D0EAF98), UINT64_C(0x000760A4D8C62392),
3581           UINT64_C(0x0002E99A28753318), UINT64_C(0x00036B4DD38D7C84),
3582           UINT64_C(0x0005CE1103FE9B19), UINT64_C(0x000A5E7E678EC657),
3583           UINT64_C(0x00001027FC495CC3), UINT64_C(0x000053D5EFE3F79A),
3584           UINT64_C(0x00078707798B4856), UINT64_C(0x0002BCB996DBB870)},
3585          {UINT64_C(0x000DE9BE7A3B7D2F), UINT64_C(0x000326F8D8093FCF),
3586           UINT64_C(0x0006F4CA9EA85C42), UINT64_C(0x0002DA90D1D5EFAE),
3587           UINT64_C(0x000453D210C50A00), UINT64_C(0x000ED30D7AE954A3),
3588           UINT64_C(0x000667D3AF1FF3BD), UINT64_C(0x000610D4A9935FFA),
3589           UINT64_C(0x0007996E35B2EEE4), UINT64_C(0x0005851FBF41B9D7)},
3590          {UINT64_C(0x0001CCB597D775B8), UINT64_C(0x0002E2D7080ACA82),
3591           UINT64_C(0x00026A27679CA594), UINT64_C(0x000767CAC5608B07),
3592           UINT64_C(0x0007D3E1C929A8EE), UINT64_C(0x0001C08248026B08),
3593           UINT64_C(0x00066E49F4282B91), UINT64_C(0x00043EC983912C70),
3594           UINT64_C(0x00047BE45E4D1D00), UINT64_C(0x0005D6619498C3D3)}},
3595         {{UINT64_C(0x000D75F87926E2CA), UINT64_C(0x0004BCE95D143C30),
3596           UINT64_C(0x0007F9B22AB8D12A), UINT64_C(0x0005764F5D0427EC),
3597           UINT64_C(0x00053FC4AEC382EC), UINT64_C(0x000BEFAD0696C924),
3598           UINT64_C(0x0005C1A42613E0F9), UINT64_C(0x0006C63EA68E2641),
3599           UINT64_C(0x0005AE918E206EE4), UINT64_C(0x000201EB6276D205)},
3600          {UINT64_C(0x00080526DEB4F23A), UINT64_C(0x0004A3E016C3560A),
3601           UINT64_C(0x00048954F4DFE4E5), UINT64_C(0x00033FAEECA38CED),
3602           UINT64_C(0x0001AABCF5F5B04D), UINT64_C(0x000624845CAC218D),
3603           UINT64_C(0x000727D5924F0D61), UINT64_C(0x00039A25A9A902B9),
3604           UINT64_C(0x00025354B1923A74), UINT64_C(0x00042D904B1EE6E2)},
3605          {UINT64_C(0x0005EE12683D6873), UINT64_C(0x00020C302FB23D53),
3606           UINT64_C(0x00041183598E5E20), UINT64_C(0x000660C4A3602D69),
3607           UINT64_C(0x000428E3D7F7DA6B), UINT64_C(0x000FFDAB157CCECE),
3608           UINT64_C(0x0003ABD7DACF40F1), UINT64_C(0x0001F758B2026116),
3609           UINT64_C(0x00059CA09F80A28E), UINT64_C(0x00058050997A84C9)}},
3610     },
3611     {
3612         {{UINT64_C(0x00012BC79DE3583C), UINT64_C(0x00021865086663FD),
3613           UINT64_C(0x00004E4ABB33032F), UINT64_C(0x00079C1995D5F6AE),
3614           UINT64_C(0x0006843DC92E6F2C), UINT64_C(0x000E5AAB95A25A94),
3615           UINT64_C(0x000297E894CB3E2E), UINT64_C(0x0002F3E8D3C6A333),
3616           UINT64_C(0x0001389E783B3338), UINT64_C(0x0004D35F4985F35A)},
3617          {UINT64_C(0x000924729178D442), UINT64_C(0x00072FEF9AC231D7),
3618           UINT64_C(0x0003255217E983F8), UINT64_C(0x00078D1ADD8547ED),
3619           UINT64_C(0x0007DD800A0126E4), UINT64_C(0x00040F7454BB5636),
3620           UINT64_C(0x00070028ED5FE73D), UINT64_C(0x0002FE6922362D32),
3621           UINT64_C(0x000517F433247DD5), UINT64_C(0x0003131BDB6DBD80)},
3622          {UINT64_C(0x0009B880561B3C2F), UINT64_C(0x000528E3FF8E6EB8),
3623           UINT64_C(0x0002B3F6E8A064AA), UINT64_C(0x000306F6878089C4),
3624           UINT64_C(0x0007DC267AF352EA), UINT64_C(0x000EB92414BD9E20),
3625           UINT64_C(0x0003B288AD2E08DE), UINT64_C(0x000226D516C76AEC),
3626           UINT64_C(0x00040D85E3E81384), UINT64_C(0x0000D2240FB63716)}},
3627         {{UINT64_C(0x000587DEFF3E2CA8), UINT64_C(0x0000ADE75F1C108A),
3628           UINT64_C(0x000077C7746D2B81), UINT64_C(0x0007F15AEEE1A36C),
3629           UINT64_C(0x000147D7174597BE), UINT64_C(0x000ADF5550885ADA),
3630           UINT64_C(0x0005AC4D1E2642DC), UINT64_C(0x00011B21A28D0DDD),
3631           UINT64_C(0x00041407BD6EAB82), UINT64_C(0x00048A1C814EF854)},
3632          {UINT64_C(0x000EE63D584955CA), UINT64_C(0x0000DB6FC1D35A63),
3633           UINT64_C(0x0007990E3E93CF7D), UINT64_C(0x0006896872475C47),
3634           UINT64_C(0x0002FE85FB8B4F95), UINT64_C(0x0009A4386F393657),
3635           UINT64_C(0x0006D05838FAE08A), UINT64_C(0x0003B7E6453E11C6),
3636           UINT64_C(0x0004A2C032C2CE97), UINT64_C(0x0003289CB5A153DD)},
3637          {UINT64_C(0x0002BD6E9F70C80A), UINT64_C(0x000231E61F2C2C8A),
3638           UINT64_C(0x0002A043498E6B5B), UINT64_C(0x00027EF36D2BD2C9),
3639           UINT64_C(0x000792B9E0D4EFFA), UINT64_C(0x000D609539828287),
3640           UINT64_C(0x0002DD2C1EC6C7BB), UINT64_C(0x00022B3BF91980DE),
3641           UINT64_C(0x0003C03DA1E5A7D9), UINT64_C(0x000084F0BEE586B4)}},
3642         {{UINT64_C(0x000712E11D32F6C1), UINT64_C(0x0007699A1E2965D4),
3643           UINT64_C(0x0006F53B52261F62), UINT64_C(0x00010D991E106C19),
3644           UINT64_C(0x0005E1F7A164C33C), UINT64_C(0x0002D0C5F074BEB5),
3645           UINT64_C(0x000460F51489D3D8), UINT64_C(0x0002E479EAC4245A),
3646           UINT64_C(0x0002053DB40CA26B), UINT64_C(0x00007428215ABE9C)},
3647          {UINT64_C(0x000B9A8A9F89A37F), UINT64_C(0x00043FEE2728E6A8),
3648           UINT64_C(0x0003BAD546C31F76), UINT64_C(0x0002F4CA0D786241),
3649           UINT64_C(0x0007291B2D3383A2), UINT64_C(0x0006C364B58F7471),
3650           UINT64_C(0x0000E1166DD243CD), UINT64_C(0x0003571ADDB675C5),
3651           UINT64_C(0x0005CEB2284920A6), UINT64_C(0x0003CE87A34C0993)},
3652          {UINT64_C(0x000D7AC4BC491E76), UINT64_C(0x0006933E79C065C0),
3653           UINT64_C(0x0003962BB73B910D), UINT64_C(0x00025407D7F52984),
3654           UINT64_C(0x000587DBC6C6A8A0), UINT64_C(0x00003AE437D302CF),
3655           UINT64_C(0x0004A456DC9A70DC), UINT64_C(0x0003580FD7730DB6),
3656           UINT64_C(0x00006BDB32465E50), UINT64_C(0x000303101EF56592)}},
3657         {{UINT64_C(0x000E210468EBF556), UINT64_C(0x0001E3325C2E6FFC),
3658           UINT64_C(0x0003EB88667F698C), UINT64_C(0x0004C7309F19C344),
3659           UINT64_C(0x00007B954D985C68), UINT64_C(0x000112B5D338E899),
3660           UINT64_C(0x000103AD36665F4C), UINT64_C(0x0005C48C27F780B9),
3661           UINT64_C(0x0006DFCD7AC7E7C2), UINT64_C(0x0005FBAB29982614)},
3662          {UINT64_C(0x000050C0CB5724E2), UINT64_C(0x0003F7AB514CAA0F),
3663           UINT64_C(0x0004F45065DA591B), UINT64_C(0x000629B4E99E7B9F),
3664           UINT64_C(0x0007FF99B8004A8B), UINT64_C(0x00013A7E073C783C),
3665           UINT64_C(0x0005096EE21EAD2D), UINT64_C(0x00035AC55D5BC48A),
3666           UINT64_C(0x00052D7CCDDB8458), UINT64_C(0x00026359B210DDC3)},
3667          {UINT64_C(0x00010EB7F4F37055), UINT64_C(0x00022C5837D27DF8),
3668           UINT64_C(0x00014DD44F017128), UINT64_C(0x0000762B8A81A083),
3669           UINT64_C(0x0006343F4E6B1730), UINT64_C(0x0006A070B31B593A),
3670           UINT64_C(0x00035A4CB671B136), UINT64_C(0x00034AA79F2E1C0D),
3671           UINT64_C(0x0002B801D09AF476), UINT64_C(0x0004D55933C87AC6)}},
3672         {{UINT64_C(0x0000F5AF20BFA216), UINT64_C(0x00070CA3CC7423EA),
3673           UINT64_C(0x0003BDCF09AF2CF8), UINT64_C(0x00070852C08E07C8),
3674           UINT64_C(0x0002B67C67B7DC0D), UINT64_C(0x0004747A18E7911A),
3675           UINT64_C(0x0002AE9D138BEC06), UINT64_C(0x00029A908D7441B5),
3676           UINT64_C(0x0001CA2C87AB2C68), UINT64_C(0x0005D57E612AC9CA)},
3677          {UINT64_C(0x000CB61AD6C38D3B), UINT64_C(0x000098910BDAA430),
3678           UINT64_C(0x0005A8F1058B45F9), UINT64_C(0x0001378B35FE5270),
3679           UINT64_C(0x0003B096F4B6729B), UINT64_C(0x000B715D3132EC7F),
3680           UINT64_C(0x0000BF368D7A6E35), UINT64_C(0x0003532D4AAC8584),
3681           UINT64_C(0x0007C03968D90FAB), UINT64_C(0x0003DD8235C48DCD)},
3682          {UINT64_C(0x000865375C84BF5B), UINT64_C(0x0006F89F501226EA),
3683           UINT64_C(0x0003A9BA52948170), UINT64_C(0x0005125268D062C9),
3684           UINT64_C(0x000080351C14559D), UINT64_C(0x0002D7F2832CC046),
3685           UINT64_C(0x00072CD1CCBF4A78), UINT64_C(0x0006C2A3FAE0EA13),
3686           UINT64_C(0x00066FCF5DB7E22E), UINT64_C(0x00007019E17361A4)}},
3687         {{UINT64_C(0x000E48E34B29F673), UINT64_C(0x000189AA11C7064C),
3688           UINT64_C(0x0000980567389DB8), UINT64_C(0x000140D89A2CB56F),
3689           UINT64_C(0x00066BB6C0F4791D), UINT64_C(0x00097F8E780B26F8),
3690           UINT64_C(0x00069029D6B5B3AB), UINT64_C(0x0001807A1948E6BC),
3691           UINT64_C(0x00026E19F742FADE), UINT64_C(0x000085F04C0FC570)},
3692          {UINT64_C(0x0008A43FBB459AFB), UINT64_C(0x000080263E72058C),
3693           UINT64_C(0x00077C836CC06EA1), UINT64_C(0x0001B50F235F0EA1),
3694           UINT64_C(0x00022280D3BF0256), UINT64_C(0x000B12F3375A9340),
3695           UINT64_C(0x00056068C08F4DCC), UINT64_C(0x000188B7FEE30E53),
3696           UINT64_C(0x00034956976A7E2B), UINT64_C(0x0006F32B80C1218B)},
3697          {UINT64_C(0x0002995C7D4906BD), UINT64_C(0x0004C47098446E5D),
3698           UINT64_C(0x000770566A516A0B), UINT64_C(0x0001E7E3FBA19859),
3699           UINT64_C(0x0005F7F7EEE25E7C), UINT64_C(0x00056AB023B1E34B),
3700           UINT64_C(0x00065C13925054D0), UINT64_C(0x0003F1A384F6EB8D),
3701           UINT64_C(0x0000C7DE81E37B03), UINT64_C(0x0007AB8E723005D9)}},
3702         {{UINT64_C(0x000D9677AC1784B4), UINT64_C(0x0003B608C12C6E54),
3703           UINT64_C(0x00003773DBAACF6B), UINT64_C(0x000335230A701D3D),
3704           UINT64_C(0x000164DD69069B24), UINT64_C(0x000529717B200FBF),
3705           UINT64_C(0x00020FA9213B9796), UINT64_C(0x00057DB2FAFA5561),
3706           UINT64_C(0x0002139FA8922FB6), UINT64_C(0x00067569B0196555)},
3707          {UINT64_C(0x0009839D81326E12), UINT64_C(0x0007F6B8CD121226),
3708           UINT64_C(0x00011EF52FEB2E87), UINT64_C(0x000499E40D596C14),
3709           UINT64_C(0x0001E15D66FB1681), UINT64_C(0x000CB2E1A771676B),
3710           UINT64_C(0x0005B8802822C88B), UINT64_C(0x0004AC4C2A3D2CE6),
3711           UINT64_C(0x000736AEEE38077F), UINT64_C(0x00048E797F51A1F0)},
3712          {UINT64_C(0x000F3FFC1B7E0E25), UINT64_C(0x000741ECED05D3C2),
3713           UINT64_C(0x0002F761F2EE2FC5), UINT64_C(0x00001899845146F7),
3714           UINT64_C(0x0001F791E6351AD2), UINT64_C(0x000D38697A0353D4),
3715           UINT64_C(0x0005D13800614CC5), UINT64_C(0x00072BF23AE1C7DE),
3716           UINT64_C(0x0002F2F0CE9EEEC6), UINT64_C(0x0004BCAB345E5507)}},
3717         {{UINT64_C(0x000447671491497E), UINT64_C(0x0000C80E0499549D),
3718           UINT64_C(0x0007383B83AE8A43), UINT64_C(0x00018D8798A60AE8),
3719           UINT64_C(0x0005A7634049A61D), UINT64_C(0x000CF3BA71A877FA),
3720           UINT64_C(0x00038992C781814F), UINT64_C(0x0004FA4F3F875472),
3721           UINT64_C(0x0006B3BE16D87909), UINT64_C(0x0007FBF24B86F9CF)},
3722          {UINT64_C(0x0005D7ED1152D458), UINT64_C(0x0006A737D3EC8814),
3723           UINT64_C(0x0003336316E14A78), UINT64_C(0x0007540CA254140D),
3724           UINT64_C(0x000110B2DC2C19D2), UINT64_C(0x0003541AEE4CD459),
3725           UINT64_C(0x0006D62DA4142812), UINT64_C(0x00004D24768B69EF),
3726           UINT64_C(0x00017FEAA0883076), UINT64_C(0x00028A34309D30B8)},
3727          {UINT64_C(0x00082AEA5AAA7679), UINT64_C(0x00069F5FFC2299F9),
3728           UINT64_C(0x00075584B5CBBAE3), UINT64_C(0x0007EB4016FF7E27),
3729           UINT64_C(0x00077F9D62577D9F), UINT64_C(0x0006DC60EBCA06A0),
3730           UINT64_C(0x0003C85F387E563B), UINT64_C(0x00015F9C0C733FB2),
3731           UINT64_C(0x00055561ADBDC642), UINT64_C(0x00014B6056050D92)}},
3732         {{UINT64_C(0x000D1DDCB3D8676E), UINT64_C(0x00029A0A308DDECF),
3733           UINT64_C(0x0006A381EC144616), UINT64_C(0x0001160CA0BFEC27),
3734           UINT64_C(0x00061482EF8B50E3), UINT64_C(0x000EF6F13CBB5FD6),
3735           UINT64_C(0x00047895BA6C9BBE), UINT64_C(0x00025EC3CC939CD7),
3736           UINT64_C(0x0000C55182568086), UINT64_C(0x00028782AA420F85)},
3737          {UINT64_C(0x0008812D8865EB1A), UINT64_C(0x0000A23A343939AB),
3738           UINT64_C(0x0007911CB6565C2A), UINT64_C(0x000542477B4639B9),
3739           UINT64_C(0x0004025D314B3748), UINT64_C(0x000F0FC98FF524B1),
3740           UINT64_C(0x0006AA3ED50EC301), UINT64_C(0x00067BEA284CE141),
3741           UINT64_C(0x00035FBE193BAF03), UINT64_C(0x000283F0131BFA47)},
3742          {UINT64_C(0x0003691D5B656339), UINT64_C(0x00010FA865CCF6EB),
3743           UINT64_C(0x000039AFC5408E69), UINT64_C(0x000716574C1285D7),
3744           UINT64_C(0x000229C93E34D31C), UINT64_C(0x0009DCB9E5D6F976),
3745           UINT64_C(0x00035DEBA296DC50), UINT64_C(0x0000AE005B921892),
3746           UINT64_C(0x0002C8A31CBE1965), UINT64_C(0x0000ED87D30FCA21)}},
3747         {{UINT64_C(0x0009C6090B0DB1A4), UINT64_C(0x00034B5A129C41C7),
3748           UINT64_C(0x00059562792D152D), UINT64_C(0x0000A11D7CE1D2F8),
3749           UINT64_C(0x00066B6939748922), UINT64_C(0x0002AD03A62C9001),
3750           UINT64_C(0x0007BBAEC39432F3), UINT64_C(0x0000F8A4915FF527),
3751           UINT64_C(0x0007DBE1A2997F40), UINT64_C(0x000439D5F39E64A8)},
3752          {UINT64_C(0x0005C0D182E1AF93), UINT64_C(0x000153BBC2722775),
3753           UINT64_C(0x000211B8B306BA69), UINT64_C(0x0007D3A33C211B46),
3754           UINT64_C(0x0005650D03F0188D), UINT64_C(0x0003805179159F66),
3755           UINT64_C(0x0005B80FDEBBC150), UINT64_C(0x00023B752B2CCA19),
3756           UINT64_C(0x00056569DDD4BB09), UINT64_C(0x000630A1D0FE1331)},
3757          {UINT64_C(0x000CC57A9BD01FD0), UINT64_C(0x00001A61B9AF718F),
3758           UINT64_C(0x0003E7AEFE584488), UINT64_C(0x00002846B6BF5441),
3759           UINT64_C(0x000032F196D04DD3), UINT64_C(0x0005855F89A5B1E2),
3760           UINT64_C(0x00034031211C8DC5), UINT64_C(0x00014993DFD465A0),
3761           UINT64_C(0x0001B4AFBB37974E), UINT64_C(0x00010725BF8ACC79)}},
3762         {{UINT64_C(0x0008533407FDA6AE), UINT64_C(0x000192F807908397),
3763           UINT64_C(0x0006D0300B59435D), UINT64_C(0x0003D01EB7B22034),
3764           UINT64_C(0x0006AFEEF3F9CD09), UINT64_C(0x000E5025B96AF595),
3765           UINT64_C(0x0006A4A6BE18817B), UINT64_C(0x00011D766D6D736B),
3766           UINT64_C(0x000798906CAD57F4), UINT64_C(0x0005ABB11A884308)},
3767          {UINT64_C(0x0005141D4E3FF7B2), UINT64_C(0x0007785D03C4C1D1),
3768           UINT64_C(0x0002E4309AA4BEDF), UINT64_C(0x0000D594EF832B4B),
3769           UINT64_C(0x00079F60B7615E57), UINT64_C(0x000AF439572259C7),
3770           UINT64_C(0x00039E6726C1C742), UINT64_C(0x00033EFCC7442133),
3771           UINT64_C(0x0001B48C7F680882), UINT64_C(0x0002FBAE97FB8296)},
3772          {UINT64_C(0x0002D2C880F58DFD), UINT64_C(0x00002E893D015F3D),
3773           UINT64_C(0x000402A9AE8025AB), UINT64_C(0x0000616166212B68),
3774           UINT64_C(0x0005D8A9EFC3CCA1), UINT64_C(0x0007EC85775C4CD6),
3775           UINT64_C(0x00048D0978840129), UINT64_C(0x0002C54DE6A58362),
3776           UINT64_C(0x0006B650181206C2), UINT64_C(0x000781263825C8B9)}},
3777         {{UINT64_C(0x00037F4695FB8F38), UINT64_C(0x00064899737EA849),
3778           UINT64_C(0x00005CA9511A1C0C), UINT64_C(0x0005B2332E230D2F),
3779           UINT64_C(0x0005BEFB537AF5C5), UINT64_C(0x000E66EDC4CC05A1),
3780           UINT64_C(0x0001F243387EED8D), UINT64_C(0x00060531AF1B8294),
3781           UINT64_C(0x00048207AF7FB47E), UINT64_C(0x0006467F4F208BC1)},
3782          {UINT64_C(0x000ED253E56AD0B4), UINT64_C(0x0006FD900D9B4494),
3783           UINT64_C(0x000771FDB0B28644), UINT64_C(0x0006608E858B8864),
3784           UINT64_C(0x0002410ACFA4ECFD), UINT64_C(0x0006BCBCB4C454F1),
3785           UINT64_C(0x0004C982596786AF), UINT64_C(0x0007C7D414F13D62),
3786           UINT64_C(0x000400A18A4312B8), UINT64_C(0x0001C8AE8AAC6E97)},
3787          {UINT64_C(0x00039A273DA14F76), UINT64_C(0x00007A039FC51A14),
3788           UINT64_C(0x00075AE649E4978D), UINT64_C(0x00068BBF1108ED62),
3789           UINT64_C(0x0001AC7CBC84A882), UINT64_C(0x000F007CBF2633B8),
3790           UINT64_C(0x0001A252213D53A3), UINT64_C(0x00060026357E6823),
3791           UINT64_C(0x0005559C92CD3AA6), UINT64_C(0x000363AFB26A540D)}},
3792         {{UINT64_C(0x000C6D7AC27539AC), UINT64_C(0x0004CAF0243C7093),
3793           UINT64_C(0x0006E0AFE6D51B44), UINT64_C(0x0002FD11233BA456),
3794           UINT64_C(0x0002CF8D4FBEC26A), UINT64_C(0x000335E8B284BD21),
3795           UINT64_C(0x0004E3B0C6669531), UINT64_C(0x000268080A9578C0),
3796           UINT64_C(0x00001A56306692EA), UINT64_C(0x0001DC271C3ACEF7)},
3797          {UINT64_C(0x0005D867CCE652DC), UINT64_C(0x000413FF399550DD),
3798           UINT64_C(0x0004AE5EB4FD02DD), UINT64_C(0x00052874EA4A9C83),
3799           UINT64_C(0x0004E30A566CC4F0), UINT64_C(0x0009ED469CD2FA26),
3800           UINT64_C(0x00079EED35A8B65B), UINT64_C(0x000064FF6AF426D8),
3801           UINT64_C(0x00013C73FCA107AB), UINT64_C(0x0006BCC1F527AE0B)},
3802          {UINT64_C(0x000E8622B341115B), UINT64_C(0x0005F8B755945B8A),
3803           UINT64_C(0x000642734EB49580), UINT64_C(0x00002466340FFFFA),
3804           UINT64_C(0x0003E1295E9DB2EF), UINT64_C(0x000914081A805FD4),
3805           UINT64_C(0x0004A81CD7486D11), UINT64_C(0x0005D93E4C17C491),
3806           UINT64_C(0x0006919BA5ECC6B0), UINT64_C(0x000448FF91161C16)}},
3807         {{UINT64_C(0x0003D9DFABF694F0), UINT64_C(0x00002EE322AB5B23),
3808           UINT64_C(0x0007E35695039192), UINT64_C(0x00016EB2F5322F0B),
3809           UINT64_C(0x0007FCF7BA70F363), UINT64_C(0x0007FBE02B2A3F5E),
3810           UINT64_C(0x00016937E666BFE0), UINT64_C(0x00063B8FCA96F14A),
3811           UINT64_C(0x000540136F4D10D5), UINT64_C(0x00039D97115CAD4A)},
3812          {UINT64_C(0x000A782DAEA02C81), UINT64_C(0x0002FD925EE99F06),
3813           UINT64_C(0x00060F793F8913A6), UINT64_C(0x0001E83A9CDE3761),
3814           UINT64_C(0x0001467FC5C751CA), UINT64_C(0x000264902CF947E3),
3815           UINT64_C(0x00006FAA77E5A8BE), UINT64_C(0x00067F05EF979834),
3816           UINT64_C(0x0005311603B55490), UINT64_C(0x000074D079F64A01)},
3817          {UINT64_C(0x0006D0D6BDA6A83D), UINT64_C(0x00002DDDDEE12D29),
3818           UINT64_C(0x0005927C12A4B6B7), UINT64_C(0x00071C3961F108DF),
3819           UINT64_C(0x00077B7833C53611), UINT64_C(0x0002FDE12520D971),
3820           UINT64_C(0x0007CB6A7953E587), UINT64_C(0x0004139054626FC8),
3821           UINT64_C(0x00079EAC5F05CF63), UINT64_C(0x00001D021BA677A6)}},
3822         {{UINT64_C(0x000CAC0E21E72D01), UINT64_C(0x0002AAC8A7589E07),
3823           UINT64_C(0x0007A7F89C925218), UINT64_C(0x0005C69DE570605B),
3824           UINT64_C(0x0007C603800C1CEC), UINT64_C(0x0005CD221F6861F6),
3825           UINT64_C(0x000225A7F4668D5E), UINT64_C(0x00027C1F6FFB5628),
3826           UINT64_C(0x0007A72B7EAEB5A8), UINT64_C(0x0000B10838B451B8)},
3827          {UINT64_C(0x000CE1FEA6AE6F93), UINT64_C(0x00019A7F14080E06),
3828           UINT64_C(0x0002CF09EEA75595), UINT64_C(0x0006DB5A156F82EC),
3829           UINT64_C(0x0002FBA8A7857009), UINT64_C(0x00013F8B71B7B21D),
3830           UINT64_C(0x00036BCBD874C4CE), UINT64_C(0x0003A12D4D39A34D),
3831           UINT64_C(0x00027EBC6E708CC4), UINT64_C(0x00046B288961C679)},
3832          {UINT64_C(0x00084942A3FFE4F7), UINT64_C(0x00039331DB0EFDD2),
3833           UINT64_C(0x0003BC5E8D64D32A), UINT64_C(0x0002F14504F246A2),
3834           UINT64_C(0x0005D0B970850BFE), UINT64_C(0x000DDBFD50853040),
3835           UINT64_C(0x00053F2BB46E95D8), UINT64_C(0x0006217469553610),
3836           UINT64_C(0x0001AA60880F4C92), UINT64_C(0x0001BB031C7CDCAD)}},
3837         {{UINT64_C(0x00043577337ED415), UINT64_C(0x0001168CF60C5FCC),
3838           UINT64_C(0x0004F7F95837B2D6), UINT64_C(0x00056BA25D4F23A3),
3839           UINT64_C(0x0005C14460B0F4E0), UINT64_C(0x0002B00069045903),
3840           UINT64_C(0x00004B0C5A39B1AA), UINT64_C(0x0003FBB985D77FA8),
3841           UINT64_C(0x00049239EE5946D9), UINT64_C(0x00057387CD1049E9)},
3842          {UINT64_C(0x000B952D15EE6357), UINT64_C(0x0002DB9A48C1B600),
3843           UINT64_C(0x0002D0190D4ADBBA), UINT64_C(0x00047F14E4566F50),
3844           UINT64_C(0x0001F163D4E86E1D), UINT64_C(0x000C92AF729F469E),
3845           UINT64_C(0x00007BD599CC0C16), UINT64_C(0x0006BC2F08CAE272),
3846           UINT64_C(0x00047553865EB8CC), UINT64_C(0x0001CE9F42F10932)},
3847          {UINT64_C(0x000BCE2DA7F5610F), UINT64_C(0x0003B36D325EE2A8),
3848           UINT64_C(0x000726B58068AB44), UINT64_C(0x0004A0F44270ED1F),
3849           UINT64_C(0x00071571152CE6BE), UINT64_C(0x000565993B17157C),
3850           UINT64_C(0x00039843697248A3), UINT64_C(0x00051EDAD623656A),
3851           UINT64_C(0x0004E89907281D95), UINT64_C(0x0003514F571877C2)}},
3852     },
3853     {
3854         {{UINT64_C(0x000D2A3121F83A1D), UINT64_C(0x0002DA330B022D82),
3855           UINT64_C(0x00003B3EAB80FFD8), UINT64_C(0x00015D727FF11EA8),
3856           UINT64_C(0x000645E52899FB8C), UINT64_C(0x000C944BAFE40831),
3857           UINT64_C(0x0006EFC60BCB700D), UINT64_C(0x00049C8983D2F665),
3858           UINT64_C(0x00001D4D70FCC0D3), UINT64_C(0x0004D6ED234BFC0D)},
3859          {UINT64_C(0x000B1C9F041D3F61), UINT64_C(0x0005D2FDE93EC1F5),
3860           UINT64_C(0x00076737DC0F744C), UINT64_C(0x00042230534666BE),
3861           UINT64_C(0x0003404E863515DA), UINT64_C(0x000C7436CCE8B116),
3862           UINT64_C(0x00005EA392999318), UINT64_C(0x0007905E98068490),
3863           UINT64_C(0x00010A805AD32FCC), UINT64_C(0x000023B7CE895D07)},
3864          {UINT64_C(0x0003EFFB814E2197), UINT64_C(0x0000852A305BE11B),
3865           UINT64_C(0x00048396DD06C432), UINT64_C(0x000540D5C5935D99),
3866           UINT64_C(0x00035AEAD67940BE), UINT64_C(0x0008CA943925F507),
3867           UINT64_C(0x0006F245BE658554), UINT64_C(0x0000B5E763A6E0C5),
3868           UINT64_C(0x0002E795E93C44D8), UINT64_C(0x0006CC4B88C475C6)}},
3869         {{UINT64_C(0x000C200B8B331922), UINT64_C(0x00004683E419F734),
3870           UINT64_C(0x0002C7E001FCD0C0), UINT64_C(0x0001479FD1FC8DF1),
3871           UINT64_C(0x000577647BF78E53), UINT64_C(0x0003AC981A6CC35C),
3872           UINT64_C(0x0002966643DF7AFF), UINT64_C(0x000673621471EFDC),
3873           UINT64_C(0x0007BF256881F54F), UINT64_C(0x000487F29B6DB344)},
3874          {UINT64_C(0x00085CDB9629C5F6), UINT64_C(0x000604C1DBE92B8A),
3875           UINT64_C(0x0003BBE72A278D3D), UINT64_C(0x000767DE37996D84),
3876           UINT64_C(0x0000DFE0B1187EE4), UINT64_C(0x0004DE0ADC2458BC),
3877           UINT64_C(0x00003CCCC4C709E4), UINT64_C(0x00045A74FFEA1E3D),
3878           UINT64_C(0x00015B4EE2B662A6), UINT64_C(0x000181EFB7AE8968)},
3879          {UINT64_C(0x0009F028A704590F), UINT64_C(0x0005F2BA1A40E68C),
3880           UINT64_C(0x0001F65FEC8D20C2), UINT64_C(0x00020C79DAFC49DD),
3881           UINT64_C(0x0007EEFCC164D9D7), UINT64_C(0x000D456B93390094),
3882           UINT64_C(0x000185EADF32B9D0), UINT64_C(0x0004ED0525883825),
3883           UINT64_C(0x0007B8A0AEB853AE), UINT64_C(0x0000D9511CB1B787)}},
3884         {{UINT64_C(0x000CDF0DB3694899), UINT64_C(0x00023B940D7CF533),
3885           UINT64_C(0x0006B84827681417), UINT64_C(0x0006F9B4F46F0E96),
3886           UINT64_C(0x000515DA23E8AC6B), UINT64_C(0x00095847795BB758),
3887           UINT64_C(0x0003F4CCA41B8228), UINT64_C(0x0006186E4E9093AC),
3888           UINT64_C(0x00077309478974B1), UINT64_C(0x0005B4F6C6F8FEFA)},
3889          {UINT64_C(0x0001443F74773B5C), UINT64_C(0x00063FFF59FDE6B6),
3890           UINT64_C(0x0001F16F0B9EEC52), UINT64_C(0x000051FCDC5A3486),
3891           UINT64_C(0x0003DB748AF8F2E5), UINT64_C(0x000B5783C6DC2D30),
3892           UINT64_C(0x0002DAB21D8CC130), UINT64_C(0x0005F25B88234552),
3893           UINT64_C(0x0004FF796B7D456D), UINT64_C(0x0006080EB1FC5C27)},
3894          {UINT64_C(0x000A9AA635E4EF7D), UINT64_C(0x000108EC067C691F),
3895           UINT64_C(0x00004D22357BAE6A), UINT64_C(0x000337A3327BC99C),
3896           UINT64_C(0x0000A68F7BADF67C), UINT64_C(0x000AC18F7DFA19B2),
3897           UINT64_C(0x0005C678FBE8EB52), UINT64_C(0x0001D8F2C4E8BB6E),
3898           UINT64_C(0x0000DA44F24F2716), UINT64_C(0x00030A3DE2A3A421)}},
3899         {{UINT64_C(0x000F5BCB25CF4FB5), UINT64_C(0x00037F879FD958AF),
3900           UINT64_C(0x0001AD917C6DE29F), UINT64_C(0x000162FF07F36826),
3901           UINT64_C(0x00067919212F631A), UINT64_C(0x000BFD3793A355FB),
3902           UINT64_C(0x0005755B1ABED696), UINT64_C(0x000144F83C26744A),
3903           UINT64_C(0x0004BCAD8857D421), UINT64_C(0x00016302D4EADAE5)},
3904          {UINT64_C(0x0007E6C00E672C8D), UINT64_C(0x00038DE62F3282ED),
3905           UINT64_C(0x0004B4D7588B4274), UINT64_C(0x0000DE769DFD42DE),
3906           UINT64_C(0x00031736034810B0), UINT64_C(0x00042D1D02CFDE19),
3907           UINT64_C(0x0003D5001378BC45), UINT64_C(0x00063303C6FB6962),
3908           UINT64_C(0x00033FF632B306CC), UINT64_C(0x0007FCD2720CF3DD)},
3909          {UINT64_C(0x0000D3E05FE45941), UINT64_C(0x0001EE7BCFC54EA8),
3910           UINT64_C(0x00073BF8104FCCCD), UINT64_C(0x0006E128F079E6C4),
3911           UINT64_C(0x0006FE2C64E04ED7), UINT64_C(0x0007C13D9F8F4E55),
3912           UINT64_C(0x00073AA7BE299340), UINT64_C(0x00065D2152375AFE),
3913           UINT64_C(0x000389EB4ABE5495), UINT64_C(0x00044A45040B455F)}},
3914         {{UINT64_C(0x000A15B31548EDEF), UINT64_C(0x0004BE66E39BFE46),
3915           UINT64_C(0x0000A4F48F221DE4), UINT64_C(0x0003D1DB970835AB),
3916           UINT64_C(0x00031933E3DE57CB), UINT64_C(0x000978578FEEE453),
3917           UINT64_C(0x0002C30F392DC6A7), UINT64_C(0x0000C948C85AE181),
3918           UINT64_C(0x000200560FFD6366), UINT64_C(0x0001230F26094A57)},
3919          {UINT64_C(0x00071F959A90337C), UINT64_C(0x000208552F478DC7),
3920           UINT64_C(0x0005788AC4EBB26B), UINT64_C(0x0002B9FBF27C3470),
3921           UINT64_C(0x00004FF4C8B12365), UINT64_C(0x0006D2BCE6204D47),
3922           UINT64_C(0x0001E8AAA0A8023E), UINT64_C(0x000797C24FED76B7),
3923           UINT64_C(0x00026173EF326E46), UINT64_C(0x0006133FB5B5B999)},
3924          {UINT64_C(0x00012BC7A048AF37), UINT64_C(0x0000FD0301EC2E53),
3925           UINT64_C(0x0002C070DD9CD038), UINT64_C(0x0007F2EFAC327986),
3926           UINT64_C(0x00026CE631FC9FEF), UINT64_C(0x000277F1E2BB1725),
3927           UINT64_C(0x00010E40E88E18E3), UINT64_C(0x00039310E1B26218),
3928           UINT64_C(0x0003985E2F2FBFEB), UINT64_C(0x000268DC44A02ADF)}},
3929         {{UINT64_C(0x000DEA78EADAEEC1), UINT64_C(0x0003DB0BE77C03ED),
3930           UINT64_C(0x0003EDF67A38D25B), UINT64_C(0x0005019B365A8A38),
3931           UINT64_C(0x0005197BFB9FF59C), UINT64_C(0x00083D36F0A5A16A),
3932           UINT64_C(0x0005152E257CA37F), UINT64_C(0x0006A2BEE626DAA6),
3933           UINT64_C(0x00033AE983C20B72), UINT64_C(0x0004D9B705EAAD1C)},
3934          {UINT64_C(0x000874E06D7B5C24), UINT64_C(0x00064390163770B6),
3935           UINT64_C(0x0005698AF98FF650), UINT64_C(0x0005B8EBB355D77A),
3936           UINT64_C(0x0000AE7C70732C73), UINT64_C(0x000E19D3D98FABDD),
3937           UINT64_C(0x00079DEDA37DA75D), UINT64_C(0x00004B710B1674C5),
3938           UINT64_C(0x00040619A55A5DEF), UINT64_C(0x000779DCC6F44704)},
3939          {UINT64_C(0x000504F35721DEFB), UINT64_C(0x0004A3C0C7E7284A),
3940           UINT64_C(0x0002EB38ABD01FCB), UINT64_C(0x0004CE3322295DF1),
3941           UINT64_C(0x00031DB27F499399), UINT64_C(0x00018AABC6E0C983),
3942           UINT64_C(0x0000AF5EF9B55762), UINT64_C(0x0005322B53AAAACA),
3943           UINT64_C(0x0007762A5164BC03), UINT64_C(0x0007F960E2AF4304)}},
3944         {{UINT64_C(0x0004FE2209D880A9), UINT64_C(0x0003B71CEB098483),
3945           UINT64_C(0x0006F0A21F537C16), UINT64_C(0x0002CF6EB8FF1658),
3946           UINT64_C(0x0005494E50B58CA1), UINT64_C(0x0004438EA9A0A3E8),
3947           UINT64_C(0x0003E7417D2F3188), UINT64_C(0x0006C48A60BD0440),
3948           UINT64_C(0x0006AD71A29DB30C), UINT64_C(0x0001AC8E5A50D6AA)},
3949          {UINT64_C(0x000C73B8887E050B), UINT64_C(0x0003885D576CDAD0),
3950           UINT64_C(0x0004A689C810C4FB), UINT64_C(0x000694592DB886B1),
3951           UINT64_C(0x00063944B776872E), UINT64_C(0x000AA2F2A130E0FC),
3952           UINT64_C(0x00008DD2C544EA7E), UINT64_C(0x000210E4D0FC740D),
3953           UINT64_C(0x0001E222C1CAA921), UINT64_C(0x00071E84DB222363)},
3954          {UINT64_C(0x0006F9367DF1009D), UINT64_C(0x0006CBC0A10D4FD2),
3955           UINT64_C(0x000610447BE01C43), UINT64_C(0x0000F58331DDCDD9),
3956           UINT64_C(0x00041CDDB6D56BDD), UINT64_C(0x00011776CAFBC4AC),
3957           UINT64_C(0x000374788FA28EB8), UINT64_C(0x0000E99592B60098),
3958           UINT64_C(0x0001448FF0C15C26), UINT64_C(0x0006667044FC0ECF)}},
3959         {{UINT64_C(0x0009F8C30043EA50), UINT64_C(0x000112BE297E6871),
3960           UINT64_C(0x0002F61BC12D1B08), UINT64_C(0x00022B45B0DF4504),
3961           UINT64_C(0x0004A8355FC774A3), UINT64_C(0x0009F24537D203A0),
3962           UINT64_C(0x0000F00050E3A31C), UINT64_C(0x00060D19D82588C3),
3963           UINT64_C(0x00035A326B654F92), UINT64_C(0x00069365E53B389A)},
3964          {UINT64_C(0x00050A34F9BCA230), UINT64_C(0x000768F7A199C03D),
3965           UINT64_C(0x000204C0AADFC49C), UINT64_C(0x00025CAC2599062C),
3966           UINT64_C(0x00077F593DCC6037), UINT64_C(0x000D311959EB3E67),
3967           UINT64_C(0x000092B89479AFDF), UINT64_C(0x0005B67AD89C4F22),
3968           UINT64_C(0x0003626EAED6B185), UINT64_C(0x00067832EC55B3C6)},
3969          {UINT64_C(0x000C1593CEFCECC1), UINT64_C(0x0000A4A2957784F8),
3970           UINT64_C(0x00026ABBB5309788), UINT64_C(0x00074F0F59146003),
3971           UINT64_C(0x000387E735C3C669), UINT64_C(0x000593E8E4DEBA0C),
3972           UINT64_C(0x0002E24A801D3568), UINT64_C(0x0005256747685BDB),
3973           UINT64_C(0x000013566542C53E), UINT64_C(0x00048E7E32CD1AD3)}},
3974         {{UINT64_C(0x0007D4DBA5C3CC2A), UINT64_C(0x0005759B789AA3A3),
3975           UINT64_C(0x0006F22E17510467), UINT64_C(0x00040F3252F7511B),
3976           UINT64_C(0x000528AEF4908B9A), UINT64_C(0x000B8EAE9E5BCEE1),
3977           UINT64_C(0x0006942B0FECB4DD), UINT64_C(0x00033E6A3D8BD112),
3978           UINT64_C(0x0004CC49DD25E389), UINT64_C(0x000445C577D06042)},
3979          {UINT64_C(0x0007C40A37BEFD01), UINT64_C(0x000730CA5186A539),
3980           UINT64_C(0x0005C36B6EDBB6B6), UINT64_C(0x0004CE95B4DA9CD6),
3981           UINT64_C(0x0002E2AD0BAECB4F), UINT64_C(0x0009E94D245C6F84),
3982           UINT64_C(0x00073894E220EBEA), UINT64_C(0x0001E10C1571B9C0),
3983           UINT64_C(0x0002A750557B17A9), UINT64_C(0x0002F468854DE098)},
3984          {UINT64_C(0x0006D012DA4D1F3B), UINT64_C(0x000065FA17AAA85D),
3985           UINT64_C(0x000126D6EC4C4597), UINT64_C(0x00062F36E6EDE0C7),
3986           UINT64_C(0x0000B9419F244E94), UINT64_C(0x00089B6AA6EA58BD),
3987           UINT64_C(0x00067307208BE7E2), UINT64_C(0x00065FD90ED40D58),
3988           UINT64_C(0x0002493AE4798B62), UINT64_C(0x0005C947F9A199F6)}},
3989         {{UINT64_C(0x000C9CA5529BDF08), UINT64_C(0x0006474FD3A96C71),
3990           UINT64_C(0x00032737E53C8C69), UINT64_C(0x0007F1A1D1EDAE8C),
3991           UINT64_C(0x0007E44ED2C4B89C), UINT64_C(0x00039AC19F0C716A),
3992           UINT64_C(0x00041F9F39F47EBF), UINT64_C(0x0007591E503A89BC),
3993           UINT64_C(0x0007E4B3B038BA83), UINT64_C(0x0002D77047632306)},
3994          {UINT64_C(0x000E44217D6E3B7F), UINT64_C(0x00025C90B5976AEE),
3995           UINT64_C(0x0001F4EF248E8C6D), UINT64_C(0x0006AF1D1868F663),
3996           UINT64_C(0x000038AC35E161DE), UINT64_C(0x0006647522C34933),
3997           UINT64_C(0x0005FBBBB3C26A48), UINT64_C(0x000226EA1BC6B125),
3998           UINT64_C(0x000061EA27678E69), UINT64_C(0x0007204A98E37606)},
3999          {UINT64_C(0x000782E217103AF0), UINT64_C(0x0005F858671BD8FE),
4000           UINT64_C(0x0004929B9196468A), UINT64_C(0x0004EA71EE645DFD),
4001           UINT64_C(0x00044AAB314B679F), UINT64_C(0x0000B22073C603B6),
4002           UINT64_C(0x0004B1C1D90F53B3), UINT64_C(0x0000F1B4FA3F48F3),
4003           UINT64_C(0x000128359405A8D0), UINT64_C(0x00007D5F6710B1AF)}},
4004         {{UINT64_C(0x000306DD32F8B559), UINT64_C(0x0007C415E4D67E45),
4005           UINT64_C(0x00056A49257A4333), UINT64_C(0x00018F1224742086),
4006           UINT64_C(0x000542B30DD86DDC), UINT64_C(0x0001645F932983EF),
4007           UINT64_C(0x0007213FC2770A7F), UINT64_C(0x0005126F605B77F9),
4008           UINT64_C(0x00041CEEB5B0DE9E), UINT64_C(0x0003C305D884EC37)},
4009          {UINT64_C(0x000769826ECC1E95), UINT64_C(0x00058DF57466B622),
4010           UINT64_C(0x0002788C60F1A684), UINT64_C(0x00010C568F251DA8),
4011           UINT64_C(0x00075B0E37E05118), UINT64_C(0x000165CB8643BF09),
4012           UINT64_C(0x0006155F1C1AEE2D), UINT64_C(0x0006CF1B4EF316A8),
4013           UINT64_C(0x000061E8F6B5FB5F), UINT64_C(0x0000893F44E63C16)},
4014          {UINT64_C(0x000CDF32871DF406), UINT64_C(0x00078311BD087EFE),
4015           UINT64_C(0x00067873B3557364), UINT64_C(0x000636BE32D35E5A),
4016           UINT64_C(0x0006195801D0D6BB), UINT64_C(0x0002735B3B4EB70E),
4017           UINT64_C(0x000363C1BD256DF7), UINT64_C(0x0004C37F9069C166),
4018           UINT64_C(0x000706B70FC69919), UINT64_C(0x0005402BC0A1784B)}},
4019         {{UINT64_C(0x000C3C3A75895A83), UINT64_C(0x0002AF5E20173369),
4020           UINT64_C(0x00016058BB908BA2), UINT64_C(0x00006422CFBDCBA5),
4021           UINT64_C(0x0003532C8DAA68D7), UINT64_C(0x0001718B0498E976),
4022           UINT64_C(0x0001037F828D1CB5), UINT64_C(0x0004ADFBAC138E46),
4023           UINT64_C(0x000264F5D9AA2DBF), UINT64_C(0x000661862DCF83A4)},
4024          {UINT64_C(0x000B4401A412DE9C), UINT64_C(0x0004C413E9A0630F),
4025           UINT64_C(0x0001E24FC9E6E3F3), UINT64_C(0x00077A8E0FD8D9C4),
4026           UINT64_C(0x0001BC33A8CA2E97), UINT64_C(0x0008030A67A41045),
4027           UINT64_C(0x00039F744B6ECFD1), UINT64_C(0x00072432DDCFFE36),
4028           UINT64_C(0x0007DD91D0BBE6D8), UINT64_C(0x000078AB20170916)},
4029          {UINT64_C(0x000498F6F8BD5A53), UINT64_C(0x0000D1C46916C0CF),
4030           UINT64_C(0x0005F54960938342), UINT64_C(0x000447AA84AB04D2),
4031           UINT64_C(0x000724A5EB675B6E), UINT64_C(0x000EA0E318325878),
4032           UINT64_C(0x00066B113C4AA80B), UINT64_C(0x000253461B0BF6BE),
4033           UINT64_C(0x0004DB77BC24C66A), UINT64_C(0x0001AC7EDE0A50F4)}},
4034         {{UINT64_C(0x00044A5984167BC5), UINT64_C(0x0003C2E2EF77D4C4),
4035           UINT64_C(0x0000B0E5F803C46E), UINT64_C(0x00036C49B84AF0A1),
4036           UINT64_C(0x0000C05A8C33C661), UINT64_C(0x00096D04429DE51D),
4037           UINT64_C(0x0001CD77226DEF8B), UINT64_C(0x0005AF209A481396),
4038           UINT64_C(0x0004DD604CDFFC41), UINT64_C(0x0000DE719B2B2635)},
4039          {UINT64_C(0x00038429D5339495), UINT64_C(0x00059B744E7203F8),
4040           UINT64_C(0x00054083470E63F2), UINT64_C(0x00020168D78F5F9F),
4041           UINT64_C(0x00060B7BBD5EEA39), UINT64_C(0x0006C9580366396A),
4042           UINT64_C(0x00047B4DABFD7116), UINT64_C(0x00007CB92CE4EB12),
4043           UINT64_C(0x000171CBBFFF880B), UINT64_C(0x00032AEA49629D50)},
4044          {UINT64_C(0x0002327365257623), UINT64_C(0x0002901F27D0F318),
4045           UINT64_C(0x0007EEC27D093A11), UINT64_C(0x0000C431CC4582E3),
4046           UINT64_C(0x00032FC5091EC7C3), UINT64_C(0x0009F1205282C2B4),
4047           UINT64_C(0x0006A99198CE7309), UINT64_C(0x000181D401A1E0EB),
4048           UINT64_C(0x00000BFBAE47E38F), UINT64_C(0x0001B85974A394FD)}},
4049         {{UINT64_C(0x00003D98BB92DE0A), UINT64_C(0x00012FC6BEE98813),
4050           UINT64_C(0x0003C727A73BB1DB), UINT64_C(0x000594A927D8CBF4),
4051           UINT64_C(0x0002F609AA953DBA), UINT64_C(0x000BFB4CF73D47D7),
4052           UINT64_C(0x0006F4AC381AE6B8), UINT64_C(0x0000D2B0C81B4EFB),
4053           UINT64_C(0x0005455F0C358D6D), UINT64_C(0x0000F023E512DEEE)},
4054          {UINT64_C(0x00069BD7FC6E5CF7), UINT64_C(0x0002D72F5A73331E),
4055           UINT64_C(0x00030CAB8A2D6416), UINT64_C(0x0001594D14FA77F2),
4056           UINT64_C(0x000631869D3D020D), UINT64_C(0x00002E08CCBFD994),
4057           UINT64_C(0x00046F03B754307B), UINT64_C(0x00067146A1F6ED5B),
4058           UINT64_C(0x0000B02B94197421), UINT64_C(0x000751016B4BD0BC)},
4059          {UINT64_C(0x000E6EFCC4EDE7FE), UINT64_C(0x0004ADD3198030A1),
4060           UINT64_C(0x00047734A17278D8), UINT64_C(0x0000F92F45E7CE85),
4061           UINT64_C(0x0003F6D367D00160), UINT64_C(0x000E13DFE99432BE),
4062           UINT64_C(0x000187A2AF6E1412), UINT64_C(0x0006A191CEED3ACE),
4063           UINT64_C(0x00058147D849A2BA), UINT64_C(0x0001BC9A9B916364)}},
4064         {{UINT64_C(0x00000199D348C776), UINT64_C(0x00027B8B4CFED803),
4065           UINT64_C(0x0005BF0AB8D43407), UINT64_C(0x0007B10CAF37EC50),
4066           UINT64_C(0x00033B53F6C30777), UINT64_C(0x000E87F6475537F5),
4067           UINT64_C(0x00001D4A155ABBCB), UINT64_C(0x0003CB17A764EA6A),
4068           UINT64_C(0x00013523EE4327E1), UINT64_C(0x000753B39ECFEACE)},
4069          {UINT64_C(0x00042F46C4C2845F), UINT64_C(0x000664A9551B6369),
4070           UINT64_C(0x0000C9CC8349A824), UINT64_C(0x000574459D0ED534),
4071           UINT64_C(0x0001A18730E01DA7), UINT64_C(0x00082CA89B83E7F8),
4072           UINT64_C(0x0006AEE1395800DC), UINT64_C(0x00020195766F2D74),
4073           UINT64_C(0x00027864BA955A16), UINT64_C(0x00056478A31843AB)},
4074          {UINT64_C(0x0003D3FE4F04AC87), UINT64_C(0x0002E5E52E60EFDD),
4075           UINT64_C(0x00060730A36559C5), UINT64_C(0x0006A427612AD123),
4076           UINT64_C(0x0003A36F820D7FE6), UINT64_C(0x00089AD1F5C273D7),
4077           UINT64_C(0x0002D21C3309431D), UINT64_C(0x00079250B4AEAD6F),
4078           UINT64_C(0x0003F475A1168016), UINT64_C(0x000092AD39E48D5D)}},
4079         {{UINT64_C(0x000C1CB7EACBBE5F), UINT64_C(0x0004783A6E7DF912),
4080           UINT64_C(0x0005830AE2E3AE77), UINT64_C(0x00020AEE82D43F9A),
4081           UINT64_C(0x0001F837EDBC8314), UINT64_C(0x000A1D23C74DA695),
4082           UINT64_C(0x0005E6AEAC19A780), UINT64_C(0x0007852725690C30),
4083           UINT64_C(0x0006807B0774F532), UINT64_C(0x00004DB69C9F9C33)},
4084          {UINT64_C(0x000F824529D58522), UINT64_C(0x000241E1A2206190),
4085           UINT64_C(0x0007C5225BAD2B57), UINT64_C(0x00067F90115B53BF),
4086           UINT64_C(0x00066BD04E108B4E), UINT64_C(0x00033F9F0CC81B9C),
4087           UINT64_C(0x0003C0A7A3FFBC22), UINT64_C(0x0002670D5CC34121),
4088           UINT64_C(0x0002CF6BBD4DBD78), UINT64_C(0x000644ED07DFB2C5)},
4089          {UINT64_C(0x0002A7ACB34B8F5D), UINT64_C(0x00048474BD048B62),
4090           UINT64_C(0x0004D4C75CE04805), UINT64_C(0x0001DB57B655BA7F),
4091           UINT64_C(0x0007755297FAB4DC), UINT64_C(0x000CBABD48415893),
4092           UINT64_C(0x0006810FE1CA637E), UINT64_C(0x0000F699DDD6AC1F),
4093           UINT64_C(0x000451C6EABA4EA0), UINT64_C(0x0007E1DB71EC0558)}},
4094     }};
4095
4096 /*-
4097  * Q := 2P, both projective, Q and P same pointers OK
4098  * Autogenerated: op3/dbl_proj_ed_eone.op3
4099  * https://www.hyperelliptic.org/EFD/g1p/auto-code/twisted/extended-1/doubling/dbl-2008-hwcd.op3
4100  * ASSERT: e = 1
4101  */
4102 static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
4103     /* temporary variables */
4104     fe_t t0, t1, t2, t3;
4105     /* constants */
4106     /* set pointers for Edwards curve arith */
4107     const limb_t *X = P->X;
4108     const limb_t *Y = P->Y;
4109     const limb_t *Z = P->Z;
4110     limb_t *X3 = Q->X;
4111     limb_t *Y3 = Q->Y;
4112     limb_t *T3 = Q->T;
4113     limb_t *Z3 = Q->Z;
4114
4115     /* the curve arith formula */
4116     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(t0, X);
4117     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(t1, Y);
4118     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(t2, Z);
4119     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(t3, t2, t2);
4120     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(X3, X, Y);
4121     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(Y3, X3);
4122     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(T3, Y3, t0);
4123     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(Z3, T3, t1);
4124     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(Y3, t0, t1);
4125     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t2, Y3, t3);
4126     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t3, t0, t1);
4127     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, Z3, t2);
4128     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, Z3, t3);
4129     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Z3, t2, Y3);
4130     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, Y3, t3);
4131 }
4132
4133 /*-
4134  * R := Q + P where R and Q are projective, P affine.
4135  * R and Q same pointers OK
4136  * R and P same pointers not OK
4137  * Autogenerated: op3/add_mixed_ed_eone.op3
4138  * https://hyperelliptic.org/EFD/g1p/auto-code/twisted/extended/addition/madd-2008-hwcd.op3
4139  * ASSERT: e = 1
4140  */
4141 static void point_add_mixed(pt_prj_t *R, const pt_prj_t *Q, const pt_aff_t *P) {
4142     /* temporary variables */
4143     fe_t t0, t1, t2, t3;
4144     /* constants */
4145     const limb_t *d = const_d;
4146     /* set pointers for Edwards curve arith */
4147     const limb_t *X1 = Q->X;
4148     const limb_t *Y1 = Q->Y;
4149     const limb_t *T1 = Q->T;
4150     const limb_t *Z1 = Q->Z;
4151     const limb_t *X2 = P->X;
4152     const limb_t *Y2 = P->Y;
4153     const limb_t *T2 = P->T;
4154     limb_t *X3 = R->X;
4155     limb_t *Y3 = R->Y;
4156     limb_t *T3 = R->T;
4157     limb_t *Z3 = R->Z;
4158
4159     /* the curve arith formula */
4160     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t0, X1, X2);
4161     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t1, Y1, Y2);
4162     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t2, d, T2);
4163     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t2, T1, t2);
4164     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(X3, X1, Y1);
4165     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(Y3, X2, Y2);
4166     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, X3, Y3);
4167     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t3, T3, t0);
4168     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(T3, t3, t1);
4169     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(t3, Z1, t2);
4170     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(Z3, Z1, t2);
4171     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t1, t1, t0);
4172     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, T3, Z3);
4173     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, t3, t1);
4174     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, T3, t1);
4175     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Z3, Z3, t3);
4176 }
4177
4178 /*-
4179  * R := Q + P all projective.
4180  * R and Q same pointers OK
4181  * R and P same pointers not OK
4182  * Autogenerated: op3/add_proj_ed_eone.op3
4183  * https://hyperelliptic.org/EFD/g1p/auto-code/twisted/extended/addition/add-2008-hwcd.op3
4184  * ASSERT: e = 1
4185  */
4186 static void point_add_proj(pt_prj_t *R, const pt_prj_t *Q, const pt_prj_t *P) {
4187     /* temporary variables */
4188     fe_t t0, t1, t2, t3;
4189     /* constants */
4190     const limb_t *d = const_d;
4191     /* set pointers for Edwards curve arith */
4192     const limb_t *X1 = Q->X;
4193     const limb_t *Y1 = Q->Y;
4194     const limb_t *T1 = Q->T;
4195     const limb_t *Z1 = Q->Z;
4196     const limb_t *X2 = P->X;
4197     const limb_t *Y2 = P->Y;
4198     const limb_t *T2 = P->T;
4199     const limb_t *Z2 = P->Z;
4200     limb_t *X3 = R->X;
4201     limb_t *Y3 = R->Y;
4202     limb_t *T3 = R->T;
4203     limb_t *Z3 = R->Z;
4204
4205     /* the curve arith formula */
4206     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t0, X1, X2);
4207     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t1, Y1, Y2);
4208     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t2, d, T2);
4209     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t2, T1, t2);
4210     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t3, Z1, Z2);
4211     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(X3, X1, Y1);
4212     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(Y3, X2, Y2);
4213     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, X3, Y3);
4214     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(Z3, T3, t0);
4215     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(T3, Z3, t1);
4216     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(Z3, t3, t2);
4217     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(t3, t3, t2);
4218     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t1, t1, t0);
4219     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, T3, Z3);
4220     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, t3, t1);
4221     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, T3, t1);
4222     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Z3, Z3, t3);
4223 }
4224
4225 /*-
4226  * from P projective Edwards to Q projective legacy: Q=P OK
4227  * Autogenerated: op3/edwards2legacy_gost.op3
4228  * https://tools.ietf.org/html/rfc7836#section-5.2
4229  */
4230 static void point_edwards2legacy(pt_prj_t *Q, const pt_prj_t *P) {
4231     /* temporary variables */
4232     fe_t t0;
4233     /* constants */
4234     const limb_t *T = const_T;
4235     const limb_t *S = const_S;
4236     const limb_t *X1 = P->X;
4237     const limb_t *Y1 = P->Y;
4238     const limb_t *Z1 = P->Z;
4239     limb_t *X3 = Q->X;
4240     limb_t *Y3 = Q->Y;
4241     limb_t *T3 = Q->T;
4242     limb_t *Z3 = Q->Z;
4243
4244     /* the curve arith formula */
4245     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(T3, Z1, Y1);
4246     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t0, Z1, Y1);
4247     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, S, T3);
4248     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, Z1, T3);
4249     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Z3, X1, t0);
4250     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t0, t0, T);
4251     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(t0, T3, t0);
4252     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, X1, t0);
4253 }
4254
4255 /*-
4256  * from P affine legacy to Q projective Edwards: Q=P not OK
4257  * Autogenerated: op3/legacy2edwards_gost.op3
4258  * https://tools.ietf.org/html/rfc7836#section-5.2
4259  */
4260 static void point_legacy2edwards(pt_prj_t *Q, const pt_aff_t *P) {
4261     /* constants */
4262     const limb_t *T = const_T;
4263     const limb_t *S = const_S;
4264     const limb_t *X1 = P->X;
4265     const limb_t *Y1 = P->Y;
4266     limb_t *X3 = Q->X;
4267     limb_t *Y3 = Q->Y;
4268     limb_t *T3 = Q->T;
4269     limb_t *Z3 = Q->Z;
4270
4271     /* the curve arith formula */
4272     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(T3, X1, T);
4273     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(Y3, T3, S);
4274     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, T3, Y3);
4275     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Z3, Y1, Y3);
4276     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(T3, T3, S);
4277     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, Y1, T3);
4278     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, X3, Y3);
4279     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, X3, Z3);
4280     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, Y3, Z3);
4281     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(Z3, Z3);
4282 }
4283
4284 /* constants */
4285 #define RADIX 5
4286 #define DRADIX (1 << RADIX)
4287 #define DRADIX_WNAF ((DRADIX) << 1)
4288
4289 /*-
4290  * precomp for wnaf scalar multiplication:
4291  * precomp[0] = 1P
4292  * precomp[1] = 3P
4293  * precomp[2] = 5P
4294  * precomp[3] = 7P
4295  * precomp[4] = 9P
4296  * ...
4297  */
4298 static void precomp_wnaf(pt_prj_t precomp[DRADIX / 2], const pt_aff_t *P) {
4299     int i;
4300
4301     /* move from legacy affine to Edwards projective */
4302     point_legacy2edwards(&precomp[0], P);
4303     point_double(&precomp[DRADIX / 2 - 1], &precomp[0]);
4304
4305     for (i = 1; i < DRADIX / 2; i++)
4306         point_add_proj(&precomp[i], &precomp[DRADIX / 2 - 1], &precomp[i - 1]);
4307 }
4308
4309 /* fetch a scalar bit */
4310 static int scalar_get_bit(const unsigned char in[64], int idx) {
4311     int widx, rshift;
4312
4313     widx = idx >> 3;
4314     rshift = idx & 0x7;
4315
4316     if (idx < 0 || widx >= 64) return 0;
4317
4318     return (in[widx] >> rshift) & 0x1;
4319 }
4320
4321 /*-
4322  * Compute "regular" wnaf representation of a scalar.
4323  * See "Exponent Recoding and Regular Exponentiation Algorithms",
4324  * Tunstall et al., AfricaCrypt 2009, Alg 6.
4325  * It forces an odd scalar and outputs digits in
4326  * {\pm 1, \pm 3, \pm 5, \pm 7, \pm 9, ...}
4327  * i.e. signed odd digits with _no zeroes_ -- that makes it "regular".
4328  */
4329 static void scalar_rwnaf(int8_t out[103], const unsigned char in[64]) {
4330     int i;
4331     int8_t window, d;
4332
4333     window = (in[0] & (DRADIX_WNAF - 1)) | 1;
4334     for (i = 0; i < 102; i++) {
4335         d = (window & (DRADIX_WNAF - 1)) - DRADIX;
4336         out[i] = d;
4337         window = (window - d) >> RADIX;
4338         window += scalar_get_bit(in, (i + 1) * RADIX + 1) << 1;
4339         window += scalar_get_bit(in, (i + 1) * RADIX + 2) << 2;
4340         window += scalar_get_bit(in, (i + 1) * RADIX + 3) << 3;
4341         window += scalar_get_bit(in, (i + 1) * RADIX + 4) << 4;
4342         window += scalar_get_bit(in, (i + 1) * RADIX + 5) << 5;
4343     }
4344     out[i] = window;
4345 }
4346
4347 /*-
4348  * Compute "textbook" wnaf representation of a scalar.
4349  * NB: not constant time
4350  */
4351 static void scalar_wnaf(int8_t out[513], const unsigned char in[64]) {
4352     int i;
4353     int8_t window, d;
4354
4355     window = in[0] & (DRADIX_WNAF - 1);
4356     for (i = 0; i < 513; i++) {
4357         d = 0;
4358         if ((window & 1) && ((d = window & (DRADIX_WNAF - 1)) & DRADIX))
4359             d -= DRADIX_WNAF;
4360         out[i] = d;
4361         window = (window - d) >> 1;
4362         window += scalar_get_bit(in, i + 1 + RADIX) << RADIX;
4363     }
4364 }
4365
4366 /*-
4367  * Simultaneous scalar multiplication: interleaved "textbook" wnaf.
4368  * NB: not constant time
4369  */
4370 static void var_smul_wnaf_two(pt_aff_t *out, const unsigned char a[64],
4371                               const unsigned char b[64], const pt_aff_t *P) {
4372     int i, d, is_neg, is_inf = 1, flipped = 0;
4373     int8_t anaf[513] = {0};
4374     int8_t bnaf[513] = {0};
4375     pt_prj_t Q = {0};
4376     pt_prj_t precomp[DRADIX / 2];
4377
4378     precomp_wnaf(precomp, P);
4379     scalar_wnaf(anaf, a);
4380     scalar_wnaf(bnaf, b);
4381
4382     for (i = 512; i >= 0; i--) {
4383         if (!is_inf) point_double(&Q, &Q);
4384         if ((d = bnaf[i])) {
4385             if ((is_neg = d < 0) != flipped) {
4386                 fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.X, Q.X);
4387                 fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.T, Q.T);
4388                 flipped ^= 1;
4389             }
4390             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
4391             if (is_inf) {
4392                 /* initialize accumulator */
4393                 fe_copy(Q.X, &precomp[d].X);
4394                 fe_copy(Q.Y, &precomp[d].Y);
4395                 fe_copy(Q.T, &precomp[d].T);
4396                 fe_copy(Q.Z, &precomp[d].Z);
4397                 is_inf = 0;
4398             } else
4399                 point_add_proj(&Q, &Q, &precomp[d]);
4400         }
4401         if ((d = anaf[i])) {
4402             if ((is_neg = d < 0) != flipped) {
4403                 fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.X, Q.X);
4404                 fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.T, Q.T);
4405                 flipped ^= 1;
4406             }
4407             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
4408             if (is_inf) {
4409                 /* initialize accumulator */
4410                 fe_copy(Q.X, &lut_cmb[0][d].X);
4411                 fe_copy(Q.Y, &lut_cmb[0][d].Y);
4412                 fe_copy(Q.T, &lut_cmb[0][d].T);
4413                 fe_copy(Q.Z, const_one);
4414                 is_inf = 0;
4415             } else
4416                 point_add_mixed(&Q, &Q, &lut_cmb[0][d]);
4417         }
4418     }
4419
4420     if (is_inf) {
4421         /* initialize accumulator to inf: all-zero scalars */
4422         fe_set_zero(Q.X);
4423         fe_copy(Q.Y, const_one);
4424         fe_set_zero(Q.T);
4425         fe_copy(Q.Z, const_one);
4426     }
4427
4428     if (flipped) {
4429         /* correct sign */
4430         fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.X, Q.X);
4431         fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.T, Q.T);
4432     }
4433
4434     /* move from Edwards projective to legacy projective */
4435     point_edwards2legacy(&Q, &Q);
4436     /* convert to affine -- NB depends on coordinate system */
4437     fiat_id_tc26_gost_3410_2012_512_paramSetC_inv(Q.Z, Q.Z);
4438     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->X, Q.X, Q.Z);
4439     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->Y, Q.Y, Q.Z);
4440 }
4441
4442 /*-
4443  * Variable point scalar multiplication with "regular" wnaf.
4444  */
4445 static void var_smul_rwnaf(pt_aff_t *out, const unsigned char scalar[64],
4446                            const pt_aff_t *P) {
4447     int i, j, d, diff, is_neg;
4448     int8_t rnaf[103] = {0};
4449     pt_prj_t Q = {0}, lut = {0};
4450     pt_prj_t precomp[DRADIX / 2];
4451
4452     precomp_wnaf(precomp, P);
4453     scalar_rwnaf(rnaf, scalar);
4454
4455 #if defined(_MSC_VER)
4456     /* result still unsigned: yes we know */
4457 #pragma warning(push)
4458 #pragma warning(disable : 4146)
4459 #endif
4460
4461     /* initialize accumulator to high digit */
4462     d = (rnaf[102] - 1) >> 1;
4463     for (j = 0; j < DRADIX / 2; j++) {
4464         diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
4465         fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.X, diff, Q.X,
4466                                                             precomp[j].X);
4467         fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Y, diff, Q.Y,
4468                                                             precomp[j].Y);
4469         fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.T, diff, Q.T,
4470                                                             precomp[j].T);
4471         fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Z, diff, Q.Z,
4472                                                             precomp[j].Z);
4473     }
4474
4475     for (i = 101; i >= 0; i--) {
4476         for (j = 0; j < RADIX; j++) point_double(&Q, &Q);
4477         d = rnaf[i];
4478         /* is_neg = (d < 0) ? 1 : 0 */
4479         is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
4480         /* d = abs(d) */
4481         d = (d ^ -is_neg) + is_neg;
4482         d = (d - 1) >> 1;
4483         for (j = 0; j < DRADIX / 2; j++) {
4484             diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
4485             fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
4486                 lut.X, diff, lut.X, precomp[j].X);
4487             fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
4488                 lut.Y, diff, lut.Y, precomp[j].Y);
4489             fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
4490                 lut.T, diff, lut.T, precomp[j].T);
4491             fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
4492                 lut.Z, diff, lut.Z, precomp[j].Z);
4493         }
4494         /* negate lut point if digit is negative */
4495         fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(out->X, lut.X);
4496         fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(out->T, lut.T);
4497         fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(lut.X, is_neg,
4498                                                             lut.X, out->X);
4499         fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(lut.T, is_neg,
4500                                                             lut.T, out->T);
4501         point_add_proj(&Q, &Q, &lut);
4502     }
4503
4504 #if defined(_MSC_VER)
4505 #pragma warning(pop)
4506 #endif
4507
4508     /* conditionally subtract P if the scalar was even */
4509     fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(lut.X, precomp[0].X);
4510     fe_copy(lut.Y, precomp[0].Y);
4511     fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(lut.T, precomp[0].T);
4512     fe_copy(lut.Z, precomp[0].Z);
4513     point_add_proj(&lut, &lut, &Q);
4514     fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.X, scalar[0] & 1,
4515                                                         lut.X, Q.X);
4516     fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Y, scalar[0] & 1,
4517                                                         lut.Y, Q.Y);
4518     fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.T, scalar[0] & 1,
4519                                                         lut.T, Q.T);
4520     fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Z, scalar[0] & 1,
4521                                                         lut.Z, Q.Z);
4522
4523     point_double(&Q, &Q);
4524     point_double(&Q, &Q);
4525
4526     /* move from Edwards projective to legacy projective */
4527     point_edwards2legacy(&Q, &Q);
4528     /* convert to affine -- NB depends on coordinate system */
4529     fiat_id_tc26_gost_3410_2012_512_paramSetC_inv(Q.Z, Q.Z);
4530     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->X, Q.X, Q.Z);
4531     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->Y, Q.Y, Q.Z);
4532 }
4533
4534 /*-
4535  * Fixed scalar multiplication: comb with interleaving.
4536  */
4537 static void fixed_smul_cmb(pt_aff_t *out, const unsigned char scalar[64]) {
4538     int i, j, k, d, diff, is_neg = 0;
4539     int8_t rnaf[103] = {0};
4540     pt_prj_t Q = {0}, R = {0};
4541     pt_aff_t lut = {0};
4542
4543     scalar_rwnaf(rnaf, scalar);
4544
4545     /* initalize accumulator to inf */
4546     fe_set_zero(Q.X);
4547     fe_copy(Q.Y, const_one);
4548     fe_set_zero(Q.T);
4549     fe_copy(Q.Z, const_one);
4550
4551 #if defined(_MSC_VER)
4552     /* result still unsigned: yes we know */
4553 #pragma warning(push)
4554 #pragma warning(disable : 4146)
4555 #endif
4556
4557     for (i = 14; i >= 0; i--) {
4558         for (j = 0; i != 14 && j < RADIX; j++) point_double(&Q, &Q);
4559         for (j = 0; j < 8; j++) {
4560             if (j * 15 + i > 102) continue;
4561             d = rnaf[j * 15 + i];
4562             /* is_neg = (d < 0) ? 1 : 0 */
4563             is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
4564             /* d = abs(d) */
4565             d = (d ^ -is_neg) + is_neg;
4566             d = (d - 1) >> 1;
4567             for (k = 0; k < DRADIX / 2; k++) {
4568                 diff = (1 - (-(d ^ k) >> (8 * sizeof(int) - 1))) & 1;
4569                 fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
4570                     lut.X, diff, lut.X, lut_cmb[j][k].X);
4571                 fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
4572                     lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
4573                 fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
4574                     lut.T, diff, lut.T, lut_cmb[j][k].T);
4575             }
4576             /* negate lut point if digit is negative */
4577             fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(out->X, lut.X);
4578             fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(out->T, lut.T);
4579             fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(lut.X, is_neg,
4580                                                                 lut.X, out->X);
4581             fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(lut.T, is_neg,
4582                                                                 lut.T, out->T);
4583             point_add_mixed(&Q, &Q, &lut);
4584         }
4585     }
4586
4587 #if defined(_MSC_VER)
4588 #pragma warning(pop)
4589 #endif
4590
4591     /* conditionally subtract P if the scalar was even */
4592     fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(lut.X, lut_cmb[0][0].X);
4593     fe_copy(lut.Y, lut_cmb[0][0].Y);
4594     fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(lut.T, lut_cmb[0][0].T);
4595     point_add_mixed(&R, &Q, &lut);
4596     fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.X, scalar[0] & 1, R.X,
4597                                                         Q.X);
4598     fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Y, scalar[0] & 1, R.Y,
4599                                                         Q.Y);
4600     fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.T, scalar[0] & 1, R.T,
4601                                                         Q.T);
4602     fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Z, scalar[0] & 1, R.Z,
4603                                                         Q.Z);
4604
4605     /* move from Edwards projective to legacy projective */
4606     point_edwards2legacy(&Q, &Q);
4607     /* convert to affine -- NB depends on coordinate system */
4608     fiat_id_tc26_gost_3410_2012_512_paramSetC_inv(Q.Z, Q.Z);
4609     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->X, Q.X, Q.Z);
4610     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->Y, Q.Y, Q.Z);
4611 }
4612
4613 /*-
4614  * Wrapper: simultaneous scalar mutiplication.
4615  * outx, outy := a * G + b * P
4616  * where P = (inx, iny).
4617  * Everything is LE byte ordering.
4618  */
4619 static void point_mul_two(unsigned char outx[64], unsigned char outy[64],
4620                           const unsigned char a[64], const unsigned char b[64],
4621                           const unsigned char inx[64],
4622                           const unsigned char iny[64]) {
4623     pt_aff_t P;
4624
4625     fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes(P.X, inx);
4626     fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes(P.Y, iny);
4627     /* simultaneous scalar multiplication */
4628     var_smul_wnaf_two(&P, a, b, &P);
4629
4630     fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outx, P.X);
4631     fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outy, P.Y);
4632 }
4633
4634 /*-
4635  * Wrapper: fixed scalar mutiplication.
4636  * outx, outy := scalar * G
4637  * Everything is LE byte ordering.
4638  */
4639 static void point_mul_g(unsigned char outx[64], unsigned char outy[64],
4640                         const unsigned char scalar[64]) {
4641     pt_aff_t P;
4642
4643     /* fixed scmul function */
4644     fixed_smul_cmb(&P, scalar);
4645     fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outx, P.X);
4646     fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outy, P.Y);
4647 }
4648
4649 /*-
4650  * Wrapper: variable point scalar mutiplication.
4651  * outx, outy := scalar * P
4652  * where P = (inx, iny).
4653  * Everything is LE byte ordering.
4654  */
4655 static void point_mul(unsigned char outx[64], unsigned char outy[64],
4656                       const unsigned char scalar[64],
4657                       const unsigned char inx[64],
4658                       const unsigned char iny[64]) {
4659     pt_aff_t P;
4660
4661     fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes(P.X, inx);
4662     fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes(P.Y, iny);
4663     /* var scmul function */
4664     var_smul_rwnaf(&P, scalar, &P);
4665     fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outx, P.X);
4666     fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outy, P.Y);
4667 }
4668
4669
4670 #include <openssl/ec.h>
4671
4672 /* the zero field element */
4673 static const unsigned char const_zb[64] = {0};
4674
4675 /*-
4676  * An OpenSSL wrapper for simultaneous scalar multiplication.
4677  * r := n * G + m * q
4678  */
4679     int
4680     point_mul_two_id_tc26_gost_3410_2012_512_paramSetC(
4681         const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, const EC_POINT *q,
4682         const BIGNUM *m, BN_CTX *ctx) {
4683     int ret = 0;
4684     unsigned char b_x[64];
4685     unsigned char b_y[64];
4686     unsigned char b_n[64];
4687     unsigned char b_m[64];
4688     BIGNUM *x = NULL, *y = NULL;
4689
4690     BN_CTX_start(ctx);
4691     x = BN_CTX_get(ctx);
4692     if ((y = BN_CTX_get(ctx)) == NULL
4693         /* pull out coords as bytes */
4694         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
4695         BN_bn2lebinpad(x, b_x, 64) != 64 || BN_bn2lebinpad(y, b_y, 64) != 64 ||
4696         BN_bn2lebinpad(n, b_n, 64) != 64 || BN_bn2lebinpad(m, b_m, 64) != 64)
4697         goto err;
4698     /* do the simultaneous scalar multiplication */
4699     point_mul_two(b_x, b_y, b_n, b_m, b_x, b_y);
4700     /* check for infinity */
4701     if (CRYPTO_memcmp(const_zb, b_x, 64) == 0 &&
4702         CRYPTO_memcmp(const_zb, b_y, 64) == 0) {
4703         if (!EC_POINT_set_to_infinity(group, r)) goto err;
4704     } else {
4705         /* otherwise, pack the bytes into the result */
4706         if (BN_lebin2bn(b_x, 64, x) == NULL ||
4707             BN_lebin2bn(b_y, 64, y) == NULL ||
4708             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
4709             goto err;
4710     }
4711     ret = 1;
4712 err:
4713     BN_CTX_end(ctx);
4714     return ret;
4715 }
4716
4717 /*-
4718  * An OpenSSL wrapper for variable point scalar multiplication.
4719  * r := m * q
4720  */
4721     int
4722     point_mul_id_tc26_gost_3410_2012_512_paramSetC(const EC_GROUP *group,
4723                                                    EC_POINT *r,
4724                                                    const EC_POINT *q,
4725                                                    const BIGNUM *m,
4726                                                    BN_CTX *ctx) {
4727     int ret = 0;
4728     unsigned char b_x[64];
4729     unsigned char b_y[64];
4730     unsigned char b_m[64];
4731     BIGNUM *x = NULL, *y = NULL;
4732
4733     BN_CTX_start(ctx);
4734     x = BN_CTX_get(ctx);
4735     if ((y = BN_CTX_get(ctx)) == NULL
4736         /* pull out coords as bytes */
4737         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
4738         BN_bn2lebinpad(x, b_x, 64) != 64 || BN_bn2lebinpad(y, b_y, 64) != 64 ||
4739         BN_bn2lebinpad(m, b_m, 64) != 64)
4740         goto err;
4741     /* do the variable scalar multiplication */
4742     point_mul(b_x, b_y, b_m, b_x, b_y);
4743     /* check for infinity */
4744     if (CRYPTO_memcmp(const_zb, b_x, 64) == 0 &&
4745         CRYPTO_memcmp(const_zb, b_y, 64) == 0) {
4746         if (!EC_POINT_set_to_infinity(group, r)) goto err;
4747     } else {
4748         /* otherwise, pack the bytes into the result */
4749         if (BN_lebin2bn(b_x, 64, x) == NULL ||
4750             BN_lebin2bn(b_y, 64, y) == NULL ||
4751             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
4752             goto err;
4753     }
4754     ret = 1;
4755 err:
4756     BN_CTX_end(ctx);
4757     return ret;
4758 }
4759
4760 /*-
4761  * An OpenSSL wrapper for fixed scalar multiplication.
4762  * r := n * G
4763  */
4764     int
4765     point_mul_g_id_tc26_gost_3410_2012_512_paramSetC(const EC_GROUP *group,
4766                                                      EC_POINT *r,
4767                                                      const BIGNUM *n,
4768                                                      BN_CTX *ctx) {
4769     int ret = 0;
4770     unsigned char b_x[64];
4771     unsigned char b_y[64];
4772     unsigned char b_n[64];
4773     BIGNUM *x = NULL, *y = NULL;
4774
4775     BN_CTX_start(ctx);
4776     x = BN_CTX_get(ctx);
4777     if ((y = BN_CTX_get(ctx)) == NULL || BN_bn2lebinpad(n, b_n, 64) != 64)
4778         goto err;
4779     /* do the fixed scalar multiplication */
4780     point_mul_g(b_x, b_y, b_n);
4781     /* check for infinity */
4782     if (CRYPTO_memcmp(const_zb, b_x, 64) == 0 &&
4783         CRYPTO_memcmp(const_zb, b_y, 64) == 0) {
4784         if (!EC_POINT_set_to_infinity(group, r)) goto err;
4785     } else {
4786         /* otherwise, pack the bytes into the result */
4787         if (BN_lebin2bn(b_x, 64, x) == NULL ||
4788             BN_lebin2bn(b_y, 64, y) == NULL ||
4789             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
4790             goto err;
4791     }
4792     ret = 1;
4793 err:
4794     BN_CTX_end(ctx);
4795     return ret;
4796 }
4797
4798
4799
4800 #else /* __SIZEOF_INT128__ */
4801
4802 #include <stdint.h>
4803 #include <string.h>
4804 #define LIMB_BITS 32
4805 #define LIMB_CNT 23
4806 /* Field elements */
4807 typedef uint32_t fe_t[LIMB_CNT];
4808 typedef uint32_t limb_t;
4809
4810 #ifdef OPENSSL_NO_ASM
4811 #define FIAT_ID_TC26_GOST_3410_2012_512_PARAMSETC_NO_ASM
4812 #endif
4813
4814 #define fe_copy(d, s) memcpy(d, s, sizeof(fe_t))
4815 #define fe_set_zero(d) memset(d, 0, sizeof(fe_t))
4816
4817 #define fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(c, a, b) \
4818     fiat_id_tc26_gost_3410_2012_512_paramSetC_add(c, a, b);          \
4819     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry(c, c)
4820 #define fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(c, a, b) \
4821     fiat_id_tc26_gost_3410_2012_512_paramSetC_sub(c, a, b);          \
4822     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry(c, c)
4823
4824 /* Projective points */
4825 typedef struct {
4826     fe_t X;
4827     fe_t Y;
4828     fe_t T;
4829     fe_t Z;
4830 } pt_prj_t;
4831
4832 /* Affine points */
4833 typedef struct {
4834     fe_t X;
4835     fe_t Y;
4836     fe_t T;
4837 } pt_aff_t;
4838
4839 /* BEGIN verbatim fiat code https://github.com/mit-plv/fiat-crypto */
4840 /*-
4841  * MIT License
4842  *
4843  * Copyright (c) 2020 the fiat-crypto authors (see the AUTHORS file)
4844  *
4845  * Permission is hereby granted, free of charge, to any person obtaining a copy
4846  * of this software and associated documentation files (the "Software"), to deal
4847  * in the Software without restriction, including without limitation the rights
4848  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
4849  * copies of the Software, and to permit persons to whom the Software is
4850  * furnished to do so, subject to the following conditions:
4851  *
4852  * The above copyright notice and this permission notice shall be included in
4853  * all copies or substantial portions of the Software.
4854  *
4855  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
4856  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
4857  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
4858  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
4859  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
4860  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
4861  * SOFTWARE.
4862  */
4863
4864 /* Autogenerated: unsaturated_solinas --static --use-value-barrier id_tc26_gost_3410_2012_512_paramSetC 32 '(auto)' '2^512 - 569' */
4865 /* curve description: id_tc26_gost_3410_2012_512_paramSetC */
4866 /* machine_wordsize = 32 (from "32") */
4867 /* requested operations: (all) */
4868 /* n = 23 (from "(auto)") */
4869 /* s-c = 2^512 - [(1, 569)] (from "2^512 - 569") */
4870 /* tight_bounds_multiplier = 1 (from "") */
4871 /*  */
4872 /* Computed values: */
4873 /* 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] */
4874 /* 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) */
4875 /* 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) */
4876 /* balance = [0xfffb8e, 0x7ffffe, 0x7ffffe, 0xfffffe, 0x7ffffe, 0x7ffffe, 0x7ffffe, 0xfffffe, 0x7ffffe, 0x7ffffe, 0x7ffffe, 0xfffffe, 0x7ffffe, 0x7ffffe, 0x7ffffe, 0xfffffe, 0x7ffffe, 0x7ffffe, 0x7ffffe, 0xfffffe, 0x7ffffe, 0x7ffffe, 0x7ffffe] */
4877
4878 #include <stdint.h>
4879 typedef unsigned char fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1;
4880 typedef signed char fiat_id_tc26_gost_3410_2012_512_paramSetC_int1;
4881
4882 #if (-1 & 3) != 3
4883 #error "This code only works on a two's complement system"
4884 #endif
4885
4886 #if !defined(FIAT_ID_TC26_GOST_3410_2012_512_PARAMSETC_NO_ASM) && \
4887     (defined(__GNUC__) || defined(__clang__))
4888 static __inline__ uint32_t
4889 fiat_id_tc26_gost_3410_2012_512_paramSetC_value_barrier_u32(uint32_t a) {
4890     __asm__("" : "+r"(a) : /* no inputs */);
4891     return a;
4892 }
4893 #else
4894 #define fiat_id_tc26_gost_3410_2012_512_paramSetC_value_barrier_u32(x) (x)
4895 #endif
4896
4897 /*
4898  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22 is an addition with carry.
4899  * Postconditions:
4900  *   out1 = (arg1 + arg2 + arg3) mod 2^22
4901  *   out2 = ⌊(arg1 + arg2 + arg3) / 2^22⌋
4902  *
4903  * Input Bounds:
4904  *   arg1: [0x0 ~> 0x1]
4905  *   arg2: [0x0 ~> 0x3fffff]
4906  *   arg3: [0x0 ~> 0x3fffff]
4907  * Output Bounds:
4908  *   out1: [0x0 ~> 0x3fffff]
4909  *   out2: [0x0 ~> 0x1]
4910  */
4911 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
4912     uint32_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 *out2,
4913     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1, uint32_t arg2,
4914     uint32_t arg3) {
4915     uint32_t x1;
4916     uint32_t x2;
4917     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x3;
4918     x1 = ((arg1 + arg2) + arg3);
4919     x2 = (x1 & UINT32_C(0x3fffff));
4920     x3 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x1 >> 22);
4921     *out1 = x2;
4922     *out2 = x3;
4923 }
4924
4925 /*
4926  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22 is a subtraction with borrow.
4927  * Postconditions:
4928  *   out1 = (-arg1 + arg2 + -arg3) mod 2^22
4929  *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^22⌋
4930  *
4931  * Input Bounds:
4932  *   arg1: [0x0 ~> 0x1]
4933  *   arg2: [0x0 ~> 0x3fffff]
4934  *   arg3: [0x0 ~> 0x3fffff]
4935  * Output Bounds:
4936  *   out1: [0x0 ~> 0x3fffff]
4937  *   out2: [0x0 ~> 0x1]
4938  */
4939 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
4940     uint32_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 *out2,
4941     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1, uint32_t arg2,
4942     uint32_t arg3) {
4943     int32_t x1;
4944     fiat_id_tc26_gost_3410_2012_512_paramSetC_int1 x2;
4945     uint32_t x3;
4946     x1 = ((int32_t)(arg2 - arg1) - (int32_t)arg3);
4947     x2 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_int1)(x1 >> 22);
4948     x3 = (x1 & UINT32_C(0x3fffff));
4949     *out1 = x3;
4950     *out2 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(0x0 - x2);
4951 }
4952
4953 /*
4954  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u23 is an addition with carry.
4955  * Postconditions:
4956  *   out1 = (arg1 + arg2 + arg3) mod 2^23
4957  *   out2 = ⌊(arg1 + arg2 + arg3) / 2^23⌋
4958  *
4959  * Input Bounds:
4960  *   arg1: [0x0 ~> 0x1]
4961  *   arg2: [0x0 ~> 0x7fffff]
4962  *   arg3: [0x0 ~> 0x7fffff]
4963  * Output Bounds:
4964  *   out1: [0x0 ~> 0x7fffff]
4965  *   out2: [0x0 ~> 0x1]
4966  */
4967 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u23(
4968     uint32_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 *out2,
4969     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1, uint32_t arg2,
4970     uint32_t arg3) {
4971     uint32_t x1;
4972     uint32_t x2;
4973     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x3;
4974     x1 = ((arg1 + arg2) + arg3);
4975     x2 = (x1 & UINT32_C(0x7fffff));
4976     x3 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x1 >> 23);
4977     *out1 = x2;
4978     *out2 = x3;
4979 }
4980
4981 /*
4982  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u23 is a subtraction with borrow.
4983  * Postconditions:
4984  *   out1 = (-arg1 + arg2 + -arg3) mod 2^23
4985  *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^23⌋
4986  *
4987  * Input Bounds:
4988  *   arg1: [0x0 ~> 0x1]
4989  *   arg2: [0x0 ~> 0x7fffff]
4990  *   arg3: [0x0 ~> 0x7fffff]
4991  * Output Bounds:
4992  *   out1: [0x0 ~> 0x7fffff]
4993  *   out2: [0x0 ~> 0x1]
4994  */
4995 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u23(
4996     uint32_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 *out2,
4997     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1, uint32_t arg2,
4998     uint32_t arg3) {
4999     int32_t x1;
5000     fiat_id_tc26_gost_3410_2012_512_paramSetC_int1 x2;
5001     uint32_t x3;
5002     x1 = ((int32_t)(arg2 - arg1) - (int32_t)arg3);
5003     x2 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_int1)(x1 >> 23);
5004     x3 = (x1 & UINT32_C(0x7fffff));
5005     *out1 = x3;
5006     *out2 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(0x0 - x2);
5007 }
5008
5009 /*
5010  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32 is a single-word conditional move.
5011  * Postconditions:
5012  *   out1 = (if arg1 = 0 then arg2 else arg3)
5013  *
5014  * Input Bounds:
5015  *   arg1: [0x0 ~> 0x1]
5016  *   arg2: [0x0 ~> 0xffffffff]
5017  *   arg3: [0x0 ~> 0xffffffff]
5018  * Output Bounds:
5019  *   out1: [0x0 ~> 0xffffffff]
5020  */
5021 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
5022     uint32_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1,
5023     uint32_t arg2, uint32_t arg3) {
5024     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x1;
5025     uint32_t x2;
5026     uint32_t x3;
5027     x1 = (!(!arg1));
5028     x2 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_int1)(0x0 - x1) &
5029           UINT32_C(0xffffffff));
5030     x3 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_value_barrier_u32(x2) &
5031            arg3) |
5032           (fiat_id_tc26_gost_3410_2012_512_paramSetC_value_barrier_u32((~x2)) &
5033            arg2));
5034     *out1 = x3;
5035 }
5036
5037 /*
5038  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul multiplies two field elements and reduces the result.
5039  * Postconditions:
5040  *   eval out1 mod m = (eval arg1 * eval arg2) mod m
5041  *
5042  * Input Bounds:
5043  *   arg1: [[0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000]]
5044  *   arg2: [[0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000]]
5045  * Output Bounds:
5046  *   out1: [[0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000]]
5047  */
5048 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(
5049     uint32_t out1[23], const uint32_t arg1[23], const uint32_t arg2[23]) {
5050     uint64_t x1;
5051     uint64_t x2;
5052     uint64_t x3;
5053     uint64_t x4;
5054     uint64_t x5;
5055     uint64_t x6;
5056     uint64_t x7;
5057     uint64_t x8;
5058     uint64_t x9;
5059     uint64_t x10;
5060     uint64_t x11;
5061     uint64_t x12;
5062     uint64_t x13;
5063     uint64_t x14;
5064     uint64_t x15;
5065     uint64_t x16;
5066     uint64_t x17;
5067     uint64_t x18;
5068     uint64_t x19;
5069     uint64_t x20;
5070     uint64_t x21;
5071     uint64_t x22;
5072     uint64_t x23;
5073     uint64_t x24;
5074     uint64_t x25;
5075     uint64_t x26;
5076     uint64_t x27;
5077     uint64_t x28;
5078     uint64_t x29;
5079     uint64_t x30;
5080     uint64_t x31;
5081     uint64_t x32;
5082     uint64_t x33;
5083     uint64_t x34;
5084     uint64_t x35;
5085     uint64_t x36;
5086     uint64_t x37;
5087     uint64_t x38;
5088     uint64_t x39;
5089     uint64_t x40;
5090     uint64_t x41;
5091     uint64_t x42;
5092     uint64_t x43;
5093     uint64_t x44;
5094     uint64_t x45;
5095     uint64_t x46;
5096     uint64_t x47;
5097     uint64_t x48;
5098     uint64_t x49;
5099     uint64_t x50;
5100     uint64_t x51;
5101     uint64_t x52;
5102     uint64_t x53;
5103     uint64_t x54;
5104     uint64_t x55;
5105     uint64_t x56;
5106     uint64_t x57;
5107     uint64_t x58;
5108     uint64_t x59;
5109     uint64_t x60;
5110     uint64_t x61;
5111     uint64_t x62;
5112     uint64_t x63;
5113     uint64_t x64;
5114     uint64_t x65;
5115     uint64_t x66;
5116     uint64_t x67;
5117     uint64_t x68;
5118     uint64_t x69;
5119     uint64_t x70;
5120     uint64_t x71;
5121     uint64_t x72;
5122     uint64_t x73;
5123     uint64_t x74;
5124     uint64_t x75;
5125     uint64_t x76;
5126     uint64_t x77;
5127     uint64_t x78;
5128     uint64_t x79;
5129     uint64_t x80;
5130     uint64_t x81;
5131     uint64_t x82;
5132     uint64_t x83;
5133     uint64_t x84;
5134     uint64_t x85;
5135     uint64_t x86;
5136     uint64_t x87;
5137     uint64_t x88;
5138     uint64_t x89;
5139     uint64_t x90;
5140     uint64_t x91;
5141     uint64_t x92;
5142     uint64_t x93;
5143     uint64_t x94;
5144     uint64_t x95;
5145     uint64_t x96;
5146     uint64_t x97;
5147     uint64_t x98;
5148     uint64_t x99;
5149     uint64_t x100;
5150     uint64_t x101;
5151     uint64_t x102;
5152     uint64_t x103;
5153     uint64_t x104;
5154     uint64_t x105;
5155     uint64_t x106;
5156     uint64_t x107;
5157     uint64_t x108;
5158     uint64_t x109;
5159     uint64_t x110;
5160     uint64_t x111;
5161     uint64_t x112;
5162     uint64_t x113;
5163     uint64_t x114;
5164     uint64_t x115;
5165     uint64_t x116;
5166     uint64_t x117;
5167     uint64_t x118;
5168     uint64_t x119;
5169     uint64_t x120;
5170     uint64_t x121;
5171     uint64_t x122;
5172     uint64_t x123;
5173     uint64_t x124;
5174     uint64_t x125;
5175     uint64_t x126;
5176     uint64_t x127;
5177     uint64_t x128;
5178     uint64_t x129;
5179     uint64_t x130;
5180     uint64_t x131;
5181     uint64_t x132;
5182     uint64_t x133;
5183     uint64_t x134;
5184     uint64_t x135;
5185     uint64_t x136;
5186     uint64_t x137;
5187     uint64_t x138;
5188     uint64_t x139;
5189     uint64_t x140;
5190     uint64_t x141;
5191     uint64_t x142;
5192     uint64_t x143;
5193     uint64_t x144;
5194     uint64_t x145;
5195     uint64_t x146;
5196     uint64_t x147;
5197     uint64_t x148;
5198     uint64_t x149;
5199     uint64_t x150;
5200     uint64_t x151;
5201     uint64_t x152;
5202     uint64_t x153;
5203     uint64_t x154;
5204     uint64_t x155;
5205     uint64_t x156;
5206     uint64_t x157;
5207     uint64_t x158;
5208     uint64_t x159;
5209     uint64_t x160;
5210     uint64_t x161;
5211     uint64_t x162;
5212     uint64_t x163;
5213     uint64_t x164;
5214     uint64_t x165;
5215     uint64_t x166;
5216     uint64_t x167;
5217     uint64_t x168;
5218     uint64_t x169;
5219     uint64_t x170;
5220     uint64_t x171;
5221     uint64_t x172;
5222     uint64_t x173;
5223     uint64_t x174;
5224     uint64_t x175;
5225     uint64_t x176;
5226     uint64_t x177;
5227     uint64_t x178;
5228     uint64_t x179;
5229     uint64_t x180;
5230     uint64_t x181;
5231     uint64_t x182;
5232     uint64_t x183;
5233     uint64_t x184;
5234     uint64_t x185;
5235     uint64_t x186;
5236     uint64_t x187;
5237     uint64_t x188;
5238     uint64_t x189;
5239     uint64_t x190;
5240     uint64_t x191;
5241     uint64_t x192;
5242     uint64_t x193;
5243     uint64_t x194;
5244     uint64_t x195;
5245     uint64_t x196;
5246     uint64_t x197;
5247     uint64_t x198;
5248     uint64_t x199;
5249     uint64_t x200;
5250     uint64_t x201;
5251     uint64_t x202;
5252     uint64_t x203;
5253     uint64_t x204;
5254     uint64_t x205;
5255     uint64_t x206;
5256     uint64_t x207;
5257     uint64_t x208;
5258     uint64_t x209;
5259     uint64_t x210;
5260     uint64_t x211;
5261     uint64_t x212;
5262     uint64_t x213;
5263     uint64_t x214;
5264     uint64_t x215;
5265     uint64_t x216;
5266     uint64_t x217;
5267     uint64_t x218;
5268     uint64_t x219;
5269     uint64_t x220;
5270     uint64_t x221;
5271     uint64_t x222;
5272     uint64_t x223;
5273     uint64_t x224;
5274     uint64_t x225;
5275     uint64_t x226;
5276     uint64_t x227;
5277     uint64_t x228;
5278     uint64_t x229;
5279     uint64_t x230;
5280     uint64_t x231;
5281     uint64_t x232;
5282     uint64_t x233;
5283     uint64_t x234;
5284     uint64_t x235;
5285     uint64_t x236;
5286     uint64_t x237;
5287     uint64_t x238;
5288     uint64_t x239;
5289     uint64_t x240;
5290     uint64_t x241;
5291     uint64_t x242;
5292     uint64_t x243;
5293     uint64_t x244;
5294     uint64_t x245;
5295     uint64_t x246;
5296     uint64_t x247;
5297     uint64_t x248;
5298     uint64_t x249;
5299     uint64_t x250;
5300     uint64_t x251;
5301     uint64_t x252;
5302     uint64_t x253;
5303     uint64_t x254;
5304     uint64_t x255;
5305     uint64_t x256;
5306     uint64_t x257;
5307     uint64_t x258;
5308     uint64_t x259;
5309     uint64_t x260;
5310     uint64_t x261;
5311     uint64_t x262;
5312     uint64_t x263;
5313     uint64_t x264;
5314     uint64_t x265;
5315     uint64_t x266;
5316     uint64_t x267;
5317     uint64_t x268;
5318     uint64_t x269;
5319     uint64_t x270;
5320     uint64_t x271;
5321     uint64_t x272;
5322     uint64_t x273;
5323     uint64_t x274;
5324     uint64_t x275;
5325     uint64_t x276;
5326     uint64_t x277;
5327     uint64_t x278;
5328     uint64_t x279;
5329     uint64_t x280;
5330     uint64_t x281;
5331     uint64_t x282;
5332     uint64_t x283;
5333     uint64_t x284;
5334     uint64_t x285;
5335     uint64_t x286;
5336     uint64_t x287;
5337     uint64_t x288;
5338     uint64_t x289;
5339     uint64_t x290;
5340     uint64_t x291;
5341     uint64_t x292;
5342     uint64_t x293;
5343     uint64_t x294;
5344     uint64_t x295;
5345     uint64_t x296;
5346     uint64_t x297;
5347     uint64_t x298;
5348     uint64_t x299;
5349     uint64_t x300;
5350     uint64_t x301;
5351     uint64_t x302;
5352     uint64_t x303;
5353     uint64_t x304;
5354     uint64_t x305;
5355     uint64_t x306;
5356     uint64_t x307;
5357     uint64_t x308;
5358     uint64_t x309;
5359     uint64_t x310;
5360     uint64_t x311;
5361     uint64_t x312;
5362     uint64_t x313;
5363     uint64_t x314;
5364     uint64_t x315;
5365     uint64_t x316;
5366     uint64_t x317;
5367     uint64_t x318;
5368     uint64_t x319;
5369     uint64_t x320;
5370     uint64_t x321;
5371     uint64_t x322;
5372     uint64_t x323;
5373     uint64_t x324;
5374     uint64_t x325;
5375     uint64_t x326;
5376     uint64_t x327;
5377     uint64_t x328;
5378     uint64_t x329;
5379     uint64_t x330;
5380     uint64_t x331;
5381     uint64_t x332;
5382     uint64_t x333;
5383     uint64_t x334;
5384     uint64_t x335;
5385     uint64_t x336;
5386     uint64_t x337;
5387     uint64_t x338;
5388     uint64_t x339;
5389     uint64_t x340;
5390     uint64_t x341;
5391     uint64_t x342;
5392     uint64_t x343;
5393     uint64_t x344;
5394     uint64_t x345;
5395     uint64_t x346;
5396     uint64_t x347;
5397     uint64_t x348;
5398     uint64_t x349;
5399     uint64_t x350;
5400     uint64_t x351;
5401     uint64_t x352;
5402     uint64_t x353;
5403     uint64_t x354;
5404     uint64_t x355;
5405     uint64_t x356;
5406     uint64_t x357;
5407     uint64_t x358;
5408     uint64_t x359;
5409     uint64_t x360;
5410     uint64_t x361;
5411     uint64_t x362;
5412     uint64_t x363;
5413     uint64_t x364;
5414     uint64_t x365;
5415     uint64_t x366;
5416     uint64_t x367;
5417     uint64_t x368;
5418     uint64_t x369;
5419     uint64_t x370;
5420     uint64_t x371;
5421     uint64_t x372;
5422     uint64_t x373;
5423     uint64_t x374;
5424     uint64_t x375;
5425     uint64_t x376;
5426     uint64_t x377;
5427     uint64_t x378;
5428     uint64_t x379;
5429     uint64_t x380;
5430     uint64_t x381;
5431     uint64_t x382;
5432     uint64_t x383;
5433     uint64_t x384;
5434     uint64_t x385;
5435     uint64_t x386;
5436     uint64_t x387;
5437     uint64_t x388;
5438     uint64_t x389;
5439     uint64_t x390;
5440     uint64_t x391;
5441     uint64_t x392;
5442     uint64_t x393;
5443     uint64_t x394;
5444     uint64_t x395;
5445     uint64_t x396;
5446     uint64_t x397;
5447     uint64_t x398;
5448     uint64_t x399;
5449     uint64_t x400;
5450     uint64_t x401;
5451     uint64_t x402;
5452     uint64_t x403;
5453     uint64_t x404;
5454     uint64_t x405;
5455     uint64_t x406;
5456     uint64_t x407;
5457     uint64_t x408;
5458     uint64_t x409;
5459     uint64_t x410;
5460     uint64_t x411;
5461     uint64_t x412;
5462     uint64_t x413;
5463     uint64_t x414;
5464     uint64_t x415;
5465     uint64_t x416;
5466     uint64_t x417;
5467     uint64_t x418;
5468     uint64_t x419;
5469     uint64_t x420;
5470     uint64_t x421;
5471     uint64_t x422;
5472     uint64_t x423;
5473     uint64_t x424;
5474     uint64_t x425;
5475     uint64_t x426;
5476     uint64_t x427;
5477     uint64_t x428;
5478     uint64_t x429;
5479     uint64_t x430;
5480     uint64_t x431;
5481     uint64_t x432;
5482     uint64_t x433;
5483     uint64_t x434;
5484     uint64_t x435;
5485     uint64_t x436;
5486     uint64_t x437;
5487     uint64_t x438;
5488     uint64_t x439;
5489     uint64_t x440;
5490     uint64_t x441;
5491     uint64_t x442;
5492     uint64_t x443;
5493     uint64_t x444;
5494     uint64_t x445;
5495     uint64_t x446;
5496     uint64_t x447;
5497     uint64_t x448;
5498     uint64_t x449;
5499     uint64_t x450;
5500     uint64_t x451;
5501     uint64_t x452;
5502     uint64_t x453;
5503     uint64_t x454;
5504     uint64_t x455;
5505     uint64_t x456;
5506     uint64_t x457;
5507     uint64_t x458;
5508     uint64_t x459;
5509     uint64_t x460;
5510     uint64_t x461;
5511     uint64_t x462;
5512     uint64_t x463;
5513     uint64_t x464;
5514     uint64_t x465;
5515     uint64_t x466;
5516     uint64_t x467;
5517     uint64_t x468;
5518     uint64_t x469;
5519     uint64_t x470;
5520     uint64_t x471;
5521     uint64_t x472;
5522     uint64_t x473;
5523     uint64_t x474;
5524     uint64_t x475;
5525     uint64_t x476;
5526     uint64_t x477;
5527     uint64_t x478;
5528     uint64_t x479;
5529     uint64_t x480;
5530     uint64_t x481;
5531     uint64_t x482;
5532     uint64_t x483;
5533     uint64_t x484;
5534     uint64_t x485;
5535     uint64_t x486;
5536     uint64_t x487;
5537     uint64_t x488;
5538     uint64_t x489;
5539     uint64_t x490;
5540     uint64_t x491;
5541     uint64_t x492;
5542     uint64_t x493;
5543     uint64_t x494;
5544     uint64_t x495;
5545     uint64_t x496;
5546     uint64_t x497;
5547     uint64_t x498;
5548     uint64_t x499;
5549     uint64_t x500;
5550     uint64_t x501;
5551     uint64_t x502;
5552     uint64_t x503;
5553     uint64_t x504;
5554     uint64_t x505;
5555     uint64_t x506;
5556     uint64_t x507;
5557     uint64_t x508;
5558     uint64_t x509;
5559     uint64_t x510;
5560     uint64_t x511;
5561     uint64_t x512;
5562     uint64_t x513;
5563     uint64_t x514;
5564     uint64_t x515;
5565     uint64_t x516;
5566     uint64_t x517;
5567     uint64_t x518;
5568     uint64_t x519;
5569     uint64_t x520;
5570     uint64_t x521;
5571     uint64_t x522;
5572     uint64_t x523;
5573     uint64_t x524;
5574     uint64_t x525;
5575     uint64_t x526;
5576     uint64_t x527;
5577     uint64_t x528;
5578     uint64_t x529;
5579     uint64_t x530;
5580     uint64_t x531;
5581     uint32_t x532;
5582     uint64_t x533;
5583     uint64_t x534;
5584     uint64_t x535;
5585     uint64_t x536;
5586     uint64_t x537;
5587     uint64_t x538;
5588     uint64_t x539;
5589     uint64_t x540;
5590     uint64_t x541;
5591     uint64_t x542;
5592     uint64_t x543;
5593     uint64_t x544;
5594     uint64_t x545;
5595     uint64_t x546;
5596     uint64_t x547;
5597     uint64_t x548;
5598     uint64_t x549;
5599     uint64_t x550;
5600     uint64_t x551;
5601     uint64_t x552;
5602     uint64_t x553;
5603     uint64_t x554;
5604     uint64_t x555;
5605     uint64_t x556;
5606     uint32_t x557;
5607     uint64_t x558;
5608     uint64_t x559;
5609     uint32_t x560;
5610     uint64_t x561;
5611     uint64_t x562;
5612     uint32_t x563;
5613     uint64_t x564;
5614     uint64_t x565;
5615     uint32_t x566;
5616     uint64_t x567;
5617     uint64_t x568;
5618     uint32_t x569;
5619     uint64_t x570;
5620     uint64_t x571;
5621     uint32_t x572;
5622     uint64_t x573;
5623     uint64_t x574;
5624     uint32_t x575;
5625     uint64_t x576;
5626     uint64_t x577;
5627     uint32_t x578;
5628     uint64_t x579;
5629     uint64_t x580;
5630     uint32_t x581;
5631     uint64_t x582;
5632     uint64_t x583;
5633     uint32_t x584;
5634     uint64_t x585;
5635     uint64_t x586;
5636     uint32_t x587;
5637     uint64_t x588;
5638     uint64_t x589;
5639     uint32_t x590;
5640     uint64_t x591;
5641     uint64_t x592;
5642     uint32_t x593;
5643     uint64_t x594;
5644     uint64_t x595;
5645     uint32_t x596;
5646     uint64_t x597;
5647     uint64_t x598;
5648     uint32_t x599;
5649     uint64_t x600;
5650     uint64_t x601;
5651     uint32_t x602;
5652     uint64_t x603;
5653     uint64_t x604;
5654     uint32_t x605;
5655     uint64_t x606;
5656     uint64_t x607;
5657     uint32_t x608;
5658     uint64_t x609;
5659     uint64_t x610;
5660     uint32_t x611;
5661     uint64_t x612;
5662     uint64_t x613;
5663     uint32_t x614;
5664     uint64_t x615;
5665     uint64_t x616;
5666     uint32_t x617;
5667     uint64_t x618;
5668     uint32_t x619;
5669     uint32_t x620;
5670     uint64_t x621;
5671     uint64_t x622;
5672     uint32_t x623;
5673     uint32_t x624;
5674     uint32_t x625;
5675     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x626;
5676     uint32_t x627;
5677     uint32_t x628;
5678     x1 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[22])));
5679     x2 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[21])));
5680     x3 = (UINT16_C(0x239) * (((uint64_t)(arg1[22]) * (arg2[20])) * 0x2));
5681     x4 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[19])));
5682     x5 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[18])));
5683     x6 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[17])));
5684     x7 = (UINT16_C(0x239) * (((uint64_t)(arg1[22]) * (arg2[16])) * 0x2));
5685     x8 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[15])));
5686     x9 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[14])));
5687     x10 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[13])));
5688     x11 = (UINT16_C(0x239) * (((uint64_t)(arg1[22]) * (arg2[12])) * 0x2));
5689     x12 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[11])));
5690     x13 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[10])));
5691     x14 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[9])));
5692     x15 = (UINT16_C(0x239) * (((uint64_t)(arg1[22]) * (arg2[8])) * 0x2));
5693     x16 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[7])));
5694     x17 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[6])));
5695     x18 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[5])));
5696     x19 = (UINT16_C(0x239) * (((uint64_t)(arg1[22]) * (arg2[4])) * 0x2));
5697     x20 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[3])));
5698     x21 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[2])));
5699     x22 = (UINT16_C(0x239) * (((uint64_t)(arg1[22]) * (arg2[1])) * 0x2));
5700     x23 = (UINT16_C(0x239) * ((uint64_t)(arg1[21]) * (arg2[22])));
5701     x24 = (UINT16_C(0x239) * (((uint64_t)(arg1[21]) * (arg2[21])) * 0x2));
5702     x25 = (UINT16_C(0x239) * (((uint64_t)(arg1[21]) * (arg2[20])) * 0x2));
5703     x26 = (UINT16_C(0x239) * ((uint64_t)(arg1[21]) * (arg2[19])));
5704     x27 = (UINT16_C(0x239) * ((uint64_t)(arg1[21]) * (arg2[18])));
5705     x28 = (UINT16_C(0x239) * (((uint64_t)(arg1[21]) * (arg2[17])) * 0x2));
5706     x29 = (UINT16_C(0x239) * (((uint64_t)(arg1[21]) * (arg2[16])) * 0x2));
5707     x30 = (UINT16_C(0x239) * ((uint64_t)(arg1[21]) * (arg2[15])));
5708     x31 = (UINT16_C(0x239) * ((uint64_t)(arg1[21]) * (arg2[14])));
5709     x32 = (UINT16_C(0x239) * (((uint64_t)(arg1[21]) * (arg2[13])) * 0x2));
5710     x33 = (UINT16_C(0x239) * (((uint64_t)(arg1[21]) * (arg2[12])) * 0x2));
5711     x34 = (UINT16_C(0x239) * ((uint64_t)(arg1[21]) * (arg2[11])));
5712     x35 = (UINT16_C(0x239) * ((uint64_t)(arg1[21]) * (arg2[10])));
5713     x36 = (UINT16_C(0x239) * (((uint64_t)(arg1[21]) * (arg2[9])) * 0x2));
5714     x37 = (UINT16_C(0x239) * (((uint64_t)(arg1[21]) * (arg2[8])) * 0x2));
5715     x38 = (UINT16_C(0x239) * ((uint64_t)(arg1[21]) * (arg2[7])));
5716     x39 = (UINT16_C(0x239) * ((uint64_t)(arg1[21]) * (arg2[6])));
5717     x40 = (UINT16_C(0x239) * (((uint64_t)(arg1[21]) * (arg2[5])) * 0x2));
5718     x41 = (UINT16_C(0x239) * (((uint64_t)(arg1[21]) * (arg2[4])) * 0x2));
5719     x42 = (UINT16_C(0x239) * ((uint64_t)(arg1[21]) * (arg2[3])));
5720     x43 = (UINT16_C(0x239) * (((uint64_t)(arg1[21]) * (arg2[2])) * 0x2));
5721     x44 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[22])) * 0x2));
5722     x45 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[21])) * 0x2));
5723     x46 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[20])) * 0x2));
5724     x47 = (UINT16_C(0x239) * ((uint64_t)(arg1[20]) * (arg2[19])));
5725     x48 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[18])) * 0x2));
5726     x49 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[17])) * 0x2));
5727     x50 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[16])) * 0x2));
5728     x51 = (UINT16_C(0x239) * ((uint64_t)(arg1[20]) * (arg2[15])));
5729     x52 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[14])) * 0x2));
5730     x53 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[13])) * 0x2));
5731     x54 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[12])) * 0x2));
5732     x55 = (UINT16_C(0x239) * ((uint64_t)(arg1[20]) * (arg2[11])));
5733     x56 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[10])) * 0x2));
5734     x57 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[9])) * 0x2));
5735     x58 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[8])) * 0x2));
5736     x59 = (UINT16_C(0x239) * ((uint64_t)(arg1[20]) * (arg2[7])));
5737     x60 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[6])) * 0x2));
5738     x61 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[5])) * 0x2));
5739     x62 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[4])) * 0x2));
5740     x63 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[3])) * 0x2));
5741     x64 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[22])));
5742     x65 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[21])));
5743     x66 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[20])));
5744     x67 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[19])));
5745     x68 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[18])));
5746     x69 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[17])));
5747     x70 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[16])));
5748     x71 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[15])));
5749     x72 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[14])));
5750     x73 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[13])));
5751     x74 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[12])));
5752     x75 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[11])));
5753     x76 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[10])));
5754     x77 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[9])));
5755     x78 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[8])));
5756     x79 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[7])));
5757     x80 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[6])));
5758     x81 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[5])));
5759     x82 = (UINT16_C(0x239) * (((uint64_t)(arg1[19]) * (arg2[4])) * 0x2));
5760     x83 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[22])));
5761     x84 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[21])));
5762     x85 = (UINT16_C(0x239) * (((uint64_t)(arg1[18]) * (arg2[20])) * 0x2));
5763     x86 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[19])));
5764     x87 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[18])));
5765     x88 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[17])));
5766     x89 = (UINT16_C(0x239) * (((uint64_t)(arg1[18]) * (arg2[16])) * 0x2));
5767     x90 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[15])));
5768     x91 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[14])));
5769     x92 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[13])));
5770     x93 = (UINT16_C(0x239) * (((uint64_t)(arg1[18]) * (arg2[12])) * 0x2));
5771     x94 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[11])));
5772     x95 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[10])));
5773     x96 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[9])));
5774     x97 = (UINT16_C(0x239) * (((uint64_t)(arg1[18]) * (arg2[8])) * 0x2));
5775     x98 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[7])));
5776     x99 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[6])));
5777     x100 = (UINT16_C(0x239) * (((uint64_t)(arg1[18]) * (arg2[5])) * 0x2));
5778     x101 = (UINT16_C(0x239) * ((uint64_t)(arg1[17]) * (arg2[22])));
5779     x102 = (UINT16_C(0x239) * (((uint64_t)(arg1[17]) * (arg2[21])) * 0x2));
5780     x103 = (UINT16_C(0x239) * (((uint64_t)(arg1[17]) * (arg2[20])) * 0x2));
5781     x104 = (UINT16_C(0x239) * ((uint64_t)(arg1[17]) * (arg2[19])));
5782     x105 = (UINT16_C(0x239) * ((uint64_t)(arg1[17]) * (arg2[18])));
5783     x106 = (UINT16_C(0x239) * (((uint64_t)(arg1[17]) * (arg2[17])) * 0x2));
5784     x107 = (UINT16_C(0x239) * (((uint64_t)(arg1[17]) * (arg2[16])) * 0x2));
5785     x108 = (UINT16_C(0x239) * ((uint64_t)(arg1[17]) * (arg2[15])));
5786     x109 = (UINT16_C(0x239) * ((uint64_t)(arg1[17]) * (arg2[14])));
5787     x110 = (UINT16_C(0x239) * (((uint64_t)(arg1[17]) * (arg2[13])) * 0x2));
5788     x111 = (UINT16_C(0x239) * (((uint64_t)(arg1[17]) * (arg2[12])) * 0x2));
5789     x112 = (UINT16_C(0x239) * ((uint64_t)(arg1[17]) * (arg2[11])));
5790     x113 = (UINT16_C(0x239) * ((uint64_t)(arg1[17]) * (arg2[10])));
5791     x114 = (UINT16_C(0x239) * (((uint64_t)(arg1[17]) * (arg2[9])) * 0x2));
5792     x115 = (UINT16_C(0x239) * (((uint64_t)(arg1[17]) * (arg2[8])) * 0x2));
5793     x116 = (UINT16_C(0x239) * ((uint64_t)(arg1[17]) * (arg2[7])));
5794     x117 = (UINT16_C(0x239) * (((uint64_t)(arg1[17]) * (arg2[6])) * 0x2));
5795     x118 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[22])) * 0x2));
5796     x119 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[21])) * 0x2));
5797     x120 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[20])) * 0x2));
5798     x121 = (UINT16_C(0x239) * ((uint64_t)(arg1[16]) * (arg2[19])));
5799     x122 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[18])) * 0x2));
5800     x123 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[17])) * 0x2));
5801     x124 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[16])) * 0x2));
5802     x125 = (UINT16_C(0x239) * ((uint64_t)(arg1[16]) * (arg2[15])));
5803     x126 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[14])) * 0x2));
5804     x127 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[13])) * 0x2));
5805     x128 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[12])) * 0x2));
5806     x129 = (UINT16_C(0x239) * ((uint64_t)(arg1[16]) * (arg2[11])));
5807     x130 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[10])) * 0x2));
5808     x131 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[9])) * 0x2));
5809     x132 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[8])) * 0x2));
5810     x133 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[7])) * 0x2));
5811     x134 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[22])));
5812     x135 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[21])));
5813     x136 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[20])));
5814     x137 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[19])));
5815     x138 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[18])));
5816     x139 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[17])));
5817     x140 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[16])));
5818     x141 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[15])));
5819     x142 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[14])));
5820     x143 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[13])));
5821     x144 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[12])));
5822     x145 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[11])));
5823     x146 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[10])));
5824     x147 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[9])));
5825     x148 = (UINT16_C(0x239) * (((uint64_t)(arg1[15]) * (arg2[8])) * 0x2));
5826     x149 = (UINT16_C(0x239) * ((uint64_t)(arg1[14]) * (arg2[22])));
5827     x150 = (UINT16_C(0x239) * ((uint64_t)(arg1[14]) * (arg2[21])));
5828     x151 = (UINT16_C(0x239) * (((uint64_t)(arg1[14]) * (arg2[20])) * 0x2));
5829     x152 = (UINT16_C(0x239) * ((uint64_t)(arg1[14]) * (arg2[19])));
5830     x153 = (UINT16_C(0x239) * ((uint64_t)(arg1[14]) * (arg2[18])));
5831     x154 = (UINT16_C(0x239) * ((uint64_t)(arg1[14]) * (arg2[17])));
5832     x155 = (UINT16_C(0x239) * (((uint64_t)(arg1[14]) * (arg2[16])) * 0x2));
5833     x156 = (UINT16_C(0x239) * ((uint64_t)(arg1[14]) * (arg2[15])));
5834     x157 = (UINT16_C(0x239) * ((uint64_t)(arg1[14]) * (arg2[14])));
5835     x158 = (UINT16_C(0x239) * ((uint64_t)(arg1[14]) * (arg2[13])));
5836     x159 = (UINT16_C(0x239) * (((uint64_t)(arg1[14]) * (arg2[12])) * 0x2));
5837     x160 = (UINT16_C(0x239) * ((uint64_t)(arg1[14]) * (arg2[11])));
5838     x161 = (UINT16_C(0x239) * ((uint64_t)(arg1[14]) * (arg2[10])));
5839     x162 = (UINT16_C(0x239) * (((uint64_t)(arg1[14]) * (arg2[9])) * 0x2));
5840     x163 = (UINT16_C(0x239) * ((uint64_t)(arg1[13]) * (arg2[22])));
5841     x164 = (UINT16_C(0x239) * (((uint64_t)(arg1[13]) * (arg2[21])) * 0x2));
5842     x165 = (UINT16_C(0x239) * (((uint64_t)(arg1[13]) * (arg2[20])) * 0x2));
5843     x166 = (UINT16_C(0x239) * ((uint64_t)(arg1[13]) * (arg2[19])));
5844     x167 = (UINT16_C(0x239) * ((uint64_t)(arg1[13]) * (arg2[18])));
5845     x168 = (UINT16_C(0x239) * (((uint64_t)(arg1[13]) * (arg2[17])) * 0x2));
5846     x169 = (UINT16_C(0x239) * (((uint64_t)(arg1[13]) * (arg2[16])) * 0x2));
5847     x170 = (UINT16_C(0x239) * ((uint64_t)(arg1[13]) * (arg2[15])));
5848     x171 = (UINT16_C(0x239) * ((uint64_t)(arg1[13]) * (arg2[14])));
5849     x172 = (UINT16_C(0x239) * (((uint64_t)(arg1[13]) * (arg2[13])) * 0x2));
5850     x173 = (UINT16_C(0x239) * (((uint64_t)(arg1[13]) * (arg2[12])) * 0x2));
5851     x174 = (UINT16_C(0x239) * ((uint64_t)(arg1[13]) * (arg2[11])));
5852     x175 = (UINT16_C(0x239) * (((uint64_t)(arg1[13]) * (arg2[10])) * 0x2));
5853     x176 = (UINT16_C(0x239) * (((uint64_t)(arg1[12]) * (arg2[22])) * 0x2));
5854     x177 = (UINT16_C(0x239) * (((uint64_t)(arg1[12]) * (arg2[21])) * 0x2));
5855     x178 = (UINT16_C(0x239) * (((uint64_t)(arg1[12]) * (arg2[20])) * 0x2));
5856     x179 = (UINT16_C(0x239) * ((uint64_t)(arg1[12]) * (arg2[19])));
5857     x180 = (UINT16_C(0x239) * (((uint64_t)(arg1[12]) * (arg2[18])) * 0x2));
5858     x181 = (UINT16_C(0x239) * (((uint64_t)(arg1[12]) * (arg2[17])) * 0x2));
5859     x182 = (UINT16_C(0x239) * (((uint64_t)(arg1[12]) * (arg2[16])) * 0x2));
5860     x183 = (UINT16_C(0x239) * ((uint64_t)(arg1[12]) * (arg2[15])));
5861     x184 = (UINT16_C(0x239) * (((uint64_t)(arg1[12]) * (arg2[14])) * 0x2));
5862     x185 = (UINT16_C(0x239) * (((uint64_t)(arg1[12]) * (arg2[13])) * 0x2));
5863     x186 = (UINT16_C(0x239) * (((uint64_t)(arg1[12]) * (arg2[12])) * 0x2));
5864     x187 = (UINT16_C(0x239) * (((uint64_t)(arg1[12]) * (arg2[11])) * 0x2));
5865     x188 = (UINT16_C(0x239) * ((uint64_t)(arg1[11]) * (arg2[22])));
5866     x189 = (UINT16_C(0x239) * ((uint64_t)(arg1[11]) * (arg2[21])));
5867     x190 = (UINT16_C(0x239) * ((uint64_t)(arg1[11]) * (arg2[20])));
5868     x191 = (UINT16_C(0x239) * ((uint64_t)(arg1[11]) * (arg2[19])));
5869     x192 = (UINT16_C(0x239) * ((uint64_t)(arg1[11]) * (arg2[18])));
5870     x193 = (UINT16_C(0x239) * ((uint64_t)(arg1[11]) * (arg2[17])));
5871     x194 = (UINT16_C(0x239) * ((uint64_t)(arg1[11]) * (arg2[16])));
5872     x195 = (UINT16_C(0x239) * ((uint64_t)(arg1[11]) * (arg2[15])));
5873     x196 = (UINT16_C(0x239) * ((uint64_t)(arg1[11]) * (arg2[14])));
5874     x197 = (UINT16_C(0x239) * ((uint64_t)(arg1[11]) * (arg2[13])));
5875     x198 = (UINT16_C(0x239) * (((uint64_t)(arg1[11]) * (arg2[12])) * 0x2));
5876     x199 = (UINT16_C(0x239) * ((uint64_t)(arg1[10]) * (arg2[22])));
5877     x200 = (UINT16_C(0x239) * ((uint64_t)(arg1[10]) * (arg2[21])));
5878     x201 = (UINT16_C(0x239) * (((uint64_t)(arg1[10]) * (arg2[20])) * 0x2));
5879     x202 = (UINT16_C(0x239) * ((uint64_t)(arg1[10]) * (arg2[19])));
5880     x203 = (UINT16_C(0x239) * ((uint64_t)(arg1[10]) * (arg2[18])));
5881     x204 = (UINT16_C(0x239) * ((uint64_t)(arg1[10]) * (arg2[17])));
5882     x205 = (UINT16_C(0x239) * (((uint64_t)(arg1[10]) * (arg2[16])) * 0x2));
5883     x206 = (UINT16_C(0x239) * ((uint64_t)(arg1[10]) * (arg2[15])));
5884     x207 = (UINT16_C(0x239) * ((uint64_t)(arg1[10]) * (arg2[14])));
5885     x208 = (UINT16_C(0x239) * (((uint64_t)(arg1[10]) * (arg2[13])) * 0x2));
5886     x209 = (UINT16_C(0x239) * ((uint64_t)(arg1[9]) * (arg2[22])));
5887     x210 = (UINT16_C(0x239) * (((uint64_t)(arg1[9]) * (arg2[21])) * 0x2));
5888     x211 = (UINT16_C(0x239) * (((uint64_t)(arg1[9]) * (arg2[20])) * 0x2));
5889     x212 = (UINT16_C(0x239) * ((uint64_t)(arg1[9]) * (arg2[19])));
5890     x213 = (UINT16_C(0x239) * ((uint64_t)(arg1[9]) * (arg2[18])));
5891     x214 = (UINT16_C(0x239) * (((uint64_t)(arg1[9]) * (arg2[17])) * 0x2));
5892     x215 = (UINT16_C(0x239) * (((uint64_t)(arg1[9]) * (arg2[16])) * 0x2));
5893     x216 = (UINT16_C(0x239) * ((uint64_t)(arg1[9]) * (arg2[15])));
5894     x217 = (UINT16_C(0x239) * (((uint64_t)(arg1[9]) * (arg2[14])) * 0x2));
5895     x218 = (UINT16_C(0x239) * (((uint64_t)(arg1[8]) * (arg2[22])) * 0x2));
5896     x219 = (UINT16_C(0x239) * (((uint64_t)(arg1[8]) * (arg2[21])) * 0x2));
5897     x220 = (UINT16_C(0x239) * (((uint64_t)(arg1[8]) * (arg2[20])) * 0x2));
5898     x221 = (UINT16_C(0x239) * ((uint64_t)(arg1[8]) * (arg2[19])));
5899     x222 = (UINT16_C(0x239) * (((uint64_t)(arg1[8]) * (arg2[18])) * 0x2));
5900     x223 = (UINT16_C(0x239) * (((uint64_t)(arg1[8]) * (arg2[17])) * 0x2));
5901     x224 = (UINT16_C(0x239) * (((uint64_t)(arg1[8]) * (arg2[16])) * 0x2));
5902     x225 = (UINT16_C(0x239) * (((uint64_t)(arg1[8]) * (arg2[15])) * 0x2));
5903     x226 = (UINT16_C(0x239) * ((uint64_t)(arg1[7]) * (arg2[22])));
5904     x227 = (UINT16_C(0x239) * ((uint64_t)(arg1[7]) * (arg2[21])));
5905     x228 = (UINT16_C(0x239) * ((uint64_t)(arg1[7]) * (arg2[20])));
5906     x229 = (UINT16_C(0x239) * ((uint64_t)(arg1[7]) * (arg2[19])));
5907     x230 = (UINT16_C(0x239) * ((uint64_t)(arg1[7]) * (arg2[18])));
5908     x231 = (UINT16_C(0x239) * ((uint64_t)(arg1[7]) * (arg2[17])));
5909     x232 = (UINT16_C(0x239) * (((uint64_t)(arg1[7]) * (arg2[16])) * 0x2));
5910     x233 = (UINT16_C(0x239) * ((uint64_t)(arg1[6]) * (arg2[22])));
5911     x234 = (UINT16_C(0x239) * ((uint64_t)(arg1[6]) * (arg2[21])));
5912     x235 = (UINT16_C(0x239) * (((uint64_t)(arg1[6]) * (arg2[20])) * 0x2));
5913     x236 = (UINT16_C(0x239) * ((uint64_t)(arg1[6]) * (arg2[19])));
5914     x237 = (UINT16_C(0x239) * ((uint64_t)(arg1[6]) * (arg2[18])));
5915     x238 = (UINT16_C(0x239) * (((uint64_t)(arg1[6]) * (arg2[17])) * 0x2));
5916     x239 = (UINT16_C(0x239) * ((uint64_t)(arg1[5]) * (arg2[22])));
5917     x240 = (UINT16_C(0x239) * (((uint64_t)(arg1[5]) * (arg2[21])) * 0x2));
5918     x241 = (UINT16_C(0x239) * (((uint64_t)(arg1[5]) * (arg2[20])) * 0x2));
5919     x242 = (UINT16_C(0x239) * ((uint64_t)(arg1[5]) * (arg2[19])));
5920     x243 = (UINT16_C(0x239) * (((uint64_t)(arg1[5]) * (arg2[18])) * 0x2));
5921     x244 = (UINT16_C(0x239) * (((uint64_t)(arg1[4]) * (arg2[22])) * 0x2));
5922     x245 = (UINT16_C(0x239) * (((uint64_t)(arg1[4]) * (arg2[21])) * 0x2));
5923     x246 = (UINT16_C(0x239) * (((uint64_t)(arg1[4]) * (arg2[20])) * 0x2));
5924     x247 = (UINT16_C(0x239) * (((uint64_t)(arg1[4]) * (arg2[19])) * 0x2));
5925     x248 = (UINT16_C(0x239) * ((uint64_t)(arg1[3]) * (arg2[22])));
5926     x249 = (UINT16_C(0x239) * ((uint64_t)(arg1[3]) * (arg2[21])));
5927     x250 = (UINT16_C(0x239) * (((uint64_t)(arg1[3]) * (arg2[20])) * 0x2));
5928     x251 = (UINT16_C(0x239) * ((uint64_t)(arg1[2]) * (arg2[22])));
5929     x252 = (UINT16_C(0x239) * (((uint64_t)(arg1[2]) * (arg2[21])) * 0x2));
5930     x253 = (UINT16_C(0x239) * (((uint64_t)(arg1[1]) * (arg2[22])) * 0x2));
5931     x254 = ((uint64_t)(arg1[22]) * (arg2[0]));
5932     x255 = ((uint64_t)(arg1[21]) * ((arg2[1]) * 0x2));
5933     x256 = ((uint64_t)(arg1[21]) * (arg2[0]));
5934     x257 = ((uint64_t)(arg1[20]) * ((arg2[2]) * 0x2));
5935     x258 = ((uint64_t)(arg1[20]) * ((arg2[1]) * 0x2));
5936     x259 = ((uint64_t)(arg1[20]) * (arg2[0]));
5937     x260 = ((uint64_t)(arg1[19]) * (arg2[3]));
5938     x261 = ((uint64_t)(arg1[19]) * (arg2[2]));
5939     x262 = ((uint64_t)(arg1[19]) * (arg2[1]));
5940     x263 = ((uint64_t)(arg1[19]) * (arg2[0]));
5941     x264 = ((uint64_t)(arg1[18]) * ((arg2[4]) * 0x2));
5942     x265 = ((uint64_t)(arg1[18]) * (arg2[3]));
5943     x266 = ((uint64_t)(arg1[18]) * (arg2[2]));
5944     x267 = ((uint64_t)(arg1[18]) * ((arg2[1]) * 0x2));
5945     x268 = ((uint64_t)(arg1[18]) * (arg2[0]));
5946     x269 = ((uint64_t)(arg1[17]) * ((arg2[5]) * 0x2));
5947     x270 = ((uint64_t)(arg1[17]) * ((arg2[4]) * 0x2));
5948     x271 = ((uint64_t)(arg1[17]) * (arg2[3]));
5949     x272 = ((uint64_t)(arg1[17]) * ((arg2[2]) * 0x2));
5950     x273 = ((uint64_t)(arg1[17]) * ((arg2[1]) * 0x2));
5951     x274 = ((uint64_t)(arg1[17]) * (arg2[0]));
5952     x275 = ((uint64_t)(arg1[16]) * ((arg2[6]) * 0x2));
5953     x276 = ((uint64_t)(arg1[16]) * ((arg2[5]) * 0x2));
5954     x277 = ((uint64_t)(arg1[16]) * ((arg2[4]) * 0x2));
5955     x278 = ((uint64_t)(arg1[16]) * ((arg2[3]) * 0x2));
5956     x279 = ((uint64_t)(arg1[16]) * ((arg2[2]) * 0x2));
5957     x280 = ((uint64_t)(arg1[16]) * ((arg2[1]) * 0x2));
5958     x281 = ((uint64_t)(arg1[16]) * (arg2[0]));
5959     x282 = ((uint64_t)(arg1[15]) * (arg2[7]));
5960     x283 = ((uint64_t)(arg1[15]) * (arg2[6]));
5961     x284 = ((uint64_t)(arg1[15]) * (arg2[5]));
5962     x285 = ((uint64_t)(arg1[15]) * ((arg2[4]) * 0x2));
5963     x286 = ((uint64_t)(arg1[15]) * (arg2[3]));
5964     x287 = ((uint64_t)(arg1[15]) * (arg2[2]));
5965     x288 = ((uint64_t)(arg1[15]) * (arg2[1]));
5966     x289 = ((uint64_t)(arg1[15]) * (arg2[0]));
5967     x290 = ((uint64_t)(arg1[14]) * ((arg2[8]) * 0x2));
5968     x291 = ((uint64_t)(arg1[14]) * (arg2[7]));
5969     x292 = ((uint64_t)(arg1[14]) * (arg2[6]));
5970     x293 = ((uint64_t)(arg1[14]) * ((arg2[5]) * 0x2));
5971     x294 = ((uint64_t)(arg1[14]) * ((arg2[4]) * 0x2));
5972     x295 = ((uint64_t)(arg1[14]) * (arg2[3]));
5973     x296 = ((uint64_t)(arg1[14]) * (arg2[2]));
5974     x297 = ((uint64_t)(arg1[14]) * ((arg2[1]) * 0x2));
5975     x298 = ((uint64_t)(arg1[14]) * (arg2[0]));
5976     x299 = ((uint64_t)(arg1[13]) * ((arg2[9]) * 0x2));
5977     x300 = ((uint64_t)(arg1[13]) * ((arg2[8]) * 0x2));
5978     x301 = ((uint64_t)(arg1[13]) * (arg2[7]));
5979     x302 = ((uint64_t)(arg1[13]) * ((arg2[6]) * 0x2));
5980     x303 = ((uint64_t)(arg1[13]) * ((arg2[5]) * 0x2));
5981     x304 = ((uint64_t)(arg1[13]) * ((arg2[4]) * 0x2));
5982     x305 = ((uint64_t)(arg1[13]) * (arg2[3]));
5983     x306 = ((uint64_t)(arg1[13]) * ((arg2[2]) * 0x2));
5984     x307 = ((uint64_t)(arg1[13]) * ((arg2[1]) * 0x2));
5985     x308 = ((uint64_t)(arg1[13]) * (arg2[0]));
5986     x309 = ((uint64_t)(arg1[12]) * ((arg2[10]) * 0x2));
5987     x310 = ((uint64_t)(arg1[12]) * ((arg2[9]) * 0x2));
5988     x311 = ((uint64_t)(arg1[12]) * ((arg2[8]) * 0x2));
5989     x312 = ((uint64_t)(arg1[12]) * ((arg2[7]) * 0x2));
5990     x313 = ((uint64_t)(arg1[12]) * ((arg2[6]) * 0x2));
5991     x314 = ((uint64_t)(arg1[12]) * ((arg2[5]) * 0x2));
5992     x315 = ((uint64_t)(arg1[12]) * ((arg2[4]) * 0x2));
5993     x316 = ((uint64_t)(arg1[12]) * ((arg2[3]) * 0x2));
5994     x317 = ((uint64_t)(arg1[12]) * ((arg2[2]) * 0x2));
5995     x318 = ((uint64_t)(arg1[12]) * ((arg2[1]) * 0x2));
5996     x319 = ((uint64_t)(arg1[12]) * (arg2[0]));
5997     x320 = ((uint64_t)(arg1[11]) * (arg2[11]));
5998     x321 = ((uint64_t)(arg1[11]) * (arg2[10]));
5999     x322 = ((uint64_t)(arg1[11]) * (arg2[9]));
6000     x323 = ((uint64_t)(arg1[11]) * ((arg2[8]) * 0x2));
6001     x324 = ((uint64_t)(arg1[11]) * (arg2[7]));
6002     x325 = ((uint64_t)(arg1[11]) * (arg2[6]));
6003     x326 = ((uint64_t)(arg1[11]) * (arg2[5]));
6004     x327 = ((uint64_t)(arg1[11]) * ((arg2[4]) * 0x2));
6005     x328 = ((uint64_t)(arg1[11]) * (arg2[3]));
6006     x329 = ((uint64_t)(arg1[11]) * (arg2[2]));
6007     x330 = ((uint64_t)(arg1[11]) * (arg2[1]));
6008     x331 = ((uint64_t)(arg1[11]) * (arg2[0]));
6009     x332 = ((uint64_t)(arg1[10]) * ((arg2[12]) * 0x2));
6010     x333 = ((uint64_t)(arg1[10]) * (arg2[11]));
6011     x334 = ((uint64_t)(arg1[10]) * (arg2[10]));
6012     x335 = ((uint64_t)(arg1[10]) * ((arg2[9]) * 0x2));
6013     x336 = ((uint64_t)(arg1[10]) * ((arg2[8]) * 0x2));
6014     x337 = ((uint64_t)(arg1[10]) * (arg2[7]));
6015     x338 = ((uint64_t)(arg1[10]) * (arg2[6]));
6016     x339 = ((uint64_t)(arg1[10]) * ((arg2[5]) * 0x2));
6017     x340 = ((uint64_t)(arg1[10]) * ((arg2[4]) * 0x2));
6018     x341 = ((uint64_t)(arg1[10]) * (arg2[3]));
6019     x342 = ((uint64_t)(arg1[10]) * (arg2[2]));
6020     x343 = ((uint64_t)(arg1[10]) * ((arg2[1]) * 0x2));
6021     x344 = ((uint64_t)(arg1[10]) * (arg2[0]));
6022     x345 = ((uint64_t)(arg1[9]) * ((arg2[13]) * 0x2));
6023     x346 = ((uint64_t)(arg1[9]) * ((arg2[12]) * 0x2));
6024     x347 = ((uint64_t)(arg1[9]) * (arg2[11]));
6025     x348 = ((uint64_t)(arg1[9]) * ((arg2[10]) * 0x2));
6026     x349 = ((uint64_t)(arg1[9]) * ((arg2[9]) * 0x2));
6027     x350 = ((uint64_t)(arg1[9]) * ((arg2[8]) * 0x2));
6028     x351 = ((uint64_t)(arg1[9]) * (arg2[7]));
6029     x352 = ((uint64_t)(arg1[9]) * ((arg2[6]) * 0x2));
6030     x353 = ((uint64_t)(arg1[9]) * ((arg2[5]) * 0x2));
6031     x354 = ((uint64_t)(arg1[9]) * ((arg2[4]) * 0x2));
6032     x355 = ((uint64_t)(arg1[9]) * (arg2[3]));
6033     x356 = ((uint64_t)(arg1[9]) * ((arg2[2]) * 0x2));
6034     x357 = ((uint64_t)(arg1[9]) * ((arg2[1]) * 0x2));
6035     x358 = ((uint64_t)(arg1[9]) * (arg2[0]));
6036     x359 = ((uint64_t)(arg1[8]) * ((arg2[14]) * 0x2));
6037     x360 = ((uint64_t)(arg1[8]) * ((arg2[13]) * 0x2));
6038     x361 = ((uint64_t)(arg1[8]) * ((arg2[12]) * 0x2));
6039     x362 = ((uint64_t)(arg1[8]) * ((arg2[11]) * 0x2));
6040     x363 = ((uint64_t)(arg1[8]) * ((arg2[10]) * 0x2));
6041     x364 = ((uint64_t)(arg1[8]) * ((arg2[9]) * 0x2));
6042     x365 = ((uint64_t)(arg1[8]) * ((arg2[8]) * 0x2));
6043     x366 = ((uint64_t)(arg1[8]) * ((arg2[7]) * 0x2));
6044     x367 = ((uint64_t)(arg1[8]) * ((arg2[6]) * 0x2));
6045     x368 = ((uint64_t)(arg1[8]) * ((arg2[5]) * 0x2));
6046     x369 = ((uint64_t)(arg1[8]) * ((arg2[4]) * 0x2));
6047     x370 = ((uint64_t)(arg1[8]) * ((arg2[3]) * 0x2));
6048     x371 = ((uint64_t)(arg1[8]) * ((arg2[2]) * 0x2));
6049     x372 = ((uint64_t)(arg1[8]) * ((arg2[1]) * 0x2));
6050     x373 = ((uint64_t)(arg1[8]) * (arg2[0]));
6051     x374 = ((uint64_t)(arg1[7]) * (arg2[15]));
6052     x375 = ((uint64_t)(arg1[7]) * (arg2[14]));
6053     x376 = ((uint64_t)(arg1[7]) * (arg2[13]));
6054     x377 = ((uint64_t)(arg1[7]) * ((arg2[12]) * 0x2));
6055     x378 = ((uint64_t)(arg1[7]) * (arg2[11]));
6056     x379 = ((uint64_t)(arg1[7]) * (arg2[10]));
6057     x380 = ((uint64_t)(arg1[7]) * (arg2[9]));
6058     x381 = ((uint64_t)(arg1[7]) * ((arg2[8]) * 0x2));
6059     x382 = ((uint64_t)(arg1[7]) * (arg2[7]));
6060     x383 = ((uint64_t)(arg1[7]) * (arg2[6]));
6061     x384 = ((uint64_t)(arg1[7]) * (arg2[5]));
6062     x385 = ((uint64_t)(arg1[7]) * ((arg2[4]) * 0x2));
6063     x386 = ((uint64_t)(arg1[7]) * (arg2[3]));
6064     x387 = ((uint64_t)(arg1[7]) * (arg2[2]));
6065     x388 = ((uint64_t)(arg1[7]) * (arg2[1]));
6066     x389 = ((uint64_t)(arg1[7]) * (arg2[0]));
6067     x390 = ((uint64_t)(arg1[6]) * ((arg2[16]) * 0x2));
6068     x391 = ((uint64_t)(arg1[6]) * (arg2[15]));
6069     x392 = ((uint64_t)(arg1[6]) * (arg2[14]));
6070     x393 = ((uint64_t)(arg1[6]) * ((arg2[13]) * 0x2));
6071     x394 = ((uint64_t)(arg1[6]) * ((arg2[12]) * 0x2));
6072     x395 = ((uint64_t)(arg1[6]) * (arg2[11]));
6073     x396 = ((uint64_t)(arg1[6]) * (arg2[10]));
6074     x397 = ((uint64_t)(arg1[6]) * ((arg2[9]) * 0x2));
6075     x398 = ((uint64_t)(arg1[6]) * ((arg2[8]) * 0x2));
6076     x399 = ((uint64_t)(arg1[6]) * (arg2[7]));
6077     x400 = ((uint64_t)(arg1[6]) * (arg2[6]));
6078     x401 = ((uint64_t)(arg1[6]) * ((arg2[5]) * 0x2));
6079     x402 = ((uint64_t)(arg1[6]) * ((arg2[4]) * 0x2));
6080     x403 = ((uint64_t)(arg1[6]) * (arg2[3]));
6081     x404 = ((uint64_t)(arg1[6]) * (arg2[2]));
6082     x405 = ((uint64_t)(arg1[6]) * ((arg2[1]) * 0x2));
6083     x406 = ((uint64_t)(arg1[6]) * (arg2[0]));
6084     x407 = ((uint64_t)(arg1[5]) * ((arg2[17]) * 0x2));
6085     x408 = ((uint64_t)(arg1[5]) * ((arg2[16]) * 0x2));
6086     x409 = ((uint64_t)(arg1[5]) * (arg2[15]));
6087     x410 = ((uint64_t)(arg1[5]) * ((arg2[14]) * 0x2));
6088     x411 = ((uint64_t)(arg1[5]) * ((arg2[13]) * 0x2));
6089     x412 = ((uint64_t)(arg1[5]) * ((arg2[12]) * 0x2));
6090     x413 = ((uint64_t)(arg1[5]) * (arg2[11]));
6091     x414 = ((uint64_t)(arg1[5]) * ((arg2[10]) * 0x2));
6092     x415 = ((uint64_t)(arg1[5]) * ((arg2[9]) * 0x2));
6093     x416 = ((uint64_t)(arg1[5]) * ((arg2[8]) * 0x2));
6094     x417 = ((uint64_t)(arg1[5]) * (arg2[7]));
6095     x418 = ((uint64_t)(arg1[5]) * ((arg2[6]) * 0x2));
6096     x419 = ((uint64_t)(arg1[5]) * ((arg2[5]) * 0x2));
6097     x420 = ((uint64_t)(arg1[5]) * ((arg2[4]) * 0x2));
6098     x421 = ((uint64_t)(arg1[5]) * (arg2[3]));
6099     x422 = ((uint64_t)(arg1[5]) * ((arg2[2]) * 0x2));
6100     x423 = ((uint64_t)(arg1[5]) * ((arg2[1]) * 0x2));
6101     x424 = ((uint64_t)(arg1[5]) * (arg2[0]));
6102     x425 = ((uint64_t)(arg1[4]) * ((arg2[18]) * 0x2));
6103     x426 = ((uint64_t)(arg1[4]) * ((arg2[17]) * 0x2));
6104     x427 = ((uint64_t)(arg1[4]) * ((arg2[16]) * 0x2));
6105     x428 = ((uint64_t)(arg1[4]) * ((arg2[15]) * 0x2));
6106     x429 = ((uint64_t)(arg1[4]) * ((arg2[14]) * 0x2));
6107     x430 = ((uint64_t)(arg1[4]) * ((arg2[13]) * 0x2));
6108     x431 = ((uint64_t)(arg1[4]) * ((arg2[12]) * 0x2));
6109     x432 = ((uint64_t)(arg1[4]) * ((arg2[11]) * 0x2));
6110     x433 = ((uint64_t)(arg1[4]) * ((arg2[10]) * 0x2));
6111     x434 = ((uint64_t)(arg1[4]) * ((arg2[9]) * 0x2));
6112     x435 = ((uint64_t)(arg1[4]) * ((arg2[8]) * 0x2));
6113     x436 = ((uint64_t)(arg1[4]) * ((arg2[7]) * 0x2));
6114     x437 = ((uint64_t)(arg1[4]) * ((arg2[6]) * 0x2));
6115     x438 = ((uint64_t)(arg1[4]) * ((arg2[5]) * 0x2));
6116     x439 = ((uint64_t)(arg1[4]) * ((arg2[4]) * 0x2));
6117     x440 = ((uint64_t)(arg1[4]) * ((arg2[3]) * 0x2));
6118     x441 = ((uint64_t)(arg1[4]) * ((arg2[2]) * 0x2));
6119     x442 = ((uint64_t)(arg1[4]) * ((arg2[1]) * 0x2));
6120     x443 = ((uint64_t)(arg1[4]) * (arg2[0]));
6121     x444 = ((uint64_t)(arg1[3]) * (arg2[19]));
6122     x445 = ((uint64_t)(arg1[3]) * (arg2[18]));
6123     x446 = ((uint64_t)(arg1[3]) * (arg2[17]));
6124     x447 = ((uint64_t)(arg1[3]) * ((arg2[16]) * 0x2));
6125     x448 = ((uint64_t)(arg1[3]) * (arg2[15]));
6126     x449 = ((uint64_t)(arg1[3]) * (arg2[14]));
6127     x450 = ((uint64_t)(arg1[3]) * (arg2[13]));
6128     x451 = ((uint64_t)(arg1[3]) * ((arg2[12]) * 0x2));
6129     x452 = ((uint64_t)(arg1[3]) * (arg2[11]));
6130     x453 = ((uint64_t)(arg1[3]) * (arg2[10]));
6131     x454 = ((uint64_t)(arg1[3]) * (arg2[9]));
6132     x455 = ((uint64_t)(arg1[3]) * ((arg2[8]) * 0x2));
6133     x456 = ((uint64_t)(arg1[3]) * (arg2[7]));
6134     x457 = ((uint64_t)(arg1[3]) * (arg2[6]));
6135     x458 = ((uint64_t)(arg1[3]) * (arg2[5]));
6136     x459 = ((uint64_t)(arg1[3]) * ((arg2[4]) * 0x2));
6137     x460 = ((uint64_t)(arg1[3]) * (arg2[3]));
6138     x461 = ((uint64_t)(arg1[3]) * (arg2[2]));
6139     x462 = ((uint64_t)(arg1[3]) * (arg2[1]));
6140     x463 = ((uint64_t)(arg1[3]) * (arg2[0]));
6141     x464 = ((uint64_t)(arg1[2]) * ((arg2[20]) * 0x2));
6142     x465 = ((uint64_t)(arg1[2]) * (arg2[19]));
6143     x466 = ((uint64_t)(arg1[2]) * (arg2[18]));
6144     x467 = ((uint64_t)(arg1[2]) * ((arg2[17]) * 0x2));
6145     x468 = ((uint64_t)(arg1[2]) * ((arg2[16]) * 0x2));
6146     x469 = ((uint64_t)(arg1[2]) * (arg2[15]));
6147     x470 = ((uint64_t)(arg1[2]) * (arg2[14]));
6148     x471 = ((uint64_t)(arg1[2]) * ((arg2[13]) * 0x2));
6149     x472 = ((uint64_t)(arg1[2]) * ((arg2[12]) * 0x2));
6150     x473 = ((uint64_t)(arg1[2]) * (arg2[11]));
6151     x474 = ((uint64_t)(arg1[2]) * (arg2[10]));
6152     x475 = ((uint64_t)(arg1[2]) * ((arg2[9]) * 0x2));
6153     x476 = ((uint64_t)(arg1[2]) * ((arg2[8]) * 0x2));
6154     x477 = ((uint64_t)(arg1[2]) * (arg2[7]));
6155     x478 = ((uint64_t)(arg1[2]) * (arg2[6]));
6156     x479 = ((uint64_t)(arg1[2]) * ((arg2[5]) * 0x2));
6157     x480 = ((uint64_t)(arg1[2]) * ((arg2[4]) * 0x2));
6158     x481 = ((uint64_t)(arg1[2]) * (arg2[3]));
6159     x482 = ((uint64_t)(arg1[2]) * (arg2[2]));
6160     x483 = ((uint64_t)(arg1[2]) * ((arg2[1]) * 0x2));
6161     x484 = ((uint64_t)(arg1[2]) * (arg2[0]));
6162     x485 = ((uint64_t)(arg1[1]) * ((arg2[21]) * 0x2));
6163     x486 = ((uint64_t)(arg1[1]) * ((arg2[20]) * 0x2));
6164     x487 = ((uint64_t)(arg1[1]) * (arg2[19]));
6165     x488 = ((uint64_t)(arg1[1]) * ((arg2[18]) * 0x2));
6166     x489 = ((uint64_t)(arg1[1]) * ((arg2[17]) * 0x2));
6167     x490 = ((uint64_t)(arg1[1]) * ((arg2[16]) * 0x2));
6168     x491 = ((uint64_t)(arg1[1]) * (arg2[15]));
6169     x492 = ((uint64_t)(arg1[1]) * ((arg2[14]) * 0x2));
6170     x493 = ((uint64_t)(arg1[1]) * ((arg2[13]) * 0x2));
6171     x494 = ((uint64_t)(arg1[1]) * ((arg2[12]) * 0x2));
6172     x495 = ((uint64_t)(arg1[1]) * (arg2[11]));
6173     x496 = ((uint64_t)(arg1[1]) * ((arg2[10]) * 0x2));
6174     x497 = ((uint64_t)(arg1[1]) * ((arg2[9]) * 0x2));
6175     x498 = ((uint64_t)(arg1[1]) * ((arg2[8]) * 0x2));
6176     x499 = ((uint64_t)(arg1[1]) * (arg2[7]));
6177     x500 = ((uint64_t)(arg1[1]) * ((arg2[6]) * 0x2));
6178     x501 = ((uint64_t)(arg1[1]) * ((arg2[5]) * 0x2));
6179     x502 = ((uint64_t)(arg1[1]) * ((arg2[4]) * 0x2));
6180     x503 = ((uint64_t)(arg1[1]) * (arg2[3]));
6181     x504 = ((uint64_t)(arg1[1]) * ((arg2[2]) * 0x2));
6182     x505 = ((uint64_t)(arg1[1]) * ((arg2[1]) * 0x2));
6183     x506 = ((uint64_t)(arg1[1]) * (arg2[0]));
6184     x507 = ((uint64_t)(arg1[0]) * (arg2[22]));
6185     x508 = ((uint64_t)(arg1[0]) * (arg2[21]));
6186     x509 = ((uint64_t)(arg1[0]) * (arg2[20]));
6187     x510 = ((uint64_t)(arg1[0]) * (arg2[19]));
6188     x511 = ((uint64_t)(arg1[0]) * (arg2[18]));
6189     x512 = ((uint64_t)(arg1[0]) * (arg2[17]));
6190     x513 = ((uint64_t)(arg1[0]) * (arg2[16]));
6191     x514 = ((uint64_t)(arg1[0]) * (arg2[15]));
6192     x515 = ((uint64_t)(arg1[0]) * (arg2[14]));
6193     x516 = ((uint64_t)(arg1[0]) * (arg2[13]));
6194     x517 = ((uint64_t)(arg1[0]) * (arg2[12]));
6195     x518 = ((uint64_t)(arg1[0]) * (arg2[11]));
6196     x519 = ((uint64_t)(arg1[0]) * (arg2[10]));
6197     x520 = ((uint64_t)(arg1[0]) * (arg2[9]));
6198     x521 = ((uint64_t)(arg1[0]) * (arg2[8]));
6199     x522 = ((uint64_t)(arg1[0]) * (arg2[7]));
6200     x523 = ((uint64_t)(arg1[0]) * (arg2[6]));
6201     x524 = ((uint64_t)(arg1[0]) * (arg2[5]));
6202     x525 = ((uint64_t)(arg1[0]) * (arg2[4]));
6203     x526 = ((uint64_t)(arg1[0]) * (arg2[3]));
6204     x527 = ((uint64_t)(arg1[0]) * (arg2[2]));
6205     x528 = ((uint64_t)(arg1[0]) * (arg2[1]));
6206     x529 = ((uint64_t)(arg1[0]) * (arg2[0]));
6207     x530 = (x529 +
6208             (x253 +
6209              (x252 +
6210               (x250 +
6211                (x247 +
6212                 (x243 +
6213                  (x238 +
6214                   (x232 +
6215                    (x225 +
6216                     (x217 +
6217                      (x208 +
6218                       (x198 +
6219                        (x187 +
6220                         (x175 +
6221                          (x162 +
6222                           (x148 +
6223                            (x133 +
6224                             (x117 +
6225                              (x100 +
6226                               (x82 + (x63 + (x43 + x22))))))))))))))))))))));
6227     x531 = (x530 >> 23);
6228     x532 = (uint32_t)(x530 & UINT32_C(0x7fffff));
6229     x533 =
6230         (x507 +
6231          (x485 +
6232           (x464 +
6233            (x444 +
6234             (x425 +
6235              (x407 +
6236               (x390 +
6237                (x374 +
6238                 (x359 +
6239                  (x345 +
6240                   (x332 +
6241                    (x320 +
6242                     (x309 +
6243                      (x299 +
6244                       (x290 +
6245                        (x282 +
6246                         (x275 +
6247                          (x269 +
6248                           (x264 +
6249                            (x260 + (x257 + (x255 + x254))))))))))))))))))))));
6250     x534 = (x508 +
6251             (x486 +
6252              (x465 +
6253               (x445 +
6254                (x426 +
6255                 (x408 +
6256                  (x391 +
6257                   (x375 +
6258                    (x360 +
6259                     (x346 +
6260                      (x333 +
6261                       (x321 +
6262                        (x310 +
6263                         (x300 +
6264                          (x291 +
6265                           (x283 +
6266                            (x276 +
6267                             (x270 +
6268                              (x265 +
6269                               (x261 + (x258 + (x256 + x1))))))))))))))))))))));
6270     x535 = (x509 +
6271             (x487 +
6272              (x466 +
6273               (x446 +
6274                (x427 +
6275                 (x409 +
6276                  (x392 +
6277                   (x376 +
6278                    (x361 +
6279                     (x347 +
6280                      (x334 +
6281                       (x322 +
6282                        (x311 +
6283                         (x301 +
6284                          (x292 +
6285                           (x284 +
6286                            (x277 +
6287                             (x271 +
6288                              (x266 +
6289                               (x262 + (x259 + (x23 + x2))))))))))))))))))))));
6290     x536 = (x510 +
6291             (x488 +
6292              (x467 +
6293               (x447 +
6294                (x428 +
6295                 (x410 +
6296                  (x393 +
6297                   (x377 +
6298                    (x362 +
6299                     (x348 +
6300                      (x335 +
6301                       (x323 +
6302                        (x312 +
6303                         (x302 +
6304                          (x293 +
6305                           (x285 +
6306                            (x278 +
6307                             (x272 +
6308                              (x267 +
6309                               (x263 + (x44 + (x24 + x3))))))))))))))))))))));
6310     x537 =
6311         (x511 +
6312          (x489 +
6313           (x468 +
6314            (x448 +
6315             (x429 +
6316              (x411 +
6317               (x394 +
6318                (x378 +
6319                 (x363 +
6320                  (x349 +
6321                   (x336 +
6322                    (x324 +
6323                     (x313 +
6324                      (x303 +
6325                       (x294 +
6326                        (x286 +
6327                         (x279 +
6328                          (x273 +
6329                           (x268 + (x64 + (x45 + (x25 + x4))))))))))))))))))))));
6330     x538 =
6331         (x512 +
6332          (x490 +
6333           (x469 +
6334            (x449 +
6335             (x430 +
6336              (x412 +
6337               (x395 +
6338                (x379 +
6339                 (x364 +
6340                  (x350 +
6341                   (x337 +
6342                    (x325 +
6343                     (x314 +
6344                      (x304 +
6345                       (x295 +
6346                        (x287 +
6347                         (x280 +
6348                          (x274 +
6349                           (x83 + (x65 + (x46 + (x26 + x5))))))))))))))))))))));
6350     x539 =
6351         (x513 +
6352          (x491 +
6353           (x470 +
6354            (x450 +
6355             (x431 +
6356              (x413 +
6357               (x396 +
6358                (x380 +
6359                 (x365 +
6360                  (x351 +
6361                   (x338 +
6362                    (x326 +
6363                     (x315 +
6364                      (x305 +
6365                       (x296 +
6366                        (x288 +
6367                         (x281 +
6368                          (x101 +
6369                           (x84 + (x66 + (x47 + (x27 + x6))))))))))))))))))))));
6370     x540 =
6371         (x514 +
6372          (x492 +
6373           (x471 +
6374            (x451 +
6375             (x432 +
6376              (x414 +
6377               (x397 +
6378                (x381 +
6379                 (x366 +
6380                  (x352 +
6381                   (x339 +
6382                    (x327 +
6383                     (x316 +
6384                      (x306 +
6385                       (x297 +
6386                        (x289 +
6387                         (x118 +
6388                          (x102 +
6389                           (x85 + (x67 + (x48 + (x28 + x7))))))))))))))))))))));
6390     x541 =
6391         (x515 +
6392          (x493 +
6393           (x472 +
6394            (x452 +
6395             (x433 +
6396              (x415 +
6397               (x398 +
6398                (x382 +
6399                 (x367 +
6400                  (x353 +
6401                   (x340 +
6402                    (x328 +
6403                     (x317 +
6404                      (x307 +
6405                       (x298 +
6406                        (x134 +
6407                         (x119 +
6408                          (x103 +
6409                           (x86 + (x68 + (x49 + (x29 + x8))))))))))))))))))))));
6410     x542 =
6411         (x516 +
6412          (x494 +
6413           (x473 +
6414            (x453 +
6415             (x434 +
6416              (x416 +
6417               (x399 +
6418                (x383 +
6419                 (x368 +
6420                  (x354 +
6421                   (x341 +
6422                    (x329 +
6423                     (x318 +
6424                      (x308 +
6425                       (x149 +
6426                        (x135 +
6427                         (x120 +
6428                          (x104 +
6429                           (x87 + (x69 + (x50 + (x30 + x9))))))))))))))))))))));
6430     x543 =
6431         (x517 +
6432          (x495 +
6433           (x474 +
6434            (x454 +
6435             (x435 +
6436              (x417 +
6437               (x400 +
6438                (x384 +
6439                 (x369 +
6440                  (x355 +
6441                   (x342 +
6442                    (x330 +
6443                     (x319 +
6444                      (x163 +
6445                       (x150 +
6446                        (x136 +
6447                         (x121 +
6448                          (x105 +
6449                           (x88 + (x70 + (x51 + (x31 + x10))))))))))))))))))))));
6450     x544 =
6451         (x518 +
6452          (x496 +
6453           (x475 +
6454            (x455 +
6455             (x436 +
6456              (x418 +
6457               (x401 +
6458                (x385 +
6459                 (x370 +
6460                  (x356 +
6461                   (x343 +
6462                    (x331 +
6463                     (x176 +
6464                      (x164 +
6465                       (x151 +
6466                        (x137 +
6467                         (x122 +
6468                          (x106 +
6469                           (x89 + (x71 + (x52 + (x32 + x11))))))))))))))))))))));
6470     x545 =
6471         (x519 +
6472          (x497 +
6473           (x476 +
6474            (x456 +
6475             (x437 +
6476              (x419 +
6477               (x402 +
6478                (x386 +
6479                 (x371 +
6480                  (x357 +
6481                   (x344 +
6482                    (x188 +
6483                     (x177 +
6484                      (x165 +
6485                       (x152 +
6486                        (x138 +
6487                         (x123 +
6488                          (x107 +
6489                           (x90 + (x72 + (x53 + (x33 + x12))))))))))))))))))))));
6490     x546 =
6491         (x520 +
6492          (x498 +
6493           (x477 +
6494            (x457 +
6495             (x438 +
6496              (x420 +
6497               (x403 +
6498                (x387 +
6499                 (x372 +
6500                  (x358 +
6501                   (x199 +
6502                    (x189 +
6503                     (x178 +
6504                      (x166 +
6505                       (x153 +
6506                        (x139 +
6507                         (x124 +
6508                          (x108 +
6509                           (x91 + (x73 + (x54 + (x34 + x13))))))))))))))))))))));
6510     x547 =
6511         (x521 +
6512          (x499 +
6513           (x478 +
6514            (x458 +
6515             (x439 +
6516              (x421 +
6517               (x404 +
6518                (x388 +
6519                 (x373 +
6520                  (x209 +
6521                   (x200 +
6522                    (x190 +
6523                     (x179 +
6524                      (x167 +
6525                       (x154 +
6526                        (x140 +
6527                         (x125 +
6528                          (x109 +
6529                           (x92 + (x74 + (x55 + (x35 + x14))))))))))))))))))))));
6530     x548 =
6531         (x522 +
6532          (x500 +
6533           (x479 +
6534            (x459 +
6535             (x440 +
6536              (x422 +
6537               (x405 +
6538                (x389 +
6539                 (x218 +
6540                  (x210 +
6541                   (x201 +
6542                    (x191 +
6543                     (x180 +
6544                      (x168 +
6545                       (x155 +
6546                        (x141 +
6547                         (x126 +
6548                          (x110 +
6549                           (x93 + (x75 + (x56 + (x36 + x15))))))))))))))))))))));
6550     x549 =
6551         (x523 +
6552          (x501 +
6553           (x480 +
6554            (x460 +
6555             (x441 +
6556              (x423 +
6557               (x406 +
6558                (x226 +
6559                 (x219 +
6560                  (x211 +
6561                   (x202 +
6562                    (x192 +
6563                     (x181 +
6564                      (x169 +
6565                       (x156 +
6566                        (x142 +
6567                         (x127 +
6568                          (x111 +
6569                           (x94 + (x76 + (x57 + (x37 + x16))))))))))))))))))))));
6570     x550 =
6571         (x524 +
6572          (x502 +
6573           (x481 +
6574            (x461 +
6575             (x442 +
6576              (x424 +
6577               (x233 +
6578                (x227 +
6579                 (x220 +
6580                  (x212 +
6581                   (x203 +
6582                    (x193 +
6583                     (x182 +
6584                      (x170 +
6585                       (x157 +
6586                        (x143 +
6587                         (x128 +
6588                          (x112 +
6589                           (x95 + (x77 + (x58 + (x38 + x17))))))))))))))))))))));
6590     x551 =
6591         (x525 +
6592          (x503 +
6593           (x482 +
6594            (x462 +
6595             (x443 +
6596              (x239 +
6597               (x234 +
6598                (x228 +
6599                 (x221 +
6600                  (x213 +
6601                   (x204 +
6602                    (x194 +
6603                     (x183 +
6604                      (x171 +
6605                       (x158 +
6606                        (x144 +
6607                         (x129 +
6608                          (x113 +
6609                           (x96 + (x78 + (x59 + (x39 + x18))))))))))))))))))))));
6610     x552 =
6611         (x526 +
6612          (x504 +
6613           (x483 +
6614            (x463 +
6615             (x244 +
6616              (x240 +
6617               (x235 +
6618                (x229 +
6619                 (x222 +
6620                  (x214 +
6621                   (x205 +
6622                    (x195 +
6623                     (x184 +
6624                      (x172 +
6625                       (x159 +
6626                        (x145 +
6627                         (x130 +
6628                          (x114 +
6629                           (x97 + (x79 + (x60 + (x40 + x19))))))))))))))))))))));
6630     x553 =
6631         (x527 +
6632          (x505 +
6633           (x484 +
6634            (x248 +
6635             (x245 +
6636              (x241 +
6637               (x236 +
6638                (x230 +
6639                 (x223 +
6640                  (x215 +
6641                   (x206 +
6642                    (x196 +
6643                     (x185 +
6644                      (x173 +
6645                       (x160 +
6646                        (x146 +
6647                         (x131 +
6648                          (x115 +
6649                           (x98 + (x80 + (x61 + (x41 + x20))))))))))))))))))))));
6650     x554 =
6651         (x528 +
6652          (x506 +
6653           (x251 +
6654            (x249 +
6655             (x246 +
6656              (x242 +
6657               (x237 +
6658                (x231 +
6659                 (x224 +
6660                  (x216 +
6661                   (x207 +
6662                    (x197 +
6663                     (x186 +
6664                      (x174 +
6665                       (x161 +
6666                        (x147 +
6667                         (x132 +
6668                          (x116 +
6669                           (x99 + (x81 + (x62 + (x42 + x21))))))))))))))))))))));
6670     x555 = (x531 + x554);
6671     x556 = (x555 >> 22);
6672     x557 = (uint32_t)(x555 & UINT32_C(0x3fffff));
6673     x558 = (x556 + x553);
6674     x559 = (x558 >> 22);
6675     x560 = (uint32_t)(x558 & UINT32_C(0x3fffff));
6676     x561 = (x559 + x552);
6677     x562 = (x561 >> 23);
6678     x563 = (uint32_t)(x561 & UINT32_C(0x7fffff));
6679     x564 = (x562 + x551);
6680     x565 = (x564 >> 22);
6681     x566 = (uint32_t)(x564 & UINT32_C(0x3fffff));
6682     x567 = (x565 + x550);
6683     x568 = (x567 >> 22);
6684     x569 = (uint32_t)(x567 & UINT32_C(0x3fffff));
6685     x570 = (x568 + x549);
6686     x571 = (x570 >> 22);
6687     x572 = (uint32_t)(x570 & UINT32_C(0x3fffff));
6688     x573 = (x571 + x548);
6689     x574 = (x573 >> 23);
6690     x575 = (uint32_t)(x573 & UINT32_C(0x7fffff));
6691     x576 = (x574 + x547);
6692     x577 = (x576 >> 22);
6693     x578 = (uint32_t)(x576 & UINT32_C(0x3fffff));
6694     x579 = (x577 + x546);
6695     x580 = (x579 >> 22);
6696     x581 = (uint32_t)(x579 & UINT32_C(0x3fffff));
6697     x582 = (x580 + x545);
6698     x583 = (x582 >> 22);
6699     x584 = (uint32_t)(x582 & UINT32_C(0x3fffff));
6700     x585 = (x583 + x544);
6701     x586 = (x585 >> 23);
6702     x587 = (uint32_t)(x585 & UINT32_C(0x7fffff));
6703     x588 = (x586 + x543);
6704     x589 = (x588 >> 22);
6705     x590 = (uint32_t)(x588 & UINT32_C(0x3fffff));
6706     x591 = (x589 + x542);
6707     x592 = (x591 >> 22);
6708     x593 = (uint32_t)(x591 & UINT32_C(0x3fffff));
6709     x594 = (x592 + x541);
6710     x595 = (x594 >> 22);
6711     x596 = (uint32_t)(x594 & UINT32_C(0x3fffff));
6712     x597 = (x595 + x540);
6713     x598 = (x597 >> 23);
6714     x599 = (uint32_t)(x597 & UINT32_C(0x7fffff));
6715     x600 = (x598 + x539);
6716     x601 = (x600 >> 22);
6717     x602 = (uint32_t)(x600 & UINT32_C(0x3fffff));
6718     x603 = (x601 + x538);
6719     x604 = (x603 >> 22);
6720     x605 = (uint32_t)(x603 & UINT32_C(0x3fffff));
6721     x606 = (x604 + x537);
6722     x607 = (x606 >> 22);
6723     x608 = (uint32_t)(x606 & UINT32_C(0x3fffff));
6724     x609 = (x607 + x536);
6725     x610 = (x609 >> 23);
6726     x611 = (uint32_t)(x609 & UINT32_C(0x7fffff));
6727     x612 = (x610 + x535);
6728     x613 = (x612 >> 22);
6729     x614 = (uint32_t)(x612 & UINT32_C(0x3fffff));
6730     x615 = (x613 + x534);
6731     x616 = (x615 >> 22);
6732     x617 = (uint32_t)(x615 & UINT32_C(0x3fffff));
6733     x618 = (x616 + x533);
6734     x619 = (uint32_t)(x618 >> 22);
6735     x620 = (uint32_t)(x618 & UINT32_C(0x3fffff));
6736     x621 = ((uint64_t)UINT16_C(0x239) * x619);
6737     x622 = (x532 + x621);
6738     x623 = (uint32_t)(x622 >> 23);
6739     x624 = (uint32_t)(x622 & UINT32_C(0x7fffff));
6740     x625 = (x623 + x557);
6741     x626 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x625 >> 22);
6742     x627 = (x625 & UINT32_C(0x3fffff));
6743     x628 = (x626 + x560);
6744     out1[0] = x624;
6745     out1[1] = x627;
6746     out1[2] = x628;
6747     out1[3] = x563;
6748     out1[4] = x566;
6749     out1[5] = x569;
6750     out1[6] = x572;
6751     out1[7] = x575;
6752     out1[8] = x578;
6753     out1[9] = x581;
6754     out1[10] = x584;
6755     out1[11] = x587;
6756     out1[12] = x590;
6757     out1[13] = x593;
6758     out1[14] = x596;
6759     out1[15] = x599;
6760     out1[16] = x602;
6761     out1[17] = x605;
6762     out1[18] = x608;
6763     out1[19] = x611;
6764     out1[20] = x614;
6765     out1[21] = x617;
6766     out1[22] = x620;
6767 }
6768
6769 /*
6770  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square squares a field element and reduces the result.
6771  * Postconditions:
6772  *   eval out1 mod m = (eval arg1 * eval arg1) mod m
6773  *
6774  * Input Bounds:
6775  *   arg1: [[0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000]]
6776  * Output Bounds:
6777  *   out1: [[0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000]]
6778  */
6779 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(
6780     uint32_t out1[23], const uint32_t arg1[23]) {
6781     uint64_t x1;
6782     uint64_t x2;
6783     uint32_t x3;
6784     uint64_t x4;
6785     uint64_t x5;
6786     uint32_t x6;
6787     uint64_t x7;
6788     uint64_t x8;
6789     uint32_t x9;
6790     uint64_t x10;
6791     uint64_t x11;
6792     uint32_t x12;
6793     uint64_t x13;
6794     uint64_t x14;
6795     uint32_t x15;
6796     uint64_t x16;
6797     uint64_t x17;
6798     uint32_t x18;
6799     uint64_t x19;
6800     uint64_t x20;
6801     uint32_t x21;
6802     uint64_t x22;
6803     uint64_t x23;
6804     uint32_t x24;
6805     uint64_t x25;
6806     uint64_t x26;
6807     uint32_t x27;
6808     uint64_t x28;
6809     uint64_t x29;
6810     uint32_t x30;
6811     uint64_t x31;
6812     uint64_t x32;
6813     uint32_t x33;
6814     uint32_t x34;
6815     uint32_t x35;
6816     uint32_t x36;
6817     uint32_t x37;
6818     uint32_t x38;
6819     uint32_t x39;
6820     uint32_t x40;
6821     uint32_t x41;
6822     uint32_t x42;
6823     uint32_t x43;
6824     uint32_t x44;
6825     uint64_t x45;
6826     uint64_t x46;
6827     uint64_t x47;
6828     uint64_t x48;
6829     uint64_t x49;
6830     uint64_t x50;
6831     uint64_t x51;
6832     uint64_t x52;
6833     uint64_t x53;
6834     uint64_t x54;
6835     uint64_t x55;
6836     uint64_t x56;
6837     uint64_t x57;
6838     uint64_t x58;
6839     uint64_t x59;
6840     uint64_t x60;
6841     uint64_t x61;
6842     uint64_t x62;
6843     uint64_t x63;
6844     uint64_t x64;
6845     uint64_t x65;
6846     uint64_t x66;
6847     uint64_t x67;
6848     uint64_t x68;
6849     uint64_t x69;
6850     uint64_t x70;
6851     uint64_t x71;
6852     uint64_t x72;
6853     uint64_t x73;
6854     uint64_t x74;
6855     uint64_t x75;
6856     uint64_t x76;
6857     uint64_t x77;
6858     uint64_t x78;
6859     uint64_t x79;
6860     uint64_t x80;
6861     uint64_t x81;
6862     uint64_t x82;
6863     uint64_t x83;
6864     uint64_t x84;
6865     uint64_t x85;
6866     uint64_t x86;
6867     uint64_t x87;
6868     uint64_t x88;
6869     uint64_t x89;
6870     uint64_t x90;
6871     uint64_t x91;
6872     uint64_t x92;
6873     uint64_t x93;
6874     uint64_t x94;
6875     uint64_t x95;
6876     uint64_t x96;
6877     uint64_t x97;
6878     uint64_t x98;
6879     uint64_t x99;
6880     uint64_t x100;
6881     uint64_t x101;
6882     uint64_t x102;
6883     uint64_t x103;
6884     uint64_t x104;
6885     uint64_t x105;
6886     uint64_t x106;
6887     uint64_t x107;
6888     uint64_t x108;
6889     uint64_t x109;
6890     uint64_t x110;
6891     uint64_t x111;
6892     uint64_t x112;
6893     uint64_t x113;
6894     uint64_t x114;
6895     uint64_t x115;
6896     uint64_t x116;
6897     uint64_t x117;
6898     uint64_t x118;
6899     uint64_t x119;
6900     uint64_t x120;
6901     uint64_t x121;
6902     uint64_t x122;
6903     uint64_t x123;
6904     uint64_t x124;
6905     uint64_t x125;
6906     uint64_t x126;
6907     uint64_t x127;
6908     uint64_t x128;
6909     uint64_t x129;
6910     uint64_t x130;
6911     uint64_t x131;
6912     uint64_t x132;
6913     uint64_t x133;
6914     uint64_t x134;
6915     uint64_t x135;
6916     uint64_t x136;
6917     uint64_t x137;
6918     uint64_t x138;
6919     uint64_t x139;
6920     uint64_t x140;
6921     uint64_t x141;
6922     uint64_t x142;
6923     uint64_t x143;
6924     uint64_t x144;
6925     uint64_t x145;
6926     uint64_t x146;
6927     uint64_t x147;
6928     uint64_t x148;
6929     uint64_t x149;
6930     uint64_t x150;
6931     uint64_t x151;
6932     uint64_t x152;
6933     uint64_t x153;
6934     uint64_t x154;
6935     uint64_t x155;
6936     uint64_t x156;
6937     uint64_t x157;
6938     uint64_t x158;
6939     uint64_t x159;
6940     uint64_t x160;
6941     uint64_t x161;
6942     uint64_t x162;
6943     uint64_t x163;
6944     uint64_t x164;
6945     uint64_t x165;
6946     uint64_t x166;
6947     uint64_t x167;
6948     uint64_t x168;
6949     uint64_t x169;
6950     uint64_t x170;
6951     uint64_t x171;
6952     uint64_t x172;
6953     uint64_t x173;
6954     uint64_t x174;
6955     uint64_t x175;
6956     uint64_t x176;
6957     uint64_t x177;
6958     uint64_t x178;
6959     uint64_t x179;
6960     uint64_t x180;
6961     uint64_t x181;
6962     uint64_t x182;
6963     uint64_t x183;
6964     uint64_t x184;
6965     uint64_t x185;
6966     uint64_t x186;
6967     uint64_t x187;
6968     uint64_t x188;
6969     uint64_t x189;
6970     uint64_t x190;
6971     uint64_t x191;
6972     uint64_t x192;
6973     uint64_t x193;
6974     uint64_t x194;
6975     uint64_t x195;
6976     uint64_t x196;
6977     uint64_t x197;
6978     uint64_t x198;
6979     uint64_t x199;
6980     uint64_t x200;
6981     uint64_t x201;
6982     uint64_t x202;
6983     uint64_t x203;
6984     uint64_t x204;
6985     uint64_t x205;
6986     uint64_t x206;
6987     uint64_t x207;
6988     uint64_t x208;
6989     uint64_t x209;
6990     uint64_t x210;
6991     uint64_t x211;
6992     uint64_t x212;
6993     uint64_t x213;
6994     uint64_t x214;
6995     uint64_t x215;
6996     uint64_t x216;
6997     uint64_t x217;
6998     uint64_t x218;
6999     uint64_t x219;
7000     uint64_t x220;
7001     uint64_t x221;
7002     uint64_t x222;
7003     uint64_t x223;
7004     uint64_t x224;
7005     uint64_t x225;
7006     uint64_t x226;
7007     uint64_t x227;
7008     uint64_t x228;
7009     uint64_t x229;
7010     uint64_t x230;
7011     uint64_t x231;
7012     uint64_t x232;
7013     uint64_t x233;
7014     uint64_t x234;
7015     uint64_t x235;
7016     uint64_t x236;
7017     uint64_t x237;
7018     uint64_t x238;
7019     uint64_t x239;
7020     uint64_t x240;
7021     uint64_t x241;
7022     uint64_t x242;
7023     uint64_t x243;
7024     uint64_t x244;
7025     uint64_t x245;
7026     uint64_t x246;
7027     uint64_t x247;
7028     uint64_t x248;
7029     uint64_t x249;
7030     uint64_t x250;
7031     uint64_t x251;
7032     uint64_t x252;
7033     uint64_t x253;
7034     uint64_t x254;
7035     uint64_t x255;
7036     uint64_t x256;
7037     uint64_t x257;
7038     uint64_t x258;
7039     uint64_t x259;
7040     uint64_t x260;
7041     uint64_t x261;
7042     uint64_t x262;
7043     uint64_t x263;
7044     uint64_t x264;
7045     uint64_t x265;
7046     uint64_t x266;
7047     uint64_t x267;
7048     uint64_t x268;
7049     uint64_t x269;
7050     uint64_t x270;
7051     uint64_t x271;
7052     uint64_t x272;
7053     uint64_t x273;
7054     uint64_t x274;
7055     uint64_t x275;
7056     uint64_t x276;
7057     uint64_t x277;
7058     uint64_t x278;
7059     uint64_t x279;
7060     uint64_t x280;
7061     uint64_t x281;
7062     uint64_t x282;
7063     uint64_t x283;
7064     uint64_t x284;
7065     uint64_t x285;
7066     uint64_t x286;
7067     uint64_t x287;
7068     uint64_t x288;
7069     uint64_t x289;
7070     uint64_t x290;
7071     uint64_t x291;
7072     uint64_t x292;
7073     uint64_t x293;
7074     uint64_t x294;
7075     uint64_t x295;
7076     uint64_t x296;
7077     uint64_t x297;
7078     uint64_t x298;
7079     uint64_t x299;
7080     uint64_t x300;
7081     uint64_t x301;
7082     uint64_t x302;
7083     uint64_t x303;
7084     uint64_t x304;
7085     uint64_t x305;
7086     uint64_t x306;
7087     uint64_t x307;
7088     uint64_t x308;
7089     uint64_t x309;
7090     uint64_t x310;
7091     uint64_t x311;
7092     uint64_t x312;
7093     uint64_t x313;
7094     uint64_t x314;
7095     uint64_t x315;
7096     uint64_t x316;
7097     uint64_t x317;
7098     uint64_t x318;
7099     uint64_t x319;
7100     uint64_t x320;
7101     uint64_t x321;
7102     uint64_t x322;
7103     uint32_t x323;
7104     uint64_t x324;
7105     uint64_t x325;
7106     uint64_t x326;
7107     uint64_t x327;
7108     uint64_t x328;
7109     uint64_t x329;
7110     uint64_t x330;
7111     uint64_t x331;
7112     uint64_t x332;
7113     uint64_t x333;
7114     uint64_t x334;
7115     uint64_t x335;
7116     uint64_t x336;
7117     uint64_t x337;
7118     uint64_t x338;
7119     uint64_t x339;
7120     uint64_t x340;
7121     uint64_t x341;
7122     uint64_t x342;
7123     uint64_t x343;
7124     uint64_t x344;
7125     uint64_t x345;
7126     uint64_t x346;
7127     uint64_t x347;
7128     uint32_t x348;
7129     uint64_t x349;
7130     uint64_t x350;
7131     uint32_t x351;
7132     uint64_t x352;
7133     uint64_t x353;
7134     uint32_t x354;
7135     uint64_t x355;
7136     uint64_t x356;
7137     uint32_t x357;
7138     uint64_t x358;
7139     uint64_t x359;
7140     uint32_t x360;
7141     uint64_t x361;
7142     uint64_t x362;
7143     uint32_t x363;
7144     uint64_t x364;
7145     uint64_t x365;
7146     uint32_t x366;
7147     uint64_t x367;
7148     uint64_t x368;
7149     uint32_t x369;
7150     uint64_t x370;
7151     uint64_t x371;
7152     uint32_t x372;
7153     uint64_t x373;
7154     uint64_t x374;
7155     uint32_t x375;
7156     uint64_t x376;
7157     uint64_t x377;
7158     uint32_t x378;
7159     uint64_t x379;
7160     uint64_t x380;
7161     uint32_t x381;
7162     uint64_t x382;
7163     uint64_t x383;
7164     uint32_t x384;
7165     uint64_t x385;
7166     uint64_t x386;
7167     uint32_t x387;
7168     uint64_t x388;
7169     uint64_t x389;
7170     uint32_t x390;
7171     uint64_t x391;
7172     uint64_t x392;
7173     uint32_t x393;
7174     uint64_t x394;
7175     uint64_t x395;
7176     uint32_t x396;
7177     uint64_t x397;
7178     uint64_t x398;
7179     uint32_t x399;
7180     uint64_t x400;
7181     uint64_t x401;
7182     uint32_t x402;
7183     uint64_t x403;
7184     uint64_t x404;
7185     uint32_t x405;
7186     uint64_t x406;
7187     uint64_t x407;
7188     uint32_t x408;
7189     uint64_t x409;
7190     uint32_t x410;
7191     uint32_t x411;
7192     uint64_t x412;
7193     uint64_t x413;
7194     uint32_t x414;
7195     uint32_t x415;
7196     uint32_t x416;
7197     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x417;
7198     uint32_t x418;
7199     uint32_t x419;
7200     x1 = ((uint64_t)(arg1[22]) * UINT16_C(0x239));
7201     x2 = (x1 * 0x2);
7202     x3 = ((arg1[22]) * 0x2);
7203     x4 = ((uint64_t)(arg1[21]) * UINT16_C(0x239));
7204     x5 = (x4 * 0x2);
7205     x6 = ((arg1[21]) * 0x2);
7206     x7 = ((uint64_t)(arg1[20]) * UINT16_C(0x239));
7207     x8 = (x7 * 0x2);
7208     x9 = ((arg1[20]) * 0x2);
7209     x10 = ((uint64_t)(arg1[19]) * UINT16_C(0x239));
7210     x11 = (x10 * 0x2);
7211     x12 = ((arg1[19]) * 0x2);
7212     x13 = ((uint64_t)(arg1[18]) * UINT16_C(0x239));
7213     x14 = (x13 * 0x2);
7214     x15 = ((arg1[18]) * 0x2);
7215     x16 = ((uint64_t)(arg1[17]) * UINT16_C(0x239));
7216     x17 = (x16 * 0x2);
7217     x18 = ((arg1[17]) * 0x2);
7218     x19 = ((uint64_t)(arg1[16]) * UINT16_C(0x239));
7219     x20 = (x19 * 0x2);
7220     x21 = ((arg1[16]) * 0x2);
7221     x22 = ((uint64_t)(arg1[15]) * UINT16_C(0x239));
7222     x23 = (x22 * 0x2);
7223     x24 = ((arg1[15]) * 0x2);
7224     x25 = ((uint64_t)(arg1[14]) * UINT16_C(0x239));
7225     x26 = (x25 * 0x2);
7226     x27 = ((arg1[14]) * 0x2);
7227     x28 = ((uint64_t)(arg1[13]) * UINT16_C(0x239));
7228     x29 = (x28 * 0x2);
7229     x30 = ((arg1[13]) * 0x2);
7230     x31 = ((uint64_t)(arg1[12]) * UINT16_C(0x239));
7231     x32 = (x31 * 0x2);
7232     x33 = ((arg1[12]) * 0x2);
7233     x34 = ((arg1[11]) * 0x2);
7234     x35 = ((arg1[10]) * 0x2);
7235     x36 = ((arg1[9]) * 0x2);
7236     x37 = ((arg1[8]) * 0x2);
7237     x38 = ((arg1[7]) * 0x2);
7238     x39 = ((arg1[6]) * 0x2);
7239     x40 = ((arg1[5]) * 0x2);
7240     x41 = ((arg1[4]) * 0x2);
7241     x42 = ((arg1[3]) * 0x2);
7242     x43 = ((arg1[2]) * 0x2);
7243     x44 = ((arg1[1]) * 0x2);
7244     x45 = ((arg1[22]) * x1);
7245     x46 = ((arg1[21]) * x2);
7246     x47 = ((arg1[21]) * (x4 * 0x2));
7247     x48 = ((arg1[20]) * (x2 * 0x2));
7248     x49 = ((arg1[20]) * (x5 * 0x2));
7249     x50 = ((arg1[20]) * (x7 * 0x2));
7250     x51 = ((arg1[19]) * x2);
7251     x52 = ((arg1[19]) * x5);
7252     x53 = ((arg1[19]) * x8);
7253     x54 = ((arg1[19]) * x10);
7254     x55 = ((arg1[18]) * x2);
7255     x56 = ((arg1[18]) * x5);
7256     x57 = ((arg1[18]) * (x8 * 0x2));
7257     x58 = ((arg1[18]) * x11);
7258     x59 = ((arg1[18]) * x13);
7259     x60 = ((arg1[17]) * x2);
7260     x61 = ((arg1[17]) * (x5 * 0x2));
7261     x62 = ((arg1[17]) * (x8 * 0x2));
7262     x63 = ((arg1[17]) * x11);
7263     x64 = ((arg1[17]) * x14);
7264     x65 = ((arg1[17]) * (x16 * 0x2));
7265     x66 = ((arg1[16]) * (x2 * 0x2));
7266     x67 = ((arg1[16]) * (x5 * 0x2));
7267     x68 = ((arg1[16]) * (x8 * 0x2));
7268     x69 = ((arg1[16]) * x11);
7269     x70 = ((arg1[16]) * (x14 * 0x2));
7270     x71 = ((arg1[16]) * (x17 * 0x2));
7271     x72 = ((arg1[16]) * (x19 * 0x2));
7272     x73 = ((arg1[15]) * x2);
7273     x74 = ((arg1[15]) * x5);
7274     x75 = ((arg1[15]) * x8);
7275     x76 = ((arg1[15]) * x11);
7276     x77 = ((arg1[15]) * x14);
7277     x78 = ((arg1[15]) * x17);
7278     x79 = ((arg1[15]) * x20);
7279     x80 = ((arg1[15]) * x22);
7280     x81 = ((arg1[14]) * x2);
7281     x82 = ((arg1[14]) * x5);
7282     x83 = ((arg1[14]) * (x8 * 0x2));
7283     x84 = ((arg1[14]) * x11);
7284     x85 = ((arg1[14]) * x14);
7285     x86 = ((arg1[14]) * x17);
7286     x87 = ((arg1[14]) * (x20 * 0x2));
7287     x88 = ((arg1[14]) * x23);
7288     x89 = ((arg1[14]) * x25);
7289     x90 = ((arg1[13]) * x2);
7290     x91 = ((arg1[13]) * (x5 * 0x2));
7291     x92 = ((arg1[13]) * (x8 * 0x2));
7292     x93 = ((arg1[13]) * x11);
7293     x94 = ((arg1[13]) * x14);
7294     x95 = ((arg1[13]) * (x17 * 0x2));
7295     x96 = ((arg1[13]) * (x20 * 0x2));
7296     x97 = ((arg1[13]) * x23);
7297     x98 = ((arg1[13]) * x26);
7298     x99 = ((arg1[13]) * (x28 * 0x2));
7299     x100 = ((arg1[12]) * (x2 * 0x2));
7300     x101 = ((arg1[12]) * (x5 * 0x2));
7301     x102 = ((arg1[12]) * (x8 * 0x2));
7302     x103 = ((arg1[12]) * x11);
7303     x104 = ((arg1[12]) * (x14 * 0x2));
7304     x105 = ((arg1[12]) * (x17 * 0x2));
7305     x106 = ((arg1[12]) * (x20 * 0x2));
7306     x107 = ((arg1[12]) * x23);
7307     x108 = ((arg1[12]) * (x26 * 0x2));
7308     x109 = ((arg1[12]) * (x29 * 0x2));
7309     x110 = ((arg1[12]) * (x31 * 0x2));
7310     x111 = ((arg1[11]) * x2);
7311     x112 = ((arg1[11]) * x5);
7312     x113 = ((arg1[11]) * x8);
7313     x114 = ((arg1[11]) * x11);
7314     x115 = ((arg1[11]) * x14);
7315     x116 = ((arg1[11]) * x17);
7316     x117 = ((arg1[11]) * x20);
7317     x118 = ((arg1[11]) * x23);
7318     x119 = ((arg1[11]) * x26);
7319     x120 = ((arg1[11]) * x29);
7320     x121 = ((arg1[11]) * (x32 * 0x2));
7321     x122 = ((uint64_t)(arg1[11]) * (arg1[11]));
7322     x123 = ((arg1[10]) * x2);
7323     x124 = ((arg1[10]) * x5);
7324     x125 = ((arg1[10]) * (x8 * 0x2));
7325     x126 = ((arg1[10]) * x11);
7326     x127 = ((arg1[10]) * x14);
7327     x128 = ((arg1[10]) * x17);
7328     x129 = ((arg1[10]) * (x20 * 0x2));
7329     x130 = ((arg1[10]) * x23);
7330     x131 = ((arg1[10]) * x26);
7331     x132 = ((arg1[10]) * (x29 * 0x2));
7332     x133 = ((uint64_t)(arg1[10]) * (x33 * 0x2));
7333     x134 = ((uint64_t)(arg1[10]) * x34);
7334     x135 = ((uint64_t)(arg1[10]) * (arg1[10]));
7335     x136 = ((arg1[9]) * x2);
7336     x137 = ((arg1[9]) * (x5 * 0x2));
7337     x138 = ((arg1[9]) * (x8 * 0x2));
7338     x139 = ((arg1[9]) * x11);
7339     x140 = ((arg1[9]) * x14);
7340     x141 = ((arg1[9]) * (x17 * 0x2));
7341     x142 = ((arg1[9]) * (x20 * 0x2));
7342     x143 = ((arg1[9]) * x23);
7343     x144 = ((arg1[9]) * (x26 * 0x2));
7344     x145 = ((uint64_t)(arg1[9]) * (x30 * 0x2));
7345     x146 = ((uint64_t)(arg1[9]) * (x33 * 0x2));
7346     x147 = ((uint64_t)(arg1[9]) * x34);
7347     x148 = ((uint64_t)(arg1[9]) * (x35 * 0x2));
7348     x149 = ((uint64_t)(arg1[9]) * ((arg1[9]) * 0x2));
7349     x150 = ((arg1[8]) * (x2 * 0x2));
7350     x151 = ((arg1[8]) * (x5 * 0x2));
7351     x152 = ((arg1[8]) * (x8 * 0x2));
7352     x153 = ((arg1[8]) * x11);
7353     x154 = ((arg1[8]) * (x14 * 0x2));
7354     x155 = ((arg1[8]) * (x17 * 0x2));
7355     x156 = ((arg1[8]) * (x20 * 0x2));
7356     x157 = ((arg1[8]) * (x23 * 0x2));
7357     x158 = ((uint64_t)(arg1[8]) * (x27 * 0x2));
7358     x159 = ((uint64_t)(arg1[8]) * (x30 * 0x2));
7359     x160 = ((uint64_t)(arg1[8]) * (x33 * 0x2));
7360     x161 = ((uint64_t)(arg1[8]) * (x34 * 0x2));
7361     x162 = ((uint64_t)(arg1[8]) * (x35 * 0x2));
7362     x163 = ((uint64_t)(arg1[8]) * (x36 * 0x2));
7363     x164 = ((uint64_t)(arg1[8]) * ((arg1[8]) * 0x2));
7364     x165 = ((arg1[7]) * x2);
7365     x166 = ((arg1[7]) * x5);
7366     x167 = ((arg1[7]) * x8);
7367     x168 = ((arg1[7]) * x11);
7368     x169 = ((arg1[7]) * x14);
7369     x170 = ((arg1[7]) * x17);
7370     x171 = ((arg1[7]) * (x20 * 0x2));
7371     x172 = ((uint64_t)(arg1[7]) * x24);
7372     x173 = ((uint64_t)(arg1[7]) * x27);
7373     x174 = ((uint64_t)(arg1[7]) * x30);
7374     x175 = ((uint64_t)(arg1[7]) * (x33 * 0x2));
7375     x176 = ((uint64_t)(arg1[7]) * x34);
7376     x177 = ((uint64_t)(arg1[7]) * x35);
7377     x178 = ((uint64_t)(arg1[7]) * x36);
7378     x179 = ((uint64_t)(arg1[7]) * (x37 * 0x2));
7379     x180 = ((uint64_t)(arg1[7]) * (arg1[7]));
7380     x181 = ((arg1[6]) * x2);
7381     x182 = ((arg1[6]) * x5);
7382     x183 = ((arg1[6]) * (x8 * 0x2));
7383     x184 = ((arg1[6]) * x11);
7384     x185 = ((arg1[6]) * x14);
7385     x186 = ((arg1[6]) * (x17 * 0x2));
7386     x187 = ((uint64_t)(arg1[6]) * (x21 * 0x2));
7387     x188 = ((uint64_t)(arg1[6]) * x24);
7388     x189 = ((uint64_t)(arg1[6]) * x27);
7389     x190 = ((uint64_t)(arg1[6]) * (x30 * 0x2));
7390     x191 = ((uint64_t)(arg1[6]) * (x33 * 0x2));
7391     x192 = ((uint64_t)(arg1[6]) * x34);
7392     x193 = ((uint64_t)(arg1[6]) * x35);
7393     x194 = ((uint64_t)(arg1[6]) * (x36 * 0x2));
7394     x195 = ((uint64_t)(arg1[6]) * (x37 * 0x2));
7395     x196 = ((uint64_t)(arg1[6]) * x38);
7396     x197 = ((uint64_t)(arg1[6]) * (arg1[6]));
7397     x198 = ((arg1[5]) * x2);
7398     x199 = ((arg1[5]) * (x5 * 0x2));
7399     x200 = ((arg1[5]) * (x8 * 0x2));
7400     x201 = ((arg1[5]) * x11);
7401     x202 = ((arg1[5]) * (x14 * 0x2));
7402     x203 = ((uint64_t)(arg1[5]) * (x18 * 0x2));
7403     x204 = ((uint64_t)(arg1[5]) * (x21 * 0x2));
7404     x205 = ((uint64_t)(arg1[5]) * x24);
7405     x206 = ((uint64_t)(arg1[5]) * (x27 * 0x2));
7406     x207 = ((uint64_t)(arg1[5]) * (x30 * 0x2));
7407     x208 = ((uint64_t)(arg1[5]) * (x33 * 0x2));
7408     x209 = ((uint64_t)(arg1[5]) * x34);
7409     x210 = ((uint64_t)(arg1[5]) * (x35 * 0x2));
7410     x211 = ((uint64_t)(arg1[5]) * (x36 * 0x2));
7411     x212 = ((uint64_t)(arg1[5]) * (x37 * 0x2));
7412     x213 = ((uint64_t)(arg1[5]) * x38);
7413     x214 = ((uint64_t)(arg1[5]) * (x39 * 0x2));
7414     x215 = ((uint64_t)(arg1[5]) * ((arg1[5]) * 0x2));
7415     x216 = ((arg1[4]) * (x2 * 0x2));
7416     x217 = ((arg1[4]) * (x5 * 0x2));
7417     x218 = ((arg1[4]) * (x8 * 0x2));
7418     x219 = ((arg1[4]) * (x11 * 0x2));
7419     x220 = ((uint64_t)(arg1[4]) * (x15 * 0x2));
7420     x221 = ((uint64_t)(arg1[4]) * (x18 * 0x2));
7421     x222 = ((uint64_t)(arg1[4]) * (x21 * 0x2));
7422     x223 = ((uint64_t)(arg1[4]) * (x24 * 0x2));
7423     x224 = ((uint64_t)(arg1[4]) * (x27 * 0x2));
7424     x225 = ((uint64_t)(arg1[4]) * (x30 * 0x2));
7425     x226 = ((uint64_t)(arg1[4]) * (x33 * 0x2));
7426     x227 = ((uint64_t)(arg1[4]) * (x34 * 0x2));
7427     x228 = ((uint64_t)(arg1[4]) * (x35 * 0x2));
7428     x229 = ((uint64_t)(arg1[4]) * (x36 * 0x2));
7429     x230 = ((uint64_t)(arg1[4]) * (x37 * 0x2));
7430     x231 = ((uint64_t)(arg1[4]) * (x38 * 0x2));
7431     x232 = ((uint64_t)(arg1[4]) * (x39 * 0x2));
7432     x233 = ((uint64_t)(arg1[4]) * (x40 * 0x2));
7433     x234 = ((uint64_t)(arg1[4]) * ((arg1[4]) * 0x2));
7434     x235 = ((arg1[3]) * x2);
7435     x236 = ((arg1[3]) * x5);
7436     x237 = ((arg1[3]) * (x8 * 0x2));
7437     x238 = ((uint64_t)(arg1[3]) * x12);
7438     x239 = ((uint64_t)(arg1[3]) * x15);
7439     x240 = ((uint64_t)(arg1[3]) * x18);
7440     x241 = ((uint64_t)(arg1[3]) * (x21 * 0x2));
7441     x242 = ((uint64_t)(arg1[3]) * x24);
7442     x243 = ((uint64_t)(arg1[3]) * x27);
7443     x244 = ((uint64_t)(arg1[3]) * x30);
7444     x245 = ((uint64_t)(arg1[3]) * (x33 * 0x2));
7445     x246 = ((uint64_t)(arg1[3]) * x34);
7446     x247 = ((uint64_t)(arg1[3]) * x35);
7447     x248 = ((uint64_t)(arg1[3]) * x36);
7448     x249 = ((uint64_t)(arg1[3]) * (x37 * 0x2));
7449     x250 = ((uint64_t)(arg1[3]) * x38);
7450     x251 = ((uint64_t)(arg1[3]) * x39);
7451     x252 = ((uint64_t)(arg1[3]) * x40);
7452     x253 = ((uint64_t)(arg1[3]) * (x41 * 0x2));
7453     x254 = ((uint64_t)(arg1[3]) * (arg1[3]));
7454     x255 = ((arg1[2]) * x2);
7455     x256 = ((arg1[2]) * (x5 * 0x2));
7456     x257 = ((uint64_t)(arg1[2]) * (x9 * 0x2));
7457     x258 = ((uint64_t)(arg1[2]) * x12);
7458     x259 = ((uint64_t)(arg1[2]) * x15);
7459     x260 = ((uint64_t)(arg1[2]) * (x18 * 0x2));
7460     x261 = ((uint64_t)(arg1[2]) * (x21 * 0x2));
7461     x262 = ((uint64_t)(arg1[2]) * x24);
7462     x263 = ((uint64_t)(arg1[2]) * x27);
7463     x264 = ((uint64_t)(arg1[2]) * (x30 * 0x2));
7464     x265 = ((uint64_t)(arg1[2]) * (x33 * 0x2));
7465     x266 = ((uint64_t)(arg1[2]) * x34);
7466     x267 = ((uint64_t)(arg1[2]) * x35);
7467     x268 = ((uint64_t)(arg1[2]) * (x36 * 0x2));
7468     x269 = ((uint64_t)(arg1[2]) * (x37 * 0x2));
7469     x270 = ((uint64_t)(arg1[2]) * x38);
7470     x271 = ((uint64_t)(arg1[2]) * x39);
7471     x272 = ((uint64_t)(arg1[2]) * (x40 * 0x2));
7472     x273 = ((uint64_t)(arg1[2]) * (x41 * 0x2));
7473     x274 = ((uint64_t)(arg1[2]) * x42);
7474     x275 = ((uint64_t)(arg1[2]) * (arg1[2]));
7475     x276 = ((arg1[1]) * (x2 * 0x2));
7476     x277 = ((uint64_t)(arg1[1]) * (x6 * 0x2));
7477     x278 = ((uint64_t)(arg1[1]) * (x9 * 0x2));
7478     x279 = ((uint64_t)(arg1[1]) * x12);
7479     x280 = ((uint64_t)(arg1[1]) * (x15 * 0x2));
7480     x281 = ((uint64_t)(arg1[1]) * (x18 * 0x2));
7481     x282 = ((uint64_t)(arg1[1]) * (x21 * 0x2));
7482     x283 = ((uint64_t)(arg1[1]) * x24);
7483     x284 = ((uint64_t)(arg1[1]) * (x27 * 0x2));
7484     x285 = ((uint64_t)(arg1[1]) * (x30 * 0x2));
7485     x286 = ((uint64_t)(arg1[1]) * (x33 * 0x2));
7486     x287 = ((uint64_t)(arg1[1]) * x34);
7487     x288 = ((uint64_t)(arg1[1]) * (x35 * 0x2));
7488     x289 = ((uint64_t)(arg1[1]) * (x36 * 0x2));
7489     x290 = ((uint64_t)(arg1[1]) * (x37 * 0x2));
7490     x291 = ((uint64_t)(arg1[1]) * x38);
7491     x292 = ((uint64_t)(arg1[1]) * (x39 * 0x2));
7492     x293 = ((uint64_t)(arg1[1]) * (x40 * 0x2));
7493     x294 = ((uint64_t)(arg1[1]) * (x41 * 0x2));
7494     x295 = ((uint64_t)(arg1[1]) * x42);
7495     x296 = ((uint64_t)(arg1[1]) * (x43 * 0x2));
7496     x297 = ((uint64_t)(arg1[1]) * ((arg1[1]) * 0x2));
7497     x298 = ((uint64_t)(arg1[0]) * x3);
7498     x299 = ((uint64_t)(arg1[0]) * x6);
7499     x300 = ((uint64_t)(arg1[0]) * x9);
7500     x301 = ((uint64_t)(arg1[0]) * x12);
7501     x302 = ((uint64_t)(arg1[0]) * x15);
7502     x303 = ((uint64_t)(arg1[0]) * x18);
7503     x304 = ((uint64_t)(arg1[0]) * x21);
7504     x305 = ((uint64_t)(arg1[0]) * x24);
7505     x306 = ((uint64_t)(arg1[0]) * x27);
7506     x307 = ((uint64_t)(arg1[0]) * x30);
7507     x308 = ((uint64_t)(arg1[0]) * x33);
7508     x309 = ((uint64_t)(arg1[0]) * x34);
7509     x310 = ((uint64_t)(arg1[0]) * x35);
7510     x311 = ((uint64_t)(arg1[0]) * x36);
7511     x312 = ((uint64_t)(arg1[0]) * x37);
7512     x313 = ((uint64_t)(arg1[0]) * x38);
7513     x314 = ((uint64_t)(arg1[0]) * x39);
7514     x315 = ((uint64_t)(arg1[0]) * x40);
7515     x316 = ((uint64_t)(arg1[0]) * x41);
7516     x317 = ((uint64_t)(arg1[0]) * x42);
7517     x318 = ((uint64_t)(arg1[0]) * x43);
7518     x319 = ((uint64_t)(arg1[0]) * x44);
7519     x320 = ((uint64_t)(arg1[0]) * (arg1[0]));
7520     x321 = (x320 +
7521             (x276 +
7522              (x256 +
7523               (x237 +
7524                (x219 +
7525                 (x202 + (x186 + (x171 + (x157 + (x144 + (x132 + x121)))))))))));
7526     x322 = (x321 >> 23);
7527     x323 = (uint32_t)(x321 & UINT32_C(0x7fffff));
7528     x324 = (x298 +
7529             (x277 +
7530              (x257 +
7531               (x238 +
7532                (x220 +
7533                 (x203 + (x187 + (x172 + (x158 + (x145 + (x133 + x122)))))))))));
7534     x325 = (x299 +
7535             (x278 +
7536              (x258 +
7537               (x239 +
7538                (x221 +
7539                 (x204 + (x188 + (x173 + (x159 + (x146 + (x134 + x45)))))))))));
7540     x326 = (x300 +
7541             (x279 +
7542              (x259 +
7543               (x240 +
7544                (x222 +
7545                 (x205 + (x189 + (x174 + (x160 + (x147 + (x135 + x46)))))))))));
7546     x327 = (x301 +
7547             (x280 +
7548              (x260 +
7549               (x241 +
7550                (x223 +
7551                 (x206 + (x190 + (x175 + (x161 + (x148 + (x48 + x47)))))))))));
7552     x328 = (x302 +
7553             (x281 +
7554              (x261 +
7555               (x242 +
7556                (x224 +
7557                 (x207 + (x191 + (x176 + (x162 + (x149 + (x51 + x49)))))))))));
7558     x329 = (x303 +
7559             (x282 +
7560              (x262 +
7561               (x243 +
7562                (x225 +
7563                 (x208 + (x192 + (x177 + (x163 + (x55 + (x52 + x50)))))))))));
7564     x330 = (x304 +
7565             (x283 +
7566              (x263 +
7567               (x244 +
7568                (x226 +
7569                 (x209 + (x193 + (x178 + (x164 + (x60 + (x56 + x53)))))))))));
7570     x331 =
7571         (x305 +
7572          (x284 +
7573           (x264 +
7574            (x245 +
7575             (x227 + (x210 + (x194 + (x179 + (x66 + (x61 + (x57 + x54)))))))))));
7576     x332 =
7577         (x306 +
7578          (x285 +
7579           (x265 +
7580            (x246 +
7581             (x228 + (x211 + (x195 + (x180 + (x73 + (x67 + (x62 + x58)))))))))));
7582     x333 =
7583         (x307 +
7584          (x286 +
7585           (x266 +
7586            (x247 +
7587             (x229 + (x212 + (x196 + (x81 + (x74 + (x68 + (x63 + x59)))))))))));
7588     x334 =
7589         (x308 +
7590          (x287 +
7591           (x267 +
7592            (x248 +
7593             (x230 + (x213 + (x197 + (x90 + (x82 + (x75 + (x69 + x64)))))))))));
7594     x335 =
7595         (x309 +
7596          (x288 +
7597           (x268 +
7598            (x249 +
7599             (x231 + (x214 + (x100 + (x91 + (x83 + (x76 + (x70 + x65)))))))))));
7600     x336 =
7601         (x310 +
7602          (x289 +
7603           (x269 +
7604            (x250 +
7605             (x232 + (x215 + (x111 + (x101 + (x92 + (x84 + (x77 + x71)))))))))));
7606     x337 =
7607         (x311 +
7608          (x290 +
7609           (x270 +
7610            (x251 +
7611             (x233 + (x123 + (x112 + (x102 + (x93 + (x85 + (x78 + x72)))))))))));
7612     x338 = (x312 +
7613             (x291 +
7614              (x271 +
7615               (x252 +
7616                (x234 +
7617                 (x136 + (x124 + (x113 + (x103 + (x94 + (x86 + x79)))))))))));
7618     x339 = (x313 +
7619             (x292 +
7620              (x272 +
7621               (x253 +
7622                (x150 +
7623                 (x137 + (x125 + (x114 + (x104 + (x95 + (x87 + x80)))))))))));
7624     x340 = (x314 +
7625             (x293 +
7626              (x273 +
7627               (x254 +
7628                (x165 +
7629                 (x151 + (x138 + (x126 + (x115 + (x105 + (x96 + x88)))))))))));
7630     x341 = (x315 +
7631             (x294 +
7632              (x274 +
7633               (x181 +
7634                (x166 +
7635                 (x152 + (x139 + (x127 + (x116 + (x106 + (x97 + x89)))))))))));
7636     x342 = (x316 +
7637             (x295 +
7638              (x275 +
7639               (x198 +
7640                (x182 +
7641                 (x167 + (x153 + (x140 + (x128 + (x117 + (x107 + x98)))))))))));
7642     x343 = (x317 +
7643             (x296 +
7644              (x216 +
7645               (x199 +
7646                (x183 +
7647                 (x168 + (x154 + (x141 + (x129 + (x118 + (x108 + x99)))))))))));
7648     x344 = (x318 +
7649             (x297 +
7650              (x235 +
7651               (x217 +
7652                (x200 +
7653                 (x184 + (x169 + (x155 + (x142 + (x130 + (x119 + x109)))))))))));
7654     x345 = (x319 +
7655             (x255 +
7656              (x236 +
7657               (x218 +
7658                (x201 +
7659                 (x185 + (x170 + (x156 + (x143 + (x131 + (x120 + x110)))))))))));
7660     x346 = (x322 + x345);
7661     x347 = (x346 >> 22);
7662     x348 = (uint32_t)(x346 & UINT32_C(0x3fffff));
7663     x349 = (x347 + x344);
7664     x350 = (x349 >> 22);
7665     x351 = (uint32_t)(x349 & UINT32_C(0x3fffff));
7666     x352 = (x350 + x343);
7667     x353 = (x352 >> 23);
7668     x354 = (uint32_t)(x352 & UINT32_C(0x7fffff));
7669     x355 = (x353 + x342);
7670     x356 = (x355 >> 22);
7671     x357 = (uint32_t)(x355 & UINT32_C(0x3fffff));
7672     x358 = (x356 + x341);
7673     x359 = (x358 >> 22);
7674     x360 = (uint32_t)(x358 & UINT32_C(0x3fffff));
7675     x361 = (x359 + x340);
7676     x362 = (x361 >> 22);
7677     x363 = (uint32_t)(x361 & UINT32_C(0x3fffff));
7678     x364 = (x362 + x339);
7679     x365 = (x364 >> 23);
7680     x366 = (uint32_t)(x364 & UINT32_C(0x7fffff));
7681     x367 = (x365 + x338);
7682     x368 = (x367 >> 22);
7683     x369 = (uint32_t)(x367 & UINT32_C(0x3fffff));
7684     x370 = (x368 + x337);
7685     x371 = (x370 >> 22);
7686     x372 = (uint32_t)(x370 & UINT32_C(0x3fffff));
7687     x373 = (x371 + x336);
7688     x374 = (x373 >> 22);
7689     x375 = (uint32_t)(x373 & UINT32_C(0x3fffff));
7690     x376 = (x374 + x335);
7691     x377 = (x376 >> 23);
7692     x378 = (uint32_t)(x376 & UINT32_C(0x7fffff));
7693     x379 = (x377 + x334);
7694     x380 = (x379 >> 22);
7695     x381 = (uint32_t)(x379 & UINT32_C(0x3fffff));
7696     x382 = (x380 + x333);
7697     x383 = (x382 >> 22);
7698     x384 = (uint32_t)(x382 & UINT32_C(0x3fffff));
7699     x385 = (x383 + x332);
7700     x386 = (x385 >> 22);
7701     x387 = (uint32_t)(x385 & UINT32_C(0x3fffff));
7702     x388 = (x386 + x331);
7703     x389 = (x388 >> 23);
7704     x390 = (uint32_t)(x388 & UINT32_C(0x7fffff));
7705     x391 = (x389 + x330);
7706     x392 = (x391 >> 22);
7707     x393 = (uint32_t)(x391 & UINT32_C(0x3fffff));
7708     x394 = (x392 + x329);
7709     x395 = (x394 >> 22);
7710     x396 = (uint32_t)(x394 & UINT32_C(0x3fffff));
7711     x397 = (x395 + x328);
7712     x398 = (x397 >> 22);
7713     x399 = (uint32_t)(x397 & UINT32_C(0x3fffff));
7714     x400 = (x398 + x327);
7715     x401 = (x400 >> 23);
7716     x402 = (uint32_t)(x400 & UINT32_C(0x7fffff));
7717     x403 = (x401 + x326);
7718     x404 = (x403 >> 22);
7719     x405 = (uint32_t)(x403 & UINT32_C(0x3fffff));
7720     x406 = (x404 + x325);
7721     x407 = (x406 >> 22);
7722     x408 = (uint32_t)(x406 & UINT32_C(0x3fffff));
7723     x409 = (x407 + x324);
7724     x410 = (uint32_t)(x409 >> 22);
7725     x411 = (uint32_t)(x409 & UINT32_C(0x3fffff));
7726     x412 = ((uint64_t)UINT16_C(0x239) * x410);
7727     x413 = (x323 + x412);
7728     x414 = (uint32_t)(x413 >> 23);
7729     x415 = (uint32_t)(x413 & UINT32_C(0x7fffff));
7730     x416 = (x414 + x348);
7731     x417 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x416 >> 22);
7732     x418 = (x416 & UINT32_C(0x3fffff));
7733     x419 = (x417 + x351);
7734     out1[0] = x415;
7735     out1[1] = x418;
7736     out1[2] = x419;
7737     out1[3] = x354;
7738     out1[4] = x357;
7739     out1[5] = x360;
7740     out1[6] = x363;
7741     out1[7] = x366;
7742     out1[8] = x369;
7743     out1[9] = x372;
7744     out1[10] = x375;
7745     out1[11] = x378;
7746     out1[12] = x381;
7747     out1[13] = x384;
7748     out1[14] = x387;
7749     out1[15] = x390;
7750     out1[16] = x393;
7751     out1[17] = x396;
7752     out1[18] = x399;
7753     out1[19] = x402;
7754     out1[20] = x405;
7755     out1[21] = x408;
7756     out1[22] = x411;
7757 }
7758
7759 /*
7760  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_carry reduces a field element.
7761  * Postconditions:
7762  *   eval out1 mod m = eval arg1 mod m
7763  *
7764  * Input Bounds:
7765  *   arg1: [[0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000]]
7766  * Output Bounds:
7767  *   out1: [[0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000]]
7768  */
7769 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_carry(
7770     uint32_t out1[23], const uint32_t arg1[23]) {
7771     uint32_t x1;
7772     uint32_t x2;
7773     uint32_t x3;
7774     uint32_t x4;
7775     uint32_t x5;
7776     uint32_t x6;
7777     uint32_t x7;
7778     uint32_t x8;
7779     uint32_t x9;
7780     uint32_t x10;
7781     uint32_t x11;
7782     uint32_t x12;
7783     uint32_t x13;
7784     uint32_t x14;
7785     uint32_t x15;
7786     uint32_t x16;
7787     uint32_t x17;
7788     uint32_t x18;
7789     uint32_t x19;
7790     uint32_t x20;
7791     uint32_t x21;
7792     uint32_t x22;
7793     uint32_t x23;
7794     uint32_t x24;
7795     uint32_t x25;
7796     uint32_t x26;
7797     uint32_t x27;
7798     uint32_t x28;
7799     uint32_t x29;
7800     uint32_t x30;
7801     uint32_t x31;
7802     uint32_t x32;
7803     uint32_t x33;
7804     uint32_t x34;
7805     uint32_t x35;
7806     uint32_t x36;
7807     uint32_t x37;
7808     uint32_t x38;
7809     uint32_t x39;
7810     uint32_t x40;
7811     uint32_t x41;
7812     uint32_t x42;
7813     uint32_t x43;
7814     uint32_t x44;
7815     uint32_t x45;
7816     uint32_t x46;
7817     uint32_t x47;
7818     uint32_t x48;
7819     x1 = (arg1[0]);
7820     x2 = ((x1 >> 23) + (arg1[1]));
7821     x3 = ((x2 >> 22) + (arg1[2]));
7822     x4 = ((x3 >> 22) + (arg1[3]));
7823     x5 = ((x4 >> 23) + (arg1[4]));
7824     x6 = ((x5 >> 22) + (arg1[5]));
7825     x7 = ((x6 >> 22) + (arg1[6]));
7826     x8 = ((x7 >> 22) + (arg1[7]));
7827     x9 = ((x8 >> 23) + (arg1[8]));
7828     x10 = ((x9 >> 22) + (arg1[9]));
7829     x11 = ((x10 >> 22) + (arg1[10]));
7830     x12 = ((x11 >> 22) + (arg1[11]));
7831     x13 = ((x12 >> 23) + (arg1[12]));
7832     x14 = ((x13 >> 22) + (arg1[13]));
7833     x15 = ((x14 >> 22) + (arg1[14]));
7834     x16 = ((x15 >> 22) + (arg1[15]));
7835     x17 = ((x16 >> 23) + (arg1[16]));
7836     x18 = ((x17 >> 22) + (arg1[17]));
7837     x19 = ((x18 >> 22) + (arg1[18]));
7838     x20 = ((x19 >> 22) + (arg1[19]));
7839     x21 = ((x20 >> 23) + (arg1[20]));
7840     x22 = ((x21 >> 22) + (arg1[21]));
7841     x23 = ((x22 >> 22) + (arg1[22]));
7842     x24 = ((x1 & UINT32_C(0x7fffff)) + (UINT16_C(0x239) * (x23 >> 22)));
7843     x25 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x24 >> 23) +
7844            (x2 & UINT32_C(0x3fffff)));
7845     x26 = (x24 & UINT32_C(0x7fffff));
7846     x27 = (x25 & UINT32_C(0x3fffff));
7847     x28 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x25 >> 22) +
7848            (x3 & UINT32_C(0x3fffff)));
7849     x29 = (x4 & UINT32_C(0x7fffff));
7850     x30 = (x5 & UINT32_C(0x3fffff));
7851     x31 = (x6 & UINT32_C(0x3fffff));
7852     x32 = (x7 & UINT32_C(0x3fffff));
7853     x33 = (x8 & UINT32_C(0x7fffff));
7854     x34 = (x9 & UINT32_C(0x3fffff));
7855     x35 = (x10 & UINT32_C(0x3fffff));
7856     x36 = (x11 & UINT32_C(0x3fffff));
7857     x37 = (x12 & UINT32_C(0x7fffff));
7858     x38 = (x13 & UINT32_C(0x3fffff));
7859     x39 = (x14 & UINT32_C(0x3fffff));
7860     x40 = (x15 & UINT32_C(0x3fffff));
7861     x41 = (x16 & UINT32_C(0x7fffff));
7862     x42 = (x17 & UINT32_C(0x3fffff));
7863     x43 = (x18 & UINT32_C(0x3fffff));
7864     x44 = (x19 & UINT32_C(0x3fffff));
7865     x45 = (x20 & UINT32_C(0x7fffff));
7866     x46 = (x21 & UINT32_C(0x3fffff));
7867     x47 = (x22 & UINT32_C(0x3fffff));
7868     x48 = (x23 & UINT32_C(0x3fffff));
7869     out1[0] = x26;
7870     out1[1] = x27;
7871     out1[2] = x28;
7872     out1[3] = x29;
7873     out1[4] = x30;
7874     out1[5] = x31;
7875     out1[6] = x32;
7876     out1[7] = x33;
7877     out1[8] = x34;
7878     out1[9] = x35;
7879     out1[10] = x36;
7880     out1[11] = x37;
7881     out1[12] = x38;
7882     out1[13] = x39;
7883     out1[14] = x40;
7884     out1[15] = x41;
7885     out1[16] = x42;
7886     out1[17] = x43;
7887     out1[18] = x44;
7888     out1[19] = x45;
7889     out1[20] = x46;
7890     out1[21] = x47;
7891     out1[22] = x48;
7892 }
7893
7894 /*
7895  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_add adds two field elements.
7896  * Postconditions:
7897  *   eval out1 mod m = (eval arg1 + eval arg2) mod m
7898  *
7899  * Input Bounds:
7900  *   arg1: [[0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000]]
7901  *   arg2: [[0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000]]
7902  * Output Bounds:
7903  *   out1: [[0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000]]
7904  */
7905 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_add(
7906     uint32_t out1[23], const uint32_t arg1[23], const uint32_t arg2[23]) {
7907     uint32_t x1;
7908     uint32_t x2;
7909     uint32_t x3;
7910     uint32_t x4;
7911     uint32_t x5;
7912     uint32_t x6;
7913     uint32_t x7;
7914     uint32_t x8;
7915     uint32_t x9;
7916     uint32_t x10;
7917     uint32_t x11;
7918     uint32_t x12;
7919     uint32_t x13;
7920     uint32_t x14;
7921     uint32_t x15;
7922     uint32_t x16;
7923     uint32_t x17;
7924     uint32_t x18;
7925     uint32_t x19;
7926     uint32_t x20;
7927     uint32_t x21;
7928     uint32_t x22;
7929     uint32_t x23;
7930     x1 = ((arg1[0]) + (arg2[0]));
7931     x2 = ((arg1[1]) + (arg2[1]));
7932     x3 = ((arg1[2]) + (arg2[2]));
7933     x4 = ((arg1[3]) + (arg2[3]));
7934     x5 = ((arg1[4]) + (arg2[4]));
7935     x6 = ((arg1[5]) + (arg2[5]));
7936     x7 = ((arg1[6]) + (arg2[6]));
7937     x8 = ((arg1[7]) + (arg2[7]));
7938     x9 = ((arg1[8]) + (arg2[8]));
7939     x10 = ((arg1[9]) + (arg2[9]));
7940     x11 = ((arg1[10]) + (arg2[10]));
7941     x12 = ((arg1[11]) + (arg2[11]));
7942     x13 = ((arg1[12]) + (arg2[12]));
7943     x14 = ((arg1[13]) + (arg2[13]));
7944     x15 = ((arg1[14]) + (arg2[14]));
7945     x16 = ((arg1[15]) + (arg2[15]));
7946     x17 = ((arg1[16]) + (arg2[16]));
7947     x18 = ((arg1[17]) + (arg2[17]));
7948     x19 = ((arg1[18]) + (arg2[18]));
7949     x20 = ((arg1[19]) + (arg2[19]));
7950     x21 = ((arg1[20]) + (arg2[20]));
7951     x22 = ((arg1[21]) + (arg2[21]));
7952     x23 = ((arg1[22]) + (arg2[22]));
7953     out1[0] = x1;
7954     out1[1] = x2;
7955     out1[2] = x3;
7956     out1[3] = x4;
7957     out1[4] = x5;
7958     out1[5] = x6;
7959     out1[6] = x7;
7960     out1[7] = x8;
7961     out1[8] = x9;
7962     out1[9] = x10;
7963     out1[10] = x11;
7964     out1[11] = x12;
7965     out1[12] = x13;
7966     out1[13] = x14;
7967     out1[14] = x15;
7968     out1[15] = x16;
7969     out1[16] = x17;
7970     out1[17] = x18;
7971     out1[18] = x19;
7972     out1[19] = x20;
7973     out1[20] = x21;
7974     out1[21] = x22;
7975     out1[22] = x23;
7976 }
7977
7978 /*
7979  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_sub subtracts two field elements.
7980  * Postconditions:
7981  *   eval out1 mod m = (eval arg1 - eval arg2) mod m
7982  *
7983  * Input Bounds:
7984  *   arg1: [[0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000]]
7985  *   arg2: [[0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000]]
7986  * Output Bounds:
7987  *   out1: [[0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000]]
7988  */
7989 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_sub(
7990     uint32_t out1[23], const uint32_t arg1[23], const uint32_t arg2[23]) {
7991     uint32_t x1;
7992     uint32_t x2;
7993     uint32_t x3;
7994     uint32_t x4;
7995     uint32_t x5;
7996     uint32_t x6;
7997     uint32_t x7;
7998     uint32_t x8;
7999     uint32_t x9;
8000     uint32_t x10;
8001     uint32_t x11;
8002     uint32_t x12;
8003     uint32_t x13;
8004     uint32_t x14;
8005     uint32_t x15;
8006     uint32_t x16;
8007     uint32_t x17;
8008     uint32_t x18;
8009     uint32_t x19;
8010     uint32_t x20;
8011     uint32_t x21;
8012     uint32_t x22;
8013     uint32_t x23;
8014     x1 = ((UINT32_C(0xfffb8e) + (arg1[0])) - (arg2[0]));
8015     x2 = ((UINT32_C(0x7ffffe) + (arg1[1])) - (arg2[1]));
8016     x3 = ((UINT32_C(0x7ffffe) + (arg1[2])) - (arg2[2]));
8017     x4 = ((UINT32_C(0xfffffe) + (arg1[3])) - (arg2[3]));
8018     x5 = ((UINT32_C(0x7ffffe) + (arg1[4])) - (arg2[4]));
8019     x6 = ((UINT32_C(0x7ffffe) + (arg1[5])) - (arg2[5]));
8020     x7 = ((UINT32_C(0x7ffffe) + (arg1[6])) - (arg2[6]));
8021     x8 = ((UINT32_C(0xfffffe) + (arg1[7])) - (arg2[7]));
8022     x9 = ((UINT32_C(0x7ffffe) + (arg1[8])) - (arg2[8]));
8023     x10 = ((UINT32_C(0x7ffffe) + (arg1[9])) - (arg2[9]));
8024     x11 = ((UINT32_C(0x7ffffe) + (arg1[10])) - (arg2[10]));
8025     x12 = ((UINT32_C(0xfffffe) + (arg1[11])) - (arg2[11]));
8026     x13 = ((UINT32_C(0x7ffffe) + (arg1[12])) - (arg2[12]));
8027     x14 = ((UINT32_C(0x7ffffe) + (arg1[13])) - (arg2[13]));
8028     x15 = ((UINT32_C(0x7ffffe) + (arg1[14])) - (arg2[14]));
8029     x16 = ((UINT32_C(0xfffffe) + (arg1[15])) - (arg2[15]));
8030     x17 = ((UINT32_C(0x7ffffe) + (arg1[16])) - (arg2[16]));
8031     x18 = ((UINT32_C(0x7ffffe) + (arg1[17])) - (arg2[17]));
8032     x19 = ((UINT32_C(0x7ffffe) + (arg1[18])) - (arg2[18]));
8033     x20 = ((UINT32_C(0xfffffe) + (arg1[19])) - (arg2[19]));
8034     x21 = ((UINT32_C(0x7ffffe) + (arg1[20])) - (arg2[20]));
8035     x22 = ((UINT32_C(0x7ffffe) + (arg1[21])) - (arg2[21]));
8036     x23 = ((UINT32_C(0x7ffffe) + (arg1[22])) - (arg2[22]));
8037     out1[0] = x1;
8038     out1[1] = x2;
8039     out1[2] = x3;
8040     out1[3] = x4;
8041     out1[4] = x5;
8042     out1[5] = x6;
8043     out1[6] = x7;
8044     out1[7] = x8;
8045     out1[8] = x9;
8046     out1[9] = x10;
8047     out1[10] = x11;
8048     out1[11] = x12;
8049     out1[12] = x13;
8050     out1[13] = x14;
8051     out1[14] = x15;
8052     out1[15] = x16;
8053     out1[16] = x17;
8054     out1[17] = x18;
8055     out1[18] = x19;
8056     out1[19] = x20;
8057     out1[20] = x21;
8058     out1[21] = x22;
8059     out1[22] = x23;
8060 }
8061
8062 /*
8063  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_opp negates a field element.
8064  * Postconditions:
8065  *   eval out1 mod m = -eval arg1 mod m
8066  *
8067  * Input Bounds:
8068  *   arg1: [[0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000]]
8069  * Output Bounds:
8070  *   out1: [[0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0x1800000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000], [0x0 ~> 0xc00000]]
8071  */
8072 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(
8073     uint32_t out1[23], const uint32_t arg1[23]) {
8074     uint32_t x1;
8075     uint32_t x2;
8076     uint32_t x3;
8077     uint32_t x4;
8078     uint32_t x5;
8079     uint32_t x6;
8080     uint32_t x7;
8081     uint32_t x8;
8082     uint32_t x9;
8083     uint32_t x10;
8084     uint32_t x11;
8085     uint32_t x12;
8086     uint32_t x13;
8087     uint32_t x14;
8088     uint32_t x15;
8089     uint32_t x16;
8090     uint32_t x17;
8091     uint32_t x18;
8092     uint32_t x19;
8093     uint32_t x20;
8094     uint32_t x21;
8095     uint32_t x22;
8096     uint32_t x23;
8097     x1 = (UINT32_C(0xfffb8e) - (arg1[0]));
8098     x2 = (UINT32_C(0x7ffffe) - (arg1[1]));
8099     x3 = (UINT32_C(0x7ffffe) - (arg1[2]));
8100     x4 = (UINT32_C(0xfffffe) - (arg1[3]));
8101     x5 = (UINT32_C(0x7ffffe) - (arg1[4]));
8102     x6 = (UINT32_C(0x7ffffe) - (arg1[5]));
8103     x7 = (UINT32_C(0x7ffffe) - (arg1[6]));
8104     x8 = (UINT32_C(0xfffffe) - (arg1[7]));
8105     x9 = (UINT32_C(0x7ffffe) - (arg1[8]));
8106     x10 = (UINT32_C(0x7ffffe) - (arg1[9]));
8107     x11 = (UINT32_C(0x7ffffe) - (arg1[10]));
8108     x12 = (UINT32_C(0xfffffe) - (arg1[11]));
8109     x13 = (UINT32_C(0x7ffffe) - (arg1[12]));
8110     x14 = (UINT32_C(0x7ffffe) - (arg1[13]));
8111     x15 = (UINT32_C(0x7ffffe) - (arg1[14]));
8112     x16 = (UINT32_C(0xfffffe) - (arg1[15]));
8113     x17 = (UINT32_C(0x7ffffe) - (arg1[16]));
8114     x18 = (UINT32_C(0x7ffffe) - (arg1[17]));
8115     x19 = (UINT32_C(0x7ffffe) - (arg1[18]));
8116     x20 = (UINT32_C(0xfffffe) - (arg1[19]));
8117     x21 = (UINT32_C(0x7ffffe) - (arg1[20]));
8118     x22 = (UINT32_C(0x7ffffe) - (arg1[21]));
8119     x23 = (UINT32_C(0x7ffffe) - (arg1[22]));
8120     out1[0] = x1;
8121     out1[1] = x2;
8122     out1[2] = x3;
8123     out1[3] = x4;
8124     out1[4] = x5;
8125     out1[5] = x6;
8126     out1[6] = x7;
8127     out1[7] = x8;
8128     out1[8] = x9;
8129     out1[9] = x10;
8130     out1[10] = x11;
8131     out1[11] = x12;
8132     out1[12] = x13;
8133     out1[13] = x14;
8134     out1[14] = x15;
8135     out1[15] = x16;
8136     out1[16] = x17;
8137     out1[17] = x18;
8138     out1[18] = x19;
8139     out1[19] = x20;
8140     out1[20] = x21;
8141     out1[21] = x22;
8142     out1[22] = x23;
8143 }
8144
8145 /*
8146  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz is a multi-limb conditional select.
8147  * Postconditions:
8148  *   eval out1 = (if arg1 = 0 then eval arg2 else eval arg3)
8149  *
8150  * Input Bounds:
8151  *   arg1: [0x0 ~> 0x1]
8152  *   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]]
8153  *   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]]
8154  * Output Bounds:
8155  *   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]]
8156  */
8157 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
8158     uint32_t out1[23], fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1,
8159     const uint32_t arg2[23], const uint32_t arg3[23]) {
8160     uint32_t x1;
8161     uint32_t x2;
8162     uint32_t x3;
8163     uint32_t x4;
8164     uint32_t x5;
8165     uint32_t x6;
8166     uint32_t x7;
8167     uint32_t x8;
8168     uint32_t x9;
8169     uint32_t x10;
8170     uint32_t x11;
8171     uint32_t x12;
8172     uint32_t x13;
8173     uint32_t x14;
8174     uint32_t x15;
8175     uint32_t x16;
8176     uint32_t x17;
8177     uint32_t x18;
8178     uint32_t x19;
8179     uint32_t x20;
8180     uint32_t x21;
8181     uint32_t x22;
8182     uint32_t x23;
8183     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(&x1, arg1, (arg2[0]),
8184                                                           (arg3[0]));
8185     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(&x2, arg1, (arg2[1]),
8186                                                           (arg3[1]));
8187     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(&x3, arg1, (arg2[2]),
8188                                                           (arg3[2]));
8189     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(&x4, arg1, (arg2[3]),
8190                                                           (arg3[3]));
8191     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(&x5, arg1, (arg2[4]),
8192                                                           (arg3[4]));
8193     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(&x6, arg1, (arg2[5]),
8194                                                           (arg3[5]));
8195     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(&x7, arg1, (arg2[6]),
8196                                                           (arg3[6]));
8197     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(&x8, arg1, (arg2[7]),
8198                                                           (arg3[7]));
8199     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(&x9, arg1, (arg2[8]),
8200                                                           (arg3[8]));
8201     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(&x10, arg1, (arg2[9]),
8202                                                           (arg3[9]));
8203     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
8204         &x11, arg1, (arg2[10]), (arg3[10]));
8205     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
8206         &x12, arg1, (arg2[11]), (arg3[11]));
8207     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
8208         &x13, arg1, (arg2[12]), (arg3[12]));
8209     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
8210         &x14, arg1, (arg2[13]), (arg3[13]));
8211     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
8212         &x15, arg1, (arg2[14]), (arg3[14]));
8213     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
8214         &x16, arg1, (arg2[15]), (arg3[15]));
8215     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
8216         &x17, arg1, (arg2[16]), (arg3[16]));
8217     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
8218         &x18, arg1, (arg2[17]), (arg3[17]));
8219     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
8220         &x19, arg1, (arg2[18]), (arg3[18]));
8221     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
8222         &x20, arg1, (arg2[19]), (arg3[19]));
8223     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
8224         &x21, arg1, (arg2[20]), (arg3[20]));
8225     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
8226         &x22, arg1, (arg2[21]), (arg3[21]));
8227     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
8228         &x23, arg1, (arg2[22]), (arg3[22]));
8229     out1[0] = x1;
8230     out1[1] = x2;
8231     out1[2] = x3;
8232     out1[3] = x4;
8233     out1[4] = x5;
8234     out1[5] = x6;
8235     out1[6] = x7;
8236     out1[7] = x8;
8237     out1[8] = x9;
8238     out1[9] = x10;
8239     out1[10] = x11;
8240     out1[11] = x12;
8241     out1[12] = x13;
8242     out1[13] = x14;
8243     out1[14] = x15;
8244     out1[15] = x16;
8245     out1[16] = x17;
8246     out1[17] = x18;
8247     out1[18] = x19;
8248     out1[19] = x20;
8249     out1[20] = x21;
8250     out1[21] = x22;
8251     out1[22] = x23;
8252 }
8253
8254 /*
8255  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes serializes a field element to bytes in little-endian order.
8256  * Postconditions:
8257  *   out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..63]
8258  *
8259  * Input Bounds:
8260  *   arg1: [[0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000]]
8261  * Output Bounds:
8262  *   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]]
8263  */
8264 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(
8265     uint8_t out1[64], const uint32_t arg1[23]) {
8266     uint32_t x1;
8267     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x2;
8268     uint32_t x3;
8269     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x4;
8270     uint32_t x5;
8271     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x6;
8272     uint32_t x7;
8273     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x8;
8274     uint32_t x9;
8275     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x10;
8276     uint32_t x11;
8277     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x12;
8278     uint32_t x13;
8279     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x14;
8280     uint32_t x15;
8281     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x16;
8282     uint32_t x17;
8283     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x18;
8284     uint32_t x19;
8285     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x20;
8286     uint32_t x21;
8287     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x22;
8288     uint32_t x23;
8289     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x24;
8290     uint32_t x25;
8291     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x26;
8292     uint32_t x27;
8293     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x28;
8294     uint32_t x29;
8295     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x30;
8296     uint32_t x31;
8297     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x32;
8298     uint32_t x33;
8299     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x34;
8300     uint32_t x35;
8301     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x36;
8302     uint32_t x37;
8303     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x38;
8304     uint32_t x39;
8305     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x40;
8306     uint32_t x41;
8307     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x42;
8308     uint32_t x43;
8309     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x44;
8310     uint32_t x45;
8311     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x46;
8312     uint32_t x47;
8313     uint32_t x48;
8314     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x49;
8315     uint32_t x50;
8316     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x51;
8317     uint32_t x52;
8318     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x53;
8319     uint32_t x54;
8320     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x55;
8321     uint32_t x56;
8322     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x57;
8323     uint32_t x58;
8324     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x59;
8325     uint32_t x60;
8326     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x61;
8327     uint32_t x62;
8328     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x63;
8329     uint32_t x64;
8330     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x65;
8331     uint32_t x66;
8332     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x67;
8333     uint32_t x68;
8334     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x69;
8335     uint32_t x70;
8336     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x71;
8337     uint32_t x72;
8338     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x73;
8339     uint32_t x74;
8340     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x75;
8341     uint32_t x76;
8342     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x77;
8343     uint32_t x78;
8344     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x79;
8345     uint32_t x80;
8346     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x81;
8347     uint32_t x82;
8348     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x83;
8349     uint32_t x84;
8350     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x85;
8351     uint32_t x86;
8352     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x87;
8353     uint32_t x88;
8354     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x89;
8355     uint32_t x90;
8356     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x91;
8357     uint32_t x92;
8358     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x93;
8359     uint32_t x94;
8360     uint32_t x95;
8361     uint32_t x96;
8362     uint32_t x97;
8363     uint32_t x98;
8364     uint32_t x99;
8365     uint32_t x100;
8366     uint32_t x101;
8367     uint32_t x102;
8368     uint32_t x103;
8369     uint32_t x104;
8370     uint32_t x105;
8371     uint32_t x106;
8372     uint32_t x107;
8373     uint32_t x108;
8374     uint32_t x109;
8375     uint32_t x110;
8376     uint32_t x111;
8377     uint32_t x112;
8378     uint32_t x113;
8379     uint8_t x114;
8380     uint32_t x115;
8381     uint8_t x116;
8382     uint8_t x117;
8383     uint32_t x118;
8384     uint8_t x119;
8385     uint32_t x120;
8386     uint8_t x121;
8387     uint32_t x122;
8388     uint8_t x123;
8389     uint8_t x124;
8390     uint32_t x125;
8391     uint8_t x126;
8392     uint32_t x127;
8393     uint8_t x128;
8394     uint32_t x129;
8395     uint8_t x130;
8396     uint8_t x131;
8397     uint32_t x132;
8398     uint8_t x133;
8399     uint32_t x134;
8400     uint8_t x135;
8401     uint32_t x136;
8402     uint8_t x137;
8403     uint8_t x138;
8404     uint32_t x139;
8405     uint8_t x140;
8406     uint32_t x141;
8407     uint8_t x142;
8408     uint8_t x143;
8409     uint8_t x144;
8410     uint32_t x145;
8411     uint8_t x146;
8412     uint8_t x147;
8413     uint32_t x148;
8414     uint8_t x149;
8415     uint32_t x150;
8416     uint8_t x151;
8417     uint32_t x152;
8418     uint8_t x153;
8419     uint8_t x154;
8420     uint32_t x155;
8421     uint8_t x156;
8422     uint32_t x157;
8423     uint8_t x158;
8424     uint32_t x159;
8425     uint8_t x160;
8426     uint8_t x161;
8427     uint32_t x162;
8428     uint8_t x163;
8429     uint32_t x164;
8430     uint8_t x165;
8431     uint32_t x166;
8432     uint8_t x167;
8433     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x168;
8434     uint32_t x169;
8435     uint8_t x170;
8436     uint32_t x171;
8437     uint8_t x172;
8438     uint8_t x173;
8439     uint32_t x174;
8440     uint8_t x175;
8441     uint32_t x176;
8442     uint8_t x177;
8443     uint32_t x178;
8444     uint8_t x179;
8445     uint8_t x180;
8446     uint32_t x181;
8447     uint8_t x182;
8448     uint32_t x183;
8449     uint8_t x184;
8450     uint32_t x185;
8451     uint8_t x186;
8452     uint8_t x187;
8453     uint32_t x188;
8454     uint8_t x189;
8455     uint32_t x190;
8456     uint8_t x191;
8457     uint32_t x192;
8458     uint8_t x193;
8459     uint8_t x194;
8460     uint32_t x195;
8461     uint8_t x196;
8462     uint32_t x197;
8463     uint8_t x198;
8464     uint8_t x199;
8465     uint8_t x200;
8466     uint32_t x201;
8467     uint8_t x202;
8468     uint8_t x203;
8469     uint32_t x204;
8470     uint8_t x205;
8471     uint32_t x206;
8472     uint8_t x207;
8473     uint32_t x208;
8474     uint8_t x209;
8475     uint8_t x210;
8476     uint32_t x211;
8477     uint8_t x212;
8478     uint32_t x213;
8479     uint8_t x214;
8480     uint32_t x215;
8481     uint8_t x216;
8482     uint8_t x217;
8483     uint32_t x218;
8484     uint8_t x219;
8485     uint32_t x220;
8486     uint8_t x221;
8487     uint32_t x222;
8488     uint8_t x223;
8489     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x224;
8490     uint32_t x225;
8491     uint8_t x226;
8492     uint32_t x227;
8493     uint8_t x228;
8494     uint8_t x229;
8495     uint32_t x230;
8496     uint8_t x231;
8497     uint32_t x232;
8498     uint8_t x233;
8499     uint32_t x234;
8500     uint8_t x235;
8501     uint8_t x236;
8502     uint32_t x237;
8503     uint8_t x238;
8504     uint32_t x239;
8505     uint8_t x240;
8506     uint32_t x241;
8507     uint8_t x242;
8508     uint8_t x243;
8509     uint32_t x244;
8510     uint8_t x245;
8511     uint32_t x246;
8512     uint8_t x247;
8513     uint32_t x248;
8514     uint8_t x249;
8515     uint8_t x250;
8516     uint32_t x251;
8517     uint8_t x252;
8518     uint32_t x253;
8519     uint8_t x254;
8520     uint8_t x255;
8521     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u23(
8522         &x1, &x2, 0x0, (arg1[0]), UINT32_C(0x7ffdc7));
8523     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8524         &x3, &x4, x2, (arg1[1]), UINT32_C(0x3fffff));
8525     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8526         &x5, &x6, x4, (arg1[2]), UINT32_C(0x3fffff));
8527     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u23(
8528         &x7, &x8, x6, (arg1[3]), UINT32_C(0x7fffff));
8529     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8530         &x9, &x10, x8, (arg1[4]), UINT32_C(0x3fffff));
8531     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8532         &x11, &x12, x10, (arg1[5]), UINT32_C(0x3fffff));
8533     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8534         &x13, &x14, x12, (arg1[6]), UINT32_C(0x3fffff));
8535     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u23(
8536         &x15, &x16, x14, (arg1[7]), UINT32_C(0x7fffff));
8537     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8538         &x17, &x18, x16, (arg1[8]), UINT32_C(0x3fffff));
8539     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8540         &x19, &x20, x18, (arg1[9]), UINT32_C(0x3fffff));
8541     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8542         &x21, &x22, x20, (arg1[10]), UINT32_C(0x3fffff));
8543     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u23(
8544         &x23, &x24, x22, (arg1[11]), UINT32_C(0x7fffff));
8545     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8546         &x25, &x26, x24, (arg1[12]), UINT32_C(0x3fffff));
8547     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8548         &x27, &x28, x26, (arg1[13]), UINT32_C(0x3fffff));
8549     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8550         &x29, &x30, x28, (arg1[14]), UINT32_C(0x3fffff));
8551     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u23(
8552         &x31, &x32, x30, (arg1[15]), UINT32_C(0x7fffff));
8553     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8554         &x33, &x34, x32, (arg1[16]), UINT32_C(0x3fffff));
8555     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8556         &x35, &x36, x34, (arg1[17]), UINT32_C(0x3fffff));
8557     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8558         &x37, &x38, x36, (arg1[18]), UINT32_C(0x3fffff));
8559     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u23(
8560         &x39, &x40, x38, (arg1[19]), UINT32_C(0x7fffff));
8561     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8562         &x41, &x42, x40, (arg1[20]), UINT32_C(0x3fffff));
8563     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8564         &x43, &x44, x42, (arg1[21]), UINT32_C(0x3fffff));
8565     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8566         &x45, &x46, x44, (arg1[22]), UINT32_C(0x3fffff));
8567     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(&x47, x46, 0x0,
8568                                                           UINT32_C(0xffffffff));
8569     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u23(
8570         &x48, &x49, 0x0, x1, (x47 & UINT32_C(0x7ffdc7)));
8571     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8572         &x50, &x51, x49, x3, (x47 & UINT32_C(0x3fffff)));
8573     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8574         &x52, &x53, x51, x5, (x47 & UINT32_C(0x3fffff)));
8575     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u23(
8576         &x54, &x55, x53, x7, (x47 & UINT32_C(0x7fffff)));
8577     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8578         &x56, &x57, x55, x9, (x47 & UINT32_C(0x3fffff)));
8579     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8580         &x58, &x59, x57, x11, (x47 & UINT32_C(0x3fffff)));
8581     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8582         &x60, &x61, x59, x13, (x47 & UINT32_C(0x3fffff)));
8583     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u23(
8584         &x62, &x63, x61, x15, (x47 & UINT32_C(0x7fffff)));
8585     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8586         &x64, &x65, x63, x17, (x47 & UINT32_C(0x3fffff)));
8587     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8588         &x66, &x67, x65, x19, (x47 & UINT32_C(0x3fffff)));
8589     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8590         &x68, &x69, x67, x21, (x47 & UINT32_C(0x3fffff)));
8591     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u23(
8592         &x70, &x71, x69, x23, (x47 & UINT32_C(0x7fffff)));
8593     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8594         &x72, &x73, x71, x25, (x47 & UINT32_C(0x3fffff)));
8595     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8596         &x74, &x75, x73, x27, (x47 & UINT32_C(0x3fffff)));
8597     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8598         &x76, &x77, x75, x29, (x47 & UINT32_C(0x3fffff)));
8599     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u23(
8600         &x78, &x79, x77, x31, (x47 & UINT32_C(0x7fffff)));
8601     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8602         &x80, &x81, x79, x33, (x47 & UINT32_C(0x3fffff)));
8603     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8604         &x82, &x83, x81, x35, (x47 & UINT32_C(0x3fffff)));
8605     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8606         &x84, &x85, x83, x37, (x47 & UINT32_C(0x3fffff)));
8607     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u23(
8608         &x86, &x87, x85, x39, (x47 & UINT32_C(0x7fffff)));
8609     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8610         &x88, &x89, x87, x41, (x47 & UINT32_C(0x3fffff)));
8611     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8612         &x90, &x91, x89, x43, (x47 & UINT32_C(0x3fffff)));
8613     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8614         &x92, &x93, x91, x45, (x47 & UINT32_C(0x3fffff)));
8615     x94 = (x92 << 2);
8616     x95 = (x90 << 4);
8617     x96 = (x88 << 6);
8618     x97 = (x86 << 7);
8619     x98 = (x84 * (uint32_t)0x2);
8620     x99 = (x82 << 3);
8621     x100 = (x80 << 5);
8622     x101 = (x78 << 6);
8623     x102 = (x74 << 2);
8624     x103 = (x72 << 4);
8625     x104 = (x70 << 5);
8626     x105 = (x68 << 7);
8627     x106 = (x66 * (uint32_t)0x2);
8628     x107 = (x64 << 3);
8629     x108 = (x62 << 4);
8630     x109 = (x60 << 6);
8631     x110 = (x56 << 2);
8632     x111 = (x54 << 3);
8633     x112 = (x52 << 5);
8634     x113 = (x50 << 7);
8635     x114 = (uint8_t)(x48 & UINT8_C(0xff));
8636     x115 = (x48 >> 8);
8637     x116 = (uint8_t)(x115 & UINT8_C(0xff));
8638     x117 = (uint8_t)(x115 >> 8);
8639     x118 = (x113 + (uint32_t)x117);
8640     x119 = (uint8_t)(x118 & UINT8_C(0xff));
8641     x120 = (x118 >> 8);
8642     x121 = (uint8_t)(x120 & UINT8_C(0xff));
8643     x122 = (x120 >> 8);
8644     x123 = (uint8_t)(x122 & UINT8_C(0xff));
8645     x124 = (uint8_t)(x122 >> 8);
8646     x125 = (x112 + (uint32_t)x124);
8647     x126 = (uint8_t)(x125 & UINT8_C(0xff));
8648     x127 = (x125 >> 8);
8649     x128 = (uint8_t)(x127 & UINT8_C(0xff));
8650     x129 = (x127 >> 8);
8651     x130 = (uint8_t)(x129 & UINT8_C(0xff));
8652     x131 = (uint8_t)(x129 >> 8);
8653     x132 = (x111 + (uint32_t)x131);
8654     x133 = (uint8_t)(x132 & UINT8_C(0xff));
8655     x134 = (x132 >> 8);
8656     x135 = (uint8_t)(x134 & UINT8_C(0xff));
8657     x136 = (x134 >> 8);
8658     x137 = (uint8_t)(x136 & UINT8_C(0xff));
8659     x138 = (uint8_t)(x136 >> 8);
8660     x139 = (x110 + (uint32_t)x138);
8661     x140 = (uint8_t)(x139 & UINT8_C(0xff));
8662     x141 = (x139 >> 8);
8663     x142 = (uint8_t)(x141 & UINT8_C(0xff));
8664     x143 = (uint8_t)(x141 >> 8);
8665     x144 = (uint8_t)(x58 & UINT8_C(0xff));
8666     x145 = (x58 >> 8);
8667     x146 = (uint8_t)(x145 & UINT8_C(0xff));
8668     x147 = (uint8_t)(x145 >> 8);
8669     x148 = (x109 + (uint32_t)x147);
8670     x149 = (uint8_t)(x148 & UINT8_C(0xff));
8671     x150 = (x148 >> 8);
8672     x151 = (uint8_t)(x150 & UINT8_C(0xff));
8673     x152 = (x150 >> 8);
8674     x153 = (uint8_t)(x152 & UINT8_C(0xff));
8675     x154 = (uint8_t)(x152 >> 8);
8676     x155 = (x108 + (uint32_t)x154);
8677     x156 = (uint8_t)(x155 & UINT8_C(0xff));
8678     x157 = (x155 >> 8);
8679     x158 = (uint8_t)(x157 & UINT8_C(0xff));
8680     x159 = (x157 >> 8);
8681     x160 = (uint8_t)(x159 & UINT8_C(0xff));
8682     x161 = (uint8_t)(x159 >> 8);
8683     x162 = (x107 + (uint32_t)x161);
8684     x163 = (uint8_t)(x162 & UINT8_C(0xff));
8685     x164 = (x162 >> 8);
8686     x165 = (uint8_t)(x164 & UINT8_C(0xff));
8687     x166 = (x164 >> 8);
8688     x167 = (uint8_t)(x166 & UINT8_C(0xff));
8689     x168 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x166 >> 8);
8690     x169 = (x106 + (uint32_t)x168);
8691     x170 = (uint8_t)(x169 & UINT8_C(0xff));
8692     x171 = (x169 >> 8);
8693     x172 = (uint8_t)(x171 & UINT8_C(0xff));
8694     x173 = (uint8_t)(x171 >> 8);
8695     x174 = (x105 + (uint32_t)x173);
8696     x175 = (uint8_t)(x174 & UINT8_C(0xff));
8697     x176 = (x174 >> 8);
8698     x177 = (uint8_t)(x176 & UINT8_C(0xff));
8699     x178 = (x176 >> 8);
8700     x179 = (uint8_t)(x178 & UINT8_C(0xff));
8701     x180 = (uint8_t)(x178 >> 8);
8702     x181 = (x104 + (uint32_t)x180);
8703     x182 = (uint8_t)(x181 & UINT8_C(0xff));
8704     x183 = (x181 >> 8);
8705     x184 = (uint8_t)(x183 & UINT8_C(0xff));
8706     x185 = (x183 >> 8);
8707     x186 = (uint8_t)(x185 & UINT8_C(0xff));
8708     x187 = (uint8_t)(x185 >> 8);
8709     x188 = (x103 + (uint32_t)x187);
8710     x189 = (uint8_t)(x188 & UINT8_C(0xff));
8711     x190 = (x188 >> 8);
8712     x191 = (uint8_t)(x190 & UINT8_C(0xff));
8713     x192 = (x190 >> 8);
8714     x193 = (uint8_t)(x192 & UINT8_C(0xff));
8715     x194 = (uint8_t)(x192 >> 8);
8716     x195 = (x102 + (uint32_t)x194);
8717     x196 = (uint8_t)(x195 & UINT8_C(0xff));
8718     x197 = (x195 >> 8);
8719     x198 = (uint8_t)(x197 & UINT8_C(0xff));
8720     x199 = (uint8_t)(x197 >> 8);
8721     x200 = (uint8_t)(x76 & UINT8_C(0xff));
8722     x201 = (x76 >> 8);
8723     x202 = (uint8_t)(x201 & UINT8_C(0xff));
8724     x203 = (uint8_t)(x201 >> 8);
8725     x204 = (x101 + (uint32_t)x203);
8726     x205 = (uint8_t)(x204 & UINT8_C(0xff));
8727     x206 = (x204 >> 8);
8728     x207 = (uint8_t)(x206 & UINT8_C(0xff));
8729     x208 = (x206 >> 8);
8730     x209 = (uint8_t)(x208 & UINT8_C(0xff));
8731     x210 = (uint8_t)(x208 >> 8);
8732     x211 = (x100 + (uint32_t)x210);
8733     x212 = (uint8_t)(x211 & UINT8_C(0xff));
8734     x213 = (x211 >> 8);
8735     x214 = (uint8_t)(x213 & UINT8_C(0xff));
8736     x215 = (x213 >> 8);
8737     x216 = (uint8_t)(x215 & UINT8_C(0xff));
8738     x217 = (uint8_t)(x215 >> 8);
8739     x218 = (x99 + (uint32_t)x217);
8740     x219 = (uint8_t)(x218 & UINT8_C(0xff));
8741     x220 = (x218 >> 8);
8742     x221 = (uint8_t)(x220 & UINT8_C(0xff));
8743     x222 = (x220 >> 8);
8744     x223 = (uint8_t)(x222 & UINT8_C(0xff));
8745     x224 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x222 >> 8);
8746     x225 = (x98 + (uint32_t)x224);
8747     x226 = (uint8_t)(x225 & UINT8_C(0xff));
8748     x227 = (x225 >> 8);
8749     x228 = (uint8_t)(x227 & UINT8_C(0xff));
8750     x229 = (uint8_t)(x227 >> 8);
8751     x230 = (x97 + (uint32_t)x229);
8752     x231 = (uint8_t)(x230 & UINT8_C(0xff));
8753     x232 = (x230 >> 8);
8754     x233 = (uint8_t)(x232 & UINT8_C(0xff));
8755     x234 = (x232 >> 8);
8756     x235 = (uint8_t)(x234 & UINT8_C(0xff));
8757     x236 = (uint8_t)(x234 >> 8);
8758     x237 = (x96 + (uint32_t)x236);
8759     x238 = (uint8_t)(x237 & UINT8_C(0xff));
8760     x239 = (x237 >> 8);
8761     x240 = (uint8_t)(x239 & UINT8_C(0xff));
8762     x241 = (x239 >> 8);
8763     x242 = (uint8_t)(x241 & UINT8_C(0xff));
8764     x243 = (uint8_t)(x241 >> 8);
8765     x244 = (x95 + (uint32_t)x243);
8766     x245 = (uint8_t)(x244 & UINT8_C(0xff));
8767     x246 = (x244 >> 8);
8768     x247 = (uint8_t)(x246 & UINT8_C(0xff));
8769     x248 = (x246 >> 8);
8770     x249 = (uint8_t)(x248 & UINT8_C(0xff));
8771     x250 = (uint8_t)(x248 >> 8);
8772     x251 = (x94 + (uint32_t)x250);
8773     x252 = (uint8_t)(x251 & UINT8_C(0xff));
8774     x253 = (x251 >> 8);
8775     x254 = (uint8_t)(x253 & UINT8_C(0xff));
8776     x255 = (uint8_t)(x253 >> 8);
8777     out1[0] = x114;
8778     out1[1] = x116;
8779     out1[2] = x119;
8780     out1[3] = x121;
8781     out1[4] = x123;
8782     out1[5] = x126;
8783     out1[6] = x128;
8784     out1[7] = x130;
8785     out1[8] = x133;
8786     out1[9] = x135;
8787     out1[10] = x137;
8788     out1[11] = x140;
8789     out1[12] = x142;
8790     out1[13] = x143;
8791     out1[14] = x144;
8792     out1[15] = x146;
8793     out1[16] = x149;
8794     out1[17] = x151;
8795     out1[18] = x153;
8796     out1[19] = x156;
8797     out1[20] = x158;
8798     out1[21] = x160;
8799     out1[22] = x163;
8800     out1[23] = x165;
8801     out1[24] = x167;
8802     out1[25] = x170;
8803     out1[26] = x172;
8804     out1[27] = x175;
8805     out1[28] = x177;
8806     out1[29] = x179;
8807     out1[30] = x182;
8808     out1[31] = x184;
8809     out1[32] = x186;
8810     out1[33] = x189;
8811     out1[34] = x191;
8812     out1[35] = x193;
8813     out1[36] = x196;
8814     out1[37] = x198;
8815     out1[38] = x199;
8816     out1[39] = x200;
8817     out1[40] = x202;
8818     out1[41] = x205;
8819     out1[42] = x207;
8820     out1[43] = x209;
8821     out1[44] = x212;
8822     out1[45] = x214;
8823     out1[46] = x216;
8824     out1[47] = x219;
8825     out1[48] = x221;
8826     out1[49] = x223;
8827     out1[50] = x226;
8828     out1[51] = x228;
8829     out1[52] = x231;
8830     out1[53] = x233;
8831     out1[54] = x235;
8832     out1[55] = x238;
8833     out1[56] = x240;
8834     out1[57] = x242;
8835     out1[58] = x245;
8836     out1[59] = x247;
8837     out1[60] = x249;
8838     out1[61] = x252;
8839     out1[62] = x254;
8840     out1[63] = x255;
8841 }
8842
8843 /*
8844  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes deserializes a field element from bytes in little-endian order.
8845  * Postconditions:
8846  *   eval out1 mod m = bytes_eval arg1 mod m
8847  *
8848  * Input Bounds:
8849  *   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]]
8850  * Output Bounds:
8851  *   out1: [[0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x800000], [0x0 ~> 0x400000], [0x0 ~> 0x400000], [0x0 ~> 0x400000]]
8852  */
8853 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes(
8854     uint32_t out1[23], const uint8_t arg1[64]) {
8855     uint32_t x1;
8856     uint32_t x2;
8857     uint32_t x3;
8858     uint32_t x4;
8859     uint32_t x5;
8860     uint32_t x6;
8861     uint32_t x7;
8862     uint32_t x8;
8863     uint32_t x9;
8864     uint32_t x10;
8865     uint32_t x11;
8866     uint32_t x12;
8867     uint32_t x13;
8868     uint32_t x14;
8869     uint32_t x15;
8870     uint32_t x16;
8871     uint32_t x17;
8872     uint32_t x18;
8873     uint32_t x19;
8874     uint32_t x20;
8875     uint32_t x21;
8876     uint32_t x22;
8877     uint32_t x23;
8878     uint32_t x24;
8879     uint8_t x25;
8880     uint32_t x26;
8881     uint32_t x27;
8882     uint32_t x28;
8883     uint32_t x29;
8884     uint32_t x30;
8885     uint32_t x31;
8886     uint32_t x32;
8887     uint32_t x33;
8888     uint32_t x34;
8889     uint32_t x35;
8890     uint32_t x36;
8891     uint32_t x37;
8892     uint32_t x38;
8893     uint32_t x39;
8894     uint32_t x40;
8895     uint32_t x41;
8896     uint32_t x42;
8897     uint32_t x43;
8898     uint32_t x44;
8899     uint32_t x45;
8900     uint32_t x46;
8901     uint32_t x47;
8902     uint32_t x48;
8903     uint32_t x49;
8904     uint8_t x50;
8905     uint32_t x51;
8906     uint32_t x52;
8907     uint32_t x53;
8908     uint32_t x54;
8909     uint32_t x55;
8910     uint32_t x56;
8911     uint32_t x57;
8912     uint32_t x58;
8913     uint32_t x59;
8914     uint32_t x60;
8915     uint32_t x61;
8916     uint32_t x62;
8917     uint32_t x63;
8918     uint8_t x64;
8919     uint32_t x65;
8920     uint32_t x66;
8921     uint32_t x67;
8922     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x68;
8923     uint32_t x69;
8924     uint32_t x70;
8925     uint32_t x71;
8926     uint32_t x72;
8927     uint8_t x73;
8928     uint32_t x74;
8929     uint32_t x75;
8930     uint32_t x76;
8931     uint32_t x77;
8932     uint8_t x78;
8933     uint32_t x79;
8934     uint32_t x80;
8935     uint32_t x81;
8936     uint32_t x82;
8937     uint8_t x83;
8938     uint32_t x84;
8939     uint32_t x85;
8940     uint32_t x86;
8941     uint32_t x87;
8942     uint32_t x88;
8943     uint8_t x89;
8944     uint32_t x90;
8945     uint32_t x91;
8946     uint32_t x92;
8947     uint32_t x93;
8948     uint8_t x94;
8949     uint32_t x95;
8950     uint32_t x96;
8951     uint32_t x97;
8952     uint32_t x98;
8953     uint8_t x99;
8954     uint32_t x100;
8955     uint32_t x101;
8956     uint32_t x102;
8957     uint32_t x103;
8958     uint8_t x104;
8959     uint32_t x105;
8960     uint32_t x106;
8961     uint32_t x107;
8962     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x108;
8963     uint32_t x109;
8964     uint32_t x110;
8965     uint32_t x111;
8966     uint32_t x112;
8967     uint8_t x113;
8968     uint32_t x114;
8969     uint32_t x115;
8970     uint32_t x116;
8971     uint32_t x117;
8972     uint8_t x118;
8973     uint32_t x119;
8974     uint32_t x120;
8975     uint32_t x121;
8976     uint32_t x122;
8977     uint8_t x123;
8978     uint32_t x124;
8979     uint32_t x125;
8980     uint32_t x126;
8981     uint32_t x127;
8982     uint32_t x128;
8983     uint8_t x129;
8984     uint32_t x130;
8985     uint32_t x131;
8986     uint32_t x132;
8987     uint32_t x133;
8988     uint8_t x134;
8989     uint32_t x135;
8990     uint32_t x136;
8991     uint32_t x137;
8992     uint32_t x138;
8993     uint8_t x139;
8994     uint32_t x140;
8995     uint32_t x141;
8996     uint32_t x142;
8997     uint32_t x143;
8998     uint8_t x144;
8999     uint32_t x145;
9000     uint32_t x146;
9001     uint32_t x147;
9002     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x148;
9003     uint32_t x149;
9004     uint32_t x150;
9005     uint32_t x151;
9006     uint32_t x152;
9007     uint8_t x153;
9008     uint32_t x154;
9009     uint32_t x155;
9010     uint32_t x156;
9011     uint32_t x157;
9012     uint8_t x158;
9013     uint32_t x159;
9014     uint32_t x160;
9015     uint32_t x161;
9016     uint32_t x162;
9017     uint8_t x163;
9018     uint32_t x164;
9019     uint32_t x165;
9020     x1 = ((uint32_t)(arg1[63]) << 14);
9021     x2 = ((uint32_t)(arg1[62]) << 6);
9022     x3 = ((uint32_t)(arg1[61]) << 20);
9023     x4 = ((uint32_t)(arg1[60]) << 12);
9024     x5 = ((uint32_t)(arg1[59]) << 4);
9025     x6 = ((uint32_t)(arg1[58]) << 18);
9026     x7 = ((uint32_t)(arg1[57]) << 10);
9027     x8 = ((uint32_t)(arg1[56]) << 2);
9028     x9 = ((uint32_t)(arg1[55]) << 17);
9029     x10 = ((uint32_t)(arg1[54]) << 9);
9030     x11 = ((uint32_t)(arg1[53]) * 0x2);
9031     x12 = ((uint32_t)(arg1[52]) << 15);
9032     x13 = ((uint32_t)(arg1[51]) << 7);
9033     x14 = ((uint32_t)(arg1[50]) << 21);
9034     x15 = ((uint32_t)(arg1[49]) << 13);
9035     x16 = ((uint32_t)(arg1[48]) << 5);
9036     x17 = ((uint32_t)(arg1[47]) << 19);
9037     x18 = ((uint32_t)(arg1[46]) << 11);
9038     x19 = ((uint32_t)(arg1[45]) << 3);
9039     x20 = ((uint32_t)(arg1[44]) << 18);
9040     x21 = ((uint32_t)(arg1[43]) << 10);
9041     x22 = ((uint32_t)(arg1[42]) << 2);
9042     x23 = ((uint32_t)(arg1[41]) << 16);
9043     x24 = ((uint32_t)(arg1[40]) << 8);
9044     x25 = (arg1[39]);
9045     x26 = ((uint32_t)(arg1[38]) << 14);
9046     x27 = ((uint32_t)(arg1[37]) << 6);
9047     x28 = ((uint32_t)(arg1[36]) << 20);
9048     x29 = ((uint32_t)(arg1[35]) << 12);
9049     x30 = ((uint32_t)(arg1[34]) << 4);
9050     x31 = ((uint32_t)(arg1[33]) << 19);
9051     x32 = ((uint32_t)(arg1[32]) << 11);
9052     x33 = ((uint32_t)(arg1[31]) << 3);
9053     x34 = ((uint32_t)(arg1[30]) << 17);
9054     x35 = ((uint32_t)(arg1[29]) << 9);
9055     x36 = ((uint32_t)(arg1[28]) * 0x2);
9056     x37 = ((uint32_t)(arg1[27]) << 15);
9057     x38 = ((uint32_t)(arg1[26]) << 7);
9058     x39 = ((uint32_t)(arg1[25]) << 21);
9059     x40 = ((uint32_t)(arg1[24]) << 13);
9060     x41 = ((uint32_t)(arg1[23]) << 5);
9061     x42 = ((uint32_t)(arg1[22]) << 20);
9062     x43 = ((uint32_t)(arg1[21]) << 12);
9063     x44 = ((uint32_t)(arg1[20]) << 4);
9064     x45 = ((uint32_t)(arg1[19]) << 18);
9065     x46 = ((uint32_t)(arg1[18]) << 10);
9066     x47 = ((uint32_t)(arg1[17]) << 2);
9067     x48 = ((uint32_t)(arg1[16]) << 16);
9068     x49 = ((uint32_t)(arg1[15]) << 8);
9069     x50 = (arg1[14]);
9070     x51 = ((uint32_t)(arg1[13]) << 14);
9071     x52 = ((uint32_t)(arg1[12]) << 6);
9072     x53 = ((uint32_t)(arg1[11]) << 21);
9073     x54 = ((uint32_t)(arg1[10]) << 13);
9074     x55 = ((uint32_t)(arg1[9]) << 5);
9075     x56 = ((uint32_t)(arg1[8]) << 19);
9076     x57 = ((uint32_t)(arg1[7]) << 11);
9077     x58 = ((uint32_t)(arg1[6]) << 3);
9078     x59 = ((uint32_t)(arg1[5]) << 17);
9079     x60 = ((uint32_t)(arg1[4]) << 9);
9080     x61 = ((uint32_t)(arg1[3]) * 0x2);
9081     x62 = ((uint32_t)(arg1[2]) << 16);
9082     x63 = ((uint32_t)(arg1[1]) << 8);
9083     x64 = (arg1[0]);
9084     x65 = (x63 + (uint32_t)x64);
9085     x66 = (x62 + x65);
9086     x67 = (x66 & UINT32_C(0x7fffff));
9087     x68 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x66 >> 23);
9088     x69 = (x61 + (uint32_t)x68);
9089     x70 = (x60 + x69);
9090     x71 = (x59 + x70);
9091     x72 = (x71 & UINT32_C(0x3fffff));
9092     x73 = (uint8_t)(x71 >> 22);
9093     x74 = (x58 + (uint32_t)x73);
9094     x75 = (x57 + x74);
9095     x76 = (x56 + x75);
9096     x77 = (x76 & UINT32_C(0x3fffff));
9097     x78 = (uint8_t)(x76 >> 22);
9098     x79 = (x55 + (uint32_t)x78);
9099     x80 = (x54 + x79);
9100     x81 = (x53 + x80);
9101     x82 = (x81 & UINT32_C(0x7fffff));
9102     x83 = (uint8_t)(x81 >> 23);
9103     x84 = (x52 + (uint32_t)x83);
9104     x85 = (x51 + x84);
9105     x86 = (x49 + (uint32_t)x50);
9106     x87 = (x48 + x86);
9107     x88 = (x87 & UINT32_C(0x3fffff));
9108     x89 = (uint8_t)(x87 >> 22);
9109     x90 = (x47 + (uint32_t)x89);
9110     x91 = (x46 + x90);
9111     x92 = (x45 + x91);
9112     x93 = (x92 & UINT32_C(0x3fffff));
9113     x94 = (uint8_t)(x92 >> 22);
9114     x95 = (x44 + (uint32_t)x94);
9115     x96 = (x43 + x95);
9116     x97 = (x42 + x96);
9117     x98 = (x97 & UINT32_C(0x7fffff));
9118     x99 = (uint8_t)(x97 >> 23);
9119     x100 = (x41 + (uint32_t)x99);
9120     x101 = (x40 + x100);
9121     x102 = (x39 + x101);
9122     x103 = (x102 & UINT32_C(0x3fffff));
9123     x104 = (uint8_t)(x102 >> 22);
9124     x105 = (x38 + (uint32_t)x104);
9125     x106 = (x37 + x105);
9126     x107 = (x106 & UINT32_C(0x3fffff));
9127     x108 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x106 >> 22);
9128     x109 = (x36 + (uint32_t)x108);
9129     x110 = (x35 + x109);
9130     x111 = (x34 + x110);
9131     x112 = (x111 & UINT32_C(0x3fffff));
9132     x113 = (uint8_t)(x111 >> 22);
9133     x114 = (x33 + (uint32_t)x113);
9134     x115 = (x32 + x114);
9135     x116 = (x31 + x115);
9136     x117 = (x116 & UINT32_C(0x7fffff));
9137     x118 = (uint8_t)(x116 >> 23);
9138     x119 = (x30 + (uint32_t)x118);
9139     x120 = (x29 + x119);
9140     x121 = (x28 + x120);
9141     x122 = (x121 & UINT32_C(0x3fffff));
9142     x123 = (uint8_t)(x121 >> 22);
9143     x124 = (x27 + (uint32_t)x123);
9144     x125 = (x26 + x124);
9145     x126 = (x24 + (uint32_t)x25);
9146     x127 = (x23 + x126);
9147     x128 = (x127 & UINT32_C(0x3fffff));
9148     x129 = (uint8_t)(x127 >> 22);
9149     x130 = (x22 + (uint32_t)x129);
9150     x131 = (x21 + x130);
9151     x132 = (x20 + x131);
9152     x133 = (x132 & UINT32_C(0x7fffff));
9153     x134 = (uint8_t)(x132 >> 23);
9154     x135 = (x19 + (uint32_t)x134);
9155     x136 = (x18 + x135);
9156     x137 = (x17 + x136);
9157     x138 = (x137 & UINT32_C(0x3fffff));
9158     x139 = (uint8_t)(x137 >> 22);
9159     x140 = (x16 + (uint32_t)x139);
9160     x141 = (x15 + x140);
9161     x142 = (x14 + x141);
9162     x143 = (x142 & UINT32_C(0x3fffff));
9163     x144 = (uint8_t)(x142 >> 22);
9164     x145 = (x13 + (uint32_t)x144);
9165     x146 = (x12 + x145);
9166     x147 = (x146 & UINT32_C(0x3fffff));
9167     x148 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x146 >> 22);
9168     x149 = (x11 + (uint32_t)x148);
9169     x150 = (x10 + x149);
9170     x151 = (x9 + x150);
9171     x152 = (x151 & UINT32_C(0x7fffff));
9172     x153 = (uint8_t)(x151 >> 23);
9173     x154 = (x8 + (uint32_t)x153);
9174     x155 = (x7 + x154);
9175     x156 = (x6 + x155);
9176     x157 = (x156 & UINT32_C(0x3fffff));
9177     x158 = (uint8_t)(x156 >> 22);
9178     x159 = (x5 + (uint32_t)x158);
9179     x160 = (x4 + x159);
9180     x161 = (x3 + x160);
9181     x162 = (x161 & UINT32_C(0x3fffff));
9182     x163 = (uint8_t)(x161 >> 22);
9183     x164 = (x2 + (uint32_t)x163);
9184     x165 = (x1 + x164);
9185     out1[0] = x67;
9186     out1[1] = x72;
9187     out1[2] = x77;
9188     out1[3] = x82;
9189     out1[4] = x85;
9190     out1[5] = x88;
9191     out1[6] = x93;
9192     out1[7] = x98;
9193     out1[8] = x103;
9194     out1[9] = x107;
9195     out1[10] = x112;
9196     out1[11] = x117;
9197     out1[12] = x122;
9198     out1[13] = x125;
9199     out1[14] = x128;
9200     out1[15] = x133;
9201     out1[16] = x138;
9202     out1[17] = x143;
9203     out1[18] = x147;
9204     out1[19] = x152;
9205     out1[20] = x157;
9206     out1[21] = x162;
9207     out1[22] = x165;
9208 }
9209
9210 /* END verbatim fiat code */
9211
9212 /*-
9213  * Finite field inversion via FLT.
9214  * NB: this is not a real Fiat function, just named that way for consistency.
9215  * Autogenerated: ecp/id_tc26_gost_3410_2012_512_paramSetC/fe_inv.op3
9216  * custom repunit addition chain
9217  */
9218 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_inv(fe_t output,
9219                                                           const fe_t t1) {
9220     int i;
9221     /* temporary variables */
9222     fe_t acc, t102, t12, t198, t2, t200, t24, t3, t400, t48, t502, t6, t96;
9223
9224     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t1);
9225     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t2, acc, t1);
9226     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t2);
9227     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t3, acc, t1);
9228     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t3);
9229     for (i = 0; i < 2; i++)
9230         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
9231     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t6, acc, t3);
9232     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t6);
9233     for (i = 0; i < 5; i++)
9234         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
9235     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t12, acc, t6);
9236     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t12);
9237     for (i = 0; i < 11; i++)
9238         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
9239     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t24, acc, t12);
9240     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t24);
9241     for (i = 0; i < 23; i++)
9242         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
9243     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t48, acc, t24);
9244     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t48);
9245     for (i = 0; i < 47; i++)
9246         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
9247     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t96, acc, t48);
9248     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t96);
9249     for (i = 0; i < 5; i++)
9250         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
9251     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t102, acc, t6);
9252     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t102);
9253     for (i = 0; i < 95; i++)
9254         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
9255     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t198, acc, t96);
9256     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t198);
9257     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
9258     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t200, acc, t2);
9259     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t200);
9260     for (i = 0; i < 199; i++)
9261         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
9262     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t400, acc, t200);
9263     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t400);
9264     for (i = 0; i < 101; i++)
9265         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
9266     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t502, acc, t102);
9267     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t502);
9268     for (i = 0; i < 3; i++)
9269         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
9270     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(acc, acc, t3);
9271     for (i = 0; i < 4; i++)
9272         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
9273     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(acc, acc, t1);
9274     for (i = 0; i < 2; i++)
9275         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
9276     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(output, acc, t1);
9277 }
9278
9279 /* curve coefficient constants */
9280
9281 static const limb_t const_one[23] = {
9282     UINT32_C(0x00000001), UINT32_C(0x00000000), UINT32_C(0x00000000),
9283     UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
9284     UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
9285     UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
9286     UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
9287     UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
9288     UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
9289     UINT32_C(0x00000000), UINT32_C(0x00000000)};
9290
9291 static const limb_t const_d[23] = {
9292     UINT32_C(0x006E7550), UINT32_C(0x001B7667), UINT32_C(0x00265181),
9293     UINT32_C(0x00054456), UINT32_C(0x0033F0AF), UINT32_C(0x001E91A0),
9294     UINT32_C(0x001E78DA), UINT32_C(0x002CE43E), UINT32_C(0x0016609C),
9295     UINT32_C(0x0028AE03), UINT32_C(0x00273C14), UINT32_C(0x001CE535),
9296     UINT32_C(0x00210504), UINT32_C(0x000A2818), UINT32_C(0x0031EBDE),
9297     UINT32_C(0x00506638), UINT32_C(0x001A016A), UINT32_C(0x003FC9B5),
9298     UINT32_C(0x001E6FAD), UINT32_C(0x00274B9E), UINT32_C(0x0036367C),
9299     UINT32_C(0x0018C017), UINT32_C(0x002793D7)};
9300
9301 static const limb_t const_S[23] = {
9302     UINT32_C(0x0004621E), UINT32_C(0x00292266), UINT32_C(0x00166B9F),
9303     UINT32_C(0x001EAEEA), UINT32_C(0x003303D4), UINT32_C(0x00185B97),
9304     UINT32_C(0x001861C9), UINT32_C(0x0074C6F0), UINT32_C(0x000A67D8),
9305     UINT32_C(0x0035D47F), UINT32_C(0x002630FA), UINT32_C(0x0078C6B2),
9306     UINT32_C(0x0037BEBE), UINT32_C(0x001D75F9), UINT32_C(0x00338508),
9307     UINT32_C(0x002BE671), UINT32_C(0x00297FA5), UINT32_C(0x00200D92),
9308     UINT32_C(0x00186414), UINT32_C(0x00762D18), UINT32_C(0x00027260),
9309     UINT32_C(0x0009CFFA), UINT32_C(0x00061B0A)};
9310
9311 static const limb_t const_T[23] = {
9312     UINT32_C(0x007D1271), UINT32_C(0x002493BB), UINT32_C(0x00310D95),
9313     UINT32_C(0x006B8B63), UINT32_C(0x003352C7), UINT32_C(0x001A6D9A),
9314     UINT32_C(0x00051424), UINT32_C(0x005CD0B5), UINT32_C(0x0023BAC4),
9315     UINT32_C(0x001C1D00), UINT32_C(0x00268A03), UINT32_C(0x005A2633),
9316     UINT32_C(0x00302B80), UINT32_C(0x001706AE), UINT32_C(0x000851FA),
9317     UINT32_C(0x0062BBB4), UINT32_C(0x00245591), UINT32_C(0x003FF6F3),
9318     UINT32_C(0x0005129C), UINT32_C(0x00313745), UINT32_C(0x0013B3BF),
9319     UINT32_C(0x00397559), UINT32_C(0x002698A3)};
9320
9321 /* LUT for scalar multiplication by comb interleaving */
9322 static const pt_aff_t lut_cmb[7][16] = {
9323     {
9324         {{UINT32_C(0x00000012), UINT32_C(0x00000000), UINT32_C(0x00000000),
9325           UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
9326           UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
9327           UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
9328           UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
9329           UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
9330           UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
9331           UINT32_C(0x00000000), UINT32_C(0x00000000)},
9332          {UINT32_C(0x00001A3D), UINT32_C(0x0007DCE6), UINT32_C(0x003B0018),
9333           UINT32_C(0x0065755C), UINT32_C(0x0008B012), UINT32_C(0x00309056),
9334           UINT32_C(0x000E5CCB), UINT32_C(0x0068C5D1), UINT32_C(0x003DD7E0),
9335           UINT32_C(0x00067BC4), UINT32_C(0x003A96CA), UINT32_C(0x0034A916),
9336           UINT32_C(0x0037B386), UINT32_C(0x0015845F), UINT32_C(0x00368D9A),
9337           UINT32_C(0x00405E50), UINT32_C(0x003EFD86), UINT32_C(0x0003C541),
9338           UINT32_C(0x0015BBD0), UINT32_C(0x005732B2), UINT32_C(0x0007D785),
9339           UINT32_C(0x0039D1FB), UINT32_C(0x0011A6BD)},
9340          {UINT32_C(0x0001E12E), UINT32_C(0x000D882C), UINT32_C(0x002601B2),
9341           UINT32_C(0x00224088), UINT32_C(0x001C6152), UINT32_C(0x002A260E),
9342           UINT32_C(0x00028653), UINT32_C(0x005DE8B6), UINT32_C(0x00192DCE),
9343           UINT32_C(0x0034B3D9), UINT32_C(0x001E9A35), UINT32_C(0x0033E39C),
9344           UINT32_C(0x002A9F73), UINT32_C(0x00034EBD), UINT32_C(0x0015F4DA),
9345           UINT32_C(0x0006A1AF), UINT32_C(0x002DD375), UINT32_C(0x0003DEA3),
9346           UINT32_C(0x000734A1), UINT32_C(0x0021908A), UINT32_C(0x000D2766),
9347           UINT32_C(0x0010C3A8), UINT32_C(0x003DB95A)}},
9348         {{UINT32_C(0x00714838), UINT32_C(0x003864C7), UINT32_C(0x0015E5EE),
9349           UINT32_C(0x0023E2F6), UINT32_C(0x0001272F), UINT32_C(0x00115410),
9350           UINT32_C(0x003575F4), UINT32_C(0x00599E80), UINT32_C(0x001911C3),
9351           UINT32_C(0x0016A65A), UINT32_C(0x001D472E), UINT32_C(0x006F3D5B),
9352           UINT32_C(0x0010340F), UINT32_C(0x000E837F), UINT32_C(0x0027C450),
9353           UINT32_C(0x007123EC), UINT32_C(0x0028CF66), UINT32_C(0x000CD738),
9354           UINT32_C(0x00028A9A), UINT32_C(0x000CAEE3), UINT32_C(0x00261B2D),
9355           UINT32_C(0x001B65D5), UINT32_C(0x0003754B)},
9356          {UINT32_C(0x0062FF0C), UINT32_C(0x0039AC13), UINT32_C(0x003468DD),
9357           UINT32_C(0x005CFC63), UINT32_C(0x0003F7D2), UINT32_C(0x00370AE6),
9358           UINT32_C(0x0036C17A), UINT32_C(0x001D053E), UINT32_C(0x0004E79D),
9359           UINT32_C(0x00268C78), UINT32_C(0x0038AB40), UINT32_C(0x007DDB1E),
9360           UINT32_C(0x003B4D93), UINT32_C(0x003572D3), UINT32_C(0x00124D45),
9361           UINT32_C(0x0072B7DA), UINT32_C(0x0018E151), UINT32_C(0x001874E3),
9362           UINT32_C(0x00372E71), UINT32_C(0x00505781), UINT32_C(0x0019B7EF),
9363           UINT32_C(0x00225C53), UINT32_C(0x00008A46)},
9364          {UINT32_C(0x00224325), UINT32_C(0x001B6A98), UINT32_C(0x003712F0),
9365           UINT32_C(0x0029896C), UINT32_C(0x00276411), UINT32_C(0x00312C3D),
9366           UINT32_C(0x003C91A0), UINT32_C(0x005E5815), UINT32_C(0x00297712),
9367           UINT32_C(0x003DE7C7), UINT32_C(0x002D1F5F), UINT32_C(0x002BD84B),
9368           UINT32_C(0x0031E9D5), UINT32_C(0x00049136), UINT32_C(0x001802F2),
9369           UINT32_C(0x002F8CF5), UINT32_C(0x002DB47F), UINT32_C(0x00132C57),
9370           UINT32_C(0x000A8508), UINT32_C(0x003D2B4C), UINT32_C(0x0028BD48),
9371           UINT32_C(0x001D60C1), UINT32_C(0x003E0AA0)}},
9372         {{UINT32_C(0x0030B9C8), UINT32_C(0x002685FC), UINT32_C(0x001B92BC),
9373           UINT32_C(0x0018DFEF), UINT32_C(0x0022306A), UINT32_C(0x0011C069),
9374           UINT32_C(0x003EB95C), UINT32_C(0x003F5EF0), UINT32_C(0x0007C592),
9375           UINT32_C(0x00381817), UINT32_C(0x0010861D), UINT32_C(0x0004D484),
9376           UINT32_C(0x0023D575), UINT32_C(0x003F10B5), UINT32_C(0x000A70AA),
9377           UINT32_C(0x004D7662), UINT32_C(0x000DD1AA), UINT32_C(0x003FD38C),
9378           UINT32_C(0x000A6668), UINT32_C(0x0025165D), UINT32_C(0x00181E91),
9379           UINT32_C(0x000E23E5), UINT32_C(0x00269040)},
9380          {UINT32_C(0x00341E21), UINT32_C(0x00257531), UINT32_C(0x000967CF),
9381           UINT32_C(0x0019BA94), UINT32_C(0x00151857), UINT32_C(0x0019AA1E),
9382           UINT32_C(0x0007DC17), UINT32_C(0x0011DB85), UINT32_C(0x002D3151),
9383           UINT32_C(0x002CEDD2), UINT32_C(0x0024E69B), UINT32_C(0x001A161C),
9384           UINT32_C(0x001A4C0C), UINT32_C(0x000AF920), UINT32_C(0x00070D8C),
9385           UINT32_C(0x006577B1), UINT32_C(0x0020BA5B), UINT32_C(0x003E2CB7),
9386           UINT32_C(0x002FDC2A), UINT32_C(0x0035FBC6), UINT32_C(0x0022FA7D),
9387           UINT32_C(0x0033F920), UINT32_C(0x00271D0D)},
9388          {UINT32_C(0x005E541E), UINT32_C(0x001D52C8), UINT32_C(0x001062DD),
9389           UINT32_C(0x0024B0B7), UINT32_C(0x0038AB52), UINT32_C(0x00390136),
9390           UINT32_C(0x000229FC), UINT32_C(0x00083904), UINT32_C(0x001D494F),
9391           UINT32_C(0x003390EA), UINT32_C(0x002173E5), UINT32_C(0x003C560E),
9392           UINT32_C(0x002DBD84), UINT32_C(0x0005F4E6), UINT32_C(0x0027C060),
9393           UINT32_C(0x00018F19), UINT32_C(0x00021C09), UINT32_C(0x002C4427),
9394           UINT32_C(0x002AF1D0), UINT32_C(0x00137D94), UINT32_C(0x00398A24),
9395           UINT32_C(0x0015C3EE), UINT32_C(0x002465FE)}},
9396         {{UINT32_C(0x00323C86), UINT32_C(0x00177FDA), UINT32_C(0x0039B750),
9397           UINT32_C(0x00273D46), UINT32_C(0x0017FBDD), UINT32_C(0x002CF518),
9398           UINT32_C(0x000BBF36), UINT32_C(0x005C0328), UINT32_C(0x002CE181),
9399           UINT32_C(0x00006A3B), UINT32_C(0x000E6E58), UINT32_C(0x000239AB),
9400           UINT32_C(0x0034C2CE), UINT32_C(0x00074E3E), UINT32_C(0x003363F2),
9401           UINT32_C(0x00095FCE), UINT32_C(0x0011CAA2), UINT32_C(0x0020BAF6),
9402           UINT32_C(0x0033EA63), UINT32_C(0x0066A91E), UINT32_C(0x002CC83A),
9403           UINT32_C(0x000D84AE), UINT32_C(0x001B7D65)},
9404          {UINT32_C(0x004CD0FD), UINT32_C(0x002320B8), UINT32_C(0x001CB711),
9405           UINT32_C(0x00404C3F), UINT32_C(0x003A65B2), UINT32_C(0x00256419),
9406           UINT32_C(0x00163A1D), UINT32_C(0x007E15F5), UINT32_C(0x00302B21),
9407           UINT32_C(0x000C47D7), UINT32_C(0x003C9CBF), UINT32_C(0x002DA840),
9408           UINT32_C(0x00354B2A), UINT32_C(0x00019F94), UINT32_C(0x0005E8B1),
9409           UINT32_C(0x002B8F3D), UINT32_C(0x0026C85C), UINT32_C(0x001F3DD4),
9410           UINT32_C(0x00251D66), UINT32_C(0x0048EC35), UINT32_C(0x00206268),
9411           UINT32_C(0x002913A7), UINT32_C(0x001F1F83)},
9412          {UINT32_C(0x0077F340), UINT32_C(0x0008D7FB), UINT32_C(0x0029E763),
9413           UINT32_C(0x00797AAF), UINT32_C(0x00060644), UINT32_C(0x00035A5C),
9414           UINT32_C(0x00009727), UINT32_C(0x00626D74), UINT32_C(0x00249825),
9415           UINT32_C(0x00181FBF), UINT32_C(0x00083B0B), UINT32_C(0x0006F875),
9416           UINT32_C(0x00331E5F), UINT32_C(0x00343541), UINT32_C(0x0037AD03),
9417           UINT32_C(0x0004A743), UINT32_C(0x0018465B), UINT32_C(0x00203D5A),
9418           UINT32_C(0x002CA6BE), UINT32_C(0x0008AAB6), UINT32_C(0x00181A90),
9419           UINT32_C(0x002D8F7B), UINT32_C(0x00153EB7)}},
9420         {{UINT32_C(0x0018A411), UINT32_C(0x003A0221), UINT32_C(0x003C31B0),
9421           UINT32_C(0x00798D8F), UINT32_C(0x002E6982), UINT32_C(0x003E68C9),
9422           UINT32_C(0x0011C222), UINT32_C(0x004A377B), UINT32_C(0x001B47F3),
9423           UINT32_C(0x003998D9), UINT32_C(0x0014AB3E), UINT32_C(0x0058D2AA),
9424           UINT32_C(0x0004E849), UINT32_C(0x001856B6), UINT32_C(0x0009B3EA),
9425           UINT32_C(0x0032F37E), UINT32_C(0x0021A719), UINT32_C(0x002BD295),
9426           UINT32_C(0x0014959E), UINT32_C(0x0025E386), UINT32_C(0x003F0C52),
9427           UINT32_C(0x003FCEAA), UINT32_C(0x00263172)},
9428          {UINT32_C(0x001A14E2), UINT32_C(0x001F7D87), UINT32_C(0x0030183E),
9429           UINT32_C(0x006D32ED), UINT32_C(0x002DF898), UINT32_C(0x002CEF71),
9430           UINT32_C(0x002646CB), UINT32_C(0x001B0DAD), UINT32_C(0x001A7601),
9431           UINT32_C(0x0020A57E), UINT32_C(0x0008D5E8), UINT32_C(0x003FAF5F),
9432           UINT32_C(0x00128ED4), UINT32_C(0x0025B18D), UINT32_C(0x002F0FA9),
9433           UINT32_C(0x003A6179), UINT32_C(0x00078264), UINT32_C(0x00351FE0),
9434           UINT32_C(0x00074564), UINT32_C(0x001FB814), UINT32_C(0x003C2C48),
9435           UINT32_C(0x00164834), UINT32_C(0x00270D18)},
9436          {UINT32_C(0x0033F8B7), UINT32_C(0x002F3A9D), UINT32_C(0x000E251A),
9437           UINT32_C(0x0030DA6B), UINT32_C(0x0026849C), UINT32_C(0x002D0B0C),
9438           UINT32_C(0x002C4BF7), UINT32_C(0x00515301), UINT32_C(0x00036F37),
9439           UINT32_C(0x000A9DBF), UINT32_C(0x00298CD0), UINT32_C(0x0024A32B),
9440           UINT32_C(0x0026D945), UINT32_C(0x002C3300), UINT32_C(0x00268566),
9441           UINT32_C(0x001E4819), UINT32_C(0x00102918), UINT32_C(0x00235296),
9442           UINT32_C(0x001B311B), UINT32_C(0x007F2404), UINT32_C(0x0038D33D),
9443           UINT32_C(0x001E3550), UINT32_C(0x00090157)}},
9444         {{UINT32_C(0x00320711), UINT32_C(0x00340698), UINT32_C(0x001F056A),
9445           UINT32_C(0x003BD939), UINT32_C(0x003171B5), UINT32_C(0x0038A716),
9446           UINT32_C(0x0015FA28), UINT32_C(0x0064ADE0), UINT32_C(0x000F0671),
9447           UINT32_C(0x001DCC6E), UINT32_C(0x0021080E), UINT32_C(0x004176EE),
9448           UINT32_C(0x003EEFBE), UINT32_C(0x0014ABF9), UINT32_C(0x0011CE49),
9449           UINT32_C(0x005C1B2A), UINT32_C(0x001DCCBC), UINT32_C(0x000F5858),
9450           UINT32_C(0x0014B76C), UINT32_C(0x002FEF68), UINT32_C(0x0013BBA8),
9451           UINT32_C(0x00271302), UINT32_C(0x002A675D)},
9452          {UINT32_C(0x0022D5DC), UINT32_C(0x00189878), UINT32_C(0x003957D3),
9453           UINT32_C(0x00124011), UINT32_C(0x000C0FF4), UINT32_C(0x0021C5F0),
9454           UINT32_C(0x001CF183), UINT32_C(0x005C75FB), UINT32_C(0x000A4A72),
9455           UINT32_C(0x001621E5), UINT32_C(0x002D902F), UINT32_C(0x000A5E79),
9456           UINT32_C(0x0007D979), UINT32_C(0x002FA252), UINT32_C(0x001A032C),
9457           UINT32_C(0x006E4700), UINT32_C(0x001CDDED), UINT32_C(0x0015AFC0),
9458           UINT32_C(0x001B495C), UINT32_C(0x0025BC0A), UINT32_C(0x003D6AB6),
9459           UINT32_C(0x001C2483), UINT32_C(0x002F3B9A)},
9460          {UINT32_C(0x0057AFE2), UINT32_C(0x003853AA), UINT32_C(0x00381675),
9461           UINT32_C(0x0053C924), UINT32_C(0x0004A57A), UINT32_C(0x003A659F),
9462           UINT32_C(0x0007371F), UINT32_C(0x006B5A26), UINT32_C(0x0029ED43),
9463           UINT32_C(0x000F437B), UINT32_C(0x0003DA56), UINT32_C(0x0043A9B2),
9464           UINT32_C(0x001ED072), UINT32_C(0x002BF85E), UINT32_C(0x000106D8),
9465           UINT32_C(0x004A67F0), UINT32_C(0x00249FD9), UINT32_C(0x002B8C98),
9466           UINT32_C(0x0011FD8E), UINT32_C(0x006EF5A5), UINT32_C(0x00274425),
9467           UINT32_C(0x002A63C4), UINT32_C(0x0010FE70)}},
9468         {{UINT32_C(0x003BFFEF), UINT32_C(0x0028BC0F), UINT32_C(0x000C1E3B),
9469           UINT32_C(0x00332346), UINT32_C(0x00097C49), UINT32_C(0x000642A0),
9470           UINT32_C(0x001511EB), UINT32_C(0x00662119), UINT32_C(0x0038700F),
9471           UINT32_C(0x0010075B), UINT32_C(0x000217A9), UINT32_C(0x00515D8A),
9472           UINT32_C(0x003768A5), UINT32_C(0x00001AAD), UINT32_C(0x00033785),
9473           UINT32_C(0x000EAFDA), UINT32_C(0x0028D7EE), UINT32_C(0x00386C98),
9474           UINT32_C(0x002309D6), UINT32_C(0x00217545), UINT32_C(0x0036E128),
9475           UINT32_C(0x0036F567), UINT32_C(0x00084D45)},
9476          {UINT32_C(0x006DDAC3), UINT32_C(0x00211A34), UINT32_C(0x00334127),
9477           UINT32_C(0x0068417F), UINT32_C(0x002536CA), UINT32_C(0x00392B50),
9478           UINT32_C(0x00121BF5), UINT32_C(0x006FAE39), UINT32_C(0x001B66D6),
9479           UINT32_C(0x0001A543), UINT32_C(0x00047D4A), UINT32_C(0x00320EF6),
9480           UINT32_C(0x0032B862), UINT32_C(0x000E86D1), UINT32_C(0x0003B670),
9481           UINT32_C(0x004D6880), UINT32_C(0x0017DCED), UINT32_C(0x002D4CAD),
9482           UINT32_C(0x002F1822), UINT32_C(0x0061F872), UINT32_C(0x00117A0E),
9483           UINT32_C(0x00227CBF), UINT32_C(0x00118A0F)},
9484          {UINT32_C(0x00597549), UINT32_C(0x00311975), UINT32_C(0x0012ADA8),
9485           UINT32_C(0x000BF81E), UINT32_C(0x000447DB), UINT32_C(0x0036564B),
9486           UINT32_C(0x0036D4A4), UINT32_C(0x005A12B6), UINT32_C(0x001D943E),
9487           UINT32_C(0x001FA011), UINT32_C(0x0022FC7D), UINT32_C(0x001B96F2),
9488           UINT32_C(0x00197333), UINT32_C(0x000F5F62), UINT32_C(0x0026D265),
9489           UINT32_C(0x000DBBE2), UINT32_C(0x002B31B9), UINT32_C(0x002BF98D),
9490           UINT32_C(0x0025C030), UINT32_C(0x001A95A2), UINT32_C(0x003B2FA4),
9491           UINT32_C(0x000B0C82), UINT32_C(0x0021FEE2)}},
9492         {{UINT32_C(0x0015EE0D), UINT32_C(0x00026FEB), UINT32_C(0x003AD4F5),
9493           UINT32_C(0x003274AE), UINT32_C(0x001265E7), UINT32_C(0x0017040F),
9494           UINT32_C(0x0013C06E), UINT32_C(0x00448F30), UINT32_C(0x00134ED6),
9495           UINT32_C(0x002635D7), UINT32_C(0x000B19B7), UINT32_C(0x0044CA5A),
9496           UINT32_C(0x002D51CD), UINT32_C(0x003CBBA9), UINT32_C(0x000BA676),
9497           UINT32_C(0x0044E2E0), UINT32_C(0x002D3C1D), UINT32_C(0x001B2C78),
9498           UINT32_C(0x0018CB04), UINT32_C(0x000F06A8), UINT32_C(0x0029FAAE),
9499           UINT32_C(0x003BD16D), UINT32_C(0x002947AD)},
9500          {UINT32_C(0x000B19BD), UINT32_C(0x002858FE), UINT32_C(0x0001456B),
9501           UINT32_C(0x00651923), UINT32_C(0x00153B6F), UINT32_C(0x00192326),
9502           UINT32_C(0x001EDFC6), UINT32_C(0x003AF276), UINT32_C(0x00039EE2),
9503           UINT32_C(0x00085A43), UINT32_C(0x0005BE71), UINT32_C(0x00091140),
9504           UINT32_C(0x002D46EB), UINT32_C(0x0017E252), UINT32_C(0x0005EB99),
9505           UINT32_C(0x002B8AE0), UINT32_C(0x001B76CF), UINT32_C(0x0006AF84),
9506           UINT32_C(0x00353A13), UINT32_C(0x00310D97), UINT32_C(0x0023CC43),
9507           UINT32_C(0x00112265), UINT32_C(0x000E4E08)},
9508          {UINT32_C(0x00172BA5), UINT32_C(0x00224E8D), UINT32_C(0x0008E83D),
9509           UINT32_C(0x006E0FD7), UINT32_C(0x000CA435), UINT32_C(0x003F7B82),
9510           UINT32_C(0x002AE24B), UINT32_C(0x00203AE6), UINT32_C(0x001109AA),
9511           UINT32_C(0x002D29BE), UINT32_C(0x00209120), UINT32_C(0x00435C39),
9512           UINT32_C(0x0010375A), UINT32_C(0x003466D6), UINT32_C(0x003A4483),
9513           UINT32_C(0x004C88D7), UINT32_C(0x002B8FCF), UINT32_C(0x000D4C74),
9514           UINT32_C(0x0000EAD7), UINT32_C(0x004E1D11), UINT32_C(0x0008F6A2),
9515           UINT32_C(0x0036C2A6), UINT32_C(0x000F1EC2)}},
9516         {{UINT32_C(0x007F3A5F), UINT32_C(0x001992D7), UINT32_C(0x0033F7AE),
9517           UINT32_C(0x00399159), UINT32_C(0x000EA75B), UINT32_C(0x0024BE3F),
9518           UINT32_C(0x00137150), UINT32_C(0x0009C6C8), UINT32_C(0x00224779),
9519           UINT32_C(0x0024DA62), UINT32_C(0x0039D8C0), UINT32_C(0x00274469),
9520           UINT32_C(0x00059EDB), UINT32_C(0x00230792), UINT32_C(0x0011EA0B),
9521           UINT32_C(0x000ACCB4), UINT32_C(0x001A5DB9), UINT32_C(0x0033F671),
9522           UINT32_C(0x0008F9E0), UINT32_C(0x00171663), UINT32_C(0x0034D6E6),
9523           UINT32_C(0x000FD1E8), UINT32_C(0x00305366)},
9524          {UINT32_C(0x005EDF20), UINT32_C(0x003A4158), UINT32_C(0x003152D2),
9525           UINT32_C(0x0039738C), UINT32_C(0x00219AF4), UINT32_C(0x000AD69F),
9526           UINT32_C(0x0000A7ED), UINT32_C(0x0006EB20), UINT32_C(0x001DB459),
9527           UINT32_C(0x00249C37), UINT32_C(0x0008C20F), UINT32_C(0x004E26FA),
9528           UINT32_C(0x0018A7F4), UINT32_C(0x002A583D), UINT32_C(0x00026534),
9529           UINT32_C(0x004D37CC), UINT32_C(0x002BF41A), UINT32_C(0x0004D4E5),
9530           UINT32_C(0x002B73A3), UINT32_C(0x003F1C84), UINT32_C(0x002883C4),
9531           UINT32_C(0x003BC222), UINT32_C(0x00089D6C)},
9532          {UINT32_C(0x007B6E7F), UINT32_C(0x0022175E), UINT32_C(0x00285356),
9533           UINT32_C(0x0025E3A3), UINT32_C(0x001037EF), UINT32_C(0x003AD3A2),
9534           UINT32_C(0x001C9C57), UINT32_C(0x00504AAE), UINT32_C(0x00064EF6),
9535           UINT32_C(0x00017470), UINT32_C(0x001DB4A2), UINT32_C(0x005776DF),
9536           UINT32_C(0x001E96EF), UINT32_C(0x0017DA2B), UINT32_C(0x002DD3D9),
9537           UINT32_C(0x0073CBB8), UINT32_C(0x00140A2F), UINT32_C(0x00109B2E),
9538           UINT32_C(0x000B5EA4), UINT32_C(0x00064397), UINT32_C(0x0000884C),
9539           UINT32_C(0x00089DD2), UINT32_C(0x002AF788)}},
9540         {{UINT32_C(0x00735FB2), UINT32_C(0x002F19A0), UINT32_C(0x00030F84),
9541           UINT32_C(0x0069D875), UINT32_C(0x0030428E), UINT32_C(0x001C7831),
9542           UINT32_C(0x00348247), UINT32_C(0x001553C9), UINT32_C(0x00363ED5),
9543           UINT32_C(0x0012E6AE), UINT32_C(0x00297863), UINT32_C(0x005231B6),
9544           UINT32_C(0x00076EF8), UINT32_C(0x002A51F3), UINT32_C(0x00053479),
9545           UINT32_C(0x00728729), UINT32_C(0x000565E8), UINT32_C(0x00253185),
9546           UINT32_C(0x00373E1C), UINT32_C(0x00173952), UINT32_C(0x00378596),
9547           UINT32_C(0x0035C7D9), UINT32_C(0x001AFA68)},
9548          {UINT32_C(0x007813F3), UINT32_C(0x0032A16A), UINT32_C(0x002DCCB1),
9549           UINT32_C(0x0020A412), UINT32_C(0x0032EE55), UINT32_C(0x00060B7C),
9550           UINT32_C(0x0001221A), UINT32_C(0x00746789), UINT32_C(0x002B0E40),
9551           UINT32_C(0x001D2DCC), UINT32_C(0x000CB8AC), UINT32_C(0x001FC5BD),
9552           UINT32_C(0x003BCC70), UINT32_C(0x0002C6F3), UINT32_C(0x0006C465),
9553           UINT32_C(0x00105D9D), UINT32_C(0x000CB0AE), UINT32_C(0x002CF08C),
9554           UINT32_C(0x0022B897), UINT32_C(0x004F105D), UINT32_C(0x002334A0),
9555           UINT32_C(0x000C0A22), UINT32_C(0x002CF1F5)},
9556          {UINT32_C(0x00505E0F), UINT32_C(0x0012ED31), UINT32_C(0x002474AB),
9557           UINT32_C(0x0024227C), UINT32_C(0x000514EC), UINT32_C(0x001D9F97),
9558           UINT32_C(0x000799FA), UINT32_C(0x006748EE), UINT32_C(0x001B12FA),
9559           UINT32_C(0x00297127), UINT32_C(0x001AB293), UINT32_C(0x00592DE3),
9560           UINT32_C(0x00202A4E), UINT32_C(0x0028F351), UINT32_C(0x00267888),
9561           UINT32_C(0x007C29E7), UINT32_C(0x00191344), UINT32_C(0x003BB856),
9562           UINT32_C(0x003D0068), UINT32_C(0x006A2ECD), UINT32_C(0x000FFBC8),
9563           UINT32_C(0x001ACF89), UINT32_C(0x0012063A)}},
9564         {{UINT32_C(0x0069FBFB), UINT32_C(0x00156959), UINT32_C(0x000608FA),
9565           UINT32_C(0x00785C89), UINT32_C(0x003AC4C8), UINT32_C(0x0027AB75),
9566           UINT32_C(0x001FCC4F), UINT32_C(0x001F7944), UINT32_C(0x0017EB65),
9567           UINT32_C(0x003C2011), UINT32_C(0x00325CA4), UINT32_C(0x001506DC),
9568           UINT32_C(0x000E2144), UINT32_C(0x002D1626), UINT32_C(0x0016961D),
9569           UINT32_C(0x00363598), UINT32_C(0x003C4B42), UINT32_C(0x000025DF),
9570           UINT32_C(0x0029E048), UINT32_C(0x0036C933), UINT32_C(0x0006A748),
9571           UINT32_C(0x003B1A3D), UINT32_C(0x00072BBF)},
9572          {UINT32_C(0x00347FD3), UINT32_C(0x0023FEC8), UINT32_C(0x00365C46),
9573           UINT32_C(0x00206227), UINT32_C(0x002642D5), UINT32_C(0x000F856C),
9574           UINT32_C(0x000D409C), UINT32_C(0x0022DD47), UINT32_C(0x0037EDB3),
9575           UINT32_C(0x00295E9B), UINT32_C(0x00168C23), UINT32_C(0x006707A7),
9576           UINT32_C(0x00191E7D), UINT32_C(0x001B783E), UINT32_C(0x003FB2D4),
9577           UINT32_C(0x006B0C90), UINT32_C(0x00233284), UINT32_C(0x000CD25A),
9578           UINT32_C(0x001F61F1), UINT32_C(0x004E3362), UINT32_C(0x002620F3),
9579           UINT32_C(0x00036CD2), UINT32_C(0x00187790)},
9580          {UINT32_C(0x00415547), UINT32_C(0x00056478), UINT32_C(0x003F9AE8),
9581           UINT32_C(0x002A78C9), UINT32_C(0x000B1617), UINT32_C(0x002994FB),
9582           UINT32_C(0x0017A9C0), UINT32_C(0x002443FA), UINT32_C(0x0033C2A2),
9583           UINT32_C(0x00314877), UINT32_C(0x003E8C07), UINT32_C(0x001D6145),
9584           UINT32_C(0x0009E22B), UINT32_C(0x001E135D), UINT32_C(0x0026E0F2),
9585           UINT32_C(0x0076C01C), UINT32_C(0x0009F80A), UINT32_C(0x0038B123),
9586           UINT32_C(0x00061F27), UINT32_C(0x0037D737), UINT32_C(0x001266FA),
9587           UINT32_C(0x00194F60), UINT32_C(0x000A4432)}},
9588         {{UINT32_C(0x0031C22E), UINT32_C(0x001B7130), UINT32_C(0x001E8939),
9589           UINT32_C(0x006F4F1F), UINT32_C(0x001B084A), UINT32_C(0x000AE27B),
9590           UINT32_C(0x00243D6B), UINT32_C(0x00341897), UINT32_C(0x00185C0C),
9591           UINT32_C(0x00283264), UINT32_C(0x0033AFEF), UINT32_C(0x00273C32),
9592           UINT32_C(0x0037390A), UINT32_C(0x00216908), UINT32_C(0x0000E39D),
9593           UINT32_C(0x0022F13E), UINT32_C(0x00023196), UINT32_C(0x00266EDA),
9594           UINT32_C(0x002E74B0), UINT32_C(0x0068D67D), UINT32_C(0x0019B003),
9595           UINT32_C(0x002462D8), UINT32_C(0x001D92FD)},
9596          {UINT32_C(0x003AE17C), UINT32_C(0x00213D60), UINT32_C(0x00246509),
9597           UINT32_C(0x00243E35), UINT32_C(0x000C9ADF), UINT32_C(0x0016B366),
9598           UINT32_C(0x00061E45), UINT32_C(0x0022A2B9), UINT32_C(0x0006570F),
9599           UINT32_C(0x00302A1D), UINT32_C(0x002E384B), UINT32_C(0x00083836),
9600           UINT32_C(0x00231790), UINT32_C(0x000946A6), UINT32_C(0x001C75BC),
9601           UINT32_C(0x002F1936), UINT32_C(0x001F19E1), UINT32_C(0x0020A5E8),
9602           UINT32_C(0x002CCC4B), UINT32_C(0x003C73D2), UINT32_C(0x0013DA6B),
9603           UINT32_C(0x000150AC), UINT32_C(0x003D6E3C)},
9604          {UINT32_C(0x0048F7FB), UINT32_C(0x00078414), UINT32_C(0x0025AA31),
9605           UINT32_C(0x0024F2EA), UINT32_C(0x00251A2F), UINT32_C(0x00350186),
9606           UINT32_C(0x00242828), UINT32_C(0x001AF8F7), UINT32_C(0x001E7A82),
9607           UINT32_C(0x00180FD1), UINT32_C(0x002C709A), UINT32_C(0x00009FF0),
9608           UINT32_C(0x00243CBB), UINT32_C(0x002BA544), UINT32_C(0x000A79D6),
9609           UINT32_C(0x007FB7BA), UINT32_C(0x002E4F31), UINT32_C(0x000D9BA1),
9610           UINT32_C(0x000488DF), UINT32_C(0x002BD096), UINT32_C(0x002360FA),
9611           UINT32_C(0x003C511A), UINT32_C(0x001A1012)}},
9612         {{UINT32_C(0x000D6219), UINT32_C(0x001EB7CA), UINT32_C(0x00290FB0),
9613           UINT32_C(0x004BE668), UINT32_C(0x001673D0), UINT32_C(0x002187C6),
9614           UINT32_C(0x002109E9), UINT32_C(0x002142AD), UINT32_C(0x002B9655),
9615           UINT32_C(0x0016BB18), UINT32_C(0x000505A1), UINT32_C(0x003CF749),
9616           UINT32_C(0x000508B1), UINT32_C(0x0007750E), UINT32_C(0x0011E906),
9617           UINT32_C(0x006BC76B), UINT32_C(0x0010180A), UINT32_C(0x003F71C4),
9618           UINT32_C(0x0025BBCB), UINT32_C(0x0019E43E), UINT32_C(0x000C640C),
9619           UINT32_C(0x00023109), UINT32_C(0x0036776C)},
9620          {UINT32_C(0x007854C6), UINT32_C(0x0036123B), UINT32_C(0x000FD077),
9621           UINT32_C(0x003A6383), UINT32_C(0x00016A28), UINT32_C(0x00023347),
9622           UINT32_C(0x00355348), UINT32_C(0x00309EB3), UINT32_C(0x0013FC16),
9623           UINT32_C(0x00127D7E), UINT32_C(0x000A0B31), UINT32_C(0x00619126),
9624           UINT32_C(0x0032CE4A), UINT32_C(0x001C53EA), UINT32_C(0x00009B36),
9625           UINT32_C(0x007EBF13), UINT32_C(0x00153CEC), UINT32_C(0x002F0B2B),
9626           UINT32_C(0x001FEA94), UINT32_C(0x0018DD53), UINT32_C(0x002DFE81),
9627           UINT32_C(0x00250282), UINT32_C(0x0028BBC9)},
9628          {UINT32_C(0x006BDFE8), UINT32_C(0x003D7D6C), UINT32_C(0x003081DE),
9629           UINT32_C(0x003D3D16), UINT32_C(0x003CAB31), UINT32_C(0x001C9412),
9630           UINT32_C(0x001096D6), UINT32_C(0x0020B298), UINT32_C(0x0022CDB0),
9631           UINT32_C(0x00023945), UINT32_C(0x00319AEF), UINT32_C(0x00316D40),
9632           UINT32_C(0x001EFBBC), UINT32_C(0x0030E49F), UINT32_C(0x002D6387),
9633           UINT32_C(0x007C9B05), UINT32_C(0x000FF238), UINT32_C(0x002AB556),
9634           UINT32_C(0x001D7A21), UINT32_C(0x00746313), UINT32_C(0x002064F3),
9635           UINT32_C(0x00159471), UINT32_C(0x0006420E)}},
9636         {{UINT32_C(0x000F873E), UINT32_C(0x000A10CD), UINT32_C(0x002BE785),
9637           UINT32_C(0x0038B227), UINT32_C(0x0034217F), UINT32_C(0x001DEE7A),
9638           UINT32_C(0x000EF9FF), UINT32_C(0x00642E35), UINT32_C(0x003BBD91),
9639           UINT32_C(0x00394167), UINT32_C(0x0011C45D), UINT32_C(0x00248D59),
9640           UINT32_C(0x0006CAF4), UINT32_C(0x00356B6A), UINT32_C(0x000C93E3),
9641           UINT32_C(0x007DF1C5), UINT32_C(0x0015175F), UINT32_C(0x0006774E),
9642           UINT32_C(0x002C2F46), UINT32_C(0x0012A0B5), UINT32_C(0x0026AC43),
9643           UINT32_C(0x00316265), UINT32_C(0x0017578E)},
9644          {UINT32_C(0x00637692), UINT32_C(0x0017AA0F), UINT32_C(0x000349D7),
9645           UINT32_C(0x0042BD56), UINT32_C(0x0020AC26), UINT32_C(0x00153D2E),
9646           UINT32_C(0x003BFE98), UINT32_C(0x0045B29F), UINT32_C(0x000C665A),
9647           UINT32_C(0x0015F634), UINT32_C(0x0031F264), UINT32_C(0x0005C891),
9648           UINT32_C(0x003F619E), UINT32_C(0x0028131C), UINT32_C(0x0018D792),
9649           UINT32_C(0x006219EF), UINT32_C(0x0039BD88), UINT32_C(0x001F8951),
9650           UINT32_C(0x000E21DF), UINT32_C(0x00495EAD), UINT32_C(0x00342FCA),
9651           UINT32_C(0x00196C92), UINT32_C(0x001EF0FA)},
9652          {UINT32_C(0x0047865A), UINT32_C(0x00318D12), UINT32_C(0x003C903E),
9653           UINT32_C(0x000BD15E), UINT32_C(0x003D2D6E), UINT32_C(0x0002AA3A),
9654           UINT32_C(0x00227179), UINT32_C(0x0073CF23), UINT32_C(0x002DC1A1),
9655           UINT32_C(0x000D9B0C), UINT32_C(0x0011B186), UINT32_C(0x0068972C),
9656           UINT32_C(0x000C6DF0), UINT32_C(0x00077408), UINT32_C(0x0028FAEE),
9657           UINT32_C(0x001C3C02), UINT32_C(0x0037190A), UINT32_C(0x002F00E2),
9658           UINT32_C(0x001EC176), UINT32_C(0x00072B55), UINT32_C(0x0024E393),
9659           UINT32_C(0x0032CF55), UINT32_C(0x001437CD)}},
9660         {{UINT32_C(0x006D31AF), UINT32_C(0x00321E4E), UINT32_C(0x000CA7EE),
9661           UINT32_C(0x005ABB74), UINT32_C(0x0000C3A9), UINT32_C(0x0019A488),
9662           UINT32_C(0x001861A0), UINT32_C(0x00582F9D), UINT32_C(0x003CFD06),
9663           UINT32_C(0x002EA1AF), UINT32_C(0x0018A543), UINT32_C(0x0010F4B5),
9664           UINT32_C(0x0010715D), UINT32_C(0x001F9AF3), UINT32_C(0x0023023F),
9665           UINT32_C(0x001643E3), UINT32_C(0x00215F28), UINT32_C(0x0019FD03),
9666           UINT32_C(0x0022E874), UINT32_C(0x003DA8F6), UINT32_C(0x0039620A),
9667           UINT32_C(0x0022056A), UINT32_C(0x000EA069)},
9668          {UINT32_C(0x000518C5), UINT32_C(0x001AE0BF), UINT32_C(0x00094299),
9669           UINT32_C(0x001E2DED), UINT32_C(0x003500DA), UINT32_C(0x0009630E),
9670           UINT32_C(0x00063632), UINT32_C(0x003387CC), UINT32_C(0x00031191),
9671           UINT32_C(0x00108CFD), UINT32_C(0x00182E5F), UINT32_C(0x00683906),
9672           UINT32_C(0x000540A6), UINT32_C(0x0028D759), UINT32_C(0x001EE5BE),
9673           UINT32_C(0x00066621), UINT32_C(0x001C501A), UINT32_C(0x0013C28F),
9674           UINT32_C(0x000A2AA3), UINT32_C(0x003F6A17), UINT32_C(0x0007898A),
9675           UINT32_C(0x002E1235), UINT32_C(0x000019A8)},
9676          {UINT32_C(0x006FEED8), UINT32_C(0x001D5B2A), UINT32_C(0x003F2A5F),
9677           UINT32_C(0x00097336), UINT32_C(0x0037FB45), UINT32_C(0x002DB6D6),
9678           UINT32_C(0x002CC41F), UINT32_C(0x003D7B28), UINT32_C(0x002F8AD4),
9679           UINT32_C(0x003151FC), UINT32_C(0x001C064A), UINT32_C(0x003C6241),
9680           UINT32_C(0x00365F52), UINT32_C(0x001581A2), UINT32_C(0x000C7BF2),
9681           UINT32_C(0x002AD32B), UINT32_C(0x0009C743), UINT32_C(0x0000608A),
9682           UINT32_C(0x00282F9A), UINT32_C(0x00263A9C), UINT32_C(0x003D2500),
9683           UINT32_C(0x003476D7), UINT32_C(0x0039390A)}},
9684         {{UINT32_C(0x004F5AD3), UINT32_C(0x001444FE), UINT32_C(0x0006BAFD),
9685           UINT32_C(0x0061624F), UINT32_C(0x00011230), UINT32_C(0x00078216),
9686           UINT32_C(0x00298470), UINT32_C(0x0015013E), UINT32_C(0x003A1285),
9687           UINT32_C(0x0016EA4D), UINT32_C(0x001DD727), UINT32_C(0x001A40E5),
9688           UINT32_C(0x002D2579), UINT32_C(0x001F10D3), UINT32_C(0x00220C0B),
9689           UINT32_C(0x000EC9E4), UINT32_C(0x0026BC42), UINT32_C(0x0003AB97),
9690           UINT32_C(0x00393447), UINT32_C(0x0045B418), UINT32_C(0x0006D93B),
9691           UINT32_C(0x0010FC88), UINT32_C(0x00064A8E)},
9692          {UINT32_C(0x006BE9EA), UINT32_C(0x000CA597), UINT32_C(0x002253CF),
9693           UINT32_C(0x00638639), UINT32_C(0x002B0B51), UINT32_C(0x00030BC7),
9694           UINT32_C(0x00323019), UINT32_C(0x000CCA80), UINT32_C(0x0010E5F7),
9695           UINT32_C(0x002EC009), UINT32_C(0x0015B4CB), UINT32_C(0x00663CF0),
9696           UINT32_C(0x0035A148), UINT32_C(0x002FA75B), UINT32_C(0x00311933),
9697           UINT32_C(0x0063C853), UINT32_C(0x0011D6D9), UINT32_C(0x0037F8DF),
9698           UINT32_C(0x001CF5AA), UINT32_C(0x00151B7A), UINT32_C(0x000C96E3),
9699           UINT32_C(0x002C8326), UINT32_C(0x00016832)},
9700          {UINT32_C(0x006A5978), UINT32_C(0x001A7F02), UINT32_C(0x000354FE),
9701           UINT32_C(0x003933E3), UINT32_C(0x00071810), UINT32_C(0x000077D8),
9702           UINT32_C(0x0033A7B3), UINT32_C(0x0026F851), UINT32_C(0x0034FEF5),
9703           UINT32_C(0x0010B6DF), UINT32_C(0x003399BA), UINT32_C(0x000DFB2B),
9704           UINT32_C(0x0034476F), UINT32_C(0x00346D99), UINT32_C(0x002F557E),
9705           UINT32_C(0x0047897F), UINT32_C(0x00348DBE), UINT32_C(0x001CDE03),
9706           UINT32_C(0x002A740A), UINT32_C(0x0066E864), UINT32_C(0x0003C78B),
9707           UINT32_C(0x00028392), UINT32_C(0x0025F5DB)}},
9708     },
9709     {
9710         {{UINT32_C(0x0017286E), UINT32_C(0x000F5A5C), UINT32_C(0x0039B3CA),
9711           UINT32_C(0x001F9077), UINT32_C(0x001B296D), UINT32_C(0x0005DC87),
9712           UINT32_C(0x001D0F98), UINT32_C(0x0064781E), UINT32_C(0x00093D05),
9713           UINT32_C(0x00126B0F), UINT32_C(0x000BBA75), UINT32_C(0x0044F9E6),
9714           UINT32_C(0x0028E04B), UINT32_C(0x0020A55E), UINT32_C(0x0012F73B),
9715           UINT32_C(0x002CF153), UINT32_C(0x0021678C), UINT32_C(0x002F8222),
9716           UINT32_C(0x0015DD38), UINT32_C(0x00687C5D), UINT32_C(0x0027B303),
9717           UINT32_C(0x003155B8), UINT32_C(0x002B5FB6)},
9718          {UINT32_C(0x0041E5E6), UINT32_C(0x0006CE3F), UINT32_C(0x000699C4),
9719           UINT32_C(0x001B1A07), UINT32_C(0x0008BE9D), UINT32_C(0x000A3A3E),
9720           UINT32_C(0x00229979), UINT32_C(0x005014A4), UINT32_C(0x0002F0CB),
9721           UINT32_C(0x003B52A9), UINT32_C(0x00083FDD), UINT32_C(0x0047E479),
9722           UINT32_C(0x0009DD35), UINT32_C(0x00391B43), UINT32_C(0x0021E9C2),
9723           UINT32_C(0x004D6C1F), UINT32_C(0x000D8AB1), UINT32_C(0x002AC33D),
9724           UINT32_C(0x003F840F), UINT32_C(0x00713093), UINT32_C(0x001F7D6C),
9725           UINT32_C(0x0000637C), UINT32_C(0x002A1B17)},
9726          {UINT32_C(0x002A0728), UINT32_C(0x0022B9B0), UINT32_C(0x00120094),
9727           UINT32_C(0x006AF4E8), UINT32_C(0x003A01D1), UINT32_C(0x002767DB),
9728           UINT32_C(0x00238927), UINT32_C(0x0068635D), UINT32_C(0x0003EA0A),
9729           UINT32_C(0x000FE41F), UINT32_C(0x003CB1CE), UINT32_C(0x00133FA4),
9730           UINT32_C(0x002B3010), UINT32_C(0x000D5D89), UINT32_C(0x000F339F),
9731           UINT32_C(0x005D46A1), UINT32_C(0x00290D2D), UINT32_C(0x001FC5BE),
9732           UINT32_C(0x0003A00F), UINT32_C(0x0062DC95), UINT32_C(0x0037CAB9),
9733           UINT32_C(0x002A05E9), UINT32_C(0x002BBC6F)}},
9734         {{UINT32_C(0x00706744), UINT32_C(0x0019DB10), UINT32_C(0x003F9B5C),
9735           UINT32_C(0x000F3E76), UINT32_C(0x001B2506), UINT32_C(0x00127BDF),
9736           UINT32_C(0x000EB38D), UINT32_C(0x00042E3C), UINT32_C(0x0003DF4C),
9737           UINT32_C(0x003B146C), UINT32_C(0x00395196), UINT32_C(0x0018E1D3),
9738           UINT32_C(0x000F2464), UINT32_C(0x00307EFB), UINT32_C(0x002A190A),
9739           UINT32_C(0x0058D3B4), UINT32_C(0x0012C74A), UINT32_C(0x00195650),
9740           UINT32_C(0x000C0BF0), UINT32_C(0x001892B5), UINT32_C(0x0006770F),
9741           UINT32_C(0x001A228B), UINT32_C(0x003113A8)},
9742          {UINT32_C(0x007384A0), UINT32_C(0x00041291), UINT32_C(0x00123686),
9743           UINT32_C(0x001AD842), UINT32_C(0x001E3157), UINT32_C(0x0007A754),
9744           UINT32_C(0x000905E0), UINT32_C(0x003BC7D8), UINT32_C(0x00116FE2),
9745           UINT32_C(0x002D132F), UINT32_C(0x000E6646), UINT32_C(0x0064D804),
9746           UINT32_C(0x001BA830), UINT32_C(0x003695CB), UINT32_C(0x00173E41),
9747           UINT32_C(0x005CFDBC), UINT32_C(0x002188CF), UINT32_C(0x001C1011),
9748           UINT32_C(0x0019A6D6), UINT32_C(0x004789C9), UINT32_C(0x0032435A),
9749           UINT32_C(0x002B1970), UINT32_C(0x003D40A8)},
9750          {UINT32_C(0x00334E7F), UINT32_C(0x000C23F4), UINT32_C(0x00160B20),
9751           UINT32_C(0x003BF3EA), UINT32_C(0x003B5299), UINT32_C(0x001D3EC2),
9752           UINT32_C(0x0036DAE9), UINT32_C(0x0058023B), UINT32_C(0x000B5EAF),
9753           UINT32_C(0x00371744), UINT32_C(0x000EF4D7), UINT32_C(0x0008817F),
9754           UINT32_C(0x0002BE7F), UINT32_C(0x001EB13E), UINT32_C(0x002D1A5F),
9755           UINT32_C(0x0069630F), UINT32_C(0x00093D58), UINT32_C(0x0036D385),
9756           UINT32_C(0x002A3045), UINT32_C(0x0025C26B), UINT32_C(0x00111E19),
9757           UINT32_C(0x001756BF), UINT32_C(0x0035B39D)}},
9758         {{UINT32_C(0x00545C3C), UINT32_C(0x00137D2C), UINT32_C(0x000E7FAB),
9759           UINT32_C(0x000EB9AF), UINT32_C(0x002789FC), UINT32_C(0x001EF592),
9760           UINT32_C(0x0034210A), UINT32_C(0x002A5180), UINT32_C(0x0023EDAE),
9761           UINT32_C(0x000307F6), UINT32_C(0x0023CFAC), UINT32_C(0x001BF315),
9762           UINT32_C(0x0020B287), UINT32_C(0x000A3DE8), UINT32_C(0x00189938),
9763           UINT32_C(0x00378524), UINT32_C(0x002DEDDF), UINT32_C(0x00215405),
9764           UINT32_C(0x001398B5), UINT32_C(0x004827A1), UINT32_C(0x0018A82A),
9765           UINT32_C(0x000AB6B7), UINT32_C(0x00214B8A)},
9766          {UINT32_C(0x001B6EE1), UINT32_C(0x00134930), UINT32_C(0x002CB43D),
9767           UINT32_C(0x004DC974), UINT32_C(0x0031EAF7), UINT32_C(0x003BDA7E),
9768           UINT32_C(0x0033618E), UINT32_C(0x004A982D), UINT32_C(0x001B6E94),
9769           UINT32_C(0x000D4749), UINT32_C(0x0007D19B), UINT32_C(0x005FAAB5),
9770           UINT32_C(0x003F714A), UINT32_C(0x000E57A9), UINT32_C(0x0028FDD3),
9771           UINT32_C(0x0075BD17), UINT32_C(0x003D774F), UINT32_C(0x000E4D55),
9772           UINT32_C(0x003CA227), UINT32_C(0x000DF34F), UINT32_C(0x0028970F),
9773           UINT32_C(0x0036F5EA), UINT32_C(0x0022BC1B)},
9774          {UINT32_C(0x00475039), UINT32_C(0x00230014), UINT32_C(0x001FEA38),
9775           UINT32_C(0x005CCC55), UINT32_C(0x003C6941), UINT32_C(0x0022517F),
9776           UINT32_C(0x002D30E5), UINT32_C(0x00309B25), UINT32_C(0x00034CC8),
9777           UINT32_C(0x00356ED5), UINT32_C(0x0014FCA5), UINT32_C(0x0036104B),
9778           UINT32_C(0x001D0F11), UINT32_C(0x00273D12), UINT32_C(0x00170F1B),
9779           UINT32_C(0x0076D103), UINT32_C(0x001F613D), UINT32_C(0x001C9D53),
9780           UINT32_C(0x001F1400), UINT32_C(0x0076A382), UINT32_C(0x0025000D),
9781           UINT32_C(0x003B5419), UINT32_C(0x0015987C)}},
9782         {{UINT32_C(0x007F4AC5), UINT32_C(0x0008E500), UINT32_C(0x00016BA4),
9783           UINT32_C(0x007474E5), UINT32_C(0x0009CFB4), UINT32_C(0x001D6BB8),
9784           UINT32_C(0x003B23DD), UINT32_C(0x005DB100), UINT32_C(0x0008843B),
9785           UINT32_C(0x0012DA0A), UINT32_C(0x0024794D), UINT32_C(0x0026577B),
9786           UINT32_C(0x00240E5E), UINT32_C(0x00346C8E), UINT32_C(0x0027DC8C),
9787           UINT32_C(0x00634650), UINT32_C(0x00195F50), UINT32_C(0x00071E58),
9788           UINT32_C(0x000A83CF), UINT32_C(0x001B8E3D), UINT32_C(0x001D4281),
9789           UINT32_C(0x0014D35D), UINT32_C(0x002C222C)},
9790          {UINT32_C(0x0020B3A0), UINT32_C(0x0006028D), UINT32_C(0x002EB45A),
9791           UINT32_C(0x003DF458), UINT32_C(0x001D376C), UINT32_C(0x0018C400),
9792           UINT32_C(0x002C3A24), UINT32_C(0x00319F9A), UINT32_C(0x00022C40),
9793           UINT32_C(0x0002F8C6), UINT32_C(0x0022E290), UINT32_C(0x0026FD32),
9794           UINT32_C(0x00035216), UINT32_C(0x001D9C11), UINT32_C(0x001789F2),
9795           UINT32_C(0x000B1E8A), UINT32_C(0x000A64CD), UINT32_C(0x002909D1),
9796           UINT32_C(0x003F99FB), UINT32_C(0x0053ECE7), UINT32_C(0x00067860),
9797           UINT32_C(0x002534B2), UINT32_C(0x003F2F3F)},
9798          {UINT32_C(0x00231268), UINT32_C(0x000ED62F), UINT32_C(0x0031D715),
9799           UINT32_C(0x00518514), UINT32_C(0x003D37EF), UINT32_C(0x00083CBE),
9800           UINT32_C(0x001E2CE4), UINT32_C(0x007EC3F7), UINT32_C(0x0038FE97),
9801           UINT32_C(0x0018E538), UINT32_C(0x0014EF47), UINT32_C(0x007E9282),
9802           UINT32_C(0x002D63F2), UINT32_C(0x003161B4), UINT32_C(0x0039ADC6),
9803           UINT32_C(0x0007BA2A), UINT32_C(0x001FF255), UINT32_C(0x001874F8),
9804           UINT32_C(0x000AF0FD), UINT32_C(0x002AAAB7), UINT32_C(0x00298743),
9805           UINT32_C(0x00333D31), UINT32_C(0x000E50E3)}},
9806         {{UINT32_C(0x000F76FA), UINT32_C(0x001833CD), UINT32_C(0x0016A2D3),
9807           UINT32_C(0x006A2D69), UINT32_C(0x0002F385), UINT32_C(0x001F8454),
9808           UINT32_C(0x003FE32A), UINT32_C(0x004BABD6), UINT32_C(0x0003FDDB),
9809           UINT32_C(0x0012096E), UINT32_C(0x0024DC23), UINT32_C(0x00636CE5),
9810           UINT32_C(0x00055CB4), UINT32_C(0x0004F203), UINT32_C(0x0022C2DF),
9811           UINT32_C(0x00599D77), UINT32_C(0x0038B010), UINT32_C(0x003624FA),
9812           UINT32_C(0x002121D8), UINT32_C(0x006EB595), UINT32_C(0x000EB1AE),
9813           UINT32_C(0x0033B6F0), UINT32_C(0x001072A8)},
9814          {UINT32_C(0x00660A55), UINT32_C(0x000C0424), UINT32_C(0x0013326F),
9815           UINT32_C(0x00530EFA), UINT32_C(0x00038052), UINT32_C(0x003A7413),
9816           UINT32_C(0x0000B6CF), UINT32_C(0x0025BA64), UINT32_C(0x0006A2BE),
9817           UINT32_C(0x0039B086), UINT32_C(0x0007574E), UINT32_C(0x0018FDBB),
9818           UINT32_C(0x000714B1), UINT32_C(0x0026708B), UINT32_C(0x000515A5),
9819           UINT32_C(0x0043DEFC), UINT32_C(0x002CE885), UINT32_C(0x00171175),
9820           UINT32_C(0x002570F1), UINT32_C(0x004EE75A), UINT32_C(0x001930E0),
9821           UINT32_C(0x00155BBD), UINT32_C(0x000C64C5)},
9822          {UINT32_C(0x0034919D), UINT32_C(0x001443DB), UINT32_C(0x003E9123),
9823           UINT32_C(0x000E1842), UINT32_C(0x003545C9), UINT32_C(0x00098DB4),
9824           UINT32_C(0x00184A4D), UINT32_C(0x005DAFC4), UINT32_C(0x00098F85),
9825           UINT32_C(0x001EA9C6), UINT32_C(0x0023826A), UINT32_C(0x0069B06D),
9826           UINT32_C(0x001DFBA9), UINT32_C(0x000798BE), UINT32_C(0x000AE8AF),
9827           UINT32_C(0x00236B65), UINT32_C(0x001846C8), UINT32_C(0x003AB8DD),
9828           UINT32_C(0x002C7DB0), UINT32_C(0x00074EA7), UINT32_C(0x002DF25B),
9829           UINT32_C(0x001C28C7), UINT32_C(0x0025B6DE)}},
9830         {{UINT32_C(0x0063C056), UINT32_C(0x000F0F64), UINT32_C(0x0003AF88),
9831           UINT32_C(0x0026EF3F), UINT32_C(0x000ACF8A), UINT32_C(0x003B178B),
9832           UINT32_C(0x001A1B3F), UINT32_C(0x002802BE), UINT32_C(0x00141F1B),
9833           UINT32_C(0x001188F2), UINT32_C(0x003B7121), UINT32_C(0x0004B6A3),
9834           UINT32_C(0x0017E723), UINT32_C(0x0015DF00), UINT32_C(0x00395BAE),
9835           UINT32_C(0x0012A3E3), UINT32_C(0x000D5B27), UINT32_C(0x000EF7A7),
9836           UINT32_C(0x00108148), UINT32_C(0x0027EAAD), UINT32_C(0x000BC9DC),
9837           UINT32_C(0x00229BC0), UINT32_C(0x003E724E)},
9838          {UINT32_C(0x0065E7F8), UINT32_C(0x001505D9), UINT32_C(0x002AC40C),
9839           UINT32_C(0x003163A4), UINT32_C(0x003EDF4D), UINT32_C(0x0004F661),
9840           UINT32_C(0x003262E7), UINT32_C(0x003B5607), UINT32_C(0x002D19B3),
9841           UINT32_C(0x00107A09), UINT32_C(0x000F13CC), UINT32_C(0x004C7800),
9842           UINT32_C(0x0035B8E6), UINT32_C(0x00254CD7), UINT32_C(0x0006103F),
9843           UINT32_C(0x0041F4F8), UINT32_C(0x00122E7D), UINT32_C(0x00201C99),
9844           UINT32_C(0x003F9160), UINT32_C(0x0056128E), UINT32_C(0x0032FA32),
9845           UINT32_C(0x0019A4A9), UINT32_C(0x002E0115)},
9846          {UINT32_C(0x0012D79A), UINT32_C(0x000A6E34), UINT32_C(0x0008D368),
9847           UINT32_C(0x001977F5), UINT32_C(0x0011E966), UINT32_C(0x00123FE5),
9848           UINT32_C(0x00343FAC), UINT32_C(0x0012E1C9), UINT32_C(0x001AFF6C),
9849           UINT32_C(0x0023C0EC), UINT32_C(0x003A2A35), UINT32_C(0x005016A3),
9850           UINT32_C(0x002CF3B6), UINT32_C(0x00078BE6), UINT32_C(0x0008BE88),
9851           UINT32_C(0x005FC4FE), UINT32_C(0x00002694), UINT32_C(0x00258B13),
9852           UINT32_C(0x000ABDAE), UINT32_C(0x004B9DF4), UINT32_C(0x00187A2F),
9853           UINT32_C(0x0036EC5B), UINT32_C(0x002B7DF6)}},
9854         {{UINT32_C(0x006DAE2C), UINT32_C(0x00032CF3), UINT32_C(0x002D7562),
9855           UINT32_C(0x0032FF5D), UINT32_C(0x00070816), UINT32_C(0x000D011D),
9856           UINT32_C(0x000E17B7), UINT32_C(0x0038556C), UINT32_C(0x003DA262),
9857           UINT32_C(0x000AC037), UINT32_C(0x00112AE7), UINT32_C(0x001EB223),
9858           UINT32_C(0x002587C3), UINT32_C(0x001A3F55), UINT32_C(0x0022E756),
9859           UINT32_C(0x007D6544), UINT32_C(0x0035E36C), UINT32_C(0x00298741),
9860           UINT32_C(0x001945D2), UINT32_C(0x007E68FA), UINT32_C(0x003F5793),
9861           UINT32_C(0x0013306C), UINT32_C(0x00021451)},
9862          {UINT32_C(0x007CB839), UINT32_C(0x001964D3), UINT32_C(0x0007ED8E),
9863           UINT32_C(0x003AEF58), UINT32_C(0x002BC177), UINT32_C(0x000F6696),
9864           UINT32_C(0x0001CAEB), UINT32_C(0x00509C2B), UINT32_C(0x003F5DBB),
9865           UINT32_C(0x001131ED), UINT32_C(0x00151301), UINT32_C(0x0031F44F),
9866           UINT32_C(0x001D60F9), UINT32_C(0x001A36A3), UINT32_C(0x002696D3),
9867           UINT32_C(0x00713749), UINT32_C(0x000415F4), UINT32_C(0x000C2E1E),
9868           UINT32_C(0x0018E7EE), UINT32_C(0x006737C5), UINT32_C(0x00071BB7),
9869           UINT32_C(0x0008C358), UINT32_C(0x001F1407)},
9870          {UINT32_C(0x0042C734), UINT32_C(0x00009034), UINT32_C(0x001689FC),
9871           UINT32_C(0x00066E68), UINT32_C(0x0018F756), UINT32_C(0x001DCFDF),
9872           UINT32_C(0x00083DCC), UINT32_C(0x003841C9), UINT32_C(0x000DD192),
9873           UINT32_C(0x00122593), UINT32_C(0x0031A8DD), UINT32_C(0x00341616),
9874           UINT32_C(0x00196D74), UINT32_C(0x000B8D12), UINT32_C(0x000B5714),
9875           UINT32_C(0x006030FC), UINT32_C(0x00390678), UINT32_C(0x003AB96C),
9876           UINT32_C(0x00053F6E), UINT32_C(0x002C04AB), UINT32_C(0x001D12C3),
9877           UINT32_C(0x0035009E), UINT32_C(0x003DC316)}},
9878         {{UINT32_C(0x003D2EE8), UINT32_C(0x000EDDF2), UINT32_C(0x0016BD70),
9879           UINT32_C(0x00320C0C), UINT32_C(0x00052F43), UINT32_C(0x002FA0A8),
9880           UINT32_C(0x00065472), UINT32_C(0x00029362), UINT32_C(0x002C27A2),
9881           UINT32_C(0x0005E1BB), UINT32_C(0x0019992C), UINT32_C(0x00030905),
9882           UINT32_C(0x000BF0F4), UINT32_C(0x00209691), UINT32_C(0x00350247),
9883           UINT32_C(0x0057E044), UINT32_C(0x000E41CD), UINT32_C(0x0017F9EE),
9884           UINT32_C(0x00078967), UINT32_C(0x006ACE99), UINT32_C(0x0007C820),
9885           UINT32_C(0x00113D5C), UINT32_C(0x0038DA0A)},
9886          {UINT32_C(0x00083FE6), UINT32_C(0x001C1BC1), UINT32_C(0x000EB8D8),
9887           UINT32_C(0x0007692B), UINT32_C(0x00281516), UINT32_C(0x00155672),
9888           UINT32_C(0x000D8B29), UINT32_C(0x003E13E4), UINT32_C(0x003138BC),
9889           UINT32_C(0x003CACE6), UINT32_C(0x0035FA0F), UINT32_C(0x0023164A),
9890           UINT32_C(0x000EC9E6), UINT32_C(0x0023B1C7), UINT32_C(0x00225BFF),
9891           UINT32_C(0x007740C9), UINT32_C(0x0030F788), UINT32_C(0x00006D8C),
9892           UINT32_C(0x0002D6BD), UINT32_C(0x002603CE), UINT32_C(0x0005485E),
9893           UINT32_C(0x000E66C9), UINT32_C(0x00019E3E)},
9894          {UINT32_C(0x001300D5), UINT32_C(0x002C1C24), UINT32_C(0x0032064C),
9895           UINT32_C(0x0043F0E6), UINT32_C(0x000860BC), UINT32_C(0x0014A553),
9896           UINT32_C(0x0036075B), UINT32_C(0x001987D7), UINT32_C(0x002754F6),
9897           UINT32_C(0x00385EEF), UINT32_C(0x0013D858), UINT32_C(0x002C23BB),
9898           UINT32_C(0x0032C81D), UINT32_C(0x000E6F7D), UINT32_C(0x003C8EB3),
9899           UINT32_C(0x003644D0), UINT32_C(0x0013D21A), UINT32_C(0x0031FB11),
9900           UINT32_C(0x0028B7B0), UINT32_C(0x000E500E), UINT32_C(0x001DA66D),
9901           UINT32_C(0x0020B336), UINT32_C(0x00364559)}},
9902         {{UINT32_C(0x0008F24B), UINT32_C(0x003022F1), UINT32_C(0x00292D14),
9903           UINT32_C(0x00009DB0), UINT32_C(0x0012884B), UINT32_C(0x002CB622),
9904           UINT32_C(0x0009D61F), UINT32_C(0x0010FF0B), UINT32_C(0x0005C248),
9905           UINT32_C(0x00128DF1), UINT32_C(0x0014DD06), UINT32_C(0x0006C833),
9906           UINT32_C(0x00177E25), UINT32_C(0x00037C0E), UINT32_C(0x0029C2CD),
9907           UINT32_C(0x00072DE1), UINT32_C(0x001F0312), UINT32_C(0x0013FA86),
9908           UINT32_C(0x002E1D55), UINT32_C(0x000102DE), UINT32_C(0x00326586),
9909           UINT32_C(0x00089C95), UINT32_C(0x000D11CA)},
9910          {UINT32_C(0x001E5A41), UINT32_C(0x0014B02F), UINT32_C(0x002AFDA8),
9911           UINT32_C(0x003C8A99), UINT32_C(0x00304A64), UINT32_C(0x00254B15),
9912           UINT32_C(0x0001DEB3), UINT32_C(0x00481E27), UINT32_C(0x0032A61C),
9913           UINT32_C(0x000D6970), UINT32_C(0x00182CAA), UINT32_C(0x0034EC0A),
9914           UINT32_C(0x0019A25D), UINT32_C(0x001C8588), UINT32_C(0x003F689B),
9915           UINT32_C(0x00233BD8), UINT32_C(0x003ABCAA), UINT32_C(0x0033E7AF),
9916           UINT32_C(0x00375FA3), UINT32_C(0x001C8D11), UINT32_C(0x0021737A),
9917           UINT32_C(0x00102C76), UINT32_C(0x000C7526)},
9918          {UINT32_C(0x00352E1E), UINT32_C(0x002092B9), UINT32_C(0x0008105C),
9919           UINT32_C(0x007FB15D), UINT32_C(0x00255DD0), UINT32_C(0x000F061B),
9920           UINT32_C(0x0016C72F), UINT32_C(0x006E33F5), UINT32_C(0x003A9DD5),
9921           UINT32_C(0x0039695D), UINT32_C(0x003502FE), UINT32_C(0x003A705F),
9922           UINT32_C(0x00370221), UINT32_C(0x0030642F), UINT32_C(0x00163D04),
9923           UINT32_C(0x007BF9AC), UINT32_C(0x000A4C37), UINT32_C(0x001E0389),
9924           UINT32_C(0x001214FF), UINT32_C(0x001FF3D6), UINT32_C(0x003D5C3D),
9925           UINT32_C(0x0028CF11), UINT32_C(0x001AAA6A)}},
9926         {{UINT32_C(0x005BF790), UINT32_C(0x0007D0F3), UINT32_C(0x0001C51D),
9927           UINT32_C(0x0020772C), UINT32_C(0x00200268), UINT32_C(0x0001B52F),
9928           UINT32_C(0x00279ABE), UINT32_C(0x001F71CF), UINT32_C(0x00375D44),
9929           UINT32_C(0x000F0F65), UINT32_C(0x0027410E), UINT32_C(0x003D9BE0),
9930           UINT32_C(0x002C960C), UINT32_C(0x00003C9C), UINT32_C(0x003A7A25),
9931           UINT32_C(0x004F1756), UINT32_C(0x002CBE23), UINT32_C(0x0004069A),
9932           UINT32_C(0x00182C17), UINT32_C(0x005CFAF2), UINT32_C(0x00026993),
9933           UINT32_C(0x0009DA3A), UINT32_C(0x0039F360)},
9934          {UINT32_C(0x00364E82), UINT32_C(0x000346D3), UINT32_C(0x003D3445),
9935           UINT32_C(0x0000A6B7), UINT32_C(0x00037BD7), UINT32_C(0x001658EC),
9936           UINT32_C(0x0000B914), UINT32_C(0x006FA605), UINT32_C(0x001454EB),
9937           UINT32_C(0x002CE3C8), UINT32_C(0x003D9ACC), UINT32_C(0x007AF12D),
9938           UINT32_C(0x0021D6DC), UINT32_C(0x002CC083), UINT32_C(0x001879BA),
9939           UINT32_C(0x0051EE63), UINT32_C(0x0019F677), UINT32_C(0x0010AD1F),
9940           UINT32_C(0x002A0F9B), UINT32_C(0x0041EA60), UINT32_C(0x00277936),
9941           UINT32_C(0x00380AD2), UINT32_C(0x001D4704)},
9942          {UINT32_C(0x004BFEC6), UINT32_C(0x0001B656), UINT32_C(0x002537A7),
9943           UINT32_C(0x0074F164), UINT32_C(0x003DAAEE), UINT32_C(0x0030B1B3),
9944           UINT32_C(0x0028EFD7), UINT32_C(0x0063000E), UINT32_C(0x002E7006),
9945           UINT32_C(0x0006D43F), UINT32_C(0x003A92B0), UINT32_C(0x005CBF0D),
9946           UINT32_C(0x001B3D1C), UINT32_C(0x00155A03), UINT32_C(0x0013BCFB),
9947           UINT32_C(0x0022E3EA), UINT32_C(0x0009A093), UINT32_C(0x00372B6D),
9948           UINT32_C(0x003B3D4A), UINT32_C(0x0022BBAE), UINT32_C(0x002C8021),
9949           UINT32_C(0x002F7ACB), UINT32_C(0x002885FE)}},
9950         {{UINT32_C(0x003234EF), UINT32_C(0x0029B8C5), UINT32_C(0x001AE10C),
9951           UINT32_C(0x0016CD11), UINT32_C(0x003ACD42), UINT32_C(0x0009111E),
9952           UINT32_C(0x002E5197), UINT32_C(0x000CF7DD), UINT32_C(0x0002A45E),
9953           UINT32_C(0x0013DCB9), UINT32_C(0x0011DF8A), UINT32_C(0x0041E6A2),
9954           UINT32_C(0x003D6BEC), UINT32_C(0x0019831C), UINT32_C(0x0026F1BD),
9955           UINT32_C(0x001F02BE), UINT32_C(0x00291AD9), UINT32_C(0x000AEAD3),
9956           UINT32_C(0x000655DB), UINT32_C(0x004C8DC1), UINT32_C(0x0027BF77),
9957           UINT32_C(0x0017E4AD), UINT32_C(0x00376E83)},
9958          {UINT32_C(0x006C4C88), UINT32_C(0x003238DA), UINT32_C(0x000D5920),
9959           UINT32_C(0x002DB750), UINT32_C(0x0035FA90), UINT32_C(0x000C2BC9),
9960           UINT32_C(0x002DB3D0), UINT32_C(0x00373A80), UINT32_C(0x002E0271),
9961           UINT32_C(0x003818B5), UINT32_C(0x003209D6), UINT32_C(0x003D0A96),
9962           UINT32_C(0x0007BE66), UINT32_C(0x00306A1A), UINT32_C(0x001E42D6),
9963           UINT32_C(0x0021C5C7), UINT32_C(0x00255B61), UINT32_C(0x002E2400),
9964           UINT32_C(0x000B30C1), UINT32_C(0x0012F49E), UINT32_C(0x000E248A),
9965           UINT32_C(0x003BBE77), UINT32_C(0x0008EEED)},
9966          {UINT32_C(0x0014067A), UINT32_C(0x002CF299), UINT32_C(0x00082BEF),
9967           UINT32_C(0x00130694), UINT32_C(0x0018C073), UINT32_C(0x000CA3AA),
9968           UINT32_C(0x00128835), UINT32_C(0x0023457E), UINT32_C(0x000FF51F),
9969           UINT32_C(0x003F8C44), UINT32_C(0x003FA288), UINT32_C(0x00269665),
9970           UINT32_C(0x00080B90), UINT32_C(0x000CFEE1), UINT32_C(0x003F3285),
9971           UINT32_C(0x000DF6EE), UINT32_C(0x000B1087), UINT32_C(0x00107D3D),
9972           UINT32_C(0x00311E7D), UINT32_C(0x007CA53C), UINT32_C(0x0033FCA6),
9973           UINT32_C(0x00263A19), UINT32_C(0x00363624)}},
9974         {{UINT32_C(0x001DDC6C), UINT32_C(0x003A0EDE), UINT32_C(0x001408D0),
9975           UINT32_C(0x001EEE7B), UINT32_C(0x001405FC), UINT32_C(0x00128750),
9976           UINT32_C(0x002CA34C), UINT32_C(0x0000FBEA), UINT32_C(0x0006137A),
9977           UINT32_C(0x00370D1A), UINT32_C(0x003B6A04), UINT32_C(0x00057D79),
9978           UINT32_C(0x0028B50F), UINT32_C(0x0013A132), UINT32_C(0x0007EB68),
9979           UINT32_C(0x007A7017), UINT32_C(0x002517C9), UINT32_C(0x00219256),
9980           UINT32_C(0x003E617C), UINT32_C(0x00456ECE), UINT32_C(0x0011278F),
9981           UINT32_C(0x001624F1), UINT32_C(0x0003C0F7)},
9982          {UINT32_C(0x000AF6C0), UINT32_C(0x003DA705), UINT32_C(0x000CC5A4),
9983           UINT32_C(0x00045A7B), UINT32_C(0x0030E620), UINT32_C(0x0005489D),
9984           UINT32_C(0x00350783), UINT32_C(0x00053DBD), UINT32_C(0x0016C68B),
9985           UINT32_C(0x002D182B), UINT32_C(0x00294A05), UINT32_C(0x00749DE2),
9986           UINT32_C(0x000DDD4D), UINT32_C(0x003B31A2), UINT32_C(0x00197D97),
9987           UINT32_C(0x006BBE3E), UINT32_C(0x003FF605), UINT32_C(0x00049D4F),
9988           UINT32_C(0x00312E4D), UINT32_C(0x003F5019), UINT32_C(0x003E1C7F),
9989           UINT32_C(0x003D1C1D), UINT32_C(0x003D261E)},
9990          {UINT32_C(0x0026418D), UINT32_C(0x00292458), UINT32_C(0x001A1FC4),
9991           UINT32_C(0x00617DF6), UINT32_C(0x0024EEF7), UINT32_C(0x000F2BD5),
9992           UINT32_C(0x0034E0B9), UINT32_C(0x006C6D66), UINT32_C(0x00074BA2),
9993           UINT32_C(0x001A4D76), UINT32_C(0x00306BE0), UINT32_C(0x0002376E),
9994           UINT32_C(0x0005EF92), UINT32_C(0x003EBB91), UINT32_C(0x0024BA60),
9995           UINT32_C(0x001BA73C), UINT32_C(0x00222A6B), UINT32_C(0x0018DAEF),
9996           UINT32_C(0x00141DE7), UINT32_C(0x00390908), UINT32_C(0x0035530C),
9997           UINT32_C(0x0002CD8D), UINT32_C(0x00077882)}},
9998         {{UINT32_C(0x00440DE3), UINT32_C(0x002D9BF2), UINT32_C(0x000C1E19),
9999           UINT32_C(0x0013C1C8), UINT32_C(0x00318020), UINT32_C(0x001DCAEC),
10000           UINT32_C(0x00064315), UINT32_C(0x00335FB3), UINT32_C(0x00146401),
10001           UINT32_C(0x0035671E), UINT32_C(0x0008E31D), UINT32_C(0x0069E0DB),
10002           UINT32_C(0x00071FA1), UINT32_C(0x0039CF3B), UINT32_C(0x0018E811),
10003           UINT32_C(0x002DB19F), UINT32_C(0x001279C0), UINT32_C(0x0029FDEB),
10004           UINT32_C(0x002EF592), UINT32_C(0x005F5F4A), UINT32_C(0x000A323A),
10005           UINT32_C(0x002C8BBB), UINT32_C(0x00326780)},
10006          {UINT32_C(0x000CB270), UINT32_C(0x00086BD0), UINT32_C(0x0036C911),
10007           UINT32_C(0x0005F16E), UINT32_C(0x00359A7C), UINT32_C(0x0033FFDF),
10008           UINT32_C(0x002FE3CF), UINT32_C(0x00286EBC), UINT32_C(0x00282C12),
10009           UINT32_C(0x0032282A), UINT32_C(0x002231DA), UINT32_C(0x00000319),
10010           UINT32_C(0x003D8930), UINT32_C(0x002056B8), UINT32_C(0x003104E7),
10011           UINT32_C(0x0006E83C), UINT32_C(0x0003636A), UINT32_C(0x0024CB95),
10012           UINT32_C(0x002DE038), UINT32_C(0x00081E87), UINT32_C(0x0034B889),
10013           UINT32_C(0x000F9915), UINT32_C(0x00310022)},
10014          {UINT32_C(0x0040A26D), UINT32_C(0x002410E6), UINT32_C(0x0033665C),
10015           UINT32_C(0x005EB45D), UINT32_C(0x0001C554), UINT32_C(0x00031D73),
10016           UINT32_C(0x000EA84F), UINT32_C(0x006564D6), UINT32_C(0x001F3357),
10017           UINT32_C(0x0020481A), UINT32_C(0x00180940), UINT32_C(0x003BF11D),
10018           UINT32_C(0x002AF372), UINT32_C(0x002559BC), UINT32_C(0x00178008),
10019           UINT32_C(0x000A361C), UINT32_C(0x0037281D), UINT32_C(0x000742C0),
10020           UINT32_C(0x003B03D2), UINT32_C(0x005EBA80), UINT32_C(0x003348EE),
10021           UINT32_C(0x00332C9E), UINT32_C(0x00131D23)}},
10022         {{UINT32_C(0x004F558D), UINT32_C(0x00110D2E), UINT32_C(0x0010B290),
10023           UINT32_C(0x00298F39), UINT32_C(0x001A9DD0), UINT32_C(0x00045042),
10024           UINT32_C(0x00074453), UINT32_C(0x0031D6D7), UINT32_C(0x0007787F),
10025           UINT32_C(0x002DAAA8), UINT32_C(0x003148F0), UINT32_C(0x00014722),
10026           UINT32_C(0x001A5F6A), UINT32_C(0x00101BC3), UINT32_C(0x00127243),
10027           UINT32_C(0x007D18A1), UINT32_C(0x002A51D2), UINT32_C(0x0025ED49),
10028           UINT32_C(0x003D93AC), UINT32_C(0x0000A172), UINT32_C(0x002D4427),
10029           UINT32_C(0x0035288C), UINT32_C(0x000733E5)},
10030          {UINT32_C(0x004F5F03), UINT32_C(0x003E1845), UINT32_C(0x0006AEB2),
10031           UINT32_C(0x0072B386), UINT32_C(0x00309DB4), UINT32_C(0x002E4AE4),
10032           UINT32_C(0x001C33C4), UINT32_C(0x0064AA28), UINT32_C(0x003A80E7),
10033           UINT32_C(0x0018D735), UINT32_C(0x0035E7AB), UINT32_C(0x0049C50A),
10034           UINT32_C(0x0011BF7D), UINT32_C(0x001CF85A), UINT32_C(0x00310DD1),
10035           UINT32_C(0x00755DE3), UINT32_C(0x001EF133), UINT32_C(0x0019EC22),
10036           UINT32_C(0x00093BF1), UINT32_C(0x0079C3FF), UINT32_C(0x0035788E),
10037           UINT32_C(0x003BCE6D), UINT32_C(0x00319941)},
10038          {UINT32_C(0x00320489), UINT32_C(0x0013DD6F), UINT32_C(0x0030C812),
10039           UINT32_C(0x0058EFB4), UINT32_C(0x00199A57), UINT32_C(0x0001DCC5),
10040           UINT32_C(0x00397377), UINT32_C(0x006262B8), UINT32_C(0x002B88C5),
10041           UINT32_C(0x0009A7A2), UINT32_C(0x000243A8), UINT32_C(0x000FE111),
10042           UINT32_C(0x00388C89), UINT32_C(0x0011A2E9), UINT32_C(0x00227DAE),
10043           UINT32_C(0x004E02B8), UINT32_C(0x0004E7BC), UINT32_C(0x0003B33F),
10044           UINT32_C(0x0003C0C6), UINT32_C(0x0025DF7E), UINT32_C(0x003A82E0),
10045           UINT32_C(0x003930EE), UINT32_C(0x0013C142)}},
10046         {{UINT32_C(0x0066CDFE), UINT32_C(0x000F2EAC), UINT32_C(0x00131171),
10047           UINT32_C(0x000D830C), UINT32_C(0x00073ABF), UINT32_C(0x0006D5DB),
10048           UINT32_C(0x0019F2ED), UINT32_C(0x007D8846), UINT32_C(0x002CDE7E),
10049           UINT32_C(0x001F8420), UINT32_C(0x00248809), UINT32_C(0x0070E344),
10050           UINT32_C(0x00068413), UINT32_C(0x000706E0), UINT32_C(0x002454A6),
10051           UINT32_C(0x003C1F38), UINT32_C(0x0020840E), UINT32_C(0x00308F2A),
10052           UINT32_C(0x003B026E), UINT32_C(0x0055D941), UINT32_C(0x0026CD7D),
10053           UINT32_C(0x00041FFB), UINT32_C(0x0016E182)},
10054          {UINT32_C(0x00498EA7), UINT32_C(0x0028466B), UINT32_C(0x002EE6E4),
10055           UINT32_C(0x005ADB8E), UINT32_C(0x0034DF94), UINT32_C(0x0016E8FA),
10056           UINT32_C(0x000DD486), UINT32_C(0x0022172A), UINT32_C(0x0026F797),
10057           UINT32_C(0x003EA2F7), UINT32_C(0x003F32FE), UINT32_C(0x00761C80),
10058           UINT32_C(0x00141A4B), UINT32_C(0x003A2DC0), UINT32_C(0x003F2489),
10059           UINT32_C(0x00284EBF), UINT32_C(0x00324946), UINT32_C(0x00098DC6),
10060           UINT32_C(0x00140160), UINT32_C(0x001637DD), UINT32_C(0x0032460F),
10061           UINT32_C(0x001DCD38), UINT32_C(0x0024F529)},
10062          {UINT32_C(0x0033F90C), UINT32_C(0x000B2B06), UINT32_C(0x0010AC6C),
10063           UINT32_C(0x000D4C79), UINT32_C(0x0028ACCF), UINT32_C(0x003882B8),
10064           UINT32_C(0x003627FD), UINT32_C(0x0077768C), UINT32_C(0x00060B8A),
10065           UINT32_C(0x00175AB9), UINT32_C(0x0020A7D7), UINT32_C(0x0036E54C),
10066           UINT32_C(0x0026B20A), UINT32_C(0x000E710C), UINT32_C(0x0024597D),
10067           UINT32_C(0x0019E845), UINT32_C(0x0028672C), UINT32_C(0x0021B0CC),
10068           UINT32_C(0x0023D9E3), UINT32_C(0x001692C6), UINT32_C(0x0001D045),
10069           UINT32_C(0x00097657), UINT32_C(0x000370F6)}},
10070         {{UINT32_C(0x007B9005), UINT32_C(0x0027B1D5), UINT32_C(0x0030BCA5),
10071           UINT32_C(0x0033E7A3), UINT32_C(0x00260D50), UINT32_C(0x000425F4),
10072           UINT32_C(0x002BF81B), UINT32_C(0x0056DC12), UINT32_C(0x001C3248),
10073           UINT32_C(0x0023BE6A), UINT32_C(0x0031838D), UINT32_C(0x006C6DD9),
10074           UINT32_C(0x002FD065), UINT32_C(0x003EC34D), UINT32_C(0x001B79C8),
10075           UINT32_C(0x0061CFCC), UINT32_C(0x002C377E), UINT32_C(0x0005C2A1),
10076           UINT32_C(0x00142560), UINT32_C(0x0007DCCB), UINT32_C(0x00238949),
10077           UINT32_C(0x0011710D), UINT32_C(0x0036AE4C)},
10078          {UINT32_C(0x002C3F57), UINT32_C(0x0007550E), UINT32_C(0x00145D0D),
10079           UINT32_C(0x00172C44), UINT32_C(0x00166B15), UINT32_C(0x003F673A),
10080           UINT32_C(0x001F41B9), UINT32_C(0x0038E3E7), UINT32_C(0x000ED8FE),
10081           UINT32_C(0x0026F447), UINT32_C(0x00141659), UINT32_C(0x004024EA),
10082           UINT32_C(0x0014C9B2), UINT32_C(0x0021B32A), UINT32_C(0x00362710),
10083           UINT32_C(0x00791C00), UINT32_C(0x0012A6F2), UINT32_C(0x003E23AE),
10084           UINT32_C(0x00359C46), UINT32_C(0x0056019B), UINT32_C(0x0024CD68),
10085           UINT32_C(0x0018639D), UINT32_C(0x000AA1E5)},
10086          {UINT32_C(0x003EB03A), UINT32_C(0x0005BD4E), UINT32_C(0x0026A08D),
10087           UINT32_C(0x00767FC9), UINT32_C(0x000AE7A8), UINT32_C(0x00302EFF),
10088           UINT32_C(0x000E751E), UINT32_C(0x000221EB), UINT32_C(0x0013D036),
10089           UINT32_C(0x000B5F88), UINT32_C(0x00195DE4), UINT32_C(0x007C1167),
10090           UINT32_C(0x000F8BFB), UINT32_C(0x002A2BF5), UINT32_C(0x001374E2),
10091           UINT32_C(0x005BAA0D), UINT32_C(0x0034A333), UINT32_C(0x002DB57E),
10092           UINT32_C(0x002A02CC), UINT32_C(0x00497D58), UINT32_C(0x000647E9),
10093           UINT32_C(0x00212584), UINT32_C(0x0028AE2E)}},
10094     },
10095     {
10096         {{UINT32_C(0x0056CAA9), UINT32_C(0x002ED942), UINT32_C(0x00066832),
10097           UINT32_C(0x000E005C), UINT32_C(0x000212C9), UINT32_C(0x000A5796),
10098           UINT32_C(0x0039920F), UINT32_C(0x00085F1D), UINT32_C(0x00361285),
10099           UINT32_C(0x00307080), UINT32_C(0x00062627), UINT32_C(0x007D6AAA),
10100           UINT32_C(0x002FAD3A), UINT32_C(0x001F916B), UINT32_C(0x0019CDED),
10101           UINT32_C(0x0060F8EF), UINT32_C(0x00006CD6), UINT32_C(0x0009A576),
10102           UINT32_C(0x0004244C), UINT32_C(0x0056B6F1), UINT32_C(0x0027D5EC),
10103           UINT32_C(0x001C22FE), UINT32_C(0x0020CA2B)},
10104          {UINT32_C(0x00638473), UINT32_C(0x0028A459), UINT32_C(0x0008F882),
10105           UINT32_C(0x00300359), UINT32_C(0x001A0569), UINT32_C(0x000733C8),
10106           UINT32_C(0x000AA690), UINT32_C(0x002854FD), UINT32_C(0x003A42AB),
10107           UINT32_C(0x00005D85), UINT32_C(0x003EC955), UINT32_C(0x00276DAB),
10108           UINT32_C(0x002C69D6), UINT32_C(0x0028E861), UINT32_C(0x003C6252),
10109           UINT32_C(0x001693C6), UINT32_C(0x00067C90), UINT32_C(0x00135D5A),
10110           UINT32_C(0x0019BAA5), UINT32_C(0x00638A4D), UINT32_C(0x001C54F3),
10111           UINT32_C(0x0036958E), UINT32_C(0x00229409)},
10112          {UINT32_C(0x003694AD), UINT32_C(0x003CDD1D), UINT32_C(0x002BB2CB),
10113           UINT32_C(0x000F907F), UINT32_C(0x00217793), UINT32_C(0x001C10F3),
10114           UINT32_C(0x0007C509), UINT32_C(0x0055ED5B), UINT32_C(0x003FC009),
10115           UINT32_C(0x0013833E), UINT32_C(0x000AFDAF), UINT32_C(0x0003DFB2),
10116           UINT32_C(0x002EBC1F), UINT32_C(0x00268005), UINT32_C(0x0028835F),
10117           UINT32_C(0x002FE0AF), UINT32_C(0x002E65E7), UINT32_C(0x002D7AC4),
10118           UINT32_C(0x0016B704), UINT32_C(0x0034371A), UINT32_C(0x00333D73),
10119           UINT32_C(0x00117F49), UINT32_C(0x003508FB)}},
10120         {{UINT32_C(0x0024288F), UINT32_C(0x00003DD4), UINT32_C(0x00121C5C),
10121           UINT32_C(0x00771CBC), UINT32_C(0x003BF063), UINT32_C(0x0002294B),
10122           UINT32_C(0x0031319F), UINT32_C(0x00643727), UINT32_C(0x00319F6F),
10123           UINT32_C(0x0008B82B), UINT32_C(0x00101D49), UINT32_C(0x00546EE5),
10124           UINT32_C(0x00238C40), UINT32_C(0x00030CAC), UINT32_C(0x00190408),
10125           UINT32_C(0x007C0F5A), UINT32_C(0x0015EAFD), UINT32_C(0x00024A8F),
10126           UINT32_C(0x00365016), UINT32_C(0x002D2DBA), UINT32_C(0x001F751C),
10127           UINT32_C(0x0003964A), UINT32_C(0x002F92CB)},
10128          {UINT32_C(0x00561A15), UINT32_C(0x003B4C37), UINT32_C(0x001C36B5),
10129           UINT32_C(0x002ED2E4), UINT32_C(0x0002231B), UINT32_C(0x001ADAF5),
10130           UINT32_C(0x00270194), UINT32_C(0x0009DBF0), UINT32_C(0x00287239),
10131           UINT32_C(0x00080B2D), UINT32_C(0x002EB25E), UINT32_C(0x0032ED93),
10132           UINT32_C(0x00164DC0), UINT32_C(0x002F327A), UINT32_C(0x00130078),
10133           UINT32_C(0x001841D3), UINT32_C(0x00049BC2), UINT32_C(0x00048E93),
10134           UINT32_C(0x001B59E7), UINT32_C(0x006243C6), UINT32_C(0x00394260),
10135           UINT32_C(0x0017BC8D), UINT32_C(0x00176B2A)},
10136          {UINT32_C(0x00041022), UINT32_C(0x0006B154), UINT32_C(0x0027CADC),
10137           UINT32_C(0x00627B5A), UINT32_C(0x001965DA), UINT32_C(0x002D1BDB),
10138           UINT32_C(0x001B16FE), UINT32_C(0x0016A869), UINT32_C(0x002540EA),
10139           UINT32_C(0x003B4B72), UINT32_C(0x0013ECCC), UINT32_C(0x00581A5A),
10140           UINT32_C(0x002C2192), UINT32_C(0x002588BF), UINT32_C(0x001CC31E),
10141           UINT32_C(0x0053D1B3), UINT32_C(0x003845C2), UINT32_C(0x00234BBE),
10142           UINT32_C(0x0007ABDF), UINT32_C(0x00567DC1), UINT32_C(0x00204D8E),
10143           UINT32_C(0x00161734), UINT32_C(0x00062C35)}},
10144         {{UINT32_C(0x000DD434), UINT32_C(0x0027577F), UINT32_C(0x00224BAB),
10145           UINT32_C(0x001F24C1), UINT32_C(0x00225696), UINT32_C(0x00241E15),
10146           UINT32_C(0x001CEBF5), UINT32_C(0x005549C7), UINT32_C(0x003C9373),
10147           UINT32_C(0x002DCBA3), UINT32_C(0x002A3CBA), UINT32_C(0x001EE227),
10148           UINT32_C(0x0020FD58), UINT32_C(0x0007BFF7), UINT32_C(0x00341B3D),
10149           UINT32_C(0x0047E8D4), UINT32_C(0x0011C543), UINT32_C(0x00386E9E),
10150           UINT32_C(0x00232B8F), UINT32_C(0x0043836A), UINT32_C(0x0001E14C),
10151           UINT32_C(0x00136E35), UINT32_C(0x002D423A)},
10152          {UINT32_C(0x005DA3DC), UINT32_C(0x003E4B5E), UINT32_C(0x00182E1B),
10153           UINT32_C(0x004D3F17), UINT32_C(0x00358964), UINT32_C(0x002F6CDB),
10154           UINT32_C(0x000FA963), UINT32_C(0x00530F85), UINT32_C(0x003FCE01),
10155           UINT32_C(0x0027B181), UINT32_C(0x0016C4E2), UINT32_C(0x001A24B7),
10156           UINT32_C(0x003A2690), UINT32_C(0x002BAD95), UINT32_C(0x000A878E),
10157           UINT32_C(0x0049FA0F), UINT32_C(0x00200790), UINT32_C(0x0007745A),
10158           UINT32_C(0x001A19FB), UINT32_C(0x00524E6F), UINT32_C(0x00167AEF),
10159           UINT32_C(0x00318813), UINT32_C(0x000BF477)},
10160          {UINT32_C(0x00446FFB), UINT32_C(0x000E720D), UINT32_C(0x0013A7AD),
10161           UINT32_C(0x002F3160), UINT32_C(0x0020ACA2), UINT32_C(0x0031E19F),
10162           UINT32_C(0x002C99C7), UINT32_C(0x0053FC61), UINT32_C(0x000B444B),
10163           UINT32_C(0x000432E3), UINT32_C(0x0020DFE5), UINT32_C(0x0000DCBD),
10164           UINT32_C(0x002A6660), UINT32_C(0x0035A737), UINT32_C(0x0016191B),
10165           UINT32_C(0x006DFEF3), UINT32_C(0x0007D074), UINT32_C(0x0015B6DA),
10166           UINT32_C(0x000E1D85), UINT32_C(0x0040898C), UINT32_C(0x000F18DD),
10167           UINT32_C(0x0016A189), UINT32_C(0x00259E34)}},
10168         {{UINT32_C(0x004D2036), UINT32_C(0x00198B36), UINT32_C(0x0006CEDC),
10169           UINT32_C(0x0028C725), UINT32_C(0x003381EA), UINT32_C(0x0037C857),
10170           UINT32_C(0x00239AE3), UINT32_C(0x000B8343), UINT32_C(0x0013B8A1),
10171           UINT32_C(0x0004CA9C), UINT32_C(0x00341F6F), UINT32_C(0x002C9D36),
10172           UINT32_C(0x0002B4CE), UINT32_C(0x000F979A), UINT32_C(0x00005E1A),
10173           UINT32_C(0x0003C162), UINT32_C(0x000C805D), UINT32_C(0x00171240),
10174           UINT32_C(0x00200E07), UINT32_C(0x005B5010), UINT32_C(0x0019D606),
10175           UINT32_C(0x00226023), UINT32_C(0x0023D266)},
10176          {UINT32_C(0x00240CF2), UINT32_C(0x002268F3), UINT32_C(0x0025D159),
10177           UINT32_C(0x003C1B6F), UINT32_C(0x00214C16), UINT32_C(0x0022D5EA),
10178           UINT32_C(0x001D06D1), UINT32_C(0x007104A8), UINT32_C(0x002198F4),
10179           UINT32_C(0x002EAE4A), UINT32_C(0x001A0374), UINT32_C(0x00128B26),
10180           UINT32_C(0x00156B81), UINT32_C(0x00380AB8), UINT32_C(0x00000B34),
10181           UINT32_C(0x0032FD36), UINT32_C(0x0035997F), UINT32_C(0x001DDD23),
10182           UINT32_C(0x000F9701), UINT32_C(0x003D11DD), UINT32_C(0x00219A73),
10183           UINT32_C(0x0009572E), UINT32_C(0x0007E79A)},
10184          {UINT32_C(0x004E4AD4), UINT32_C(0x0038839D), UINT32_C(0x0031F346),
10185           UINT32_C(0x00188C54), UINT32_C(0x000CE5E2), UINT32_C(0x000BCB59),
10186           UINT32_C(0x0036662E), UINT32_C(0x007DF8FB), UINT32_C(0x000E4805),
10187           UINT32_C(0x0038EDC7), UINT32_C(0x00209BB0), UINT32_C(0x006A5B00),
10188           UINT32_C(0x0005DC69), UINT32_C(0x001AE66C), UINT32_C(0x00175257),
10189           UINT32_C(0x006D0BBF), UINT32_C(0x00158611), UINT32_C(0x003EFEA8),
10190           UINT32_C(0x000E0C1D), UINT32_C(0x0050DC3B), UINT32_C(0x00008337),
10191           UINT32_C(0x001869C2), UINT32_C(0x003FD81D)}},
10192         {{UINT32_C(0x0050CB64), UINT32_C(0x002429A6), UINT32_C(0x00382136),
10193           UINT32_C(0x0054F357), UINT32_C(0x003794A8), UINT32_C(0x001F187A),
10194           UINT32_C(0x000F2E75), UINT32_C(0x001AC75C), UINT32_C(0x002C3E90),
10195           UINT32_C(0x002E6B5E), UINT32_C(0x0039AC0E), UINT32_C(0x004F180B),
10196           UINT32_C(0x0020C545), UINT32_C(0x003FD3EB), UINT32_C(0x000C1453),
10197           UINT32_C(0x0017FAB0), UINT32_C(0x002E55DE), UINT32_C(0x0031C1C1),
10198           UINT32_C(0x002659CA), UINT32_C(0x0053E22F), UINT32_C(0x00377EA4),
10199           UINT32_C(0x0011C7AF), UINT32_C(0x0005E66B)},
10200          {UINT32_C(0x005F2793), UINT32_C(0x000FABF6), UINT32_C(0x00138DB2),
10201           UINT32_C(0x0003EF56), UINT32_C(0x003C44CD), UINT32_C(0x002D1772),
10202           UINT32_C(0x00296103), UINT32_C(0x0010A045), UINT32_C(0x003F081B),
10203           UINT32_C(0x0003CA53), UINT32_C(0x00319331), UINT32_C(0x001F65B4),
10204           UINT32_C(0x002E09B1), UINT32_C(0x003544F7), UINT32_C(0x002E0977),
10205           UINT32_C(0x007A91C1), UINT32_C(0x000E98E1), UINT32_C(0x003C2830),
10206           UINT32_C(0x001F751E), UINT32_C(0x000FE9DE), UINT32_C(0x00104CA6),
10207           UINT32_C(0x00084E9F), UINT32_C(0x002EDF68)},
10208          {UINT32_C(0x001753AE), UINT32_C(0x0015176B), UINT32_C(0x001D49C2),
10209           UINT32_C(0x005271F0), UINT32_C(0x000E3B9D), UINT32_C(0x002A9E63),
10210           UINT32_C(0x00147498), UINT32_C(0x0028C096), UINT32_C(0x0038F62A),
10211           UINT32_C(0x001E8789), UINT32_C(0x001E1D5C), UINT32_C(0x003504A2),
10212           UINT32_C(0x0026FE76), UINT32_C(0x001C16A5), UINT32_C(0x001B3F89),
10213           UINT32_C(0x0043DB5A), UINT32_C(0x00106CD7), UINT32_C(0x00317E3F),
10214           UINT32_C(0x00332597), UINT32_C(0x003737FB), UINT32_C(0x003F7130),
10215           UINT32_C(0x002A1EA9), UINT32_C(0x003BE9DE)}},
10216         {{UINT32_C(0x003FC808), UINT32_C(0x002F762E), UINT32_C(0x003004D3),
10217           UINT32_C(0x00384DB9), UINT32_C(0x002349A4), UINT32_C(0x0032B0E8),
10218           UINT32_C(0x00152A07), UINT32_C(0x00361460), UINT32_C(0x0039BDD3),
10219           UINT32_C(0x0017D898), UINT32_C(0x00228C11), UINT32_C(0x0061443C),
10220           UINT32_C(0x0033C414), UINT32_C(0x001922E8), UINT32_C(0x0033EB75),
10221           UINT32_C(0x006856CB), UINT32_C(0x000D4491), UINT32_C(0x00089ED9),
10222           UINT32_C(0x001713B8), UINT32_C(0x000737CA), UINT32_C(0x0037B4BB),
10223           UINT32_C(0x00137C25), UINT32_C(0x00157928)},
10224          {UINT32_C(0x005C5870), UINT32_C(0x0013A25A), UINT32_C(0x001376B2),
10225           UINT32_C(0x007F3687), UINT32_C(0x000DD1CA), UINT32_C(0x00144BD1),
10226           UINT32_C(0x00205B88), UINT32_C(0x0030B67A), UINT32_C(0x002F2ED7),
10227           UINT32_C(0x002BBB97), UINT32_C(0x0006DE0E), UINT32_C(0x0042D5EF),
10228           UINT32_C(0x0020BC9E), UINT32_C(0x001DFACA), UINT32_C(0x00176018),
10229           UINT32_C(0x00557358), UINT32_C(0x000A2A03), UINT32_C(0x0017F6AA),
10230           UINT32_C(0x001A348A), UINT32_C(0x0063CCCE), UINT32_C(0x0019E3CD),
10231           UINT32_C(0x001CAF72), UINT32_C(0x0008A7AC)},
10232          {UINT32_C(0x00073284), UINT32_C(0x0016A772), UINT32_C(0x001B02B4),
10233           UINT32_C(0x003DCC2C), UINT32_C(0x001275AC), UINT32_C(0x0013EC26),
10234           UINT32_C(0x0039548F), UINT32_C(0x0032AC62), UINT32_C(0x002E6D0F),
10235           UINT32_C(0x0020A687), UINT32_C(0x0034013D), UINT32_C(0x002FBD07),
10236           UINT32_C(0x0027B2FE), UINT32_C(0x000AB0F8), UINT32_C(0x000DFCFE),
10237           UINT32_C(0x004B5DB3), UINT32_C(0x0031570E), UINT32_C(0x002A4886),
10238           UINT32_C(0x000AA957), UINT32_C(0x005D7580), UINT32_C(0x001EBED6),
10239           UINT32_C(0x00253717), UINT32_C(0x001A649B)}},
10240         {{UINT32_C(0x006C4CB2), UINT32_C(0x001FB3E4), UINT32_C(0x0015B9F8),
10241           UINT32_C(0x00361781), UINT32_C(0x002C10D3), UINT32_C(0x001D9D87),
10242           UINT32_C(0x0034274C), UINT32_C(0x0021EBF4), UINT32_C(0x0033DC87),
10243           UINT32_C(0x000ADD4D), UINT32_C(0x003051CC), UINT32_C(0x0069D7F2),
10244           UINT32_C(0x002CFFFE), UINT32_C(0x0014E44A), UINT32_C(0x00049CA0),
10245           UINT32_C(0x003CBED6), UINT32_C(0x001BF1E2), UINT32_C(0x0014C23E),
10246           UINT32_C(0x000B6EB5), UINT32_C(0x002DB65D), UINT32_C(0x0005CB32),
10247           UINT32_C(0x00038B9C), UINT32_C(0x0007883B)},
10248          {UINT32_C(0x003EF9A6), UINT32_C(0x001E1E72), UINT32_C(0x00118E1F),
10249           UINT32_C(0x000DD4EE), UINT32_C(0x001621A6), UINT32_C(0x003726A5),
10250           UINT32_C(0x0005CB81), UINT32_C(0x0066CE7A), UINT32_C(0x000248A4),
10251           UINT32_C(0x002D7AFD), UINT32_C(0x0014ACD8), UINT32_C(0x0025639C),
10252           UINT32_C(0x0009A8A5), UINT32_C(0x003318F4), UINT32_C(0x000F0BF7),
10253           UINT32_C(0x005062DE), UINT32_C(0x000024A9), UINT32_C(0x000E22D2),
10254           UINT32_C(0x001E48E9), UINT32_C(0x0021E288), UINT32_C(0x0036DB79),
10255           UINT32_C(0x002F277C), UINT32_C(0x002B4193)},
10256          {UINT32_C(0x001EA6FE), UINT32_C(0x0031EE3B), UINT32_C(0x00045D18),
10257           UINT32_C(0x007B886D), UINT32_C(0x003AB025), UINT32_C(0x003CB9DC),
10258           UINT32_C(0x001E395D), UINT32_C(0x003B02BB), UINT32_C(0x00117981),
10259           UINT32_C(0x0019571F), UINT32_C(0x0012104C), UINT32_C(0x0015B662),
10260           UINT32_C(0x002C613A), UINT32_C(0x00070FFA), UINT32_C(0x000F20BB),
10261           UINT32_C(0x0070246F), UINT32_C(0x003AE4D8), UINT32_C(0x002C3692),
10262           UINT32_C(0x002BA766), UINT32_C(0x006979EC), UINT32_C(0x001EE4FA),
10263           UINT32_C(0x003FC3AE), UINT32_C(0x00097753)}},
10264         {{UINT32_C(0x004F1DE3), UINT32_C(0x000C6911), UINT32_C(0x000A47C8),
10265           UINT32_C(0x001D1BD1), UINT32_C(0x002F9D0E), UINT32_C(0x00028B6C),
10266           UINT32_C(0x0030B56D), UINT32_C(0x007338C9), UINT32_C(0x000444B1),
10267           UINT32_C(0x0039A863), UINT32_C(0x0014FD9B), UINT32_C(0x0029BA71),
10268           UINT32_C(0x002F8E1D), UINT32_C(0x0012C499), UINT32_C(0x00073FFA),
10269           UINT32_C(0x000C56D4), UINT32_C(0x0014A736), UINT32_C(0x003A7177),
10270           UINT32_C(0x001CE30C), UINT32_C(0x003AAF39), UINT32_C(0x0022B563),
10271           UINT32_C(0x0036E7CC), UINT32_C(0x0037AFCD)},
10272          {UINT32_C(0x0058F41D), UINT32_C(0x00140257), UINT32_C(0x00211567),
10273           UINT32_C(0x007DDA65), UINT32_C(0x0022C062), UINT32_C(0x001ED494),
10274           UINT32_C(0x0018952B), UINT32_C(0x00649D74), UINT32_C(0x0029BEC2),
10275           UINT32_C(0x0020C9DA), UINT32_C(0x0017B4BC), UINT32_C(0x0068E1EE),
10276           UINT32_C(0x0008D396), UINT32_C(0x00101E55), UINT32_C(0x00179EF9),
10277           UINT32_C(0x00704D7B), UINT32_C(0x00225FE0), UINT32_C(0x0033AD09),
10278           UINT32_C(0x000D6F51), UINT32_C(0x00617587), UINT32_C(0x00014347),
10279           UINT32_C(0x0006D488), UINT32_C(0x000A58EA)},
10280          {UINT32_C(0x0062169E), UINT32_C(0x003EC8CD), UINT32_C(0x00241534),
10281           UINT32_C(0x006F5F65), UINT32_C(0x002B9962), UINT32_C(0x00142663),
10282           UINT32_C(0x00088E95), UINT32_C(0x00730FE3), UINT32_C(0x00331A06),
10283           UINT32_C(0x0027E7BD), UINT32_C(0x00364306), UINT32_C(0x003E391E),
10284           UINT32_C(0x00313667), UINT32_C(0x00198427), UINT32_C(0x00226ADA),
10285           UINT32_C(0x00566F4B), UINT32_C(0x0021A27C), UINT32_C(0x0017BBD7),
10286           UINT32_C(0x003D41DB), UINT32_C(0x0028BB58), UINT32_C(0x003278B2),
10287           UINT32_C(0x0006E057), UINT32_C(0x0003C841)}},
10288         {{UINT32_C(0x00687D5D), UINT32_C(0x003309EF), UINT32_C(0x00346CE5),
10289           UINT32_C(0x001FF1AB), UINT32_C(0x003D2116), UINT32_C(0x0018305D),
10290           UINT32_C(0x00049468), UINT32_C(0x0061BCEB), UINT32_C(0x00157FA5),
10291           UINT32_C(0x00036CFD), UINT32_C(0x0017B473), UINT32_C(0x00536514),
10292           UINT32_C(0x0035BE53), UINT32_C(0x0031FBF4), UINT32_C(0x00138689),
10293           UINT32_C(0x00459FC3), UINT32_C(0x00382E53), UINT32_C(0x0009DCE1),
10294           UINT32_C(0x001E636A), UINT32_C(0x002622FE), UINT32_C(0x0014A044),
10295           UINT32_C(0x00145177), UINT32_C(0x002C68B2)},
10296          {UINT32_C(0x0007CDE9), UINT32_C(0x0005E108), UINT32_C(0x000D8163),
10297           UINT32_C(0x003F9A62), UINT32_C(0x001C6BBE), UINT32_C(0x00202790),
10298           UINT32_C(0x000B515C), UINT32_C(0x0006A300), UINT32_C(0x0015F9A6),
10299           UINT32_C(0x002A1527), UINT32_C(0x003A73EB), UINT32_C(0x006F181C),
10300           UINT32_C(0x00175B8C), UINT32_C(0x002A4DA4), UINT32_C(0x000768F8),
10301           UINT32_C(0x000E56E3), UINT32_C(0x0029B426), UINT32_C(0x0011186F),
10302           UINT32_C(0x003175D0), UINT32_C(0x0029B106), UINT32_C(0x001EF0B9),
10303           UINT32_C(0x001139E2), UINT32_C(0x0035ACA5)},
10304          {UINT32_C(0x004B2AE1), UINT32_C(0x001424F0), UINT32_C(0x00110341),
10305           UINT32_C(0x000C7518), UINT32_C(0x001685E7), UINT32_C(0x0016192F),
10306           UINT32_C(0x0028CF4C), UINT32_C(0x00637208), UINT32_C(0x003FCBD2),
10307           UINT32_C(0x00348A0E), UINT32_C(0x0034BDB7), UINT32_C(0x000E99F6),
10308           UINT32_C(0x001472CD), UINT32_C(0x000F1FAA), UINT32_C(0x00102EA2),
10309           UINT32_C(0x00579D10), UINT32_C(0x00229C04), UINT32_C(0x000DA721),
10310           UINT32_C(0x000C0D5E), UINT32_C(0x004201F5), UINT32_C(0x00013FC8),
10311           UINT32_C(0x000DFA6E), UINT32_C(0x00260016)}},
10312         {{UINT32_C(0x0071785F), UINT32_C(0x002A6790), UINT32_C(0x00374B9A),
10313           UINT32_C(0x005C47E4), UINT32_C(0x00295CBC), UINT32_C(0x0017C2F6),
10314           UINT32_C(0x002DD473), UINT32_C(0x0003079A), UINT32_C(0x001B4CD6),
10315           UINT32_C(0x0024C5E5), UINT32_C(0x00319F1C), UINT32_C(0x00436F1D),
10316           UINT32_C(0x001A1EF6), UINT32_C(0x0003D299), UINT32_C(0x00382BA2),
10317           UINT32_C(0x0060E409), UINT32_C(0x00023098), UINT32_C(0x00171EBD),
10318           UINT32_C(0x0020240F), UINT32_C(0x00330D1E), UINT32_C(0x0017E024),
10319           UINT32_C(0x0009AC85), UINT32_C(0x001B14B7)},
10320          {UINT32_C(0x003C69F8), UINT32_C(0x00119EF1), UINT32_C(0x002E2839),
10321           UINT32_C(0x00778F4B), UINT32_C(0x00039F0C), UINT32_C(0x0023A6C4),
10322           UINT32_C(0x003F874D), UINT32_C(0x005E260A), UINT32_C(0x003D33F7),
10323           UINT32_C(0x002C9846), UINT32_C(0x00187047), UINT32_C(0x007B8C63),
10324           UINT32_C(0x00273788), UINT32_C(0x000A168B), UINT32_C(0x003C94CF),
10325           UINT32_C(0x0058BB90), UINT32_C(0x000B16B8), UINT32_C(0x003E3A1E),
10326           UINT32_C(0x0018E21B), UINT32_C(0x007A9202), UINT32_C(0x00302517),
10327           UINT32_C(0x00154F91), UINT32_C(0x000846A0)},
10328          {UINT32_C(0x001A0FDE), UINT32_C(0x00153D67), UINT32_C(0x00336333),
10329           UINT32_C(0x003C90A4), UINT32_C(0x00094797), UINT32_C(0x00312D2A),
10330           UINT32_C(0x001003F0), UINT32_C(0x007FBC25), UINT32_C(0x0003DF24),
10331           UINT32_C(0x00237AC4), UINT32_C(0x00194267), UINT32_C(0x002396ED),
10332           UINT32_C(0x00024617), UINT32_C(0x0016C8CB), UINT32_C(0x00152D85),
10333           UINT32_C(0x0016D3DE), UINT32_C(0x00262957), UINT32_C(0x00311596),
10334           UINT32_C(0x003EC838), UINT32_C(0x001975C2), UINT32_C(0x0034FE59),
10335           UINT32_C(0x00113D00), UINT32_C(0x002243AC)}},
10336         {{UINT32_C(0x0068A405), UINT32_C(0x0034C98B), UINT32_C(0x0007E397),
10337           UINT32_C(0x00558483), UINT32_C(0x000956CE), UINT32_C(0x002E1CCA),
10338           UINT32_C(0x0005043D), UINT32_C(0x00476A5E), UINT32_C(0x0028457F),
10339           UINT32_C(0x003988DF), UINT32_C(0x0037A1BC), UINT32_C(0x0047942D),
10340           UINT32_C(0x00124D2E), UINT32_C(0x003AE5E0), UINT32_C(0x000B4291),
10341           UINT32_C(0x004D22EB), UINT32_C(0x0014B7CF), UINT32_C(0x0028B3D4),
10342           UINT32_C(0x003CCB59), UINT32_C(0x00190521), UINT32_C(0x000A108D),
10343           UINT32_C(0x003A6057), UINT32_C(0x00172D60)},
10344          {UINT32_C(0x002B251D), UINT32_C(0x0013D428), UINT32_C(0x000AE878),
10345           UINT32_C(0x005FA00D), UINT32_C(0x00260531), UINT32_C(0x00329563),
10346           UINT32_C(0x000216C5), UINT32_C(0x000D16BE), UINT32_C(0x0009E37E),
10347           UINT32_C(0x003F37E0), UINT32_C(0x001AEF12), UINT32_C(0x0064E859),
10348           UINT32_C(0x0019915B), UINT32_C(0x0005BFF9), UINT32_C(0x003958ED),
10349           UINT32_C(0x000C4E03), UINT32_C(0x0008B99A), UINT32_C(0x001C38F2),
10350           UINT32_C(0x003D7DC0), UINT32_C(0x002F8014), UINT32_C(0x001CEC59),
10351           UINT32_C(0x0034AB43), UINT32_C(0x0013D729)},
10352          {UINT32_C(0x006F3BD9), UINT32_C(0x00150F71), UINT32_C(0x002A3F95),
10353           UINT32_C(0x0068E792), UINT32_C(0x0016CF11), UINT32_C(0x001B8A33),
10354           UINT32_C(0x002E5920), UINT32_C(0x0038F685), UINT32_C(0x002CDF4A),
10355           UINT32_C(0x0027CB65), UINT32_C(0x002DF482), UINT32_C(0x000A0B78),
10356           UINT32_C(0x00309C5F), UINT32_C(0x003B06D3), UINT32_C(0x0013DAE0),
10357           UINT32_C(0x00554BDE), UINT32_C(0x0017EC53), UINT32_C(0x000F50F5),
10358           UINT32_C(0x00101EF0), UINT32_C(0x005F28DB), UINT32_C(0x0015CC1A),
10359           UINT32_C(0x001980C3), UINT32_C(0x00249DA3)}},
10360         {{UINT32_C(0x004C93F1), UINT32_C(0x00388A39), UINT32_C(0x0030EEC8),
10361           UINT32_C(0x0052FC35), UINT32_C(0x000B0CAE), UINT32_C(0x002F3E40),
10362           UINT32_C(0x003A2ACD), UINT32_C(0x0028C4D5), UINT32_C(0x001DA5F9),
10363           UINT32_C(0x000586CA), UINT32_C(0x00119027), UINT32_C(0x0016CDC0),
10364           UINT32_C(0x0025236C), UINT32_C(0x0018A357), UINT32_C(0x0000B64B),
10365           UINT32_C(0x0076882B), UINT32_C(0x003182B1), UINT32_C(0x0037246C),
10366           UINT32_C(0x0003FB39), UINT32_C(0x002C988C), UINT32_C(0x00231B0B),
10367           UINT32_C(0x003E5BBF), UINT32_C(0x0000F374)},
10368          {UINT32_C(0x00010D9D), UINT32_C(0x001FF389), UINT32_C(0x001538D1),
10369           UINT32_C(0x0041BD6C), UINT32_C(0x001301B2), UINT32_C(0x001DCB4A),
10370           UINT32_C(0x0008FABC), UINT32_C(0x00611765), UINT32_C(0x001A717F),
10371           UINT32_C(0x00182FF9), UINT32_C(0x0029A9C1), UINT32_C(0x002B99C3),
10372           UINT32_C(0x00017CA7), UINT32_C(0x00032AA1), UINT32_C(0x002EA89D),
10373           UINT32_C(0x00088D80), UINT32_C(0x0011EC29), UINT32_C(0x003A56BE),
10374           UINT32_C(0x000032B8), UINT32_C(0x001406E5), UINT32_C(0x0038401C),
10375           UINT32_C(0x001ACB38), UINT32_C(0x000CB5E9)},
10376          {UINT32_C(0x0066E5AB), UINT32_C(0x00161A19), UINT32_C(0x00057829),
10377           UINT32_C(0x005F11AE), UINT32_C(0x0022507E), UINT32_C(0x00113755),
10378           UINT32_C(0x00218956), UINT32_C(0x007E85BC), UINT32_C(0x003A29F5),
10379           UINT32_C(0x001A56EA), UINT32_C(0x002F8A9F), UINT32_C(0x0030B6F2),
10380           UINT32_C(0x001F6A48), UINT32_C(0x003C6B9C), UINT32_C(0x00331944),
10381           UINT32_C(0x0012724E), UINT32_C(0x000154FE), UINT32_C(0x001A08F6),
10382           UINT32_C(0x00053CE3), UINT32_C(0x000110DA), UINT32_C(0x00189838),
10383           UINT32_C(0x000C6556), UINT32_C(0x0026E926)}},
10384         {{UINT32_C(0x0056B198), UINT32_C(0x002E9D6F), UINT32_C(0x00384104),
10385           UINT32_C(0x002CB192), UINT32_C(0x0011E1D2), UINT32_C(0x000C3007),
10386           UINT32_C(0x00331D92), UINT32_C(0x0072B899), UINT32_C(0x002DFE85),
10387           UINT32_C(0x0019F7AE), UINT32_C(0x00228032), UINT32_C(0x001A709B),
10388           UINT32_C(0x00394A71), UINT32_C(0x00011DCB), UINT32_C(0x0025119C),
10389           UINT32_C(0x00673C0F), UINT32_C(0x000703EE), UINT32_C(0x003905C2),
10390           UINT32_C(0x0004CBE0), UINT32_C(0x003038F7), UINT32_C(0x00218611),
10391           UINT32_C(0x00344F8B), UINT32_C(0x0006EF8F)},
10392          {UINT32_C(0x0008B7AB), UINT32_C(0x001C7936), UINT32_C(0x000AF677),
10393           UINT32_C(0x0038D1C4), UINT32_C(0x000D1982), UINT32_C(0x00008DE6),
10394           UINT32_C(0x001D8CD8), UINT32_C(0x002DAF00), UINT32_C(0x002139DC),
10395           UINT32_C(0x000C0A4C), UINT32_C(0x00103BF4), UINT32_C(0x00132620),
10396           UINT32_C(0x001E360F), UINT32_C(0x0020BE7E), UINT32_C(0x002F6F7B),
10397           UINT32_C(0x00045610), UINT32_C(0x003B63BF), UINT32_C(0x00065305),
10398           UINT32_C(0x0030A74A), UINT32_C(0x0072846A), UINT32_C(0x0009D52F),
10399           UINT32_C(0x00360AFC), UINT32_C(0x0015C630)},
10400          {UINT32_C(0x001BB7E7), UINT32_C(0x0038CFC8), UINT32_C(0x00105C2D),
10401           UINT32_C(0x004F800D), UINT32_C(0x002813AF), UINT32_C(0x003D95F7),
10402           UINT32_C(0x000B5E3E), UINT32_C(0x0065C148), UINT32_C(0x0017B5EB),
10403           UINT32_C(0x000B59AB), UINT32_C(0x000D6920), UINT32_C(0x001459AF),
10404           UINT32_C(0x002201A2), UINT32_C(0x00066541), UINT32_C(0x001D0BA3),
10405           UINT32_C(0x00337E0F), UINT32_C(0x003BE92F), UINT32_C(0x000375C3),
10406           UINT32_C(0x0035FBBD), UINT32_C(0x005F0B0F), UINT32_C(0x000E891B),
10407           UINT32_C(0x00131D3F), UINT32_C(0x0014ED75)}},
10408         {{UINT32_C(0x0050D8D5), UINT32_C(0x002E5561), UINT32_C(0x0031562B),
10409           UINT32_C(0x00395B3A), UINT32_C(0x002D062A), UINT32_C(0x00329C94),
10410           UINT32_C(0x001BED6E), UINT32_C(0x0064208E), UINT32_C(0x00302BDB),
10411           UINT32_C(0x0038A686), UINT32_C(0x001E41F5), UINT32_C(0x001078F7),
10412           UINT32_C(0x003A3FCC), UINT32_C(0x00061B38), UINT32_C(0x003A908E),
10413           UINT32_C(0x005A12D7), UINT32_C(0x0002303D), UINT32_C(0x00141E31),
10414           UINT32_C(0x0009E463), UINT32_C(0x0073510F), UINT32_C(0x003C92B0),
10415           UINT32_C(0x00083485), UINT32_C(0x00037A81)},
10416          {UINT32_C(0x0019B1B8), UINT32_C(0x0038CD53), UINT32_C(0x000E197C),
10417           UINT32_C(0x0009FF2F), UINT32_C(0x003BCD33), UINT32_C(0x00302C2A),
10418           UINT32_C(0x00054200), UINT32_C(0x0079B52B), UINT32_C(0x0039D05F),
10419           UINT32_C(0x001F9C10), UINT32_C(0x0029B440), UINT32_C(0x003D8482),
10420           UINT32_C(0x001C2BD2), UINT32_C(0x0019BD77), UINT32_C(0x0010755E),
10421           UINT32_C(0x006CAE47), UINT32_C(0x0001B82A), UINT32_C(0x003DF53B),
10422           UINT32_C(0x00018A7F), UINT32_C(0x005FC8AB), UINT32_C(0x000BFFCF),
10423           UINT32_C(0x00169679), UINT32_C(0x00067097)},
10424          {UINT32_C(0x000935D3), UINT32_C(0x0010F268), UINT32_C(0x00288B71),
10425           UINT32_C(0x00303DEB), UINT32_C(0x002E4A85), UINT32_C(0x0001813E),
10426           UINT32_C(0x003CDD05), UINT32_C(0x0001AD0A), UINT32_C(0x0014AA02),
10427           UINT32_C(0x0019FD4A), UINT32_C(0x00200BBD), UINT32_C(0x00331B4F),
10428           UINT32_C(0x000FCCBE), UINT32_C(0x001F30DB), UINT32_C(0x000BDF6F),
10429           UINT32_C(0x007AB775), UINT32_C(0x0021BE2D), UINT32_C(0x000ED4B7),
10430           UINT32_C(0x00384794), UINT32_C(0x00784F1A), UINT32_C(0x003F3A79),
10431           UINT32_C(0x0003D50F), UINT32_C(0x00064F82)}},
10432         {{UINT32_C(0x0055E16A), UINT32_C(0x0009CBF4), UINT32_C(0x0007F387),
10433           UINT32_C(0x0008D055), UINT32_C(0x001DE49D), UINT32_C(0x003DF914),
10434           UINT32_C(0x003ED04E), UINT32_C(0x006CA4BC), UINT32_C(0x0028FCE3),
10435           UINT32_C(0x003273A4), UINT32_C(0x002DF89A), UINT32_C(0x00230A46),
10436           UINT32_C(0x0018E30C), UINT32_C(0x002CE6F1), UINT32_C(0x0002DB57),
10437           UINT32_C(0x007890F7), UINT32_C(0x0022D4F9), UINT32_C(0x0038DC8F),
10438           UINT32_C(0x00376FF1), UINT32_C(0x0012231A), UINT32_C(0x00074880),
10439           UINT32_C(0x0012A080), UINT32_C(0x00056DC5)},
10440          {UINT32_C(0x003DBBF8), UINT32_C(0x00196819), UINT32_C(0x0024DB6E),
10441           UINT32_C(0x007A739A), UINT32_C(0x002C4BD5), UINT32_C(0x00241E7E),
10442           UINT32_C(0x0038C332), UINT32_C(0x000E069B), UINT32_C(0x0011A877),
10443           UINT32_C(0x000BB5F3), UINT32_C(0x0000613F), UINT32_C(0x001D700E),
10444           UINT32_C(0x00154F4E), UINT32_C(0x00232AA4), UINT32_C(0x00159C2A),
10445           UINT32_C(0x00203C23), UINT32_C(0x002AC285), UINT32_C(0x002F4ED7),
10446           UINT32_C(0x003914CE), UINT32_C(0x001B8C64), UINT32_C(0x000C5894),
10447           UINT32_C(0x003A7D72), UINT32_C(0x0021EFB5)},
10448          {UINT32_C(0x0034EA4D), UINT32_C(0x001BA7B1), UINT32_C(0x003C1624),
10449           UINT32_C(0x00332852), UINT32_C(0x003E94DA), UINT32_C(0x00000887),
10450           UINT32_C(0x000BFE68), UINT32_C(0x004AD4CA), UINT32_C(0x000B742B),
10451           UINT32_C(0x00158248), UINT32_C(0x00285B88), UINT32_C(0x006EDD6B),
10452           UINT32_C(0x00200BAB), UINT32_C(0x00248DD5), UINT32_C(0x001035A8),
10453           UINT32_C(0x001F2081), UINT32_C(0x0007B194), UINT32_C(0x0011B74D),
10454           UINT32_C(0x00152BCC), UINT32_C(0x005F5821), UINT32_C(0x001FE674),
10455           UINT32_C(0x000239A6), UINT32_C(0x0034BB24)}},
10456         {{UINT32_C(0x0072B20F), UINT32_C(0x000BF7F4), UINT32_C(0x00178C52),
10457           UINT32_C(0x00776657), UINT32_C(0x0004BFE5), UINT32_C(0x000AA36B),
10458           UINT32_C(0x003719B7), UINT32_C(0x004C2095), UINT32_C(0x00355126),
10459           UINT32_C(0x001B6111), UINT32_C(0x00172806), UINT32_C(0x0052CE54),
10460           UINT32_C(0x0008F0A0), UINT32_C(0x002B3884), UINT32_C(0x002B7196),
10461           UINT32_C(0x003A0409), UINT32_C(0x00124BAA), UINT32_C(0x001E7741),
10462           UINT32_C(0x00128DC5), UINT32_C(0x00301368), UINT32_C(0x0002A859),
10463           UINT32_C(0x00145DD3), UINT32_C(0x001A5AE5)},
10464          {UINT32_C(0x004943B1), UINT32_C(0x0036FA8C), UINT32_C(0x002BCCB8),
10465           UINT32_C(0x00702644), UINT32_C(0x00253FD2), UINT32_C(0x00185CBE),
10466           UINT32_C(0x00047A35), UINT32_C(0x002AF03C), UINT32_C(0x001AE6F9),
10467           UINT32_C(0x001FBB03), UINT32_C(0x0024ABE9), UINT32_C(0x0023A32D),
10468           UINT32_C(0x002165FE), UINT32_C(0x0025287B), UINT32_C(0x0013905E),
10469           UINT32_C(0x005CFE02), UINT32_C(0x0007F1F9), UINT32_C(0x003E1E1E),
10470           UINT32_C(0x0007A483), UINT32_C(0x001BF89E), UINT32_C(0x0010168F),
10471           UINT32_C(0x00062F67), UINT32_C(0x00133007)},
10472          {UINT32_C(0x007D5697), UINT32_C(0x00312189), UINT32_C(0x0015FC12),
10473           UINT32_C(0x003C037B), UINT32_C(0x00175465), UINT32_C(0x000F4B83),
10474           UINT32_C(0x0021DF66), UINT32_C(0x002A624D), UINT32_C(0x0034D443),
10475           UINT32_C(0x001E79DD), UINT32_C(0x00321A3F), UINT32_C(0x0018DC79),
10476           UINT32_C(0x001A5D56), UINT32_C(0x003541AF), UINT32_C(0x00070013),
10477           UINT32_C(0x0024CB38), UINT32_C(0x00065D92), UINT32_C(0x0020B271),
10478           UINT32_C(0x001EC105), UINT32_C(0x001E7C11), UINT32_C(0x00122C84),
10479           UINT32_C(0x0007B7C1), UINT32_C(0x002FDB93)}},
10480     },
10481     {
10482         {{UINT32_C(0x0044839B), UINT32_C(0x003198F6), UINT32_C(0x003BD372),
10483           UINT32_C(0x007ED128), UINT32_C(0x00206115), UINT32_C(0x003FDD6A),
10484           UINT32_C(0x0022F00A), UINT32_C(0x00117144), UINT32_C(0x001588A8),
10485           UINT32_C(0x001FF57F), UINT32_C(0x00289324), UINT32_C(0x00690294),
10486           UINT32_C(0x002D2809), UINT32_C(0x001DC9A7), UINT32_C(0x000B6923),
10487           UINT32_C(0x004B99EF), UINT32_C(0x003488AB), UINT32_C(0x001F4972),
10488           UINT32_C(0x000FFB73), UINT32_C(0x0059A57D), UINT32_C(0x000F6194),
10489           UINT32_C(0x000B6F28), UINT32_C(0x0025388B)},
10490          {UINT32_C(0x0064E5A1), UINT32_C(0x0013FE4F), UINT32_C(0x0008ECCD),
10491           UINT32_C(0x00005C77), UINT32_C(0x0001B9C8), UINT32_C(0x00162316),
10492           UINT32_C(0x0020528F), UINT32_C(0x002DEDD0), UINT32_C(0x00191713),
10493           UINT32_C(0x0030317D), UINT32_C(0x0039A24F), UINT32_C(0x002EB466),
10494           UINT32_C(0x000EA8D0), UINT32_C(0x000E5D27), UINT32_C(0x003FED4F),
10495           UINT32_C(0x0040531E), UINT32_C(0x000FBA2C), UINT32_C(0x00234E5D),
10496           UINT32_C(0x0003D16D), UINT32_C(0x007F1872), UINT32_C(0x00256C50),
10497           UINT32_C(0x00316CFD), UINT32_C(0x002401F9)},
10498          {UINT32_C(0x000275D5), UINT32_C(0x001F7882), UINT32_C(0x0025E59C),
10499           UINT32_C(0x0001B773), UINT32_C(0x0024FF1D), UINT32_C(0x000D98CD),
10500           UINT32_C(0x000B7E40), UINT32_C(0x006E438E), UINT32_C(0x00355F20),
10501           UINT32_C(0x0019A7AE), UINT32_C(0x00290722), UINT32_C(0x00174B19),
10502           UINT32_C(0x00318264), UINT32_C(0x00049CAA), UINT32_C(0x003F743B),
10503           UINT32_C(0x004FA60E), UINT32_C(0x0021E560), UINT32_C(0x002DDBD1),
10504           UINT32_C(0x00279C3F), UINT32_C(0x002A0542), UINT32_C(0x001C4F6E),
10505           UINT32_C(0x003F3D08), UINT32_C(0x001A9CB4)}},
10506         {{UINT32_C(0x0044D3B6), UINT32_C(0x0011A0B0), UINT32_C(0x00223464),
10507           UINT32_C(0x00616311), UINT32_C(0x00045B71), UINT32_C(0x00221B75),
10508           UINT32_C(0x000DDB07), UINT32_C(0x0036CCED), UINT32_C(0x00310543),
10509           UINT32_C(0x001C0449), UINT32_C(0x001A5298), UINT32_C(0x007F7212),
10510           UINT32_C(0x0027112E), UINT32_C(0x003341D5), UINT32_C(0x001BB277),
10511           UINT32_C(0x0047B3A6), UINT32_C(0x002631FE), UINT32_C(0x000EC73F),
10512           UINT32_C(0x003BEA8E), UINT32_C(0x0011ACAD), UINT32_C(0x00056AB4),
10513           UINT32_C(0x00332F4E), UINT32_C(0x0020F040)},
10514          {UINT32_C(0x00729FF7), UINT32_C(0x00084FDB), UINT32_C(0x000AF943),
10515           UINT32_C(0x0069EFD1), UINT32_C(0x000F6B0C), UINT32_C(0x002C5DA9),
10516           UINT32_C(0x003FE069), UINT32_C(0x0072A537), UINT32_C(0x000A3F33),
10517           UINT32_C(0x001C0A53), UINT32_C(0x002F3282), UINT32_C(0x006C96EB),
10518           UINT32_C(0x0039033F), UINT32_C(0x0004147A), UINT32_C(0x002F27E0),
10519           UINT32_C(0x000752BF), UINT32_C(0x00061145), UINT32_C(0x002CD663),
10520           UINT32_C(0x0031DFD9), UINT32_C(0x007E357F), UINT32_C(0x001E8721),
10521           UINT32_C(0x00265FEF), UINT32_C(0x00077889)},
10522          {UINT32_C(0x0033FAD5), UINT32_C(0x0016E6ED), UINT32_C(0x0016F2EF),
10523           UINT32_C(0x001B964B), UINT32_C(0x001A2ECA), UINT32_C(0x003E0C81),
10524           UINT32_C(0x003FE7D9), UINT32_C(0x0069AB34), UINT32_C(0x002B4E22),
10525           UINT32_C(0x003B9125), UINT32_C(0x003129C9), UINT32_C(0x006B5E95),
10526           UINT32_C(0x003E450D), UINT32_C(0x003C0221), UINT32_C(0x00246870),
10527           UINT32_C(0x0012331E), UINT32_C(0x00368335), UINT32_C(0x003842E7),
10528           UINT32_C(0x001CD463), UINT32_C(0x00375065), UINT32_C(0x001AFC4F),
10529           UINT32_C(0x0018C552), UINT32_C(0x003DF99D)}},
10530         {{UINT32_C(0x0076C909), UINT32_C(0x002ECC28), UINT32_C(0x003E534C),
10531           UINT32_C(0x006E5B56), UINT32_C(0x003472BC), UINT32_C(0x002ED648),
10532           UINT32_C(0x001800E5), UINT32_C(0x0062EB01), UINT32_C(0x00388368),
10533           UINT32_C(0x0017E589), UINT32_C(0x000EE455), UINT32_C(0x00752271),
10534           UINT32_C(0x0007DB0E), UINT32_C(0x0004CE3B), UINT32_C(0x001BC93D),
10535           UINT32_C(0x00266E9B), UINT32_C(0x001A633F), UINT32_C(0x00080153),
10536           UINT32_C(0x00100613), UINT32_C(0x001B334A), UINT32_C(0x001081C5),
10537           UINT32_C(0x003CEACA), UINT32_C(0x0028BC5F)},
10538          {UINT32_C(0x004FB1B3), UINT32_C(0x001F97A9), UINT32_C(0x00159D7E),
10539           UINT32_C(0x00459CF9), UINT32_C(0x000CBC43), UINT32_C(0x00132E42),
10540           UINT32_C(0x003F3662), UINT32_C(0x0032762F), UINT32_C(0x003F6792),
10541           UINT32_C(0x00147465), UINT32_C(0x00064E92), UINT32_C(0x007B5ED9),
10542           UINT32_C(0x002CDCB9), UINT32_C(0x003B3F08), UINT32_C(0x00307A15),
10543           UINT32_C(0x00760D9B), UINT32_C(0x00145A0B), UINT32_C(0x00101514),
10544           UINT32_C(0x0036AC7F), UINT32_C(0x0046C8CA), UINT32_C(0x0009D1F6),
10545           UINT32_C(0x00065054), UINT32_C(0x000DEBF1)},
10546          {UINT32_C(0x004F598C), UINT32_C(0x002DEC24), UINT32_C(0x000EFF2A),
10547           UINT32_C(0x001F3645), UINT32_C(0x0027F317), UINT32_C(0x003DAF78),
10548           UINT32_C(0x002BC2DB), UINT32_C(0x0004EA69), UINT32_C(0x00279343),
10549           UINT32_C(0x00337BF6), UINT32_C(0x00117316), UINT32_C(0x00616D27),
10550           UINT32_C(0x00378EC8), UINT32_C(0x0025D729), UINT32_C(0x00265316),
10551           UINT32_C(0x003D0829), UINT32_C(0x00396E01), UINT32_C(0x002AE96D),
10552           UINT32_C(0x003445E4), UINT32_C(0x001E9F9A), UINT32_C(0x0030EDDC),
10553           UINT32_C(0x002E073A), UINT32_C(0x0021B311)}},
10554         {{UINT32_C(0x002CC32D), UINT32_C(0x000D826A), UINT32_C(0x0026E228),
10555           UINT32_C(0x000D6206), UINT32_C(0x00227832), UINT32_C(0x002140D7),
10556           UINT32_C(0x002068C2), UINT32_C(0x005C5008), UINT32_C(0x0025521D),
10557           UINT32_C(0x00281FA5), UINT32_C(0x00051E83), UINT32_C(0x00105A03),
10558           UINT32_C(0x003232E0), UINT32_C(0x003D0E47), UINT32_C(0x003BD547),
10559           UINT32_C(0x0065100C), UINT32_C(0x00113B09), UINT32_C(0x0024F1FA),
10560           UINT32_C(0x0030CDA7), UINT32_C(0x0053D618), UINT32_C(0x000A2A17),
10561           UINT32_C(0x000BD8B1), UINT32_C(0x0020FB2C)},
10562          {UINT32_C(0x005A2225), UINT32_C(0x00391B43), UINT32_C(0x000B1CFF),
10563           UINT32_C(0x007DCE4C), UINT32_C(0x00193C2C), UINT32_C(0x003BFBCF),
10564           UINT32_C(0x001040C3), UINT32_C(0x001E82A9), UINT32_C(0x003D9486),
10565           UINT32_C(0x003AF831), UINT32_C(0x00217A7A), UINT32_C(0x006F3F26),
10566           UINT32_C(0x002E52C2), UINT32_C(0x0038837E), UINT32_C(0x00256BB5),
10567           UINT32_C(0x001D310D), UINT32_C(0x000D911E), UINT32_C(0x0012DD9B),
10568           UINT32_C(0x001D3C60), UINT32_C(0x0042AE12), UINT32_C(0x001AA290),
10569           UINT32_C(0x0011D773), UINT32_C(0x0008A556)},
10570          {UINT32_C(0x003DB239), UINT32_C(0x003C331E), UINT32_C(0x002C1ABE),
10571           UINT32_C(0x0054F6FD), UINT32_C(0x0029390C), UINT32_C(0x002F6790),
10572           UINT32_C(0x002CD02B), UINT32_C(0x007AFE3F), UINT32_C(0x0012B2C3),
10573           UINT32_C(0x002287BB), UINT32_C(0x00114FE8), UINT32_C(0x002CC8AC),
10574           UINT32_C(0x002CADBB), UINT32_C(0x001A33BE), UINT32_C(0x0037BE86),
10575           UINT32_C(0x000AA64F), UINT32_C(0x000CDB97), UINT32_C(0x003CF948),
10576           UINT32_C(0x001BB280), UINT32_C(0x000BD3AD), UINT32_C(0x001C0A26),
10577           UINT32_C(0x001857F5), UINT32_C(0x002270FB)}},
10578         {{UINT32_C(0x00588772), UINT32_C(0x0034A3BF), UINT32_C(0x002B2057),
10579           UINT32_C(0x000D6822), UINT32_C(0x000ED9FF), UINT32_C(0x00385C48),
10580           UINT32_C(0x003A74B9), UINT32_C(0x005A12D2), UINT32_C(0x00079DD4),
10581           UINT32_C(0x002B2E76), UINT32_C(0x00000E28), UINT32_C(0x000E1C30),
10582           UINT32_C(0x003339AE), UINT32_C(0x00248CCE), UINT32_C(0x003445A9),
10583           UINT32_C(0x0028093C), UINT32_C(0x00256A7E), UINT32_C(0x0018F19E),
10584           UINT32_C(0x00385218), UINT32_C(0x0057D410), UINT32_C(0x002DBF86),
10585           UINT32_C(0x001F5ECA), UINT32_C(0x001CACDD)},
10586          {UINT32_C(0x00265C7D), UINT32_C(0x0028705E), UINT32_C(0x00384F7D),
10587           UINT32_C(0x0018D471), UINT32_C(0x001527DF), UINT32_C(0x003DA983),
10588           UINT32_C(0x001DDE7F), UINT32_C(0x002A71F4), UINT32_C(0x001B4521),
10589           UINT32_C(0x0003DCB4), UINT32_C(0x00328F6D), UINT32_C(0x00195CDD),
10590           UINT32_C(0x0016F6B4), UINT32_C(0x0002550C), UINT32_C(0x00181F0F),
10591           UINT32_C(0x00279602), UINT32_C(0x0000592B), UINT32_C(0x000A8FC2),
10592           UINT32_C(0x00173822), UINT32_C(0x00528D2F), UINT32_C(0x003BB20B),
10593           UINT32_C(0x001CB21C), UINT32_C(0x002E0800)},
10594          {UINT32_C(0x0067C867), UINT32_C(0x0024B417), UINT32_C(0x000D83F0),
10595           UINT32_C(0x00584B7B), UINT32_C(0x002C2DCD), UINT32_C(0x003925C8),
10596           UINT32_C(0x0035374E), UINT32_C(0x00273444), UINT32_C(0x001ED50E),
10597           UINT32_C(0x0019DC39), UINT32_C(0x00012047), UINT32_C(0x004B56F7),
10598           UINT32_C(0x001F477D), UINT32_C(0x000C0B39), UINT32_C(0x00103A52),
10599           UINT32_C(0x003B6571), UINT32_C(0x000F7CB4), UINT32_C(0x003F0E6A),
10600           UINT32_C(0x003100B6), UINT32_C(0x0077750C), UINT32_C(0x002A6650),
10601           UINT32_C(0x001B8E63), UINT32_C(0x00356E38)}},
10602         {{UINT32_C(0x00294CC0), UINT32_C(0x001ABF5C), UINT32_C(0x0022AB9B),
10603           UINT32_C(0x00575222), UINT32_C(0x00251493), UINT32_C(0x002E554C),
10604           UINT32_C(0x0027F012), UINT32_C(0x0071924E), UINT32_C(0x0023D76D),
10605           UINT32_C(0x00230B9E), UINT32_C(0x00295210), UINT32_C(0x00783EB9),
10606           UINT32_C(0x003D2EB1), UINT32_C(0x0034E19B), UINT32_C(0x0021E2D1),
10607           UINT32_C(0x0050A8CA), UINT32_C(0x0018C513), UINT32_C(0x00167437),
10608           UINT32_C(0x002F383C), UINT32_C(0x0071AE6B), UINT32_C(0x0005632B),
10609           UINT32_C(0x00097273), UINT32_C(0x0039C267)},
10610          {UINT32_C(0x0056E019), UINT32_C(0x00310B20), UINT32_C(0x00308BD2),
10611           UINT32_C(0x00786653), UINT32_C(0x00396A2E), UINT32_C(0x0007FF67),
10612           UINT32_C(0x003BFBA0), UINT32_C(0x00328BB8), UINT32_C(0x0024DDEC),
10613           UINT32_C(0x002F538D), UINT32_C(0x003BCCD8), UINT32_C(0x006635E3),
10614           UINT32_C(0x0023177E), UINT32_C(0x00045322), UINT32_C(0x002E32D2),
10615           UINT32_C(0x004EC3F8), UINT32_C(0x001E2DE3), UINT32_C(0x00245612),
10616           UINT32_C(0x003C6038), UINT32_C(0x004D683D), UINT32_C(0x0012B6CB),
10617           UINT32_C(0x00027583), UINT32_C(0x002B048C)},
10618          {UINT32_C(0x0078D023), UINT32_C(0x002E23CC), UINT32_C(0x000772AC),
10619           UINT32_C(0x003B5B53), UINT32_C(0x0029ED11), UINT32_C(0x003ED08F),
10620           UINT32_C(0x00071E5C), UINT32_C(0x00428132), UINT32_C(0x00315335),
10621           UINT32_C(0x0000402B), UINT32_C(0x000822D3), UINT32_C(0x007B1B14),
10622           UINT32_C(0x0035A437), UINT32_C(0x00206234), UINT32_C(0x0032B6E0),
10623           UINT32_C(0x0055555C), UINT32_C(0x0027CFBE), UINT32_C(0x0004A5EA),
10624           UINT32_C(0x000556CE), UINT32_C(0x0031DFEB), UINT32_C(0x001DB053),
10625           UINT32_C(0x000E8BAC), UINT32_C(0x000C0D49)}},
10626         {{UINT32_C(0x004AA9D1), UINT32_C(0x002779EA), UINT32_C(0x001B86F9),
10627           UINT32_C(0x0072282A), UINT32_C(0x001EBBE9), UINT32_C(0x0018B46D),
10628           UINT32_C(0x0026FF2C), UINT32_C(0x003F0CC7), UINT32_C(0x00212453),
10629           UINT32_C(0x0034244B), UINT32_C(0x0009799C), UINT32_C(0x004F49C4),
10630           UINT32_C(0x000C1DEA), UINT32_C(0x0035B3DF), UINT32_C(0x000BDBDF),
10631           UINT32_C(0x001F15A7), UINT32_C(0x0037371D), UINT32_C(0x0020EBE1),
10632           UINT32_C(0x0002EA33), UINT32_C(0x0009840B), UINT32_C(0x001DD721),
10633           UINT32_C(0x002EA8B9), UINT32_C(0x000B48AD)},
10634          {UINT32_C(0x00234472), UINT32_C(0x0005EFDD), UINT32_C(0x0021B297),
10635           UINT32_C(0x002E57AF), UINT32_C(0x00131F56), UINT32_C(0x003DE1F4),
10636           UINT32_C(0x003D96B7), UINT32_C(0x003AA17F), UINT32_C(0x0017742D),
10637           UINT32_C(0x00026100), UINT32_C(0x00337A96), UINT32_C(0x004EA9E0),
10638           UINT32_C(0x0027EA1C), UINT32_C(0x001F7FA1), UINT32_C(0x0032FFCB),
10639           UINT32_C(0x007DD72A), UINT32_C(0x0035BB87), UINT32_C(0x00318CC2),
10640           UINT32_C(0x003F5009), UINT32_C(0x00766DE0), UINT32_C(0x00391596),
10641           UINT32_C(0x000DFBB0), UINT32_C(0x002A498F)},
10642          {UINT32_C(0x0068F40A), UINT32_C(0x0034745D), UINT32_C(0x003B263F),
10643           UINT32_C(0x00370D88), UINT32_C(0x000B7E85), UINT32_C(0x00165B40),
10644           UINT32_C(0x000F819E), UINT32_C(0x005987AB), UINT32_C(0x00108717),
10645           UINT32_C(0x002A8421), UINT32_C(0x000B286F), UINT32_C(0x004B94FD),
10646           UINT32_C(0x001DCD66), UINT32_C(0x0004CFEC), UINT32_C(0x0021944B),
10647           UINT32_C(0x00187F0D), UINT32_C(0x000E4A62), UINT32_C(0x00307E74),
10648           UINT32_C(0x0006FCD6), UINT32_C(0x004495F4), UINT32_C(0x0031D0FE),
10649           UINT32_C(0x002D69FC), UINT32_C(0x000B5770)}},
10650         {{UINT32_C(0x0042173B), UINT32_C(0x002F2767), UINT32_C(0x003D5FCF),
10651           UINT32_C(0x0049931C), UINT32_C(0x0009BCA8), UINT32_C(0x001886FD),
10652           UINT32_C(0x00110F6D), UINT32_C(0x003C1F29), UINT32_C(0x002C545A),
10653           UINT32_C(0x0033EF6F), UINT32_C(0x0018E372), UINT32_C(0x0075FA4C),
10654           UINT32_C(0x0018BB09), UINT32_C(0x0026F270), UINT32_C(0x00346DE4),
10655           UINT32_C(0x0028FAC0), UINT32_C(0x0023E410), UINT32_C(0x0027B61C),
10656           UINT32_C(0x0014EA05), UINT32_C(0x00438310), UINT32_C(0x002CAD7B),
10657           UINT32_C(0x001FD7F3), UINT32_C(0x000B3F41)},
10658          {UINT32_C(0x0010995C), UINT32_C(0x00168EA0), UINT32_C(0x0013CA45),
10659           UINT32_C(0x002F2095), UINT32_C(0x0031AB84), UINT32_C(0x0032FB0A),
10660           UINT32_C(0x00042BB8), UINT32_C(0x0008933C), UINT32_C(0x00097983),
10661           UINT32_C(0x00065857), UINT32_C(0x00150488), UINT32_C(0x001F3B0B),
10662           UINT32_C(0x0029F9DE), UINT32_C(0x00298C42), UINT32_C(0x00291103),
10663           UINT32_C(0x007B8240), UINT32_C(0x00185C19), UINT32_C(0x000A0A6A),
10664           UINT32_C(0x000D566B), UINT32_C(0x000742CE), UINT32_C(0x001D215F),
10665           UINT32_C(0x003F50AC), UINT32_C(0x0022911C)},
10666          {UINT32_C(0x0045E864), UINT32_C(0x00015742), UINT32_C(0x00161854),
10667           UINT32_C(0x007B3D4F), UINT32_C(0x0021EEAE), UINT32_C(0x00296CE2),
10668           UINT32_C(0x003346C6), UINT32_C(0x00734650), UINT32_C(0x001106CC),
10669           UINT32_C(0x001BF45E), UINT32_C(0x001F7D96), UINT32_C(0x0045F811),
10670           UINT32_C(0x003B405E), UINT32_C(0x000DE8B5), UINT32_C(0x00178A69),
10671           UINT32_C(0x006CFE39), UINT32_C(0x003F339A), UINT32_C(0x00262A13),
10672           UINT32_C(0x0002FB7C), UINT32_C(0x00669A06), UINT32_C(0x002CB49B),
10673           UINT32_C(0x000DD528), UINT32_C(0x0026C657)}},
10674         {{UINT32_C(0x005A4314), UINT32_C(0x0033DCDD), UINT32_C(0x003024FC),
10675           UINT32_C(0x003FA63F), UINT32_C(0x00296FCE), UINT32_C(0x001613FF),
10676           UINT32_C(0x001601C8), UINT32_C(0x0018EC14), UINT32_C(0x00176101),
10677           UINT32_C(0x0016707A), UINT32_C(0x00323522), UINT32_C(0x006451EF),
10678           UINT32_C(0x0038E06E), UINT32_C(0x000BBED9), UINT32_C(0x00325EF6),
10679           UINT32_C(0x005506AE), UINT32_C(0x00173417), UINT32_C(0x0030CE7F),
10680           UINT32_C(0x000E2A20), UINT32_C(0x0065E329), UINT32_C(0x00052AB8),
10681           UINT32_C(0x001DC041), UINT32_C(0x000C6341)},
10682          {UINT32_C(0x0044DD3D), UINT32_C(0x002AF1BC), UINT32_C(0x0009FA4B),
10683           UINT32_C(0x00334B00), UINT32_C(0x003F42E3), UINT32_C(0x0002593C),
10684           UINT32_C(0x00229E96), UINT32_C(0x006D61D4), UINT32_C(0x002B2FD7),
10685           UINT32_C(0x0022C1A9), UINT32_C(0x00290FC9), UINT32_C(0x00728BC5),
10686           UINT32_C(0x003CC825), UINT32_C(0x002F498D), UINT32_C(0x00343407),
10687           UINT32_C(0x00205470), UINT32_C(0x000675EC), UINT32_C(0x002ED6F5),
10688           UINT32_C(0x00063C9F), UINT32_C(0x005D0188), UINT32_C(0x0026F6B5),
10689           UINT32_C(0x00063702), UINT32_C(0x0003A29D)},
10690          {UINT32_C(0x0035F788), UINT32_C(0x0024E672), UINT32_C(0x0028C708),
10691           UINT32_C(0x003BBCE6), UINT32_C(0x00138643), UINT32_C(0x000A192E),
10692           UINT32_C(0x000582FA), UINT32_C(0x00192093), UINT32_C(0x0029B4D3),
10693           UINT32_C(0x002443E6), UINT32_C(0x003FB121), UINT32_C(0x00581657),
10694           UINT32_C(0x002CD1A9), UINT32_C(0x00110FB0), UINT32_C(0x00299AA9),
10695           UINT32_C(0x001FD531), UINT32_C(0x0002E546), UINT32_C(0x001E08DB),
10696           UINT32_C(0x001D678E), UINT32_C(0x0043BD67), UINT32_C(0x001A8272),
10697           UINT32_C(0x0022C90A), UINT32_C(0x0007CC59)}},
10698         {{UINT32_C(0x003C1C05), UINT32_C(0x00371D27), UINT32_C(0x001EE674),
10699           UINT32_C(0x006687DD), UINT32_C(0x001B5B64), UINT32_C(0x0037B7A6),
10700           UINT32_C(0x00110B63), UINT32_C(0x004D3034), UINT32_C(0x00034E37),
10701           UINT32_C(0x003361C7), UINT32_C(0x0029A6D0), UINT32_C(0x005A8F45),
10702           UINT32_C(0x0002097C), UINT32_C(0x000EA46A), UINT32_C(0x001C9C63),
10703           UINT32_C(0x00510D99), UINT32_C(0x000FB932), UINT32_C(0x000D6720),
10704           UINT32_C(0x000487B1), UINT32_C(0x003D00ED), UINT32_C(0x000851E4),
10705           UINT32_C(0x000997F2), UINT32_C(0x00320424)},
10706          {UINT32_C(0x0061B9A6), UINT32_C(0x001B989A), UINT32_C(0x0038839A),
10707           UINT32_C(0x0038318C), UINT32_C(0x000A4E7A), UINT32_C(0x00316981),
10708           UINT32_C(0x00262D85), UINT32_C(0x00404D09), UINT32_C(0x00382ABE),
10709           UINT32_C(0x000DCD89), UINT32_C(0x001791BB), UINT32_C(0x002076BF),
10710           UINT32_C(0x00097C30), UINT32_C(0x0038D1B5), UINT32_C(0x0030A092),
10711           UINT32_C(0x00563AEB), UINT32_C(0x0027026C), UINT32_C(0x000E6AF4),
10712           UINT32_C(0x0037D8D5), UINT32_C(0x006D9346), UINT32_C(0x001E7C0C),
10713           UINT32_C(0x001B5D43), UINT32_C(0x0035B6ED)},
10714          {UINT32_C(0x007FF888), UINT32_C(0x00222708), UINT32_C(0x001FA371),
10715           UINT32_C(0x000DCC52), UINT32_C(0x0005815A), UINT32_C(0x001F9620),
10716           UINT32_C(0x000061B0), UINT32_C(0x00078FA0), UINT32_C(0x0024CC30),
10717           UINT32_C(0x0015B96E), UINT32_C(0x0021510C), UINT32_C(0x00382242),
10718           UINT32_C(0x0030063A), UINT32_C(0x0036F011), UINT32_C(0x0037B5D5),
10719           UINT32_C(0x0002EB1A), UINT32_C(0x0026488B), UINT32_C(0x003568B8),
10720           UINT32_C(0x0003E1F1), UINT32_C(0x00517C59), UINT32_C(0x0030A3A0),
10721           UINT32_C(0x0025590A), UINT32_C(0x001142DE)}},
10722         {{UINT32_C(0x005982A8), UINT32_C(0x00370C8F), UINT32_C(0x000AF64E),
10723           UINT32_C(0x0002E275), UINT32_C(0x001EEE4F), UINT32_C(0x00246CAD),
10724           UINT32_C(0x002AC24B), UINT32_C(0x00334875), UINT32_C(0x00174AA6),
10725           UINT32_C(0x002C27C8), UINT32_C(0x000EA109), UINT32_C(0x002BB331),
10726           UINT32_C(0x002AE934), UINT32_C(0x00254289), UINT32_C(0x003CA630),
10727           UINT32_C(0x003660D8), UINT32_C(0x0002C93F), UINT32_C(0x0018A01E),
10728           UINT32_C(0x0031D7A9), UINT32_C(0x002BD9F0), UINT32_C(0x002B8049),
10729           UINT32_C(0x00350D91), UINT32_C(0x00294E97)},
10730          {UINT32_C(0x00129088), UINT32_C(0x0028094D), UINT32_C(0x00357F4D),
10731           UINT32_C(0x006B6FFF), UINT32_C(0x001B77FC), UINT32_C(0x00021A12),
10732           UINT32_C(0x00214A39), UINT32_C(0x007DAD9D), UINT32_C(0x0003BCA3),
10733           UINT32_C(0x0032A844), UINT32_C(0x002DC466), UINT32_C(0x005640CE),
10734           UINT32_C(0x003A5766), UINT32_C(0x00209AE0), UINT32_C(0x00388583),
10735           UINT32_C(0x005AA61F), UINT32_C(0x003917FE), UINT32_C(0x0020DB8C),
10736           UINT32_C(0x002576DC), UINT32_C(0x0046380E), UINT32_C(0x002B7CE8),
10737           UINT32_C(0x000B5A77), UINT32_C(0x00136232)},
10738          {UINT32_C(0x00059DD5), UINT32_C(0x00298A36), UINT32_C(0x002A6FC3),
10739           UINT32_C(0x0030E5AA), UINT32_C(0x00308A3F), UINT32_C(0x002D40E1),
10740           UINT32_C(0x002E7DE9), UINT32_C(0x000807B9), UINT32_C(0x000E3F2E),
10741           UINT32_C(0x00227438), UINT32_C(0x00210CE9), UINT32_C(0x002EFE56),
10742           UINT32_C(0x00252E80), UINT32_C(0x0038C0F1), UINT32_C(0x00175105),
10743           UINT32_C(0x000E6782), UINT32_C(0x000B3A10), UINT32_C(0x0011D347),
10744           UINT32_C(0x0006498F), UINT32_C(0x001484B8), UINT32_C(0x00092D66),
10745           UINT32_C(0x001CAD6A), UINT32_C(0x003E1628)}},
10746         {{UINT32_C(0x001FA2D3), UINT32_C(0x001AD4F5), UINT32_C(0x001BA2BF),
10747           UINT32_C(0x00584C68), UINT32_C(0x003C80CD), UINT32_C(0x002A3CE1),
10748           UINT32_C(0x000E01C2), UINT32_C(0x002DD8BE), UINT32_C(0x0017C543),
10749           UINT32_C(0x002C4E30), UINT32_C(0x0034AECE), UINT32_C(0x00437F0A),
10750           UINT32_C(0x000104C7), UINT32_C(0x002AA667), UINT32_C(0x003C16D7),
10751           UINT32_C(0x001848BB), UINT32_C(0x001D7152), UINT32_C(0x002A413C),
10752           UINT32_C(0x003C17CC), UINT32_C(0x00412579), UINT32_C(0x0018306D),
10753           UINT32_C(0x00032A9E), UINT32_C(0x0008EDED)},
10754          {UINT32_C(0x0068A027), UINT32_C(0x00272D65), UINT32_C(0x0035ED0F),
10755           UINT32_C(0x006BD7E7), UINT32_C(0x003673DF), UINT32_C(0x002FA6B9),
10756           UINT32_C(0x002B9424), UINT32_C(0x0016DE59), UINT32_C(0x0024F12D),
10757           UINT32_C(0x0030F5A6), UINT32_C(0x0016B74C), UINT32_C(0x002CCEE0),
10758           UINT32_C(0x00316F68), UINT32_C(0x0028D420), UINT32_C(0x002A7F25),
10759           UINT32_C(0x001FA3FC), UINT32_C(0x0036B1F5), UINT32_C(0x003ABC71),
10760           UINT32_C(0x002E10FE), UINT32_C(0x005F45AF), UINT32_C(0x0030575C),
10761           UINT32_C(0x003847B7), UINT32_C(0x000DD252)},
10762          {UINT32_C(0x002FA0BD), UINT32_C(0x003EB306), UINT32_C(0x00096877),
10763           UINT32_C(0x00521BA1), UINT32_C(0x001C63BC), UINT32_C(0x0032E251),
10764           UINT32_C(0x0003FA86), UINT32_C(0x006BC4D8), UINT32_C(0x000F02D8),
10765           UINT32_C(0x002FF844), UINT32_C(0x00242017), UINT32_C(0x0073E523),
10766           UINT32_C(0x00080EB0), UINT32_C(0x0022B8DE), UINT32_C(0x003BB4D3),
10767           UINT32_C(0x0013C01E), UINT32_C(0x0033830B), UINT32_C(0x003CFD23),
10768           UINT32_C(0x00294978), UINT32_C(0x00102D1C), UINT32_C(0x000E4A57),
10769           UINT32_C(0x001089DC), UINT32_C(0x003D1440)}},
10770         {{UINT32_C(0x00166AD2), UINT32_C(0x001851E7), UINT32_C(0x003A69AC),
10771           UINT32_C(0x00138038), UINT32_C(0x002CBBE9), UINT32_C(0x000E1B01),
10772           UINT32_C(0x002D813B), UINT32_C(0x0055062F), UINT32_C(0x0011E135),
10773           UINT32_C(0x001B55A0), UINT32_C(0x0038C972), UINT32_C(0x006FFEDB),
10774           UINT32_C(0x002EFC51), UINT32_C(0x0037167E), UINT32_C(0x000651CA),
10775           UINT32_C(0x002FAAD0), UINT32_C(0x00319A64), UINT32_C(0x001AB9E5),
10776           UINT32_C(0x0019EA91), UINT32_C(0x00571C6A), UINT32_C(0x001B9B34),
10777           UINT32_C(0x0032C40D), UINT32_C(0x00120211)},
10778          {UINT32_C(0x003FCA5A), UINT32_C(0x002E874F), UINT32_C(0x0016F8D3),
10779           UINT32_C(0x005ED189), UINT32_C(0x00322122), UINT32_C(0x000EC018),
10780           UINT32_C(0x000CE754), UINT32_C(0x00487A23), UINT32_C(0x000D1100),
10781           UINT32_C(0x002AC3BB), UINT32_C(0x002B538F), UINT32_C(0x004F45D1),
10782           UINT32_C(0x001EB758), UINT32_C(0x003B112B), UINT32_C(0x003E180B),
10783           UINT32_C(0x005A4B85), UINT32_C(0x001D03F0), UINT32_C(0x002069E1),
10784           UINT32_C(0x0011A16E), UINT32_C(0x004F3D33), UINT32_C(0x000381CC),
10785           UINT32_C(0x00094BB5), UINT32_C(0x00250B30)},
10786          {UINT32_C(0x001C2C25), UINT32_C(0x002E0B68), UINT32_C(0x0025AC97),
10787           UINT32_C(0x0004E260), UINT32_C(0x002EB2AB), UINT32_C(0x00309F16),
10788           UINT32_C(0x002ECEDF), UINT32_C(0x0062F833), UINT32_C(0x001E0F90),
10789           UINT32_C(0x00294A6E), UINT32_C(0x00253BC6), UINT32_C(0x00341FBD),
10790           UINT32_C(0x001FB3C9), UINT32_C(0x0038047A), UINT32_C(0x003CD92B),
10791           UINT32_C(0x002F682E), UINT32_C(0x000553EA), UINT32_C(0x00160B6F),
10792           UINT32_C(0x00346039), UINT32_C(0x003E514D), UINT32_C(0x0024F021),
10793           UINT32_C(0x003E913F), UINT32_C(0x00129CFE)}},
10794         {{UINT32_C(0x001EFBD4), UINT32_C(0x003B8B42), UINT32_C(0x000EF579),
10795           UINT32_C(0x005902FB), UINT32_C(0x003522F1), UINT32_C(0x0005610C),
10796           UINT32_C(0x00170E18), UINT32_C(0x001AFDFC), UINT32_C(0x00204D62),
10797           UINT32_C(0x00391959), UINT32_C(0x00179E48), UINT32_C(0x002FF462),
10798           UINT32_C(0x00063CE3), UINT32_C(0x00111EA8), UINT32_C(0x001AADCF),
10799           UINT32_C(0x000BD1D2), UINT32_C(0x00367F3C), UINT32_C(0x0011E570),
10800           UINT32_C(0x000BA7B7), UINT32_C(0x0026D561), UINT32_C(0x0015CF3E),
10801           UINT32_C(0x0016E814), UINT32_C(0x003FEC7E)},
10802          {UINT32_C(0x00410519), UINT32_C(0x0034D54F), UINT32_C(0x003C2FFF),
10803           UINT32_C(0x004F910F), UINT32_C(0x0011C414), UINT32_C(0x0015AF5E),
10804           UINT32_C(0x003D949C), UINT32_C(0x003F1B53), UINT32_C(0x000091AD),
10805           UINT32_C(0x00264BB8), UINT32_C(0x00189713), UINT32_C(0x00338935),
10806           UINT32_C(0x001CFC31), UINT32_C(0x003530FD), UINT32_C(0x003D8864),
10807           UINT32_C(0x00571F5C), UINT32_C(0x00066F17), UINT32_C(0x000C820B),
10808           UINT32_C(0x000A514A), UINT32_C(0x0053ED14), UINT32_C(0x0008908D),
10809           UINT32_C(0x002A9AA4), UINT32_C(0x003723D1)},
10810          {UINT32_C(0x00530A55), UINT32_C(0x0023CCA3), UINT32_C(0x00382430),
10811           UINT32_C(0x006AF068), UINT32_C(0x0035651E), UINT32_C(0x0014F6EC),
10812           UINT32_C(0x002AEAAB), UINT32_C(0x00487304), UINT32_C(0x00156CAA),
10813           UINT32_C(0x000C009A), UINT32_C(0x0010EF4B), UINT32_C(0x0026FC2D),
10814           UINT32_C(0x0010F060), UINT32_C(0x00095637), UINT32_C(0x00288A9C),
10815           UINT32_C(0x007E1314), UINT32_C(0x000A00CE), UINT32_C(0x0002F2C3),
10816           UINT32_C(0x000BE1F6), UINT32_C(0x0054175B), UINT32_C(0x000AFAA6),
10817           UINT32_C(0x00232E71), UINT32_C(0x002B55E0)}},
10818         {{UINT32_C(0x0001E7A5), UINT32_C(0x0004FD57), UINT32_C(0x0022F6FF),
10819           UINT32_C(0x004CC21B), UINT32_C(0x000D5FC7), UINT32_C(0x001FD78E),
10820           UINT32_C(0x003A2EBE), UINT32_C(0x00183905), UINT32_C(0x000C129E),
10821           UINT32_C(0x003765A9), UINT32_C(0x000A6E98), UINT32_C(0x00797796),
10822           UINT32_C(0x0024F429), UINT32_C(0x0036F1E4), UINT32_C(0x003DE415),
10823           UINT32_C(0x0060A080), UINT32_C(0x003D9A0F), UINT32_C(0x00348EE1),
10824           UINT32_C(0x003B8D4C), UINT32_C(0x003B94F9), UINT32_C(0x000A52CE),
10825           UINT32_C(0x0036391F), UINT32_C(0x00219DCA)},
10826          {UINT32_C(0x0000155E), UINT32_C(0x00001CFD), UINT32_C(0x001A8F93),
10827           UINT32_C(0x00743A5A), UINT32_C(0x0013DF56), UINT32_C(0x0035856C),
10828           UINT32_C(0x001E2621), UINT32_C(0x001DF2FD), UINT32_C(0x0017FC31),
10829           UINT32_C(0x0007F36B), UINT32_C(0x002516F7), UINT32_C(0x006F4EDA),
10830           UINT32_C(0x0004D8DA), UINT32_C(0x003BB017), UINT32_C(0x0017812B),
10831           UINT32_C(0x002E8803), UINT32_C(0x00331E37), UINT32_C(0x001476EC),
10832           UINT32_C(0x003B6795), UINT32_C(0x001D82CF), UINT32_C(0x00055A4D),
10833           UINT32_C(0x001E2E87), UINT32_C(0x0023FEA8)},
10834          {UINT32_C(0x002DEA12), UINT32_C(0x00158ECD), UINT32_C(0x001FC69F),
10835           UINT32_C(0x00672AE8), UINT32_C(0x001E897D), UINT32_C(0x001F295F),
10836           UINT32_C(0x0027C7CF), UINT32_C(0x002F1854), UINT32_C(0x002DD29A),
10837           UINT32_C(0x00224DFF), UINT32_C(0x00228DE0), UINT32_C(0x0009A2B0),
10838           UINT32_C(0x00113CF4), UINT32_C(0x0030BD96), UINT32_C(0x0029A4AB),
10839           UINT32_C(0x006DD2C6), UINT32_C(0x000E0F85), UINT32_C(0x001BA973),
10840           UINT32_C(0x003AEEC2), UINT32_C(0x00440748), UINT32_C(0x003C3422),
10841           UINT32_C(0x0004A832), UINT32_C(0x003A30EB)}},
10842         {{UINT32_C(0x001F1DE4), UINT32_C(0x0018B067), UINT32_C(0x002FFBA1),
10843           UINT32_C(0x007C943A), UINT32_C(0x003A18D1), UINT32_C(0x001108E9),
10844           UINT32_C(0x00284491), UINT32_C(0x00156A7B), UINT32_C(0x00148D8E),
10845           UINT32_C(0x00125467), UINT32_C(0x001947CE), UINT32_C(0x0048136E),
10846           UINT32_C(0x0014138D), UINT32_C(0x00303877), UINT32_C(0x00013932),
10847           UINT32_C(0x00055FE2), UINT32_C(0x00202719), UINT32_C(0x001586AE),
10848           UINT32_C(0x002D4502), UINT32_C(0x0071913C), UINT32_C(0x001B1B1C),
10849           UINT32_C(0x00056028), UINT32_C(0x00151696)},
10850          {UINT32_C(0x0076C4DF), UINT32_C(0x001348D7), UINT32_C(0x00276BB5),
10851           UINT32_C(0x001D589A), UINT32_C(0x00390F8D), UINT32_C(0x0029442B),
10852           UINT32_C(0x0000B75D), UINT32_C(0x00036E35), UINT32_C(0x003201CC),
10853           UINT32_C(0x002A33F2), UINT32_C(0x001F44DA), UINT32_C(0x000F6817),
10854           UINT32_C(0x0009DD39), UINT32_C(0x00291EE0), UINT32_C(0x003B94B2),
10855           UINT32_C(0x00628085), UINT32_C(0x003DA89E), UINT32_C(0x001935A1),
10856           UINT32_C(0x001682E4), UINT32_C(0x003D96A4), UINT32_C(0x00266B1C),
10857           UINT32_C(0x000B66B4), UINT32_C(0x000892A2)},
10858          {UINT32_C(0x003AFE25), UINT32_C(0x00055237), UINT32_C(0x00193631),
10859           UINT32_C(0x000ADE15), UINT32_C(0x00176B32), UINT32_C(0x0008E9B8),
10860           UINT32_C(0x0010652A), UINT32_C(0x001C79FD), UINT32_C(0x0012262B),
10861           UINT32_C(0x000811E4), UINT32_C(0x00371D92), UINT32_C(0x00000BE1),
10862           UINT32_C(0x000F024E), UINT32_C(0x003270AF), UINT32_C(0x003A0AEA),
10863           UINT32_C(0x005156EE), UINT32_C(0x003A8504), UINT32_C(0x00159140),
10864           UINT32_C(0x000A6703), UINT32_C(0x00125BF7), UINT32_C(0x003B1A1B),
10865           UINT32_C(0x0014C0D0), UINT32_C(0x0029EE7F)}},
10866     },
10867     {
10868         {{UINT32_C(0x000CEE3A), UINT32_C(0x003D7321), UINT32_C(0x00023142),
10869           UINT32_C(0x003544C4), UINT32_C(0x003F91BD), UINT32_C(0x0010A3EC),
10870           UINT32_C(0x00082B20), UINT32_C(0x0078FFE7), UINT32_C(0x003864F1),
10871           UINT32_C(0x003B8041), UINT32_C(0x001D9DC2), UINT32_C(0x0007B678),
10872           UINT32_C(0x0031A85D), UINT32_C(0x0026740B), UINT32_C(0x003B73EA),
10873           UINT32_C(0x00554F39), UINT32_C(0x0024C5A9), UINT32_C(0x001017C6),
10874           UINT32_C(0x0015253B), UINT32_C(0x0078B21A), UINT32_C(0x001046AA),
10875           UINT32_C(0x00345729), UINT32_C(0x0019F681)},
10876          {UINT32_C(0x00181CB6), UINT32_C(0x001C63A7), UINT32_C(0x003CC749),
10877           UINT32_C(0x00688EB7), UINT32_C(0x003206DC), UINT32_C(0x002E4E99),
10878           UINT32_C(0x0004E7E3), UINT32_C(0x005C52DA), UINT32_C(0x00206DFE),
10879           UINT32_C(0x001645C1), UINT32_C(0x003C7BEB), UINT32_C(0x000204B2),
10880           UINT32_C(0x00012DAF), UINT32_C(0x00349503), UINT32_C(0x0034618E),
10881           UINT32_C(0x00231A9D), UINT32_C(0x0029B7B6), UINT32_C(0x002A40B2),
10882           UINT32_C(0x003C911A), UINT32_C(0x0014E5CA), UINT32_C(0x00168D52),
10883           UINT32_C(0x0005511B), UINT32_C(0x002F1520)},
10884          {UINT32_C(0x007821FA), UINT32_C(0x0036926C), UINT32_C(0x000D7AF9),
10885           UINT32_C(0x006EC97B), UINT32_C(0x00045F92), UINT32_C(0x002447D1),
10886           UINT32_C(0x0026C242), UINT32_C(0x00319411), UINT32_C(0x003B8DAD),
10887           UINT32_C(0x001E3305), UINT32_C(0x0017AA9C), UINT32_C(0x001725D0),
10888           UINT32_C(0x00244567), UINT32_C(0x0005476C), UINT32_C(0x0001EFF9),
10889           UINT32_C(0x006A1091), UINT32_C(0x0024FA36), UINT32_C(0x00039DCF),
10890           UINT32_C(0x00208642), UINT32_C(0x003C7246), UINT32_C(0x003FA637),
10891           UINT32_C(0x002BB676), UINT32_C(0x00259D44)}},
10892         {{UINT32_C(0x001143E0), UINT32_C(0x000BE934), UINT32_C(0x00092033),
10893           UINT32_C(0x0022ACE8), UINT32_C(0x0007276F), UINT32_C(0x000F73BC),
10894           UINT32_C(0x00201D0F), UINT32_C(0x00226977), UINT32_C(0x00012645),
10895           UINT32_C(0x00275465), UINT32_C(0x0028E554), UINT32_C(0x005CBE2C),
10896           UINT32_C(0x0021F1F6), UINT32_C(0x003D5FE6), UINT32_C(0x001DC930),
10897           UINT32_C(0x0077C3DA), UINT32_C(0x00097BE2), UINT32_C(0x000D819D),
10898           UINT32_C(0x0001C8A3), UINT32_C(0x0019CED0), UINT32_C(0x00134484),
10899           UINT32_C(0x000F4F11), UINT32_C(0x001DF685)},
10900          {UINT32_C(0x000009BC), UINT32_C(0x0011EDA2), UINT32_C(0x000D29DF),
10901           UINT32_C(0x003DD661), UINT32_C(0x002C252E), UINT32_C(0x00113EDA),
10902           UINT32_C(0x003DF35D), UINT32_C(0x002DED2E), UINT32_C(0x002B0755),
10903           UINT32_C(0x00333F8A), UINT32_C(0x0013C151), UINT32_C(0x0057FEA3),
10904           UINT32_C(0x0015DAC1), UINT32_C(0x003EB220), UINT32_C(0x0003B1EA),
10905           UINT32_C(0x007C1A9B), UINT32_C(0x003CE6E5), UINT32_C(0x003CAD4F),
10906           UINT32_C(0x0012B472), UINT32_C(0x00652857), UINT32_C(0x0007E9D3),
10907           UINT32_C(0x0024534D), UINT32_C(0x00213675)},
10908          {UINT32_C(0x0048F0D3), UINT32_C(0x0022CD16), UINT32_C(0x000AD0B2),
10909           UINT32_C(0x00354F10), UINT32_C(0x00349FB2), UINT32_C(0x00305A14),
10910           UINT32_C(0x001BDA8F), UINT32_C(0x007E0240), UINT32_C(0x001C187D),
10911           UINT32_C(0x003E456C), UINT32_C(0x00228C2A), UINT32_C(0x00518D87),
10912           UINT32_C(0x0031FEE5), UINT32_C(0x0018BEB8), UINT32_C(0x001E38EB),
10913           UINT32_C(0x003553A2), UINT32_C(0x003C0940), UINT32_C(0x003DE9BA),
10914           UINT32_C(0x00120769), UINT32_C(0x0076BFBD), UINT32_C(0x003CEEF0),
10915           UINT32_C(0x001B431A), UINT32_C(0x001E3982)}},
10916         {{UINT32_C(0x00516136), UINT32_C(0x0029DF1B), UINT32_C(0x002D8BBF),
10917           UINT32_C(0x00309D5F), UINT32_C(0x00259D4B), UINT32_C(0x00038377),
10918           UINT32_C(0x003833E1), UINT32_C(0x004338BB), UINT32_C(0x001D9308),
10919           UINT32_C(0x0006D82F), UINT32_C(0x000B6B51), UINT32_C(0x005BA357),
10920           UINT32_C(0x00320D4C), UINT32_C(0x00259A92), UINT32_C(0x001D9241),
10921           UINT32_C(0x0078B989), UINT32_C(0x00045C59), UINT32_C(0x00037E70),
10922           UINT32_C(0x002B41F8), UINT32_C(0x0040B045), UINT32_C(0x003CC5AB),
10923           UINT32_C(0x003A6093), UINT32_C(0x002EB114)},
10924          {UINT32_C(0x002FD13F), UINT32_C(0x0031B6B2), UINT32_C(0x0038071A),
10925           UINT32_C(0x00008F7E), UINT32_C(0x002227F0), UINT32_C(0x002C8CB9),
10926           UINT32_C(0x0002C017), UINT32_C(0x00452659), UINT32_C(0x000CCF76),
10927           UINT32_C(0x000F095B), UINT32_C(0x003A4DFD), UINT32_C(0x0072E9C3),
10928           UINT32_C(0x0010B61E), UINT32_C(0x000C0898), UINT32_C(0x0024C173),
10929           UINT32_C(0x000A2663), UINT32_C(0x00060CDB), UINT32_C(0x00096AE3),
10930           UINT32_C(0x0013F6F3), UINT32_C(0x004B3363), UINT32_C(0x001F342B),
10931           UINT32_C(0x000C8DE7), UINT32_C(0x00251CCD)},
10932          {UINT32_C(0x00291E81), UINT32_C(0x00087E94), UINT32_C(0x00397163),
10933           UINT32_C(0x0041EE95), UINT32_C(0x00174BBE), UINT32_C(0x00116EA7),
10934           UINT32_C(0x003F0F93), UINT32_C(0x004C9F35), UINT32_C(0x0028B7F6),
10935           UINT32_C(0x0005ADCA), UINT32_C(0x00148DEC), UINT32_C(0x00599D15),
10936           UINT32_C(0x0024B8E7), UINT32_C(0x003FB84F), UINT32_C(0x003DA2F2),
10937           UINT32_C(0x003BCD26), UINT32_C(0x003A6E5E), UINT32_C(0x00198E0F),
10938           UINT32_C(0x002481B2), UINT32_C(0x0052634A), UINT32_C(0x0022D3F8),
10939           UINT32_C(0x00291EF1), UINT32_C(0x0007CC09)}},
10940         {{UINT32_C(0x00103033), UINT32_C(0x002ADD30), UINT32_C(0x001859A0),
10941           UINT32_C(0x0015A086), UINT32_C(0x00061C02), UINT32_C(0x0010E7A8),
10942           UINT32_C(0x003EAFF4), UINT32_C(0x00767D34), UINT32_C(0x0010AB16),
10943           UINT32_C(0x001F8467), UINT32_C(0x0026AFAB), UINT32_C(0x000D90E0),
10944           UINT32_C(0x0026D163), UINT32_C(0x001708CF), UINT32_C(0x00041DBD),
10945           UINT32_C(0x0016BB95), UINT32_C(0x00375E2C), UINT32_C(0x0003BCA5),
10946           UINT32_C(0x0004AAE7), UINT32_C(0x003072CC), UINT32_C(0x0005E256),
10947           UINT32_C(0x0015AC55), UINT32_C(0x003BABC8)},
10948          {UINT32_C(0x004B5126), UINT32_C(0x00221DBC), UINT32_C(0x00061E51),
10949           UINT32_C(0x001A65B2), UINT32_C(0x00144A5D), UINT32_C(0x00053B47),
10950           UINT32_C(0x0035282A), UINT32_C(0x00361203), UINT32_C(0x0034A24A),
10951           UINT32_C(0x00265DCD), UINT32_C(0x0011E3E4), UINT32_C(0x0071F53C),
10952           UINT32_C(0x001617A7), UINT32_C(0x001B3CFC), UINT32_C(0x0037ACD5),
10953           UINT32_C(0x003D79A9), UINT32_C(0x002F6062), UINT32_C(0x000E6254),
10954           UINT32_C(0x0013609B), UINT32_C(0x006B6554), UINT32_C(0x0035F594),
10955           UINT32_C(0x000ABD87), UINT32_C(0x002EDABF)},
10956          {UINT32_C(0x00261ED9), UINT32_C(0x002DA8C6), UINT32_C(0x001E0A7A),
10957           UINT32_C(0x00169981), UINT32_C(0x001CF370), UINT32_C(0x003E78E4),
10958           UINT32_C(0x001DC822), UINT32_C(0x005C5907), UINT32_C(0x000C84AA),
10959           UINT32_C(0x001B3D8D), UINT32_C(0x00235FF6), UINT32_C(0x003183F8),
10960           UINT32_C(0x001DC3F5), UINT32_C(0x003CD3E8), UINT32_C(0x0038AA8A),
10961           UINT32_C(0x00298326), UINT32_C(0x0023EE8A), UINT32_C(0x00219AC4),
10962           UINT32_C(0x002FFA3E), UINT32_C(0x006FB3B6), UINT32_C(0x0026C478),
10963           UINT32_C(0x0001E8FD), UINT32_C(0x0028FC8A)}},
10964         {{UINT32_C(0x0074BF78), UINT32_C(0x0021A4A0), UINT32_C(0x0007F0AA),
10965           UINT32_C(0x004357AC), UINT32_C(0x001FE0E7), UINT32_C(0x0028EE47),
10966           UINT32_C(0x0028C433), UINT32_C(0x002DC428), UINT32_C(0x001801EA),
10967           UINT32_C(0x001C3DCA), UINT32_C(0x0036E321), UINT32_C(0x0076CD18),
10968           UINT32_C(0x000FE126), UINT32_C(0x001F3CFA), UINT32_C(0x003B1976),
10969           UINT32_C(0x007FB0F7), UINT32_C(0x0022F2C9), UINT32_C(0x00197985),
10970           UINT32_C(0x0007146F), UINT32_C(0x007D7DCB), UINT32_C(0x000400AF),
10971           UINT32_C(0x00344938), UINT32_C(0x002E00BD)},
10972          {UINT32_C(0x0033B420), UINT32_C(0x002CBFC9), UINT32_C(0x001EBE71),
10973           UINT32_C(0x000E5302), UINT32_C(0x00074DB3), UINT32_C(0x00130287),
10974           UINT32_C(0x000026B2), UINT32_C(0x00514208), UINT32_C(0x002E49CD),
10975           UINT32_C(0x000B2A5B), UINT32_C(0x003C750F), UINT32_C(0x003ED5AC),
10976           UINT32_C(0x0039B88B), UINT32_C(0x002B90DA), UINT32_C(0x0005740F),
10977           UINT32_C(0x00279855), UINT32_C(0x00083537), UINT32_C(0x000AECE4),
10978           UINT32_C(0x00284E3D), UINT32_C(0x007EBF4B), UINT32_C(0x000753F0),
10979           UINT32_C(0x00361832), UINT32_C(0x001F793F)},
10980          {UINT32_C(0x003A939A), UINT32_C(0x00052334), UINT32_C(0x00356449),
10981           UINT32_C(0x0024BFBB), UINT32_C(0x0036BE0F), UINT32_C(0x00367B2C),
10982           UINT32_C(0x0004E8D1), UINT32_C(0x0067E56C), UINT32_C(0x00279DE5),
10983           UINT32_C(0x00090171), UINT32_C(0x0015DDDE), UINT32_C(0x002A246D),
10984           UINT32_C(0x00062B11), UINT32_C(0x00036BDB), UINT32_C(0x001714B6),
10985           UINT32_C(0x007CBB2A), UINT32_C(0x001969BA), UINT32_C(0x0027CA13),
10986           UINT32_C(0x0028B9DE), UINT32_C(0x005E3B1A), UINT32_C(0x00078AE7),
10987           UINT32_C(0x001351F5), UINT32_C(0x0000DA62)}},
10988         {{UINT32_C(0x00053172), UINT32_C(0x002A2BFC), UINT32_C(0x0033E860),
10989           UINT32_C(0x00638ADF), UINT32_C(0x0022FDA9), UINT32_C(0x00161786),
10990           UINT32_C(0x002313FD), UINT32_C(0x00502AB2), UINT32_C(0x001C6DA3),
10991           UINT32_C(0x00235635), UINT32_C(0x0008ED5B), UINT32_C(0x001E342B),
10992           UINT32_C(0x0013C148), UINT32_C(0x002E6A9C), UINT32_C(0x003897F3),
10993           UINT32_C(0x005843F7), UINT32_C(0x00123DFD), UINT32_C(0x003C9807),
10994           UINT32_C(0x0005F065), UINT32_C(0x000D45E4), UINT32_C(0x002690E3),
10995           UINT32_C(0x00341A20), UINT32_C(0x000927BF)},
10996          {UINT32_C(0x0015F913), UINT32_C(0x0030564F), UINT32_C(0x002F86A0),
10997           UINT32_C(0x000C54CB), UINT32_C(0x0017E098), UINT32_C(0x001C24F2),
10998           UINT32_C(0x0017111F), UINT32_C(0x00021C5D), UINT32_C(0x001BE2D3),
10999           UINT32_C(0x000FD2C4), UINT32_C(0x001E935E), UINT32_C(0x003CE41D),
11000           UINT32_C(0x00086058), UINT32_C(0x001B00C8), UINT32_C(0x00285196),
11001           UINT32_C(0x00011DA1), UINT32_C(0x002F1A16), UINT32_C(0x00126ABE),
11002           UINT32_C(0x00042FD8), UINT32_C(0x002EDBF1), UINT32_C(0x003A75C6),
11003           UINT32_C(0x000D1C7C), UINT32_C(0x00367832)},
11004          {UINT32_C(0x00293AEE), UINT32_C(0x00021495), UINT32_C(0x001BB0F5),
11005           UINT32_C(0x00566C32), UINT32_C(0x00196DDA), UINT32_C(0x000D10CE),
11006           UINT32_C(0x000C6555), UINT32_C(0x001E8E54), UINT32_C(0x0014FA41),
11007           UINT32_C(0x003CA61A), UINT32_C(0x0008C270), UINT32_C(0x0041A922),
11008           UINT32_C(0x0010DDE3), UINT32_C(0x003C22D8), UINT32_C(0x00143053),
11009           UINT32_C(0x000C9DAC), UINT32_C(0x00117939), UINT32_C(0x0016BA60),
11010           UINT32_C(0x0028B353), UINT32_C(0x003C642B), UINT32_C(0x0020C6F4),
11011           UINT32_C(0x0003F370), UINT32_C(0x00196768)}},
11012         {{UINT32_C(0x0065E8F6), UINT32_C(0x0009C4A7), UINT32_C(0x000A1D99),
11013           UINT32_C(0x007D4B7B), UINT32_C(0x0015F315), UINT32_C(0x003FC1AA),
11014           UINT32_C(0x002468FA), UINT32_C(0x005C1056), UINT32_C(0x000F4362),
11015           UINT32_C(0x002C7799), UINT32_C(0x0022A7D7), UINT32_C(0x0071EC9D),
11016           UINT32_C(0x001ACB59), UINT32_C(0x001E9B82), UINT32_C(0x000369EA),
11017           UINT32_C(0x0052D8AB), UINT32_C(0x002884D6), UINT32_C(0x000AA6B5),
11018           UINT32_C(0x00110D92), UINT32_C(0x005882B4), UINT32_C(0x0018CB6D),
11019           UINT32_C(0x002F7663), UINT32_C(0x001B502E)},
11020          {UINT32_C(0x006415D4), UINT32_C(0x0036A62C), UINT32_C(0x002F8E5C),
11021           UINT32_C(0x00310D30), UINT32_C(0x0011EE1E), UINT32_C(0x00271CB7),
11022           UINT32_C(0x0022D267), UINT32_C(0x00094EFA), UINT32_C(0x00398684),
11023           UINT32_C(0x003F1B86), UINT32_C(0x00165A66), UINT32_C(0x005BB638),
11024           UINT32_C(0x0034D02F), UINT32_C(0x003E6EBE), UINT32_C(0x000DE3C6),
11025           UINT32_C(0x004138E0), UINT32_C(0x002EECEC), UINT32_C(0x0024EE9D),
11026           UINT32_C(0x001E8C7F), UINT32_C(0x005CEBE9), UINT32_C(0x000A4E0F),
11027           UINT32_C(0x001BC6CD), UINT32_C(0x0036B315)},
11028          {UINT32_C(0x004FDAB7), UINT32_C(0x003E5AE6), UINT32_C(0x000C6A3B),
11029           UINT32_C(0x002C4AA9), UINT32_C(0x00269D75), UINT32_C(0x000D8807),
11030           UINT32_C(0x000B5F32), UINT32_C(0x006B8D06), UINT32_C(0x0031AE80),
11031           UINT32_C(0x0025B3E0), UINT32_C(0x0039541F), UINT32_C(0x0000F3ED),
11032           UINT32_C(0x003A4AF4), UINT32_C(0x001A6C5B), UINT32_C(0x000C602B),
11033           UINT32_C(0x0011FF53), UINT32_C(0x002F09C9), UINT32_C(0x00054583),
11034           UINT32_C(0x00214187), UINT32_C(0x0036D12F), UINT32_C(0x003950DC),
11035           UINT32_C(0x000AED90), UINT32_C(0x003F5A51)}},
11036         {{UINT32_C(0x00056FA9), UINT32_C(0x002A8CF1), UINT32_C(0x0001DDAD),
11037           UINT32_C(0x0046E6FF), UINT32_C(0x003B910B), UINT32_C(0x002CADE7),
11038           UINT32_C(0x000D73A3), UINT32_C(0x00338292), UINT32_C(0x000BBF55),
11039           UINT32_C(0x0033F714), UINT32_C(0x0004D83C), UINT32_C(0x007DF50D),
11040           UINT32_C(0x0037ABD1), UINT32_C(0x00103E5A), UINT32_C(0x00042BB5),
11041           UINT32_C(0x00663AFA), UINT32_C(0x00197069), UINT32_C(0x002B5674),
11042           UINT32_C(0x003B0D57), UINT32_C(0x0045359A), UINT32_C(0x0010B12C),
11043           UINT32_C(0x000F3CA0), UINT32_C(0x0025512A)},
11044          {UINT32_C(0x002BD66C), UINT32_C(0x002285D6), UINT32_C(0x001D66BD),
11045           UINT32_C(0x006BD87F), UINT32_C(0x002DC0F9), UINT32_C(0x003AE7AB),
11046           UINT32_C(0x00361A39), UINT32_C(0x0011B741), UINT32_C(0x00206C9F),
11047           UINT32_C(0x0025662E), UINT32_C(0x000C70F7), UINT32_C(0x003F36E4),
11048           UINT32_C(0x002ACA51), UINT32_C(0x000C34AF), UINT32_C(0x0024625C),
11049           UINT32_C(0x006500C7), UINT32_C(0x00198FCB), UINT32_C(0x0012CFCA),
11050           UINT32_C(0x0009EE1C), UINT32_C(0x00277608), UINT32_C(0x00213658),
11051           UINT32_C(0x0030604D), UINT32_C(0x002EF50F)},
11052          {UINT32_C(0x00092ABD), UINT32_C(0x001446D1), UINT32_C(0x003F6A06),
11053           UINT32_C(0x0046565B), UINT32_C(0x0003E584), UINT32_C(0x00159E89),
11054           UINT32_C(0x003DEBC5), UINT32_C(0x00735F29), UINT32_C(0x0031EB5E),
11055           UINT32_C(0x000434A9), UINT32_C(0x002797DF), UINT32_C(0x006DEA2C),
11056           UINT32_C(0x002A9686), UINT32_C(0x00118EFA), UINT32_C(0x00050279),
11057           UINT32_C(0x003045AD), UINT32_C(0x0034874B), UINT32_C(0x003D78ED),
11058           UINT32_C(0x0018FEC5), UINT32_C(0x003D2A5A), UINT32_C(0x0030D04B),
11059           UINT32_C(0x003A21F3), UINT32_C(0x0031E2CC)}},
11060         {{UINT32_C(0x000F8BDB), UINT32_C(0x0033A04E), UINT32_C(0x0014B261),
11061           UINT32_C(0x003ABAE0), UINT32_C(0x0003F54D), UINT32_C(0x00168473),
11062           UINT32_C(0x001C33A5), UINT32_C(0x001CB69A), UINT32_C(0x000FEEE3),
11063           UINT32_C(0x0031C38B), UINT32_C(0x00219E20), UINT32_C(0x004DE49D),
11064           UINT32_C(0x003DCBEE), UINT32_C(0x00052411), UINT32_C(0x003D8935),
11065           UINT32_C(0x000D0029), UINT32_C(0x00227D70), UINT32_C(0x002A8E3F),
11066           UINT32_C(0x000204A8), UINT32_C(0x00320844), UINT32_C(0x000DD3B6),
11067           UINT32_C(0x003D0841), UINT32_C(0x002C6C6C)},
11068          {UINT32_C(0x005C03EC), UINT32_C(0x002B2C46), UINT32_C(0x00293F5B),
11069           UINT32_C(0x007F7BDE), UINT32_C(0x003ADCB5), UINT32_C(0x0017241D),
11070           UINT32_C(0x001FD746), UINT32_C(0x003529B7), UINT32_C(0x003332DC),
11071           UINT32_C(0x002763A5), UINT32_C(0x001E887A), UINT32_C(0x00130EB1),
11072           UINT32_C(0x002394CE), UINT32_C(0x000B8EF4), UINT32_C(0x000E932D),
11073           UINT32_C(0x00527CBE), UINT32_C(0x003F139A), UINT32_C(0x003BFA19),
11074           UINT32_C(0x00336A1D), UINT32_C(0x0066E2AC), UINT32_C(0x00098186),
11075           UINT32_C(0x00047A1A), UINT32_C(0x0004788C)},
11076          {UINT32_C(0x0009A196), UINT32_C(0x0035EBC2), UINT32_C(0x00265402),
11077           UINT32_C(0x007A08A2), UINT32_C(0x002CDBA0), UINT32_C(0x0023627E),
11078           UINT32_C(0x0002433D), UINT32_C(0x0046191A), UINT32_C(0x003DCF82),
11079           UINT32_C(0x00034EE3), UINT32_C(0x002B144C), UINT32_C(0x000FC454),
11080           UINT32_C(0x00149146), UINT32_C(0x0002C1B7), UINT32_C(0x000707A7),
11081           UINT32_C(0x0029E68D), UINT32_C(0x000F78F8), UINT32_C(0x0024EB1B),
11082           UINT32_C(0x00116A27), UINT32_C(0x00722F40), UINT32_C(0x000C507F),
11083           UINT32_C(0x000737D8), UINT32_C(0x001FABC6)}},
11084         {{UINT32_C(0x002E0A9F), UINT32_C(0x00047AD4), UINT32_C(0x00395FF2),
11085           UINT32_C(0x0070C4CD), UINT32_C(0x001FB3C7), UINT32_C(0x0001E8F1),
11086           UINT32_C(0x00025684), UINT32_C(0x0046A16B), UINT32_C(0x000BE275),
11087           UINT32_C(0x001CA806), UINT32_C(0x00017814), UINT32_C(0x00255A20),
11088           UINT32_C(0x001A997F), UINT32_C(0x001AD072), UINT32_C(0x003CFEB6),
11089           UINT32_C(0x003C6C9C), UINT32_C(0x001F796B), UINT32_C(0x003CEE03),
11090           UINT32_C(0x0003882E), UINT32_C(0x006A3D22), UINT32_C(0x0039A895),
11091           UINT32_C(0x003BEFAB), UINT32_C(0x001E8B14)},
11092          {UINT32_C(0x002481A8), UINT32_C(0x000FD69E), UINT32_C(0x001BB1B7),
11093           UINT32_C(0x006E58A2), UINT32_C(0x001FF0FF), UINT32_C(0x000786C3),
11094           UINT32_C(0x0016526A), UINT32_C(0x00617928), UINT32_C(0x0010511F),
11095           UINT32_C(0x00088530), UINT32_C(0x00397BC8), UINT32_C(0x0034BA73),
11096           UINT32_C(0x0004BEE5), UINT32_C(0x00274402), UINT32_C(0x0004DCC0),
11097           UINT32_C(0x00246DC1), UINT32_C(0x00001408), UINT32_C(0x002DC300),
11098           UINT32_C(0x0028EE1F), UINT32_C(0x00609A3C), UINT32_C(0x0009B999),
11099           UINT32_C(0x00203ECD), UINT32_C(0x0022AA2D)},
11100          {UINT32_C(0x003580E7), UINT32_C(0x00155DCD), UINT32_C(0x0013457A),
11101           UINT32_C(0x002C90EB), UINT32_C(0x0026470A), UINT32_C(0x00122727),
11102           UINT32_C(0x0037BD5C), UINT32_C(0x005D220D), UINT32_C(0x00152493),
11103           UINT32_C(0x0018A293), UINT32_C(0x00392995), UINT32_C(0x00151E64),
11104           UINT32_C(0x002E37DC), UINT32_C(0x002E9EC6), UINT32_C(0x001A205E),
11105           UINT32_C(0x000701D8), UINT32_C(0x001CB000), UINT32_C(0x00120BE4),
11106           UINT32_C(0x0031B0D9), UINT32_C(0x005B9235), UINT32_C(0x00005267),
11107           UINT32_C(0x000B7C49), UINT32_C(0x00155B65)}},
11108         {{UINT32_C(0x003005AF), UINT32_C(0x00222462), UINT32_C(0x0034D58A),
11109           UINT32_C(0x002AEF89), UINT32_C(0x002BA06B), UINT32_C(0x001C9A9E),
11110           UINT32_C(0x001E894B), UINT32_C(0x00406001), UINT32_C(0x0010BF30),
11111           UINT32_C(0x002867EA), UINT32_C(0x003F0EC9), UINT32_C(0x0032D6F1),
11112           UINT32_C(0x002C15E9), UINT32_C(0x0012CFC5), UINT32_C(0x00191373),
11113           UINT32_C(0x0024A43B), UINT32_C(0x002C8AB3), UINT32_C(0x0025E47F),
11114           UINT32_C(0x003A9B91), UINT32_C(0x002DC4AC), UINT32_C(0x001821EA),
11115           UINT32_C(0x0019E718), UINT32_C(0x003570EC)},
11116          {UINT32_C(0x00049A08), UINT32_C(0x0029C93F), UINT32_C(0x00311736),
11117           UINT32_C(0x004A3E8D), UINT32_C(0x00076459), UINT32_C(0x0024E089),
11118           UINT32_C(0x000D1295), UINT32_C(0x0065B4DA), UINT32_C(0x00199D52),
11119           UINT32_C(0x0007CE98), UINT32_C(0x00284B76), UINT32_C(0x00797A7F),
11120           UINT32_C(0x00219D91), UINT32_C(0x00288E07), UINT32_C(0x000BA4F1),
11121           UINT32_C(0x001089DA), UINT32_C(0x0003C7B7), UINT32_C(0x0037C99E),
11122           UINT32_C(0x00376B77), UINT32_C(0x0028C9E0), UINT32_C(0x003AF66B),
11123           UINT32_C(0x0015F094), UINT32_C(0x000887F7)},
11124          {UINT32_C(0x004D57FB), UINT32_C(0x00142BB6), UINT32_C(0x000680E9),
11125           UINT32_C(0x0019ED70), UINT32_C(0x0031F674), UINT32_C(0x003D4AD2),
11126           UINT32_C(0x00023E39), UINT32_C(0x006D62CE), UINT32_C(0x001F2AF6),
11127           UINT32_C(0x0018DCD2), UINT32_C(0x00087694), UINT32_C(0x0004D412),
11128           UINT32_C(0x0022EF3A), UINT32_C(0x00024D6F), UINT32_C(0x0016C5BC),
11129           UINT32_C(0x00499A4A), UINT32_C(0x003C726B), UINT32_C(0x0021F3CF),
11130           UINT32_C(0x0023BB7D), UINT32_C(0x0060BA2C), UINT32_C(0x003B5906),
11131           UINT32_C(0x0019F5B1), UINT32_C(0x0022E2B1)}},
11132         {{UINT32_C(0x001A18D3), UINT32_C(0x0002DF53), UINT32_C(0x003C65F2),
11133           UINT32_C(0x00252D1F), UINT32_C(0x0005D4E4), UINT32_C(0x0037F7AD),
11134           UINT32_C(0x002B96C8), UINT32_C(0x004A99EF), UINT32_C(0x0034622E),
11135           UINT32_C(0x003DC7C3), UINT32_C(0x0025C9EA), UINT32_C(0x002950F3),
11136           UINT32_C(0x002D17D0), UINT32_C(0x002BA2B1), UINT32_C(0x0016FD3F),
11137           UINT32_C(0x002D1E9B), UINT32_C(0x003D33A4), UINT32_C(0x0020B37E),
11138           UINT32_C(0x001F2455), UINT32_C(0x0039CB42), UINT32_C(0x00074719),
11139           UINT32_C(0x0006C7E3), UINT32_C(0x000B524B)},
11140          {UINT32_C(0x003E735C), UINT32_C(0x001CD19B), UINT32_C(0x000A2B03),
11141           UINT32_C(0x0004DADA), UINT32_C(0x001D7F00), UINT32_C(0x001BB1CD),
11142           UINT32_C(0x0031EC2D), UINT32_C(0x0060CB29), UINT32_C(0x00305DAD),
11143           UINT32_C(0x002A2E31), UINT32_C(0x002A51BD), UINT32_C(0x0064BA52),
11144           UINT32_C(0x000A34DE), UINT32_C(0x000C8DBD), UINT32_C(0x00335FA7),
11145           UINT32_C(0x00335FE1), UINT32_C(0x0033C874), UINT32_C(0x0003E276),
11146           UINT32_C(0x002026D5), UINT32_C(0x00096E2B), UINT32_C(0x000276E3),
11147           UINT32_C(0x0038EF96), UINT32_C(0x003FBD7E)},
11148          {UINT32_C(0x0079E37A), UINT32_C(0x001890D4), UINT32_C(0x00250177),
11149           UINT32_C(0x0047BB39), UINT32_C(0x0029268C), UINT32_C(0x002479AB),
11150           UINT32_C(0x00244958), UINT32_C(0x00270A4B), UINT32_C(0x001A146F),
11151           UINT32_C(0x000E6E93), UINT32_C(0x001688FB), UINT32_C(0x00728526),
11152           UINT32_C(0x001CECAB), UINT32_C(0x0026F68E), UINT32_C(0x001480E6),
11153           UINT32_C(0x0078FACC), UINT32_C(0x00234FE3), UINT32_C(0x001CB3A6),
11154           UINT32_C(0x0003F46F), UINT32_C(0x0031231A), UINT32_C(0x001C154C),
11155           UINT32_C(0x003F8810), UINT32_C(0x001DA5AD)}},
11156         {{UINT32_C(0x003DDB7A), UINT32_C(0x0002E3D3), UINT32_C(0x002553BF),
11157           UINT32_C(0x004415BB), UINT32_C(0x00329C70), UINT32_C(0x0022CB5A),
11158           UINT32_C(0x0019FC2C), UINT32_C(0x000F789E), UINT32_C(0x0025AD01),
11159           UINT32_C(0x0023FC89), UINT32_C(0x00297284), UINT32_C(0x0052CFEE),
11160           UINT32_C(0x0023B149), UINT32_C(0x000D9DC2), UINT32_C(0x002F141C),
11161           UINT32_C(0x000144A6), UINT32_C(0x0034AA72), UINT32_C(0x00071093),
11162           UINT32_C(0x003304EB), UINT32_C(0x0072FE7F), UINT32_C(0x00098781),
11163           UINT32_C(0x001FC2EE), UINT32_C(0x001AA3B0)},
11164          {UINT32_C(0x00784FC3), UINT32_C(0x00109969), UINT32_C(0x0027287E),
11165           UINT32_C(0x006DB5D4), UINT32_C(0x000ACF5E), UINT32_C(0x00032B46),
11166           UINT32_C(0x0037A8DC), UINT32_C(0x004CE91B), UINT32_C(0x0036E3B8),
11167           UINT32_C(0x002D9C83), UINT32_C(0x0004C6A9), UINT32_C(0x002A278F),
11168           UINT32_C(0x003E2154), UINT32_C(0x001E5587), UINT32_C(0x0026D619),
11169           UINT32_C(0x00749796), UINT32_C(0x002DE56E), UINT32_C(0x001CA040),
11170           UINT32_C(0x000F01A0), UINT32_C(0x000A33E5), UINT32_C(0x00398839),
11171           UINT32_C(0x0025A737), UINT32_C(0x00342BA0)},
11172          {UINT32_C(0x000DD5DB), UINT32_C(0x0035AF7C), UINT32_C(0x000ADFC4),
11173           UINT32_C(0x002D82EC), UINT32_C(0x001F65FA), UINT32_C(0x000E30C7),
11174           UINT32_C(0x0003A776), UINT32_C(0x0011585E), UINT32_C(0x002736DB),
11175           UINT32_C(0x003AF607), UINT32_C(0x000EC2A5), UINT32_C(0x003DB029),
11176           UINT32_C(0x003B1ACF), UINT32_C(0x0025DB0F), UINT32_C(0x0001FC2D),
11177           UINT32_C(0x0009BB8A), UINT32_C(0x000C442B), UINT32_C(0x000B14D4),
11178           UINT32_C(0x000B2FA5), UINT32_C(0x002930AA), UINT32_C(0x001A33E5),
11179           UINT32_C(0x0007711E), UINT32_C(0x0014AAEA)}},
11180         {{UINT32_C(0x004E9DDC), UINT32_C(0x00249BD7), UINT32_C(0x00399ACA),
11181           UINT32_C(0x00001C89), UINT32_C(0x00399AD6), UINT32_C(0x001CA0C4),
11182           UINT32_C(0x0033F687), UINT32_C(0x00167529), UINT32_C(0x003E6664),
11183           UINT32_C(0x00247D4A), UINT32_C(0x003E497D), UINT32_C(0x006BEC07),
11184           UINT32_C(0x00321482), UINT32_C(0x00261DC6), UINT32_C(0x001AFB91),
11185           UINT32_C(0x000CCE08), UINT32_C(0x00154873), UINT32_C(0x001FA9C6),
11186           UINT32_C(0x0031D6B7), UINT32_C(0x001DB078), UINT32_C(0x0007F410),
11187           UINT32_C(0x002B5D77), UINT32_C(0x001CEFE7)},
11188          {UINT32_C(0x0078A938), UINT32_C(0x00079CA6), UINT32_C(0x0004A11B),
11189           UINT32_C(0x0000BBD2), UINT32_C(0x0014D1B9), UINT32_C(0x0032E71F),
11190           UINT32_C(0x00228788), UINT32_C(0x0043BDCB), UINT32_C(0x00052FE3),
11191           UINT32_C(0x0032E261), UINT32_C(0x003EA511), UINT32_C(0x006940B9),
11192           UINT32_C(0x000DD8A7), UINT32_C(0x0035310F), UINT32_C(0x0016AD6A),
11193           UINT32_C(0x0051AD87), UINT32_C(0x0034DB37), UINT32_C(0x0039F114),
11194           UINT32_C(0x000435BA), UINT32_C(0x0075A182), UINT32_C(0x00319B60),
11195           UINT32_C(0x0007D2C9), UINT32_C(0x003B06E6)},
11196          {UINT32_C(0x004768E1), UINT32_C(0x001CC336), UINT32_C(0x003299A7),
11197           UINT32_C(0x005DFF8F), UINT32_C(0x00004B15), UINT32_C(0x00222007),
11198           UINT32_C(0x0035CA8E), UINT32_C(0x001DA643), UINT32_C(0x00267E34),
11199           UINT32_C(0x001EC2B8), UINT32_C(0x000189F4), UINT32_C(0x00721823),
11200           UINT32_C(0x000225C4), UINT32_C(0x001F0249), UINT32_C(0x003A75ED),
11201           UINT32_C(0x0043CA56), UINT32_C(0x0025AC50), UINT32_C(0x0000E327),
11202           UINT32_C(0x003352D9), UINT32_C(0x004B96F8), UINT32_C(0x0027419D),
11203           UINT32_C(0x0023A16C), UINT32_C(0x0031DA1B)}},
11204         {{UINT32_C(0x00487D70), UINT32_C(0x003AAA4A), UINT32_C(0x0026A8EB),
11205           UINT32_C(0x005FBEDD), UINT32_C(0x002A0595), UINT32_C(0x0022F25C),
11206           UINT32_C(0x003A6FD8), UINT32_C(0x00451396), UINT32_C(0x00306E44),
11207           UINT32_C(0x000F3B8F), UINT32_C(0x002912A8), UINT32_C(0x0050F308),
11208           UINT32_C(0x0007E373), UINT32_C(0x0007762D), UINT32_C(0x001A5294),
11209           UINT32_C(0x00331113), UINT32_C(0x0026941A), UINT32_C(0x0025F44E),
11210           UINT32_C(0x003862FA), UINT32_C(0x0010D40E), UINT32_C(0x00289A47),
11211           UINT32_C(0x00099A16), UINT32_C(0x00207317)},
11212          {UINT32_C(0x001B1BDB), UINT32_C(0x00304B63), UINT32_C(0x000E1EED),
11213           UINT32_C(0x0053C2DF), UINT32_C(0x003F16DC), UINT32_C(0x00063BAB),
11214           UINT32_C(0x0021F5CC), UINT32_C(0x0003D7B7), UINT32_C(0x000B4008),
11215           UINT32_C(0x00174E48), UINT32_C(0x00341AE6), UINT32_C(0x0023DF07),
11216           UINT32_C(0x002FF147), UINT32_C(0x0007214D), UINT32_C(0x0011768A),
11217           UINT32_C(0x00756B3F), UINT32_C(0x000DB5D9), UINT32_C(0x003F42F9),
11218           UINT32_C(0x00062571), UINT32_C(0x007558EC), UINT32_C(0x002AEDF3),
11219           UINT32_C(0x001F12E2), UINT32_C(0x002C1D2E)},
11220          {UINT32_C(0x00424EEA), UINT32_C(0x0008E4E0), UINT32_C(0x00276315),
11221           UINT32_C(0x0010C7CE), UINT32_C(0x0010FB31), UINT32_C(0x0005DB4C),
11222           UINT32_C(0x002E33CE), UINT32_C(0x0029F3F7), UINT32_C(0x001931C4),
11223           UINT32_C(0x0006A41D), UINT32_C(0x002E7D33), UINT32_C(0x0031344C),
11224           UINT32_C(0x00148E02), UINT32_C(0x00387E14), UINT32_C(0x000EA259),
11225           UINT32_C(0x00485845), UINT32_C(0x0018ECF9), UINT32_C(0x001365B8),
11226           UINT32_C(0x0009B445), UINT32_C(0x00008051), UINT32_C(0x00327427),
11227           UINT32_C(0x001F7091), UINT32_C(0x0018B432)}},
11228         {{UINT32_C(0x005F7787), UINT32_C(0x00170455), UINT32_C(0x00340DE5),
11229           UINT32_C(0x0062A794), UINT32_C(0x002C24C5), UINT32_C(0x0010BDA3),
11230           UINT32_C(0x002BFBBE), UINT32_C(0x0031B953), UINT32_C(0x002717CF),
11231           UINT32_C(0x0009262E), UINT32_C(0x002A4512), UINT32_C(0x00072DE4),
11232           UINT32_C(0x0025410B), UINT32_C(0x002BB34C), UINT32_C(0x000633A9),
11233           UINT32_C(0x007482DB), UINT32_C(0x002D93B4), UINT32_C(0x003DD3EC),
11234           UINT32_C(0x000C66CF), UINT32_C(0x00203EB1), UINT32_C(0x0024ED0D),
11235           UINT32_C(0x003397CD), UINT32_C(0x000F7881)},
11236          {UINT32_C(0x00127E99), UINT32_C(0x003FDC31), UINT32_C(0x000D6B1B),
11237           UINT32_C(0x0067DD99), UINT32_C(0x0020B17C), UINT32_C(0x0019B464),
11238           UINT32_C(0x001B54BD), UINT32_C(0x0079ADB3), UINT32_C(0x001DF680),
11239           UINT32_C(0x00244323), UINT32_C(0x0011F742), UINT32_C(0x00305CDB),
11240           UINT32_C(0x00078D7A), UINT32_C(0x0000769B), UINT32_C(0x001CAE8B),
11241           UINT32_C(0x002F49E1), UINT32_C(0x002C7F9F), UINT32_C(0x0038FE3A),
11242           UINT32_C(0x0039CF05), UINT32_C(0x0079BF1E), UINT32_C(0x00308D34),
11243           UINT32_C(0x003DEE92), UINT32_C(0x0011514A)},
11244          {UINT32_C(0x00382385), UINT32_C(0x0013BD1F), UINT32_C(0x003811CF),
11245           UINT32_C(0x00292587), UINT32_C(0x00322E94), UINT32_C(0x0026DD80),
11246           UINT32_C(0x002E2F48), UINT32_C(0x00230F38), UINT32_C(0x0017BA53),
11247           UINT32_C(0x000E1B94), UINT32_C(0x001E3431), UINT32_C(0x0012A183),
11248           UINT32_C(0x003003E9), UINT32_C(0x0039A0BD), UINT32_C(0x001C4811),
11249           UINT32_C(0x001E6DB1), UINT32_C(0x0001D16F), UINT32_C(0x002EF639),
11250           UINT32_C(0x003595BC), UINT32_C(0x00635C14), UINT32_C(0x000F1141),
11251           UINT32_C(0x00276EF2), UINT32_C(0x0026F1AB)}},
11252     },
11253     {
11254         {{UINT32_C(0x0063583C), UINT32_C(0x00178F3B), UINT32_C(0x0031FE89),
11255           UINT32_C(0x004A10CC), UINT32_C(0x0025E861), UINT32_C(0x001D9981),
11256           UINT32_C(0x00209C95), UINT32_C(0x00757DAB), UINT32_C(0x000E0CCA),
11257           UINT32_C(0x0026F2CF), UINT32_C(0x000F724B), UINT32_C(0x0054A684),
11258           UINT32_C(0x00395A25), UINT32_C(0x003B96AA), UINT32_C(0x000CB3E2),
11259           UINT32_C(0x0025FA25), UINT32_C(0x001A8CCD), UINT32_C(0x003E8D3C),
11260           UINT32_C(0x002670BC), UINT32_C(0x0073C1D9), UINT32_C(0x002D1389),
11261           UINT32_C(0x00130BE6), UINT32_C(0x00269AFA)},
11262          {UINT32_C(0x0078D442), UINT32_C(0x0008E522), UINT32_C(0x0018EBC9),
11263           UINT32_C(0x005F3584), UINT32_C(0x003F1CBF), UINT32_C(0x000BF4C1),
11264           UINT32_C(0x00164AA4), UINT32_C(0x006151FB), UINT32_C(0x00068D6E),
11265           UINT32_C(0x00126E4F), UINT32_C(0x00200280), UINT32_C(0x0031B7DD),
11266           UINT32_C(0x00054BB5), UINT32_C(0x003503DD), UINT32_C(0x0015FE73),
11267           UINT32_C(0x00400A3B), UINT32_C(0x0018B4CB), UINT32_C(0x00269223),
11268           UINT32_C(0x003BAABF), UINT32_C(0x00219923), UINT32_C(0x0000517F),
11269           UINT32_C(0x0036DB7B), UINT32_C(0x001898DE)},
11270          {UINT32_C(0x001B3C2F), UINT32_C(0x003100AC), UINT32_C(0x00375C4D),
11271           UINT32_C(0x0047FF1C), UINT32_C(0x001554A3), UINT32_C(0x00345032),
11272           UINT32_C(0x000567ED), UINT32_C(0x00602271), UINT32_C(0x00037B43),
11273           UINT32_C(0x00352EA6), UINT32_C(0x00099EBC), UINT32_C(0x007107DC),
11274           UINT32_C(0x00014BD9), UINT32_C(0x003BAE49), UINT32_C(0x0012E08D),
11275           UINT32_C(0x006CA22B), UINT32_C(0x001DABB1), UINT32_C(0x002D516C),
11276           UINT32_C(0x00270889), UINT32_C(0x002F1F40), UINT32_C(0x000B40D8),
11277           UINT32_C(0x001F6C6E), UINT32_C(0x00069120)}},
11278         {{UINT32_C(0x003E2CA8), UINT32_C(0x000FBDFE), UINT32_C(0x0008452C),
11279           UINT32_C(0x004EBE38), UINT32_C(0x003022B7), UINT32_C(0x003A3695),
11280           UINT32_C(0x0000EF8E), UINT32_C(0x003868DB), UINT32_C(0x0038AD77),
11281           UINT32_C(0x00197BEF), UINT32_C(0x0035C5D1), UINT32_C(0x0056D147),
11282           UINT32_C(0x00150885), UINT32_C(0x0032B7D5), UINT32_C(0x0022642D),
11283           UINT32_C(0x006B1347), UINT32_C(0x00343776), UINT32_C(0x00321A28),
11284           UINT32_C(0x00170446), UINT32_C(0x003DEB75), UINT32_C(0x002A4140),
11285           UINT32_C(0x00029DF0), UINT32_C(0x002450E4)},
11286          {UINT32_C(0x004955CA), UINT32_C(0x000C7AB0), UINT32_C(0x002D31F7),
11287           UINT32_C(0x005F83A6), UINT32_C(0x002FA36D), UINT32_C(0x001F49E7),
11288           UINT32_C(0x003F321C), UINT32_C(0x0011D711), UINT32_C(0x0004B439),
11289           UINT32_C(0x0034F95D), UINT32_C(0x00217EE2), UINT32_C(0x0032BAFE),
11290           UINT32_C(0x0006F393), UINT32_C(0x002A690E), UINT32_C(0x000FAE08),
11291           UINT32_C(0x0034160E), UINT32_C(0x0038471B), UINT32_C(0x003E6453),
11292           UINT32_C(0x001D2EED), UINT32_C(0x00019616), UINT32_C(0x002ECA2C),
11293           UINT32_C(0x002B42A7), UINT32_C(0x001944E5)},
11294          {UINT32_C(0x0070C80A), UINT32_C(0x003ADD3E), UINT32_C(0x00164515),
11295           UINT32_C(0x004C3E58), UINT32_C(0x002B68C7), UINT32_C(0x0024C735),
11296           UINT32_C(0x00154086), UINT32_C(0x004AF4B2), UINT32_C(0x003F79B6),
11297           UINT32_C(0x000EFFA4), UINT32_C(0x002E7835), UINT32_C(0x00143F92),
11298           UINT32_C(0x00139828), UINT32_C(0x002F5825), UINT32_C(0x002C6C7B),
11299           UINT32_C(0x00374B07), UINT32_C(0x00260379), UINT32_C(0x0033BF91),
11300           UINT32_C(0x000FB28A), UINT32_C(0x006D0F2D), UINT32_C(0x001A3C03),
11301           UINT32_C(0x003DCB0D), UINT32_C(0x00042785)}},
11302         {{UINT32_C(0x0032F6C1), UINT32_C(0x0025C23A), UINT32_C(0x0032EA38),
11303           UINT32_C(0x00343C52), UINT32_C(0x002C5DA6), UINT32_C(0x0029130F),
11304           UINT32_C(0x001DEA76), UINT32_C(0x00041B06), UINT32_C(0x0006CC8F),
11305           UINT32_C(0x000C33C2), UINT32_C(0x003DE859), UINT32_C(0x0075ADE1),
11306           UINT32_C(0x001F074B), UINT32_C(0x0020B431), UINT32_C(0x00089D3D),
11307           UINT32_C(0x00183D45), UINT32_C(0x0010916A), UINT32_C(0x00079EAC),
11308           UINT32_C(0x0004D6B9), UINT32_C(0x006DA065), UINT32_C(0x000E2053),
11309           UINT32_C(0x0002B57D), UINT32_C(0x0003A141)},
11310          {UINT32_C(0x0009A37F), UINT32_C(0x0035153F), UINT32_C(0x0033545C),
11311           UINT32_C(0x005C4E51), UINT32_C(0x002ED0FF), UINT32_C(0x0023618F),
11312           UINT32_C(0x001775AA), UINT32_C(0x005E1890), UINT32_C(0x003A6506),
11313           UINT32_C(0x00383A25), UINT32_C(0x0006CB4C), UINT32_C(0x00238F29),
11314           UINT32_C(0x000B58F7), UINT32_C(0x0035B0D9), UINT32_C(0x001D243C),
11315           UINT32_C(0x0038459B), UINT32_C(0x0019D714), UINT32_C(0x0031ADDB),
11316           UINT32_C(0x00014CD5), UINT32_C(0x00114249), UINT32_C(0x0009DCEB),
11317           UINT32_C(0x00069813), UINT32_C(0x001E743D)},
11318          {UINT32_C(0x00491E76), UINT32_C(0x00358978), UINT32_C(0x0032E06B),
11319           UINT32_C(0x007CF380), UINT32_C(0x0021BA4C), UINT32_C(0x001B9DC8),
11320           UINT32_C(0x00072C57), UINT32_C(0x007D4A61), UINT32_C(0x002A03EB),
11321           UINT32_C(0x002A8A04), UINT32_C(0x0036F1B1), UINT32_C(0x00167D87),
11322           UINT32_C(0x00037D30), UINT32_C(0x00300EB9), UINT32_C(0x0009A70D),
11323           UINT32_C(0x002915B7), UINT32_C(0x000C36DA), UINT32_C(0x0000FD77),
11324           UINT32_C(0x003CA0D6), UINT32_C(0x00599232), UINT32_C(0x000906BD),
11325           UINT32_C(0x003DEACB), UINT32_C(0x00181880)}},
11326         {{UINT32_C(0x006BF556), UINT32_C(0x000208D1), UINT32_C(0x0037FE71),
11327           UINT32_C(0x0064B85C), UINT32_C(0x0031878C), UINT32_C(0x00333FB4),
11328           UINT32_C(0x0007D710), UINT32_C(0x004670D1), UINT32_C(0x0023984F),
11329           UINT32_C(0x0005C689), UINT32_C(0x00255366), UINT32_C(0x0044C87B),
11330           UINT32_C(0x001D338E), UINT32_C(0x003044AD), UINT32_C(0x002665F4),
11331           UINT32_C(0x0040EB4D), UINT32_C(0x001E02E4), UINT32_C(0x0008C27F),
11332           UINT32_C(0x000F8571), UINT32_C(0x006BD63F), UINT32_C(0x000A6DFC),
11333           UINT32_C(0x0013304C), UINT32_C(0x002FDD59)},
11334          {UINT32_C(0x005724E2), UINT32_C(0x00218196), UINT32_C(0x00150782),
11335           UINT32_C(0x0056A299), UINT32_C(0x00236FDE), UINT32_C(0x0032ED2C),
11336           UINT32_C(0x0039E8A0), UINT32_C(0x00679EE7), UINT32_C(0x0014DA74),
11337           UINT32_C(0x0004A8BC), UINT32_C(0x00266E00), UINT32_C(0x0041E7FF),
11338           UINT32_C(0x002073C7), UINT32_C(0x00344E9F), UINT32_C(0x0021EAD2),
11339           UINT32_C(0x00425BB8), UINT32_C(0x002F122A), UINT32_C(0x002C55D5),
11340           UINT32_C(0x0008B0D6), UINT32_C(0x00666EDC), UINT32_C(0x0021D2D7),
11341           UINT32_C(0x002421BB), UINT32_C(0x00131ACD)},
11342          {UINT32_C(0x00737055), UINT32_C(0x001D6FE9), UINT32_C(0x003EFC08),
11343           UINT32_C(0x00306FA4), UINT32_C(0x002508B1), UINT32_C(0x002780B8),
11344           UINT32_C(0x00329BA8), UINT32_C(0x00206820), UINT32_C(0x003B15C5),
11345           UINT32_C(0x00317300), UINT32_C(0x000FD39A), UINT32_C(0x0049D634),
11346           UINT32_C(0x000B31B5), UINT32_C(0x0019A81C), UINT32_C(0x00271B13),
11347           UINT32_C(0x0056932D), UINT32_C(0x00387035), UINT32_C(0x002A79F2),
11348           UINT32_C(0x0028ECD2), UINT32_C(0x000E84D7), UINT32_C(0x00232B80),
11349           UINT32_C(0x002790F5), UINT32_C(0x0026AAC9)}},
11350         {{UINT32_C(0x003FA216), UINT32_C(0x002B5E41), UINT32_C(0x0011F507),
11351           UINT32_C(0x004798E8), UINT32_C(0x001F1C32), UINT32_C(0x0004D796),
11352           UINT32_C(0x00077B9E), UINT32_C(0x002381F2), UINT32_C(0x00042960),
11353           UINT32_C(0x003DC0DE), UINT32_C(0x001F19ED), UINT32_C(0x0008D2B6),
11354           UINT32_C(0x00218E79), UINT32_C(0x00191D1E), UINT32_C(0x0038BEC0),
11355           UINT32_C(0x002BA744), UINT32_C(0x001106D5), UINT32_C(0x002908D7),
11356           UINT32_C(0x0018D0A6), UINT32_C(0x00643D59), UINT32_C(0x00251CA2),
11357           UINT32_C(0x00025593), UINT32_C(0x002EABF3)},
11358          {UINT32_C(0x00438D3B), UINT32_C(0x002C35AD), UINT32_C(0x00121865),
11359           UINT32_C(0x002217B5), UINT32_C(0x003F2262), UINT32_C(0x0002C5A2),
11360           UINT32_C(0x000B51E2), UINT32_C(0x007F949C), UINT32_C(0x001BC59A),
11361           UINT32_C(0x002729B2), UINT32_C(0x0025BD2D), UINT32_C(0x0063FBB0),
11362           UINT32_C(0x0013132E), UINT32_C(0x0016DC57), UINT32_C(0x0017A6E3),
11363           UINT32_C(0x002FCDA3), UINT32_C(0x00321610), UINT32_C(0x0032D4AA),
11364           UINT32_C(0x001F56D4), UINT32_C(0x004B46C8), UINT32_C(0x0026FC03),
11365           UINT32_C(0x002B891B), UINT32_C(0x001EEC11)},
11366          {UINT32_C(0x0004BF5B), UINT32_C(0x000A6EB9), UINT32_C(0x00137543),
11367           UINT32_C(0x003EA024), UINT32_C(0x002E1BE2), UINT32_C(0x00294A40),
11368           UINT32_C(0x00175374), UINT32_C(0x003418B2), UINT32_C(0x00092934),
11369           UINT32_C(0x000559DA), UINT32_C(0x000D4705), UINT32_C(0x00023080),
11370           UINT32_C(0x002832CC), UINT32_C(0x0020B5FC), UINT32_C(0x000BF4A7),
11371           UINT32_C(0x004B3473), UINT32_C(0x0003A84F), UINT32_C(0x002A3FAE),
11372           UINT32_C(0x00045DB0), UINT32_C(0x007AEDBF), UINT32_C(0x001266FC),
11373           UINT32_C(0x0002E6C3), UINT32_C(0x000380CF)}},
11374         {{UINT32_C(0x0029F673), UINT32_C(0x0011C696), UINT32_C(0x00032672),
11375           UINT32_C(0x0054238E), UINT32_C(0x00370626), UINT32_C(0x00339C4E),
11376           UINT32_C(0x0031300A), UINT32_C(0x000B2D5B), UINT32_C(0x00206C4D),
11377           UINT32_C(0x000791D2), UINT32_C(0x002DB03D), UINT32_C(0x0037C66B),
11378           UINT32_C(0x002780B2), UINT32_C(0x002E5FE3), UINT32_C(0x002B5B3A),
11379           UINT32_C(0x00240A75), UINT32_C(0x00239AF3), UINT32_C(0x0007A194),
11380           UINT32_C(0x0035BC60), UINT32_C(0x004FBA17), UINT32_C(0x003826E1),
11381           UINT32_C(0x00181F8A), UINT32_C(0x00042F82)},
11382          {UINT32_C(0x00459AFB), UINT32_C(0x00087F76), UINT32_C(0x0002C645),
11383           UINT32_C(0x004C7CE4), UINT32_C(0x00142200), UINT32_C(0x00366037),
11384           UINT32_C(0x001EF906), UINT32_C(0x0057C3A8), UINT32_C(0x001A8791),
11385           UINT32_C(0x00302563), UINT32_C(0x002034EF), UINT32_C(0x001A0222),
11386           UINT32_C(0x003375A9), UINT32_C(0x0032C4BC), UINT32_C(0x0008F4DC),
11387           UINT32_C(0x00581A30), UINT32_C(0x000C394E), UINT32_C(0x000B7FEE),
11388           UINT32_C(0x003C5662), UINT32_C(0x0034BB53), UINT32_C(0x0005B495),
11389           UINT32_C(0x00018243), UINT32_C(0x0037995C)},
11390          {UINT32_C(0x004906BD), UINT32_C(0x0032B8FA), UINT32_C(0x00372E94),
11391           UINT32_C(0x00613088), UINT32_C(0x00017311), UINT32_C(0x003528B5),
11392           UINT32_C(0x001EE0AC), UINT32_C(0x00686616), UINT32_C(0x0033F1FD),
11393           UINT32_C(0x0025E7C3), UINT32_C(0x003DFBB8), UINT32_C(0x001A5DF7),
11394           UINT32_C(0x00023B1E), UINT32_C(0x00015AAC), UINT32_C(0x0025054D),
11395           UINT32_C(0x001704E4), UINT32_C(0x001BAE37), UINT32_C(0x001A384F),
11396           UINT32_C(0x003606FC), UINT32_C(0x00740F1B), UINT32_C(0x002C8C7D),
11397           UINT32_C(0x0024600B), UINT32_C(0x003D5C73)}},
11398         {{UINT32_C(0x001784B4), UINT32_C(0x002CEF58), UINT32_C(0x00372A6C),
11399           UINT32_C(0x00118258), UINT32_C(0x002D6ED8), UINT32_C(0x002DD567),
11400           UINT32_C(0x00106EE7), UINT32_C(0x001C074F), UINT32_C(0x001A9185),
11401           UINT32_C(0x0029B246), UINT32_C(0x00375A41), UINT32_C(0x007DF964),
11402           UINT32_C(0x0017B200), UINT32_C(0x00194A5C), UINT32_C(0x0013B979),
11403           UINT32_C(0x0003EA48), UINT32_C(0x00295585), UINT32_C(0x001B2FAF),
11404           UINT32_C(0x001F6D5F), UINT32_C(0x007D4491), UINT32_C(0x002AA139),
11405           UINT32_C(0x002032CA), UINT32_C(0x0033AB4D)},
11406          {UINT32_C(0x00326E12), UINT32_C(0x00073B02), UINT32_C(0x0009134C),
11407           UINT32_C(0x00719A24), UINT32_C(0x0010FFDA), UINT32_C(0x0017F597),
11408           UINT32_C(0x00023DEA), UINT32_C(0x00565B05), UINT32_C(0x000CF206),
11409           UINT32_C(0x00316819), UINT32_C(0x001759BE), UINT32_C(0x003B59E1),
11410           UINT32_C(0x001A7716), UINT32_C(0x002F2CB8), UINT32_C(0x00022C88),
11411           UINT32_C(0x006E200A), UINT32_C(0x0034B39A), UINT32_C(0x0004C2A3),
11412           UINT32_C(0x000EFF2B), UINT32_C(0x007771C0), UINT32_C(0x0038736A),
11413           UINT32_C(0x003EA343), UINT32_C(0x002473CB)},
11414          {UINT32_C(0x007E0E25), UINT32_C(0x003FF836), UINT32_C(0x0029E179),
11415           UINT32_C(0x0059DA0B), UINT32_C(0x0038BD07), UINT32_C(0x00397717),
11416           UINT32_C(0x0035EEC3), UINT32_C(0x001451BD), UINT32_C(0x000C4CC2),
11417           UINT32_C(0x0011AD20), UINT32_C(0x0024798D), UINT32_C(0x001EA1F7),
11418           UINT32_C(0x0017A035), UINT32_C(0x00174E1A), UINT32_C(0x000614CC),
11419           UINT32_C(0x00744E00), UINT32_C(0x00071F7A), UINT32_C(0x003F23AE),
11420           UINT32_C(0x001D8DCA), UINT32_C(0x000674F7), UINT32_C(0x0003AF2F),
11421           UINT32_C(0x0028BCAA), UINT32_C(0x0025E559)}},
11422         {{UINT32_C(0x0011497E), UINT32_C(0x000ECE29), UINT32_C(0x002A4EA2),
11423           UINT32_C(0x001C0932), UINT32_C(0x00086320), UINT32_C(0x0001D745),
11424           UINT32_C(0x000E7077), UINT32_C(0x002982BA), UINT32_C(0x0006C3CC),
11425           UINT32_C(0x001A61D3), UINT32_C(0x0018D012), UINT32_C(0x003FD5A7),
11426           UINT32_C(0x00271A87), UINT32_C(0x003F3CEE), UINT32_C(0x00381814),
11427           UINT32_C(0x006264B1), UINT32_C(0x001D51C9), UINT32_C(0x0024F3F8),
11428           UINT32_C(0x0032133E), UINT32_C(0x0070B6C3), UINT32_C(0x0027EB3B),
11429           UINT32_C(0x00170DF3), UINT32_C(0x003FDF92)},
11430          {UINT32_C(0x0052D458), UINT32_C(0x002FDA22), UINT32_C(0x00040A2E),
11431           UINT32_C(0x006FA7D9), UINT32_C(0x000F1A9C), UINT32_C(0x000B70A5),
11432           UINT32_C(0x001666C6), UINT32_C(0x00150503), UINT32_C(0x002A0651),
11433           UINT32_C(0x00019D2E), UINT32_C(0x002CB70B), UINT32_C(0x0022C910),
11434           UINT32_C(0x002EE4CD), UINT32_C(0x0008D506), UINT32_C(0x00014281),
11435           UINT32_C(0x00358B69), UINT32_C(0x002DA7BF), UINT32_C(0x00124768),
11436           UINT32_C(0x0020EC13), UINT32_C(0x00550441), UINT32_C(0x001C17FE),
11437           UINT32_C(0x00213A61), UINT32_C(0x001451A1)},
11438          {UINT32_C(0x002A7679), UINT32_C(0x0015D4B5), UINT32_C(0x000CFCC1),
11439           UINT32_C(0x003FF845), UINT32_C(0x001C7A7D), UINT32_C(0x001AE5DD),
11440           UINT32_C(0x003EAB09), UINT32_C(0x003FDF89), UINT32_C(0x0035A00B),
11441           UINT32_C(0x0037D9FF), UINT32_C(0x00275895), UINT32_C(0x0035077F),
11442           UINT32_C(0x000EBCA0), UINT32_C(0x002DB718), UINT32_C(0x0007E563),
11443           UINT32_C(0x007217CE), UINT32_C(0x000CFEC9), UINT32_C(0x0039C0C7),
11444           UINT32_C(0x000C8457), UINT32_C(0x000D6DEE), UINT32_C(0x00095556),
11445           UINT32_C(0x002C0A1B), UINT32_C(0x000A5B02)}},
11446         {{UINT32_C(0x0058676E), UINT32_C(0x003BB967), UINT32_C(0x002F67E8),
11447           UINT32_C(0x0014611B), UINT32_C(0x0002CA68), UINT32_C(0x00360A23),
11448           UINT32_C(0x003D4703), UINT32_C(0x002FFB09), UINT32_C(0x000B0650),
11449           UINT32_C(0x00350E32), UINT32_C(0x0020BBE2), UINT32_C(0x007EB614),
11450           UINT32_C(0x0013CBB5), UINT32_C(0x003BBDBC), UINT32_C(0x0026C9BB),
11451           UINT32_C(0x001E256E), UINT32_C(0x000E735E), UINT32_C(0x002C3CC9),
11452           UINT32_C(0x00010C97), UINT32_C(0x000C12B4), UINT32_C(0x00028C55),
11453           UINT32_C(0x0014841F), UINT32_C(0x00143C15)},
11454          {UINT32_C(0x0065EB1A), UINT32_C(0x00025B10), UINT32_C(0x001CD5C4),
11455           UINT32_C(0x00746872), UINT32_C(0x00054288), UINT32_C(0x001B2B2E),
11456           UINT32_C(0x001F2239), UINT32_C(0x00518E6E), UINT32_C(0x002123BD),
11457           UINT32_C(0x0033748A), UINT32_C(0x00174C52), UINT32_C(0x00258C02),
11458           UINT32_C(0x0018FF52), UINT32_C(0x0007C3F2), UINT32_C(0x0010EC30),
11459           UINT32_C(0x002A8FB5), UINT32_C(0x00338507), UINT32_C(0x003EA284),
11460           UINT32_C(0x001E079E), UINT32_C(0x0070C9DD), UINT32_C(0x0023B5FB),
11461           UINT32_C(0x002637F4), UINT32_C(0x00141F80)},
11462          {UINT32_C(0x00656339), UINT32_C(0x00123AB6), UINT32_C(0x003B759B),
11463           UINT32_C(0x0050CB99), UINT32_C(0x000D243E), UINT32_C(0x0022A047),
11464           UINT32_C(0x0030735F), UINT32_C(0x0004A175), UINT32_C(0x000B2BA6),
11465           UINT32_C(0x000D31CE), UINT32_C(0x00324F8D), UINT32_C(0x004BB229),
11466           UINT32_C(0x001E5D6F), UINT32_C(0x0002772E), UINT32_C(0x00296DC5),
11467           UINT32_C(0x00577AE8), UINT32_C(0x00086249), UINT32_C(0x002005B9),
11468           UINT32_C(0x0032CA2B), UINT32_C(0x0018E5F0), UINT32_C(0x0010AC8A),
11469           UINT32_C(0x00261F94), UINT32_C(0x00076C3E)}},
11470         {{UINT32_C(0x000DB1A4), UINT32_C(0x000C1216), UINT32_C(0x0020E3CE),
11471           UINT32_C(0x00342538), UINT32_C(0x0025AD2D), UINT32_C(0x003C968A),
11472           UINT32_C(0x000B2AC4), UINT32_C(0x003874BE), UINT32_C(0x00108EBE),
11473           UINT32_C(0x00089221), UINT32_C(0x001A4E5D), UINT32_C(0x00000E6B),
11474           UINT32_C(0x003A62C9), UINT32_C(0x000CAB40), UINT32_C(0x0039432F),
11475           UINT32_C(0x006EEBB0), UINT32_C(0x003FD49F), UINT32_C(0x000A4915),
11476           UINT32_C(0x003E803E), UINT32_C(0x000D14CB), UINT32_C(0x00147DBE),
11477           UINT32_C(0x00273CC9), UINT32_C(0x0021CEAF)},
11478          {UINT32_C(0x0061AF93), UINT32_C(0x0001A305), UINT32_C(0x0013BAAE),
11479           UINT32_C(0x007784E4), UINT32_C(0x000D254E), UINT32_C(0x0019835D),
11480           UINT32_C(0x00242371), UINT32_C(0x000846D1), UINT32_C(0x0029D19E),
11481           UINT32_C(0x000188DF), UINT32_C(0x000340FC), UINT32_C(0x007B3565),
11482           UINT32_C(0x00179159), UINT32_C(0x0000E014), UINT32_C(0x002BBC15),
11483           UINT32_C(0x006E03F7), UINT32_C(0x00332866), UINT32_C(0x003752B2),
11484           UINT32_C(0x0036128E), UINT32_C(0x004EEEA5), UINT32_C(0x0018D656),
11485           UINT32_C(0x0021FC26), UINT32_C(0x0031850E)},
11486          {UINT32_C(0x00501FD0), UINT32_C(0x000AF537), UINT32_C(0x0038C7E6),
11487           UINT32_C(0x0043735E), UINT32_C(0x00110069), UINT32_C(0x003F2C22),
11488           UINT32_C(0x0017CF5D), UINT32_C(0x002FD510), UINT32_C(0x0014235B),
11489           UINT32_C(0x0004DD30), UINT32_C(0x003C65B4), UINT32_C(0x000F1032),
11490           UINT32_C(0x00389A5B), UINT32_C(0x00156157), UINT32_C(0x0011C8DC),
11491           UINT32_C(0x00500C48), UINT32_C(0x00119681), UINT32_C(0x00193DFD),
11492           UINT32_C(0x002E9C52), UINT32_C(0x007DD9BC), UINT32_C(0x003C9B4A),
11493           UINT32_C(0x003F1598), UINT32_C(0x0008392D)}},
11494         {{UINT32_C(0x007DA6AE), UINT32_C(0x0026680F), UINT32_C(0x0001CBC2),
11495           UINT32_C(0x00700F21), UINT32_C(0x002BA64B), UINT32_C(0x0005ACA1),
11496           UINT32_C(0x000DA060), UINT32_C(0x006C880D), UINT32_C(0x00280F5B),
11497           UINT32_C(0x001CD097), UINT32_C(0x003BBCFE), UINT32_C(0x002CAEAF),
11498           UINT32_C(0x001B96AF), UINT32_C(0x002F9409), UINT32_C(0x00218817),
11499           UINT32_C(0x002929AF), UINT32_C(0x0035CDAF), UINT32_C(0x001766D6),
11500           UINT32_C(0x002FE847), UINT32_C(0x0003656A), UINT32_C(0x00047989),
11501           UINT32_C(0x00351086), UINT32_C(0x002D5D88)},
11502          {UINT32_C(0x003FF7B2), UINT32_C(0x00283A9C), UINT32_C(0x0020E8A8),
11503           UINT32_C(0x003A0789), UINT32_C(0x001BFDE1), UINT32_C(0x000D525F),
11504           UINT32_C(0x0035C861), UINT32_C(0x0060CAD2), UINT32_C(0x002ACA77),
11505           UINT32_C(0x0015E571), UINT32_C(0x00182DD8), UINT32_C(0x004E3F9F),
11506           UINT32_C(0x00157225), UINT32_C(0x000ABD0E), UINT32_C(0x002C1C74),
11507           UINT32_C(0x006799C9), UINT32_C(0x001084CD), UINT32_C(0x002FCC74),
11508           UINT32_C(0x001104CF), UINT32_C(0x0063FB40), UINT32_C(0x000B1B48),
11509           UINT32_C(0x002FF705), UINT32_C(0x0017DD74)},
11510          {UINT32_C(0x00758DFD), UINT32_C(0x00259101), UINT32_C(0x002F9E96),
11511           UINT32_C(0x00127A02), UINT32_C(0x003560BA), UINT32_C(0x00174012),
11512           UINT32_C(0x00080553), UINT32_C(0x00084ADA), UINT32_C(0x0030B0B3),
11513           UINT32_C(0x003CCA10), UINT32_C(0x002A7BF0), UINT32_C(0x0066B5D8),
11514           UINT32_C(0x001775C4), UINT32_C(0x0025FB21), UINT32_C(0x00084012),
11515           UINT32_C(0x0023425E), UINT32_C(0x00160D8A), UINT32_C(0x0014DE6A),
11516           UINT32_C(0x000D84B1), UINT32_C(0x0000C090), UINT32_C(0x001CEB65),
11517           UINT32_C(0x00304B91), UINT32_C(0x003C0931)}},
11518         {{UINT32_C(0x007B8F38), UINT32_C(0x003E8D2B), UINT32_C(0x0014249B),
11519           UINT32_C(0x0032E6FD), UINT32_C(0x00019922), UINT32_C(0x00288D0E),
11520           UINT32_C(0x0030B952), UINT32_C(0x0008C34B), UINT32_C(0x00191997),
11521           UINT32_C(0x002F5C5B), UINT32_C(0x003ED4DE), UINT32_C(0x002D0DBE),
11522           UINT32_C(0x001C4CC0), UINT32_C(0x003799BB), UINT32_C(0x0007EED8),
11523           UINT32_C(0x007C90CE), UINT32_C(0x002E0A50), UINT32_C(0x00131AF1),
11524           UINT32_C(0x0028FD81), UINT32_C(0x003D7BFD), UINT32_C(0x0020C820),
11525           UINT32_C(0x001E4117), UINT32_C(0x003233FA)},
11526          {UINT32_C(0x006AD0B4), UINT32_C(0x0024A7CA), UINT32_C(0x00224A76),
11527           UINT32_C(0x00201B36), UINT32_C(0x00089BF6), UINT32_C(0x00185943),
11528           UINT32_C(0x000EE3FB), UINT32_C(0x0062E219), UINT32_C(0x00304742),
11529           UINT32_C(0x000ECFDC), UINT32_C(0x0002B3E9), UINT32_C(0x00278A41),
11530           UINT32_C(0x000B4C45), UINT32_C(0x003DAF2F), UINT32_C(0x0016786A),
11531           UINT32_C(0x00326096), UINT32_C(0x0004F58A), UINT32_C(0x003D414F),
11532           UINT32_C(0x002571F1), UINT32_C(0x000C5218), UINT32_C(0x000BC00A),
11533           UINT32_C(0x001558DD), UINT32_C(0x000E4574)},
11534          {UINT32_C(0x00214F76), UINT32_C(0x00344E7B), UINT32_C(0x000D0A1C),
11535           UINT32_C(0x00073F8A), UINT32_C(0x0031A1E8), UINT32_C(0x0024F24B),
11536           UINT32_C(0x002EB5CC), UINT32_C(0x00423B58), UINT32_C(0x0005DF88),
11537           UINT32_C(0x000A882D), UINT32_C(0x001F2F21), UINT32_C(0x001DC1AC),
11538           UINT32_C(0x000BF263), UINT32_C(0x000FC01F), UINT32_C(0x0013D53A),
11539           UINT32_C(0x00689488), UINT32_C(0x0039A08C), UINT32_C(0x00026357),
11540           UINT32_C(0x00354D80), UINT32_C(0x00649669), UINT32_C(0x0006D559),
11541           UINT32_C(0x0024D4A8), UINT32_C(0x001B1D7D)}},
11542         {{UINT32_C(0x007539AC), UINT32_C(0x001AF584), UINT32_C(0x003849E3),
11543           UINT32_C(0x00604878), UINT32_C(0x0028932B), UINT32_C(0x00336A8D),
11544           UINT32_C(0x002DC15F), UINT32_C(0x004EE915), UINT32_C(0x003E8891),
11545           UINT32_C(0x002C26A5), UINT32_C(0x002353EF), UINT32_C(0x00690ACF),
11546           UINT32_C(0x000B284B), UINT32_C(0x0004CD7A), UINT32_C(0x00266953),
11547           UINT32_C(0x0038EC31), UINT32_C(0x0015E302), UINT32_C(0x000080A9),
11548           UINT32_C(0x0025D49A), UINT32_C(0x00318334), UINT32_C(0x003B81A5),
11549           UINT32_C(0x0038759D), UINT32_C(0x000EE138)},
11550          {UINT32_C(0x006652DC), UINT32_C(0x0030CF99), UINT32_C(0x00286EAE),
11551           UINT32_C(0x007E732A), UINT32_C(0x001BB04F), UINT32_C(0x001A7E81),
11552           UINT32_C(0x00395CBD), UINT32_C(0x0012A720), UINT32_C(0x00143A75),
11553           UINT32_C(0x000C4F0A), UINT32_C(0x0002959B), UINT32_C(0x005134E3),
11554           UINT32_C(0x0029CD2F), UINT32_C(0x002E7B51), UINT32_C(0x001A8B65),
11555           UINT32_C(0x0067BB4D), UINT32_C(0x00109B63), UINT32_C(0x000FF6AF),
11556           UINT32_C(0x000F5619), UINT32_C(0x001FE508), UINT32_C(0x000593C7),
11557           UINT32_C(0x002A4F5C), UINT32_C(0x0035E60F)},
11558          {UINT32_C(0x0041115B), UINT32_C(0x000C4566), UINT32_C(0x002DC574),
11559           UINT32_C(0x006EAB28), UINT32_C(0x003017E2), UINT32_C(0x00275A4A),
11560           UINT32_C(0x002C84E6), UINT32_C(0x0003FFFE), UINT32_C(0x0012331A),
11561           UINT32_C(0x001B2EF0), UINT32_C(0x000A57A7), UINT32_C(0x007EA3E1),
11562           UINT32_C(0x0001A805), UINT32_C(0x00064502), UINT32_C(0x003486D1),
11563           UINT32_C(0x002A0735), UINT32_C(0x001F1246), UINT32_C(0x0013E4C1),
11564           UINT32_C(0x000D6176), UINT32_C(0x005D2F66), UINT32_C(0x000B6919),
11565           UINT32_C(0x00222C38), UINT32_C(0x002247FC)}},
11566         {{UINT32_C(0x007694F0), UINT32_C(0x0033BF57), UINT32_C(0x002D919E),
11567           UINT32_C(0x00464556), UINT32_C(0x003240BB), UINT32_C(0x000A81C8),
11568           UINT32_C(0x003FC6AD), UINT32_C(0x004C8BC2), UINT32_C(0x0037597A),
11569           UINT32_C(0x000F3632), UINT32_C(0x003DEE9C), UINT32_C(0x007AF7FC),
11570           UINT32_C(0x0002B2A3), UINT32_C(0x0001FEF8), UINT32_C(0x00266BFE),
11571           UINT32_C(0x005A4DF9), UINT32_C(0x001BC528), UINT32_C(0x0038FCA9),
11572           UINT32_C(0x0021AB8E), UINT32_C(0x001B7A68), UINT32_C(0x00255401),
11573           UINT32_C(0x0022B95A), UINT32_C(0x001CECB8)},
11574          {UINT32_C(0x00202C81), UINT32_C(0x00305B5D), UINT32_C(0x000F8353),
11575           UINT32_C(0x0024BDD3), UINT32_C(0x0034CBF6), UINT32_C(0x001FC489),
11576           UINT32_C(0x001C1EF2), UINT32_C(0x00378DD8), UINT32_C(0x00341D4E),
11577           UINT32_C(0x00351CA3), UINT32_C(0x001FF171), UINT32_C(0x003F1946),
11578           UINT32_C(0x0002CF94), UINT32_C(0x00389924), UINT32_C(0x003E5A8B),
11579           UINT32_C(0x001BEA9D), UINT32_C(0x001E60D0), UINT32_C(0x00305EF9),
11580           UINT32_C(0x0029219F), UINT32_C(0x00301DAA), UINT32_C(0x0000D311),
11581           UINT32_C(0x0033EC94), UINT32_C(0x0003A683)},
11582          {UINT32_C(0x0026A83D), UINT32_C(0x0021AD7B), UINT32_C(0x001694B6),
11583           UINT32_C(0x003BBDC2), UINT32_C(0x0016E0B7), UINT32_C(0x0009525B),
11584           UINT32_C(0x003B24F8), UINT32_C(0x007C4237), UINT32_C(0x000E1CB0),
11585           UINT32_C(0x0013611E), UINT32_C(0x001E0CF1), UINT32_C(0x004B8F7B),
11586           UINT32_C(0x0012520D), UINT32_C(0x001CBF78), UINT32_C(0x00153E58),
11587           UINT32_C(0x0072DA9E), UINT32_C(0x0009BF23), UINT32_C(0x00390546),
11588           UINT32_C(0x001EC704), UINT32_C(0x0062F82E), UINT32_C(0x001379EA),
11589           UINT32_C(0x00374CEF), UINT32_C(0x0000E810)}},
11590         {{UINT32_C(0x00672D01), UINT32_C(0x00181C43), UINT32_C(0x000F03E5),
11591           UINT32_C(0x00114EB1), UINT32_C(0x00030AAB), UINT32_C(0x000E4929),
11592           UINT32_C(0x003F4FF1), UINT32_C(0x005C1816), UINT32_C(0x00234EF2),
11593           UINT32_C(0x0001CECB), UINT32_C(0x0000E003), UINT32_C(0x000FB7C6),
11594           UINT32_C(0x0021F686), UINT32_C(0x00397348), UINT32_C(0x000668D5),
11595           UINT32_C(0x000969FD), UINT32_C(0x002D58A1), UINT32_C(0x0001F6FF),
11596           UINT32_C(0x002B509F), UINT32_C(0x005BF575), UINT32_C(0x001C7A72),
11597           UINT32_C(0x003168A3), UINT32_C(0x00058841)},
11598          {UINT32_C(0x002E6F93), UINT32_C(0x0003FD4D), UINT32_C(0x00070367),
11599           UINT32_C(0x007E2810), UINT32_C(0x0032A669), UINT32_C(0x003753AA),
11600           UINT32_C(0x00059E13), UINT32_C(0x005BE0BB), UINT32_C(0x002DAD0A),
11601           UINT32_C(0x0017009D), UINT32_C(0x002A29E1), UINT32_C(0x0010EAFB),
11602           UINT32_C(0x00371B7B), UINT32_C(0x00384FE2), UINT32_C(0x00074C4C),
11603           UINT32_C(0x005AF2F6), UINT32_C(0x00268D35), UINT32_C(0x0012D4D3),
11604           UINT32_C(0x001988E8), UINT32_C(0x00637384), UINT32_C(0x003CA7EB),
11605           UINT32_C(0x0012C38C), UINT32_C(0x00235944)},
11606          {UINT32_C(0x007FE4F7), UINT32_C(0x00128547), UINT32_C(0x003EE942),
11607           UINT32_C(0x0063B61D), UINT32_C(0x00254E4C), UINT32_C(0x0006B269),
11608           UINT32_C(0x002778BD), UINT32_C(0x003C91A8), UINT32_C(0x0038A282),
11609           UINT32_C(0x0010BFE5), UINT32_C(0x002E5C21), UINT32_C(0x000205D0),
11610           UINT32_C(0x00150853), UINT32_C(0x002376FF), UINT32_C(0x0006E95D),
11611           UINT32_C(0x004FCAED), UINT32_C(0x0014D842), UINT32_C(0x00174695),
11612           UINT32_C(0x00192588), UINT32_C(0x0004407A), UINT32_C(0x00169AA6),
11613           UINT32_C(0x0038F9B9), UINT32_C(0x000DD818)}},
11614         {{UINT32_C(0x007ED415), UINT32_C(0x002AEE66), UINT32_C(0x002FE621),
11615           UINT32_C(0x0019EC18), UINT32_C(0x001AC45A), UINT32_C(0x002C1BD9),
11616           UINT32_C(0x0039EFF2), UINT32_C(0x0053C8E8), UINT32_C(0x0035D12E),
11617           UINT32_C(0x000F4E0A), UINT32_C(0x0011182C), UINT32_C(0x00481DC1),
11618           UINT32_C(0x00069045), UINT32_C(0x0028AC00), UINT32_C(0x00239B1A),
11619           UINT32_C(0x0012C316), UINT32_C(0x001DFEA0), UINT32_C(0x003B985D),
11620           UINT32_C(0x000DB2FE), UINT32_C(0x004F72CA), UINT32_C(0x0034C923),
11621           UINT32_C(0x001A2093), UINT32_C(0x002B9C3E)},
11622          {UINT32_C(0x006E6357), UINT32_C(0x002A5A2B), UINT32_C(0x001B005C),
11623           UINT32_C(0x00349183), UINT32_C(0x00374B6E), UINT32_C(0x0006A56D),
11624           UINT32_C(0x0005A032), UINT32_C(0x00159BD4), UINT32_C(0x003F8A72),
11625           UINT32_C(0x0006E1D8), UINT32_C(0x0018F53A), UINT32_C(0x0034F1F1),
11626           UINT32_C(0x003729F4), UINT32_C(0x001B24AB), UINT32_C(0x001CC0C1),
11627           UINT32_C(0x001EF566), UINT32_C(0x002B89C8), UINT32_C(0x0002F08C),
11628           UINT32_C(0x003199AF), UINT32_C(0x001C32F5), UINT32_C(0x00194755),
11629           UINT32_C(0x0005E212), UINT32_C(0x000E74FA)},
11630          {UINT32_C(0x0075610F), UINT32_C(0x001C5B4F), UINT32_C(0x0031545E),
11631           UINT32_C(0x005A64BD), UINT32_C(0x00288ECD), UINT32_C(0x00003455),
11632           UINT32_C(0x003E4D6B), UINT32_C(0x001C3B47), UINT32_C(0x00107A21),
11633           UINT32_C(0x000E6BE9), UINT32_C(0x001C454B), UINT32_C(0x002BE715),
11634           UINT32_C(0x0013B171), UINT32_C(0x000D5966), UINT32_C(0x0017248A),
11635           UINT32_C(0x006610DA), UINT32_C(0x000D95A9), UINT32_C(0x002DAD62),
11636           UINT32_C(0x003B2B47), UINT32_C(0x00483940), UINT32_C(0x00214E89),
11637           UINT32_C(0x002E30EF), UINT32_C(0x001A8A7A)}},
11638     },
11639     {
11640         {{UINT32_C(0x005710C2), UINT32_C(0x001C5AC3), UINT32_C(0x0032A560),
11641           UINT32_C(0x0008892C), UINT32_C(0x002827E3), UINT32_C(0x0034491A),
11642           UINT32_C(0x000CBDDB), UINT32_C(0x001226BC), UINT32_C(0x003DC095),
11643           UINT32_C(0x003DBF5D), UINT32_C(0x00207C8F), UINT32_C(0x0003AEE4),
11644           UINT32_C(0x00241676), UINT32_C(0x0019F64F), UINT32_C(0x0003A54C),
11645           UINT32_C(0x007CCE36), UINT32_C(0x00229653), UINT32_C(0x001AD488),
11646           UINT32_C(0x002FF51A), UINT32_C(0x003BAD16), UINT32_C(0x00269362),
11647           UINT32_C(0x0005CFD4), UINT32_C(0x002B0036)},
11648          {UINT32_C(0x001D5B16), UINT32_C(0x0037F93D), UINT32_C(0x0011BE70),
11649           UINT32_C(0x00010F69), UINT32_C(0x000FD6A2), UINT32_C(0x00198F6D),
11650           UINT32_C(0x00306746), UINT32_C(0x00019354), UINT32_C(0x0005D19C),
11651           UINT32_C(0x002A4081), UINT32_C(0x002187BF), UINT32_C(0x0037CD1C),
11652           UINT32_C(0x000F42FE), UINT32_C(0x00384FBB), UINT32_C(0x003F74B7),
11653           UINT32_C(0x002CB87D), UINT32_C(0x002FA3D2), UINT32_C(0x003B9CBD),
11654           UINT32_C(0x0011ACE0), UINT32_C(0x004F2A0F), UINT32_C(0x0010CDFE),
11655           UINT32_C(0x0037DC56), UINT32_C(0x001CA343)},
11656          {UINT32_C(0x002E9F4B), UINT32_C(0x0017B4E0), UINT32_C(0x00311C99),
11657           UINT32_C(0x0042E4B2), UINT32_C(0x00253B3C), UINT32_C(0x00056B7F),
11658           UINT32_C(0x00338DE4), UINT32_C(0x002BD82C), UINT32_C(0x00321B8D),
11659           UINT32_C(0x0038A72F), UINT32_C(0x0008F3D8), UINT32_C(0x001567CC),
11660           UINT32_C(0x0026AD64), UINT32_C(0x0020C5AF), UINT32_C(0x000CCD37),
11661           UINT32_C(0x00590CBB), UINT32_C(0x00313270), UINT32_C(0x003C5BA6),
11662           UINT32_C(0x00368F2D), UINT32_C(0x003060DD), UINT32_C(0x0036F8BC),
11663           UINT32_C(0x000F2893), UINT32_C(0x00334A0C)}},
11664         {{UINT32_C(0x000DE443), UINT32_C(0x0032A8C8), UINT32_C(0x003EE1EE),
11665           UINT32_C(0x002FB8DA), UINT32_C(0x0001EC25), UINT32_C(0x001F2379),
11666           UINT32_C(0x002C120C), UINT32_C(0x00422DB7), UINT32_C(0x003AA20D),
11667           UINT32_C(0x00036834), UINT32_C(0x000B6FAB), UINT32_C(0x00579A73),
11668           UINT32_C(0x002C546A), UINT32_C(0x003CFCBB), UINT32_C(0x0015CCE3),
11669           UINT32_C(0x001DA981), UINT32_C(0x001D2DEC), UINT32_C(0x00155C8F),
11670           UINT32_C(0x0032C6DE), UINT32_C(0x001BBCC6), UINT32_C(0x00332AB7),
11671           UINT32_C(0x00221975), UINT32_C(0x0015380A)},
11672          {UINT32_C(0x0079F763), UINT32_C(0x00086F41), UINT32_C(0x0027B078),
11673           UINT32_C(0x0072AE3A), UINT32_C(0x003377BB), UINT32_C(0x003C40F7),
11674           UINT32_C(0x0018F8C7), UINT32_C(0x00559BA1), UINT32_C(0x00387EE1),
11675           UINT32_C(0x000395F9), UINT32_C(0x0026C76D), UINT32_C(0x00438509),
11676           UINT32_C(0x00258967), UINT32_C(0x00102218), UINT32_C(0x0021EF58),
11677           UINT32_C(0x00187594), UINT32_C(0x00070C07), UINT32_C(0x001150ED),
11678           UINT32_C(0x001A248F), UINT32_C(0x0017CA07), UINT32_C(0x00305C05),
11679           UINT32_C(0x003B435D), UINT32_C(0x0003AB05)},
11680          {UINT32_C(0x00269D6F), UINT32_C(0x0014041F), UINT32_C(0x001C654B),
11681           UINT32_C(0x001E5899), UINT32_C(0x000B839F), UINT32_C(0x000068FF),
11682           UINT32_C(0x001345C1), UINT32_C(0x0062C16D), UINT32_C(0x00095303),
11683           UINT32_C(0x00336B6B), UINT32_C(0x001F5076), UINT32_C(0x006B8DE7),
11684           UINT32_C(0x003033A5), UINT32_C(0x0031B05D), UINT32_C(0x000AAEBB),
11685           UINT32_C(0x00580DC0), UINT32_C(0x00216E2A), UINT32_C(0x000B00E8),
11686           UINT32_C(0x002FED70), UINT32_C(0x0067F7E7), UINT32_C(0x000E3F39),
11687           UINT32_C(0x0026A5C9), UINT32_C(0x001321C9)}},
11688         {{UINT32_C(0x0075F516), UINT32_C(0x0019707B), UINT32_C(0x00284D76),
11689           UINT32_C(0x00135FD0), UINT32_C(0x003E3862), UINT32_C(0x00146ACB),
11690           UINT32_C(0x001C934B), UINT32_C(0x007030A4), UINT32_C(0x000CF8E7),
11691           UINT32_C(0x002CA64F), UINT32_C(0x003FDC6E), UINT32_C(0x0065C11E),
11692           UINT32_C(0x0016B6BB), UINT32_C(0x0018C069), UINT32_C(0x00171DC5),
11693           UINT32_C(0x005B5697), UINT32_C(0x001E8900), UINT32_C(0x001B6DAF),
11694           UINT32_C(0x00310BBC), UINT32_C(0x006BCF1D), UINT32_C(0x002F143F),
11695           UINT32_C(0x001905CA), UINT32_C(0x00017744)},
11696          {UINT32_C(0x003D88D5), UINT32_C(0x000F9E5C), UINT32_C(0x003604CF),
11697           UINT32_C(0x000C36D2), UINT32_C(0x002CF504), UINT32_C(0x0039A798),
11698           UINT32_C(0x000BDED1), UINT32_C(0x001B8DC3), UINT32_C(0x0008E589),
11699           UINT32_C(0x003A11F2), UINT32_C(0x00200D8C), UINT32_C(0x00625D48),
11700           UINT32_C(0x000A9310), UINT32_C(0x003CD6F6), UINT32_C(0x00023EB4),
11701           UINT32_C(0x001CDCCF), UINT32_C(0x00126F0D), UINT32_C(0x0022C59F),
11702           UINT32_C(0x002ACC01), UINT32_C(0x005306AD), UINT32_C(0x002E74F2),
11703           UINT32_C(0x0005DF6D), UINT32_C(0x00285847)},
11704          {UINT32_C(0x0065F342), UINT32_C(0x001EE28A), UINT32_C(0x00222BEB),
11705           UINT32_C(0x006CA69D), UINT32_C(0x000BB7F9), UINT32_C(0x0021BF78),
11706           UINT32_C(0x0003EC62), UINT32_C(0x0054A057), UINT32_C(0x00316B24),
11707           UINT32_C(0x000FF725), UINT32_C(0x00262490), UINT32_C(0x003AE835),
11708           UINT32_C(0x000DA133), UINT32_C(0x00120D05), UINT32_C(0x000F8110),
11709           UINT32_C(0x00347C18), UINT32_C(0x0014B405), UINT32_C(0x000E57EA),
11710           UINT32_C(0x001D3804), UINT32_C(0x001FB3A3), UINT32_C(0x0036FC24),
11711           UINT32_C(0x003107FA), UINT32_C(0x0002D52F)}},
11712         {{UINT32_C(0x00730C26), UINT32_C(0x00033129), UINT32_C(0x00099E61),
11713           UINT32_C(0x00274495), UINT32_C(0x00067D5F), UINT32_C(0x0030E0F3),
11714           UINT32_C(0x00133EE6), UINT32_C(0x001CA496), UINT32_C(0x000D9AF5),
11715           UINT32_C(0x000E2809), UINT32_C(0x0039B916), UINT32_C(0x006CE2B0),
11716           UINT32_C(0x00022B22), UINT32_C(0x003C1D03), UINT32_C(0x00134443),
11717           UINT32_C(0x006C83E6), UINT32_C(0x0022E5D1), UINT32_C(0x00355465),
11718           UINT32_C(0x001393DE), UINT32_C(0x00297B8C), UINT32_C(0x000CCC36),
11719           UINT32_C(0x00384BA8), UINT32_C(0x0003C2A7)},
11720          {UINT32_C(0x001F3E32), UINT32_C(0x003E6A39), UINT32_C(0x00274F66),
11721           UINT32_C(0x0065F067), UINT32_C(0x003DEE02), UINT32_C(0x001ADBA0),
11722           UINT32_C(0x003DD0D0), UINT32_C(0x00067633), UINT32_C(0x003371E3),
11723           UINT32_C(0x0018B039), UINT32_C(0x000FBD3F), UINT32_C(0x003FEF60),
11724           UINT32_C(0x000C13E7), UINT32_C(0x0035AFF4), UINT32_C(0x00248F86),
11725           UINT32_C(0x0075C8AC), UINT32_C(0x00010FB8), UINT32_C(0x0009A933),
11726           UINT32_C(0x00155411), UINT32_C(0x004DD6EA), UINT32_C(0x0018B242),
11727           UINT32_C(0x003F42B9), UINT32_C(0x00307AFB)},
11728          {UINT32_C(0x0043D9DA), UINT32_C(0x002F1FAC), UINT32_C(0x002BEBF2),
11729           UINT32_C(0x001674C8), UINT32_C(0x002F5627), UINT32_C(0x000982A2),
11730           UINT32_C(0x001DD189), UINT32_C(0x0023CFE8), UINT32_C(0x001435E4),
11731           UINT32_C(0x002E3968), UINT32_C(0x00212138), UINT32_C(0x0037DAED),
11732           UINT32_C(0x001AF391), UINT32_C(0x00149EAC), UINT32_C(0x003F6739),
11733           UINT32_C(0x005A1D0B), UINT32_C(0x0003DA69), UINT32_C(0x002C06DC),
11734           UINT32_C(0x003A4339), UINT32_C(0x00603E6E), UINT32_C(0x00144A9B),
11735           UINT32_C(0x002E832B), UINT32_C(0x002DEC99)}},
11736         {{UINT32_C(0x00262A7A), UINT32_C(0x0006D662), UINT32_C(0x00070E7F),
11737           UINT32_C(0x007D4FD4), UINT32_C(0x000363F2), UINT32_C(0x002DCD0B),
11738           UINT32_C(0x003F4BD3), UINT32_C(0x004B46BE), UINT32_C(0x0018690B),
11739           UINT32_C(0x000D990E), UINT32_C(0x000FAB11), UINT32_C(0x000F371C),
11740           UINT32_C(0x003CC586), UINT32_C(0x0027FA77), UINT32_C(0x00064076),
11741           UINT32_C(0x002B6788), UINT32_C(0x003FBD23), UINT32_C(0x0003E156),
11742           UINT32_C(0x000B4246), UINT32_C(0x0011F74C), UINT32_C(0x001580E7),
11743           UINT32_C(0x001AB7D6), UINT32_C(0x002FD3D2)},
11744          {UINT32_C(0x0073791E), UINT32_C(0x0028FB9D), UINT32_C(0x002F8DA3),
11745           UINT32_C(0x00149495), UINT32_C(0x001EDDC0), UINT32_C(0x0022DA14),
11746           UINT32_C(0x000D1BE0), UINT32_C(0x000602F3), UINT32_C(0x00166D08),
11747           UINT32_C(0x001F0437), UINT32_C(0x0001CD0D), UINT32_C(0x002624C1),
11748           UINT32_C(0x002A961B), UINT32_C(0x00094F8B), UINT32_C(0x00315EBC),
11749           UINT32_C(0x00021B46), UINT32_C(0x001DB347), UINT32_C(0x00240821),
11750           UINT32_C(0x002271B3), UINT32_C(0x00475580), UINT32_C(0x00022765),
11751           UINT32_C(0x0030DDFA), UINT32_C(0x002DD431)},
11752          {UINT32_C(0x0073CD42), UINT32_C(0x000AA556), UINT32_C(0x0012283B),
11753           UINT32_C(0x007C1AE9), UINT32_C(0x000379D4), UINT32_C(0x0022CBD1),
11754           UINT32_C(0x003AB652), UINT32_C(0x00694262), UINT32_C(0x003DAD8F),
11755           UINT32_C(0x003C497A), UINT32_C(0x001A32CF), UINT32_C(0x003C85F6),
11756           UINT32_C(0x0005431E), UINT32_C(0x002156D8), UINT32_C(0x002AF6B5),
11757           UINT32_C(0x00038046), UINT32_C(0x002E42CB), UINT32_C(0x00254F18),
11758           UINT32_C(0x0020D00F), UINT32_C(0x0030D955), UINT32_C(0x00071955),
11759           UINT32_C(0x000B6D41), UINT32_C(0x00285989)}},
11760         {{UINT32_C(0x007E08FB), UINT32_C(0x00263A00), UINT32_C(0x000CADFC),
11761           UINT32_C(0x001DC808), UINT32_C(0x002FA272), UINT32_C(0x001FB53D),
11762           UINT32_C(0x0011F9BF), UINT32_C(0x003390F4), UINT32_C(0x0034E6F0),
11763           UINT32_C(0x0004D46C), UINT32_C(0x00054043), UINT32_C(0x001A0B56),
11764           UINT32_C(0x003D1A17), UINT32_C(0x001B584C), UINT32_C(0x0011ED5C),
11765           UINT32_C(0x007B2CBC), UINT32_C(0x000C420C), UINT32_C(0x002C7F8D),
11766           UINT32_C(0x001B1449), UINT32_C(0x006D4B4B), UINT32_C(0x00284BD2),
11767           UINT32_C(0x00097414), UINT32_C(0x001056CF)},
11768          {UINT32_C(0x0073D3D1), UINT32_C(0x00088230), UINT32_C(0x000075FE),
11769           UINT32_C(0x003B85B2), UINT32_C(0x00172ED7), UINT32_C(0x000E1CD6),
11770           UINT32_C(0x002D09FB), UINT32_C(0x0073D157), UINT32_C(0x0009AE50),
11771           UINT32_C(0x0011E0DC), UINT32_C(0x000EE967), UINT32_C(0x002CFFF1),
11772           UINT32_C(0x0010B62C), UINT32_C(0x001BBB7A), UINT32_C(0x001A028C),
11773           UINT32_C(0x004CD9AF), UINT32_C(0x0011BCF9), UINT32_C(0x0027E62F),
11774           UINT32_C(0x000579BB), UINT32_C(0x007DC76F), UINT32_C(0x00332A43),
11775           UINT32_C(0x0023C822), UINT32_C(0x000141A7)},
11776          {UINT32_C(0x00696277), UINT32_C(0x001B3A68), UINT32_C(0x002BB919),
11777           UINT32_C(0x00483ED8), UINT32_C(0x000E8365), UINT32_C(0x00099C62),
11778           UINT32_C(0x003C029F), UINT32_C(0x005155DA), UINT32_C(0x001F3BFC),
11779           UINT32_C(0x003F93BC), UINT32_C(0x0019B689), UINT32_C(0x00763BA9),
11780           UINT32_C(0x003D2F7A), UINT32_C(0x00398C78), UINT32_C(0x0038B6BF),
11781           UINT32_C(0x006C7737), UINT32_C(0x002EE2B2), UINT32_C(0x003AADE4),
11782           UINT32_C(0x002A6200), UINT32_C(0x0061FD04), UINT32_C(0x001F7254),
11783           UINT32_C(0x000C8C41), UINT32_C(0x0033394F)}},
11784         {{UINT32_C(0x005E9802), UINT32_C(0x00264758), UINT32_C(0x001AB2B5),
11785           UINT32_C(0x002E4F89), UINT32_C(0x002C4ADC), UINT32_C(0x000094EF),
11786           UINT32_C(0x002689AD), UINT32_C(0x0046FA1A), UINT32_C(0x0030AFC9),
11787           UINT32_C(0x001796B4), UINT32_C(0x0007E5D9), UINT32_C(0x0042C248),
11788           UINT32_C(0x000F1E94), UINT32_C(0x0021F53B), UINT32_C(0x00261686),
11789           UINT32_C(0x003F1DDB), UINT32_C(0x0038C53A), UINT32_C(0x00085F45),
11790           UINT32_C(0x002D5719), UINT32_C(0x000E126B), UINT32_C(0x0008A053),
11791           UINT32_C(0x0001D8A2), UINT32_C(0x000CA742)},
11792          {UINT32_C(0x0024D905), UINT32_C(0x000E9B9F), UINT32_C(0x0001793C),
11793           UINT32_C(0x0038DEEF), UINT32_C(0x00281C2C), UINT32_C(0x002A3E68),
11794           UINT32_C(0x002C3A89), UINT32_C(0x00474938), UINT32_C(0x00191AE2),
11795           UINT32_C(0x00059F41), UINT32_C(0x003170A5), UINT32_C(0x007B0894),
11796           UINT32_C(0x003188B8), UINT32_C(0x0004A286), UINT32_C(0x001330A6),
11797           UINT32_C(0x000F7B22), UINT32_C(0x000CCE16), UINT32_C(0x002F2EE2),
11798           UINT32_C(0x00195174), UINT32_C(0x005D1601), UINT32_C(0x001F40E0),
11799           UINT32_C(0x00291362), UINT32_C(0x0035C7DC)},
11800          {UINT32_C(0x000B4C31), UINT32_C(0x003B561D), UINT32_C(0x000F3B3B),
11801           UINT32_C(0x0070FA44), UINT32_C(0x0007486A), UINT32_C(0x001DF356),
11802           UINT32_C(0x001935F2), UINT32_C(0x004FB6D9), UINT32_C(0x0027D7FD),
11803           UINT32_C(0x00350DC9), UINT32_C(0x000A3F69), UINT32_C(0x00449466),
11804           UINT32_C(0x00239BA4), UINT32_C(0x0028E2F3), UINT32_C(0x0026CBC7),
11805           UINT32_C(0x00036018), UINT32_C(0x003A9DCF), UINT32_C(0x0037B528),
11806           UINT32_C(0x001E2C6E), UINT32_C(0x003F6EC0), UINT32_C(0x003FD88F),
11807           UINT32_C(0x00068ADE), UINT32_C(0x0037FCE0)}},
11808         {{UINT32_C(0x0050000E), UINT32_C(0x001E77A7), UINT32_C(0x0024B63E),
11809           UINT32_C(0x0048CCFE), UINT32_C(0x0038B910), UINT32_C(0x0019209B),
11810           UINT32_C(0x00253B08), UINT32_C(0x005B37AF), UINT32_C(0x0004506B),
11811           UINT32_C(0x001A4B14), UINT32_C(0x000FF3BF), UINT32_C(0x00085950),
11812           UINT32_C(0x002D6373), UINT32_C(0x000CDBBD), UINT32_C(0x00090934),
11813           UINT32_C(0x004CF09F), UINT32_C(0x0027CD34), UINT32_C(0x00371F39),
11814           UINT32_C(0x001C72B6), UINT32_C(0x006D2050), UINT32_C(0x002AC578),
11815           UINT32_C(0x000FB697), UINT32_C(0x0005FF6A)},
11816          {UINT32_C(0x00599665), UINT32_C(0x002DDA7B), UINT32_C(0x00268815),
11817           UINT32_C(0x002942AC), UINT32_C(0x001DEC68), UINT32_C(0x002DBB5F),
11818           UINT32_C(0x000C7D78), UINT32_C(0x0057F19C), UINT32_C(0x0021DFB6),
11819           UINT32_C(0x000753FB), UINT32_C(0x001EB75C), UINT32_C(0x006BB8BB),
11820           UINT32_C(0x000F62D8), UINT32_C(0x00276AD4), UINT32_C(0x0018EBC3),
11821           UINT32_C(0x00214208), UINT32_C(0x001152DD), UINT32_C(0x001897CD),
11822           UINT32_C(0x002857D4), UINT32_C(0x0042470E), UINT32_C(0x0021C7EA),
11823           UINT32_C(0x000270FA), UINT32_C(0x002E73F0)},
11824          {UINT32_C(0x0071D30B), UINT32_C(0x002E7B13), UINT32_C(0x0033F7E5),
11825           UINT32_C(0x00026176), UINT32_C(0x0024C588), UINT32_C(0x001EA175),
11826           UINT32_C(0x003B6645), UINT32_C(0x00291861), UINT32_C(0x000ED3A0),
11827           UINT32_C(0x0002A696), UINT32_C(0x0016C658), UINT32_C(0x003C9DCA),
11828           UINT32_C(0x001224F2), UINT32_C(0x0005AAC4), UINT32_C(0x001A509B),
11829           UINT32_C(0x002E50AA), UINT32_C(0x001912EC), UINT32_C(0x0039A83F),
11830           UINT32_C(0x002EEAC7), UINT32_C(0x0039F245), UINT32_C(0x0004ABA0),
11831           UINT32_C(0x0038D048), UINT32_C(0x00088CA8)}},
11832         {{UINT32_C(0x00381541), UINT32_C(0x00204236), UINT32_C(0x000F7F85),
11833           UINT32_C(0x006ABC1B), UINT32_C(0x00309BD4), UINT32_C(0x001A5B8A),
11834           UINT32_C(0x003193B0), UINT32_C(0x007C3DBC), UINT32_C(0x0021AA72),
11835           UINT32_C(0x0025AB66), UINT32_C(0x0027C829), UINT32_C(0x0000DCB0),
11836           UINT32_C(0x001E5740), UINT32_C(0x0027A69E), UINT32_C(0x002A0916),
11837           UINT32_C(0x003558C0), UINT32_C(0x0008DEFA), UINT32_C(0x00001D63),
11838           UINT32_C(0x00302547), UINT32_C(0x0077415F), UINT32_C(0x0017C197),
11839           UINT32_C(0x0022627F), UINT32_C(0x000599E2)},
11840          {UINT32_C(0x004DD359), UINT32_C(0x00246A2C), UINT32_C(0x0027E508),
11841           UINT32_C(0x006A3CA3), UINT32_C(0x00378EB4), UINT32_C(0x0026BEB6),
11842           UINT32_C(0x000844C3), UINT32_C(0x0055D1C5), UINT32_C(0x000BD3A3),
11843           UINT32_C(0x00337C41), UINT32_C(0x003DE17E), UINT32_C(0x004DF9BA),
11844           UINT32_C(0x0029B7C8), UINT32_C(0x00371C33), UINT32_C(0x001BC3B2),
11845           UINT32_C(0x0052B93E), UINT32_C(0x003F84C4), UINT32_C(0x00046C2D),
11846           UINT32_C(0x00381921), UINT32_C(0x00329932), UINT32_C(0x00029014),
11847           UINT32_C(0x00195E90), UINT32_C(0x00165863)},
11848          {UINT32_C(0x003D4CE8), UINT32_C(0x0009AEA0), UINT32_C(0x000A6139),
11849           UINT32_C(0x00626AB6), UINT32_C(0x001921AD), UINT32_C(0x001DDCC3),
11850           UINT32_C(0x0010A346), UINT32_C(0x001C0DF5), UINT32_C(0x0022458F),
11851           UINT32_C(0x0029A8D6), UINT32_C(0x0023055B), UINT32_C(0x007FBC20),
11852           UINT32_C(0x0012BD87), UINT32_C(0x00105456), UINT32_C(0x0009B655),
11853           UINT32_C(0x0061C3AD), UINT32_C(0x00029CBB), UINT32_C(0x0037EC3D),
11854           UINT32_C(0x003A6374), UINT32_C(0x00604726), UINT32_C(0x0036C983),
11855           UINT32_C(0x002FB577), UINT32_C(0x0034D612)}},
11856         {{UINT32_C(0x002E7DCC), UINT32_C(0x000D16B4), UINT32_C(0x0024096A),
11857           UINT32_C(0x0025C077), UINT32_C(0x00092685), UINT32_C(0x0031BC93),
11858           UINT32_C(0x002F71E3), UINT32_C(0x0006DB6D), UINT32_C(0x00314D92),
11859           UINT32_C(0x0031DCE1), UINT32_C(0x0021F441), UINT32_C(0x005C93B1),
11860           UINT32_C(0x000A56D1), UINT32_C(0x0007C7F7), UINT32_C(0x003AC8AA),
11861           UINT32_C(0x004FB13F), UINT32_C(0x00382F3C), UINT32_C(0x00346287),
11862           UINT32_C(0x0010C1C3), UINT32_C(0x003EB5C9), UINT32_C(0x00287A6F),
11863           UINT32_C(0x0018779D), UINT32_C(0x00239EAB)},
11864          {UINT32_C(0x0041FD8F), UINT32_C(0x001E6522), UINT32_C(0x0022B56D),
11865           UINT32_C(0x0025ABCD), UINT32_C(0x00306D98), UINT32_C(0x00300F6B),
11866           UINT32_C(0x001655DA), UINT32_C(0x00272687), UINT32_C(0x0006B08D),
11867           UINT32_C(0x0023B809), UINT32_C(0x00138AAF), UINT32_C(0x001DF48C),
11868           UINT32_C(0x0011F659), UINT32_C(0x0009E92A), UINT32_C(0x003B30CC),
11869           UINT32_C(0x001DAEE5), UINT32_C(0x003A3F41), UINT32_C(0x0009DF14),
11870           UINT32_C(0x00214E4F), UINT32_C(0x001A4EE1), UINT32_C(0x000AF3F8),
11871           UINT32_C(0x003B84FD), UINT32_C(0x0027CB30)},
11872          {UINT32_C(0x003FB85E), UINT32_C(0x002A5B7E), UINT32_C(0x000B3D6C),
11873           UINT32_C(0x0010AAED), UINT32_C(0x001DCC4D), UINT32_C(0x002372C6),
11874           UINT32_C(0x002990B7), UINT32_C(0x0029FD67), UINT32_C(0x00184F9D),
11875           UINT32_C(0x00213292), UINT32_C(0x0006D4F4), UINT32_C(0x004C67DD),
11876           UINT32_C(0x00170CE7), UINT32_C(0x00279FEF), UINT32_C(0x002AF75F),
11877           UINT32_C(0x002865F8), UINT32_C(0x003DF044), UINT32_C(0x003246C4),
11878           UINT32_C(0x000BBBCD), UINT32_C(0x0070D0BC), UINT32_C(0x0016FDF4),
11879           UINT32_C(0x002E1724), UINT32_C(0x0034D526)}},
11880         {{UINT32_C(0x0068145B), UINT32_C(0x0010E47B), UINT32_C(0x0016AFBB),
11881           UINT32_C(0x006D5CA7), UINT32_C(0x001CBDAA), UINT32_C(0x003773D2),
11882           UINT32_C(0x00376C07), UINT32_C(0x00798761), UINT32_C(0x00122C25),
11883           UINT32_C(0x0000941E), UINT32_C(0x000B8B0C), UINT32_C(0x006E3CF0),
11884           UINT32_C(0x0037C29F), UINT32_C(0x003FCFE2), UINT32_C(0x00355C91),
11885           UINT32_C(0x006B5739), UINT32_C(0x000039E2), UINT32_C(0x000A6FB6),
11886           UINT32_C(0x00368629), UINT32_C(0x00439D33), UINT32_C(0x00051B6B),
11887           UINT32_C(0x003CCB53), UINT32_C(0x0021E090)},
11888          {UINT32_C(0x0072B0D9), UINT32_C(0x00260FBA), UINT32_C(0x000A91DA),
11889           UINT32_C(0x000248F7), UINT32_C(0x003E3B08), UINT32_C(0x00233510),
11890           UINT32_C(0x000F7A4C), UINT32_C(0x00023CD1), UINT32_C(0x003BF83E),
11891           UINT32_C(0x003F97FF), UINT32_C(0x00387ABE), UINT32_C(0x006B4171),
11892           UINT32_C(0x000D77D6), UINT32_C(0x0028D310), UINT32_C(0x001FAD93),
11893           UINT32_C(0x006D40A9), UINT32_C(0x00109960), UINT32_C(0x001C700E),
11894           UINT32_C(0x0010A5D3), UINT32_C(0x00638AE3), UINT32_C(0x002B09EB),
11895           UINT32_C(0x0005F26C), UINT32_C(0x0001E411)},
11896          {UINT32_C(0x000E2A67), UINT32_C(0x0016A28F), UINT32_C(0x00289716),
11897           UINT32_C(0x0078F0B2), UINT32_C(0x003797DA), UINT32_C(0x00268485),
11898           UINT32_C(0x00262E41), UINT32_C(0x00241F04), UINT32_C(0x00074EC0),
11899           UINT32_C(0x000D6EAC), UINT32_C(0x001E559F), UINT32_C(0x00153E46),
11900           UINT32_C(0x002FB890), UINT32_C(0x000CA628), UINT32_C(0x002A4016),
11901           UINT32_C(0x007D6524), UINT32_C(0x001EC8D1), UINT32_C(0x00286DC0),
11902           UINT32_C(0x00157657), UINT32_C(0x0079E5B8), UINT32_C(0x0039F963),
11903           UINT32_C(0x000CE35C), UINT32_C(0x003F1219)}},
11904         {{UINT32_C(0x0000F57B), UINT32_C(0x0009DF26), UINT32_C(0x00222FE3),
11905           UINT32_C(0x002A30BE), UINT32_C(0x00379E2F), UINT32_C(0x000AAB5F),
11906           UINT32_C(0x002DEDC7), UINT32_C(0x00530A70), UINT32_C(0x001B01FA),
11907           UINT32_C(0x003D1B31), UINT32_C(0x002AD753), UINT32_C(0x0029A2AA),
11908           UINT32_C(0x0034373F), UINT32_C(0x002D9918), UINT32_C(0x002C76D1),
11909           UINT32_C(0x002F937A), UINT32_C(0x000EB50A), UINT32_C(0x003F8781),
11910           UINT32_C(0x002C7F91), UINT32_C(0x0004D41F), UINT32_C(0x003AEC45),
11911           UINT32_C(0x00369FC0), UINT32_C(0x00013605)},
11912          {UINT32_C(0x0054C5BA), UINT32_C(0x00376F0D), UINT32_C(0x000F2327),
11913           UINT32_C(0x00202DD7), UINT32_C(0x0022B2CE), UINT32_C(0x003D8E25),
11914           UINT32_C(0x0030ED93), UINT32_C(0x005E7D9A), UINT32_C(0x00359051),
11915           UINT32_C(0x00330484), UINT32_C(0x001F4DA9), UINT32_C(0x000D5A03),
11916           UINT32_C(0x003772EE), UINT32_C(0x001FDD99), UINT32_C(0x00190D1C),
11917           UINT32_C(0x0064DE66), UINT32_C(0x00112698), UINT32_C(0x003D9DDF),
11918           UINT32_C(0x003B8E10), UINT32_C(0x000670E8), UINT32_C(0x001E9A00),
11919           UINT32_C(0x000D2726), UINT32_C(0x00344016)},
11920          {UINT32_C(0x001EAEC6), UINT32_C(0x000A257F), UINT32_C(0x00368552),
11921           UINT32_C(0x00569140), UINT32_C(0x00240DF0), UINT32_C(0x002BE21B),
11922           UINT32_C(0x000AC85E), UINT32_C(0x0035C3D1), UINT32_C(0x0016FBDE),
11923           UINT32_C(0x0024ACF2), UINT32_C(0x003AA3F7), UINT32_C(0x006A54CF),
11924           UINT32_C(0x002AAD78), UINT32_C(0x003BE77F), UINT32_C(0x000CA38B),
11925           UINT32_C(0x0053D6D6), UINT32_C(0x00238462), UINT32_C(0x001E2258),
11926           UINT32_C(0x002E8075), UINT32_C(0x005C588D), UINT32_C(0x001BE563),
11927           UINT32_C(0x00362AF4), UINT32_C(0x000E1465)}},
11928         {{UINT32_C(0x00544BA0), UINT32_C(0x00103EEE), UINT32_C(0x0012ACCC),
11929           UINT32_C(0x0004634F), UINT32_C(0x00326BCC), UINT32_C(0x00186BD9),
11930           UINT32_C(0x0001D886), UINT32_C(0x0006E9CD), UINT32_C(0x0028A635),
11931           UINT32_C(0x0018E4A4), UINT32_C(0x002FA643), UINT32_C(0x000C1175),
11932           UINT32_C(0x0039E179), UINT32_C(0x00255905), UINT32_C(0x000E38AE),
11933           UINT32_C(0x00075E7F), UINT32_C(0x003F2DF2), UINT32_C(0x000BF618),
11934           UINT32_C(0x0038EDDB), UINT32_C(0x003D531B), UINT32_C(0x00343EB7),
11935           UINT32_C(0x001D10D6), UINT32_C(0x0003039D)},
11936          {UINT32_C(0x007286CB), UINT32_C(0x00262870), UINT32_C(0x00087C21),
11937           UINT32_C(0x0015F41E), UINT32_C(0x002D96DA), UINT32_C(0x0004A9E5),
11938           UINT32_C(0x00010055), UINT32_C(0x0063A621), UINT32_C(0x000E9F00),
11939           UINT32_C(0x000EE347), UINT32_C(0x0026AF40), UINT32_C(0x003E094E),
11940           UINT32_C(0x003B2228), UINT32_C(0x001A3CC1), UINT32_C(0x0030A53B),
11941           UINT32_C(0x00011EE4), UINT32_C(0x00218ED0), UINT32_C(0x0007142C),
11942           UINT32_C(0x00391F95), UINT32_C(0x002BB1FF), UINT32_C(0x001AA23A),
11943           UINT32_C(0x003C5218), UINT32_C(0x002F08BB)},
11944          {UINT32_C(0x001EB5AC), UINT32_C(0x003F1C36), UINT32_C(0x001FD7A7),
11945           UINT32_C(0x00755608), UINT32_C(0x003353AE), UINT32_C(0x003D6966),
11946           UINT32_C(0x0017FDC3), UINT32_C(0x0000F856), UINT32_C(0x0009B134),
11947           UINT32_C(0x000C3D1A), UINT32_C(0x001E06FC), UINT32_C(0x00745D11),
11948           UINT32_C(0x003761CD), UINT32_C(0x0021FF5D), UINT32_C(0x0037240E),
11949           UINT32_C(0x003022F6), UINT32_C(0x0013DC00), UINT32_C(0x00308386),
11950           UINT32_C(0x00071C5F), UINT32_C(0x0010C125), UINT32_C(0x000192B4),
11951           UINT32_C(0x0019FF02), UINT32_C(0x003B2385)}},
11952         {{UINT32_C(0x00417D4C), UINT32_C(0x003AECD5), UINT32_C(0x002E5B54),
11953           UINT32_C(0x00243DAE), UINT32_C(0x0003B5C3), UINT32_C(0x00242612),
11954           UINT32_C(0x001E0962), UINT32_C(0x004AC9D7), UINT32_C(0x0033B66D),
11955           UINT32_C(0x0013DC44), UINT32_C(0x0017552D), UINT32_C(0x006C3A48),
11956           UINT32_C(0x0036914E), UINT32_C(0x001C9CFD), UINT32_C(0x000862A1),
11957           UINT32_C(0x00260590), UINT32_C(0x002BEC73), UINT32_C(0x00263AA5),
11958           UINT32_C(0x0013BDC2), UINT32_C(0x007EAFCE), UINT32_C(0x001A9EA3),
11959           UINT32_C(0x000A9066), UINT32_C(0x00024A7F)},
11960          {UINT32_C(0x007D40F1), UINT32_C(0x002268CC), UINT32_C(0x002A7B4D),
11961           UINT32_C(0x0017B592), UINT32_C(0x001B785F), UINT32_C(0x002CEBBB),
11962           UINT32_C(0x003FD10A), UINT32_C(0x0033D10F), UINT32_C(0x0005FF3D),
11963           UINT32_C(0x0002C3D3), UINT32_C(0x00171A74), UINT32_C(0x005E8507),
11964           UINT32_C(0x002D6928), UINT32_C(0x0007621E), UINT32_C(0x003F547B),
11965           UINT32_C(0x005E087B), UINT32_C(0x000FFDD4), UINT32_C(0x0036FEE1),
11966           UINT32_C(0x0028A970), UINT32_C(0x0049A969), UINT32_C(0x0008D33F),
11967           UINT32_C(0x0020BACA), UINT32_C(0x000F9E55)},
11968          {UINT32_C(0x0001E00F), UINT32_C(0x003DC07C), UINT32_C(0x001BA800),
11969           UINT32_C(0x004AEE42), UINT32_C(0x0013E66A), UINT32_C(0x001C61D4),
11970           UINT32_C(0x00365B36), UINT32_C(0x000D2885), UINT32_C(0x00046EFC),
11971           UINT32_C(0x00088FB6), UINT32_C(0x0007F83B), UINT32_C(0x003E8670),
11972           UINT32_C(0x001539ED), UINT32_C(0x0039945D), UINT32_C(0x00052181),
11973           UINT32_C(0x00150E04), UINT32_C(0x003F8361), UINT32_C(0x0033D590),
11974           UINT32_C(0x002A7678), UINT32_C(0x001A0E6A), UINT32_C(0x0017FB3A),
11975           UINT32_C(0x0001B263), UINT32_C(0x003FB8CC)}},
11976         {{UINT32_C(0x00441491), UINT32_C(0x000F0A65), UINT32_C(0x001689D6),
11977           UINT32_C(0x001482F7), UINT32_C(0x00147BF7), UINT32_C(0x003D0042),
11978           UINT32_C(0x002844D1), UINT32_C(0x005FD1B5), UINT32_C(0x00200A97),
11979           UINT32_C(0x00117C63), UINT32_C(0x003D90B5), UINT32_C(0x001D123E),
11980           UINT32_C(0x00044FA4), UINT32_C(0x003F2318), UINT32_C(0x0036FA13),
11981           UINT32_C(0x005A1AE5), UINT32_C(0x000811CA), UINT32_C(0x001E59EF),
11982           UINT32_C(0x0034D752), UINT32_C(0x00564B68), UINT32_C(0x001118FF),
11983           UINT32_C(0x0039B3EA), UINT32_C(0x0014D131)},
11984          {UINT32_C(0x0013C497), UINT32_C(0x003C1203), UINT32_C(0x0017B8C9),
11985           UINT32_C(0x005F5C63), UINT32_C(0x001C40D9), UINT32_C(0x00337A68),
11986           UINT32_C(0x00200255), UINT32_C(0x007B6F12), UINT32_C(0x001F0C0A),
11987           UINT32_C(0x000D6663), UINT32_C(0x001F59C2), UINT32_C(0x00154C68),
11988           UINT32_C(0x00345E93), UINT32_C(0x003D89D5), UINT32_C(0x00342AEC),
11989           UINT32_C(0x006FD7F9), UINT32_C(0x0015325A), UINT32_C(0x001C82FE),
11990           UINT32_C(0x0032F5E8), UINT32_C(0x00078F1F), UINT32_C(0x0025FC9A),
11991           UINT32_C(0x003196C7), UINT32_C(0x0039E007)},
11992          {UINT32_C(0x0039A6FC), UINT32_C(0x0011CEAB), UINT32_C(0x0012DC99),
11993           UINT32_C(0x005819B9), UINT32_C(0x0018EB3D), UINT32_C(0x00219D0B),
11994           UINT32_C(0x001627FA), UINT32_C(0x003FFC71), UINT32_C(0x000E2B28),
11995           UINT32_C(0x000516D9), UINT32_C(0x003B039D), UINT32_C(0x001E1B28),
11996           UINT32_C(0x00179D77), UINT32_C(0x002E37D9), UINT32_C(0x0003A1C1),
11997           UINT32_C(0x000D735B), UINT32_C(0x00360858), UINT32_C(0x0008AFC3),
11998           UINT32_C(0x0016FD4C), UINT32_C(0x000289D6), UINT32_C(0x001E9558),
11999           UINT32_C(0x000AF3EA), UINT32_C(0x003D50FE)}},
12000         {{UINT32_C(0x0053D15A), UINT32_C(0x002C2F83), UINT32_C(0x00170ABE),
12001           UINT32_C(0x00712A78), UINT32_C(0x00103D0A), UINT32_C(0x0005BC7E),
12002           UINT32_C(0x002462B7), UINT32_C(0x00116FB3), UINT32_C(0x0032D4A0),
12003           UINT32_C(0x003CCDA0), UINT32_C(0x00088A2E), UINT32_C(0x00510F79),
12004           UINT32_C(0x00293310), UINT32_C(0x001D649F), UINT32_C(0x00315518),
12005           UINT32_C(0x002689D7), UINT32_C(0x00324D85), UINT32_C(0x00200963),
12006           UINT32_C(0x00086C95), UINT32_C(0x000B31F5), UINT32_C(0x0013C26E),
12007           UINT32_C(0x0003A95F), UINT32_C(0x0036130B)},
12008          {UINT32_C(0x0011ED3F), UINT32_C(0x0022E8CD), UINT32_C(0x000AF23D),
12009           UINT32_C(0x000A28B1), UINT32_C(0x001C1B53), UINT32_C(0x0004BD1F),
12010           UINT32_C(0x000B0909), UINT32_C(0x006FD7AA), UINT32_C(0x001BA416),
12011           UINT32_C(0x0003F26B), UINT32_C(0x00305459), UINT32_C(0x0074C3EC),
12012           UINT32_C(0x00287773), UINT32_C(0x0034CC74), UINT32_C(0x002D85ED),
12013           UINT32_C(0x005C853F), UINT32_C(0x00049BB2), UINT32_C(0x000DF4CA),
12014           UINT32_C(0x0016E02A), UINT32_C(0x004D746D), UINT32_C(0x000B5669),
12015           UINT32_C(0x0011DAD1), UINT32_C(0x0016A410)},
12016          {UINT32_C(0x00112679), UINT32_C(0x002ADF1B), UINT32_C(0x0008BDEA),
12017           UINT32_C(0x007D441A), UINT32_C(0x0037A3DB), UINT32_C(0x0008035D),
12018           UINT32_C(0x001D18DE), UINT32_C(0x00432D9E), UINT32_C(0x00217C8D),
12019           UINT32_C(0x0034B1CC), UINT32_C(0x00347E03), UINT32_C(0x007CEF1A),
12020           UINT32_C(0x003CA8B5), UINT32_C(0x000B5855), UINT32_C(0x0034A8BC),
12021           UINT32_C(0x003867CB), UINT32_C(0x00169433), UINT32_C(0x00134C66),
12022           UINT32_C(0x0011D943), UINT32_C(0x0061B8E4), UINT32_C(0x00383EDC),
12023           UINT32_C(0x00274AAD), UINT32_C(0x000AE283)}},
12024     }};
12025
12026 /*-
12027  * Q := 2P, both projective, Q and P same pointers OK
12028  * Autogenerated: op3/dbl_proj_ed_eone.op3
12029  * https://www.hyperelliptic.org/EFD/g1p/auto-code/twisted/extended-1/doubling/dbl-2008-hwcd.op3
12030  * ASSERT: e = 1
12031  */
12032 static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
12033     /* temporary variables */
12034     fe_t t0, t1, t2, t3;
12035     /* constants */
12036     /* set pointers for Edwards curve arith */
12037     const limb_t *X = P->X;
12038     const limb_t *Y = P->Y;
12039     const limb_t *Z = P->Z;
12040     limb_t *X3 = Q->X;
12041     limb_t *Y3 = Q->Y;
12042     limb_t *T3 = Q->T;
12043     limb_t *Z3 = Q->Z;
12044
12045     /* the curve arith formula */
12046     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(t0, X);
12047     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(t1, Y);
12048     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(t2, Z);
12049     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(t3, t2, t2);
12050     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(X3, X, Y);
12051     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(Y3, X3);
12052     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(T3, Y3, t0);
12053     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(Z3, T3, t1);
12054     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(Y3, t0, t1);
12055     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t2, Y3, t3);
12056     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t3, t0, t1);
12057     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, Z3, t2);
12058     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, Z3, t3);
12059     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Z3, t2, Y3);
12060     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, Y3, t3);
12061 }
12062
12063 /*-
12064  * R := Q + P where R and Q are projective, P affine.
12065  * R and Q same pointers OK
12066  * R and P same pointers not OK
12067  * Autogenerated: op3/add_mixed_ed_eone.op3
12068  * https://hyperelliptic.org/EFD/g1p/auto-code/twisted/extended/addition/madd-2008-hwcd.op3
12069  * ASSERT: e = 1
12070  */
12071 static void point_add_mixed(pt_prj_t *R, const pt_prj_t *Q, const pt_aff_t *P) {
12072     /* temporary variables */
12073     fe_t t0, t1, t2, t3;
12074     /* constants */
12075     const limb_t *d = const_d;
12076     /* set pointers for Edwards curve arith */
12077     const limb_t *X1 = Q->X;
12078     const limb_t *Y1 = Q->Y;
12079     const limb_t *T1 = Q->T;
12080     const limb_t *Z1 = Q->Z;
12081     const limb_t *X2 = P->X;
12082     const limb_t *Y2 = P->Y;
12083     const limb_t *T2 = P->T;
12084     limb_t *X3 = R->X;
12085     limb_t *Y3 = R->Y;
12086     limb_t *T3 = R->T;
12087     limb_t *Z3 = R->Z;
12088
12089     /* the curve arith formula */
12090     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t0, X1, X2);
12091     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t1, Y1, Y2);
12092     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t2, d, T2);
12093     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t2, T1, t2);
12094     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(X3, X1, Y1);
12095     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(Y3, X2, Y2);
12096     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, X3, Y3);
12097     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t3, T3, t0);
12098     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(T3, t3, t1);
12099     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(t3, Z1, t2);
12100     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(Z3, Z1, t2);
12101     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t1, t1, t0);
12102     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, T3, Z3);
12103     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, t3, t1);
12104     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, T3, t1);
12105     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Z3, Z3, t3);
12106 }
12107
12108 /*-
12109  * R := Q + P all projective.
12110  * R and Q same pointers OK
12111  * R and P same pointers not OK
12112  * Autogenerated: op3/add_proj_ed_eone.op3
12113  * https://hyperelliptic.org/EFD/g1p/auto-code/twisted/extended/addition/add-2008-hwcd.op3
12114  * ASSERT: e = 1
12115  */
12116 static void point_add_proj(pt_prj_t *R, const pt_prj_t *Q, const pt_prj_t *P) {
12117     /* temporary variables */
12118     fe_t t0, t1, t2, t3;
12119     /* constants */
12120     const limb_t *d = const_d;
12121     /* set pointers for Edwards curve arith */
12122     const limb_t *X1 = Q->X;
12123     const limb_t *Y1 = Q->Y;
12124     const limb_t *T1 = Q->T;
12125     const limb_t *Z1 = Q->Z;
12126     const limb_t *X2 = P->X;
12127     const limb_t *Y2 = P->Y;
12128     const limb_t *T2 = P->T;
12129     const limb_t *Z2 = P->Z;
12130     limb_t *X3 = R->X;
12131     limb_t *Y3 = R->Y;
12132     limb_t *T3 = R->T;
12133     limb_t *Z3 = R->Z;
12134
12135     /* the curve arith formula */
12136     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t0, X1, X2);
12137     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t1, Y1, Y2);
12138     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t2, d, T2);
12139     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t2, T1, t2);
12140     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t3, Z1, Z2);
12141     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(X3, X1, Y1);
12142     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(Y3, X2, Y2);
12143     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, X3, Y3);
12144     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(Z3, T3, t0);
12145     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(T3, Z3, t1);
12146     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(Z3, t3, t2);
12147     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(t3, t3, t2);
12148     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t1, t1, t0);
12149     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, T3, Z3);
12150     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, t3, t1);
12151     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, T3, t1);
12152     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Z3, Z3, t3);
12153 }
12154
12155 /*-
12156  * from P projective Edwards to Q projective legacy: Q=P OK
12157  * Autogenerated: op3/edwards2legacy_gost.op3
12158  * https://tools.ietf.org/html/rfc7836#section-5.2
12159  */
12160 static void point_edwards2legacy(pt_prj_t *Q, const pt_prj_t *P) {
12161     /* temporary variables */
12162     fe_t t0;
12163     /* constants */
12164     const limb_t *S = const_S;
12165     const limb_t *T = const_T;
12166     const limb_t *X1 = P->X;
12167     const limb_t *Y1 = P->Y;
12168     const limb_t *Z1 = P->Z;
12169     limb_t *X3 = Q->X;
12170     limb_t *Y3 = Q->Y;
12171     limb_t *T3 = Q->T;
12172     limb_t *Z3 = Q->Z;
12173
12174     /* the curve arith formula */
12175     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(T3, Z1, Y1);
12176     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t0, Z1, Y1);
12177     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, S, T3);
12178     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, Z1, T3);
12179     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Z3, X1, t0);
12180     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t0, t0, T);
12181     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(t0, T3, t0);
12182     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, X1, t0);
12183 }
12184
12185 /*-
12186  * from P affine legacy to Q projective Edwards: Q=P not OK
12187  * Autogenerated: op3/legacy2edwards_gost.op3
12188  * https://tools.ietf.org/html/rfc7836#section-5.2
12189  */
12190 static void point_legacy2edwards(pt_prj_t *Q, const pt_aff_t *P) {
12191     /* constants */
12192     const limb_t *S = const_S;
12193     const limb_t *T = const_T;
12194     const limb_t *X1 = P->X;
12195     const limb_t *Y1 = P->Y;
12196     limb_t *X3 = Q->X;
12197     limb_t *Y3 = Q->Y;
12198     limb_t *T3 = Q->T;
12199     limb_t *Z3 = Q->Z;
12200
12201     /* the curve arith formula */
12202     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(T3, X1, T);
12203     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(Y3, T3, S);
12204     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, T3, Y3);
12205     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Z3, Y1, Y3);
12206     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(T3, T3, S);
12207     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, Y1, T3);
12208     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, X3, Y3);
12209     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, X3, Z3);
12210     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, Y3, Z3);
12211     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(Z3, Z3);
12212 }
12213
12214 /* constants */
12215 #define RADIX 5
12216 #define DRADIX (1 << RADIX)
12217 #define DRADIX_WNAF ((DRADIX) << 1)
12218
12219 /*-
12220  * precomp for wnaf scalar multiplication:
12221  * precomp[0] = 1P
12222  * precomp[1] = 3P
12223  * precomp[2] = 5P
12224  * precomp[3] = 7P
12225  * precomp[4] = 9P
12226  * ...
12227  */
12228 static void precomp_wnaf(pt_prj_t precomp[DRADIX / 2], const pt_aff_t *P) {
12229     int i;
12230
12231     /* move from legacy affine to Edwards projective */
12232     point_legacy2edwards(&precomp[0], P);
12233     point_double(&precomp[DRADIX / 2 - 1], &precomp[0]);
12234
12235     for (i = 1; i < DRADIX / 2; i++)
12236         point_add_proj(&precomp[i], &precomp[DRADIX / 2 - 1], &precomp[i - 1]);
12237 }
12238
12239 /* fetch a scalar bit */
12240 static int scalar_get_bit(const unsigned char in[64], int idx) {
12241     int widx, rshift;
12242
12243     widx = idx >> 3;
12244     rshift = idx & 0x7;
12245
12246     if (idx < 0 || widx >= 64) return 0;
12247
12248     return (in[widx] >> rshift) & 0x1;
12249 }
12250
12251 /*-
12252  * Compute "regular" wnaf representation of a scalar.
12253  * See "Exponent Recoding and Regular Exponentiation Algorithms",
12254  * Tunstall et al., AfricaCrypt 2009, Alg 6.
12255  * It forces an odd scalar and outputs digits in
12256  * {\pm 1, \pm 3, \pm 5, \pm 7, \pm 9, ...}
12257  * i.e. signed odd digits with _no zeroes_ -- that makes it "regular".
12258  */
12259 static void scalar_rwnaf(int8_t out[103], const unsigned char in[64]) {
12260     int i;
12261     int8_t window, d;
12262
12263     window = (in[0] & (DRADIX_WNAF - 1)) | 1;
12264     for (i = 0; i < 102; i++) {
12265         d = (window & (DRADIX_WNAF - 1)) - DRADIX;
12266         out[i] = d;
12267         window = (window - d) >> RADIX;
12268         window += scalar_get_bit(in, (i + 1) * RADIX + 1) << 1;
12269         window += scalar_get_bit(in, (i + 1) * RADIX + 2) << 2;
12270         window += scalar_get_bit(in, (i + 1) * RADIX + 3) << 3;
12271         window += scalar_get_bit(in, (i + 1) * RADIX + 4) << 4;
12272         window += scalar_get_bit(in, (i + 1) * RADIX + 5) << 5;
12273     }
12274     out[i] = window;
12275 }
12276
12277 /*-
12278  * Compute "textbook" wnaf representation of a scalar.
12279  * NB: not constant time
12280  */
12281 static void scalar_wnaf(int8_t out[513], const unsigned char in[64]) {
12282     int i;
12283     int8_t window, d;
12284
12285     window = in[0] & (DRADIX_WNAF - 1);
12286     for (i = 0; i < 513; i++) {
12287         d = 0;
12288         if ((window & 1) && ((d = window & (DRADIX_WNAF - 1)) & DRADIX))
12289             d -= DRADIX_WNAF;
12290         out[i] = d;
12291         window = (window - d) >> 1;
12292         window += scalar_get_bit(in, i + 1 + RADIX) << RADIX;
12293     }
12294 }
12295
12296 /*-
12297  * Simultaneous scalar multiplication: interleaved "textbook" wnaf.
12298  * NB: not constant time
12299  */
12300 static void var_smul_wnaf_two(pt_aff_t *out, const unsigned char a[64],
12301                               const unsigned char b[64], const pt_aff_t *P) {
12302     int i, d, is_neg, is_inf = 1, flipped = 0;
12303     int8_t anaf[513] = {0};
12304     int8_t bnaf[513] = {0};
12305     pt_prj_t Q = {0};
12306     pt_prj_t precomp[DRADIX / 2];
12307
12308     precomp_wnaf(precomp, P);
12309     scalar_wnaf(anaf, a);
12310     scalar_wnaf(bnaf, b);
12311
12312     for (i = 512; i >= 0; i--) {
12313         if (!is_inf) point_double(&Q, &Q);
12314         if ((d = bnaf[i])) {
12315             if ((is_neg = d < 0) != flipped) {
12316                 fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.X, Q.X);
12317                 fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.T, Q.T);
12318                 flipped ^= 1;
12319             }
12320             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
12321             if (is_inf) {
12322                 /* initialize accumulator */
12323                 fe_copy(Q.X, &precomp[d].X);
12324                 fe_copy(Q.Y, &precomp[d].Y);
12325                 fe_copy(Q.T, &precomp[d].T);
12326                 fe_copy(Q.Z, &precomp[d].Z);
12327                 is_inf = 0;
12328             } else
12329                 point_add_proj(&Q, &Q, &precomp[d]);
12330         }
12331         if ((d = anaf[i])) {
12332             if ((is_neg = d < 0) != flipped) {
12333                 fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.X, Q.X);
12334                 fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.T, Q.T);
12335                 flipped ^= 1;
12336             }
12337             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
12338             if (is_inf) {
12339                 /* initialize accumulator */
12340                 fe_copy(Q.X, &lut_cmb[0][d].X);
12341                 fe_copy(Q.Y, &lut_cmb[0][d].Y);
12342                 fe_copy(Q.T, &lut_cmb[0][d].T);
12343                 fe_copy(Q.Z, const_one);
12344                 is_inf = 0;
12345             } else
12346                 point_add_mixed(&Q, &Q, &lut_cmb[0][d]);
12347         }
12348     }
12349
12350     if (is_inf) {
12351         /* initialize accumulator to inf: all-zero scalars */
12352         fe_set_zero(Q.X);
12353         fe_copy(Q.Y, const_one);
12354         fe_set_zero(Q.T);
12355         fe_copy(Q.Z, const_one);
12356     }
12357
12358     if (flipped) {
12359         /* correct sign */
12360         fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.X, Q.X);
12361         fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.T, Q.T);
12362     }
12363
12364     /* move from Edwards projective to legacy projective */
12365     point_edwards2legacy(&Q, &Q);
12366     /* convert to affine -- NB depends on coordinate system */
12367     fiat_id_tc26_gost_3410_2012_512_paramSetC_inv(Q.Z, Q.Z);
12368     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->X, Q.X, Q.Z);
12369     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->Y, Q.Y, Q.Z);
12370 }
12371
12372 /*-
12373  * Variable point scalar multiplication with "regular" wnaf.
12374  */
12375 static void var_smul_rwnaf(pt_aff_t *out, const unsigned char scalar[64],
12376                            const pt_aff_t *P) {
12377     int i, j, d, diff, is_neg;
12378     int8_t rnaf[103] = {0};
12379     pt_prj_t Q = {0}, lut = {0};
12380     pt_prj_t precomp[DRADIX / 2];
12381
12382     precomp_wnaf(precomp, P);
12383     scalar_rwnaf(rnaf, scalar);
12384
12385 #if defined(_MSC_VER)
12386     /* result still unsigned: yes we know */
12387 #pragma warning(push)
12388 #pragma warning(disable : 4146)
12389 #endif
12390
12391     /* initialize accumulator to high digit */
12392     d = (rnaf[102] - 1) >> 1;
12393     for (j = 0; j < DRADIX / 2; j++) {
12394         diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
12395         fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.X, diff, Q.X,
12396                                                             precomp[j].X);
12397         fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Y, diff, Q.Y,
12398                                                             precomp[j].Y);
12399         fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.T, diff, Q.T,
12400                                                             precomp[j].T);
12401         fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Z, diff, Q.Z,
12402                                                             precomp[j].Z);
12403     }
12404
12405     for (i = 101; i >= 0; i--) {
12406         for (j = 0; j < RADIX; j++) point_double(&Q, &Q);
12407         d = rnaf[i];
12408         /* is_neg = (d < 0) ? 1 : 0 */
12409         is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
12410         /* d = abs(d) */
12411         d = (d ^ -is_neg) + is_neg;
12412         d = (d - 1) >> 1;
12413         for (j = 0; j < DRADIX / 2; j++) {
12414             diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
12415             fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
12416                 lut.X, diff, lut.X, precomp[j].X);
12417             fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
12418                 lut.Y, diff, lut.Y, precomp[j].Y);
12419             fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
12420                 lut.T, diff, lut.T, precomp[j].T);
12421             fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
12422                 lut.Z, diff, lut.Z, precomp[j].Z);
12423         }
12424         /* negate lut point if digit is negative */
12425         fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(out->X, lut.X);
12426         fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(out->T, lut.T);
12427         fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(lut.X, is_neg,
12428                                                             lut.X, out->X);
12429         fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(lut.T, is_neg,
12430                                                             lut.T, out->T);
12431         point_add_proj(&Q, &Q, &lut);
12432     }
12433
12434 #if defined(_MSC_VER)
12435 #pragma warning(pop)
12436 #endif
12437
12438     /* conditionally subtract P if the scalar was even */
12439     fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(lut.X, precomp[0].X);
12440     fe_copy(lut.Y, precomp[0].Y);
12441     fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(lut.T, precomp[0].T);
12442     fe_copy(lut.Z, precomp[0].Z);
12443     point_add_proj(&lut, &lut, &Q);
12444     fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.X, scalar[0] & 1,
12445                                                         lut.X, Q.X);
12446     fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Y, scalar[0] & 1,
12447                                                         lut.Y, Q.Y);
12448     fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.T, scalar[0] & 1,
12449                                                         lut.T, Q.T);
12450     fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Z, scalar[0] & 1,
12451                                                         lut.Z, Q.Z);
12452
12453     point_double(&Q, &Q);
12454     point_double(&Q, &Q);
12455
12456     /* move from Edwards projective to legacy projective */
12457     point_edwards2legacy(&Q, &Q);
12458     /* convert to affine -- NB depends on coordinate system */
12459     fiat_id_tc26_gost_3410_2012_512_paramSetC_inv(Q.Z, Q.Z);
12460     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->X, Q.X, Q.Z);
12461     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->Y, Q.Y, Q.Z);
12462 }
12463
12464 /*-
12465  * Fixed scalar multiplication: comb with interleaving.
12466  */
12467 static void fixed_smul_cmb(pt_aff_t *out, const unsigned char scalar[64]) {
12468     int i, j, k, d, diff, is_neg = 0;
12469     int8_t rnaf[103] = {0};
12470     pt_prj_t Q = {0}, R = {0};
12471     pt_aff_t lut = {0};
12472
12473     scalar_rwnaf(rnaf, scalar);
12474
12475     /* initalize accumulator to inf */
12476     fe_set_zero(Q.X);
12477     fe_copy(Q.Y, const_one);
12478     fe_set_zero(Q.T);
12479     fe_copy(Q.Z, const_one);
12480
12481 #if defined(_MSC_VER)
12482     /* result still unsigned: yes we know */
12483 #pragma warning(push)
12484 #pragma warning(disable : 4146)
12485 #endif
12486
12487     for (i = 17; i >= 0; i--) {
12488         for (j = 0; i != 17 && j < RADIX; j++) point_double(&Q, &Q);
12489         for (j = 0; j < 7; j++) {
12490             if (j * 18 + i > 102) continue;
12491             d = rnaf[j * 18 + i];
12492             /* is_neg = (d < 0) ? 1 : 0 */
12493             is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
12494             /* d = abs(d) */
12495             d = (d ^ -is_neg) + is_neg;
12496             d = (d - 1) >> 1;
12497             for (k = 0; k < DRADIX / 2; k++) {
12498                 diff = (1 - (-(d ^ k) >> (8 * sizeof(int) - 1))) & 1;
12499                 fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
12500                     lut.X, diff, lut.X, lut_cmb[j][k].X);
12501                 fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
12502                     lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
12503                 fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
12504                     lut.T, diff, lut.T, lut_cmb[j][k].T);
12505             }
12506             /* negate lut point if digit is negative */
12507             fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(out->X, lut.X);
12508             fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(out->T, lut.T);
12509             fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(lut.X, is_neg,
12510                                                                 lut.X, out->X);
12511             fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(lut.T, is_neg,
12512                                                                 lut.T, out->T);
12513             point_add_mixed(&Q, &Q, &lut);
12514         }
12515     }
12516
12517 #if defined(_MSC_VER)
12518 #pragma warning(pop)
12519 #endif
12520
12521     /* conditionally subtract P if the scalar was even */
12522     fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(lut.X, lut_cmb[0][0].X);
12523     fe_copy(lut.Y, lut_cmb[0][0].Y);
12524     fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(lut.T, lut_cmb[0][0].T);
12525     point_add_mixed(&R, &Q, &lut);
12526     fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.X, scalar[0] & 1, R.X,
12527                                                         Q.X);
12528     fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Y, scalar[0] & 1, R.Y,
12529                                                         Q.Y);
12530     fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.T, scalar[0] & 1, R.T,
12531                                                         Q.T);
12532     fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Z, scalar[0] & 1, R.Z,
12533                                                         Q.Z);
12534
12535     /* move from Edwards projective to legacy projective */
12536     point_edwards2legacy(&Q, &Q);
12537     /* convert to affine -- NB depends on coordinate system */
12538     fiat_id_tc26_gost_3410_2012_512_paramSetC_inv(Q.Z, Q.Z);
12539     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->X, Q.X, Q.Z);
12540     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->Y, Q.Y, Q.Z);
12541 }
12542
12543 /*-
12544  * Wrapper: simultaneous scalar mutiplication.
12545  * outx, outy := a * G + b * P
12546  * where P = (inx, iny).
12547  * Everything is LE byte ordering.
12548  */
12549 static void point_mul_two(unsigned char outx[64], unsigned char outy[64],
12550                           const unsigned char a[64], const unsigned char b[64],
12551                           const unsigned char inx[64],
12552                           const unsigned char iny[64]) {
12553     pt_aff_t P;
12554
12555     fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes(P.X, inx);
12556     fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes(P.Y, iny);
12557     /* simultaneous scalar multiplication */
12558     var_smul_wnaf_two(&P, a, b, &P);
12559
12560     fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outx, P.X);
12561     fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outy, P.Y);
12562 }
12563
12564 /*-
12565  * Wrapper: fixed scalar mutiplication.
12566  * outx, outy := scalar * G
12567  * Everything is LE byte ordering.
12568  */
12569 static void point_mul_g(unsigned char outx[64], unsigned char outy[64],
12570                         const unsigned char scalar[64]) {
12571     pt_aff_t P;
12572
12573     /* fixed scmul function */
12574     fixed_smul_cmb(&P, scalar);
12575     fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outx, P.X);
12576     fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outy, P.Y);
12577 }
12578
12579 /*-
12580  * Wrapper: variable point scalar mutiplication.
12581  * outx, outy := scalar * P
12582  * where P = (inx, iny).
12583  * Everything is LE byte ordering.
12584  */
12585 static void point_mul(unsigned char outx[64], unsigned char outy[64],
12586                       const unsigned char scalar[64],
12587                       const unsigned char inx[64],
12588                       const unsigned char iny[64]) {
12589     pt_aff_t P;
12590
12591     fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes(P.X, inx);
12592     fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes(P.Y, iny);
12593     /* var scmul function */
12594     var_smul_rwnaf(&P, scalar, &P);
12595     fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outx, P.X);
12596     fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outy, P.Y);
12597 }
12598
12599
12600 #include <openssl/ec.h>
12601
12602 /* the zero field element */
12603 static const unsigned char const_zb[64] = {0};
12604
12605 /*-
12606  * An OpenSSL wrapper for simultaneous scalar multiplication.
12607  * r := n * G + m * q
12608  */
12609     int
12610     point_mul_two_id_tc26_gost_3410_2012_512_paramSetC(
12611         const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, const EC_POINT *q,
12612         const BIGNUM *m, BN_CTX *ctx) {
12613     int ret = 0;
12614     unsigned char b_x[64];
12615     unsigned char b_y[64];
12616     unsigned char b_n[64];
12617     unsigned char b_m[64];
12618     BIGNUM *x = NULL, *y = NULL;
12619
12620     BN_CTX_start(ctx);
12621     x = BN_CTX_get(ctx);
12622     if ((y = BN_CTX_get(ctx)) == NULL
12623         /* pull out coords as bytes */
12624         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
12625         BN_bn2lebinpad(x, b_x, 64) != 64 || BN_bn2lebinpad(y, b_y, 64) != 64 ||
12626         BN_bn2lebinpad(n, b_n, 64) != 64 || BN_bn2lebinpad(m, b_m, 64) != 64)
12627         goto err;
12628     /* do the simultaneous scalar multiplication */
12629     point_mul_two(b_x, b_y, b_n, b_m, b_x, b_y);
12630     /* check for infinity */
12631     if (CRYPTO_memcmp(const_zb, b_x, 64) == 0 &&
12632         CRYPTO_memcmp(const_zb, b_y, 64) == 0) {
12633         if (!EC_POINT_set_to_infinity(group, r)) goto err;
12634     } else {
12635         /* otherwise, pack the bytes into the result */
12636         if (BN_lebin2bn(b_x, 64, x) == NULL ||
12637             BN_lebin2bn(b_y, 64, y) == NULL ||
12638             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
12639             goto err;
12640     }
12641     ret = 1;
12642 err:
12643     BN_CTX_end(ctx);
12644     return ret;
12645 }
12646
12647 /*-
12648  * An OpenSSL wrapper for variable point scalar multiplication.
12649  * r := m * q
12650  */
12651     int
12652     point_mul_id_tc26_gost_3410_2012_512_paramSetC(const EC_GROUP *group,
12653                                                    EC_POINT *r,
12654                                                    const EC_POINT *q,
12655                                                    const BIGNUM *m,
12656                                                    BN_CTX *ctx) {
12657     int ret = 0;
12658     unsigned char b_x[64];
12659     unsigned char b_y[64];
12660     unsigned char b_m[64];
12661     BIGNUM *x = NULL, *y = NULL;
12662
12663     BN_CTX_start(ctx);
12664     x = BN_CTX_get(ctx);
12665     if ((y = BN_CTX_get(ctx)) == NULL
12666         /* pull out coords as bytes */
12667         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
12668         BN_bn2lebinpad(x, b_x, 64) != 64 || BN_bn2lebinpad(y, b_y, 64) != 64 ||
12669         BN_bn2lebinpad(m, b_m, 64) != 64)
12670         goto err;
12671     /* do the variable scalar multiplication */
12672     point_mul(b_x, b_y, b_m, b_x, b_y);
12673     /* check for infinity */
12674     if (CRYPTO_memcmp(const_zb, b_x, 64) == 0 &&
12675         CRYPTO_memcmp(const_zb, b_y, 64) == 0) {
12676         if (!EC_POINT_set_to_infinity(group, r)) goto err;
12677     } else {
12678         /* otherwise, pack the bytes into the result */
12679         if (BN_lebin2bn(b_x, 64, x) == NULL ||
12680             BN_lebin2bn(b_y, 64, y) == NULL ||
12681             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
12682             goto err;
12683     }
12684     ret = 1;
12685 err:
12686     BN_CTX_end(ctx);
12687     return ret;
12688 }
12689
12690 /*-
12691  * An OpenSSL wrapper for fixed scalar multiplication.
12692  * r := n * G
12693  */
12694     int
12695     point_mul_g_id_tc26_gost_3410_2012_512_paramSetC(const EC_GROUP *group,
12696                                                      EC_POINT *r,
12697                                                      const BIGNUM *n,
12698                                                      BN_CTX *ctx) {
12699     int ret = 0;
12700     unsigned char b_x[64];
12701     unsigned char b_y[64];
12702     unsigned char b_n[64];
12703     BIGNUM *x = NULL, *y = NULL;
12704
12705     BN_CTX_start(ctx);
12706     x = BN_CTX_get(ctx);
12707     if ((y = BN_CTX_get(ctx)) == NULL || BN_bn2lebinpad(n, b_n, 64) != 64)
12708         goto err;
12709     /* do the fixed scalar multiplication */
12710     point_mul_g(b_x, b_y, b_n);
12711     /* check for infinity */
12712     if (CRYPTO_memcmp(const_zb, b_x, 64) == 0 &&
12713         CRYPTO_memcmp(const_zb, b_y, 64) == 0) {
12714         if (!EC_POINT_set_to_infinity(group, r)) goto err;
12715     } else {
12716         /* otherwise, pack the bytes into the result */
12717         if (BN_lebin2bn(b_x, 64, x) == NULL ||
12718             BN_lebin2bn(b_y, 64, y) == NULL ||
12719             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
12720             goto err;
12721     }
12722     ret = 1;
12723 err:
12724     BN_CTX_end(ctx);
12725     return ret;
12726 }
12727
12728
12729
12730 #endif /* __SIZEOF_INT128__ */