]> www.wagner.pp.ru Git - openssl-gost/engine.git/blob - ecp_id_GostR3410_2001_TestParamSet.c
GOST EC armv7 aarch64 fixes
[openssl-gost/engine.git] / ecp_id_GostR3410_2001_TestParamSet.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 4
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 /* Projective points */
39 typedef struct {
40     fe_t X;
41     fe_t Y;
42     fe_t Z;
43 } pt_prj_t;
44
45 /* Affine points */
46 typedef struct {
47     fe_t X;
48     fe_t Y;
49 } pt_aff_t;
50
51 /* BEGIN verbatim fiat code https://github.com/mit-plv/fiat-crypto */
52 /*-
53  * MIT License
54  *
55  * Copyright (c) 2020 the fiat-crypto authors (see the AUTHORS file)
56  *
57  * Permission is hereby granted, free of charge, to any person obtaining a copy
58  * of this software and associated documentation files (the "Software"), to deal
59  * in the Software without restriction, including without limitation the rights
60  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
61  * copies of the Software, and to permit persons to whom the Software is
62  * furnished to do so, subject to the following conditions:
63  *
64  * The above copyright notice and this permission notice shall be included in
65  * all copies or substantial portions of the Software.
66  *
67  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
68  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
69  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
70  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
71  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
72  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
73  * SOFTWARE.
74  */
75
76 /* Autogenerated: word_by_word_montgomery --static id_GostR3410_2001_TestParamSet 64 '2^255 + 1073' */
77 /* curve description: id_GostR3410_2001_TestParamSet */
78 /* machine_wordsize = 64 (from "64") */
79 /* requested operations: (all) */
80 /* m = 0x8000000000000000000000000000000000000000000000000000000000000431 (from "2^255 + 1073") */
81 /*                                                                    */
82 /* NOTE: In addition to the bounds specified above each function, all */
83 /*   functions synthesized for this Montgomery arithmetic require the */
84 /*   input to be strictly less than the prime modulus (m), and also   */
85 /*   require the input to be in the unique saturated representation.  */
86 /*   All functions also ensure that these two properties are true of  */
87 /*   return values.                                                   */
88 /*  */
89 /* Computed values: */
90 /* eval z = z[0] + (z[1] << 64) + (z[2] << 128) + (z[3] << 192) */
91 /* 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) */
92
93 #include <stdint.h>
94 typedef unsigned char fiat_id_GostR3410_2001_TestParamSet_uint1;
95 typedef signed char fiat_id_GostR3410_2001_TestParamSet_int1;
96 typedef signed __int128 fiat_id_GostR3410_2001_TestParamSet_int128;
97 typedef unsigned __int128 fiat_id_GostR3410_2001_TestParamSet_uint128;
98
99 #if (-1 & 3) != 3
100 #error "This code only works on a two's complement system"
101 #endif
102
103 /*
104  * The function fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64 is an addition with carry.
105  * Postconditions:
106  *   out1 = (arg1 + arg2 + arg3) mod 2^64
107  *   out2 = ⌊(arg1 + arg2 + arg3) / 2^64⌋
108  *
109  * Input Bounds:
110  *   arg1: [0x0 ~> 0x1]
111  *   arg2: [0x0 ~> 0xffffffffffffffff]
112  *   arg3: [0x0 ~> 0xffffffffffffffff]
113  * Output Bounds:
114  *   out1: [0x0 ~> 0xffffffffffffffff]
115  *   out2: [0x0 ~> 0x1]
116  */
117 static void fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(
118     uint64_t *out1, fiat_id_GostR3410_2001_TestParamSet_uint1 *out2,
119     fiat_id_GostR3410_2001_TestParamSet_uint1 arg1, uint64_t arg2,
120     uint64_t arg3) {
121     fiat_id_GostR3410_2001_TestParamSet_uint128 x1;
122     uint64_t x2;
123     fiat_id_GostR3410_2001_TestParamSet_uint1 x3;
124     x1 = ((arg1 + (fiat_id_GostR3410_2001_TestParamSet_uint128)arg2) + arg3);
125     x2 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
126     x3 = (fiat_id_GostR3410_2001_TestParamSet_uint1)(x1 >> 64);
127     *out1 = x2;
128     *out2 = x3;
129 }
130
131 /*
132  * The function fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64 is a subtraction with borrow.
133  * Postconditions:
134  *   out1 = (-arg1 + arg2 + -arg3) mod 2^64
135  *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^64⌋
136  *
137  * Input Bounds:
138  *   arg1: [0x0 ~> 0x1]
139  *   arg2: [0x0 ~> 0xffffffffffffffff]
140  *   arg3: [0x0 ~> 0xffffffffffffffff]
141  * Output Bounds:
142  *   out1: [0x0 ~> 0xffffffffffffffff]
143  *   out2: [0x0 ~> 0x1]
144  */
145 static void fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(
146     uint64_t *out1, fiat_id_GostR3410_2001_TestParamSet_uint1 *out2,
147     fiat_id_GostR3410_2001_TestParamSet_uint1 arg1, uint64_t arg2,
148     uint64_t arg3) {
149     fiat_id_GostR3410_2001_TestParamSet_int128 x1;
150     fiat_id_GostR3410_2001_TestParamSet_int1 x2;
151     uint64_t x3;
152     x1 = ((arg2 - (fiat_id_GostR3410_2001_TestParamSet_int128)arg1) - arg3);
153     x2 = (fiat_id_GostR3410_2001_TestParamSet_int1)(x1 >> 64);
154     x3 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
155     *out1 = x3;
156     *out2 = (fiat_id_GostR3410_2001_TestParamSet_uint1)(0x0 - x2);
157 }
158
159 /*
160  * The function fiat_id_GostR3410_2001_TestParamSet_mulx_u64 is a multiplication, returning the full double-width result.
161  * Postconditions:
162  *   out1 = (arg1 * arg2) mod 2^64
163  *   out2 = ⌊arg1 * arg2 / 2^64⌋
164  *
165  * Input Bounds:
166  *   arg1: [0x0 ~> 0xffffffffffffffff]
167  *   arg2: [0x0 ~> 0xffffffffffffffff]
168  * Output Bounds:
169  *   out1: [0x0 ~> 0xffffffffffffffff]
170  *   out2: [0x0 ~> 0xffffffffffffffff]
171  */
172 static void fiat_id_GostR3410_2001_TestParamSet_mulx_u64(uint64_t *out1,
173                                                          uint64_t *out2,
174                                                          uint64_t arg1,
175                                                          uint64_t arg2) {
176     fiat_id_GostR3410_2001_TestParamSet_uint128 x1;
177     uint64_t x2;
178     uint64_t x3;
179     x1 = ((fiat_id_GostR3410_2001_TestParamSet_uint128)arg1 * arg2);
180     x2 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
181     x3 = (uint64_t)(x1 >> 64);
182     *out1 = x2;
183     *out2 = x3;
184 }
185
186 /*
187  * The function fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64 is a single-word conditional move.
188  * Postconditions:
189  *   out1 = (if arg1 = 0 then arg2 else arg3)
190  *
191  * Input Bounds:
192  *   arg1: [0x0 ~> 0x1]
193  *   arg2: [0x0 ~> 0xffffffffffffffff]
194  *   arg3: [0x0 ~> 0xffffffffffffffff]
195  * Output Bounds:
196  *   out1: [0x0 ~> 0xffffffffffffffff]
197  */
198 static void fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(
199     uint64_t *out1, fiat_id_GostR3410_2001_TestParamSet_uint1 arg1,
200     uint64_t arg2, uint64_t arg3) {
201     fiat_id_GostR3410_2001_TestParamSet_uint1 x1;
202     uint64_t x2;
203     uint64_t x3;
204     x1 = (!(!arg1));
205     x2 = ((fiat_id_GostR3410_2001_TestParamSet_int1)(0x0 - x1) &
206           UINT64_C(0xffffffffffffffff));
207     x3 = ((x2 & arg3) | ((~x2) & arg2));
208     *out1 = x3;
209 }
210
211 /*
212  * The function fiat_id_GostR3410_2001_TestParamSet_mul multiplies two field elements in the Montgomery domain.
213  * Preconditions:
214  *   0 ≤ eval arg1 < m
215  *   0 ≤ eval arg2 < m
216  * Postconditions:
217  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg2)) mod m
218  *   0 ≤ eval out1 < m
219  *
220  * Input Bounds:
221  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
222  *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
223  * Output Bounds:
224  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
225  */
226 static void fiat_id_GostR3410_2001_TestParamSet_mul(uint64_t out1[4],
227                                                     const uint64_t arg1[4],
228                                                     const uint64_t arg2[4]) {
229     uint64_t x1;
230     uint64_t x2;
231     uint64_t x3;
232     uint64_t x4;
233     uint64_t x5;
234     uint64_t x6;
235     uint64_t x7;
236     uint64_t x8;
237     uint64_t x9;
238     uint64_t x10;
239     uint64_t x11;
240     uint64_t x12;
241     uint64_t x13;
242     fiat_id_GostR3410_2001_TestParamSet_uint1 x14;
243     uint64_t x15;
244     fiat_id_GostR3410_2001_TestParamSet_uint1 x16;
245     uint64_t x17;
246     fiat_id_GostR3410_2001_TestParamSet_uint1 x18;
247     uint64_t x19;
248     uint64_t x20;
249     uint64_t x21;
250     uint64_t x22;
251     uint64_t x23;
252     uint64_t x24;
253     uint64_t x25;
254     uint64_t x26;
255     fiat_id_GostR3410_2001_TestParamSet_uint1 x27;
256     uint64_t x28;
257     fiat_id_GostR3410_2001_TestParamSet_uint1 x29;
258     uint64_t x30;
259     fiat_id_GostR3410_2001_TestParamSet_uint1 x31;
260     uint64_t x32;
261     fiat_id_GostR3410_2001_TestParamSet_uint1 x33;
262     uint64_t x34;
263     fiat_id_GostR3410_2001_TestParamSet_uint1 x35;
264     uint64_t x36;
265     uint64_t x37;
266     uint64_t x38;
267     uint64_t x39;
268     uint64_t x40;
269     uint64_t x41;
270     uint64_t x42;
271     uint64_t x43;
272     uint64_t x44;
273     fiat_id_GostR3410_2001_TestParamSet_uint1 x45;
274     uint64_t x46;
275     fiat_id_GostR3410_2001_TestParamSet_uint1 x47;
276     uint64_t x48;
277     fiat_id_GostR3410_2001_TestParamSet_uint1 x49;
278     uint64_t x50;
279     uint64_t x51;
280     fiat_id_GostR3410_2001_TestParamSet_uint1 x52;
281     uint64_t x53;
282     fiat_id_GostR3410_2001_TestParamSet_uint1 x54;
283     uint64_t x55;
284     fiat_id_GostR3410_2001_TestParamSet_uint1 x56;
285     uint64_t x57;
286     fiat_id_GostR3410_2001_TestParamSet_uint1 x58;
287     uint64_t x59;
288     fiat_id_GostR3410_2001_TestParamSet_uint1 x60;
289     uint64_t x61;
290     uint64_t x62;
291     uint64_t x63;
292     uint64_t x64;
293     uint64_t x65;
294     uint64_t x66;
295     uint64_t x67;
296     fiat_id_GostR3410_2001_TestParamSet_uint1 x68;
297     uint64_t x69;
298     fiat_id_GostR3410_2001_TestParamSet_uint1 x70;
299     uint64_t x71;
300     fiat_id_GostR3410_2001_TestParamSet_uint1 x72;
301     uint64_t x73;
302     fiat_id_GostR3410_2001_TestParamSet_uint1 x74;
303     uint64_t x75;
304     fiat_id_GostR3410_2001_TestParamSet_uint1 x76;
305     uint64_t x77;
306     uint64_t x78;
307     uint64_t x79;
308     uint64_t x80;
309     uint64_t x81;
310     uint64_t x82;
311     uint64_t x83;
312     uint64_t x84;
313     uint64_t x85;
314     uint64_t x86;
315     fiat_id_GostR3410_2001_TestParamSet_uint1 x87;
316     uint64_t x88;
317     fiat_id_GostR3410_2001_TestParamSet_uint1 x89;
318     uint64_t x90;
319     fiat_id_GostR3410_2001_TestParamSet_uint1 x91;
320     uint64_t x92;
321     uint64_t x93;
322     fiat_id_GostR3410_2001_TestParamSet_uint1 x94;
323     uint64_t x95;
324     fiat_id_GostR3410_2001_TestParamSet_uint1 x96;
325     uint64_t x97;
326     fiat_id_GostR3410_2001_TestParamSet_uint1 x98;
327     uint64_t x99;
328     fiat_id_GostR3410_2001_TestParamSet_uint1 x100;
329     uint64_t x101;
330     fiat_id_GostR3410_2001_TestParamSet_uint1 x102;
331     uint64_t x103;
332     uint64_t x104;
333     uint64_t x105;
334     uint64_t x106;
335     uint64_t x107;
336     uint64_t x108;
337     uint64_t x109;
338     fiat_id_GostR3410_2001_TestParamSet_uint1 x110;
339     uint64_t x111;
340     fiat_id_GostR3410_2001_TestParamSet_uint1 x112;
341     uint64_t x113;
342     fiat_id_GostR3410_2001_TestParamSet_uint1 x114;
343     uint64_t x115;
344     fiat_id_GostR3410_2001_TestParamSet_uint1 x116;
345     uint64_t x117;
346     fiat_id_GostR3410_2001_TestParamSet_uint1 x118;
347     uint64_t x119;
348     uint64_t x120;
349     uint64_t x121;
350     uint64_t x122;
351     uint64_t x123;
352     uint64_t x124;
353     uint64_t x125;
354     uint64_t x126;
355     uint64_t x127;
356     uint64_t x128;
357     fiat_id_GostR3410_2001_TestParamSet_uint1 x129;
358     uint64_t x130;
359     fiat_id_GostR3410_2001_TestParamSet_uint1 x131;
360     uint64_t x132;
361     fiat_id_GostR3410_2001_TestParamSet_uint1 x133;
362     uint64_t x134;
363     uint64_t x135;
364     fiat_id_GostR3410_2001_TestParamSet_uint1 x136;
365     uint64_t x137;
366     fiat_id_GostR3410_2001_TestParamSet_uint1 x138;
367     uint64_t x139;
368     fiat_id_GostR3410_2001_TestParamSet_uint1 x140;
369     uint64_t x141;
370     fiat_id_GostR3410_2001_TestParamSet_uint1 x142;
371     uint64_t x143;
372     fiat_id_GostR3410_2001_TestParamSet_uint1 x144;
373     uint64_t x145;
374     uint64_t x146;
375     uint64_t x147;
376     uint64_t x148;
377     uint64_t x149;
378     uint64_t x150;
379     uint64_t x151;
380     fiat_id_GostR3410_2001_TestParamSet_uint1 x152;
381     uint64_t x153;
382     fiat_id_GostR3410_2001_TestParamSet_uint1 x154;
383     uint64_t x155;
384     fiat_id_GostR3410_2001_TestParamSet_uint1 x156;
385     uint64_t x157;
386     fiat_id_GostR3410_2001_TestParamSet_uint1 x158;
387     uint64_t x159;
388     fiat_id_GostR3410_2001_TestParamSet_uint1 x160;
389     uint64_t x161;
390     uint64_t x162;
391     fiat_id_GostR3410_2001_TestParamSet_uint1 x163;
392     uint64_t x164;
393     fiat_id_GostR3410_2001_TestParamSet_uint1 x165;
394     uint64_t x166;
395     fiat_id_GostR3410_2001_TestParamSet_uint1 x167;
396     uint64_t x168;
397     fiat_id_GostR3410_2001_TestParamSet_uint1 x169;
398     uint64_t x170;
399     fiat_id_GostR3410_2001_TestParamSet_uint1 x171;
400     uint64_t x172;
401     uint64_t x173;
402     uint64_t x174;
403     uint64_t x175;
404     x1 = (arg1[1]);
405     x2 = (arg1[2]);
406     x3 = (arg1[3]);
407     x4 = (arg1[0]);
408     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x5, &x6, x4, (arg2[3]));
409     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x7, &x8, x4, (arg2[2]));
410     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x9, &x10, x4, (arg2[1]));
411     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x11, &x12, x4, (arg2[0]));
412     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x13, &x14, 0x0, x12, x9);
413     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x15, &x16, x14, x10, x7);
414     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x17, &x18, x16, x8, x5);
415     x19 = (x18 + x6);
416     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x20, &x21, x11,
417                                                  UINT64_C(0xdbf951d5883b2b2f));
418     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x22, &x23, x20,
419                                                  UINT64_C(0x8000000000000000));
420     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x24, &x25, x20,
421                                                  UINT16_C(0x431));
422     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x26, &x27, 0x0, x11,
423                                                       x24);
424     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x28, &x29, x27, x13,
425                                                       x25);
426     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x30, &x31, x29, x15,
427                                                       0x0);
428     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x32, &x33, x31, x17,
429                                                       x22);
430     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x34, &x35, x33, x19,
431                                                       x23);
432     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x36, &x37, x1, (arg2[3]));
433     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x38, &x39, x1, (arg2[2]));
434     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x40, &x41, x1, (arg2[1]));
435     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x42, &x43, x1, (arg2[0]));
436     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x44, &x45, 0x0, x43,
437                                                       x40);
438     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x46, &x47, x45, x41,
439                                                       x38);
440     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x48, &x49, x47, x39,
441                                                       x36);
442     x50 = (x49 + x37);
443     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x51, &x52, 0x0, x28,
444                                                       x42);
445     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x53, &x54, x52, x30,
446                                                       x44);
447     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x55, &x56, x54, x32,
448                                                       x46);
449     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x57, &x58, x56, x34,
450                                                       x48);
451     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x59, &x60, x58, x35,
452                                                       x50);
453     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x61, &x62, x51,
454                                                  UINT64_C(0xdbf951d5883b2b2f));
455     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x63, &x64, x61,
456                                                  UINT64_C(0x8000000000000000));
457     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x65, &x66, x61,
458                                                  UINT16_C(0x431));
459     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x67, &x68, 0x0, x51,
460                                                       x65);
461     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x69, &x70, x68, x53,
462                                                       x66);
463     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x71, &x72, x70, x55,
464                                                       0x0);
465     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x73, &x74, x72, x57,
466                                                       x63);
467     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x75, &x76, x74, x59,
468                                                       x64);
469     x77 = ((uint64_t)x76 + x60);
470     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x78, &x79, x2, (arg2[3]));
471     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x80, &x81, x2, (arg2[2]));
472     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x82, &x83, x2, (arg2[1]));
473     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x84, &x85, x2, (arg2[0]));
474     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x86, &x87, 0x0, x85,
475                                                       x82);
476     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x88, &x89, x87, x83,
477                                                       x80);
478     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x90, &x91, x89, x81,
479                                                       x78);
480     x92 = (x91 + x79);
481     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x93, &x94, 0x0, x69,
482                                                       x84);
483     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x95, &x96, x94, x71,
484                                                       x86);
485     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x97, &x98, x96, x73,
486                                                       x88);
487     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x99, &x100, x98, x75,
488                                                       x90);
489     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x101, &x102, x100, x77,
490                                                       x92);
491     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x103, &x104, x93,
492                                                  UINT64_C(0xdbf951d5883b2b2f));
493     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x105, &x106, x103,
494                                                  UINT64_C(0x8000000000000000));
495     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x107, &x108, x103,
496                                                  UINT16_C(0x431));
497     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x109, &x110, 0x0, x93,
498                                                       x107);
499     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x111, &x112, x110, x95,
500                                                       x108);
501     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x113, &x114, x112, x97,
502                                                       0x0);
503     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x115, &x116, x114, x99,
504                                                       x105);
505     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x117, &x118, x116, x101,
506                                                       x106);
507     x119 = ((uint64_t)x118 + x102);
508     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x120, &x121, x3, (arg2[3]));
509     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x122, &x123, x3, (arg2[2]));
510     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x124, &x125, x3, (arg2[1]));
511     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x126, &x127, x3, (arg2[0]));
512     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x128, &x129, 0x0, x127,
513                                                       x124);
514     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x130, &x131, x129, x125,
515                                                       x122);
516     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x132, &x133, x131, x123,
517                                                       x120);
518     x134 = (x133 + x121);
519     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x135, &x136, 0x0, x111,
520                                                       x126);
521     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x137, &x138, x136, x113,
522                                                       x128);
523     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x139, &x140, x138, x115,
524                                                       x130);
525     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x141, &x142, x140, x117,
526                                                       x132);
527     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x143, &x144, x142, x119,
528                                                       x134);
529     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x145, &x146, x135,
530                                                  UINT64_C(0xdbf951d5883b2b2f));
531     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x147, &x148, x145,
532                                                  UINT64_C(0x8000000000000000));
533     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x149, &x150, x145,
534                                                  UINT16_C(0x431));
535     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x151, &x152, 0x0, x135,
536                                                       x149);
537     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x153, &x154, x152, x137,
538                                                       x150);
539     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x155, &x156, x154, x139,
540                                                       0x0);
541     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x157, &x158, x156, x141,
542                                                       x147);
543     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x159, &x160, x158, x143,
544                                                       x148);
545     x161 = ((uint64_t)x160 + x144);
546     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x162, &x163, 0x0, x153,
547                                                        UINT16_C(0x431));
548     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x164, &x165, x163, x155,
549                                                        0x0);
550     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x166, &x167, x165, x157,
551                                                        0x0);
552     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(
553         &x168, &x169, x167, x159, UINT64_C(0x8000000000000000));
554     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x170, &x171, x169, x161,
555                                                        0x0);
556     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x172, x171, x162, x153);
557     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x173, x171, x164, x155);
558     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x174, x171, x166, x157);
559     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x175, x171, x168, x159);
560     out1[0] = x172;
561     out1[1] = x173;
562     out1[2] = x174;
563     out1[3] = x175;
564 }
565
566 /*
567  * The function fiat_id_GostR3410_2001_TestParamSet_square squares a field element in the Montgomery domain.
568  * Preconditions:
569  *   0 ≤ eval arg1 < m
570  * Postconditions:
571  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg1)) mod m
572  *   0 ≤ eval out1 < m
573  *
574  * Input Bounds:
575  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
576  * Output Bounds:
577  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
578  */
579 static void fiat_id_GostR3410_2001_TestParamSet_square(uint64_t out1[4],
580                                                        const uint64_t arg1[4]) {
581     uint64_t x1;
582     uint64_t x2;
583     uint64_t x3;
584     uint64_t x4;
585     uint64_t x5;
586     uint64_t x6;
587     uint64_t x7;
588     uint64_t x8;
589     uint64_t x9;
590     uint64_t x10;
591     uint64_t x11;
592     uint64_t x12;
593     uint64_t x13;
594     fiat_id_GostR3410_2001_TestParamSet_uint1 x14;
595     uint64_t x15;
596     fiat_id_GostR3410_2001_TestParamSet_uint1 x16;
597     uint64_t x17;
598     fiat_id_GostR3410_2001_TestParamSet_uint1 x18;
599     uint64_t x19;
600     uint64_t x20;
601     uint64_t x21;
602     uint64_t x22;
603     uint64_t x23;
604     uint64_t x24;
605     uint64_t x25;
606     uint64_t x26;
607     fiat_id_GostR3410_2001_TestParamSet_uint1 x27;
608     uint64_t x28;
609     fiat_id_GostR3410_2001_TestParamSet_uint1 x29;
610     uint64_t x30;
611     fiat_id_GostR3410_2001_TestParamSet_uint1 x31;
612     uint64_t x32;
613     fiat_id_GostR3410_2001_TestParamSet_uint1 x33;
614     uint64_t x34;
615     fiat_id_GostR3410_2001_TestParamSet_uint1 x35;
616     uint64_t x36;
617     uint64_t x37;
618     uint64_t x38;
619     uint64_t x39;
620     uint64_t x40;
621     uint64_t x41;
622     uint64_t x42;
623     uint64_t x43;
624     uint64_t x44;
625     fiat_id_GostR3410_2001_TestParamSet_uint1 x45;
626     uint64_t x46;
627     fiat_id_GostR3410_2001_TestParamSet_uint1 x47;
628     uint64_t x48;
629     fiat_id_GostR3410_2001_TestParamSet_uint1 x49;
630     uint64_t x50;
631     uint64_t x51;
632     fiat_id_GostR3410_2001_TestParamSet_uint1 x52;
633     uint64_t x53;
634     fiat_id_GostR3410_2001_TestParamSet_uint1 x54;
635     uint64_t x55;
636     fiat_id_GostR3410_2001_TestParamSet_uint1 x56;
637     uint64_t x57;
638     fiat_id_GostR3410_2001_TestParamSet_uint1 x58;
639     uint64_t x59;
640     fiat_id_GostR3410_2001_TestParamSet_uint1 x60;
641     uint64_t x61;
642     uint64_t x62;
643     uint64_t x63;
644     uint64_t x64;
645     uint64_t x65;
646     uint64_t x66;
647     uint64_t x67;
648     fiat_id_GostR3410_2001_TestParamSet_uint1 x68;
649     uint64_t x69;
650     fiat_id_GostR3410_2001_TestParamSet_uint1 x70;
651     uint64_t x71;
652     fiat_id_GostR3410_2001_TestParamSet_uint1 x72;
653     uint64_t x73;
654     fiat_id_GostR3410_2001_TestParamSet_uint1 x74;
655     uint64_t x75;
656     fiat_id_GostR3410_2001_TestParamSet_uint1 x76;
657     uint64_t x77;
658     uint64_t x78;
659     uint64_t x79;
660     uint64_t x80;
661     uint64_t x81;
662     uint64_t x82;
663     uint64_t x83;
664     uint64_t x84;
665     uint64_t x85;
666     uint64_t x86;
667     fiat_id_GostR3410_2001_TestParamSet_uint1 x87;
668     uint64_t x88;
669     fiat_id_GostR3410_2001_TestParamSet_uint1 x89;
670     uint64_t x90;
671     fiat_id_GostR3410_2001_TestParamSet_uint1 x91;
672     uint64_t x92;
673     uint64_t x93;
674     fiat_id_GostR3410_2001_TestParamSet_uint1 x94;
675     uint64_t x95;
676     fiat_id_GostR3410_2001_TestParamSet_uint1 x96;
677     uint64_t x97;
678     fiat_id_GostR3410_2001_TestParamSet_uint1 x98;
679     uint64_t x99;
680     fiat_id_GostR3410_2001_TestParamSet_uint1 x100;
681     uint64_t x101;
682     fiat_id_GostR3410_2001_TestParamSet_uint1 x102;
683     uint64_t x103;
684     uint64_t x104;
685     uint64_t x105;
686     uint64_t x106;
687     uint64_t x107;
688     uint64_t x108;
689     uint64_t x109;
690     fiat_id_GostR3410_2001_TestParamSet_uint1 x110;
691     uint64_t x111;
692     fiat_id_GostR3410_2001_TestParamSet_uint1 x112;
693     uint64_t x113;
694     fiat_id_GostR3410_2001_TestParamSet_uint1 x114;
695     uint64_t x115;
696     fiat_id_GostR3410_2001_TestParamSet_uint1 x116;
697     uint64_t x117;
698     fiat_id_GostR3410_2001_TestParamSet_uint1 x118;
699     uint64_t x119;
700     uint64_t x120;
701     uint64_t x121;
702     uint64_t x122;
703     uint64_t x123;
704     uint64_t x124;
705     uint64_t x125;
706     uint64_t x126;
707     uint64_t x127;
708     uint64_t x128;
709     fiat_id_GostR3410_2001_TestParamSet_uint1 x129;
710     uint64_t x130;
711     fiat_id_GostR3410_2001_TestParamSet_uint1 x131;
712     uint64_t x132;
713     fiat_id_GostR3410_2001_TestParamSet_uint1 x133;
714     uint64_t x134;
715     uint64_t x135;
716     fiat_id_GostR3410_2001_TestParamSet_uint1 x136;
717     uint64_t x137;
718     fiat_id_GostR3410_2001_TestParamSet_uint1 x138;
719     uint64_t x139;
720     fiat_id_GostR3410_2001_TestParamSet_uint1 x140;
721     uint64_t x141;
722     fiat_id_GostR3410_2001_TestParamSet_uint1 x142;
723     uint64_t x143;
724     fiat_id_GostR3410_2001_TestParamSet_uint1 x144;
725     uint64_t x145;
726     uint64_t x146;
727     uint64_t x147;
728     uint64_t x148;
729     uint64_t x149;
730     uint64_t x150;
731     uint64_t x151;
732     fiat_id_GostR3410_2001_TestParamSet_uint1 x152;
733     uint64_t x153;
734     fiat_id_GostR3410_2001_TestParamSet_uint1 x154;
735     uint64_t x155;
736     fiat_id_GostR3410_2001_TestParamSet_uint1 x156;
737     uint64_t x157;
738     fiat_id_GostR3410_2001_TestParamSet_uint1 x158;
739     uint64_t x159;
740     fiat_id_GostR3410_2001_TestParamSet_uint1 x160;
741     uint64_t x161;
742     uint64_t x162;
743     fiat_id_GostR3410_2001_TestParamSet_uint1 x163;
744     uint64_t x164;
745     fiat_id_GostR3410_2001_TestParamSet_uint1 x165;
746     uint64_t x166;
747     fiat_id_GostR3410_2001_TestParamSet_uint1 x167;
748     uint64_t x168;
749     fiat_id_GostR3410_2001_TestParamSet_uint1 x169;
750     uint64_t x170;
751     fiat_id_GostR3410_2001_TestParamSet_uint1 x171;
752     uint64_t x172;
753     uint64_t x173;
754     uint64_t x174;
755     uint64_t x175;
756     x1 = (arg1[1]);
757     x2 = (arg1[2]);
758     x3 = (arg1[3]);
759     x4 = (arg1[0]);
760     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x5, &x6, x4, (arg1[3]));
761     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x7, &x8, x4, (arg1[2]));
762     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x9, &x10, x4, (arg1[1]));
763     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x11, &x12, x4, (arg1[0]));
764     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x13, &x14, 0x0, x12, x9);
765     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x15, &x16, x14, x10, x7);
766     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x17, &x18, x16, x8, x5);
767     x19 = (x18 + x6);
768     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x20, &x21, x11,
769                                                  UINT64_C(0xdbf951d5883b2b2f));
770     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x22, &x23, x20,
771                                                  UINT64_C(0x8000000000000000));
772     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x24, &x25, x20,
773                                                  UINT16_C(0x431));
774     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x26, &x27, 0x0, x11,
775                                                       x24);
776     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x28, &x29, x27, x13,
777                                                       x25);
778     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x30, &x31, x29, x15,
779                                                       0x0);
780     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x32, &x33, x31, x17,
781                                                       x22);
782     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x34, &x35, x33, x19,
783                                                       x23);
784     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x36, &x37, x1, (arg1[3]));
785     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x38, &x39, x1, (arg1[2]));
786     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x40, &x41, x1, (arg1[1]));
787     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x42, &x43, x1, (arg1[0]));
788     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x44, &x45, 0x0, x43,
789                                                       x40);
790     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x46, &x47, x45, x41,
791                                                       x38);
792     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x48, &x49, x47, x39,
793                                                       x36);
794     x50 = (x49 + x37);
795     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x51, &x52, 0x0, x28,
796                                                       x42);
797     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x53, &x54, x52, x30,
798                                                       x44);
799     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x55, &x56, x54, x32,
800                                                       x46);
801     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x57, &x58, x56, x34,
802                                                       x48);
803     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x59, &x60, x58, x35,
804                                                       x50);
805     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x61, &x62, x51,
806                                                  UINT64_C(0xdbf951d5883b2b2f));
807     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x63, &x64, x61,
808                                                  UINT64_C(0x8000000000000000));
809     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x65, &x66, x61,
810                                                  UINT16_C(0x431));
811     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x67, &x68, 0x0, x51,
812                                                       x65);
813     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x69, &x70, x68, x53,
814                                                       x66);
815     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x71, &x72, x70, x55,
816                                                       0x0);
817     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x73, &x74, x72, x57,
818                                                       x63);
819     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x75, &x76, x74, x59,
820                                                       x64);
821     x77 = ((uint64_t)x76 + x60);
822     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x78, &x79, x2, (arg1[3]));
823     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x80, &x81, x2, (arg1[2]));
824     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x82, &x83, x2, (arg1[1]));
825     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x84, &x85, x2, (arg1[0]));
826     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x86, &x87, 0x0, x85,
827                                                       x82);
828     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x88, &x89, x87, x83,
829                                                       x80);
830     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x90, &x91, x89, x81,
831                                                       x78);
832     x92 = (x91 + x79);
833     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x93, &x94, 0x0, x69,
834                                                       x84);
835     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x95, &x96, x94, x71,
836                                                       x86);
837     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x97, &x98, x96, x73,
838                                                       x88);
839     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x99, &x100, x98, x75,
840                                                       x90);
841     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x101, &x102, x100, x77,
842                                                       x92);
843     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x103, &x104, x93,
844                                                  UINT64_C(0xdbf951d5883b2b2f));
845     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x105, &x106, x103,
846                                                  UINT64_C(0x8000000000000000));
847     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x107, &x108, x103,
848                                                  UINT16_C(0x431));
849     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x109, &x110, 0x0, x93,
850                                                       x107);
851     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x111, &x112, x110, x95,
852                                                       x108);
853     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x113, &x114, x112, x97,
854                                                       0x0);
855     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x115, &x116, x114, x99,
856                                                       x105);
857     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x117, &x118, x116, x101,
858                                                       x106);
859     x119 = ((uint64_t)x118 + x102);
860     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x120, &x121, x3, (arg1[3]));
861     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x122, &x123, x3, (arg1[2]));
862     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x124, &x125, x3, (arg1[1]));
863     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x126, &x127, x3, (arg1[0]));
864     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x128, &x129, 0x0, x127,
865                                                       x124);
866     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x130, &x131, x129, x125,
867                                                       x122);
868     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x132, &x133, x131, x123,
869                                                       x120);
870     x134 = (x133 + x121);
871     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x135, &x136, 0x0, x111,
872                                                       x126);
873     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x137, &x138, x136, x113,
874                                                       x128);
875     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x139, &x140, x138, x115,
876                                                       x130);
877     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x141, &x142, x140, x117,
878                                                       x132);
879     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x143, &x144, x142, x119,
880                                                       x134);
881     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x145, &x146, x135,
882                                                  UINT64_C(0xdbf951d5883b2b2f));
883     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x147, &x148, x145,
884                                                  UINT64_C(0x8000000000000000));
885     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x149, &x150, x145,
886                                                  UINT16_C(0x431));
887     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x151, &x152, 0x0, x135,
888                                                       x149);
889     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x153, &x154, x152, x137,
890                                                       x150);
891     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x155, &x156, x154, x139,
892                                                       0x0);
893     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x157, &x158, x156, x141,
894                                                       x147);
895     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x159, &x160, x158, x143,
896                                                       x148);
897     x161 = ((uint64_t)x160 + x144);
898     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x162, &x163, 0x0, x153,
899                                                        UINT16_C(0x431));
900     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x164, &x165, x163, x155,
901                                                        0x0);
902     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x166, &x167, x165, x157,
903                                                        0x0);
904     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(
905         &x168, &x169, x167, x159, UINT64_C(0x8000000000000000));
906     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x170, &x171, x169, x161,
907                                                        0x0);
908     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x172, x171, x162, x153);
909     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x173, x171, x164, x155);
910     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x174, x171, x166, x157);
911     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x175, x171, x168, x159);
912     out1[0] = x172;
913     out1[1] = x173;
914     out1[2] = x174;
915     out1[3] = x175;
916 }
917
918 /*
919  * The function fiat_id_GostR3410_2001_TestParamSet_add adds two field elements in the Montgomery domain.
920  * Preconditions:
921  *   0 ≤ eval arg1 < m
922  *   0 ≤ eval arg2 < m
923  * Postconditions:
924  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) + eval (from_montgomery arg2)) mod m
925  *   0 ≤ eval out1 < m
926  *
927  * Input Bounds:
928  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
929  *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
930  * Output Bounds:
931  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
932  */
933 static void fiat_id_GostR3410_2001_TestParamSet_add(uint64_t out1[4],
934                                                     const uint64_t arg1[4],
935                                                     const uint64_t arg2[4]) {
936     uint64_t x1;
937     fiat_id_GostR3410_2001_TestParamSet_uint1 x2;
938     uint64_t x3;
939     fiat_id_GostR3410_2001_TestParamSet_uint1 x4;
940     uint64_t x5;
941     fiat_id_GostR3410_2001_TestParamSet_uint1 x6;
942     uint64_t x7;
943     fiat_id_GostR3410_2001_TestParamSet_uint1 x8;
944     uint64_t x9;
945     fiat_id_GostR3410_2001_TestParamSet_uint1 x10;
946     uint64_t x11;
947     fiat_id_GostR3410_2001_TestParamSet_uint1 x12;
948     uint64_t x13;
949     fiat_id_GostR3410_2001_TestParamSet_uint1 x14;
950     uint64_t x15;
951     fiat_id_GostR3410_2001_TestParamSet_uint1 x16;
952     uint64_t x17;
953     fiat_id_GostR3410_2001_TestParamSet_uint1 x18;
954     uint64_t x19;
955     uint64_t x20;
956     uint64_t x21;
957     uint64_t x22;
958     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x1, &x2, 0x0, (arg1[0]),
959                                                       (arg2[0]));
960     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x3, &x4, x2, (arg1[1]),
961                                                       (arg2[1]));
962     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x5, &x6, x4, (arg1[2]),
963                                                       (arg2[2]));
964     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x7, &x8, x6, (arg1[3]),
965                                                       (arg2[3]));
966     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x9, &x10, 0x0, x1,
967                                                        UINT16_C(0x431));
968     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x11, &x12, x10, x3,
969                                                        0x0);
970     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x13, &x14, x12, x5,
971                                                        0x0);
972     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(
973         &x15, &x16, x14, x7, UINT64_C(0x8000000000000000));
974     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x17, &x18, x16, x8,
975                                                        0x0);
976     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x19, x18, x9, x1);
977     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x20, x18, x11, x3);
978     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x21, x18, x13, x5);
979     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x22, x18, x15, x7);
980     out1[0] = x19;
981     out1[1] = x20;
982     out1[2] = x21;
983     out1[3] = x22;
984 }
985
986 /*
987  * The function fiat_id_GostR3410_2001_TestParamSet_sub subtracts two field elements in the Montgomery domain.
988  * Preconditions:
989  *   0 ≤ eval arg1 < m
990  *   0 ≤ eval arg2 < m
991  * Postconditions:
992  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) - eval (from_montgomery arg2)) mod m
993  *   0 ≤ eval out1 < m
994  *
995  * Input Bounds:
996  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
997  *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
998  * Output Bounds:
999  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1000  */
1001 static void fiat_id_GostR3410_2001_TestParamSet_sub(uint64_t out1[4],
1002                                                     const uint64_t arg1[4],
1003                                                     const uint64_t arg2[4]) {
1004     uint64_t x1;
1005     fiat_id_GostR3410_2001_TestParamSet_uint1 x2;
1006     uint64_t x3;
1007     fiat_id_GostR3410_2001_TestParamSet_uint1 x4;
1008     uint64_t x5;
1009     fiat_id_GostR3410_2001_TestParamSet_uint1 x6;
1010     uint64_t x7;
1011     fiat_id_GostR3410_2001_TestParamSet_uint1 x8;
1012     uint64_t x9;
1013     uint64_t x10;
1014     fiat_id_GostR3410_2001_TestParamSet_uint1 x11;
1015     uint64_t x12;
1016     fiat_id_GostR3410_2001_TestParamSet_uint1 x13;
1017     uint64_t x14;
1018     fiat_id_GostR3410_2001_TestParamSet_uint1 x15;
1019     uint64_t x16;
1020     fiat_id_GostR3410_2001_TestParamSet_uint1 x17;
1021     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x1, &x2, 0x0, (arg1[0]),
1022                                                        (arg2[0]));
1023     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x3, &x4, x2, (arg1[1]),
1024                                                        (arg2[1]));
1025     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x5, &x6, x4, (arg1[2]),
1026                                                        (arg2[2]));
1027     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x7, &x8, x6, (arg1[3]),
1028                                                        (arg2[3]));
1029     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(
1030         &x9, x8, 0x0, UINT64_C(0xffffffffffffffff));
1031     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x10, &x11, 0x0, x1,
1032                                                       (x9 & UINT16_C(0x431)));
1033     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x12, &x13, x11, x3, 0x0);
1034     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x14, &x15, x13, x5, 0x0);
1035     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(
1036         &x16, &x17, x15, x7, (x9 & UINT64_C(0x8000000000000000)));
1037     out1[0] = x10;
1038     out1[1] = x12;
1039     out1[2] = x14;
1040     out1[3] = x16;
1041 }
1042
1043 /*
1044  * The function fiat_id_GostR3410_2001_TestParamSet_opp negates a field element in the Montgomery domain.
1045  * Preconditions:
1046  *   0 ≤ eval arg1 < m
1047  * Postconditions:
1048  *   eval (from_montgomery out1) mod m = -eval (from_montgomery arg1) mod m
1049  *   0 ≤ eval out1 < m
1050  *
1051  * Input Bounds:
1052  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1053  * Output Bounds:
1054  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1055  */
1056 static void fiat_id_GostR3410_2001_TestParamSet_opp(uint64_t out1[4],
1057                                                     const uint64_t arg1[4]) {
1058     uint64_t x1;
1059     fiat_id_GostR3410_2001_TestParamSet_uint1 x2;
1060     uint64_t x3;
1061     fiat_id_GostR3410_2001_TestParamSet_uint1 x4;
1062     uint64_t x5;
1063     fiat_id_GostR3410_2001_TestParamSet_uint1 x6;
1064     uint64_t x7;
1065     fiat_id_GostR3410_2001_TestParamSet_uint1 x8;
1066     uint64_t x9;
1067     uint64_t x10;
1068     fiat_id_GostR3410_2001_TestParamSet_uint1 x11;
1069     uint64_t x12;
1070     fiat_id_GostR3410_2001_TestParamSet_uint1 x13;
1071     uint64_t x14;
1072     fiat_id_GostR3410_2001_TestParamSet_uint1 x15;
1073     uint64_t x16;
1074     fiat_id_GostR3410_2001_TestParamSet_uint1 x17;
1075     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x1, &x2, 0x0, 0x0,
1076                                                        (arg1[0]));
1077     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x3, &x4, x2, 0x0,
1078                                                        (arg1[1]));
1079     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x5, &x6, x4, 0x0,
1080                                                        (arg1[2]));
1081     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x7, &x8, x6, 0x0,
1082                                                        (arg1[3]));
1083     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(
1084         &x9, x8, 0x0, UINT64_C(0xffffffffffffffff));
1085     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x10, &x11, 0x0, x1,
1086                                                       (x9 & UINT16_C(0x431)));
1087     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x12, &x13, x11, x3, 0x0);
1088     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x14, &x15, x13, x5, 0x0);
1089     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(
1090         &x16, &x17, x15, x7, (x9 & UINT64_C(0x8000000000000000)));
1091     out1[0] = x10;
1092     out1[1] = x12;
1093     out1[2] = x14;
1094     out1[3] = x16;
1095 }
1096
1097 /*
1098  * The function fiat_id_GostR3410_2001_TestParamSet_from_montgomery translates a field element out of the Montgomery domain.
1099  * Preconditions:
1100  *   0 ≤ eval arg1 < m
1101  * Postconditions:
1102  *   eval out1 mod m = (eval arg1 * ((2^64)⁻¹ mod m)^4) mod m
1103  *   0 ≤ eval out1 < m
1104  *
1105  * Input Bounds:
1106  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1107  * Output Bounds:
1108  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1109  */
1110 static void fiat_id_GostR3410_2001_TestParamSet_from_montgomery(
1111     uint64_t out1[4], const uint64_t arg1[4]) {
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     fiat_id_GostR3410_2001_TestParamSet_uint1 x9;
1121     uint64_t x10;
1122     fiat_id_GostR3410_2001_TestParamSet_uint1 x11;
1123     uint64_t x12;
1124     uint64_t x13;
1125     uint64_t x14;
1126     uint64_t x15;
1127     uint64_t x16;
1128     uint64_t x17;
1129     uint64_t x18;
1130     fiat_id_GostR3410_2001_TestParamSet_uint1 x19;
1131     uint64_t x20;
1132     fiat_id_GostR3410_2001_TestParamSet_uint1 x21;
1133     uint64_t x22;
1134     fiat_id_GostR3410_2001_TestParamSet_uint1 x23;
1135     uint64_t x24;
1136     fiat_id_GostR3410_2001_TestParamSet_uint1 x25;
1137     uint64_t x26;
1138     fiat_id_GostR3410_2001_TestParamSet_uint1 x27;
1139     uint64_t x28;
1140     uint64_t x29;
1141     uint64_t x30;
1142     uint64_t x31;
1143     uint64_t x32;
1144     uint64_t x33;
1145     uint64_t x34;
1146     fiat_id_GostR3410_2001_TestParamSet_uint1 x35;
1147     uint64_t x36;
1148     fiat_id_GostR3410_2001_TestParamSet_uint1 x37;
1149     uint64_t x38;
1150     fiat_id_GostR3410_2001_TestParamSet_uint1 x39;
1151     uint64_t x40;
1152     fiat_id_GostR3410_2001_TestParamSet_uint1 x41;
1153     uint64_t x42;
1154     fiat_id_GostR3410_2001_TestParamSet_uint1 x43;
1155     uint64_t x44;
1156     fiat_id_GostR3410_2001_TestParamSet_uint1 x45;
1157     uint64_t x46;
1158     fiat_id_GostR3410_2001_TestParamSet_uint1 x47;
1159     uint64_t x48;
1160     uint64_t x49;
1161     uint64_t x50;
1162     uint64_t x51;
1163     uint64_t x52;
1164     uint64_t x53;
1165     uint64_t x54;
1166     fiat_id_GostR3410_2001_TestParamSet_uint1 x55;
1167     uint64_t x56;
1168     fiat_id_GostR3410_2001_TestParamSet_uint1 x57;
1169     uint64_t x58;
1170     fiat_id_GostR3410_2001_TestParamSet_uint1 x59;
1171     uint64_t x60;
1172     fiat_id_GostR3410_2001_TestParamSet_uint1 x61;
1173     uint64_t x62;
1174     uint64_t x63;
1175     fiat_id_GostR3410_2001_TestParamSet_uint1 x64;
1176     uint64_t x65;
1177     fiat_id_GostR3410_2001_TestParamSet_uint1 x66;
1178     uint64_t x67;
1179     fiat_id_GostR3410_2001_TestParamSet_uint1 x68;
1180     uint64_t x69;
1181     fiat_id_GostR3410_2001_TestParamSet_uint1 x70;
1182     uint64_t x71;
1183     fiat_id_GostR3410_2001_TestParamSet_uint1 x72;
1184     uint64_t x73;
1185     uint64_t x74;
1186     uint64_t x75;
1187     uint64_t x76;
1188     x1 = (arg1[0]);
1189     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x2, &x3, x1,
1190                                                  UINT64_C(0xdbf951d5883b2b2f));
1191     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x4, &x5, x2,
1192                                                  UINT64_C(0x8000000000000000));
1193     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x6, &x7, x2, UINT16_C(0x431));
1194     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x8, &x9, 0x0, x1, x6);
1195     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x10, &x11, 0x0,
1196                                                       (x9 + x7), (arg1[1]));
1197     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x12, &x13, x10,
1198                                                  UINT64_C(0xdbf951d5883b2b2f));
1199     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x14, &x15, x12,
1200                                                  UINT64_C(0x8000000000000000));
1201     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x16, &x17, x12,
1202                                                  UINT16_C(0x431));
1203     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x18, &x19, 0x0, x5, x14);
1204     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x20, &x21, 0x0, x10,
1205                                                       x16);
1206     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(
1207         &x22, &x23, 0x0, (((uint64_t)x21 + x11) + x17), (arg1[2]));
1208     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x24, &x25, x23, x4, 0x0);
1209     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x26, &x27, x25, x18,
1210                                                       0x0);
1211     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x28, &x29, x22,
1212                                                  UINT64_C(0xdbf951d5883b2b2f));
1213     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x30, &x31, x28,
1214                                                  UINT64_C(0x8000000000000000));
1215     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x32, &x33, x28,
1216                                                  UINT16_C(0x431));
1217     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x34, &x35, 0x0, x22,
1218                                                       x32);
1219     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x36, &x37, x35, x24,
1220                                                       x33);
1221     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x38, &x39, x37, x26,
1222                                                       0x0);
1223     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x40, &x41, x39,
1224                                                       (x27 + (x19 + x15)), x30);
1225     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x42, &x43, 0x0, x36,
1226                                                       (arg1[3]));
1227     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x44, &x45, x43, x38,
1228                                                       0x0);
1229     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x46, &x47, x45, x40,
1230                                                       0x0);
1231     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x48, &x49, x42,
1232                                                  UINT64_C(0xdbf951d5883b2b2f));
1233     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x50, &x51, x48,
1234                                                  UINT64_C(0x8000000000000000));
1235     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x52, &x53, x48,
1236                                                  UINT16_C(0x431));
1237     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x54, &x55, 0x0, x42,
1238                                                       x52);
1239     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x56, &x57, x55, x44,
1240                                                       x53);
1241     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x58, &x59, x57, x46,
1242                                                       0x0);
1243     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x60, &x61, x59,
1244                                                       (x47 + (x41 + x31)), x50);
1245     x62 = (x61 + x51);
1246     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x63, &x64, 0x0, x56,
1247                                                        UINT16_C(0x431));
1248     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x65, &x66, x64, x58,
1249                                                        0x0);
1250     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x67, &x68, x66, x60,
1251                                                        0x0);
1252     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(
1253         &x69, &x70, x68, x62, UINT64_C(0x8000000000000000));
1254     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x71, &x72, x70, 0x0,
1255                                                        0x0);
1256     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x73, x72, x63, x56);
1257     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x74, x72, x65, x58);
1258     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x75, x72, x67, x60);
1259     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x76, x72, x69, x62);
1260     out1[0] = x73;
1261     out1[1] = x74;
1262     out1[2] = x75;
1263     out1[3] = x76;
1264 }
1265
1266 /*
1267  * The function fiat_id_GostR3410_2001_TestParamSet_to_montgomery translates a field element into the Montgomery domain.
1268  * Preconditions:
1269  *   0 ≤ eval arg1 < m
1270  * Postconditions:
1271  *   eval (from_montgomery out1) mod m = eval arg1 mod m
1272  *   0 ≤ eval out1 < m
1273  *
1274  * Input Bounds:
1275  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1276  * Output Bounds:
1277  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1278  */
1279 static void fiat_id_GostR3410_2001_TestParamSet_to_montgomery(
1280     uint64_t out1[4], const uint64_t arg1[4]) {
1281     uint64_t x1;
1282     uint64_t x2;
1283     uint64_t x3;
1284     uint64_t x4;
1285     uint64_t x5;
1286     uint64_t x6;
1287     uint64_t x7;
1288     uint64_t x8;
1289     uint64_t x9;
1290     uint64_t x10;
1291     uint64_t x11;
1292     fiat_id_GostR3410_2001_TestParamSet_uint1 x12;
1293     uint64_t x13;
1294     fiat_id_GostR3410_2001_TestParamSet_uint1 x14;
1295     uint64_t x15;
1296     uint64_t x16;
1297     uint64_t x17;
1298     uint64_t x18;
1299     uint64_t x19;
1300     uint64_t x20;
1301     uint64_t x21;
1302     fiat_id_GostR3410_2001_TestParamSet_uint1 x22;
1303     uint64_t x23;
1304     uint64_t x24;
1305     uint64_t x25;
1306     fiat_id_GostR3410_2001_TestParamSet_uint1 x26;
1307     uint64_t x27;
1308     fiat_id_GostR3410_2001_TestParamSet_uint1 x28;
1309     uint64_t x29;
1310     fiat_id_GostR3410_2001_TestParamSet_uint1 x30;
1311     uint64_t x31;
1312     fiat_id_GostR3410_2001_TestParamSet_uint1 x32;
1313     uint64_t x33;
1314     uint64_t x34;
1315     uint64_t x35;
1316     uint64_t x36;
1317     uint64_t x37;
1318     uint64_t x38;
1319     uint64_t x39;
1320     fiat_id_GostR3410_2001_TestParamSet_uint1 x40;
1321     uint64_t x41;
1322     fiat_id_GostR3410_2001_TestParamSet_uint1 x42;
1323     uint64_t x43;
1324     fiat_id_GostR3410_2001_TestParamSet_uint1 x44;
1325     uint64_t x45;
1326     fiat_id_GostR3410_2001_TestParamSet_uint1 x46;
1327     uint64_t x47;
1328     uint64_t x48;
1329     uint64_t x49;
1330     fiat_id_GostR3410_2001_TestParamSet_uint1 x50;
1331     uint64_t x51;
1332     fiat_id_GostR3410_2001_TestParamSet_uint1 x52;
1333     uint64_t x53;
1334     fiat_id_GostR3410_2001_TestParamSet_uint1 x54;
1335     uint64_t x55;
1336     uint64_t x56;
1337     uint64_t x57;
1338     uint64_t x58;
1339     uint64_t x59;
1340     uint64_t x60;
1341     uint64_t x61;
1342     fiat_id_GostR3410_2001_TestParamSet_uint1 x62;
1343     uint64_t x63;
1344     fiat_id_GostR3410_2001_TestParamSet_uint1 x64;
1345     uint64_t x65;
1346     fiat_id_GostR3410_2001_TestParamSet_uint1 x66;
1347     uint64_t x67;
1348     fiat_id_GostR3410_2001_TestParamSet_uint1 x68;
1349     uint64_t x69;
1350     uint64_t x70;
1351     fiat_id_GostR3410_2001_TestParamSet_uint1 x71;
1352     uint64_t x72;
1353     fiat_id_GostR3410_2001_TestParamSet_uint1 x73;
1354     uint64_t x74;
1355     fiat_id_GostR3410_2001_TestParamSet_uint1 x75;
1356     uint64_t x76;
1357     fiat_id_GostR3410_2001_TestParamSet_uint1 x77;
1358     uint64_t x78;
1359     fiat_id_GostR3410_2001_TestParamSet_uint1 x79;
1360     uint64_t x80;
1361     uint64_t x81;
1362     uint64_t x82;
1363     uint64_t x83;
1364     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x1, &x2, (arg1[0]),
1365                                                  UINT32_C(0x464584));
1366     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x3, &x4, x1,
1367                                                  UINT64_C(0xdbf951d5883b2b2f));
1368     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x5, &x6, x3,
1369                                                  UINT64_C(0x8000000000000000));
1370     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x7, &x8, x3, UINT16_C(0x431));
1371     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x9, &x10, (arg1[1]),
1372                                                  UINT32_C(0x464584));
1373     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x11, &x12, 0x0, x1, x7);
1374     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x13, &x14, 0x0,
1375                                                       ((x12 + x2) + x8), x9);
1376     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x15, &x16, x13,
1377                                                  UINT64_C(0xdbf951d5883b2b2f));
1378     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x17, &x18, x15,
1379                                                  UINT64_C(0x8000000000000000));
1380     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x19, &x20, x15,
1381                                                  UINT16_C(0x431));
1382     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x21, &x22, 0x0, x6, x17);
1383     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x23, &x24, (arg1[2]),
1384                                                  UINT32_C(0x464584));
1385     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x25, &x26, 0x0, x13,
1386                                                       x19);
1387     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(
1388         &x27, &x28, 0x0, ((x26 + (x14 + x10)) + x20), x23);
1389     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x29, &x30, x28, x5, x24);
1390     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x31, &x32, x30, x21,
1391                                                       0x0);
1392     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x33, &x34, x27,
1393                                                  UINT64_C(0xdbf951d5883b2b2f));
1394     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x35, &x36, x33,
1395                                                  UINT64_C(0x8000000000000000));
1396     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x37, &x38, x33,
1397                                                  UINT16_C(0x431));
1398     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x39, &x40, 0x0, x27,
1399                                                       x37);
1400     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x41, &x42, x40, x29,
1401                                                       x38);
1402     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x43, &x44, x42, x31,
1403                                                       0x0);
1404     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x45, &x46, x44,
1405                                                       (x32 + (x22 + x18)), x35);
1406     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x47, &x48, (arg1[3]),
1407                                                  UINT32_C(0x464584));
1408     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x49, &x50, 0x0, x41,
1409                                                       x47);
1410     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x51, &x52, x50, x43,
1411                                                       x48);
1412     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x53, &x54, x52, x45,
1413                                                       0x0);
1414     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x55, &x56, x49,
1415                                                  UINT64_C(0xdbf951d5883b2b2f));
1416     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x57, &x58, x55,
1417                                                  UINT64_C(0x8000000000000000));
1418     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x59, &x60, x55,
1419                                                  UINT16_C(0x431));
1420     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x61, &x62, 0x0, x49,
1421                                                       x59);
1422     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x63, &x64, x62, x51,
1423                                                       x60);
1424     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x65, &x66, x64, x53,
1425                                                       0x0);
1426     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x67, &x68, x66,
1427                                                       (x54 + (x46 + x36)), x57);
1428     x69 = (x68 + x58);
1429     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x70, &x71, 0x0, x63,
1430                                                        UINT16_C(0x431));
1431     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x72, &x73, x71, x65,
1432                                                        0x0);
1433     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x74, &x75, x73, x67,
1434                                                        0x0);
1435     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(
1436         &x76, &x77, x75, x69, UINT64_C(0x8000000000000000));
1437     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x78, &x79, x77, 0x0,
1438                                                        0x0);
1439     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x80, x79, x70, x63);
1440     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x81, x79, x72, x65);
1441     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x82, x79, x74, x67);
1442     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x83, x79, x76, x69);
1443     out1[0] = x80;
1444     out1[1] = x81;
1445     out1[2] = x82;
1446     out1[3] = x83;
1447 }
1448
1449 /*
1450  * The function fiat_id_GostR3410_2001_TestParamSet_nonzero outputs a single non-zero word if the input is non-zero and zero otherwise.
1451  * Preconditions:
1452  *   0 ≤ eval arg1 < m
1453  * Postconditions:
1454  *   out1 = 0 ↔ eval (from_montgomery arg1) mod m = 0
1455  *
1456  * Input Bounds:
1457  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1458  * Output Bounds:
1459  *   out1: [0x0 ~> 0xffffffffffffffff]
1460  */
1461 static void fiat_id_GostR3410_2001_TestParamSet_nonzero(
1462     uint64_t *out1, const uint64_t arg1[4]) {
1463     uint64_t x1;
1464     x1 = ((arg1[0]) | ((arg1[1]) | ((arg1[2]) | ((arg1[3]) | (uint64_t)0x0))));
1465     *out1 = x1;
1466 }
1467
1468 /*
1469  * The function fiat_id_GostR3410_2001_TestParamSet_selectznz is a multi-limb conditional select.
1470  * Postconditions:
1471  *   eval out1 = (if arg1 = 0 then eval arg2 else eval arg3)
1472  *
1473  * Input Bounds:
1474  *   arg1: [0x0 ~> 0x1]
1475  *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1476  *   arg3: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1477  * Output Bounds:
1478  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1479  */
1480 static void fiat_id_GostR3410_2001_TestParamSet_selectznz(
1481     uint64_t out1[4], fiat_id_GostR3410_2001_TestParamSet_uint1 arg1,
1482     const uint64_t arg2[4], const uint64_t arg3[4]) {
1483     uint64_t x1;
1484     uint64_t x2;
1485     uint64_t x3;
1486     uint64_t x4;
1487     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x1, arg1, (arg2[0]),
1488                                                     (arg3[0]));
1489     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x2, arg1, (arg2[1]),
1490                                                     (arg3[1]));
1491     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x3, arg1, (arg2[2]),
1492                                                     (arg3[2]));
1493     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x4, arg1, (arg2[3]),
1494                                                     (arg3[3]));
1495     out1[0] = x1;
1496     out1[1] = x2;
1497     out1[2] = x3;
1498     out1[3] = x4;
1499 }
1500
1501 /*
1502  * The function fiat_id_GostR3410_2001_TestParamSet_to_bytes serializes a field element in the Montgomery domain to bytes in little-endian order.
1503  * Preconditions:
1504  *   0 ≤ eval arg1 < m
1505  * Postconditions:
1506  *   out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..31]
1507  *
1508  * Input Bounds:
1509  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1510  * Output Bounds:
1511  *   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]]
1512  */
1513 static void fiat_id_GostR3410_2001_TestParamSet_to_bytes(
1514     uint8_t out1[32], const uint64_t arg1[4]) {
1515     uint64_t x1;
1516     uint64_t x2;
1517     uint64_t x3;
1518     uint64_t x4;
1519     uint64_t x5;
1520     uint8_t x6;
1521     uint64_t x7;
1522     uint8_t x8;
1523     uint64_t x9;
1524     uint8_t x10;
1525     uint64_t x11;
1526     uint8_t x12;
1527     uint64_t x13;
1528     uint8_t x14;
1529     uint64_t x15;
1530     uint8_t x16;
1531     uint8_t x17;
1532     uint8_t x18;
1533     uint8_t x19;
1534     uint64_t x20;
1535     uint8_t x21;
1536     uint64_t x22;
1537     uint8_t x23;
1538     uint64_t x24;
1539     uint8_t x25;
1540     uint64_t x26;
1541     uint8_t x27;
1542     uint64_t x28;
1543     uint8_t x29;
1544     uint64_t x30;
1545     uint8_t x31;
1546     uint8_t x32;
1547     uint8_t x33;
1548     uint8_t x34;
1549     uint64_t x35;
1550     uint8_t x36;
1551     uint64_t x37;
1552     uint8_t x38;
1553     uint64_t x39;
1554     uint8_t x40;
1555     uint64_t x41;
1556     uint8_t x42;
1557     uint64_t x43;
1558     uint8_t x44;
1559     uint64_t x45;
1560     uint8_t x46;
1561     uint8_t x47;
1562     uint8_t x48;
1563     uint8_t x49;
1564     uint64_t x50;
1565     uint8_t x51;
1566     uint64_t x52;
1567     uint8_t x53;
1568     uint64_t x54;
1569     uint8_t x55;
1570     uint64_t x56;
1571     uint8_t x57;
1572     uint64_t x58;
1573     uint8_t x59;
1574     uint64_t x60;
1575     uint8_t x61;
1576     uint8_t x62;
1577     uint8_t x63;
1578     x1 = (arg1[3]);
1579     x2 = (arg1[2]);
1580     x3 = (arg1[1]);
1581     x4 = (arg1[0]);
1582     x5 = (x4 >> 8);
1583     x6 = (uint8_t)(x4 & UINT8_C(0xff));
1584     x7 = (x5 >> 8);
1585     x8 = (uint8_t)(x5 & UINT8_C(0xff));
1586     x9 = (x7 >> 8);
1587     x10 = (uint8_t)(x7 & UINT8_C(0xff));
1588     x11 = (x9 >> 8);
1589     x12 = (uint8_t)(x9 & UINT8_C(0xff));
1590     x13 = (x11 >> 8);
1591     x14 = (uint8_t)(x11 & UINT8_C(0xff));
1592     x15 = (x13 >> 8);
1593     x16 = (uint8_t)(x13 & UINT8_C(0xff));
1594     x17 = (uint8_t)(x15 >> 8);
1595     x18 = (uint8_t)(x15 & UINT8_C(0xff));
1596     x19 = (uint8_t)(x17 & UINT8_C(0xff));
1597     x20 = (x3 >> 8);
1598     x21 = (uint8_t)(x3 & UINT8_C(0xff));
1599     x22 = (x20 >> 8);
1600     x23 = (uint8_t)(x20 & UINT8_C(0xff));
1601     x24 = (x22 >> 8);
1602     x25 = (uint8_t)(x22 & UINT8_C(0xff));
1603     x26 = (x24 >> 8);
1604     x27 = (uint8_t)(x24 & UINT8_C(0xff));
1605     x28 = (x26 >> 8);
1606     x29 = (uint8_t)(x26 & UINT8_C(0xff));
1607     x30 = (x28 >> 8);
1608     x31 = (uint8_t)(x28 & UINT8_C(0xff));
1609     x32 = (uint8_t)(x30 >> 8);
1610     x33 = (uint8_t)(x30 & UINT8_C(0xff));
1611     x34 = (uint8_t)(x32 & UINT8_C(0xff));
1612     x35 = (x2 >> 8);
1613     x36 = (uint8_t)(x2 & UINT8_C(0xff));
1614     x37 = (x35 >> 8);
1615     x38 = (uint8_t)(x35 & UINT8_C(0xff));
1616     x39 = (x37 >> 8);
1617     x40 = (uint8_t)(x37 & UINT8_C(0xff));
1618     x41 = (x39 >> 8);
1619     x42 = (uint8_t)(x39 & UINT8_C(0xff));
1620     x43 = (x41 >> 8);
1621     x44 = (uint8_t)(x41 & UINT8_C(0xff));
1622     x45 = (x43 >> 8);
1623     x46 = (uint8_t)(x43 & UINT8_C(0xff));
1624     x47 = (uint8_t)(x45 >> 8);
1625     x48 = (uint8_t)(x45 & UINT8_C(0xff));
1626     x49 = (uint8_t)(x47 & UINT8_C(0xff));
1627     x50 = (x1 >> 8);
1628     x51 = (uint8_t)(x1 & UINT8_C(0xff));
1629     x52 = (x50 >> 8);
1630     x53 = (uint8_t)(x50 & UINT8_C(0xff));
1631     x54 = (x52 >> 8);
1632     x55 = (uint8_t)(x52 & UINT8_C(0xff));
1633     x56 = (x54 >> 8);
1634     x57 = (uint8_t)(x54 & UINT8_C(0xff));
1635     x58 = (x56 >> 8);
1636     x59 = (uint8_t)(x56 & UINT8_C(0xff));
1637     x60 = (x58 >> 8);
1638     x61 = (uint8_t)(x58 & UINT8_C(0xff));
1639     x62 = (uint8_t)(x60 >> 8);
1640     x63 = (uint8_t)(x60 & UINT8_C(0xff));
1641     out1[0] = x6;
1642     out1[1] = x8;
1643     out1[2] = x10;
1644     out1[3] = x12;
1645     out1[4] = x14;
1646     out1[5] = x16;
1647     out1[6] = x18;
1648     out1[7] = x19;
1649     out1[8] = x21;
1650     out1[9] = x23;
1651     out1[10] = x25;
1652     out1[11] = x27;
1653     out1[12] = x29;
1654     out1[13] = x31;
1655     out1[14] = x33;
1656     out1[15] = x34;
1657     out1[16] = x36;
1658     out1[17] = x38;
1659     out1[18] = x40;
1660     out1[19] = x42;
1661     out1[20] = x44;
1662     out1[21] = x46;
1663     out1[22] = x48;
1664     out1[23] = x49;
1665     out1[24] = x51;
1666     out1[25] = x53;
1667     out1[26] = x55;
1668     out1[27] = x57;
1669     out1[28] = x59;
1670     out1[29] = x61;
1671     out1[30] = x63;
1672     out1[31] = x62;
1673 }
1674
1675 /*
1676  * The function fiat_id_GostR3410_2001_TestParamSet_from_bytes deserializes a field element in the Montgomery domain from bytes in little-endian order.
1677  * Preconditions:
1678  *   0 ≤ bytes_eval arg1 < m
1679  * Postconditions:
1680  *   eval out1 mod m = bytes_eval arg1 mod m
1681  *   0 ≤ eval out1 < m
1682  *
1683  * Input Bounds:
1684  *   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]]
1685  * Output Bounds:
1686  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1687  */
1688 static void fiat_id_GostR3410_2001_TestParamSet_from_bytes(
1689     uint64_t out1[4], const uint8_t arg1[32]) {
1690     uint64_t x1;
1691     uint64_t x2;
1692     uint64_t x3;
1693     uint64_t x4;
1694     uint64_t x5;
1695     uint64_t x6;
1696     uint64_t x7;
1697     uint8_t x8;
1698     uint64_t x9;
1699     uint64_t x10;
1700     uint64_t x11;
1701     uint64_t x12;
1702     uint64_t x13;
1703     uint64_t x14;
1704     uint64_t x15;
1705     uint8_t x16;
1706     uint64_t x17;
1707     uint64_t x18;
1708     uint64_t x19;
1709     uint64_t x20;
1710     uint64_t x21;
1711     uint64_t x22;
1712     uint64_t x23;
1713     uint8_t x24;
1714     uint64_t x25;
1715     uint64_t x26;
1716     uint64_t x27;
1717     uint64_t x28;
1718     uint64_t x29;
1719     uint64_t x30;
1720     uint64_t x31;
1721     uint8_t x32;
1722     uint64_t x33;
1723     uint64_t x34;
1724     uint64_t x35;
1725     uint64_t x36;
1726     uint64_t x37;
1727     uint64_t x38;
1728     uint64_t x39;
1729     x1 = ((uint64_t)(arg1[31]) << 56);
1730     x2 = ((uint64_t)(arg1[30]) << 48);
1731     x3 = ((uint64_t)(arg1[29]) << 40);
1732     x4 = ((uint64_t)(arg1[28]) << 32);
1733     x5 = ((uint64_t)(arg1[27]) << 24);
1734     x6 = ((uint64_t)(arg1[26]) << 16);
1735     x7 = ((uint64_t)(arg1[25]) << 8);
1736     x8 = (arg1[24]);
1737     x9 = ((uint64_t)(arg1[23]) << 56);
1738     x10 = ((uint64_t)(arg1[22]) << 48);
1739     x11 = ((uint64_t)(arg1[21]) << 40);
1740     x12 = ((uint64_t)(arg1[20]) << 32);
1741     x13 = ((uint64_t)(arg1[19]) << 24);
1742     x14 = ((uint64_t)(arg1[18]) << 16);
1743     x15 = ((uint64_t)(arg1[17]) << 8);
1744     x16 = (arg1[16]);
1745     x17 = ((uint64_t)(arg1[15]) << 56);
1746     x18 = ((uint64_t)(arg1[14]) << 48);
1747     x19 = ((uint64_t)(arg1[13]) << 40);
1748     x20 = ((uint64_t)(arg1[12]) << 32);
1749     x21 = ((uint64_t)(arg1[11]) << 24);
1750     x22 = ((uint64_t)(arg1[10]) << 16);
1751     x23 = ((uint64_t)(arg1[9]) << 8);
1752     x24 = (arg1[8]);
1753     x25 = ((uint64_t)(arg1[7]) << 56);
1754     x26 = ((uint64_t)(arg1[6]) << 48);
1755     x27 = ((uint64_t)(arg1[5]) << 40);
1756     x28 = ((uint64_t)(arg1[4]) << 32);
1757     x29 = ((uint64_t)(arg1[3]) << 24);
1758     x30 = ((uint64_t)(arg1[2]) << 16);
1759     x31 = ((uint64_t)(arg1[1]) << 8);
1760     x32 = (arg1[0]);
1761     x33 = (x32 + (x31 + (x30 + (x29 + (x28 + (x27 + (x26 + x25)))))));
1762     x34 = (x33 & UINT64_C(0xffffffffffffffff));
1763     x35 = (x8 + (x7 + (x6 + (x5 + (x4 + (x3 + (x2 + x1)))))));
1764     x36 = (x16 + (x15 + (x14 + (x13 + (x12 + (x11 + (x10 + x9)))))));
1765     x37 = (x24 + (x23 + (x22 + (x21 + (x20 + (x19 + (x18 + x17)))))));
1766     x38 = (x37 & UINT64_C(0xffffffffffffffff));
1767     x39 = (x36 & UINT64_C(0xffffffffffffffff));
1768     out1[0] = x34;
1769     out1[1] = x38;
1770     out1[2] = x39;
1771     out1[3] = x35;
1772 }
1773
1774 /* END verbatim fiat code */
1775
1776 /*-
1777  * Finite field inversion via FLT.
1778  * NB: this is not a real Fiat function, just named that way for consistency.
1779  * Autogenerated: ecp/id_GostR3410_2001_TestParamSet/fe_inv.op3
1780  * sliding window w=5
1781  */
1782 static void fiat_id_GostR3410_2001_TestParamSet_inv(fe_t output,
1783                                                     const fe_t t1) {
1784     int i;
1785     /* temporary variables */
1786     fe_t acc, t15;
1787
1788     fiat_id_GostR3410_2001_TestParamSet_square(acc, t1);
1789     fiat_id_GostR3410_2001_TestParamSet_mul(t15, t1, acc);
1790     for (i = 0; i < 6; i++)
1791         fiat_id_GostR3410_2001_TestParamSet_mul(t15, t15, acc);
1792     fiat_id_GostR3410_2001_TestParamSet_square(acc, t1);
1793     for (i = 0; i < 244; i++)
1794         fiat_id_GostR3410_2001_TestParamSet_square(acc, acc);
1795     fiat_id_GostR3410_2001_TestParamSet_mul(acc, acc, t1);
1796     for (i = 0; i < 5; i++)
1797         fiat_id_GostR3410_2001_TestParamSet_square(acc, acc);
1798     fiat_id_GostR3410_2001_TestParamSet_mul(acc, acc, t1);
1799     for (i = 0; i < 5; i++)
1800         fiat_id_GostR3410_2001_TestParamSet_square(acc, acc);
1801     fiat_id_GostR3410_2001_TestParamSet_mul(output, acc, t15);
1802 }
1803
1804 /* curve coefficient constants */
1805
1806 static const limb_t const_one[4] = {
1807     UINT64_C(0xFFFFFFFFFFFFFBCF), UINT64_C(0xFFFFFFFFFFFFFFFF),
1808     UINT64_C(0xFFFFFFFFFFFFFFFF), UINT64_C(0x7FFFFFFFFFFFFFFF)};
1809
1810 static const limb_t const_a[4] = {
1811     UINT64_C(0xFFFFFFFFFFFFC983), UINT64_C(0xFFFFFFFFFFFFFFFF),
1812     UINT64_C(0xFFFFFFFFFFFFFFFF), UINT64_C(0x7FFFFFFFFFFFFFFF)};
1813
1814 static const limb_t const_b3[4] = {
1815     UINT64_C(0x81733EE96AEAB71C), UINT64_C(0x00CD3D1CFC4E6FC7),
1816     UINT64_C(0x60AB503A75853407), UINT64_C(0x0A9EC8AE4556810A)};
1817
1818 /* LUT for scalar multiplication by comb interleaving */
1819 static const pt_aff_t lut_cmb[27][16] = {
1820     {
1821         {{UINT64_C(0xFFFFFFFFFFFFF36D), UINT64_C(0xFFFFFFFFFFFFFFFF),
1822           UINT64_C(0xFFFFFFFFFFFFFFFF), UINT64_C(0x7FFFFFFFFFFFFFFF)},
1823          {UINT64_C(0x9AF45A5A471125F5), UINT64_C(0x7CE5090AF69BF9AE),
1824           UINT64_C(0x67617A63E4B6DDE6), UINT64_C(0x03F66B354AA3DAA4)}},
1825         {{UINT64_C(0xB39BDC16149B5D15), UINT64_C(0x87CE978A7309454F),
1826           UINT64_C(0xD22F32EF315A7A56), UINT64_C(0x4C7DE232B69A6B57)},
1827          {UINT64_C(0x9E2DAF6D466DC64D), UINT64_C(0x758C27B14B1C8A55),
1828           UINT64_C(0x74A0CB23BD647F1A), UINT64_C(0x27E748682C2F4C70)}},
1829         {{UINT64_C(0xF2D8F32E55A62594), UINT64_C(0x8323D57036BC547A),
1830           UINT64_C(0x497679EB98D4B25A), UINT64_C(0x061167F2B87E0534)},
1831          {UINT64_C(0xE1FFFDCE223E4DF8), UINT64_C(0x7C83AE78DCD891E9),
1832           UINT64_C(0x743985863C1B95D0), UINT64_C(0x11D7320574B3F5AB)}},
1833         {{UINT64_C(0x34B9C048ACB97F7C), UINT64_C(0x8232E73CE3B9BCC6),
1834           UINT64_C(0x81F4B63FDA2DB71D), UINT64_C(0x4EEE5393A2DF4C84)},
1835          {UINT64_C(0xCA6E63AEAC469C69), UINT64_C(0x27BC807C428E4F01),
1836           UINT64_C(0x4A2C23BA5F4EC124), UINT64_C(0x74847CFCAAE2668B)}},
1837         {{UINT64_C(0x4435585F6716AF4E), UINT64_C(0xB872D8B71CDB965F),
1838           UINT64_C(0x662F1962746FFAD0), UINT64_C(0x52761A24DB5D0187)},
1839          {UINT64_C(0xF6A09922A57E0E3D), UINT64_C(0x86C69342A9C12B63),
1840           UINT64_C(0x91FF20B65AF190C5), UINT64_C(0x10DB7A2A4EEEE1AE)}},
1841         {{UINT64_C(0xBB464A5374628B90), UINT64_C(0x6E7A1227057A4F25),
1842           UINT64_C(0x4C309D690B0FA41F), UINT64_C(0x7548260777FE7B93)},
1843          {UINT64_C(0xF2583EC70B612421), UINT64_C(0xFF2CFC835E2B15ED),
1844           UINT64_C(0x1E97A7DB8CABC5CF), UINT64_C(0x1EC08FAA925C149F)}},
1845         {{UINT64_C(0xBA0170E30E9FCBA9), UINT64_C(0x8976DF7C70D9939B),
1846           UINT64_C(0xEAE6E74B21AF14DD), UINT64_C(0x09F098680D0861F9)},
1847          {UINT64_C(0x4F7FE26E21A781FF), UINT64_C(0x1725B8D0D73DCEF7),
1848           UINT64_C(0x9DA632177E743498), UINT64_C(0x0F51D42C1B828B99)}},
1849         {{UINT64_C(0xBABB076B9AFE09BD), UINT64_C(0x4AC8922317C4050D),
1850           UINT64_C(0xCA3EA6E3DA3E57E8), UINT64_C(0x20AAA384A33242C0)},
1851          {UINT64_C(0x6D3A1F2DEF929BF5), UINT64_C(0xB34E2605E751A62D),
1852           UINT64_C(0xE1AC629FB8CF1F99), UINT64_C(0x7152D4E3F0BBA01A)}},
1853         {{UINT64_C(0xA97A6CE3943E5B8E), UINT64_C(0x1C0F6C7F2D053A9D),
1854           UINT64_C(0x9D4A91DE64457DE4), UINT64_C(0x1E19EA8FC6140057)},
1855          {UINT64_C(0xD4766CB6500995C8), UINT64_C(0xA019D41DE70CD7EE),
1856           UINT64_C(0xBA1828AA7AB0A162), UINT64_C(0x0CACA0630B7A4E93)}},
1857         {{UINT64_C(0x1E68315CA1B3FE03), UINT64_C(0x21FB277E1AAB6B20),
1858           UINT64_C(0x210305D76A90FB22), UINT64_C(0x4C3D3EEA2E51B9BC)},
1859          {UINT64_C(0xC5662C6D89C3A2E8), UINT64_C(0x66EA48181712BF9B),
1860           UINT64_C(0x417F8F042254FBAB), UINT64_C(0x2F57DF29B057EEC1)}},
1861         {{UINT64_C(0xF6975C9F6509AE4F), UINT64_C(0x58300438DC89C220),
1862           UINT64_C(0xE81DA879907FF785), UINT64_C(0x68D600E30910ED2F)},
1863          {UINT64_C(0xFBB25113B43BF686), UINT64_C(0x8B391E3F50A64FAE),
1864           UINT64_C(0x8C1190D23112B7ED), UINT64_C(0x617BCD41CCB4CA50)}},
1865         {{UINT64_C(0x75036E69DD780ACA), UINT64_C(0xC90A01DE6FBCD996),
1866           UINT64_C(0x75E1A8E80C851CEF), UINT64_C(0x7225D38AF71BDCC6)},
1867          {UINT64_C(0x74AE6935868B78D2), UINT64_C(0xE70570F31CDB5A1E),
1868           UINT64_C(0x3E700C48BEBD2FA4), UINT64_C(0x3E483638325D3214)}},
1869         {{UINT64_C(0x9F272CD5C0E6D8AD), UINT64_C(0x9E29687CE09743A2),
1870           UINT64_C(0xBE0E0D5993CD64B3), UINT64_C(0x5D57A75D504B58F0)},
1871          {UINT64_C(0x81A1A6E35D44B092), UINT64_C(0x38AD0169310D7868),
1872           UINT64_C(0xC8D3C9A6CC297B73), UINT64_C(0x34D98A19908E0814)}},
1873         {{UINT64_C(0xFFB946ADE5A57E1F), UINT64_C(0xF7EA0AA2191B6C5F),
1874           UINT64_C(0x52D070588DF529C1), UINT64_C(0x06B7BDE52AFDA727)},
1875          {UINT64_C(0x651E6DC990658555), UINT64_C(0x8F910D891FC416CE),
1876           UINT64_C(0x0BA4D84ECBF086D5), UINT64_C(0x73DA158C0C4A4B4A)}},
1877         {{UINT64_C(0xE22420A6521DB62C), UINT64_C(0x8EBC1A21BC90EB6F),
1878           UINT64_C(0xE1529AACE50F6EB4), UINT64_C(0x4025BF278BE235DB)},
1879          {UINT64_C(0x406077109FFE2B82), UINT64_C(0x7A6BB75B696B4634),
1880           UINT64_C(0x0CEF27A92B2F25D3), UINT64_C(0x6C9CFFD7CA0B7112)}},
1881         {{UINT64_C(0x12B39FF0EDA5C43B), UINT64_C(0x2E1FC66C54E0FE3F),
1882           UINT64_C(0xFB2DEA80248A9167), UINT64_C(0x11BCDA103B2BB322)},
1883          {UINT64_C(0xFDDF6E8416D2C928), UINT64_C(0x99DDF6A136E887F4),
1884           UINT64_C(0x1E56D2F3920092D6), UINT64_C(0x67433BF42D77AE5A)}},
1885     },
1886     {
1887         {{UINT64_C(0x6C204DDC321BFA62), UINT64_C(0xA96E42B82F138A80),
1888           UINT64_C(0x4C98E986E3EC1A7D), UINT64_C(0x223C8BC4136CADC4)},
1889          {UINT64_C(0xFA9F15D3BA3CE54A), UINT64_C(0xA103B9D719963D88),
1890           UINT64_C(0x1ED233542F811A21), UINT64_C(0x64D6B14C65A4E833)}},
1891         {{UINT64_C(0x2485175CCFBD1039), UINT64_C(0xC4DAE65B7C92D8EC),
1892           UINT64_C(0x6FC70F541859FD47), UINT64_C(0x6D54344433E8305C)},
1893          {UINT64_C(0x1A65FEC2944DDA07), UINT64_C(0x7BCF8391EF375B21),
1894           UINT64_C(0xDDCFC356BE4CD8D6), UINT64_C(0x4BF93B9E13850042)}},
1895         {{UINT64_C(0xBDF7A56C88B7F950), UINT64_C(0x3A60E5FC81B8590E),
1896           UINT64_C(0x475B94D16F6E6807), UINT64_C(0x2F1B9F062F0D49A8)},
1897          {UINT64_C(0x3C36DCF32E6A01D3), UINT64_C(0x807E1D5B30444003),
1898           UINT64_C(0xE3768486FECF5768), UINT64_C(0x73C4D0CFEF12B5CC)}},
1899         {{UINT64_C(0x9D76477CF4C6FF93), UINT64_C(0x03F16687C5A1A495),
1900           UINT64_C(0x5071DA3DB41748B2), UINT64_C(0x0F3A3784971D6A7D)},
1901          {UINT64_C(0x0B9A5AD62785A782), UINT64_C(0x957E72A009FF09F9),
1902           UINT64_C(0x3072C1DCAE3CF5F4), UINT64_C(0x63D463ACCD9CFD7E)}},
1903         {{UINT64_C(0xDA0DEE0BC77B516C), UINT64_C(0x446D7199E6AA0E1F),
1904           UINT64_C(0xCC0D1590BFFA705C), UINT64_C(0x6A6FC81CC35B59BA)},
1905          {UINT64_C(0x39DF210E593E3EB9), UINT64_C(0x17F331CED0DCC01F),
1906           UINT64_C(0x02E0E5EBBD176C5B), UINT64_C(0x68946CCC8A2D6290)}},
1907         {{UINT64_C(0x8D1400D609ECFEF2), UINT64_C(0x57D5F91BE1E76A98),
1908           UINT64_C(0x5CF76130A12DFF8D), UINT64_C(0x5C36192261002939)},
1909          {UINT64_C(0x8D45C8C1FB0FE974), UINT64_C(0x0C97725EF942ED70),
1910           UINT64_C(0xB1C6649873C5AA42), UINT64_C(0x4A121FC47E203187)}},
1911         {{UINT64_C(0x58430EE3FCEDA76C), UINT64_C(0x3496699AF5C88D62),
1912           UINT64_C(0x1C3FC81114273E7E), UINT64_C(0x3E38E9FC1D6D67DA)},
1913          {UINT64_C(0xBB683EA4AB685B3B), UINT64_C(0xB63F72B1B0904BB3),
1914           UINT64_C(0x5DFA23C547A75297), UINT64_C(0x09E80AA038B59560)}},
1915         {{UINT64_C(0x7D8325C67F4D22FC), UINT64_C(0xBFFB01B18C2FA282),
1916           UINT64_C(0x01A037DC4A89BE98), UINT64_C(0x092F652584EA8C8A)},
1917          {UINT64_C(0x873D33DAC52FD518), UINT64_C(0x0A245B1544AFDD41),
1918           UINT64_C(0x7899373798FA7FF5), UINT64_C(0x1BB48AD221D29087)}},
1919         {{UINT64_C(0x00C97A991A59313C), UINT64_C(0xBD4F29EE5CF9A6FF),
1920           UINT64_C(0xEA59D87AD839B62B), UINT64_C(0x16F18F4897CAB63C)},
1921          {UINT64_C(0xB339789A6F6C292F), UINT64_C(0xEC52E644D005ABB2),
1922           UINT64_C(0xEEAC93C9AE24DA46), UINT64_C(0x0ECB9957E5C43B4F)}},
1923         {{UINT64_C(0xD91B220220561AF7), UINT64_C(0xECA260DD55F2CFB8),
1924           UINT64_C(0xF03A8C1D17B91CCF), UINT64_C(0x55A0491F64B35D9A)},
1925          {UINT64_C(0x0A97E5CC1A2F8F39), UINT64_C(0x02C187D123B1D80B),
1926           UINT64_C(0xA9C13D26DB9FBA1A), UINT64_C(0x7CCDDBACF8051F0D)}},
1927         {{UINT64_C(0x05CA8EA5ED0E9DB8), UINT64_C(0xE888079F53A8EA3F),
1928           UINT64_C(0x6DDBC40D9209BFA2), UINT64_C(0x068E5BA980DCEAEA)},
1929          {UINT64_C(0xDB69D133B19D824B), UINT64_C(0x65154FB6E6A3A462),
1930           UINT64_C(0x9FCF733D020B2AC7), UINT64_C(0x15178DDEE1329315)}},
1931         {{UINT64_C(0x76F78865877EE476), UINT64_C(0x5824EACC12B471BA),
1932           UINT64_C(0x71BDFADFBBB640A8), UINT64_C(0x5181B08F9A631D09)},
1933          {UINT64_C(0x2913CCA5FFE978E8), UINT64_C(0x9CEF3612AEB89AA6),
1934           UINT64_C(0x93BB373EE02AD6DC), UINT64_C(0x5D7984F004144769)}},
1935         {{UINT64_C(0x3219DB074F98D2C3), UINT64_C(0xE3EF888FBD40ACCC),
1936           UINT64_C(0x07A30E3A31124C73), UINT64_C(0x5D9C820BB070C53F)},
1937          {UINT64_C(0x94D41768DA0661AB), UINT64_C(0x27FC266121FF87EB),
1938           UINT64_C(0xB8DCBC7FFF17A977), UINT64_C(0x71F75FF9392EB13D)}},
1939         {{UINT64_C(0xC5CED56C9AD71AB0), UINT64_C(0xE744EAB039D6C9F1),
1940           UINT64_C(0x6E49B00B839BD904), UINT64_C(0x0C0EDE2CD7003054)},
1941          {UINT64_C(0x792C3F801A6A1BB7), UINT64_C(0x6E5093B14B2C7885),
1942           UINT64_C(0x2887320913EA65F7), UINT64_C(0x085A2697F381C851)}},
1943         {{UINT64_C(0x84FC6B9DDA60A255), UINT64_C(0x12397EED4B495BC6),
1944           UINT64_C(0x4881DF6B71A5AA87), UINT64_C(0x57BB32599572CFE2)},
1945          {UINT64_C(0x306777593A10A65F), UINT64_C(0x670B82ECDB1758DD),
1946           UINT64_C(0xD84F3E8FD57B513E), UINT64_C(0x617A512A89088E78)}},
1947         {{UINT64_C(0x83971322AE3D7707), UINT64_C(0x66563CDE6D34D0B4),
1948           UINT64_C(0x95342D9BC13309ED), UINT64_C(0x62C2B1B6082A5887)},
1949          {UINT64_C(0xD94A8712C3C27158), UINT64_C(0xDE2C9C9DA844BF60),
1950           UINT64_C(0xDE897386CE3E4F3C), UINT64_C(0x2C22A82E6ACEBDF1)}},
1951     },
1952     {
1953         {{UINT64_C(0x2755028A0604E200), UINT64_C(0xADE23A7D44189101),
1954           UINT64_C(0xA6E418F4F0B7F9B7), UINT64_C(0x036F5503212EDC2A)},
1955          {UINT64_C(0xE069D06A3F5E0456), UINT64_C(0x2FAFF7C80F37F2D8),
1956           UINT64_C(0xFF08E8797F5EDE53), UINT64_C(0x7F97725D797E0427)}},
1957         {{UINT64_C(0xE44E39C1B32E5B1B), UINT64_C(0x25CD4614AD3EC706),
1958           UINT64_C(0x2E97B090E382C5D2), UINT64_C(0x3E1A1F6BB00D79F2)},
1959          {UINT64_C(0x27573C4EC2375837), UINT64_C(0xAD53D2C86C8D5CCD),
1960           UINT64_C(0x94EE5460FC09725A), UINT64_C(0x6E59250602DD0DF4)}},
1961         {{UINT64_C(0x6CFFA4BF3D0C7AC4), UINT64_C(0x663B121869ED4317),
1962           UINT64_C(0x933094F6C79AD5C1), UINT64_C(0x569F37EDFFC54767)},
1963          {UINT64_C(0x954EEE0C1F338782), UINT64_C(0x5BE69673A46CA276),
1964           UINT64_C(0x77BA000920CB26DC), UINT64_C(0x2211CAC3029316AE)}},
1965         {{UINT64_C(0xC8DEF3CB184EBD7C), UINT64_C(0x393370506A4DB0A0),
1966           UINT64_C(0x6FF7993A0BE1D82C), UINT64_C(0x01D7674AFC9252C0)},
1967          {UINT64_C(0xB10BA727F62D9268), UINT64_C(0x6E2338D8817B687B),
1968           UINT64_C(0x266443F2E47405F1), UINT64_C(0x6A1BD9CE6872B879)}},
1969         {{UINT64_C(0x192137652B2BD346), UINT64_C(0x962CA22CE2ACFB8E),
1970           UINT64_C(0x518CF45D62FECDE1), UINT64_C(0x529AE629A13D9E8D)},
1971          {UINT64_C(0xAF796DB0BB69D5E3), UINT64_C(0xA064209DD4E596B7),
1972           UINT64_C(0x9F3DFD4A47942C73), UINT64_C(0x7FAB6C6D7810D5EC)}},
1973         {{UINT64_C(0x55D1525066A3B287), UINT64_C(0x1ECC6A20EEFDDC75),
1974           UINT64_C(0xF683FA6026DE8C01), UINT64_C(0x4F5DE2A69FBA658C)},
1975          {UINT64_C(0xE748D78AC66D82F4), UINT64_C(0x2BA525EF3B24C76B),
1976           UINT64_C(0x5A9539E630EE69CE), UINT64_C(0x2DA4C4C2B7861B2D)}},
1977         {{UINT64_C(0x9D1E982D820743E6), UINT64_C(0x705D9237AB0CC42D),
1978           UINT64_C(0xBDD0166347C4E7D7), UINT64_C(0x3D48EE78F8E69896)},
1979          {UINT64_C(0x7A822BCD41132782), UINT64_C(0xBD41BEFAEE46F715),
1980           UINT64_C(0x8E5C3B5FD0B2F4B0), UINT64_C(0x690A53D45E47ED55)}},
1981         {{UINT64_C(0x390536C165A40E44), UINT64_C(0x4B4D79701C92235C),
1982           UINT64_C(0xCAC270848B7389E4), UINT64_C(0x7B5B23B219041D01)},
1983          {UINT64_C(0x7C18B9733B5FD5BA), UINT64_C(0xFD14865D84B72217),
1984           UINT64_C(0x5592547E267EDE4C), UINT64_C(0x22DB62E58B369753)}},
1985         {{UINT64_C(0x06083D33DDF15BDD), UINT64_C(0x5766555F361925F5),
1986           UINT64_C(0xECC0F110B7ACDEA7), UINT64_C(0x3E3F1B270A3453B5)},
1987          {UINT64_C(0x5A8B7DF96F7B980D), UINT64_C(0xEBA90E39B44756AC),
1988           UINT64_C(0x954D7ECDAC9A7DB2), UINT64_C(0x43F688D328EA7151)}},
1989         {{UINT64_C(0x51F645694638EFAE), UINT64_C(0x5840A5DB3D28BF3C),
1990           UINT64_C(0xDD486261134D3E8F), UINT64_C(0x09F17E2C7B6B466B)},
1991          {UINT64_C(0x30D3546378ED7016), UINT64_C(0x342E9701B86D8508),
1992           UINT64_C(0xA3FF656542B19533), UINT64_C(0x4405F02C061A4A81)}},
1993         {{UINT64_C(0x15C921C03D3AAF1E), UINT64_C(0x2DD720C77D297559),
1994           UINT64_C(0x93A07904CB80E3B2), UINT64_C(0x427C610B6B1EDB93)},
1995          {UINT64_C(0xD2CE818FF61E2F41), UINT64_C(0x1DA534218252FB3C),
1996           UINT64_C(0x37A4A997ED07538F), UINT64_C(0x48A928BF962454F2)}},
1997         {{UINT64_C(0x65091E4D7A420273), UINT64_C(0x6AF382AFE54C0B47),
1998           UINT64_C(0x150DAB088047A423), UINT64_C(0x22C3740A45BD197C)},
1999          {UINT64_C(0x64429AA0E07C3468), UINT64_C(0xC506B8C97B37FE10),
2000           UINT64_C(0x30E2FE783CC5062C), UINT64_C(0x2F3B5A5FA9242F2D)}},
2001         {{UINT64_C(0x2619A3B25A40BCA1), UINT64_C(0xD012DF23118C2FEA),
2002           UINT64_C(0x2868C8B7B73FE15C), UINT64_C(0x45A9CC5AEB10B475)},
2003          {UINT64_C(0x7111AB75069050AD), UINT64_C(0x0665182BEC2398A9),
2004           UINT64_C(0xD9A5126E9B86A240), UINT64_C(0x601CF0E040E2AED6)}},
2005         {{UINT64_C(0xE74C9DCDF48C8655), UINT64_C(0xEE703CA8900E89D5),
2006           UINT64_C(0x6C2DFF8B5390F052), UINT64_C(0x08588E891316CC4C)},
2007          {UINT64_C(0x0F2CC83A47E80C87), UINT64_C(0x23DE34CFD87824E4),
2008           UINT64_C(0xC530AF41541FE8F9), UINT64_C(0x0BF01DC0D142F1C0)}},
2009         {{UINT64_C(0x210B0B1E886C0C4A), UINT64_C(0x66369DF19C56A126),
2010           UINT64_C(0x5D79AE81EAC22A5E), UINT64_C(0x4E6C67D4D16F7DB6)},
2011          {UINT64_C(0x274572F6247CDE60), UINT64_C(0xF3C92AC754E8454B),
2012           UINT64_C(0x784EC1A1F08C32D1), UINT64_C(0x222716D8E1FE9C4E)}},
2013         {{UINT64_C(0xAF6AEF5D3FB1DB1E), UINT64_C(0xB8B55842C4C2A4D8),
2014           UINT64_C(0x258A2F44CA5AB578), UINT64_C(0x558A803F7D8B2D70)},
2015          {UINT64_C(0x9A7345C37E0247A3), UINT64_C(0x4E5A6904B4D920B1),
2016           UINT64_C(0xCF7FAA4176BCBBE1), UINT64_C(0x66CF993FEE112271)}},
2017     },
2018     {
2019         {{UINT64_C(0xDE7D208F84D2C56B), UINT64_C(0xD1C77403DDA20F33),
2020           UINT64_C(0xB73FDC099A6F337A), UINT64_C(0x1B2A380740CD2CBD)},
2021          {UINT64_C(0xB642FA2C65988D73), UINT64_C(0x117E75BC059DAB8E),
2022           UINT64_C(0xC7E2E935D6B279AA), UINT64_C(0x5EEB9654EEA2A445)}},
2023         {{UINT64_C(0xA84747C0A59D7A2A), UINT64_C(0x4478AD4A1004C5B8),
2024           UINT64_C(0xF55C2B1BA22DE791), UINT64_C(0x2FF6097D23F8F89F)},
2025          {UINT64_C(0xD079C875E117BC40), UINT64_C(0x14AEA36003CB43DD),
2026           UINT64_C(0x8C730D890A20D653), UINT64_C(0x6956274A02FD02D8)}},
2027         {{UINT64_C(0x9F5D0E9DD46293CF), UINT64_C(0x53748DD4F0D93AB7),
2028           UINT64_C(0x6F81339FB9C37CF0), UINT64_C(0x00B8677AF4B041FC)},
2029          {UINT64_C(0xF76E0FFEB5A6FE97), UINT64_C(0x6D3C71F5F7D198A2),
2030           UINT64_C(0xF91E840811420372), UINT64_C(0x36F9F35470036AED)}},
2031         {{UINT64_C(0x503AF4F25D446956), UINT64_C(0xCA08C5372DC9777C),
2032           UINT64_C(0xDB4BA888E1308D3A), UINT64_C(0x01EA28EA01DB98CB)},
2033          {UINT64_C(0x27CC52A9A7DF5FE0), UINT64_C(0x7DA5186B7DE31E0A),
2034           UINT64_C(0x63E32889F136FAD5), UINT64_C(0x1BB010A8A363AF23)}},
2035         {{UINT64_C(0x65828B54C0FE56C9), UINT64_C(0x7322CD514ED3935A),
2036           UINT64_C(0x42F068F437B4A727), UINT64_C(0x7AA9F9F0B4C02BE4)},
2037          {UINT64_C(0xBB77851ADEBB2DD4), UINT64_C(0x7757D5F6D105B81F),
2038           UINT64_C(0x7805369C52FA1512), UINT64_C(0x4CBC43AE38B6976A)}},
2039         {{UINT64_C(0x24FE8ABD4096725B), UINT64_C(0xC3FAC73A3895D1E2),
2040           UINT64_C(0xBCAF7757006A2360), UINT64_C(0x75AE96ADC03EBB33)},
2041          {UINT64_C(0x310744780BD1FB6F), UINT64_C(0x729E8E6AEA386CBE),
2042           UINT64_C(0xA8BBCC0B4845AAEC), UINT64_C(0x1A0A2D19E6582656)}},
2043         {{UINT64_C(0x332BC9BD69BD55F7), UINT64_C(0x93D987E2EFB6F780),
2044           UINT64_C(0xE57DE09614381F4D), UINT64_C(0x7BDF4217FF01C4D9)},
2045          {UINT64_C(0x2A07C4AB1956BF02), UINT64_C(0x7C7B3684553823D9),
2046           UINT64_C(0x8F750E8ED40F600C), UINT64_C(0x63F253E99693A3C3)}},
2047         {{UINT64_C(0x250ED8BFC62CE42B), UINT64_C(0xE8A1A295E70674E1),
2048           UINT64_C(0x05ED093D163A92F1), UINT64_C(0x515FF44B628969A0)},
2049          {UINT64_C(0xF617DF0341CE3AF8), UINT64_C(0xCADE131AF9E60202),
2050           UINT64_C(0xFE83C379363B87E9), UINT64_C(0x7196A80B493EF65F)}},
2051         {{UINT64_C(0x4B176FE6D7A2047B), UINT64_C(0x6981D18241DCA514),
2052           UINT64_C(0xDDC7EE8EDC74AC2E), UINT64_C(0x3A95A20385CC07D1)},
2053          {UINT64_C(0x8D4BA2D8841E3200), UINT64_C(0x837DDD9B5F654197),
2054           UINT64_C(0x388D358EFBFE4D06), UINT64_C(0x562DE2F261143A85)}},
2055         {{UINT64_C(0x3BA1F6E5CFACB903), UINT64_C(0xB5BBA41FBD97A3A2),
2056           UINT64_C(0xB86F117FCFCF2547), UINT64_C(0x506428593D9A13DB)},
2057          {UINT64_C(0xC15C82AE7B5F2A8F), UINT64_C(0x47E772DDEF89351E),
2058           UINT64_C(0x78C53901CAAC4CC7), UINT64_C(0x6B0F5D3068D72131)}},
2059         {{UINT64_C(0x47E17734A0B407E6), UINT64_C(0x29E0683034949A81),
2060           UINT64_C(0x63D83340CB1AC772), UINT64_C(0x178A6DD6EB84F909)},
2061          {UINT64_C(0xA9E948263C27D7BA), UINT64_C(0xC86AF96DDB027A4C),
2062           UINT64_C(0xE7D04E3456D5DF86), UINT64_C(0x7212EAC22E8D0EE3)}},
2063         {{UINT64_C(0xE7E5AA648A75F66B), UINT64_C(0x7E86B6AA8CFD9597),
2064           UINT64_C(0x1B7DDE0C834C0271), UINT64_C(0x397EAF2AD4AD306F)},
2065          {UINT64_C(0x0A3579061657E32B), UINT64_C(0xAAEB2DCF4957B3AF),
2066           UINT64_C(0x1C0CBD0269D3CEE9), UINT64_C(0x7434EC325A6E7D53)}},
2067         {{UINT64_C(0xEB5878F785559E86), UINT64_C(0xB9555F704A09C168),
2068           UINT64_C(0xBFFAC5DB80501134), UINT64_C(0x4CDBF53A05B53160)},
2069          {UINT64_C(0x1413BA295F90344B), UINT64_C(0xC6A9D1EDD0DD0CFD),
2070           UINT64_C(0x8C56AA29A0C31B73), UINT64_C(0x1C9B0B61F4E58E08)}},
2071         {{UINT64_C(0xBF8D22370E2F595A), UINT64_C(0x7A646816CBA13CD8),
2072           UINT64_C(0xBD2E93A15CD728B6), UINT64_C(0x30FDF85C07CF9009)},
2073          {UINT64_C(0x3496D94906122B98), UINT64_C(0xE63EC7415A80B3AF),
2074           UINT64_C(0xA2A39CF782838A44), UINT64_C(0x4A064F99C015E1D4)}},
2075         {{UINT64_C(0x9CCDF95B456CB242), UINT64_C(0xDA1CB24E6F4517DC),
2076           UINT64_C(0x60450E0F931A1115), UINT64_C(0x6780D774B5680A8D)},
2077          {UINT64_C(0xAFE48DCD1FDA4243), UINT64_C(0x6BDD541CAE9733C7),
2078           UINT64_C(0xCBBCC69CD79D1D52), UINT64_C(0x334F4F671A513B3E)}},
2079         {{UINT64_C(0xCE7712C4DF49E1A0), UINT64_C(0xB5444862E0B96135),
2080           UINT64_C(0x10564C4BF050D010), UINT64_C(0x0531AEC8FEBEFCC8)},
2081          {UINT64_C(0xD45B4BE770DF6D29), UINT64_C(0x1ACC2D706829054E),
2082           UINT64_C(0x9744CDE154E56E05), UINT64_C(0x3C5DE93E6EE02696)}},
2083     },
2084     {
2085         {{UINT64_C(0xF43A2B993951B674), UINT64_C(0xE82789E85E72FC98),
2086           UINT64_C(0x2AD4843686992601), UINT64_C(0x3FDEB17201A2B65A)},
2087          {UINT64_C(0x926B48393666322B), UINT64_C(0x68847D5C44B3FDB7),
2088           UINT64_C(0xD06C450DF2F5E247), UINT64_C(0x0CEC0646BBA7C892)}},
2089         {{UINT64_C(0x76446D2661F9C9DA), UINT64_C(0xEF2C7B98AC60376F),
2090           UINT64_C(0xEEA8CABE2410C057), UINT64_C(0x4C2CE2A73672A2B6)},
2091          {UINT64_C(0x3F77094512879BA5), UINT64_C(0x719D5BD0AD913022),
2092           UINT64_C(0x28A82DD936D445A4), UINT64_C(0x26382C23965965AA)}},
2093         {{UINT64_C(0x66709D92B8AA8419), UINT64_C(0xFAEFF2E40AB5C241),
2094           UINT64_C(0xABB7C5DD1DD46DEB), UINT64_C(0x7DD03C3339DB6CB5)},
2095          {UINT64_C(0x76CDD1EA9E160F01), UINT64_C(0x00598D5681C5CA37),
2096           UINT64_C(0x16D23B04241772EC), UINT64_C(0x5132B02852A6B807)}},
2097         {{UINT64_C(0x6D48D4B5CC041445), UINT64_C(0x0B1CD9231528DF63),
2098           UINT64_C(0x82EE4DC64A815F60), UINT64_C(0x29DA60590451E242)},
2099          {UINT64_C(0xCD90BFB017A8A6D0), UINT64_C(0x8BCF439252A7FC3D),
2100           UINT64_C(0x49AD55F21974860C), UINT64_C(0x20BBF0105EDCB1D2)}},
2101         {{UINT64_C(0xB4F0EA84A8F6C08C), UINT64_C(0x4341BEA7D50164F3),
2102           UINT64_C(0xE538901906320C0F), UINT64_C(0x69D4851A8BA6F033)},
2103          {UINT64_C(0x1CE5866077902045), UINT64_C(0xF3B88D85BD8579B3),
2104           UINT64_C(0xF84FF63A4FB0A17B), UINT64_C(0x09EE62EEDE6581BF)}},
2105         {{UINT64_C(0x8B8C15B57C0516DE), UINT64_C(0x3B448FC3A530B89F),
2106           UINT64_C(0xE385BBE5500B0251), UINT64_C(0x5F643F85ED70804B)},
2107          {UINT64_C(0x550D9B7D239E85A5), UINT64_C(0xDC910B5B8666E41F),
2108           UINT64_C(0x655221817D4E390F), UINT64_C(0x5DD2D3E83162FE10)}},
2109         {{UINT64_C(0x59609390DF024A25), UINT64_C(0xE66A77E908CCBA91),
2110           UINT64_C(0xC5CEA91A65E24DB6), UINT64_C(0x0888DFB53DCEA0A7)},
2111          {UINT64_C(0x8C8E58CC92FA0754), UINT64_C(0x99C259ABF7DC9538),
2112           UINT64_C(0x3A06D8ED9BEFE750), UINT64_C(0x71AF22E1FAACDC97)}},
2113         {{UINT64_C(0xCC41D094250AC059), UINT64_C(0xCD792A733BE3DA01),
2114           UINT64_C(0x2DA07802CC61EFE1), UINT64_C(0x293AFB0857053A5D)},
2115          {UINT64_C(0x3E7E48842FD8A8A0), UINT64_C(0x183FA5000B9B48D3),
2116           UINT64_C(0x9CAC07BE431AACF6), UINT64_C(0x4F82D7992DF89F10)}},
2117         {{UINT64_C(0xFD9F61A80A84935C), UINT64_C(0x78B948D0BB5A7E56),
2118           UINT64_C(0xDA4787660ACCEEB3), UINT64_C(0x47BDAE4453C3851D)},
2119          {UINT64_C(0x5AE2C60C0CFE8D0D), UINT64_C(0xAC8F79B31D8A79C9),
2120           UINT64_C(0xA958C15E0A79CA31), UINT64_C(0x1C46E20EF0952018)}},
2121         {{UINT64_C(0xAE552ECEF04AC529), UINT64_C(0xB295B601E2BFEFBC),
2122           UINT64_C(0xECC1EE5554733412), UINT64_C(0x28BCBA5312282094)},
2123          {UINT64_C(0x306C078150B25069), UINT64_C(0x10D5D23CE9A18FFE),
2124           UINT64_C(0xC34FC5C71BD5489F), UINT64_C(0x2B610028E191867D)}},
2125         {{UINT64_C(0x458A1CC13E17E84D), UINT64_C(0x6EAE343D5D7CFB98),
2126           UINT64_C(0xC6E0FDAA101F0B7E), UINT64_C(0x0B9F7C2C2A023288)},
2127          {UINT64_C(0xBEA893A86F3FCAA0), UINT64_C(0x7D711B2B452B07C0),
2128           UINT64_C(0x2895873798E2C88D), UINT64_C(0x553A0180DFD99A2A)}},
2129         {{UINT64_C(0x8D617BE80DBA5986), UINT64_C(0xDB763C1413D18594),
2130           UINT64_C(0x822CB0DAD2DAD82F), UINT64_C(0x37ACD99F93239947)},
2131          {UINT64_C(0x6A2A7070CDC08BE6), UINT64_C(0x86B3B66ACF6D63FF),
2132           UINT64_C(0x5BEFF3FB0F7D4A67), UINT64_C(0x05C25557EBC94AE5)}},
2133         {{UINT64_C(0x5D1DC08789183418), UINT64_C(0xA25C7AE26EA5A960),
2134           UINT64_C(0x074698B9D31F3AAE), UINT64_C(0x5A5B510B221788A4)},
2135          {UINT64_C(0x896A87871DCE95FE), UINT64_C(0x89E7B93D7F24020C),
2136           UINT64_C(0xFC19BF42865B4334), UINT64_C(0x0389FBF75B78B06D)}},
2137         {{UINT64_C(0x73B6DA7B0BB3A3E2), UINT64_C(0xDBC1267044D56755),
2138           UINT64_C(0x7AF2DE287CC1C589), UINT64_C(0x7E248FCB697CB6B7)},
2139          {UINT64_C(0x9410EC06C64202C0), UINT64_C(0x79C8215875EB3A8C),
2140           UINT64_C(0x74FDD2F6E95C5EA9), UINT64_C(0x2A40B5B51CCA72C7)}},
2141         {{UINT64_C(0x569842235C29E320), UINT64_C(0x8266392AE871D9E2),
2142           UINT64_C(0x9D86C6C77B391763), UINT64_C(0x5E9E61E202543C9E)},
2143          {UINT64_C(0xD62A9334D2501D1A), UINT64_C(0x9D19F54D9211135D),
2144           UINT64_C(0x66D0B9618FE81272), UINT64_C(0x6E64635AD09C2033)}},
2145         {{UINT64_C(0x93BD0AD806F84E11), UINT64_C(0x45F18F2B131AFDBF),
2146           UINT64_C(0x881F053F6058EB37), UINT64_C(0x36B8D656948AD0D5)},
2147          {UINT64_C(0x53DC2E02E1934E38), UINT64_C(0xA8AD5055C0435B6C),
2148           UINT64_C(0x0DF7BD114BD7154F), UINT64_C(0x6350B05E73BC98FC)}},
2149     },
2150     {
2151         {{UINT64_C(0x12AC549604BF927A), UINT64_C(0x9BB322DBE749323E),
2152           UINT64_C(0xC10C666DF6D99AD6), UINT64_C(0x0FDF8FB34C883E0A)},
2153          {UINT64_C(0x10667F92665272E8), UINT64_C(0xA30D4CE15BF8702F),
2154           UINT64_C(0x56314B47A2D6033D), UINT64_C(0x09EC90D9DAC1A10E)}},
2155         {{UINT64_C(0x364F06DDC9EB81D1), UINT64_C(0xFD181A564DC5CB76),
2156           UINT64_C(0x91CF010CE264567C), UINT64_C(0x71D9A95BA05C02FC)},
2157          {UINT64_C(0xAB5AFBA653967407), UINT64_C(0x3FC779139B0AA089),
2158           UINT64_C(0xDF1D4912AF29EF02), UINT64_C(0x01C3D61C5796A0A5)}},
2159         {{UINT64_C(0x11503A1CB376E8DE), UINT64_C(0x5CB17D6DB8B98321),
2160           UINT64_C(0x96C9D585BD8FE9C2), UINT64_C(0x048C8DA7D117171D)},
2161          {UINT64_C(0xDF7FABB8B582282A), UINT64_C(0x75C2A93724FD6BB7),
2162           UINT64_C(0xDF0DBD3200633701), UINT64_C(0x04FB7AEC039B3E72)}},
2163         {{UINT64_C(0xE60CCE960E20C09A), UINT64_C(0xAD295B31116E1C38),
2164           UINT64_C(0xCA6B625DC04477D0), UINT64_C(0x032FE03BFFA32E36)},
2165          {UINT64_C(0x46334FEEE2AAABC6), UINT64_C(0x9808B03CDA1C6871),
2166           UINT64_C(0x76D0E3AAF934A482), UINT64_C(0x2B0BF54AF9CB8F97)}},
2167         {{UINT64_C(0xB5D527172CA29D02), UINT64_C(0xF9DAEAFBDBEACF03),
2168           UINT64_C(0x3786E64B113A3811), UINT64_C(0x6A01A1A55C30569D)},
2169          {UINT64_C(0x0A91E160BA1C28B6), UINT64_C(0x5BFA32BA929D3F05),
2170           UINT64_C(0x1108F87540C51084), UINT64_C(0x37FD238342FD5AE1)}},
2171         {{UINT64_C(0xABF14EDE2A79BFB8), UINT64_C(0x08B34155AA34300C),
2172           UINT64_C(0x85C0DFA064077041), UINT64_C(0x3AE5D28DF542D447)},
2173          {UINT64_C(0xC303A0FEB74DC4FB), UINT64_C(0xB75292FA556E0B87),
2174           UINT64_C(0x785628B051BDC64C), UINT64_C(0x43FE786E13C579F6)}},
2175         {{UINT64_C(0xBC5898CB5F08790F), UINT64_C(0xA298A59A125644EC),
2176           UINT64_C(0xD2D9627BB048217A), UINT64_C(0x6DCEEF327B1F23F7)},
2177          {UINT64_C(0x7F02FC44FA7B9C6A), UINT64_C(0x90C6496073597BF7),
2178           UINT64_C(0x5DD7E4F42CB0B3A2), UINT64_C(0x5EC5F92C43E83553)}},
2179         {{UINT64_C(0xC06B4D4959E2C8E9), UINT64_C(0x7DBC82181DF8AD8B),
2180           UINT64_C(0x35570120DAE8B6D7), UINT64_C(0x4222A1BA0CDE2691)},
2181          {UINT64_C(0xD2F1EFA6C1693046), UINT64_C(0x2707228D7D36D9CD),
2182           UINT64_C(0xD668EE25062D499C), UINT64_C(0x7AC81BDFCE2621A0)}},
2183         {{UINT64_C(0x3A9F04BB16F6A215), UINT64_C(0x739BB2BC89E5494E),
2184           UINT64_C(0xCB8DBAE8D1CEB043), UINT64_C(0x6B177DF009A6B465)},
2185          {UINT64_C(0xB7C4980E1A529744), UINT64_C(0x3941B9970E9012B5),
2186           UINT64_C(0xDF317B9504C6D677), UINT64_C(0x17898D81829F51D6)}},
2187         {{UINT64_C(0x3D48FD66A12282BA), UINT64_C(0xB775465B899E5A1A),
2188           UINT64_C(0xDE0CCB9955D95C35), UINT64_C(0x4CB3CCDD950AB9DF)},
2189          {UINT64_C(0x0B4ABA02175C4CAE), UINT64_C(0x2DA7C698CF86187C),
2190           UINT64_C(0x3A4453DF9A9BF6CA), UINT64_C(0x53C86F9C8BB9F543)}},
2191         {{UINT64_C(0x806B815E5B7DB133), UINT64_C(0x2451D6AC118FA7C1),
2192           UINT64_C(0x32C148B6FB0BEFC3), UINT64_C(0x2E6ECEF6E433031E)},
2193          {UINT64_C(0x2B78F31754B2EE29), UINT64_C(0xBC321BF95A73BF01),
2194           UINT64_C(0xDF6F7840F8F7F981), UINT64_C(0x751A917A22280C40)}},
2195         {{UINT64_C(0x73EFA6314F9161C8), UINT64_C(0xB61C5E6821145C52),
2196           UINT64_C(0x609477736A04DC52), UINT64_C(0x758E38FF2C2073B2)},
2197          {UINT64_C(0xDC6FEA7303A54541), UINT64_C(0x5E77682CB6E65787),
2198           UINT64_C(0xAFEF6C1C37370FD0), UINT64_C(0x33DEEF00D5AC255A)}},
2199         {{UINT64_C(0x1AD81101061D35CC), UINT64_C(0xD55EED7D8A77D246),
2200           UINT64_C(0x8D59DC22926E64C3), UINT64_C(0x76C9D6CEAFC6FFA6)},
2201          {UINT64_C(0x945A89B53F4FCC0F), UINT64_C(0x65EB52CF9087F46A),
2202           UINT64_C(0xC3380377AE9F09DE), UINT64_C(0x59067EDD43DFD5FB)}},
2203         {{UINT64_C(0xCBB7BC66CF841445), UINT64_C(0x9ED681D3A3BE7C94),
2204           UINT64_C(0xF5CF59BE396C6DD5), UINT64_C(0x2598A5DCFA763634)},
2205          {UINT64_C(0xAD2B445A85CF4FDE), UINT64_C(0xC8CE3F42A0D92F4C),
2206           UINT64_C(0x78356D5BF01CD0F5), UINT64_C(0x26E44A455D50C9D7)}},
2207         {{UINT64_C(0x22EB53E34EDF35A5), UINT64_C(0xA0C6CDEFAF1A8A60),
2208           UINT64_C(0x1D31BA2CD07C1EBD), UINT64_C(0x513511A0D2C2ADE1)},
2209          {UINT64_C(0xBD3772D4C4449889), UINT64_C(0xAF5EF819D3F49C61),
2210           UINT64_C(0xAAF2159940047745), UINT64_C(0x2128938CA54B8080)}},
2211         {{UINT64_C(0x9761A94A73ADBEC8), UINT64_C(0x4710BBF01FB2F257),
2212           UINT64_C(0xFE52603EB3920007), UINT64_C(0x663937507DE06F13)},
2213          {UINT64_C(0x35F4E633965AC706), UINT64_C(0xF49DC41833F953E5),
2214           UINT64_C(0x1562AD5131CFE467), UINT64_C(0x035FB54D8ADB1F7A)}},
2215     },
2216     {
2217         {{UINT64_C(0xF632081FFD73062E), UINT64_C(0xB2740C19CB740B59),
2218           UINT64_C(0x2DFD957F8751E315), UINT64_C(0x5722E015C21039C2)},
2219          {UINT64_C(0x44781BFCA4E56D39), UINT64_C(0x894BD2F7DA2FBE63),
2220           UINT64_C(0x9E81007B5DE22DE0), UINT64_C(0x0CED0859C68788FC)}},
2221         {{UINT64_C(0x97DD8CF18DDA6292), UINT64_C(0x3E9191F727FCF7F1),
2222           UINT64_C(0x07885E32DAA6AD44), UINT64_C(0x624CE66EBE9F7E62)},
2223          {UINT64_C(0x0483DA421893A3D9), UINT64_C(0x1041B7EA8F2A105F),
2224           UINT64_C(0x5B706F99429A24B9), UINT64_C(0x30BFBCEE167C12E1)}},
2225         {{UINT64_C(0xEB2C7218C38251D8), UINT64_C(0x5FE5D8F6022B6411),
2226           UINT64_C(0xF62200C193DCCB63), UINT64_C(0x2CF0F8F1CFF221E6)},
2227          {UINT64_C(0xDCF1BCD69217EE42), UINT64_C(0x1904879C9DB2580B),
2228           UINT64_C(0x2DDB7E5DF6510164), UINT64_C(0x7BB299858A0EAC6B)}},
2229         {{UINT64_C(0x98313C0E0FCF8397), UINT64_C(0xB594D0B742C8EEF1),
2230           UINT64_C(0xBD31FC3497E842F7), UINT64_C(0x49476B9D8F3ADB9B)},
2231          {UINT64_C(0xD1B5FD3750B45445), UINT64_C(0x526C51CAD583A89F),
2232           UINT64_C(0x5D461F096782C060), UINT64_C(0x414023EC27274A60)}},
2233         {{UINT64_C(0x7C809B26EAE4285A), UINT64_C(0x939814BF0A066043),
2234           UINT64_C(0x9CBAC0BB6C640E3D), UINT64_C(0x647E22E130EB1B86)},
2235          {UINT64_C(0x21E2A42D3C7DFA0D), UINT64_C(0xFF8CC304E2CD0CCE),
2236           UINT64_C(0x3DC8C9203496964C), UINT64_C(0x5D91FE782B4DF7C2)}},
2237         {{UINT64_C(0xD5BBBD6E96D84346), UINT64_C(0x8363527BF91FFA8C),
2238           UINT64_C(0x931D0FDA7F408588), UINT64_C(0x2C51F17BB0B19D0F)},
2239          {UINT64_C(0x7A693804FF61C86D), UINT64_C(0xBAB4AC45B3FFD529),
2240           UINT64_C(0xEDEA275F4C171C84), UINT64_C(0x0520925CD59B94D9)}},
2241         {{UINT64_C(0xB6A620AAE8718BB4), UINT64_C(0x67851F0F88D37A61),
2242           UINT64_C(0xCBEE8DBC9984A787), UINT64_C(0x7190B766AE834635)},
2243          {UINT64_C(0x3A1D7DB4C9AC1A8E), UINT64_C(0x6EEBD5AD7B97BCB7),
2244           UINT64_C(0x609786259D0AB769), UINT64_C(0x5AD56C0C7C7F02DD)}},
2245         {{UINT64_C(0x2C0003DE2DB3B6F2), UINT64_C(0x3BE1CE3FEFCF1DD8),
2246           UINT64_C(0xE2F79872379E6B8A), UINT64_C(0x3F9640D80B898094)},
2247          {UINT64_C(0x11EBD93715B29D41), UINT64_C(0xD6A076B93EF17D8C),
2248           UINT64_C(0x0A2C0016B38ED3BA), UINT64_C(0x64329A02CCB161CC)}},
2249         {{UINT64_C(0xD135032DB1ED1DEA), UINT64_C(0x43F7684842F734A0),
2250           UINT64_C(0x1F6C12BD3C18D8C5), UINT64_C(0x7D7757B7C0A304E8)},
2251          {UINT64_C(0x3F0C2867DE3B6B9F), UINT64_C(0x72F98EBBB7201E4F),
2252           UINT64_C(0xCC408000940E748D), UINT64_C(0x34FE6D8FAD74B322)}},
2253         {{UINT64_C(0xA12A9359E6D884FE), UINT64_C(0xB080A081DE063103),
2254           UINT64_C(0x672DE27D97ABB854), UINT64_C(0x712B0883EE6F3485)},
2255          {UINT64_C(0xF430BF2D2044A2A2), UINT64_C(0x665610207D12027A),
2256           UINT64_C(0x5ED63AD22C539C3B), UINT64_C(0x7982AAD0FE5EE1D1)}},
2257         {{UINT64_C(0x873DC8F63BE94D26), UINT64_C(0x909236394B41BD76),
2258           UINT64_C(0xE439A4960CBE4B5C), UINT64_C(0x424F8D2411782BF1)},
2259          {UINT64_C(0x6612BD9949686ED9), UINT64_C(0x78157AA9FB04E27E),
2260           UINT64_C(0x844E1616805F809C), UINT64_C(0x717AEB3262CB8BCD)}},
2261         {{UINT64_C(0xE98C1A0E5248CF6A), UINT64_C(0xC84294A8B0E4ADF8),
2262           UINT64_C(0xD35748A4A7769275), UINT64_C(0x2C3867E103363C82)},
2263          {UINT64_C(0x2EC7AF438F43885A), UINT64_C(0x7979D1A23AE516C7),
2264           UINT64_C(0x059939EC8B81056C), UINT64_C(0x434AA4DD7E358480)}},
2265         {{UINT64_C(0x12EA1C874A5228EA), UINT64_C(0x47B481984D293B9F),
2266           UINT64_C(0x319CE379E9696688), UINT64_C(0x7C9FF5957CE6FD05)},
2267          {UINT64_C(0x15E954DF3093E3E4), UINT64_C(0xBC98307C304015AF),
2268           UINT64_C(0x66522DF8975C69C5), UINT64_C(0x4C9EBFB3963CE892)}},
2269         {{UINT64_C(0x1CEEF18A628FB125), UINT64_C(0xFB69A2344BF30BB6),
2270           UINT64_C(0x510EB33970C9C864), UINT64_C(0x1EE9D1ED8A89151D)},
2271          {UINT64_C(0x340940284EE1A486), UINT64_C(0x664401672FC79CEE),
2272           UINT64_C(0xB597625AC7DA3A75), UINT64_C(0x6E5B920E65205AF9)}},
2273         {{UINT64_C(0x749D0CA4D87C914C), UINT64_C(0x55ECBEBB0D60C59E),
2274           UINT64_C(0x916A1127A65B4652), UINT64_C(0x503964D44E4767A3)},
2275          {UINT64_C(0x8899A4C21B1F94D5), UINT64_C(0xEFFCAF5233E0D94D),
2276           UINT64_C(0x61B89B3FA3DAD87D), UINT64_C(0x3CB455F55088D6BE)}},
2277         {{UINT64_C(0x5088A52B70678C14), UINT64_C(0x212823D941B00FC3),
2278           UINT64_C(0x38D5CEB619865BDB), UINT64_C(0x2E9C7FD712E63491)},
2279          {UINT64_C(0x6656F91659E73913), UINT64_C(0x57AE9A47E9035A63),
2280           UINT64_C(0x970DCF2BF02B8DAE), UINT64_C(0x3366F8A6950FF8A9)}},
2281     },
2282     {
2283         {{UINT64_C(0x93DABD6FAC4A8F83), UINT64_C(0x272334881CFF0AAD),
2284           UINT64_C(0xBCAC3181F500EDFB), UINT64_C(0x27C6DB15B5297515)},
2285          {UINT64_C(0x9CD142D92F08A89F), UINT64_C(0x3C0054232EAD0A80),
2286           UINT64_C(0x82845F9544A7623A), UINT64_C(0x5104707072BC4862)}},
2287         {{UINT64_C(0x4303797ADC1B9159), UINT64_C(0x7842434B5D9C9AC1),
2288           UINT64_C(0x8A36ED2D6009FE2E), UINT64_C(0x11FE35C95106429C)},
2289          {UINT64_C(0xDF20A39323554A92), UINT64_C(0x59364A48932E37C2),
2290           UINT64_C(0x6D7DE6AE7754A5DF), UINT64_C(0x00CCC6A3462725AC)}},
2291         {{UINT64_C(0xB1F86CA5BAE83077), UINT64_C(0x82FE28A55110782C),
2292           UINT64_C(0x8031BBF3D942182C), UINT64_C(0x4F1F3815410D9F83)},
2293          {UINT64_C(0xE57F9907835ABA65), UINT64_C(0x0A8220C25AA10903),
2294           UINT64_C(0x2E9847178812602E), UINT64_C(0x0AEC467D2A7D2C6C)}},
2295         {{UINT64_C(0xC779F708C4DBED03), UINT64_C(0x10A30CD88582BD4E),
2296           UINT64_C(0xFA5646C5243FEAEE), UINT64_C(0x1CFAF38ECA459EF7)},
2297          {UINT64_C(0xCCDD014695BC8077), UINT64_C(0x4ECDE91965858C49),
2298           UINT64_C(0x562764C677FEE1B6), UINT64_C(0x3CF5A3AB43524407)}},
2299         {{UINT64_C(0x0CCEAADD0F6EF445), UINT64_C(0x690C12C1C297AFAF),
2300           UINT64_C(0xD67AA6EAC15B3D7B), UINT64_C(0x445D233C9FF8884E)},
2301          {UINT64_C(0xC38FFD096CAD3234), UINT64_C(0xA690FFD1C7002F6F),
2302           UINT64_C(0xD445E85111ACB469), UINT64_C(0x64EE138097166E52)}},
2303         {{UINT64_C(0x1EB031CCCEFBFB0A), UINT64_C(0x60F3DEF4AA40D6A9),
2304           UINT64_C(0x240F7CA5F96FCAFE), UINT64_C(0x53AF2F10E4450A06)},
2305          {UINT64_C(0xE8AF980FA84058EF), UINT64_C(0x3E30001734AFFC6E),
2306           UINT64_C(0x62D1D094C86B458C), UINT64_C(0x5338383D75732C7E)}},
2307         {{UINT64_C(0x6BD46AEB04D82638), UINT64_C(0x86940A3162E645A0),
2308           UINT64_C(0xD025B4B1A5736B40), UINT64_C(0x1056D9D0924E8E5E)},
2309          {UINT64_C(0x3D0495CC1DB58101), UINT64_C(0xC300C6E72D677581),
2310           UINT64_C(0xFE38B898610AECEC), UINT64_C(0x1C8B94E2D66F64ED)}},
2311         {{UINT64_C(0x5C9C3A3706D0C7EC), UINT64_C(0x6B4B5437B8A74918),
2312           UINT64_C(0x85689C989052A235), UINT64_C(0x4F7C2C8D87B53AA6)},
2313          {UINT64_C(0x9FCD866FD8F1D334), UINT64_C(0xDBAAA2276898223C),
2314           UINT64_C(0x933DE9DA95C7B35A), UINT64_C(0x329AE20F3EA949FD)}},
2315         {{UINT64_C(0xB83547AF948A2ECD), UINT64_C(0xEBF7C1E7BE34890C),
2316           UINT64_C(0x5F0F44F3F8211C33), UINT64_C(0x14A10BDBC6927638)},
2317          {UINT64_C(0x7FD885675B579BF5), UINT64_C(0xD7C712815B7417F0),
2318           UINT64_C(0x7C04F1112083502E), UINT64_C(0x42029128E9AD6283)}},
2319         {{UINT64_C(0x32FBFFAE2C5C0928), UINT64_C(0x4E31D3121469F1D3),
2320           UINT64_C(0x17307E28D79F51A2), UINT64_C(0x546C91AF79A51EBD)},
2321          {UINT64_C(0x041D464D668086A6), UINT64_C(0x4986BDE50DB695DB),
2322           UINT64_C(0xCBA5F6EEEF317AA0), UINT64_C(0x5879259F730221D3)}},
2323         {{UINT64_C(0xBD9C5CA5253BB4BA), UINT64_C(0xBBFC60790E2A75BB),
2324           UINT64_C(0xB5F11AE367AB9033), UINT64_C(0x6411CB1EAC2BFAFE)},
2325          {UINT64_C(0x750734FEBF5390B0), UINT64_C(0xA044BED4879A3D3D),
2326           UINT64_C(0xE1E9F0E4A0C47093), UINT64_C(0x3BCAD93EB64DA48C)}},
2327         {{UINT64_C(0xAFC6BCB6B37E16C2), UINT64_C(0xB54F56C02331B0CD),
2328           UINT64_C(0x725E81B45BBFBEE7), UINT64_C(0x2AE0C039E8B9D922)},
2329          {UINT64_C(0x85301041DB958319), UINT64_C(0xDFAE34DD0681C4A4),
2330           UINT64_C(0x906C9219CBF7BB2B), UINT64_C(0x1463E9EF10A1710A)}},
2331         {{UINT64_C(0x41E6C38821E6FC9D), UINT64_C(0x0B629A1E24A39EC8),
2332           UINT64_C(0xC62F60BE1AEF7A46), UINT64_C(0x59A50B54C5A16B6E)},
2333          {UINT64_C(0x41CA367A285B891E), UINT64_C(0x70A6CE6BE2F8AF59),
2334           UINT64_C(0x74058747CBCEEF98), UINT64_C(0x4B912170601C375F)}},
2335         {{UINT64_C(0x7D975CE2734EE866), UINT64_C(0x8D3572C6A09F5F14),
2336           UINT64_C(0x1DB4CC882232EE5E), UINT64_C(0x6C9790497C04C250)},
2337          {UINT64_C(0xB5EC7706AE1EBC20), UINT64_C(0x7BDBD34DE21AAA32),
2338           UINT64_C(0xAD4125FDC5D1C733), UINT64_C(0x28B0302D731E6B09)}},
2339         {{UINT64_C(0xD68EEC491521415E), UINT64_C(0x31963424092763C0),
2340           UINT64_C(0xCA90F48D0BFB513B), UINT64_C(0x4814DDFF573A056A)},
2341          {UINT64_C(0x7E67599C400E804D), UINT64_C(0x3545275051FD0596),
2342           UINT64_C(0x45EDD7FBDB331B66), UINT64_C(0x172DA8B3BDEDE107)}},
2343         {{UINT64_C(0xD46F284CB5BEB1C8), UINT64_C(0x5DE5D3F17B125701),
2344           UINT64_C(0xC3BA591E248053D1), UINT64_C(0x4E67F1F29C8F487C)},
2345          {UINT64_C(0x380D93E48C252EC5), UINT64_C(0x913F96F122BC5CF6),
2346           UINT64_C(0xC1F06BBDD7BAA634), UINT64_C(0x7B625179A30BF1B9)}},
2347     },
2348     {
2349         {{UINT64_C(0x125D398DABD424AC), UINT64_C(0xFE65DF039CC70479),
2350           UINT64_C(0x89A31794FB5EC82C), UINT64_C(0x63EFFB55A31C5DCA)},
2351          {UINT64_C(0x948F7571045B576A), UINT64_C(0xEC9F6FAB022B5FC8),
2352           UINT64_C(0x174DC936BD9F0DD2), UINT64_C(0x5EEA65E6F4C4EE8B)}},
2353         {{UINT64_C(0xE97070AE8B800D67), UINT64_C(0xB9CB66FAB59B433E),
2354           UINT64_C(0xC4496574C6141364), UINT64_C(0x530AA9B56A9677EA)},
2355          {UINT64_C(0x4A4E2EE375200533), UINT64_C(0x4C38A5090F20A9BE),
2356           UINT64_C(0x0A6FFBA4EA683510), UINT64_C(0x7340EFEE65732EA9)}},
2357         {{UINT64_C(0x3A5612E4E41C2B43), UINT64_C(0x31F51B80FCB5C0A8),
2358           UINT64_C(0x4C5BBA64BD1F03E6), UINT64_C(0x253872433694ADCA)},
2359          {UINT64_C(0xF114EFAF1F7E4D5C), UINT64_C(0xBEA5223A4EA3A59D),
2360           UINT64_C(0x82CEF46F67EB414D), UINT64_C(0x09D351C19B6CAC3D)}},
2361         {{UINT64_C(0xC69F25CE810F5054), UINT64_C(0xE33E5E97548A2CDF),
2362           UINT64_C(0x20B3F44236946D3C), UINT64_C(0x572C0F5C65DF2D3B)},
2363          {UINT64_C(0xFC5B2DF3CC953CC8), UINT64_C(0x934D54C0D1CCADC6),
2364           UINT64_C(0x828A906EA6E7B4DB), UINT64_C(0x610D36C15AD3076F)}},
2365         {{UINT64_C(0x960B0A0174F56E27), UINT64_C(0x9942C6ACCF3FEA75),
2366           UINT64_C(0x2E4D786D82C51490), UINT64_C(0x23A516369A4749C9)},
2367          {UINT64_C(0xD86AB36A2F7560FC), UINT64_C(0xDA66B49DDDB852A9),
2368           UINT64_C(0x84E1587D544C1023), UINT64_C(0x7AB8BC696AA3C1DA)}},
2369         {{UINT64_C(0xFD0397AFA5F30701), UINT64_C(0x96FFB15DDFC8B187),
2370           UINT64_C(0xF2C864531475E520), UINT64_C(0x71521986EF37300E)},
2371          {UINT64_C(0xD81F75A868006D45), UINT64_C(0xDF7814EACBC06D4D),
2372           UINT64_C(0x5BCF959B2E8E9150), UINT64_C(0x146D37D756668C18)}},
2373         {{UINT64_C(0x1ABD731288E8DC77), UINT64_C(0x0B34B877C1C3A4DB),
2374           UINT64_C(0x85739093F844BACE), UINT64_C(0x5DEDCF8F04A7CF80)},
2375          {UINT64_C(0xD8BB237ED87CDBDC), UINT64_C(0x89852174CCBA784F),
2376           UINT64_C(0x6843BAB8B2FAECC3), UINT64_C(0x15268302AA4BBA32)}},
2377         {{UINT64_C(0x3B58225AB23D3770), UINT64_C(0x9357EB5910CC9DE6),
2378           UINT64_C(0x8665F92A42ECF80E), UINT64_C(0x4819CC9DC875C031)},
2379          {UINT64_C(0x09CBE5D8C34B979B), UINT64_C(0x161E8AC07E1D0E63),
2380           UINT64_C(0x874DF24F282E36E8), UINT64_C(0x6528E6FA0712A0CD)}},
2381         {{UINT64_C(0xE37AD786107633E4), UINT64_C(0x122D7123CF1FE646),
2382           UINT64_C(0x1E6E682BCFA93AC0), UINT64_C(0x0A25F4EE276200DB)},
2383          {UINT64_C(0x44E290EDE25FBB01), UINT64_C(0x3E392DF5C3C1B418),
2384           UINT64_C(0xE5E1574583EBE689), UINT64_C(0x016139D24B999926)}},
2385         {{UINT64_C(0x048915B065D7DA58), UINT64_C(0x6EF7C4EFA78F3D9E),
2386           UINT64_C(0x78CCCE55AD614974), UINT64_C(0x43DB7DA054B95643)},
2387          {UINT64_C(0xFC423B70E53F1A67), UINT64_C(0x8F8BED814EFE2427),
2388           UINT64_C(0xF5D6AD5F95B045EB), UINT64_C(0x23582D5DD7407716)}},
2389         {{UINT64_C(0x9E5D24FB9F674472), UINT64_C(0x1AE1863668626041),
2390           UINT64_C(0x8977E68F7ABC4380), UINT64_C(0x7D9FF8E805AF2D04)},
2391          {UINT64_C(0x9D31195F4197C4E1), UINT64_C(0x9F3F6E114400F35E),
2392           UINT64_C(0x1A87D5867BBEF801), UINT64_C(0x42AE0380952BB025)}},
2393         {{UINT64_C(0xC6A3ED756B96482B), UINT64_C(0x58B38724A9C6DD2F),
2394           UINT64_C(0x464C8CE89297FB47), UINT64_C(0x0245797EFB6D6C55)},
2395          {UINT64_C(0xBE141C80C0B58C8F), UINT64_C(0xC4C405CB77766C48),
2396           UINT64_C(0xD57EE428D10C0F31), UINT64_C(0x03D4862B50E8FE7B)}},
2397         {{UINT64_C(0x21976F8A1DC3722C), UINT64_C(0x02EC30D55F476F0D),
2398           UINT64_C(0xD711E01DCA434B06), UINT64_C(0x551AC91099FF2488)},
2399          {UINT64_C(0x24AEC72DA56CA3C7), UINT64_C(0x2DD1219A891896CE),
2400           UINT64_C(0xD84BAD1967882925), UINT64_C(0x27E65D7F9D4778EF)}},
2401         {{UINT64_C(0x09F19C8F4685687F), UINT64_C(0xB7C7B9E3BBB58BD3),
2402           UINT64_C(0x349D03A78FA34DD5), UINT64_C(0x41F9D0038D59E889)},
2403          {UINT64_C(0xCF3367D42B3ED6FA), UINT64_C(0xCF3C6715378DA1ED),
2404           UINT64_C(0x86DC39034E935E9A), UINT64_C(0x50692CFFF08CB23A)}},
2405         {{UINT64_C(0x18CA772AC2D65C87), UINT64_C(0xC9092B384F1D0CB6),
2406           UINT64_C(0x91E71CF1BBD2015A), UINT64_C(0x4A09DAAC4F3DEF26)},
2407          {UINT64_C(0x7CCA7B4A735C9281), UINT64_C(0x2028F1441BF0AAEE),
2408           UINT64_C(0xCF72A082ACB5B748), UINT64_C(0x58957D5D43299B85)}},
2409         {{UINT64_C(0x64BB164E901F1789), UINT64_C(0xC68766E65AEF97BF),
2410           UINT64_C(0x30ECA3E2942B6DCE), UINT64_C(0x632676FAF9E798F3)},
2411          {UINT64_C(0xB52533D3F13896EE), UINT64_C(0xAD9128312D8A29C1),
2412           UINT64_C(0x12F1B9A4BC14E7FF), UINT64_C(0x4E1D23FD8828D196)}},
2413     },
2414     {
2415         {{UINT64_C(0xC4F89E00EF494793), UINT64_C(0xA6044BC3C93D2F55),
2416           UINT64_C(0x68E60B588797F8AF), UINT64_C(0x4D5969FA841E4B5E)},
2417          {UINT64_C(0xB1EE70FBD759BB2D), UINT64_C(0x9AC3043366D8AD01),
2418           UINT64_C(0xD93F23DB84E9F677), UINT64_C(0x2AD9D16FC53029A4)}},
2419         {{UINT64_C(0xD01FC16BDD882D23), UINT64_C(0x3BF921F1FA5B4128),
2420           UINT64_C(0x3D3FE145235BC9CE), UINT64_C(0x5955671662E686E1)},
2421          {UINT64_C(0xE329A7C279F99D69), UINT64_C(0xA67EF5ECA4F5F5F5),
2422           UINT64_C(0xF96A41EED5A34FF0), UINT64_C(0x09D0CF0674674B5F)}},
2423         {{UINT64_C(0x8CCDF71C6135B7E2), UINT64_C(0x91F1E33EAFB6AD6B),
2424           UINT64_C(0xC452F439DB0CFEDF), UINT64_C(0x15724711C05B06D4)},
2425          {UINT64_C(0x5FEE0E0EA3BC1277), UINT64_C(0xD6847FAD8D8BA081),
2426           UINT64_C(0x8B02666C0D4C8DDD), UINT64_C(0x149E5009C35559DB)}},
2427         {{UINT64_C(0xB4D0D2C95461D9CA), UINT64_C(0xFE7993B6CE0A3973),
2428           UINT64_C(0x42B2A500D6032E95), UINT64_C(0x4DEEE35A217131C6)},
2429          {UINT64_C(0x94E65C8CFFE7C2EB), UINT64_C(0x0DAD7785B19D4B4A),
2430           UINT64_C(0xEEBA6794925613F9), UINT64_C(0x6AF45BBEE30494CB)}},
2431         {{UINT64_C(0x41352A6132F43F67), UINT64_C(0x0D218DE948F886D3),
2432           UINT64_C(0xCDFC0C559B33B0F6), UINT64_C(0x21FC63536C5B90CD)},
2433          {UINT64_C(0x5D8CA5AD7898AFF2), UINT64_C(0xA743F80E24287C30),
2434           UINT64_C(0x4D0371319084A3A2), UINT64_C(0x52041EEDB5EFC978)}},
2435         {{UINT64_C(0x80B588EECC1BCFCB), UINT64_C(0xAD871A11E5CE0035),
2436           UINT64_C(0xF47224D0F966D746), UINT64_C(0x5215A9D2B387FCC2)},
2437          {UINT64_C(0xC54EB2E7695C02AF), UINT64_C(0x36FD06BCDFC8493D),
2438           UINT64_C(0x1CE8A9AA98CE7C76), UINT64_C(0x058DFCBF644D398B)}},
2439         {{UINT64_C(0xCD7E67DC5BB81464), UINT64_C(0xE7A19301047A7789),
2440           UINT64_C(0xCCC31EE5573E837B), UINT64_C(0x25EE99AFAF7703D5)},
2441          {UINT64_C(0x34FDD6DADDB3E807), UINT64_C(0x273D8288109092DD),
2442           UINT64_C(0xF8F2464FB7357633), UINT64_C(0x26B2CBADCCAA31D5)}},
2443         {{UINT64_C(0xBA9CFEDEF707F9F7), UINT64_C(0xA9A6896CAC4975FB),
2444           UINT64_C(0x62135D9DBB1C35E4), UINT64_C(0x13AE840FCBA133D2)},
2445          {UINT64_C(0x6ABF39134C2BA3A9), UINT64_C(0xE4D8508A6D8A62C1),
2446           UINT64_C(0xF256535466D96607), UINT64_C(0x5C368CCEB6CABAE8)}},
2447         {{UINT64_C(0x0C3B52E88B3999BB), UINT64_C(0xB752E28FEF691871),
2448           UINT64_C(0xA0460ABCF17D0D2D), UINT64_C(0x7DDCE3C1B7741F2C)},
2449          {UINT64_C(0x076A6BAB3673000F), UINT64_C(0xCDB1CD2B425E8A9D),
2450           UINT64_C(0x357FCFFF2606EAB5), UINT64_C(0x308644F8035DE7B4)}},
2451         {{UINT64_C(0xBA64A1276D6FF45E), UINT64_C(0x1F52B6AE6B0C3CEF),
2452           UINT64_C(0x91295179CBF496CB), UINT64_C(0x2B986FADA1B12BE4)},
2453          {UINT64_C(0x243D236644DBAF57), UINT64_C(0x48E22BBA346E88C2),
2454           UINT64_C(0xCDFB79578BBAFA0D), UINT64_C(0x094ED36E0D70670E)}},
2455         {{UINT64_C(0x2BAD1539A0D60407), UINT64_C(0xC1A9286E6E744111),
2456           UINT64_C(0x6D08C0DB81A6DCAA), UINT64_C(0x108F35EC80AFB34F)},
2457          {UINT64_C(0xBE79A6E31E3E34AE), UINT64_C(0x206EAA2816D524E5),
2458           UINT64_C(0x563B6E1C344ABA64), UINT64_C(0x6C362A613207CA68)}},
2459         {{UINT64_C(0x04D8145BEF9A9A0F), UINT64_C(0x8B57559BA15B6247),
2460           UINT64_C(0x72D53570303AFBF3), UINT64_C(0x01C36B41D6DB5736)},
2461          {UINT64_C(0x94D583C91173B5FA), UINT64_C(0x71F8E12D013C8AAA),
2462           UINT64_C(0xA4B5A532F29CB838), UINT64_C(0x4B1797007CE4EBA4)}},
2463         {{UINT64_C(0x69CFA7B00CE86FC3), UINT64_C(0x3705D7C0D60E076C),
2464           UINT64_C(0xB1A1464AB1091E10), UINT64_C(0x097945A97FE80950)},
2465          {UINT64_C(0xD9C71A959AA381E3), UINT64_C(0x2A929073A410FF56),
2466           UINT64_C(0x79EF8353F0FEB121), UINT64_C(0x1437C4B05F3107E5)}},
2467         {{UINT64_C(0xC5128C8B621DB2E5), UINT64_C(0x4E9C9B2E51A9499A),
2468           UINT64_C(0x11535880D8CD7594), UINT64_C(0x35A26F59B0697C07)},
2469          {UINT64_C(0xAB3F4B75C43B624E), UINT64_C(0x69F82105B8E03E6B),
2470           UINT64_C(0xFB268288FB04E036), UINT64_C(0x6A5E6BD3A0BDB41C)}},
2471         {{UINT64_C(0x8C716A1AC8082916), UINT64_C(0xB1D1B1524592472C),
2472           UINT64_C(0x63657A6D3AB6938A), UINT64_C(0x44882EB6F03214AE)},
2473          {UINT64_C(0x19575B8AC615AF7D), UINT64_C(0x14D740C135EE3D98),
2474           UINT64_C(0xBC478E8957768D2D), UINT64_C(0x30CC8FA213FC5E4C)}},
2475         {{UINT64_C(0x705607C54EBE1E7C), UINT64_C(0x631E5B88284EDA2B),
2476           UINT64_C(0x07E9E39C07F54DDB), UINT64_C(0x4E554D888DCF6BC5)},
2477          {UINT64_C(0x12E9FB200CBAB0FE), UINT64_C(0x6F3BC7CEBA5E007F),
2478           UINT64_C(0xA770BA1DBC871DF6), UINT64_C(0x541AA4C6FE01142C)}},
2479     },
2480     {
2481         {{UINT64_C(0xBFE26700F2412EC7), UINT64_C(0x0E975796CFE96AF4),
2482           UINT64_C(0x7D30BF7CDD6B04F7), UINT64_C(0x5421925DF1D8FCE4)},
2483          {UINT64_C(0x1CF5E9F5EC709107), UINT64_C(0x124FCFC2B4580AA9),
2484           UINT64_C(0x02F7012B67A835B3), UINT64_C(0x753FE01B47C0760F)}},
2485         {{UINT64_C(0x82FD5D47B1D2A896), UINT64_C(0x7EABC17554E75DDB),
2486           UINT64_C(0x724FC3A81AB080BC), UINT64_C(0x363D6016A75C31DD)},
2487          {UINT64_C(0x5D465FF2863F308F), UINT64_C(0x9EC70664E515ADCB),
2488           UINT64_C(0x4BD7A1A2B3BC206A), UINT64_C(0x2022576C4A167D34)}},
2489         {{UINT64_C(0xF5AC34515CD6AC65), UINT64_C(0x7629731E5839F554),
2490           UINT64_C(0xA3260AE393545A60), UINT64_C(0x49D190E8A7AD1979)},
2491          {UINT64_C(0x5AA8492FF0B35045), UINT64_C(0x4A5FAB7B2584E651),
2492           UINT64_C(0x5A05420E395E2AAE), UINT64_C(0x30613C78547B4038)}},
2493         {{UINT64_C(0x47E1C59DF9DAE7E6), UINT64_C(0x8D68839B247A5A9D),
2494           UINT64_C(0x663B5977C1A80D5E), UINT64_C(0x5E51F87240D8CF32)},
2495          {UINT64_C(0x88ADBF9EECE49494), UINT64_C(0x40B4AC5C1792BAE8),
2496           UINT64_C(0x278200D19A1B3314), UINT64_C(0x7D15320ED9F83584)}},
2497         {{UINT64_C(0xFE6DAA74EAF2BFF8), UINT64_C(0x6E4EE4C0C156AA6B),
2498           UINT64_C(0xD9310FF8D0F4E7D5), UINT64_C(0x552EEF9E7BB0C42D)},
2499          {UINT64_C(0x323FF6F1FDC69E1A), UINT64_C(0x00FA66B741D79365),
2500           UINT64_C(0x0006B16EA96B22B4), UINT64_C(0x71BBC653D20F07BE)}},
2501         {{UINT64_C(0x89A7B7EEA440FA1C), UINT64_C(0x52BB5278757CD658),
2502           UINT64_C(0xC5906F4BB0CDDEA4), UINT64_C(0x66AAAFEE5DE2D8DA)},
2503          {UINT64_C(0x4D5E016A53B6E226), UINT64_C(0xA2F73DC61993A1D7),
2504           UINT64_C(0x7CDD4C1DA09DD554), UINT64_C(0x6F723079AB416627)}},
2505         {{UINT64_C(0xE641639EC4E5C4AF), UINT64_C(0x8BC6100D371CC648),
2506           UINT64_C(0x7BD161B19B216E8A), UINT64_C(0x58098AEBF810DB32)},
2507          {UINT64_C(0xEE52BB465AD92372), UINT64_C(0x4B2C48E1EEF938CA),
2508           UINT64_C(0xE8FDE4D6AB43A5D0), UINT64_C(0x459274CDA5284C83)}},
2509         {{UINT64_C(0xA98925B0D015095D), UINT64_C(0xC8969F5F4611A1A5),
2510           UINT64_C(0xBDDCD62F2CE4663B), UINT64_C(0x1C9D9007A076C8BE)},
2511          {UINT64_C(0xE8DE8890749F7BE5), UINT64_C(0xC9E455E7FF208E75),
2512           UINT64_C(0xDCEE17A98F5FAC9A), UINT64_C(0x776B72D368A3A666)}},
2513         {{UINT64_C(0x28C7D648FEE0E89A), UINT64_C(0x621B370F463AF60D),
2514           UINT64_C(0x9DC1548E5ADC8ACD), UINT64_C(0x48032ACFA0B49504)},
2515          {UINT64_C(0x146C6EAC85E992D5), UINT64_C(0x5A2CB5775CB491E0),
2516           UINT64_C(0x669DD6D4454C120A), UINT64_C(0x3431AB3398203C39)}},
2517         {{UINT64_C(0xE87615039DE017BF), UINT64_C(0xAB117D2FB60AE61F),
2518           UINT64_C(0x0846463F827937FF), UINT64_C(0x45E6BD406BD89C65)},
2519          {UINT64_C(0x3160AD67A613BDB8), UINT64_C(0xBD5266F3B8714A49),
2520           UINT64_C(0xF7D29C4751A233E4), UINT64_C(0x6887B48D4DE6A90C)}},
2521         {{UINT64_C(0x087290A5DFDE1EF8), UINT64_C(0xC70CCB52A166950A),
2522           UINT64_C(0xAA7F095B4A170AAE), UINT64_C(0x15301F4E5517CA0B)},
2523          {UINT64_C(0x3C86B787302F1F84), UINT64_C(0x95D4153544676E39),
2524           UINT64_C(0xBFEC4AE39DF5F751), UINT64_C(0x4A0D3986304923D3)}},
2525         {{UINT64_C(0x70FAABA979B1390C), UINT64_C(0xA9067EEE62BA8B9E),
2526           UINT64_C(0x987895031E17DF6F), UINT64_C(0x5997E8AE78D5B295)},
2527          {UINT64_C(0x31E13AD7AE0C6768), UINT64_C(0x23262F05EF17A7B1),
2528           UINT64_C(0x1580322749B7B101), UINT64_C(0x1234A9C536B5BA70)}},
2529         {{UINT64_C(0xED65C961395793AC), UINT64_C(0x01157CD8CCDE1C47),
2530           UINT64_C(0x0D0240B01D5614DF), UINT64_C(0x0F0DA1EF568E83A5)},
2531          {UINT64_C(0x57C90846C0B783C1), UINT64_C(0x4501048C81E2F613),
2532           UINT64_C(0x03D8A69BA2709DC1), UINT64_C(0x06F365C4A97CCE0E)}},
2533         {{UINT64_C(0xEAF23159551580CD), UINT64_C(0x0F1E586A053DD5EE),
2534           UINT64_C(0xEB7A78DD3CBCC3D5), UINT64_C(0x39BBC65AB014B850)},
2535          {UINT64_C(0x13DA4E8579B61AC7), UINT64_C(0x33E78DCF0DA59E37),
2536           UINT64_C(0x4E65AF252A643C4C), UINT64_C(0x0DC38C9708869D03)}},
2537         {{UINT64_C(0x2B648345A3A38837), UINT64_C(0x2FA6D8F7905E261D),
2538           UINT64_C(0xA23BD78666A14946), UINT64_C(0x781633FD5E01CC9A)},
2539          {UINT64_C(0xB1352709E2C71AD1), UINT64_C(0x9D74505283A6D365),
2540           UINT64_C(0xD88B5CAE66567032), UINT64_C(0x27FC40DF53D875CA)}},
2541         {{UINT64_C(0xB254E54C47F7554F), UINT64_C(0x33AD0ED6D708614D),
2542           UINT64_C(0x830566A376CE908D), UINT64_C(0x73DF94BDAA1ADD5C)},
2543          {UINT64_C(0x23EC411F2DBDD8A3), UINT64_C(0x9BA473383A979FDC),
2544           UINT64_C(0x56A2C27FC667E9F7), UINT64_C(0x295647C7427E6BFB)}},
2545     },
2546     {
2547         {{UINT64_C(0x9B5F4652F8E48C13), UINT64_C(0xE979034F9EEF4BA3),
2548           UINT64_C(0xF95FD7767CF5AF6E), UINT64_C(0x4236C47E506CEB46)},
2549          {UINT64_C(0x0C02A249E08D2312), UINT64_C(0xAA5A38CCC056499A),
2550           UINT64_C(0xCB26A8E27C188B64), UINT64_C(0x38FB961D0AE373D5)}},
2551         {{UINT64_C(0xEB179C9E7B23470D), UINT64_C(0xAE70102F1EBC44E7),
2552           UINT64_C(0x8184C1D492E0EED0), UINT64_C(0x329882815C21BF08)},
2553          {UINT64_C(0x469589678180D11E), UINT64_C(0xEBD5518C7FD7278D),
2554           UINT64_C(0xFCEB7F68AD2B74F7), UINT64_C(0x082D2011F9C7B6DA)}},
2555         {{UINT64_C(0x65D5AED1BBE0299D), UINT64_C(0x0077F756CF565A0A),
2556           UINT64_C(0xD44FCD6B344BB90D), UINT64_C(0x6C2A19C0536F3F25)},
2557          {UINT64_C(0x32EE7439BB2A4D91), UINT64_C(0xA97E677AED9351E1),
2558           UINT64_C(0x6752EDCF413A16E0), UINT64_C(0x5DE1B0C71CE4FBE6)}},
2559         {{UINT64_C(0x6C10DA15D6009B36), UINT64_C(0xAAD05F4FE5D8CFBE),
2560           UINT64_C(0xD8BCE0B431D58B76), UINT64_C(0x08DE344E27B2811B)},
2561          {UINT64_C(0xD9A78AAE80B51E48), UINT64_C(0x1E1D0A813E41C63A),
2562           UINT64_C(0x844376DE8076B3C7), UINT64_C(0x73F0D4A35FDF9D53)}},
2563         {{UINT64_C(0xF1532922558C7719), UINT64_C(0x0F10188AA8221197),
2564           UINT64_C(0x51A97E5F5DDC1716), UINT64_C(0x0F583A9B444789E7)},
2565          {UINT64_C(0xAA8FC58D97D63B87), UINT64_C(0xA5AF048B1CFDA59C),
2566           UINT64_C(0x2A4A0C5F2DDB34EB), UINT64_C(0x66C0F0C7701E2E07)}},
2567         {{UINT64_C(0xC0BC88B836BE2ABF), UINT64_C(0x265CCE745C721B85),
2568           UINT64_C(0x483EBB01D54299BA), UINT64_C(0x18F11CBE348ED89E)},
2569          {UINT64_C(0x5E9AE7B9E42129D4), UINT64_C(0x6B3E9E8D81DE5B77),
2570           UINT64_C(0xB3ADBAC97A14A74A), UINT64_C(0x1B6CEBB20003B266)}},
2571         {{UINT64_C(0xD4D4DD1015EB200E), UINT64_C(0xEEAEA4C6FB87C57B),
2572           UINT64_C(0x48F0B95772FF6321), UINT64_C(0x187C4B75B782B01D)},
2573          {UINT64_C(0x3DC1AACDE9B4D622), UINT64_C(0x0358418E3F4ED519),
2574           UINT64_C(0x981A24F8773D019C), UINT64_C(0x6643CA913DB0B4F4)}},
2575         {{UINT64_C(0xE3254F4BD47670E3), UINT64_C(0x9822612530B1DDE9),
2576           UINT64_C(0x61EB6C86DA8AF160), UINT64_C(0x725C771618363269)},
2577          {UINT64_C(0xB051DC9F02F62462), UINT64_C(0xFF8C9EDF00AC5531),
2578           UINT64_C(0x3909C79B962A92A3), UINT64_C(0x25C90D9327790237)}},
2579         {{UINT64_C(0x0A5DF2CC88ADC475), UINT64_C(0x48D26967E5D27D0A),
2580           UINT64_C(0x21D5F616359FF194), UINT64_C(0x38ACD14189977CE2)},
2581          {UINT64_C(0x39B9BD92FDAA8ACB), UINT64_C(0xDB157DF2035B62D0),
2582           UINT64_C(0x4E33386EB7D252D9), UINT64_C(0x6BD2E33FCF196258)}},
2583         {{UINT64_C(0xE0806297CE8F10C5), UINT64_C(0x446AFD6D8A14B746),
2584           UINT64_C(0xD7931F29BF566190), UINT64_C(0x4D9CFBFA86FDB72A)},
2585          {UINT64_C(0x7752885195009F63), UINT64_C(0x5FE5013434C0FF45),
2586           UINT64_C(0xC38CABBB6E134B81), UINT64_C(0x2E60B277E36DB037)}},
2587         {{UINT64_C(0xA614CF6757184CA5), UINT64_C(0x6CBD8D6325BE01E3),
2588           UINT64_C(0xE313EE8DA0030BE3), UINT64_C(0x69AF03992B1E7C60)},
2589          {UINT64_C(0x519ABFBB50423F30), UINT64_C(0x200111FF486B9519),
2590           UINT64_C(0x6FF93CCB3351F692), UINT64_C(0x32EB3E543ED9BE71)}},
2591         {{UINT64_C(0x0851ACB954052EBD), UINT64_C(0x3A389B7B6D2336D7),
2592           UINT64_C(0x50A8792517C6ACD9), UINT64_C(0x031FE845B807D9B1)},
2593          {UINT64_C(0xA348BB01E22F7492), UINT64_C(0x9547ED3605F39661),
2594           UINT64_C(0x97DF675668EC4AC2), UINT64_C(0x5836FEFE85B7F81B)}},
2595         {{UINT64_C(0x4E4869A65F0B2ACB), UINT64_C(0xC4798F3FDEC46001),
2596           UINT64_C(0x281A4ED600903474), UINT64_C(0x04F22E9DEFB9AABD)},
2597          {UINT64_C(0x2AC92264FAA721A4), UINT64_C(0xBCE2FF0B276F8041),
2598           UINT64_C(0x5F605607E4943926), UINT64_C(0x388C5FAB55506DF7)}},
2599         {{UINT64_C(0xFF104F6DAB5687E2), UINT64_C(0x1B6DAFE93B2D0245),
2600           UINT64_C(0x6405C02681B2EC4B), UINT64_C(0x2B7676DAF489EBBC)},
2601          {UINT64_C(0xBAA158F06DA1F57A), UINT64_C(0x9CB044AD27A8457F),
2602           UINT64_C(0xC23737A5A3BBD6C9), UINT64_C(0x71FB5B471D2267E1)}},
2603         {{UINT64_C(0x779BD825D14F56E4), UINT64_C(0xD7E672A008396F23),
2604           UINT64_C(0x23FE3FC0D40BA6EE), UINT64_C(0x41E749E73B56A3AB)},
2605          {UINT64_C(0xD19471CE72042F67), UINT64_C(0x8A686DA74989D4D7),
2606           UINT64_C(0x52A709C64FA09BC9), UINT64_C(0x1DC21162B3B6AA64)}},
2607         {{UINT64_C(0x62C9838BF9B3BD1D), UINT64_C(0x1EE59E5A0CE6384C),
2608           UINT64_C(0xA9F5ABF6ECE8CC7F), UINT64_C(0x1961D80F80BDDA83)},
2609          {UINT64_C(0x7A40880CCA406FB1), UINT64_C(0x5035D307DFBCE2E4),
2610           UINT64_C(0x590259E03D637299), UINT64_C(0x1607AC9FD6C34E05)}},
2611     },
2612     {
2613         {{UINT64_C(0x4ABC27109D818B72), UINT64_C(0x2496CEA6092607B7),
2614           UINT64_C(0xFB1087E1055C4EC8), UINT64_C(0x50A30C6A258ADC7D)},
2615          {UINT64_C(0xAF4EB6B30FF502E3), UINT64_C(0x5D5D76AD190607AB),
2616           UINT64_C(0xC9C9B71134482C13), UINT64_C(0x574A971842213696)}},
2617         {{UINT64_C(0x7C90FAFD7018FC70), UINT64_C(0x36A045592B83291C),
2618           UINT64_C(0x6120B51E40D1B175), UINT64_C(0x45F10B203DCF9606)},
2619          {UINT64_C(0x3C6A9EFFF20C5636), UINT64_C(0xB2768BA3FFBBC648),
2620           UINT64_C(0x1C9DF90AB523B36C), UINT64_C(0x4148BF06D6FF34ED)}},
2621         {{UINT64_C(0x3D29821A3B5F9492), UINT64_C(0xAE12C78290B24561),
2622           UINT64_C(0xEF6FB2778A3BDC5F), UINT64_C(0x6034BF3BAC3BD74E)},
2623          {UINT64_C(0x131D57CD4ACB6F85), UINT64_C(0xDED1C4333BE79B31),
2624           UINT64_C(0xB091348978A896B8), UINT64_C(0x1247C0B7B287862C)}},
2625         {{UINT64_C(0xEB6428937C494054), UINT64_C(0x7922793022142D26),
2626           UINT64_C(0x8F1C8371943E8398), UINT64_C(0x583C7AEF60886DB7)},
2627          {UINT64_C(0xAFE460223A12EE0E), UINT64_C(0xE9C9253AB6CB8685),
2628           UINT64_C(0x5334F9DD6316A4C6), UINT64_C(0x4E2F13D8E6F1DEE9)}},
2629         {{UINT64_C(0x7499A5B4B37D8BA5), UINT64_C(0xA12AA6371C9BCDE2),
2630           UINT64_C(0xCC99471DBFD6AE86), UINT64_C(0x0996637892048D63)},
2631          {UINT64_C(0x42CBFA9D552E71A3), UINT64_C(0x84A8B153675C1716),
2632           UINT64_C(0xB9C07C0E4CF00A7D), UINT64_C(0x32E2322B0DA504DB)}},
2633         {{UINT64_C(0x569F581FE671EE59), UINT64_C(0x293522D7422E86C7),
2634           UINT64_C(0x5E4CEA7E15DCEF10), UINT64_C(0x67C8A9FC483C0FE3)},
2635          {UINT64_C(0x4DE5AC0947B79284), UINT64_C(0x22AB8FBD025016BA),
2636           UINT64_C(0x51318C232A099B37), UINT64_C(0x542EA0FA49E06623)}},
2637         {{UINT64_C(0xDD240F6428909F31), UINT64_C(0x46B66F9E101B7F01),
2638           UINT64_C(0x788C29CA20481C3F), UINT64_C(0x3218A509CA5D5182)},
2639          {UINT64_C(0x64BCC7AD63E9A2B9), UINT64_C(0x3D213CA2ADDF5C0B),
2640           UINT64_C(0x6D93ED4C9960D650), UINT64_C(0x3F13DB22284EE5F3)}},
2641         {{UINT64_C(0x5B678C3A6697E0D1), UINT64_C(0x25A171F416D9D878),
2642           UINT64_C(0xC20A6D80FAEC362B), UINT64_C(0x1BB3F14CC512EA4B)},
2643          {UINT64_C(0xECE5313B2AE35FA5), UINT64_C(0xE390A01FBBD76B87),
2644           UINT64_C(0xC78EA4C5882DA3FC), UINT64_C(0x771BCDAE42086A77)}},
2645         {{UINT64_C(0x8E9E3C8B565802E9), UINT64_C(0xC37A7B3553FA1BE7),
2646           UINT64_C(0x9D2F1A264408FB77), UINT64_C(0x0B3ECE36FF308B7B)},
2647          {UINT64_C(0x8FB35B361F30FC37), UINT64_C(0x463B44E283E1A3C9),
2648           UINT64_C(0x7218F09F3402233A), UINT64_C(0x1519638AFC9A6990)}},
2649         {{UINT64_C(0x51FB3E5D8EAAC478), UINT64_C(0x620E4826760ED4EC),
2650           UINT64_C(0x46FC5B1F1D865577), UINT64_C(0x15EF2AD95244A538)},
2651          {UINT64_C(0x8D7E477C4BF382BD), UINT64_C(0xCBF170C902A5C9EE),
2652           UINT64_C(0xB91A870C4AFB0EC1), UINT64_C(0x052FFC5169C31425)}},
2653         {{UINT64_C(0x1FD437462018D066), UINT64_C(0xBC5015174C67FC35),
2654           UINT64_C(0xE65BC2FBBC990EB6), UINT64_C(0x538CA6F973F87F92)},
2655          {UINT64_C(0x42FBDAE08352B03F), UINT64_C(0xF265B1E099A4C9B9),
2656           UINT64_C(0x6E3EAB2F185CA070), UINT64_C(0x6E6F4F7D37D0A2C1)}},
2657         {{UINT64_C(0x9B20D8EEC2D5D73E), UINT64_C(0x190521AE75844C15),
2658           UINT64_C(0x67663AC426AD08FE), UINT64_C(0x67AEEFEFF984EC06)},
2659          {UINT64_C(0x61C71142CBDD87EF), UINT64_C(0x0FA4995B63396E3B),
2660           UINT64_C(0x3196E55185C193B0), UINT64_C(0x36C0A2A8DACB3A3D)}},
2661         {{UINT64_C(0xEAB89FDC178A1115), UINT64_C(0xC7B764D8D7C31303),
2662           UINT64_C(0xA5B2D6FB90203755), UINT64_C(0x3C360BF9D5F8AEEE)},
2663          {UINT64_C(0x8DFDCD0502F1CC3C), UINT64_C(0x7F8A64D264E5269E),
2664           UINT64_C(0xA36196ECEA13FFD7), UINT64_C(0x35E2241577E3839F)}},
2665         {{UINT64_C(0x29E7AB0BE22E0C52), UINT64_C(0x68BF32C78B27DEDA),
2666           UINT64_C(0x52A762A2DC7971AE), UINT64_C(0x4CA4348718B0CDCC)},
2667          {UINT64_C(0xED429DA13FCEAF73), UINT64_C(0x49396E6F06718D19),
2668           UINT64_C(0xDECB93375BB3301C), UINT64_C(0x4B7723C10FF489B1)}},
2669         {{UINT64_C(0xAE321F09ABEE6B9B), UINT64_C(0xF251BF4D37318F60),
2670           UINT64_C(0xB0A8A251B63DC269), UINT64_C(0x514A25FC71817963)},
2671          {UINT64_C(0x518F574755C9B2E9), UINT64_C(0x3E56CC3E1C9B4845),
2672           UINT64_C(0xBDFD637A283AE1FA), UINT64_C(0x419BA4B4C3DE778E)}},
2673         {{UINT64_C(0xC7F18E93BCD2EB74), UINT64_C(0x171264C8FC61FB42),
2674           UINT64_C(0x27282E7685119033), UINT64_C(0x225006A4D7DB91C7)},
2675          {UINT64_C(0x628E0F3C1ECF5024), UINT64_C(0xDC5111E000859CDE),
2676           UINT64_C(0x4AB1764F1F220711), UINT64_C(0x7C6916F170DDED3C)}},
2677     },
2678     {
2679         {{UINT64_C(0xF9FFE8FC5F0CA58A), UINT64_C(0x09E34F3022879EBB),
2680           UINT64_C(0x648D6339ED7B0520), UINT64_C(0x0D6719D01AF5ECDC)},
2681          {UINT64_C(0x2878714D0B8590E4), UINT64_C(0x827D04ED90EC312B),
2682           UINT64_C(0xD415C8B43B5767C3), UINT64_C(0x4170F0ADC09FD18D)}},
2683         {{UINT64_C(0x9B649CFC3C601031), UINT64_C(0x0478603A636DDAE7),
2684           UINT64_C(0xDC972DFA914E100A), UINT64_C(0x519C55DF091621AE)},
2685          {UINT64_C(0x863046CBD4A9963D), UINT64_C(0xDF16763C5ACF7C0C),
2686           UINT64_C(0x4999A93EFF5468A4), UINT64_C(0x35543EFF424074A5)}},
2687         {{UINT64_C(0x27B1DBFADD33307C), UINT64_C(0xA0D04784927CA6F3),
2688           UINT64_C(0xBD3EBC5EA37CF855), UINT64_C(0x59D02EF549F5AA2C)},
2689          {UINT64_C(0xCDABE86FBDD57BF3), UINT64_C(0x7B3ADD2F37819D86),
2690           UINT64_C(0x7B90BA150413B7B0), UINT64_C(0x470717826B99685B)}},
2691         {{UINT64_C(0xB7C3218EEF0CE97F), UINT64_C(0xDAE3B56C0898C79C),
2692           UINT64_C(0x6349D83D0908877D), UINT64_C(0x0970C6C0C81E8C4E)},
2693          {UINT64_C(0x0E45C4A7A47F426C), UINT64_C(0xAB000A593FBB194E),
2694           UINT64_C(0x570FBBA53A6DD13E), UINT64_C(0x66045580C8F44A57)}},
2695         {{UINT64_C(0x5ABEB74912A72F7F), UINT64_C(0x15072A927AE56F4D),
2696           UINT64_C(0x1C77AE00222AB2C4), UINT64_C(0x591EAEC69AFE63DE)},
2697          {UINT64_C(0xB51D41AFDFD24304), UINT64_C(0xDE28DF26DFBCC096),
2698           UINT64_C(0x02F046C838A20DA7), UINT64_C(0x5EC3DBDC1AE0A45B)}},
2699         {{UINT64_C(0x7C19BD7563DD86C2), UINT64_C(0xDB1193118D78A57B),
2700           UINT64_C(0xF48BB4FA23C5C4E7), UINT64_C(0x65514C1C97DB0A05)},
2701          {UINT64_C(0x1BC1F2F043CAC49C), UINT64_C(0x975FEB512851B4BE),
2702           UINT64_C(0x0E0A4633DD60D530), UINT64_C(0x32BBBF1409B1D2C6)}},
2703         {{UINT64_C(0x79124749A670EAC0), UINT64_C(0x504D89D531DD893C),
2704           UINT64_C(0xDDCED74CE0654D63), UINT64_C(0x58956BE5E2208707)},
2705          {UINT64_C(0xBE6A3ECD437E7077), UINT64_C(0xB8AB332D574095C8),
2706           UINT64_C(0x4E79AC1C3869DA42), UINT64_C(0x79D4C3FB68859F51)}},
2707         {{UINT64_C(0x1E5FC1B97936A831), UINT64_C(0x1EA42ED2D74F1F41),
2708           UINT64_C(0x33D22EC1C4EA3228), UINT64_C(0x5705333F729BEBFE)},
2709          {UINT64_C(0xDBD1A67B64596076), UINT64_C(0x6BFF269DFA65BA98),
2710           UINT64_C(0x8451A9C26C47E715), UINT64_C(0x243D679D22898DB3)}},
2711         {{UINT64_C(0xE935D705B8323FD0), UINT64_C(0xE2DA88456937E5CB),
2712           UINT64_C(0x1C9DFFF84A5EAE1E), UINT64_C(0x796F0B9545DF7A79)},
2713          {UINT64_C(0xC24D573F640DBA32), UINT64_C(0x2B77521702E4B792),
2714           UINT64_C(0xD437EB6394D12C40), UINT64_C(0x6182AF6D4AD371F0)}},
2715         {{UINT64_C(0x133EDA5241FC7551), UINT64_C(0xA0088A2BE91714AF),
2716           UINT64_C(0xB41B9AC25E0A73C0), UINT64_C(0x4808BB5A1D3B3953)},
2717          {UINT64_C(0xD875AA142B9AE648), UINT64_C(0x4F38C9462408244C),
2718           UINT64_C(0x04B6B941FF051A87), UINT64_C(0x1D5B0B9E6DF48ECD)}},
2719         {{UINT64_C(0x27FD368A169E757F), UINT64_C(0x2ACB35607B94D9DB),
2720           UINT64_C(0x81903F4B4D4C9B5F), UINT64_C(0x641F806C169B81DE)},
2721          {UINT64_C(0x574E94449E957475), UINT64_C(0xE08814AEC6C8EE52),
2722           UINT64_C(0xD1AE71EC6C84FDDF), UINT64_C(0x44A56014FAA040D9)}},
2723         {{UINT64_C(0x06DA690875A48F60), UINT64_C(0x7BA6C9CBBB2CD408),
2724           UINT64_C(0x57D2D0FF3A1BCBFF), UINT64_C(0x186F1A8B8928CE36)},
2725          {UINT64_C(0x0FFD205B7A40F877), UINT64_C(0x2915BC8E01AF68F7),
2726           UINT64_C(0x816AC4DFC36A5FB1), UINT64_C(0x609B0A872C9E1F7D)}},
2727         {{UINT64_C(0x4032AC5EB97536FB), UINT64_C(0x53E6FE68A7C5EDB6),
2728           UINT64_C(0x2F4149305F0DCBA1), UINT64_C(0x209752562837E314)},
2729          {UINT64_C(0xDF5DC4963C3C1D27), UINT64_C(0x0DFDAAF371797C36),
2730           UINT64_C(0x5F3E9229DA504E04), UINT64_C(0x354EA88D8C234246)}},
2731         {{UINT64_C(0xAF6741C30922D317), UINT64_C(0x7429853B9DF0A572),
2732           UINT64_C(0x0EA1AE041DC207A8), UINT64_C(0x2C1DAA1C450075F5)},
2733          {UINT64_C(0x27C71F166ED729B4), UINT64_C(0x785718A653AB8EC0),
2734           UINT64_C(0x1EEC7BBFA8465487), UINT64_C(0x78DA9B044C578BA9)}},
2735         {{UINT64_C(0xFF9ED65EB3B707FA), UINT64_C(0xF8C8301FF5D28D33),
2736           UINT64_C(0xB15D498FA65F5C0F), UINT64_C(0x6DEF256DB0EF2B89)},
2737          {UINT64_C(0x0D40A6B252184EF6), UINT64_C(0xC702EBE52BF06F5A),
2738           UINT64_C(0x13E50E184BA041AA), UINT64_C(0x53552D887EC4C784)}},
2739         {{UINT64_C(0x2CD09B19F28ABB3A), UINT64_C(0x4F5C040F724EDB9B),
2740           UINT64_C(0xD6820590E0DCBD16), UINT64_C(0x45D84DE91B7155A3)},
2741          {UINT64_C(0x995BDD01A251B1BA), UINT64_C(0x607F951737CAA4DC),
2742           UINT64_C(0x747FEA1CA15D9674), UINT64_C(0x646C187673E97C97)}},
2743     },
2744     {
2745         {{UINT64_C(0x1951682B6FAC1486), UINT64_C(0x8B578E1E4A4D14C5),
2746           UINT64_C(0x083FA101B7384D42), UINT64_C(0x13380CE9ED1C8A87)},
2747          {UINT64_C(0xC7052ED8732A493B), UINT64_C(0xD5FEF40FB32E3D69),
2748           UINT64_C(0xA64ACE8788833566), UINT64_C(0x6E36CFDB4177DC00)}},
2749         {{UINT64_C(0xAA14E281E742C3B4), UINT64_C(0xB75E7B2AEE5AF40A),
2750           UINT64_C(0x3FC5FF0B1616EFA2), UINT64_C(0x090259B0AD763298)},
2751          {UINT64_C(0x4105B57E38753438), UINT64_C(0x70ED1A00CF2D8926),
2752           UINT64_C(0x78921395322F40BB), UINT64_C(0x3AEE819967A3FF56)}},
2753         {{UINT64_C(0x88073D0011EA75FC), UINT64_C(0xD23D279606A4B4EB),
2754           UINT64_C(0x1FD22F9ED85D3A6B), UINT64_C(0x6B5EA051AFB43B70)},
2755          {UINT64_C(0x96C9C176D99BE576), UINT64_C(0x85AC2B6C4C47261E),
2756           UINT64_C(0x2726395999A9C378), UINT64_C(0x6D36E9FE8B5CABDA)}},
2757         {{UINT64_C(0xC9FC7661A58F614C), UINT64_C(0x82AA317D2E45AE73),
2758           UINT64_C(0xDCB1925FC8CB9CC7), UINT64_C(0x1341C1AA27813205)},
2759          {UINT64_C(0xDD06745B6CD478AB), UINT64_C(0x0C2534B21E28F6A3),
2760           UINT64_C(0xE21833459D27FE63), UINT64_C(0x7F1E2A3306466147)}},
2761         {{UINT64_C(0x378D727E5AEE2471), UINT64_C(0xB718FC17D47739B6),
2762           UINT64_C(0xDA27CB9B4145E8EF), UINT64_C(0x3F8AB1A30EF2AB20)},
2763          {UINT64_C(0xA89ADD37E16C0141), UINT64_C(0x2127823B59DF1C95),
2764           UINT64_C(0x53F90B73B7455CC2), UINT64_C(0x7F9605861183FBE5)}},
2765         {{UINT64_C(0x56D0475AE77235C3), UINT64_C(0xED2907C5B18ED61A),
2766           UINT64_C(0x2D02C4CB7D73F6F8), UINT64_C(0x35EF69B4C42E7AED)},
2767          {UINT64_C(0x53A6120A31B7324A), UINT64_C(0x982DD22159F1A395),
2768           UINT64_C(0x03ECA86F835CFD94), UINT64_C(0x4CBA837D73CA1BD5)}},
2769         {{UINT64_C(0x64F66D3941B17E6D), UINT64_C(0x3C869BF5CB14F3B3),
2770           UINT64_C(0x1EBA045A28350EFA), UINT64_C(0x7ACFB882C7CDEC47)},
2771          {UINT64_C(0x7ACFD28D8FB3097B), UINT64_C(0xDA397C3162986426),
2772           UINT64_C(0xD49F84212A1A7A94), UINT64_C(0x7B372E2DFAB65156)}},
2773         {{UINT64_C(0x3ADBDD0701D9DB0F), UINT64_C(0x617521E694FF0CFB),
2774           UINT64_C(0x5BA5905C3F5BD583), UINT64_C(0x6F89603378670CD1)},
2775          {UINT64_C(0x0A59C447FB98EA11), UINT64_C(0x59B918CC653EDC59),
2776           UINT64_C(0x00BF4D2A9F72C01E), UINT64_C(0x748455D147DEE00F)}},
2777         {{UINT64_C(0xE371A7A8386E7491), UINT64_C(0xF71711CC621A3484),
2778           UINT64_C(0x1568256EE0015C3B), UINT64_C(0x5ACEF7A67D3FFDE9)},
2779          {UINT64_C(0x02ED70E5B08E4219), UINT64_C(0x7ECE1726832AC3AA),
2780           UINT64_C(0xC3C0D32B951D1CA2), UINT64_C(0x4C99166438DECC59)}},
2781         {{UINT64_C(0xB99DF8BA96EB21A4), UINT64_C(0xB88D25F42BBF8E6D),
2782           UINT64_C(0x16B3E0B1686DAA3C), UINT64_C(0x1131456170D47C57)},
2783          {UINT64_C(0x8DCDC3D13338342D), UINT64_C(0xE6D39B0188E028A7),
2784           UINT64_C(0xB781F1ED72855B5E), UINT64_C(0x0E0D82F6CC192572)}},
2785         {{UINT64_C(0xC86A8E5DCF1E20AA), UINT64_C(0x1A87AEF3F9AB96D5),
2786           UINT64_C(0xA8941635F3D19051), UINT64_C(0x67B1D0A2654FFF15)},
2787          {UINT64_C(0x266FD5ED92862ACD), UINT64_C(0xB72587BED11DEEAC),
2788           UINT64_C(0x5CF0D2E2D09320AA), UINT64_C(0x68456EBA515E0277)}},
2789         {{UINT64_C(0x86A5461C771F64CA), UINT64_C(0xB7A220B748FF8D7A),
2790           UINT64_C(0x9A0DD72AD7A568D1), UINT64_C(0x18F5E1DCF644D858)},
2791          {UINT64_C(0xB7AE1BC23E00364F), UINT64_C(0xD7EA31F3CEE8D9F7),
2792           UINT64_C(0xD18DA30FDCDB883D), UINT64_C(0x179CFCA5CBA00F48)}},
2793         {{UINT64_C(0x496F2C0139E7860C), UINT64_C(0xACDF8B4027F15EAF),
2794           UINT64_C(0x8871966C687AC815), UINT64_C(0x6228F1B58DB8FDB5)},
2795          {UINT64_C(0x8644656AF30ECF2B), UINT64_C(0x15576CC2AE1DEAFF),
2796           UINT64_C(0x93D86D56697AB3FC), UINT64_C(0x3E4A428E811E3FF2)}},
2797         {{UINT64_C(0xFB85DE3D91B9F5DF), UINT64_C(0xCDB595D4B20A9C71),
2798           UINT64_C(0x55CB08F3B44D671E), UINT64_C(0x780FC2E5FCD7D5ED)},
2799          {UINT64_C(0x815AB41F7F939366), UINT64_C(0xA7597A02ECD52B20),
2800           UINT64_C(0x9BE078F04648E3C5), UINT64_C(0x7A3E217917BD3DC2)}},
2801         {{UINT64_C(0x22758C419D9E5E53), UINT64_C(0x44D675F49EF09FAE),
2802           UINT64_C(0x1AB7986D27159F97), UINT64_C(0x72B3F02BB6B9465B)},
2803          {UINT64_C(0xA372FAC7FE56F578), UINT64_C(0x33FA6479DA534F4A),
2804           UINT64_C(0xB0003307DF63BF2D), UINT64_C(0x34D40B4DB80D0F64)}},
2805         {{UINT64_C(0x8A8929DC3D2B9FC2), UINT64_C(0x7D12E86C55EE75E5),
2806           UINT64_C(0xB3FE1AD392E1A870), UINT64_C(0x27148C94729CFE4C)},
2807          {UINT64_C(0x6A8C3B5218BA868B), UINT64_C(0xDD2006E47F038A9C),
2808           UINT64_C(0x4606FA9EB7124908), UINT64_C(0x434A8C07F4940CB1)}},
2809     },
2810     {
2811         {{UINT64_C(0x15F36EBEF98B91EA), UINT64_C(0x94D802DEC1ED17B1),
2812           UINT64_C(0x3C45FA08085D77F8), UINT64_C(0x0A30B3C302FF571A)},
2813          {UINT64_C(0x70F5852D264C93D0), UINT64_C(0x5E51BCAB191AEE57),
2814           UINT64_C(0xD5C14AE9FAD8E96E), UINT64_C(0x73B00534D4BC414B)}},
2815         {{UINT64_C(0x21CF876B12AFF5E7), UINT64_C(0x3E9F664CF75799A6),
2816           UINT64_C(0xC23B7D199A0E73CD), UINT64_C(0x77AAB691427EEA36)},
2817          {UINT64_C(0x2E74F972604EE854), UINT64_C(0x8712C7A0F867C81A),
2818           UINT64_C(0x6085980F953A4C56), UINT64_C(0x2DB997070F7707E1)}},
2819         {{UINT64_C(0x5ECC087F78BDB7A7), UINT64_C(0x43CC156C04C693F2),
2820           UINT64_C(0x965067CF039BD7F1), UINT64_C(0x72140E566E3FAE2F)},
2821          {UINT64_C(0x26452E4DE019DED1), UINT64_C(0x6F4C23492EDEF154),
2822           UINT64_C(0xA7066D7F054DFC0F), UINT64_C(0x544E6F6D3381AB44)}},
2823         {{UINT64_C(0x9B6E94699214C791), UINT64_C(0xD74F9C5586938BDC),
2824           UINT64_C(0x0F1527F6FC2928FD), UINT64_C(0x5B0FBF0F63C3A053)},
2825          {UINT64_C(0xAC1F442CFC41FF10), UINT64_C(0x34EF88EF787B4932),
2826           UINT64_C(0xF8120F08316732AC), UINT64_C(0x7BCCF12CA655DC4A)}},
2827         {{UINT64_C(0x750DF97FA6C7760E), UINT64_C(0xF1A0A827609BF215),
2828           UINT64_C(0x7348C1B467FD04B4), UINT64_C(0x6A581016615C8145)},
2829          {UINT64_C(0x9DC012259A11AAFC), UINT64_C(0x24F65B053F2B0C8B),
2830           UINT64_C(0xA27CB8BFDCB1B2A4), UINT64_C(0x3C44B811E48C1A71)}},
2831         {{UINT64_C(0xBC059AF2F780B295), UINT64_C(0xDF58928C0B6B247D),
2832           UINT64_C(0x224D4C3C01903F3D), UINT64_C(0x7152E120818EE0AC)},
2833          {UINT64_C(0x6C8F474554BFF1BE), UINT64_C(0x98A6C7EC431ADEF7),
2834           UINT64_C(0xDCB6BB7591B2CFB6), UINT64_C(0x145F6D397E83A5BB)}},
2835         {{UINT64_C(0x827C000C81D23BC1), UINT64_C(0x5CDC1135403956FC),
2836           UINT64_C(0xD967A5B13C751158), UINT64_C(0x52AF85BC96201D7D)},
2837          {UINT64_C(0x522BC492644558F7), UINT64_C(0xF74A35AFED7A060D),
2838           UINT64_C(0x10E5F9FD4DC4619E), UINT64_C(0x06071F1F324F60BB)}},
2839         {{UINT64_C(0xC5FFD5EF65921C34), UINT64_C(0x46CE1A69302BAA5D),
2840           UINT64_C(0x89CC84EC4E22FF1D), UINT64_C(0x16A481AE68131754)},
2841          {UINT64_C(0x2A06A156B89039F5), UINT64_C(0x40B6401BB3A95AB9),
2842           UINT64_C(0xFFCC53EB313820C3), UINT64_C(0x256B00E7EA959F76)}},
2843         {{UINT64_C(0xCCE87FC954FBDD74), UINT64_C(0xEC258542B23C6E1D),
2844           UINT64_C(0x5BE392B49E5E1928), UINT64_C(0x65AF311047A8A759)},
2845          {UINT64_C(0x943F7A2547DFFD31), UINT64_C(0xDCCDA18651E896FA),
2846           UINT64_C(0x71A93B1E933E747F), UINT64_C(0x44F5C468DFB043AD)}},
2847         {{UINT64_C(0xF6AEC52C786FCCBA), UINT64_C(0x23D49DCF6D51FA78),
2848           UINT64_C(0x0F81463B9B40D8E6), UINT64_C(0x18B9D932708D3DA2)},
2849          {UINT64_C(0x796F94EDF986DC6D), UINT64_C(0x33B2CCC1FC2622C3),
2850           UINT64_C(0x16790DFB9CCEC606), UINT64_C(0x6F5D1452CFD31481)}},
2851         {{UINT64_C(0x91F15DDC6C3A15D6), UINT64_C(0x45D12F404D360E75),
2852           UINT64_C(0xF2E28EE81DAFFC9C), UINT64_C(0x5CC6A0566CDF5566)},
2853          {UINT64_C(0x855166D21779B9BF), UINT64_C(0x92BA5EF4CF94D9FE),
2854           UINT64_C(0x1266FB2A985BC1DD), UINT64_C(0x4572CE8FCA3018AD)}},
2855         {{UINT64_C(0x8729A12DBE4BB604), UINT64_C(0x6A29C8494E99E9AB),
2856           UINT64_C(0x54AE50117A89894D), UINT64_C(0x5E66A255CDB0EEBD)},
2857          {UINT64_C(0x006736EACBEE153B), UINT64_C(0x8A36CC2D225E7B86),
2858           UINT64_C(0xF731E430EC0598EC), UINT64_C(0x49338E4D7FD9A11F)}},
2859         {{UINT64_C(0xE038CE03DA6DABAA), UINT64_C(0x13A08DCE7C1BCE0C),
2860           UINT64_C(0x12D00DD0DA89EFBF), UINT64_C(0x70A13FB96FCF0510)},
2861          {UINT64_C(0x16ED1C925CDB03E2), UINT64_C(0xDF1AB61D08E9EE4B),
2862           UINT64_C(0x48983DA803AF3E3D), UINT64_C(0x63CCA113429DB770)}},
2863         {{UINT64_C(0x6D9AC1EBCFB805E5), UINT64_C(0x47C3FE6950FA37B8),
2864           UINT64_C(0xD308EC732C33D457), UINT64_C(0x3CB08E00D4CCA340)},
2865          {UINT64_C(0xC078DAD0BE862794), UINT64_C(0x2D147F83F4E10A57),
2866           UINT64_C(0xE91820FF3DE1B3D5), UINT64_C(0x3D85DD726F30491B)}},
2867         {{UINT64_C(0xD486A022F5CBDD3A), UINT64_C(0x2663134ACAC0B99E),
2868           UINT64_C(0x42DE13F55F3ABFCA), UINT64_C(0x4967A225B365B973)},
2869          {UINT64_C(0x99C98A2510F1F997), UINT64_C(0x23F057C97714FAB2),
2870           UINT64_C(0xCE07CA6E1BA2338D), UINT64_C(0x3BA69161069F65D7)}},
2871         {{UINT64_C(0xCCD8C86FC026FB0E), UINT64_C(0xF49F1FEA50407A8C),
2872           UINT64_C(0x72FEA37B7F19A1DB), UINT64_C(0x22A03E253F457DB7)},
2873          {UINT64_C(0x2D6C62B271F736D2), UINT64_C(0xCC99F8E7A5ACB4E5),
2874           UINT64_C(0x8F7DBF2E0DE5F380), UINT64_C(0x24494786352B4933)}},
2875     },
2876     {
2877         {{UINT64_C(0xF020E7A9AE2A5E8F), UINT64_C(0x5ADC788BD14C5F02),
2878           UINT64_C(0xC5E5AFE465C84DB4), UINT64_C(0x392FACC435C2633C)},
2879          {UINT64_C(0x47D5007042DEE269), UINT64_C(0x76706ED76EB7849C),
2880           UINT64_C(0x6BF56D56316548CB), UINT64_C(0x4A466066D37FF4DF)}},
2881         {{UINT64_C(0xC8EBBFB5C30283AD), UINT64_C(0x31E9CF963544E645),
2882           UINT64_C(0x90EA9A4988886B50), UINT64_C(0x5E4B8C88021D3D5D)},
2883          {UINT64_C(0xA4DB92250DFEB658), UINT64_C(0x8AA95DB61910FDAE),
2884           UINT64_C(0x82E9A997DE400EB9), UINT64_C(0x238967E996769A04)}},
2885         {{UINT64_C(0x1ABB076A89E2DF0A), UINT64_C(0xDA8B09B007065929),
2886           UINT64_C(0x332BE8A563BD349B), UINT64_C(0x0EB973CEA2D35385)},
2887          {UINT64_C(0x67F7AE639C7D375E), UINT64_C(0xA235818DE7AE90B1),
2888           UINT64_C(0x2B59C26E817493B0), UINT64_C(0x39DC105033C4ACD6)}},
2889         {{UINT64_C(0x11801ACE7B7DB3F5), UINT64_C(0x79C214C38CC97CA5),
2890           UINT64_C(0xB4BFE1ABBF2674BF), UINT64_C(0x598EA7DC43252011)},
2891          {UINT64_C(0x217FF6D3B08F8EF5), UINT64_C(0x9797BBC98B9226B7),
2892           UINT64_C(0xAB8E98C97B0EDB09), UINT64_C(0x240EC22D083A401F)}},
2893         {{UINT64_C(0x55A75BCF459ABC3D), UINT64_C(0xB2F9859864ECC2DC),
2894           UINT64_C(0x271C47C39EE84779), UINT64_C(0x0166E5D4BF9BDBF2)},
2895          {UINT64_C(0xD205380F4215B666), UINT64_C(0xF704139664E9FE64),
2896           UINT64_C(0x4C737E942BB0DA40), UINT64_C(0x2E763521C8119691)}},
2897         {{UINT64_C(0x79550B60FD2F8593), UINT64_C(0x47E00AFD0C17A56F),
2898           UINT64_C(0x0D900A9DB44157CF), UINT64_C(0x016CF746A81BED76)},
2899          {UINT64_C(0xC21E861BAC47A84B), UINT64_C(0x0E14387A1724BD47),
2900           UINT64_C(0xC209303E2077F7BC), UINT64_C(0x33B5EB59BAD12F0B)}},
2901         {{UINT64_C(0x7152354F9850FC1F), UINT64_C(0x1239576F83637934),
2902           UINT64_C(0xB00C4E4E82AF46BA), UINT64_C(0x563D5062EC3FEEFF)},
2903          {UINT64_C(0xEF25E37333D67B7F), UINT64_C(0x3A80A50E50D9845E),
2904           UINT64_C(0x1DCED1E9A5787EF5), UINT64_C(0x15723E9AA0F87C3C)}},
2905         {{UINT64_C(0x217435112B4A156D), UINT64_C(0xB75C041CCD12BD2B),
2906           UINT64_C(0x6947368C79F393A6), UINT64_C(0x32CDE49E76420E56)},
2907          {UINT64_C(0x67FBA31543D612FF), UINT64_C(0x697F7FAEE3B87BC2),
2908           UINT64_C(0x980DAFBC7391129A), UINT64_C(0x438B28586F707469)}},
2909         {{UINT64_C(0xDA8AD16D5E9D085F), UINT64_C(0xE636F1AF768FA87C),
2910           UINT64_C(0x08520756B85FF1F1), UINT64_C(0x1B8184816ABB31BE)},
2911          {UINT64_C(0x25B3DCB92E686F1A), UINT64_C(0xE12821342B0CB829),
2912           UINT64_C(0x626232BC3B9B759C), UINT64_C(0x797316BB38C4338E)}},
2913         {{UINT64_C(0xF8365B644A62DCBD), UINT64_C(0xC2CF51BA6BF0EFED),
2914           UINT64_C(0x37E379EFABF74764), UINT64_C(0x5DC32071A350D603)},
2915          {UINT64_C(0x5465CC805B732100), UINT64_C(0x3231B4E3B3BB5366),
2916           UINT64_C(0x23F5385ED0D067CE), UINT64_C(0x76CD762167D33451)}},
2917         {{UINT64_C(0xC6C93A0555D857DD), UINT64_C(0xB4B6F1768F308F7F),
2918           UINT64_C(0x2371CD88C0F13577), UINT64_C(0x1E507D6C70807D9D)},
2919          {UINT64_C(0x7A77CCE1C73E8E2F), UINT64_C(0x1DD96274FCCBDEEB),
2920           UINT64_C(0xA4DBEA5D03F378B8), UINT64_C(0x44B4DF552A1C347F)}},
2921         {{UINT64_C(0x9853D2828D067A47), UINT64_C(0xBF0ADAF486813E74),
2922           UINT64_C(0xFDE1F24D39409037), UINT64_C(0x0E629604973B045D)},
2923          {UINT64_C(0x9880A74B3BB92FAB), UINT64_C(0xBC4E3405C6C4D6C6),
2924           UINT64_C(0x98C243185184A2D6), UINT64_C(0x07D65412C210C183)}},
2925         {{UINT64_C(0x3938E528441A5FBC), UINT64_C(0x2CCD837DCCC66B22),
2926           UINT64_C(0x075FADE75E606282), UINT64_C(0x321811654BB0E76A)},
2927          {UINT64_C(0xE7240305FC929890), UINT64_C(0x1FA427C8E03AAA52),
2928           UINT64_C(0xF23C879B0BC7B9F8), UINT64_C(0x699A1235D6BBC908)}},
2929         {{UINT64_C(0x20C2978114124B8A), UINT64_C(0x0C6464B348000278),
2930           UINT64_C(0xF1939127D644E10C), UINT64_C(0x47A479E64EC07EE3)},
2931          {UINT64_C(0xB631576877023389), UINT64_C(0xC0FD319D8BFDD90F),
2932           UINT64_C(0x0EBEC2006CB022D4), UINT64_C(0x6810DF3D302F58EF)}},
2933         {{UINT64_C(0xCF97FA07ACB1C3F2), UINT64_C(0xACC60D84A2C3F2F1),
2934           UINT64_C(0x4EF3CAAC5DEB73D4), UINT64_C(0x654D0D90D5472C1D)},
2935          {UINT64_C(0x5A39A718E4729062), UINT64_C(0x84B286B08324E0F2),
2936           UINT64_C(0xA07A01CBD21E8457), UINT64_C(0x0EC091C7B094714E)}},
2937         {{UINT64_C(0x7AB81940895736BD), UINT64_C(0x9AE791B7E4679DF5),
2938           UINT64_C(0x36163D81F064109B), UINT64_C(0x3DDEE4A40E956B07)},
2939          {UINT64_C(0xE146E7EEFEAAE47C), UINT64_C(0x81C0C2A76A8EEC03),
2940           UINT64_C(0x10BB8DD9A8C315CB), UINT64_C(0x2CB423D8D21B9AB0)}},
2941     },
2942     {
2943         {{UINT64_C(0x5B11D3C7166A5B9A), UINT64_C(0x973627BB8768861D),
2944           UINT64_C(0x82A5E2CD5A3E442A), UINT64_C(0x13F6C741DDE63678)},
2945          {UINT64_C(0x8DAA3C74D892738E), UINT64_C(0x0A07D651A932376F),
2946           UINT64_C(0xE12612C56892504B), UINT64_C(0x619D2B1DCA3FF301)}},
2947         {{UINT64_C(0x2B6D686F1B07CEB7), UINT64_C(0x90C0260C298D0996),
2948           UINT64_C(0x8CAAB926102BC73C), UINT64_C(0x445A6487AEB3911C)},
2949          {UINT64_C(0x7EE1E54757F17290), UINT64_C(0xC055478B417711BF),
2950           UINT64_C(0x29EF9FEC5CFA42C2), UINT64_C(0x5A022DE42B8EA0D6)}},
2951         {{UINT64_C(0x81A5EC18AEEB2675), UINT64_C(0xA867C5AAAD1BBA8A),
2952           UINT64_C(0xAECB36888DB47EBC), UINT64_C(0x77CE00BC26D1038F)},
2953          {UINT64_C(0xADC635EF3E68504B), UINT64_C(0x0EFC21DEDAE8AF4F),
2954           UINT64_C(0xDE57FD43AC70C4C9), UINT64_C(0x123360BEE78FFC0D)}},
2955         {{UINT64_C(0xD608DB32D82B61DB), UINT64_C(0x05AF2A908E45C853),
2956           UINT64_C(0xF1B8213E9D3B0032), UINT64_C(0x2312F8ABCAD15361)},
2957          {UINT64_C(0xDC8D8E32C29EE818), UINT64_C(0x07D7A475DE5CD587),
2958           UINT64_C(0x766109130C6C38B8), UINT64_C(0x0131B6C6D7984BD9)}},
2959         {{UINT64_C(0xC05CD4D0CF69C844), UINT64_C(0x747C092D81A9B005),
2960           UINT64_C(0x0D793551D9E39F54), UINT64_C(0x3BBB00DA7FFEF17C)},
2961          {UINT64_C(0x6CAB83D9655AD7C1), UINT64_C(0x601BECD066A8F590),
2962           UINT64_C(0xFADB086DAE51811B), UINT64_C(0x7768A5D8D69F734B)}},
2963         {{UINT64_C(0x3BB9B347F0E2385E), UINT64_C(0x376C8C48F7D39F23),
2964           UINT64_C(0xE656C1A4D82EC840), UINT64_C(0x328B25C9FC2AC59A)},
2965          {UINT64_C(0xD02B2F39A046BEE6), UINT64_C(0xDBAB19A580066D6C),
2966           UINT64_C(0x6A2E8F67E938B7F7), UINT64_C(0x645A57A1AA7F2661)}},
2967         {{UINT64_C(0x6227904D9A006FAE), UINT64_C(0xA975FC4CB598CB72),
2968           UINT64_C(0x945BFC2FA1120B82), UINT64_C(0x437A8AB42AC15CE5)},
2969          {UINT64_C(0xA512A1070F53317C), UINT64_C(0x7B552554FF9BD7D6),
2970           UINT64_C(0xF81213E754155AF9), UINT64_C(0x0923F42CFDCE0842)}},
2971         {{UINT64_C(0x135239165216BB55), UINT64_C(0xF27E4C7A599CA117),
2972           UINT64_C(0x464D040A7DD95BE1), UINT64_C(0x408974863C417D05)},
2973          {UINT64_C(0x0A3D16BF7C88E5D7), UINT64_C(0x0B94C661C13B286F),
2974           UINT64_C(0xF73C7126E2214821), UINT64_C(0x4B3D5BF0F2F6DAFA)}},
2975         {{UINT64_C(0xCFABD8A2F1A4332A), UINT64_C(0x56DB1546BAAC9A51),
2976           UINT64_C(0x8CC5204B04416247), UINT64_C(0x75EC13BFF0583310)},
2977          {UINT64_C(0x0D68896ED35B55D0), UINT64_C(0xE89274E267FC14D9),
2978           UINT64_C(0x18D425C0FC322878), UINT64_C(0x69477DD7916C714A)}},
2979         {{UINT64_C(0x427CBB6C9BDDF0F9), UINT64_C(0xCF6941E2DB9F52CB),
2980           UINT64_C(0xEF144DF635E60DFA), UINT64_C(0x27B5246EB61DF45C)},
2981          {UINT64_C(0x0E124518B8D3D1D9), UINT64_C(0xBB3BA1348B313B95),
2982           UINT64_C(0x050DCBDF0FA2B7A9), UINT64_C(0x50DBCF6D1D0A99B5)}},
2983         {{UINT64_C(0x8A8B22CB3924A1E5), UINT64_C(0x86CB4C5A118F9D55),
2984           UINT64_C(0xE5330ACC5B339C53), UINT64_C(0x6D5FDDF966A35A67)},
2985          {UINT64_C(0xC95007196F6438A5), UINT64_C(0x9723F2BA07E5394E),
2986           UINT64_C(0xA9CE2117866B45A8), UINT64_C(0x1B737D8D045CA2CA)}},
2987         {{UINT64_C(0x6093F5A56EE00E30), UINT64_C(0x5CAB98D45DE0A6FC),
2988           UINT64_C(0xADFB652C65DE754F), UINT64_C(0x679900D1862EFD1D)},
2989          {UINT64_C(0x6E5C230FAFC5D235), UINT64_C(0x3A1E557912CF6DD3),
2990           UINT64_C(0x241C20FB03FB4FA0), UINT64_C(0x562FFAE320F6C013)}},
2991         {{UINT64_C(0x6EFC732F397F25EC), UINT64_C(0x304D1F7DBC1F03B8),
2992           UINT64_C(0xA2FA60018890DADE), UINT64_C(0x4F91F97C51A25539)},
2993          {UINT64_C(0xE75F9C5048F4EF02), UINT64_C(0xCC53F460218AEE9D),
2994           UINT64_C(0xE7B4048910D76649), UINT64_C(0x148F90A242ECDBA4)}},
2995         {{UINT64_C(0xBF45023A1F683AD6), UINT64_C(0x2EA5F70C95E868D1),
2996           UINT64_C(0x47A19F33A97F2DE3), UINT64_C(0x3C8CCA9E8A76ED9F)},
2997          {UINT64_C(0x01562C6EE1A268D0), UINT64_C(0x9EB6EBACBA4EF01E),
2998           UINT64_C(0x835E64D4342410FB), UINT64_C(0x06F96B87FFF4594D)}},
2999         {{UINT64_C(0xE49A383AD233612B), UINT64_C(0x3CA5421FC9C14F64),
3000           UINT64_C(0x25192E1BBB53DF81), UINT64_C(0x3C1451FEA94C046C)},
3001          {UINT64_C(0x72B270F80423FAA8), UINT64_C(0xFF63513D3763888A),
3002           UINT64_C(0xB22F2F20C1745190), UINT64_C(0x2E005A7A35DEA32C)}},
3003         {{UINT64_C(0x6B5A4E7A6305B2EB), UINT64_C(0xF017BCA19CCD05D2),
3004           UINT64_C(0xB37027C9D19AD8CB), UINT64_C(0x2CFCB4700CBB36A6)},
3005          {UINT64_C(0x17F4FE51663F3485), UINT64_C(0x7DC20A170DC3467B),
3006           UINT64_C(0x6B56BA3F4AF63CBD), UINT64_C(0x4E7CF2890D5D64AF)}},
3007     },
3008     {
3009         {{UINT64_C(0xE2C5CD1F7F59D2E9), UINT64_C(0x6B9ACEB79D7FBE1E),
3010           UINT64_C(0x84F0441DA20225B0), UINT64_C(0x15875CDA8B369FBC)},
3011          {UINT64_C(0xED1332770659E294), UINT64_C(0x7FAA913E7AE02043),
3012           UINT64_C(0xCA0E58DA9DCEDE14), UINT64_C(0x5F6A70FDCDE68547)}},
3013         {{UINT64_C(0x524B790DE7282711), UINT64_C(0x4B4F6246BCA05694),
3014           UINT64_C(0x85169ECB949AF774), UINT64_C(0x5B168842CC743068)},
3015          {UINT64_C(0xB8D0E9F231FB3BA3), UINT64_C(0x56DD4BC362D471C7),
3016           UINT64_C(0xB14D689CE2A34F75), UINT64_C(0x7F4E171702E8D2D2)}},
3017         {{UINT64_C(0x8EE3491AB17090B9), UINT64_C(0x67C071166B7EDAF4),
3018           UINT64_C(0x6876E4CE4D0E6CCE), UINT64_C(0x6D2FBB64BC5A86BE)},
3019          {UINT64_C(0x0431C67A070FA8C3), UINT64_C(0x91EFF9BE0F5D65F4),
3020           UINT64_C(0x332985E2E07088DF), UINT64_C(0x006D2583676EADA8)}},
3021         {{UINT64_C(0xA1FBCC370AA747D6), UINT64_C(0xADEA4A90B0DFDF3C),
3022           UINT64_C(0x650162C7401ED81B), UINT64_C(0x0FBC4841A8B15E22)},
3023          {UINT64_C(0x1044B4E8BF98CDAC), UINT64_C(0x37071115ECD1C668),
3024           UINT64_C(0x29B93C17233C220C), UINT64_C(0x4BEBC3CCE69BC0C0)}},
3025         {{UINT64_C(0xD1A16E3746BF7E51), UINT64_C(0x889C7782F7A7370C),
3026           UINT64_C(0xC73F396E3CCB474D), UINT64_C(0x1C508F18B9D67A2E)},
3027          {UINT64_C(0x3F17E9676B03B7E7), UINT64_C(0x3928F1D8F857BB26),
3028           UINT64_C(0x3086FB2EC0EA8620), UINT64_C(0x15DC32C21BE7C3E4)}},
3029         {{UINT64_C(0xF48D4C3211F4D949), UINT64_C(0xE14A4AE3B0357C05),
3030           UINT64_C(0x77A1121F151D91AE), UINT64_C(0x33F85C2FE8C6869D)},
3031          {UINT64_C(0x8EA3BB4C364B77B0), UINT64_C(0x1F155B919BD43E50),
3032           UINT64_C(0xA6C2873054748E7D), UINT64_C(0x5AA34DDAE7DDC539)}},
3033         {{UINT64_C(0xF0F80DDAA6CF8A82), UINT64_C(0x87DE6D6C091663B5),
3034           UINT64_C(0x9479873402FE5519), UINT64_C(0x109D411F96722130)},
3035          {UINT64_C(0xBC47CA73E661041F), UINT64_C(0x071D605965741541),
3036           UINT64_C(0x7CD4DF6607E08735), UINT64_C(0x175E1F77E68FC807)}},
3037         {{UINT64_C(0xB88BDAB8DA58865B), UINT64_C(0x14AD911220ED2B89),
3038           UINT64_C(0x2B21AEDF039BF0A3), UINT64_C(0x789717779D4B77E9)},
3039          {UINT64_C(0x133DA2ACD6612EF3), UINT64_C(0x6260FCF512AD1785),
3040           UINT64_C(0xDBA784DA9DF08843), UINT64_C(0x1A30C4CF4449FBD1)}},
3041         {{UINT64_C(0xB6FECE874EF7ACA2), UINT64_C(0x9CE7B61A13F7C58C),
3042           UINT64_C(0x6B0223C9F8719A60), UINT64_C(0x21199AA5A3B3B088)},
3043          {UINT64_C(0x4A7171966938BB02), UINT64_C(0x2E9A17C9E7ABC263),
3044           UINT64_C(0x83F796234BAB12B7), UINT64_C(0x15C0C4AF49D7CFBD)}},
3045         {{UINT64_C(0x99B3413956D2957F), UINT64_C(0xA51B8DFD07218BB6),
3046           UINT64_C(0x47CA4323FC91D7C9), UINT64_C(0x44B01E753DCFD5F0)},
3047          {UINT64_C(0x29F9D18E8CE894F3), UINT64_C(0x22BCC54095227C6F),
3048           UINT64_C(0x815CD9363FC75409), UINT64_C(0x0D58B325D8989472)}},
3049         {{UINT64_C(0x8B4C6980B6C80208), UINT64_C(0xA5D974978FB77CCD),
3050           UINT64_C(0x1B8965719477132F), UINT64_C(0x348ABC213AE45F53)},
3051          {UINT64_C(0xE438C1C314BCDB96), UINT64_C(0x63150CF98007C1BF),
3052           UINT64_C(0xDB861A338508B903), UINT64_C(0x421DFB017B04ECD6)}},
3053         {{UINT64_C(0xF2FCE58B19430E7B), UINT64_C(0x851A5F03D0F8ECB7),
3054           UINT64_C(0xE756C1670A5A1833), UINT64_C(0x25A51405227F866C)},
3055          {UINT64_C(0x40F34CB03C6EE5F3), UINT64_C(0xF4010401F244B5CF),
3056           UINT64_C(0x0E21BDED01349BCF), UINT64_C(0x1B129D8204547F42)}},
3057         {{UINT64_C(0x802EC4800927D153), UINT64_C(0x0F75E4FE72541520),
3058           UINT64_C(0xA4A1557A026C4613), UINT64_C(0x25E8DAFB7D92BC18)},
3059          {UINT64_C(0x1D87A14312F15F05), UINT64_C(0x79390E3C7B6B4240),
3060           UINT64_C(0xFC199D76492E6273), UINT64_C(0x0053F1C47EB090C0)}},
3061         {{UINT64_C(0xE790F1CAACEE6DFC), UINT64_C(0xC8FB4626DFEA04FF),
3062           UINT64_C(0xBF03627F627D88D7), UINT64_C(0x1B3698843D81A75A)},
3063          {UINT64_C(0x83405DDA917FA19D), UINT64_C(0xFFB23FF98C7DDCD2),
3064           UINT64_C(0x644F54C740F10B48), UINT64_C(0x4636FADF17FF713A)}},
3065         {{UINT64_C(0xDA62ECC227F417E4), UINT64_C(0xC0DBE48FFD8662BE),
3066           UINT64_C(0x729EE4AA1011E73C), UINT64_C(0x4BAE5D3C3E11C84B)},
3067          {UINT64_C(0x854DFFF86CEF6CDA), UINT64_C(0x7939228CCB7131EA),
3068           UINT64_C(0x58B3744AD3EBC607), UINT64_C(0x6EB9248F2049E239)}},
3069         {{UINT64_C(0x0265CAE9ED0D4E57), UINT64_C(0x92166D028AA65AEF),
3070           UINT64_C(0x2E337CDA198345D6), UINT64_C(0x6775330CABE1AD7B)},
3071          {UINT64_C(0xA9A828A8BF6FBC7D), UINT64_C(0x33A56F8DCBFEA393),
3072           UINT64_C(0x2DB72F77D811EC51), UINT64_C(0x3DDFCD268327C78E)}},
3073     },
3074     {
3075         {{UINT64_C(0x7CF8A521B46AA2C4), UINT64_C(0xE3B20937ACF0D567),
3076           UINT64_C(0xD47D8D1BA440648E), UINT64_C(0x674E79201E9791A1)},
3077          {UINT64_C(0x27B714EB18366462), UINT64_C(0x1526E5588476F588),
3078           UINT64_C(0x72C8D3746C240D70), UINT64_C(0x066BBAFB805C1265)}},
3079         {{UINT64_C(0x15F1CFF5457034E1), UINT64_C(0xCF7C6550DD819FA7),
3080           UINT64_C(0x57C2CD5377AC7AD6), UINT64_C(0x7DB2A8BEAFED669D)},
3081          {UINT64_C(0x2DAFD95FD4697340), UINT64_C(0x382FF89215A6B6E7),
3082           UINT64_C(0x036FC753BF4A6B1B), UINT64_C(0x3E7AC46DE4012711)}},
3083         {{UINT64_C(0xBA5ECDED5752A34D), UINT64_C(0xB08749D46BAA08DD),
3084           UINT64_C(0x8A2B98974A4A47A8), UINT64_C(0x7230966FE42DCE02)},
3085          {UINT64_C(0xA6FF614A58654FF5), UINT64_C(0x7F3531D1AB3C2A7E),
3086           UINT64_C(0x0282A2F00D0ED417), UINT64_C(0x2DC7B872EA9755A3)}},
3087         {{UINT64_C(0x7678D7652392536A), UINT64_C(0x0C2025F1574C657D),
3088           UINT64_C(0x01701C80795413DC), UINT64_C(0x63F0D4965396279E)},
3089          {UINT64_C(0xB0F9968AFA32EA64), UINT64_C(0x81265D155BB393DE),
3090           UINT64_C(0xC05ECC6D0BCD8C10), UINT64_C(0x4F3769F92824457E)}},
3091         {{UINT64_C(0x9AA58686F13DB92E), UINT64_C(0x1155CDF4ED2E1B18),
3092           UINT64_C(0xA06E919409823F5A), UINT64_C(0x7F1BBE734257AB0E)},
3093          {UINT64_C(0x2DFB6472ABA6FCD1), UINT64_C(0x04BE6BCAD73D850E),
3094           UINT64_C(0x72AAEC34297D312B), UINT64_C(0x31F4C02C7509D9F5)}},
3095         {{UINT64_C(0xAA9BA0007CA72AD5), UINT64_C(0x21EE29457FBCB4D6),
3096           UINT64_C(0x0E210AAB1CF8580A), UINT64_C(0x600479FE0FA8DE10)},
3097          {UINT64_C(0x246FD26554322F70), UINT64_C(0xC60BE9BB60DF1893),
3098           UINT64_C(0x04D4F99D05137E38), UINT64_C(0x6ACB9E016164C176)}},
3099         {{UINT64_C(0x126F2C7EC1DB7B6C), UINT64_C(0x4C3B30B5CF4DD3C0),
3100           UINT64_C(0x827D57A2F782A489), UINT64_C(0x41B897DEE52621F0)},
3101          {UINT64_C(0xED31C55ADDA0A3CD), UINT64_C(0x21C91BB2A11AD179),
3102           UINT64_C(0x60E606B843FD6E23), UINT64_C(0x31B8138D51ED7FA6)}},
3103         {{UINT64_C(0x1387B313E72E4BC5), UINT64_C(0xDCCCB09C82EBFC72),
3104           UINT64_C(0xF0B01202AA4432D6), UINT64_C(0x632599C47C52B69D)},
3105          {UINT64_C(0x3922D0C0BCE9A04C), UINT64_C(0xC2397D88B53F4268),
3106           UINT64_C(0x50AE5ED900669858), UINT64_C(0x1B2BD4C216C7696B)}},
3107         {{UINT64_C(0x6FAE1B082BF7DF06), UINT64_C(0x870B3FE85210DB3B),
3108           UINT64_C(0x680BE4229BDC0B91), UINT64_C(0x56BA83C6BCC970AD)},
3109          {UINT64_C(0x1AE91BAC859D6C78), UINT64_C(0xC5BDD5FB2895A1A6),
3110           UINT64_C(0xA169E73C550610F5), UINT64_C(0x01B467670CC7D3EA)}},
3111         {{UINT64_C(0x1E147A510EC5ECE2), UINT64_C(0x9B612A1FD0E2C46C),
3112           UINT64_C(0x664FDD555E293783), UINT64_C(0x52070E1567DC4DBC)},
3113          {UINT64_C(0x449B53E54A4903FB), UINT64_C(0x79B53583A8D30103),
3114           UINT64_C(0x616C97F3AF7CC314), UINT64_C(0x6BEB304C2849862C)}},
3115         {{UINT64_C(0xB9C636D6019F0313), UINT64_C(0x0B08E7CBD3E0188D),
3116           UINT64_C(0xEAEB1715D704DE15), UINT64_C(0x4990282C837E7543)},
3117          {UINT64_C(0xCBB0BD49FBD3A061), UINT64_C(0x3454A8AC1DA124AE),
3118           UINT64_C(0x0D524A0237D64EAB), UINT64_C(0x766807490B3E4ADE)}},
3119         {{UINT64_C(0xC293E01195B04835), UINT64_C(0x76D304BA23D0C885),
3120           UINT64_C(0x36A63627D6552D80), UINT64_C(0x3B4FA680C504CCAB)},
3121          {UINT64_C(0xF25B3A04E1FC08DF), UINT64_C(0x786380E562D080F8),
3122           UINT64_C(0x0A731427DAC0D110), UINT64_C(0x1D65288FD628429A)}},
3123         {{UINT64_C(0x3CE5E929DC94453E), UINT64_C(0xEC7CF988B6073324),
3124           UINT64_C(0x023361E7DCB35234), UINT64_C(0x3AF20624F5E89B7C)},
3125          {UINT64_C(0x860F188EA5B2B103), UINT64_C(0x5EAC84CECB6D112F),
3126           UINT64_C(0x63B200C3914C9FFD), UINT64_C(0x327870A055A1FDCB)}},
3127         {{UINT64_C(0x4F94633C155280ED), UINT64_C(0xF98321D53654B8AA),
3128           UINT64_C(0x9C057A23489AE89A), UINT64_C(0x1124A1FBD59CA3B5)},
3129          {UINT64_C(0x2F4CE0521F64AFD7), UINT64_C(0x841EE4417C789152),
3130           UINT64_C(0x93531ED459A98374), UINT64_C(0x69A4F48C36BB8F07)}},
3131         {{UINT64_C(0xD8FFD2435FD512A7), UINT64_C(0xF48C96F19BEA1738),
3132           UINT64_C(0xF70E1F6A0FFB4553), UINT64_C(0x29DB63B15FF91D21)},
3133          {UINT64_C(0xC1355C2377BF7279), UINT64_C(0xD3946EE9A2FC904D),
3134           UINT64_C(0x07223881E7B7A9F4), UINT64_C(0x212D896756E08ED6)}},
3135         {{UINT64_C(0x32B8C22A45503451), UINT64_C(0x9E4FDAF1E6AB7B3D),
3136           UINT64_C(0x7A300E3D04A31294), UINT64_C(0x0F529DFD05FE2AEB)},
3137          {UINT64_C(0x7EFFEA9E9951B6FB), UINT64_C(0x18C60266336B9A2B),
3138           UINT64_C(0xB78A5EE16C8D0EEC), UINT64_C(0x68C17FE446ED0B23)}},
3139     },
3140     {
3141         {{UINT64_C(0xF707FAD596B3222E), UINT64_C(0xD6AF61610223F804),
3142           UINT64_C(0x13FFDC744F43A0E9), UINT64_C(0x6A3B70E93347F487)},
3143          {UINT64_C(0xBDDF02A46A4AF4F5), UINT64_C(0x61B451E1E4C69950),
3144           UINT64_C(0xFF854590F9E3BB99), UINT64_C(0x46EB1F697CD54C54)}},
3145         {{UINT64_C(0x70E643B68E6848D3), UINT64_C(0xC58B8519848C2587),
3146           UINT64_C(0x2F195C54EDF4A38E), UINT64_C(0x206E6A323D2A52E8)},
3147          {UINT64_C(0x234845B5417595BF), UINT64_C(0x90354373FF5AE3CB),
3148           UINT64_C(0x13BE31CE89C0E555), UINT64_C(0x2D18AA43CC67E26F)}},
3149         {{UINT64_C(0xC74EE8C4F041BD17), UINT64_C(0x655CF527C2B3CC64),
3150           UINT64_C(0x6735CF0A160FF053), UINT64_C(0x35DAB9EB04218A0D)},
3151          {UINT64_C(0x32BB2E9ACBC34E46), UINT64_C(0xF780CEAF7D190342),
3152           UINT64_C(0x161C0C1A9F0DA1A4), UINT64_C(0x7B198C9EE7642FD6)}},
3153         {{UINT64_C(0x936C763E122FD0B4), UINT64_C(0xA3819ED9A7E0C435),
3154           UINT64_C(0x86228B04CAAE6D7B), UINT64_C(0x2E1160187A3C65B4)},
3155          {UINT64_C(0xF55BB1F3D4EB0345), UINT64_C(0x858A0BF40630B569),
3156           UINT64_C(0x8CC22657CB78A626), UINT64_C(0x7CD93BDEB45E3005)}},
3157         {{UINT64_C(0xCAA1F45998E517AB), UINT64_C(0x36E60281B34A6F5C),
3158           UINT64_C(0x877A49F30B46F47F), UINT64_C(0x0179824B9E7BE761)},
3159          {UINT64_C(0x6830A2B2D455D9C0), UINT64_C(0xB734BA0A7BA31962),
3160           UINT64_C(0x344665A4065C3B51), UINT64_C(0x0B1D2210562E7F1D)}},
3161         {{UINT64_C(0x289BAFCA0B2E22E8), UINT64_C(0x038929A083390107),
3162           UINT64_C(0x968A014D0683E782), UINT64_C(0x5A1AD5C853D34463)},
3163          {UINT64_C(0xA26133349527B2CA), UINT64_C(0xE8471271310B745F),
3164           UINT64_C(0x49C81A2631387F59), UINT64_C(0x1B955AF70343C691)}},
3165         {{UINT64_C(0x069328ADA4A9FCA4), UINT64_C(0x14EF09A7624FCB94),
3166           UINT64_C(0x21C76F0DE3E0CECD), UINT64_C(0x5F470B866C1BCE0F)},
3167          {UINT64_C(0x79319A3FB15BC8B4), UINT64_C(0xB1407CB1DB06AFA1),
3168           UINT64_C(0xD69E9E09911116E0), UINT64_C(0x6E77524E0756579E)}},
3169         {{UINT64_C(0xD3EC5EBCE2D851D5), UINT64_C(0xC888BC2303B63143),
3170           UINT64_C(0x5F3DE41EDB0C357F), UINT64_C(0x646FFBD3C3D47D37)},
3171          {UINT64_C(0xE53F8BEB0692639B), UINT64_C(0x7E194E37D4FBC3D4),
3172           UINT64_C(0xE1988A22452B2A2E), UINT64_C(0x5D359A15B013F9E1)}},
3173         {{UINT64_C(0xA48160A7B2A6627D), UINT64_C(0x5EFDC8483CE8789E),
3174           UINT64_C(0x264CBFF1B1CD14EE), UINT64_C(0x288823D444D84222)},
3175          {UINT64_C(0x2F091B233A6DB1F8), UINT64_C(0xBFD737B5CEA89B44),
3176           UINT64_C(0x682AB86C17F5E969), UINT64_C(0x7653005CABB0FA87)}},
3177         {{UINT64_C(0x619C2629D4B8A43A), UINT64_C(0xBFDAF433B6DAF943),
3178           UINT64_C(0xDC7AA1EE6D640DB8), UINT64_C(0x35ADEEA83B08D55C)},
3179          {UINT64_C(0x30935454D7AF5382), UINT64_C(0x1F9C51A13D68A24A),
3180           UINT64_C(0xDBD13CFC78BDBEA9), UINT64_C(0x003B6D9931210A3F)}},
3181         {{UINT64_C(0xD4547A329C2B515D), UINT64_C(0x4AF29AA8FECDAAA9),
3182           UINT64_C(0x85C80ECDE401D5AD), UINT64_C(0x2830332D8AA315A1)},
3183          {UINT64_C(0x5675882371DCE198), UINT64_C(0x55AC9D106ACBDEE3),
3184           UINT64_C(0xF6D468CF575CF4BB), UINT64_C(0x46E4FA98576B5C4A)}},
3185         {{UINT64_C(0xAD20F82020D859EF), UINT64_C(0x380915882A5462B0),
3186           UINT64_C(0x35F45C9F2135DA7D), UINT64_C(0x6B426F91F7F20DBD)},
3187          {UINT64_C(0x4A0D8CBEF96E77D2), UINT64_C(0x8FC36F5BCC51D3F4),
3188           UINT64_C(0x7A1870DDBE16A0A8), UINT64_C(0x29C3E2B3114DB780)}},
3189         {{UINT64_C(0xFF692A4C21779E6E), UINT64_C(0x698231ABA6026EC1),
3190           UINT64_C(0xDAB0D835EF03E21B), UINT64_C(0x770BFFACC846D56F)},
3191          {UINT64_C(0xCD28722D3B8B0747), UINT64_C(0x3DEFE04032AE95E5),
3192           UINT64_C(0x6F5D816A0F9857D6), UINT64_C(0x2E483FEDFC630F5E)}},
3193         {{UINT64_C(0xDBF82EC4967C7140), UINT64_C(0x6265CAD10D20A2A5),
3194           UINT64_C(0x1509652B5862DEFE), UINT64_C(0x699DD93994A284E5)},
3195          {UINT64_C(0xC01166460B2CC732), UINT64_C(0x583FE01294C3EF86),
3196           UINT64_C(0xCD5DAEA8CD353430), UINT64_C(0x2B39A746C7ADA62B)}},
3197         {{UINT64_C(0xF449B989E4257BBC), UINT64_C(0x95BA21BAA90DCCE6),
3198           UINT64_C(0xDD53AD5C93CA4ACD), UINT64_C(0x7FCF27380BB4213B)},
3199          {UINT64_C(0x0E57C1C0C2E7E54E), UINT64_C(0xD1769DAEA1A0E975),
3200           UINT64_C(0x68F62C4EC3B6E13B), UINT64_C(0x75152F9A781242D8)}},
3201         {{UINT64_C(0x4D58276824B8B820), UINT64_C(0x36E37AC45BBD9F84),
3202           UINT64_C(0x1F34414ADA076F12), UINT64_C(0x08A77C283E0333C6)},
3203          {UINT64_C(0xBB1F017DD9193382), UINT64_C(0x56E9AA2483A5612D),
3204           UINT64_C(0x6959B02BD0B4554F), UINT64_C(0x2479BC56E4559B52)}},
3205     },
3206     {
3207         {{UINT64_C(0x96D631C60F570A8E), UINT64_C(0xE3F566A3D714B807),
3208           UINT64_C(0x564DD512EF7E1550), UINT64_C(0x1C5CF24A79FA2F58)},
3209          {UINT64_C(0x973BA599897958DB), UINT64_C(0x93951D1711A9CBB1),
3210           UINT64_C(0x86BA17F6A37A969A), UINT64_C(0x4807CAC7A069B195)}},
3211         {{UINT64_C(0xB64AC0D46665B35E), UINT64_C(0xBA9CD3947EF72C68),
3212           UINT64_C(0x838807B29C4CBC44), UINT64_C(0x2675D26882770197)},
3213          {UINT64_C(0xBFC2F13717087FA9), UINT64_C(0x811E644BE7B79B31),
3214           UINT64_C(0x597CE23FC963A061), UINT64_C(0x40BC32E42EA0DEB0)}},
3215         {{UINT64_C(0xC0AEFB5027C85959), UINT64_C(0x76D1087E058E0FDD),
3216           UINT64_C(0x6ADA5AAF7E51A6F8), UINT64_C(0x424B16E0054A058D)},
3217          {UINT64_C(0x9A2C20A963AF9766), UINT64_C(0x4C1CB5323CF18DAB),
3218           UINT64_C(0x599CD9296C5D6A00), UINT64_C(0x57C39BAE8AA311BF)}},
3219         {{UINT64_C(0x3FDF5B46CD987F02), UINT64_C(0x57755078353175C4),
3220           UINT64_C(0x80223EC0CD578394), UINT64_C(0x04BBA6ACAEB7D278)},
3221          {UINT64_C(0xD27FD2BE8688BFB2), UINT64_C(0xB2F80278C27A62E5),
3222           UINT64_C(0x8BA6FB07339429D8), UINT64_C(0x57737FF63AB70AA0)}},
3223         {{UINT64_C(0x0140E47F8EAEB3C9), UINT64_C(0xB91C9798735AC8EA),
3224           UINT64_C(0x325E031283D4EFAA), UINT64_C(0x1E7DA3BED9C5888E)},
3225          {UINT64_C(0xA210CDA6F7F1EB13), UINT64_C(0xEDC1F6B3936EA9E9),
3226           UINT64_C(0x46E831C41B097F65), UINT64_C(0x008576011939A0AE)}},
3227         {{UINT64_C(0x7C26F7111F68BB40), UINT64_C(0xEA69C84539DDBE6D),
3228           UINT64_C(0x590BF426E5316F22), UINT64_C(0x40CDC921CC2DF9C9)},
3229          {UINT64_C(0x28A32DDEF3F991C6), UINT64_C(0xD75B59E65356CA78),
3230           UINT64_C(0xB5DD3861D1F5F318), UINT64_C(0x09EB1A2DE7929834)}},
3231         {{UINT64_C(0x701F9A2DDBC0370D), UINT64_C(0x559D0FAF2870B59D),
3232           UINT64_C(0xE89E5DF055367B5D), UINT64_C(0x22BBD4FC74005A58)},
3233          {UINT64_C(0x7ACED1E499CDC76B), UINT64_C(0xD41C827CE3C219D3),
3234           UINT64_C(0x5AF3F2AE8221D91F), UINT64_C(0x6D62C990E5B6BC98)}},
3235         {{UINT64_C(0x23B2A0BF7FFC9D0F), UINT64_C(0xED98F71D974CA299),
3236           UINT64_C(0x10F8C07A151D559B), UINT64_C(0x40E46FC38E949C62)},
3237          {UINT64_C(0x0CF53E34BBE55338), UINT64_C(0xF2D6CF26115520D4),
3238           UINT64_C(0x915FF09A590B4E23), UINT64_C(0x072E4233BEDC75F2)}},
3239         {{UINT64_C(0xB67A6B60997E9BFA), UINT64_C(0xE7686AC9973BC3E7),
3240           UINT64_C(0x9525B4490B228320), UINT64_C(0x6C7275837ADE8F19)},
3241          {UINT64_C(0x3D064298062FF3D5), UINT64_C(0x5483826C07E22768),
3242           UINT64_C(0xF4ADE9211F7A64A4), UINT64_C(0x70BDDCF7BD92EB25)}},
3243         {{UINT64_C(0xA8DB36115D8A9E36), UINT64_C(0xAA6A5F33FA81065A),
3244           UINT64_C(0x8EC120A3366DDA90), UINT64_C(0x2AA0AB25D8A15CF7)},
3245          {UINT64_C(0x5E11E169A0DFFB9C), UINT64_C(0x8C7572E9118408A7),
3246           UINT64_C(0x4EEFD13E35833ADF), UINT64_C(0x2C6732E8FC2C1811)}},
3247         {{UINT64_C(0x15D063F9B1537DF6), UINT64_C(0x864176B30414FCFD),
3248           UINT64_C(0x9C0A194C8FF9E32E), UINT64_C(0x4DB14C6FDDE1540B)},
3249          {UINT64_C(0xFAA4AED431F6493F), UINT64_C(0x2C479F1DD3C41A46),
3250           UINT64_C(0xC31196678E5E85A2), UINT64_C(0x7E567C8084E9A76C)}},
3251         {{UINT64_C(0xB9E2C92A689A6B95), UINT64_C(0xCCEAC3833B635B01),
3252           UINT64_C(0x04FEA46534AAB952), UINT64_C(0x772E502763B5CF63)},
3253          {UINT64_C(0xCB94F5D225830581), UINT64_C(0x791004AFC77FB7DE),
3254           UINT64_C(0x53273C335140E4AE), UINT64_C(0x0C2D329EA524419F)}},
3255         {{UINT64_C(0xB7CEDA36B307B0E4), UINT64_C(0x12DF7FD00F8F9667),
3256           UINT64_C(0x74274002BF62BD94), UINT64_C(0x6765C73DC436C319)},
3257          {UINT64_C(0x79B64CE5F6EEC946), UINT64_C(0x3B1B4B43DAB258B6),
3258           UINT64_C(0x377819A3EE1F8B84), UINT64_C(0x1F45F1D676D0EB1F)}},
3259         {{UINT64_C(0xCC5BF9B358C953AD), UINT64_C(0x8303250F7BAD1D2C),
3260           UINT64_C(0xBCA7BC36F164972B), UINT64_C(0x2CACF8A9B1DFDA64)},
3261          {UINT64_C(0xB03A59B9D4E2A06F), UINT64_C(0xFED68E681B7FB8FD),
3262           UINT64_C(0x08F75A527E747AE6), UINT64_C(0x3299EA6B37A4420B)}},
3263         {{UINT64_C(0x49A00BE6932E5BA6), UINT64_C(0x4921250556114C4B),
3264           UINT64_C(0x786B7D31376183C7), UINT64_C(0x01F9E229DD8A5EAF)},
3265          {UINT64_C(0xE9B8E99053094AD4), UINT64_C(0x2EDA305CBFAEDFA8),
3266           UINT64_C(0x344437267F9E3BC8), UINT64_C(0x1729519C6B55B3C3)}},
3267         {{UINT64_C(0xEA5A68C050A597D6), UINT64_C(0xA65147D4F1E86D1B),
3268           UINT64_C(0x554FA36B8B47CDEB), UINT64_C(0x7F38364B9F24FFED)},
3269          {UINT64_C(0x657C7E051D2A8E2B), UINT64_C(0x8270F1A7E3F64D62),
3270           UINT64_C(0xFD258B59953AF5A2), UINT64_C(0x6DE0114143510AA3)}},
3271     },
3272     {
3273         {{UINT64_C(0x483904280D7A5CBE), UINT64_C(0xD37E8C1FDE441E5E),
3274           UINT64_C(0x908C88B80DE31C8C), UINT64_C(0x7C0E24BB0ACD87CE)},
3275          {UINT64_C(0x4A78117725ECCCE8), UINT64_C(0xC06C2F7ACBDA746F),
3276           UINT64_C(0xDB9E9A08AB565DD4), UINT64_C(0x1E9B44C0BE776F5B)}},
3277         {{UINT64_C(0x7CFD4E5085B54ABC), UINT64_C(0x41A4A4DCE7A44F8B),
3278           UINT64_C(0x751C5052A4422576), UINT64_C(0x534FE0B2D56B6CB1)},
3279          {UINT64_C(0x22DAA5CDD5D767D0), UINT64_C(0x9C1999AB0AF8E22C),
3280           UINT64_C(0xC70C093299259068), UINT64_C(0x459D212EFD0839F0)}},
3281         {{UINT64_C(0xA207E7DEFD32D79B), UINT64_C(0xA7B54991410B479F),
3282           UINT64_C(0x806912B6D68E5CDC), UINT64_C(0x1CB7B68C92AB8B64)},
3283          {UINT64_C(0x3DB85378DF98339F), UINT64_C(0xA24101DC83EA7A18),
3284           UINT64_C(0x8892367CE25522C5), UINT64_C(0x491A8BB37753A2C3)}},
3285         {{UINT64_C(0x571C547E8C7875A7), UINT64_C(0x7E5F23E4E9747C13),
3286           UINT64_C(0x00F3BBB21058548D), UINT64_C(0x7081F172E2397102)},
3287          {UINT64_C(0xB4351B8A6B573034), UINT64_C(0xB35A4F44C1A094F0),
3288           UINT64_C(0xE2C1DAEDAE951E96), UINT64_C(0x5CF2A742B9DAA081)}},
3289         {{UINT64_C(0xB4F0D3F09828ED9F), UINT64_C(0x6DB312FBA9251386),
3290           UINT64_C(0xC9A4583F537203F2), UINT64_C(0x5E0996399CE76D40)},
3291          {UINT64_C(0x3381B894C9F8CEA8), UINT64_C(0x8242DAF8626E07E8),
3292           UINT64_C(0x64A0B68C6077DFD9), UINT64_C(0x3CC462C0563CF051)}},
3293         {{UINT64_C(0x8937364C87AF4A45), UINT64_C(0x8C4ACBFA2DE0FD60),
3294           UINT64_C(0xF10AED11472A5D8A), UINT64_C(0x3F5674B55380C2E6)},
3295          {UINT64_C(0x8F4FD0F52BF8A452), UINT64_C(0xB436E388C7390418),
3296           UINT64_C(0xAFAB7B7CE6EE9406), UINT64_C(0x4F623177951739BA)}},
3297         {{UINT64_C(0x90B0ED35A9B50F2A), UINT64_C(0x46DC3F91AC6CF217),
3298           UINT64_C(0x2F1420312C7B119C), UINT64_C(0x55A93CBC07D79225)},
3299          {UINT64_C(0x45E0DD7DB304A642), UINT64_C(0xB743DFCDD572D446),
3300           UINT64_C(0x867B02EBAC74B368), UINT64_C(0x67B2B86C169B94B0)}},
3301         {{UINT64_C(0x18396DA7483CFEDB), UINT64_C(0x6C6E03708A3A07C2),
3302           UINT64_C(0xF32A1AFEAB554998), UINT64_C(0x408C911987D1C136)},
3303          {UINT64_C(0x755F63254BBE0B78), UINT64_C(0xDC4A7319D1178550),
3304           UINT64_C(0x44B49813B3B9E459), UINT64_C(0x0294B9A94C3D3620)}},
3305         {{UINT64_C(0x6480F6FE067FA6FF), UINT64_C(0x67891400F307A52E),
3306           UINT64_C(0x9F846EF87F865DA8), UINT64_C(0x318DAC55AE02F671)},
3307          {UINT64_C(0x91119652E288A317), UINT64_C(0x4D7CF2B8038C61B8),
3308           UINT64_C(0x098F80DD5154C1A8), UINT64_C(0x10C04F87D239A2D4)}},
3309         {{UINT64_C(0x134609265CA6F183), UINT64_C(0x5E97AD18D52001ED),
3310           UINT64_C(0x7DCD2477E14843DF), UINT64_C(0x27DAB27698A30426)},
3311          {UINT64_C(0x7939CAE3E120D80C), UINT64_C(0xC9F4646651E5B81A),
3312           UINT64_C(0xED620322E2E49D52), UINT64_C(0x3C0F5A2EFA172BBB)}},
3313         {{UINT64_C(0xBFFE87425DB1196B), UINT64_C(0xCD45F8ED49B7214E),
3314           UINT64_C(0x923ABA47C35F5C33), UINT64_C(0x16ED1F1083F3EE48)},
3315          {UINT64_C(0x042E6DF099274930), UINT64_C(0xE8AE1DCFC5F8EA16),
3316           UINT64_C(0x004462CBF02EA2B2), UINT64_C(0x427F9381D284B04E)}},
3317         {{UINT64_C(0x4CD481F875EFACC5), UINT64_C(0xD98C3FD421C83368),
3318           UINT64_C(0x4335E7C83894CE88), UINT64_C(0x18321F87955A298C)},
3319          {UINT64_C(0x073DD00AD1716E18), UINT64_C(0x66D82A5FFE0BFE61),
3320           UINT64_C(0x7D869E202310C532), UINT64_C(0x29A376FB19BF4704)}},
3321         {{UINT64_C(0xA1B12B35C149B5B0), UINT64_C(0x3411B2311E828959),
3322           UINT64_C(0x56417519560D99FB), UINT64_C(0x4E0EB143EBB52124)},
3323          {UINT64_C(0x7B594B5E6AEF3801), UINT64_C(0x00AEE12E9ECB536E),
3324           UINT64_C(0x6BF0FB2956E23145), UINT64_C(0x2B2D83B961AE8E98)}},
3325         {{UINT64_C(0x9CB3E2E86AC27F2D), UINT64_C(0x82BACA965A6280AA),
3326           UINT64_C(0xCBC6C01B2C6B7C8F), UINT64_C(0x390511BCD0C01ABD)},
3327          {UINT64_C(0xB322D97249551C0D), UINT64_C(0x7905E82E7B6489C8),
3328           UINT64_C(0x4DD0CE8B40EEC20D), UINT64_C(0x5C0B3EE72409298A)}},
3329         {{UINT64_C(0x4418D685B635FB99), UINT64_C(0x652EA6083ACE8B39),
3330           UINT64_C(0xE586FBDC46FC4047), UINT64_C(0x3C832D34D8CC13D8)},
3331          {UINT64_C(0x14CC9F23F7AA54A1), UINT64_C(0x80D094E607153B9F),
3332           UINT64_C(0x0776E5406A2EED8E), UINT64_C(0x03CC3BFC77249085)}},
3333         {{UINT64_C(0x5F8F281F1308C1A8), UINT64_C(0x31C8E737D1AFC4B7),
3334           UINT64_C(0x6778529841AE8EF2), UINT64_C(0x17716086FD028A4B)},
3335          {UINT64_C(0x1A2083E0F922E100), UINT64_C(0xD67EC9D1D53FE691),
3336           UINT64_C(0x2DF8B6EDECCA8DEB), UINT64_C(0x3B595EE4BCCC999E)}},
3337     },
3338     {
3339         {{UINT64_C(0x11F03F895A4B8C04), UINT64_C(0x254C36487DAE8E6B),
3340           UINT64_C(0xAB6EAAF1637CDB83), UINT64_C(0x41F52243FDDED8F6)},
3341          {UINT64_C(0x487078E1BBDF3270), UINT64_C(0x98853B49339CEA28),
3342           UINT64_C(0x8AF0522BAB3EDE57), UINT64_C(0x734D711F85EB4CC0)}},
3343         {{UINT64_C(0xFD1F46ADF86BA644), UINT64_C(0xA5332B97A3299855),
3344           UINT64_C(0x61BE90DBD9493634), UINT64_C(0x308F09B1C2705911)},
3345          {UINT64_C(0xD59F1B1A0B7918A5), UINT64_C(0x9CF333D0CF6399E6),
3346           UINT64_C(0xD09C63CDFBB26B6B), UINT64_C(0x76C27913A6536647)}},
3347         {{UINT64_C(0x3DF1811FAAAB555C), UINT64_C(0x60853351886C828B),
3348           UINT64_C(0xF6CA7707F1E87F41), UINT64_C(0x5B4F6EDF7D7082E6)},
3349          {UINT64_C(0xADE518E03F672DE7), UINT64_C(0x00ED0B84022541B2),
3350           UINT64_C(0x04FE5DD6618E8969), UINT64_C(0x2F5F5C65DB9CCA4D)}},
3351         {{UINT64_C(0x00B69B4596BDAE2C), UINT64_C(0x06DB22CF770604C4),
3352           UINT64_C(0xC2EB7F8F856585C3), UINT64_C(0x6E3225390413C614)},
3353          {UINT64_C(0x22C09EA870A46872), UINT64_C(0x143E73BC1FF23734),
3354           UINT64_C(0xCAC5E2DD575C20B4), UINT64_C(0x225E53903FEBE787)}},
3355         {{UINT64_C(0x594FEA4EBE9C512D), UINT64_C(0x5850709292CB73AE),
3356           UINT64_C(0xFD8EFC7DB0CE2096), UINT64_C(0x3B58C199E031D6AB)},
3357          {UINT64_C(0x55DA1CBD479F23E4), UINT64_C(0x060C6BB5A6DB6137),
3358           UINT64_C(0xD8319CF86864488E), UINT64_C(0x6C15A31B21B02EDA)}},
3359         {{UINT64_C(0x13C483728CA7084D), UINT64_C(0xF7554E59A171ECE5),
3360           UINT64_C(0x7425C5D823A97699), UINT64_C(0x6F2C68DA71E1120E)},
3361          {UINT64_C(0x9591B9B624324B64), UINT64_C(0x2DA33472C02AC704),
3362           UINT64_C(0xC5DE7FC981EE1295), UINT64_C(0x6A646A445D6E93C6)}},
3363         {{UINT64_C(0x48684061A39D6554), UINT64_C(0xB70ABF61C3DF57B6),
3364           UINT64_C(0x9824AFD658B9EEE3), UINT64_C(0x46EBE9D13A14A733)},
3365          {UINT64_C(0x8E70F95DD74F8E94), UINT64_C(0xA9D922A26AFCA4E2),
3366           UINT64_C(0x519A97536988CC16), UINT64_C(0x711DEF16D545AF8A)}},
3367         {{UINT64_C(0x362A5D95811A2BF7), UINT64_C(0x42A84A33566B90CE),
3368           UINT64_C(0x25CBC7607C41EC87), UINT64_C(0x6B77E39CD4B7DBEE)},
3369          {UINT64_C(0xA98B8201833015A4), UINT64_C(0xE412E217C31B26F4),
3370           UINT64_C(0x518BE8F0E0090782), UINT64_C(0x08D9F4B63DB51D4E)}},
3371         {{UINT64_C(0x2C80CE87297D421E), UINT64_C(0x2FD137F8ADBA1498),
3372           UINT64_C(0xA2ED3D472899AA14), UINT64_C(0x2AC924A5FE4F365A)},
3373          {UINT64_C(0xAC0389B7666DC0A0), UINT64_C(0x3CC997398ABF3D9E),
3374           UINT64_C(0x33060DB6DFBFF83A), UINT64_C(0x54EEE2150339C3B8)}},
3375         {{UINT64_C(0x06C3A4F5820F7E4D), UINT64_C(0x86F083E208C3D311),
3376           UINT64_C(0x47E29984FE4B0476), UINT64_C(0x218F52E2CA7DF6CF)},
3377          {UINT64_C(0x59317E26BF2C2084), UINT64_C(0xEA9C865B289A10CF),
3378           UINT64_C(0x7AA1E50B2074FEA3), UINT64_C(0x708A1D8C4B3EFC31)}},
3379         {{UINT64_C(0x34C5C63E864817D7), UINT64_C(0x0F614043D89E995B),
3380           UINT64_C(0x60CE8BCE975E2A03), UINT64_C(0x70916E2978493E0C)},
3381          {UINT64_C(0xBD0748F9216782C6), UINT64_C(0x0051C65AED32FB72),
3382           UINT64_C(0x9DC5F5584DD64705), UINT64_C(0x674F1A63EEC14B50)}},
3383         {{UINT64_C(0x73D6E68EDB633FD1), UINT64_C(0x7B5F8303F52F9537),
3384           UINT64_C(0x980FDDDC88A74CFB), UINT64_C(0x6419C18F47FC32D1)},
3385          {UINT64_C(0x93727B4C870B5D59), UINT64_C(0x4BCE05DECF28021D),
3386           UINT64_C(0x3C059B47AB4F0CE5), UINT64_C(0x77CA7F67B85FFDBB)}},
3387         {{UINT64_C(0xDBEADDCEC525088E), UINT64_C(0x561E12BE390D2221),
3388           UINT64_C(0xCD224FC1D9BA7AF0), UINT64_C(0x03744552394DC073)},
3389          {UINT64_C(0xCFC67B4921BB6B6E), UINT64_C(0xD234FD8D1B5F8E6A),
3390           UINT64_C(0x6DDBC18B40B7F8B0), UINT64_C(0x79F40857DAACCC74)}},
3391         {{UINT64_C(0x30E5F9909DD71B9C), UINT64_C(0x00FCBFA5291124EF),
3392           UINT64_C(0xBE595A2549B8C570), UINT64_C(0x5B4B8141BC094446)},
3393          {UINT64_C(0xB22B4F04469191B6), UINT64_C(0x10845AC8D73C4D38),
3394           UINT64_C(0x39C9F0FBED0C8224), UINT64_C(0x7E009DFBF5813BEE)}},
3395         {{UINT64_C(0xA47C2989A61D09C0), UINT64_C(0x3706F45659E55A9C),
3396           UINT64_C(0x2373976FEA0259B9), UINT64_C(0x13FC0E09077D20CC)},
3397          {UINT64_C(0xBB24DD05E78D29CF), UINT64_C(0xD8757A67822CFA02),
3398           UINT64_C(0x36CA74863C55A4C6), UINT64_C(0x4234E6893EEABBE1)}},
3399         {{UINT64_C(0xA2F54D14B46BDB51), UINT64_C(0x8A530B78675BB770),
3400           UINT64_C(0x617D7E8EDE9F1F8B), UINT64_C(0x799B3E442DCC4712)},
3401          {UINT64_C(0x658A31D8B486FE8C), UINT64_C(0x45BAFC29163D4AF0),
3402           UINT64_C(0x3A2C7F66A5289C8D), UINT64_C(0x4ECC3C7DB91FF3DB)}},
3403     },
3404     {
3405         {{UINT64_C(0x738CF1C7DF4DFD43), UINT64_C(0x72943A2DE987084C),
3406           UINT64_C(0xEA21C05F2491FF24), UINT64_C(0x3D3F4ED7DA050094)},
3407          {UINT64_C(0xF90644E461C4054D), UINT64_C(0x253792143A50E82A),
3408           UINT64_C(0x47EDB006C7DEF970), UINT64_C(0x0F8F031C0F53F307)}},
3409         {{UINT64_C(0x50FEB6D8724976D5), UINT64_C(0x57AA499FF40C7720),
3410           UINT64_C(0x6B80AC540DAAF428), UINT64_C(0x7AC6845E1F6FC276)},
3411          {UINT64_C(0x8EC7FAB117A4B9C5), UINT64_C(0x8336DD62ED0C8F97),
3412           UINT64_C(0x6014A510B7B7104E), UINT64_C(0x4991A03BA2911C30)}},
3413         {{UINT64_C(0x6D353975CBCC9BA3), UINT64_C(0x23E97E28C4564492),
3414           UINT64_C(0xDF432FDAF8AEED3E), UINT64_C(0x11DB40DD6F6B472C)},
3415          {UINT64_C(0x5B87005B95AA0174), UINT64_C(0x1DB4108089D9F1A8),
3416           UINT64_C(0x5A6BC444689DF208), UINT64_C(0x16153F87BF38FF8D)}},
3417         {{UINT64_C(0xD217003FFFD3C814), UINT64_C(0x1ADE64C3FD50AF95),
3418           UINT64_C(0x1936332C9FFB8BEB), UINT64_C(0x6EE322DCD70CD8D8)},
3419          {UINT64_C(0xE40A0419F2A60976), UINT64_C(0xA62F6FA1EF93B05B),
3420           UINT64_C(0x5978206C596575FF), UINT64_C(0x5CDCA200B68BFE5C)}},
3421         {{UINT64_C(0x3FB16AEDB7949E33), UINT64_C(0x3453892840304A1B),
3422           UINT64_C(0x7FA35A343BCA4239), UINT64_C(0x22FD1AEFEE76919E)},
3423          {UINT64_C(0x1F8FE6A40F6A5D50), UINT64_C(0x27CC704F26BBA46B),
3424           UINT64_C(0x230FD0CA3420CC52), UINT64_C(0x3E9E4DA4B3A83D85)}},
3425         {{UINT64_C(0x1D82390E7F5CC75E), UINT64_C(0x7025624549D0A605),
3426           UINT64_C(0x5B8778134FF4BC44), UINT64_C(0x28E6A057B5EC02E4)},
3427          {UINT64_C(0xBC7A10DA2E89FB84), UINT64_C(0x3AF182E520E1EA00),
3428           UINT64_C(0x4B590FFA9C507274), UINT64_C(0x26BA94D6AA7FD65B)}},
3429         {{UINT64_C(0xC02CC77C238CC195), UINT64_C(0x3F175C97A97EE3E4),
3430           UINT64_C(0x8A28FA23DFA1F9DC), UINT64_C(0x35CAC0FF1F968D15)},
3431          {UINT64_C(0x0FC41B3337C7C773), UINT64_C(0x71E06B10BC999443),
3432           UINT64_C(0x073A1ABA2C87B0A4), UINT64_C(0x29F29B129E5E8B70)}},
3433         {{UINT64_C(0xAA25F348E491FE70), UINT64_C(0x9371F94BC1713992),
3434           UINT64_C(0x674B478C4FA08818), UINT64_C(0x6F3C31FEB1407431)},
3435          {UINT64_C(0xBB7D37FBD93DD5E1), UINT64_C(0xE34A40B87E04EE7A),
3436           UINT64_C(0xCF82360DF3C33528), UINT64_C(0x0A3B8FF501477712)}},
3437         {{UINT64_C(0xA45914716B718511), UINT64_C(0x7B0CE8DED2FD6B9B),
3438           UINT64_C(0xC42544FA6845DBEF), UINT64_C(0x456A698563AF476A)},
3439          {UINT64_C(0x5DD611F69CDE4E74), UINT64_C(0x860956832B346AEB),
3440           UINT64_C(0xD15C5DA06E75B3D7), UINT64_C(0x220FFD73C72D5D2C)}},
3441         {{UINT64_C(0x478DA345D2ED888F), UINT64_C(0xA69D4FB9E04CBCC7),
3442           UINT64_C(0xA427150AB3F1179D), UINT64_C(0x1DD3B8C2D5CEA78A)},
3443          {UINT64_C(0x9462EFF0B8628A22), UINT64_C(0xB2FFFF4AB2CB44A5),
3444           UINT64_C(0x8234A3FF24039BA8), UINT64_C(0x01BE7202916DE889)}},
3445         {{UINT64_C(0x510669856DFCEF0B), UINT64_C(0x25729D98DF20CDEE),
3446           UINT64_C(0x872FD39D9693E5EF), UINT64_C(0x72D03AE12D859635)},
3447          {UINT64_C(0x3F28F84EDACAEB82), UINT64_C(0x9EB40FD6CB5284D7),
3448           UINT64_C(0x66C2DCA6C5F54041), UINT64_C(0x4BDBA3821C1F2461)}},
3449         {{UINT64_C(0xE53421970E0ED176), UINT64_C(0xF588547AA225A47F),
3450           UINT64_C(0xC83B54ED1FEB2259), UINT64_C(0x1B03791392F3733D)},
3451          {UINT64_C(0x935C97822271ECFA), UINT64_C(0x5F7E94A653CFE07C),
3452           UINT64_C(0xBFF5B0E61B40CA19), UINT64_C(0x36C7851D459445E1)}},
3453         {{UINT64_C(0xB6547971588C9748), UINT64_C(0xCFD8E81B11970562),
3454           UINT64_C(0x41333C80702FE4FA), UINT64_C(0x2F153C8C962A993B)},
3455          {UINT64_C(0x028BBD6A8BDA48AC), UINT64_C(0x7B076F88FE1DB02A),
3456           UINT64_C(0xC9560400078FB3FC), UINT64_C(0x5DCC0946035907EA)}},
3457         {{UINT64_C(0x93D7CF33A6233F1C), UINT64_C(0x03184BC4DF2A187C),
3458           UINT64_C(0x291149BCE83DAC32), UINT64_C(0x575F4279FAEDF216)},
3459          {UINT64_C(0x101427B4086FC141), UINT64_C(0xC924F2AED288562E),
3460           UINT64_C(0xDB610463EEF5799A), UINT64_C(0x20F187676A09661D)}},
3461         {{UINT64_C(0xE39BB775F59D0C20), UINT64_C(0x18DA90E2723A4EF2),
3462           UINT64_C(0x8E747A7BF56B381B), UINT64_C(0x7EF67224F98F26DC)},
3463          {UINT64_C(0xB1373AF5E1F94B99), UINT64_C(0x1076FBA60C3B6AA8),
3464           UINT64_C(0x7FCD0017A3A7811C), UINT64_C(0x6D1A697346554E7E)}},
3465         {{UINT64_C(0xE5734077B9CED2C2), UINT64_C(0xC94D17F81F770914),
3466           UINT64_C(0x58B47BCB1CD248EB), UINT64_C(0x2E06538C24804B6F)},
3467          {UINT64_C(0x275D933F32E7CA19), UINT64_C(0x1B982B491FC9241E),
3468           UINT64_C(0x8B8A6ED53986B6AC), UINT64_C(0x1756822135B4EA6A)}},
3469     },
3470     {
3471         {{UINT64_C(0x090AD05AE796327F), UINT64_C(0xA78DAE5EAD21DD4B),
3472           UINT64_C(0x8EEC9EDB9C2F8CBE), UINT64_C(0x33E375E0653E0F2D)},
3473          {UINT64_C(0xDA19EFF28D67AC72), UINT64_C(0xBFC7E62B2737AB8C),
3474           UINT64_C(0xBBF8BD1D4CF53C12), UINT64_C(0x5ABFE23F45C6D555)}},
3475         {{UINT64_C(0x32460B330DE39342), UINT64_C(0x3567454AB8977067),
3476           UINT64_C(0x10A1E47DF954592C), UINT64_C(0x4DE8C6EF4DD019C4)},
3477          {UINT64_C(0x1F1D296B1BDAAAFA), UINT64_C(0x4E6B8E8F3A75AD99),
3478           UINT64_C(0x259015E1A27FE061), UINT64_C(0x6B6A48209F320632)}},
3479         {{UINT64_C(0x8AA089AFA0B5E605), UINT64_C(0x1D6C1EEE1B4058FD),
3480           UINT64_C(0x1D920534B4E89BEF), UINT64_C(0x722A3A3516163340)},
3481          {UINT64_C(0xA3B9178CF33B49B2), UINT64_C(0xFF8FE9BB65558E90),
3482           UINT64_C(0x94766BC09794EFAE), UINT64_C(0x79A1EFA2FDFAEB42)}},
3483         {{UINT64_C(0x2FE44B97BCB6D558), UINT64_C(0xB4F4F402DB8B0A79),
3484           UINT64_C(0xF53D8AB1247C32E5), UINT64_C(0x3B883CE54DA4C009)},
3485          {UINT64_C(0xB46168BD2EC9F1C6), UINT64_C(0xD40BDE7B6B8FE01A),
3486           UINT64_C(0x60A5C168CDFE509F), UINT64_C(0x3314D87823BE249E)}},
3487         {{UINT64_C(0x02511A854D9F5769), UINT64_C(0x8398F9BDB49D6A8E),
3488           UINT64_C(0xE8D773F35D2D7135), UINT64_C(0x09B3B8AB9DECC331)},
3489          {UINT64_C(0x8D2B269B584C11D9), UINT64_C(0xF76619446B6B86A9),
3490           UINT64_C(0x719A3620C7659AF7), UINT64_C(0x3CFC8DF037C27DBE)}},
3491         {{UINT64_C(0x5EE0BE061145B14B), UINT64_C(0xAC6950E423193ED6),
3492           UINT64_C(0x7291C44CDF244C7F), UINT64_C(0x4650C16243D744EA)},
3493          {UINT64_C(0x60B92D3F34A084D8), UINT64_C(0xBBD44A0E376E5414),
3494           UINT64_C(0x5C0E488A0980F36C), UINT64_C(0x4E53FCCAD7991A09)}},
3495         {{UINT64_C(0x7A2ADBCF367B55C2), UINT64_C(0x96A88B751FED467E),
3496           UINT64_C(0x8E75E37EFB263845), UINT64_C(0x4C2E47B8EB508DD0)},
3497          {UINT64_C(0x20BF51DEB19FCD14), UINT64_C(0xD907174914CB67D0),
3498           UINT64_C(0xEC90714B29EBDA7C), UINT64_C(0x4ACADAA6634C0F2E)}},
3499         {{UINT64_C(0xA516B9B8EC715EC9), UINT64_C(0xC7DCA26342B8A87B),
3500           UINT64_C(0x2CE450C9DA27B456), UINT64_C(0x3C97481200A8819F)},
3501          {UINT64_C(0xF4822C23ECDED574), UINT64_C(0xFA737FAD19FA48D4),
3502           UINT64_C(0xE34B2F2A45D718E0), UINT64_C(0x1D6F19FEBEA7B540)}},
3503         {{UINT64_C(0xADC8FCE798E24789), UINT64_C(0xFE2F890C45869609),
3504           UINT64_C(0x6466E03C78A35C19), UINT64_C(0x24C70FEDC1F34AA9)},
3505          {UINT64_C(0x89530F7557747DD1), UINT64_C(0x343DE05B2B8CDE2D),
3506           UINT64_C(0xC33134E335CC8D5A), UINT64_C(0x3CCEFC38AC9B4F2B)}},
3507         {{UINT64_C(0x84C904B8EF923364), UINT64_C(0x46E1FECFBDDD31D8),
3508           UINT64_C(0xA8126DD6FAE79B6B), UINT64_C(0x4A53C034FBF05C9A)},
3509          {UINT64_C(0x44CA3ACBBE8F255F), UINT64_C(0x6F0FD374EC319885),
3510           UINT64_C(0xADBCB4AAF1836DC2), UINT64_C(0x6CC3A59665187EE9)}},
3511         {{UINT64_C(0x941E7821B397B5E7), UINT64_C(0xD3457371FEE2A9D5),
3512           UINT64_C(0x9F69BE4466382F60), UINT64_C(0x6DCEAD04A1F49E9B)},
3513          {UINT64_C(0xDC6BC23B3BF21647), UINT64_C(0x1500FD7FB5271BE9),
3514           UINT64_C(0x9B0994DDF23FDF3D), UINT64_C(0x38A2ECEB45065CF7)}},
3515         {{UINT64_C(0x2667CEFE0DCA8BF4), UINT64_C(0x8227ACB3E46EB469),
3516           UINT64_C(0x4C20677DA75C5B8B), UINT64_C(0x224FC5B4B36ACDFE)},
3517          {UINT64_C(0xA0007E147A6A01D3), UINT64_C(0x15C79558F8A64EED),
3518           UINT64_C(0xFB58A76A93DEDC09), UINT64_C(0x2057DDDC26F10A98)}},
3519         {{UINT64_C(0x1FF658AEBDB27AE4), UINT64_C(0x7F30DF57DDD96647),
3520           UINT64_C(0x63490B8DC7294313), UINT64_C(0x0EAEC5735435869E)},
3521          {UINT64_C(0x85F05C49DF115B78), UINT64_C(0x95739C0C62992F5D),
3522           UINT64_C(0x72F143192B573963), UINT64_C(0x05600E6486328FF4)}},
3523         {{UINT64_C(0x9BE7331FEAB0F425), UINT64_C(0x2E4CF5AA74447C20),
3524           UINT64_C(0x9B26F51266243D2A), UINT64_C(0x77C9672284AB5627)},
3525          {UINT64_C(0xEC545427601673B4), UINT64_C(0xEF6A34FB2F127AF7),
3526           UINT64_C(0x519559C1E2DFD269), UINT64_C(0x34D7D7548258E37A)}},
3527         {{UINT64_C(0xC113747B5E8B5281), UINT64_C(0x0C085456E04D779B),
3528           UINT64_C(0x3E3260521CCBCFC6), UINT64_C(0x5C954CC12A37D19F)},
3529          {UINT64_C(0xB1A4A5B39124435B), UINT64_C(0x5E8B8D4118ED98E7),
3530           UINT64_C(0xC973D969144A3793), UINT64_C(0x0CB98CC888DD8B49)}},
3531         {{UINT64_C(0x0E0233B2B48D04DF), UINT64_C(0x1B3916E07BEAA4A5),
3532           UINT64_C(0xA24A4BE4B672BE8C), UINT64_C(0x7A61506D845AB94D)},
3533          {UINT64_C(0x160DFA0FE7F4CA3B), UINT64_C(0xA9562C89D84C1148),
3534           UINT64_C(0x52979B9592A276EB), UINT64_C(0x17869B53924E86E9)}},
3535     },
3536     {
3537         {{UINT64_C(0x5D39F4781A86D0D8), UINT64_C(0xDE5932DAFB8BC8A9),
3538           UINT64_C(0xD706C6D72F5B4B70), UINT64_C(0x53F450FC8A36AFC2)},
3539          {UINT64_C(0xE1DC35401E550B3B), UINT64_C(0x475507DC8B7EB6D2),
3540           UINT64_C(0xF803F78ADFA2E5F7), UINT64_C(0x40B5F263C48097FF)}},
3541         {{UINT64_C(0x336FB00E226CDB1F), UINT64_C(0xDDC1BB0288215C40),
3542           UINT64_C(0x6C4DD40E73C07FD0), UINT64_C(0x4D0D2E498F7D15E7)},
3543          {UINT64_C(0xAF96E9B3D2061402), UINT64_C(0x15A3084A1372FCF8),
3544           UINT64_C(0x91B571E6307B02D6), UINT64_C(0x2239592F53AE7705)}},
3545         {{UINT64_C(0x7D8615A1C20B6645), UINT64_C(0xF4875767C7C4465B),
3546           UINT64_C(0xF6D3E718861702AB), UINT64_C(0x7F014A53131F726A)},
3547          {UINT64_C(0x30809F8FDAAB77CA), UINT64_C(0x7CE8DC6128F944D3),
3548           UINT64_C(0xF915111D9AEEF6A1), UINT64_C(0x246D7CC8206902FD)}},
3549         {{UINT64_C(0x7677488BEF806225), UINT64_C(0x994C8104F4C75EAE),
3550           UINT64_C(0x17586D4E4E0C8988), UINT64_C(0x70E5258090E33A2A)},
3551          {UINT64_C(0xB993F26A022D2FED), UINT64_C(0x955C130D689FBFBD),
3552           UINT64_C(0x0D3D1C63A3612E8E), UINT64_C(0x423D73E1B91A8DE6)}},
3553         {{UINT64_C(0x7274BE083027164F), UINT64_C(0xDE907B4942FDB769),
3554           UINT64_C(0x61D74449B697060D), UINT64_C(0x18A5FDC226602CC9)},
3555          {UINT64_C(0xB08DC02B049CAF4A), UINT64_C(0xC84AF48578DBA1F1),
3556           UINT64_C(0x0A5B35197178E4DF), UINT64_C(0x6EC7A7A55B26D0FE)}},
3557         {{UINT64_C(0xDEF1782F88554F05), UINT64_C(0xB73E7333D8D6DF47),
3558           UINT64_C(0x1DDF902290E9C67A), UINT64_C(0x5D217B51D56181AC)},
3559          {UINT64_C(0x7A338C7BE27F90EE), UINT64_C(0xB97CCD2A0D84A177),
3560           UINT64_C(0x3E1016017C5E3FA9), UINT64_C(0x2706E77C30FF0918)}},
3561         {{UINT64_C(0x1BD1274F72A7CB9F), UINT64_C(0x8B60357A0622DB90),
3562           UINT64_C(0x0140E14A2151BB23), UINT64_C(0x358D7DDAE9A30C4C)},
3563          {UINT64_C(0x3B15306089BFB2C6), UINT64_C(0x47462C79B6757C69),
3564           UINT64_C(0x2B22239DB43EF986), UINT64_C(0x6793671F0B774DE3)}},
3565         {{UINT64_C(0x99EDB02EF6F8EDC6), UINT64_C(0x24432760C4257DD9),
3566           UINT64_C(0x4FDD73010336EED2), UINT64_C(0x44879709F6C6506B)},
3567          {UINT64_C(0x107C7DE213F18D89), UINT64_C(0x71C71DFBA5701FBD),
3568           UINT64_C(0x97017E24C7DE3E0B), UINT64_C(0x0F8D7E09FC9EDDC2)}},
3569         {{UINT64_C(0x7A0BB3B13897E01D), UINT64_C(0x7FD4F504C5892BDE),
3570           UINT64_C(0x2EA9AA77AB752928), UINT64_C(0x19A82F559078B466)},
3571          {UINT64_C(0xEF2842C555A0F0D9), UINT64_C(0x5501EEE915B6F2B4),
3572           UINT64_C(0x9665EA6F942AA4B4), UINT64_C(0x015F41F40E707C32)}},
3573         {{UINT64_C(0x1B4D6A919C6B6FD6), UINT64_C(0xCFD2CEE968217AFC),
3574           UINT64_C(0xC5076256BBC9284D), UINT64_C(0x4C7F4EEFAC36547B)},
3575          {UINT64_C(0xAB1AAD2C65EE1907), UINT64_C(0xBCFE8C77BAC25425),
3576           UINT64_C(0x38BA0F85C9048A35), UINT64_C(0x300E6AC460A035F6)}},
3577         {{UINT64_C(0xA8EDBC5E34707CC6), UINT64_C(0x3DA6BC5156ADFC16),
3578           UINT64_C(0x5C7CB5E1CA8B6F3F), UINT64_C(0x76E4A0282D612DFA)},
3579          {UINT64_C(0x75AB66FD64F49D39), UINT64_C(0x5AF9879DC387A739),
3580           UINT64_C(0x839648083E9EDBCF), UINT64_C(0x555D8BBD7F4C4FFE)}},
3581         {{UINT64_C(0xAAE8A2FE3C5590B0), UINT64_C(0x461C6CCC8AB34213),
3582           UINT64_C(0xB2F3E8229E719B77), UINT64_C(0x25B8FCA8663188BB)},
3583          {UINT64_C(0xAA7A047B72548131), UINT64_C(0x0878FFEE189FA6F0),
3584           UINT64_C(0x9E7FB402CE3E17C3), UINT64_C(0x6F260D9344418277)}},
3585         {{UINT64_C(0x0EF1C290B703B647), UINT64_C(0x995009FA651673E4),
3586           UINT64_C(0x661F76D7BE46362D), UINT64_C(0x74B00FD123E56E7A)},
3587          {UINT64_C(0x9557D0ABA1A50E4B), UINT64_C(0xC5A1CF95587688CE),
3588           UINT64_C(0x2A14D1B27AE08ECA), UINT64_C(0x2DA8816C3C23D507)}},
3589         {{UINT64_C(0x51CB405FB9934883), UINT64_C(0xC99A67D401A6864B),
3590           UINT64_C(0xCCF622336CDFFFC3), UINT64_C(0x2938F9F998FE0B79)},
3591          {UINT64_C(0x7766691139A5AA28), UINT64_C(0xDF56CBB52427BFC0),
3592           UINT64_C(0xA39BE968189EB66D), UINT64_C(0x71E6E105A64FD2AB)}},
3593         {{UINT64_C(0xA0C6F79560F9D20B), UINT64_C(0xE06DC8BB765670CC),
3594           UINT64_C(0x9FA1DD58A67275E0), UINT64_C(0x0F7F670DE2D23BBB)},
3595          {UINT64_C(0xF8F07CF333FB15EA), UINT64_C(0x1D09B592723A0271),
3596           UINT64_C(0xF14029234E6FCAAB), UINT64_C(0x05BE1273AE301940)}},
3597         {{UINT64_C(0x2D83906C114AFD1E), UINT64_C(0x091474FDC88E5761),
3598           UINT64_C(0xAFF18EEBEF9E4F9B), UINT64_C(0x136ECAE5F4E646ED)},
3599          {UINT64_C(0xEF4526D0EB01808F), UINT64_C(0x3923EBBA940C0AEC),
3600           UINT64_C(0xAB34160CA437F460), UINT64_C(0x7A46966E421AD57C)}},
3601     }};
3602
3603 /*-
3604  * Q := 2P, both projective, Q and P same pointers OK
3605  * Autogenerated: op3/dbl_proj_any.op3
3606  * https://eprint.iacr.org/2015/1060 Alg 3
3607  */
3608 static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
3609     /* temporary variables */
3610     fe_t t0, t1, t2, t3, t4;
3611     /* constants */
3612     const limb_t *a = const_a;
3613     const limb_t *b3 = const_b3;
3614     /* set pointers for legacy curve arith */
3615     const limb_t *X = P->X;
3616     const limb_t *Y = P->Y;
3617     const limb_t *Z = P->Z;
3618     limb_t *X3 = Q->X;
3619     limb_t *Y3 = Q->Y;
3620     limb_t *Z3 = Q->Z;
3621
3622     /* the curve arith formula */
3623     fiat_id_GostR3410_2001_TestParamSet_square(t0, X);
3624     fiat_id_GostR3410_2001_TestParamSet_square(t1, Y);
3625     fiat_id_GostR3410_2001_TestParamSet_square(t2, Z);
3626     fiat_id_GostR3410_2001_TestParamSet_mul(t3, X, Y);
3627     fiat_id_GostR3410_2001_TestParamSet_add(t3, t3, t3);
3628     fiat_id_GostR3410_2001_TestParamSet_mul(t4, Y, Z);
3629     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, X, Z);
3630     fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, Z3);
3631     fiat_id_GostR3410_2001_TestParamSet_mul(X3, a, Z3);
3632     fiat_id_GostR3410_2001_TestParamSet_mul(Y3, b3, t2);
3633     fiat_id_GostR3410_2001_TestParamSet_add(Y3, X3, Y3);
3634     fiat_id_GostR3410_2001_TestParamSet_sub(X3, t1, Y3);
3635     fiat_id_GostR3410_2001_TestParamSet_add(Y3, t1, Y3);
3636     fiat_id_GostR3410_2001_TestParamSet_mul(Y3, X3, Y3);
3637     fiat_id_GostR3410_2001_TestParamSet_mul(X3, t3, X3);
3638     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, b3, Z3);
3639     fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, t2);
3640     fiat_id_GostR3410_2001_TestParamSet_sub(t3, t0, t2);
3641     fiat_id_GostR3410_2001_TestParamSet_mul(t3, a, t3);
3642     fiat_id_GostR3410_2001_TestParamSet_add(t3, t3, Z3);
3643     fiat_id_GostR3410_2001_TestParamSet_add(Z3, t0, t0);
3644     fiat_id_GostR3410_2001_TestParamSet_add(t0, Z3, t0);
3645     fiat_id_GostR3410_2001_TestParamSet_add(t0, t0, t2);
3646     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t0, t3);
3647     fiat_id_GostR3410_2001_TestParamSet_add(Y3, Y3, t0);
3648     fiat_id_GostR3410_2001_TestParamSet_add(t2, t4, t4);
3649     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t2, t3);
3650     fiat_id_GostR3410_2001_TestParamSet_sub(X3, X3, t0);
3651     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, t2, t1);
3652     fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, Z3);
3653     fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, Z3);
3654 }
3655
3656 /*-
3657  * R := Q + P where R and Q are projective, P affine.
3658  * R and Q same pointers OK
3659  * R and P same pointers not OK
3660  * Autogenerated: op3/add_mixed_any.op3
3661  * https://eprint.iacr.org/2015/1060 Alg 2
3662  */
3663 static void point_add_mixed(pt_prj_t *R, const pt_prj_t *Q, const pt_aff_t *P) {
3664     /* temporary variables */
3665     fe_t t0, t1, t2, t3, t4, t5;
3666     /* constants */
3667     const limb_t *a = const_a;
3668     const limb_t *b3 = const_b3;
3669     /* set pointers for legacy curve arith */
3670     const limb_t *X1 = Q->X;
3671     const limb_t *Y1 = Q->Y;
3672     const limb_t *Z1 = Q->Z;
3673     const limb_t *X2 = P->X;
3674     const limb_t *Y2 = P->Y;
3675     fe_t X3;
3676     fe_t Y3;
3677     fe_t Z3;
3678     limb_t nz;
3679
3680     /* check P for affine inf */
3681     fiat_id_GostR3410_2001_TestParamSet_nonzero(&nz, P->Y);
3682
3683     /* the curve arith formula */
3684     fiat_id_GostR3410_2001_TestParamSet_mul(t0, X1, X2);
3685     fiat_id_GostR3410_2001_TestParamSet_mul(t1, Y1, Y2);
3686     fiat_id_GostR3410_2001_TestParamSet_add(t3, X2, Y2);
3687     fiat_id_GostR3410_2001_TestParamSet_add(t4, X1, Y1);
3688     fiat_id_GostR3410_2001_TestParamSet_mul(t3, t3, t4);
3689     fiat_id_GostR3410_2001_TestParamSet_add(t4, t0, t1);
3690     fiat_id_GostR3410_2001_TestParamSet_sub(t3, t3, t4);
3691     fiat_id_GostR3410_2001_TestParamSet_mul(t4, X2, Z1);
3692     fiat_id_GostR3410_2001_TestParamSet_add(t4, t4, X1);
3693     fiat_id_GostR3410_2001_TestParamSet_mul(t5, Y2, Z1);
3694     fiat_id_GostR3410_2001_TestParamSet_add(t5, t5, Y1);
3695     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, a, t4);
3696     fiat_id_GostR3410_2001_TestParamSet_mul(X3, b3, Z1);
3697     fiat_id_GostR3410_2001_TestParamSet_add(Z3, X3, Z3);
3698     fiat_id_GostR3410_2001_TestParamSet_sub(X3, t1, Z3);
3699     fiat_id_GostR3410_2001_TestParamSet_add(Z3, t1, Z3);
3700     fiat_id_GostR3410_2001_TestParamSet_mul(Y3, X3, Z3);
3701     fiat_id_GostR3410_2001_TestParamSet_add(t1, t0, t0);
3702     fiat_id_GostR3410_2001_TestParamSet_add(t1, t1, t0);
3703     fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, Z1);
3704     fiat_id_GostR3410_2001_TestParamSet_mul(t4, b3, t4);
3705     fiat_id_GostR3410_2001_TestParamSet_add(t1, t1, t2);
3706     fiat_id_GostR3410_2001_TestParamSet_sub(t2, t0, t2);
3707     fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, t2);
3708     fiat_id_GostR3410_2001_TestParamSet_add(t4, t4, t2);
3709     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t1, t4);
3710     fiat_id_GostR3410_2001_TestParamSet_add(Y3, Y3, t0);
3711     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t5, t4);
3712     fiat_id_GostR3410_2001_TestParamSet_mul(X3, t3, X3);
3713     fiat_id_GostR3410_2001_TestParamSet_sub(X3, X3, t0);
3714     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t3, t1);
3715     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, t5, Z3);
3716     fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, t0);
3717
3718     /* if P is inf, throw all that away and take Q */
3719     fiat_id_GostR3410_2001_TestParamSet_selectznz(R->X, nz, Q->X, X3);
3720     fiat_id_GostR3410_2001_TestParamSet_selectznz(R->Y, nz, Q->Y, Y3);
3721     fiat_id_GostR3410_2001_TestParamSet_selectznz(R->Z, nz, Q->Z, Z3);
3722 }
3723
3724 /*-
3725  * R := Q + P all projective.
3726  * R and Q same pointers OK
3727  * R and P same pointers not OK
3728  * Autogenerated: op3/add_proj_any.op3
3729  * https://eprint.iacr.org/2015/1060 Alg 1
3730  */
3731 static void point_add_proj(pt_prj_t *R, const pt_prj_t *Q, const pt_prj_t *P) {
3732     /* temporary variables */
3733     fe_t t0, t1, t2, t3, t4, t5;
3734     /* constants */
3735     const limb_t *a = const_a;
3736     const limb_t *b3 = const_b3;
3737     /* set pointers for legacy curve arith */
3738     const limb_t *X1 = Q->X;
3739     const limb_t *Y1 = Q->Y;
3740     const limb_t *Z1 = Q->Z;
3741     const limb_t *X2 = P->X;
3742     const limb_t *Y2 = P->Y;
3743     const limb_t *Z2 = P->Z;
3744     limb_t *X3 = R->X;
3745     limb_t *Y3 = R->Y;
3746     limb_t *Z3 = R->Z;
3747
3748     /* the curve arith formula */
3749     fiat_id_GostR3410_2001_TestParamSet_mul(t0, X1, X2);
3750     fiat_id_GostR3410_2001_TestParamSet_mul(t1, Y1, Y2);
3751     fiat_id_GostR3410_2001_TestParamSet_mul(t2, Z1, Z2);
3752     fiat_id_GostR3410_2001_TestParamSet_add(t3, X1, Y1);
3753     fiat_id_GostR3410_2001_TestParamSet_add(t4, X2, Y2);
3754     fiat_id_GostR3410_2001_TestParamSet_mul(t3, t3, t4);
3755     fiat_id_GostR3410_2001_TestParamSet_add(t4, t0, t1);
3756     fiat_id_GostR3410_2001_TestParamSet_sub(t3, t3, t4);
3757     fiat_id_GostR3410_2001_TestParamSet_add(t4, X1, Z1);
3758     fiat_id_GostR3410_2001_TestParamSet_add(t5, X2, Z2);
3759     fiat_id_GostR3410_2001_TestParamSet_mul(t4, t4, t5);
3760     fiat_id_GostR3410_2001_TestParamSet_add(t5, t0, t2);
3761     fiat_id_GostR3410_2001_TestParamSet_sub(t4, t4, t5);
3762     fiat_id_GostR3410_2001_TestParamSet_add(t5, Y1, Z1);
3763     fiat_id_GostR3410_2001_TestParamSet_add(X3, Y2, Z2);
3764     fiat_id_GostR3410_2001_TestParamSet_mul(t5, t5, X3);
3765     fiat_id_GostR3410_2001_TestParamSet_add(X3, t1, t2);
3766     fiat_id_GostR3410_2001_TestParamSet_sub(t5, t5, X3);
3767     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, a, t4);
3768     fiat_id_GostR3410_2001_TestParamSet_mul(X3, b3, t2);
3769     fiat_id_GostR3410_2001_TestParamSet_add(Z3, X3, Z3);
3770     fiat_id_GostR3410_2001_TestParamSet_sub(X3, t1, Z3);
3771     fiat_id_GostR3410_2001_TestParamSet_add(Z3, t1, Z3);
3772     fiat_id_GostR3410_2001_TestParamSet_mul(Y3, X3, Z3);
3773     fiat_id_GostR3410_2001_TestParamSet_add(t1, t0, t0);
3774     fiat_id_GostR3410_2001_TestParamSet_add(t1, t1, t0);
3775     fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, t2);
3776     fiat_id_GostR3410_2001_TestParamSet_mul(t4, b3, t4);
3777     fiat_id_GostR3410_2001_TestParamSet_add(t1, t1, t2);
3778     fiat_id_GostR3410_2001_TestParamSet_sub(t2, t0, t2);
3779     fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, t2);
3780     fiat_id_GostR3410_2001_TestParamSet_add(t4, t4, t2);
3781     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t1, t4);
3782     fiat_id_GostR3410_2001_TestParamSet_add(Y3, Y3, t0);
3783     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t5, t4);
3784     fiat_id_GostR3410_2001_TestParamSet_mul(X3, t3, X3);
3785     fiat_id_GostR3410_2001_TestParamSet_sub(X3, X3, t0);
3786     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t3, t1);
3787     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, t5, Z3);
3788     fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, t0);
3789 }
3790
3791 /* constants */
3792 #define RADIX 5
3793 #define DRADIX (1 << RADIX)
3794 #define DRADIX_WNAF ((DRADIX) << 1)
3795
3796 /*-
3797  * precomp for wnaf scalar multiplication:
3798  * precomp[0] = 1P
3799  * precomp[1] = 3P
3800  * precomp[2] = 5P
3801  * precomp[3] = 7P
3802  * precomp[4] = 9P
3803  * ...
3804  */
3805 static void precomp_wnaf(pt_prj_t precomp[DRADIX / 2], const pt_aff_t *P) {
3806     int i;
3807
3808     fe_copy(precomp[0].X, P->X);
3809     fe_copy(precomp[0].Y, P->Y);
3810     fe_copy(precomp[0].Z, const_one);
3811     point_double(&precomp[DRADIX / 2 - 1], &precomp[0]);
3812
3813     for (i = 1; i < DRADIX / 2; i++)
3814         point_add_proj(&precomp[i], &precomp[DRADIX / 2 - 1], &precomp[i - 1]);
3815 }
3816
3817 /* fetch a scalar bit */
3818 static int scalar_get_bit(const unsigned char in[32], int idx) {
3819     int widx, rshift;
3820
3821     widx = idx >> 3;
3822     rshift = idx & 0x7;
3823
3824     if (idx < 0 || widx >= 32) return 0;
3825
3826     return (in[widx] >> rshift) & 0x1;
3827 }
3828
3829 /*-
3830  * Compute "regular" wnaf representation of a scalar.
3831  * See "Exponent Recoding and Regular Exponentiation Algorithms",
3832  * Tunstall et al., AfricaCrypt 2009, Alg 6.
3833  * It forces an odd scalar and outputs digits in
3834  * {\pm 1, \pm 3, \pm 5, \pm 7, \pm 9, ...}
3835  * i.e. signed odd digits with _no zeroes_ -- that makes it "regular".
3836  */
3837 static void scalar_rwnaf(int8_t out[52], const unsigned char in[32]) {
3838     int i;
3839     int8_t window, d;
3840
3841     window = (in[0] & (DRADIX_WNAF - 1)) | 1;
3842     for (i = 0; i < 51; i++) {
3843         d = (window & (DRADIX_WNAF - 1)) - DRADIX;
3844         out[i] = d;
3845         window = (window - d) >> RADIX;
3846         window += scalar_get_bit(in, (i + 1) * RADIX + 1) << 1;
3847         window += scalar_get_bit(in, (i + 1) * RADIX + 2) << 2;
3848         window += scalar_get_bit(in, (i + 1) * RADIX + 3) << 3;
3849         window += scalar_get_bit(in, (i + 1) * RADIX + 4) << 4;
3850         window += scalar_get_bit(in, (i + 1) * RADIX + 5) << 5;
3851     }
3852     out[i] = window;
3853 }
3854
3855 /*-
3856  * Compute "textbook" wnaf representation of a scalar.
3857  * NB: not constant time
3858  */
3859 static void scalar_wnaf(int8_t out[257], const unsigned char in[32]) {
3860     int i;
3861     int8_t window, d;
3862
3863     window = in[0] & (DRADIX_WNAF - 1);
3864     for (i = 0; i < 257; i++) {
3865         d = 0;
3866         if ((window & 1) && ((d = window & (DRADIX_WNAF - 1)) & DRADIX))
3867             d -= DRADIX_WNAF;
3868         out[i] = d;
3869         window = (window - d) >> 1;
3870         window += scalar_get_bit(in, i + 1 + RADIX) << RADIX;
3871     }
3872 }
3873
3874 /*-
3875  * Simulateous scalar multiplication: interleaved "textbook" wnaf.
3876  * NB: not constant time
3877  */
3878 static void var_smul_wnaf_two(pt_aff_t *out, const unsigned char a[32],
3879                               const unsigned char b[32], const pt_aff_t *P) {
3880     int i, d, is_neg, is_inf = 1, flipped = 0;
3881     int8_t anaf[257] = {0};
3882     int8_t bnaf[257] = {0};
3883     pt_prj_t Q;
3884     pt_prj_t precomp[DRADIX / 2];
3885
3886     precomp_wnaf(precomp, P);
3887     scalar_wnaf(anaf, a);
3888     scalar_wnaf(bnaf, b);
3889
3890     for (i = 256; i >= 0; i--) {
3891         if (!is_inf) point_double(&Q, &Q);
3892         if ((d = bnaf[i])) {
3893             if ((is_neg = d < 0) != flipped) {
3894                 fiat_id_GostR3410_2001_TestParamSet_opp(Q.Y, Q.Y);
3895                 flipped ^= 1;
3896             }
3897             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
3898             if (is_inf) {
3899                 /* initialize accumulator */
3900                 fe_copy(Q.X, &precomp[d].X);
3901                 fe_copy(Q.Y, &precomp[d].Y);
3902                 fe_copy(Q.Z, &precomp[d].Z);
3903                 is_inf = 0;
3904             } else
3905                 point_add_proj(&Q, &Q, &precomp[d]);
3906         }
3907         if ((d = anaf[i])) {
3908             if ((is_neg = d < 0) != flipped) {
3909                 fiat_id_GostR3410_2001_TestParamSet_opp(Q.Y, Q.Y);
3910                 flipped ^= 1;
3911             }
3912             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
3913             if (is_inf) {
3914                 /* initialize accumulator */
3915                 fe_copy(Q.X, &lut_cmb[0][d].X);
3916                 fe_copy(Q.Y, &lut_cmb[0][d].Y);
3917                 fe_copy(Q.Z, const_one);
3918                 is_inf = 0;
3919             } else
3920                 point_add_mixed(&Q, &Q, &lut_cmb[0][d]);
3921         }
3922     }
3923
3924     if (is_inf) {
3925         /* initialize accumulator to inf: all-zero scalars */
3926         fe_set_zero(Q.X);
3927         fe_copy(Q.Y, const_one);
3928         fe_set_zero(Q.Z);
3929     }
3930
3931     if (flipped) {
3932         /* correct sign */
3933         fiat_id_GostR3410_2001_TestParamSet_opp(Q.Y, Q.Y);
3934     }
3935
3936     /* convert to affine -- NB depends on coordinate system */
3937     fiat_id_GostR3410_2001_TestParamSet_inv(Q.Z, Q.Z);
3938     fiat_id_GostR3410_2001_TestParamSet_mul(out->X, Q.X, Q.Z);
3939     fiat_id_GostR3410_2001_TestParamSet_mul(out->Y, Q.Y, Q.Z);
3940 }
3941
3942 /*-
3943  * Variable point scalar multiplication with "regular" wnaf.
3944  */
3945 static void var_smul_rwnaf(pt_aff_t *out, const unsigned char scalar[32],
3946                            const pt_aff_t *P) {
3947     int i, j, d, diff, is_neg;
3948     int8_t rnaf[52] = {0};
3949     pt_prj_t Q, lut;
3950     pt_prj_t precomp[DRADIX / 2];
3951
3952     precomp_wnaf(precomp, P);
3953     scalar_rwnaf(rnaf, scalar);
3954
3955 #if defined(_MSC_VER)
3956     /* result still unsigned: yes we know */
3957 #pragma warning(push)
3958 #pragma warning(disable : 4146)
3959 #endif
3960
3961     /* initialize accumulator to high digit */
3962     d = (rnaf[51] - 1) >> 1;
3963     for (j = 0; j < DRADIX / 2; j++) {
3964         diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
3965         fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.X, diff, Q.X,
3966                                                       precomp[j].X);
3967         fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Y, diff, Q.Y,
3968                                                       precomp[j].Y);
3969         fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Z, diff, Q.Z,
3970                                                       precomp[j].Z);
3971     }
3972
3973     for (i = 50; i >= 0; i--) {
3974         for (j = 0; j < RADIX; j++) point_double(&Q, &Q);
3975         d = rnaf[i];
3976         /* is_neg = (d < 0) ? 1 : 0 */
3977         is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
3978         /* d = abs(d) */
3979         d = (d ^ -is_neg) + is_neg;
3980         d = (d - 1) >> 1;
3981         for (j = 0; j < DRADIX / 2; j++) {
3982             diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
3983             fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.X, diff, lut.X,
3984                                                           precomp[j].X);
3985             fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.Y, diff, lut.Y,
3986                                                           precomp[j].Y);
3987             fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.Z, diff, lut.Z,
3988                                                           precomp[j].Z);
3989         }
3990         /* negate lut point if digit is negative */
3991         fiat_id_GostR3410_2001_TestParamSet_opp(out->Y, lut.Y);
3992         fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.Y, is_neg, lut.Y,
3993                                                       out->Y);
3994         point_add_proj(&Q, &Q, &lut);
3995     }
3996
3997 #if defined(_MSC_VER)
3998 #pragma warning(pop)
3999 #endif
4000
4001     /* conditionally subtract P if the scalar was even */
4002     fe_copy(lut.X, precomp[0].X);
4003     fiat_id_GostR3410_2001_TestParamSet_opp(lut.Y, precomp[0].Y);
4004     fe_copy(lut.Z, precomp[0].Z);
4005     point_add_proj(&lut, &lut, &Q);
4006     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.X, scalar[0] & 1, lut.X,
4007                                                   Q.X);
4008     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Y, scalar[0] & 1, lut.Y,
4009                                                   Q.Y);
4010     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Z, scalar[0] & 1, lut.Z,
4011                                                   Q.Z);
4012
4013     /* convert to affine -- NB depends on coordinate system */
4014     fiat_id_GostR3410_2001_TestParamSet_inv(Q.Z, Q.Z);
4015     fiat_id_GostR3410_2001_TestParamSet_mul(out->X, Q.X, Q.Z);
4016     fiat_id_GostR3410_2001_TestParamSet_mul(out->Y, Q.Y, Q.Z);
4017 }
4018
4019 /*-
4020  * Fixed scalar multiplication: comb with interleaving.
4021  */
4022 static void fixed_smul_cmb(pt_aff_t *out, const unsigned char scalar[32]) {
4023     int i, j, k, d, diff, is_neg = 0;
4024     int8_t rnaf[52] = {0};
4025     pt_prj_t Q, R;
4026     pt_aff_t lut;
4027
4028     scalar_rwnaf(rnaf, scalar);
4029
4030     /* initalize accumulator to inf */
4031     fe_set_zero(Q.X);
4032     fe_copy(Q.Y, const_one);
4033     fe_set_zero(Q.Z);
4034
4035 #if defined(_MSC_VER)
4036     /* result still unsigned: yes we know */
4037 #pragma warning(push)
4038 #pragma warning(disable : 4146)
4039 #endif
4040
4041     for (i = 1; i >= 0; i--) {
4042         for (j = 0; i != 1 && j < RADIX; j++) point_double(&Q, &Q);
4043         for (j = 0; j < 27; j++) {
4044             if (j * 2 + i > 51) continue;
4045             d = rnaf[j * 2 + i];
4046             /* is_neg = (d < 0) ? 1 : 0 */
4047             is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
4048             /* d = abs(d) */
4049             d = (d ^ -is_neg) + is_neg;
4050             d = (d - 1) >> 1;
4051             for (k = 0; k < DRADIX / 2; k++) {
4052                 diff = (1 - (-(d ^ k) >> (8 * sizeof(int) - 1))) & 1;
4053                 fiat_id_GostR3410_2001_TestParamSet_selectznz(
4054                     lut.X, diff, lut.X, lut_cmb[j][k].X);
4055                 fiat_id_GostR3410_2001_TestParamSet_selectznz(
4056                     lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
4057             }
4058             /* negate lut point if digit is negative */
4059             fiat_id_GostR3410_2001_TestParamSet_opp(out->Y, lut.Y);
4060             fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.Y, is_neg, lut.Y,
4061                                                           out->Y);
4062             point_add_mixed(&Q, &Q, &lut);
4063         }
4064     }
4065
4066 #if defined(_MSC_VER)
4067 #pragma warning(pop)
4068 #endif
4069
4070     /* conditionally subtract P if the scalar was even */
4071     fe_copy(lut.X, lut_cmb[0][0].X);
4072     fiat_id_GostR3410_2001_TestParamSet_opp(lut.Y, lut_cmb[0][0].Y);
4073     point_add_mixed(&R, &Q, &lut);
4074     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.X, scalar[0] & 1, R.X, Q.X);
4075     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Y, scalar[0] & 1, R.Y, Q.Y);
4076     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Z, scalar[0] & 1, R.Z, Q.Z);
4077
4078     /* convert to affine -- NB depends on coordinate system */
4079     fiat_id_GostR3410_2001_TestParamSet_inv(Q.Z, Q.Z);
4080     fiat_id_GostR3410_2001_TestParamSet_mul(out->X, Q.X, Q.Z);
4081     fiat_id_GostR3410_2001_TestParamSet_mul(out->Y, Q.Y, Q.Z);
4082 }
4083
4084 static void point_mul_two(unsigned char outx[32], unsigned char outy[32],
4085                           const unsigned char a[32], const unsigned char b[32],
4086                           const unsigned char inx[32],
4087                           const unsigned char iny[32]) {
4088     pt_aff_t P;
4089
4090     fiat_id_GostR3410_2001_TestParamSet_from_bytes(P.X, inx);
4091     fiat_id_GostR3410_2001_TestParamSet_from_bytes(P.Y, iny);
4092     fiat_id_GostR3410_2001_TestParamSet_to_montgomery(P.X, P.X);
4093     fiat_id_GostR3410_2001_TestParamSet_to_montgomery(P.Y, P.Y);
4094     /* simultaneous scalar multiplication */
4095     var_smul_wnaf_two(&P, a, b, &P);
4096
4097     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.X, P.X);
4098     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.Y, P.Y);
4099     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outx, P.X);
4100     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outy, P.Y);
4101 }
4102
4103 static void point_mul_g(unsigned char outx[32], unsigned char outy[32],
4104                         const unsigned char scalar[32]) {
4105     pt_aff_t P;
4106
4107     /* fixed scmul function */
4108     fixed_smul_cmb(&P, scalar);
4109     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.X, P.X);
4110     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.Y, P.Y);
4111     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outx, P.X);
4112     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outy, P.Y);
4113 }
4114
4115 static void point_mul(unsigned char outx[32], unsigned char outy[32],
4116                       const unsigned char scalar[32],
4117                       const unsigned char inx[32],
4118                       const unsigned char iny[32]) {
4119     pt_aff_t P;
4120
4121     fiat_id_GostR3410_2001_TestParamSet_from_bytes(P.X, inx);
4122     fiat_id_GostR3410_2001_TestParamSet_from_bytes(P.Y, iny);
4123     fiat_id_GostR3410_2001_TestParamSet_to_montgomery(P.X, P.X);
4124     fiat_id_GostR3410_2001_TestParamSet_to_montgomery(P.Y, P.Y);
4125     /* var scmul function */
4126     var_smul_rwnaf(&P, scalar, &P);
4127     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.X, P.X);
4128     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.Y, P.Y);
4129     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outx, P.X);
4130     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outy, P.Y);
4131 }
4132
4133
4134 #include <openssl/ec.h>
4135
4136 static const unsigned char const_zb[32] = {0};
4137
4138     int
4139     point_mul_two_id_GostR3410_2001_TestParamSet(const EC_GROUP *group,
4140                                                  EC_POINT *r, const BIGNUM *n,
4141                                                  const EC_POINT *q,
4142                                                  const BIGNUM *m, BN_CTX *ctx) {
4143     int ret = 0;
4144     unsigned char b_x[32];
4145     unsigned char b_y[32];
4146     unsigned char b_n[32];
4147     unsigned char b_m[32];
4148     BIGNUM *x = NULL, *y = NULL;
4149
4150     BN_CTX_start(ctx);
4151     x = BN_CTX_get(ctx);
4152     if ((y = BN_CTX_get(ctx)) == NULL
4153         /* pull out coords as bytes */
4154         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
4155         BN_bn2lebinpad(x, b_x, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
4156         BN_bn2lebinpad(n, b_n, 32) != 32 || BN_bn2lebinpad(m, b_m, 32) != 32)
4157         goto err;
4158     /* do the simultaneous scalar multiplication */
4159     point_mul_two(b_x, b_y, b_n, b_m, b_x, b_y);
4160     /* check for infinity */
4161     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
4162         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
4163         if (!EC_POINT_set_to_infinity(group, r)) goto err;
4164     } else {
4165         /* otherwise, pack the bytes into the result */
4166         if (BN_lebin2bn(b_x, 32, x) == NULL ||
4167             BN_lebin2bn(b_y, 32, y) == NULL ||
4168             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
4169             goto err;
4170     }
4171     ret = 1;
4172 err:
4173     BN_CTX_end(ctx);
4174     return ret;
4175 }
4176
4177     int
4178     point_mul_id_GostR3410_2001_TestParamSet(const EC_GROUP *group, EC_POINT *r,
4179                                              const EC_POINT *q, const BIGNUM *m,
4180                                              BN_CTX *ctx) {
4181     int ret = 0;
4182     unsigned char b_x[32];
4183     unsigned char b_y[32];
4184     unsigned char b_m[32];
4185     BIGNUM *x = NULL, *y = NULL;
4186
4187     BN_CTX_start(ctx);
4188     x = BN_CTX_get(ctx);
4189     if ((y = BN_CTX_get(ctx)) == NULL
4190         /* pull out coords as bytes */
4191         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
4192         BN_bn2lebinpad(x, b_x, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
4193         BN_bn2lebinpad(m, b_m, 32) != 32)
4194         goto err;
4195     /* do the variable scalar multiplication */
4196     point_mul(b_x, b_y, b_m, b_x, b_y);
4197     /* check for infinity */
4198     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
4199         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
4200         if (!EC_POINT_set_to_infinity(group, r)) goto err;
4201     } else {
4202         /* otherwise, pack the bytes into the result */
4203         if (BN_lebin2bn(b_x, 32, x) == NULL ||
4204             BN_lebin2bn(b_y, 32, y) == NULL ||
4205             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
4206             goto err;
4207     }
4208     ret = 1;
4209 err:
4210     BN_CTX_end(ctx);
4211     return ret;
4212 }
4213
4214     int
4215     point_mul_g_id_GostR3410_2001_TestParamSet(const EC_GROUP *group,
4216                                                EC_POINT *r, const BIGNUM *n,
4217                                                BN_CTX *ctx) {
4218     int ret = 0;
4219     unsigned char b_x[32];
4220     unsigned char b_y[32];
4221     unsigned char b_n[32];
4222     BIGNUM *x = NULL, *y = NULL;
4223
4224     BN_CTX_start(ctx);
4225     x = BN_CTX_get(ctx);
4226     if ((y = BN_CTX_get(ctx)) == NULL || BN_bn2lebinpad(n, b_n, 32) != 32)
4227         goto err;
4228     /* do the fixed scalar multiplication */
4229     point_mul_g(b_x, b_y, b_n);
4230     /* check for infinity */
4231     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
4232         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
4233         if (!EC_POINT_set_to_infinity(group, r)) goto err;
4234     } else {
4235         /* otherwise, pack the bytes into the result */
4236         if (BN_lebin2bn(b_x, 32, x) == NULL ||
4237             BN_lebin2bn(b_y, 32, y) == NULL ||
4238             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
4239             goto err;
4240     }
4241     ret = 1;
4242 err:
4243     BN_CTX_end(ctx);
4244     return ret;
4245 }
4246
4247
4248
4249 #else /* __SIZEOF_INT128__ */
4250
4251 #include <stdint.h>
4252 #include <string.h>
4253 #define LIMB_BITS 32
4254 #define LIMB_CNT 8
4255 /* Field elements */
4256 typedef uint32_t fe_t[LIMB_CNT];
4257 typedef uint32_t limb_t;
4258
4259 #define fe_copy(d, s) memcpy(d, s, sizeof(fe_t))
4260 #define fe_set_zero(d) memset(d, 0, sizeof(fe_t))
4261
4262 /* Projective points */
4263 typedef struct {
4264     fe_t X;
4265     fe_t Y;
4266     fe_t Z;
4267 } pt_prj_t;
4268
4269 /* Affine points */
4270 typedef struct {
4271     fe_t X;
4272     fe_t Y;
4273 } pt_aff_t;
4274
4275 /* BEGIN verbatim fiat code https://github.com/mit-plv/fiat-crypto */
4276 /*-
4277  * MIT License
4278  *
4279  * Copyright (c) 2020 the fiat-crypto authors (see the AUTHORS file)
4280  *
4281  * Permission is hereby granted, free of charge, to any person obtaining a copy
4282  * of this software and associated documentation files (the "Software"), to deal
4283  * in the Software without restriction, including without limitation the rights
4284  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
4285  * copies of the Software, and to permit persons to whom the Software is
4286  * furnished to do so, subject to the following conditions:
4287  *
4288  * The above copyright notice and this permission notice shall be included in
4289  * all copies or substantial portions of the Software.
4290  *
4291  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
4292  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
4293  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
4294  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
4295  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
4296  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
4297  * SOFTWARE.
4298  */
4299
4300 /* Autogenerated: word_by_word_montgomery --static id_GostR3410_2001_TestParamSet 32 '2^255 + 1073' */
4301 /* curve description: id_GostR3410_2001_TestParamSet */
4302 /* machine_wordsize = 32 (from "32") */
4303 /* requested operations: (all) */
4304 /* m = 0x8000000000000000000000000000000000000000000000000000000000000431 (from "2^255 + 1073") */
4305 /*                                                                    */
4306 /* NOTE: In addition to the bounds specified above each function, all */
4307 /*   functions synthesized for this Montgomery arithmetic require the */
4308 /*   input to be strictly less than the prime modulus (m), and also   */
4309 /*   require the input to be in the unique saturated representation.  */
4310 /*   All functions also ensure that these two properties are true of  */
4311 /*   return values.                                                   */
4312 /*  */
4313 /* Computed values: */
4314 /* eval z = z[0] + (z[1] << 32) + (z[2] << 64) + (z[3] << 96) + (z[4] << 128) + (z[5] << 160) + (z[6] << 192) + (z[7] << 224) */
4315 /* 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) */
4316
4317 #include <stdint.h>
4318 typedef unsigned char fiat_id_GostR3410_2001_TestParamSet_uint1;
4319 typedef signed char fiat_id_GostR3410_2001_TestParamSet_int1;
4320
4321 #if (-1 & 3) != 3
4322 #error "This code only works on a two's complement system"
4323 #endif
4324
4325 /*
4326  * The function fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32 is an addition with carry.
4327  * Postconditions:
4328  *   out1 = (arg1 + arg2 + arg3) mod 2^32
4329  *   out2 = ⌊(arg1 + arg2 + arg3) / 2^32⌋
4330  *
4331  * Input Bounds:
4332  *   arg1: [0x0 ~> 0x1]
4333  *   arg2: [0x0 ~> 0xffffffff]
4334  *   arg3: [0x0 ~> 0xffffffff]
4335  * Output Bounds:
4336  *   out1: [0x0 ~> 0xffffffff]
4337  *   out2: [0x0 ~> 0x1]
4338  */
4339 static void fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
4340     uint32_t *out1, fiat_id_GostR3410_2001_TestParamSet_uint1 *out2,
4341     fiat_id_GostR3410_2001_TestParamSet_uint1 arg1, uint32_t arg2,
4342     uint32_t arg3) {
4343     uint64_t x1;
4344     uint32_t x2;
4345     fiat_id_GostR3410_2001_TestParamSet_uint1 x3;
4346     x1 = ((arg1 + (uint64_t)arg2) + arg3);
4347     x2 = (uint32_t)(x1 & UINT32_C(0xffffffff));
4348     x3 = (fiat_id_GostR3410_2001_TestParamSet_uint1)(x1 >> 32);
4349     *out1 = x2;
4350     *out2 = x3;
4351 }
4352
4353 /*
4354  * The function fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32 is a subtraction with borrow.
4355  * Postconditions:
4356  *   out1 = (-arg1 + arg2 + -arg3) mod 2^32
4357  *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^32⌋
4358  *
4359  * Input Bounds:
4360  *   arg1: [0x0 ~> 0x1]
4361  *   arg2: [0x0 ~> 0xffffffff]
4362  *   arg3: [0x0 ~> 0xffffffff]
4363  * Output Bounds:
4364  *   out1: [0x0 ~> 0xffffffff]
4365  *   out2: [0x0 ~> 0x1]
4366  */
4367 static void fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(
4368     uint32_t *out1, fiat_id_GostR3410_2001_TestParamSet_uint1 *out2,
4369     fiat_id_GostR3410_2001_TestParamSet_uint1 arg1, uint32_t arg2,
4370     uint32_t arg3) {
4371     int64_t x1;
4372     fiat_id_GostR3410_2001_TestParamSet_int1 x2;
4373     uint32_t x3;
4374     x1 = ((arg2 - (int64_t)arg1) - arg3);
4375     x2 = (fiat_id_GostR3410_2001_TestParamSet_int1)(x1 >> 32);
4376     x3 = (uint32_t)(x1 & UINT32_C(0xffffffff));
4377     *out1 = x3;
4378     *out2 = (fiat_id_GostR3410_2001_TestParamSet_uint1)(0x0 - x2);
4379 }
4380
4381 /*
4382  * The function fiat_id_GostR3410_2001_TestParamSet_mulx_u32 is a multiplication, returning the full double-width result.
4383  * Postconditions:
4384  *   out1 = (arg1 * arg2) mod 2^32
4385  *   out2 = ⌊arg1 * arg2 / 2^32⌋
4386  *
4387  * Input Bounds:
4388  *   arg1: [0x0 ~> 0xffffffff]
4389  *   arg2: [0x0 ~> 0xffffffff]
4390  * Output Bounds:
4391  *   out1: [0x0 ~> 0xffffffff]
4392  *   out2: [0x0 ~> 0xffffffff]
4393  */
4394 static void fiat_id_GostR3410_2001_TestParamSet_mulx_u32(uint32_t *out1,
4395                                                          uint32_t *out2,
4396                                                          uint32_t arg1,
4397                                                          uint32_t arg2) {
4398     uint64_t x1;
4399     uint32_t x2;
4400     uint32_t x3;
4401     x1 = ((uint64_t)arg1 * arg2);
4402     x2 = (uint32_t)(x1 & UINT32_C(0xffffffff));
4403     x3 = (uint32_t)(x1 >> 32);
4404     *out1 = x2;
4405     *out2 = x3;
4406 }
4407
4408 /*
4409  * The function fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32 is a single-word conditional move.
4410  * Postconditions:
4411  *   out1 = (if arg1 = 0 then arg2 else arg3)
4412  *
4413  * Input Bounds:
4414  *   arg1: [0x0 ~> 0x1]
4415  *   arg2: [0x0 ~> 0xffffffff]
4416  *   arg3: [0x0 ~> 0xffffffff]
4417  * Output Bounds:
4418  *   out1: [0x0 ~> 0xffffffff]
4419  */
4420 static void fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(
4421     uint32_t *out1, fiat_id_GostR3410_2001_TestParamSet_uint1 arg1,
4422     uint32_t arg2, uint32_t arg3) {
4423     fiat_id_GostR3410_2001_TestParamSet_uint1 x1;
4424     uint32_t x2;
4425     uint32_t x3;
4426     x1 = (!(!arg1));
4427     x2 = ((fiat_id_GostR3410_2001_TestParamSet_int1)(0x0 - x1) &
4428           UINT32_C(0xffffffff));
4429     x3 = ((x2 & arg3) | ((~x2) & arg2));
4430     *out1 = x3;
4431 }
4432
4433 /*
4434  * The function fiat_id_GostR3410_2001_TestParamSet_mul multiplies two field elements in the Montgomery domain.
4435  * Preconditions:
4436  *   0 ≤ eval arg1 < m
4437  *   0 ≤ eval arg2 < m
4438  * Postconditions:
4439  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg2)) mod m
4440  *   0 ≤ eval out1 < m
4441  *
4442  * Input Bounds:
4443  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
4444  *   arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
4445  * Output Bounds:
4446  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
4447  */
4448 static void fiat_id_GostR3410_2001_TestParamSet_mul(uint32_t out1[8],
4449                                                     const uint32_t arg1[8],
4450                                                     const uint32_t arg2[8]) {
4451     uint32_t x1;
4452     uint32_t x2;
4453     uint32_t x3;
4454     uint32_t x4;
4455     uint32_t x5;
4456     uint32_t x6;
4457     uint32_t x7;
4458     uint32_t x8;
4459     uint32_t x9;
4460     uint32_t x10;
4461     uint32_t x11;
4462     uint32_t x12;
4463     uint32_t x13;
4464     uint32_t x14;
4465     uint32_t x15;
4466     uint32_t x16;
4467     uint32_t x17;
4468     uint32_t x18;
4469     uint32_t x19;
4470     uint32_t x20;
4471     uint32_t x21;
4472     uint32_t x22;
4473     uint32_t x23;
4474     uint32_t x24;
4475     uint32_t x25;
4476     fiat_id_GostR3410_2001_TestParamSet_uint1 x26;
4477     uint32_t x27;
4478     fiat_id_GostR3410_2001_TestParamSet_uint1 x28;
4479     uint32_t x29;
4480     fiat_id_GostR3410_2001_TestParamSet_uint1 x30;
4481     uint32_t x31;
4482     fiat_id_GostR3410_2001_TestParamSet_uint1 x32;
4483     uint32_t x33;
4484     fiat_id_GostR3410_2001_TestParamSet_uint1 x34;
4485     uint32_t x35;
4486     fiat_id_GostR3410_2001_TestParamSet_uint1 x36;
4487     uint32_t x37;
4488     fiat_id_GostR3410_2001_TestParamSet_uint1 x38;
4489     uint32_t x39;
4490     uint32_t x40;
4491     uint32_t x41;
4492     uint32_t x42;
4493     uint32_t x43;
4494     uint32_t x44;
4495     uint32_t x45;
4496     uint32_t x46;
4497     fiat_id_GostR3410_2001_TestParamSet_uint1 x47;
4498     uint32_t x48;
4499     fiat_id_GostR3410_2001_TestParamSet_uint1 x49;
4500     uint32_t x50;
4501     fiat_id_GostR3410_2001_TestParamSet_uint1 x51;
4502     uint32_t x52;
4503     fiat_id_GostR3410_2001_TestParamSet_uint1 x53;
4504     uint32_t x54;
4505     fiat_id_GostR3410_2001_TestParamSet_uint1 x55;
4506     uint32_t x56;
4507     fiat_id_GostR3410_2001_TestParamSet_uint1 x57;
4508     uint32_t x58;
4509     fiat_id_GostR3410_2001_TestParamSet_uint1 x59;
4510     uint32_t x60;
4511     fiat_id_GostR3410_2001_TestParamSet_uint1 x61;
4512     uint32_t x62;
4513     fiat_id_GostR3410_2001_TestParamSet_uint1 x63;
4514     uint32_t x64;
4515     uint32_t x65;
4516     uint32_t x66;
4517     uint32_t x67;
4518     uint32_t x68;
4519     uint32_t x69;
4520     uint32_t x70;
4521     uint32_t x71;
4522     uint32_t x72;
4523     uint32_t x73;
4524     uint32_t x74;
4525     uint32_t x75;
4526     uint32_t x76;
4527     uint32_t x77;
4528     uint32_t x78;
4529     uint32_t x79;
4530     uint32_t x80;
4531     fiat_id_GostR3410_2001_TestParamSet_uint1 x81;
4532     uint32_t x82;
4533     fiat_id_GostR3410_2001_TestParamSet_uint1 x83;
4534     uint32_t x84;
4535     fiat_id_GostR3410_2001_TestParamSet_uint1 x85;
4536     uint32_t x86;
4537     fiat_id_GostR3410_2001_TestParamSet_uint1 x87;
4538     uint32_t x88;
4539     fiat_id_GostR3410_2001_TestParamSet_uint1 x89;
4540     uint32_t x90;
4541     fiat_id_GostR3410_2001_TestParamSet_uint1 x91;
4542     uint32_t x92;
4543     fiat_id_GostR3410_2001_TestParamSet_uint1 x93;
4544     uint32_t x94;
4545     uint32_t x95;
4546     fiat_id_GostR3410_2001_TestParamSet_uint1 x96;
4547     uint32_t x97;
4548     fiat_id_GostR3410_2001_TestParamSet_uint1 x98;
4549     uint32_t x99;
4550     fiat_id_GostR3410_2001_TestParamSet_uint1 x100;
4551     uint32_t x101;
4552     fiat_id_GostR3410_2001_TestParamSet_uint1 x102;
4553     uint32_t x103;
4554     fiat_id_GostR3410_2001_TestParamSet_uint1 x104;
4555     uint32_t x105;
4556     fiat_id_GostR3410_2001_TestParamSet_uint1 x106;
4557     uint32_t x107;
4558     fiat_id_GostR3410_2001_TestParamSet_uint1 x108;
4559     uint32_t x109;
4560     fiat_id_GostR3410_2001_TestParamSet_uint1 x110;
4561     uint32_t x111;
4562     fiat_id_GostR3410_2001_TestParamSet_uint1 x112;
4563     uint32_t x113;
4564     uint32_t x114;
4565     uint32_t x115;
4566     uint32_t x116;
4567     uint32_t x117;
4568     uint32_t x118;
4569     uint32_t x119;
4570     fiat_id_GostR3410_2001_TestParamSet_uint1 x120;
4571     uint32_t x121;
4572     fiat_id_GostR3410_2001_TestParamSet_uint1 x122;
4573     uint32_t x123;
4574     fiat_id_GostR3410_2001_TestParamSet_uint1 x124;
4575     uint32_t x125;
4576     fiat_id_GostR3410_2001_TestParamSet_uint1 x126;
4577     uint32_t x127;
4578     fiat_id_GostR3410_2001_TestParamSet_uint1 x128;
4579     uint32_t x129;
4580     fiat_id_GostR3410_2001_TestParamSet_uint1 x130;
4581     uint32_t x131;
4582     fiat_id_GostR3410_2001_TestParamSet_uint1 x132;
4583     uint32_t x133;
4584     fiat_id_GostR3410_2001_TestParamSet_uint1 x134;
4585     uint32_t x135;
4586     fiat_id_GostR3410_2001_TestParamSet_uint1 x136;
4587     uint32_t x137;
4588     uint32_t x138;
4589     uint32_t x139;
4590     uint32_t x140;
4591     uint32_t x141;
4592     uint32_t x142;
4593     uint32_t x143;
4594     uint32_t x144;
4595     uint32_t x145;
4596     uint32_t x146;
4597     uint32_t x147;
4598     uint32_t x148;
4599     uint32_t x149;
4600     uint32_t x150;
4601     uint32_t x151;
4602     uint32_t x152;
4603     uint32_t x153;
4604     uint32_t x154;
4605     fiat_id_GostR3410_2001_TestParamSet_uint1 x155;
4606     uint32_t x156;
4607     fiat_id_GostR3410_2001_TestParamSet_uint1 x157;
4608     uint32_t x158;
4609     fiat_id_GostR3410_2001_TestParamSet_uint1 x159;
4610     uint32_t x160;
4611     fiat_id_GostR3410_2001_TestParamSet_uint1 x161;
4612     uint32_t x162;
4613     fiat_id_GostR3410_2001_TestParamSet_uint1 x163;
4614     uint32_t x164;
4615     fiat_id_GostR3410_2001_TestParamSet_uint1 x165;
4616     uint32_t x166;
4617     fiat_id_GostR3410_2001_TestParamSet_uint1 x167;
4618     uint32_t x168;
4619     uint32_t x169;
4620     fiat_id_GostR3410_2001_TestParamSet_uint1 x170;
4621     uint32_t x171;
4622     fiat_id_GostR3410_2001_TestParamSet_uint1 x172;
4623     uint32_t x173;
4624     fiat_id_GostR3410_2001_TestParamSet_uint1 x174;
4625     uint32_t x175;
4626     fiat_id_GostR3410_2001_TestParamSet_uint1 x176;
4627     uint32_t x177;
4628     fiat_id_GostR3410_2001_TestParamSet_uint1 x178;
4629     uint32_t x179;
4630     fiat_id_GostR3410_2001_TestParamSet_uint1 x180;
4631     uint32_t x181;
4632     fiat_id_GostR3410_2001_TestParamSet_uint1 x182;
4633     uint32_t x183;
4634     fiat_id_GostR3410_2001_TestParamSet_uint1 x184;
4635     uint32_t x185;
4636     fiat_id_GostR3410_2001_TestParamSet_uint1 x186;
4637     uint32_t x187;
4638     uint32_t x188;
4639     uint32_t x189;
4640     uint32_t x190;
4641     uint32_t x191;
4642     uint32_t x192;
4643     uint32_t x193;
4644     fiat_id_GostR3410_2001_TestParamSet_uint1 x194;
4645     uint32_t x195;
4646     fiat_id_GostR3410_2001_TestParamSet_uint1 x196;
4647     uint32_t x197;
4648     fiat_id_GostR3410_2001_TestParamSet_uint1 x198;
4649     uint32_t x199;
4650     fiat_id_GostR3410_2001_TestParamSet_uint1 x200;
4651     uint32_t x201;
4652     fiat_id_GostR3410_2001_TestParamSet_uint1 x202;
4653     uint32_t x203;
4654     fiat_id_GostR3410_2001_TestParamSet_uint1 x204;
4655     uint32_t x205;
4656     fiat_id_GostR3410_2001_TestParamSet_uint1 x206;
4657     uint32_t x207;
4658     fiat_id_GostR3410_2001_TestParamSet_uint1 x208;
4659     uint32_t x209;
4660     fiat_id_GostR3410_2001_TestParamSet_uint1 x210;
4661     uint32_t x211;
4662     uint32_t x212;
4663     uint32_t x213;
4664     uint32_t x214;
4665     uint32_t x215;
4666     uint32_t x216;
4667     uint32_t x217;
4668     uint32_t x218;
4669     uint32_t x219;
4670     uint32_t x220;
4671     uint32_t x221;
4672     uint32_t x222;
4673     uint32_t x223;
4674     uint32_t x224;
4675     uint32_t x225;
4676     uint32_t x226;
4677     uint32_t x227;
4678     uint32_t x228;
4679     fiat_id_GostR3410_2001_TestParamSet_uint1 x229;
4680     uint32_t x230;
4681     fiat_id_GostR3410_2001_TestParamSet_uint1 x231;
4682     uint32_t x232;
4683     fiat_id_GostR3410_2001_TestParamSet_uint1 x233;
4684     uint32_t x234;
4685     fiat_id_GostR3410_2001_TestParamSet_uint1 x235;
4686     uint32_t x236;
4687     fiat_id_GostR3410_2001_TestParamSet_uint1 x237;
4688     uint32_t x238;
4689     fiat_id_GostR3410_2001_TestParamSet_uint1 x239;
4690     uint32_t x240;
4691     fiat_id_GostR3410_2001_TestParamSet_uint1 x241;
4692     uint32_t x242;
4693     uint32_t x243;
4694     fiat_id_GostR3410_2001_TestParamSet_uint1 x244;
4695     uint32_t x245;
4696     fiat_id_GostR3410_2001_TestParamSet_uint1 x246;
4697     uint32_t x247;
4698     fiat_id_GostR3410_2001_TestParamSet_uint1 x248;
4699     uint32_t x249;
4700     fiat_id_GostR3410_2001_TestParamSet_uint1 x250;
4701     uint32_t x251;
4702     fiat_id_GostR3410_2001_TestParamSet_uint1 x252;
4703     uint32_t x253;
4704     fiat_id_GostR3410_2001_TestParamSet_uint1 x254;
4705     uint32_t x255;
4706     fiat_id_GostR3410_2001_TestParamSet_uint1 x256;
4707     uint32_t x257;
4708     fiat_id_GostR3410_2001_TestParamSet_uint1 x258;
4709     uint32_t x259;
4710     fiat_id_GostR3410_2001_TestParamSet_uint1 x260;
4711     uint32_t x261;
4712     uint32_t x262;
4713     uint32_t x263;
4714     uint32_t x264;
4715     uint32_t x265;
4716     uint32_t x266;
4717     uint32_t x267;
4718     fiat_id_GostR3410_2001_TestParamSet_uint1 x268;
4719     uint32_t x269;
4720     fiat_id_GostR3410_2001_TestParamSet_uint1 x270;
4721     uint32_t x271;
4722     fiat_id_GostR3410_2001_TestParamSet_uint1 x272;
4723     uint32_t x273;
4724     fiat_id_GostR3410_2001_TestParamSet_uint1 x274;
4725     uint32_t x275;
4726     fiat_id_GostR3410_2001_TestParamSet_uint1 x276;
4727     uint32_t x277;
4728     fiat_id_GostR3410_2001_TestParamSet_uint1 x278;
4729     uint32_t x279;
4730     fiat_id_GostR3410_2001_TestParamSet_uint1 x280;
4731     uint32_t x281;
4732     fiat_id_GostR3410_2001_TestParamSet_uint1 x282;
4733     uint32_t x283;
4734     fiat_id_GostR3410_2001_TestParamSet_uint1 x284;
4735     uint32_t x285;
4736     uint32_t x286;
4737     uint32_t x287;
4738     uint32_t x288;
4739     uint32_t x289;
4740     uint32_t x290;
4741     uint32_t x291;
4742     uint32_t x292;
4743     uint32_t x293;
4744     uint32_t x294;
4745     uint32_t x295;
4746     uint32_t x296;
4747     uint32_t x297;
4748     uint32_t x298;
4749     uint32_t x299;
4750     uint32_t x300;
4751     uint32_t x301;
4752     uint32_t x302;
4753     fiat_id_GostR3410_2001_TestParamSet_uint1 x303;
4754     uint32_t x304;
4755     fiat_id_GostR3410_2001_TestParamSet_uint1 x305;
4756     uint32_t x306;
4757     fiat_id_GostR3410_2001_TestParamSet_uint1 x307;
4758     uint32_t x308;
4759     fiat_id_GostR3410_2001_TestParamSet_uint1 x309;
4760     uint32_t x310;
4761     fiat_id_GostR3410_2001_TestParamSet_uint1 x311;
4762     uint32_t x312;
4763     fiat_id_GostR3410_2001_TestParamSet_uint1 x313;
4764     uint32_t x314;
4765     fiat_id_GostR3410_2001_TestParamSet_uint1 x315;
4766     uint32_t x316;
4767     uint32_t x317;
4768     fiat_id_GostR3410_2001_TestParamSet_uint1 x318;
4769     uint32_t x319;
4770     fiat_id_GostR3410_2001_TestParamSet_uint1 x320;
4771     uint32_t x321;
4772     fiat_id_GostR3410_2001_TestParamSet_uint1 x322;
4773     uint32_t x323;
4774     fiat_id_GostR3410_2001_TestParamSet_uint1 x324;
4775     uint32_t x325;
4776     fiat_id_GostR3410_2001_TestParamSet_uint1 x326;
4777     uint32_t x327;
4778     fiat_id_GostR3410_2001_TestParamSet_uint1 x328;
4779     uint32_t x329;
4780     fiat_id_GostR3410_2001_TestParamSet_uint1 x330;
4781     uint32_t x331;
4782     fiat_id_GostR3410_2001_TestParamSet_uint1 x332;
4783     uint32_t x333;
4784     fiat_id_GostR3410_2001_TestParamSet_uint1 x334;
4785     uint32_t x335;
4786     uint32_t x336;
4787     uint32_t x337;
4788     uint32_t x338;
4789     uint32_t x339;
4790     uint32_t x340;
4791     uint32_t x341;
4792     fiat_id_GostR3410_2001_TestParamSet_uint1 x342;
4793     uint32_t x343;
4794     fiat_id_GostR3410_2001_TestParamSet_uint1 x344;
4795     uint32_t x345;
4796     fiat_id_GostR3410_2001_TestParamSet_uint1 x346;
4797     uint32_t x347;
4798     fiat_id_GostR3410_2001_TestParamSet_uint1 x348;
4799     uint32_t x349;
4800     fiat_id_GostR3410_2001_TestParamSet_uint1 x350;
4801     uint32_t x351;
4802     fiat_id_GostR3410_2001_TestParamSet_uint1 x352;
4803     uint32_t x353;
4804     fiat_id_GostR3410_2001_TestParamSet_uint1 x354;
4805     uint32_t x355;
4806     fiat_id_GostR3410_2001_TestParamSet_uint1 x356;
4807     uint32_t x357;
4808     fiat_id_GostR3410_2001_TestParamSet_uint1 x358;
4809     uint32_t x359;
4810     uint32_t x360;
4811     uint32_t x361;
4812     uint32_t x362;
4813     uint32_t x363;
4814     uint32_t x364;
4815     uint32_t x365;
4816     uint32_t x366;
4817     uint32_t x367;
4818     uint32_t x368;
4819     uint32_t x369;
4820     uint32_t x370;
4821     uint32_t x371;
4822     uint32_t x372;
4823     uint32_t x373;
4824     uint32_t x374;
4825     uint32_t x375;
4826     uint32_t x376;
4827     fiat_id_GostR3410_2001_TestParamSet_uint1 x377;
4828     uint32_t x378;
4829     fiat_id_GostR3410_2001_TestParamSet_uint1 x379;
4830     uint32_t x380;
4831     fiat_id_GostR3410_2001_TestParamSet_uint1 x381;
4832     uint32_t x382;
4833     fiat_id_GostR3410_2001_TestParamSet_uint1 x383;
4834     uint32_t x384;
4835     fiat_id_GostR3410_2001_TestParamSet_uint1 x385;
4836     uint32_t x386;
4837     fiat_id_GostR3410_2001_TestParamSet_uint1 x387;
4838     uint32_t x388;
4839     fiat_id_GostR3410_2001_TestParamSet_uint1 x389;
4840     uint32_t x390;
4841     uint32_t x391;
4842     fiat_id_GostR3410_2001_TestParamSet_uint1 x392;
4843     uint32_t x393;
4844     fiat_id_GostR3410_2001_TestParamSet_uint1 x394;
4845     uint32_t x395;
4846     fiat_id_GostR3410_2001_TestParamSet_uint1 x396;
4847     uint32_t x397;
4848     fiat_id_GostR3410_2001_TestParamSet_uint1 x398;
4849     uint32_t x399;
4850     fiat_id_GostR3410_2001_TestParamSet_uint1 x400;
4851     uint32_t x401;
4852     fiat_id_GostR3410_2001_TestParamSet_uint1 x402;
4853     uint32_t x403;
4854     fiat_id_GostR3410_2001_TestParamSet_uint1 x404;
4855     uint32_t x405;
4856     fiat_id_GostR3410_2001_TestParamSet_uint1 x406;
4857     uint32_t x407;
4858     fiat_id_GostR3410_2001_TestParamSet_uint1 x408;
4859     uint32_t x409;
4860     uint32_t x410;
4861     uint32_t x411;
4862     uint32_t x412;
4863     uint32_t x413;
4864     uint32_t x414;
4865     uint32_t x415;
4866     fiat_id_GostR3410_2001_TestParamSet_uint1 x416;
4867     uint32_t x417;
4868     fiat_id_GostR3410_2001_TestParamSet_uint1 x418;
4869     uint32_t x419;
4870     fiat_id_GostR3410_2001_TestParamSet_uint1 x420;
4871     uint32_t x421;
4872     fiat_id_GostR3410_2001_TestParamSet_uint1 x422;
4873     uint32_t x423;
4874     fiat_id_GostR3410_2001_TestParamSet_uint1 x424;
4875     uint32_t x425;
4876     fiat_id_GostR3410_2001_TestParamSet_uint1 x426;
4877     uint32_t x427;
4878     fiat_id_GostR3410_2001_TestParamSet_uint1 x428;
4879     uint32_t x429;
4880     fiat_id_GostR3410_2001_TestParamSet_uint1 x430;
4881     uint32_t x431;
4882     fiat_id_GostR3410_2001_TestParamSet_uint1 x432;
4883     uint32_t x433;
4884     uint32_t x434;
4885     uint32_t x435;
4886     uint32_t x436;
4887     uint32_t x437;
4888     uint32_t x438;
4889     uint32_t x439;
4890     uint32_t x440;
4891     uint32_t x441;
4892     uint32_t x442;
4893     uint32_t x443;
4894     uint32_t x444;
4895     uint32_t x445;
4896     uint32_t x446;
4897     uint32_t x447;
4898     uint32_t x448;
4899     uint32_t x449;
4900     uint32_t x450;
4901     fiat_id_GostR3410_2001_TestParamSet_uint1 x451;
4902     uint32_t x452;
4903     fiat_id_GostR3410_2001_TestParamSet_uint1 x453;
4904     uint32_t x454;
4905     fiat_id_GostR3410_2001_TestParamSet_uint1 x455;
4906     uint32_t x456;
4907     fiat_id_GostR3410_2001_TestParamSet_uint1 x457;
4908     uint32_t x458;
4909     fiat_id_GostR3410_2001_TestParamSet_uint1 x459;
4910     uint32_t x460;
4911     fiat_id_GostR3410_2001_TestParamSet_uint1 x461;
4912     uint32_t x462;
4913     fiat_id_GostR3410_2001_TestParamSet_uint1 x463;
4914     uint32_t x464;
4915     uint32_t x465;
4916     fiat_id_GostR3410_2001_TestParamSet_uint1 x466;
4917     uint32_t x467;
4918     fiat_id_GostR3410_2001_TestParamSet_uint1 x468;
4919     uint32_t x469;
4920     fiat_id_GostR3410_2001_TestParamSet_uint1 x470;
4921     uint32_t x471;
4922     fiat_id_GostR3410_2001_TestParamSet_uint1 x472;
4923     uint32_t x473;
4924     fiat_id_GostR3410_2001_TestParamSet_uint1 x474;
4925     uint32_t x475;
4926     fiat_id_GostR3410_2001_TestParamSet_uint1 x476;
4927     uint32_t x477;
4928     fiat_id_GostR3410_2001_TestParamSet_uint1 x478;
4929     uint32_t x479;
4930     fiat_id_GostR3410_2001_TestParamSet_uint1 x480;
4931     uint32_t x481;
4932     fiat_id_GostR3410_2001_TestParamSet_uint1 x482;
4933     uint32_t x483;
4934     uint32_t x484;
4935     uint32_t x485;
4936     uint32_t x486;
4937     uint32_t x487;
4938     uint32_t x488;
4939     uint32_t x489;
4940     fiat_id_GostR3410_2001_TestParamSet_uint1 x490;
4941     uint32_t x491;
4942     fiat_id_GostR3410_2001_TestParamSet_uint1 x492;
4943     uint32_t x493;
4944     fiat_id_GostR3410_2001_TestParamSet_uint1 x494;
4945     uint32_t x495;
4946     fiat_id_GostR3410_2001_TestParamSet_uint1 x496;
4947     uint32_t x497;
4948     fiat_id_GostR3410_2001_TestParamSet_uint1 x498;
4949     uint32_t x499;
4950     fiat_id_GostR3410_2001_TestParamSet_uint1 x500;
4951     uint32_t x501;
4952     fiat_id_GostR3410_2001_TestParamSet_uint1 x502;
4953     uint32_t x503;
4954     fiat_id_GostR3410_2001_TestParamSet_uint1 x504;
4955     uint32_t x505;
4956     fiat_id_GostR3410_2001_TestParamSet_uint1 x506;
4957     uint32_t x507;
4958     uint32_t x508;
4959     uint32_t x509;
4960     uint32_t x510;
4961     uint32_t x511;
4962     uint32_t x512;
4963     uint32_t x513;
4964     uint32_t x514;
4965     uint32_t x515;
4966     uint32_t x516;
4967     uint32_t x517;
4968     uint32_t x518;
4969     uint32_t x519;
4970     uint32_t x520;
4971     uint32_t x521;
4972     uint32_t x522;
4973     uint32_t x523;
4974     uint32_t x524;
4975     fiat_id_GostR3410_2001_TestParamSet_uint1 x525;
4976     uint32_t x526;
4977     fiat_id_GostR3410_2001_TestParamSet_uint1 x527;
4978     uint32_t x528;
4979     fiat_id_GostR3410_2001_TestParamSet_uint1 x529;
4980     uint32_t x530;
4981     fiat_id_GostR3410_2001_TestParamSet_uint1 x531;
4982     uint32_t x532;
4983     fiat_id_GostR3410_2001_TestParamSet_uint1 x533;
4984     uint32_t x534;
4985     fiat_id_GostR3410_2001_TestParamSet_uint1 x535;
4986     uint32_t x536;
4987     fiat_id_GostR3410_2001_TestParamSet_uint1 x537;
4988     uint32_t x538;
4989     uint32_t x539;
4990     fiat_id_GostR3410_2001_TestParamSet_uint1 x540;
4991     uint32_t x541;
4992     fiat_id_GostR3410_2001_TestParamSet_uint1 x542;
4993     uint32_t x543;
4994     fiat_id_GostR3410_2001_TestParamSet_uint1 x544;
4995     uint32_t x545;
4996     fiat_id_GostR3410_2001_TestParamSet_uint1 x546;
4997     uint32_t x547;
4998     fiat_id_GostR3410_2001_TestParamSet_uint1 x548;
4999     uint32_t x549;
5000     fiat_id_GostR3410_2001_TestParamSet_uint1 x550;
5001     uint32_t x551;
5002     fiat_id_GostR3410_2001_TestParamSet_uint1 x552;
5003     uint32_t x553;
5004     fiat_id_GostR3410_2001_TestParamSet_uint1 x554;
5005     uint32_t x555;
5006     fiat_id_GostR3410_2001_TestParamSet_uint1 x556;
5007     uint32_t x557;
5008     uint32_t x558;
5009     uint32_t x559;
5010     uint32_t x560;
5011     uint32_t x561;
5012     uint32_t x562;
5013     uint32_t x563;
5014     fiat_id_GostR3410_2001_TestParamSet_uint1 x564;
5015     uint32_t x565;
5016     fiat_id_GostR3410_2001_TestParamSet_uint1 x566;
5017     uint32_t x567;
5018     fiat_id_GostR3410_2001_TestParamSet_uint1 x568;
5019     uint32_t x569;
5020     fiat_id_GostR3410_2001_TestParamSet_uint1 x570;
5021     uint32_t x571;
5022     fiat_id_GostR3410_2001_TestParamSet_uint1 x572;
5023     uint32_t x573;
5024     fiat_id_GostR3410_2001_TestParamSet_uint1 x574;
5025     uint32_t x575;
5026     fiat_id_GostR3410_2001_TestParamSet_uint1 x576;
5027     uint32_t x577;
5028     fiat_id_GostR3410_2001_TestParamSet_uint1 x578;
5029     uint32_t x579;
5030     fiat_id_GostR3410_2001_TestParamSet_uint1 x580;
5031     uint32_t x581;
5032     uint32_t x582;
5033     fiat_id_GostR3410_2001_TestParamSet_uint1 x583;
5034     uint32_t x584;
5035     fiat_id_GostR3410_2001_TestParamSet_uint1 x585;
5036     uint32_t x586;
5037     fiat_id_GostR3410_2001_TestParamSet_uint1 x587;
5038     uint32_t x588;
5039     fiat_id_GostR3410_2001_TestParamSet_uint1 x589;
5040     uint32_t x590;
5041     fiat_id_GostR3410_2001_TestParamSet_uint1 x591;
5042     uint32_t x592;
5043     fiat_id_GostR3410_2001_TestParamSet_uint1 x593;
5044     uint32_t x594;
5045     fiat_id_GostR3410_2001_TestParamSet_uint1 x595;
5046     uint32_t x596;
5047     fiat_id_GostR3410_2001_TestParamSet_uint1 x597;
5048     uint32_t x598;
5049     fiat_id_GostR3410_2001_TestParamSet_uint1 x599;
5050     uint32_t x600;
5051     uint32_t x601;
5052     uint32_t x602;
5053     uint32_t x603;
5054     uint32_t x604;
5055     uint32_t x605;
5056     uint32_t x606;
5057     uint32_t x607;
5058     x1 = (arg1[1]);
5059     x2 = (arg1[2]);
5060     x3 = (arg1[3]);
5061     x4 = (arg1[4]);
5062     x5 = (arg1[5]);
5063     x6 = (arg1[6]);
5064     x7 = (arg1[7]);
5065     x8 = (arg1[0]);
5066     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x9, &x10, x8, (arg2[7]));
5067     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x11, &x12, x8, (arg2[6]));
5068     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x13, &x14, x8, (arg2[5]));
5069     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x15, &x16, x8, (arg2[4]));
5070     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x17, &x18, x8, (arg2[3]));
5071     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x19, &x20, x8, (arg2[2]));
5072     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x21, &x22, x8, (arg2[1]));
5073     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x23, &x24, x8, (arg2[0]));
5074     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x25, &x26, 0x0, x24,
5075                                                       x21);
5076     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x27, &x28, x26, x22,
5077                                                       x19);
5078     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x29, &x30, x28, x20,
5079                                                       x17);
5080     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x31, &x32, x30, x18,
5081                                                       x15);
5082     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x33, &x34, x32, x16,
5083                                                       x13);
5084     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x35, &x36, x34, x14,
5085                                                       x11);
5086     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x37, &x38, x36, x12, x9);
5087     x39 = (x38 + x10);
5088     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x40, &x41, x23,
5089                                                  UINT32_C(0x883b2b2f));
5090     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x42, &x43, x40,
5091                                                  UINT32_C(0x80000000));
5092     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x44, &x45, x40,
5093                                                  UINT16_C(0x431));
5094     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x46, &x47, 0x0, x23,
5095                                                       x44);
5096     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x48, &x49, x47, x25,
5097                                                       x45);
5098     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x50, &x51, x49, x27,
5099                                                       0x0);
5100     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x52, &x53, x51, x29,
5101                                                       0x0);
5102     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x54, &x55, x53, x31,
5103                                                       0x0);
5104     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x56, &x57, x55, x33,
5105                                                       0x0);
5106     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x58, &x59, x57, x35,
5107                                                       0x0);
5108     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x60, &x61, x59, x37,
5109                                                       x42);
5110     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x62, &x63, x61, x39,
5111                                                       x43);
5112     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x64, &x65, x1, (arg2[7]));
5113     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x66, &x67, x1, (arg2[6]));
5114     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x68, &x69, x1, (arg2[5]));
5115     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x70, &x71, x1, (arg2[4]));
5116     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x72, &x73, x1, (arg2[3]));
5117     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x74, &x75, x1, (arg2[2]));
5118     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x76, &x77, x1, (arg2[1]));
5119     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x78, &x79, x1, (arg2[0]));
5120     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x80, &x81, 0x0, x79,
5121                                                       x76);
5122     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x82, &x83, x81, x77,
5123                                                       x74);
5124     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x84, &x85, x83, x75,
5125                                                       x72);
5126     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x86, &x87, x85, x73,
5127                                                       x70);
5128     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x88, &x89, x87, x71,
5129                                                       x68);
5130     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x90, &x91, x89, x69,
5131                                                       x66);
5132     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x92, &x93, x91, x67,
5133                                                       x64);
5134     x94 = (x93 + x65);
5135     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x95, &x96, 0x0, x48,
5136                                                       x78);
5137     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x97, &x98, x96, x50,
5138                                                       x80);
5139     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x99, &x100, x98, x52,
5140                                                       x82);
5141     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x101, &x102, x100, x54,
5142                                                       x84);
5143     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x103, &x104, x102, x56,
5144                                                       x86);
5145     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x105, &x106, x104, x58,
5146                                                       x88);
5147     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x107, &x108, x106, x60,
5148                                                       x90);
5149     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x109, &x110, x108, x62,
5150                                                       x92);
5151     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x111, &x112, x110, x63,
5152                                                       x94);
5153     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x113, &x114, x95,
5154                                                  UINT32_C(0x883b2b2f));
5155     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x115, &x116, x113,
5156                                                  UINT32_C(0x80000000));
5157     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x117, &x118, x113,
5158                                                  UINT16_C(0x431));
5159     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x119, &x120, 0x0, x95,
5160                                                       x117);
5161     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x121, &x122, x120, x97,
5162                                                       x118);
5163     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x123, &x124, x122, x99,
5164                                                       0x0);
5165     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x125, &x126, x124, x101,
5166                                                       0x0);
5167     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x127, &x128, x126, x103,
5168                                                       0x0);
5169     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x129, &x130, x128, x105,
5170                                                       0x0);
5171     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x131, &x132, x130, x107,
5172                                                       0x0);
5173     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x133, &x134, x132, x109,
5174                                                       x115);
5175     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x135, &x136, x134, x111,
5176                                                       x116);
5177     x137 = ((uint32_t)x136 + x112);
5178     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x138, &x139, x2, (arg2[7]));
5179     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x140, &x141, x2, (arg2[6]));
5180     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x142, &x143, x2, (arg2[5]));
5181     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x144, &x145, x2, (arg2[4]));
5182     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x146, &x147, x2, (arg2[3]));
5183     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x148, &x149, x2, (arg2[2]));
5184     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x150, &x151, x2, (arg2[1]));
5185     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x152, &x153, x2, (arg2[0]));
5186     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x154, &x155, 0x0, x153,
5187                                                       x150);
5188     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x156, &x157, x155, x151,
5189                                                       x148);
5190     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x158, &x159, x157, x149,
5191                                                       x146);
5192     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x160, &x161, x159, x147,
5193                                                       x144);
5194     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x162, &x163, x161, x145,
5195                                                       x142);
5196     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x164, &x165, x163, x143,
5197                                                       x140);
5198     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x166, &x167, x165, x141,
5199                                                       x138);
5200     x168 = (x167 + x139);
5201     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x169, &x170, 0x0, x121,
5202                                                       x152);
5203     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x171, &x172, x170, x123,
5204                                                       x154);
5205     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x173, &x174, x172, x125,
5206                                                       x156);
5207     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x175, &x176, x174, x127,
5208                                                       x158);
5209     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x177, &x178, x176, x129,
5210                                                       x160);
5211     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x179, &x180, x178, x131,
5212                                                       x162);
5213     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x181, &x182, x180, x133,
5214                                                       x164);
5215     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x183, &x184, x182, x135,
5216                                                       x166);
5217     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x185, &x186, x184, x137,
5218                                                       x168);
5219     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x187, &x188, x169,
5220                                                  UINT32_C(0x883b2b2f));
5221     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x189, &x190, x187,
5222                                                  UINT32_C(0x80000000));
5223     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x191, &x192, x187,
5224                                                  UINT16_C(0x431));
5225     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x193, &x194, 0x0, x169,
5226                                                       x191);
5227     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x195, &x196, x194, x171,
5228                                                       x192);
5229     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x197, &x198, x196, x173,
5230                                                       0x0);
5231     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x199, &x200, x198, x175,
5232                                                       0x0);
5233     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x201, &x202, x200, x177,
5234                                                       0x0);
5235     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x203, &x204, x202, x179,
5236                                                       0x0);
5237     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x205, &x206, x204, x181,
5238                                                       0x0);
5239     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x207, &x208, x206, x183,
5240                                                       x189);
5241     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x209, &x210, x208, x185,
5242                                                       x190);
5243     x211 = ((uint32_t)x210 + x186);
5244     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x212, &x213, x3, (arg2[7]));
5245     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x214, &x215, x3, (arg2[6]));
5246     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x216, &x217, x3, (arg2[5]));
5247     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x218, &x219, x3, (arg2[4]));
5248     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x220, &x221, x3, (arg2[3]));
5249     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x222, &x223, x3, (arg2[2]));
5250     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x224, &x225, x3, (arg2[1]));
5251     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x226, &x227, x3, (arg2[0]));
5252     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x228, &x229, 0x0, x227,
5253                                                       x224);
5254     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x230, &x231, x229, x225,
5255                                                       x222);
5256     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x232, &x233, x231, x223,
5257                                                       x220);
5258     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x234, &x235, x233, x221,
5259                                                       x218);
5260     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x236, &x237, x235, x219,
5261                                                       x216);
5262     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x238, &x239, x237, x217,
5263                                                       x214);
5264     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x240, &x241, x239, x215,
5265                                                       x212);
5266     x242 = (x241 + x213);
5267     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x243, &x244, 0x0, x195,
5268                                                       x226);
5269     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x245, &x246, x244, x197,
5270                                                       x228);
5271     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x247, &x248, x246, x199,
5272                                                       x230);
5273     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x249, &x250, x248, x201,
5274                                                       x232);
5275     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x251, &x252, x250, x203,
5276                                                       x234);
5277     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x253, &x254, x252, x205,
5278                                                       x236);
5279     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x255, &x256, x254, x207,
5280                                                       x238);
5281     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x257, &x258, x256, x209,
5282                                                       x240);
5283     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x259, &x260, x258, x211,
5284                                                       x242);
5285     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x261, &x262, x243,
5286                                                  UINT32_C(0x883b2b2f));
5287     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x263, &x264, x261,
5288                                                  UINT32_C(0x80000000));
5289     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x265, &x266, x261,
5290                                                  UINT16_C(0x431));
5291     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x267, &x268, 0x0, x243,
5292                                                       x265);
5293     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x269, &x270, x268, x245,
5294                                                       x266);
5295     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x271, &x272, x270, x247,
5296                                                       0x0);
5297     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x273, &x274, x272, x249,
5298                                                       0x0);
5299     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x275, &x276, x274, x251,
5300                                                       0x0);
5301     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x277, &x278, x276, x253,
5302                                                       0x0);
5303     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x279, &x280, x278, x255,
5304                                                       0x0);
5305     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x281, &x282, x280, x257,
5306                                                       x263);
5307     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x283, &x284, x282, x259,
5308                                                       x264);
5309     x285 = ((uint32_t)x284 + x260);
5310     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x286, &x287, x4, (arg2[7]));
5311     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x288, &x289, x4, (arg2[6]));
5312     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x290, &x291, x4, (arg2[5]));
5313     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x292, &x293, x4, (arg2[4]));
5314     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x294, &x295, x4, (arg2[3]));
5315     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x296, &x297, x4, (arg2[2]));
5316     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x298, &x299, x4, (arg2[1]));
5317     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x300, &x301, x4, (arg2[0]));
5318     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x302, &x303, 0x0, x301,
5319                                                       x298);
5320     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x304, &x305, x303, x299,
5321                                                       x296);
5322     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x306, &x307, x305, x297,
5323                                                       x294);
5324     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x308, &x309, x307, x295,
5325                                                       x292);
5326     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x310, &x311, x309, x293,
5327                                                       x290);
5328     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x312, &x313, x311, x291,
5329                                                       x288);
5330     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x314, &x315, x313, x289,
5331                                                       x286);
5332     x316 = (x315 + x287);
5333     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x317, &x318, 0x0, x269,
5334                                                       x300);
5335     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x319, &x320, x318, x271,
5336                                                       x302);
5337     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x321, &x322, x320, x273,
5338                                                       x304);
5339     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x323, &x324, x322, x275,
5340                                                       x306);
5341     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x325, &x326, x324, x277,
5342                                                       x308);
5343     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x327, &x328, x326, x279,
5344                                                       x310);
5345     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x329, &x330, x328, x281,
5346                                                       x312);
5347     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x331, &x332, x330, x283,
5348                                                       x314);
5349     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x333, &x334, x332, x285,
5350                                                       x316);
5351     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x335, &x336, x317,
5352                                                  UINT32_C(0x883b2b2f));
5353     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x337, &x338, x335,
5354                                                  UINT32_C(0x80000000));
5355     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x339, &x340, x335,
5356                                                  UINT16_C(0x431));
5357     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x341, &x342, 0x0, x317,
5358                                                       x339);
5359     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x343, &x344, x342, x319,
5360                                                       x340);
5361     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x345, &x346, x344, x321,
5362                                                       0x0);
5363     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x347, &x348, x346, x323,
5364                                                       0x0);
5365     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x349, &x350, x348, x325,
5366                                                       0x0);
5367     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x351, &x352, x350, x327,
5368                                                       0x0);
5369     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x353, &x354, x352, x329,
5370                                                       0x0);
5371     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x355, &x356, x354, x331,
5372                                                       x337);
5373     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x357, &x358, x356, x333,
5374                                                       x338);
5375     x359 = ((uint32_t)x358 + x334);
5376     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x360, &x361, x5, (arg2[7]));
5377     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x362, &x363, x5, (arg2[6]));
5378     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x364, &x365, x5, (arg2[5]));
5379     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x366, &x367, x5, (arg2[4]));
5380     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x368, &x369, x5, (arg2[3]));
5381     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x370, &x371, x5, (arg2[2]));
5382     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x372, &x373, x5, (arg2[1]));
5383     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x374, &x375, x5, (arg2[0]));
5384     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x376, &x377, 0x0, x375,
5385                                                       x372);
5386     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x378, &x379, x377, x373,
5387                                                       x370);
5388     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x380, &x381, x379, x371,
5389                                                       x368);
5390     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x382, &x383, x381, x369,
5391                                                       x366);
5392     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x384, &x385, x383, x367,
5393                                                       x364);
5394     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x386, &x387, x385, x365,
5395                                                       x362);
5396     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x388, &x389, x387, x363,
5397                                                       x360);
5398     x390 = (x389 + x361);
5399     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x391, &x392, 0x0, x343,
5400                                                       x374);
5401     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x393, &x394, x392, x345,
5402                                                       x376);
5403     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x395, &x396, x394, x347,
5404                                                       x378);
5405     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x397, &x398, x396, x349,
5406                                                       x380);
5407     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x399, &x400, x398, x351,
5408                                                       x382);
5409     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x401, &x402, x400, x353,
5410                                                       x384);
5411     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x403, &x404, x402, x355,
5412                                                       x386);
5413     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x405, &x406, x404, x357,
5414                                                       x388);
5415     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x407, &x408, x406, x359,
5416                                                       x390);
5417     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x409, &x410, x391,
5418                                                  UINT32_C(0x883b2b2f));
5419     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x411, &x412, x409,
5420                                                  UINT32_C(0x80000000));
5421     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x413, &x414, x409,
5422                                                  UINT16_C(0x431));
5423     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x415, &x416, 0x0, x391,
5424                                                       x413);
5425     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x417, &x418, x416, x393,
5426                                                       x414);
5427     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x419, &x420, x418, x395,
5428                                                       0x0);
5429     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x421, &x422, x420, x397,
5430                                                       0x0);
5431     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x423, &x424, x422, x399,
5432                                                       0x0);
5433     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x425, &x426, x424, x401,
5434                                                       0x0);
5435     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x427, &x428, x426, x403,
5436                                                       0x0);
5437     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x429, &x430, x428, x405,
5438                                                       x411);
5439     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x431, &x432, x430, x407,
5440                                                       x412);
5441     x433 = ((uint32_t)x432 + x408);
5442     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x434, &x435, x6, (arg2[7]));
5443     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x436, &x437, x6, (arg2[6]));
5444     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x438, &x439, x6, (arg2[5]));
5445     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x440, &x441, x6, (arg2[4]));
5446     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x442, &x443, x6, (arg2[3]));
5447     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x444, &x445, x6, (arg2[2]));
5448     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x446, &x447, x6, (arg2[1]));
5449     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x448, &x449, x6, (arg2[0]));
5450     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x450, &x451, 0x0, x449,
5451                                                       x446);
5452     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x452, &x453, x451, x447,
5453                                                       x444);
5454     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x454, &x455, x453, x445,
5455                                                       x442);
5456     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x456, &x457, x455, x443,
5457                                                       x440);
5458     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x458, &x459, x457, x441,
5459                                                       x438);
5460     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x460, &x461, x459, x439,
5461                                                       x436);
5462     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x462, &x463, x461, x437,
5463                                                       x434);
5464     x464 = (x463 + x435);
5465     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x465, &x466, 0x0, x417,
5466                                                       x448);
5467     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x467, &x468, x466, x419,
5468                                                       x450);
5469     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x469, &x470, x468, x421,
5470                                                       x452);
5471     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x471, &x472, x470, x423,
5472                                                       x454);
5473     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x473, &x474, x472, x425,
5474                                                       x456);
5475     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x475, &x476, x474, x427,
5476                                                       x458);
5477     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x477, &x478, x476, x429,
5478                                                       x460);
5479     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x479, &x480, x478, x431,
5480                                                       x462);
5481     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x481, &x482, x480, x433,
5482                                                       x464);
5483     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x483, &x484, x465,
5484                                                  UINT32_C(0x883b2b2f));
5485     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x485, &x486, x483,
5486                                                  UINT32_C(0x80000000));
5487     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x487, &x488, x483,
5488                                                  UINT16_C(0x431));
5489     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x489, &x490, 0x0, x465,
5490                                                       x487);
5491     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x491, &x492, x490, x467,
5492                                                       x488);
5493     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x493, &x494, x492, x469,
5494                                                       0x0);
5495     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x495, &x496, x494, x471,
5496                                                       0x0);
5497     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x497, &x498, x496, x473,
5498                                                       0x0);
5499     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x499, &x500, x498, x475,
5500                                                       0x0);
5501     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x501, &x502, x500, x477,
5502                                                       0x0);
5503     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x503, &x504, x502, x479,
5504                                                       x485);
5505     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x505, &x506, x504, x481,
5506                                                       x486);
5507     x507 = ((uint32_t)x506 + x482);
5508     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x508, &x509, x7, (arg2[7]));
5509     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x510, &x511, x7, (arg2[6]));
5510     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x512, &x513, x7, (arg2[5]));
5511     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x514, &x515, x7, (arg2[4]));
5512     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x516, &x517, x7, (arg2[3]));
5513     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x518, &x519, x7, (arg2[2]));
5514     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x520, &x521, x7, (arg2[1]));
5515     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x522, &x523, x7, (arg2[0]));
5516     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x524, &x525, 0x0, x523,
5517                                                       x520);
5518     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x526, &x527, x525, x521,
5519                                                       x518);
5520     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x528, &x529, x527, x519,
5521                                                       x516);
5522     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x530, &x531, x529, x517,
5523                                                       x514);
5524     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x532, &x533, x531, x515,
5525                                                       x512);
5526     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x534, &x535, x533, x513,
5527                                                       x510);
5528     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x536, &x537, x535, x511,
5529                                                       x508);
5530     x538 = (x537 + x509);
5531     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x539, &x540, 0x0, x491,
5532                                                       x522);
5533     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x541, &x542, x540, x493,
5534                                                       x524);
5535     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x543, &x544, x542, x495,
5536                                                       x526);
5537     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x545, &x546, x544, x497,
5538                                                       x528);
5539     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x547, &x548, x546, x499,
5540                                                       x530);
5541     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x549, &x550, x548, x501,
5542                                                       x532);
5543     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x551, &x552, x550, x503,
5544                                                       x534);
5545     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x553, &x554, x552, x505,
5546                                                       x536);
5547     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x555, &x556, x554, x507,
5548                                                       x538);
5549     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x557, &x558, x539,
5550                                                  UINT32_C(0x883b2b2f));
5551     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x559, &x560, x557,
5552                                                  UINT32_C(0x80000000));
5553     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x561, &x562, x557,
5554                                                  UINT16_C(0x431));
5555     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x563, &x564, 0x0, x539,
5556                                                       x561);
5557     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x565, &x566, x564, x541,
5558                                                       x562);
5559     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x567, &x568, x566, x543,
5560                                                       0x0);
5561     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x569, &x570, x568, x545,
5562                                                       0x0);
5563     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x571, &x572, x570, x547,
5564                                                       0x0);
5565     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x573, &x574, x572, x549,
5566                                                       0x0);
5567     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x575, &x576, x574, x551,
5568                                                       0x0);
5569     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x577, &x578, x576, x553,
5570                                                       x559);
5571     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x579, &x580, x578, x555,
5572                                                       x560);
5573     x581 = ((uint32_t)x580 + x556);
5574     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x582, &x583, 0x0, x565,
5575                                                        UINT16_C(0x431));
5576     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x584, &x585, x583, x567,
5577                                                        0x0);
5578     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x586, &x587, x585, x569,
5579                                                        0x0);
5580     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x588, &x589, x587, x571,
5581                                                        0x0);
5582     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x590, &x591, x589, x573,
5583                                                        0x0);
5584     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x592, &x593, x591, x575,
5585                                                        0x0);
5586     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x594, &x595, x593, x577,
5587                                                        0x0);
5588     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x596, &x597, x595, x579,
5589                                                        UINT32_C(0x80000000));
5590     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x598, &x599, x597, x581,
5591                                                        0x0);
5592     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x600, x599, x582, x565);
5593     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x601, x599, x584, x567);
5594     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x602, x599, x586, x569);
5595     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x603, x599, x588, x571);
5596     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x604, x599, x590, x573);
5597     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x605, x599, x592, x575);
5598     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x606, x599, x594, x577);
5599     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x607, x599, x596, x579);
5600     out1[0] = x600;
5601     out1[1] = x601;
5602     out1[2] = x602;
5603     out1[3] = x603;
5604     out1[4] = x604;
5605     out1[5] = x605;
5606     out1[6] = x606;
5607     out1[7] = x607;
5608 }
5609
5610 /*
5611  * The function fiat_id_GostR3410_2001_TestParamSet_square squares a field element in the Montgomery domain.
5612  * Preconditions:
5613  *   0 ≤ eval arg1 < m
5614  * Postconditions:
5615  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg1)) mod m
5616  *   0 ≤ eval out1 < m
5617  *
5618  * Input Bounds:
5619  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
5620  * Output Bounds:
5621  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
5622  */
5623 static void fiat_id_GostR3410_2001_TestParamSet_square(uint32_t out1[8],
5624                                                        const uint32_t arg1[8]) {
5625     uint32_t x1;
5626     uint32_t x2;
5627     uint32_t x3;
5628     uint32_t x4;
5629     uint32_t x5;
5630     uint32_t x6;
5631     uint32_t x7;
5632     uint32_t x8;
5633     uint32_t x9;
5634     uint32_t x10;
5635     uint32_t x11;
5636     uint32_t x12;
5637     uint32_t x13;
5638     uint32_t x14;
5639     uint32_t x15;
5640     uint32_t x16;
5641     uint32_t x17;
5642     uint32_t x18;
5643     uint32_t x19;
5644     uint32_t x20;
5645     uint32_t x21;
5646     uint32_t x22;
5647     uint32_t x23;
5648     uint32_t x24;
5649     uint32_t x25;
5650     fiat_id_GostR3410_2001_TestParamSet_uint1 x26;
5651     uint32_t x27;
5652     fiat_id_GostR3410_2001_TestParamSet_uint1 x28;
5653     uint32_t x29;
5654     fiat_id_GostR3410_2001_TestParamSet_uint1 x30;
5655     uint32_t x31;
5656     fiat_id_GostR3410_2001_TestParamSet_uint1 x32;
5657     uint32_t x33;
5658     fiat_id_GostR3410_2001_TestParamSet_uint1 x34;
5659     uint32_t x35;
5660     fiat_id_GostR3410_2001_TestParamSet_uint1 x36;
5661     uint32_t x37;
5662     fiat_id_GostR3410_2001_TestParamSet_uint1 x38;
5663     uint32_t x39;
5664     uint32_t x40;
5665     uint32_t x41;
5666     uint32_t x42;
5667     uint32_t x43;
5668     uint32_t x44;
5669     uint32_t x45;
5670     uint32_t x46;
5671     fiat_id_GostR3410_2001_TestParamSet_uint1 x47;
5672     uint32_t x48;
5673     fiat_id_GostR3410_2001_TestParamSet_uint1 x49;
5674     uint32_t x50;
5675     fiat_id_GostR3410_2001_TestParamSet_uint1 x51;
5676     uint32_t x52;
5677     fiat_id_GostR3410_2001_TestParamSet_uint1 x53;
5678     uint32_t x54;
5679     fiat_id_GostR3410_2001_TestParamSet_uint1 x55;
5680     uint32_t x56;
5681     fiat_id_GostR3410_2001_TestParamSet_uint1 x57;
5682     uint32_t x58;
5683     fiat_id_GostR3410_2001_TestParamSet_uint1 x59;
5684     uint32_t x60;
5685     fiat_id_GostR3410_2001_TestParamSet_uint1 x61;
5686     uint32_t x62;
5687     fiat_id_GostR3410_2001_TestParamSet_uint1 x63;
5688     uint32_t x64;
5689     uint32_t x65;
5690     uint32_t x66;
5691     uint32_t x67;
5692     uint32_t x68;
5693     uint32_t x69;
5694     uint32_t x70;
5695     uint32_t x71;
5696     uint32_t x72;
5697     uint32_t x73;
5698     uint32_t x74;
5699     uint32_t x75;
5700     uint32_t x76;
5701     uint32_t x77;
5702     uint32_t x78;
5703     uint32_t x79;
5704     uint32_t x80;
5705     fiat_id_GostR3410_2001_TestParamSet_uint1 x81;
5706     uint32_t x82;
5707     fiat_id_GostR3410_2001_TestParamSet_uint1 x83;
5708     uint32_t x84;
5709     fiat_id_GostR3410_2001_TestParamSet_uint1 x85;
5710     uint32_t x86;
5711     fiat_id_GostR3410_2001_TestParamSet_uint1 x87;
5712     uint32_t x88;
5713     fiat_id_GostR3410_2001_TestParamSet_uint1 x89;
5714     uint32_t x90;
5715     fiat_id_GostR3410_2001_TestParamSet_uint1 x91;
5716     uint32_t x92;
5717     fiat_id_GostR3410_2001_TestParamSet_uint1 x93;
5718     uint32_t x94;
5719     uint32_t x95;
5720     fiat_id_GostR3410_2001_TestParamSet_uint1 x96;
5721     uint32_t x97;
5722     fiat_id_GostR3410_2001_TestParamSet_uint1 x98;
5723     uint32_t x99;
5724     fiat_id_GostR3410_2001_TestParamSet_uint1 x100;
5725     uint32_t x101;
5726     fiat_id_GostR3410_2001_TestParamSet_uint1 x102;
5727     uint32_t x103;
5728     fiat_id_GostR3410_2001_TestParamSet_uint1 x104;
5729     uint32_t x105;
5730     fiat_id_GostR3410_2001_TestParamSet_uint1 x106;
5731     uint32_t x107;
5732     fiat_id_GostR3410_2001_TestParamSet_uint1 x108;
5733     uint32_t x109;
5734     fiat_id_GostR3410_2001_TestParamSet_uint1 x110;
5735     uint32_t x111;
5736     fiat_id_GostR3410_2001_TestParamSet_uint1 x112;
5737     uint32_t x113;
5738     uint32_t x114;
5739     uint32_t x115;
5740     uint32_t x116;
5741     uint32_t x117;
5742     uint32_t x118;
5743     uint32_t x119;
5744     fiat_id_GostR3410_2001_TestParamSet_uint1 x120;
5745     uint32_t x121;
5746     fiat_id_GostR3410_2001_TestParamSet_uint1 x122;
5747     uint32_t x123;
5748     fiat_id_GostR3410_2001_TestParamSet_uint1 x124;
5749     uint32_t x125;
5750     fiat_id_GostR3410_2001_TestParamSet_uint1 x126;
5751     uint32_t x127;
5752     fiat_id_GostR3410_2001_TestParamSet_uint1 x128;
5753     uint32_t x129;
5754     fiat_id_GostR3410_2001_TestParamSet_uint1 x130;
5755     uint32_t x131;
5756     fiat_id_GostR3410_2001_TestParamSet_uint1 x132;
5757     uint32_t x133;
5758     fiat_id_GostR3410_2001_TestParamSet_uint1 x134;
5759     uint32_t x135;
5760     fiat_id_GostR3410_2001_TestParamSet_uint1 x136;
5761     uint32_t x137;
5762     uint32_t x138;
5763     uint32_t x139;
5764     uint32_t x140;
5765     uint32_t x141;
5766     uint32_t x142;
5767     uint32_t x143;
5768     uint32_t x144;
5769     uint32_t x145;
5770     uint32_t x146;
5771     uint32_t x147;
5772     uint32_t x148;
5773     uint32_t x149;
5774     uint32_t x150;
5775     uint32_t x151;
5776     uint32_t x152;
5777     uint32_t x153;
5778     uint32_t x154;
5779     fiat_id_GostR3410_2001_TestParamSet_uint1 x155;
5780     uint32_t x156;
5781     fiat_id_GostR3410_2001_TestParamSet_uint1 x157;
5782     uint32_t x158;
5783     fiat_id_GostR3410_2001_TestParamSet_uint1 x159;
5784     uint32_t x160;
5785     fiat_id_GostR3410_2001_TestParamSet_uint1 x161;
5786     uint32_t x162;
5787     fiat_id_GostR3410_2001_TestParamSet_uint1 x163;
5788     uint32_t x164;
5789     fiat_id_GostR3410_2001_TestParamSet_uint1 x165;
5790     uint32_t x166;
5791     fiat_id_GostR3410_2001_TestParamSet_uint1 x167;
5792     uint32_t x168;
5793     uint32_t x169;
5794     fiat_id_GostR3410_2001_TestParamSet_uint1 x170;
5795     uint32_t x171;
5796     fiat_id_GostR3410_2001_TestParamSet_uint1 x172;
5797     uint32_t x173;
5798     fiat_id_GostR3410_2001_TestParamSet_uint1 x174;
5799     uint32_t x175;
5800     fiat_id_GostR3410_2001_TestParamSet_uint1 x176;
5801     uint32_t x177;
5802     fiat_id_GostR3410_2001_TestParamSet_uint1 x178;
5803     uint32_t x179;
5804     fiat_id_GostR3410_2001_TestParamSet_uint1 x180;
5805     uint32_t x181;
5806     fiat_id_GostR3410_2001_TestParamSet_uint1 x182;
5807     uint32_t x183;
5808     fiat_id_GostR3410_2001_TestParamSet_uint1 x184;
5809     uint32_t x185;
5810     fiat_id_GostR3410_2001_TestParamSet_uint1 x186;
5811     uint32_t x187;
5812     uint32_t x188;
5813     uint32_t x189;
5814     uint32_t x190;
5815     uint32_t x191;
5816     uint32_t x192;
5817     uint32_t x193;
5818     fiat_id_GostR3410_2001_TestParamSet_uint1 x194;
5819     uint32_t x195;
5820     fiat_id_GostR3410_2001_TestParamSet_uint1 x196;
5821     uint32_t x197;
5822     fiat_id_GostR3410_2001_TestParamSet_uint1 x198;
5823     uint32_t x199;
5824     fiat_id_GostR3410_2001_TestParamSet_uint1 x200;
5825     uint32_t x201;
5826     fiat_id_GostR3410_2001_TestParamSet_uint1 x202;
5827     uint32_t x203;
5828     fiat_id_GostR3410_2001_TestParamSet_uint1 x204;
5829     uint32_t x205;
5830     fiat_id_GostR3410_2001_TestParamSet_uint1 x206;
5831     uint32_t x207;
5832     fiat_id_GostR3410_2001_TestParamSet_uint1 x208;
5833     uint32_t x209;
5834     fiat_id_GostR3410_2001_TestParamSet_uint1 x210;
5835     uint32_t x211;
5836     uint32_t x212;
5837     uint32_t x213;
5838     uint32_t x214;
5839     uint32_t x215;
5840     uint32_t x216;
5841     uint32_t x217;
5842     uint32_t x218;
5843     uint32_t x219;
5844     uint32_t x220;
5845     uint32_t x221;
5846     uint32_t x222;
5847     uint32_t x223;
5848     uint32_t x224;
5849     uint32_t x225;
5850     uint32_t x226;
5851     uint32_t x227;
5852     uint32_t x228;
5853     fiat_id_GostR3410_2001_TestParamSet_uint1 x229;
5854     uint32_t x230;
5855     fiat_id_GostR3410_2001_TestParamSet_uint1 x231;
5856     uint32_t x232;
5857     fiat_id_GostR3410_2001_TestParamSet_uint1 x233;
5858     uint32_t x234;
5859     fiat_id_GostR3410_2001_TestParamSet_uint1 x235;
5860     uint32_t x236;
5861     fiat_id_GostR3410_2001_TestParamSet_uint1 x237;
5862     uint32_t x238;
5863     fiat_id_GostR3410_2001_TestParamSet_uint1 x239;
5864     uint32_t x240;
5865     fiat_id_GostR3410_2001_TestParamSet_uint1 x241;
5866     uint32_t x242;
5867     uint32_t x243;
5868     fiat_id_GostR3410_2001_TestParamSet_uint1 x244;
5869     uint32_t x245;
5870     fiat_id_GostR3410_2001_TestParamSet_uint1 x246;
5871     uint32_t x247;
5872     fiat_id_GostR3410_2001_TestParamSet_uint1 x248;
5873     uint32_t x249;
5874     fiat_id_GostR3410_2001_TestParamSet_uint1 x250;
5875     uint32_t x251;
5876     fiat_id_GostR3410_2001_TestParamSet_uint1 x252;
5877     uint32_t x253;
5878     fiat_id_GostR3410_2001_TestParamSet_uint1 x254;
5879     uint32_t x255;
5880     fiat_id_GostR3410_2001_TestParamSet_uint1 x256;
5881     uint32_t x257;
5882     fiat_id_GostR3410_2001_TestParamSet_uint1 x258;
5883     uint32_t x259;
5884     fiat_id_GostR3410_2001_TestParamSet_uint1 x260;
5885     uint32_t x261;
5886     uint32_t x262;
5887     uint32_t x263;
5888     uint32_t x264;
5889     uint32_t x265;
5890     uint32_t x266;
5891     uint32_t x267;
5892     fiat_id_GostR3410_2001_TestParamSet_uint1 x268;
5893     uint32_t x269;
5894     fiat_id_GostR3410_2001_TestParamSet_uint1 x270;
5895     uint32_t x271;
5896     fiat_id_GostR3410_2001_TestParamSet_uint1 x272;
5897     uint32_t x273;
5898     fiat_id_GostR3410_2001_TestParamSet_uint1 x274;
5899     uint32_t x275;
5900     fiat_id_GostR3410_2001_TestParamSet_uint1 x276;
5901     uint32_t x277;
5902     fiat_id_GostR3410_2001_TestParamSet_uint1 x278;
5903     uint32_t x279;
5904     fiat_id_GostR3410_2001_TestParamSet_uint1 x280;
5905     uint32_t x281;
5906     fiat_id_GostR3410_2001_TestParamSet_uint1 x282;
5907     uint32_t x283;
5908     fiat_id_GostR3410_2001_TestParamSet_uint1 x284;
5909     uint32_t x285;
5910     uint32_t x286;
5911     uint32_t x287;
5912     uint32_t x288;
5913     uint32_t x289;
5914     uint32_t x290;
5915     uint32_t x291;
5916     uint32_t x292;
5917     uint32_t x293;
5918     uint32_t x294;
5919     uint32_t x295;
5920     uint32_t x296;
5921     uint32_t x297;
5922     uint32_t x298;
5923     uint32_t x299;
5924     uint32_t x300;
5925     uint32_t x301;
5926     uint32_t x302;
5927     fiat_id_GostR3410_2001_TestParamSet_uint1 x303;
5928     uint32_t x304;
5929     fiat_id_GostR3410_2001_TestParamSet_uint1 x305;
5930     uint32_t x306;
5931     fiat_id_GostR3410_2001_TestParamSet_uint1 x307;
5932     uint32_t x308;
5933     fiat_id_GostR3410_2001_TestParamSet_uint1 x309;
5934     uint32_t x310;
5935     fiat_id_GostR3410_2001_TestParamSet_uint1 x311;
5936     uint32_t x312;
5937     fiat_id_GostR3410_2001_TestParamSet_uint1 x313;
5938     uint32_t x314;
5939     fiat_id_GostR3410_2001_TestParamSet_uint1 x315;
5940     uint32_t x316;
5941     uint32_t x317;
5942     fiat_id_GostR3410_2001_TestParamSet_uint1 x318;
5943     uint32_t x319;
5944     fiat_id_GostR3410_2001_TestParamSet_uint1 x320;
5945     uint32_t x321;
5946     fiat_id_GostR3410_2001_TestParamSet_uint1 x322;
5947     uint32_t x323;
5948     fiat_id_GostR3410_2001_TestParamSet_uint1 x324;
5949     uint32_t x325;
5950     fiat_id_GostR3410_2001_TestParamSet_uint1 x326;
5951     uint32_t x327;
5952     fiat_id_GostR3410_2001_TestParamSet_uint1 x328;
5953     uint32_t x329;
5954     fiat_id_GostR3410_2001_TestParamSet_uint1 x330;
5955     uint32_t x331;
5956     fiat_id_GostR3410_2001_TestParamSet_uint1 x332;
5957     uint32_t x333;
5958     fiat_id_GostR3410_2001_TestParamSet_uint1 x334;
5959     uint32_t x335;
5960     uint32_t x336;
5961     uint32_t x337;
5962     uint32_t x338;
5963     uint32_t x339;
5964     uint32_t x340;
5965     uint32_t x341;
5966     fiat_id_GostR3410_2001_TestParamSet_uint1 x342;
5967     uint32_t x343;
5968     fiat_id_GostR3410_2001_TestParamSet_uint1 x344;
5969     uint32_t x345;
5970     fiat_id_GostR3410_2001_TestParamSet_uint1 x346;
5971     uint32_t x347;
5972     fiat_id_GostR3410_2001_TestParamSet_uint1 x348;
5973     uint32_t x349;
5974     fiat_id_GostR3410_2001_TestParamSet_uint1 x350;
5975     uint32_t x351;
5976     fiat_id_GostR3410_2001_TestParamSet_uint1 x352;
5977     uint32_t x353;
5978     fiat_id_GostR3410_2001_TestParamSet_uint1 x354;
5979     uint32_t x355;
5980     fiat_id_GostR3410_2001_TestParamSet_uint1 x356;
5981     uint32_t x357;
5982     fiat_id_GostR3410_2001_TestParamSet_uint1 x358;
5983     uint32_t x359;
5984     uint32_t x360;
5985     uint32_t x361;
5986     uint32_t x362;
5987     uint32_t x363;
5988     uint32_t x364;
5989     uint32_t x365;
5990     uint32_t x366;
5991     uint32_t x367;
5992     uint32_t x368;
5993     uint32_t x369;
5994     uint32_t x370;
5995     uint32_t x371;
5996     uint32_t x372;
5997     uint32_t x373;
5998     uint32_t x374;
5999     uint32_t x375;
6000     uint32_t x376;
6001     fiat_id_GostR3410_2001_TestParamSet_uint1 x377;
6002     uint32_t x378;
6003     fiat_id_GostR3410_2001_TestParamSet_uint1 x379;
6004     uint32_t x380;
6005     fiat_id_GostR3410_2001_TestParamSet_uint1 x381;
6006     uint32_t x382;
6007     fiat_id_GostR3410_2001_TestParamSet_uint1 x383;
6008     uint32_t x384;
6009     fiat_id_GostR3410_2001_TestParamSet_uint1 x385;
6010     uint32_t x386;
6011     fiat_id_GostR3410_2001_TestParamSet_uint1 x387;
6012     uint32_t x388;
6013     fiat_id_GostR3410_2001_TestParamSet_uint1 x389;
6014     uint32_t x390;
6015     uint32_t x391;
6016     fiat_id_GostR3410_2001_TestParamSet_uint1 x392;
6017     uint32_t x393;
6018     fiat_id_GostR3410_2001_TestParamSet_uint1 x394;
6019     uint32_t x395;
6020     fiat_id_GostR3410_2001_TestParamSet_uint1 x396;
6021     uint32_t x397;
6022     fiat_id_GostR3410_2001_TestParamSet_uint1 x398;
6023     uint32_t x399;
6024     fiat_id_GostR3410_2001_TestParamSet_uint1 x400;
6025     uint32_t x401;
6026     fiat_id_GostR3410_2001_TestParamSet_uint1 x402;
6027     uint32_t x403;
6028     fiat_id_GostR3410_2001_TestParamSet_uint1 x404;
6029     uint32_t x405;
6030     fiat_id_GostR3410_2001_TestParamSet_uint1 x406;
6031     uint32_t x407;
6032     fiat_id_GostR3410_2001_TestParamSet_uint1 x408;
6033     uint32_t x409;
6034     uint32_t x410;
6035     uint32_t x411;
6036     uint32_t x412;
6037     uint32_t x413;
6038     uint32_t x414;
6039     uint32_t x415;
6040     fiat_id_GostR3410_2001_TestParamSet_uint1 x416;
6041     uint32_t x417;
6042     fiat_id_GostR3410_2001_TestParamSet_uint1 x418;
6043     uint32_t x419;
6044     fiat_id_GostR3410_2001_TestParamSet_uint1 x420;
6045     uint32_t x421;
6046     fiat_id_GostR3410_2001_TestParamSet_uint1 x422;
6047     uint32_t x423;
6048     fiat_id_GostR3410_2001_TestParamSet_uint1 x424;
6049     uint32_t x425;
6050     fiat_id_GostR3410_2001_TestParamSet_uint1 x426;
6051     uint32_t x427;
6052     fiat_id_GostR3410_2001_TestParamSet_uint1 x428;
6053     uint32_t x429;
6054     fiat_id_GostR3410_2001_TestParamSet_uint1 x430;
6055     uint32_t x431;
6056     fiat_id_GostR3410_2001_TestParamSet_uint1 x432;
6057     uint32_t x433;
6058     uint32_t x434;
6059     uint32_t x435;
6060     uint32_t x436;
6061     uint32_t x437;
6062     uint32_t x438;
6063     uint32_t x439;
6064     uint32_t x440;
6065     uint32_t x441;
6066     uint32_t x442;
6067     uint32_t x443;
6068     uint32_t x444;
6069     uint32_t x445;
6070     uint32_t x446;
6071     uint32_t x447;
6072     uint32_t x448;
6073     uint32_t x449;
6074     uint32_t x450;
6075     fiat_id_GostR3410_2001_TestParamSet_uint1 x451;
6076     uint32_t x452;
6077     fiat_id_GostR3410_2001_TestParamSet_uint1 x453;
6078     uint32_t x454;
6079     fiat_id_GostR3410_2001_TestParamSet_uint1 x455;
6080     uint32_t x456;
6081     fiat_id_GostR3410_2001_TestParamSet_uint1 x457;
6082     uint32_t x458;
6083     fiat_id_GostR3410_2001_TestParamSet_uint1 x459;
6084     uint32_t x460;
6085     fiat_id_GostR3410_2001_TestParamSet_uint1 x461;
6086     uint32_t x462;
6087     fiat_id_GostR3410_2001_TestParamSet_uint1 x463;
6088     uint32_t x464;
6089     uint32_t x465;
6090     fiat_id_GostR3410_2001_TestParamSet_uint1 x466;
6091     uint32_t x467;
6092     fiat_id_GostR3410_2001_TestParamSet_uint1 x468;
6093     uint32_t x469;
6094     fiat_id_GostR3410_2001_TestParamSet_uint1 x470;
6095     uint32_t x471;
6096     fiat_id_GostR3410_2001_TestParamSet_uint1 x472;
6097     uint32_t x473;
6098     fiat_id_GostR3410_2001_TestParamSet_uint1 x474;
6099     uint32_t x475;
6100     fiat_id_GostR3410_2001_TestParamSet_uint1 x476;
6101     uint32_t x477;
6102     fiat_id_GostR3410_2001_TestParamSet_uint1 x478;
6103     uint32_t x479;
6104     fiat_id_GostR3410_2001_TestParamSet_uint1 x480;
6105     uint32_t x481;
6106     fiat_id_GostR3410_2001_TestParamSet_uint1 x482;
6107     uint32_t x483;
6108     uint32_t x484;
6109     uint32_t x485;
6110     uint32_t x486;
6111     uint32_t x487;
6112     uint32_t x488;
6113     uint32_t x489;
6114     fiat_id_GostR3410_2001_TestParamSet_uint1 x490;
6115     uint32_t x491;
6116     fiat_id_GostR3410_2001_TestParamSet_uint1 x492;
6117     uint32_t x493;
6118     fiat_id_GostR3410_2001_TestParamSet_uint1 x494;
6119     uint32_t x495;
6120     fiat_id_GostR3410_2001_TestParamSet_uint1 x496;
6121     uint32_t x497;
6122     fiat_id_GostR3410_2001_TestParamSet_uint1 x498;
6123     uint32_t x499;
6124     fiat_id_GostR3410_2001_TestParamSet_uint1 x500;
6125     uint32_t x501;
6126     fiat_id_GostR3410_2001_TestParamSet_uint1 x502;
6127     uint32_t x503;
6128     fiat_id_GostR3410_2001_TestParamSet_uint1 x504;
6129     uint32_t x505;
6130     fiat_id_GostR3410_2001_TestParamSet_uint1 x506;
6131     uint32_t x507;
6132     uint32_t x508;
6133     uint32_t x509;
6134     uint32_t x510;
6135     uint32_t x511;
6136     uint32_t x512;
6137     uint32_t x513;
6138     uint32_t x514;
6139     uint32_t x515;
6140     uint32_t x516;
6141     uint32_t x517;
6142     uint32_t x518;
6143     uint32_t x519;
6144     uint32_t x520;
6145     uint32_t x521;
6146     uint32_t x522;
6147     uint32_t x523;
6148     uint32_t x524;
6149     fiat_id_GostR3410_2001_TestParamSet_uint1 x525;
6150     uint32_t x526;
6151     fiat_id_GostR3410_2001_TestParamSet_uint1 x527;
6152     uint32_t x528;
6153     fiat_id_GostR3410_2001_TestParamSet_uint1 x529;
6154     uint32_t x530;
6155     fiat_id_GostR3410_2001_TestParamSet_uint1 x531;
6156     uint32_t x532;
6157     fiat_id_GostR3410_2001_TestParamSet_uint1 x533;
6158     uint32_t x534;
6159     fiat_id_GostR3410_2001_TestParamSet_uint1 x535;
6160     uint32_t x536;
6161     fiat_id_GostR3410_2001_TestParamSet_uint1 x537;
6162     uint32_t x538;
6163     uint32_t x539;
6164     fiat_id_GostR3410_2001_TestParamSet_uint1 x540;
6165     uint32_t x541;
6166     fiat_id_GostR3410_2001_TestParamSet_uint1 x542;
6167     uint32_t x543;
6168     fiat_id_GostR3410_2001_TestParamSet_uint1 x544;
6169     uint32_t x545;
6170     fiat_id_GostR3410_2001_TestParamSet_uint1 x546;
6171     uint32_t x547;
6172     fiat_id_GostR3410_2001_TestParamSet_uint1 x548;
6173     uint32_t x549;
6174     fiat_id_GostR3410_2001_TestParamSet_uint1 x550;
6175     uint32_t x551;
6176     fiat_id_GostR3410_2001_TestParamSet_uint1 x552;
6177     uint32_t x553;
6178     fiat_id_GostR3410_2001_TestParamSet_uint1 x554;
6179     uint32_t x555;
6180     fiat_id_GostR3410_2001_TestParamSet_uint1 x556;
6181     uint32_t x557;
6182     uint32_t x558;
6183     uint32_t x559;
6184     uint32_t x560;
6185     uint32_t x561;
6186     uint32_t x562;
6187     uint32_t x563;
6188     fiat_id_GostR3410_2001_TestParamSet_uint1 x564;
6189     uint32_t x565;
6190     fiat_id_GostR3410_2001_TestParamSet_uint1 x566;
6191     uint32_t x567;
6192     fiat_id_GostR3410_2001_TestParamSet_uint1 x568;
6193     uint32_t x569;
6194     fiat_id_GostR3410_2001_TestParamSet_uint1 x570;
6195     uint32_t x571;
6196     fiat_id_GostR3410_2001_TestParamSet_uint1 x572;
6197     uint32_t x573;
6198     fiat_id_GostR3410_2001_TestParamSet_uint1 x574;
6199     uint32_t x575;
6200     fiat_id_GostR3410_2001_TestParamSet_uint1 x576;
6201     uint32_t x577;
6202     fiat_id_GostR3410_2001_TestParamSet_uint1 x578;
6203     uint32_t x579;
6204     fiat_id_GostR3410_2001_TestParamSet_uint1 x580;
6205     uint32_t x581;
6206     uint32_t x582;
6207     fiat_id_GostR3410_2001_TestParamSet_uint1 x583;
6208     uint32_t x584;
6209     fiat_id_GostR3410_2001_TestParamSet_uint1 x585;
6210     uint32_t x586;
6211     fiat_id_GostR3410_2001_TestParamSet_uint1 x587;
6212     uint32_t x588;
6213     fiat_id_GostR3410_2001_TestParamSet_uint1 x589;
6214     uint32_t x590;
6215     fiat_id_GostR3410_2001_TestParamSet_uint1 x591;
6216     uint32_t x592;
6217     fiat_id_GostR3410_2001_TestParamSet_uint1 x593;
6218     uint32_t x594;
6219     fiat_id_GostR3410_2001_TestParamSet_uint1 x595;
6220     uint32_t x596;
6221     fiat_id_GostR3410_2001_TestParamSet_uint1 x597;
6222     uint32_t x598;
6223     fiat_id_GostR3410_2001_TestParamSet_uint1 x599;
6224     uint32_t x600;
6225     uint32_t x601;
6226     uint32_t x602;
6227     uint32_t x603;
6228     uint32_t x604;
6229     uint32_t x605;
6230     uint32_t x606;
6231     uint32_t x607;
6232     x1 = (arg1[1]);
6233     x2 = (arg1[2]);
6234     x3 = (arg1[3]);
6235     x4 = (arg1[4]);
6236     x5 = (arg1[5]);
6237     x6 = (arg1[6]);
6238     x7 = (arg1[7]);
6239     x8 = (arg1[0]);
6240     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x9, &x10, x8, (arg1[7]));
6241     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x11, &x12, x8, (arg1[6]));
6242     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x13, &x14, x8, (arg1[5]));
6243     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x15, &x16, x8, (arg1[4]));
6244     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x17, &x18, x8, (arg1[3]));
6245     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x19, &x20, x8, (arg1[2]));
6246     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x21, &x22, x8, (arg1[1]));
6247     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x23, &x24, x8, (arg1[0]));
6248     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x25, &x26, 0x0, x24,
6249                                                       x21);
6250     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x27, &x28, x26, x22,
6251                                                       x19);
6252     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x29, &x30, x28, x20,
6253                                                       x17);
6254     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x31, &x32, x30, x18,
6255                                                       x15);
6256     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x33, &x34, x32, x16,
6257                                                       x13);
6258     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x35, &x36, x34, x14,
6259                                                       x11);
6260     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x37, &x38, x36, x12, x9);
6261     x39 = (x38 + x10);
6262     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x40, &x41, x23,
6263                                                  UINT32_C(0x883b2b2f));
6264     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x42, &x43, x40,
6265                                                  UINT32_C(0x80000000));
6266     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x44, &x45, x40,
6267                                                  UINT16_C(0x431));
6268     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x46, &x47, 0x0, x23,
6269                                                       x44);
6270     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x48, &x49, x47, x25,
6271                                                       x45);
6272     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x50, &x51, x49, x27,
6273                                                       0x0);
6274     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x52, &x53, x51, x29,
6275                                                       0x0);
6276     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x54, &x55, x53, x31,
6277                                                       0x0);
6278     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x56, &x57, x55, x33,
6279                                                       0x0);
6280     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x58, &x59, x57, x35,
6281                                                       0x0);
6282     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x60, &x61, x59, x37,
6283                                                       x42);
6284     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x62, &x63, x61, x39,
6285                                                       x43);
6286     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x64, &x65, x1, (arg1[7]));
6287     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x66, &x67, x1, (arg1[6]));
6288     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x68, &x69, x1, (arg1[5]));
6289     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x70, &x71, x1, (arg1[4]));
6290     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x72, &x73, x1, (arg1[3]));
6291     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x74, &x75, x1, (arg1[2]));
6292     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x76, &x77, x1, (arg1[1]));
6293     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x78, &x79, x1, (arg1[0]));
6294     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x80, &x81, 0x0, x79,
6295                                                       x76);
6296     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x82, &x83, x81, x77,
6297                                                       x74);
6298     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x84, &x85, x83, x75,
6299                                                       x72);
6300     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x86, &x87, x85, x73,
6301                                                       x70);
6302     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x88, &x89, x87, x71,
6303                                                       x68);
6304     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x90, &x91, x89, x69,
6305                                                       x66);
6306     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x92, &x93, x91, x67,
6307                                                       x64);
6308     x94 = (x93 + x65);
6309     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x95, &x96, 0x0, x48,
6310                                                       x78);
6311     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x97, &x98, x96, x50,
6312                                                       x80);
6313     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x99, &x100, x98, x52,
6314                                                       x82);
6315     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x101, &x102, x100, x54,
6316                                                       x84);
6317     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x103, &x104, x102, x56,
6318                                                       x86);
6319     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x105, &x106, x104, x58,
6320                                                       x88);
6321     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x107, &x108, x106, x60,
6322                                                       x90);
6323     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x109, &x110, x108, x62,
6324                                                       x92);
6325     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x111, &x112, x110, x63,
6326                                                       x94);
6327     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x113, &x114, x95,
6328                                                  UINT32_C(0x883b2b2f));
6329     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x115, &x116, x113,
6330                                                  UINT32_C(0x80000000));
6331     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x117, &x118, x113,
6332                                                  UINT16_C(0x431));
6333     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x119, &x120, 0x0, x95,
6334                                                       x117);
6335     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x121, &x122, x120, x97,
6336                                                       x118);
6337     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x123, &x124, x122, x99,
6338                                                       0x0);
6339     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x125, &x126, x124, x101,
6340                                                       0x0);
6341     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x127, &x128, x126, x103,
6342                                                       0x0);
6343     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x129, &x130, x128, x105,
6344                                                       0x0);
6345     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x131, &x132, x130, x107,
6346                                                       0x0);
6347     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x133, &x134, x132, x109,
6348                                                       x115);
6349     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x135, &x136, x134, x111,
6350                                                       x116);
6351     x137 = ((uint32_t)x136 + x112);
6352     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x138, &x139, x2, (arg1[7]));
6353     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x140, &x141, x2, (arg1[6]));
6354     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x142, &x143, x2, (arg1[5]));
6355     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x144, &x145, x2, (arg1[4]));
6356     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x146, &x147, x2, (arg1[3]));
6357     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x148, &x149, x2, (arg1[2]));
6358     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x150, &x151, x2, (arg1[1]));
6359     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x152, &x153, x2, (arg1[0]));
6360     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x154, &x155, 0x0, x153,
6361                                                       x150);
6362     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x156, &x157, x155, x151,
6363                                                       x148);
6364     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x158, &x159, x157, x149,
6365                                                       x146);
6366     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x160, &x161, x159, x147,
6367                                                       x144);
6368     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x162, &x163, x161, x145,
6369                                                       x142);
6370     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x164, &x165, x163, x143,
6371                                                       x140);
6372     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x166, &x167, x165, x141,
6373                                                       x138);
6374     x168 = (x167 + x139);
6375     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x169, &x170, 0x0, x121,
6376                                                       x152);
6377     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x171, &x172, x170, x123,
6378                                                       x154);
6379     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x173, &x174, x172, x125,
6380                                                       x156);
6381     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x175, &x176, x174, x127,
6382                                                       x158);
6383     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x177, &x178, x176, x129,
6384                                                       x160);
6385     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x179, &x180, x178, x131,
6386                                                       x162);
6387     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x181, &x182, x180, x133,
6388                                                       x164);
6389     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x183, &x184, x182, x135,
6390                                                       x166);
6391     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x185, &x186, x184, x137,
6392                                                       x168);
6393     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x187, &x188, x169,
6394                                                  UINT32_C(0x883b2b2f));
6395     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x189, &x190, x187,
6396                                                  UINT32_C(0x80000000));
6397     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x191, &x192, x187,
6398                                                  UINT16_C(0x431));
6399     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x193, &x194, 0x0, x169,
6400                                                       x191);
6401     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x195, &x196, x194, x171,
6402                                                       x192);
6403     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x197, &x198, x196, x173,
6404                                                       0x0);
6405     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x199, &x200, x198, x175,
6406                                                       0x0);
6407     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x201, &x202, x200, x177,
6408                                                       0x0);
6409     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x203, &x204, x202, x179,
6410                                                       0x0);
6411     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x205, &x206, x204, x181,
6412                                                       0x0);
6413     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x207, &x208, x206, x183,
6414                                                       x189);
6415     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x209, &x210, x208, x185,
6416                                                       x190);
6417     x211 = ((uint32_t)x210 + x186);
6418     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x212, &x213, x3, (arg1[7]));
6419     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x214, &x215, x3, (arg1[6]));
6420     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x216, &x217, x3, (arg1[5]));
6421     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x218, &x219, x3, (arg1[4]));
6422     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x220, &x221, x3, (arg1[3]));
6423     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x222, &x223, x3, (arg1[2]));
6424     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x224, &x225, x3, (arg1[1]));
6425     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x226, &x227, x3, (arg1[0]));
6426     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x228, &x229, 0x0, x227,
6427                                                       x224);
6428     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x230, &x231, x229, x225,
6429                                                       x222);
6430     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x232, &x233, x231, x223,
6431                                                       x220);
6432     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x234, &x235, x233, x221,
6433                                                       x218);
6434     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x236, &x237, x235, x219,
6435                                                       x216);
6436     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x238, &x239, x237, x217,
6437                                                       x214);
6438     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x240, &x241, x239, x215,
6439                                                       x212);
6440     x242 = (x241 + x213);
6441     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x243, &x244, 0x0, x195,
6442                                                       x226);
6443     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x245, &x246, x244, x197,
6444                                                       x228);
6445     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x247, &x248, x246, x199,
6446                                                       x230);
6447     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x249, &x250, x248, x201,
6448                                                       x232);
6449     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x251, &x252, x250, x203,
6450                                                       x234);
6451     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x253, &x254, x252, x205,
6452                                                       x236);
6453     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x255, &x256, x254, x207,
6454                                                       x238);
6455     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x257, &x258, x256, x209,
6456                                                       x240);
6457     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x259, &x260, x258, x211,
6458                                                       x242);
6459     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x261, &x262, x243,
6460                                                  UINT32_C(0x883b2b2f));
6461     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x263, &x264, x261,
6462                                                  UINT32_C(0x80000000));
6463     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x265, &x266, x261,
6464                                                  UINT16_C(0x431));
6465     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x267, &x268, 0x0, x243,
6466                                                       x265);
6467     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x269, &x270, x268, x245,
6468                                                       x266);
6469     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x271, &x272, x270, x247,
6470                                                       0x0);
6471     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x273, &x274, x272, x249,
6472                                                       0x0);
6473     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x275, &x276, x274, x251,
6474                                                       0x0);
6475     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x277, &x278, x276, x253,
6476                                                       0x0);
6477     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x279, &x280, x278, x255,
6478                                                       0x0);
6479     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x281, &x282, x280, x257,
6480                                                       x263);
6481     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x283, &x284, x282, x259,
6482                                                       x264);
6483     x285 = ((uint32_t)x284 + x260);
6484     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x286, &x287, x4, (arg1[7]));
6485     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x288, &x289, x4, (arg1[6]));
6486     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x290, &x291, x4, (arg1[5]));
6487     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x292, &x293, x4, (arg1[4]));
6488     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x294, &x295, x4, (arg1[3]));
6489     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x296, &x297, x4, (arg1[2]));
6490     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x298, &x299, x4, (arg1[1]));
6491     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x300, &x301, x4, (arg1[0]));
6492     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x302, &x303, 0x0, x301,
6493                                                       x298);
6494     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x304, &x305, x303, x299,
6495                                                       x296);
6496     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x306, &x307, x305, x297,
6497                                                       x294);
6498     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x308, &x309, x307, x295,
6499                                                       x292);
6500     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x310, &x311, x309, x293,
6501                                                       x290);
6502     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x312, &x313, x311, x291,
6503                                                       x288);
6504     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x314, &x315, x313, x289,
6505                                                       x286);
6506     x316 = (x315 + x287);
6507     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x317, &x318, 0x0, x269,
6508                                                       x300);
6509     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x319, &x320, x318, x271,
6510                                                       x302);
6511     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x321, &x322, x320, x273,
6512                                                       x304);
6513     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x323, &x324, x322, x275,
6514                                                       x306);
6515     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x325, &x326, x324, x277,
6516                                                       x308);
6517     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x327, &x328, x326, x279,
6518                                                       x310);
6519     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x329, &x330, x328, x281,
6520                                                       x312);
6521     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x331, &x332, x330, x283,
6522                                                       x314);
6523     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x333, &x334, x332, x285,
6524                                                       x316);
6525     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x335, &x336, x317,
6526                                                  UINT32_C(0x883b2b2f));
6527     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x337, &x338, x335,
6528                                                  UINT32_C(0x80000000));
6529     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x339, &x340, x335,
6530                                                  UINT16_C(0x431));
6531     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x341, &x342, 0x0, x317,
6532                                                       x339);
6533     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x343, &x344, x342, x319,
6534                                                       x340);
6535     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x345, &x346, x344, x321,
6536                                                       0x0);
6537     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x347, &x348, x346, x323,
6538                                                       0x0);
6539     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x349, &x350, x348, x325,
6540                                                       0x0);
6541     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x351, &x352, x350, x327,
6542                                                       0x0);
6543     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x353, &x354, x352, x329,
6544                                                       0x0);
6545     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x355, &x356, x354, x331,
6546                                                       x337);
6547     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x357, &x358, x356, x333,
6548                                                       x338);
6549     x359 = ((uint32_t)x358 + x334);
6550     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x360, &x361, x5, (arg1[7]));
6551     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x362, &x363, x5, (arg1[6]));
6552     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x364, &x365, x5, (arg1[5]));
6553     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x366, &x367, x5, (arg1[4]));
6554     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x368, &x369, x5, (arg1[3]));
6555     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x370, &x371, x5, (arg1[2]));
6556     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x372, &x373, x5, (arg1[1]));
6557     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x374, &x375, x5, (arg1[0]));
6558     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x376, &x377, 0x0, x375,
6559                                                       x372);
6560     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x378, &x379, x377, x373,
6561                                                       x370);
6562     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x380, &x381, x379, x371,
6563                                                       x368);
6564     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x382, &x383, x381, x369,
6565                                                       x366);
6566     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x384, &x385, x383, x367,
6567                                                       x364);
6568     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x386, &x387, x385, x365,
6569                                                       x362);
6570     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x388, &x389, x387, x363,
6571                                                       x360);
6572     x390 = (x389 + x361);
6573     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x391, &x392, 0x0, x343,
6574                                                       x374);
6575     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x393, &x394, x392, x345,
6576                                                       x376);
6577     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x395, &x396, x394, x347,
6578                                                       x378);
6579     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x397, &x398, x396, x349,
6580                                                       x380);
6581     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x399, &x400, x398, x351,
6582                                                       x382);
6583     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x401, &x402, x400, x353,
6584                                                       x384);
6585     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x403, &x404, x402, x355,
6586                                                       x386);
6587     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x405, &x406, x404, x357,
6588                                                       x388);
6589     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x407, &x408, x406, x359,
6590                                                       x390);
6591     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x409, &x410, x391,
6592                                                  UINT32_C(0x883b2b2f));
6593     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x411, &x412, x409,
6594                                                  UINT32_C(0x80000000));
6595     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x413, &x414, x409,
6596                                                  UINT16_C(0x431));
6597     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x415, &x416, 0x0, x391,
6598                                                       x413);
6599     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x417, &x418, x416, x393,
6600                                                       x414);
6601     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x419, &x420, x418, x395,
6602                                                       0x0);
6603     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x421, &x422, x420, x397,
6604                                                       0x0);
6605     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x423, &x424, x422, x399,
6606                                                       0x0);
6607     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x425, &x426, x424, x401,
6608                                                       0x0);
6609     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x427, &x428, x426, x403,
6610                                                       0x0);
6611     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x429, &x430, x428, x405,
6612                                                       x411);
6613     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x431, &x432, x430, x407,
6614                                                       x412);
6615     x433 = ((uint32_t)x432 + x408);
6616     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x434, &x435, x6, (arg1[7]));
6617     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x436, &x437, x6, (arg1[6]));
6618     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x438, &x439, x6, (arg1[5]));
6619     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x440, &x441, x6, (arg1[4]));
6620     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x442, &x443, x6, (arg1[3]));
6621     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x444, &x445, x6, (arg1[2]));
6622     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x446, &x447, x6, (arg1[1]));
6623     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x448, &x449, x6, (arg1[0]));
6624     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x450, &x451, 0x0, x449,
6625                                                       x446);
6626     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x452, &x453, x451, x447,
6627                                                       x444);
6628     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x454, &x455, x453, x445,
6629                                                       x442);
6630     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x456, &x457, x455, x443,
6631                                                       x440);
6632     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x458, &x459, x457, x441,
6633                                                       x438);
6634     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x460, &x461, x459, x439,
6635                                                       x436);
6636     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x462, &x463, x461, x437,
6637                                                       x434);
6638     x464 = (x463 + x435);
6639     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x465, &x466, 0x0, x417,
6640                                                       x448);
6641     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x467, &x468, x466, x419,
6642                                                       x450);
6643     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x469, &x470, x468, x421,
6644                                                       x452);
6645     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x471, &x472, x470, x423,
6646                                                       x454);
6647     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x473, &x474, x472, x425,
6648                                                       x456);
6649     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x475, &x476, x474, x427,
6650                                                       x458);
6651     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x477, &x478, x476, x429,
6652                                                       x460);
6653     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x479, &x480, x478, x431,
6654                                                       x462);
6655     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x481, &x482, x480, x433,
6656                                                       x464);
6657     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x483, &x484, x465,
6658                                                  UINT32_C(0x883b2b2f));
6659     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x485, &x486, x483,
6660                                                  UINT32_C(0x80000000));
6661     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x487, &x488, x483,
6662                                                  UINT16_C(0x431));
6663     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x489, &x490, 0x0, x465,
6664                                                       x487);
6665     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x491, &x492, x490, x467,
6666                                                       x488);
6667     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x493, &x494, x492, x469,
6668                                                       0x0);
6669     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x495, &x496, x494, x471,
6670                                                       0x0);
6671     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x497, &x498, x496, x473,
6672                                                       0x0);
6673     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x499, &x500, x498, x475,
6674                                                       0x0);
6675     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x501, &x502, x500, x477,
6676                                                       0x0);
6677     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x503, &x504, x502, x479,
6678                                                       x485);
6679     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x505, &x506, x504, x481,
6680                                                       x486);
6681     x507 = ((uint32_t)x506 + x482);
6682     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x508, &x509, x7, (arg1[7]));
6683     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x510, &x511, x7, (arg1[6]));
6684     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x512, &x513, x7, (arg1[5]));
6685     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x514, &x515, x7, (arg1[4]));
6686     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x516, &x517, x7, (arg1[3]));
6687     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x518, &x519, x7, (arg1[2]));
6688     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x520, &x521, x7, (arg1[1]));
6689     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x522, &x523, x7, (arg1[0]));
6690     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x524, &x525, 0x0, x523,
6691                                                       x520);
6692     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x526, &x527, x525, x521,
6693                                                       x518);
6694     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x528, &x529, x527, x519,
6695                                                       x516);
6696     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x530, &x531, x529, x517,
6697                                                       x514);
6698     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x532, &x533, x531, x515,
6699                                                       x512);
6700     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x534, &x535, x533, x513,
6701                                                       x510);
6702     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x536, &x537, x535, x511,
6703                                                       x508);
6704     x538 = (x537 + x509);
6705     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x539, &x540, 0x0, x491,
6706                                                       x522);
6707     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x541, &x542, x540, x493,
6708                                                       x524);
6709     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x543, &x544, x542, x495,
6710                                                       x526);
6711     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x545, &x546, x544, x497,
6712                                                       x528);
6713     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x547, &x548, x546, x499,
6714                                                       x530);
6715     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x549, &x550, x548, x501,
6716                                                       x532);
6717     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x551, &x552, x550, x503,
6718                                                       x534);
6719     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x553, &x554, x552, x505,
6720                                                       x536);
6721     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x555, &x556, x554, x507,
6722                                                       x538);
6723     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x557, &x558, x539,
6724                                                  UINT32_C(0x883b2b2f));
6725     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x559, &x560, x557,
6726                                                  UINT32_C(0x80000000));
6727     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x561, &x562, x557,
6728                                                  UINT16_C(0x431));
6729     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x563, &x564, 0x0, x539,
6730                                                       x561);
6731     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x565, &x566, x564, x541,
6732                                                       x562);
6733     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x567, &x568, x566, x543,
6734                                                       0x0);
6735     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x569, &x570, x568, x545,
6736                                                       0x0);
6737     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x571, &x572, x570, x547,
6738                                                       0x0);
6739     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x573, &x574, x572, x549,
6740                                                       0x0);
6741     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x575, &x576, x574, x551,
6742                                                       0x0);
6743     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x577, &x578, x576, x553,
6744                                                       x559);
6745     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x579, &x580, x578, x555,
6746                                                       x560);
6747     x581 = ((uint32_t)x580 + x556);
6748     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x582, &x583, 0x0, x565,
6749                                                        UINT16_C(0x431));
6750     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x584, &x585, x583, x567,
6751                                                        0x0);
6752     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x586, &x587, x585, x569,
6753                                                        0x0);
6754     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x588, &x589, x587, x571,
6755                                                        0x0);
6756     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x590, &x591, x589, x573,
6757                                                        0x0);
6758     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x592, &x593, x591, x575,
6759                                                        0x0);
6760     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x594, &x595, x593, x577,
6761                                                        0x0);
6762     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x596, &x597, x595, x579,
6763                                                        UINT32_C(0x80000000));
6764     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x598, &x599, x597, x581,
6765                                                        0x0);
6766     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x600, x599, x582, x565);
6767     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x601, x599, x584, x567);
6768     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x602, x599, x586, x569);
6769     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x603, x599, x588, x571);
6770     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x604, x599, x590, x573);
6771     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x605, x599, x592, x575);
6772     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x606, x599, x594, x577);
6773     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x607, x599, x596, x579);
6774     out1[0] = x600;
6775     out1[1] = x601;
6776     out1[2] = x602;
6777     out1[3] = x603;
6778     out1[4] = x604;
6779     out1[5] = x605;
6780     out1[6] = x606;
6781     out1[7] = x607;
6782 }
6783
6784 /*
6785  * The function fiat_id_GostR3410_2001_TestParamSet_add adds two field elements in the Montgomery domain.
6786  * Preconditions:
6787  *   0 ≤ eval arg1 < m
6788  *   0 ≤ eval arg2 < m
6789  * Postconditions:
6790  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) + eval (from_montgomery arg2)) mod m
6791  *   0 ≤ eval out1 < m
6792  *
6793  * Input Bounds:
6794  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
6795  *   arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
6796  * Output Bounds:
6797  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
6798  */
6799 static void fiat_id_GostR3410_2001_TestParamSet_add(uint32_t out1[8],
6800                                                     const uint32_t arg1[8],
6801                                                     const uint32_t arg2[8]) {
6802     uint32_t x1;
6803     fiat_id_GostR3410_2001_TestParamSet_uint1 x2;
6804     uint32_t x3;
6805     fiat_id_GostR3410_2001_TestParamSet_uint1 x4;
6806     uint32_t x5;
6807     fiat_id_GostR3410_2001_TestParamSet_uint1 x6;
6808     uint32_t x7;
6809     fiat_id_GostR3410_2001_TestParamSet_uint1 x8;
6810     uint32_t x9;
6811     fiat_id_GostR3410_2001_TestParamSet_uint1 x10;
6812     uint32_t x11;
6813     fiat_id_GostR3410_2001_TestParamSet_uint1 x12;
6814     uint32_t x13;
6815     fiat_id_GostR3410_2001_TestParamSet_uint1 x14;
6816     uint32_t x15;
6817     fiat_id_GostR3410_2001_TestParamSet_uint1 x16;
6818     uint32_t x17;
6819     fiat_id_GostR3410_2001_TestParamSet_uint1 x18;
6820     uint32_t x19;
6821     fiat_id_GostR3410_2001_TestParamSet_uint1 x20;
6822     uint32_t x21;
6823     fiat_id_GostR3410_2001_TestParamSet_uint1 x22;
6824     uint32_t x23;
6825     fiat_id_GostR3410_2001_TestParamSet_uint1 x24;
6826     uint32_t x25;
6827     fiat_id_GostR3410_2001_TestParamSet_uint1 x26;
6828     uint32_t x27;
6829     fiat_id_GostR3410_2001_TestParamSet_uint1 x28;
6830     uint32_t x29;
6831     fiat_id_GostR3410_2001_TestParamSet_uint1 x30;
6832     uint32_t x31;
6833     fiat_id_GostR3410_2001_TestParamSet_uint1 x32;
6834     uint32_t x33;
6835     fiat_id_GostR3410_2001_TestParamSet_uint1 x34;
6836     uint32_t x35;
6837     uint32_t x36;
6838     uint32_t x37;
6839     uint32_t x38;
6840     uint32_t x39;
6841     uint32_t x40;
6842     uint32_t x41;
6843     uint32_t x42;
6844     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x1, &x2, 0x0, (arg1[0]),
6845                                                       (arg2[0]));
6846     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x3, &x4, x2, (arg1[1]),
6847                                                       (arg2[1]));
6848     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x5, &x6, x4, (arg1[2]),
6849                                                       (arg2[2]));
6850     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x7, &x8, x6, (arg1[3]),
6851                                                       (arg2[3]));
6852     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x9, &x10, x8, (arg1[4]),
6853                                                       (arg2[4]));
6854     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x11, &x12, x10,
6855                                                       (arg1[5]), (arg2[5]));
6856     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x13, &x14, x12,
6857                                                       (arg1[6]), (arg2[6]));
6858     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x15, &x16, x14,
6859                                                       (arg1[7]), (arg2[7]));
6860     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x17, &x18, 0x0, x1,
6861                                                        UINT16_C(0x431));
6862     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x19, &x20, x18, x3,
6863                                                        0x0);
6864     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x21, &x22, x20, x5,
6865                                                        0x0);
6866     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x23, &x24, x22, x7,
6867                                                        0x0);
6868     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x25, &x26, x24, x9,
6869                                                        0x0);
6870     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x27, &x28, x26, x11,
6871                                                        0x0);
6872     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x29, &x30, x28, x13,
6873                                                        0x0);
6874     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x31, &x32, x30, x15,
6875                                                        UINT32_C(0x80000000));
6876     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x33, &x34, x32, x16,
6877                                                        0x0);
6878     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x35, x34, x17, x1);
6879     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x36, x34, x19, x3);
6880     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x37, x34, x21, x5);
6881     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x38, x34, x23, x7);
6882     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x39, x34, x25, x9);
6883     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x40, x34, x27, x11);
6884     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x41, x34, x29, x13);
6885     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x42, x34, x31, x15);
6886     out1[0] = x35;
6887     out1[1] = x36;
6888     out1[2] = x37;
6889     out1[3] = x38;
6890     out1[4] = x39;
6891     out1[5] = x40;
6892     out1[6] = x41;
6893     out1[7] = x42;
6894 }
6895
6896 /*
6897  * The function fiat_id_GostR3410_2001_TestParamSet_sub subtracts two field elements in the Montgomery domain.
6898  * Preconditions:
6899  *   0 ≤ eval arg1 < m
6900  *   0 ≤ eval arg2 < m
6901  * Postconditions:
6902  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) - eval (from_montgomery arg2)) mod m
6903  *   0 ≤ eval out1 < m
6904  *
6905  * Input Bounds:
6906  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
6907  *   arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
6908  * Output Bounds:
6909  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
6910  */
6911 static void fiat_id_GostR3410_2001_TestParamSet_sub(uint32_t out1[8],
6912                                                     const uint32_t arg1[8],
6913                                                     const uint32_t arg2[8]) {
6914     uint32_t x1;
6915     fiat_id_GostR3410_2001_TestParamSet_uint1 x2;
6916     uint32_t x3;
6917     fiat_id_GostR3410_2001_TestParamSet_uint1 x4;
6918     uint32_t x5;
6919     fiat_id_GostR3410_2001_TestParamSet_uint1 x6;
6920     uint32_t x7;
6921     fiat_id_GostR3410_2001_TestParamSet_uint1 x8;
6922     uint32_t x9;
6923     fiat_id_GostR3410_2001_TestParamSet_uint1 x10;
6924     uint32_t x11;
6925     fiat_id_GostR3410_2001_TestParamSet_uint1 x12;
6926     uint32_t x13;
6927     fiat_id_GostR3410_2001_TestParamSet_uint1 x14;
6928     uint32_t x15;
6929     fiat_id_GostR3410_2001_TestParamSet_uint1 x16;
6930     uint32_t x17;
6931     uint32_t x18;
6932     fiat_id_GostR3410_2001_TestParamSet_uint1 x19;
6933     uint32_t x20;
6934     fiat_id_GostR3410_2001_TestParamSet_uint1 x21;
6935     uint32_t x22;
6936     fiat_id_GostR3410_2001_TestParamSet_uint1 x23;
6937     uint32_t x24;
6938     fiat_id_GostR3410_2001_TestParamSet_uint1 x25;
6939     uint32_t x26;
6940     fiat_id_GostR3410_2001_TestParamSet_uint1 x27;
6941     uint32_t x28;
6942     fiat_id_GostR3410_2001_TestParamSet_uint1 x29;
6943     uint32_t x30;
6944     fiat_id_GostR3410_2001_TestParamSet_uint1 x31;
6945     uint32_t x32;
6946     fiat_id_GostR3410_2001_TestParamSet_uint1 x33;
6947     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x1, &x2, 0x0, (arg1[0]),
6948                                                        (arg2[0]));
6949     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x3, &x4, x2, (arg1[1]),
6950                                                        (arg2[1]));
6951     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x5, &x6, x4, (arg1[2]),
6952                                                        (arg2[2]));
6953     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x7, &x8, x6, (arg1[3]),
6954                                                        (arg2[3]));
6955     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x9, &x10, x8, (arg1[4]),
6956                                                        (arg2[4]));
6957     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x11, &x12, x10,
6958                                                        (arg1[5]), (arg2[5]));
6959     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x13, &x14, x12,
6960                                                        (arg1[6]), (arg2[6]));
6961     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x15, &x16, x14,
6962                                                        (arg1[7]), (arg2[7]));
6963     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x17, x16, 0x0,
6964                                                     UINT32_C(0xffffffff));
6965     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x18, &x19, 0x0, x1,
6966                                                       (x17 & UINT16_C(0x431)));
6967     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x20, &x21, x19, x3, 0x0);
6968     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x22, &x23, x21, x5, 0x0);
6969     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x24, &x25, x23, x7, 0x0);
6970     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x26, &x27, x25, x9, 0x0);
6971     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x28, &x29, x27, x11,
6972                                                       0x0);
6973     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x30, &x31, x29, x13,
6974                                                       0x0);
6975     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
6976         &x32, &x33, x31, x15, (x17 & UINT32_C(0x80000000)));
6977     out1[0] = x18;
6978     out1[1] = x20;
6979     out1[2] = x22;
6980     out1[3] = x24;
6981     out1[4] = x26;
6982     out1[5] = x28;
6983     out1[6] = x30;
6984     out1[7] = x32;
6985 }
6986
6987 /*
6988  * The function fiat_id_GostR3410_2001_TestParamSet_opp negates a field element in the Montgomery domain.
6989  * Preconditions:
6990  *   0 ≤ eval arg1 < m
6991  * Postconditions:
6992  *   eval (from_montgomery out1) mod m = -eval (from_montgomery arg1) mod m
6993  *   0 ≤ eval out1 < m
6994  *
6995  * Input Bounds:
6996  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
6997  * Output Bounds:
6998  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
6999  */
7000 static void fiat_id_GostR3410_2001_TestParamSet_opp(uint32_t out1[8],
7001                                                     const uint32_t arg1[8]) {
7002     uint32_t x1;
7003     fiat_id_GostR3410_2001_TestParamSet_uint1 x2;
7004     uint32_t x3;
7005     fiat_id_GostR3410_2001_TestParamSet_uint1 x4;
7006     uint32_t x5;
7007     fiat_id_GostR3410_2001_TestParamSet_uint1 x6;
7008     uint32_t x7;
7009     fiat_id_GostR3410_2001_TestParamSet_uint1 x8;
7010     uint32_t x9;
7011     fiat_id_GostR3410_2001_TestParamSet_uint1 x10;
7012     uint32_t x11;
7013     fiat_id_GostR3410_2001_TestParamSet_uint1 x12;
7014     uint32_t x13;
7015     fiat_id_GostR3410_2001_TestParamSet_uint1 x14;
7016     uint32_t x15;
7017     fiat_id_GostR3410_2001_TestParamSet_uint1 x16;
7018     uint32_t x17;
7019     uint32_t x18;
7020     fiat_id_GostR3410_2001_TestParamSet_uint1 x19;
7021     uint32_t x20;
7022     fiat_id_GostR3410_2001_TestParamSet_uint1 x21;
7023     uint32_t x22;
7024     fiat_id_GostR3410_2001_TestParamSet_uint1 x23;
7025     uint32_t x24;
7026     fiat_id_GostR3410_2001_TestParamSet_uint1 x25;
7027     uint32_t x26;
7028     fiat_id_GostR3410_2001_TestParamSet_uint1 x27;
7029     uint32_t x28;
7030     fiat_id_GostR3410_2001_TestParamSet_uint1 x29;
7031     uint32_t x30;
7032     fiat_id_GostR3410_2001_TestParamSet_uint1 x31;
7033     uint32_t x32;
7034     fiat_id_GostR3410_2001_TestParamSet_uint1 x33;
7035     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x1, &x2, 0x0, 0x0,
7036                                                        (arg1[0]));
7037     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x3, &x4, x2, 0x0,
7038                                                        (arg1[1]));
7039     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x5, &x6, x4, 0x0,
7040                                                        (arg1[2]));
7041     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x7, &x8, x6, 0x0,
7042                                                        (arg1[3]));
7043     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x9, &x10, x8, 0x0,
7044                                                        (arg1[4]));
7045     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x11, &x12, x10, 0x0,
7046                                                        (arg1[5]));
7047     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x13, &x14, x12, 0x0,
7048                                                        (arg1[6]));
7049     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x15, &x16, x14, 0x0,
7050                                                        (arg1[7]));
7051     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x17, x16, 0x0,
7052                                                     UINT32_C(0xffffffff));
7053     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x18, &x19, 0x0, x1,
7054                                                       (x17 & UINT16_C(0x431)));
7055     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x20, &x21, x19, x3, 0x0);
7056     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x22, &x23, x21, x5, 0x0);
7057     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x24, &x25, x23, x7, 0x0);
7058     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x26, &x27, x25, x9, 0x0);
7059     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x28, &x29, x27, x11,
7060                                                       0x0);
7061     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x30, &x31, x29, x13,
7062                                                       0x0);
7063     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7064         &x32, &x33, x31, x15, (x17 & UINT32_C(0x80000000)));
7065     out1[0] = x18;
7066     out1[1] = x20;
7067     out1[2] = x22;
7068     out1[3] = x24;
7069     out1[4] = x26;
7070     out1[5] = x28;
7071     out1[6] = x30;
7072     out1[7] = x32;
7073 }
7074
7075 /*
7076  * The function fiat_id_GostR3410_2001_TestParamSet_from_montgomery translates a field element out of the Montgomery domain.
7077  * Preconditions:
7078  *   0 ≤ eval arg1 < m
7079  * Postconditions:
7080  *   eval out1 mod m = (eval arg1 * ((2^32)⁻¹ mod m)^8) mod m
7081  *   0 ≤ eval out1 < m
7082  *
7083  * Input Bounds:
7084  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
7085  * Output Bounds:
7086  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
7087  */
7088 static void fiat_id_GostR3410_2001_TestParamSet_from_montgomery(
7089     uint32_t out1[8], const uint32_t arg1[8]) {
7090     uint32_t x1;
7091     uint32_t x2;
7092     uint32_t x3;
7093     uint32_t x4;
7094     uint32_t x5;
7095     uint32_t x6;
7096     uint32_t x7;
7097     uint32_t x8;
7098     fiat_id_GostR3410_2001_TestParamSet_uint1 x9;
7099     uint32_t x10;
7100     fiat_id_GostR3410_2001_TestParamSet_uint1 x11;
7101     uint32_t x12;
7102     uint32_t x13;
7103     uint32_t x14;
7104     uint32_t x15;
7105     uint32_t x16;
7106     uint32_t x17;
7107     uint32_t x18;
7108     fiat_id_GostR3410_2001_TestParamSet_uint1 x19;
7109     uint32_t x20;
7110     fiat_id_GostR3410_2001_TestParamSet_uint1 x21;
7111     uint32_t x22;
7112     fiat_id_GostR3410_2001_TestParamSet_uint1 x23;
7113     uint32_t x24;
7114     uint32_t x25;
7115     uint32_t x26;
7116     uint32_t x27;
7117     uint32_t x28;
7118     uint32_t x29;
7119     uint32_t x30;
7120     fiat_id_GostR3410_2001_TestParamSet_uint1 x31;
7121     uint32_t x32;
7122     fiat_id_GostR3410_2001_TestParamSet_uint1 x33;
7123     uint32_t x34;
7124     fiat_id_GostR3410_2001_TestParamSet_uint1 x35;
7125     uint32_t x36;
7126     uint32_t x37;
7127     uint32_t x38;
7128     uint32_t x39;
7129     uint32_t x40;
7130     uint32_t x41;
7131     uint32_t x42;
7132     fiat_id_GostR3410_2001_TestParamSet_uint1 x43;
7133     uint32_t x44;
7134     fiat_id_GostR3410_2001_TestParamSet_uint1 x45;
7135     uint32_t x46;
7136     fiat_id_GostR3410_2001_TestParamSet_uint1 x47;
7137     uint32_t x48;
7138     uint32_t x49;
7139     uint32_t x50;
7140     uint32_t x51;
7141     uint32_t x52;
7142     uint32_t x53;
7143     uint32_t x54;
7144     fiat_id_GostR3410_2001_TestParamSet_uint1 x55;
7145     uint32_t x56;
7146     fiat_id_GostR3410_2001_TestParamSet_uint1 x57;
7147     uint32_t x58;
7148     fiat_id_GostR3410_2001_TestParamSet_uint1 x59;
7149     uint32_t x60;
7150     uint32_t x61;
7151     uint32_t x62;
7152     uint32_t x63;
7153     uint32_t x64;
7154     uint32_t x65;
7155     uint32_t x66;
7156     fiat_id_GostR3410_2001_TestParamSet_uint1 x67;
7157     uint32_t x68;
7158     fiat_id_GostR3410_2001_TestParamSet_uint1 x69;
7159     uint32_t x70;
7160     fiat_id_GostR3410_2001_TestParamSet_uint1 x71;
7161     uint32_t x72;
7162     fiat_id_GostR3410_2001_TestParamSet_uint1 x73;
7163     uint32_t x74;
7164     fiat_id_GostR3410_2001_TestParamSet_uint1 x75;
7165     uint32_t x76;
7166     fiat_id_GostR3410_2001_TestParamSet_uint1 x77;
7167     uint32_t x78;
7168     fiat_id_GostR3410_2001_TestParamSet_uint1 x79;
7169     uint32_t x80;
7170     fiat_id_GostR3410_2001_TestParamSet_uint1 x81;
7171     uint32_t x82;
7172     fiat_id_GostR3410_2001_TestParamSet_uint1 x83;
7173     uint32_t x84;
7174     uint32_t x85;
7175     uint32_t x86;
7176     uint32_t x87;
7177     uint32_t x88;
7178     uint32_t x89;
7179     uint32_t x90;
7180     fiat_id_GostR3410_2001_TestParamSet_uint1 x91;
7181     uint32_t x92;
7182     fiat_id_GostR3410_2001_TestParamSet_uint1 x93;
7183     uint32_t x94;
7184     fiat_id_GostR3410_2001_TestParamSet_uint1 x95;
7185     uint32_t x96;
7186     fiat_id_GostR3410_2001_TestParamSet_uint1 x97;
7187     uint32_t x98;
7188     fiat_id_GostR3410_2001_TestParamSet_uint1 x99;
7189     uint32_t x100;
7190     fiat_id_GostR3410_2001_TestParamSet_uint1 x101;
7191     uint32_t x102;
7192     fiat_id_GostR3410_2001_TestParamSet_uint1 x103;
7193     uint32_t x104;
7194     fiat_id_GostR3410_2001_TestParamSet_uint1 x105;
7195     uint32_t x106;
7196     fiat_id_GostR3410_2001_TestParamSet_uint1 x107;
7197     uint32_t x108;
7198     fiat_id_GostR3410_2001_TestParamSet_uint1 x109;
7199     uint32_t x110;
7200     fiat_id_GostR3410_2001_TestParamSet_uint1 x111;
7201     uint32_t x112;
7202     fiat_id_GostR3410_2001_TestParamSet_uint1 x113;
7203     uint32_t x114;
7204     fiat_id_GostR3410_2001_TestParamSet_uint1 x115;
7205     uint32_t x116;
7206     fiat_id_GostR3410_2001_TestParamSet_uint1 x117;
7207     uint32_t x118;
7208     fiat_id_GostR3410_2001_TestParamSet_uint1 x119;
7209     uint32_t x120;
7210     uint32_t x121;
7211     uint32_t x122;
7212     uint32_t x123;
7213     uint32_t x124;
7214     uint32_t x125;
7215     uint32_t x126;
7216     fiat_id_GostR3410_2001_TestParamSet_uint1 x127;
7217     uint32_t x128;
7218     fiat_id_GostR3410_2001_TestParamSet_uint1 x129;
7219     uint32_t x130;
7220     fiat_id_GostR3410_2001_TestParamSet_uint1 x131;
7221     uint32_t x132;
7222     fiat_id_GostR3410_2001_TestParamSet_uint1 x133;
7223     uint32_t x134;
7224     fiat_id_GostR3410_2001_TestParamSet_uint1 x135;
7225     uint32_t x136;
7226     fiat_id_GostR3410_2001_TestParamSet_uint1 x137;
7227     uint32_t x138;
7228     fiat_id_GostR3410_2001_TestParamSet_uint1 x139;
7229     uint32_t x140;
7230     fiat_id_GostR3410_2001_TestParamSet_uint1 x141;
7231     uint32_t x142;
7232     uint32_t x143;
7233     fiat_id_GostR3410_2001_TestParamSet_uint1 x144;
7234     uint32_t x145;
7235     fiat_id_GostR3410_2001_TestParamSet_uint1 x146;
7236     uint32_t x147;
7237     fiat_id_GostR3410_2001_TestParamSet_uint1 x148;
7238     uint32_t x149;
7239     fiat_id_GostR3410_2001_TestParamSet_uint1 x150;
7240     uint32_t x151;
7241     fiat_id_GostR3410_2001_TestParamSet_uint1 x152;
7242     uint32_t x153;
7243     fiat_id_GostR3410_2001_TestParamSet_uint1 x154;
7244     uint32_t x155;
7245     fiat_id_GostR3410_2001_TestParamSet_uint1 x156;
7246     uint32_t x157;
7247     fiat_id_GostR3410_2001_TestParamSet_uint1 x158;
7248     uint32_t x159;
7249     fiat_id_GostR3410_2001_TestParamSet_uint1 x160;
7250     uint32_t x161;
7251     uint32_t x162;
7252     uint32_t x163;
7253     uint32_t x164;
7254     uint32_t x165;
7255     uint32_t x166;
7256     uint32_t x167;
7257     uint32_t x168;
7258     x1 = (arg1[0]);
7259     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x2, &x3, x1,
7260                                                  UINT32_C(0x883b2b2f));
7261     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x4, &x5, x2,
7262                                                  UINT32_C(0x80000000));
7263     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x6, &x7, x2, UINT16_C(0x431));
7264     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x8, &x9, 0x0, x1, x6);
7265     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x10, &x11, 0x0,
7266                                                       (x9 + x7), (arg1[1]));
7267     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x12, &x13, x10,
7268                                                  UINT32_C(0x883b2b2f));
7269     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x14, &x15, x12,
7270                                                  UINT32_C(0x80000000));
7271     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x16, &x17, x12,
7272                                                  UINT16_C(0x431));
7273     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x18, &x19, 0x0, x5, x14);
7274     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x20, &x21, 0x0, x10,
7275                                                       x16);
7276     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7277         &x22, &x23, 0x0, (((uint32_t)x21 + x11) + x17), (arg1[2]));
7278     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x24, &x25, x22,
7279                                                  UINT32_C(0x883b2b2f));
7280     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x26, &x27, x24,
7281                                                  UINT32_C(0x80000000));
7282     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x28, &x29, x24,
7283                                                  UINT16_C(0x431));
7284     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x30, &x31, 0x0,
7285                                                       (x19 + x15), x26);
7286     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x32, &x33, 0x0, x22,
7287                                                       x28);
7288     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7289         &x34, &x35, 0x0, (((uint32_t)x33 + x23) + x29), (arg1[3]));
7290     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x36, &x37, x34,
7291                                                  UINT32_C(0x883b2b2f));
7292     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x38, &x39, x36,
7293                                                  UINT32_C(0x80000000));
7294     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x40, &x41, x36,
7295                                                  UINT16_C(0x431));
7296     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x42, &x43, 0x0,
7297                                                       (x31 + x27), x38);
7298     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x44, &x45, 0x0, x34,
7299                                                       x40);
7300     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7301         &x46, &x47, 0x0, (((uint32_t)x45 + x35) + x41), (arg1[4]));
7302     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x48, &x49, x46,
7303                                                  UINT32_C(0x883b2b2f));
7304     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x50, &x51, x48,
7305                                                  UINT32_C(0x80000000));
7306     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x52, &x53, x48,
7307                                                  UINT16_C(0x431));
7308     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x54, &x55, 0x0,
7309                                                       (x43 + x39), x50);
7310     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x56, &x57, 0x0, x46,
7311                                                       x52);
7312     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7313         &x58, &x59, 0x0, (((uint32_t)x57 + x47) + x53), (arg1[5]));
7314     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x60, &x61, x58,
7315                                                  UINT32_C(0x883b2b2f));
7316     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x62, &x63, x60,
7317                                                  UINT32_C(0x80000000));
7318     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x64, &x65, x60,
7319                                                  UINT16_C(0x431));
7320     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x66, &x67, 0x0,
7321                                                       (x55 + x51), x62);
7322     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x68, &x69, 0x0, x58,
7323                                                       x64);
7324     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7325         &x70, &x71, 0x0, (((uint32_t)x69 + x59) + x65), (arg1[6]));
7326     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x72, &x73, x71, x4, 0x0);
7327     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x74, &x75, x73, x18,
7328                                                       0x0);
7329     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x76, &x77, x75, x30,
7330                                                       0x0);
7331     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x78, &x79, x77, x42,
7332                                                       0x0);
7333     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x80, &x81, x79, x54,
7334                                                       0x0);
7335     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x82, &x83, x81, x66,
7336                                                       0x0);
7337     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x84, &x85, x70,
7338                                                  UINT32_C(0x883b2b2f));
7339     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x86, &x87, x84,
7340                                                  UINT32_C(0x80000000));
7341     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x88, &x89, x84,
7342                                                  UINT16_C(0x431));
7343     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x90, &x91, 0x0, x70,
7344                                                       x88);
7345     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x92, &x93, x91, x72,
7346                                                       x89);
7347     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x94, &x95, x93, x74,
7348                                                       0x0);
7349     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x96, &x97, x95, x76,
7350                                                       0x0);
7351     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x98, &x99, x97, x78,
7352                                                       0x0);
7353     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x100, &x101, x99, x80,
7354                                                       0x0);
7355     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x102, &x103, x101, x82,
7356                                                       0x0);
7357     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x104, &x105, x103,
7358                                                       (x83 + (x67 + x63)), x86);
7359     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x106, &x107, 0x0, x92,
7360                                                       (arg1[7]));
7361     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x108, &x109, x107, x94,
7362                                                       0x0);
7363     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x110, &x111, x109, x96,
7364                                                       0x0);
7365     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x112, &x113, x111, x98,
7366                                                       0x0);
7367     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x114, &x115, x113, x100,
7368                                                       0x0);
7369     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x116, &x117, x115, x102,
7370                                                       0x0);
7371     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x118, &x119, x117, x104,
7372                                                       0x0);
7373     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x120, &x121, x106,
7374                                                  UINT32_C(0x883b2b2f));
7375     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x122, &x123, x120,
7376                                                  UINT32_C(0x80000000));
7377     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x124, &x125, x120,
7378                                                  UINT16_C(0x431));
7379     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x126, &x127, 0x0, x106,
7380                                                       x124);
7381     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x128, &x129, x127, x108,
7382                                                       x125);
7383     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x130, &x131, x129, x110,
7384                                                       0x0);
7385     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x132, &x133, x131, x112,
7386                                                       0x0);
7387     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x134, &x135, x133, x114,
7388                                                       0x0);
7389     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x136, &x137, x135, x116,
7390                                                       0x0);
7391     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x138, &x139, x137, x118,
7392                                                       0x0);
7393     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7394         &x140, &x141, x139, (x119 + (x105 + x87)), x122);
7395     x142 = (x141 + x123);
7396     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x143, &x144, 0x0, x128,
7397                                                        UINT16_C(0x431));
7398     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x145, &x146, x144, x130,
7399                                                        0x0);
7400     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x147, &x148, x146, x132,
7401                                                        0x0);
7402     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x149, &x150, x148, x134,
7403                                                        0x0);
7404     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x151, &x152, x150, x136,
7405                                                        0x0);
7406     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x153, &x154, x152, x138,
7407                                                        0x0);
7408     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x155, &x156, x154, x140,
7409                                                        0x0);
7410     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x157, &x158, x156, x142,
7411                                                        UINT32_C(0x80000000));
7412     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x159, &x160, x158, 0x0,
7413                                                        0x0);
7414     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x161, x160, x143, x128);
7415     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x162, x160, x145, x130);
7416     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x163, x160, x147, x132);
7417     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x164, x160, x149, x134);
7418     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x165, x160, x151, x136);
7419     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x166, x160, x153, x138);
7420     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x167, x160, x155, x140);
7421     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x168, x160, x157, x142);
7422     out1[0] = x161;
7423     out1[1] = x162;
7424     out1[2] = x163;
7425     out1[3] = x164;
7426     out1[4] = x165;
7427     out1[5] = x166;
7428     out1[6] = x167;
7429     out1[7] = x168;
7430 }
7431
7432 /*
7433  * The function fiat_id_GostR3410_2001_TestParamSet_to_montgomery translates a field element into the Montgomery domain.
7434  * Preconditions:
7435  *   0 ≤ eval arg1 < m
7436  * Postconditions:
7437  *   eval (from_montgomery out1) mod m = eval arg1 mod m
7438  *   0 ≤ eval out1 < m
7439  *
7440  * Input Bounds:
7441  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
7442  * Output Bounds:
7443  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
7444  */
7445 static void fiat_id_GostR3410_2001_TestParamSet_to_montgomery(
7446     uint32_t out1[8], const uint32_t arg1[8]) {
7447     uint32_t x1;
7448     uint32_t x2;
7449     uint32_t x3;
7450     uint32_t x4;
7451     uint32_t x5;
7452     uint32_t x6;
7453     uint32_t x7;
7454     uint32_t x8;
7455     uint32_t x9;
7456     uint32_t x10;
7457     uint32_t x11;
7458     fiat_id_GostR3410_2001_TestParamSet_uint1 x12;
7459     uint32_t x13;
7460     fiat_id_GostR3410_2001_TestParamSet_uint1 x14;
7461     uint32_t x15;
7462     uint32_t x16;
7463     uint32_t x17;
7464     uint32_t x18;
7465     uint32_t x19;
7466     uint32_t x20;
7467     uint32_t x21;
7468     fiat_id_GostR3410_2001_TestParamSet_uint1 x22;
7469     uint32_t x23;
7470     uint32_t x24;
7471     uint32_t x25;
7472     fiat_id_GostR3410_2001_TestParamSet_uint1 x26;
7473     uint32_t x27;
7474     fiat_id_GostR3410_2001_TestParamSet_uint1 x28;
7475     uint32_t x29;
7476     uint32_t x30;
7477     uint32_t x31;
7478     uint32_t x32;
7479     uint32_t x33;
7480     uint32_t x34;
7481     uint32_t x35;
7482     fiat_id_GostR3410_2001_TestParamSet_uint1 x36;
7483     uint32_t x37;
7484     uint32_t x38;
7485     uint32_t x39;
7486     fiat_id_GostR3410_2001_TestParamSet_uint1 x40;
7487     uint32_t x41;
7488     fiat_id_GostR3410_2001_TestParamSet_uint1 x42;
7489     uint32_t x43;
7490     uint32_t x44;
7491     uint32_t x45;
7492     uint32_t x46;
7493     uint32_t x47;
7494     uint32_t x48;
7495     uint32_t x49;
7496     fiat_id_GostR3410_2001_TestParamSet_uint1 x50;
7497     uint32_t x51;
7498     uint32_t x52;
7499     uint32_t x53;
7500     fiat_id_GostR3410_2001_TestParamSet_uint1 x54;
7501     uint32_t x55;
7502     fiat_id_GostR3410_2001_TestParamSet_uint1 x56;
7503     uint32_t x57;
7504     uint32_t x58;
7505     uint32_t x59;
7506     uint32_t x60;
7507     uint32_t x61;
7508     uint32_t x62;
7509     uint32_t x63;
7510     fiat_id_GostR3410_2001_TestParamSet_uint1 x64;
7511     uint32_t x65;
7512     uint32_t x66;
7513     uint32_t x67;
7514     fiat_id_GostR3410_2001_TestParamSet_uint1 x68;
7515     uint32_t x69;
7516     fiat_id_GostR3410_2001_TestParamSet_uint1 x70;
7517     uint32_t x71;
7518     uint32_t x72;
7519     uint32_t x73;
7520     uint32_t x74;
7521     uint32_t x75;
7522     uint32_t x76;
7523     uint32_t x77;
7524     fiat_id_GostR3410_2001_TestParamSet_uint1 x78;
7525     uint32_t x79;
7526     uint32_t x80;
7527     uint32_t x81;
7528     fiat_id_GostR3410_2001_TestParamSet_uint1 x82;
7529     uint32_t x83;
7530     fiat_id_GostR3410_2001_TestParamSet_uint1 x84;
7531     uint32_t x85;
7532     fiat_id_GostR3410_2001_TestParamSet_uint1 x86;
7533     uint32_t x87;
7534     fiat_id_GostR3410_2001_TestParamSet_uint1 x88;
7535     uint32_t x89;
7536     fiat_id_GostR3410_2001_TestParamSet_uint1 x90;
7537     uint32_t x91;
7538     fiat_id_GostR3410_2001_TestParamSet_uint1 x92;
7539     uint32_t x93;
7540     fiat_id_GostR3410_2001_TestParamSet_uint1 x94;
7541     uint32_t x95;
7542     fiat_id_GostR3410_2001_TestParamSet_uint1 x96;
7543     uint32_t x97;
7544     uint32_t x98;
7545     uint32_t x99;
7546     uint32_t x100;
7547     uint32_t x101;
7548     uint32_t x102;
7549     uint32_t x103;
7550     fiat_id_GostR3410_2001_TestParamSet_uint1 x104;
7551     uint32_t x105;
7552     fiat_id_GostR3410_2001_TestParamSet_uint1 x106;
7553     uint32_t x107;
7554     fiat_id_GostR3410_2001_TestParamSet_uint1 x108;
7555     uint32_t x109;
7556     fiat_id_GostR3410_2001_TestParamSet_uint1 x110;
7557     uint32_t x111;
7558     fiat_id_GostR3410_2001_TestParamSet_uint1 x112;
7559     uint32_t x113;
7560     fiat_id_GostR3410_2001_TestParamSet_uint1 x114;
7561     uint32_t x115;
7562     fiat_id_GostR3410_2001_TestParamSet_uint1 x116;
7563     uint32_t x117;
7564     fiat_id_GostR3410_2001_TestParamSet_uint1 x118;
7565     uint32_t x119;
7566     uint32_t x120;
7567     uint32_t x121;
7568     fiat_id_GostR3410_2001_TestParamSet_uint1 x122;
7569     uint32_t x123;
7570     fiat_id_GostR3410_2001_TestParamSet_uint1 x124;
7571     uint32_t x125;
7572     fiat_id_GostR3410_2001_TestParamSet_uint1 x126;
7573     uint32_t x127;
7574     fiat_id_GostR3410_2001_TestParamSet_uint1 x128;
7575     uint32_t x129;
7576     fiat_id_GostR3410_2001_TestParamSet_uint1 x130;
7577     uint32_t x131;
7578     fiat_id_GostR3410_2001_TestParamSet_uint1 x132;
7579     uint32_t x133;
7580     fiat_id_GostR3410_2001_TestParamSet_uint1 x134;
7581     uint32_t x135;
7582     uint32_t x136;
7583     uint32_t x137;
7584     uint32_t x138;
7585     uint32_t x139;
7586     uint32_t x140;
7587     uint32_t x141;
7588     fiat_id_GostR3410_2001_TestParamSet_uint1 x142;
7589     uint32_t x143;
7590     fiat_id_GostR3410_2001_TestParamSet_uint1 x144;
7591     uint32_t x145;
7592     fiat_id_GostR3410_2001_TestParamSet_uint1 x146;
7593     uint32_t x147;
7594     fiat_id_GostR3410_2001_TestParamSet_uint1 x148;
7595     uint32_t x149;
7596     fiat_id_GostR3410_2001_TestParamSet_uint1 x150;
7597     uint32_t x151;
7598     fiat_id_GostR3410_2001_TestParamSet_uint1 x152;
7599     uint32_t x153;
7600     fiat_id_GostR3410_2001_TestParamSet_uint1 x154;
7601     uint32_t x155;
7602     fiat_id_GostR3410_2001_TestParamSet_uint1 x156;
7603     uint32_t x157;
7604     uint32_t x158;
7605     fiat_id_GostR3410_2001_TestParamSet_uint1 x159;
7606     uint32_t x160;
7607     fiat_id_GostR3410_2001_TestParamSet_uint1 x161;
7608     uint32_t x162;
7609     fiat_id_GostR3410_2001_TestParamSet_uint1 x163;
7610     uint32_t x164;
7611     fiat_id_GostR3410_2001_TestParamSet_uint1 x165;
7612     uint32_t x166;
7613     fiat_id_GostR3410_2001_TestParamSet_uint1 x167;
7614     uint32_t x168;
7615     fiat_id_GostR3410_2001_TestParamSet_uint1 x169;
7616     uint32_t x170;
7617     fiat_id_GostR3410_2001_TestParamSet_uint1 x171;
7618     uint32_t x172;
7619     fiat_id_GostR3410_2001_TestParamSet_uint1 x173;
7620     uint32_t x174;
7621     fiat_id_GostR3410_2001_TestParamSet_uint1 x175;
7622     uint32_t x176;
7623     uint32_t x177;
7624     uint32_t x178;
7625     uint32_t x179;
7626     uint32_t x180;
7627     uint32_t x181;
7628     uint32_t x182;
7629     uint32_t x183;
7630     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x1, &x2, (arg1[0]),
7631                                                  UINT32_C(0x464584));
7632     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x3, &x4, x1,
7633                                                  UINT32_C(0x883b2b2f));
7634     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x5, &x6, x3,
7635                                                  UINT32_C(0x80000000));
7636     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x7, &x8, x3, UINT16_C(0x431));
7637     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x9, &x10, (arg1[1]),
7638                                                  UINT32_C(0x464584));
7639     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x11, &x12, 0x0, x1, x7);
7640     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x13, &x14, 0x0,
7641                                                       ((x12 + x2) + x8), x9);
7642     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x15, &x16, x13,
7643                                                  UINT32_C(0x883b2b2f));
7644     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x17, &x18, x15,
7645                                                  UINT32_C(0x80000000));
7646     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x19, &x20, x15,
7647                                                  UINT16_C(0x431));
7648     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x21, &x22, 0x0, x6, x17);
7649     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x23, &x24, (arg1[2]),
7650                                                  UINT32_C(0x464584));
7651     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x25, &x26, 0x0, x13,
7652                                                       x19);
7653     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7654         &x27, &x28, 0x0, ((x26 + (x14 + x10)) + x20), x23);
7655     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x29, &x30, x27,
7656                                                  UINT32_C(0x883b2b2f));
7657     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x31, &x32, x29,
7658                                                  UINT32_C(0x80000000));
7659     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x33, &x34, x29,
7660                                                  UINT16_C(0x431));
7661     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x35, &x36, 0x0,
7662                                                       (x22 + x18), x31);
7663     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x37, &x38, (arg1[3]),
7664                                                  UINT32_C(0x464584));
7665     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x39, &x40, 0x0, x27,
7666                                                       x33);
7667     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7668         &x41, &x42, 0x0, ((x40 + (x28 + x24)) + x34), x37);
7669     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x43, &x44, x41,
7670                                                  UINT32_C(0x883b2b2f));
7671     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x45, &x46, x43,
7672                                                  UINT32_C(0x80000000));
7673     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x47, &x48, x43,
7674                                                  UINT16_C(0x431));
7675     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x49, &x50, 0x0,
7676                                                       (x36 + x32), x45);
7677     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x51, &x52, (arg1[4]),
7678                                                  UINT32_C(0x464584));
7679     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x53, &x54, 0x0, x41,
7680                                                       x47);
7681     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7682         &x55, &x56, 0x0, ((x54 + (x42 + x38)) + x48), x51);
7683     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x57, &x58, x55,
7684                                                  UINT32_C(0x883b2b2f));
7685     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x59, &x60, x57,
7686                                                  UINT32_C(0x80000000));
7687     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x61, &x62, x57,
7688                                                  UINT16_C(0x431));
7689     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x63, &x64, 0x0,
7690                                                       (x50 + x46), x59);
7691     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x65, &x66, (arg1[5]),
7692                                                  UINT32_C(0x464584));
7693     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x67, &x68, 0x0, x55,
7694                                                       x61);
7695     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7696         &x69, &x70, 0x0, ((x68 + (x56 + x52)) + x62), x65);
7697     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x71, &x72, x69,
7698                                                  UINT32_C(0x883b2b2f));
7699     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x73, &x74, x71,
7700                                                  UINT32_C(0x80000000));
7701     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x75, &x76, x71,
7702                                                  UINT16_C(0x431));
7703     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x77, &x78, 0x0,
7704                                                       (x64 + x60), x73);
7705     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x79, &x80, (arg1[6]),
7706                                                  UINT32_C(0x464584));
7707     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x81, &x82, 0x0, x69,
7708                                                       x75);
7709     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7710         &x83, &x84, 0x0, ((x82 + (x70 + x66)) + x76), x79);
7711     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x85, &x86, x84, x5, x80);
7712     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x87, &x88, x86, x21,
7713                                                       0x0);
7714     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x89, &x90, x88, x35,
7715                                                       0x0);
7716     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x91, &x92, x90, x49,
7717                                                       0x0);
7718     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x93, &x94, x92, x63,
7719                                                       0x0);
7720     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x95, &x96, x94, x77,
7721                                                       0x0);
7722     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x97, &x98, x83,
7723                                                  UINT32_C(0x883b2b2f));
7724     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x99, &x100, x97,
7725                                                  UINT32_C(0x80000000));
7726     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x101, &x102, x97,
7727                                                  UINT16_C(0x431));
7728     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x103, &x104, 0x0, x83,
7729                                                       x101);
7730     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x105, &x106, x104, x85,
7731                                                       x102);
7732     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x107, &x108, x106, x87,
7733                                                       0x0);
7734     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x109, &x110, x108, x89,
7735                                                       0x0);
7736     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x111, &x112, x110, x91,
7737                                                       0x0);
7738     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x113, &x114, x112, x93,
7739                                                       0x0);
7740     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x115, &x116, x114, x95,
7741                                                       0x0);
7742     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x117, &x118, x116,
7743                                                       (x96 + (x78 + x74)), x99);
7744     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x119, &x120, (arg1[7]),
7745                                                  UINT32_C(0x464584));
7746     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x121, &x122, 0x0, x105,
7747                                                       x119);
7748     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x123, &x124, x122, x107,
7749                                                       x120);
7750     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x125, &x126, x124, x109,
7751                                                       0x0);
7752     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x127, &x128, x126, x111,
7753                                                       0x0);
7754     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x129, &x130, x128, x113,
7755                                                       0x0);
7756     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x131, &x132, x130, x115,
7757                                                       0x0);
7758     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x133, &x134, x132, x117,
7759                                                       0x0);
7760     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x135, &x136, x121,
7761                                                  UINT32_C(0x883b2b2f));
7762     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x137, &x138, x135,
7763                                                  UINT32_C(0x80000000));
7764     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x139, &x140, x135,
7765                                                  UINT16_C(0x431));
7766     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x141, &x142, 0x0, x121,
7767                                                       x139);
7768     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x143, &x144, x142, x123,
7769                                                       x140);
7770     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x145, &x146, x144, x125,
7771                                                       0x0);
7772     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x147, &x148, x146, x127,
7773                                                       0x0);
7774     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x149, &x150, x148, x129,
7775                                                       0x0);
7776     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x151, &x152, x150, x131,
7777                                                       0x0);
7778     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x153, &x154, x152, x133,
7779                                                       0x0);
7780     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7781         &x155, &x156, x154, (x134 + (x118 + x100)), x137);
7782     x157 = (x156 + x138);
7783     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x158, &x159, 0x0, x143,
7784                                                        UINT16_C(0x431));
7785     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x160, &x161, x159, x145,
7786                                                        0x0);
7787     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x162, &x163, x161, x147,
7788                                                        0x0);
7789     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x164, &x165, x163, x149,
7790                                                        0x0);
7791     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x166, &x167, x165, x151,
7792                                                        0x0);
7793     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x168, &x169, x167, x153,
7794                                                        0x0);
7795     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x170, &x171, x169, x155,
7796                                                        0x0);
7797     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x172, &x173, x171, x157,
7798                                                        UINT32_C(0x80000000));
7799     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x174, &x175, x173, 0x0,
7800                                                        0x0);
7801     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x176, x175, x158, x143);
7802     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x177, x175, x160, x145);
7803     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x178, x175, x162, x147);
7804     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x179, x175, x164, x149);
7805     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x180, x175, x166, x151);
7806     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x181, x175, x168, x153);
7807     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x182, x175, x170, x155);
7808     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x183, x175, x172, x157);
7809     out1[0] = x176;
7810     out1[1] = x177;
7811     out1[2] = x178;
7812     out1[3] = x179;
7813     out1[4] = x180;
7814     out1[5] = x181;
7815     out1[6] = x182;
7816     out1[7] = x183;
7817 }
7818
7819 /*
7820  * The function fiat_id_GostR3410_2001_TestParamSet_nonzero outputs a single non-zero word if the input is non-zero and zero otherwise.
7821  * Preconditions:
7822  *   0 ≤ eval arg1 < m
7823  * Postconditions:
7824  *   out1 = 0 ↔ eval (from_montgomery arg1) mod m = 0
7825  *
7826  * Input Bounds:
7827  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
7828  * Output Bounds:
7829  *   out1: [0x0 ~> 0xffffffff]
7830  */
7831 static void fiat_id_GostR3410_2001_TestParamSet_nonzero(
7832     uint32_t *out1, const uint32_t arg1[8]) {
7833     uint32_t x1;
7834     x1 = ((arg1[0]) |
7835           ((arg1[1]) |
7836            ((arg1[2]) |
7837             ((arg1[3]) |
7838              ((arg1[4]) |
7839               ((arg1[5]) | ((arg1[6]) | ((arg1[7]) | (uint32_t)0x0))))))));
7840     *out1 = x1;
7841 }
7842
7843 /*
7844  * The function fiat_id_GostR3410_2001_TestParamSet_selectznz is a multi-limb conditional select.
7845  * Postconditions:
7846  *   eval out1 = (if arg1 = 0 then eval arg2 else eval arg3)
7847  *
7848  * Input Bounds:
7849  *   arg1: [0x0 ~> 0x1]
7850  *   arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
7851  *   arg3: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
7852  * Output Bounds:
7853  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
7854  */
7855 static void fiat_id_GostR3410_2001_TestParamSet_selectznz(
7856     uint32_t out1[8], fiat_id_GostR3410_2001_TestParamSet_uint1 arg1,
7857     const uint32_t arg2[8], const uint32_t arg3[8]) {
7858     uint32_t x1;
7859     uint32_t x2;
7860     uint32_t x3;
7861     uint32_t x4;
7862     uint32_t x5;
7863     uint32_t x6;
7864     uint32_t x7;
7865     uint32_t x8;
7866     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x1, arg1, (arg2[0]),
7867                                                     (arg3[0]));
7868     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x2, arg1, (arg2[1]),
7869                                                     (arg3[1]));
7870     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x3, arg1, (arg2[2]),
7871                                                     (arg3[2]));
7872     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x4, arg1, (arg2[3]),
7873                                                     (arg3[3]));
7874     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x5, arg1, (arg2[4]),
7875                                                     (arg3[4]));
7876     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x6, arg1, (arg2[5]),
7877                                                     (arg3[5]));
7878     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x7, arg1, (arg2[6]),
7879                                                     (arg3[6]));
7880     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x8, arg1, (arg2[7]),
7881                                                     (arg3[7]));
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 }
7891
7892 /*
7893  * The function fiat_id_GostR3410_2001_TestParamSet_to_bytes serializes a field element in the Montgomery domain to bytes in little-endian order.
7894  * Preconditions:
7895  *   0 ≤ eval arg1 < m
7896  * Postconditions:
7897  *   out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..31]
7898  *
7899  * Input Bounds:
7900  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
7901  * Output Bounds:
7902  *   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]]
7903  */
7904 static void fiat_id_GostR3410_2001_TestParamSet_to_bytes(
7905     uint8_t out1[32], const uint32_t arg1[8]) {
7906     uint32_t x1;
7907     uint32_t x2;
7908     uint32_t x3;
7909     uint32_t x4;
7910     uint32_t x5;
7911     uint32_t x6;
7912     uint32_t x7;
7913     uint32_t x8;
7914     uint32_t x9;
7915     uint8_t x10;
7916     uint32_t x11;
7917     uint8_t x12;
7918     uint8_t x13;
7919     uint8_t x14;
7920     uint8_t x15;
7921     uint32_t x16;
7922     uint8_t x17;
7923     uint32_t x18;
7924     uint8_t x19;
7925     uint8_t x20;
7926     uint8_t x21;
7927     uint8_t x22;
7928     uint32_t x23;
7929     uint8_t x24;
7930     uint32_t x25;
7931     uint8_t x26;
7932     uint8_t x27;
7933     uint8_t x28;
7934     uint8_t x29;
7935     uint32_t x30;
7936     uint8_t x31;
7937     uint32_t x32;
7938     uint8_t x33;
7939     uint8_t x34;
7940     uint8_t x35;
7941     uint8_t x36;
7942     uint32_t x37;
7943     uint8_t x38;
7944     uint32_t x39;
7945     uint8_t x40;
7946     uint8_t x41;
7947     uint8_t x42;
7948     uint8_t x43;
7949     uint32_t x44;
7950     uint8_t x45;
7951     uint32_t x46;
7952     uint8_t x47;
7953     uint8_t x48;
7954     uint8_t x49;
7955     uint8_t x50;
7956     uint32_t x51;
7957     uint8_t x52;
7958     uint32_t x53;
7959     uint8_t x54;
7960     uint8_t x55;
7961     uint8_t x56;
7962     uint8_t x57;
7963     uint32_t x58;
7964     uint8_t x59;
7965     uint32_t x60;
7966     uint8_t x61;
7967     uint8_t x62;
7968     uint8_t x63;
7969     x1 = (arg1[7]);
7970     x2 = (arg1[6]);
7971     x3 = (arg1[5]);
7972     x4 = (arg1[4]);
7973     x5 = (arg1[3]);
7974     x6 = (arg1[2]);
7975     x7 = (arg1[1]);
7976     x8 = (arg1[0]);
7977     x9 = (x8 >> 8);
7978     x10 = (uint8_t)(x8 & UINT8_C(0xff));
7979     x11 = (x9 >> 8);
7980     x12 = (uint8_t)(x9 & UINT8_C(0xff));
7981     x13 = (uint8_t)(x11 >> 8);
7982     x14 = (uint8_t)(x11 & UINT8_C(0xff));
7983     x15 = (uint8_t)(x13 & UINT8_C(0xff));
7984     x16 = (x7 >> 8);
7985     x17 = (uint8_t)(x7 & UINT8_C(0xff));
7986     x18 = (x16 >> 8);
7987     x19 = (uint8_t)(x16 & UINT8_C(0xff));
7988     x20 = (uint8_t)(x18 >> 8);
7989     x21 = (uint8_t)(x18 & UINT8_C(0xff));
7990     x22 = (uint8_t)(x20 & UINT8_C(0xff));
7991     x23 = (x6 >> 8);
7992     x24 = (uint8_t)(x6 & UINT8_C(0xff));
7993     x25 = (x23 >> 8);
7994     x26 = (uint8_t)(x23 & UINT8_C(0xff));
7995     x27 = (uint8_t)(x25 >> 8);
7996     x28 = (uint8_t)(x25 & UINT8_C(0xff));
7997     x29 = (uint8_t)(x27 & UINT8_C(0xff));
7998     x30 = (x5 >> 8);
7999     x31 = (uint8_t)(x5 & UINT8_C(0xff));
8000     x32 = (x30 >> 8);
8001     x33 = (uint8_t)(x30 & UINT8_C(0xff));
8002     x34 = (uint8_t)(x32 >> 8);
8003     x35 = (uint8_t)(x32 & UINT8_C(0xff));
8004     x36 = (uint8_t)(x34 & UINT8_C(0xff));
8005     x37 = (x4 >> 8);
8006     x38 = (uint8_t)(x4 & UINT8_C(0xff));
8007     x39 = (x37 >> 8);
8008     x40 = (uint8_t)(x37 & UINT8_C(0xff));
8009     x41 = (uint8_t)(x39 >> 8);
8010     x42 = (uint8_t)(x39 & UINT8_C(0xff));
8011     x43 = (uint8_t)(x41 & UINT8_C(0xff));
8012     x44 = (x3 >> 8);
8013     x45 = (uint8_t)(x3 & UINT8_C(0xff));
8014     x46 = (x44 >> 8);
8015     x47 = (uint8_t)(x44 & UINT8_C(0xff));
8016     x48 = (uint8_t)(x46 >> 8);
8017     x49 = (uint8_t)(x46 & UINT8_C(0xff));
8018     x50 = (uint8_t)(x48 & UINT8_C(0xff));
8019     x51 = (x2 >> 8);
8020     x52 = (uint8_t)(x2 & UINT8_C(0xff));
8021     x53 = (x51 >> 8);
8022     x54 = (uint8_t)(x51 & UINT8_C(0xff));
8023     x55 = (uint8_t)(x53 >> 8);
8024     x56 = (uint8_t)(x53 & UINT8_C(0xff));
8025     x57 = (uint8_t)(x55 & UINT8_C(0xff));
8026     x58 = (x1 >> 8);
8027     x59 = (uint8_t)(x1 & UINT8_C(0xff));
8028     x60 = (x58 >> 8);
8029     x61 = (uint8_t)(x58 & UINT8_C(0xff));
8030     x62 = (uint8_t)(x60 >> 8);
8031     x63 = (uint8_t)(x60 & UINT8_C(0xff));
8032     out1[0] = x10;
8033     out1[1] = x12;
8034     out1[2] = x14;
8035     out1[3] = x15;
8036     out1[4] = x17;
8037     out1[5] = x19;
8038     out1[6] = x21;
8039     out1[7] = x22;
8040     out1[8] = x24;
8041     out1[9] = x26;
8042     out1[10] = x28;
8043     out1[11] = x29;
8044     out1[12] = x31;
8045     out1[13] = x33;
8046     out1[14] = x35;
8047     out1[15] = x36;
8048     out1[16] = x38;
8049     out1[17] = x40;
8050     out1[18] = x42;
8051     out1[19] = x43;
8052     out1[20] = x45;
8053     out1[21] = x47;
8054     out1[22] = x49;
8055     out1[23] = x50;
8056     out1[24] = x52;
8057     out1[25] = x54;
8058     out1[26] = x56;
8059     out1[27] = x57;
8060     out1[28] = x59;
8061     out1[29] = x61;
8062     out1[30] = x63;
8063     out1[31] = x62;
8064 }
8065
8066 /*
8067  * The function fiat_id_GostR3410_2001_TestParamSet_from_bytes deserializes a field element in the Montgomery domain from bytes in little-endian order.
8068  * Preconditions:
8069  *   0 ≤ bytes_eval arg1 < m
8070  * Postconditions:
8071  *   eval out1 mod m = bytes_eval arg1 mod m
8072  *   0 ≤ eval out1 < m
8073  *
8074  * Input Bounds:
8075  *   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]]
8076  * Output Bounds:
8077  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8078  */
8079 static void fiat_id_GostR3410_2001_TestParamSet_from_bytes(
8080     uint32_t out1[8], const uint8_t arg1[32]) {
8081     uint32_t x1;
8082     uint32_t x2;
8083     uint32_t x3;
8084     uint8_t x4;
8085     uint32_t x5;
8086     uint32_t x6;
8087     uint32_t x7;
8088     uint8_t x8;
8089     uint32_t x9;
8090     uint32_t x10;
8091     uint32_t x11;
8092     uint8_t x12;
8093     uint32_t x13;
8094     uint32_t x14;
8095     uint32_t x15;
8096     uint8_t x16;
8097     uint32_t x17;
8098     uint32_t x18;
8099     uint32_t x19;
8100     uint8_t x20;
8101     uint32_t x21;
8102     uint32_t x22;
8103     uint32_t x23;
8104     uint8_t x24;
8105     uint32_t x25;
8106     uint32_t x26;
8107     uint32_t x27;
8108     uint8_t x28;
8109     uint32_t x29;
8110     uint32_t x30;
8111     uint32_t x31;
8112     uint8_t x32;
8113     uint32_t x33;
8114     uint32_t x34;
8115     uint32_t x35;
8116     uint32_t x36;
8117     uint32_t x37;
8118     uint32_t x38;
8119     uint32_t x39;
8120     uint32_t x40;
8121     uint32_t x41;
8122     uint32_t x42;
8123     uint32_t x43;
8124     uint32_t x44;
8125     uint32_t x45;
8126     uint32_t x46;
8127     uint32_t x47;
8128     x1 = ((uint32_t)(arg1[31]) << 24);
8129     x2 = ((uint32_t)(arg1[30]) << 16);
8130     x3 = ((uint32_t)(arg1[29]) << 8);
8131     x4 = (arg1[28]);
8132     x5 = ((uint32_t)(arg1[27]) << 24);
8133     x6 = ((uint32_t)(arg1[26]) << 16);
8134     x7 = ((uint32_t)(arg1[25]) << 8);
8135     x8 = (arg1[24]);
8136     x9 = ((uint32_t)(arg1[23]) << 24);
8137     x10 = ((uint32_t)(arg1[22]) << 16);
8138     x11 = ((uint32_t)(arg1[21]) << 8);
8139     x12 = (arg1[20]);
8140     x13 = ((uint32_t)(arg1[19]) << 24);
8141     x14 = ((uint32_t)(arg1[18]) << 16);
8142     x15 = ((uint32_t)(arg1[17]) << 8);
8143     x16 = (arg1[16]);
8144     x17 = ((uint32_t)(arg1[15]) << 24);
8145     x18 = ((uint32_t)(arg1[14]) << 16);
8146     x19 = ((uint32_t)(arg1[13]) << 8);
8147     x20 = (arg1[12]);
8148     x21 = ((uint32_t)(arg1[11]) << 24);
8149     x22 = ((uint32_t)(arg1[10]) << 16);
8150     x23 = ((uint32_t)(arg1[9]) << 8);
8151     x24 = (arg1[8]);
8152     x25 = ((uint32_t)(arg1[7]) << 24);
8153     x26 = ((uint32_t)(arg1[6]) << 16);
8154     x27 = ((uint32_t)(arg1[5]) << 8);
8155     x28 = (arg1[4]);
8156     x29 = ((uint32_t)(arg1[3]) << 24);
8157     x30 = ((uint32_t)(arg1[2]) << 16);
8158     x31 = ((uint32_t)(arg1[1]) << 8);
8159     x32 = (arg1[0]);
8160     x33 = (x32 + (x31 + (x30 + x29)));
8161     x34 = (x33 & UINT32_C(0xffffffff));
8162     x35 = (x4 + (x3 + (x2 + x1)));
8163     x36 = (x8 + (x7 + (x6 + x5)));
8164     x37 = (x12 + (x11 + (x10 + x9)));
8165     x38 = (x16 + (x15 + (x14 + x13)));
8166     x39 = (x20 + (x19 + (x18 + x17)));
8167     x40 = (x24 + (x23 + (x22 + x21)));
8168     x41 = (x28 + (x27 + (x26 + x25)));
8169     x42 = (x41 & UINT32_C(0xffffffff));
8170     x43 = (x40 & UINT32_C(0xffffffff));
8171     x44 = (x39 & UINT32_C(0xffffffff));
8172     x45 = (x38 & UINT32_C(0xffffffff));
8173     x46 = (x37 & UINT32_C(0xffffffff));
8174     x47 = (x36 & UINT32_C(0xffffffff));
8175     out1[0] = x34;
8176     out1[1] = x42;
8177     out1[2] = x43;
8178     out1[3] = x44;
8179     out1[4] = x45;
8180     out1[5] = x46;
8181     out1[6] = x47;
8182     out1[7] = x35;
8183 }
8184
8185 /* END verbatim fiat code */
8186
8187 /*-
8188  * Finite field inversion via FLT.
8189  * NB: this is not a real Fiat function, just named that way for consistency.
8190  * Autogenerated: ecp/id_GostR3410_2001_TestParamSet/fe_inv.op3
8191  * sliding window w=5
8192  */
8193 static void fiat_id_GostR3410_2001_TestParamSet_inv(fe_t output,
8194                                                     const fe_t t1) {
8195     int i;
8196     /* temporary variables */
8197     fe_t acc, t15;
8198
8199     fiat_id_GostR3410_2001_TestParamSet_square(acc, t1);
8200     fiat_id_GostR3410_2001_TestParamSet_mul(t15, t1, acc);
8201     for (i = 0; i < 6; i++)
8202         fiat_id_GostR3410_2001_TestParamSet_mul(t15, t15, acc);
8203     fiat_id_GostR3410_2001_TestParamSet_square(acc, t1);
8204     for (i = 0; i < 244; i++)
8205         fiat_id_GostR3410_2001_TestParamSet_square(acc, acc);
8206     fiat_id_GostR3410_2001_TestParamSet_mul(acc, acc, t1);
8207     for (i = 0; i < 5; i++)
8208         fiat_id_GostR3410_2001_TestParamSet_square(acc, acc);
8209     fiat_id_GostR3410_2001_TestParamSet_mul(acc, acc, t1);
8210     for (i = 0; i < 5; i++)
8211         fiat_id_GostR3410_2001_TestParamSet_square(acc, acc);
8212     fiat_id_GostR3410_2001_TestParamSet_mul(output, acc, t15);
8213 }
8214
8215 /* curve coefficient constants */
8216
8217 static const limb_t const_one[8] = {UINT32_C(0xFFFFFBCF), UINT32_C(0xFFFFFFFF),
8218                                     UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
8219                                     UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
8220                                     UINT32_C(0xFFFFFFFF), UINT32_C(0x7FFFFFFF)};
8221
8222 static const limb_t const_a[8] = {UINT32_C(0xFFFFC983), UINT32_C(0xFFFFFFFF),
8223                                   UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
8224                                   UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
8225                                   UINT32_C(0xFFFFFFFF), UINT32_C(0x7FFFFFFF)};
8226
8227 static const limb_t const_b3[8] = {UINT32_C(0x6AEAB71C), UINT32_C(0x81733EE9),
8228                                    UINT32_C(0xFC4E6FC7), UINT32_C(0x00CD3D1C),
8229                                    UINT32_C(0x75853407), UINT32_C(0x60AB503A),
8230                                    UINT32_C(0x4556810A), UINT32_C(0x0A9EC8AE)};
8231
8232 /* LUT for scalar multiplication by comb interleaving */
8233 static const pt_aff_t lut_cmb[27][16] = {
8234     {
8235         {{UINT32_C(0xFFFFF36D), UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
8236           UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
8237           UINT32_C(0xFFFFFFFF), UINT32_C(0x7FFFFFFF)},
8238          {UINT32_C(0x471125F5), UINT32_C(0x9AF45A5A), UINT32_C(0xF69BF9AE),
8239           UINT32_C(0x7CE5090A), UINT32_C(0xE4B6DDE6), UINT32_C(0x67617A63),
8240           UINT32_C(0x4AA3DAA4), UINT32_C(0x03F66B35)}},
8241         {{UINT32_C(0x149B5D15), UINT32_C(0xB39BDC16), UINT32_C(0x7309454F),
8242           UINT32_C(0x87CE978A), UINT32_C(0x315A7A56), UINT32_C(0xD22F32EF),
8243           UINT32_C(0xB69A6B57), UINT32_C(0x4C7DE232)},
8244          {UINT32_C(0x466DC64D), UINT32_C(0x9E2DAF6D), UINT32_C(0x4B1C8A55),
8245           UINT32_C(0x758C27B1), UINT32_C(0xBD647F1A), UINT32_C(0x74A0CB23),
8246           UINT32_C(0x2C2F4C70), UINT32_C(0x27E74868)}},
8247         {{UINT32_C(0x55A62594), UINT32_C(0xF2D8F32E), UINT32_C(0x36BC547A),
8248           UINT32_C(0x8323D570), UINT32_C(0x98D4B25A), UINT32_C(0x497679EB),
8249           UINT32_C(0xB87E0534), UINT32_C(0x061167F2)},
8250          {UINT32_C(0x223E4DF8), UINT32_C(0xE1FFFDCE), UINT32_C(0xDCD891E9),
8251           UINT32_C(0x7C83AE78), UINT32_C(0x3C1B95D0), UINT32_C(0x74398586),
8252           UINT32_C(0x74B3F5AB), UINT32_C(0x11D73205)}},
8253         {{UINT32_C(0xACB97F7C), UINT32_C(0x34B9C048), UINT32_C(0xE3B9BCC6),
8254           UINT32_C(0x8232E73C), UINT32_C(0xDA2DB71D), UINT32_C(0x81F4B63F),
8255           UINT32_C(0xA2DF4C84), UINT32_C(0x4EEE5393)},
8256          {UINT32_C(0xAC469C69), UINT32_C(0xCA6E63AE), UINT32_C(0x428E4F01),
8257           UINT32_C(0x27BC807C), UINT32_C(0x5F4EC124), UINT32_C(0x4A2C23BA),
8258           UINT32_C(0xAAE2668B), UINT32_C(0x74847CFC)}},
8259         {{UINT32_C(0x6716AF4E), UINT32_C(0x4435585F), UINT32_C(0x1CDB965F),
8260           UINT32_C(0xB872D8B7), UINT32_C(0x746FFAD0), UINT32_C(0x662F1962),
8261           UINT32_C(0xDB5D0187), UINT32_C(0x52761A24)},
8262          {UINT32_C(0xA57E0E3D), UINT32_C(0xF6A09922), UINT32_C(0xA9C12B63),
8263           UINT32_C(0x86C69342), UINT32_C(0x5AF190C5), UINT32_C(0x91FF20B6),
8264           UINT32_C(0x4EEEE1AE), UINT32_C(0x10DB7A2A)}},
8265         {{UINT32_C(0x74628B90), UINT32_C(0xBB464A53), UINT32_C(0x057A4F25),
8266           UINT32_C(0x6E7A1227), UINT32_C(0x0B0FA41F), UINT32_C(0x4C309D69),
8267           UINT32_C(0x77FE7B93), UINT32_C(0x75482607)},
8268          {UINT32_C(0x0B612421), UINT32_C(0xF2583EC7), UINT32_C(0x5E2B15ED),
8269           UINT32_C(0xFF2CFC83), UINT32_C(0x8CABC5CF), UINT32_C(0x1E97A7DB),
8270           UINT32_C(0x925C149F), UINT32_C(0x1EC08FAA)}},
8271         {{UINT32_C(0x0E9FCBA9), UINT32_C(0xBA0170E3), UINT32_C(0x70D9939B),
8272           UINT32_C(0x8976DF7C), UINT32_C(0x21AF14DD), UINT32_C(0xEAE6E74B),
8273           UINT32_C(0x0D0861F9), UINT32_C(0x09F09868)},
8274          {UINT32_C(0x21A781FF), UINT32_C(0x4F7FE26E), UINT32_C(0xD73DCEF7),
8275           UINT32_C(0x1725B8D0), UINT32_C(0x7E743498), UINT32_C(0x9DA63217),
8276           UINT32_C(0x1B828B99), UINT32_C(0x0F51D42C)}},
8277         {{UINT32_C(0x9AFE09BD), UINT32_C(0xBABB076B), UINT32_C(0x17C4050D),
8278           UINT32_C(0x4AC89223), UINT32_C(0xDA3E57E8), UINT32_C(0xCA3EA6E3),
8279           UINT32_C(0xA33242C0), UINT32_C(0x20AAA384)},
8280          {UINT32_C(0xEF929BF5), UINT32_C(0x6D3A1F2D), UINT32_C(0xE751A62D),
8281           UINT32_C(0xB34E2605), UINT32_C(0xB8CF1F99), UINT32_C(0xE1AC629F),
8282           UINT32_C(0xF0BBA01A), UINT32_C(0x7152D4E3)}},
8283         {{UINT32_C(0x943E5B8E), UINT32_C(0xA97A6CE3), UINT32_C(0x2D053A9D),
8284           UINT32_C(0x1C0F6C7F), UINT32_C(0x64457DE4), UINT32_C(0x9D4A91DE),
8285           UINT32_C(0xC6140057), UINT32_C(0x1E19EA8F)},
8286          {UINT32_C(0x500995C8), UINT32_C(0xD4766CB6), UINT32_C(0xE70CD7EE),
8287           UINT32_C(0xA019D41D), UINT32_C(0x7AB0A162), UINT32_C(0xBA1828AA),
8288           UINT32_C(0x0B7A4E93), UINT32_C(0x0CACA063)}},
8289         {{UINT32_C(0xA1B3FE03), UINT32_C(0x1E68315C), UINT32_C(0x1AAB6B20),
8290           UINT32_C(0x21FB277E), UINT32_C(0x6A90FB22), UINT32_C(0x210305D7),
8291           UINT32_C(0x2E51B9BC), UINT32_C(0x4C3D3EEA)},
8292          {UINT32_C(0x89C3A2E8), UINT32_C(0xC5662C6D), UINT32_C(0x1712BF9B),
8293           UINT32_C(0x66EA4818), UINT32_C(0x2254FBAB), UINT32_C(0x417F8F04),
8294           UINT32_C(0xB057EEC1), UINT32_C(0x2F57DF29)}},
8295         {{UINT32_C(0x6509AE4F), UINT32_C(0xF6975C9F), UINT32_C(0xDC89C220),
8296           UINT32_C(0x58300438), UINT32_C(0x907FF785), UINT32_C(0xE81DA879),
8297           UINT32_C(0x0910ED2F), UINT32_C(0x68D600E3)},
8298          {UINT32_C(0xB43BF686), UINT32_C(0xFBB25113), UINT32_C(0x50A64FAE),
8299           UINT32_C(0x8B391E3F), UINT32_C(0x3112B7ED), UINT32_C(0x8C1190D2),
8300           UINT32_C(0xCCB4CA50), UINT32_C(0x617BCD41)}},
8301         {{UINT32_C(0xDD780ACA), UINT32_C(0x75036E69), UINT32_C(0x6FBCD996),
8302           UINT32_C(0xC90A01DE), UINT32_C(0x0C851CEF), UINT32_C(0x75E1A8E8),
8303           UINT32_C(0xF71BDCC6), UINT32_C(0x7225D38A)},
8304          {UINT32_C(0x868B78D2), UINT32_C(0x74AE6935), UINT32_C(0x1CDB5A1E),
8305           UINT32_C(0xE70570F3), UINT32_C(0xBEBD2FA4), UINT32_C(0x3E700C48),
8306           UINT32_C(0x325D3214), UINT32_C(0x3E483638)}},
8307         {{UINT32_C(0xC0E6D8AD), UINT32_C(0x9F272CD5), UINT32_C(0xE09743A2),
8308           UINT32_C(0x9E29687C), UINT32_C(0x93CD64B3), UINT32_C(0xBE0E0D59),
8309           UINT32_C(0x504B58F0), UINT32_C(0x5D57A75D)},
8310          {UINT32_C(0x5D44B092), UINT32_C(0x81A1A6E3), UINT32_C(0x310D7868),
8311           UINT32_C(0x38AD0169), UINT32_C(0xCC297B73), UINT32_C(0xC8D3C9A6),
8312           UINT32_C(0x908E0814), UINT32_C(0x34D98A19)}},
8313         {{UINT32_C(0xE5A57E1F), UINT32_C(0xFFB946AD), UINT32_C(0x191B6C5F),
8314           UINT32_C(0xF7EA0AA2), UINT32_C(0x8DF529C1), UINT32_C(0x52D07058),
8315           UINT32_C(0x2AFDA727), UINT32_C(0x06B7BDE5)},
8316          {UINT32_C(0x90658555), UINT32_C(0x651E6DC9), UINT32_C(0x1FC416CE),
8317           UINT32_C(0x8F910D89), UINT32_C(0xCBF086D5), UINT32_C(0x0BA4D84E),
8318           UINT32_C(0x0C4A4B4A), UINT32_C(0x73DA158C)}},
8319         {{UINT32_C(0x521DB62C), UINT32_C(0xE22420A6), UINT32_C(0xBC90EB6F),
8320           UINT32_C(0x8EBC1A21), UINT32_C(0xE50F6EB4), UINT32_C(0xE1529AAC),
8321           UINT32_C(0x8BE235DB), UINT32_C(0x4025BF27)},
8322          {UINT32_C(0x9FFE2B82), UINT32_C(0x40607710), UINT32_C(0x696B4634),
8323           UINT32_C(0x7A6BB75B), UINT32_C(0x2B2F25D3), UINT32_C(0x0CEF27A9),
8324           UINT32_C(0xCA0B7112), UINT32_C(0x6C9CFFD7)}},
8325         {{UINT32_C(0xEDA5C43B), UINT32_C(0x12B39FF0), UINT32_C(0x54E0FE3F),
8326           UINT32_C(0x2E1FC66C), UINT32_C(0x248A9167), UINT32_C(0xFB2DEA80),
8327           UINT32_C(0x3B2BB322), UINT32_C(0x11BCDA10)},
8328          {UINT32_C(0x16D2C928), UINT32_C(0xFDDF6E84), UINT32_C(0x36E887F4),
8329           UINT32_C(0x99DDF6A1), UINT32_C(0x920092D6), UINT32_C(0x1E56D2F3),
8330           UINT32_C(0x2D77AE5A), UINT32_C(0x67433BF4)}},
8331     },
8332     {
8333         {{UINT32_C(0x321BFA62), UINT32_C(0x6C204DDC), UINT32_C(0x2F138A80),
8334           UINT32_C(0xA96E42B8), UINT32_C(0xE3EC1A7D), UINT32_C(0x4C98E986),
8335           UINT32_C(0x136CADC4), UINT32_C(0x223C8BC4)},
8336          {UINT32_C(0xBA3CE54A), UINT32_C(0xFA9F15D3), UINT32_C(0x19963D88),
8337           UINT32_C(0xA103B9D7), UINT32_C(0x2F811A21), UINT32_C(0x1ED23354),
8338           UINT32_C(0x65A4E833), UINT32_C(0x64D6B14C)}},
8339         {{UINT32_C(0xCFBD1039), UINT32_C(0x2485175C), UINT32_C(0x7C92D8EC),
8340           UINT32_C(0xC4DAE65B), UINT32_C(0x1859FD47), UINT32_C(0x6FC70F54),
8341           UINT32_C(0x33E8305C), UINT32_C(0x6D543444)},
8342          {UINT32_C(0x944DDA07), UINT32_C(0x1A65FEC2), UINT32_C(0xEF375B21),
8343           UINT32_C(0x7BCF8391), UINT32_C(0xBE4CD8D6), UINT32_C(0xDDCFC356),
8344           UINT32_C(0x13850042), UINT32_C(0x4BF93B9E)}},
8345         {{UINT32_C(0x88B7F950), UINT32_C(0xBDF7A56C), UINT32_C(0x81B8590E),
8346           UINT32_C(0x3A60E5FC), UINT32_C(0x6F6E6807), UINT32_C(0x475B94D1),
8347           UINT32_C(0x2F0D49A8), UINT32_C(0x2F1B9F06)},
8348          {UINT32_C(0x2E6A01D3), UINT32_C(0x3C36DCF3), UINT32_C(0x30444003),
8349           UINT32_C(0x807E1D5B), UINT32_C(0xFECF5768), UINT32_C(0xE3768486),
8350           UINT32_C(0xEF12B5CC), UINT32_C(0x73C4D0CF)}},
8351         {{UINT32_C(0xF4C6FF93), UINT32_C(0x9D76477C), UINT32_C(0xC5A1A495),
8352           UINT32_C(0x03F16687), UINT32_C(0xB41748B2), UINT32_C(0x5071DA3D),
8353           UINT32_C(0x971D6A7D), UINT32_C(0x0F3A3784)},
8354          {UINT32_C(0x2785A782), UINT32_C(0x0B9A5AD6), UINT32_C(0x09FF09F9),
8355           UINT32_C(0x957E72A0), UINT32_C(0xAE3CF5F4), UINT32_C(0x3072C1DC),
8356           UINT32_C(0xCD9CFD7E), UINT32_C(0x63D463AC)}},
8357         {{UINT32_C(0xC77B516C), UINT32_C(0xDA0DEE0B), UINT32_C(0xE6AA0E1F),
8358           UINT32_C(0x446D7199), UINT32_C(0xBFFA705C), UINT32_C(0xCC0D1590),
8359           UINT32_C(0xC35B59BA), UINT32_C(0x6A6FC81C)},
8360          {UINT32_C(0x593E3EB9), UINT32_C(0x39DF210E), UINT32_C(0xD0DCC01F),
8361           UINT32_C(0x17F331CE), UINT32_C(0xBD176C5B), UINT32_C(0x02E0E5EB),
8362           UINT32_C(0x8A2D6290), UINT32_C(0x68946CCC)}},
8363         {{UINT32_C(0x09ECFEF2), UINT32_C(0x8D1400D6), UINT32_C(0xE1E76A98),
8364           UINT32_C(0x57D5F91B), UINT32_C(0xA12DFF8D), UINT32_C(0x5CF76130),
8365           UINT32_C(0x61002939), UINT32_C(0x5C361922)},
8366          {UINT32_C(0xFB0FE974), UINT32_C(0x8D45C8C1), UINT32_C(0xF942ED70),
8367           UINT32_C(0x0C97725E), UINT32_C(0x73C5AA42), UINT32_C(0xB1C66498),
8368           UINT32_C(0x7E203187), UINT32_C(0x4A121FC4)}},
8369         {{UINT32_C(0xFCEDA76C), UINT32_C(0x58430EE3), UINT32_C(0xF5C88D62),
8370           UINT32_C(0x3496699A), UINT32_C(0x14273E7E), UINT32_C(0x1C3FC811),
8371           UINT32_C(0x1D6D67DA), UINT32_C(0x3E38E9FC)},
8372          {UINT32_C(0xAB685B3B), UINT32_C(0xBB683EA4), UINT32_C(0xB0904BB3),
8373           UINT32_C(0xB63F72B1), UINT32_C(0x47A75297), UINT32_C(0x5DFA23C5),
8374           UINT32_C(0x38B59560), UINT32_C(0x09E80AA0)}},
8375         {{UINT32_C(0x7F4D22FC), UINT32_C(0x7D8325C6), UINT32_C(0x8C2FA282),
8376           UINT32_C(0xBFFB01B1), UINT32_C(0x4A89BE98), UINT32_C(0x01A037DC),
8377           UINT32_C(0x84EA8C8A), UINT32_C(0x092F6525)},
8378          {UINT32_C(0xC52FD518), UINT32_C(0x873D33DA), UINT32_C(0x44AFDD41),
8379           UINT32_C(0x0A245B15), UINT32_C(0x98FA7FF5), UINT32_C(0x78993737),
8380           UINT32_C(0x21D29087), UINT32_C(0x1BB48AD2)}},
8381         {{UINT32_C(0x1A59313C), UINT32_C(0x00C97A99), UINT32_C(0x5CF9A6FF),
8382           UINT32_C(0xBD4F29EE), UINT32_C(0xD839B62B), UINT32_C(0xEA59D87A),
8383           UINT32_C(0x97CAB63C), UINT32_C(0x16F18F48)},
8384          {UINT32_C(0x6F6C292F), UINT32_C(0xB339789A), UINT32_C(0xD005ABB2),
8385           UINT32_C(0xEC52E644), UINT32_C(0xAE24DA46), UINT32_C(0xEEAC93C9),
8386           UINT32_C(0xE5C43B4F), UINT32_C(0x0ECB9957)}},
8387         {{UINT32_C(0x20561AF7), UINT32_C(0xD91B2202), UINT32_C(0x55F2CFB8),
8388           UINT32_C(0xECA260DD), UINT32_C(0x17B91CCF), UINT32_C(0xF03A8C1D),
8389           UINT32_C(0x64B35D9A), UINT32_C(0x55A0491F)},
8390          {UINT32_C(0x1A2F8F39), UINT32_C(0x0A97E5CC), UINT32_C(0x23B1D80B),
8391           UINT32_C(0x02C187D1), UINT32_C(0xDB9FBA1A), UINT32_C(0xA9C13D26),
8392           UINT32_C(0xF8051F0D), UINT32_C(0x7CCDDBAC)}},
8393         {{UINT32_C(0xED0E9DB8), UINT32_C(0x05CA8EA5), UINT32_C(0x53A8EA3F),
8394           UINT32_C(0xE888079F), UINT32_C(0x9209BFA2), UINT32_C(0x6DDBC40D),
8395           UINT32_C(0x80DCEAEA), UINT32_C(0x068E5BA9)},
8396          {UINT32_C(0xB19D824B), UINT32_C(0xDB69D133), UINT32_C(0xE6A3A462),
8397           UINT32_C(0x65154FB6), UINT32_C(0x020B2AC7), UINT32_C(0x9FCF733D),
8398           UINT32_C(0xE1329315), UINT32_C(0x15178DDE)}},
8399         {{UINT32_C(0x877EE476), UINT32_C(0x76F78865), UINT32_C(0x12B471BA),
8400           UINT32_C(0x5824EACC), UINT32_C(0xBBB640A8), UINT32_C(0x71BDFADF),
8401           UINT32_C(0x9A631D09), UINT32_C(0x5181B08F)},
8402          {UINT32_C(0xFFE978E8), UINT32_C(0x2913CCA5), UINT32_C(0xAEB89AA6),
8403           UINT32_C(0x9CEF3612), UINT32_C(0xE02AD6DC), UINT32_C(0x93BB373E),
8404           UINT32_C(0x04144769), UINT32_C(0x5D7984F0)}},
8405         {{UINT32_C(0x4F98D2C3), UINT32_C(0x3219DB07), UINT32_C(0xBD40ACCC),
8406           UINT32_C(0xE3EF888F), UINT32_C(0x31124C73), UINT32_C(0x07A30E3A),
8407           UINT32_C(0xB070C53F), UINT32_C(0x5D9C820B)},
8408          {UINT32_C(0xDA0661AB), UINT32_C(0x94D41768), UINT32_C(0x21FF87EB),
8409           UINT32_C(0x27FC2661), UINT32_C(0xFF17A977), UINT32_C(0xB8DCBC7F),
8410           UINT32_C(0x392EB13D), UINT32_C(0x71F75FF9)}},
8411         {{UINT32_C(0x9AD71AB0), UINT32_C(0xC5CED56C), UINT32_C(0x39D6C9F1),
8412           UINT32_C(0xE744EAB0), UINT32_C(0x839BD904), UINT32_C(0x6E49B00B),
8413           UINT32_C(0xD7003054), UINT32_C(0x0C0EDE2C)},
8414          {UINT32_C(0x1A6A1BB7), UINT32_C(0x792C3F80), UINT32_C(0x4B2C7885),
8415           UINT32_C(0x6E5093B1), UINT32_C(0x13EA65F7), UINT32_C(0x28873209),
8416           UINT32_C(0xF381C851), UINT32_C(0x085A2697)}},
8417         {{UINT32_C(0xDA60A255), UINT32_C(0x84FC6B9D), UINT32_C(0x4B495BC6),
8418           UINT32_C(0x12397EED), UINT32_C(0x71A5AA87), UINT32_C(0x4881DF6B),
8419           UINT32_C(0x9572CFE2), UINT32_C(0x57BB3259)},
8420          {UINT32_C(0x3A10A65F), UINT32_C(0x30677759), UINT32_C(0xDB1758DD),
8421           UINT32_C(0x670B82EC), UINT32_C(0xD57B513E), UINT32_C(0xD84F3E8F),
8422           UINT32_C(0x89088E78), UINT32_C(0x617A512A)}},
8423         {{UINT32_C(0xAE3D7707), UINT32_C(0x83971322), UINT32_C(0x6D34D0B4),
8424           UINT32_C(0x66563CDE), UINT32_C(0xC13309ED), UINT32_C(0x95342D9B),
8425           UINT32_C(0x082A5887), UINT32_C(0x62C2B1B6)},
8426          {UINT32_C(0xC3C27158), UINT32_C(0xD94A8712), UINT32_C(0xA844BF60),
8427           UINT32_C(0xDE2C9C9D), UINT32_C(0xCE3E4F3C), UINT32_C(0xDE897386),
8428           UINT32_C(0x6ACEBDF1), UINT32_C(0x2C22A82E)}},
8429     },
8430     {
8431         {{UINT32_C(0x0604E200), UINT32_C(0x2755028A), UINT32_C(0x44189101),
8432           UINT32_C(0xADE23A7D), UINT32_C(0xF0B7F9B7), UINT32_C(0xA6E418F4),
8433           UINT32_C(0x212EDC2A), UINT32_C(0x036F5503)},
8434          {UINT32_C(0x3F5E0456), UINT32_C(0xE069D06A), UINT32_C(0x0F37F2D8),
8435           UINT32_C(0x2FAFF7C8), UINT32_C(0x7F5EDE53), UINT32_C(0xFF08E879),
8436           UINT32_C(0x797E0427), UINT32_C(0x7F97725D)}},
8437         {{UINT32_C(0xB32E5B1B), UINT32_C(0xE44E39C1), UINT32_C(0xAD3EC706),
8438           UINT32_C(0x25CD4614), UINT32_C(0xE382C5D2), UINT32_C(0x2E97B090),
8439           UINT32_C(0xB00D79F2), UINT32_C(0x3E1A1F6B)},
8440          {UINT32_C(0xC2375837), UINT32_C(0x27573C4E), UINT32_C(0x6C8D5CCD),
8441           UINT32_C(0xAD53D2C8), UINT32_C(0xFC09725A), UINT32_C(0x94EE5460),
8442           UINT32_C(0x02DD0DF4), UINT32_C(0x6E592506)}},
8443         {{UINT32_C(0x3D0C7AC4), UINT32_C(0x6CFFA4BF), UINT32_C(0x69ED4317),
8444           UINT32_C(0x663B1218), UINT32_C(0xC79AD5C1), UINT32_C(0x933094F6),
8445           UINT32_C(0xFFC54767), UINT32_C(0x569F37ED)},
8446          {UINT32_C(0x1F338782), UINT32_C(0x954EEE0C), UINT32_C(0xA46CA276),
8447           UINT32_C(0x5BE69673), UINT32_C(0x20CB26DC), UINT32_C(0x77BA0009),
8448           UINT32_C(0x029316AE), UINT32_C(0x2211CAC3)}},
8449         {{UINT32_C(0x184EBD7C), UINT32_C(0xC8DEF3CB), UINT32_C(0x6A4DB0A0),
8450           UINT32_C(0x39337050), UINT32_C(0x0BE1D82C), UINT32_C(0x6FF7993A),
8451           UINT32_C(0xFC9252C0), UINT32_C(0x01D7674A)},
8452          {UINT32_C(0xF62D9268), UINT32_C(0xB10BA727), UINT32_C(0x817B687B),
8453           UINT32_C(0x6E2338D8), UINT32_C(0xE47405F1), UINT32_C(0x266443F2),
8454           UINT32_C(0x6872B879), UINT32_C(0x6A1BD9CE)}},
8455         {{UINT32_C(0x2B2BD346), UINT32_C(0x19213765), UINT32_C(0xE2ACFB8E),
8456           UINT32_C(0x962CA22C), UINT32_C(0x62FECDE1), UINT32_C(0x518CF45D),
8457           UINT32_C(0xA13D9E8D), UINT32_C(0x529AE629)},
8458          {UINT32_C(0xBB69D5E3), UINT32_C(0xAF796DB0), UINT32_C(0xD4E596B7),
8459           UINT32_C(0xA064209D), UINT32_C(0x47942C73), UINT32_C(0x9F3DFD4A),
8460           UINT32_C(0x7810D5EC), UINT32_C(0x7FAB6C6D)}},
8461         {{UINT32_C(0x66A3B287), UINT32_C(0x55D15250), UINT32_C(0xEEFDDC75),
8462           UINT32_C(0x1ECC6A20), UINT32_C(0x26DE8C01), UINT32_C(0xF683FA60),
8463           UINT32_C(0x9FBA658C), UINT32_C(0x4F5DE2A6)},
8464          {UINT32_C(0xC66D82F4), UINT32_C(0xE748D78A), UINT32_C(0x3B24C76B),
8465           UINT32_C(0x2BA525EF), UINT32_C(0x30EE69CE), UINT32_C(0x5A9539E6),
8466           UINT32_C(0xB7861B2D), UINT32_C(0x2DA4C4C2)}},
8467         {{UINT32_C(0x820743E6), UINT32_C(0x9D1E982D), UINT32_C(0xAB0CC42D),
8468           UINT32_C(0x705D9237), UINT32_C(0x47C4E7D7), UINT32_C(0xBDD01663),
8469           UINT32_C(0xF8E69896), UINT32_C(0x3D48EE78)},
8470          {UINT32_C(0x41132782), UINT32_C(0x7A822BCD), UINT32_C(0xEE46F715),
8471           UINT32_C(0xBD41BEFA), UINT32_C(0xD0B2F4B0), UINT32_C(0x8E5C3B5F),
8472           UINT32_C(0x5E47ED55), UINT32_C(0x690A53D4)}},
8473         {{UINT32_C(0x65A40E44), UINT32_C(0x390536C1), UINT32_C(0x1C92235C),
8474           UINT32_C(0x4B4D7970), UINT32_C(0x8B7389E4), UINT32_C(0xCAC27084),
8475           UINT32_C(0x19041D01), UINT32_C(0x7B5B23B2)},
8476          {UINT32_C(0x3B5FD5BA), UINT32_C(0x7C18B973), UINT32_C(0x84B72217),
8477           UINT32_C(0xFD14865D), UINT32_C(0x267EDE4C), UINT32_C(0x5592547E),
8478           UINT32_C(0x8B369753), UINT32_C(0x22DB62E5)}},
8479         {{UINT32_C(0xDDF15BDD), UINT32_C(0x06083D33), UINT32_C(0x361925F5),
8480           UINT32_C(0x5766555F), UINT32_C(0xB7ACDEA7), UINT32_C(0xECC0F110),
8481           UINT32_C(0x0A3453B5), UINT32_C(0x3E3F1B27)},
8482          {UINT32_C(0x6F7B980D), UINT32_C(0x5A8B7DF9), UINT32_C(0xB44756AC),
8483           UINT32_C(0xEBA90E39), UINT32_C(0xAC9A7DB2), UINT32_C(0x954D7ECD),
8484           UINT32_C(0x28EA7151), UINT32_C(0x43F688D3)}},
8485         {{UINT32_C(0x4638EFAE), UINT32_C(0x51F64569), UINT32_C(0x3D28BF3C),
8486           UINT32_C(0x5840A5DB), UINT32_C(0x134D3E8F), UINT32_C(0xDD486261),
8487           UINT32_C(0x7B6B466B), UINT32_C(0x09F17E2C)},
8488          {UINT32_C(0x78ED7016), UINT32_C(0x30D35463), UINT32_C(0xB86D8508),
8489           UINT32_C(0x342E9701), UINT32_C(0x42B19533), UINT32_C(0xA3FF6565),
8490           UINT32_C(0x061A4A81), UINT32_C(0x4405F02C)}},
8491         {{UINT32_C(0x3D3AAF1E), UINT32_C(0x15C921C0), UINT32_C(0x7D297559),
8492           UINT32_C(0x2DD720C7), UINT32_C(0xCB80E3B2), UINT32_C(0x93A07904),
8493           UINT32_C(0x6B1EDB93), UINT32_C(0x427C610B)},
8494          {UINT32_C(0xF61E2F41), UINT32_C(0xD2CE818F), UINT32_C(0x8252FB3C),
8495           UINT32_C(0x1DA53421), UINT32_C(0xED07538F), UINT32_C(0x37A4A997),
8496           UINT32_C(0x962454F2), UINT32_C(0x48A928BF)}},
8497         {{UINT32_C(0x7A420273), UINT32_C(0x65091E4D), UINT32_C(0xE54C0B47),
8498           UINT32_C(0x6AF382AF), UINT32_C(0x8047A423), UINT32_C(0x150DAB08),
8499           UINT32_C(0x45BD197C), UINT32_C(0x22C3740A)},
8500          {UINT32_C(0xE07C3468), UINT32_C(0x64429AA0), UINT32_C(0x7B37FE10),
8501           UINT32_C(0xC506B8C9), UINT32_C(0x3CC5062C), UINT32_C(0x30E2FE78),
8502           UINT32_C(0xA9242F2D), UINT32_C(0x2F3B5A5F)}},
8503         {{UINT32_C(0x5A40BCA1), UINT32_C(0x2619A3B2), UINT32_C(0x118C2FEA),
8504           UINT32_C(0xD012DF23), UINT32_C(0xB73FE15C), UINT32_C(0x2868C8B7),
8505           UINT32_C(0xEB10B475), UINT32_C(0x45A9CC5A)},
8506          {UINT32_C(0x069050AD), UINT32_C(0x7111AB75), UINT32_C(0xEC2398A9),
8507           UINT32_C(0x0665182B), UINT32_C(0x9B86A240), UINT32_C(0xD9A5126E),
8508           UINT32_C(0x40E2AED6), UINT32_C(0x601CF0E0)}},
8509         {{UINT32_C(0xF48C8655), UINT32_C(0xE74C9DCD), UINT32_C(0x900E89D5),
8510           UINT32_C(0xEE703CA8), UINT32_C(0x5390F052), UINT32_C(0x6C2DFF8B),
8511           UINT32_C(0x1316CC4C), UINT32_C(0x08588E89)},
8512          {UINT32_C(0x47E80C87), UINT32_C(0x0F2CC83A), UINT32_C(0xD87824E4),
8513           UINT32_C(0x23DE34CF), UINT32_C(0x541FE8F9), UINT32_C(0xC530AF41),
8514           UINT32_C(0xD142F1C0), UINT32_C(0x0BF01DC0)}},
8515         {{UINT32_C(0x886C0C4A), UINT32_C(0x210B0B1E), UINT32_C(0x9C56A126),
8516           UINT32_C(0x66369DF1), UINT32_C(0xEAC22A5E), UINT32_C(0x5D79AE81),
8517           UINT32_C(0xD16F7DB6), UINT32_C(0x4E6C67D4)},
8518          {UINT32_C(0x247CDE60), UINT32_C(0x274572F6), UINT32_C(0x54E8454B),
8519           UINT32_C(0xF3C92AC7), UINT32_C(0xF08C32D1), UINT32_C(0x784EC1A1),
8520           UINT32_C(0xE1FE9C4E), UINT32_C(0x222716D8)}},
8521         {{UINT32_C(0x3FB1DB1E), UINT32_C(0xAF6AEF5D), UINT32_C(0xC4C2A4D8),
8522           UINT32_C(0xB8B55842), UINT32_C(0xCA5AB578), UINT32_C(0x258A2F44),
8523           UINT32_C(0x7D8B2D70), UINT32_C(0x558A803F)},
8524          {UINT32_C(0x7E0247A3), UINT32_C(0x9A7345C3), UINT32_C(0xB4D920B1),
8525           UINT32_C(0x4E5A6904), UINT32_C(0x76BCBBE1), UINT32_C(0xCF7FAA41),
8526           UINT32_C(0xEE112271), UINT32_C(0x66CF993F)}},
8527     },
8528     {
8529         {{UINT32_C(0x84D2C56B), UINT32_C(0xDE7D208F), UINT32_C(0xDDA20F33),
8530           UINT32_C(0xD1C77403), UINT32_C(0x9A6F337A), UINT32_C(0xB73FDC09),
8531           UINT32_C(0x40CD2CBD), UINT32_C(0x1B2A3807)},
8532          {UINT32_C(0x65988D73), UINT32_C(0xB642FA2C), UINT32_C(0x059DAB8E),
8533           UINT32_C(0x117E75BC), UINT32_C(0xD6B279AA), UINT32_C(0xC7E2E935),
8534           UINT32_C(0xEEA2A445), UINT32_C(0x5EEB9654)}},
8535         {{UINT32_C(0xA59D7A2A), UINT32_C(0xA84747C0), UINT32_C(0x1004C5B8),
8536           UINT32_C(0x4478AD4A), UINT32_C(0xA22DE791), UINT32_C(0xF55C2B1B),
8537           UINT32_C(0x23F8F89F), UINT32_C(0x2FF6097D)},
8538          {UINT32_C(0xE117BC40), UINT32_C(0xD079C875), UINT32_C(0x03CB43DD),
8539           UINT32_C(0x14AEA360), UINT32_C(0x0A20D653), UINT32_C(0x8C730D89),
8540           UINT32_C(0x02FD02D8), UINT32_C(0x6956274A)}},
8541         {{UINT32_C(0xD46293CF), UINT32_C(0x9F5D0E9D), UINT32_C(0xF0D93AB7),
8542           UINT32_C(0x53748DD4), UINT32_C(0xB9C37CF0), UINT32_C(0x6F81339F),
8543           UINT32_C(0xF4B041FC), UINT32_C(0x00B8677A)},
8544          {UINT32_C(0xB5A6FE97), UINT32_C(0xF76E0FFE), UINT32_C(0xF7D198A2),
8545           UINT32_C(0x6D3C71F5), UINT32_C(0x11420372), UINT32_C(0xF91E8408),
8546           UINT32_C(0x70036AED), UINT32_C(0x36F9F354)}},
8547         {{UINT32_C(0x5D446956), UINT32_C(0x503AF4F2), UINT32_C(0x2DC9777C),
8548           UINT32_C(0xCA08C537), UINT32_C(0xE1308D3A), UINT32_C(0xDB4BA888),
8549           UINT32_C(0x01DB98CB), UINT32_C(0x01EA28EA)},
8550          {UINT32_C(0xA7DF5FE0), UINT32_C(0x27CC52A9), UINT32_C(0x7DE31E0A),
8551           UINT32_C(0x7DA5186B), UINT32_C(0xF136FAD5), UINT32_C(0x63E32889),
8552           UINT32_C(0xA363AF23), UINT32_C(0x1BB010A8)}},
8553         {{UINT32_C(0xC0FE56C9), UINT32_C(0x65828B54), UINT32_C(0x4ED3935A),
8554           UINT32_C(0x7322CD51), UINT32_C(0x37B4A727), UINT32_C(0x42F068F4),
8555           UINT32_C(0xB4C02BE4), UINT32_C(0x7AA9F9F0)},
8556          {UINT32_C(0xDEBB2DD4), UINT32_C(0xBB77851A), UINT32_C(0xD105B81F),
8557           UINT32_C(0x7757D5F6), UINT32_C(0x52FA1512), UINT32_C(0x7805369C),
8558           UINT32_C(0x38B6976A), UINT32_C(0x4CBC43AE)}},
8559         {{UINT32_C(0x4096725B), UINT32_C(0x24FE8ABD), UINT32_C(0x3895D1E2),
8560           UINT32_C(0xC3FAC73A), UINT32_C(0x006A2360), UINT32_C(0xBCAF7757),
8561           UINT32_C(0xC03EBB33), UINT32_C(0x75AE96AD)},
8562          {UINT32_C(0x0BD1FB6F), UINT32_C(0x31074478), UINT32_C(0xEA386CBE),
8563           UINT32_C(0x729E8E6A), UINT32_C(0x4845AAEC), UINT32_C(0xA8BBCC0B),
8564           UINT32_C(0xE6582656), UINT32_C(0x1A0A2D19)}},
8565         {{UINT32_C(0x69BD55F7), UINT32_C(0x332BC9BD), UINT32_C(0xEFB6F780),
8566           UINT32_C(0x93D987E2), UINT32_C(0x14381F4D), UINT32_C(0xE57DE096),
8567           UINT32_C(0xFF01C4D9), UINT32_C(0x7BDF4217)},
8568          {UINT32_C(0x1956BF02), UINT32_C(0x2A07C4AB), UINT32_C(0x553823D9),
8569           UINT32_C(0x7C7B3684), UINT32_C(0xD40F600C), UINT32_C(0x8F750E8E),
8570           UINT32_C(0x9693A3C3), UINT32_C(0x63F253E9)}},
8571         {{UINT32_C(0xC62CE42B), UINT32_C(0x250ED8BF), UINT32_C(0xE70674E1),
8572           UINT32_C(0xE8A1A295), UINT32_C(0x163A92F1), UINT32_C(0x05ED093D),
8573           UINT32_C(0x628969A0), UINT32_C(0x515FF44B)},
8574          {UINT32_C(0x41CE3AF8), UINT32_C(0xF617DF03), UINT32_C(0xF9E60202),
8575           UINT32_C(0xCADE131A), UINT32_C(0x363B87E9), UINT32_C(0xFE83C379),
8576           UINT32_C(0x493EF65F), UINT32_C(0x7196A80B)}},
8577         {{UINT32_C(0xD7A2047B), UINT32_C(0x4B176FE6), UINT32_C(0x41DCA514),
8578           UINT32_C(0x6981D182), UINT32_C(0xDC74AC2E), UINT32_C(0xDDC7EE8E),
8579           UINT32_C(0x85CC07D1), UINT32_C(0x3A95A203)},
8580          {UINT32_C(0x841E3200), UINT32_C(0x8D4BA2D8), UINT32_C(0x5F654197),
8581           UINT32_C(0x837DDD9B), UINT32_C(0xFBFE4D06), UINT32_C(0x388D358E),
8582           UINT32_C(0x61143A85), UINT32_C(0x562DE2F2)}},
8583         {{UINT32_C(0xCFACB903), UINT32_C(0x3BA1F6E5), UINT32_C(0xBD97A3A2),
8584           UINT32_C(0xB5BBA41F), UINT32_C(0xCFCF2547), UINT32_C(0xB86F117F),
8585           UINT32_C(0x3D9A13DB), UINT32_C(0x50642859)},
8586          {UINT32_C(0x7B5F2A8F), UINT32_C(0xC15C82AE), UINT32_C(0xEF89351E),
8587           UINT32_C(0x47E772DD), UINT32_C(0xCAAC4CC7), UINT32_C(0x78C53901),
8588           UINT32_C(0x68D72131), UINT32_C(0x6B0F5D30)}},
8589         {{UINT32_C(0xA0B407E6), UINT32_C(0x47E17734), UINT32_C(0x34949A81),
8590           UINT32_C(0x29E06830), UINT32_C(0xCB1AC772), UINT32_C(0x63D83340),
8591           UINT32_C(0xEB84F909), UINT32_C(0x178A6DD6)},
8592          {UINT32_C(0x3C27D7BA), UINT32_C(0xA9E94826), UINT32_C(0xDB027A4C),
8593           UINT32_C(0xC86AF96D), UINT32_C(0x56D5DF86), UINT32_C(0xE7D04E34),
8594           UINT32_C(0x2E8D0EE3), UINT32_C(0x7212EAC2)}},
8595         {{UINT32_C(0x8A75F66B), UINT32_C(0xE7E5AA64), UINT32_C(0x8CFD9597),
8596           UINT32_C(0x7E86B6AA), UINT32_C(0x834C0271), UINT32_C(0x1B7DDE0C),
8597           UINT32_C(0xD4AD306F), UINT32_C(0x397EAF2A)},
8598          {UINT32_C(0x1657E32B), UINT32_C(0x0A357906), UINT32_C(0x4957B3AF),
8599           UINT32_C(0xAAEB2DCF), UINT32_C(0x69D3CEE9), UINT32_C(0x1C0CBD02),
8600           UINT32_C(0x5A6E7D53), UINT32_C(0x7434EC32)}},
8601         {{UINT32_C(0x85559E86), UINT32_C(0xEB5878F7), UINT32_C(0x4A09C168),
8602           UINT32_C(0xB9555F70), UINT32_C(0x80501134), UINT32_C(0xBFFAC5DB),
8603           UINT32_C(0x05B53160), UINT32_C(0x4CDBF53A)},
8604          {UINT32_C(0x5F90344B), UINT32_C(0x1413BA29), UINT32_C(0xD0DD0CFD),
8605           UINT32_C(0xC6A9D1ED), UINT32_C(0xA0C31B73), UINT32_C(0x8C56AA29),
8606           UINT32_C(0xF4E58E08), UINT32_C(0x1C9B0B61)}},
8607         {{UINT32_C(0x0E2F595A), UINT32_C(0xBF8D2237), UINT32_C(0xCBA13CD8),
8608           UINT32_C(0x7A646816), UINT32_C(0x5CD728B6), UINT32_C(0xBD2E93A1),
8609           UINT32_C(0x07CF9009), UINT32_C(0x30FDF85C)},
8610          {UINT32_C(0x06122B98), UINT32_C(0x3496D949), UINT32_C(0x5A80B3AF),
8611           UINT32_C(0xE63EC741), UINT32_C(0x82838A44), UINT32_C(0xA2A39CF7),
8612           UINT32_C(0xC015E1D4), UINT32_C(0x4A064F99)}},
8613         {{UINT32_C(0x456CB242), UINT32_C(0x9CCDF95B), UINT32_C(0x6F4517DC),
8614           UINT32_C(0xDA1CB24E), UINT32_C(0x931A1115), UINT32_C(0x60450E0F),
8615           UINT32_C(0xB5680A8D), UINT32_C(0x6780D774)},
8616          {UINT32_C(0x1FDA4243), UINT32_C(0xAFE48DCD), UINT32_C(0xAE9733C7),
8617           UINT32_C(0x6BDD541C), UINT32_C(0xD79D1D52), UINT32_C(0xCBBCC69C),
8618           UINT32_C(0x1A513B3E), UINT32_C(0x334F4F67)}},
8619         {{UINT32_C(0xDF49E1A0), UINT32_C(0xCE7712C4), UINT32_C(0xE0B96135),
8620           UINT32_C(0xB5444862), UINT32_C(0xF050D010), UINT32_C(0x10564C4B),
8621           UINT32_C(0xFEBEFCC8), UINT32_C(0x0531AEC8)},
8622          {UINT32_C(0x70DF6D29), UINT32_C(0xD45B4BE7), UINT32_C(0x6829054E),
8623           UINT32_C(0x1ACC2D70), UINT32_C(0x54E56E05), UINT32_C(0x9744CDE1),
8624           UINT32_C(0x6EE02696), UINT32_C(0x3C5DE93E)}},
8625     },
8626     {
8627         {{UINT32_C(0x3951B674), UINT32_C(0xF43A2B99), UINT32_C(0x5E72FC98),
8628           UINT32_C(0xE82789E8), UINT32_C(0x86992601), UINT32_C(0x2AD48436),
8629           UINT32_C(0x01A2B65A), UINT32_C(0x3FDEB172)},
8630          {UINT32_C(0x3666322B), UINT32_C(0x926B4839), UINT32_C(0x44B3FDB7),
8631           UINT32_C(0x68847D5C), UINT32_C(0xF2F5E247), UINT32_C(0xD06C450D),
8632           UINT32_C(0xBBA7C892), UINT32_C(0x0CEC0646)}},
8633         {{UINT32_C(0x61F9C9DA), UINT32_C(0x76446D26), UINT32_C(0xAC60376F),
8634           UINT32_C(0xEF2C7B98), UINT32_C(0x2410C057), UINT32_C(0xEEA8CABE),
8635           UINT32_C(0x3672A2B6), UINT32_C(0x4C2CE2A7)},
8636          {UINT32_C(0x12879BA5), UINT32_C(0x3F770945), UINT32_C(0xAD913022),
8637           UINT32_C(0x719D5BD0), UINT32_C(0x36D445A4), UINT32_C(0x28A82DD9),
8638           UINT32_C(0x965965AA), UINT32_C(0x26382C23)}},
8639         {{UINT32_C(0xB8AA8419), UINT32_C(0x66709D92), UINT32_C(0x0AB5C241),
8640           UINT32_C(0xFAEFF2E4), UINT32_C(0x1DD46DEB), UINT32_C(0xABB7C5DD),
8641           UINT32_C(0x39DB6CB5), UINT32_C(0x7DD03C33)},
8642          {UINT32_C(0x9E160F01), UINT32_C(0x76CDD1EA), UINT32_C(0x81C5CA37),
8643           UINT32_C(0x00598D56), UINT32_C(0x241772EC), UINT32_C(0x16D23B04),
8644           UINT32_C(0x52A6B807), UINT32_C(0x5132B028)}},
8645         {{UINT32_C(0xCC041445), UINT32_C(0x6D48D4B5), UINT32_C(0x1528DF63),
8646           UINT32_C(0x0B1CD923), UINT32_C(0x4A815F60), UINT32_C(0x82EE4DC6),
8647           UINT32_C(0x0451E242), UINT32_C(0x29DA6059)},
8648          {UINT32_C(0x17A8A6D0), UINT32_C(0xCD90BFB0), UINT32_C(0x52A7FC3D),
8649           UINT32_C(0x8BCF4392), UINT32_C(0x1974860C), UINT32_C(0x49AD55F2),
8650           UINT32_C(0x5EDCB1D2), UINT32_C(0x20BBF010)}},
8651         {{UINT32_C(0xA8F6C08C), UINT32_C(0xB4F0EA84), UINT32_C(0xD50164F3),
8652           UINT32_C(0x4341BEA7), UINT32_C(0x06320C0F), UINT32_C(0xE5389019),
8653           UINT32_C(0x8BA6F033), UINT32_C(0x69D4851A)},
8654          {UINT32_C(0x77902045), UINT32_C(0x1CE58660), UINT32_C(0xBD8579B3),
8655           UINT32_C(0xF3B88D85), UINT32_C(0x4FB0A17B), UINT32_C(0xF84FF63A),
8656           UINT32_C(0xDE6581BF), UINT32_C(0x09EE62EE)}},
8657         {{UINT32_C(0x7C0516DE), UINT32_C(0x8B8C15B5), UINT32_C(0xA530B89F),
8658           UINT32_C(0x3B448FC3), UINT32_C(0x500B0251), UINT32_C(0xE385BBE5),
8659           UINT32_C(0xED70804B), UINT32_C(0x5F643F85)},
8660          {UINT32_C(0x239E85A5), UINT32_C(0x550D9B7D), UINT32_C(0x8666E41F),
8661           UINT32_C(0xDC910B5B), UINT32_C(0x7D4E390F), UINT32_C(0x65522181),
8662           UINT32_C(0x3162FE10), UINT32_C(0x5DD2D3E8)}},
8663         {{UINT32_C(0xDF024A25), UINT32_C(0x59609390), UINT32_C(0x08CCBA91),
8664           UINT32_C(0xE66A77E9), UINT32_C(0x65E24DB6), UINT32_C(0xC5CEA91A),
8665           UINT32_C(0x3DCEA0A7), UINT32_C(0x0888DFB5)},
8666          {UINT32_C(0x92FA0754), UINT32_C(0x8C8E58CC), UINT32_C(0xF7DC9538),
8667           UINT32_C(0x99C259AB), UINT32_C(0x9BEFE750), UINT32_C(0x3A06D8ED),
8668           UINT32_C(0xFAACDC97), UINT32_C(0x71AF22E1)}},
8669         {{UINT32_C(0x250AC059), UINT32_C(0xCC41D094), UINT32_C(0x3BE3DA01),
8670           UINT32_C(0xCD792A73), UINT32_C(0xCC61EFE1), UINT32_C(0x2DA07802),
8671           UINT32_C(0x57053A5D), UINT32_C(0x293AFB08)},
8672          {UINT32_C(0x2FD8A8A0), UINT32_C(0x3E7E4884), UINT32_C(0x0B9B48D3),
8673           UINT32_C(0x183FA500), UINT32_C(0x431AACF6), UINT32_C(0x9CAC07BE),
8674           UINT32_C(0x2DF89F10), UINT32_C(0x4F82D799)}},
8675         {{UINT32_C(0x0A84935C), UINT32_C(0xFD9F61A8), UINT32_C(0xBB5A7E56),
8676           UINT32_C(0x78B948D0), UINT32_C(0x0ACCEEB3), UINT32_C(0xDA478766),
8677           UINT32_C(0x53C3851D), UINT32_C(0x47BDAE44)},
8678          {UINT32_C(0x0CFE8D0D), UINT32_C(0x5AE2C60C), UINT32_C(0x1D8A79C9),
8679           UINT32_C(0xAC8F79B3), UINT32_C(0x0A79CA31), UINT32_C(0xA958C15E),
8680           UINT32_C(0xF0952018), UINT32_C(0x1C46E20E)}},
8681         {{UINT32_C(0xF04AC529), UINT32_C(0xAE552ECE), UINT32_C(0xE2BFEFBC),
8682           UINT32_C(0xB295B601), UINT32_C(0x54733412), UINT32_C(0xECC1EE55),
8683           UINT32_C(0x12282094), UINT32_C(0x28BCBA53)},
8684          {UINT32_C(0x50B25069), UINT32_C(0x306C0781), UINT32_C(0xE9A18FFE),
8685           UINT32_C(0x10D5D23C), UINT32_C(0x1BD5489F), UINT32_C(0xC34FC5C7),
8686           UINT32_C(0xE191867D), UINT32_C(0x2B610028)}},
8687         {{UINT32_C(0x3E17E84D), UINT32_C(0x458A1CC1), UINT32_C(0x5D7CFB98),
8688           UINT32_C(0x6EAE343D), UINT32_C(0x101F0B7E), UINT32_C(0xC6E0FDAA),
8689           UINT32_C(0x2A023288), UINT32_C(0x0B9F7C2C)},
8690          {UINT32_C(0x6F3FCAA0), UINT32_C(0xBEA893A8), UINT32_C(0x452B07C0),
8691           UINT32_C(0x7D711B2B), UINT32_C(0x98E2C88D), UINT32_C(0x28958737),
8692           UINT32_C(0xDFD99A2A), UINT32_C(0x553A0180)}},
8693         {{UINT32_C(0x0DBA5986), UINT32_C(0x8D617BE8), UINT32_C(0x13D18594),
8694           UINT32_C(0xDB763C14), UINT32_C(0xD2DAD82F), UINT32_C(0x822CB0DA),
8695           UINT32_C(0x93239947), UINT32_C(0x37ACD99F)},
8696          {UINT32_C(0xCDC08BE6), UINT32_C(0x6A2A7070), UINT32_C(0xCF6D63FF),
8697           UINT32_C(0x86B3B66A), UINT32_C(0x0F7D4A67), UINT32_C(0x5BEFF3FB),
8698           UINT32_C(0xEBC94AE5), UINT32_C(0x05C25557)}},
8699         {{UINT32_C(0x89183418), UINT32_C(0x5D1DC087), UINT32_C(0x6EA5A960),
8700           UINT32_C(0xA25C7AE2), UINT32_C(0xD31F3AAE), UINT32_C(0x074698B9),
8701           UINT32_C(0x221788A4), UINT32_C(0x5A5B510B)},
8702          {UINT32_C(0x1DCE95FE), UINT32_C(0x896A8787), UINT32_C(0x7F24020C),
8703           UINT32_C(0x89E7B93D), UINT32_C(0x865B4334), UINT32_C(0xFC19BF42),
8704           UINT32_C(0x5B78B06D), UINT32_C(0x0389FBF7)}},
8705         {{UINT32_C(0x0BB3A3E2), UINT32_C(0x73B6DA7B), UINT32_C(0x44D56755),
8706           UINT32_C(0xDBC12670), UINT32_C(0x7CC1C589), UINT32_C(0x7AF2DE28),
8707           UINT32_C(0x697CB6B7), UINT32_C(0x7E248FCB)},
8708          {UINT32_C(0xC64202C0), UINT32_C(0x9410EC06), UINT32_C(0x75EB3A8C),
8709           UINT32_C(0x79C82158), UINT32_C(0xE95C5EA9), UINT32_C(0x74FDD2F6),
8710           UINT32_C(0x1CCA72C7), UINT32_C(0x2A40B5B5)}},
8711         {{UINT32_C(0x5C29E320), UINT32_C(0x56984223), UINT32_C(0xE871D9E2),
8712           UINT32_C(0x8266392A), UINT32_C(0x7B391763), UINT32_C(0x9D86C6C7),
8713           UINT32_C(0x02543C9E), UINT32_C(0x5E9E61E2)},
8714          {UINT32_C(0xD2501D1A), UINT32_C(0xD62A9334), UINT32_C(0x9211135D),
8715           UINT32_C(0x9D19F54D), UINT32_C(0x8FE81272), UINT32_C(0x66D0B961),
8716           UINT32_C(0xD09C2033), UINT32_C(0x6E64635A)}},
8717         {{UINT32_C(0x06F84E11), UINT32_C(0x93BD0AD8), UINT32_C(0x131AFDBF),
8718           UINT32_C(0x45F18F2B), UINT32_C(0x6058EB37), UINT32_C(0x881F053F),
8719           UINT32_C(0x948AD0D5), UINT32_C(0x36B8D656)},
8720          {UINT32_C(0xE1934E38), UINT32_C(0x53DC2E02), UINT32_C(0xC0435B6C),
8721           UINT32_C(0xA8AD5055), UINT32_C(0x4BD7154F), UINT32_C(0x0DF7BD11),
8722           UINT32_C(0x73BC98FC), UINT32_C(0x6350B05E)}},
8723     },
8724     {
8725         {{UINT32_C(0x04BF927A), UINT32_C(0x12AC5496), UINT32_C(0xE749323E),
8726           UINT32_C(0x9BB322DB), UINT32_C(0xF6D99AD6), UINT32_C(0xC10C666D),
8727           UINT32_C(0x4C883E0A), UINT32_C(0x0FDF8FB3)},
8728          {UINT32_C(0x665272E8), UINT32_C(0x10667F92), UINT32_C(0x5BF8702F),
8729           UINT32_C(0xA30D4CE1), UINT32_C(0xA2D6033D), UINT32_C(0x56314B47),
8730           UINT32_C(0xDAC1A10E), UINT32_C(0x09EC90D9)}},
8731         {{UINT32_C(0xC9EB81D1), UINT32_C(0x364F06DD), UINT32_C(0x4DC5CB76),
8732           UINT32_C(0xFD181A56), UINT32_C(0xE264567C), UINT32_C(0x91CF010C),
8733           UINT32_C(0xA05C02FC), UINT32_C(0x71D9A95B)},
8734          {UINT32_C(0x53967407), UINT32_C(0xAB5AFBA6), UINT32_C(0x9B0AA089),
8735           UINT32_C(0x3FC77913), UINT32_C(0xAF29EF02), UINT32_C(0xDF1D4912),
8736           UINT32_C(0x5796A0A5), UINT32_C(0x01C3D61C)}},
8737         {{UINT32_C(0xB376E8DE), UINT32_C(0x11503A1C), UINT32_C(0xB8B98321),
8738           UINT32_C(0x5CB17D6D), UINT32_C(0xBD8FE9C2), UINT32_C(0x96C9D585),
8739           UINT32_C(0xD117171D), UINT32_C(0x048C8DA7)},
8740          {UINT32_C(0xB582282A), UINT32_C(0xDF7FABB8), UINT32_C(0x24FD6BB7),
8741           UINT32_C(0x75C2A937), UINT32_C(0x00633701), UINT32_C(0xDF0DBD32),
8742           UINT32_C(0x039B3E72), UINT32_C(0x04FB7AEC)}},
8743         {{UINT32_C(0x0E20C09A), UINT32_C(0xE60CCE96), UINT32_C(0x116E1C38),
8744           UINT32_C(0xAD295B31), UINT32_C(0xC04477D0), UINT32_C(0xCA6B625D),
8745           UINT32_C(0xFFA32E36), UINT32_C(0x032FE03B)},
8746          {UINT32_C(0xE2AAABC6), UINT32_C(0x46334FEE), UINT32_C(0xDA1C6871),
8747           UINT32_C(0x9808B03C), UINT32_C(0xF934A482), UINT32_C(0x76D0E3AA),
8748           UINT32_C(0xF9CB8F97), UINT32_C(0x2B0BF54A)}},
8749         {{UINT32_C(0x2CA29D02), UINT32_C(0xB5D52717), UINT32_C(0xDBEACF03),
8750           UINT32_C(0xF9DAEAFB), UINT32_C(0x113A3811), UINT32_C(0x3786E64B),
8751           UINT32_C(0x5C30569D), UINT32_C(0x6A01A1A5)},
8752          {UINT32_C(0xBA1C28B6), UINT32_C(0x0A91E160), UINT32_C(0x929D3F05),
8753           UINT32_C(0x5BFA32BA), UINT32_C(0x40C51084), UINT32_C(0x1108F875),
8754           UINT32_C(0x42FD5AE1), UINT32_C(0x37FD2383)}},
8755         {{UINT32_C(0x2A79BFB8), UINT32_C(0xABF14EDE), UINT32_C(0xAA34300C),
8756           UINT32_C(0x08B34155), UINT32_C(0x64077041), UINT32_C(0x85C0DFA0),
8757           UINT32_C(0xF542D447), UINT32_C(0x3AE5D28D)},
8758          {UINT32_C(0xB74DC4FB), UINT32_C(0xC303A0FE), UINT32_C(0x556E0B87),
8759           UINT32_C(0xB75292FA), UINT32_C(0x51BDC64C), UINT32_C(0x785628B0),
8760           UINT32_C(0x13C579F6), UINT32_C(0x43FE786E)}},
8761         {{UINT32_C(0x5F08790F), UINT32_C(0xBC5898CB), UINT32_C(0x125644EC),
8762           UINT32_C(0xA298A59A), UINT32_C(0xB048217A), UINT32_C(0xD2D9627B),
8763           UINT32_C(0x7B1F23F7), UINT32_C(0x6DCEEF32)},
8764          {UINT32_C(0xFA7B9C6A), UINT32_C(0x7F02FC44), UINT32_C(0x73597BF7),
8765           UINT32_C(0x90C64960), UINT32_C(0x2CB0B3A2), UINT32_C(0x5DD7E4F4),
8766           UINT32_C(0x43E83553), UINT32_C(0x5EC5F92C)}},
8767         {{UINT32_C(0x59E2C8E9), UINT32_C(0xC06B4D49), UINT32_C(0x1DF8AD8B),
8768           UINT32_C(0x7DBC8218), UINT32_C(0xDAE8B6D7), UINT32_C(0x35570120),
8769           UINT32_C(0x0CDE2691), UINT32_C(0x4222A1BA)},
8770          {UINT32_C(0xC1693046), UINT32_C(0xD2F1EFA6), UINT32_C(0x7D36D9CD),
8771           UINT32_C(0x2707228D), UINT32_C(0x062D499C), UINT32_C(0xD668EE25),
8772           UINT32_C(0xCE2621A0), UINT32_C(0x7AC81BDF)}},
8773         {{UINT32_C(0x16F6A215), UINT32_C(0x3A9F04BB), UINT32_C(0x89E5494E),
8774           UINT32_C(0x739BB2BC), UINT32_C(0xD1CEB043), UINT32_C(0xCB8DBAE8),
8775           UINT32_C(0x09A6B465), UINT32_C(0x6B177DF0)},
8776          {UINT32_C(0x1A529744), UINT32_C(0xB7C4980E), UINT32_C(0x0E9012B5),
8777           UINT32_C(0x3941B997), UINT32_C(0x04C6D677), UINT32_C(0xDF317B95),
8778           UINT32_C(0x829F51D6), UINT32_C(0x17898D81)}},
8779         {{UINT32_C(0xA12282BA), UINT32_C(0x3D48FD66), UINT32_C(0x899E5A1A),
8780           UINT32_C(0xB775465B), UINT32_C(0x55D95C35), UINT32_C(0xDE0CCB99),
8781           UINT32_C(0x950AB9DF), UINT32_C(0x4CB3CCDD)},
8782          {UINT32_C(0x175C4CAE), UINT32_C(0x0B4ABA02), UINT32_C(0xCF86187C),
8783           UINT32_C(0x2DA7C698), UINT32_C(0x9A9BF6CA), UINT32_C(0x3A4453DF),
8784           UINT32_C(0x8BB9F543), UINT32_C(0x53C86F9C)}},
8785         {{UINT32_C(0x5B7DB133), UINT32_C(0x806B815E), UINT32_C(0x118FA7C1),
8786           UINT32_C(0x2451D6AC), UINT32_C(0xFB0BEFC3), UINT32_C(0x32C148B6),
8787           UINT32_C(0xE433031E), UINT32_C(0x2E6ECEF6)},
8788          {UINT32_C(0x54B2EE29), UINT32_C(0x2B78F317), UINT32_C(0x5A73BF01),
8789           UINT32_C(0xBC321BF9), UINT32_C(0xF8F7F981), UINT32_C(0xDF6F7840),
8790           UINT32_C(0x22280C40), UINT32_C(0x751A917A)}},
8791         {{UINT32_C(0x4F9161C8), UINT32_C(0x73EFA631), UINT32_C(0x21145C52),
8792           UINT32_C(0xB61C5E68), UINT32_C(0x6A04DC52), UINT32_C(0x60947773),
8793           UINT32_C(0x2C2073B2), UINT32_C(0x758E38FF)},
8794          {UINT32_C(0x03A54541), UINT32_C(0xDC6FEA73), UINT32_C(0xB6E65787),
8795           UINT32_C(0x5E77682C), UINT32_C(0x37370FD0), UINT32_C(0xAFEF6C1C),
8796           UINT32_C(0xD5AC255A), UINT32_C(0x33DEEF00)}},
8797         {{UINT32_C(0x061D35CC), UINT32_C(0x1AD81101), UINT32_C(0x8A77D246),
8798           UINT32_C(0xD55EED7D), UINT32_C(0x926E64C3), UINT32_C(0x8D59DC22),
8799           UINT32_C(0xAFC6FFA6), UINT32_C(0x76C9D6CE)},
8800          {UINT32_C(0x3F4FCC0F), UINT32_C(0x945A89B5), UINT32_C(0x9087F46A),
8801           UINT32_C(0x65EB52CF), UINT32_C(0xAE9F09DE), UINT32_C(0xC3380377),
8802           UINT32_C(0x43DFD5FB), UINT32_C(0x59067EDD)}},
8803         {{UINT32_C(0xCF841445), UINT32_C(0xCBB7BC66), UINT32_C(0xA3BE7C94),
8804           UINT32_C(0x9ED681D3), UINT32_C(0x396C6DD5), UINT32_C(0xF5CF59BE),
8805           UINT32_C(0xFA763634), UINT32_C(0x2598A5DC)},
8806          {UINT32_C(0x85CF4FDE), UINT32_C(0xAD2B445A), UINT32_C(0xA0D92F4C),
8807           UINT32_C(0xC8CE3F42), UINT32_C(0xF01CD0F5), UINT32_C(0x78356D5B),
8808           UINT32_C(0x5D50C9D7), UINT32_C(0x26E44A45)}},
8809         {{UINT32_C(0x4EDF35A5), UINT32_C(0x22EB53E3), UINT32_C(0xAF1A8A60),
8810           UINT32_C(0xA0C6CDEF), UINT32_C(0xD07C1EBD), UINT32_C(0x1D31BA2C),
8811           UINT32_C(0xD2C2ADE1), UINT32_C(0x513511A0)},
8812          {UINT32_C(0xC4449889), UINT32_C(0xBD3772D4), UINT32_C(0xD3F49C61),
8813           UINT32_C(0xAF5EF819), UINT32_C(0x40047745), UINT32_C(0xAAF21599),
8814           UINT32_C(0xA54B8080), UINT32_C(0x2128938C)}},
8815         {{UINT32_C(0x73ADBEC8), UINT32_C(0x9761A94A), UINT32_C(0x1FB2F257),
8816           UINT32_C(0x4710BBF0), UINT32_C(0xB3920007), UINT32_C(0xFE52603E),
8817           UINT32_C(0x7DE06F13), UINT32_C(0x66393750)},
8818          {UINT32_C(0x965AC706), UINT32_C(0x35F4E633), UINT32_C(0x33F953E5),
8819           UINT32_C(0xF49DC418), UINT32_C(0x31CFE467), UINT32_C(0x1562AD51),
8820           UINT32_C(0x8ADB1F7A), UINT32_C(0x035FB54D)}},
8821     },
8822     {
8823         {{UINT32_C(0xFD73062E), UINT32_C(0xF632081F), UINT32_C(0xCB740B59),
8824           UINT32_C(0xB2740C19), UINT32_C(0x8751E315), UINT32_C(0x2DFD957F),
8825           UINT32_C(0xC21039C2), UINT32_C(0x5722E015)},
8826          {UINT32_C(0xA4E56D39), UINT32_C(0x44781BFC), UINT32_C(0xDA2FBE63),
8827           UINT32_C(0x894BD2F7), UINT32_C(0x5DE22DE0), UINT32_C(0x9E81007B),
8828           UINT32_C(0xC68788FC), UINT32_C(0x0CED0859)}},
8829         {{UINT32_C(0x8DDA6292), UINT32_C(0x97DD8CF1), UINT32_C(0x27FCF7F1),
8830           UINT32_C(0x3E9191F7), UINT32_C(0xDAA6AD44), UINT32_C(0x07885E32),
8831           UINT32_C(0xBE9F7E62), UINT32_C(0x624CE66E)},
8832          {UINT32_C(0x1893A3D9), UINT32_C(0x0483DA42), UINT32_C(0x8F2A105F),
8833           UINT32_C(0x1041B7EA), UINT32_C(0x429A24B9), UINT32_C(0x5B706F99),
8834           UINT32_C(0x167C12E1), UINT32_C(0x30BFBCEE)}},
8835         {{UINT32_C(0xC38251D8), UINT32_C(0xEB2C7218), UINT32_C(0x022B6411),
8836           UINT32_C(0x5FE5D8F6), UINT32_C(0x93DCCB63), UINT32_C(0xF62200C1),
8837           UINT32_C(0xCFF221E6), UINT32_C(0x2CF0F8F1)},
8838          {UINT32_C(0x9217EE42), UINT32_C(0xDCF1BCD6), UINT32_C(0x9DB2580B),
8839           UINT32_C(0x1904879C), UINT32_C(0xF6510164), UINT32_C(0x2DDB7E5D),
8840           UINT32_C(0x8A0EAC6B), UINT32_C(0x7BB29985)}},
8841         {{UINT32_C(0x0FCF8397), UINT32_C(0x98313C0E), UINT32_C(0x42C8EEF1),
8842           UINT32_C(0xB594D0B7), UINT32_C(0x97E842F7), UINT32_C(0xBD31FC34),
8843           UINT32_C(0x8F3ADB9B), UINT32_C(0x49476B9D)},
8844          {UINT32_C(0x50B45445), UINT32_C(0xD1B5FD37), UINT32_C(0xD583A89F),
8845           UINT32_C(0x526C51CA), UINT32_C(0x6782C060), UINT32_C(0x5D461F09),
8846           UINT32_C(0x27274A60), UINT32_C(0x414023EC)}},
8847         {{UINT32_C(0xEAE4285A), UINT32_C(0x7C809B26), UINT32_C(0x0A066043),
8848           UINT32_C(0x939814BF), UINT32_C(0x6C640E3D), UINT32_C(0x9CBAC0BB),
8849           UINT32_C(0x30EB1B86), UINT32_C(0x647E22E1)},
8850          {UINT32_C(0x3C7DFA0D), UINT32_C(0x21E2A42D), UINT32_C(0xE2CD0CCE),
8851           UINT32_C(0xFF8CC304), UINT32_C(0x3496964C), UINT32_C(0x3DC8C920),
8852           UINT32_C(0x2B4DF7C2), UINT32_C(0x5D91FE78)}},
8853         {{UINT32_C(0x96D84346), UINT32_C(0xD5BBBD6E), UINT32_C(0xF91FFA8C),
8854           UINT32_C(0x8363527B), UINT32_C(0x7F408588), UINT32_C(0x931D0FDA),
8855           UINT32_C(0xB0B19D0F), UINT32_C(0x2C51F17B)},
8856          {UINT32_C(0xFF61C86D), UINT32_C(0x7A693804), UINT32_C(0xB3FFD529),
8857           UINT32_C(0xBAB4AC45), UINT32_C(0x4C171C84), UINT32_C(0xEDEA275F),
8858           UINT32_C(0xD59B94D9), UINT32_C(0x0520925C)}},
8859         {{UINT32_C(0xE8718BB4), UINT32_C(0xB6A620AA), UINT32_C(0x88D37A61),
8860           UINT32_C(0x67851F0F), UINT32_C(0x9984A787), UINT32_C(0xCBEE8DBC),
8861           UINT32_C(0xAE834635), UINT32_C(0x7190B766)},
8862          {UINT32_C(0xC9AC1A8E), UINT32_C(0x3A1D7DB4), UINT32_C(0x7B97BCB7),
8863           UINT32_C(0x6EEBD5AD), UINT32_C(0x9D0AB769), UINT32_C(0x60978625),
8864           UINT32_C(0x7C7F02DD), UINT32_C(0x5AD56C0C)}},
8865         {{UINT32_C(0x2DB3B6F2), UINT32_C(0x2C0003DE), UINT32_C(0xEFCF1DD8),
8866           UINT32_C(0x3BE1CE3F), UINT32_C(0x379E6B8A), UINT32_C(0xE2F79872),
8867           UINT32_C(0x0B898094), UINT32_C(0x3F9640D8)},
8868          {UINT32_C(0x15B29D41), UINT32_C(0x11EBD937), UINT32_C(0x3EF17D8C),
8869           UINT32_C(0xD6A076B9), UINT32_C(0xB38ED3BA), UINT32_C(0x0A2C0016),
8870           UINT32_C(0xCCB161CC), UINT32_C(0x64329A02)}},
8871         {{UINT32_C(0xB1ED1DEA), UINT32_C(0xD135032D), UINT32_C(0x42F734A0),
8872           UINT32_C(0x43F76848), UINT32_C(0x3C18D8C5), UINT32_C(0x1F6C12BD),
8873           UINT32_C(0xC0A304E8), UINT32_C(0x7D7757B7)},
8874          {UINT32_C(0xDE3B6B9F), UINT32_C(0x3F0C2867), UINT32_C(0xB7201E4F),
8875           UINT32_C(0x72F98EBB), UINT32_C(0x940E748D), UINT32_C(0xCC408000),
8876           UINT32_C(0xAD74B322), UINT32_C(0x34FE6D8F)}},
8877         {{UINT32_C(0xE6D884FE), UINT32_C(0xA12A9359), UINT32_C(0xDE063103),
8878           UINT32_C(0xB080A081), UINT32_C(0x97ABB854), UINT32_C(0x672DE27D),
8879           UINT32_C(0xEE6F3485), UINT32_C(0x712B0883)},
8880          {UINT32_C(0x2044A2A2), UINT32_C(0xF430BF2D), UINT32_C(0x7D12027A),
8881           UINT32_C(0x66561020), UINT32_C(0x2C539C3B), UINT32_C(0x5ED63AD2),
8882           UINT32_C(0xFE5EE1D1), UINT32_C(0x7982AAD0)}},
8883         {{UINT32_C(0x3BE94D26), UINT32_C(0x873DC8F6), UINT32_C(0x4B41BD76),
8884           UINT32_C(0x90923639), UINT32_C(0x0CBE4B5C), UINT32_C(0xE439A496),
8885           UINT32_C(0x11782BF1), UINT32_C(0x424F8D24)},
8886          {UINT32_C(0x49686ED9), UINT32_C(0x6612BD99), UINT32_C(0xFB04E27E),
8887           UINT32_C(0x78157AA9), UINT32_C(0x805F809C), UINT32_C(0x844E1616),
8888           UINT32_C(0x62CB8BCD), UINT32_C(0x717AEB32)}},
8889         {{UINT32_C(0x5248CF6A), UINT32_C(0xE98C1A0E), UINT32_C(0xB0E4ADF8),
8890           UINT32_C(0xC84294A8), UINT32_C(0xA7769275), UINT32_C(0xD35748A4),
8891           UINT32_C(0x03363C82), UINT32_C(0x2C3867E1)},
8892          {UINT32_C(0x8F43885A), UINT32_C(0x2EC7AF43), UINT32_C(0x3AE516C7),
8893           UINT32_C(0x7979D1A2), UINT32_C(0x8B81056C), UINT32_C(0x059939EC),
8894           UINT32_C(0x7E358480), UINT32_C(0x434AA4DD)}},
8895         {{UINT32_C(0x4A5228EA), UINT32_C(0x12EA1C87), UINT32_C(0x4D293B9F),
8896           UINT32_C(0x47B48198), UINT32_C(0xE9696688), UINT32_C(0x319CE379),
8897           UINT32_C(0x7CE6FD05), UINT32_C(0x7C9FF595)},
8898          {UINT32_C(0x3093E3E4), UINT32_C(0x15E954DF), UINT32_C(0x304015AF),
8899           UINT32_C(0xBC98307C), UINT32_C(0x975C69C5), UINT32_C(0x66522DF8),
8900           UINT32_C(0x963CE892), UINT32_C(0x4C9EBFB3)}},
8901         {{UINT32_C(0x628FB125), UINT32_C(0x1CEEF18A), UINT32_C(0x4BF30BB6),
8902           UINT32_C(0xFB69A234), UINT32_C(0x70C9C864), UINT32_C(0x510EB339),
8903           UINT32_C(0x8A89151D), UINT32_C(0x1EE9D1ED)},
8904          {UINT32_C(0x4EE1A486), UINT32_C(0x34094028), UINT32_C(0x2FC79CEE),
8905           UINT32_C(0x66440167), UINT32_C(0xC7DA3A75), UINT32_C(0xB597625A),
8906           UINT32_C(0x65205AF9), UINT32_C(0x6E5B920E)}},
8907         {{UINT32_C(0xD87C914C), UINT32_C(0x749D0CA4), UINT32_C(0x0D60C59E),
8908           UINT32_C(0x55ECBEBB), UINT32_C(0xA65B4652), UINT32_C(0x916A1127),
8909           UINT32_C(0x4E4767A3), UINT32_C(0x503964D4)},
8910          {UINT32_C(0x1B1F94D5), UINT32_C(0x8899A4C2), UINT32_C(0x33E0D94D),
8911           UINT32_C(0xEFFCAF52), UINT32_C(0xA3DAD87D), UINT32_C(0x61B89B3F),
8912           UINT32_C(0x5088D6BE), UINT32_C(0x3CB455F5)}},
8913         {{UINT32_C(0x70678C14), UINT32_C(0x5088A52B), UINT32_C(0x41B00FC3),
8914           UINT32_C(0x212823D9), UINT32_C(0x19865BDB), UINT32_C(0x38D5CEB6),
8915           UINT32_C(0x12E63491), UINT32_C(0x2E9C7FD7)},
8916          {UINT32_C(0x59E73913), UINT32_C(0x6656F916), UINT32_C(0xE9035A63),
8917           UINT32_C(0x57AE9A47), UINT32_C(0xF02B8DAE), UINT32_C(0x970DCF2B),
8918           UINT32_C(0x950FF8A9), UINT32_C(0x3366F8A6)}},
8919     },
8920     {
8921         {{UINT32_C(0xAC4A8F83), UINT32_C(0x93DABD6F), UINT32_C(0x1CFF0AAD),
8922           UINT32_C(0x27233488), UINT32_C(0xF500EDFB), UINT32_C(0xBCAC3181),
8923           UINT32_C(0xB5297515), UINT32_C(0x27C6DB15)},
8924          {UINT32_C(0x2F08A89F), UINT32_C(0x9CD142D9), UINT32_C(0x2EAD0A80),
8925           UINT32_C(0x3C005423), UINT32_C(0x44A7623A), UINT32_C(0x82845F95),
8926           UINT32_C(0x72BC4862), UINT32_C(0x51047070)}},
8927         {{UINT32_C(0xDC1B9159), UINT32_C(0x4303797A), UINT32_C(0x5D9C9AC1),
8928           UINT32_C(0x7842434B), UINT32_C(0x6009FE2E), UINT32_C(0x8A36ED2D),
8929           UINT32_C(0x5106429C), UINT32_C(0x11FE35C9)},
8930          {UINT32_C(0x23554A92), UINT32_C(0xDF20A393), UINT32_C(0x932E37C2),
8931           UINT32_C(0x59364A48), UINT32_C(0x7754A5DF), UINT32_C(0x6D7DE6AE),
8932           UINT32_C(0x462725AC), UINT32_C(0x00CCC6A3)}},
8933         {{UINT32_C(0xBAE83077), UINT32_C(0xB1F86CA5), UINT32_C(0x5110782C),
8934           UINT32_C(0x82FE28A5), UINT32_C(0xD942182C), UINT32_C(0x8031BBF3),
8935           UINT32_C(0x410D9F83), UINT32_C(0x4F1F3815)},
8936          {UINT32_C(0x835ABA65), UINT32_C(0xE57F9907), UINT32_C(0x5AA10903),
8937           UINT32_C(0x0A8220C2), UINT32_C(0x8812602E), UINT32_C(0x2E984717),
8938           UINT32_C(0x2A7D2C6C), UINT32_C(0x0AEC467D)}},
8939         {{UINT32_C(0xC4DBED03), UINT32_C(0xC779F708), UINT32_C(0x8582BD4E),
8940           UINT32_C(0x10A30CD8), UINT32_C(0x243FEAEE), UINT32_C(0xFA5646C5),
8941           UINT32_C(0xCA459EF7), UINT32_C(0x1CFAF38E)},
8942          {UINT32_C(0x95BC8077), UINT32_C(0xCCDD0146), UINT32_C(0x65858C49),
8943           UINT32_C(0x4ECDE919), UINT32_C(0x77FEE1B6), UINT32_C(0x562764C6),
8944           UINT32_C(0x43524407), UINT32_C(0x3CF5A3AB)}},
8945         {{UINT32_C(0x0F6EF445), UINT32_C(0x0CCEAADD), UINT32_C(0xC297AFAF),
8946           UINT32_C(0x690C12C1), UINT32_C(0xC15B3D7B), UINT32_C(0xD67AA6EA),
8947           UINT32_C(0x9FF8884E), UINT32_C(0x445D233C)},
8948          {UINT32_C(0x6CAD3234), UINT32_C(0xC38FFD09), UINT32_C(0xC7002F6F),
8949           UINT32_C(0xA690FFD1), UINT32_C(0x11ACB469), UINT32_C(0xD445E851),
8950           UINT32_C(0x97166E52), UINT32_C(0x64EE1380)}},
8951         {{UINT32_C(0xCEFBFB0A), UINT32_C(0x1EB031CC), UINT32_C(0xAA40D6A9),
8952           UINT32_C(0x60F3DEF4), UINT32_C(0xF96FCAFE), UINT32_C(0x240F7CA5),
8953           UINT32_C(0xE4450A06), UINT32_C(0x53AF2F10)},
8954          {UINT32_C(0xA84058EF), UINT32_C(0xE8AF980F), UINT32_C(0x34AFFC6E),
8955           UINT32_C(0x3E300017), UINT32_C(0xC86B458C), UINT32_C(0x62D1D094),
8956           UINT32_C(0x75732C7E), UINT32_C(0x5338383D)}},
8957         {{UINT32_C(0x04D82638), UINT32_C(0x6BD46AEB), UINT32_C(0x62E645A0),
8958           UINT32_C(0x86940A31), UINT32_C(0xA5736B40), UINT32_C(0xD025B4B1),
8959           UINT32_C(0x924E8E5E), UINT32_C(0x1056D9D0)},
8960          {UINT32_C(0x1DB58101), UINT32_C(0x3D0495CC), UINT32_C(0x2D677581),
8961           UINT32_C(0xC300C6E7), UINT32_C(0x610AECEC), UINT32_C(0xFE38B898),
8962           UINT32_C(0xD66F64ED), UINT32_C(0x1C8B94E2)}},
8963         {{UINT32_C(0x06D0C7EC), UINT32_C(0x5C9C3A37), UINT32_C(0xB8A74918),
8964           UINT32_C(0x6B4B5437), UINT32_C(0x9052A235), UINT32_C(0x85689C98),
8965           UINT32_C(0x87B53AA6), UINT32_C(0x4F7C2C8D)},
8966          {UINT32_C(0xD8F1D334), UINT32_C(0x9FCD866F), UINT32_C(0x6898223C),
8967           UINT32_C(0xDBAAA227), UINT32_C(0x95C7B35A), UINT32_C(0x933DE9DA),
8968           UINT32_C(0x3EA949FD), UINT32_C(0x329AE20F)}},
8969         {{UINT32_C(0x948A2ECD), UINT32_C(0xB83547AF), UINT32_C(0xBE34890C),
8970           UINT32_C(0xEBF7C1E7), UINT32_C(0xF8211C33), UINT32_C(0x5F0F44F3),
8971           UINT32_C(0xC6927638), UINT32_C(0x14A10BDB)},
8972          {UINT32_C(0x5B579BF5), UINT32_C(0x7FD88567), UINT32_C(0x5B7417F0),
8973           UINT32_C(0xD7C71281), UINT32_C(0x2083502E), UINT32_C(0x7C04F111),
8974           UINT32_C(0xE9AD6283), UINT32_C(0x42029128)}},
8975         {{UINT32_C(0x2C5C0928), UINT32_C(0x32FBFFAE), UINT32_C(0x1469F1D3),
8976           UINT32_C(0x4E31D312), UINT32_C(0xD79F51A2), UINT32_C(0x17307E28),
8977           UINT32_C(0x79A51EBD), UINT32_C(0x546C91AF)},
8978          {UINT32_C(0x668086A6), UINT32_C(0x041D464D), UINT32_C(0x0DB695DB),
8979           UINT32_C(0x4986BDE5), UINT32_C(0xEF317AA0), UINT32_C(0xCBA5F6EE),
8980           UINT32_C(0x730221D3), UINT32_C(0x5879259F)}},
8981         {{UINT32_C(0x253BB4BA), UINT32_C(0xBD9C5CA5), UINT32_C(0x0E2A75BB),
8982           UINT32_C(0xBBFC6079), UINT32_C(0x67AB9033), UINT32_C(0xB5F11AE3),
8983           UINT32_C(0xAC2BFAFE), UINT32_C(0x6411CB1E)},
8984          {UINT32_C(0xBF5390B0), UINT32_C(0x750734FE), UINT32_C(0x879A3D3D),
8985           UINT32_C(0xA044BED4), UINT32_C(0xA0C47093), UINT32_C(0xE1E9F0E4),
8986           UINT32_C(0xB64DA48C), UINT32_C(0x3BCAD93E)}},
8987         {{UINT32_C(0xB37E16C2), UINT32_C(0xAFC6BCB6), UINT32_C(0x2331B0CD),
8988           UINT32_C(0xB54F56C0), UINT32_C(0x5BBFBEE7), UINT32_C(0x725E81B4),
8989           UINT32_C(0xE8B9D922), UINT32_C(0x2AE0C039)},
8990          {UINT32_C(0xDB958319), UINT32_C(0x85301041), UINT32_C(0x0681C4A4),
8991           UINT32_C(0xDFAE34DD), UINT32_C(0xCBF7BB2B), UINT32_C(0x906C9219),
8992           UINT32_C(0x10A1710A), UINT32_C(0x1463E9EF)}},
8993         {{UINT32_C(0x21E6FC9D), UINT32_C(0x41E6C388), UINT32_C(0x24A39EC8),
8994           UINT32_C(0x0B629A1E), UINT32_C(0x1AEF7A46), UINT32_C(0xC62F60BE),
8995           UINT32_C(0xC5A16B6E), UINT32_C(0x59A50B54)},
8996          {UINT32_C(0x285B891E), UINT32_C(0x41CA367A), UINT32_C(0xE2F8AF59),
8997           UINT32_C(0x70A6CE6B), UINT32_C(0xCBCEEF98), UINT32_C(0x74058747),
8998           UINT32_C(0x601C375F), UINT32_C(0x4B912170)}},
8999         {{UINT32_C(0x734EE866), UINT32_C(0x7D975CE2), UINT32_C(0xA09F5F14),
9000           UINT32_C(0x8D3572C6), UINT32_C(0x2232EE5E), UINT32_C(0x1DB4CC88),
9001           UINT32_C(0x7C04C250), UINT32_C(0x6C979049)},
9002          {UINT32_C(0xAE1EBC20), UINT32_C(0xB5EC7706), UINT32_C(0xE21AAA32),
9003           UINT32_C(0x7BDBD34D), UINT32_C(0xC5D1C733), UINT32_C(0xAD4125FD),
9004           UINT32_C(0x731E6B09), UINT32_C(0x28B0302D)}},
9005         {{UINT32_C(0x1521415E), UINT32_C(0xD68EEC49), UINT32_C(0x092763C0),
9006           UINT32_C(0x31963424), UINT32_C(0x0BFB513B), UINT32_C(0xCA90F48D),
9007           UINT32_C(0x573A056A), UINT32_C(0x4814DDFF)},
9008          {UINT32_C(0x400E804D), UINT32_C(0x7E67599C), UINT32_C(0x51FD0596),
9009           UINT32_C(0x35452750), UINT32_C(0xDB331B66), UINT32_C(0x45EDD7FB),
9010           UINT32_C(0xBDEDE107), UINT32_C(0x172DA8B3)}},
9011         {{UINT32_C(0xB5BEB1C8), UINT32_C(0xD46F284C), UINT32_C(0x7B125701),
9012           UINT32_C(0x5DE5D3F1), UINT32_C(0x248053D1), UINT32_C(0xC3BA591E),
9013           UINT32_C(0x9C8F487C), UINT32_C(0x4E67F1F2)},
9014          {UINT32_C(0x8C252EC5), UINT32_C(0x380D93E4), UINT32_C(0x22BC5CF6),
9015           UINT32_C(0x913F96F1), UINT32_C(0xD7BAA634), UINT32_C(0xC1F06BBD),
9016           UINT32_C(0xA30BF1B9), UINT32_C(0x7B625179)}},
9017     },
9018     {
9019         {{UINT32_C(0xABD424AC), UINT32_C(0x125D398D), UINT32_C(0x9CC70479),
9020           UINT32_C(0xFE65DF03), UINT32_C(0xFB5EC82C), UINT32_C(0x89A31794),
9021           UINT32_C(0xA31C5DCA), UINT32_C(0x63EFFB55)},
9022          {UINT32_C(0x045B576A), UINT32_C(0x948F7571), UINT32_C(0x022B5FC8),
9023           UINT32_C(0xEC9F6FAB), UINT32_C(0xBD9F0DD2), UINT32_C(0x174DC936),
9024           UINT32_C(0xF4C4EE8B), UINT32_C(0x5EEA65E6)}},
9025         {{UINT32_C(0x8B800D67), UINT32_C(0xE97070AE), UINT32_C(0xB59B433E),
9026           UINT32_C(0xB9CB66FA), UINT32_C(0xC6141364), UINT32_C(0xC4496574),
9027           UINT32_C(0x6A9677EA), UINT32_C(0x530AA9B5)},
9028          {UINT32_C(0x75200533), UINT32_C(0x4A4E2EE3), UINT32_C(0x0F20A9BE),
9029           UINT32_C(0x4C38A509), UINT32_C(0xEA683510), UINT32_C(0x0A6FFBA4),
9030           UINT32_C(0x65732EA9), UINT32_C(0x7340EFEE)}},
9031         {{UINT32_C(0xE41C2B43), UINT32_C(0x3A5612E4), UINT32_C(0xFCB5C0A8),
9032           UINT32_C(0x31F51B80), UINT32_C(0xBD1F03E6), UINT32_C(0x4C5BBA64),
9033           UINT32_C(0x3694ADCA), UINT32_C(0x25387243)},
9034          {UINT32_C(0x1F7E4D5C), UINT32_C(0xF114EFAF), UINT32_C(0x4EA3A59D),
9035           UINT32_C(0xBEA5223A), UINT32_C(0x67EB414D), UINT32_C(0x82CEF46F),
9036           UINT32_C(0x9B6CAC3D), UINT32_C(0x09D351C1)}},
9037         {{UINT32_C(0x810F5054), UINT32_C(0xC69F25CE), UINT32_C(0x548A2CDF),
9038           UINT32_C(0xE33E5E97), UINT32_C(0x36946D3C), UINT32_C(0x20B3F442),
9039           UINT32_C(0x65DF2D3B), UINT32_C(0x572C0F5C)},
9040          {UINT32_C(0xCC953CC8), UINT32_C(0xFC5B2DF3), UINT32_C(0xD1CCADC6),
9041           UINT32_C(0x934D54C0), UINT32_C(0xA6E7B4DB), UINT32_C(0x828A906E),
9042           UINT32_C(0x5AD3076F), UINT32_C(0x610D36C1)}},
9043         {{UINT32_C(0x74F56E27), UINT32_C(0x960B0A01), UINT32_C(0xCF3FEA75),
9044           UINT32_C(0x9942C6AC), UINT32_C(0x82C51490), UINT32_C(0x2E4D786D),
9045           UINT32_C(0x9A4749C9), UINT32_C(0x23A51636)},
9046          {UINT32_C(0x2F7560FC), UINT32_C(0xD86AB36A), UINT32_C(0xDDB852A9),
9047           UINT32_C(0xDA66B49D), UINT32_C(0x544C1023), UINT32_C(0x84E1587D),
9048           UINT32_C(0x6AA3C1DA), UINT32_C(0x7AB8BC69)}},
9049         {{UINT32_C(0xA5F30701), UINT32_C(0xFD0397AF), UINT32_C(0xDFC8B187),
9050           UINT32_C(0x96FFB15D), UINT32_C(0x1475E520), UINT32_C(0xF2C86453),
9051           UINT32_C(0xEF37300E), UINT32_C(0x71521986)},
9052          {UINT32_C(0x68006D45), UINT32_C(0xD81F75A8), UINT32_C(0xCBC06D4D),
9053           UINT32_C(0xDF7814EA), UINT32_C(0x2E8E9150), UINT32_C(0x5BCF959B),
9054           UINT32_C(0x56668C18), UINT32_C(0x146D37D7)}},
9055         {{UINT32_C(0x88E8DC77), UINT32_C(0x1ABD7312), UINT32_C(0xC1C3A4DB),
9056           UINT32_C(0x0B34B877), UINT32_C(0xF844BACE), UINT32_C(0x85739093),
9057           UINT32_C(0x04A7CF80), UINT32_C(0x5DEDCF8F)},
9058          {UINT32_C(0xD87CDBDC), UINT32_C(0xD8BB237E), UINT32_C(0xCCBA784F),
9059           UINT32_C(0x89852174), UINT32_C(0xB2FAECC3), UINT32_C(0x6843BAB8),
9060           UINT32_C(0xAA4BBA32), UINT32_C(0x15268302)}},
9061         {{UINT32_C(0xB23D3770), UINT32_C(0x3B58225A), UINT32_C(0x10CC9DE6),
9062           UINT32_C(0x9357EB59), UINT32_C(0x42ECF80E), UINT32_C(0x8665F92A),
9063           UINT32_C(0xC875C031), UINT32_C(0x4819CC9D)},
9064          {UINT32_C(0xC34B979B), UINT32_C(0x09CBE5D8), UINT32_C(0x7E1D0E63),
9065           UINT32_C(0x161E8AC0), UINT32_C(0x282E36E8), UINT32_C(0x874DF24F),
9066           UINT32_C(0x0712A0CD), UINT32_C(0x6528E6FA)}},
9067         {{UINT32_C(0x107633E4), UINT32_C(0xE37AD786), UINT32_C(0xCF1FE646),
9068           UINT32_C(0x122D7123), UINT32_C(0xCFA93AC0), UINT32_C(0x1E6E682B),
9069           UINT32_C(0x276200DB), UINT32_C(0x0A25F4EE)},
9070          {UINT32_C(0xE25FBB01), UINT32_C(0x44E290ED), UINT32_C(0xC3C1B418),
9071           UINT32_C(0x3E392DF5), UINT32_C(0x83EBE689), UINT32_C(0xE5E15745),
9072           UINT32_C(0x4B999926), UINT32_C(0x016139D2)}},
9073         {{UINT32_C(0x65D7DA58), UINT32_C(0x048915B0), UINT32_C(0xA78F3D9E),
9074           UINT32_C(0x6EF7C4EF), UINT32_C(0xAD614974), UINT32_C(0x78CCCE55),
9075           UINT32_C(0x54B95643), UINT32_C(0x43DB7DA0)},
9076          {UINT32_C(0xE53F1A67), UINT32_C(0xFC423B70), UINT32_C(0x4EFE2427),
9077           UINT32_C(0x8F8BED81), UINT32_C(0x95B045EB), UINT32_C(0xF5D6AD5F),
9078           UINT32_C(0xD7407716), UINT32_C(0x23582D5D)}},
9079         {{UINT32_C(0x9F674472), UINT32_C(0x9E5D24FB), UINT32_C(0x68626041),
9080           UINT32_C(0x1AE18636), UINT32_C(0x7ABC4380), UINT32_C(0x8977E68F),
9081           UINT32_C(0x05AF2D04), UINT32_C(0x7D9FF8E8)},
9082          {UINT32_C(0x4197C4E1), UINT32_C(0x9D31195F), UINT32_C(0x4400F35E),
9083           UINT32_C(0x9F3F6E11), UINT32_C(0x7BBEF801), UINT32_C(0x1A87D586),
9084           UINT32_C(0x952BB025), UINT32_C(0x42AE0380)}},
9085         {{UINT32_C(0x6B96482B), UINT32_C(0xC6A3ED75), UINT32_C(0xA9C6DD2F),
9086           UINT32_C(0x58B38724), UINT32_C(0x9297FB47), UINT32_C(0x464C8CE8),
9087           UINT32_C(0xFB6D6C55), UINT32_C(0x0245797E)},
9088          {UINT32_C(0xC0B58C8F), UINT32_C(0xBE141C80), UINT32_C(0x77766C48),
9089           UINT32_C(0xC4C405CB), UINT32_C(0xD10C0F31), UINT32_C(0xD57EE428),
9090           UINT32_C(0x50E8FE7B), UINT32_C(0x03D4862B)}},
9091         {{UINT32_C(0x1DC3722C), UINT32_C(0x21976F8A), UINT32_C(0x5F476F0D),
9092           UINT32_C(0x02EC30D5), UINT32_C(0xCA434B06), UINT32_C(0xD711E01D),
9093           UINT32_C(0x99FF2488), UINT32_C(0x551AC910)},
9094          {UINT32_C(0xA56CA3C7), UINT32_C(0x24AEC72D), UINT32_C(0x891896CE),
9095           UINT32_C(0x2DD1219A), UINT32_C(0x67882925), UINT32_C(0xD84BAD19),
9096           UINT32_C(0x9D4778EF), UINT32_C(0x27E65D7F)}},
9097         {{UINT32_C(0x4685687F), UINT32_C(0x09F19C8F), UINT32_C(0xBBB58BD3),
9098           UINT32_C(0xB7C7B9E3), UINT32_C(0x8FA34DD5), UINT32_C(0x349D03A7),
9099           UINT32_C(0x8D59E889), UINT32_C(0x41F9D003)},
9100          {UINT32_C(0x2B3ED6FA), UINT32_C(0xCF3367D4), UINT32_C(0x378DA1ED),
9101           UINT32_C(0xCF3C6715), UINT32_C(0x4E935E9A), UINT32_C(0x86DC3903),
9102           UINT32_C(0xF08CB23A), UINT32_C(0x50692CFF)}},
9103         {{UINT32_C(0xC2D65C87), UINT32_C(0x18CA772A), UINT32_C(0x4F1D0CB6),
9104           UINT32_C(0xC9092B38), UINT32_C(0xBBD2015A), UINT32_C(0x91E71CF1),
9105           UINT32_C(0x4F3DEF26), UINT32_C(0x4A09DAAC)},
9106          {UINT32_C(0x735C9281), UINT32_C(0x7CCA7B4A), UINT32_C(0x1BF0AAEE),
9107           UINT32_C(0x2028F144), UINT32_C(0xACB5B748), UINT32_C(0xCF72A082),
9108           UINT32_C(0x43299B85), UINT32_C(0x58957D5D)}},
9109         {{UINT32_C(0x901F1789), UINT32_C(0x64BB164E), UINT32_C(0x5AEF97BF),
9110           UINT32_C(0xC68766E6), UINT32_C(0x942B6DCE), UINT32_C(0x30ECA3E2),
9111           UINT32_C(0xF9E798F3), UINT32_C(0x632676FA)},
9112          {UINT32_C(0xF13896EE), UINT32_C(0xB52533D3), UINT32_C(0x2D8A29C1),
9113           UINT32_C(0xAD912831), UINT32_C(0xBC14E7FF), UINT32_C(0x12F1B9A4),
9114           UINT32_C(0x8828D196), UINT32_C(0x4E1D23FD)}},
9115     },
9116     {
9117         {{UINT32_C(0xEF494793), UINT32_C(0xC4F89E00), UINT32_C(0xC93D2F55),
9118           UINT32_C(0xA6044BC3), UINT32_C(0x8797F8AF), UINT32_C(0x68E60B58),
9119           UINT32_C(0x841E4B5E), UINT32_C(0x4D5969FA)},
9120          {UINT32_C(0xD759BB2D), UINT32_C(0xB1EE70FB), UINT32_C(0x66D8AD01),
9121           UINT32_C(0x9AC30433), UINT32_C(0x84E9F677), UINT32_C(0xD93F23DB),
9122           UINT32_C(0xC53029A4), UINT32_C(0x2AD9D16F)}},
9123         {{UINT32_C(0xDD882D23), UINT32_C(0xD01FC16B), UINT32_C(0xFA5B4128),
9124           UINT32_C(0x3BF921F1), UINT32_C(0x235BC9CE), UINT32_C(0x3D3FE145),
9125           UINT32_C(0x62E686E1), UINT32_C(0x59556716)},
9126          {UINT32_C(0x79F99D69), UINT32_C(0xE329A7C2), UINT32_C(0xA4F5F5F5),
9127           UINT32_C(0xA67EF5EC), UINT32_C(0xD5A34FF0), UINT32_C(0xF96A41EE),
9128           UINT32_C(0x74674B5F), UINT32_C(0x09D0CF06)}},
9129         {{UINT32_C(0x6135B7E2), UINT32_C(0x8CCDF71C), UINT32_C(0xAFB6AD6B),
9130           UINT32_C(0x91F1E33E), UINT32_C(0xDB0CFEDF), UINT32_C(0xC452F439),
9131           UINT32_C(0xC05B06D4), UINT32_C(0x15724711)},
9132          {UINT32_C(0xA3BC1277), UINT32_C(0x5FEE0E0E), UINT32_C(0x8D8BA081),
9133           UINT32_C(0xD6847FAD), UINT32_C(0x0D4C8DDD), UINT32_C(0x8B02666C),
9134           UINT32_C(0xC35559DB), UINT32_C(0x149E5009)}},
9135         {{UINT32_C(0x5461D9CA), UINT32_C(0xB4D0D2C9), UINT32_C(0xCE0A3973),
9136           UINT32_C(0xFE7993B6), UINT32_C(0xD6032E95), UINT32_C(0x42B2A500),
9137           UINT32_C(0x217131C6), UINT32_C(0x4DEEE35A)},
9138          {UINT32_C(0xFFE7C2EB), UINT32_C(0x94E65C8C), UINT32_C(0xB19D4B4A),
9139           UINT32_C(0x0DAD7785), UINT32_C(0x925613F9), UINT32_C(0xEEBA6794),
9140           UINT32_C(0xE30494CB), UINT32_C(0x6AF45BBE)}},
9141         {{UINT32_C(0x32F43F67), UINT32_C(0x41352A61), UINT32_C(0x48F886D3),
9142           UINT32_C(0x0D218DE9), UINT32_C(0x9B33B0F6), UINT32_C(0xCDFC0C55),
9143           UINT32_C(0x6C5B90CD), UINT32_C(0x21FC6353)},
9144          {UINT32_C(0x7898AFF2), UINT32_C(0x5D8CA5AD), UINT32_C(0x24287C30),
9145           UINT32_C(0xA743F80E), UINT32_C(0x9084A3A2), UINT32_C(0x4D037131),
9146           UINT32_C(0xB5EFC978), UINT32_C(0x52041EED)}},
9147         {{UINT32_C(0xCC1BCFCB), UINT32_C(0x80B588EE), UINT32_C(0xE5CE0035),
9148           UINT32_C(0xAD871A11), UINT32_C(0xF966D746), UINT32_C(0xF47224D0),
9149           UINT32_C(0xB387FCC2), UINT32_C(0x5215A9D2)},
9150          {UINT32_C(0x695C02AF), UINT32_C(0xC54EB2E7), UINT32_C(0xDFC8493D),
9151           UINT32_C(0x36FD06BC), UINT32_C(0x98CE7C76), UINT32_C(0x1CE8A9AA),
9152           UINT32_C(0x644D398B), UINT32_C(0x058DFCBF)}},
9153         {{UINT32_C(0x5BB81464), UINT32_C(0xCD7E67DC), UINT32_C(0x047A7789),
9154           UINT32_C(0xE7A19301), UINT32_C(0x573E837B), UINT32_C(0xCCC31EE5),
9155           UINT32_C(0xAF7703D5), UINT32_C(0x25EE99AF)},
9156          {UINT32_C(0xDDB3E807), UINT32_C(0x34FDD6DA), UINT32_C(0x109092DD),
9157           UINT32_C(0x273D8288), UINT32_C(0xB7357633), UINT32_C(0xF8F2464F),
9158           UINT32_C(0xCCAA31D5), UINT32_C(0x26B2CBAD)}},
9159         {{UINT32_C(0xF707F9F7), UINT32_C(0xBA9CFEDE), UINT32_C(0xAC4975FB),
9160           UINT32_C(0xA9A6896C), UINT32_C(0xBB1C35E4), UINT32_C(0x62135D9D),
9161           UINT32_C(0xCBA133D2), UINT32_C(0x13AE840F)},
9162          {UINT32_C(0x4C2BA3A9), UINT32_C(0x6ABF3913), UINT32_C(0x6D8A62C1),
9163           UINT32_C(0xE4D8508A), UINT32_C(0x66D96607), UINT32_C(0xF2565354),
9164           UINT32_C(0xB6CABAE8), UINT32_C(0x5C368CCE)}},
9165         {{UINT32_C(0x8B3999BB), UINT32_C(0x0C3B52E8), UINT32_C(0xEF691871),
9166           UINT32_C(0xB752E28F), UINT32_C(0xF17D0D2D), UINT32_C(0xA0460ABC),
9167           UINT32_C(0xB7741F2C), UINT32_C(0x7DDCE3C1)},
9168          {UINT32_C(0x3673000F), UINT32_C(0x076A6BAB), UINT32_C(0x425E8A9D),
9169           UINT32_C(0xCDB1CD2B), UINT32_C(0x2606EAB5), UINT32_C(0x357FCFFF),
9170           UINT32_C(0x035DE7B4), UINT32_C(0x308644F8)}},
9171         {{UINT32_C(0x6D6FF45E), UINT32_C(0xBA64A127), UINT32_C(0x6B0C3CEF),
9172           UINT32_C(0x1F52B6AE), UINT32_C(0xCBF496CB), UINT32_C(0x91295179),
9173           UINT32_C(0xA1B12BE4), UINT32_C(0x2B986FAD)},
9174          {UINT32_C(0x44DBAF57), UINT32_C(0x243D2366), UINT32_C(0x346E88C2),
9175           UINT32_C(0x48E22BBA), UINT32_C(0x8BBAFA0D), UINT32_C(0xCDFB7957),
9176           UINT32_C(0x0D70670E), UINT32_C(0x094ED36E)}},
9177         {{UINT32_C(0xA0D60407), UINT32_C(0x2BAD1539), UINT32_C(0x6E744111),
9178           UINT32_C(0xC1A9286E), UINT32_C(0x81A6DCAA), UINT32_C(0x6D08C0DB),
9179           UINT32_C(0x80AFB34F), UINT32_C(0x108F35EC)},
9180          {UINT32_C(0x1E3E34AE), UINT32_C(0xBE79A6E3), UINT32_C(0x16D524E5),
9181           UINT32_C(0x206EAA28), UINT32_C(0x344ABA64), UINT32_C(0x563B6E1C),
9182           UINT32_C(0x3207CA68), UINT32_C(0x6C362A61)}},
9183         {{UINT32_C(0xEF9A9A0F), UINT32_C(0x04D8145B), UINT32_C(0xA15B6247),
9184           UINT32_C(0x8B57559B), UINT32_C(0x303AFBF3), UINT32_C(0x72D53570),
9185           UINT32_C(0xD6DB5736), UINT32_C(0x01C36B41)},
9186          {UINT32_C(0x1173B5FA), UINT32_C(0x94D583C9), UINT32_C(0x013C8AAA),
9187           UINT32_C(0x71F8E12D), UINT32_C(0xF29CB838), UINT32_C(0xA4B5A532),
9188           UINT32_C(0x7CE4EBA4), UINT32_C(0x4B179700)}},
9189         {{UINT32_C(0x0CE86FC3), UINT32_C(0x69CFA7B0), UINT32_C(0xD60E076C),
9190           UINT32_C(0x3705D7C0), UINT32_C(0xB1091E10), UINT32_C(0xB1A1464A),
9191           UINT32_C(0x7FE80950), UINT32_C(0x097945A9)},
9192          {UINT32_C(0x9AA381E3), UINT32_C(0xD9C71A95), UINT32_C(0xA410FF56),
9193           UINT32_C(0x2A929073), UINT32_C(0xF0FEB121), UINT32_C(0x79EF8353),
9194           UINT32_C(0x5F3107E5), UINT32_C(0x1437C4B0)}},
9195         {{UINT32_C(0x621DB2E5), UINT32_C(0xC5128C8B), UINT32_C(0x51A9499A),
9196           UINT32_C(0x4E9C9B2E), UINT32_C(0xD8CD7594), UINT32_C(0x11535880),
9197           UINT32_C(0xB0697C07), UINT32_C(0x35A26F59)},
9198          {UINT32_C(0xC43B624E), UINT32_C(0xAB3F4B75), UINT32_C(0xB8E03E6B),
9199           UINT32_C(0x69F82105), UINT32_C(0xFB04E036), UINT32_C(0xFB268288),
9200           UINT32_C(0xA0BDB41C), UINT32_C(0x6A5E6BD3)}},
9201         {{UINT32_C(0xC8082916), UINT32_C(0x8C716A1A), UINT32_C(0x4592472C),
9202           UINT32_C(0xB1D1B152), UINT32_C(0x3AB6938A), UINT32_C(0x63657A6D),
9203           UINT32_C(0xF03214AE), UINT32_C(0x44882EB6)},
9204          {UINT32_C(0xC615AF7D), UINT32_C(0x19575B8A), UINT32_C(0x35EE3D98),
9205           UINT32_C(0x14D740C1), UINT32_C(0x57768D2D), UINT32_C(0xBC478E89),
9206           UINT32_C(0x13FC5E4C), UINT32_C(0x30CC8FA2)}},
9207         {{UINT32_C(0x4EBE1E7C), UINT32_C(0x705607C5), UINT32_C(0x284EDA2B),
9208           UINT32_C(0x631E5B88), UINT32_C(0x07F54DDB), UINT32_C(0x07E9E39C),
9209           UINT32_C(0x8DCF6BC5), UINT32_C(0x4E554D88)},
9210          {UINT32_C(0x0CBAB0FE), UINT32_C(0x12E9FB20), UINT32_C(0xBA5E007F),
9211           UINT32_C(0x6F3BC7CE), UINT32_C(0xBC871DF6), UINT32_C(0xA770BA1D),
9212           UINT32_C(0xFE01142C), UINT32_C(0x541AA4C6)}},
9213     },
9214     {
9215         {{UINT32_C(0xF2412EC7), UINT32_C(0xBFE26700), UINT32_C(0xCFE96AF4),
9216           UINT32_C(0x0E975796), UINT32_C(0xDD6B04F7), UINT32_C(0x7D30BF7C),
9217           UINT32_C(0xF1D8FCE4), UINT32_C(0x5421925D)},
9218          {UINT32_C(0xEC709107), UINT32_C(0x1CF5E9F5), UINT32_C(0xB4580AA9),
9219           UINT32_C(0x124FCFC2), UINT32_C(0x67A835B3), UINT32_C(0x02F7012B),
9220           UINT32_C(0x47C0760F), UINT32_C(0x753FE01B)}},
9221         {{UINT32_C(0xB1D2A896), UINT32_C(0x82FD5D47), UINT32_C(0x54E75DDB),
9222           UINT32_C(0x7EABC175), UINT32_C(0x1AB080BC), UINT32_C(0x724FC3A8),
9223           UINT32_C(0xA75C31DD), UINT32_C(0x363D6016)},
9224          {UINT32_C(0x863F308F), UINT32_C(0x5D465FF2), UINT32_C(0xE515ADCB),
9225           UINT32_C(0x9EC70664), UINT32_C(0xB3BC206A), UINT32_C(0x4BD7A1A2),
9226           UINT32_C(0x4A167D34), UINT32_C(0x2022576C)}},
9227         {{UINT32_C(0x5CD6AC65), UINT32_C(0xF5AC3451), UINT32_C(0x5839F554),
9228           UINT32_C(0x7629731E), UINT32_C(0x93545A60), UINT32_C(0xA3260AE3),
9229           UINT32_C(0xA7AD1979), UINT32_C(0x49D190E8)},
9230          {UINT32_C(0xF0B35045), UINT32_C(0x5AA8492F), UINT32_C(0x2584E651),
9231           UINT32_C(0x4A5FAB7B), UINT32_C(0x395E2AAE), UINT32_C(0x5A05420E),
9232           UINT32_C(0x547B4038), UINT32_C(0x30613C78)}},
9233         {{UINT32_C(0xF9DAE7E6), UINT32_C(0x47E1C59D), UINT32_C(0x247A5A9D),
9234           UINT32_C(0x8D68839B), UINT32_C(0xC1A80D5E), UINT32_C(0x663B5977),
9235           UINT32_C(0x40D8CF32), UINT32_C(0x5E51F872)},
9236          {UINT32_C(0xECE49494), UINT32_C(0x88ADBF9E), UINT32_C(0x1792BAE8),
9237           UINT32_C(0x40B4AC5C), UINT32_C(0x9A1B3314), UINT32_C(0x278200D1),
9238           UINT32_C(0xD9F83584), UINT32_C(0x7D15320E)}},
9239         {{UINT32_C(0xEAF2BFF8), UINT32_C(0xFE6DAA74), UINT32_C(0xC156AA6B),
9240           UINT32_C(0x6E4EE4C0), UINT32_C(0xD0F4E7D5), UINT32_C(0xD9310FF8),
9241           UINT32_C(0x7BB0C42D), UINT32_C(0x552EEF9E)},
9242          {UINT32_C(0xFDC69E1A), UINT32_C(0x323FF6F1), UINT32_C(0x41D79365),
9243           UINT32_C(0x00FA66B7), UINT32_C(0xA96B22B4), UINT32_C(0x0006B16E),
9244           UINT32_C(0xD20F07BE), UINT32_C(0x71BBC653)}},
9245         {{UINT32_C(0xA440FA1C), UINT32_C(0x89A7B7EE), UINT32_C(0x757CD658),
9246           UINT32_C(0x52BB5278), UINT32_C(0xB0CDDEA4), UINT32_C(0xC5906F4B),
9247           UINT32_C(0x5DE2D8DA), UINT32_C(0x66AAAFEE)},
9248          {UINT32_C(0x53B6E226), UINT32_C(0x4D5E016A), UINT32_C(0x1993A1D7),
9249           UINT32_C(0xA2F73DC6), UINT32_C(0xA09DD554), UINT32_C(0x7CDD4C1D),
9250           UINT32_C(0xAB416627), UINT32_C(0x6F723079)}},
9251         {{UINT32_C(0xC4E5C4AF), UINT32_C(0xE641639E), UINT32_C(0x371CC648),
9252           UINT32_C(0x8BC6100D), UINT32_C(0x9B216E8A), UINT32_C(0x7BD161B1),
9253           UINT32_C(0xF810DB32), UINT32_C(0x58098AEB)},
9254          {UINT32_C(0x5AD92372), UINT32_C(0xEE52BB46), UINT32_C(0xEEF938CA),
9255           UINT32_C(0x4B2C48E1), UINT32_C(0xAB43A5D0), UINT32_C(0xE8FDE4D6),
9256           UINT32_C(0xA5284C83), UINT32_C(0x459274CD)}},
9257         {{UINT32_C(0xD015095D), UINT32_C(0xA98925B0), UINT32_C(0x4611A1A5),
9258           UINT32_C(0xC8969F5F), UINT32_C(0x2CE4663B), UINT32_C(0xBDDCD62F),
9259           UINT32_C(0xA076C8BE), UINT32_C(0x1C9D9007)},
9260          {UINT32_C(0x749F7BE5), UINT32_C(0xE8DE8890), UINT32_C(0xFF208E75),
9261           UINT32_C(0xC9E455E7), UINT32_C(0x8F5FAC9A), UINT32_C(0xDCEE17A9),
9262           UINT32_C(0x68A3A666), UINT32_C(0x776B72D3)}},
9263         {{UINT32_C(0xFEE0E89A), UINT32_C(0x28C7D648), UINT32_C(0x463AF60D),
9264           UINT32_C(0x621B370F), UINT32_C(0x5ADC8ACD), UINT32_C(0x9DC1548E),
9265           UINT32_C(0xA0B49504), UINT32_C(0x48032ACF)},
9266          {UINT32_C(0x85E992D5), UINT32_C(0x146C6EAC), UINT32_C(0x5CB491E0),
9267           UINT32_C(0x5A2CB577), UINT32_C(0x454C120A), UINT32_C(0x669DD6D4),
9268           UINT32_C(0x98203C39), UINT32_C(0x3431AB33)}},
9269         {{UINT32_C(0x9DE017BF), UINT32_C(0xE8761503), UINT32_C(0xB60AE61F),
9270           UINT32_C(0xAB117D2F), UINT32_C(0x827937FF), UINT32_C(0x0846463F),
9271           UINT32_C(0x6BD89C65), UINT32_C(0x45E6BD40)},
9272          {UINT32_C(0xA613BDB8), UINT32_C(0x3160AD67), UINT32_C(0xB8714A49),
9273           UINT32_C(0xBD5266F3), UINT32_C(0x51A233E4), UINT32_C(0xF7D29C47),
9274           UINT32_C(0x4DE6A90C), UINT32_C(0x6887B48D)}},
9275         {{UINT32_C(0xDFDE1EF8), UINT32_C(0x087290A5), UINT32_C(0xA166950A),
9276           UINT32_C(0xC70CCB52), UINT32_C(0x4A170AAE), UINT32_C(0xAA7F095B),
9277           UINT32_C(0x5517CA0B), UINT32_C(0x15301F4E)},
9278          {UINT32_C(0x302F1F84), UINT32_C(0x3C86B787), UINT32_C(0x44676E39),
9279           UINT32_C(0x95D41535), UINT32_C(0x9DF5F751), UINT32_C(0xBFEC4AE3),
9280           UINT32_C(0x304923D3), UINT32_C(0x4A0D3986)}},
9281         {{UINT32_C(0x79B1390C), UINT32_C(0x70FAABA9), UINT32_C(0x62BA8B9E),
9282           UINT32_C(0xA9067EEE), UINT32_C(0x1E17DF6F), UINT32_C(0x98789503),
9283           UINT32_C(0x78D5B295), UINT32_C(0x5997E8AE)},
9284          {UINT32_C(0xAE0C6768), UINT32_C(0x31E13AD7), UINT32_C(0xEF17A7B1),
9285           UINT32_C(0x23262F05), UINT32_C(0x49B7B101), UINT32_C(0x15803227),
9286           UINT32_C(0x36B5BA70), UINT32_C(0x1234A9C5)}},
9287         {{UINT32_C(0x395793AC), UINT32_C(0xED65C961), UINT32_C(0xCCDE1C47),
9288           UINT32_C(0x01157CD8), UINT32_C(0x1D5614DF), UINT32_C(0x0D0240B0),
9289           UINT32_C(0x568E83A5), UINT32_C(0x0F0DA1EF)},
9290          {UINT32_C(0xC0B783C1), UINT32_C(0x57C90846), UINT32_C(0x81E2F613),
9291           UINT32_C(0x4501048C), UINT32_C(0xA2709DC1), UINT32_C(0x03D8A69B),
9292           UINT32_C(0xA97CCE0E), UINT32_C(0x06F365C4)}},
9293         {{UINT32_C(0x551580CD), UINT32_C(0xEAF23159), UINT32_C(0x053DD5EE),
9294           UINT32_C(0x0F1E586A), UINT32_C(0x3CBCC3D5), UINT32_C(0xEB7A78DD),
9295           UINT32_C(0xB014B850), UINT32_C(0x39BBC65A)},
9296          {UINT32_C(0x79B61AC7), UINT32_C(0x13DA4E85), UINT32_C(0x0DA59E37),
9297           UINT32_C(0x33E78DCF), UINT32_C(0x2A643C4C), UINT32_C(0x4E65AF25),
9298           UINT32_C(0x08869D03), UINT32_C(0x0DC38C97)}},
9299         {{UINT32_C(0xA3A38837), UINT32_C(0x2B648345), UINT32_C(0x905E261D),
9300           UINT32_C(0x2FA6D8F7), UINT32_C(0x66A14946), UINT32_C(0xA23BD786),
9301           UINT32_C(0x5E01CC9A), UINT32_C(0x781633FD)},
9302          {UINT32_C(0xE2C71AD1), UINT32_C(0xB1352709), UINT32_C(0x83A6D365),
9303           UINT32_C(0x9D745052), UINT32_C(0x66567032), UINT32_C(0xD88B5CAE),
9304           UINT32_C(0x53D875CA), UINT32_C(0x27FC40DF)}},
9305         {{UINT32_C(0x47F7554F), UINT32_C(0xB254E54C), UINT32_C(0xD708614D),
9306           UINT32_C(0x33AD0ED6), UINT32_C(0x76CE908D), UINT32_C(0x830566A3),
9307           UINT32_C(0xAA1ADD5C), UINT32_C(0x73DF94BD)},
9308          {UINT32_C(0x2DBDD8A3), UINT32_C(0x23EC411F), UINT32_C(0x3A979FDC),
9309           UINT32_C(0x9BA47338), UINT32_C(0xC667E9F7), UINT32_C(0x56A2C27F),
9310           UINT32_C(0x427E6BFB), UINT32_C(0x295647C7)}},
9311     },
9312     {
9313         {{UINT32_C(0xF8E48C13), UINT32_C(0x9B5F4652), UINT32_C(0x9EEF4BA3),
9314           UINT32_C(0xE979034F), UINT32_C(0x7CF5AF6E), UINT32_C(0xF95FD776),
9315           UINT32_C(0x506CEB46), UINT32_C(0x4236C47E)},
9316          {UINT32_C(0xE08D2312), UINT32_C(0x0C02A249), UINT32_C(0xC056499A),
9317           UINT32_C(0xAA5A38CC), UINT32_C(0x7C188B64), UINT32_C(0xCB26A8E2),
9318           UINT32_C(0x0AE373D5), UINT32_C(0x38FB961D)}},
9319         {{UINT32_C(0x7B23470D), UINT32_C(0xEB179C9E), UINT32_C(0x1EBC44E7),
9320           UINT32_C(0xAE70102F), UINT32_C(0x92E0EED0), UINT32_C(0x8184C1D4),
9321           UINT32_C(0x5C21BF08), UINT32_C(0x32988281)},
9322          {UINT32_C(0x8180D11E), UINT32_C(0x46958967), UINT32_C(0x7FD7278D),
9323           UINT32_C(0xEBD5518C), UINT32_C(0xAD2B74F7), UINT32_C(0xFCEB7F68),
9324           UINT32_C(0xF9C7B6DA), UINT32_C(0x082D2011)}},
9325         {{UINT32_C(0xBBE0299D), UINT32_C(0x65D5AED1), UINT32_C(0xCF565A0A),
9326           UINT32_C(0x0077F756), UINT32_C(0x344BB90D), UINT32_C(0xD44FCD6B),
9327           UINT32_C(0x536F3F25), UINT32_C(0x6C2A19C0)},
9328          {UINT32_C(0xBB2A4D91), UINT32_C(0x32EE7439), UINT32_C(0xED9351E1),
9329           UINT32_C(0xA97E677A), UINT32_C(0x413A16E0), UINT32_C(0x6752EDCF),
9330           UINT32_C(0x1CE4FBE6), UINT32_C(0x5DE1B0C7)}},
9331         {{UINT32_C(0xD6009B36), UINT32_C(0x6C10DA15), UINT32_C(0xE5D8CFBE),
9332           UINT32_C(0xAAD05F4F), UINT32_C(0x31D58B76), UINT32_C(0xD8BCE0B4),
9333           UINT32_C(0x27B2811B), UINT32_C(0x08DE344E)},
9334          {UINT32_C(0x80B51E48), UINT32_C(0xD9A78AAE), UINT32_C(0x3E41C63A),
9335           UINT32_C(0x1E1D0A81), UINT32_C(0x8076B3C7), UINT32_C(0x844376DE),
9336           UINT32_C(0x5FDF9D53), UINT32_C(0x73F0D4A3)}},
9337         {{UINT32_C(0x558C7719), UINT32_C(0xF1532922), UINT32_C(0xA8221197),
9338           UINT32_C(0x0F10188A), UINT32_C(0x5DDC1716), UINT32_C(0x51A97E5F),
9339           UINT32_C(0x444789E7), UINT32_C(0x0F583A9B)},
9340          {UINT32_C(0x97D63B87), UINT32_C(0xAA8FC58D), UINT32_C(0x1CFDA59C),
9341           UINT32_C(0xA5AF048B), UINT32_C(0x2DDB34EB), UINT32_C(0x2A4A0C5F),
9342           UINT32_C(0x701E2E07), UINT32_C(0x66C0F0C7)}},
9343         {{UINT32_C(0x36BE2ABF), UINT32_C(0xC0BC88B8), UINT32_C(0x5C721B85),
9344           UINT32_C(0x265CCE74), UINT32_C(0xD54299BA), UINT32_C(0x483EBB01),
9345           UINT32_C(0x348ED89E), UINT32_C(0x18F11CBE)},
9346          {UINT32_C(0xE42129D4), UINT32_C(0x5E9AE7B9), UINT32_C(0x81DE5B77),
9347           UINT32_C(0x6B3E9E8D), UINT32_C(0x7A14A74A), UINT32_C(0xB3ADBAC9),
9348           UINT32_C(0x0003B266), UINT32_C(0x1B6CEBB2)}},
9349         {{UINT32_C(0x15EB200E), UINT32_C(0xD4D4DD10), UINT32_C(0xFB87C57B),
9350           UINT32_C(0xEEAEA4C6), UINT32_C(0x72FF6321), UINT32_C(0x48F0B957),
9351           UINT32_C(0xB782B01D), UINT32_C(0x187C4B75)},
9352          {UINT32_C(0xE9B4D622), UINT32_C(0x3DC1AACD), UINT32_C(0x3F4ED519),
9353           UINT32_C(0x0358418E), UINT32_C(0x773D019C), UINT32_C(0x981A24F8),
9354           UINT32_C(0x3DB0B4F4), UINT32_C(0x6643CA91)}},
9355         {{UINT32_C(0xD47670E3), UINT32_C(0xE3254F4B), UINT32_C(0x30B1DDE9),
9356           UINT32_C(0x98226125), UINT32_C(0xDA8AF160), UINT32_C(0x61EB6C86),
9357           UINT32_C(0x18363269), UINT32_C(0x725C7716)},
9358          {UINT32_C(0x02F62462), UINT32_C(0xB051DC9F), UINT32_C(0x00AC5531),
9359           UINT32_C(0xFF8C9EDF), UINT32_C(0x962A92A3), UINT32_C(0x3909C79B),
9360           UINT32_C(0x27790237), UINT32_C(0x25C90D93)}},
9361         {{UINT32_C(0x88ADC475), UINT32_C(0x0A5DF2CC), UINT32_C(0xE5D27D0A),
9362           UINT32_C(0x48D26967), UINT32_C(0x359FF194), UINT32_C(0x21D5F616),
9363           UINT32_C(0x89977CE2), UINT32_C(0x38ACD141)},
9364          {UINT32_C(0xFDAA8ACB), UINT32_C(0x39B9BD92), UINT32_C(0x035B62D0),
9365           UINT32_C(0xDB157DF2), UINT32_C(0xB7D252D9), UINT32_C(0x4E33386E),
9366           UINT32_C(0xCF196258), UINT32_C(0x6BD2E33F)}},
9367         {{UINT32_C(0xCE8F10C5), UINT32_C(0xE0806297), UINT32_C(0x8A14B746),
9368           UINT32_C(0x446AFD6D), UINT32_C(0xBF566190), UINT32_C(0xD7931F29),
9369           UINT32_C(0x86FDB72A), UINT32_C(0x4D9CFBFA)},
9370          {UINT32_C(0x95009F63), UINT32_C(0x77528851), UINT32_C(0x34C0FF45),
9371           UINT32_C(0x5FE50134), UINT32_C(0x6E134B81), UINT32_C(0xC38CABBB),
9372           UINT32_C(0xE36DB037), UINT32_C(0x2E60B277)}},
9373         {{UINT32_C(0x57184CA5), UINT32_C(0xA614CF67), UINT32_C(0x25BE01E3),
9374           UINT32_C(0x6CBD8D63), UINT32_C(0xA0030BE3), UINT32_C(0xE313EE8D),
9375           UINT32_C(0x2B1E7C60), UINT32_C(0x69AF0399)},
9376          {UINT32_C(0x50423F30), UINT32_C(0x519ABFBB), UINT32_C(0x486B9519),
9377           UINT32_C(0x200111FF), UINT32_C(0x3351F692), UINT32_C(0x6FF93CCB),
9378           UINT32_C(0x3ED9BE71), UINT32_C(0x32EB3E54)}},
9379         {{UINT32_C(0x54052EBD), UINT32_C(0x0851ACB9), UINT32_C(0x6D2336D7),
9380           UINT32_C(0x3A389B7B), UINT32_C(0x17C6ACD9), UINT32_C(0x50A87925),
9381           UINT32_C(0xB807D9B1), UINT32_C(0x031FE845)},
9382          {UINT32_C(0xE22F7492), UINT32_C(0xA348BB01), UINT32_C(0x05F39661),
9383           UINT32_C(0x9547ED36), UINT32_C(0x68EC4AC2), UINT32_C(0x97DF6756),
9384           UINT32_C(0x85B7F81B), UINT32_C(0x5836FEFE)}},
9385         {{UINT32_C(0x5F0B2ACB), UINT32_C(0x4E4869A6), UINT32_C(0xDEC46001),
9386           UINT32_C(0xC4798F3F), UINT32_C(0x00903474), UINT32_C(0x281A4ED6),
9387           UINT32_C(0xEFB9AABD), UINT32_C(0x04F22E9D)},
9388          {UINT32_C(0xFAA721A4), UINT32_C(0x2AC92264), UINT32_C(0x276F8041),
9389           UINT32_C(0xBCE2FF0B), UINT32_C(0xE4943926), UINT32_C(0x5F605607),
9390           UINT32_C(0x55506DF7), UINT32_C(0x388C5FAB)}},
9391         {{UINT32_C(0xAB5687E2), UINT32_C(0xFF104F6D), UINT32_C(0x3B2D0245),
9392           UINT32_C(0x1B6DAFE9), UINT32_C(0x81B2EC4B), UINT32_C(0x6405C026),
9393           UINT32_C(0xF489EBBC), UINT32_C(0x2B7676DA)},
9394          {UINT32_C(0x6DA1F57A), UINT32_C(0xBAA158F0), UINT32_C(0x27A8457F),
9395           UINT32_C(0x9CB044AD), UINT32_C(0xA3BBD6C9), UINT32_C(0xC23737A5),
9396           UINT32_C(0x1D2267E1), UINT32_C(0x71FB5B47)}},
9397         {{UINT32_C(0xD14F56E4), UINT32_C(0x779BD825), UINT32_C(0x08396F23),
9398           UINT32_C(0xD7E672A0), UINT32_C(0xD40BA6EE), UINT32_C(0x23FE3FC0),
9399           UINT32_C(0x3B56A3AB), UINT32_C(0x41E749E7)},
9400          {UINT32_C(0x72042F67), UINT32_C(0xD19471CE), UINT32_C(0x4989D4D7),
9401           UINT32_C(0x8A686DA7), UINT32_C(0x4FA09BC9), UINT32_C(0x52A709C6),
9402           UINT32_C(0xB3B6AA64), UINT32_C(0x1DC21162)}},
9403         {{UINT32_C(0xF9B3BD1D), UINT32_C(0x62C9838B), UINT32_C(0x0CE6384C),
9404           UINT32_C(0x1EE59E5A), UINT32_C(0xECE8CC7F), UINT32_C(0xA9F5ABF6),
9405           UINT32_C(0x80BDDA83), UINT32_C(0x1961D80F)},
9406          {UINT32_C(0xCA406FB1), UINT32_C(0x7A40880C), UINT32_C(0xDFBCE2E4),
9407           UINT32_C(0x5035D307), UINT32_C(0x3D637299), UINT32_C(0x590259E0),
9408           UINT32_C(0xD6C34E05), UINT32_C(0x1607AC9F)}},
9409     },
9410     {
9411         {{UINT32_C(0x9D818B72), UINT32_C(0x4ABC2710), UINT32_C(0x092607B7),
9412           UINT32_C(0x2496CEA6), UINT32_C(0x055C4EC8), UINT32_C(0xFB1087E1),
9413           UINT32_C(0x258ADC7D), UINT32_C(0x50A30C6A)},
9414          {UINT32_C(0x0FF502E3), UINT32_C(0xAF4EB6B3), UINT32_C(0x190607AB),
9415           UINT32_C(0x5D5D76AD), UINT32_C(0x34482C13), UINT32_C(0xC9C9B711),
9416           UINT32_C(0x42213696), UINT32_C(0x574A9718)}},
9417         {{UINT32_C(0x7018FC70), UINT32_C(0x7C90FAFD), UINT32_C(0x2B83291C),
9418           UINT32_C(0x36A04559), UINT32_C(0x40D1B175), UINT32_C(0x6120B51E),
9419           UINT32_C(0x3DCF9606), UINT32_C(0x45F10B20)},
9420          {UINT32_C(0xF20C5636), UINT32_C(0x3C6A9EFF), UINT32_C(0xFFBBC648),
9421           UINT32_C(0xB2768BA3), UINT32_C(0xB523B36C), UINT32_C(0x1C9DF90A),
9422           UINT32_C(0xD6FF34ED), UINT32_C(0x4148BF06)}},
9423         {{UINT32_C(0x3B5F9492), UINT32_C(0x3D29821A), UINT32_C(0x90B24561),
9424           UINT32_C(0xAE12C782), UINT32_C(0x8A3BDC5F), UINT32_C(0xEF6FB277),
9425           UINT32_C(0xAC3BD74E), UINT32_C(0x6034BF3B)},
9426          {UINT32_C(0x4ACB6F85), UINT32_C(0x131D57CD), UINT32_C(0x3BE79B31),
9427           UINT32_C(0xDED1C433), UINT32_C(0x78A896B8), UINT32_C(0xB0913489),
9428           UINT32_C(0xB287862C), UINT32_C(0x1247C0B7)}},
9429         {{UINT32_C(0x7C494054), UINT32_C(0xEB642893), UINT32_C(0x22142D26),
9430           UINT32_C(0x79227930), UINT32_C(0x943E8398), UINT32_C(0x8F1C8371),
9431           UINT32_C(0x60886DB7), UINT32_C(0x583C7AEF)},
9432          {UINT32_C(0x3A12EE0E), UINT32_C(0xAFE46022), UINT32_C(0xB6CB8685),
9433           UINT32_C(0xE9C9253A), UINT32_C(0x6316A4C6), UINT32_C(0x5334F9DD),
9434           UINT32_C(0xE6F1DEE9), UINT32_C(0x4E2F13D8)}},
9435         {{UINT32_C(0xB37D8BA5), UINT32_C(0x7499A5B4), UINT32_C(0x1C9BCDE2),
9436           UINT32_C(0xA12AA637), UINT32_C(0xBFD6AE86), UINT32_C(0xCC99471D),
9437           UINT32_C(0x92048D63), UINT32_C(0x09966378)},
9438          {UINT32_C(0x552E71A3), UINT32_C(0x42CBFA9D), UINT32_C(0x675C1716),
9439           UINT32_C(0x84A8B153), UINT32_C(0x4CF00A7D), UINT32_C(0xB9C07C0E),
9440           UINT32_C(0x0DA504DB), UINT32_C(0x32E2322B)}},
9441         {{UINT32_C(0xE671EE59), UINT32_C(0x569F581F), UINT32_C(0x422E86C7),
9442           UINT32_C(0x293522D7), UINT32_C(0x15DCEF10), UINT32_C(0x5E4CEA7E),
9443           UINT32_C(0x483C0FE3), UINT32_C(0x67C8A9FC)},
9444          {UINT32_C(0x47B79284), UINT32_C(0x4DE5AC09), UINT32_C(0x025016BA),
9445           UINT32_C(0x22AB8FBD), UINT32_C(0x2A099B37), UINT32_C(0x51318C23),
9446           UINT32_C(0x49E06623), UINT32_C(0x542EA0FA)}},
9447         {{UINT32_C(0x28909F31), UINT32_C(0xDD240F64), UINT32_C(0x101B7F01),
9448           UINT32_C(0x46B66F9E), UINT32_C(0x20481C3F), UINT32_C(0x788C29CA),
9449           UINT32_C(0xCA5D5182), UINT32_C(0x3218A509)},
9450          {UINT32_C(0x63E9A2B9), UINT32_C(0x64BCC7AD), UINT32_C(0xADDF5C0B),
9451           UINT32_C(0x3D213CA2), UINT32_C(0x9960D650), UINT32_C(0x6D93ED4C),
9452           UINT32_C(0x284EE5F3), UINT32_C(0x3F13DB22)}},
9453         {{UINT32_C(0x6697E0D1), UINT32_C(0x5B678C3A), UINT32_C(0x16D9D878),
9454           UINT32_C(0x25A171F4), UINT32_C(0xFAEC362B), UINT32_C(0xC20A6D80),
9455           UINT32_C(0xC512EA4B), UINT32_C(0x1BB3F14C)},
9456          {UINT32_C(0x2AE35FA5), UINT32_C(0xECE5313B), UINT32_C(0xBBD76B87),
9457           UINT32_C(0xE390A01F), UINT32_C(0x882DA3FC), UINT32_C(0xC78EA4C5),
9458           UINT32_C(0x42086A77), UINT32_C(0x771BCDAE)}},
9459         {{UINT32_C(0x565802E9), UINT32_C(0x8E9E3C8B), UINT32_C(0x53FA1BE7),
9460           UINT32_C(0xC37A7B35), UINT32_C(0x4408FB77), UINT32_C(0x9D2F1A26),
9461           UINT32_C(0xFF308B7B), UINT32_C(0x0B3ECE36)},
9462          {UINT32_C(0x1F30FC37), UINT32_C(0x8FB35B36), UINT32_C(0x83E1A3C9),
9463           UINT32_C(0x463B44E2), UINT32_C(0x3402233A), UINT32_C(0x7218F09F),
9464           UINT32_C(0xFC9A6990), UINT32_C(0x1519638A)}},
9465         {{UINT32_C(0x8EAAC478), UINT32_C(0x51FB3E5D), UINT32_C(0x760ED4EC),
9466           UINT32_C(0x620E4826), UINT32_C(0x1D865577), UINT32_C(0x46FC5B1F),
9467           UINT32_C(0x5244A538), UINT32_C(0x15EF2AD9)},
9468          {UINT32_C(0x4BF382BD), UINT32_C(0x8D7E477C), UINT32_C(0x02A5C9EE),
9469           UINT32_C(0xCBF170C9), UINT32_C(0x4AFB0EC1), UINT32_C(0xB91A870C),
9470           UINT32_C(0x69C31425), UINT32_C(0x052FFC51)}},
9471         {{UINT32_C(0x2018D066), UINT32_C(0x1FD43746), UINT32_C(0x4C67FC35),
9472           UINT32_C(0xBC501517), UINT32_C(0xBC990EB6), UINT32_C(0xE65BC2FB),
9473           UINT32_C(0x73F87F92), UINT32_C(0x538CA6F9)},
9474          {UINT32_C(0x8352B03F), UINT32_C(0x42FBDAE0), UINT32_C(0x99A4C9B9),
9475           UINT32_C(0xF265B1E0), UINT32_C(0x185CA070), UINT32_C(0x6E3EAB2F),
9476           UINT32_C(0x37D0A2C1), UINT32_C(0x6E6F4F7D)}},
9477         {{UINT32_C(0xC2D5D73E), UINT32_C(0x9B20D8EE), UINT32_C(0x75844C15),
9478           UINT32_C(0x190521AE), UINT32_C(0x26AD08FE), UINT32_C(0x67663AC4),
9479           UINT32_C(0xF984EC06), UINT32_C(0x67AEEFEF)},
9480          {UINT32_C(0xCBDD87EF), UINT32_C(0x61C71142), UINT32_C(0x63396E3B),
9481           UINT32_C(0x0FA4995B), UINT32_C(0x85C193B0), UINT32_C(0x3196E551),
9482           UINT32_C(0xDACB3A3D), UINT32_C(0x36C0A2A8)}},
9483         {{UINT32_C(0x178A1115), UINT32_C(0xEAB89FDC), UINT32_C(0xD7C31303),
9484           UINT32_C(0xC7B764D8), UINT32_C(0x90203755), UINT32_C(0xA5B2D6FB),
9485           UINT32_C(0xD5F8AEEE), UINT32_C(0x3C360BF9)},
9486          {UINT32_C(0x02F1CC3C), UINT32_C(0x8DFDCD05), UINT32_C(0x64E5269E),
9487           UINT32_C(0x7F8A64D2), UINT32_C(0xEA13FFD7), UINT32_C(0xA36196EC),
9488           UINT32_C(0x77E3839F), UINT32_C(0x35E22415)}},
9489         {{UINT32_C(0xE22E0C52), UINT32_C(0x29E7AB0B), UINT32_C(0x8B27DEDA),
9490           UINT32_C(0x68BF32C7), UINT32_C(0xDC7971AE), UINT32_C(0x52A762A2),
9491           UINT32_C(0x18B0CDCC), UINT32_C(0x4CA43487)},
9492          {UINT32_C(0x3FCEAF73), UINT32_C(0xED429DA1), UINT32_C(0x06718D19),
9493           UINT32_C(0x49396E6F), UINT32_C(0x5BB3301C), UINT32_C(0xDECB9337),
9494           UINT32_C(0x0FF489B1), UINT32_C(0x4B7723C1)}},
9495         {{UINT32_C(0xABEE6B9B), UINT32_C(0xAE321F09), UINT32_C(0x37318F60),
9496           UINT32_C(0xF251BF4D), UINT32_C(0xB63DC269), UINT32_C(0xB0A8A251),
9497           UINT32_C(0x71817963), UINT32_C(0x514A25FC)},
9498          {UINT32_C(0x55C9B2E9), UINT32_C(0x518F5747), UINT32_C(0x1C9B4845),
9499           UINT32_C(0x3E56CC3E), UINT32_C(0x283AE1FA), UINT32_C(0xBDFD637A),
9500           UINT32_C(0xC3DE778E), UINT32_C(0x419BA4B4)}},
9501         {{UINT32_C(0xBCD2EB74), UINT32_C(0xC7F18E93), UINT32_C(0xFC61FB42),
9502           UINT32_C(0x171264C8), UINT32_C(0x85119033), UINT32_C(0x27282E76),
9503           UINT32_C(0xD7DB91C7), UINT32_C(0x225006A4)},
9504          {UINT32_C(0x1ECF5024), UINT32_C(0x628E0F3C), UINT32_C(0x00859CDE),
9505           UINT32_C(0xDC5111E0), UINT32_C(0x1F220711), UINT32_C(0x4AB1764F),
9506           UINT32_C(0x70DDED3C), UINT32_C(0x7C6916F1)}},
9507     },
9508     {
9509         {{UINT32_C(0x5F0CA58A), UINT32_C(0xF9FFE8FC), UINT32_C(0x22879EBB),
9510           UINT32_C(0x09E34F30), UINT32_C(0xED7B0520), UINT32_C(0x648D6339),
9511           UINT32_C(0x1AF5ECDC), UINT32_C(0x0D6719D0)},
9512          {UINT32_C(0x0B8590E4), UINT32_C(0x2878714D), UINT32_C(0x90EC312B),
9513           UINT32_C(0x827D04ED), UINT32_C(0x3B5767C3), UINT32_C(0xD415C8B4),
9514           UINT32_C(0xC09FD18D), UINT32_C(0x4170F0AD)}},
9515         {{UINT32_C(0x3C601031), UINT32_C(0x9B649CFC), UINT32_C(0x636DDAE7),
9516           UINT32_C(0x0478603A), UINT32_C(0x914E100A), UINT32_C(0xDC972DFA),
9517           UINT32_C(0x091621AE), UINT32_C(0x519C55DF)},
9518          {UINT32_C(0xD4A9963D), UINT32_C(0x863046CB), UINT32_C(0x5ACF7C0C),
9519           UINT32_C(0xDF16763C), UINT32_C(0xFF5468A4), UINT32_C(0x4999A93E),
9520           UINT32_C(0x424074A5), UINT32_C(0x35543EFF)}},
9521         {{UINT32_C(0xDD33307C), UINT32_C(0x27B1DBFA), UINT32_C(0x927CA6F3),
9522           UINT32_C(0xA0D04784), UINT32_C(0xA37CF855), UINT32_C(0xBD3EBC5E),
9523           UINT32_C(0x49F5AA2C), UINT32_C(0x59D02EF5)},
9524          {UINT32_C(0xBDD57BF3), UINT32_C(0xCDABE86F), UINT32_C(0x37819D86),
9525           UINT32_C(0x7B3ADD2F), UINT32_C(0x0413B7B0), UINT32_C(0x7B90BA15),
9526           UINT32_C(0x6B99685B), UINT32_C(0x47071782)}},
9527         {{UINT32_C(0xEF0CE97F), UINT32_C(0xB7C3218E), UINT32_C(0x0898C79C),
9528           UINT32_C(0xDAE3B56C), UINT32_C(0x0908877D), UINT32_C(0x6349D83D),
9529           UINT32_C(0xC81E8C4E), UINT32_C(0x0970C6C0)},
9530          {UINT32_C(0xA47F426C), UINT32_C(0x0E45C4A7), UINT32_C(0x3FBB194E),
9531           UINT32_C(0xAB000A59), UINT32_C(0x3A6DD13E), UINT32_C(0x570FBBA5),
9532           UINT32_C(0xC8F44A57), UINT32_C(0x66045580)}},
9533         {{UINT32_C(0x12A72F7F), UINT32_C(0x5ABEB749), UINT32_C(0x7AE56F4D),
9534           UINT32_C(0x15072A92), UINT32_C(0x222AB2C4), UINT32_C(0x1C77AE00),
9535           UINT32_C(0x9AFE63DE), UINT32_C(0x591EAEC6)},
9536          {UINT32_C(0xDFD24304), UINT32_C(0xB51D41AF), UINT32_C(0xDFBCC096),
9537           UINT32_C(0xDE28DF26), UINT32_C(0x38A20DA7), UINT32_C(0x02F046C8),
9538           UINT32_C(0x1AE0A45B), UINT32_C(0x5EC3DBDC)}},
9539         {{UINT32_C(0x63DD86C2), UINT32_C(0x7C19BD75), UINT32_C(0x8D78A57B),
9540           UINT32_C(0xDB119311), UINT32_C(0x23C5C4E7), UINT32_C(0xF48BB4FA),
9541           UINT32_C(0x97DB0A05), UINT32_C(0x65514C1C)},
9542          {UINT32_C(0x43CAC49C), UINT32_C(0x1BC1F2F0), UINT32_C(0x2851B4BE),
9543           UINT32_C(0x975FEB51), UINT32_C(0xDD60D530), UINT32_C(0x0E0A4633),
9544           UINT32_C(0x09B1D2C6), UINT32_C(0x32BBBF14)}},
9545         {{UINT32_C(0xA670EAC0), UINT32_C(0x79124749), UINT32_C(0x31DD893C),
9546           UINT32_C(0x504D89D5), UINT32_C(0xE0654D63), UINT32_C(0xDDCED74C),
9547           UINT32_C(0xE2208707), UINT32_C(0x58956BE5)},
9548          {UINT32_C(0x437E7077), UINT32_C(0xBE6A3ECD), UINT32_C(0x574095C8),
9549           UINT32_C(0xB8AB332D), UINT32_C(0x3869DA42), UINT32_C(0x4E79AC1C),
9550           UINT32_C(0x68859F51), UINT32_C(0x79D4C3FB)}},
9551         {{UINT32_C(0x7936A831), UINT32_C(0x1E5FC1B9), UINT32_C(0xD74F1F41),
9552           UINT32_C(0x1EA42ED2), UINT32_C(0xC4EA3228), UINT32_C(0x33D22EC1),
9553           UINT32_C(0x729BEBFE), UINT32_C(0x5705333F)},
9554          {UINT32_C(0x64596076), UINT32_C(0xDBD1A67B), UINT32_C(0xFA65BA98),
9555           UINT32_C(0x6BFF269D), UINT32_C(0x6C47E715), UINT32_C(0x8451A9C2),
9556           UINT32_C(0x22898DB3), UINT32_C(0x243D679D)}},
9557         {{UINT32_C(0xB8323FD0), UINT32_C(0xE935D705), UINT32_C(0x6937E5CB),
9558           UINT32_C(0xE2DA8845), UINT32_C(0x4A5EAE1E), UINT32_C(0x1C9DFFF8),
9559           UINT32_C(0x45DF7A79), UINT32_C(0x796F0B95)},
9560          {UINT32_C(0x640DBA32), UINT32_C(0xC24D573F), UINT32_C(0x02E4B792),
9561           UINT32_C(0x2B775217), UINT32_C(0x94D12C40), UINT32_C(0xD437EB63),
9562           UINT32_C(0x4AD371F0), UINT32_C(0x6182AF6D)}},
9563         {{UINT32_C(0x41FC7551), UINT32_C(0x133EDA52), UINT32_C(0xE91714AF),
9564           UINT32_C(0xA0088A2B), UINT32_C(0x5E0A73C0), UINT32_C(0xB41B9AC2),
9565           UINT32_C(0x1D3B3953), UINT32_C(0x4808BB5A)},
9566          {UINT32_C(0x2B9AE648), UINT32_C(0xD875AA14), UINT32_C(0x2408244C),
9567           UINT32_C(0x4F38C946), UINT32_C(0xFF051A87), UINT32_C(0x04B6B941),
9568           UINT32_C(0x6DF48ECD), UINT32_C(0x1D5B0B9E)}},
9569         {{UINT32_C(0x169E757F), UINT32_C(0x27FD368A), UINT32_C(0x7B94D9DB),
9570           UINT32_C(0x2ACB3560), UINT32_C(0x4D4C9B5F), UINT32_C(0x81903F4B),
9571           UINT32_C(0x169B81DE), UINT32_C(0x641F806C)},
9572          {UINT32_C(0x9E957475), UINT32_C(0x574E9444), UINT32_C(0xC6C8EE52),
9573           UINT32_C(0xE08814AE), UINT32_C(0x6C84FDDF), UINT32_C(0xD1AE71EC),
9574           UINT32_C(0xFAA040D9), UINT32_C(0x44A56014)}},
9575         {{UINT32_C(0x75A48F60), UINT32_C(0x06DA6908), UINT32_C(0xBB2CD408),
9576           UINT32_C(0x7BA6C9CB), UINT32_C(0x3A1BCBFF), UINT32_C(0x57D2D0FF),
9577           UINT32_C(0x8928CE36), UINT32_C(0x186F1A8B)},
9578          {UINT32_C(0x7A40F877), UINT32_C(0x0FFD205B), UINT32_C(0x01AF68F7),
9579           UINT32_C(0x2915BC8E), UINT32_C(0xC36A5FB1), UINT32_C(0x816AC4DF),
9580           UINT32_C(0x2C9E1F7D), UINT32_C(0x609B0A87)}},
9581         {{UINT32_C(0xB97536FB), UINT32_C(0x4032AC5E), UINT32_C(0xA7C5EDB6),
9582           UINT32_C(0x53E6FE68), UINT32_C(0x5F0DCBA1), UINT32_C(0x2F414930),
9583           UINT32_C(0x2837E314), UINT32_C(0x20975256)},
9584          {UINT32_C(0x3C3C1D27), UINT32_C(0xDF5DC496), UINT32_C(0x71797C36),
9585           UINT32_C(0x0DFDAAF3), UINT32_C(0xDA504E04), UINT32_C(0x5F3E9229),
9586           UINT32_C(0x8C234246), UINT32_C(0x354EA88D)}},
9587         {{UINT32_C(0x0922D317), UINT32_C(0xAF6741C3), UINT32_C(0x9DF0A572),
9588           UINT32_C(0x7429853B), UINT32_C(0x1DC207A8), UINT32_C(0x0EA1AE04),
9589           UINT32_C(0x450075F5), UINT32_C(0x2C1DAA1C)},
9590          {UINT32_C(0x6ED729B4), UINT32_C(0x27C71F16), UINT32_C(0x53AB8EC0),
9591           UINT32_C(0x785718A6), UINT32_C(0xA8465487), UINT32_C(0x1EEC7BBF),
9592           UINT32_C(0x4C578BA9), UINT32_C(0x78DA9B04)}},
9593         {{UINT32_C(0xB3B707FA), UINT32_C(0xFF9ED65E), UINT32_C(0xF5D28D33),
9594           UINT32_C(0xF8C8301F), UINT32_C(0xA65F5C0F), UINT32_C(0xB15D498F),
9595           UINT32_C(0xB0EF2B89), UINT32_C(0x6DEF256D)},
9596          {UINT32_C(0x52184EF6), UINT32_C(0x0D40A6B2), UINT32_C(0x2BF06F5A),
9597           UINT32_C(0xC702EBE5), UINT32_C(0x4BA041AA), UINT32_C(0x13E50E18),
9598           UINT32_C(0x7EC4C784), UINT32_C(0x53552D88)}},
9599         {{UINT32_C(0xF28ABB3A), UINT32_C(0x2CD09B19), UINT32_C(0x724EDB9B),
9600           UINT32_C(0x4F5C040F), UINT32_C(0xE0DCBD16), UINT32_C(0xD6820590),
9601           UINT32_C(0x1B7155A3), UINT32_C(0x45D84DE9)},
9602          {UINT32_C(0xA251B1BA), UINT32_C(0x995BDD01), UINT32_C(0x37CAA4DC),
9603           UINT32_C(0x607F9517), UINT32_C(0xA15D9674), UINT32_C(0x747FEA1C),
9604           UINT32_C(0x73E97C97), UINT32_C(0x646C1876)}},
9605     },
9606     {
9607         {{UINT32_C(0x6FAC1486), UINT32_C(0x1951682B), UINT32_C(0x4A4D14C5),
9608           UINT32_C(0x8B578E1E), UINT32_C(0xB7384D42), UINT32_C(0x083FA101),
9609           UINT32_C(0xED1C8A87), UINT32_C(0x13380CE9)},
9610          {UINT32_C(0x732A493B), UINT32_C(0xC7052ED8), UINT32_C(0xB32E3D69),
9611           UINT32_C(0xD5FEF40F), UINT32_C(0x88833566), UINT32_C(0xA64ACE87),
9612           UINT32_C(0x4177DC00), UINT32_C(0x6E36CFDB)}},
9613         {{UINT32_C(0xE742C3B4), UINT32_C(0xAA14E281), UINT32_C(0xEE5AF40A),
9614           UINT32_C(0xB75E7B2A), UINT32_C(0x1616EFA2), UINT32_C(0x3FC5FF0B),
9615           UINT32_C(0xAD763298), UINT32_C(0x090259B0)},
9616          {UINT32_C(0x38753438), UINT32_C(0x4105B57E), UINT32_C(0xCF2D8926),
9617           UINT32_C(0x70ED1A00), UINT32_C(0x322F40BB), UINT32_C(0x78921395),
9618           UINT32_C(0x67A3FF56), UINT32_C(0x3AEE8199)}},
9619         {{UINT32_C(0x11EA75FC), UINT32_C(0x88073D00), UINT32_C(0x06A4B4EB),
9620           UINT32_C(0xD23D2796), UINT32_C(0xD85D3A6B), UINT32_C(0x1FD22F9E),
9621           UINT32_C(0xAFB43B70), UINT32_C(0x6B5EA051)},
9622          {UINT32_C(0xD99BE576), UINT32_C(0x96C9C176), UINT32_C(0x4C47261E),
9623           UINT32_C(0x85AC2B6C), UINT32_C(0x99A9C378), UINT32_C(0x27263959),
9624           UINT32_C(0x8B5CABDA), UINT32_C(0x6D36E9FE)}},
9625         {{UINT32_C(0xA58F614C), UINT32_C(0xC9FC7661), UINT32_C(0x2E45AE73),
9626           UINT32_C(0x82AA317D), UINT32_C(0xC8CB9CC7), UINT32_C(0xDCB1925F),
9627           UINT32_C(0x27813205), UINT32_C(0x1341C1AA)},
9628          {UINT32_C(0x6CD478AB), UINT32_C(0xDD06745B), UINT32_C(0x1E28F6A3),
9629           UINT32_C(0x0C2534B2), UINT32_C(0x9D27FE63), UINT32_C(0xE2183345),
9630           UINT32_C(0x06466147), UINT32_C(0x7F1E2A33)}},
9631         {{UINT32_C(0x5AEE2471), UINT32_C(0x378D727E), UINT32_C(0xD47739B6),
9632           UINT32_C(0xB718FC17), UINT32_C(0x4145E8EF), UINT32_C(0xDA27CB9B),
9633           UINT32_C(0x0EF2AB20), UINT32_C(0x3F8AB1A3)},
9634          {UINT32_C(0xE16C0141), UINT32_C(0xA89ADD37), UINT32_C(0x59DF1C95),
9635           UINT32_C(0x2127823B), UINT32_C(0xB7455CC2), UINT32_C(0x53F90B73),
9636           UINT32_C(0x1183FBE5), UINT32_C(0x7F960586)}},
9637         {{UINT32_C(0xE77235C3), UINT32_C(0x56D0475A), UINT32_C(0xB18ED61A),
9638           UINT32_C(0xED2907C5), UINT32_C(0x7D73F6F8), UINT32_C(0x2D02C4CB),
9639           UINT32_C(0xC42E7AED), UINT32_C(0x35EF69B4)},
9640          {UINT32_C(0x31B7324A), UINT32_C(0x53A6120A), UINT32_C(0x59F1A395),
9641           UINT32_C(0x982DD221), UINT32_C(0x835CFD94), UINT32_C(0x03ECA86F),
9642           UINT32_C(0x73CA1BD5), UINT32_C(0x4CBA837D)}},
9643         {{UINT32_C(0x41B17E6D), UINT32_C(0x64F66D39), UINT32_C(0xCB14F3B3),
9644           UINT32_C(0x3C869BF5), UINT32_C(0x28350EFA), UINT32_C(0x1EBA045A),
9645           UINT32_C(0xC7CDEC47), UINT32_C(0x7ACFB882)},
9646          {UINT32_C(0x8FB3097B), UINT32_C(0x7ACFD28D), UINT32_C(0x62986426),
9647           UINT32_C(0xDA397C31), UINT32_C(0x2A1A7A94), UINT32_C(0xD49F8421),
9648           UINT32_C(0xFAB65156), UINT32_C(0x7B372E2D)}},
9649         {{UINT32_C(0x01D9DB0F), UINT32_C(0x3ADBDD07), UINT32_C(0x94FF0CFB),
9650           UINT32_C(0x617521E6), UINT32_C(0x3F5BD583), UINT32_C(0x5BA5905C),
9651           UINT32_C(0x78670CD1), UINT32_C(0x6F896033)},
9652          {UINT32_C(0xFB98EA11), UINT32_C(0x0A59C447), UINT32_C(0x653EDC59),
9653           UINT32_C(0x59B918CC), UINT32_C(0x9F72C01E), UINT32_C(0x00BF4D2A),
9654           UINT32_C(0x47DEE00F), UINT32_C(0x748455D1)}},
9655         {{UINT32_C(0x386E7491), UINT32_C(0xE371A7A8), UINT32_C(0x621A3484),
9656           UINT32_C(0xF71711CC), UINT32_C(0xE0015C3B), UINT32_C(0x1568256E),
9657           UINT32_C(0x7D3FFDE9), UINT32_C(0x5ACEF7A6)},
9658          {UINT32_C(0xB08E4219), UINT32_C(0x02ED70E5), UINT32_C(0x832AC3AA),
9659           UINT32_C(0x7ECE1726), UINT32_C(0x951D1CA2), UINT32_C(0xC3C0D32B),
9660           UINT32_C(0x38DECC59), UINT32_C(0x4C991664)}},
9661         {{UINT32_C(0x96EB21A4), UINT32_C(0xB99DF8BA), UINT32_C(0x2BBF8E6D),
9662           UINT32_C(0xB88D25F4), UINT32_C(0x686DAA3C), UINT32_C(0x16B3E0B1),
9663           UINT32_C(0x70D47C57), UINT32_C(0x11314561)},
9664          {UINT32_C(0x3338342D), UINT32_C(0x8DCDC3D1), UINT32_C(0x88E028A7),
9665           UINT32_C(0xE6D39B01), UINT32_C(0x72855B5E), UINT32_C(0xB781F1ED),
9666           UINT32_C(0xCC192572), UINT32_C(0x0E0D82F6)}},
9667         {{UINT32_C(0xCF1E20AA), UINT32_C(0xC86A8E5D), UINT32_C(0xF9AB96D5),
9668           UINT32_C(0x1A87AEF3), UINT32_C(0xF3D19051), UINT32_C(0xA8941635),
9669           UINT32_C(0x654FFF15), UINT32_C(0x67B1D0A2)},
9670          {UINT32_C(0x92862ACD), UINT32_C(0x266FD5ED), UINT32_C(0xD11DEEAC),
9671           UINT32_C(0xB72587BE), UINT32_C(0xD09320AA), UINT32_C(0x5CF0D2E2),
9672           UINT32_C(0x515E0277), UINT32_C(0x68456EBA)}},
9673         {{UINT32_C(0x771F64CA), UINT32_C(0x86A5461C), UINT32_C(0x48FF8D7A),
9674           UINT32_C(0xB7A220B7), UINT32_C(0xD7A568D1), UINT32_C(0x9A0DD72A),
9675           UINT32_C(0xF644D858), UINT32_C(0x18F5E1DC)},
9676          {UINT32_C(0x3E00364F), UINT32_C(0xB7AE1BC2), UINT32_C(0xCEE8D9F7),
9677           UINT32_C(0xD7EA31F3), UINT32_C(0xDCDB883D), UINT32_C(0xD18DA30F),
9678           UINT32_C(0xCBA00F48), UINT32_C(0x179CFCA5)}},
9679         {{UINT32_C(0x39E7860C), UINT32_C(0x496F2C01), UINT32_C(0x27F15EAF),
9680           UINT32_C(0xACDF8B40), UINT32_C(0x687AC815), UINT32_C(0x8871966C),
9681           UINT32_C(0x8DB8FDB5), UINT32_C(0x6228F1B5)},
9682          {UINT32_C(0xF30ECF2B), UINT32_C(0x8644656A), UINT32_C(0xAE1DEAFF),
9683           UINT32_C(0x15576CC2), UINT32_C(0x697AB3FC), UINT32_C(0x93D86D56),
9684           UINT32_C(0x811E3FF2), UINT32_C(0x3E4A428E)}},
9685         {{UINT32_C(0x91B9F5DF), UINT32_C(0xFB85DE3D), UINT32_C(0xB20A9C71),
9686           UINT32_C(0xCDB595D4), UINT32_C(0xB44D671E), UINT32_C(0x55CB08F3),
9687           UINT32_C(0xFCD7D5ED), UINT32_C(0x780FC2E5)},
9688          {UINT32_C(0x7F939366), UINT32_C(0x815AB41F), UINT32_C(0xECD52B20),
9689           UINT32_C(0xA7597A02), UINT32_C(0x4648E3C5), UINT32_C(0x9BE078F0),
9690           UINT32_C(0x17BD3DC2), UINT32_C(0x7A3E2179)}},
9691         {{UINT32_C(0x9D9E5E53), UINT32_C(0x22758C41), UINT32_C(0x9EF09FAE),
9692           UINT32_C(0x44D675F4), UINT32_C(0x27159F97), UINT32_C(0x1AB7986D),
9693           UINT32_C(0xB6B9465B), UINT32_C(0x72B3F02B)},
9694          {UINT32_C(0xFE56F578), UINT32_C(0xA372FAC7), UINT32_C(0xDA534F4A),
9695           UINT32_C(0x33FA6479), UINT32_C(0xDF63BF2D), UINT32_C(0xB0003307),
9696           UINT32_C(0xB80D0F64), UINT32_C(0x34D40B4D)}},
9697         {{UINT32_C(0x3D2B9FC2), UINT32_C(0x8A8929DC), UINT32_C(0x55EE75E5),
9698           UINT32_C(0x7D12E86C), UINT32_C(0x92E1A870), UINT32_C(0xB3FE1AD3),
9699           UINT32_C(0x729CFE4C), UINT32_C(0x27148C94)},
9700          {UINT32_C(0x18BA868B), UINT32_C(0x6A8C3B52), UINT32_C(0x7F038A9C),
9701           UINT32_C(0xDD2006E4), UINT32_C(0xB7124908), UINT32_C(0x4606FA9E),
9702           UINT32_C(0xF4940CB1), UINT32_C(0x434A8C07)}},
9703     },
9704     {
9705         {{UINT32_C(0xF98B91EA), UINT32_C(0x15F36EBE), UINT32_C(0xC1ED17B1),
9706           UINT32_C(0x94D802DE), UINT32_C(0x085D77F8), UINT32_C(0x3C45FA08),
9707           UINT32_C(0x02FF571A), UINT32_C(0x0A30B3C3)},
9708          {UINT32_C(0x264C93D0), UINT32_C(0x70F5852D), UINT32_C(0x191AEE57),
9709           UINT32_C(0x5E51BCAB), UINT32_C(0xFAD8E96E), UINT32_C(0xD5C14AE9),
9710           UINT32_C(0xD4BC414B), UINT32_C(0x73B00534)}},
9711         {{UINT32_C(0x12AFF5E7), UINT32_C(0x21CF876B), UINT32_C(0xF75799A6),
9712           UINT32_C(0x3E9F664C), UINT32_C(0x9A0E73CD), UINT32_C(0xC23B7D19),
9713           UINT32_C(0x427EEA36), UINT32_C(0x77AAB691)},
9714          {UINT32_C(0x604EE854), UINT32_C(0x2E74F972), UINT32_C(0xF867C81A),
9715           UINT32_C(0x8712C7A0), UINT32_C(0x953A4C56), UINT32_C(0x6085980F),
9716           UINT32_C(0x0F7707E1), UINT32_C(0x2DB99707)}},
9717         {{UINT32_C(0x78BDB7A7), UINT32_C(0x5ECC087F), UINT32_C(0x04C693F2),
9718           UINT32_C(0x43CC156C), UINT32_C(0x039BD7F1), UINT32_C(0x965067CF),
9719           UINT32_C(0x6E3FAE2F), UINT32_C(0x72140E56)},
9720          {UINT32_C(0xE019DED1), UINT32_C(0x26452E4D), UINT32_C(0x2EDEF154),
9721           UINT32_C(0x6F4C2349), UINT32_C(0x054DFC0F), UINT32_C(0xA7066D7F),
9722           UINT32_C(0x3381AB44), UINT32_C(0x544E6F6D)}},
9723         {{UINT32_C(0x9214C791), UINT32_C(0x9B6E9469), UINT32_C(0x86938BDC),
9724           UINT32_C(0xD74F9C55), UINT32_C(0xFC2928FD), UINT32_C(0x0F1527F6),
9725           UINT32_C(0x63C3A053), UINT32_C(0x5B0FBF0F)},
9726          {UINT32_C(0xFC41FF10), UINT32_C(0xAC1F442C), UINT32_C(0x787B4932),
9727           UINT32_C(0x34EF88EF), UINT32_C(0x316732AC), UINT32_C(0xF8120F08),
9728           UINT32_C(0xA655DC4A), UINT32_C(0x7BCCF12C)}},
9729         {{UINT32_C(0xA6C7760E), UINT32_C(0x750DF97F), UINT32_C(0x609BF215),
9730           UINT32_C(0xF1A0A827), UINT32_C(0x67FD04B4), UINT32_C(0x7348C1B4),
9731           UINT32_C(0x615C8145), UINT32_C(0x6A581016)},
9732          {UINT32_C(0x9A11AAFC), UINT32_C(0x9DC01225), UINT32_C(0x3F2B0C8B),
9733           UINT32_C(0x24F65B05), UINT32_C(0xDCB1B2A4), UINT32_C(0xA27CB8BF),
9734           UINT32_C(0xE48C1A71), UINT32_C(0x3C44B811)}},
9735         {{UINT32_C(0xF780B295), UINT32_C(0xBC059AF2), UINT32_C(0x0B6B247D),
9736           UINT32_C(0xDF58928C), UINT32_C(0x01903F3D), UINT32_C(0x224D4C3C),
9737           UINT32_C(0x818EE0AC), UINT32_C(0x7152E120)},
9738          {UINT32_C(0x54BFF1BE), UINT32_C(0x6C8F4745), UINT32_C(0x431ADEF7),
9739           UINT32_C(0x98A6C7EC), UINT32_C(0x91B2CFB6), UINT32_C(0xDCB6BB75),
9740           UINT32_C(0x7E83A5BB), UINT32_C(0x145F6D39)}},
9741         {{UINT32_C(0x81D23BC1), UINT32_C(0x827C000C), UINT32_C(0x403956FC),
9742           UINT32_C(0x5CDC1135), UINT32_C(0x3C751158), UINT32_C(0xD967A5B1),
9743           UINT32_C(0x96201D7D), UINT32_C(0x52AF85BC)},
9744          {UINT32_C(0x644558F7), UINT32_C(0x522BC492), UINT32_C(0xED7A060D),
9745           UINT32_C(0xF74A35AF), UINT32_C(0x4DC4619E), UINT32_C(0x10E5F9FD),
9746           UINT32_C(0x324F60BB), UINT32_C(0x06071F1F)}},
9747         {{UINT32_C(0x65921C34), UINT32_C(0xC5FFD5EF), UINT32_C(0x302BAA5D),
9748           UINT32_C(0x46CE1A69), UINT32_C(0x4E22FF1D), UINT32_C(0x89CC84EC),
9749           UINT32_C(0x68131754), UINT32_C(0x16A481AE)},
9750          {UINT32_C(0xB89039F5), UINT32_C(0x2A06A156), UINT32_C(0xB3A95AB9),
9751           UINT32_C(0x40B6401B), UINT32_C(0x313820C3), UINT32_C(0xFFCC53EB),
9752           UINT32_C(0xEA959F76), UINT32_C(0x256B00E7)}},
9753         {{UINT32_C(0x54FBDD74), UINT32_C(0xCCE87FC9), UINT32_C(0xB23C6E1D),
9754           UINT32_C(0xEC258542), UINT32_C(0x9E5E1928), UINT32_C(0x5BE392B4),
9755           UINT32_C(0x47A8A759), UINT32_C(0x65AF3110)},
9756          {UINT32_C(0x47DFFD31), UINT32_C(0x943F7A25), UINT32_C(0x51E896FA),
9757           UINT32_C(0xDCCDA186), UINT32_C(0x933E747F), UINT32_C(0x71A93B1E),
9758           UINT32_C(0xDFB043AD), UINT32_C(0x44F5C468)}},
9759         {{UINT32_C(0x786FCCBA), UINT32_C(0xF6AEC52C), UINT32_C(0x6D51FA78),
9760           UINT32_C(0x23D49DCF), UINT32_C(0x9B40D8E6), UINT32_C(0x0F81463B),
9761           UINT32_C(0x708D3DA2), UINT32_C(0x18B9D932)},
9762          {UINT32_C(0xF986DC6D), UINT32_C(0x796F94ED), UINT32_C(0xFC2622C3),
9763           UINT32_C(0x33B2CCC1), UINT32_C(0x9CCEC606), UINT32_C(0x16790DFB),
9764           UINT32_C(0xCFD31481), UINT32_C(0x6F5D1452)}},
9765         {{UINT32_C(0x6C3A15D6), UINT32_C(0x91F15DDC), UINT32_C(0x4D360E75),
9766           UINT32_C(0x45D12F40), UINT32_C(0x1DAFFC9C), UINT32_C(0xF2E28EE8),
9767           UINT32_C(0x6CDF5566), UINT32_C(0x5CC6A056)},
9768          {UINT32_C(0x1779B9BF), UINT32_C(0x855166D2), UINT32_C(0xCF94D9FE),
9769           UINT32_C(0x92BA5EF4), UINT32_C(0x985BC1DD), UINT32_C(0x1266FB2A),
9770           UINT32_C(0xCA3018AD), UINT32_C(0x4572CE8F)}},
9771         {{UINT32_C(0xBE4BB604), UINT32_C(0x8729A12D), UINT32_C(0x4E99E9AB),
9772           UINT32_C(0x6A29C849), UINT32_C(0x7A89894D), UINT32_C(0x54AE5011),
9773           UINT32_C(0xCDB0EEBD), UINT32_C(0x5E66A255)},
9774          {UINT32_C(0xCBEE153B), UINT32_C(0x006736EA), UINT32_C(0x225E7B86),
9775           UINT32_C(0x8A36CC2D), UINT32_C(0xEC0598EC), UINT32_C(0xF731E430),
9776           UINT32_C(0x7FD9A11F), UINT32_C(0x49338E4D)}},
9777         {{UINT32_C(0xDA6DABAA), UINT32_C(0xE038CE03), UINT32_C(0x7C1BCE0C),
9778           UINT32_C(0x13A08DCE), UINT32_C(0xDA89EFBF), UINT32_C(0x12D00DD0),
9779           UINT32_C(0x6FCF0510), UINT32_C(0x70A13FB9)},
9780          {UINT32_C(0x5CDB03E2), UINT32_C(0x16ED1C92), UINT32_C(0x08E9EE4B),
9781           UINT32_C(0xDF1AB61D), UINT32_C(0x03AF3E3D), UINT32_C(0x48983DA8),
9782           UINT32_C(0x429DB770), UINT32_C(0x63CCA113)}},
9783         {{UINT32_C(0xCFB805E5), UINT32_C(0x6D9AC1EB), UINT32_C(0x50FA37B8),
9784           UINT32_C(0x47C3FE69), UINT32_C(0x2C33D457), UINT32_C(0xD308EC73),
9785           UINT32_C(0xD4CCA340), UINT32_C(0x3CB08E00)},
9786          {UINT32_C(0xBE862794), UINT32_C(0xC078DAD0), UINT32_C(0xF4E10A57),
9787           UINT32_C(0x2D147F83), UINT32_C(0x3DE1B3D5), UINT32_C(0xE91820FF),
9788           UINT32_C(0x6F30491B), UINT32_C(0x3D85DD72)}},
9789         {{UINT32_C(0xF5CBDD3A), UINT32_C(0xD486A022), UINT32_C(0xCAC0B99E),
9790           UINT32_C(0x2663134A), UINT32_C(0x5F3ABFCA), UINT32_C(0x42DE13F5),
9791           UINT32_C(0xB365B973), UINT32_C(0x4967A225)},
9792          {UINT32_C(0x10F1F997), UINT32_C(0x99C98A25), UINT32_C(0x7714FAB2),
9793           UINT32_C(0x23F057C9), UINT32_C(0x1BA2338D), UINT32_C(0xCE07CA6E),
9794           UINT32_C(0x069F65D7), UINT32_C(0x3BA69161)}},
9795         {{UINT32_C(0xC026FB0E), UINT32_C(0xCCD8C86F), UINT32_C(0x50407A8C),
9796           UINT32_C(0xF49F1FEA), UINT32_C(0x7F19A1DB), UINT32_C(0x72FEA37B),
9797           UINT32_C(0x3F457DB7), UINT32_C(0x22A03E25)},
9798          {UINT32_C(0x71F736D2), UINT32_C(0x2D6C62B2), UINT32_C(0xA5ACB4E5),
9799           UINT32_C(0xCC99F8E7), UINT32_C(0x0DE5F380), UINT32_C(0x8F7DBF2E),
9800           UINT32_C(0x352B4933), UINT32_C(0x24494786)}},
9801     },
9802     {
9803         {{UINT32_C(0xAE2A5E8F), UINT32_C(0xF020E7A9), UINT32_C(0xD14C5F02),
9804           UINT32_C(0x5ADC788B), UINT32_C(0x65C84DB4), UINT32_C(0xC5E5AFE4),
9805           UINT32_C(0x35C2633C), UINT32_C(0x392FACC4)},
9806          {UINT32_C(0x42DEE269), UINT32_C(0x47D50070), UINT32_C(0x6EB7849C),
9807           UINT32_C(0x76706ED7), UINT32_C(0x316548CB), UINT32_C(0x6BF56D56),
9808           UINT32_C(0xD37FF4DF), UINT32_C(0x4A466066)}},
9809         {{UINT32_C(0xC30283AD), UINT32_C(0xC8EBBFB5), UINT32_C(0x3544E645),
9810           UINT32_C(0x31E9CF96), UINT32_C(0x88886B50), UINT32_C(0x90EA9A49),
9811           UINT32_C(0x021D3D5D), UINT32_C(0x5E4B8C88)},
9812          {UINT32_C(0x0DFEB658), UINT32_C(0xA4DB9225), UINT32_C(0x1910FDAE),
9813           UINT32_C(0x8AA95DB6), UINT32_C(0xDE400EB9), UINT32_C(0x82E9A997),
9814           UINT32_C(0x96769A04), UINT32_C(0x238967E9)}},
9815         {{UINT32_C(0x89E2DF0A), UINT32_C(0x1ABB076A), UINT32_C(0x07065929),
9816           UINT32_C(0xDA8B09B0), UINT32_C(0x63BD349B), UINT32_C(0x332BE8A5),
9817           UINT32_C(0xA2D35385), UINT32_C(0x0EB973CE)},
9818          {UINT32_C(0x9C7D375E), UINT32_C(0x67F7AE63), UINT32_C(0xE7AE90B1),
9819           UINT32_C(0xA235818D), UINT32_C(0x817493B0), UINT32_C(0x2B59C26E),
9820           UINT32_C(0x33C4ACD6), UINT32_C(0x39DC1050)}},
9821         {{UINT32_C(0x7B7DB3F5), UINT32_C(0x11801ACE), UINT32_C(0x8CC97CA5),
9822           UINT32_C(0x79C214C3), UINT32_C(0xBF2674BF), UINT32_C(0xB4BFE1AB),
9823           UINT32_C(0x43252011), UINT32_C(0x598EA7DC)},
9824          {UINT32_C(0xB08F8EF5), UINT32_C(0x217FF6D3), UINT32_C(0x8B9226B7),
9825           UINT32_C(0x9797BBC9), UINT32_C(0x7B0EDB09), UINT32_C(0xAB8E98C9),
9826           UINT32_C(0x083A401F), UINT32_C(0x240EC22D)}},
9827         {{UINT32_C(0x459ABC3D), UINT32_C(0x55A75BCF), UINT32_C(0x64ECC2DC),
9828           UINT32_C(0xB2F98598), UINT32_C(0x9EE84779), UINT32_C(0x271C47C3),
9829           UINT32_C(0xBF9BDBF2), UINT32_C(0x0166E5D4)},
9830          {UINT32_C(0x4215B666), UINT32_C(0xD205380F), UINT32_C(0x64E9FE64),
9831           UINT32_C(0xF7041396), UINT32_C(0x2BB0DA40), UINT32_C(0x4C737E94),
9832           UINT32_C(0xC8119691), UINT32_C(0x2E763521)}},
9833         {{UINT32_C(0xFD2F8593), UINT32_C(0x79550B60), UINT32_C(0x0C17A56F),
9834           UINT32_C(0x47E00AFD), UINT32_C(0xB44157CF), UINT32_C(0x0D900A9D),
9835           UINT32_C(0xA81BED76), UINT32_C(0x016CF746)},
9836          {UINT32_C(0xAC47A84B), UINT32_C(0xC21E861B), UINT32_C(0x1724BD47),
9837           UINT32_C(0x0E14387A), UINT32_C(0x2077F7BC), UINT32_C(0xC209303E),
9838           UINT32_C(0xBAD12F0B), UINT32_C(0x33B5EB59)}},
9839         {{UINT32_C(0x9850FC1F), UINT32_C(0x7152354F), UINT32_C(0x83637934),
9840           UINT32_C(0x1239576F), UINT32_C(0x82AF46BA), UINT32_C(0xB00C4E4E),
9841           UINT32_C(0xEC3FEEFF), UINT32_C(0x563D5062)},
9842          {UINT32_C(0x33D67B7F), UINT32_C(0xEF25E373), UINT32_C(0x50D9845E),
9843           UINT32_C(0x3A80A50E), UINT32_C(0xA5787EF5), UINT32_C(0x1DCED1E9),
9844           UINT32_C(0xA0F87C3C), UINT32_C(0x15723E9A)}},
9845         {{UINT32_C(0x2B4A156D), UINT32_C(0x21743511), UINT32_C(0xCD12BD2B),
9846           UINT32_C(0xB75C041C), UINT32_C(0x79F393A6), UINT32_C(0x6947368C),
9847           UINT32_C(0x76420E56), UINT32_C(0x32CDE49E)},
9848          {UINT32_C(0x43D612FF), UINT32_C(0x67FBA315), UINT32_C(0xE3B87BC2),
9849           UINT32_C(0x697F7FAE), UINT32_C(0x7391129A), UINT32_C(0x980DAFBC),
9850           UINT32_C(0x6F707469), UINT32_C(0x438B2858)}},
9851         {{UINT32_C(0x5E9D085F), UINT32_C(0xDA8AD16D), UINT32_C(0x768FA87C),
9852           UINT32_C(0xE636F1AF), UINT32_C(0xB85FF1F1), UINT32_C(0x08520756),
9853           UINT32_C(0x6ABB31BE), UINT32_C(0x1B818481)},
9854          {UINT32_C(0x2E686F1A), UINT32_C(0x25B3DCB9), UINT32_C(0x2B0CB829),
9855           UINT32_C(0xE1282134), UINT32_C(0x3B9B759C), UINT32_C(0x626232BC),
9856           UINT32_C(0x38C4338E), UINT32_C(0x797316BB)}},
9857         {{UINT32_C(0x4A62DCBD), UINT32_C(0xF8365B64), UINT32_C(0x6BF0EFED),
9858           UINT32_C(0xC2CF51BA), UINT32_C(0xABF74764), UINT32_C(0x37E379EF),
9859           UINT32_C(0xA350D603), UINT32_C(0x5DC32071)},
9860          {UINT32_C(0x5B732100), UINT32_C(0x5465CC80), UINT32_C(0xB3BB5366),
9861           UINT32_C(0x3231B4E3), UINT32_C(0xD0D067CE), UINT32_C(0x23F5385E),
9862           UINT32_C(0x67D33451), UINT32_C(0x76CD7621)}},
9863         {{UINT32_C(0x55D857DD), UINT32_C(0xC6C93A05), UINT32_C(0x8F308F7F),
9864           UINT32_C(0xB4B6F176), UINT32_C(0xC0F13577), UINT32_C(0x2371CD88),
9865           UINT32_C(0x70807D9D), UINT32_C(0x1E507D6C)},
9866          {UINT32_C(0xC73E8E2F), UINT32_C(0x7A77CCE1), UINT32_C(0xFCCBDEEB),
9867           UINT32_C(0x1DD96274), UINT32_C(0x03F378B8), UINT32_C(0xA4DBEA5D),
9868           UINT32_C(0x2A1C347F), UINT32_C(0x44B4DF55)}},
9869         {{UINT32_C(0x8D067A47), UINT32_C(0x9853D282), UINT32_C(0x86813E74),
9870           UINT32_C(0xBF0ADAF4), UINT32_C(0x39409037), UINT32_C(0xFDE1F24D),
9871           UINT32_C(0x973B045D), UINT32_C(0x0E629604)},
9872          {UINT32_C(0x3BB92FAB), UINT32_C(0x9880A74B), UINT32_C(0xC6C4D6C6),
9873           UINT32_C(0xBC4E3405), UINT32_C(0x5184A2D6), UINT32_C(0x98C24318),
9874           UINT32_C(0xC210C183), UINT32_C(0x07D65412)}},
9875         {{UINT32_C(0x441A5FBC), UINT32_C(0x3938E528), UINT32_C(0xCCC66B22),
9876           UINT32_C(0x2CCD837D), UINT32_C(0x5E606282), UINT32_C(0x075FADE7),
9877           UINT32_C(0x4BB0E76A), UINT32_C(0x32181165)},
9878          {UINT32_C(0xFC929890), UINT32_C(0xE7240305), UINT32_C(0xE03AAA52),
9879           UINT32_C(0x1FA427C8), UINT32_C(0x0BC7B9F8), UINT32_C(0xF23C879B),
9880           UINT32_C(0xD6BBC908), UINT32_C(0x699A1235)}},
9881         {{UINT32_C(0x14124B8A), UINT32_C(0x20C29781), UINT32_C(0x48000278),
9882           UINT32_C(0x0C6464B3), UINT32_C(0xD644E10C), UINT32_C(0xF1939127),
9883           UINT32_C(0x4EC07EE3), UINT32_C(0x47A479E6)},
9884          {UINT32_C(0x77023389), UINT32_C(0xB6315768), UINT32_C(0x8BFDD90F),
9885           UINT32_C(0xC0FD319D), UINT32_C(0x6CB022D4), UINT32_C(0x0EBEC200),
9886           UINT32_C(0x302F58EF), UINT32_C(0x6810DF3D)}},
9887         {{UINT32_C(0xACB1C3F2), UINT32_C(0xCF97FA07), UINT32_C(0xA2C3F2F1),
9888           UINT32_C(0xACC60D84), UINT32_C(0x5DEB73D4), UINT32_C(0x4EF3CAAC),
9889           UINT32_C(0xD5472C1D), UINT32_C(0x654D0D90)},
9890          {UINT32_C(0xE4729062), UINT32_C(0x5A39A718), UINT32_C(0x8324E0F2),
9891           UINT32_C(0x84B286B0), UINT32_C(0xD21E8457), UINT32_C(0xA07A01CB),
9892           UINT32_C(0xB094714E), UINT32_C(0x0EC091C7)}},
9893         {{UINT32_C(0x895736BD), UINT32_C(0x7AB81940), UINT32_C(0xE4679DF5),
9894           UINT32_C(0x9AE791B7), UINT32_C(0xF064109B), UINT32_C(0x36163D81),
9895           UINT32_C(0x0E956B07), UINT32_C(0x3DDEE4A4)},
9896          {UINT32_C(0xFEAAE47C), UINT32_C(0xE146E7EE), UINT32_C(0x6A8EEC03),
9897           UINT32_C(0x81C0C2A7), UINT32_C(0xA8C315CB), UINT32_C(0x10BB8DD9),
9898           UINT32_C(0xD21B9AB0), UINT32_C(0x2CB423D8)}},
9899     },
9900     {
9901         {{UINT32_C(0x166A5B9A), UINT32_C(0x5B11D3C7), UINT32_C(0x8768861D),
9902           UINT32_C(0x973627BB), UINT32_C(0x5A3E442A), UINT32_C(0x82A5E2CD),
9903           UINT32_C(0xDDE63678), UINT32_C(0x13F6C741)},
9904          {UINT32_C(0xD892738E), UINT32_C(0x8DAA3C74), UINT32_C(0xA932376F),
9905           UINT32_C(0x0A07D651), UINT32_C(0x6892504B), UINT32_C(0xE12612C5),
9906           UINT32_C(0xCA3FF301), UINT32_C(0x619D2B1D)}},
9907         {{UINT32_C(0x1B07CEB7), UINT32_C(0x2B6D686F), UINT32_C(0x298D0996),
9908           UINT32_C(0x90C0260C), UINT32_C(0x102BC73C), UINT32_C(0x8CAAB926),
9909           UINT32_C(0xAEB3911C), UINT32_C(0x445A6487)},
9910          {UINT32_C(0x57F17290), UINT32_C(0x7EE1E547), UINT32_C(0x417711BF),
9911           UINT32_C(0xC055478B), UINT32_C(0x5CFA42C2), UINT32_C(0x29EF9FEC),
9912           UINT32_C(0x2B8EA0D6), UINT32_C(0x5A022DE4)}},
9913         {{UINT32_C(0xAEEB2675), UINT32_C(0x81A5EC18), UINT32_C(0xAD1BBA8A),
9914           UINT32_C(0xA867C5AA), UINT32_C(0x8DB47EBC), UINT32_C(0xAECB3688),
9915           UINT32_C(0x26D1038F), UINT32_C(0x77CE00BC)},
9916          {UINT32_C(0x3E68504B), UINT32_C(0xADC635EF), UINT32_C(0xDAE8AF4F),
9917           UINT32_C(0x0EFC21DE), UINT32_C(0xAC70C4C9), UINT32_C(0xDE57FD43),
9918           UINT32_C(0xE78FFC0D), UINT32_C(0x123360BE)}},
9919         {{UINT32_C(0xD82B61DB), UINT32_C(0xD608DB32), UINT32_C(0x8E45C853),
9920           UINT32_C(0x05AF2A90), UINT32_C(0x9D3B0032), UINT32_C(0xF1B8213E),
9921           UINT32_C(0xCAD15361), UINT32_C(0x2312F8AB)},
9922          {UINT32_C(0xC29EE818), UINT32_C(0xDC8D8E32), UINT32_C(0xDE5CD587),
9923           UINT32_C(0x07D7A475), UINT32_C(0x0C6C38B8), UINT32_C(0x76610913),
9924           UINT32_C(0xD7984BD9), UINT32_C(0x0131B6C6)}},
9925         {{UINT32_C(0xCF69C844), UINT32_C(0xC05CD4D0), UINT32_C(0x81A9B005),
9926           UINT32_C(0x747C092D), UINT32_C(0xD9E39F54), UINT32_C(0x0D793551),
9927           UINT32_C(0x7FFEF17C), UINT32_C(0x3BBB00DA)},
9928          {UINT32_C(0x655AD7C1), UINT32_C(0x6CAB83D9), UINT32_C(0x66A8F590),
9929           UINT32_C(0x601BECD0), UINT32_C(0xAE51811B), UINT32_C(0xFADB086D),
9930           UINT32_C(0xD69F734B), UINT32_C(0x7768A5D8)}},
9931         {{UINT32_C(0xF0E2385E), UINT32_C(0x3BB9B347), UINT32_C(0xF7D39F23),
9932           UINT32_C(0x376C8C48), UINT32_C(0xD82EC840), UINT32_C(0xE656C1A4),
9933           UINT32_C(0xFC2AC59A), UINT32_C(0x328B25C9)},
9934          {UINT32_C(0xA046BEE6), UINT32_C(0xD02B2F39), UINT32_C(0x80066D6C),
9935           UINT32_C(0xDBAB19A5), UINT32_C(0xE938B7F7), UINT32_C(0x6A2E8F67),
9936           UINT32_C(0xAA7F2661), UINT32_C(0x645A57A1)}},
9937         {{UINT32_C(0x9A006FAE), UINT32_C(0x6227904D), UINT32_C(0xB598CB72),
9938           UINT32_C(0xA975FC4C), UINT32_C(0xA1120B82), UINT32_C(0x945BFC2F),
9939           UINT32_C(0x2AC15CE5), UINT32_C(0x437A8AB4)},
9940          {UINT32_C(0x0F53317C), UINT32_C(0xA512A107), UINT32_C(0xFF9BD7D6),
9941           UINT32_C(0x7B552554), UINT32_C(0x54155AF9), UINT32_C(0xF81213E7),
9942           UINT32_C(0xFDCE0842), UINT32_C(0x0923F42C)}},
9943         {{UINT32_C(0x5216BB55), UINT32_C(0x13523916), UINT32_C(0x599CA117),
9944           UINT32_C(0xF27E4C7A), UINT32_C(0x7DD95BE1), UINT32_C(0x464D040A),
9945           UINT32_C(0x3C417D05), UINT32_C(0x40897486)},
9946          {UINT32_C(0x7C88E5D7), UINT32_C(0x0A3D16BF), UINT32_C(0xC13B286F),
9947           UINT32_C(0x0B94C661), UINT32_C(0xE2214821), UINT32_C(0xF73C7126),
9948           UINT32_C(0xF2F6DAFA), UINT32_C(0x4B3D5BF0)}},
9949         {{UINT32_C(0xF1A4332A), UINT32_C(0xCFABD8A2), UINT32_C(0xBAAC9A51),
9950           UINT32_C(0x56DB1546), UINT32_C(0x04416247), UINT32_C(0x8CC5204B),
9951           UINT32_C(0xF0583310), UINT32_C(0x75EC13BF)},
9952          {UINT32_C(0xD35B55D0), UINT32_C(0x0D68896E), UINT32_C(0x67FC14D9),
9953           UINT32_C(0xE89274E2), UINT32_C(0xFC322878), UINT32_C(0x18D425C0),
9954           UINT32_C(0x916C714A), UINT32_C(0x69477DD7)}},
9955         {{UINT32_C(0x9BDDF0F9), UINT32_C(0x427CBB6C), UINT32_C(0xDB9F52CB),
9956           UINT32_C(0xCF6941E2), UINT32_C(0x35E60DFA), UINT32_C(0xEF144DF6),
9957           UINT32_C(0xB61DF45C), UINT32_C(0x27B5246E)},
9958          {UINT32_C(0xB8D3D1D9), UINT32_C(0x0E124518), UINT32_C(0x8B313B95),
9959           UINT32_C(0xBB3BA134), UINT32_C(0x0FA2B7A9), UINT32_C(0x050DCBDF),
9960           UINT32_C(0x1D0A99B5), UINT32_C(0x50DBCF6D)}},
9961         {{UINT32_C(0x3924A1E5), UINT32_C(0x8A8B22CB), UINT32_C(0x118F9D55),
9962           UINT32_C(0x86CB4C5A), UINT32_C(0x5B339C53), UINT32_C(0xE5330ACC),
9963           UINT32_C(0x66A35A67), UINT32_C(0x6D5FDDF9)},
9964          {UINT32_C(0x6F6438A5), UINT32_C(0xC9500719), UINT32_C(0x07E5394E),
9965           UINT32_C(0x9723F2BA), UINT32_C(0x866B45A8), UINT32_C(0xA9CE2117),
9966           UINT32_C(0x045CA2CA), UINT32_C(0x1B737D8D)}},
9967         {{UINT32_C(0x6EE00E30), UINT32_C(0x6093F5A5), UINT32_C(0x5DE0A6FC),
9968           UINT32_C(0x5CAB98D4), UINT32_C(0x65DE754F), UINT32_C(0xADFB652C),
9969           UINT32_C(0x862EFD1D), UINT32_C(0x679900D1)},
9970          {UINT32_C(0xAFC5D235), UINT32_C(0x6E5C230F), UINT32_C(0x12CF6DD3),
9971           UINT32_C(0x3A1E5579), UINT32_C(0x03FB4FA0), UINT32_C(0x241C20FB),
9972           UINT32_C(0x20F6C013), UINT32_C(0x562FFAE3)}},
9973         {{UINT32_C(0x397F25EC), UINT32_C(0x6EFC732F), UINT32_C(0xBC1F03B8),
9974           UINT32_C(0x304D1F7D), UINT32_C(0x8890DADE), UINT32_C(0xA2FA6001),
9975           UINT32_C(0x51A25539), UINT32_C(0x4F91F97C)},
9976          {UINT32_C(0x48F4EF02), UINT32_C(0xE75F9C50), UINT32_C(0x218AEE9D),
9977           UINT32_C(0xCC53F460), UINT32_C(0x10D76649), UINT32_C(0xE7B40489),
9978           UINT32_C(0x42ECDBA4), UINT32_C(0x148F90A2)}},
9979         {{UINT32_C(0x1F683AD6), UINT32_C(0xBF45023A), UINT32_C(0x95E868D1),
9980           UINT32_C(0x2EA5F70C), UINT32_C(0xA97F2DE3), UINT32_C(0x47A19F33),
9981           UINT32_C(0x8A76ED9F), UINT32_C(0x3C8CCA9E)},
9982          {UINT32_C(0xE1A268D0), UINT32_C(0x01562C6E), UINT32_C(0xBA4EF01E),
9983           UINT32_C(0x9EB6EBAC), UINT32_C(0x342410FB), UINT32_C(0x835E64D4),
9984           UINT32_C(0xFFF4594D), UINT32_C(0x06F96B87)}},
9985         {{UINT32_C(0xD233612B), UINT32_C(0xE49A383A), UINT32_C(0xC9C14F64),
9986           UINT32_C(0x3CA5421F), UINT32_C(0xBB53DF81), UINT32_C(0x25192E1B),
9987           UINT32_C(0xA94C046C), UINT32_C(0x3C1451FE)},
9988          {UINT32_C(0x0423FAA8), UINT32_C(0x72B270F8), UINT32_C(0x3763888A),
9989           UINT32_C(0xFF63513D), UINT32_C(0xC1745190), UINT32_C(0xB22F2F20),
9990           UINT32_C(0x35DEA32C), UINT32_C(0x2E005A7A)}},
9991         {{UINT32_C(0x6305B2EB), UINT32_C(0x6B5A4E7A), UINT32_C(0x9CCD05D2),
9992           UINT32_C(0xF017BCA1), UINT32_C(0xD19AD8CB), UINT32_C(0xB37027C9),
9993           UINT32_C(0x0CBB36A6), UINT32_C(0x2CFCB470)},
9994          {UINT32_C(0x663F3485), UINT32_C(0x17F4FE51), UINT32_C(0x0DC3467B),
9995           UINT32_C(0x7DC20A17), UINT32_C(0x4AF63CBD), UINT32_C(0x6B56BA3F),
9996           UINT32_C(0x0D5D64AF), UINT32_C(0x4E7CF289)}},
9997     },
9998     {
9999         {{UINT32_C(0x7F59D2E9), UINT32_C(0xE2C5CD1F), UINT32_C(0x9D7FBE1E),
10000           UINT32_C(0x6B9ACEB7), UINT32_C(0xA20225B0), UINT32_C(0x84F0441D),
10001           UINT32_C(0x8B369FBC), UINT32_C(0x15875CDA)},
10002          {UINT32_C(0x0659E294), UINT32_C(0xED133277), UINT32_C(0x7AE02043),
10003           UINT32_C(0x7FAA913E), UINT32_C(0x9DCEDE14), UINT32_C(0xCA0E58DA),
10004           UINT32_C(0xCDE68547), UINT32_C(0x5F6A70FD)}},
10005         {{UINT32_C(0xE7282711), UINT32_C(0x524B790D), UINT32_C(0xBCA05694),
10006           UINT32_C(0x4B4F6246), UINT32_C(0x949AF774), UINT32_C(0x85169ECB),
10007           UINT32_C(0xCC743068), UINT32_C(0x5B168842)},
10008          {UINT32_C(0x31FB3BA3), UINT32_C(0xB8D0E9F2), UINT32_C(0x62D471C7),
10009           UINT32_C(0x56DD4BC3), UINT32_C(0xE2A34F75), UINT32_C(0xB14D689C),
10010           UINT32_C(0x02E8D2D2), UINT32_C(0x7F4E1717)}},
10011         {{UINT32_C(0xB17090B9), UINT32_C(0x8EE3491A), UINT32_C(0x6B7EDAF4),
10012           UINT32_C(0x67C07116), UINT32_C(0x4D0E6CCE), UINT32_C(0x6876E4CE),
10013           UINT32_C(0xBC5A86BE), UINT32_C(0x6D2FBB64)},
10014          {UINT32_C(0x070FA8C3), UINT32_C(0x0431C67A), UINT32_C(0x0F5D65F4),
10015           UINT32_C(0x91EFF9BE), UINT32_C(0xE07088DF), UINT32_C(0x332985E2),
10016           UINT32_C(0x676EADA8), UINT32_C(0x006D2583)}},
10017         {{UINT32_C(0x0AA747D6), UINT32_C(0xA1FBCC37), UINT32_C(0xB0DFDF3C),
10018           UINT32_C(0xADEA4A90), UINT32_C(0x401ED81B), UINT32_C(0x650162C7),
10019           UINT32_C(0xA8B15E22), UINT32_C(0x0FBC4841)},
10020          {UINT32_C(0xBF98CDAC), UINT32_C(0x1044B4E8), UINT32_C(0xECD1C668),
10021           UINT32_C(0x37071115), UINT32_C(0x233C220C), UINT32_C(0x29B93C17),
10022           UINT32_C(0xE69BC0C0), UINT32_C(0x4BEBC3CC)}},
10023         {{UINT32_C(0x46BF7E51), UINT32_C(0xD1A16E37), UINT32_C(0xF7A7370C),
10024           UINT32_C(0x889C7782), UINT32_C(0x3CCB474D), UINT32_C(0xC73F396E),
10025           UINT32_C(0xB9D67A2E), UINT32_C(0x1C508F18)},
10026          {UINT32_C(0x6B03B7E7), UINT32_C(0x3F17E967), UINT32_C(0xF857BB26),
10027           UINT32_C(0x3928F1D8), UINT32_C(0xC0EA8620), UINT32_C(0x3086FB2E),
10028           UINT32_C(0x1BE7C3E4), UINT32_C(0x15DC32C2)}},
10029         {{UINT32_C(0x11F4D949), UINT32_C(0xF48D4C32), UINT32_C(0xB0357C05),
10030           UINT32_C(0xE14A4AE3), UINT32_C(0x151D91AE), UINT32_C(0x77A1121F),
10031           UINT32_C(0xE8C6869D), UINT32_C(0x33F85C2F)},
10032          {UINT32_C(0x364B77B0), UINT32_C(0x8EA3BB4C), UINT32_C(0x9BD43E50),
10033           UINT32_C(0x1F155B91), UINT32_C(0x54748E7D), UINT32_C(0xA6C28730),
10034           UINT32_C(0xE7DDC539), UINT32_C(0x5AA34DDA)}},
10035         {{UINT32_C(0xA6CF8A82), UINT32_C(0xF0F80DDA), UINT32_C(0x091663B5),
10036           UINT32_C(0x87DE6D6C), UINT32_C(0x02FE5519), UINT32_C(0x94798734),
10037           UINT32_C(0x96722130), UINT32_C(0x109D411F)},
10038          {UINT32_C(0xE661041F), UINT32_C(0xBC47CA73), UINT32_C(0x65741541),
10039           UINT32_C(0x071D6059), UINT32_C(0x07E08735), UINT32_C(0x7CD4DF66),
10040           UINT32_C(0xE68FC807), UINT32_C(0x175E1F77)}},
10041         {{UINT32_C(0xDA58865B), UINT32_C(0xB88BDAB8), UINT32_C(0x20ED2B89),
10042           UINT32_C(0x14AD9112), UINT32_C(0x039BF0A3), UINT32_C(0x2B21AEDF),
10043           UINT32_C(0x9D4B77E9), UINT32_C(0x78971777)},
10044          {UINT32_C(0xD6612EF3), UINT32_C(0x133DA2AC), UINT32_C(0x12AD1785),
10045           UINT32_C(0x6260FCF5), UINT32_C(0x9DF08843), UINT32_C(0xDBA784DA),
10046           UINT32_C(0x4449FBD1), UINT32_C(0x1A30C4CF)}},
10047         {{UINT32_C(0x4EF7ACA2), UINT32_C(0xB6FECE87), UINT32_C(0x13F7C58C),
10048           UINT32_C(0x9CE7B61A), UINT32_C(0xF8719A60), UINT32_C(0x6B0223C9),
10049           UINT32_C(0xA3B3B088), UINT32_C(0x21199AA5)},
10050          {UINT32_C(0x6938BB02), UINT32_C(0x4A717196), UINT32_C(0xE7ABC263),
10051           UINT32_C(0x2E9A17C9), UINT32_C(0x4BAB12B7), UINT32_C(0x83F79623),
10052           UINT32_C(0x49D7CFBD), UINT32_C(0x15C0C4AF)}},
10053         {{UINT32_C(0x56D2957F), UINT32_C(0x99B34139), UINT32_C(0x07218BB6),
10054           UINT32_C(0xA51B8DFD), UINT32_C(0xFC91D7C9), UINT32_C(0x47CA4323),
10055           UINT32_C(0x3DCFD5F0), UINT32_C(0x44B01E75)},
10056          {UINT32_C(0x8CE894F3), UINT32_C(0x29F9D18E), UINT32_C(0x95227C6F),
10057           UINT32_C(0x22BCC540), UINT32_C(0x3FC75409), UINT32_C(0x815CD936),
10058           UINT32_C(0xD8989472), UINT32_C(0x0D58B325)}},
10059         {{UINT32_C(0xB6C80208), UINT32_C(0x8B4C6980), UINT32_C(0x8FB77CCD),
10060           UINT32_C(0xA5D97497), UINT32_C(0x9477132F), UINT32_C(0x1B896571),
10061           UINT32_C(0x3AE45F53), UINT32_C(0x348ABC21)},
10062          {UINT32_C(0x14BCDB96), UINT32_C(0xE438C1C3), UINT32_C(0x8007C1BF),
10063           UINT32_C(0x63150CF9), UINT32_C(0x8508B903), UINT32_C(0xDB861A33),
10064           UINT32_C(0x7B04ECD6), UINT32_C(0x421DFB01)}},
10065         {{UINT32_C(0x19430E7B), UINT32_C(0xF2FCE58B), UINT32_C(0xD0F8ECB7),
10066           UINT32_C(0x851A5F03), UINT32_C(0x0A5A1833), UINT32_C(0xE756C167),
10067           UINT32_C(0x227F866C), UINT32_C(0x25A51405)},
10068          {UINT32_C(0x3C6EE5F3), UINT32_C(0x40F34CB0), UINT32_C(0xF244B5CF),
10069           UINT32_C(0xF4010401), UINT32_C(0x01349BCF), UINT32_C(0x0E21BDED),
10070           UINT32_C(0x04547F42), UINT32_C(0x1B129D82)}},
10071         {{UINT32_C(0x0927D153), UINT32_C(0x802EC480), UINT32_C(0x72541520),
10072           UINT32_C(0x0F75E4FE), UINT32_C(0x026C4613), UINT32_C(0xA4A1557A),
10073           UINT32_C(0x7D92BC18), UINT32_C(0x25E8DAFB)},
10074          {UINT32_C(0x12F15F05), UINT32_C(0x1D87A143), UINT32_C(0x7B6B4240),
10075           UINT32_C(0x79390E3C), UINT32_C(0x492E6273), UINT32_C(0xFC199D76),
10076           UINT32_C(0x7EB090C0), UINT32_C(0x0053F1C4)}},
10077         {{UINT32_C(0xACEE6DFC), UINT32_C(0xE790F1CA), UINT32_C(0xDFEA04FF),
10078           UINT32_C(0xC8FB4626), UINT32_C(0x627D88D7), UINT32_C(0xBF03627F),
10079           UINT32_C(0x3D81A75A), UINT32_C(0x1B369884)},
10080          {UINT32_C(0x917FA19D), UINT32_C(0x83405DDA), UINT32_C(0x8C7DDCD2),
10081           UINT32_C(0xFFB23FF9), UINT32_C(0x40F10B48), UINT32_C(0x644F54C7),
10082           UINT32_C(0x17FF713A), UINT32_C(0x4636FADF)}},
10083         {{UINT32_C(0x27F417E4), UINT32_C(0xDA62ECC2), UINT32_C(0xFD8662BE),
10084           UINT32_C(0xC0DBE48F), UINT32_C(0x1011E73C), UINT32_C(0x729EE4AA),
10085           UINT32_C(0x3E11C84B), UINT32_C(0x4BAE5D3C)},
10086          {UINT32_C(0x6CEF6CDA), UINT32_C(0x854DFFF8), UINT32_C(0xCB7131EA),
10087           UINT32_C(0x7939228C), UINT32_C(0xD3EBC607), UINT32_C(0x58B3744A),
10088           UINT32_C(0x2049E239), UINT32_C(0x6EB9248F)}},
10089         {{UINT32_C(0xED0D4E57), UINT32_C(0x0265CAE9), UINT32_C(0x8AA65AEF),
10090           UINT32_C(0x92166D02), UINT32_C(0x198345D6), UINT32_C(0x2E337CDA),
10091           UINT32_C(0xABE1AD7B), UINT32_C(0x6775330C)},
10092          {UINT32_C(0xBF6FBC7D), UINT32_C(0xA9A828A8), UINT32_C(0xCBFEA393),
10093           UINT32_C(0x33A56F8D), UINT32_C(0xD811EC51), UINT32_C(0x2DB72F77),
10094           UINT32_C(0x8327C78E), UINT32_C(0x3DDFCD26)}},
10095     },
10096     {
10097         {{UINT32_C(0xB46AA2C4), UINT32_C(0x7CF8A521), UINT32_C(0xACF0D567),
10098           UINT32_C(0xE3B20937), UINT32_C(0xA440648E), UINT32_C(0xD47D8D1B),
10099           UINT32_C(0x1E9791A1), UINT32_C(0x674E7920)},
10100          {UINT32_C(0x18366462), UINT32_C(0x27B714EB), UINT32_C(0x8476F588),
10101           UINT32_C(0x1526E558), UINT32_C(0x6C240D70), UINT32_C(0x72C8D374),
10102           UINT32_C(0x805C1265), UINT32_C(0x066BBAFB)}},
10103         {{UINT32_C(0x457034E1), UINT32_C(0x15F1CFF5), UINT32_C(0xDD819FA7),
10104           UINT32_C(0xCF7C6550), UINT32_C(0x77AC7AD6), UINT32_C(0x57C2CD53),
10105           UINT32_C(0xAFED669D), UINT32_C(0x7DB2A8BE)},
10106          {UINT32_C(0xD4697340), UINT32_C(0x2DAFD95F), UINT32_C(0x15A6B6E7),
10107           UINT32_C(0x382FF892), UINT32_C(0xBF4A6B1B), UINT32_C(0x036FC753),
10108           UINT32_C(0xE4012711), UINT32_C(0x3E7AC46D)}},
10109         {{UINT32_C(0x5752A34D), UINT32_C(0xBA5ECDED), UINT32_C(0x6BAA08DD),
10110           UINT32_C(0xB08749D4), UINT32_C(0x4A4A47A8), UINT32_C(0x8A2B9897),
10111           UINT32_C(0xE42DCE02), UINT32_C(0x7230966F)},
10112          {UINT32_C(0x58654FF5), UINT32_C(0xA6FF614A), UINT32_C(0xAB3C2A7E),
10113           UINT32_C(0x7F3531D1), UINT32_C(0x0D0ED417), UINT32_C(0x0282A2F0),
10114           UINT32_C(0xEA9755A3), UINT32_C(0x2DC7B872)}},
10115         {{UINT32_C(0x2392536A), UINT32_C(0x7678D765), UINT32_C(0x574C657D),
10116           UINT32_C(0x0C2025F1), UINT32_C(0x795413DC), UINT32_C(0x01701C80),
10117           UINT32_C(0x5396279E), UINT32_C(0x63F0D496)},
10118          {UINT32_C(0xFA32EA64), UINT32_C(0xB0F9968A), UINT32_C(0x5BB393DE),
10119           UINT32_C(0x81265D15), UINT32_C(0x0BCD8C10), UINT32_C(0xC05ECC6D),
10120           UINT32_C(0x2824457E), UINT32_C(0x4F3769F9)}},
10121         {{UINT32_C(0xF13DB92E), UINT32_C(0x9AA58686), UINT32_C(0xED2E1B18),
10122           UINT32_C(0x1155CDF4), UINT32_C(0x09823F5A), UINT32_C(0xA06E9194),
10123           UINT32_C(0x4257AB0E), UINT32_C(0x7F1BBE73)},
10124          {UINT32_C(0xABA6FCD1), UINT32_C(0x2DFB6472), UINT32_C(0xD73D850E),
10125           UINT32_C(0x04BE6BCA), UINT32_C(0x297D312B), UINT32_C(0x72AAEC34),
10126           UINT32_C(0x7509D9F5), UINT32_C(0x31F4C02C)}},
10127         {{UINT32_C(0x7CA72AD5), UINT32_C(0xAA9BA000), UINT32_C(0x7FBCB4D6),
10128           UINT32_C(0x21EE2945), UINT32_C(0x1CF8580A), UINT32_C(0x0E210AAB),
10129           UINT32_C(0x0FA8DE10), UINT32_C(0x600479FE)},
10130          {UINT32_C(0x54322F70), UINT32_C(0x246FD265), UINT32_C(0x60DF1893),
10131           UINT32_C(0xC60BE9BB), UINT32_C(0x05137E38), UINT32_C(0x04D4F99D),
10132           UINT32_C(0x6164C176), UINT32_C(0x6ACB9E01)}},
10133         {{UINT32_C(0xC1DB7B6C), UINT32_C(0x126F2C7E), UINT32_C(0xCF4DD3C0),
10134           UINT32_C(0x4C3B30B5), UINT32_C(0xF782A489), UINT32_C(0x827D57A2),
10135           UINT32_C(0xE52621F0), UINT32_C(0x41B897DE)},
10136          {UINT32_C(0xDDA0A3CD), UINT32_C(0xED31C55A), UINT32_C(0xA11AD179),
10137           UINT32_C(0x21C91BB2), UINT32_C(0x43FD6E23), UINT32_C(0x60E606B8),
10138           UINT32_C(0x51ED7FA6), UINT32_C(0x31B8138D)}},
10139         {{UINT32_C(0xE72E4BC5), UINT32_C(0x1387B313), UINT32_C(0x82EBFC72),
10140           UINT32_C(0xDCCCB09C), UINT32_C(0xAA4432D6), UINT32_C(0xF0B01202),
10141           UINT32_C(0x7C52B69D), UINT32_C(0x632599C4)},
10142          {UINT32_C(0xBCE9A04C), UINT32_C(0x3922D0C0), UINT32_C(0xB53F4268),
10143           UINT32_C(0xC2397D88), UINT32_C(0x00669858), UINT32_C(0x50AE5ED9),
10144           UINT32_C(0x16C7696B), UINT32_C(0x1B2BD4C2)}},
10145         {{UINT32_C(0x2BF7DF06), UINT32_C(0x6FAE1B08), UINT32_C(0x5210DB3B),
10146           UINT32_C(0x870B3FE8), UINT32_C(0x9BDC0B91), UINT32_C(0x680BE422),
10147           UINT32_C(0xBCC970AD), UINT32_C(0x56BA83C6)},
10148          {UINT32_C(0x859D6C78), UINT32_C(0x1AE91BAC), UINT32_C(0x2895A1A6),
10149           UINT32_C(0xC5BDD5FB), UINT32_C(0x550610F5), UINT32_C(0xA169E73C),
10150           UINT32_C(0x0CC7D3EA), UINT32_C(0x01B46767)}},
10151         {{UINT32_C(0x0EC5ECE2), UINT32_C(0x1E147A51), UINT32_C(0xD0E2C46C),
10152           UINT32_C(0x9B612A1F), UINT32_C(0x5E293783), UINT32_C(0x664FDD55),
10153           UINT32_C(0x67DC4DBC), UINT32_C(0x52070E15)},
10154          {UINT32_C(0x4A4903FB), UINT32_C(0x449B53E5), UINT32_C(0xA8D30103),
10155           UINT32_C(0x79B53583), UINT32_C(0xAF7CC314), UINT32_C(0x616C97F3),
10156           UINT32_C(0x2849862C), UINT32_C(0x6BEB304C)}},
10157         {{UINT32_C(0x019F0313), UINT32_C(0xB9C636D6), UINT32_C(0xD3E0188D),
10158           UINT32_C(0x0B08E7CB), UINT32_C(0xD704DE15), UINT32_C(0xEAEB1715),
10159           UINT32_C(0x837E7543), UINT32_C(0x4990282C)},
10160          {UINT32_C(0xFBD3A061), UINT32_C(0xCBB0BD49), UINT32_C(0x1DA124AE),
10161           UINT32_C(0x3454A8AC), UINT32_C(0x37D64EAB), UINT32_C(0x0D524A02),
10162           UINT32_C(0x0B3E4ADE), UINT32_C(0x76680749)}},
10163         {{UINT32_C(0x95B04835), UINT32_C(0xC293E011), UINT32_C(0x23D0C885),
10164           UINT32_C(0x76D304BA), UINT32_C(0xD6552D80), UINT32_C(0x36A63627),
10165           UINT32_C(0xC504CCAB), UINT32_C(0x3B4FA680)},
10166          {UINT32_C(0xE1FC08DF), UINT32_C(0xF25B3A04), UINT32_C(0x62D080F8),
10167           UINT32_C(0x786380E5), UINT32_C(0xDAC0D110), UINT32_C(0x0A731427),
10168           UINT32_C(0xD628429A), UINT32_C(0x1D65288F)}},
10169         {{UINT32_C(0xDC94453E), UINT32_C(0x3CE5E929), UINT32_C(0xB6073324),
10170           UINT32_C(0xEC7CF988), UINT32_C(0xDCB35234), UINT32_C(0x023361E7),
10171           UINT32_C(0xF5E89B7C), UINT32_C(0x3AF20624)},
10172          {UINT32_C(0xA5B2B103), UINT32_C(0x860F188E), UINT32_C(0xCB6D112F),
10173           UINT32_C(0x5EAC84CE), UINT32_C(0x914C9FFD), UINT32_C(0x63B200C3),
10174           UINT32_C(0x55A1FDCB), UINT32_C(0x327870A0)}},
10175         {{UINT32_C(0x155280ED), UINT32_C(0x4F94633C), UINT32_C(0x3654B8AA),
10176           UINT32_C(0xF98321D5), UINT32_C(0x489AE89A), UINT32_C(0x9C057A23),
10177           UINT32_C(0xD59CA3B5), UINT32_C(0x1124A1FB)},
10178          {UINT32_C(0x1F64AFD7), UINT32_C(0x2F4CE052), UINT32_C(0x7C789152),
10179           UINT32_C(0x841EE441), UINT32_C(0x59A98374), UINT32_C(0x93531ED4),
10180           UINT32_C(0x36BB8F07), UINT32_C(0x69A4F48C)}},
10181         {{UINT32_C(0x5FD512A7), UINT32_C(0xD8FFD243), UINT32_C(0x9BEA1738),
10182           UINT32_C(0xF48C96F1), UINT32_C(0x0FFB4553), UINT32_C(0xF70E1F6A),
10183           UINT32_C(0x5FF91D21), UINT32_C(0x29DB63B1)},
10184          {UINT32_C(0x77BF7279), UINT32_C(0xC1355C23), UINT32_C(0xA2FC904D),
10185           UINT32_C(0xD3946EE9), UINT32_C(0xE7B7A9F4), UINT32_C(0x07223881),
10186           UINT32_C(0x56E08ED6), UINT32_C(0x212D8967)}},
10187         {{UINT32_C(0x45503451), UINT32_C(0x32B8C22A), UINT32_C(0xE6AB7B3D),
10188           UINT32_C(0x9E4FDAF1), UINT32_C(0x04A31294), UINT32_C(0x7A300E3D),
10189           UINT32_C(0x05FE2AEB), UINT32_C(0x0F529DFD)},
10190          {UINT32_C(0x9951B6FB), UINT32_C(0x7EFFEA9E), UINT32_C(0x336B9A2B),
10191           UINT32_C(0x18C60266), UINT32_C(0x6C8D0EEC), UINT32_C(0xB78A5EE1),
10192           UINT32_C(0x46ED0B23), UINT32_C(0x68C17FE4)}},
10193     },
10194     {
10195         {{UINT32_C(0x96B3222E), UINT32_C(0xF707FAD5), UINT32_C(0x0223F804),
10196           UINT32_C(0xD6AF6161), UINT32_C(0x4F43A0E9), UINT32_C(0x13FFDC74),
10197           UINT32_C(0x3347F487), UINT32_C(0x6A3B70E9)},
10198          {UINT32_C(0x6A4AF4F5), UINT32_C(0xBDDF02A4), UINT32_C(0xE4C69950),
10199           UINT32_C(0x61B451E1), UINT32_C(0xF9E3BB99), UINT32_C(0xFF854590),
10200           UINT32_C(0x7CD54C54), UINT32_C(0x46EB1F69)}},
10201         {{UINT32_C(0x8E6848D3), UINT32_C(0x70E643B6), UINT32_C(0x848C2587),
10202           UINT32_C(0xC58B8519), UINT32_C(0xEDF4A38E), UINT32_C(0x2F195C54),
10203           UINT32_C(0x3D2A52E8), UINT32_C(0x206E6A32)},
10204          {UINT32_C(0x417595BF), UINT32_C(0x234845B5), UINT32_C(0xFF5AE3CB),
10205           UINT32_C(0x90354373), UINT32_C(0x89C0E555), UINT32_C(0x13BE31CE),
10206           UINT32_C(0xCC67E26F), UINT32_C(0x2D18AA43)}},
10207         {{UINT32_C(0xF041BD17), UINT32_C(0xC74EE8C4), UINT32_C(0xC2B3CC64),
10208           UINT32_C(0x655CF527), UINT32_C(0x160FF053), UINT32_C(0x6735CF0A),
10209           UINT32_C(0x04218A0D), UINT32_C(0x35DAB9EB)},
10210          {UINT32_C(0xCBC34E46), UINT32_C(0x32BB2E9A), UINT32_C(0x7D190342),
10211           UINT32_C(0xF780CEAF), UINT32_C(0x9F0DA1A4), UINT32_C(0x161C0C1A),
10212           UINT32_C(0xE7642FD6), UINT32_C(0x7B198C9E)}},
10213         {{UINT32_C(0x122FD0B4), UINT32_C(0x936C763E), UINT32_C(0xA7E0C435),
10214           UINT32_C(0xA3819ED9), UINT32_C(0xCAAE6D7B), UINT32_C(0x86228B04),
10215           UINT32_C(0x7A3C65B4), UINT32_C(0x2E116018)},
10216          {UINT32_C(0xD4EB0345), UINT32_C(0xF55BB1F3), UINT32_C(0x0630B569),
10217           UINT32_C(0x858A0BF4), UINT32_C(0xCB78A626), UINT32_C(0x8CC22657),
10218           UINT32_C(0xB45E3005), UINT32_C(0x7CD93BDE)}},
10219         {{UINT32_C(0x98E517AB), UINT32_C(0xCAA1F459), UINT32_C(0xB34A6F5C),
10220           UINT32_C(0x36E60281), UINT32_C(0x0B46F47F), UINT32_C(0x877A49F3),
10221           UINT32_C(0x9E7BE761), UINT32_C(0x0179824B)},
10222          {UINT32_C(0xD455D9C0), UINT32_C(0x6830A2B2), UINT32_C(0x7BA31962),
10223           UINT32_C(0xB734BA0A), UINT32_C(0x065C3B51), UINT32_C(0x344665A4),
10224           UINT32_C(0x562E7F1D), UINT32_C(0x0B1D2210)}},
10225         {{UINT32_C(0x0B2E22E8), UINT32_C(0x289BAFCA), UINT32_C(0x83390107),
10226           UINT32_C(0x038929A0), UINT32_C(0x0683E782), UINT32_C(0x968A014D),
10227           UINT32_C(0x53D34463), UINT32_C(0x5A1AD5C8)},
10228          {UINT32_C(0x9527B2CA), UINT32_C(0xA2613334), UINT32_C(0x310B745F),
10229           UINT32_C(0xE8471271), UINT32_C(0x31387F59), UINT32_C(0x49C81A26),
10230           UINT32_C(0x0343C691), UINT32_C(0x1B955AF7)}},
10231         {{UINT32_C(0xA4A9FCA4), UINT32_C(0x069328AD), UINT32_C(0x624FCB94),
10232           UINT32_C(0x14EF09A7), UINT32_C(0xE3E0CECD), UINT32_C(0x21C76F0D),
10233           UINT32_C(0x6C1BCE0F), UINT32_C(0x5F470B86)},
10234          {UINT32_C(0xB15BC8B4), UINT32_C(0x79319A3F), UINT32_C(0xDB06AFA1),
10235           UINT32_C(0xB1407CB1), UINT32_C(0x911116E0), UINT32_C(0xD69E9E09),
10236           UINT32_C(0x0756579E), UINT32_C(0x6E77524E)}},
10237         {{UINT32_C(0xE2D851D5), UINT32_C(0xD3EC5EBC), UINT32_C(0x03B63143),
10238           UINT32_C(0xC888BC23), UINT32_C(0xDB0C357F), UINT32_C(0x5F3DE41E),
10239           UINT32_C(0xC3D47D37), UINT32_C(0x646FFBD3)},
10240          {UINT32_C(0x0692639B), UINT32_C(0xE53F8BEB), UINT32_C(0xD4FBC3D4),
10241           UINT32_C(0x7E194E37), UINT32_C(0x452B2A2E), UINT32_C(0xE1988A22),
10242           UINT32_C(0xB013F9E1), UINT32_C(0x5D359A15)}},
10243         {{UINT32_C(0xB2A6627D), UINT32_C(0xA48160A7), UINT32_C(0x3CE8789E),
10244           UINT32_C(0x5EFDC848), UINT32_C(0xB1CD14EE), UINT32_C(0x264CBFF1),
10245           UINT32_C(0x44D84222), UINT32_C(0x288823D4)},
10246          {UINT32_C(0x3A6DB1F8), UINT32_C(0x2F091B23), UINT32_C(0xCEA89B44),
10247           UINT32_C(0xBFD737B5), UINT32_C(0x17F5E969), UINT32_C(0x682AB86C),
10248           UINT32_C(0xABB0FA87), UINT32_C(0x7653005C)}},
10249         {{UINT32_C(0xD4B8A43A), UINT32_C(0x619C2629), UINT32_C(0xB6DAF943),
10250           UINT32_C(0xBFDAF433), UINT32_C(0x6D640DB8), UINT32_C(0xDC7AA1EE),
10251           UINT32_C(0x3B08D55C), UINT32_C(0x35ADEEA8)},
10252          {UINT32_C(0xD7AF5382), UINT32_C(0x30935454), UINT32_C(0x3D68A24A),
10253           UINT32_C(0x1F9C51A1), UINT32_C(0x78BDBEA9), UINT32_C(0xDBD13CFC),
10254           UINT32_C(0x31210A3F), UINT32_C(0x003B6D99)}},
10255         {{UINT32_C(0x9C2B515D), UINT32_C(0xD4547A32), UINT32_C(0xFECDAAA9),
10256           UINT32_C(0x4AF29AA8), UINT32_C(0xE401D5AD), UINT32_C(0x85C80ECD),
10257           UINT32_C(0x8AA315A1), UINT32_C(0x2830332D)},
10258          {UINT32_C(0x71DCE198), UINT32_C(0x56758823), UINT32_C(0x6ACBDEE3),
10259           UINT32_C(0x55AC9D10), UINT32_C(0x575CF4BB), UINT32_C(0xF6D468CF),
10260           UINT32_C(0x576B5C4A), UINT32_C(0x46E4FA98)}},
10261         {{UINT32_C(0x20D859EF), UINT32_C(0xAD20F820), UINT32_C(0x2A5462B0),
10262           UINT32_C(0x38091588), UINT32_C(0x2135DA7D), UINT32_C(0x35F45C9F),
10263           UINT32_C(0xF7F20DBD), UINT32_C(0x6B426F91)},
10264          {UINT32_C(0xF96E77D2), UINT32_C(0x4A0D8CBE), UINT32_C(0xCC51D3F4),
10265           UINT32_C(0x8FC36F5B), UINT32_C(0xBE16A0A8), UINT32_C(0x7A1870DD),
10266           UINT32_C(0x114DB780), UINT32_C(0x29C3E2B3)}},
10267         {{UINT32_C(0x21779E6E), UINT32_C(0xFF692A4C), UINT32_C(0xA6026EC1),
10268           UINT32_C(0x698231AB), UINT32_C(0xEF03E21B), UINT32_C(0xDAB0D835),
10269           UINT32_C(0xC846D56F), UINT32_C(0x770BFFAC)},
10270          {UINT32_C(0x3B8B0747), UINT32_C(0xCD28722D), UINT32_C(0x32AE95E5),
10271           UINT32_C(0x3DEFE040), UINT32_C(0x0F9857D6), UINT32_C(0x6F5D816A),
10272           UINT32_C(0xFC630F5E), UINT32_C(0x2E483FED)}},
10273         {{UINT32_C(0x967C7140), UINT32_C(0xDBF82EC4), UINT32_C(0x0D20A2A5),
10274           UINT32_C(0x6265CAD1), UINT32_C(0x5862DEFE), UINT32_C(0x1509652B),
10275           UINT32_C(0x94A284E5), UINT32_C(0x699DD939)},
10276          {UINT32_C(0x0B2CC732), UINT32_C(0xC0116646), UINT32_C(0x94C3EF86),
10277           UINT32_C(0x583FE012), UINT32_C(0xCD353430), UINT32_C(0xCD5DAEA8),
10278           UINT32_C(0xC7ADA62B), UINT32_C(0x2B39A746)}},
10279         {{UINT32_C(0xE4257BBC), UINT32_C(0xF449B989), UINT32_C(0xA90DCCE6),
10280           UINT32_C(0x95BA21BA), UINT32_C(0x93CA4ACD), UINT32_C(0xDD53AD5C),
10281           UINT32_C(0x0BB4213B), UINT32_C(0x7FCF2738)},
10282          {UINT32_C(0xC2E7E54E), UINT32_C(0x0E57C1C0), UINT32_C(0xA1A0E975),
10283           UINT32_C(0xD1769DAE), UINT32_C(0xC3B6E13B), UINT32_C(0x68F62C4E),
10284           UINT32_C(0x781242D8), UINT32_C(0x75152F9A)}},
10285         {{UINT32_C(0x24B8B820), UINT32_C(0x4D582768), UINT32_C(0x5BBD9F84),
10286           UINT32_C(0x36E37AC4), UINT32_C(0xDA076F12), UINT32_C(0x1F34414A),
10287           UINT32_C(0x3E0333C6), UINT32_C(0x08A77C28)},
10288          {UINT32_C(0xD9193382), UINT32_C(0xBB1F017D), UINT32_C(0x83A5612D),
10289           UINT32_C(0x56E9AA24), UINT32_C(0xD0B4554F), UINT32_C(0x6959B02B),
10290           UINT32_C(0xE4559B52), UINT32_C(0x2479BC56)}},
10291     },
10292     {
10293         {{UINT32_C(0x0F570A8E), UINT32_C(0x96D631C6), UINT32_C(0xD714B807),
10294           UINT32_C(0xE3F566A3), UINT32_C(0xEF7E1550), UINT32_C(0x564DD512),
10295           UINT32_C(0x79FA2F58), UINT32_C(0x1C5CF24A)},
10296          {UINT32_C(0x897958DB), UINT32_C(0x973BA599), UINT32_C(0x11A9CBB1),
10297           UINT32_C(0x93951D17), UINT32_C(0xA37A969A), UINT32_C(0x86BA17F6),
10298           UINT32_C(0xA069B195), UINT32_C(0x4807CAC7)}},
10299         {{UINT32_C(0x6665B35E), UINT32_C(0xB64AC0D4), UINT32_C(0x7EF72C68),
10300           UINT32_C(0xBA9CD394), UINT32_C(0x9C4CBC44), UINT32_C(0x838807B2),
10301           UINT32_C(0x82770197), UINT32_C(0x2675D268)},
10302          {UINT32_C(0x17087FA9), UINT32_C(0xBFC2F137), UINT32_C(0xE7B79B31),
10303           UINT32_C(0x811E644B), UINT32_C(0xC963A061), UINT32_C(0x597CE23F),
10304           UINT32_C(0x2EA0DEB0), UINT32_C(0x40BC32E4)}},
10305         {{UINT32_C(0x27C85959), UINT32_C(0xC0AEFB50), UINT32_C(0x058E0FDD),
10306           UINT32_C(0x76D1087E), UINT32_C(0x7E51A6F8), UINT32_C(0x6ADA5AAF),
10307           UINT32_C(0x054A058D), UINT32_C(0x424B16E0)},
10308          {UINT32_C(0x63AF9766), UINT32_C(0x9A2C20A9), UINT32_C(0x3CF18DAB),
10309           UINT32_C(0x4C1CB532), UINT32_C(0x6C5D6A00), UINT32_C(0x599CD929),
10310           UINT32_C(0x8AA311BF), UINT32_C(0x57C39BAE)}},
10311         {{UINT32_C(0xCD987F02), UINT32_C(0x3FDF5B46), UINT32_C(0x353175C4),
10312           UINT32_C(0x57755078), UINT32_C(0xCD578394), UINT32_C(0x80223EC0),
10313           UINT32_C(0xAEB7D278), UINT32_C(0x04BBA6AC)},
10314          {UINT32_C(0x8688BFB2), UINT32_C(0xD27FD2BE), UINT32_C(0xC27A62E5),
10315           UINT32_C(0xB2F80278), UINT32_C(0x339429D8), UINT32_C(0x8BA6FB07),
10316           UINT32_C(0x3AB70AA0), UINT32_C(0x57737FF6)}},
10317         {{UINT32_C(0x8EAEB3C9), UINT32_C(0x0140E47F), UINT32_C(0x735AC8EA),
10318           UINT32_C(0xB91C9798), UINT32_C(0x83D4EFAA), UINT32_C(0x325E0312),
10319           UINT32_C(0xD9C5888E), UINT32_C(0x1E7DA3BE)},
10320          {UINT32_C(0xF7F1EB13), UINT32_C(0xA210CDA6), UINT32_C(0x936EA9E9),
10321           UINT32_C(0xEDC1F6B3), UINT32_C(0x1B097F65), UINT32_C(0x46E831C4),
10322           UINT32_C(0x1939A0AE), UINT32_C(0x00857601)}},
10323         {{UINT32_C(0x1F68BB40), UINT32_C(0x7C26F711), UINT32_C(0x39DDBE6D),
10324           UINT32_C(0xEA69C845), UINT32_C(0xE5316F22), UINT32_C(0x590BF426),
10325           UINT32_C(0xCC2DF9C9), UINT32_C(0x40CDC921)},
10326          {UINT32_C(0xF3F991C6), UINT32_C(0x28A32DDE), UINT32_C(0x5356CA78),
10327           UINT32_C(0xD75B59E6), UINT32_C(0xD1F5F318), UINT32_C(0xB5DD3861),
10328           UINT32_C(0xE7929834), UINT32_C(0x09EB1A2D)}},
10329         {{UINT32_C(0xDBC0370D), UINT32_C(0x701F9A2D), UINT32_C(0x2870B59D),
10330           UINT32_C(0x559D0FAF), UINT32_C(0x55367B5D), UINT32_C(0xE89E5DF0),
10331           UINT32_C(0x74005A58), UINT32_C(0x22BBD4FC)},
10332          {UINT32_C(0x99CDC76B), UINT32_C(0x7ACED1E4), UINT32_C(0xE3C219D3),
10333           UINT32_C(0xD41C827C), UINT32_C(0x8221D91F), UINT32_C(0x5AF3F2AE),
10334           UINT32_C(0xE5B6BC98), UINT32_C(0x6D62C990)}},
10335         {{UINT32_C(0x7FFC9D0F), UINT32_C(0x23B2A0BF), UINT32_C(0x974CA299),
10336           UINT32_C(0xED98F71D), UINT32_C(0x151D559B), UINT32_C(0x10F8C07A),
10337           UINT32_C(0x8E949C62), UINT32_C(0x40E46FC3)},
10338          {UINT32_C(0xBBE55338), UINT32_C(0x0CF53E34), UINT32_C(0x115520D4),
10339           UINT32_C(0xF2D6CF26), UINT32_C(0x590B4E23), UINT32_C(0x915FF09A),
10340           UINT32_C(0xBEDC75F2), UINT32_C(0x072E4233)}},
10341         {{UINT32_C(0x997E9BFA), UINT32_C(0xB67A6B60), UINT32_C(0x973BC3E7),
10342           UINT32_C(0xE7686AC9), UINT32_C(0x0B228320), UINT32_C(0x9525B449),
10343           UINT32_C(0x7ADE8F19), UINT32_C(0x6C727583)},
10344          {UINT32_C(0x062FF3D5), UINT32_C(0x3D064298), UINT32_C(0x07E22768),
10345           UINT32_C(0x5483826C), UINT32_C(0x1F7A64A4), UINT32_C(0xF4ADE921),
10346           UINT32_C(0xBD92EB25), UINT32_C(0x70BDDCF7)}},
10347         {{UINT32_C(0x5D8A9E36), UINT32_C(0xA8DB3611), UINT32_C(0xFA81065A),
10348           UINT32_C(0xAA6A5F33), UINT32_C(0x366DDA90), UINT32_C(0x8EC120A3),
10349           UINT32_C(0xD8A15CF7), UINT32_C(0x2AA0AB25)},
10350          {UINT32_C(0xA0DFFB9C), UINT32_C(0x5E11E169), UINT32_C(0x118408A7),
10351           UINT32_C(0x8C7572E9), UINT32_C(0x35833ADF), UINT32_C(0x4EEFD13E),
10352           UINT32_C(0xFC2C1811), UINT32_C(0x2C6732E8)}},
10353         {{UINT32_C(0xB1537DF6), UINT32_C(0x15D063F9), UINT32_C(0x0414FCFD),
10354           UINT32_C(0x864176B3), UINT32_C(0x8FF9E32E), UINT32_C(0x9C0A194C),
10355           UINT32_C(0xDDE1540B), UINT32_C(0x4DB14C6F)},
10356          {UINT32_C(0x31F6493F), UINT32_C(0xFAA4AED4), UINT32_C(0xD3C41A46),
10357           UINT32_C(0x2C479F1D), UINT32_C(0x8E5E85A2), UINT32_C(0xC3119667),
10358           UINT32_C(0x84E9A76C), UINT32_C(0x7E567C80)}},
10359         {{UINT32_C(0x689A6B95), UINT32_C(0xB9E2C92A), UINT32_C(0x3B635B01),
10360           UINT32_C(0xCCEAC383), UINT32_C(0x34AAB952), UINT32_C(0x04FEA465),
10361           UINT32_C(0x63B5CF63), UINT32_C(0x772E5027)},
10362          {UINT32_C(0x25830581), UINT32_C(0xCB94F5D2), UINT32_C(0xC77FB7DE),
10363           UINT32_C(0x791004AF), UINT32_C(0x5140E4AE), UINT32_C(0x53273C33),
10364           UINT32_C(0xA524419F), UINT32_C(0x0C2D329E)}},
10365         {{UINT32_C(0xB307B0E4), UINT32_C(0xB7CEDA36), UINT32_C(0x0F8F9667),
10366           UINT32_C(0x12DF7FD0), UINT32_C(0xBF62BD94), UINT32_C(0x74274002),
10367           UINT32_C(0xC436C319), UINT32_C(0x6765C73D)},
10368          {UINT32_C(0xF6EEC946), UINT32_C(0x79B64CE5), UINT32_C(0xDAB258B6),
10369           UINT32_C(0x3B1B4B43), UINT32_C(0xEE1F8B84), UINT32_C(0x377819A3),
10370           UINT32_C(0x76D0EB1F), UINT32_C(0x1F45F1D6)}},
10371         {{UINT32_C(0x58C953AD), UINT32_C(0xCC5BF9B3), UINT32_C(0x7BAD1D2C),
10372           UINT32_C(0x8303250F), UINT32_C(0xF164972B), UINT32_C(0xBCA7BC36),
10373           UINT32_C(0xB1DFDA64), UINT32_C(0x2CACF8A9)},
10374          {UINT32_C(0xD4E2A06F), UINT32_C(0xB03A59B9), UINT32_C(0x1B7FB8FD),
10375           UINT32_C(0xFED68E68), UINT32_C(0x7E747AE6), UINT32_C(0x08F75A52),
10376           UINT32_C(0x37A4420B), UINT32_C(0x3299EA6B)}},
10377         {{UINT32_C(0x932E5BA6), UINT32_C(0x49A00BE6), UINT32_C(0x56114C4B),
10378           UINT32_C(0x49212505), UINT32_C(0x376183C7), UINT32_C(0x786B7D31),
10379           UINT32_C(0xDD8A5EAF), UINT32_C(0x01F9E229)},
10380          {UINT32_C(0x53094AD4), UINT32_C(0xE9B8E990), UINT32_C(0xBFAEDFA8),
10381           UINT32_C(0x2EDA305C), UINT32_C(0x7F9E3BC8), UINT32_C(0x34443726),
10382           UINT32_C(0x6B55B3C3), UINT32_C(0x1729519C)}},
10383         {{UINT32_C(0x50A597D6), UINT32_C(0xEA5A68C0), UINT32_C(0xF1E86D1B),
10384           UINT32_C(0xA65147D4), UINT32_C(0x8B47CDEB), UINT32_C(0x554FA36B),
10385           UINT32_C(0x9F24FFED), UINT32_C(0x7F38364B)},
10386          {UINT32_C(0x1D2A8E2B), UINT32_C(0x657C7E05), UINT32_C(0xE3F64D62),
10387           UINT32_C(0x8270F1A7), UINT32_C(0x953AF5A2), UINT32_C(0xFD258B59),
10388           UINT32_C(0x43510AA3), UINT32_C(0x6DE01141)}},
10389     },
10390     {
10391         {{UINT32_C(0x0D7A5CBE), UINT32_C(0x48390428), UINT32_C(0xDE441E5E),
10392           UINT32_C(0xD37E8C1F), UINT32_C(0x0DE31C8C), UINT32_C(0x908C88B8),
10393           UINT32_C(0x0ACD87CE), UINT32_C(0x7C0E24BB)},
10394          {UINT32_C(0x25ECCCE8), UINT32_C(0x4A781177), UINT32_C(0xCBDA746F),
10395           UINT32_C(0xC06C2F7A), UINT32_C(0xAB565DD4), UINT32_C(0xDB9E9A08),
10396           UINT32_C(0xBE776F5B), UINT32_C(0x1E9B44C0)}},
10397         {{UINT32_C(0x85B54ABC), UINT32_C(0x7CFD4E50), UINT32_C(0xE7A44F8B),
10398           UINT32_C(0x41A4A4DC), UINT32_C(0xA4422576), UINT32_C(0x751C5052),
10399           UINT32_C(0xD56B6CB1), UINT32_C(0x534FE0B2)},
10400          {UINT32_C(0xD5D767D0), UINT32_C(0x22DAA5CD), UINT32_C(0x0AF8E22C),
10401           UINT32_C(0x9C1999AB), UINT32_C(0x99259068), UINT32_C(0xC70C0932),
10402           UINT32_C(0xFD0839F0), UINT32_C(0x459D212E)}},
10403         {{UINT32_C(0xFD32D79B), UINT32_C(0xA207E7DE), UINT32_C(0x410B479F),
10404           UINT32_C(0xA7B54991), UINT32_C(0xD68E5CDC), UINT32_C(0x806912B6),
10405           UINT32_C(0x92AB8B64), UINT32_C(0x1CB7B68C)},
10406          {UINT32_C(0xDF98339F), UINT32_C(0x3DB85378), UINT32_C(0x83EA7A18),
10407           UINT32_C(0xA24101DC), UINT32_C(0xE25522C5), UINT32_C(0x8892367C),
10408           UINT32_C(0x7753A2C3), UINT32_C(0x491A8BB3)}},
10409         {{UINT32_C(0x8C7875A7), UINT32_C(0x571C547E), UINT32_C(0xE9747C13),
10410           UINT32_C(0x7E5F23E4), UINT32_C(0x1058548D), UINT32_C(0x00F3BBB2),
10411           UINT32_C(0xE2397102), UINT32_C(0x7081F172)},
10412          {UINT32_C(0x6B573034), UINT32_C(0xB4351B8A), UINT32_C(0xC1A094F0),
10413           UINT32_C(0xB35A4F44), UINT32_C(0xAE951E96), UINT32_C(0xE2C1DAED),
10414           UINT32_C(0xB9DAA081), UINT32_C(0x5CF2A742)}},
10415         {{UINT32_C(0x9828ED9F), UINT32_C(0xB4F0D3F0), UINT32_C(0xA9251386),
10416           UINT32_C(0x6DB312FB), UINT32_C(0x537203F2), UINT32_C(0xC9A4583F),
10417           UINT32_C(0x9CE76D40), UINT32_C(0x5E099639)},
10418          {UINT32_C(0xC9F8CEA8), UINT32_C(0x3381B894), UINT32_C(0x626E07E8),
10419           UINT32_C(0x8242DAF8), UINT32_C(0x6077DFD9), UINT32_C(0x64A0B68C),
10420           UINT32_C(0x563CF051), UINT32_C(0x3CC462C0)}},
10421         {{UINT32_C(0x87AF4A45), UINT32_C(0x8937364C), UINT32_C(0x2DE0FD60),
10422           UINT32_C(0x8C4ACBFA), UINT32_C(0x472A5D8A), UINT32_C(0xF10AED11),
10423           UINT32_C(0x5380C2E6), UINT32_C(0x3F5674B5)},
10424          {UINT32_C(0x2BF8A452), UINT32_C(0x8F4FD0F5), UINT32_C(0xC7390418),
10425           UINT32_C(0xB436E388), UINT32_C(0xE6EE9406), UINT32_C(0xAFAB7B7C),
10426           UINT32_C(0x951739BA), UINT32_C(0x4F623177)}},
10427         {{UINT32_C(0xA9B50F2A), UINT32_C(0x90B0ED35), UINT32_C(0xAC6CF217),
10428           UINT32_C(0x46DC3F91), UINT32_C(0x2C7B119C), UINT32_C(0x2F142031),
10429           UINT32_C(0x07D79225), UINT32_C(0x55A93CBC)},
10430          {UINT32_C(0xB304A642), UINT32_C(0x45E0DD7D), UINT32_C(0xD572D446),
10431           UINT32_C(0xB743DFCD), UINT32_C(0xAC74B368), UINT32_C(0x867B02EB),
10432           UINT32_C(0x169B94B0), UINT32_C(0x67B2B86C)}},
10433         {{UINT32_C(0x483CFEDB), UINT32_C(0x18396DA7), UINT32_C(0x8A3A07C2),
10434           UINT32_C(0x6C6E0370), UINT32_C(0xAB554998), UINT32_C(0xF32A1AFE),
10435           UINT32_C(0x87D1C136), UINT32_C(0x408C9119)},
10436          {UINT32_C(0x4BBE0B78), UINT32_C(0x755F6325), UINT32_C(0xD1178550),
10437           UINT32_C(0xDC4A7319), UINT32_C(0xB3B9E459), UINT32_C(0x44B49813),
10438           UINT32_C(0x4C3D3620), UINT32_C(0x0294B9A9)}},
10439         {{UINT32_C(0x067FA6FF), UINT32_C(0x6480F6FE), UINT32_C(0xF307A52E),
10440           UINT32_C(0x67891400), UINT32_C(0x7F865DA8), UINT32_C(0x9F846EF8),
10441           UINT32_C(0xAE02F671), UINT32_C(0x318DAC55)},
10442          {UINT32_C(0xE288A317), UINT32_C(0x91119652), UINT32_C(0x038C61B8),
10443           UINT32_C(0x4D7CF2B8), UINT32_C(0x5154C1A8), UINT32_C(0x098F80DD),
10444           UINT32_C(0xD239A2D4), UINT32_C(0x10C04F87)}},
10445         {{UINT32_C(0x5CA6F183), UINT32_C(0x13460926), UINT32_C(0xD52001ED),
10446           UINT32_C(0x5E97AD18), UINT32_C(0xE14843DF), UINT32_C(0x7DCD2477),
10447           UINT32_C(0x98A30426), UINT32_C(0x27DAB276)},
10448          {UINT32_C(0xE120D80C), UINT32_C(0x7939CAE3), UINT32_C(0x51E5B81A),
10449           UINT32_C(0xC9F46466), UINT32_C(0xE2E49D52), UINT32_C(0xED620322),
10450           UINT32_C(0xFA172BBB), UINT32_C(0x3C0F5A2E)}},
10451         {{UINT32_C(0x5DB1196B), UINT32_C(0xBFFE8742), UINT32_C(0x49B7214E),
10452           UINT32_C(0xCD45F8ED), UINT32_C(0xC35F5C33), UINT32_C(0x923ABA47),
10453           UINT32_C(0x83F3EE48), UINT32_C(0x16ED1F10)},
10454          {UINT32_C(0x99274930), UINT32_C(0x042E6DF0), UINT32_C(0xC5F8EA16),
10455           UINT32_C(0xE8AE1DCF), UINT32_C(0xF02EA2B2), UINT32_C(0x004462CB),
10456           UINT32_C(0xD284B04E), UINT32_C(0x427F9381)}},
10457         {{UINT32_C(0x75EFACC5), UINT32_C(0x4CD481F8), UINT32_C(0x21C83368),
10458           UINT32_C(0xD98C3FD4), UINT32_C(0x3894CE88), UINT32_C(0x4335E7C8),
10459           UINT32_C(0x955A298C), UINT32_C(0x18321F87)},
10460          {UINT32_C(0xD1716E18), UINT32_C(0x073DD00A), UINT32_C(0xFE0BFE61),
10461           UINT32_C(0x66D82A5F), UINT32_C(0x2310C532), UINT32_C(0x7D869E20),
10462           UINT32_C(0x19BF4704), UINT32_C(0x29A376FB)}},
10463         {{UINT32_C(0xC149B5B0), UINT32_C(0xA1B12B35), UINT32_C(0x1E828959),
10464           UINT32_C(0x3411B231), UINT32_C(0x560D99FB), UINT32_C(0x56417519),
10465           UINT32_C(0xEBB52124), UINT32_C(0x4E0EB143)},
10466          {UINT32_C(0x6AEF3801), UINT32_C(0x7B594B5E), UINT32_C(0x9ECB536E),
10467           UINT32_C(0x00AEE12E), UINT32_C(0x56E23145), UINT32_C(0x6BF0FB29),
10468           UINT32_C(0x61AE8E98), UINT32_C(0x2B2D83B9)}},
10469         {{UINT32_C(0x6AC27F2D), UINT32_C(0x9CB3E2E8), UINT32_C(0x5A6280AA),
10470           UINT32_C(0x82BACA96), UINT32_C(0x2C6B7C8F), UINT32_C(0xCBC6C01B),
10471           UINT32_C(0xD0C01ABD), UINT32_C(0x390511BC)},
10472          {UINT32_C(0x49551C0D), UINT32_C(0xB322D972), UINT32_C(0x7B6489C8),
10473           UINT32_C(0x7905E82E), UINT32_C(0x40EEC20D), UINT32_C(0x4DD0CE8B),
10474           UINT32_C(0x2409298A), UINT32_C(0x5C0B3EE7)}},
10475         {{UINT32_C(0xB635FB99), UINT32_C(0x4418D685), UINT32_C(0x3ACE8B39),
10476           UINT32_C(0x652EA608), UINT32_C(0x46FC4047), UINT32_C(0xE586FBDC),
10477           UINT32_C(0xD8CC13D8), UINT32_C(0x3C832D34)},
10478          {UINT32_C(0xF7AA54A1), UINT32_C(0x14CC9F23), UINT32_C(0x07153B9F),
10479           UINT32_C(0x80D094E6), UINT32_C(0x6A2EED8E), UINT32_C(0x0776E540),
10480           UINT32_C(0x77249085), UINT32_C(0x03CC3BFC)}},
10481         {{UINT32_C(0x1308C1A8), UINT32_C(0x5F8F281F), UINT32_C(0xD1AFC4B7),
10482           UINT32_C(0x31C8E737), UINT32_C(0x41AE8EF2), UINT32_C(0x67785298),
10483           UINT32_C(0xFD028A4B), UINT32_C(0x17716086)},
10484          {UINT32_C(0xF922E100), UINT32_C(0x1A2083E0), UINT32_C(0xD53FE691),
10485           UINT32_C(0xD67EC9D1), UINT32_C(0xECCA8DEB), UINT32_C(0x2DF8B6ED),
10486           UINT32_C(0xBCCC999E), UINT32_C(0x3B595EE4)}},
10487     },
10488     {
10489         {{UINT32_C(0x5A4B8C04), UINT32_C(0x11F03F89), UINT32_C(0x7DAE8E6B),
10490           UINT32_C(0x254C3648), UINT32_C(0x637CDB83), UINT32_C(0xAB6EAAF1),
10491           UINT32_C(0xFDDED8F6), UINT32_C(0x41F52243)},
10492          {UINT32_C(0xBBDF3270), UINT32_C(0x487078E1), UINT32_C(0x339CEA28),
10493           UINT32_C(0x98853B49), UINT32_C(0xAB3EDE57), UINT32_C(0x8AF0522B),
10494           UINT32_C(0x85EB4CC0), UINT32_C(0x734D711F)}},
10495         {{UINT32_C(0xF86BA644), UINT32_C(0xFD1F46AD), UINT32_C(0xA3299855),
10496           UINT32_C(0xA5332B97), UINT32_C(0xD9493634), UINT32_C(0x61BE90DB),
10497           UINT32_C(0xC2705911), UINT32_C(0x308F09B1)},
10498          {UINT32_C(0x0B7918A5), UINT32_C(0xD59F1B1A), UINT32_C(0xCF6399E6),
10499           UINT32_C(0x9CF333D0), UINT32_C(0xFBB26B6B), UINT32_C(0xD09C63CD),
10500           UINT32_C(0xA6536647), UINT32_C(0x76C27913)}},
10501         {{UINT32_C(0xAAAB555C), UINT32_C(0x3DF1811F), UINT32_C(0x886C828B),
10502           UINT32_C(0x60853351), UINT32_C(0xF1E87F41), UINT32_C(0xF6CA7707),
10503           UINT32_C(0x7D7082E6), UINT32_C(0x5B4F6EDF)},
10504          {UINT32_C(0x3F672DE7), UINT32_C(0xADE518E0), UINT32_C(0x022541B2),
10505           UINT32_C(0x00ED0B84), UINT32_C(0x618E8969), UINT32_C(0x04FE5DD6),
10506           UINT32_C(0xDB9CCA4D), UINT32_C(0x2F5F5C65)}},
10507         {{UINT32_C(0x96BDAE2C), UINT32_C(0x00B69B45), UINT32_C(0x770604C4),
10508           UINT32_C(0x06DB22CF), UINT32_C(0x856585C3), UINT32_C(0xC2EB7F8F),
10509           UINT32_C(0x0413C614), UINT32_C(0x6E322539)},
10510          {UINT32_C(0x70A46872), UINT32_C(0x22C09EA8), UINT32_C(0x1FF23734),
10511           UINT32_C(0x143E73BC), UINT32_C(0x575C20B4), UINT32_C(0xCAC5E2DD),
10512           UINT32_C(0x3FEBE787), UINT32_C(0x225E5390)}},
10513         {{UINT32_C(0xBE9C512D), UINT32_C(0x594FEA4E), UINT32_C(0x92CB73AE),
10514           UINT32_C(0x58507092), UINT32_C(0xB0CE2096), UINT32_C(0xFD8EFC7D),
10515           UINT32_C(0xE031D6AB), UINT32_C(0x3B58C199)},
10516          {UINT32_C(0x479F23E4), UINT32_C(0x55DA1CBD), UINT32_C(0xA6DB6137),
10517           UINT32_C(0x060C6BB5), UINT32_C(0x6864488E), UINT32_C(0xD8319CF8),
10518           UINT32_C(0x21B02EDA), UINT32_C(0x6C15A31B)}},
10519         {{UINT32_C(0x8CA7084D), UINT32_C(0x13C48372), UINT32_C(0xA171ECE5),
10520           UINT32_C(0xF7554E59), UINT32_C(0x23A97699), UINT32_C(0x7425C5D8),
10521           UINT32_C(0x71E1120E), UINT32_C(0x6F2C68DA)},
10522          {UINT32_C(0x24324B64), UINT32_C(0x9591B9B6), UINT32_C(0xC02AC704),
10523           UINT32_C(0x2DA33472), UINT32_C(0x81EE1295), UINT32_C(0xC5DE7FC9),
10524           UINT32_C(0x5D6E93C6), UINT32_C(0x6A646A44)}},
10525         {{UINT32_C(0xA39D6554), UINT32_C(0x48684061), UINT32_C(0xC3DF57B6),
10526           UINT32_C(0xB70ABF61), UINT32_C(0x58B9EEE3), UINT32_C(0x9824AFD6),
10527           UINT32_C(0x3A14A733), UINT32_C(0x46EBE9D1)},
10528          {UINT32_C(0xD74F8E94), UINT32_C(0x8E70F95D), UINT32_C(0x6AFCA4E2),
10529           UINT32_C(0xA9D922A2), UINT32_C(0x6988CC16), UINT32_C(0x519A9753),
10530           UINT32_C(0xD545AF8A), UINT32_C(0x711DEF16)}},
10531         {{UINT32_C(0x811A2BF7), UINT32_C(0x362A5D95), UINT32_C(0x566B90CE),
10532           UINT32_C(0x42A84A33), UINT32_C(0x7C41EC87), UINT32_C(0x25CBC760),
10533           UINT32_C(0xD4B7DBEE), UINT32_C(0x6B77E39C)},
10534          {UINT32_C(0x833015A4), UINT32_C(0xA98B8201), UINT32_C(0xC31B26F4),
10535           UINT32_C(0xE412E217), UINT32_C(0xE0090782), UINT32_C(0x518BE8F0),
10536           UINT32_C(0x3DB51D4E), UINT32_C(0x08D9F4B6)}},
10537         {{UINT32_C(0x297D421E), UINT32_C(0x2C80CE87), UINT32_C(0xADBA1498),
10538           UINT32_C(0x2FD137F8), UINT32_C(0x2899AA14), UINT32_C(0xA2ED3D47),
10539           UINT32_C(0xFE4F365A), UINT32_C(0x2AC924A5)},
10540          {UINT32_C(0x666DC0A0), UINT32_C(0xAC0389B7), UINT32_C(0x8ABF3D9E),
10541           UINT32_C(0x3CC99739), UINT32_C(0xDFBFF83A), UINT32_C(0x33060DB6),
10542           UINT32_C(0x0339C3B8), UINT32_C(0x54EEE215)}},
10543         {{UINT32_C(0x820F7E4D), UINT32_C(0x06C3A4F5), UINT32_C(0x08C3D311),
10544           UINT32_C(0x86F083E2), UINT32_C(0xFE4B0476), UINT32_C(0x47E29984),
10545           UINT32_C(0xCA7DF6CF), UINT32_C(0x218F52E2)},
10546          {UINT32_C(0xBF2C2084), UINT32_C(0x59317E26), UINT32_C(0x289A10CF),
10547           UINT32_C(0xEA9C865B), UINT32_C(0x2074FEA3), UINT32_C(0x7AA1E50B),
10548           UINT32_C(0x4B3EFC31), UINT32_C(0x708A1D8C)}},
10549         {{UINT32_C(0x864817D7), UINT32_C(0x34C5C63E), UINT32_C(0xD89E995B),
10550           UINT32_C(0x0F614043), UINT32_C(0x975E2A03), UINT32_C(0x60CE8BCE),
10551           UINT32_C(0x78493E0C), UINT32_C(0x70916E29)},
10552          {UINT32_C(0x216782C6), UINT32_C(0xBD0748F9), UINT32_C(0xED32FB72),
10553           UINT32_C(0x0051C65A), UINT32_C(0x4DD64705), UINT32_C(0x9DC5F558),
10554           UINT32_C(0xEEC14B50), UINT32_C(0x674F1A63)}},
10555         {{UINT32_C(0xDB633FD1), UINT32_C(0x73D6E68E), UINT32_C(0xF52F9537),
10556           UINT32_C(0x7B5F8303), UINT32_C(0x88A74CFB), UINT32_C(0x980FDDDC),
10557           UINT32_C(0x47FC32D1), UINT32_C(0x6419C18F)},
10558          {UINT32_C(0x870B5D59), UINT32_C(0x93727B4C), UINT32_C(0xCF28021D),
10559           UINT32_C(0x4BCE05DE), UINT32_C(0xAB4F0CE5), UINT32_C(0x3C059B47),
10560           UINT32_C(0xB85FFDBB), UINT32_C(0x77CA7F67)}},
10561         {{UINT32_C(0xC525088E), UINT32_C(0xDBEADDCE), UINT32_C(0x390D2221),
10562           UINT32_C(0x561E12BE), UINT32_C(0xD9BA7AF0), UINT32_C(0xCD224FC1),
10563           UINT32_C(0x394DC073), UINT32_C(0x03744552)},
10564          {UINT32_C(0x21BB6B6E), UINT32_C(0xCFC67B49), UINT32_C(0x1B5F8E6A),
10565           UINT32_C(0xD234FD8D), UINT32_C(0x40B7F8B0), UINT32_C(0x6DDBC18B),
10566           UINT32_C(0xDAACCC74), UINT32_C(0x79F40857)}},
10567         {{UINT32_C(0x9DD71B9C), UINT32_C(0x30E5F990), UINT32_C(0x291124EF),
10568           UINT32_C(0x00FCBFA5), UINT32_C(0x49B8C570), UINT32_C(0xBE595A25),
10569           UINT32_C(0xBC094446), UINT32_C(0x5B4B8141)},
10570          {UINT32_C(0x469191B6), UINT32_C(0xB22B4F04), UINT32_C(0xD73C4D38),
10571           UINT32_C(0x10845AC8), UINT32_C(0xED0C8224), UINT32_C(0x39C9F0FB),
10572           UINT32_C(0xF5813BEE), UINT32_C(0x7E009DFB)}},
10573         {{UINT32_C(0xA61D09C0), UINT32_C(0xA47C2989), UINT32_C(0x59E55A9C),
10574           UINT32_C(0x3706F456), UINT32_C(0xEA0259B9), UINT32_C(0x2373976F),
10575           UINT32_C(0x077D20CC), UINT32_C(0x13FC0E09)},
10576          {UINT32_C(0xE78D29CF), UINT32_C(0xBB24DD05), UINT32_C(0x822CFA02),
10577           UINT32_C(0xD8757A67), UINT32_C(0x3C55A4C6), UINT32_C(0x36CA7486),
10578           UINT32_C(0x3EEABBE1), UINT32_C(0x4234E689)}},
10579         {{UINT32_C(0xB46BDB51), UINT32_C(0xA2F54D14), UINT32_C(0x675BB770),
10580           UINT32_C(0x8A530B78), UINT32_C(0xDE9F1F8B), UINT32_C(0x617D7E8E),
10581           UINT32_C(0x2DCC4712), UINT32_C(0x799B3E44)},
10582          {UINT32_C(0xB486FE8C), UINT32_C(0x658A31D8), UINT32_C(0x163D4AF0),
10583           UINT32_C(0x45BAFC29), UINT32_C(0xA5289C8D), UINT32_C(0x3A2C7F66),
10584           UINT32_C(0xB91FF3DB), UINT32_C(0x4ECC3C7D)}},
10585     },
10586     {
10587         {{UINT32_C(0xDF4DFD43), UINT32_C(0x738CF1C7), UINT32_C(0xE987084C),
10588           UINT32_C(0x72943A2D), UINT32_C(0x2491FF24), UINT32_C(0xEA21C05F),
10589           UINT32_C(0xDA050094), UINT32_C(0x3D3F4ED7)},
10590          {UINT32_C(0x61C4054D), UINT32_C(0xF90644E4), UINT32_C(0x3A50E82A),
10591           UINT32_C(0x25379214), UINT32_C(0xC7DEF970), UINT32_C(0x47EDB006),
10592           UINT32_C(0x0F53F307), UINT32_C(0x0F8F031C)}},
10593         {{UINT32_C(0x724976D5), UINT32_C(0x50FEB6D8), UINT32_C(0xF40C7720),
10594           UINT32_C(0x57AA499F), UINT32_C(0x0DAAF428), UINT32_C(0x6B80AC54),
10595           UINT32_C(0x1F6FC276), UINT32_C(0x7AC6845E)},
10596          {UINT32_C(0x17A4B9C5), UINT32_C(0x8EC7FAB1), UINT32_C(0xED0C8F97),
10597           UINT32_C(0x8336DD62), UINT32_C(0xB7B7104E), UINT32_C(0x6014A510),
10598           UINT32_C(0xA2911C30), UINT32_C(0x4991A03B)}},
10599         {{UINT32_C(0xCBCC9BA3), UINT32_C(0x6D353975), UINT32_C(0xC4564492),
10600           UINT32_C(0x23E97E28), UINT32_C(0xF8AEED3E), UINT32_C(0xDF432FDA),
10601           UINT32_C(0x6F6B472C), UINT32_C(0x11DB40DD)},
10602          {UINT32_C(0x95AA0174), UINT32_C(0x5B87005B), UINT32_C(0x89D9F1A8),
10603           UINT32_C(0x1DB41080), UINT32_C(0x689DF208), UINT32_C(0x5A6BC444),
10604           UINT32_C(0xBF38FF8D), UINT32_C(0x16153F87)}},
10605         {{UINT32_C(0xFFD3C814), UINT32_C(0xD217003F), UINT32_C(0xFD50AF95),
10606           UINT32_C(0x1ADE64C3), UINT32_C(0x9FFB8BEB), UINT32_C(0x1936332C),
10607           UINT32_C(0xD70CD8D8), UINT32_C(0x6EE322DC)},
10608          {UINT32_C(0xF2A60976), UINT32_C(0xE40A0419), UINT32_C(0xEF93B05B),
10609           UINT32_C(0xA62F6FA1), UINT32_C(0x596575FF), UINT32_C(0x5978206C),
10610           UINT32_C(0xB68BFE5C), UINT32_C(0x5CDCA200)}},
10611         {{UINT32_C(0xB7949E33), UINT32_C(0x3FB16AED), UINT32_C(0x40304A1B),
10612           UINT32_C(0x34538928), UINT32_C(0x3BCA4239), UINT32_C(0x7FA35A34),
10613           UINT32_C(0xEE76919E), UINT32_C(0x22FD1AEF)},
10614          {UINT32_C(0x0F6A5D50), UINT32_C(0x1F8FE6A4), UINT32_C(0x26BBA46B),
10615           UINT32_C(0x27CC704F), UINT32_C(0x3420CC52), UINT32_C(0x230FD0CA),
10616           UINT32_C(0xB3A83D85), UINT32_C(0x3E9E4DA4)}},
10617         {{UINT32_C(0x7F5CC75E), UINT32_C(0x1D82390E), UINT32_C(0x49D0A605),
10618           UINT32_C(0x70256245), UINT32_C(0x4FF4BC44), UINT32_C(0x5B877813),
10619           UINT32_C(0xB5EC02E4), UINT32_C(0x28E6A057)},
10620          {UINT32_C(0x2E89FB84), UINT32_C(0xBC7A10DA), UINT32_C(0x20E1EA00),
10621           UINT32_C(0x3AF182E5), UINT32_C(0x9C507274), UINT32_C(0x4B590FFA),
10622           UINT32_C(0xAA7FD65B), UINT32_C(0x26BA94D6)}},
10623         {{UINT32_C(0x238CC195), UINT32_C(0xC02CC77C), UINT32_C(0xA97EE3E4),
10624           UINT32_C(0x3F175C97), UINT32_C(0xDFA1F9DC), UINT32_C(0x8A28FA23),
10625           UINT32_C(0x1F968D15), UINT32_C(0x35CAC0FF)},
10626          {UINT32_C(0x37C7C773), UINT32_C(0x0FC41B33), UINT32_C(0xBC999443),
10627           UINT32_C(0x71E06B10), UINT32_C(0x2C87B0A4), UINT32_C(0x073A1ABA),
10628           UINT32_C(0x9E5E8B70), UINT32_C(0x29F29B12)}},
10629         {{UINT32_C(0xE491FE70), UINT32_C(0xAA25F348), UINT32_C(0xC1713992),
10630           UINT32_C(0x9371F94B), UINT32_C(0x4FA08818), UINT32_C(0x674B478C),
10631           UINT32_C(0xB1407431), UINT32_C(0x6F3C31FE)},
10632          {UINT32_C(0xD93DD5E1), UINT32_C(0xBB7D37FB), UINT32_C(0x7E04EE7A),
10633           UINT32_C(0xE34A40B8), UINT32_C(0xF3C33528), UINT32_C(0xCF82360D),
10634           UINT32_C(0x01477712), UINT32_C(0x0A3B8FF5)}},
10635         {{UINT32_C(0x6B718511), UINT32_C(0xA4591471), UINT32_C(0xD2FD6B9B),
10636           UINT32_C(0x7B0CE8DE), UINT32_C(0x6845DBEF), UINT32_C(0xC42544FA),
10637           UINT32_C(0x63AF476A), UINT32_C(0x456A6985)},
10638          {UINT32_C(0x9CDE4E74), UINT32_C(0x5DD611F6), UINT32_C(0x2B346AEB),
10639           UINT32_C(0x86095683), UINT32_C(0x6E75B3D7), UINT32_C(0xD15C5DA0),
10640           UINT32_C(0xC72D5D2C), UINT32_C(0x220FFD73)}},
10641         {{UINT32_C(0xD2ED888F), UINT32_C(0x478DA345), UINT32_C(0xE04CBCC7),
10642           UINT32_C(0xA69D4FB9), UINT32_C(0xB3F1179D), UINT32_C(0xA427150A),
10643           UINT32_C(0xD5CEA78A), UINT32_C(0x1DD3B8C2)},
10644          {UINT32_C(0xB8628A22), UINT32_C(0x9462EFF0), UINT32_C(0xB2CB44A5),
10645           UINT32_C(0xB2FFFF4A), UINT32_C(0x24039BA8), UINT32_C(0x8234A3FF),
10646           UINT32_C(0x916DE889), UINT32_C(0x01BE7202)}},
10647         {{UINT32_C(0x6DFCEF0B), UINT32_C(0x51066985), UINT32_C(0xDF20CDEE),
10648           UINT32_C(0x25729D98), UINT32_C(0x9693E5EF), UINT32_C(0x872FD39D),
10649           UINT32_C(0x2D859635), UINT32_C(0x72D03AE1)},
10650          {UINT32_C(0xDACAEB82), UINT32_C(0x3F28F84E), UINT32_C(0xCB5284D7),
10651           UINT32_C(0x9EB40FD6), UINT32_C(0xC5F54041), UINT32_C(0x66C2DCA6),
10652           UINT32_C(0x1C1F2461), UINT32_C(0x4BDBA382)}},
10653         {{UINT32_C(0x0E0ED176), UINT32_C(0xE5342197), UINT32_C(0xA225A47F),
10654           UINT32_C(0xF588547A), UINT32_C(0x1FEB2259), UINT32_C(0xC83B54ED),
10655           UINT32_C(0x92F3733D), UINT32_C(0x1B037913)},
10656          {UINT32_C(0x2271ECFA), UINT32_C(0x935C9782), UINT32_C(0x53CFE07C),
10657           UINT32_C(0x5F7E94A6), UINT32_C(0x1B40CA19), UINT32_C(0xBFF5B0E6),
10658           UINT32_C(0x459445E1), UINT32_C(0x36C7851D)}},
10659         {{UINT32_C(0x588C9748), UINT32_C(0xB6547971), UINT32_C(0x11970562),
10660           UINT32_C(0xCFD8E81B), UINT32_C(0x702FE4FA), UINT32_C(0x41333C80),
10661           UINT32_C(0x962A993B), UINT32_C(0x2F153C8C)},
10662          {UINT32_C(0x8BDA48AC), UINT32_C(0x028BBD6A), UINT32_C(0xFE1DB02A),
10663           UINT32_C(0x7B076F88), UINT32_C(0x078FB3FC), UINT32_C(0xC9560400),
10664           UINT32_C(0x035907EA), UINT32_C(0x5DCC0946)}},
10665         {{UINT32_C(0xA6233F1C), UINT32_C(0x93D7CF33), UINT32_C(0xDF2A187C),
10666           UINT32_C(0x03184BC4), UINT32_C(0xE83DAC32), UINT32_C(0x291149BC),
10667           UINT32_C(0xFAEDF216), UINT32_C(0x575F4279)},
10668          {UINT32_C(0x086FC141), UINT32_C(0x101427B4), UINT32_C(0xD288562E),
10669           UINT32_C(0xC924F2AE), UINT32_C(0xEEF5799A), UINT32_C(0xDB610463),
10670           UINT32_C(0x6A09661D), UINT32_C(0x20F18767)}},
10671         {{UINT32_C(0xF59D0C20), UINT32_C(0xE39BB775), UINT32_C(0x723A4EF2),
10672           UINT32_C(0x18DA90E2), UINT32_C(0xF56B381B), UINT32_C(0x8E747A7B),
10673           UINT32_C(0xF98F26DC), UINT32_C(0x7EF67224)},
10674          {UINT32_C(0xE1F94B99), UINT32_C(0xB1373AF5), UINT32_C(0x0C3B6AA8),
10675           UINT32_C(0x1076FBA6), UINT32_C(0xA3A7811C), UINT32_C(0x7FCD0017),
10676           UINT32_C(0x46554E7E), UINT32_C(0x6D1A6973)}},
10677         {{UINT32_C(0xB9CED2C2), UINT32_C(0xE5734077), UINT32_C(0x1F770914),
10678           UINT32_C(0xC94D17F8), UINT32_C(0x1CD248EB), UINT32_C(0x58B47BCB),
10679           UINT32_C(0x24804B6F), UINT32_C(0x2E06538C)},
10680          {UINT32_C(0x32E7CA19), UINT32_C(0x275D933F), UINT32_C(0x1FC9241E),
10681           UINT32_C(0x1B982B49), UINT32_C(0x3986B6AC), UINT32_C(0x8B8A6ED5),
10682           UINT32_C(0x35B4EA6A), UINT32_C(0x17568221)}},
10683     },
10684     {
10685         {{UINT32_C(0xE796327F), UINT32_C(0x090AD05A), UINT32_C(0xAD21DD4B),
10686           UINT32_C(0xA78DAE5E), UINT32_C(0x9C2F8CBE), UINT32_C(0x8EEC9EDB),
10687           UINT32_C(0x653E0F2D), UINT32_C(0x33E375E0)},
10688          {UINT32_C(0x8D67AC72), UINT32_C(0xDA19EFF2), UINT32_C(0x2737AB8C),
10689           UINT32_C(0xBFC7E62B), UINT32_C(0x4CF53C12), UINT32_C(0xBBF8BD1D),
10690           UINT32_C(0x45C6D555), UINT32_C(0x5ABFE23F)}},
10691         {{UINT32_C(0x0DE39342), UINT32_C(0x32460B33), UINT32_C(0xB8977067),
10692           UINT32_C(0x3567454A), UINT32_C(0xF954592C), UINT32_C(0x10A1E47D),
10693           UINT32_C(0x4DD019C4), UINT32_C(0x4DE8C6EF)},
10694          {UINT32_C(0x1BDAAAFA), UINT32_C(0x1F1D296B), UINT32_C(0x3A75AD99),
10695           UINT32_C(0x4E6B8E8F), UINT32_C(0xA27FE061), UINT32_C(0x259015E1),
10696           UINT32_C(0x9F320632), UINT32_C(0x6B6A4820)}},
10697         {{UINT32_C(0xA0B5E605), UINT32_C(0x8AA089AF), UINT32_C(0x1B4058FD),
10698           UINT32_C(0x1D6C1EEE), UINT32_C(0xB4E89BEF), UINT32_C(0x1D920534),
10699           UINT32_C(0x16163340), UINT32_C(0x722A3A35)},
10700          {UINT32_C(0xF33B49B2), UINT32_C(0xA3B9178C), UINT32_C(0x65558E90),
10701           UINT32_C(0xFF8FE9BB), UINT32_C(0x9794EFAE), UINT32_C(0x94766BC0),
10702           UINT32_C(0xFDFAEB42), UINT32_C(0x79A1EFA2)}},
10703         {{UINT32_C(0xBCB6D558), UINT32_C(0x2FE44B97), UINT32_C(0xDB8B0A79),
10704           UINT32_C(0xB4F4F402), UINT32_C(0x247C32E5), UINT32_C(0xF53D8AB1),
10705           UINT32_C(0x4DA4C009), UINT32_C(0x3B883CE5)},
10706          {UINT32_C(0x2EC9F1C6), UINT32_C(0xB46168BD), UINT32_C(0x6B8FE01A),
10707           UINT32_C(0xD40BDE7B), UINT32_C(0xCDFE509F), UINT32_C(0x60A5C168),
10708           UINT32_C(0x23BE249E), UINT32_C(0x3314D878)}},
10709         {{UINT32_C(0x4D9F5769), UINT32_C(0x02511A85), UINT32_C(0xB49D6A8E),
10710           UINT32_C(0x8398F9BD), UINT32_C(0x5D2D7135), UINT32_C(0xE8D773F3),
10711           UINT32_C(0x9DECC331), UINT32_C(0x09B3B8AB)},
10712          {UINT32_C(0x584C11D9), UINT32_C(0x8D2B269B), UINT32_C(0x6B6B86A9),
10713           UINT32_C(0xF7661944), UINT32_C(0xC7659AF7), UINT32_C(0x719A3620),
10714           UINT32_C(0x37C27DBE), UINT32_C(0x3CFC8DF0)}},
10715         {{UINT32_C(0x1145B14B), UINT32_C(0x5EE0BE06), UINT32_C(0x23193ED6),
10716           UINT32_C(0xAC6950E4), UINT32_C(0xDF244C7F), UINT32_C(0x7291C44C),
10717           UINT32_C(0x43D744EA), UINT32_C(0x4650C162)},
10718          {UINT32_C(0x34A084D8), UINT32_C(0x60B92D3F), UINT32_C(0x376E5414),
10719           UINT32_C(0xBBD44A0E), UINT32_C(0x0980F36C), UINT32_C(0x5C0E488A),
10720           UINT32_C(0xD7991A09), UINT32_C(0x4E53FCCA)}},
10721         {{UINT32_C(0x367B55C2), UINT32_C(0x7A2ADBCF), UINT32_C(0x1FED467E),
10722           UINT32_C(0x96A88B75), UINT32_C(0xFB263845), UINT32_C(0x8E75E37E),
10723           UINT32_C(0xEB508DD0), UINT32_C(0x4C2E47B8)},
10724          {UINT32_C(0xB19FCD14), UINT32_C(0x20BF51DE), UINT32_C(0x14CB67D0),
10725           UINT32_C(0xD9071749), UINT32_C(0x29EBDA7C), UINT32_C(0xEC90714B),
10726           UINT32_C(0x634C0F2E), UINT32_C(0x4ACADAA6)}},
10727         {{UINT32_C(0xEC715EC9), UINT32_C(0xA516B9B8), UINT32_C(0x42B8A87B),
10728           UINT32_C(0xC7DCA263), UINT32_C(0xDA27B456), UINT32_C(0x2CE450C9),
10729           UINT32_C(0x00A8819F), UINT32_C(0x3C974812)},
10730          {UINT32_C(0xECDED574), UINT32_C(0xF4822C23), UINT32_C(0x19FA48D4),
10731           UINT32_C(0xFA737FAD), UINT32_C(0x45D718E0), UINT32_C(0xE34B2F2A),
10732           UINT32_C(0xBEA7B540), UINT32_C(0x1D6F19FE)}},
10733         {{UINT32_C(0x98E24789), UINT32_C(0xADC8FCE7), UINT32_C(0x45869609),
10734           UINT32_C(0xFE2F890C), UINT32_C(0x78A35C19), UINT32_C(0x6466E03C),
10735           UINT32_C(0xC1F34AA9), UINT32_C(0x24C70FED)},
10736          {UINT32_C(0x57747DD1), UINT32_C(0x89530F75), UINT32_C(0x2B8CDE2D),
10737           UINT32_C(0x343DE05B), UINT32_C(0x35CC8D5A), UINT32_C(0xC33134E3),
10738           UINT32_C(0xAC9B4F2B), UINT32_C(0x3CCEFC38)}},
10739         {{UINT32_C(0xEF923364), UINT32_C(0x84C904B8), UINT32_C(0xBDDD31D8),
10740           UINT32_C(0x46E1FECF), UINT32_C(0xFAE79B6B), UINT32_C(0xA8126DD6),
10741           UINT32_C(0xFBF05C9A), UINT32_C(0x4A53C034)},
10742          {UINT32_C(0xBE8F255F), UINT32_C(0x44CA3ACB), UINT32_C(0xEC319885),
10743           UINT32_C(0x6F0FD374), UINT32_C(0xF1836DC2), UINT32_C(0xADBCB4AA),
10744           UINT32_C(0x65187EE9), UINT32_C(0x6CC3A596)}},
10745         {{UINT32_C(0xB397B5E7), UINT32_C(0x941E7821), UINT32_C(0xFEE2A9D5),
10746           UINT32_C(0xD3457371), UINT32_C(0x66382F60), UINT32_C(0x9F69BE44),
10747           UINT32_C(0xA1F49E9B), UINT32_C(0x6DCEAD04)},
10748          {UINT32_C(0x3BF21647), UINT32_C(0xDC6BC23B), UINT32_C(0xB5271BE9),
10749           UINT32_C(0x1500FD7F), UINT32_C(0xF23FDF3D), UINT32_C(0x9B0994DD),
10750           UINT32_C(0x45065CF7), UINT32_C(0x38A2ECEB)}},
10751         {{UINT32_C(0x0DCA8BF4), UINT32_C(0x2667CEFE), UINT32_C(0xE46EB469),
10752           UINT32_C(0x8227ACB3), UINT32_C(0xA75C5B8B), UINT32_C(0x4C20677D),
10753           UINT32_C(0xB36ACDFE), UINT32_C(0x224FC5B4)},
10754          {UINT32_C(0x7A6A01D3), UINT32_C(0xA0007E14), UINT32_C(0xF8A64EED),
10755           UINT32_C(0x15C79558), UINT32_C(0x93DEDC09), UINT32_C(0xFB58A76A),
10756           UINT32_C(0x26F10A98), UINT32_C(0x2057DDDC)}},
10757         {{UINT32_C(0xBDB27AE4), UINT32_C(0x1FF658AE), UINT32_C(0xDDD96647),
10758           UINT32_C(0x7F30DF57), UINT32_C(0xC7294313), UINT32_C(0x63490B8D),
10759           UINT32_C(0x5435869E), UINT32_C(0x0EAEC573)},
10760          {UINT32_C(0xDF115B78), UINT32_C(0x85F05C49), UINT32_C(0x62992F5D),
10761           UINT32_C(0x95739C0C), UINT32_C(0x2B573963), UINT32_C(0x72F14319),
10762           UINT32_C(0x86328FF4), UINT32_C(0x05600E64)}},
10763         {{UINT32_C(0xEAB0F425), UINT32_C(0x9BE7331F), UINT32_C(0x74447C20),
10764           UINT32_C(0x2E4CF5AA), UINT32_C(0x66243D2A), UINT32_C(0x9B26F512),
10765           UINT32_C(0x84AB5627), UINT32_C(0x77C96722)},
10766          {UINT32_C(0x601673B4), UINT32_C(0xEC545427), UINT32_C(0x2F127AF7),
10767           UINT32_C(0xEF6A34FB), UINT32_C(0xE2DFD269), UINT32_C(0x519559C1),
10768           UINT32_C(0x8258E37A), UINT32_C(0x34D7D754)}},
10769         {{UINT32_C(0x5E8B5281), UINT32_C(0xC113747B), UINT32_C(0xE04D779B),
10770           UINT32_C(0x0C085456), UINT32_C(0x1CCBCFC6), UINT32_C(0x3E326052),
10771           UINT32_C(0x2A37D19F), UINT32_C(0x5C954CC1)},
10772          {UINT32_C(0x9124435B), UINT32_C(0xB1A4A5B3), UINT32_C(0x18ED98E7),
10773           UINT32_C(0x5E8B8D41), UINT32_C(0x144A3793), UINT32_C(0xC973D969),
10774           UINT32_C(0x88DD8B49), UINT32_C(0x0CB98CC8)}},
10775         {{UINT32_C(0xB48D04DF), UINT32_C(0x0E0233B2), UINT32_C(0x7BEAA4A5),
10776           UINT32_C(0x1B3916E0), UINT32_C(0xB672BE8C), UINT32_C(0xA24A4BE4),
10777           UINT32_C(0x845AB94D), UINT32_C(0x7A61506D)},
10778          {UINT32_C(0xE7F4CA3B), UINT32_C(0x160DFA0F), UINT32_C(0xD84C1148),
10779           UINT32_C(0xA9562C89), UINT32_C(0x92A276EB), UINT32_C(0x52979B95),
10780           UINT32_C(0x924E86E9), UINT32_C(0x17869B53)}},
10781     },
10782     {
10783         {{UINT32_C(0x1A86D0D8), UINT32_C(0x5D39F478), UINT32_C(0xFB8BC8A9),
10784           UINT32_C(0xDE5932DA), UINT32_C(0x2F5B4B70), UINT32_C(0xD706C6D7),
10785           UINT32_C(0x8A36AFC2), UINT32_C(0x53F450FC)},
10786          {UINT32_C(0x1E550B3B), UINT32_C(0xE1DC3540), UINT32_C(0x8B7EB6D2),
10787           UINT32_C(0x475507DC), UINT32_C(0xDFA2E5F7), UINT32_C(0xF803F78A),
10788           UINT32_C(0xC48097FF), UINT32_C(0x40B5F263)}},
10789         {{UINT32_C(0x226CDB1F), UINT32_C(0x336FB00E), UINT32_C(0x88215C40),
10790           UINT32_C(0xDDC1BB02), UINT32_C(0x73C07FD0), UINT32_C(0x6C4DD40E),
10791           UINT32_C(0x8F7D15E7), UINT32_C(0x4D0D2E49)},
10792          {UINT32_C(0xD2061402), UINT32_C(0xAF96E9B3), UINT32_C(0x1372FCF8),
10793           UINT32_C(0x15A3084A), UINT32_C(0x307B02D6), UINT32_C(0x91B571E6),
10794           UINT32_C(0x53AE7705), UINT32_C(0x2239592F)}},
10795         {{UINT32_C(0xC20B6645), UINT32_C(0x7D8615A1), UINT32_C(0xC7C4465B),
10796           UINT32_C(0xF4875767), UINT32_C(0x861702AB), UINT32_C(0xF6D3E718),
10797           UINT32_C(0x131F726A), UINT32_C(0x7F014A53)},
10798          {UINT32_C(0xDAAB77CA), UINT32_C(0x30809F8F), UINT32_C(0x28F944D3),
10799           UINT32_C(0x7CE8DC61), UINT32_C(0x9AEEF6A1), UINT32_C(0xF915111D),
10800           UINT32_C(0x206902FD), UINT32_C(0x246D7CC8)}},
10801         {{UINT32_C(0xEF806225), UINT32_C(0x7677488B), UINT32_C(0xF4C75EAE),
10802           UINT32_C(0x994C8104), UINT32_C(0x4E0C8988), UINT32_C(0x17586D4E),
10803           UINT32_C(0x90E33A2A), UINT32_C(0x70E52580)},
10804          {UINT32_C(0x022D2FED), UINT32_C(0xB993F26A), UINT32_C(0x689FBFBD),
10805           UINT32_C(0x955C130D), UINT32_C(0xA3612E8E), UINT32_C(0x0D3D1C63),
10806           UINT32_C(0xB91A8DE6), UINT32_C(0x423D73E1)}},
10807         {{UINT32_C(0x3027164F), UINT32_C(0x7274BE08), UINT32_C(0x42FDB769),
10808           UINT32_C(0xDE907B49), UINT32_C(0xB697060D), UINT32_C(0x61D74449),
10809           UINT32_C(0x26602CC9), UINT32_C(0x18A5FDC2)},
10810          {UINT32_C(0x049CAF4A), UINT32_C(0xB08DC02B), UINT32_C(0x78DBA1F1),
10811           UINT32_C(0xC84AF485), UINT32_C(0x7178E4DF), UINT32_C(0x0A5B3519),
10812           UINT32_C(0x5B26D0FE), UINT32_C(0x6EC7A7A5)}},
10813         {{UINT32_C(0x88554F05), UINT32_C(0xDEF1782F), UINT32_C(0xD8D6DF47),
10814           UINT32_C(0xB73E7333), UINT32_C(0x90E9C67A), UINT32_C(0x1DDF9022),
10815           UINT32_C(0xD56181AC), UINT32_C(0x5D217B51)},
10816          {UINT32_C(0xE27F90EE), UINT32_C(0x7A338C7B), UINT32_C(0x0D84A177),
10817           UINT32_C(0xB97CCD2A), UINT32_C(0x7C5E3FA9), UINT32_C(0x3E101601),
10818           UINT32_C(0x30FF0918), UINT32_C(0x2706E77C)}},
10819         {{UINT32_C(0x72A7CB9F), UINT32_C(0x1BD1274F), UINT32_C(0x0622DB90),
10820           UINT32_C(0x8B60357A), UINT32_C(0x2151BB23), UINT32_C(0x0140E14A),
10821           UINT32_C(0xE9A30C4C), UINT32_C(0x358D7DDA)},
10822          {UINT32_C(0x89BFB2C6), UINT32_C(0x3B153060), UINT32_C(0xB6757C69),
10823           UINT32_C(0x47462C79), UINT32_C(0xB43EF986), UINT32_C(0x2B22239D),
10824           UINT32_C(0x0B774DE3), UINT32_C(0x6793671F)}},
10825         {{UINT32_C(0xF6F8EDC6), UINT32_C(0x99EDB02E), UINT32_C(0xC4257DD9),
10826           UINT32_C(0x24432760), UINT32_C(0x0336EED2), UINT32_C(0x4FDD7301),
10827           UINT32_C(0xF6C6506B), UINT32_C(0x44879709)},
10828          {UINT32_C(0x13F18D89), UINT32_C(0x107C7DE2), UINT32_C(0xA5701FBD),
10829           UINT32_C(0x71C71DFB), UINT32_C(0xC7DE3E0B), UINT32_C(0x97017E24),
10830           UINT32_C(0xFC9EDDC2), UINT32_C(0x0F8D7E09)}},
10831         {{UINT32_C(0x3897E01D), UINT32_C(0x7A0BB3B1), UINT32_C(0xC5892BDE),
10832           UINT32_C(0x7FD4F504), UINT32_C(0xAB752928), UINT32_C(0x2EA9AA77),
10833           UINT32_C(0x9078B466), UINT32_C(0x19A82F55)},
10834          {UINT32_C(0x55A0F0D9), UINT32_C(0xEF2842C5), UINT32_C(0x15B6F2B4),
10835           UINT32_C(0x5501EEE9), UINT32_C(0x942AA4B4), UINT32_C(0x9665EA6F),
10836           UINT32_C(0x0E707C32), UINT32_C(0x015F41F4)}},
10837         {{UINT32_C(0x9C6B6FD6), UINT32_C(0x1B4D6A91), UINT32_C(0x68217AFC),
10838           UINT32_C(0xCFD2CEE9), UINT32_C(0xBBC9284D), UINT32_C(0xC5076256),
10839           UINT32_C(0xAC36547B), UINT32_C(0x4C7F4EEF)},
10840          {UINT32_C(0x65EE1907), UINT32_C(0xAB1AAD2C), UINT32_C(0xBAC25425),
10841           UINT32_C(0xBCFE8C77), UINT32_C(0xC9048A35), UINT32_C(0x38BA0F85),
10842           UINT32_C(0x60A035F6), UINT32_C(0x300E6AC4)}},
10843         {{UINT32_C(0x34707CC6), UINT32_C(0xA8EDBC5E), UINT32_C(0x56ADFC16),
10844           UINT32_C(0x3DA6BC51), UINT32_C(0xCA8B6F3F), UINT32_C(0x5C7CB5E1),
10845           UINT32_C(0x2D612DFA), UINT32_C(0x76E4A028)},
10846          {UINT32_C(0x64F49D39), UINT32_C(0x75AB66FD), UINT32_C(0xC387A739),
10847           UINT32_C(0x5AF9879D), UINT32_C(0x3E9EDBCF), UINT32_C(0x83964808),
10848           UINT32_C(0x7F4C4FFE), UINT32_C(0x555D8BBD)}},
10849         {{UINT32_C(0x3C5590B0), UINT32_C(0xAAE8A2FE), UINT32_C(0x8AB34213),
10850           UINT32_C(0x461C6CCC), UINT32_C(0x9E719B77), UINT32_C(0xB2F3E822),
10851           UINT32_C(0x663188BB), UINT32_C(0x25B8FCA8)},
10852          {UINT32_C(0x72548131), UINT32_C(0xAA7A047B), UINT32_C(0x189FA6F0),
10853           UINT32_C(0x0878FFEE), UINT32_C(0xCE3E17C3), UINT32_C(0x9E7FB402),
10854           UINT32_C(0x44418277), UINT32_C(0x6F260D93)}},
10855         {{UINT32_C(0xB703B647), UINT32_C(0x0EF1C290), UINT32_C(0x651673E4),
10856           UINT32_C(0x995009FA), UINT32_C(0xBE46362D), UINT32_C(0x661F76D7),
10857           UINT32_C(0x23E56E7A), UINT32_C(0x74B00FD1)},
10858          {UINT32_C(0xA1A50E4B), UINT32_C(0x9557D0AB), UINT32_C(0x587688CE),
10859           UINT32_C(0xC5A1CF95), UINT32_C(0x7AE08ECA), UINT32_C(0x2A14D1B2),
10860           UINT32_C(0x3C23D507), UINT32_C(0x2DA8816C)}},
10861         {{UINT32_C(0xB9934883), UINT32_C(0x51CB405F), UINT32_C(0x01A6864B),
10862           UINT32_C(0xC99A67D4), UINT32_C(0x6CDFFFC3), UINT32_C(0xCCF62233),
10863           UINT32_C(0x98FE0B79), UINT32_C(0x2938F9F9)},
10864          {UINT32_C(0x39A5AA28), UINT32_C(0x77666911), UINT32_C(0x2427BFC0),
10865           UINT32_C(0xDF56CBB5), UINT32_C(0x189EB66D), UINT32_C(0xA39BE968),
10866           UINT32_C(0xA64FD2AB), UINT32_C(0x71E6E105)}},
10867         {{UINT32_C(0x60F9D20B), UINT32_C(0xA0C6F795), UINT32_C(0x765670CC),
10868           UINT32_C(0xE06DC8BB), UINT32_C(0xA67275E0), UINT32_C(0x9FA1DD58),
10869           UINT32_C(0xE2D23BBB), UINT32_C(0x0F7F670D)},
10870          {UINT32_C(0x33FB15EA), UINT32_C(0xF8F07CF3), UINT32_C(0x723A0271),
10871           UINT32_C(0x1D09B592), UINT32_C(0x4E6FCAAB), UINT32_C(0xF1402923),
10872           UINT32_C(0xAE301940), UINT32_C(0x05BE1273)}},
10873         {{UINT32_C(0x114AFD1E), UINT32_C(0x2D83906C), UINT32_C(0xC88E5761),
10874           UINT32_C(0x091474FD), UINT32_C(0xEF9E4F9B), UINT32_C(0xAFF18EEB),
10875           UINT32_C(0xF4E646ED), UINT32_C(0x136ECAE5)},
10876          {UINT32_C(0xEB01808F), UINT32_C(0xEF4526D0), UINT32_C(0x940C0AEC),
10877           UINT32_C(0x3923EBBA), UINT32_C(0xA437F460), UINT32_C(0xAB34160C),
10878           UINT32_C(0x421AD57C), UINT32_C(0x7A46966E)}},
10879     }};
10880
10881 /*-
10882  * Q := 2P, both projective, Q and P same pointers OK
10883  * Autogenerated: op3/dbl_proj_any.op3
10884  * https://eprint.iacr.org/2015/1060 Alg 3
10885  */
10886 static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
10887     /* temporary variables */
10888     fe_t t0, t1, t2, t3, t4;
10889     /* constants */
10890     const limb_t *b3 = const_b3;
10891     const limb_t *a = const_a;
10892     /* set pointers for legacy curve arith */
10893     const limb_t *X = P->X;
10894     const limb_t *Y = P->Y;
10895     const limb_t *Z = P->Z;
10896     limb_t *X3 = Q->X;
10897     limb_t *Y3 = Q->Y;
10898     limb_t *Z3 = Q->Z;
10899
10900     /* the curve arith formula */
10901     fiat_id_GostR3410_2001_TestParamSet_square(t0, X);
10902     fiat_id_GostR3410_2001_TestParamSet_square(t1, Y);
10903     fiat_id_GostR3410_2001_TestParamSet_square(t2, Z);
10904     fiat_id_GostR3410_2001_TestParamSet_mul(t3, X, Y);
10905     fiat_id_GostR3410_2001_TestParamSet_add(t3, t3, t3);
10906     fiat_id_GostR3410_2001_TestParamSet_mul(t4, Y, Z);
10907     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, X, Z);
10908     fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, Z3);
10909     fiat_id_GostR3410_2001_TestParamSet_mul(X3, a, Z3);
10910     fiat_id_GostR3410_2001_TestParamSet_mul(Y3, b3, t2);
10911     fiat_id_GostR3410_2001_TestParamSet_add(Y3, X3, Y3);
10912     fiat_id_GostR3410_2001_TestParamSet_sub(X3, t1, Y3);
10913     fiat_id_GostR3410_2001_TestParamSet_add(Y3, t1, Y3);
10914     fiat_id_GostR3410_2001_TestParamSet_mul(Y3, X3, Y3);
10915     fiat_id_GostR3410_2001_TestParamSet_mul(X3, t3, X3);
10916     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, b3, Z3);
10917     fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, t2);
10918     fiat_id_GostR3410_2001_TestParamSet_sub(t3, t0, t2);
10919     fiat_id_GostR3410_2001_TestParamSet_mul(t3, a, t3);
10920     fiat_id_GostR3410_2001_TestParamSet_add(t3, t3, Z3);
10921     fiat_id_GostR3410_2001_TestParamSet_add(Z3, t0, t0);
10922     fiat_id_GostR3410_2001_TestParamSet_add(t0, Z3, t0);
10923     fiat_id_GostR3410_2001_TestParamSet_add(t0, t0, t2);
10924     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t0, t3);
10925     fiat_id_GostR3410_2001_TestParamSet_add(Y3, Y3, t0);
10926     fiat_id_GostR3410_2001_TestParamSet_add(t2, t4, t4);
10927     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t2, t3);
10928     fiat_id_GostR3410_2001_TestParamSet_sub(X3, X3, t0);
10929     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, t2, t1);
10930     fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, Z3);
10931     fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, Z3);
10932 }
10933
10934 /*-
10935  * R := Q + P where R and Q are projective, P affine.
10936  * R and Q same pointers OK
10937  * R and P same pointers not OK
10938  * Autogenerated: op3/add_mixed_any.op3
10939  * https://eprint.iacr.org/2015/1060 Alg 2
10940  */
10941 static void point_add_mixed(pt_prj_t *R, const pt_prj_t *Q, const pt_aff_t *P) {
10942     /* temporary variables */
10943     fe_t t0, t1, t2, t3, t4, t5;
10944     /* constants */
10945     const limb_t *b3 = const_b3;
10946     const limb_t *a = const_a;
10947     /* set pointers for legacy curve arith */
10948     const limb_t *X1 = Q->X;
10949     const limb_t *Y1 = Q->Y;
10950     const limb_t *Z1 = Q->Z;
10951     const limb_t *X2 = P->X;
10952     const limb_t *Y2 = P->Y;
10953     fe_t X3;
10954     fe_t Y3;
10955     fe_t Z3;
10956     limb_t nz;
10957
10958     /* check P for affine inf */
10959     fiat_id_GostR3410_2001_TestParamSet_nonzero(&nz, P->Y);
10960
10961     /* the curve arith formula */
10962     fiat_id_GostR3410_2001_TestParamSet_mul(t0, X1, X2);
10963     fiat_id_GostR3410_2001_TestParamSet_mul(t1, Y1, Y2);
10964     fiat_id_GostR3410_2001_TestParamSet_add(t3, X2, Y2);
10965     fiat_id_GostR3410_2001_TestParamSet_add(t4, X1, Y1);
10966     fiat_id_GostR3410_2001_TestParamSet_mul(t3, t3, t4);
10967     fiat_id_GostR3410_2001_TestParamSet_add(t4, t0, t1);
10968     fiat_id_GostR3410_2001_TestParamSet_sub(t3, t3, t4);
10969     fiat_id_GostR3410_2001_TestParamSet_mul(t4, X2, Z1);
10970     fiat_id_GostR3410_2001_TestParamSet_add(t4, t4, X1);
10971     fiat_id_GostR3410_2001_TestParamSet_mul(t5, Y2, Z1);
10972     fiat_id_GostR3410_2001_TestParamSet_add(t5, t5, Y1);
10973     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, a, t4);
10974     fiat_id_GostR3410_2001_TestParamSet_mul(X3, b3, Z1);
10975     fiat_id_GostR3410_2001_TestParamSet_add(Z3, X3, Z3);
10976     fiat_id_GostR3410_2001_TestParamSet_sub(X3, t1, Z3);
10977     fiat_id_GostR3410_2001_TestParamSet_add(Z3, t1, Z3);
10978     fiat_id_GostR3410_2001_TestParamSet_mul(Y3, X3, Z3);
10979     fiat_id_GostR3410_2001_TestParamSet_add(t1, t0, t0);
10980     fiat_id_GostR3410_2001_TestParamSet_add(t1, t1, t0);
10981     fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, Z1);
10982     fiat_id_GostR3410_2001_TestParamSet_mul(t4, b3, t4);
10983     fiat_id_GostR3410_2001_TestParamSet_add(t1, t1, t2);
10984     fiat_id_GostR3410_2001_TestParamSet_sub(t2, t0, t2);
10985     fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, t2);
10986     fiat_id_GostR3410_2001_TestParamSet_add(t4, t4, t2);
10987     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t1, t4);
10988     fiat_id_GostR3410_2001_TestParamSet_add(Y3, Y3, t0);
10989     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t5, t4);
10990     fiat_id_GostR3410_2001_TestParamSet_mul(X3, t3, X3);
10991     fiat_id_GostR3410_2001_TestParamSet_sub(X3, X3, t0);
10992     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t3, t1);
10993     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, t5, Z3);
10994     fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, t0);
10995
10996     /* if P is inf, throw all that away and take Q */
10997     fiat_id_GostR3410_2001_TestParamSet_selectznz(R->X, nz, Q->X, X3);
10998     fiat_id_GostR3410_2001_TestParamSet_selectznz(R->Y, nz, Q->Y, Y3);
10999     fiat_id_GostR3410_2001_TestParamSet_selectznz(R->Z, nz, Q->Z, Z3);
11000 }
11001
11002 /*-
11003  * R := Q + P all projective.
11004  * R and Q same pointers OK
11005  * R and P same pointers not OK
11006  * Autogenerated: op3/add_proj_any.op3
11007  * https://eprint.iacr.org/2015/1060 Alg 1
11008  */
11009 static void point_add_proj(pt_prj_t *R, const pt_prj_t *Q, const pt_prj_t *P) {
11010     /* temporary variables */
11011     fe_t t0, t1, t2, t3, t4, t5;
11012     /* constants */
11013     const limb_t *b3 = const_b3;
11014     const limb_t *a = const_a;
11015     /* set pointers for legacy curve arith */
11016     const limb_t *X1 = Q->X;
11017     const limb_t *Y1 = Q->Y;
11018     const limb_t *Z1 = Q->Z;
11019     const limb_t *X2 = P->X;
11020     const limb_t *Y2 = P->Y;
11021     const limb_t *Z2 = P->Z;
11022     limb_t *X3 = R->X;
11023     limb_t *Y3 = R->Y;
11024     limb_t *Z3 = R->Z;
11025
11026     /* the curve arith formula */
11027     fiat_id_GostR3410_2001_TestParamSet_mul(t0, X1, X2);
11028     fiat_id_GostR3410_2001_TestParamSet_mul(t1, Y1, Y2);
11029     fiat_id_GostR3410_2001_TestParamSet_mul(t2, Z1, Z2);
11030     fiat_id_GostR3410_2001_TestParamSet_add(t3, X1, Y1);
11031     fiat_id_GostR3410_2001_TestParamSet_add(t4, X2, Y2);
11032     fiat_id_GostR3410_2001_TestParamSet_mul(t3, t3, t4);
11033     fiat_id_GostR3410_2001_TestParamSet_add(t4, t0, t1);
11034     fiat_id_GostR3410_2001_TestParamSet_sub(t3, t3, t4);
11035     fiat_id_GostR3410_2001_TestParamSet_add(t4, X1, Z1);
11036     fiat_id_GostR3410_2001_TestParamSet_add(t5, X2, Z2);
11037     fiat_id_GostR3410_2001_TestParamSet_mul(t4, t4, t5);
11038     fiat_id_GostR3410_2001_TestParamSet_add(t5, t0, t2);
11039     fiat_id_GostR3410_2001_TestParamSet_sub(t4, t4, t5);
11040     fiat_id_GostR3410_2001_TestParamSet_add(t5, Y1, Z1);
11041     fiat_id_GostR3410_2001_TestParamSet_add(X3, Y2, Z2);
11042     fiat_id_GostR3410_2001_TestParamSet_mul(t5, t5, X3);
11043     fiat_id_GostR3410_2001_TestParamSet_add(X3, t1, t2);
11044     fiat_id_GostR3410_2001_TestParamSet_sub(t5, t5, X3);
11045     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, a, t4);
11046     fiat_id_GostR3410_2001_TestParamSet_mul(X3, b3, t2);
11047     fiat_id_GostR3410_2001_TestParamSet_add(Z3, X3, Z3);
11048     fiat_id_GostR3410_2001_TestParamSet_sub(X3, t1, Z3);
11049     fiat_id_GostR3410_2001_TestParamSet_add(Z3, t1, Z3);
11050     fiat_id_GostR3410_2001_TestParamSet_mul(Y3, X3, Z3);
11051     fiat_id_GostR3410_2001_TestParamSet_add(t1, t0, t0);
11052     fiat_id_GostR3410_2001_TestParamSet_add(t1, t1, t0);
11053     fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, t2);
11054     fiat_id_GostR3410_2001_TestParamSet_mul(t4, b3, t4);
11055     fiat_id_GostR3410_2001_TestParamSet_add(t1, t1, t2);
11056     fiat_id_GostR3410_2001_TestParamSet_sub(t2, t0, t2);
11057     fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, t2);
11058     fiat_id_GostR3410_2001_TestParamSet_add(t4, t4, t2);
11059     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t1, t4);
11060     fiat_id_GostR3410_2001_TestParamSet_add(Y3, Y3, t0);
11061     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t5, t4);
11062     fiat_id_GostR3410_2001_TestParamSet_mul(X3, t3, X3);
11063     fiat_id_GostR3410_2001_TestParamSet_sub(X3, X3, t0);
11064     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t3, t1);
11065     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, t5, Z3);
11066     fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, t0);
11067 }
11068
11069 /* constants */
11070 #define RADIX 5
11071 #define DRADIX (1 << RADIX)
11072 #define DRADIX_WNAF ((DRADIX) << 1)
11073
11074 /*-
11075  * precomp for wnaf scalar multiplication:
11076  * precomp[0] = 1P
11077  * precomp[1] = 3P
11078  * precomp[2] = 5P
11079  * precomp[3] = 7P
11080  * precomp[4] = 9P
11081  * ...
11082  */
11083 static void precomp_wnaf(pt_prj_t precomp[DRADIX / 2], const pt_aff_t *P) {
11084     int i;
11085
11086     fe_copy(precomp[0].X, P->X);
11087     fe_copy(precomp[0].Y, P->Y);
11088     fe_copy(precomp[0].Z, const_one);
11089     point_double(&precomp[DRADIX / 2 - 1], &precomp[0]);
11090
11091     for (i = 1; i < DRADIX / 2; i++)
11092         point_add_proj(&precomp[i], &precomp[DRADIX / 2 - 1], &precomp[i - 1]);
11093 }
11094
11095 /* fetch a scalar bit */
11096 static int scalar_get_bit(const unsigned char in[32], int idx) {
11097     int widx, rshift;
11098
11099     widx = idx >> 3;
11100     rshift = idx & 0x7;
11101
11102     if (idx < 0 || widx >= 32) return 0;
11103
11104     return (in[widx] >> rshift) & 0x1;
11105 }
11106
11107 /*-
11108  * Compute "regular" wnaf representation of a scalar.
11109  * See "Exponent Recoding and Regular Exponentiation Algorithms",
11110  * Tunstall et al., AfricaCrypt 2009, Alg 6.
11111  * It forces an odd scalar and outputs digits in
11112  * {\pm 1, \pm 3, \pm 5, \pm 7, \pm 9, ...}
11113  * i.e. signed odd digits with _no zeroes_ -- that makes it "regular".
11114  */
11115 static void scalar_rwnaf(int8_t out[52], const unsigned char in[32]) {
11116     int i;
11117     int8_t window, d;
11118
11119     window = (in[0] & (DRADIX_WNAF - 1)) | 1;
11120     for (i = 0; i < 51; i++) {
11121         d = (window & (DRADIX_WNAF - 1)) - DRADIX;
11122         out[i] = d;
11123         window = (window - d) >> RADIX;
11124         window += scalar_get_bit(in, (i + 1) * RADIX + 1) << 1;
11125         window += scalar_get_bit(in, (i + 1) * RADIX + 2) << 2;
11126         window += scalar_get_bit(in, (i + 1) * RADIX + 3) << 3;
11127         window += scalar_get_bit(in, (i + 1) * RADIX + 4) << 4;
11128         window += scalar_get_bit(in, (i + 1) * RADIX + 5) << 5;
11129     }
11130     out[i] = window;
11131 }
11132
11133 /*-
11134  * Compute "textbook" wnaf representation of a scalar.
11135  * NB: not constant time
11136  */
11137 static void scalar_wnaf(int8_t out[257], const unsigned char in[32]) {
11138     int i;
11139     int8_t window, d;
11140
11141     window = in[0] & (DRADIX_WNAF - 1);
11142     for (i = 0; i < 257; i++) {
11143         d = 0;
11144         if ((window & 1) && ((d = window & (DRADIX_WNAF - 1)) & DRADIX))
11145             d -= DRADIX_WNAF;
11146         out[i] = d;
11147         window = (window - d) >> 1;
11148         window += scalar_get_bit(in, i + 1 + RADIX) << RADIX;
11149     }
11150 }
11151
11152 /*-
11153  * Simulateous scalar multiplication: interleaved "textbook" wnaf.
11154  * NB: not constant time
11155  */
11156 static void var_smul_wnaf_two(pt_aff_t *out, const unsigned char a[32],
11157                               const unsigned char b[32], const pt_aff_t *P) {
11158     int i, d, is_neg, is_inf = 1, flipped = 0;
11159     int8_t anaf[257] = {0};
11160     int8_t bnaf[257] = {0};
11161     pt_prj_t Q;
11162     pt_prj_t precomp[DRADIX / 2];
11163
11164     precomp_wnaf(precomp, P);
11165     scalar_wnaf(anaf, a);
11166     scalar_wnaf(bnaf, b);
11167
11168     for (i = 256; i >= 0; i--) {
11169         if (!is_inf) point_double(&Q, &Q);
11170         if ((d = bnaf[i])) {
11171             if ((is_neg = d < 0) != flipped) {
11172                 fiat_id_GostR3410_2001_TestParamSet_opp(Q.Y, Q.Y);
11173                 flipped ^= 1;
11174             }
11175             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
11176             if (is_inf) {
11177                 /* initialize accumulator */
11178                 fe_copy(Q.X, &precomp[d].X);
11179                 fe_copy(Q.Y, &precomp[d].Y);
11180                 fe_copy(Q.Z, &precomp[d].Z);
11181                 is_inf = 0;
11182             } else
11183                 point_add_proj(&Q, &Q, &precomp[d]);
11184         }
11185         if ((d = anaf[i])) {
11186             if ((is_neg = d < 0) != flipped) {
11187                 fiat_id_GostR3410_2001_TestParamSet_opp(Q.Y, Q.Y);
11188                 flipped ^= 1;
11189             }
11190             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
11191             if (is_inf) {
11192                 /* initialize accumulator */
11193                 fe_copy(Q.X, &lut_cmb[0][d].X);
11194                 fe_copy(Q.Y, &lut_cmb[0][d].Y);
11195                 fe_copy(Q.Z, const_one);
11196                 is_inf = 0;
11197             } else
11198                 point_add_mixed(&Q, &Q, &lut_cmb[0][d]);
11199         }
11200     }
11201
11202     if (is_inf) {
11203         /* initialize accumulator to inf: all-zero scalars */
11204         fe_set_zero(Q.X);
11205         fe_copy(Q.Y, const_one);
11206         fe_set_zero(Q.Z);
11207     }
11208
11209     if (flipped) {
11210         /* correct sign */
11211         fiat_id_GostR3410_2001_TestParamSet_opp(Q.Y, Q.Y);
11212     }
11213
11214     /* convert to affine -- NB depends on coordinate system */
11215     fiat_id_GostR3410_2001_TestParamSet_inv(Q.Z, Q.Z);
11216     fiat_id_GostR3410_2001_TestParamSet_mul(out->X, Q.X, Q.Z);
11217     fiat_id_GostR3410_2001_TestParamSet_mul(out->Y, Q.Y, Q.Z);
11218 }
11219
11220 /*-
11221  * Variable point scalar multiplication with "regular" wnaf.
11222  */
11223 static void var_smul_rwnaf(pt_aff_t *out, const unsigned char scalar[32],
11224                            const pt_aff_t *P) {
11225     int i, j, d, diff, is_neg;
11226     int8_t rnaf[52] = {0};
11227     pt_prj_t Q, lut;
11228     pt_prj_t precomp[DRADIX / 2];
11229
11230     precomp_wnaf(precomp, P);
11231     scalar_rwnaf(rnaf, scalar);
11232
11233 #if defined(_MSC_VER)
11234     /* result still unsigned: yes we know */
11235 #pragma warning(push)
11236 #pragma warning(disable : 4146)
11237 #endif
11238
11239     /* initialize accumulator to high digit */
11240     d = (rnaf[51] - 1) >> 1;
11241     for (j = 0; j < DRADIX / 2; j++) {
11242         diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
11243         fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.X, diff, Q.X,
11244                                                       precomp[j].X);
11245         fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Y, diff, Q.Y,
11246                                                       precomp[j].Y);
11247         fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Z, diff, Q.Z,
11248                                                       precomp[j].Z);
11249     }
11250
11251     for (i = 50; i >= 0; i--) {
11252         for (j = 0; j < RADIX; j++) point_double(&Q, &Q);
11253         d = rnaf[i];
11254         /* is_neg = (d < 0) ? 1 : 0 */
11255         is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
11256         /* d = abs(d) */
11257         d = (d ^ -is_neg) + is_neg;
11258         d = (d - 1) >> 1;
11259         for (j = 0; j < DRADIX / 2; j++) {
11260             diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
11261             fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.X, diff, lut.X,
11262                                                           precomp[j].X);
11263             fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.Y, diff, lut.Y,
11264                                                           precomp[j].Y);
11265             fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.Z, diff, lut.Z,
11266                                                           precomp[j].Z);
11267         }
11268         /* negate lut point if digit is negative */
11269         fiat_id_GostR3410_2001_TestParamSet_opp(out->Y, lut.Y);
11270         fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.Y, is_neg, lut.Y,
11271                                                       out->Y);
11272         point_add_proj(&Q, &Q, &lut);
11273     }
11274
11275 #if defined(_MSC_VER)
11276 #pragma warning(pop)
11277 #endif
11278
11279     /* conditionally subtract P if the scalar was even */
11280     fe_copy(lut.X, precomp[0].X);
11281     fiat_id_GostR3410_2001_TestParamSet_opp(lut.Y, precomp[0].Y);
11282     fe_copy(lut.Z, precomp[0].Z);
11283     point_add_proj(&lut, &lut, &Q);
11284     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.X, scalar[0] & 1, lut.X,
11285                                                   Q.X);
11286     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Y, scalar[0] & 1, lut.Y,
11287                                                   Q.Y);
11288     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Z, scalar[0] & 1, lut.Z,
11289                                                   Q.Z);
11290
11291     /* convert to affine -- NB depends on coordinate system */
11292     fiat_id_GostR3410_2001_TestParamSet_inv(Q.Z, Q.Z);
11293     fiat_id_GostR3410_2001_TestParamSet_mul(out->X, Q.X, Q.Z);
11294     fiat_id_GostR3410_2001_TestParamSet_mul(out->Y, Q.Y, Q.Z);
11295 }
11296
11297 /*-
11298  * Fixed scalar multiplication: comb with interleaving.
11299  */
11300 static void fixed_smul_cmb(pt_aff_t *out, const unsigned char scalar[32]) {
11301     int i, j, k, d, diff, is_neg = 0;
11302     int8_t rnaf[52] = {0};
11303     pt_prj_t Q, R;
11304     pt_aff_t lut;
11305
11306     scalar_rwnaf(rnaf, scalar);
11307
11308     /* initalize accumulator to inf */
11309     fe_set_zero(Q.X);
11310     fe_copy(Q.Y, const_one);
11311     fe_set_zero(Q.Z);
11312
11313 #if defined(_MSC_VER)
11314     /* result still unsigned: yes we know */
11315 #pragma warning(push)
11316 #pragma warning(disable : 4146)
11317 #endif
11318
11319     for (i = 1; i >= 0; i--) {
11320         for (j = 0; i != 1 && j < RADIX; j++) point_double(&Q, &Q);
11321         for (j = 0; j < 27; j++) {
11322             if (j * 2 + i > 51) continue;
11323             d = rnaf[j * 2 + i];
11324             /* is_neg = (d < 0) ? 1 : 0 */
11325             is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
11326             /* d = abs(d) */
11327             d = (d ^ -is_neg) + is_neg;
11328             d = (d - 1) >> 1;
11329             for (k = 0; k < DRADIX / 2; k++) {
11330                 diff = (1 - (-(d ^ k) >> (8 * sizeof(int) - 1))) & 1;
11331                 fiat_id_GostR3410_2001_TestParamSet_selectznz(
11332                     lut.X, diff, lut.X, lut_cmb[j][k].X);
11333                 fiat_id_GostR3410_2001_TestParamSet_selectznz(
11334                     lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
11335             }
11336             /* negate lut point if digit is negative */
11337             fiat_id_GostR3410_2001_TestParamSet_opp(out->Y, lut.Y);
11338             fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.Y, is_neg, lut.Y,
11339                                                           out->Y);
11340             point_add_mixed(&Q, &Q, &lut);
11341         }
11342     }
11343
11344 #if defined(_MSC_VER)
11345 #pragma warning(pop)
11346 #endif
11347
11348     /* conditionally subtract P if the scalar was even */
11349     fe_copy(lut.X, lut_cmb[0][0].X);
11350     fiat_id_GostR3410_2001_TestParamSet_opp(lut.Y, lut_cmb[0][0].Y);
11351     point_add_mixed(&R, &Q, &lut);
11352     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.X, scalar[0] & 1, R.X, Q.X);
11353     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Y, scalar[0] & 1, R.Y, Q.Y);
11354     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Z, scalar[0] & 1, R.Z, Q.Z);
11355
11356     /* convert to affine -- NB depends on coordinate system */
11357     fiat_id_GostR3410_2001_TestParamSet_inv(Q.Z, Q.Z);
11358     fiat_id_GostR3410_2001_TestParamSet_mul(out->X, Q.X, Q.Z);
11359     fiat_id_GostR3410_2001_TestParamSet_mul(out->Y, Q.Y, Q.Z);
11360 }
11361
11362 static void point_mul_two(unsigned char outx[32], unsigned char outy[32],
11363                           const unsigned char a[32], const unsigned char b[32],
11364                           const unsigned char inx[32],
11365                           const unsigned char iny[32]) {
11366     pt_aff_t P;
11367
11368     fiat_id_GostR3410_2001_TestParamSet_from_bytes(P.X, inx);
11369     fiat_id_GostR3410_2001_TestParamSet_from_bytes(P.Y, iny);
11370     fiat_id_GostR3410_2001_TestParamSet_to_montgomery(P.X, P.X);
11371     fiat_id_GostR3410_2001_TestParamSet_to_montgomery(P.Y, P.Y);
11372     /* simultaneous scalar multiplication */
11373     var_smul_wnaf_two(&P, a, b, &P);
11374
11375     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.X, P.X);
11376     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.Y, P.Y);
11377     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outx, P.X);
11378     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outy, P.Y);
11379 }
11380
11381 static void point_mul_g(unsigned char outx[32], unsigned char outy[32],
11382                         const unsigned char scalar[32]) {
11383     pt_aff_t P;
11384
11385     /* fixed scmul function */
11386     fixed_smul_cmb(&P, scalar);
11387     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.X, P.X);
11388     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.Y, P.Y);
11389     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outx, P.X);
11390     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outy, P.Y);
11391 }
11392
11393 static void point_mul(unsigned char outx[32], unsigned char outy[32],
11394                       const unsigned char scalar[32],
11395                       const unsigned char inx[32],
11396                       const unsigned char iny[32]) {
11397     pt_aff_t P;
11398
11399     fiat_id_GostR3410_2001_TestParamSet_from_bytes(P.X, inx);
11400     fiat_id_GostR3410_2001_TestParamSet_from_bytes(P.Y, iny);
11401     fiat_id_GostR3410_2001_TestParamSet_to_montgomery(P.X, P.X);
11402     fiat_id_GostR3410_2001_TestParamSet_to_montgomery(P.Y, P.Y);
11403     /* var scmul function */
11404     var_smul_rwnaf(&P, scalar, &P);
11405     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.X, P.X);
11406     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.Y, P.Y);
11407     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outx, P.X);
11408     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outy, P.Y);
11409 }
11410
11411
11412 #include <openssl/ec.h>
11413
11414 static const unsigned char const_zb[32] = {0};
11415
11416     int
11417     point_mul_two_id_GostR3410_2001_TestParamSet(const EC_GROUP *group,
11418                                                  EC_POINT *r, const BIGNUM *n,
11419                                                  const EC_POINT *q,
11420                                                  const BIGNUM *m, BN_CTX *ctx) {
11421     int ret = 0;
11422     unsigned char b_x[32];
11423     unsigned char b_y[32];
11424     unsigned char b_n[32];
11425     unsigned char b_m[32];
11426     BIGNUM *x = NULL, *y = NULL;
11427
11428     BN_CTX_start(ctx);
11429     x = BN_CTX_get(ctx);
11430     if ((y = BN_CTX_get(ctx)) == NULL
11431         /* pull out coords as bytes */
11432         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
11433         BN_bn2lebinpad(x, b_x, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
11434         BN_bn2lebinpad(n, b_n, 32) != 32 || BN_bn2lebinpad(m, b_m, 32) != 32)
11435         goto err;
11436     /* do the simultaneous scalar multiplication */
11437     point_mul_two(b_x, b_y, b_n, b_m, b_x, b_y);
11438     /* check for infinity */
11439     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
11440         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
11441         if (!EC_POINT_set_to_infinity(group, r)) goto err;
11442     } else {
11443         /* otherwise, pack the bytes into the result */
11444         if (BN_lebin2bn(b_x, 32, x) == NULL ||
11445             BN_lebin2bn(b_y, 32, y) == NULL ||
11446             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
11447             goto err;
11448     }
11449     ret = 1;
11450 err:
11451     BN_CTX_end(ctx);
11452     return ret;
11453 }
11454
11455     int
11456     point_mul_id_GostR3410_2001_TestParamSet(const EC_GROUP *group, EC_POINT *r,
11457                                              const EC_POINT *q, const BIGNUM *m,
11458                                              BN_CTX *ctx) {
11459     int ret = 0;
11460     unsigned char b_x[32];
11461     unsigned char b_y[32];
11462     unsigned char b_m[32];
11463     BIGNUM *x = NULL, *y = NULL;
11464
11465     BN_CTX_start(ctx);
11466     x = BN_CTX_get(ctx);
11467     if ((y = BN_CTX_get(ctx)) == NULL
11468         /* pull out coords as bytes */
11469         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
11470         BN_bn2lebinpad(x, b_x, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
11471         BN_bn2lebinpad(m, b_m, 32) != 32)
11472         goto err;
11473     /* do the variable scalar multiplication */
11474     point_mul(b_x, b_y, b_m, b_x, b_y);
11475     /* check for infinity */
11476     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
11477         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
11478         if (!EC_POINT_set_to_infinity(group, r)) goto err;
11479     } else {
11480         /* otherwise, pack the bytes into the result */
11481         if (BN_lebin2bn(b_x, 32, x) == NULL ||
11482             BN_lebin2bn(b_y, 32, y) == NULL ||
11483             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
11484             goto err;
11485     }
11486     ret = 1;
11487 err:
11488     BN_CTX_end(ctx);
11489     return ret;
11490 }
11491
11492     int
11493     point_mul_g_id_GostR3410_2001_TestParamSet(const EC_GROUP *group,
11494                                                EC_POINT *r, const BIGNUM *n,
11495                                                BN_CTX *ctx) {
11496     int ret = 0;
11497     unsigned char b_x[32];
11498     unsigned char b_y[32];
11499     unsigned char b_n[32];
11500     BIGNUM *x = NULL, *y = NULL;
11501
11502     BN_CTX_start(ctx);
11503     x = BN_CTX_get(ctx);
11504     if ((y = BN_CTX_get(ctx)) == NULL || BN_bn2lebinpad(n, b_n, 32) != 32)
11505         goto err;
11506     /* do the fixed scalar multiplication */
11507     point_mul_g(b_x, b_y, b_n);
11508     /* check for infinity */
11509     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
11510         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
11511         if (!EC_POINT_set_to_infinity(group, r)) goto err;
11512     } else {
11513         /* otherwise, pack the bytes into the result */
11514         if (BN_lebin2bn(b_x, 32, x) == NULL ||
11515             BN_lebin2bn(b_y, 32, y) == NULL ||
11516             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
11517             goto err;
11518     }
11519     ret = 1;
11520 err:
11521     BN_CTX_end(ctx);
11522     return ret;
11523 }
11524
11525
11526
11527 #endif /* __SIZEOF_INT128__ */