]> www.wagner.pp.ru Git - openssl-gost/engine.git/blob - ecp_id_tc26_gost_3410_2012_512_paramSetC.c
Update INSTALL.md
[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 #define fe_copy(d, s) memcpy(d, s, sizeof(fe_t))
36 #define fe_set_zero(d) memset(d, 0, sizeof(fe_t))
37
38 #define fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(c, a, b) \
39     fiat_id_tc26_gost_3410_2012_512_paramSetC_add(c, a, b);          \
40     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry(c, c)
41 #define fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(c, a, b) \
42     fiat_id_tc26_gost_3410_2012_512_paramSetC_sub(c, a, b);          \
43     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry(c, c)
44
45 /* Projective points */
46 typedef struct {
47     fe_t X;
48     fe_t Y;
49     fe_t T;
50     fe_t Z;
51 } pt_prj_t;
52
53 /* Affine points */
54 typedef struct {
55     fe_t X;
56     fe_t Y;
57     fe_t T;
58 } pt_aff_t;
59
60 /* BEGIN verbatim fiat code https://github.com/mit-plv/fiat-crypto */
61 /*-
62  * MIT License
63  *
64  * Copyright (c) 2020 the fiat-crypto authors (see the AUTHORS file)
65  *
66  * Permission is hereby granted, free of charge, to any person obtaining a copy
67  * of this software and associated documentation files (the "Software"), to deal
68  * in the Software without restriction, including without limitation the rights
69  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
70  * copies of the Software, and to permit persons to whom the Software is
71  * furnished to do so, subject to the following conditions:
72  *
73  * The above copyright notice and this permission notice shall be included in
74  * all copies or substantial portions of the Software.
75  *
76  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
77  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
78  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
79  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
80  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
81  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
82  * SOFTWARE.
83  */
84
85 /* Autogenerated: unsaturated_solinas --static id_tc26_gost_3410_2012_512_paramSetC 64 '(auto)' '2^512 - 569' */
86 /* curve description: id_tc26_gost_3410_2012_512_paramSetC */
87 /* machine_wordsize = 64 (from "64") */
88 /* requested operations: (all) */
89 /* n = 10 (from "(auto)") */
90 /* s-c = 2^512 - [(1, 569)] (from "2^512 - 569") */
91 /* tight_bounds_multiplier = 1.1 (from "") */
92 /*  */
93 /* Computed values: */
94 /* carry_chain = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1] */
95 /* 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) */
96 /* 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) */
97
98 #include <stdint.h>
99 typedef unsigned char fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1;
100 typedef signed char fiat_id_tc26_gost_3410_2012_512_paramSetC_int1;
101 typedef signed __int128 fiat_id_tc26_gost_3410_2012_512_paramSetC_int128;
102 typedef unsigned __int128 fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128;
103
104 #if (-1 & 3) != 3
105 #error "This code only works on a two's complement system"
106 #endif
107
108 /*
109  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u52 is an addition with carry.
110  * Postconditions:
111  *   out1 = (arg1 + arg2 + arg3) mod 2^52
112  *   out2 = ⌊(arg1 + arg2 + arg3) / 2^52⌋
113  *
114  * Input Bounds:
115  *   arg1: [0x0 ~> 0x1]
116  *   arg2: [0x0 ~> 0xfffffffffffff]
117  *   arg3: [0x0 ~> 0xfffffffffffff]
118  * Output Bounds:
119  *   out1: [0x0 ~> 0xfffffffffffff]
120  *   out2: [0x0 ~> 0x1]
121  */
122 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u52(
123     uint64_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 *out2,
124     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1, uint64_t arg2,
125     uint64_t arg3) {
126     uint64_t x1;
127     uint64_t x2;
128     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x3;
129     x1 = ((arg1 + arg2) + arg3);
130     x2 = (x1 & UINT64_C(0xfffffffffffff));
131     x3 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x1 >> 52);
132     *out1 = x2;
133     *out2 = x3;
134 }
135
136 /*
137  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u52 is a subtraction with borrow.
138  * Postconditions:
139  *   out1 = (-arg1 + arg2 + -arg3) mod 2^52
140  *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^52⌋
141  *
142  * Input Bounds:
143  *   arg1: [0x0 ~> 0x1]
144  *   arg2: [0x0 ~> 0xfffffffffffff]
145  *   arg3: [0x0 ~> 0xfffffffffffff]
146  * Output Bounds:
147  *   out1: [0x0 ~> 0xfffffffffffff]
148  *   out2: [0x0 ~> 0x1]
149  */
150 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u52(
151     uint64_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 *out2,
152     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1, uint64_t arg2,
153     uint64_t arg3) {
154     int64_t x1;
155     fiat_id_tc26_gost_3410_2012_512_paramSetC_int1 x2;
156     uint64_t x3;
157     x1 = ((int64_t)(arg2 - (int64_t)arg1) - (int64_t)arg3);
158     x2 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_int1)(x1 >> 52);
159     x3 = (x1 & UINT64_C(0xfffffffffffff));
160     *out1 = x3;
161     *out2 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(0x0 - x2);
162 }
163
164 /*
165  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u51 is an addition with carry.
166  * Postconditions:
167  *   out1 = (arg1 + arg2 + arg3) mod 2^51
168  *   out2 = ⌊(arg1 + arg2 + arg3) / 2^51⌋
169  *
170  * Input Bounds:
171  *   arg1: [0x0 ~> 0x1]
172  *   arg2: [0x0 ~> 0x7ffffffffffff]
173  *   arg3: [0x0 ~> 0x7ffffffffffff]
174  * Output Bounds:
175  *   out1: [0x0 ~> 0x7ffffffffffff]
176  *   out2: [0x0 ~> 0x1]
177  */
178 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u51(
179     uint64_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 *out2,
180     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1, uint64_t arg2,
181     uint64_t arg3) {
182     uint64_t x1;
183     uint64_t x2;
184     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x3;
185     x1 = ((arg1 + arg2) + arg3);
186     x2 = (x1 & UINT64_C(0x7ffffffffffff));
187     x3 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x1 >> 51);
188     *out1 = x2;
189     *out2 = x3;
190 }
191
192 /*
193  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u51 is a subtraction with borrow.
194  * Postconditions:
195  *   out1 = (-arg1 + arg2 + -arg3) mod 2^51
196  *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^51⌋
197  *
198  * Input Bounds:
199  *   arg1: [0x0 ~> 0x1]
200  *   arg2: [0x0 ~> 0x7ffffffffffff]
201  *   arg3: [0x0 ~> 0x7ffffffffffff]
202  * Output Bounds:
203  *   out1: [0x0 ~> 0x7ffffffffffff]
204  *   out2: [0x0 ~> 0x1]
205  */
206 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u51(
207     uint64_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 *out2,
208     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1, uint64_t arg2,
209     uint64_t arg3) {
210     int64_t x1;
211     fiat_id_tc26_gost_3410_2012_512_paramSetC_int1 x2;
212     uint64_t x3;
213     x1 = ((int64_t)(arg2 - (int64_t)arg1) - (int64_t)arg3);
214     x2 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_int1)(x1 >> 51);
215     x3 = (x1 & UINT64_C(0x7ffffffffffff));
216     *out1 = x3;
217     *out2 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(0x0 - x2);
218 }
219
220 /*
221  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64 is a single-word conditional move.
222  * Postconditions:
223  *   out1 = (if arg1 = 0 then arg2 else arg3)
224  *
225  * Input Bounds:
226  *   arg1: [0x0 ~> 0x1]
227  *   arg2: [0x0 ~> 0xffffffffffffffff]
228  *   arg3: [0x0 ~> 0xffffffffffffffff]
229  * Output Bounds:
230  *   out1: [0x0 ~> 0xffffffffffffffff]
231  */
232 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(
233     uint64_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1,
234     uint64_t arg2, uint64_t arg3) {
235     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x1;
236     uint64_t x2;
237     uint64_t x3;
238     x1 = (!(!arg1));
239     x2 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_int1)(0x0 - x1) &
240           UINT64_C(0xffffffffffffffff));
241     x3 = ((x2 & arg3) | ((~x2) & arg2));
242     *out1 = x3;
243 }
244
245 /*
246  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul multiplies two field elements and reduces the result.
247  * Postconditions:
248  *   eval out1 mod m = (eval arg1 * eval arg2) mod m
249  *
250  * Input Bounds:
251  *   arg1: [[0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]]
252  *   arg2: [[0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]]
253  * Output Bounds:
254  *   out1: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
255  */
256 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(
257     uint64_t out1[10], const uint64_t arg1[10], const uint64_t arg2[10]) {
258     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x1;
259     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x2;
260     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x3;
261     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x4;
262     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x5;
263     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x6;
264     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x7;
265     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x8;
266     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x9;
267     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x10;
268     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x11;
269     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x12;
270     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x13;
271     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x14;
272     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x15;
273     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x16;
274     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x17;
275     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x18;
276     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x19;
277     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x20;
278     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x21;
279     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x22;
280     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x23;
281     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x24;
282     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x25;
283     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x26;
284     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x27;
285     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x28;
286     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x29;
287     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x30;
288     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x31;
289     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x32;
290     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x33;
291     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x34;
292     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x35;
293     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x36;
294     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x37;
295     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x38;
296     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x39;
297     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x40;
298     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x41;
299     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x42;
300     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x43;
301     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x44;
302     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x45;
303     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x46;
304     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x47;
305     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x48;
306     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x49;
307     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x50;
308     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x51;
309     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x52;
310     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x53;
311     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x54;
312     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x55;
313     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x56;
314     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x57;
315     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x58;
316     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x59;
317     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x60;
318     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x61;
319     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x62;
320     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x63;
321     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x64;
322     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x65;
323     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x66;
324     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x67;
325     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x68;
326     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x69;
327     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x70;
328     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x71;
329     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x72;
330     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x73;
331     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x74;
332     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x75;
333     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x76;
334     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x77;
335     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x78;
336     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x79;
337     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x80;
338     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x81;
339     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x82;
340     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x83;
341     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x84;
342     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x85;
343     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x86;
344     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x87;
345     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x88;
346     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x89;
347     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x90;
348     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x91;
349     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x92;
350     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x93;
351     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x94;
352     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x95;
353     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x96;
354     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x97;
355     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x98;
356     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x99;
357     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x100;
358     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x101;
359     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x102;
360     uint64_t x103;
361     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x104;
362     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x105;
363     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x106;
364     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x107;
365     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x108;
366     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x109;
367     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x110;
368     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x111;
369     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x112;
370     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x113;
371     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x114;
372     uint64_t x115;
373     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x116;
374     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x117;
375     uint64_t x118;
376     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x119;
377     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x120;
378     uint64_t x121;
379     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x122;
380     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x123;
381     uint64_t x124;
382     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x125;
383     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x126;
384     uint64_t x127;
385     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x128;
386     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x129;
387     uint64_t x130;
388     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x131;
389     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x132;
390     uint64_t x133;
391     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x134;
392     uint64_t x135;
393     uint64_t x136;
394     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x137;
395     uint64_t x138;
396     uint64_t x139;
397     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x140;
398     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x141;
399     uint64_t x142;
400     uint64_t x143;
401     uint64_t x144;
402     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x145;
403     uint64_t x146;
404     uint64_t x147;
405     x1 = (UINT16_C(0x239) *
406           ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[9]) *
407            (arg2[9])));
408     x2 = (UINT16_C(0x239) *
409           ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[9]) *
410            (arg2[8])));
411     x3 = (UINT16_C(0x239) *
412           ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[9]) *
413            (arg2[7])));
414     x4 = (UINT16_C(0x239) *
415           (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[9]) *
416             (arg2[6])) *
417            0x2));
418     x5 = (UINT16_C(0x239) *
419           ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[9]) *
420            (arg2[5])));
421     x6 = (UINT16_C(0x239) *
422           ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[9]) *
423            (arg2[4])));
424     x7 = (UINT16_C(0x239) *
425           ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[9]) *
426            (arg2[3])));
427     x8 = (UINT16_C(0x239) *
428           ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[9]) *
429            (arg2[2])));
430     x9 = (UINT16_C(0x239) *
431           (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[9]) *
432             (arg2[1])) *
433            0x2));
434     x10 = (UINT16_C(0x239) *
435            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) *
436             (arg2[9])));
437     x11 = (UINT16_C(0x239) *
438            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) *
439             (arg2[8])));
440     x12 = (UINT16_C(0x239) *
441            (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) *
442              (arg2[7])) *
443             0x2));
444     x13 = (UINT16_C(0x239) *
445            (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) *
446              (arg2[6])) *
447             0x2));
448     x14 = (UINT16_C(0x239) *
449            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) *
450             (arg2[5])));
451     x15 = (UINT16_C(0x239) *
452            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) *
453             (arg2[4])));
454     x16 = (UINT16_C(0x239) *
455            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) *
456             (arg2[3])));
457     x17 = (UINT16_C(0x239) *
458            (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) *
459              (arg2[2])) *
460             0x2));
461     x18 = (UINT16_C(0x239) *
462            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
463             (arg2[9])));
464     x19 = (UINT16_C(0x239) *
465            (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
466              (arg2[8])) *
467             0x2));
468     x20 = (UINT16_C(0x239) *
469            (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
470              (arg2[7])) *
471             0x2));
472     x21 = (UINT16_C(0x239) *
473            (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
474              (arg2[6])) *
475             0x2));
476     x22 = (UINT16_C(0x239) *
477            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
478             (arg2[5])));
479     x23 = (UINT16_C(0x239) *
480            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
481             (arg2[4])));
482     x24 = (UINT16_C(0x239) *
483            (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
484              (arg2[3])) *
485             0x2));
486     x25 = (UINT16_C(0x239) *
487            (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
488              (arg2[9])) *
489             0x2));
490     x26 = (UINT16_C(0x239) *
491            (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
492              (arg2[8])) *
493             0x2));
494     x27 = (UINT16_C(0x239) *
495            (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
496              (arg2[7])) *
497             0x2));
498     x28 = (UINT16_C(0x239) *
499            (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
500              (arg2[6])) *
501             0x2));
502     x29 = (UINT16_C(0x239) *
503            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
504             (arg2[5])));
505     x30 = (UINT16_C(0x239) *
506            (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
507              (arg2[4])) *
508             0x2));
509     x31 = (UINT16_C(0x239) *
510            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) *
511             (arg2[9])));
512     x32 = (UINT16_C(0x239) *
513            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) *
514             (arg2[8])));
515     x33 = (UINT16_C(0x239) *
516            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) *
517             (arg2[7])));
518     x34 = (UINT16_C(0x239) *
519            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) *
520             (arg2[6])));
521     x35 = (UINT16_C(0x239) *
522            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) *
523             (arg2[5])));
524     x36 = (UINT16_C(0x239) *
525            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
526             (arg2[9])));
527     x37 = (UINT16_C(0x239) *
528            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
529             (arg2[8])));
530     x38 = (UINT16_C(0x239) *
531            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
532             (arg2[7])));
533     x39 = (UINT16_C(0x239) *
534            (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
535              (arg2[6])) *
536             0x2));
537     x40 = (UINT16_C(0x239) *
538            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
539             (arg2[9])));
540     x41 = (UINT16_C(0x239) *
541            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
542             (arg2[8])));
543     x42 = (UINT16_C(0x239) *
544            (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
545              (arg2[7])) *
546             0x2));
547     x43 = (UINT16_C(0x239) *
548            ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
549             (arg2[9])));
550     x44 = (UINT16_C(0x239) *
551            (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
552              (arg2[8])) *
553             0x2));
554     x45 = (UINT16_C(0x239) *
555            (((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
556              (arg2[9])) *
557             0x2));
558     x46 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[9]) *
559            (arg2[0]));
560     x47 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) *
561            ((arg2[1]) * 0x2));
562     x48 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) *
563            (arg2[0]));
564     x49 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
565            ((arg2[2]) * 0x2));
566     x50 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
567            ((arg2[1]) * 0x2));
568     x51 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
569            (arg2[0]));
570     x52 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
571            ((arg2[3]) * 0x2));
572     x53 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
573            ((arg2[2]) * 0x2));
574     x54 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
575            ((arg2[1]) * 0x2));
576     x55 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
577            (arg2[0]));
578     x56 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) *
579            (arg2[4]));
580     x57 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) *
581            (arg2[3]));
582     x58 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) *
583            (arg2[2]));
584     x59 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) *
585            (arg2[1]));
586     x60 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) *
587            (arg2[0]));
588     x61 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
589            (arg2[5]));
590     x62 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
591            (arg2[4]));
592     x63 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
593            (arg2[3]));
594     x64 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
595            (arg2[2]));
596     x65 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
597            ((arg2[1]) * 0x2));
598     x66 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
599            (arg2[0]));
600     x67 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
601            ((arg2[6]) * 0x2));
602     x68 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
603            (arg2[5]));
604     x69 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
605            (arg2[4]));
606     x70 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
607            (arg2[3]));
608     x71 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
609            ((arg2[2]) * 0x2));
610     x72 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
611            ((arg2[1]) * 0x2));
612     x73 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
613            (arg2[0]));
614     x74 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
615            ((arg2[7]) * 0x2));
616     x75 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
617            ((arg2[6]) * 0x2));
618     x76 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
619            (arg2[5]));
620     x77 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
621            (arg2[4]));
622     x78 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
623            ((arg2[3]) * 0x2));
624     x79 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
625            ((arg2[2]) * 0x2));
626     x80 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
627            ((arg2[1]) * 0x2));
628     x81 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
629            (arg2[0]));
630     x82 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
631            ((arg2[8]) * 0x2));
632     x83 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
633            ((arg2[7]) * 0x2));
634     x84 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
635            ((arg2[6]) * 0x2));
636     x85 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
637            (arg2[5]));
638     x86 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
639            ((arg2[4]) * 0x2));
640     x87 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
641            ((arg2[3]) * 0x2));
642     x88 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
643            ((arg2[2]) * 0x2));
644     x89 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
645            ((arg2[1]) * 0x2));
646     x90 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
647            (arg2[0]));
648     x91 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) *
649            (arg2[9]));
650     x92 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) *
651            (arg2[8]));
652     x93 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) *
653            (arg2[7]));
654     x94 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) *
655            (arg2[6]));
656     x95 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) *
657            (arg2[5]));
658     x96 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) *
659            (arg2[4]));
660     x97 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) *
661            (arg2[3]));
662     x98 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) *
663            (arg2[2]));
664     x99 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) *
665            (arg2[1]));
666     x100 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) *
667             (arg2[0]));
668     x101 = (x100 +
669             (x45 + (x44 + (x42 + (x39 + (x35 + (x30 + (x24 + (x17 + x9)))))))));
670     x102 = (x101 >> 52);
671     x103 = (uint64_t)(x101 & UINT64_C(0xfffffffffffff));
672     x104 =
673         (x91 +
674          (x82 + (x74 + (x67 + (x61 + (x56 + (x52 + (x49 + (x47 + x46)))))))));
675     x105 = (x92 +
676             (x83 + (x75 + (x68 + (x62 + (x57 + (x53 + (x50 + (x48 + x1)))))))));
677     x106 = (x93 +
678             (x84 + (x76 + (x69 + (x63 + (x58 + (x54 + (x51 + (x10 + x2)))))))));
679     x107 = (x94 +
680             (x85 + (x77 + (x70 + (x64 + (x59 + (x55 + (x18 + (x11 + x3)))))))));
681     x108 = (x95 +
682             (x86 + (x78 + (x71 + (x65 + (x60 + (x25 + (x19 + (x12 + x4)))))))));
683     x109 = (x96 +
684             (x87 + (x79 + (x72 + (x66 + (x31 + (x26 + (x20 + (x13 + x5)))))))));
685     x110 = (x97 +
686             (x88 + (x80 + (x73 + (x36 + (x32 + (x27 + (x21 + (x14 + x6)))))))));
687     x111 = (x98 +
688             (x89 + (x81 + (x40 + (x37 + (x33 + (x28 + (x22 + (x15 + x7)))))))));
689     x112 = (x99 +
690             (x90 + (x43 + (x41 + (x38 + (x34 + (x29 + (x23 + (x16 + x8)))))))));
691     x113 = (x102 + x112);
692     x114 = (x113 >> 51);
693     x115 = (uint64_t)(x113 & UINT64_C(0x7ffffffffffff));
694     x116 = (x114 + x111);
695     x117 = (x116 >> 51);
696     x118 = (uint64_t)(x116 & UINT64_C(0x7ffffffffffff));
697     x119 = (x117 + x110);
698     x120 = (x119 >> 51);
699     x121 = (uint64_t)(x119 & UINT64_C(0x7ffffffffffff));
700     x122 = (x120 + x109);
701     x123 = (x122 >> 51);
702     x124 = (uint64_t)(x122 & UINT64_C(0x7ffffffffffff));
703     x125 = (x123 + x108);
704     x126 = (x125 >> 52);
705     x127 = (uint64_t)(x125 & UINT64_C(0xfffffffffffff));
706     x128 = (x126 + x107);
707     x129 = (x128 >> 51);
708     x130 = (uint64_t)(x128 & UINT64_C(0x7ffffffffffff));
709     x131 = (x129 + x106);
710     x132 = (x131 >> 51);
711     x133 = (uint64_t)(x131 & UINT64_C(0x7ffffffffffff));
712     x134 = (x132 + x105);
713     x135 = (uint64_t)(x134 >> 51);
714     x136 = (uint64_t)(x134 & UINT64_C(0x7ffffffffffff));
715     x137 = (x135 + x104);
716     x138 = (uint64_t)(x137 >> 51);
717     x139 = (uint64_t)(x137 & UINT64_C(0x7ffffffffffff));
718     x140 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)UINT16_C(0x239) *
719             x138);
720     x141 = (x103 + x140);
721     x142 = (uint64_t)(x141 >> 52);
722     x143 = (uint64_t)(x141 & UINT64_C(0xfffffffffffff));
723     x144 = (x142 + x115);
724     x145 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x144 >> 51);
725     x146 = (x144 & UINT64_C(0x7ffffffffffff));
726     x147 = (x145 + x118);
727     out1[0] = x143;
728     out1[1] = x146;
729     out1[2] = x147;
730     out1[3] = x121;
731     out1[4] = x124;
732     out1[5] = x127;
733     out1[6] = x130;
734     out1[7] = x133;
735     out1[8] = x136;
736     out1[9] = x139;
737 }
738
739 /*
740  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square squares a field element and reduces the result.
741  * Postconditions:
742  *   eval out1 mod m = (eval arg1 * eval arg1) mod m
743  *
744  * Input Bounds:
745  *   arg1: [[0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]]
746  * Output Bounds:
747  *   out1: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
748  */
749 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(
750     uint64_t out1[10], const uint64_t arg1[10]) {
751     uint64_t x1;
752     uint64_t x2;
753     uint64_t x3;
754     uint64_t x4;
755     uint64_t x5;
756     uint64_t x6;
757     uint64_t x7;
758     uint64_t x8;
759     uint64_t x9;
760     uint64_t x10;
761     uint64_t x11;
762     uint64_t x12;
763     uint64_t x13;
764     uint64_t x14;
765     uint64_t x15;
766     uint64_t x16;
767     uint64_t x17;
768     uint64_t x18;
769     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x19;
770     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x20;
771     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x21;
772     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x22;
773     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x23;
774     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x24;
775     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x25;
776     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x26;
777     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x27;
778     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x28;
779     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x29;
780     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x30;
781     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x31;
782     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x32;
783     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x33;
784     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x34;
785     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x35;
786     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x36;
787     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x37;
788     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x38;
789     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x39;
790     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x40;
791     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x41;
792     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x42;
793     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x43;
794     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x44;
795     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x45;
796     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x46;
797     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x47;
798     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x48;
799     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x49;
800     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x50;
801     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x51;
802     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x52;
803     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x53;
804     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x54;
805     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x55;
806     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x56;
807     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x57;
808     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x58;
809     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x59;
810     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x60;
811     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x61;
812     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x62;
813     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x63;
814     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x64;
815     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x65;
816     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x66;
817     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x67;
818     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x68;
819     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x69;
820     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x70;
821     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x71;
822     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x72;
823     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x73;
824     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x74;
825     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x75;
826     uint64_t x76;
827     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x77;
828     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x78;
829     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x79;
830     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x80;
831     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x81;
832     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x82;
833     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x83;
834     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x84;
835     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x85;
836     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x86;
837     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x87;
838     uint64_t x88;
839     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x89;
840     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x90;
841     uint64_t x91;
842     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x92;
843     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x93;
844     uint64_t x94;
845     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x95;
846     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x96;
847     uint64_t x97;
848     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x98;
849     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x99;
850     uint64_t x100;
851     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x101;
852     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x102;
853     uint64_t x103;
854     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x104;
855     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x105;
856     uint64_t x106;
857     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x107;
858     uint64_t x108;
859     uint64_t x109;
860     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x110;
861     uint64_t x111;
862     uint64_t x112;
863     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x113;
864     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128 x114;
865     uint64_t x115;
866     uint64_t x116;
867     uint64_t x117;
868     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x118;
869     uint64_t x119;
870     uint64_t x120;
871     x1 = ((arg1[9]) * UINT16_C(0x239));
872     x2 = (x1 * 0x2);
873     x3 = ((arg1[9]) * 0x2);
874     x4 = ((arg1[8]) * UINT16_C(0x239));
875     x5 = (x4 * 0x2);
876     x6 = ((arg1[8]) * 0x2);
877     x7 = ((arg1[7]) * UINT16_C(0x239));
878     x8 = (x7 * 0x2);
879     x9 = ((arg1[7]) * 0x2);
880     x10 = ((arg1[6]) * UINT16_C(0x239));
881     x11 = (x10 * 0x2);
882     x12 = ((arg1[6]) * 0x2);
883     x13 = ((arg1[5]) * UINT16_C(0x239));
884     x14 = ((arg1[5]) * 0x2);
885     x15 = ((arg1[4]) * 0x2);
886     x16 = ((arg1[3]) * 0x2);
887     x17 = ((arg1[2]) * 0x2);
888     x18 = ((arg1[1]) * 0x2);
889     x19 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[9]) * x1);
890     x20 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) * x2);
891     x21 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[8]) * x4);
892     x22 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) * x2);
893     x23 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
894            (x5 * 0x2));
895     x24 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[7]) *
896            (x7 * 0x2));
897     x25 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
898            (x2 * 0x2));
899     x26 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
900            (x5 * 0x2));
901     x27 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
902            (x8 * 0x2));
903     x28 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[6]) *
904            (x10 * 0x2));
905     x29 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) * x2);
906     x30 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) * x5);
907     x31 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) * x8);
908     x32 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) * x11);
909     x33 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[5]) * x13);
910     x34 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) * x2);
911     x35 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) * x5);
912     x36 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) * x8);
913     x37 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
914            (x11 * 0x2));
915     x38 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) * x14);
916     x39 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[4]) *
917            (arg1[4]));
918     x40 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) * x2);
919     x41 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) * x5);
920     x42 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
921            (x8 * 0x2));
922     x43 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
923            (x12 * 0x2));
924     x44 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) * x14);
925     x45 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) * x15);
926     x46 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[3]) *
927            (arg1[3]));
928     x47 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) * x2);
929     x48 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
930            (x5 * 0x2));
931     x49 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
932            (x9 * 0x2));
933     x50 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
934            (x12 * 0x2));
935     x51 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) * x14);
936     x52 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) * x15);
937     x53 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
938            (x16 * 0x2));
939     x54 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[2]) *
940            ((arg1[2]) * 0x2));
941     x55 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
942            (x2 * 0x2));
943     x56 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
944            (x6 * 0x2));
945     x57 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
946            (x9 * 0x2));
947     x58 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
948            (x12 * 0x2));
949     x59 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) * x14);
950     x60 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
951            (x15 * 0x2));
952     x61 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
953            (x16 * 0x2));
954     x62 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
955            (x17 * 0x2));
956     x63 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[1]) *
957            ((arg1[1]) * 0x2));
958     x64 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) * x3);
959     x65 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) * x6);
960     x66 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) * x9);
961     x67 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) * x12);
962     x68 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) * x14);
963     x69 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) * x15);
964     x70 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) * x16);
965     x71 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) * x17);
966     x72 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) * x18);
967     x73 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)(arg1[0]) *
968            (arg1[0]));
969     x74 = (x73 + (x55 + (x48 + (x42 + (x37 + x33)))));
970     x75 = (x74 >> 52);
971     x76 = (uint64_t)(x74 & UINT64_C(0xfffffffffffff));
972     x77 = (x64 + (x56 + (x49 + (x43 + x38))));
973     x78 = (x65 + (x57 + (x50 + (x44 + (x39 + x19)))));
974     x79 = (x66 + (x58 + (x51 + (x45 + x20))));
975     x80 = (x67 + (x59 + (x52 + (x46 + (x22 + x21)))));
976     x81 = (x68 + (x60 + (x53 + (x25 + x23))));
977     x82 = (x69 + (x61 + (x54 + (x29 + (x26 + x24)))));
978     x83 = (x70 + (x62 + (x34 + (x30 + x27))));
979     x84 = (x71 + (x63 + (x40 + (x35 + (x31 + x28)))));
980     x85 = (x72 + (x47 + (x41 + (x36 + x32))));
981     x86 = (x75 + x85);
982     x87 = (x86 >> 51);
983     x88 = (uint64_t)(x86 & UINT64_C(0x7ffffffffffff));
984     x89 = (x87 + x84);
985     x90 = (x89 >> 51);
986     x91 = (uint64_t)(x89 & UINT64_C(0x7ffffffffffff));
987     x92 = (x90 + x83);
988     x93 = (x92 >> 51);
989     x94 = (uint64_t)(x92 & UINT64_C(0x7ffffffffffff));
990     x95 = (x93 + x82);
991     x96 = (x95 >> 51);
992     x97 = (uint64_t)(x95 & UINT64_C(0x7ffffffffffff));
993     x98 = (x96 + x81);
994     x99 = (x98 >> 52);
995     x100 = (uint64_t)(x98 & UINT64_C(0xfffffffffffff));
996     x101 = (x99 + x80);
997     x102 = (x101 >> 51);
998     x103 = (uint64_t)(x101 & UINT64_C(0x7ffffffffffff));
999     x104 = (x102 + x79);
1000     x105 = (x104 >> 51);
1001     x106 = (uint64_t)(x104 & UINT64_C(0x7ffffffffffff));
1002     x107 = (x105 + x78);
1003     x108 = (uint64_t)(x107 >> 51);
1004     x109 = (uint64_t)(x107 & UINT64_C(0x7ffffffffffff));
1005     x110 = (x108 + x77);
1006     x111 = (uint64_t)(x110 >> 51);
1007     x112 = (uint64_t)(x110 & UINT64_C(0x7ffffffffffff));
1008     x113 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint128)UINT16_C(0x239) *
1009             x111);
1010     x114 = (x76 + x113);
1011     x115 = (uint64_t)(x114 >> 52);
1012     x116 = (uint64_t)(x114 & UINT64_C(0xfffffffffffff));
1013     x117 = (x115 + x88);
1014     x118 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x117 >> 51);
1015     x119 = (x117 & UINT64_C(0x7ffffffffffff));
1016     x120 = (x118 + x91);
1017     out1[0] = x116;
1018     out1[1] = x119;
1019     out1[2] = x120;
1020     out1[3] = x94;
1021     out1[4] = x97;
1022     out1[5] = x100;
1023     out1[6] = x103;
1024     out1[7] = x106;
1025     out1[8] = x109;
1026     out1[9] = x112;
1027 }
1028
1029 /*
1030  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_carry reduces a field element.
1031  * Postconditions:
1032  *   eval out1 mod m = eval arg1 mod m
1033  *
1034  * Input Bounds:
1035  *   arg1: [[0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]]
1036  * Output Bounds:
1037  *   out1: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
1038  */
1039 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_carry(
1040     uint64_t out1[10], const uint64_t arg1[10]) {
1041     uint64_t x1;
1042     uint64_t x2;
1043     uint64_t x3;
1044     uint64_t x4;
1045     uint64_t x5;
1046     uint64_t x6;
1047     uint64_t x7;
1048     uint64_t x8;
1049     uint64_t x9;
1050     uint64_t x10;
1051     uint64_t x11;
1052     uint64_t x12;
1053     uint64_t x13;
1054     uint64_t x14;
1055     uint64_t x15;
1056     uint64_t x16;
1057     uint64_t x17;
1058     uint64_t x18;
1059     uint64_t x19;
1060     uint64_t x20;
1061     uint64_t x21;
1062     uint64_t x22;
1063     x1 = (arg1[0]);
1064     x2 = ((x1 >> 52) + (arg1[1]));
1065     x3 = ((x2 >> 51) + (arg1[2]));
1066     x4 = ((x3 >> 51) + (arg1[3]));
1067     x5 = ((x4 >> 51) + (arg1[4]));
1068     x6 = ((x5 >> 51) + (arg1[5]));
1069     x7 = ((x6 >> 52) + (arg1[6]));
1070     x8 = ((x7 >> 51) + (arg1[7]));
1071     x9 = ((x8 >> 51) + (arg1[8]));
1072     x10 = ((x9 >> 51) + (arg1[9]));
1073     x11 = ((x1 & UINT64_C(0xfffffffffffff)) + (UINT16_C(0x239) * (x10 >> 51)));
1074     x12 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x11 >> 52) +
1075            (x2 & UINT64_C(0x7ffffffffffff)));
1076     x13 = (x11 & UINT64_C(0xfffffffffffff));
1077     x14 = (x12 & UINT64_C(0x7ffffffffffff));
1078     x15 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x12 >> 51) +
1079            (x3 & UINT64_C(0x7ffffffffffff)));
1080     x16 = (x4 & UINT64_C(0x7ffffffffffff));
1081     x17 = (x5 & UINT64_C(0x7ffffffffffff));
1082     x18 = (x6 & UINT64_C(0xfffffffffffff));
1083     x19 = (x7 & UINT64_C(0x7ffffffffffff));
1084     x20 = (x8 & UINT64_C(0x7ffffffffffff));
1085     x21 = (x9 & UINT64_C(0x7ffffffffffff));
1086     x22 = (x10 & UINT64_C(0x7ffffffffffff));
1087     out1[0] = x13;
1088     out1[1] = x14;
1089     out1[2] = x15;
1090     out1[3] = x16;
1091     out1[4] = x17;
1092     out1[5] = x18;
1093     out1[6] = x19;
1094     out1[7] = x20;
1095     out1[8] = x21;
1096     out1[9] = x22;
1097 }
1098
1099 /*
1100  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_add adds two field elements.
1101  * Postconditions:
1102  *   eval out1 mod m = (eval arg1 + eval arg2) mod m
1103  *
1104  * Input Bounds:
1105  *   arg1: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
1106  *   arg2: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
1107  * Output Bounds:
1108  *   out1: [[0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]]
1109  */
1110 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_add(
1111     uint64_t out1[10], const uint64_t arg1[10], const uint64_t arg2[10]) {
1112     uint64_t x1;
1113     uint64_t x2;
1114     uint64_t x3;
1115     uint64_t x4;
1116     uint64_t x5;
1117     uint64_t x6;
1118     uint64_t x7;
1119     uint64_t x8;
1120     uint64_t x9;
1121     uint64_t x10;
1122     x1 = ((arg1[0]) + (arg2[0]));
1123     x2 = ((arg1[1]) + (arg2[1]));
1124     x3 = ((arg1[2]) + (arg2[2]));
1125     x4 = ((arg1[3]) + (arg2[3]));
1126     x5 = ((arg1[4]) + (arg2[4]));
1127     x6 = ((arg1[5]) + (arg2[5]));
1128     x7 = ((arg1[6]) + (arg2[6]));
1129     x8 = ((arg1[7]) + (arg2[7]));
1130     x9 = ((arg1[8]) + (arg2[8]));
1131     x10 = ((arg1[9]) + (arg2[9]));
1132     out1[0] = x1;
1133     out1[1] = x2;
1134     out1[2] = x3;
1135     out1[3] = x4;
1136     out1[4] = x5;
1137     out1[5] = x6;
1138     out1[6] = x7;
1139     out1[7] = x8;
1140     out1[8] = x9;
1141     out1[9] = x10;
1142 }
1143
1144 /*
1145  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_sub subtracts two field elements.
1146  * Postconditions:
1147  *   eval out1 mod m = (eval arg1 - eval arg2) mod m
1148  *
1149  * Input Bounds:
1150  *   arg1: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
1151  *   arg2: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
1152  * Output Bounds:
1153  *   out1: [[0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]]
1154  */
1155 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_sub(
1156     uint64_t out1[10], const uint64_t arg1[10], const uint64_t arg2[10]) {
1157     uint64_t x1;
1158     uint64_t x2;
1159     uint64_t x3;
1160     uint64_t x4;
1161     uint64_t x5;
1162     uint64_t x6;
1163     uint64_t x7;
1164     uint64_t x8;
1165     uint64_t x9;
1166     uint64_t x10;
1167     x1 = ((UINT64_C(0x1ffffffffffb8e) + (arg1[0])) - (arg2[0]));
1168     x2 = ((UINT64_C(0xffffffffffffe) + (arg1[1])) - (arg2[1]));
1169     x3 = ((UINT64_C(0xffffffffffffe) + (arg1[2])) - (arg2[2]));
1170     x4 = ((UINT64_C(0xffffffffffffe) + (arg1[3])) - (arg2[3]));
1171     x5 = ((UINT64_C(0xffffffffffffe) + (arg1[4])) - (arg2[4]));
1172     x6 = ((UINT64_C(0x1ffffffffffffe) + (arg1[5])) - (arg2[5]));
1173     x7 = ((UINT64_C(0xffffffffffffe) + (arg1[6])) - (arg2[6]));
1174     x8 = ((UINT64_C(0xffffffffffffe) + (arg1[7])) - (arg2[7]));
1175     x9 = ((UINT64_C(0xffffffffffffe) + (arg1[8])) - (arg2[8]));
1176     x10 = ((UINT64_C(0xffffffffffffe) + (arg1[9])) - (arg2[9]));
1177     out1[0] = x1;
1178     out1[1] = x2;
1179     out1[2] = x3;
1180     out1[3] = x4;
1181     out1[4] = x5;
1182     out1[5] = x6;
1183     out1[6] = x7;
1184     out1[7] = x8;
1185     out1[8] = x9;
1186     out1[9] = x10;
1187 }
1188
1189 /*
1190  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_opp negates a field element.
1191  * Postconditions:
1192  *   eval out1 mod m = -eval arg1 mod m
1193  *
1194  * Input Bounds:
1195  *   arg1: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
1196  * Output Bounds:
1197  *   out1: [[0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x34cccccccccccb], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664], [0x0 ~> 0x1a666666666664]]
1198  */
1199 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(
1200     uint64_t out1[10], const uint64_t arg1[10]) {
1201     uint64_t x1;
1202     uint64_t x2;
1203     uint64_t x3;
1204     uint64_t x4;
1205     uint64_t x5;
1206     uint64_t x6;
1207     uint64_t x7;
1208     uint64_t x8;
1209     uint64_t x9;
1210     uint64_t x10;
1211     x1 = (UINT64_C(0x1ffffffffffb8e) - (arg1[0]));
1212     x2 = (UINT64_C(0xffffffffffffe) - (arg1[1]));
1213     x3 = (UINT64_C(0xffffffffffffe) - (arg1[2]));
1214     x4 = (UINT64_C(0xffffffffffffe) - (arg1[3]));
1215     x5 = (UINT64_C(0xffffffffffffe) - (arg1[4]));
1216     x6 = (UINT64_C(0x1ffffffffffffe) - (arg1[5]));
1217     x7 = (UINT64_C(0xffffffffffffe) - (arg1[6]));
1218     x8 = (UINT64_C(0xffffffffffffe) - (arg1[7]));
1219     x9 = (UINT64_C(0xffffffffffffe) - (arg1[8]));
1220     x10 = (UINT64_C(0xffffffffffffe) - (arg1[9]));
1221     out1[0] = x1;
1222     out1[1] = x2;
1223     out1[2] = x3;
1224     out1[3] = x4;
1225     out1[4] = x5;
1226     out1[5] = x6;
1227     out1[6] = x7;
1228     out1[7] = x8;
1229     out1[8] = x9;
1230     out1[9] = x10;
1231 }
1232
1233 /*
1234  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz is a multi-limb conditional select.
1235  * Postconditions:
1236  *   eval out1 = (if arg1 = 0 then eval arg2 else eval arg3)
1237  *
1238  * Input Bounds:
1239  *   arg1: [0x0 ~> 0x1]
1240  *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1241  *   arg3: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1242  * Output Bounds:
1243  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1244  */
1245 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
1246     uint64_t out1[10], fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1,
1247     const uint64_t arg2[10], const uint64_t arg3[10]) {
1248     uint64_t x1;
1249     uint64_t x2;
1250     uint64_t x3;
1251     uint64_t x4;
1252     uint64_t x5;
1253     uint64_t x6;
1254     uint64_t x7;
1255     uint64_t x8;
1256     uint64_t x9;
1257     uint64_t x10;
1258     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(&x1, arg1, (arg2[0]),
1259                                                           (arg3[0]));
1260     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(&x2, arg1, (arg2[1]),
1261                                                           (arg3[1]));
1262     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(&x3, arg1, (arg2[2]),
1263                                                           (arg3[2]));
1264     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(&x4, arg1, (arg2[3]),
1265                                                           (arg3[3]));
1266     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(&x5, arg1, (arg2[4]),
1267                                                           (arg3[4]));
1268     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(&x6, arg1, (arg2[5]),
1269                                                           (arg3[5]));
1270     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(&x7, arg1, (arg2[6]),
1271                                                           (arg3[6]));
1272     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(&x8, arg1, (arg2[7]),
1273                                                           (arg3[7]));
1274     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(&x9, arg1, (arg2[8]),
1275                                                           (arg3[8]));
1276     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(&x10, arg1, (arg2[9]),
1277                                                           (arg3[9]));
1278     out1[0] = x1;
1279     out1[1] = x2;
1280     out1[2] = x3;
1281     out1[3] = x4;
1282     out1[4] = x5;
1283     out1[5] = x6;
1284     out1[6] = x7;
1285     out1[7] = x8;
1286     out1[8] = x9;
1287     out1[9] = x10;
1288 }
1289
1290 /*
1291  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes serializes a field element to bytes in little-endian order.
1292  * Postconditions:
1293  *   out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..63]
1294  *
1295  * Input Bounds:
1296  *   arg1: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
1297  * Output Bounds:
1298  *   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]]
1299  */
1300 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(
1301     uint8_t out1[64], const uint64_t arg1[10]) {
1302     uint64_t x1;
1303     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x2;
1304     uint64_t x3;
1305     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x4;
1306     uint64_t x5;
1307     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x6;
1308     uint64_t x7;
1309     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x8;
1310     uint64_t x9;
1311     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x10;
1312     uint64_t x11;
1313     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x12;
1314     uint64_t x13;
1315     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x14;
1316     uint64_t x15;
1317     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x16;
1318     uint64_t x17;
1319     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x18;
1320     uint64_t x19;
1321     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x20;
1322     uint64_t x21;
1323     uint64_t x22;
1324     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x23;
1325     uint64_t x24;
1326     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x25;
1327     uint64_t x26;
1328     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x27;
1329     uint64_t x28;
1330     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x29;
1331     uint64_t x30;
1332     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x31;
1333     uint64_t x32;
1334     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x33;
1335     uint64_t x34;
1336     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x35;
1337     uint64_t x36;
1338     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x37;
1339     uint64_t x38;
1340     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x39;
1341     uint64_t x40;
1342     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x41;
1343     uint64_t x42;
1344     uint64_t x43;
1345     uint64_t x44;
1346     uint64_t x45;
1347     uint64_t x46;
1348     uint64_t x47;
1349     uint64_t x48;
1350     uint64_t x49;
1351     uint64_t x50;
1352     uint8_t x51;
1353     uint64_t x52;
1354     uint8_t x53;
1355     uint64_t x54;
1356     uint8_t x55;
1357     uint64_t x56;
1358     uint8_t x57;
1359     uint64_t x58;
1360     uint8_t x59;
1361     uint8_t x60;
1362     uint8_t x61;
1363     uint64_t x62;
1364     uint64_t x63;
1365     uint8_t x64;
1366     uint64_t x65;
1367     uint8_t x66;
1368     uint64_t x67;
1369     uint8_t x68;
1370     uint64_t x69;
1371     uint8_t x70;
1372     uint64_t x71;
1373     uint8_t x72;
1374     uint8_t x73;
1375     uint8_t x74;
1376     uint64_t x75;
1377     uint64_t x76;
1378     uint8_t x77;
1379     uint64_t x78;
1380     uint8_t x79;
1381     uint64_t x80;
1382     uint8_t x81;
1383     uint64_t x82;
1384     uint8_t x83;
1385     uint64_t x84;
1386     uint8_t x85;
1387     uint64_t x86;
1388     uint8_t x87;
1389     uint8_t x88;
1390     uint8_t x89;
1391     uint64_t x90;
1392     uint64_t x91;
1393     uint8_t x92;
1394     uint64_t x93;
1395     uint8_t x94;
1396     uint64_t x95;
1397     uint8_t x96;
1398     uint64_t x97;
1399     uint8_t x98;
1400     uint64_t x99;
1401     uint8_t x100;
1402     uint8_t x101;
1403     uint8_t x102;
1404     uint64_t x103;
1405     uint64_t x104;
1406     uint8_t x105;
1407     uint64_t x106;
1408     uint8_t x107;
1409     uint64_t x108;
1410     uint8_t x109;
1411     uint64_t x110;
1412     uint8_t x111;
1413     uint64_t x112;
1414     uint8_t x113;
1415     uint8_t x114;
1416     uint8_t x115;
1417     uint8_t x116;
1418     uint64_t x117;
1419     uint8_t x118;
1420     uint64_t x119;
1421     uint8_t x120;
1422     uint64_t x121;
1423     uint8_t x122;
1424     uint64_t x123;
1425     uint8_t x124;
1426     uint64_t x125;
1427     uint8_t x126;
1428     uint8_t x127;
1429     uint8_t x128;
1430     uint64_t x129;
1431     uint64_t x130;
1432     uint8_t x131;
1433     uint64_t x132;
1434     uint8_t x133;
1435     uint64_t x134;
1436     uint8_t x135;
1437     uint64_t x136;
1438     uint8_t x137;
1439     uint64_t x138;
1440     uint8_t x139;
1441     uint8_t x140;
1442     uint8_t x141;
1443     uint64_t x142;
1444     uint64_t x143;
1445     uint8_t x144;
1446     uint64_t x145;
1447     uint8_t x146;
1448     uint64_t x147;
1449     uint8_t x148;
1450     uint64_t x149;
1451     uint8_t x150;
1452     uint64_t x151;
1453     uint8_t x152;
1454     uint64_t x153;
1455     uint8_t x154;
1456     uint8_t x155;
1457     uint8_t x156;
1458     uint64_t x157;
1459     uint64_t x158;
1460     uint8_t x159;
1461     uint64_t x160;
1462     uint8_t x161;
1463     uint64_t x162;
1464     uint8_t x163;
1465     uint64_t x164;
1466     uint8_t x165;
1467     uint64_t x166;
1468     uint8_t x167;
1469     uint8_t x168;
1470     uint8_t x169;
1471     uint64_t x170;
1472     uint64_t x171;
1473     uint8_t x172;
1474     uint64_t x173;
1475     uint8_t x174;
1476     uint64_t x175;
1477     uint8_t x176;
1478     uint64_t x177;
1479     uint8_t x178;
1480     uint64_t x179;
1481     uint8_t x180;
1482     uint8_t x181;
1483     uint8_t x182;
1484     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u52(
1485         &x1, &x2, 0x0, (arg1[0]), UINT64_C(0xffffffffffdc7));
1486     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u51(
1487         &x3, &x4, x2, (arg1[1]), UINT64_C(0x7ffffffffffff));
1488     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u51(
1489         &x5, &x6, x4, (arg1[2]), UINT64_C(0x7ffffffffffff));
1490     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u51(
1491         &x7, &x8, x6, (arg1[3]), UINT64_C(0x7ffffffffffff));
1492     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u51(
1493         &x9, &x10, x8, (arg1[4]), UINT64_C(0x7ffffffffffff));
1494     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u52(
1495         &x11, &x12, x10, (arg1[5]), UINT64_C(0xfffffffffffff));
1496     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u51(
1497         &x13, &x14, x12, (arg1[6]), UINT64_C(0x7ffffffffffff));
1498     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u51(
1499         &x15, &x16, x14, (arg1[7]), UINT64_C(0x7ffffffffffff));
1500     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u51(
1501         &x17, &x18, x16, (arg1[8]), UINT64_C(0x7ffffffffffff));
1502     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u51(
1503         &x19, &x20, x18, (arg1[9]), UINT64_C(0x7ffffffffffff));
1504     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u64(
1505         &x21, x20, 0x0, UINT64_C(0xffffffffffffffff));
1506     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u52(
1507         &x22, &x23, 0x0, x1, (x21 & UINT64_C(0xffffffffffdc7)));
1508     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u51(
1509         &x24, &x25, x23, x3, (x21 & UINT64_C(0x7ffffffffffff)));
1510     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u51(
1511         &x26, &x27, x25, x5, (x21 & UINT64_C(0x7ffffffffffff)));
1512     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u51(
1513         &x28, &x29, x27, x7, (x21 & UINT64_C(0x7ffffffffffff)));
1514     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u51(
1515         &x30, &x31, x29, x9, (x21 & UINT64_C(0x7ffffffffffff)));
1516     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u52(
1517         &x32, &x33, x31, x11, (x21 & UINT64_C(0xfffffffffffff)));
1518     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u51(
1519         &x34, &x35, x33, x13, (x21 & UINT64_C(0x7ffffffffffff)));
1520     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u51(
1521         &x36, &x37, x35, x15, (x21 & UINT64_C(0x7ffffffffffff)));
1522     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u51(
1523         &x38, &x39, x37, x17, (x21 & UINT64_C(0x7ffffffffffff)));
1524     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u51(
1525         &x40, &x41, x39, x19, (x21 & UINT64_C(0x7ffffffffffff)));
1526     x42 = (x40 << 5);
1527     x43 = (x38 << 2);
1528     x44 = (x36 << 7);
1529     x45 = (x34 << 4);
1530     x46 = (x30 << 5);
1531     x47 = (x28 << 2);
1532     x48 = (x26 << 7);
1533     x49 = (x24 << 4);
1534     x50 = (x22 >> 8);
1535     x51 = (uint8_t)(x22 & UINT8_C(0xff));
1536     x52 = (x50 >> 8);
1537     x53 = (uint8_t)(x50 & UINT8_C(0xff));
1538     x54 = (x52 >> 8);
1539     x55 = (uint8_t)(x52 & UINT8_C(0xff));
1540     x56 = (x54 >> 8);
1541     x57 = (uint8_t)(x54 & UINT8_C(0xff));
1542     x58 = (x56 >> 8);
1543     x59 = (uint8_t)(x56 & UINT8_C(0xff));
1544     x60 = (uint8_t)(x58 >> 8);
1545     x61 = (uint8_t)(x58 & UINT8_C(0xff));
1546     x62 = (x60 + x49);
1547     x63 = (x62 >> 8);
1548     x64 = (uint8_t)(x62 & UINT8_C(0xff));
1549     x65 = (x63 >> 8);
1550     x66 = (uint8_t)(x63 & UINT8_C(0xff));
1551     x67 = (x65 >> 8);
1552     x68 = (uint8_t)(x65 & UINT8_C(0xff));
1553     x69 = (x67 >> 8);
1554     x70 = (uint8_t)(x67 & UINT8_C(0xff));
1555     x71 = (x69 >> 8);
1556     x72 = (uint8_t)(x69 & UINT8_C(0xff));
1557     x73 = (uint8_t)(x71 >> 8);
1558     x74 = (uint8_t)(x71 & UINT8_C(0xff));
1559     x75 = (x73 + x48);
1560     x76 = (x75 >> 8);
1561     x77 = (uint8_t)(x75 & UINT8_C(0xff));
1562     x78 = (x76 >> 8);
1563     x79 = (uint8_t)(x76 & UINT8_C(0xff));
1564     x80 = (x78 >> 8);
1565     x81 = (uint8_t)(x78 & UINT8_C(0xff));
1566     x82 = (x80 >> 8);
1567     x83 = (uint8_t)(x80 & UINT8_C(0xff));
1568     x84 = (x82 >> 8);
1569     x85 = (uint8_t)(x82 & UINT8_C(0xff));
1570     x86 = (x84 >> 8);
1571     x87 = (uint8_t)(x84 & UINT8_C(0xff));
1572     x88 = (uint8_t)(x86 >> 8);
1573     x89 = (uint8_t)(x86 & UINT8_C(0xff));
1574     x90 = (x88 + x47);
1575     x91 = (x90 >> 8);
1576     x92 = (uint8_t)(x90 & UINT8_C(0xff));
1577     x93 = (x91 >> 8);
1578     x94 = (uint8_t)(x91 & UINT8_C(0xff));
1579     x95 = (x93 >> 8);
1580     x96 = (uint8_t)(x93 & UINT8_C(0xff));
1581     x97 = (x95 >> 8);
1582     x98 = (uint8_t)(x95 & UINT8_C(0xff));
1583     x99 = (x97 >> 8);
1584     x100 = (uint8_t)(x97 & UINT8_C(0xff));
1585     x101 = (uint8_t)(x99 >> 8);
1586     x102 = (uint8_t)(x99 & UINT8_C(0xff));
1587     x103 = (x101 + x46);
1588     x104 = (x103 >> 8);
1589     x105 = (uint8_t)(x103 & UINT8_C(0xff));
1590     x106 = (x104 >> 8);
1591     x107 = (uint8_t)(x104 & UINT8_C(0xff));
1592     x108 = (x106 >> 8);
1593     x109 = (uint8_t)(x106 & UINT8_C(0xff));
1594     x110 = (x108 >> 8);
1595     x111 = (uint8_t)(x108 & UINT8_C(0xff));
1596     x112 = (x110 >> 8);
1597     x113 = (uint8_t)(x110 & UINT8_C(0xff));
1598     x114 = (uint8_t)(x112 >> 8);
1599     x115 = (uint8_t)(x112 & UINT8_C(0xff));
1600     x116 = (uint8_t)(x114 & UINT8_C(0xff));
1601     x117 = (x32 >> 8);
1602     x118 = (uint8_t)(x32 & UINT8_C(0xff));
1603     x119 = (x117 >> 8);
1604     x120 = (uint8_t)(x117 & UINT8_C(0xff));
1605     x121 = (x119 >> 8);
1606     x122 = (uint8_t)(x119 & UINT8_C(0xff));
1607     x123 = (x121 >> 8);
1608     x124 = (uint8_t)(x121 & UINT8_C(0xff));
1609     x125 = (x123 >> 8);
1610     x126 = (uint8_t)(x123 & UINT8_C(0xff));
1611     x127 = (uint8_t)(x125 >> 8);
1612     x128 = (uint8_t)(x125 & UINT8_C(0xff));
1613     x129 = (x127 + x45);
1614     x130 = (x129 >> 8);
1615     x131 = (uint8_t)(x129 & UINT8_C(0xff));
1616     x132 = (x130 >> 8);
1617     x133 = (uint8_t)(x130 & UINT8_C(0xff));
1618     x134 = (x132 >> 8);
1619     x135 = (uint8_t)(x132 & UINT8_C(0xff));
1620     x136 = (x134 >> 8);
1621     x137 = (uint8_t)(x134 & UINT8_C(0xff));
1622     x138 = (x136 >> 8);
1623     x139 = (uint8_t)(x136 & UINT8_C(0xff));
1624     x140 = (uint8_t)(x138 >> 8);
1625     x141 = (uint8_t)(x138 & UINT8_C(0xff));
1626     x142 = (x140 + x44);
1627     x143 = (x142 >> 8);
1628     x144 = (uint8_t)(x142 & UINT8_C(0xff));
1629     x145 = (x143 >> 8);
1630     x146 = (uint8_t)(x143 & UINT8_C(0xff));
1631     x147 = (x145 >> 8);
1632     x148 = (uint8_t)(x145 & UINT8_C(0xff));
1633     x149 = (x147 >> 8);
1634     x150 = (uint8_t)(x147 & UINT8_C(0xff));
1635     x151 = (x149 >> 8);
1636     x152 = (uint8_t)(x149 & UINT8_C(0xff));
1637     x153 = (x151 >> 8);
1638     x154 = (uint8_t)(x151 & UINT8_C(0xff));
1639     x155 = (uint8_t)(x153 >> 8);
1640     x156 = (uint8_t)(x153 & UINT8_C(0xff));
1641     x157 = (x155 + x43);
1642     x158 = (x157 >> 8);
1643     x159 = (uint8_t)(x157 & UINT8_C(0xff));
1644     x160 = (x158 >> 8);
1645     x161 = (uint8_t)(x158 & UINT8_C(0xff));
1646     x162 = (x160 >> 8);
1647     x163 = (uint8_t)(x160 & UINT8_C(0xff));
1648     x164 = (x162 >> 8);
1649     x165 = (uint8_t)(x162 & UINT8_C(0xff));
1650     x166 = (x164 >> 8);
1651     x167 = (uint8_t)(x164 & UINT8_C(0xff));
1652     x168 = (uint8_t)(x166 >> 8);
1653     x169 = (uint8_t)(x166 & UINT8_C(0xff));
1654     x170 = (x168 + x42);
1655     x171 = (x170 >> 8);
1656     x172 = (uint8_t)(x170 & UINT8_C(0xff));
1657     x173 = (x171 >> 8);
1658     x174 = (uint8_t)(x171 & UINT8_C(0xff));
1659     x175 = (x173 >> 8);
1660     x176 = (uint8_t)(x173 & UINT8_C(0xff));
1661     x177 = (x175 >> 8);
1662     x178 = (uint8_t)(x175 & UINT8_C(0xff));
1663     x179 = (x177 >> 8);
1664     x180 = (uint8_t)(x177 & UINT8_C(0xff));
1665     x181 = (uint8_t)(x179 >> 8);
1666     x182 = (uint8_t)(x179 & UINT8_C(0xff));
1667     out1[0] = x51;
1668     out1[1] = x53;
1669     out1[2] = x55;
1670     out1[3] = x57;
1671     out1[4] = x59;
1672     out1[5] = x61;
1673     out1[6] = x64;
1674     out1[7] = x66;
1675     out1[8] = x68;
1676     out1[9] = x70;
1677     out1[10] = x72;
1678     out1[11] = x74;
1679     out1[12] = x77;
1680     out1[13] = x79;
1681     out1[14] = x81;
1682     out1[15] = x83;
1683     out1[16] = x85;
1684     out1[17] = x87;
1685     out1[18] = x89;
1686     out1[19] = x92;
1687     out1[20] = x94;
1688     out1[21] = x96;
1689     out1[22] = x98;
1690     out1[23] = x100;
1691     out1[24] = x102;
1692     out1[25] = x105;
1693     out1[26] = x107;
1694     out1[27] = x109;
1695     out1[28] = x111;
1696     out1[29] = x113;
1697     out1[30] = x115;
1698     out1[31] = x116;
1699     out1[32] = x118;
1700     out1[33] = x120;
1701     out1[34] = x122;
1702     out1[35] = x124;
1703     out1[36] = x126;
1704     out1[37] = x128;
1705     out1[38] = x131;
1706     out1[39] = x133;
1707     out1[40] = x135;
1708     out1[41] = x137;
1709     out1[42] = x139;
1710     out1[43] = x141;
1711     out1[44] = x144;
1712     out1[45] = x146;
1713     out1[46] = x148;
1714     out1[47] = x150;
1715     out1[48] = x152;
1716     out1[49] = x154;
1717     out1[50] = x156;
1718     out1[51] = x159;
1719     out1[52] = x161;
1720     out1[53] = x163;
1721     out1[54] = x165;
1722     out1[55] = x167;
1723     out1[56] = x169;
1724     out1[57] = x172;
1725     out1[58] = x174;
1726     out1[59] = x176;
1727     out1[60] = x178;
1728     out1[61] = x180;
1729     out1[62] = x182;
1730     out1[63] = x181;
1731 }
1732
1733 /*
1734  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes deserializes a field element from bytes in little-endian order.
1735  * Postconditions:
1736  *   eval out1 mod m = bytes_eval arg1 mod m
1737  *
1738  * Input Bounds:
1739  *   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]]
1740  * Output Bounds:
1741  *   out1: [[0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x11999999999999], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc], [0x0 ~> 0x8cccccccccccc]]
1742  */
1743 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes(
1744     uint64_t out1[10], const uint8_t arg1[64]) {
1745     uint64_t x1;
1746     uint64_t x2;
1747     uint64_t x3;
1748     uint64_t x4;
1749     uint64_t x5;
1750     uint64_t x6;
1751     uint64_t x7;
1752     uint64_t x8;
1753     uint64_t x9;
1754     uint64_t x10;
1755     uint64_t x11;
1756     uint64_t x12;
1757     uint64_t x13;
1758     uint64_t x14;
1759     uint64_t x15;
1760     uint64_t x16;
1761     uint64_t x17;
1762     uint64_t x18;
1763     uint64_t x19;
1764     uint64_t x20;
1765     uint64_t x21;
1766     uint64_t x22;
1767     uint64_t x23;
1768     uint64_t x24;
1769     uint64_t x25;
1770     uint64_t x26;
1771     uint64_t x27;
1772     uint64_t x28;
1773     uint64_t x29;
1774     uint64_t x30;
1775     uint64_t x31;
1776     uint8_t x32;
1777     uint64_t x33;
1778     uint64_t x34;
1779     uint64_t x35;
1780     uint64_t x36;
1781     uint64_t x37;
1782     uint64_t x38;
1783     uint64_t x39;
1784     uint64_t x40;
1785     uint64_t x41;
1786     uint64_t x42;
1787     uint64_t x43;
1788     uint64_t x44;
1789     uint64_t x45;
1790     uint64_t x46;
1791     uint64_t x47;
1792     uint64_t x48;
1793     uint64_t x49;
1794     uint64_t x50;
1795     uint64_t x51;
1796     uint64_t x52;
1797     uint64_t x53;
1798     uint64_t x54;
1799     uint64_t x55;
1800     uint64_t x56;
1801     uint64_t x57;
1802     uint64_t x58;
1803     uint64_t x59;
1804     uint64_t x60;
1805     uint64_t x61;
1806     uint64_t x62;
1807     uint64_t x63;
1808     uint8_t x64;
1809     uint64_t x65;
1810     uint8_t x66;
1811     uint64_t x67;
1812     uint64_t x68;
1813     uint64_t x69;
1814     uint64_t x70;
1815     uint64_t x71;
1816     uint64_t x72;
1817     uint64_t x73;
1818     uint64_t x74;
1819     uint64_t x75;
1820     uint64_t x76;
1821     uint64_t x77;
1822     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x78;
1823     uint64_t x79;
1824     uint64_t x80;
1825     uint8_t x81;
1826     uint64_t x82;
1827     uint64_t x83;
1828     uint8_t x84;
1829     uint64_t x85;
1830     uint64_t x86;
1831     uint64_t x87;
1832     uint8_t x88;
1833     uint64_t x89;
1834     uint64_t x90;
1835     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x91;
1836     uint64_t x92;
1837     uint64_t x93;
1838     uint8_t x94;
1839     uint64_t x95;
1840     uint64_t x96;
1841     uint8_t x97;
1842     uint64_t x98;
1843     uint64_t x99;
1844     x1 = ((uint64_t)(arg1[63]) << 43);
1845     x2 = ((uint64_t)(arg1[62]) << 35);
1846     x3 = ((uint64_t)(arg1[61]) << 27);
1847     x4 = ((uint64_t)(arg1[60]) << 19);
1848     x5 = ((uint64_t)(arg1[59]) << 11);
1849     x6 = ((uint64_t)(arg1[58]) << 3);
1850     x7 = ((uint64_t)(arg1[57]) << 46);
1851     x8 = ((uint64_t)(arg1[56]) << 38);
1852     x9 = ((uint64_t)(arg1[55]) << 30);
1853     x10 = ((uint64_t)(arg1[54]) << 22);
1854     x11 = ((uint64_t)(arg1[53]) << 14);
1855     x12 = ((uint64_t)(arg1[52]) << 6);
1856     x13 = ((uint64_t)(arg1[51]) << 49);
1857     x14 = ((uint64_t)(arg1[50]) << 41);
1858     x15 = ((uint64_t)(arg1[49]) << 33);
1859     x16 = ((uint64_t)(arg1[48]) << 25);
1860     x17 = ((uint64_t)(arg1[47]) << 17);
1861     x18 = ((uint64_t)(arg1[46]) << 9);
1862     x19 = ((uint64_t)(arg1[45]) * 0x2);
1863     x20 = ((uint64_t)(arg1[44]) << 44);
1864     x21 = ((uint64_t)(arg1[43]) << 36);
1865     x22 = ((uint64_t)(arg1[42]) << 28);
1866     x23 = ((uint64_t)(arg1[41]) << 20);
1867     x24 = ((uint64_t)(arg1[40]) << 12);
1868     x25 = ((uint64_t)(arg1[39]) << 4);
1869     x26 = ((uint64_t)(arg1[38]) << 48);
1870     x27 = ((uint64_t)(arg1[37]) << 40);
1871     x28 = ((uint64_t)(arg1[36]) << 32);
1872     x29 = ((uint64_t)(arg1[35]) << 24);
1873     x30 = ((uint64_t)(arg1[34]) << 16);
1874     x31 = ((uint64_t)(arg1[33]) << 8);
1875     x32 = (arg1[32]);
1876     x33 = ((uint64_t)(arg1[31]) << 43);
1877     x34 = ((uint64_t)(arg1[30]) << 35);
1878     x35 = ((uint64_t)(arg1[29]) << 27);
1879     x36 = ((uint64_t)(arg1[28]) << 19);
1880     x37 = ((uint64_t)(arg1[27]) << 11);
1881     x38 = ((uint64_t)(arg1[26]) << 3);
1882     x39 = ((uint64_t)(arg1[25]) << 46);
1883     x40 = ((uint64_t)(arg1[24]) << 38);
1884     x41 = ((uint64_t)(arg1[23]) << 30);
1885     x42 = ((uint64_t)(arg1[22]) << 22);
1886     x43 = ((uint64_t)(arg1[21]) << 14);
1887     x44 = ((uint64_t)(arg1[20]) << 6);
1888     x45 = ((uint64_t)(arg1[19]) << 49);
1889     x46 = ((uint64_t)(arg1[18]) << 41);
1890     x47 = ((uint64_t)(arg1[17]) << 33);
1891     x48 = ((uint64_t)(arg1[16]) << 25);
1892     x49 = ((uint64_t)(arg1[15]) << 17);
1893     x50 = ((uint64_t)(arg1[14]) << 9);
1894     x51 = ((uint64_t)(arg1[13]) * 0x2);
1895     x52 = ((uint64_t)(arg1[12]) << 44);
1896     x53 = ((uint64_t)(arg1[11]) << 36);
1897     x54 = ((uint64_t)(arg1[10]) << 28);
1898     x55 = ((uint64_t)(arg1[9]) << 20);
1899     x56 = ((uint64_t)(arg1[8]) << 12);
1900     x57 = ((uint64_t)(arg1[7]) << 4);
1901     x58 = ((uint64_t)(arg1[6]) << 48);
1902     x59 = ((uint64_t)(arg1[5]) << 40);
1903     x60 = ((uint64_t)(arg1[4]) << 32);
1904     x61 = ((uint64_t)(arg1[3]) << 24);
1905     x62 = ((uint64_t)(arg1[2]) << 16);
1906     x63 = ((uint64_t)(arg1[1]) << 8);
1907     x64 = (arg1[0]);
1908     x65 = (x64 + (x63 + (x62 + (x61 + (x60 + (x59 + x58))))));
1909     x66 = (uint8_t)(x65 >> 52);
1910     x67 = (x65 & UINT64_C(0xfffffffffffff));
1911     x68 = (x6 + (x5 + (x4 + (x3 + (x2 + x1)))));
1912     x69 = (x12 + (x11 + (x10 + (x9 + (x8 + x7)))));
1913     x70 = (x19 + (x18 + (x17 + (x16 + (x15 + (x14 + x13))))));
1914     x71 = (x25 + (x24 + (x23 + (x22 + (x21 + x20)))));
1915     x72 = (x32 + (x31 + (x30 + (x29 + (x28 + (x27 + x26))))));
1916     x73 = (x38 + (x37 + (x36 + (x35 + (x34 + x33)))));
1917     x74 = (x44 + (x43 + (x42 + (x41 + (x40 + x39)))));
1918     x75 = (x51 + (x50 + (x49 + (x48 + (x47 + (x46 + x45))))));
1919     x76 = (x57 + (x56 + (x55 + (x54 + (x53 + x52)))));
1920     x77 = (x66 + x76);
1921     x78 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x77 >> 51);
1922     x79 = (x77 & UINT64_C(0x7ffffffffffff));
1923     x80 = (x78 + x75);
1924     x81 = (uint8_t)(x80 >> 51);
1925     x82 = (x80 & UINT64_C(0x7ffffffffffff));
1926     x83 = (x81 + x74);
1927     x84 = (uint8_t)(x83 >> 51);
1928     x85 = (x83 & UINT64_C(0x7ffffffffffff));
1929     x86 = (x84 + x73);
1930     x87 = (x86 & UINT64_C(0x7ffffffffffff));
1931     x88 = (uint8_t)(x72 >> 52);
1932     x89 = (x72 & UINT64_C(0xfffffffffffff));
1933     x90 = (x88 + x71);
1934     x91 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x90 >> 51);
1935     x92 = (x90 & UINT64_C(0x7ffffffffffff));
1936     x93 = (x91 + x70);
1937     x94 = (uint8_t)(x93 >> 51);
1938     x95 = (x93 & UINT64_C(0x7ffffffffffff));
1939     x96 = (x94 + x69);
1940     x97 = (uint8_t)(x96 >> 51);
1941     x98 = (x96 & UINT64_C(0x7ffffffffffff));
1942     x99 = (x97 + x68);
1943     out1[0] = x67;
1944     out1[1] = x79;
1945     out1[2] = x82;
1946     out1[3] = x85;
1947     out1[4] = x87;
1948     out1[5] = x89;
1949     out1[6] = x92;
1950     out1[7] = x95;
1951     out1[8] = x98;
1952     out1[9] = x99;
1953 }
1954
1955 /* END verbatim fiat code */
1956
1957 /*-
1958  * Finite field inversion via FLT.
1959  * NB: this is not a real Fiat function, just named that way for consistency.
1960  * Autogenerated: ecp/id_tc26_gost_3410_2012_512_paramSetC/fe_inv.op3
1961  * custom repunit addition chain
1962  */
1963 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_inv(fe_t output,
1964                                                           const fe_t t1) {
1965     int i;
1966     /* temporary variables */
1967     fe_t acc, t102, t12, t198, t2, t200, t24, t3, t400, t48, t502, t6, t96;
1968
1969     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t1);
1970     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t2, acc, t1);
1971     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t2);
1972     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t3, acc, t1);
1973     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t3);
1974     for (i = 0; i < 2; i++)
1975         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
1976     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t6, acc, t3);
1977     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t6);
1978     for (i = 0; i < 5; i++)
1979         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
1980     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t12, acc, t6);
1981     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t12);
1982     for (i = 0; i < 11; i++)
1983         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
1984     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t24, acc, t12);
1985     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t24);
1986     for (i = 0; i < 23; i++)
1987         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
1988     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t48, acc, t24);
1989     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t48);
1990     for (i = 0; i < 47; i++)
1991         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
1992     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t96, acc, t48);
1993     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t96);
1994     for (i = 0; i < 5; i++)
1995         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
1996     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t102, acc, t6);
1997     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t102);
1998     for (i = 0; i < 95; i++)
1999         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
2000     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t198, acc, t96);
2001     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t198);
2002     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
2003     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t200, acc, t2);
2004     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t200);
2005     for (i = 0; i < 199; i++)
2006         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
2007     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t400, acc, t200);
2008     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t400);
2009     for (i = 0; i < 101; i++)
2010         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
2011     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t502, acc, t102);
2012     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t502);
2013     for (i = 0; i < 3; i++)
2014         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
2015     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(acc, acc, t3);
2016     for (i = 0; i < 4; i++)
2017         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
2018     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(acc, acc, t1);
2019     for (i = 0; i < 2; i++)
2020         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
2021     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(output, acc, t1);
2022 }
2023
2024 /* curve coefficient constants */
2025
2026 static const limb_t const_one[10] = {
2027     UINT64_C(0x0000000000000001), UINT64_C(0x0000000000000000),
2028     UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000),
2029     UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000),
2030     UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000),
2031     UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000)};
2032
2033 static const limb_t const_d[10] = {
2034     UINT64_C(0x00002DBB33EE7550), UINT64_C(0x00042BC2A22B4CA3),
2035     UINT64_C(0x00073C6D3D23419F), UINT64_C(0x0001ACC138B390F9),
2036     UINT64_C(0x0005359CF0528AE0), UINT64_C(0x0008A0621050439C),
2037     UINT64_C(0x00054198E31EBDE2), UINT64_C(0x0006B7FC9B56805A),
2038     UINT64_C(0x000367C4E973CF37), UINT64_C(0x0004F27AEC600BEC)};
2039
2040 static const limb_t const_S[10] = {
2041     UINT64_C(0x0003F4913304621E), UINT64_C(0x0000F50F57752CD7),
2042     UINT64_C(0x000430E4B0B72F98), UINT64_C(0x000794CFB1D31BC1),
2043     UINT64_C(0x0006B298C3EB5D47), UINT64_C(0x0005D7E77BEBEF18),
2044     UINT64_C(0x0002AF99C7385087), UINT64_C(0x00005200D92A5FE9),
2045     UINT64_C(0x0007260EC5A30C32), UINT64_C(0x0000C36144E7FD04)};
2046
2047 static const limb_t const_T[10] = {
2048     UINT64_C(0x0002B249DDFD1271), UINT64_C(0x0004B1F5C5B1E21B),
2049     UINT64_C(0x00028A1234DB359A), UINT64_C(0x00004775897342D4),
2050     UINT64_C(0x0006339A280DC1D0), UINT64_C(0x000C1ABB02B80B44),
2051     UINT64_C(0x00038AEED0851FA5), UINT64_C(0x000273FF6F391564),
2052     UINT64_C(0x00033BF626E8A289), UINT64_C(0x0004D3147CBAACA7)};
2053
2054 /* LUT for scalar multiplication by comb interleaving */
2055 static const pt_aff_t lut_cmb[8][16] = {
2056     {
2057         {{UINT64_C(0x0000000000000012), UINT64_C(0x0000000000000000),
2058           UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000),
2059           UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000),
2060           UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000),
2061           UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000)},
2062          {UINT64_C(0x000303EE73001A3D), UINT64_C(0x000404B2BAAE7600),
2063           UINT64_C(0x00072E65E120AC45), UINT64_C(0x00027BAFC1A31744),
2064           UINT64_C(0x000116EA5B2867BC), UINT64_C(0x0006117F7B386695),
2065           UINT64_C(0x000501794368D9A5), UINT64_C(0x0007403C541FBF61),
2066           UINT64_C(0x0005785AE6564ADD), UINT64_C(0x000234D7BCE8FD8F)},
2067          {UINT64_C(0x000646C41601E12E), UINT64_C(0x0000549120444C03),
2068           UINT64_C(0x00014329D44C1CE3), UINT64_C(0x0004B25B9D77A2D8),
2069           UINT64_C(0x00039C7A68D74B3D), UINT64_C(0x000D3AF6A9F7367C),
2070           UINT64_C(0x00021A86BD5F4DA0), UINT64_C(0x0002843DEA3B74DD),
2071           UINT64_C(0x000276643211439A), UINT64_C(0x0007B72B4861D41A)}},
2072         {{UINT64_C(0x000DDC3263F14838), UINT64_C(0x0001CBD1F17B2BCB),
2073           UINT64_C(0x0002BAFA22A82009), UINT64_C(0x0005322387667A03),
2074           UINT64_C(0x00055B751CB96A65), UINT64_C(0x000A0DFD0340FDE7),
2075           UINT64_C(0x0005C48FB27C4503), UINT64_C(0x000268CD738A33D9),
2076           UINT64_C(0x0001B2D195DC6145), UINT64_C(0x00006EA96DB2EACC)},
2077          {UINT64_C(0x000BBCD609E2FF0C), UINT64_C(0x0005F4AE7E31E8D1),
2078           UINT64_C(0x000360BD6E15CC1F), UINT64_C(0x000409CF3A7414FB),
2079           UINT64_C(0x00031EE2AD0268C7), UINT64_C(0x0005CB4FB4D93FBB),
2080           UINT64_C(0x0003CADF6924D45D), UINT64_C(0x0001C5874E363854),
2081           UINT64_C(0x00037EFA0AF03B97), UINT64_C(0x00001148D12E29B3)},
2082          {UINT64_C(0x000E0DB54C224325), UINT64_C(0x00010454C4B66E25),
2083           UINT64_C(0x000648D062587B3B), UINT64_C(0x0003D2EE25796057),
2084           UINT64_C(0x00004BB47D7FDE7C), UINT64_C(0x000244DB1E9D557B),
2085           UINT64_C(0x0006BE33D5802F21), UINT64_C(0x00042132C57B6D1F),
2086           UINT64_C(0x0003D487A5698542), UINT64_C(0x0007C1540EB060D1)}},
2087         {{UINT64_C(0x00079342FE30B9C8), UINT64_C(0x00041A8C6FF7B725),
2088           UINT64_C(0x00075CAE2380D311), UINT64_C(0x00038F8B24FD7BC3),
2089           UINT64_C(0x0004844218778181), UINT64_C(0x000C42D63D57509A),
2090           UINT64_C(0x000535D988A70AAF), UINT64_C(0x0001A3FD38C3746A),
2091           UINT64_C(0x0001E914A2CBA533), UINT64_C(0x0004D2080711F2B0)},
2092          {UINT64_C(0x0009F2BA98B41E21), UINT64_C(0x000615CCDD4A12CF),
2093           UINT64_C(0x0003EE0BB3543CA8), UINT64_C(0x00015A62A2476E14),
2094           UINT64_C(0x00061C939A6ECEDD), UINT64_C(0x000BE481A4C0C342),
2095           UINT64_C(0x000795DEC470D8C2), UINT64_C(0x0000ABE2CB782E96),
2096           UINT64_C(0x0007A7D6BF78D7EE), UINT64_C(0x0004E3A1B9FC9045)},
2097          {UINT64_C(0x000BAEA9645E541E), UINT64_C(0x0002D492585BA0C5),
2098           UINT64_C(0x000114FE72026DC5), UINT64_C(0x00053A929E20E410),
2099           UINT64_C(0x00060E85CF97390E), UINT64_C(0x0007D39ADBD8478A),
2100           UINT64_C(0x0002063C667C0601), UINT64_C(0x000742C442708702),
2101           UINT64_C(0x0000A2426FB29578), UINT64_C(0x00048CBFCAE1F773)}},
2102         {{UINT64_C(0x000A0BBFED323C86), UINT64_C(0x0006F7539EA3736E),
2103           UINT64_C(0x0005DF9B59EA30BF), UINT64_C(0x0005D9C303700CA0),
2104           UINT64_C(0x0001AB39B96006A3), UINT64_C(0x000D38FB4C2CE047),
2105           UINT64_C(0x0004257F3B363F21), UINT64_C(0x00018E0BAF6472A8),
2106           UINT64_C(0x000483ACD523D9F5), UINT64_C(0x00036FACA6C25759)},
2107          {UINT64_C(0x000231905C4CD0FD), UINT64_C(0x00016CA0261FB96E),
2108           UINT64_C(0x00031D0ECAC833D3), UINT64_C(0x0003E05643F857D5),
2109           UINT64_C(0x000040F272FCC47D), UINT64_C(0x00067E5354B2A5B5),
2110           UINT64_C(0x0000AE3CF45E8B10), UINT64_C(0x000599F3DD49B217),
2111           UINT64_C(0x000626891D86B28E), UINT64_C(0x0003E3F07489D3C0)},
2112          {UINT64_C(0x000C646BFDF7F340), UINT64_C(0x0001913CBD57D3CE),
2113           UINT64_C(0x00004B9386B4B830), UINT64_C(0x0007C9304B89B5D0),
2114           UINT64_C(0x00007520EC2D81FB), UINT64_C(0x0000D50731E5F0DF),
2115           UINT64_C(0x0006129D0F7AD03D), UINT64_C(0x0002FA03D5A61196),
2116           UINT64_C(0x0001A9011556D653), UINT64_C(0x0002A7D6F6C7BDB0)}},
2117         {{UINT64_C(0x00061D011098A411), UINT64_C(0x000260BCC6C7F863),
2118           UINT64_C(0x0000E1117CD19373), UINT64_C(0x0004B68FE728DDED),
2119           UINT64_C(0x0002AA52ACFB998D), UINT64_C(0x00015AD84E849B1A),
2120           UINT64_C(0x0002CBCDF89B3EA6), UINT64_C(0x00067ABD295869C6),
2121           UINT64_C(0x0000C524BC70CA4A), UINT64_C(0x0004C62E5FE7557E)},
2122          {UINT64_C(0x0007CFBEC39A14E2), UINT64_C(0x000626369976E030),
2123           UINT64_C(0x00032365D9DEE36F), UINT64_C(0x000734EC026C36B6),
2124           UINT64_C(0x00075F2357A20A57), UINT64_C(0x0006C63528ED47F5),
2125           UINT64_C(0x0000E985E6F0FA99), UINT64_C(0x00059351FE01E099),
2126           UINT64_C(0x0002C483F70283A2), UINT64_C(0x0004E1A30B241A78)},
2127          {UINT64_C(0x0003579D4EB3F8B7), UINT64_C(0x000127186D359C4A),
2128           UINT64_C(0x000625FBDA161934), UINT64_C(0x000786DE6F454C06),
2129           UINT64_C(0x00032BA63340A9DB), UINT64_C(0x0000CC026D945494),
2130           UINT64_C(0x000079206668566B), UINT64_C(0x00046E3529640A46),
2131           UINT64_C(0x000533DFE4808D98), UINT64_C(0x0001202AEF1AA871)}},
2132         {{UINT64_C(0x000D5A034C320711), UINT64_C(0x00046D5DEC9CBE0A),
2133           UINT64_C(0x0002FD14714E2D8B), UINT64_C(0x00071E0CE392B781),
2134           UINT64_C(0x0006EE842039DCC6), UINT64_C(0x0002AFE7EEFBE82E),
2135           UINT64_C(0x0001706CA91CE495), UINT64_C(0x0005B0F58587732F),
2136           UINT64_C(0x0003BA85FDED0A5B), UINT64_C(0x00054CEBB3898127)},
2137          {UINT64_C(0x000A6C4C3C22D5DC), UINT64_C(0x0003FD092008F2AF),
2138           UINT64_C(0x000678C1C38BE060), UINT64_C(0x00029494E571D7ED),
2139           UINT64_C(0x000679B640BD621E), UINT64_C(0x000E89487D97914B),
2140           UINT64_C(0x0003B91C01A032CB), UINT64_C(0x0005715AFC07377B),
2141           UINT64_C(0x0006AB64B7814DA4), UINT64_C(0x0005E7734E1241FA)},
2142          {UINT64_C(0x000EBC29D557AFE2), UINT64_C(0x00015EA9E492702C),
2143           UINT64_C(0x00039B8FF4CB3E25), UINT64_C(0x0005D3DA87AD6898),
2144           UINT64_C(0x0001B20F6958F437), UINT64_C(0x000FE179ED072875),
2145           UINT64_C(0x0003299FC0106D8A), UINT64_C(0x00063AB8C98927F6),
2146           UINT64_C(0x0004425DDEB4A8FE), UINT64_C(0x00021FCE1531E24E)}},
2147         {{UINT64_C(0x0007745E07BBFFEF), UINT64_C(0x0007125991A3183C),
2148           UINT64_C(0x000288F58C85404B), UINT64_C(0x0005F0E01F988465),
2149           UINT64_C(0x00058A085EA50075), UINT64_C(0x00006AB7768A5A2B),
2150           UINT64_C(0x00043ABF68337850), UINT64_C(0x00075B86C98A35FB),
2151           UINT64_C(0x000612842EA8B184), UINT64_C(0x000109A8BB7AB3ED)},
2152          {UINT64_C(0x0004F08D1A6DDAC3), UINT64_C(0x0005B2B420BFE682),
2153           UINT64_C(0x00010DFAF256A129), UINT64_C(0x0001B6CDADBEB8E5),
2154           UINT64_C(0x0006F611F5281A54), UINT64_C(0x000A1B472B862641),
2155           UINT64_C(0x000335A2003B6703), UINT64_C(0x00008AD4CAD5F73B),
2156           UINT64_C(0x0007A0EC3F0E578C), UINT64_C(0x00023141F13E5FA2)},
2157          {UINT64_C(0x0005188CBAD97549), UINT64_C(0x0001F6C5FC0F255B),
2158           UINT64_C(0x00036A526CAC9622), UINT64_C(0x0000BB287D684ADB),
2159           UINT64_C(0x0006F28BF1F5FA01), UINT64_C(0x000D7D8997333372),
2160           UINT64_C(0x000236EF8A6D2653), UINT64_C(0x0000C2BF98DACC6E),
2161           UINT64_C(0x0002FA4352B452E0), UINT64_C(0x00043FDC45864176)}},
2162         {{UINT64_C(0x000EA137F595EE0D), UINT64_C(0x000179D93A5775A9),
2163           UINT64_C(0x0001E0372E081E93), UINT64_C(0x0003A69DAD123CC1),
2164           UINT64_C(0x00025A2C66DE635D), UINT64_C(0x0002EEA6D51CD899),
2165           UINT64_C(0x0003138B80BA676F), UINT64_C(0x000411B2C78B4F07),
2166           UINT64_C(0x0007AAE1E0D50C65), UINT64_C(0x000528F5BDE8B6D3)},
2167          {UINT64_C(0x000D742C7F0B19BD), UINT64_C(0x0006DBF28C91828A),
2168           UINT64_C(0x00076FE332464CA9), UINT64_C(0x0001873DC4EBC9D9),
2169           UINT64_C(0x00014016F9C485A4), UINT64_C(0x000F894AD46EB122),
2170           UINT64_C(0x0006AE2B805EB995), UINT64_C(0x00004C6AF846DDB3),
2171           UINT64_C(0x0004C43621B2FA9D), UINT64_C(0x0001C9C1089132C7)},
2172          {UINT64_C(0x0007B12746972BA5), UINT64_C(0x00010D7707EB91D0),
2173           UINT64_C(0x00057125FEF70465), UINT64_C(0x000722135480EB9A),
2174           UINT64_C(0x000439824482D29B), UINT64_C(0x00019B590375A86B),
2175           UINT64_C(0x000732235FA4483D), UINT64_C(0x00035CD4C74AE3F3),
2176           UINT64_C(0x00076A29C3A22075), UINT64_C(0x0001E3D85B615311)}},
2177         {{UINT64_C(0x0005CCC96BFF3A5F), UINT64_C(0x0001D6DCC8ACE7EF),
2178           UINT64_C(0x0001B8A8497C7E75), UINT64_C(0x0001448EF2271B21),
2179           UINT64_C(0x000469E763024DA6), UINT64_C(0x000C1E4859EDB4E8),
2180           UINT64_C(0x00022B32D11EA0B8), UINT64_C(0x0007833F6716976E),
2181           UINT64_C(0x00056E62E2CC647C), UINT64_C(0x00060A6CC7E8F469)},
2182          {UINT64_C(0x000A5D20AC5EDF20), UINT64_C(0x0006BD1CB9C662A5),
2183           UINT64_C(0x000053F695AD3F0C), UINT64_C(0x0003BB68B21BAC80),
2184           UINT64_C(0x0006FA23083E49C3), UINT64_C(0x000960F58A7F49C4),
2185           UINT64_C(0x000534DF3026534A), UINT64_C(0x00068C4D4E5AFD06),
2186           UINT64_C(0x00003C47E39095B9), UINT64_C(0x000113AD9DE11151)},
2187          {UINT64_C(0x000AD10BAF7B6E7F), UINT64_C(0x0005FBD2F1D1D0A6),
2188           UINT64_C(0x00064E2BF5A74481), UINT64_C(0x00000C9DED412AB9),
2189           UINT64_C(0x0006DF76D2881747), UINT64_C(0x000F68ADE96EFAEE),
2190           UINT64_C(0x0007CF2EE2DD3D95), UINT64_C(0x00029109B2E5028B),
2191           UINT64_C(0x000084C0C872E5AF), UINT64_C(0x00055EF1044EE901)}},
2192         {{UINT64_C(0x0000978CD0735FB2), UINT64_C(0x0000A3B4EC3A861F),
2193           UINT64_C(0x00024123B8F06382), UINT64_C(0x00076C7DAA554F27),
2194           UINT64_C(0x0001B6A5E18D2E6A), UINT64_C(0x000947CC76EF8A46),
2195           UINT64_C(0x0001CA1CA453479A), UINT64_C(0x000072531851597A),
2196           UINT64_C(0x00005962E72A5B9F), UINT64_C(0x00035F4D1AE3ECEF)},
2197          {UINT64_C(0x00063950B57813F3), UINT64_C(0x0003955052095B99),
2198           UINT64_C(0x0000910D0C16F997), UINT64_C(0x0006561C81D19E24),
2199           UINT64_C(0x0005BD32E2B1D2DC), UINT64_C(0x000B1BCFBCC703F8),
2200           UINT64_C(0x00044176746C4650), UINT64_C(0x00025ECF08C32C2B),
2201           UINT64_C(0x00034A09E20BB15C), UINT64_C(0x00059E3EA6051146)},
2202          {UINT64_C(0x0005697698D05E0F), UINT64_C(0x00053B12113E48E9),
2203           UINT64_C(0x0003CCFD3B3F2E28), UINT64_C(0x0003B625F59D23B8),
2204           UINT64_C(0x0005E36ACA4E9712), UINT64_C(0x0003CD4602A4EB25),
2205           UINT64_C(0x0001F0A79E67888A), UINT64_C(0x0001A3BB856644D1),
2206           UINT64_C(0x0007BC8D45D9BE80), UINT64_C(0x000240C74D67C49F)}},
2207         {{UINT64_C(0x000F4AB4ACE9FBFB), UINT64_C(0x0001323C2E448C11),
2208           UINT64_C(0x0007E627CF56EBD6), UINT64_C(0x0000AFD6CA7DE511),
2209           UINT64_C(0x0006DCC97293C201), UINT64_C(0x00045898E21442A0),
2210           UINT64_C(0x0004D8D6616961DB), UINT64_C(0x000120025DFF12D0),
2211           UINT64_C(0x00027486D92674F0), UINT64_C(0x0000E577FD8D1E8D)},
2212          {UINT64_C(0x0008D1FF64347FD3), UINT64_C(0x0000B5503113ECB8),
2213           UINT64_C(0x0006A04E1F0AD932), UINT64_C(0x0005EFDB668B751C),
2214           UINT64_C(0x0007A75A308E95E9), UINT64_C(0x000DE0F991E7DCE0),
2215           UINT64_C(0x0001AC3243FB2D46), UINT64_C(0x0007C4CD25A8CCA1),
2216           UINT64_C(0x00020F39C66C4FB0), UINT64_C(0x00030EF201B6694C)},
2217          {UINT64_C(0x000D02B23C415547), UINT64_C(0x000585D53C64FF35),
2218           UINT64_C(0x0003D4E05329F658), UINT64_C(0x0003E78544910FE9),
2219           UINT64_C(0x000145FA301F1487), UINT64_C(0x00084D749E22B3AC),
2220           UINT64_C(0x0005DB00726E0F27), UINT64_C(0x00049F8B12327E02),
2221           UINT64_C(0x00066FA6FAE6E30F), UINT64_C(0x000148864CA7B024)}},
2222         {{UINT64_C(0x00072DB89831C22E), UINT64_C(0x000212B7A78FBD12),
2223           UINT64_C(0x00021EB595C4F6D8), UINT64_C(0x000230B818D0625E),
2224           UINT64_C(0x000432CEBFBE8326), UINT64_C(0x0005A4237390A4E7),
2225           UINT64_C(0x00048BC4F80E39D8), UINT64_C(0x0002C266EDA08C65),
2226           UINT64_C(0x0003003D1ACFB73A), UINT64_C(0x0003B25FB2316C33)},
2227          {UINT64_C(0x0001309EB03AE17C), UINT64_C(0x0006B7D21F1AC8CA),
2228           UINT64_C(0x00030F22AD66CC64), UINT64_C(0x00068CAE1E8A8AE4),
2229           UINT64_C(0x000036B8E12F02A1), UINT64_C(0x00051A9A31790107),
2230           UINT64_C(0x0002BC64D9C75BC2), UINT64_C(0x00012E0A5E87C678),
2231           UINT64_C(0x0005A6B78E7A5666), UINT64_C(0x0007ADC780A85627)},
2232          {UINT64_C(0x000623C20A48F7FB), UINT64_C(0x00068BD279754B54),
2233           UINT64_C(0x000214146A030D28), UINT64_C(0x0000BCF5046BE3DE),
2234           UINT64_C(0x0007F0B1C26980FD), UINT64_C(0x000E951243CBB013),
2235           UINT64_C(0x0003FEDEE8A79D6A), UINT64_C(0x00037CD9BA1B93CC),
2236           UINT64_C(0x00060FA57A12C244), UINT64_C(0x000342025E288D46)}},
2237         {{UINT64_C(0x00060F5BE50D6219), UINT64_C(0x0004F425F334521F),
2238           UINT64_C(0x000084F4C30F8CB3), UINT64_C(0x0004572CAA850AB6),
2239           UINT64_C(0x0007491416856BB1), UINT64_C(0x000DD438508B179E),
2240           UINT64_C(0x0005AF1DAD1E9061), UINT64_C(0x00072FF71C440602),
2241           UINT64_C(0x000640C33C87D2DD), UINT64_C(0x0006CEED81188498)},
2242          {UINT64_C(0x000EFB091DF854C6), UINT64_C(0x00028A1D31C19FA0),
2243           UINT64_C(0x0002A9A404668E0B), UINT64_C(0x000727F82CC27ACF),
2244           UINT64_C(0x000126282CC527D7), UINT64_C(0x00014FAB2CE4AC32),
2245           UINT64_C(0x0001FAFC4C09B367), UINT64_C(0x000252F0B2B54F3B),
2246           UINT64_C(0x0007E8131BAA6FF5), UINT64_C(0x000517793281415B)},
2247          {UINT64_C(0x000BDEBEB66BDFE8), UINT64_C(0x0002CC5E9E8B6103),
2248           UINT64_C(0x00004B6B392825E5), UINT64_C(0x0002C59B6082CA61),
2249           UINT64_C(0x000540C66BBC2394), UINT64_C(0x0003927DEFBBC62D),
2250           UINT64_C(0x0001F26C16D6387C), UINT64_C(0x000086AB5563FC8E),
2251           UINT64_C(0x00064F3E8C626EBD), UINT64_C(0x0000C841CACA38C0)}},
2252         {{UINT64_C(0x0000A508668F873E), UINT64_C(0x00005FDC5913D7CF),
2253           UINT64_C(0x00077CFFBBDCF5A1), UINT64_C(0x0003F77B2390B8D4),
2254           UINT64_C(0x0005594711779416), UINT64_C(0x0005ADA86CAF4491),
2255           UINT64_C(0x0007F7C714C93E3D), UINT64_C(0x0005186774E545D7),
2256           UINT64_C(0x0002C4325416B617), UINT64_C(0x0002EAF1D8B132CD)},
2257          {UINT64_C(0x000AEBD507E37692), UINT64_C(0x000309A15EAB0693),
2258           UINT64_C(0x0005FF4C2A7A5D05), UINT64_C(0x000218CCB516CA7F),
2259           UINT64_C(0x000091C7C9915F63), UINT64_C(0x00004C73F619E0B9),
2260           UINT64_C(0x00018867BD8D792A), UINT64_C(0x00077DF8951E6F62),
2261           UINT64_C(0x0002FCA92BD5A710), UINT64_C(0x0003DE1F4CB64968)},
2262          {UINT64_C(0x0007D8C68947865A), UINT64_C(0x00035B85E8AF7920),
2263           UINT64_C(0x000138BC855475E9), UINT64_C(0x00065B8343CF3C8E),
2264           UINT64_C(0x00072C46C618D9B0), UINT64_C(0x000DD020C6DF0D12),
2265           UINT64_C(0x000470F00A8FAEE1), UINT64_C(0x0005DAF00E2DC642),
2266           UINT64_C(0x00063930E56AAF60), UINT64_C(0x000286F9B967AAC9)}},
2267         {{UINT64_C(0x000DD90F276D31AF), UINT64_C(0x0000EA6D5DBA194F),
2268           UINT64_C(0x000430D033491006), UINT64_C(0x0007F9FA0D60BE75),
2269           UINT64_C(0x0004B562950EEA1A), UINT64_C(0x000E6BCD0715D21E),
2270           UINT64_C(0x0000590F8E3023F7), UINT64_C(0x0001D19FD03857CA),
2271           UINT64_C(0x000620A7B51ED174), UINT64_C(0x0001D40D3102B572)},
2272          {UINT64_C(0x00032D705F8518C5), UINT64_C(0x0000368F16F69285),
2273           UINT64_C(0x00031B1912C61DA8), UINT64_C(0x0006862322CE1F30),
2274           UINT64_C(0x00010660B97D08CF), UINT64_C(0x00035D64540A6D07),
2275           UINT64_C(0x0004199885EE5BEA), UINT64_C(0x00028D3C28F71406),
2276           UINT64_C(0x000098A7ED42E515), UINT64_C(0x0000033517091A8F)},
2277          {UINT64_C(0x000BEEAD956FEED8), UINT64_C(0x0006D144B99B7E54),
2278           UINT64_C(0x0006620FDB6DADBF), UINT64_C(0x00065F15A8F5ECA2),
2279           UINT64_C(0x00024170192B151F), UINT64_C(0x0006068B65F5278C),
2280           UINT64_C(0x0006AB4CACC7BF25), UINT64_C(0x0006680608A271D0),
2281           UINT64_C(0x00025004C7539417), UINT64_C(0x000727215A3B6BFA)}},
2282         {{UINT64_C(0x000FAA227F4F5AD3), UINT64_C(0x00048C30B1278D75),
2283           UINT64_C(0x0004C2380F042C08), UINT64_C(0x0006F4250A5404FA),
2284           UINT64_C(0x0000E5775C9D6EA4), UINT64_C(0x000C434ED2579348),
2285           UINT64_C(0x00043B279220C0B7), UINT64_C(0x00011C3AB979AF10),
2286           UINT64_C(0x000593B8B6831C9A), UINT64_C(0x0000C951C87E440D)},
2287          {UINT64_C(0x0009E652CBEBE9EA), UINT64_C(0x0002D471C31CC4A7),
2288           UINT64_C(0x0001180C86178F58), UINT64_C(0x0004A1CBEE332A03),
2289           UINT64_C(0x0004F056D32EEC00), UINT64_C(0x000E9D6F5A148CC7),
2290           UINT64_C(0x00038F214F11933B), UINT64_C(0x0006AB7F8DF475B6),
2291           UINT64_C(0x00016E32A36F4E7A), UINT64_C(0x00002D0656419319)},
2292          {UINT64_C(0x000FCD3F816A5978), UINT64_C(0x0006041C99F186A9),
2293           UINT64_C(0x0001D3D980EFB038), UINT64_C(0x0007E9FDEA9BE147),
2294           UINT64_C(0x00032BCE66E90B6D), UINT64_C(0x0001B6674476F1BF),
2295           UINT64_C(0x00051E25FEF557ED), UINT64_C(0x000029CDE03D236F),
2296           UINT64_C(0x000478BCDD0C953A), UINT64_C(0x0004BEBB6141C907)}},
2297     },
2298     {
2299         {{UINT64_C(0x0009E2E990726798), UINT64_C(0x00009676B8E190DC),
2300           UINT64_C(0x00048C9965EA2A0C), UINT64_C(0x0004EF181E315DD7),
2301           UINT64_C(0x00003A6A0FE2B108), UINT64_C(0x0004B4B789B5786E),
2302           UINT64_C(0x0001839D83E4BC52), UINT64_C(0x0003B9D09BE4ACFC),
2303           UINT64_C(0x000603A800326917), UINT64_C(0x0007C7926D46765A)},
2304          {UINT64_C(0x000BDE461C54BBE9), UINT64_C(0x00030C12C7BE3000),
2305           UINT64_C(0x00068D49E4D38051), UINT64_C(0x000002424DFF63EE),
2306           UINT64_C(0x0006748D0F817A7A), UINT64_C(0x000DAAAC34BF5895),
2307           UINT64_C(0x0004BF755438F5F4), UINT64_C(0x00031C0109A0A789),
2308           UINT64_C(0x0000257084478A82), UINT64_C(0x0000EADEDC01C8B8)},
2309          {UINT64_C(0x000BA95D208FC8C9), UINT64_C(0x000171FB35AEDA7D),
2310           UINT64_C(0x0002108B68CD61DE), UINT64_C(0x00032F4E1D4BC730),
2311           UINT64_C(0x0000FFB462AB7826), UINT64_C(0x000A3E9F4B3F7B0E),
2312           UINT64_C(0x0001E70DB7658F11), UINT64_C(0x00028C2EF3EEB807),
2313           UINT64_C(0x000753BD52CA29CE), UINT64_C(0x000547E50673926A)}},
2314         {{UINT64_C(0x000F9CABD5C6650F), UINT64_C(0x00036740AC449DBC),
2315           UINT64_C(0x0004759192EC241F), UINT64_C(0x000381C0F9E7EAB2),
2316           UINT64_C(0x00063278E1545DA8), UINT64_C(0x000037A5B7E50AB6),
2317           UINT64_C(0x000476FAC0FF808E), UINT64_C(0x00036E5576C1E063),
2318           UINT64_C(0x00027A9D39B89A83), UINT64_C(0x0006F1DA42C4750F)},
2319          {UINT64_C(0x0000C0B93DC3C004), UINT64_C(0x00035D0E6F5E38D1),
2320           UINT64_C(0x00061A730762CA71), UINT64_C(0x0003A620EFD387BE),
2321           UINT64_C(0x0003E2EC3540ED15), UINT64_C(0x000E424C214D117F),
2322           UINT64_C(0x0003E1325B0BB449), UINT64_C(0x0006FC7D1FC2FC7C),
2323           UINT64_C(0x00073F72D066FB57), UINT64_C(0x0004B2D6EC5C213B)},
2324          {UINT64_C(0x000ACB4FC84F8936), UINT64_C(0x0000757CBE4C50D6),
2325           UINT64_C(0x00049E1C99C1E958), UINT64_C(0x0007D86D6FF27A95),
2326           UINT64_C(0x00029876C3EF1BD5), UINT64_C(0x000A9E00A5CBE886),
2327           UINT64_C(0x0000BD4E512C515F), UINT64_C(0x0005C75102170269),
2328           UINT64_C(0x0007807E85A235DA), UINT64_C(0x000293A17091A760)}},
2329         {{UINT64_C(0x000308924C47EA21), UINT64_C(0x0007EFFEAF16E651),
2330           UINT64_C(0x0007D78EEF6B95C8), UINT64_C(0x000480EBCBF733D4),
2331           UINT64_C(0x0001F759131373D1), UINT64_C(0x000F52DAA6D26E12),
2332           UINT64_C(0x0001AA1A394183A6), UINT64_C(0x00031E24C017EBE3),
2333           UINT64_C(0x000134A7ECCB3DEC), UINT64_C(0x0001EAACFA806C01)},
2334          {UINT64_C(0x0000C8DC99E4D9E5), UINT64_C(0x0000499FCD94685F),
2335           UINT64_C(0x0004FB45C9641579), UINT64_C(0x00014AE4737E13F2),
2336           UINT64_C(0x0005BAC25108C107), UINT64_C(0x000407F8F14C185F),
2337           UINT64_C(0x0003281019A9EC49), UINT64_C(0x00018C647189223F),
2338           UINT64_C(0x00077667AEF20006), UINT64_C(0x000342D230F93D40)},
2339          {UINT64_C(0x000C9265EF97099F), UINT64_C(0x0002CB0A3B71869F),
2340           UINT64_C(0x0000DD18B78BEFAB), UINT64_C(0x000445C0E95393D6),
2341           UINT64_C(0x00022C17960D9AEB), UINT64_C(0x00055752E5A3E34F),
2342           UINT64_C(0x00029B02A7513832), UINT64_C(0x000115BB849BE596),
2343           UINT64_C(0x00070895A6FD0E07), UINT64_C(0x0002E9C698B128A0)}},
2344         {{UINT64_C(0x0000460245EC561C), UINT64_C(0x000759CFCDC4304B),
2345           UINT64_C(0x0000354F11DD3770), UINT64_C(0x00034ECA59B714C8),
2346           UINT64_C(0x0006DEB5CFBFE8AA), UINT64_C(0x0009C83E53DD01E1),
2347           UINT64_C(0x000681045B1B2B4B), UINT64_C(0x00066B499D80354A),
2348           UINT64_C(0x0007B09A32C5EB10), UINT64_C(0x0007F5BFC7687E65)},
2349          {UINT64_C(0x0007DBDD7509D7B6), UINT64_C(0x0001FF07267C40F7),
2350           UINT64_C(0x00020C1AAC3C0409), UINT64_C(0x0006148B211F9D4A),
2351           UINT64_C(0x0007D9183357E99A), UINT64_C(0x0005FB86106C8179),
2352           UINT64_C(0x00061566F3217886), UINT64_C(0x00064086D6797E68),
2353           UINT64_C(0x0000AAE710B5D9A0), UINT64_C(0x0003A7960D860C8C)},
2354          {UINT64_C(0x000BA0F7583190C4), UINT64_C(0x00076FA655DA6153),
2355           UINT64_C(0x0006AD011EF06120), UINT64_C(0x0001B9919F914745),
2356           UINT64_C(0x0006933CC4A1F75E), UINT64_C(0x0008B0C001D798B5),
2357           UINT64_C(0x0003A7401C076C5F), UINT64_C(0x0002A5E88685994E),
2358           UINT64_C(0x00040E300EEB5F5B), UINT64_C(0x000401FE079260EE)}},
2359         {{UINT64_C(0x000659914EBDF906), UINT64_C(0x0004AC87025B5364),
2360           UINT64_C(0x0000284A5CDE167E), UINT64_C(0x0003DCE5E16B1561),
2361           UINT64_C(0x000109507CE45C7B), UINT64_C(0x000E774890C7761C),
2362           UINT64_C(0x0005E1CED11C691A), UINT64_C(0x0000B979E77DA4D4),
2363           UINT64_C(0x0004EF607D7B0F58), UINT64_C(0x000597CD44BFB28F)},
2364          {UINT64_C(0x000A69885D31FD12), UINT64_C(0x00077B176FC02779),
2365           UINT64_C(0x00032C80E3987695), UINT64_C(0x00075F209C1E30BB),
2366           UINT64_C(0x0001009FD731AAC0), UINT64_C(0x000D3EB5362EA2CF),
2367           UINT64_C(0x0001D6C33BB4F1EC), UINT64_C(0x0005811CB2ECEF96),
2368           UINT64_C(0x00057D8C6C5AE4E1), UINT64_C(0x0004B4EA22243336)},
2369          {UINT64_C(0x000E6D776CDADB51), UINT64_C(0x00059CCC0F8E0BB1),
2370           UINT64_C(0x000788DF3C7AD498), UINT64_C(0x000142A89307C686),
2371           UINT64_C(0x00016B22FB5E10E8), UINT64_C(0x0004175AE2F3EB2B),
2372           UINT64_C(0x0002B10B599DE0CC), UINT64_C(0x0001EBE2F56C5287),
2373           UINT64_C(0x0001A33116E45EDF), UINT64_C(0x0004AE20B6AA13BB)}},
2374         {{UINT64_C(0x000D4F1640E31025), UINT64_C(0x00005369F3A71705),
2375           UINT64_C(0x0006E57097B5B700), UINT64_C(0x000287C31DDA7EB0),
2376           UINT64_C(0x0006BD941635599D), UINT64_C(0x000958A013ADB362),
2377           UINT64_C(0x000797EC3AF59A21), UINT64_C(0x000532140C91BE6E),
2378           UINT64_C(0x0004936CF742D1B9), UINT64_C(0x0006D291755B4C5F)},
2379          {UINT64_C(0x0000A926A8EE98B9), UINT64_C(0x00046DFF06B0EA14),
2380           UINT64_C(0x000422FF6FD967CC), UINT64_C(0x000779542C4521B1),
2381           UINT64_C(0x000469BEAB421801), UINT64_C(0x000E418E584BB6E2),
2382           UINT64_C(0x00009CA813EF2F4E), UINT64_C(0x0005F68592828DF0),
2383           UINT64_C(0x0000656C0BBF9122), UINT64_C(0x0000CCB05A025C71)},
2384          {UINT64_C(0x000E98CF9AA86649), UINT64_C(0x0004280C51AC4674),
2385           UINT64_C(0x00069006DA4ABEB3), UINT64_C(0x00046B1CDF4D42C3),
2386           UINT64_C(0x00052325C9885550), UINT64_C(0x00030D64AFD848FD),
2387           UINT64_C(0x0002C8ACC81C6FC5), UINT64_C(0x00047CB0D16BECBB),
2388           UINT64_C(0x000424989DA2A6C5), UINT64_C(0x000168C78A279267)}},
2389         {{UINT64_C(0x000D255173B3974D), UINT64_C(0x00078AB8051F9D89),
2390           UINT64_C(0x0005D31E2BD6FAF8), UINT64_C(0x0007DECEFF2FED16),
2391           UINT64_C(0x0000A995EBB1AF3C), UINT64_C(0x000EC88849F934DD),
2392           UINT64_C(0x0003F4357D1349BF), UINT64_C(0x0003003724CCAD86),
2393           UINT64_C(0x0005CC63A601A857), UINT64_C(0x000343B88A410741)},
2394          {UINT64_C(0x000B861EBEC11DA3), UINT64_C(0x0002F7DA0CE66B58),
2395           UINT64_C(0x0004A05CFDD667EC), UINT64_C(0x000618C4234E4317),
2396           UINT64_C(0x00077E534DE5E42D), UINT64_C(0x000F510ACBE2E35B),
2397           UINT64_C(0x0004D176CC3F8974), UINT64_C(0x0004199583F06449),
2398           UINT64_C(0x0000406979E0EB70), UINT64_C(0x000695F16DD2B384)},
2399          {UINT64_C(0x000B5F01887D972B), UINT64_C(0x000591009B9788BD),
2400           UINT64_C(0x0001CFB8C1E46165), UINT64_C(0x0005B8112A6084A0),
2401           UINT64_C(0x00049527793479C1), UINT64_C(0x000B187275AFF4A8),
2402           UINT64_C(0x00049D80550875EB), UINT64_C(0x00065B3359B96DBD),
2403           UINT64_C(0x0001FB8879675983), UINT64_C(0x0005DEBD62191D57)}},
2404         {{UINT64_C(0x000D1CA24C4248EB), UINT64_C(0x0005F680B9DB4143),
2405           UINT64_C(0x000332A16BFB989D), UINT64_C(0x000753E5C1BD1DD6),
2406           UINT64_C(0x0004FB5069A3DD11), UINT64_C(0x000B36967D95CB7F),
2407           UINT64_C(0x0007C1A743B83E84), UINT64_C(0x0000AEE0A0745A8D),
2408           UINT64_C(0x0006C7A9C91323B2), UINT64_C(0x000528CD9463AAFB)},
2409          {UINT64_C(0x000C466D9EBE068D), UINT64_C(0x00013A27797DC234),
2410           UINT64_C(0x00018F27D8B96428), UINT64_C(0x000024C1197D66BB),
2411           UINT64_C(0x00030D29442EEAC4), UINT64_C(0x000D7F436D88C8D7),
2412           UINT64_C(0x00041C67DD503E48), UINT64_C(0x00071B77621F3C37),
2413           UINT64_C(0x0001E384DE527534), UINT64_C(0x0004A3548D4230EF)},
2414          {UINT64_C(0x0009D0F8D367877F), UINT64_C(0x000144D7265E0804),
2415           UINT64_C(0x0005645C59D64EAE), UINT64_C(0x000533EB925569B6),
2416           UINT64_C(0x0004DFD1C43D5A74), UINT64_C(0x000E0AA14014632B),
2417           UINT64_C(0x0005693798BB1AC4), UINT64_C(0x00000B28BE3E0068),
2418           UINT64_C(0x000379AAA7EAE112), UINT64_C(0x0000247F1C8CFD8E)}},
2419         {{UINT64_C(0x000C15D58808355F), UINT64_C(0x0003A9B54B4046D8),
2420           UINT64_C(0x0003BE1A6AB6A8D7), UINT64_C(0x000699C7D04884C2),
2421           UINT64_C(0x00055A19B13E30E6), UINT64_C(0x000FBA511C14C314),
2422           UINT64_C(0x0007C4B1AB58948C), UINT64_C(0x00014F0D999CB430),
2423           UINT64_C(0x0007AFCB455F6D0F), UINT64_C(0x00013287261490BE)},
2424          {UINT64_C(0x000C39060A09A6A6), UINT64_C(0x00068EFAAE7BEA33),
2425           UINT64_C(0x0000F39708828339), UINT64_C(0x00074458444BC73B),
2426           UINT64_C(0x0004EBB9FE3A3451), UINT64_C(0x0002963523524531),
2427           UINT64_C(0x0002BA9B39DAC86F), UINT64_C(0x000296C0868A96CA),
2428           UINT64_C(0x0000E1FD8D0A7823), UINT64_C(0x00010A911670FB07)},
2429          {UINT64_C(0x000F856897F72F1E), UINT64_C(0x0000EEE5678607C6),
2430           UINT64_C(0x000517CD2197022F), UINT64_C(0x0004BEDF2B12DB4D),
2431           UINT64_C(0x00019C0AF97A5D1D), UINT64_C(0x000374FACB3B50F7),
2432           UINT64_C(0x0003917CBAD403FF), UINT64_C(0x0004C4704E757E6D),
2433           UINT64_C(0x00029A25D20AD24F), UINT64_C(0x000369770FC2A344)}},
2434         {{UINT64_C(0x0008DA57843C3422), UINT64_C(0x000082AA03CF53E5),
2435           UINT64_C(0x0007396268B0FA19), UINT64_C(0x000148F2D5ECB6B4),
2436           UINT64_C(0x0000E4C3E6069C02), UINT64_C(0x0008A317BACC7D91),
2437           UINT64_C(0x00023FB0B882B0C6), UINT64_C(0x0003470CCBB116C6),
2438           UINT64_C(0x0001DD2C55D9FCCD), UINT64_C(0x0003D996E34873D8)},
2439          {UINT64_C(0x000494440ECC3AB3), UINT64_C(0x0002540E1E629CBC),
2440           UINT64_C(0x0007355927AA0DA6), UINT64_C(0x000617CCFB6EB6C6),
2441           UINT64_C(0x00045DCD2CD0B597), UINT64_C(0x000A9351FEF0BD26),
2442           UINT64_C(0x0000E241A46E98C5), UINT64_C(0x00011AAC255B8C6D),
2443           UINT64_C(0x00077EB6092D7F54), UINT64_C(0x00006C19945480AB)},
2444          {UINT64_C(0x0008B1824E089690), UINT64_C(0x0004658566F83B39),
2445           UINT64_C(0x0007A1E24B6B0E67), UINT64_C(0x0003546FE60DC8CA),
2446           UINT64_C(0x000527C86CABEAC9), UINT64_C(0x0006138EFAB370BD),
2447           UINT64_C(0x000367B7A18E4830), UINT64_C(0x0005F41E7F74F931),
2448           UINT64_C(0x00043CD498AEE92B), UINT64_C(0x00036640F17461CB)}},
2449         {{UINT64_C(0x00014F84E18CA5AB), UINT64_C(0x000581E482520BE7),
2450           UINT64_C(0x0006D3C0B43466D5), UINT64_C(0x000717397C15F270),
2451           UINT64_C(0x0002926AAAE17414), UINT64_C(0x000CEE21A20BFDB7),
2452           UINT64_C(0x0005627F8C434E1F), UINT64_C(0x0007B06611540ADD),
2453           UINT64_C(0x00017C0766AD8FF8), UINT64_C(0x0001A6DF1F7CFD76)},
2454          {UINT64_C(0x00048F19C87B8FFD), UINT64_C(0x000738685355DF41),
2455           UINT64_C(0x00062D4C85207B23), UINT64_C(0x0004DA81080542F4),
2456           UINT64_C(0x0002595A163374DE), UINT64_C(0x00077DF196F75779),
2457           UINT64_C(0x0003CC24DA342DED), UINT64_C(0x00071C8601CD59A9),
2458           UINT64_C(0x000575ED879C1606), UINT64_C(0x0003C9A80845E0C4)},
2459          {UINT64_C(0x000E4341EC68E990), UINT64_C(0x00007DB9731C2EAE),
2460           UINT64_C(0x00050B4AC8A0C069), UINT64_C(0x00020F490D1B024D),
2461           UINT64_C(0x00067C6E1654BBA0), UINT64_C(0x0003EFDE035BD6AF),
2462           UINT64_C(0x0003C25584A7D506), UINT64_C(0x000591764CC32886),
2463           UINT64_C(0x0006FC9CB331260F), UINT64_C(0x00017E5D60885352)}},
2464         {{UINT64_C(0x000731233C0BF910), UINT64_C(0x000329E61DB0C699),
2465           UINT64_C(0x0007BA2FF701A4E9), UINT64_C(0x000333EA1E17AEF2),
2466           UINT64_C(0x00004C20BB4E7B23), UINT64_C(0x00036D578DEB0B28),
2467           UINT64_C(0x0001EB9E5DFB52E4), UINT64_C(0x0004CA4959FA2735),
2468           UINT64_C(0x0001D94E469AE705), UINT64_C(0x00076C278152C2A0)},
2469          {UINT64_C(0x00098E1BB8C2F143), UINT64_C(0x0004D297A9E0C320),
2470           UINT64_C(0x00076A7705B29809), UINT64_C(0x0001C4AB1E7AA3FB),
2471           UINT64_C(0x0007CEC0D37488E9), UINT64_C(0x000AF115EFF64680),
2472           UINT64_C(0x0000120EF3CBB216), UINT64_C(0x00054823751D4F6C),
2473           UINT64_C(0x0002AC54F606C3D7), UINT64_C(0x0001EBCEFB260725)},
2474          {UINT64_C(0x000B771E27A53F81), UINT64_C(0x0006D54C547C8EC4),
2475           UINT64_C(0x0000011D3B796F70), UINT64_C(0x000103E44C9CDCE1),
2476           UINT64_C(0x0004C7BA40D38FA7), UINT64_C(0x00089A5EBD4841A3),
2477           UINT64_C(0x000684C71D5AEC65), UINT64_C(0x000605EEF1D5EAB1),
2478           UINT64_C(0x00067509EAF71EBE), UINT64_C(0x0005963E232F38F6)}},
2479         {{UINT64_C(0x000BCAC8C9D8CB62), UINT64_C(0x000201763A59294E),
2480           UINT64_C(0x00019A01979C0FF2), UINT64_C(0x0004D0E0410F78A4),
2481           UINT64_C(0x0006EB9F8CAC287A), UINT64_C(0x000EA0768460F44C),
2482           UINT64_C(0x0005A455F94A712D), UINT64_C(0x0000BC93EBB5FFB3),
2483           UINT64_C(0x00020C65BD0C37ED), UINT64_C(0x000261BF4CEC1574)},
2484          {UINT64_C(0x000FF07CB12EA13B), UINT64_C(0x00020429E9B2B0F9),
2485           UINT64_C(0x0004DFA80EA8ECD6), UINT64_C(0x00073BBBD56CD402),
2486           UINT64_C(0x0003919C06A06CA6), UINT64_C(0x000A50DFCA5441D8),
2487           UINT64_C(0x0002B9A99A9B237D), UINT64_C(0x000742A2E2D61162),
2488           UINT64_C(0x0002CA00A4309B93), UINT64_C(0x0000905C120B4320)},
2489          {UINT64_C(0x00061578EB35918B), UINT64_C(0x0001446B3BE9D4A0),
2490           UINT64_C(0x0003D523BC8898B4), UINT64_C(0x00064BBE9875DB61),
2491           UINT64_C(0x0000D3A22E1BC0BA), UINT64_C(0x00061BADB8814627),
2492           UINT64_C(0x0001E3CC67E1C334), UINT64_C(0x0007D8BFF80A52C8),
2493           UINT64_C(0x0007C1A1B139325E), UINT64_C(0x000699D472241937)}},
2494         {{UINT64_C(0x00025E7D1EB3C74B), UINT64_C(0x0007898AA108BC0E),
2495           UINT64_C(0x00047515F8ED8CD4), UINT64_C(0x0004D3B9580C495A),
2496           UINT64_C(0x0007180B924B02DC), UINT64_C(0x0000F661E19F6359),
2497           UINT64_C(0x000670BF44B39CC7), UINT64_C(0x0007FE66B0398776),
2498           UINT64_C(0x0007995A1E2AC824), UINT64_C(0x0006D5DC46677210)},
2499          {UINT64_C(0x000FAAD726B55EA2), UINT64_C(0x00079D5D2BEE8A46),
2500           UINT64_C(0x00026095ED36BEE6), UINT64_C(0x0006B2CD7C0A5EAC),
2501           UINT64_C(0x0007363AADE3CBFF), UINT64_C(0x0008973FB787E167),
2502           UINT64_C(0x0007C0F634CBA455), UINT64_C(0x0000FA999E76881F),
2503           UINT64_C(0x000324C512E8946B), UINT64_C(0x000380D8788E7945)},
2504          {UINT64_C(0x0008DB1A6DE4460C), UINT64_C(0x00062893735BF9A0),
2505           UINT64_C(0x000013BA32E02B7B), UINT64_C(0x00073C9F80B4A895),
2506           UINT64_C(0x0003C3F3C87AAFB2), UINT64_C(0x000827F36493E441),
2507           UINT64_C(0x000292EFAC99E138), UINT64_C(0x000022A4A4904138),
2508           UINT64_C(0x00024529ECB28E37), UINT64_C(0x00077421EE238C1B)}},
2509         {{UINT64_C(0x000F7B9C6C9FCA63), UINT64_C(0x00034B8A0AAFC9BE),
2510           UINT64_C(0x0005DAE98DB7E24F), UINT64_C(0x00074C6CA22931E1),
2511           UINT64_C(0x0002A4921C14D883), UINT64_C(0x0006EFA91FA1CE71),
2512           UINT64_C(0x0003CE84355E0DCE), UINT64_C(0x000753C05DD0ADC7),
2513           UINT64_C(0x00017FAB49BE457E), UINT64_C(0x000352750D53DB1E)},
2514          {UINT64_C(0x000C2F7461033645), UINT64_C(0x000513C3544B8E3B),
2515           UINT64_C(0x00052C0D08ECF672), UINT64_C(0x000724A3D76B9645),
2516           UINT64_C(0x0005EE3A414B8581), UINT64_C(0x0001B06B1A55E453),
2517           UINT64_C(0x000186401A4D8285), UINT64_C(0x00038DD6E8C786ED),
2518           UINT64_C(0x0002D70CAF4EE8DD), UINT64_C(0x0005D01B347C3A06)},
2519          {UINT64_C(0x0001567FFD93F0D1), UINT64_C(0x000309252F65BB4A),
2520           UINT64_C(0x0005959B6ED014AB), UINT64_C(0x0004B43212E34585),
2521           UINT64_C(0x000438AFACBE2355), UINT64_C(0x0005CE8397224869),
2522           UINT64_C(0x0005A2F2198160CD), UINT64_C(0x00038CA3C93100EF),
2523           UINT64_C(0x0005B4E108E763BD), UINT64_C(0x00013AB825E9037B)}},
2524         {{UINT64_C(0x00035B4D0F47A893), UINT64_C(0x0000F88590FD42E6),
2525           UINT64_C(0x0000D7368E95AC4C), UINT64_C(0x000195F98944B691),
2526           UINT64_C(0x000486CCF2B919EC), UINT64_C(0x0004A59D1C2A3F33),
2527           UINT64_C(0x000534076FD4DE0F), UINT64_C(0x00059369592A8078),
2528           UINT64_C(0x00075849457601A8), UINT64_C(0x0005BCFEF89B98B3)},
2529          {UINT64_C(0x00082471AB978FF4), UINT64_C(0x000417A722D632A1),
2530           UINT64_C(0x000119FFFE762A0C), UINT64_C(0x000154FACAC33A86),
2531           UINT64_C(0x000629B146A09126), UINT64_C(0x00077F98E5A9B02A),
2532           UINT64_C(0x0007BFDF4C9B46F3), UINT64_C(0x0006F3CE86DA2075),
2533           UINT64_C(0x00043496F1F7058B), UINT64_C(0x000410C0161E3F69)},
2534          {UINT64_C(0x00061C0DDD1D5193), UINT64_C(0x0005D358D2C1C9E2),
2535           UINT64_C(0x0000F247BBCF087E), UINT64_C(0x00075A43B2343359),
2536           UINT64_C(0x0001269D6EFC98D0), UINT64_C(0x0009DE5FF8C9C95C),
2537           UINT64_C(0x00051605D13327E2), UINT64_C(0x00033CB5838CF4A6),
2538           UINT64_C(0x0003A16E2B08FE9E), UINT64_C(0x0003650C080431E5)}},
2539     },
2540     {
2541         {{UINT64_C(0x00049602E45D0A93), UINT64_C(0x00059C589221A880),
2542           UINT64_C(0x00006BFB336EDCAF), UINT64_C(0x0005AD45223DDD99),
2543           UINT64_C(0x00057F8BFA84AC51), UINT64_C(0x000AB4970BF8F60A),
2544           UINT64_C(0x00067F4FB7299A69), UINT64_C(0x0006C45D1DA5576A),
2545           UINT64_C(0x0001DF5059D6F745), UINT64_C(0x0007522509A7E4C7)},
2546          {UINT64_C(0x000754184C1EAC3E), UINT64_C(0x0001803402F7CD15),
2547           UINT64_C(0x0004F73F4944A6CF), UINT64_C(0x00046CEC832A58F1),
2548           UINT64_C(0x0005BF7C9110EC11), UINT64_C(0x0006BEE5D06C0C15),
2549           UINT64_C(0x00004D8B8B8F00B0), UINT64_C(0x00028C4D421BD379),
2550           UINT64_C(0x00075078416E153C), UINT64_C(0x000359B19C14F12F)},
2551          {UINT64_C(0x000808DDF052F857), UINT64_C(0x000019692911893C),
2552           UINT64_C(0x00020F8AC2158528), UINT64_C(0x0006BF85B2D465D0),
2553           UINT64_C(0x0000E4B967AE33BF), UINT64_C(0x0006B2C044AA16CD),
2554           UINT64_C(0x0005714242B5BB0F), UINT64_C(0x0005D92812DAFB73),
2555           UINT64_C(0x0007AD2DCB20ECFF), UINT64_C(0x00077EEC1D3FA208)}},
2556         {{UINT64_C(0x0002119238646FD8), UINT64_C(0x0005ABC2F8AF448B),
2557           UINT64_C(0x000453259E95D8E5), UINT64_C(0x0005B48782EBCAEE),
2558           UINT64_C(0x00038436F43CDFBF), UINT64_C(0x00048D16E429CE28),
2559           UINT64_C(0x000570D828600948), UINT64_C(0x0003453855620095),
2560           UINT64_C(0x0006AD331E478470), UINT64_C(0x000651BFAB5074BD)},
2561          {UINT64_C(0x0005F4433BDB32D9), UINT64_C(0x000105218D10DE9D),
2562           UINT64_C(0x000584EFCC5C27E2), UINT64_C(0x00013201F8F88C14),
2563           UINT64_C(0x0005783EC5680875), UINT64_C(0x0005599CE7F06E7D),
2564           UINT64_C(0x000469D4A0F10D5A), UINT64_C(0x00066493C7BE869D),
2565           UINT64_C(0x000282E244723DA2), UINT64_C(0x000003DDA26211EF)},
2566          {UINT64_C(0x0004777CF1747536), UINT64_C(0x0004BD8E40F0AAC6),
2567           UINT64_C(0x0007330BCEF012F6), UINT64_C(0x0005B417B099D130),
2568           UINT64_C(0x00008F04461BF63F), UINT64_C(0x0002FAB6C914DFFC),
2569           UINT64_C(0x00012387DF5AFEB9), UINT64_C(0x00060B418608D67A),
2570           UINT64_C(0x00028BA76C66CFD8), UINT64_C(0x00046A5D5B19C944)}},
2571         {{UINT64_C(0x000D23E16E7EB572), UINT64_C(0x00046332FC8A601B),
2572           UINT64_C(0x00065A48317134CE), UINT64_C(0x00043B6D52860AED),
2573           UINT64_C(0x0006EEB80466982A), UINT64_C(0x0009E57FBD4942F2),
2574           UINT64_C(0x0001B441B9B92D52), UINT64_C(0x0003927622998150),
2575           UINT64_C(0x00032063CFE0CC69), UINT64_C(0x0001E7A8EAAD8648)},
2576          {UINT64_C(0x0009791DBC2F7ADE), UINT64_C(0x0005B5AE56F669E8),
2577           UINT64_C(0x0004787844482C09), UINT64_C(0x000233D0503DE859),
2578           UINT64_C(0x0002980F93DB7782), UINT64_C(0x000E89640104583D),
2579           UINT64_C(0x000256749A55B356), UINT64_C(0x000346FB5377E7C7),
2580           UINT64_C(0x0005986D02625C7F), UINT64_C(0x0006501A5BE2B9EA)},
2581          {UINT64_C(0x000DC86BCD571C18), UINT64_C(0x000295273CB7094B),
2582           UINT64_C(0x0002353CEEA64824), UINT64_C(0x0000EDE9FDAEF274),
2583           UINT64_C(0x0006FC2FE16F8340), UINT64_C(0x000E75263685AE89),
2584           UINT64_C(0x0002A6B522548B24), UINT64_C(0x00030B331A3CF122),
2585           UINT64_C(0x00040AA1996D71AF), UINT64_C(0x00021DA1E66C5828)}},
2586         {{UINT64_C(0x0006237FE85D84B7), UINT64_C(0x0005D493978AA748),
2587           UINT64_C(0x0005606DB28D11E0), UINT64_C(0x0001404E7EE9A4A7),
2588           UINT64_C(0x0000009FCCF95887), UINT64_C(0x0001F35190486D07),
2589           UINT64_C(0x0005ABF1251A2823), UINT64_C(0x0007D9F90E1B9546),
2590           UINT64_C(0x000027D362BD3273), UINT64_C(0x0001D3276CA5DBCA)},
2591          {UINT64_C(0x0005BCE59854F4F2), UINT64_C(0x00068A97823BA015),
2592           UINT64_C(0x00069C7B6BA3A2B9), UINT64_C(0x000391289E956A27),
2593           UINT64_C(0x0006D77C747BE4B3), UINT64_C(0x00030591F7C41921),
2594           UINT64_C(0x0002A1EB441BD53B), UINT64_C(0x00014CCBBA39D2CC),
2595           UINT64_C(0x0002A9EAEDC15CEF), UINT64_C(0x000175CD0B5E3DFD)},
2596          {UINT64_C(0x00037ECC8CE85AE8), UINT64_C(0x0002D2E68B37C995),
2597           UINT64_C(0x0007756F4C412926), UINT64_C(0x00064C1755FD279C),
2598           UINT64_C(0x0005D142CA088513), UINT64_C(0x0005C77113983F17),
2599           UINT64_C(0x000667B020C82500), UINT64_C(0x000303A898E3AC4F),
2600           UINT64_C(0x0007E3C86D19C210), UINT64_C(0x0004249657F2E122)}},
2601         {{UINT64_C(0x0001D1C5E353E5CA), UINT64_C(0x0002576EB624749B),
2602           UINT64_C(0x00065CDB175F1C9E), UINT64_C(0x0003A41B811E62CE),
2603           UINT64_C(0x000518CFEE6F53F7), UINT64_C(0x00098B04A4AC2F13),
2604           UINT64_C(0x0006AB7610983F96), UINT64_C(0x000746A4D621967E),
2605           UINT64_C(0x000350349EC927D2), UINT64_C(0x000222970DF1E1BE)},
2606          {UINT64_C(0x0008906EEA836812), UINT64_C(0x0003114905108F3F),
2607           UINT64_C(0x0005C9663C445888), UINT64_C(0x0001C71F712BD33B),
2608           UINT64_C(0x00043D935A54A0DA), UINT64_C(0x0003646E9FDC729F),
2609           UINT64_C(0x0007210C4951848F), UINT64_C(0x00011FEF8E510953),
2610           UINT64_C(0x000346FAA21A5B8C), UINT64_C(0x00003AD57103DD51)},
2611          {UINT64_C(0x00033864A36064D6), UINT64_C(0x000029B9EAFEDC2A),
2612           UINT64_C(0x0003BE3DEB0B5F9A), UINT64_C(0x0003B506AA541679),
2613           UINT64_C(0x0005B2A6B10327B0), UINT64_C(0x000157232B715DB2),
2614           UINT64_C(0x0001EA48E7F6FCF8), UINT64_C(0x00025E863CA33319),
2615           UINT64_C(0x0005C8D3F568BF16), UINT64_C(0x0004C5D907C3D1C8)}},
2616         {{UINT64_C(0x00046AD26F23721E), UINT64_C(0x0002C765BDA314CE),
2617           UINT64_C(0x000752858F9EB295), UINT64_C(0x000513964D698E8F),
2618           UINT64_C(0x0001C85381B9C98C), UINT64_C(0x00007D077B6D8B14),
2619           UINT64_C(0x0002650BE441372D), UINT64_C(0x0007C92EF836C485),
2620           UINT64_C(0x0000F996ACD339F6), UINT64_C(0x0007E8564FED0A69)},
2621          {UINT64_C(0x000E29A25F3371CF), UINT64_C(0x00008814C5A56ED5),
2622           UINT64_C(0x0000021D0DCD381D), UINT64_C(0x00076A6088860540),
2623           UINT64_C(0x0004219513890BB8), UINT64_C(0x0009B16B9A0A067F),
2624           UINT64_C(0x00047E7B85349C38), UINT64_C(0x00074B3FE445EC78),
2625           UINT64_C(0x000275D721E0622F), UINT64_C(0x0002A2EC646BA867)},
2626          {UINT64_C(0x000BBDD3A720C17F), UINT64_C(0x0001B2C37BA0E3D1),
2627           UINT64_C(0x00054714236D0CC2), UINT64_C(0x00076964A35C7638),
2628           UINT64_C(0x000025052B296A76), UINT64_C(0x000C48304202EE65),
2629           UINT64_C(0x0006ED1F7DCB85DA), UINT64_C(0x0002FA4317B61178),
2630           UINT64_C(0x0006CEE7698DA4B8), UINT64_C(0x00044B0FF2267F23)}},
2631         {{UINT64_C(0x000D747A3E22E2B1), UINT64_C(0x0003DEDA875D7CAE),
2632           UINT64_C(0x0006A21C6B5FE47D), UINT64_C(0x000412BD22E4D137),
2633           UINT64_C(0x00029DA6D3B3667F), UINT64_C(0x00048E20CB87439F),
2634           UINT64_C(0x000325A27394F2C8), UINT64_C(0x000428463E1D4FBF),
2635           UINT64_C(0x00041B300FF04818), UINT64_C(0x0001521958F0E161)},
2636          {UINT64_C(0x000085DB6B7E977C), UINT64_C(0x00017CE01F10308D),
2637           UINT64_C(0x0000AC1CA092A153), UINT64_C(0x000415739EAB8C46),
2638           UINT64_C(0x0000C8CDF9774C54), UINT64_C(0x00051119A4D27CD6),
2639           UINT64_C(0x0003979EF4CABD4E), UINT64_C(0x000306E82DE011FD),
2640           UINT64_C(0x000130D235924305), UINT64_C(0x0004BC668226FA1A)},
2641          {UINT64_C(0x00035460C289FE8C), UINT64_C(0x00077FC4B88D0A33),
2642           UINT64_C(0x00034B3A2F12DA46), UINT64_C(0x0000587252519A91),
2643           UINT64_C(0x00067696AD8CA13F), UINT64_C(0x0004B367ED30881B),
2644           UINT64_C(0x0006ECDC69A04362), UINT64_C(0x00062060141E8A58),
2645           UINT64_C(0x000446717A1D4C41), UINT64_C(0x00059C92F4144291)}},
2646         {{UINT64_C(0x00090BCBA13F3FFA), UINT64_C(0x000459F76914A474),
2647           UINT64_C(0x00077DF9C1AB8451), UINT64_C(0x00027F4173658DE6),
2648           UINT64_C(0x000752A654451BBD), UINT64_C(0x0004389BF205F6A5),
2649           UINT64_C(0x0002A0F6E2CAC058), UINT64_C(0x000759DDCA3CF248),
2650           UINT64_C(0x0001DB6435DE0B7B), UINT64_C(0x0007A40E4FF1D274)},
2651          {UINT64_C(0x000B40F9FEA2DF61), UINT64_C(0x000187FAF0A90648),
2652           UINT64_C(0x0007F429F69E5C3C), UINT64_C(0x0005E462DCD8F74D),
2653           UINT64_C(0x00002FB868905F55), UINT64_C(0x0006227264E559AC),
2654           UINT64_C(0x0005DCC2ACD4BE01), UINT64_C(0x0001754DD8D51BE7),
2655           UINT64_C(0x000254DBE11362D7), UINT64_C(0x00067071A34DAE0B)},
2656          {UINT64_C(0x00052B353E84B78C), UINT64_C(0x000564D48962EE3B),
2657           UINT64_C(0x000566CE4AC9469E), UINT64_C(0x00022969A603533F),
2658           UINT64_C(0x00057CBF4F23DA31), UINT64_C(0x000F413FE6288E6F),
2659           UINT64_C(0x00043A5E06D777D3), UINT64_C(0x0000D59724B433B0),
2660           UINT64_C(0x0004AC5FF7A4F7F5), UINT64_C(0x0007581748BFBCFE)}},
2661         {{UINT64_C(0x00051789D3E212FA), UINT64_C(0x0000BCEB94909B13),
2662           UINT64_C(0x00028C362BBCB45E), UINT64_C(0x00070EF351F3B7C0),
2663           UINT64_C(0x000666ECDEB8047E), UINT64_C(0x00078E439202364E),
2664           UINT64_C(0x0007E77E6140B4A9), UINT64_C(0x000482D5B04DDC11),
2665           UINT64_C(0x0001764AEFADC75A), UINT64_C(0x0006B47820ED7E1B)},
2666          {UINT64_C(0x000E69076D92441D), UINT64_C(0x0007F96BE0ECA0A5),
2667           UINT64_C(0x0005B603DEE01A8E), UINT64_C(0x0002D1B5AEAB2F76),
2668           UINT64_C(0x0007A711B7087718), UINT64_C(0x000277D13CD92B5F),
2669           UINT64_C(0x0003AE287A233D24), UINT64_C(0x000666E9F9CC65A3),
2670           UINT64_C(0x000676645DDC4BCF), UINT64_C(0x0004C2FE8FE9D67B)},
2671          {UINT64_C(0x00027D78672C6C00), UINT64_C(0x0002479A6D9CA279),
2672           UINT64_C(0x00072D4B69EE9EED), UINT64_C(0x000115C466A0FF92),
2673           UINT64_C(0x00040A74ED91DE82), UINT64_C(0x00007A983DF62653),
2674           UINT64_C(0x0003E0BD157BC637), UINT64_C(0x000257CF02231B18),
2675           UINT64_C(0x00021FB8D5B274BC), UINT64_C(0x00063F5ED86AF20B)}},
2676         {{UINT64_C(0x000417CD2C573949), UINT64_C(0x0005C0A0F0D85A83),
2677           UINT64_C(0x0004BCA59A389EFA), UINT64_C(0x0004BC9A8EDBAE72),
2678           UINT64_C(0x00031DA12B0ED484), UINT64_C(0x000361F7E36F579E),
2679           UINT64_C(0x0002F55EEE1A1AB5), UINT64_C(0x0001FE95A3CDAB65),
2680           UINT64_C(0x0000BD0E2F996073), UINT64_C(0x00069840C7AEA37F)},
2681          {UINT64_C(0x0008A8244C90AAE5), UINT64_C(0x000192938B5C4443),
2682           UINT64_C(0x00062E8381B8DA6E), UINT64_C(0x0002A57B4398E87B),
2683           UINT64_C(0x0001B401B603039D), UINT64_C(0x000F8931B08E2459),
2684           UINT64_C(0x0005FDE03EB7E448), UINT64_C(0x000042A4FFF29BE1),
2685           UINT64_C(0x0005548F632ED26F), UINT64_C(0x00007E01A00DDD53)},
2686          {UINT64_C(0x00009C5F1271C360), UINT64_C(0x00014712324EDF39),
2687           UINT64_C(0x00024AF2050F1BB5), UINT64_C(0x0000FB6B43AD3C7B),
2688           UINT64_C(0x00066F4AA55F0B74), UINT64_C(0x000C69A365B54877),
2689           UINT64_C(0x0000D87DE69BA1D3), UINT64_C(0x00001F390592ACB1),
2690           UINT64_C(0x0002D3ACDCBEEC70), UINT64_C(0x0006A6C9430F6DC5)}},
2691         {{UINT64_C(0x00076182951B9FCD), UINT64_C(0x00014DA2A6CA4A38),
2692           UINT64_C(0x00061C55C6BDE562), UINT64_C(0x0006ECA43E5605F8),
2693           UINT64_C(0x00006B6FFF6EC841), UINT64_C(0x0000713C0144812B),
2694           UINT64_C(0x00071F1D396EB0DD), UINT64_C(0x00071210D066A6DB),
2695           UINT64_C(0x000737CF73AC235F), UINT64_C(0x000056B844B68475)},
2696          {UINT64_C(0x0008F1CEAD60A1D0), UINT64_C(0x0000444231BD8012),
2697           UINT64_C(0x000445D6A0ED8B97), UINT64_C(0x0002DD91F0EEE5C0),
2698           UINT64_C(0x0003766A3BF6B231), UINT64_C(0x000F5C93D686296E),
2699           UINT64_C(0x000233237F38DC42), UINT64_C(0x0007525D1A3497EA),
2700           UINT64_C(0x0001819B905D774A), UINT64_C(0x0007FFB178F7CE0F)},
2701          {UINT64_C(0x000641A17722C8F1), UINT64_C(0x00079F1706850C02),
2702           UINT64_C(0x0006060CBB0518EB), UINT64_C(0x0002B66C8CB99F42),
2703           UINT64_C(0x00066E8E928880E6), UINT64_C(0x0001989CC847F22C),
2704           UINT64_C(0x0003469EEFF682ED), UINT64_C(0x0000D34A55978260),
2705           UINT64_C(0x00044C59D525236B), UINT64_C(0x000390050E10B720)}},
2706         {{UINT64_C(0x00009CD2BD71F4DB), UINT64_C(0x00029F23BB9D8BE1),
2707           UINT64_C(0x0000FB44276A7039), UINT64_C(0x0005F4E44D6437E8),
2708           UINT64_C(0x0004E5D5F5C4BB02), UINT64_C(0x000662EA552904DE),
2709           UINT64_C(0x00072BFD95DA12F6), UINT64_C(0x0006E4A9CCE5BBB7),
2710           UINT64_C(0x00035D0BE00D7A94), UINT64_C(0x0001C01BCE0CD7F9)},
2711          {UINT64_C(0x000C0AFD973DBCF3), UINT64_C(0x00064CE4BD3B9ACA),
2712           UINT64_C(0x0007702F5FC560D5), UINT64_C(0x0005E595BA3FBA8C),
2713           UINT64_C(0x0005B6BF254BF97D), UINT64_C(0x000576ABA05DA74C),
2714           UINT64_C(0x000010304EEBAB26), UINT64_C(0x00015D19F5797872),
2715           UINT64_C(0x00016D4017CFBF4A), UINT64_C(0x00026F6161725AEC)},
2716          {UINT64_C(0x00087F397AEAE324), UINT64_C(0x0005FA83BB5E2D0C),
2717           UINT64_C(0x0007223E58B05D25), UINT64_C(0x0003870F05A9B0F5),
2718           UINT64_C(0x0001A6AE5BF4D17D), UINT64_C(0x000EC0FEC7C22B4D),
2719           UINT64_C(0x0004123EA40B3D05), UINT64_C(0x0006AB321BCED2BF),
2720           UINT64_C(0x0005EB8B088ADF8C), UINT64_C(0x0006D4D7B749D913)}},
2721         {{UINT64_C(0x0004F5FA884DA730), UINT64_C(0x0000AF25F411BD67),
2722           UINT64_C(0x0003BA45D0584E3F), UINT64_C(0x0002185580D7028A),
2723           UINT64_C(0x00042C01189DCCED), UINT64_C(0x00008C6AE9B1ABB6),
2724           UINT64_C(0x00052E642E3C2B76), UINT64_C(0x0007310740FB3824),
2725           UINT64_C(0x000728038396164C), UINT64_C(0x000699C02D4658C4)},
2726          {UINT64_C(0x00079389C8FD6F3C), UINT64_C(0x000334AEF7344570),
2727           UINT64_C(0x000242D78C5A1222), UINT64_C(0x0003C2A690D38351),
2728           UINT64_C(0x0001CF5ACE9C51A0), UINT64_C(0x00055B466F344A63),
2729           UINT64_C(0x0007E983BE7FDAE4), UINT64_C(0x00055CFA24140C02),
2730           UINT64_C(0x000069CB7B9C5BD2), UINT64_C(0x0006188710431607)},
2731          {UINT64_C(0x00026F7B943A846D), UINT64_C(0x0002D01FFCEE4F40),
2732           UINT64_C(0x00018950D46B06FD), UINT64_C(0x000489C50B872A31),
2733           UINT64_C(0x0006350B0D584129), UINT64_C(0x0001F25CBB8B17E3),
2734           UINT64_C(0x0002C5C45781F165), UINT64_C(0x0005737448097914),
2735           UINT64_C(0x000511D83B88DD30), UINT64_C(0x000274954F75EF59)}},
2736         {{UINT64_C(0x000ECDBAA9D6B470), UINT64_C(0x0004FEAEC5FC07C4),
2737           UINT64_C(0x00006ACFE89ADEF6), UINT64_C(0x0001DA4AAD513147),
2738           UINT64_C(0x00067D3AF31AE9ED), UINT64_C(0x000A4B232569B195),
2739           UINT64_C(0x0004CF616E4681F8), UINT64_C(0x000644769BD5A3D2),
2740           UINT64_C(0x00025E58B311AC44), UINT64_C(0x00052C8B011460F8)},
2741          {UINT64_C(0x00045717702B786E), UINT64_C(0x00014A10820591ED),
2742           UINT64_C(0x00062D9363FA4EE1), UINT64_C(0x00022163012006D4),
2743           UINT64_C(0x000271B0D1CBDBE0), UINT64_C(0x00026F3A015A99D4),
2744           UINT64_C(0x0007C87580D2C201), UINT64_C(0x0001BF98F86FC444),
2745           UINT64_C(0x000138F3A6FA662A), UINT64_C(0x0001A06E15120B69)},
2746          {UINT64_C(0x0008025E88D639DD), UINT64_C(0x0000E347C30AA122),
2747           UINT64_C(0x0002589D8BA62AC4), UINT64_C(0x0002E11924750A60),
2748           UINT64_C(0x0001FBEE719BDB54), UINT64_C(0x0004C0C9348C22B4),
2749           UINT64_C(0x00057FD26F80CAC8), UINT64_C(0x00019B358CE6D1E3),
2750           UINT64_C(0x00007A93D359D2C5), UINT64_C(0x00077158FA133E83)}},
2751         {{UINT64_C(0x000D7DAFE61175ED), UINT64_C(0x0000E4504E665412),
2752           UINT64_C(0x0005FB729DDEE3EC), UINT64_C(0x000047F270C83BC2),
2753           UINT64_C(0x0005A73604DF6148), UINT64_C(0x000BD1E93DBD8BB5),
2754           UINT64_C(0x0000AC824EAD6B31), UINT64_C(0x0005FF3E8CE9DCC5),
2755           UINT64_C(0x00007CC6E8CFFAC1), UINT64_C(0x0002AFFEFFBB1A9A)},
2756          {UINT64_C(0x00023316BB40DF6E), UINT64_C(0x000481B56A077501),
2757           UINT64_C(0x00013E2A0B14557D), UINT64_C(0x000595D27B53FF98),
2758           UINT64_C(0x0003C19B9D245EB2), UINT64_C(0x000FE22605BBBE16),
2759           UINT64_C(0x0005BBC13BECC9C3), UINT64_C(0x0005555CC21B1639),
2760           UINT64_C(0x0006C7E755F4FE0A), UINT64_C(0x00004CED449C0043)},
2761          {UINT64_C(0x000F212C1FCCCAFA), UINT64_C(0x00065AA07D23A1F0),
2762           UINT64_C(0x000653B0A8787B0D), UINT64_C(0x0002764B66DA9938),
2763           UINT64_C(0x0001C729D799C70F), UINT64_C(0x000B8104F70D5296),
2764           UINT64_C(0x0002712DA31EC0BF), UINT64_C(0x00015C3C4923D483),
2765           UINT64_C(0x0005652F2FB13CB3), UINT64_C(0x00041664C0C8CDFC)}},
2766         {{UINT64_C(0x00082999B7AC4DE8), UINT64_C(0x00058A2CECA252A7),
2767           UINT64_C(0x00020C73280A45C0), UINT64_C(0x000450DA84CA8CD7),
2768           UINT64_C(0x0007BF0E4090350D), UINT64_C(0x000ADF283C44352A),
2769           UINT64_C(0x0003E4DCFC4CEE6B), UINT64_C(0x000763CA01B20C07),
2770           UINT64_C(0x00074828372B938A), UINT64_C(0x00022EC150908F6A)},
2771          {UINT64_C(0x0002582469359E84), UINT64_C(0x000228A33D25EEC6),
2772           UINT64_C(0x0006435073D85A7E), UINT64_C(0x000227840F93D3F5),
2773           UINT64_C(0x000262B1B8D3C804), UINT64_C(0x000340D7D4B65A82),
2774           UINT64_C(0x0003D2F31E1046E9), UINT64_C(0x0004F093EF407EAD),
2775           UINT64_C(0x0000739071C0CFCC), UINT64_C(0x00026D2395B09E2C)},
2776          {UINT64_C(0x000F54E820DEB8D8), UINT64_C(0x000587F5BBC119C5),
2777           UINT64_C(0x00033CF484DE2CE4), UINT64_C(0x00072D6E48747C29),
2778           UINT64_C(0x0001FC0C06AF6484), UINT64_C(0x00072C72C472F425),
2779           UINT64_C(0x0006A997E7AC72B4), UINT64_C(0x000615BA71BDA74C),
2780           UINT64_C(0x000194736B2BCBEA), UINT64_C(0x00053764E1CF34DF)}},
2781     },
2782     {
2783         {{UINT64_C(0x000869A43C294C54), UINT64_C(0x0003CB29D7749693),
2784           UINT64_C(0x0007C4909DB7E1DF), UINT64_C(0x0005228EB2FBC6A3),
2785           UINT64_C(0x0001416FC12D302E), UINT64_C(0x00091471B10D8725),
2786           UINT64_C(0x0001E08AA9DECE88), UINT64_C(0x000587A018AD629C),
2787           UINT64_C(0x0006C4A4C27A1DCA), UINT64_C(0x0005C28EBD109BCD)},
2788          {UINT64_C(0x000F17D6F444B156), UINT64_C(0x00010614A6278D4D),
2789           UINT64_C(0x00004E296EC65945), UINT64_C(0x000764A3D99A6C4C),
2790           UINT64_C(0x0003AC1DDF8C7862), UINT64_C(0x000A1BDC47EBAF83),
2791           UINT64_C(0x000575E7E4E6E02D), UINT64_C(0x000346FF3FA7D4EF),
2792           UINT64_C(0x0006490E0AA55F9E), UINT64_C(0x0003DE09135EA98D)},
2793          {UINT64_C(0x0004B1218EED069B), UINT64_C(0x0003A6C9EA9923A4),
2794           UINT64_C(0x0001EC1877C85728), UINT64_C(0x000300A0F14A71F6),
2795           UINT64_C(0x0006ECECC49016EB), UINT64_C(0x00058EED82849105),
2796           UINT64_C(0x000400ECD17E513E), UINT64_C(0x00060825E3952E96),
2797           UINT64_C(0x000565AE484D0F5D), UINT64_C(0x000209AD7372BC07)}},
2798         {{UINT64_C(0x000967088E9B527F), UINT64_C(0x0002672CB51B0152),
2799           UINT64_C(0x0000A1B79BAEC761), UINT64_C(0x0001174B982E833F),
2800           UINT64_C(0x00024E0D77B79A0D), UINT64_C(0x00047372BD137D72),
2801           UINT64_C(0x0000BD9098E4916F), UINT64_C(0x0002AE2E6C280D68),
2802           UINT64_C(0x000569AB6BDEC767), UINT64_C(0x0006EB14F61A266B)},
2803          {UINT64_C(0x000468847FDDE1A1), UINT64_C(0x0007E47FFAC321C1),
2804           UINT64_C(0x000099E09961D0C8), UINT64_C(0x0007F115DEAE525D),
2805           UINT64_C(0x000694F77EF9636E), UINT64_C(0x00040F8DDE23159D),
2806           UINT64_C(0x0006680E30AEF9BB), UINT64_C(0x0006B528CEF988BE),
2807           UINT64_C(0x000518BE82D6063B), UINT64_C(0x00022B8C074B2105)},
2808          {UINT64_C(0x0003A4C05B585761), UINT64_C(0x0003528539A1DAD4),
2809           UINT64_C(0x000540826053F31F), UINT64_C(0x0003BA075642B0C7),
2810           UINT64_C(0x000368D07DE9484A), UINT64_C(0x000B3D3E8D9BA85E),
2811           UINT64_C(0x0007550F9A53DD73), UINT64_C(0x000041A194358CC9),
2812           UINT64_C(0x0004F9F0386A50A1), UINT64_C(0x00041D37DCFBA507)}},
2813         {{UINT64_C(0x00024FF20ED85567), UINT64_C(0x00026ACB40B58156),
2814           UINT64_C(0x0002C9398F6DD650), UINT64_C(0x00030160273B8447),
2815           UINT64_C(0x0002E3773B782B9F), UINT64_C(0x0007030F6938A06B),
2816           UINT64_C(0x0004E62A1384F897), UINT64_C(0x000225C672A35300),
2817           UINT64_C(0x0005C1F66CAD5B3A), UINT64_C(0x0005832B4574C046)},
2818          {UINT64_C(0x0006B08E0399855F), UINT64_C(0x0000E9671A6388F9),
2819           UINT64_C(0x0006596FB4577230), UINT64_C(0x00041255210F89BD),
2820           UINT64_C(0x00058F5E2E72B2D8), UINT64_C(0x0003DEA57DF34241),
2821           UINT64_C(0x00021714F7980B29), UINT64_C(0x00033241DDA8B0E5),
2822           UINT64_C(0x000502E01B9EF7BE), UINT64_C(0x00027166556F5433)},
2823          {UINT64_C(0x0002068F4390F72B), UINT64_C(0x000037FC7DD50F35),
2824           UINT64_C(0x0003D7105B085171), UINT64_C(0x0003F4A9D00E2D1B),
2825           UINT64_C(0x00036BA34F00ADB8), UINT64_C(0x000BAA7FD102D0DF),
2826           UINT64_C(0x0006D540C7AB1FE3), UINT64_C(0x0006D399320CD3FB),
2827           UINT64_C(0x00000969ECDCA36E), UINT64_C(0x000736A5F44C73E5)}},
2828         {{UINT64_C(0x000A1EA8102BF7EA), UINT64_C(0x00076681D903FE4E),
2829           UINT64_C(0x00016827A8F7E29F), UINT64_C(0x000041D34C09DF5C),
2830           UINT64_C(0x0003C9643E4AE7F0), UINT64_C(0x000AA849BA118FEC),
2831           UINT64_C(0x0004F8B809BA8FD8), UINT64_C(0x0000D32D898D1E18),
2832           UINT64_C(0x00057AF4934DCD86), UINT64_C(0x000564F85C2CDDAD)},
2833          {UINT64_C(0x000E180C6892618B), UINT64_C(0x0006FF7240030636),
2834           UINT64_C(0x000366CD397F1774), UINT64_C(0x0005728BDC33187B),
2835           UINT64_C(0x0000B3266F640DCE), UINT64_C(0x000128B8A25D3F67),
2836           UINT64_C(0x0007708EE6E8BF9F), UINT64_C(0x00046A93620B4A05),
2837           UINT64_C(0x0007290D084B52EC), UINT64_C(0x000739810783526B)},
2838          {UINT64_C(0x000CC39B5FFAF5D7), UINT64_C(0x0003C6202DA25104),
2839           UINT64_C(0x00062CC8759BDEDE), UINT64_C(0x00036D29F17389AF),
2840           UINT64_C(0x00012C6A9C28C6C5), UINT64_C(0x0009DCE18E457FFC),
2841           UINT64_C(0x0004ECCE05180B2B), UINT64_C(0x000596ACCF512291),
2842           UINT64_C(0x00062945DAA66E26), UINT64_C(0x00050AD4823F6CFD)}},
2843         {{UINT64_C(0x000A8CC651B80948), UINT64_C(0x0001E1750AC465BE),
2844           UINT64_C(0x000187C1C7A67AC8), UINT64_C(0x0006F89CE139F631),
2845           UINT64_C(0x00036828EE424F47), UINT64_C(0x000F2D70AE145D31),
2846           UINT64_C(0x0004B3577A19593F), UINT64_C(0x0001B7EA66A3F33D),
2847           UINT64_C(0x00077FC34430FB8C), UINT64_C(0x0007F27E8D488429)},
2848          {UINT64_C(0x000F6CC160A3C9DE), UINT64_C(0x000192CEF1A784E0),
2849           UINT64_C(0x00055B5C5AEEC896), UINT64_C(0x0006D5903202D1D5),
2850           UINT64_C(0x00044EE2B9F57100), UINT64_C(0x00085703712819CA),
2851           UINT64_C(0x00050908533B6653), UINT64_C(0x0003454ED72A02D5),
2852           UINT64_C(0x00070AC25F6383E3), UINT64_C(0x00048EB15CD43A55)},
2853          {UINT64_C(0x000A62A87FDE7680), UINT64_C(0x0001AF035CE0A44A),
2854           UINT64_C(0x0007F2C92A8D048E), UINT64_C(0x0000CEE23583E470),
2855           UINT64_C(0x00003B703640D1F1), UINT64_C(0x00098B27784DA23E),
2856           UINT64_C(0x0003A7C34610E147), UINT64_C(0x00073D1ABE50B09E),
2857           UINT64_C(0x0002938FFA96CAB7), UINT64_C(0x0003E1959EF246D8)}},
2858         {{UINT64_C(0x0001869BB1B94C69), UINT64_C(0x00051734C75D4111),
2859           UINT64_C(0x00000E8A85605AF9), UINT64_C(0x00047660F7146E01),
2860           UINT64_C(0x00026CB57D10B81E), UINT64_C(0x0006DC6E8E61EABF),
2861           UINT64_C(0x00040BDBDDA25575), UINT64_C(0x000621970F444FB0),
2862           UINT64_C(0x0005A68915E84863), UINT64_C(0x0003FC0413B2B9DB)},
2863          {UINT64_C(0x00057BA222699263), UINT64_C(0x0007645EE7373008),
2864           UINT64_C(0x0001A2F8038B610D), UINT64_C(0x000677556F7C8C70),
2865           UINT64_C(0x0004CE4E5D52ADBA), UINT64_C(0x000CAE8AF894C9EB),
2866           UINT64_C(0x000289D1174CA2E9), UINT64_C(0x00032825A0B38AD1),
2867           UINT64_C(0x0002D70424509A50), UINT64_C(0x000588C224908678)},
2868          {UINT64_C(0x000EC8195559B033), UINT64_C(0x0004928CC1FABC5C),
2869           UINT64_C(0x0007E050DE738A9E), UINT64_C(0x0003E981A0A1EF6A),
2870           UINT64_C(0x00001FE76C501153), UINT64_C(0x000CB9239B643220),
2871           UINT64_C(0x0006875D72093E18), UINT64_C(0x00025CA8156C881B),
2872           UINT64_C(0x00048360BD70DA5F), UINT64_C(0x00012C76B37E5C67)}},
2873         {{UINT64_C(0x000CADFF54C5FC61), UINT64_C(0x0003100C3F2C3EC2),
2874           UINT64_C(0x00072D1EA82213E6), UINT64_C(0x0007F17AA56C2E31),
2875           UINT64_C(0x0006CBE667300217), UINT64_C(0x000A75C32AC1D00C),
2876           UINT64_C(0x0000900399B302FC), UINT64_C(0x00066D6BDEE4B606),
2877           UINT64_C(0x00005EFA0E987CE1), UINT64_C(0x0002C879F735E948)},
2878          {UINT64_C(0x0002780923AD1294), UINT64_C(0x00050A7906F38719),
2879           UINT64_C(0x0004D2CE3806BCDB), UINT64_C(0x0006D8F87C7B1F2D),
2880           UINT64_C(0x0005BC54F9F117E6), UINT64_C(0x000AFCE58A3CEADC),
2881           UINT64_C(0x000026B8F094B4FB), UINT64_C(0x000511D8D0A6A1C0),
2882           UINT64_C(0x00026046F65CA5CE), UINT64_C(0x0007B31882AB5612)},
2883          {UINT64_C(0x00019F342DF704E3), UINT64_C(0x00053617515314C8),
2884           UINT64_C(0x000622A658FC7975), UINT64_C(0x0006453B59E91EF8),
2885           UINT64_C(0x00042BFDC9994A46), UINT64_C(0x000238C1575D2AF0),
2886           UINT64_C(0x00029CD2DC2AE52F), UINT64_C(0x000479332C429AD4),
2887           UINT64_C(0x000428FDA62FAFFA), UINT64_C(0x0007D90C15C992EF)}},
2888         {{UINT64_C(0x000E4A20CED7FD14), UINT64_C(0x0004C97EA9E0328B),
2889           UINT64_C(0x0006E9445684BABF), UINT64_C(0x000151806F26ED39),
2890           UINT64_C(0x0001160C77905467), UINT64_C(0x000C6609DEA0FC1A),
2891           UINT64_C(0x0002A722284AD939), UINT64_C(0x00003ADBE879DBC4),
2892           UINT64_C(0x00015AC0555FD701), UINT64_C(0x0001F94BEBDB96D9)},
2893          {UINT64_C(0x0004AAF2301F16D2), UINT64_C(0x0007F51734ABB20B),
2894           UINT64_C(0x00042C8A35243B42), UINT64_C(0x0001B3820B36100F),
2895           UINT64_C(0x000115444F5C6CAF), UINT64_C(0x000F3926D4333445),
2896           UINT64_C(0x000587A6557C80D0), UINT64_C(0x000665447A091344),
2897           UINT64_C(0x0003F84BD9CE1BCA), UINT64_C(0x0007200779A07D57)},
2898          {UINT64_C(0x000C61B46E3949CF), UINT64_C(0x0000D8E735ED00B6),
2899           UINT64_C(0x00048A5E9F98CEA3), UINT64_C(0x00024C0D94F3C634),
2900           UINT64_C(0x000538D79B7A6393), UINT64_C(0x00021002B287137D),
2901           UINT64_C(0x000799366E30C2E8), UINT64_C(0x0006B1AF8463E70D),
2902           UINT64_C(0x00048CDE10CB3E51), UINT64_C(0x00017412D6535F95)}},
2903         {{UINT64_C(0x000BAA4CCFEC442D), UINT64_C(0x0005DDC1184E8BA8),
2904           UINT64_C(0x0007D1F6A8B018EA), UINT64_C(0x000769A32FD77A23),
2905           UINT64_C(0x0002355FBFEE11A4), UINT64_C(0x000D2BB5D9500DE9),
2906           UINT64_C(0x000351D470C5EA4E), UINT64_C(0x0004BDBFBB0E40E5),
2907           UINT64_C(0x0001A757E0DE9DFA), UINT64_C(0x0005DD504BAB40E2)},
2908          {UINT64_C(0x000D79053EF41593), UINT64_C(0x0000C6229EE33D5E),
2909           UINT64_C(0x0004C4A2E362ED5D), UINT64_C(0x0006D21696B79D70),
2910           UINT64_C(0x000530ED2DF8E89F), UINT64_C(0x00033E8AD160078D),
2911           UINT64_C(0x000188BB911588CC), UINT64_C(0x0001659B61A4C110),
2912           UINT64_C(0x0000AC04E00E10DC), UINT64_C(0x0007BAAFBA1435EF)},
2913          {UINT64_C(0x000F5FC78EDB6AE0), UINT64_C(0x00053D7865FB725A),
2914           UINT64_C(0x0006ED24F885E307), UINT64_C(0x0005CE843771EF4F),
2915           UINT64_C(0x00058D6256C79CC2), UINT64_C(0x00010C8CBB613DE9),
2916           UINT64_C(0x0004D23EBA7C20F7), UINT64_C(0x0004AAB81D2BD1A4),
2917           UINT64_C(0x0007EAA3AAB8A668), UINT64_C(0x0003973523884C90)}},
2918         {{UINT64_C(0x000D315BCC6A4EBE), UINT64_C(0x00023AE21C0D026D),
2919           UINT64_C(0x00074CC51E26A4A7), UINT64_C(0x0004EABBCED74E32),
2920           UINT64_C(0x0006B0E906F48456), UINT64_C(0x0001FD94BDF2BC16),
2921           UINT64_C(0x0002B3738B72AE1B), UINT64_C(0x0006DDA66FC3E72B),
2922           UINT64_C(0x0000A0BAE6CE73F8), UINT64_C(0x000649ACF7A899F4)},
2923          {UINT64_C(0x000B963804F8D424), UINT64_C(0x0006F39A9330D7C7),
2924           UINT64_C(0x0004A7B044BBF992), UINT64_C(0x0003B6ACEE3101AE),
2925           UINT64_C(0x000380FD2850FBDA), UINT64_C(0x000A7E356E4721CB),
2926           UINT64_C(0x0006D74381BB53BD), UINT64_C(0x00077C758E87A472),
2927           UINT64_C(0x00034ED47B90A5C1), UINT64_C(0x000541B8694A1D57)},
2928          {UINT64_C(0x000213F762157EAF), UINT64_C(0x0003DDFE58F8609F),
2929           UINT64_C(0x00051DB2894E81BD), UINT64_C(0x000217B6B6443ED1),
2930           UINT64_C(0x0003C3FD6874D805), UINT64_C(0x0009D6AC77E5E651),
2931           UINT64_C(0x000585C8D73CF003), UINT64_C(0x0001177F582F8B0D),
2932           UINT64_C(0x0006139F224E35C7), UINT64_C(0x00006B22BB7192B0)}},
2933         {{UINT64_C(0x0005C1F05010C834), UINT64_C(0x0003113280A7C18B),
2934           UINT64_C(0x000402B6DBFA220A), UINT64_C(0x00046EABCF726FB6),
2935           UINT64_C(0x000175B743915725), UINT64_C(0x000E4CE9A3461CCF),
2936           UINT64_C(0x0001C5E283A38DED), UINT64_C(0x0004D6C8A05331E5),
2937           UINT64_C(0x0006D2583BCB0A6F), UINT64_C(0x0003AAA41153FCC0)},
2938          {UINT64_C(0x000A352F702DDC40), UINT64_C(0x0007D7130B63AB8C),
2939           UINT64_C(0x00017012D62D24CA), UINT64_C(0x00036D6618341280),
2940           UINT64_C(0x00042CD7A92424EC), UINT64_C(0x0004455D81496370),
2941           UINT64_C(0x0002C71773A15E7B), UINT64_C(0x000319726F43A64E),
2942           UINT64_C(0x00061BA3963EE4E5), UINT64_C(0x0006EA9AD805A571)},
2943          {UINT64_C(0x0001C51E5B6AE1BB), UINT64_C(0x0000940E67BDF3D8),
2944           UINT64_C(0x0004303CE5522A77), UINT64_C(0x0007682D028A84C6),
2945           UINT64_C(0x00054D741BEDE444), UINT64_C(0x00049041A3E00485),
2946           UINT64_C(0x00061D64B9E535C8), UINT64_C(0x00026B36E1180C79),
2947           UINT64_C(0x00037DC2FB4BBDCE), UINT64_C(0x0003E50BD67DF773)}},
2948         {{UINT64_C(0x0009A8E363B551FC), UINT64_C(0x0003C8F4B97600B8),
2949           UINT64_C(0x0002AC4D3F80805A), UINT64_C(0x0007F634F89272C9),
2950           UINT64_C(0x0005018AAD3C2F10), UINT64_C(0x000839F5851BC891),
2951           UINT64_C(0x00051EB91313038C), UINT64_C(0x00008705A06CCCC9),
2952           UINT64_C(0x00055961D9C37E66), UINT64_C(0x00065992B370FB1A)},
2953          {UINT64_C(0x000033C42B482130), UINT64_C(0x00001ED0534D30B9),
2954           UINT64_C(0x0003CCB1B89FEFCA), UINT64_C(0x00027E1B2B1E8762),
2955           UINT64_C(0x0001B4D9C8C9A94E), UINT64_C(0x000B112BA6074641),
2956           UINT64_C(0x0001600271D8DC7A), UINT64_C(0x0003D379BCAB026B),
2957           UINT64_C(0x000023990289F9BD), UINT64_C(0x00034CB0141402B9)},
2958          {UINT64_C(0x000FC8B21E970F5A), UINT64_C(0x000645D4DAFEA6BA),
2959           UINT64_C(0x0004AB31A4584708), UINT64_C(0x00042A82D72C4005),
2960           UINT64_C(0x00018A07C94BFF8F), UINT64_C(0x000B940457D4526F),
2961           UINT64_C(0x0002B84EF0E2C65C), UINT64_C(0x00015EDE587F066A),
2962           UINT64_C(0x0007B339EA0568AD), UINT64_C(0x0000C15683B4ED21)}},
2963         {{UINT64_C(0x000C2A3BC5E45C10), UINT64_C(0x00019DD27F647208),
2964           UINT64_C(0x0001CC4D0E9788D9), UINT64_C(0x000239D5295ABFF1),
2965           UINT64_C(0x00006A78F80338D3), UINT64_C(0x000D38F708F1447E),
2966           UINT64_C(0x0005402FECD5F832), UINT64_C(0x00003152B770F7D0),
2967           UINT64_C(0x000727F40CC0FE28), UINT64_C(0x000201310EEDAB24)},
2968          {UINT64_C(0x0003A811FB4DE1FA), UINT64_C(0x0003F2DC5B4E9FC4),
2969           UINT64_C(0x00071A6F274F0FCE), UINT64_C(0x000767549B19F783),
2970           UINT64_C(0x00025B2A9BF40B8C), UINT64_C(0x000419CB0D40B471),
2971           UINT64_C(0x000160FCD458E327), UINT64_C(0x0001AED850052B97),
2972           UINT64_C(0x000655AB35DEDE29), UINT64_C(0x000502A05E2F8319)},
2973          {UINT64_C(0x000338A047D08030), UINT64_C(0x00050A7982BB722B),
2974           UINT64_C(0x000383E0216F4B3F), UINT64_C(0x0004C7A4ED9B9E89),
2975           UINT64_C(0x0004E87685DC7649), UINT64_C(0x0006D484C7EBB3E3),
2976           UINT64_C(0x0006DE1BC9FDC618), UINT64_C(0x0005BD6D2BB413A0),
2977           UINT64_C(0x000049BD7BE1BE65), UINT64_C(0x00016C04FAA43BB8)}},
2978         {{UINT64_C(0x00004480CB2786D2), UINT64_C(0x00016A7099089F43),
2979           UINT64_C(0x0004937243CD80DB), UINT64_C(0x00012750E73A6278),
2980           UINT64_C(0x000626538BE283B6), UINT64_C(0x00040FA0E5894E03),
2981           UINT64_C(0x0006BF9036149B73), UINT64_C(0x000340A6643F7198),
2982           UINT64_C(0x0000FDF9E90AE71F), UINT64_C(0x0002026C7AB86EA7)},
2983          {UINT64_C(0x000D16EFFDC6C167), UINT64_C(0x00079987485ACAFE),
2984           UINT64_C(0x00044ECAA2B81CB1), UINT64_C(0x00012E547660B8E8),
2985           UINT64_C(0x0007B1BE4F5084D6), UINT64_C(0x00035ECD495C1561),
2986           UINT64_C(0x00019428F31961AD), UINT64_C(0x0003A909AF294BAC),
2987           UINT64_C(0x0002EBAA89C6DB55), UINT64_C(0x00074D7085DEC609)},
2988          {UINT64_C(0x00012AC41AD9E34A), UINT64_C(0x0002CD879D1C83F1),
2989           UINT64_C(0x0001DB74B741FC14), UINT64_C(0x00066DA29E07A4EC),
2990           UINT64_C(0x00000D7E37FEFC54), UINT64_C(0x000A26B97A5598EA),
2991           UINT64_C(0x000615C93236E843), UINT64_C(0x000382BC16FB3B6F),
2992           UINT64_C(0x00025E0626E0106E), UINT64_C(0x0005854D6D92CC47)}},
2993         {{UINT64_C(0x000B6DA23DC37DD7), UINT64_C(0x000627D60888F4D0),
2994           UINT64_C(0x000182E4C16CC439), UINT64_C(0x000190A2AEAAD64F),
2995           UINT64_C(0x00058A080ED83FEF), UINT64_C(0x000C475B09289638),
2996           UINT64_C(0x00000A2B7CF8481F), UINT64_C(0x00002B5319E8BC29),
2997           UINT64_C(0x00007FF5582B8B07), UINT64_C(0x00071CFF2B7D8A99)},
2998          {UINT64_C(0x000799B83F3B4462), UINT64_C(0x00074ABE8CF43DF5),
2999           UINT64_C(0x00021C8FA0636722), UINT64_C(0x00057366BE84D1CC),
3000           UINT64_C(0x00004CD7BD66A8D7), UINT64_C(0x00071899B3473BA8),
3001           UINT64_C(0x0000747B62595049), UINT64_C(0x00006097B2D1993A),
3002           UINT64_C(0x0004CC30EDA24173), UINT64_C(0x00027116E4563311)},
3003          {UINT64_C(0x0004C7419A1E733D), UINT64_C(0x0000541AD1C0EEBF),
3004           UINT64_C(0x0001BAB59CF44E81), UINT64_C(0x00056EA6AA62AA42),
3005           UINT64_C(0x000088CBEBB0E2E1), UINT64_C(0x0004D93FA0BF3D38),
3006           UINT64_C(0x0001F22C909EE410), UINT64_C(0x00006B1E6CAC473B),
3007           UINT64_C(0x00019E125E7B6046), UINT64_C(0x0001CFB3D7B37E4E)}},
3008         {{UINT64_C(0x00048754583A8735), UINT64_C(0x0007C03868E916A6),
3009           UINT64_C(0x0007B4DCB70752B4), UINT64_C(0x0004EC5FBA952102),
3010           UINT64_C(0x00030F2C4A828172), UINT64_C(0x00023232F926F234),
3011           UINT64_C(0x0007257074636C00), UINT64_C(0x0007BBA1745B61D3),
3012           UINT64_C(0x0004606E90A58313), UINT64_C(0x0007E22E07DE154B)},
3013          {UINT64_C(0x0006C2E97C0DBC05), UINT64_C(0x00054DEBDD212630),
3014           UINT64_C(0x0002C65F92437420), UINT64_C(0x00024DA821327EDC),
3015           UINT64_C(0x000580B8B7AD4E87), UINT64_C(0x0001CF81FE5285E9),
3016           UINT64_C(0x0006DD81D32634A6), UINT64_C(0x0003338A292D42A1),
3017           UINT64_C(0x000025E961008BC1), UINT64_C(0x00036D9C01BA5AB9)},
3018          {UINT64_C(0x000DC6D75F088499), UINT64_C(0x0000A65C50F7E24F),
3019           UINT64_C(0x00045F9DC37DEEF4), UINT64_C(0x0007A85A69654899),
3020           UINT64_C(0x0004F6026DDF5B58), UINT64_C(0x00013EF829317A2A),
3021           UINT64_C(0x00021C7A10A33027), UINT64_C(0x000556BF6AB7F742),
3022           UINT64_C(0x0001388625C5DA4A), UINT64_C(0x000515466D6ABA32)}},
3023     },
3024     {
3025         {{UINT64_C(0x0006AEDBD4096564), UINT64_C(0x0004FA8B9BD472A8),
3026           UINT64_C(0x000518E920FABD7C), UINT64_C(0x00035641C8964A33),
3027           UINT64_C(0x0003B7F827A7DEB4), UINT64_C(0x00087747322CE9B7),
3028           UINT64_C(0x0000065AF64E2636), UINT64_C(0x0007E118D796640B),
3029           UINT64_C(0x00022A725F5CDAF8), UINT64_C(0x0006482AF75091E7)},
3030          {UINT64_C(0x0004D5F5FBAF23D8), UINT64_C(0x00018961AF8EF02D),
3031           UINT64_C(0x0004410974A5C748), UINT64_C(0x0003671CA4C34023),
3032           UINT64_C(0x000198D894EF5FDF), UINT64_C(0x00045C045A1A5DA1),
3033           UINT64_C(0x00006A2E629F4DBD), UINT64_C(0x0005EF0CF4FEC9BD),
3034           UINT64_C(0x0002E56472C2285E), UINT64_C(0x000081F06DCB9DCB)},
3035          {UINT64_C(0x000E80FFCADCC17A), UINT64_C(0x00005936ED4B05E0),
3036           UINT64_C(0x0005E5192BD5AE9E), UINT64_C(0x0004DAF3465C58CF),
3037           UINT64_C(0x0006378BB4FAF5A0), UINT64_C(0x000CD0DB0E0B2AB7),
3038           UINT64_C(0x00059295D7556578), UINT64_C(0x00017B233F34BAA3),
3039           UINT64_C(0x0002571548CAFBE4), UINT64_C(0x0005236D086B5D11)}},
3040         {{UINT64_C(0x000C6C8A8FEAF23E), UINT64_C(0x00015B3EACB47609),
3041           UINT64_C(0x0001C051945F47AE), UINT64_C(0x0003BB72E86D1518),
3042           UINT64_C(0x0002F0317989531D), UINT64_C(0x000734207AD0F517),
3043           UINT64_C(0x000363F8254FFC55), UINT64_C(0x00016DC567D3F213),
3044           UINT64_C(0x0004C688524FC6D3), UINT64_C(0x000156E27F2C4E00)},
3045          {UINT64_C(0x00094738AD2D4E84), UINT64_C(0x000308AECD530FE4),
3046           UINT64_C(0x0003502EB6F601CA), UINT64_C(0x0000A8DF04C92C06),
3047           UINT64_C(0x00050EB08481C052), UINT64_C(0x000AA7EB925117D8),
3048           UINT64_C(0x00049599E1644BCD), UINT64_C(0x0005C13296C44839),
3049           UINT64_C(0x000500DE14878BFC), UINT64_C(0x00071AD4469CF9E7)},
3050          {UINT64_C(0x000E2FB921857436), UINT64_C(0x00043A88AF65DD1C),
3051           UINT64_C(0x0007AE448925AD60), UINT64_C(0x000665712480CF54),
3052           UINT64_C(0x0002182C680974A7), UINT64_C(0x000A0E7328765D70),
3053           UINT64_C(0x000268DF8BD38233), UINT64_C(0x0006919944C2A877),
3054           UINT64_C(0x0007783F5CA85F2D), UINT64_C(0x000739F3727C396A)}},
3055         {{UINT64_C(0x000E191F38D6E32D), UINT64_C(0x0003D053DFEFE14D),
3056           UINT64_C(0x0006103BF922921F), UINT64_C(0x0002781AB0853980),
3057           UINT64_C(0x0004D1652DB90908), UINT64_C(0x0005E1F759009BDD),
3058           UINT64_C(0x00019A45C89003A3), UINT64_C(0x0006A14C19DCA07A),
3059           UINT64_C(0x0005D837A9C8F3A6), UINT64_C(0x0000DE43E792E061)},
3060          {UINT64_C(0x000058271D24FD29), UINT64_C(0x00068BAB21F6CEE4),
3061           UINT64_C(0x0004478711E724E4), UINT64_C(0x0006CEF29CE967CC),
3062           UINT64_C(0x0004B50277D6D492), UINT64_C(0x0004164FBC658CA4),
3063           UINT64_C(0x0005AF1234A44C70), UINT64_C(0x0003BD47313B580F),
3064           UINT64_C(0x0006BC5D3649D3EC), UINT64_C(0x0007638ACC404B36)},
3065          {UINT64_C(0x00025CAF5D092528), UINT64_C(0x00015409EDAAF2E8),
3066           UINT64_C(0x00058CB7B8A5B798), UINT64_C(0x0007CA6671CF0F3C),
3067           UINT64_C(0x00052C52122B9340), UINT64_C(0x000DB0C96E176FB1),
3068           UINT64_C(0x00055085B46D6018), UINT64_C(0x0002FDD65EB673C5),
3069           UINT64_C(0x0000B19A0B489654), UINT64_C(0x0002A275A7E071D2)}},
3070         {{UINT64_C(0x0001A067462A7A3F), UINT64_C(0x0007CAA8EAE4E2D4),
3071           UINT64_C(0x0004DFDFC8AE5719), UINT64_C(0x0007F8F8369F764C),
3072           UINT64_C(0x0002A33657D7196B), UINT64_C(0x000ACE1F520DCA38),
3073           UINT64_C(0x00015FA3A1F57752), UINT64_C(0x00001065EF98FA0B),
3074           UINT64_C(0x0004F22D7351AD00), UINT64_C(0x0000B4988C661B8F)},
3075          {UINT64_C(0x000C5FDC9DF374E1), UINT64_C(0x00033D547A4D226B),
3076           UINT64_C(0x0002DA94FE5AD02C), UINT64_C(0x0005207148BDD3C7),
3077           UINT64_C(0x0001521F51FF31A6), UINT64_C(0x00048B1F8084AD9F),
3078           UINT64_C(0x000169D55C98C3B6), UINT64_C(0x00016716681D2998),
3079           UINT64_C(0x00076D65C8585D2D), UINT64_C(0x000503C6F5CC1008)},
3080          {UINT64_C(0x000CE3789E67601E), UINT64_C(0x0000F38B3450DF49),
3081           UINT64_C(0x0003E6488733B404), UINT64_C(0x000128DC95E3F8DB),
3082           UINT64_C(0x0003405A39A11293), UINT64_C(0x000E8E6112B3A418),
3083           UINT64_C(0x00046B9A7FFCE45B), UINT64_C(0x0005D9582699F55F),
3084           UINT64_C(0x000509DE86896EE8), UINT64_C(0x000253344BD2D25A)}},
3085         {{UINT64_C(0x000A74347CE9D01B), UINT64_C(0x00044CA58D3D8F8A),
3086           UINT64_C(0x00050F0D0D68B95B), UINT64_C(0x00066CFA1182777D),
3087           UINT64_C(0x0000B0C791214C7B), UINT64_C(0x0002416F6ECE0445),
3088           UINT64_C(0x00049F613047A77F), UINT64_C(0x00070690C94185C7),
3089           UINT64_C(0x0006E6203DEAD6C4), UINT64_C(0x00030B26F58B9536)},
3090          {UINT64_C(0x000A58FA609D2E01), UINT64_C(0x000678958763572F),
3091           UINT64_C(0x000767549D4EB411), UINT64_C(0x0007809D91FE5A98),
3092           UINT64_C(0x00013335B8563F17), UINT64_C(0x0009523C3394E0DA),
3093           UINT64_C(0x00048A10A1B96912), UINT64_C(0x000742BA8C558752),
3094           UINT64_C(0x00009B3582D1EFD9), UINT64_C(0x00016EAF2C3E1BD3)},
3095          {UINT64_C(0x000E2DC67D5E5A88), UINT64_C(0x000598CF6F4EF704),
3096           UINT64_C(0x00011C238E331841), UINT64_C(0x0002E1CA17ED944C),
3097           UINT64_C(0x0007FEA87E3DB53D), UINT64_C(0x0000B99FCC76BB95),
3098           UINT64_C(0x0000BBF95F7E3AB4), UINT64_C(0x000445911CBCE6F1),
3099           UINT64_C(0x00062C0AEE9E79DF), UINT64_C(0x0001ABB8605E684D)}},
3100         {{UINT64_C(0x0003871499B1866E), UINT64_C(0x00026E19448C89A9),
3101           UINT64_C(0x00007B6CB1356919), UINT64_C(0x0007B5EFC7773779),
3102           UINT64_C(0x00071541CD774F9C), UINT64_C(0x0000D81B8DC56F51),
3103           UINT64_C(0x000590BBF413B605), UINT64_C(0x000312F6FCC71713),
3104           UINT64_C(0x00040195ACA7265C), UINT64_C(0x00026C0F46908F3B)},
3105          {UINT64_C(0x000C3CFC3518AB54), UINT64_C(0x0002C5FF27FA6953),
3106           UINT64_C(0x00009C03C91FECE0), UINT64_C(0x00063E758C4A409F),
3107           UINT64_C(0x00047ED48DD883AF), UINT64_C(0x000D3B409A02DCB3),
3108           UINT64_C(0x000710E2A1D5CBE9), UINT64_C(0x0007DC251BA3E052),
3109           UINT64_C(0x00045E9A29900763), UINT64_C(0x0000A7C951A4128D)},
3110          {UINT64_C(0x000B48959A040E34), UINT64_C(0x000641FBFBA37FEE),
3111           UINT64_C(0x0006D6D531398A6F), UINT64_C(0x0005F4725764937E),
3112           UINT64_C(0x0000FB5E7D595AF7), UINT64_C(0x0002A0E33F31CD55),
3113           UINT64_C(0x000171D3C6F621A1), UINT64_C(0x00030886FC60A83C),
3114           UINT64_C(0x0002375FEAAB3B40), UINT64_C(0x000656142FE41FD8)}},
3115         {{UINT64_C(0x00088D813F345513), UINT64_C(0x0006B33BA57A93E0),
3116           UINT64_C(0x0004C7985F7EFB17), UINT64_C(0x0000AD075424ADBA),
3117           UINT64_C(0x0004E8F7946DF6B2), UINT64_C(0x000C112D1F980523),
3118           UINT64_C(0x00049E755D0280A1), UINT64_C(0x0002D0BE2A1F153A),
3119           UINT64_C(0x0003488C3095B641), UINT64_C(0x0004DB1E9A0CD854)},
3120          {UINT64_C(0x000827E184A33715), UINT64_C(0x00026FFF534D1DE2),
3121           UINT64_C(0x0005B116ED309D3B), UINT64_C(0x00040C8D9923F968),
3122           UINT64_C(0x000254D6262F127D), UINT64_C(0x000EB4C401A02B57),
3123           UINT64_C(0x0007C1A5CD19481B), UINT64_C(0x0004E994D22CB148),
3124           UINT64_C(0x0002FD14D8E9A6FF), UINT64_C(0x0003F3B0B506E8EF)},
3125          {UINT64_C(0x0000ACBB2192D0D4), UINT64_C(0x0005AD437C1137DA),
3126           UINT64_C(0x000194DF8F4978FE), UINT64_C(0x000569F428FCD681),
3127           UINT64_C(0x000440AB84EBDA2E), UINT64_C(0x0000071ACB2B9B94),
3128           UINT64_C(0x00036495A727E109), UINT64_C(0x0002C7BBFBC4670C),
3129           UINT64_C(0x00070DF23A25F661), UINT64_C(0x00028B24AE967AD8)}},
3130         {{UINT64_C(0x000A0F56D26C19CD), UINT64_C(0x0002199EFE6C17CF),
3131           UINT64_C(0x000234D29F1CA747), UINT64_C(0x00074E7EDAC788C6),
3132           UINT64_C(0x00056DEF769EC613), UINT64_C(0x0006DA5F9111D368),
3133           UINT64_C(0x00075019DED7070F), UINT64_C(0x000668904B9CC686),
3134           UINT64_C(0x0007BD2278E98141), UINT64_C(0x00074D7CE18B9D06)},
3135          {UINT64_C(0x0001691EF1DB7743), UINT64_C(0x0005BDCB52513251),
3136           UINT64_C(0x0000880DFD58552F), UINT64_C(0x0001D6B3EE69BD0A),
3137           UINT64_C(0x0000DF5A88773C38), UINT64_C(0x000C094929962F60),
3138           UINT64_C(0x0001978F58542D2F), UINT64_C(0x0002477127820A19),
3139           UINT64_C(0x0004F630DFE1AD37), UINT64_C(0x000283387FC2588D)},
3140          {UINT64_C(0x00073E4B175342B1), UINT64_C(0x0001E2EA2F8817F8),
3141           UINT64_C(0x0000E36E592D89B9), UINT64_C(0x000556985C76F3D1),
3142           UINT64_C(0x00017586947F1B9F), UINT64_C(0x00083894538720F0),
3143           UINT64_C(0x00049C8320EB6627), UINT64_C(0x00057FCF4E730A78),
3144           UINT64_C(0x0002A4BEEFAA0B93), UINT64_C(0x000294ECE9A722E1)}},
3145         {{UINT64_C(0x000672F6D1495031), UINT64_C(0x0001BD8FDDE53EF6),
3146           UINT64_C(0x0002B91C714A2C13), UINT64_C(0x0003042764C1BE7A),
3147           UINT64_C(0x000215C56A0EDE6E), UINT64_C(0x000F01712E36F0AB),
3148           UINT64_C(0x000525EB2C91F5D9), UINT64_C(0x0004A7BAC5E8B947),
3149           UINT64_C(0x0005183B56926CBA), UINT64_C(0x0007D3EDAAAC8E27)},
3150          {UINT64_C(0x000282A6939E11C3), UINT64_C(0x00066C4CBC6F5DBE),
3151           UINT64_C(0x0005123C70144F68), UINT64_C(0x0000354705754070),
3152           UINT64_C(0x0005BE6B2B681A76), UINT64_C(0x00054B5DD04806FF),
3153           UINT64_C(0x0004CE73D1EA7C82), UINT64_C(0x000692CC1053AB63),
3154           UINT64_C(0x000535AE1B4F5F42), UINT64_C(0x00060A6C280503D9)},
3155          {UINT64_C(0x0005CCDAD02C3E6B), UINT64_C(0x000236AAF0C2208D),
3156           UINT64_C(0x0002A1B3DC123AD5), UINT64_C(0x0004808D9A85C7CB),
3157           UINT64_C(0x000620B632D048DE), UINT64_C(0x000DE4795B182DAC),
3158           UINT64_C(0x0006F740B4DDEBB6), UINT64_C(0x000527F4E1B71053),
3159           UINT64_C(0x0003711DE510B0C6), UINT64_C(0x0004C2397BB75FD4)}},
3160         {{UINT64_C(0x0004234DA61A7380), UINT64_C(0x0007CFE09C0E115B),
3161           UINT64_C(0x000146042D1F85BF), UINT64_C(0x00076BA304771D0E),
3162           UINT64_C(0x000382E92D2CA568), UINT64_C(0x000F852C7DE31639),
3163           UINT64_C(0x0002B6DA101F3608), UINT64_C(0x0002354CDEB32A3D),
3164           UINT64_C(0x0006D1C3FABA408E), UINT64_C(0x00046A322AB41F71)},
3165          {UINT64_C(0x000835486D6965D2), UINT64_C(0x0005DDC060C09641),
3166           UINT64_C(0x0006FE8F914611BF), UINT64_C(0x00056CBACCEE1D60),
3167           UINT64_C(0x00029652751B4958), UINT64_C(0x00030B1681FB22FD),
3168           UINT64_C(0x0004C26183389F35), UINT64_C(0x00064C5D6F3E855B),
3169           UINT64_C(0x00048CC11FAA68A2), UINT64_C(0x000303DF8C197245)},
3170          {UINT64_C(0x000A93445489DD55), UINT64_C(0x00032C10E5A00644),
3171           UINT64_C(0x00010133787B6B48), UINT64_C(0x000294AF3FFBB10E),
3172           UINT64_C(0x00067150840A8E54), UINT64_C(0x00048B07F53AECD5),
3173           UINT64_C(0x0002BDABD1E806B9), UINT64_C(0x00077916BD0D716C),
3174           UINT64_C(0x0007251EACE82A30), UINT64_C(0x0005BD06E6166102)}},
3175         {{UINT64_C(0x000198DAB8E7D26B), UINT64_C(0x0004B8CD7B0F6214),
3176           UINT64_C(0x0006F94FEBA66594), UINT64_C(0x0006D655AAE8E434),
3177           UINT64_C(0x00033CBDDA515A1D), UINT64_C(0x000FD360D05067E0),
3178           UINT64_C(0x0007D4B6026E8F95), UINT64_C(0x0006FA60F441F382),
3179           UINT64_C(0x000671F70F6E2FD4), UINT64_C(0x00058B341C31C7CD)},
3180          {UINT64_C(0x0003B6DAB18C1F78), UINT64_C(0x000360A07E0CE4B7),
3181           UINT64_C(0x00037BA4F69CC30E), UINT64_C(0x00014F6DD6939E3B),
3182           UINT64_C(0x00071E66AFEA8A58), UINT64_C(0x000F5276CCE6483E),
3183           UINT64_C(0x0003F604318A4007), UINT64_C(0x0001FF31567FCF56),
3184           UINT64_C(0x0007687CFE2E27EA), UINT64_C(0x00043AF6AD6807D2)},
3185          {UINT64_C(0x000152CC8C204025), UINT64_C(0x00032037F0153CD1),
3186           UINT64_C(0x0001E8B1E05EC419), UINT64_C(0x0001B7B6CEF81375),
3187           UINT64_C(0x00017E8291BDC455), UINT64_C(0x0002E282133836F4),
3188           UINT64_C(0x0001D9A6210E2D16), UINT64_C(0x000799CEE0857BEA),
3189           UINT64_C(0x00035D41A84A5412), UINT64_C(0x0006FFBCA27C28A6)}},
3190         {{UINT64_C(0x0000430814E96BE9), UINT64_C(0x00057E73FB140B73),
3191           UINT64_C(0x00060128FAB5ADA4), UINT64_C(0x0007C05121085A5A),
3192           UINT64_C(0x000767DC265FE0E8), UINT64_C(0x00025029FD3C2D6F),
3193           UINT64_C(0x0004EF454786B123), UINT64_C(0x000208D275E826AD),
3194           UINT64_C(0x0006C327FB0C7286), UINT64_C(0x000424E515341DF4)},
3195          {UINT64_C(0x0009BDDC8231AB6B), UINT64_C(0x0005CA9241F8E72F),
3196           UINT64_C(0x000773A7E6FE081D), UINT64_C(0x00024CAA53134E52),
3197           UINT64_C(0x0005AC81DCD4E91A), UINT64_C(0x00062F6FB283E86A),
3198           UINT64_C(0x00020E0D3D1EA811), UINT64_C(0x0000179B49545C71),
3199           UINT64_C(0x00051EA7921EDD08), UINT64_C(0x0001106F03625EEA)},
3200          {UINT64_C(0x000F609CEB81873F), UINT64_C(0x00019BFC53A07BB7),
3201           UINT64_C(0x0002151A37FD339F), UINT64_C(0x0000247FAB99463B),
3202           UINT64_C(0x00028EB12503B657), UINT64_C(0x00000740156BCA3C),
3203           UINT64_C(0x0003050E54A17FC4), UINT64_C(0x00006A21FE8BE254),
3204           UINT64_C(0x000783205CEE4961), UINT64_C(0x0005DDAC46630BD0)}},
3205         {{UINT64_C(0x000D0214026C8378), UINT64_C(0x00049B9512E7C6AB),
3206           UINT64_C(0x00052CAB42C95449), UINT64_C(0x0001712C0B2D3437),
3207           UINT64_C(0x000028712113EE6E), UINT64_C(0x0003C231B02FBAA4),
3208           UINT64_C(0x00034002A05D7466), UINT64_C(0x00047244849D6C0F),
3209           UINT64_C(0x00007A777E770EED), UINT64_C(0x0002FB5FBC1A501D)},
3210          {UINT64_C(0x0007DD3F594FA92E), UINT64_C(0x00011F65F7B4DC87),
3211           UINT64_C(0x0006C8D5BC2A5CD3), UINT64_C(0x00045434BCA486D6),
3212           UINT64_C(0x0000916C2F835346), UINT64_C(0x000284317FF11104),
3213           UINT64_C(0x0000FED4B690D85B), UINT64_C(0x0004F7CD3C5275F4),
3214           UINT64_C(0x00072FCBE2A0E31E), UINT64_C(0x0006DCE382A2D3FC)},
3215          {UINT64_C(0x00010A836271A17B), UINT64_C(0x000731E97701D7E1),
3216           UINT64_C(0x00074424AD4971CE), UINT64_C(0x0007F483B4D3226B),
3217           UINT64_C(0x0000B8D73CF87486), UINT64_C(0x0003747546D2B06B),
3218           UINT64_C(0x0006D6E9758543E8), UINT64_C(0x0002311DE6C16B96),
3219           UINT64_C(0x0000CBAF9CBD69A4), UINT64_C(0x000095BAD5DFF17A)}},
3220         {{UINT64_C(0x000774E982F03894), UINT64_C(0x00068F7BA9BD2B4C),
3221           UINT64_C(0x0001BF739059F5EE), UINT64_C(0x00047AB5F6CF04EE),
3222           UINT64_C(0x00003AC811A5FFEF), UINT64_C(0x0005C95473A71B06),
3223           UINT64_C(0x00059B02D1C89D3A), UINT64_C(0x00011350FAAC38CB),
3224           UINT64_C(0x0002513847A831C2), UINT64_C(0x0007FA7D3DC337C4)},
3225          {UINT64_C(0x000E029A8789C756), UINT64_C(0x0006C80112AA281C),
3226           UINT64_C(0x00008852BEC02592), UINT64_C(0x0003FBF12B155C1A),
3227           UINT64_C(0x0005E093259AD772), UINT64_C(0x0009A44E24E7366E),
3228           UINT64_C(0x0003BF1CA8CB8F83), UINT64_C(0x0006E16F8C3A71FD),
3229           UINT64_C(0x0001DBC1D6FDDDC1), UINT64_C(0x0005A28406D8B874)},
3230          {UINT64_C(0x00052274D60C7FE9), UINT64_C(0x00009ADA801895BF),
3231           UINT64_C(0x000022D4D6202774), UINT64_C(0x00072D947EE0B5BD),
3232           UINT64_C(0x00051A0FEB7FDA2C), UINT64_C(0x000709284A66373B),
3233           UINT64_C(0x00013FB44E784E2E), UINT64_C(0x00043800043BC45B),
3234           UINT64_C(0x0006DEBFA915C8FE), UINT64_C(0x000184A44DB57776)}},
3235         {{UINT64_C(0x000C6E45435B0D8B), UINT64_C(0x0007A4D96FC4C926),
3236           UINT64_C(0x0004DD4FFB13A623), UINT64_C(0x0002B97573D59BA4),
3237           UINT64_C(0x00064D5DAD519C4F), UINT64_C(0x000C54E3E0322075),
3238           UINT64_C(0x00025D680006D4FD), UINT64_C(0x000026C6C103CE9E),
3239           UINT64_C(0x0006A3C770AD980F), UINT64_C(0x00000AFFA7978989)},
3240          {UINT64_C(0x0001BBC06890396F), UINT64_C(0x00059B7508BE77A3),
3241           UINT64_C(0x0002C2F34E1E88EF), UINT64_C(0x0000BA76CC4B6DC3),
3242           UINT64_C(0x00040CB93F2DB890), UINT64_C(0x00038DB1EAF02BA4),
3243           UINT64_C(0x00051A968FE1C009), UINT64_C(0x00079E490FDF2F6E),
3244           UINT64_C(0x00038810CC4881B6), UINT64_C(0x0002F52348865870)},
3245          {UINT64_C(0x000FBCBADF123F77), UINT64_C(0x0005C24E5CE6F8C7),
3246           UINT64_C(0x00057CBE94145D7B), UINT64_C(0x0003D7A5F191DC9F),
3247           UINT64_C(0x000580576DE72DB2), UINT64_C(0x0003E11D99876CB6),
3248           UINT64_C(0x00071D9921E18FA4), UINT64_C(0x0002A74C8C214DE9),
3249           UINT64_C(0x000290E367E8106A), UINT64_C(0x0000A45E602E2A06)}},
3250         {{UINT64_C(0x000C81708300B3A2), UINT64_C(0x00002EB6DD40141C),
3251           UINT64_C(0x00008EBFBAD275A0), UINT64_C(0x00009EB98ABECC72),
3252           UINT64_C(0x0001EA0CBBD24C18), UINT64_C(0x0005C085867DB19C),
3253           UINT64_C(0x00078A2DB60D1751), UINT64_C(0x00032A43EBAC70A1),
3254           UINT64_C(0x0002C402B12DA313), UINT64_C(0x0004F4B89ACDD13A)},
3255          {UINT64_C(0x0004AC90A370FD35), UINT64_C(0x00027D715223E22B),
3256           UINT64_C(0x000564833F08968D), UINT64_C(0x0006A965DB0C2238),
3257           UINT64_C(0x0004C25626C5CCE9), UINT64_C(0x000E894C118288F1),
3258           UINT64_C(0x00004FDD61C59DF2), UINT64_C(0x0004F91479C26D34),
3259           UINT64_C(0x00022FDED1EDE6BC), UINT64_C(0x00053CC6F351DBD1)},
3260          {UINT64_C(0x00041C1E5BF143DB), UINT64_C(0x00078318A8FC82ED),
3261           UINT64_C(0x00073CB01F7A1760), UINT64_C(0x0002BB276EE12092),
3262           UINT64_C(0x00062B5D062F3983), UINT64_C(0x0006C0699785ED64),
3263           UINT64_C(0x000705C5B8750987), UINT64_C(0x000734C5A5EBF1CC),
3264           UINT64_C(0x0006B535CD5FCA58), UINT64_C(0x000173A96CF5E5C2)}},
3265     },
3266     {
3267         {{UINT64_C(0x00013C7D530A0840), UINT64_C(0x00037CA09024BA99),
3268           UINT64_C(0x00000F02A724D26D), UINT64_C(0x0007486168F78DF3),
3269           UINT64_C(0x00057B6FBAF96B6F), UINT64_C(0x00020E874D64E405),
3270           UINT64_C(0x0001C5456BEE2684), UINT64_C(0x000700947727AE36),
3271           UINT64_C(0x0000AF081E60DF35), UINT64_C(0x00049F6D248190F3)},
3272          {UINT64_C(0x000FACBF6A273B2E), UINT64_C(0x0000B50B6F61BB7F),
3273           UINT64_C(0x00016ED02D72CCBD), UINT64_C(0x000009999E37103A),
3274           UINT64_C(0x0006DEE9B338E1D0), UINT64_C(0x00076C4153F5F8EB),
3275           UINT64_C(0x0004FB473E4876B9), UINT64_C(0x00035CB573505218),
3276           UINT64_C(0x00040E4E17B314F1), UINT64_C(0x00064FADD17FB3C8)},
3277          {UINT64_C(0x00090B27A6A17533), UINT64_C(0x00010DB043FC3678),
3278           UINT64_C(0x0005F8AAB7DA8EDB), UINT64_C(0x0005008B83D17311),
3279           UINT64_C(0x00075BB4482F1426), UINT64_C(0x000B1BCB5765DFFA),
3280           UINT64_C(0x000242DCC05593AD), UINT64_C(0x00045C4BE141A4D5),
3281           UINT64_C(0x0006EBC978B8CA73), UINT64_C(0x0004580E5DA2151A)}},
3282         {{UINT64_C(0x000B09415B635B74), UINT64_C(0x000483E55C20EA00),
3283           UINT64_C(0x00070DEE5B80A6E0), UINT64_C(0x00072FD4450BC01C),
3284           UINT64_C(0x0007B300C6DCC536), UINT64_C(0x000754D2BB66E63F),
3285           UINT64_C(0x0001BF3C286F6A01), UINT64_C(0x00025F645BB8410D),
3286           UINT64_C(0x000298DF23B3BFD7), UINT64_C(0x0001774CB501031D)},
3287          {UINT64_C(0x000271CB350C6048), UINT64_C(0x0007DCA7FD3BF959),
3288           UINT64_C(0x0000C41185459A7F), UINT64_C(0x0004BB079006A71E),
3289           UINT64_C(0x0001C3DA681DC428), UINT64_C(0x000E32A22D0BED67),
3290           UINT64_C(0x0001CF9C74CC48D7), UINT64_C(0x000754ED2FD148AF),
3291           UINT64_C(0x0006A6BF79732C29), UINT64_C(0x0000637BA0DEB58F)},
3292          {UINT64_C(0x000AEEE5E5D5BF89), UINT64_C(0x0001BA9622F598CD),
3293           UINT64_C(0x00017E6C0ECF6116), UINT64_C(0x0001B6169A7A5686),
3294           UINT64_C(0x0000C74F9DCA999E), UINT64_C(0x000BAE9A5784B34D),
3295           UINT64_C(0x0003F1DCC80821EF), UINT64_C(0x0006A6297209394D),
3296           UINT64_C(0x000027BAECCEB3DB), UINT64_C(0x0006FBF5A0739FF7)}},
3297         {{UINT64_C(0x000ADF4D9C8BE4C7), UINT64_C(0x0001F7C3F9B2DF52),
3298           UINT64_C(0x000054205B348462), UINT64_C(0x00058A2B0587B556),
3299           UINT64_C(0x0001031A5A79DB2E), UINT64_C(0x000CB7B60FC99B95),
3300           UINT64_C(0x00025FC96A4BB5A5), UINT64_C(0x0006C62B62F597A6),
3301           UINT64_C(0x00009CBDCB2DF127), UINT64_C(0x0002ACC07E9CED89)},
3302          {UINT64_C(0x0000ED235FAE524A), UINT64_C(0x0003E231B9C1C59C),
3303           UINT64_C(0x0005FACE3761829C), UINT64_C(0x000417E0131C4B06),
3304           UINT64_C(0x000703508BE7FC97), UINT64_C(0x00047BA8D9CC12E6),
3305           UINT64_C(0x00040B532D99E9A0), UINT64_C(0x00013850B64F1991),
3306           UINT64_C(0x0005CDF168C10B39), UINT64_C(0x000358ABDF8E6B44)},
3307          {UINT64_C(0x00042687C30120DE), UINT64_C(0x0006F4E854B5AC1D),
3308           UINT64_C(0x000060D24D07C886), UINT64_C(0x0006662BC5B4226E),
3309           UINT64_C(0x0000DD5E40422C53), UINT64_C(0x00066BA1A186AEA2),
3310           UINT64_C(0x0003D5A9977141C7), UINT64_C(0x0007210CB94D5A31),
3311           UINT64_C(0x0000575395147170), UINT64_C(0x0003EEF35D2347C4)}},
3312         {{UINT64_C(0x00005FA6D194F912), UINT64_C(0x000656A4617A17B0),
3313           UINT64_C(0x0002B82DEF48F596), UINT64_C(0x000483AE1ABD8952),
3314           UINT64_C(0x0004FEA93C4AA27F), UINT64_C(0x000A79830ABCFA6B),
3315           UINT64_C(0x00030C8EA10D6328), UINT64_C(0x000150C9AB136C88),
3316           UINT64_C(0x00009F66838D7EB3), UINT64_C(0x000599AAECD736AC)},
3317          {UINT64_C(0x000101FF4997777E), UINT64_C(0x0006FE6DA39F9EF7),
3318           UINT64_C(0x0005DD2FD55D5B90), UINT64_C(0x00001EBA3BFFA43E),
3319           UINT64_C(0x0003937F9AEAE09F), UINT64_C(0x000B6E4EB341745B),
3320           UINT64_C(0x0006A541793FEB35), UINT64_C(0x0004C99BA0510109),
3321           UINT64_C(0x0003ECAA464451F9), UINT64_C(0x000627CC2A28E33F)},
3322          {UINT64_C(0x0006F5CF9EEF8083), UINT64_C(0x0003689B7AF03C8C),
3323           UINT64_C(0x00041C9C530F26AE), UINT64_C(0x0006F1B087DFAE9E),
3324           UINT64_C(0x0005ABB0337D1374), UINT64_C(0x000F05AA9CE380B8),
3325           UINT64_C(0x00039D858198471E), UINT64_C(0x0005CB4A29D7FAB0),
3326           UINT64_C(0x000794534C8BBACE), UINT64_C(0x00039CEB7D5953E0)}},
3327         {{UINT64_C(0x000614976BAF39A3), UINT64_C(0x000325765D4DAD1B),
3328           UINT64_C(0x0006EC2EF5A9DFA1), UINT64_C(0x0004F0B8F0301A47),
3329           UINT64_C(0x000031D97E564E18), UINT64_C(0x0001C40ECB1A0617),
3330           UINT64_C(0x0000DEA316CA6102), UINT64_C(0x000232439090EE60),
3331           UINT64_C(0x0002901913C8FB0F), UINT64_C(0x000412FF556E2402)},
3332          {UINT64_C(0x00064CE9BB2FE15E), UINT64_C(0x0005E645C62B940A),
3333           UINT64_C(0x0003113E7905C6AE), UINT64_C(0x0002BBDF7FB2C955),
3334           UINT64_C(0x0000CCF48175A91B), UINT64_C(0x00038BC3E1E69073),
3335           UINT64_C(0x00004538F90A325F), UINT64_C(0x00046BF9A7D85906),
3336           UINT64_C(0x0005D8AAA52E49AC), UINT64_C(0x0006F70CEB9DE4F0)},
3337          {UINT64_C(0x000635FDDEEE55B1), UINT64_C(0x0002B647305EC4D0),
3338           UINT64_C(0x000785A1C6C0CC5B), UINT64_C(0x0000C28EEEF42FDF),
3339           UINT64_C(0x00070B6DF3CE31F0), UINT64_C(0x00075BB72FEDB524),
3340           UINT64_C(0x00044424339CD683), UINT64_C(0x000724049E9861DF),
3341           UINT64_C(0x000606B0D0C1B71C), UINT64_C(0x00072720DEDAF767)}},
3342         {{UINT64_C(0x000AB553D62ECFB6), UINT64_C(0x00078C8B49E2EE27),
3343           UINT64_C(0x000712AB7130F07C), UINT64_C(0x0007517AB87454C5),
3344           UINT64_C(0x0007A2F222BFE5AF), UINT64_C(0x0009DF9AC8EF8D1E),
3345           UINT64_C(0x00070A0B9486719E), UINT64_C(0x0005FE0A5CBB6815),
3346           UINT64_C(0x0005A777CFBB6EAC), UINT64_C(0x00026AA3DEB05ED1)},
3347          {UINT64_C(0x000178E658CAB163), UINT64_C(0x0006218B72D4439D),
3348           UINT64_C(0x0003E0E7508F98B6), UINT64_C(0x00053A2E9C0FE780),
3349           UINT64_C(0x0000862C90F4AB94), UINT64_C(0x0007D2A76495265C),
3350           UINT64_C(0x00007D6CA0B086A9), UINT64_C(0x00037E0CE123AE70),
3351           UINT64_C(0x0005E35005198C60), UINT64_C(0x00014DB9BE0C9BD4)},
3352          {UINT64_C(0x00022AE27AE69A25), UINT64_C(0x0006BC61B880B6B7),
3353           UINT64_C(0x0002B9A770ACB37C), UINT64_C(0x0006A57A8181E7DE),
3354           UINT64_C(0x000515156749D33A), UINT64_C(0x000089265C87573A),
3355           UINT64_C(0x0002AAB0BA4334FD), UINT64_C(0x00036BFA753F183D),
3356           UINT64_C(0x0007D94CDD21BBEA), UINT64_C(0x00073D056E77BAD1)}},
3357         {{UINT64_C(0x00054034D049A849), UINT64_C(0x0007A61F3DCAD52B),
3358           UINT64_C(0x0006AE0359F441AC), UINT64_C(0x0004FA71A2DB1D12),
3359           UINT64_C(0x0004A3AD2195FB05), UINT64_C(0x000DA575D0991F08),
3360           UINT64_C(0x0004483A3F583D4A), UINT64_C(0x00019E22FF97F896),
3361           UINT64_C(0x00045CE17079EB6F), UINT64_C(0x0003D843DC26F0B3)},
3362          {UINT64_C(0x0005BB7830081F4A), UINT64_C(0x000535B970A5DEEC),
3363           UINT64_C(0x0006920157058AB1), UINT64_C(0x0005ABB6799CD9B0),
3364           UINT64_C(0x0004E722E0BE3E24), UINT64_C(0x00034B265793F314),
3365           UINT64_C(0x000721330570DC23), UINT64_C(0x0004426EF0F5B164),
3366           UINT64_C(0x0007D6F3A6CB44E7), UINT64_C(0x00056E34A5B334A3)},
3367          {UINT64_C(0x0003F8C7FDA5799A), UINT64_C(0x000633A1AB544629),
3368           UINT64_C(0x00036C698257C6E1), UINT64_C(0x000671CB37471C6E),
3369           UINT64_C(0x0006309190EBE26A), UINT64_C(0x000073E0D3C3C947),
3370           UINT64_C(0x00075458F071D648), UINT64_C(0x0000304D50E4E6E2),
3371           UINT64_C(0x00025B9FCE5481C7), UINT64_C(0x000560854658E1E6)}},
3372         {{UINT64_C(0x000AF006973EAE1E), UINT64_C(0x0003BA1CB36833ED),
3373           UINT64_C(0x000440038B6244FE), UINT64_C(0x0001ED4D4B28E0BB),
3374           UINT64_C(0x0004946559A45B7C), UINT64_C(0x000D7AC175A120AF),
3375           UINT64_C(0x0000C782441BE688), UINT64_C(0x0003FBE4F6759494),
3376           UINT64_C(0x0003227FCD0861C6), UINT64_C(0x000693E8E569DF61)},
3377          {UINT64_C(0x000EF3D4D70D6006), UINT64_C(0x0003622B91C969F3),
3378           UINT64_C(0x00059E57B022C126), UINT64_C(0x0004E567BE39909D),
3379           UINT64_C(0x00025826F5172EBE), UINT64_C(0x000978FE696EB07D),
3380           UINT64_C(0x0007E55EC2C54F03), UINT64_C(0x0001F198F1EA9886),
3381           UINT64_C(0x00061284786511BB), UINT64_C(0x00054EBEEA2E481C)},
3382          {UINT64_C(0x000F0108988CDC8A), UINT64_C(0x0006320933C6DB8E),
3383           UINT64_C(0x00069930CEF56158), UINT64_C(0x0003A35FC98F89A6),
3384           UINT64_C(0x00027BD07B67AAA5), UINT64_C(0x000A2124168772A7),
3385           UINT64_C(0x000108CBFCB7F765), UINT64_C(0x000190EA54B1EC2B),
3386           UINT64_C(0x000427DAAD72BFD4), UINT64_C(0x00073EB2D65C41BA)}},
3387         {{UINT64_C(0x000A06A739424A7F), UINT64_C(0x0000F82BABC20278),
3388           UINT64_C(0x0005E0013C80B8BA), UINT64_C(0x00009213E9C746A9),
3389           UINT64_C(0x00077CCF7EE8DCA2), UINT64_C(0x00048553CE359952),
3390           UINT64_C(0x00068D83C7BB1BFC), UINT64_C(0x00023585472C1288),
3391           UINT64_C(0x000683CF0D405E14), UINT64_C(0x0004B248941E148A)},
3392          {UINT64_C(0x000A7C88931485A3), UINT64_C(0x00030D7D59F36392),
3393           UINT64_C(0x0003096B037E2FE5), UINT64_C(0x00072B76E5C87A57),
3394           UINT64_C(0x000412333ADDB88D), UINT64_C(0x00075009989C68F4),
3395           UINT64_C(0x0005EE189974076A), UINT64_C(0x000060FFAFD8A128),
3396           UINT64_C(0x000120ACF08DA33F), UINT64_C(0x000571F558025BFD)},
3397          {UINT64_C(0x000DA9D04CD700E8), UINT64_C(0x00057458C41B633D),
3398           UINT64_C(0x00014B6489FA7B39), UINT64_C(0x0003BD5C957593DD),
3399           UINT64_C(0x0001304CB1D79CF1), UINT64_C(0x0005E9BAF878A8A2),
3400           UINT64_C(0x000194C540C98A95), UINT64_C(0x0003B7B2BACEC32A),
3401           UINT64_C(0x0004F344F8DD4CDE), UINT64_C(0x000078EF34BD78A1)}},
3402         {{UINT64_C(0x000FC67E2383EF8F), UINT64_C(0x000382B810E6F7BF),
3403           UINT64_C(0x00006C9F24B27C13), UINT64_C(0x000057D888D81661),
3404           UINT64_C(0x00054A699A1B1D6B), UINT64_C(0x0008FF73BB9232B4),
3405           UINT64_C(0x0003804878333A2B), UINT64_C(0x00044F051B58790E),
3406           UINT64_C(0x0000271D3AA9BD38), UINT64_C(0x00044CDE0EB6CF43)},
3407          {UINT64_C(0x0000D62B3C3A5A19), UINT64_C(0x000141707504E91E),
3408           UINT64_C(0x0006515C33000546), UINT64_C(0x00017546C6B9FF00),
3409           UINT64_C(0x00045D82E76E1B8B), UINT64_C(0x000AE172E2EB811B),
3410           UINT64_C(0x000413704723E59F), UINT64_C(0x00070B4CE13230E2),
3411           UINT64_C(0x0000054BF697CE5A), UINT64_C(0x00063ECC547A49B9)},
3412          {UINT64_C(0x000602372F14D11C), UINT64_C(0x000378921B1097ED),
3413           UINT64_C(0x00067C4238D607FA), UINT64_C(0x00021D2C859309EE),
3414           UINT64_C(0x0005847490A29E8E), UINT64_C(0x0002D093948C4994),
3415           UINT64_C(0x0000E23389BFC4DD), UINT64_C(0x0007DE892CA061E2),
3416           UINT64_C(0x0004BCEA3495B247), UINT64_C(0x00062F7532D3859D)}},
3417         {{UINT64_C(0x00086B22DF769D24), UINT64_C(0x000247653B1384A5),
3418           UINT64_C(0x0007CA7B0BA8B67B), UINT64_C(0x00003DE749E6F9B6),
3419           UINT64_C(0x00060288E35E6723), UINT64_C(0x000132375704332A),
3420           UINT64_C(0x000090B7E04CAAD9), UINT64_C(0x000618FE2CC615F8),
3421           UINT64_C(0x00071C3FA82E1054), UINT64_C(0x0005ACCA0095992F)},
3422          {UINT64_C(0x0008070A5524110A), UINT64_C(0x0002F514E36570A5),
3423           UINT64_C(0x0007FA5FFDAD9B18), UINT64_C(0x00040716460997F2),
3424           UINT64_C(0x0004A84076418D9B), UINT64_C(0x000191D0E25444E5),
3425           UINT64_C(0x0003F007A978D4FD), UINT64_C(0x00010583B27CE828),
3426           UINT64_C(0x00076188CFB16D13), UINT64_C(0x0004AB4850C52869)},
3427          {UINT64_C(0x000CB5BB8406E9FB), UINT64_C(0x0006229079FE11A8),
3428           UINT64_C(0x00069D10E2374F64), UINT64_C(0x0003E0965719E097),
3429           UINT64_C(0x0003D8E4F1D6E86E), UINT64_C(0x000FEA5863BEBA3D),
3430           UINT64_C(0x0007D0430EF56C07), UINT64_C(0x000181949DFD703D),
3431           UINT64_C(0x0001339A965B35C2), UINT64_C(0x0003B56220F5C7F3)}},
3432         {{UINT64_C(0x00066DEE74B6C3E6), UINT64_C(0x000383135AE75C98),
3433           UINT64_C(0x0004505F98DC1ACE), UINT64_C(0x00032C4BBDDAC89F),
3434           UINT64_C(0x00052AA09F53D136), UINT64_C(0x0004F3A390196005),
3435           UINT64_C(0x0004A5FCAC34F0E0), UINT64_C(0x0001EDC68C692D8B),
3436           UINT64_C(0x0002FD9E6D8EE76F), UINT64_C(0x00029FC1CCA2C8F6)},
3437          {UINT64_C(0x00065029BC02DCE4), UINT64_C(0x00072FD6589B1B83),
3438           UINT64_C(0x00004147281085E5), UINT64_C(0x0003B32D6A3356B3),
3439           UINT64_C(0x00073F9780B33257), UINT64_C(0x0003D884CD344161),
3440           UINT64_C(0x00032F7D4EA15736), UINT64_C(0x0000F5FB646C3211),
3441           UINT64_C(0x000710946F78EE11), UINT64_C(0x00041450BEBEAFA8)},
3442          {UINT64_C(0x0004B10D60B8A44B), UINT64_C(0x00074DF316AD0515),
3443           UINT64_C(0x00000BD0DA3A0140), UINT64_C(0x0002FA9736D69155),
3444           UINT64_C(0x0004AE7CB062A37A), UINT64_C(0x0003B28579544A9B),
3445           UINT64_C(0x00030DEF5D17E4D9), UINT64_C(0x0004FC0A27B77D73),
3446           UINT64_C(0x000103D226B1E92E), UINT64_C(0x0005050AA53E3D45)}},
3447         {{UINT64_C(0x0004C96EE0523578), UINT64_C(0x0002657E40AE1BEA),
3448           UINT64_C(0x00032F4A192D817A), UINT64_C(0x0002963B113F0E7E),
3449           UINT64_C(0x0005E7C716A6D2E3), UINT64_C(0x00027EE6D4437F4B),
3450           UINT64_C(0x0001151EA99B216A), UINT64_C(0x0001183200C3345A),
3451           UINT64_C(0x0004620822162719), UINT64_C(0x0006FF98AC189C7F)},
3452          {UINT64_C(0x0007835A38637315), UINT64_C(0x00021DCF392DA107),
3453           UINT64_C(0x00032E572F2009A7), UINT64_C(0x000551A3874139CB),
3454           UINT64_C(0x00054BA83808EC95), UINT64_C(0x000E3B367E07B1AA),
3455           UINT64_C(0x0001C425C58AF001), UINT64_C(0x0007FEBED49D81AD),
3456           UINT64_C(0x0005614216D95FD6), UINT64_C(0x0007059956FB58D9)},
3457          {UINT64_C(0x0009A088527332D8), UINT64_C(0x0004EBFF217D2F53),
3458           UINT64_C(0x00068A2C41E7A6F9), UINT64_C(0x0007203B80A56ADA),
3459           UINT64_C(0x0003CCF4A503F5B5), UINT64_C(0x0009DE73564AAC98),
3460           UINT64_C(0x0007C64A2D2D5B63), UINT64_C(0x00066A514607F4F4),
3461           UINT64_C(0x0004F7B23A1883CE), UINT64_C(0x000478DBA2254062)}},
3462         {{UINT64_C(0x000891C63EC17278), UINT64_C(0x0003A469EA7941A1),
3463           UINT64_C(0x0006CC724614C2A6), UINT64_C(0x00047368EAC894D3),
3464           UINT64_C(0x000332725D63A7FD), UINT64_C(0x000E1B3A2B255A5D),
3465           UINT64_C(0x0007DE48A07B22AC), UINT64_C(0x0001320FE5C7DF2A),
3466           UINT64_C(0x0007981EA9B5299F), UINT64_C(0x00064E3A11075FBC)},
3467          {UINT64_C(0x000F356D82B65E1D), UINT64_C(0x000333902B0C3E91),
3468           UINT64_C(0x000236EE56D2F8F6), UINT64_C(0x00052D781547A66B),
3469           UINT64_C(0x00071ECC2B2D45FD), UINT64_C(0x00021D01072A8CFE),
3470           UINT64_C(0x00014250E888F3A4), UINT64_C(0x00041F6CCF6D58E7),
3471           UINT64_C(0x00012F704916CD11), UINT64_C(0x0001C16A5BA5DEB5)},
3472          {UINT64_C(0x0007176D4A4BE8ED), UINT64_C(0x0003AC14FE6CB1C7),
3473           UINT64_C(0x0005BF2A9F3FDCA4), UINT64_C(0x000100A77E943894),
3474           UINT64_C(0x0001A1B89F7EB96B), UINT64_C(0x000AC24527F9F6BC),
3475           UINT64_C(0x0002AFDC6A5CC161), UINT64_C(0x0006C7233297DD8D),
3476           UINT64_C(0x0001EF7E4B64538A), UINT64_C(0x00064C28116F6D3D)}},
3477         {{UINT64_C(0x000C28582D0EAF98), UINT64_C(0x000760A4D8C62392),
3478           UINT64_C(0x0002E99A28753318), UINT64_C(0x00036B4DD38D7C84),
3479           UINT64_C(0x0005CE1103FE9B19), UINT64_C(0x000A5E7E678EC657),
3480           UINT64_C(0x00001027FC495CC3), UINT64_C(0x000053D5EFE3F79A),
3481           UINT64_C(0x00078707798B4856), UINT64_C(0x0002BCB996DBB870)},
3482          {UINT64_C(0x000DE9BE7A3B7D2F), UINT64_C(0x000326F8D8093FCF),
3483           UINT64_C(0x0006F4CA9EA85C42), UINT64_C(0x0002DA90D1D5EFAE),
3484           UINT64_C(0x000453D210C50A00), UINT64_C(0x000ED30D7AE954A3),
3485           UINT64_C(0x000667D3AF1FF3BD), UINT64_C(0x000610D4A9935FFA),
3486           UINT64_C(0x0007996E35B2EEE4), UINT64_C(0x0005851FBF41B9D7)},
3487          {UINT64_C(0x0001CCB597D775B8), UINT64_C(0x0002E2D7080ACA82),
3488           UINT64_C(0x00026A27679CA594), UINT64_C(0x000767CAC5608B07),
3489           UINT64_C(0x0007D3E1C929A8EE), UINT64_C(0x0001C08248026B08),
3490           UINT64_C(0x00066E49F4282B91), UINT64_C(0x00043EC983912C70),
3491           UINT64_C(0x00047BE45E4D1D00), UINT64_C(0x0005D6619498C3D3)}},
3492         {{UINT64_C(0x000D75F87926E2CA), UINT64_C(0x0004BCE95D143C30),
3493           UINT64_C(0x0007F9B22AB8D12A), UINT64_C(0x0005764F5D0427EC),
3494           UINT64_C(0x00053FC4AEC382EC), UINT64_C(0x000BEFAD0696C924),
3495           UINT64_C(0x0005C1A42613E0F9), UINT64_C(0x0006C63EA68E2641),
3496           UINT64_C(0x0005AE918E206EE4), UINT64_C(0x000201EB6276D205)},
3497          {UINT64_C(0x00080526DEB4F23A), UINT64_C(0x0004A3E016C3560A),
3498           UINT64_C(0x00048954F4DFE4E5), UINT64_C(0x00033FAEECA38CED),
3499           UINT64_C(0x0001AABCF5F5B04D), UINT64_C(0x000624845CAC218D),
3500           UINT64_C(0x000727D5924F0D61), UINT64_C(0x00039A25A9A902B9),
3501           UINT64_C(0x00025354B1923A74), UINT64_C(0x00042D904B1EE6E2)},
3502          {UINT64_C(0x0005EE12683D6873), UINT64_C(0x00020C302FB23D53),
3503           UINT64_C(0x00041183598E5E20), UINT64_C(0x000660C4A3602D69),
3504           UINT64_C(0x000428E3D7F7DA6B), UINT64_C(0x000FFDAB157CCECE),
3505           UINT64_C(0x0003ABD7DACF40F1), UINT64_C(0x0001F758B2026116),
3506           UINT64_C(0x00059CA09F80A28E), UINT64_C(0x00058050997A84C9)}},
3507     },
3508     {
3509         {{UINT64_C(0x00012BC79DE3583C), UINT64_C(0x00021865086663FD),
3510           UINT64_C(0x00004E4ABB33032F), UINT64_C(0x00079C1995D5F6AE),
3511           UINT64_C(0x0006843DC92E6F2C), UINT64_C(0x000E5AAB95A25A94),
3512           UINT64_C(0x000297E894CB3E2E), UINT64_C(0x0002F3E8D3C6A333),
3513           UINT64_C(0x0001389E783B3338), UINT64_C(0x0004D35F4985F35A)},
3514          {UINT64_C(0x000924729178D442), UINT64_C(0x00072FEF9AC231D7),
3515           UINT64_C(0x0003255217E983F8), UINT64_C(0x00078D1ADD8547ED),
3516           UINT64_C(0x0007DD800A0126E4), UINT64_C(0x00040F7454BB5636),
3517           UINT64_C(0x00070028ED5FE73D), UINT64_C(0x0002FE6922362D32),
3518           UINT64_C(0x000517F433247DD5), UINT64_C(0x0003131BDB6DBD80)},
3519          {UINT64_C(0x0009B880561B3C2F), UINT64_C(0x000528E3FF8E6EB8),
3520           UINT64_C(0x0002B3F6E8A064AA), UINT64_C(0x000306F6878089C4),
3521           UINT64_C(0x0007DC267AF352EA), UINT64_C(0x000EB92414BD9E20),
3522           UINT64_C(0x0003B288AD2E08DE), UINT64_C(0x000226D516C76AEC),
3523           UINT64_C(0x00040D85E3E81384), UINT64_C(0x0000D2240FB63716)}},
3524         {{UINT64_C(0x000587DEFF3E2CA8), UINT64_C(0x0000ADE75F1C108A),
3525           UINT64_C(0x000077C7746D2B81), UINT64_C(0x0007F15AEEE1A36C),
3526           UINT64_C(0x000147D7174597BE), UINT64_C(0x000ADF5550885ADA),
3527           UINT64_C(0x0005AC4D1E2642DC), UINT64_C(0x00011B21A28D0DDD),
3528           UINT64_C(0x00041407BD6EAB82), UINT64_C(0x00048A1C814EF854)},
3529          {UINT64_C(0x000EE63D584955CA), UINT64_C(0x0000DB6FC1D35A63),
3530           UINT64_C(0x0007990E3E93CF7D), UINT64_C(0x0006896872475C47),
3531           UINT64_C(0x0002FE85FB8B4F95), UINT64_C(0x0009A4386F393657),
3532           UINT64_C(0x0006D05838FAE08A), UINT64_C(0x0003B7E6453E11C6),
3533           UINT64_C(0x0004A2C032C2CE97), UINT64_C(0x0003289CB5A153DD)},
3534          {UINT64_C(0x0002BD6E9F70C80A), UINT64_C(0x000231E61F2C2C8A),
3535           UINT64_C(0x0002A043498E6B5B), UINT64_C(0x00027EF36D2BD2C9),
3536           UINT64_C(0x000792B9E0D4EFFA), UINT64_C(0x000D609539828287),
3537           UINT64_C(0x0002DD2C1EC6C7BB), UINT64_C(0x00022B3BF91980DE),
3538           UINT64_C(0x0003C03DA1E5A7D9), UINT64_C(0x000084F0BEE586B4)}},
3539         {{UINT64_C(0x000712E11D32F6C1), UINT64_C(0x0007699A1E2965D4),
3540           UINT64_C(0x0006F53B52261F62), UINT64_C(0x00010D991E106C19),
3541           UINT64_C(0x0005E1F7A164C33C), UINT64_C(0x0002D0C5F074BEB5),
3542           UINT64_C(0x000460F51489D3D8), UINT64_C(0x0002E479EAC4245A),
3543           UINT64_C(0x0002053DB40CA26B), UINT64_C(0x00007428215ABE9C)},
3544          {UINT64_C(0x000B9A8A9F89A37F), UINT64_C(0x00043FEE2728E6A8),
3545           UINT64_C(0x0003BAD546C31F76), UINT64_C(0x0002F4CA0D786241),
3546           UINT64_C(0x0007291B2D3383A2), UINT64_C(0x0006C364B58F7471),
3547           UINT64_C(0x0000E1166DD243CD), UINT64_C(0x0003571ADDB675C5),
3548           UINT64_C(0x0005CEB2284920A6), UINT64_C(0x0003CE87A34C0993)},
3549          {UINT64_C(0x000D7AC4BC491E76), UINT64_C(0x0006933E79C065C0),
3550           UINT64_C(0x0003962BB73B910D), UINT64_C(0x00025407D7F52984),
3551           UINT64_C(0x000587DBC6C6A8A0), UINT64_C(0x00003AE437D302CF),
3552           UINT64_C(0x0004A456DC9A70DC), UINT64_C(0x0003580FD7730DB6),
3553           UINT64_C(0x00006BDB32465E50), UINT64_C(0x000303101EF56592)}},
3554         {{UINT64_C(0x000E210468EBF556), UINT64_C(0x0001E3325C2E6FFC),
3555           UINT64_C(0x0003EB88667F698C), UINT64_C(0x0004C7309F19C344),
3556           UINT64_C(0x00007B954D985C68), UINT64_C(0x000112B5D338E899),
3557           UINT64_C(0x000103AD36665F4C), UINT64_C(0x0005C48C27F780B9),
3558           UINT64_C(0x0006DFCD7AC7E7C2), UINT64_C(0x0005FBAB29982614)},
3559          {UINT64_C(0x000050C0CB5724E2), UINT64_C(0x0003F7AB514CAA0F),
3560           UINT64_C(0x0004F45065DA591B), UINT64_C(0x000629B4E99E7B9F),
3561           UINT64_C(0x0007FF99B8004A8B), UINT64_C(0x00013A7E073C783C),
3562           UINT64_C(0x0005096EE21EAD2D), UINT64_C(0x00035AC55D5BC48A),
3563           UINT64_C(0x00052D7CCDDB8458), UINT64_C(0x00026359B210DDC3)},
3564          {UINT64_C(0x00010EB7F4F37055), UINT64_C(0x00022C5837D27DF8),
3565           UINT64_C(0x00014DD44F017128), UINT64_C(0x0000762B8A81A083),
3566           UINT64_C(0x0006343F4E6B1730), UINT64_C(0x0006A070B31B593A),
3567           UINT64_C(0x00035A4CB671B136), UINT64_C(0x00034AA79F2E1C0D),
3568           UINT64_C(0x0002B801D09AF476), UINT64_C(0x0004D55933C87AC6)}},
3569         {{UINT64_C(0x0000F5AF20BFA216), UINT64_C(0x00070CA3CC7423EA),
3570           UINT64_C(0x0003BDCF09AF2CF8), UINT64_C(0x00070852C08E07C8),
3571           UINT64_C(0x0002B67C67B7DC0D), UINT64_C(0x0004747A18E7911A),
3572           UINT64_C(0x0002AE9D138BEC06), UINT64_C(0x00029A908D7441B5),
3573           UINT64_C(0x0001CA2C87AB2C68), UINT64_C(0x0005D57E612AC9CA)},
3574          {UINT64_C(0x000CB61AD6C38D3B), UINT64_C(0x000098910BDAA430),
3575           UINT64_C(0x0005A8F1058B45F9), UINT64_C(0x0001378B35FE5270),
3576           UINT64_C(0x0003B096F4B6729B), UINT64_C(0x000B715D3132EC7F),
3577           UINT64_C(0x0000BF368D7A6E35), UINT64_C(0x0003532D4AAC8584),
3578           UINT64_C(0x0007C03968D90FAB), UINT64_C(0x0003DD8235C48DCD)},
3579          {UINT64_C(0x000865375C84BF5B), UINT64_C(0x0006F89F501226EA),
3580           UINT64_C(0x0003A9BA52948170), UINT64_C(0x0005125268D062C9),
3581           UINT64_C(0x000080351C14559D), UINT64_C(0x0002D7F2832CC046),
3582           UINT64_C(0x00072CD1CCBF4A78), UINT64_C(0x0006C2A3FAE0EA13),
3583           UINT64_C(0x00066FCF5DB7E22E), UINT64_C(0x00007019E17361A4)}},
3584         {{UINT64_C(0x000E48E34B29F673), UINT64_C(0x000189AA11C7064C),
3585           UINT64_C(0x0000980567389DB8), UINT64_C(0x000140D89A2CB56F),
3586           UINT64_C(0x00066BB6C0F4791D), UINT64_C(0x00097F8E780B26F8),
3587           UINT64_C(0x00069029D6B5B3AB), UINT64_C(0x0001807A1948E6BC),
3588           UINT64_C(0x00026E19F742FADE), UINT64_C(0x000085F04C0FC570)},
3589          {UINT64_C(0x0008A43FBB459AFB), UINT64_C(0x000080263E72058C),
3590           UINT64_C(0x00077C836CC06EA1), UINT64_C(0x0001B50F235F0EA1),
3591           UINT64_C(0x00022280D3BF0256), UINT64_C(0x000B12F3375A9340),
3592           UINT64_C(0x00056068C08F4DCC), UINT64_C(0x000188B7FEE30E53),
3593           UINT64_C(0x00034956976A7E2B), UINT64_C(0x0006F32B80C1218B)},
3594          {UINT64_C(0x0002995C7D4906BD), UINT64_C(0x0004C47098446E5D),
3595           UINT64_C(0x000770566A516A0B), UINT64_C(0x0001E7E3FBA19859),
3596           UINT64_C(0x0005F7F7EEE25E7C), UINT64_C(0x00056AB023B1E34B),
3597           UINT64_C(0x00065C13925054D0), UINT64_C(0x0003F1A384F6EB8D),
3598           UINT64_C(0x0000C7DE81E37B03), UINT64_C(0x0007AB8E723005D9)}},
3599         {{UINT64_C(0x000D9677AC1784B4), UINT64_C(0x0003B608C12C6E54),
3600           UINT64_C(0x00003773DBAACF6B), UINT64_C(0x000335230A701D3D),
3601           UINT64_C(0x000164DD69069B24), UINT64_C(0x000529717B200FBF),
3602           UINT64_C(0x00020FA9213B9796), UINT64_C(0x00057DB2FAFA5561),
3603           UINT64_C(0x0002139FA8922FB6), UINT64_C(0x00067569B0196555)},
3604          {UINT64_C(0x0009839D81326E12), UINT64_C(0x0007F6B8CD121226),
3605           UINT64_C(0x00011EF52FEB2E87), UINT64_C(0x000499E40D596C14),
3606           UINT64_C(0x0001E15D66FB1681), UINT64_C(0x000CB2E1A771676B),
3607           UINT64_C(0x0005B8802822C88B), UINT64_C(0x0004AC4C2A3D2CE6),
3608           UINT64_C(0x000736AEEE38077F), UINT64_C(0x00048E797F51A1F0)},
3609          {UINT64_C(0x000F3FFC1B7E0E25), UINT64_C(0x000741ECED05D3C2),
3610           UINT64_C(0x0002F761F2EE2FC5), UINT64_C(0x00001899845146F7),
3611           UINT64_C(0x0001F791E6351AD2), UINT64_C(0x000D38697A0353D4),
3612           UINT64_C(0x0005D13800614CC5), UINT64_C(0x00072BF23AE1C7DE),
3613           UINT64_C(0x0002F2F0CE9EEEC6), UINT64_C(0x0004BCAB345E5507)}},
3614         {{UINT64_C(0x000447671491497E), UINT64_C(0x0000C80E0499549D),
3615           UINT64_C(0x0007383B83AE8A43), UINT64_C(0x00018D8798A60AE8),
3616           UINT64_C(0x0005A7634049A61D), UINT64_C(0x000CF3BA71A877FA),
3617           UINT64_C(0x00038992C781814F), UINT64_C(0x0004FA4F3F875472),
3618           UINT64_C(0x0006B3BE16D87909), UINT64_C(0x0007FBF24B86F9CF)},
3619          {UINT64_C(0x0005D7ED1152D458), UINT64_C(0x0006A737D3EC8814),
3620           UINT64_C(0x0003336316E14A78), UINT64_C(0x0007540CA254140D),
3621           UINT64_C(0x000110B2DC2C19D2), UINT64_C(0x0003541AEE4CD459),
3622           UINT64_C(0x0006D62DA4142812), UINT64_C(0x00004D24768B69EF),
3623           UINT64_C(0x00017FEAA0883076), UINT64_C(0x00028A34309D30B8)},
3624          {UINT64_C(0x00082AEA5AAA7679), UINT64_C(0x00069F5FFC2299F9),
3625           UINT64_C(0x00075584B5CBBAE3), UINT64_C(0x0007EB4016FF7E27),
3626           UINT64_C(0x00077F9D62577D9F), UINT64_C(0x0006DC60EBCA06A0),
3627           UINT64_C(0x0003C85F387E563B), UINT64_C(0x00015F9C0C733FB2),
3628           UINT64_C(0x00055561ADBDC642), UINT64_C(0x00014B6056050D92)}},
3629         {{UINT64_C(0x000D1DDCB3D8676E), UINT64_C(0x00029A0A308DDECF),
3630           UINT64_C(0x0006A381EC144616), UINT64_C(0x0001160CA0BFEC27),
3631           UINT64_C(0x00061482EF8B50E3), UINT64_C(0x000EF6F13CBB5FD6),
3632           UINT64_C(0x00047895BA6C9BBE), UINT64_C(0x00025EC3CC939CD7),
3633           UINT64_C(0x0000C55182568086), UINT64_C(0x00028782AA420F85)},
3634          {UINT64_C(0x0008812D8865EB1A), UINT64_C(0x0000A23A343939AB),
3635           UINT64_C(0x0007911CB6565C2A), UINT64_C(0x000542477B4639B9),
3636           UINT64_C(0x0004025D314B3748), UINT64_C(0x000F0FC98FF524B1),
3637           UINT64_C(0x0006AA3ED50EC301), UINT64_C(0x00067BEA284CE141),
3638           UINT64_C(0x00035FBE193BAF03), UINT64_C(0x000283F0131BFA47)},
3639          {UINT64_C(0x0003691D5B656339), UINT64_C(0x00010FA865CCF6EB),
3640           UINT64_C(0x000039AFC5408E69), UINT64_C(0x000716574C1285D7),
3641           UINT64_C(0x000229C93E34D31C), UINT64_C(0x0009DCB9E5D6F976),
3642           UINT64_C(0x00035DEBA296DC50), UINT64_C(0x0000AE005B921892),
3643           UINT64_C(0x0002C8A31CBE1965), UINT64_C(0x0000ED87D30FCA21)}},
3644         {{UINT64_C(0x0009C6090B0DB1A4), UINT64_C(0x00034B5A129C41C7),
3645           UINT64_C(0x00059562792D152D), UINT64_C(0x0000A11D7CE1D2F8),
3646           UINT64_C(0x00066B6939748922), UINT64_C(0x0002AD03A62C9001),
3647           UINT64_C(0x0007BBAEC39432F3), UINT64_C(0x0000F8A4915FF527),
3648           UINT64_C(0x0007DBE1A2997F40), UINT64_C(0x000439D5F39E64A8)},
3649          {UINT64_C(0x0005C0D182E1AF93), UINT64_C(0x000153BBC2722775),
3650           UINT64_C(0x000211B8B306BA69), UINT64_C(0x0007D3A33C211B46),
3651           UINT64_C(0x0005650D03F0188D), UINT64_C(0x0003805179159F66),
3652           UINT64_C(0x0005B80FDEBBC150), UINT64_C(0x00023B752B2CCA19),
3653           UINT64_C(0x00056569DDD4BB09), UINT64_C(0x000630A1D0FE1331)},
3654          {UINT64_C(0x000CC57A9BD01FD0), UINT64_C(0x00001A61B9AF718F),
3655           UINT64_C(0x0003E7AEFE584488), UINT64_C(0x00002846B6BF5441),
3656           UINT64_C(0x000032F196D04DD3), UINT64_C(0x0005855F89A5B1E2),
3657           UINT64_C(0x00034031211C8DC5), UINT64_C(0x00014993DFD465A0),
3658           UINT64_C(0x0001B4AFBB37974E), UINT64_C(0x00010725BF8ACC79)}},
3659         {{UINT64_C(0x0008533407FDA6AE), UINT64_C(0x000192F807908397),
3660           UINT64_C(0x0006D0300B59435D), UINT64_C(0x0003D01EB7B22034),
3661           UINT64_C(0x0006AFEEF3F9CD09), UINT64_C(0x000E5025B96AF595),
3662           UINT64_C(0x0006A4A6BE18817B), UINT64_C(0x00011D766D6D736B),
3663           UINT64_C(0x000798906CAD57F4), UINT64_C(0x0005ABB11A884308)},
3664          {UINT64_C(0x0005141D4E3FF7B2), UINT64_C(0x0007785D03C4C1D1),
3665           UINT64_C(0x0002E4309AA4BEDF), UINT64_C(0x0000D594EF832B4B),
3666           UINT64_C(0x00079F60B7615E57), UINT64_C(0x000AF439572259C7),
3667           UINT64_C(0x00039E6726C1C742), UINT64_C(0x00033EFCC7442133),
3668           UINT64_C(0x0001B48C7F680882), UINT64_C(0x0002FBAE97FB8296)},
3669          {UINT64_C(0x0002D2C880F58DFD), UINT64_C(0x00002E893D015F3D),
3670           UINT64_C(0x000402A9AE8025AB), UINT64_C(0x0000616166212B68),
3671           UINT64_C(0x0005D8A9EFC3CCA1), UINT64_C(0x0007EC85775C4CD6),
3672           UINT64_C(0x00048D0978840129), UINT64_C(0x0002C54DE6A58362),
3673           UINT64_C(0x0006B650181206C2), UINT64_C(0x000781263825C8B9)}},
3674         {{UINT64_C(0x00037F4695FB8F38), UINT64_C(0x00064899737EA849),
3675           UINT64_C(0x00005CA9511A1C0C), UINT64_C(0x0005B2332E230D2F),
3676           UINT64_C(0x0005BEFB537AF5C5), UINT64_C(0x000E66EDC4CC05A1),
3677           UINT64_C(0x0001F243387EED8D), UINT64_C(0x00060531AF1B8294),
3678           UINT64_C(0x00048207AF7FB47E), UINT64_C(0x0006467F4F208BC1)},
3679          {UINT64_C(0x000ED253E56AD0B4), UINT64_C(0x0006FD900D9B4494),
3680           UINT64_C(0x000771FDB0B28644), UINT64_C(0x0006608E858B8864),
3681           UINT64_C(0x0002410ACFA4ECFD), UINT64_C(0x0006BCBCB4C454F1),
3682           UINT64_C(0x0004C982596786AF), UINT64_C(0x0007C7D414F13D62),
3683           UINT64_C(0x000400A18A4312B8), UINT64_C(0x0001C8AE8AAC6E97)},
3684          {UINT64_C(0x00039A273DA14F76), UINT64_C(0x00007A039FC51A14),
3685           UINT64_C(0x00075AE649E4978D), UINT64_C(0x00068BBF1108ED62),
3686           UINT64_C(0x0001AC7CBC84A882), UINT64_C(0x000F007CBF2633B8),
3687           UINT64_C(0x0001A252213D53A3), UINT64_C(0x00060026357E6823),
3688           UINT64_C(0x0005559C92CD3AA6), UINT64_C(0x000363AFB26A540D)}},
3689         {{UINT64_C(0x000C6D7AC27539AC), UINT64_C(0x0004CAF0243C7093),
3690           UINT64_C(0x0006E0AFE6D51B44), UINT64_C(0x0002FD11233BA456),
3691           UINT64_C(0x0002CF8D4FBEC26A), UINT64_C(0x000335E8B284BD21),
3692           UINT64_C(0x0004E3B0C6669531), UINT64_C(0x000268080A9578C0),
3693           UINT64_C(0x00001A56306692EA), UINT64_C(0x0001DC271C3ACEF7)},
3694          {UINT64_C(0x0005D867CCE652DC), UINT64_C(0x000413FF399550DD),
3695           UINT64_C(0x0004AE5EB4FD02DD), UINT64_C(0x00052874EA4A9C83),
3696           UINT64_C(0x0004E30A566CC4F0), UINT64_C(0x0009ED469CD2FA26),
3697           UINT64_C(0x00079EED35A8B65B), UINT64_C(0x000064FF6AF426D8),
3698           UINT64_C(0x00013C73FCA107AB), UINT64_C(0x0006BCC1F527AE0B)},
3699          {UINT64_C(0x000E8622B341115B), UINT64_C(0x0005F8B755945B8A),
3700           UINT64_C(0x000642734EB49580), UINT64_C(0x00002466340FFFFA),
3701           UINT64_C(0x0003E1295E9DB2EF), UINT64_C(0x000914081A805FD4),
3702           UINT64_C(0x0004A81CD7486D11), UINT64_C(0x0005D93E4C17C491),
3703           UINT64_C(0x0006919BA5ECC6B0), UINT64_C(0x000448FF91161C16)}},
3704         {{UINT64_C(0x0003D9DFABF694F0), UINT64_C(0x00002EE322AB5B23),
3705           UINT64_C(0x0007E35695039192), UINT64_C(0x00016EB2F5322F0B),
3706           UINT64_C(0x0007FCF7BA70F363), UINT64_C(0x0007FBE02B2A3F5E),
3707           UINT64_C(0x00016937E666BFE0), UINT64_C(0x00063B8FCA96F14A),
3708           UINT64_C(0x000540136F4D10D5), UINT64_C(0x00039D97115CAD4A)},
3709          {UINT64_C(0x000A782DAEA02C81), UINT64_C(0x0002FD925EE99F06),
3710           UINT64_C(0x00060F793F8913A6), UINT64_C(0x0001E83A9CDE3761),
3711           UINT64_C(0x0001467FC5C751CA), UINT64_C(0x000264902CF947E3),
3712           UINT64_C(0x00006FAA77E5A8BE), UINT64_C(0x00067F05EF979834),
3713           UINT64_C(0x0005311603B55490), UINT64_C(0x000074D079F64A01)},
3714          {UINT64_C(0x0006D0D6BDA6A83D), UINT64_C(0x00002DDDDEE12D29),
3715           UINT64_C(0x0005927C12A4B6B7), UINT64_C(0x00071C3961F108DF),
3716           UINT64_C(0x00077B7833C53611), UINT64_C(0x0002FDE12520D971),
3717           UINT64_C(0x0007CB6A7953E587), UINT64_C(0x0004139054626FC8),
3718           UINT64_C(0x00079EAC5F05CF63), UINT64_C(0x00001D021BA677A6)}},
3719         {{UINT64_C(0x000CAC0E21E72D01), UINT64_C(0x0002AAC8A7589E07),
3720           UINT64_C(0x0007A7F89C925218), UINT64_C(0x0005C69DE570605B),
3721           UINT64_C(0x0007C603800C1CEC), UINT64_C(0x0005CD221F6861F6),
3722           UINT64_C(0x000225A7F4668D5E), UINT64_C(0x00027C1F6FFB5628),
3723           UINT64_C(0x0007A72B7EAEB5A8), UINT64_C(0x0000B10838B451B8)},
3724          {UINT64_C(0x000CE1FEA6AE6F93), UINT64_C(0x00019A7F14080E06),
3725           UINT64_C(0x0002CF09EEA75595), UINT64_C(0x0006DB5A156F82EC),
3726           UINT64_C(0x0002FBA8A7857009), UINT64_C(0x00013F8B71B7B21D),
3727           UINT64_C(0x00036BCBD874C4CE), UINT64_C(0x0003A12D4D39A34D),
3728           UINT64_C(0x00027EBC6E708CC4), UINT64_C(0x00046B288961C679)},
3729          {UINT64_C(0x00084942A3FFE4F7), UINT64_C(0x00039331DB0EFDD2),
3730           UINT64_C(0x0003BC5E8D64D32A), UINT64_C(0x0002F14504F246A2),
3731           UINT64_C(0x0005D0B970850BFE), UINT64_C(0x000DDBFD50853040),
3732           UINT64_C(0x00053F2BB46E95D8), UINT64_C(0x0006217469553610),
3733           UINT64_C(0x0001AA60880F4C92), UINT64_C(0x0001BB031C7CDCAD)}},
3734         {{UINT64_C(0x00043577337ED415), UINT64_C(0x0001168CF60C5FCC),
3735           UINT64_C(0x0004F7F95837B2D6), UINT64_C(0x00056BA25D4F23A3),
3736           UINT64_C(0x0005C14460B0F4E0), UINT64_C(0x0002B00069045903),
3737           UINT64_C(0x00004B0C5A39B1AA), UINT64_C(0x0003FBB985D77FA8),
3738           UINT64_C(0x00049239EE5946D9), UINT64_C(0x00057387CD1049E9)},
3739          {UINT64_C(0x000B952D15EE6357), UINT64_C(0x0002DB9A48C1B600),
3740           UINT64_C(0x0002D0190D4ADBBA), UINT64_C(0x00047F14E4566F50),
3741           UINT64_C(0x0001F163D4E86E1D), UINT64_C(0x000C92AF729F469E),
3742           UINT64_C(0x00007BD599CC0C16), UINT64_C(0x0006BC2F08CAE272),
3743           UINT64_C(0x00047553865EB8CC), UINT64_C(0x0001CE9F42F10932)},
3744          {UINT64_C(0x000BCE2DA7F5610F), UINT64_C(0x0003B36D325EE2A8),
3745           UINT64_C(0x000726B58068AB44), UINT64_C(0x0004A0F44270ED1F),
3746           UINT64_C(0x00071571152CE6BE), UINT64_C(0x000565993B17157C),
3747           UINT64_C(0x00039843697248A3), UINT64_C(0x00051EDAD623656A),
3748           UINT64_C(0x0004E89907281D95), UINT64_C(0x0003514F571877C2)}},
3749     },
3750     {
3751         {{UINT64_C(0x000D2A3121F83A1D), UINT64_C(0x0002DA330B022D82),
3752           UINT64_C(0x00003B3EAB80FFD8), UINT64_C(0x00015D727FF11EA8),
3753           UINT64_C(0x000645E52899FB8C), UINT64_C(0x000C944BAFE40831),
3754           UINT64_C(0x0006EFC60BCB700D), UINT64_C(0x00049C8983D2F665),
3755           UINT64_C(0x00001D4D70FCC0D3), UINT64_C(0x0004D6ED234BFC0D)},
3756          {UINT64_C(0x000B1C9F041D3F61), UINT64_C(0x0005D2FDE93EC1F5),
3757           UINT64_C(0x00076737DC0F744C), UINT64_C(0x00042230534666BE),
3758           UINT64_C(0x0003404E863515DA), UINT64_C(0x000C7436CCE8B116),
3759           UINT64_C(0x00005EA392999318), UINT64_C(0x0007905E98068490),
3760           UINT64_C(0x00010A805AD32FCC), UINT64_C(0x000023B7CE895D07)},
3761          {UINT64_C(0x0003EFFB814E2197), UINT64_C(0x0000852A305BE11B),
3762           UINT64_C(0x00048396DD06C432), UINT64_C(0x000540D5C5935D99),
3763           UINT64_C(0x00035AEAD67940BE), UINT64_C(0x0008CA943925F507),
3764           UINT64_C(0x0006F245BE658554), UINT64_C(0x0000B5E763A6E0C5),
3765           UINT64_C(0x0002E795E93C44D8), UINT64_C(0x0006CC4B88C475C6)}},
3766         {{UINT64_C(0x000C200B8B331922), UINT64_C(0x00004683E419F734),
3767           UINT64_C(0x0002C7E001FCD0C0), UINT64_C(0x0001479FD1FC8DF1),
3768           UINT64_C(0x000577647BF78E53), UINT64_C(0x0003AC981A6CC35C),
3769           UINT64_C(0x0002966643DF7AFF), UINT64_C(0x000673621471EFDC),
3770           UINT64_C(0x0007BF256881F54F), UINT64_C(0x000487F29B6DB344)},
3771          {UINT64_C(0x00085CDB9629C5F6), UINT64_C(0x000604C1DBE92B8A),
3772           UINT64_C(0x0003BBE72A278D3D), UINT64_C(0x000767DE37996D84),
3773           UINT64_C(0x0000DFE0B1187EE4), UINT64_C(0x0004DE0ADC2458BC),
3774           UINT64_C(0x00003CCCC4C709E4), UINT64_C(0x00045A74FFEA1E3D),
3775           UINT64_C(0x00015B4EE2B662A6), UINT64_C(0x000181EFB7AE8968)},
3776          {UINT64_C(0x0009F028A704590F), UINT64_C(0x0005F2BA1A40E68C),
3777           UINT64_C(0x0001F65FEC8D20C2), UINT64_C(0x00020C79DAFC49DD),
3778           UINT64_C(0x0007EEFCC164D9D7), UINT64_C(0x000D456B93390094),
3779           UINT64_C(0x000185EADF32B9D0), UINT64_C(0x0004ED0525883825),
3780           UINT64_C(0x0007B8A0AEB853AE), UINT64_C(0x0000D9511CB1B787)}},
3781         {{UINT64_C(0x000CDF0DB3694899), UINT64_C(0x00023B940D7CF533),
3782           UINT64_C(0x0006B84827681417), UINT64_C(0x0006F9B4F46F0E96),
3783           UINT64_C(0x000515DA23E8AC6B), UINT64_C(0x00095847795BB758),
3784           UINT64_C(0x0003F4CCA41B8228), UINT64_C(0x0006186E4E9093AC),
3785           UINT64_C(0x00077309478974B1), UINT64_C(0x0005B4F6C6F8FEFA)},
3786          {UINT64_C(0x0001443F74773B5C), UINT64_C(0x00063FFF59FDE6B6),
3787           UINT64_C(0x0001F16F0B9EEC52), UINT64_C(0x000051FCDC5A3486),
3788           UINT64_C(0x0003DB748AF8F2E5), UINT64_C(0x000B5783C6DC2D30),
3789           UINT64_C(0x0002DAB21D8CC130), UINT64_C(0x0005F25B88234552),
3790           UINT64_C(0x0004FF796B7D456D), UINT64_C(0x0006080EB1FC5C27)},
3791          {UINT64_C(0x000A9AA635E4EF7D), UINT64_C(0x000108EC067C691F),
3792           UINT64_C(0x00004D22357BAE6A), UINT64_C(0x000337A3327BC99C),
3793           UINT64_C(0x0000A68F7BADF67C), UINT64_C(0x000AC18F7DFA19B2),
3794           UINT64_C(0x0005C678FBE8EB52), UINT64_C(0x0001D8F2C4E8BB6E),
3795           UINT64_C(0x0000DA44F24F2716), UINT64_C(0x00030A3DE2A3A421)}},
3796         {{UINT64_C(0x000F5BCB25CF4FB5), UINT64_C(0x00037F879FD958AF),
3797           UINT64_C(0x0001AD917C6DE29F), UINT64_C(0x000162FF07F36826),
3798           UINT64_C(0x00067919212F631A), UINT64_C(0x000BFD3793A355FB),
3799           UINT64_C(0x0005755B1ABED696), UINT64_C(0x000144F83C26744A),
3800           UINT64_C(0x0004BCAD8857D421), UINT64_C(0x00016302D4EADAE5)},
3801          {UINT64_C(0x0007E6C00E672C8D), UINT64_C(0x00038DE62F3282ED),
3802           UINT64_C(0x0004B4D7588B4274), UINT64_C(0x0000DE769DFD42DE),
3803           UINT64_C(0x00031736034810B0), UINT64_C(0x00042D1D02CFDE19),
3804           UINT64_C(0x0003D5001378BC45), UINT64_C(0x00063303C6FB6962),
3805           UINT64_C(0x00033FF632B306CC), UINT64_C(0x0007FCD2720CF3DD)},
3806          {UINT64_C(0x0000D3E05FE45941), UINT64_C(0x0001EE7BCFC54EA8),
3807           UINT64_C(0x00073BF8104FCCCD), UINT64_C(0x0006E128F079E6C4),
3808           UINT64_C(0x0006FE2C64E04ED7), UINT64_C(0x0007C13D9F8F4E55),
3809           UINT64_C(0x00073AA7BE299340), UINT64_C(0x00065D2152375AFE),
3810           UINT64_C(0x000389EB4ABE5495), UINT64_C(0x00044A45040B455F)}},
3811         {{UINT64_C(0x000A15B31548EDEF), UINT64_C(0x0004BE66E39BFE46),
3812           UINT64_C(0x0000A4F48F221DE4), UINT64_C(0x0003D1DB970835AB),
3813           UINT64_C(0x00031933E3DE57CB), UINT64_C(0x000978578FEEE453),
3814           UINT64_C(0x0002C30F392DC6A7), UINT64_C(0x0000C948C85AE181),
3815           UINT64_C(0x000200560FFD6366), UINT64_C(0x0001230F26094A57)},
3816          {UINT64_C(0x00071F959A90337C), UINT64_C(0x000208552F478DC7),
3817           UINT64_C(0x0005788AC4EBB26B), UINT64_C(0x0002B9FBF27C3470),
3818           UINT64_C(0x00004FF4C8B12365), UINT64_C(0x0006D2BCE6204D47),
3819           UINT64_C(0x0001E8AAA0A8023E), UINT64_C(0x000797C24FED76B7),
3820           UINT64_C(0x00026173EF326E46), UINT64_C(0x0006133FB5B5B999)},
3821          {UINT64_C(0x00012BC7A048AF37), UINT64_C(0x0000FD0301EC2E53),
3822           UINT64_C(0x0002C070DD9CD038), UINT64_C(0x0007F2EFAC327986),
3823           UINT64_C(0x00026CE631FC9FEF), UINT64_C(0x000277F1E2BB1725),
3824           UINT64_C(0x00010E40E88E18E3), UINT64_C(0x00039310E1B26218),
3825           UINT64_C(0x0003985E2F2FBFEB), UINT64_C(0x000268DC44A02ADF)}},
3826         {{UINT64_C(0x000DEA78EADAEEC1), UINT64_C(0x0003DB0BE77C03ED),
3827           UINT64_C(0x0003EDF67A38D25B), UINT64_C(0x0005019B365A8A38),
3828           UINT64_C(0x0005197BFB9FF59C), UINT64_C(0x00083D36F0A5A16A),
3829           UINT64_C(0x0005152E257CA37F), UINT64_C(0x0006A2BEE626DAA6),
3830           UINT64_C(0x00033AE983C20B72), UINT64_C(0x0004D9B705EAAD1C)},
3831          {UINT64_C(0x000874E06D7B5C24), UINT64_C(0x00064390163770B6),
3832           UINT64_C(0x0005698AF98FF650), UINT64_C(0x0005B8EBB355D77A),
3833           UINT64_C(0x0000AE7C70732C73), UINT64_C(0x000E19D3D98FABDD),
3834           UINT64_C(0x00079DEDA37DA75D), UINT64_C(0x00004B710B1674C5),
3835           UINT64_C(0x00040619A55A5DEF), UINT64_C(0x000779DCC6F44704)},
3836          {UINT64_C(0x000504F35721DEFB), UINT64_C(0x0004A3C0C7E7284A),
3837           UINT64_C(0x0002EB38ABD01FCB), UINT64_C(0x0004CE3322295DF1),
3838           UINT64_C(0x00031DB27F499399), UINT64_C(0x00018AABC6E0C983),
3839           UINT64_C(0x0000AF5EF9B55762), UINT64_C(0x0005322B53AAAACA),
3840           UINT64_C(0x0007762A5164BC03), UINT64_C(0x0007F960E2AF4304)}},
3841         {{UINT64_C(0x0004FE2209D880A9), UINT64_C(0x0003B71CEB098483),
3842           UINT64_C(0x0006F0A21F537C16), UINT64_C(0x0002CF6EB8FF1658),
3843           UINT64_C(0x0005494E50B58CA1), UINT64_C(0x0004438EA9A0A3E8),
3844           UINT64_C(0x0003E7417D2F3188), UINT64_C(0x0006C48A60BD0440),
3845           UINT64_C(0x0006AD71A29DB30C), UINT64_C(0x0001AC8E5A50D6AA)},
3846          {UINT64_C(0x000C73B8887E050B), UINT64_C(0x0003885D576CDAD0),
3847           UINT64_C(0x0004A689C810C4FB), UINT64_C(0x000694592DB886B1),
3848           UINT64_C(0x00063944B776872E), UINT64_C(0x000AA2F2A130E0FC),
3849           UINT64_C(0x00008DD2C544EA7E), UINT64_C(0x000210E4D0FC740D),
3850           UINT64_C(0x0001E222C1CAA921), UINT64_C(0x00071E84DB222363)},
3851          {UINT64_C(0x0006F9367DF1009D), UINT64_C(0x0006CBC0A10D4FD2),
3852           UINT64_C(0x000610447BE01C43), UINT64_C(0x0000F58331DDCDD9),
3853           UINT64_C(0x00041CDDB6D56BDD), UINT64_C(0x00011776CAFBC4AC),
3854           UINT64_C(0x000374788FA28EB8), UINT64_C(0x0000E99592B60098),
3855           UINT64_C(0x0001448FF0C15C26), UINT64_C(0x0006667044FC0ECF)}},
3856         {{UINT64_C(0x0009F8C30043EA50), UINT64_C(0x000112BE297E6871),
3857           UINT64_C(0x0002F61BC12D1B08), UINT64_C(0x00022B45B0DF4504),
3858           UINT64_C(0x0004A8355FC774A3), UINT64_C(0x0009F24537D203A0),
3859           UINT64_C(0x0000F00050E3A31C), UINT64_C(0x00060D19D82588C3),
3860           UINT64_C(0x00035A326B654F92), UINT64_C(0x00069365E53B389A)},
3861          {UINT64_C(0x00050A34F9BCA230), UINT64_C(0x000768F7A199C03D),
3862           UINT64_C(0x000204C0AADFC49C), UINT64_C(0x00025CAC2599062C),
3863           UINT64_C(0x00077F593DCC6037), UINT64_C(0x000D311959EB3E67),
3864           UINT64_C(0x000092B89479AFDF), UINT64_C(0x0005B67AD89C4F22),
3865           UINT64_C(0x0003626EAED6B185), UINT64_C(0x00067832EC55B3C6)},
3866          {UINT64_C(0x000C1593CEFCECC1), UINT64_C(0x0000A4A2957784F8),
3867           UINT64_C(0x00026ABBB5309788), UINT64_C(0x00074F0F59146003),
3868           UINT64_C(0x000387E735C3C669), UINT64_C(0x000593E8E4DEBA0C),
3869           UINT64_C(0x0002E24A801D3568), UINT64_C(0x0005256747685BDB),
3870           UINT64_C(0x000013566542C53E), UINT64_C(0x00048E7E32CD1AD3)}},
3871         {{UINT64_C(0x0007D4DBA5C3CC2A), UINT64_C(0x0005759B789AA3A3),
3872           UINT64_C(0x0006F22E17510467), UINT64_C(0x00040F3252F7511B),
3873           UINT64_C(0x000528AEF4908B9A), UINT64_C(0x000B8EAE9E5BCEE1),
3874           UINT64_C(0x0006942B0FECB4DD), UINT64_C(0x00033E6A3D8BD112),
3875           UINT64_C(0x0004CC49DD25E389), UINT64_C(0x000445C577D06042)},
3876          {UINT64_C(0x0007C40A37BEFD01), UINT64_C(0x000730CA5186A539),
3877           UINT64_C(0x0005C36B6EDBB6B6), UINT64_C(0x0004CE95B4DA9CD6),
3878           UINT64_C(0x0002E2AD0BAECB4F), UINT64_C(0x0009E94D245C6F84),
3879           UINT64_C(0x00073894E220EBEA), UINT64_C(0x0001E10C1571B9C0),
3880           UINT64_C(0x0002A750557B17A9), UINT64_C(0x0002F468854DE098)},
3881          {UINT64_C(0x0006D012DA4D1F3B), UINT64_C(0x000065FA17AAA85D),
3882           UINT64_C(0x000126D6EC4C4597), UINT64_C(0x00062F36E6EDE0C7),
3883           UINT64_C(0x0000B9419F244E94), UINT64_C(0x00089B6AA6EA58BD),
3884           UINT64_C(0x00067307208BE7E2), UINT64_C(0x00065FD90ED40D58),
3885           UINT64_C(0x0002493AE4798B62), UINT64_C(0x0005C947F9A199F6)}},
3886         {{UINT64_C(0x000C9CA5529BDF08), UINT64_C(0x0006474FD3A96C71),
3887           UINT64_C(0x00032737E53C8C69), UINT64_C(0x0007F1A1D1EDAE8C),
3888           UINT64_C(0x0007E44ED2C4B89C), UINT64_C(0x00039AC19F0C716A),
3889           UINT64_C(0x00041F9F39F47EBF), UINT64_C(0x0007591E503A89BC),
3890           UINT64_C(0x0007E4B3B038BA83), UINT64_C(0x0002D77047632306)},
3891          {UINT64_C(0x000E44217D6E3B7F), UINT64_C(0x00025C90B5976AEE),
3892           UINT64_C(0x0001F4EF248E8C6D), UINT64_C(0x0006AF1D1868F663),
3893           UINT64_C(0x000038AC35E161DE), UINT64_C(0x0006647522C34933),
3894           UINT64_C(0x0005FBBBB3C26A48), UINT64_C(0x000226EA1BC6B125),
3895           UINT64_C(0x000061EA27678E69), UINT64_C(0x0007204A98E37606)},
3896          {UINT64_C(0x000782E217103AF0), UINT64_C(0x0005F858671BD8FE),
3897           UINT64_C(0x0004929B9196468A), UINT64_C(0x0004EA71EE645DFD),
3898           UINT64_C(0x00044AAB314B679F), UINT64_C(0x0000B22073C603B6),
3899           UINT64_C(0x0004B1C1D90F53B3), UINT64_C(0x0000F1B4FA3F48F3),
3900           UINT64_C(0x000128359405A8D0), UINT64_C(0x00007D5F6710B1AF)}},
3901         {{UINT64_C(0x000306DD32F8B559), UINT64_C(0x0007C415E4D67E45),
3902           UINT64_C(0x00056A49257A4333), UINT64_C(0x00018F1224742086),
3903           UINT64_C(0x000542B30DD86DDC), UINT64_C(0x0001645F932983EF),
3904           UINT64_C(0x0007213FC2770A7F), UINT64_C(0x0005126F605B77F9),
3905           UINT64_C(0x00041CEEB5B0DE9E), UINT64_C(0x0003C305D884EC37)},
3906          {UINT64_C(0x000769826ECC1E95), UINT64_C(0x00058DF57466B622),
3907           UINT64_C(0x0002788C60F1A684), UINT64_C(0x00010C568F251DA8),
3908           UINT64_C(0x00075B0E37E05118), UINT64_C(0x000165CB8643BF09),
3909           UINT64_C(0x0006155F1C1AEE2D), UINT64_C(0x0006CF1B4EF316A8),
3910           UINT64_C(0x000061E8F6B5FB5F), UINT64_C(0x0000893F44E63C16)},
3911          {UINT64_C(0x000CDF32871DF406), UINT64_C(0x00078311BD087EFE),
3912           UINT64_C(0x00067873B3557364), UINT64_C(0x000636BE32D35E5A),
3913           UINT64_C(0x0006195801D0D6BB), UINT64_C(0x0002735B3B4EB70E),
3914           UINT64_C(0x000363C1BD256DF7), UINT64_C(0x0004C37F9069C166),
3915           UINT64_C(0x000706B70FC69919), UINT64_C(0x0005402BC0A1784B)}},
3916         {{UINT64_C(0x000C3C3A75895A83), UINT64_C(0x0002AF5E20173369),
3917           UINT64_C(0x00016058BB908BA2), UINT64_C(0x00006422CFBDCBA5),
3918           UINT64_C(0x0003532C8DAA68D7), UINT64_C(0x0001718B0498E976),
3919           UINT64_C(0x0001037F828D1CB5), UINT64_C(0x0004ADFBAC138E46),
3920           UINT64_C(0x000264F5D9AA2DBF), UINT64_C(0x000661862DCF83A4)},
3921          {UINT64_C(0x000B4401A412DE9C), UINT64_C(0x0004C413E9A0630F),
3922           UINT64_C(0x0001E24FC9E6E3F3), UINT64_C(0x00077A8E0FD8D9C4),
3923           UINT64_C(0x0001BC33A8CA2E97), UINT64_C(0x0008030A67A41045),
3924           UINT64_C(0x00039F744B6ECFD1), UINT64_C(0x00072432DDCFFE36),
3925           UINT64_C(0x0007DD91D0BBE6D8), UINT64_C(0x000078AB20170916)},
3926          {UINT64_C(0x000498F6F8BD5A53), UINT64_C(0x0000D1C46916C0CF),
3927           UINT64_C(0x0005F54960938342), UINT64_C(0x000447AA84AB04D2),
3928           UINT64_C(0x000724A5EB675B6E), UINT64_C(0x000EA0E318325878),
3929           UINT64_C(0x00066B113C4AA80B), UINT64_C(0x000253461B0BF6BE),
3930           UINT64_C(0x0004DB77BC24C66A), UINT64_C(0x0001AC7EDE0A50F4)}},
3931         {{UINT64_C(0x00044A5984167BC5), UINT64_C(0x0003C2E2EF77D4C4),
3932           UINT64_C(0x0000B0E5F803C46E), UINT64_C(0x00036C49B84AF0A1),
3933           UINT64_C(0x0000C05A8C33C661), UINT64_C(0x00096D04429DE51D),
3934           UINT64_C(0x0001CD77226DEF8B), UINT64_C(0x0005AF209A481396),
3935           UINT64_C(0x0004DD604CDFFC41), UINT64_C(0x0000DE719B2B2635)},
3936          {UINT64_C(0x00038429D5339495), UINT64_C(0x00059B744E7203F8),
3937           UINT64_C(0x00054083470E63F2), UINT64_C(0x00020168D78F5F9F),
3938           UINT64_C(0x00060B7BBD5EEA39), UINT64_C(0x0006C9580366396A),
3939           UINT64_C(0x00047B4DABFD7116), UINT64_C(0x00007CB92CE4EB12),
3940           UINT64_C(0x000171CBBFFF880B), UINT64_C(0x00032AEA49629D50)},
3941          {UINT64_C(0x0002327365257623), UINT64_C(0x0002901F27D0F318),
3942           UINT64_C(0x0007EEC27D093A11), UINT64_C(0x0000C431CC4582E3),
3943           UINT64_C(0x00032FC5091EC7C3), UINT64_C(0x0009F1205282C2B4),
3944           UINT64_C(0x0006A99198CE7309), UINT64_C(0x000181D401A1E0EB),
3945           UINT64_C(0x00000BFBAE47E38F), UINT64_C(0x0001B85974A394FD)}},
3946         {{UINT64_C(0x00003D98BB92DE0A), UINT64_C(0x00012FC6BEE98813),
3947           UINT64_C(0x0003C727A73BB1DB), UINT64_C(0x000594A927D8CBF4),
3948           UINT64_C(0x0002F609AA953DBA), UINT64_C(0x000BFB4CF73D47D7),
3949           UINT64_C(0x0006F4AC381AE6B8), UINT64_C(0x0000D2B0C81B4EFB),
3950           UINT64_C(0x0005455F0C358D6D), UINT64_C(0x0000F023E512DEEE)},
3951          {UINT64_C(0x00069BD7FC6E5CF7), UINT64_C(0x0002D72F5A73331E),
3952           UINT64_C(0x00030CAB8A2D6416), UINT64_C(0x0001594D14FA77F2),
3953           UINT64_C(0x000631869D3D020D), UINT64_C(0x00002E08CCBFD994),
3954           UINT64_C(0x00046F03B754307B), UINT64_C(0x00067146A1F6ED5B),
3955           UINT64_C(0x0000B02B94197421), UINT64_C(0x000751016B4BD0BC)},
3956          {UINT64_C(0x000E6EFCC4EDE7FE), UINT64_C(0x0004ADD3198030A1),
3957           UINT64_C(0x00047734A17278D8), UINT64_C(0x0000F92F45E7CE85),
3958           UINT64_C(0x0003F6D367D00160), UINT64_C(0x000E13DFE99432BE),
3959           UINT64_C(0x000187A2AF6E1412), UINT64_C(0x0006A191CEED3ACE),
3960           UINT64_C(0x00058147D849A2BA), UINT64_C(0x0001BC9A9B916364)}},
3961         {{UINT64_C(0x00000199D348C776), UINT64_C(0x00027B8B4CFED803),
3962           UINT64_C(0x0005BF0AB8D43407), UINT64_C(0x0007B10CAF37EC50),
3963           UINT64_C(0x00033B53F6C30777), UINT64_C(0x000E87F6475537F5),
3964           UINT64_C(0x00001D4A155ABBCB), UINT64_C(0x0003CB17A764EA6A),
3965           UINT64_C(0x00013523EE4327E1), UINT64_C(0x000753B39ECFEACE)},
3966          {UINT64_C(0x00042F46C4C2845F), UINT64_C(0x000664A9551B6369),
3967           UINT64_C(0x0000C9CC8349A824), UINT64_C(0x000574459D0ED534),
3968           UINT64_C(0x0001A18730E01DA7), UINT64_C(0x00082CA89B83E7F8),
3969           UINT64_C(0x0006AEE1395800DC), UINT64_C(0x00020195766F2D74),
3970           UINT64_C(0x00027864BA955A16), UINT64_C(0x00056478A31843AB)},
3971          {UINT64_C(0x0003D3FE4F04AC87), UINT64_C(0x0002E5E52E60EFDD),
3972           UINT64_C(0x00060730A36559C5), UINT64_C(0x0006A427612AD123),
3973           UINT64_C(0x0003A36F820D7FE6), UINT64_C(0x00089AD1F5C273D7),
3974           UINT64_C(0x0002D21C3309431D), UINT64_C(0x00079250B4AEAD6F),
3975           UINT64_C(0x0003F475A1168016), UINT64_C(0x000092AD39E48D5D)}},
3976         {{UINT64_C(0x000C1CB7EACBBE5F), UINT64_C(0x0004783A6E7DF912),
3977           UINT64_C(0x0005830AE2E3AE77), UINT64_C(0x00020AEE82D43F9A),
3978           UINT64_C(0x0001F837EDBC8314), UINT64_C(0x000A1D23C74DA695),
3979           UINT64_C(0x0005E6AEAC19A780), UINT64_C(0x0007852725690C30),
3980           UINT64_C(0x0006807B0774F532), UINT64_C(0x00004DB69C9F9C33)},
3981          {UINT64_C(0x000F824529D58522), UINT64_C(0x000241E1A2206190),
3982           UINT64_C(0x0007C5225BAD2B57), UINT64_C(0x00067F90115B53BF),
3983           UINT64_C(0x00066BD04E108B4E), UINT64_C(0x00033F9F0CC81B9C),
3984           UINT64_C(0x0003C0A7A3FFBC22), UINT64_C(0x0002670D5CC34121),
3985           UINT64_C(0x0002CF6BBD4DBD78), UINT64_C(0x000644ED07DFB2C5)},
3986          {UINT64_C(0x0002A7ACB34B8F5D), UINT64_C(0x00048474BD048B62),
3987           UINT64_C(0x0004D4C75CE04805), UINT64_C(0x0001DB57B655BA7F),
3988           UINT64_C(0x0007755297FAB4DC), UINT64_C(0x000CBABD48415893),
3989           UINT64_C(0x0006810FE1CA637E), UINT64_C(0x0000F699DDD6AC1F),
3990           UINT64_C(0x000451C6EABA4EA0), UINT64_C(0x0007E1DB71EC0558)}},
3991     }};
3992
3993 /*-
3994  * Q := 2P, both projective, Q and P same pointers OK
3995  * Autogenerated: op3/dbl_proj_ed_eone.op3
3996  * https://www.hyperelliptic.org/EFD/g1p/auto-code/twisted/extended-1/doubling/dbl-2008-hwcd.op3
3997  * ASSERT: e = 1
3998  */
3999 static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
4000     /* temporary variables */
4001     fe_t t0, t1, t2, t3;
4002     /* constants */
4003     /* set pointers for Edwards curve arith */
4004     const limb_t *X = P->X;
4005     const limb_t *Y = P->Y;
4006     const limb_t *Z = P->Z;
4007     limb_t *X3 = Q->X;
4008     limb_t *Y3 = Q->Y;
4009     limb_t *T3 = Q->T;
4010     limb_t *Z3 = Q->Z;
4011
4012     /* the curve arith formula */
4013     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(t0, X);
4014     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(t1, Y);
4015     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(t2, Z);
4016     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(t3, t2, t2);
4017     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(X3, X, Y);
4018     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(Y3, X3);
4019     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(T3, Y3, t0);
4020     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(Z3, T3, t1);
4021     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(Y3, t0, t1);
4022     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t2, Y3, t3);
4023     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t3, t0, t1);
4024     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, Z3, t2);
4025     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, Z3, t3);
4026     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Z3, t2, Y3);
4027     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, Y3, t3);
4028 }
4029
4030 /*-
4031  * R := Q + P where R and Q are projective, P affine.
4032  * R and Q same pointers OK
4033  * R and P same pointers not OK
4034  * Autogenerated: op3/add_mixed_ed_eone.op3
4035  * https://hyperelliptic.org/EFD/g1p/auto-code/twisted/extended/addition/madd-2008-hwcd.op3
4036  * ASSERT: e = 1
4037  */
4038 static void point_add_mixed(pt_prj_t *R, const pt_prj_t *Q, const pt_aff_t *P) {
4039     /* temporary variables */
4040     fe_t t0, t1, t2, t3;
4041     /* constants */
4042     const limb_t *d = const_d;
4043     /* set pointers for Edwards curve arith */
4044     const limb_t *X1 = Q->X;
4045     const limb_t *Y1 = Q->Y;
4046     const limb_t *T1 = Q->T;
4047     const limb_t *Z1 = Q->Z;
4048     const limb_t *X2 = P->X;
4049     const limb_t *Y2 = P->Y;
4050     const limb_t *T2 = P->T;
4051     limb_t *X3 = R->X;
4052     limb_t *Y3 = R->Y;
4053     limb_t *T3 = R->T;
4054     limb_t *Z3 = R->Z;
4055
4056     /* the curve arith formula */
4057     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t0, X1, X2);
4058     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t1, Y1, Y2);
4059     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t2, d, T2);
4060     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t2, T1, t2);
4061     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(X3, X1, Y1);
4062     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(Y3, X2, Y2);
4063     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, X3, Y3);
4064     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t3, T3, t0);
4065     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(T3, t3, t1);
4066     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(t3, Z1, t2);
4067     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(Z3, Z1, t2);
4068     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t1, t1, t0);
4069     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, T3, Z3);
4070     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, t3, t1);
4071     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, T3, t1);
4072     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Z3, Z3, t3);
4073 }
4074
4075 /*-
4076  * R := Q + P all projective.
4077  * R and Q same pointers OK
4078  * R and P same pointers not OK
4079  * Autogenerated: op3/add_proj_ed_eone.op3
4080  * https://hyperelliptic.org/EFD/g1p/auto-code/twisted/extended/addition/add-2008-hwcd.op3
4081  * ASSERT: e = 1
4082  */
4083 static void point_add_proj(pt_prj_t *R, const pt_prj_t *Q, const pt_prj_t *P) {
4084     /* temporary variables */
4085     fe_t t0, t1, t2, t3;
4086     /* constants */
4087     const limb_t *d = const_d;
4088     /* set pointers for Edwards curve arith */
4089     const limb_t *X1 = Q->X;
4090     const limb_t *Y1 = Q->Y;
4091     const limb_t *T1 = Q->T;
4092     const limb_t *Z1 = Q->Z;
4093     const limb_t *X2 = P->X;
4094     const limb_t *Y2 = P->Y;
4095     const limb_t *T2 = P->T;
4096     const limb_t *Z2 = P->Z;
4097     limb_t *X3 = R->X;
4098     limb_t *Y3 = R->Y;
4099     limb_t *T3 = R->T;
4100     limb_t *Z3 = R->Z;
4101
4102     /* the curve arith formula */
4103     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t0, X1, X2);
4104     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t1, Y1, Y2);
4105     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t2, d, T2);
4106     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t2, T1, t2);
4107     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t3, Z1, Z2);
4108     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(X3, X1, Y1);
4109     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(Y3, X2, Y2);
4110     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, X3, Y3);
4111     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(Z3, T3, t0);
4112     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(T3, Z3, t1);
4113     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(Z3, t3, t2);
4114     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(t3, t3, t2);
4115     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t1, t1, t0);
4116     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, T3, Z3);
4117     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, t3, t1);
4118     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, T3, t1);
4119     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Z3, Z3, t3);
4120 }
4121
4122 /*-
4123  * from P projective Edwards to Q projective legacy: Q=P OK
4124  * Autogenerated: op3/edwards2legacy_gost.op3
4125  * https://tools.ietf.org/html/rfc7836#section-5.2
4126  */
4127 static void point_edwards2legacy(pt_prj_t *Q, const pt_prj_t *P) {
4128     /* temporary variables */
4129     fe_t t0;
4130     /* constants */
4131     const limb_t *S = const_S;
4132     const limb_t *T = const_T;
4133     const limb_t *X1 = P->X;
4134     const limb_t *Y1 = P->Y;
4135     const limb_t *Z1 = P->Z;
4136     limb_t *X3 = Q->X;
4137     limb_t *Y3 = Q->Y;
4138     limb_t *T3 = Q->T;
4139     limb_t *Z3 = Q->Z;
4140
4141     /* the curve arith formula */
4142     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(T3, Z1, Y1);
4143     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t0, Z1, Y1);
4144     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, S, T3);
4145     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, Z1, T3);
4146     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Z3, X1, t0);
4147     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t0, t0, T);
4148     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(t0, T3, t0);
4149     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, X1, t0);
4150 }
4151
4152 /*-
4153  * from P affine legacy to Q projective Edwards: Q=P not OK
4154  * Autogenerated: op3/legacy2edwards_gost.op3
4155  * https://tools.ietf.org/html/rfc7836#section-5.2
4156  */
4157 static void point_legacy2edwards(pt_prj_t *Q, const pt_aff_t *P) {
4158     /* constants */
4159     const limb_t *T = const_T;
4160     const limb_t *S = const_S;
4161     const limb_t *X1 = P->X;
4162     const limb_t *Y1 = P->Y;
4163     limb_t *X3 = Q->X;
4164     limb_t *Y3 = Q->Y;
4165     limb_t *T3 = Q->T;
4166     limb_t *Z3 = Q->Z;
4167
4168     /* the curve arith formula */
4169     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(T3, X1, T);
4170     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(Y3, T3, S);
4171     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, T3, Y3);
4172     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Z3, Y1, Y3);
4173     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(T3, T3, S);
4174     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, Y1, T3);
4175     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, X3, Y3);
4176     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, X3, Z3);
4177     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, Y3, Z3);
4178     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(Z3, Z3);
4179 }
4180
4181 /* constants */
4182 #define RADIX 5
4183 #define DRADIX (1 << RADIX)
4184 #define DRADIX_WNAF ((DRADIX) << 1)
4185
4186 /*-
4187  * precomp for wnaf scalar multiplication:
4188  * precomp[0] = 1P
4189  * precomp[1] = 3P
4190  * precomp[2] = 5P
4191  * precomp[3] = 7P
4192  * precomp[4] = 9P
4193  * ...
4194  */
4195 static void precomp_wnaf(pt_prj_t precomp[DRADIX / 2], const pt_aff_t *P) {
4196     int i;
4197
4198     /* move from legacy affine to Edwards projective */
4199     point_legacy2edwards(&precomp[0], P);
4200     point_double(&precomp[DRADIX / 2 - 1], &precomp[0]);
4201
4202     for (i = 1; i < DRADIX / 2; i++)
4203         point_add_proj(&precomp[i], &precomp[DRADIX / 2 - 1], &precomp[i - 1]);
4204 }
4205
4206 /* fetch a scalar bit */
4207 static int scalar_get_bit(const unsigned char in[64], int idx) {
4208     int widx, rshift;
4209
4210     widx = idx >> 3;
4211     rshift = idx & 0x7;
4212
4213     if (idx < 0 || widx >= 64) return 0;
4214
4215     return (in[widx] >> rshift) & 0x1;
4216 }
4217
4218 /*-
4219  * Compute "regular" wnaf representation of a scalar.
4220  * See "Exponent Recoding and Regular Exponentiation Algorithms",
4221  * Tunstall et al., AfricaCrypt 2009, Alg 6.
4222  * It forces an odd scalar and outputs digits in
4223  * {\pm 1, \pm 3, \pm 5, \pm 7, \pm 9, ...}
4224  * i.e. signed odd digits with _no zeroes_ -- that makes it "regular".
4225  */
4226 static void scalar_rwnaf(int8_t out[103], const unsigned char in[64]) {
4227     int i;
4228     int8_t window, d;
4229
4230     window = (in[0] & (DRADIX_WNAF - 1)) | 1;
4231     for (i = 0; i < 102; i++) {
4232         d = (window & (DRADIX_WNAF - 1)) - DRADIX;
4233         out[i] = d;
4234         window = (window - d) >> RADIX;
4235         window += scalar_get_bit(in, (i + 1) * RADIX + 1) << 1;
4236         window += scalar_get_bit(in, (i + 1) * RADIX + 2) << 2;
4237         window += scalar_get_bit(in, (i + 1) * RADIX + 3) << 3;
4238         window += scalar_get_bit(in, (i + 1) * RADIX + 4) << 4;
4239         window += scalar_get_bit(in, (i + 1) * RADIX + 5) << 5;
4240     }
4241     out[i] = window;
4242 }
4243
4244 /*-
4245  * Compute "textbook" wnaf representation of a scalar.
4246  * NB: not constant time
4247  */
4248 static void scalar_wnaf(int8_t out[513], const unsigned char in[64]) {
4249     int i;
4250     int8_t window, d;
4251
4252     window = in[0] & (DRADIX_WNAF - 1);
4253     for (i = 0; i < 513; i++) {
4254         d = 0;
4255         if ((window & 1) && ((d = window & (DRADIX_WNAF - 1)) & DRADIX))
4256             d -= DRADIX_WNAF;
4257         out[i] = d;
4258         window = (window - d) >> 1;
4259         window += scalar_get_bit(in, i + 1 + RADIX) << RADIX;
4260     }
4261 }
4262
4263 /*-
4264  * Simulateous scalar multiplication: interleaved "textbook" wnaf.
4265  * NB: not constant time
4266  */
4267 static void var_smul_wnaf_two(pt_aff_t *out, const unsigned char a[64],
4268                               const unsigned char b[64], const pt_aff_t *P) {
4269     int i, d, is_neg, is_inf = 1, flipped = 0;
4270     int8_t anaf[513] = {0};
4271     int8_t bnaf[513] = {0};
4272     pt_prj_t Q;
4273     pt_prj_t precomp[DRADIX / 2];
4274
4275     precomp_wnaf(precomp, P);
4276     scalar_wnaf(anaf, a);
4277     scalar_wnaf(bnaf, b);
4278
4279     for (i = 512; i >= 0; i--) {
4280         if (!is_inf) point_double(&Q, &Q);
4281         if ((d = bnaf[i])) {
4282             if ((is_neg = d < 0) != flipped) {
4283                 fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.X, Q.X);
4284                 fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.T, Q.T);
4285                 flipped ^= 1;
4286             }
4287             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
4288             if (is_inf) {
4289                 /* initialize accumulator */
4290                 fe_copy(Q.X, &precomp[d].X);
4291                 fe_copy(Q.Y, &precomp[d].Y);
4292                 fe_copy(Q.T, &precomp[d].T);
4293                 fe_copy(Q.Z, &precomp[d].Z);
4294                 is_inf = 0;
4295             } else
4296                 point_add_proj(&Q, &Q, &precomp[d]);
4297         }
4298         if ((d = anaf[i])) {
4299             if ((is_neg = d < 0) != flipped) {
4300                 fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.X, Q.X);
4301                 fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.T, Q.T);
4302                 flipped ^= 1;
4303             }
4304             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
4305             if (is_inf) {
4306                 /* initialize accumulator */
4307                 fe_copy(Q.X, &lut_cmb[0][d].X);
4308                 fe_copy(Q.Y, &lut_cmb[0][d].Y);
4309                 fe_copy(Q.T, &lut_cmb[0][d].T);
4310                 fe_copy(Q.Z, const_one);
4311                 is_inf = 0;
4312             } else
4313                 point_add_mixed(&Q, &Q, &lut_cmb[0][d]);
4314         }
4315     }
4316
4317     if (is_inf) {
4318         /* initialize accumulator to inf: all-zero scalars */
4319         fe_set_zero(Q.X);
4320         fe_copy(Q.Y, const_one);
4321         fe_set_zero(Q.T);
4322         fe_copy(Q.Z, const_one);
4323     }
4324
4325     if (flipped) {
4326         /* correct sign */
4327         fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.X, Q.X);
4328         fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.T, Q.T);
4329     }
4330
4331     /* move from Edwards projective to legacy projective */
4332     point_edwards2legacy(&Q, &Q);
4333     /* convert to affine -- NB depends on coordinate system */
4334     fiat_id_tc26_gost_3410_2012_512_paramSetC_inv(Q.Z, Q.Z);
4335     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->X, Q.X, Q.Z);
4336     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->Y, Q.Y, Q.Z);
4337 }
4338
4339 /*-
4340  * Variable point scalar multiplication with "regular" wnaf.
4341  */
4342 static void var_smul_rwnaf(pt_aff_t *out, const unsigned char scalar[64],
4343                            const pt_aff_t *P) {
4344     int i, j, d, diff, is_neg;
4345     int8_t rnaf[103] = {0};
4346     pt_prj_t Q, lut;
4347     pt_prj_t precomp[DRADIX / 2];
4348
4349     precomp_wnaf(precomp, P);
4350     scalar_rwnaf(rnaf, scalar);
4351
4352 #if defined(_MSC_VER)
4353     /* result still unsigned: yes we know */
4354 #pragma warning(push)
4355 #pragma warning(disable : 4146)
4356 #endif
4357
4358     /* initialize accumulator to high digit */
4359     d = (rnaf[102] - 1) >> 1;
4360     for (j = 0; j < DRADIX / 2; j++) {
4361         diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
4362         fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.X, diff, Q.X,
4363                                                             precomp[j].X);
4364         fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Y, diff, Q.Y,
4365                                                             precomp[j].Y);
4366         fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.T, diff, Q.T,
4367                                                             precomp[j].T);
4368         fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Z, diff, Q.Z,
4369                                                             precomp[j].Z);
4370     }
4371
4372     for (i = 101; i >= 0; i--) {
4373         for (j = 0; j < RADIX; j++) point_double(&Q, &Q);
4374         d = rnaf[i];
4375         /* is_neg = (d < 0) ? 1 : 0 */
4376         is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
4377         /* d = abs(d) */
4378         d = (d ^ -is_neg) + is_neg;
4379         d = (d - 1) >> 1;
4380         for (j = 0; j < DRADIX / 2; j++) {
4381             diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
4382             fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
4383                 lut.X, diff, lut.X, precomp[j].X);
4384             fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
4385                 lut.Y, diff, lut.Y, precomp[j].Y);
4386             fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
4387                 lut.T, diff, lut.T, precomp[j].T);
4388             fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
4389                 lut.Z, diff, lut.Z, precomp[j].Z);
4390         }
4391         /* negate lut point if digit is negative */
4392         fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(out->X, lut.X);
4393         fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(out->T, lut.T);
4394         fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(lut.X, is_neg,
4395                                                             lut.X, out->X);
4396         fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(lut.T, is_neg,
4397                                                             lut.T, out->T);
4398         point_add_proj(&Q, &Q, &lut);
4399     }
4400
4401 #if defined(_MSC_VER)
4402 #pragma warning(pop)
4403 #endif
4404
4405     /* conditionally subtract P if the scalar was even */
4406     fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(lut.X, precomp[0].X);
4407     fe_copy(lut.Y, precomp[0].Y);
4408     fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(lut.T, precomp[0].T);
4409     fe_copy(lut.Z, precomp[0].Z);
4410     point_add_proj(&lut, &lut, &Q);
4411     fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.X, scalar[0] & 1,
4412                                                         lut.X, Q.X);
4413     fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Y, scalar[0] & 1,
4414                                                         lut.Y, Q.Y);
4415     fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.T, scalar[0] & 1,
4416                                                         lut.T, Q.T);
4417     fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Z, scalar[0] & 1,
4418                                                         lut.Z, Q.Z);
4419
4420     /* move from Edwards projective to legacy projective */
4421     point_edwards2legacy(&Q, &Q);
4422     /* convert to affine -- NB depends on coordinate system */
4423     fiat_id_tc26_gost_3410_2012_512_paramSetC_inv(Q.Z, Q.Z);
4424     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->X, Q.X, Q.Z);
4425     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->Y, Q.Y, Q.Z);
4426 }
4427
4428 /*-
4429  * Fixed scalar multiplication: comb with interleaving.
4430  */
4431 static void fixed_smul_cmb(pt_aff_t *out, const unsigned char scalar[64]) {
4432     int i, j, k, d, diff, is_neg = 0;
4433     int8_t rnaf[103] = {0};
4434     pt_prj_t Q, R;
4435     pt_aff_t lut;
4436
4437     scalar_rwnaf(rnaf, scalar);
4438
4439     /* initalize accumulator to inf */
4440     fe_set_zero(Q.X);
4441     fe_copy(Q.Y, const_one);
4442     fe_set_zero(Q.T);
4443     fe_copy(Q.Z, const_one);
4444
4445 #if defined(_MSC_VER)
4446     /* result still unsigned: yes we know */
4447 #pragma warning(push)
4448 #pragma warning(disable : 4146)
4449 #endif
4450
4451     for (i = 14; i >= 0; i--) {
4452         for (j = 0; i != 14 && j < RADIX; j++) point_double(&Q, &Q);
4453         for (j = 0; j < 8; j++) {
4454             if (j * 15 + i > 102) continue;
4455             d = rnaf[j * 15 + i];
4456             /* is_neg = (d < 0) ? 1 : 0 */
4457             is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
4458             /* d = abs(d) */
4459             d = (d ^ -is_neg) + is_neg;
4460             d = (d - 1) >> 1;
4461             for (k = 0; k < DRADIX / 2; k++) {
4462                 diff = (1 - (-(d ^ k) >> (8 * sizeof(int) - 1))) & 1;
4463                 fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
4464                     lut.X, diff, lut.X, lut_cmb[j][k].X);
4465                 fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
4466                     lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
4467                 fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
4468                     lut.T, diff, lut.T, lut_cmb[j][k].T);
4469             }
4470             /* negate lut point if digit is negative */
4471             fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(out->X, lut.X);
4472             fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(out->T, lut.T);
4473             fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(lut.X, is_neg,
4474                                                                 lut.X, out->X);
4475             fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(lut.T, is_neg,
4476                                                                 lut.T, out->T);
4477             point_add_mixed(&Q, &Q, &lut);
4478         }
4479     }
4480
4481 #if defined(_MSC_VER)
4482 #pragma warning(pop)
4483 #endif
4484
4485     /* conditionally subtract P if the scalar was even */
4486     fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(lut.X, lut_cmb[0][0].X);
4487     fe_copy(lut.Y, lut_cmb[0][0].Y);
4488     fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(lut.T, lut_cmb[0][0].T);
4489     point_add_mixed(&R, &Q, &lut);
4490     fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.X, scalar[0] & 1, R.X,
4491                                                         Q.X);
4492     fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Y, scalar[0] & 1, R.Y,
4493                                                         Q.Y);
4494     fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.T, scalar[0] & 1, R.T,
4495                                                         Q.T);
4496     fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Z, scalar[0] & 1, R.Z,
4497                                                         Q.Z);
4498
4499     /* move from Edwards projective to legacy projective */
4500     point_edwards2legacy(&Q, &Q);
4501     /* convert to affine -- NB depends on coordinate system */
4502     fiat_id_tc26_gost_3410_2012_512_paramSetC_inv(Q.Z, Q.Z);
4503     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->X, Q.X, Q.Z);
4504     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->Y, Q.Y, Q.Z);
4505 }
4506
4507 static void point_mul_two(unsigned char outx[64], unsigned char outy[64],
4508                           const unsigned char a[64], const unsigned char b[64],
4509                           const unsigned char inx[64],
4510                           const unsigned char iny[64]) {
4511     pt_aff_t P;
4512
4513     fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes(P.X, inx);
4514     fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes(P.Y, iny);
4515     /* simultaneous scalar multiplication */
4516     var_smul_wnaf_two(&P, a, b, &P);
4517
4518     fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outx, P.X);
4519     fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outy, P.Y);
4520 }
4521
4522 static void point_mul_g(unsigned char outx[64], unsigned char outy[64],
4523                         const unsigned char scalar[64]) {
4524     pt_aff_t P;
4525
4526     /* fixed scmul function */
4527     fixed_smul_cmb(&P, scalar);
4528     fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outx, P.X);
4529     fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outy, P.Y);
4530 }
4531
4532 static void point_mul(unsigned char outx[64], unsigned char outy[64],
4533                       const unsigned char scalar[64],
4534                       const unsigned char inx[64],
4535                       const unsigned char iny[64]) {
4536     pt_aff_t P;
4537
4538     fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes(P.X, inx);
4539     fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes(P.Y, iny);
4540     /* var scmul function */
4541     var_smul_rwnaf(&P, scalar, &P);
4542     fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outx, P.X);
4543     fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outy, P.Y);
4544 }
4545
4546
4547 #include <openssl/ec.h>
4548
4549 static const unsigned char const_zb[64] = {0};
4550
4551     int
4552     point_mul_two_id_tc26_gost_3410_2012_512_paramSetC(
4553         const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, const EC_POINT *q,
4554         const BIGNUM *m, BN_CTX *ctx) {
4555     int ret = 0;
4556     unsigned char b_x[64];
4557     unsigned char b_y[64];
4558     unsigned char b_n[64];
4559     unsigned char b_m[64];
4560     BIGNUM *x = NULL, *y = NULL;
4561
4562     BN_CTX_start(ctx);
4563     x = BN_CTX_get(ctx);
4564     if ((y = BN_CTX_get(ctx)) == NULL
4565         /* pull out coords as bytes */
4566         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
4567         BN_bn2lebinpad(x, b_x, 64) != 64 || BN_bn2lebinpad(y, b_y, 64) != 64 ||
4568         BN_bn2lebinpad(n, b_n, 64) != 64 || BN_bn2lebinpad(m, b_m, 64) != 64)
4569         goto err;
4570     /* do the simultaneous scalar multiplication */
4571     point_mul_two(b_x, b_y, b_n, b_m, b_x, b_y);
4572     /* check for infinity */
4573     if (CRYPTO_memcmp(const_zb, b_x, 64) == 0 &&
4574         CRYPTO_memcmp(const_zb, b_y, 64) == 0) {
4575         if (!EC_POINT_set_to_infinity(group, r)) goto err;
4576     } else {
4577         /* otherwise, pack the bytes into the result */
4578         if (BN_lebin2bn(b_x, 64, x) == NULL ||
4579             BN_lebin2bn(b_y, 64, y) == NULL ||
4580             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
4581             goto err;
4582     }
4583     ret = 1;
4584 err:
4585     BN_CTX_end(ctx);
4586     return ret;
4587 }
4588
4589     int
4590     point_mul_id_tc26_gost_3410_2012_512_paramSetC(const EC_GROUP *group,
4591                                                    EC_POINT *r,
4592                                                    const EC_POINT *q,
4593                                                    const BIGNUM *m,
4594                                                    BN_CTX *ctx) {
4595     int ret = 0;
4596     unsigned char b_x[64];
4597     unsigned char b_y[64];
4598     unsigned char b_m[64];
4599     BIGNUM *x = NULL, *y = NULL;
4600
4601     BN_CTX_start(ctx);
4602     x = BN_CTX_get(ctx);
4603     if ((y = BN_CTX_get(ctx)) == NULL
4604         /* pull out coords as bytes */
4605         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
4606         BN_bn2lebinpad(x, b_x, 64) != 64 || BN_bn2lebinpad(y, b_y, 64) != 64 ||
4607         BN_bn2lebinpad(m, b_m, 64) != 64)
4608         goto err;
4609     /* do the variable scalar multiplication */
4610     point_mul(b_x, b_y, b_m, b_x, b_y);
4611     /* check for infinity */
4612     if (CRYPTO_memcmp(const_zb, b_x, 64) == 0 &&
4613         CRYPTO_memcmp(const_zb, b_y, 64) == 0) {
4614         if (!EC_POINT_set_to_infinity(group, r)) goto err;
4615     } else {
4616         /* otherwise, pack the bytes into the result */
4617         if (BN_lebin2bn(b_x, 64, x) == NULL ||
4618             BN_lebin2bn(b_y, 64, y) == NULL ||
4619             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
4620             goto err;
4621     }
4622     ret = 1;
4623 err:
4624     BN_CTX_end(ctx);
4625     return ret;
4626 }
4627
4628     int
4629     point_mul_g_id_tc26_gost_3410_2012_512_paramSetC(const EC_GROUP *group,
4630                                                      EC_POINT *r,
4631                                                      const BIGNUM *n,
4632                                                      BN_CTX *ctx) {
4633     int ret = 0;
4634     unsigned char b_x[64];
4635     unsigned char b_y[64];
4636     unsigned char b_n[64];
4637     BIGNUM *x = NULL, *y = NULL;
4638
4639     BN_CTX_start(ctx);
4640     x = BN_CTX_get(ctx);
4641     if ((y = BN_CTX_get(ctx)) == NULL || BN_bn2lebinpad(n, b_n, 64) != 64)
4642         goto err;
4643     /* do the fixed scalar multiplication */
4644     point_mul_g(b_x, b_y, b_n);
4645     /* check for infinity */
4646     if (CRYPTO_memcmp(const_zb, b_x, 64) == 0 &&
4647         CRYPTO_memcmp(const_zb, b_y, 64) == 0) {
4648         if (!EC_POINT_set_to_infinity(group, r)) goto err;
4649     } else {
4650         /* otherwise, pack the bytes into the result */
4651         if (BN_lebin2bn(b_x, 64, x) == NULL ||
4652             BN_lebin2bn(b_y, 64, y) == NULL ||
4653             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
4654             goto err;
4655     }
4656     ret = 1;
4657 err:
4658     BN_CTX_end(ctx);
4659     return ret;
4660 }
4661
4662
4663
4664 #else /* __SIZEOF_INT128__ */
4665
4666 #include <stdint.h>
4667 #include <string.h>
4668 #define LIMB_BITS 32
4669 #define LIMB_CNT 23
4670 /* Field elements */
4671 typedef uint32_t fe_t[LIMB_CNT];
4672 typedef uint32_t limb_t;
4673
4674 #define fe_copy(d, s) memcpy(d, s, sizeof(fe_t))
4675 #define fe_set_zero(d) memset(d, 0, sizeof(fe_t))
4676
4677 #define fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(c, a, b) \
4678     fiat_id_tc26_gost_3410_2012_512_paramSetC_add(c, a, b);          \
4679     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry(c, c)
4680 #define fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(c, a, b) \
4681     fiat_id_tc26_gost_3410_2012_512_paramSetC_sub(c, a, b);          \
4682     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry(c, c)
4683
4684 /* Projective points */
4685 typedef struct {
4686     fe_t X;
4687     fe_t Y;
4688     fe_t T;
4689     fe_t Z;
4690 } pt_prj_t;
4691
4692 /* Affine points */
4693 typedef struct {
4694     fe_t X;
4695     fe_t Y;
4696     fe_t T;
4697 } pt_aff_t;
4698
4699 /* BEGIN verbatim fiat code https://github.com/mit-plv/fiat-crypto */
4700 /*-
4701  * MIT License
4702  *
4703  * Copyright (c) 2020 the fiat-crypto authors (see the AUTHORS file)
4704  *
4705  * Permission is hereby granted, free of charge, to any person obtaining a copy
4706  * of this software and associated documentation files (the "Software"), to deal
4707  * in the Software without restriction, including without limitation the rights
4708  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
4709  * copies of the Software, and to permit persons to whom the Software is
4710  * furnished to do so, subject to the following conditions:
4711  *
4712  * The above copyright notice and this permission notice shall be included in
4713  * all copies or substantial portions of the Software.
4714  *
4715  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
4716  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
4717  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
4718  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
4719  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
4720  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
4721  * SOFTWARE.
4722  */
4723
4724 /* Autogenerated: unsaturated_solinas --static id_tc26_gost_3410_2012_512_paramSetC 32 '(auto)' '2^512 - 569' */
4725 /* curve description: id_tc26_gost_3410_2012_512_paramSetC */
4726 /* machine_wordsize = 32 (from "32") */
4727 /* requested operations: (all) */
4728 /* n = 23 (from "(auto)") */
4729 /* s-c = 2^512 - [(1, 569)] (from "2^512 - 569") */
4730 /* tight_bounds_multiplier = 1.1 (from "") */
4731 /*  */
4732 /* Computed values: */
4733 /* 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] */
4734 /* 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) */
4735 /* 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) */
4736
4737 #include <stdint.h>
4738 typedef unsigned char fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1;
4739 typedef signed char fiat_id_tc26_gost_3410_2012_512_paramSetC_int1;
4740
4741 #if (-1 & 3) != 3
4742 #error "This code only works on a two's complement system"
4743 #endif
4744
4745 /*
4746  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22 is an addition with carry.
4747  * Postconditions:
4748  *   out1 = (arg1 + arg2 + arg3) mod 2^22
4749  *   out2 = ⌊(arg1 + arg2 + arg3) / 2^22⌋
4750  *
4751  * Input Bounds:
4752  *   arg1: [0x0 ~> 0x1]
4753  *   arg2: [0x0 ~> 0x3fffff]
4754  *   arg3: [0x0 ~> 0x3fffff]
4755  * Output Bounds:
4756  *   out1: [0x0 ~> 0x3fffff]
4757  *   out2: [0x0 ~> 0x1]
4758  */
4759 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
4760     uint32_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 *out2,
4761     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1, uint32_t arg2,
4762     uint32_t arg3) {
4763     uint32_t x1;
4764     uint32_t x2;
4765     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x3;
4766     x1 = ((arg1 + arg2) + arg3);
4767     x2 = (x1 & UINT32_C(0x3fffff));
4768     x3 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x1 >> 22);
4769     *out1 = x2;
4770     *out2 = x3;
4771 }
4772
4773 /*
4774  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22 is a subtraction with borrow.
4775  * Postconditions:
4776  *   out1 = (-arg1 + arg2 + -arg3) mod 2^22
4777  *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^22⌋
4778  *
4779  * Input Bounds:
4780  *   arg1: [0x0 ~> 0x1]
4781  *   arg2: [0x0 ~> 0x3fffff]
4782  *   arg3: [0x0 ~> 0x3fffff]
4783  * Output Bounds:
4784  *   out1: [0x0 ~> 0x3fffff]
4785  *   out2: [0x0 ~> 0x1]
4786  */
4787 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
4788     uint32_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 *out2,
4789     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1, uint32_t arg2,
4790     uint32_t arg3) {
4791     int32_t x1;
4792     fiat_id_tc26_gost_3410_2012_512_paramSetC_int1 x2;
4793     uint32_t x3;
4794     x1 = ((int32_t)(arg2 - arg1) - (int32_t)arg3);
4795     x2 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_int1)(x1 >> 22);
4796     x3 = (x1 & UINT32_C(0x3fffff));
4797     *out1 = x3;
4798     *out2 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(0x0 - x2);
4799 }
4800
4801 /*
4802  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u23 is an addition with carry.
4803  * Postconditions:
4804  *   out1 = (arg1 + arg2 + arg3) mod 2^23
4805  *   out2 = ⌊(arg1 + arg2 + arg3) / 2^23⌋
4806  *
4807  * Input Bounds:
4808  *   arg1: [0x0 ~> 0x1]
4809  *   arg2: [0x0 ~> 0x7fffff]
4810  *   arg3: [0x0 ~> 0x7fffff]
4811  * Output Bounds:
4812  *   out1: [0x0 ~> 0x7fffff]
4813  *   out2: [0x0 ~> 0x1]
4814  */
4815 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u23(
4816     uint32_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 *out2,
4817     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1, uint32_t arg2,
4818     uint32_t arg3) {
4819     uint32_t x1;
4820     uint32_t x2;
4821     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x3;
4822     x1 = ((arg1 + arg2) + arg3);
4823     x2 = (x1 & UINT32_C(0x7fffff));
4824     x3 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x1 >> 23);
4825     *out1 = x2;
4826     *out2 = x3;
4827 }
4828
4829 /*
4830  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u23 is a subtraction with borrow.
4831  * Postconditions:
4832  *   out1 = (-arg1 + arg2 + -arg3) mod 2^23
4833  *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^23⌋
4834  *
4835  * Input Bounds:
4836  *   arg1: [0x0 ~> 0x1]
4837  *   arg2: [0x0 ~> 0x7fffff]
4838  *   arg3: [0x0 ~> 0x7fffff]
4839  * Output Bounds:
4840  *   out1: [0x0 ~> 0x7fffff]
4841  *   out2: [0x0 ~> 0x1]
4842  */
4843 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u23(
4844     uint32_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 *out2,
4845     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1, uint32_t arg2,
4846     uint32_t arg3) {
4847     int32_t x1;
4848     fiat_id_tc26_gost_3410_2012_512_paramSetC_int1 x2;
4849     uint32_t x3;
4850     x1 = ((int32_t)(arg2 - arg1) - (int32_t)arg3);
4851     x2 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_int1)(x1 >> 23);
4852     x3 = (x1 & UINT32_C(0x7fffff));
4853     *out1 = x3;
4854     *out2 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(0x0 - x2);
4855 }
4856
4857 /*
4858  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32 is a single-word conditional move.
4859  * Postconditions:
4860  *   out1 = (if arg1 = 0 then arg2 else arg3)
4861  *
4862  * Input Bounds:
4863  *   arg1: [0x0 ~> 0x1]
4864  *   arg2: [0x0 ~> 0xffffffff]
4865  *   arg3: [0x0 ~> 0xffffffff]
4866  * Output Bounds:
4867  *   out1: [0x0 ~> 0xffffffff]
4868  */
4869 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
4870     uint32_t *out1, fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1,
4871     uint32_t arg2, uint32_t arg3) {
4872     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x1;
4873     uint32_t x2;
4874     uint32_t x3;
4875     x1 = (!(!arg1));
4876     x2 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_int1)(0x0 - x1) &
4877           UINT32_C(0xffffffff));
4878     x3 = ((x2 & arg3) | ((~x2) & arg2));
4879     *out1 = x3;
4880 }
4881
4882 /*
4883  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul multiplies two field elements and reduces the result.
4884  * Postconditions:
4885  *   eval out1 mod m = (eval arg1 * eval arg2) mod m
4886  *
4887  * Input Bounds:
4888  *   arg1: [[0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332]]
4889  *   arg2: [[0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332]]
4890  * Output Bounds:
4891  *   out1: [[0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666]]
4892  */
4893 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(
4894     uint32_t out1[23], const uint32_t arg1[23], const uint32_t arg2[23]) {
4895     uint64_t x1;
4896     uint64_t x2;
4897     uint64_t x3;
4898     uint64_t x4;
4899     uint64_t x5;
4900     uint64_t x6;
4901     uint64_t x7;
4902     uint64_t x8;
4903     uint64_t x9;
4904     uint64_t x10;
4905     uint64_t x11;
4906     uint64_t x12;
4907     uint64_t x13;
4908     uint64_t x14;
4909     uint64_t x15;
4910     uint64_t x16;
4911     uint64_t x17;
4912     uint64_t x18;
4913     uint64_t x19;
4914     uint64_t x20;
4915     uint64_t x21;
4916     uint64_t x22;
4917     uint64_t x23;
4918     uint64_t x24;
4919     uint64_t x25;
4920     uint64_t x26;
4921     uint64_t x27;
4922     uint64_t x28;
4923     uint64_t x29;
4924     uint64_t x30;
4925     uint64_t x31;
4926     uint64_t x32;
4927     uint64_t x33;
4928     uint64_t x34;
4929     uint64_t x35;
4930     uint64_t x36;
4931     uint64_t x37;
4932     uint64_t x38;
4933     uint64_t x39;
4934     uint64_t x40;
4935     uint64_t x41;
4936     uint64_t x42;
4937     uint64_t x43;
4938     uint64_t x44;
4939     uint64_t x45;
4940     uint64_t x46;
4941     uint64_t x47;
4942     uint64_t x48;
4943     uint64_t x49;
4944     uint64_t x50;
4945     uint64_t x51;
4946     uint64_t x52;
4947     uint64_t x53;
4948     uint64_t x54;
4949     uint64_t x55;
4950     uint64_t x56;
4951     uint64_t x57;
4952     uint64_t x58;
4953     uint64_t x59;
4954     uint64_t x60;
4955     uint64_t x61;
4956     uint64_t x62;
4957     uint64_t x63;
4958     uint64_t x64;
4959     uint64_t x65;
4960     uint64_t x66;
4961     uint64_t x67;
4962     uint64_t x68;
4963     uint64_t x69;
4964     uint64_t x70;
4965     uint64_t x71;
4966     uint64_t x72;
4967     uint64_t x73;
4968     uint64_t x74;
4969     uint64_t x75;
4970     uint64_t x76;
4971     uint64_t x77;
4972     uint64_t x78;
4973     uint64_t x79;
4974     uint64_t x80;
4975     uint64_t x81;
4976     uint64_t x82;
4977     uint64_t x83;
4978     uint64_t x84;
4979     uint64_t x85;
4980     uint64_t x86;
4981     uint64_t x87;
4982     uint64_t x88;
4983     uint64_t x89;
4984     uint64_t x90;
4985     uint64_t x91;
4986     uint64_t x92;
4987     uint64_t x93;
4988     uint64_t x94;
4989     uint64_t x95;
4990     uint64_t x96;
4991     uint64_t x97;
4992     uint64_t x98;
4993     uint64_t x99;
4994     uint64_t x100;
4995     uint64_t x101;
4996     uint64_t x102;
4997     uint64_t x103;
4998     uint64_t x104;
4999     uint64_t x105;
5000     uint64_t x106;
5001     uint64_t x107;
5002     uint64_t x108;
5003     uint64_t x109;
5004     uint64_t x110;
5005     uint64_t x111;
5006     uint64_t x112;
5007     uint64_t x113;
5008     uint64_t x114;
5009     uint64_t x115;
5010     uint64_t x116;
5011     uint64_t x117;
5012     uint64_t x118;
5013     uint64_t x119;
5014     uint64_t x120;
5015     uint64_t x121;
5016     uint64_t x122;
5017     uint64_t x123;
5018     uint64_t x124;
5019     uint64_t x125;
5020     uint64_t x126;
5021     uint64_t x127;
5022     uint64_t x128;
5023     uint64_t x129;
5024     uint64_t x130;
5025     uint64_t x131;
5026     uint64_t x132;
5027     uint64_t x133;
5028     uint64_t x134;
5029     uint64_t x135;
5030     uint64_t x136;
5031     uint64_t x137;
5032     uint64_t x138;
5033     uint64_t x139;
5034     uint64_t x140;
5035     uint64_t x141;
5036     uint64_t x142;
5037     uint64_t x143;
5038     uint64_t x144;
5039     uint64_t x145;
5040     uint64_t x146;
5041     uint64_t x147;
5042     uint64_t x148;
5043     uint64_t x149;
5044     uint64_t x150;
5045     uint64_t x151;
5046     uint64_t x152;
5047     uint64_t x153;
5048     uint64_t x154;
5049     uint64_t x155;
5050     uint64_t x156;
5051     uint64_t x157;
5052     uint64_t x158;
5053     uint64_t x159;
5054     uint64_t x160;
5055     uint64_t x161;
5056     uint64_t x162;
5057     uint64_t x163;
5058     uint64_t x164;
5059     uint64_t x165;
5060     uint64_t x166;
5061     uint64_t x167;
5062     uint64_t x168;
5063     uint64_t x169;
5064     uint64_t x170;
5065     uint64_t x171;
5066     uint64_t x172;
5067     uint64_t x173;
5068     uint64_t x174;
5069     uint64_t x175;
5070     uint64_t x176;
5071     uint64_t x177;
5072     uint64_t x178;
5073     uint64_t x179;
5074     uint64_t x180;
5075     uint64_t x181;
5076     uint64_t x182;
5077     uint64_t x183;
5078     uint64_t x184;
5079     uint64_t x185;
5080     uint64_t x186;
5081     uint64_t x187;
5082     uint64_t x188;
5083     uint64_t x189;
5084     uint64_t x190;
5085     uint64_t x191;
5086     uint64_t x192;
5087     uint64_t x193;
5088     uint64_t x194;
5089     uint64_t x195;
5090     uint64_t x196;
5091     uint64_t x197;
5092     uint64_t x198;
5093     uint64_t x199;
5094     uint64_t x200;
5095     uint64_t x201;
5096     uint64_t x202;
5097     uint64_t x203;
5098     uint64_t x204;
5099     uint64_t x205;
5100     uint64_t x206;
5101     uint64_t x207;
5102     uint64_t x208;
5103     uint64_t x209;
5104     uint64_t x210;
5105     uint64_t x211;
5106     uint64_t x212;
5107     uint64_t x213;
5108     uint64_t x214;
5109     uint64_t x215;
5110     uint64_t x216;
5111     uint64_t x217;
5112     uint64_t x218;
5113     uint64_t x219;
5114     uint64_t x220;
5115     uint64_t x221;
5116     uint64_t x222;
5117     uint64_t x223;
5118     uint64_t x224;
5119     uint64_t x225;
5120     uint64_t x226;
5121     uint64_t x227;
5122     uint64_t x228;
5123     uint64_t x229;
5124     uint64_t x230;
5125     uint64_t x231;
5126     uint64_t x232;
5127     uint64_t x233;
5128     uint64_t x234;
5129     uint64_t x235;
5130     uint64_t x236;
5131     uint64_t x237;
5132     uint64_t x238;
5133     uint64_t x239;
5134     uint64_t x240;
5135     uint64_t x241;
5136     uint64_t x242;
5137     uint64_t x243;
5138     uint64_t x244;
5139     uint64_t x245;
5140     uint64_t x246;
5141     uint64_t x247;
5142     uint64_t x248;
5143     uint64_t x249;
5144     uint64_t x250;
5145     uint64_t x251;
5146     uint64_t x252;
5147     uint64_t x253;
5148     uint64_t x254;
5149     uint64_t x255;
5150     uint64_t x256;
5151     uint64_t x257;
5152     uint64_t x258;
5153     uint64_t x259;
5154     uint64_t x260;
5155     uint64_t x261;
5156     uint64_t x262;
5157     uint64_t x263;
5158     uint64_t x264;
5159     uint64_t x265;
5160     uint64_t x266;
5161     uint64_t x267;
5162     uint64_t x268;
5163     uint64_t x269;
5164     uint64_t x270;
5165     uint64_t x271;
5166     uint64_t x272;
5167     uint64_t x273;
5168     uint64_t x274;
5169     uint64_t x275;
5170     uint64_t x276;
5171     uint64_t x277;
5172     uint64_t x278;
5173     uint64_t x279;
5174     uint64_t x280;
5175     uint64_t x281;
5176     uint64_t x282;
5177     uint64_t x283;
5178     uint64_t x284;
5179     uint64_t x285;
5180     uint64_t x286;
5181     uint64_t x287;
5182     uint64_t x288;
5183     uint64_t x289;
5184     uint64_t x290;
5185     uint64_t x291;
5186     uint64_t x292;
5187     uint64_t x293;
5188     uint64_t x294;
5189     uint64_t x295;
5190     uint64_t x296;
5191     uint64_t x297;
5192     uint64_t x298;
5193     uint64_t x299;
5194     uint64_t x300;
5195     uint64_t x301;
5196     uint64_t x302;
5197     uint64_t x303;
5198     uint64_t x304;
5199     uint64_t x305;
5200     uint64_t x306;
5201     uint64_t x307;
5202     uint64_t x308;
5203     uint64_t x309;
5204     uint64_t x310;
5205     uint64_t x311;
5206     uint64_t x312;
5207     uint64_t x313;
5208     uint64_t x314;
5209     uint64_t x315;
5210     uint64_t x316;
5211     uint64_t x317;
5212     uint64_t x318;
5213     uint64_t x319;
5214     uint64_t x320;
5215     uint64_t x321;
5216     uint64_t x322;
5217     uint64_t x323;
5218     uint64_t x324;
5219     uint64_t x325;
5220     uint64_t x326;
5221     uint64_t x327;
5222     uint64_t x328;
5223     uint64_t x329;
5224     uint64_t x330;
5225     uint64_t x331;
5226     uint64_t x332;
5227     uint64_t x333;
5228     uint64_t x334;
5229     uint64_t x335;
5230     uint64_t x336;
5231     uint64_t x337;
5232     uint64_t x338;
5233     uint64_t x339;
5234     uint64_t x340;
5235     uint64_t x341;
5236     uint64_t x342;
5237     uint64_t x343;
5238     uint64_t x344;
5239     uint64_t x345;
5240     uint64_t x346;
5241     uint64_t x347;
5242     uint64_t x348;
5243     uint64_t x349;
5244     uint64_t x350;
5245     uint64_t x351;
5246     uint64_t x352;
5247     uint64_t x353;
5248     uint64_t x354;
5249     uint64_t x355;
5250     uint64_t x356;
5251     uint64_t x357;
5252     uint64_t x358;
5253     uint64_t x359;
5254     uint64_t x360;
5255     uint64_t x361;
5256     uint64_t x362;
5257     uint64_t x363;
5258     uint64_t x364;
5259     uint64_t x365;
5260     uint64_t x366;
5261     uint64_t x367;
5262     uint64_t x368;
5263     uint64_t x369;
5264     uint64_t x370;
5265     uint64_t x371;
5266     uint64_t x372;
5267     uint64_t x373;
5268     uint64_t x374;
5269     uint64_t x375;
5270     uint64_t x376;
5271     uint64_t x377;
5272     uint64_t x378;
5273     uint64_t x379;
5274     uint64_t x380;
5275     uint64_t x381;
5276     uint64_t x382;
5277     uint64_t x383;
5278     uint64_t x384;
5279     uint64_t x385;
5280     uint64_t x386;
5281     uint64_t x387;
5282     uint64_t x388;
5283     uint64_t x389;
5284     uint64_t x390;
5285     uint64_t x391;
5286     uint64_t x392;
5287     uint64_t x393;
5288     uint64_t x394;
5289     uint64_t x395;
5290     uint64_t x396;
5291     uint64_t x397;
5292     uint64_t x398;
5293     uint64_t x399;
5294     uint64_t x400;
5295     uint64_t x401;
5296     uint64_t x402;
5297     uint64_t x403;
5298     uint64_t x404;
5299     uint64_t x405;
5300     uint64_t x406;
5301     uint64_t x407;
5302     uint64_t x408;
5303     uint64_t x409;
5304     uint64_t x410;
5305     uint64_t x411;
5306     uint64_t x412;
5307     uint64_t x413;
5308     uint64_t x414;
5309     uint64_t x415;
5310     uint64_t x416;
5311     uint64_t x417;
5312     uint64_t x418;
5313     uint64_t x419;
5314     uint64_t x420;
5315     uint64_t x421;
5316     uint64_t x422;
5317     uint64_t x423;
5318     uint64_t x424;
5319     uint64_t x425;
5320     uint64_t x426;
5321     uint64_t x427;
5322     uint64_t x428;
5323     uint64_t x429;
5324     uint64_t x430;
5325     uint64_t x431;
5326     uint64_t x432;
5327     uint64_t x433;
5328     uint64_t x434;
5329     uint64_t x435;
5330     uint64_t x436;
5331     uint64_t x437;
5332     uint64_t x438;
5333     uint64_t x439;
5334     uint64_t x440;
5335     uint64_t x441;
5336     uint64_t x442;
5337     uint64_t x443;
5338     uint64_t x444;
5339     uint64_t x445;
5340     uint64_t x446;
5341     uint64_t x447;
5342     uint64_t x448;
5343     uint64_t x449;
5344     uint64_t x450;
5345     uint64_t x451;
5346     uint64_t x452;
5347     uint64_t x453;
5348     uint64_t x454;
5349     uint64_t x455;
5350     uint64_t x456;
5351     uint64_t x457;
5352     uint64_t x458;
5353     uint64_t x459;
5354     uint64_t x460;
5355     uint64_t x461;
5356     uint64_t x462;
5357     uint64_t x463;
5358     uint64_t x464;
5359     uint64_t x465;
5360     uint64_t x466;
5361     uint64_t x467;
5362     uint64_t x468;
5363     uint64_t x469;
5364     uint64_t x470;
5365     uint64_t x471;
5366     uint64_t x472;
5367     uint64_t x473;
5368     uint64_t x474;
5369     uint64_t x475;
5370     uint64_t x476;
5371     uint64_t x477;
5372     uint64_t x478;
5373     uint64_t x479;
5374     uint64_t x480;
5375     uint64_t x481;
5376     uint64_t x482;
5377     uint64_t x483;
5378     uint64_t x484;
5379     uint64_t x485;
5380     uint64_t x486;
5381     uint64_t x487;
5382     uint64_t x488;
5383     uint64_t x489;
5384     uint64_t x490;
5385     uint64_t x491;
5386     uint64_t x492;
5387     uint64_t x493;
5388     uint64_t x494;
5389     uint64_t x495;
5390     uint64_t x496;
5391     uint64_t x497;
5392     uint64_t x498;
5393     uint64_t x499;
5394     uint64_t x500;
5395     uint64_t x501;
5396     uint64_t x502;
5397     uint64_t x503;
5398     uint64_t x504;
5399     uint64_t x505;
5400     uint64_t x506;
5401     uint64_t x507;
5402     uint64_t x508;
5403     uint64_t x509;
5404     uint64_t x510;
5405     uint64_t x511;
5406     uint64_t x512;
5407     uint64_t x513;
5408     uint64_t x514;
5409     uint64_t x515;
5410     uint64_t x516;
5411     uint64_t x517;
5412     uint64_t x518;
5413     uint64_t x519;
5414     uint64_t x520;
5415     uint64_t x521;
5416     uint64_t x522;
5417     uint64_t x523;
5418     uint64_t x524;
5419     uint64_t x525;
5420     uint64_t x526;
5421     uint64_t x527;
5422     uint64_t x528;
5423     uint64_t x529;
5424     uint64_t x530;
5425     uint64_t x531;
5426     uint32_t x532;
5427     uint64_t x533;
5428     uint64_t x534;
5429     uint64_t x535;
5430     uint64_t x536;
5431     uint64_t x537;
5432     uint64_t x538;
5433     uint64_t x539;
5434     uint64_t x540;
5435     uint64_t x541;
5436     uint64_t x542;
5437     uint64_t x543;
5438     uint64_t x544;
5439     uint64_t x545;
5440     uint64_t x546;
5441     uint64_t x547;
5442     uint64_t x548;
5443     uint64_t x549;
5444     uint64_t x550;
5445     uint64_t x551;
5446     uint64_t x552;
5447     uint64_t x553;
5448     uint64_t x554;
5449     uint64_t x555;
5450     uint64_t x556;
5451     uint32_t x557;
5452     uint64_t x558;
5453     uint64_t x559;
5454     uint32_t x560;
5455     uint64_t x561;
5456     uint64_t x562;
5457     uint32_t x563;
5458     uint64_t x564;
5459     uint64_t x565;
5460     uint32_t x566;
5461     uint64_t x567;
5462     uint64_t x568;
5463     uint32_t x569;
5464     uint64_t x570;
5465     uint64_t x571;
5466     uint32_t x572;
5467     uint64_t x573;
5468     uint64_t x574;
5469     uint32_t x575;
5470     uint64_t x576;
5471     uint64_t x577;
5472     uint32_t x578;
5473     uint64_t x579;
5474     uint64_t x580;
5475     uint32_t x581;
5476     uint64_t x582;
5477     uint64_t x583;
5478     uint32_t x584;
5479     uint64_t x585;
5480     uint64_t x586;
5481     uint32_t x587;
5482     uint64_t x588;
5483     uint64_t x589;
5484     uint32_t x590;
5485     uint64_t x591;
5486     uint64_t x592;
5487     uint32_t x593;
5488     uint64_t x594;
5489     uint64_t x595;
5490     uint32_t x596;
5491     uint64_t x597;
5492     uint64_t x598;
5493     uint32_t x599;
5494     uint64_t x600;
5495     uint64_t x601;
5496     uint32_t x602;
5497     uint64_t x603;
5498     uint64_t x604;
5499     uint32_t x605;
5500     uint64_t x606;
5501     uint64_t x607;
5502     uint32_t x608;
5503     uint64_t x609;
5504     uint64_t x610;
5505     uint32_t x611;
5506     uint64_t x612;
5507     uint64_t x613;
5508     uint32_t x614;
5509     uint64_t x615;
5510     uint64_t x616;
5511     uint32_t x617;
5512     uint64_t x618;
5513     uint32_t x619;
5514     uint32_t x620;
5515     uint64_t x621;
5516     uint64_t x622;
5517     uint32_t x623;
5518     uint32_t x624;
5519     uint32_t x625;
5520     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x626;
5521     uint32_t x627;
5522     uint32_t x628;
5523     x1 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[22])));
5524     x2 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[21])));
5525     x3 = (UINT16_C(0x239) * (((uint64_t)(arg1[22]) * (arg2[20])) * 0x2));
5526     x4 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[19])));
5527     x5 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[18])));
5528     x6 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[17])));
5529     x7 = (UINT16_C(0x239) * (((uint64_t)(arg1[22]) * (arg2[16])) * 0x2));
5530     x8 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[15])));
5531     x9 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[14])));
5532     x10 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[13])));
5533     x11 = (UINT16_C(0x239) * (((uint64_t)(arg1[22]) * (arg2[12])) * 0x2));
5534     x12 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[11])));
5535     x13 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[10])));
5536     x14 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[9])));
5537     x15 = (UINT16_C(0x239) * (((uint64_t)(arg1[22]) * (arg2[8])) * 0x2));
5538     x16 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[7])));
5539     x17 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[6])));
5540     x18 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[5])));
5541     x19 = (UINT16_C(0x239) * (((uint64_t)(arg1[22]) * (arg2[4])) * 0x2));
5542     x20 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[3])));
5543     x21 = (UINT16_C(0x239) * ((uint64_t)(arg1[22]) * (arg2[2])));
5544     x22 = (UINT16_C(0x239) * (((uint64_t)(arg1[22]) * (arg2[1])) * 0x2));
5545     x23 = (UINT16_C(0x239) * ((uint64_t)(arg1[21]) * (arg2[22])));
5546     x24 = (UINT16_C(0x239) * (((uint64_t)(arg1[21]) * (arg2[21])) * 0x2));
5547     x25 = (UINT16_C(0x239) * (((uint64_t)(arg1[21]) * (arg2[20])) * 0x2));
5548     x26 = (UINT16_C(0x239) * ((uint64_t)(arg1[21]) * (arg2[19])));
5549     x27 = (UINT16_C(0x239) * ((uint64_t)(arg1[21]) * (arg2[18])));
5550     x28 = (UINT16_C(0x239) * (((uint64_t)(arg1[21]) * (arg2[17])) * 0x2));
5551     x29 = (UINT16_C(0x239) * (((uint64_t)(arg1[21]) * (arg2[16])) * 0x2));
5552     x30 = (UINT16_C(0x239) * ((uint64_t)(arg1[21]) * (arg2[15])));
5553     x31 = (UINT16_C(0x239) * ((uint64_t)(arg1[21]) * (arg2[14])));
5554     x32 = (UINT16_C(0x239) * (((uint64_t)(arg1[21]) * (arg2[13])) * 0x2));
5555     x33 = (UINT16_C(0x239) * (((uint64_t)(arg1[21]) * (arg2[12])) * 0x2));
5556     x34 = (UINT16_C(0x239) * ((uint64_t)(arg1[21]) * (arg2[11])));
5557     x35 = (UINT16_C(0x239) * ((uint64_t)(arg1[21]) * (arg2[10])));
5558     x36 = (UINT16_C(0x239) * (((uint64_t)(arg1[21]) * (arg2[9])) * 0x2));
5559     x37 = (UINT16_C(0x239) * (((uint64_t)(arg1[21]) * (arg2[8])) * 0x2));
5560     x38 = (UINT16_C(0x239) * ((uint64_t)(arg1[21]) * (arg2[7])));
5561     x39 = (UINT16_C(0x239) * ((uint64_t)(arg1[21]) * (arg2[6])));
5562     x40 = (UINT16_C(0x239) * (((uint64_t)(arg1[21]) * (arg2[5])) * 0x2));
5563     x41 = (UINT16_C(0x239) * (((uint64_t)(arg1[21]) * (arg2[4])) * 0x2));
5564     x42 = (UINT16_C(0x239) * ((uint64_t)(arg1[21]) * (arg2[3])));
5565     x43 = (UINT16_C(0x239) * (((uint64_t)(arg1[21]) * (arg2[2])) * 0x2));
5566     x44 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[22])) * 0x2));
5567     x45 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[21])) * 0x2));
5568     x46 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[20])) * 0x2));
5569     x47 = (UINT16_C(0x239) * ((uint64_t)(arg1[20]) * (arg2[19])));
5570     x48 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[18])) * 0x2));
5571     x49 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[17])) * 0x2));
5572     x50 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[16])) * 0x2));
5573     x51 = (UINT16_C(0x239) * ((uint64_t)(arg1[20]) * (arg2[15])));
5574     x52 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[14])) * 0x2));
5575     x53 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[13])) * 0x2));
5576     x54 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[12])) * 0x2));
5577     x55 = (UINT16_C(0x239) * ((uint64_t)(arg1[20]) * (arg2[11])));
5578     x56 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[10])) * 0x2));
5579     x57 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[9])) * 0x2));
5580     x58 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[8])) * 0x2));
5581     x59 = (UINT16_C(0x239) * ((uint64_t)(arg1[20]) * (arg2[7])));
5582     x60 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[6])) * 0x2));
5583     x61 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[5])) * 0x2));
5584     x62 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[4])) * 0x2));
5585     x63 = (UINT16_C(0x239) * (((uint64_t)(arg1[20]) * (arg2[3])) * 0x2));
5586     x64 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[22])));
5587     x65 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[21])));
5588     x66 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[20])));
5589     x67 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[19])));
5590     x68 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[18])));
5591     x69 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[17])));
5592     x70 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[16])));
5593     x71 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[15])));
5594     x72 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[14])));
5595     x73 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[13])));
5596     x74 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[12])));
5597     x75 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[11])));
5598     x76 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[10])));
5599     x77 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[9])));
5600     x78 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[8])));
5601     x79 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[7])));
5602     x80 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[6])));
5603     x81 = (UINT16_C(0x239) * ((uint64_t)(arg1[19]) * (arg2[5])));
5604     x82 = (UINT16_C(0x239) * (((uint64_t)(arg1[19]) * (arg2[4])) * 0x2));
5605     x83 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[22])));
5606     x84 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[21])));
5607     x85 = (UINT16_C(0x239) * (((uint64_t)(arg1[18]) * (arg2[20])) * 0x2));
5608     x86 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[19])));
5609     x87 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[18])));
5610     x88 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[17])));
5611     x89 = (UINT16_C(0x239) * (((uint64_t)(arg1[18]) * (arg2[16])) * 0x2));
5612     x90 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[15])));
5613     x91 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[14])));
5614     x92 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[13])));
5615     x93 = (UINT16_C(0x239) * (((uint64_t)(arg1[18]) * (arg2[12])) * 0x2));
5616     x94 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[11])));
5617     x95 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[10])));
5618     x96 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[9])));
5619     x97 = (UINT16_C(0x239) * (((uint64_t)(arg1[18]) * (arg2[8])) * 0x2));
5620     x98 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[7])));
5621     x99 = (UINT16_C(0x239) * ((uint64_t)(arg1[18]) * (arg2[6])));
5622     x100 = (UINT16_C(0x239) * (((uint64_t)(arg1[18]) * (arg2[5])) * 0x2));
5623     x101 = (UINT16_C(0x239) * ((uint64_t)(arg1[17]) * (arg2[22])));
5624     x102 = (UINT16_C(0x239) * (((uint64_t)(arg1[17]) * (arg2[21])) * 0x2));
5625     x103 = (UINT16_C(0x239) * (((uint64_t)(arg1[17]) * (arg2[20])) * 0x2));
5626     x104 = (UINT16_C(0x239) * ((uint64_t)(arg1[17]) * (arg2[19])));
5627     x105 = (UINT16_C(0x239) * ((uint64_t)(arg1[17]) * (arg2[18])));
5628     x106 = (UINT16_C(0x239) * (((uint64_t)(arg1[17]) * (arg2[17])) * 0x2));
5629     x107 = (UINT16_C(0x239) * (((uint64_t)(arg1[17]) * (arg2[16])) * 0x2));
5630     x108 = (UINT16_C(0x239) * ((uint64_t)(arg1[17]) * (arg2[15])));
5631     x109 = (UINT16_C(0x239) * ((uint64_t)(arg1[17]) * (arg2[14])));
5632     x110 = (UINT16_C(0x239) * (((uint64_t)(arg1[17]) * (arg2[13])) * 0x2));
5633     x111 = (UINT16_C(0x239) * (((uint64_t)(arg1[17]) * (arg2[12])) * 0x2));
5634     x112 = (UINT16_C(0x239) * ((uint64_t)(arg1[17]) * (arg2[11])));
5635     x113 = (UINT16_C(0x239) * ((uint64_t)(arg1[17]) * (arg2[10])));
5636     x114 = (UINT16_C(0x239) * (((uint64_t)(arg1[17]) * (arg2[9])) * 0x2));
5637     x115 = (UINT16_C(0x239) * (((uint64_t)(arg1[17]) * (arg2[8])) * 0x2));
5638     x116 = (UINT16_C(0x239) * ((uint64_t)(arg1[17]) * (arg2[7])));
5639     x117 = (UINT16_C(0x239) * (((uint64_t)(arg1[17]) * (arg2[6])) * 0x2));
5640     x118 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[22])) * 0x2));
5641     x119 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[21])) * 0x2));
5642     x120 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[20])) * 0x2));
5643     x121 = (UINT16_C(0x239) * ((uint64_t)(arg1[16]) * (arg2[19])));
5644     x122 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[18])) * 0x2));
5645     x123 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[17])) * 0x2));
5646     x124 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[16])) * 0x2));
5647     x125 = (UINT16_C(0x239) * ((uint64_t)(arg1[16]) * (arg2[15])));
5648     x126 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[14])) * 0x2));
5649     x127 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[13])) * 0x2));
5650     x128 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[12])) * 0x2));
5651     x129 = (UINT16_C(0x239) * ((uint64_t)(arg1[16]) * (arg2[11])));
5652     x130 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[10])) * 0x2));
5653     x131 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[9])) * 0x2));
5654     x132 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[8])) * 0x2));
5655     x133 = (UINT16_C(0x239) * (((uint64_t)(arg1[16]) * (arg2[7])) * 0x2));
5656     x134 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[22])));
5657     x135 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[21])));
5658     x136 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[20])));
5659     x137 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[19])));
5660     x138 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[18])));
5661     x139 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[17])));
5662     x140 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[16])));
5663     x141 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[15])));
5664     x142 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[14])));
5665     x143 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[13])));
5666     x144 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[12])));
5667     x145 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[11])));
5668     x146 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[10])));
5669     x147 = (UINT16_C(0x239) * ((uint64_t)(arg1[15]) * (arg2[9])));
5670     x148 = (UINT16_C(0x239) * (((uint64_t)(arg1[15]) * (arg2[8])) * 0x2));
5671     x149 = (UINT16_C(0x239) * ((uint64_t)(arg1[14]) * (arg2[22])));
5672     x150 = (UINT16_C(0x239) * ((uint64_t)(arg1[14]) * (arg2[21])));
5673     x151 = (UINT16_C(0x239) * (((uint64_t)(arg1[14]) * (arg2[20])) * 0x2));
5674     x152 = (UINT16_C(0x239) * ((uint64_t)(arg1[14]) * (arg2[19])));
5675     x153 = (UINT16_C(0x239) * ((uint64_t)(arg1[14]) * (arg2[18])));
5676     x154 = (UINT16_C(0x239) * ((uint64_t)(arg1[14]) * (arg2[17])));
5677     x155 = (UINT16_C(0x239) * (((uint64_t)(arg1[14]) * (arg2[16])) * 0x2));
5678     x156 = (UINT16_C(0x239) * ((uint64_t)(arg1[14]) * (arg2[15])));
5679     x157 = (UINT16_C(0x239) * ((uint64_t)(arg1[14]) * (arg2[14])));
5680     x158 = (UINT16_C(0x239) * ((uint64_t)(arg1[14]) * (arg2[13])));
5681     x159 = (UINT16_C(0x239) * (((uint64_t)(arg1[14]) * (arg2[12])) * 0x2));
5682     x160 = (UINT16_C(0x239) * ((uint64_t)(arg1[14]) * (arg2[11])));
5683     x161 = (UINT16_C(0x239) * ((uint64_t)(arg1[14]) * (arg2[10])));
5684     x162 = (UINT16_C(0x239) * (((uint64_t)(arg1[14]) * (arg2[9])) * 0x2));
5685     x163 = (UINT16_C(0x239) * ((uint64_t)(arg1[13]) * (arg2[22])));
5686     x164 = (UINT16_C(0x239) * (((uint64_t)(arg1[13]) * (arg2[21])) * 0x2));
5687     x165 = (UINT16_C(0x239) * (((uint64_t)(arg1[13]) * (arg2[20])) * 0x2));
5688     x166 = (UINT16_C(0x239) * ((uint64_t)(arg1[13]) * (arg2[19])));
5689     x167 = (UINT16_C(0x239) * ((uint64_t)(arg1[13]) * (arg2[18])));
5690     x168 = (UINT16_C(0x239) * (((uint64_t)(arg1[13]) * (arg2[17])) * 0x2));
5691     x169 = (UINT16_C(0x239) * (((uint64_t)(arg1[13]) * (arg2[16])) * 0x2));
5692     x170 = (UINT16_C(0x239) * ((uint64_t)(arg1[13]) * (arg2[15])));
5693     x171 = (UINT16_C(0x239) * ((uint64_t)(arg1[13]) * (arg2[14])));
5694     x172 = (UINT16_C(0x239) * (((uint64_t)(arg1[13]) * (arg2[13])) * 0x2));
5695     x173 = (UINT16_C(0x239) * (((uint64_t)(arg1[13]) * (arg2[12])) * 0x2));
5696     x174 = (UINT16_C(0x239) * ((uint64_t)(arg1[13]) * (arg2[11])));
5697     x175 = (UINT16_C(0x239) * (((uint64_t)(arg1[13]) * (arg2[10])) * 0x2));
5698     x176 = (UINT16_C(0x239) * (((uint64_t)(arg1[12]) * (arg2[22])) * 0x2));
5699     x177 = (UINT16_C(0x239) * (((uint64_t)(arg1[12]) * (arg2[21])) * 0x2));
5700     x178 = (UINT16_C(0x239) * (((uint64_t)(arg1[12]) * (arg2[20])) * 0x2));
5701     x179 = (UINT16_C(0x239) * ((uint64_t)(arg1[12]) * (arg2[19])));
5702     x180 = (UINT16_C(0x239) * (((uint64_t)(arg1[12]) * (arg2[18])) * 0x2));
5703     x181 = (UINT16_C(0x239) * (((uint64_t)(arg1[12]) * (arg2[17])) * 0x2));
5704     x182 = (UINT16_C(0x239) * (((uint64_t)(arg1[12]) * (arg2[16])) * 0x2));
5705     x183 = (UINT16_C(0x239) * ((uint64_t)(arg1[12]) * (arg2[15])));
5706     x184 = (UINT16_C(0x239) * (((uint64_t)(arg1[12]) * (arg2[14])) * 0x2));
5707     x185 = (UINT16_C(0x239) * (((uint64_t)(arg1[12]) * (arg2[13])) * 0x2));
5708     x186 = (UINT16_C(0x239) * (((uint64_t)(arg1[12]) * (arg2[12])) * 0x2));
5709     x187 = (UINT16_C(0x239) * (((uint64_t)(arg1[12]) * (arg2[11])) * 0x2));
5710     x188 = (UINT16_C(0x239) * ((uint64_t)(arg1[11]) * (arg2[22])));
5711     x189 = (UINT16_C(0x239) * ((uint64_t)(arg1[11]) * (arg2[21])));
5712     x190 = (UINT16_C(0x239) * ((uint64_t)(arg1[11]) * (arg2[20])));
5713     x191 = (UINT16_C(0x239) * ((uint64_t)(arg1[11]) * (arg2[19])));
5714     x192 = (UINT16_C(0x239) * ((uint64_t)(arg1[11]) * (arg2[18])));
5715     x193 = (UINT16_C(0x239) * ((uint64_t)(arg1[11]) * (arg2[17])));
5716     x194 = (UINT16_C(0x239) * ((uint64_t)(arg1[11]) * (arg2[16])));
5717     x195 = (UINT16_C(0x239) * ((uint64_t)(arg1[11]) * (arg2[15])));
5718     x196 = (UINT16_C(0x239) * ((uint64_t)(arg1[11]) * (arg2[14])));
5719     x197 = (UINT16_C(0x239) * ((uint64_t)(arg1[11]) * (arg2[13])));
5720     x198 = (UINT16_C(0x239) * (((uint64_t)(arg1[11]) * (arg2[12])) * 0x2));
5721     x199 = (UINT16_C(0x239) * ((uint64_t)(arg1[10]) * (arg2[22])));
5722     x200 = (UINT16_C(0x239) * ((uint64_t)(arg1[10]) * (arg2[21])));
5723     x201 = (UINT16_C(0x239) * (((uint64_t)(arg1[10]) * (arg2[20])) * 0x2));
5724     x202 = (UINT16_C(0x239) * ((uint64_t)(arg1[10]) * (arg2[19])));
5725     x203 = (UINT16_C(0x239) * ((uint64_t)(arg1[10]) * (arg2[18])));
5726     x204 = (UINT16_C(0x239) * ((uint64_t)(arg1[10]) * (arg2[17])));
5727     x205 = (UINT16_C(0x239) * (((uint64_t)(arg1[10]) * (arg2[16])) * 0x2));
5728     x206 = (UINT16_C(0x239) * ((uint64_t)(arg1[10]) * (arg2[15])));
5729     x207 = (UINT16_C(0x239) * ((uint64_t)(arg1[10]) * (arg2[14])));
5730     x208 = (UINT16_C(0x239) * (((uint64_t)(arg1[10]) * (arg2[13])) * 0x2));
5731     x209 = (UINT16_C(0x239) * ((uint64_t)(arg1[9]) * (arg2[22])));
5732     x210 = (UINT16_C(0x239) * (((uint64_t)(arg1[9]) * (arg2[21])) * 0x2));
5733     x211 = (UINT16_C(0x239) * (((uint64_t)(arg1[9]) * (arg2[20])) * 0x2));
5734     x212 = (UINT16_C(0x239) * ((uint64_t)(arg1[9]) * (arg2[19])));
5735     x213 = (UINT16_C(0x239) * ((uint64_t)(arg1[9]) * (arg2[18])));
5736     x214 = (UINT16_C(0x239) * (((uint64_t)(arg1[9]) * (arg2[17])) * 0x2));
5737     x215 = (UINT16_C(0x239) * (((uint64_t)(arg1[9]) * (arg2[16])) * 0x2));
5738     x216 = (UINT16_C(0x239) * ((uint64_t)(arg1[9]) * (arg2[15])));
5739     x217 = (UINT16_C(0x239) * (((uint64_t)(arg1[9]) * (arg2[14])) * 0x2));
5740     x218 = (UINT16_C(0x239) * (((uint64_t)(arg1[8]) * (arg2[22])) * 0x2));
5741     x219 = (UINT16_C(0x239) * (((uint64_t)(arg1[8]) * (arg2[21])) * 0x2));
5742     x220 = (UINT16_C(0x239) * (((uint64_t)(arg1[8]) * (arg2[20])) * 0x2));
5743     x221 = (UINT16_C(0x239) * ((uint64_t)(arg1[8]) * (arg2[19])));
5744     x222 = (UINT16_C(0x239) * (((uint64_t)(arg1[8]) * (arg2[18])) * 0x2));
5745     x223 = (UINT16_C(0x239) * (((uint64_t)(arg1[8]) * (arg2[17])) * 0x2));
5746     x224 = (UINT16_C(0x239) * (((uint64_t)(arg1[8]) * (arg2[16])) * 0x2));
5747     x225 = (UINT16_C(0x239) * (((uint64_t)(arg1[8]) * (arg2[15])) * 0x2));
5748     x226 = (UINT16_C(0x239) * ((uint64_t)(arg1[7]) * (arg2[22])));
5749     x227 = (UINT16_C(0x239) * ((uint64_t)(arg1[7]) * (arg2[21])));
5750     x228 = (UINT16_C(0x239) * ((uint64_t)(arg1[7]) * (arg2[20])));
5751     x229 = (UINT16_C(0x239) * ((uint64_t)(arg1[7]) * (arg2[19])));
5752     x230 = (UINT16_C(0x239) * ((uint64_t)(arg1[7]) * (arg2[18])));
5753     x231 = (UINT16_C(0x239) * ((uint64_t)(arg1[7]) * (arg2[17])));
5754     x232 = (UINT16_C(0x239) * (((uint64_t)(arg1[7]) * (arg2[16])) * 0x2));
5755     x233 = (UINT16_C(0x239) * ((uint64_t)(arg1[6]) * (arg2[22])));
5756     x234 = (UINT16_C(0x239) * ((uint64_t)(arg1[6]) * (arg2[21])));
5757     x235 = (UINT16_C(0x239) * (((uint64_t)(arg1[6]) * (arg2[20])) * 0x2));
5758     x236 = (UINT16_C(0x239) * ((uint64_t)(arg1[6]) * (arg2[19])));
5759     x237 = (UINT16_C(0x239) * ((uint64_t)(arg1[6]) * (arg2[18])));
5760     x238 = (UINT16_C(0x239) * (((uint64_t)(arg1[6]) * (arg2[17])) * 0x2));
5761     x239 = (UINT16_C(0x239) * ((uint64_t)(arg1[5]) * (arg2[22])));
5762     x240 = (UINT16_C(0x239) * (((uint64_t)(arg1[5]) * (arg2[21])) * 0x2));
5763     x241 = (UINT16_C(0x239) * (((uint64_t)(arg1[5]) * (arg2[20])) * 0x2));
5764     x242 = (UINT16_C(0x239) * ((uint64_t)(arg1[5]) * (arg2[19])));
5765     x243 = (UINT16_C(0x239) * (((uint64_t)(arg1[5]) * (arg2[18])) * 0x2));
5766     x244 = (UINT16_C(0x239) * (((uint64_t)(arg1[4]) * (arg2[22])) * 0x2));
5767     x245 = (UINT16_C(0x239) * (((uint64_t)(arg1[4]) * (arg2[21])) * 0x2));
5768     x246 = (UINT16_C(0x239) * (((uint64_t)(arg1[4]) * (arg2[20])) * 0x2));
5769     x247 = (UINT16_C(0x239) * (((uint64_t)(arg1[4]) * (arg2[19])) * 0x2));
5770     x248 = (UINT16_C(0x239) * ((uint64_t)(arg1[3]) * (arg2[22])));
5771     x249 = (UINT16_C(0x239) * ((uint64_t)(arg1[3]) * (arg2[21])));
5772     x250 = (UINT16_C(0x239) * (((uint64_t)(arg1[3]) * (arg2[20])) * 0x2));
5773     x251 = (UINT16_C(0x239) * ((uint64_t)(arg1[2]) * (arg2[22])));
5774     x252 = (UINT16_C(0x239) * (((uint64_t)(arg1[2]) * (arg2[21])) * 0x2));
5775     x253 = (UINT16_C(0x239) * (((uint64_t)(arg1[1]) * (arg2[22])) * 0x2));
5776     x254 = ((uint64_t)(arg1[22]) * (arg2[0]));
5777     x255 = ((uint64_t)(arg1[21]) * ((arg2[1]) * 0x2));
5778     x256 = ((uint64_t)(arg1[21]) * (arg2[0]));
5779     x257 = ((uint64_t)(arg1[20]) * ((arg2[2]) * 0x2));
5780     x258 = ((uint64_t)(arg1[20]) * ((arg2[1]) * 0x2));
5781     x259 = ((uint64_t)(arg1[20]) * (arg2[0]));
5782     x260 = ((uint64_t)(arg1[19]) * (arg2[3]));
5783     x261 = ((uint64_t)(arg1[19]) * (arg2[2]));
5784     x262 = ((uint64_t)(arg1[19]) * (arg2[1]));
5785     x263 = ((uint64_t)(arg1[19]) * (arg2[0]));
5786     x264 = ((uint64_t)(arg1[18]) * ((arg2[4]) * 0x2));
5787     x265 = ((uint64_t)(arg1[18]) * (arg2[3]));
5788     x266 = ((uint64_t)(arg1[18]) * (arg2[2]));
5789     x267 = ((uint64_t)(arg1[18]) * ((arg2[1]) * 0x2));
5790     x268 = ((uint64_t)(arg1[18]) * (arg2[0]));
5791     x269 = ((uint64_t)(arg1[17]) * ((arg2[5]) * 0x2));
5792     x270 = ((uint64_t)(arg1[17]) * ((arg2[4]) * 0x2));
5793     x271 = ((uint64_t)(arg1[17]) * (arg2[3]));
5794     x272 = ((uint64_t)(arg1[17]) * ((arg2[2]) * 0x2));
5795     x273 = ((uint64_t)(arg1[17]) * ((arg2[1]) * 0x2));
5796     x274 = ((uint64_t)(arg1[17]) * (arg2[0]));
5797     x275 = ((uint64_t)(arg1[16]) * ((arg2[6]) * 0x2));
5798     x276 = ((uint64_t)(arg1[16]) * ((arg2[5]) * 0x2));
5799     x277 = ((uint64_t)(arg1[16]) * ((arg2[4]) * 0x2));
5800     x278 = ((uint64_t)(arg1[16]) * ((arg2[3]) * 0x2));
5801     x279 = ((uint64_t)(arg1[16]) * ((arg2[2]) * 0x2));
5802     x280 = ((uint64_t)(arg1[16]) * ((arg2[1]) * 0x2));
5803     x281 = ((uint64_t)(arg1[16]) * (arg2[0]));
5804     x282 = ((uint64_t)(arg1[15]) * (arg2[7]));
5805     x283 = ((uint64_t)(arg1[15]) * (arg2[6]));
5806     x284 = ((uint64_t)(arg1[15]) * (arg2[5]));
5807     x285 = ((uint64_t)(arg1[15]) * ((arg2[4]) * 0x2));
5808     x286 = ((uint64_t)(arg1[15]) * (arg2[3]));
5809     x287 = ((uint64_t)(arg1[15]) * (arg2[2]));
5810     x288 = ((uint64_t)(arg1[15]) * (arg2[1]));
5811     x289 = ((uint64_t)(arg1[15]) * (arg2[0]));
5812     x290 = ((uint64_t)(arg1[14]) * ((arg2[8]) * 0x2));
5813     x291 = ((uint64_t)(arg1[14]) * (arg2[7]));
5814     x292 = ((uint64_t)(arg1[14]) * (arg2[6]));
5815     x293 = ((uint64_t)(arg1[14]) * ((arg2[5]) * 0x2));
5816     x294 = ((uint64_t)(arg1[14]) * ((arg2[4]) * 0x2));
5817     x295 = ((uint64_t)(arg1[14]) * (arg2[3]));
5818     x296 = ((uint64_t)(arg1[14]) * (arg2[2]));
5819     x297 = ((uint64_t)(arg1[14]) * ((arg2[1]) * 0x2));
5820     x298 = ((uint64_t)(arg1[14]) * (arg2[0]));
5821     x299 = ((uint64_t)(arg1[13]) * ((arg2[9]) * 0x2));
5822     x300 = ((uint64_t)(arg1[13]) * ((arg2[8]) * 0x2));
5823     x301 = ((uint64_t)(arg1[13]) * (arg2[7]));
5824     x302 = ((uint64_t)(arg1[13]) * ((arg2[6]) * 0x2));
5825     x303 = ((uint64_t)(arg1[13]) * ((arg2[5]) * 0x2));
5826     x304 = ((uint64_t)(arg1[13]) * ((arg2[4]) * 0x2));
5827     x305 = ((uint64_t)(arg1[13]) * (arg2[3]));
5828     x306 = ((uint64_t)(arg1[13]) * ((arg2[2]) * 0x2));
5829     x307 = ((uint64_t)(arg1[13]) * ((arg2[1]) * 0x2));
5830     x308 = ((uint64_t)(arg1[13]) * (arg2[0]));
5831     x309 = ((uint64_t)(arg1[12]) * ((arg2[10]) * 0x2));
5832     x310 = ((uint64_t)(arg1[12]) * ((arg2[9]) * 0x2));
5833     x311 = ((uint64_t)(arg1[12]) * ((arg2[8]) * 0x2));
5834     x312 = ((uint64_t)(arg1[12]) * ((arg2[7]) * 0x2));
5835     x313 = ((uint64_t)(arg1[12]) * ((arg2[6]) * 0x2));
5836     x314 = ((uint64_t)(arg1[12]) * ((arg2[5]) * 0x2));
5837     x315 = ((uint64_t)(arg1[12]) * ((arg2[4]) * 0x2));
5838     x316 = ((uint64_t)(arg1[12]) * ((arg2[3]) * 0x2));
5839     x317 = ((uint64_t)(arg1[12]) * ((arg2[2]) * 0x2));
5840     x318 = ((uint64_t)(arg1[12]) * ((arg2[1]) * 0x2));
5841     x319 = ((uint64_t)(arg1[12]) * (arg2[0]));
5842     x320 = ((uint64_t)(arg1[11]) * (arg2[11]));
5843     x321 = ((uint64_t)(arg1[11]) * (arg2[10]));
5844     x322 = ((uint64_t)(arg1[11]) * (arg2[9]));
5845     x323 = ((uint64_t)(arg1[11]) * ((arg2[8]) * 0x2));
5846     x324 = ((uint64_t)(arg1[11]) * (arg2[7]));
5847     x325 = ((uint64_t)(arg1[11]) * (arg2[6]));
5848     x326 = ((uint64_t)(arg1[11]) * (arg2[5]));
5849     x327 = ((uint64_t)(arg1[11]) * ((arg2[4]) * 0x2));
5850     x328 = ((uint64_t)(arg1[11]) * (arg2[3]));
5851     x329 = ((uint64_t)(arg1[11]) * (arg2[2]));
5852     x330 = ((uint64_t)(arg1[11]) * (arg2[1]));
5853     x331 = ((uint64_t)(arg1[11]) * (arg2[0]));
5854     x332 = ((uint64_t)(arg1[10]) * ((arg2[12]) * 0x2));
5855     x333 = ((uint64_t)(arg1[10]) * (arg2[11]));
5856     x334 = ((uint64_t)(arg1[10]) * (arg2[10]));
5857     x335 = ((uint64_t)(arg1[10]) * ((arg2[9]) * 0x2));
5858     x336 = ((uint64_t)(arg1[10]) * ((arg2[8]) * 0x2));
5859     x337 = ((uint64_t)(arg1[10]) * (arg2[7]));
5860     x338 = ((uint64_t)(arg1[10]) * (arg2[6]));
5861     x339 = ((uint64_t)(arg1[10]) * ((arg2[5]) * 0x2));
5862     x340 = ((uint64_t)(arg1[10]) * ((arg2[4]) * 0x2));
5863     x341 = ((uint64_t)(arg1[10]) * (arg2[3]));
5864     x342 = ((uint64_t)(arg1[10]) * (arg2[2]));
5865     x343 = ((uint64_t)(arg1[10]) * ((arg2[1]) * 0x2));
5866     x344 = ((uint64_t)(arg1[10]) * (arg2[0]));
5867     x345 = ((uint64_t)(arg1[9]) * ((arg2[13]) * 0x2));
5868     x346 = ((uint64_t)(arg1[9]) * ((arg2[12]) * 0x2));
5869     x347 = ((uint64_t)(arg1[9]) * (arg2[11]));
5870     x348 = ((uint64_t)(arg1[9]) * ((arg2[10]) * 0x2));
5871     x349 = ((uint64_t)(arg1[9]) * ((arg2[9]) * 0x2));
5872     x350 = ((uint64_t)(arg1[9]) * ((arg2[8]) * 0x2));
5873     x351 = ((uint64_t)(arg1[9]) * (arg2[7]));
5874     x352 = ((uint64_t)(arg1[9]) * ((arg2[6]) * 0x2));
5875     x353 = ((uint64_t)(arg1[9]) * ((arg2[5]) * 0x2));
5876     x354 = ((uint64_t)(arg1[9]) * ((arg2[4]) * 0x2));
5877     x355 = ((uint64_t)(arg1[9]) * (arg2[3]));
5878     x356 = ((uint64_t)(arg1[9]) * ((arg2[2]) * 0x2));
5879     x357 = ((uint64_t)(arg1[9]) * ((arg2[1]) * 0x2));
5880     x358 = ((uint64_t)(arg1[9]) * (arg2[0]));
5881     x359 = ((uint64_t)(arg1[8]) * ((arg2[14]) * 0x2));
5882     x360 = ((uint64_t)(arg1[8]) * ((arg2[13]) * 0x2));
5883     x361 = ((uint64_t)(arg1[8]) * ((arg2[12]) * 0x2));
5884     x362 = ((uint64_t)(arg1[8]) * ((arg2[11]) * 0x2));
5885     x363 = ((uint64_t)(arg1[8]) * ((arg2[10]) * 0x2));
5886     x364 = ((uint64_t)(arg1[8]) * ((arg2[9]) * 0x2));
5887     x365 = ((uint64_t)(arg1[8]) * ((arg2[8]) * 0x2));
5888     x366 = ((uint64_t)(arg1[8]) * ((arg2[7]) * 0x2));
5889     x367 = ((uint64_t)(arg1[8]) * ((arg2[6]) * 0x2));
5890     x368 = ((uint64_t)(arg1[8]) * ((arg2[5]) * 0x2));
5891     x369 = ((uint64_t)(arg1[8]) * ((arg2[4]) * 0x2));
5892     x370 = ((uint64_t)(arg1[8]) * ((arg2[3]) * 0x2));
5893     x371 = ((uint64_t)(arg1[8]) * ((arg2[2]) * 0x2));
5894     x372 = ((uint64_t)(arg1[8]) * ((arg2[1]) * 0x2));
5895     x373 = ((uint64_t)(arg1[8]) * (arg2[0]));
5896     x374 = ((uint64_t)(arg1[7]) * (arg2[15]));
5897     x375 = ((uint64_t)(arg1[7]) * (arg2[14]));
5898     x376 = ((uint64_t)(arg1[7]) * (arg2[13]));
5899     x377 = ((uint64_t)(arg1[7]) * ((arg2[12]) * 0x2));
5900     x378 = ((uint64_t)(arg1[7]) * (arg2[11]));
5901     x379 = ((uint64_t)(arg1[7]) * (arg2[10]));
5902     x380 = ((uint64_t)(arg1[7]) * (arg2[9]));
5903     x381 = ((uint64_t)(arg1[7]) * ((arg2[8]) * 0x2));
5904     x382 = ((uint64_t)(arg1[7]) * (arg2[7]));
5905     x383 = ((uint64_t)(arg1[7]) * (arg2[6]));
5906     x384 = ((uint64_t)(arg1[7]) * (arg2[5]));
5907     x385 = ((uint64_t)(arg1[7]) * ((arg2[4]) * 0x2));
5908     x386 = ((uint64_t)(arg1[7]) * (arg2[3]));
5909     x387 = ((uint64_t)(arg1[7]) * (arg2[2]));
5910     x388 = ((uint64_t)(arg1[7]) * (arg2[1]));
5911     x389 = ((uint64_t)(arg1[7]) * (arg2[0]));
5912     x390 = ((uint64_t)(arg1[6]) * ((arg2[16]) * 0x2));
5913     x391 = ((uint64_t)(arg1[6]) * (arg2[15]));
5914     x392 = ((uint64_t)(arg1[6]) * (arg2[14]));
5915     x393 = ((uint64_t)(arg1[6]) * ((arg2[13]) * 0x2));
5916     x394 = ((uint64_t)(arg1[6]) * ((arg2[12]) * 0x2));
5917     x395 = ((uint64_t)(arg1[6]) * (arg2[11]));
5918     x396 = ((uint64_t)(arg1[6]) * (arg2[10]));
5919     x397 = ((uint64_t)(arg1[6]) * ((arg2[9]) * 0x2));
5920     x398 = ((uint64_t)(arg1[6]) * ((arg2[8]) * 0x2));
5921     x399 = ((uint64_t)(arg1[6]) * (arg2[7]));
5922     x400 = ((uint64_t)(arg1[6]) * (arg2[6]));
5923     x401 = ((uint64_t)(arg1[6]) * ((arg2[5]) * 0x2));
5924     x402 = ((uint64_t)(arg1[6]) * ((arg2[4]) * 0x2));
5925     x403 = ((uint64_t)(arg1[6]) * (arg2[3]));
5926     x404 = ((uint64_t)(arg1[6]) * (arg2[2]));
5927     x405 = ((uint64_t)(arg1[6]) * ((arg2[1]) * 0x2));
5928     x406 = ((uint64_t)(arg1[6]) * (arg2[0]));
5929     x407 = ((uint64_t)(arg1[5]) * ((arg2[17]) * 0x2));
5930     x408 = ((uint64_t)(arg1[5]) * ((arg2[16]) * 0x2));
5931     x409 = ((uint64_t)(arg1[5]) * (arg2[15]));
5932     x410 = ((uint64_t)(arg1[5]) * ((arg2[14]) * 0x2));
5933     x411 = ((uint64_t)(arg1[5]) * ((arg2[13]) * 0x2));
5934     x412 = ((uint64_t)(arg1[5]) * ((arg2[12]) * 0x2));
5935     x413 = ((uint64_t)(arg1[5]) * (arg2[11]));
5936     x414 = ((uint64_t)(arg1[5]) * ((arg2[10]) * 0x2));
5937     x415 = ((uint64_t)(arg1[5]) * ((arg2[9]) * 0x2));
5938     x416 = ((uint64_t)(arg1[5]) * ((arg2[8]) * 0x2));
5939     x417 = ((uint64_t)(arg1[5]) * (arg2[7]));
5940     x418 = ((uint64_t)(arg1[5]) * ((arg2[6]) * 0x2));
5941     x419 = ((uint64_t)(arg1[5]) * ((arg2[5]) * 0x2));
5942     x420 = ((uint64_t)(arg1[5]) * ((arg2[4]) * 0x2));
5943     x421 = ((uint64_t)(arg1[5]) * (arg2[3]));
5944     x422 = ((uint64_t)(arg1[5]) * ((arg2[2]) * 0x2));
5945     x423 = ((uint64_t)(arg1[5]) * ((arg2[1]) * 0x2));
5946     x424 = ((uint64_t)(arg1[5]) * (arg2[0]));
5947     x425 = ((uint64_t)(arg1[4]) * ((arg2[18]) * 0x2));
5948     x426 = ((uint64_t)(arg1[4]) * ((arg2[17]) * 0x2));
5949     x427 = ((uint64_t)(arg1[4]) * ((arg2[16]) * 0x2));
5950     x428 = ((uint64_t)(arg1[4]) * ((arg2[15]) * 0x2));
5951     x429 = ((uint64_t)(arg1[4]) * ((arg2[14]) * 0x2));
5952     x430 = ((uint64_t)(arg1[4]) * ((arg2[13]) * 0x2));
5953     x431 = ((uint64_t)(arg1[4]) * ((arg2[12]) * 0x2));
5954     x432 = ((uint64_t)(arg1[4]) * ((arg2[11]) * 0x2));
5955     x433 = ((uint64_t)(arg1[4]) * ((arg2[10]) * 0x2));
5956     x434 = ((uint64_t)(arg1[4]) * ((arg2[9]) * 0x2));
5957     x435 = ((uint64_t)(arg1[4]) * ((arg2[8]) * 0x2));
5958     x436 = ((uint64_t)(arg1[4]) * ((arg2[7]) * 0x2));
5959     x437 = ((uint64_t)(arg1[4]) * ((arg2[6]) * 0x2));
5960     x438 = ((uint64_t)(arg1[4]) * ((arg2[5]) * 0x2));
5961     x439 = ((uint64_t)(arg1[4]) * ((arg2[4]) * 0x2));
5962     x440 = ((uint64_t)(arg1[4]) * ((arg2[3]) * 0x2));
5963     x441 = ((uint64_t)(arg1[4]) * ((arg2[2]) * 0x2));
5964     x442 = ((uint64_t)(arg1[4]) * ((arg2[1]) * 0x2));
5965     x443 = ((uint64_t)(arg1[4]) * (arg2[0]));
5966     x444 = ((uint64_t)(arg1[3]) * (arg2[19]));
5967     x445 = ((uint64_t)(arg1[3]) * (arg2[18]));
5968     x446 = ((uint64_t)(arg1[3]) * (arg2[17]));
5969     x447 = ((uint64_t)(arg1[3]) * ((arg2[16]) * 0x2));
5970     x448 = ((uint64_t)(arg1[3]) * (arg2[15]));
5971     x449 = ((uint64_t)(arg1[3]) * (arg2[14]));
5972     x450 = ((uint64_t)(arg1[3]) * (arg2[13]));
5973     x451 = ((uint64_t)(arg1[3]) * ((arg2[12]) * 0x2));
5974     x452 = ((uint64_t)(arg1[3]) * (arg2[11]));
5975     x453 = ((uint64_t)(arg1[3]) * (arg2[10]));
5976     x454 = ((uint64_t)(arg1[3]) * (arg2[9]));
5977     x455 = ((uint64_t)(arg1[3]) * ((arg2[8]) * 0x2));
5978     x456 = ((uint64_t)(arg1[3]) * (arg2[7]));
5979     x457 = ((uint64_t)(arg1[3]) * (arg2[6]));
5980     x458 = ((uint64_t)(arg1[3]) * (arg2[5]));
5981     x459 = ((uint64_t)(arg1[3]) * ((arg2[4]) * 0x2));
5982     x460 = ((uint64_t)(arg1[3]) * (arg2[3]));
5983     x461 = ((uint64_t)(arg1[3]) * (arg2[2]));
5984     x462 = ((uint64_t)(arg1[3]) * (arg2[1]));
5985     x463 = ((uint64_t)(arg1[3]) * (arg2[0]));
5986     x464 = ((uint64_t)(arg1[2]) * ((arg2[20]) * 0x2));
5987     x465 = ((uint64_t)(arg1[2]) * (arg2[19]));
5988     x466 = ((uint64_t)(arg1[2]) * (arg2[18]));
5989     x467 = ((uint64_t)(arg1[2]) * ((arg2[17]) * 0x2));
5990     x468 = ((uint64_t)(arg1[2]) * ((arg2[16]) * 0x2));
5991     x469 = ((uint64_t)(arg1[2]) * (arg2[15]));
5992     x470 = ((uint64_t)(arg1[2]) * (arg2[14]));
5993     x471 = ((uint64_t)(arg1[2]) * ((arg2[13]) * 0x2));
5994     x472 = ((uint64_t)(arg1[2]) * ((arg2[12]) * 0x2));
5995     x473 = ((uint64_t)(arg1[2]) * (arg2[11]));
5996     x474 = ((uint64_t)(arg1[2]) * (arg2[10]));
5997     x475 = ((uint64_t)(arg1[2]) * ((arg2[9]) * 0x2));
5998     x476 = ((uint64_t)(arg1[2]) * ((arg2[8]) * 0x2));
5999     x477 = ((uint64_t)(arg1[2]) * (arg2[7]));
6000     x478 = ((uint64_t)(arg1[2]) * (arg2[6]));
6001     x479 = ((uint64_t)(arg1[2]) * ((arg2[5]) * 0x2));
6002     x480 = ((uint64_t)(arg1[2]) * ((arg2[4]) * 0x2));
6003     x481 = ((uint64_t)(arg1[2]) * (arg2[3]));
6004     x482 = ((uint64_t)(arg1[2]) * (arg2[2]));
6005     x483 = ((uint64_t)(arg1[2]) * ((arg2[1]) * 0x2));
6006     x484 = ((uint64_t)(arg1[2]) * (arg2[0]));
6007     x485 = ((uint64_t)(arg1[1]) * ((arg2[21]) * 0x2));
6008     x486 = ((uint64_t)(arg1[1]) * ((arg2[20]) * 0x2));
6009     x487 = ((uint64_t)(arg1[1]) * (arg2[19]));
6010     x488 = ((uint64_t)(arg1[1]) * ((arg2[18]) * 0x2));
6011     x489 = ((uint64_t)(arg1[1]) * ((arg2[17]) * 0x2));
6012     x490 = ((uint64_t)(arg1[1]) * ((arg2[16]) * 0x2));
6013     x491 = ((uint64_t)(arg1[1]) * (arg2[15]));
6014     x492 = ((uint64_t)(arg1[1]) * ((arg2[14]) * 0x2));
6015     x493 = ((uint64_t)(arg1[1]) * ((arg2[13]) * 0x2));
6016     x494 = ((uint64_t)(arg1[1]) * ((arg2[12]) * 0x2));
6017     x495 = ((uint64_t)(arg1[1]) * (arg2[11]));
6018     x496 = ((uint64_t)(arg1[1]) * ((arg2[10]) * 0x2));
6019     x497 = ((uint64_t)(arg1[1]) * ((arg2[9]) * 0x2));
6020     x498 = ((uint64_t)(arg1[1]) * ((arg2[8]) * 0x2));
6021     x499 = ((uint64_t)(arg1[1]) * (arg2[7]));
6022     x500 = ((uint64_t)(arg1[1]) * ((arg2[6]) * 0x2));
6023     x501 = ((uint64_t)(arg1[1]) * ((arg2[5]) * 0x2));
6024     x502 = ((uint64_t)(arg1[1]) * ((arg2[4]) * 0x2));
6025     x503 = ((uint64_t)(arg1[1]) * (arg2[3]));
6026     x504 = ((uint64_t)(arg1[1]) * ((arg2[2]) * 0x2));
6027     x505 = ((uint64_t)(arg1[1]) * ((arg2[1]) * 0x2));
6028     x506 = ((uint64_t)(arg1[1]) * (arg2[0]));
6029     x507 = ((uint64_t)(arg1[0]) * (arg2[22]));
6030     x508 = ((uint64_t)(arg1[0]) * (arg2[21]));
6031     x509 = ((uint64_t)(arg1[0]) * (arg2[20]));
6032     x510 = ((uint64_t)(arg1[0]) * (arg2[19]));
6033     x511 = ((uint64_t)(arg1[0]) * (arg2[18]));
6034     x512 = ((uint64_t)(arg1[0]) * (arg2[17]));
6035     x513 = ((uint64_t)(arg1[0]) * (arg2[16]));
6036     x514 = ((uint64_t)(arg1[0]) * (arg2[15]));
6037     x515 = ((uint64_t)(arg1[0]) * (arg2[14]));
6038     x516 = ((uint64_t)(arg1[0]) * (arg2[13]));
6039     x517 = ((uint64_t)(arg1[0]) * (arg2[12]));
6040     x518 = ((uint64_t)(arg1[0]) * (arg2[11]));
6041     x519 = ((uint64_t)(arg1[0]) * (arg2[10]));
6042     x520 = ((uint64_t)(arg1[0]) * (arg2[9]));
6043     x521 = ((uint64_t)(arg1[0]) * (arg2[8]));
6044     x522 = ((uint64_t)(arg1[0]) * (arg2[7]));
6045     x523 = ((uint64_t)(arg1[0]) * (arg2[6]));
6046     x524 = ((uint64_t)(arg1[0]) * (arg2[5]));
6047     x525 = ((uint64_t)(arg1[0]) * (arg2[4]));
6048     x526 = ((uint64_t)(arg1[0]) * (arg2[3]));
6049     x527 = ((uint64_t)(arg1[0]) * (arg2[2]));
6050     x528 = ((uint64_t)(arg1[0]) * (arg2[1]));
6051     x529 = ((uint64_t)(arg1[0]) * (arg2[0]));
6052     x530 = (x529 +
6053             (x253 +
6054              (x252 +
6055               (x250 +
6056                (x247 +
6057                 (x243 +
6058                  (x238 +
6059                   (x232 +
6060                    (x225 +
6061                     (x217 +
6062                      (x208 +
6063                       (x198 +
6064                        (x187 +
6065                         (x175 +
6066                          (x162 +
6067                           (x148 +
6068                            (x133 +
6069                             (x117 +
6070                              (x100 +
6071                               (x82 + (x63 + (x43 + x22))))))))))))))))))))));
6072     x531 = (x530 >> 23);
6073     x532 = (uint32_t)(x530 & UINT32_C(0x7fffff));
6074     x533 =
6075         (x507 +
6076          (x485 +
6077           (x464 +
6078            (x444 +
6079             (x425 +
6080              (x407 +
6081               (x390 +
6082                (x374 +
6083                 (x359 +
6084                  (x345 +
6085                   (x332 +
6086                    (x320 +
6087                     (x309 +
6088                      (x299 +
6089                       (x290 +
6090                        (x282 +
6091                         (x275 +
6092                          (x269 +
6093                           (x264 +
6094                            (x260 + (x257 + (x255 + x254))))))))))))))))))))));
6095     x534 = (x508 +
6096             (x486 +
6097              (x465 +
6098               (x445 +
6099                (x426 +
6100                 (x408 +
6101                  (x391 +
6102                   (x375 +
6103                    (x360 +
6104                     (x346 +
6105                      (x333 +
6106                       (x321 +
6107                        (x310 +
6108                         (x300 +
6109                          (x291 +
6110                           (x283 +
6111                            (x276 +
6112                             (x270 +
6113                              (x265 +
6114                               (x261 + (x258 + (x256 + x1))))))))))))))))))))));
6115     x535 = (x509 +
6116             (x487 +
6117              (x466 +
6118               (x446 +
6119                (x427 +
6120                 (x409 +
6121                  (x392 +
6122                   (x376 +
6123                    (x361 +
6124                     (x347 +
6125                      (x334 +
6126                       (x322 +
6127                        (x311 +
6128                         (x301 +
6129                          (x292 +
6130                           (x284 +
6131                            (x277 +
6132                             (x271 +
6133                              (x266 +
6134                               (x262 + (x259 + (x23 + x2))))))))))))))))))))));
6135     x536 = (x510 +
6136             (x488 +
6137              (x467 +
6138               (x447 +
6139                (x428 +
6140                 (x410 +
6141                  (x393 +
6142                   (x377 +
6143                    (x362 +
6144                     (x348 +
6145                      (x335 +
6146                       (x323 +
6147                        (x312 +
6148                         (x302 +
6149                          (x293 +
6150                           (x285 +
6151                            (x278 +
6152                             (x272 +
6153                              (x267 +
6154                               (x263 + (x44 + (x24 + x3))))))))))))))))))))));
6155     x537 =
6156         (x511 +
6157          (x489 +
6158           (x468 +
6159            (x448 +
6160             (x429 +
6161              (x411 +
6162               (x394 +
6163                (x378 +
6164                 (x363 +
6165                  (x349 +
6166                   (x336 +
6167                    (x324 +
6168                     (x313 +
6169                      (x303 +
6170                       (x294 +
6171                        (x286 +
6172                         (x279 +
6173                          (x273 +
6174                           (x268 + (x64 + (x45 + (x25 + x4))))))))))))))))))))));
6175     x538 =
6176         (x512 +
6177          (x490 +
6178           (x469 +
6179            (x449 +
6180             (x430 +
6181              (x412 +
6182               (x395 +
6183                (x379 +
6184                 (x364 +
6185                  (x350 +
6186                   (x337 +
6187                    (x325 +
6188                     (x314 +
6189                      (x304 +
6190                       (x295 +
6191                        (x287 +
6192                         (x280 +
6193                          (x274 +
6194                           (x83 + (x65 + (x46 + (x26 + x5))))))))))))))))))))));
6195     x539 =
6196         (x513 +
6197          (x491 +
6198           (x470 +
6199            (x450 +
6200             (x431 +
6201              (x413 +
6202               (x396 +
6203                (x380 +
6204                 (x365 +
6205                  (x351 +
6206                   (x338 +
6207                    (x326 +
6208                     (x315 +
6209                      (x305 +
6210                       (x296 +
6211                        (x288 +
6212                         (x281 +
6213                          (x101 +
6214                           (x84 + (x66 + (x47 + (x27 + x6))))))))))))))))))))));
6215     x540 =
6216         (x514 +
6217          (x492 +
6218           (x471 +
6219            (x451 +
6220             (x432 +
6221              (x414 +
6222               (x397 +
6223                (x381 +
6224                 (x366 +
6225                  (x352 +
6226                   (x339 +
6227                    (x327 +
6228                     (x316 +
6229                      (x306 +
6230                       (x297 +
6231                        (x289 +
6232                         (x118 +
6233                          (x102 +
6234                           (x85 + (x67 + (x48 + (x28 + x7))))))))))))))))))))));
6235     x541 =
6236         (x515 +
6237          (x493 +
6238           (x472 +
6239            (x452 +
6240             (x433 +
6241              (x415 +
6242               (x398 +
6243                (x382 +
6244                 (x367 +
6245                  (x353 +
6246                   (x340 +
6247                    (x328 +
6248                     (x317 +
6249                      (x307 +
6250                       (x298 +
6251                        (x134 +
6252                         (x119 +
6253                          (x103 +
6254                           (x86 + (x68 + (x49 + (x29 + x8))))))))))))))))))))));
6255     x542 =
6256         (x516 +
6257          (x494 +
6258           (x473 +
6259            (x453 +
6260             (x434 +
6261              (x416 +
6262               (x399 +
6263                (x383 +
6264                 (x368 +
6265                  (x354 +
6266                   (x341 +
6267                    (x329 +
6268                     (x318 +
6269                      (x308 +
6270                       (x149 +
6271                        (x135 +
6272                         (x120 +
6273                          (x104 +
6274                           (x87 + (x69 + (x50 + (x30 + x9))))))))))))))))))))));
6275     x543 =
6276         (x517 +
6277          (x495 +
6278           (x474 +
6279            (x454 +
6280             (x435 +
6281              (x417 +
6282               (x400 +
6283                (x384 +
6284                 (x369 +
6285                  (x355 +
6286                   (x342 +
6287                    (x330 +
6288                     (x319 +
6289                      (x163 +
6290                       (x150 +
6291                        (x136 +
6292                         (x121 +
6293                          (x105 +
6294                           (x88 + (x70 + (x51 + (x31 + x10))))))))))))))))))))));
6295     x544 =
6296         (x518 +
6297          (x496 +
6298           (x475 +
6299            (x455 +
6300             (x436 +
6301              (x418 +
6302               (x401 +
6303                (x385 +
6304                 (x370 +
6305                  (x356 +
6306                   (x343 +
6307                    (x331 +
6308                     (x176 +
6309                      (x164 +
6310                       (x151 +
6311                        (x137 +
6312                         (x122 +
6313                          (x106 +
6314                           (x89 + (x71 + (x52 + (x32 + x11))))))))))))))))))))));
6315     x545 =
6316         (x519 +
6317          (x497 +
6318           (x476 +
6319            (x456 +
6320             (x437 +
6321              (x419 +
6322               (x402 +
6323                (x386 +
6324                 (x371 +
6325                  (x357 +
6326                   (x344 +
6327                    (x188 +
6328                     (x177 +
6329                      (x165 +
6330                       (x152 +
6331                        (x138 +
6332                         (x123 +
6333                          (x107 +
6334                           (x90 + (x72 + (x53 + (x33 + x12))))))))))))))))))))));
6335     x546 =
6336         (x520 +
6337          (x498 +
6338           (x477 +
6339            (x457 +
6340             (x438 +
6341              (x420 +
6342               (x403 +
6343                (x387 +
6344                 (x372 +
6345                  (x358 +
6346                   (x199 +
6347                    (x189 +
6348                     (x178 +
6349                      (x166 +
6350                       (x153 +
6351                        (x139 +
6352                         (x124 +
6353                          (x108 +
6354                           (x91 + (x73 + (x54 + (x34 + x13))))))))))))))))))))));
6355     x547 =
6356         (x521 +
6357          (x499 +
6358           (x478 +
6359            (x458 +
6360             (x439 +
6361              (x421 +
6362               (x404 +
6363                (x388 +
6364                 (x373 +
6365                  (x209 +
6366                   (x200 +
6367                    (x190 +
6368                     (x179 +
6369                      (x167 +
6370                       (x154 +
6371                        (x140 +
6372                         (x125 +
6373                          (x109 +
6374                           (x92 + (x74 + (x55 + (x35 + x14))))))))))))))))))))));
6375     x548 =
6376         (x522 +
6377          (x500 +
6378           (x479 +
6379            (x459 +
6380             (x440 +
6381              (x422 +
6382               (x405 +
6383                (x389 +
6384                 (x218 +
6385                  (x210 +
6386                   (x201 +
6387                    (x191 +
6388                     (x180 +
6389                      (x168 +
6390                       (x155 +
6391                        (x141 +
6392                         (x126 +
6393                          (x110 +
6394                           (x93 + (x75 + (x56 + (x36 + x15))))))))))))))))))))));
6395     x549 =
6396         (x523 +
6397          (x501 +
6398           (x480 +
6399            (x460 +
6400             (x441 +
6401              (x423 +
6402               (x406 +
6403                (x226 +
6404                 (x219 +
6405                  (x211 +
6406                   (x202 +
6407                    (x192 +
6408                     (x181 +
6409                      (x169 +
6410                       (x156 +
6411                        (x142 +
6412                         (x127 +
6413                          (x111 +
6414                           (x94 + (x76 + (x57 + (x37 + x16))))))))))))))))))))));
6415     x550 =
6416         (x524 +
6417          (x502 +
6418           (x481 +
6419            (x461 +
6420             (x442 +
6421              (x424 +
6422               (x233 +
6423                (x227 +
6424                 (x220 +
6425                  (x212 +
6426                   (x203 +
6427                    (x193 +
6428                     (x182 +
6429                      (x170 +
6430                       (x157 +
6431                        (x143 +
6432                         (x128 +
6433                          (x112 +
6434                           (x95 + (x77 + (x58 + (x38 + x17))))))))))))))))))))));
6435     x551 =
6436         (x525 +
6437          (x503 +
6438           (x482 +
6439            (x462 +
6440             (x443 +
6441              (x239 +
6442               (x234 +
6443                (x228 +
6444                 (x221 +
6445                  (x213 +
6446                   (x204 +
6447                    (x194 +
6448                     (x183 +
6449                      (x171 +
6450                       (x158 +
6451                        (x144 +
6452                         (x129 +
6453                          (x113 +
6454                           (x96 + (x78 + (x59 + (x39 + x18))))))))))))))))))))));
6455     x552 =
6456         (x526 +
6457          (x504 +
6458           (x483 +
6459            (x463 +
6460             (x244 +
6461              (x240 +
6462               (x235 +
6463                (x229 +
6464                 (x222 +
6465                  (x214 +
6466                   (x205 +
6467                    (x195 +
6468                     (x184 +
6469                      (x172 +
6470                       (x159 +
6471                        (x145 +
6472                         (x130 +
6473                          (x114 +
6474                           (x97 + (x79 + (x60 + (x40 + x19))))))))))))))))))))));
6475     x553 =
6476         (x527 +
6477          (x505 +
6478           (x484 +
6479            (x248 +
6480             (x245 +
6481              (x241 +
6482               (x236 +
6483                (x230 +
6484                 (x223 +
6485                  (x215 +
6486                   (x206 +
6487                    (x196 +
6488                     (x185 +
6489                      (x173 +
6490                       (x160 +
6491                        (x146 +
6492                         (x131 +
6493                          (x115 +
6494                           (x98 + (x80 + (x61 + (x41 + x20))))))))))))))))))))));
6495     x554 =
6496         (x528 +
6497          (x506 +
6498           (x251 +
6499            (x249 +
6500             (x246 +
6501              (x242 +
6502               (x237 +
6503                (x231 +
6504                 (x224 +
6505                  (x216 +
6506                   (x207 +
6507                    (x197 +
6508                     (x186 +
6509                      (x174 +
6510                       (x161 +
6511                        (x147 +
6512                         (x132 +
6513                          (x116 +
6514                           (x99 + (x81 + (x62 + (x42 + x21))))))))))))))))))))));
6515     x555 = (x531 + x554);
6516     x556 = (x555 >> 22);
6517     x557 = (uint32_t)(x555 & UINT32_C(0x3fffff));
6518     x558 = (x556 + x553);
6519     x559 = (x558 >> 22);
6520     x560 = (uint32_t)(x558 & UINT32_C(0x3fffff));
6521     x561 = (x559 + x552);
6522     x562 = (x561 >> 23);
6523     x563 = (uint32_t)(x561 & UINT32_C(0x7fffff));
6524     x564 = (x562 + x551);
6525     x565 = (x564 >> 22);
6526     x566 = (uint32_t)(x564 & UINT32_C(0x3fffff));
6527     x567 = (x565 + x550);
6528     x568 = (x567 >> 22);
6529     x569 = (uint32_t)(x567 & UINT32_C(0x3fffff));
6530     x570 = (x568 + x549);
6531     x571 = (x570 >> 22);
6532     x572 = (uint32_t)(x570 & UINT32_C(0x3fffff));
6533     x573 = (x571 + x548);
6534     x574 = (x573 >> 23);
6535     x575 = (uint32_t)(x573 & UINT32_C(0x7fffff));
6536     x576 = (x574 + x547);
6537     x577 = (x576 >> 22);
6538     x578 = (uint32_t)(x576 & UINT32_C(0x3fffff));
6539     x579 = (x577 + x546);
6540     x580 = (x579 >> 22);
6541     x581 = (uint32_t)(x579 & UINT32_C(0x3fffff));
6542     x582 = (x580 + x545);
6543     x583 = (x582 >> 22);
6544     x584 = (uint32_t)(x582 & UINT32_C(0x3fffff));
6545     x585 = (x583 + x544);
6546     x586 = (x585 >> 23);
6547     x587 = (uint32_t)(x585 & UINT32_C(0x7fffff));
6548     x588 = (x586 + x543);
6549     x589 = (x588 >> 22);
6550     x590 = (uint32_t)(x588 & UINT32_C(0x3fffff));
6551     x591 = (x589 + x542);
6552     x592 = (x591 >> 22);
6553     x593 = (uint32_t)(x591 & UINT32_C(0x3fffff));
6554     x594 = (x592 + x541);
6555     x595 = (x594 >> 22);
6556     x596 = (uint32_t)(x594 & UINT32_C(0x3fffff));
6557     x597 = (x595 + x540);
6558     x598 = (x597 >> 23);
6559     x599 = (uint32_t)(x597 & UINT32_C(0x7fffff));
6560     x600 = (x598 + x539);
6561     x601 = (x600 >> 22);
6562     x602 = (uint32_t)(x600 & UINT32_C(0x3fffff));
6563     x603 = (x601 + x538);
6564     x604 = (x603 >> 22);
6565     x605 = (uint32_t)(x603 & UINT32_C(0x3fffff));
6566     x606 = (x604 + x537);
6567     x607 = (x606 >> 22);
6568     x608 = (uint32_t)(x606 & UINT32_C(0x3fffff));
6569     x609 = (x607 + x536);
6570     x610 = (x609 >> 23);
6571     x611 = (uint32_t)(x609 & UINT32_C(0x7fffff));
6572     x612 = (x610 + x535);
6573     x613 = (x612 >> 22);
6574     x614 = (uint32_t)(x612 & UINT32_C(0x3fffff));
6575     x615 = (x613 + x534);
6576     x616 = (x615 >> 22);
6577     x617 = (uint32_t)(x615 & UINT32_C(0x3fffff));
6578     x618 = (x616 + x533);
6579     x619 = (uint32_t)(x618 >> 22);
6580     x620 = (uint32_t)(x618 & UINT32_C(0x3fffff));
6581     x621 = ((uint64_t)UINT16_C(0x239) * x619);
6582     x622 = (x532 + x621);
6583     x623 = (uint32_t)(x622 >> 23);
6584     x624 = (uint32_t)(x622 & UINT32_C(0x7fffff));
6585     x625 = (x623 + x557);
6586     x626 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x625 >> 22);
6587     x627 = (x625 & UINT32_C(0x3fffff));
6588     x628 = (x626 + x560);
6589     out1[0] = x624;
6590     out1[1] = x627;
6591     out1[2] = x628;
6592     out1[3] = x563;
6593     out1[4] = x566;
6594     out1[5] = x569;
6595     out1[6] = x572;
6596     out1[7] = x575;
6597     out1[8] = x578;
6598     out1[9] = x581;
6599     out1[10] = x584;
6600     out1[11] = x587;
6601     out1[12] = x590;
6602     out1[13] = x593;
6603     out1[14] = x596;
6604     out1[15] = x599;
6605     out1[16] = x602;
6606     out1[17] = x605;
6607     out1[18] = x608;
6608     out1[19] = x611;
6609     out1[20] = x614;
6610     out1[21] = x617;
6611     out1[22] = x620;
6612 }
6613
6614 /*
6615  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square squares a field element and reduces the result.
6616  * Postconditions:
6617  *   eval out1 mod m = (eval arg1 * eval arg1) mod m
6618  *
6619  * Input Bounds:
6620  *   arg1: [[0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332]]
6621  * Output Bounds:
6622  *   out1: [[0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666]]
6623  */
6624 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(
6625     uint32_t out1[23], const uint32_t arg1[23]) {
6626     uint64_t x1;
6627     uint64_t x2;
6628     uint32_t x3;
6629     uint64_t x4;
6630     uint64_t x5;
6631     uint32_t x6;
6632     uint64_t x7;
6633     uint64_t x8;
6634     uint32_t x9;
6635     uint64_t x10;
6636     uint64_t x11;
6637     uint32_t x12;
6638     uint64_t x13;
6639     uint64_t x14;
6640     uint32_t x15;
6641     uint64_t x16;
6642     uint64_t x17;
6643     uint32_t x18;
6644     uint64_t x19;
6645     uint64_t x20;
6646     uint32_t x21;
6647     uint64_t x22;
6648     uint64_t x23;
6649     uint32_t x24;
6650     uint64_t x25;
6651     uint64_t x26;
6652     uint32_t x27;
6653     uint64_t x28;
6654     uint64_t x29;
6655     uint32_t x30;
6656     uint64_t x31;
6657     uint64_t x32;
6658     uint32_t x33;
6659     uint32_t x34;
6660     uint32_t x35;
6661     uint32_t x36;
6662     uint32_t x37;
6663     uint32_t x38;
6664     uint32_t x39;
6665     uint32_t x40;
6666     uint32_t x41;
6667     uint32_t x42;
6668     uint32_t x43;
6669     uint32_t x44;
6670     uint64_t x45;
6671     uint64_t x46;
6672     uint64_t x47;
6673     uint64_t x48;
6674     uint64_t x49;
6675     uint64_t x50;
6676     uint64_t x51;
6677     uint64_t x52;
6678     uint64_t x53;
6679     uint64_t x54;
6680     uint64_t x55;
6681     uint64_t x56;
6682     uint64_t x57;
6683     uint64_t x58;
6684     uint64_t x59;
6685     uint64_t x60;
6686     uint64_t x61;
6687     uint64_t x62;
6688     uint64_t x63;
6689     uint64_t x64;
6690     uint64_t x65;
6691     uint64_t x66;
6692     uint64_t x67;
6693     uint64_t x68;
6694     uint64_t x69;
6695     uint64_t x70;
6696     uint64_t x71;
6697     uint64_t x72;
6698     uint64_t x73;
6699     uint64_t x74;
6700     uint64_t x75;
6701     uint64_t x76;
6702     uint64_t x77;
6703     uint64_t x78;
6704     uint64_t x79;
6705     uint64_t x80;
6706     uint64_t x81;
6707     uint64_t x82;
6708     uint64_t x83;
6709     uint64_t x84;
6710     uint64_t x85;
6711     uint64_t x86;
6712     uint64_t x87;
6713     uint64_t x88;
6714     uint64_t x89;
6715     uint64_t x90;
6716     uint64_t x91;
6717     uint64_t x92;
6718     uint64_t x93;
6719     uint64_t x94;
6720     uint64_t x95;
6721     uint64_t x96;
6722     uint64_t x97;
6723     uint64_t x98;
6724     uint64_t x99;
6725     uint64_t x100;
6726     uint64_t x101;
6727     uint64_t x102;
6728     uint64_t x103;
6729     uint64_t x104;
6730     uint64_t x105;
6731     uint64_t x106;
6732     uint64_t x107;
6733     uint64_t x108;
6734     uint64_t x109;
6735     uint64_t x110;
6736     uint64_t x111;
6737     uint64_t x112;
6738     uint64_t x113;
6739     uint64_t x114;
6740     uint64_t x115;
6741     uint64_t x116;
6742     uint64_t x117;
6743     uint64_t x118;
6744     uint64_t x119;
6745     uint64_t x120;
6746     uint64_t x121;
6747     uint64_t x122;
6748     uint64_t x123;
6749     uint64_t x124;
6750     uint64_t x125;
6751     uint64_t x126;
6752     uint64_t x127;
6753     uint64_t x128;
6754     uint64_t x129;
6755     uint64_t x130;
6756     uint64_t x131;
6757     uint64_t x132;
6758     uint64_t x133;
6759     uint64_t x134;
6760     uint64_t x135;
6761     uint64_t x136;
6762     uint64_t x137;
6763     uint64_t x138;
6764     uint64_t x139;
6765     uint64_t x140;
6766     uint64_t x141;
6767     uint64_t x142;
6768     uint64_t x143;
6769     uint64_t x144;
6770     uint64_t x145;
6771     uint64_t x146;
6772     uint64_t x147;
6773     uint64_t x148;
6774     uint64_t x149;
6775     uint64_t x150;
6776     uint64_t x151;
6777     uint64_t x152;
6778     uint64_t x153;
6779     uint64_t x154;
6780     uint64_t x155;
6781     uint64_t x156;
6782     uint64_t x157;
6783     uint64_t x158;
6784     uint64_t x159;
6785     uint64_t x160;
6786     uint64_t x161;
6787     uint64_t x162;
6788     uint64_t x163;
6789     uint64_t x164;
6790     uint64_t x165;
6791     uint64_t x166;
6792     uint64_t x167;
6793     uint64_t x168;
6794     uint64_t x169;
6795     uint64_t x170;
6796     uint64_t x171;
6797     uint64_t x172;
6798     uint64_t x173;
6799     uint64_t x174;
6800     uint64_t x175;
6801     uint64_t x176;
6802     uint64_t x177;
6803     uint64_t x178;
6804     uint64_t x179;
6805     uint64_t x180;
6806     uint64_t x181;
6807     uint64_t x182;
6808     uint64_t x183;
6809     uint64_t x184;
6810     uint64_t x185;
6811     uint64_t x186;
6812     uint64_t x187;
6813     uint64_t x188;
6814     uint64_t x189;
6815     uint64_t x190;
6816     uint64_t x191;
6817     uint64_t x192;
6818     uint64_t x193;
6819     uint64_t x194;
6820     uint64_t x195;
6821     uint64_t x196;
6822     uint64_t x197;
6823     uint64_t x198;
6824     uint64_t x199;
6825     uint64_t x200;
6826     uint64_t x201;
6827     uint64_t x202;
6828     uint64_t x203;
6829     uint64_t x204;
6830     uint64_t x205;
6831     uint64_t x206;
6832     uint64_t x207;
6833     uint64_t x208;
6834     uint64_t x209;
6835     uint64_t x210;
6836     uint64_t x211;
6837     uint64_t x212;
6838     uint64_t x213;
6839     uint64_t x214;
6840     uint64_t x215;
6841     uint64_t x216;
6842     uint64_t x217;
6843     uint64_t x218;
6844     uint64_t x219;
6845     uint64_t x220;
6846     uint64_t x221;
6847     uint64_t x222;
6848     uint64_t x223;
6849     uint64_t x224;
6850     uint64_t x225;
6851     uint64_t x226;
6852     uint64_t x227;
6853     uint64_t x228;
6854     uint64_t x229;
6855     uint64_t x230;
6856     uint64_t x231;
6857     uint64_t x232;
6858     uint64_t x233;
6859     uint64_t x234;
6860     uint64_t x235;
6861     uint64_t x236;
6862     uint64_t x237;
6863     uint64_t x238;
6864     uint64_t x239;
6865     uint64_t x240;
6866     uint64_t x241;
6867     uint64_t x242;
6868     uint64_t x243;
6869     uint64_t x244;
6870     uint64_t x245;
6871     uint64_t x246;
6872     uint64_t x247;
6873     uint64_t x248;
6874     uint64_t x249;
6875     uint64_t x250;
6876     uint64_t x251;
6877     uint64_t x252;
6878     uint64_t x253;
6879     uint64_t x254;
6880     uint64_t x255;
6881     uint64_t x256;
6882     uint64_t x257;
6883     uint64_t x258;
6884     uint64_t x259;
6885     uint64_t x260;
6886     uint64_t x261;
6887     uint64_t x262;
6888     uint64_t x263;
6889     uint64_t x264;
6890     uint64_t x265;
6891     uint64_t x266;
6892     uint64_t x267;
6893     uint64_t x268;
6894     uint64_t x269;
6895     uint64_t x270;
6896     uint64_t x271;
6897     uint64_t x272;
6898     uint64_t x273;
6899     uint64_t x274;
6900     uint64_t x275;
6901     uint64_t x276;
6902     uint64_t x277;
6903     uint64_t x278;
6904     uint64_t x279;
6905     uint64_t x280;
6906     uint64_t x281;
6907     uint64_t x282;
6908     uint64_t x283;
6909     uint64_t x284;
6910     uint64_t x285;
6911     uint64_t x286;
6912     uint64_t x287;
6913     uint64_t x288;
6914     uint64_t x289;
6915     uint64_t x290;
6916     uint64_t x291;
6917     uint64_t x292;
6918     uint64_t x293;
6919     uint64_t x294;
6920     uint64_t x295;
6921     uint64_t x296;
6922     uint64_t x297;
6923     uint64_t x298;
6924     uint64_t x299;
6925     uint64_t x300;
6926     uint64_t x301;
6927     uint64_t x302;
6928     uint64_t x303;
6929     uint64_t x304;
6930     uint64_t x305;
6931     uint64_t x306;
6932     uint64_t x307;
6933     uint64_t x308;
6934     uint64_t x309;
6935     uint64_t x310;
6936     uint64_t x311;
6937     uint64_t x312;
6938     uint64_t x313;
6939     uint64_t x314;
6940     uint64_t x315;
6941     uint64_t x316;
6942     uint64_t x317;
6943     uint64_t x318;
6944     uint64_t x319;
6945     uint64_t x320;
6946     uint64_t x321;
6947     uint64_t x322;
6948     uint32_t x323;
6949     uint64_t x324;
6950     uint64_t x325;
6951     uint64_t x326;
6952     uint64_t x327;
6953     uint64_t x328;
6954     uint64_t x329;
6955     uint64_t x330;
6956     uint64_t x331;
6957     uint64_t x332;
6958     uint64_t x333;
6959     uint64_t x334;
6960     uint64_t x335;
6961     uint64_t x336;
6962     uint64_t x337;
6963     uint64_t x338;
6964     uint64_t x339;
6965     uint64_t x340;
6966     uint64_t x341;
6967     uint64_t x342;
6968     uint64_t x343;
6969     uint64_t x344;
6970     uint64_t x345;
6971     uint64_t x346;
6972     uint64_t x347;
6973     uint32_t x348;
6974     uint64_t x349;
6975     uint64_t x350;
6976     uint32_t x351;
6977     uint64_t x352;
6978     uint64_t x353;
6979     uint32_t x354;
6980     uint64_t x355;
6981     uint64_t x356;
6982     uint32_t x357;
6983     uint64_t x358;
6984     uint64_t x359;
6985     uint32_t x360;
6986     uint64_t x361;
6987     uint64_t x362;
6988     uint32_t x363;
6989     uint64_t x364;
6990     uint64_t x365;
6991     uint32_t x366;
6992     uint64_t x367;
6993     uint64_t x368;
6994     uint32_t x369;
6995     uint64_t x370;
6996     uint64_t x371;
6997     uint32_t x372;
6998     uint64_t x373;
6999     uint64_t x374;
7000     uint32_t x375;
7001     uint64_t x376;
7002     uint64_t x377;
7003     uint32_t x378;
7004     uint64_t x379;
7005     uint64_t x380;
7006     uint32_t x381;
7007     uint64_t x382;
7008     uint64_t x383;
7009     uint32_t x384;
7010     uint64_t x385;
7011     uint64_t x386;
7012     uint32_t x387;
7013     uint64_t x388;
7014     uint64_t x389;
7015     uint32_t x390;
7016     uint64_t x391;
7017     uint64_t x392;
7018     uint32_t x393;
7019     uint64_t x394;
7020     uint64_t x395;
7021     uint32_t x396;
7022     uint64_t x397;
7023     uint64_t x398;
7024     uint32_t x399;
7025     uint64_t x400;
7026     uint64_t x401;
7027     uint32_t x402;
7028     uint64_t x403;
7029     uint64_t x404;
7030     uint32_t x405;
7031     uint64_t x406;
7032     uint64_t x407;
7033     uint32_t x408;
7034     uint64_t x409;
7035     uint32_t x410;
7036     uint32_t x411;
7037     uint64_t x412;
7038     uint64_t x413;
7039     uint32_t x414;
7040     uint32_t x415;
7041     uint32_t x416;
7042     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x417;
7043     uint32_t x418;
7044     uint32_t x419;
7045     x1 = ((uint64_t)(arg1[22]) * UINT16_C(0x239));
7046     x2 = (x1 * 0x2);
7047     x3 = ((arg1[22]) * 0x2);
7048     x4 = ((uint64_t)(arg1[21]) * UINT16_C(0x239));
7049     x5 = (x4 * 0x2);
7050     x6 = ((arg1[21]) * 0x2);
7051     x7 = ((uint64_t)(arg1[20]) * UINT16_C(0x239));
7052     x8 = (x7 * 0x2);
7053     x9 = ((arg1[20]) * 0x2);
7054     x10 = ((uint64_t)(arg1[19]) * UINT16_C(0x239));
7055     x11 = (x10 * 0x2);
7056     x12 = ((arg1[19]) * 0x2);
7057     x13 = ((uint64_t)(arg1[18]) * UINT16_C(0x239));
7058     x14 = (x13 * 0x2);
7059     x15 = ((arg1[18]) * 0x2);
7060     x16 = ((uint64_t)(arg1[17]) * UINT16_C(0x239));
7061     x17 = (x16 * 0x2);
7062     x18 = ((arg1[17]) * 0x2);
7063     x19 = ((uint64_t)(arg1[16]) * UINT16_C(0x239));
7064     x20 = (x19 * 0x2);
7065     x21 = ((arg1[16]) * 0x2);
7066     x22 = ((uint64_t)(arg1[15]) * UINT16_C(0x239));
7067     x23 = (x22 * 0x2);
7068     x24 = ((arg1[15]) * 0x2);
7069     x25 = ((uint64_t)(arg1[14]) * UINT16_C(0x239));
7070     x26 = (x25 * 0x2);
7071     x27 = ((arg1[14]) * 0x2);
7072     x28 = ((uint64_t)(arg1[13]) * UINT16_C(0x239));
7073     x29 = (x28 * 0x2);
7074     x30 = ((arg1[13]) * 0x2);
7075     x31 = ((uint64_t)(arg1[12]) * UINT16_C(0x239));
7076     x32 = (x31 * 0x2);
7077     x33 = ((arg1[12]) * 0x2);
7078     x34 = ((arg1[11]) * 0x2);
7079     x35 = ((arg1[10]) * 0x2);
7080     x36 = ((arg1[9]) * 0x2);
7081     x37 = ((arg1[8]) * 0x2);
7082     x38 = ((arg1[7]) * 0x2);
7083     x39 = ((arg1[6]) * 0x2);
7084     x40 = ((arg1[5]) * 0x2);
7085     x41 = ((arg1[4]) * 0x2);
7086     x42 = ((arg1[3]) * 0x2);
7087     x43 = ((arg1[2]) * 0x2);
7088     x44 = ((arg1[1]) * 0x2);
7089     x45 = ((arg1[22]) * x1);
7090     x46 = ((arg1[21]) * x2);
7091     x47 = ((arg1[21]) * (x4 * 0x2));
7092     x48 = ((arg1[20]) * (x2 * 0x2));
7093     x49 = ((arg1[20]) * (x5 * 0x2));
7094     x50 = ((arg1[20]) * (x7 * 0x2));
7095     x51 = ((arg1[19]) * x2);
7096     x52 = ((arg1[19]) * x5);
7097     x53 = ((arg1[19]) * x8);
7098     x54 = ((arg1[19]) * x10);
7099     x55 = ((arg1[18]) * x2);
7100     x56 = ((arg1[18]) * x5);
7101     x57 = ((arg1[18]) * (x8 * 0x2));
7102     x58 = ((arg1[18]) * x11);
7103     x59 = ((arg1[18]) * x13);
7104     x60 = ((arg1[17]) * x2);
7105     x61 = ((arg1[17]) * (x5 * 0x2));
7106     x62 = ((arg1[17]) * (x8 * 0x2));
7107     x63 = ((arg1[17]) * x11);
7108     x64 = ((arg1[17]) * x14);
7109     x65 = ((arg1[17]) * (x16 * 0x2));
7110     x66 = ((arg1[16]) * (x2 * 0x2));
7111     x67 = ((arg1[16]) * (x5 * 0x2));
7112     x68 = ((arg1[16]) * (x8 * 0x2));
7113     x69 = ((arg1[16]) * x11);
7114     x70 = ((arg1[16]) * (x14 * 0x2));
7115     x71 = ((arg1[16]) * (x17 * 0x2));
7116     x72 = ((arg1[16]) * (x19 * 0x2));
7117     x73 = ((arg1[15]) * x2);
7118     x74 = ((arg1[15]) * x5);
7119     x75 = ((arg1[15]) * x8);
7120     x76 = ((arg1[15]) * x11);
7121     x77 = ((arg1[15]) * x14);
7122     x78 = ((arg1[15]) * x17);
7123     x79 = ((arg1[15]) * x20);
7124     x80 = ((arg1[15]) * x22);
7125     x81 = ((arg1[14]) * x2);
7126     x82 = ((arg1[14]) * x5);
7127     x83 = ((arg1[14]) * (x8 * 0x2));
7128     x84 = ((arg1[14]) * x11);
7129     x85 = ((arg1[14]) * x14);
7130     x86 = ((arg1[14]) * x17);
7131     x87 = ((arg1[14]) * (x20 * 0x2));
7132     x88 = ((arg1[14]) * x23);
7133     x89 = ((arg1[14]) * x25);
7134     x90 = ((arg1[13]) * x2);
7135     x91 = ((arg1[13]) * (x5 * 0x2));
7136     x92 = ((arg1[13]) * (x8 * 0x2));
7137     x93 = ((arg1[13]) * x11);
7138     x94 = ((arg1[13]) * x14);
7139     x95 = ((arg1[13]) * (x17 * 0x2));
7140     x96 = ((arg1[13]) * (x20 * 0x2));
7141     x97 = ((arg1[13]) * x23);
7142     x98 = ((arg1[13]) * x26);
7143     x99 = ((arg1[13]) * (x28 * 0x2));
7144     x100 = ((arg1[12]) * (x2 * 0x2));
7145     x101 = ((arg1[12]) * (x5 * 0x2));
7146     x102 = ((arg1[12]) * (x8 * 0x2));
7147     x103 = ((arg1[12]) * x11);
7148     x104 = ((arg1[12]) * (x14 * 0x2));
7149     x105 = ((arg1[12]) * (x17 * 0x2));
7150     x106 = ((arg1[12]) * (x20 * 0x2));
7151     x107 = ((arg1[12]) * x23);
7152     x108 = ((arg1[12]) * (x26 * 0x2));
7153     x109 = ((arg1[12]) * (x29 * 0x2));
7154     x110 = ((arg1[12]) * (x31 * 0x2));
7155     x111 = ((arg1[11]) * x2);
7156     x112 = ((arg1[11]) * x5);
7157     x113 = ((arg1[11]) * x8);
7158     x114 = ((arg1[11]) * x11);
7159     x115 = ((arg1[11]) * x14);
7160     x116 = ((arg1[11]) * x17);
7161     x117 = ((arg1[11]) * x20);
7162     x118 = ((arg1[11]) * x23);
7163     x119 = ((arg1[11]) * x26);
7164     x120 = ((arg1[11]) * x29);
7165     x121 = ((arg1[11]) * (x32 * 0x2));
7166     x122 = ((uint64_t)(arg1[11]) * (arg1[11]));
7167     x123 = ((arg1[10]) * x2);
7168     x124 = ((arg1[10]) * x5);
7169     x125 = ((arg1[10]) * (x8 * 0x2));
7170     x126 = ((arg1[10]) * x11);
7171     x127 = ((arg1[10]) * x14);
7172     x128 = ((arg1[10]) * x17);
7173     x129 = ((arg1[10]) * (x20 * 0x2));
7174     x130 = ((arg1[10]) * x23);
7175     x131 = ((arg1[10]) * x26);
7176     x132 = ((arg1[10]) * (x29 * 0x2));
7177     x133 = ((uint64_t)(arg1[10]) * (x33 * 0x2));
7178     x134 = ((uint64_t)(arg1[10]) * x34);
7179     x135 = ((uint64_t)(arg1[10]) * (arg1[10]));
7180     x136 = ((arg1[9]) * x2);
7181     x137 = ((arg1[9]) * (x5 * 0x2));
7182     x138 = ((arg1[9]) * (x8 * 0x2));
7183     x139 = ((arg1[9]) * x11);
7184     x140 = ((arg1[9]) * x14);
7185     x141 = ((arg1[9]) * (x17 * 0x2));
7186     x142 = ((arg1[9]) * (x20 * 0x2));
7187     x143 = ((arg1[9]) * x23);
7188     x144 = ((arg1[9]) * (x26 * 0x2));
7189     x145 = ((uint64_t)(arg1[9]) * (x30 * 0x2));
7190     x146 = ((uint64_t)(arg1[9]) * (x33 * 0x2));
7191     x147 = ((uint64_t)(arg1[9]) * x34);
7192     x148 = ((uint64_t)(arg1[9]) * (x35 * 0x2));
7193     x149 = ((uint64_t)(arg1[9]) * ((arg1[9]) * 0x2));
7194     x150 = ((arg1[8]) * (x2 * 0x2));
7195     x151 = ((arg1[8]) * (x5 * 0x2));
7196     x152 = ((arg1[8]) * (x8 * 0x2));
7197     x153 = ((arg1[8]) * x11);
7198     x154 = ((arg1[8]) * (x14 * 0x2));
7199     x155 = ((arg1[8]) * (x17 * 0x2));
7200     x156 = ((arg1[8]) * (x20 * 0x2));
7201     x157 = ((arg1[8]) * (x23 * 0x2));
7202     x158 = ((uint64_t)(arg1[8]) * (x27 * 0x2));
7203     x159 = ((uint64_t)(arg1[8]) * (x30 * 0x2));
7204     x160 = ((uint64_t)(arg1[8]) * (x33 * 0x2));
7205     x161 = ((uint64_t)(arg1[8]) * (x34 * 0x2));
7206     x162 = ((uint64_t)(arg1[8]) * (x35 * 0x2));
7207     x163 = ((uint64_t)(arg1[8]) * (x36 * 0x2));
7208     x164 = ((uint64_t)(arg1[8]) * ((arg1[8]) * 0x2));
7209     x165 = ((arg1[7]) * x2);
7210     x166 = ((arg1[7]) * x5);
7211     x167 = ((arg1[7]) * x8);
7212     x168 = ((arg1[7]) * x11);
7213     x169 = ((arg1[7]) * x14);
7214     x170 = ((arg1[7]) * x17);
7215     x171 = ((arg1[7]) * (x20 * 0x2));
7216     x172 = ((uint64_t)(arg1[7]) * x24);
7217     x173 = ((uint64_t)(arg1[7]) * x27);
7218     x174 = ((uint64_t)(arg1[7]) * x30);
7219     x175 = ((uint64_t)(arg1[7]) * (x33 * 0x2));
7220     x176 = ((uint64_t)(arg1[7]) * x34);
7221     x177 = ((uint64_t)(arg1[7]) * x35);
7222     x178 = ((uint64_t)(arg1[7]) * x36);
7223     x179 = ((uint64_t)(arg1[7]) * (x37 * 0x2));
7224     x180 = ((uint64_t)(arg1[7]) * (arg1[7]));
7225     x181 = ((arg1[6]) * x2);
7226     x182 = ((arg1[6]) * x5);
7227     x183 = ((arg1[6]) * (x8 * 0x2));
7228     x184 = ((arg1[6]) * x11);
7229     x185 = ((arg1[6]) * x14);
7230     x186 = ((arg1[6]) * (x17 * 0x2));
7231     x187 = ((uint64_t)(arg1[6]) * (x21 * 0x2));
7232     x188 = ((uint64_t)(arg1[6]) * x24);
7233     x189 = ((uint64_t)(arg1[6]) * x27);
7234     x190 = ((uint64_t)(arg1[6]) * (x30 * 0x2));
7235     x191 = ((uint64_t)(arg1[6]) * (x33 * 0x2));
7236     x192 = ((uint64_t)(arg1[6]) * x34);
7237     x193 = ((uint64_t)(arg1[6]) * x35);
7238     x194 = ((uint64_t)(arg1[6]) * (x36 * 0x2));
7239     x195 = ((uint64_t)(arg1[6]) * (x37 * 0x2));
7240     x196 = ((uint64_t)(arg1[6]) * x38);
7241     x197 = ((uint64_t)(arg1[6]) * (arg1[6]));
7242     x198 = ((arg1[5]) * x2);
7243     x199 = ((arg1[5]) * (x5 * 0x2));
7244     x200 = ((arg1[5]) * (x8 * 0x2));
7245     x201 = ((arg1[5]) * x11);
7246     x202 = ((arg1[5]) * (x14 * 0x2));
7247     x203 = ((uint64_t)(arg1[5]) * (x18 * 0x2));
7248     x204 = ((uint64_t)(arg1[5]) * (x21 * 0x2));
7249     x205 = ((uint64_t)(arg1[5]) * x24);
7250     x206 = ((uint64_t)(arg1[5]) * (x27 * 0x2));
7251     x207 = ((uint64_t)(arg1[5]) * (x30 * 0x2));
7252     x208 = ((uint64_t)(arg1[5]) * (x33 * 0x2));
7253     x209 = ((uint64_t)(arg1[5]) * x34);
7254     x210 = ((uint64_t)(arg1[5]) * (x35 * 0x2));
7255     x211 = ((uint64_t)(arg1[5]) * (x36 * 0x2));
7256     x212 = ((uint64_t)(arg1[5]) * (x37 * 0x2));
7257     x213 = ((uint64_t)(arg1[5]) * x38);
7258     x214 = ((uint64_t)(arg1[5]) * (x39 * 0x2));
7259     x215 = ((uint64_t)(arg1[5]) * ((arg1[5]) * 0x2));
7260     x216 = ((arg1[4]) * (x2 * 0x2));
7261     x217 = ((arg1[4]) * (x5 * 0x2));
7262     x218 = ((arg1[4]) * (x8 * 0x2));
7263     x219 = ((arg1[4]) * (x11 * 0x2));
7264     x220 = ((uint64_t)(arg1[4]) * (x15 * 0x2));
7265     x221 = ((uint64_t)(arg1[4]) * (x18 * 0x2));
7266     x222 = ((uint64_t)(arg1[4]) * (x21 * 0x2));
7267     x223 = ((uint64_t)(arg1[4]) * (x24 * 0x2));
7268     x224 = ((uint64_t)(arg1[4]) * (x27 * 0x2));
7269     x225 = ((uint64_t)(arg1[4]) * (x30 * 0x2));
7270     x226 = ((uint64_t)(arg1[4]) * (x33 * 0x2));
7271     x227 = ((uint64_t)(arg1[4]) * (x34 * 0x2));
7272     x228 = ((uint64_t)(arg1[4]) * (x35 * 0x2));
7273     x229 = ((uint64_t)(arg1[4]) * (x36 * 0x2));
7274     x230 = ((uint64_t)(arg1[4]) * (x37 * 0x2));
7275     x231 = ((uint64_t)(arg1[4]) * (x38 * 0x2));
7276     x232 = ((uint64_t)(arg1[4]) * (x39 * 0x2));
7277     x233 = ((uint64_t)(arg1[4]) * (x40 * 0x2));
7278     x234 = ((uint64_t)(arg1[4]) * ((arg1[4]) * 0x2));
7279     x235 = ((arg1[3]) * x2);
7280     x236 = ((arg1[3]) * x5);
7281     x237 = ((arg1[3]) * (x8 * 0x2));
7282     x238 = ((uint64_t)(arg1[3]) * x12);
7283     x239 = ((uint64_t)(arg1[3]) * x15);
7284     x240 = ((uint64_t)(arg1[3]) * x18);
7285     x241 = ((uint64_t)(arg1[3]) * (x21 * 0x2));
7286     x242 = ((uint64_t)(arg1[3]) * x24);
7287     x243 = ((uint64_t)(arg1[3]) * x27);
7288     x244 = ((uint64_t)(arg1[3]) * x30);
7289     x245 = ((uint64_t)(arg1[3]) * (x33 * 0x2));
7290     x246 = ((uint64_t)(arg1[3]) * x34);
7291     x247 = ((uint64_t)(arg1[3]) * x35);
7292     x248 = ((uint64_t)(arg1[3]) * x36);
7293     x249 = ((uint64_t)(arg1[3]) * (x37 * 0x2));
7294     x250 = ((uint64_t)(arg1[3]) * x38);
7295     x251 = ((uint64_t)(arg1[3]) * x39);
7296     x252 = ((uint64_t)(arg1[3]) * x40);
7297     x253 = ((uint64_t)(arg1[3]) * (x41 * 0x2));
7298     x254 = ((uint64_t)(arg1[3]) * (arg1[3]));
7299     x255 = ((arg1[2]) * x2);
7300     x256 = ((arg1[2]) * (x5 * 0x2));
7301     x257 = ((uint64_t)(arg1[2]) * (x9 * 0x2));
7302     x258 = ((uint64_t)(arg1[2]) * x12);
7303     x259 = ((uint64_t)(arg1[2]) * x15);
7304     x260 = ((uint64_t)(arg1[2]) * (x18 * 0x2));
7305     x261 = ((uint64_t)(arg1[2]) * (x21 * 0x2));
7306     x262 = ((uint64_t)(arg1[2]) * x24);
7307     x263 = ((uint64_t)(arg1[2]) * x27);
7308     x264 = ((uint64_t)(arg1[2]) * (x30 * 0x2));
7309     x265 = ((uint64_t)(arg1[2]) * (x33 * 0x2));
7310     x266 = ((uint64_t)(arg1[2]) * x34);
7311     x267 = ((uint64_t)(arg1[2]) * x35);
7312     x268 = ((uint64_t)(arg1[2]) * (x36 * 0x2));
7313     x269 = ((uint64_t)(arg1[2]) * (x37 * 0x2));
7314     x270 = ((uint64_t)(arg1[2]) * x38);
7315     x271 = ((uint64_t)(arg1[2]) * x39);
7316     x272 = ((uint64_t)(arg1[2]) * (x40 * 0x2));
7317     x273 = ((uint64_t)(arg1[2]) * (x41 * 0x2));
7318     x274 = ((uint64_t)(arg1[2]) * x42);
7319     x275 = ((uint64_t)(arg1[2]) * (arg1[2]));
7320     x276 = ((arg1[1]) * (x2 * 0x2));
7321     x277 = ((uint64_t)(arg1[1]) * (x6 * 0x2));
7322     x278 = ((uint64_t)(arg1[1]) * (x9 * 0x2));
7323     x279 = ((uint64_t)(arg1[1]) * x12);
7324     x280 = ((uint64_t)(arg1[1]) * (x15 * 0x2));
7325     x281 = ((uint64_t)(arg1[1]) * (x18 * 0x2));
7326     x282 = ((uint64_t)(arg1[1]) * (x21 * 0x2));
7327     x283 = ((uint64_t)(arg1[1]) * x24);
7328     x284 = ((uint64_t)(arg1[1]) * (x27 * 0x2));
7329     x285 = ((uint64_t)(arg1[1]) * (x30 * 0x2));
7330     x286 = ((uint64_t)(arg1[1]) * (x33 * 0x2));
7331     x287 = ((uint64_t)(arg1[1]) * x34);
7332     x288 = ((uint64_t)(arg1[1]) * (x35 * 0x2));
7333     x289 = ((uint64_t)(arg1[1]) * (x36 * 0x2));
7334     x290 = ((uint64_t)(arg1[1]) * (x37 * 0x2));
7335     x291 = ((uint64_t)(arg1[1]) * x38);
7336     x292 = ((uint64_t)(arg1[1]) * (x39 * 0x2));
7337     x293 = ((uint64_t)(arg1[1]) * (x40 * 0x2));
7338     x294 = ((uint64_t)(arg1[1]) * (x41 * 0x2));
7339     x295 = ((uint64_t)(arg1[1]) * x42);
7340     x296 = ((uint64_t)(arg1[1]) * (x43 * 0x2));
7341     x297 = ((uint64_t)(arg1[1]) * ((arg1[1]) * 0x2));
7342     x298 = ((uint64_t)(arg1[0]) * x3);
7343     x299 = ((uint64_t)(arg1[0]) * x6);
7344     x300 = ((uint64_t)(arg1[0]) * x9);
7345     x301 = ((uint64_t)(arg1[0]) * x12);
7346     x302 = ((uint64_t)(arg1[0]) * x15);
7347     x303 = ((uint64_t)(arg1[0]) * x18);
7348     x304 = ((uint64_t)(arg1[0]) * x21);
7349     x305 = ((uint64_t)(arg1[0]) * x24);
7350     x306 = ((uint64_t)(arg1[0]) * x27);
7351     x307 = ((uint64_t)(arg1[0]) * x30);
7352     x308 = ((uint64_t)(arg1[0]) * x33);
7353     x309 = ((uint64_t)(arg1[0]) * x34);
7354     x310 = ((uint64_t)(arg1[0]) * x35);
7355     x311 = ((uint64_t)(arg1[0]) * x36);
7356     x312 = ((uint64_t)(arg1[0]) * x37);
7357     x313 = ((uint64_t)(arg1[0]) * x38);
7358     x314 = ((uint64_t)(arg1[0]) * x39);
7359     x315 = ((uint64_t)(arg1[0]) * x40);
7360     x316 = ((uint64_t)(arg1[0]) * x41);
7361     x317 = ((uint64_t)(arg1[0]) * x42);
7362     x318 = ((uint64_t)(arg1[0]) * x43);
7363     x319 = ((uint64_t)(arg1[0]) * x44);
7364     x320 = ((uint64_t)(arg1[0]) * (arg1[0]));
7365     x321 = (x320 +
7366             (x276 +
7367              (x256 +
7368               (x237 +
7369                (x219 +
7370                 (x202 + (x186 + (x171 + (x157 + (x144 + (x132 + x121)))))))))));
7371     x322 = (x321 >> 23);
7372     x323 = (uint32_t)(x321 & UINT32_C(0x7fffff));
7373     x324 = (x298 +
7374             (x277 +
7375              (x257 +
7376               (x238 +
7377                (x220 +
7378                 (x203 + (x187 + (x172 + (x158 + (x145 + (x133 + x122)))))))))));
7379     x325 = (x299 +
7380             (x278 +
7381              (x258 +
7382               (x239 +
7383                (x221 +
7384                 (x204 + (x188 + (x173 + (x159 + (x146 + (x134 + x45)))))))))));
7385     x326 = (x300 +
7386             (x279 +
7387              (x259 +
7388               (x240 +
7389                (x222 +
7390                 (x205 + (x189 + (x174 + (x160 + (x147 + (x135 + x46)))))))))));
7391     x327 = (x301 +
7392             (x280 +
7393              (x260 +
7394               (x241 +
7395                (x223 +
7396                 (x206 + (x190 + (x175 + (x161 + (x148 + (x48 + x47)))))))))));
7397     x328 = (x302 +
7398             (x281 +
7399              (x261 +
7400               (x242 +
7401                (x224 +
7402                 (x207 + (x191 + (x176 + (x162 + (x149 + (x51 + x49)))))))))));
7403     x329 = (x303 +
7404             (x282 +
7405              (x262 +
7406               (x243 +
7407                (x225 +
7408                 (x208 + (x192 + (x177 + (x163 + (x55 + (x52 + x50)))))))))));
7409     x330 = (x304 +
7410             (x283 +
7411              (x263 +
7412               (x244 +
7413                (x226 +
7414                 (x209 + (x193 + (x178 + (x164 + (x60 + (x56 + x53)))))))))));
7415     x331 =
7416         (x305 +
7417          (x284 +
7418           (x264 +
7419            (x245 +
7420             (x227 + (x210 + (x194 + (x179 + (x66 + (x61 + (x57 + x54)))))))))));
7421     x332 =
7422         (x306 +
7423          (x285 +
7424           (x265 +
7425            (x246 +
7426             (x228 + (x211 + (x195 + (x180 + (x73 + (x67 + (x62 + x58)))))))))));
7427     x333 =
7428         (x307 +
7429          (x286 +
7430           (x266 +
7431            (x247 +
7432             (x229 + (x212 + (x196 + (x81 + (x74 + (x68 + (x63 + x59)))))))))));
7433     x334 =
7434         (x308 +
7435          (x287 +
7436           (x267 +
7437            (x248 +
7438             (x230 + (x213 + (x197 + (x90 + (x82 + (x75 + (x69 + x64)))))))))));
7439     x335 =
7440         (x309 +
7441          (x288 +
7442           (x268 +
7443            (x249 +
7444             (x231 + (x214 + (x100 + (x91 + (x83 + (x76 + (x70 + x65)))))))))));
7445     x336 =
7446         (x310 +
7447          (x289 +
7448           (x269 +
7449            (x250 +
7450             (x232 + (x215 + (x111 + (x101 + (x92 + (x84 + (x77 + x71)))))))))));
7451     x337 =
7452         (x311 +
7453          (x290 +
7454           (x270 +
7455            (x251 +
7456             (x233 + (x123 + (x112 + (x102 + (x93 + (x85 + (x78 + x72)))))))))));
7457     x338 = (x312 +
7458             (x291 +
7459              (x271 +
7460               (x252 +
7461                (x234 +
7462                 (x136 + (x124 + (x113 + (x103 + (x94 + (x86 + x79)))))))))));
7463     x339 = (x313 +
7464             (x292 +
7465              (x272 +
7466               (x253 +
7467                (x150 +
7468                 (x137 + (x125 + (x114 + (x104 + (x95 + (x87 + x80)))))))))));
7469     x340 = (x314 +
7470             (x293 +
7471              (x273 +
7472               (x254 +
7473                (x165 +
7474                 (x151 + (x138 + (x126 + (x115 + (x105 + (x96 + x88)))))))))));
7475     x341 = (x315 +
7476             (x294 +
7477              (x274 +
7478               (x181 +
7479                (x166 +
7480                 (x152 + (x139 + (x127 + (x116 + (x106 + (x97 + x89)))))))))));
7481     x342 = (x316 +
7482             (x295 +
7483              (x275 +
7484               (x198 +
7485                (x182 +
7486                 (x167 + (x153 + (x140 + (x128 + (x117 + (x107 + x98)))))))))));
7487     x343 = (x317 +
7488             (x296 +
7489              (x216 +
7490               (x199 +
7491                (x183 +
7492                 (x168 + (x154 + (x141 + (x129 + (x118 + (x108 + x99)))))))))));
7493     x344 = (x318 +
7494             (x297 +
7495              (x235 +
7496               (x217 +
7497                (x200 +
7498                 (x184 + (x169 + (x155 + (x142 + (x130 + (x119 + x109)))))))))));
7499     x345 = (x319 +
7500             (x255 +
7501              (x236 +
7502               (x218 +
7503                (x201 +
7504                 (x185 + (x170 + (x156 + (x143 + (x131 + (x120 + x110)))))))))));
7505     x346 = (x322 + x345);
7506     x347 = (x346 >> 22);
7507     x348 = (uint32_t)(x346 & UINT32_C(0x3fffff));
7508     x349 = (x347 + x344);
7509     x350 = (x349 >> 22);
7510     x351 = (uint32_t)(x349 & UINT32_C(0x3fffff));
7511     x352 = (x350 + x343);
7512     x353 = (x352 >> 23);
7513     x354 = (uint32_t)(x352 & UINT32_C(0x7fffff));
7514     x355 = (x353 + x342);
7515     x356 = (x355 >> 22);
7516     x357 = (uint32_t)(x355 & UINT32_C(0x3fffff));
7517     x358 = (x356 + x341);
7518     x359 = (x358 >> 22);
7519     x360 = (uint32_t)(x358 & UINT32_C(0x3fffff));
7520     x361 = (x359 + x340);
7521     x362 = (x361 >> 22);
7522     x363 = (uint32_t)(x361 & UINT32_C(0x3fffff));
7523     x364 = (x362 + x339);
7524     x365 = (x364 >> 23);
7525     x366 = (uint32_t)(x364 & UINT32_C(0x7fffff));
7526     x367 = (x365 + x338);
7527     x368 = (x367 >> 22);
7528     x369 = (uint32_t)(x367 & UINT32_C(0x3fffff));
7529     x370 = (x368 + x337);
7530     x371 = (x370 >> 22);
7531     x372 = (uint32_t)(x370 & UINT32_C(0x3fffff));
7532     x373 = (x371 + x336);
7533     x374 = (x373 >> 22);
7534     x375 = (uint32_t)(x373 & UINT32_C(0x3fffff));
7535     x376 = (x374 + x335);
7536     x377 = (x376 >> 23);
7537     x378 = (uint32_t)(x376 & UINT32_C(0x7fffff));
7538     x379 = (x377 + x334);
7539     x380 = (x379 >> 22);
7540     x381 = (uint32_t)(x379 & UINT32_C(0x3fffff));
7541     x382 = (x380 + x333);
7542     x383 = (x382 >> 22);
7543     x384 = (uint32_t)(x382 & UINT32_C(0x3fffff));
7544     x385 = (x383 + x332);
7545     x386 = (x385 >> 22);
7546     x387 = (uint32_t)(x385 & UINT32_C(0x3fffff));
7547     x388 = (x386 + x331);
7548     x389 = (x388 >> 23);
7549     x390 = (uint32_t)(x388 & UINT32_C(0x7fffff));
7550     x391 = (x389 + x330);
7551     x392 = (x391 >> 22);
7552     x393 = (uint32_t)(x391 & UINT32_C(0x3fffff));
7553     x394 = (x392 + x329);
7554     x395 = (x394 >> 22);
7555     x396 = (uint32_t)(x394 & UINT32_C(0x3fffff));
7556     x397 = (x395 + x328);
7557     x398 = (x397 >> 22);
7558     x399 = (uint32_t)(x397 & UINT32_C(0x3fffff));
7559     x400 = (x398 + x327);
7560     x401 = (x400 >> 23);
7561     x402 = (uint32_t)(x400 & UINT32_C(0x7fffff));
7562     x403 = (x401 + x326);
7563     x404 = (x403 >> 22);
7564     x405 = (uint32_t)(x403 & UINT32_C(0x3fffff));
7565     x406 = (x404 + x325);
7566     x407 = (x406 >> 22);
7567     x408 = (uint32_t)(x406 & UINT32_C(0x3fffff));
7568     x409 = (x407 + x324);
7569     x410 = (uint32_t)(x409 >> 22);
7570     x411 = (uint32_t)(x409 & UINT32_C(0x3fffff));
7571     x412 = ((uint64_t)UINT16_C(0x239) * x410);
7572     x413 = (x323 + x412);
7573     x414 = (uint32_t)(x413 >> 23);
7574     x415 = (uint32_t)(x413 & UINT32_C(0x7fffff));
7575     x416 = (x414 + x348);
7576     x417 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x416 >> 22);
7577     x418 = (x416 & UINT32_C(0x3fffff));
7578     x419 = (x417 + x351);
7579     out1[0] = x415;
7580     out1[1] = x418;
7581     out1[2] = x419;
7582     out1[3] = x354;
7583     out1[4] = x357;
7584     out1[5] = x360;
7585     out1[6] = x363;
7586     out1[7] = x366;
7587     out1[8] = x369;
7588     out1[9] = x372;
7589     out1[10] = x375;
7590     out1[11] = x378;
7591     out1[12] = x381;
7592     out1[13] = x384;
7593     out1[14] = x387;
7594     out1[15] = x390;
7595     out1[16] = x393;
7596     out1[17] = x396;
7597     out1[18] = x399;
7598     out1[19] = x402;
7599     out1[20] = x405;
7600     out1[21] = x408;
7601     out1[22] = x411;
7602 }
7603
7604 /*
7605  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_carry reduces a field element.
7606  * Postconditions:
7607  *   eval out1 mod m = eval arg1 mod m
7608  *
7609  * Input Bounds:
7610  *   arg1: [[0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332]]
7611  * Output Bounds:
7612  *   out1: [[0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666]]
7613  */
7614 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_carry(
7615     uint32_t out1[23], const uint32_t arg1[23]) {
7616     uint32_t x1;
7617     uint32_t x2;
7618     uint32_t x3;
7619     uint32_t x4;
7620     uint32_t x5;
7621     uint32_t x6;
7622     uint32_t x7;
7623     uint32_t x8;
7624     uint32_t x9;
7625     uint32_t x10;
7626     uint32_t x11;
7627     uint32_t x12;
7628     uint32_t x13;
7629     uint32_t x14;
7630     uint32_t x15;
7631     uint32_t x16;
7632     uint32_t x17;
7633     uint32_t x18;
7634     uint32_t x19;
7635     uint32_t x20;
7636     uint32_t x21;
7637     uint32_t x22;
7638     uint32_t x23;
7639     uint32_t x24;
7640     uint32_t x25;
7641     uint32_t x26;
7642     uint32_t x27;
7643     uint32_t x28;
7644     uint32_t x29;
7645     uint32_t x30;
7646     uint32_t x31;
7647     uint32_t x32;
7648     uint32_t x33;
7649     uint32_t x34;
7650     uint32_t x35;
7651     uint32_t x36;
7652     uint32_t x37;
7653     uint32_t x38;
7654     uint32_t x39;
7655     uint32_t x40;
7656     uint32_t x41;
7657     uint32_t x42;
7658     uint32_t x43;
7659     uint32_t x44;
7660     uint32_t x45;
7661     uint32_t x46;
7662     uint32_t x47;
7663     uint32_t x48;
7664     x1 = (arg1[0]);
7665     x2 = ((x1 >> 23) + (arg1[1]));
7666     x3 = ((x2 >> 22) + (arg1[2]));
7667     x4 = ((x3 >> 22) + (arg1[3]));
7668     x5 = ((x4 >> 23) + (arg1[4]));
7669     x6 = ((x5 >> 22) + (arg1[5]));
7670     x7 = ((x6 >> 22) + (arg1[6]));
7671     x8 = ((x7 >> 22) + (arg1[7]));
7672     x9 = ((x8 >> 23) + (arg1[8]));
7673     x10 = ((x9 >> 22) + (arg1[9]));
7674     x11 = ((x10 >> 22) + (arg1[10]));
7675     x12 = ((x11 >> 22) + (arg1[11]));
7676     x13 = ((x12 >> 23) + (arg1[12]));
7677     x14 = ((x13 >> 22) + (arg1[13]));
7678     x15 = ((x14 >> 22) + (arg1[14]));
7679     x16 = ((x15 >> 22) + (arg1[15]));
7680     x17 = ((x16 >> 23) + (arg1[16]));
7681     x18 = ((x17 >> 22) + (arg1[17]));
7682     x19 = ((x18 >> 22) + (arg1[18]));
7683     x20 = ((x19 >> 22) + (arg1[19]));
7684     x21 = ((x20 >> 23) + (arg1[20]));
7685     x22 = ((x21 >> 22) + (arg1[21]));
7686     x23 = ((x22 >> 22) + (arg1[22]));
7687     x24 = ((x1 & UINT32_C(0x7fffff)) + (UINT16_C(0x239) * (x23 >> 22)));
7688     x25 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x24 >> 23) +
7689            (x2 & UINT32_C(0x3fffff)));
7690     x26 = (x24 & UINT32_C(0x7fffff));
7691     x27 = (x25 & UINT32_C(0x3fffff));
7692     x28 = ((fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x25 >> 22) +
7693            (x3 & UINT32_C(0x3fffff)));
7694     x29 = (x4 & UINT32_C(0x7fffff));
7695     x30 = (x5 & UINT32_C(0x3fffff));
7696     x31 = (x6 & UINT32_C(0x3fffff));
7697     x32 = (x7 & UINT32_C(0x3fffff));
7698     x33 = (x8 & UINT32_C(0x7fffff));
7699     x34 = (x9 & UINT32_C(0x3fffff));
7700     x35 = (x10 & UINT32_C(0x3fffff));
7701     x36 = (x11 & UINT32_C(0x3fffff));
7702     x37 = (x12 & UINT32_C(0x7fffff));
7703     x38 = (x13 & UINT32_C(0x3fffff));
7704     x39 = (x14 & UINT32_C(0x3fffff));
7705     x40 = (x15 & UINT32_C(0x3fffff));
7706     x41 = (x16 & UINT32_C(0x7fffff));
7707     x42 = (x17 & UINT32_C(0x3fffff));
7708     x43 = (x18 & UINT32_C(0x3fffff));
7709     x44 = (x19 & UINT32_C(0x3fffff));
7710     x45 = (x20 & UINT32_C(0x7fffff));
7711     x46 = (x21 & UINT32_C(0x3fffff));
7712     x47 = (x22 & UINT32_C(0x3fffff));
7713     x48 = (x23 & UINT32_C(0x3fffff));
7714     out1[0] = x26;
7715     out1[1] = x27;
7716     out1[2] = x28;
7717     out1[3] = x29;
7718     out1[4] = x30;
7719     out1[5] = x31;
7720     out1[6] = x32;
7721     out1[7] = x33;
7722     out1[8] = x34;
7723     out1[9] = x35;
7724     out1[10] = x36;
7725     out1[11] = x37;
7726     out1[12] = x38;
7727     out1[13] = x39;
7728     out1[14] = x40;
7729     out1[15] = x41;
7730     out1[16] = x42;
7731     out1[17] = x43;
7732     out1[18] = x44;
7733     out1[19] = x45;
7734     out1[20] = x46;
7735     out1[21] = x47;
7736     out1[22] = x48;
7737 }
7738
7739 /*
7740  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_add adds two field elements.
7741  * Postconditions:
7742  *   eval out1 mod m = (eval arg1 + eval arg2) mod m
7743  *
7744  * Input Bounds:
7745  *   arg1: [[0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666]]
7746  *   arg2: [[0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666]]
7747  * Output Bounds:
7748  *   out1: [[0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332]]
7749  */
7750 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_add(
7751     uint32_t out1[23], const uint32_t arg1[23], const uint32_t arg2[23]) {
7752     uint32_t x1;
7753     uint32_t x2;
7754     uint32_t x3;
7755     uint32_t x4;
7756     uint32_t x5;
7757     uint32_t x6;
7758     uint32_t x7;
7759     uint32_t x8;
7760     uint32_t x9;
7761     uint32_t x10;
7762     uint32_t x11;
7763     uint32_t x12;
7764     uint32_t x13;
7765     uint32_t x14;
7766     uint32_t x15;
7767     uint32_t x16;
7768     uint32_t x17;
7769     uint32_t x18;
7770     uint32_t x19;
7771     uint32_t x20;
7772     uint32_t x21;
7773     uint32_t x22;
7774     uint32_t x23;
7775     x1 = ((arg1[0]) + (arg2[0]));
7776     x2 = ((arg1[1]) + (arg2[1]));
7777     x3 = ((arg1[2]) + (arg2[2]));
7778     x4 = ((arg1[3]) + (arg2[3]));
7779     x5 = ((arg1[4]) + (arg2[4]));
7780     x6 = ((arg1[5]) + (arg2[5]));
7781     x7 = ((arg1[6]) + (arg2[6]));
7782     x8 = ((arg1[7]) + (arg2[7]));
7783     x9 = ((arg1[8]) + (arg2[8]));
7784     x10 = ((arg1[9]) + (arg2[9]));
7785     x11 = ((arg1[10]) + (arg2[10]));
7786     x12 = ((arg1[11]) + (arg2[11]));
7787     x13 = ((arg1[12]) + (arg2[12]));
7788     x14 = ((arg1[13]) + (arg2[13]));
7789     x15 = ((arg1[14]) + (arg2[14]));
7790     x16 = ((arg1[15]) + (arg2[15]));
7791     x17 = ((arg1[16]) + (arg2[16]));
7792     x18 = ((arg1[17]) + (arg2[17]));
7793     x19 = ((arg1[18]) + (arg2[18]));
7794     x20 = ((arg1[19]) + (arg2[19]));
7795     x21 = ((arg1[20]) + (arg2[20]));
7796     x22 = ((arg1[21]) + (arg2[21]));
7797     x23 = ((arg1[22]) + (arg2[22]));
7798     out1[0] = x1;
7799     out1[1] = x2;
7800     out1[2] = x3;
7801     out1[3] = x4;
7802     out1[4] = x5;
7803     out1[5] = x6;
7804     out1[6] = x7;
7805     out1[7] = x8;
7806     out1[8] = x9;
7807     out1[9] = x10;
7808     out1[10] = x11;
7809     out1[11] = x12;
7810     out1[12] = x13;
7811     out1[13] = x14;
7812     out1[14] = x15;
7813     out1[15] = x16;
7814     out1[16] = x17;
7815     out1[17] = x18;
7816     out1[18] = x19;
7817     out1[19] = x20;
7818     out1[20] = x21;
7819     out1[21] = x22;
7820     out1[22] = x23;
7821 }
7822
7823 /*
7824  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_sub subtracts two field elements.
7825  * Postconditions:
7826  *   eval out1 mod m = (eval arg1 - eval arg2) mod m
7827  *
7828  * Input Bounds:
7829  *   arg1: [[0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666]]
7830  *   arg2: [[0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666]]
7831  * Output Bounds:
7832  *   out1: [[0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332]]
7833  */
7834 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_sub(
7835     uint32_t out1[23], const uint32_t arg1[23], const uint32_t arg2[23]) {
7836     uint32_t x1;
7837     uint32_t x2;
7838     uint32_t x3;
7839     uint32_t x4;
7840     uint32_t x5;
7841     uint32_t x6;
7842     uint32_t x7;
7843     uint32_t x8;
7844     uint32_t x9;
7845     uint32_t x10;
7846     uint32_t x11;
7847     uint32_t x12;
7848     uint32_t x13;
7849     uint32_t x14;
7850     uint32_t x15;
7851     uint32_t x16;
7852     uint32_t x17;
7853     uint32_t x18;
7854     uint32_t x19;
7855     uint32_t x20;
7856     uint32_t x21;
7857     uint32_t x22;
7858     uint32_t x23;
7859     x1 = ((UINT32_C(0xfffb8e) + (arg1[0])) - (arg2[0]));
7860     x2 = ((UINT32_C(0x7ffffe) + (arg1[1])) - (arg2[1]));
7861     x3 = ((UINT32_C(0x7ffffe) + (arg1[2])) - (arg2[2]));
7862     x4 = ((UINT32_C(0xfffffe) + (arg1[3])) - (arg2[3]));
7863     x5 = ((UINT32_C(0x7ffffe) + (arg1[4])) - (arg2[4]));
7864     x6 = ((UINT32_C(0x7ffffe) + (arg1[5])) - (arg2[5]));
7865     x7 = ((UINT32_C(0x7ffffe) + (arg1[6])) - (arg2[6]));
7866     x8 = ((UINT32_C(0xfffffe) + (arg1[7])) - (arg2[7]));
7867     x9 = ((UINT32_C(0x7ffffe) + (arg1[8])) - (arg2[8]));
7868     x10 = ((UINT32_C(0x7ffffe) + (arg1[9])) - (arg2[9]));
7869     x11 = ((UINT32_C(0x7ffffe) + (arg1[10])) - (arg2[10]));
7870     x12 = ((UINT32_C(0xfffffe) + (arg1[11])) - (arg2[11]));
7871     x13 = ((UINT32_C(0x7ffffe) + (arg1[12])) - (arg2[12]));
7872     x14 = ((UINT32_C(0x7ffffe) + (arg1[13])) - (arg2[13]));
7873     x15 = ((UINT32_C(0x7ffffe) + (arg1[14])) - (arg2[14]));
7874     x16 = ((UINT32_C(0xfffffe) + (arg1[15])) - (arg2[15]));
7875     x17 = ((UINT32_C(0x7ffffe) + (arg1[16])) - (arg2[16]));
7876     x18 = ((UINT32_C(0x7ffffe) + (arg1[17])) - (arg2[17]));
7877     x19 = ((UINT32_C(0x7ffffe) + (arg1[18])) - (arg2[18]));
7878     x20 = ((UINT32_C(0xfffffe) + (arg1[19])) - (arg2[19]));
7879     x21 = ((UINT32_C(0x7ffffe) + (arg1[20])) - (arg2[20]));
7880     x22 = ((UINT32_C(0x7ffffe) + (arg1[21])) - (arg2[21]));
7881     x23 = ((UINT32_C(0x7ffffe) + (arg1[22])) - (arg2[22]));
7882     out1[0] = x1;
7883     out1[1] = x2;
7884     out1[2] = x3;
7885     out1[3] = x4;
7886     out1[4] = x5;
7887     out1[5] = x6;
7888     out1[6] = x7;
7889     out1[7] = x8;
7890     out1[8] = x9;
7891     out1[9] = x10;
7892     out1[10] = x11;
7893     out1[11] = x12;
7894     out1[12] = x13;
7895     out1[13] = x14;
7896     out1[14] = x15;
7897     out1[15] = x16;
7898     out1[16] = x17;
7899     out1[17] = x18;
7900     out1[18] = x19;
7901     out1[19] = x20;
7902     out1[20] = x21;
7903     out1[21] = x22;
7904     out1[22] = x23;
7905 }
7906
7907 /*
7908  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_opp negates a field element.
7909  * Postconditions:
7910  *   eval out1 mod m = -eval arg1 mod m
7911  *
7912  * Input Bounds:
7913  *   arg1: [[0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666]]
7914  * Output Bounds:
7915  *   out1: [[0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0x1a66664], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332], [0x0 ~> 0xd33332]]
7916  */
7917 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(
7918     uint32_t out1[23], const uint32_t arg1[23]) {
7919     uint32_t x1;
7920     uint32_t x2;
7921     uint32_t x3;
7922     uint32_t x4;
7923     uint32_t x5;
7924     uint32_t x6;
7925     uint32_t x7;
7926     uint32_t x8;
7927     uint32_t x9;
7928     uint32_t x10;
7929     uint32_t x11;
7930     uint32_t x12;
7931     uint32_t x13;
7932     uint32_t x14;
7933     uint32_t x15;
7934     uint32_t x16;
7935     uint32_t x17;
7936     uint32_t x18;
7937     uint32_t x19;
7938     uint32_t x20;
7939     uint32_t x21;
7940     uint32_t x22;
7941     uint32_t x23;
7942     x1 = (UINT32_C(0xfffb8e) - (arg1[0]));
7943     x2 = (UINT32_C(0x7ffffe) - (arg1[1]));
7944     x3 = (UINT32_C(0x7ffffe) - (arg1[2]));
7945     x4 = (UINT32_C(0xfffffe) - (arg1[3]));
7946     x5 = (UINT32_C(0x7ffffe) - (arg1[4]));
7947     x6 = (UINT32_C(0x7ffffe) - (arg1[5]));
7948     x7 = (UINT32_C(0x7ffffe) - (arg1[6]));
7949     x8 = (UINT32_C(0xfffffe) - (arg1[7]));
7950     x9 = (UINT32_C(0x7ffffe) - (arg1[8]));
7951     x10 = (UINT32_C(0x7ffffe) - (arg1[9]));
7952     x11 = (UINT32_C(0x7ffffe) - (arg1[10]));
7953     x12 = (UINT32_C(0xfffffe) - (arg1[11]));
7954     x13 = (UINT32_C(0x7ffffe) - (arg1[12]));
7955     x14 = (UINT32_C(0x7ffffe) - (arg1[13]));
7956     x15 = (UINT32_C(0x7ffffe) - (arg1[14]));
7957     x16 = (UINT32_C(0xfffffe) - (arg1[15]));
7958     x17 = (UINT32_C(0x7ffffe) - (arg1[16]));
7959     x18 = (UINT32_C(0x7ffffe) - (arg1[17]));
7960     x19 = (UINT32_C(0x7ffffe) - (arg1[18]));
7961     x20 = (UINT32_C(0xfffffe) - (arg1[19]));
7962     x21 = (UINT32_C(0x7ffffe) - (arg1[20]));
7963     x22 = (UINT32_C(0x7ffffe) - (arg1[21]));
7964     x23 = (UINT32_C(0x7ffffe) - (arg1[22]));
7965     out1[0] = x1;
7966     out1[1] = x2;
7967     out1[2] = x3;
7968     out1[3] = x4;
7969     out1[4] = x5;
7970     out1[5] = x6;
7971     out1[6] = x7;
7972     out1[7] = x8;
7973     out1[8] = x9;
7974     out1[9] = x10;
7975     out1[10] = x11;
7976     out1[11] = x12;
7977     out1[12] = x13;
7978     out1[13] = x14;
7979     out1[14] = x15;
7980     out1[15] = x16;
7981     out1[16] = x17;
7982     out1[17] = x18;
7983     out1[18] = x19;
7984     out1[19] = x20;
7985     out1[20] = x21;
7986     out1[21] = x22;
7987     out1[22] = x23;
7988 }
7989
7990 /*
7991  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz is a multi-limb conditional select.
7992  * Postconditions:
7993  *   eval out1 = (if arg1 = 0 then eval arg2 else eval arg3)
7994  *
7995  * Input Bounds:
7996  *   arg1: [0x0 ~> 0x1]
7997  *   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]]
7998  *   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]]
7999  * Output Bounds:
8000  *   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]]
8001  */
8002 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
8003     uint32_t out1[23], fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 arg1,
8004     const uint32_t arg2[23], const uint32_t arg3[23]) {
8005     uint32_t x1;
8006     uint32_t x2;
8007     uint32_t x3;
8008     uint32_t x4;
8009     uint32_t x5;
8010     uint32_t x6;
8011     uint32_t x7;
8012     uint32_t x8;
8013     uint32_t x9;
8014     uint32_t x10;
8015     uint32_t x11;
8016     uint32_t x12;
8017     uint32_t x13;
8018     uint32_t x14;
8019     uint32_t x15;
8020     uint32_t x16;
8021     uint32_t x17;
8022     uint32_t x18;
8023     uint32_t x19;
8024     uint32_t x20;
8025     uint32_t x21;
8026     uint32_t x22;
8027     uint32_t x23;
8028     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(&x1, arg1, (arg2[0]),
8029                                                           (arg3[0]));
8030     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(&x2, arg1, (arg2[1]),
8031                                                           (arg3[1]));
8032     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(&x3, arg1, (arg2[2]),
8033                                                           (arg3[2]));
8034     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(&x4, arg1, (arg2[3]),
8035                                                           (arg3[3]));
8036     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(&x5, arg1, (arg2[4]),
8037                                                           (arg3[4]));
8038     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(&x6, arg1, (arg2[5]),
8039                                                           (arg3[5]));
8040     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(&x7, arg1, (arg2[6]),
8041                                                           (arg3[6]));
8042     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(&x8, arg1, (arg2[7]),
8043                                                           (arg3[7]));
8044     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(&x9, arg1, (arg2[8]),
8045                                                           (arg3[8]));
8046     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(&x10, arg1, (arg2[9]),
8047                                                           (arg3[9]));
8048     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
8049         &x11, arg1, (arg2[10]), (arg3[10]));
8050     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
8051         &x12, arg1, (arg2[11]), (arg3[11]));
8052     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
8053         &x13, arg1, (arg2[12]), (arg3[12]));
8054     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
8055         &x14, arg1, (arg2[13]), (arg3[13]));
8056     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
8057         &x15, arg1, (arg2[14]), (arg3[14]));
8058     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
8059         &x16, arg1, (arg2[15]), (arg3[15]));
8060     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
8061         &x17, arg1, (arg2[16]), (arg3[16]));
8062     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
8063         &x18, arg1, (arg2[17]), (arg3[17]));
8064     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
8065         &x19, arg1, (arg2[18]), (arg3[18]));
8066     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
8067         &x20, arg1, (arg2[19]), (arg3[19]));
8068     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
8069         &x21, arg1, (arg2[20]), (arg3[20]));
8070     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
8071         &x22, arg1, (arg2[21]), (arg3[21]));
8072     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(
8073         &x23, arg1, (arg2[22]), (arg3[22]));
8074     out1[0] = x1;
8075     out1[1] = x2;
8076     out1[2] = x3;
8077     out1[3] = x4;
8078     out1[4] = x5;
8079     out1[5] = x6;
8080     out1[6] = x7;
8081     out1[7] = x8;
8082     out1[8] = x9;
8083     out1[9] = x10;
8084     out1[10] = x11;
8085     out1[11] = x12;
8086     out1[12] = x13;
8087     out1[13] = x14;
8088     out1[14] = x15;
8089     out1[15] = x16;
8090     out1[16] = x17;
8091     out1[17] = x18;
8092     out1[18] = x19;
8093     out1[19] = x20;
8094     out1[20] = x21;
8095     out1[21] = x22;
8096     out1[22] = x23;
8097 }
8098
8099 /*
8100  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes serializes a field element to bytes in little-endian order.
8101  * Postconditions:
8102  *   out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..63]
8103  *
8104  * Input Bounds:
8105  *   arg1: [[0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666]]
8106  * Output Bounds:
8107  *   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]]
8108  */
8109 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(
8110     uint8_t out1[64], const uint32_t arg1[23]) {
8111     uint32_t x1;
8112     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x2;
8113     uint32_t x3;
8114     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x4;
8115     uint32_t x5;
8116     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x6;
8117     uint32_t x7;
8118     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x8;
8119     uint32_t x9;
8120     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x10;
8121     uint32_t x11;
8122     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x12;
8123     uint32_t x13;
8124     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x14;
8125     uint32_t x15;
8126     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x16;
8127     uint32_t x17;
8128     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x18;
8129     uint32_t x19;
8130     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x20;
8131     uint32_t x21;
8132     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x22;
8133     uint32_t x23;
8134     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x24;
8135     uint32_t x25;
8136     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x26;
8137     uint32_t x27;
8138     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x28;
8139     uint32_t x29;
8140     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x30;
8141     uint32_t x31;
8142     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x32;
8143     uint32_t x33;
8144     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x34;
8145     uint32_t x35;
8146     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x36;
8147     uint32_t x37;
8148     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x38;
8149     uint32_t x39;
8150     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x40;
8151     uint32_t x41;
8152     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x42;
8153     uint32_t x43;
8154     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x44;
8155     uint32_t x45;
8156     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x46;
8157     uint32_t x47;
8158     uint32_t x48;
8159     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x49;
8160     uint32_t x50;
8161     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x51;
8162     uint32_t x52;
8163     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x53;
8164     uint32_t x54;
8165     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x55;
8166     uint32_t x56;
8167     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x57;
8168     uint32_t x58;
8169     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x59;
8170     uint32_t x60;
8171     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x61;
8172     uint32_t x62;
8173     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x63;
8174     uint32_t x64;
8175     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x65;
8176     uint32_t x66;
8177     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x67;
8178     uint32_t x68;
8179     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x69;
8180     uint32_t x70;
8181     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x71;
8182     uint32_t x72;
8183     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x73;
8184     uint32_t x74;
8185     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x75;
8186     uint32_t x76;
8187     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x77;
8188     uint32_t x78;
8189     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x79;
8190     uint32_t x80;
8191     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x81;
8192     uint32_t x82;
8193     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x83;
8194     uint32_t x84;
8195     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x85;
8196     uint32_t x86;
8197     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x87;
8198     uint32_t x88;
8199     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x89;
8200     uint32_t x90;
8201     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x91;
8202     uint32_t x92;
8203     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x93;
8204     uint32_t x94;
8205     uint32_t x95;
8206     uint32_t x96;
8207     uint32_t x97;
8208     uint32_t x98;
8209     uint32_t x99;
8210     uint32_t x100;
8211     uint32_t x101;
8212     uint32_t x102;
8213     uint32_t x103;
8214     uint32_t x104;
8215     uint32_t x105;
8216     uint32_t x106;
8217     uint32_t x107;
8218     uint32_t x108;
8219     uint32_t x109;
8220     uint32_t x110;
8221     uint32_t x111;
8222     uint32_t x112;
8223     uint32_t x113;
8224     uint32_t x114;
8225     uint8_t x115;
8226     uint8_t x116;
8227     uint8_t x117;
8228     uint32_t x118;
8229     uint32_t x119;
8230     uint8_t x120;
8231     uint32_t x121;
8232     uint8_t x122;
8233     uint8_t x123;
8234     uint8_t x124;
8235     uint32_t x125;
8236     uint32_t x126;
8237     uint8_t x127;
8238     uint32_t x128;
8239     uint8_t x129;
8240     uint8_t x130;
8241     uint8_t x131;
8242     uint32_t x132;
8243     uint32_t x133;
8244     uint8_t x134;
8245     uint32_t x135;
8246     uint8_t x136;
8247     uint8_t x137;
8248     uint8_t x138;
8249     uint32_t x139;
8250     uint32_t x140;
8251     uint8_t x141;
8252     uint8_t x142;
8253     uint8_t x143;
8254     uint8_t x144;
8255     uint32_t x145;
8256     uint8_t x146;
8257     uint8_t x147;
8258     uint8_t x148;
8259     uint32_t x149;
8260     uint32_t x150;
8261     uint8_t x151;
8262     uint32_t x152;
8263     uint8_t x153;
8264     uint8_t x154;
8265     uint8_t x155;
8266     uint32_t x156;
8267     uint32_t x157;
8268     uint8_t x158;
8269     uint32_t x159;
8270     uint8_t x160;
8271     uint8_t x161;
8272     uint8_t x162;
8273     uint32_t x163;
8274     uint32_t x164;
8275     uint8_t x165;
8276     uint32_t x166;
8277     uint8_t x167;
8278     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x168;
8279     uint8_t x169;
8280     uint32_t x170;
8281     uint32_t x171;
8282     uint8_t x172;
8283     uint8_t x173;
8284     uint8_t x174;
8285     uint32_t x175;
8286     uint32_t x176;
8287     uint8_t x177;
8288     uint32_t x178;
8289     uint8_t x179;
8290     uint8_t x180;
8291     uint8_t x181;
8292     uint32_t x182;
8293     uint32_t x183;
8294     uint8_t x184;
8295     uint32_t x185;
8296     uint8_t x186;
8297     uint8_t x187;
8298     uint8_t x188;
8299     uint32_t x189;
8300     uint32_t x190;
8301     uint8_t x191;
8302     uint32_t x192;
8303     uint8_t x193;
8304     uint8_t x194;
8305     uint8_t x195;
8306     uint32_t x196;
8307     uint32_t x197;
8308     uint8_t x198;
8309     uint8_t x199;
8310     uint8_t x200;
8311     uint8_t x201;
8312     uint32_t x202;
8313     uint8_t x203;
8314     uint8_t x204;
8315     uint8_t x205;
8316     uint32_t x206;
8317     uint32_t x207;
8318     uint8_t x208;
8319     uint32_t x209;
8320     uint8_t x210;
8321     uint8_t x211;
8322     uint8_t x212;
8323     uint32_t x213;
8324     uint32_t x214;
8325     uint8_t x215;
8326     uint32_t x216;
8327     uint8_t x217;
8328     uint8_t x218;
8329     uint8_t x219;
8330     uint32_t x220;
8331     uint32_t x221;
8332     uint8_t x222;
8333     uint32_t x223;
8334     uint8_t x224;
8335     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x225;
8336     uint8_t x226;
8337     uint32_t x227;
8338     uint32_t x228;
8339     uint8_t x229;
8340     uint8_t x230;
8341     uint8_t x231;
8342     uint32_t x232;
8343     uint32_t x233;
8344     uint8_t x234;
8345     uint32_t x235;
8346     uint8_t x236;
8347     uint8_t x237;
8348     uint8_t x238;
8349     uint32_t x239;
8350     uint32_t x240;
8351     uint8_t x241;
8352     uint32_t x242;
8353     uint8_t x243;
8354     uint8_t x244;
8355     uint8_t x245;
8356     uint32_t x246;
8357     uint32_t x247;
8358     uint8_t x248;
8359     uint32_t x249;
8360     uint8_t x250;
8361     uint8_t x251;
8362     uint8_t x252;
8363     uint32_t x253;
8364     uint32_t x254;
8365     uint8_t x255;
8366     uint8_t x256;
8367     uint8_t x257;
8368     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u23(
8369         &x1, &x2, 0x0, (arg1[0]), UINT32_C(0x7ffdc7));
8370     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8371         &x3, &x4, x2, (arg1[1]), UINT32_C(0x3fffff));
8372     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8373         &x5, &x6, x4, (arg1[2]), UINT32_C(0x3fffff));
8374     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u23(
8375         &x7, &x8, x6, (arg1[3]), UINT32_C(0x7fffff));
8376     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8377         &x9, &x10, x8, (arg1[4]), UINT32_C(0x3fffff));
8378     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8379         &x11, &x12, x10, (arg1[5]), UINT32_C(0x3fffff));
8380     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8381         &x13, &x14, x12, (arg1[6]), UINT32_C(0x3fffff));
8382     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u23(
8383         &x15, &x16, x14, (arg1[7]), UINT32_C(0x7fffff));
8384     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8385         &x17, &x18, x16, (arg1[8]), UINT32_C(0x3fffff));
8386     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8387         &x19, &x20, x18, (arg1[9]), UINT32_C(0x3fffff));
8388     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8389         &x21, &x22, x20, (arg1[10]), UINT32_C(0x3fffff));
8390     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u23(
8391         &x23, &x24, x22, (arg1[11]), UINT32_C(0x7fffff));
8392     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8393         &x25, &x26, x24, (arg1[12]), UINT32_C(0x3fffff));
8394     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8395         &x27, &x28, x26, (arg1[13]), UINT32_C(0x3fffff));
8396     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8397         &x29, &x30, x28, (arg1[14]), UINT32_C(0x3fffff));
8398     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u23(
8399         &x31, &x32, x30, (arg1[15]), UINT32_C(0x7fffff));
8400     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8401         &x33, &x34, x32, (arg1[16]), UINT32_C(0x3fffff));
8402     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8403         &x35, &x36, x34, (arg1[17]), UINT32_C(0x3fffff));
8404     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8405         &x37, &x38, x36, (arg1[18]), UINT32_C(0x3fffff));
8406     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u23(
8407         &x39, &x40, x38, (arg1[19]), UINT32_C(0x7fffff));
8408     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8409         &x41, &x42, x40, (arg1[20]), UINT32_C(0x3fffff));
8410     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8411         &x43, &x44, x42, (arg1[21]), UINT32_C(0x3fffff));
8412     fiat_id_tc26_gost_3410_2012_512_paramSetC_subborrowx_u22(
8413         &x45, &x46, x44, (arg1[22]), UINT32_C(0x3fffff));
8414     fiat_id_tc26_gost_3410_2012_512_paramSetC_cmovznz_u32(&x47, x46, 0x0,
8415                                                           UINT32_C(0xffffffff));
8416     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u23(
8417         &x48, &x49, 0x0, x1, (x47 & UINT32_C(0x7ffdc7)));
8418     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8419         &x50, &x51, x49, x3, (x47 & UINT32_C(0x3fffff)));
8420     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8421         &x52, &x53, x51, x5, (x47 & UINT32_C(0x3fffff)));
8422     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u23(
8423         &x54, &x55, x53, x7, (x47 & UINT32_C(0x7fffff)));
8424     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8425         &x56, &x57, x55, x9, (x47 & UINT32_C(0x3fffff)));
8426     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8427         &x58, &x59, x57, x11, (x47 & UINT32_C(0x3fffff)));
8428     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8429         &x60, &x61, x59, x13, (x47 & UINT32_C(0x3fffff)));
8430     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u23(
8431         &x62, &x63, x61, x15, (x47 & UINT32_C(0x7fffff)));
8432     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8433         &x64, &x65, x63, x17, (x47 & UINT32_C(0x3fffff)));
8434     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8435         &x66, &x67, x65, x19, (x47 & UINT32_C(0x3fffff)));
8436     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8437         &x68, &x69, x67, x21, (x47 & UINT32_C(0x3fffff)));
8438     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u23(
8439         &x70, &x71, x69, x23, (x47 & UINT32_C(0x7fffff)));
8440     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8441         &x72, &x73, x71, x25, (x47 & UINT32_C(0x3fffff)));
8442     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8443         &x74, &x75, x73, x27, (x47 & UINT32_C(0x3fffff)));
8444     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8445         &x76, &x77, x75, x29, (x47 & UINT32_C(0x3fffff)));
8446     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u23(
8447         &x78, &x79, x77, x31, (x47 & UINT32_C(0x7fffff)));
8448     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8449         &x80, &x81, x79, x33, (x47 & UINT32_C(0x3fffff)));
8450     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8451         &x82, &x83, x81, x35, (x47 & UINT32_C(0x3fffff)));
8452     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8453         &x84, &x85, x83, x37, (x47 & UINT32_C(0x3fffff)));
8454     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u23(
8455         &x86, &x87, x85, x39, (x47 & UINT32_C(0x7fffff)));
8456     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8457         &x88, &x89, x87, x41, (x47 & UINT32_C(0x3fffff)));
8458     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8459         &x90, &x91, x89, x43, (x47 & UINT32_C(0x3fffff)));
8460     fiat_id_tc26_gost_3410_2012_512_paramSetC_addcarryx_u22(
8461         &x92, &x93, x91, x45, (x47 & UINT32_C(0x3fffff)));
8462     x94 = (x92 << 2);
8463     x95 = (x90 << 4);
8464     x96 = (x88 << 6);
8465     x97 = (x86 << 7);
8466     x98 = (x84 * (uint32_t)0x2);
8467     x99 = (x82 << 3);
8468     x100 = (x80 << 5);
8469     x101 = (x78 << 6);
8470     x102 = (x74 << 2);
8471     x103 = (x72 << 4);
8472     x104 = (x70 << 5);
8473     x105 = (x68 << 7);
8474     x106 = (x66 * (uint32_t)0x2);
8475     x107 = (x64 << 3);
8476     x108 = (x62 << 4);
8477     x109 = (x60 << 6);
8478     x110 = (x56 << 2);
8479     x111 = (x54 << 3);
8480     x112 = (x52 << 5);
8481     x113 = (x50 << 7);
8482     x114 = (x48 >> 8);
8483     x115 = (uint8_t)(x48 & UINT8_C(0xff));
8484     x116 = (uint8_t)(x114 >> 8);
8485     x117 = (uint8_t)(x114 & UINT8_C(0xff));
8486     x118 = (x116 + x113);
8487     x119 = (x118 >> 8);
8488     x120 = (uint8_t)(x118 & UINT8_C(0xff));
8489     x121 = (x119 >> 8);
8490     x122 = (uint8_t)(x119 & UINT8_C(0xff));
8491     x123 = (uint8_t)(x121 >> 8);
8492     x124 = (uint8_t)(x121 & UINT8_C(0xff));
8493     x125 = (x123 + x112);
8494     x126 = (x125 >> 8);
8495     x127 = (uint8_t)(x125 & UINT8_C(0xff));
8496     x128 = (x126 >> 8);
8497     x129 = (uint8_t)(x126 & UINT8_C(0xff));
8498     x130 = (uint8_t)(x128 >> 8);
8499     x131 = (uint8_t)(x128 & UINT8_C(0xff));
8500     x132 = (x130 + x111);
8501     x133 = (x132 >> 8);
8502     x134 = (uint8_t)(x132 & UINT8_C(0xff));
8503     x135 = (x133 >> 8);
8504     x136 = (uint8_t)(x133 & UINT8_C(0xff));
8505     x137 = (uint8_t)(x135 >> 8);
8506     x138 = (uint8_t)(x135 & UINT8_C(0xff));
8507     x139 = (x137 + x110);
8508     x140 = (x139 >> 8);
8509     x141 = (uint8_t)(x139 & UINT8_C(0xff));
8510     x142 = (uint8_t)(x140 >> 8);
8511     x143 = (uint8_t)(x140 & UINT8_C(0xff));
8512     x144 = (uint8_t)(x142 & UINT8_C(0xff));
8513     x145 = (x58 >> 8);
8514     x146 = (uint8_t)(x58 & UINT8_C(0xff));
8515     x147 = (uint8_t)(x145 >> 8);
8516     x148 = (uint8_t)(x145 & UINT8_C(0xff));
8517     x149 = (x147 + x109);
8518     x150 = (x149 >> 8);
8519     x151 = (uint8_t)(x149 & UINT8_C(0xff));
8520     x152 = (x150 >> 8);
8521     x153 = (uint8_t)(x150 & UINT8_C(0xff));
8522     x154 = (uint8_t)(x152 >> 8);
8523     x155 = (uint8_t)(x152 & UINT8_C(0xff));
8524     x156 = (x154 + x108);
8525     x157 = (x156 >> 8);
8526     x158 = (uint8_t)(x156 & UINT8_C(0xff));
8527     x159 = (x157 >> 8);
8528     x160 = (uint8_t)(x157 & UINT8_C(0xff));
8529     x161 = (uint8_t)(x159 >> 8);
8530     x162 = (uint8_t)(x159 & UINT8_C(0xff));
8531     x163 = (x161 + x107);
8532     x164 = (x163 >> 8);
8533     x165 = (uint8_t)(x163 & UINT8_C(0xff));
8534     x166 = (x164 >> 8);
8535     x167 = (uint8_t)(x164 & UINT8_C(0xff));
8536     x168 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x166 >> 8);
8537     x169 = (uint8_t)(x166 & UINT8_C(0xff));
8538     x170 = (x168 + x106);
8539     x171 = (x170 >> 8);
8540     x172 = (uint8_t)(x170 & UINT8_C(0xff));
8541     x173 = (uint8_t)(x171 >> 8);
8542     x174 = (uint8_t)(x171 & UINT8_C(0xff));
8543     x175 = (x173 + x105);
8544     x176 = (x175 >> 8);
8545     x177 = (uint8_t)(x175 & UINT8_C(0xff));
8546     x178 = (x176 >> 8);
8547     x179 = (uint8_t)(x176 & UINT8_C(0xff));
8548     x180 = (uint8_t)(x178 >> 8);
8549     x181 = (uint8_t)(x178 & UINT8_C(0xff));
8550     x182 = (x180 + x104);
8551     x183 = (x182 >> 8);
8552     x184 = (uint8_t)(x182 & UINT8_C(0xff));
8553     x185 = (x183 >> 8);
8554     x186 = (uint8_t)(x183 & UINT8_C(0xff));
8555     x187 = (uint8_t)(x185 >> 8);
8556     x188 = (uint8_t)(x185 & UINT8_C(0xff));
8557     x189 = (x187 + x103);
8558     x190 = (x189 >> 8);
8559     x191 = (uint8_t)(x189 & UINT8_C(0xff));
8560     x192 = (x190 >> 8);
8561     x193 = (uint8_t)(x190 & UINT8_C(0xff));
8562     x194 = (uint8_t)(x192 >> 8);
8563     x195 = (uint8_t)(x192 & UINT8_C(0xff));
8564     x196 = (x194 + x102);
8565     x197 = (x196 >> 8);
8566     x198 = (uint8_t)(x196 & UINT8_C(0xff));
8567     x199 = (uint8_t)(x197 >> 8);
8568     x200 = (uint8_t)(x197 & UINT8_C(0xff));
8569     x201 = (uint8_t)(x199 & UINT8_C(0xff));
8570     x202 = (x76 >> 8);
8571     x203 = (uint8_t)(x76 & UINT8_C(0xff));
8572     x204 = (uint8_t)(x202 >> 8);
8573     x205 = (uint8_t)(x202 & UINT8_C(0xff));
8574     x206 = (x204 + x101);
8575     x207 = (x206 >> 8);
8576     x208 = (uint8_t)(x206 & UINT8_C(0xff));
8577     x209 = (x207 >> 8);
8578     x210 = (uint8_t)(x207 & UINT8_C(0xff));
8579     x211 = (uint8_t)(x209 >> 8);
8580     x212 = (uint8_t)(x209 & UINT8_C(0xff));
8581     x213 = (x211 + x100);
8582     x214 = (x213 >> 8);
8583     x215 = (uint8_t)(x213 & UINT8_C(0xff));
8584     x216 = (x214 >> 8);
8585     x217 = (uint8_t)(x214 & UINT8_C(0xff));
8586     x218 = (uint8_t)(x216 >> 8);
8587     x219 = (uint8_t)(x216 & UINT8_C(0xff));
8588     x220 = (x218 + x99);
8589     x221 = (x220 >> 8);
8590     x222 = (uint8_t)(x220 & UINT8_C(0xff));
8591     x223 = (x221 >> 8);
8592     x224 = (uint8_t)(x221 & UINT8_C(0xff));
8593     x225 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x223 >> 8);
8594     x226 = (uint8_t)(x223 & UINT8_C(0xff));
8595     x227 = (x225 + x98);
8596     x228 = (x227 >> 8);
8597     x229 = (uint8_t)(x227 & UINT8_C(0xff));
8598     x230 = (uint8_t)(x228 >> 8);
8599     x231 = (uint8_t)(x228 & UINT8_C(0xff));
8600     x232 = (x230 + x97);
8601     x233 = (x232 >> 8);
8602     x234 = (uint8_t)(x232 & UINT8_C(0xff));
8603     x235 = (x233 >> 8);
8604     x236 = (uint8_t)(x233 & UINT8_C(0xff));
8605     x237 = (uint8_t)(x235 >> 8);
8606     x238 = (uint8_t)(x235 & UINT8_C(0xff));
8607     x239 = (x237 + x96);
8608     x240 = (x239 >> 8);
8609     x241 = (uint8_t)(x239 & UINT8_C(0xff));
8610     x242 = (x240 >> 8);
8611     x243 = (uint8_t)(x240 & UINT8_C(0xff));
8612     x244 = (uint8_t)(x242 >> 8);
8613     x245 = (uint8_t)(x242 & UINT8_C(0xff));
8614     x246 = (x244 + x95);
8615     x247 = (x246 >> 8);
8616     x248 = (uint8_t)(x246 & UINT8_C(0xff));
8617     x249 = (x247 >> 8);
8618     x250 = (uint8_t)(x247 & UINT8_C(0xff));
8619     x251 = (uint8_t)(x249 >> 8);
8620     x252 = (uint8_t)(x249 & UINT8_C(0xff));
8621     x253 = (x251 + x94);
8622     x254 = (x253 >> 8);
8623     x255 = (uint8_t)(x253 & UINT8_C(0xff));
8624     x256 = (uint8_t)(x254 >> 8);
8625     x257 = (uint8_t)(x254 & UINT8_C(0xff));
8626     out1[0] = x115;
8627     out1[1] = x117;
8628     out1[2] = x120;
8629     out1[3] = x122;
8630     out1[4] = x124;
8631     out1[5] = x127;
8632     out1[6] = x129;
8633     out1[7] = x131;
8634     out1[8] = x134;
8635     out1[9] = x136;
8636     out1[10] = x138;
8637     out1[11] = x141;
8638     out1[12] = x143;
8639     out1[13] = x144;
8640     out1[14] = x146;
8641     out1[15] = x148;
8642     out1[16] = x151;
8643     out1[17] = x153;
8644     out1[18] = x155;
8645     out1[19] = x158;
8646     out1[20] = x160;
8647     out1[21] = x162;
8648     out1[22] = x165;
8649     out1[23] = x167;
8650     out1[24] = x169;
8651     out1[25] = x172;
8652     out1[26] = x174;
8653     out1[27] = x177;
8654     out1[28] = x179;
8655     out1[29] = x181;
8656     out1[30] = x184;
8657     out1[31] = x186;
8658     out1[32] = x188;
8659     out1[33] = x191;
8660     out1[34] = x193;
8661     out1[35] = x195;
8662     out1[36] = x198;
8663     out1[37] = x200;
8664     out1[38] = x201;
8665     out1[39] = x203;
8666     out1[40] = x205;
8667     out1[41] = x208;
8668     out1[42] = x210;
8669     out1[43] = x212;
8670     out1[44] = x215;
8671     out1[45] = x217;
8672     out1[46] = x219;
8673     out1[47] = x222;
8674     out1[48] = x224;
8675     out1[49] = x226;
8676     out1[50] = x229;
8677     out1[51] = x231;
8678     out1[52] = x234;
8679     out1[53] = x236;
8680     out1[54] = x238;
8681     out1[55] = x241;
8682     out1[56] = x243;
8683     out1[57] = x245;
8684     out1[58] = x248;
8685     out1[59] = x250;
8686     out1[60] = x252;
8687     out1[61] = x255;
8688     out1[62] = x257;
8689     out1[63] = x256;
8690 }
8691
8692 /*
8693  * The function fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes deserializes a field element from bytes in little-endian order.
8694  * Postconditions:
8695  *   eval out1 mod m = bytes_eval arg1 mod m
8696  *
8697  * Input Bounds:
8698  *   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]]
8699  * Output Bounds:
8700  *   out1: [[0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x8ccccc], [0x0 ~> 0x466666], [0x0 ~> 0x466666], [0x0 ~> 0x466666]]
8701  */
8702 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes(
8703     uint32_t out1[23], const uint8_t arg1[64]) {
8704     uint32_t x1;
8705     uint32_t x2;
8706     uint32_t x3;
8707     uint32_t x4;
8708     uint32_t x5;
8709     uint32_t x6;
8710     uint32_t x7;
8711     uint32_t x8;
8712     uint32_t x9;
8713     uint32_t x10;
8714     uint32_t x11;
8715     uint32_t x12;
8716     uint32_t x13;
8717     uint32_t x14;
8718     uint32_t x15;
8719     uint32_t x16;
8720     uint32_t x17;
8721     uint32_t x18;
8722     uint32_t x19;
8723     uint32_t x20;
8724     uint32_t x21;
8725     uint32_t x22;
8726     uint32_t x23;
8727     uint32_t x24;
8728     uint8_t x25;
8729     uint32_t x26;
8730     uint32_t x27;
8731     uint32_t x28;
8732     uint32_t x29;
8733     uint32_t x30;
8734     uint32_t x31;
8735     uint32_t x32;
8736     uint32_t x33;
8737     uint32_t x34;
8738     uint32_t x35;
8739     uint32_t x36;
8740     uint32_t x37;
8741     uint32_t x38;
8742     uint32_t x39;
8743     uint32_t x40;
8744     uint32_t x41;
8745     uint32_t x42;
8746     uint32_t x43;
8747     uint32_t x44;
8748     uint32_t x45;
8749     uint32_t x46;
8750     uint32_t x47;
8751     uint32_t x48;
8752     uint32_t x49;
8753     uint8_t x50;
8754     uint32_t x51;
8755     uint32_t x52;
8756     uint32_t x53;
8757     uint32_t x54;
8758     uint32_t x55;
8759     uint32_t x56;
8760     uint32_t x57;
8761     uint32_t x58;
8762     uint32_t x59;
8763     uint32_t x60;
8764     uint32_t x61;
8765     uint32_t x62;
8766     uint32_t x63;
8767     uint8_t x64;
8768     uint32_t x65;
8769     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x66;
8770     uint32_t x67;
8771     uint32_t x68;
8772     uint32_t x69;
8773     uint32_t x70;
8774     uint32_t x71;
8775     uint32_t x72;
8776     uint32_t x73;
8777     uint32_t x74;
8778     uint32_t x75;
8779     uint32_t x76;
8780     uint32_t x77;
8781     uint32_t x78;
8782     uint32_t x79;
8783     uint32_t x80;
8784     uint32_t x81;
8785     uint32_t x82;
8786     uint32_t x83;
8787     uint32_t x84;
8788     uint32_t x85;
8789     uint32_t x86;
8790     uint32_t x87;
8791     uint32_t x88;
8792     uint32_t x89;
8793     uint32_t x90;
8794     uint8_t x91;
8795     uint32_t x92;
8796     uint32_t x93;
8797     uint8_t x94;
8798     uint32_t x95;
8799     uint32_t x96;
8800     uint8_t x97;
8801     uint32_t x98;
8802     uint32_t x99;
8803     uint32_t x100;
8804     uint8_t x101;
8805     uint32_t x102;
8806     uint32_t x103;
8807     uint8_t x104;
8808     uint32_t x105;
8809     uint32_t x106;
8810     uint8_t x107;
8811     uint32_t x108;
8812     uint32_t x109;
8813     uint8_t x110;
8814     uint32_t x111;
8815     uint32_t x112;
8816     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x113;
8817     uint32_t x114;
8818     uint32_t x115;
8819     uint8_t x116;
8820     uint32_t x117;
8821     uint32_t x118;
8822     uint8_t x119;
8823     uint32_t x120;
8824     uint32_t x121;
8825     uint8_t x122;
8826     uint32_t x123;
8827     uint32_t x124;
8828     uint32_t x125;
8829     uint8_t x126;
8830     uint32_t x127;
8831     uint32_t x128;
8832     uint8_t x129;
8833     uint32_t x130;
8834     uint32_t x131;
8835     uint8_t x132;
8836     uint32_t x133;
8837     uint32_t x134;
8838     uint8_t x135;
8839     uint32_t x136;
8840     uint32_t x137;
8841     fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1 x138;
8842     uint32_t x139;
8843     uint32_t x140;
8844     uint8_t x141;
8845     uint32_t x142;
8846     uint32_t x143;
8847     uint8_t x144;
8848     uint32_t x145;
8849     uint32_t x146;
8850     uint8_t x147;
8851     uint32_t x148;
8852     uint32_t x149;
8853     x1 = ((uint32_t)(arg1[63]) << 14);
8854     x2 = ((uint32_t)(arg1[62]) << 6);
8855     x3 = ((uint32_t)(arg1[61]) << 20);
8856     x4 = ((uint32_t)(arg1[60]) << 12);
8857     x5 = ((uint32_t)(arg1[59]) << 4);
8858     x6 = ((uint32_t)(arg1[58]) << 18);
8859     x7 = ((uint32_t)(arg1[57]) << 10);
8860     x8 = ((uint32_t)(arg1[56]) << 2);
8861     x9 = ((uint32_t)(arg1[55]) << 17);
8862     x10 = ((uint32_t)(arg1[54]) << 9);
8863     x11 = ((uint32_t)(arg1[53]) * 0x2);
8864     x12 = ((uint32_t)(arg1[52]) << 15);
8865     x13 = ((uint32_t)(arg1[51]) << 7);
8866     x14 = ((uint32_t)(arg1[50]) << 21);
8867     x15 = ((uint32_t)(arg1[49]) << 13);
8868     x16 = ((uint32_t)(arg1[48]) << 5);
8869     x17 = ((uint32_t)(arg1[47]) << 19);
8870     x18 = ((uint32_t)(arg1[46]) << 11);
8871     x19 = ((uint32_t)(arg1[45]) << 3);
8872     x20 = ((uint32_t)(arg1[44]) << 18);
8873     x21 = ((uint32_t)(arg1[43]) << 10);
8874     x22 = ((uint32_t)(arg1[42]) << 2);
8875     x23 = ((uint32_t)(arg1[41]) << 16);
8876     x24 = ((uint32_t)(arg1[40]) << 8);
8877     x25 = (arg1[39]);
8878     x26 = ((uint32_t)(arg1[38]) << 14);
8879     x27 = ((uint32_t)(arg1[37]) << 6);
8880     x28 = ((uint32_t)(arg1[36]) << 20);
8881     x29 = ((uint32_t)(arg1[35]) << 12);
8882     x30 = ((uint32_t)(arg1[34]) << 4);
8883     x31 = ((uint32_t)(arg1[33]) << 19);
8884     x32 = ((uint32_t)(arg1[32]) << 11);
8885     x33 = ((uint32_t)(arg1[31]) << 3);
8886     x34 = ((uint32_t)(arg1[30]) << 17);
8887     x35 = ((uint32_t)(arg1[29]) << 9);
8888     x36 = ((uint32_t)(arg1[28]) * 0x2);
8889     x37 = ((uint32_t)(arg1[27]) << 15);
8890     x38 = ((uint32_t)(arg1[26]) << 7);
8891     x39 = ((uint32_t)(arg1[25]) << 21);
8892     x40 = ((uint32_t)(arg1[24]) << 13);
8893     x41 = ((uint32_t)(arg1[23]) << 5);
8894     x42 = ((uint32_t)(arg1[22]) << 20);
8895     x43 = ((uint32_t)(arg1[21]) << 12);
8896     x44 = ((uint32_t)(arg1[20]) << 4);
8897     x45 = ((uint32_t)(arg1[19]) << 18);
8898     x46 = ((uint32_t)(arg1[18]) << 10);
8899     x47 = ((uint32_t)(arg1[17]) << 2);
8900     x48 = ((uint32_t)(arg1[16]) << 16);
8901     x49 = ((uint32_t)(arg1[15]) << 8);
8902     x50 = (arg1[14]);
8903     x51 = ((uint32_t)(arg1[13]) << 14);
8904     x52 = ((uint32_t)(arg1[12]) << 6);
8905     x53 = ((uint32_t)(arg1[11]) << 21);
8906     x54 = ((uint32_t)(arg1[10]) << 13);
8907     x55 = ((uint32_t)(arg1[9]) << 5);
8908     x56 = ((uint32_t)(arg1[8]) << 19);
8909     x57 = ((uint32_t)(arg1[7]) << 11);
8910     x58 = ((uint32_t)(arg1[6]) << 3);
8911     x59 = ((uint32_t)(arg1[5]) << 17);
8912     x60 = ((uint32_t)(arg1[4]) << 9);
8913     x61 = ((uint32_t)(arg1[3]) * 0x2);
8914     x62 = ((uint32_t)(arg1[2]) << 16);
8915     x63 = ((uint32_t)(arg1[1]) << 8);
8916     x64 = (arg1[0]);
8917     x65 = (x64 + (x63 + x62));
8918     x66 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x65 >> 23);
8919     x67 = (x65 & UINT32_C(0x7fffff));
8920     x68 = (x2 + x1);
8921     x69 = (x5 + (x4 + x3));
8922     x70 = (x8 + (x7 + x6));
8923     x71 = (x11 + (x10 + x9));
8924     x72 = (x13 + x12);
8925     x73 = (x16 + (x15 + x14));
8926     x74 = (x19 + (x18 + x17));
8927     x75 = (x22 + (x21 + x20));
8928     x76 = (x25 + (x24 + x23));
8929     x77 = (x27 + x26);
8930     x78 = (x30 + (x29 + x28));
8931     x79 = (x33 + (x32 + x31));
8932     x80 = (x36 + (x35 + x34));
8933     x81 = (x38 + x37);
8934     x82 = (x41 + (x40 + x39));
8935     x83 = (x44 + (x43 + x42));
8936     x84 = (x47 + (x46 + x45));
8937     x85 = (x50 + (x49 + x48));
8938     x86 = (x52 + x51);
8939     x87 = (x55 + (x54 + x53));
8940     x88 = (x58 + (x57 + x56));
8941     x89 = (x61 + (x60 + x59));
8942     x90 = (x66 + x89);
8943     x91 = (uint8_t)(x90 >> 22);
8944     x92 = (x90 & UINT32_C(0x3fffff));
8945     x93 = (x91 + x88);
8946     x94 = (uint8_t)(x93 >> 22);
8947     x95 = (x93 & UINT32_C(0x3fffff));
8948     x96 = (x94 + x87);
8949     x97 = (uint8_t)(x96 >> 23);
8950     x98 = (x96 & UINT32_C(0x7fffff));
8951     x99 = (x97 + x86);
8952     x100 = (x99 & UINT32_C(0x3fffff));
8953     x101 = (uint8_t)(x85 >> 22);
8954     x102 = (x85 & UINT32_C(0x3fffff));
8955     x103 = (x101 + x84);
8956     x104 = (uint8_t)(x103 >> 22);
8957     x105 = (x103 & UINT32_C(0x3fffff));
8958     x106 = (x104 + x83);
8959     x107 = (uint8_t)(x106 >> 23);
8960     x108 = (x106 & UINT32_C(0x7fffff));
8961     x109 = (x107 + x82);
8962     x110 = (uint8_t)(x109 >> 22);
8963     x111 = (x109 & UINT32_C(0x3fffff));
8964     x112 = (x110 + x81);
8965     x113 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x112 >> 22);
8966     x114 = (x112 & UINT32_C(0x3fffff));
8967     x115 = (x113 + x80);
8968     x116 = (uint8_t)(x115 >> 22);
8969     x117 = (x115 & UINT32_C(0x3fffff));
8970     x118 = (x116 + x79);
8971     x119 = (uint8_t)(x118 >> 23);
8972     x120 = (x118 & UINT32_C(0x7fffff));
8973     x121 = (x119 + x78);
8974     x122 = (uint8_t)(x121 >> 22);
8975     x123 = (x121 & UINT32_C(0x3fffff));
8976     x124 = (x122 + x77);
8977     x125 = (x124 & UINT32_C(0x3fffff));
8978     x126 = (uint8_t)(x76 >> 22);
8979     x127 = (x76 & UINT32_C(0x3fffff));
8980     x128 = (x126 + x75);
8981     x129 = (uint8_t)(x128 >> 23);
8982     x130 = (x128 & UINT32_C(0x7fffff));
8983     x131 = (x129 + x74);
8984     x132 = (uint8_t)(x131 >> 22);
8985     x133 = (x131 & UINT32_C(0x3fffff));
8986     x134 = (x132 + x73);
8987     x135 = (uint8_t)(x134 >> 22);
8988     x136 = (x134 & UINT32_C(0x3fffff));
8989     x137 = (x135 + x72);
8990     x138 = (fiat_id_tc26_gost_3410_2012_512_paramSetC_uint1)(x137 >> 22);
8991     x139 = (x137 & UINT32_C(0x3fffff));
8992     x140 = (x138 + x71);
8993     x141 = (uint8_t)(x140 >> 23);
8994     x142 = (x140 & UINT32_C(0x7fffff));
8995     x143 = (x141 + x70);
8996     x144 = (uint8_t)(x143 >> 22);
8997     x145 = (x143 & UINT32_C(0x3fffff));
8998     x146 = (x144 + x69);
8999     x147 = (uint8_t)(x146 >> 22);
9000     x148 = (x146 & UINT32_C(0x3fffff));
9001     x149 = (x147 + x68);
9002     out1[0] = x67;
9003     out1[1] = x92;
9004     out1[2] = x95;
9005     out1[3] = x98;
9006     out1[4] = x100;
9007     out1[5] = x102;
9008     out1[6] = x105;
9009     out1[7] = x108;
9010     out1[8] = x111;
9011     out1[9] = x114;
9012     out1[10] = x117;
9013     out1[11] = x120;
9014     out1[12] = x123;
9015     out1[13] = x125;
9016     out1[14] = x127;
9017     out1[15] = x130;
9018     out1[16] = x133;
9019     out1[17] = x136;
9020     out1[18] = x139;
9021     out1[19] = x142;
9022     out1[20] = x145;
9023     out1[21] = x148;
9024     out1[22] = x149;
9025 }
9026
9027 /* END verbatim fiat code */
9028
9029 /*-
9030  * Finite field inversion via FLT.
9031  * NB: this is not a real Fiat function, just named that way for consistency.
9032  * Autogenerated: ecp/id_tc26_gost_3410_2012_512_paramSetC/fe_inv.op3
9033  * custom repunit addition chain
9034  */
9035 static void fiat_id_tc26_gost_3410_2012_512_paramSetC_inv(fe_t output,
9036                                                           const fe_t t1) {
9037     int i;
9038     /* temporary variables */
9039     fe_t acc, t102, t12, t198, t2, t200, t24, t3, t400, t48, t502, t6, t96;
9040
9041     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t1);
9042     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t2, acc, t1);
9043     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t2);
9044     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t3, acc, t1);
9045     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t3);
9046     for (i = 0; i < 2; i++)
9047         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
9048     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t6, acc, t3);
9049     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t6);
9050     for (i = 0; i < 5; i++)
9051         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
9052     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t12, acc, t6);
9053     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t12);
9054     for (i = 0; i < 11; i++)
9055         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
9056     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t24, acc, t12);
9057     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t24);
9058     for (i = 0; i < 23; i++)
9059         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
9060     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t48, acc, t24);
9061     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t48);
9062     for (i = 0; i < 47; i++)
9063         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
9064     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t96, acc, t48);
9065     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t96);
9066     for (i = 0; i < 5; i++)
9067         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
9068     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t102, acc, t6);
9069     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t102);
9070     for (i = 0; i < 95; i++)
9071         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
9072     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t198, acc, t96);
9073     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t198);
9074     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
9075     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t200, acc, t2);
9076     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t200);
9077     for (i = 0; i < 199; i++)
9078         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
9079     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t400, acc, t200);
9080     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t400);
9081     for (i = 0; i < 101; i++)
9082         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
9083     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t502, acc, t102);
9084     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, t502);
9085     for (i = 0; i < 3; i++)
9086         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
9087     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(acc, acc, t3);
9088     for (i = 0; i < 4; i++)
9089         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
9090     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(acc, acc, t1);
9091     for (i = 0; i < 2; i++)
9092         fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(acc, acc);
9093     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(output, acc, t1);
9094 }
9095
9096 /* curve coefficient constants */
9097
9098 static const limb_t const_one[23] = {
9099     UINT32_C(0x00000001), UINT32_C(0x00000000), UINT32_C(0x00000000),
9100     UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
9101     UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
9102     UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
9103     UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
9104     UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
9105     UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
9106     UINT32_C(0x00000000), UINT32_C(0x00000000)};
9107
9108 static const limb_t const_d[23] = {
9109     UINT32_C(0x006E7550), UINT32_C(0x001B7667), UINT32_C(0x00265181),
9110     UINT32_C(0x00054456), UINT32_C(0x0033F0AF), UINT32_C(0x001E91A0),
9111     UINT32_C(0x001E78DA), UINT32_C(0x002CE43E), UINT32_C(0x0016609C),
9112     UINT32_C(0x0028AE03), UINT32_C(0x00273C14), UINT32_C(0x001CE535),
9113     UINT32_C(0x00210504), UINT32_C(0x000A2818), UINT32_C(0x0031EBDE),
9114     UINT32_C(0x00506638), UINT32_C(0x001A016A), UINT32_C(0x003FC9B5),
9115     UINT32_C(0x001E6FAD), UINT32_C(0x00274B9E), UINT32_C(0x0036367C),
9116     UINT32_C(0x0018C017), UINT32_C(0x002793D7)};
9117
9118 static const limb_t const_S[23] = {
9119     UINT32_C(0x0004621E), UINT32_C(0x00292266), UINT32_C(0x00166B9F),
9120     UINT32_C(0x001EAEEA), UINT32_C(0x003303D4), UINT32_C(0x00185B97),
9121     UINT32_C(0x001861C9), UINT32_C(0x0074C6F0), UINT32_C(0x000A67D8),
9122     UINT32_C(0x0035D47F), UINT32_C(0x002630FA), UINT32_C(0x0078C6B2),
9123     UINT32_C(0x0037BEBE), UINT32_C(0x001D75F9), UINT32_C(0x00338508),
9124     UINT32_C(0x002BE671), UINT32_C(0x00297FA5), UINT32_C(0x00200D92),
9125     UINT32_C(0x00186414), UINT32_C(0x00762D18), UINT32_C(0x00027260),
9126     UINT32_C(0x0009CFFA), UINT32_C(0x00061B0A)};
9127
9128 static const limb_t const_T[23] = {
9129     UINT32_C(0x007D1271), UINT32_C(0x002493BB), UINT32_C(0x00310D95),
9130     UINT32_C(0x006B8B63), UINT32_C(0x003352C7), UINT32_C(0x001A6D9A),
9131     UINT32_C(0x00051424), UINT32_C(0x005CD0B5), UINT32_C(0x0023BAC4),
9132     UINT32_C(0x001C1D00), UINT32_C(0x00268A03), UINT32_C(0x005A2633),
9133     UINT32_C(0x00302B80), UINT32_C(0x001706AE), UINT32_C(0x000851FA),
9134     UINT32_C(0x0062BBB4), UINT32_C(0x00245591), UINT32_C(0x003FF6F3),
9135     UINT32_C(0x0005129C), UINT32_C(0x00313745), UINT32_C(0x0013B3BF),
9136     UINT32_C(0x00397559), UINT32_C(0x002698A3)};
9137
9138 /* LUT for scalar multiplication by comb interleaving */
9139 static const pt_aff_t lut_cmb[7][16] = {
9140     {
9141         {{UINT32_C(0x00000012), UINT32_C(0x00000000), UINT32_C(0x00000000),
9142           UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
9143           UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
9144           UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
9145           UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
9146           UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
9147           UINT32_C(0x00000000), UINT32_C(0x00000000), UINT32_C(0x00000000),
9148           UINT32_C(0x00000000), UINT32_C(0x00000000)},
9149          {UINT32_C(0x00001A3D), UINT32_C(0x0007DCE6), UINT32_C(0x003B0018),
9150           UINT32_C(0x0065755C), UINT32_C(0x0008B012), UINT32_C(0x00309056),
9151           UINT32_C(0x000E5CCB), UINT32_C(0x0068C5D1), UINT32_C(0x003DD7E0),
9152           UINT32_C(0x00067BC4), UINT32_C(0x003A96CA), UINT32_C(0x0034A916),
9153           UINT32_C(0x0037B386), UINT32_C(0x0015845F), UINT32_C(0x00368D9A),
9154           UINT32_C(0x00405E50), UINT32_C(0x003EFD86), UINT32_C(0x0003C541),
9155           UINT32_C(0x0015BBD0), UINT32_C(0x005732B2), UINT32_C(0x0007D785),
9156           UINT32_C(0x0039D1FB), UINT32_C(0x0011A6BD)},
9157          {UINT32_C(0x0001E12E), UINT32_C(0x000D882C), UINT32_C(0x002601B2),
9158           UINT32_C(0x00224088), UINT32_C(0x001C6152), UINT32_C(0x002A260E),
9159           UINT32_C(0x00028653), UINT32_C(0x005DE8B6), UINT32_C(0x00192DCE),
9160           UINT32_C(0x0034B3D9), UINT32_C(0x001E9A35), UINT32_C(0x0033E39C),
9161           UINT32_C(0x002A9F73), UINT32_C(0x00034EBD), UINT32_C(0x0015F4DA),
9162           UINT32_C(0x0006A1AF), UINT32_C(0x002DD375), UINT32_C(0x0003DEA3),
9163           UINT32_C(0x000734A1), UINT32_C(0x0021908A), UINT32_C(0x000D2766),
9164           UINT32_C(0x0010C3A8), UINT32_C(0x003DB95A)}},
9165         {{UINT32_C(0x00714838), UINT32_C(0x003864C7), UINT32_C(0x0015E5EE),
9166           UINT32_C(0x0023E2F6), UINT32_C(0x0001272F), UINT32_C(0x00115410),
9167           UINT32_C(0x003575F4), UINT32_C(0x00599E80), UINT32_C(0x001911C3),
9168           UINT32_C(0x0016A65A), UINT32_C(0x001D472E), UINT32_C(0x006F3D5B),
9169           UINT32_C(0x0010340F), UINT32_C(0x000E837F), UINT32_C(0x0027C450),
9170           UINT32_C(0x007123EC), UINT32_C(0x0028CF66), UINT32_C(0x000CD738),
9171           UINT32_C(0x00028A9A), UINT32_C(0x000CAEE3), UINT32_C(0x00261B2D),
9172           UINT32_C(0x001B65D5), UINT32_C(0x0003754B)},
9173          {UINT32_C(0x0062FF0C), UINT32_C(0x0039AC13), UINT32_C(0x003468DD),
9174           UINT32_C(0x005CFC63), UINT32_C(0x0003F7D2), UINT32_C(0x00370AE6),
9175           UINT32_C(0x0036C17A), UINT32_C(0x001D053E), UINT32_C(0x0004E79D),
9176           UINT32_C(0x00268C78), UINT32_C(0x0038AB40), UINT32_C(0x007DDB1E),
9177           UINT32_C(0x003B4D93), UINT32_C(0x003572D3), UINT32_C(0x00124D45),
9178           UINT32_C(0x0072B7DA), UINT32_C(0x0018E151), UINT32_C(0x001874E3),
9179           UINT32_C(0x00372E71), UINT32_C(0x00505781), UINT32_C(0x0019B7EF),
9180           UINT32_C(0x00225C53), UINT32_C(0x00008A46)},
9181          {UINT32_C(0x00224325), UINT32_C(0x001B6A98), UINT32_C(0x003712F0),
9182           UINT32_C(0x0029896C), UINT32_C(0x00276411), UINT32_C(0x00312C3D),
9183           UINT32_C(0x003C91A0), UINT32_C(0x005E5815), UINT32_C(0x00297712),
9184           UINT32_C(0x003DE7C7), UINT32_C(0x002D1F5F), UINT32_C(0x002BD84B),
9185           UINT32_C(0x0031E9D5), UINT32_C(0x00049136), UINT32_C(0x001802F2),
9186           UINT32_C(0x002F8CF5), UINT32_C(0x002DB47F), UINT32_C(0x00132C57),
9187           UINT32_C(0x000A8508), UINT32_C(0x003D2B4C), UINT32_C(0x0028BD48),
9188           UINT32_C(0x001D60C1), UINT32_C(0x003E0AA0)}},
9189         {{UINT32_C(0x0030B9C8), UINT32_C(0x002685FC), UINT32_C(0x001B92BC),
9190           UINT32_C(0x0018DFEF), UINT32_C(0x0022306A), UINT32_C(0x0011C069),
9191           UINT32_C(0x003EB95C), UINT32_C(0x003F5EF0), UINT32_C(0x0007C592),
9192           UINT32_C(0x00381817), UINT32_C(0x0010861D), UINT32_C(0x0004D484),
9193           UINT32_C(0x0023D575), UINT32_C(0x003F10B5), UINT32_C(0x000A70AA),
9194           UINT32_C(0x004D7662), UINT32_C(0x000DD1AA), UINT32_C(0x003FD38C),
9195           UINT32_C(0x000A6668), UINT32_C(0x0025165D), UINT32_C(0x00181E91),
9196           UINT32_C(0x000E23E5), UINT32_C(0x00269040)},
9197          {UINT32_C(0x00341E21), UINT32_C(0x00257531), UINT32_C(0x000967CF),
9198           UINT32_C(0x0019BA94), UINT32_C(0x00151857), UINT32_C(0x0019AA1E),
9199           UINT32_C(0x0007DC17), UINT32_C(0x0011DB85), UINT32_C(0x002D3151),
9200           UINT32_C(0x002CEDD2), UINT32_C(0x0024E69B), UINT32_C(0x001A161C),
9201           UINT32_C(0x001A4C0C), UINT32_C(0x000AF920), UINT32_C(0x00070D8C),
9202           UINT32_C(0x006577B1), UINT32_C(0x0020BA5B), UINT32_C(0x003E2CB7),
9203           UINT32_C(0x002FDC2A), UINT32_C(0x0035FBC6), UINT32_C(0x0022FA7D),
9204           UINT32_C(0x0033F920), UINT32_C(0x00271D0D)},
9205          {UINT32_C(0x005E541E), UINT32_C(0x001D52C8), UINT32_C(0x001062DD),
9206           UINT32_C(0x0024B0B7), UINT32_C(0x0038AB52), UINT32_C(0x00390136),
9207           UINT32_C(0x000229FC), UINT32_C(0x00083904), UINT32_C(0x001D494F),
9208           UINT32_C(0x003390EA), UINT32_C(0x002173E5), UINT32_C(0x003C560E),
9209           UINT32_C(0x002DBD84), UINT32_C(0x0005F4E6), UINT32_C(0x0027C060),
9210           UINT32_C(0x00018F19), UINT32_C(0x00021C09), UINT32_C(0x002C4427),
9211           UINT32_C(0x002AF1D0), UINT32_C(0x00137D94), UINT32_C(0x00398A24),
9212           UINT32_C(0x0015C3EE), UINT32_C(0x002465FE)}},
9213         {{UINT32_C(0x00323C86), UINT32_C(0x00177FDA), UINT32_C(0x0039B750),
9214           UINT32_C(0x00273D46), UINT32_C(0x0017FBDD), UINT32_C(0x002CF518),
9215           UINT32_C(0x000BBF36), UINT32_C(0x005C0328), UINT32_C(0x002CE181),
9216           UINT32_C(0x00006A3B), UINT32_C(0x000E6E58), UINT32_C(0x000239AB),
9217           UINT32_C(0x0034C2CE), UINT32_C(0x00074E3E), UINT32_C(0x003363F2),
9218           UINT32_C(0x00095FCE), UINT32_C(0x0011CAA2), UINT32_C(0x0020BAF6),
9219           UINT32_C(0x0033EA63), UINT32_C(0x0066A91E), UINT32_C(0x002CC83A),
9220           UINT32_C(0x000D84AE), UINT32_C(0x001B7D65)},
9221          {UINT32_C(0x004CD0FD), UINT32_C(0x002320B8), UINT32_C(0x001CB711),
9222           UINT32_C(0x00404C3F), UINT32_C(0x003A65B2), UINT32_C(0x00256419),
9223           UINT32_C(0x00163A1D), UINT32_C(0x007E15F5), UINT32_C(0x00302B21),
9224           UINT32_C(0x000C47D7), UINT32_C(0x003C9CBF), UINT32_C(0x002DA840),
9225           UINT32_C(0x00354B2A), UINT32_C(0x00019F94), UINT32_C(0x0005E8B1),
9226           UINT32_C(0x002B8F3D), UINT32_C(0x0026C85C), UINT32_C(0x001F3DD4),
9227           UINT32_C(0x00251D66), UINT32_C(0x0048EC35), UINT32_C(0x00206268),
9228           UINT32_C(0x002913A7), UINT32_C(0x001F1F83)},
9229          {UINT32_C(0x0077F340), UINT32_C(0x0008D7FB), UINT32_C(0x0029E763),
9230           UINT32_C(0x00797AAF), UINT32_C(0x00060644), UINT32_C(0x00035A5C),
9231           UINT32_C(0x00009727), UINT32_C(0x00626D74), UINT32_C(0x00249825),
9232           UINT32_C(0x00181FBF), UINT32_C(0x00083B0B), UINT32_C(0x0006F875),
9233           UINT32_C(0x00331E5F), UINT32_C(0x00343541), UINT32_C(0x0037AD03),
9234           UINT32_C(0x0004A743), UINT32_C(0x0018465B), UINT32_C(0x00203D5A),
9235           UINT32_C(0x002CA6BE), UINT32_C(0x0008AAB6), UINT32_C(0x00181A90),
9236           UINT32_C(0x002D8F7B), UINT32_C(0x00153EB7)}},
9237         {{UINT32_C(0x0018A411), UINT32_C(0x003A0221), UINT32_C(0x003C31B0),
9238           UINT32_C(0x00798D8F), UINT32_C(0x002E6982), UINT32_C(0x003E68C9),
9239           UINT32_C(0x0011C222), UINT32_C(0x004A377B), UINT32_C(0x001B47F3),
9240           UINT32_C(0x003998D9), UINT32_C(0x0014AB3E), UINT32_C(0x0058D2AA),
9241           UINT32_C(0x0004E849), UINT32_C(0x001856B6), UINT32_C(0x0009B3EA),
9242           UINT32_C(0x0032F37E), UINT32_C(0x0021A719), UINT32_C(0x002BD295),
9243           UINT32_C(0x0014959E), UINT32_C(0x0025E386), UINT32_C(0x003F0C52),
9244           UINT32_C(0x003FCEAA), UINT32_C(0x00263172)},
9245          {UINT32_C(0x001A14E2), UINT32_C(0x001F7D87), UINT32_C(0x0030183E),
9246           UINT32_C(0x006D32ED), UINT32_C(0x002DF898), UINT32_C(0x002CEF71),
9247           UINT32_C(0x002646CB), UINT32_C(0x001B0DAD), UINT32_C(0x001A7601),
9248           UINT32_C(0x0020A57E), UINT32_C(0x0008D5E8), UINT32_C(0x003FAF5F),
9249           UINT32_C(0x00128ED4), UINT32_C(0x0025B18D), UINT32_C(0x002F0FA9),
9250           UINT32_C(0x003A6179), UINT32_C(0x00078264), UINT32_C(0x00351FE0),
9251           UINT32_C(0x00074564), UINT32_C(0x001FB814), UINT32_C(0x003C2C48),
9252           UINT32_C(0x00164834), UINT32_C(0x00270D18)},
9253          {UINT32_C(0x0033F8B7), UINT32_C(0x002F3A9D), UINT32_C(0x000E251A),
9254           UINT32_C(0x0030DA6B), UINT32_C(0x0026849C), UINT32_C(0x002D0B0C),
9255           UINT32_C(0x002C4BF7), UINT32_C(0x00515301), UINT32_C(0x00036F37),
9256           UINT32_C(0x000A9DBF), UINT32_C(0x00298CD0), UINT32_C(0x0024A32B),
9257           UINT32_C(0x0026D945), UINT32_C(0x002C3300), UINT32_C(0x00268566),
9258           UINT32_C(0x001E4819), UINT32_C(0x00102918), UINT32_C(0x00235296),
9259           UINT32_C(0x001B311B), UINT32_C(0x007F2404), UINT32_C(0x0038D33D),
9260           UINT32_C(0x001E3550), UINT32_C(0x00090157)}},
9261         {{UINT32_C(0x00320711), UINT32_C(0x00340698), UINT32_C(0x001F056A),
9262           UINT32_C(0x003BD939), UINT32_C(0x003171B5), UINT32_C(0x0038A716),
9263           UINT32_C(0x0015FA28), UINT32_C(0x0064ADE0), UINT32_C(0x000F0671),
9264           UINT32_C(0x001DCC6E), UINT32_C(0x0021080E), UINT32_C(0x004176EE),
9265           UINT32_C(0x003EEFBE), UINT32_C(0x0014ABF9), UINT32_C(0x0011CE49),
9266           UINT32_C(0x005C1B2A), UINT32_C(0x001DCCBC), UINT32_C(0x000F5858),
9267           UINT32_C(0x0014B76C), UINT32_C(0x002FEF68), UINT32_C(0x0013BBA8),
9268           UINT32_C(0x00271302), UINT32_C(0x002A675D)},
9269          {UINT32_C(0x0022D5DC), UINT32_C(0x00189878), UINT32_C(0x003957D3),
9270           UINT32_C(0x00124011), UINT32_C(0x000C0FF4), UINT32_C(0x0021C5F0),
9271           UINT32_C(0x001CF183), UINT32_C(0x005C75FB), UINT32_C(0x000A4A72),
9272           UINT32_C(0x001621E5), UINT32_C(0x002D902F), UINT32_C(0x000A5E79),
9273           UINT32_C(0x0007D979), UINT32_C(0x002FA252), UINT32_C(0x001A032C),
9274           UINT32_C(0x006E4700), UINT32_C(0x001CDDED), UINT32_C(0x0015AFC0),
9275           UINT32_C(0x001B495C), UINT32_C(0x0025BC0A), UINT32_C(0x003D6AB6),
9276           UINT32_C(0x001C2483), UINT32_C(0x002F3B9A)},
9277          {UINT32_C(0x0057AFE2), UINT32_C(0x003853AA), UINT32_C(0x00381675),
9278           UINT32_C(0x0053C924), UINT32_C(0x0004A57A), UINT32_C(0x003A659F),
9279           UINT32_C(0x0007371F), UINT32_C(0x006B5A26), UINT32_C(0x0029ED43),
9280           UINT32_C(0x000F437B), UINT32_C(0x0003DA56), UINT32_C(0x0043A9B2),
9281           UINT32_C(0x001ED072), UINT32_C(0x002BF85E), UINT32_C(0x000106D8),
9282           UINT32_C(0x004A67F0), UINT32_C(0x00249FD9), UINT32_C(0x002B8C98),
9283           UINT32_C(0x0011FD8E), UINT32_C(0x006EF5A5), UINT32_C(0x00274425),
9284           UINT32_C(0x002A63C4), UINT32_C(0x0010FE70)}},
9285         {{UINT32_C(0x003BFFEF), UINT32_C(0x0028BC0F), UINT32_C(0x000C1E3B),
9286           UINT32_C(0x00332346), UINT32_C(0x00097C49), UINT32_C(0x000642A0),
9287           UINT32_C(0x001511EB), UINT32_C(0x00662119), UINT32_C(0x0038700F),
9288           UINT32_C(0x0010075B), UINT32_C(0x000217A9), UINT32_C(0x00515D8A),
9289           UINT32_C(0x003768A5), UINT32_C(0x00001AAD), UINT32_C(0x00033785),
9290           UINT32_C(0x000EAFDA), UINT32_C(0x0028D7EE), UINT32_C(0x00386C98),
9291           UINT32_C(0x002309D6), UINT32_C(0x00217545), UINT32_C(0x0036E128),
9292           UINT32_C(0x0036F567), UINT32_C(0x00084D45)},
9293          {UINT32_C(0x006DDAC3), UINT32_C(0x00211A34), UINT32_C(0x00334127),
9294           UINT32_C(0x0068417F), UINT32_C(0x002536CA), UINT32_C(0x00392B50),
9295           UINT32_C(0x00121BF5), UINT32_C(0x006FAE39), UINT32_C(0x001B66D6),
9296           UINT32_C(0x0001A543), UINT32_C(0x00047D4A), UINT32_C(0x00320EF6),
9297           UINT32_C(0x0032B862), UINT32_C(0x000E86D1), UINT32_C(0x0003B670),
9298           UINT32_C(0x004D6880), UINT32_C(0x0017DCED), UINT32_C(0x002D4CAD),
9299           UINT32_C(0x002F1822), UINT32_C(0x0061F872), UINT32_C(0x00117A0E),
9300           UINT32_C(0x00227CBF), UINT32_C(0x00118A0F)},
9301          {UINT32_C(0x00597549), UINT32_C(0x00311975), UINT32_C(0x0012ADA8),
9302           UINT32_C(0x000BF81E), UINT32_C(0x000447DB), UINT32_C(0x0036564B),
9303           UINT32_C(0x0036D4A4), UINT32_C(0x005A12B6), UINT32_C(0x001D943E),
9304           UINT32_C(0x001FA011), UINT32_C(0x0022FC7D), UINT32_C(0x001B96F2),
9305           UINT32_C(0x00197333), UINT32_C(0x000F5F62), UINT32_C(0x0026D265),
9306           UINT32_C(0x000DBBE2), UINT32_C(0x002B31B9), UINT32_C(0x002BF98D),
9307           UINT32_C(0x0025C030), UINT32_C(0x001A95A2), UINT32_C(0x003B2FA4),
9308           UINT32_C(0x000B0C82), UINT32_C(0x0021FEE2)}},
9309         {{UINT32_C(0x0015EE0D), UINT32_C(0x00026FEB), UINT32_C(0x003AD4F5),
9310           UINT32_C(0x003274AE), UINT32_C(0x001265E7), UINT32_C(0x0017040F),
9311           UINT32_C(0x0013C06E), UINT32_C(0x00448F30), UINT32_C(0x00134ED6),
9312           UINT32_C(0x002635D7), UINT32_C(0x000B19B7), UINT32_C(0x0044CA5A),
9313           UINT32_C(0x002D51CD), UINT32_C(0x003CBBA9), UINT32_C(0x000BA676),
9314           UINT32_C(0x0044E2E0), UINT32_C(0x002D3C1D), UINT32_C(0x001B2C78),
9315           UINT32_C(0x0018CB04), UINT32_C(0x000F06A8), UINT32_C(0x0029FAAE),
9316           UINT32_C(0x003BD16D), UINT32_C(0x002947AD)},
9317          {UINT32_C(0x000B19BD), UINT32_C(0x002858FE), UINT32_C(0x0001456B),
9318           UINT32_C(0x00651923), UINT32_C(0x00153B6F), UINT32_C(0x00192326),
9319           UINT32_C(0x001EDFC6), UINT32_C(0x003AF276), UINT32_C(0x00039EE2),
9320           UINT32_C(0x00085A43), UINT32_C(0x0005BE71), UINT32_C(0x00091140),
9321           UINT32_C(0x002D46EB), UINT32_C(0x0017E252), UINT32_C(0x0005EB99),
9322           UINT32_C(0x002B8AE0), UINT32_C(0x001B76CF), UINT32_C(0x0006AF84),
9323           UINT32_C(0x00353A13), UINT32_C(0x00310D97), UINT32_C(0x0023CC43),
9324           UINT32_C(0x00112265), UINT32_C(0x000E4E08)},
9325          {UINT32_C(0x00172BA5), UINT32_C(0x00224E8D), UINT32_C(0x0008E83D),
9326           UINT32_C(0x006E0FD7), UINT32_C(0x000CA435), UINT32_C(0x003F7B82),
9327           UINT32_C(0x002AE24B), UINT32_C(0x00203AE6), UINT32_C(0x001109AA),
9328           UINT32_C(0x002D29BE), UINT32_C(0x00209120), UINT32_C(0x00435C39),
9329           UINT32_C(0x0010375A), UINT32_C(0x003466D6), UINT32_C(0x003A4483),
9330           UINT32_C(0x004C88D7), UINT32_C(0x002B8FCF), UINT32_C(0x000D4C74),
9331           UINT32_C(0x0000EAD7), UINT32_C(0x004E1D11), UINT32_C(0x0008F6A2),
9332           UINT32_C(0x0036C2A6), UINT32_C(0x000F1EC2)}},
9333         {{UINT32_C(0x007F3A5F), UINT32_C(0x001992D7), UINT32_C(0x0033F7AE),
9334           UINT32_C(0x00399159), UINT32_C(0x000EA75B), UINT32_C(0x0024BE3F),
9335           UINT32_C(0x00137150), UINT32_C(0x0009C6C8), UINT32_C(0x00224779),
9336           UINT32_C(0x0024DA62), UINT32_C(0x0039D8C0), UINT32_C(0x00274469),
9337           UINT32_C(0x00059EDB), UINT32_C(0x00230792), UINT32_C(0x0011EA0B),
9338           UINT32_C(0x000ACCB4), UINT32_C(0x001A5DB9), UINT32_C(0x0033F671),
9339           UINT32_C(0x0008F9E0), UINT32_C(0x00171663), UINT32_C(0x0034D6E6),
9340           UINT32_C(0x000FD1E8), UINT32_C(0x00305366)},
9341          {UINT32_C(0x005EDF20), UINT32_C(0x003A4158), UINT32_C(0x003152D2),
9342           UINT32_C(0x0039738C), UINT32_C(0x00219AF4), UINT32_C(0x000AD69F),
9343           UINT32_C(0x0000A7ED), UINT32_C(0x0006EB20), UINT32_C(0x001DB459),
9344           UINT32_C(0x00249C37), UINT32_C(0x0008C20F), UINT32_C(0x004E26FA),
9345           UINT32_C(0x0018A7F4), UINT32_C(0x002A583D), UINT32_C(0x00026534),
9346           UINT32_C(0x004D37CC), UINT32_C(0x002BF41A), UINT32_C(0x0004D4E5),
9347           UINT32_C(0x002B73A3), UINT32_C(0x003F1C84), UINT32_C(0x002883C4),
9348           UINT32_C(0x003BC222), UINT32_C(0x00089D6C)},
9349          {UINT32_C(0x007B6E7F), UINT32_C(0x0022175E), UINT32_C(0x00285356),
9350           UINT32_C(0x0025E3A3), UINT32_C(0x001037EF), UINT32_C(0x003AD3A2),
9351           UINT32_C(0x001C9C57), UINT32_C(0x00504AAE), UINT32_C(0x00064EF6),
9352           UINT32_C(0x00017470), UINT32_C(0x001DB4A2), UINT32_C(0x005776DF),
9353           UINT32_C(0x001E96EF), UINT32_C(0x0017DA2B), UINT32_C(0x002DD3D9),
9354           UINT32_C(0x0073CBB8), UINT32_C(0x00140A2F), UINT32_C(0x00109B2E),
9355           UINT32_C(0x000B5EA4), UINT32_C(0x00064397), UINT32_C(0x0000884C),
9356           UINT32_C(0x00089DD2), UINT32_C(0x002AF788)}},
9357         {{UINT32_C(0x00735FB2), UINT32_C(0x002F19A0), UINT32_C(0x00030F84),
9358           UINT32_C(0x0069D875), UINT32_C(0x0030428E), UINT32_C(0x001C7831),
9359           UINT32_C(0x00348247), UINT32_C(0x001553C9), UINT32_C(0x00363ED5),
9360           UINT32_C(0x0012E6AE), UINT32_C(0x00297863), UINT32_C(0x005231B6),
9361           UINT32_C(0x00076EF8), UINT32_C(0x002A51F3), UINT32_C(0x00053479),
9362           UINT32_C(0x00728729), UINT32_C(0x000565E8), UINT32_C(0x00253185),
9363           UINT32_C(0x00373E1C), UINT32_C(0x00173952), UINT32_C(0x00378596),
9364           UINT32_C(0x0035C7D9), UINT32_C(0x001AFA68)},
9365          {UINT32_C(0x007813F3), UINT32_C(0x0032A16A), UINT32_C(0x002DCCB1),
9366           UINT32_C(0x0020A412), UINT32_C(0x0032EE55), UINT32_C(0x00060B7C),
9367           UINT32_C(0x0001221A), UINT32_C(0x00746789), UINT32_C(0x002B0E40),
9368           UINT32_C(0x001D2DCC), UINT32_C(0x000CB8AC), UINT32_C(0x001FC5BD),
9369           UINT32_C(0x003BCC70), UINT32_C(0x0002C6F3), UINT32_C(0x0006C465),
9370           UINT32_C(0x00105D9D), UINT32_C(0x000CB0AE), UINT32_C(0x002CF08C),
9371           UINT32_C(0x0022B897), UINT32_C(0x004F105D), UINT32_C(0x002334A0),
9372           UINT32_C(0x000C0A22), UINT32_C(0x002CF1F5)},
9373          {UINT32_C(0x00505E0F), UINT32_C(0x0012ED31), UINT32_C(0x002474AB),
9374           UINT32_C(0x0024227C), UINT32_C(0x000514EC), UINT32_C(0x001D9F97),
9375           UINT32_C(0x000799FA), UINT32_C(0x006748EE), UINT32_C(0x001B12FA),
9376           UINT32_C(0x00297127), UINT32_C(0x001AB293), UINT32_C(0x00592DE3),
9377           UINT32_C(0x00202A4E), UINT32_C(0x0028F351), UINT32_C(0x00267888),
9378           UINT32_C(0x007C29E7), UINT32_C(0x00191344), UINT32_C(0x003BB856),
9379           UINT32_C(0x003D0068), UINT32_C(0x006A2ECD), UINT32_C(0x000FFBC8),
9380           UINT32_C(0x001ACF89), UINT32_C(0x0012063A)}},
9381         {{UINT32_C(0x0069FBFB), UINT32_C(0x00156959), UINT32_C(0x000608FA),
9382           UINT32_C(0x00785C89), UINT32_C(0x003AC4C8), UINT32_C(0x0027AB75),
9383           UINT32_C(0x001FCC4F), UINT32_C(0x001F7944), UINT32_C(0x0017EB65),
9384           UINT32_C(0x003C2011), UINT32_C(0x00325CA4), UINT32_C(0x001506DC),
9385           UINT32_C(0x000E2144), UINT32_C(0x002D1626), UINT32_C(0x0016961D),
9386           UINT32_C(0x00363598), UINT32_C(0x003C4B42), UINT32_C(0x000025DF),
9387           UINT32_C(0x0029E048), UINT32_C(0x0036C933), UINT32_C(0x0006A748),
9388           UINT32_C(0x003B1A3D), UINT32_C(0x00072BBF)},
9389          {UINT32_C(0x00347FD3), UINT32_C(0x0023FEC8), UINT32_C(0x00365C46),
9390           UINT32_C(0x00206227), UINT32_C(0x002642D5), UINT32_C(0x000F856C),
9391           UINT32_C(0x000D409C), UINT32_C(0x0022DD47), UINT32_C(0x0037EDB3),
9392           UINT32_C(0x00295E9B), UINT32_C(0x00168C23), UINT32_C(0x006707A7),
9393           UINT32_C(0x00191E7D), UINT32_C(0x001B783E), UINT32_C(0x003FB2D4),
9394           UINT32_C(0x006B0C90), UINT32_C(0x00233284), UINT32_C(0x000CD25A),
9395           UINT32_C(0x001F61F1), UINT32_C(0x004E3362), UINT32_C(0x002620F3),
9396           UINT32_C(0x00036CD2), UINT32_C(0x00187790)},
9397          {UINT32_C(0x00415547), UINT32_C(0x00056478), UINT32_C(0x003F9AE8),
9398           UINT32_C(0x002A78C9), UINT32_C(0x000B1617), UINT32_C(0x002994FB),
9399           UINT32_C(0x0017A9C0), UINT32_C(0x002443FA), UINT32_C(0x0033C2A2),
9400           UINT32_C(0x00314877), UINT32_C(0x003E8C07), UINT32_C(0x001D6145),
9401           UINT32_C(0x0009E22B), UINT32_C(0x001E135D), UINT32_C(0x0026E0F2),
9402           UINT32_C(0x0076C01C), UINT32_C(0x0009F80A), UINT32_C(0x0038B123),
9403           UINT32_C(0x00061F27), UINT32_C(0x0037D737), UINT32_C(0x001266FA),
9404           UINT32_C(0x00194F60), UINT32_C(0x000A4432)}},
9405         {{UINT32_C(0x0031C22E), UINT32_C(0x001B7130), UINT32_C(0x001E8939),
9406           UINT32_C(0x006F4F1F), UINT32_C(0x001B084A), UINT32_C(0x000AE27B),
9407           UINT32_C(0x00243D6B), UINT32_C(0x00341897), UINT32_C(0x00185C0C),
9408           UINT32_C(0x00283264), UINT32_C(0x0033AFEF), UINT32_C(0x00273C32),
9409           UINT32_C(0x0037390A), UINT32_C(0x00216908), UINT32_C(0x0000E39D),
9410           UINT32_C(0x0022F13E), UINT32_C(0x00023196), UINT32_C(0x00266EDA),
9411           UINT32_C(0x002E74B0), UINT32_C(0x0068D67D), UINT32_C(0x0019B003),
9412           UINT32_C(0x002462D8), UINT32_C(0x001D92FD)},
9413          {UINT32_C(0x003AE17C), UINT32_C(0x00213D60), UINT32_C(0x00246509),
9414           UINT32_C(0x00243E35), UINT32_C(0x000C9ADF), UINT32_C(0x0016B366),
9415           UINT32_C(0x00061E45), UINT32_C(0x0022A2B9), UINT32_C(0x0006570F),
9416           UINT32_C(0x00302A1D), UINT32_C(0x002E384B), UINT32_C(0x00083836),
9417           UINT32_C(0x00231790), UINT32_C(0x000946A6), UINT32_C(0x001C75BC),
9418           UINT32_C(0x002F1936), UINT32_C(0x001F19E1), UINT32_C(0x0020A5E8),
9419           UINT32_C(0x002CCC4B), UINT32_C(0x003C73D2), UINT32_C(0x0013DA6B),
9420           UINT32_C(0x000150AC), UINT32_C(0x003D6E3C)},
9421          {UINT32_C(0x0048F7FB), UINT32_C(0x00078414), UINT32_C(0x0025AA31),
9422           UINT32_C(0x0024F2EA), UINT32_C(0x00251A2F), UINT32_C(0x00350186),
9423           UINT32_C(0x00242828), UINT32_C(0x001AF8F7), UINT32_C(0x001E7A82),
9424           UINT32_C(0x00180FD1), UINT32_C(0x002C709A), UINT32_C(0x00009FF0),
9425           UINT32_C(0x00243CBB), UINT32_C(0x002BA544), UINT32_C(0x000A79D6),
9426           UINT32_C(0x007FB7BA), UINT32_C(0x002E4F31), UINT32_C(0x000D9BA1),
9427           UINT32_C(0x000488DF), UINT32_C(0x002BD096), UINT32_C(0x002360FA),
9428           UINT32_C(0x003C511A), UINT32_C(0x001A1012)}},
9429         {{UINT32_C(0x000D6219), UINT32_C(0x001EB7CA), UINT32_C(0x00290FB0),
9430           UINT32_C(0x004BE668), UINT32_C(0x001673D0), UINT32_C(0x002187C6),
9431           UINT32_C(0x002109E9), UINT32_C(0x002142AD), UINT32_C(0x002B9655),
9432           UINT32_C(0x0016BB18), UINT32_C(0x000505A1), UINT32_C(0x003CF749),
9433           UINT32_C(0x000508B1), UINT32_C(0x0007750E), UINT32_C(0x0011E906),
9434           UINT32_C(0x006BC76B), UINT32_C(0x0010180A), UINT32_C(0x003F71C4),
9435           UINT32_C(0x0025BBCB), UINT32_C(0x0019E43E), UINT32_C(0x000C640C),
9436           UINT32_C(0x00023109), UINT32_C(0x0036776C)},
9437          {UINT32_C(0x007854C6), UINT32_C(0x0036123B), UINT32_C(0x000FD077),
9438           UINT32_C(0x003A6383), UINT32_C(0x00016A28), UINT32_C(0x00023347),
9439           UINT32_C(0x00355348), UINT32_C(0x00309EB3), UINT32_C(0x0013FC16),
9440           UINT32_C(0x00127D7E), UINT32_C(0x000A0B31), UINT32_C(0x00619126),
9441           UINT32_C(0x0032CE4A), UINT32_C(0x001C53EA), UINT32_C(0x00009B36),
9442           UINT32_C(0x007EBF13), UINT32_C(0x00153CEC), UINT32_C(0x002F0B2B),
9443           UINT32_C(0x001FEA94), UINT32_C(0x0018DD53), UINT32_C(0x002DFE81),
9444           UINT32_C(0x00250282), UINT32_C(0x0028BBC9)},
9445          {UINT32_C(0x006BDFE8), UINT32_C(0x003D7D6C), UINT32_C(0x003081DE),
9446           UINT32_C(0x003D3D16), UINT32_C(0x003CAB31), UINT32_C(0x001C9412),
9447           UINT32_C(0x001096D6), UINT32_C(0x0020B298), UINT32_C(0x0022CDB0),
9448           UINT32_C(0x00023945), UINT32_C(0x00319AEF), UINT32_C(0x00316D40),
9449           UINT32_C(0x001EFBBC), UINT32_C(0x0030E49F), UINT32_C(0x002D6387),
9450           UINT32_C(0x007C9B05), UINT32_C(0x000FF238), UINT32_C(0x002AB556),
9451           UINT32_C(0x001D7A21), UINT32_C(0x00746313), UINT32_C(0x002064F3),
9452           UINT32_C(0x00159471), UINT32_C(0x0006420E)}},
9453         {{UINT32_C(0x000F873E), UINT32_C(0x000A10CD), UINT32_C(0x002BE785),
9454           UINT32_C(0x0038B227), UINT32_C(0x0034217F), UINT32_C(0x001DEE7A),
9455           UINT32_C(0x000EF9FF), UINT32_C(0x00642E35), UINT32_C(0x003BBD91),
9456           UINT32_C(0x00394167), UINT32_C(0x0011C45D), UINT32_C(0x00248D59),
9457           UINT32_C(0x0006CAF4), UINT32_C(0x00356B6A), UINT32_C(0x000C93E3),
9458           UINT32_C(0x007DF1C5), UINT32_C(0x0015175F), UINT32_C(0x0006774E),
9459           UINT32_C(0x002C2F46), UINT32_C(0x0012A0B5), UINT32_C(0x0026AC43),
9460           UINT32_C(0x00316265), UINT32_C(0x0017578E)},
9461          {UINT32_C(0x00637692), UINT32_C(0x0017AA0F), UINT32_C(0x000349D7),
9462           UINT32_C(0x0042BD56), UINT32_C(0x0020AC26), UINT32_C(0x00153D2E),
9463           UINT32_C(0x003BFE98), UINT32_C(0x0045B29F), UINT32_C(0x000C665A),
9464           UINT32_C(0x0015F634), UINT32_C(0x0031F264), UINT32_C(0x0005C891),
9465           UINT32_C(0x003F619E), UINT32_C(0x0028131C), UINT32_C(0x0018D792),
9466           UINT32_C(0x006219EF), UINT32_C(0x0039BD88), UINT32_C(0x001F8951),
9467           UINT32_C(0x000E21DF), UINT32_C(0x00495EAD), UINT32_C(0x00342FCA),
9468           UINT32_C(0x00196C92), UINT32_C(0x001EF0FA)},
9469          {UINT32_C(0x0047865A), UINT32_C(0x00318D12), UINT32_C(0x003C903E),
9470           UINT32_C(0x000BD15E), UINT32_C(0x003D2D6E), UINT32_C(0x0002AA3A),
9471           UINT32_C(0x00227179), UINT32_C(0x0073CF23), UINT32_C(0x002DC1A1),
9472           UINT32_C(0x000D9B0C), UINT32_C(0x0011B186), UINT32_C(0x0068972C),
9473           UINT32_C(0x000C6DF0), UINT32_C(0x00077408), UINT32_C(0x0028FAEE),
9474           UINT32_C(0x001C3C02), UINT32_C(0x0037190A), UINT32_C(0x002F00E2),
9475           UINT32_C(0x001EC176), UINT32_C(0x00072B55), UINT32_C(0x0024E393),
9476           UINT32_C(0x0032CF55), UINT32_C(0x001437CD)}},
9477         {{UINT32_C(0x006D31AF), UINT32_C(0x00321E4E), UINT32_C(0x000CA7EE),
9478           UINT32_C(0x005ABB74), UINT32_C(0x0000C3A9), UINT32_C(0x0019A488),
9479           UINT32_C(0x001861A0), UINT32_C(0x00582F9D), UINT32_C(0x003CFD06),
9480           UINT32_C(0x002EA1AF), UINT32_C(0x0018A543), UINT32_C(0x0010F4B5),
9481           UINT32_C(0x0010715D), UINT32_C(0x001F9AF3), UINT32_C(0x0023023F),
9482           UINT32_C(0x001643E3), UINT32_C(0x00215F28), UINT32_C(0x0019FD03),
9483           UINT32_C(0x0022E874), UINT32_C(0x003DA8F6), UINT32_C(0x0039620A),
9484           UINT32_C(0x0022056A), UINT32_C(0x000EA069)},
9485          {UINT32_C(0x000518C5), UINT32_C(0x001AE0BF), UINT32_C(0x00094299),
9486           UINT32_C(0x001E2DED), UINT32_C(0x003500DA), UINT32_C(0x0009630E),
9487           UINT32_C(0x00063632), UINT32_C(0x003387CC), UINT32_C(0x00031191),
9488           UINT32_C(0x00108CFD), UINT32_C(0x00182E5F), UINT32_C(0x00683906),
9489           UINT32_C(0x000540A6), UINT32_C(0x0028D759), UINT32_C(0x001EE5BE),
9490           UINT32_C(0x00066621), UINT32_C(0x001C501A), UINT32_C(0x0013C28F),
9491           UINT32_C(0x000A2AA3), UINT32_C(0x003F6A17), UINT32_C(0x0007898A),
9492           UINT32_C(0x002E1235), UINT32_C(0x000019A8)},
9493          {UINT32_C(0x006FEED8), UINT32_C(0x001D5B2A), UINT32_C(0x003F2A5F),
9494           UINT32_C(0x00097336), UINT32_C(0x0037FB45), UINT32_C(0x002DB6D6),
9495           UINT32_C(0x002CC41F), UINT32_C(0x003D7B28), UINT32_C(0x002F8AD4),
9496           UINT32_C(0x003151FC), UINT32_C(0x001C064A), UINT32_C(0x003C6241),
9497           UINT32_C(0x00365F52), UINT32_C(0x001581A2), UINT32_C(0x000C7BF2),
9498           UINT32_C(0x002AD32B), UINT32_C(0x0009C743), UINT32_C(0x0000608A),
9499           UINT32_C(0x00282F9A), UINT32_C(0x00263A9C), UINT32_C(0x003D2500),
9500           UINT32_C(0x003476D7), UINT32_C(0x0039390A)}},
9501         {{UINT32_C(0x004F5AD3), UINT32_C(0x001444FE), UINT32_C(0x0006BAFD),
9502           UINT32_C(0x0061624F), UINT32_C(0x00011230), UINT32_C(0x00078216),
9503           UINT32_C(0x00298470), UINT32_C(0x0015013E), UINT32_C(0x003A1285),
9504           UINT32_C(0x0016EA4D), UINT32_C(0x001DD727), UINT32_C(0x001A40E5),
9505           UINT32_C(0x002D2579), UINT32_C(0x001F10D3), UINT32_C(0x00220C0B),
9506           UINT32_C(0x000EC9E4), UINT32_C(0x0026BC42), UINT32_C(0x0003AB97),
9507           UINT32_C(0x00393447), UINT32_C(0x0045B418), UINT32_C(0x0006D93B),
9508           UINT32_C(0x0010FC88), UINT32_C(0x00064A8E)},
9509          {UINT32_C(0x006BE9EA), UINT32_C(0x000CA597), UINT32_C(0x002253CF),
9510           UINT32_C(0x00638639), UINT32_C(0x002B0B51), UINT32_C(0x00030BC7),
9511           UINT32_C(0x00323019), UINT32_C(0x000CCA80), UINT32_C(0x0010E5F7),
9512           UINT32_C(0x002EC009), UINT32_C(0x0015B4CB), UINT32_C(0x00663CF0),
9513           UINT32_C(0x0035A148), UINT32_C(0x002FA75B), UINT32_C(0x00311933),
9514           UINT32_C(0x0063C853), UINT32_C(0x0011D6D9), UINT32_C(0x0037F8DF),
9515           UINT32_C(0x001CF5AA), UINT32_C(0x00151B7A), UINT32_C(0x000C96E3),
9516           UINT32_C(0x002C8326), UINT32_C(0x00016832)},
9517          {UINT32_C(0x006A5978), UINT32_C(0x001A7F02), UINT32_C(0x000354FE),
9518           UINT32_C(0x003933E3), UINT32_C(0x00071810), UINT32_C(0x000077D8),
9519           UINT32_C(0x0033A7B3), UINT32_C(0x0026F851), UINT32_C(0x0034FEF5),
9520           UINT32_C(0x0010B6DF), UINT32_C(0x003399BA), UINT32_C(0x000DFB2B),
9521           UINT32_C(0x0034476F), UINT32_C(0x00346D99), UINT32_C(0x002F557E),
9522           UINT32_C(0x0047897F), UINT32_C(0x00348DBE), UINT32_C(0x001CDE03),
9523           UINT32_C(0x002A740A), UINT32_C(0x0066E864), UINT32_C(0x0003C78B),
9524           UINT32_C(0x00028392), UINT32_C(0x0025F5DB)}},
9525     },
9526     {
9527         {{UINT32_C(0x0017286E), UINT32_C(0x000F5A5C), UINT32_C(0x0039B3CA),
9528           UINT32_C(0x001F9077), UINT32_C(0x001B296D), UINT32_C(0x0005DC87),
9529           UINT32_C(0x001D0F98), UINT32_C(0x0064781E), UINT32_C(0x00093D05),
9530           UINT32_C(0x00126B0F), UINT32_C(0x000BBA75), UINT32_C(0x0044F9E6),
9531           UINT32_C(0x0028E04B), UINT32_C(0x0020A55E), UINT32_C(0x0012F73B),
9532           UINT32_C(0x002CF153), UINT32_C(0x0021678C), UINT32_C(0x002F8222),
9533           UINT32_C(0x0015DD38), UINT32_C(0x00687C5D), UINT32_C(0x0027B303),
9534           UINT32_C(0x003155B8), UINT32_C(0x002B5FB6)},
9535          {UINT32_C(0x0041E5E6), UINT32_C(0x0006CE3F), UINT32_C(0x000699C4),
9536           UINT32_C(0x001B1A07), UINT32_C(0x0008BE9D), UINT32_C(0x000A3A3E),
9537           UINT32_C(0x00229979), UINT32_C(0x005014A4), UINT32_C(0x0002F0CB),
9538           UINT32_C(0x003B52A9), UINT32_C(0x00083FDD), UINT32_C(0x0047E479),
9539           UINT32_C(0x0009DD35), UINT32_C(0x00391B43), UINT32_C(0x0021E9C2),
9540           UINT32_C(0x004D6C1F), UINT32_C(0x000D8AB1), UINT32_C(0x002AC33D),
9541           UINT32_C(0x003F840F), UINT32_C(0x00713093), UINT32_C(0x001F7D6C),
9542           UINT32_C(0x0000637C), UINT32_C(0x002A1B17)},
9543          {UINT32_C(0x002A0728), UINT32_C(0x0022B9B0), UINT32_C(0x00120094),
9544           UINT32_C(0x006AF4E8), UINT32_C(0x003A01D1), UINT32_C(0x002767DB),
9545           UINT32_C(0x00238927), UINT32_C(0x0068635D), UINT32_C(0x0003EA0A),
9546           UINT32_C(0x000FE41F), UINT32_C(0x003CB1CE), UINT32_C(0x00133FA4),
9547           UINT32_C(0x002B3010), UINT32_C(0x000D5D89), UINT32_C(0x000F339F),
9548           UINT32_C(0x005D46A1), UINT32_C(0x00290D2D), UINT32_C(0x001FC5BE),
9549           UINT32_C(0x0003A00F), UINT32_C(0x0062DC95), UINT32_C(0x0037CAB9),
9550           UINT32_C(0x002A05E9), UINT32_C(0x002BBC6F)}},
9551         {{UINT32_C(0x00706744), UINT32_C(0x0019DB10), UINT32_C(0x003F9B5C),
9552           UINT32_C(0x000F3E76), UINT32_C(0x001B2506), UINT32_C(0x00127BDF),
9553           UINT32_C(0x000EB38D), UINT32_C(0x00042E3C), UINT32_C(0x0003DF4C),
9554           UINT32_C(0x003B146C), UINT32_C(0x00395196), UINT32_C(0x0018E1D3),
9555           UINT32_C(0x000F2464), UINT32_C(0x00307EFB), UINT32_C(0x002A190A),
9556           UINT32_C(0x0058D3B4), UINT32_C(0x0012C74A), UINT32_C(0x00195650),
9557           UINT32_C(0x000C0BF0), UINT32_C(0x001892B5), UINT32_C(0x0006770F),
9558           UINT32_C(0x001A228B), UINT32_C(0x003113A8)},
9559          {UINT32_C(0x007384A0), UINT32_C(0x00041291), UINT32_C(0x00123686),
9560           UINT32_C(0x001AD842), UINT32_C(0x001E3157), UINT32_C(0x0007A754),
9561           UINT32_C(0x000905E0), UINT32_C(0x003BC7D8), UINT32_C(0x00116FE2),
9562           UINT32_C(0x002D132F), UINT32_C(0x000E6646), UINT32_C(0x0064D804),
9563           UINT32_C(0x001BA830), UINT32_C(0x003695CB), UINT32_C(0x00173E41),
9564           UINT32_C(0x005CFDBC), UINT32_C(0x002188CF), UINT32_C(0x001C1011),
9565           UINT32_C(0x0019A6D6), UINT32_C(0x004789C9), UINT32_C(0x0032435A),
9566           UINT32_C(0x002B1970), UINT32_C(0x003D40A8)},
9567          {UINT32_C(0x00334E7F), UINT32_C(0x000C23F4), UINT32_C(0x00160B20),
9568           UINT32_C(0x003BF3EA), UINT32_C(0x003B5299), UINT32_C(0x001D3EC2),
9569           UINT32_C(0x0036DAE9), UINT32_C(0x0058023B), UINT32_C(0x000B5EAF),
9570           UINT32_C(0x00371744), UINT32_C(0x000EF4D7), UINT32_C(0x0008817F),
9571           UINT32_C(0x0002BE7F), UINT32_C(0x001EB13E), UINT32_C(0x002D1A5F),
9572           UINT32_C(0x0069630F), UINT32_C(0x00093D58), UINT32_C(0x0036D385),
9573           UINT32_C(0x002A3045), UINT32_C(0x0025C26B), UINT32_C(0x00111E19),
9574           UINT32_C(0x001756BF), UINT32_C(0x0035B39D)}},
9575         {{UINT32_C(0x00545C3C), UINT32_C(0x00137D2C), UINT32_C(0x000E7FAB),
9576           UINT32_C(0x000EB9AF), UINT32_C(0x002789FC), UINT32_C(0x001EF592),
9577           UINT32_C(0x0034210A), UINT32_C(0x002A5180), UINT32_C(0x0023EDAE),
9578           UINT32_C(0x000307F6), UINT32_C(0x0023CFAC), UINT32_C(0x001BF315),
9579           UINT32_C(0x0020B287), UINT32_C(0x000A3DE8), UINT32_C(0x00189938),
9580           UINT32_C(0x00378524), UINT32_C(0x002DEDDF), UINT32_C(0x00215405),
9581           UINT32_C(0x001398B5), UINT32_C(0x004827A1), UINT32_C(0x0018A82A),
9582           UINT32_C(0x000AB6B7), UINT32_C(0x00214B8A)},
9583          {UINT32_C(0x001B6EE1), UINT32_C(0x00134930), UINT32_C(0x002CB43D),
9584           UINT32_C(0x004DC974), UINT32_C(0x0031EAF7), UINT32_C(0x003BDA7E),
9585           UINT32_C(0x0033618E), UINT32_C(0x004A982D), UINT32_C(0x001B6E94),
9586           UINT32_C(0x000D4749), UINT32_C(0x0007D19B), UINT32_C(0x005FAAB5),
9587           UINT32_C(0x003F714A), UINT32_C(0x000E57A9), UINT32_C(0x0028FDD3),
9588           UINT32_C(0x0075BD17), UINT32_C(0x003D774F), UINT32_C(0x000E4D55),
9589           UINT32_C(0x003CA227), UINT32_C(0x000DF34F), UINT32_C(0x0028970F),
9590           UINT32_C(0x0036F5EA), UINT32_C(0x0022BC1B)},
9591          {UINT32_C(0x00475039), UINT32_C(0x00230014), UINT32_C(0x001FEA38),
9592           UINT32_C(0x005CCC55), UINT32_C(0x003C6941), UINT32_C(0x0022517F),
9593           UINT32_C(0x002D30E5), UINT32_C(0x00309B25), UINT32_C(0x00034CC8),
9594           UINT32_C(0x00356ED5), UINT32_C(0x0014FCA5), UINT32_C(0x0036104B),
9595           UINT32_C(0x001D0F11), UINT32_C(0x00273D12), UINT32_C(0x00170F1B),
9596           UINT32_C(0x0076D103), UINT32_C(0x001F613D), UINT32_C(0x001C9D53),
9597           UINT32_C(0x001F1400), UINT32_C(0x0076A382), UINT32_C(0x0025000D),
9598           UINT32_C(0x003B5419), UINT32_C(0x0015987C)}},
9599         {{UINT32_C(0x007F4AC5), UINT32_C(0x0008E500), UINT32_C(0x00016BA4),
9600           UINT32_C(0x007474E5), UINT32_C(0x0009CFB4), UINT32_C(0x001D6BB8),
9601           UINT32_C(0x003B23DD), UINT32_C(0x005DB100), UINT32_C(0x0008843B),
9602           UINT32_C(0x0012DA0A), UINT32_C(0x0024794D), UINT32_C(0x0026577B),
9603           UINT32_C(0x00240E5E), UINT32_C(0x00346C8E), UINT32_C(0x0027DC8C),
9604           UINT32_C(0x00634650), UINT32_C(0x00195F50), UINT32_C(0x00071E58),
9605           UINT32_C(0x000A83CF), UINT32_C(0x001B8E3D), UINT32_C(0x001D4281),
9606           UINT32_C(0x0014D35D), UINT32_C(0x002C222C)},
9607          {UINT32_C(0x0020B3A0), UINT32_C(0x0006028D), UINT32_C(0x002EB45A),
9608           UINT32_C(0x003DF458), UINT32_C(0x001D376C), UINT32_C(0x0018C400),
9609           UINT32_C(0x002C3A24), UINT32_C(0x00319F9A), UINT32_C(0x00022C40),
9610           UINT32_C(0x0002F8C6), UINT32_C(0x0022E290), UINT32_C(0x0026FD32),
9611           UINT32_C(0x00035216), UINT32_C(0x001D9C11), UINT32_C(0x001789F2),
9612           UINT32_C(0x000B1E8A), UINT32_C(0x000A64CD), UINT32_C(0x002909D1),
9613           UINT32_C(0x003F99FB), UINT32_C(0x0053ECE7), UINT32_C(0x00067860),
9614           UINT32_C(0x002534B2), UINT32_C(0x003F2F3F)},
9615          {UINT32_C(0x00231268), UINT32_C(0x000ED62F), UINT32_C(0x0031D715),
9616           UINT32_C(0x00518514), UINT32_C(0x003D37EF), UINT32_C(0x00083CBE),
9617           UINT32_C(0x001E2CE4), UINT32_C(0x007EC3F7), UINT32_C(0x0038FE97),
9618           UINT32_C(0x0018E538), UINT32_C(0x0014EF47), UINT32_C(0x007E9282),
9619           UINT32_C(0x002D63F2), UINT32_C(0x003161B4), UINT32_C(0x0039ADC6),
9620           UINT32_C(0x0007BA2A), UINT32_C(0x001FF255), UINT32_C(0x001874F8),
9621           UINT32_C(0x000AF0FD), UINT32_C(0x002AAAB7), UINT32_C(0x00298743),
9622           UINT32_C(0x00333D31), UINT32_C(0x000E50E3)}},
9623         {{UINT32_C(0x000F76FA), UINT32_C(0x001833CD), UINT32_C(0x0016A2D3),
9624           UINT32_C(0x006A2D69), UINT32_C(0x0002F385), UINT32_C(0x001F8454),
9625           UINT32_C(0x003FE32A), UINT32_C(0x004BABD6), UINT32_C(0x0003FDDB),
9626           UINT32_C(0x0012096E), UINT32_C(0x0024DC23), UINT32_C(0x00636CE5),
9627           UINT32_C(0x00055CB4), UINT32_C(0x0004F203), UINT32_C(0x0022C2DF),
9628           UINT32_C(0x00599D77), UINT32_C(0x0038B010), UINT32_C(0x003624FA),
9629           UINT32_C(0x002121D8), UINT32_C(0x006EB595), UINT32_C(0x000EB1AE),
9630           UINT32_C(0x0033B6F0), UINT32_C(0x001072A8)},
9631          {UINT32_C(0x00660A55), UINT32_C(0x000C0424), UINT32_C(0x0013326F),
9632           UINT32_C(0x00530EFA), UINT32_C(0x00038052), UINT32_C(0x003A7413),
9633           UINT32_C(0x0000B6CF), UINT32_C(0x0025BA64), UINT32_C(0x0006A2BE),
9634           UINT32_C(0x0039B086), UINT32_C(0x0007574E), UINT32_C(0x0018FDBB),
9635           UINT32_C(0x000714B1), UINT32_C(0x0026708B), UINT32_C(0x000515A5),
9636           UINT32_C(0x0043DEFC), UINT32_C(0x002CE885), UINT32_C(0x00171175),
9637           UINT32_C(0x002570F1), UINT32_C(0x004EE75A), UINT32_C(0x001930E0),
9638           UINT32_C(0x00155BBD), UINT32_C(0x000C64C5)},
9639          {UINT32_C(0x0034919D), UINT32_C(0x001443DB), UINT32_C(0x003E9123),
9640           UINT32_C(0x000E1842), UINT32_C(0x003545C9), UINT32_C(0x00098DB4),
9641           UINT32_C(0x00184A4D), UINT32_C(0x005DAFC4), UINT32_C(0x00098F85),
9642           UINT32_C(0x001EA9C6), UINT32_C(0x0023826A), UINT32_C(0x0069B06D),
9643           UINT32_C(0x001DFBA9), UINT32_C(0x000798BE), UINT32_C(0x000AE8AF),
9644           UINT32_C(0x00236B65), UINT32_C(0x001846C8), UINT32_C(0x003AB8DD),
9645           UINT32_C(0x002C7DB0), UINT32_C(0x00074EA7), UINT32_C(0x002DF25B),
9646           UINT32_C(0x001C28C7), UINT32_C(0x0025B6DE)}},
9647         {{UINT32_C(0x0063C056), UINT32_C(0x000F0F64), UINT32_C(0x0003AF88),
9648           UINT32_C(0x0026EF3F), UINT32_C(0x000ACF8A), UINT32_C(0x003B178B),
9649           UINT32_C(0x001A1B3F), UINT32_C(0x002802BE), UINT32_C(0x00141F1B),
9650           UINT32_C(0x001188F2), UINT32_C(0x003B7121), UINT32_C(0x0004B6A3),
9651           UINT32_C(0x0017E723), UINT32_C(0x0015DF00), UINT32_C(0x00395BAE),
9652           UINT32_C(0x0012A3E3), UINT32_C(0x000D5B27), UINT32_C(0x000EF7A7),
9653           UINT32_C(0x00108148), UINT32_C(0x0027EAAD), UINT32_C(0x000BC9DC),
9654           UINT32_C(0x00229BC0), UINT32_C(0x003E724E)},
9655          {UINT32_C(0x0065E7F8), UINT32_C(0x001505D9), UINT32_C(0x002AC40C),
9656           UINT32_C(0x003163A4), UINT32_C(0x003EDF4D), UINT32_C(0x0004F661),
9657           UINT32_C(0x003262E7), UINT32_C(0x003B5607), UINT32_C(0x002D19B3),
9658           UINT32_C(0x00107A09), UINT32_C(0x000F13CC), UINT32_C(0x004C7800),
9659           UINT32_C(0x0035B8E6), UINT32_C(0x00254CD7), UINT32_C(0x0006103F),
9660           UINT32_C(0x0041F4F8), UINT32_C(0x00122E7D), UINT32_C(0x00201C99),
9661           UINT32_C(0x003F9160), UINT32_C(0x0056128E), UINT32_C(0x0032FA32),
9662           UINT32_C(0x0019A4A9), UINT32_C(0x002E0115)},
9663          {UINT32_C(0x0012D79A), UINT32_C(0x000A6E34), UINT32_C(0x0008D368),
9664           UINT32_C(0x001977F5), UINT32_C(0x0011E966), UINT32_C(0x00123FE5),
9665           UINT32_C(0x00343FAC), UINT32_C(0x0012E1C9), UINT32_C(0x001AFF6C),
9666           UINT32_C(0x0023C0EC), UINT32_C(0x003A2A35), UINT32_C(0x005016A3),
9667           UINT32_C(0x002CF3B6), UINT32_C(0x00078BE6), UINT32_C(0x0008BE88),
9668           UINT32_C(0x005FC4FE), UINT32_C(0x00002694), UINT32_C(0x00258B13),
9669           UINT32_C(0x000ABDAE), UINT32_C(0x004B9DF4), UINT32_C(0x00187A2F),
9670           UINT32_C(0x0036EC5B), UINT32_C(0x002B7DF6)}},
9671         {{UINT32_C(0x006DAE2C), UINT32_C(0x00032CF3), UINT32_C(0x002D7562),
9672           UINT32_C(0x0032FF5D), UINT32_C(0x00070816), UINT32_C(0x000D011D),
9673           UINT32_C(0x000E17B7), UINT32_C(0x0038556C), UINT32_C(0x003DA262),
9674           UINT32_C(0x000AC037), UINT32_C(0x00112AE7), UINT32_C(0x001EB223),
9675           UINT32_C(0x002587C3), UINT32_C(0x001A3F55), UINT32_C(0x0022E756),
9676           UINT32_C(0x007D6544), UINT32_C(0x0035E36C), UINT32_C(0x00298741),
9677           UINT32_C(0x001945D2), UINT32_C(0x007E68FA), UINT32_C(0x003F5793),
9678           UINT32_C(0x0013306C), UINT32_C(0x00021451)},
9679          {UINT32_C(0x007CB839), UINT32_C(0x001964D3), UINT32_C(0x0007ED8E),
9680           UINT32_C(0x003AEF58), UINT32_C(0x002BC177), UINT32_C(0x000F6696),
9681           UINT32_C(0x0001CAEB), UINT32_C(0x00509C2B), UINT32_C(0x003F5DBB),
9682           UINT32_C(0x001131ED), UINT32_C(0x00151301), UINT32_C(0x0031F44F),
9683           UINT32_C(0x001D60F9), UINT32_C(0x001A36A3), UINT32_C(0x002696D3),
9684           UINT32_C(0x00713749), UINT32_C(0x000415F4), UINT32_C(0x000C2E1E),
9685           UINT32_C(0x0018E7EE), UINT32_C(0x006737C5), UINT32_C(0x00071BB7),
9686           UINT32_C(0x0008C358), UINT32_C(0x001F1407)},
9687          {UINT32_C(0x0042C734), UINT32_C(0x00009034), UINT32_C(0x001689FC),
9688           UINT32_C(0x00066E68), UINT32_C(0x0018F756), UINT32_C(0x001DCFDF),
9689           UINT32_C(0x00083DCC), UINT32_C(0x003841C9), UINT32_C(0x000DD192),
9690           UINT32_C(0x00122593), UINT32_C(0x0031A8DD), UINT32_C(0x00341616),
9691           UINT32_C(0x00196D74), UINT32_C(0x000B8D12), UINT32_C(0x000B5714),
9692           UINT32_C(0x006030FC), UINT32_C(0x00390678), UINT32_C(0x003AB96C),
9693           UINT32_C(0x00053F6E), UINT32_C(0x002C04AB), UINT32_C(0x001D12C3),
9694           UINT32_C(0x0035009E), UINT32_C(0x003DC316)}},
9695         {{UINT32_C(0x003D2EE8), UINT32_C(0x000EDDF2), UINT32_C(0x0016BD70),
9696           UINT32_C(0x00320C0C), UINT32_C(0x00052F43), UINT32_C(0x002FA0A8),
9697           UINT32_C(0x00065472), UINT32_C(0x00029362), UINT32_C(0x002C27A2),
9698           UINT32_C(0x0005E1BB), UINT32_C(0x0019992C), UINT32_C(0x00030905),
9699           UINT32_C(0x000BF0F4), UINT32_C(0x00209691), UINT32_C(0x00350247),
9700           UINT32_C(0x0057E044), UINT32_C(0x000E41CD), UINT32_C(0x0017F9EE),
9701           UINT32_C(0x00078967), UINT32_C(0x006ACE99), UINT32_C(0x0007C820),
9702           UINT32_C(0x00113D5C), UINT32_C(0x0038DA0A)},
9703          {UINT32_C(0x00083FE6), UINT32_C(0x001C1BC1), UINT32_C(0x000EB8D8),
9704           UINT32_C(0x0007692B), UINT32_C(0x00281516), UINT32_C(0x00155672),
9705           UINT32_C(0x000D8B29), UINT32_C(0x003E13E4), UINT32_C(0x003138BC),
9706           UINT32_C(0x003CACE6), UINT32_C(0x0035FA0F), UINT32_C(0x0023164A),
9707           UINT32_C(0x000EC9E6), UINT32_C(0x0023B1C7), UINT32_C(0x00225BFF),
9708           UINT32_C(0x007740C9), UINT32_C(0x0030F788), UINT32_C(0x00006D8C),
9709           UINT32_C(0x0002D6BD), UINT32_C(0x002603CE), UINT32_C(0x0005485E),
9710           UINT32_C(0x000E66C9), UINT32_C(0x00019E3E)},
9711          {UINT32_C(0x001300D5), UINT32_C(0x002C1C24), UINT32_C(0x0032064C),
9712           UINT32_C(0x0043F0E6), UINT32_C(0x000860BC), UINT32_C(0x0014A553),
9713           UINT32_C(0x0036075B), UINT32_C(0x001987D7), UINT32_C(0x002754F6),
9714           UINT32_C(0x00385EEF), UINT32_C(0x0013D858), UINT32_C(0x002C23BB),
9715           UINT32_C(0x0032C81D), UINT32_C(0x000E6F7D), UINT32_C(0x003C8EB3),
9716           UINT32_C(0x003644D0), UINT32_C(0x0013D21A), UINT32_C(0x0031FB11),
9717           UINT32_C(0x0028B7B0), UINT32_C(0x000E500E), UINT32_C(0x001DA66D),
9718           UINT32_C(0x0020B336), UINT32_C(0x00364559)}},
9719         {{UINT32_C(0x0008F24B), UINT32_C(0x003022F1), UINT32_C(0x00292D14),
9720           UINT32_C(0x00009DB0), UINT32_C(0x0012884B), UINT32_C(0x002CB622),
9721           UINT32_C(0x0009D61F), UINT32_C(0x0010FF0B), UINT32_C(0x0005C248),
9722           UINT32_C(0x00128DF1), UINT32_C(0x0014DD06), UINT32_C(0x0006C833),
9723           UINT32_C(0x00177E25), UINT32_C(0x00037C0E), UINT32_C(0x0029C2CD),
9724           UINT32_C(0x00072DE1), UINT32_C(0x001F0312), UINT32_C(0x0013FA86),
9725           UINT32_C(0x002E1D55), UINT32_C(0x000102DE), UINT32_C(0x00326586),
9726           UINT32_C(0x00089C95), UINT32_C(0x000D11CA)},
9727          {UINT32_C(0x001E5A41), UINT32_C(0x0014B02F), UINT32_C(0x002AFDA8),
9728           UINT32_C(0x003C8A99), UINT32_C(0x00304A64), UINT32_C(0x00254B15),
9729           UINT32_C(0x0001DEB3), UINT32_C(0x00481E27), UINT32_C(0x0032A61C),
9730           UINT32_C(0x000D6970), UINT32_C(0x00182CAA), UINT32_C(0x0034EC0A),
9731           UINT32_C(0x0019A25D), UINT32_C(0x001C8588), UINT32_C(0x003F689B),
9732           UINT32_C(0x00233BD8), UINT32_C(0x003ABCAA), UINT32_C(0x0033E7AF),
9733           UINT32_C(0x00375FA3), UINT32_C(0x001C8D11), UINT32_C(0x0021737A),
9734           UINT32_C(0x00102C76), UINT32_C(0x000C7526)},
9735          {UINT32_C(0x00352E1E), UINT32_C(0x002092B9), UINT32_C(0x0008105C),
9736           UINT32_C(0x007FB15D), UINT32_C(0x00255DD0), UINT32_C(0x000F061B),
9737           UINT32_C(0x0016C72F), UINT32_C(0x006E33F5), UINT32_C(0x003A9DD5),
9738           UINT32_C(0x0039695D), UINT32_C(0x003502FE), UINT32_C(0x003A705F),
9739           UINT32_C(0x00370221), UINT32_C(0x0030642F), UINT32_C(0x00163D04),
9740           UINT32_C(0x007BF9AC), UINT32_C(0x000A4C37), UINT32_C(0x001E0389),
9741           UINT32_C(0x001214FF), UINT32_C(0x001FF3D6), UINT32_C(0x003D5C3D),
9742           UINT32_C(0x0028CF11), UINT32_C(0x001AAA6A)}},
9743         {{UINT32_C(0x005BF790), UINT32_C(0x0007D0F3), UINT32_C(0x0001C51D),
9744           UINT32_C(0x0020772C), UINT32_C(0x00200268), UINT32_C(0x0001B52F),
9745           UINT32_C(0x00279ABE), UINT32_C(0x001F71CF), UINT32_C(0x00375D44),
9746           UINT32_C(0x000F0F65), UINT32_C(0x0027410E), UINT32_C(0x003D9BE0),
9747           UINT32_C(0x002C960C), UINT32_C(0x00003C9C), UINT32_C(0x003A7A25),
9748           UINT32_C(0x004F1756), UINT32_C(0x002CBE23), UINT32_C(0x0004069A),
9749           UINT32_C(0x00182C17), UINT32_C(0x005CFAF2), UINT32_C(0x00026993),
9750           UINT32_C(0x0009DA3A), UINT32_C(0x0039F360)},
9751          {UINT32_C(0x00364E82), UINT32_C(0x000346D3), UINT32_C(0x003D3445),
9752           UINT32_C(0x0000A6B7), UINT32_C(0x00037BD7), UINT32_C(0x001658EC),
9753           UINT32_C(0x0000B914), UINT32_C(0x006FA605), UINT32_C(0x001454EB),
9754           UINT32_C(0x002CE3C8), UINT32_C(0x003D9ACC), UINT32_C(0x007AF12D),
9755           UINT32_C(0x0021D6DC), UINT32_C(0x002CC083), UINT32_C(0x001879BA),
9756           UINT32_C(0x0051EE63), UINT32_C(0x0019F677), UINT32_C(0x0010AD1F),
9757           UINT32_C(0x002A0F9B), UINT32_C(0x0041EA60), UINT32_C(0x00277936),
9758           UINT32_C(0x00380AD2), UINT32_C(0x001D4704)},
9759          {UINT32_C(0x004BFEC6), UINT32_C(0x0001B656), UINT32_C(0x002537A7),
9760           UINT32_C(0x0074F164), UINT32_C(0x003DAAEE), UINT32_C(0x0030B1B3),
9761           UINT32_C(0x0028EFD7), UINT32_C(0x0063000E), UINT32_C(0x002E7006),
9762           UINT32_C(0x0006D43F), UINT32_C(0x003A92B0), UINT32_C(0x005CBF0D),
9763           UINT32_C(0x001B3D1C), UINT32_C(0x00155A03), UINT32_C(0x0013BCFB),
9764           UINT32_C(0x0022E3EA), UINT32_C(0x0009A093), UINT32_C(0x00372B6D),
9765           UINT32_C(0x003B3D4A), UINT32_C(0x0022BBAE), UINT32_C(0x002C8021),
9766           UINT32_C(0x002F7ACB), UINT32_C(0x002885FE)}},
9767         {{UINT32_C(0x003234EF), UINT32_C(0x0029B8C5), UINT32_C(0x001AE10C),
9768           UINT32_C(0x0016CD11), UINT32_C(0x003ACD42), UINT32_C(0x0009111E),
9769           UINT32_C(0x002E5197), UINT32_C(0x000CF7DD), UINT32_C(0x0002A45E),
9770           UINT32_C(0x0013DCB9), UINT32_C(0x0011DF8A), UINT32_C(0x0041E6A2),
9771           UINT32_C(0x003D6BEC), UINT32_C(0x0019831C), UINT32_C(0x0026F1BD),
9772           UINT32_C(0x001F02BE), UINT32_C(0x00291AD9), UINT32_C(0x000AEAD3),
9773           UINT32_C(0x000655DB), UINT32_C(0x004C8DC1), UINT32_C(0x0027BF77),
9774           UINT32_C(0x0017E4AD), UINT32_C(0x00376E83)},
9775          {UINT32_C(0x006C4C88), UINT32_C(0x003238DA), UINT32_C(0x000D5920),
9776           UINT32_C(0x002DB750), UINT32_C(0x0035FA90), UINT32_C(0x000C2BC9),
9777           UINT32_C(0x002DB3D0), UINT32_C(0x00373A80), UINT32_C(0x002E0271),
9778           UINT32_C(0x003818B5), UINT32_C(0x003209D6), UINT32_C(0x003D0A96),
9779           UINT32_C(0x0007BE66), UINT32_C(0x00306A1A), UINT32_C(0x001E42D6),
9780           UINT32_C(0x0021C5C7), UINT32_C(0x00255B61), UINT32_C(0x002E2400),
9781           UINT32_C(0x000B30C1), UINT32_C(0x0012F49E), UINT32_C(0x000E248A),
9782           UINT32_C(0x003BBE77), UINT32_C(0x0008EEED)},
9783          {UINT32_C(0x0014067A), UINT32_C(0x002CF299), UINT32_C(0x00082BEF),
9784           UINT32_C(0x00130694), UINT32_C(0x0018C073), UINT32_C(0x000CA3AA),
9785           UINT32_C(0x00128835), UINT32_C(0x0023457E), UINT32_C(0x000FF51F),
9786           UINT32_C(0x003F8C44), UINT32_C(0x003FA288), UINT32_C(0x00269665),
9787           UINT32_C(0x00080B90), UINT32_C(0x000CFEE1), UINT32_C(0x003F3285),
9788           UINT32_C(0x000DF6EE), UINT32_C(0x000B1087), UINT32_C(0x00107D3D),
9789           UINT32_C(0x00311E7D), UINT32_C(0x007CA53C), UINT32_C(0x0033FCA6),
9790           UINT32_C(0x00263A19), UINT32_C(0x00363624)}},
9791         {{UINT32_C(0x001DDC6C), UINT32_C(0x003A0EDE), UINT32_C(0x001408D0),
9792           UINT32_C(0x001EEE7B), UINT32_C(0x001405FC), UINT32_C(0x00128750),
9793           UINT32_C(0x002CA34C), UINT32_C(0x0000FBEA), UINT32_C(0x0006137A),
9794           UINT32_C(0x00370D1A), UINT32_C(0x003B6A04), UINT32_C(0x00057D79),
9795           UINT32_C(0x0028B50F), UINT32_C(0x0013A132), UINT32_C(0x0007EB68),
9796           UINT32_C(0x007A7017), UINT32_C(0x002517C9), UINT32_C(0x00219256),
9797           UINT32_C(0x003E617C), UINT32_C(0x00456ECE), UINT32_C(0x0011278F),
9798           UINT32_C(0x001624F1), UINT32_C(0x0003C0F7)},
9799          {UINT32_C(0x000AF6C0), UINT32_C(0x003DA705), UINT32_C(0x000CC5A4),
9800           UINT32_C(0x00045A7B), UINT32_C(0x0030E620), UINT32_C(0x0005489D),
9801           UINT32_C(0x00350783), UINT32_C(0x00053DBD), UINT32_C(0x0016C68B),
9802           UINT32_C(0x002D182B), UINT32_C(0x00294A05), UINT32_C(0x00749DE2),
9803           UINT32_C(0x000DDD4D), UINT32_C(0x003B31A2), UINT32_C(0x00197D97),
9804           UINT32_C(0x006BBE3E), UINT32_C(0x003FF605), UINT32_C(0x00049D4F),
9805           UINT32_C(0x00312E4D), UINT32_C(0x003F5019), UINT32_C(0x003E1C7F),
9806           UINT32_C(0x003D1C1D), UINT32_C(0x003D261E)},
9807          {UINT32_C(0x0026418D), UINT32_C(0x00292458), UINT32_C(0x001A1FC4),
9808           UINT32_C(0x00617DF6), UINT32_C(0x0024EEF7), UINT32_C(0x000F2BD5),
9809           UINT32_C(0x0034E0B9), UINT32_C(0x006C6D66), UINT32_C(0x00074BA2),
9810           UINT32_C(0x001A4D76), UINT32_C(0x00306BE0), UINT32_C(0x0002376E),
9811           UINT32_C(0x0005EF92), UINT32_C(0x003EBB91), UINT32_C(0x0024BA60),
9812           UINT32_C(0x001BA73C), UINT32_C(0x00222A6B), UINT32_C(0x0018DAEF),
9813           UINT32_C(0x00141DE7), UINT32_C(0x00390908), UINT32_C(0x0035530C),
9814           UINT32_C(0x0002CD8D), UINT32_C(0x00077882)}},
9815         {{UINT32_C(0x00440DE3), UINT32_C(0x002D9BF2), UINT32_C(0x000C1E19),
9816           UINT32_C(0x0013C1C8), UINT32_C(0x00318020), UINT32_C(0x001DCAEC),
9817           UINT32_C(0x00064315), UINT32_C(0x00335FB3), UINT32_C(0x00146401),
9818           UINT32_C(0x0035671E), UINT32_C(0x0008E31D), UINT32_C(0x0069E0DB),
9819           UINT32_C(0x00071FA1), UINT32_C(0x0039CF3B), UINT32_C(0x0018E811),
9820           UINT32_C(0x002DB19F), UINT32_C(0x001279C0), UINT32_C(0x0029FDEB),
9821           UINT32_C(0x002EF592), UINT32_C(0x005F5F4A), UINT32_C(0x000A323A),
9822           UINT32_C(0x002C8BBB), UINT32_C(0x00326780)},
9823          {UINT32_C(0x000CB270), UINT32_C(0x00086BD0), UINT32_C(0x0036C911),
9824           UINT32_C(0x0005F16E), UINT32_C(0x00359A7C), UINT32_C(0x0033FFDF),
9825           UINT32_C(0x002FE3CF), UINT32_C(0x00286EBC), UINT32_C(0x00282C12),
9826           UINT32_C(0x0032282A), UINT32_C(0x002231DA), UINT32_C(0x00000319),
9827           UINT32_C(0x003D8930), UINT32_C(0x002056B8), UINT32_C(0x003104E7),
9828           UINT32_C(0x0006E83C), UINT32_C(0x0003636A), UINT32_C(0x0024CB95),
9829           UINT32_C(0x002DE038), UINT32_C(0x00081E87), UINT32_C(0x0034B889),
9830           UINT32_C(0x000F9915), UINT32_C(0x00310022)},
9831          {UINT32_C(0x0040A26D), UINT32_C(0x002410E6), UINT32_C(0x0033665C),
9832           UINT32_C(0x005EB45D), UINT32_C(0x0001C554), UINT32_C(0x00031D73),
9833           UINT32_C(0x000EA84F), UINT32_C(0x006564D6), UINT32_C(0x001F3357),
9834           UINT32_C(0x0020481A), UINT32_C(0x00180940), UINT32_C(0x003BF11D),
9835           UINT32_C(0x002AF372), UINT32_C(0x002559BC), UINT32_C(0x00178008),
9836           UINT32_C(0x000A361C), UINT32_C(0x0037281D), UINT32_C(0x000742C0),
9837           UINT32_C(0x003B03D2), UINT32_C(0x005EBA80), UINT32_C(0x003348EE),
9838           UINT32_C(0x00332C9E), UINT32_C(0x00131D23)}},
9839         {{UINT32_C(0x004F558D), UINT32_C(0x00110D2E), UINT32_C(0x0010B290),
9840           UINT32_C(0x00298F39), UINT32_C(0x001A9DD0), UINT32_C(0x00045042),
9841           UINT32_C(0x00074453), UINT32_C(0x0031D6D7), UINT32_C(0x0007787F),
9842           UINT32_C(0x002DAAA8), UINT32_C(0x003148F0), UINT32_C(0x00014722),
9843           UINT32_C(0x001A5F6A), UINT32_C(0x00101BC3), UINT32_C(0x00127243),
9844           UINT32_C(0x007D18A1), UINT32_C(0x002A51D2), UINT32_C(0x0025ED49),
9845           UINT32_C(0x003D93AC), UINT32_C(0x0000A172), UINT32_C(0x002D4427),
9846           UINT32_C(0x0035288C), UINT32_C(0x000733E5)},
9847          {UINT32_C(0x004F5F03), UINT32_C(0x003E1845), UINT32_C(0x0006AEB2),
9848           UINT32_C(0x0072B386), UINT32_C(0x00309DB4), UINT32_C(0x002E4AE4),
9849           UINT32_C(0x001C33C4), UINT32_C(0x0064AA28), UINT32_C(0x003A80E7),
9850           UINT32_C(0x0018D735), UINT32_C(0x0035E7AB), UINT32_C(0x0049C50A),
9851           UINT32_C(0x0011BF7D), UINT32_C(0x001CF85A), UINT32_C(0x00310DD1),
9852           UINT32_C(0x00755DE3), UINT32_C(0x001EF133), UINT32_C(0x0019EC22),
9853           UINT32_C(0x00093BF1), UINT32_C(0x0079C3FF), UINT32_C(0x0035788E),
9854           UINT32_C(0x003BCE6D), UINT32_C(0x00319941)},
9855          {UINT32_C(0x00320489), UINT32_C(0x0013DD6F), UINT32_C(0x0030C812),
9856           UINT32_C(0x0058EFB4), UINT32_C(0x00199A57), UINT32_C(0x0001DCC5),
9857           UINT32_C(0x00397377), UINT32_C(0x006262B8), UINT32_C(0x002B88C5),
9858           UINT32_C(0x0009A7A2), UINT32_C(0x000243A8), UINT32_C(0x000FE111),
9859           UINT32_C(0x00388C89), UINT32_C(0x0011A2E9), UINT32_C(0x00227DAE),
9860           UINT32_C(0x004E02B8), UINT32_C(0x0004E7BC), UINT32_C(0x0003B33F),
9861           UINT32_C(0x0003C0C6), UINT32_C(0x0025DF7E), UINT32_C(0x003A82E0),
9862           UINT32_C(0x003930EE), UINT32_C(0x0013C142)}},
9863         {{UINT32_C(0x0066CDFE), UINT32_C(0x000F2EAC), UINT32_C(0x00131171),
9864           UINT32_C(0x000D830C), UINT32_C(0x00073ABF), UINT32_C(0x0006D5DB),
9865           UINT32_C(0x0019F2ED), UINT32_C(0x007D8846), UINT32_C(0x002CDE7E),
9866           UINT32_C(0x001F8420), UINT32_C(0x00248809), UINT32_C(0x0070E344),
9867           UINT32_C(0x00068413), UINT32_C(0x000706E0), UINT32_C(0x002454A6),
9868           UINT32_C(0x003C1F38), UINT32_C(0x0020840E), UINT32_C(0x00308F2A),
9869           UINT32_C(0x003B026E), UINT32_C(0x0055D941), UINT32_C(0x0026CD7D),
9870           UINT32_C(0x00041FFB), UINT32_C(0x0016E182)},
9871          {UINT32_C(0x00498EA7), UINT32_C(0x0028466B), UINT32_C(0x002EE6E4),
9872           UINT32_C(0x005ADB8E), UINT32_C(0x0034DF94), UINT32_C(0x0016E8FA),
9873           UINT32_C(0x000DD486), UINT32_C(0x0022172A), UINT32_C(0x0026F797),
9874           UINT32_C(0x003EA2F7), UINT32_C(0x003F32FE), UINT32_C(0x00761C80),
9875           UINT32_C(0x00141A4B), UINT32_C(0x003A2DC0), UINT32_C(0x003F2489),
9876           UINT32_C(0x00284EBF), UINT32_C(0x00324946), UINT32_C(0x00098DC6),
9877           UINT32_C(0x00140160), UINT32_C(0x001637DD), UINT32_C(0x0032460F),
9878           UINT32_C(0x001DCD38), UINT32_C(0x0024F529)},
9879          {UINT32_C(0x0033F90C), UINT32_C(0x000B2B06), UINT32_C(0x0010AC6C),
9880           UINT32_C(0x000D4C79), UINT32_C(0x0028ACCF), UINT32_C(0x003882B8),
9881           UINT32_C(0x003627FD), UINT32_C(0x0077768C), UINT32_C(0x00060B8A),
9882           UINT32_C(0x00175AB9), UINT32_C(0x0020A7D7), UINT32_C(0x0036E54C),
9883           UINT32_C(0x0026B20A), UINT32_C(0x000E710C), UINT32_C(0x0024597D),
9884           UINT32_C(0x0019E845), UINT32_C(0x0028672C), UINT32_C(0x0021B0CC),
9885           UINT32_C(0x0023D9E3), UINT32_C(0x001692C6), UINT32_C(0x0001D045),
9886           UINT32_C(0x00097657), UINT32_C(0x000370F6)}},
9887         {{UINT32_C(0x007B9005), UINT32_C(0x0027B1D5), UINT32_C(0x0030BCA5),
9888           UINT32_C(0x0033E7A3), UINT32_C(0x00260D50), UINT32_C(0x000425F4),
9889           UINT32_C(0x002BF81B), UINT32_C(0x0056DC12), UINT32_C(0x001C3248),
9890           UINT32_C(0x0023BE6A), UINT32_C(0x0031838D), UINT32_C(0x006C6DD9),
9891           UINT32_C(0x002FD065), UINT32_C(0x003EC34D), UINT32_C(0x001B79C8),
9892           UINT32_C(0x0061CFCC), UINT32_C(0x002C377E), UINT32_C(0x0005C2A1),
9893           UINT32_C(0x00142560), UINT32_C(0x0007DCCB), UINT32_C(0x00238949),
9894           UINT32_C(0x0011710D), UINT32_C(0x0036AE4C)},
9895          {UINT32_C(0x002C3F57), UINT32_C(0x0007550E), UINT32_C(0x00145D0D),
9896           UINT32_C(0x00172C44), UINT32_C(0x00166B15), UINT32_C(0x003F673A),
9897           UINT32_C(0x001F41B9), UINT32_C(0x0038E3E7), UINT32_C(0x000ED8FE),
9898           UINT32_C(0x0026F447), UINT32_C(0x00141659), UINT32_C(0x004024EA),
9899           UINT32_C(0x0014C9B2), UINT32_C(0x0021B32A), UINT32_C(0x00362710),
9900           UINT32_C(0x00791C00), UINT32_C(0x0012A6F2), UINT32_C(0x003E23AE),
9901           UINT32_C(0x00359C46), UINT32_C(0x0056019B), UINT32_C(0x0024CD68),
9902           UINT32_C(0x0018639D), UINT32_C(0x000AA1E5)},
9903          {UINT32_C(0x003EB03A), UINT32_C(0x0005BD4E), UINT32_C(0x0026A08D),
9904           UINT32_C(0x00767FC9), UINT32_C(0x000AE7A8), UINT32_C(0x00302EFF),
9905           UINT32_C(0x000E751E), UINT32_C(0x000221EB), UINT32_C(0x0013D036),
9906           UINT32_C(0x000B5F88), UINT32_C(0x00195DE4), UINT32_C(0x007C1167),
9907           UINT32_C(0x000F8BFB), UINT32_C(0x002A2BF5), UINT32_C(0x001374E2),
9908           UINT32_C(0x005BAA0D), UINT32_C(0x0034A333), UINT32_C(0x002DB57E),
9909           UINT32_C(0x002A02CC), UINT32_C(0x00497D58), UINT32_C(0x000647E9),
9910           UINT32_C(0x00212584), UINT32_C(0x0028AE2E)}},
9911     },
9912     {
9913         {{UINT32_C(0x0056CAA9), UINT32_C(0x002ED942), UINT32_C(0x00066832),
9914           UINT32_C(0x000E005C), UINT32_C(0x000212C9), UINT32_C(0x000A5796),
9915           UINT32_C(0x0039920F), UINT32_C(0x00085F1D), UINT32_C(0x00361285),
9916           UINT32_C(0x00307080), UINT32_C(0x00062627), UINT32_C(0x007D6AAA),
9917           UINT32_C(0x002FAD3A), UINT32_C(0x001F916B), UINT32_C(0x0019CDED),
9918           UINT32_C(0x0060F8EF), UINT32_C(0x00006CD6), UINT32_C(0x0009A576),
9919           UINT32_C(0x0004244C), UINT32_C(0x0056B6F1), UINT32_C(0x0027D5EC),
9920           UINT32_C(0x001C22FE), UINT32_C(0x0020CA2B)},
9921          {UINT32_C(0x00638473), UINT32_C(0x0028A459), UINT32_C(0x0008F882),
9922           UINT32_C(0x00300359), UINT32_C(0x001A0569), UINT32_C(0x000733C8),
9923           UINT32_C(0x000AA690), UINT32_C(0x002854FD), UINT32_C(0x003A42AB),
9924           UINT32_C(0x00005D85), UINT32_C(0x003EC955), UINT32_C(0x00276DAB),
9925           UINT32_C(0x002C69D6), UINT32_C(0x0028E861), UINT32_C(0x003C6252),
9926           UINT32_C(0x001693C6), UINT32_C(0x00067C90), UINT32_C(0x00135D5A),
9927           UINT32_C(0x0019BAA5), UINT32_C(0x00638A4D), UINT32_C(0x001C54F3),
9928           UINT32_C(0x0036958E), UINT32_C(0x00229409)},
9929          {UINT32_C(0x003694AD), UINT32_C(0x003CDD1D), UINT32_C(0x002BB2CB),
9930           UINT32_C(0x000F907F), UINT32_C(0x00217793), UINT32_C(0x001C10F3),
9931           UINT32_C(0x0007C509), UINT32_C(0x0055ED5B), UINT32_C(0x003FC009),
9932           UINT32_C(0x0013833E), UINT32_C(0x000AFDAF), UINT32_C(0x0003DFB2),
9933           UINT32_C(0x002EBC1F), UINT32_C(0x00268005), UINT32_C(0x0028835F),
9934           UINT32_C(0x002FE0AF), UINT32_C(0x002E65E7), UINT32_C(0x002D7AC4),
9935           UINT32_C(0x0016B704), UINT32_C(0x0034371A), UINT32_C(0x00333D73),
9936           UINT32_C(0x00117F49), UINT32_C(0x003508FB)}},
9937         {{UINT32_C(0x0024288F), UINT32_C(0x00003DD4), UINT32_C(0x00121C5C),
9938           UINT32_C(0x00771CBC), UINT32_C(0x003BF063), UINT32_C(0x0002294B),
9939           UINT32_C(0x0031319F), UINT32_C(0x00643727), UINT32_C(0x00319F6F),
9940           UINT32_C(0x0008B82B), UINT32_C(0x00101D49), UINT32_C(0x00546EE5),
9941           UINT32_C(0x00238C40), UINT32_C(0x00030CAC), UINT32_C(0x00190408),
9942           UINT32_C(0x007C0F5A), UINT32_C(0x0015EAFD), UINT32_C(0x00024A8F),
9943           UINT32_C(0x00365016), UINT32_C(0x002D2DBA), UINT32_C(0x001F751C),
9944           UINT32_C(0x0003964A), UINT32_C(0x002F92CB)},
9945          {UINT32_C(0x00561A15), UINT32_C(0x003B4C37), UINT32_C(0x001C36B5),
9946           UINT32_C(0x002ED2E4), UINT32_C(0x0002231B), UINT32_C(0x001ADAF5),
9947           UINT32_C(0x00270194), UINT32_C(0x0009DBF0), UINT32_C(0x00287239),
9948           UINT32_C(0x00080B2D), UINT32_C(0x002EB25E), UINT32_C(0x0032ED93),
9949           UINT32_C(0x00164DC0), UINT32_C(0x002F327A), UINT32_C(0x00130078),
9950           UINT32_C(0x001841D3), UINT32_C(0x00049BC2), UINT32_C(0x00048E93),
9951           UINT32_C(0x001B59E7), UINT32_C(0x006243C6), UINT32_C(0x00394260),
9952           UINT32_C(0x0017BC8D), UINT32_C(0x00176B2A)},
9953          {UINT32_C(0x00041022), UINT32_C(0x0006B154), UINT32_C(0x0027CADC),
9954           UINT32_C(0x00627B5A), UINT32_C(0x001965DA), UINT32_C(0x002D1BDB),
9955           UINT32_C(0x001B16FE), UINT32_C(0x0016A869), UINT32_C(0x002540EA),
9956           UINT32_C(0x003B4B72), UINT32_C(0x0013ECCC), UINT32_C(0x00581A5A),
9957           UINT32_C(0x002C2192), UINT32_C(0x002588BF), UINT32_C(0x001CC31E),
9958           UINT32_C(0x0053D1B3), UINT32_C(0x003845C2), UINT32_C(0x00234BBE),
9959           UINT32_C(0x0007ABDF), UINT32_C(0x00567DC1), UINT32_C(0x00204D8E),
9960           UINT32_C(0x00161734), UINT32_C(0x00062C35)}},
9961         {{UINT32_C(0x000DD434), UINT32_C(0x0027577F), UINT32_C(0x00224BAB),
9962           UINT32_C(0x001F24C1), UINT32_C(0x00225696), UINT32_C(0x00241E15),
9963           UINT32_C(0x001CEBF5), UINT32_C(0x005549C7), UINT32_C(0x003C9373),
9964           UINT32_C(0x002DCBA3), UINT32_C(0x002A3CBA), UINT32_C(0x001EE227),
9965           UINT32_C(0x0020FD58), UINT32_C(0x0007BFF7), UINT32_C(0x00341B3D),
9966           UINT32_C(0x0047E8D4), UINT32_C(0x0011C543), UINT32_C(0x00386E9E),
9967           UINT32_C(0x00232B8F), UINT32_C(0x0043836A), UINT32_C(0x0001E14C),
9968           UINT32_C(0x00136E35), UINT32_C(0x002D423A)},
9969          {UINT32_C(0x005DA3DC), UINT32_C(0x003E4B5E), UINT32_C(0x00182E1B),
9970           UINT32_C(0x004D3F17), UINT32_C(0x00358964), UINT32_C(0x002F6CDB),
9971           UINT32_C(0x000FA963), UINT32_C(0x00530F85), UINT32_C(0x003FCE01),
9972           UINT32_C(0x0027B181), UINT32_C(0x0016C4E2), UINT32_C(0x001A24B7),
9973           UINT32_C(0x003A2690), UINT32_C(0x002BAD95), UINT32_C(0x000A878E),
9974           UINT32_C(0x0049FA0F), UINT32_C(0x00200790), UINT32_C(0x0007745A),
9975           UINT32_C(0x001A19FB), UINT32_C(0x00524E6F), UINT32_C(0x00167AEF),
9976           UINT32_C(0x00318813), UINT32_C(0x000BF477)},
9977          {UINT32_C(0x00446FFB), UINT32_C(0x000E720D), UINT32_C(0x0013A7AD),
9978           UINT32_C(0x002F3160), UINT32_C(0x0020ACA2), UINT32_C(0x0031E19F),
9979           UINT32_C(0x002C99C7), UINT32_C(0x0053FC61), UINT32_C(0x000B444B),
9980           UINT32_C(0x000432E3), UINT32_C(0x0020DFE5), UINT32_C(0x0000DCBD),
9981           UINT32_C(0x002A6660), UINT32_C(0x0035A737), UINT32_C(0x0016191B),
9982           UINT32_C(0x006DFEF3), UINT32_C(0x0007D074), UINT32_C(0x0015B6DA),
9983           UINT32_C(0x000E1D85), UINT32_C(0x0040898C), UINT32_C(0x000F18DD),
9984           UINT32_C(0x0016A189), UINT32_C(0x00259E34)}},
9985         {{UINT32_C(0x004D2036), UINT32_C(0x00198B36), UINT32_C(0x0006CEDC),
9986           UINT32_C(0x0028C725), UINT32_C(0x003381EA), UINT32_C(0x0037C857),
9987           UINT32_C(0x00239AE3), UINT32_C(0x000B8343), UINT32_C(0x0013B8A1),
9988           UINT32_C(0x0004CA9C), UINT32_C(0x00341F6F), UINT32_C(0x002C9D36),
9989           UINT32_C(0x0002B4CE), UINT32_C(0x000F979A), UINT32_C(0x00005E1A),
9990           UINT32_C(0x0003C162), UINT32_C(0x000C805D), UINT32_C(0x00171240),
9991           UINT32_C(0x00200E07), UINT32_C(0x005B5010), UINT32_C(0x0019D606),
9992           UINT32_C(0x00226023), UINT32_C(0x0023D266)},
9993          {UINT32_C(0x00240CF2), UINT32_C(0x002268F3), UINT32_C(0x0025D159),
9994           UINT32_C(0x003C1B6F), UINT32_C(0x00214C16), UINT32_C(0x0022D5EA),
9995           UINT32_C(0x001D06D1), UINT32_C(0x007104A8), UINT32_C(0x002198F4),
9996           UINT32_C(0x002EAE4A), UINT32_C(0x001A0374), UINT32_C(0x00128B26),
9997           UINT32_C(0x00156B81), UINT32_C(0x00380AB8), UINT32_C(0x00000B34),
9998           UINT32_C(0x0032FD36), UINT32_C(0x0035997F), UINT32_C(0x001DDD23),
9999           UINT32_C(0x000F9701), UINT32_C(0x003D11DD), UINT32_C(0x00219A73),
10000           UINT32_C(0x0009572E), UINT32_C(0x0007E79A)},
10001          {UINT32_C(0x004E4AD4), UINT32_C(0x0038839D), UINT32_C(0x0031F346),
10002           UINT32_C(0x00188C54), UINT32_C(0x000CE5E2), UINT32_C(0x000BCB59),
10003           UINT32_C(0x0036662E), UINT32_C(0x007DF8FB), UINT32_C(0x000E4805),
10004           UINT32_C(0x0038EDC7), UINT32_C(0x00209BB0), UINT32_C(0x006A5B00),
10005           UINT32_C(0x0005DC69), UINT32_C(0x001AE66C), UINT32_C(0x00175257),
10006           UINT32_C(0x006D0BBF), UINT32_C(0x00158611), UINT32_C(0x003EFEA8),
10007           UINT32_C(0x000E0C1D), UINT32_C(0x0050DC3B), UINT32_C(0x00008337),
10008           UINT32_C(0x001869C2), UINT32_C(0x003FD81D)}},
10009         {{UINT32_C(0x0050CB64), UINT32_C(0x002429A6), UINT32_C(0x00382136),
10010           UINT32_C(0x0054F357), UINT32_C(0x003794A8), UINT32_C(0x001F187A),
10011           UINT32_C(0x000F2E75), UINT32_C(0x001AC75C), UINT32_C(0x002C3E90),
10012           UINT32_C(0x002E6B5E), UINT32_C(0x0039AC0E), UINT32_C(0x004F180B),
10013           UINT32_C(0x0020C545), UINT32_C(0x003FD3EB), UINT32_C(0x000C1453),
10014           UINT32_C(0x0017FAB0), UINT32_C(0x002E55DE), UINT32_C(0x0031C1C1),
10015           UINT32_C(0x002659CA), UINT32_C(0x0053E22F), UINT32_C(0x00377EA4),
10016           UINT32_C(0x0011C7AF), UINT32_C(0x0005E66B)},
10017          {UINT32_C(0x005F2793), UINT32_C(0x000FABF6), UINT32_C(0x00138DB2),
10018           UINT32_C(0x0003EF56), UINT32_C(0x003C44CD), UINT32_C(0x002D1772),
10019           UINT32_C(0x00296103), UINT32_C(0x0010A045), UINT32_C(0x003F081B),
10020           UINT32_C(0x0003CA53), UINT32_C(0x00319331), UINT32_C(0x001F65B4),
10021           UINT32_C(0x002E09B1), UINT32_C(0x003544F7), UINT32_C(0x002E0977),
10022           UINT32_C(0x007A91C1), UINT32_C(0x000E98E1), UINT32_C(0x003C2830),
10023           UINT32_C(0x001F751E), UINT32_C(0x000FE9DE), UINT32_C(0x00104CA6),
10024           UINT32_C(0x00084E9F), UINT32_C(0x002EDF68)},
10025          {UINT32_C(0x001753AE), UINT32_C(0x0015176B), UINT32_C(0x001D49C2),
10026           UINT32_C(0x005271F0), UINT32_C(0x000E3B9D), UINT32_C(0x002A9E63),
10027           UINT32_C(0x00147498), UINT32_C(0x0028C096), UINT32_C(0x0038F62A),
10028           UINT32_C(0x001E8789), UINT32_C(0x001E1D5C), UINT32_C(0x003504A2),
10029           UINT32_C(0x0026FE76), UINT32_C(0x001C16A5), UINT32_C(0x001B3F89),
10030           UINT32_C(0x0043DB5A), UINT32_C(0x00106CD7), UINT32_C(0x00317E3F),
10031           UINT32_C(0x00332597), UINT32_C(0x003737FB), UINT32_C(0x003F7130),
10032           UINT32_C(0x002A1EA9), UINT32_C(0x003BE9DE)}},
10033         {{UINT32_C(0x003FC808), UINT32_C(0x002F762E), UINT32_C(0x003004D3),
10034           UINT32_C(0x00384DB9), UINT32_C(0x002349A4), UINT32_C(0x0032B0E8),
10035           UINT32_C(0x00152A07), UINT32_C(0x00361460), UINT32_C(0x0039BDD3),
10036           UINT32_C(0x0017D898), UINT32_C(0x00228C11), UINT32_C(0x0061443C),
10037           UINT32_C(0x0033C414), UINT32_C(0x001922E8), UINT32_C(0x0033EB75),
10038           UINT32_C(0x006856CB), UINT32_C(0x000D4491), UINT32_C(0x00089ED9),
10039           UINT32_C(0x001713B8), UINT32_C(0x000737CA), UINT32_C(0x0037B4BB),
10040           UINT32_C(0x00137C25), UINT32_C(0x00157928)},
10041          {UINT32_C(0x005C5870), UINT32_C(0x0013A25A), UINT32_C(0x001376B2),
10042           UINT32_C(0x007F3687), UINT32_C(0x000DD1CA), UINT32_C(0x00144BD1),
10043           UINT32_C(0x00205B88), UINT32_C(0x0030B67A), UINT32_C(0x002F2ED7),
10044           UINT32_C(0x002BBB97), UINT32_C(0x0006DE0E), UINT32_C(0x0042D5EF),
10045           UINT32_C(0x0020BC9E), UINT32_C(0x001DFACA), UINT32_C(0x00176018),
10046           UINT32_C(0x00557358), UINT32_C(0x000A2A03), UINT32_C(0x0017F6AA),
10047           UINT32_C(0x001A348A), UINT32_C(0x0063CCCE), UINT32_C(0x0019E3CD),
10048           UINT32_C(0x001CAF72), UINT32_C(0x0008A7AC)},
10049          {UINT32_C(0x00073284), UINT32_C(0x0016A772), UINT32_C(0x001B02B4),
10050           UINT32_C(0x003DCC2C), UINT32_C(0x001275AC), UINT32_C(0x0013EC26),
10051           UINT32_C(0x0039548F), UINT32_C(0x0032AC62), UINT32_C(0x002E6D0F),
10052           UINT32_C(0x0020A687), UINT32_C(0x0034013D), UINT32_C(0x002FBD07),
10053           UINT32_C(0x0027B2FE), UINT32_C(0x000AB0F8), UINT32_C(0x000DFCFE),
10054           UINT32_C(0x004B5DB3), UINT32_C(0x0031570E), UINT32_C(0x002A4886),
10055           UINT32_C(0x000AA957), UINT32_C(0x005D7580), UINT32_C(0x001EBED6),
10056           UINT32_C(0x00253717), UINT32_C(0x001A649B)}},
10057         {{UINT32_C(0x006C4CB2), UINT32_C(0x001FB3E4), UINT32_C(0x0015B9F8),
10058           UINT32_C(0x00361781), UINT32_C(0x002C10D3), UINT32_C(0x001D9D87),
10059           UINT32_C(0x0034274C), UINT32_C(0x0021EBF4), UINT32_C(0x0033DC87),
10060           UINT32_C(0x000ADD4D), UINT32_C(0x003051CC), UINT32_C(0x0069D7F2),
10061           UINT32_C(0x002CFFFE), UINT32_C(0x0014E44A), UINT32_C(0x00049CA0),
10062           UINT32_C(0x003CBED6), UINT32_C(0x001BF1E2), UINT32_C(0x0014C23E),
10063           UINT32_C(0x000B6EB5), UINT32_C(0x002DB65D), UINT32_C(0x0005CB32),
10064           UINT32_C(0x00038B9C), UINT32_C(0x0007883B)},
10065          {UINT32_C(0x003EF9A6), UINT32_C(0x001E1E72), UINT32_C(0x00118E1F),
10066           UINT32_C(0x000DD4EE), UINT32_C(0x001621A6), UINT32_C(0x003726A5),
10067           UINT32_C(0x0005CB81), UINT32_C(0x0066CE7A), UINT32_C(0x000248A4),
10068           UINT32_C(0x002D7AFD), UINT32_C(0x0014ACD8), UINT32_C(0x0025639C),
10069           UINT32_C(0x0009A8A5), UINT32_C(0x003318F4), UINT32_C(0x000F0BF7),
10070           UINT32_C(0x005062DE), UINT32_C(0x000024A9), UINT32_C(0x000E22D2),
10071           UINT32_C(0x001E48E9), UINT32_C(0x0021E288), UINT32_C(0x0036DB79),
10072           UINT32_C(0x002F277C), UINT32_C(0x002B4193)},
10073          {UINT32_C(0x001EA6FE), UINT32_C(0x0031EE3B), UINT32_C(0x00045D18),
10074           UINT32_C(0x007B886D), UINT32_C(0x003AB025), UINT32_C(0x003CB9DC),
10075           UINT32_C(0x001E395D), UINT32_C(0x003B02BB), UINT32_C(0x00117981),
10076           UINT32_C(0x0019571F), UINT32_C(0x0012104C), UINT32_C(0x0015B662),
10077           UINT32_C(0x002C613A), UINT32_C(0x00070FFA), UINT32_C(0x000F20BB),
10078           UINT32_C(0x0070246F), UINT32_C(0x003AE4D8), UINT32_C(0x002C3692),
10079           UINT32_C(0x002BA766), UINT32_C(0x006979EC), UINT32_C(0x001EE4FA),
10080           UINT32_C(0x003FC3AE), UINT32_C(0x00097753)}},
10081         {{UINT32_C(0x004F1DE3), UINT32_C(0x000C6911), UINT32_C(0x000A47C8),
10082           UINT32_C(0x001D1BD1), UINT32_C(0x002F9D0E), UINT32_C(0x00028B6C),
10083           UINT32_C(0x0030B56D), UINT32_C(0x007338C9), UINT32_C(0x000444B1),
10084           UINT32_C(0x0039A863), UINT32_C(0x0014FD9B), UINT32_C(0x0029BA71),
10085           UINT32_C(0x002F8E1D), UINT32_C(0x0012C499), UINT32_C(0x00073FFA),
10086           UINT32_C(0x000C56D4), UINT32_C(0x0014A736), UINT32_C(0x003A7177),
10087           UINT32_C(0x001CE30C), UINT32_C(0x003AAF39), UINT32_C(0x0022B563),
10088           UINT32_C(0x0036E7CC), UINT32_C(0x0037AFCD)},
10089          {UINT32_C(0x0058F41D), UINT32_C(0x00140257), UINT32_C(0x00211567),
10090           UINT32_C(0x007DDA65), UINT32_C(0x0022C062), UINT32_C(0x001ED494),
10091           UINT32_C(0x0018952B), UINT32_C(0x00649D74), UINT32_C(0x0029BEC2),
10092           UINT32_C(0x0020C9DA), UINT32_C(0x0017B4BC), UINT32_C(0x0068E1EE),
10093           UINT32_C(0x0008D396), UINT32_C(0x00101E55), UINT32_C(0x00179EF9),
10094           UINT32_C(0x00704D7B), UINT32_C(0x00225FE0), UINT32_C(0x0033AD09),
10095           UINT32_C(0x000D6F51), UINT32_C(0x00617587), UINT32_C(0x00014347),
10096           UINT32_C(0x0006D488), UINT32_C(0x000A58EA)},
10097          {UINT32_C(0x0062169E), UINT32_C(0x003EC8CD), UINT32_C(0x00241534),
10098           UINT32_C(0x006F5F65), UINT32_C(0x002B9962), UINT32_C(0x00142663),
10099           UINT32_C(0x00088E95), UINT32_C(0x00730FE3), UINT32_C(0x00331A06),
10100           UINT32_C(0x0027E7BD), UINT32_C(0x00364306), UINT32_C(0x003E391E),
10101           UINT32_C(0x00313667), UINT32_C(0x00198427), UINT32_C(0x00226ADA),
10102           UINT32_C(0x00566F4B), UINT32_C(0x0021A27C), UINT32_C(0x0017BBD7),
10103           UINT32_C(0x003D41DB), UINT32_C(0x0028BB58), UINT32_C(0x003278B2),
10104           UINT32_C(0x0006E057), UINT32_C(0x0003C841)}},
10105         {{UINT32_C(0x00687D5D), UINT32_C(0x003309EF), UINT32_C(0x00346CE5),
10106           UINT32_C(0x001FF1AB), UINT32_C(0x003D2116), UINT32_C(0x0018305D),
10107           UINT32_C(0x00049468), UINT32_C(0x0061BCEB), UINT32_C(0x00157FA5),
10108           UINT32_C(0x00036CFD), UINT32_C(0x0017B473), UINT32_C(0x00536514),
10109           UINT32_C(0x0035BE53), UINT32_C(0x0031FBF4), UINT32_C(0x00138689),
10110           UINT32_C(0x00459FC3), UINT32_C(0x00382E53), UINT32_C(0x0009DCE1),
10111           UINT32_C(0x001E636A), UINT32_C(0x002622FE), UINT32_C(0x0014A044),
10112           UINT32_C(0x00145177), UINT32_C(0x002C68B2)},
10113          {UINT32_C(0x0007CDE9), UINT32_C(0x0005E108), UINT32_C(0x000D8163),
10114           UINT32_C(0x003F9A62), UINT32_C(0x001C6BBE), UINT32_C(0x00202790),
10115           UINT32_C(0x000B515C), UINT32_C(0x0006A300), UINT32_C(0x0015F9A6),
10116           UINT32_C(0x002A1527), UINT32_C(0x003A73EB), UINT32_C(0x006F181C),
10117           UINT32_C(0x00175B8C), UINT32_C(0x002A4DA4), UINT32_C(0x000768F8),
10118           UINT32_C(0x000E56E3), UINT32_C(0x0029B426), UINT32_C(0x0011186F),
10119           UINT32_C(0x003175D0), UINT32_C(0x0029B106), UINT32_C(0x001EF0B9),
10120           UINT32_C(0x001139E2), UINT32_C(0x0035ACA5)},
10121          {UINT32_C(0x004B2AE1), UINT32_C(0x001424F0), UINT32_C(0x00110341),
10122           UINT32_C(0x000C7518), UINT32_C(0x001685E7), UINT32_C(0x0016192F),
10123           UINT32_C(0x0028CF4C), UINT32_C(0x00637208), UINT32_C(0x003FCBD2),
10124           UINT32_C(0x00348A0E), UINT32_C(0x0034BDB7), UINT32_C(0x000E99F6),
10125           UINT32_C(0x001472CD), UINT32_C(0x000F1FAA), UINT32_C(0x00102EA2),
10126           UINT32_C(0x00579D10), UINT32_C(0x00229C04), UINT32_C(0x000DA721),
10127           UINT32_C(0x000C0D5E), UINT32_C(0x004201F5), UINT32_C(0x00013FC8),
10128           UINT32_C(0x000DFA6E), UINT32_C(0x00260016)}},
10129         {{UINT32_C(0x0071785F), UINT32_C(0x002A6790), UINT32_C(0x00374B9A),
10130           UINT32_C(0x005C47E4), UINT32_C(0x00295CBC), UINT32_C(0x0017C2F6),
10131           UINT32_C(0x002DD473), UINT32_C(0x0003079A), UINT32_C(0x001B4CD6),
10132           UINT32_C(0x0024C5E5), UINT32_C(0x00319F1C), UINT32_C(0x00436F1D),
10133           UINT32_C(0x001A1EF6), UINT32_C(0x0003D299), UINT32_C(0x00382BA2),
10134           UINT32_C(0x0060E409), UINT32_C(0x00023098), UINT32_C(0x00171EBD),
10135           UINT32_C(0x0020240F), UINT32_C(0x00330D1E), UINT32_C(0x0017E024),
10136           UINT32_C(0x0009AC85), UINT32_C(0x001B14B7)},
10137          {UINT32_C(0x003C69F8), UINT32_C(0x00119EF1), UINT32_C(0x002E2839),
10138           UINT32_C(0x00778F4B), UINT32_C(0x00039F0C), UINT32_C(0x0023A6C4),
10139           UINT32_C(0x003F874D), UINT32_C(0x005E260A), UINT32_C(0x003D33F7),
10140           UINT32_C(0x002C9846), UINT32_C(0x00187047), UINT32_C(0x007B8C63),
10141           UINT32_C(0x00273788), UINT32_C(0x000A168B), UINT32_C(0x003C94CF),
10142           UINT32_C(0x0058BB90), UINT32_C(0x000B16B8), UINT32_C(0x003E3A1E),
10143           UINT32_C(0x0018E21B), UINT32_C(0x007A9202), UINT32_C(0x00302517),
10144           UINT32_C(0x00154F91), UINT32_C(0x000846A0)},
10145          {UINT32_C(0x001A0FDE), UINT32_C(0x00153D67), UINT32_C(0x00336333),
10146           UINT32_C(0x003C90A4), UINT32_C(0x00094797), UINT32_C(0x00312D2A),
10147           UINT32_C(0x001003F0), UINT32_C(0x007FBC25), UINT32_C(0x0003DF24),
10148           UINT32_C(0x00237AC4), UINT32_C(0x00194267), UINT32_C(0x002396ED),
10149           UINT32_C(0x00024617), UINT32_C(0x0016C8CB), UINT32_C(0x00152D85),
10150           UINT32_C(0x0016D3DE), UINT32_C(0x00262957), UINT32_C(0x00311596),
10151           UINT32_C(0x003EC838), UINT32_C(0x001975C2), UINT32_C(0x0034FE59),
10152           UINT32_C(0x00113D00), UINT32_C(0x002243AC)}},
10153         {{UINT32_C(0x0068A405), UINT32_C(0x0034C98B), UINT32_C(0x0007E397),
10154           UINT32_C(0x00558483), UINT32_C(0x000956CE), UINT32_C(0x002E1CCA),
10155           UINT32_C(0x0005043D), UINT32_C(0x00476A5E), UINT32_C(0x0028457F),
10156           UINT32_C(0x003988DF), UINT32_C(0x0037A1BC), UINT32_C(0x0047942D),
10157           UINT32_C(0x00124D2E), UINT32_C(0x003AE5E0), UINT32_C(0x000B4291),
10158           UINT32_C(0x004D22EB), UINT32_C(0x0014B7CF), UINT32_C(0x0028B3D4),
10159           UINT32_C(0x003CCB59), UINT32_C(0x00190521), UINT32_C(0x000A108D),
10160           UINT32_C(0x003A6057), UINT32_C(0x00172D60)},
10161          {UINT32_C(0x002B251D), UINT32_C(0x0013D428), UINT32_C(0x000AE878),
10162           UINT32_C(0x005FA00D), UINT32_C(0x00260531), UINT32_C(0x00329563),
10163           UINT32_C(0x000216C5), UINT32_C(0x000D16BE), UINT32_C(0x0009E37E),
10164           UINT32_C(0x003F37E0), UINT32_C(0x001AEF12), UINT32_C(0x0064E859),
10165           UINT32_C(0x0019915B), UINT32_C(0x0005BFF9), UINT32_C(0x003958ED),
10166           UINT32_C(0x000C4E03), UINT32_C(0x0008B99A), UINT32_C(0x001C38F2),
10167           UINT32_C(0x003D7DC0), UINT32_C(0x002F8014), UINT32_C(0x001CEC59),
10168           UINT32_C(0x0034AB43), UINT32_C(0x0013D729)},
10169          {UINT32_C(0x006F3BD9), UINT32_C(0x00150F71), UINT32_C(0x002A3F95),
10170           UINT32_C(0x0068E792), UINT32_C(0x0016CF11), UINT32_C(0x001B8A33),
10171           UINT32_C(0x002E5920), UINT32_C(0x0038F685), UINT32_C(0x002CDF4A),
10172           UINT32_C(0x0027CB65), UINT32_C(0x002DF482), UINT32_C(0x000A0B78),
10173           UINT32_C(0x00309C5F), UINT32_C(0x003B06D3), UINT32_C(0x0013DAE0),
10174           UINT32_C(0x00554BDE), UINT32_C(0x0017EC53), UINT32_C(0x000F50F5),
10175           UINT32_C(0x00101EF0), UINT32_C(0x005F28DB), UINT32_C(0x0015CC1A),
10176           UINT32_C(0x001980C3), UINT32_C(0x00249DA3)}},
10177         {{UINT32_C(0x004C93F1), UINT32_C(0x00388A39), UINT32_C(0x0030EEC8),
10178           UINT32_C(0x0052FC35), UINT32_C(0x000B0CAE), UINT32_C(0x002F3E40),
10179           UINT32_C(0x003A2ACD), UINT32_C(0x0028C4D5), UINT32_C(0x001DA5F9),
10180           UINT32_C(0x000586CA), UINT32_C(0x00119027), UINT32_C(0x0016CDC0),
10181           UINT32_C(0x0025236C), UINT32_C(0x0018A357), UINT32_C(0x0000B64B),
10182           UINT32_C(0x0076882B), UINT32_C(0x003182B1), UINT32_C(0x0037246C),
10183           UINT32_C(0x0003FB39), UINT32_C(0x002C988C), UINT32_C(0x00231B0B),
10184           UINT32_C(0x003E5BBF), UINT32_C(0x0000F374)},
10185          {UINT32_C(0x00010D9D), UINT32_C(0x001FF389), UINT32_C(0x001538D1),
10186           UINT32_C(0x0041BD6C), UINT32_C(0x001301B2), UINT32_C(0x001DCB4A),
10187           UINT32_C(0x0008FABC), UINT32_C(0x00611765), UINT32_C(0x001A717F),
10188           UINT32_C(0x00182FF9), UINT32_C(0x0029A9C1), UINT32_C(0x002B99C3),
10189           UINT32_C(0x00017CA7), UINT32_C(0x00032AA1), UINT32_C(0x002EA89D),
10190           UINT32_C(0x00088D80), UINT32_C(0x0011EC29), UINT32_C(0x003A56BE),
10191           UINT32_C(0x000032B8), UINT32_C(0x001406E5), UINT32_C(0x0038401C),
10192           UINT32_C(0x001ACB38), UINT32_C(0x000CB5E9)},
10193          {UINT32_C(0x0066E5AB), UINT32_C(0x00161A19), UINT32_C(0x00057829),
10194           UINT32_C(0x005F11AE), UINT32_C(0x0022507E), UINT32_C(0x00113755),
10195           UINT32_C(0x00218956), UINT32_C(0x007E85BC), UINT32_C(0x003A29F5),
10196           UINT32_C(0x001A56EA), UINT32_C(0x002F8A9F), UINT32_C(0x0030B6F2),
10197           UINT32_C(0x001F6A48), UINT32_C(0x003C6B9C), UINT32_C(0x00331944),
10198           UINT32_C(0x0012724E), UINT32_C(0x000154FE), UINT32_C(0x001A08F6),
10199           UINT32_C(0x00053CE3), UINT32_C(0x000110DA), UINT32_C(0x00189838),
10200           UINT32_C(0x000C6556), UINT32_C(0x0026E926)}},
10201         {{UINT32_C(0x0056B198), UINT32_C(0x002E9D6F), UINT32_C(0x00384104),
10202           UINT32_C(0x002CB192), UINT32_C(0x0011E1D2), UINT32_C(0x000C3007),
10203           UINT32_C(0x00331D92), UINT32_C(0x0072B899), UINT32_C(0x002DFE85),
10204           UINT32_C(0x0019F7AE), UINT32_C(0x00228032), UINT32_C(0x001A709B),
10205           UINT32_C(0x00394A71), UINT32_C(0x00011DCB), UINT32_C(0x0025119C),
10206           UINT32_C(0x00673C0F), UINT32_C(0x000703EE), UINT32_C(0x003905C2),
10207           UINT32_C(0x0004CBE0), UINT32_C(0x003038F7), UINT32_C(0x00218611),
10208           UINT32_C(0x00344F8B), UINT32_C(0x0006EF8F)},
10209          {UINT32_C(0x0008B7AB), UINT32_C(0x001C7936), UINT32_C(0x000AF677),
10210           UINT32_C(0x0038D1C4), UINT32_C(0x000D1982), UINT32_C(0x00008DE6),
10211           UINT32_C(0x001D8CD8), UINT32_C(0x002DAF00), UINT32_C(0x002139DC),
10212           UINT32_C(0x000C0A4C), UINT32_C(0x00103BF4), UINT32_C(0x00132620),
10213           UINT32_C(0x001E360F), UINT32_C(0x0020BE7E), UINT32_C(0x002F6F7B),
10214           UINT32_C(0x00045610), UINT32_C(0x003B63BF), UINT32_C(0x00065305),
10215           UINT32_C(0x0030A74A), UINT32_C(0x0072846A), UINT32_C(0x0009D52F),
10216           UINT32_C(0x00360AFC), UINT32_C(0x0015C630)},
10217          {UINT32_C(0x001BB7E7), UINT32_C(0x0038CFC8), UINT32_C(0x00105C2D),
10218           UINT32_C(0x004F800D), UINT32_C(0x002813AF), UINT32_C(0x003D95F7),
10219           UINT32_C(0x000B5E3E), UINT32_C(0x0065C148), UINT32_C(0x0017B5EB),
10220           UINT32_C(0x000B59AB), UINT32_C(0x000D6920), UINT32_C(0x001459AF),
10221           UINT32_C(0x002201A2), UINT32_C(0x00066541), UINT32_C(0x001D0BA3),
10222           UINT32_C(0x00337E0F), UINT32_C(0x003BE92F), UINT32_C(0x000375C3),
10223           UINT32_C(0x0035FBBD), UINT32_C(0x005F0B0F), UINT32_C(0x000E891B),
10224           UINT32_C(0x00131D3F), UINT32_C(0x0014ED75)}},
10225         {{UINT32_C(0x0050D8D5), UINT32_C(0x002E5561), UINT32_C(0x0031562B),
10226           UINT32_C(0x00395B3A), UINT32_C(0x002D062A), UINT32_C(0x00329C94),
10227           UINT32_C(0x001BED6E), UINT32_C(0x0064208E), UINT32_C(0x00302BDB),
10228           UINT32_C(0x0038A686), UINT32_C(0x001E41F5), UINT32_C(0x001078F7),
10229           UINT32_C(0x003A3FCC), UINT32_C(0x00061B38), UINT32_C(0x003A908E),
10230           UINT32_C(0x005A12D7), UINT32_C(0x0002303D), UINT32_C(0x00141E31),
10231           UINT32_C(0x0009E463), UINT32_C(0x0073510F), UINT32_C(0x003C92B0),
10232           UINT32_C(0x00083485), UINT32_C(0x00037A81)},
10233          {UINT32_C(0x0019B1B8), UINT32_C(0x0038CD53), UINT32_C(0x000E197C),
10234           UINT32_C(0x0009FF2F), UINT32_C(0x003BCD33), UINT32_C(0x00302C2A),
10235           UINT32_C(0x00054200), UINT32_C(0x0079B52B), UINT32_C(0x0039D05F),
10236           UINT32_C(0x001F9C10), UINT32_C(0x0029B440), UINT32_C(0x003D8482),
10237           UINT32_C(0x001C2BD2), UINT32_C(0x0019BD77), UINT32_C(0x0010755E),
10238           UINT32_C(0x006CAE47), UINT32_C(0x0001B82A), UINT32_C(0x003DF53B),
10239           UINT32_C(0x00018A7F), UINT32_C(0x005FC8AB), UINT32_C(0x000BFFCF),
10240           UINT32_C(0x00169679), UINT32_C(0x00067097)},
10241          {UINT32_C(0x000935D3), UINT32_C(0x0010F268), UINT32_C(0x00288B71),
10242           UINT32_C(0x00303DEB), UINT32_C(0x002E4A85), UINT32_C(0x0001813E),
10243           UINT32_C(0x003CDD05), UINT32_C(0x0001AD0A), UINT32_C(0x0014AA02),
10244           UINT32_C(0x0019FD4A), UINT32_C(0x00200BBD), UINT32_C(0x00331B4F),
10245           UINT32_C(0x000FCCBE), UINT32_C(0x001F30DB), UINT32_C(0x000BDF6F),
10246           UINT32_C(0x007AB775), UINT32_C(0x0021BE2D), UINT32_C(0x000ED4B7),
10247           UINT32_C(0x00384794), UINT32_C(0x00784F1A), UINT32_C(0x003F3A79),
10248           UINT32_C(0x0003D50F), UINT32_C(0x00064F82)}},
10249         {{UINT32_C(0x0055E16A), UINT32_C(0x0009CBF4), UINT32_C(0x0007F387),
10250           UINT32_C(0x0008D055), UINT32_C(0x001DE49D), UINT32_C(0x003DF914),
10251           UINT32_C(0x003ED04E), UINT32_C(0x006CA4BC), UINT32_C(0x0028FCE3),
10252           UINT32_C(0x003273A4), UINT32_C(0x002DF89A), UINT32_C(0x00230A46),
10253           UINT32_C(0x0018E30C), UINT32_C(0x002CE6F1), UINT32_C(0x0002DB57),
10254           UINT32_C(0x007890F7), UINT32_C(0x0022D4F9), UINT32_C(0x0038DC8F),
10255           UINT32_C(0x00376FF1), UINT32_C(0x0012231A), UINT32_C(0x00074880),
10256           UINT32_C(0x0012A080), UINT32_C(0x00056DC5)},
10257          {UINT32_C(0x003DBBF8), UINT32_C(0x00196819), UINT32_C(0x0024DB6E),
10258           UINT32_C(0x007A739A), UINT32_C(0x002C4BD5), UINT32_C(0x00241E7E),
10259           UINT32_C(0x0038C332), UINT32_C(0x000E069B), UINT32_C(0x0011A877),
10260           UINT32_C(0x000BB5F3), UINT32_C(0x0000613F), UINT32_C(0x001D700E),
10261           UINT32_C(0x00154F4E), UINT32_C(0x00232AA4), UINT32_C(0x00159C2A),
10262           UINT32_C(0x00203C23), UINT32_C(0x002AC285), UINT32_C(0x002F4ED7),
10263           UINT32_C(0x003914CE), UINT32_C(0x001B8C64), UINT32_C(0x000C5894),
10264           UINT32_C(0x003A7D72), UINT32_C(0x0021EFB5)},
10265          {UINT32_C(0x0034EA4D), UINT32_C(0x001BA7B1), UINT32_C(0x003C1624),
10266           UINT32_C(0x00332852), UINT32_C(0x003E94DA), UINT32_C(0x00000887),
10267           UINT32_C(0x000BFE68), UINT32_C(0x004AD4CA), UINT32_C(0x000B742B),
10268           UINT32_C(0x00158248), UINT32_C(0x00285B88), UINT32_C(0x006EDD6B),
10269           UINT32_C(0x00200BAB), UINT32_C(0x00248DD5), UINT32_C(0x001035A8),
10270           UINT32_C(0x001F2081), UINT32_C(0x0007B194), UINT32_C(0x0011B74D),
10271           UINT32_C(0x00152BCC), UINT32_C(0x005F5821), UINT32_C(0x001FE674),
10272           UINT32_C(0x000239A6), UINT32_C(0x0034BB24)}},
10273         {{UINT32_C(0x0072B20F), UINT32_C(0x000BF7F4), UINT32_C(0x00178C52),
10274           UINT32_C(0x00776657), UINT32_C(0x0004BFE5), UINT32_C(0x000AA36B),
10275           UINT32_C(0x003719B7), UINT32_C(0x004C2095), UINT32_C(0x00355126),
10276           UINT32_C(0x001B6111), UINT32_C(0x00172806), UINT32_C(0x0052CE54),
10277           UINT32_C(0x0008F0A0), UINT32_C(0x002B3884), UINT32_C(0x002B7196),
10278           UINT32_C(0x003A0409), UINT32_C(0x00124BAA), UINT32_C(0x001E7741),
10279           UINT32_C(0x00128DC5), UINT32_C(0x00301368), UINT32_C(0x0002A859),
10280           UINT32_C(0x00145DD3), UINT32_C(0x001A5AE5)},
10281          {UINT32_C(0x004943B1), UINT32_C(0x0036FA8C), UINT32_C(0x002BCCB8),
10282           UINT32_C(0x00702644), UINT32_C(0x00253FD2), UINT32_C(0x00185CBE),
10283           UINT32_C(0x00047A35), UINT32_C(0x002AF03C), UINT32_C(0x001AE6F9),
10284           UINT32_C(0x001FBB03), UINT32_C(0x0024ABE9), UINT32_C(0x0023A32D),
10285           UINT32_C(0x002165FE), UINT32_C(0x0025287B), UINT32_C(0x0013905E),
10286           UINT32_C(0x005CFE02), UINT32_C(0x0007F1F9), UINT32_C(0x003E1E1E),
10287           UINT32_C(0x0007A483), UINT32_C(0x001BF89E), UINT32_C(0x0010168F),
10288           UINT32_C(0x00062F67), UINT32_C(0x00133007)},
10289          {UINT32_C(0x007D5697), UINT32_C(0x00312189), UINT32_C(0x0015FC12),
10290           UINT32_C(0x003C037B), UINT32_C(0x00175465), UINT32_C(0x000F4B83),
10291           UINT32_C(0x0021DF66), UINT32_C(0x002A624D), UINT32_C(0x0034D443),
10292           UINT32_C(0x001E79DD), UINT32_C(0x00321A3F), UINT32_C(0x0018DC79),
10293           UINT32_C(0x001A5D56), UINT32_C(0x003541AF), UINT32_C(0x00070013),
10294           UINT32_C(0x0024CB38), UINT32_C(0x00065D92), UINT32_C(0x0020B271),
10295           UINT32_C(0x001EC105), UINT32_C(0x001E7C11), UINT32_C(0x00122C84),
10296           UINT32_C(0x0007B7C1), UINT32_C(0x002FDB93)}},
10297     },
10298     {
10299         {{UINT32_C(0x0044839B), UINT32_C(0x003198F6), UINT32_C(0x003BD372),
10300           UINT32_C(0x007ED128), UINT32_C(0x00206115), UINT32_C(0x003FDD6A),
10301           UINT32_C(0x0022F00A), UINT32_C(0x00117144), UINT32_C(0x001588A8),
10302           UINT32_C(0x001FF57F), UINT32_C(0x00289324), UINT32_C(0x00690294),
10303           UINT32_C(0x002D2809), UINT32_C(0x001DC9A7), UINT32_C(0x000B6923),
10304           UINT32_C(0x004B99EF), UINT32_C(0x003488AB), UINT32_C(0x001F4972),
10305           UINT32_C(0x000FFB73), UINT32_C(0x0059A57D), UINT32_C(0x000F6194),
10306           UINT32_C(0x000B6F28), UINT32_C(0x0025388B)},
10307          {UINT32_C(0x0064E5A1), UINT32_C(0x0013FE4F), UINT32_C(0x0008ECCD),
10308           UINT32_C(0x00005C77), UINT32_C(0x0001B9C8), UINT32_C(0x00162316),
10309           UINT32_C(0x0020528F), UINT32_C(0x002DEDD0), UINT32_C(0x00191713),
10310           UINT32_C(0x0030317D), UINT32_C(0x0039A24F), UINT32_C(0x002EB466),
10311           UINT32_C(0x000EA8D0), UINT32_C(0x000E5D27), UINT32_C(0x003FED4F),
10312           UINT32_C(0x0040531E), UINT32_C(0x000FBA2C), UINT32_C(0x00234E5D),
10313           UINT32_C(0x0003D16D), UINT32_C(0x007F1872), UINT32_C(0x00256C50),
10314           UINT32_C(0x00316CFD), UINT32_C(0x002401F9)},
10315          {UINT32_C(0x000275D5), UINT32_C(0x001F7882), UINT32_C(0x0025E59C),
10316           UINT32_C(0x0001B773), UINT32_C(0x0024FF1D), UINT32_C(0x000D98CD),
10317           UINT32_C(0x000B7E40), UINT32_C(0x006E438E), UINT32_C(0x00355F20),
10318           UINT32_C(0x0019A7AE), UINT32_C(0x00290722), UINT32_C(0x00174B19),
10319           UINT32_C(0x00318264), UINT32_C(0x00049CAA), UINT32_C(0x003F743B),
10320           UINT32_C(0x004FA60E), UINT32_C(0x0021E560), UINT32_C(0x002DDBD1),
10321           UINT32_C(0x00279C3F), UINT32_C(0x002A0542), UINT32_C(0x001C4F6E),
10322           UINT32_C(0x003F3D08), UINT32_C(0x001A9CB4)}},
10323         {{UINT32_C(0x0044D3B6), UINT32_C(0x0011A0B0), UINT32_C(0x00223464),
10324           UINT32_C(0x00616311), UINT32_C(0x00045B71), UINT32_C(0x00221B75),
10325           UINT32_C(0x000DDB07), UINT32_C(0x0036CCED), UINT32_C(0x00310543),
10326           UINT32_C(0x001C0449), UINT32_C(0x001A5298), UINT32_C(0x007F7212),
10327           UINT32_C(0x0027112E), UINT32_C(0x003341D5), UINT32_C(0x001BB277),
10328           UINT32_C(0x0047B3A6), UINT32_C(0x002631FE), UINT32_C(0x000EC73F),
10329           UINT32_C(0x003BEA8E), UINT32_C(0x0011ACAD), UINT32_C(0x00056AB4),
10330           UINT32_C(0x00332F4E), UINT32_C(0x0020F040)},
10331          {UINT32_C(0x00729FF7), UINT32_C(0x00084FDB), UINT32_C(0x000AF943),
10332           UINT32_C(0x0069EFD1), UINT32_C(0x000F6B0C), UINT32_C(0x002C5DA9),
10333           UINT32_C(0x003FE069), UINT32_C(0x0072A537), UINT32_C(0x000A3F33),
10334           UINT32_C(0x001C0A53), UINT32_C(0x002F3282), UINT32_C(0x006C96EB),
10335           UINT32_C(0x0039033F), UINT32_C(0x0004147A), UINT32_C(0x002F27E0),
10336           UINT32_C(0x000752BF), UINT32_C(0x00061145), UINT32_C(0x002CD663),
10337           UINT32_C(0x0031DFD9), UINT32_C(0x007E357F), UINT32_C(0x001E8721),
10338           UINT32_C(0x00265FEF), UINT32_C(0x00077889)},
10339          {UINT32_C(0x0033FAD5), UINT32_C(0x0016E6ED), UINT32_C(0x0016F2EF),
10340           UINT32_C(0x001B964B), UINT32_C(0x001A2ECA), UINT32_C(0x003E0C81),
10341           UINT32_C(0x003FE7D9), UINT32_C(0x0069AB34), UINT32_C(0x002B4E22),
10342           UINT32_C(0x003B9125), UINT32_C(0x003129C9), UINT32_C(0x006B5E95),
10343           UINT32_C(0x003E450D), UINT32_C(0x003C0221), UINT32_C(0x00246870),
10344           UINT32_C(0x0012331E), UINT32_C(0x00368335), UINT32_C(0x003842E7),
10345           UINT32_C(0x001CD463), UINT32_C(0x00375065), UINT32_C(0x001AFC4F),
10346           UINT32_C(0x0018C552), UINT32_C(0x003DF99D)}},
10347         {{UINT32_C(0x0076C909), UINT32_C(0x002ECC28), UINT32_C(0x003E534C),
10348           UINT32_C(0x006E5B56), UINT32_C(0x003472BC), UINT32_C(0x002ED648),
10349           UINT32_C(0x001800E5), UINT32_C(0x0062EB01), UINT32_C(0x00388368),
10350           UINT32_C(0x0017E589), UINT32_C(0x000EE455), UINT32_C(0x00752271),
10351           UINT32_C(0x0007DB0E), UINT32_C(0x0004CE3B), UINT32_C(0x001BC93D),
10352           UINT32_C(0x00266E9B), UINT32_C(0x001A633F), UINT32_C(0x00080153),
10353           UINT32_C(0x00100613), UINT32_C(0x001B334A), UINT32_C(0x001081C5),
10354           UINT32_C(0x003CEACA), UINT32_C(0x0028BC5F)},
10355          {UINT32_C(0x004FB1B3), UINT32_C(0x001F97A9), UINT32_C(0x00159D7E),
10356           UINT32_C(0x00459CF9), UINT32_C(0x000CBC43), UINT32_C(0x00132E42),
10357           UINT32_C(0x003F3662), UINT32_C(0x0032762F), UINT32_C(0x003F6792),
10358           UINT32_C(0x00147465), UINT32_C(0x00064E92), UINT32_C(0x007B5ED9),
10359           UINT32_C(0x002CDCB9), UINT32_C(0x003B3F08), UINT32_C(0x00307A15),
10360           UINT32_C(0x00760D9B), UINT32_C(0x00145A0B), UINT32_C(0x00101514),
10361           UINT32_C(0x0036AC7F), UINT32_C(0x0046C8CA), UINT32_C(0x0009D1F6),
10362           UINT32_C(0x00065054), UINT32_C(0x000DEBF1)},
10363          {UINT32_C(0x004F598C), UINT32_C(0x002DEC24), UINT32_C(0x000EFF2A),
10364           UINT32_C(0x001F3645), UINT32_C(0x0027F317), UINT32_C(0x003DAF78),
10365           UINT32_C(0x002BC2DB), UINT32_C(0x0004EA69), UINT32_C(0x00279343),
10366           UINT32_C(0x00337BF6), UINT32_C(0x00117316), UINT32_C(0x00616D27),
10367           UINT32_C(0x00378EC8), UINT32_C(0x0025D729), UINT32_C(0x00265316),
10368           UINT32_C(0x003D0829), UINT32_C(0x00396E01), UINT32_C(0x002AE96D),
10369           UINT32_C(0x003445E4), UINT32_C(0x001E9F9A), UINT32_C(0x0030EDDC),
10370           UINT32_C(0x002E073A), UINT32_C(0x0021B311)}},
10371         {{UINT32_C(0x002CC32D), UINT32_C(0x000D826A), UINT32_C(0x0026E228),
10372           UINT32_C(0x000D6206), UINT32_C(0x00227832), UINT32_C(0x002140D7),
10373           UINT32_C(0x002068C2), UINT32_C(0x005C5008), UINT32_C(0x0025521D),
10374           UINT32_C(0x00281FA5), UINT32_C(0x00051E83), UINT32_C(0x00105A03),
10375           UINT32_C(0x003232E0), UINT32_C(0x003D0E47), UINT32_C(0x003BD547),
10376           UINT32_C(0x0065100C), UINT32_C(0x00113B09), UINT32_C(0x0024F1FA),
10377           UINT32_C(0x0030CDA7), UINT32_C(0x0053D618), UINT32_C(0x000A2A17),
10378           UINT32_C(0x000BD8B1), UINT32_C(0x0020FB2C)},
10379          {UINT32_C(0x005A2225), UINT32_C(0x00391B43), UINT32_C(0x000B1CFF),
10380           UINT32_C(0x007DCE4C), UINT32_C(0x00193C2C), UINT32_C(0x003BFBCF),
10381           UINT32_C(0x001040C3), UINT32_C(0x001E82A9), UINT32_C(0x003D9486),
10382           UINT32_C(0x003AF831), UINT32_C(0x00217A7A), UINT32_C(0x006F3F26),
10383           UINT32_C(0x002E52C2), UINT32_C(0x0038837E), UINT32_C(0x00256BB5),
10384           UINT32_C(0x001D310D), UINT32_C(0x000D911E), UINT32_C(0x0012DD9B),
10385           UINT32_C(0x001D3C60), UINT32_C(0x0042AE12), UINT32_C(0x001AA290),
10386           UINT32_C(0x0011D773), UINT32_C(0x0008A556)},
10387          {UINT32_C(0x003DB239), UINT32_C(0x003C331E), UINT32_C(0x002C1ABE),
10388           UINT32_C(0x0054F6FD), UINT32_C(0x0029390C), UINT32_C(0x002F6790),
10389           UINT32_C(0x002CD02B), UINT32_C(0x007AFE3F), UINT32_C(0x0012B2C3),
10390           UINT32_C(0x002287BB), UINT32_C(0x00114FE8), UINT32_C(0x002CC8AC),
10391           UINT32_C(0x002CADBB), UINT32_C(0x001A33BE), UINT32_C(0x0037BE86),
10392           UINT32_C(0x000AA64F), UINT32_C(0x000CDB97), UINT32_C(0x003CF948),
10393           UINT32_C(0x001BB280), UINT32_C(0x000BD3AD), UINT32_C(0x001C0A26),
10394           UINT32_C(0x001857F5), UINT32_C(0x002270FB)}},
10395         {{UINT32_C(0x00588772), UINT32_C(0x0034A3BF), UINT32_C(0x002B2057),
10396           UINT32_C(0x000D6822), UINT32_C(0x000ED9FF), UINT32_C(0x00385C48),
10397           UINT32_C(0x003A74B9), UINT32_C(0x005A12D2), UINT32_C(0x00079DD4),
10398           UINT32_C(0x002B2E76), UINT32_C(0x00000E28), UINT32_C(0x000E1C30),
10399           UINT32_C(0x003339AE), UINT32_C(0x00248CCE), UINT32_C(0x003445A9),
10400           UINT32_C(0x0028093C), UINT32_C(0x00256A7E), UINT32_C(0x0018F19E),
10401           UINT32_C(0x00385218), UINT32_C(0x0057D410), UINT32_C(0x002DBF86),
10402           UINT32_C(0x001F5ECA), UINT32_C(0x001CACDD)},
10403          {UINT32_C(0x00265C7D), UINT32_C(0x0028705E), UINT32_C(0x00384F7D),
10404           UINT32_C(0x0018D471), UINT32_C(0x001527DF), UINT32_C(0x003DA983),
10405           UINT32_C(0x001DDE7F), UINT32_C(0x002A71F4), UINT32_C(0x001B4521),
10406           UINT32_C(0x0003DCB4), UINT32_C(0x00328F6D), UINT32_C(0x00195CDD),
10407           UINT32_C(0x0016F6B4), UINT32_C(0x0002550C), UINT32_C(0x00181F0F),
10408           UINT32_C(0x00279602), UINT32_C(0x0000592B), UINT32_C(0x000A8FC2),
10409           UINT32_C(0x00173822), UINT32_C(0x00528D2F), UINT32_C(0x003BB20B),
10410           UINT32_C(0x001CB21C), UINT32_C(0x002E0800)},
10411          {UINT32_C(0x0067C867), UINT32_C(0x0024B417), UINT32_C(0x000D83F0),
10412           UINT32_C(0x00584B7B), UINT32_C(0x002C2DCD), UINT32_C(0x003925C8),
10413           UINT32_C(0x0035374E), UINT32_C(0x00273444), UINT32_C(0x001ED50E),
10414           UINT32_C(0x0019DC39), UINT32_C(0x00012047), UINT32_C(0x004B56F7),
10415           UINT32_C(0x001F477D), UINT32_C(0x000C0B39), UINT32_C(0x00103A52),
10416           UINT32_C(0x003B6571), UINT32_C(0x000F7CB4), UINT32_C(0x003F0E6A),
10417           UINT32_C(0x003100B6), UINT32_C(0x0077750C), UINT32_C(0x002A6650),
10418           UINT32_C(0x001B8E63), UINT32_C(0x00356E38)}},
10419         {{UINT32_C(0x00294CC0), UINT32_C(0x001ABF5C), UINT32_C(0x0022AB9B),
10420           UINT32_C(0x00575222), UINT32_C(0x00251493), UINT32_C(0x002E554C),
10421           UINT32_C(0x0027F012), UINT32_C(0x0071924E), UINT32_C(0x0023D76D),
10422           UINT32_C(0x00230B9E), UINT32_C(0x00295210), UINT32_C(0x00783EB9),
10423           UINT32_C(0x003D2EB1), UINT32_C(0x0034E19B), UINT32_C(0x0021E2D1),
10424           UINT32_C(0x0050A8CA), UINT32_C(0x0018C513), UINT32_C(0x00167437),
10425           UINT32_C(0x002F383C), UINT32_C(0x0071AE6B), UINT32_C(0x0005632B),
10426           UINT32_C(0x00097273), UINT32_C(0x0039C267)},
10427          {UINT32_C(0x0056E019), UINT32_C(0x00310B20), UINT32_C(0x00308BD2),
10428           UINT32_C(0x00786653), UINT32_C(0x00396A2E), UINT32_C(0x0007FF67),
10429           UINT32_C(0x003BFBA0), UINT32_C(0x00328BB8), UINT32_C(0x0024DDEC),
10430           UINT32_C(0x002F538D), UINT32_C(0x003BCCD8), UINT32_C(0x006635E3),
10431           UINT32_C(0x0023177E), UINT32_C(0x00045322), UINT32_C(0x002E32D2),
10432           UINT32_C(0x004EC3F8), UINT32_C(0x001E2DE3), UINT32_C(0x00245612),
10433           UINT32_C(0x003C6038), UINT32_C(0x004D683D), UINT32_C(0x0012B6CB),
10434           UINT32_C(0x00027583), UINT32_C(0x002B048C)},
10435          {UINT32_C(0x0078D023), UINT32_C(0x002E23CC), UINT32_C(0x000772AC),
10436           UINT32_C(0x003B5B53), UINT32_C(0x0029ED11), UINT32_C(0x003ED08F),
10437           UINT32_C(0x00071E5C), UINT32_C(0x00428132), UINT32_C(0x00315335),
10438           UINT32_C(0x0000402B), UINT32_C(0x000822D3), UINT32_C(0x007B1B14),
10439           UINT32_C(0x0035A437), UINT32_C(0x00206234), UINT32_C(0x0032B6E0),
10440           UINT32_C(0x0055555C), UINT32_C(0x0027CFBE), UINT32_C(0x0004A5EA),
10441           UINT32_C(0x000556CE), UINT32_C(0x0031DFEB), UINT32_C(0x001DB053),
10442           UINT32_C(0x000E8BAC), UINT32_C(0x000C0D49)}},
10443         {{UINT32_C(0x004AA9D1), UINT32_C(0x002779EA), UINT32_C(0x001B86F9),
10444           UINT32_C(0x0072282A), UINT32_C(0x001EBBE9), UINT32_C(0x0018B46D),
10445           UINT32_C(0x0026FF2C), UINT32_C(0x003F0CC7), UINT32_C(0x00212453),
10446           UINT32_C(0x0034244B), UINT32_C(0x0009799C), UINT32_C(0x004F49C4),
10447           UINT32_C(0x000C1DEA), UINT32_C(0x0035B3DF), UINT32_C(0x000BDBDF),
10448           UINT32_C(0x001F15A7), UINT32_C(0x0037371D), UINT32_C(0x0020EBE1),
10449           UINT32_C(0x0002EA33), UINT32_C(0x0009840B), UINT32_C(0x001DD721),
10450           UINT32_C(0x002EA8B9), UINT32_C(0x000B48AD)},
10451          {UINT32_C(0x00234472), UINT32_C(0x0005EFDD), UINT32_C(0x0021B297),
10452           UINT32_C(0x002E57AF), UINT32_C(0x00131F56), UINT32_C(0x003DE1F4),
10453           UINT32_C(0x003D96B7), UINT32_C(0x003AA17F), UINT32_C(0x0017742D),
10454           UINT32_C(0x00026100), UINT32_C(0x00337A96), UINT32_C(0x004EA9E0),
10455           UINT32_C(0x0027EA1C), UINT32_C(0x001F7FA1), UINT32_C(0x0032FFCB),
10456           UINT32_C(0x007DD72A), UINT32_C(0x0035BB87), UINT32_C(0x00318CC2),
10457           UINT32_C(0x003F5009), UINT32_C(0x00766DE0), UINT32_C(0x00391596),
10458           UINT32_C(0x000DFBB0), UINT32_C(0x002A498F)},
10459          {UINT32_C(0x0068F40A), UINT32_C(0x0034745D), UINT32_C(0x003B263F),
10460           UINT32_C(0x00370D88), UINT32_C(0x000B7E85), UINT32_C(0x00165B40),
10461           UINT32_C(0x000F819E), UINT32_C(0x005987AB), UINT32_C(0x00108717),
10462           UINT32_C(0x002A8421), UINT32_C(0x000B286F), UINT32_C(0x004B94FD),
10463           UINT32_C(0x001DCD66), UINT32_C(0x0004CFEC), UINT32_C(0x0021944B),
10464           UINT32_C(0x00187F0D), UINT32_C(0x000E4A62), UINT32_C(0x00307E74),
10465           UINT32_C(0x0006FCD6), UINT32_C(0x004495F4), UINT32_C(0x0031D0FE),
10466           UINT32_C(0x002D69FC), UINT32_C(0x000B5770)}},
10467         {{UINT32_C(0x0042173B), UINT32_C(0x002F2767), UINT32_C(0x003D5FCF),
10468           UINT32_C(0x0049931C), UINT32_C(0x0009BCA8), UINT32_C(0x001886FD),
10469           UINT32_C(0x00110F6D), UINT32_C(0x003C1F29), UINT32_C(0x002C545A),
10470           UINT32_C(0x0033EF6F), UINT32_C(0x0018E372), UINT32_C(0x0075FA4C),
10471           UINT32_C(0x0018BB09), UINT32_C(0x0026F270), UINT32_C(0x00346DE4),
10472           UINT32_C(0x0028FAC0), UINT32_C(0x0023E410), UINT32_C(0x0027B61C),
10473           UINT32_C(0x0014EA05), UINT32_C(0x00438310), UINT32_C(0x002CAD7B),
10474           UINT32_C(0x001FD7F3), UINT32_C(0x000B3F41)},
10475          {UINT32_C(0x0010995C), UINT32_C(0x00168EA0), UINT32_C(0x0013CA45),
10476           UINT32_C(0x002F2095), UINT32_C(0x0031AB84), UINT32_C(0x0032FB0A),
10477           UINT32_C(0x00042BB8), UINT32_C(0x0008933C), UINT32_C(0x00097983),
10478           UINT32_C(0x00065857), UINT32_C(0x00150488), UINT32_C(0x001F3B0B),
10479           UINT32_C(0x0029F9DE), UINT32_C(0x00298C42), UINT32_C(0x00291103),
10480           UINT32_C(0x007B8240), UINT32_C(0x00185C19), UINT32_C(0x000A0A6A),
10481           UINT32_C(0x000D566B), UINT32_C(0x000742CE), UINT32_C(0x001D215F),
10482           UINT32_C(0x003F50AC), UINT32_C(0x0022911C)},
10483          {UINT32_C(0x0045E864), UINT32_C(0x00015742), UINT32_C(0x00161854),
10484           UINT32_C(0x007B3D4F), UINT32_C(0x0021EEAE), UINT32_C(0x00296CE2),
10485           UINT32_C(0x003346C6), UINT32_C(0x00734650), UINT32_C(0x001106CC),
10486           UINT32_C(0x001BF45E), UINT32_C(0x001F7D96), UINT32_C(0x0045F811),
10487           UINT32_C(0x003B405E), UINT32_C(0x000DE8B5), UINT32_C(0x00178A69),
10488           UINT32_C(0x006CFE39), UINT32_C(0x003F339A), UINT32_C(0x00262A13),
10489           UINT32_C(0x0002FB7C), UINT32_C(0x00669A06), UINT32_C(0x002CB49B),
10490           UINT32_C(0x000DD528), UINT32_C(0x0026C657)}},
10491         {{UINT32_C(0x005A4314), UINT32_C(0x0033DCDD), UINT32_C(0x003024FC),
10492           UINT32_C(0x003FA63F), UINT32_C(0x00296FCE), UINT32_C(0x001613FF),
10493           UINT32_C(0x001601C8), UINT32_C(0x0018EC14), UINT32_C(0x00176101),
10494           UINT32_C(0x0016707A), UINT32_C(0x00323522), UINT32_C(0x006451EF),
10495           UINT32_C(0x0038E06E), UINT32_C(0x000BBED9), UINT32_C(0x00325EF6),
10496           UINT32_C(0x005506AE), UINT32_C(0x00173417), UINT32_C(0x0030CE7F),
10497           UINT32_C(0x000E2A20), UINT32_C(0x0065E329), UINT32_C(0x00052AB8),
10498           UINT32_C(0x001DC041), UINT32_C(0x000C6341)},
10499          {UINT32_C(0x0044DD3D), UINT32_C(0x002AF1BC), UINT32_C(0x0009FA4B),
10500           UINT32_C(0x00334B00), UINT32_C(0x003F42E3), UINT32_C(0x0002593C),
10501           UINT32_C(0x00229E96), UINT32_C(0x006D61D4), UINT32_C(0x002B2FD7),
10502           UINT32_C(0x0022C1A9), UINT32_C(0x00290FC9), UINT32_C(0x00728BC5),
10503           UINT32_C(0x003CC825), UINT32_C(0x002F498D), UINT32_C(0x00343407),
10504           UINT32_C(0x00205470), UINT32_C(0x000675EC), UINT32_C(0x002ED6F5),
10505           UINT32_C(0x00063C9F), UINT32_C(0x005D0188), UINT32_C(0x0026F6B5),
10506           UINT32_C(0x00063702), UINT32_C(0x0003A29D)},
10507          {UINT32_C(0x0035F788), UINT32_C(0x0024E672), UINT32_C(0x0028C708),
10508           UINT32_C(0x003BBCE6), UINT32_C(0x00138643), UINT32_C(0x000A192E),
10509           UINT32_C(0x000582FA), UINT32_C(0x00192093), UINT32_C(0x0029B4D3),
10510           UINT32_C(0x002443E6), UINT32_C(0x003FB121), UINT32_C(0x00581657),
10511           UINT32_C(0x002CD1A9), UINT32_C(0x00110FB0), UINT32_C(0x00299AA9),
10512           UINT32_C(0x001FD531), UINT32_C(0x0002E546), UINT32_C(0x001E08DB),
10513           UINT32_C(0x001D678E), UINT32_C(0x0043BD67), UINT32_C(0x001A8272),
10514           UINT32_C(0x0022C90A), UINT32_C(0x0007CC59)}},
10515         {{UINT32_C(0x003C1C05), UINT32_C(0x00371D27), UINT32_C(0x001EE674),
10516           UINT32_C(0x006687DD), UINT32_C(0x001B5B64), UINT32_C(0x0037B7A6),
10517           UINT32_C(0x00110B63), UINT32_C(0x004D3034), UINT32_C(0x00034E37),
10518           UINT32_C(0x003361C7), UINT32_C(0x0029A6D0), UINT32_C(0x005A8F45),
10519           UINT32_C(0x0002097C), UINT32_C(0x000EA46A), UINT32_C(0x001C9C63),
10520           UINT32_C(0x00510D99), UINT32_C(0x000FB932), UINT32_C(0x000D6720),
10521           UINT32_C(0x000487B1), UINT32_C(0x003D00ED), UINT32_C(0x000851E4),
10522           UINT32_C(0x000997F2), UINT32_C(0x00320424)},
10523          {UINT32_C(0x0061B9A6), UINT32_C(0x001B989A), UINT32_C(0x0038839A),
10524           UINT32_C(0x0038318C), UINT32_C(0x000A4E7A), UINT32_C(0x00316981),
10525           UINT32_C(0x00262D85), UINT32_C(0x00404D09), UINT32_C(0x00382ABE),
10526           UINT32_C(0x000DCD89), UINT32_C(0x001791BB), UINT32_C(0x002076BF),
10527           UINT32_C(0x00097C30), UINT32_C(0x0038D1B5), UINT32_C(0x0030A092),
10528           UINT32_C(0x00563AEB), UINT32_C(0x0027026C), UINT32_C(0x000E6AF4),
10529           UINT32_C(0x0037D8D5), UINT32_C(0x006D9346), UINT32_C(0x001E7C0C),
10530           UINT32_C(0x001B5D43), UINT32_C(0x0035B6ED)},
10531          {UINT32_C(0x007FF888), UINT32_C(0x00222708), UINT32_C(0x001FA371),
10532           UINT32_C(0x000DCC52), UINT32_C(0x0005815A), UINT32_C(0x001F9620),
10533           UINT32_C(0x000061B0), UINT32_C(0x00078FA0), UINT32_C(0x0024CC30),
10534           UINT32_C(0x0015B96E), UINT32_C(0x0021510C), UINT32_C(0x00382242),
10535           UINT32_C(0x0030063A), UINT32_C(0x0036F011), UINT32_C(0x0037B5D5),
10536           UINT32_C(0x0002EB1A), UINT32_C(0x0026488B), UINT32_C(0x003568B8),
10537           UINT32_C(0x0003E1F1), UINT32_C(0x00517C59), UINT32_C(0x0030A3A0),
10538           UINT32_C(0x0025590A), UINT32_C(0x001142DE)}},
10539         {{UINT32_C(0x005982A8), UINT32_C(0x00370C8F), UINT32_C(0x000AF64E),
10540           UINT32_C(0x0002E275), UINT32_C(0x001EEE4F), UINT32_C(0x00246CAD),
10541           UINT32_C(0x002AC24B), UINT32_C(0x00334875), UINT32_C(0x00174AA6),
10542           UINT32_C(0x002C27C8), UINT32_C(0x000EA109), UINT32_C(0x002BB331),
10543           UINT32_C(0x002AE934), UINT32_C(0x00254289), UINT32_C(0x003CA630),
10544           UINT32_C(0x003660D8), UINT32_C(0x0002C93F), UINT32_C(0x0018A01E),
10545           UINT32_C(0x0031D7A9), UINT32_C(0x002BD9F0), UINT32_C(0x002B8049),
10546           UINT32_C(0x00350D91), UINT32_C(0x00294E97)},
10547          {UINT32_C(0x00129088), UINT32_C(0x0028094D), UINT32_C(0x00357F4D),
10548           UINT32_C(0x006B6FFF), UINT32_C(0x001B77FC), UINT32_C(0x00021A12),
10549           UINT32_C(0x00214A39), UINT32_C(0x007DAD9D), UINT32_C(0x0003BCA3),
10550           UINT32_C(0x0032A844), UINT32_C(0x002DC466), UINT32_C(0x005640CE),
10551           UINT32_C(0x003A5766), UINT32_C(0x00209AE0), UINT32_C(0x00388583),
10552           UINT32_C(0x005AA61F), UINT32_C(0x003917FE), UINT32_C(0x0020DB8C),
10553           UINT32_C(0x002576DC), UINT32_C(0x0046380E), UINT32_C(0x002B7CE8),
10554           UINT32_C(0x000B5A77), UINT32_C(0x00136232)},
10555          {UINT32_C(0x00059DD5), UINT32_C(0x00298A36), UINT32_C(0x002A6FC3),
10556           UINT32_C(0x0030E5AA), UINT32_C(0x00308A3F), UINT32_C(0x002D40E1),
10557           UINT32_C(0x002E7DE9), UINT32_C(0x000807B9), UINT32_C(0x000E3F2E),
10558           UINT32_C(0x00227438), UINT32_C(0x00210CE9), UINT32_C(0x002EFE56),
10559           UINT32_C(0x00252E80), UINT32_C(0x0038C0F1), UINT32_C(0x00175105),
10560           UINT32_C(0x000E6782), UINT32_C(0x000B3A10), UINT32_C(0x0011D347),
10561           UINT32_C(0x0006498F), UINT32_C(0x001484B8), UINT32_C(0x00092D66),
10562           UINT32_C(0x001CAD6A), UINT32_C(0x003E1628)}},
10563         {{UINT32_C(0x001FA2D3), UINT32_C(0x001AD4F5), UINT32_C(0x001BA2BF),
10564           UINT32_C(0x00584C68), UINT32_C(0x003C80CD), UINT32_C(0x002A3CE1),
10565           UINT32_C(0x000E01C2), UINT32_C(0x002DD8BE), UINT32_C(0x0017C543),
10566           UINT32_C(0x002C4E30), UINT32_C(0x0034AECE), UINT32_C(0x00437F0A),
10567           UINT32_C(0x000104C7), UINT32_C(0x002AA667), UINT32_C(0x003C16D7),
10568           UINT32_C(0x001848BB), UINT32_C(0x001D7152), UINT32_C(0x002A413C),
10569           UINT32_C(0x003C17CC), UINT32_C(0x00412579), UINT32_C(0x0018306D),
10570           UINT32_C(0x00032A9E), UINT32_C(0x0008EDED)},
10571          {UINT32_C(0x0068A027), UINT32_C(0x00272D65), UINT32_C(0x0035ED0F),
10572           UINT32_C(0x006BD7E7), UINT32_C(0x003673DF), UINT32_C(0x002FA6B9),
10573           UINT32_C(0x002B9424), UINT32_C(0x0016DE59), UINT32_C(0x0024F12D),
10574           UINT32_C(0x0030F5A6), UINT32_C(0x0016B74C), UINT32_C(0x002CCEE0),
10575           UINT32_C(0x00316F68), UINT32_C(0x0028D420), UINT32_C(0x002A7F25),
10576           UINT32_C(0x001FA3FC), UINT32_C(0x0036B1F5), UINT32_C(0x003ABC71),
10577           UINT32_C(0x002E10FE), UINT32_C(0x005F45AF), UINT32_C(0x0030575C),
10578           UINT32_C(0x003847B7), UINT32_C(0x000DD252)},
10579          {UINT32_C(0x002FA0BD), UINT32_C(0x003EB306), UINT32_C(0x00096877),
10580           UINT32_C(0x00521BA1), UINT32_C(0x001C63BC), UINT32_C(0x0032E251),
10581           UINT32_C(0x0003FA86), UINT32_C(0x006BC4D8), UINT32_C(0x000F02D8),
10582           UINT32_C(0x002FF844), UINT32_C(0x00242017), UINT32_C(0x0073E523),
10583           UINT32_C(0x00080EB0), UINT32_C(0x0022B8DE), UINT32_C(0x003BB4D3),
10584           UINT32_C(0x0013C01E), UINT32_C(0x0033830B), UINT32_C(0x003CFD23),
10585           UINT32_C(0x00294978), UINT32_C(0x00102D1C), UINT32_C(0x000E4A57),
10586           UINT32_C(0x001089DC), UINT32_C(0x003D1440)}},
10587         {{UINT32_C(0x00166AD2), UINT32_C(0x001851E7), UINT32_C(0x003A69AC),
10588           UINT32_C(0x00138038), UINT32_C(0x002CBBE9), UINT32_C(0x000E1B01),
10589           UINT32_C(0x002D813B), UINT32_C(0x0055062F), UINT32_C(0x0011E135),
10590           UINT32_C(0x001B55A0), UINT32_C(0x0038C972), UINT32_C(0x006FFEDB),
10591           UINT32_C(0x002EFC51), UINT32_C(0x0037167E), UINT32_C(0x000651CA),
10592           UINT32_C(0x002FAAD0), UINT32_C(0x00319A64), UINT32_C(0x001AB9E5),
10593           UINT32_C(0x0019EA91), UINT32_C(0x00571C6A), UINT32_C(0x001B9B34),
10594           UINT32_C(0x0032C40D), UINT32_C(0x00120211)},
10595          {UINT32_C(0x003FCA5A), UINT32_C(0x002E874F), UINT32_C(0x0016F8D3),
10596           UINT32_C(0x005ED189), UINT32_C(0x00322122), UINT32_C(0x000EC018),
10597           UINT32_C(0x000CE754), UINT32_C(0x00487A23), UINT32_C(0x000D1100),
10598           UINT32_C(0x002AC3BB), UINT32_C(0x002B538F), UINT32_C(0x004F45D1),
10599           UINT32_C(0x001EB758), UINT32_C(0x003B112B), UINT32_C(0x003E180B),
10600           UINT32_C(0x005A4B85), UINT32_C(0x001D03F0), UINT32_C(0x002069E1),
10601           UINT32_C(0x0011A16E), UINT32_C(0x004F3D33), UINT32_C(0x000381CC),
10602           UINT32_C(0x00094BB5), UINT32_C(0x00250B30)},
10603          {UINT32_C(0x001C2C25), UINT32_C(0x002E0B68), UINT32_C(0x0025AC97),
10604           UINT32_C(0x0004E260), UINT32_C(0x002EB2AB), UINT32_C(0x00309F16),
10605           UINT32_C(0x002ECEDF), UINT32_C(0x0062F833), UINT32_C(0x001E0F90),
10606           UINT32_C(0x00294A6E), UINT32_C(0x00253BC6), UINT32_C(0x00341FBD),
10607           UINT32_C(0x001FB3C9), UINT32_C(0x0038047A), UINT32_C(0x003CD92B),
10608           UINT32_C(0x002F682E), UINT32_C(0x000553EA), UINT32_C(0x00160B6F),
10609           UINT32_C(0x00346039), UINT32_C(0x003E514D), UINT32_C(0x0024F021),
10610           UINT32_C(0x003E913F), UINT32_C(0x00129CFE)}},
10611         {{UINT32_C(0x001EFBD4), UINT32_C(0x003B8B42), UINT32_C(0x000EF579),
10612           UINT32_C(0x005902FB), UINT32_C(0x003522F1), UINT32_C(0x0005610C),
10613           UINT32_C(0x00170E18), UINT32_C(0x001AFDFC), UINT32_C(0x00204D62),
10614           UINT32_C(0x00391959), UINT32_C(0x00179E48), UINT32_C(0x002FF462),
10615           UINT32_C(0x00063CE3), UINT32_C(0x00111EA8), UINT32_C(0x001AADCF),
10616           UINT32_C(0x000BD1D2), UINT32_C(0x00367F3C), UINT32_C(0x0011E570),
10617           UINT32_C(0x000BA7B7), UINT32_C(0x0026D561), UINT32_C(0x0015CF3E),
10618           UINT32_C(0x0016E814), UINT32_C(0x003FEC7E)},
10619          {UINT32_C(0x00410519), UINT32_C(0x0034D54F), UINT32_C(0x003C2FFF),
10620           UINT32_C(0x004F910F), UINT32_C(0x0011C414), UINT32_C(0x0015AF5E),
10621           UINT32_C(0x003D949C), UINT32_C(0x003F1B53), UINT32_C(0x000091AD),
10622           UINT32_C(0x00264BB8), UINT32_C(0x00189713), UINT32_C(0x00338935),
10623           UINT32_C(0x001CFC31), UINT32_C(0x003530FD), UINT32_C(0x003D8864),
10624           UINT32_C(0x00571F5C), UINT32_C(0x00066F17), UINT32_C(0x000C820B),
10625           UINT32_C(0x000A514A), UINT32_C(0x0053ED14), UINT32_C(0x0008908D),
10626           UINT32_C(0x002A9AA4), UINT32_C(0x003723D1)},
10627          {UINT32_C(0x00530A55), UINT32_C(0x0023CCA3), UINT32_C(0x00382430),
10628           UINT32_C(0x006AF068), UINT32_C(0x0035651E), UINT32_C(0x0014F6EC),
10629           UINT32_C(0x002AEAAB), UINT32_C(0x00487304), UINT32_C(0x00156CAA),
10630           UINT32_C(0x000C009A), UINT32_C(0x0010EF4B), UINT32_C(0x0026FC2D),
10631           UINT32_C(0x0010F060), UINT32_C(0x00095637), UINT32_C(0x00288A9C),
10632           UINT32_C(0x007E1314), UINT32_C(0x000A00CE), UINT32_C(0x0002F2C3),
10633           UINT32_C(0x000BE1F6), UINT32_C(0x0054175B), UINT32_C(0x000AFAA6),
10634           UINT32_C(0x00232E71), UINT32_C(0x002B55E0)}},
10635         {{UINT32_C(0x0001E7A5), UINT32_C(0x0004FD57), UINT32_C(0x0022F6FF),
10636           UINT32_C(0x004CC21B), UINT32_C(0x000D5FC7), UINT32_C(0x001FD78E),
10637           UINT32_C(0x003A2EBE), UINT32_C(0x00183905), UINT32_C(0x000C129E),
10638           UINT32_C(0x003765A9), UINT32_C(0x000A6E98), UINT32_C(0x00797796),
10639           UINT32_C(0x0024F429), UINT32_C(0x0036F1E4), UINT32_C(0x003DE415),
10640           UINT32_C(0x0060A080), UINT32_C(0x003D9A0F), UINT32_C(0x00348EE1),
10641           UINT32_C(0x003B8D4C), UINT32_C(0x003B94F9), UINT32_C(0x000A52CE),
10642           UINT32_C(0x0036391F), UINT32_C(0x00219DCA)},
10643          {UINT32_C(0x0000155E), UINT32_C(0x00001CFD), UINT32_C(0x001A8F93),
10644           UINT32_C(0x00743A5A), UINT32_C(0x0013DF56), UINT32_C(0x0035856C),
10645           UINT32_C(0x001E2621), UINT32_C(0x001DF2FD), UINT32_C(0x0017FC31),
10646           UINT32_C(0x0007F36B), UINT32_C(0x002516F7), UINT32_C(0x006F4EDA),
10647           UINT32_C(0x0004D8DA), UINT32_C(0x003BB017), UINT32_C(0x0017812B),
10648           UINT32_C(0x002E8803), UINT32_C(0x00331E37), UINT32_C(0x001476EC),
10649           UINT32_C(0x003B6795), UINT32_C(0x001D82CF), UINT32_C(0x00055A4D),
10650           UINT32_C(0x001E2E87), UINT32_C(0x0023FEA8)},
10651          {UINT32_C(0x002DEA12), UINT32_C(0x00158ECD), UINT32_C(0x001FC69F),
10652           UINT32_C(0x00672AE8), UINT32_C(0x001E897D), UINT32_C(0x001F295F),
10653           UINT32_C(0x0027C7CF), UINT32_C(0x002F1854), UINT32_C(0x002DD29A),
10654           UINT32_C(0x00224DFF), UINT32_C(0x00228DE0), UINT32_C(0x0009A2B0),
10655           UINT32_C(0x00113CF4), UINT32_C(0x0030BD96), UINT32_C(0x0029A4AB),
10656           UINT32_C(0x006DD2C6), UINT32_C(0x000E0F85), UINT32_C(0x001BA973),
10657           UINT32_C(0x003AEEC2), UINT32_C(0x00440748), UINT32_C(0x003C3422),
10658           UINT32_C(0x0004A832), UINT32_C(0x003A30EB)}},
10659         {{UINT32_C(0x001F1DE4), UINT32_C(0x0018B067), UINT32_C(0x002FFBA1),
10660           UINT32_C(0x007C943A), UINT32_C(0x003A18D1), UINT32_C(0x001108E9),
10661           UINT32_C(0x00284491), UINT32_C(0x00156A7B), UINT32_C(0x00148D8E),
10662           UINT32_C(0x00125467), UINT32_C(0x001947CE), UINT32_C(0x0048136E),
10663           UINT32_C(0x0014138D), UINT32_C(0x00303877), UINT32_C(0x00013932),
10664           UINT32_C(0x00055FE2), UINT32_C(0x00202719), UINT32_C(0x001586AE),
10665           UINT32_C(0x002D4502), UINT32_C(0x0071913C), UINT32_C(0x001B1B1C),
10666           UINT32_C(0x00056028), UINT32_C(0x00151696)},
10667          {UINT32_C(0x0076C4DF), UINT32_C(0x001348D7), UINT32_C(0x00276BB5),
10668           UINT32_C(0x001D589A), UINT32_C(0x00390F8D), UINT32_C(0x0029442B),
10669           UINT32_C(0x0000B75D), UINT32_C(0x00036E35), UINT32_C(0x003201CC),
10670           UINT32_C(0x002A33F2), UINT32_C(0x001F44DA), UINT32_C(0x000F6817),
10671           UINT32_C(0x0009DD39), UINT32_C(0x00291EE0), UINT32_C(0x003B94B2),
10672           UINT32_C(0x00628085), UINT32_C(0x003DA89E), UINT32_C(0x001935A1),
10673           UINT32_C(0x001682E4), UINT32_C(0x003D96A4), UINT32_C(0x00266B1C),
10674           UINT32_C(0x000B66B4), UINT32_C(0x000892A2)},
10675          {UINT32_C(0x003AFE25), UINT32_C(0x00055237), UINT32_C(0x00193631),
10676           UINT32_C(0x000ADE15), UINT32_C(0x00176B32), UINT32_C(0x0008E9B8),
10677           UINT32_C(0x0010652A), UINT32_C(0x001C79FD), UINT32_C(0x0012262B),
10678           UINT32_C(0x000811E4), UINT32_C(0x00371D92), UINT32_C(0x00000BE1),
10679           UINT32_C(0x000F024E), UINT32_C(0x003270AF), UINT32_C(0x003A0AEA),
10680           UINT32_C(0x005156EE), UINT32_C(0x003A8504), UINT32_C(0x00159140),
10681           UINT32_C(0x000A6703), UINT32_C(0x00125BF7), UINT32_C(0x003B1A1B),
10682           UINT32_C(0x0014C0D0), UINT32_C(0x0029EE7F)}},
10683     },
10684     {
10685         {{UINT32_C(0x000CEE3A), UINT32_C(0x003D7321), UINT32_C(0x00023142),
10686           UINT32_C(0x003544C4), UINT32_C(0x003F91BD), UINT32_C(0x0010A3EC),
10687           UINT32_C(0x00082B20), UINT32_C(0x0078FFE7), UINT32_C(0x003864F1),
10688           UINT32_C(0x003B8041), UINT32_C(0x001D9DC2), UINT32_C(0x0007B678),
10689           UINT32_C(0x0031A85D), UINT32_C(0x0026740B), UINT32_C(0x003B73EA),
10690           UINT32_C(0x00554F39), UINT32_C(0x0024C5A9), UINT32_C(0x001017C6),
10691           UINT32_C(0x0015253B), UINT32_C(0x0078B21A), UINT32_C(0x001046AA),
10692           UINT32_C(0x00345729), UINT32_C(0x0019F681)},
10693          {UINT32_C(0x00181CB6), UINT32_C(0x001C63A7), UINT32_C(0x003CC749),
10694           UINT32_C(0x00688EB7), UINT32_C(0x003206DC), UINT32_C(0x002E4E99),
10695           UINT32_C(0x0004E7E3), UINT32_C(0x005C52DA), UINT32_C(0x00206DFE),
10696           UINT32_C(0x001645C1), UINT32_C(0x003C7BEB), UINT32_C(0x000204B2),
10697           UINT32_C(0x00012DAF), UINT32_C(0x00349503), UINT32_C(0x0034618E),
10698           UINT32_C(0x00231A9D), UINT32_C(0x0029B7B6), UINT32_C(0x002A40B2),
10699           UINT32_C(0x003C911A), UINT32_C(0x0014E5CA), UINT32_C(0x00168D52),
10700           UINT32_C(0x0005511B), UINT32_C(0x002F1520)},
10701          {UINT32_C(0x007821FA), UINT32_C(0x0036926C), UINT32_C(0x000D7AF9),
10702           UINT32_C(0x006EC97B), UINT32_C(0x00045F92), UINT32_C(0x002447D1),
10703           UINT32_C(0x0026C242), UINT32_C(0x00319411), UINT32_C(0x003B8DAD),
10704           UINT32_C(0x001E3305), UINT32_C(0x0017AA9C), UINT32_C(0x001725D0),
10705           UINT32_C(0x00244567), UINT32_C(0x0005476C), UINT32_C(0x0001EFF9),
10706           UINT32_C(0x006A1091), UINT32_C(0x0024FA36), UINT32_C(0x00039DCF),
10707           UINT32_C(0x00208642), UINT32_C(0x003C7246), UINT32_C(0x003FA637),
10708           UINT32_C(0x002BB676), UINT32_C(0x00259D44)}},
10709         {{UINT32_C(0x001143E0), UINT32_C(0x000BE934), UINT32_C(0x00092033),
10710           UINT32_C(0x0022ACE8), UINT32_C(0x0007276F), UINT32_C(0x000F73BC),
10711           UINT32_C(0x00201D0F), UINT32_C(0x00226977), UINT32_C(0x00012645),
10712           UINT32_C(0x00275465), UINT32_C(0x0028E554), UINT32_C(0x005CBE2C),
10713           UINT32_C(0x0021F1F6), UINT32_C(0x003D5FE6), UINT32_C(0x001DC930),
10714           UINT32_C(0x0077C3DA), UINT32_C(0x00097BE2), UINT32_C(0x000D819D),
10715           UINT32_C(0x0001C8A3), UINT32_C(0x0019CED0), UINT32_C(0x00134484),
10716           UINT32_C(0x000F4F11), UINT32_C(0x001DF685)},
10717          {UINT32_C(0x000009BC), UINT32_C(0x0011EDA2), UINT32_C(0x000D29DF),
10718           UINT32_C(0x003DD661), UINT32_C(0x002C252E), UINT32_C(0x00113EDA),
10719           UINT32_C(0x003DF35D), UINT32_C(0x002DED2E), UINT32_C(0x002B0755),
10720           UINT32_C(0x00333F8A), UINT32_C(0x0013C151), UINT32_C(0x0057FEA3),
10721           UINT32_C(0x0015DAC1), UINT32_C(0x003EB220), UINT32_C(0x0003B1EA),
10722           UINT32_C(0x007C1A9B), UINT32_C(0x003CE6E5), UINT32_C(0x003CAD4F),
10723           UINT32_C(0x0012B472), UINT32_C(0x00652857), UINT32_C(0x0007E9D3),
10724           UINT32_C(0x0024534D), UINT32_C(0x00213675)},
10725          {UINT32_C(0x0048F0D3), UINT32_C(0x0022CD16), UINT32_C(0x000AD0B2),
10726           UINT32_C(0x00354F10), UINT32_C(0x00349FB2), UINT32_C(0x00305A14),
10727           UINT32_C(0x001BDA8F), UINT32_C(0x007E0240), UINT32_C(0x001C187D),
10728           UINT32_C(0x003E456C), UINT32_C(0x00228C2A), UINT32_C(0x00518D87),
10729           UINT32_C(0x0031FEE5), UINT32_C(0x0018BEB8), UINT32_C(0x001E38EB),
10730           UINT32_C(0x003553A2), UINT32_C(0x003C0940), UINT32_C(0x003DE9BA),
10731           UINT32_C(0x00120769), UINT32_C(0x0076BFBD), UINT32_C(0x003CEEF0),
10732           UINT32_C(0x001B431A), UINT32_C(0x001E3982)}},
10733         {{UINT32_C(0x00516136), UINT32_C(0x0029DF1B), UINT32_C(0x002D8BBF),
10734           UINT32_C(0x00309D5F), UINT32_C(0x00259D4B), UINT32_C(0x00038377),
10735           UINT32_C(0x003833E1), UINT32_C(0x004338BB), UINT32_C(0x001D9308),
10736           UINT32_C(0x0006D82F), UINT32_C(0x000B6B51), UINT32_C(0x005BA357),
10737           UINT32_C(0x00320D4C), UINT32_C(0x00259A92), UINT32_C(0x001D9241),
10738           UINT32_C(0x0078B989), UINT32_C(0x00045C59), UINT32_C(0x00037E70),
10739           UINT32_C(0x002B41F8), UINT32_C(0x0040B045), UINT32_C(0x003CC5AB),
10740           UINT32_C(0x003A6093), UINT32_C(0x002EB114)},
10741          {UINT32_C(0x002FD13F), UINT32_C(0x0031B6B2), UINT32_C(0x0038071A),
10742           UINT32_C(0x00008F7E), UINT32_C(0x002227F0), UINT32_C(0x002C8CB9),
10743           UINT32_C(0x0002C017), UINT32_C(0x00452659), UINT32_C(0x000CCF76),
10744           UINT32_C(0x000F095B), UINT32_C(0x003A4DFD), UINT32_C(0x0072E9C3),
10745           UINT32_C(0x0010B61E), UINT32_C(0x000C0898), UINT32_C(0x0024C173),
10746           UINT32_C(0x000A2663), UINT32_C(0x00060CDB), UINT32_C(0x00096AE3),
10747           UINT32_C(0x0013F6F3), UINT32_C(0x004B3363), UINT32_C(0x001F342B),
10748           UINT32_C(0x000C8DE7), UINT32_C(0x00251CCD)},
10749          {UINT32_C(0x00291E81), UINT32_C(0x00087E94), UINT32_C(0x00397163),
10750           UINT32_C(0x0041EE95), UINT32_C(0x00174BBE), UINT32_C(0x00116EA7),
10751           UINT32_C(0x003F0F93), UINT32_C(0x004C9F35), UINT32_C(0x0028B7F6),
10752           UINT32_C(0x0005ADCA), UINT32_C(0x00148DEC), UINT32_C(0x00599D15),
10753           UINT32_C(0x0024B8E7), UINT32_C(0x003FB84F), UINT32_C(0x003DA2F2),
10754           UINT32_C(0x003BCD26), UINT32_C(0x003A6E5E), UINT32_C(0x00198E0F),
10755           UINT32_C(0x002481B2), UINT32_C(0x0052634A), UINT32_C(0x0022D3F8),
10756           UINT32_C(0x00291EF1), UINT32_C(0x0007CC09)}},
10757         {{UINT32_C(0x00103033), UINT32_C(0x002ADD30), UINT32_C(0x001859A0),
10758           UINT32_C(0x0015A086), UINT32_C(0x00061C02), UINT32_C(0x0010E7A8),
10759           UINT32_C(0x003EAFF4), UINT32_C(0x00767D34), UINT32_C(0x0010AB16),
10760           UINT32_C(0x001F8467), UINT32_C(0x0026AFAB), UINT32_C(0x000D90E0),
10761           UINT32_C(0x0026D163), UINT32_C(0x001708CF), UINT32_C(0x00041DBD),
10762           UINT32_C(0x0016BB95), UINT32_C(0x00375E2C), UINT32_C(0x0003BCA5),
10763           UINT32_C(0x0004AAE7), UINT32_C(0x003072CC), UINT32_C(0x0005E256),
10764           UINT32_C(0x0015AC55), UINT32_C(0x003BABC8)},
10765          {UINT32_C(0x004B5126), UINT32_C(0x00221DBC), UINT32_C(0x00061E51),
10766           UINT32_C(0x001A65B2), UINT32_C(0x00144A5D), UINT32_C(0x00053B47),
10767           UINT32_C(0x0035282A), UINT32_C(0x00361203), UINT32_C(0x0034A24A),
10768           UINT32_C(0x00265DCD), UINT32_C(0x0011E3E4), UINT32_C(0x0071F53C),
10769           UINT32_C(0x001617A7), UINT32_C(0x001B3CFC), UINT32_C(0x0037ACD5),
10770           UINT32_C(0x003D79A9), UINT32_C(0x002F6062), UINT32_C(0x000E6254),
10771           UINT32_C(0x0013609B), UINT32_C(0x006B6554), UINT32_C(0x0035F594),
10772           UINT32_C(0x000ABD87), UINT32_C(0x002EDABF)},
10773          {UINT32_C(0x00261ED9), UINT32_C(0x002DA8C6), UINT32_C(0x001E0A7A),
10774           UINT32_C(0x00169981), UINT32_C(0x001CF370), UINT32_C(0x003E78E4),
10775           UINT32_C(0x001DC822), UINT32_C(0x005C5907), UINT32_C(0x000C84AA),
10776           UINT32_C(0x001B3D8D), UINT32_C(0x00235FF6), UINT32_C(0x003183F8),
10777           UINT32_C(0x001DC3F5), UINT32_C(0x003CD3E8), UINT32_C(0x0038AA8A),
10778           UINT32_C(0x00298326), UINT32_C(0x0023EE8A), UINT32_C(0x00219AC4),
10779           UINT32_C(0x002FFA3E), UINT32_C(0x006FB3B6), UINT32_C(0x0026C478),
10780           UINT32_C(0x0001E8FD), UINT32_C(0x0028FC8A)}},
10781         {{UINT32_C(0x0074BF78), UINT32_C(0x0021A4A0), UINT32_C(0x0007F0AA),
10782           UINT32_C(0x004357AC), UINT32_C(0x001FE0E7), UINT32_C(0x0028EE47),
10783           UINT32_C(0x0028C433), UINT32_C(0x002DC428), UINT32_C(0x001801EA),
10784           UINT32_C(0x001C3DCA), UINT32_C(0x0036E321), UINT32_C(0x0076CD18),
10785           UINT32_C(0x000FE126), UINT32_C(0x001F3CFA), UINT32_C(0x003B1976),
10786           UINT32_C(0x007FB0F7), UINT32_C(0x0022F2C9), UINT32_C(0x00197985),
10787           UINT32_C(0x0007146F), UINT32_C(0x007D7DCB), UINT32_C(0x000400AF),
10788           UINT32_C(0x00344938), UINT32_C(0x002E00BD)},
10789          {UINT32_C(0x0033B420), UINT32_C(0x002CBFC9), UINT32_C(0x001EBE71),
10790           UINT32_C(0x000E5302), UINT32_C(0x00074DB3), UINT32_C(0x00130287),
10791           UINT32_C(0x000026B2), UINT32_C(0x00514208), UINT32_C(0x002E49CD),
10792           UINT32_C(0x000B2A5B), UINT32_C(0x003C750F), UINT32_C(0x003ED5AC),
10793           UINT32_C(0x0039B88B), UINT32_C(0x002B90DA), UINT32_C(0x0005740F),
10794           UINT32_C(0x00279855), UINT32_C(0x00083537), UINT32_C(0x000AECE4),
10795           UINT32_C(0x00284E3D), UINT32_C(0x007EBF4B), UINT32_C(0x000753F0),
10796           UINT32_C(0x00361832), UINT32_C(0x001F793F)},
10797          {UINT32_C(0x003A939A), UINT32_C(0x00052334), UINT32_C(0x00356449),
10798           UINT32_C(0x0024BFBB), UINT32_C(0x0036BE0F), UINT32_C(0x00367B2C),
10799           UINT32_C(0x0004E8D1), UINT32_C(0x0067E56C), UINT32_C(0x00279DE5),
10800           UINT32_C(0x00090171), UINT32_C(0x0015DDDE), UINT32_C(0x002A246D),
10801           UINT32_C(0x00062B11), UINT32_C(0x00036BDB), UINT32_C(0x001714B6),
10802           UINT32_C(0x007CBB2A), UINT32_C(0x001969BA), UINT32_C(0x0027CA13),
10803           UINT32_C(0x0028B9DE), UINT32_C(0x005E3B1A), UINT32_C(0x00078AE7),
10804           UINT32_C(0x001351F5), UINT32_C(0x0000DA62)}},
10805         {{UINT32_C(0x00053172), UINT32_C(0x002A2BFC), UINT32_C(0x0033E860),
10806           UINT32_C(0x00638ADF), UINT32_C(0x0022FDA9), UINT32_C(0x00161786),
10807           UINT32_C(0x002313FD), UINT32_C(0x00502AB2), UINT32_C(0x001C6DA3),
10808           UINT32_C(0x00235635), UINT32_C(0x0008ED5B), UINT32_C(0x001E342B),
10809           UINT32_C(0x0013C148), UINT32_C(0x002E6A9C), UINT32_C(0x003897F3),
10810           UINT32_C(0x005843F7), UINT32_C(0x00123DFD), UINT32_C(0x003C9807),
10811           UINT32_C(0x0005F065), UINT32_C(0x000D45E4), UINT32_C(0x002690E3),
10812           UINT32_C(0x00341A20), UINT32_C(0x000927BF)},
10813          {UINT32_C(0x0015F913), UINT32_C(0x0030564F), UINT32_C(0x002F86A0),
10814           UINT32_C(0x000C54CB), UINT32_C(0x0017E098), UINT32_C(0x001C24F2),
10815           UINT32_C(0x0017111F), UINT32_C(0x00021C5D), UINT32_C(0x001BE2D3),
10816           UINT32_C(0x000FD2C4), UINT32_C(0x001E935E), UINT32_C(0x003CE41D),
10817           UINT32_C(0x00086058), UINT32_C(0x001B00C8), UINT32_C(0x00285196),
10818           UINT32_C(0x00011DA1), UINT32_C(0x002F1A16), UINT32_C(0x00126ABE),
10819           UINT32_C(0x00042FD8), UINT32_C(0x002EDBF1), UINT32_C(0x003A75C6),
10820           UINT32_C(0x000D1C7C), UINT32_C(0x00367832)},
10821          {UINT32_C(0x00293AEE), UINT32_C(0x00021495), UINT32_C(0x001BB0F5),
10822           UINT32_C(0x00566C32), UINT32_C(0x00196DDA), UINT32_C(0x000D10CE),
10823           UINT32_C(0x000C6555), UINT32_C(0x001E8E54), UINT32_C(0x0014FA41),
10824           UINT32_C(0x003CA61A), UINT32_C(0x0008C270), UINT32_C(0x0041A922),
10825           UINT32_C(0x0010DDE3), UINT32_C(0x003C22D8), UINT32_C(0x00143053),
10826           UINT32_C(0x000C9DAC), UINT32_C(0x00117939), UINT32_C(0x0016BA60),
10827           UINT32_C(0x0028B353), UINT32_C(0x003C642B), UINT32_C(0x0020C6F4),
10828           UINT32_C(0x0003F370), UINT32_C(0x00196768)}},
10829         {{UINT32_C(0x0065E8F6), UINT32_C(0x0009C4A7), UINT32_C(0x000A1D99),
10830           UINT32_C(0x007D4B7B), UINT32_C(0x0015F315), UINT32_C(0x003FC1AA),
10831           UINT32_C(0x002468FA), UINT32_C(0x005C1056), UINT32_C(0x000F4362),
10832           UINT32_C(0x002C7799), UINT32_C(0x0022A7D7), UINT32_C(0x0071EC9D),
10833           UINT32_C(0x001ACB59), UINT32_C(0x001E9B82), UINT32_C(0x000369EA),
10834           UINT32_C(0x0052D8AB), UINT32_C(0x002884D6), UINT32_C(0x000AA6B5),
10835           UINT32_C(0x00110D92), UINT32_C(0x005882B4), UINT32_C(0x0018CB6D),
10836           UINT32_C(0x002F7663), UINT32_C(0x001B502E)},
10837          {UINT32_C(0x006415D4), UINT32_C(0x0036A62C), UINT32_C(0x002F8E5C),
10838           UINT32_C(0x00310D30), UINT32_C(0x0011EE1E), UINT32_C(0x00271CB7),
10839           UINT32_C(0x0022D267), UINT32_C(0x00094EFA), UINT32_C(0x00398684),
10840           UINT32_C(0x003F1B86), UINT32_C(0x00165A66), UINT32_C(0x005BB638),
10841           UINT32_C(0x0034D02F), UINT32_C(0x003E6EBE), UINT32_C(0x000DE3C6),
10842           UINT32_C(0x004138E0), UINT32_C(0x002EECEC), UINT32_C(0x0024EE9D),
10843           UINT32_C(0x001E8C7F), UINT32_C(0x005CEBE9), UINT32_C(0x000A4E0F),
10844           UINT32_C(0x001BC6CD), UINT32_C(0x0036B315)},
10845          {UINT32_C(0x004FDAB7), UINT32_C(0x003E5AE6), UINT32_C(0x000C6A3B),
10846           UINT32_C(0x002C4AA9), UINT32_C(0x00269D75), UINT32_C(0x000D8807),
10847           UINT32_C(0x000B5F32), UINT32_C(0x006B8D06), UINT32_C(0x0031AE80),
10848           UINT32_C(0x0025B3E0), UINT32_C(0x0039541F), UINT32_C(0x0000F3ED),
10849           UINT32_C(0x003A4AF4), UINT32_C(0x001A6C5B), UINT32_C(0x000C602B),
10850           UINT32_C(0x0011FF53), UINT32_C(0x002F09C9), UINT32_C(0x00054583),
10851           UINT32_C(0x00214187), UINT32_C(0x0036D12F), UINT32_C(0x003950DC),
10852           UINT32_C(0x000AED90), UINT32_C(0x003F5A51)}},
10853         {{UINT32_C(0x00056FA9), UINT32_C(0x002A8CF1), UINT32_C(0x0001DDAD),
10854           UINT32_C(0x0046E6FF), UINT32_C(0x003B910B), UINT32_C(0x002CADE7),
10855           UINT32_C(0x000D73A3), UINT32_C(0x00338292), UINT32_C(0x000BBF55),
10856           UINT32_C(0x0033F714), UINT32_C(0x0004D83C), UINT32_C(0x007DF50D),
10857           UINT32_C(0x0037ABD1), UINT32_C(0x00103E5A), UINT32_C(0x00042BB5),
10858           UINT32_C(0x00663AFA), UINT32_C(0x00197069), UINT32_C(0x002B5674),
10859           UINT32_C(0x003B0D57), UINT32_C(0x0045359A), UINT32_C(0x0010B12C),
10860           UINT32_C(0x000F3CA0), UINT32_C(0x0025512A)},
10861          {UINT32_C(0x002BD66C), UINT32_C(0x002285D6), UINT32_C(0x001D66BD),
10862           UINT32_C(0x006BD87F), UINT32_C(0x002DC0F9), UINT32_C(0x003AE7AB),
10863           UINT32_C(0x00361A39), UINT32_C(0x0011B741), UINT32_C(0x00206C9F),
10864           UINT32_C(0x0025662E), UINT32_C(0x000C70F7), UINT32_C(0x003F36E4),
10865           UINT32_C(0x002ACA51), UINT32_C(0x000C34AF), UINT32_C(0x0024625C),
10866           UINT32_C(0x006500C7), UINT32_C(0x00198FCB), UINT32_C(0x0012CFCA),
10867           UINT32_C(0x0009EE1C), UINT32_C(0x00277608), UINT32_C(0x00213658),
10868           UINT32_C(0x0030604D), UINT32_C(0x002EF50F)},
10869          {UINT32_C(0x00092ABD), UINT32_C(0x001446D1), UINT32_C(0x003F6A06),
10870           UINT32_C(0x0046565B), UINT32_C(0x0003E584), UINT32_C(0x00159E89),
10871           UINT32_C(0x003DEBC5), UINT32_C(0x00735F29), UINT32_C(0x0031EB5E),
10872           UINT32_C(0x000434A9), UINT32_C(0x002797DF), UINT32_C(0x006DEA2C),
10873           UINT32_C(0x002A9686), UINT32_C(0x00118EFA), UINT32_C(0x00050279),
10874           UINT32_C(0x003045AD), UINT32_C(0x0034874B), UINT32_C(0x003D78ED),
10875           UINT32_C(0x0018FEC5), UINT32_C(0x003D2A5A), UINT32_C(0x0030D04B),
10876           UINT32_C(0x003A21F3), UINT32_C(0x0031E2CC)}},
10877         {{UINT32_C(0x000F8BDB), UINT32_C(0x0033A04E), UINT32_C(0x0014B261),
10878           UINT32_C(0x003ABAE0), UINT32_C(0x0003F54D), UINT32_C(0x00168473),
10879           UINT32_C(0x001C33A5), UINT32_C(0x001CB69A), UINT32_C(0x000FEEE3),
10880           UINT32_C(0x0031C38B), UINT32_C(0x00219E20), UINT32_C(0x004DE49D),
10881           UINT32_C(0x003DCBEE), UINT32_C(0x00052411), UINT32_C(0x003D8935),
10882           UINT32_C(0x000D0029), UINT32_C(0x00227D70), UINT32_C(0x002A8E3F),
10883           UINT32_C(0x000204A8), UINT32_C(0x00320844), UINT32_C(0x000DD3B6),
10884           UINT32_C(0x003D0841), UINT32_C(0x002C6C6C)},
10885          {UINT32_C(0x005C03EC), UINT32_C(0x002B2C46), UINT32_C(0x00293F5B),
10886           UINT32_C(0x007F7BDE), UINT32_C(0x003ADCB5), UINT32_C(0x0017241D),
10887           UINT32_C(0x001FD746), UINT32_C(0x003529B7), UINT32_C(0x003332DC),
10888           UINT32_C(0x002763A5), UINT32_C(0x001E887A), UINT32_C(0x00130EB1),
10889           UINT32_C(0x002394CE), UINT32_C(0x000B8EF4), UINT32_C(0x000E932D),
10890           UINT32_C(0x00527CBE), UINT32_C(0x003F139A), UINT32_C(0x003BFA19),
10891           UINT32_C(0x00336A1D), UINT32_C(0x0066E2AC), UINT32_C(0x00098186),
10892           UINT32_C(0x00047A1A), UINT32_C(0x0004788C)},
10893          {UINT32_C(0x0009A196), UINT32_C(0x0035EBC2), UINT32_C(0x00265402),
10894           UINT32_C(0x007A08A2), UINT32_C(0x002CDBA0), UINT32_C(0x0023627E),
10895           UINT32_C(0x0002433D), UINT32_C(0x0046191A), UINT32_C(0x003DCF82),
10896           UINT32_C(0x00034EE3), UINT32_C(0x002B144C), UINT32_C(0x000FC454),
10897           UINT32_C(0x00149146), UINT32_C(0x0002C1B7), UINT32_C(0x000707A7),
10898           UINT32_C(0x0029E68D), UINT32_C(0x000F78F8), UINT32_C(0x0024EB1B),
10899           UINT32_C(0x00116A27), UINT32_C(0x00722F40), UINT32_C(0x000C507F),
10900           UINT32_C(0x000737D8), UINT32_C(0x001FABC6)}},
10901         {{UINT32_C(0x002E0A9F), UINT32_C(0x00047AD4), UINT32_C(0x00395FF2),
10902           UINT32_C(0x0070C4CD), UINT32_C(0x001FB3C7), UINT32_C(0x0001E8F1),
10903           UINT32_C(0x00025684), UINT32_C(0x0046A16B), UINT32_C(0x000BE275),
10904           UINT32_C(0x001CA806), UINT32_C(0x00017814), UINT32_C(0x00255A20),
10905           UINT32_C(0x001A997F), UINT32_C(0x001AD072), UINT32_C(0x003CFEB6),
10906           UINT32_C(0x003C6C9C), UINT32_C(0x001F796B), UINT32_C(0x003CEE03),
10907           UINT32_C(0x0003882E), UINT32_C(0x006A3D22), UINT32_C(0x0039A895),
10908           UINT32_C(0x003BEFAB), UINT32_C(0x001E8B14)},
10909          {UINT32_C(0x002481A8), UINT32_C(0x000FD69E), UINT32_C(0x001BB1B7),
10910           UINT32_C(0x006E58A2), UINT32_C(0x001FF0FF), UINT32_C(0x000786C3),
10911           UINT32_C(0x0016526A), UINT32_C(0x00617928), UINT32_C(0x0010511F),
10912           UINT32_C(0x00088530), UINT32_C(0x00397BC8), UINT32_C(0x0034BA73),
10913           UINT32_C(0x0004BEE5), UINT32_C(0x00274402), UINT32_C(0x0004DCC0),
10914           UINT32_C(0x00246DC1), UINT32_C(0x00001408), UINT32_C(0x002DC300),
10915           UINT32_C(0x0028EE1F), UINT32_C(0x00609A3C), UINT32_C(0x0009B999),
10916           UINT32_C(0x00203ECD), UINT32_C(0x0022AA2D)},
10917          {UINT32_C(0x003580E7), UINT32_C(0x00155DCD), UINT32_C(0x0013457A),
10918           UINT32_C(0x002C90EB), UINT32_C(0x0026470A), UINT32_C(0x00122727),
10919           UINT32_C(0x0037BD5C), UINT32_C(0x005D220D), UINT32_C(0x00152493),
10920           UINT32_C(0x0018A293), UINT32_C(0x00392995), UINT32_C(0x00151E64),
10921           UINT32_C(0x002E37DC), UINT32_C(0x002E9EC6), UINT32_C(0x001A205E),
10922           UINT32_C(0x000701D8), UINT32_C(0x001CB000), UINT32_C(0x00120BE4),
10923           UINT32_C(0x0031B0D9), UINT32_C(0x005B9235), UINT32_C(0x00005267),
10924           UINT32_C(0x000B7C49), UINT32_C(0x00155B65)}},
10925         {{UINT32_C(0x003005AF), UINT32_C(0x00222462), UINT32_C(0x0034D58A),
10926           UINT32_C(0x002AEF89), UINT32_C(0x002BA06B), UINT32_C(0x001C9A9E),
10927           UINT32_C(0x001E894B), UINT32_C(0x00406001), UINT32_C(0x0010BF30),
10928           UINT32_C(0x002867EA), UINT32_C(0x003F0EC9), UINT32_C(0x0032D6F1),
10929           UINT32_C(0x002C15E9), UINT32_C(0x0012CFC5), UINT32_C(0x00191373),
10930           UINT32_C(0x0024A43B), UINT32_C(0x002C8AB3), UINT32_C(0x0025E47F),
10931           UINT32_C(0x003A9B91), UINT32_C(0x002DC4AC), UINT32_C(0x001821EA),
10932           UINT32_C(0x0019E718), UINT32_C(0x003570EC)},
10933          {UINT32_C(0x00049A08), UINT32_C(0x0029C93F), UINT32_C(0x00311736),
10934           UINT32_C(0x004A3E8D), UINT32_C(0x00076459), UINT32_C(0x0024E089),
10935           UINT32_C(0x000D1295), UINT32_C(0x0065B4DA), UINT32_C(0x00199D52),
10936           UINT32_C(0x0007CE98), UINT32_C(0x00284B76), UINT32_C(0x00797A7F),
10937           UINT32_C(0x00219D91), UINT32_C(0x00288E07), UINT32_C(0x000BA4F1),
10938           UINT32_C(0x001089DA), UINT32_C(0x0003C7B7), UINT32_C(0x0037C99E),
10939           UINT32_C(0x00376B77), UINT32_C(0x0028C9E0), UINT32_C(0x003AF66B),
10940           UINT32_C(0x0015F094), UINT32_C(0x000887F7)},
10941          {UINT32_C(0x004D57FB), UINT32_C(0x00142BB6), UINT32_C(0x000680E9),
10942           UINT32_C(0x0019ED70), UINT32_C(0x0031F674), UINT32_C(0x003D4AD2),
10943           UINT32_C(0x00023E39), UINT32_C(0x006D62CE), UINT32_C(0x001F2AF6),
10944           UINT32_C(0x0018DCD2), UINT32_C(0x00087694), UINT32_C(0x0004D412),
10945           UINT32_C(0x0022EF3A), UINT32_C(0x00024D6F), UINT32_C(0x0016C5BC),
10946           UINT32_C(0x00499A4A), UINT32_C(0x003C726B), UINT32_C(0x0021F3CF),
10947           UINT32_C(0x0023BB7D), UINT32_C(0x0060BA2C), UINT32_C(0x003B5906),
10948           UINT32_C(0x0019F5B1), UINT32_C(0x0022E2B1)}},
10949         {{UINT32_C(0x001A18D3), UINT32_C(0x0002DF53), UINT32_C(0x003C65F2),
10950           UINT32_C(0x00252D1F), UINT32_C(0x0005D4E4), UINT32_C(0x0037F7AD),
10951           UINT32_C(0x002B96C8), UINT32_C(0x004A99EF), UINT32_C(0x0034622E),
10952           UINT32_C(0x003DC7C3), UINT32_C(0x0025C9EA), UINT32_C(0x002950F3),
10953           UINT32_C(0x002D17D0), UINT32_C(0x002BA2B1), UINT32_C(0x0016FD3F),
10954           UINT32_C(0x002D1E9B), UINT32_C(0x003D33A4), UINT32_C(0x0020B37E),
10955           UINT32_C(0x001F2455), UINT32_C(0x0039CB42), UINT32_C(0x00074719),
10956           UINT32_C(0x0006C7E3), UINT32_C(0x000B524B)},
10957          {UINT32_C(0x003E735C), UINT32_C(0x001CD19B), UINT32_C(0x000A2B03),
10958           UINT32_C(0x0004DADA), UINT32_C(0x001D7F00), UINT32_C(0x001BB1CD),
10959           UINT32_C(0x0031EC2D), UINT32_C(0x0060CB29), UINT32_C(0x00305DAD),
10960           UINT32_C(0x002A2E31), UINT32_C(0x002A51BD), UINT32_C(0x0064BA52),
10961           UINT32_C(0x000A34DE), UINT32_C(0x000C8DBD), UINT32_C(0x00335FA7),
10962           UINT32_C(0x00335FE1), UINT32_C(0x0033C874), UINT32_C(0x0003E276),
10963           UINT32_C(0x002026D5), UINT32_C(0x00096E2B), UINT32_C(0x000276E3),
10964           UINT32_C(0x0038EF96), UINT32_C(0x003FBD7E)},
10965          {UINT32_C(0x0079E37A), UINT32_C(0x001890D4), UINT32_C(0x00250177),
10966           UINT32_C(0x0047BB39), UINT32_C(0x0029268C), UINT32_C(0x002479AB),
10967           UINT32_C(0x00244958), UINT32_C(0x00270A4B), UINT32_C(0x001A146F),
10968           UINT32_C(0x000E6E93), UINT32_C(0x001688FB), UINT32_C(0x00728526),
10969           UINT32_C(0x001CECAB), UINT32_C(0x0026F68E), UINT32_C(0x001480E6),
10970           UINT32_C(0x0078FACC), UINT32_C(0x00234FE3), UINT32_C(0x001CB3A6),
10971           UINT32_C(0x0003F46F), UINT32_C(0x0031231A), UINT32_C(0x001C154C),
10972           UINT32_C(0x003F8810), UINT32_C(0x001DA5AD)}},
10973         {{UINT32_C(0x003DDB7A), UINT32_C(0x0002E3D3), UINT32_C(0x002553BF),
10974           UINT32_C(0x004415BB), UINT32_C(0x00329C70), UINT32_C(0x0022CB5A),
10975           UINT32_C(0x0019FC2C), UINT32_C(0x000F789E), UINT32_C(0x0025AD01),
10976           UINT32_C(0x0023FC89), UINT32_C(0x00297284), UINT32_C(0x0052CFEE),
10977           UINT32_C(0x0023B149), UINT32_C(0x000D9DC2), UINT32_C(0x002F141C),
10978           UINT32_C(0x000144A6), UINT32_C(0x0034AA72), UINT32_C(0x00071093),
10979           UINT32_C(0x003304EB), UINT32_C(0x0072FE7F), UINT32_C(0x00098781),
10980           UINT32_C(0x001FC2EE), UINT32_C(0x001AA3B0)},
10981          {UINT32_C(0x00784FC3), UINT32_C(0x00109969), UINT32_C(0x0027287E),
10982           UINT32_C(0x006DB5D4), UINT32_C(0x000ACF5E), UINT32_C(0x00032B46),
10983           UINT32_C(0x0037A8DC), UINT32_C(0x004CE91B), UINT32_C(0x0036E3B8),
10984           UINT32_C(0x002D9C83), UINT32_C(0x0004C6A9), UINT32_C(0x002A278F),
10985           UINT32_C(0x003E2154), UINT32_C(0x001E5587), UINT32_C(0x0026D619),
10986           UINT32_C(0x00749796), UINT32_C(0x002DE56E), UINT32_C(0x001CA040),
10987           UINT32_C(0x000F01A0), UINT32_C(0x000A33E5), UINT32_C(0x00398839),
10988           UINT32_C(0x0025A737), UINT32_C(0x00342BA0)},
10989          {UINT32_C(0x000DD5DB), UINT32_C(0x0035AF7C), UINT32_C(0x000ADFC4),
10990           UINT32_C(0x002D82EC), UINT32_C(0x001F65FA), UINT32_C(0x000E30C7),
10991           UINT32_C(0x0003A776), UINT32_C(0x0011585E), UINT32_C(0x002736DB),
10992           UINT32_C(0x003AF607), UINT32_C(0x000EC2A5), UINT32_C(0x003DB029),
10993           UINT32_C(0x003B1ACF), UINT32_C(0x0025DB0F), UINT32_C(0x0001FC2D),
10994           UINT32_C(0x0009BB8A), UINT32_C(0x000C442B), UINT32_C(0x000B14D4),
10995           UINT32_C(0x000B2FA5), UINT32_C(0x002930AA), UINT32_C(0x001A33E5),
10996           UINT32_C(0x0007711E), UINT32_C(0x0014AAEA)}},
10997         {{UINT32_C(0x004E9DDC), UINT32_C(0x00249BD7), UINT32_C(0x00399ACA),
10998           UINT32_C(0x00001C89), UINT32_C(0x00399AD6), UINT32_C(0x001CA0C4),
10999           UINT32_C(0x0033F687), UINT32_C(0x00167529), UINT32_C(0x003E6664),
11000           UINT32_C(0x00247D4A), UINT32_C(0x003E497D), UINT32_C(0x006BEC07),
11001           UINT32_C(0x00321482), UINT32_C(0x00261DC6), UINT32_C(0x001AFB91),
11002           UINT32_C(0x000CCE08), UINT32_C(0x00154873), UINT32_C(0x001FA9C6),
11003           UINT32_C(0x0031D6B7), UINT32_C(0x001DB078), UINT32_C(0x0007F410),
11004           UINT32_C(0x002B5D77), UINT32_C(0x001CEFE7)},
11005          {UINT32_C(0x0078A938), UINT32_C(0x00079CA6), UINT32_C(0x0004A11B),
11006           UINT32_C(0x0000BBD2), UINT32_C(0x0014D1B9), UINT32_C(0x0032E71F),
11007           UINT32_C(0x00228788), UINT32_C(0x0043BDCB), UINT32_C(0x00052FE3),
11008           UINT32_C(0x0032E261), UINT32_C(0x003EA511), UINT32_C(0x006940B9),
11009           UINT32_C(0x000DD8A7), UINT32_C(0x0035310F), UINT32_C(0x0016AD6A),
11010           UINT32_C(0x0051AD87), UINT32_C(0x0034DB37), UINT32_C(0x0039F114),
11011           UINT32_C(0x000435BA), UINT32_C(0x0075A182), UINT32_C(0x00319B60),
11012           UINT32_C(0x0007D2C9), UINT32_C(0x003B06E6)},
11013          {UINT32_C(0x004768E1), UINT32_C(0x001CC336), UINT32_C(0x003299A7),
11014           UINT32_C(0x005DFF8F), UINT32_C(0x00004B15), UINT32_C(0x00222007),
11015           UINT32_C(0x0035CA8E), UINT32_C(0x001DA643), UINT32_C(0x00267E34),
11016           UINT32_C(0x001EC2B8), UINT32_C(0x000189F4), UINT32_C(0x00721823),
11017           UINT32_C(0x000225C4), UINT32_C(0x001F0249), UINT32_C(0x003A75ED),
11018           UINT32_C(0x0043CA56), UINT32_C(0x0025AC50), UINT32_C(0x0000E327),
11019           UINT32_C(0x003352D9), UINT32_C(0x004B96F8), UINT32_C(0x0027419D),
11020           UINT32_C(0x0023A16C), UINT32_C(0x0031DA1B)}},
11021         {{UINT32_C(0x00487D70), UINT32_C(0x003AAA4A), UINT32_C(0x0026A8EB),
11022           UINT32_C(0x005FBEDD), UINT32_C(0x002A0595), UINT32_C(0x0022F25C),
11023           UINT32_C(0x003A6FD8), UINT32_C(0x00451396), UINT32_C(0x00306E44),
11024           UINT32_C(0x000F3B8F), UINT32_C(0x002912A8), UINT32_C(0x0050F308),
11025           UINT32_C(0x0007E373), UINT32_C(0x0007762D), UINT32_C(0x001A5294),
11026           UINT32_C(0x00331113), UINT32_C(0x0026941A), UINT32_C(0x0025F44E),
11027           UINT32_C(0x003862FA), UINT32_C(0x0010D40E), UINT32_C(0x00289A47),
11028           UINT32_C(0x00099A16), UINT32_C(0x00207317)},
11029          {UINT32_C(0x001B1BDB), UINT32_C(0x00304B63), UINT32_C(0x000E1EED),
11030           UINT32_C(0x0053C2DF), UINT32_C(0x003F16DC), UINT32_C(0x00063BAB),
11031           UINT32_C(0x0021F5CC), UINT32_C(0x0003D7B7), UINT32_C(0x000B4008),
11032           UINT32_C(0x00174E48), UINT32_C(0x00341AE6), UINT32_C(0x0023DF07),
11033           UINT32_C(0x002FF147), UINT32_C(0x0007214D), UINT32_C(0x0011768A),
11034           UINT32_C(0x00756B3F), UINT32_C(0x000DB5D9), UINT32_C(0x003F42F9),
11035           UINT32_C(0x00062571), UINT32_C(0x007558EC), UINT32_C(0x002AEDF3),
11036           UINT32_C(0x001F12E2), UINT32_C(0x002C1D2E)},
11037          {UINT32_C(0x00424EEA), UINT32_C(0x0008E4E0), UINT32_C(0x00276315),
11038           UINT32_C(0x0010C7CE), UINT32_C(0x0010FB31), UINT32_C(0x0005DB4C),
11039           UINT32_C(0x002E33CE), UINT32_C(0x0029F3F7), UINT32_C(0x001931C4),
11040           UINT32_C(0x0006A41D), UINT32_C(0x002E7D33), UINT32_C(0x0031344C),
11041           UINT32_C(0x00148E02), UINT32_C(0x00387E14), UINT32_C(0x000EA259),
11042           UINT32_C(0x00485845), UINT32_C(0x0018ECF9), UINT32_C(0x001365B8),
11043           UINT32_C(0x0009B445), UINT32_C(0x00008051), UINT32_C(0x00327427),
11044           UINT32_C(0x001F7091), UINT32_C(0x0018B432)}},
11045         {{UINT32_C(0x005F7787), UINT32_C(0x00170455), UINT32_C(0x00340DE5),
11046           UINT32_C(0x0062A794), UINT32_C(0x002C24C5), UINT32_C(0x0010BDA3),
11047           UINT32_C(0x002BFBBE), UINT32_C(0x0031B953), UINT32_C(0x002717CF),
11048           UINT32_C(0x0009262E), UINT32_C(0x002A4512), UINT32_C(0x00072DE4),
11049           UINT32_C(0x0025410B), UINT32_C(0x002BB34C), UINT32_C(0x000633A9),
11050           UINT32_C(0x007482DB), UINT32_C(0x002D93B4), UINT32_C(0x003DD3EC),
11051           UINT32_C(0x000C66CF), UINT32_C(0x00203EB1), UINT32_C(0x0024ED0D),
11052           UINT32_C(0x003397CD), UINT32_C(0x000F7881)},
11053          {UINT32_C(0x00127E99), UINT32_C(0x003FDC31), UINT32_C(0x000D6B1B),
11054           UINT32_C(0x0067DD99), UINT32_C(0x0020B17C), UINT32_C(0x0019B464),
11055           UINT32_C(0x001B54BD), UINT32_C(0x0079ADB3), UINT32_C(0x001DF680),
11056           UINT32_C(0x00244323), UINT32_C(0x0011F742), UINT32_C(0x00305CDB),
11057           UINT32_C(0x00078D7A), UINT32_C(0x0000769B), UINT32_C(0x001CAE8B),
11058           UINT32_C(0x002F49E1), UINT32_C(0x002C7F9F), UINT32_C(0x0038FE3A),
11059           UINT32_C(0x0039CF05), UINT32_C(0x0079BF1E), UINT32_C(0x00308D34),
11060           UINT32_C(0x003DEE92), UINT32_C(0x0011514A)},
11061          {UINT32_C(0x00382385), UINT32_C(0x0013BD1F), UINT32_C(0x003811CF),
11062           UINT32_C(0x00292587), UINT32_C(0x00322E94), UINT32_C(0x0026DD80),
11063           UINT32_C(0x002E2F48), UINT32_C(0x00230F38), UINT32_C(0x0017BA53),
11064           UINT32_C(0x000E1B94), UINT32_C(0x001E3431), UINT32_C(0x0012A183),
11065           UINT32_C(0x003003E9), UINT32_C(0x0039A0BD), UINT32_C(0x001C4811),
11066           UINT32_C(0x001E6DB1), UINT32_C(0x0001D16F), UINT32_C(0x002EF639),
11067           UINT32_C(0x003595BC), UINT32_C(0x00635C14), UINT32_C(0x000F1141),
11068           UINT32_C(0x00276EF2), UINT32_C(0x0026F1AB)}},
11069     },
11070     {
11071         {{UINT32_C(0x0063583C), UINT32_C(0x00178F3B), UINT32_C(0x0031FE89),
11072           UINT32_C(0x004A10CC), UINT32_C(0x0025E861), UINT32_C(0x001D9981),
11073           UINT32_C(0x00209C95), UINT32_C(0x00757DAB), UINT32_C(0x000E0CCA),
11074           UINT32_C(0x0026F2CF), UINT32_C(0x000F724B), UINT32_C(0x0054A684),
11075           UINT32_C(0x00395A25), UINT32_C(0x003B96AA), UINT32_C(0x000CB3E2),
11076           UINT32_C(0x0025FA25), UINT32_C(0x001A8CCD), UINT32_C(0x003E8D3C),
11077           UINT32_C(0x002670BC), UINT32_C(0x0073C1D9), UINT32_C(0x002D1389),
11078           UINT32_C(0x00130BE6), UINT32_C(0x00269AFA)},
11079          {UINT32_C(0x0078D442), UINT32_C(0x0008E522), UINT32_C(0x0018EBC9),
11080           UINT32_C(0x005F3584), UINT32_C(0x003F1CBF), UINT32_C(0x000BF4C1),
11081           UINT32_C(0x00164AA4), UINT32_C(0x006151FB), UINT32_C(0x00068D6E),
11082           UINT32_C(0x00126E4F), UINT32_C(0x00200280), UINT32_C(0x0031B7DD),
11083           UINT32_C(0x00054BB5), UINT32_C(0x003503DD), UINT32_C(0x0015FE73),
11084           UINT32_C(0x00400A3B), UINT32_C(0x0018B4CB), UINT32_C(0x00269223),
11085           UINT32_C(0x003BAABF), UINT32_C(0x00219923), UINT32_C(0x0000517F),
11086           UINT32_C(0x0036DB7B), UINT32_C(0x001898DE)},
11087          {UINT32_C(0x001B3C2F), UINT32_C(0x003100AC), UINT32_C(0x00375C4D),
11088           UINT32_C(0x0047FF1C), UINT32_C(0x001554A3), UINT32_C(0x00345032),
11089           UINT32_C(0x000567ED), UINT32_C(0x00602271), UINT32_C(0x00037B43),
11090           UINT32_C(0x00352EA6), UINT32_C(0x00099EBC), UINT32_C(0x007107DC),
11091           UINT32_C(0x00014BD9), UINT32_C(0x003BAE49), UINT32_C(0x0012E08D),
11092           UINT32_C(0x006CA22B), UINT32_C(0x001DABB1), UINT32_C(0x002D516C),
11093           UINT32_C(0x00270889), UINT32_C(0x002F1F40), UINT32_C(0x000B40D8),
11094           UINT32_C(0x001F6C6E), UINT32_C(0x00069120)}},
11095         {{UINT32_C(0x003E2CA8), UINT32_C(0x000FBDFE), UINT32_C(0x0008452C),
11096           UINT32_C(0x004EBE38), UINT32_C(0x003022B7), UINT32_C(0x003A3695),
11097           UINT32_C(0x0000EF8E), UINT32_C(0x003868DB), UINT32_C(0x0038AD77),
11098           UINT32_C(0x00197BEF), UINT32_C(0x0035C5D1), UINT32_C(0x0056D147),
11099           UINT32_C(0x00150885), UINT32_C(0x0032B7D5), UINT32_C(0x0022642D),
11100           UINT32_C(0x006B1347), UINT32_C(0x00343776), UINT32_C(0x00321A28),
11101           UINT32_C(0x00170446), UINT32_C(0x003DEB75), UINT32_C(0x002A4140),
11102           UINT32_C(0x00029DF0), UINT32_C(0x002450E4)},
11103          {UINT32_C(0x004955CA), UINT32_C(0x000C7AB0), UINT32_C(0x002D31F7),
11104           UINT32_C(0x005F83A6), UINT32_C(0x002FA36D), UINT32_C(0x001F49E7),
11105           UINT32_C(0x003F321C), UINT32_C(0x0011D711), UINT32_C(0x0004B439),
11106           UINT32_C(0x0034F95D), UINT32_C(0x00217EE2), UINT32_C(0x0032BAFE),
11107           UINT32_C(0x0006F393), UINT32_C(0x002A690E), UINT32_C(0x000FAE08),
11108           UINT32_C(0x0034160E), UINT32_C(0x0038471B), UINT32_C(0x003E6453),
11109           UINT32_C(0x001D2EED), UINT32_C(0x00019616), UINT32_C(0x002ECA2C),
11110           UINT32_C(0x002B42A7), UINT32_C(0x001944E5)},
11111          {UINT32_C(0x0070C80A), UINT32_C(0x003ADD3E), UINT32_C(0x00164515),
11112           UINT32_C(0x004C3E58), UINT32_C(0x002B68C7), UINT32_C(0x0024C735),
11113           UINT32_C(0x00154086), UINT32_C(0x004AF4B2), UINT32_C(0x003F79B6),
11114           UINT32_C(0x000EFFA4), UINT32_C(0x002E7835), UINT32_C(0x00143F92),
11115           UINT32_C(0x00139828), UINT32_C(0x002F5825), UINT32_C(0x002C6C7B),
11116           UINT32_C(0x00374B07), UINT32_C(0x00260379), UINT32_C(0x0033BF91),
11117           UINT32_C(0x000FB28A), UINT32_C(0x006D0F2D), UINT32_C(0x001A3C03),
11118           UINT32_C(0x003DCB0D), UINT32_C(0x00042785)}},
11119         {{UINT32_C(0x0032F6C1), UINT32_C(0x0025C23A), UINT32_C(0x0032EA38),
11120           UINT32_C(0x00343C52), UINT32_C(0x002C5DA6), UINT32_C(0x0029130F),
11121           UINT32_C(0x001DEA76), UINT32_C(0x00041B06), UINT32_C(0x0006CC8F),
11122           UINT32_C(0x000C33C2), UINT32_C(0x003DE859), UINT32_C(0x0075ADE1),
11123           UINT32_C(0x001F074B), UINT32_C(0x0020B431), UINT32_C(0x00089D3D),
11124           UINT32_C(0x00183D45), UINT32_C(0x0010916A), UINT32_C(0x00079EAC),
11125           UINT32_C(0x0004D6B9), UINT32_C(0x006DA065), UINT32_C(0x000E2053),
11126           UINT32_C(0x0002B57D), UINT32_C(0x0003A141)},
11127          {UINT32_C(0x0009A37F), UINT32_C(0x0035153F), UINT32_C(0x0033545C),
11128           UINT32_C(0x005C4E51), UINT32_C(0x002ED0FF), UINT32_C(0x0023618F),
11129           UINT32_C(0x001775AA), UINT32_C(0x005E1890), UINT32_C(0x003A6506),
11130           UINT32_C(0x00383A25), UINT32_C(0x0006CB4C), UINT32_C(0x00238F29),
11131           UINT32_C(0x000B58F7), UINT32_C(0x0035B0D9), UINT32_C(0x001D243C),
11132           UINT32_C(0x0038459B), UINT32_C(0x0019D714), UINT32_C(0x0031ADDB),
11133           UINT32_C(0x00014CD5), UINT32_C(0x00114249), UINT32_C(0x0009DCEB),
11134           UINT32_C(0x00069813), UINT32_C(0x001E743D)},
11135          {UINT32_C(0x00491E76), UINT32_C(0x00358978), UINT32_C(0x0032E06B),
11136           UINT32_C(0x007CF380), UINT32_C(0x0021BA4C), UINT32_C(0x001B9DC8),
11137           UINT32_C(0x00072C57), UINT32_C(0x007D4A61), UINT32_C(0x002A03EB),
11138           UINT32_C(0x002A8A04), UINT32_C(0x0036F1B1), UINT32_C(0x00167D87),
11139           UINT32_C(0x00037D30), UINT32_C(0x00300EB9), UINT32_C(0x0009A70D),
11140           UINT32_C(0x002915B7), UINT32_C(0x000C36DA), UINT32_C(0x0000FD77),
11141           UINT32_C(0x003CA0D6), UINT32_C(0x00599232), UINT32_C(0x000906BD),
11142           UINT32_C(0x003DEACB), UINT32_C(0x00181880)}},
11143         {{UINT32_C(0x006BF556), UINT32_C(0x000208D1), UINT32_C(0x0037FE71),
11144           UINT32_C(0x0064B85C), UINT32_C(0x0031878C), UINT32_C(0x00333FB4),
11145           UINT32_C(0x0007D710), UINT32_C(0x004670D1), UINT32_C(0x0023984F),
11146           UINT32_C(0x0005C689), UINT32_C(0x00255366), UINT32_C(0x0044C87B),
11147           UINT32_C(0x001D338E), UINT32_C(0x003044AD), UINT32_C(0x002665F4),
11148           UINT32_C(0x0040EB4D), UINT32_C(0x001E02E4), UINT32_C(0x0008C27F),
11149           UINT32_C(0x000F8571), UINT32_C(0x006BD63F), UINT32_C(0x000A6DFC),
11150           UINT32_C(0x0013304C), UINT32_C(0x002FDD59)},
11151          {UINT32_C(0x005724E2), UINT32_C(0x00218196), UINT32_C(0x00150782),
11152           UINT32_C(0x0056A299), UINT32_C(0x00236FDE), UINT32_C(0x0032ED2C),
11153           UINT32_C(0x0039E8A0), UINT32_C(0x00679EE7), UINT32_C(0x0014DA74),
11154           UINT32_C(0x0004A8BC), UINT32_C(0x00266E00), UINT32_C(0x0041E7FF),
11155           UINT32_C(0x002073C7), UINT32_C(0x00344E9F), UINT32_C(0x0021EAD2),
11156           UINT32_C(0x00425BB8), UINT32_C(0x002F122A), UINT32_C(0x002C55D5),
11157           UINT32_C(0x0008B0D6), UINT32_C(0x00666EDC), UINT32_C(0x0021D2D7),
11158           UINT32_C(0x002421BB), UINT32_C(0x00131ACD)},
11159          {UINT32_C(0x00737055), UINT32_C(0x001D6FE9), UINT32_C(0x003EFC08),
11160           UINT32_C(0x00306FA4), UINT32_C(0x002508B1), UINT32_C(0x002780B8),
11161           UINT32_C(0x00329BA8), UINT32_C(0x00206820), UINT32_C(0x003B15C5),
11162           UINT32_C(0x00317300), UINT32_C(0x000FD39A), UINT32_C(0x0049D634),
11163           UINT32_C(0x000B31B5), UINT32_C(0x0019A81C), UINT32_C(0x00271B13),
11164           UINT32_C(0x0056932D), UINT32_C(0x00387035), UINT32_C(0x002A79F2),
11165           UINT32_C(0x0028ECD2), UINT32_C(0x000E84D7), UINT32_C(0x00232B80),
11166           UINT32_C(0x002790F5), UINT32_C(0x0026AAC9)}},
11167         {{UINT32_C(0x003FA216), UINT32_C(0x002B5E41), UINT32_C(0x0011F507),
11168           UINT32_C(0x004798E8), UINT32_C(0x001F1C32), UINT32_C(0x0004D796),
11169           UINT32_C(0x00077B9E), UINT32_C(0x002381F2), UINT32_C(0x00042960),
11170           UINT32_C(0x003DC0DE), UINT32_C(0x001F19ED), UINT32_C(0x0008D2B6),
11171           UINT32_C(0x00218E79), UINT32_C(0x00191D1E), UINT32_C(0x0038BEC0),
11172           UINT32_C(0x002BA744), UINT32_C(0x001106D5), UINT32_C(0x002908D7),
11173           UINT32_C(0x0018D0A6), UINT32_C(0x00643D59), UINT32_C(0x00251CA2),
11174           UINT32_C(0x00025593), UINT32_C(0x002EABF3)},
11175          {UINT32_C(0x00438D3B), UINT32_C(0x002C35AD), UINT32_C(0x00121865),
11176           UINT32_C(0x002217B5), UINT32_C(0x003F2262), UINT32_C(0x0002C5A2),
11177           UINT32_C(0x000B51E2), UINT32_C(0x007F949C), UINT32_C(0x001BC59A),
11178           UINT32_C(0x002729B2), UINT32_C(0x0025BD2D), UINT32_C(0x0063FBB0),
11179           UINT32_C(0x0013132E), UINT32_C(0x0016DC57), UINT32_C(0x0017A6E3),
11180           UINT32_C(0x002FCDA3), UINT32_C(0x00321610), UINT32_C(0x0032D4AA),
11181           UINT32_C(0x001F56D4), UINT32_C(0x004B46C8), UINT32_C(0x0026FC03),
11182           UINT32_C(0x002B891B), UINT32_C(0x001EEC11)},
11183          {UINT32_C(0x0004BF5B), UINT32_C(0x000A6EB9), UINT32_C(0x00137543),
11184           UINT32_C(0x003EA024), UINT32_C(0x002E1BE2), UINT32_C(0x00294A40),
11185           UINT32_C(0x00175374), UINT32_C(0x003418B2), UINT32_C(0x00092934),
11186           UINT32_C(0x000559DA), UINT32_C(0x000D4705), UINT32_C(0x00023080),
11187           UINT32_C(0x002832CC), UINT32_C(0x0020B5FC), UINT32_C(0x000BF4A7),
11188           UINT32_C(0x004B3473), UINT32_C(0x0003A84F), UINT32_C(0x002A3FAE),
11189           UINT32_C(0x00045DB0), UINT32_C(0x007AEDBF), UINT32_C(0x001266FC),
11190           UINT32_C(0x0002E6C3), UINT32_C(0x000380CF)}},
11191         {{UINT32_C(0x0029F673), UINT32_C(0x0011C696), UINT32_C(0x00032672),
11192           UINT32_C(0x0054238E), UINT32_C(0x00370626), UINT32_C(0x00339C4E),
11193           UINT32_C(0x0031300A), UINT32_C(0x000B2D5B), UINT32_C(0x00206C4D),
11194           UINT32_C(0x000791D2), UINT32_C(0x002DB03D), UINT32_C(0x0037C66B),
11195           UINT32_C(0x002780B2), UINT32_C(0x002E5FE3), UINT32_C(0x002B5B3A),
11196           UINT32_C(0x00240A75), UINT32_C(0x00239AF3), UINT32_C(0x0007A194),
11197           UINT32_C(0x0035BC60), UINT32_C(0x004FBA17), UINT32_C(0x003826E1),
11198           UINT32_C(0x00181F8A), UINT32_C(0x00042F82)},
11199          {UINT32_C(0x00459AFB), UINT32_C(0x00087F76), UINT32_C(0x0002C645),
11200           UINT32_C(0x004C7CE4), UINT32_C(0x00142200), UINT32_C(0x00366037),
11201           UINT32_C(0x001EF906), UINT32_C(0x0057C3A8), UINT32_C(0x001A8791),
11202           UINT32_C(0x00302563), UINT32_C(0x002034EF), UINT32_C(0x001A0222),
11203           UINT32_C(0x003375A9), UINT32_C(0x0032C4BC), UINT32_C(0x0008F4DC),
11204           UINT32_C(0x00581A30), UINT32_C(0x000C394E), UINT32_C(0x000B7FEE),
11205           UINT32_C(0x003C5662), UINT32_C(0x0034BB53), UINT32_C(0x0005B495),
11206           UINT32_C(0x00018243), UINT32_C(0x0037995C)},
11207          {UINT32_C(0x004906BD), UINT32_C(0x0032B8FA), UINT32_C(0x00372E94),
11208           UINT32_C(0x00613088), UINT32_C(0x00017311), UINT32_C(0x003528B5),
11209           UINT32_C(0x001EE0AC), UINT32_C(0x00686616), UINT32_C(0x0033F1FD),
11210           UINT32_C(0x0025E7C3), UINT32_C(0x003DFBB8), UINT32_C(0x001A5DF7),
11211           UINT32_C(0x00023B1E), UINT32_C(0x00015AAC), UINT32_C(0x0025054D),
11212           UINT32_C(0x001704E4), UINT32_C(0x001BAE37), UINT32_C(0x001A384F),
11213           UINT32_C(0x003606FC), UINT32_C(0x00740F1B), UINT32_C(0x002C8C7D),
11214           UINT32_C(0x0024600B), UINT32_C(0x003D5C73)}},
11215         {{UINT32_C(0x001784B4), UINT32_C(0x002CEF58), UINT32_C(0x00372A6C),
11216           UINT32_C(0x00118258), UINT32_C(0x002D6ED8), UINT32_C(0x002DD567),
11217           UINT32_C(0x00106EE7), UINT32_C(0x001C074F), UINT32_C(0x001A9185),
11218           UINT32_C(0x0029B246), UINT32_C(0x00375A41), UINT32_C(0x007DF964),
11219           UINT32_C(0x0017B200), UINT32_C(0x00194A5C), UINT32_C(0x0013B979),
11220           UINT32_C(0x0003EA48), UINT32_C(0x00295585), UINT32_C(0x001B2FAF),
11221           UINT32_C(0x001F6D5F), UINT32_C(0x007D4491), UINT32_C(0x002AA139),
11222           UINT32_C(0x002032CA), UINT32_C(0x0033AB4D)},
11223          {UINT32_C(0x00326E12), UINT32_C(0x00073B02), UINT32_C(0x0009134C),
11224           UINT32_C(0x00719A24), UINT32_C(0x0010FFDA), UINT32_C(0x0017F597),
11225           UINT32_C(0x00023DEA), UINT32_C(0x00565B05), UINT32_C(0x000CF206),
11226           UINT32_C(0x00316819), UINT32_C(0x001759BE), UINT32_C(0x003B59E1),
11227           UINT32_C(0x001A7716), UINT32_C(0x002F2CB8), UINT32_C(0x00022C88),
11228           UINT32_C(0x006E200A), UINT32_C(0x0034B39A), UINT32_C(0x0004C2A3),
11229           UINT32_C(0x000EFF2B), UINT32_C(0x007771C0), UINT32_C(0x0038736A),
11230           UINT32_C(0x003EA343), UINT32_C(0x002473CB)},
11231          {UINT32_C(0x007E0E25), UINT32_C(0x003FF836), UINT32_C(0x0029E179),
11232           UINT32_C(0x0059DA0B), UINT32_C(0x0038BD07), UINT32_C(0x00397717),
11233           UINT32_C(0x0035EEC3), UINT32_C(0x001451BD), UINT32_C(0x000C4CC2),
11234           UINT32_C(0x0011AD20), UINT32_C(0x0024798D), UINT32_C(0x001EA1F7),
11235           UINT32_C(0x0017A035), UINT32_C(0x00174E1A), UINT32_C(0x000614CC),
11236           UINT32_C(0x00744E00), UINT32_C(0x00071F7A), UINT32_C(0x003F23AE),
11237           UINT32_C(0x001D8DCA), UINT32_C(0x000674F7), UINT32_C(0x0003AF2F),
11238           UINT32_C(0x0028BCAA), UINT32_C(0x0025E559)}},
11239         {{UINT32_C(0x0011497E), UINT32_C(0x000ECE29), UINT32_C(0x002A4EA2),
11240           UINT32_C(0x001C0932), UINT32_C(0x00086320), UINT32_C(0x0001D745),
11241           UINT32_C(0x000E7077), UINT32_C(0x002982BA), UINT32_C(0x0006C3CC),
11242           UINT32_C(0x001A61D3), UINT32_C(0x0018D012), UINT32_C(0x003FD5A7),
11243           UINT32_C(0x00271A87), UINT32_C(0x003F3CEE), UINT32_C(0x00381814),
11244           UINT32_C(0x006264B1), UINT32_C(0x001D51C9), UINT32_C(0x0024F3F8),
11245           UINT32_C(0x0032133E), UINT32_C(0x0070B6C3), UINT32_C(0x0027EB3B),
11246           UINT32_C(0x00170DF3), UINT32_C(0x003FDF92)},
11247          {UINT32_C(0x0052D458), UINT32_C(0x002FDA22), UINT32_C(0x00040A2E),
11248           UINT32_C(0x006FA7D9), UINT32_C(0x000F1A9C), UINT32_C(0x000B70A5),
11249           UINT32_C(0x001666C6), UINT32_C(0x00150503), UINT32_C(0x002A0651),
11250           UINT32_C(0x00019D2E), UINT32_C(0x002CB70B), UINT32_C(0x0022C910),
11251           UINT32_C(0x002EE4CD), UINT32_C(0x0008D506), UINT32_C(0x00014281),
11252           UINT32_C(0x00358B69), UINT32_C(0x002DA7BF), UINT32_C(0x00124768),
11253           UINT32_C(0x0020EC13), UINT32_C(0x00550441), UINT32_C(0x001C17FE),
11254           UINT32_C(0x00213A61), UINT32_C(0x001451A1)},
11255          {UINT32_C(0x002A7679), UINT32_C(0x0015D4B5), UINT32_C(0x000CFCC1),
11256           UINT32_C(0x003FF845), UINT32_C(0x001C7A7D), UINT32_C(0x001AE5DD),
11257           UINT32_C(0x003EAB09), UINT32_C(0x003FDF89), UINT32_C(0x0035A00B),
11258           UINT32_C(0x0037D9FF), UINT32_C(0x00275895), UINT32_C(0x0035077F),
11259           UINT32_C(0x000EBCA0), UINT32_C(0x002DB718), UINT32_C(0x0007E563),
11260           UINT32_C(0x007217CE), UINT32_C(0x000CFEC9), UINT32_C(0x0039C0C7),
11261           UINT32_C(0x000C8457), UINT32_C(0x000D6DEE), UINT32_C(0x00095556),
11262           UINT32_C(0x002C0A1B), UINT32_C(0x000A5B02)}},
11263         {{UINT32_C(0x0058676E), UINT32_C(0x003BB967), UINT32_C(0x002F67E8),
11264           UINT32_C(0x0014611B), UINT32_C(0x0002CA68), UINT32_C(0x00360A23),
11265           UINT32_C(0x003D4703), UINT32_C(0x002FFB09), UINT32_C(0x000B0650),
11266           UINT32_C(0x00350E32), UINT32_C(0x0020BBE2), UINT32_C(0x007EB614),
11267           UINT32_C(0x0013CBB5), UINT32_C(0x003BBDBC), UINT32_C(0x0026C9BB),
11268           UINT32_C(0x001E256E), UINT32_C(0x000E735E), UINT32_C(0x002C3CC9),
11269           UINT32_C(0x00010C97), UINT32_C(0x000C12B4), UINT32_C(0x00028C55),
11270           UINT32_C(0x0014841F), UINT32_C(0x00143C15)},
11271          {UINT32_C(0x0065EB1A), UINT32_C(0x00025B10), UINT32_C(0x001CD5C4),
11272           UINT32_C(0x00746872), UINT32_C(0x00054288), UINT32_C(0x001B2B2E),
11273           UINT32_C(0x001F2239), UINT32_C(0x00518E6E), UINT32_C(0x002123BD),
11274           UINT32_C(0x0033748A), UINT32_C(0x00174C52), UINT32_C(0x00258C02),
11275           UINT32_C(0x0018FF52), UINT32_C(0x0007C3F2), UINT32_C(0x0010EC30),
11276           UINT32_C(0x002A8FB5), UINT32_C(0x00338507), UINT32_C(0x003EA284),
11277           UINT32_C(0x001E079E), UINT32_C(0x0070C9DD), UINT32_C(0x0023B5FB),
11278           UINT32_C(0x002637F4), UINT32_C(0x00141F80)},
11279          {UINT32_C(0x00656339), UINT32_C(0x00123AB6), UINT32_C(0x003B759B),
11280           UINT32_C(0x0050CB99), UINT32_C(0x000D243E), UINT32_C(0x0022A047),
11281           UINT32_C(0x0030735F), UINT32_C(0x0004A175), UINT32_C(0x000B2BA6),
11282           UINT32_C(0x000D31CE), UINT32_C(0x00324F8D), UINT32_C(0x004BB229),
11283           UINT32_C(0x001E5D6F), UINT32_C(0x0002772E), UINT32_C(0x00296DC5),
11284           UINT32_C(0x00577AE8), UINT32_C(0x00086249), UINT32_C(0x002005B9),
11285           UINT32_C(0x0032CA2B), UINT32_C(0x0018E5F0), UINT32_C(0x0010AC8A),
11286           UINT32_C(0x00261F94), UINT32_C(0x00076C3E)}},
11287         {{UINT32_C(0x000DB1A4), UINT32_C(0x000C1216), UINT32_C(0x0020E3CE),
11288           UINT32_C(0x00342538), UINT32_C(0x0025AD2D), UINT32_C(0x003C968A),
11289           UINT32_C(0x000B2AC4), UINT32_C(0x003874BE), UINT32_C(0x00108EBE),
11290           UINT32_C(0x00089221), UINT32_C(0x001A4E5D), UINT32_C(0x00000E6B),
11291           UINT32_C(0x003A62C9), UINT32_C(0x000CAB40), UINT32_C(0x0039432F),
11292           UINT32_C(0x006EEBB0), UINT32_C(0x003FD49F), UINT32_C(0x000A4915),
11293           UINT32_C(0x003E803E), UINT32_C(0x000D14CB), UINT32_C(0x00147DBE),
11294           UINT32_C(0x00273CC9), UINT32_C(0x0021CEAF)},
11295          {UINT32_C(0x0061AF93), UINT32_C(0x0001A305), UINT32_C(0x0013BAAE),
11296           UINT32_C(0x007784E4), UINT32_C(0x000D254E), UINT32_C(0x0019835D),
11297           UINT32_C(0x00242371), UINT32_C(0x000846D1), UINT32_C(0x0029D19E),
11298           UINT32_C(0x000188DF), UINT32_C(0x000340FC), UINT32_C(0x007B3565),
11299           UINT32_C(0x00179159), UINT32_C(0x0000E014), UINT32_C(0x002BBC15),
11300           UINT32_C(0x006E03F7), UINT32_C(0x00332866), UINT32_C(0x003752B2),
11301           UINT32_C(0x0036128E), UINT32_C(0x004EEEA5), UINT32_C(0x0018D656),
11302           UINT32_C(0x0021FC26), UINT32_C(0x0031850E)},
11303          {UINT32_C(0x00501FD0), UINT32_C(0x000AF537), UINT32_C(0x0038C7E6),
11304           UINT32_C(0x0043735E), UINT32_C(0x00110069), UINT32_C(0x003F2C22),
11305           UINT32_C(0x0017CF5D), UINT32_C(0x002FD510), UINT32_C(0x0014235B),
11306           UINT32_C(0x0004DD30), UINT32_C(0x003C65B4), UINT32_C(0x000F1032),
11307           UINT32_C(0x00389A5B), UINT32_C(0x00156157), UINT32_C(0x0011C8DC),
11308           UINT32_C(0x00500C48), UINT32_C(0x00119681), UINT32_C(0x00193DFD),
11309           UINT32_C(0x002E9C52), UINT32_C(0x007DD9BC), UINT32_C(0x003C9B4A),
11310           UINT32_C(0x003F1598), UINT32_C(0x0008392D)}},
11311         {{UINT32_C(0x007DA6AE), UINT32_C(0x0026680F), UINT32_C(0x0001CBC2),
11312           UINT32_C(0x00700F21), UINT32_C(0x002BA64B), UINT32_C(0x0005ACA1),
11313           UINT32_C(0x000DA060), UINT32_C(0x006C880D), UINT32_C(0x00280F5B),
11314           UINT32_C(0x001CD097), UINT32_C(0x003BBCFE), UINT32_C(0x002CAEAF),
11315           UINT32_C(0x001B96AF), UINT32_C(0x002F9409), UINT32_C(0x00218817),
11316           UINT32_C(0x002929AF), UINT32_C(0x0035CDAF), UINT32_C(0x001766D6),
11317           UINT32_C(0x002FE847), UINT32_C(0x0003656A), UINT32_C(0x00047989),
11318           UINT32_C(0x00351086), UINT32_C(0x002D5D88)},
11319          {UINT32_C(0x003FF7B2), UINT32_C(0x00283A9C), UINT32_C(0x0020E8A8),
11320           UINT32_C(0x003A0789), UINT32_C(0x001BFDE1), UINT32_C(0x000D525F),
11321           UINT32_C(0x0035C861), UINT32_C(0x0060CAD2), UINT32_C(0x002ACA77),
11322           UINT32_C(0x0015E571), UINT32_C(0x00182DD8), UINT32_C(0x004E3F9F),
11323           UINT32_C(0x00157225), UINT32_C(0x000ABD0E), UINT32_C(0x002C1C74),
11324           UINT32_C(0x006799C9), UINT32_C(0x001084CD), UINT32_C(0x002FCC74),
11325           UINT32_C(0x001104CF), UINT32_C(0x0063FB40), UINT32_C(0x000B1B48),
11326           UINT32_C(0x002FF705), UINT32_C(0x0017DD74)},
11327          {UINT32_C(0x00758DFD), UINT32_C(0x00259101), UINT32_C(0x002F9E96),
11328           UINT32_C(0x00127A02), UINT32_C(0x003560BA), UINT32_C(0x00174012),
11329           UINT32_C(0x00080553), UINT32_C(0x00084ADA), UINT32_C(0x0030B0B3),
11330           UINT32_C(0x003CCA10), UINT32_C(0x002A7BF0), UINT32_C(0x0066B5D8),
11331           UINT32_C(0x001775C4), UINT32_C(0x0025FB21), UINT32_C(0x00084012),
11332           UINT32_C(0x0023425E), UINT32_C(0x00160D8A), UINT32_C(0x0014DE6A),
11333           UINT32_C(0x000D84B1), UINT32_C(0x0000C090), UINT32_C(0x001CEB65),
11334           UINT32_C(0x00304B91), UINT32_C(0x003C0931)}},
11335         {{UINT32_C(0x007B8F38), UINT32_C(0x003E8D2B), UINT32_C(0x0014249B),
11336           UINT32_C(0x0032E6FD), UINT32_C(0x00019922), UINT32_C(0x00288D0E),
11337           UINT32_C(0x0030B952), UINT32_C(0x0008C34B), UINT32_C(0x00191997),
11338           UINT32_C(0x002F5C5B), UINT32_C(0x003ED4DE), UINT32_C(0x002D0DBE),
11339           UINT32_C(0x001C4CC0), UINT32_C(0x003799BB), UINT32_C(0x0007EED8),
11340           UINT32_C(0x007C90CE), UINT32_C(0x002E0A50), UINT32_C(0x00131AF1),
11341           UINT32_C(0x0028FD81), UINT32_C(0x003D7BFD), UINT32_C(0x0020C820),
11342           UINT32_C(0x001E4117), UINT32_C(0x003233FA)},
11343          {UINT32_C(0x006AD0B4), UINT32_C(0x0024A7CA), UINT32_C(0x00224A76),
11344           UINT32_C(0x00201B36), UINT32_C(0x00089BF6), UINT32_C(0x00185943),
11345           UINT32_C(0x000EE3FB), UINT32_C(0x0062E219), UINT32_C(0x00304742),
11346           UINT32_C(0x000ECFDC), UINT32_C(0x0002B3E9), UINT32_C(0x00278A41),
11347           UINT32_C(0x000B4C45), UINT32_C(0x003DAF2F), UINT32_C(0x0016786A),
11348           UINT32_C(0x00326096), UINT32_C(0x0004F58A), UINT32_C(0x003D414F),
11349           UINT32_C(0x002571F1), UINT32_C(0x000C5218), UINT32_C(0x000BC00A),
11350           UINT32_C(0x001558DD), UINT32_C(0x000E4574)},
11351          {UINT32_C(0x00214F76), UINT32_C(0x00344E7B), UINT32_C(0x000D0A1C),
11352           UINT32_C(0x00073F8A), UINT32_C(0x0031A1E8), UINT32_C(0x0024F24B),
11353           UINT32_C(0x002EB5CC), UINT32_C(0x00423B58), UINT32_C(0x0005DF88),
11354           UINT32_C(0x000A882D), UINT32_C(0x001F2F21), UINT32_C(0x001DC1AC),
11355           UINT32_C(0x000BF263), UINT32_C(0x000FC01F), UINT32_C(0x0013D53A),
11356           UINT32_C(0x00689488), UINT32_C(0x0039A08C), UINT32_C(0x00026357),
11357           UINT32_C(0x00354D80), UINT32_C(0x00649669), UINT32_C(0x0006D559),
11358           UINT32_C(0x0024D4A8), UINT32_C(0x001B1D7D)}},
11359         {{UINT32_C(0x007539AC), UINT32_C(0x001AF584), UINT32_C(0x003849E3),
11360           UINT32_C(0x00604878), UINT32_C(0x0028932B), UINT32_C(0x00336A8D),
11361           UINT32_C(0x002DC15F), UINT32_C(0x004EE915), UINT32_C(0x003E8891),
11362           UINT32_C(0x002C26A5), UINT32_C(0x002353EF), UINT32_C(0x00690ACF),
11363           UINT32_C(0x000B284B), UINT32_C(0x0004CD7A), UINT32_C(0x00266953),
11364           UINT32_C(0x0038EC31), UINT32_C(0x0015E302), UINT32_C(0x000080A9),
11365           UINT32_C(0x0025D49A), UINT32_C(0x00318334), UINT32_C(0x003B81A5),
11366           UINT32_C(0x0038759D), UINT32_C(0x000EE138)},
11367          {UINT32_C(0x006652DC), UINT32_C(0x0030CF99), UINT32_C(0x00286EAE),
11368           UINT32_C(0x007E732A), UINT32_C(0x001BB04F), UINT32_C(0x001A7E81),
11369           UINT32_C(0x00395CBD), UINT32_C(0x0012A720), UINT32_C(0x00143A75),
11370           UINT32_C(0x000C4F0A), UINT32_C(0x0002959B), UINT32_C(0x005134E3),
11371           UINT32_C(0x0029CD2F), UINT32_C(0x002E7B51), UINT32_C(0x001A8B65),
11372           UINT32_C(0x0067BB4D), UINT32_C(0x00109B63), UINT32_C(0x000FF6AF),
11373           UINT32_C(0x000F5619), UINT32_C(0x001FE508), UINT32_C(0x000593C7),
11374           UINT32_C(0x002A4F5C), UINT32_C(0x0035E60F)},
11375          {UINT32_C(0x0041115B), UINT32_C(0x000C4566), UINT32_C(0x002DC574),
11376           UINT32_C(0x006EAB28), UINT32_C(0x003017E2), UINT32_C(0x00275A4A),
11377           UINT32_C(0x002C84E6), UINT32_C(0x0003FFFE), UINT32_C(0x0012331A),
11378           UINT32_C(0x001B2EF0), UINT32_C(0x000A57A7), UINT32_C(0x007EA3E1),
11379           UINT32_C(0x0001A805), UINT32_C(0x00064502), UINT32_C(0x003486D1),
11380           UINT32_C(0x002A0735), UINT32_C(0x001F1246), UINT32_C(0x0013E4C1),
11381           UINT32_C(0x000D6176), UINT32_C(0x005D2F66), UINT32_C(0x000B6919),
11382           UINT32_C(0x00222C38), UINT32_C(0x002247FC)}},
11383         {{UINT32_C(0x007694F0), UINT32_C(0x0033BF57), UINT32_C(0x002D919E),
11384           UINT32_C(0x00464556), UINT32_C(0x003240BB), UINT32_C(0x000A81C8),
11385           UINT32_C(0x003FC6AD), UINT32_C(0x004C8BC2), UINT32_C(0x0037597A),
11386           UINT32_C(0x000F3632), UINT32_C(0x003DEE9C), UINT32_C(0x007AF7FC),
11387           UINT32_C(0x0002B2A3), UINT32_C(0x0001FEF8), UINT32_C(0x00266BFE),
11388           UINT32_C(0x005A4DF9), UINT32_C(0x001BC528), UINT32_C(0x0038FCA9),
11389           UINT32_C(0x0021AB8E), UINT32_C(0x001B7A68), UINT32_C(0x00255401),
11390           UINT32_C(0x0022B95A), UINT32_C(0x001CECB8)},
11391          {UINT32_C(0x00202C81), UINT32_C(0x00305B5D), UINT32_C(0x000F8353),
11392           UINT32_C(0x0024BDD3), UINT32_C(0x0034CBF6), UINT32_C(0x001FC489),
11393           UINT32_C(0x001C1EF2), UINT32_C(0x00378DD8), UINT32_C(0x00341D4E),
11394           UINT32_C(0x00351CA3), UINT32_C(0x001FF171), UINT32_C(0x003F1946),
11395           UINT32_C(0x0002CF94), UINT32_C(0x00389924), UINT32_C(0x003E5A8B),
11396           UINT32_C(0x001BEA9D), UINT32_C(0x001E60D0), UINT32_C(0x00305EF9),
11397           UINT32_C(0x0029219F), UINT32_C(0x00301DAA), UINT32_C(0x0000D311),
11398           UINT32_C(0x0033EC94), UINT32_C(0x0003A683)},
11399          {UINT32_C(0x0026A83D), UINT32_C(0x0021AD7B), UINT32_C(0x001694B6),
11400           UINT32_C(0x003BBDC2), UINT32_C(0x0016E0B7), UINT32_C(0x0009525B),
11401           UINT32_C(0x003B24F8), UINT32_C(0x007C4237), UINT32_C(0x000E1CB0),
11402           UINT32_C(0x0013611E), UINT32_C(0x001E0CF1), UINT32_C(0x004B8F7B),
11403           UINT32_C(0x0012520D), UINT32_C(0x001CBF78), UINT32_C(0x00153E58),
11404           UINT32_C(0x0072DA9E), UINT32_C(0x0009BF23), UINT32_C(0x00390546),
11405           UINT32_C(0x001EC704), UINT32_C(0x0062F82E), UINT32_C(0x001379EA),
11406           UINT32_C(0x00374CEF), UINT32_C(0x0000E810)}},
11407         {{UINT32_C(0x00672D01), UINT32_C(0x00181C43), UINT32_C(0x000F03E5),
11408           UINT32_C(0x00114EB1), UINT32_C(0x00030AAB), UINT32_C(0x000E4929),
11409           UINT32_C(0x003F4FF1), UINT32_C(0x005C1816), UINT32_C(0x00234EF2),
11410           UINT32_C(0x0001CECB), UINT32_C(0x0000E003), UINT32_C(0x000FB7C6),
11411           UINT32_C(0x0021F686), UINT32_C(0x00397348), UINT32_C(0x000668D5),
11412           UINT32_C(0x000969FD), UINT32_C(0x002D58A1), UINT32_C(0x0001F6FF),
11413           UINT32_C(0x002B509F), UINT32_C(0x005BF575), UINT32_C(0x001C7A72),
11414           UINT32_C(0x003168A3), UINT32_C(0x00058841)},
11415          {UINT32_C(0x002E6F93), UINT32_C(0x0003FD4D), UINT32_C(0x00070367),
11416           UINT32_C(0x007E2810), UINT32_C(0x0032A669), UINT32_C(0x003753AA),
11417           UINT32_C(0x00059E13), UINT32_C(0x005BE0BB), UINT32_C(0x002DAD0A),
11418           UINT32_C(0x0017009D), UINT32_C(0x002A29E1), UINT32_C(0x0010EAFB),
11419           UINT32_C(0x00371B7B), UINT32_C(0x00384FE2), UINT32_C(0x00074C4C),
11420           UINT32_C(0x005AF2F6), UINT32_C(0x00268D35), UINT32_C(0x0012D4D3),
11421           UINT32_C(0x001988E8), UINT32_C(0x00637384), UINT32_C(0x003CA7EB),
11422           UINT32_C(0x0012C38C), UINT32_C(0x00235944)},
11423          {UINT32_C(0x007FE4F7), UINT32_C(0x00128547), UINT32_C(0x003EE942),
11424           UINT32_C(0x0063B61D), UINT32_C(0x00254E4C), UINT32_C(0x0006B269),
11425           UINT32_C(0x002778BD), UINT32_C(0x003C91A8), UINT32_C(0x0038A282),
11426           UINT32_C(0x0010BFE5), UINT32_C(0x002E5C21), UINT32_C(0x000205D0),
11427           UINT32_C(0x00150853), UINT32_C(0x002376FF), UINT32_C(0x0006E95D),
11428           UINT32_C(0x004FCAED), UINT32_C(0x0014D842), UINT32_C(0x00174695),
11429           UINT32_C(0x00192588), UINT32_C(0x0004407A), UINT32_C(0x00169AA6),
11430           UINT32_C(0x0038F9B9), UINT32_C(0x000DD818)}},
11431         {{UINT32_C(0x007ED415), UINT32_C(0x002AEE66), UINT32_C(0x002FE621),
11432           UINT32_C(0x0019EC18), UINT32_C(0x001AC45A), UINT32_C(0x002C1BD9),
11433           UINT32_C(0x0039EFF2), UINT32_C(0x0053C8E8), UINT32_C(0x0035D12E),
11434           UINT32_C(0x000F4E0A), UINT32_C(0x0011182C), UINT32_C(0x00481DC1),
11435           UINT32_C(0x00069045), UINT32_C(0x0028AC00), UINT32_C(0x00239B1A),
11436           UINT32_C(0x0012C316), UINT32_C(0x001DFEA0), UINT32_C(0x003B985D),
11437           UINT32_C(0x000DB2FE), UINT32_C(0x004F72CA), UINT32_C(0x0034C923),
11438           UINT32_C(0x001A2093), UINT32_C(0x002B9C3E)},
11439          {UINT32_C(0x006E6357), UINT32_C(0x002A5A2B), UINT32_C(0x001B005C),
11440           UINT32_C(0x00349183), UINT32_C(0x00374B6E), UINT32_C(0x0006A56D),
11441           UINT32_C(0x0005A032), UINT32_C(0x00159BD4), UINT32_C(0x003F8A72),
11442           UINT32_C(0x0006E1D8), UINT32_C(0x0018F53A), UINT32_C(0x0034F1F1),
11443           UINT32_C(0x003729F4), UINT32_C(0x001B24AB), UINT32_C(0x001CC0C1),
11444           UINT32_C(0x001EF566), UINT32_C(0x002B89C8), UINT32_C(0x0002F08C),
11445           UINT32_C(0x003199AF), UINT32_C(0x001C32F5), UINT32_C(0x00194755),
11446           UINT32_C(0x0005E212), UINT32_C(0x000E74FA)},
11447          {UINT32_C(0x0075610F), UINT32_C(0x001C5B4F), UINT32_C(0x0031545E),
11448           UINT32_C(0x005A64BD), UINT32_C(0x00288ECD), UINT32_C(0x00003455),
11449           UINT32_C(0x003E4D6B), UINT32_C(0x001C3B47), UINT32_C(0x00107A21),
11450           UINT32_C(0x000E6BE9), UINT32_C(0x001C454B), UINT32_C(0x002BE715),
11451           UINT32_C(0x0013B171), UINT32_C(0x000D5966), UINT32_C(0x0017248A),
11452           UINT32_C(0x006610DA), UINT32_C(0x000D95A9), UINT32_C(0x002DAD62),
11453           UINT32_C(0x003B2B47), UINT32_C(0x00483940), UINT32_C(0x00214E89),
11454           UINT32_C(0x002E30EF), UINT32_C(0x001A8A7A)}},
11455     },
11456     {
11457         {{UINT32_C(0x005710C2), UINT32_C(0x001C5AC3), UINT32_C(0x0032A560),
11458           UINT32_C(0x0008892C), UINT32_C(0x002827E3), UINT32_C(0x0034491A),
11459           UINT32_C(0x000CBDDB), UINT32_C(0x001226BC), UINT32_C(0x003DC095),
11460           UINT32_C(0x003DBF5D), UINT32_C(0x00207C8F), UINT32_C(0x0003AEE4),
11461           UINT32_C(0x00241676), UINT32_C(0x0019F64F), UINT32_C(0x0003A54C),
11462           UINT32_C(0x007CCE36), UINT32_C(0x00229653), UINT32_C(0x001AD488),
11463           UINT32_C(0x002FF51A), UINT32_C(0x003BAD16), UINT32_C(0x00269362),
11464           UINT32_C(0x0005CFD4), UINT32_C(0x002B0036)},
11465          {UINT32_C(0x001D5B16), UINT32_C(0x0037F93D), UINT32_C(0x0011BE70),
11466           UINT32_C(0x00010F69), UINT32_C(0x000FD6A2), UINT32_C(0x00198F6D),
11467           UINT32_C(0x00306746), UINT32_C(0x00019354), UINT32_C(0x0005D19C),
11468           UINT32_C(0x002A4081), UINT32_C(0x002187BF), UINT32_C(0x0037CD1C),
11469           UINT32_C(0x000F42FE), UINT32_C(0x00384FBB), UINT32_C(0x003F74B7),
11470           UINT32_C(0x002CB87D), UINT32_C(0x002FA3D2), UINT32_C(0x003B9CBD),
11471           UINT32_C(0x0011ACE0), UINT32_C(0x004F2A0F), UINT32_C(0x0010CDFE),
11472           UINT32_C(0x0037DC56), UINT32_C(0x001CA343)},
11473          {UINT32_C(0x002E9F4B), UINT32_C(0x0017B4E0), UINT32_C(0x00311C99),
11474           UINT32_C(0x0042E4B2), UINT32_C(0x00253B3C), UINT32_C(0x00056B7F),
11475           UINT32_C(0x00338DE4), UINT32_C(0x002BD82C), UINT32_C(0x00321B8D),
11476           UINT32_C(0x0038A72F), UINT32_C(0x0008F3D8), UINT32_C(0x001567CC),
11477           UINT32_C(0x0026AD64), UINT32_C(0x0020C5AF), UINT32_C(0x000CCD37),
11478           UINT32_C(0x00590CBB), UINT32_C(0x00313270), UINT32_C(0x003C5BA6),
11479           UINT32_C(0x00368F2D), UINT32_C(0x003060DD), UINT32_C(0x0036F8BC),
11480           UINT32_C(0x000F2893), UINT32_C(0x00334A0C)}},
11481         {{UINT32_C(0x000DE443), UINT32_C(0x0032A8C8), UINT32_C(0x003EE1EE),
11482           UINT32_C(0x002FB8DA), UINT32_C(0x0001EC25), UINT32_C(0x001F2379),
11483           UINT32_C(0x002C120C), UINT32_C(0x00422DB7), UINT32_C(0x003AA20D),
11484           UINT32_C(0x00036834), UINT32_C(0x000B6FAB), UINT32_C(0x00579A73),
11485           UINT32_C(0x002C546A), UINT32_C(0x003CFCBB), UINT32_C(0x0015CCE3),
11486           UINT32_C(0x001DA981), UINT32_C(0x001D2DEC), UINT32_C(0x00155C8F),
11487           UINT32_C(0x0032C6DE), UINT32_C(0x001BBCC6), UINT32_C(0x00332AB7),
11488           UINT32_C(0x00221975), UINT32_C(0x0015380A)},
11489          {UINT32_C(0x0079F763), UINT32_C(0x00086F41), UINT32_C(0x0027B078),
11490           UINT32_C(0x0072AE3A), UINT32_C(0x003377BB), UINT32_C(0x003C40F7),
11491           UINT32_C(0x0018F8C7), UINT32_C(0x00559BA1), UINT32_C(0x00387EE1),
11492           UINT32_C(0x000395F9), UINT32_C(0x0026C76D), UINT32_C(0x00438509),
11493           UINT32_C(0x00258967), UINT32_C(0x00102218), UINT32_C(0x0021EF58),
11494           UINT32_C(0x00187594), UINT32_C(0x00070C07), UINT32_C(0x001150ED),
11495           UINT32_C(0x001A248F), UINT32_C(0x0017CA07), UINT32_C(0x00305C05),
11496           UINT32_C(0x003B435D), UINT32_C(0x0003AB05)},
11497          {UINT32_C(0x00269D6F), UINT32_C(0x0014041F), UINT32_C(0x001C654B),
11498           UINT32_C(0x001E5899), UINT32_C(0x000B839F), UINT32_C(0x000068FF),
11499           UINT32_C(0x001345C1), UINT32_C(0x0062C16D), UINT32_C(0x00095303),
11500           UINT32_C(0x00336B6B), UINT32_C(0x001F5076), UINT32_C(0x006B8DE7),
11501           UINT32_C(0x003033A5), UINT32_C(0x0031B05D), UINT32_C(0x000AAEBB),
11502           UINT32_C(0x00580DC0), UINT32_C(0x00216E2A), UINT32_C(0x000B00E8),
11503           UINT32_C(0x002FED70), UINT32_C(0x0067F7E7), UINT32_C(0x000E3F39),
11504           UINT32_C(0x0026A5C9), UINT32_C(0x001321C9)}},
11505         {{UINT32_C(0x0075F516), UINT32_C(0x0019707B), UINT32_C(0x00284D76),
11506           UINT32_C(0x00135FD0), UINT32_C(0x003E3862), UINT32_C(0x00146ACB),
11507           UINT32_C(0x001C934B), UINT32_C(0x007030A4), UINT32_C(0x000CF8E7),
11508           UINT32_C(0x002CA64F), UINT32_C(0x003FDC6E), UINT32_C(0x0065C11E),
11509           UINT32_C(0x0016B6BB), UINT32_C(0x0018C069), UINT32_C(0x00171DC5),
11510           UINT32_C(0x005B5697), UINT32_C(0x001E8900), UINT32_C(0x001B6DAF),
11511           UINT32_C(0x00310BBC), UINT32_C(0x006BCF1D), UINT32_C(0x002F143F),
11512           UINT32_C(0x001905CA), UINT32_C(0x00017744)},
11513          {UINT32_C(0x003D88D5), UINT32_C(0x000F9E5C), UINT32_C(0x003604CF),
11514           UINT32_C(0x000C36D2), UINT32_C(0x002CF504), UINT32_C(0x0039A798),
11515           UINT32_C(0x000BDED1), UINT32_C(0x001B8DC3), UINT32_C(0x0008E589),
11516           UINT32_C(0x003A11F2), UINT32_C(0x00200D8C), UINT32_C(0x00625D48),
11517           UINT32_C(0x000A9310), UINT32_C(0x003CD6F6), UINT32_C(0x00023EB4),
11518           UINT32_C(0x001CDCCF), UINT32_C(0x00126F0D), UINT32_C(0x0022C59F),
11519           UINT32_C(0x002ACC01), UINT32_C(0x005306AD), UINT32_C(0x002E74F2),
11520           UINT32_C(0x0005DF6D), UINT32_C(0x00285847)},
11521          {UINT32_C(0x0065F342), UINT32_C(0x001EE28A), UINT32_C(0x00222BEB),
11522           UINT32_C(0x006CA69D), UINT32_C(0x000BB7F9), UINT32_C(0x0021BF78),
11523           UINT32_C(0x0003EC62), UINT32_C(0x0054A057), UINT32_C(0x00316B24),
11524           UINT32_C(0x000FF725), UINT32_C(0x00262490), UINT32_C(0x003AE835),
11525           UINT32_C(0x000DA133), UINT32_C(0x00120D05), UINT32_C(0x000F8110),
11526           UINT32_C(0x00347C18), UINT32_C(0x0014B405), UINT32_C(0x000E57EA),
11527           UINT32_C(0x001D3804), UINT32_C(0x001FB3A3), UINT32_C(0x0036FC24),
11528           UINT32_C(0x003107FA), UINT32_C(0x0002D52F)}},
11529         {{UINT32_C(0x00730C26), UINT32_C(0x00033129), UINT32_C(0x00099E61),
11530           UINT32_C(0x00274495), UINT32_C(0x00067D5F), UINT32_C(0x0030E0F3),
11531           UINT32_C(0x00133EE6), UINT32_C(0x001CA496), UINT32_C(0x000D9AF5),
11532           UINT32_C(0x000E2809), UINT32_C(0x0039B916), UINT32_C(0x006CE2B0),
11533           UINT32_C(0x00022B22), UINT32_C(0x003C1D03), UINT32_C(0x00134443),
11534           UINT32_C(0x006C83E6), UINT32_C(0x0022E5D1), UINT32_C(0x00355465),
11535           UINT32_C(0x001393DE), UINT32_C(0x00297B8C), UINT32_C(0x000CCC36),
11536           UINT32_C(0x00384BA8), UINT32_C(0x0003C2A7)},
11537          {UINT32_C(0x001F3E32), UINT32_C(0x003E6A39), UINT32_C(0x00274F66),
11538           UINT32_C(0x0065F067), UINT32_C(0x003DEE02), UINT32_C(0x001ADBA0),
11539           UINT32_C(0x003DD0D0), UINT32_C(0x00067633), UINT32_C(0x003371E3),
11540           UINT32_C(0x0018B039), UINT32_C(0x000FBD3F), UINT32_C(0x003FEF60),
11541           UINT32_C(0x000C13E7), UINT32_C(0x0035AFF4), UINT32_C(0x00248F86),
11542           UINT32_C(0x0075C8AC), UINT32_C(0x00010FB8), UINT32_C(0x0009A933),
11543           UINT32_C(0x00155411), UINT32_C(0x004DD6EA), UINT32_C(0x0018B242),
11544           UINT32_C(0x003F42B9), UINT32_C(0x00307AFB)},
11545          {UINT32_C(0x0043D9DA), UINT32_C(0x002F1FAC), UINT32_C(0x002BEBF2),
11546           UINT32_C(0x001674C8), UINT32_C(0x002F5627), UINT32_C(0x000982A2),
11547           UINT32_C(0x001DD189), UINT32_C(0x0023CFE8), UINT32_C(0x001435E4),
11548           UINT32_C(0x002E3968), UINT32_C(0x00212138), UINT32_C(0x0037DAED),
11549           UINT32_C(0x001AF391), UINT32_C(0x00149EAC), UINT32_C(0x003F6739),
11550           UINT32_C(0x005A1D0B), UINT32_C(0x0003DA69), UINT32_C(0x002C06DC),
11551           UINT32_C(0x003A4339), UINT32_C(0x00603E6E), UINT32_C(0x00144A9B),
11552           UINT32_C(0x002E832B), UINT32_C(0x002DEC99)}},
11553         {{UINT32_C(0x00262A7A), UINT32_C(0x0006D662), UINT32_C(0x00070E7F),
11554           UINT32_C(0x007D4FD4), UINT32_C(0x000363F2), UINT32_C(0x002DCD0B),
11555           UINT32_C(0x003F4BD3), UINT32_C(0x004B46BE), UINT32_C(0x0018690B),
11556           UINT32_C(0x000D990E), UINT32_C(0x000FAB11), UINT32_C(0x000F371C),
11557           UINT32_C(0x003CC586), UINT32_C(0x0027FA77), UINT32_C(0x00064076),
11558           UINT32_C(0x002B6788), UINT32_C(0x003FBD23), UINT32_C(0x0003E156),
11559           UINT32_C(0x000B4246), UINT32_C(0x0011F74C), UINT32_C(0x001580E7),
11560           UINT32_C(0x001AB7D6), UINT32_C(0x002FD3D2)},
11561          {UINT32_C(0x0073791E), UINT32_C(0x0028FB9D), UINT32_C(0x002F8DA3),
11562           UINT32_C(0x00149495), UINT32_C(0x001EDDC0), UINT32_C(0x0022DA14),
11563           UINT32_C(0x000D1BE0), UINT32_C(0x000602F3), UINT32_C(0x00166D08),
11564           UINT32_C(0x001F0437), UINT32_C(0x0001CD0D), UINT32_C(0x002624C1),
11565           UINT32_C(0x002A961B), UINT32_C(0x00094F8B), UINT32_C(0x00315EBC),
11566           UINT32_C(0x00021B46), UINT32_C(0x001DB347), UINT32_C(0x00240821),
11567           UINT32_C(0x002271B3), UINT32_C(0x00475580), UINT32_C(0x00022765),
11568           UINT32_C(0x0030DDFA), UINT32_C(0x002DD431)},
11569          {UINT32_C(0x0073CD42), UINT32_C(0x000AA556), UINT32_C(0x0012283B),
11570           UINT32_C(0x007C1AE9), UINT32_C(0x000379D4), UINT32_C(0x0022CBD1),
11571           UINT32_C(0x003AB652), UINT32_C(0x00694262), UINT32_C(0x003DAD8F),
11572           UINT32_C(0x003C497A), UINT32_C(0x001A32CF), UINT32_C(0x003C85F6),
11573           UINT32_C(0x0005431E), UINT32_C(0x002156D8), UINT32_C(0x002AF6B5),
11574           UINT32_C(0x00038046), UINT32_C(0x002E42CB), UINT32_C(0x00254F18),
11575           UINT32_C(0x0020D00F), UINT32_C(0x0030D955), UINT32_C(0x00071955),
11576           UINT32_C(0x000B6D41), UINT32_C(0x00285989)}},
11577         {{UINT32_C(0x007E08FB), UINT32_C(0x00263A00), UINT32_C(0x000CADFC),
11578           UINT32_C(0x001DC808), UINT32_C(0x002FA272), UINT32_C(0x001FB53D),
11579           UINT32_C(0x0011F9BF), UINT32_C(0x003390F4), UINT32_C(0x0034E6F0),
11580           UINT32_C(0x0004D46C), UINT32_C(0x00054043), UINT32_C(0x001A0B56),
11581           UINT32_C(0x003D1A17), UINT32_C(0x001B584C), UINT32_C(0x0011ED5C),
11582           UINT32_C(0x007B2CBC), UINT32_C(0x000C420C), UINT32_C(0x002C7F8D),
11583           UINT32_C(0x001B1449), UINT32_C(0x006D4B4B), UINT32_C(0x00284BD2),
11584           UINT32_C(0x00097414), UINT32_C(0x001056CF)},
11585          {UINT32_C(0x0073D3D1), UINT32_C(0x00088230), UINT32_C(0x000075FE),
11586           UINT32_C(0x003B85B2), UINT32_C(0x00172ED7), UINT32_C(0x000E1CD6),
11587           UINT32_C(0x002D09FB), UINT32_C(0x0073D157), UINT32_C(0x0009AE50),
11588           UINT32_C(0x0011E0DC), UINT32_C(0x000EE967), UINT32_C(0x002CFFF1),
11589           UINT32_C(0x0010B62C), UINT32_C(0x001BBB7A), UINT32_C(0x001A028C),
11590           UINT32_C(0x004CD9AF), UINT32_C(0x0011BCF9), UINT32_C(0x0027E62F),
11591           UINT32_C(0x000579BB), UINT32_C(0x007DC76F), UINT32_C(0x00332A43),
11592           UINT32_C(0x0023C822), UINT32_C(0x000141A7)},
11593          {UINT32_C(0x00696277), UINT32_C(0x001B3A68), UINT32_C(0x002BB919),
11594           UINT32_C(0x00483ED8), UINT32_C(0x000E8365), UINT32_C(0x00099C62),
11595           UINT32_C(0x003C029F), UINT32_C(0x005155DA), UINT32_C(0x001F3BFC),
11596           UINT32_C(0x003F93BC), UINT32_C(0x0019B689), UINT32_C(0x00763BA9),
11597           UINT32_C(0x003D2F7A), UINT32_C(0x00398C78), UINT32_C(0x0038B6BF),
11598           UINT32_C(0x006C7737), UINT32_C(0x002EE2B2), UINT32_C(0x003AADE4),
11599           UINT32_C(0x002A6200), UINT32_C(0x0061FD04), UINT32_C(0x001F7254),
11600           UINT32_C(0x000C8C41), UINT32_C(0x0033394F)}},
11601         {{UINT32_C(0x005E9802), UINT32_C(0x00264758), UINT32_C(0x001AB2B5),
11602           UINT32_C(0x002E4F89), UINT32_C(0x002C4ADC), UINT32_C(0x000094EF),
11603           UINT32_C(0x002689AD), UINT32_C(0x0046FA1A), UINT32_C(0x0030AFC9),
11604           UINT32_C(0x001796B4), UINT32_C(0x0007E5D9), UINT32_C(0x0042C248),
11605           UINT32_C(0x000F1E94), UINT32_C(0x0021F53B), UINT32_C(0x00261686),
11606           UINT32_C(0x003F1DDB), UINT32_C(0x0038C53A), UINT32_C(0x00085F45),
11607           UINT32_C(0x002D5719), UINT32_C(0x000E126B), UINT32_C(0x0008A053),
11608           UINT32_C(0x0001D8A2), UINT32_C(0x000CA742)},
11609          {UINT32_C(0x0024D905), UINT32_C(0x000E9B9F), UINT32_C(0x0001793C),
11610           UINT32_C(0x0038DEEF), UINT32_C(0x00281C2C), UINT32_C(0x002A3E68),
11611           UINT32_C(0x002C3A89), UINT32_C(0x00474938), UINT32_C(0x00191AE2),
11612           UINT32_C(0x00059F41), UINT32_C(0x003170A5), UINT32_C(0x007B0894),
11613           UINT32_C(0x003188B8), UINT32_C(0x0004A286), UINT32_C(0x001330A6),
11614           UINT32_C(0x000F7B22), UINT32_C(0x000CCE16), UINT32_C(0x002F2EE2),
11615           UINT32_C(0x00195174), UINT32_C(0x005D1601), UINT32_C(0x001F40E0),
11616           UINT32_C(0x00291362), UINT32_C(0x0035C7DC)},
11617          {UINT32_C(0x000B4C31), UINT32_C(0x003B561D), UINT32_C(0x000F3B3B),
11618           UINT32_C(0x0070FA44), UINT32_C(0x0007486A), UINT32_C(0x001DF356),
11619           UINT32_C(0x001935F2), UINT32_C(0x004FB6D9), UINT32_C(0x0027D7FD),
11620           UINT32_C(0x00350DC9), UINT32_C(0x000A3F69), UINT32_C(0x00449466),
11621           UINT32_C(0x00239BA4), UINT32_C(0x0028E2F3), UINT32_C(0x0026CBC7),
11622           UINT32_C(0x00036018), UINT32_C(0x003A9DCF), UINT32_C(0x0037B528),
11623           UINT32_C(0x001E2C6E), UINT32_C(0x003F6EC0), UINT32_C(0x003FD88F),
11624           UINT32_C(0x00068ADE), UINT32_C(0x0037FCE0)}},
11625         {{UINT32_C(0x0050000E), UINT32_C(0x001E77A7), UINT32_C(0x0024B63E),
11626           UINT32_C(0x0048CCFE), UINT32_C(0x0038B910), UINT32_C(0x0019209B),
11627           UINT32_C(0x00253B08), UINT32_C(0x005B37AF), UINT32_C(0x0004506B),
11628           UINT32_C(0x001A4B14), UINT32_C(0x000FF3BF), UINT32_C(0x00085950),
11629           UINT32_C(0x002D6373), UINT32_C(0x000CDBBD), UINT32_C(0x00090934),
11630           UINT32_C(0x004CF09F), UINT32_C(0x0027CD34), UINT32_C(0x00371F39),
11631           UINT32_C(0x001C72B6), UINT32_C(0x006D2050), UINT32_C(0x002AC578),
11632           UINT32_C(0x000FB697), UINT32_C(0x0005FF6A)},
11633          {UINT32_C(0x00599665), UINT32_C(0x002DDA7B), UINT32_C(0x00268815),
11634           UINT32_C(0x002942AC), UINT32_C(0x001DEC68), UINT32_C(0x002DBB5F),
11635           UINT32_C(0x000C7D78), UINT32_C(0x0057F19C), UINT32_C(0x0021DFB6),
11636           UINT32_C(0x000753FB), UINT32_C(0x001EB75C), UINT32_C(0x006BB8BB),
11637           UINT32_C(0x000F62D8), UINT32_C(0x00276AD4), UINT32_C(0x0018EBC3),
11638           UINT32_C(0x00214208), UINT32_C(0x001152DD), UINT32_C(0x001897CD),
11639           UINT32_C(0x002857D4), UINT32_C(0x0042470E), UINT32_C(0x0021C7EA),
11640           UINT32_C(0x000270FA), UINT32_C(0x002E73F0)},
11641          {UINT32_C(0x0071D30B), UINT32_C(0x002E7B13), UINT32_C(0x0033F7E5),
11642           UINT32_C(0x00026176), UINT32_C(0x0024C588), UINT32_C(0x001EA175),
11643           UINT32_C(0x003B6645), UINT32_C(0x00291861), UINT32_C(0x000ED3A0),
11644           UINT32_C(0x0002A696), UINT32_C(0x0016C658), UINT32_C(0x003C9DCA),
11645           UINT32_C(0x001224F2), UINT32_C(0x0005AAC4), UINT32_C(0x001A509B),
11646           UINT32_C(0x002E50AA), UINT32_C(0x001912EC), UINT32_C(0x0039A83F),
11647           UINT32_C(0x002EEAC7), UINT32_C(0x0039F245), UINT32_C(0x0004ABA0),
11648           UINT32_C(0x0038D048), UINT32_C(0x00088CA8)}},
11649         {{UINT32_C(0x00381541), UINT32_C(0x00204236), UINT32_C(0x000F7F85),
11650           UINT32_C(0x006ABC1B), UINT32_C(0x00309BD4), UINT32_C(0x001A5B8A),
11651           UINT32_C(0x003193B0), UINT32_C(0x007C3DBC), UINT32_C(0x0021AA72),
11652           UINT32_C(0x0025AB66), UINT32_C(0x0027C829), UINT32_C(0x0000DCB0),
11653           UINT32_C(0x001E5740), UINT32_C(0x0027A69E), UINT32_C(0x002A0916),
11654           UINT32_C(0x003558C0), UINT32_C(0x0008DEFA), UINT32_C(0x00001D63),
11655           UINT32_C(0x00302547), UINT32_C(0x0077415F), UINT32_C(0x0017C197),
11656           UINT32_C(0x0022627F), UINT32_C(0x000599E2)},
11657          {UINT32_C(0x004DD359), UINT32_C(0x00246A2C), UINT32_C(0x0027E508),
11658           UINT32_C(0x006A3CA3), UINT32_C(0x00378EB4), UINT32_C(0x0026BEB6),
11659           UINT32_C(0x000844C3), UINT32_C(0x0055D1C5), UINT32_C(0x000BD3A3),
11660           UINT32_C(0x00337C41), UINT32_C(0x003DE17E), UINT32_C(0x004DF9BA),
11661           UINT32_C(0x0029B7C8), UINT32_C(0x00371C33), UINT32_C(0x001BC3B2),
11662           UINT32_C(0x0052B93E), UINT32_C(0x003F84C4), UINT32_C(0x00046C2D),
11663           UINT32_C(0x00381921), UINT32_C(0x00329932), UINT32_C(0x00029014),
11664           UINT32_C(0x00195E90), UINT32_C(0x00165863)},
11665          {UINT32_C(0x003D4CE8), UINT32_C(0x0009AEA0), UINT32_C(0x000A6139),
11666           UINT32_C(0x00626AB6), UINT32_C(0x001921AD), UINT32_C(0x001DDCC3),
11667           UINT32_C(0x0010A346), UINT32_C(0x001C0DF5), UINT32_C(0x0022458F),
11668           UINT32_C(0x0029A8D6), UINT32_C(0x0023055B), UINT32_C(0x007FBC20),
11669           UINT32_C(0x0012BD87), UINT32_C(0x00105456), UINT32_C(0x0009B655),
11670           UINT32_C(0x0061C3AD), UINT32_C(0x00029CBB), UINT32_C(0x0037EC3D),
11671           UINT32_C(0x003A6374), UINT32_C(0x00604726), UINT32_C(0x0036C983),
11672           UINT32_C(0x002FB577), UINT32_C(0x0034D612)}},
11673         {{UINT32_C(0x002E7DCC), UINT32_C(0x000D16B4), UINT32_C(0x0024096A),
11674           UINT32_C(0x0025C077), UINT32_C(0x00092685), UINT32_C(0x0031BC93),
11675           UINT32_C(0x002F71E3), UINT32_C(0x0006DB6D), UINT32_C(0x00314D92),
11676           UINT32_C(0x0031DCE1), UINT32_C(0x0021F441), UINT32_C(0x005C93B1),
11677           UINT32_C(0x000A56D1), UINT32_C(0x0007C7F7), UINT32_C(0x003AC8AA),
11678           UINT32_C(0x004FB13F), UINT32_C(0x00382F3C), UINT32_C(0x00346287),
11679           UINT32_C(0x0010C1C3), UINT32_C(0x003EB5C9), UINT32_C(0x00287A6F),
11680           UINT32_C(0x0018779D), UINT32_C(0x00239EAB)},
11681          {UINT32_C(0x0041FD8F), UINT32_C(0x001E6522), UINT32_C(0x0022B56D),
11682           UINT32_C(0x0025ABCD), UINT32_C(0x00306D98), UINT32_C(0x00300F6B),
11683           UINT32_C(0x001655DA), UINT32_C(0x00272687), UINT32_C(0x0006B08D),
11684           UINT32_C(0x0023B809), UINT32_C(0x00138AAF), UINT32_C(0x001DF48C),
11685           UINT32_C(0x0011F659), UINT32_C(0x0009E92A), UINT32_C(0x003B30CC),
11686           UINT32_C(0x001DAEE5), UINT32_C(0x003A3F41), UINT32_C(0x0009DF14),
11687           UINT32_C(0x00214E4F), UINT32_C(0x001A4EE1), UINT32_C(0x000AF3F8),
11688           UINT32_C(0x003B84FD), UINT32_C(0x0027CB30)},
11689          {UINT32_C(0x003FB85E), UINT32_C(0x002A5B7E), UINT32_C(0x000B3D6C),
11690           UINT32_C(0x0010AAED), UINT32_C(0x001DCC4D), UINT32_C(0x002372C6),
11691           UINT32_C(0x002990B7), UINT32_C(0x0029FD67), UINT32_C(0x00184F9D),
11692           UINT32_C(0x00213292), UINT32_C(0x0006D4F4), UINT32_C(0x004C67DD),
11693           UINT32_C(0x00170CE7), UINT32_C(0x00279FEF), UINT32_C(0x002AF75F),
11694           UINT32_C(0x002865F8), UINT32_C(0x003DF044), UINT32_C(0x003246C4),
11695           UINT32_C(0x000BBBCD), UINT32_C(0x0070D0BC), UINT32_C(0x0016FDF4),
11696           UINT32_C(0x002E1724), UINT32_C(0x0034D526)}},
11697         {{UINT32_C(0x0068145B), UINT32_C(0x0010E47B), UINT32_C(0x0016AFBB),
11698           UINT32_C(0x006D5CA7), UINT32_C(0x001CBDAA), UINT32_C(0x003773D2),
11699           UINT32_C(0x00376C07), UINT32_C(0x00798761), UINT32_C(0x00122C25),
11700           UINT32_C(0x0000941E), UINT32_C(0x000B8B0C), UINT32_C(0x006E3CF0),
11701           UINT32_C(0x0037C29F), UINT32_C(0x003FCFE2), UINT32_C(0x00355C91),
11702           UINT32_C(0x006B5739), UINT32_C(0x000039E2), UINT32_C(0x000A6FB6),
11703           UINT32_C(0x00368629), UINT32_C(0x00439D33), UINT32_C(0x00051B6B),
11704           UINT32_C(0x003CCB53), UINT32_C(0x0021E090)},
11705          {UINT32_C(0x0072B0D9), UINT32_C(0x00260FBA), UINT32_C(0x000A91DA),
11706           UINT32_C(0x000248F7), UINT32_C(0x003E3B08), UINT32_C(0x00233510),
11707           UINT32_C(0x000F7A4C), UINT32_C(0x00023CD1), UINT32_C(0x003BF83E),
11708           UINT32_C(0x003F97FF), UINT32_C(0x00387ABE), UINT32_C(0x006B4171),
11709           UINT32_C(0x000D77D6), UINT32_C(0x0028D310), UINT32_C(0x001FAD93),
11710           UINT32_C(0x006D40A9), UINT32_C(0x00109960), UINT32_C(0x001C700E),
11711           UINT32_C(0x0010A5D3), UINT32_C(0x00638AE3), UINT32_C(0x002B09EB),
11712           UINT32_C(0x0005F26C), UINT32_C(0x0001E411)},
11713          {UINT32_C(0x000E2A67), UINT32_C(0x0016A28F), UINT32_C(0x00289716),
11714           UINT32_C(0x0078F0B2), UINT32_C(0x003797DA), UINT32_C(0x00268485),
11715           UINT32_C(0x00262E41), UINT32_C(0x00241F04), UINT32_C(0x00074EC0),
11716           UINT32_C(0x000D6EAC), UINT32_C(0x001E559F), UINT32_C(0x00153E46),
11717           UINT32_C(0x002FB890), UINT32_C(0x000CA628), UINT32_C(0x002A4016),
11718           UINT32_C(0x007D6524), UINT32_C(0x001EC8D1), UINT32_C(0x00286DC0),
11719           UINT32_C(0x00157657), UINT32_C(0x0079E5B8), UINT32_C(0x0039F963),
11720           UINT32_C(0x000CE35C), UINT32_C(0x003F1219)}},
11721         {{UINT32_C(0x0000F57B), UINT32_C(0x0009DF26), UINT32_C(0x00222FE3),
11722           UINT32_C(0x002A30BE), UINT32_C(0x00379E2F), UINT32_C(0x000AAB5F),
11723           UINT32_C(0x002DEDC7), UINT32_C(0x00530A70), UINT32_C(0x001B01FA),
11724           UINT32_C(0x003D1B31), UINT32_C(0x002AD753), UINT32_C(0x0029A2AA),
11725           UINT32_C(0x0034373F), UINT32_C(0x002D9918), UINT32_C(0x002C76D1),
11726           UINT32_C(0x002F937A), UINT32_C(0x000EB50A), UINT32_C(0x003F8781),
11727           UINT32_C(0x002C7F91), UINT32_C(0x0004D41F), UINT32_C(0x003AEC45),
11728           UINT32_C(0x00369FC0), UINT32_C(0x00013605)},
11729          {UINT32_C(0x0054C5BA), UINT32_C(0x00376F0D), UINT32_C(0x000F2327),
11730           UINT32_C(0x00202DD7), UINT32_C(0x0022B2CE), UINT32_C(0x003D8E25),
11731           UINT32_C(0x0030ED93), UINT32_C(0x005E7D9A), UINT32_C(0x00359051),
11732           UINT32_C(0x00330484), UINT32_C(0x001F4DA9), UINT32_C(0x000D5A03),
11733           UINT32_C(0x003772EE), UINT32_C(0x001FDD99), UINT32_C(0x00190D1C),
11734           UINT32_C(0x0064DE66), UINT32_C(0x00112698), UINT32_C(0x003D9DDF),
11735           UINT32_C(0x003B8E10), UINT32_C(0x000670E8), UINT32_C(0x001E9A00),
11736           UINT32_C(0x000D2726), UINT32_C(0x00344016)},
11737          {UINT32_C(0x001EAEC6), UINT32_C(0x000A257F), UINT32_C(0x00368552),
11738           UINT32_C(0x00569140), UINT32_C(0x00240DF0), UINT32_C(0x002BE21B),
11739           UINT32_C(0x000AC85E), UINT32_C(0x0035C3D1), UINT32_C(0x0016FBDE),
11740           UINT32_C(0x0024ACF2), UINT32_C(0x003AA3F7), UINT32_C(0x006A54CF),
11741           UINT32_C(0x002AAD78), UINT32_C(0x003BE77F), UINT32_C(0x000CA38B),
11742           UINT32_C(0x0053D6D6), UINT32_C(0x00238462), UINT32_C(0x001E2258),
11743           UINT32_C(0x002E8075), UINT32_C(0x005C588D), UINT32_C(0x001BE563),
11744           UINT32_C(0x00362AF4), UINT32_C(0x000E1465)}},
11745         {{UINT32_C(0x00544BA0), UINT32_C(0x00103EEE), UINT32_C(0x0012ACCC),
11746           UINT32_C(0x0004634F), UINT32_C(0x00326BCC), UINT32_C(0x00186BD9),
11747           UINT32_C(0x0001D886), UINT32_C(0x0006E9CD), UINT32_C(0x0028A635),
11748           UINT32_C(0x0018E4A4), UINT32_C(0x002FA643), UINT32_C(0x000C1175),
11749           UINT32_C(0x0039E179), UINT32_C(0x00255905), UINT32_C(0x000E38AE),
11750           UINT32_C(0x00075E7F), UINT32_C(0x003F2DF2), UINT32_C(0x000BF618),
11751           UINT32_C(0x0038EDDB), UINT32_C(0x003D531B), UINT32_C(0x00343EB7),
11752           UINT32_C(0x001D10D6), UINT32_C(0x0003039D)},
11753          {UINT32_C(0x007286CB), UINT32_C(0x00262870), UINT32_C(0x00087C21),
11754           UINT32_C(0x0015F41E), UINT32_C(0x002D96DA), UINT32_C(0x0004A9E5),
11755           UINT32_C(0x00010055), UINT32_C(0x0063A621), UINT32_C(0x000E9F00),
11756           UINT32_C(0x000EE347), UINT32_C(0x0026AF40), UINT32_C(0x003E094E),
11757           UINT32_C(0x003B2228), UINT32_C(0x001A3CC1), UINT32_C(0x0030A53B),
11758           UINT32_C(0x00011EE4), UINT32_C(0x00218ED0), UINT32_C(0x0007142C),
11759           UINT32_C(0x00391F95), UINT32_C(0x002BB1FF), UINT32_C(0x001AA23A),
11760           UINT32_C(0x003C5218), UINT32_C(0x002F08BB)},
11761          {UINT32_C(0x001EB5AC), UINT32_C(0x003F1C36), UINT32_C(0x001FD7A7),
11762           UINT32_C(0x00755608), UINT32_C(0x003353AE), UINT32_C(0x003D6966),
11763           UINT32_C(0x0017FDC3), UINT32_C(0x0000F856), UINT32_C(0x0009B134),
11764           UINT32_C(0x000C3D1A), UINT32_C(0x001E06FC), UINT32_C(0x00745D11),
11765           UINT32_C(0x003761CD), UINT32_C(0x0021FF5D), UINT32_C(0x0037240E),
11766           UINT32_C(0x003022F6), UINT32_C(0x0013DC00), UINT32_C(0x00308386),
11767           UINT32_C(0x00071C5F), UINT32_C(0x0010C125), UINT32_C(0x000192B4),
11768           UINT32_C(0x0019FF02), UINT32_C(0x003B2385)}},
11769         {{UINT32_C(0x00417D4C), UINT32_C(0x003AECD5), UINT32_C(0x002E5B54),
11770           UINT32_C(0x00243DAE), UINT32_C(0x0003B5C3), UINT32_C(0x00242612),
11771           UINT32_C(0x001E0962), UINT32_C(0x004AC9D7), UINT32_C(0x0033B66D),
11772           UINT32_C(0x0013DC44), UINT32_C(0x0017552D), UINT32_C(0x006C3A48),
11773           UINT32_C(0x0036914E), UINT32_C(0x001C9CFD), UINT32_C(0x000862A1),
11774           UINT32_C(0x00260590), UINT32_C(0x002BEC73), UINT32_C(0x00263AA5),
11775           UINT32_C(0x0013BDC2), UINT32_C(0x007EAFCE), UINT32_C(0x001A9EA3),
11776           UINT32_C(0x000A9066), UINT32_C(0x00024A7F)},
11777          {UINT32_C(0x007D40F1), UINT32_C(0x002268CC), UINT32_C(0x002A7B4D),
11778           UINT32_C(0x0017B592), UINT32_C(0x001B785F), UINT32_C(0x002CEBBB),
11779           UINT32_C(0x003FD10A), UINT32_C(0x0033D10F), UINT32_C(0x0005FF3D),
11780           UINT32_C(0x0002C3D3), UINT32_C(0x00171A74), UINT32_C(0x005E8507),
11781           UINT32_C(0x002D6928), UINT32_C(0x0007621E), UINT32_C(0x003F547B),
11782           UINT32_C(0x005E087B), UINT32_C(0x000FFDD4), UINT32_C(0x0036FEE1),
11783           UINT32_C(0x0028A970), UINT32_C(0x0049A969), UINT32_C(0x0008D33F),
11784           UINT32_C(0x0020BACA), UINT32_C(0x000F9E55)},
11785          {UINT32_C(0x0001E00F), UINT32_C(0x003DC07C), UINT32_C(0x001BA800),
11786           UINT32_C(0x004AEE42), UINT32_C(0x0013E66A), UINT32_C(0x001C61D4),
11787           UINT32_C(0x00365B36), UINT32_C(0x000D2885), UINT32_C(0x00046EFC),
11788           UINT32_C(0x00088FB6), UINT32_C(0x0007F83B), UINT32_C(0x003E8670),
11789           UINT32_C(0x001539ED), UINT32_C(0x0039945D), UINT32_C(0x00052181),
11790           UINT32_C(0x00150E04), UINT32_C(0x003F8361), UINT32_C(0x0033D590),
11791           UINT32_C(0x002A7678), UINT32_C(0x001A0E6A), UINT32_C(0x0017FB3A),
11792           UINT32_C(0x0001B263), UINT32_C(0x003FB8CC)}},
11793         {{UINT32_C(0x00441491), UINT32_C(0x000F0A65), UINT32_C(0x001689D6),
11794           UINT32_C(0x001482F7), UINT32_C(0x00147BF7), UINT32_C(0x003D0042),
11795           UINT32_C(0x002844D1), UINT32_C(0x005FD1B5), UINT32_C(0x00200A97),
11796           UINT32_C(0x00117C63), UINT32_C(0x003D90B5), UINT32_C(0x001D123E),
11797           UINT32_C(0x00044FA4), UINT32_C(0x003F2318), UINT32_C(0x0036FA13),
11798           UINT32_C(0x005A1AE5), UINT32_C(0x000811CA), UINT32_C(0x001E59EF),
11799           UINT32_C(0x0034D752), UINT32_C(0x00564B68), UINT32_C(0x001118FF),
11800           UINT32_C(0x0039B3EA), UINT32_C(0x0014D131)},
11801          {UINT32_C(0x0013C497), UINT32_C(0x003C1203), UINT32_C(0x0017B8C9),
11802           UINT32_C(0x005F5C63), UINT32_C(0x001C40D9), UINT32_C(0x00337A68),
11803           UINT32_C(0x00200255), UINT32_C(0x007B6F12), UINT32_C(0x001F0C0A),
11804           UINT32_C(0x000D6663), UINT32_C(0x001F59C2), UINT32_C(0x00154C68),
11805           UINT32_C(0x00345E93), UINT32_C(0x003D89D5), UINT32_C(0x00342AEC),
11806           UINT32_C(0x006FD7F9), UINT32_C(0x0015325A), UINT32_C(0x001C82FE),
11807           UINT32_C(0x0032F5E8), UINT32_C(0x00078F1F), UINT32_C(0x0025FC9A),
11808           UINT32_C(0x003196C7), UINT32_C(0x0039E007)},
11809          {UINT32_C(0x0039A6FC), UINT32_C(0x0011CEAB), UINT32_C(0x0012DC99),
11810           UINT32_C(0x005819B9), UINT32_C(0x0018EB3D), UINT32_C(0x00219D0B),
11811           UINT32_C(0x001627FA), UINT32_C(0x003FFC71), UINT32_C(0x000E2B28),
11812           UINT32_C(0x000516D9), UINT32_C(0x003B039D), UINT32_C(0x001E1B28),
11813           UINT32_C(0x00179D77), UINT32_C(0x002E37D9), UINT32_C(0x0003A1C1),
11814           UINT32_C(0x000D735B), UINT32_C(0x00360858), UINT32_C(0x0008AFC3),
11815           UINT32_C(0x0016FD4C), UINT32_C(0x000289D6), UINT32_C(0x001E9558),
11816           UINT32_C(0x000AF3EA), UINT32_C(0x003D50FE)}},
11817         {{UINT32_C(0x0053D15A), UINT32_C(0x002C2F83), UINT32_C(0x00170ABE),
11818           UINT32_C(0x00712A78), UINT32_C(0x00103D0A), UINT32_C(0x0005BC7E),
11819           UINT32_C(0x002462B7), UINT32_C(0x00116FB3), UINT32_C(0x0032D4A0),
11820           UINT32_C(0x003CCDA0), UINT32_C(0x00088A2E), UINT32_C(0x00510F79),
11821           UINT32_C(0x00293310), UINT32_C(0x001D649F), UINT32_C(0x00315518),
11822           UINT32_C(0x002689D7), UINT32_C(0x00324D85), UINT32_C(0x00200963),
11823           UINT32_C(0x00086C95), UINT32_C(0x000B31F5), UINT32_C(0x0013C26E),
11824           UINT32_C(0x0003A95F), UINT32_C(0x0036130B)},
11825          {UINT32_C(0x0011ED3F), UINT32_C(0x0022E8CD), UINT32_C(0x000AF23D),
11826           UINT32_C(0x000A28B1), UINT32_C(0x001C1B53), UINT32_C(0x0004BD1F),
11827           UINT32_C(0x000B0909), UINT32_C(0x006FD7AA), UINT32_C(0x001BA416),
11828           UINT32_C(0x0003F26B), UINT32_C(0x00305459), UINT32_C(0x0074C3EC),
11829           UINT32_C(0x00287773), UINT32_C(0x0034CC74), UINT32_C(0x002D85ED),
11830           UINT32_C(0x005C853F), UINT32_C(0x00049BB2), UINT32_C(0x000DF4CA),
11831           UINT32_C(0x0016E02A), UINT32_C(0x004D746D), UINT32_C(0x000B5669),
11832           UINT32_C(0x0011DAD1), UINT32_C(0x0016A410)},
11833          {UINT32_C(0x00112679), UINT32_C(0x002ADF1B), UINT32_C(0x0008BDEA),
11834           UINT32_C(0x007D441A), UINT32_C(0x0037A3DB), UINT32_C(0x0008035D),
11835           UINT32_C(0x001D18DE), UINT32_C(0x00432D9E), UINT32_C(0x00217C8D),
11836           UINT32_C(0x0034B1CC), UINT32_C(0x00347E03), UINT32_C(0x007CEF1A),
11837           UINT32_C(0x003CA8B5), UINT32_C(0x000B5855), UINT32_C(0x0034A8BC),
11838           UINT32_C(0x003867CB), UINT32_C(0x00169433), UINT32_C(0x00134C66),
11839           UINT32_C(0x0011D943), UINT32_C(0x0061B8E4), UINT32_C(0x00383EDC),
11840           UINT32_C(0x00274AAD), UINT32_C(0x000AE283)}},
11841     }};
11842
11843 /*-
11844  * Q := 2P, both projective, Q and P same pointers OK
11845  * Autogenerated: op3/dbl_proj_ed_eone.op3
11846  * https://www.hyperelliptic.org/EFD/g1p/auto-code/twisted/extended-1/doubling/dbl-2008-hwcd.op3
11847  * ASSERT: e = 1
11848  */
11849 static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
11850     /* temporary variables */
11851     fe_t t0, t1, t2, t3;
11852     /* constants */
11853     /* set pointers for Edwards curve arith */
11854     const limb_t *X = P->X;
11855     const limb_t *Y = P->Y;
11856     const limb_t *Z = P->Z;
11857     limb_t *X3 = Q->X;
11858     limb_t *Y3 = Q->Y;
11859     limb_t *T3 = Q->T;
11860     limb_t *Z3 = Q->Z;
11861
11862     /* the curve arith formula */
11863     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(t0, X);
11864     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(t1, Y);
11865     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(t2, Z);
11866     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(t3, t2, t2);
11867     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(X3, X, Y);
11868     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(Y3, X3);
11869     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(T3, Y3, t0);
11870     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(Z3, T3, t1);
11871     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(Y3, t0, t1);
11872     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t2, Y3, t3);
11873     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t3, t0, t1);
11874     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, Z3, t2);
11875     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, Z3, t3);
11876     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Z3, t2, Y3);
11877     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, Y3, t3);
11878 }
11879
11880 /*-
11881  * R := Q + P where R and Q are projective, P affine.
11882  * R and Q same pointers OK
11883  * R and P same pointers not OK
11884  * Autogenerated: op3/add_mixed_ed_eone.op3
11885  * https://hyperelliptic.org/EFD/g1p/auto-code/twisted/extended/addition/madd-2008-hwcd.op3
11886  * ASSERT: e = 1
11887  */
11888 static void point_add_mixed(pt_prj_t *R, const pt_prj_t *Q, const pt_aff_t *P) {
11889     /* temporary variables */
11890     fe_t t0, t1, t2, t3;
11891     /* constants */
11892     const limb_t *d = const_d;
11893     /* set pointers for Edwards curve arith */
11894     const limb_t *X1 = Q->X;
11895     const limb_t *Y1 = Q->Y;
11896     const limb_t *T1 = Q->T;
11897     const limb_t *Z1 = Q->Z;
11898     const limb_t *X2 = P->X;
11899     const limb_t *Y2 = P->Y;
11900     const limb_t *T2 = P->T;
11901     limb_t *X3 = R->X;
11902     limb_t *Y3 = R->Y;
11903     limb_t *T3 = R->T;
11904     limb_t *Z3 = R->Z;
11905
11906     /* the curve arith formula */
11907     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t0, X1, X2);
11908     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t1, Y1, Y2);
11909     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t2, d, T2);
11910     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t2, T1, t2);
11911     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(X3, X1, Y1);
11912     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(Y3, X2, Y2);
11913     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, X3, Y3);
11914     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t3, T3, t0);
11915     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(T3, t3, t1);
11916     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(t3, Z1, t2);
11917     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(Z3, Z1, t2);
11918     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t1, t1, t0);
11919     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, T3, Z3);
11920     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, t3, t1);
11921     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, T3, t1);
11922     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Z3, Z3, t3);
11923 }
11924
11925 /*-
11926  * R := Q + P all projective.
11927  * R and Q same pointers OK
11928  * R and P same pointers not OK
11929  * Autogenerated: op3/add_proj_ed_eone.op3
11930  * https://hyperelliptic.org/EFD/g1p/auto-code/twisted/extended/addition/add-2008-hwcd.op3
11931  * ASSERT: e = 1
11932  */
11933 static void point_add_proj(pt_prj_t *R, const pt_prj_t *Q, const pt_prj_t *P) {
11934     /* temporary variables */
11935     fe_t t0, t1, t2, t3;
11936     /* constants */
11937     const limb_t *d = const_d;
11938     /* set pointers for Edwards curve arith */
11939     const limb_t *X1 = Q->X;
11940     const limb_t *Y1 = Q->Y;
11941     const limb_t *T1 = Q->T;
11942     const limb_t *Z1 = Q->Z;
11943     const limb_t *X2 = P->X;
11944     const limb_t *Y2 = P->Y;
11945     const limb_t *T2 = P->T;
11946     const limb_t *Z2 = P->Z;
11947     limb_t *X3 = R->X;
11948     limb_t *Y3 = R->Y;
11949     limb_t *T3 = R->T;
11950     limb_t *Z3 = R->Z;
11951
11952     /* the curve arith formula */
11953     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t0, X1, X2);
11954     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t1, Y1, Y2);
11955     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t2, d, T2);
11956     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t2, T1, t2);
11957     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t3, Z1, Z2);
11958     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(X3, X1, Y1);
11959     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(Y3, X2, Y2);
11960     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, X3, Y3);
11961     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(Z3, T3, t0);
11962     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(T3, Z3, t1);
11963     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(Z3, t3, t2);
11964     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(t3, t3, t2);
11965     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t1, t1, t0);
11966     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, T3, Z3);
11967     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, t3, t1);
11968     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, T3, t1);
11969     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Z3, Z3, t3);
11970 }
11971
11972 /*-
11973  * from P projective Edwards to Q projective legacy: Q=P OK
11974  * Autogenerated: op3/edwards2legacy_gost.op3
11975  * https://tools.ietf.org/html/rfc7836#section-5.2
11976  */
11977 static void point_edwards2legacy(pt_prj_t *Q, const pt_prj_t *P) {
11978     /* temporary variables */
11979     fe_t t0;
11980     /* constants */
11981     const limb_t *S = const_S;
11982     const limb_t *T = const_T;
11983     const limb_t *X1 = P->X;
11984     const limb_t *Y1 = P->Y;
11985     const limb_t *Z1 = P->Z;
11986     limb_t *X3 = Q->X;
11987     limb_t *Y3 = Q->Y;
11988     limb_t *T3 = Q->T;
11989     limb_t *Z3 = Q->Z;
11990
11991     /* the curve arith formula */
11992     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(T3, Z1, Y1);
11993     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(t0, Z1, Y1);
11994     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, S, T3);
11995     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, Z1, T3);
11996     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Z3, X1, t0);
11997     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(t0, t0, T);
11998     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(t0, T3, t0);
11999     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, X1, t0);
12000 }
12001
12002 /*-
12003  * from P affine legacy to Q projective Edwards: Q=P not OK
12004  * Autogenerated: op3/legacy2edwards_gost.op3
12005  * https://tools.ietf.org/html/rfc7836#section-5.2
12006  */
12007 static void point_legacy2edwards(pt_prj_t *Q, const pt_aff_t *P) {
12008     /* constants */
12009     const limb_t *S = const_S;
12010     const limb_t *T = const_T;
12011     const limb_t *X1 = P->X;
12012     const limb_t *Y1 = P->Y;
12013     limb_t *X3 = Q->X;
12014     limb_t *Y3 = Q->Y;
12015     limb_t *T3 = Q->T;
12016     limb_t *Z3 = Q->Z;
12017
12018     /* the curve arith formula */
12019     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(T3, X1, T);
12020     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_add(Y3, T3, S);
12021     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, T3, Y3);
12022     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Z3, Y1, Y3);
12023     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_sub(T3, T3, S);
12024     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, Y1, T3);
12025     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(T3, X3, Y3);
12026     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(X3, X3, Z3);
12027     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(Y3, Y3, Z3);
12028     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_square(Z3, Z3);
12029 }
12030
12031 /* constants */
12032 #define RADIX 5
12033 #define DRADIX (1 << RADIX)
12034 #define DRADIX_WNAF ((DRADIX) << 1)
12035
12036 /*-
12037  * precomp for wnaf scalar multiplication:
12038  * precomp[0] = 1P
12039  * precomp[1] = 3P
12040  * precomp[2] = 5P
12041  * precomp[3] = 7P
12042  * precomp[4] = 9P
12043  * ...
12044  */
12045 static void precomp_wnaf(pt_prj_t precomp[DRADIX / 2], const pt_aff_t *P) {
12046     int i;
12047
12048     /* move from legacy affine to Edwards projective */
12049     point_legacy2edwards(&precomp[0], P);
12050     point_double(&precomp[DRADIX / 2 - 1], &precomp[0]);
12051
12052     for (i = 1; i < DRADIX / 2; i++)
12053         point_add_proj(&precomp[i], &precomp[DRADIX / 2 - 1], &precomp[i - 1]);
12054 }
12055
12056 /* fetch a scalar bit */
12057 static int scalar_get_bit(const unsigned char in[64], int idx) {
12058     int widx, rshift;
12059
12060     widx = idx >> 3;
12061     rshift = idx & 0x7;
12062
12063     if (idx < 0 || widx >= 64) return 0;
12064
12065     return (in[widx] >> rshift) & 0x1;
12066 }
12067
12068 /*-
12069  * Compute "regular" wnaf representation of a scalar.
12070  * See "Exponent Recoding and Regular Exponentiation Algorithms",
12071  * Tunstall et al., AfricaCrypt 2009, Alg 6.
12072  * It forces an odd scalar and outputs digits in
12073  * {\pm 1, \pm 3, \pm 5, \pm 7, \pm 9, ...}
12074  * i.e. signed odd digits with _no zeroes_ -- that makes it "regular".
12075  */
12076 static void scalar_rwnaf(int8_t out[103], const unsigned char in[64]) {
12077     int i;
12078     int8_t window, d;
12079
12080     window = (in[0] & (DRADIX_WNAF - 1)) | 1;
12081     for (i = 0; i < 102; i++) {
12082         d = (window & (DRADIX_WNAF - 1)) - DRADIX;
12083         out[i] = d;
12084         window = (window - d) >> RADIX;
12085         window += scalar_get_bit(in, (i + 1) * RADIX + 1) << 1;
12086         window += scalar_get_bit(in, (i + 1) * RADIX + 2) << 2;
12087         window += scalar_get_bit(in, (i + 1) * RADIX + 3) << 3;
12088         window += scalar_get_bit(in, (i + 1) * RADIX + 4) << 4;
12089         window += scalar_get_bit(in, (i + 1) * RADIX + 5) << 5;
12090     }
12091     out[i] = window;
12092 }
12093
12094 /*-
12095  * Compute "textbook" wnaf representation of a scalar.
12096  * NB: not constant time
12097  */
12098 static void scalar_wnaf(int8_t out[513], const unsigned char in[64]) {
12099     int i;
12100     int8_t window, d;
12101
12102     window = in[0] & (DRADIX_WNAF - 1);
12103     for (i = 0; i < 513; i++) {
12104         d = 0;
12105         if ((window & 1) && ((d = window & (DRADIX_WNAF - 1)) & DRADIX))
12106             d -= DRADIX_WNAF;
12107         out[i] = d;
12108         window = (window - d) >> 1;
12109         window += scalar_get_bit(in, i + 1 + RADIX) << RADIX;
12110     }
12111 }
12112
12113 /*-
12114  * Simulateous scalar multiplication: interleaved "textbook" wnaf.
12115  * NB: not constant time
12116  */
12117 static void var_smul_wnaf_two(pt_aff_t *out, const unsigned char a[64],
12118                               const unsigned char b[64], const pt_aff_t *P) {
12119     int i, d, is_neg, is_inf = 1, flipped = 0;
12120     int8_t anaf[513] = {0};
12121     int8_t bnaf[513] = {0};
12122     pt_prj_t Q;
12123     pt_prj_t precomp[DRADIX / 2];
12124
12125     precomp_wnaf(precomp, P);
12126     scalar_wnaf(anaf, a);
12127     scalar_wnaf(bnaf, b);
12128
12129     for (i = 512; i >= 0; i--) {
12130         if (!is_inf) point_double(&Q, &Q);
12131         if ((d = bnaf[i])) {
12132             if ((is_neg = d < 0) != flipped) {
12133                 fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.X, Q.X);
12134                 fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.T, Q.T);
12135                 flipped ^= 1;
12136             }
12137             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
12138             if (is_inf) {
12139                 /* initialize accumulator */
12140                 fe_copy(Q.X, &precomp[d].X);
12141                 fe_copy(Q.Y, &precomp[d].Y);
12142                 fe_copy(Q.T, &precomp[d].T);
12143                 fe_copy(Q.Z, &precomp[d].Z);
12144                 is_inf = 0;
12145             } else
12146                 point_add_proj(&Q, &Q, &precomp[d]);
12147         }
12148         if ((d = anaf[i])) {
12149             if ((is_neg = d < 0) != flipped) {
12150                 fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.X, Q.X);
12151                 fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.T, Q.T);
12152                 flipped ^= 1;
12153             }
12154             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
12155             if (is_inf) {
12156                 /* initialize accumulator */
12157                 fe_copy(Q.X, &lut_cmb[0][d].X);
12158                 fe_copy(Q.Y, &lut_cmb[0][d].Y);
12159                 fe_copy(Q.T, &lut_cmb[0][d].T);
12160                 fe_copy(Q.Z, const_one);
12161                 is_inf = 0;
12162             } else
12163                 point_add_mixed(&Q, &Q, &lut_cmb[0][d]);
12164         }
12165     }
12166
12167     if (is_inf) {
12168         /* initialize accumulator to inf: all-zero scalars */
12169         fe_set_zero(Q.X);
12170         fe_copy(Q.Y, const_one);
12171         fe_set_zero(Q.T);
12172         fe_copy(Q.Z, const_one);
12173     }
12174
12175     if (flipped) {
12176         /* correct sign */
12177         fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.X, Q.X);
12178         fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(Q.T, Q.T);
12179     }
12180
12181     /* move from Edwards projective to legacy projective */
12182     point_edwards2legacy(&Q, &Q);
12183     /* convert to affine -- NB depends on coordinate system */
12184     fiat_id_tc26_gost_3410_2012_512_paramSetC_inv(Q.Z, Q.Z);
12185     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->X, Q.X, Q.Z);
12186     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->Y, Q.Y, Q.Z);
12187 }
12188
12189 /*-
12190  * Variable point scalar multiplication with "regular" wnaf.
12191  */
12192 static void var_smul_rwnaf(pt_aff_t *out, const unsigned char scalar[64],
12193                            const pt_aff_t *P) {
12194     int i, j, d, diff, is_neg;
12195     int8_t rnaf[103] = {0};
12196     pt_prj_t Q, lut;
12197     pt_prj_t precomp[DRADIX / 2];
12198
12199     precomp_wnaf(precomp, P);
12200     scalar_rwnaf(rnaf, scalar);
12201
12202 #if defined(_MSC_VER)
12203     /* result still unsigned: yes we know */
12204 #pragma warning(push)
12205 #pragma warning(disable : 4146)
12206 #endif
12207
12208     /* initialize accumulator to high digit */
12209     d = (rnaf[102] - 1) >> 1;
12210     for (j = 0; j < DRADIX / 2; j++) {
12211         diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
12212         fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.X, diff, Q.X,
12213                                                             precomp[j].X);
12214         fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Y, diff, Q.Y,
12215                                                             precomp[j].Y);
12216         fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.T, diff, Q.T,
12217                                                             precomp[j].T);
12218         fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Z, diff, Q.Z,
12219                                                             precomp[j].Z);
12220     }
12221
12222     for (i = 101; i >= 0; i--) {
12223         for (j = 0; j < RADIX; j++) point_double(&Q, &Q);
12224         d = rnaf[i];
12225         /* is_neg = (d < 0) ? 1 : 0 */
12226         is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
12227         /* d = abs(d) */
12228         d = (d ^ -is_neg) + is_neg;
12229         d = (d - 1) >> 1;
12230         for (j = 0; j < DRADIX / 2; j++) {
12231             diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
12232             fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
12233                 lut.X, diff, lut.X, precomp[j].X);
12234             fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
12235                 lut.Y, diff, lut.Y, precomp[j].Y);
12236             fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
12237                 lut.T, diff, lut.T, precomp[j].T);
12238             fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
12239                 lut.Z, diff, lut.Z, precomp[j].Z);
12240         }
12241         /* negate lut point if digit is negative */
12242         fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(out->X, lut.X);
12243         fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(out->T, lut.T);
12244         fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(lut.X, is_neg,
12245                                                             lut.X, out->X);
12246         fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(lut.T, is_neg,
12247                                                             lut.T, out->T);
12248         point_add_proj(&Q, &Q, &lut);
12249     }
12250
12251 #if defined(_MSC_VER)
12252 #pragma warning(pop)
12253 #endif
12254
12255     /* conditionally subtract P if the scalar was even */
12256     fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(lut.X, precomp[0].X);
12257     fe_copy(lut.Y, precomp[0].Y);
12258     fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(lut.T, precomp[0].T);
12259     fe_copy(lut.Z, precomp[0].Z);
12260     point_add_proj(&lut, &lut, &Q);
12261     fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.X, scalar[0] & 1,
12262                                                         lut.X, Q.X);
12263     fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Y, scalar[0] & 1,
12264                                                         lut.Y, Q.Y);
12265     fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.T, scalar[0] & 1,
12266                                                         lut.T, Q.T);
12267     fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Z, scalar[0] & 1,
12268                                                         lut.Z, Q.Z);
12269
12270     /* move from Edwards projective to legacy projective */
12271     point_edwards2legacy(&Q, &Q);
12272     /* convert to affine -- NB depends on coordinate system */
12273     fiat_id_tc26_gost_3410_2012_512_paramSetC_inv(Q.Z, Q.Z);
12274     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->X, Q.X, Q.Z);
12275     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->Y, Q.Y, Q.Z);
12276 }
12277
12278 /*-
12279  * Fixed scalar multiplication: comb with interleaving.
12280  */
12281 static void fixed_smul_cmb(pt_aff_t *out, const unsigned char scalar[64]) {
12282     int i, j, k, d, diff, is_neg = 0;
12283     int8_t rnaf[103] = {0};
12284     pt_prj_t Q, R;
12285     pt_aff_t lut;
12286
12287     scalar_rwnaf(rnaf, scalar);
12288
12289     /* initalize accumulator to inf */
12290     fe_set_zero(Q.X);
12291     fe_copy(Q.Y, const_one);
12292     fe_set_zero(Q.T);
12293     fe_copy(Q.Z, const_one);
12294
12295 #if defined(_MSC_VER)
12296     /* result still unsigned: yes we know */
12297 #pragma warning(push)
12298 #pragma warning(disable : 4146)
12299 #endif
12300
12301     for (i = 17; i >= 0; i--) {
12302         for (j = 0; i != 17 && j < RADIX; j++) point_double(&Q, &Q);
12303         for (j = 0; j < 7; j++) {
12304             if (j * 18 + i > 102) continue;
12305             d = rnaf[j * 18 + i];
12306             /* is_neg = (d < 0) ? 1 : 0 */
12307             is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
12308             /* d = abs(d) */
12309             d = (d ^ -is_neg) + is_neg;
12310             d = (d - 1) >> 1;
12311             for (k = 0; k < DRADIX / 2; k++) {
12312                 diff = (1 - (-(d ^ k) >> (8 * sizeof(int) - 1))) & 1;
12313                 fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
12314                     lut.X, diff, lut.X, lut_cmb[j][k].X);
12315                 fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
12316                     lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
12317                 fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(
12318                     lut.T, diff, lut.T, lut_cmb[j][k].T);
12319             }
12320             /* negate lut point if digit is negative */
12321             fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(out->X, lut.X);
12322             fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(out->T, lut.T);
12323             fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(lut.X, is_neg,
12324                                                                 lut.X, out->X);
12325             fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(lut.T, is_neg,
12326                                                                 lut.T, out->T);
12327             point_add_mixed(&Q, &Q, &lut);
12328         }
12329     }
12330
12331 #if defined(_MSC_VER)
12332 #pragma warning(pop)
12333 #endif
12334
12335     /* conditionally subtract P if the scalar was even */
12336     fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(lut.X, lut_cmb[0][0].X);
12337     fe_copy(lut.Y, lut_cmb[0][0].Y);
12338     fiat_id_tc26_gost_3410_2012_512_paramSetC_opp(lut.T, lut_cmb[0][0].T);
12339     point_add_mixed(&R, &Q, &lut);
12340     fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.X, scalar[0] & 1, R.X,
12341                                                         Q.X);
12342     fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Y, scalar[0] & 1, R.Y,
12343                                                         Q.Y);
12344     fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.T, scalar[0] & 1, R.T,
12345                                                         Q.T);
12346     fiat_id_tc26_gost_3410_2012_512_paramSetC_selectznz(Q.Z, scalar[0] & 1, R.Z,
12347                                                         Q.Z);
12348
12349     /* move from Edwards projective to legacy projective */
12350     point_edwards2legacy(&Q, &Q);
12351     /* convert to affine -- NB depends on coordinate system */
12352     fiat_id_tc26_gost_3410_2012_512_paramSetC_inv(Q.Z, Q.Z);
12353     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->X, Q.X, Q.Z);
12354     fiat_id_tc26_gost_3410_2012_512_paramSetC_carry_mul(out->Y, Q.Y, Q.Z);
12355 }
12356
12357 static void point_mul_two(unsigned char outx[64], unsigned char outy[64],
12358                           const unsigned char a[64], const unsigned char b[64],
12359                           const unsigned char inx[64],
12360                           const unsigned char iny[64]) {
12361     pt_aff_t P;
12362
12363     fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes(P.X, inx);
12364     fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes(P.Y, iny);
12365     /* simultaneous scalar multiplication */
12366     var_smul_wnaf_two(&P, a, b, &P);
12367
12368     fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outx, P.X);
12369     fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outy, P.Y);
12370 }
12371
12372 static void point_mul_g(unsigned char outx[64], unsigned char outy[64],
12373                         const unsigned char scalar[64]) {
12374     pt_aff_t P;
12375
12376     /* fixed scmul function */
12377     fixed_smul_cmb(&P, scalar);
12378     fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outx, P.X);
12379     fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outy, P.Y);
12380 }
12381
12382 static void point_mul(unsigned char outx[64], unsigned char outy[64],
12383                       const unsigned char scalar[64],
12384                       const unsigned char inx[64],
12385                       const unsigned char iny[64]) {
12386     pt_aff_t P;
12387
12388     fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes(P.X, inx);
12389     fiat_id_tc26_gost_3410_2012_512_paramSetC_from_bytes(P.Y, iny);
12390     /* var scmul function */
12391     var_smul_rwnaf(&P, scalar, &P);
12392     fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outx, P.X);
12393     fiat_id_tc26_gost_3410_2012_512_paramSetC_to_bytes(outy, P.Y);
12394 }
12395
12396
12397 #include <openssl/ec.h>
12398
12399 static const unsigned char const_zb[64] = {0};
12400
12401     int
12402     point_mul_two_id_tc26_gost_3410_2012_512_paramSetC(
12403         const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, const EC_POINT *q,
12404         const BIGNUM *m, BN_CTX *ctx) {
12405     int ret = 0;
12406     unsigned char b_x[64];
12407     unsigned char b_y[64];
12408     unsigned char b_n[64];
12409     unsigned char b_m[64];
12410     BIGNUM *x = NULL, *y = NULL;
12411
12412     BN_CTX_start(ctx);
12413     x = BN_CTX_get(ctx);
12414     if ((y = BN_CTX_get(ctx)) == NULL
12415         /* pull out coords as bytes */
12416         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
12417         BN_bn2lebinpad(x, b_x, 64) != 64 || BN_bn2lebinpad(y, b_y, 64) != 64 ||
12418         BN_bn2lebinpad(n, b_n, 64) != 64 || BN_bn2lebinpad(m, b_m, 64) != 64)
12419         goto err;
12420     /* do the simultaneous scalar multiplication */
12421     point_mul_two(b_x, b_y, b_n, b_m, b_x, b_y);
12422     /* check for infinity */
12423     if (CRYPTO_memcmp(const_zb, b_x, 64) == 0 &&
12424         CRYPTO_memcmp(const_zb, b_y, 64) == 0) {
12425         if (!EC_POINT_set_to_infinity(group, r)) goto err;
12426     } else {
12427         /* otherwise, pack the bytes into the result */
12428         if (BN_lebin2bn(b_x, 64, x) == NULL ||
12429             BN_lebin2bn(b_y, 64, y) == NULL ||
12430             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
12431             goto err;
12432     }
12433     ret = 1;
12434 err:
12435     BN_CTX_end(ctx);
12436     return ret;
12437 }
12438
12439     int
12440     point_mul_id_tc26_gost_3410_2012_512_paramSetC(const EC_GROUP *group,
12441                                                    EC_POINT *r,
12442                                                    const EC_POINT *q,
12443                                                    const BIGNUM *m,
12444                                                    BN_CTX *ctx) {
12445     int ret = 0;
12446     unsigned char b_x[64];
12447     unsigned char b_y[64];
12448     unsigned char b_m[64];
12449     BIGNUM *x = NULL, *y = NULL;
12450
12451     BN_CTX_start(ctx);
12452     x = BN_CTX_get(ctx);
12453     if ((y = BN_CTX_get(ctx)) == NULL
12454         /* pull out coords as bytes */
12455         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
12456         BN_bn2lebinpad(x, b_x, 64) != 64 || BN_bn2lebinpad(y, b_y, 64) != 64 ||
12457         BN_bn2lebinpad(m, b_m, 64) != 64)
12458         goto err;
12459     /* do the variable scalar multiplication */
12460     point_mul(b_x, b_y, b_m, b_x, b_y);
12461     /* check for infinity */
12462     if (CRYPTO_memcmp(const_zb, b_x, 64) == 0 &&
12463         CRYPTO_memcmp(const_zb, b_y, 64) == 0) {
12464         if (!EC_POINT_set_to_infinity(group, r)) goto err;
12465     } else {
12466         /* otherwise, pack the bytes into the result */
12467         if (BN_lebin2bn(b_x, 64, x) == NULL ||
12468             BN_lebin2bn(b_y, 64, y) == NULL ||
12469             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
12470             goto err;
12471     }
12472     ret = 1;
12473 err:
12474     BN_CTX_end(ctx);
12475     return ret;
12476 }
12477
12478     int
12479     point_mul_g_id_tc26_gost_3410_2012_512_paramSetC(const EC_GROUP *group,
12480                                                      EC_POINT *r,
12481                                                      const BIGNUM *n,
12482                                                      BN_CTX *ctx) {
12483     int ret = 0;
12484     unsigned char b_x[64];
12485     unsigned char b_y[64];
12486     unsigned char b_n[64];
12487     BIGNUM *x = NULL, *y = NULL;
12488
12489     BN_CTX_start(ctx);
12490     x = BN_CTX_get(ctx);
12491     if ((y = BN_CTX_get(ctx)) == NULL || BN_bn2lebinpad(n, b_n, 64) != 64)
12492         goto err;
12493     /* do the fixed scalar multiplication */
12494     point_mul_g(b_x, b_y, b_n);
12495     /* check for infinity */
12496     if (CRYPTO_memcmp(const_zb, b_x, 64) == 0 &&
12497         CRYPTO_memcmp(const_zb, b_y, 64) == 0) {
12498         if (!EC_POINT_set_to_infinity(group, r)) goto err;
12499     } else {
12500         /* otherwise, pack the bytes into the result */
12501         if (BN_lebin2bn(b_x, 64, x) == NULL ||
12502             BN_lebin2bn(b_y, 64, y) == NULL ||
12503             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
12504             goto err;
12505     }
12506     ret = 1;
12507 err:
12508     BN_CTX_end(ctx);
12509     return ret;
12510 }
12511
12512
12513
12514 #endif /* __SIZEOF_INT128__ */