]> www.wagner.pp.ru Git - openssl-gost/engine.git/blob - ecp_id_GostR3410_2001_TestParamSet.c
[ecp] validation with coverity
[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 #ifdef OPENSSL_NO_ASM
36 #define FIAT_ID_GOSTR3410_2001_TESTPARAMSET_NO_ASM
37 #endif
38
39 #define fe_copy(d, s) memcpy(d, s, sizeof(fe_t))
40 #define fe_set_zero(d) memset(d, 0, sizeof(fe_t))
41
42 /* Projective points */
43 typedef struct {
44     fe_t X;
45     fe_t Y;
46     fe_t Z;
47 } pt_prj_t;
48
49 /* Affine points */
50 typedef struct {
51     fe_t X;
52     fe_t Y;
53 } pt_aff_t;
54
55 /* BEGIN verbatim fiat code https://github.com/mit-plv/fiat-crypto */
56 /*-
57  * MIT License
58  *
59  * Copyright (c) 2020 the fiat-crypto authors (see the AUTHORS file)
60  *
61  * Permission is hereby granted, free of charge, to any person obtaining a copy
62  * of this software and associated documentation files (the "Software"), to deal
63  * in the Software without restriction, including without limitation the rights
64  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
65  * copies of the Software, and to permit persons to whom the Software is
66  * furnished to do so, subject to the following conditions:
67  *
68  * The above copyright notice and this permission notice shall be included in
69  * all copies or substantial portions of the Software.
70  *
71  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
72  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
73  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
74  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
75  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
76  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
77  * SOFTWARE.
78  */
79
80 /* Autogenerated: word_by_word_montgomery --static --use-value-barrier id_GostR3410_2001_TestParamSet 64 '2^255 + 1073' */
81 /* curve description: id_GostR3410_2001_TestParamSet */
82 /* machine_wordsize = 64 (from "64") */
83 /* requested operations: (all) */
84 /* m = 0x8000000000000000000000000000000000000000000000000000000000000431 (from "2^255 + 1073") */
85 /*                                                                    */
86 /* NOTE: In addition to the bounds specified above each function, all */
87 /*   functions synthesized for this Montgomery arithmetic require the */
88 /*   input to be strictly less than the prime modulus (m), and also   */
89 /*   require the input to be in the unique saturated representation.  */
90 /*   All functions also ensure that these two properties are true of  */
91 /*   return values.                                                   */
92 /*  */
93 /* Computed values: */
94 /* eval z = z[0] + (z[1] << 64) + (z[2] << 128) + (z[3] << 192) */
95 /* 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) */
96
97 #include <stdint.h>
98 typedef unsigned char fiat_id_GostR3410_2001_TestParamSet_uint1;
99 typedef signed char fiat_id_GostR3410_2001_TestParamSet_int1;
100 typedef signed __int128 fiat_id_GostR3410_2001_TestParamSet_int128;
101 typedef unsigned __int128 fiat_id_GostR3410_2001_TestParamSet_uint128;
102
103 #if (-1 & 3) != 3
104 #error "This code only works on a two's complement system"
105 #endif
106
107 #if !defined(FIAT_ID_GOSTR3410_2001_TESTPARAMSET_NO_ASM) && \
108     (defined(__GNUC__) || defined(__clang__))
109 static __inline__ uint64_t
110 fiat_id_GostR3410_2001_TestParamSet_value_barrier_u64(uint64_t a) {
111     __asm__("" : "+r"(a) : /* no inputs */);
112     return a;
113 }
114 #else
115 #define fiat_id_GostR3410_2001_TestParamSet_value_barrier_u64(x) (x)
116 #endif
117
118 /*
119  * The function fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64 is an addition with carry.
120  * Postconditions:
121  *   out1 = (arg1 + arg2 + arg3) mod 2^64
122  *   out2 = ⌊(arg1 + arg2 + arg3) / 2^64⌋
123  *
124  * Input Bounds:
125  *   arg1: [0x0 ~> 0x1]
126  *   arg2: [0x0 ~> 0xffffffffffffffff]
127  *   arg3: [0x0 ~> 0xffffffffffffffff]
128  * Output Bounds:
129  *   out1: [0x0 ~> 0xffffffffffffffff]
130  *   out2: [0x0 ~> 0x1]
131  */
132 static void fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(
133     uint64_t *out1, fiat_id_GostR3410_2001_TestParamSet_uint1 *out2,
134     fiat_id_GostR3410_2001_TestParamSet_uint1 arg1, uint64_t arg2,
135     uint64_t arg3) {
136     fiat_id_GostR3410_2001_TestParamSet_uint128 x1;
137     uint64_t x2;
138     fiat_id_GostR3410_2001_TestParamSet_uint1 x3;
139     x1 = ((arg1 + (fiat_id_GostR3410_2001_TestParamSet_uint128)arg2) + arg3);
140     x2 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
141     x3 = (fiat_id_GostR3410_2001_TestParamSet_uint1)(x1 >> 64);
142     *out1 = x2;
143     *out2 = x3;
144 }
145
146 /*
147  * The function fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64 is a subtraction with borrow.
148  * Postconditions:
149  *   out1 = (-arg1 + arg2 + -arg3) mod 2^64
150  *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^64⌋
151  *
152  * Input Bounds:
153  *   arg1: [0x0 ~> 0x1]
154  *   arg2: [0x0 ~> 0xffffffffffffffff]
155  *   arg3: [0x0 ~> 0xffffffffffffffff]
156  * Output Bounds:
157  *   out1: [0x0 ~> 0xffffffffffffffff]
158  *   out2: [0x0 ~> 0x1]
159  */
160 static void fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(
161     uint64_t *out1, fiat_id_GostR3410_2001_TestParamSet_uint1 *out2,
162     fiat_id_GostR3410_2001_TestParamSet_uint1 arg1, uint64_t arg2,
163     uint64_t arg3) {
164     fiat_id_GostR3410_2001_TestParamSet_int128 x1;
165     fiat_id_GostR3410_2001_TestParamSet_int1 x2;
166     uint64_t x3;
167     x1 = ((arg2 - (fiat_id_GostR3410_2001_TestParamSet_int128)arg1) - arg3);
168     x2 = (fiat_id_GostR3410_2001_TestParamSet_int1)(x1 >> 64);
169     x3 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
170     *out1 = x3;
171     *out2 = (fiat_id_GostR3410_2001_TestParamSet_uint1)(0x0 - x2);
172 }
173
174 /*
175  * The function fiat_id_GostR3410_2001_TestParamSet_mulx_u64 is a multiplication, returning the full double-width result.
176  * Postconditions:
177  *   out1 = (arg1 * arg2) mod 2^64
178  *   out2 = ⌊arg1 * arg2 / 2^64⌋
179  *
180  * Input Bounds:
181  *   arg1: [0x0 ~> 0xffffffffffffffff]
182  *   arg2: [0x0 ~> 0xffffffffffffffff]
183  * Output Bounds:
184  *   out1: [0x0 ~> 0xffffffffffffffff]
185  *   out2: [0x0 ~> 0xffffffffffffffff]
186  */
187 static void fiat_id_GostR3410_2001_TestParamSet_mulx_u64(uint64_t *out1,
188                                                          uint64_t *out2,
189                                                          uint64_t arg1,
190                                                          uint64_t arg2) {
191     fiat_id_GostR3410_2001_TestParamSet_uint128 x1;
192     uint64_t x2;
193     uint64_t x3;
194     x1 = ((fiat_id_GostR3410_2001_TestParamSet_uint128)arg1 * arg2);
195     x2 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
196     x3 = (uint64_t)(x1 >> 64);
197     *out1 = x2;
198     *out2 = x3;
199 }
200
201 /*
202  * The function fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64 is a single-word conditional move.
203  * Postconditions:
204  *   out1 = (if arg1 = 0 then arg2 else arg3)
205  *
206  * Input Bounds:
207  *   arg1: [0x0 ~> 0x1]
208  *   arg2: [0x0 ~> 0xffffffffffffffff]
209  *   arg3: [0x0 ~> 0xffffffffffffffff]
210  * Output Bounds:
211  *   out1: [0x0 ~> 0xffffffffffffffff]
212  */
213 static void fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(
214     uint64_t *out1, fiat_id_GostR3410_2001_TestParamSet_uint1 arg1,
215     uint64_t arg2, uint64_t arg3) {
216     fiat_id_GostR3410_2001_TestParamSet_uint1 x1;
217     uint64_t x2;
218     uint64_t x3;
219     x1 = (!(!arg1));
220     x2 = ((fiat_id_GostR3410_2001_TestParamSet_int1)(0x0 - x1) &
221           UINT64_C(0xffffffffffffffff));
222     x3 =
223         ((fiat_id_GostR3410_2001_TestParamSet_value_barrier_u64(x2) & arg3) |
224          (fiat_id_GostR3410_2001_TestParamSet_value_barrier_u64((~x2)) & arg2));
225     *out1 = x3;
226 }
227
228 /*
229  * The function fiat_id_GostR3410_2001_TestParamSet_mul multiplies two field elements in the Montgomery domain.
230  * Preconditions:
231  *   0 ≤ eval arg1 < m
232  *   0 ≤ eval arg2 < m
233  * Postconditions:
234  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg2)) mod m
235  *   0 ≤ eval out1 < m
236  *
237  * Input Bounds:
238  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
239  *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
240  * Output Bounds:
241  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
242  */
243 static void fiat_id_GostR3410_2001_TestParamSet_mul(uint64_t out1[4],
244                                                     const uint64_t arg1[4],
245                                                     const uint64_t arg2[4]) {
246     uint64_t x1;
247     uint64_t x2;
248     uint64_t x3;
249     uint64_t x4;
250     uint64_t x5;
251     uint64_t x6;
252     uint64_t x7;
253     uint64_t x8;
254     uint64_t x9;
255     uint64_t x10;
256     uint64_t x11;
257     uint64_t x12;
258     uint64_t x13;
259     fiat_id_GostR3410_2001_TestParamSet_uint1 x14;
260     uint64_t x15;
261     fiat_id_GostR3410_2001_TestParamSet_uint1 x16;
262     uint64_t x17;
263     fiat_id_GostR3410_2001_TestParamSet_uint1 x18;
264     uint64_t x19;
265     uint64_t x20;
266     uint64_t x21;
267     uint64_t x22;
268     uint64_t x23;
269     uint64_t x24;
270     uint64_t x25;
271     uint64_t x26;
272     fiat_id_GostR3410_2001_TestParamSet_uint1 x27;
273     uint64_t x28;
274     fiat_id_GostR3410_2001_TestParamSet_uint1 x29;
275     uint64_t x30;
276     fiat_id_GostR3410_2001_TestParamSet_uint1 x31;
277     uint64_t x32;
278     fiat_id_GostR3410_2001_TestParamSet_uint1 x33;
279     uint64_t x34;
280     fiat_id_GostR3410_2001_TestParamSet_uint1 x35;
281     uint64_t x36;
282     uint64_t x37;
283     uint64_t x38;
284     uint64_t x39;
285     uint64_t x40;
286     uint64_t x41;
287     uint64_t x42;
288     uint64_t x43;
289     uint64_t x44;
290     fiat_id_GostR3410_2001_TestParamSet_uint1 x45;
291     uint64_t x46;
292     fiat_id_GostR3410_2001_TestParamSet_uint1 x47;
293     uint64_t x48;
294     fiat_id_GostR3410_2001_TestParamSet_uint1 x49;
295     uint64_t x50;
296     uint64_t x51;
297     fiat_id_GostR3410_2001_TestParamSet_uint1 x52;
298     uint64_t x53;
299     fiat_id_GostR3410_2001_TestParamSet_uint1 x54;
300     uint64_t x55;
301     fiat_id_GostR3410_2001_TestParamSet_uint1 x56;
302     uint64_t x57;
303     fiat_id_GostR3410_2001_TestParamSet_uint1 x58;
304     uint64_t x59;
305     fiat_id_GostR3410_2001_TestParamSet_uint1 x60;
306     uint64_t x61;
307     uint64_t x62;
308     uint64_t x63;
309     uint64_t x64;
310     uint64_t x65;
311     uint64_t x66;
312     uint64_t x67;
313     fiat_id_GostR3410_2001_TestParamSet_uint1 x68;
314     uint64_t x69;
315     fiat_id_GostR3410_2001_TestParamSet_uint1 x70;
316     uint64_t x71;
317     fiat_id_GostR3410_2001_TestParamSet_uint1 x72;
318     uint64_t x73;
319     fiat_id_GostR3410_2001_TestParamSet_uint1 x74;
320     uint64_t x75;
321     fiat_id_GostR3410_2001_TestParamSet_uint1 x76;
322     uint64_t x77;
323     uint64_t x78;
324     uint64_t x79;
325     uint64_t x80;
326     uint64_t x81;
327     uint64_t x82;
328     uint64_t x83;
329     uint64_t x84;
330     uint64_t x85;
331     uint64_t x86;
332     fiat_id_GostR3410_2001_TestParamSet_uint1 x87;
333     uint64_t x88;
334     fiat_id_GostR3410_2001_TestParamSet_uint1 x89;
335     uint64_t x90;
336     fiat_id_GostR3410_2001_TestParamSet_uint1 x91;
337     uint64_t x92;
338     uint64_t x93;
339     fiat_id_GostR3410_2001_TestParamSet_uint1 x94;
340     uint64_t x95;
341     fiat_id_GostR3410_2001_TestParamSet_uint1 x96;
342     uint64_t x97;
343     fiat_id_GostR3410_2001_TestParamSet_uint1 x98;
344     uint64_t x99;
345     fiat_id_GostR3410_2001_TestParamSet_uint1 x100;
346     uint64_t x101;
347     fiat_id_GostR3410_2001_TestParamSet_uint1 x102;
348     uint64_t x103;
349     uint64_t x104;
350     uint64_t x105;
351     uint64_t x106;
352     uint64_t x107;
353     uint64_t x108;
354     uint64_t x109;
355     fiat_id_GostR3410_2001_TestParamSet_uint1 x110;
356     uint64_t x111;
357     fiat_id_GostR3410_2001_TestParamSet_uint1 x112;
358     uint64_t x113;
359     fiat_id_GostR3410_2001_TestParamSet_uint1 x114;
360     uint64_t x115;
361     fiat_id_GostR3410_2001_TestParamSet_uint1 x116;
362     uint64_t x117;
363     fiat_id_GostR3410_2001_TestParamSet_uint1 x118;
364     uint64_t x119;
365     uint64_t x120;
366     uint64_t x121;
367     uint64_t x122;
368     uint64_t x123;
369     uint64_t x124;
370     uint64_t x125;
371     uint64_t x126;
372     uint64_t x127;
373     uint64_t x128;
374     fiat_id_GostR3410_2001_TestParamSet_uint1 x129;
375     uint64_t x130;
376     fiat_id_GostR3410_2001_TestParamSet_uint1 x131;
377     uint64_t x132;
378     fiat_id_GostR3410_2001_TestParamSet_uint1 x133;
379     uint64_t x134;
380     uint64_t x135;
381     fiat_id_GostR3410_2001_TestParamSet_uint1 x136;
382     uint64_t x137;
383     fiat_id_GostR3410_2001_TestParamSet_uint1 x138;
384     uint64_t x139;
385     fiat_id_GostR3410_2001_TestParamSet_uint1 x140;
386     uint64_t x141;
387     fiat_id_GostR3410_2001_TestParamSet_uint1 x142;
388     uint64_t x143;
389     fiat_id_GostR3410_2001_TestParamSet_uint1 x144;
390     uint64_t x145;
391     uint64_t x146;
392     uint64_t x147;
393     uint64_t x148;
394     uint64_t x149;
395     uint64_t x150;
396     uint64_t x151;
397     fiat_id_GostR3410_2001_TestParamSet_uint1 x152;
398     uint64_t x153;
399     fiat_id_GostR3410_2001_TestParamSet_uint1 x154;
400     uint64_t x155;
401     fiat_id_GostR3410_2001_TestParamSet_uint1 x156;
402     uint64_t x157;
403     fiat_id_GostR3410_2001_TestParamSet_uint1 x158;
404     uint64_t x159;
405     fiat_id_GostR3410_2001_TestParamSet_uint1 x160;
406     uint64_t x161;
407     uint64_t x162;
408     fiat_id_GostR3410_2001_TestParamSet_uint1 x163;
409     uint64_t x164;
410     fiat_id_GostR3410_2001_TestParamSet_uint1 x165;
411     uint64_t x166;
412     fiat_id_GostR3410_2001_TestParamSet_uint1 x167;
413     uint64_t x168;
414     fiat_id_GostR3410_2001_TestParamSet_uint1 x169;
415     uint64_t x170;
416     fiat_id_GostR3410_2001_TestParamSet_uint1 x171;
417     uint64_t x172;
418     uint64_t x173;
419     uint64_t x174;
420     uint64_t x175;
421     x1 = (arg1[1]);
422     x2 = (arg1[2]);
423     x3 = (arg1[3]);
424     x4 = (arg1[0]);
425     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x5, &x6, x4, (arg2[3]));
426     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x7, &x8, x4, (arg2[2]));
427     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x9, &x10, x4, (arg2[1]));
428     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x11, &x12, x4, (arg2[0]));
429     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x13, &x14, 0x0, x12, x9);
430     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x15, &x16, x14, x10, x7);
431     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x17, &x18, x16, x8, x5);
432     x19 = (x18 + x6);
433     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x20, &x21, x11,
434                                                  UINT64_C(0xdbf951d5883b2b2f));
435     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x22, &x23, x20,
436                                                  UINT64_C(0x8000000000000000));
437     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x24, &x25, x20,
438                                                  UINT16_C(0x431));
439     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x26, &x27, 0x0, x11,
440                                                       x24);
441     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x28, &x29, x27, x13,
442                                                       x25);
443     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x30, &x31, x29, x15,
444                                                       0x0);
445     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x32, &x33, x31, x17,
446                                                       x22);
447     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x34, &x35, x33, x19,
448                                                       x23);
449     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x36, &x37, x1, (arg2[3]));
450     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x38, &x39, x1, (arg2[2]));
451     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x40, &x41, x1, (arg2[1]));
452     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x42, &x43, x1, (arg2[0]));
453     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x44, &x45, 0x0, x43,
454                                                       x40);
455     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x46, &x47, x45, x41,
456                                                       x38);
457     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x48, &x49, x47, x39,
458                                                       x36);
459     x50 = (x49 + x37);
460     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x51, &x52, 0x0, x28,
461                                                       x42);
462     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x53, &x54, x52, x30,
463                                                       x44);
464     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x55, &x56, x54, x32,
465                                                       x46);
466     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x57, &x58, x56, x34,
467                                                       x48);
468     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x59, &x60, x58, x35,
469                                                       x50);
470     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x61, &x62, x51,
471                                                  UINT64_C(0xdbf951d5883b2b2f));
472     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x63, &x64, x61,
473                                                  UINT64_C(0x8000000000000000));
474     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x65, &x66, x61,
475                                                  UINT16_C(0x431));
476     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x67, &x68, 0x0, x51,
477                                                       x65);
478     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x69, &x70, x68, x53,
479                                                       x66);
480     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x71, &x72, x70, x55,
481                                                       0x0);
482     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x73, &x74, x72, x57,
483                                                       x63);
484     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x75, &x76, x74, x59,
485                                                       x64);
486     x77 = ((uint64_t)x76 + x60);
487     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x78, &x79, x2, (arg2[3]));
488     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x80, &x81, x2, (arg2[2]));
489     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x82, &x83, x2, (arg2[1]));
490     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x84, &x85, x2, (arg2[0]));
491     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x86, &x87, 0x0, x85,
492                                                       x82);
493     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x88, &x89, x87, x83,
494                                                       x80);
495     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x90, &x91, x89, x81,
496                                                       x78);
497     x92 = (x91 + x79);
498     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x93, &x94, 0x0, x69,
499                                                       x84);
500     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x95, &x96, x94, x71,
501                                                       x86);
502     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x97, &x98, x96, x73,
503                                                       x88);
504     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x99, &x100, x98, x75,
505                                                       x90);
506     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x101, &x102, x100, x77,
507                                                       x92);
508     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x103, &x104, x93,
509                                                  UINT64_C(0xdbf951d5883b2b2f));
510     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x105, &x106, x103,
511                                                  UINT64_C(0x8000000000000000));
512     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x107, &x108, x103,
513                                                  UINT16_C(0x431));
514     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x109, &x110, 0x0, x93,
515                                                       x107);
516     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x111, &x112, x110, x95,
517                                                       x108);
518     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x113, &x114, x112, x97,
519                                                       0x0);
520     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x115, &x116, x114, x99,
521                                                       x105);
522     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x117, &x118, x116, x101,
523                                                       x106);
524     x119 = ((uint64_t)x118 + x102);
525     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x120, &x121, x3, (arg2[3]));
526     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x122, &x123, x3, (arg2[2]));
527     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x124, &x125, x3, (arg2[1]));
528     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x126, &x127, x3, (arg2[0]));
529     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x128, &x129, 0x0, x127,
530                                                       x124);
531     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x130, &x131, x129, x125,
532                                                       x122);
533     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x132, &x133, x131, x123,
534                                                       x120);
535     x134 = (x133 + x121);
536     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x135, &x136, 0x0, x111,
537                                                       x126);
538     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x137, &x138, x136, x113,
539                                                       x128);
540     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x139, &x140, x138, x115,
541                                                       x130);
542     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x141, &x142, x140, x117,
543                                                       x132);
544     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x143, &x144, x142, x119,
545                                                       x134);
546     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x145, &x146, x135,
547                                                  UINT64_C(0xdbf951d5883b2b2f));
548     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x147, &x148, x145,
549                                                  UINT64_C(0x8000000000000000));
550     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x149, &x150, x145,
551                                                  UINT16_C(0x431));
552     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x151, &x152, 0x0, x135,
553                                                       x149);
554     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x153, &x154, x152, x137,
555                                                       x150);
556     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x155, &x156, x154, x139,
557                                                       0x0);
558     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x157, &x158, x156, x141,
559                                                       x147);
560     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x159, &x160, x158, x143,
561                                                       x148);
562     x161 = ((uint64_t)x160 + x144);
563     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x162, &x163, 0x0, x153,
564                                                        UINT16_C(0x431));
565     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x164, &x165, x163, x155,
566                                                        0x0);
567     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x166, &x167, x165, x157,
568                                                        0x0);
569     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(
570         &x168, &x169, x167, x159, UINT64_C(0x8000000000000000));
571     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x170, &x171, x169, x161,
572                                                        0x0);
573     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x172, x171, x162, x153);
574     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x173, x171, x164, x155);
575     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x174, x171, x166, x157);
576     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x175, x171, x168, x159);
577     out1[0] = x172;
578     out1[1] = x173;
579     out1[2] = x174;
580     out1[3] = x175;
581 }
582
583 /*
584  * The function fiat_id_GostR3410_2001_TestParamSet_square squares a field element in the Montgomery domain.
585  * Preconditions:
586  *   0 ≤ eval arg1 < m
587  * Postconditions:
588  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg1)) mod m
589  *   0 ≤ eval out1 < m
590  *
591  * Input Bounds:
592  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
593  * Output Bounds:
594  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
595  */
596 static void fiat_id_GostR3410_2001_TestParamSet_square(uint64_t out1[4],
597                                                        const uint64_t arg1[4]) {
598     uint64_t x1;
599     uint64_t x2;
600     uint64_t x3;
601     uint64_t x4;
602     uint64_t x5;
603     uint64_t x6;
604     uint64_t x7;
605     uint64_t x8;
606     uint64_t x9;
607     uint64_t x10;
608     uint64_t x11;
609     uint64_t x12;
610     uint64_t x13;
611     fiat_id_GostR3410_2001_TestParamSet_uint1 x14;
612     uint64_t x15;
613     fiat_id_GostR3410_2001_TestParamSet_uint1 x16;
614     uint64_t x17;
615     fiat_id_GostR3410_2001_TestParamSet_uint1 x18;
616     uint64_t x19;
617     uint64_t x20;
618     uint64_t x21;
619     uint64_t x22;
620     uint64_t x23;
621     uint64_t x24;
622     uint64_t x25;
623     uint64_t x26;
624     fiat_id_GostR3410_2001_TestParamSet_uint1 x27;
625     uint64_t x28;
626     fiat_id_GostR3410_2001_TestParamSet_uint1 x29;
627     uint64_t x30;
628     fiat_id_GostR3410_2001_TestParamSet_uint1 x31;
629     uint64_t x32;
630     fiat_id_GostR3410_2001_TestParamSet_uint1 x33;
631     uint64_t x34;
632     fiat_id_GostR3410_2001_TestParamSet_uint1 x35;
633     uint64_t x36;
634     uint64_t x37;
635     uint64_t x38;
636     uint64_t x39;
637     uint64_t x40;
638     uint64_t x41;
639     uint64_t x42;
640     uint64_t x43;
641     uint64_t x44;
642     fiat_id_GostR3410_2001_TestParamSet_uint1 x45;
643     uint64_t x46;
644     fiat_id_GostR3410_2001_TestParamSet_uint1 x47;
645     uint64_t x48;
646     fiat_id_GostR3410_2001_TestParamSet_uint1 x49;
647     uint64_t x50;
648     uint64_t x51;
649     fiat_id_GostR3410_2001_TestParamSet_uint1 x52;
650     uint64_t x53;
651     fiat_id_GostR3410_2001_TestParamSet_uint1 x54;
652     uint64_t x55;
653     fiat_id_GostR3410_2001_TestParamSet_uint1 x56;
654     uint64_t x57;
655     fiat_id_GostR3410_2001_TestParamSet_uint1 x58;
656     uint64_t x59;
657     fiat_id_GostR3410_2001_TestParamSet_uint1 x60;
658     uint64_t x61;
659     uint64_t x62;
660     uint64_t x63;
661     uint64_t x64;
662     uint64_t x65;
663     uint64_t x66;
664     uint64_t x67;
665     fiat_id_GostR3410_2001_TestParamSet_uint1 x68;
666     uint64_t x69;
667     fiat_id_GostR3410_2001_TestParamSet_uint1 x70;
668     uint64_t x71;
669     fiat_id_GostR3410_2001_TestParamSet_uint1 x72;
670     uint64_t x73;
671     fiat_id_GostR3410_2001_TestParamSet_uint1 x74;
672     uint64_t x75;
673     fiat_id_GostR3410_2001_TestParamSet_uint1 x76;
674     uint64_t x77;
675     uint64_t x78;
676     uint64_t x79;
677     uint64_t x80;
678     uint64_t x81;
679     uint64_t x82;
680     uint64_t x83;
681     uint64_t x84;
682     uint64_t x85;
683     uint64_t x86;
684     fiat_id_GostR3410_2001_TestParamSet_uint1 x87;
685     uint64_t x88;
686     fiat_id_GostR3410_2001_TestParamSet_uint1 x89;
687     uint64_t x90;
688     fiat_id_GostR3410_2001_TestParamSet_uint1 x91;
689     uint64_t x92;
690     uint64_t x93;
691     fiat_id_GostR3410_2001_TestParamSet_uint1 x94;
692     uint64_t x95;
693     fiat_id_GostR3410_2001_TestParamSet_uint1 x96;
694     uint64_t x97;
695     fiat_id_GostR3410_2001_TestParamSet_uint1 x98;
696     uint64_t x99;
697     fiat_id_GostR3410_2001_TestParamSet_uint1 x100;
698     uint64_t x101;
699     fiat_id_GostR3410_2001_TestParamSet_uint1 x102;
700     uint64_t x103;
701     uint64_t x104;
702     uint64_t x105;
703     uint64_t x106;
704     uint64_t x107;
705     uint64_t x108;
706     uint64_t x109;
707     fiat_id_GostR3410_2001_TestParamSet_uint1 x110;
708     uint64_t x111;
709     fiat_id_GostR3410_2001_TestParamSet_uint1 x112;
710     uint64_t x113;
711     fiat_id_GostR3410_2001_TestParamSet_uint1 x114;
712     uint64_t x115;
713     fiat_id_GostR3410_2001_TestParamSet_uint1 x116;
714     uint64_t x117;
715     fiat_id_GostR3410_2001_TestParamSet_uint1 x118;
716     uint64_t x119;
717     uint64_t x120;
718     uint64_t x121;
719     uint64_t x122;
720     uint64_t x123;
721     uint64_t x124;
722     uint64_t x125;
723     uint64_t x126;
724     uint64_t x127;
725     uint64_t x128;
726     fiat_id_GostR3410_2001_TestParamSet_uint1 x129;
727     uint64_t x130;
728     fiat_id_GostR3410_2001_TestParamSet_uint1 x131;
729     uint64_t x132;
730     fiat_id_GostR3410_2001_TestParamSet_uint1 x133;
731     uint64_t x134;
732     uint64_t x135;
733     fiat_id_GostR3410_2001_TestParamSet_uint1 x136;
734     uint64_t x137;
735     fiat_id_GostR3410_2001_TestParamSet_uint1 x138;
736     uint64_t x139;
737     fiat_id_GostR3410_2001_TestParamSet_uint1 x140;
738     uint64_t x141;
739     fiat_id_GostR3410_2001_TestParamSet_uint1 x142;
740     uint64_t x143;
741     fiat_id_GostR3410_2001_TestParamSet_uint1 x144;
742     uint64_t x145;
743     uint64_t x146;
744     uint64_t x147;
745     uint64_t x148;
746     uint64_t x149;
747     uint64_t x150;
748     uint64_t x151;
749     fiat_id_GostR3410_2001_TestParamSet_uint1 x152;
750     uint64_t x153;
751     fiat_id_GostR3410_2001_TestParamSet_uint1 x154;
752     uint64_t x155;
753     fiat_id_GostR3410_2001_TestParamSet_uint1 x156;
754     uint64_t x157;
755     fiat_id_GostR3410_2001_TestParamSet_uint1 x158;
756     uint64_t x159;
757     fiat_id_GostR3410_2001_TestParamSet_uint1 x160;
758     uint64_t x161;
759     uint64_t x162;
760     fiat_id_GostR3410_2001_TestParamSet_uint1 x163;
761     uint64_t x164;
762     fiat_id_GostR3410_2001_TestParamSet_uint1 x165;
763     uint64_t x166;
764     fiat_id_GostR3410_2001_TestParamSet_uint1 x167;
765     uint64_t x168;
766     fiat_id_GostR3410_2001_TestParamSet_uint1 x169;
767     uint64_t x170;
768     fiat_id_GostR3410_2001_TestParamSet_uint1 x171;
769     uint64_t x172;
770     uint64_t x173;
771     uint64_t x174;
772     uint64_t x175;
773     x1 = (arg1[1]);
774     x2 = (arg1[2]);
775     x3 = (arg1[3]);
776     x4 = (arg1[0]);
777     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x5, &x6, x4, (arg1[3]));
778     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x7, &x8, x4, (arg1[2]));
779     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x9, &x10, x4, (arg1[1]));
780     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x11, &x12, x4, (arg1[0]));
781     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x13, &x14, 0x0, x12, x9);
782     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x15, &x16, x14, x10, x7);
783     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x17, &x18, x16, x8, x5);
784     x19 = (x18 + x6);
785     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x20, &x21, x11,
786                                                  UINT64_C(0xdbf951d5883b2b2f));
787     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x22, &x23, x20,
788                                                  UINT64_C(0x8000000000000000));
789     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x24, &x25, x20,
790                                                  UINT16_C(0x431));
791     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x26, &x27, 0x0, x11,
792                                                       x24);
793     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x28, &x29, x27, x13,
794                                                       x25);
795     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x30, &x31, x29, x15,
796                                                       0x0);
797     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x32, &x33, x31, x17,
798                                                       x22);
799     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x34, &x35, x33, x19,
800                                                       x23);
801     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x36, &x37, x1, (arg1[3]));
802     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x38, &x39, x1, (arg1[2]));
803     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x40, &x41, x1, (arg1[1]));
804     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x42, &x43, x1, (arg1[0]));
805     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x44, &x45, 0x0, x43,
806                                                       x40);
807     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x46, &x47, x45, x41,
808                                                       x38);
809     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x48, &x49, x47, x39,
810                                                       x36);
811     x50 = (x49 + x37);
812     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x51, &x52, 0x0, x28,
813                                                       x42);
814     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x53, &x54, x52, x30,
815                                                       x44);
816     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x55, &x56, x54, x32,
817                                                       x46);
818     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x57, &x58, x56, x34,
819                                                       x48);
820     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x59, &x60, x58, x35,
821                                                       x50);
822     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x61, &x62, x51,
823                                                  UINT64_C(0xdbf951d5883b2b2f));
824     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x63, &x64, x61,
825                                                  UINT64_C(0x8000000000000000));
826     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x65, &x66, x61,
827                                                  UINT16_C(0x431));
828     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x67, &x68, 0x0, x51,
829                                                       x65);
830     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x69, &x70, x68, x53,
831                                                       x66);
832     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x71, &x72, x70, x55,
833                                                       0x0);
834     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x73, &x74, x72, x57,
835                                                       x63);
836     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x75, &x76, x74, x59,
837                                                       x64);
838     x77 = ((uint64_t)x76 + x60);
839     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x78, &x79, x2, (arg1[3]));
840     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x80, &x81, x2, (arg1[2]));
841     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x82, &x83, x2, (arg1[1]));
842     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x84, &x85, x2, (arg1[0]));
843     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x86, &x87, 0x0, x85,
844                                                       x82);
845     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x88, &x89, x87, x83,
846                                                       x80);
847     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x90, &x91, x89, x81,
848                                                       x78);
849     x92 = (x91 + x79);
850     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x93, &x94, 0x0, x69,
851                                                       x84);
852     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x95, &x96, x94, x71,
853                                                       x86);
854     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x97, &x98, x96, x73,
855                                                       x88);
856     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x99, &x100, x98, x75,
857                                                       x90);
858     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x101, &x102, x100, x77,
859                                                       x92);
860     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x103, &x104, x93,
861                                                  UINT64_C(0xdbf951d5883b2b2f));
862     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x105, &x106, x103,
863                                                  UINT64_C(0x8000000000000000));
864     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x107, &x108, x103,
865                                                  UINT16_C(0x431));
866     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x109, &x110, 0x0, x93,
867                                                       x107);
868     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x111, &x112, x110, x95,
869                                                       x108);
870     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x113, &x114, x112, x97,
871                                                       0x0);
872     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x115, &x116, x114, x99,
873                                                       x105);
874     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x117, &x118, x116, x101,
875                                                       x106);
876     x119 = ((uint64_t)x118 + x102);
877     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x120, &x121, x3, (arg1[3]));
878     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x122, &x123, x3, (arg1[2]));
879     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x124, &x125, x3, (arg1[1]));
880     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x126, &x127, x3, (arg1[0]));
881     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x128, &x129, 0x0, x127,
882                                                       x124);
883     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x130, &x131, x129, x125,
884                                                       x122);
885     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x132, &x133, x131, x123,
886                                                       x120);
887     x134 = (x133 + x121);
888     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x135, &x136, 0x0, x111,
889                                                       x126);
890     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x137, &x138, x136, x113,
891                                                       x128);
892     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x139, &x140, x138, x115,
893                                                       x130);
894     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x141, &x142, x140, x117,
895                                                       x132);
896     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x143, &x144, x142, x119,
897                                                       x134);
898     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x145, &x146, x135,
899                                                  UINT64_C(0xdbf951d5883b2b2f));
900     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x147, &x148, x145,
901                                                  UINT64_C(0x8000000000000000));
902     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x149, &x150, x145,
903                                                  UINT16_C(0x431));
904     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x151, &x152, 0x0, x135,
905                                                       x149);
906     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x153, &x154, x152, x137,
907                                                       x150);
908     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x155, &x156, x154, x139,
909                                                       0x0);
910     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x157, &x158, x156, x141,
911                                                       x147);
912     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x159, &x160, x158, x143,
913                                                       x148);
914     x161 = ((uint64_t)x160 + x144);
915     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x162, &x163, 0x0, x153,
916                                                        UINT16_C(0x431));
917     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x164, &x165, x163, x155,
918                                                        0x0);
919     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x166, &x167, x165, x157,
920                                                        0x0);
921     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(
922         &x168, &x169, x167, x159, UINT64_C(0x8000000000000000));
923     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x170, &x171, x169, x161,
924                                                        0x0);
925     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x172, x171, x162, x153);
926     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x173, x171, x164, x155);
927     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x174, x171, x166, x157);
928     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x175, x171, x168, x159);
929     out1[0] = x172;
930     out1[1] = x173;
931     out1[2] = x174;
932     out1[3] = x175;
933 }
934
935 /*
936  * The function fiat_id_GostR3410_2001_TestParamSet_add adds two field elements in the Montgomery domain.
937  * Preconditions:
938  *   0 ≤ eval arg1 < m
939  *   0 ≤ eval arg2 < m
940  * Postconditions:
941  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) + eval (from_montgomery arg2)) mod m
942  *   0 ≤ eval out1 < m
943  *
944  * Input Bounds:
945  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
946  *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
947  * Output Bounds:
948  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
949  */
950 static void fiat_id_GostR3410_2001_TestParamSet_add(uint64_t out1[4],
951                                                     const uint64_t arg1[4],
952                                                     const uint64_t arg2[4]) {
953     uint64_t x1;
954     fiat_id_GostR3410_2001_TestParamSet_uint1 x2;
955     uint64_t x3;
956     fiat_id_GostR3410_2001_TestParamSet_uint1 x4;
957     uint64_t x5;
958     fiat_id_GostR3410_2001_TestParamSet_uint1 x6;
959     uint64_t x7;
960     fiat_id_GostR3410_2001_TestParamSet_uint1 x8;
961     uint64_t x9;
962     fiat_id_GostR3410_2001_TestParamSet_uint1 x10;
963     uint64_t x11;
964     fiat_id_GostR3410_2001_TestParamSet_uint1 x12;
965     uint64_t x13;
966     fiat_id_GostR3410_2001_TestParamSet_uint1 x14;
967     uint64_t x15;
968     fiat_id_GostR3410_2001_TestParamSet_uint1 x16;
969     uint64_t x17;
970     fiat_id_GostR3410_2001_TestParamSet_uint1 x18;
971     uint64_t x19;
972     uint64_t x20;
973     uint64_t x21;
974     uint64_t x22;
975     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x1, &x2, 0x0, (arg1[0]),
976                                                       (arg2[0]));
977     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x3, &x4, x2, (arg1[1]),
978                                                       (arg2[1]));
979     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x5, &x6, x4, (arg1[2]),
980                                                       (arg2[2]));
981     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x7, &x8, x6, (arg1[3]),
982                                                       (arg2[3]));
983     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x9, &x10, 0x0, x1,
984                                                        UINT16_C(0x431));
985     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x11, &x12, x10, x3,
986                                                        0x0);
987     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x13, &x14, x12, x5,
988                                                        0x0);
989     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(
990         &x15, &x16, x14, x7, UINT64_C(0x8000000000000000));
991     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x17, &x18, x16, x8,
992                                                        0x0);
993     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x19, x18, x9, x1);
994     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x20, x18, x11, x3);
995     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x21, x18, x13, x5);
996     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x22, x18, x15, x7);
997     out1[0] = x19;
998     out1[1] = x20;
999     out1[2] = x21;
1000     out1[3] = x22;
1001 }
1002
1003 /*
1004  * The function fiat_id_GostR3410_2001_TestParamSet_sub subtracts two field elements in the Montgomery domain.
1005  * Preconditions:
1006  *   0 ≤ eval arg1 < m
1007  *   0 ≤ eval arg2 < m
1008  * Postconditions:
1009  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) - eval (from_montgomery arg2)) mod m
1010  *   0 ≤ eval out1 < m
1011  *
1012  * Input Bounds:
1013  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1014  *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1015  * Output Bounds:
1016  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1017  */
1018 static void fiat_id_GostR3410_2001_TestParamSet_sub(uint64_t out1[4],
1019                                                     const uint64_t arg1[4],
1020                                                     const uint64_t arg2[4]) {
1021     uint64_t x1;
1022     fiat_id_GostR3410_2001_TestParamSet_uint1 x2;
1023     uint64_t x3;
1024     fiat_id_GostR3410_2001_TestParamSet_uint1 x4;
1025     uint64_t x5;
1026     fiat_id_GostR3410_2001_TestParamSet_uint1 x6;
1027     uint64_t x7;
1028     fiat_id_GostR3410_2001_TestParamSet_uint1 x8;
1029     uint64_t x9;
1030     uint64_t x10;
1031     fiat_id_GostR3410_2001_TestParamSet_uint1 x11;
1032     uint64_t x12;
1033     fiat_id_GostR3410_2001_TestParamSet_uint1 x13;
1034     uint64_t x14;
1035     fiat_id_GostR3410_2001_TestParamSet_uint1 x15;
1036     uint64_t x16;
1037     fiat_id_GostR3410_2001_TestParamSet_uint1 x17;
1038     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x1, &x2, 0x0, (arg1[0]),
1039                                                        (arg2[0]));
1040     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x3, &x4, x2, (arg1[1]),
1041                                                        (arg2[1]));
1042     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x5, &x6, x4, (arg1[2]),
1043                                                        (arg2[2]));
1044     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x7, &x8, x6, (arg1[3]),
1045                                                        (arg2[3]));
1046     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(
1047         &x9, x8, 0x0, UINT64_C(0xffffffffffffffff));
1048     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x10, &x11, 0x0, x1,
1049                                                       (x9 & UINT16_C(0x431)));
1050     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x12, &x13, x11, x3, 0x0);
1051     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x14, &x15, x13, x5, 0x0);
1052     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(
1053         &x16, &x17, x15, x7, (x9 & UINT64_C(0x8000000000000000)));
1054     out1[0] = x10;
1055     out1[1] = x12;
1056     out1[2] = x14;
1057     out1[3] = x16;
1058 }
1059
1060 /*
1061  * The function fiat_id_GostR3410_2001_TestParamSet_opp negates a field element in the Montgomery domain.
1062  * Preconditions:
1063  *   0 ≤ eval arg1 < m
1064  * Postconditions:
1065  *   eval (from_montgomery out1) mod m = -eval (from_montgomery arg1) mod m
1066  *   0 ≤ eval out1 < m
1067  *
1068  * Input Bounds:
1069  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1070  * Output Bounds:
1071  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1072  */
1073 static void fiat_id_GostR3410_2001_TestParamSet_opp(uint64_t out1[4],
1074                                                     const uint64_t arg1[4]) {
1075     uint64_t x1;
1076     fiat_id_GostR3410_2001_TestParamSet_uint1 x2;
1077     uint64_t x3;
1078     fiat_id_GostR3410_2001_TestParamSet_uint1 x4;
1079     uint64_t x5;
1080     fiat_id_GostR3410_2001_TestParamSet_uint1 x6;
1081     uint64_t x7;
1082     fiat_id_GostR3410_2001_TestParamSet_uint1 x8;
1083     uint64_t x9;
1084     uint64_t x10;
1085     fiat_id_GostR3410_2001_TestParamSet_uint1 x11;
1086     uint64_t x12;
1087     fiat_id_GostR3410_2001_TestParamSet_uint1 x13;
1088     uint64_t x14;
1089     fiat_id_GostR3410_2001_TestParamSet_uint1 x15;
1090     uint64_t x16;
1091     fiat_id_GostR3410_2001_TestParamSet_uint1 x17;
1092     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x1, &x2, 0x0, 0x0,
1093                                                        (arg1[0]));
1094     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x3, &x4, x2, 0x0,
1095                                                        (arg1[1]));
1096     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x5, &x6, x4, 0x0,
1097                                                        (arg1[2]));
1098     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x7, &x8, x6, 0x0,
1099                                                        (arg1[3]));
1100     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(
1101         &x9, x8, 0x0, UINT64_C(0xffffffffffffffff));
1102     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x10, &x11, 0x0, x1,
1103                                                       (x9 & UINT16_C(0x431)));
1104     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x12, &x13, x11, x3, 0x0);
1105     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x14, &x15, x13, x5, 0x0);
1106     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(
1107         &x16, &x17, x15, x7, (x9 & UINT64_C(0x8000000000000000)));
1108     out1[0] = x10;
1109     out1[1] = x12;
1110     out1[2] = x14;
1111     out1[3] = x16;
1112 }
1113
1114 /*
1115  * The function fiat_id_GostR3410_2001_TestParamSet_from_montgomery translates a field element out of the Montgomery domain.
1116  * Preconditions:
1117  *   0 ≤ eval arg1 < m
1118  * Postconditions:
1119  *   eval out1 mod m = (eval arg1 * ((2^64)⁻¹ mod m)^4) mod m
1120  *   0 ≤ eval out1 < m
1121  *
1122  * Input Bounds:
1123  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1124  * Output Bounds:
1125  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1126  */
1127 static void fiat_id_GostR3410_2001_TestParamSet_from_montgomery(
1128     uint64_t out1[4], const uint64_t arg1[4]) {
1129     uint64_t x1;
1130     uint64_t x2;
1131     uint64_t x3;
1132     uint64_t x4;
1133     uint64_t x5;
1134     uint64_t x6;
1135     uint64_t x7;
1136     uint64_t x8;
1137     fiat_id_GostR3410_2001_TestParamSet_uint1 x9;
1138     uint64_t x10;
1139     fiat_id_GostR3410_2001_TestParamSet_uint1 x11;
1140     uint64_t x12;
1141     uint64_t x13;
1142     uint64_t x14;
1143     uint64_t x15;
1144     uint64_t x16;
1145     uint64_t x17;
1146     uint64_t x18;
1147     fiat_id_GostR3410_2001_TestParamSet_uint1 x19;
1148     uint64_t x20;
1149     fiat_id_GostR3410_2001_TestParamSet_uint1 x21;
1150     uint64_t x22;
1151     fiat_id_GostR3410_2001_TestParamSet_uint1 x23;
1152     uint64_t x24;
1153     fiat_id_GostR3410_2001_TestParamSet_uint1 x25;
1154     uint64_t x26;
1155     fiat_id_GostR3410_2001_TestParamSet_uint1 x27;
1156     uint64_t x28;
1157     uint64_t x29;
1158     uint64_t x30;
1159     uint64_t x31;
1160     uint64_t x32;
1161     uint64_t x33;
1162     uint64_t x34;
1163     fiat_id_GostR3410_2001_TestParamSet_uint1 x35;
1164     uint64_t x36;
1165     fiat_id_GostR3410_2001_TestParamSet_uint1 x37;
1166     uint64_t x38;
1167     fiat_id_GostR3410_2001_TestParamSet_uint1 x39;
1168     uint64_t x40;
1169     fiat_id_GostR3410_2001_TestParamSet_uint1 x41;
1170     uint64_t x42;
1171     fiat_id_GostR3410_2001_TestParamSet_uint1 x43;
1172     uint64_t x44;
1173     fiat_id_GostR3410_2001_TestParamSet_uint1 x45;
1174     uint64_t x46;
1175     fiat_id_GostR3410_2001_TestParamSet_uint1 x47;
1176     uint64_t x48;
1177     uint64_t x49;
1178     uint64_t x50;
1179     uint64_t x51;
1180     uint64_t x52;
1181     uint64_t x53;
1182     uint64_t x54;
1183     fiat_id_GostR3410_2001_TestParamSet_uint1 x55;
1184     uint64_t x56;
1185     fiat_id_GostR3410_2001_TestParamSet_uint1 x57;
1186     uint64_t x58;
1187     fiat_id_GostR3410_2001_TestParamSet_uint1 x59;
1188     uint64_t x60;
1189     fiat_id_GostR3410_2001_TestParamSet_uint1 x61;
1190     uint64_t x62;
1191     uint64_t x63;
1192     fiat_id_GostR3410_2001_TestParamSet_uint1 x64;
1193     uint64_t x65;
1194     fiat_id_GostR3410_2001_TestParamSet_uint1 x66;
1195     uint64_t x67;
1196     fiat_id_GostR3410_2001_TestParamSet_uint1 x68;
1197     uint64_t x69;
1198     fiat_id_GostR3410_2001_TestParamSet_uint1 x70;
1199     uint64_t x71;
1200     fiat_id_GostR3410_2001_TestParamSet_uint1 x72;
1201     uint64_t x73;
1202     uint64_t x74;
1203     uint64_t x75;
1204     uint64_t x76;
1205     x1 = (arg1[0]);
1206     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x2, &x3, x1,
1207                                                  UINT64_C(0xdbf951d5883b2b2f));
1208     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x4, &x5, x2,
1209                                                  UINT64_C(0x8000000000000000));
1210     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x6, &x7, x2, UINT16_C(0x431));
1211     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x8, &x9, 0x0, x1, x6);
1212     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x10, &x11, 0x0,
1213                                                       (x9 + x7), (arg1[1]));
1214     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x12, &x13, x10,
1215                                                  UINT64_C(0xdbf951d5883b2b2f));
1216     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x14, &x15, x12,
1217                                                  UINT64_C(0x8000000000000000));
1218     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x16, &x17, x12,
1219                                                  UINT16_C(0x431));
1220     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x18, &x19, 0x0, x5, x14);
1221     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x20, &x21, 0x0, x10,
1222                                                       x16);
1223     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(
1224         &x22, &x23, 0x0, (((uint64_t)x21 + x11) + x17), (arg1[2]));
1225     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x24, &x25, x23, x4, 0x0);
1226     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x26, &x27, x25, x18,
1227                                                       0x0);
1228     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x28, &x29, x22,
1229                                                  UINT64_C(0xdbf951d5883b2b2f));
1230     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x30, &x31, x28,
1231                                                  UINT64_C(0x8000000000000000));
1232     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x32, &x33, x28,
1233                                                  UINT16_C(0x431));
1234     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x34, &x35, 0x0, x22,
1235                                                       x32);
1236     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x36, &x37, x35, x24,
1237                                                       x33);
1238     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x38, &x39, x37, x26,
1239                                                       0x0);
1240     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x40, &x41, x39,
1241                                                       (x27 + (x19 + x15)), x30);
1242     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x42, &x43, 0x0, x36,
1243                                                       (arg1[3]));
1244     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x44, &x45, x43, x38,
1245                                                       0x0);
1246     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x46, &x47, x45, x40,
1247                                                       0x0);
1248     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x48, &x49, x42,
1249                                                  UINT64_C(0xdbf951d5883b2b2f));
1250     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x50, &x51, x48,
1251                                                  UINT64_C(0x8000000000000000));
1252     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x52, &x53, x48,
1253                                                  UINT16_C(0x431));
1254     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x54, &x55, 0x0, x42,
1255                                                       x52);
1256     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x56, &x57, x55, x44,
1257                                                       x53);
1258     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x58, &x59, x57, x46,
1259                                                       0x0);
1260     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x60, &x61, x59,
1261                                                       (x47 + (x41 + x31)), x50);
1262     x62 = (x61 + x51);
1263     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x63, &x64, 0x0, x56,
1264                                                        UINT16_C(0x431));
1265     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x65, &x66, x64, x58,
1266                                                        0x0);
1267     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x67, &x68, x66, x60,
1268                                                        0x0);
1269     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(
1270         &x69, &x70, x68, x62, UINT64_C(0x8000000000000000));
1271     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x71, &x72, x70, 0x0,
1272                                                        0x0);
1273     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x73, x72, x63, x56);
1274     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x74, x72, x65, x58);
1275     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x75, x72, x67, x60);
1276     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x76, x72, x69, x62);
1277     out1[0] = x73;
1278     out1[1] = x74;
1279     out1[2] = x75;
1280     out1[3] = x76;
1281 }
1282
1283 /*
1284  * The function fiat_id_GostR3410_2001_TestParamSet_to_montgomery translates a field element into the Montgomery domain.
1285  * Preconditions:
1286  *   0 ≤ eval arg1 < m
1287  * Postconditions:
1288  *   eval (from_montgomery out1) mod m = eval arg1 mod m
1289  *   0 ≤ eval out1 < m
1290  *
1291  * Input Bounds:
1292  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1293  * Output Bounds:
1294  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1295  */
1296 static void fiat_id_GostR3410_2001_TestParamSet_to_montgomery(
1297     uint64_t out1[4], const uint64_t arg1[4]) {
1298     uint64_t x1;
1299     uint64_t x2;
1300     uint64_t x3;
1301     uint64_t x4;
1302     uint64_t x5;
1303     uint64_t x6;
1304     uint64_t x7;
1305     uint64_t x8;
1306     uint64_t x9;
1307     uint64_t x10;
1308     uint64_t x11;
1309     fiat_id_GostR3410_2001_TestParamSet_uint1 x12;
1310     uint64_t x13;
1311     fiat_id_GostR3410_2001_TestParamSet_uint1 x14;
1312     uint64_t x15;
1313     uint64_t x16;
1314     uint64_t x17;
1315     uint64_t x18;
1316     uint64_t x19;
1317     uint64_t x20;
1318     uint64_t x21;
1319     fiat_id_GostR3410_2001_TestParamSet_uint1 x22;
1320     uint64_t x23;
1321     uint64_t x24;
1322     uint64_t x25;
1323     fiat_id_GostR3410_2001_TestParamSet_uint1 x26;
1324     uint64_t x27;
1325     fiat_id_GostR3410_2001_TestParamSet_uint1 x28;
1326     uint64_t x29;
1327     fiat_id_GostR3410_2001_TestParamSet_uint1 x30;
1328     uint64_t x31;
1329     fiat_id_GostR3410_2001_TestParamSet_uint1 x32;
1330     uint64_t x33;
1331     uint64_t x34;
1332     uint64_t x35;
1333     uint64_t x36;
1334     uint64_t x37;
1335     uint64_t x38;
1336     uint64_t x39;
1337     fiat_id_GostR3410_2001_TestParamSet_uint1 x40;
1338     uint64_t x41;
1339     fiat_id_GostR3410_2001_TestParamSet_uint1 x42;
1340     uint64_t x43;
1341     fiat_id_GostR3410_2001_TestParamSet_uint1 x44;
1342     uint64_t x45;
1343     fiat_id_GostR3410_2001_TestParamSet_uint1 x46;
1344     uint64_t x47;
1345     uint64_t x48;
1346     uint64_t x49;
1347     fiat_id_GostR3410_2001_TestParamSet_uint1 x50;
1348     uint64_t x51;
1349     fiat_id_GostR3410_2001_TestParamSet_uint1 x52;
1350     uint64_t x53;
1351     fiat_id_GostR3410_2001_TestParamSet_uint1 x54;
1352     uint64_t x55;
1353     uint64_t x56;
1354     uint64_t x57;
1355     uint64_t x58;
1356     uint64_t x59;
1357     uint64_t x60;
1358     uint64_t x61;
1359     fiat_id_GostR3410_2001_TestParamSet_uint1 x62;
1360     uint64_t x63;
1361     fiat_id_GostR3410_2001_TestParamSet_uint1 x64;
1362     uint64_t x65;
1363     fiat_id_GostR3410_2001_TestParamSet_uint1 x66;
1364     uint64_t x67;
1365     fiat_id_GostR3410_2001_TestParamSet_uint1 x68;
1366     uint64_t x69;
1367     uint64_t x70;
1368     fiat_id_GostR3410_2001_TestParamSet_uint1 x71;
1369     uint64_t x72;
1370     fiat_id_GostR3410_2001_TestParamSet_uint1 x73;
1371     uint64_t x74;
1372     fiat_id_GostR3410_2001_TestParamSet_uint1 x75;
1373     uint64_t x76;
1374     fiat_id_GostR3410_2001_TestParamSet_uint1 x77;
1375     uint64_t x78;
1376     fiat_id_GostR3410_2001_TestParamSet_uint1 x79;
1377     uint64_t x80;
1378     uint64_t x81;
1379     uint64_t x82;
1380     uint64_t x83;
1381     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x1, &x2, (arg1[0]),
1382                                                  UINT32_C(0x464584));
1383     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x3, &x4, x1,
1384                                                  UINT64_C(0xdbf951d5883b2b2f));
1385     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x5, &x6, x3,
1386                                                  UINT64_C(0x8000000000000000));
1387     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x7, &x8, x3, UINT16_C(0x431));
1388     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x9, &x10, (arg1[1]),
1389                                                  UINT32_C(0x464584));
1390     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x11, &x12, 0x0, x1, x7);
1391     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x13, &x14, 0x0,
1392                                                       ((x12 + x2) + x8), x9);
1393     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x15, &x16, x13,
1394                                                  UINT64_C(0xdbf951d5883b2b2f));
1395     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x17, &x18, x15,
1396                                                  UINT64_C(0x8000000000000000));
1397     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x19, &x20, x15,
1398                                                  UINT16_C(0x431));
1399     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x21, &x22, 0x0, x6, x17);
1400     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x23, &x24, (arg1[2]),
1401                                                  UINT32_C(0x464584));
1402     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x25, &x26, 0x0, x13,
1403                                                       x19);
1404     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(
1405         &x27, &x28, 0x0, ((x26 + (x14 + x10)) + x20), x23);
1406     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x29, &x30, x28, x5, x24);
1407     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x31, &x32, x30, x21,
1408                                                       0x0);
1409     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x33, &x34, x27,
1410                                                  UINT64_C(0xdbf951d5883b2b2f));
1411     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x35, &x36, x33,
1412                                                  UINT64_C(0x8000000000000000));
1413     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x37, &x38, x33,
1414                                                  UINT16_C(0x431));
1415     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x39, &x40, 0x0, x27,
1416                                                       x37);
1417     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x41, &x42, x40, x29,
1418                                                       x38);
1419     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x43, &x44, x42, x31,
1420                                                       0x0);
1421     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x45, &x46, x44,
1422                                                       (x32 + (x22 + x18)), x35);
1423     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x47, &x48, (arg1[3]),
1424                                                  UINT32_C(0x464584));
1425     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x49, &x50, 0x0, x41,
1426                                                       x47);
1427     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x51, &x52, x50, x43,
1428                                                       x48);
1429     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x53, &x54, x52, x45,
1430                                                       0x0);
1431     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x55, &x56, x49,
1432                                                  UINT64_C(0xdbf951d5883b2b2f));
1433     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x57, &x58, x55,
1434                                                  UINT64_C(0x8000000000000000));
1435     fiat_id_GostR3410_2001_TestParamSet_mulx_u64(&x59, &x60, x55,
1436                                                  UINT16_C(0x431));
1437     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x61, &x62, 0x0, x49,
1438                                                       x59);
1439     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x63, &x64, x62, x51,
1440                                                       x60);
1441     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x65, &x66, x64, x53,
1442                                                       0x0);
1443     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u64(&x67, &x68, x66,
1444                                                       (x54 + (x46 + x36)), x57);
1445     x69 = (x68 + x58);
1446     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x70, &x71, 0x0, x63,
1447                                                        UINT16_C(0x431));
1448     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x72, &x73, x71, x65,
1449                                                        0x0);
1450     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x74, &x75, x73, x67,
1451                                                        0x0);
1452     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(
1453         &x76, &x77, x75, x69, UINT64_C(0x8000000000000000));
1454     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u64(&x78, &x79, x77, 0x0,
1455                                                        0x0);
1456     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x80, x79, x70, x63);
1457     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x81, x79, x72, x65);
1458     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x82, x79, x74, x67);
1459     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x83, x79, x76, x69);
1460     out1[0] = x80;
1461     out1[1] = x81;
1462     out1[2] = x82;
1463     out1[3] = x83;
1464 }
1465
1466 /*
1467  * The function fiat_id_GostR3410_2001_TestParamSet_nonzero outputs a single non-zero word if the input is non-zero and zero otherwise.
1468  * Preconditions:
1469  *   0 ≤ eval arg1 < m
1470  * Postconditions:
1471  *   out1 = 0 ↔ eval (from_montgomery arg1) mod m = 0
1472  *
1473  * Input Bounds:
1474  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1475  * Output Bounds:
1476  *   out1: [0x0 ~> 0xffffffffffffffff]
1477  */
1478 static void fiat_id_GostR3410_2001_TestParamSet_nonzero(
1479     uint64_t *out1, const uint64_t arg1[4]) {
1480     uint64_t x1;
1481     x1 = ((arg1[0]) | ((arg1[1]) | ((arg1[2]) | (arg1[3]))));
1482     *out1 = x1;
1483 }
1484
1485 /*
1486  * The function fiat_id_GostR3410_2001_TestParamSet_selectznz is a multi-limb conditional select.
1487  * Postconditions:
1488  *   eval out1 = (if arg1 = 0 then eval arg2 else eval arg3)
1489  *
1490  * Input Bounds:
1491  *   arg1: [0x0 ~> 0x1]
1492  *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1493  *   arg3: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1494  * Output Bounds:
1495  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1496  */
1497 static void fiat_id_GostR3410_2001_TestParamSet_selectznz(
1498     uint64_t out1[4], fiat_id_GostR3410_2001_TestParamSet_uint1 arg1,
1499     const uint64_t arg2[4], const uint64_t arg3[4]) {
1500     uint64_t x1;
1501     uint64_t x2;
1502     uint64_t x3;
1503     uint64_t x4;
1504     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x1, arg1, (arg2[0]),
1505                                                     (arg3[0]));
1506     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x2, arg1, (arg2[1]),
1507                                                     (arg3[1]));
1508     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x3, arg1, (arg2[2]),
1509                                                     (arg3[2]));
1510     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u64(&x4, arg1, (arg2[3]),
1511                                                     (arg3[3]));
1512     out1[0] = x1;
1513     out1[1] = x2;
1514     out1[2] = x3;
1515     out1[3] = x4;
1516 }
1517
1518 /*
1519  * The function fiat_id_GostR3410_2001_TestParamSet_to_bytes serializes a field element NOT in the Montgomery domain to bytes in little-endian order.
1520  * Preconditions:
1521  *   0 ≤ eval arg1 < m
1522  * Postconditions:
1523  *   out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..31]
1524  *
1525  * Input Bounds:
1526  *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1527  * Output Bounds:
1528  *   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]]
1529  */
1530 static void fiat_id_GostR3410_2001_TestParamSet_to_bytes(
1531     uint8_t out1[32], const uint64_t arg1[4]) {
1532     uint64_t x1;
1533     uint64_t x2;
1534     uint64_t x3;
1535     uint64_t x4;
1536     uint8_t x5;
1537     uint64_t x6;
1538     uint8_t x7;
1539     uint64_t x8;
1540     uint8_t x9;
1541     uint64_t x10;
1542     uint8_t x11;
1543     uint64_t x12;
1544     uint8_t x13;
1545     uint64_t x14;
1546     uint8_t x15;
1547     uint64_t x16;
1548     uint8_t x17;
1549     uint8_t x18;
1550     uint8_t x19;
1551     uint64_t x20;
1552     uint8_t x21;
1553     uint64_t x22;
1554     uint8_t x23;
1555     uint64_t x24;
1556     uint8_t x25;
1557     uint64_t x26;
1558     uint8_t x27;
1559     uint64_t x28;
1560     uint8_t x29;
1561     uint64_t x30;
1562     uint8_t x31;
1563     uint8_t x32;
1564     uint8_t x33;
1565     uint64_t x34;
1566     uint8_t x35;
1567     uint64_t x36;
1568     uint8_t x37;
1569     uint64_t x38;
1570     uint8_t x39;
1571     uint64_t x40;
1572     uint8_t x41;
1573     uint64_t x42;
1574     uint8_t x43;
1575     uint64_t x44;
1576     uint8_t x45;
1577     uint8_t x46;
1578     uint8_t x47;
1579     uint64_t x48;
1580     uint8_t x49;
1581     uint64_t x50;
1582     uint8_t x51;
1583     uint64_t x52;
1584     uint8_t x53;
1585     uint64_t x54;
1586     uint8_t x55;
1587     uint64_t x56;
1588     uint8_t x57;
1589     uint64_t x58;
1590     uint8_t x59;
1591     uint8_t x60;
1592     x1 = (arg1[3]);
1593     x2 = (arg1[2]);
1594     x3 = (arg1[1]);
1595     x4 = (arg1[0]);
1596     x5 = (uint8_t)(x4 & UINT8_C(0xff));
1597     x6 = (x4 >> 8);
1598     x7 = (uint8_t)(x6 & UINT8_C(0xff));
1599     x8 = (x6 >> 8);
1600     x9 = (uint8_t)(x8 & UINT8_C(0xff));
1601     x10 = (x8 >> 8);
1602     x11 = (uint8_t)(x10 & UINT8_C(0xff));
1603     x12 = (x10 >> 8);
1604     x13 = (uint8_t)(x12 & UINT8_C(0xff));
1605     x14 = (x12 >> 8);
1606     x15 = (uint8_t)(x14 & UINT8_C(0xff));
1607     x16 = (x14 >> 8);
1608     x17 = (uint8_t)(x16 & UINT8_C(0xff));
1609     x18 = (uint8_t)(x16 >> 8);
1610     x19 = (uint8_t)(x3 & UINT8_C(0xff));
1611     x20 = (x3 >> 8);
1612     x21 = (uint8_t)(x20 & UINT8_C(0xff));
1613     x22 = (x20 >> 8);
1614     x23 = (uint8_t)(x22 & UINT8_C(0xff));
1615     x24 = (x22 >> 8);
1616     x25 = (uint8_t)(x24 & UINT8_C(0xff));
1617     x26 = (x24 >> 8);
1618     x27 = (uint8_t)(x26 & UINT8_C(0xff));
1619     x28 = (x26 >> 8);
1620     x29 = (uint8_t)(x28 & UINT8_C(0xff));
1621     x30 = (x28 >> 8);
1622     x31 = (uint8_t)(x30 & UINT8_C(0xff));
1623     x32 = (uint8_t)(x30 >> 8);
1624     x33 = (uint8_t)(x2 & UINT8_C(0xff));
1625     x34 = (x2 >> 8);
1626     x35 = (uint8_t)(x34 & UINT8_C(0xff));
1627     x36 = (x34 >> 8);
1628     x37 = (uint8_t)(x36 & UINT8_C(0xff));
1629     x38 = (x36 >> 8);
1630     x39 = (uint8_t)(x38 & UINT8_C(0xff));
1631     x40 = (x38 >> 8);
1632     x41 = (uint8_t)(x40 & UINT8_C(0xff));
1633     x42 = (x40 >> 8);
1634     x43 = (uint8_t)(x42 & UINT8_C(0xff));
1635     x44 = (x42 >> 8);
1636     x45 = (uint8_t)(x44 & UINT8_C(0xff));
1637     x46 = (uint8_t)(x44 >> 8);
1638     x47 = (uint8_t)(x1 & UINT8_C(0xff));
1639     x48 = (x1 >> 8);
1640     x49 = (uint8_t)(x48 & UINT8_C(0xff));
1641     x50 = (x48 >> 8);
1642     x51 = (uint8_t)(x50 & UINT8_C(0xff));
1643     x52 = (x50 >> 8);
1644     x53 = (uint8_t)(x52 & UINT8_C(0xff));
1645     x54 = (x52 >> 8);
1646     x55 = (uint8_t)(x54 & UINT8_C(0xff));
1647     x56 = (x54 >> 8);
1648     x57 = (uint8_t)(x56 & UINT8_C(0xff));
1649     x58 = (x56 >> 8);
1650     x59 = (uint8_t)(x58 & UINT8_C(0xff));
1651     x60 = (uint8_t)(x58 >> 8);
1652     out1[0] = x5;
1653     out1[1] = x7;
1654     out1[2] = x9;
1655     out1[3] = x11;
1656     out1[4] = x13;
1657     out1[5] = x15;
1658     out1[6] = x17;
1659     out1[7] = x18;
1660     out1[8] = x19;
1661     out1[9] = x21;
1662     out1[10] = x23;
1663     out1[11] = x25;
1664     out1[12] = x27;
1665     out1[13] = x29;
1666     out1[14] = x31;
1667     out1[15] = x32;
1668     out1[16] = x33;
1669     out1[17] = x35;
1670     out1[18] = x37;
1671     out1[19] = x39;
1672     out1[20] = x41;
1673     out1[21] = x43;
1674     out1[22] = x45;
1675     out1[23] = x46;
1676     out1[24] = x47;
1677     out1[25] = x49;
1678     out1[26] = x51;
1679     out1[27] = x53;
1680     out1[28] = x55;
1681     out1[29] = x57;
1682     out1[30] = x59;
1683     out1[31] = x60;
1684 }
1685
1686 /*
1687  * The function fiat_id_GostR3410_2001_TestParamSet_from_bytes deserializes a field element NOT in the Montgomery domain from bytes in little-endian order.
1688  * Preconditions:
1689  *   0 ≤ bytes_eval arg1 < m
1690  * Postconditions:
1691  *   eval out1 mod m = bytes_eval arg1 mod m
1692  *   0 ≤ eval out1 < m
1693  *
1694  * Input Bounds:
1695  *   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]]
1696  * Output Bounds:
1697  *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
1698  */
1699 static void fiat_id_GostR3410_2001_TestParamSet_from_bytes(
1700     uint64_t out1[4], const uint8_t arg1[32]) {
1701     uint64_t x1;
1702     uint64_t x2;
1703     uint64_t x3;
1704     uint64_t x4;
1705     uint64_t x5;
1706     uint64_t x6;
1707     uint64_t x7;
1708     uint8_t x8;
1709     uint64_t x9;
1710     uint64_t x10;
1711     uint64_t x11;
1712     uint64_t x12;
1713     uint64_t x13;
1714     uint64_t x14;
1715     uint64_t x15;
1716     uint8_t x16;
1717     uint64_t x17;
1718     uint64_t x18;
1719     uint64_t x19;
1720     uint64_t x20;
1721     uint64_t x21;
1722     uint64_t x22;
1723     uint64_t x23;
1724     uint8_t x24;
1725     uint64_t x25;
1726     uint64_t x26;
1727     uint64_t x27;
1728     uint64_t x28;
1729     uint64_t x29;
1730     uint64_t x30;
1731     uint64_t x31;
1732     uint8_t x32;
1733     uint64_t x33;
1734     uint64_t x34;
1735     uint64_t x35;
1736     uint64_t x36;
1737     uint64_t x37;
1738     uint64_t x38;
1739     uint64_t x39;
1740     uint64_t x40;
1741     uint64_t x41;
1742     uint64_t x42;
1743     uint64_t x43;
1744     uint64_t x44;
1745     uint64_t x45;
1746     uint64_t x46;
1747     uint64_t x47;
1748     uint64_t x48;
1749     uint64_t x49;
1750     uint64_t x50;
1751     uint64_t x51;
1752     uint64_t x52;
1753     uint64_t x53;
1754     uint64_t x54;
1755     uint64_t x55;
1756     uint64_t x56;
1757     uint64_t x57;
1758     uint64_t x58;
1759     uint64_t x59;
1760     uint64_t x60;
1761     x1 = ((uint64_t)(arg1[31]) << 56);
1762     x2 = ((uint64_t)(arg1[30]) << 48);
1763     x3 = ((uint64_t)(arg1[29]) << 40);
1764     x4 = ((uint64_t)(arg1[28]) << 32);
1765     x5 = ((uint64_t)(arg1[27]) << 24);
1766     x6 = ((uint64_t)(arg1[26]) << 16);
1767     x7 = ((uint64_t)(arg1[25]) << 8);
1768     x8 = (arg1[24]);
1769     x9 = ((uint64_t)(arg1[23]) << 56);
1770     x10 = ((uint64_t)(arg1[22]) << 48);
1771     x11 = ((uint64_t)(arg1[21]) << 40);
1772     x12 = ((uint64_t)(arg1[20]) << 32);
1773     x13 = ((uint64_t)(arg1[19]) << 24);
1774     x14 = ((uint64_t)(arg1[18]) << 16);
1775     x15 = ((uint64_t)(arg1[17]) << 8);
1776     x16 = (arg1[16]);
1777     x17 = ((uint64_t)(arg1[15]) << 56);
1778     x18 = ((uint64_t)(arg1[14]) << 48);
1779     x19 = ((uint64_t)(arg1[13]) << 40);
1780     x20 = ((uint64_t)(arg1[12]) << 32);
1781     x21 = ((uint64_t)(arg1[11]) << 24);
1782     x22 = ((uint64_t)(arg1[10]) << 16);
1783     x23 = ((uint64_t)(arg1[9]) << 8);
1784     x24 = (arg1[8]);
1785     x25 = ((uint64_t)(arg1[7]) << 56);
1786     x26 = ((uint64_t)(arg1[6]) << 48);
1787     x27 = ((uint64_t)(arg1[5]) << 40);
1788     x28 = ((uint64_t)(arg1[4]) << 32);
1789     x29 = ((uint64_t)(arg1[3]) << 24);
1790     x30 = ((uint64_t)(arg1[2]) << 16);
1791     x31 = ((uint64_t)(arg1[1]) << 8);
1792     x32 = (arg1[0]);
1793     x33 = (x31 + (uint64_t)x32);
1794     x34 = (x30 + x33);
1795     x35 = (x29 + x34);
1796     x36 = (x28 + x35);
1797     x37 = (x27 + x36);
1798     x38 = (x26 + x37);
1799     x39 = (x25 + x38);
1800     x40 = (x23 + (uint64_t)x24);
1801     x41 = (x22 + x40);
1802     x42 = (x21 + x41);
1803     x43 = (x20 + x42);
1804     x44 = (x19 + x43);
1805     x45 = (x18 + x44);
1806     x46 = (x17 + x45);
1807     x47 = (x15 + (uint64_t)x16);
1808     x48 = (x14 + x47);
1809     x49 = (x13 + x48);
1810     x50 = (x12 + x49);
1811     x51 = (x11 + x50);
1812     x52 = (x10 + x51);
1813     x53 = (x9 + x52);
1814     x54 = (x7 + (uint64_t)x8);
1815     x55 = (x6 + x54);
1816     x56 = (x5 + x55);
1817     x57 = (x4 + x56);
1818     x58 = (x3 + x57);
1819     x59 = (x2 + x58);
1820     x60 = (x1 + x59);
1821     out1[0] = x39;
1822     out1[1] = x46;
1823     out1[2] = x53;
1824     out1[3] = x60;
1825 }
1826
1827 /* END verbatim fiat code */
1828
1829 /*-
1830  * Finite field inversion via FLT.
1831  * NB: this is not a real Fiat function, just named that way for consistency.
1832  * Autogenerated: ecp/id_GostR3410_2001_TestParamSet/fe_inv.op3
1833  * sliding window w=5
1834  */
1835 static void fiat_id_GostR3410_2001_TestParamSet_inv(fe_t output,
1836                                                     const fe_t t1) {
1837     int i;
1838     /* temporary variables */
1839     fe_t acc, t15;
1840
1841     fiat_id_GostR3410_2001_TestParamSet_square(acc, t1);
1842     fiat_id_GostR3410_2001_TestParamSet_mul(t15, t1, acc);
1843     for (i = 0; i < 6; i++)
1844         fiat_id_GostR3410_2001_TestParamSet_mul(t15, t15, acc);
1845     fiat_id_GostR3410_2001_TestParamSet_square(acc, t1);
1846     for (i = 0; i < 244; i++)
1847         fiat_id_GostR3410_2001_TestParamSet_square(acc, acc);
1848     fiat_id_GostR3410_2001_TestParamSet_mul(acc, acc, t1);
1849     for (i = 0; i < 5; i++)
1850         fiat_id_GostR3410_2001_TestParamSet_square(acc, acc);
1851     fiat_id_GostR3410_2001_TestParamSet_mul(acc, acc, t1);
1852     for (i = 0; i < 5; i++)
1853         fiat_id_GostR3410_2001_TestParamSet_square(acc, acc);
1854     fiat_id_GostR3410_2001_TestParamSet_mul(output, acc, t15);
1855 }
1856
1857 /* curve coefficient constants */
1858
1859 static const limb_t const_one[4] = {
1860     UINT64_C(0xFFFFFFFFFFFFFBCF), UINT64_C(0xFFFFFFFFFFFFFFFF),
1861     UINT64_C(0xFFFFFFFFFFFFFFFF), UINT64_C(0x7FFFFFFFFFFFFFFF)};
1862
1863 static const limb_t const_a[4] = {
1864     UINT64_C(0xFFFFFFFFFFFFC983), UINT64_C(0xFFFFFFFFFFFFFFFF),
1865     UINT64_C(0xFFFFFFFFFFFFFFFF), UINT64_C(0x7FFFFFFFFFFFFFFF)};
1866
1867 static const limb_t const_b3[4] = {
1868     UINT64_C(0x81733EE96AEAB71C), UINT64_C(0x00CD3D1CFC4E6FC7),
1869     UINT64_C(0x60AB503A75853407), UINT64_C(0x0A9EC8AE4556810A)};
1870
1871 /* LUT for scalar multiplication by comb interleaving */
1872 static const pt_aff_t lut_cmb[27][16] = {
1873     {
1874         {{UINT64_C(0xFFFFFFFFFFFFF36D), UINT64_C(0xFFFFFFFFFFFFFFFF),
1875           UINT64_C(0xFFFFFFFFFFFFFFFF), UINT64_C(0x7FFFFFFFFFFFFFFF)},
1876          {UINT64_C(0x9AF45A5A471125F5), UINT64_C(0x7CE5090AF69BF9AE),
1877           UINT64_C(0x67617A63E4B6DDE6), UINT64_C(0x03F66B354AA3DAA4)}},
1878         {{UINT64_C(0xB39BDC16149B5D15), UINT64_C(0x87CE978A7309454F),
1879           UINT64_C(0xD22F32EF315A7A56), UINT64_C(0x4C7DE232B69A6B57)},
1880          {UINT64_C(0x9E2DAF6D466DC64D), UINT64_C(0x758C27B14B1C8A55),
1881           UINT64_C(0x74A0CB23BD647F1A), UINT64_C(0x27E748682C2F4C70)}},
1882         {{UINT64_C(0xF2D8F32E55A62594), UINT64_C(0x8323D57036BC547A),
1883           UINT64_C(0x497679EB98D4B25A), UINT64_C(0x061167F2B87E0534)},
1884          {UINT64_C(0xE1FFFDCE223E4DF8), UINT64_C(0x7C83AE78DCD891E9),
1885           UINT64_C(0x743985863C1B95D0), UINT64_C(0x11D7320574B3F5AB)}},
1886         {{UINT64_C(0x34B9C048ACB97F7C), UINT64_C(0x8232E73CE3B9BCC6),
1887           UINT64_C(0x81F4B63FDA2DB71D), UINT64_C(0x4EEE5393A2DF4C84)},
1888          {UINT64_C(0xCA6E63AEAC469C69), UINT64_C(0x27BC807C428E4F01),
1889           UINT64_C(0x4A2C23BA5F4EC124), UINT64_C(0x74847CFCAAE2668B)}},
1890         {{UINT64_C(0x4435585F6716AF4E), UINT64_C(0xB872D8B71CDB965F),
1891           UINT64_C(0x662F1962746FFAD0), UINT64_C(0x52761A24DB5D0187)},
1892          {UINT64_C(0xF6A09922A57E0E3D), UINT64_C(0x86C69342A9C12B63),
1893           UINT64_C(0x91FF20B65AF190C5), UINT64_C(0x10DB7A2A4EEEE1AE)}},
1894         {{UINT64_C(0xBB464A5374628B90), UINT64_C(0x6E7A1227057A4F25),
1895           UINT64_C(0x4C309D690B0FA41F), UINT64_C(0x7548260777FE7B93)},
1896          {UINT64_C(0xF2583EC70B612421), UINT64_C(0xFF2CFC835E2B15ED),
1897           UINT64_C(0x1E97A7DB8CABC5CF), UINT64_C(0x1EC08FAA925C149F)}},
1898         {{UINT64_C(0xBA0170E30E9FCBA9), UINT64_C(0x8976DF7C70D9939B),
1899           UINT64_C(0xEAE6E74B21AF14DD), UINT64_C(0x09F098680D0861F9)},
1900          {UINT64_C(0x4F7FE26E21A781FF), UINT64_C(0x1725B8D0D73DCEF7),
1901           UINT64_C(0x9DA632177E743498), UINT64_C(0x0F51D42C1B828B99)}},
1902         {{UINT64_C(0xBABB076B9AFE09BD), UINT64_C(0x4AC8922317C4050D),
1903           UINT64_C(0xCA3EA6E3DA3E57E8), UINT64_C(0x20AAA384A33242C0)},
1904          {UINT64_C(0x6D3A1F2DEF929BF5), UINT64_C(0xB34E2605E751A62D),
1905           UINT64_C(0xE1AC629FB8CF1F99), UINT64_C(0x7152D4E3F0BBA01A)}},
1906         {{UINT64_C(0xA97A6CE3943E5B8E), UINT64_C(0x1C0F6C7F2D053A9D),
1907           UINT64_C(0x9D4A91DE64457DE4), UINT64_C(0x1E19EA8FC6140057)},
1908          {UINT64_C(0xD4766CB6500995C8), UINT64_C(0xA019D41DE70CD7EE),
1909           UINT64_C(0xBA1828AA7AB0A162), UINT64_C(0x0CACA0630B7A4E93)}},
1910         {{UINT64_C(0x1E68315CA1B3FE03), UINT64_C(0x21FB277E1AAB6B20),
1911           UINT64_C(0x210305D76A90FB22), UINT64_C(0x4C3D3EEA2E51B9BC)},
1912          {UINT64_C(0xC5662C6D89C3A2E8), UINT64_C(0x66EA48181712BF9B),
1913           UINT64_C(0x417F8F042254FBAB), UINT64_C(0x2F57DF29B057EEC1)}},
1914         {{UINT64_C(0xF6975C9F6509AE4F), UINT64_C(0x58300438DC89C220),
1915           UINT64_C(0xE81DA879907FF785), UINT64_C(0x68D600E30910ED2F)},
1916          {UINT64_C(0xFBB25113B43BF686), UINT64_C(0x8B391E3F50A64FAE),
1917           UINT64_C(0x8C1190D23112B7ED), UINT64_C(0x617BCD41CCB4CA50)}},
1918         {{UINT64_C(0x75036E69DD780ACA), UINT64_C(0xC90A01DE6FBCD996),
1919           UINT64_C(0x75E1A8E80C851CEF), UINT64_C(0x7225D38AF71BDCC6)},
1920          {UINT64_C(0x74AE6935868B78D2), UINT64_C(0xE70570F31CDB5A1E),
1921           UINT64_C(0x3E700C48BEBD2FA4), UINT64_C(0x3E483638325D3214)}},
1922         {{UINT64_C(0x9F272CD5C0E6D8AD), UINT64_C(0x9E29687CE09743A2),
1923           UINT64_C(0xBE0E0D5993CD64B3), UINT64_C(0x5D57A75D504B58F0)},
1924          {UINT64_C(0x81A1A6E35D44B092), UINT64_C(0x38AD0169310D7868),
1925           UINT64_C(0xC8D3C9A6CC297B73), UINT64_C(0x34D98A19908E0814)}},
1926         {{UINT64_C(0xFFB946ADE5A57E1F), UINT64_C(0xF7EA0AA2191B6C5F),
1927           UINT64_C(0x52D070588DF529C1), UINT64_C(0x06B7BDE52AFDA727)},
1928          {UINT64_C(0x651E6DC990658555), UINT64_C(0x8F910D891FC416CE),
1929           UINT64_C(0x0BA4D84ECBF086D5), UINT64_C(0x73DA158C0C4A4B4A)}},
1930         {{UINT64_C(0xE22420A6521DB62C), UINT64_C(0x8EBC1A21BC90EB6F),
1931           UINT64_C(0xE1529AACE50F6EB4), UINT64_C(0x4025BF278BE235DB)},
1932          {UINT64_C(0x406077109FFE2B82), UINT64_C(0x7A6BB75B696B4634),
1933           UINT64_C(0x0CEF27A92B2F25D3), UINT64_C(0x6C9CFFD7CA0B7112)}},
1934         {{UINT64_C(0x12B39FF0EDA5C43B), UINT64_C(0x2E1FC66C54E0FE3F),
1935           UINT64_C(0xFB2DEA80248A9167), UINT64_C(0x11BCDA103B2BB322)},
1936          {UINT64_C(0xFDDF6E8416D2C928), UINT64_C(0x99DDF6A136E887F4),
1937           UINT64_C(0x1E56D2F3920092D6), UINT64_C(0x67433BF42D77AE5A)}},
1938     },
1939     {
1940         {{UINT64_C(0x6C204DDC321BFA62), UINT64_C(0xA96E42B82F138A80),
1941           UINT64_C(0x4C98E986E3EC1A7D), UINT64_C(0x223C8BC4136CADC4)},
1942          {UINT64_C(0xFA9F15D3BA3CE54A), UINT64_C(0xA103B9D719963D88),
1943           UINT64_C(0x1ED233542F811A21), UINT64_C(0x64D6B14C65A4E833)}},
1944         {{UINT64_C(0x2485175CCFBD1039), UINT64_C(0xC4DAE65B7C92D8EC),
1945           UINT64_C(0x6FC70F541859FD47), UINT64_C(0x6D54344433E8305C)},
1946          {UINT64_C(0x1A65FEC2944DDA07), UINT64_C(0x7BCF8391EF375B21),
1947           UINT64_C(0xDDCFC356BE4CD8D6), UINT64_C(0x4BF93B9E13850042)}},
1948         {{UINT64_C(0xBDF7A56C88B7F950), UINT64_C(0x3A60E5FC81B8590E),
1949           UINT64_C(0x475B94D16F6E6807), UINT64_C(0x2F1B9F062F0D49A8)},
1950          {UINT64_C(0x3C36DCF32E6A01D3), UINT64_C(0x807E1D5B30444003),
1951           UINT64_C(0xE3768486FECF5768), UINT64_C(0x73C4D0CFEF12B5CC)}},
1952         {{UINT64_C(0x9D76477CF4C6FF93), UINT64_C(0x03F16687C5A1A495),
1953           UINT64_C(0x5071DA3DB41748B2), UINT64_C(0x0F3A3784971D6A7D)},
1954          {UINT64_C(0x0B9A5AD62785A782), UINT64_C(0x957E72A009FF09F9),
1955           UINT64_C(0x3072C1DCAE3CF5F4), UINT64_C(0x63D463ACCD9CFD7E)}},
1956         {{UINT64_C(0xDA0DEE0BC77B516C), UINT64_C(0x446D7199E6AA0E1F),
1957           UINT64_C(0xCC0D1590BFFA705C), UINT64_C(0x6A6FC81CC35B59BA)},
1958          {UINT64_C(0x39DF210E593E3EB9), UINT64_C(0x17F331CED0DCC01F),
1959           UINT64_C(0x02E0E5EBBD176C5B), UINT64_C(0x68946CCC8A2D6290)}},
1960         {{UINT64_C(0x8D1400D609ECFEF2), UINT64_C(0x57D5F91BE1E76A98),
1961           UINT64_C(0x5CF76130A12DFF8D), UINT64_C(0x5C36192261002939)},
1962          {UINT64_C(0x8D45C8C1FB0FE974), UINT64_C(0x0C97725EF942ED70),
1963           UINT64_C(0xB1C6649873C5AA42), UINT64_C(0x4A121FC47E203187)}},
1964         {{UINT64_C(0x58430EE3FCEDA76C), UINT64_C(0x3496699AF5C88D62),
1965           UINT64_C(0x1C3FC81114273E7E), UINT64_C(0x3E38E9FC1D6D67DA)},
1966          {UINT64_C(0xBB683EA4AB685B3B), UINT64_C(0xB63F72B1B0904BB3),
1967           UINT64_C(0x5DFA23C547A75297), UINT64_C(0x09E80AA038B59560)}},
1968         {{UINT64_C(0x7D8325C67F4D22FC), UINT64_C(0xBFFB01B18C2FA282),
1969           UINT64_C(0x01A037DC4A89BE98), UINT64_C(0x092F652584EA8C8A)},
1970          {UINT64_C(0x873D33DAC52FD518), UINT64_C(0x0A245B1544AFDD41),
1971           UINT64_C(0x7899373798FA7FF5), UINT64_C(0x1BB48AD221D29087)}},
1972         {{UINT64_C(0x00C97A991A59313C), UINT64_C(0xBD4F29EE5CF9A6FF),
1973           UINT64_C(0xEA59D87AD839B62B), UINT64_C(0x16F18F4897CAB63C)},
1974          {UINT64_C(0xB339789A6F6C292F), UINT64_C(0xEC52E644D005ABB2),
1975           UINT64_C(0xEEAC93C9AE24DA46), UINT64_C(0x0ECB9957E5C43B4F)}},
1976         {{UINT64_C(0xD91B220220561AF7), UINT64_C(0xECA260DD55F2CFB8),
1977           UINT64_C(0xF03A8C1D17B91CCF), UINT64_C(0x55A0491F64B35D9A)},
1978          {UINT64_C(0x0A97E5CC1A2F8F39), UINT64_C(0x02C187D123B1D80B),
1979           UINT64_C(0xA9C13D26DB9FBA1A), UINT64_C(0x7CCDDBACF8051F0D)}},
1980         {{UINT64_C(0x05CA8EA5ED0E9DB8), UINT64_C(0xE888079F53A8EA3F),
1981           UINT64_C(0x6DDBC40D9209BFA2), UINT64_C(0x068E5BA980DCEAEA)},
1982          {UINT64_C(0xDB69D133B19D824B), UINT64_C(0x65154FB6E6A3A462),
1983           UINT64_C(0x9FCF733D020B2AC7), UINT64_C(0x15178DDEE1329315)}},
1984         {{UINT64_C(0x76F78865877EE476), UINT64_C(0x5824EACC12B471BA),
1985           UINT64_C(0x71BDFADFBBB640A8), UINT64_C(0x5181B08F9A631D09)},
1986          {UINT64_C(0x2913CCA5FFE978E8), UINT64_C(0x9CEF3612AEB89AA6),
1987           UINT64_C(0x93BB373EE02AD6DC), UINT64_C(0x5D7984F004144769)}},
1988         {{UINT64_C(0x3219DB074F98D2C3), UINT64_C(0xE3EF888FBD40ACCC),
1989           UINT64_C(0x07A30E3A31124C73), UINT64_C(0x5D9C820BB070C53F)},
1990          {UINT64_C(0x94D41768DA0661AB), UINT64_C(0x27FC266121FF87EB),
1991           UINT64_C(0xB8DCBC7FFF17A977), UINT64_C(0x71F75FF9392EB13D)}},
1992         {{UINT64_C(0xC5CED56C9AD71AB0), UINT64_C(0xE744EAB039D6C9F1),
1993           UINT64_C(0x6E49B00B839BD904), UINT64_C(0x0C0EDE2CD7003054)},
1994          {UINT64_C(0x792C3F801A6A1BB7), UINT64_C(0x6E5093B14B2C7885),
1995           UINT64_C(0x2887320913EA65F7), UINT64_C(0x085A2697F381C851)}},
1996         {{UINT64_C(0x84FC6B9DDA60A255), UINT64_C(0x12397EED4B495BC6),
1997           UINT64_C(0x4881DF6B71A5AA87), UINT64_C(0x57BB32599572CFE2)},
1998          {UINT64_C(0x306777593A10A65F), UINT64_C(0x670B82ECDB1758DD),
1999           UINT64_C(0xD84F3E8FD57B513E), UINT64_C(0x617A512A89088E78)}},
2000         {{UINT64_C(0x83971322AE3D7707), UINT64_C(0x66563CDE6D34D0B4),
2001           UINT64_C(0x95342D9BC13309ED), UINT64_C(0x62C2B1B6082A5887)},
2002          {UINT64_C(0xD94A8712C3C27158), UINT64_C(0xDE2C9C9DA844BF60),
2003           UINT64_C(0xDE897386CE3E4F3C), UINT64_C(0x2C22A82E6ACEBDF1)}},
2004     },
2005     {
2006         {{UINT64_C(0x2755028A0604E200), UINT64_C(0xADE23A7D44189101),
2007           UINT64_C(0xA6E418F4F0B7F9B7), UINT64_C(0x036F5503212EDC2A)},
2008          {UINT64_C(0xE069D06A3F5E0456), UINT64_C(0x2FAFF7C80F37F2D8),
2009           UINT64_C(0xFF08E8797F5EDE53), UINT64_C(0x7F97725D797E0427)}},
2010         {{UINT64_C(0xE44E39C1B32E5B1B), UINT64_C(0x25CD4614AD3EC706),
2011           UINT64_C(0x2E97B090E382C5D2), UINT64_C(0x3E1A1F6BB00D79F2)},
2012          {UINT64_C(0x27573C4EC2375837), UINT64_C(0xAD53D2C86C8D5CCD),
2013           UINT64_C(0x94EE5460FC09725A), UINT64_C(0x6E59250602DD0DF4)}},
2014         {{UINT64_C(0x6CFFA4BF3D0C7AC4), UINT64_C(0x663B121869ED4317),
2015           UINT64_C(0x933094F6C79AD5C1), UINT64_C(0x569F37EDFFC54767)},
2016          {UINT64_C(0x954EEE0C1F338782), UINT64_C(0x5BE69673A46CA276),
2017           UINT64_C(0x77BA000920CB26DC), UINT64_C(0x2211CAC3029316AE)}},
2018         {{UINT64_C(0xC8DEF3CB184EBD7C), UINT64_C(0x393370506A4DB0A0),
2019           UINT64_C(0x6FF7993A0BE1D82C), UINT64_C(0x01D7674AFC9252C0)},
2020          {UINT64_C(0xB10BA727F62D9268), UINT64_C(0x6E2338D8817B687B),
2021           UINT64_C(0x266443F2E47405F1), UINT64_C(0x6A1BD9CE6872B879)}},
2022         {{UINT64_C(0x192137652B2BD346), UINT64_C(0x962CA22CE2ACFB8E),
2023           UINT64_C(0x518CF45D62FECDE1), UINT64_C(0x529AE629A13D9E8D)},
2024          {UINT64_C(0xAF796DB0BB69D5E3), UINT64_C(0xA064209DD4E596B7),
2025           UINT64_C(0x9F3DFD4A47942C73), UINT64_C(0x7FAB6C6D7810D5EC)}},
2026         {{UINT64_C(0x55D1525066A3B287), UINT64_C(0x1ECC6A20EEFDDC75),
2027           UINT64_C(0xF683FA6026DE8C01), UINT64_C(0x4F5DE2A69FBA658C)},
2028          {UINT64_C(0xE748D78AC66D82F4), UINT64_C(0x2BA525EF3B24C76B),
2029           UINT64_C(0x5A9539E630EE69CE), UINT64_C(0x2DA4C4C2B7861B2D)}},
2030         {{UINT64_C(0x9D1E982D820743E6), UINT64_C(0x705D9237AB0CC42D),
2031           UINT64_C(0xBDD0166347C4E7D7), UINT64_C(0x3D48EE78F8E69896)},
2032          {UINT64_C(0x7A822BCD41132782), UINT64_C(0xBD41BEFAEE46F715),
2033           UINT64_C(0x8E5C3B5FD0B2F4B0), UINT64_C(0x690A53D45E47ED55)}},
2034         {{UINT64_C(0x390536C165A40E44), UINT64_C(0x4B4D79701C92235C),
2035           UINT64_C(0xCAC270848B7389E4), UINT64_C(0x7B5B23B219041D01)},
2036          {UINT64_C(0x7C18B9733B5FD5BA), UINT64_C(0xFD14865D84B72217),
2037           UINT64_C(0x5592547E267EDE4C), UINT64_C(0x22DB62E58B369753)}},
2038         {{UINT64_C(0x06083D33DDF15BDD), UINT64_C(0x5766555F361925F5),
2039           UINT64_C(0xECC0F110B7ACDEA7), UINT64_C(0x3E3F1B270A3453B5)},
2040          {UINT64_C(0x5A8B7DF96F7B980D), UINT64_C(0xEBA90E39B44756AC),
2041           UINT64_C(0x954D7ECDAC9A7DB2), UINT64_C(0x43F688D328EA7151)}},
2042         {{UINT64_C(0x51F645694638EFAE), UINT64_C(0x5840A5DB3D28BF3C),
2043           UINT64_C(0xDD486261134D3E8F), UINT64_C(0x09F17E2C7B6B466B)},
2044          {UINT64_C(0x30D3546378ED7016), UINT64_C(0x342E9701B86D8508),
2045           UINT64_C(0xA3FF656542B19533), UINT64_C(0x4405F02C061A4A81)}},
2046         {{UINT64_C(0x15C921C03D3AAF1E), UINT64_C(0x2DD720C77D297559),
2047           UINT64_C(0x93A07904CB80E3B2), UINT64_C(0x427C610B6B1EDB93)},
2048          {UINT64_C(0xD2CE818FF61E2F41), UINT64_C(0x1DA534218252FB3C),
2049           UINT64_C(0x37A4A997ED07538F), UINT64_C(0x48A928BF962454F2)}},
2050         {{UINT64_C(0x65091E4D7A420273), UINT64_C(0x6AF382AFE54C0B47),
2051           UINT64_C(0x150DAB088047A423), UINT64_C(0x22C3740A45BD197C)},
2052          {UINT64_C(0x64429AA0E07C3468), UINT64_C(0xC506B8C97B37FE10),
2053           UINT64_C(0x30E2FE783CC5062C), UINT64_C(0x2F3B5A5FA9242F2D)}},
2054         {{UINT64_C(0x2619A3B25A40BCA1), UINT64_C(0xD012DF23118C2FEA),
2055           UINT64_C(0x2868C8B7B73FE15C), UINT64_C(0x45A9CC5AEB10B475)},
2056          {UINT64_C(0x7111AB75069050AD), UINT64_C(0x0665182BEC2398A9),
2057           UINT64_C(0xD9A5126E9B86A240), UINT64_C(0x601CF0E040E2AED6)}},
2058         {{UINT64_C(0xE74C9DCDF48C8655), UINT64_C(0xEE703CA8900E89D5),
2059           UINT64_C(0x6C2DFF8B5390F052), UINT64_C(0x08588E891316CC4C)},
2060          {UINT64_C(0x0F2CC83A47E80C87), UINT64_C(0x23DE34CFD87824E4),
2061           UINT64_C(0xC530AF41541FE8F9), UINT64_C(0x0BF01DC0D142F1C0)}},
2062         {{UINT64_C(0x210B0B1E886C0C4A), UINT64_C(0x66369DF19C56A126),
2063           UINT64_C(0x5D79AE81EAC22A5E), UINT64_C(0x4E6C67D4D16F7DB6)},
2064          {UINT64_C(0x274572F6247CDE60), UINT64_C(0xF3C92AC754E8454B),
2065           UINT64_C(0x784EC1A1F08C32D1), UINT64_C(0x222716D8E1FE9C4E)}},
2066         {{UINT64_C(0xAF6AEF5D3FB1DB1E), UINT64_C(0xB8B55842C4C2A4D8),
2067           UINT64_C(0x258A2F44CA5AB578), UINT64_C(0x558A803F7D8B2D70)},
2068          {UINT64_C(0x9A7345C37E0247A3), UINT64_C(0x4E5A6904B4D920B1),
2069           UINT64_C(0xCF7FAA4176BCBBE1), UINT64_C(0x66CF993FEE112271)}},
2070     },
2071     {
2072         {{UINT64_C(0xDE7D208F84D2C56B), UINT64_C(0xD1C77403DDA20F33),
2073           UINT64_C(0xB73FDC099A6F337A), UINT64_C(0x1B2A380740CD2CBD)},
2074          {UINT64_C(0xB642FA2C65988D73), UINT64_C(0x117E75BC059DAB8E),
2075           UINT64_C(0xC7E2E935D6B279AA), UINT64_C(0x5EEB9654EEA2A445)}},
2076         {{UINT64_C(0xA84747C0A59D7A2A), UINT64_C(0x4478AD4A1004C5B8),
2077           UINT64_C(0xF55C2B1BA22DE791), UINT64_C(0x2FF6097D23F8F89F)},
2078          {UINT64_C(0xD079C875E117BC40), UINT64_C(0x14AEA36003CB43DD),
2079           UINT64_C(0x8C730D890A20D653), UINT64_C(0x6956274A02FD02D8)}},
2080         {{UINT64_C(0x9F5D0E9DD46293CF), UINT64_C(0x53748DD4F0D93AB7),
2081           UINT64_C(0x6F81339FB9C37CF0), UINT64_C(0x00B8677AF4B041FC)},
2082          {UINT64_C(0xF76E0FFEB5A6FE97), UINT64_C(0x6D3C71F5F7D198A2),
2083           UINT64_C(0xF91E840811420372), UINT64_C(0x36F9F35470036AED)}},
2084         {{UINT64_C(0x503AF4F25D446956), UINT64_C(0xCA08C5372DC9777C),
2085           UINT64_C(0xDB4BA888E1308D3A), UINT64_C(0x01EA28EA01DB98CB)},
2086          {UINT64_C(0x27CC52A9A7DF5FE0), UINT64_C(0x7DA5186B7DE31E0A),
2087           UINT64_C(0x63E32889F136FAD5), UINT64_C(0x1BB010A8A363AF23)}},
2088         {{UINT64_C(0x65828B54C0FE56C9), UINT64_C(0x7322CD514ED3935A),
2089           UINT64_C(0x42F068F437B4A727), UINT64_C(0x7AA9F9F0B4C02BE4)},
2090          {UINT64_C(0xBB77851ADEBB2DD4), UINT64_C(0x7757D5F6D105B81F),
2091           UINT64_C(0x7805369C52FA1512), UINT64_C(0x4CBC43AE38B6976A)}},
2092         {{UINT64_C(0x24FE8ABD4096725B), UINT64_C(0xC3FAC73A3895D1E2),
2093           UINT64_C(0xBCAF7757006A2360), UINT64_C(0x75AE96ADC03EBB33)},
2094          {UINT64_C(0x310744780BD1FB6F), UINT64_C(0x729E8E6AEA386CBE),
2095           UINT64_C(0xA8BBCC0B4845AAEC), UINT64_C(0x1A0A2D19E6582656)}},
2096         {{UINT64_C(0x332BC9BD69BD55F7), UINT64_C(0x93D987E2EFB6F780),
2097           UINT64_C(0xE57DE09614381F4D), UINT64_C(0x7BDF4217FF01C4D9)},
2098          {UINT64_C(0x2A07C4AB1956BF02), UINT64_C(0x7C7B3684553823D9),
2099           UINT64_C(0x8F750E8ED40F600C), UINT64_C(0x63F253E99693A3C3)}},
2100         {{UINT64_C(0x250ED8BFC62CE42B), UINT64_C(0xE8A1A295E70674E1),
2101           UINT64_C(0x05ED093D163A92F1), UINT64_C(0x515FF44B628969A0)},
2102          {UINT64_C(0xF617DF0341CE3AF8), UINT64_C(0xCADE131AF9E60202),
2103           UINT64_C(0xFE83C379363B87E9), UINT64_C(0x7196A80B493EF65F)}},
2104         {{UINT64_C(0x4B176FE6D7A2047B), UINT64_C(0x6981D18241DCA514),
2105           UINT64_C(0xDDC7EE8EDC74AC2E), UINT64_C(0x3A95A20385CC07D1)},
2106          {UINT64_C(0x8D4BA2D8841E3200), UINT64_C(0x837DDD9B5F654197),
2107           UINT64_C(0x388D358EFBFE4D06), UINT64_C(0x562DE2F261143A85)}},
2108         {{UINT64_C(0x3BA1F6E5CFACB903), UINT64_C(0xB5BBA41FBD97A3A2),
2109           UINT64_C(0xB86F117FCFCF2547), UINT64_C(0x506428593D9A13DB)},
2110          {UINT64_C(0xC15C82AE7B5F2A8F), UINT64_C(0x47E772DDEF89351E),
2111           UINT64_C(0x78C53901CAAC4CC7), UINT64_C(0x6B0F5D3068D72131)}},
2112         {{UINT64_C(0x47E17734A0B407E6), UINT64_C(0x29E0683034949A81),
2113           UINT64_C(0x63D83340CB1AC772), UINT64_C(0x178A6DD6EB84F909)},
2114          {UINT64_C(0xA9E948263C27D7BA), UINT64_C(0xC86AF96DDB027A4C),
2115           UINT64_C(0xE7D04E3456D5DF86), UINT64_C(0x7212EAC22E8D0EE3)}},
2116         {{UINT64_C(0xE7E5AA648A75F66B), UINT64_C(0x7E86B6AA8CFD9597),
2117           UINT64_C(0x1B7DDE0C834C0271), UINT64_C(0x397EAF2AD4AD306F)},
2118          {UINT64_C(0x0A3579061657E32B), UINT64_C(0xAAEB2DCF4957B3AF),
2119           UINT64_C(0x1C0CBD0269D3CEE9), UINT64_C(0x7434EC325A6E7D53)}},
2120         {{UINT64_C(0xEB5878F785559E86), UINT64_C(0xB9555F704A09C168),
2121           UINT64_C(0xBFFAC5DB80501134), UINT64_C(0x4CDBF53A05B53160)},
2122          {UINT64_C(0x1413BA295F90344B), UINT64_C(0xC6A9D1EDD0DD0CFD),
2123           UINT64_C(0x8C56AA29A0C31B73), UINT64_C(0x1C9B0B61F4E58E08)}},
2124         {{UINT64_C(0xBF8D22370E2F595A), UINT64_C(0x7A646816CBA13CD8),
2125           UINT64_C(0xBD2E93A15CD728B6), UINT64_C(0x30FDF85C07CF9009)},
2126          {UINT64_C(0x3496D94906122B98), UINT64_C(0xE63EC7415A80B3AF),
2127           UINT64_C(0xA2A39CF782838A44), UINT64_C(0x4A064F99C015E1D4)}},
2128         {{UINT64_C(0x9CCDF95B456CB242), UINT64_C(0xDA1CB24E6F4517DC),
2129           UINT64_C(0x60450E0F931A1115), UINT64_C(0x6780D774B5680A8D)},
2130          {UINT64_C(0xAFE48DCD1FDA4243), UINT64_C(0x6BDD541CAE9733C7),
2131           UINT64_C(0xCBBCC69CD79D1D52), UINT64_C(0x334F4F671A513B3E)}},
2132         {{UINT64_C(0xCE7712C4DF49E1A0), UINT64_C(0xB5444862E0B96135),
2133           UINT64_C(0x10564C4BF050D010), UINT64_C(0x0531AEC8FEBEFCC8)},
2134          {UINT64_C(0xD45B4BE770DF6D29), UINT64_C(0x1ACC2D706829054E),
2135           UINT64_C(0x9744CDE154E56E05), UINT64_C(0x3C5DE93E6EE02696)}},
2136     },
2137     {
2138         {{UINT64_C(0xF43A2B993951B674), UINT64_C(0xE82789E85E72FC98),
2139           UINT64_C(0x2AD4843686992601), UINT64_C(0x3FDEB17201A2B65A)},
2140          {UINT64_C(0x926B48393666322B), UINT64_C(0x68847D5C44B3FDB7),
2141           UINT64_C(0xD06C450DF2F5E247), UINT64_C(0x0CEC0646BBA7C892)}},
2142         {{UINT64_C(0x76446D2661F9C9DA), UINT64_C(0xEF2C7B98AC60376F),
2143           UINT64_C(0xEEA8CABE2410C057), UINT64_C(0x4C2CE2A73672A2B6)},
2144          {UINT64_C(0x3F77094512879BA5), UINT64_C(0x719D5BD0AD913022),
2145           UINT64_C(0x28A82DD936D445A4), UINT64_C(0x26382C23965965AA)}},
2146         {{UINT64_C(0x66709D92B8AA8419), UINT64_C(0xFAEFF2E40AB5C241),
2147           UINT64_C(0xABB7C5DD1DD46DEB), UINT64_C(0x7DD03C3339DB6CB5)},
2148          {UINT64_C(0x76CDD1EA9E160F01), UINT64_C(0x00598D5681C5CA37),
2149           UINT64_C(0x16D23B04241772EC), UINT64_C(0x5132B02852A6B807)}},
2150         {{UINT64_C(0x6D48D4B5CC041445), UINT64_C(0x0B1CD9231528DF63),
2151           UINT64_C(0x82EE4DC64A815F60), UINT64_C(0x29DA60590451E242)},
2152          {UINT64_C(0xCD90BFB017A8A6D0), UINT64_C(0x8BCF439252A7FC3D),
2153           UINT64_C(0x49AD55F21974860C), UINT64_C(0x20BBF0105EDCB1D2)}},
2154         {{UINT64_C(0xB4F0EA84A8F6C08C), UINT64_C(0x4341BEA7D50164F3),
2155           UINT64_C(0xE538901906320C0F), UINT64_C(0x69D4851A8BA6F033)},
2156          {UINT64_C(0x1CE5866077902045), UINT64_C(0xF3B88D85BD8579B3),
2157           UINT64_C(0xF84FF63A4FB0A17B), UINT64_C(0x09EE62EEDE6581BF)}},
2158         {{UINT64_C(0x8B8C15B57C0516DE), UINT64_C(0x3B448FC3A530B89F),
2159           UINT64_C(0xE385BBE5500B0251), UINT64_C(0x5F643F85ED70804B)},
2160          {UINT64_C(0x550D9B7D239E85A5), UINT64_C(0xDC910B5B8666E41F),
2161           UINT64_C(0x655221817D4E390F), UINT64_C(0x5DD2D3E83162FE10)}},
2162         {{UINT64_C(0x59609390DF024A25), UINT64_C(0xE66A77E908CCBA91),
2163           UINT64_C(0xC5CEA91A65E24DB6), UINT64_C(0x0888DFB53DCEA0A7)},
2164          {UINT64_C(0x8C8E58CC92FA0754), UINT64_C(0x99C259ABF7DC9538),
2165           UINT64_C(0x3A06D8ED9BEFE750), UINT64_C(0x71AF22E1FAACDC97)}},
2166         {{UINT64_C(0xCC41D094250AC059), UINT64_C(0xCD792A733BE3DA01),
2167           UINT64_C(0x2DA07802CC61EFE1), UINT64_C(0x293AFB0857053A5D)},
2168          {UINT64_C(0x3E7E48842FD8A8A0), UINT64_C(0x183FA5000B9B48D3),
2169           UINT64_C(0x9CAC07BE431AACF6), UINT64_C(0x4F82D7992DF89F10)}},
2170         {{UINT64_C(0xFD9F61A80A84935C), UINT64_C(0x78B948D0BB5A7E56),
2171           UINT64_C(0xDA4787660ACCEEB3), UINT64_C(0x47BDAE4453C3851D)},
2172          {UINT64_C(0x5AE2C60C0CFE8D0D), UINT64_C(0xAC8F79B31D8A79C9),
2173           UINT64_C(0xA958C15E0A79CA31), UINT64_C(0x1C46E20EF0952018)}},
2174         {{UINT64_C(0xAE552ECEF04AC529), UINT64_C(0xB295B601E2BFEFBC),
2175           UINT64_C(0xECC1EE5554733412), UINT64_C(0x28BCBA5312282094)},
2176          {UINT64_C(0x306C078150B25069), UINT64_C(0x10D5D23CE9A18FFE),
2177           UINT64_C(0xC34FC5C71BD5489F), UINT64_C(0x2B610028E191867D)}},
2178         {{UINT64_C(0x458A1CC13E17E84D), UINT64_C(0x6EAE343D5D7CFB98),
2179           UINT64_C(0xC6E0FDAA101F0B7E), UINT64_C(0x0B9F7C2C2A023288)},
2180          {UINT64_C(0xBEA893A86F3FCAA0), UINT64_C(0x7D711B2B452B07C0),
2181           UINT64_C(0x2895873798E2C88D), UINT64_C(0x553A0180DFD99A2A)}},
2182         {{UINT64_C(0x8D617BE80DBA5986), UINT64_C(0xDB763C1413D18594),
2183           UINT64_C(0x822CB0DAD2DAD82F), UINT64_C(0x37ACD99F93239947)},
2184          {UINT64_C(0x6A2A7070CDC08BE6), UINT64_C(0x86B3B66ACF6D63FF),
2185           UINT64_C(0x5BEFF3FB0F7D4A67), UINT64_C(0x05C25557EBC94AE5)}},
2186         {{UINT64_C(0x5D1DC08789183418), UINT64_C(0xA25C7AE26EA5A960),
2187           UINT64_C(0x074698B9D31F3AAE), UINT64_C(0x5A5B510B221788A4)},
2188          {UINT64_C(0x896A87871DCE95FE), UINT64_C(0x89E7B93D7F24020C),
2189           UINT64_C(0xFC19BF42865B4334), UINT64_C(0x0389FBF75B78B06D)}},
2190         {{UINT64_C(0x73B6DA7B0BB3A3E2), UINT64_C(0xDBC1267044D56755),
2191           UINT64_C(0x7AF2DE287CC1C589), UINT64_C(0x7E248FCB697CB6B7)},
2192          {UINT64_C(0x9410EC06C64202C0), UINT64_C(0x79C8215875EB3A8C),
2193           UINT64_C(0x74FDD2F6E95C5EA9), UINT64_C(0x2A40B5B51CCA72C7)}},
2194         {{UINT64_C(0x569842235C29E320), UINT64_C(0x8266392AE871D9E2),
2195           UINT64_C(0x9D86C6C77B391763), UINT64_C(0x5E9E61E202543C9E)},
2196          {UINT64_C(0xD62A9334D2501D1A), UINT64_C(0x9D19F54D9211135D),
2197           UINT64_C(0x66D0B9618FE81272), UINT64_C(0x6E64635AD09C2033)}},
2198         {{UINT64_C(0x93BD0AD806F84E11), UINT64_C(0x45F18F2B131AFDBF),
2199           UINT64_C(0x881F053F6058EB37), UINT64_C(0x36B8D656948AD0D5)},
2200          {UINT64_C(0x53DC2E02E1934E38), UINT64_C(0xA8AD5055C0435B6C),
2201           UINT64_C(0x0DF7BD114BD7154F), UINT64_C(0x6350B05E73BC98FC)}},
2202     },
2203     {
2204         {{UINT64_C(0x12AC549604BF927A), UINT64_C(0x9BB322DBE749323E),
2205           UINT64_C(0xC10C666DF6D99AD6), UINT64_C(0x0FDF8FB34C883E0A)},
2206          {UINT64_C(0x10667F92665272E8), UINT64_C(0xA30D4CE15BF8702F),
2207           UINT64_C(0x56314B47A2D6033D), UINT64_C(0x09EC90D9DAC1A10E)}},
2208         {{UINT64_C(0x364F06DDC9EB81D1), UINT64_C(0xFD181A564DC5CB76),
2209           UINT64_C(0x91CF010CE264567C), UINT64_C(0x71D9A95BA05C02FC)},
2210          {UINT64_C(0xAB5AFBA653967407), UINT64_C(0x3FC779139B0AA089),
2211           UINT64_C(0xDF1D4912AF29EF02), UINT64_C(0x01C3D61C5796A0A5)}},
2212         {{UINT64_C(0x11503A1CB376E8DE), UINT64_C(0x5CB17D6DB8B98321),
2213           UINT64_C(0x96C9D585BD8FE9C2), UINT64_C(0x048C8DA7D117171D)},
2214          {UINT64_C(0xDF7FABB8B582282A), UINT64_C(0x75C2A93724FD6BB7),
2215           UINT64_C(0xDF0DBD3200633701), UINT64_C(0x04FB7AEC039B3E72)}},
2216         {{UINT64_C(0xE60CCE960E20C09A), UINT64_C(0xAD295B31116E1C38),
2217           UINT64_C(0xCA6B625DC04477D0), UINT64_C(0x032FE03BFFA32E36)},
2218          {UINT64_C(0x46334FEEE2AAABC6), UINT64_C(0x9808B03CDA1C6871),
2219           UINT64_C(0x76D0E3AAF934A482), UINT64_C(0x2B0BF54AF9CB8F97)}},
2220         {{UINT64_C(0xB5D527172CA29D02), UINT64_C(0xF9DAEAFBDBEACF03),
2221           UINT64_C(0x3786E64B113A3811), UINT64_C(0x6A01A1A55C30569D)},
2222          {UINT64_C(0x0A91E160BA1C28B6), UINT64_C(0x5BFA32BA929D3F05),
2223           UINT64_C(0x1108F87540C51084), UINT64_C(0x37FD238342FD5AE1)}},
2224         {{UINT64_C(0xABF14EDE2A79BFB8), UINT64_C(0x08B34155AA34300C),
2225           UINT64_C(0x85C0DFA064077041), UINT64_C(0x3AE5D28DF542D447)},
2226          {UINT64_C(0xC303A0FEB74DC4FB), UINT64_C(0xB75292FA556E0B87),
2227           UINT64_C(0x785628B051BDC64C), UINT64_C(0x43FE786E13C579F6)}},
2228         {{UINT64_C(0xBC5898CB5F08790F), UINT64_C(0xA298A59A125644EC),
2229           UINT64_C(0xD2D9627BB048217A), UINT64_C(0x6DCEEF327B1F23F7)},
2230          {UINT64_C(0x7F02FC44FA7B9C6A), UINT64_C(0x90C6496073597BF7),
2231           UINT64_C(0x5DD7E4F42CB0B3A2), UINT64_C(0x5EC5F92C43E83553)}},
2232         {{UINT64_C(0xC06B4D4959E2C8E9), UINT64_C(0x7DBC82181DF8AD8B),
2233           UINT64_C(0x35570120DAE8B6D7), UINT64_C(0x4222A1BA0CDE2691)},
2234          {UINT64_C(0xD2F1EFA6C1693046), UINT64_C(0x2707228D7D36D9CD),
2235           UINT64_C(0xD668EE25062D499C), UINT64_C(0x7AC81BDFCE2621A0)}},
2236         {{UINT64_C(0x3A9F04BB16F6A215), UINT64_C(0x739BB2BC89E5494E),
2237           UINT64_C(0xCB8DBAE8D1CEB043), UINT64_C(0x6B177DF009A6B465)},
2238          {UINT64_C(0xB7C4980E1A529744), UINT64_C(0x3941B9970E9012B5),
2239           UINT64_C(0xDF317B9504C6D677), UINT64_C(0x17898D81829F51D6)}},
2240         {{UINT64_C(0x3D48FD66A12282BA), UINT64_C(0xB775465B899E5A1A),
2241           UINT64_C(0xDE0CCB9955D95C35), UINT64_C(0x4CB3CCDD950AB9DF)},
2242          {UINT64_C(0x0B4ABA02175C4CAE), UINT64_C(0x2DA7C698CF86187C),
2243           UINT64_C(0x3A4453DF9A9BF6CA), UINT64_C(0x53C86F9C8BB9F543)}},
2244         {{UINT64_C(0x806B815E5B7DB133), UINT64_C(0x2451D6AC118FA7C1),
2245           UINT64_C(0x32C148B6FB0BEFC3), UINT64_C(0x2E6ECEF6E433031E)},
2246          {UINT64_C(0x2B78F31754B2EE29), UINT64_C(0xBC321BF95A73BF01),
2247           UINT64_C(0xDF6F7840F8F7F981), UINT64_C(0x751A917A22280C40)}},
2248         {{UINT64_C(0x73EFA6314F9161C8), UINT64_C(0xB61C5E6821145C52),
2249           UINT64_C(0x609477736A04DC52), UINT64_C(0x758E38FF2C2073B2)},
2250          {UINT64_C(0xDC6FEA7303A54541), UINT64_C(0x5E77682CB6E65787),
2251           UINT64_C(0xAFEF6C1C37370FD0), UINT64_C(0x33DEEF00D5AC255A)}},
2252         {{UINT64_C(0x1AD81101061D35CC), UINT64_C(0xD55EED7D8A77D246),
2253           UINT64_C(0x8D59DC22926E64C3), UINT64_C(0x76C9D6CEAFC6FFA6)},
2254          {UINT64_C(0x945A89B53F4FCC0F), UINT64_C(0x65EB52CF9087F46A),
2255           UINT64_C(0xC3380377AE9F09DE), UINT64_C(0x59067EDD43DFD5FB)}},
2256         {{UINT64_C(0xCBB7BC66CF841445), UINT64_C(0x9ED681D3A3BE7C94),
2257           UINT64_C(0xF5CF59BE396C6DD5), UINT64_C(0x2598A5DCFA763634)},
2258          {UINT64_C(0xAD2B445A85CF4FDE), UINT64_C(0xC8CE3F42A0D92F4C),
2259           UINT64_C(0x78356D5BF01CD0F5), UINT64_C(0x26E44A455D50C9D7)}},
2260         {{UINT64_C(0x22EB53E34EDF35A5), UINT64_C(0xA0C6CDEFAF1A8A60),
2261           UINT64_C(0x1D31BA2CD07C1EBD), UINT64_C(0x513511A0D2C2ADE1)},
2262          {UINT64_C(0xBD3772D4C4449889), UINT64_C(0xAF5EF819D3F49C61),
2263           UINT64_C(0xAAF2159940047745), UINT64_C(0x2128938CA54B8080)}},
2264         {{UINT64_C(0x9761A94A73ADBEC8), UINT64_C(0x4710BBF01FB2F257),
2265           UINT64_C(0xFE52603EB3920007), UINT64_C(0x663937507DE06F13)},
2266          {UINT64_C(0x35F4E633965AC706), UINT64_C(0xF49DC41833F953E5),
2267           UINT64_C(0x1562AD5131CFE467), UINT64_C(0x035FB54D8ADB1F7A)}},
2268     },
2269     {
2270         {{UINT64_C(0xF632081FFD73062E), UINT64_C(0xB2740C19CB740B59),
2271           UINT64_C(0x2DFD957F8751E315), UINT64_C(0x5722E015C21039C2)},
2272          {UINT64_C(0x44781BFCA4E56D39), UINT64_C(0x894BD2F7DA2FBE63),
2273           UINT64_C(0x9E81007B5DE22DE0), UINT64_C(0x0CED0859C68788FC)}},
2274         {{UINT64_C(0x97DD8CF18DDA6292), UINT64_C(0x3E9191F727FCF7F1),
2275           UINT64_C(0x07885E32DAA6AD44), UINT64_C(0x624CE66EBE9F7E62)},
2276          {UINT64_C(0x0483DA421893A3D9), UINT64_C(0x1041B7EA8F2A105F),
2277           UINT64_C(0x5B706F99429A24B9), UINT64_C(0x30BFBCEE167C12E1)}},
2278         {{UINT64_C(0xEB2C7218C38251D8), UINT64_C(0x5FE5D8F6022B6411),
2279           UINT64_C(0xF62200C193DCCB63), UINT64_C(0x2CF0F8F1CFF221E6)},
2280          {UINT64_C(0xDCF1BCD69217EE42), UINT64_C(0x1904879C9DB2580B),
2281           UINT64_C(0x2DDB7E5DF6510164), UINT64_C(0x7BB299858A0EAC6B)}},
2282         {{UINT64_C(0x98313C0E0FCF8397), UINT64_C(0xB594D0B742C8EEF1),
2283           UINT64_C(0xBD31FC3497E842F7), UINT64_C(0x49476B9D8F3ADB9B)},
2284          {UINT64_C(0xD1B5FD3750B45445), UINT64_C(0x526C51CAD583A89F),
2285           UINT64_C(0x5D461F096782C060), UINT64_C(0x414023EC27274A60)}},
2286         {{UINT64_C(0x7C809B26EAE4285A), UINT64_C(0x939814BF0A066043),
2287           UINT64_C(0x9CBAC0BB6C640E3D), UINT64_C(0x647E22E130EB1B86)},
2288          {UINT64_C(0x21E2A42D3C7DFA0D), UINT64_C(0xFF8CC304E2CD0CCE),
2289           UINT64_C(0x3DC8C9203496964C), UINT64_C(0x5D91FE782B4DF7C2)}},
2290         {{UINT64_C(0xD5BBBD6E96D84346), UINT64_C(0x8363527BF91FFA8C),
2291           UINT64_C(0x931D0FDA7F408588), UINT64_C(0x2C51F17BB0B19D0F)},
2292          {UINT64_C(0x7A693804FF61C86D), UINT64_C(0xBAB4AC45B3FFD529),
2293           UINT64_C(0xEDEA275F4C171C84), UINT64_C(0x0520925CD59B94D9)}},
2294         {{UINT64_C(0xB6A620AAE8718BB4), UINT64_C(0x67851F0F88D37A61),
2295           UINT64_C(0xCBEE8DBC9984A787), UINT64_C(0x7190B766AE834635)},
2296          {UINT64_C(0x3A1D7DB4C9AC1A8E), UINT64_C(0x6EEBD5AD7B97BCB7),
2297           UINT64_C(0x609786259D0AB769), UINT64_C(0x5AD56C0C7C7F02DD)}},
2298         {{UINT64_C(0x2C0003DE2DB3B6F2), UINT64_C(0x3BE1CE3FEFCF1DD8),
2299           UINT64_C(0xE2F79872379E6B8A), UINT64_C(0x3F9640D80B898094)},
2300          {UINT64_C(0x11EBD93715B29D41), UINT64_C(0xD6A076B93EF17D8C),
2301           UINT64_C(0x0A2C0016B38ED3BA), UINT64_C(0x64329A02CCB161CC)}},
2302         {{UINT64_C(0xD135032DB1ED1DEA), UINT64_C(0x43F7684842F734A0),
2303           UINT64_C(0x1F6C12BD3C18D8C5), UINT64_C(0x7D7757B7C0A304E8)},
2304          {UINT64_C(0x3F0C2867DE3B6B9F), UINT64_C(0x72F98EBBB7201E4F),
2305           UINT64_C(0xCC408000940E748D), UINT64_C(0x34FE6D8FAD74B322)}},
2306         {{UINT64_C(0xA12A9359E6D884FE), UINT64_C(0xB080A081DE063103),
2307           UINT64_C(0x672DE27D97ABB854), UINT64_C(0x712B0883EE6F3485)},
2308          {UINT64_C(0xF430BF2D2044A2A2), UINT64_C(0x665610207D12027A),
2309           UINT64_C(0x5ED63AD22C539C3B), UINT64_C(0x7982AAD0FE5EE1D1)}},
2310         {{UINT64_C(0x873DC8F63BE94D26), UINT64_C(0x909236394B41BD76),
2311           UINT64_C(0xE439A4960CBE4B5C), UINT64_C(0x424F8D2411782BF1)},
2312          {UINT64_C(0x6612BD9949686ED9), UINT64_C(0x78157AA9FB04E27E),
2313           UINT64_C(0x844E1616805F809C), UINT64_C(0x717AEB3262CB8BCD)}},
2314         {{UINT64_C(0xE98C1A0E5248CF6A), UINT64_C(0xC84294A8B0E4ADF8),
2315           UINT64_C(0xD35748A4A7769275), UINT64_C(0x2C3867E103363C82)},
2316          {UINT64_C(0x2EC7AF438F43885A), UINT64_C(0x7979D1A23AE516C7),
2317           UINT64_C(0x059939EC8B81056C), UINT64_C(0x434AA4DD7E358480)}},
2318         {{UINT64_C(0x12EA1C874A5228EA), UINT64_C(0x47B481984D293B9F),
2319           UINT64_C(0x319CE379E9696688), UINT64_C(0x7C9FF5957CE6FD05)},
2320          {UINT64_C(0x15E954DF3093E3E4), UINT64_C(0xBC98307C304015AF),
2321           UINT64_C(0x66522DF8975C69C5), UINT64_C(0x4C9EBFB3963CE892)}},
2322         {{UINT64_C(0x1CEEF18A628FB125), UINT64_C(0xFB69A2344BF30BB6),
2323           UINT64_C(0x510EB33970C9C864), UINT64_C(0x1EE9D1ED8A89151D)},
2324          {UINT64_C(0x340940284EE1A486), UINT64_C(0x664401672FC79CEE),
2325           UINT64_C(0xB597625AC7DA3A75), UINT64_C(0x6E5B920E65205AF9)}},
2326         {{UINT64_C(0x749D0CA4D87C914C), UINT64_C(0x55ECBEBB0D60C59E),
2327           UINT64_C(0x916A1127A65B4652), UINT64_C(0x503964D44E4767A3)},
2328          {UINT64_C(0x8899A4C21B1F94D5), UINT64_C(0xEFFCAF5233E0D94D),
2329           UINT64_C(0x61B89B3FA3DAD87D), UINT64_C(0x3CB455F55088D6BE)}},
2330         {{UINT64_C(0x5088A52B70678C14), UINT64_C(0x212823D941B00FC3),
2331           UINT64_C(0x38D5CEB619865BDB), UINT64_C(0x2E9C7FD712E63491)},
2332          {UINT64_C(0x6656F91659E73913), UINT64_C(0x57AE9A47E9035A63),
2333           UINT64_C(0x970DCF2BF02B8DAE), UINT64_C(0x3366F8A6950FF8A9)}},
2334     },
2335     {
2336         {{UINT64_C(0x93DABD6FAC4A8F83), UINT64_C(0x272334881CFF0AAD),
2337           UINT64_C(0xBCAC3181F500EDFB), UINT64_C(0x27C6DB15B5297515)},
2338          {UINT64_C(0x9CD142D92F08A89F), UINT64_C(0x3C0054232EAD0A80),
2339           UINT64_C(0x82845F9544A7623A), UINT64_C(0x5104707072BC4862)}},
2340         {{UINT64_C(0x4303797ADC1B9159), UINT64_C(0x7842434B5D9C9AC1),
2341           UINT64_C(0x8A36ED2D6009FE2E), UINT64_C(0x11FE35C95106429C)},
2342          {UINT64_C(0xDF20A39323554A92), UINT64_C(0x59364A48932E37C2),
2343           UINT64_C(0x6D7DE6AE7754A5DF), UINT64_C(0x00CCC6A3462725AC)}},
2344         {{UINT64_C(0xB1F86CA5BAE83077), UINT64_C(0x82FE28A55110782C),
2345           UINT64_C(0x8031BBF3D942182C), UINT64_C(0x4F1F3815410D9F83)},
2346          {UINT64_C(0xE57F9907835ABA65), UINT64_C(0x0A8220C25AA10903),
2347           UINT64_C(0x2E9847178812602E), UINT64_C(0x0AEC467D2A7D2C6C)}},
2348         {{UINT64_C(0xC779F708C4DBED03), UINT64_C(0x10A30CD88582BD4E),
2349           UINT64_C(0xFA5646C5243FEAEE), UINT64_C(0x1CFAF38ECA459EF7)},
2350          {UINT64_C(0xCCDD014695BC8077), UINT64_C(0x4ECDE91965858C49),
2351           UINT64_C(0x562764C677FEE1B6), UINT64_C(0x3CF5A3AB43524407)}},
2352         {{UINT64_C(0x0CCEAADD0F6EF445), UINT64_C(0x690C12C1C297AFAF),
2353           UINT64_C(0xD67AA6EAC15B3D7B), UINT64_C(0x445D233C9FF8884E)},
2354          {UINT64_C(0xC38FFD096CAD3234), UINT64_C(0xA690FFD1C7002F6F),
2355           UINT64_C(0xD445E85111ACB469), UINT64_C(0x64EE138097166E52)}},
2356         {{UINT64_C(0x1EB031CCCEFBFB0A), UINT64_C(0x60F3DEF4AA40D6A9),
2357           UINT64_C(0x240F7CA5F96FCAFE), UINT64_C(0x53AF2F10E4450A06)},
2358          {UINT64_C(0xE8AF980FA84058EF), UINT64_C(0x3E30001734AFFC6E),
2359           UINT64_C(0x62D1D094C86B458C), UINT64_C(0x5338383D75732C7E)}},
2360         {{UINT64_C(0x6BD46AEB04D82638), UINT64_C(0x86940A3162E645A0),
2361           UINT64_C(0xD025B4B1A5736B40), UINT64_C(0x1056D9D0924E8E5E)},
2362          {UINT64_C(0x3D0495CC1DB58101), UINT64_C(0xC300C6E72D677581),
2363           UINT64_C(0xFE38B898610AECEC), UINT64_C(0x1C8B94E2D66F64ED)}},
2364         {{UINT64_C(0x5C9C3A3706D0C7EC), UINT64_C(0x6B4B5437B8A74918),
2365           UINT64_C(0x85689C989052A235), UINT64_C(0x4F7C2C8D87B53AA6)},
2366          {UINT64_C(0x9FCD866FD8F1D334), UINT64_C(0xDBAAA2276898223C),
2367           UINT64_C(0x933DE9DA95C7B35A), UINT64_C(0x329AE20F3EA949FD)}},
2368         {{UINT64_C(0xB83547AF948A2ECD), UINT64_C(0xEBF7C1E7BE34890C),
2369           UINT64_C(0x5F0F44F3F8211C33), UINT64_C(0x14A10BDBC6927638)},
2370          {UINT64_C(0x7FD885675B579BF5), UINT64_C(0xD7C712815B7417F0),
2371           UINT64_C(0x7C04F1112083502E), UINT64_C(0x42029128E9AD6283)}},
2372         {{UINT64_C(0x32FBFFAE2C5C0928), UINT64_C(0x4E31D3121469F1D3),
2373           UINT64_C(0x17307E28D79F51A2), UINT64_C(0x546C91AF79A51EBD)},
2374          {UINT64_C(0x041D464D668086A6), UINT64_C(0x4986BDE50DB695DB),
2375           UINT64_C(0xCBA5F6EEEF317AA0), UINT64_C(0x5879259F730221D3)}},
2376         {{UINT64_C(0xBD9C5CA5253BB4BA), UINT64_C(0xBBFC60790E2A75BB),
2377           UINT64_C(0xB5F11AE367AB9033), UINT64_C(0x6411CB1EAC2BFAFE)},
2378          {UINT64_C(0x750734FEBF5390B0), UINT64_C(0xA044BED4879A3D3D),
2379           UINT64_C(0xE1E9F0E4A0C47093), UINT64_C(0x3BCAD93EB64DA48C)}},
2380         {{UINT64_C(0xAFC6BCB6B37E16C2), UINT64_C(0xB54F56C02331B0CD),
2381           UINT64_C(0x725E81B45BBFBEE7), UINT64_C(0x2AE0C039E8B9D922)},
2382          {UINT64_C(0x85301041DB958319), UINT64_C(0xDFAE34DD0681C4A4),
2383           UINT64_C(0x906C9219CBF7BB2B), UINT64_C(0x1463E9EF10A1710A)}},
2384         {{UINT64_C(0x41E6C38821E6FC9D), UINT64_C(0x0B629A1E24A39EC8),
2385           UINT64_C(0xC62F60BE1AEF7A46), UINT64_C(0x59A50B54C5A16B6E)},
2386          {UINT64_C(0x41CA367A285B891E), UINT64_C(0x70A6CE6BE2F8AF59),
2387           UINT64_C(0x74058747CBCEEF98), UINT64_C(0x4B912170601C375F)}},
2388         {{UINT64_C(0x7D975CE2734EE866), UINT64_C(0x8D3572C6A09F5F14),
2389           UINT64_C(0x1DB4CC882232EE5E), UINT64_C(0x6C9790497C04C250)},
2390          {UINT64_C(0xB5EC7706AE1EBC20), UINT64_C(0x7BDBD34DE21AAA32),
2391           UINT64_C(0xAD4125FDC5D1C733), UINT64_C(0x28B0302D731E6B09)}},
2392         {{UINT64_C(0xD68EEC491521415E), UINT64_C(0x31963424092763C0),
2393           UINT64_C(0xCA90F48D0BFB513B), UINT64_C(0x4814DDFF573A056A)},
2394          {UINT64_C(0x7E67599C400E804D), UINT64_C(0x3545275051FD0596),
2395           UINT64_C(0x45EDD7FBDB331B66), UINT64_C(0x172DA8B3BDEDE107)}},
2396         {{UINT64_C(0xD46F284CB5BEB1C8), UINT64_C(0x5DE5D3F17B125701),
2397           UINT64_C(0xC3BA591E248053D1), UINT64_C(0x4E67F1F29C8F487C)},
2398          {UINT64_C(0x380D93E48C252EC5), UINT64_C(0x913F96F122BC5CF6),
2399           UINT64_C(0xC1F06BBDD7BAA634), UINT64_C(0x7B625179A30BF1B9)}},
2400     },
2401     {
2402         {{UINT64_C(0x125D398DABD424AC), UINT64_C(0xFE65DF039CC70479),
2403           UINT64_C(0x89A31794FB5EC82C), UINT64_C(0x63EFFB55A31C5DCA)},
2404          {UINT64_C(0x948F7571045B576A), UINT64_C(0xEC9F6FAB022B5FC8),
2405           UINT64_C(0x174DC936BD9F0DD2), UINT64_C(0x5EEA65E6F4C4EE8B)}},
2406         {{UINT64_C(0xE97070AE8B800D67), UINT64_C(0xB9CB66FAB59B433E),
2407           UINT64_C(0xC4496574C6141364), UINT64_C(0x530AA9B56A9677EA)},
2408          {UINT64_C(0x4A4E2EE375200533), UINT64_C(0x4C38A5090F20A9BE),
2409           UINT64_C(0x0A6FFBA4EA683510), UINT64_C(0x7340EFEE65732EA9)}},
2410         {{UINT64_C(0x3A5612E4E41C2B43), UINT64_C(0x31F51B80FCB5C0A8),
2411           UINT64_C(0x4C5BBA64BD1F03E6), UINT64_C(0x253872433694ADCA)},
2412          {UINT64_C(0xF114EFAF1F7E4D5C), UINT64_C(0xBEA5223A4EA3A59D),
2413           UINT64_C(0x82CEF46F67EB414D), UINT64_C(0x09D351C19B6CAC3D)}},
2414         {{UINT64_C(0xC69F25CE810F5054), UINT64_C(0xE33E5E97548A2CDF),
2415           UINT64_C(0x20B3F44236946D3C), UINT64_C(0x572C0F5C65DF2D3B)},
2416          {UINT64_C(0xFC5B2DF3CC953CC8), UINT64_C(0x934D54C0D1CCADC6),
2417           UINT64_C(0x828A906EA6E7B4DB), UINT64_C(0x610D36C15AD3076F)}},
2418         {{UINT64_C(0x960B0A0174F56E27), UINT64_C(0x9942C6ACCF3FEA75),
2419           UINT64_C(0x2E4D786D82C51490), UINT64_C(0x23A516369A4749C9)},
2420          {UINT64_C(0xD86AB36A2F7560FC), UINT64_C(0xDA66B49DDDB852A9),
2421           UINT64_C(0x84E1587D544C1023), UINT64_C(0x7AB8BC696AA3C1DA)}},
2422         {{UINT64_C(0xFD0397AFA5F30701), UINT64_C(0x96FFB15DDFC8B187),
2423           UINT64_C(0xF2C864531475E520), UINT64_C(0x71521986EF37300E)},
2424          {UINT64_C(0xD81F75A868006D45), UINT64_C(0xDF7814EACBC06D4D),
2425           UINT64_C(0x5BCF959B2E8E9150), UINT64_C(0x146D37D756668C18)}},
2426         {{UINT64_C(0x1ABD731288E8DC77), UINT64_C(0x0B34B877C1C3A4DB),
2427           UINT64_C(0x85739093F844BACE), UINT64_C(0x5DEDCF8F04A7CF80)},
2428          {UINT64_C(0xD8BB237ED87CDBDC), UINT64_C(0x89852174CCBA784F),
2429           UINT64_C(0x6843BAB8B2FAECC3), UINT64_C(0x15268302AA4BBA32)}},
2430         {{UINT64_C(0x3B58225AB23D3770), UINT64_C(0x9357EB5910CC9DE6),
2431           UINT64_C(0x8665F92A42ECF80E), UINT64_C(0x4819CC9DC875C031)},
2432          {UINT64_C(0x09CBE5D8C34B979B), UINT64_C(0x161E8AC07E1D0E63),
2433           UINT64_C(0x874DF24F282E36E8), UINT64_C(0x6528E6FA0712A0CD)}},
2434         {{UINT64_C(0xE37AD786107633E4), UINT64_C(0x122D7123CF1FE646),
2435           UINT64_C(0x1E6E682BCFA93AC0), UINT64_C(0x0A25F4EE276200DB)},
2436          {UINT64_C(0x44E290EDE25FBB01), UINT64_C(0x3E392DF5C3C1B418),
2437           UINT64_C(0xE5E1574583EBE689), UINT64_C(0x016139D24B999926)}},
2438         {{UINT64_C(0x048915B065D7DA58), UINT64_C(0x6EF7C4EFA78F3D9E),
2439           UINT64_C(0x78CCCE55AD614974), UINT64_C(0x43DB7DA054B95643)},
2440          {UINT64_C(0xFC423B70E53F1A67), UINT64_C(0x8F8BED814EFE2427),
2441           UINT64_C(0xF5D6AD5F95B045EB), UINT64_C(0x23582D5DD7407716)}},
2442         {{UINT64_C(0x9E5D24FB9F674472), UINT64_C(0x1AE1863668626041),
2443           UINT64_C(0x8977E68F7ABC4380), UINT64_C(0x7D9FF8E805AF2D04)},
2444          {UINT64_C(0x9D31195F4197C4E1), UINT64_C(0x9F3F6E114400F35E),
2445           UINT64_C(0x1A87D5867BBEF801), UINT64_C(0x42AE0380952BB025)}},
2446         {{UINT64_C(0xC6A3ED756B96482B), UINT64_C(0x58B38724A9C6DD2F),
2447           UINT64_C(0x464C8CE89297FB47), UINT64_C(0x0245797EFB6D6C55)},
2448          {UINT64_C(0xBE141C80C0B58C8F), UINT64_C(0xC4C405CB77766C48),
2449           UINT64_C(0xD57EE428D10C0F31), UINT64_C(0x03D4862B50E8FE7B)}},
2450         {{UINT64_C(0x21976F8A1DC3722C), UINT64_C(0x02EC30D55F476F0D),
2451           UINT64_C(0xD711E01DCA434B06), UINT64_C(0x551AC91099FF2488)},
2452          {UINT64_C(0x24AEC72DA56CA3C7), UINT64_C(0x2DD1219A891896CE),
2453           UINT64_C(0xD84BAD1967882925), UINT64_C(0x27E65D7F9D4778EF)}},
2454         {{UINT64_C(0x09F19C8F4685687F), UINT64_C(0xB7C7B9E3BBB58BD3),
2455           UINT64_C(0x349D03A78FA34DD5), UINT64_C(0x41F9D0038D59E889)},
2456          {UINT64_C(0xCF3367D42B3ED6FA), UINT64_C(0xCF3C6715378DA1ED),
2457           UINT64_C(0x86DC39034E935E9A), UINT64_C(0x50692CFFF08CB23A)}},
2458         {{UINT64_C(0x18CA772AC2D65C87), UINT64_C(0xC9092B384F1D0CB6),
2459           UINT64_C(0x91E71CF1BBD2015A), UINT64_C(0x4A09DAAC4F3DEF26)},
2460          {UINT64_C(0x7CCA7B4A735C9281), UINT64_C(0x2028F1441BF0AAEE),
2461           UINT64_C(0xCF72A082ACB5B748), UINT64_C(0x58957D5D43299B85)}},
2462         {{UINT64_C(0x64BB164E901F1789), UINT64_C(0xC68766E65AEF97BF),
2463           UINT64_C(0x30ECA3E2942B6DCE), UINT64_C(0x632676FAF9E798F3)},
2464          {UINT64_C(0xB52533D3F13896EE), UINT64_C(0xAD9128312D8A29C1),
2465           UINT64_C(0x12F1B9A4BC14E7FF), UINT64_C(0x4E1D23FD8828D196)}},
2466     },
2467     {
2468         {{UINT64_C(0xC4F89E00EF494793), UINT64_C(0xA6044BC3C93D2F55),
2469           UINT64_C(0x68E60B588797F8AF), UINT64_C(0x4D5969FA841E4B5E)},
2470          {UINT64_C(0xB1EE70FBD759BB2D), UINT64_C(0x9AC3043366D8AD01),
2471           UINT64_C(0xD93F23DB84E9F677), UINT64_C(0x2AD9D16FC53029A4)}},
2472         {{UINT64_C(0xD01FC16BDD882D23), UINT64_C(0x3BF921F1FA5B4128),
2473           UINT64_C(0x3D3FE145235BC9CE), UINT64_C(0x5955671662E686E1)},
2474          {UINT64_C(0xE329A7C279F99D69), UINT64_C(0xA67EF5ECA4F5F5F5),
2475           UINT64_C(0xF96A41EED5A34FF0), UINT64_C(0x09D0CF0674674B5F)}},
2476         {{UINT64_C(0x8CCDF71C6135B7E2), UINT64_C(0x91F1E33EAFB6AD6B),
2477           UINT64_C(0xC452F439DB0CFEDF), UINT64_C(0x15724711C05B06D4)},
2478          {UINT64_C(0x5FEE0E0EA3BC1277), UINT64_C(0xD6847FAD8D8BA081),
2479           UINT64_C(0x8B02666C0D4C8DDD), UINT64_C(0x149E5009C35559DB)}},
2480         {{UINT64_C(0xB4D0D2C95461D9CA), UINT64_C(0xFE7993B6CE0A3973),
2481           UINT64_C(0x42B2A500D6032E95), UINT64_C(0x4DEEE35A217131C6)},
2482          {UINT64_C(0x94E65C8CFFE7C2EB), UINT64_C(0x0DAD7785B19D4B4A),
2483           UINT64_C(0xEEBA6794925613F9), UINT64_C(0x6AF45BBEE30494CB)}},
2484         {{UINT64_C(0x41352A6132F43F67), UINT64_C(0x0D218DE948F886D3),
2485           UINT64_C(0xCDFC0C559B33B0F6), UINT64_C(0x21FC63536C5B90CD)},
2486          {UINT64_C(0x5D8CA5AD7898AFF2), UINT64_C(0xA743F80E24287C30),
2487           UINT64_C(0x4D0371319084A3A2), UINT64_C(0x52041EEDB5EFC978)}},
2488         {{UINT64_C(0x80B588EECC1BCFCB), UINT64_C(0xAD871A11E5CE0035),
2489           UINT64_C(0xF47224D0F966D746), UINT64_C(0x5215A9D2B387FCC2)},
2490          {UINT64_C(0xC54EB2E7695C02AF), UINT64_C(0x36FD06BCDFC8493D),
2491           UINT64_C(0x1CE8A9AA98CE7C76), UINT64_C(0x058DFCBF644D398B)}},
2492         {{UINT64_C(0xCD7E67DC5BB81464), UINT64_C(0xE7A19301047A7789),
2493           UINT64_C(0xCCC31EE5573E837B), UINT64_C(0x25EE99AFAF7703D5)},
2494          {UINT64_C(0x34FDD6DADDB3E807), UINT64_C(0x273D8288109092DD),
2495           UINT64_C(0xF8F2464FB7357633), UINT64_C(0x26B2CBADCCAA31D5)}},
2496         {{UINT64_C(0xBA9CFEDEF707F9F7), UINT64_C(0xA9A6896CAC4975FB),
2497           UINT64_C(0x62135D9DBB1C35E4), UINT64_C(0x13AE840FCBA133D2)},
2498          {UINT64_C(0x6ABF39134C2BA3A9), UINT64_C(0xE4D8508A6D8A62C1),
2499           UINT64_C(0xF256535466D96607), UINT64_C(0x5C368CCEB6CABAE8)}},
2500         {{UINT64_C(0x0C3B52E88B3999BB), UINT64_C(0xB752E28FEF691871),
2501           UINT64_C(0xA0460ABCF17D0D2D), UINT64_C(0x7DDCE3C1B7741F2C)},
2502          {UINT64_C(0x076A6BAB3673000F), UINT64_C(0xCDB1CD2B425E8A9D),
2503           UINT64_C(0x357FCFFF2606EAB5), UINT64_C(0x308644F8035DE7B4)}},
2504         {{UINT64_C(0xBA64A1276D6FF45E), UINT64_C(0x1F52B6AE6B0C3CEF),
2505           UINT64_C(0x91295179CBF496CB), UINT64_C(0x2B986FADA1B12BE4)},
2506          {UINT64_C(0x243D236644DBAF57), UINT64_C(0x48E22BBA346E88C2),
2507           UINT64_C(0xCDFB79578BBAFA0D), UINT64_C(0x094ED36E0D70670E)}},
2508         {{UINT64_C(0x2BAD1539A0D60407), UINT64_C(0xC1A9286E6E744111),
2509           UINT64_C(0x6D08C0DB81A6DCAA), UINT64_C(0x108F35EC80AFB34F)},
2510          {UINT64_C(0xBE79A6E31E3E34AE), UINT64_C(0x206EAA2816D524E5),
2511           UINT64_C(0x563B6E1C344ABA64), UINT64_C(0x6C362A613207CA68)}},
2512         {{UINT64_C(0x04D8145BEF9A9A0F), UINT64_C(0x8B57559BA15B6247),
2513           UINT64_C(0x72D53570303AFBF3), UINT64_C(0x01C36B41D6DB5736)},
2514          {UINT64_C(0x94D583C91173B5FA), UINT64_C(0x71F8E12D013C8AAA),
2515           UINT64_C(0xA4B5A532F29CB838), UINT64_C(0x4B1797007CE4EBA4)}},
2516         {{UINT64_C(0x69CFA7B00CE86FC3), UINT64_C(0x3705D7C0D60E076C),
2517           UINT64_C(0xB1A1464AB1091E10), UINT64_C(0x097945A97FE80950)},
2518          {UINT64_C(0xD9C71A959AA381E3), UINT64_C(0x2A929073A410FF56),
2519           UINT64_C(0x79EF8353F0FEB121), UINT64_C(0x1437C4B05F3107E5)}},
2520         {{UINT64_C(0xC5128C8B621DB2E5), UINT64_C(0x4E9C9B2E51A9499A),
2521           UINT64_C(0x11535880D8CD7594), UINT64_C(0x35A26F59B0697C07)},
2522          {UINT64_C(0xAB3F4B75C43B624E), UINT64_C(0x69F82105B8E03E6B),
2523           UINT64_C(0xFB268288FB04E036), UINT64_C(0x6A5E6BD3A0BDB41C)}},
2524         {{UINT64_C(0x8C716A1AC8082916), UINT64_C(0xB1D1B1524592472C),
2525           UINT64_C(0x63657A6D3AB6938A), UINT64_C(0x44882EB6F03214AE)},
2526          {UINT64_C(0x19575B8AC615AF7D), UINT64_C(0x14D740C135EE3D98),
2527           UINT64_C(0xBC478E8957768D2D), UINT64_C(0x30CC8FA213FC5E4C)}},
2528         {{UINT64_C(0x705607C54EBE1E7C), UINT64_C(0x631E5B88284EDA2B),
2529           UINT64_C(0x07E9E39C07F54DDB), UINT64_C(0x4E554D888DCF6BC5)},
2530          {UINT64_C(0x12E9FB200CBAB0FE), UINT64_C(0x6F3BC7CEBA5E007F),
2531           UINT64_C(0xA770BA1DBC871DF6), UINT64_C(0x541AA4C6FE01142C)}},
2532     },
2533     {
2534         {{UINT64_C(0xBFE26700F2412EC7), UINT64_C(0x0E975796CFE96AF4),
2535           UINT64_C(0x7D30BF7CDD6B04F7), UINT64_C(0x5421925DF1D8FCE4)},
2536          {UINT64_C(0x1CF5E9F5EC709107), UINT64_C(0x124FCFC2B4580AA9),
2537           UINT64_C(0x02F7012B67A835B3), UINT64_C(0x753FE01B47C0760F)}},
2538         {{UINT64_C(0x82FD5D47B1D2A896), UINT64_C(0x7EABC17554E75DDB),
2539           UINT64_C(0x724FC3A81AB080BC), UINT64_C(0x363D6016A75C31DD)},
2540          {UINT64_C(0x5D465FF2863F308F), UINT64_C(0x9EC70664E515ADCB),
2541           UINT64_C(0x4BD7A1A2B3BC206A), UINT64_C(0x2022576C4A167D34)}},
2542         {{UINT64_C(0xF5AC34515CD6AC65), UINT64_C(0x7629731E5839F554),
2543           UINT64_C(0xA3260AE393545A60), UINT64_C(0x49D190E8A7AD1979)},
2544          {UINT64_C(0x5AA8492FF0B35045), UINT64_C(0x4A5FAB7B2584E651),
2545           UINT64_C(0x5A05420E395E2AAE), UINT64_C(0x30613C78547B4038)}},
2546         {{UINT64_C(0x47E1C59DF9DAE7E6), UINT64_C(0x8D68839B247A5A9D),
2547           UINT64_C(0x663B5977C1A80D5E), UINT64_C(0x5E51F87240D8CF32)},
2548          {UINT64_C(0x88ADBF9EECE49494), UINT64_C(0x40B4AC5C1792BAE8),
2549           UINT64_C(0x278200D19A1B3314), UINT64_C(0x7D15320ED9F83584)}},
2550         {{UINT64_C(0xFE6DAA74EAF2BFF8), UINT64_C(0x6E4EE4C0C156AA6B),
2551           UINT64_C(0xD9310FF8D0F4E7D5), UINT64_C(0x552EEF9E7BB0C42D)},
2552          {UINT64_C(0x323FF6F1FDC69E1A), UINT64_C(0x00FA66B741D79365),
2553           UINT64_C(0x0006B16EA96B22B4), UINT64_C(0x71BBC653D20F07BE)}},
2554         {{UINT64_C(0x89A7B7EEA440FA1C), UINT64_C(0x52BB5278757CD658),
2555           UINT64_C(0xC5906F4BB0CDDEA4), UINT64_C(0x66AAAFEE5DE2D8DA)},
2556          {UINT64_C(0x4D5E016A53B6E226), UINT64_C(0xA2F73DC61993A1D7),
2557           UINT64_C(0x7CDD4C1DA09DD554), UINT64_C(0x6F723079AB416627)}},
2558         {{UINT64_C(0xE641639EC4E5C4AF), UINT64_C(0x8BC6100D371CC648),
2559           UINT64_C(0x7BD161B19B216E8A), UINT64_C(0x58098AEBF810DB32)},
2560          {UINT64_C(0xEE52BB465AD92372), UINT64_C(0x4B2C48E1EEF938CA),
2561           UINT64_C(0xE8FDE4D6AB43A5D0), UINT64_C(0x459274CDA5284C83)}},
2562         {{UINT64_C(0xA98925B0D015095D), UINT64_C(0xC8969F5F4611A1A5),
2563           UINT64_C(0xBDDCD62F2CE4663B), UINT64_C(0x1C9D9007A076C8BE)},
2564          {UINT64_C(0xE8DE8890749F7BE5), UINT64_C(0xC9E455E7FF208E75),
2565           UINT64_C(0xDCEE17A98F5FAC9A), UINT64_C(0x776B72D368A3A666)}},
2566         {{UINT64_C(0x28C7D648FEE0E89A), UINT64_C(0x621B370F463AF60D),
2567           UINT64_C(0x9DC1548E5ADC8ACD), UINT64_C(0x48032ACFA0B49504)},
2568          {UINT64_C(0x146C6EAC85E992D5), UINT64_C(0x5A2CB5775CB491E0),
2569           UINT64_C(0x669DD6D4454C120A), UINT64_C(0x3431AB3398203C39)}},
2570         {{UINT64_C(0xE87615039DE017BF), UINT64_C(0xAB117D2FB60AE61F),
2571           UINT64_C(0x0846463F827937FF), UINT64_C(0x45E6BD406BD89C65)},
2572          {UINT64_C(0x3160AD67A613BDB8), UINT64_C(0xBD5266F3B8714A49),
2573           UINT64_C(0xF7D29C4751A233E4), UINT64_C(0x6887B48D4DE6A90C)}},
2574         {{UINT64_C(0x087290A5DFDE1EF8), UINT64_C(0xC70CCB52A166950A),
2575           UINT64_C(0xAA7F095B4A170AAE), UINT64_C(0x15301F4E5517CA0B)},
2576          {UINT64_C(0x3C86B787302F1F84), UINT64_C(0x95D4153544676E39),
2577           UINT64_C(0xBFEC4AE39DF5F751), UINT64_C(0x4A0D3986304923D3)}},
2578         {{UINT64_C(0x70FAABA979B1390C), UINT64_C(0xA9067EEE62BA8B9E),
2579           UINT64_C(0x987895031E17DF6F), UINT64_C(0x5997E8AE78D5B295)},
2580          {UINT64_C(0x31E13AD7AE0C6768), UINT64_C(0x23262F05EF17A7B1),
2581           UINT64_C(0x1580322749B7B101), UINT64_C(0x1234A9C536B5BA70)}},
2582         {{UINT64_C(0xED65C961395793AC), UINT64_C(0x01157CD8CCDE1C47),
2583           UINT64_C(0x0D0240B01D5614DF), UINT64_C(0x0F0DA1EF568E83A5)},
2584          {UINT64_C(0x57C90846C0B783C1), UINT64_C(0x4501048C81E2F613),
2585           UINT64_C(0x03D8A69BA2709DC1), UINT64_C(0x06F365C4A97CCE0E)}},
2586         {{UINT64_C(0xEAF23159551580CD), UINT64_C(0x0F1E586A053DD5EE),
2587           UINT64_C(0xEB7A78DD3CBCC3D5), UINT64_C(0x39BBC65AB014B850)},
2588          {UINT64_C(0x13DA4E8579B61AC7), UINT64_C(0x33E78DCF0DA59E37),
2589           UINT64_C(0x4E65AF252A643C4C), UINT64_C(0x0DC38C9708869D03)}},
2590         {{UINT64_C(0x2B648345A3A38837), UINT64_C(0x2FA6D8F7905E261D),
2591           UINT64_C(0xA23BD78666A14946), UINT64_C(0x781633FD5E01CC9A)},
2592          {UINT64_C(0xB1352709E2C71AD1), UINT64_C(0x9D74505283A6D365),
2593           UINT64_C(0xD88B5CAE66567032), UINT64_C(0x27FC40DF53D875CA)}},
2594         {{UINT64_C(0xB254E54C47F7554F), UINT64_C(0x33AD0ED6D708614D),
2595           UINT64_C(0x830566A376CE908D), UINT64_C(0x73DF94BDAA1ADD5C)},
2596          {UINT64_C(0x23EC411F2DBDD8A3), UINT64_C(0x9BA473383A979FDC),
2597           UINT64_C(0x56A2C27FC667E9F7), UINT64_C(0x295647C7427E6BFB)}},
2598     },
2599     {
2600         {{UINT64_C(0x9B5F4652F8E48C13), UINT64_C(0xE979034F9EEF4BA3),
2601           UINT64_C(0xF95FD7767CF5AF6E), UINT64_C(0x4236C47E506CEB46)},
2602          {UINT64_C(0x0C02A249E08D2312), UINT64_C(0xAA5A38CCC056499A),
2603           UINT64_C(0xCB26A8E27C188B64), UINT64_C(0x38FB961D0AE373D5)}},
2604         {{UINT64_C(0xEB179C9E7B23470D), UINT64_C(0xAE70102F1EBC44E7),
2605           UINT64_C(0x8184C1D492E0EED0), UINT64_C(0x329882815C21BF08)},
2606          {UINT64_C(0x469589678180D11E), UINT64_C(0xEBD5518C7FD7278D),
2607           UINT64_C(0xFCEB7F68AD2B74F7), UINT64_C(0x082D2011F9C7B6DA)}},
2608         {{UINT64_C(0x65D5AED1BBE0299D), UINT64_C(0x0077F756CF565A0A),
2609           UINT64_C(0xD44FCD6B344BB90D), UINT64_C(0x6C2A19C0536F3F25)},
2610          {UINT64_C(0x32EE7439BB2A4D91), UINT64_C(0xA97E677AED9351E1),
2611           UINT64_C(0x6752EDCF413A16E0), UINT64_C(0x5DE1B0C71CE4FBE6)}},
2612         {{UINT64_C(0x6C10DA15D6009B36), UINT64_C(0xAAD05F4FE5D8CFBE),
2613           UINT64_C(0xD8BCE0B431D58B76), UINT64_C(0x08DE344E27B2811B)},
2614          {UINT64_C(0xD9A78AAE80B51E48), UINT64_C(0x1E1D0A813E41C63A),
2615           UINT64_C(0x844376DE8076B3C7), UINT64_C(0x73F0D4A35FDF9D53)}},
2616         {{UINT64_C(0xF1532922558C7719), UINT64_C(0x0F10188AA8221197),
2617           UINT64_C(0x51A97E5F5DDC1716), UINT64_C(0x0F583A9B444789E7)},
2618          {UINT64_C(0xAA8FC58D97D63B87), UINT64_C(0xA5AF048B1CFDA59C),
2619           UINT64_C(0x2A4A0C5F2DDB34EB), UINT64_C(0x66C0F0C7701E2E07)}},
2620         {{UINT64_C(0xC0BC88B836BE2ABF), UINT64_C(0x265CCE745C721B85),
2621           UINT64_C(0x483EBB01D54299BA), UINT64_C(0x18F11CBE348ED89E)},
2622          {UINT64_C(0x5E9AE7B9E42129D4), UINT64_C(0x6B3E9E8D81DE5B77),
2623           UINT64_C(0xB3ADBAC97A14A74A), UINT64_C(0x1B6CEBB20003B266)}},
2624         {{UINT64_C(0xD4D4DD1015EB200E), UINT64_C(0xEEAEA4C6FB87C57B),
2625           UINT64_C(0x48F0B95772FF6321), UINT64_C(0x187C4B75B782B01D)},
2626          {UINT64_C(0x3DC1AACDE9B4D622), UINT64_C(0x0358418E3F4ED519),
2627           UINT64_C(0x981A24F8773D019C), UINT64_C(0x6643CA913DB0B4F4)}},
2628         {{UINT64_C(0xE3254F4BD47670E3), UINT64_C(0x9822612530B1DDE9),
2629           UINT64_C(0x61EB6C86DA8AF160), UINT64_C(0x725C771618363269)},
2630          {UINT64_C(0xB051DC9F02F62462), UINT64_C(0xFF8C9EDF00AC5531),
2631           UINT64_C(0x3909C79B962A92A3), UINT64_C(0x25C90D9327790237)}},
2632         {{UINT64_C(0x0A5DF2CC88ADC475), UINT64_C(0x48D26967E5D27D0A),
2633           UINT64_C(0x21D5F616359FF194), UINT64_C(0x38ACD14189977CE2)},
2634          {UINT64_C(0x39B9BD92FDAA8ACB), UINT64_C(0xDB157DF2035B62D0),
2635           UINT64_C(0x4E33386EB7D252D9), UINT64_C(0x6BD2E33FCF196258)}},
2636         {{UINT64_C(0xE0806297CE8F10C5), UINT64_C(0x446AFD6D8A14B746),
2637           UINT64_C(0xD7931F29BF566190), UINT64_C(0x4D9CFBFA86FDB72A)},
2638          {UINT64_C(0x7752885195009F63), UINT64_C(0x5FE5013434C0FF45),
2639           UINT64_C(0xC38CABBB6E134B81), UINT64_C(0x2E60B277E36DB037)}},
2640         {{UINT64_C(0xA614CF6757184CA5), UINT64_C(0x6CBD8D6325BE01E3),
2641           UINT64_C(0xE313EE8DA0030BE3), UINT64_C(0x69AF03992B1E7C60)},
2642          {UINT64_C(0x519ABFBB50423F30), UINT64_C(0x200111FF486B9519),
2643           UINT64_C(0x6FF93CCB3351F692), UINT64_C(0x32EB3E543ED9BE71)}},
2644         {{UINT64_C(0x0851ACB954052EBD), UINT64_C(0x3A389B7B6D2336D7),
2645           UINT64_C(0x50A8792517C6ACD9), UINT64_C(0x031FE845B807D9B1)},
2646          {UINT64_C(0xA348BB01E22F7492), UINT64_C(0x9547ED3605F39661),
2647           UINT64_C(0x97DF675668EC4AC2), UINT64_C(0x5836FEFE85B7F81B)}},
2648         {{UINT64_C(0x4E4869A65F0B2ACB), UINT64_C(0xC4798F3FDEC46001),
2649           UINT64_C(0x281A4ED600903474), UINT64_C(0x04F22E9DEFB9AABD)},
2650          {UINT64_C(0x2AC92264FAA721A4), UINT64_C(0xBCE2FF0B276F8041),
2651           UINT64_C(0x5F605607E4943926), UINT64_C(0x388C5FAB55506DF7)}},
2652         {{UINT64_C(0xFF104F6DAB5687E2), UINT64_C(0x1B6DAFE93B2D0245),
2653           UINT64_C(0x6405C02681B2EC4B), UINT64_C(0x2B7676DAF489EBBC)},
2654          {UINT64_C(0xBAA158F06DA1F57A), UINT64_C(0x9CB044AD27A8457F),
2655           UINT64_C(0xC23737A5A3BBD6C9), UINT64_C(0x71FB5B471D2267E1)}},
2656         {{UINT64_C(0x779BD825D14F56E4), UINT64_C(0xD7E672A008396F23),
2657           UINT64_C(0x23FE3FC0D40BA6EE), UINT64_C(0x41E749E73B56A3AB)},
2658          {UINT64_C(0xD19471CE72042F67), UINT64_C(0x8A686DA74989D4D7),
2659           UINT64_C(0x52A709C64FA09BC9), UINT64_C(0x1DC21162B3B6AA64)}},
2660         {{UINT64_C(0x62C9838BF9B3BD1D), UINT64_C(0x1EE59E5A0CE6384C),
2661           UINT64_C(0xA9F5ABF6ECE8CC7F), UINT64_C(0x1961D80F80BDDA83)},
2662          {UINT64_C(0x7A40880CCA406FB1), UINT64_C(0x5035D307DFBCE2E4),
2663           UINT64_C(0x590259E03D637299), UINT64_C(0x1607AC9FD6C34E05)}},
2664     },
2665     {
2666         {{UINT64_C(0x4ABC27109D818B72), UINT64_C(0x2496CEA6092607B7),
2667           UINT64_C(0xFB1087E1055C4EC8), UINT64_C(0x50A30C6A258ADC7D)},
2668          {UINT64_C(0xAF4EB6B30FF502E3), UINT64_C(0x5D5D76AD190607AB),
2669           UINT64_C(0xC9C9B71134482C13), UINT64_C(0x574A971842213696)}},
2670         {{UINT64_C(0x7C90FAFD7018FC70), UINT64_C(0x36A045592B83291C),
2671           UINT64_C(0x6120B51E40D1B175), UINT64_C(0x45F10B203DCF9606)},
2672          {UINT64_C(0x3C6A9EFFF20C5636), UINT64_C(0xB2768BA3FFBBC648),
2673           UINT64_C(0x1C9DF90AB523B36C), UINT64_C(0x4148BF06D6FF34ED)}},
2674         {{UINT64_C(0x3D29821A3B5F9492), UINT64_C(0xAE12C78290B24561),
2675           UINT64_C(0xEF6FB2778A3BDC5F), UINT64_C(0x6034BF3BAC3BD74E)},
2676          {UINT64_C(0x131D57CD4ACB6F85), UINT64_C(0xDED1C4333BE79B31),
2677           UINT64_C(0xB091348978A896B8), UINT64_C(0x1247C0B7B287862C)}},
2678         {{UINT64_C(0xEB6428937C494054), UINT64_C(0x7922793022142D26),
2679           UINT64_C(0x8F1C8371943E8398), UINT64_C(0x583C7AEF60886DB7)},
2680          {UINT64_C(0xAFE460223A12EE0E), UINT64_C(0xE9C9253AB6CB8685),
2681           UINT64_C(0x5334F9DD6316A4C6), UINT64_C(0x4E2F13D8E6F1DEE9)}},
2682         {{UINT64_C(0x7499A5B4B37D8BA5), UINT64_C(0xA12AA6371C9BCDE2),
2683           UINT64_C(0xCC99471DBFD6AE86), UINT64_C(0x0996637892048D63)},
2684          {UINT64_C(0x42CBFA9D552E71A3), UINT64_C(0x84A8B153675C1716),
2685           UINT64_C(0xB9C07C0E4CF00A7D), UINT64_C(0x32E2322B0DA504DB)}},
2686         {{UINT64_C(0x569F581FE671EE59), UINT64_C(0x293522D7422E86C7),
2687           UINT64_C(0x5E4CEA7E15DCEF10), UINT64_C(0x67C8A9FC483C0FE3)},
2688          {UINT64_C(0x4DE5AC0947B79284), UINT64_C(0x22AB8FBD025016BA),
2689           UINT64_C(0x51318C232A099B37), UINT64_C(0x542EA0FA49E06623)}},
2690         {{UINT64_C(0xDD240F6428909F31), UINT64_C(0x46B66F9E101B7F01),
2691           UINT64_C(0x788C29CA20481C3F), UINT64_C(0x3218A509CA5D5182)},
2692          {UINT64_C(0x64BCC7AD63E9A2B9), UINT64_C(0x3D213CA2ADDF5C0B),
2693           UINT64_C(0x6D93ED4C9960D650), UINT64_C(0x3F13DB22284EE5F3)}},
2694         {{UINT64_C(0x5B678C3A6697E0D1), UINT64_C(0x25A171F416D9D878),
2695           UINT64_C(0xC20A6D80FAEC362B), UINT64_C(0x1BB3F14CC512EA4B)},
2696          {UINT64_C(0xECE5313B2AE35FA5), UINT64_C(0xE390A01FBBD76B87),
2697           UINT64_C(0xC78EA4C5882DA3FC), UINT64_C(0x771BCDAE42086A77)}},
2698         {{UINT64_C(0x8E9E3C8B565802E9), UINT64_C(0xC37A7B3553FA1BE7),
2699           UINT64_C(0x9D2F1A264408FB77), UINT64_C(0x0B3ECE36FF308B7B)},
2700          {UINT64_C(0x8FB35B361F30FC37), UINT64_C(0x463B44E283E1A3C9),
2701           UINT64_C(0x7218F09F3402233A), UINT64_C(0x1519638AFC9A6990)}},
2702         {{UINT64_C(0x51FB3E5D8EAAC478), UINT64_C(0x620E4826760ED4EC),
2703           UINT64_C(0x46FC5B1F1D865577), UINT64_C(0x15EF2AD95244A538)},
2704          {UINT64_C(0x8D7E477C4BF382BD), UINT64_C(0xCBF170C902A5C9EE),
2705           UINT64_C(0xB91A870C4AFB0EC1), UINT64_C(0x052FFC5169C31425)}},
2706         {{UINT64_C(0x1FD437462018D066), UINT64_C(0xBC5015174C67FC35),
2707           UINT64_C(0xE65BC2FBBC990EB6), UINT64_C(0x538CA6F973F87F92)},
2708          {UINT64_C(0x42FBDAE08352B03F), UINT64_C(0xF265B1E099A4C9B9),
2709           UINT64_C(0x6E3EAB2F185CA070), UINT64_C(0x6E6F4F7D37D0A2C1)}},
2710         {{UINT64_C(0x9B20D8EEC2D5D73E), UINT64_C(0x190521AE75844C15),
2711           UINT64_C(0x67663AC426AD08FE), UINT64_C(0x67AEEFEFF984EC06)},
2712          {UINT64_C(0x61C71142CBDD87EF), UINT64_C(0x0FA4995B63396E3B),
2713           UINT64_C(0x3196E55185C193B0), UINT64_C(0x36C0A2A8DACB3A3D)}},
2714         {{UINT64_C(0xEAB89FDC178A1115), UINT64_C(0xC7B764D8D7C31303),
2715           UINT64_C(0xA5B2D6FB90203755), UINT64_C(0x3C360BF9D5F8AEEE)},
2716          {UINT64_C(0x8DFDCD0502F1CC3C), UINT64_C(0x7F8A64D264E5269E),
2717           UINT64_C(0xA36196ECEA13FFD7), UINT64_C(0x35E2241577E3839F)}},
2718         {{UINT64_C(0x29E7AB0BE22E0C52), UINT64_C(0x68BF32C78B27DEDA),
2719           UINT64_C(0x52A762A2DC7971AE), UINT64_C(0x4CA4348718B0CDCC)},
2720          {UINT64_C(0xED429DA13FCEAF73), UINT64_C(0x49396E6F06718D19),
2721           UINT64_C(0xDECB93375BB3301C), UINT64_C(0x4B7723C10FF489B1)}},
2722         {{UINT64_C(0xAE321F09ABEE6B9B), UINT64_C(0xF251BF4D37318F60),
2723           UINT64_C(0xB0A8A251B63DC269), UINT64_C(0x514A25FC71817963)},
2724          {UINT64_C(0x518F574755C9B2E9), UINT64_C(0x3E56CC3E1C9B4845),
2725           UINT64_C(0xBDFD637A283AE1FA), UINT64_C(0x419BA4B4C3DE778E)}},
2726         {{UINT64_C(0xC7F18E93BCD2EB74), UINT64_C(0x171264C8FC61FB42),
2727           UINT64_C(0x27282E7685119033), UINT64_C(0x225006A4D7DB91C7)},
2728          {UINT64_C(0x628E0F3C1ECF5024), UINT64_C(0xDC5111E000859CDE),
2729           UINT64_C(0x4AB1764F1F220711), UINT64_C(0x7C6916F170DDED3C)}},
2730     },
2731     {
2732         {{UINT64_C(0xF9FFE8FC5F0CA58A), UINT64_C(0x09E34F3022879EBB),
2733           UINT64_C(0x648D6339ED7B0520), UINT64_C(0x0D6719D01AF5ECDC)},
2734          {UINT64_C(0x2878714D0B8590E4), UINT64_C(0x827D04ED90EC312B),
2735           UINT64_C(0xD415C8B43B5767C3), UINT64_C(0x4170F0ADC09FD18D)}},
2736         {{UINT64_C(0x9B649CFC3C601031), UINT64_C(0x0478603A636DDAE7),
2737           UINT64_C(0xDC972DFA914E100A), UINT64_C(0x519C55DF091621AE)},
2738          {UINT64_C(0x863046CBD4A9963D), UINT64_C(0xDF16763C5ACF7C0C),
2739           UINT64_C(0x4999A93EFF5468A4), UINT64_C(0x35543EFF424074A5)}},
2740         {{UINT64_C(0x27B1DBFADD33307C), UINT64_C(0xA0D04784927CA6F3),
2741           UINT64_C(0xBD3EBC5EA37CF855), UINT64_C(0x59D02EF549F5AA2C)},
2742          {UINT64_C(0xCDABE86FBDD57BF3), UINT64_C(0x7B3ADD2F37819D86),
2743           UINT64_C(0x7B90BA150413B7B0), UINT64_C(0x470717826B99685B)}},
2744         {{UINT64_C(0xB7C3218EEF0CE97F), UINT64_C(0xDAE3B56C0898C79C),
2745           UINT64_C(0x6349D83D0908877D), UINT64_C(0x0970C6C0C81E8C4E)},
2746          {UINT64_C(0x0E45C4A7A47F426C), UINT64_C(0xAB000A593FBB194E),
2747           UINT64_C(0x570FBBA53A6DD13E), UINT64_C(0x66045580C8F44A57)}},
2748         {{UINT64_C(0x5ABEB74912A72F7F), UINT64_C(0x15072A927AE56F4D),
2749           UINT64_C(0x1C77AE00222AB2C4), UINT64_C(0x591EAEC69AFE63DE)},
2750          {UINT64_C(0xB51D41AFDFD24304), UINT64_C(0xDE28DF26DFBCC096),
2751           UINT64_C(0x02F046C838A20DA7), UINT64_C(0x5EC3DBDC1AE0A45B)}},
2752         {{UINT64_C(0x7C19BD7563DD86C2), UINT64_C(0xDB1193118D78A57B),
2753           UINT64_C(0xF48BB4FA23C5C4E7), UINT64_C(0x65514C1C97DB0A05)},
2754          {UINT64_C(0x1BC1F2F043CAC49C), UINT64_C(0x975FEB512851B4BE),
2755           UINT64_C(0x0E0A4633DD60D530), UINT64_C(0x32BBBF1409B1D2C6)}},
2756         {{UINT64_C(0x79124749A670EAC0), UINT64_C(0x504D89D531DD893C),
2757           UINT64_C(0xDDCED74CE0654D63), UINT64_C(0x58956BE5E2208707)},
2758          {UINT64_C(0xBE6A3ECD437E7077), UINT64_C(0xB8AB332D574095C8),
2759           UINT64_C(0x4E79AC1C3869DA42), UINT64_C(0x79D4C3FB68859F51)}},
2760         {{UINT64_C(0x1E5FC1B97936A831), UINT64_C(0x1EA42ED2D74F1F41),
2761           UINT64_C(0x33D22EC1C4EA3228), UINT64_C(0x5705333F729BEBFE)},
2762          {UINT64_C(0xDBD1A67B64596076), UINT64_C(0x6BFF269DFA65BA98),
2763           UINT64_C(0x8451A9C26C47E715), UINT64_C(0x243D679D22898DB3)}},
2764         {{UINT64_C(0xE935D705B8323FD0), UINT64_C(0xE2DA88456937E5CB),
2765           UINT64_C(0x1C9DFFF84A5EAE1E), UINT64_C(0x796F0B9545DF7A79)},
2766          {UINT64_C(0xC24D573F640DBA32), UINT64_C(0x2B77521702E4B792),
2767           UINT64_C(0xD437EB6394D12C40), UINT64_C(0x6182AF6D4AD371F0)}},
2768         {{UINT64_C(0x133EDA5241FC7551), UINT64_C(0xA0088A2BE91714AF),
2769           UINT64_C(0xB41B9AC25E0A73C0), UINT64_C(0x4808BB5A1D3B3953)},
2770          {UINT64_C(0xD875AA142B9AE648), UINT64_C(0x4F38C9462408244C),
2771           UINT64_C(0x04B6B941FF051A87), UINT64_C(0x1D5B0B9E6DF48ECD)}},
2772         {{UINT64_C(0x27FD368A169E757F), UINT64_C(0x2ACB35607B94D9DB),
2773           UINT64_C(0x81903F4B4D4C9B5F), UINT64_C(0x641F806C169B81DE)},
2774          {UINT64_C(0x574E94449E957475), UINT64_C(0xE08814AEC6C8EE52),
2775           UINT64_C(0xD1AE71EC6C84FDDF), UINT64_C(0x44A56014FAA040D9)}},
2776         {{UINT64_C(0x06DA690875A48F60), UINT64_C(0x7BA6C9CBBB2CD408),
2777           UINT64_C(0x57D2D0FF3A1BCBFF), UINT64_C(0x186F1A8B8928CE36)},
2778          {UINT64_C(0x0FFD205B7A40F877), UINT64_C(0x2915BC8E01AF68F7),
2779           UINT64_C(0x816AC4DFC36A5FB1), UINT64_C(0x609B0A872C9E1F7D)}},
2780         {{UINT64_C(0x4032AC5EB97536FB), UINT64_C(0x53E6FE68A7C5EDB6),
2781           UINT64_C(0x2F4149305F0DCBA1), UINT64_C(0x209752562837E314)},
2782          {UINT64_C(0xDF5DC4963C3C1D27), UINT64_C(0x0DFDAAF371797C36),
2783           UINT64_C(0x5F3E9229DA504E04), UINT64_C(0x354EA88D8C234246)}},
2784         {{UINT64_C(0xAF6741C30922D317), UINT64_C(0x7429853B9DF0A572),
2785           UINT64_C(0x0EA1AE041DC207A8), UINT64_C(0x2C1DAA1C450075F5)},
2786          {UINT64_C(0x27C71F166ED729B4), UINT64_C(0x785718A653AB8EC0),
2787           UINT64_C(0x1EEC7BBFA8465487), UINT64_C(0x78DA9B044C578BA9)}},
2788         {{UINT64_C(0xFF9ED65EB3B707FA), UINT64_C(0xF8C8301FF5D28D33),
2789           UINT64_C(0xB15D498FA65F5C0F), UINT64_C(0x6DEF256DB0EF2B89)},
2790          {UINT64_C(0x0D40A6B252184EF6), UINT64_C(0xC702EBE52BF06F5A),
2791           UINT64_C(0x13E50E184BA041AA), UINT64_C(0x53552D887EC4C784)}},
2792         {{UINT64_C(0x2CD09B19F28ABB3A), UINT64_C(0x4F5C040F724EDB9B),
2793           UINT64_C(0xD6820590E0DCBD16), UINT64_C(0x45D84DE91B7155A3)},
2794          {UINT64_C(0x995BDD01A251B1BA), UINT64_C(0x607F951737CAA4DC),
2795           UINT64_C(0x747FEA1CA15D9674), UINT64_C(0x646C187673E97C97)}},
2796     },
2797     {
2798         {{UINT64_C(0x1951682B6FAC1486), UINT64_C(0x8B578E1E4A4D14C5),
2799           UINT64_C(0x083FA101B7384D42), UINT64_C(0x13380CE9ED1C8A87)},
2800          {UINT64_C(0xC7052ED8732A493B), UINT64_C(0xD5FEF40FB32E3D69),
2801           UINT64_C(0xA64ACE8788833566), UINT64_C(0x6E36CFDB4177DC00)}},
2802         {{UINT64_C(0xAA14E281E742C3B4), UINT64_C(0xB75E7B2AEE5AF40A),
2803           UINT64_C(0x3FC5FF0B1616EFA2), UINT64_C(0x090259B0AD763298)},
2804          {UINT64_C(0x4105B57E38753438), UINT64_C(0x70ED1A00CF2D8926),
2805           UINT64_C(0x78921395322F40BB), UINT64_C(0x3AEE819967A3FF56)}},
2806         {{UINT64_C(0x88073D0011EA75FC), UINT64_C(0xD23D279606A4B4EB),
2807           UINT64_C(0x1FD22F9ED85D3A6B), UINT64_C(0x6B5EA051AFB43B70)},
2808          {UINT64_C(0x96C9C176D99BE576), UINT64_C(0x85AC2B6C4C47261E),
2809           UINT64_C(0x2726395999A9C378), UINT64_C(0x6D36E9FE8B5CABDA)}},
2810         {{UINT64_C(0xC9FC7661A58F614C), UINT64_C(0x82AA317D2E45AE73),
2811           UINT64_C(0xDCB1925FC8CB9CC7), UINT64_C(0x1341C1AA27813205)},
2812          {UINT64_C(0xDD06745B6CD478AB), UINT64_C(0x0C2534B21E28F6A3),
2813           UINT64_C(0xE21833459D27FE63), UINT64_C(0x7F1E2A3306466147)}},
2814         {{UINT64_C(0x378D727E5AEE2471), UINT64_C(0xB718FC17D47739B6),
2815           UINT64_C(0xDA27CB9B4145E8EF), UINT64_C(0x3F8AB1A30EF2AB20)},
2816          {UINT64_C(0xA89ADD37E16C0141), UINT64_C(0x2127823B59DF1C95),
2817           UINT64_C(0x53F90B73B7455CC2), UINT64_C(0x7F9605861183FBE5)}},
2818         {{UINT64_C(0x56D0475AE77235C3), UINT64_C(0xED2907C5B18ED61A),
2819           UINT64_C(0x2D02C4CB7D73F6F8), UINT64_C(0x35EF69B4C42E7AED)},
2820          {UINT64_C(0x53A6120A31B7324A), UINT64_C(0x982DD22159F1A395),
2821           UINT64_C(0x03ECA86F835CFD94), UINT64_C(0x4CBA837D73CA1BD5)}},
2822         {{UINT64_C(0x64F66D3941B17E6D), UINT64_C(0x3C869BF5CB14F3B3),
2823           UINT64_C(0x1EBA045A28350EFA), UINT64_C(0x7ACFB882C7CDEC47)},
2824          {UINT64_C(0x7ACFD28D8FB3097B), UINT64_C(0xDA397C3162986426),
2825           UINT64_C(0xD49F84212A1A7A94), UINT64_C(0x7B372E2DFAB65156)}},
2826         {{UINT64_C(0x3ADBDD0701D9DB0F), UINT64_C(0x617521E694FF0CFB),
2827           UINT64_C(0x5BA5905C3F5BD583), UINT64_C(0x6F89603378670CD1)},
2828          {UINT64_C(0x0A59C447FB98EA11), UINT64_C(0x59B918CC653EDC59),
2829           UINT64_C(0x00BF4D2A9F72C01E), UINT64_C(0x748455D147DEE00F)}},
2830         {{UINT64_C(0xE371A7A8386E7491), UINT64_C(0xF71711CC621A3484),
2831           UINT64_C(0x1568256EE0015C3B), UINT64_C(0x5ACEF7A67D3FFDE9)},
2832          {UINT64_C(0x02ED70E5B08E4219), UINT64_C(0x7ECE1726832AC3AA),
2833           UINT64_C(0xC3C0D32B951D1CA2), UINT64_C(0x4C99166438DECC59)}},
2834         {{UINT64_C(0xB99DF8BA96EB21A4), UINT64_C(0xB88D25F42BBF8E6D),
2835           UINT64_C(0x16B3E0B1686DAA3C), UINT64_C(0x1131456170D47C57)},
2836          {UINT64_C(0x8DCDC3D13338342D), UINT64_C(0xE6D39B0188E028A7),
2837           UINT64_C(0xB781F1ED72855B5E), UINT64_C(0x0E0D82F6CC192572)}},
2838         {{UINT64_C(0xC86A8E5DCF1E20AA), UINT64_C(0x1A87AEF3F9AB96D5),
2839           UINT64_C(0xA8941635F3D19051), UINT64_C(0x67B1D0A2654FFF15)},
2840          {UINT64_C(0x266FD5ED92862ACD), UINT64_C(0xB72587BED11DEEAC),
2841           UINT64_C(0x5CF0D2E2D09320AA), UINT64_C(0x68456EBA515E0277)}},
2842         {{UINT64_C(0x86A5461C771F64CA), UINT64_C(0xB7A220B748FF8D7A),
2843           UINT64_C(0x9A0DD72AD7A568D1), UINT64_C(0x18F5E1DCF644D858)},
2844          {UINT64_C(0xB7AE1BC23E00364F), UINT64_C(0xD7EA31F3CEE8D9F7),
2845           UINT64_C(0xD18DA30FDCDB883D), UINT64_C(0x179CFCA5CBA00F48)}},
2846         {{UINT64_C(0x496F2C0139E7860C), UINT64_C(0xACDF8B4027F15EAF),
2847           UINT64_C(0x8871966C687AC815), UINT64_C(0x6228F1B58DB8FDB5)},
2848          {UINT64_C(0x8644656AF30ECF2B), UINT64_C(0x15576CC2AE1DEAFF),
2849           UINT64_C(0x93D86D56697AB3FC), UINT64_C(0x3E4A428E811E3FF2)}},
2850         {{UINT64_C(0xFB85DE3D91B9F5DF), UINT64_C(0xCDB595D4B20A9C71),
2851           UINT64_C(0x55CB08F3B44D671E), UINT64_C(0x780FC2E5FCD7D5ED)},
2852          {UINT64_C(0x815AB41F7F939366), UINT64_C(0xA7597A02ECD52B20),
2853           UINT64_C(0x9BE078F04648E3C5), UINT64_C(0x7A3E217917BD3DC2)}},
2854         {{UINT64_C(0x22758C419D9E5E53), UINT64_C(0x44D675F49EF09FAE),
2855           UINT64_C(0x1AB7986D27159F97), UINT64_C(0x72B3F02BB6B9465B)},
2856          {UINT64_C(0xA372FAC7FE56F578), UINT64_C(0x33FA6479DA534F4A),
2857           UINT64_C(0xB0003307DF63BF2D), UINT64_C(0x34D40B4DB80D0F64)}},
2858         {{UINT64_C(0x8A8929DC3D2B9FC2), UINT64_C(0x7D12E86C55EE75E5),
2859           UINT64_C(0xB3FE1AD392E1A870), UINT64_C(0x27148C94729CFE4C)},
2860          {UINT64_C(0x6A8C3B5218BA868B), UINT64_C(0xDD2006E47F038A9C),
2861           UINT64_C(0x4606FA9EB7124908), UINT64_C(0x434A8C07F4940CB1)}},
2862     },
2863     {
2864         {{UINT64_C(0x15F36EBEF98B91EA), UINT64_C(0x94D802DEC1ED17B1),
2865           UINT64_C(0x3C45FA08085D77F8), UINT64_C(0x0A30B3C302FF571A)},
2866          {UINT64_C(0x70F5852D264C93D0), UINT64_C(0x5E51BCAB191AEE57),
2867           UINT64_C(0xD5C14AE9FAD8E96E), UINT64_C(0x73B00534D4BC414B)}},
2868         {{UINT64_C(0x21CF876B12AFF5E7), UINT64_C(0x3E9F664CF75799A6),
2869           UINT64_C(0xC23B7D199A0E73CD), UINT64_C(0x77AAB691427EEA36)},
2870          {UINT64_C(0x2E74F972604EE854), UINT64_C(0x8712C7A0F867C81A),
2871           UINT64_C(0x6085980F953A4C56), UINT64_C(0x2DB997070F7707E1)}},
2872         {{UINT64_C(0x5ECC087F78BDB7A7), UINT64_C(0x43CC156C04C693F2),
2873           UINT64_C(0x965067CF039BD7F1), UINT64_C(0x72140E566E3FAE2F)},
2874          {UINT64_C(0x26452E4DE019DED1), UINT64_C(0x6F4C23492EDEF154),
2875           UINT64_C(0xA7066D7F054DFC0F), UINT64_C(0x544E6F6D3381AB44)}},
2876         {{UINT64_C(0x9B6E94699214C791), UINT64_C(0xD74F9C5586938BDC),
2877           UINT64_C(0x0F1527F6FC2928FD), UINT64_C(0x5B0FBF0F63C3A053)},
2878          {UINT64_C(0xAC1F442CFC41FF10), UINT64_C(0x34EF88EF787B4932),
2879           UINT64_C(0xF8120F08316732AC), UINT64_C(0x7BCCF12CA655DC4A)}},
2880         {{UINT64_C(0x750DF97FA6C7760E), UINT64_C(0xF1A0A827609BF215),
2881           UINT64_C(0x7348C1B467FD04B4), UINT64_C(0x6A581016615C8145)},
2882          {UINT64_C(0x9DC012259A11AAFC), UINT64_C(0x24F65B053F2B0C8B),
2883           UINT64_C(0xA27CB8BFDCB1B2A4), UINT64_C(0x3C44B811E48C1A71)}},
2884         {{UINT64_C(0xBC059AF2F780B295), UINT64_C(0xDF58928C0B6B247D),
2885           UINT64_C(0x224D4C3C01903F3D), UINT64_C(0x7152E120818EE0AC)},
2886          {UINT64_C(0x6C8F474554BFF1BE), UINT64_C(0x98A6C7EC431ADEF7),
2887           UINT64_C(0xDCB6BB7591B2CFB6), UINT64_C(0x145F6D397E83A5BB)}},
2888         {{UINT64_C(0x827C000C81D23BC1), UINT64_C(0x5CDC1135403956FC),
2889           UINT64_C(0xD967A5B13C751158), UINT64_C(0x52AF85BC96201D7D)},
2890          {UINT64_C(0x522BC492644558F7), UINT64_C(0xF74A35AFED7A060D),
2891           UINT64_C(0x10E5F9FD4DC4619E), UINT64_C(0x06071F1F324F60BB)}},
2892         {{UINT64_C(0xC5FFD5EF65921C34), UINT64_C(0x46CE1A69302BAA5D),
2893           UINT64_C(0x89CC84EC4E22FF1D), UINT64_C(0x16A481AE68131754)},
2894          {UINT64_C(0x2A06A156B89039F5), UINT64_C(0x40B6401BB3A95AB9),
2895           UINT64_C(0xFFCC53EB313820C3), UINT64_C(0x256B00E7EA959F76)}},
2896         {{UINT64_C(0xCCE87FC954FBDD74), UINT64_C(0xEC258542B23C6E1D),
2897           UINT64_C(0x5BE392B49E5E1928), UINT64_C(0x65AF311047A8A759)},
2898          {UINT64_C(0x943F7A2547DFFD31), UINT64_C(0xDCCDA18651E896FA),
2899           UINT64_C(0x71A93B1E933E747F), UINT64_C(0x44F5C468DFB043AD)}},
2900         {{UINT64_C(0xF6AEC52C786FCCBA), UINT64_C(0x23D49DCF6D51FA78),
2901           UINT64_C(0x0F81463B9B40D8E6), UINT64_C(0x18B9D932708D3DA2)},
2902          {UINT64_C(0x796F94EDF986DC6D), UINT64_C(0x33B2CCC1FC2622C3),
2903           UINT64_C(0x16790DFB9CCEC606), UINT64_C(0x6F5D1452CFD31481)}},
2904         {{UINT64_C(0x91F15DDC6C3A15D6), UINT64_C(0x45D12F404D360E75),
2905           UINT64_C(0xF2E28EE81DAFFC9C), UINT64_C(0x5CC6A0566CDF5566)},
2906          {UINT64_C(0x855166D21779B9BF), UINT64_C(0x92BA5EF4CF94D9FE),
2907           UINT64_C(0x1266FB2A985BC1DD), UINT64_C(0x4572CE8FCA3018AD)}},
2908         {{UINT64_C(0x8729A12DBE4BB604), UINT64_C(0x6A29C8494E99E9AB),
2909           UINT64_C(0x54AE50117A89894D), UINT64_C(0x5E66A255CDB0EEBD)},
2910          {UINT64_C(0x006736EACBEE153B), UINT64_C(0x8A36CC2D225E7B86),
2911           UINT64_C(0xF731E430EC0598EC), UINT64_C(0x49338E4D7FD9A11F)}},
2912         {{UINT64_C(0xE038CE03DA6DABAA), UINT64_C(0x13A08DCE7C1BCE0C),
2913           UINT64_C(0x12D00DD0DA89EFBF), UINT64_C(0x70A13FB96FCF0510)},
2914          {UINT64_C(0x16ED1C925CDB03E2), UINT64_C(0xDF1AB61D08E9EE4B),
2915           UINT64_C(0x48983DA803AF3E3D), UINT64_C(0x63CCA113429DB770)}},
2916         {{UINT64_C(0x6D9AC1EBCFB805E5), UINT64_C(0x47C3FE6950FA37B8),
2917           UINT64_C(0xD308EC732C33D457), UINT64_C(0x3CB08E00D4CCA340)},
2918          {UINT64_C(0xC078DAD0BE862794), UINT64_C(0x2D147F83F4E10A57),
2919           UINT64_C(0xE91820FF3DE1B3D5), UINT64_C(0x3D85DD726F30491B)}},
2920         {{UINT64_C(0xD486A022F5CBDD3A), UINT64_C(0x2663134ACAC0B99E),
2921           UINT64_C(0x42DE13F55F3ABFCA), UINT64_C(0x4967A225B365B973)},
2922          {UINT64_C(0x99C98A2510F1F997), UINT64_C(0x23F057C97714FAB2),
2923           UINT64_C(0xCE07CA6E1BA2338D), UINT64_C(0x3BA69161069F65D7)}},
2924         {{UINT64_C(0xCCD8C86FC026FB0E), UINT64_C(0xF49F1FEA50407A8C),
2925           UINT64_C(0x72FEA37B7F19A1DB), UINT64_C(0x22A03E253F457DB7)},
2926          {UINT64_C(0x2D6C62B271F736D2), UINT64_C(0xCC99F8E7A5ACB4E5),
2927           UINT64_C(0x8F7DBF2E0DE5F380), UINT64_C(0x24494786352B4933)}},
2928     },
2929     {
2930         {{UINT64_C(0xF020E7A9AE2A5E8F), UINT64_C(0x5ADC788BD14C5F02),
2931           UINT64_C(0xC5E5AFE465C84DB4), UINT64_C(0x392FACC435C2633C)},
2932          {UINT64_C(0x47D5007042DEE269), UINT64_C(0x76706ED76EB7849C),
2933           UINT64_C(0x6BF56D56316548CB), UINT64_C(0x4A466066D37FF4DF)}},
2934         {{UINT64_C(0xC8EBBFB5C30283AD), UINT64_C(0x31E9CF963544E645),
2935           UINT64_C(0x90EA9A4988886B50), UINT64_C(0x5E4B8C88021D3D5D)},
2936          {UINT64_C(0xA4DB92250DFEB658), UINT64_C(0x8AA95DB61910FDAE),
2937           UINT64_C(0x82E9A997DE400EB9), UINT64_C(0x238967E996769A04)}},
2938         {{UINT64_C(0x1ABB076A89E2DF0A), UINT64_C(0xDA8B09B007065929),
2939           UINT64_C(0x332BE8A563BD349B), UINT64_C(0x0EB973CEA2D35385)},
2940          {UINT64_C(0x67F7AE639C7D375E), UINT64_C(0xA235818DE7AE90B1),
2941           UINT64_C(0x2B59C26E817493B0), UINT64_C(0x39DC105033C4ACD6)}},
2942         {{UINT64_C(0x11801ACE7B7DB3F5), UINT64_C(0x79C214C38CC97CA5),
2943           UINT64_C(0xB4BFE1ABBF2674BF), UINT64_C(0x598EA7DC43252011)},
2944          {UINT64_C(0x217FF6D3B08F8EF5), UINT64_C(0x9797BBC98B9226B7),
2945           UINT64_C(0xAB8E98C97B0EDB09), UINT64_C(0x240EC22D083A401F)}},
2946         {{UINT64_C(0x55A75BCF459ABC3D), UINT64_C(0xB2F9859864ECC2DC),
2947           UINT64_C(0x271C47C39EE84779), UINT64_C(0x0166E5D4BF9BDBF2)},
2948          {UINT64_C(0xD205380F4215B666), UINT64_C(0xF704139664E9FE64),
2949           UINT64_C(0x4C737E942BB0DA40), UINT64_C(0x2E763521C8119691)}},
2950         {{UINT64_C(0x79550B60FD2F8593), UINT64_C(0x47E00AFD0C17A56F),
2951           UINT64_C(0x0D900A9DB44157CF), UINT64_C(0x016CF746A81BED76)},
2952          {UINT64_C(0xC21E861BAC47A84B), UINT64_C(0x0E14387A1724BD47),
2953           UINT64_C(0xC209303E2077F7BC), UINT64_C(0x33B5EB59BAD12F0B)}},
2954         {{UINT64_C(0x7152354F9850FC1F), UINT64_C(0x1239576F83637934),
2955           UINT64_C(0xB00C4E4E82AF46BA), UINT64_C(0x563D5062EC3FEEFF)},
2956          {UINT64_C(0xEF25E37333D67B7F), UINT64_C(0x3A80A50E50D9845E),
2957           UINT64_C(0x1DCED1E9A5787EF5), UINT64_C(0x15723E9AA0F87C3C)}},
2958         {{UINT64_C(0x217435112B4A156D), UINT64_C(0xB75C041CCD12BD2B),
2959           UINT64_C(0x6947368C79F393A6), UINT64_C(0x32CDE49E76420E56)},
2960          {UINT64_C(0x67FBA31543D612FF), UINT64_C(0x697F7FAEE3B87BC2),
2961           UINT64_C(0x980DAFBC7391129A), UINT64_C(0x438B28586F707469)}},
2962         {{UINT64_C(0xDA8AD16D5E9D085F), UINT64_C(0xE636F1AF768FA87C),
2963           UINT64_C(0x08520756B85FF1F1), UINT64_C(0x1B8184816ABB31BE)},
2964          {UINT64_C(0x25B3DCB92E686F1A), UINT64_C(0xE12821342B0CB829),
2965           UINT64_C(0x626232BC3B9B759C), UINT64_C(0x797316BB38C4338E)}},
2966         {{UINT64_C(0xF8365B644A62DCBD), UINT64_C(0xC2CF51BA6BF0EFED),
2967           UINT64_C(0x37E379EFABF74764), UINT64_C(0x5DC32071A350D603)},
2968          {UINT64_C(0x5465CC805B732100), UINT64_C(0x3231B4E3B3BB5366),
2969           UINT64_C(0x23F5385ED0D067CE), UINT64_C(0x76CD762167D33451)}},
2970         {{UINT64_C(0xC6C93A0555D857DD), UINT64_C(0xB4B6F1768F308F7F),
2971           UINT64_C(0x2371CD88C0F13577), UINT64_C(0x1E507D6C70807D9D)},
2972          {UINT64_C(0x7A77CCE1C73E8E2F), UINT64_C(0x1DD96274FCCBDEEB),
2973           UINT64_C(0xA4DBEA5D03F378B8), UINT64_C(0x44B4DF552A1C347F)}},
2974         {{UINT64_C(0x9853D2828D067A47), UINT64_C(0xBF0ADAF486813E74),
2975           UINT64_C(0xFDE1F24D39409037), UINT64_C(0x0E629604973B045D)},
2976          {UINT64_C(0x9880A74B3BB92FAB), UINT64_C(0xBC4E3405C6C4D6C6),
2977           UINT64_C(0x98C243185184A2D6), UINT64_C(0x07D65412C210C183)}},
2978         {{UINT64_C(0x3938E528441A5FBC), UINT64_C(0x2CCD837DCCC66B22),
2979           UINT64_C(0x075FADE75E606282), UINT64_C(0x321811654BB0E76A)},
2980          {UINT64_C(0xE7240305FC929890), UINT64_C(0x1FA427C8E03AAA52),
2981           UINT64_C(0xF23C879B0BC7B9F8), UINT64_C(0x699A1235D6BBC908)}},
2982         {{UINT64_C(0x20C2978114124B8A), UINT64_C(0x0C6464B348000278),
2983           UINT64_C(0xF1939127D644E10C), UINT64_C(0x47A479E64EC07EE3)},
2984          {UINT64_C(0xB631576877023389), UINT64_C(0xC0FD319D8BFDD90F),
2985           UINT64_C(0x0EBEC2006CB022D4), UINT64_C(0x6810DF3D302F58EF)}},
2986         {{UINT64_C(0xCF97FA07ACB1C3F2), UINT64_C(0xACC60D84A2C3F2F1),
2987           UINT64_C(0x4EF3CAAC5DEB73D4), UINT64_C(0x654D0D90D5472C1D)},
2988          {UINT64_C(0x5A39A718E4729062), UINT64_C(0x84B286B08324E0F2),
2989           UINT64_C(0xA07A01CBD21E8457), UINT64_C(0x0EC091C7B094714E)}},
2990         {{UINT64_C(0x7AB81940895736BD), UINT64_C(0x9AE791B7E4679DF5),
2991           UINT64_C(0x36163D81F064109B), UINT64_C(0x3DDEE4A40E956B07)},
2992          {UINT64_C(0xE146E7EEFEAAE47C), UINT64_C(0x81C0C2A76A8EEC03),
2993           UINT64_C(0x10BB8DD9A8C315CB), UINT64_C(0x2CB423D8D21B9AB0)}},
2994     },
2995     {
2996         {{UINT64_C(0x5B11D3C7166A5B9A), UINT64_C(0x973627BB8768861D),
2997           UINT64_C(0x82A5E2CD5A3E442A), UINT64_C(0x13F6C741DDE63678)},
2998          {UINT64_C(0x8DAA3C74D892738E), UINT64_C(0x0A07D651A932376F),
2999           UINT64_C(0xE12612C56892504B), UINT64_C(0x619D2B1DCA3FF301)}},
3000         {{UINT64_C(0x2B6D686F1B07CEB7), UINT64_C(0x90C0260C298D0996),
3001           UINT64_C(0x8CAAB926102BC73C), UINT64_C(0x445A6487AEB3911C)},
3002          {UINT64_C(0x7EE1E54757F17290), UINT64_C(0xC055478B417711BF),
3003           UINT64_C(0x29EF9FEC5CFA42C2), UINT64_C(0x5A022DE42B8EA0D6)}},
3004         {{UINT64_C(0x81A5EC18AEEB2675), UINT64_C(0xA867C5AAAD1BBA8A),
3005           UINT64_C(0xAECB36888DB47EBC), UINT64_C(0x77CE00BC26D1038F)},
3006          {UINT64_C(0xADC635EF3E68504B), UINT64_C(0x0EFC21DEDAE8AF4F),
3007           UINT64_C(0xDE57FD43AC70C4C9), UINT64_C(0x123360BEE78FFC0D)}},
3008         {{UINT64_C(0xD608DB32D82B61DB), UINT64_C(0x05AF2A908E45C853),
3009           UINT64_C(0xF1B8213E9D3B0032), UINT64_C(0x2312F8ABCAD15361)},
3010          {UINT64_C(0xDC8D8E32C29EE818), UINT64_C(0x07D7A475DE5CD587),
3011           UINT64_C(0x766109130C6C38B8), UINT64_C(0x0131B6C6D7984BD9)}},
3012         {{UINT64_C(0xC05CD4D0CF69C844), UINT64_C(0x747C092D81A9B005),
3013           UINT64_C(0x0D793551D9E39F54), UINT64_C(0x3BBB00DA7FFEF17C)},
3014          {UINT64_C(0x6CAB83D9655AD7C1), UINT64_C(0x601BECD066A8F590),
3015           UINT64_C(0xFADB086DAE51811B), UINT64_C(0x7768A5D8D69F734B)}},
3016         {{UINT64_C(0x3BB9B347F0E2385E), UINT64_C(0x376C8C48F7D39F23),
3017           UINT64_C(0xE656C1A4D82EC840), UINT64_C(0x328B25C9FC2AC59A)},
3018          {UINT64_C(0xD02B2F39A046BEE6), UINT64_C(0xDBAB19A580066D6C),
3019           UINT64_C(0x6A2E8F67E938B7F7), UINT64_C(0x645A57A1AA7F2661)}},
3020         {{UINT64_C(0x6227904D9A006FAE), UINT64_C(0xA975FC4CB598CB72),
3021           UINT64_C(0x945BFC2FA1120B82), UINT64_C(0x437A8AB42AC15CE5)},
3022          {UINT64_C(0xA512A1070F53317C), UINT64_C(0x7B552554FF9BD7D6),
3023           UINT64_C(0xF81213E754155AF9), UINT64_C(0x0923F42CFDCE0842)}},
3024         {{UINT64_C(0x135239165216BB55), UINT64_C(0xF27E4C7A599CA117),
3025           UINT64_C(0x464D040A7DD95BE1), UINT64_C(0x408974863C417D05)},
3026          {UINT64_C(0x0A3D16BF7C88E5D7), UINT64_C(0x0B94C661C13B286F),
3027           UINT64_C(0xF73C7126E2214821), UINT64_C(0x4B3D5BF0F2F6DAFA)}},
3028         {{UINT64_C(0xCFABD8A2F1A4332A), UINT64_C(0x56DB1546BAAC9A51),
3029           UINT64_C(0x8CC5204B04416247), UINT64_C(0x75EC13BFF0583310)},
3030          {UINT64_C(0x0D68896ED35B55D0), UINT64_C(0xE89274E267FC14D9),
3031           UINT64_C(0x18D425C0FC322878), UINT64_C(0x69477DD7916C714A)}},
3032         {{UINT64_C(0x427CBB6C9BDDF0F9), UINT64_C(0xCF6941E2DB9F52CB),
3033           UINT64_C(0xEF144DF635E60DFA), UINT64_C(0x27B5246EB61DF45C)},
3034          {UINT64_C(0x0E124518B8D3D1D9), UINT64_C(0xBB3BA1348B313B95),
3035           UINT64_C(0x050DCBDF0FA2B7A9), UINT64_C(0x50DBCF6D1D0A99B5)}},
3036         {{UINT64_C(0x8A8B22CB3924A1E5), UINT64_C(0x86CB4C5A118F9D55),
3037           UINT64_C(0xE5330ACC5B339C53), UINT64_C(0x6D5FDDF966A35A67)},
3038          {UINT64_C(0xC95007196F6438A5), UINT64_C(0x9723F2BA07E5394E),
3039           UINT64_C(0xA9CE2117866B45A8), UINT64_C(0x1B737D8D045CA2CA)}},
3040         {{UINT64_C(0x6093F5A56EE00E30), UINT64_C(0x5CAB98D45DE0A6FC),
3041           UINT64_C(0xADFB652C65DE754F), UINT64_C(0x679900D1862EFD1D)},
3042          {UINT64_C(0x6E5C230FAFC5D235), UINT64_C(0x3A1E557912CF6DD3),
3043           UINT64_C(0x241C20FB03FB4FA0), UINT64_C(0x562FFAE320F6C013)}},
3044         {{UINT64_C(0x6EFC732F397F25EC), UINT64_C(0x304D1F7DBC1F03B8),
3045           UINT64_C(0xA2FA60018890DADE), UINT64_C(0x4F91F97C51A25539)},
3046          {UINT64_C(0xE75F9C5048F4EF02), UINT64_C(0xCC53F460218AEE9D),
3047           UINT64_C(0xE7B4048910D76649), UINT64_C(0x148F90A242ECDBA4)}},
3048         {{UINT64_C(0xBF45023A1F683AD6), UINT64_C(0x2EA5F70C95E868D1),
3049           UINT64_C(0x47A19F33A97F2DE3), UINT64_C(0x3C8CCA9E8A76ED9F)},
3050          {UINT64_C(0x01562C6EE1A268D0), UINT64_C(0x9EB6EBACBA4EF01E),
3051           UINT64_C(0x835E64D4342410FB), UINT64_C(0x06F96B87FFF4594D)}},
3052         {{UINT64_C(0xE49A383AD233612B), UINT64_C(0x3CA5421FC9C14F64),
3053           UINT64_C(0x25192E1BBB53DF81), UINT64_C(0x3C1451FEA94C046C)},
3054          {UINT64_C(0x72B270F80423FAA8), UINT64_C(0xFF63513D3763888A),
3055           UINT64_C(0xB22F2F20C1745190), UINT64_C(0x2E005A7A35DEA32C)}},
3056         {{UINT64_C(0x6B5A4E7A6305B2EB), UINT64_C(0xF017BCA19CCD05D2),
3057           UINT64_C(0xB37027C9D19AD8CB), UINT64_C(0x2CFCB4700CBB36A6)},
3058          {UINT64_C(0x17F4FE51663F3485), UINT64_C(0x7DC20A170DC3467B),
3059           UINT64_C(0x6B56BA3F4AF63CBD), UINT64_C(0x4E7CF2890D5D64AF)}},
3060     },
3061     {
3062         {{UINT64_C(0xE2C5CD1F7F59D2E9), UINT64_C(0x6B9ACEB79D7FBE1E),
3063           UINT64_C(0x84F0441DA20225B0), UINT64_C(0x15875CDA8B369FBC)},
3064          {UINT64_C(0xED1332770659E294), UINT64_C(0x7FAA913E7AE02043),
3065           UINT64_C(0xCA0E58DA9DCEDE14), UINT64_C(0x5F6A70FDCDE68547)}},
3066         {{UINT64_C(0x524B790DE7282711), UINT64_C(0x4B4F6246BCA05694),
3067           UINT64_C(0x85169ECB949AF774), UINT64_C(0x5B168842CC743068)},
3068          {UINT64_C(0xB8D0E9F231FB3BA3), UINT64_C(0x56DD4BC362D471C7),
3069           UINT64_C(0xB14D689CE2A34F75), UINT64_C(0x7F4E171702E8D2D2)}},
3070         {{UINT64_C(0x8EE3491AB17090B9), UINT64_C(0x67C071166B7EDAF4),
3071           UINT64_C(0x6876E4CE4D0E6CCE), UINT64_C(0x6D2FBB64BC5A86BE)},
3072          {UINT64_C(0x0431C67A070FA8C3), UINT64_C(0x91EFF9BE0F5D65F4),
3073           UINT64_C(0x332985E2E07088DF), UINT64_C(0x006D2583676EADA8)}},
3074         {{UINT64_C(0xA1FBCC370AA747D6), UINT64_C(0xADEA4A90B0DFDF3C),
3075           UINT64_C(0x650162C7401ED81B), UINT64_C(0x0FBC4841A8B15E22)},
3076          {UINT64_C(0x1044B4E8BF98CDAC), UINT64_C(0x37071115ECD1C668),
3077           UINT64_C(0x29B93C17233C220C), UINT64_C(0x4BEBC3CCE69BC0C0)}},
3078         {{UINT64_C(0xD1A16E3746BF7E51), UINT64_C(0x889C7782F7A7370C),
3079           UINT64_C(0xC73F396E3CCB474D), UINT64_C(0x1C508F18B9D67A2E)},
3080          {UINT64_C(0x3F17E9676B03B7E7), UINT64_C(0x3928F1D8F857BB26),
3081           UINT64_C(0x3086FB2EC0EA8620), UINT64_C(0x15DC32C21BE7C3E4)}},
3082         {{UINT64_C(0xF48D4C3211F4D949), UINT64_C(0xE14A4AE3B0357C05),
3083           UINT64_C(0x77A1121F151D91AE), UINT64_C(0x33F85C2FE8C6869D)},
3084          {UINT64_C(0x8EA3BB4C364B77B0), UINT64_C(0x1F155B919BD43E50),
3085           UINT64_C(0xA6C2873054748E7D), UINT64_C(0x5AA34DDAE7DDC539)}},
3086         {{UINT64_C(0xF0F80DDAA6CF8A82), UINT64_C(0x87DE6D6C091663B5),
3087           UINT64_C(0x9479873402FE5519), UINT64_C(0x109D411F96722130)},
3088          {UINT64_C(0xBC47CA73E661041F), UINT64_C(0x071D605965741541),
3089           UINT64_C(0x7CD4DF6607E08735), UINT64_C(0x175E1F77E68FC807)}},
3090         {{UINT64_C(0xB88BDAB8DA58865B), UINT64_C(0x14AD911220ED2B89),
3091           UINT64_C(0x2B21AEDF039BF0A3), UINT64_C(0x789717779D4B77E9)},
3092          {UINT64_C(0x133DA2ACD6612EF3), UINT64_C(0x6260FCF512AD1785),
3093           UINT64_C(0xDBA784DA9DF08843), UINT64_C(0x1A30C4CF4449FBD1)}},
3094         {{UINT64_C(0xB6FECE874EF7ACA2), UINT64_C(0x9CE7B61A13F7C58C),
3095           UINT64_C(0x6B0223C9F8719A60), UINT64_C(0x21199AA5A3B3B088)},
3096          {UINT64_C(0x4A7171966938BB02), UINT64_C(0x2E9A17C9E7ABC263),
3097           UINT64_C(0x83F796234BAB12B7), UINT64_C(0x15C0C4AF49D7CFBD)}},
3098         {{UINT64_C(0x99B3413956D2957F), UINT64_C(0xA51B8DFD07218BB6),
3099           UINT64_C(0x47CA4323FC91D7C9), UINT64_C(0x44B01E753DCFD5F0)},
3100          {UINT64_C(0x29F9D18E8CE894F3), UINT64_C(0x22BCC54095227C6F),
3101           UINT64_C(0x815CD9363FC75409), UINT64_C(0x0D58B325D8989472)}},
3102         {{UINT64_C(0x8B4C6980B6C80208), UINT64_C(0xA5D974978FB77CCD),
3103           UINT64_C(0x1B8965719477132F), UINT64_C(0x348ABC213AE45F53)},
3104          {UINT64_C(0xE438C1C314BCDB96), UINT64_C(0x63150CF98007C1BF),
3105           UINT64_C(0xDB861A338508B903), UINT64_C(0x421DFB017B04ECD6)}},
3106         {{UINT64_C(0xF2FCE58B19430E7B), UINT64_C(0x851A5F03D0F8ECB7),
3107           UINT64_C(0xE756C1670A5A1833), UINT64_C(0x25A51405227F866C)},
3108          {UINT64_C(0x40F34CB03C6EE5F3), UINT64_C(0xF4010401F244B5CF),
3109           UINT64_C(0x0E21BDED01349BCF), UINT64_C(0x1B129D8204547F42)}},
3110         {{UINT64_C(0x802EC4800927D153), UINT64_C(0x0F75E4FE72541520),
3111           UINT64_C(0xA4A1557A026C4613), UINT64_C(0x25E8DAFB7D92BC18)},
3112          {UINT64_C(0x1D87A14312F15F05), UINT64_C(0x79390E3C7B6B4240),
3113           UINT64_C(0xFC199D76492E6273), UINT64_C(0x0053F1C47EB090C0)}},
3114         {{UINT64_C(0xE790F1CAACEE6DFC), UINT64_C(0xC8FB4626DFEA04FF),
3115           UINT64_C(0xBF03627F627D88D7), UINT64_C(0x1B3698843D81A75A)},
3116          {UINT64_C(0x83405DDA917FA19D), UINT64_C(0xFFB23FF98C7DDCD2),
3117           UINT64_C(0x644F54C740F10B48), UINT64_C(0x4636FADF17FF713A)}},
3118         {{UINT64_C(0xDA62ECC227F417E4), UINT64_C(0xC0DBE48FFD8662BE),
3119           UINT64_C(0x729EE4AA1011E73C), UINT64_C(0x4BAE5D3C3E11C84B)},
3120          {UINT64_C(0x854DFFF86CEF6CDA), UINT64_C(0x7939228CCB7131EA),
3121           UINT64_C(0x58B3744AD3EBC607), UINT64_C(0x6EB9248F2049E239)}},
3122         {{UINT64_C(0x0265CAE9ED0D4E57), UINT64_C(0x92166D028AA65AEF),
3123           UINT64_C(0x2E337CDA198345D6), UINT64_C(0x6775330CABE1AD7B)},
3124          {UINT64_C(0xA9A828A8BF6FBC7D), UINT64_C(0x33A56F8DCBFEA393),
3125           UINT64_C(0x2DB72F77D811EC51), UINT64_C(0x3DDFCD268327C78E)}},
3126     },
3127     {
3128         {{UINT64_C(0x7CF8A521B46AA2C4), UINT64_C(0xE3B20937ACF0D567),
3129           UINT64_C(0xD47D8D1BA440648E), UINT64_C(0x674E79201E9791A1)},
3130          {UINT64_C(0x27B714EB18366462), UINT64_C(0x1526E5588476F588),
3131           UINT64_C(0x72C8D3746C240D70), UINT64_C(0x066BBAFB805C1265)}},
3132         {{UINT64_C(0x15F1CFF5457034E1), UINT64_C(0xCF7C6550DD819FA7),
3133           UINT64_C(0x57C2CD5377AC7AD6), UINT64_C(0x7DB2A8BEAFED669D)},
3134          {UINT64_C(0x2DAFD95FD4697340), UINT64_C(0x382FF89215A6B6E7),
3135           UINT64_C(0x036FC753BF4A6B1B), UINT64_C(0x3E7AC46DE4012711)}},
3136         {{UINT64_C(0xBA5ECDED5752A34D), UINT64_C(0xB08749D46BAA08DD),
3137           UINT64_C(0x8A2B98974A4A47A8), UINT64_C(0x7230966FE42DCE02)},
3138          {UINT64_C(0xA6FF614A58654FF5), UINT64_C(0x7F3531D1AB3C2A7E),
3139           UINT64_C(0x0282A2F00D0ED417), UINT64_C(0x2DC7B872EA9755A3)}},
3140         {{UINT64_C(0x7678D7652392536A), UINT64_C(0x0C2025F1574C657D),
3141           UINT64_C(0x01701C80795413DC), UINT64_C(0x63F0D4965396279E)},
3142          {UINT64_C(0xB0F9968AFA32EA64), UINT64_C(0x81265D155BB393DE),
3143           UINT64_C(0xC05ECC6D0BCD8C10), UINT64_C(0x4F3769F92824457E)}},
3144         {{UINT64_C(0x9AA58686F13DB92E), UINT64_C(0x1155CDF4ED2E1B18),
3145           UINT64_C(0xA06E919409823F5A), UINT64_C(0x7F1BBE734257AB0E)},
3146          {UINT64_C(0x2DFB6472ABA6FCD1), UINT64_C(0x04BE6BCAD73D850E),
3147           UINT64_C(0x72AAEC34297D312B), UINT64_C(0x31F4C02C7509D9F5)}},
3148         {{UINT64_C(0xAA9BA0007CA72AD5), UINT64_C(0x21EE29457FBCB4D6),
3149           UINT64_C(0x0E210AAB1CF8580A), UINT64_C(0x600479FE0FA8DE10)},
3150          {UINT64_C(0x246FD26554322F70), UINT64_C(0xC60BE9BB60DF1893),
3151           UINT64_C(0x04D4F99D05137E38), UINT64_C(0x6ACB9E016164C176)}},
3152         {{UINT64_C(0x126F2C7EC1DB7B6C), UINT64_C(0x4C3B30B5CF4DD3C0),
3153           UINT64_C(0x827D57A2F782A489), UINT64_C(0x41B897DEE52621F0)},
3154          {UINT64_C(0xED31C55ADDA0A3CD), UINT64_C(0x21C91BB2A11AD179),
3155           UINT64_C(0x60E606B843FD6E23), UINT64_C(0x31B8138D51ED7FA6)}},
3156         {{UINT64_C(0x1387B313E72E4BC5), UINT64_C(0xDCCCB09C82EBFC72),
3157           UINT64_C(0xF0B01202AA4432D6), UINT64_C(0x632599C47C52B69D)},
3158          {UINT64_C(0x3922D0C0BCE9A04C), UINT64_C(0xC2397D88B53F4268),
3159           UINT64_C(0x50AE5ED900669858), UINT64_C(0x1B2BD4C216C7696B)}},
3160         {{UINT64_C(0x6FAE1B082BF7DF06), UINT64_C(0x870B3FE85210DB3B),
3161           UINT64_C(0x680BE4229BDC0B91), UINT64_C(0x56BA83C6BCC970AD)},
3162          {UINT64_C(0x1AE91BAC859D6C78), UINT64_C(0xC5BDD5FB2895A1A6),
3163           UINT64_C(0xA169E73C550610F5), UINT64_C(0x01B467670CC7D3EA)}},
3164         {{UINT64_C(0x1E147A510EC5ECE2), UINT64_C(0x9B612A1FD0E2C46C),
3165           UINT64_C(0x664FDD555E293783), UINT64_C(0x52070E1567DC4DBC)},
3166          {UINT64_C(0x449B53E54A4903FB), UINT64_C(0x79B53583A8D30103),
3167           UINT64_C(0x616C97F3AF7CC314), UINT64_C(0x6BEB304C2849862C)}},
3168         {{UINT64_C(0xB9C636D6019F0313), UINT64_C(0x0B08E7CBD3E0188D),
3169           UINT64_C(0xEAEB1715D704DE15), UINT64_C(0x4990282C837E7543)},
3170          {UINT64_C(0xCBB0BD49FBD3A061), UINT64_C(0x3454A8AC1DA124AE),
3171           UINT64_C(0x0D524A0237D64EAB), UINT64_C(0x766807490B3E4ADE)}},
3172         {{UINT64_C(0xC293E01195B04835), UINT64_C(0x76D304BA23D0C885),
3173           UINT64_C(0x36A63627D6552D80), UINT64_C(0x3B4FA680C504CCAB)},
3174          {UINT64_C(0xF25B3A04E1FC08DF), UINT64_C(0x786380E562D080F8),
3175           UINT64_C(0x0A731427DAC0D110), UINT64_C(0x1D65288FD628429A)}},
3176         {{UINT64_C(0x3CE5E929DC94453E), UINT64_C(0xEC7CF988B6073324),
3177           UINT64_C(0x023361E7DCB35234), UINT64_C(0x3AF20624F5E89B7C)},
3178          {UINT64_C(0x860F188EA5B2B103), UINT64_C(0x5EAC84CECB6D112F),
3179           UINT64_C(0x63B200C3914C9FFD), UINT64_C(0x327870A055A1FDCB)}},
3180         {{UINT64_C(0x4F94633C155280ED), UINT64_C(0xF98321D53654B8AA),
3181           UINT64_C(0x9C057A23489AE89A), UINT64_C(0x1124A1FBD59CA3B5)},
3182          {UINT64_C(0x2F4CE0521F64AFD7), UINT64_C(0x841EE4417C789152),
3183           UINT64_C(0x93531ED459A98374), UINT64_C(0x69A4F48C36BB8F07)}},
3184         {{UINT64_C(0xD8FFD2435FD512A7), UINT64_C(0xF48C96F19BEA1738),
3185           UINT64_C(0xF70E1F6A0FFB4553), UINT64_C(0x29DB63B15FF91D21)},
3186          {UINT64_C(0xC1355C2377BF7279), UINT64_C(0xD3946EE9A2FC904D),
3187           UINT64_C(0x07223881E7B7A9F4), UINT64_C(0x212D896756E08ED6)}},
3188         {{UINT64_C(0x32B8C22A45503451), UINT64_C(0x9E4FDAF1E6AB7B3D),
3189           UINT64_C(0x7A300E3D04A31294), UINT64_C(0x0F529DFD05FE2AEB)},
3190          {UINT64_C(0x7EFFEA9E9951B6FB), UINT64_C(0x18C60266336B9A2B),
3191           UINT64_C(0xB78A5EE16C8D0EEC), UINT64_C(0x68C17FE446ED0B23)}},
3192     },
3193     {
3194         {{UINT64_C(0xF707FAD596B3222E), UINT64_C(0xD6AF61610223F804),
3195           UINT64_C(0x13FFDC744F43A0E9), UINT64_C(0x6A3B70E93347F487)},
3196          {UINT64_C(0xBDDF02A46A4AF4F5), UINT64_C(0x61B451E1E4C69950),
3197           UINT64_C(0xFF854590F9E3BB99), UINT64_C(0x46EB1F697CD54C54)}},
3198         {{UINT64_C(0x70E643B68E6848D3), UINT64_C(0xC58B8519848C2587),
3199           UINT64_C(0x2F195C54EDF4A38E), UINT64_C(0x206E6A323D2A52E8)},
3200          {UINT64_C(0x234845B5417595BF), UINT64_C(0x90354373FF5AE3CB),
3201           UINT64_C(0x13BE31CE89C0E555), UINT64_C(0x2D18AA43CC67E26F)}},
3202         {{UINT64_C(0xC74EE8C4F041BD17), UINT64_C(0x655CF527C2B3CC64),
3203           UINT64_C(0x6735CF0A160FF053), UINT64_C(0x35DAB9EB04218A0D)},
3204          {UINT64_C(0x32BB2E9ACBC34E46), UINT64_C(0xF780CEAF7D190342),
3205           UINT64_C(0x161C0C1A9F0DA1A4), UINT64_C(0x7B198C9EE7642FD6)}},
3206         {{UINT64_C(0x936C763E122FD0B4), UINT64_C(0xA3819ED9A7E0C435),
3207           UINT64_C(0x86228B04CAAE6D7B), UINT64_C(0x2E1160187A3C65B4)},
3208          {UINT64_C(0xF55BB1F3D4EB0345), UINT64_C(0x858A0BF40630B569),
3209           UINT64_C(0x8CC22657CB78A626), UINT64_C(0x7CD93BDEB45E3005)}},
3210         {{UINT64_C(0xCAA1F45998E517AB), UINT64_C(0x36E60281B34A6F5C),
3211           UINT64_C(0x877A49F30B46F47F), UINT64_C(0x0179824B9E7BE761)},
3212          {UINT64_C(0x6830A2B2D455D9C0), UINT64_C(0xB734BA0A7BA31962),
3213           UINT64_C(0x344665A4065C3B51), UINT64_C(0x0B1D2210562E7F1D)}},
3214         {{UINT64_C(0x289BAFCA0B2E22E8), UINT64_C(0x038929A083390107),
3215           UINT64_C(0x968A014D0683E782), UINT64_C(0x5A1AD5C853D34463)},
3216          {UINT64_C(0xA26133349527B2CA), UINT64_C(0xE8471271310B745F),
3217           UINT64_C(0x49C81A2631387F59), UINT64_C(0x1B955AF70343C691)}},
3218         {{UINT64_C(0x069328ADA4A9FCA4), UINT64_C(0x14EF09A7624FCB94),
3219           UINT64_C(0x21C76F0DE3E0CECD), UINT64_C(0x5F470B866C1BCE0F)},
3220          {UINT64_C(0x79319A3FB15BC8B4), UINT64_C(0xB1407CB1DB06AFA1),
3221           UINT64_C(0xD69E9E09911116E0), UINT64_C(0x6E77524E0756579E)}},
3222         {{UINT64_C(0xD3EC5EBCE2D851D5), UINT64_C(0xC888BC2303B63143),
3223           UINT64_C(0x5F3DE41EDB0C357F), UINT64_C(0x646FFBD3C3D47D37)},
3224          {UINT64_C(0xE53F8BEB0692639B), UINT64_C(0x7E194E37D4FBC3D4),
3225           UINT64_C(0xE1988A22452B2A2E), UINT64_C(0x5D359A15B013F9E1)}},
3226         {{UINT64_C(0xA48160A7B2A6627D), UINT64_C(0x5EFDC8483CE8789E),
3227           UINT64_C(0x264CBFF1B1CD14EE), UINT64_C(0x288823D444D84222)},
3228          {UINT64_C(0x2F091B233A6DB1F8), UINT64_C(0xBFD737B5CEA89B44),
3229           UINT64_C(0x682AB86C17F5E969), UINT64_C(0x7653005CABB0FA87)}},
3230         {{UINT64_C(0x619C2629D4B8A43A), UINT64_C(0xBFDAF433B6DAF943),
3231           UINT64_C(0xDC7AA1EE6D640DB8), UINT64_C(0x35ADEEA83B08D55C)},
3232          {UINT64_C(0x30935454D7AF5382), UINT64_C(0x1F9C51A13D68A24A),
3233           UINT64_C(0xDBD13CFC78BDBEA9), UINT64_C(0x003B6D9931210A3F)}},
3234         {{UINT64_C(0xD4547A329C2B515D), UINT64_C(0x4AF29AA8FECDAAA9),
3235           UINT64_C(0x85C80ECDE401D5AD), UINT64_C(0x2830332D8AA315A1)},
3236          {UINT64_C(0x5675882371DCE198), UINT64_C(0x55AC9D106ACBDEE3),
3237           UINT64_C(0xF6D468CF575CF4BB), UINT64_C(0x46E4FA98576B5C4A)}},
3238         {{UINT64_C(0xAD20F82020D859EF), UINT64_C(0x380915882A5462B0),
3239           UINT64_C(0x35F45C9F2135DA7D), UINT64_C(0x6B426F91F7F20DBD)},
3240          {UINT64_C(0x4A0D8CBEF96E77D2), UINT64_C(0x8FC36F5BCC51D3F4),
3241           UINT64_C(0x7A1870DDBE16A0A8), UINT64_C(0x29C3E2B3114DB780)}},
3242         {{UINT64_C(0xFF692A4C21779E6E), UINT64_C(0x698231ABA6026EC1),
3243           UINT64_C(0xDAB0D835EF03E21B), UINT64_C(0x770BFFACC846D56F)},
3244          {UINT64_C(0xCD28722D3B8B0747), UINT64_C(0x3DEFE04032AE95E5),
3245           UINT64_C(0x6F5D816A0F9857D6), UINT64_C(0x2E483FEDFC630F5E)}},
3246         {{UINT64_C(0xDBF82EC4967C7140), UINT64_C(0x6265CAD10D20A2A5),
3247           UINT64_C(0x1509652B5862DEFE), UINT64_C(0x699DD93994A284E5)},
3248          {UINT64_C(0xC01166460B2CC732), UINT64_C(0x583FE01294C3EF86),
3249           UINT64_C(0xCD5DAEA8CD353430), UINT64_C(0x2B39A746C7ADA62B)}},
3250         {{UINT64_C(0xF449B989E4257BBC), UINT64_C(0x95BA21BAA90DCCE6),
3251           UINT64_C(0xDD53AD5C93CA4ACD), UINT64_C(0x7FCF27380BB4213B)},
3252          {UINT64_C(0x0E57C1C0C2E7E54E), UINT64_C(0xD1769DAEA1A0E975),
3253           UINT64_C(0x68F62C4EC3B6E13B), UINT64_C(0x75152F9A781242D8)}},
3254         {{UINT64_C(0x4D58276824B8B820), UINT64_C(0x36E37AC45BBD9F84),
3255           UINT64_C(0x1F34414ADA076F12), UINT64_C(0x08A77C283E0333C6)},
3256          {UINT64_C(0xBB1F017DD9193382), UINT64_C(0x56E9AA2483A5612D),
3257           UINT64_C(0x6959B02BD0B4554F), UINT64_C(0x2479BC56E4559B52)}},
3258     },
3259     {
3260         {{UINT64_C(0x96D631C60F570A8E), UINT64_C(0xE3F566A3D714B807),
3261           UINT64_C(0x564DD512EF7E1550), UINT64_C(0x1C5CF24A79FA2F58)},
3262          {UINT64_C(0x973BA599897958DB), UINT64_C(0x93951D1711A9CBB1),
3263           UINT64_C(0x86BA17F6A37A969A), UINT64_C(0x4807CAC7A069B195)}},
3264         {{UINT64_C(0xB64AC0D46665B35E), UINT64_C(0xBA9CD3947EF72C68),
3265           UINT64_C(0x838807B29C4CBC44), UINT64_C(0x2675D26882770197)},
3266          {UINT64_C(0xBFC2F13717087FA9), UINT64_C(0x811E644BE7B79B31),
3267           UINT64_C(0x597CE23FC963A061), UINT64_C(0x40BC32E42EA0DEB0)}},
3268         {{UINT64_C(0xC0AEFB5027C85959), UINT64_C(0x76D1087E058E0FDD),
3269           UINT64_C(0x6ADA5AAF7E51A6F8), UINT64_C(0x424B16E0054A058D)},
3270          {UINT64_C(0x9A2C20A963AF9766), UINT64_C(0x4C1CB5323CF18DAB),
3271           UINT64_C(0x599CD9296C5D6A00), UINT64_C(0x57C39BAE8AA311BF)}},
3272         {{UINT64_C(0x3FDF5B46CD987F02), UINT64_C(0x57755078353175C4),
3273           UINT64_C(0x80223EC0CD578394), UINT64_C(0x04BBA6ACAEB7D278)},
3274          {UINT64_C(0xD27FD2BE8688BFB2), UINT64_C(0xB2F80278C27A62E5),
3275           UINT64_C(0x8BA6FB07339429D8), UINT64_C(0x57737FF63AB70AA0)}},
3276         {{UINT64_C(0x0140E47F8EAEB3C9), UINT64_C(0xB91C9798735AC8EA),
3277           UINT64_C(0x325E031283D4EFAA), UINT64_C(0x1E7DA3BED9C5888E)},
3278          {UINT64_C(0xA210CDA6F7F1EB13), UINT64_C(0xEDC1F6B3936EA9E9),
3279           UINT64_C(0x46E831C41B097F65), UINT64_C(0x008576011939A0AE)}},
3280         {{UINT64_C(0x7C26F7111F68BB40), UINT64_C(0xEA69C84539DDBE6D),
3281           UINT64_C(0x590BF426E5316F22), UINT64_C(0x40CDC921CC2DF9C9)},
3282          {UINT64_C(0x28A32DDEF3F991C6), UINT64_C(0xD75B59E65356CA78),
3283           UINT64_C(0xB5DD3861D1F5F318), UINT64_C(0x09EB1A2DE7929834)}},
3284         {{UINT64_C(0x701F9A2DDBC0370D), UINT64_C(0x559D0FAF2870B59D),
3285           UINT64_C(0xE89E5DF055367B5D), UINT64_C(0x22BBD4FC74005A58)},
3286          {UINT64_C(0x7ACED1E499CDC76B), UINT64_C(0xD41C827CE3C219D3),
3287           UINT64_C(0x5AF3F2AE8221D91F), UINT64_C(0x6D62C990E5B6BC98)}},
3288         {{UINT64_C(0x23B2A0BF7FFC9D0F), UINT64_C(0xED98F71D974CA299),
3289           UINT64_C(0x10F8C07A151D559B), UINT64_C(0x40E46FC38E949C62)},
3290          {UINT64_C(0x0CF53E34BBE55338), UINT64_C(0xF2D6CF26115520D4),
3291           UINT64_C(0x915FF09A590B4E23), UINT64_C(0x072E4233BEDC75F2)}},
3292         {{UINT64_C(0xB67A6B60997E9BFA), UINT64_C(0xE7686AC9973BC3E7),
3293           UINT64_C(0x9525B4490B228320), UINT64_C(0x6C7275837ADE8F19)},
3294          {UINT64_C(0x3D064298062FF3D5), UINT64_C(0x5483826C07E22768),
3295           UINT64_C(0xF4ADE9211F7A64A4), UINT64_C(0x70BDDCF7BD92EB25)}},
3296         {{UINT64_C(0xA8DB36115D8A9E36), UINT64_C(0xAA6A5F33FA81065A),
3297           UINT64_C(0x8EC120A3366DDA90), UINT64_C(0x2AA0AB25D8A15CF7)},
3298          {UINT64_C(0x5E11E169A0DFFB9C), UINT64_C(0x8C7572E9118408A7),
3299           UINT64_C(0x4EEFD13E35833ADF), UINT64_C(0x2C6732E8FC2C1811)}},
3300         {{UINT64_C(0x15D063F9B1537DF6), UINT64_C(0x864176B30414FCFD),
3301           UINT64_C(0x9C0A194C8FF9E32E), UINT64_C(0x4DB14C6FDDE1540B)},
3302          {UINT64_C(0xFAA4AED431F6493F), UINT64_C(0x2C479F1DD3C41A46),
3303           UINT64_C(0xC31196678E5E85A2), UINT64_C(0x7E567C8084E9A76C)}},
3304         {{UINT64_C(0xB9E2C92A689A6B95), UINT64_C(0xCCEAC3833B635B01),
3305           UINT64_C(0x04FEA46534AAB952), UINT64_C(0x772E502763B5CF63)},
3306          {UINT64_C(0xCB94F5D225830581), UINT64_C(0x791004AFC77FB7DE),
3307           UINT64_C(0x53273C335140E4AE), UINT64_C(0x0C2D329EA524419F)}},
3308         {{UINT64_C(0xB7CEDA36B307B0E4), UINT64_C(0x12DF7FD00F8F9667),
3309           UINT64_C(0x74274002BF62BD94), UINT64_C(0x6765C73DC436C319)},
3310          {UINT64_C(0x79B64CE5F6EEC946), UINT64_C(0x3B1B4B43DAB258B6),
3311           UINT64_C(0x377819A3EE1F8B84), UINT64_C(0x1F45F1D676D0EB1F)}},
3312         {{UINT64_C(0xCC5BF9B358C953AD), UINT64_C(0x8303250F7BAD1D2C),
3313           UINT64_C(0xBCA7BC36F164972B), UINT64_C(0x2CACF8A9B1DFDA64)},
3314          {UINT64_C(0xB03A59B9D4E2A06F), UINT64_C(0xFED68E681B7FB8FD),
3315           UINT64_C(0x08F75A527E747AE6), UINT64_C(0x3299EA6B37A4420B)}},
3316         {{UINT64_C(0x49A00BE6932E5BA6), UINT64_C(0x4921250556114C4B),
3317           UINT64_C(0x786B7D31376183C7), UINT64_C(0x01F9E229DD8A5EAF)},
3318          {UINT64_C(0xE9B8E99053094AD4), UINT64_C(0x2EDA305CBFAEDFA8),
3319           UINT64_C(0x344437267F9E3BC8), UINT64_C(0x1729519C6B55B3C3)}},
3320         {{UINT64_C(0xEA5A68C050A597D6), UINT64_C(0xA65147D4F1E86D1B),
3321           UINT64_C(0x554FA36B8B47CDEB), UINT64_C(0x7F38364B9F24FFED)},
3322          {UINT64_C(0x657C7E051D2A8E2B), UINT64_C(0x8270F1A7E3F64D62),
3323           UINT64_C(0xFD258B59953AF5A2), UINT64_C(0x6DE0114143510AA3)}},
3324     },
3325     {
3326         {{UINT64_C(0x483904280D7A5CBE), UINT64_C(0xD37E8C1FDE441E5E),
3327           UINT64_C(0x908C88B80DE31C8C), UINT64_C(0x7C0E24BB0ACD87CE)},
3328          {UINT64_C(0x4A78117725ECCCE8), UINT64_C(0xC06C2F7ACBDA746F),
3329           UINT64_C(0xDB9E9A08AB565DD4), UINT64_C(0x1E9B44C0BE776F5B)}},
3330         {{UINT64_C(0x7CFD4E5085B54ABC), UINT64_C(0x41A4A4DCE7A44F8B),
3331           UINT64_C(0x751C5052A4422576), UINT64_C(0x534FE0B2D56B6CB1)},
3332          {UINT64_C(0x22DAA5CDD5D767D0), UINT64_C(0x9C1999AB0AF8E22C),
3333           UINT64_C(0xC70C093299259068), UINT64_C(0x459D212EFD0839F0)}},
3334         {{UINT64_C(0xA207E7DEFD32D79B), UINT64_C(0xA7B54991410B479F),
3335           UINT64_C(0x806912B6D68E5CDC), UINT64_C(0x1CB7B68C92AB8B64)},
3336          {UINT64_C(0x3DB85378DF98339F), UINT64_C(0xA24101DC83EA7A18),
3337           UINT64_C(0x8892367CE25522C5), UINT64_C(0x491A8BB37753A2C3)}},
3338         {{UINT64_C(0x571C547E8C7875A7), UINT64_C(0x7E5F23E4E9747C13),
3339           UINT64_C(0x00F3BBB21058548D), UINT64_C(0x7081F172E2397102)},
3340          {UINT64_C(0xB4351B8A6B573034), UINT64_C(0xB35A4F44C1A094F0),
3341           UINT64_C(0xE2C1DAEDAE951E96), UINT64_C(0x5CF2A742B9DAA081)}},
3342         {{UINT64_C(0xB4F0D3F09828ED9F), UINT64_C(0x6DB312FBA9251386),
3343           UINT64_C(0xC9A4583F537203F2), UINT64_C(0x5E0996399CE76D40)},
3344          {UINT64_C(0x3381B894C9F8CEA8), UINT64_C(0x8242DAF8626E07E8),
3345           UINT64_C(0x64A0B68C6077DFD9), UINT64_C(0x3CC462C0563CF051)}},
3346         {{UINT64_C(0x8937364C87AF4A45), UINT64_C(0x8C4ACBFA2DE0FD60),
3347           UINT64_C(0xF10AED11472A5D8A), UINT64_C(0x3F5674B55380C2E6)},
3348          {UINT64_C(0x8F4FD0F52BF8A452), UINT64_C(0xB436E388C7390418),
3349           UINT64_C(0xAFAB7B7CE6EE9406), UINT64_C(0x4F623177951739BA)}},
3350         {{UINT64_C(0x90B0ED35A9B50F2A), UINT64_C(0x46DC3F91AC6CF217),
3351           UINT64_C(0x2F1420312C7B119C), UINT64_C(0x55A93CBC07D79225)},
3352          {UINT64_C(0x45E0DD7DB304A642), UINT64_C(0xB743DFCDD572D446),
3353           UINT64_C(0x867B02EBAC74B368), UINT64_C(0x67B2B86C169B94B0)}},
3354         {{UINT64_C(0x18396DA7483CFEDB), UINT64_C(0x6C6E03708A3A07C2),
3355           UINT64_C(0xF32A1AFEAB554998), UINT64_C(0x408C911987D1C136)},
3356          {UINT64_C(0x755F63254BBE0B78), UINT64_C(0xDC4A7319D1178550),
3357           UINT64_C(0x44B49813B3B9E459), UINT64_C(0x0294B9A94C3D3620)}},
3358         {{UINT64_C(0x6480F6FE067FA6FF), UINT64_C(0x67891400F307A52E),
3359           UINT64_C(0x9F846EF87F865DA8), UINT64_C(0x318DAC55AE02F671)},
3360          {UINT64_C(0x91119652E288A317), UINT64_C(0x4D7CF2B8038C61B8),
3361           UINT64_C(0x098F80DD5154C1A8), UINT64_C(0x10C04F87D239A2D4)}},
3362         {{UINT64_C(0x134609265CA6F183), UINT64_C(0x5E97AD18D52001ED),
3363           UINT64_C(0x7DCD2477E14843DF), UINT64_C(0x27DAB27698A30426)},
3364          {UINT64_C(0x7939CAE3E120D80C), UINT64_C(0xC9F4646651E5B81A),
3365           UINT64_C(0xED620322E2E49D52), UINT64_C(0x3C0F5A2EFA172BBB)}},
3366         {{UINT64_C(0xBFFE87425DB1196B), UINT64_C(0xCD45F8ED49B7214E),
3367           UINT64_C(0x923ABA47C35F5C33), UINT64_C(0x16ED1F1083F3EE48)},
3368          {UINT64_C(0x042E6DF099274930), UINT64_C(0xE8AE1DCFC5F8EA16),
3369           UINT64_C(0x004462CBF02EA2B2), UINT64_C(0x427F9381D284B04E)}},
3370         {{UINT64_C(0x4CD481F875EFACC5), UINT64_C(0xD98C3FD421C83368),
3371           UINT64_C(0x4335E7C83894CE88), UINT64_C(0x18321F87955A298C)},
3372          {UINT64_C(0x073DD00AD1716E18), UINT64_C(0x66D82A5FFE0BFE61),
3373           UINT64_C(0x7D869E202310C532), UINT64_C(0x29A376FB19BF4704)}},
3374         {{UINT64_C(0xA1B12B35C149B5B0), UINT64_C(0x3411B2311E828959),
3375           UINT64_C(0x56417519560D99FB), UINT64_C(0x4E0EB143EBB52124)},
3376          {UINT64_C(0x7B594B5E6AEF3801), UINT64_C(0x00AEE12E9ECB536E),
3377           UINT64_C(0x6BF0FB2956E23145), UINT64_C(0x2B2D83B961AE8E98)}},
3378         {{UINT64_C(0x9CB3E2E86AC27F2D), UINT64_C(0x82BACA965A6280AA),
3379           UINT64_C(0xCBC6C01B2C6B7C8F), UINT64_C(0x390511BCD0C01ABD)},
3380          {UINT64_C(0xB322D97249551C0D), UINT64_C(0x7905E82E7B6489C8),
3381           UINT64_C(0x4DD0CE8B40EEC20D), UINT64_C(0x5C0B3EE72409298A)}},
3382         {{UINT64_C(0x4418D685B635FB99), UINT64_C(0x652EA6083ACE8B39),
3383           UINT64_C(0xE586FBDC46FC4047), UINT64_C(0x3C832D34D8CC13D8)},
3384          {UINT64_C(0x14CC9F23F7AA54A1), UINT64_C(0x80D094E607153B9F),
3385           UINT64_C(0x0776E5406A2EED8E), UINT64_C(0x03CC3BFC77249085)}},
3386         {{UINT64_C(0x5F8F281F1308C1A8), UINT64_C(0x31C8E737D1AFC4B7),
3387           UINT64_C(0x6778529841AE8EF2), UINT64_C(0x17716086FD028A4B)},
3388          {UINT64_C(0x1A2083E0F922E100), UINT64_C(0xD67EC9D1D53FE691),
3389           UINT64_C(0x2DF8B6EDECCA8DEB), UINT64_C(0x3B595EE4BCCC999E)}},
3390     },
3391     {
3392         {{UINT64_C(0x11F03F895A4B8C04), UINT64_C(0x254C36487DAE8E6B),
3393           UINT64_C(0xAB6EAAF1637CDB83), UINT64_C(0x41F52243FDDED8F6)},
3394          {UINT64_C(0x487078E1BBDF3270), UINT64_C(0x98853B49339CEA28),
3395           UINT64_C(0x8AF0522BAB3EDE57), UINT64_C(0x734D711F85EB4CC0)}},
3396         {{UINT64_C(0xFD1F46ADF86BA644), UINT64_C(0xA5332B97A3299855),
3397           UINT64_C(0x61BE90DBD9493634), UINT64_C(0x308F09B1C2705911)},
3398          {UINT64_C(0xD59F1B1A0B7918A5), UINT64_C(0x9CF333D0CF6399E6),
3399           UINT64_C(0xD09C63CDFBB26B6B), UINT64_C(0x76C27913A6536647)}},
3400         {{UINT64_C(0x3DF1811FAAAB555C), UINT64_C(0x60853351886C828B),
3401           UINT64_C(0xF6CA7707F1E87F41), UINT64_C(0x5B4F6EDF7D7082E6)},
3402          {UINT64_C(0xADE518E03F672DE7), UINT64_C(0x00ED0B84022541B2),
3403           UINT64_C(0x04FE5DD6618E8969), UINT64_C(0x2F5F5C65DB9CCA4D)}},
3404         {{UINT64_C(0x00B69B4596BDAE2C), UINT64_C(0x06DB22CF770604C4),
3405           UINT64_C(0xC2EB7F8F856585C3), UINT64_C(0x6E3225390413C614)},
3406          {UINT64_C(0x22C09EA870A46872), UINT64_C(0x143E73BC1FF23734),
3407           UINT64_C(0xCAC5E2DD575C20B4), UINT64_C(0x225E53903FEBE787)}},
3408         {{UINT64_C(0x594FEA4EBE9C512D), UINT64_C(0x5850709292CB73AE),
3409           UINT64_C(0xFD8EFC7DB0CE2096), UINT64_C(0x3B58C199E031D6AB)},
3410          {UINT64_C(0x55DA1CBD479F23E4), UINT64_C(0x060C6BB5A6DB6137),
3411           UINT64_C(0xD8319CF86864488E), UINT64_C(0x6C15A31B21B02EDA)}},
3412         {{UINT64_C(0x13C483728CA7084D), UINT64_C(0xF7554E59A171ECE5),
3413           UINT64_C(0x7425C5D823A97699), UINT64_C(0x6F2C68DA71E1120E)},
3414          {UINT64_C(0x9591B9B624324B64), UINT64_C(0x2DA33472C02AC704),
3415           UINT64_C(0xC5DE7FC981EE1295), UINT64_C(0x6A646A445D6E93C6)}},
3416         {{UINT64_C(0x48684061A39D6554), UINT64_C(0xB70ABF61C3DF57B6),
3417           UINT64_C(0x9824AFD658B9EEE3), UINT64_C(0x46EBE9D13A14A733)},
3418          {UINT64_C(0x8E70F95DD74F8E94), UINT64_C(0xA9D922A26AFCA4E2),
3419           UINT64_C(0x519A97536988CC16), UINT64_C(0x711DEF16D545AF8A)}},
3420         {{UINT64_C(0x362A5D95811A2BF7), UINT64_C(0x42A84A33566B90CE),
3421           UINT64_C(0x25CBC7607C41EC87), UINT64_C(0x6B77E39CD4B7DBEE)},
3422          {UINT64_C(0xA98B8201833015A4), UINT64_C(0xE412E217C31B26F4),
3423           UINT64_C(0x518BE8F0E0090782), UINT64_C(0x08D9F4B63DB51D4E)}},
3424         {{UINT64_C(0x2C80CE87297D421E), UINT64_C(0x2FD137F8ADBA1498),
3425           UINT64_C(0xA2ED3D472899AA14), UINT64_C(0x2AC924A5FE4F365A)},
3426          {UINT64_C(0xAC0389B7666DC0A0), UINT64_C(0x3CC997398ABF3D9E),
3427           UINT64_C(0x33060DB6DFBFF83A), UINT64_C(0x54EEE2150339C3B8)}},
3428         {{UINT64_C(0x06C3A4F5820F7E4D), UINT64_C(0x86F083E208C3D311),
3429           UINT64_C(0x47E29984FE4B0476), UINT64_C(0x218F52E2CA7DF6CF)},
3430          {UINT64_C(0x59317E26BF2C2084), UINT64_C(0xEA9C865B289A10CF),
3431           UINT64_C(0x7AA1E50B2074FEA3), UINT64_C(0x708A1D8C4B3EFC31)}},
3432         {{UINT64_C(0x34C5C63E864817D7), UINT64_C(0x0F614043D89E995B),
3433           UINT64_C(0x60CE8BCE975E2A03), UINT64_C(0x70916E2978493E0C)},
3434          {UINT64_C(0xBD0748F9216782C6), UINT64_C(0x0051C65AED32FB72),
3435           UINT64_C(0x9DC5F5584DD64705), UINT64_C(0x674F1A63EEC14B50)}},
3436         {{UINT64_C(0x73D6E68EDB633FD1), UINT64_C(0x7B5F8303F52F9537),
3437           UINT64_C(0x980FDDDC88A74CFB), UINT64_C(0x6419C18F47FC32D1)},
3438          {UINT64_C(0x93727B4C870B5D59), UINT64_C(0x4BCE05DECF28021D),
3439           UINT64_C(0x3C059B47AB4F0CE5), UINT64_C(0x77CA7F67B85FFDBB)}},
3440         {{UINT64_C(0xDBEADDCEC525088E), UINT64_C(0x561E12BE390D2221),
3441           UINT64_C(0xCD224FC1D9BA7AF0), UINT64_C(0x03744552394DC073)},
3442          {UINT64_C(0xCFC67B4921BB6B6E), UINT64_C(0xD234FD8D1B5F8E6A),
3443           UINT64_C(0x6DDBC18B40B7F8B0), UINT64_C(0x79F40857DAACCC74)}},
3444         {{UINT64_C(0x30E5F9909DD71B9C), UINT64_C(0x00FCBFA5291124EF),
3445           UINT64_C(0xBE595A2549B8C570), UINT64_C(0x5B4B8141BC094446)},
3446          {UINT64_C(0xB22B4F04469191B6), UINT64_C(0x10845AC8D73C4D38),
3447           UINT64_C(0x39C9F0FBED0C8224), UINT64_C(0x7E009DFBF5813BEE)}},
3448         {{UINT64_C(0xA47C2989A61D09C0), UINT64_C(0x3706F45659E55A9C),
3449           UINT64_C(0x2373976FEA0259B9), UINT64_C(0x13FC0E09077D20CC)},
3450          {UINT64_C(0xBB24DD05E78D29CF), UINT64_C(0xD8757A67822CFA02),
3451           UINT64_C(0x36CA74863C55A4C6), UINT64_C(0x4234E6893EEABBE1)}},
3452         {{UINT64_C(0xA2F54D14B46BDB51), UINT64_C(0x8A530B78675BB770),
3453           UINT64_C(0x617D7E8EDE9F1F8B), UINT64_C(0x799B3E442DCC4712)},
3454          {UINT64_C(0x658A31D8B486FE8C), UINT64_C(0x45BAFC29163D4AF0),
3455           UINT64_C(0x3A2C7F66A5289C8D), UINT64_C(0x4ECC3C7DB91FF3DB)}},
3456     },
3457     {
3458         {{UINT64_C(0x738CF1C7DF4DFD43), UINT64_C(0x72943A2DE987084C),
3459           UINT64_C(0xEA21C05F2491FF24), UINT64_C(0x3D3F4ED7DA050094)},
3460          {UINT64_C(0xF90644E461C4054D), UINT64_C(0x253792143A50E82A),
3461           UINT64_C(0x47EDB006C7DEF970), UINT64_C(0x0F8F031C0F53F307)}},
3462         {{UINT64_C(0x50FEB6D8724976D5), UINT64_C(0x57AA499FF40C7720),
3463           UINT64_C(0x6B80AC540DAAF428), UINT64_C(0x7AC6845E1F6FC276)},
3464          {UINT64_C(0x8EC7FAB117A4B9C5), UINT64_C(0x8336DD62ED0C8F97),
3465           UINT64_C(0x6014A510B7B7104E), UINT64_C(0x4991A03BA2911C30)}},
3466         {{UINT64_C(0x6D353975CBCC9BA3), UINT64_C(0x23E97E28C4564492),
3467           UINT64_C(0xDF432FDAF8AEED3E), UINT64_C(0x11DB40DD6F6B472C)},
3468          {UINT64_C(0x5B87005B95AA0174), UINT64_C(0x1DB4108089D9F1A8),
3469           UINT64_C(0x5A6BC444689DF208), UINT64_C(0x16153F87BF38FF8D)}},
3470         {{UINT64_C(0xD217003FFFD3C814), UINT64_C(0x1ADE64C3FD50AF95),
3471           UINT64_C(0x1936332C9FFB8BEB), UINT64_C(0x6EE322DCD70CD8D8)},
3472          {UINT64_C(0xE40A0419F2A60976), UINT64_C(0xA62F6FA1EF93B05B),
3473           UINT64_C(0x5978206C596575FF), UINT64_C(0x5CDCA200B68BFE5C)}},
3474         {{UINT64_C(0x3FB16AEDB7949E33), UINT64_C(0x3453892840304A1B),
3475           UINT64_C(0x7FA35A343BCA4239), UINT64_C(0x22FD1AEFEE76919E)},
3476          {UINT64_C(0x1F8FE6A40F6A5D50), UINT64_C(0x27CC704F26BBA46B),
3477           UINT64_C(0x230FD0CA3420CC52), UINT64_C(0x3E9E4DA4B3A83D85)}},
3478         {{UINT64_C(0x1D82390E7F5CC75E), UINT64_C(0x7025624549D0A605),
3479           UINT64_C(0x5B8778134FF4BC44), UINT64_C(0x28E6A057B5EC02E4)},
3480          {UINT64_C(0xBC7A10DA2E89FB84), UINT64_C(0x3AF182E520E1EA00),
3481           UINT64_C(0x4B590FFA9C507274), UINT64_C(0x26BA94D6AA7FD65B)}},
3482         {{UINT64_C(0xC02CC77C238CC195), UINT64_C(0x3F175C97A97EE3E4),
3483           UINT64_C(0x8A28FA23DFA1F9DC), UINT64_C(0x35CAC0FF1F968D15)},
3484          {UINT64_C(0x0FC41B3337C7C773), UINT64_C(0x71E06B10BC999443),
3485           UINT64_C(0x073A1ABA2C87B0A4), UINT64_C(0x29F29B129E5E8B70)}},
3486         {{UINT64_C(0xAA25F348E491FE70), UINT64_C(0x9371F94BC1713992),
3487           UINT64_C(0x674B478C4FA08818), UINT64_C(0x6F3C31FEB1407431)},
3488          {UINT64_C(0xBB7D37FBD93DD5E1), UINT64_C(0xE34A40B87E04EE7A),
3489           UINT64_C(0xCF82360DF3C33528), UINT64_C(0x0A3B8FF501477712)}},
3490         {{UINT64_C(0xA45914716B718511), UINT64_C(0x7B0CE8DED2FD6B9B),
3491           UINT64_C(0xC42544FA6845DBEF), UINT64_C(0x456A698563AF476A)},
3492          {UINT64_C(0x5DD611F69CDE4E74), UINT64_C(0x860956832B346AEB),
3493           UINT64_C(0xD15C5DA06E75B3D7), UINT64_C(0x220FFD73C72D5D2C)}},
3494         {{UINT64_C(0x478DA345D2ED888F), UINT64_C(0xA69D4FB9E04CBCC7),
3495           UINT64_C(0xA427150AB3F1179D), UINT64_C(0x1DD3B8C2D5CEA78A)},
3496          {UINT64_C(0x9462EFF0B8628A22), UINT64_C(0xB2FFFF4AB2CB44A5),
3497           UINT64_C(0x8234A3FF24039BA8), UINT64_C(0x01BE7202916DE889)}},
3498         {{UINT64_C(0x510669856DFCEF0B), UINT64_C(0x25729D98DF20CDEE),
3499           UINT64_C(0x872FD39D9693E5EF), UINT64_C(0x72D03AE12D859635)},
3500          {UINT64_C(0x3F28F84EDACAEB82), UINT64_C(0x9EB40FD6CB5284D7),
3501           UINT64_C(0x66C2DCA6C5F54041), UINT64_C(0x4BDBA3821C1F2461)}},
3502         {{UINT64_C(0xE53421970E0ED176), UINT64_C(0xF588547AA225A47F),
3503           UINT64_C(0xC83B54ED1FEB2259), UINT64_C(0x1B03791392F3733D)},
3504          {UINT64_C(0x935C97822271ECFA), UINT64_C(0x5F7E94A653CFE07C),
3505           UINT64_C(0xBFF5B0E61B40CA19), UINT64_C(0x36C7851D459445E1)}},
3506         {{UINT64_C(0xB6547971588C9748), UINT64_C(0xCFD8E81B11970562),
3507           UINT64_C(0x41333C80702FE4FA), UINT64_C(0x2F153C8C962A993B)},
3508          {UINT64_C(0x028BBD6A8BDA48AC), UINT64_C(0x7B076F88FE1DB02A),
3509           UINT64_C(0xC9560400078FB3FC), UINT64_C(0x5DCC0946035907EA)}},
3510         {{UINT64_C(0x93D7CF33A6233F1C), UINT64_C(0x03184BC4DF2A187C),
3511           UINT64_C(0x291149BCE83DAC32), UINT64_C(0x575F4279FAEDF216)},
3512          {UINT64_C(0x101427B4086FC141), UINT64_C(0xC924F2AED288562E),
3513           UINT64_C(0xDB610463EEF5799A), UINT64_C(0x20F187676A09661D)}},
3514         {{UINT64_C(0xE39BB775F59D0C20), UINT64_C(0x18DA90E2723A4EF2),
3515           UINT64_C(0x8E747A7BF56B381B), UINT64_C(0x7EF67224F98F26DC)},
3516          {UINT64_C(0xB1373AF5E1F94B99), UINT64_C(0x1076FBA60C3B6AA8),
3517           UINT64_C(0x7FCD0017A3A7811C), UINT64_C(0x6D1A697346554E7E)}},
3518         {{UINT64_C(0xE5734077B9CED2C2), UINT64_C(0xC94D17F81F770914),
3519           UINT64_C(0x58B47BCB1CD248EB), UINT64_C(0x2E06538C24804B6F)},
3520          {UINT64_C(0x275D933F32E7CA19), UINT64_C(0x1B982B491FC9241E),
3521           UINT64_C(0x8B8A6ED53986B6AC), UINT64_C(0x1756822135B4EA6A)}},
3522     },
3523     {
3524         {{UINT64_C(0x090AD05AE796327F), UINT64_C(0xA78DAE5EAD21DD4B),
3525           UINT64_C(0x8EEC9EDB9C2F8CBE), UINT64_C(0x33E375E0653E0F2D)},
3526          {UINT64_C(0xDA19EFF28D67AC72), UINT64_C(0xBFC7E62B2737AB8C),
3527           UINT64_C(0xBBF8BD1D4CF53C12), UINT64_C(0x5ABFE23F45C6D555)}},
3528         {{UINT64_C(0x32460B330DE39342), UINT64_C(0x3567454AB8977067),
3529           UINT64_C(0x10A1E47DF954592C), UINT64_C(0x4DE8C6EF4DD019C4)},
3530          {UINT64_C(0x1F1D296B1BDAAAFA), UINT64_C(0x4E6B8E8F3A75AD99),
3531           UINT64_C(0x259015E1A27FE061), UINT64_C(0x6B6A48209F320632)}},
3532         {{UINT64_C(0x8AA089AFA0B5E605), UINT64_C(0x1D6C1EEE1B4058FD),
3533           UINT64_C(0x1D920534B4E89BEF), UINT64_C(0x722A3A3516163340)},
3534          {UINT64_C(0xA3B9178CF33B49B2), UINT64_C(0xFF8FE9BB65558E90),
3535           UINT64_C(0x94766BC09794EFAE), UINT64_C(0x79A1EFA2FDFAEB42)}},
3536         {{UINT64_C(0x2FE44B97BCB6D558), UINT64_C(0xB4F4F402DB8B0A79),
3537           UINT64_C(0xF53D8AB1247C32E5), UINT64_C(0x3B883CE54DA4C009)},
3538          {UINT64_C(0xB46168BD2EC9F1C6), UINT64_C(0xD40BDE7B6B8FE01A),
3539           UINT64_C(0x60A5C168CDFE509F), UINT64_C(0x3314D87823BE249E)}},
3540         {{UINT64_C(0x02511A854D9F5769), UINT64_C(0x8398F9BDB49D6A8E),
3541           UINT64_C(0xE8D773F35D2D7135), UINT64_C(0x09B3B8AB9DECC331)},
3542          {UINT64_C(0x8D2B269B584C11D9), UINT64_C(0xF76619446B6B86A9),
3543           UINT64_C(0x719A3620C7659AF7), UINT64_C(0x3CFC8DF037C27DBE)}},
3544         {{UINT64_C(0x5EE0BE061145B14B), UINT64_C(0xAC6950E423193ED6),
3545           UINT64_C(0x7291C44CDF244C7F), UINT64_C(0x4650C16243D744EA)},
3546          {UINT64_C(0x60B92D3F34A084D8), UINT64_C(0xBBD44A0E376E5414),
3547           UINT64_C(0x5C0E488A0980F36C), UINT64_C(0x4E53FCCAD7991A09)}},
3548         {{UINT64_C(0x7A2ADBCF367B55C2), UINT64_C(0x96A88B751FED467E),
3549           UINT64_C(0x8E75E37EFB263845), UINT64_C(0x4C2E47B8EB508DD0)},
3550          {UINT64_C(0x20BF51DEB19FCD14), UINT64_C(0xD907174914CB67D0),
3551           UINT64_C(0xEC90714B29EBDA7C), UINT64_C(0x4ACADAA6634C0F2E)}},
3552         {{UINT64_C(0xA516B9B8EC715EC9), UINT64_C(0xC7DCA26342B8A87B),
3553           UINT64_C(0x2CE450C9DA27B456), UINT64_C(0x3C97481200A8819F)},
3554          {UINT64_C(0xF4822C23ECDED574), UINT64_C(0xFA737FAD19FA48D4),
3555           UINT64_C(0xE34B2F2A45D718E0), UINT64_C(0x1D6F19FEBEA7B540)}},
3556         {{UINT64_C(0xADC8FCE798E24789), UINT64_C(0xFE2F890C45869609),
3557           UINT64_C(0x6466E03C78A35C19), UINT64_C(0x24C70FEDC1F34AA9)},
3558          {UINT64_C(0x89530F7557747DD1), UINT64_C(0x343DE05B2B8CDE2D),
3559           UINT64_C(0xC33134E335CC8D5A), UINT64_C(0x3CCEFC38AC9B4F2B)}},
3560         {{UINT64_C(0x84C904B8EF923364), UINT64_C(0x46E1FECFBDDD31D8),
3561           UINT64_C(0xA8126DD6FAE79B6B), UINT64_C(0x4A53C034FBF05C9A)},
3562          {UINT64_C(0x44CA3ACBBE8F255F), UINT64_C(0x6F0FD374EC319885),
3563           UINT64_C(0xADBCB4AAF1836DC2), UINT64_C(0x6CC3A59665187EE9)}},
3564         {{UINT64_C(0x941E7821B397B5E7), UINT64_C(0xD3457371FEE2A9D5),
3565           UINT64_C(0x9F69BE4466382F60), UINT64_C(0x6DCEAD04A1F49E9B)},
3566          {UINT64_C(0xDC6BC23B3BF21647), UINT64_C(0x1500FD7FB5271BE9),
3567           UINT64_C(0x9B0994DDF23FDF3D), UINT64_C(0x38A2ECEB45065CF7)}},
3568         {{UINT64_C(0x2667CEFE0DCA8BF4), UINT64_C(0x8227ACB3E46EB469),
3569           UINT64_C(0x4C20677DA75C5B8B), UINT64_C(0x224FC5B4B36ACDFE)},
3570          {UINT64_C(0xA0007E147A6A01D3), UINT64_C(0x15C79558F8A64EED),
3571           UINT64_C(0xFB58A76A93DEDC09), UINT64_C(0x2057DDDC26F10A98)}},
3572         {{UINT64_C(0x1FF658AEBDB27AE4), UINT64_C(0x7F30DF57DDD96647),
3573           UINT64_C(0x63490B8DC7294313), UINT64_C(0x0EAEC5735435869E)},
3574          {UINT64_C(0x85F05C49DF115B78), UINT64_C(0x95739C0C62992F5D),
3575           UINT64_C(0x72F143192B573963), UINT64_C(0x05600E6486328FF4)}},
3576         {{UINT64_C(0x9BE7331FEAB0F425), UINT64_C(0x2E4CF5AA74447C20),
3577           UINT64_C(0x9B26F51266243D2A), UINT64_C(0x77C9672284AB5627)},
3578          {UINT64_C(0xEC545427601673B4), UINT64_C(0xEF6A34FB2F127AF7),
3579           UINT64_C(0x519559C1E2DFD269), UINT64_C(0x34D7D7548258E37A)}},
3580         {{UINT64_C(0xC113747B5E8B5281), UINT64_C(0x0C085456E04D779B),
3581           UINT64_C(0x3E3260521CCBCFC6), UINT64_C(0x5C954CC12A37D19F)},
3582          {UINT64_C(0xB1A4A5B39124435B), UINT64_C(0x5E8B8D4118ED98E7),
3583           UINT64_C(0xC973D969144A3793), UINT64_C(0x0CB98CC888DD8B49)}},
3584         {{UINT64_C(0x0E0233B2B48D04DF), UINT64_C(0x1B3916E07BEAA4A5),
3585           UINT64_C(0xA24A4BE4B672BE8C), UINT64_C(0x7A61506D845AB94D)},
3586          {UINT64_C(0x160DFA0FE7F4CA3B), UINT64_C(0xA9562C89D84C1148),
3587           UINT64_C(0x52979B9592A276EB), UINT64_C(0x17869B53924E86E9)}},
3588     },
3589     {
3590         {{UINT64_C(0x5D39F4781A86D0D8), UINT64_C(0xDE5932DAFB8BC8A9),
3591           UINT64_C(0xD706C6D72F5B4B70), UINT64_C(0x53F450FC8A36AFC2)},
3592          {UINT64_C(0xE1DC35401E550B3B), UINT64_C(0x475507DC8B7EB6D2),
3593           UINT64_C(0xF803F78ADFA2E5F7), UINT64_C(0x40B5F263C48097FF)}},
3594         {{UINT64_C(0x336FB00E226CDB1F), UINT64_C(0xDDC1BB0288215C40),
3595           UINT64_C(0x6C4DD40E73C07FD0), UINT64_C(0x4D0D2E498F7D15E7)},
3596          {UINT64_C(0xAF96E9B3D2061402), UINT64_C(0x15A3084A1372FCF8),
3597           UINT64_C(0x91B571E6307B02D6), UINT64_C(0x2239592F53AE7705)}},
3598         {{UINT64_C(0x7D8615A1C20B6645), UINT64_C(0xF4875767C7C4465B),
3599           UINT64_C(0xF6D3E718861702AB), UINT64_C(0x7F014A53131F726A)},
3600          {UINT64_C(0x30809F8FDAAB77CA), UINT64_C(0x7CE8DC6128F944D3),
3601           UINT64_C(0xF915111D9AEEF6A1), UINT64_C(0x246D7CC8206902FD)}},
3602         {{UINT64_C(0x7677488BEF806225), UINT64_C(0x994C8104F4C75EAE),
3603           UINT64_C(0x17586D4E4E0C8988), UINT64_C(0x70E5258090E33A2A)},
3604          {UINT64_C(0xB993F26A022D2FED), UINT64_C(0x955C130D689FBFBD),
3605           UINT64_C(0x0D3D1C63A3612E8E), UINT64_C(0x423D73E1B91A8DE6)}},
3606         {{UINT64_C(0x7274BE083027164F), UINT64_C(0xDE907B4942FDB769),
3607           UINT64_C(0x61D74449B697060D), UINT64_C(0x18A5FDC226602CC9)},
3608          {UINT64_C(0xB08DC02B049CAF4A), UINT64_C(0xC84AF48578DBA1F1),
3609           UINT64_C(0x0A5B35197178E4DF), UINT64_C(0x6EC7A7A55B26D0FE)}},
3610         {{UINT64_C(0xDEF1782F88554F05), UINT64_C(0xB73E7333D8D6DF47),
3611           UINT64_C(0x1DDF902290E9C67A), UINT64_C(0x5D217B51D56181AC)},
3612          {UINT64_C(0x7A338C7BE27F90EE), UINT64_C(0xB97CCD2A0D84A177),
3613           UINT64_C(0x3E1016017C5E3FA9), UINT64_C(0x2706E77C30FF0918)}},
3614         {{UINT64_C(0x1BD1274F72A7CB9F), UINT64_C(0x8B60357A0622DB90),
3615           UINT64_C(0x0140E14A2151BB23), UINT64_C(0x358D7DDAE9A30C4C)},
3616          {UINT64_C(0x3B15306089BFB2C6), UINT64_C(0x47462C79B6757C69),
3617           UINT64_C(0x2B22239DB43EF986), UINT64_C(0x6793671F0B774DE3)}},
3618         {{UINT64_C(0x99EDB02EF6F8EDC6), UINT64_C(0x24432760C4257DD9),
3619           UINT64_C(0x4FDD73010336EED2), UINT64_C(0x44879709F6C6506B)},
3620          {UINT64_C(0x107C7DE213F18D89), UINT64_C(0x71C71DFBA5701FBD),
3621           UINT64_C(0x97017E24C7DE3E0B), UINT64_C(0x0F8D7E09FC9EDDC2)}},
3622         {{UINT64_C(0x7A0BB3B13897E01D), UINT64_C(0x7FD4F504C5892BDE),
3623           UINT64_C(0x2EA9AA77AB752928), UINT64_C(0x19A82F559078B466)},
3624          {UINT64_C(0xEF2842C555A0F0D9), UINT64_C(0x5501EEE915B6F2B4),
3625           UINT64_C(0x9665EA6F942AA4B4), UINT64_C(0x015F41F40E707C32)}},
3626         {{UINT64_C(0x1B4D6A919C6B6FD6), UINT64_C(0xCFD2CEE968217AFC),
3627           UINT64_C(0xC5076256BBC9284D), UINT64_C(0x4C7F4EEFAC36547B)},
3628          {UINT64_C(0xAB1AAD2C65EE1907), UINT64_C(0xBCFE8C77BAC25425),
3629           UINT64_C(0x38BA0F85C9048A35), UINT64_C(0x300E6AC460A035F6)}},
3630         {{UINT64_C(0xA8EDBC5E34707CC6), UINT64_C(0x3DA6BC5156ADFC16),
3631           UINT64_C(0x5C7CB5E1CA8B6F3F), UINT64_C(0x76E4A0282D612DFA)},
3632          {UINT64_C(0x75AB66FD64F49D39), UINT64_C(0x5AF9879DC387A739),
3633           UINT64_C(0x839648083E9EDBCF), UINT64_C(0x555D8BBD7F4C4FFE)}},
3634         {{UINT64_C(0xAAE8A2FE3C5590B0), UINT64_C(0x461C6CCC8AB34213),
3635           UINT64_C(0xB2F3E8229E719B77), UINT64_C(0x25B8FCA8663188BB)},
3636          {UINT64_C(0xAA7A047B72548131), UINT64_C(0x0878FFEE189FA6F0),
3637           UINT64_C(0x9E7FB402CE3E17C3), UINT64_C(0x6F260D9344418277)}},
3638         {{UINT64_C(0x0EF1C290B703B647), UINT64_C(0x995009FA651673E4),
3639           UINT64_C(0x661F76D7BE46362D), UINT64_C(0x74B00FD123E56E7A)},
3640          {UINT64_C(0x9557D0ABA1A50E4B), UINT64_C(0xC5A1CF95587688CE),
3641           UINT64_C(0x2A14D1B27AE08ECA), UINT64_C(0x2DA8816C3C23D507)}},
3642         {{UINT64_C(0x51CB405FB9934883), UINT64_C(0xC99A67D401A6864B),
3643           UINT64_C(0xCCF622336CDFFFC3), UINT64_C(0x2938F9F998FE0B79)},
3644          {UINT64_C(0x7766691139A5AA28), UINT64_C(0xDF56CBB52427BFC0),
3645           UINT64_C(0xA39BE968189EB66D), UINT64_C(0x71E6E105A64FD2AB)}},
3646         {{UINT64_C(0xA0C6F79560F9D20B), UINT64_C(0xE06DC8BB765670CC),
3647           UINT64_C(0x9FA1DD58A67275E0), UINT64_C(0x0F7F670DE2D23BBB)},
3648          {UINT64_C(0xF8F07CF333FB15EA), UINT64_C(0x1D09B592723A0271),
3649           UINT64_C(0xF14029234E6FCAAB), UINT64_C(0x05BE1273AE301940)}},
3650         {{UINT64_C(0x2D83906C114AFD1E), UINT64_C(0x091474FDC88E5761),
3651           UINT64_C(0xAFF18EEBEF9E4F9B), UINT64_C(0x136ECAE5F4E646ED)},
3652          {UINT64_C(0xEF4526D0EB01808F), UINT64_C(0x3923EBBA940C0AEC),
3653           UINT64_C(0xAB34160CA437F460), UINT64_C(0x7A46966E421AD57C)}},
3654     }};
3655
3656 /*-
3657  * Q := 2P, both projective, Q and P same pointers OK
3658  * Autogenerated: op3/dbl_proj_any.op3
3659  * https://eprint.iacr.org/2015/1060 Alg 3
3660  */
3661 static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
3662     /* temporary variables */
3663     fe_t t0, t1, t2, t3, t4;
3664     /* constants */
3665     const limb_t *a = const_a;
3666     const limb_t *b3 = const_b3;
3667     /* set pointers for legacy curve arith */
3668     const limb_t *X = P->X;
3669     const limb_t *Y = P->Y;
3670     const limb_t *Z = P->Z;
3671     limb_t *X3 = Q->X;
3672     limb_t *Y3 = Q->Y;
3673     limb_t *Z3 = Q->Z;
3674
3675     /* the curve arith formula */
3676     fiat_id_GostR3410_2001_TestParamSet_square(t0, X);
3677     fiat_id_GostR3410_2001_TestParamSet_square(t1, Y);
3678     fiat_id_GostR3410_2001_TestParamSet_square(t2, Z);
3679     fiat_id_GostR3410_2001_TestParamSet_mul(t3, X, Y);
3680     fiat_id_GostR3410_2001_TestParamSet_add(t3, t3, t3);
3681     fiat_id_GostR3410_2001_TestParamSet_mul(t4, Y, Z);
3682     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, X, Z);
3683     fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, Z3);
3684     fiat_id_GostR3410_2001_TestParamSet_mul(X3, a, Z3);
3685     fiat_id_GostR3410_2001_TestParamSet_mul(Y3, b3, t2);
3686     fiat_id_GostR3410_2001_TestParamSet_add(Y3, X3, Y3);
3687     fiat_id_GostR3410_2001_TestParamSet_sub(X3, t1, Y3);
3688     fiat_id_GostR3410_2001_TestParamSet_add(Y3, t1, Y3);
3689     fiat_id_GostR3410_2001_TestParamSet_mul(Y3, X3, Y3);
3690     fiat_id_GostR3410_2001_TestParamSet_mul(X3, t3, X3);
3691     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, b3, Z3);
3692     fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, t2);
3693     fiat_id_GostR3410_2001_TestParamSet_sub(t3, t0, t2);
3694     fiat_id_GostR3410_2001_TestParamSet_mul(t3, a, t3);
3695     fiat_id_GostR3410_2001_TestParamSet_add(t3, t3, Z3);
3696     fiat_id_GostR3410_2001_TestParamSet_add(Z3, t0, t0);
3697     fiat_id_GostR3410_2001_TestParamSet_add(t0, Z3, t0);
3698     fiat_id_GostR3410_2001_TestParamSet_add(t0, t0, t2);
3699     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t0, t3);
3700     fiat_id_GostR3410_2001_TestParamSet_add(Y3, Y3, t0);
3701     fiat_id_GostR3410_2001_TestParamSet_add(t2, t4, t4);
3702     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t2, t3);
3703     fiat_id_GostR3410_2001_TestParamSet_sub(X3, X3, t0);
3704     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, t2, t1);
3705     fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, Z3);
3706     fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, Z3);
3707 }
3708
3709 /*-
3710  * R := Q + P where R and Q are projective, P affine.
3711  * R and Q same pointers OK
3712  * R and P same pointers not OK
3713  * Autogenerated: op3/add_mixed_any.op3
3714  * https://eprint.iacr.org/2015/1060 Alg 2
3715  */
3716 static void point_add_mixed(pt_prj_t *R, const pt_prj_t *Q, const pt_aff_t *P) {
3717     /* temporary variables */
3718     fe_t t0, t1, t2, t3, t4, t5;
3719     /* constants */
3720     const limb_t *a = const_a;
3721     const limb_t *b3 = const_b3;
3722     /* set pointers for legacy curve arith */
3723     const limb_t *X1 = Q->X;
3724     const limb_t *Y1 = Q->Y;
3725     const limb_t *Z1 = Q->Z;
3726     const limb_t *X2 = P->X;
3727     const limb_t *Y2 = P->Y;
3728     fe_t X3;
3729     fe_t Y3;
3730     fe_t Z3;
3731     limb_t nz;
3732
3733     /* check P for affine inf */
3734     fiat_id_GostR3410_2001_TestParamSet_nonzero(&nz, P->Y);
3735
3736     /* the curve arith formula */
3737     fiat_id_GostR3410_2001_TestParamSet_mul(t0, X1, X2);
3738     fiat_id_GostR3410_2001_TestParamSet_mul(t1, Y1, Y2);
3739     fiat_id_GostR3410_2001_TestParamSet_add(t3, X2, Y2);
3740     fiat_id_GostR3410_2001_TestParamSet_add(t4, X1, Y1);
3741     fiat_id_GostR3410_2001_TestParamSet_mul(t3, t3, t4);
3742     fiat_id_GostR3410_2001_TestParamSet_add(t4, t0, t1);
3743     fiat_id_GostR3410_2001_TestParamSet_sub(t3, t3, t4);
3744     fiat_id_GostR3410_2001_TestParamSet_mul(t4, X2, Z1);
3745     fiat_id_GostR3410_2001_TestParamSet_add(t4, t4, X1);
3746     fiat_id_GostR3410_2001_TestParamSet_mul(t5, Y2, Z1);
3747     fiat_id_GostR3410_2001_TestParamSet_add(t5, t5, Y1);
3748     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, a, t4);
3749     fiat_id_GostR3410_2001_TestParamSet_mul(X3, b3, Z1);
3750     fiat_id_GostR3410_2001_TestParamSet_add(Z3, X3, Z3);
3751     fiat_id_GostR3410_2001_TestParamSet_sub(X3, t1, Z3);
3752     fiat_id_GostR3410_2001_TestParamSet_add(Z3, t1, Z3);
3753     fiat_id_GostR3410_2001_TestParamSet_mul(Y3, X3, Z3);
3754     fiat_id_GostR3410_2001_TestParamSet_add(t1, t0, t0);
3755     fiat_id_GostR3410_2001_TestParamSet_add(t1, t1, t0);
3756     fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, Z1);
3757     fiat_id_GostR3410_2001_TestParamSet_mul(t4, b3, t4);
3758     fiat_id_GostR3410_2001_TestParamSet_add(t1, t1, t2);
3759     fiat_id_GostR3410_2001_TestParamSet_sub(t2, t0, t2);
3760     fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, t2);
3761     fiat_id_GostR3410_2001_TestParamSet_add(t4, t4, t2);
3762     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t1, t4);
3763     fiat_id_GostR3410_2001_TestParamSet_add(Y3, Y3, t0);
3764     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t5, t4);
3765     fiat_id_GostR3410_2001_TestParamSet_mul(X3, t3, X3);
3766     fiat_id_GostR3410_2001_TestParamSet_sub(X3, X3, t0);
3767     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t3, t1);
3768     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, t5, Z3);
3769     fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, t0);
3770
3771     /* if P is inf, throw all that away and take Q */
3772     fiat_id_GostR3410_2001_TestParamSet_selectznz(R->X, nz, Q->X, X3);
3773     fiat_id_GostR3410_2001_TestParamSet_selectznz(R->Y, nz, Q->Y, Y3);
3774     fiat_id_GostR3410_2001_TestParamSet_selectznz(R->Z, nz, Q->Z, Z3);
3775 }
3776
3777 /*-
3778  * R := Q + P all projective.
3779  * R and Q same pointers OK
3780  * R and P same pointers not OK
3781  * Autogenerated: op3/add_proj_any.op3
3782  * https://eprint.iacr.org/2015/1060 Alg 1
3783  */
3784 static void point_add_proj(pt_prj_t *R, const pt_prj_t *Q, const pt_prj_t *P) {
3785     /* temporary variables */
3786     fe_t t0, t1, t2, t3, t4, t5;
3787     /* constants */
3788     const limb_t *a = const_a;
3789     const limb_t *b3 = const_b3;
3790     /* set pointers for legacy curve arith */
3791     const limb_t *X1 = Q->X;
3792     const limb_t *Y1 = Q->Y;
3793     const limb_t *Z1 = Q->Z;
3794     const limb_t *X2 = P->X;
3795     const limb_t *Y2 = P->Y;
3796     const limb_t *Z2 = P->Z;
3797     limb_t *X3 = R->X;
3798     limb_t *Y3 = R->Y;
3799     limb_t *Z3 = R->Z;
3800
3801     /* the curve arith formula */
3802     fiat_id_GostR3410_2001_TestParamSet_mul(t0, X1, X2);
3803     fiat_id_GostR3410_2001_TestParamSet_mul(t1, Y1, Y2);
3804     fiat_id_GostR3410_2001_TestParamSet_mul(t2, Z1, Z2);
3805     fiat_id_GostR3410_2001_TestParamSet_add(t3, X1, Y1);
3806     fiat_id_GostR3410_2001_TestParamSet_add(t4, X2, Y2);
3807     fiat_id_GostR3410_2001_TestParamSet_mul(t3, t3, t4);
3808     fiat_id_GostR3410_2001_TestParamSet_add(t4, t0, t1);
3809     fiat_id_GostR3410_2001_TestParamSet_sub(t3, t3, t4);
3810     fiat_id_GostR3410_2001_TestParamSet_add(t4, X1, Z1);
3811     fiat_id_GostR3410_2001_TestParamSet_add(t5, X2, Z2);
3812     fiat_id_GostR3410_2001_TestParamSet_mul(t4, t4, t5);
3813     fiat_id_GostR3410_2001_TestParamSet_add(t5, t0, t2);
3814     fiat_id_GostR3410_2001_TestParamSet_sub(t4, t4, t5);
3815     fiat_id_GostR3410_2001_TestParamSet_add(t5, Y1, Z1);
3816     fiat_id_GostR3410_2001_TestParamSet_add(X3, Y2, Z2);
3817     fiat_id_GostR3410_2001_TestParamSet_mul(t5, t5, X3);
3818     fiat_id_GostR3410_2001_TestParamSet_add(X3, t1, t2);
3819     fiat_id_GostR3410_2001_TestParamSet_sub(t5, t5, X3);
3820     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, a, t4);
3821     fiat_id_GostR3410_2001_TestParamSet_mul(X3, b3, t2);
3822     fiat_id_GostR3410_2001_TestParamSet_add(Z3, X3, Z3);
3823     fiat_id_GostR3410_2001_TestParamSet_sub(X3, t1, Z3);
3824     fiat_id_GostR3410_2001_TestParamSet_add(Z3, t1, Z3);
3825     fiat_id_GostR3410_2001_TestParamSet_mul(Y3, X3, Z3);
3826     fiat_id_GostR3410_2001_TestParamSet_add(t1, t0, t0);
3827     fiat_id_GostR3410_2001_TestParamSet_add(t1, t1, t0);
3828     fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, t2);
3829     fiat_id_GostR3410_2001_TestParamSet_mul(t4, b3, t4);
3830     fiat_id_GostR3410_2001_TestParamSet_add(t1, t1, t2);
3831     fiat_id_GostR3410_2001_TestParamSet_sub(t2, t0, t2);
3832     fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, t2);
3833     fiat_id_GostR3410_2001_TestParamSet_add(t4, t4, t2);
3834     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t1, t4);
3835     fiat_id_GostR3410_2001_TestParamSet_add(Y3, Y3, t0);
3836     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t5, t4);
3837     fiat_id_GostR3410_2001_TestParamSet_mul(X3, t3, X3);
3838     fiat_id_GostR3410_2001_TestParamSet_sub(X3, X3, t0);
3839     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t3, t1);
3840     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, t5, Z3);
3841     fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, t0);
3842 }
3843
3844 /* constants */
3845 #define RADIX 5
3846 #define DRADIX (1 << RADIX)
3847 #define DRADIX_WNAF ((DRADIX) << 1)
3848
3849 /*-
3850  * precomp for wnaf scalar multiplication:
3851  * precomp[0] = 1P
3852  * precomp[1] = 3P
3853  * precomp[2] = 5P
3854  * precomp[3] = 7P
3855  * precomp[4] = 9P
3856  * ...
3857  */
3858 static void precomp_wnaf(pt_prj_t precomp[DRADIX / 2], const pt_aff_t *P) {
3859     int i;
3860
3861     fe_copy(precomp[0].X, P->X);
3862     fe_copy(precomp[0].Y, P->Y);
3863     fe_copy(precomp[0].Z, const_one);
3864     point_double(&precomp[DRADIX / 2 - 1], &precomp[0]);
3865
3866     for (i = 1; i < DRADIX / 2; i++)
3867         point_add_proj(&precomp[i], &precomp[DRADIX / 2 - 1], &precomp[i - 1]);
3868 }
3869
3870 /* fetch a scalar bit */
3871 static int scalar_get_bit(const unsigned char in[32], int idx) {
3872     int widx, rshift;
3873
3874     widx = idx >> 3;
3875     rshift = idx & 0x7;
3876
3877     if (idx < 0 || widx >= 32) return 0;
3878
3879     return (in[widx] >> rshift) & 0x1;
3880 }
3881
3882 /*-
3883  * Compute "regular" wnaf representation of a scalar.
3884  * See "Exponent Recoding and Regular Exponentiation Algorithms",
3885  * Tunstall et al., AfricaCrypt 2009, Alg 6.
3886  * It forces an odd scalar and outputs digits in
3887  * {\pm 1, \pm 3, \pm 5, \pm 7, \pm 9, ...}
3888  * i.e. signed odd digits with _no zeroes_ -- that makes it "regular".
3889  */
3890 static void scalar_rwnaf(int8_t out[52], const unsigned char in[32]) {
3891     int i;
3892     int8_t window, d;
3893
3894     window = (in[0] & (DRADIX_WNAF - 1)) | 1;
3895     for (i = 0; i < 51; i++) {
3896         d = (window & (DRADIX_WNAF - 1)) - DRADIX;
3897         out[i] = d;
3898         window = (window - d) >> RADIX;
3899         window += scalar_get_bit(in, (i + 1) * RADIX + 1) << 1;
3900         window += scalar_get_bit(in, (i + 1) * RADIX + 2) << 2;
3901         window += scalar_get_bit(in, (i + 1) * RADIX + 3) << 3;
3902         window += scalar_get_bit(in, (i + 1) * RADIX + 4) << 4;
3903         window += scalar_get_bit(in, (i + 1) * RADIX + 5) << 5;
3904     }
3905     out[i] = window;
3906 }
3907
3908 /*-
3909  * Compute "textbook" wnaf representation of a scalar.
3910  * NB: not constant time
3911  */
3912 static void scalar_wnaf(int8_t out[257], const unsigned char in[32]) {
3913     int i;
3914     int8_t window, d;
3915
3916     window = in[0] & (DRADIX_WNAF - 1);
3917     for (i = 0; i < 257; i++) {
3918         d = 0;
3919         if ((window & 1) && ((d = window & (DRADIX_WNAF - 1)) & DRADIX))
3920             d -= DRADIX_WNAF;
3921         out[i] = d;
3922         window = (window - d) >> 1;
3923         window += scalar_get_bit(in, i + 1 + RADIX) << RADIX;
3924     }
3925 }
3926
3927 /*-
3928  * Simultaneous scalar multiplication: interleaved "textbook" wnaf.
3929  * NB: not constant time
3930  */
3931 static void var_smul_wnaf_two(pt_aff_t *out, const unsigned char a[32],
3932                               const unsigned char b[32], const pt_aff_t *P) {
3933     int i, d, is_neg, is_inf = 1, flipped = 0;
3934     int8_t anaf[257] = {0};
3935     int8_t bnaf[257] = {0};
3936     pt_prj_t Q = {0};
3937     pt_prj_t precomp[DRADIX / 2];
3938
3939     precomp_wnaf(precomp, P);
3940     scalar_wnaf(anaf, a);
3941     scalar_wnaf(bnaf, b);
3942
3943     for (i = 256; i >= 0; i--) {
3944         if (!is_inf) point_double(&Q, &Q);
3945         if ((d = bnaf[i])) {
3946             if ((is_neg = d < 0) != flipped) {
3947                 fiat_id_GostR3410_2001_TestParamSet_opp(Q.Y, Q.Y);
3948                 flipped ^= 1;
3949             }
3950             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
3951             if (is_inf) {
3952                 /* initialize accumulator */
3953                 fe_copy(Q.X, &precomp[d].X);
3954                 fe_copy(Q.Y, &precomp[d].Y);
3955                 fe_copy(Q.Z, &precomp[d].Z);
3956                 is_inf = 0;
3957             } else
3958                 point_add_proj(&Q, &Q, &precomp[d]);
3959         }
3960         if ((d = anaf[i])) {
3961             if ((is_neg = d < 0) != flipped) {
3962                 fiat_id_GostR3410_2001_TestParamSet_opp(Q.Y, Q.Y);
3963                 flipped ^= 1;
3964             }
3965             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
3966             if (is_inf) {
3967                 /* initialize accumulator */
3968                 fe_copy(Q.X, &lut_cmb[0][d].X);
3969                 fe_copy(Q.Y, &lut_cmb[0][d].Y);
3970                 fe_copy(Q.Z, const_one);
3971                 is_inf = 0;
3972             } else
3973                 point_add_mixed(&Q, &Q, &lut_cmb[0][d]);
3974         }
3975     }
3976
3977     if (is_inf) {
3978         /* initialize accumulator to inf: all-zero scalars */
3979         fe_set_zero(Q.X);
3980         fe_copy(Q.Y, const_one);
3981         fe_set_zero(Q.Z);
3982     }
3983
3984     if (flipped) {
3985         /* correct sign */
3986         fiat_id_GostR3410_2001_TestParamSet_opp(Q.Y, Q.Y);
3987     }
3988
3989     /* convert to affine -- NB depends on coordinate system */
3990     fiat_id_GostR3410_2001_TestParamSet_inv(Q.Z, Q.Z);
3991     fiat_id_GostR3410_2001_TestParamSet_mul(out->X, Q.X, Q.Z);
3992     fiat_id_GostR3410_2001_TestParamSet_mul(out->Y, Q.Y, Q.Z);
3993 }
3994
3995 /*-
3996  * Variable point scalar multiplication with "regular" wnaf.
3997  */
3998 static void var_smul_rwnaf(pt_aff_t *out, const unsigned char scalar[32],
3999                            const pt_aff_t *P) {
4000     int i, j, d, diff, is_neg;
4001     int8_t rnaf[52] = {0};
4002     pt_prj_t Q = {0}, lut = {0};
4003     pt_prj_t precomp[DRADIX / 2];
4004
4005     precomp_wnaf(precomp, P);
4006     scalar_rwnaf(rnaf, scalar);
4007
4008 #if defined(_MSC_VER)
4009     /* result still unsigned: yes we know */
4010 #pragma warning(push)
4011 #pragma warning(disable : 4146)
4012 #endif
4013
4014     /* initialize accumulator to high digit */
4015     d = (rnaf[51] - 1) >> 1;
4016     for (j = 0; j < DRADIX / 2; j++) {
4017         diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
4018         fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.X, diff, Q.X,
4019                                                       precomp[j].X);
4020         fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Y, diff, Q.Y,
4021                                                       precomp[j].Y);
4022         fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Z, diff, Q.Z,
4023                                                       precomp[j].Z);
4024     }
4025
4026     for (i = 50; i >= 0; i--) {
4027         for (j = 0; j < RADIX; j++) point_double(&Q, &Q);
4028         d = rnaf[i];
4029         /* is_neg = (d < 0) ? 1 : 0 */
4030         is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
4031         /* d = abs(d) */
4032         d = (d ^ -is_neg) + is_neg;
4033         d = (d - 1) >> 1;
4034         for (j = 0; j < DRADIX / 2; j++) {
4035             diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
4036             fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.X, diff, lut.X,
4037                                                           precomp[j].X);
4038             fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.Y, diff, lut.Y,
4039                                                           precomp[j].Y);
4040             fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.Z, diff, lut.Z,
4041                                                           precomp[j].Z);
4042         }
4043         /* negate lut point if digit is negative */
4044         fiat_id_GostR3410_2001_TestParamSet_opp(out->Y, lut.Y);
4045         fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.Y, is_neg, lut.Y,
4046                                                       out->Y);
4047         point_add_proj(&Q, &Q, &lut);
4048     }
4049
4050 #if defined(_MSC_VER)
4051 #pragma warning(pop)
4052 #endif
4053
4054     /* conditionally subtract P if the scalar was even */
4055     fe_copy(lut.X, precomp[0].X);
4056     fiat_id_GostR3410_2001_TestParamSet_opp(lut.Y, precomp[0].Y);
4057     fe_copy(lut.Z, precomp[0].Z);
4058     point_add_proj(&lut, &lut, &Q);
4059     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.X, scalar[0] & 1, lut.X,
4060                                                   Q.X);
4061     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Y, scalar[0] & 1, lut.Y,
4062                                                   Q.Y);
4063     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Z, scalar[0] & 1, lut.Z,
4064                                                   Q.Z);
4065
4066     /* convert to affine -- NB depends on coordinate system */
4067     fiat_id_GostR3410_2001_TestParamSet_inv(Q.Z, Q.Z);
4068     fiat_id_GostR3410_2001_TestParamSet_mul(out->X, Q.X, Q.Z);
4069     fiat_id_GostR3410_2001_TestParamSet_mul(out->Y, Q.Y, Q.Z);
4070 }
4071
4072 /*-
4073  * Fixed scalar multiplication: comb with interleaving.
4074  */
4075 static void fixed_smul_cmb(pt_aff_t *out, const unsigned char scalar[32]) {
4076     int i, j, k, d, diff, is_neg = 0;
4077     int8_t rnaf[52] = {0};
4078     pt_prj_t Q = {0}, R = {0};
4079     pt_aff_t lut = {0};
4080
4081     scalar_rwnaf(rnaf, scalar);
4082
4083     /* initalize accumulator to inf */
4084     fe_set_zero(Q.X);
4085     fe_copy(Q.Y, const_one);
4086     fe_set_zero(Q.Z);
4087
4088 #if defined(_MSC_VER)
4089     /* result still unsigned: yes we know */
4090 #pragma warning(push)
4091 #pragma warning(disable : 4146)
4092 #endif
4093
4094     for (i = 1; i >= 0; i--) {
4095         for (j = 0; i != 1 && j < RADIX; j++) point_double(&Q, &Q);
4096         for (j = 0; j < 27; j++) {
4097             if (j * 2 + i > 51) continue;
4098             d = rnaf[j * 2 + i];
4099             /* is_neg = (d < 0) ? 1 : 0 */
4100             is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
4101             /* d = abs(d) */
4102             d = (d ^ -is_neg) + is_neg;
4103             d = (d - 1) >> 1;
4104             for (k = 0; k < DRADIX / 2; k++) {
4105                 diff = (1 - (-(d ^ k) >> (8 * sizeof(int) - 1))) & 1;
4106                 fiat_id_GostR3410_2001_TestParamSet_selectznz(
4107                     lut.X, diff, lut.X, lut_cmb[j][k].X);
4108                 fiat_id_GostR3410_2001_TestParamSet_selectznz(
4109                     lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
4110             }
4111             /* negate lut point if digit is negative */
4112             fiat_id_GostR3410_2001_TestParamSet_opp(out->Y, lut.Y);
4113             fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.Y, is_neg, lut.Y,
4114                                                           out->Y);
4115             point_add_mixed(&Q, &Q, &lut);
4116         }
4117     }
4118
4119 #if defined(_MSC_VER)
4120 #pragma warning(pop)
4121 #endif
4122
4123     /* conditionally subtract P if the scalar was even */
4124     fe_copy(lut.X, lut_cmb[0][0].X);
4125     fiat_id_GostR3410_2001_TestParamSet_opp(lut.Y, lut_cmb[0][0].Y);
4126     point_add_mixed(&R, &Q, &lut);
4127     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.X, scalar[0] & 1, R.X, Q.X);
4128     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Y, scalar[0] & 1, R.Y, Q.Y);
4129     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Z, scalar[0] & 1, R.Z, Q.Z);
4130
4131     /* convert to affine -- NB depends on coordinate system */
4132     fiat_id_GostR3410_2001_TestParamSet_inv(Q.Z, Q.Z);
4133     fiat_id_GostR3410_2001_TestParamSet_mul(out->X, Q.X, Q.Z);
4134     fiat_id_GostR3410_2001_TestParamSet_mul(out->Y, Q.Y, Q.Z);
4135 }
4136
4137 /*-
4138  * Wrapper: simultaneous scalar mutiplication.
4139  * outx, outy := a * G + b * P
4140  * where P = (inx, iny).
4141  * Everything is LE byte ordering.
4142  */
4143 static void point_mul_two(unsigned char outx[32], unsigned char outy[32],
4144                           const unsigned char a[32], const unsigned char b[32],
4145                           const unsigned char inx[32],
4146                           const unsigned char iny[32]) {
4147     pt_aff_t P;
4148
4149     fiat_id_GostR3410_2001_TestParamSet_from_bytes(P.X, inx);
4150     fiat_id_GostR3410_2001_TestParamSet_from_bytes(P.Y, iny);
4151     fiat_id_GostR3410_2001_TestParamSet_to_montgomery(P.X, P.X);
4152     fiat_id_GostR3410_2001_TestParamSet_to_montgomery(P.Y, P.Y);
4153     /* simultaneous scalar multiplication */
4154     var_smul_wnaf_two(&P, a, b, &P);
4155
4156     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.X, P.X);
4157     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.Y, P.Y);
4158     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outx, P.X);
4159     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outy, P.Y);
4160 }
4161
4162 /*-
4163  * Wrapper: fixed scalar mutiplication.
4164  * outx, outy := scalar * G
4165  * Everything is LE byte ordering.
4166  */
4167 static void point_mul_g(unsigned char outx[32], unsigned char outy[32],
4168                         const unsigned char scalar[32]) {
4169     pt_aff_t P;
4170
4171     /* fixed scmul function */
4172     fixed_smul_cmb(&P, scalar);
4173     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.X, P.X);
4174     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.Y, P.Y);
4175     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outx, P.X);
4176     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outy, P.Y);
4177 }
4178
4179 /*-
4180  * Wrapper: variable point scalar mutiplication.
4181  * outx, outy := scalar * P
4182  * where P = (inx, iny).
4183  * Everything is LE byte ordering.
4184  */
4185 static void point_mul(unsigned char outx[32], unsigned char outy[32],
4186                       const unsigned char scalar[32],
4187                       const unsigned char inx[32],
4188                       const unsigned char iny[32]) {
4189     pt_aff_t P;
4190
4191     fiat_id_GostR3410_2001_TestParamSet_from_bytes(P.X, inx);
4192     fiat_id_GostR3410_2001_TestParamSet_from_bytes(P.Y, iny);
4193     fiat_id_GostR3410_2001_TestParamSet_to_montgomery(P.X, P.X);
4194     fiat_id_GostR3410_2001_TestParamSet_to_montgomery(P.Y, P.Y);
4195     /* var scmul function */
4196     var_smul_rwnaf(&P, scalar, &P);
4197     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.X, P.X);
4198     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.Y, P.Y);
4199     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outx, P.X);
4200     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outy, P.Y);
4201 }
4202
4203
4204 #include <openssl/ec.h>
4205
4206 /* the zero field element */
4207 static const unsigned char const_zb[32] = {0};
4208
4209 /*-
4210  * An OpenSSL wrapper for simultaneous scalar multiplication.
4211  * r := n * G + m * q
4212  */
4213     int
4214     point_mul_two_id_GostR3410_2001_TestParamSet(const EC_GROUP *group,
4215                                                  EC_POINT *r, const BIGNUM *n,
4216                                                  const EC_POINT *q,
4217                                                  const BIGNUM *m, 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     unsigned char b_m[32];
4223     BIGNUM *x = NULL, *y = NULL;
4224
4225     BN_CTX_start(ctx);
4226     x = BN_CTX_get(ctx);
4227     if ((y = BN_CTX_get(ctx)) == NULL
4228         /* pull out coords as bytes */
4229         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
4230         BN_bn2lebinpad(x, b_x, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
4231         BN_bn2lebinpad(n, b_n, 32) != 32 || BN_bn2lebinpad(m, b_m, 32) != 32)
4232         goto err;
4233     /* do the simultaneous scalar multiplication */
4234     point_mul_two(b_x, b_y, b_n, b_m, b_x, b_y);
4235     /* check for infinity */
4236     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
4237         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
4238         if (!EC_POINT_set_to_infinity(group, r)) goto err;
4239     } else {
4240         /* otherwise, pack the bytes into the result */
4241         if (BN_lebin2bn(b_x, 32, x) == NULL ||
4242             BN_lebin2bn(b_y, 32, y) == NULL ||
4243             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
4244             goto err;
4245     }
4246     ret = 1;
4247 err:
4248     BN_CTX_end(ctx);
4249     return ret;
4250 }
4251
4252 /*-
4253  * An OpenSSL wrapper for variable point scalar multiplication.
4254  * r := m * q
4255  */
4256     int
4257     point_mul_id_GostR3410_2001_TestParamSet(const EC_GROUP *group, EC_POINT *r,
4258                                              const EC_POINT *q, const BIGNUM *m,
4259                                              BN_CTX *ctx) {
4260     int ret = 0;
4261     unsigned char b_x[32];
4262     unsigned char b_y[32];
4263     unsigned char b_m[32];
4264     BIGNUM *x = NULL, *y = NULL;
4265
4266     BN_CTX_start(ctx);
4267     x = BN_CTX_get(ctx);
4268     if ((y = BN_CTX_get(ctx)) == NULL
4269         /* pull out coords as bytes */
4270         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
4271         BN_bn2lebinpad(x, b_x, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
4272         BN_bn2lebinpad(m, b_m, 32) != 32)
4273         goto err;
4274     /* do the variable scalar multiplication */
4275     point_mul(b_x, b_y, b_m, b_x, b_y);
4276     /* check for infinity */
4277     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
4278         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
4279         if (!EC_POINT_set_to_infinity(group, r)) goto err;
4280     } else {
4281         /* otherwise, pack the bytes into the result */
4282         if (BN_lebin2bn(b_x, 32, x) == NULL ||
4283             BN_lebin2bn(b_y, 32, y) == NULL ||
4284             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
4285             goto err;
4286     }
4287     ret = 1;
4288 err:
4289     BN_CTX_end(ctx);
4290     return ret;
4291 }
4292
4293 /*-
4294  * An OpenSSL wrapper for fixed scalar multiplication.
4295  * r := n * G
4296  */
4297     int
4298     point_mul_g_id_GostR3410_2001_TestParamSet(const EC_GROUP *group,
4299                                                EC_POINT *r, const BIGNUM *n,
4300                                                BN_CTX *ctx) {
4301     int ret = 0;
4302     unsigned char b_x[32];
4303     unsigned char b_y[32];
4304     unsigned char b_n[32];
4305     BIGNUM *x = NULL, *y = NULL;
4306
4307     BN_CTX_start(ctx);
4308     x = BN_CTX_get(ctx);
4309     if ((y = BN_CTX_get(ctx)) == NULL || BN_bn2lebinpad(n, b_n, 32) != 32)
4310         goto err;
4311     /* do the fixed scalar multiplication */
4312     point_mul_g(b_x, b_y, b_n);
4313     /* check for infinity */
4314     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
4315         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
4316         if (!EC_POINT_set_to_infinity(group, r)) goto err;
4317     } else {
4318         /* otherwise, pack the bytes into the result */
4319         if (BN_lebin2bn(b_x, 32, x) == NULL ||
4320             BN_lebin2bn(b_y, 32, y) == NULL ||
4321             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
4322             goto err;
4323     }
4324     ret = 1;
4325 err:
4326     BN_CTX_end(ctx);
4327     return ret;
4328 }
4329
4330
4331
4332 #else /* __SIZEOF_INT128__ */
4333
4334 #include <stdint.h>
4335 #include <string.h>
4336 #define LIMB_BITS 32
4337 #define LIMB_CNT 8
4338 /* Field elements */
4339 typedef uint32_t fe_t[LIMB_CNT];
4340 typedef uint32_t limb_t;
4341
4342 #ifdef OPENSSL_NO_ASM
4343 #define FIAT_ID_GOSTR3410_2001_TESTPARAMSET_NO_ASM
4344 #endif
4345
4346 #define fe_copy(d, s) memcpy(d, s, sizeof(fe_t))
4347 #define fe_set_zero(d) memset(d, 0, sizeof(fe_t))
4348
4349 /* Projective points */
4350 typedef struct {
4351     fe_t X;
4352     fe_t Y;
4353     fe_t Z;
4354 } pt_prj_t;
4355
4356 /* Affine points */
4357 typedef struct {
4358     fe_t X;
4359     fe_t Y;
4360 } pt_aff_t;
4361
4362 /* BEGIN verbatim fiat code https://github.com/mit-plv/fiat-crypto */
4363 /*-
4364  * MIT License
4365  *
4366  * Copyright (c) 2020 the fiat-crypto authors (see the AUTHORS file)
4367  *
4368  * Permission is hereby granted, free of charge, to any person obtaining a copy
4369  * of this software and associated documentation files (the "Software"), to deal
4370  * in the Software without restriction, including without limitation the rights
4371  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
4372  * copies of the Software, and to permit persons to whom the Software is
4373  * furnished to do so, subject to the following conditions:
4374  *
4375  * The above copyright notice and this permission notice shall be included in
4376  * all copies or substantial portions of the Software.
4377  *
4378  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
4379  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
4380  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
4381  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
4382  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
4383  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
4384  * SOFTWARE.
4385  */
4386
4387 /* Autogenerated: word_by_word_montgomery --static --use-value-barrier id_GostR3410_2001_TestParamSet 32 '2^255 + 1073' */
4388 /* curve description: id_GostR3410_2001_TestParamSet */
4389 /* machine_wordsize = 32 (from "32") */
4390 /* requested operations: (all) */
4391 /* m = 0x8000000000000000000000000000000000000000000000000000000000000431 (from "2^255 + 1073") */
4392 /*                                                                    */
4393 /* NOTE: In addition to the bounds specified above each function, all */
4394 /*   functions synthesized for this Montgomery arithmetic require the */
4395 /*   input to be strictly less than the prime modulus (m), and also   */
4396 /*   require the input to be in the unique saturated representation.  */
4397 /*   All functions also ensure that these two properties are true of  */
4398 /*   return values.                                                   */
4399 /*  */
4400 /* Computed values: */
4401 /* 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) */
4402 /* 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) */
4403
4404 #include <stdint.h>
4405 typedef unsigned char fiat_id_GostR3410_2001_TestParamSet_uint1;
4406 typedef signed char fiat_id_GostR3410_2001_TestParamSet_int1;
4407
4408 #if (-1 & 3) != 3
4409 #error "This code only works on a two's complement system"
4410 #endif
4411
4412 #if !defined(FIAT_ID_GOSTR3410_2001_TESTPARAMSET_NO_ASM) && \
4413     (defined(__GNUC__) || defined(__clang__))
4414 static __inline__ uint32_t
4415 fiat_id_GostR3410_2001_TestParamSet_value_barrier_u32(uint32_t a) {
4416     __asm__("" : "+r"(a) : /* no inputs */);
4417     return a;
4418 }
4419 #else
4420 #define fiat_id_GostR3410_2001_TestParamSet_value_barrier_u32(x) (x)
4421 #endif
4422
4423 /*
4424  * The function fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32 is an addition with carry.
4425  * Postconditions:
4426  *   out1 = (arg1 + arg2 + arg3) mod 2^32
4427  *   out2 = ⌊(arg1 + arg2 + arg3) / 2^32⌋
4428  *
4429  * Input Bounds:
4430  *   arg1: [0x0 ~> 0x1]
4431  *   arg2: [0x0 ~> 0xffffffff]
4432  *   arg3: [0x0 ~> 0xffffffff]
4433  * Output Bounds:
4434  *   out1: [0x0 ~> 0xffffffff]
4435  *   out2: [0x0 ~> 0x1]
4436  */
4437 static void fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
4438     uint32_t *out1, fiat_id_GostR3410_2001_TestParamSet_uint1 *out2,
4439     fiat_id_GostR3410_2001_TestParamSet_uint1 arg1, uint32_t arg2,
4440     uint32_t arg3) {
4441     uint64_t x1;
4442     uint32_t x2;
4443     fiat_id_GostR3410_2001_TestParamSet_uint1 x3;
4444     x1 = ((arg1 + (uint64_t)arg2) + arg3);
4445     x2 = (uint32_t)(x1 & UINT32_C(0xffffffff));
4446     x3 = (fiat_id_GostR3410_2001_TestParamSet_uint1)(x1 >> 32);
4447     *out1 = x2;
4448     *out2 = x3;
4449 }
4450
4451 /*
4452  * The function fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32 is a subtraction with borrow.
4453  * Postconditions:
4454  *   out1 = (-arg1 + arg2 + -arg3) mod 2^32
4455  *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^32⌋
4456  *
4457  * Input Bounds:
4458  *   arg1: [0x0 ~> 0x1]
4459  *   arg2: [0x0 ~> 0xffffffff]
4460  *   arg3: [0x0 ~> 0xffffffff]
4461  * Output Bounds:
4462  *   out1: [0x0 ~> 0xffffffff]
4463  *   out2: [0x0 ~> 0x1]
4464  */
4465 static void fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(
4466     uint32_t *out1, fiat_id_GostR3410_2001_TestParamSet_uint1 *out2,
4467     fiat_id_GostR3410_2001_TestParamSet_uint1 arg1, uint32_t arg2,
4468     uint32_t arg3) {
4469     int64_t x1;
4470     fiat_id_GostR3410_2001_TestParamSet_int1 x2;
4471     uint32_t x3;
4472     x1 = ((arg2 - (int64_t)arg1) - arg3);
4473     x2 = (fiat_id_GostR3410_2001_TestParamSet_int1)(x1 >> 32);
4474     x3 = (uint32_t)(x1 & UINT32_C(0xffffffff));
4475     *out1 = x3;
4476     *out2 = (fiat_id_GostR3410_2001_TestParamSet_uint1)(0x0 - x2);
4477 }
4478
4479 /*
4480  * The function fiat_id_GostR3410_2001_TestParamSet_mulx_u32 is a multiplication, returning the full double-width result.
4481  * Postconditions:
4482  *   out1 = (arg1 * arg2) mod 2^32
4483  *   out2 = ⌊arg1 * arg2 / 2^32⌋
4484  *
4485  * Input Bounds:
4486  *   arg1: [0x0 ~> 0xffffffff]
4487  *   arg2: [0x0 ~> 0xffffffff]
4488  * Output Bounds:
4489  *   out1: [0x0 ~> 0xffffffff]
4490  *   out2: [0x0 ~> 0xffffffff]
4491  */
4492 static void fiat_id_GostR3410_2001_TestParamSet_mulx_u32(uint32_t *out1,
4493                                                          uint32_t *out2,
4494                                                          uint32_t arg1,
4495                                                          uint32_t arg2) {
4496     uint64_t x1;
4497     uint32_t x2;
4498     uint32_t x3;
4499     x1 = ((uint64_t)arg1 * arg2);
4500     x2 = (uint32_t)(x1 & UINT32_C(0xffffffff));
4501     x3 = (uint32_t)(x1 >> 32);
4502     *out1 = x2;
4503     *out2 = x3;
4504 }
4505
4506 /*
4507  * The function fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32 is a single-word conditional move.
4508  * Postconditions:
4509  *   out1 = (if arg1 = 0 then arg2 else arg3)
4510  *
4511  * Input Bounds:
4512  *   arg1: [0x0 ~> 0x1]
4513  *   arg2: [0x0 ~> 0xffffffff]
4514  *   arg3: [0x0 ~> 0xffffffff]
4515  * Output Bounds:
4516  *   out1: [0x0 ~> 0xffffffff]
4517  */
4518 static void fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(
4519     uint32_t *out1, fiat_id_GostR3410_2001_TestParamSet_uint1 arg1,
4520     uint32_t arg2, uint32_t arg3) {
4521     fiat_id_GostR3410_2001_TestParamSet_uint1 x1;
4522     uint32_t x2;
4523     uint32_t x3;
4524     x1 = (!(!arg1));
4525     x2 = ((fiat_id_GostR3410_2001_TestParamSet_int1)(0x0 - x1) &
4526           UINT32_C(0xffffffff));
4527     x3 =
4528         ((fiat_id_GostR3410_2001_TestParamSet_value_barrier_u32(x2) & arg3) |
4529          (fiat_id_GostR3410_2001_TestParamSet_value_barrier_u32((~x2)) & arg2));
4530     *out1 = x3;
4531 }
4532
4533 /*
4534  * The function fiat_id_GostR3410_2001_TestParamSet_mul multiplies two field elements in the Montgomery domain.
4535  * Preconditions:
4536  *   0 ≤ eval arg1 < m
4537  *   0 ≤ eval arg2 < m
4538  * Postconditions:
4539  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg2)) mod m
4540  *   0 ≤ eval out1 < m
4541  *
4542  * Input Bounds:
4543  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
4544  *   arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
4545  * Output Bounds:
4546  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
4547  */
4548 static void fiat_id_GostR3410_2001_TestParamSet_mul(uint32_t out1[8],
4549                                                     const uint32_t arg1[8],
4550                                                     const uint32_t arg2[8]) {
4551     uint32_t x1;
4552     uint32_t x2;
4553     uint32_t x3;
4554     uint32_t x4;
4555     uint32_t x5;
4556     uint32_t x6;
4557     uint32_t x7;
4558     uint32_t x8;
4559     uint32_t x9;
4560     uint32_t x10;
4561     uint32_t x11;
4562     uint32_t x12;
4563     uint32_t x13;
4564     uint32_t x14;
4565     uint32_t x15;
4566     uint32_t x16;
4567     uint32_t x17;
4568     uint32_t x18;
4569     uint32_t x19;
4570     uint32_t x20;
4571     uint32_t x21;
4572     uint32_t x22;
4573     uint32_t x23;
4574     uint32_t x24;
4575     uint32_t x25;
4576     fiat_id_GostR3410_2001_TestParamSet_uint1 x26;
4577     uint32_t x27;
4578     fiat_id_GostR3410_2001_TestParamSet_uint1 x28;
4579     uint32_t x29;
4580     fiat_id_GostR3410_2001_TestParamSet_uint1 x30;
4581     uint32_t x31;
4582     fiat_id_GostR3410_2001_TestParamSet_uint1 x32;
4583     uint32_t x33;
4584     fiat_id_GostR3410_2001_TestParamSet_uint1 x34;
4585     uint32_t x35;
4586     fiat_id_GostR3410_2001_TestParamSet_uint1 x36;
4587     uint32_t x37;
4588     fiat_id_GostR3410_2001_TestParamSet_uint1 x38;
4589     uint32_t x39;
4590     uint32_t x40;
4591     uint32_t x41;
4592     uint32_t x42;
4593     uint32_t x43;
4594     uint32_t x44;
4595     uint32_t x45;
4596     uint32_t x46;
4597     fiat_id_GostR3410_2001_TestParamSet_uint1 x47;
4598     uint32_t x48;
4599     fiat_id_GostR3410_2001_TestParamSet_uint1 x49;
4600     uint32_t x50;
4601     fiat_id_GostR3410_2001_TestParamSet_uint1 x51;
4602     uint32_t x52;
4603     fiat_id_GostR3410_2001_TestParamSet_uint1 x53;
4604     uint32_t x54;
4605     fiat_id_GostR3410_2001_TestParamSet_uint1 x55;
4606     uint32_t x56;
4607     fiat_id_GostR3410_2001_TestParamSet_uint1 x57;
4608     uint32_t x58;
4609     fiat_id_GostR3410_2001_TestParamSet_uint1 x59;
4610     uint32_t x60;
4611     fiat_id_GostR3410_2001_TestParamSet_uint1 x61;
4612     uint32_t x62;
4613     fiat_id_GostR3410_2001_TestParamSet_uint1 x63;
4614     uint32_t x64;
4615     uint32_t x65;
4616     uint32_t x66;
4617     uint32_t x67;
4618     uint32_t x68;
4619     uint32_t x69;
4620     uint32_t x70;
4621     uint32_t x71;
4622     uint32_t x72;
4623     uint32_t x73;
4624     uint32_t x74;
4625     uint32_t x75;
4626     uint32_t x76;
4627     uint32_t x77;
4628     uint32_t x78;
4629     uint32_t x79;
4630     uint32_t x80;
4631     fiat_id_GostR3410_2001_TestParamSet_uint1 x81;
4632     uint32_t x82;
4633     fiat_id_GostR3410_2001_TestParamSet_uint1 x83;
4634     uint32_t x84;
4635     fiat_id_GostR3410_2001_TestParamSet_uint1 x85;
4636     uint32_t x86;
4637     fiat_id_GostR3410_2001_TestParamSet_uint1 x87;
4638     uint32_t x88;
4639     fiat_id_GostR3410_2001_TestParamSet_uint1 x89;
4640     uint32_t x90;
4641     fiat_id_GostR3410_2001_TestParamSet_uint1 x91;
4642     uint32_t x92;
4643     fiat_id_GostR3410_2001_TestParamSet_uint1 x93;
4644     uint32_t x94;
4645     uint32_t x95;
4646     fiat_id_GostR3410_2001_TestParamSet_uint1 x96;
4647     uint32_t x97;
4648     fiat_id_GostR3410_2001_TestParamSet_uint1 x98;
4649     uint32_t x99;
4650     fiat_id_GostR3410_2001_TestParamSet_uint1 x100;
4651     uint32_t x101;
4652     fiat_id_GostR3410_2001_TestParamSet_uint1 x102;
4653     uint32_t x103;
4654     fiat_id_GostR3410_2001_TestParamSet_uint1 x104;
4655     uint32_t x105;
4656     fiat_id_GostR3410_2001_TestParamSet_uint1 x106;
4657     uint32_t x107;
4658     fiat_id_GostR3410_2001_TestParamSet_uint1 x108;
4659     uint32_t x109;
4660     fiat_id_GostR3410_2001_TestParamSet_uint1 x110;
4661     uint32_t x111;
4662     fiat_id_GostR3410_2001_TestParamSet_uint1 x112;
4663     uint32_t x113;
4664     uint32_t x114;
4665     uint32_t x115;
4666     uint32_t x116;
4667     uint32_t x117;
4668     uint32_t x118;
4669     uint32_t x119;
4670     fiat_id_GostR3410_2001_TestParamSet_uint1 x120;
4671     uint32_t x121;
4672     fiat_id_GostR3410_2001_TestParamSet_uint1 x122;
4673     uint32_t x123;
4674     fiat_id_GostR3410_2001_TestParamSet_uint1 x124;
4675     uint32_t x125;
4676     fiat_id_GostR3410_2001_TestParamSet_uint1 x126;
4677     uint32_t x127;
4678     fiat_id_GostR3410_2001_TestParamSet_uint1 x128;
4679     uint32_t x129;
4680     fiat_id_GostR3410_2001_TestParamSet_uint1 x130;
4681     uint32_t x131;
4682     fiat_id_GostR3410_2001_TestParamSet_uint1 x132;
4683     uint32_t x133;
4684     fiat_id_GostR3410_2001_TestParamSet_uint1 x134;
4685     uint32_t x135;
4686     fiat_id_GostR3410_2001_TestParamSet_uint1 x136;
4687     uint32_t x137;
4688     uint32_t x138;
4689     uint32_t x139;
4690     uint32_t x140;
4691     uint32_t x141;
4692     uint32_t x142;
4693     uint32_t x143;
4694     uint32_t x144;
4695     uint32_t x145;
4696     uint32_t x146;
4697     uint32_t x147;
4698     uint32_t x148;
4699     uint32_t x149;
4700     uint32_t x150;
4701     uint32_t x151;
4702     uint32_t x152;
4703     uint32_t x153;
4704     uint32_t x154;
4705     fiat_id_GostR3410_2001_TestParamSet_uint1 x155;
4706     uint32_t x156;
4707     fiat_id_GostR3410_2001_TestParamSet_uint1 x157;
4708     uint32_t x158;
4709     fiat_id_GostR3410_2001_TestParamSet_uint1 x159;
4710     uint32_t x160;
4711     fiat_id_GostR3410_2001_TestParamSet_uint1 x161;
4712     uint32_t x162;
4713     fiat_id_GostR3410_2001_TestParamSet_uint1 x163;
4714     uint32_t x164;
4715     fiat_id_GostR3410_2001_TestParamSet_uint1 x165;
4716     uint32_t x166;
4717     fiat_id_GostR3410_2001_TestParamSet_uint1 x167;
4718     uint32_t x168;
4719     uint32_t x169;
4720     fiat_id_GostR3410_2001_TestParamSet_uint1 x170;
4721     uint32_t x171;
4722     fiat_id_GostR3410_2001_TestParamSet_uint1 x172;
4723     uint32_t x173;
4724     fiat_id_GostR3410_2001_TestParamSet_uint1 x174;
4725     uint32_t x175;
4726     fiat_id_GostR3410_2001_TestParamSet_uint1 x176;
4727     uint32_t x177;
4728     fiat_id_GostR3410_2001_TestParamSet_uint1 x178;
4729     uint32_t x179;
4730     fiat_id_GostR3410_2001_TestParamSet_uint1 x180;
4731     uint32_t x181;
4732     fiat_id_GostR3410_2001_TestParamSet_uint1 x182;
4733     uint32_t x183;
4734     fiat_id_GostR3410_2001_TestParamSet_uint1 x184;
4735     uint32_t x185;
4736     fiat_id_GostR3410_2001_TestParamSet_uint1 x186;
4737     uint32_t x187;
4738     uint32_t x188;
4739     uint32_t x189;
4740     uint32_t x190;
4741     uint32_t x191;
4742     uint32_t x192;
4743     uint32_t x193;
4744     fiat_id_GostR3410_2001_TestParamSet_uint1 x194;
4745     uint32_t x195;
4746     fiat_id_GostR3410_2001_TestParamSet_uint1 x196;
4747     uint32_t x197;
4748     fiat_id_GostR3410_2001_TestParamSet_uint1 x198;
4749     uint32_t x199;
4750     fiat_id_GostR3410_2001_TestParamSet_uint1 x200;
4751     uint32_t x201;
4752     fiat_id_GostR3410_2001_TestParamSet_uint1 x202;
4753     uint32_t x203;
4754     fiat_id_GostR3410_2001_TestParamSet_uint1 x204;
4755     uint32_t x205;
4756     fiat_id_GostR3410_2001_TestParamSet_uint1 x206;
4757     uint32_t x207;
4758     fiat_id_GostR3410_2001_TestParamSet_uint1 x208;
4759     uint32_t x209;
4760     fiat_id_GostR3410_2001_TestParamSet_uint1 x210;
4761     uint32_t x211;
4762     uint32_t x212;
4763     uint32_t x213;
4764     uint32_t x214;
4765     uint32_t x215;
4766     uint32_t x216;
4767     uint32_t x217;
4768     uint32_t x218;
4769     uint32_t x219;
4770     uint32_t x220;
4771     uint32_t x221;
4772     uint32_t x222;
4773     uint32_t x223;
4774     uint32_t x224;
4775     uint32_t x225;
4776     uint32_t x226;
4777     uint32_t x227;
4778     uint32_t x228;
4779     fiat_id_GostR3410_2001_TestParamSet_uint1 x229;
4780     uint32_t x230;
4781     fiat_id_GostR3410_2001_TestParamSet_uint1 x231;
4782     uint32_t x232;
4783     fiat_id_GostR3410_2001_TestParamSet_uint1 x233;
4784     uint32_t x234;
4785     fiat_id_GostR3410_2001_TestParamSet_uint1 x235;
4786     uint32_t x236;
4787     fiat_id_GostR3410_2001_TestParamSet_uint1 x237;
4788     uint32_t x238;
4789     fiat_id_GostR3410_2001_TestParamSet_uint1 x239;
4790     uint32_t x240;
4791     fiat_id_GostR3410_2001_TestParamSet_uint1 x241;
4792     uint32_t x242;
4793     uint32_t x243;
4794     fiat_id_GostR3410_2001_TestParamSet_uint1 x244;
4795     uint32_t x245;
4796     fiat_id_GostR3410_2001_TestParamSet_uint1 x246;
4797     uint32_t x247;
4798     fiat_id_GostR3410_2001_TestParamSet_uint1 x248;
4799     uint32_t x249;
4800     fiat_id_GostR3410_2001_TestParamSet_uint1 x250;
4801     uint32_t x251;
4802     fiat_id_GostR3410_2001_TestParamSet_uint1 x252;
4803     uint32_t x253;
4804     fiat_id_GostR3410_2001_TestParamSet_uint1 x254;
4805     uint32_t x255;
4806     fiat_id_GostR3410_2001_TestParamSet_uint1 x256;
4807     uint32_t x257;
4808     fiat_id_GostR3410_2001_TestParamSet_uint1 x258;
4809     uint32_t x259;
4810     fiat_id_GostR3410_2001_TestParamSet_uint1 x260;
4811     uint32_t x261;
4812     uint32_t x262;
4813     uint32_t x263;
4814     uint32_t x264;
4815     uint32_t x265;
4816     uint32_t x266;
4817     uint32_t x267;
4818     fiat_id_GostR3410_2001_TestParamSet_uint1 x268;
4819     uint32_t x269;
4820     fiat_id_GostR3410_2001_TestParamSet_uint1 x270;
4821     uint32_t x271;
4822     fiat_id_GostR3410_2001_TestParamSet_uint1 x272;
4823     uint32_t x273;
4824     fiat_id_GostR3410_2001_TestParamSet_uint1 x274;
4825     uint32_t x275;
4826     fiat_id_GostR3410_2001_TestParamSet_uint1 x276;
4827     uint32_t x277;
4828     fiat_id_GostR3410_2001_TestParamSet_uint1 x278;
4829     uint32_t x279;
4830     fiat_id_GostR3410_2001_TestParamSet_uint1 x280;
4831     uint32_t x281;
4832     fiat_id_GostR3410_2001_TestParamSet_uint1 x282;
4833     uint32_t x283;
4834     fiat_id_GostR3410_2001_TestParamSet_uint1 x284;
4835     uint32_t x285;
4836     uint32_t x286;
4837     uint32_t x287;
4838     uint32_t x288;
4839     uint32_t x289;
4840     uint32_t x290;
4841     uint32_t x291;
4842     uint32_t x292;
4843     uint32_t x293;
4844     uint32_t x294;
4845     uint32_t x295;
4846     uint32_t x296;
4847     uint32_t x297;
4848     uint32_t x298;
4849     uint32_t x299;
4850     uint32_t x300;
4851     uint32_t x301;
4852     uint32_t x302;
4853     fiat_id_GostR3410_2001_TestParamSet_uint1 x303;
4854     uint32_t x304;
4855     fiat_id_GostR3410_2001_TestParamSet_uint1 x305;
4856     uint32_t x306;
4857     fiat_id_GostR3410_2001_TestParamSet_uint1 x307;
4858     uint32_t x308;
4859     fiat_id_GostR3410_2001_TestParamSet_uint1 x309;
4860     uint32_t x310;
4861     fiat_id_GostR3410_2001_TestParamSet_uint1 x311;
4862     uint32_t x312;
4863     fiat_id_GostR3410_2001_TestParamSet_uint1 x313;
4864     uint32_t x314;
4865     fiat_id_GostR3410_2001_TestParamSet_uint1 x315;
4866     uint32_t x316;
4867     uint32_t x317;
4868     fiat_id_GostR3410_2001_TestParamSet_uint1 x318;
4869     uint32_t x319;
4870     fiat_id_GostR3410_2001_TestParamSet_uint1 x320;
4871     uint32_t x321;
4872     fiat_id_GostR3410_2001_TestParamSet_uint1 x322;
4873     uint32_t x323;
4874     fiat_id_GostR3410_2001_TestParamSet_uint1 x324;
4875     uint32_t x325;
4876     fiat_id_GostR3410_2001_TestParamSet_uint1 x326;
4877     uint32_t x327;
4878     fiat_id_GostR3410_2001_TestParamSet_uint1 x328;
4879     uint32_t x329;
4880     fiat_id_GostR3410_2001_TestParamSet_uint1 x330;
4881     uint32_t x331;
4882     fiat_id_GostR3410_2001_TestParamSet_uint1 x332;
4883     uint32_t x333;
4884     fiat_id_GostR3410_2001_TestParamSet_uint1 x334;
4885     uint32_t x335;
4886     uint32_t x336;
4887     uint32_t x337;
4888     uint32_t x338;
4889     uint32_t x339;
4890     uint32_t x340;
4891     uint32_t x341;
4892     fiat_id_GostR3410_2001_TestParamSet_uint1 x342;
4893     uint32_t x343;
4894     fiat_id_GostR3410_2001_TestParamSet_uint1 x344;
4895     uint32_t x345;
4896     fiat_id_GostR3410_2001_TestParamSet_uint1 x346;
4897     uint32_t x347;
4898     fiat_id_GostR3410_2001_TestParamSet_uint1 x348;
4899     uint32_t x349;
4900     fiat_id_GostR3410_2001_TestParamSet_uint1 x350;
4901     uint32_t x351;
4902     fiat_id_GostR3410_2001_TestParamSet_uint1 x352;
4903     uint32_t x353;
4904     fiat_id_GostR3410_2001_TestParamSet_uint1 x354;
4905     uint32_t x355;
4906     fiat_id_GostR3410_2001_TestParamSet_uint1 x356;
4907     uint32_t x357;
4908     fiat_id_GostR3410_2001_TestParamSet_uint1 x358;
4909     uint32_t x359;
4910     uint32_t x360;
4911     uint32_t x361;
4912     uint32_t x362;
4913     uint32_t x363;
4914     uint32_t x364;
4915     uint32_t x365;
4916     uint32_t x366;
4917     uint32_t x367;
4918     uint32_t x368;
4919     uint32_t x369;
4920     uint32_t x370;
4921     uint32_t x371;
4922     uint32_t x372;
4923     uint32_t x373;
4924     uint32_t x374;
4925     uint32_t x375;
4926     uint32_t x376;
4927     fiat_id_GostR3410_2001_TestParamSet_uint1 x377;
4928     uint32_t x378;
4929     fiat_id_GostR3410_2001_TestParamSet_uint1 x379;
4930     uint32_t x380;
4931     fiat_id_GostR3410_2001_TestParamSet_uint1 x381;
4932     uint32_t x382;
4933     fiat_id_GostR3410_2001_TestParamSet_uint1 x383;
4934     uint32_t x384;
4935     fiat_id_GostR3410_2001_TestParamSet_uint1 x385;
4936     uint32_t x386;
4937     fiat_id_GostR3410_2001_TestParamSet_uint1 x387;
4938     uint32_t x388;
4939     fiat_id_GostR3410_2001_TestParamSet_uint1 x389;
4940     uint32_t x390;
4941     uint32_t x391;
4942     fiat_id_GostR3410_2001_TestParamSet_uint1 x392;
4943     uint32_t x393;
4944     fiat_id_GostR3410_2001_TestParamSet_uint1 x394;
4945     uint32_t x395;
4946     fiat_id_GostR3410_2001_TestParamSet_uint1 x396;
4947     uint32_t x397;
4948     fiat_id_GostR3410_2001_TestParamSet_uint1 x398;
4949     uint32_t x399;
4950     fiat_id_GostR3410_2001_TestParamSet_uint1 x400;
4951     uint32_t x401;
4952     fiat_id_GostR3410_2001_TestParamSet_uint1 x402;
4953     uint32_t x403;
4954     fiat_id_GostR3410_2001_TestParamSet_uint1 x404;
4955     uint32_t x405;
4956     fiat_id_GostR3410_2001_TestParamSet_uint1 x406;
4957     uint32_t x407;
4958     fiat_id_GostR3410_2001_TestParamSet_uint1 x408;
4959     uint32_t x409;
4960     uint32_t x410;
4961     uint32_t x411;
4962     uint32_t x412;
4963     uint32_t x413;
4964     uint32_t x414;
4965     uint32_t x415;
4966     fiat_id_GostR3410_2001_TestParamSet_uint1 x416;
4967     uint32_t x417;
4968     fiat_id_GostR3410_2001_TestParamSet_uint1 x418;
4969     uint32_t x419;
4970     fiat_id_GostR3410_2001_TestParamSet_uint1 x420;
4971     uint32_t x421;
4972     fiat_id_GostR3410_2001_TestParamSet_uint1 x422;
4973     uint32_t x423;
4974     fiat_id_GostR3410_2001_TestParamSet_uint1 x424;
4975     uint32_t x425;
4976     fiat_id_GostR3410_2001_TestParamSet_uint1 x426;
4977     uint32_t x427;
4978     fiat_id_GostR3410_2001_TestParamSet_uint1 x428;
4979     uint32_t x429;
4980     fiat_id_GostR3410_2001_TestParamSet_uint1 x430;
4981     uint32_t x431;
4982     fiat_id_GostR3410_2001_TestParamSet_uint1 x432;
4983     uint32_t x433;
4984     uint32_t x434;
4985     uint32_t x435;
4986     uint32_t x436;
4987     uint32_t x437;
4988     uint32_t x438;
4989     uint32_t x439;
4990     uint32_t x440;
4991     uint32_t x441;
4992     uint32_t x442;
4993     uint32_t x443;
4994     uint32_t x444;
4995     uint32_t x445;
4996     uint32_t x446;
4997     uint32_t x447;
4998     uint32_t x448;
4999     uint32_t x449;
5000     uint32_t x450;
5001     fiat_id_GostR3410_2001_TestParamSet_uint1 x451;
5002     uint32_t x452;
5003     fiat_id_GostR3410_2001_TestParamSet_uint1 x453;
5004     uint32_t x454;
5005     fiat_id_GostR3410_2001_TestParamSet_uint1 x455;
5006     uint32_t x456;
5007     fiat_id_GostR3410_2001_TestParamSet_uint1 x457;
5008     uint32_t x458;
5009     fiat_id_GostR3410_2001_TestParamSet_uint1 x459;
5010     uint32_t x460;
5011     fiat_id_GostR3410_2001_TestParamSet_uint1 x461;
5012     uint32_t x462;
5013     fiat_id_GostR3410_2001_TestParamSet_uint1 x463;
5014     uint32_t x464;
5015     uint32_t x465;
5016     fiat_id_GostR3410_2001_TestParamSet_uint1 x466;
5017     uint32_t x467;
5018     fiat_id_GostR3410_2001_TestParamSet_uint1 x468;
5019     uint32_t x469;
5020     fiat_id_GostR3410_2001_TestParamSet_uint1 x470;
5021     uint32_t x471;
5022     fiat_id_GostR3410_2001_TestParamSet_uint1 x472;
5023     uint32_t x473;
5024     fiat_id_GostR3410_2001_TestParamSet_uint1 x474;
5025     uint32_t x475;
5026     fiat_id_GostR3410_2001_TestParamSet_uint1 x476;
5027     uint32_t x477;
5028     fiat_id_GostR3410_2001_TestParamSet_uint1 x478;
5029     uint32_t x479;
5030     fiat_id_GostR3410_2001_TestParamSet_uint1 x480;
5031     uint32_t x481;
5032     fiat_id_GostR3410_2001_TestParamSet_uint1 x482;
5033     uint32_t x483;
5034     uint32_t x484;
5035     uint32_t x485;
5036     uint32_t x486;
5037     uint32_t x487;
5038     uint32_t x488;
5039     uint32_t x489;
5040     fiat_id_GostR3410_2001_TestParamSet_uint1 x490;
5041     uint32_t x491;
5042     fiat_id_GostR3410_2001_TestParamSet_uint1 x492;
5043     uint32_t x493;
5044     fiat_id_GostR3410_2001_TestParamSet_uint1 x494;
5045     uint32_t x495;
5046     fiat_id_GostR3410_2001_TestParamSet_uint1 x496;
5047     uint32_t x497;
5048     fiat_id_GostR3410_2001_TestParamSet_uint1 x498;
5049     uint32_t x499;
5050     fiat_id_GostR3410_2001_TestParamSet_uint1 x500;
5051     uint32_t x501;
5052     fiat_id_GostR3410_2001_TestParamSet_uint1 x502;
5053     uint32_t x503;
5054     fiat_id_GostR3410_2001_TestParamSet_uint1 x504;
5055     uint32_t x505;
5056     fiat_id_GostR3410_2001_TestParamSet_uint1 x506;
5057     uint32_t x507;
5058     uint32_t x508;
5059     uint32_t x509;
5060     uint32_t x510;
5061     uint32_t x511;
5062     uint32_t x512;
5063     uint32_t x513;
5064     uint32_t x514;
5065     uint32_t x515;
5066     uint32_t x516;
5067     uint32_t x517;
5068     uint32_t x518;
5069     uint32_t x519;
5070     uint32_t x520;
5071     uint32_t x521;
5072     uint32_t x522;
5073     uint32_t x523;
5074     uint32_t x524;
5075     fiat_id_GostR3410_2001_TestParamSet_uint1 x525;
5076     uint32_t x526;
5077     fiat_id_GostR3410_2001_TestParamSet_uint1 x527;
5078     uint32_t x528;
5079     fiat_id_GostR3410_2001_TestParamSet_uint1 x529;
5080     uint32_t x530;
5081     fiat_id_GostR3410_2001_TestParamSet_uint1 x531;
5082     uint32_t x532;
5083     fiat_id_GostR3410_2001_TestParamSet_uint1 x533;
5084     uint32_t x534;
5085     fiat_id_GostR3410_2001_TestParamSet_uint1 x535;
5086     uint32_t x536;
5087     fiat_id_GostR3410_2001_TestParamSet_uint1 x537;
5088     uint32_t x538;
5089     uint32_t x539;
5090     fiat_id_GostR3410_2001_TestParamSet_uint1 x540;
5091     uint32_t x541;
5092     fiat_id_GostR3410_2001_TestParamSet_uint1 x542;
5093     uint32_t x543;
5094     fiat_id_GostR3410_2001_TestParamSet_uint1 x544;
5095     uint32_t x545;
5096     fiat_id_GostR3410_2001_TestParamSet_uint1 x546;
5097     uint32_t x547;
5098     fiat_id_GostR3410_2001_TestParamSet_uint1 x548;
5099     uint32_t x549;
5100     fiat_id_GostR3410_2001_TestParamSet_uint1 x550;
5101     uint32_t x551;
5102     fiat_id_GostR3410_2001_TestParamSet_uint1 x552;
5103     uint32_t x553;
5104     fiat_id_GostR3410_2001_TestParamSet_uint1 x554;
5105     uint32_t x555;
5106     fiat_id_GostR3410_2001_TestParamSet_uint1 x556;
5107     uint32_t x557;
5108     uint32_t x558;
5109     uint32_t x559;
5110     uint32_t x560;
5111     uint32_t x561;
5112     uint32_t x562;
5113     uint32_t x563;
5114     fiat_id_GostR3410_2001_TestParamSet_uint1 x564;
5115     uint32_t x565;
5116     fiat_id_GostR3410_2001_TestParamSet_uint1 x566;
5117     uint32_t x567;
5118     fiat_id_GostR3410_2001_TestParamSet_uint1 x568;
5119     uint32_t x569;
5120     fiat_id_GostR3410_2001_TestParamSet_uint1 x570;
5121     uint32_t x571;
5122     fiat_id_GostR3410_2001_TestParamSet_uint1 x572;
5123     uint32_t x573;
5124     fiat_id_GostR3410_2001_TestParamSet_uint1 x574;
5125     uint32_t x575;
5126     fiat_id_GostR3410_2001_TestParamSet_uint1 x576;
5127     uint32_t x577;
5128     fiat_id_GostR3410_2001_TestParamSet_uint1 x578;
5129     uint32_t x579;
5130     fiat_id_GostR3410_2001_TestParamSet_uint1 x580;
5131     uint32_t x581;
5132     uint32_t x582;
5133     fiat_id_GostR3410_2001_TestParamSet_uint1 x583;
5134     uint32_t x584;
5135     fiat_id_GostR3410_2001_TestParamSet_uint1 x585;
5136     uint32_t x586;
5137     fiat_id_GostR3410_2001_TestParamSet_uint1 x587;
5138     uint32_t x588;
5139     fiat_id_GostR3410_2001_TestParamSet_uint1 x589;
5140     uint32_t x590;
5141     fiat_id_GostR3410_2001_TestParamSet_uint1 x591;
5142     uint32_t x592;
5143     fiat_id_GostR3410_2001_TestParamSet_uint1 x593;
5144     uint32_t x594;
5145     fiat_id_GostR3410_2001_TestParamSet_uint1 x595;
5146     uint32_t x596;
5147     fiat_id_GostR3410_2001_TestParamSet_uint1 x597;
5148     uint32_t x598;
5149     fiat_id_GostR3410_2001_TestParamSet_uint1 x599;
5150     uint32_t x600;
5151     uint32_t x601;
5152     uint32_t x602;
5153     uint32_t x603;
5154     uint32_t x604;
5155     uint32_t x605;
5156     uint32_t x606;
5157     uint32_t x607;
5158     x1 = (arg1[1]);
5159     x2 = (arg1[2]);
5160     x3 = (arg1[3]);
5161     x4 = (arg1[4]);
5162     x5 = (arg1[5]);
5163     x6 = (arg1[6]);
5164     x7 = (arg1[7]);
5165     x8 = (arg1[0]);
5166     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x9, &x10, x8, (arg2[7]));
5167     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x11, &x12, x8, (arg2[6]));
5168     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x13, &x14, x8, (arg2[5]));
5169     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x15, &x16, x8, (arg2[4]));
5170     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x17, &x18, x8, (arg2[3]));
5171     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x19, &x20, x8, (arg2[2]));
5172     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x21, &x22, x8, (arg2[1]));
5173     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x23, &x24, x8, (arg2[0]));
5174     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x25, &x26, 0x0, x24,
5175                                                       x21);
5176     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x27, &x28, x26, x22,
5177                                                       x19);
5178     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x29, &x30, x28, x20,
5179                                                       x17);
5180     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x31, &x32, x30, x18,
5181                                                       x15);
5182     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x33, &x34, x32, x16,
5183                                                       x13);
5184     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x35, &x36, x34, x14,
5185                                                       x11);
5186     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x37, &x38, x36, x12, x9);
5187     x39 = (x38 + x10);
5188     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x40, &x41, x23,
5189                                                  UINT32_C(0x883b2b2f));
5190     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x42, &x43, x40,
5191                                                  UINT32_C(0x80000000));
5192     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x44, &x45, x40,
5193                                                  UINT16_C(0x431));
5194     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x46, &x47, 0x0, x23,
5195                                                       x44);
5196     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x48, &x49, x47, x25,
5197                                                       x45);
5198     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x50, &x51, x49, x27,
5199                                                       0x0);
5200     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x52, &x53, x51, x29,
5201                                                       0x0);
5202     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x54, &x55, x53, x31,
5203                                                       0x0);
5204     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x56, &x57, x55, x33,
5205                                                       0x0);
5206     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x58, &x59, x57, x35,
5207                                                       0x0);
5208     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x60, &x61, x59, x37,
5209                                                       x42);
5210     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x62, &x63, x61, x39,
5211                                                       x43);
5212     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x64, &x65, x1, (arg2[7]));
5213     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x66, &x67, x1, (arg2[6]));
5214     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x68, &x69, x1, (arg2[5]));
5215     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x70, &x71, x1, (arg2[4]));
5216     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x72, &x73, x1, (arg2[3]));
5217     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x74, &x75, x1, (arg2[2]));
5218     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x76, &x77, x1, (arg2[1]));
5219     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x78, &x79, x1, (arg2[0]));
5220     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x80, &x81, 0x0, x79,
5221                                                       x76);
5222     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x82, &x83, x81, x77,
5223                                                       x74);
5224     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x84, &x85, x83, x75,
5225                                                       x72);
5226     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x86, &x87, x85, x73,
5227                                                       x70);
5228     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x88, &x89, x87, x71,
5229                                                       x68);
5230     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x90, &x91, x89, x69,
5231                                                       x66);
5232     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x92, &x93, x91, x67,
5233                                                       x64);
5234     x94 = (x93 + x65);
5235     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x95, &x96, 0x0, x48,
5236                                                       x78);
5237     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x97, &x98, x96, x50,
5238                                                       x80);
5239     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x99, &x100, x98, x52,
5240                                                       x82);
5241     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x101, &x102, x100, x54,
5242                                                       x84);
5243     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x103, &x104, x102, x56,
5244                                                       x86);
5245     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x105, &x106, x104, x58,
5246                                                       x88);
5247     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x107, &x108, x106, x60,
5248                                                       x90);
5249     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x109, &x110, x108, x62,
5250                                                       x92);
5251     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x111, &x112, x110, x63,
5252                                                       x94);
5253     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x113, &x114, x95,
5254                                                  UINT32_C(0x883b2b2f));
5255     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x115, &x116, x113,
5256                                                  UINT32_C(0x80000000));
5257     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x117, &x118, x113,
5258                                                  UINT16_C(0x431));
5259     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x119, &x120, 0x0, x95,
5260                                                       x117);
5261     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x121, &x122, x120, x97,
5262                                                       x118);
5263     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x123, &x124, x122, x99,
5264                                                       0x0);
5265     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x125, &x126, x124, x101,
5266                                                       0x0);
5267     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x127, &x128, x126, x103,
5268                                                       0x0);
5269     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x129, &x130, x128, x105,
5270                                                       0x0);
5271     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x131, &x132, x130, x107,
5272                                                       0x0);
5273     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x133, &x134, x132, x109,
5274                                                       x115);
5275     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x135, &x136, x134, x111,
5276                                                       x116);
5277     x137 = ((uint32_t)x136 + x112);
5278     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x138, &x139, x2, (arg2[7]));
5279     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x140, &x141, x2, (arg2[6]));
5280     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x142, &x143, x2, (arg2[5]));
5281     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x144, &x145, x2, (arg2[4]));
5282     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x146, &x147, x2, (arg2[3]));
5283     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x148, &x149, x2, (arg2[2]));
5284     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x150, &x151, x2, (arg2[1]));
5285     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x152, &x153, x2, (arg2[0]));
5286     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x154, &x155, 0x0, x153,
5287                                                       x150);
5288     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x156, &x157, x155, x151,
5289                                                       x148);
5290     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x158, &x159, x157, x149,
5291                                                       x146);
5292     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x160, &x161, x159, x147,
5293                                                       x144);
5294     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x162, &x163, x161, x145,
5295                                                       x142);
5296     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x164, &x165, x163, x143,
5297                                                       x140);
5298     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x166, &x167, x165, x141,
5299                                                       x138);
5300     x168 = (x167 + x139);
5301     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x169, &x170, 0x0, x121,
5302                                                       x152);
5303     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x171, &x172, x170, x123,
5304                                                       x154);
5305     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x173, &x174, x172, x125,
5306                                                       x156);
5307     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x175, &x176, x174, x127,
5308                                                       x158);
5309     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x177, &x178, x176, x129,
5310                                                       x160);
5311     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x179, &x180, x178, x131,
5312                                                       x162);
5313     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x181, &x182, x180, x133,
5314                                                       x164);
5315     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x183, &x184, x182, x135,
5316                                                       x166);
5317     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x185, &x186, x184, x137,
5318                                                       x168);
5319     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x187, &x188, x169,
5320                                                  UINT32_C(0x883b2b2f));
5321     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x189, &x190, x187,
5322                                                  UINT32_C(0x80000000));
5323     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x191, &x192, x187,
5324                                                  UINT16_C(0x431));
5325     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x193, &x194, 0x0, x169,
5326                                                       x191);
5327     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x195, &x196, x194, x171,
5328                                                       x192);
5329     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x197, &x198, x196, x173,
5330                                                       0x0);
5331     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x199, &x200, x198, x175,
5332                                                       0x0);
5333     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x201, &x202, x200, x177,
5334                                                       0x0);
5335     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x203, &x204, x202, x179,
5336                                                       0x0);
5337     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x205, &x206, x204, x181,
5338                                                       0x0);
5339     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x207, &x208, x206, x183,
5340                                                       x189);
5341     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x209, &x210, x208, x185,
5342                                                       x190);
5343     x211 = ((uint32_t)x210 + x186);
5344     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x212, &x213, x3, (arg2[7]));
5345     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x214, &x215, x3, (arg2[6]));
5346     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x216, &x217, x3, (arg2[5]));
5347     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x218, &x219, x3, (arg2[4]));
5348     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x220, &x221, x3, (arg2[3]));
5349     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x222, &x223, x3, (arg2[2]));
5350     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x224, &x225, x3, (arg2[1]));
5351     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x226, &x227, x3, (arg2[0]));
5352     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x228, &x229, 0x0, x227,
5353                                                       x224);
5354     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x230, &x231, x229, x225,
5355                                                       x222);
5356     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x232, &x233, x231, x223,
5357                                                       x220);
5358     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x234, &x235, x233, x221,
5359                                                       x218);
5360     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x236, &x237, x235, x219,
5361                                                       x216);
5362     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x238, &x239, x237, x217,
5363                                                       x214);
5364     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x240, &x241, x239, x215,
5365                                                       x212);
5366     x242 = (x241 + x213);
5367     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x243, &x244, 0x0, x195,
5368                                                       x226);
5369     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x245, &x246, x244, x197,
5370                                                       x228);
5371     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x247, &x248, x246, x199,
5372                                                       x230);
5373     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x249, &x250, x248, x201,
5374                                                       x232);
5375     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x251, &x252, x250, x203,
5376                                                       x234);
5377     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x253, &x254, x252, x205,
5378                                                       x236);
5379     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x255, &x256, x254, x207,
5380                                                       x238);
5381     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x257, &x258, x256, x209,
5382                                                       x240);
5383     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x259, &x260, x258, x211,
5384                                                       x242);
5385     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x261, &x262, x243,
5386                                                  UINT32_C(0x883b2b2f));
5387     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x263, &x264, x261,
5388                                                  UINT32_C(0x80000000));
5389     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x265, &x266, x261,
5390                                                  UINT16_C(0x431));
5391     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x267, &x268, 0x0, x243,
5392                                                       x265);
5393     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x269, &x270, x268, x245,
5394                                                       x266);
5395     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x271, &x272, x270, x247,
5396                                                       0x0);
5397     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x273, &x274, x272, x249,
5398                                                       0x0);
5399     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x275, &x276, x274, x251,
5400                                                       0x0);
5401     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x277, &x278, x276, x253,
5402                                                       0x0);
5403     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x279, &x280, x278, x255,
5404                                                       0x0);
5405     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x281, &x282, x280, x257,
5406                                                       x263);
5407     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x283, &x284, x282, x259,
5408                                                       x264);
5409     x285 = ((uint32_t)x284 + x260);
5410     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x286, &x287, x4, (arg2[7]));
5411     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x288, &x289, x4, (arg2[6]));
5412     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x290, &x291, x4, (arg2[5]));
5413     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x292, &x293, x4, (arg2[4]));
5414     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x294, &x295, x4, (arg2[3]));
5415     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x296, &x297, x4, (arg2[2]));
5416     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x298, &x299, x4, (arg2[1]));
5417     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x300, &x301, x4, (arg2[0]));
5418     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x302, &x303, 0x0, x301,
5419                                                       x298);
5420     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x304, &x305, x303, x299,
5421                                                       x296);
5422     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x306, &x307, x305, x297,
5423                                                       x294);
5424     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x308, &x309, x307, x295,
5425                                                       x292);
5426     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x310, &x311, x309, x293,
5427                                                       x290);
5428     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x312, &x313, x311, x291,
5429                                                       x288);
5430     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x314, &x315, x313, x289,
5431                                                       x286);
5432     x316 = (x315 + x287);
5433     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x317, &x318, 0x0, x269,
5434                                                       x300);
5435     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x319, &x320, x318, x271,
5436                                                       x302);
5437     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x321, &x322, x320, x273,
5438                                                       x304);
5439     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x323, &x324, x322, x275,
5440                                                       x306);
5441     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x325, &x326, x324, x277,
5442                                                       x308);
5443     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x327, &x328, x326, x279,
5444                                                       x310);
5445     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x329, &x330, x328, x281,
5446                                                       x312);
5447     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x331, &x332, x330, x283,
5448                                                       x314);
5449     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x333, &x334, x332, x285,
5450                                                       x316);
5451     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x335, &x336, x317,
5452                                                  UINT32_C(0x883b2b2f));
5453     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x337, &x338, x335,
5454                                                  UINT32_C(0x80000000));
5455     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x339, &x340, x335,
5456                                                  UINT16_C(0x431));
5457     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x341, &x342, 0x0, x317,
5458                                                       x339);
5459     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x343, &x344, x342, x319,
5460                                                       x340);
5461     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x345, &x346, x344, x321,
5462                                                       0x0);
5463     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x347, &x348, x346, x323,
5464                                                       0x0);
5465     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x349, &x350, x348, x325,
5466                                                       0x0);
5467     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x351, &x352, x350, x327,
5468                                                       0x0);
5469     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x353, &x354, x352, x329,
5470                                                       0x0);
5471     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x355, &x356, x354, x331,
5472                                                       x337);
5473     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x357, &x358, x356, x333,
5474                                                       x338);
5475     x359 = ((uint32_t)x358 + x334);
5476     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x360, &x361, x5, (arg2[7]));
5477     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x362, &x363, x5, (arg2[6]));
5478     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x364, &x365, x5, (arg2[5]));
5479     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x366, &x367, x5, (arg2[4]));
5480     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x368, &x369, x5, (arg2[3]));
5481     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x370, &x371, x5, (arg2[2]));
5482     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x372, &x373, x5, (arg2[1]));
5483     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x374, &x375, x5, (arg2[0]));
5484     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x376, &x377, 0x0, x375,
5485                                                       x372);
5486     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x378, &x379, x377, x373,
5487                                                       x370);
5488     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x380, &x381, x379, x371,
5489                                                       x368);
5490     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x382, &x383, x381, x369,
5491                                                       x366);
5492     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x384, &x385, x383, x367,
5493                                                       x364);
5494     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x386, &x387, x385, x365,
5495                                                       x362);
5496     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x388, &x389, x387, x363,
5497                                                       x360);
5498     x390 = (x389 + x361);
5499     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x391, &x392, 0x0, x343,
5500                                                       x374);
5501     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x393, &x394, x392, x345,
5502                                                       x376);
5503     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x395, &x396, x394, x347,
5504                                                       x378);
5505     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x397, &x398, x396, x349,
5506                                                       x380);
5507     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x399, &x400, x398, x351,
5508                                                       x382);
5509     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x401, &x402, x400, x353,
5510                                                       x384);
5511     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x403, &x404, x402, x355,
5512                                                       x386);
5513     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x405, &x406, x404, x357,
5514                                                       x388);
5515     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x407, &x408, x406, x359,
5516                                                       x390);
5517     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x409, &x410, x391,
5518                                                  UINT32_C(0x883b2b2f));
5519     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x411, &x412, x409,
5520                                                  UINT32_C(0x80000000));
5521     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x413, &x414, x409,
5522                                                  UINT16_C(0x431));
5523     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x415, &x416, 0x0, x391,
5524                                                       x413);
5525     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x417, &x418, x416, x393,
5526                                                       x414);
5527     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x419, &x420, x418, x395,
5528                                                       0x0);
5529     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x421, &x422, x420, x397,
5530                                                       0x0);
5531     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x423, &x424, x422, x399,
5532                                                       0x0);
5533     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x425, &x426, x424, x401,
5534                                                       0x0);
5535     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x427, &x428, x426, x403,
5536                                                       0x0);
5537     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x429, &x430, x428, x405,
5538                                                       x411);
5539     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x431, &x432, x430, x407,
5540                                                       x412);
5541     x433 = ((uint32_t)x432 + x408);
5542     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x434, &x435, x6, (arg2[7]));
5543     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x436, &x437, x6, (arg2[6]));
5544     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x438, &x439, x6, (arg2[5]));
5545     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x440, &x441, x6, (arg2[4]));
5546     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x442, &x443, x6, (arg2[3]));
5547     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x444, &x445, x6, (arg2[2]));
5548     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x446, &x447, x6, (arg2[1]));
5549     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x448, &x449, x6, (arg2[0]));
5550     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x450, &x451, 0x0, x449,
5551                                                       x446);
5552     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x452, &x453, x451, x447,
5553                                                       x444);
5554     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x454, &x455, x453, x445,
5555                                                       x442);
5556     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x456, &x457, x455, x443,
5557                                                       x440);
5558     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x458, &x459, x457, x441,
5559                                                       x438);
5560     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x460, &x461, x459, x439,
5561                                                       x436);
5562     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x462, &x463, x461, x437,
5563                                                       x434);
5564     x464 = (x463 + x435);
5565     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x465, &x466, 0x0, x417,
5566                                                       x448);
5567     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x467, &x468, x466, x419,
5568                                                       x450);
5569     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x469, &x470, x468, x421,
5570                                                       x452);
5571     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x471, &x472, x470, x423,
5572                                                       x454);
5573     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x473, &x474, x472, x425,
5574                                                       x456);
5575     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x475, &x476, x474, x427,
5576                                                       x458);
5577     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x477, &x478, x476, x429,
5578                                                       x460);
5579     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x479, &x480, x478, x431,
5580                                                       x462);
5581     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x481, &x482, x480, x433,
5582                                                       x464);
5583     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x483, &x484, x465,
5584                                                  UINT32_C(0x883b2b2f));
5585     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x485, &x486, x483,
5586                                                  UINT32_C(0x80000000));
5587     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x487, &x488, x483,
5588                                                  UINT16_C(0x431));
5589     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x489, &x490, 0x0, x465,
5590                                                       x487);
5591     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x491, &x492, x490, x467,
5592                                                       x488);
5593     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x493, &x494, x492, x469,
5594                                                       0x0);
5595     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x495, &x496, x494, x471,
5596                                                       0x0);
5597     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x497, &x498, x496, x473,
5598                                                       0x0);
5599     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x499, &x500, x498, x475,
5600                                                       0x0);
5601     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x501, &x502, x500, x477,
5602                                                       0x0);
5603     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x503, &x504, x502, x479,
5604                                                       x485);
5605     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x505, &x506, x504, x481,
5606                                                       x486);
5607     x507 = ((uint32_t)x506 + x482);
5608     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x508, &x509, x7, (arg2[7]));
5609     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x510, &x511, x7, (arg2[6]));
5610     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x512, &x513, x7, (arg2[5]));
5611     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x514, &x515, x7, (arg2[4]));
5612     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x516, &x517, x7, (arg2[3]));
5613     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x518, &x519, x7, (arg2[2]));
5614     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x520, &x521, x7, (arg2[1]));
5615     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x522, &x523, x7, (arg2[0]));
5616     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x524, &x525, 0x0, x523,
5617                                                       x520);
5618     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x526, &x527, x525, x521,
5619                                                       x518);
5620     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x528, &x529, x527, x519,
5621                                                       x516);
5622     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x530, &x531, x529, x517,
5623                                                       x514);
5624     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x532, &x533, x531, x515,
5625                                                       x512);
5626     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x534, &x535, x533, x513,
5627                                                       x510);
5628     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x536, &x537, x535, x511,
5629                                                       x508);
5630     x538 = (x537 + x509);
5631     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x539, &x540, 0x0, x491,
5632                                                       x522);
5633     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x541, &x542, x540, x493,
5634                                                       x524);
5635     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x543, &x544, x542, x495,
5636                                                       x526);
5637     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x545, &x546, x544, x497,
5638                                                       x528);
5639     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x547, &x548, x546, x499,
5640                                                       x530);
5641     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x549, &x550, x548, x501,
5642                                                       x532);
5643     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x551, &x552, x550, x503,
5644                                                       x534);
5645     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x553, &x554, x552, x505,
5646                                                       x536);
5647     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x555, &x556, x554, x507,
5648                                                       x538);
5649     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x557, &x558, x539,
5650                                                  UINT32_C(0x883b2b2f));
5651     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x559, &x560, x557,
5652                                                  UINT32_C(0x80000000));
5653     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x561, &x562, x557,
5654                                                  UINT16_C(0x431));
5655     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x563, &x564, 0x0, x539,
5656                                                       x561);
5657     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x565, &x566, x564, x541,
5658                                                       x562);
5659     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x567, &x568, x566, x543,
5660                                                       0x0);
5661     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x569, &x570, x568, x545,
5662                                                       0x0);
5663     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x571, &x572, x570, x547,
5664                                                       0x0);
5665     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x573, &x574, x572, x549,
5666                                                       0x0);
5667     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x575, &x576, x574, x551,
5668                                                       0x0);
5669     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x577, &x578, x576, x553,
5670                                                       x559);
5671     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x579, &x580, x578, x555,
5672                                                       x560);
5673     x581 = ((uint32_t)x580 + x556);
5674     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x582, &x583, 0x0, x565,
5675                                                        UINT16_C(0x431));
5676     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x584, &x585, x583, x567,
5677                                                        0x0);
5678     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x586, &x587, x585, x569,
5679                                                        0x0);
5680     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x588, &x589, x587, x571,
5681                                                        0x0);
5682     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x590, &x591, x589, x573,
5683                                                        0x0);
5684     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x592, &x593, x591, x575,
5685                                                        0x0);
5686     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x594, &x595, x593, x577,
5687                                                        0x0);
5688     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x596, &x597, x595, x579,
5689                                                        UINT32_C(0x80000000));
5690     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x598, &x599, x597, x581,
5691                                                        0x0);
5692     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x600, x599, x582, x565);
5693     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x601, x599, x584, x567);
5694     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x602, x599, x586, x569);
5695     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x603, x599, x588, x571);
5696     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x604, x599, x590, x573);
5697     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x605, x599, x592, x575);
5698     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x606, x599, x594, x577);
5699     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x607, x599, x596, x579);
5700     out1[0] = x600;
5701     out1[1] = x601;
5702     out1[2] = x602;
5703     out1[3] = x603;
5704     out1[4] = x604;
5705     out1[5] = x605;
5706     out1[6] = x606;
5707     out1[7] = x607;
5708 }
5709
5710 /*
5711  * The function fiat_id_GostR3410_2001_TestParamSet_square squares a field element in the Montgomery domain.
5712  * Preconditions:
5713  *   0 ≤ eval arg1 < m
5714  * Postconditions:
5715  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg1)) mod m
5716  *   0 ≤ eval out1 < m
5717  *
5718  * Input Bounds:
5719  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
5720  * Output Bounds:
5721  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
5722  */
5723 static void fiat_id_GostR3410_2001_TestParamSet_square(uint32_t out1[8],
5724                                                        const uint32_t arg1[8]) {
5725     uint32_t x1;
5726     uint32_t x2;
5727     uint32_t x3;
5728     uint32_t x4;
5729     uint32_t x5;
5730     uint32_t x6;
5731     uint32_t x7;
5732     uint32_t x8;
5733     uint32_t x9;
5734     uint32_t x10;
5735     uint32_t x11;
5736     uint32_t x12;
5737     uint32_t x13;
5738     uint32_t x14;
5739     uint32_t x15;
5740     uint32_t x16;
5741     uint32_t x17;
5742     uint32_t x18;
5743     uint32_t x19;
5744     uint32_t x20;
5745     uint32_t x21;
5746     uint32_t x22;
5747     uint32_t x23;
5748     uint32_t x24;
5749     uint32_t x25;
5750     fiat_id_GostR3410_2001_TestParamSet_uint1 x26;
5751     uint32_t x27;
5752     fiat_id_GostR3410_2001_TestParamSet_uint1 x28;
5753     uint32_t x29;
5754     fiat_id_GostR3410_2001_TestParamSet_uint1 x30;
5755     uint32_t x31;
5756     fiat_id_GostR3410_2001_TestParamSet_uint1 x32;
5757     uint32_t x33;
5758     fiat_id_GostR3410_2001_TestParamSet_uint1 x34;
5759     uint32_t x35;
5760     fiat_id_GostR3410_2001_TestParamSet_uint1 x36;
5761     uint32_t x37;
5762     fiat_id_GostR3410_2001_TestParamSet_uint1 x38;
5763     uint32_t x39;
5764     uint32_t x40;
5765     uint32_t x41;
5766     uint32_t x42;
5767     uint32_t x43;
5768     uint32_t x44;
5769     uint32_t x45;
5770     uint32_t x46;
5771     fiat_id_GostR3410_2001_TestParamSet_uint1 x47;
5772     uint32_t x48;
5773     fiat_id_GostR3410_2001_TestParamSet_uint1 x49;
5774     uint32_t x50;
5775     fiat_id_GostR3410_2001_TestParamSet_uint1 x51;
5776     uint32_t x52;
5777     fiat_id_GostR3410_2001_TestParamSet_uint1 x53;
5778     uint32_t x54;
5779     fiat_id_GostR3410_2001_TestParamSet_uint1 x55;
5780     uint32_t x56;
5781     fiat_id_GostR3410_2001_TestParamSet_uint1 x57;
5782     uint32_t x58;
5783     fiat_id_GostR3410_2001_TestParamSet_uint1 x59;
5784     uint32_t x60;
5785     fiat_id_GostR3410_2001_TestParamSet_uint1 x61;
5786     uint32_t x62;
5787     fiat_id_GostR3410_2001_TestParamSet_uint1 x63;
5788     uint32_t x64;
5789     uint32_t x65;
5790     uint32_t x66;
5791     uint32_t x67;
5792     uint32_t x68;
5793     uint32_t x69;
5794     uint32_t x70;
5795     uint32_t x71;
5796     uint32_t x72;
5797     uint32_t x73;
5798     uint32_t x74;
5799     uint32_t x75;
5800     uint32_t x76;
5801     uint32_t x77;
5802     uint32_t x78;
5803     uint32_t x79;
5804     uint32_t x80;
5805     fiat_id_GostR3410_2001_TestParamSet_uint1 x81;
5806     uint32_t x82;
5807     fiat_id_GostR3410_2001_TestParamSet_uint1 x83;
5808     uint32_t x84;
5809     fiat_id_GostR3410_2001_TestParamSet_uint1 x85;
5810     uint32_t x86;
5811     fiat_id_GostR3410_2001_TestParamSet_uint1 x87;
5812     uint32_t x88;
5813     fiat_id_GostR3410_2001_TestParamSet_uint1 x89;
5814     uint32_t x90;
5815     fiat_id_GostR3410_2001_TestParamSet_uint1 x91;
5816     uint32_t x92;
5817     fiat_id_GostR3410_2001_TestParamSet_uint1 x93;
5818     uint32_t x94;
5819     uint32_t x95;
5820     fiat_id_GostR3410_2001_TestParamSet_uint1 x96;
5821     uint32_t x97;
5822     fiat_id_GostR3410_2001_TestParamSet_uint1 x98;
5823     uint32_t x99;
5824     fiat_id_GostR3410_2001_TestParamSet_uint1 x100;
5825     uint32_t x101;
5826     fiat_id_GostR3410_2001_TestParamSet_uint1 x102;
5827     uint32_t x103;
5828     fiat_id_GostR3410_2001_TestParamSet_uint1 x104;
5829     uint32_t x105;
5830     fiat_id_GostR3410_2001_TestParamSet_uint1 x106;
5831     uint32_t x107;
5832     fiat_id_GostR3410_2001_TestParamSet_uint1 x108;
5833     uint32_t x109;
5834     fiat_id_GostR3410_2001_TestParamSet_uint1 x110;
5835     uint32_t x111;
5836     fiat_id_GostR3410_2001_TestParamSet_uint1 x112;
5837     uint32_t x113;
5838     uint32_t x114;
5839     uint32_t x115;
5840     uint32_t x116;
5841     uint32_t x117;
5842     uint32_t x118;
5843     uint32_t x119;
5844     fiat_id_GostR3410_2001_TestParamSet_uint1 x120;
5845     uint32_t x121;
5846     fiat_id_GostR3410_2001_TestParamSet_uint1 x122;
5847     uint32_t x123;
5848     fiat_id_GostR3410_2001_TestParamSet_uint1 x124;
5849     uint32_t x125;
5850     fiat_id_GostR3410_2001_TestParamSet_uint1 x126;
5851     uint32_t x127;
5852     fiat_id_GostR3410_2001_TestParamSet_uint1 x128;
5853     uint32_t x129;
5854     fiat_id_GostR3410_2001_TestParamSet_uint1 x130;
5855     uint32_t x131;
5856     fiat_id_GostR3410_2001_TestParamSet_uint1 x132;
5857     uint32_t x133;
5858     fiat_id_GostR3410_2001_TestParamSet_uint1 x134;
5859     uint32_t x135;
5860     fiat_id_GostR3410_2001_TestParamSet_uint1 x136;
5861     uint32_t x137;
5862     uint32_t x138;
5863     uint32_t x139;
5864     uint32_t x140;
5865     uint32_t x141;
5866     uint32_t x142;
5867     uint32_t x143;
5868     uint32_t x144;
5869     uint32_t x145;
5870     uint32_t x146;
5871     uint32_t x147;
5872     uint32_t x148;
5873     uint32_t x149;
5874     uint32_t x150;
5875     uint32_t x151;
5876     uint32_t x152;
5877     uint32_t x153;
5878     uint32_t x154;
5879     fiat_id_GostR3410_2001_TestParamSet_uint1 x155;
5880     uint32_t x156;
5881     fiat_id_GostR3410_2001_TestParamSet_uint1 x157;
5882     uint32_t x158;
5883     fiat_id_GostR3410_2001_TestParamSet_uint1 x159;
5884     uint32_t x160;
5885     fiat_id_GostR3410_2001_TestParamSet_uint1 x161;
5886     uint32_t x162;
5887     fiat_id_GostR3410_2001_TestParamSet_uint1 x163;
5888     uint32_t x164;
5889     fiat_id_GostR3410_2001_TestParamSet_uint1 x165;
5890     uint32_t x166;
5891     fiat_id_GostR3410_2001_TestParamSet_uint1 x167;
5892     uint32_t x168;
5893     uint32_t x169;
5894     fiat_id_GostR3410_2001_TestParamSet_uint1 x170;
5895     uint32_t x171;
5896     fiat_id_GostR3410_2001_TestParamSet_uint1 x172;
5897     uint32_t x173;
5898     fiat_id_GostR3410_2001_TestParamSet_uint1 x174;
5899     uint32_t x175;
5900     fiat_id_GostR3410_2001_TestParamSet_uint1 x176;
5901     uint32_t x177;
5902     fiat_id_GostR3410_2001_TestParamSet_uint1 x178;
5903     uint32_t x179;
5904     fiat_id_GostR3410_2001_TestParamSet_uint1 x180;
5905     uint32_t x181;
5906     fiat_id_GostR3410_2001_TestParamSet_uint1 x182;
5907     uint32_t x183;
5908     fiat_id_GostR3410_2001_TestParamSet_uint1 x184;
5909     uint32_t x185;
5910     fiat_id_GostR3410_2001_TestParamSet_uint1 x186;
5911     uint32_t x187;
5912     uint32_t x188;
5913     uint32_t x189;
5914     uint32_t x190;
5915     uint32_t x191;
5916     uint32_t x192;
5917     uint32_t x193;
5918     fiat_id_GostR3410_2001_TestParamSet_uint1 x194;
5919     uint32_t x195;
5920     fiat_id_GostR3410_2001_TestParamSet_uint1 x196;
5921     uint32_t x197;
5922     fiat_id_GostR3410_2001_TestParamSet_uint1 x198;
5923     uint32_t x199;
5924     fiat_id_GostR3410_2001_TestParamSet_uint1 x200;
5925     uint32_t x201;
5926     fiat_id_GostR3410_2001_TestParamSet_uint1 x202;
5927     uint32_t x203;
5928     fiat_id_GostR3410_2001_TestParamSet_uint1 x204;
5929     uint32_t x205;
5930     fiat_id_GostR3410_2001_TestParamSet_uint1 x206;
5931     uint32_t x207;
5932     fiat_id_GostR3410_2001_TestParamSet_uint1 x208;
5933     uint32_t x209;
5934     fiat_id_GostR3410_2001_TestParamSet_uint1 x210;
5935     uint32_t x211;
5936     uint32_t x212;
5937     uint32_t x213;
5938     uint32_t x214;
5939     uint32_t x215;
5940     uint32_t x216;
5941     uint32_t x217;
5942     uint32_t x218;
5943     uint32_t x219;
5944     uint32_t x220;
5945     uint32_t x221;
5946     uint32_t x222;
5947     uint32_t x223;
5948     uint32_t x224;
5949     uint32_t x225;
5950     uint32_t x226;
5951     uint32_t x227;
5952     uint32_t x228;
5953     fiat_id_GostR3410_2001_TestParamSet_uint1 x229;
5954     uint32_t x230;
5955     fiat_id_GostR3410_2001_TestParamSet_uint1 x231;
5956     uint32_t x232;
5957     fiat_id_GostR3410_2001_TestParamSet_uint1 x233;
5958     uint32_t x234;
5959     fiat_id_GostR3410_2001_TestParamSet_uint1 x235;
5960     uint32_t x236;
5961     fiat_id_GostR3410_2001_TestParamSet_uint1 x237;
5962     uint32_t x238;
5963     fiat_id_GostR3410_2001_TestParamSet_uint1 x239;
5964     uint32_t x240;
5965     fiat_id_GostR3410_2001_TestParamSet_uint1 x241;
5966     uint32_t x242;
5967     uint32_t x243;
5968     fiat_id_GostR3410_2001_TestParamSet_uint1 x244;
5969     uint32_t x245;
5970     fiat_id_GostR3410_2001_TestParamSet_uint1 x246;
5971     uint32_t x247;
5972     fiat_id_GostR3410_2001_TestParamSet_uint1 x248;
5973     uint32_t x249;
5974     fiat_id_GostR3410_2001_TestParamSet_uint1 x250;
5975     uint32_t x251;
5976     fiat_id_GostR3410_2001_TestParamSet_uint1 x252;
5977     uint32_t x253;
5978     fiat_id_GostR3410_2001_TestParamSet_uint1 x254;
5979     uint32_t x255;
5980     fiat_id_GostR3410_2001_TestParamSet_uint1 x256;
5981     uint32_t x257;
5982     fiat_id_GostR3410_2001_TestParamSet_uint1 x258;
5983     uint32_t x259;
5984     fiat_id_GostR3410_2001_TestParamSet_uint1 x260;
5985     uint32_t x261;
5986     uint32_t x262;
5987     uint32_t x263;
5988     uint32_t x264;
5989     uint32_t x265;
5990     uint32_t x266;
5991     uint32_t x267;
5992     fiat_id_GostR3410_2001_TestParamSet_uint1 x268;
5993     uint32_t x269;
5994     fiat_id_GostR3410_2001_TestParamSet_uint1 x270;
5995     uint32_t x271;
5996     fiat_id_GostR3410_2001_TestParamSet_uint1 x272;
5997     uint32_t x273;
5998     fiat_id_GostR3410_2001_TestParamSet_uint1 x274;
5999     uint32_t x275;
6000     fiat_id_GostR3410_2001_TestParamSet_uint1 x276;
6001     uint32_t x277;
6002     fiat_id_GostR3410_2001_TestParamSet_uint1 x278;
6003     uint32_t x279;
6004     fiat_id_GostR3410_2001_TestParamSet_uint1 x280;
6005     uint32_t x281;
6006     fiat_id_GostR3410_2001_TestParamSet_uint1 x282;
6007     uint32_t x283;
6008     fiat_id_GostR3410_2001_TestParamSet_uint1 x284;
6009     uint32_t x285;
6010     uint32_t x286;
6011     uint32_t x287;
6012     uint32_t x288;
6013     uint32_t x289;
6014     uint32_t x290;
6015     uint32_t x291;
6016     uint32_t x292;
6017     uint32_t x293;
6018     uint32_t x294;
6019     uint32_t x295;
6020     uint32_t x296;
6021     uint32_t x297;
6022     uint32_t x298;
6023     uint32_t x299;
6024     uint32_t x300;
6025     uint32_t x301;
6026     uint32_t x302;
6027     fiat_id_GostR3410_2001_TestParamSet_uint1 x303;
6028     uint32_t x304;
6029     fiat_id_GostR3410_2001_TestParamSet_uint1 x305;
6030     uint32_t x306;
6031     fiat_id_GostR3410_2001_TestParamSet_uint1 x307;
6032     uint32_t x308;
6033     fiat_id_GostR3410_2001_TestParamSet_uint1 x309;
6034     uint32_t x310;
6035     fiat_id_GostR3410_2001_TestParamSet_uint1 x311;
6036     uint32_t x312;
6037     fiat_id_GostR3410_2001_TestParamSet_uint1 x313;
6038     uint32_t x314;
6039     fiat_id_GostR3410_2001_TestParamSet_uint1 x315;
6040     uint32_t x316;
6041     uint32_t x317;
6042     fiat_id_GostR3410_2001_TestParamSet_uint1 x318;
6043     uint32_t x319;
6044     fiat_id_GostR3410_2001_TestParamSet_uint1 x320;
6045     uint32_t x321;
6046     fiat_id_GostR3410_2001_TestParamSet_uint1 x322;
6047     uint32_t x323;
6048     fiat_id_GostR3410_2001_TestParamSet_uint1 x324;
6049     uint32_t x325;
6050     fiat_id_GostR3410_2001_TestParamSet_uint1 x326;
6051     uint32_t x327;
6052     fiat_id_GostR3410_2001_TestParamSet_uint1 x328;
6053     uint32_t x329;
6054     fiat_id_GostR3410_2001_TestParamSet_uint1 x330;
6055     uint32_t x331;
6056     fiat_id_GostR3410_2001_TestParamSet_uint1 x332;
6057     uint32_t x333;
6058     fiat_id_GostR3410_2001_TestParamSet_uint1 x334;
6059     uint32_t x335;
6060     uint32_t x336;
6061     uint32_t x337;
6062     uint32_t x338;
6063     uint32_t x339;
6064     uint32_t x340;
6065     uint32_t x341;
6066     fiat_id_GostR3410_2001_TestParamSet_uint1 x342;
6067     uint32_t x343;
6068     fiat_id_GostR3410_2001_TestParamSet_uint1 x344;
6069     uint32_t x345;
6070     fiat_id_GostR3410_2001_TestParamSet_uint1 x346;
6071     uint32_t x347;
6072     fiat_id_GostR3410_2001_TestParamSet_uint1 x348;
6073     uint32_t x349;
6074     fiat_id_GostR3410_2001_TestParamSet_uint1 x350;
6075     uint32_t x351;
6076     fiat_id_GostR3410_2001_TestParamSet_uint1 x352;
6077     uint32_t x353;
6078     fiat_id_GostR3410_2001_TestParamSet_uint1 x354;
6079     uint32_t x355;
6080     fiat_id_GostR3410_2001_TestParamSet_uint1 x356;
6081     uint32_t x357;
6082     fiat_id_GostR3410_2001_TestParamSet_uint1 x358;
6083     uint32_t x359;
6084     uint32_t x360;
6085     uint32_t x361;
6086     uint32_t x362;
6087     uint32_t x363;
6088     uint32_t x364;
6089     uint32_t x365;
6090     uint32_t x366;
6091     uint32_t x367;
6092     uint32_t x368;
6093     uint32_t x369;
6094     uint32_t x370;
6095     uint32_t x371;
6096     uint32_t x372;
6097     uint32_t x373;
6098     uint32_t x374;
6099     uint32_t x375;
6100     uint32_t x376;
6101     fiat_id_GostR3410_2001_TestParamSet_uint1 x377;
6102     uint32_t x378;
6103     fiat_id_GostR3410_2001_TestParamSet_uint1 x379;
6104     uint32_t x380;
6105     fiat_id_GostR3410_2001_TestParamSet_uint1 x381;
6106     uint32_t x382;
6107     fiat_id_GostR3410_2001_TestParamSet_uint1 x383;
6108     uint32_t x384;
6109     fiat_id_GostR3410_2001_TestParamSet_uint1 x385;
6110     uint32_t x386;
6111     fiat_id_GostR3410_2001_TestParamSet_uint1 x387;
6112     uint32_t x388;
6113     fiat_id_GostR3410_2001_TestParamSet_uint1 x389;
6114     uint32_t x390;
6115     uint32_t x391;
6116     fiat_id_GostR3410_2001_TestParamSet_uint1 x392;
6117     uint32_t x393;
6118     fiat_id_GostR3410_2001_TestParamSet_uint1 x394;
6119     uint32_t x395;
6120     fiat_id_GostR3410_2001_TestParamSet_uint1 x396;
6121     uint32_t x397;
6122     fiat_id_GostR3410_2001_TestParamSet_uint1 x398;
6123     uint32_t x399;
6124     fiat_id_GostR3410_2001_TestParamSet_uint1 x400;
6125     uint32_t x401;
6126     fiat_id_GostR3410_2001_TestParamSet_uint1 x402;
6127     uint32_t x403;
6128     fiat_id_GostR3410_2001_TestParamSet_uint1 x404;
6129     uint32_t x405;
6130     fiat_id_GostR3410_2001_TestParamSet_uint1 x406;
6131     uint32_t x407;
6132     fiat_id_GostR3410_2001_TestParamSet_uint1 x408;
6133     uint32_t x409;
6134     uint32_t x410;
6135     uint32_t x411;
6136     uint32_t x412;
6137     uint32_t x413;
6138     uint32_t x414;
6139     uint32_t x415;
6140     fiat_id_GostR3410_2001_TestParamSet_uint1 x416;
6141     uint32_t x417;
6142     fiat_id_GostR3410_2001_TestParamSet_uint1 x418;
6143     uint32_t x419;
6144     fiat_id_GostR3410_2001_TestParamSet_uint1 x420;
6145     uint32_t x421;
6146     fiat_id_GostR3410_2001_TestParamSet_uint1 x422;
6147     uint32_t x423;
6148     fiat_id_GostR3410_2001_TestParamSet_uint1 x424;
6149     uint32_t x425;
6150     fiat_id_GostR3410_2001_TestParamSet_uint1 x426;
6151     uint32_t x427;
6152     fiat_id_GostR3410_2001_TestParamSet_uint1 x428;
6153     uint32_t x429;
6154     fiat_id_GostR3410_2001_TestParamSet_uint1 x430;
6155     uint32_t x431;
6156     fiat_id_GostR3410_2001_TestParamSet_uint1 x432;
6157     uint32_t x433;
6158     uint32_t x434;
6159     uint32_t x435;
6160     uint32_t x436;
6161     uint32_t x437;
6162     uint32_t x438;
6163     uint32_t x439;
6164     uint32_t x440;
6165     uint32_t x441;
6166     uint32_t x442;
6167     uint32_t x443;
6168     uint32_t x444;
6169     uint32_t x445;
6170     uint32_t x446;
6171     uint32_t x447;
6172     uint32_t x448;
6173     uint32_t x449;
6174     uint32_t x450;
6175     fiat_id_GostR3410_2001_TestParamSet_uint1 x451;
6176     uint32_t x452;
6177     fiat_id_GostR3410_2001_TestParamSet_uint1 x453;
6178     uint32_t x454;
6179     fiat_id_GostR3410_2001_TestParamSet_uint1 x455;
6180     uint32_t x456;
6181     fiat_id_GostR3410_2001_TestParamSet_uint1 x457;
6182     uint32_t x458;
6183     fiat_id_GostR3410_2001_TestParamSet_uint1 x459;
6184     uint32_t x460;
6185     fiat_id_GostR3410_2001_TestParamSet_uint1 x461;
6186     uint32_t x462;
6187     fiat_id_GostR3410_2001_TestParamSet_uint1 x463;
6188     uint32_t x464;
6189     uint32_t x465;
6190     fiat_id_GostR3410_2001_TestParamSet_uint1 x466;
6191     uint32_t x467;
6192     fiat_id_GostR3410_2001_TestParamSet_uint1 x468;
6193     uint32_t x469;
6194     fiat_id_GostR3410_2001_TestParamSet_uint1 x470;
6195     uint32_t x471;
6196     fiat_id_GostR3410_2001_TestParamSet_uint1 x472;
6197     uint32_t x473;
6198     fiat_id_GostR3410_2001_TestParamSet_uint1 x474;
6199     uint32_t x475;
6200     fiat_id_GostR3410_2001_TestParamSet_uint1 x476;
6201     uint32_t x477;
6202     fiat_id_GostR3410_2001_TestParamSet_uint1 x478;
6203     uint32_t x479;
6204     fiat_id_GostR3410_2001_TestParamSet_uint1 x480;
6205     uint32_t x481;
6206     fiat_id_GostR3410_2001_TestParamSet_uint1 x482;
6207     uint32_t x483;
6208     uint32_t x484;
6209     uint32_t x485;
6210     uint32_t x486;
6211     uint32_t x487;
6212     uint32_t x488;
6213     uint32_t x489;
6214     fiat_id_GostR3410_2001_TestParamSet_uint1 x490;
6215     uint32_t x491;
6216     fiat_id_GostR3410_2001_TestParamSet_uint1 x492;
6217     uint32_t x493;
6218     fiat_id_GostR3410_2001_TestParamSet_uint1 x494;
6219     uint32_t x495;
6220     fiat_id_GostR3410_2001_TestParamSet_uint1 x496;
6221     uint32_t x497;
6222     fiat_id_GostR3410_2001_TestParamSet_uint1 x498;
6223     uint32_t x499;
6224     fiat_id_GostR3410_2001_TestParamSet_uint1 x500;
6225     uint32_t x501;
6226     fiat_id_GostR3410_2001_TestParamSet_uint1 x502;
6227     uint32_t x503;
6228     fiat_id_GostR3410_2001_TestParamSet_uint1 x504;
6229     uint32_t x505;
6230     fiat_id_GostR3410_2001_TestParamSet_uint1 x506;
6231     uint32_t x507;
6232     uint32_t x508;
6233     uint32_t x509;
6234     uint32_t x510;
6235     uint32_t x511;
6236     uint32_t x512;
6237     uint32_t x513;
6238     uint32_t x514;
6239     uint32_t x515;
6240     uint32_t x516;
6241     uint32_t x517;
6242     uint32_t x518;
6243     uint32_t x519;
6244     uint32_t x520;
6245     uint32_t x521;
6246     uint32_t x522;
6247     uint32_t x523;
6248     uint32_t x524;
6249     fiat_id_GostR3410_2001_TestParamSet_uint1 x525;
6250     uint32_t x526;
6251     fiat_id_GostR3410_2001_TestParamSet_uint1 x527;
6252     uint32_t x528;
6253     fiat_id_GostR3410_2001_TestParamSet_uint1 x529;
6254     uint32_t x530;
6255     fiat_id_GostR3410_2001_TestParamSet_uint1 x531;
6256     uint32_t x532;
6257     fiat_id_GostR3410_2001_TestParamSet_uint1 x533;
6258     uint32_t x534;
6259     fiat_id_GostR3410_2001_TestParamSet_uint1 x535;
6260     uint32_t x536;
6261     fiat_id_GostR3410_2001_TestParamSet_uint1 x537;
6262     uint32_t x538;
6263     uint32_t x539;
6264     fiat_id_GostR3410_2001_TestParamSet_uint1 x540;
6265     uint32_t x541;
6266     fiat_id_GostR3410_2001_TestParamSet_uint1 x542;
6267     uint32_t x543;
6268     fiat_id_GostR3410_2001_TestParamSet_uint1 x544;
6269     uint32_t x545;
6270     fiat_id_GostR3410_2001_TestParamSet_uint1 x546;
6271     uint32_t x547;
6272     fiat_id_GostR3410_2001_TestParamSet_uint1 x548;
6273     uint32_t x549;
6274     fiat_id_GostR3410_2001_TestParamSet_uint1 x550;
6275     uint32_t x551;
6276     fiat_id_GostR3410_2001_TestParamSet_uint1 x552;
6277     uint32_t x553;
6278     fiat_id_GostR3410_2001_TestParamSet_uint1 x554;
6279     uint32_t x555;
6280     fiat_id_GostR3410_2001_TestParamSet_uint1 x556;
6281     uint32_t x557;
6282     uint32_t x558;
6283     uint32_t x559;
6284     uint32_t x560;
6285     uint32_t x561;
6286     uint32_t x562;
6287     uint32_t x563;
6288     fiat_id_GostR3410_2001_TestParamSet_uint1 x564;
6289     uint32_t x565;
6290     fiat_id_GostR3410_2001_TestParamSet_uint1 x566;
6291     uint32_t x567;
6292     fiat_id_GostR3410_2001_TestParamSet_uint1 x568;
6293     uint32_t x569;
6294     fiat_id_GostR3410_2001_TestParamSet_uint1 x570;
6295     uint32_t x571;
6296     fiat_id_GostR3410_2001_TestParamSet_uint1 x572;
6297     uint32_t x573;
6298     fiat_id_GostR3410_2001_TestParamSet_uint1 x574;
6299     uint32_t x575;
6300     fiat_id_GostR3410_2001_TestParamSet_uint1 x576;
6301     uint32_t x577;
6302     fiat_id_GostR3410_2001_TestParamSet_uint1 x578;
6303     uint32_t x579;
6304     fiat_id_GostR3410_2001_TestParamSet_uint1 x580;
6305     uint32_t x581;
6306     uint32_t x582;
6307     fiat_id_GostR3410_2001_TestParamSet_uint1 x583;
6308     uint32_t x584;
6309     fiat_id_GostR3410_2001_TestParamSet_uint1 x585;
6310     uint32_t x586;
6311     fiat_id_GostR3410_2001_TestParamSet_uint1 x587;
6312     uint32_t x588;
6313     fiat_id_GostR3410_2001_TestParamSet_uint1 x589;
6314     uint32_t x590;
6315     fiat_id_GostR3410_2001_TestParamSet_uint1 x591;
6316     uint32_t x592;
6317     fiat_id_GostR3410_2001_TestParamSet_uint1 x593;
6318     uint32_t x594;
6319     fiat_id_GostR3410_2001_TestParamSet_uint1 x595;
6320     uint32_t x596;
6321     fiat_id_GostR3410_2001_TestParamSet_uint1 x597;
6322     uint32_t x598;
6323     fiat_id_GostR3410_2001_TestParamSet_uint1 x599;
6324     uint32_t x600;
6325     uint32_t x601;
6326     uint32_t x602;
6327     uint32_t x603;
6328     uint32_t x604;
6329     uint32_t x605;
6330     uint32_t x606;
6331     uint32_t x607;
6332     x1 = (arg1[1]);
6333     x2 = (arg1[2]);
6334     x3 = (arg1[3]);
6335     x4 = (arg1[4]);
6336     x5 = (arg1[5]);
6337     x6 = (arg1[6]);
6338     x7 = (arg1[7]);
6339     x8 = (arg1[0]);
6340     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x9, &x10, x8, (arg1[7]));
6341     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x11, &x12, x8, (arg1[6]));
6342     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x13, &x14, x8, (arg1[5]));
6343     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x15, &x16, x8, (arg1[4]));
6344     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x17, &x18, x8, (arg1[3]));
6345     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x19, &x20, x8, (arg1[2]));
6346     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x21, &x22, x8, (arg1[1]));
6347     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x23, &x24, x8, (arg1[0]));
6348     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x25, &x26, 0x0, x24,
6349                                                       x21);
6350     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x27, &x28, x26, x22,
6351                                                       x19);
6352     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x29, &x30, x28, x20,
6353                                                       x17);
6354     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x31, &x32, x30, x18,
6355                                                       x15);
6356     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x33, &x34, x32, x16,
6357                                                       x13);
6358     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x35, &x36, x34, x14,
6359                                                       x11);
6360     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x37, &x38, x36, x12, x9);
6361     x39 = (x38 + x10);
6362     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x40, &x41, x23,
6363                                                  UINT32_C(0x883b2b2f));
6364     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x42, &x43, x40,
6365                                                  UINT32_C(0x80000000));
6366     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x44, &x45, x40,
6367                                                  UINT16_C(0x431));
6368     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x46, &x47, 0x0, x23,
6369                                                       x44);
6370     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x48, &x49, x47, x25,
6371                                                       x45);
6372     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x50, &x51, x49, x27,
6373                                                       0x0);
6374     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x52, &x53, x51, x29,
6375                                                       0x0);
6376     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x54, &x55, x53, x31,
6377                                                       0x0);
6378     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x56, &x57, x55, x33,
6379                                                       0x0);
6380     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x58, &x59, x57, x35,
6381                                                       0x0);
6382     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x60, &x61, x59, x37,
6383                                                       x42);
6384     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x62, &x63, x61, x39,
6385                                                       x43);
6386     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x64, &x65, x1, (arg1[7]));
6387     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x66, &x67, x1, (arg1[6]));
6388     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x68, &x69, x1, (arg1[5]));
6389     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x70, &x71, x1, (arg1[4]));
6390     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x72, &x73, x1, (arg1[3]));
6391     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x74, &x75, x1, (arg1[2]));
6392     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x76, &x77, x1, (arg1[1]));
6393     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x78, &x79, x1, (arg1[0]));
6394     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x80, &x81, 0x0, x79,
6395                                                       x76);
6396     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x82, &x83, x81, x77,
6397                                                       x74);
6398     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x84, &x85, x83, x75,
6399                                                       x72);
6400     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x86, &x87, x85, x73,
6401                                                       x70);
6402     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x88, &x89, x87, x71,
6403                                                       x68);
6404     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x90, &x91, x89, x69,
6405                                                       x66);
6406     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x92, &x93, x91, x67,
6407                                                       x64);
6408     x94 = (x93 + x65);
6409     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x95, &x96, 0x0, x48,
6410                                                       x78);
6411     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x97, &x98, x96, x50,
6412                                                       x80);
6413     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x99, &x100, x98, x52,
6414                                                       x82);
6415     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x101, &x102, x100, x54,
6416                                                       x84);
6417     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x103, &x104, x102, x56,
6418                                                       x86);
6419     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x105, &x106, x104, x58,
6420                                                       x88);
6421     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x107, &x108, x106, x60,
6422                                                       x90);
6423     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x109, &x110, x108, x62,
6424                                                       x92);
6425     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x111, &x112, x110, x63,
6426                                                       x94);
6427     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x113, &x114, x95,
6428                                                  UINT32_C(0x883b2b2f));
6429     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x115, &x116, x113,
6430                                                  UINT32_C(0x80000000));
6431     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x117, &x118, x113,
6432                                                  UINT16_C(0x431));
6433     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x119, &x120, 0x0, x95,
6434                                                       x117);
6435     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x121, &x122, x120, x97,
6436                                                       x118);
6437     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x123, &x124, x122, x99,
6438                                                       0x0);
6439     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x125, &x126, x124, x101,
6440                                                       0x0);
6441     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x127, &x128, x126, x103,
6442                                                       0x0);
6443     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x129, &x130, x128, x105,
6444                                                       0x0);
6445     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x131, &x132, x130, x107,
6446                                                       0x0);
6447     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x133, &x134, x132, x109,
6448                                                       x115);
6449     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x135, &x136, x134, x111,
6450                                                       x116);
6451     x137 = ((uint32_t)x136 + x112);
6452     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x138, &x139, x2, (arg1[7]));
6453     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x140, &x141, x2, (arg1[6]));
6454     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x142, &x143, x2, (arg1[5]));
6455     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x144, &x145, x2, (arg1[4]));
6456     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x146, &x147, x2, (arg1[3]));
6457     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x148, &x149, x2, (arg1[2]));
6458     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x150, &x151, x2, (arg1[1]));
6459     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x152, &x153, x2, (arg1[0]));
6460     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x154, &x155, 0x0, x153,
6461                                                       x150);
6462     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x156, &x157, x155, x151,
6463                                                       x148);
6464     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x158, &x159, x157, x149,
6465                                                       x146);
6466     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x160, &x161, x159, x147,
6467                                                       x144);
6468     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x162, &x163, x161, x145,
6469                                                       x142);
6470     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x164, &x165, x163, x143,
6471                                                       x140);
6472     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x166, &x167, x165, x141,
6473                                                       x138);
6474     x168 = (x167 + x139);
6475     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x169, &x170, 0x0, x121,
6476                                                       x152);
6477     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x171, &x172, x170, x123,
6478                                                       x154);
6479     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x173, &x174, x172, x125,
6480                                                       x156);
6481     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x175, &x176, x174, x127,
6482                                                       x158);
6483     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x177, &x178, x176, x129,
6484                                                       x160);
6485     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x179, &x180, x178, x131,
6486                                                       x162);
6487     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x181, &x182, x180, x133,
6488                                                       x164);
6489     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x183, &x184, x182, x135,
6490                                                       x166);
6491     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x185, &x186, x184, x137,
6492                                                       x168);
6493     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x187, &x188, x169,
6494                                                  UINT32_C(0x883b2b2f));
6495     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x189, &x190, x187,
6496                                                  UINT32_C(0x80000000));
6497     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x191, &x192, x187,
6498                                                  UINT16_C(0x431));
6499     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x193, &x194, 0x0, x169,
6500                                                       x191);
6501     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x195, &x196, x194, x171,
6502                                                       x192);
6503     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x197, &x198, x196, x173,
6504                                                       0x0);
6505     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x199, &x200, x198, x175,
6506                                                       0x0);
6507     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x201, &x202, x200, x177,
6508                                                       0x0);
6509     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x203, &x204, x202, x179,
6510                                                       0x0);
6511     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x205, &x206, x204, x181,
6512                                                       0x0);
6513     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x207, &x208, x206, x183,
6514                                                       x189);
6515     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x209, &x210, x208, x185,
6516                                                       x190);
6517     x211 = ((uint32_t)x210 + x186);
6518     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x212, &x213, x3, (arg1[7]));
6519     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x214, &x215, x3, (arg1[6]));
6520     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x216, &x217, x3, (arg1[5]));
6521     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x218, &x219, x3, (arg1[4]));
6522     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x220, &x221, x3, (arg1[3]));
6523     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x222, &x223, x3, (arg1[2]));
6524     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x224, &x225, x3, (arg1[1]));
6525     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x226, &x227, x3, (arg1[0]));
6526     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x228, &x229, 0x0, x227,
6527                                                       x224);
6528     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x230, &x231, x229, x225,
6529                                                       x222);
6530     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x232, &x233, x231, x223,
6531                                                       x220);
6532     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x234, &x235, x233, x221,
6533                                                       x218);
6534     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x236, &x237, x235, x219,
6535                                                       x216);
6536     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x238, &x239, x237, x217,
6537                                                       x214);
6538     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x240, &x241, x239, x215,
6539                                                       x212);
6540     x242 = (x241 + x213);
6541     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x243, &x244, 0x0, x195,
6542                                                       x226);
6543     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x245, &x246, x244, x197,
6544                                                       x228);
6545     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x247, &x248, x246, x199,
6546                                                       x230);
6547     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x249, &x250, x248, x201,
6548                                                       x232);
6549     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x251, &x252, x250, x203,
6550                                                       x234);
6551     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x253, &x254, x252, x205,
6552                                                       x236);
6553     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x255, &x256, x254, x207,
6554                                                       x238);
6555     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x257, &x258, x256, x209,
6556                                                       x240);
6557     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x259, &x260, x258, x211,
6558                                                       x242);
6559     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x261, &x262, x243,
6560                                                  UINT32_C(0x883b2b2f));
6561     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x263, &x264, x261,
6562                                                  UINT32_C(0x80000000));
6563     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x265, &x266, x261,
6564                                                  UINT16_C(0x431));
6565     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x267, &x268, 0x0, x243,
6566                                                       x265);
6567     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x269, &x270, x268, x245,
6568                                                       x266);
6569     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x271, &x272, x270, x247,
6570                                                       0x0);
6571     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x273, &x274, x272, x249,
6572                                                       0x0);
6573     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x275, &x276, x274, x251,
6574                                                       0x0);
6575     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x277, &x278, x276, x253,
6576                                                       0x0);
6577     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x279, &x280, x278, x255,
6578                                                       0x0);
6579     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x281, &x282, x280, x257,
6580                                                       x263);
6581     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x283, &x284, x282, x259,
6582                                                       x264);
6583     x285 = ((uint32_t)x284 + x260);
6584     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x286, &x287, x4, (arg1[7]));
6585     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x288, &x289, x4, (arg1[6]));
6586     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x290, &x291, x4, (arg1[5]));
6587     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x292, &x293, x4, (arg1[4]));
6588     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x294, &x295, x4, (arg1[3]));
6589     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x296, &x297, x4, (arg1[2]));
6590     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x298, &x299, x4, (arg1[1]));
6591     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x300, &x301, x4, (arg1[0]));
6592     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x302, &x303, 0x0, x301,
6593                                                       x298);
6594     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x304, &x305, x303, x299,
6595                                                       x296);
6596     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x306, &x307, x305, x297,
6597                                                       x294);
6598     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x308, &x309, x307, x295,
6599                                                       x292);
6600     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x310, &x311, x309, x293,
6601                                                       x290);
6602     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x312, &x313, x311, x291,
6603                                                       x288);
6604     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x314, &x315, x313, x289,
6605                                                       x286);
6606     x316 = (x315 + x287);
6607     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x317, &x318, 0x0, x269,
6608                                                       x300);
6609     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x319, &x320, x318, x271,
6610                                                       x302);
6611     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x321, &x322, x320, x273,
6612                                                       x304);
6613     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x323, &x324, x322, x275,
6614                                                       x306);
6615     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x325, &x326, x324, x277,
6616                                                       x308);
6617     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x327, &x328, x326, x279,
6618                                                       x310);
6619     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x329, &x330, x328, x281,
6620                                                       x312);
6621     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x331, &x332, x330, x283,
6622                                                       x314);
6623     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x333, &x334, x332, x285,
6624                                                       x316);
6625     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x335, &x336, x317,
6626                                                  UINT32_C(0x883b2b2f));
6627     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x337, &x338, x335,
6628                                                  UINT32_C(0x80000000));
6629     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x339, &x340, x335,
6630                                                  UINT16_C(0x431));
6631     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x341, &x342, 0x0, x317,
6632                                                       x339);
6633     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x343, &x344, x342, x319,
6634                                                       x340);
6635     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x345, &x346, x344, x321,
6636                                                       0x0);
6637     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x347, &x348, x346, x323,
6638                                                       0x0);
6639     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x349, &x350, x348, x325,
6640                                                       0x0);
6641     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x351, &x352, x350, x327,
6642                                                       0x0);
6643     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x353, &x354, x352, x329,
6644                                                       0x0);
6645     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x355, &x356, x354, x331,
6646                                                       x337);
6647     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x357, &x358, x356, x333,
6648                                                       x338);
6649     x359 = ((uint32_t)x358 + x334);
6650     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x360, &x361, x5, (arg1[7]));
6651     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x362, &x363, x5, (arg1[6]));
6652     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x364, &x365, x5, (arg1[5]));
6653     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x366, &x367, x5, (arg1[4]));
6654     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x368, &x369, x5, (arg1[3]));
6655     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x370, &x371, x5, (arg1[2]));
6656     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x372, &x373, x5, (arg1[1]));
6657     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x374, &x375, x5, (arg1[0]));
6658     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x376, &x377, 0x0, x375,
6659                                                       x372);
6660     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x378, &x379, x377, x373,
6661                                                       x370);
6662     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x380, &x381, x379, x371,
6663                                                       x368);
6664     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x382, &x383, x381, x369,
6665                                                       x366);
6666     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x384, &x385, x383, x367,
6667                                                       x364);
6668     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x386, &x387, x385, x365,
6669                                                       x362);
6670     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x388, &x389, x387, x363,
6671                                                       x360);
6672     x390 = (x389 + x361);
6673     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x391, &x392, 0x0, x343,
6674                                                       x374);
6675     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x393, &x394, x392, x345,
6676                                                       x376);
6677     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x395, &x396, x394, x347,
6678                                                       x378);
6679     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x397, &x398, x396, x349,
6680                                                       x380);
6681     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x399, &x400, x398, x351,
6682                                                       x382);
6683     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x401, &x402, x400, x353,
6684                                                       x384);
6685     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x403, &x404, x402, x355,
6686                                                       x386);
6687     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x405, &x406, x404, x357,
6688                                                       x388);
6689     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x407, &x408, x406, x359,
6690                                                       x390);
6691     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x409, &x410, x391,
6692                                                  UINT32_C(0x883b2b2f));
6693     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x411, &x412, x409,
6694                                                  UINT32_C(0x80000000));
6695     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x413, &x414, x409,
6696                                                  UINT16_C(0x431));
6697     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x415, &x416, 0x0, x391,
6698                                                       x413);
6699     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x417, &x418, x416, x393,
6700                                                       x414);
6701     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x419, &x420, x418, x395,
6702                                                       0x0);
6703     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x421, &x422, x420, x397,
6704                                                       0x0);
6705     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x423, &x424, x422, x399,
6706                                                       0x0);
6707     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x425, &x426, x424, x401,
6708                                                       0x0);
6709     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x427, &x428, x426, x403,
6710                                                       0x0);
6711     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x429, &x430, x428, x405,
6712                                                       x411);
6713     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x431, &x432, x430, x407,
6714                                                       x412);
6715     x433 = ((uint32_t)x432 + x408);
6716     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x434, &x435, x6, (arg1[7]));
6717     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x436, &x437, x6, (arg1[6]));
6718     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x438, &x439, x6, (arg1[5]));
6719     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x440, &x441, x6, (arg1[4]));
6720     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x442, &x443, x6, (arg1[3]));
6721     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x444, &x445, x6, (arg1[2]));
6722     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x446, &x447, x6, (arg1[1]));
6723     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x448, &x449, x6, (arg1[0]));
6724     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x450, &x451, 0x0, x449,
6725                                                       x446);
6726     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x452, &x453, x451, x447,
6727                                                       x444);
6728     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x454, &x455, x453, x445,
6729                                                       x442);
6730     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x456, &x457, x455, x443,
6731                                                       x440);
6732     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x458, &x459, x457, x441,
6733                                                       x438);
6734     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x460, &x461, x459, x439,
6735                                                       x436);
6736     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x462, &x463, x461, x437,
6737                                                       x434);
6738     x464 = (x463 + x435);
6739     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x465, &x466, 0x0, x417,
6740                                                       x448);
6741     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x467, &x468, x466, x419,
6742                                                       x450);
6743     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x469, &x470, x468, x421,
6744                                                       x452);
6745     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x471, &x472, x470, x423,
6746                                                       x454);
6747     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x473, &x474, x472, x425,
6748                                                       x456);
6749     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x475, &x476, x474, x427,
6750                                                       x458);
6751     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x477, &x478, x476, x429,
6752                                                       x460);
6753     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x479, &x480, x478, x431,
6754                                                       x462);
6755     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x481, &x482, x480, x433,
6756                                                       x464);
6757     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x483, &x484, x465,
6758                                                  UINT32_C(0x883b2b2f));
6759     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x485, &x486, x483,
6760                                                  UINT32_C(0x80000000));
6761     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x487, &x488, x483,
6762                                                  UINT16_C(0x431));
6763     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x489, &x490, 0x0, x465,
6764                                                       x487);
6765     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x491, &x492, x490, x467,
6766                                                       x488);
6767     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x493, &x494, x492, x469,
6768                                                       0x0);
6769     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x495, &x496, x494, x471,
6770                                                       0x0);
6771     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x497, &x498, x496, x473,
6772                                                       0x0);
6773     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x499, &x500, x498, x475,
6774                                                       0x0);
6775     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x501, &x502, x500, x477,
6776                                                       0x0);
6777     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x503, &x504, x502, x479,
6778                                                       x485);
6779     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x505, &x506, x504, x481,
6780                                                       x486);
6781     x507 = ((uint32_t)x506 + x482);
6782     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x508, &x509, x7, (arg1[7]));
6783     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x510, &x511, x7, (arg1[6]));
6784     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x512, &x513, x7, (arg1[5]));
6785     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x514, &x515, x7, (arg1[4]));
6786     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x516, &x517, x7, (arg1[3]));
6787     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x518, &x519, x7, (arg1[2]));
6788     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x520, &x521, x7, (arg1[1]));
6789     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x522, &x523, x7, (arg1[0]));
6790     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x524, &x525, 0x0, x523,
6791                                                       x520);
6792     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x526, &x527, x525, x521,
6793                                                       x518);
6794     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x528, &x529, x527, x519,
6795                                                       x516);
6796     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x530, &x531, x529, x517,
6797                                                       x514);
6798     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x532, &x533, x531, x515,
6799                                                       x512);
6800     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x534, &x535, x533, x513,
6801                                                       x510);
6802     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x536, &x537, x535, x511,
6803                                                       x508);
6804     x538 = (x537 + x509);
6805     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x539, &x540, 0x0, x491,
6806                                                       x522);
6807     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x541, &x542, x540, x493,
6808                                                       x524);
6809     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x543, &x544, x542, x495,
6810                                                       x526);
6811     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x545, &x546, x544, x497,
6812                                                       x528);
6813     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x547, &x548, x546, x499,
6814                                                       x530);
6815     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x549, &x550, x548, x501,
6816                                                       x532);
6817     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x551, &x552, x550, x503,
6818                                                       x534);
6819     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x553, &x554, x552, x505,
6820                                                       x536);
6821     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x555, &x556, x554, x507,
6822                                                       x538);
6823     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x557, &x558, x539,
6824                                                  UINT32_C(0x883b2b2f));
6825     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x559, &x560, x557,
6826                                                  UINT32_C(0x80000000));
6827     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x561, &x562, x557,
6828                                                  UINT16_C(0x431));
6829     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x563, &x564, 0x0, x539,
6830                                                       x561);
6831     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x565, &x566, x564, x541,
6832                                                       x562);
6833     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x567, &x568, x566, x543,
6834                                                       0x0);
6835     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x569, &x570, x568, x545,
6836                                                       0x0);
6837     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x571, &x572, x570, x547,
6838                                                       0x0);
6839     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x573, &x574, x572, x549,
6840                                                       0x0);
6841     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x575, &x576, x574, x551,
6842                                                       0x0);
6843     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x577, &x578, x576, x553,
6844                                                       x559);
6845     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x579, &x580, x578, x555,
6846                                                       x560);
6847     x581 = ((uint32_t)x580 + x556);
6848     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x582, &x583, 0x0, x565,
6849                                                        UINT16_C(0x431));
6850     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x584, &x585, x583, x567,
6851                                                        0x0);
6852     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x586, &x587, x585, x569,
6853                                                        0x0);
6854     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x588, &x589, x587, x571,
6855                                                        0x0);
6856     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x590, &x591, x589, x573,
6857                                                        0x0);
6858     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x592, &x593, x591, x575,
6859                                                        0x0);
6860     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x594, &x595, x593, x577,
6861                                                        0x0);
6862     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x596, &x597, x595, x579,
6863                                                        UINT32_C(0x80000000));
6864     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x598, &x599, x597, x581,
6865                                                        0x0);
6866     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x600, x599, x582, x565);
6867     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x601, x599, x584, x567);
6868     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x602, x599, x586, x569);
6869     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x603, x599, x588, x571);
6870     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x604, x599, x590, x573);
6871     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x605, x599, x592, x575);
6872     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x606, x599, x594, x577);
6873     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x607, x599, x596, x579);
6874     out1[0] = x600;
6875     out1[1] = x601;
6876     out1[2] = x602;
6877     out1[3] = x603;
6878     out1[4] = x604;
6879     out1[5] = x605;
6880     out1[6] = x606;
6881     out1[7] = x607;
6882 }
6883
6884 /*
6885  * The function fiat_id_GostR3410_2001_TestParamSet_add adds two field elements in the Montgomery domain.
6886  * Preconditions:
6887  *   0 ≤ eval arg1 < m
6888  *   0 ≤ eval arg2 < m
6889  * Postconditions:
6890  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) + eval (from_montgomery arg2)) mod m
6891  *   0 ≤ eval out1 < m
6892  *
6893  * Input Bounds:
6894  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
6895  *   arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
6896  * Output Bounds:
6897  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
6898  */
6899 static void fiat_id_GostR3410_2001_TestParamSet_add(uint32_t out1[8],
6900                                                     const uint32_t arg1[8],
6901                                                     const uint32_t arg2[8]) {
6902     uint32_t x1;
6903     fiat_id_GostR3410_2001_TestParamSet_uint1 x2;
6904     uint32_t x3;
6905     fiat_id_GostR3410_2001_TestParamSet_uint1 x4;
6906     uint32_t x5;
6907     fiat_id_GostR3410_2001_TestParamSet_uint1 x6;
6908     uint32_t x7;
6909     fiat_id_GostR3410_2001_TestParamSet_uint1 x8;
6910     uint32_t x9;
6911     fiat_id_GostR3410_2001_TestParamSet_uint1 x10;
6912     uint32_t x11;
6913     fiat_id_GostR3410_2001_TestParamSet_uint1 x12;
6914     uint32_t x13;
6915     fiat_id_GostR3410_2001_TestParamSet_uint1 x14;
6916     uint32_t x15;
6917     fiat_id_GostR3410_2001_TestParamSet_uint1 x16;
6918     uint32_t x17;
6919     fiat_id_GostR3410_2001_TestParamSet_uint1 x18;
6920     uint32_t x19;
6921     fiat_id_GostR3410_2001_TestParamSet_uint1 x20;
6922     uint32_t x21;
6923     fiat_id_GostR3410_2001_TestParamSet_uint1 x22;
6924     uint32_t x23;
6925     fiat_id_GostR3410_2001_TestParamSet_uint1 x24;
6926     uint32_t x25;
6927     fiat_id_GostR3410_2001_TestParamSet_uint1 x26;
6928     uint32_t x27;
6929     fiat_id_GostR3410_2001_TestParamSet_uint1 x28;
6930     uint32_t x29;
6931     fiat_id_GostR3410_2001_TestParamSet_uint1 x30;
6932     uint32_t x31;
6933     fiat_id_GostR3410_2001_TestParamSet_uint1 x32;
6934     uint32_t x33;
6935     fiat_id_GostR3410_2001_TestParamSet_uint1 x34;
6936     uint32_t x35;
6937     uint32_t x36;
6938     uint32_t x37;
6939     uint32_t x38;
6940     uint32_t x39;
6941     uint32_t x40;
6942     uint32_t x41;
6943     uint32_t x42;
6944     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x1, &x2, 0x0, (arg1[0]),
6945                                                       (arg2[0]));
6946     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x3, &x4, x2, (arg1[1]),
6947                                                       (arg2[1]));
6948     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x5, &x6, x4, (arg1[2]),
6949                                                       (arg2[2]));
6950     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x7, &x8, x6, (arg1[3]),
6951                                                       (arg2[3]));
6952     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x9, &x10, x8, (arg1[4]),
6953                                                       (arg2[4]));
6954     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x11, &x12, x10,
6955                                                       (arg1[5]), (arg2[5]));
6956     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x13, &x14, x12,
6957                                                       (arg1[6]), (arg2[6]));
6958     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x15, &x16, x14,
6959                                                       (arg1[7]), (arg2[7]));
6960     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x17, &x18, 0x0, x1,
6961                                                        UINT16_C(0x431));
6962     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x19, &x20, x18, x3,
6963                                                        0x0);
6964     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x21, &x22, x20, x5,
6965                                                        0x0);
6966     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x23, &x24, x22, x7,
6967                                                        0x0);
6968     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x25, &x26, x24, x9,
6969                                                        0x0);
6970     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x27, &x28, x26, x11,
6971                                                        0x0);
6972     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x29, &x30, x28, x13,
6973                                                        0x0);
6974     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x31, &x32, x30, x15,
6975                                                        UINT32_C(0x80000000));
6976     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x33, &x34, x32, x16,
6977                                                        0x0);
6978     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x35, x34, x17, x1);
6979     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x36, x34, x19, x3);
6980     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x37, x34, x21, x5);
6981     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x38, x34, x23, x7);
6982     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x39, x34, x25, x9);
6983     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x40, x34, x27, x11);
6984     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x41, x34, x29, x13);
6985     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x42, x34, x31, x15);
6986     out1[0] = x35;
6987     out1[1] = x36;
6988     out1[2] = x37;
6989     out1[3] = x38;
6990     out1[4] = x39;
6991     out1[5] = x40;
6992     out1[6] = x41;
6993     out1[7] = x42;
6994 }
6995
6996 /*
6997  * The function fiat_id_GostR3410_2001_TestParamSet_sub subtracts two field elements in the Montgomery domain.
6998  * Preconditions:
6999  *   0 ≤ eval arg1 < m
7000  *   0 ≤ eval arg2 < m
7001  * Postconditions:
7002  *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) - eval (from_montgomery arg2)) mod m
7003  *   0 ≤ eval out1 < m
7004  *
7005  * Input Bounds:
7006  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
7007  *   arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
7008  * Output Bounds:
7009  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
7010  */
7011 static void fiat_id_GostR3410_2001_TestParamSet_sub(uint32_t out1[8],
7012                                                     const uint32_t arg1[8],
7013                                                     const uint32_t arg2[8]) {
7014     uint32_t x1;
7015     fiat_id_GostR3410_2001_TestParamSet_uint1 x2;
7016     uint32_t x3;
7017     fiat_id_GostR3410_2001_TestParamSet_uint1 x4;
7018     uint32_t x5;
7019     fiat_id_GostR3410_2001_TestParamSet_uint1 x6;
7020     uint32_t x7;
7021     fiat_id_GostR3410_2001_TestParamSet_uint1 x8;
7022     uint32_t x9;
7023     fiat_id_GostR3410_2001_TestParamSet_uint1 x10;
7024     uint32_t x11;
7025     fiat_id_GostR3410_2001_TestParamSet_uint1 x12;
7026     uint32_t x13;
7027     fiat_id_GostR3410_2001_TestParamSet_uint1 x14;
7028     uint32_t x15;
7029     fiat_id_GostR3410_2001_TestParamSet_uint1 x16;
7030     uint32_t x17;
7031     uint32_t x18;
7032     fiat_id_GostR3410_2001_TestParamSet_uint1 x19;
7033     uint32_t x20;
7034     fiat_id_GostR3410_2001_TestParamSet_uint1 x21;
7035     uint32_t x22;
7036     fiat_id_GostR3410_2001_TestParamSet_uint1 x23;
7037     uint32_t x24;
7038     fiat_id_GostR3410_2001_TestParamSet_uint1 x25;
7039     uint32_t x26;
7040     fiat_id_GostR3410_2001_TestParamSet_uint1 x27;
7041     uint32_t x28;
7042     fiat_id_GostR3410_2001_TestParamSet_uint1 x29;
7043     uint32_t x30;
7044     fiat_id_GostR3410_2001_TestParamSet_uint1 x31;
7045     uint32_t x32;
7046     fiat_id_GostR3410_2001_TestParamSet_uint1 x33;
7047     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x1, &x2, 0x0, (arg1[0]),
7048                                                        (arg2[0]));
7049     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x3, &x4, x2, (arg1[1]),
7050                                                        (arg2[1]));
7051     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x5, &x6, x4, (arg1[2]),
7052                                                        (arg2[2]));
7053     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x7, &x8, x6, (arg1[3]),
7054                                                        (arg2[3]));
7055     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x9, &x10, x8, (arg1[4]),
7056                                                        (arg2[4]));
7057     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x11, &x12, x10,
7058                                                        (arg1[5]), (arg2[5]));
7059     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x13, &x14, x12,
7060                                                        (arg1[6]), (arg2[6]));
7061     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x15, &x16, x14,
7062                                                        (arg1[7]), (arg2[7]));
7063     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x17, x16, 0x0,
7064                                                     UINT32_C(0xffffffff));
7065     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x18, &x19, 0x0, x1,
7066                                                       (x17 & UINT16_C(0x431)));
7067     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x20, &x21, x19, x3, 0x0);
7068     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x22, &x23, x21, x5, 0x0);
7069     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x24, &x25, x23, x7, 0x0);
7070     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x26, &x27, x25, x9, 0x0);
7071     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x28, &x29, x27, x11,
7072                                                       0x0);
7073     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x30, &x31, x29, x13,
7074                                                       0x0);
7075     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7076         &x32, &x33, x31, x15, (x17 & UINT32_C(0x80000000)));
7077     out1[0] = x18;
7078     out1[1] = x20;
7079     out1[2] = x22;
7080     out1[3] = x24;
7081     out1[4] = x26;
7082     out1[5] = x28;
7083     out1[6] = x30;
7084     out1[7] = x32;
7085 }
7086
7087 /*
7088  * The function fiat_id_GostR3410_2001_TestParamSet_opp negates a field element in the Montgomery domain.
7089  * Preconditions:
7090  *   0 ≤ eval arg1 < m
7091  * Postconditions:
7092  *   eval (from_montgomery out1) mod m = -eval (from_montgomery arg1) mod m
7093  *   0 ≤ eval out1 < m
7094  *
7095  * Input Bounds:
7096  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
7097  * Output Bounds:
7098  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
7099  */
7100 static void fiat_id_GostR3410_2001_TestParamSet_opp(uint32_t out1[8],
7101                                                     const uint32_t arg1[8]) {
7102     uint32_t x1;
7103     fiat_id_GostR3410_2001_TestParamSet_uint1 x2;
7104     uint32_t x3;
7105     fiat_id_GostR3410_2001_TestParamSet_uint1 x4;
7106     uint32_t x5;
7107     fiat_id_GostR3410_2001_TestParamSet_uint1 x6;
7108     uint32_t x7;
7109     fiat_id_GostR3410_2001_TestParamSet_uint1 x8;
7110     uint32_t x9;
7111     fiat_id_GostR3410_2001_TestParamSet_uint1 x10;
7112     uint32_t x11;
7113     fiat_id_GostR3410_2001_TestParamSet_uint1 x12;
7114     uint32_t x13;
7115     fiat_id_GostR3410_2001_TestParamSet_uint1 x14;
7116     uint32_t x15;
7117     fiat_id_GostR3410_2001_TestParamSet_uint1 x16;
7118     uint32_t x17;
7119     uint32_t x18;
7120     fiat_id_GostR3410_2001_TestParamSet_uint1 x19;
7121     uint32_t x20;
7122     fiat_id_GostR3410_2001_TestParamSet_uint1 x21;
7123     uint32_t x22;
7124     fiat_id_GostR3410_2001_TestParamSet_uint1 x23;
7125     uint32_t x24;
7126     fiat_id_GostR3410_2001_TestParamSet_uint1 x25;
7127     uint32_t x26;
7128     fiat_id_GostR3410_2001_TestParamSet_uint1 x27;
7129     uint32_t x28;
7130     fiat_id_GostR3410_2001_TestParamSet_uint1 x29;
7131     uint32_t x30;
7132     fiat_id_GostR3410_2001_TestParamSet_uint1 x31;
7133     uint32_t x32;
7134     fiat_id_GostR3410_2001_TestParamSet_uint1 x33;
7135     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x1, &x2, 0x0, 0x0,
7136                                                        (arg1[0]));
7137     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x3, &x4, x2, 0x0,
7138                                                        (arg1[1]));
7139     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x5, &x6, x4, 0x0,
7140                                                        (arg1[2]));
7141     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x7, &x8, x6, 0x0,
7142                                                        (arg1[3]));
7143     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x9, &x10, x8, 0x0,
7144                                                        (arg1[4]));
7145     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x11, &x12, x10, 0x0,
7146                                                        (arg1[5]));
7147     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x13, &x14, x12, 0x0,
7148                                                        (arg1[6]));
7149     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x15, &x16, x14, 0x0,
7150                                                        (arg1[7]));
7151     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x17, x16, 0x0,
7152                                                     UINT32_C(0xffffffff));
7153     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x18, &x19, 0x0, x1,
7154                                                       (x17 & UINT16_C(0x431)));
7155     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x20, &x21, x19, x3, 0x0);
7156     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x22, &x23, x21, x5, 0x0);
7157     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x24, &x25, x23, x7, 0x0);
7158     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x26, &x27, x25, x9, 0x0);
7159     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x28, &x29, x27, x11,
7160                                                       0x0);
7161     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x30, &x31, x29, x13,
7162                                                       0x0);
7163     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7164         &x32, &x33, x31, x15, (x17 & UINT32_C(0x80000000)));
7165     out1[0] = x18;
7166     out1[1] = x20;
7167     out1[2] = x22;
7168     out1[3] = x24;
7169     out1[4] = x26;
7170     out1[5] = x28;
7171     out1[6] = x30;
7172     out1[7] = x32;
7173 }
7174
7175 /*
7176  * The function fiat_id_GostR3410_2001_TestParamSet_from_montgomery translates a field element out of the Montgomery domain.
7177  * Preconditions:
7178  *   0 ≤ eval arg1 < m
7179  * Postconditions:
7180  *   eval out1 mod m = (eval arg1 * ((2^32)⁻¹ mod m)^8) mod m
7181  *   0 ≤ eval out1 < m
7182  *
7183  * Input Bounds:
7184  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
7185  * Output Bounds:
7186  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
7187  */
7188 static void fiat_id_GostR3410_2001_TestParamSet_from_montgomery(
7189     uint32_t out1[8], const uint32_t arg1[8]) {
7190     uint32_t x1;
7191     uint32_t x2;
7192     uint32_t x3;
7193     uint32_t x4;
7194     uint32_t x5;
7195     uint32_t x6;
7196     uint32_t x7;
7197     uint32_t x8;
7198     fiat_id_GostR3410_2001_TestParamSet_uint1 x9;
7199     uint32_t x10;
7200     fiat_id_GostR3410_2001_TestParamSet_uint1 x11;
7201     uint32_t x12;
7202     uint32_t x13;
7203     uint32_t x14;
7204     uint32_t x15;
7205     uint32_t x16;
7206     uint32_t x17;
7207     uint32_t x18;
7208     fiat_id_GostR3410_2001_TestParamSet_uint1 x19;
7209     uint32_t x20;
7210     fiat_id_GostR3410_2001_TestParamSet_uint1 x21;
7211     uint32_t x22;
7212     fiat_id_GostR3410_2001_TestParamSet_uint1 x23;
7213     uint32_t x24;
7214     uint32_t x25;
7215     uint32_t x26;
7216     uint32_t x27;
7217     uint32_t x28;
7218     uint32_t x29;
7219     uint32_t x30;
7220     fiat_id_GostR3410_2001_TestParamSet_uint1 x31;
7221     uint32_t x32;
7222     fiat_id_GostR3410_2001_TestParamSet_uint1 x33;
7223     uint32_t x34;
7224     fiat_id_GostR3410_2001_TestParamSet_uint1 x35;
7225     uint32_t x36;
7226     uint32_t x37;
7227     uint32_t x38;
7228     uint32_t x39;
7229     uint32_t x40;
7230     uint32_t x41;
7231     uint32_t x42;
7232     fiat_id_GostR3410_2001_TestParamSet_uint1 x43;
7233     uint32_t x44;
7234     fiat_id_GostR3410_2001_TestParamSet_uint1 x45;
7235     uint32_t x46;
7236     fiat_id_GostR3410_2001_TestParamSet_uint1 x47;
7237     uint32_t x48;
7238     uint32_t x49;
7239     uint32_t x50;
7240     uint32_t x51;
7241     uint32_t x52;
7242     uint32_t x53;
7243     uint32_t x54;
7244     fiat_id_GostR3410_2001_TestParamSet_uint1 x55;
7245     uint32_t x56;
7246     fiat_id_GostR3410_2001_TestParamSet_uint1 x57;
7247     uint32_t x58;
7248     fiat_id_GostR3410_2001_TestParamSet_uint1 x59;
7249     uint32_t x60;
7250     uint32_t x61;
7251     uint32_t x62;
7252     uint32_t x63;
7253     uint32_t x64;
7254     uint32_t x65;
7255     uint32_t x66;
7256     fiat_id_GostR3410_2001_TestParamSet_uint1 x67;
7257     uint32_t x68;
7258     fiat_id_GostR3410_2001_TestParamSet_uint1 x69;
7259     uint32_t x70;
7260     fiat_id_GostR3410_2001_TestParamSet_uint1 x71;
7261     uint32_t x72;
7262     fiat_id_GostR3410_2001_TestParamSet_uint1 x73;
7263     uint32_t x74;
7264     fiat_id_GostR3410_2001_TestParamSet_uint1 x75;
7265     uint32_t x76;
7266     fiat_id_GostR3410_2001_TestParamSet_uint1 x77;
7267     uint32_t x78;
7268     fiat_id_GostR3410_2001_TestParamSet_uint1 x79;
7269     uint32_t x80;
7270     fiat_id_GostR3410_2001_TestParamSet_uint1 x81;
7271     uint32_t x82;
7272     fiat_id_GostR3410_2001_TestParamSet_uint1 x83;
7273     uint32_t x84;
7274     uint32_t x85;
7275     uint32_t x86;
7276     uint32_t x87;
7277     uint32_t x88;
7278     uint32_t x89;
7279     uint32_t x90;
7280     fiat_id_GostR3410_2001_TestParamSet_uint1 x91;
7281     uint32_t x92;
7282     fiat_id_GostR3410_2001_TestParamSet_uint1 x93;
7283     uint32_t x94;
7284     fiat_id_GostR3410_2001_TestParamSet_uint1 x95;
7285     uint32_t x96;
7286     fiat_id_GostR3410_2001_TestParamSet_uint1 x97;
7287     uint32_t x98;
7288     fiat_id_GostR3410_2001_TestParamSet_uint1 x99;
7289     uint32_t x100;
7290     fiat_id_GostR3410_2001_TestParamSet_uint1 x101;
7291     uint32_t x102;
7292     fiat_id_GostR3410_2001_TestParamSet_uint1 x103;
7293     uint32_t x104;
7294     fiat_id_GostR3410_2001_TestParamSet_uint1 x105;
7295     uint32_t x106;
7296     fiat_id_GostR3410_2001_TestParamSet_uint1 x107;
7297     uint32_t x108;
7298     fiat_id_GostR3410_2001_TestParamSet_uint1 x109;
7299     uint32_t x110;
7300     fiat_id_GostR3410_2001_TestParamSet_uint1 x111;
7301     uint32_t x112;
7302     fiat_id_GostR3410_2001_TestParamSet_uint1 x113;
7303     uint32_t x114;
7304     fiat_id_GostR3410_2001_TestParamSet_uint1 x115;
7305     uint32_t x116;
7306     fiat_id_GostR3410_2001_TestParamSet_uint1 x117;
7307     uint32_t x118;
7308     fiat_id_GostR3410_2001_TestParamSet_uint1 x119;
7309     uint32_t x120;
7310     uint32_t x121;
7311     uint32_t x122;
7312     uint32_t x123;
7313     uint32_t x124;
7314     uint32_t x125;
7315     uint32_t x126;
7316     fiat_id_GostR3410_2001_TestParamSet_uint1 x127;
7317     uint32_t x128;
7318     fiat_id_GostR3410_2001_TestParamSet_uint1 x129;
7319     uint32_t x130;
7320     fiat_id_GostR3410_2001_TestParamSet_uint1 x131;
7321     uint32_t x132;
7322     fiat_id_GostR3410_2001_TestParamSet_uint1 x133;
7323     uint32_t x134;
7324     fiat_id_GostR3410_2001_TestParamSet_uint1 x135;
7325     uint32_t x136;
7326     fiat_id_GostR3410_2001_TestParamSet_uint1 x137;
7327     uint32_t x138;
7328     fiat_id_GostR3410_2001_TestParamSet_uint1 x139;
7329     uint32_t x140;
7330     fiat_id_GostR3410_2001_TestParamSet_uint1 x141;
7331     uint32_t x142;
7332     uint32_t x143;
7333     fiat_id_GostR3410_2001_TestParamSet_uint1 x144;
7334     uint32_t x145;
7335     fiat_id_GostR3410_2001_TestParamSet_uint1 x146;
7336     uint32_t x147;
7337     fiat_id_GostR3410_2001_TestParamSet_uint1 x148;
7338     uint32_t x149;
7339     fiat_id_GostR3410_2001_TestParamSet_uint1 x150;
7340     uint32_t x151;
7341     fiat_id_GostR3410_2001_TestParamSet_uint1 x152;
7342     uint32_t x153;
7343     fiat_id_GostR3410_2001_TestParamSet_uint1 x154;
7344     uint32_t x155;
7345     fiat_id_GostR3410_2001_TestParamSet_uint1 x156;
7346     uint32_t x157;
7347     fiat_id_GostR3410_2001_TestParamSet_uint1 x158;
7348     uint32_t x159;
7349     fiat_id_GostR3410_2001_TestParamSet_uint1 x160;
7350     uint32_t x161;
7351     uint32_t x162;
7352     uint32_t x163;
7353     uint32_t x164;
7354     uint32_t x165;
7355     uint32_t x166;
7356     uint32_t x167;
7357     uint32_t x168;
7358     x1 = (arg1[0]);
7359     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x2, &x3, x1,
7360                                                  UINT32_C(0x883b2b2f));
7361     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x4, &x5, x2,
7362                                                  UINT32_C(0x80000000));
7363     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x6, &x7, x2, UINT16_C(0x431));
7364     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x8, &x9, 0x0, x1, x6);
7365     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x10, &x11, 0x0,
7366                                                       (x9 + x7), (arg1[1]));
7367     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x12, &x13, x10,
7368                                                  UINT32_C(0x883b2b2f));
7369     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x14, &x15, x12,
7370                                                  UINT32_C(0x80000000));
7371     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x16, &x17, x12,
7372                                                  UINT16_C(0x431));
7373     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x18, &x19, 0x0, x5, x14);
7374     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x20, &x21, 0x0, x10,
7375                                                       x16);
7376     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7377         &x22, &x23, 0x0, (((uint32_t)x21 + x11) + x17), (arg1[2]));
7378     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x24, &x25, x22,
7379                                                  UINT32_C(0x883b2b2f));
7380     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x26, &x27, x24,
7381                                                  UINT32_C(0x80000000));
7382     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x28, &x29, x24,
7383                                                  UINT16_C(0x431));
7384     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x30, &x31, 0x0,
7385                                                       (x19 + x15), x26);
7386     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x32, &x33, 0x0, x22,
7387                                                       x28);
7388     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7389         &x34, &x35, 0x0, (((uint32_t)x33 + x23) + x29), (arg1[3]));
7390     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x36, &x37, x34,
7391                                                  UINT32_C(0x883b2b2f));
7392     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x38, &x39, x36,
7393                                                  UINT32_C(0x80000000));
7394     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x40, &x41, x36,
7395                                                  UINT16_C(0x431));
7396     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x42, &x43, 0x0,
7397                                                       (x31 + x27), x38);
7398     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x44, &x45, 0x0, x34,
7399                                                       x40);
7400     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7401         &x46, &x47, 0x0, (((uint32_t)x45 + x35) + x41), (arg1[4]));
7402     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x48, &x49, x46,
7403                                                  UINT32_C(0x883b2b2f));
7404     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x50, &x51, x48,
7405                                                  UINT32_C(0x80000000));
7406     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x52, &x53, x48,
7407                                                  UINT16_C(0x431));
7408     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x54, &x55, 0x0,
7409                                                       (x43 + x39), x50);
7410     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x56, &x57, 0x0, x46,
7411                                                       x52);
7412     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7413         &x58, &x59, 0x0, (((uint32_t)x57 + x47) + x53), (arg1[5]));
7414     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x60, &x61, x58,
7415                                                  UINT32_C(0x883b2b2f));
7416     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x62, &x63, x60,
7417                                                  UINT32_C(0x80000000));
7418     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x64, &x65, x60,
7419                                                  UINT16_C(0x431));
7420     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x66, &x67, 0x0,
7421                                                       (x55 + x51), x62);
7422     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x68, &x69, 0x0, x58,
7423                                                       x64);
7424     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7425         &x70, &x71, 0x0, (((uint32_t)x69 + x59) + x65), (arg1[6]));
7426     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x72, &x73, x71, x4, 0x0);
7427     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x74, &x75, x73, x18,
7428                                                       0x0);
7429     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x76, &x77, x75, x30,
7430                                                       0x0);
7431     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x78, &x79, x77, x42,
7432                                                       0x0);
7433     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x80, &x81, x79, x54,
7434                                                       0x0);
7435     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x82, &x83, x81, x66,
7436                                                       0x0);
7437     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x84, &x85, x70,
7438                                                  UINT32_C(0x883b2b2f));
7439     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x86, &x87, x84,
7440                                                  UINT32_C(0x80000000));
7441     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x88, &x89, x84,
7442                                                  UINT16_C(0x431));
7443     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x90, &x91, 0x0, x70,
7444                                                       x88);
7445     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x92, &x93, x91, x72,
7446                                                       x89);
7447     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x94, &x95, x93, x74,
7448                                                       0x0);
7449     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x96, &x97, x95, x76,
7450                                                       0x0);
7451     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x98, &x99, x97, x78,
7452                                                       0x0);
7453     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x100, &x101, x99, x80,
7454                                                       0x0);
7455     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x102, &x103, x101, x82,
7456                                                       0x0);
7457     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x104, &x105, x103,
7458                                                       (x83 + (x67 + x63)), x86);
7459     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x106, &x107, 0x0, x92,
7460                                                       (arg1[7]));
7461     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x108, &x109, x107, x94,
7462                                                       0x0);
7463     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x110, &x111, x109, x96,
7464                                                       0x0);
7465     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x112, &x113, x111, x98,
7466                                                       0x0);
7467     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x114, &x115, x113, x100,
7468                                                       0x0);
7469     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x116, &x117, x115, x102,
7470                                                       0x0);
7471     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x118, &x119, x117, x104,
7472                                                       0x0);
7473     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x120, &x121, x106,
7474                                                  UINT32_C(0x883b2b2f));
7475     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x122, &x123, x120,
7476                                                  UINT32_C(0x80000000));
7477     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x124, &x125, x120,
7478                                                  UINT16_C(0x431));
7479     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x126, &x127, 0x0, x106,
7480                                                       x124);
7481     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x128, &x129, x127, x108,
7482                                                       x125);
7483     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x130, &x131, x129, x110,
7484                                                       0x0);
7485     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x132, &x133, x131, x112,
7486                                                       0x0);
7487     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x134, &x135, x133, x114,
7488                                                       0x0);
7489     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x136, &x137, x135, x116,
7490                                                       0x0);
7491     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x138, &x139, x137, x118,
7492                                                       0x0);
7493     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7494         &x140, &x141, x139, (x119 + (x105 + x87)), x122);
7495     x142 = (x141 + x123);
7496     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x143, &x144, 0x0, x128,
7497                                                        UINT16_C(0x431));
7498     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x145, &x146, x144, x130,
7499                                                        0x0);
7500     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x147, &x148, x146, x132,
7501                                                        0x0);
7502     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x149, &x150, x148, x134,
7503                                                        0x0);
7504     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x151, &x152, x150, x136,
7505                                                        0x0);
7506     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x153, &x154, x152, x138,
7507                                                        0x0);
7508     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x155, &x156, x154, x140,
7509                                                        0x0);
7510     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x157, &x158, x156, x142,
7511                                                        UINT32_C(0x80000000));
7512     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x159, &x160, x158, 0x0,
7513                                                        0x0);
7514     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x161, x160, x143, x128);
7515     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x162, x160, x145, x130);
7516     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x163, x160, x147, x132);
7517     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x164, x160, x149, x134);
7518     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x165, x160, x151, x136);
7519     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x166, x160, x153, x138);
7520     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x167, x160, x155, x140);
7521     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x168, x160, x157, x142);
7522     out1[0] = x161;
7523     out1[1] = x162;
7524     out1[2] = x163;
7525     out1[3] = x164;
7526     out1[4] = x165;
7527     out1[5] = x166;
7528     out1[6] = x167;
7529     out1[7] = x168;
7530 }
7531
7532 /*
7533  * The function fiat_id_GostR3410_2001_TestParamSet_to_montgomery translates a field element into the Montgomery domain.
7534  * Preconditions:
7535  *   0 ≤ eval arg1 < m
7536  * Postconditions:
7537  *   eval (from_montgomery out1) mod m = eval arg1 mod m
7538  *   0 ≤ eval out1 < m
7539  *
7540  * Input Bounds:
7541  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
7542  * Output Bounds:
7543  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
7544  */
7545 static void fiat_id_GostR3410_2001_TestParamSet_to_montgomery(
7546     uint32_t out1[8], const uint32_t arg1[8]) {
7547     uint32_t x1;
7548     uint32_t x2;
7549     uint32_t x3;
7550     uint32_t x4;
7551     uint32_t x5;
7552     uint32_t x6;
7553     uint32_t x7;
7554     uint32_t x8;
7555     uint32_t x9;
7556     uint32_t x10;
7557     uint32_t x11;
7558     fiat_id_GostR3410_2001_TestParamSet_uint1 x12;
7559     uint32_t x13;
7560     fiat_id_GostR3410_2001_TestParamSet_uint1 x14;
7561     uint32_t x15;
7562     uint32_t x16;
7563     uint32_t x17;
7564     uint32_t x18;
7565     uint32_t x19;
7566     uint32_t x20;
7567     uint32_t x21;
7568     fiat_id_GostR3410_2001_TestParamSet_uint1 x22;
7569     uint32_t x23;
7570     uint32_t x24;
7571     uint32_t x25;
7572     fiat_id_GostR3410_2001_TestParamSet_uint1 x26;
7573     uint32_t x27;
7574     fiat_id_GostR3410_2001_TestParamSet_uint1 x28;
7575     uint32_t x29;
7576     uint32_t x30;
7577     uint32_t x31;
7578     uint32_t x32;
7579     uint32_t x33;
7580     uint32_t x34;
7581     uint32_t x35;
7582     fiat_id_GostR3410_2001_TestParamSet_uint1 x36;
7583     uint32_t x37;
7584     uint32_t x38;
7585     uint32_t x39;
7586     fiat_id_GostR3410_2001_TestParamSet_uint1 x40;
7587     uint32_t x41;
7588     fiat_id_GostR3410_2001_TestParamSet_uint1 x42;
7589     uint32_t x43;
7590     uint32_t x44;
7591     uint32_t x45;
7592     uint32_t x46;
7593     uint32_t x47;
7594     uint32_t x48;
7595     uint32_t x49;
7596     fiat_id_GostR3410_2001_TestParamSet_uint1 x50;
7597     uint32_t x51;
7598     uint32_t x52;
7599     uint32_t x53;
7600     fiat_id_GostR3410_2001_TestParamSet_uint1 x54;
7601     uint32_t x55;
7602     fiat_id_GostR3410_2001_TestParamSet_uint1 x56;
7603     uint32_t x57;
7604     uint32_t x58;
7605     uint32_t x59;
7606     uint32_t x60;
7607     uint32_t x61;
7608     uint32_t x62;
7609     uint32_t x63;
7610     fiat_id_GostR3410_2001_TestParamSet_uint1 x64;
7611     uint32_t x65;
7612     uint32_t x66;
7613     uint32_t x67;
7614     fiat_id_GostR3410_2001_TestParamSet_uint1 x68;
7615     uint32_t x69;
7616     fiat_id_GostR3410_2001_TestParamSet_uint1 x70;
7617     uint32_t x71;
7618     uint32_t x72;
7619     uint32_t x73;
7620     uint32_t x74;
7621     uint32_t x75;
7622     uint32_t x76;
7623     uint32_t x77;
7624     fiat_id_GostR3410_2001_TestParamSet_uint1 x78;
7625     uint32_t x79;
7626     uint32_t x80;
7627     uint32_t x81;
7628     fiat_id_GostR3410_2001_TestParamSet_uint1 x82;
7629     uint32_t x83;
7630     fiat_id_GostR3410_2001_TestParamSet_uint1 x84;
7631     uint32_t x85;
7632     fiat_id_GostR3410_2001_TestParamSet_uint1 x86;
7633     uint32_t x87;
7634     fiat_id_GostR3410_2001_TestParamSet_uint1 x88;
7635     uint32_t x89;
7636     fiat_id_GostR3410_2001_TestParamSet_uint1 x90;
7637     uint32_t x91;
7638     fiat_id_GostR3410_2001_TestParamSet_uint1 x92;
7639     uint32_t x93;
7640     fiat_id_GostR3410_2001_TestParamSet_uint1 x94;
7641     uint32_t x95;
7642     fiat_id_GostR3410_2001_TestParamSet_uint1 x96;
7643     uint32_t x97;
7644     uint32_t x98;
7645     uint32_t x99;
7646     uint32_t x100;
7647     uint32_t x101;
7648     uint32_t x102;
7649     uint32_t x103;
7650     fiat_id_GostR3410_2001_TestParamSet_uint1 x104;
7651     uint32_t x105;
7652     fiat_id_GostR3410_2001_TestParamSet_uint1 x106;
7653     uint32_t x107;
7654     fiat_id_GostR3410_2001_TestParamSet_uint1 x108;
7655     uint32_t x109;
7656     fiat_id_GostR3410_2001_TestParamSet_uint1 x110;
7657     uint32_t x111;
7658     fiat_id_GostR3410_2001_TestParamSet_uint1 x112;
7659     uint32_t x113;
7660     fiat_id_GostR3410_2001_TestParamSet_uint1 x114;
7661     uint32_t x115;
7662     fiat_id_GostR3410_2001_TestParamSet_uint1 x116;
7663     uint32_t x117;
7664     fiat_id_GostR3410_2001_TestParamSet_uint1 x118;
7665     uint32_t x119;
7666     uint32_t x120;
7667     uint32_t x121;
7668     fiat_id_GostR3410_2001_TestParamSet_uint1 x122;
7669     uint32_t x123;
7670     fiat_id_GostR3410_2001_TestParamSet_uint1 x124;
7671     uint32_t x125;
7672     fiat_id_GostR3410_2001_TestParamSet_uint1 x126;
7673     uint32_t x127;
7674     fiat_id_GostR3410_2001_TestParamSet_uint1 x128;
7675     uint32_t x129;
7676     fiat_id_GostR3410_2001_TestParamSet_uint1 x130;
7677     uint32_t x131;
7678     fiat_id_GostR3410_2001_TestParamSet_uint1 x132;
7679     uint32_t x133;
7680     fiat_id_GostR3410_2001_TestParamSet_uint1 x134;
7681     uint32_t x135;
7682     uint32_t x136;
7683     uint32_t x137;
7684     uint32_t x138;
7685     uint32_t x139;
7686     uint32_t x140;
7687     uint32_t x141;
7688     fiat_id_GostR3410_2001_TestParamSet_uint1 x142;
7689     uint32_t x143;
7690     fiat_id_GostR3410_2001_TestParamSet_uint1 x144;
7691     uint32_t x145;
7692     fiat_id_GostR3410_2001_TestParamSet_uint1 x146;
7693     uint32_t x147;
7694     fiat_id_GostR3410_2001_TestParamSet_uint1 x148;
7695     uint32_t x149;
7696     fiat_id_GostR3410_2001_TestParamSet_uint1 x150;
7697     uint32_t x151;
7698     fiat_id_GostR3410_2001_TestParamSet_uint1 x152;
7699     uint32_t x153;
7700     fiat_id_GostR3410_2001_TestParamSet_uint1 x154;
7701     uint32_t x155;
7702     fiat_id_GostR3410_2001_TestParamSet_uint1 x156;
7703     uint32_t x157;
7704     uint32_t x158;
7705     fiat_id_GostR3410_2001_TestParamSet_uint1 x159;
7706     uint32_t x160;
7707     fiat_id_GostR3410_2001_TestParamSet_uint1 x161;
7708     uint32_t x162;
7709     fiat_id_GostR3410_2001_TestParamSet_uint1 x163;
7710     uint32_t x164;
7711     fiat_id_GostR3410_2001_TestParamSet_uint1 x165;
7712     uint32_t x166;
7713     fiat_id_GostR3410_2001_TestParamSet_uint1 x167;
7714     uint32_t x168;
7715     fiat_id_GostR3410_2001_TestParamSet_uint1 x169;
7716     uint32_t x170;
7717     fiat_id_GostR3410_2001_TestParamSet_uint1 x171;
7718     uint32_t x172;
7719     fiat_id_GostR3410_2001_TestParamSet_uint1 x173;
7720     uint32_t x174;
7721     fiat_id_GostR3410_2001_TestParamSet_uint1 x175;
7722     uint32_t x176;
7723     uint32_t x177;
7724     uint32_t x178;
7725     uint32_t x179;
7726     uint32_t x180;
7727     uint32_t x181;
7728     uint32_t x182;
7729     uint32_t x183;
7730     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x1, &x2, (arg1[0]),
7731                                                  UINT32_C(0x464584));
7732     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x3, &x4, x1,
7733                                                  UINT32_C(0x883b2b2f));
7734     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x5, &x6, x3,
7735                                                  UINT32_C(0x80000000));
7736     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x7, &x8, x3, UINT16_C(0x431));
7737     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x9, &x10, (arg1[1]),
7738                                                  UINT32_C(0x464584));
7739     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x11, &x12, 0x0, x1, x7);
7740     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x13, &x14, 0x0,
7741                                                       ((x12 + x2) + x8), x9);
7742     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x15, &x16, x13,
7743                                                  UINT32_C(0x883b2b2f));
7744     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x17, &x18, x15,
7745                                                  UINT32_C(0x80000000));
7746     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x19, &x20, x15,
7747                                                  UINT16_C(0x431));
7748     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x21, &x22, 0x0, x6, x17);
7749     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x23, &x24, (arg1[2]),
7750                                                  UINT32_C(0x464584));
7751     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x25, &x26, 0x0, x13,
7752                                                       x19);
7753     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7754         &x27, &x28, 0x0, ((x26 + (x14 + x10)) + x20), x23);
7755     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x29, &x30, x27,
7756                                                  UINT32_C(0x883b2b2f));
7757     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x31, &x32, x29,
7758                                                  UINT32_C(0x80000000));
7759     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x33, &x34, x29,
7760                                                  UINT16_C(0x431));
7761     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x35, &x36, 0x0,
7762                                                       (x22 + x18), x31);
7763     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x37, &x38, (arg1[3]),
7764                                                  UINT32_C(0x464584));
7765     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x39, &x40, 0x0, x27,
7766                                                       x33);
7767     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7768         &x41, &x42, 0x0, ((x40 + (x28 + x24)) + x34), x37);
7769     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x43, &x44, x41,
7770                                                  UINT32_C(0x883b2b2f));
7771     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x45, &x46, x43,
7772                                                  UINT32_C(0x80000000));
7773     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x47, &x48, x43,
7774                                                  UINT16_C(0x431));
7775     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x49, &x50, 0x0,
7776                                                       (x36 + x32), x45);
7777     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x51, &x52, (arg1[4]),
7778                                                  UINT32_C(0x464584));
7779     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x53, &x54, 0x0, x41,
7780                                                       x47);
7781     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7782         &x55, &x56, 0x0, ((x54 + (x42 + x38)) + x48), x51);
7783     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x57, &x58, x55,
7784                                                  UINT32_C(0x883b2b2f));
7785     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x59, &x60, x57,
7786                                                  UINT32_C(0x80000000));
7787     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x61, &x62, x57,
7788                                                  UINT16_C(0x431));
7789     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x63, &x64, 0x0,
7790                                                       (x50 + x46), x59);
7791     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x65, &x66, (arg1[5]),
7792                                                  UINT32_C(0x464584));
7793     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x67, &x68, 0x0, x55,
7794                                                       x61);
7795     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7796         &x69, &x70, 0x0, ((x68 + (x56 + x52)) + x62), x65);
7797     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x71, &x72, x69,
7798                                                  UINT32_C(0x883b2b2f));
7799     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x73, &x74, x71,
7800                                                  UINT32_C(0x80000000));
7801     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x75, &x76, x71,
7802                                                  UINT16_C(0x431));
7803     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x77, &x78, 0x0,
7804                                                       (x64 + x60), x73);
7805     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x79, &x80, (arg1[6]),
7806                                                  UINT32_C(0x464584));
7807     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x81, &x82, 0x0, x69,
7808                                                       x75);
7809     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7810         &x83, &x84, 0x0, ((x82 + (x70 + x66)) + x76), x79);
7811     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x85, &x86, x84, x5, x80);
7812     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x87, &x88, x86, x21,
7813                                                       0x0);
7814     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x89, &x90, x88, x35,
7815                                                       0x0);
7816     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x91, &x92, x90, x49,
7817                                                       0x0);
7818     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x93, &x94, x92, x63,
7819                                                       0x0);
7820     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x95, &x96, x94, x77,
7821                                                       0x0);
7822     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x97, &x98, x83,
7823                                                  UINT32_C(0x883b2b2f));
7824     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x99, &x100, x97,
7825                                                  UINT32_C(0x80000000));
7826     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x101, &x102, x97,
7827                                                  UINT16_C(0x431));
7828     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x103, &x104, 0x0, x83,
7829                                                       x101);
7830     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x105, &x106, x104, x85,
7831                                                       x102);
7832     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x107, &x108, x106, x87,
7833                                                       0x0);
7834     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x109, &x110, x108, x89,
7835                                                       0x0);
7836     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x111, &x112, x110, x91,
7837                                                       0x0);
7838     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x113, &x114, x112, x93,
7839                                                       0x0);
7840     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x115, &x116, x114, x95,
7841                                                       0x0);
7842     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x117, &x118, x116,
7843                                                       (x96 + (x78 + x74)), x99);
7844     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x119, &x120, (arg1[7]),
7845                                                  UINT32_C(0x464584));
7846     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x121, &x122, 0x0, x105,
7847                                                       x119);
7848     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x123, &x124, x122, x107,
7849                                                       x120);
7850     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x125, &x126, x124, x109,
7851                                                       0x0);
7852     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x127, &x128, x126, x111,
7853                                                       0x0);
7854     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x129, &x130, x128, x113,
7855                                                       0x0);
7856     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x131, &x132, x130, x115,
7857                                                       0x0);
7858     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x133, &x134, x132, x117,
7859                                                       0x0);
7860     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x135, &x136, x121,
7861                                                  UINT32_C(0x883b2b2f));
7862     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x137, &x138, x135,
7863                                                  UINT32_C(0x80000000));
7864     fiat_id_GostR3410_2001_TestParamSet_mulx_u32(&x139, &x140, x135,
7865                                                  UINT16_C(0x431));
7866     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x141, &x142, 0x0, x121,
7867                                                       x139);
7868     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x143, &x144, x142, x123,
7869                                                       x140);
7870     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x145, &x146, x144, x125,
7871                                                       0x0);
7872     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x147, &x148, x146, x127,
7873                                                       0x0);
7874     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x149, &x150, x148, x129,
7875                                                       0x0);
7876     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x151, &x152, x150, x131,
7877                                                       0x0);
7878     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(&x153, &x154, x152, x133,
7879                                                       0x0);
7880     fiat_id_GostR3410_2001_TestParamSet_addcarryx_u32(
7881         &x155, &x156, x154, (x134 + (x118 + x100)), x137);
7882     x157 = (x156 + x138);
7883     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x158, &x159, 0x0, x143,
7884                                                        UINT16_C(0x431));
7885     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x160, &x161, x159, x145,
7886                                                        0x0);
7887     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x162, &x163, x161, x147,
7888                                                        0x0);
7889     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x164, &x165, x163, x149,
7890                                                        0x0);
7891     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x166, &x167, x165, x151,
7892                                                        0x0);
7893     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x168, &x169, x167, x153,
7894                                                        0x0);
7895     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x170, &x171, x169, x155,
7896                                                        0x0);
7897     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x172, &x173, x171, x157,
7898                                                        UINT32_C(0x80000000));
7899     fiat_id_GostR3410_2001_TestParamSet_subborrowx_u32(&x174, &x175, x173, 0x0,
7900                                                        0x0);
7901     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x176, x175, x158, x143);
7902     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x177, x175, x160, x145);
7903     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x178, x175, x162, x147);
7904     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x179, x175, x164, x149);
7905     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x180, x175, x166, x151);
7906     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x181, x175, x168, x153);
7907     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x182, x175, x170, x155);
7908     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x183, x175, x172, x157);
7909     out1[0] = x176;
7910     out1[1] = x177;
7911     out1[2] = x178;
7912     out1[3] = x179;
7913     out1[4] = x180;
7914     out1[5] = x181;
7915     out1[6] = x182;
7916     out1[7] = x183;
7917 }
7918
7919 /*
7920  * The function fiat_id_GostR3410_2001_TestParamSet_nonzero outputs a single non-zero word if the input is non-zero and zero otherwise.
7921  * Preconditions:
7922  *   0 ≤ eval arg1 < m
7923  * Postconditions:
7924  *   out1 = 0 ↔ eval (from_montgomery arg1) mod m = 0
7925  *
7926  * Input Bounds:
7927  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
7928  * Output Bounds:
7929  *   out1: [0x0 ~> 0xffffffff]
7930  */
7931 static void fiat_id_GostR3410_2001_TestParamSet_nonzero(
7932     uint32_t *out1, const uint32_t arg1[8]) {
7933     uint32_t x1;
7934     x1 =
7935         ((arg1[0]) |
7936          ((arg1[1]) |
7937           ((arg1[2]) |
7938            ((arg1[3]) | ((arg1[4]) | ((arg1[5]) | ((arg1[6]) | (arg1[7]))))))));
7939     *out1 = x1;
7940 }
7941
7942 /*
7943  * The function fiat_id_GostR3410_2001_TestParamSet_selectznz is a multi-limb conditional select.
7944  * Postconditions:
7945  *   eval out1 = (if arg1 = 0 then eval arg2 else eval arg3)
7946  *
7947  * Input Bounds:
7948  *   arg1: [0x0 ~> 0x1]
7949  *   arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
7950  *   arg3: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
7951  * Output Bounds:
7952  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
7953  */
7954 static void fiat_id_GostR3410_2001_TestParamSet_selectznz(
7955     uint32_t out1[8], fiat_id_GostR3410_2001_TestParamSet_uint1 arg1,
7956     const uint32_t arg2[8], const uint32_t arg3[8]) {
7957     uint32_t x1;
7958     uint32_t x2;
7959     uint32_t x3;
7960     uint32_t x4;
7961     uint32_t x5;
7962     uint32_t x6;
7963     uint32_t x7;
7964     uint32_t x8;
7965     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x1, arg1, (arg2[0]),
7966                                                     (arg3[0]));
7967     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x2, arg1, (arg2[1]),
7968                                                     (arg3[1]));
7969     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x3, arg1, (arg2[2]),
7970                                                     (arg3[2]));
7971     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x4, arg1, (arg2[3]),
7972                                                     (arg3[3]));
7973     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x5, arg1, (arg2[4]),
7974                                                     (arg3[4]));
7975     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x6, arg1, (arg2[5]),
7976                                                     (arg3[5]));
7977     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x7, arg1, (arg2[6]),
7978                                                     (arg3[6]));
7979     fiat_id_GostR3410_2001_TestParamSet_cmovznz_u32(&x8, arg1, (arg2[7]),
7980                                                     (arg3[7]));
7981     out1[0] = x1;
7982     out1[1] = x2;
7983     out1[2] = x3;
7984     out1[3] = x4;
7985     out1[4] = x5;
7986     out1[5] = x6;
7987     out1[6] = x7;
7988     out1[7] = x8;
7989 }
7990
7991 /*
7992  * The function fiat_id_GostR3410_2001_TestParamSet_to_bytes serializes a field element NOT in the Montgomery domain to bytes in little-endian order.
7993  * Preconditions:
7994  *   0 ≤ eval arg1 < m
7995  * Postconditions:
7996  *   out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..31]
7997  *
7998  * Input Bounds:
7999  *   arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8000  * Output Bounds:
8001  *   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]]
8002  */
8003 static void fiat_id_GostR3410_2001_TestParamSet_to_bytes(
8004     uint8_t out1[32], const uint32_t arg1[8]) {
8005     uint32_t x1;
8006     uint32_t x2;
8007     uint32_t x3;
8008     uint32_t x4;
8009     uint32_t x5;
8010     uint32_t x6;
8011     uint32_t x7;
8012     uint32_t x8;
8013     uint8_t x9;
8014     uint32_t x10;
8015     uint8_t x11;
8016     uint32_t x12;
8017     uint8_t x13;
8018     uint8_t x14;
8019     uint8_t x15;
8020     uint32_t x16;
8021     uint8_t x17;
8022     uint32_t x18;
8023     uint8_t x19;
8024     uint8_t x20;
8025     uint8_t x21;
8026     uint32_t x22;
8027     uint8_t x23;
8028     uint32_t x24;
8029     uint8_t x25;
8030     uint8_t x26;
8031     uint8_t x27;
8032     uint32_t x28;
8033     uint8_t x29;
8034     uint32_t x30;
8035     uint8_t x31;
8036     uint8_t x32;
8037     uint8_t x33;
8038     uint32_t x34;
8039     uint8_t x35;
8040     uint32_t x36;
8041     uint8_t x37;
8042     uint8_t x38;
8043     uint8_t x39;
8044     uint32_t x40;
8045     uint8_t x41;
8046     uint32_t x42;
8047     uint8_t x43;
8048     uint8_t x44;
8049     uint8_t x45;
8050     uint32_t x46;
8051     uint8_t x47;
8052     uint32_t x48;
8053     uint8_t x49;
8054     uint8_t x50;
8055     uint8_t x51;
8056     uint32_t x52;
8057     uint8_t x53;
8058     uint32_t x54;
8059     uint8_t x55;
8060     uint8_t x56;
8061     x1 = (arg1[7]);
8062     x2 = (arg1[6]);
8063     x3 = (arg1[5]);
8064     x4 = (arg1[4]);
8065     x5 = (arg1[3]);
8066     x6 = (arg1[2]);
8067     x7 = (arg1[1]);
8068     x8 = (arg1[0]);
8069     x9 = (uint8_t)(x8 & UINT8_C(0xff));
8070     x10 = (x8 >> 8);
8071     x11 = (uint8_t)(x10 & UINT8_C(0xff));
8072     x12 = (x10 >> 8);
8073     x13 = (uint8_t)(x12 & UINT8_C(0xff));
8074     x14 = (uint8_t)(x12 >> 8);
8075     x15 = (uint8_t)(x7 & UINT8_C(0xff));
8076     x16 = (x7 >> 8);
8077     x17 = (uint8_t)(x16 & UINT8_C(0xff));
8078     x18 = (x16 >> 8);
8079     x19 = (uint8_t)(x18 & UINT8_C(0xff));
8080     x20 = (uint8_t)(x18 >> 8);
8081     x21 = (uint8_t)(x6 & UINT8_C(0xff));
8082     x22 = (x6 >> 8);
8083     x23 = (uint8_t)(x22 & UINT8_C(0xff));
8084     x24 = (x22 >> 8);
8085     x25 = (uint8_t)(x24 & UINT8_C(0xff));
8086     x26 = (uint8_t)(x24 >> 8);
8087     x27 = (uint8_t)(x5 & UINT8_C(0xff));
8088     x28 = (x5 >> 8);
8089     x29 = (uint8_t)(x28 & UINT8_C(0xff));
8090     x30 = (x28 >> 8);
8091     x31 = (uint8_t)(x30 & UINT8_C(0xff));
8092     x32 = (uint8_t)(x30 >> 8);
8093     x33 = (uint8_t)(x4 & UINT8_C(0xff));
8094     x34 = (x4 >> 8);
8095     x35 = (uint8_t)(x34 & UINT8_C(0xff));
8096     x36 = (x34 >> 8);
8097     x37 = (uint8_t)(x36 & UINT8_C(0xff));
8098     x38 = (uint8_t)(x36 >> 8);
8099     x39 = (uint8_t)(x3 & UINT8_C(0xff));
8100     x40 = (x3 >> 8);
8101     x41 = (uint8_t)(x40 & UINT8_C(0xff));
8102     x42 = (x40 >> 8);
8103     x43 = (uint8_t)(x42 & UINT8_C(0xff));
8104     x44 = (uint8_t)(x42 >> 8);
8105     x45 = (uint8_t)(x2 & UINT8_C(0xff));
8106     x46 = (x2 >> 8);
8107     x47 = (uint8_t)(x46 & UINT8_C(0xff));
8108     x48 = (x46 >> 8);
8109     x49 = (uint8_t)(x48 & UINT8_C(0xff));
8110     x50 = (uint8_t)(x48 >> 8);
8111     x51 = (uint8_t)(x1 & UINT8_C(0xff));
8112     x52 = (x1 >> 8);
8113     x53 = (uint8_t)(x52 & UINT8_C(0xff));
8114     x54 = (x52 >> 8);
8115     x55 = (uint8_t)(x54 & UINT8_C(0xff));
8116     x56 = (uint8_t)(x54 >> 8);
8117     out1[0] = x9;
8118     out1[1] = x11;
8119     out1[2] = x13;
8120     out1[3] = x14;
8121     out1[4] = x15;
8122     out1[5] = x17;
8123     out1[6] = x19;
8124     out1[7] = x20;
8125     out1[8] = x21;
8126     out1[9] = x23;
8127     out1[10] = x25;
8128     out1[11] = x26;
8129     out1[12] = x27;
8130     out1[13] = x29;
8131     out1[14] = x31;
8132     out1[15] = x32;
8133     out1[16] = x33;
8134     out1[17] = x35;
8135     out1[18] = x37;
8136     out1[19] = x38;
8137     out1[20] = x39;
8138     out1[21] = x41;
8139     out1[22] = x43;
8140     out1[23] = x44;
8141     out1[24] = x45;
8142     out1[25] = x47;
8143     out1[26] = x49;
8144     out1[27] = x50;
8145     out1[28] = x51;
8146     out1[29] = x53;
8147     out1[30] = x55;
8148     out1[31] = x56;
8149 }
8150
8151 /*
8152  * The function fiat_id_GostR3410_2001_TestParamSet_from_bytes deserializes a field element NOT in the Montgomery domain from bytes in little-endian order.
8153  * Preconditions:
8154  *   0 ≤ bytes_eval arg1 < m
8155  * Postconditions:
8156  *   eval out1 mod m = bytes_eval arg1 mod m
8157  *   0 ≤ eval out1 < m
8158  *
8159  * Input Bounds:
8160  *   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]]
8161  * Output Bounds:
8162  *   out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
8163  */
8164 static void fiat_id_GostR3410_2001_TestParamSet_from_bytes(
8165     uint32_t out1[8], const uint8_t arg1[32]) {
8166     uint32_t x1;
8167     uint32_t x2;
8168     uint32_t x3;
8169     uint8_t x4;
8170     uint32_t x5;
8171     uint32_t x6;
8172     uint32_t x7;
8173     uint8_t x8;
8174     uint32_t x9;
8175     uint32_t x10;
8176     uint32_t x11;
8177     uint8_t x12;
8178     uint32_t x13;
8179     uint32_t x14;
8180     uint32_t x15;
8181     uint8_t x16;
8182     uint32_t x17;
8183     uint32_t x18;
8184     uint32_t x19;
8185     uint8_t x20;
8186     uint32_t x21;
8187     uint32_t x22;
8188     uint32_t x23;
8189     uint8_t x24;
8190     uint32_t x25;
8191     uint32_t x26;
8192     uint32_t x27;
8193     uint8_t x28;
8194     uint32_t x29;
8195     uint32_t x30;
8196     uint32_t x31;
8197     uint8_t x32;
8198     uint32_t x33;
8199     uint32_t x34;
8200     uint32_t x35;
8201     uint32_t x36;
8202     uint32_t x37;
8203     uint32_t x38;
8204     uint32_t x39;
8205     uint32_t x40;
8206     uint32_t x41;
8207     uint32_t x42;
8208     uint32_t x43;
8209     uint32_t x44;
8210     uint32_t x45;
8211     uint32_t x46;
8212     uint32_t x47;
8213     uint32_t x48;
8214     uint32_t x49;
8215     uint32_t x50;
8216     uint32_t x51;
8217     uint32_t x52;
8218     uint32_t x53;
8219     uint32_t x54;
8220     uint32_t x55;
8221     uint32_t x56;
8222     x1 = ((uint32_t)(arg1[31]) << 24);
8223     x2 = ((uint32_t)(arg1[30]) << 16);
8224     x3 = ((uint32_t)(arg1[29]) << 8);
8225     x4 = (arg1[28]);
8226     x5 = ((uint32_t)(arg1[27]) << 24);
8227     x6 = ((uint32_t)(arg1[26]) << 16);
8228     x7 = ((uint32_t)(arg1[25]) << 8);
8229     x8 = (arg1[24]);
8230     x9 = ((uint32_t)(arg1[23]) << 24);
8231     x10 = ((uint32_t)(arg1[22]) << 16);
8232     x11 = ((uint32_t)(arg1[21]) << 8);
8233     x12 = (arg1[20]);
8234     x13 = ((uint32_t)(arg1[19]) << 24);
8235     x14 = ((uint32_t)(arg1[18]) << 16);
8236     x15 = ((uint32_t)(arg1[17]) << 8);
8237     x16 = (arg1[16]);
8238     x17 = ((uint32_t)(arg1[15]) << 24);
8239     x18 = ((uint32_t)(arg1[14]) << 16);
8240     x19 = ((uint32_t)(arg1[13]) << 8);
8241     x20 = (arg1[12]);
8242     x21 = ((uint32_t)(arg1[11]) << 24);
8243     x22 = ((uint32_t)(arg1[10]) << 16);
8244     x23 = ((uint32_t)(arg1[9]) << 8);
8245     x24 = (arg1[8]);
8246     x25 = ((uint32_t)(arg1[7]) << 24);
8247     x26 = ((uint32_t)(arg1[6]) << 16);
8248     x27 = ((uint32_t)(arg1[5]) << 8);
8249     x28 = (arg1[4]);
8250     x29 = ((uint32_t)(arg1[3]) << 24);
8251     x30 = ((uint32_t)(arg1[2]) << 16);
8252     x31 = ((uint32_t)(arg1[1]) << 8);
8253     x32 = (arg1[0]);
8254     x33 = (x31 + (uint32_t)x32);
8255     x34 = (x30 + x33);
8256     x35 = (x29 + x34);
8257     x36 = (x27 + (uint32_t)x28);
8258     x37 = (x26 + x36);
8259     x38 = (x25 + x37);
8260     x39 = (x23 + (uint32_t)x24);
8261     x40 = (x22 + x39);
8262     x41 = (x21 + x40);
8263     x42 = (x19 + (uint32_t)x20);
8264     x43 = (x18 + x42);
8265     x44 = (x17 + x43);
8266     x45 = (x15 + (uint32_t)x16);
8267     x46 = (x14 + x45);
8268     x47 = (x13 + x46);
8269     x48 = (x11 + (uint32_t)x12);
8270     x49 = (x10 + x48);
8271     x50 = (x9 + x49);
8272     x51 = (x7 + (uint32_t)x8);
8273     x52 = (x6 + x51);
8274     x53 = (x5 + x52);
8275     x54 = (x3 + (uint32_t)x4);
8276     x55 = (x2 + x54);
8277     x56 = (x1 + x55);
8278     out1[0] = x35;
8279     out1[1] = x38;
8280     out1[2] = x41;
8281     out1[3] = x44;
8282     out1[4] = x47;
8283     out1[5] = x50;
8284     out1[6] = x53;
8285     out1[7] = x56;
8286 }
8287
8288 /* END verbatim fiat code */
8289
8290 /*-
8291  * Finite field inversion via FLT.
8292  * NB: this is not a real Fiat function, just named that way for consistency.
8293  * Autogenerated: ecp/id_GostR3410_2001_TestParamSet/fe_inv.op3
8294  * sliding window w=5
8295  */
8296 static void fiat_id_GostR3410_2001_TestParamSet_inv(fe_t output,
8297                                                     const fe_t t1) {
8298     int i;
8299     /* temporary variables */
8300     fe_t acc, t15;
8301
8302     fiat_id_GostR3410_2001_TestParamSet_square(acc, t1);
8303     fiat_id_GostR3410_2001_TestParamSet_mul(t15, t1, acc);
8304     for (i = 0; i < 6; i++)
8305         fiat_id_GostR3410_2001_TestParamSet_mul(t15, t15, acc);
8306     fiat_id_GostR3410_2001_TestParamSet_square(acc, t1);
8307     for (i = 0; i < 244; i++)
8308         fiat_id_GostR3410_2001_TestParamSet_square(acc, acc);
8309     fiat_id_GostR3410_2001_TestParamSet_mul(acc, acc, t1);
8310     for (i = 0; i < 5; i++)
8311         fiat_id_GostR3410_2001_TestParamSet_square(acc, acc);
8312     fiat_id_GostR3410_2001_TestParamSet_mul(acc, acc, t1);
8313     for (i = 0; i < 5; i++)
8314         fiat_id_GostR3410_2001_TestParamSet_square(acc, acc);
8315     fiat_id_GostR3410_2001_TestParamSet_mul(output, acc, t15);
8316 }
8317
8318 /* curve coefficient constants */
8319
8320 static const limb_t const_one[8] = {UINT32_C(0xFFFFFBCF), UINT32_C(0xFFFFFFFF),
8321                                     UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
8322                                     UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
8323                                     UINT32_C(0xFFFFFFFF), UINT32_C(0x7FFFFFFF)};
8324
8325 static const limb_t const_a[8] = {UINT32_C(0xFFFFC983), UINT32_C(0xFFFFFFFF),
8326                                   UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
8327                                   UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
8328                                   UINT32_C(0xFFFFFFFF), UINT32_C(0x7FFFFFFF)};
8329
8330 static const limb_t const_b3[8] = {UINT32_C(0x6AEAB71C), UINT32_C(0x81733EE9),
8331                                    UINT32_C(0xFC4E6FC7), UINT32_C(0x00CD3D1C),
8332                                    UINT32_C(0x75853407), UINT32_C(0x60AB503A),
8333                                    UINT32_C(0x4556810A), UINT32_C(0x0A9EC8AE)};
8334
8335 /* LUT for scalar multiplication by comb interleaving */
8336 static const pt_aff_t lut_cmb[27][16] = {
8337     {
8338         {{UINT32_C(0xFFFFF36D), UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
8339           UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF), UINT32_C(0xFFFFFFFF),
8340           UINT32_C(0xFFFFFFFF), UINT32_C(0x7FFFFFFF)},
8341          {UINT32_C(0x471125F5), UINT32_C(0x9AF45A5A), UINT32_C(0xF69BF9AE),
8342           UINT32_C(0x7CE5090A), UINT32_C(0xE4B6DDE6), UINT32_C(0x67617A63),
8343           UINT32_C(0x4AA3DAA4), UINT32_C(0x03F66B35)}},
8344         {{UINT32_C(0x149B5D15), UINT32_C(0xB39BDC16), UINT32_C(0x7309454F),
8345           UINT32_C(0x87CE978A), UINT32_C(0x315A7A56), UINT32_C(0xD22F32EF),
8346           UINT32_C(0xB69A6B57), UINT32_C(0x4C7DE232)},
8347          {UINT32_C(0x466DC64D), UINT32_C(0x9E2DAF6D), UINT32_C(0x4B1C8A55),
8348           UINT32_C(0x758C27B1), UINT32_C(0xBD647F1A), UINT32_C(0x74A0CB23),
8349           UINT32_C(0x2C2F4C70), UINT32_C(0x27E74868)}},
8350         {{UINT32_C(0x55A62594), UINT32_C(0xF2D8F32E), UINT32_C(0x36BC547A),
8351           UINT32_C(0x8323D570), UINT32_C(0x98D4B25A), UINT32_C(0x497679EB),
8352           UINT32_C(0xB87E0534), UINT32_C(0x061167F2)},
8353          {UINT32_C(0x223E4DF8), UINT32_C(0xE1FFFDCE), UINT32_C(0xDCD891E9),
8354           UINT32_C(0x7C83AE78), UINT32_C(0x3C1B95D0), UINT32_C(0x74398586),
8355           UINT32_C(0x74B3F5AB), UINT32_C(0x11D73205)}},
8356         {{UINT32_C(0xACB97F7C), UINT32_C(0x34B9C048), UINT32_C(0xE3B9BCC6),
8357           UINT32_C(0x8232E73C), UINT32_C(0xDA2DB71D), UINT32_C(0x81F4B63F),
8358           UINT32_C(0xA2DF4C84), UINT32_C(0x4EEE5393)},
8359          {UINT32_C(0xAC469C69), UINT32_C(0xCA6E63AE), UINT32_C(0x428E4F01),
8360           UINT32_C(0x27BC807C), UINT32_C(0x5F4EC124), UINT32_C(0x4A2C23BA),
8361           UINT32_C(0xAAE2668B), UINT32_C(0x74847CFC)}},
8362         {{UINT32_C(0x6716AF4E), UINT32_C(0x4435585F), UINT32_C(0x1CDB965F),
8363           UINT32_C(0xB872D8B7), UINT32_C(0x746FFAD0), UINT32_C(0x662F1962),
8364           UINT32_C(0xDB5D0187), UINT32_C(0x52761A24)},
8365          {UINT32_C(0xA57E0E3D), UINT32_C(0xF6A09922), UINT32_C(0xA9C12B63),
8366           UINT32_C(0x86C69342), UINT32_C(0x5AF190C5), UINT32_C(0x91FF20B6),
8367           UINT32_C(0x4EEEE1AE), UINT32_C(0x10DB7A2A)}},
8368         {{UINT32_C(0x74628B90), UINT32_C(0xBB464A53), UINT32_C(0x057A4F25),
8369           UINT32_C(0x6E7A1227), UINT32_C(0x0B0FA41F), UINT32_C(0x4C309D69),
8370           UINT32_C(0x77FE7B93), UINT32_C(0x75482607)},
8371          {UINT32_C(0x0B612421), UINT32_C(0xF2583EC7), UINT32_C(0x5E2B15ED),
8372           UINT32_C(0xFF2CFC83), UINT32_C(0x8CABC5CF), UINT32_C(0x1E97A7DB),
8373           UINT32_C(0x925C149F), UINT32_C(0x1EC08FAA)}},
8374         {{UINT32_C(0x0E9FCBA9), UINT32_C(0xBA0170E3), UINT32_C(0x70D9939B),
8375           UINT32_C(0x8976DF7C), UINT32_C(0x21AF14DD), UINT32_C(0xEAE6E74B),
8376           UINT32_C(0x0D0861F9), UINT32_C(0x09F09868)},
8377          {UINT32_C(0x21A781FF), UINT32_C(0x4F7FE26E), UINT32_C(0xD73DCEF7),
8378           UINT32_C(0x1725B8D0), UINT32_C(0x7E743498), UINT32_C(0x9DA63217),
8379           UINT32_C(0x1B828B99), UINT32_C(0x0F51D42C)}},
8380         {{UINT32_C(0x9AFE09BD), UINT32_C(0xBABB076B), UINT32_C(0x17C4050D),
8381           UINT32_C(0x4AC89223), UINT32_C(0xDA3E57E8), UINT32_C(0xCA3EA6E3),
8382           UINT32_C(0xA33242C0), UINT32_C(0x20AAA384)},
8383          {UINT32_C(0xEF929BF5), UINT32_C(0x6D3A1F2D), UINT32_C(0xE751A62D),
8384           UINT32_C(0xB34E2605), UINT32_C(0xB8CF1F99), UINT32_C(0xE1AC629F),
8385           UINT32_C(0xF0BBA01A), UINT32_C(0x7152D4E3)}},
8386         {{UINT32_C(0x943E5B8E), UINT32_C(0xA97A6CE3), UINT32_C(0x2D053A9D),
8387           UINT32_C(0x1C0F6C7F), UINT32_C(0x64457DE4), UINT32_C(0x9D4A91DE),
8388           UINT32_C(0xC6140057), UINT32_C(0x1E19EA8F)},
8389          {UINT32_C(0x500995C8), UINT32_C(0xD4766CB6), UINT32_C(0xE70CD7EE),
8390           UINT32_C(0xA019D41D), UINT32_C(0x7AB0A162), UINT32_C(0xBA1828AA),
8391           UINT32_C(0x0B7A4E93), UINT32_C(0x0CACA063)}},
8392         {{UINT32_C(0xA1B3FE03), UINT32_C(0x1E68315C), UINT32_C(0x1AAB6B20),
8393           UINT32_C(0x21FB277E), UINT32_C(0x6A90FB22), UINT32_C(0x210305D7),
8394           UINT32_C(0x2E51B9BC), UINT32_C(0x4C3D3EEA)},
8395          {UINT32_C(0x89C3A2E8), UINT32_C(0xC5662C6D), UINT32_C(0x1712BF9B),
8396           UINT32_C(0x66EA4818), UINT32_C(0x2254FBAB), UINT32_C(0x417F8F04),
8397           UINT32_C(0xB057EEC1), UINT32_C(0x2F57DF29)}},
8398         {{UINT32_C(0x6509AE4F), UINT32_C(0xF6975C9F), UINT32_C(0xDC89C220),
8399           UINT32_C(0x58300438), UINT32_C(0x907FF785), UINT32_C(0xE81DA879),
8400           UINT32_C(0x0910ED2F), UINT32_C(0x68D600E3)},
8401          {UINT32_C(0xB43BF686), UINT32_C(0xFBB25113), UINT32_C(0x50A64FAE),
8402           UINT32_C(0x8B391E3F), UINT32_C(0x3112B7ED), UINT32_C(0x8C1190D2),
8403           UINT32_C(0xCCB4CA50), UINT32_C(0x617BCD41)}},
8404         {{UINT32_C(0xDD780ACA), UINT32_C(0x75036E69), UINT32_C(0x6FBCD996),
8405           UINT32_C(0xC90A01DE), UINT32_C(0x0C851CEF), UINT32_C(0x75E1A8E8),
8406           UINT32_C(0xF71BDCC6), UINT32_C(0x7225D38A)},
8407          {UINT32_C(0x868B78D2), UINT32_C(0x74AE6935), UINT32_C(0x1CDB5A1E),
8408           UINT32_C(0xE70570F3), UINT32_C(0xBEBD2FA4), UINT32_C(0x3E700C48),
8409           UINT32_C(0x325D3214), UINT32_C(0x3E483638)}},
8410         {{UINT32_C(0xC0E6D8AD), UINT32_C(0x9F272CD5), UINT32_C(0xE09743A2),
8411           UINT32_C(0x9E29687C), UINT32_C(0x93CD64B3), UINT32_C(0xBE0E0D59),
8412           UINT32_C(0x504B58F0), UINT32_C(0x5D57A75D)},
8413          {UINT32_C(0x5D44B092), UINT32_C(0x81A1A6E3), UINT32_C(0x310D7868),
8414           UINT32_C(0x38AD0169), UINT32_C(0xCC297B73), UINT32_C(0xC8D3C9A6),
8415           UINT32_C(0x908E0814), UINT32_C(0x34D98A19)}},
8416         {{UINT32_C(0xE5A57E1F), UINT32_C(0xFFB946AD), UINT32_C(0x191B6C5F),
8417           UINT32_C(0xF7EA0AA2), UINT32_C(0x8DF529C1), UINT32_C(0x52D07058),
8418           UINT32_C(0x2AFDA727), UINT32_C(0x06B7BDE5)},
8419          {UINT32_C(0x90658555), UINT32_C(0x651E6DC9), UINT32_C(0x1FC416CE),
8420           UINT32_C(0x8F910D89), UINT32_C(0xCBF086D5), UINT32_C(0x0BA4D84E),
8421           UINT32_C(0x0C4A4B4A), UINT32_C(0x73DA158C)}},
8422         {{UINT32_C(0x521DB62C), UINT32_C(0xE22420A6), UINT32_C(0xBC90EB6F),
8423           UINT32_C(0x8EBC1A21), UINT32_C(0xE50F6EB4), UINT32_C(0xE1529AAC),
8424           UINT32_C(0x8BE235DB), UINT32_C(0x4025BF27)},
8425          {UINT32_C(0x9FFE2B82), UINT32_C(0x40607710), UINT32_C(0x696B4634),
8426           UINT32_C(0x7A6BB75B), UINT32_C(0x2B2F25D3), UINT32_C(0x0CEF27A9),
8427           UINT32_C(0xCA0B7112), UINT32_C(0x6C9CFFD7)}},
8428         {{UINT32_C(0xEDA5C43B), UINT32_C(0x12B39FF0), UINT32_C(0x54E0FE3F),
8429           UINT32_C(0x2E1FC66C), UINT32_C(0x248A9167), UINT32_C(0xFB2DEA80),
8430           UINT32_C(0x3B2BB322), UINT32_C(0x11BCDA10)},
8431          {UINT32_C(0x16D2C928), UINT32_C(0xFDDF6E84), UINT32_C(0x36E887F4),
8432           UINT32_C(0x99DDF6A1), UINT32_C(0x920092D6), UINT32_C(0x1E56D2F3),
8433           UINT32_C(0x2D77AE5A), UINT32_C(0x67433BF4)}},
8434     },
8435     {
8436         {{UINT32_C(0x321BFA62), UINT32_C(0x6C204DDC), UINT32_C(0x2F138A80),
8437           UINT32_C(0xA96E42B8), UINT32_C(0xE3EC1A7D), UINT32_C(0x4C98E986),
8438           UINT32_C(0x136CADC4), UINT32_C(0x223C8BC4)},
8439          {UINT32_C(0xBA3CE54A), UINT32_C(0xFA9F15D3), UINT32_C(0x19963D88),
8440           UINT32_C(0xA103B9D7), UINT32_C(0x2F811A21), UINT32_C(0x1ED23354),
8441           UINT32_C(0x65A4E833), UINT32_C(0x64D6B14C)}},
8442         {{UINT32_C(0xCFBD1039), UINT32_C(0x2485175C), UINT32_C(0x7C92D8EC),
8443           UINT32_C(0xC4DAE65B), UINT32_C(0x1859FD47), UINT32_C(0x6FC70F54),
8444           UINT32_C(0x33E8305C), UINT32_C(0x6D543444)},
8445          {UINT32_C(0x944DDA07), UINT32_C(0x1A65FEC2), UINT32_C(0xEF375B21),
8446           UINT32_C(0x7BCF8391), UINT32_C(0xBE4CD8D6), UINT32_C(0xDDCFC356),
8447           UINT32_C(0x13850042), UINT32_C(0x4BF93B9E)}},
8448         {{UINT32_C(0x88B7F950), UINT32_C(0xBDF7A56C), UINT32_C(0x81B8590E),
8449           UINT32_C(0x3A60E5FC), UINT32_C(0x6F6E6807), UINT32_C(0x475B94D1),
8450           UINT32_C(0x2F0D49A8), UINT32_C(0x2F1B9F06)},
8451          {UINT32_C(0x2E6A01D3), UINT32_C(0x3C36DCF3), UINT32_C(0x30444003),
8452           UINT32_C(0x807E1D5B), UINT32_C(0xFECF5768), UINT32_C(0xE3768486),
8453           UINT32_C(0xEF12B5CC), UINT32_C(0x73C4D0CF)}},
8454         {{UINT32_C(0xF4C6FF93), UINT32_C(0x9D76477C), UINT32_C(0xC5A1A495),
8455           UINT32_C(0x03F16687), UINT32_C(0xB41748B2), UINT32_C(0x5071DA3D),
8456           UINT32_C(0x971D6A7D), UINT32_C(0x0F3A3784)},
8457          {UINT32_C(0x2785A782), UINT32_C(0x0B9A5AD6), UINT32_C(0x09FF09F9),
8458           UINT32_C(0x957E72A0), UINT32_C(0xAE3CF5F4), UINT32_C(0x3072C1DC),
8459           UINT32_C(0xCD9CFD7E), UINT32_C(0x63D463AC)}},
8460         {{UINT32_C(0xC77B516C), UINT32_C(0xDA0DEE0B), UINT32_C(0xE6AA0E1F),
8461           UINT32_C(0x446D7199), UINT32_C(0xBFFA705C), UINT32_C(0xCC0D1590),
8462           UINT32_C(0xC35B59BA), UINT32_C(0x6A6FC81C)},
8463          {UINT32_C(0x593E3EB9), UINT32_C(0x39DF210E), UINT32_C(0xD0DCC01F),
8464           UINT32_C(0x17F331CE), UINT32_C(0xBD176C5B), UINT32_C(0x02E0E5EB),
8465           UINT32_C(0x8A2D6290), UINT32_C(0x68946CCC)}},
8466         {{UINT32_C(0x09ECFEF2), UINT32_C(0x8D1400D6), UINT32_C(0xE1E76A98),
8467           UINT32_C(0x57D5F91B), UINT32_C(0xA12DFF8D), UINT32_C(0x5CF76130),
8468           UINT32_C(0x61002939), UINT32_C(0x5C361922)},
8469          {UINT32_C(0xFB0FE974), UINT32_C(0x8D45C8C1), UINT32_C(0xF942ED70),
8470           UINT32_C(0x0C97725E), UINT32_C(0x73C5AA42), UINT32_C(0xB1C66498),
8471           UINT32_C(0x7E203187), UINT32_C(0x4A121FC4)}},
8472         {{UINT32_C(0xFCEDA76C), UINT32_C(0x58430EE3), UINT32_C(0xF5C88D62),
8473           UINT32_C(0x3496699A), UINT32_C(0x14273E7E), UINT32_C(0x1C3FC811),
8474           UINT32_C(0x1D6D67DA), UINT32_C(0x3E38E9FC)},
8475          {UINT32_C(0xAB685B3B), UINT32_C(0xBB683EA4), UINT32_C(0xB0904BB3),
8476           UINT32_C(0xB63F72B1), UINT32_C(0x47A75297), UINT32_C(0x5DFA23C5),
8477           UINT32_C(0x38B59560), UINT32_C(0x09E80AA0)}},
8478         {{UINT32_C(0x7F4D22FC), UINT32_C(0x7D8325C6), UINT32_C(0x8C2FA282),
8479           UINT32_C(0xBFFB01B1), UINT32_C(0x4A89BE98), UINT32_C(0x01A037DC),
8480           UINT32_C(0x84EA8C8A), UINT32_C(0x092F6525)},
8481          {UINT32_C(0xC52FD518), UINT32_C(0x873D33DA), UINT32_C(0x44AFDD41),
8482           UINT32_C(0x0A245B15), UINT32_C(0x98FA7FF5), UINT32_C(0x78993737),
8483           UINT32_C(0x21D29087), UINT32_C(0x1BB48AD2)}},
8484         {{UINT32_C(0x1A59313C), UINT32_C(0x00C97A99), UINT32_C(0x5CF9A6FF),
8485           UINT32_C(0xBD4F29EE), UINT32_C(0xD839B62B), UINT32_C(0xEA59D87A),
8486           UINT32_C(0x97CAB63C), UINT32_C(0x16F18F48)},
8487          {UINT32_C(0x6F6C292F), UINT32_C(0xB339789A), UINT32_C(0xD005ABB2),
8488           UINT32_C(0xEC52E644), UINT32_C(0xAE24DA46), UINT32_C(0xEEAC93C9),
8489           UINT32_C(0xE5C43B4F), UINT32_C(0x0ECB9957)}},
8490         {{UINT32_C(0x20561AF7), UINT32_C(0xD91B2202), UINT32_C(0x55F2CFB8),
8491           UINT32_C(0xECA260DD), UINT32_C(0x17B91CCF), UINT32_C(0xF03A8C1D),
8492           UINT32_C(0x64B35D9A), UINT32_C(0x55A0491F)},
8493          {UINT32_C(0x1A2F8F39), UINT32_C(0x0A97E5CC), UINT32_C(0x23B1D80B),
8494           UINT32_C(0x02C187D1), UINT32_C(0xDB9FBA1A), UINT32_C(0xA9C13D26),
8495           UINT32_C(0xF8051F0D), UINT32_C(0x7CCDDBAC)}},
8496         {{UINT32_C(0xED0E9DB8), UINT32_C(0x05CA8EA5), UINT32_C(0x53A8EA3F),
8497           UINT32_C(0xE888079F), UINT32_C(0x9209BFA2), UINT32_C(0x6DDBC40D),
8498           UINT32_C(0x80DCEAEA), UINT32_C(0x068E5BA9)},
8499          {UINT32_C(0xB19D824B), UINT32_C(0xDB69D133), UINT32_C(0xE6A3A462),
8500           UINT32_C(0x65154FB6), UINT32_C(0x020B2AC7), UINT32_C(0x9FCF733D),
8501           UINT32_C(0xE1329315), UINT32_C(0x15178DDE)}},
8502         {{UINT32_C(0x877EE476), UINT32_C(0x76F78865), UINT32_C(0x12B471BA),
8503           UINT32_C(0x5824EACC), UINT32_C(0xBBB640A8), UINT32_C(0x71BDFADF),
8504           UINT32_C(0x9A631D09), UINT32_C(0x5181B08F)},
8505          {UINT32_C(0xFFE978E8), UINT32_C(0x2913CCA5), UINT32_C(0xAEB89AA6),
8506           UINT32_C(0x9CEF3612), UINT32_C(0xE02AD6DC), UINT32_C(0x93BB373E),
8507           UINT32_C(0x04144769), UINT32_C(0x5D7984F0)}},
8508         {{UINT32_C(0x4F98D2C3), UINT32_C(0x3219DB07), UINT32_C(0xBD40ACCC),
8509           UINT32_C(0xE3EF888F), UINT32_C(0x31124C73), UINT32_C(0x07A30E3A),
8510           UINT32_C(0xB070C53F), UINT32_C(0x5D9C820B)},
8511          {UINT32_C(0xDA0661AB), UINT32_C(0x94D41768), UINT32_C(0x21FF87EB),
8512           UINT32_C(0x27FC2661), UINT32_C(0xFF17A977), UINT32_C(0xB8DCBC7F),
8513           UINT32_C(0x392EB13D), UINT32_C(0x71F75FF9)}},
8514         {{UINT32_C(0x9AD71AB0), UINT32_C(0xC5CED56C), UINT32_C(0x39D6C9F1),
8515           UINT32_C(0xE744EAB0), UINT32_C(0x839BD904), UINT32_C(0x6E49B00B),
8516           UINT32_C(0xD7003054), UINT32_C(0x0C0EDE2C)},
8517          {UINT32_C(0x1A6A1BB7), UINT32_C(0x792C3F80), UINT32_C(0x4B2C7885),
8518           UINT32_C(0x6E5093B1), UINT32_C(0x13EA65F7), UINT32_C(0x28873209),
8519           UINT32_C(0xF381C851), UINT32_C(0x085A2697)}},
8520         {{UINT32_C(0xDA60A255), UINT32_C(0x84FC6B9D), UINT32_C(0x4B495BC6),
8521           UINT32_C(0x12397EED), UINT32_C(0x71A5AA87), UINT32_C(0x4881DF6B),
8522           UINT32_C(0x9572CFE2), UINT32_C(0x57BB3259)},
8523          {UINT32_C(0x3A10A65F), UINT32_C(0x30677759), UINT32_C(0xDB1758DD),
8524           UINT32_C(0x670B82EC), UINT32_C(0xD57B513E), UINT32_C(0xD84F3E8F),
8525           UINT32_C(0x89088E78), UINT32_C(0x617A512A)}},
8526         {{UINT32_C(0xAE3D7707), UINT32_C(0x83971322), UINT32_C(0x6D34D0B4),
8527           UINT32_C(0x66563CDE), UINT32_C(0xC13309ED), UINT32_C(0x95342D9B),
8528           UINT32_C(0x082A5887), UINT32_C(0x62C2B1B6)},
8529          {UINT32_C(0xC3C27158), UINT32_C(0xD94A8712), UINT32_C(0xA844BF60),
8530           UINT32_C(0xDE2C9C9D), UINT32_C(0xCE3E4F3C), UINT32_C(0xDE897386),
8531           UINT32_C(0x6ACEBDF1), UINT32_C(0x2C22A82E)}},
8532     },
8533     {
8534         {{UINT32_C(0x0604E200), UINT32_C(0x2755028A), UINT32_C(0x44189101),
8535           UINT32_C(0xADE23A7D), UINT32_C(0xF0B7F9B7), UINT32_C(0xA6E418F4),
8536           UINT32_C(0x212EDC2A), UINT32_C(0x036F5503)},
8537          {UINT32_C(0x3F5E0456), UINT32_C(0xE069D06A), UINT32_C(0x0F37F2D8),
8538           UINT32_C(0x2FAFF7C8), UINT32_C(0x7F5EDE53), UINT32_C(0xFF08E879),
8539           UINT32_C(0x797E0427), UINT32_C(0x7F97725D)}},
8540         {{UINT32_C(0xB32E5B1B), UINT32_C(0xE44E39C1), UINT32_C(0xAD3EC706),
8541           UINT32_C(0x25CD4614), UINT32_C(0xE382C5D2), UINT32_C(0x2E97B090),
8542           UINT32_C(0xB00D79F2), UINT32_C(0x3E1A1F6B)},
8543          {UINT32_C(0xC2375837), UINT32_C(0x27573C4E), UINT32_C(0x6C8D5CCD),
8544           UINT32_C(0xAD53D2C8), UINT32_C(0xFC09725A), UINT32_C(0x94EE5460),
8545           UINT32_C(0x02DD0DF4), UINT32_C(0x6E592506)}},
8546         {{UINT32_C(0x3D0C7AC4), UINT32_C(0x6CFFA4BF), UINT32_C(0x69ED4317),
8547           UINT32_C(0x663B1218), UINT32_C(0xC79AD5C1), UINT32_C(0x933094F6),
8548           UINT32_C(0xFFC54767), UINT32_C(0x569F37ED)},
8549          {UINT32_C(0x1F338782), UINT32_C(0x954EEE0C), UINT32_C(0xA46CA276),
8550           UINT32_C(0x5BE69673), UINT32_C(0x20CB26DC), UINT32_C(0x77BA0009),
8551           UINT32_C(0x029316AE), UINT32_C(0x2211CAC3)}},
8552         {{UINT32_C(0x184EBD7C), UINT32_C(0xC8DEF3CB), UINT32_C(0x6A4DB0A0),
8553           UINT32_C(0x39337050), UINT32_C(0x0BE1D82C), UINT32_C(0x6FF7993A),
8554           UINT32_C(0xFC9252C0), UINT32_C(0x01D7674A)},
8555          {UINT32_C(0xF62D9268), UINT32_C(0xB10BA727), UINT32_C(0x817B687B),
8556           UINT32_C(0x6E2338D8), UINT32_C(0xE47405F1), UINT32_C(0x266443F2),
8557           UINT32_C(0x6872B879), UINT32_C(0x6A1BD9CE)}},
8558         {{UINT32_C(0x2B2BD346), UINT32_C(0x19213765), UINT32_C(0xE2ACFB8E),
8559           UINT32_C(0x962CA22C), UINT32_C(0x62FECDE1), UINT32_C(0x518CF45D),
8560           UINT32_C(0xA13D9E8D), UINT32_C(0x529AE629)},
8561          {UINT32_C(0xBB69D5E3), UINT32_C(0xAF796DB0), UINT32_C(0xD4E596B7),
8562           UINT32_C(0xA064209D), UINT32_C(0x47942C73), UINT32_C(0x9F3DFD4A),
8563           UINT32_C(0x7810D5EC), UINT32_C(0x7FAB6C6D)}},
8564         {{UINT32_C(0x66A3B287), UINT32_C(0x55D15250), UINT32_C(0xEEFDDC75),
8565           UINT32_C(0x1ECC6A20), UINT32_C(0x26DE8C01), UINT32_C(0xF683FA60),
8566           UINT32_C(0x9FBA658C), UINT32_C(0x4F5DE2A6)},
8567          {UINT32_C(0xC66D82F4), UINT32_C(0xE748D78A), UINT32_C(0x3B24C76B),
8568           UINT32_C(0x2BA525EF), UINT32_C(0x30EE69CE), UINT32_C(0x5A9539E6),
8569           UINT32_C(0xB7861B2D), UINT32_C(0x2DA4C4C2)}},
8570         {{UINT32_C(0x820743E6), UINT32_C(0x9D1E982D), UINT32_C(0xAB0CC42D),
8571           UINT32_C(0x705D9237), UINT32_C(0x47C4E7D7), UINT32_C(0xBDD01663),
8572           UINT32_C(0xF8E69896), UINT32_C(0x3D48EE78)},
8573          {UINT32_C(0x41132782), UINT32_C(0x7A822BCD), UINT32_C(0xEE46F715),
8574           UINT32_C(0xBD41BEFA), UINT32_C(0xD0B2F4B0), UINT32_C(0x8E5C3B5F),
8575           UINT32_C(0x5E47ED55), UINT32_C(0x690A53D4)}},
8576         {{UINT32_C(0x65A40E44), UINT32_C(0x390536C1), UINT32_C(0x1C92235C),
8577           UINT32_C(0x4B4D7970), UINT32_C(0x8B7389E4), UINT32_C(0xCAC27084),
8578           UINT32_C(0x19041D01), UINT32_C(0x7B5B23B2)},
8579          {UINT32_C(0x3B5FD5BA), UINT32_C(0x7C18B973), UINT32_C(0x84B72217),
8580           UINT32_C(0xFD14865D), UINT32_C(0x267EDE4C), UINT32_C(0x5592547E),
8581           UINT32_C(0x8B369753), UINT32_C(0x22DB62E5)}},
8582         {{UINT32_C(0xDDF15BDD), UINT32_C(0x06083D33), UINT32_C(0x361925F5),
8583           UINT32_C(0x5766555F), UINT32_C(0xB7ACDEA7), UINT32_C(0xECC0F110),
8584           UINT32_C(0x0A3453B5), UINT32_C(0x3E3F1B27)},
8585          {UINT32_C(0x6F7B980D), UINT32_C(0x5A8B7DF9), UINT32_C(0xB44756AC),
8586           UINT32_C(0xEBA90E39), UINT32_C(0xAC9A7DB2), UINT32_C(0x954D7ECD),
8587           UINT32_C(0x28EA7151), UINT32_C(0x43F688D3)}},
8588         {{UINT32_C(0x4638EFAE), UINT32_C(0x51F64569), UINT32_C(0x3D28BF3C),
8589           UINT32_C(0x5840A5DB), UINT32_C(0x134D3E8F), UINT32_C(0xDD486261),
8590           UINT32_C(0x7B6B466B), UINT32_C(0x09F17E2C)},
8591          {UINT32_C(0x78ED7016), UINT32_C(0x30D35463), UINT32_C(0xB86D8508),
8592           UINT32_C(0x342E9701), UINT32_C(0x42B19533), UINT32_C(0xA3FF6565),
8593           UINT32_C(0x061A4A81), UINT32_C(0x4405F02C)}},
8594         {{UINT32_C(0x3D3AAF1E), UINT32_C(0x15C921C0), UINT32_C(0x7D297559),
8595           UINT32_C(0x2DD720C7), UINT32_C(0xCB80E3B2), UINT32_C(0x93A07904),
8596           UINT32_C(0x6B1EDB93), UINT32_C(0x427C610B)},
8597          {UINT32_C(0xF61E2F41), UINT32_C(0xD2CE818F), UINT32_C(0x8252FB3C),
8598           UINT32_C(0x1DA53421), UINT32_C(0xED07538F), UINT32_C(0x37A4A997),
8599           UINT32_C(0x962454F2), UINT32_C(0x48A928BF)}},
8600         {{UINT32_C(0x7A420273), UINT32_C(0x65091E4D), UINT32_C(0xE54C0B47),
8601           UINT32_C(0x6AF382AF), UINT32_C(0x8047A423), UINT32_C(0x150DAB08),
8602           UINT32_C(0x45BD197C), UINT32_C(0x22C3740A)},
8603          {UINT32_C(0xE07C3468), UINT32_C(0x64429AA0), UINT32_C(0x7B37FE10),
8604           UINT32_C(0xC506B8C9), UINT32_C(0x3CC5062C), UINT32_C(0x30E2FE78),
8605           UINT32_C(0xA9242F2D), UINT32_C(0x2F3B5A5F)}},
8606         {{UINT32_C(0x5A40BCA1), UINT32_C(0x2619A3B2), UINT32_C(0x118C2FEA),
8607           UINT32_C(0xD012DF23), UINT32_C(0xB73FE15C), UINT32_C(0x2868C8B7),
8608           UINT32_C(0xEB10B475), UINT32_C(0x45A9CC5A)},
8609          {UINT32_C(0x069050AD), UINT32_C(0x7111AB75), UINT32_C(0xEC2398A9),
8610           UINT32_C(0x0665182B), UINT32_C(0x9B86A240), UINT32_C(0xD9A5126E),
8611           UINT32_C(0x40E2AED6), UINT32_C(0x601CF0E0)}},
8612         {{UINT32_C(0xF48C8655), UINT32_C(0xE74C9DCD), UINT32_C(0x900E89D5),
8613           UINT32_C(0xEE703CA8), UINT32_C(0x5390F052), UINT32_C(0x6C2DFF8B),
8614           UINT32_C(0x1316CC4C), UINT32_C(0x08588E89)},
8615          {UINT32_C(0x47E80C87), UINT32_C(0x0F2CC83A), UINT32_C(0xD87824E4),
8616           UINT32_C(0x23DE34CF), UINT32_C(0x541FE8F9), UINT32_C(0xC530AF41),
8617           UINT32_C(0xD142F1C0), UINT32_C(0x0BF01DC0)}},
8618         {{UINT32_C(0x886C0C4A), UINT32_C(0x210B0B1E), UINT32_C(0x9C56A126),
8619           UINT32_C(0x66369DF1), UINT32_C(0xEAC22A5E), UINT32_C(0x5D79AE81),
8620           UINT32_C(0xD16F7DB6), UINT32_C(0x4E6C67D4)},
8621          {UINT32_C(0x247CDE60), UINT32_C(0x274572F6), UINT32_C(0x54E8454B),
8622           UINT32_C(0xF3C92AC7), UINT32_C(0xF08C32D1), UINT32_C(0x784EC1A1),
8623           UINT32_C(0xE1FE9C4E), UINT32_C(0x222716D8)}},
8624         {{UINT32_C(0x3FB1DB1E), UINT32_C(0xAF6AEF5D), UINT32_C(0xC4C2A4D8),
8625           UINT32_C(0xB8B55842), UINT32_C(0xCA5AB578), UINT32_C(0x258A2F44),
8626           UINT32_C(0x7D8B2D70), UINT32_C(0x558A803F)},
8627          {UINT32_C(0x7E0247A3), UINT32_C(0x9A7345C3), UINT32_C(0xB4D920B1),
8628           UINT32_C(0x4E5A6904), UINT32_C(0x76BCBBE1), UINT32_C(0xCF7FAA41),
8629           UINT32_C(0xEE112271), UINT32_C(0x66CF993F)}},
8630     },
8631     {
8632         {{UINT32_C(0x84D2C56B), UINT32_C(0xDE7D208F), UINT32_C(0xDDA20F33),
8633           UINT32_C(0xD1C77403), UINT32_C(0x9A6F337A), UINT32_C(0xB73FDC09),
8634           UINT32_C(0x40CD2CBD), UINT32_C(0x1B2A3807)},
8635          {UINT32_C(0x65988D73), UINT32_C(0xB642FA2C), UINT32_C(0x059DAB8E),
8636           UINT32_C(0x117E75BC), UINT32_C(0xD6B279AA), UINT32_C(0xC7E2E935),
8637           UINT32_C(0xEEA2A445), UINT32_C(0x5EEB9654)}},
8638         {{UINT32_C(0xA59D7A2A), UINT32_C(0xA84747C0), UINT32_C(0x1004C5B8),
8639           UINT32_C(0x4478AD4A), UINT32_C(0xA22DE791), UINT32_C(0xF55C2B1B),
8640           UINT32_C(0x23F8F89F), UINT32_C(0x2FF6097D)},
8641          {UINT32_C(0xE117BC40), UINT32_C(0xD079C875), UINT32_C(0x03CB43DD),
8642           UINT32_C(0x14AEA360), UINT32_C(0x0A20D653), UINT32_C(0x8C730D89),
8643           UINT32_C(0x02FD02D8), UINT32_C(0x6956274A)}},
8644         {{UINT32_C(0xD46293CF), UINT32_C(0x9F5D0E9D), UINT32_C(0xF0D93AB7),
8645           UINT32_C(0x53748DD4), UINT32_C(0xB9C37CF0), UINT32_C(0x6F81339F),
8646           UINT32_C(0xF4B041FC), UINT32_C(0x00B8677A)},
8647          {UINT32_C(0xB5A6FE97), UINT32_C(0xF76E0FFE), UINT32_C(0xF7D198A2),
8648           UINT32_C(0x6D3C71F5), UINT32_C(0x11420372), UINT32_C(0xF91E8408),
8649           UINT32_C(0x70036AED), UINT32_C(0x36F9F354)}},
8650         {{UINT32_C(0x5D446956), UINT32_C(0x503AF4F2), UINT32_C(0x2DC9777C),
8651           UINT32_C(0xCA08C537), UINT32_C(0xE1308D3A), UINT32_C(0xDB4BA888),
8652           UINT32_C(0x01DB98CB), UINT32_C(0x01EA28EA)},
8653          {UINT32_C(0xA7DF5FE0), UINT32_C(0x27CC52A9), UINT32_C(0x7DE31E0A),
8654           UINT32_C(0x7DA5186B), UINT32_C(0xF136FAD5), UINT32_C(0x63E32889),
8655           UINT32_C(0xA363AF23), UINT32_C(0x1BB010A8)}},
8656         {{UINT32_C(0xC0FE56C9), UINT32_C(0x65828B54), UINT32_C(0x4ED3935A),
8657           UINT32_C(0x7322CD51), UINT32_C(0x37B4A727), UINT32_C(0x42F068F4),
8658           UINT32_C(0xB4C02BE4), UINT32_C(0x7AA9F9F0)},
8659          {UINT32_C(0xDEBB2DD4), UINT32_C(0xBB77851A), UINT32_C(0xD105B81F),
8660           UINT32_C(0x7757D5F6), UINT32_C(0x52FA1512), UINT32_C(0x7805369C),
8661           UINT32_C(0x38B6976A), UINT32_C(0x4CBC43AE)}},
8662         {{UINT32_C(0x4096725B), UINT32_C(0x24FE8ABD), UINT32_C(0x3895D1E2),
8663           UINT32_C(0xC3FAC73A), UINT32_C(0x006A2360), UINT32_C(0xBCAF7757),
8664           UINT32_C(0xC03EBB33), UINT32_C(0x75AE96AD)},
8665          {UINT32_C(0x0BD1FB6F), UINT32_C(0x31074478), UINT32_C(0xEA386CBE),
8666           UINT32_C(0x729E8E6A), UINT32_C(0x4845AAEC), UINT32_C(0xA8BBCC0B),
8667           UINT32_C(0xE6582656), UINT32_C(0x1A0A2D19)}},
8668         {{UINT32_C(0x69BD55F7), UINT32_C(0x332BC9BD), UINT32_C(0xEFB6F780),
8669           UINT32_C(0x93D987E2), UINT32_C(0x14381F4D), UINT32_C(0xE57DE096),
8670           UINT32_C(0xFF01C4D9), UINT32_C(0x7BDF4217)},
8671          {UINT32_C(0x1956BF02), UINT32_C(0x2A07C4AB), UINT32_C(0x553823D9),
8672           UINT32_C(0x7C7B3684), UINT32_C(0xD40F600C), UINT32_C(0x8F750E8E),
8673           UINT32_C(0x9693A3C3), UINT32_C(0x63F253E9)}},
8674         {{UINT32_C(0xC62CE42B), UINT32_C(0x250ED8BF), UINT32_C(0xE70674E1),
8675           UINT32_C(0xE8A1A295), UINT32_C(0x163A92F1), UINT32_C(0x05ED093D),
8676           UINT32_C(0x628969A0), UINT32_C(0x515FF44B)},
8677          {UINT32_C(0x41CE3AF8), UINT32_C(0xF617DF03), UINT32_C(0xF9E60202),
8678           UINT32_C(0xCADE131A), UINT32_C(0x363B87E9), UINT32_C(0xFE83C379),
8679           UINT32_C(0x493EF65F), UINT32_C(0x7196A80B)}},
8680         {{UINT32_C(0xD7A2047B), UINT32_C(0x4B176FE6), UINT32_C(0x41DCA514),
8681           UINT32_C(0x6981D182), UINT32_C(0xDC74AC2E), UINT32_C(0xDDC7EE8E),
8682           UINT32_C(0x85CC07D1), UINT32_C(0x3A95A203)},
8683          {UINT32_C(0x841E3200), UINT32_C(0x8D4BA2D8), UINT32_C(0x5F654197),
8684           UINT32_C(0x837DDD9B), UINT32_C(0xFBFE4D06), UINT32_C(0x388D358E),
8685           UINT32_C(0x61143A85), UINT32_C(0x562DE2F2)}},
8686         {{UINT32_C(0xCFACB903), UINT32_C(0x3BA1F6E5), UINT32_C(0xBD97A3A2),
8687           UINT32_C(0xB5BBA41F), UINT32_C(0xCFCF2547), UINT32_C(0xB86F117F),
8688           UINT32_C(0x3D9A13DB), UINT32_C(0x50642859)},
8689          {UINT32_C(0x7B5F2A8F), UINT32_C(0xC15C82AE), UINT32_C(0xEF89351E),
8690           UINT32_C(0x47E772DD), UINT32_C(0xCAAC4CC7), UINT32_C(0x78C53901),
8691           UINT32_C(0x68D72131), UINT32_C(0x6B0F5D30)}},
8692         {{UINT32_C(0xA0B407E6), UINT32_C(0x47E17734), UINT32_C(0x34949A81),
8693           UINT32_C(0x29E06830), UINT32_C(0xCB1AC772), UINT32_C(0x63D83340),
8694           UINT32_C(0xEB84F909), UINT32_C(0x178A6DD6)},
8695          {UINT32_C(0x3C27D7BA), UINT32_C(0xA9E94826), UINT32_C(0xDB027A4C),
8696           UINT32_C(0xC86AF96D), UINT32_C(0x56D5DF86), UINT32_C(0xE7D04E34),
8697           UINT32_C(0x2E8D0EE3), UINT32_C(0x7212EAC2)}},
8698         {{UINT32_C(0x8A75F66B), UINT32_C(0xE7E5AA64), UINT32_C(0x8CFD9597),
8699           UINT32_C(0x7E86B6AA), UINT32_C(0x834C0271), UINT32_C(0x1B7DDE0C),
8700           UINT32_C(0xD4AD306F), UINT32_C(0x397EAF2A)},
8701          {UINT32_C(0x1657E32B), UINT32_C(0x0A357906), UINT32_C(0x4957B3AF),
8702           UINT32_C(0xAAEB2DCF), UINT32_C(0x69D3CEE9), UINT32_C(0x1C0CBD02),
8703           UINT32_C(0x5A6E7D53), UINT32_C(0x7434EC32)}},
8704         {{UINT32_C(0x85559E86), UINT32_C(0xEB5878F7), UINT32_C(0x4A09C168),
8705           UINT32_C(0xB9555F70), UINT32_C(0x80501134), UINT32_C(0xBFFAC5DB),
8706           UINT32_C(0x05B53160), UINT32_C(0x4CDBF53A)},
8707          {UINT32_C(0x5F90344B), UINT32_C(0x1413BA29), UINT32_C(0xD0DD0CFD),
8708           UINT32_C(0xC6A9D1ED), UINT32_C(0xA0C31B73), UINT32_C(0x8C56AA29),
8709           UINT32_C(0xF4E58E08), UINT32_C(0x1C9B0B61)}},
8710         {{UINT32_C(0x0E2F595A), UINT32_C(0xBF8D2237), UINT32_C(0xCBA13CD8),
8711           UINT32_C(0x7A646816), UINT32_C(0x5CD728B6), UINT32_C(0xBD2E93A1),
8712           UINT32_C(0x07CF9009), UINT32_C(0x30FDF85C)},
8713          {UINT32_C(0x06122B98), UINT32_C(0x3496D949), UINT32_C(0x5A80B3AF),
8714           UINT32_C(0xE63EC741), UINT32_C(0x82838A44), UINT32_C(0xA2A39CF7),
8715           UINT32_C(0xC015E1D4), UINT32_C(0x4A064F99)}},
8716         {{UINT32_C(0x456CB242), UINT32_C(0x9CCDF95B), UINT32_C(0x6F4517DC),
8717           UINT32_C(0xDA1CB24E), UINT32_C(0x931A1115), UINT32_C(0x60450E0F),
8718           UINT32_C(0xB5680A8D), UINT32_C(0x6780D774)},
8719          {UINT32_C(0x1FDA4243), UINT32_C(0xAFE48DCD), UINT32_C(0xAE9733C7),
8720           UINT32_C(0x6BDD541C), UINT32_C(0xD79D1D52), UINT32_C(0xCBBCC69C),
8721           UINT32_C(0x1A513B3E), UINT32_C(0x334F4F67)}},
8722         {{UINT32_C(0xDF49E1A0), UINT32_C(0xCE7712C4), UINT32_C(0xE0B96135),
8723           UINT32_C(0xB5444862), UINT32_C(0xF050D010), UINT32_C(0x10564C4B),
8724           UINT32_C(0xFEBEFCC8), UINT32_C(0x0531AEC8)},
8725          {UINT32_C(0x70DF6D29), UINT32_C(0xD45B4BE7), UINT32_C(0x6829054E),
8726           UINT32_C(0x1ACC2D70), UINT32_C(0x54E56E05), UINT32_C(0x9744CDE1),
8727           UINT32_C(0x6EE02696), UINT32_C(0x3C5DE93E)}},
8728     },
8729     {
8730         {{UINT32_C(0x3951B674), UINT32_C(0xF43A2B99), UINT32_C(0x5E72FC98),
8731           UINT32_C(0xE82789E8), UINT32_C(0x86992601), UINT32_C(0x2AD48436),
8732           UINT32_C(0x01A2B65A), UINT32_C(0x3FDEB172)},
8733          {UINT32_C(0x3666322B), UINT32_C(0x926B4839), UINT32_C(0x44B3FDB7),
8734           UINT32_C(0x68847D5C), UINT32_C(0xF2F5E247), UINT32_C(0xD06C450D),
8735           UINT32_C(0xBBA7C892), UINT32_C(0x0CEC0646)}},
8736         {{UINT32_C(0x61F9C9DA), UINT32_C(0x76446D26), UINT32_C(0xAC60376F),
8737           UINT32_C(0xEF2C7B98), UINT32_C(0x2410C057), UINT32_C(0xEEA8CABE),
8738           UINT32_C(0x3672A2B6), UINT32_C(0x4C2CE2A7)},
8739          {UINT32_C(0x12879BA5), UINT32_C(0x3F770945), UINT32_C(0xAD913022),
8740           UINT32_C(0x719D5BD0), UINT32_C(0x36D445A4), UINT32_C(0x28A82DD9),
8741           UINT32_C(0x965965AA), UINT32_C(0x26382C23)}},
8742         {{UINT32_C(0xB8AA8419), UINT32_C(0x66709D92), UINT32_C(0x0AB5C241),
8743           UINT32_C(0xFAEFF2E4), UINT32_C(0x1DD46DEB), UINT32_C(0xABB7C5DD),
8744           UINT32_C(0x39DB6CB5), UINT32_C(0x7DD03C33)},
8745          {UINT32_C(0x9E160F01), UINT32_C(0x76CDD1EA), UINT32_C(0x81C5CA37),
8746           UINT32_C(0x00598D56), UINT32_C(0x241772EC), UINT32_C(0x16D23B04),
8747           UINT32_C(0x52A6B807), UINT32_C(0x5132B028)}},
8748         {{UINT32_C(0xCC041445), UINT32_C(0x6D48D4B5), UINT32_C(0x1528DF63),
8749           UINT32_C(0x0B1CD923), UINT32_C(0x4A815F60), UINT32_C(0x82EE4DC6),
8750           UINT32_C(0x0451E242), UINT32_C(0x29DA6059)},
8751          {UINT32_C(0x17A8A6D0), UINT32_C(0xCD90BFB0), UINT32_C(0x52A7FC3D),
8752           UINT32_C(0x8BCF4392), UINT32_C(0x1974860C), UINT32_C(0x49AD55F2),
8753           UINT32_C(0x5EDCB1D2), UINT32_C(0x20BBF010)}},
8754         {{UINT32_C(0xA8F6C08C), UINT32_C(0xB4F0EA84), UINT32_C(0xD50164F3),
8755           UINT32_C(0x4341BEA7), UINT32_C(0x06320C0F), UINT32_C(0xE5389019),
8756           UINT32_C(0x8BA6F033), UINT32_C(0x69D4851A)},
8757          {UINT32_C(0x77902045), UINT32_C(0x1CE58660), UINT32_C(0xBD8579B3),
8758           UINT32_C(0xF3B88D85), UINT32_C(0x4FB0A17B), UINT32_C(0xF84FF63A),
8759           UINT32_C(0xDE6581BF), UINT32_C(0x09EE62EE)}},
8760         {{UINT32_C(0x7C0516DE), UINT32_C(0x8B8C15B5), UINT32_C(0xA530B89F),
8761           UINT32_C(0x3B448FC3), UINT32_C(0x500B0251), UINT32_C(0xE385BBE5),
8762           UINT32_C(0xED70804B), UINT32_C(0x5F643F85)},
8763          {UINT32_C(0x239E85A5), UINT32_C(0x550D9B7D), UINT32_C(0x8666E41F),
8764           UINT32_C(0xDC910B5B), UINT32_C(0x7D4E390F), UINT32_C(0x65522181),
8765           UINT32_C(0x3162FE10), UINT32_C(0x5DD2D3E8)}},
8766         {{UINT32_C(0xDF024A25), UINT32_C(0x59609390), UINT32_C(0x08CCBA91),
8767           UINT32_C(0xE66A77E9), UINT32_C(0x65E24DB6), UINT32_C(0xC5CEA91A),
8768           UINT32_C(0x3DCEA0A7), UINT32_C(0x0888DFB5)},
8769          {UINT32_C(0x92FA0754), UINT32_C(0x8C8E58CC), UINT32_C(0xF7DC9538),
8770           UINT32_C(0x99C259AB), UINT32_C(0x9BEFE750), UINT32_C(0x3A06D8ED),
8771           UINT32_C(0xFAACDC97), UINT32_C(0x71AF22E1)}},
8772         {{UINT32_C(0x250AC059), UINT32_C(0xCC41D094), UINT32_C(0x3BE3DA01),
8773           UINT32_C(0xCD792A73), UINT32_C(0xCC61EFE1), UINT32_C(0x2DA07802),
8774           UINT32_C(0x57053A5D), UINT32_C(0x293AFB08)},
8775          {UINT32_C(0x2FD8A8A0), UINT32_C(0x3E7E4884), UINT32_C(0x0B9B48D3),
8776           UINT32_C(0x183FA500), UINT32_C(0x431AACF6), UINT32_C(0x9CAC07BE),
8777           UINT32_C(0x2DF89F10), UINT32_C(0x4F82D799)}},
8778         {{UINT32_C(0x0A84935C), UINT32_C(0xFD9F61A8), UINT32_C(0xBB5A7E56),
8779           UINT32_C(0x78B948D0), UINT32_C(0x0ACCEEB3), UINT32_C(0xDA478766),
8780           UINT32_C(0x53C3851D), UINT32_C(0x47BDAE44)},
8781          {UINT32_C(0x0CFE8D0D), UINT32_C(0x5AE2C60C), UINT32_C(0x1D8A79C9),
8782           UINT32_C(0xAC8F79B3), UINT32_C(0x0A79CA31), UINT32_C(0xA958C15E),
8783           UINT32_C(0xF0952018), UINT32_C(0x1C46E20E)}},
8784         {{UINT32_C(0xF04AC529), UINT32_C(0xAE552ECE), UINT32_C(0xE2BFEFBC),
8785           UINT32_C(0xB295B601), UINT32_C(0x54733412), UINT32_C(0xECC1EE55),
8786           UINT32_C(0x12282094), UINT32_C(0x28BCBA53)},
8787          {UINT32_C(0x50B25069), UINT32_C(0x306C0781), UINT32_C(0xE9A18FFE),
8788           UINT32_C(0x10D5D23C), UINT32_C(0x1BD5489F), UINT32_C(0xC34FC5C7),
8789           UINT32_C(0xE191867D), UINT32_C(0x2B610028)}},
8790         {{UINT32_C(0x3E17E84D), UINT32_C(0x458A1CC1), UINT32_C(0x5D7CFB98),
8791           UINT32_C(0x6EAE343D), UINT32_C(0x101F0B7E), UINT32_C(0xC6E0FDAA),
8792           UINT32_C(0x2A023288), UINT32_C(0x0B9F7C2C)},
8793          {UINT32_C(0x6F3FCAA0), UINT32_C(0xBEA893A8), UINT32_C(0x452B07C0),
8794           UINT32_C(0x7D711B2B), UINT32_C(0x98E2C88D), UINT32_C(0x28958737),
8795           UINT32_C(0xDFD99A2A), UINT32_C(0x553A0180)}},
8796         {{UINT32_C(0x0DBA5986), UINT32_C(0x8D617BE8), UINT32_C(0x13D18594),
8797           UINT32_C(0xDB763C14), UINT32_C(0xD2DAD82F), UINT32_C(0x822CB0DA),
8798           UINT32_C(0x93239947), UINT32_C(0x37ACD99F)},
8799          {UINT32_C(0xCDC08BE6), UINT32_C(0x6A2A7070), UINT32_C(0xCF6D63FF),
8800           UINT32_C(0x86B3B66A), UINT32_C(0x0F7D4A67), UINT32_C(0x5BEFF3FB),
8801           UINT32_C(0xEBC94AE5), UINT32_C(0x05C25557)}},
8802         {{UINT32_C(0x89183418), UINT32_C(0x5D1DC087), UINT32_C(0x6EA5A960),
8803           UINT32_C(0xA25C7AE2), UINT32_C(0xD31F3AAE), UINT32_C(0x074698B9),
8804           UINT32_C(0x221788A4), UINT32_C(0x5A5B510B)},
8805          {UINT32_C(0x1DCE95FE), UINT32_C(0x896A8787), UINT32_C(0x7F24020C),
8806           UINT32_C(0x89E7B93D), UINT32_C(0x865B4334), UINT32_C(0xFC19BF42),
8807           UINT32_C(0x5B78B06D), UINT32_C(0x0389FBF7)}},
8808         {{UINT32_C(0x0BB3A3E2), UINT32_C(0x73B6DA7B), UINT32_C(0x44D56755),
8809           UINT32_C(0xDBC12670), UINT32_C(0x7CC1C589), UINT32_C(0x7AF2DE28),
8810           UINT32_C(0x697CB6B7), UINT32_C(0x7E248FCB)},
8811          {UINT32_C(0xC64202C0), UINT32_C(0x9410EC06), UINT32_C(0x75EB3A8C),
8812           UINT32_C(0x79C82158), UINT32_C(0xE95C5EA9), UINT32_C(0x74FDD2F6),
8813           UINT32_C(0x1CCA72C7), UINT32_C(0x2A40B5B5)}},
8814         {{UINT32_C(0x5C29E320), UINT32_C(0x56984223), UINT32_C(0xE871D9E2),
8815           UINT32_C(0x8266392A), UINT32_C(0x7B391763), UINT32_C(0x9D86C6C7),
8816           UINT32_C(0x02543C9E), UINT32_C(0x5E9E61E2)},
8817          {UINT32_C(0xD2501D1A), UINT32_C(0xD62A9334), UINT32_C(0x9211135D),
8818           UINT32_C(0x9D19F54D), UINT32_C(0x8FE81272), UINT32_C(0x66D0B961),
8819           UINT32_C(0xD09C2033), UINT32_C(0x6E64635A)}},
8820         {{UINT32_C(0x06F84E11), UINT32_C(0x93BD0AD8), UINT32_C(0x131AFDBF),
8821           UINT32_C(0x45F18F2B), UINT32_C(0x6058EB37), UINT32_C(0x881F053F),
8822           UINT32_C(0x948AD0D5), UINT32_C(0x36B8D656)},
8823          {UINT32_C(0xE1934E38), UINT32_C(0x53DC2E02), UINT32_C(0xC0435B6C),
8824           UINT32_C(0xA8AD5055), UINT32_C(0x4BD7154F), UINT32_C(0x0DF7BD11),
8825           UINT32_C(0x73BC98FC), UINT32_C(0x6350B05E)}},
8826     },
8827     {
8828         {{UINT32_C(0x04BF927A), UINT32_C(0x12AC5496), UINT32_C(0xE749323E),
8829           UINT32_C(0x9BB322DB), UINT32_C(0xF6D99AD6), UINT32_C(0xC10C666D),
8830           UINT32_C(0x4C883E0A), UINT32_C(0x0FDF8FB3)},
8831          {UINT32_C(0x665272E8), UINT32_C(0x10667F92), UINT32_C(0x5BF8702F),
8832           UINT32_C(0xA30D4CE1), UINT32_C(0xA2D6033D), UINT32_C(0x56314B47),
8833           UINT32_C(0xDAC1A10E), UINT32_C(0x09EC90D9)}},
8834         {{UINT32_C(0xC9EB81D1), UINT32_C(0x364F06DD), UINT32_C(0x4DC5CB76),
8835           UINT32_C(0xFD181A56), UINT32_C(0xE264567C), UINT32_C(0x91CF010C),
8836           UINT32_C(0xA05C02FC), UINT32_C(0x71D9A95B)},
8837          {UINT32_C(0x53967407), UINT32_C(0xAB5AFBA6), UINT32_C(0x9B0AA089),
8838           UINT32_C(0x3FC77913), UINT32_C(0xAF29EF02), UINT32_C(0xDF1D4912),
8839           UINT32_C(0x5796A0A5), UINT32_C(0x01C3D61C)}},
8840         {{UINT32_C(0xB376E8DE), UINT32_C(0x11503A1C), UINT32_C(0xB8B98321),
8841           UINT32_C(0x5CB17D6D), UINT32_C(0xBD8FE9C2), UINT32_C(0x96C9D585),
8842           UINT32_C(0xD117171D), UINT32_C(0x048C8DA7)},
8843          {UINT32_C(0xB582282A), UINT32_C(0xDF7FABB8), UINT32_C(0x24FD6BB7),
8844           UINT32_C(0x75C2A937), UINT32_C(0x00633701), UINT32_C(0xDF0DBD32),
8845           UINT32_C(0x039B3E72), UINT32_C(0x04FB7AEC)}},
8846         {{UINT32_C(0x0E20C09A), UINT32_C(0xE60CCE96), UINT32_C(0x116E1C38),
8847           UINT32_C(0xAD295B31), UINT32_C(0xC04477D0), UINT32_C(0xCA6B625D),
8848           UINT32_C(0xFFA32E36), UINT32_C(0x032FE03B)},
8849          {UINT32_C(0xE2AAABC6), UINT32_C(0x46334FEE), UINT32_C(0xDA1C6871),
8850           UINT32_C(0x9808B03C), UINT32_C(0xF934A482), UINT32_C(0x76D0E3AA),
8851           UINT32_C(0xF9CB8F97), UINT32_C(0x2B0BF54A)}},
8852         {{UINT32_C(0x2CA29D02), UINT32_C(0xB5D52717), UINT32_C(0xDBEACF03),
8853           UINT32_C(0xF9DAEAFB), UINT32_C(0x113A3811), UINT32_C(0x3786E64B),
8854           UINT32_C(0x5C30569D), UINT32_C(0x6A01A1A5)},
8855          {UINT32_C(0xBA1C28B6), UINT32_C(0x0A91E160), UINT32_C(0x929D3F05),
8856           UINT32_C(0x5BFA32BA), UINT32_C(0x40C51084), UINT32_C(0x1108F875),
8857           UINT32_C(0x42FD5AE1), UINT32_C(0x37FD2383)}},
8858         {{UINT32_C(0x2A79BFB8), UINT32_C(0xABF14EDE), UINT32_C(0xAA34300C),
8859           UINT32_C(0x08B34155), UINT32_C(0x64077041), UINT32_C(0x85C0DFA0),
8860           UINT32_C(0xF542D447), UINT32_C(0x3AE5D28D)},
8861          {UINT32_C(0xB74DC4FB), UINT32_C(0xC303A0FE), UINT32_C(0x556E0B87),
8862           UINT32_C(0xB75292FA), UINT32_C(0x51BDC64C), UINT32_C(0x785628B0),
8863           UINT32_C(0x13C579F6), UINT32_C(0x43FE786E)}},
8864         {{UINT32_C(0x5F08790F), UINT32_C(0xBC5898CB), UINT32_C(0x125644EC),
8865           UINT32_C(0xA298A59A), UINT32_C(0xB048217A), UINT32_C(0xD2D9627B),
8866           UINT32_C(0x7B1F23F7), UINT32_C(0x6DCEEF32)},
8867          {UINT32_C(0xFA7B9C6A), UINT32_C(0x7F02FC44), UINT32_C(0x73597BF7),
8868           UINT32_C(0x90C64960), UINT32_C(0x2CB0B3A2), UINT32_C(0x5DD7E4F4),
8869           UINT32_C(0x43E83553), UINT32_C(0x5EC5F92C)}},
8870         {{UINT32_C(0x59E2C8E9), UINT32_C(0xC06B4D49), UINT32_C(0x1DF8AD8B),
8871           UINT32_C(0x7DBC8218), UINT32_C(0xDAE8B6D7), UINT32_C(0x35570120),
8872           UINT32_C(0x0CDE2691), UINT32_C(0x4222A1BA)},
8873          {UINT32_C(0xC1693046), UINT32_C(0xD2F1EFA6), UINT32_C(0x7D36D9CD),
8874           UINT32_C(0x2707228D), UINT32_C(0x062D499C), UINT32_C(0xD668EE25),
8875           UINT32_C(0xCE2621A0), UINT32_C(0x7AC81BDF)}},
8876         {{UINT32_C(0x16F6A215), UINT32_C(0x3A9F04BB), UINT32_C(0x89E5494E),
8877           UINT32_C(0x739BB2BC), UINT32_C(0xD1CEB043), UINT32_C(0xCB8DBAE8),
8878           UINT32_C(0x09A6B465), UINT32_C(0x6B177DF0)},
8879          {UINT32_C(0x1A529744), UINT32_C(0xB7C4980E), UINT32_C(0x0E9012B5),
8880           UINT32_C(0x3941B997), UINT32_C(0x04C6D677), UINT32_C(0xDF317B95),
8881           UINT32_C(0x829F51D6), UINT32_C(0x17898D81)}},
8882         {{UINT32_C(0xA12282BA), UINT32_C(0x3D48FD66), UINT32_C(0x899E5A1A),
8883           UINT32_C(0xB775465B), UINT32_C(0x55D95C35), UINT32_C(0xDE0CCB99),
8884           UINT32_C(0x950AB9DF), UINT32_C(0x4CB3CCDD)},
8885          {UINT32_C(0x175C4CAE), UINT32_C(0x0B4ABA02), UINT32_C(0xCF86187C),
8886           UINT32_C(0x2DA7C698), UINT32_C(0x9A9BF6CA), UINT32_C(0x3A4453DF),
8887           UINT32_C(0x8BB9F543), UINT32_C(0x53C86F9C)}},
8888         {{UINT32_C(0x5B7DB133), UINT32_C(0x806B815E), UINT32_C(0x118FA7C1),
8889           UINT32_C(0x2451D6AC), UINT32_C(0xFB0BEFC3), UINT32_C(0x32C148B6),
8890           UINT32_C(0xE433031E), UINT32_C(0x2E6ECEF6)},
8891          {UINT32_C(0x54B2EE29), UINT32_C(0x2B78F317), UINT32_C(0x5A73BF01),
8892           UINT32_C(0xBC321BF9), UINT32_C(0xF8F7F981), UINT32_C(0xDF6F7840),
8893           UINT32_C(0x22280C40), UINT32_C(0x751A917A)}},
8894         {{UINT32_C(0x4F9161C8), UINT32_C(0x73EFA631), UINT32_C(0x21145C52),
8895           UINT32_C(0xB61C5E68), UINT32_C(0x6A04DC52), UINT32_C(0x60947773),
8896           UINT32_C(0x2C2073B2), UINT32_C(0x758E38FF)},
8897          {UINT32_C(0x03A54541), UINT32_C(0xDC6FEA73), UINT32_C(0xB6E65787),
8898           UINT32_C(0x5E77682C), UINT32_C(0x37370FD0), UINT32_C(0xAFEF6C1C),
8899           UINT32_C(0xD5AC255A), UINT32_C(0x33DEEF00)}},
8900         {{UINT32_C(0x061D35CC), UINT32_C(0x1AD81101), UINT32_C(0x8A77D246),
8901           UINT32_C(0xD55EED7D), UINT32_C(0x926E64C3), UINT32_C(0x8D59DC22),
8902           UINT32_C(0xAFC6FFA6), UINT32_C(0x76C9D6CE)},
8903          {UINT32_C(0x3F4FCC0F), UINT32_C(0x945A89B5), UINT32_C(0x9087F46A),
8904           UINT32_C(0x65EB52CF), UINT32_C(0xAE9F09DE), UINT32_C(0xC3380377),
8905           UINT32_C(0x43DFD5FB), UINT32_C(0x59067EDD)}},
8906         {{UINT32_C(0xCF841445), UINT32_C(0xCBB7BC66), UINT32_C(0xA3BE7C94),
8907           UINT32_C(0x9ED681D3), UINT32_C(0x396C6DD5), UINT32_C(0xF5CF59BE),
8908           UINT32_C(0xFA763634), UINT32_C(0x2598A5DC)},
8909          {UINT32_C(0x85CF4FDE), UINT32_C(0xAD2B445A), UINT32_C(0xA0D92F4C),
8910           UINT32_C(0xC8CE3F42), UINT32_C(0xF01CD0F5), UINT32_C(0x78356D5B),
8911           UINT32_C(0x5D50C9D7), UINT32_C(0x26E44A45)}},
8912         {{UINT32_C(0x4EDF35A5), UINT32_C(0x22EB53E3), UINT32_C(0xAF1A8A60),
8913           UINT32_C(0xA0C6CDEF), UINT32_C(0xD07C1EBD), UINT32_C(0x1D31BA2C),
8914           UINT32_C(0xD2C2ADE1), UINT32_C(0x513511A0)},
8915          {UINT32_C(0xC4449889), UINT32_C(0xBD3772D4), UINT32_C(0xD3F49C61),
8916           UINT32_C(0xAF5EF819), UINT32_C(0x40047745), UINT32_C(0xAAF21599),
8917           UINT32_C(0xA54B8080), UINT32_C(0x2128938C)}},
8918         {{UINT32_C(0x73ADBEC8), UINT32_C(0x9761A94A), UINT32_C(0x1FB2F257),
8919           UINT32_C(0x4710BBF0), UINT32_C(0xB3920007), UINT32_C(0xFE52603E),
8920           UINT32_C(0x7DE06F13), UINT32_C(0x66393750)},
8921          {UINT32_C(0x965AC706), UINT32_C(0x35F4E633), UINT32_C(0x33F953E5),
8922           UINT32_C(0xF49DC418), UINT32_C(0x31CFE467), UINT32_C(0x1562AD51),
8923           UINT32_C(0x8ADB1F7A), UINT32_C(0x035FB54D)}},
8924     },
8925     {
8926         {{UINT32_C(0xFD73062E), UINT32_C(0xF632081F), UINT32_C(0xCB740B59),
8927           UINT32_C(0xB2740C19), UINT32_C(0x8751E315), UINT32_C(0x2DFD957F),
8928           UINT32_C(0xC21039C2), UINT32_C(0x5722E015)},
8929          {UINT32_C(0xA4E56D39), UINT32_C(0x44781BFC), UINT32_C(0xDA2FBE63),
8930           UINT32_C(0x894BD2F7), UINT32_C(0x5DE22DE0), UINT32_C(0x9E81007B),
8931           UINT32_C(0xC68788FC), UINT32_C(0x0CED0859)}},
8932         {{UINT32_C(0x8DDA6292), UINT32_C(0x97DD8CF1), UINT32_C(0x27FCF7F1),
8933           UINT32_C(0x3E9191F7), UINT32_C(0xDAA6AD44), UINT32_C(0x07885E32),
8934           UINT32_C(0xBE9F7E62), UINT32_C(0x624CE66E)},
8935          {UINT32_C(0x1893A3D9), UINT32_C(0x0483DA42), UINT32_C(0x8F2A105F),
8936           UINT32_C(0x1041B7EA), UINT32_C(0x429A24B9), UINT32_C(0x5B706F99),
8937           UINT32_C(0x167C12E1), UINT32_C(0x30BFBCEE)}},
8938         {{UINT32_C(0xC38251D8), UINT32_C(0xEB2C7218), UINT32_C(0x022B6411),
8939           UINT32_C(0x5FE5D8F6), UINT32_C(0x93DCCB63), UINT32_C(0xF62200C1),
8940           UINT32_C(0xCFF221E6), UINT32_C(0x2CF0F8F1)},
8941          {UINT32_C(0x9217EE42), UINT32_C(0xDCF1BCD6), UINT32_C(0x9DB2580B),
8942           UINT32_C(0x1904879C), UINT32_C(0xF6510164), UINT32_C(0x2DDB7E5D),
8943           UINT32_C(0x8A0EAC6B), UINT32_C(0x7BB29985)}},
8944         {{UINT32_C(0x0FCF8397), UINT32_C(0x98313C0E), UINT32_C(0x42C8EEF1),
8945           UINT32_C(0xB594D0B7), UINT32_C(0x97E842F7), UINT32_C(0xBD31FC34),
8946           UINT32_C(0x8F3ADB9B), UINT32_C(0x49476B9D)},
8947          {UINT32_C(0x50B45445), UINT32_C(0xD1B5FD37), UINT32_C(0xD583A89F),
8948           UINT32_C(0x526C51CA), UINT32_C(0x6782C060), UINT32_C(0x5D461F09),
8949           UINT32_C(0x27274A60), UINT32_C(0x414023EC)}},
8950         {{UINT32_C(0xEAE4285A), UINT32_C(0x7C809B26), UINT32_C(0x0A066043),
8951           UINT32_C(0x939814BF), UINT32_C(0x6C640E3D), UINT32_C(0x9CBAC0BB),
8952           UINT32_C(0x30EB1B86), UINT32_C(0x647E22E1)},
8953          {UINT32_C(0x3C7DFA0D), UINT32_C(0x21E2A42D), UINT32_C(0xE2CD0CCE),
8954           UINT32_C(0xFF8CC304), UINT32_C(0x3496964C), UINT32_C(0x3DC8C920),
8955           UINT32_C(0x2B4DF7C2), UINT32_C(0x5D91FE78)}},
8956         {{UINT32_C(0x96D84346), UINT32_C(0xD5BBBD6E), UINT32_C(0xF91FFA8C),
8957           UINT32_C(0x8363527B), UINT32_C(0x7F408588), UINT32_C(0x931D0FDA),
8958           UINT32_C(0xB0B19D0F), UINT32_C(0x2C51F17B)},
8959          {UINT32_C(0xFF61C86D), UINT32_C(0x7A693804), UINT32_C(0xB3FFD529),
8960           UINT32_C(0xBAB4AC45), UINT32_C(0x4C171C84), UINT32_C(0xEDEA275F),
8961           UINT32_C(0xD59B94D9), UINT32_C(0x0520925C)}},
8962         {{UINT32_C(0xE8718BB4), UINT32_C(0xB6A620AA), UINT32_C(0x88D37A61),
8963           UINT32_C(0x67851F0F), UINT32_C(0x9984A787), UINT32_C(0xCBEE8DBC),
8964           UINT32_C(0xAE834635), UINT32_C(0x7190B766)},
8965          {UINT32_C(0xC9AC1A8E), UINT32_C(0x3A1D7DB4), UINT32_C(0x7B97BCB7),
8966           UINT32_C(0x6EEBD5AD), UINT32_C(0x9D0AB769), UINT32_C(0x60978625),
8967           UINT32_C(0x7C7F02DD), UINT32_C(0x5AD56C0C)}},
8968         {{UINT32_C(0x2DB3B6F2), UINT32_C(0x2C0003DE), UINT32_C(0xEFCF1DD8),
8969           UINT32_C(0x3BE1CE3F), UINT32_C(0x379E6B8A), UINT32_C(0xE2F79872),
8970           UINT32_C(0x0B898094), UINT32_C(0x3F9640D8)},
8971          {UINT32_C(0x15B29D41), UINT32_C(0x11EBD937), UINT32_C(0x3EF17D8C),
8972           UINT32_C(0xD6A076B9), UINT32_C(0xB38ED3BA), UINT32_C(0x0A2C0016),
8973           UINT32_C(0xCCB161CC), UINT32_C(0x64329A02)}},
8974         {{UINT32_C(0xB1ED1DEA), UINT32_C(0xD135032D), UINT32_C(0x42F734A0),
8975           UINT32_C(0x43F76848), UINT32_C(0x3C18D8C5), UINT32_C(0x1F6C12BD),
8976           UINT32_C(0xC0A304E8), UINT32_C(0x7D7757B7)},
8977          {UINT32_C(0xDE3B6B9F), UINT32_C(0x3F0C2867), UINT32_C(0xB7201E4F),
8978           UINT32_C(0x72F98EBB), UINT32_C(0x940E748D), UINT32_C(0xCC408000),
8979           UINT32_C(0xAD74B322), UINT32_C(0x34FE6D8F)}},
8980         {{UINT32_C(0xE6D884FE), UINT32_C(0xA12A9359), UINT32_C(0xDE063103),
8981           UINT32_C(0xB080A081), UINT32_C(0x97ABB854), UINT32_C(0x672DE27D),
8982           UINT32_C(0xEE6F3485), UINT32_C(0x712B0883)},
8983          {UINT32_C(0x2044A2A2), UINT32_C(0xF430BF2D), UINT32_C(0x7D12027A),
8984           UINT32_C(0x66561020), UINT32_C(0x2C539C3B), UINT32_C(0x5ED63AD2),
8985           UINT32_C(0xFE5EE1D1), UINT32_C(0x7982AAD0)}},
8986         {{UINT32_C(0x3BE94D26), UINT32_C(0x873DC8F6), UINT32_C(0x4B41BD76),
8987           UINT32_C(0x90923639), UINT32_C(0x0CBE4B5C), UINT32_C(0xE439A496),
8988           UINT32_C(0x11782BF1), UINT32_C(0x424F8D24)},
8989          {UINT32_C(0x49686ED9), UINT32_C(0x6612BD99), UINT32_C(0xFB04E27E),
8990           UINT32_C(0x78157AA9), UINT32_C(0x805F809C), UINT32_C(0x844E1616),
8991           UINT32_C(0x62CB8BCD), UINT32_C(0x717AEB32)}},
8992         {{UINT32_C(0x5248CF6A), UINT32_C(0xE98C1A0E), UINT32_C(0xB0E4ADF8),
8993           UINT32_C(0xC84294A8), UINT32_C(0xA7769275), UINT32_C(0xD35748A4),
8994           UINT32_C(0x03363C82), UINT32_C(0x2C3867E1)},
8995          {UINT32_C(0x8F43885A), UINT32_C(0x2EC7AF43), UINT32_C(0x3AE516C7),
8996           UINT32_C(0x7979D1A2), UINT32_C(0x8B81056C), UINT32_C(0x059939EC),
8997           UINT32_C(0x7E358480), UINT32_C(0x434AA4DD)}},
8998         {{UINT32_C(0x4A5228EA), UINT32_C(0x12EA1C87), UINT32_C(0x4D293B9F),
8999           UINT32_C(0x47B48198), UINT32_C(0xE9696688), UINT32_C(0x319CE379),
9000           UINT32_C(0x7CE6FD05), UINT32_C(0x7C9FF595)},
9001          {UINT32_C(0x3093E3E4), UINT32_C(0x15E954DF), UINT32_C(0x304015AF),
9002           UINT32_C(0xBC98307C), UINT32_C(0x975C69C5), UINT32_C(0x66522DF8),
9003           UINT32_C(0x963CE892), UINT32_C(0x4C9EBFB3)}},
9004         {{UINT32_C(0x628FB125), UINT32_C(0x1CEEF18A), UINT32_C(0x4BF30BB6),
9005           UINT32_C(0xFB69A234), UINT32_C(0x70C9C864), UINT32_C(0x510EB339),
9006           UINT32_C(0x8A89151D), UINT32_C(0x1EE9D1ED)},
9007          {UINT32_C(0x4EE1A486), UINT32_C(0x34094028), UINT32_C(0x2FC79CEE),
9008           UINT32_C(0x66440167), UINT32_C(0xC7DA3A75), UINT32_C(0xB597625A),
9009           UINT32_C(0x65205AF9), UINT32_C(0x6E5B920E)}},
9010         {{UINT32_C(0xD87C914C), UINT32_C(0x749D0CA4), UINT32_C(0x0D60C59E),
9011           UINT32_C(0x55ECBEBB), UINT32_C(0xA65B4652), UINT32_C(0x916A1127),
9012           UINT32_C(0x4E4767A3), UINT32_C(0x503964D4)},
9013          {UINT32_C(0x1B1F94D5), UINT32_C(0x8899A4C2), UINT32_C(0x33E0D94D),
9014           UINT32_C(0xEFFCAF52), UINT32_C(0xA3DAD87D), UINT32_C(0x61B89B3F),
9015           UINT32_C(0x5088D6BE), UINT32_C(0x3CB455F5)}},
9016         {{UINT32_C(0x70678C14), UINT32_C(0x5088A52B), UINT32_C(0x41B00FC3),
9017           UINT32_C(0x212823D9), UINT32_C(0x19865BDB), UINT32_C(0x38D5CEB6),
9018           UINT32_C(0x12E63491), UINT32_C(0x2E9C7FD7)},
9019          {UINT32_C(0x59E73913), UINT32_C(0x6656F916), UINT32_C(0xE9035A63),
9020           UINT32_C(0x57AE9A47), UINT32_C(0xF02B8DAE), UINT32_C(0x970DCF2B),
9021           UINT32_C(0x950FF8A9), UINT32_C(0x3366F8A6)}},
9022     },
9023     {
9024         {{UINT32_C(0xAC4A8F83), UINT32_C(0x93DABD6F), UINT32_C(0x1CFF0AAD),
9025           UINT32_C(0x27233488), UINT32_C(0xF500EDFB), UINT32_C(0xBCAC3181),
9026           UINT32_C(0xB5297515), UINT32_C(0x27C6DB15)},
9027          {UINT32_C(0x2F08A89F), UINT32_C(0x9CD142D9), UINT32_C(0x2EAD0A80),
9028           UINT32_C(0x3C005423), UINT32_C(0x44A7623A), UINT32_C(0x82845F95),
9029           UINT32_C(0x72BC4862), UINT32_C(0x51047070)}},
9030         {{UINT32_C(0xDC1B9159), UINT32_C(0x4303797A), UINT32_C(0x5D9C9AC1),
9031           UINT32_C(0x7842434B), UINT32_C(0x6009FE2E), UINT32_C(0x8A36ED2D),
9032           UINT32_C(0x5106429C), UINT32_C(0x11FE35C9)},
9033          {UINT32_C(0x23554A92), UINT32_C(0xDF20A393), UINT32_C(0x932E37C2),
9034           UINT32_C(0x59364A48), UINT32_C(0x7754A5DF), UINT32_C(0x6D7DE6AE),
9035           UINT32_C(0x462725AC), UINT32_C(0x00CCC6A3)}},
9036         {{UINT32_C(0xBAE83077), UINT32_C(0xB1F86CA5), UINT32_C(0x5110782C),
9037           UINT32_C(0x82FE28A5), UINT32_C(0xD942182C), UINT32_C(0x8031BBF3),
9038           UINT32_C(0x410D9F83), UINT32_C(0x4F1F3815)},
9039          {UINT32_C(0x835ABA65), UINT32_C(0xE57F9907), UINT32_C(0x5AA10903),
9040           UINT32_C(0x0A8220C2), UINT32_C(0x8812602E), UINT32_C(0x2E984717),
9041           UINT32_C(0x2A7D2C6C), UINT32_C(0x0AEC467D)}},
9042         {{UINT32_C(0xC4DBED03), UINT32_C(0xC779F708), UINT32_C(0x8582BD4E),
9043           UINT32_C(0x10A30CD8), UINT32_C(0x243FEAEE), UINT32_C(0xFA5646C5),
9044           UINT32_C(0xCA459EF7), UINT32_C(0x1CFAF38E)},
9045          {UINT32_C(0x95BC8077), UINT32_C(0xCCDD0146), UINT32_C(0x65858C49),
9046           UINT32_C(0x4ECDE919), UINT32_C(0x77FEE1B6), UINT32_C(0x562764C6),
9047           UINT32_C(0x43524407), UINT32_C(0x3CF5A3AB)}},
9048         {{UINT32_C(0x0F6EF445), UINT32_C(0x0CCEAADD), UINT32_C(0xC297AFAF),
9049           UINT32_C(0x690C12C1), UINT32_C(0xC15B3D7B), UINT32_C(0xD67AA6EA),
9050           UINT32_C(0x9FF8884E), UINT32_C(0x445D233C)},
9051          {UINT32_C(0x6CAD3234), UINT32_C(0xC38FFD09), UINT32_C(0xC7002F6F),
9052           UINT32_C(0xA690FFD1), UINT32_C(0x11ACB469), UINT32_C(0xD445E851),
9053           UINT32_C(0x97166E52), UINT32_C(0x64EE1380)}},
9054         {{UINT32_C(0xCEFBFB0A), UINT32_C(0x1EB031CC), UINT32_C(0xAA40D6A9),
9055           UINT32_C(0x60F3DEF4), UINT32_C(0xF96FCAFE), UINT32_C(0x240F7CA5),
9056           UINT32_C(0xE4450A06), UINT32_C(0x53AF2F10)},
9057          {UINT32_C(0xA84058EF), UINT32_C(0xE8AF980F), UINT32_C(0x34AFFC6E),
9058           UINT32_C(0x3E300017), UINT32_C(0xC86B458C), UINT32_C(0x62D1D094),
9059           UINT32_C(0x75732C7E), UINT32_C(0x5338383D)}},
9060         {{UINT32_C(0x04D82638), UINT32_C(0x6BD46AEB), UINT32_C(0x62E645A0),
9061           UINT32_C(0x86940A31), UINT32_C(0xA5736B40), UINT32_C(0xD025B4B1),
9062           UINT32_C(0x924E8E5E), UINT32_C(0x1056D9D0)},
9063          {UINT32_C(0x1DB58101), UINT32_C(0x3D0495CC), UINT32_C(0x2D677581),
9064           UINT32_C(0xC300C6E7), UINT32_C(0x610AECEC), UINT32_C(0xFE38B898),
9065           UINT32_C(0xD66F64ED), UINT32_C(0x1C8B94E2)}},
9066         {{UINT32_C(0x06D0C7EC), UINT32_C(0x5C9C3A37), UINT32_C(0xB8A74918),
9067           UINT32_C(0x6B4B5437), UINT32_C(0x9052A235), UINT32_C(0x85689C98),
9068           UINT32_C(0x87B53AA6), UINT32_C(0x4F7C2C8D)},
9069          {UINT32_C(0xD8F1D334), UINT32_C(0x9FCD866F), UINT32_C(0x6898223C),
9070           UINT32_C(0xDBAAA227), UINT32_C(0x95C7B35A), UINT32_C(0x933DE9DA),
9071           UINT32_C(0x3EA949FD), UINT32_C(0x329AE20F)}},
9072         {{UINT32_C(0x948A2ECD), UINT32_C(0xB83547AF), UINT32_C(0xBE34890C),
9073           UINT32_C(0xEBF7C1E7), UINT32_C(0xF8211C33), UINT32_C(0x5F0F44F3),
9074           UINT32_C(0xC6927638), UINT32_C(0x14A10BDB)},
9075          {UINT32_C(0x5B579BF5), UINT32_C(0x7FD88567), UINT32_C(0x5B7417F0),
9076           UINT32_C(0xD7C71281), UINT32_C(0x2083502E), UINT32_C(0x7C04F111),
9077           UINT32_C(0xE9AD6283), UINT32_C(0x42029128)}},
9078         {{UINT32_C(0x2C5C0928), UINT32_C(0x32FBFFAE), UINT32_C(0x1469F1D3),
9079           UINT32_C(0x4E31D312), UINT32_C(0xD79F51A2), UINT32_C(0x17307E28),
9080           UINT32_C(0x79A51EBD), UINT32_C(0x546C91AF)},
9081          {UINT32_C(0x668086A6), UINT32_C(0x041D464D), UINT32_C(0x0DB695DB),
9082           UINT32_C(0x4986BDE5), UINT32_C(0xEF317AA0), UINT32_C(0xCBA5F6EE),
9083           UINT32_C(0x730221D3), UINT32_C(0x5879259F)}},
9084         {{UINT32_C(0x253BB4BA), UINT32_C(0xBD9C5CA5), UINT32_C(0x0E2A75BB),
9085           UINT32_C(0xBBFC6079), UINT32_C(0x67AB9033), UINT32_C(0xB5F11AE3),
9086           UINT32_C(0xAC2BFAFE), UINT32_C(0x6411CB1E)},
9087          {UINT32_C(0xBF5390B0), UINT32_C(0x750734FE), UINT32_C(0x879A3D3D),
9088           UINT32_C(0xA044BED4), UINT32_C(0xA0C47093), UINT32_C(0xE1E9F0E4),
9089           UINT32_C(0xB64DA48C), UINT32_C(0x3BCAD93E)}},
9090         {{UINT32_C(0xB37E16C2), UINT32_C(0xAFC6BCB6), UINT32_C(0x2331B0CD),
9091           UINT32_C(0xB54F56C0), UINT32_C(0x5BBFBEE7), UINT32_C(0x725E81B4),
9092           UINT32_C(0xE8B9D922), UINT32_C(0x2AE0C039)},
9093          {UINT32_C(0xDB958319), UINT32_C(0x85301041), UINT32_C(0x0681C4A4),
9094           UINT32_C(0xDFAE34DD), UINT32_C(0xCBF7BB2B), UINT32_C(0x906C9219),
9095           UINT32_C(0x10A1710A), UINT32_C(0x1463E9EF)}},
9096         {{UINT32_C(0x21E6FC9D), UINT32_C(0x41E6C388), UINT32_C(0x24A39EC8),
9097           UINT32_C(0x0B629A1E), UINT32_C(0x1AEF7A46), UINT32_C(0xC62F60BE),
9098           UINT32_C(0xC5A16B6E), UINT32_C(0x59A50B54)},
9099          {UINT32_C(0x285B891E), UINT32_C(0x41CA367A), UINT32_C(0xE2F8AF59),
9100           UINT32_C(0x70A6CE6B), UINT32_C(0xCBCEEF98), UINT32_C(0x74058747),
9101           UINT32_C(0x601C375F), UINT32_C(0x4B912170)}},
9102         {{UINT32_C(0x734EE866), UINT32_C(0x7D975CE2), UINT32_C(0xA09F5F14),
9103           UINT32_C(0x8D3572C6), UINT32_C(0x2232EE5E), UINT32_C(0x1DB4CC88),
9104           UINT32_C(0x7C04C250), UINT32_C(0x6C979049)},
9105          {UINT32_C(0xAE1EBC20), UINT32_C(0xB5EC7706), UINT32_C(0xE21AAA32),
9106           UINT32_C(0x7BDBD34D), UINT32_C(0xC5D1C733), UINT32_C(0xAD4125FD),
9107           UINT32_C(0x731E6B09), UINT32_C(0x28B0302D)}},
9108         {{UINT32_C(0x1521415E), UINT32_C(0xD68EEC49), UINT32_C(0x092763C0),
9109           UINT32_C(0x31963424), UINT32_C(0x0BFB513B), UINT32_C(0xCA90F48D),
9110           UINT32_C(0x573A056A), UINT32_C(0x4814DDFF)},
9111          {UINT32_C(0x400E804D), UINT32_C(0x7E67599C), UINT32_C(0x51FD0596),
9112           UINT32_C(0x35452750), UINT32_C(0xDB331B66), UINT32_C(0x45EDD7FB),
9113           UINT32_C(0xBDEDE107), UINT32_C(0x172DA8B3)}},
9114         {{UINT32_C(0xB5BEB1C8), UINT32_C(0xD46F284C), UINT32_C(0x7B125701),
9115           UINT32_C(0x5DE5D3F1), UINT32_C(0x248053D1), UINT32_C(0xC3BA591E),
9116           UINT32_C(0x9C8F487C), UINT32_C(0x4E67F1F2)},
9117          {UINT32_C(0x8C252EC5), UINT32_C(0x380D93E4), UINT32_C(0x22BC5CF6),
9118           UINT32_C(0x913F96F1), UINT32_C(0xD7BAA634), UINT32_C(0xC1F06BBD),
9119           UINT32_C(0xA30BF1B9), UINT32_C(0x7B625179)}},
9120     },
9121     {
9122         {{UINT32_C(0xABD424AC), UINT32_C(0x125D398D), UINT32_C(0x9CC70479),
9123           UINT32_C(0xFE65DF03), UINT32_C(0xFB5EC82C), UINT32_C(0x89A31794),
9124           UINT32_C(0xA31C5DCA), UINT32_C(0x63EFFB55)},
9125          {UINT32_C(0x045B576A), UINT32_C(0x948F7571), UINT32_C(0x022B5FC8),
9126           UINT32_C(0xEC9F6FAB), UINT32_C(0xBD9F0DD2), UINT32_C(0x174DC936),
9127           UINT32_C(0xF4C4EE8B), UINT32_C(0x5EEA65E6)}},
9128         {{UINT32_C(0x8B800D67), UINT32_C(0xE97070AE), UINT32_C(0xB59B433E),
9129           UINT32_C(0xB9CB66FA), UINT32_C(0xC6141364), UINT32_C(0xC4496574),
9130           UINT32_C(0x6A9677EA), UINT32_C(0x530AA9B5)},
9131          {UINT32_C(0x75200533), UINT32_C(0x4A4E2EE3), UINT32_C(0x0F20A9BE),
9132           UINT32_C(0x4C38A509), UINT32_C(0xEA683510), UINT32_C(0x0A6FFBA4),
9133           UINT32_C(0x65732EA9), UINT32_C(0x7340EFEE)}},
9134         {{UINT32_C(0xE41C2B43), UINT32_C(0x3A5612E4), UINT32_C(0xFCB5C0A8),
9135           UINT32_C(0x31F51B80), UINT32_C(0xBD1F03E6), UINT32_C(0x4C5BBA64),
9136           UINT32_C(0x3694ADCA), UINT32_C(0x25387243)},
9137          {UINT32_C(0x1F7E4D5C), UINT32_C(0xF114EFAF), UINT32_C(0x4EA3A59D),
9138           UINT32_C(0xBEA5223A), UINT32_C(0x67EB414D), UINT32_C(0x82CEF46F),
9139           UINT32_C(0x9B6CAC3D), UINT32_C(0x09D351C1)}},
9140         {{UINT32_C(0x810F5054), UINT32_C(0xC69F25CE), UINT32_C(0x548A2CDF),
9141           UINT32_C(0xE33E5E97), UINT32_C(0x36946D3C), UINT32_C(0x20B3F442),
9142           UINT32_C(0x65DF2D3B), UINT32_C(0x572C0F5C)},
9143          {UINT32_C(0xCC953CC8), UINT32_C(0xFC5B2DF3), UINT32_C(0xD1CCADC6),
9144           UINT32_C(0x934D54C0), UINT32_C(0xA6E7B4DB), UINT32_C(0x828A906E),
9145           UINT32_C(0x5AD3076F), UINT32_C(0x610D36C1)}},
9146         {{UINT32_C(0x74F56E27), UINT32_C(0x960B0A01), UINT32_C(0xCF3FEA75),
9147           UINT32_C(0x9942C6AC), UINT32_C(0x82C51490), UINT32_C(0x2E4D786D),
9148           UINT32_C(0x9A4749C9), UINT32_C(0x23A51636)},
9149          {UINT32_C(0x2F7560FC), UINT32_C(0xD86AB36A), UINT32_C(0xDDB852A9),
9150           UINT32_C(0xDA66B49D), UINT32_C(0x544C1023), UINT32_C(0x84E1587D),
9151           UINT32_C(0x6AA3C1DA), UINT32_C(0x7AB8BC69)}},
9152         {{UINT32_C(0xA5F30701), UINT32_C(0xFD0397AF), UINT32_C(0xDFC8B187),
9153           UINT32_C(0x96FFB15D), UINT32_C(0x1475E520), UINT32_C(0xF2C86453),
9154           UINT32_C(0xEF37300E), UINT32_C(0x71521986)},
9155          {UINT32_C(0x68006D45), UINT32_C(0xD81F75A8), UINT32_C(0xCBC06D4D),
9156           UINT32_C(0xDF7814EA), UINT32_C(0x2E8E9150), UINT32_C(0x5BCF959B),
9157           UINT32_C(0x56668C18), UINT32_C(0x146D37D7)}},
9158         {{UINT32_C(0x88E8DC77), UINT32_C(0x1ABD7312), UINT32_C(0xC1C3A4DB),
9159           UINT32_C(0x0B34B877), UINT32_C(0xF844BACE), UINT32_C(0x85739093),
9160           UINT32_C(0x04A7CF80), UINT32_C(0x5DEDCF8F)},
9161          {UINT32_C(0xD87CDBDC), UINT32_C(0xD8BB237E), UINT32_C(0xCCBA784F),
9162           UINT32_C(0x89852174), UINT32_C(0xB2FAECC3), UINT32_C(0x6843BAB8),
9163           UINT32_C(0xAA4BBA32), UINT32_C(0x15268302)}},
9164         {{UINT32_C(0xB23D3770), UINT32_C(0x3B58225A), UINT32_C(0x10CC9DE6),
9165           UINT32_C(0x9357EB59), UINT32_C(0x42ECF80E), UINT32_C(0x8665F92A),
9166           UINT32_C(0xC875C031), UINT32_C(0x4819CC9D)},
9167          {UINT32_C(0xC34B979B), UINT32_C(0x09CBE5D8), UINT32_C(0x7E1D0E63),
9168           UINT32_C(0x161E8AC0), UINT32_C(0x282E36E8), UINT32_C(0x874DF24F),
9169           UINT32_C(0x0712A0CD), UINT32_C(0x6528E6FA)}},
9170         {{UINT32_C(0x107633E4), UINT32_C(0xE37AD786), UINT32_C(0xCF1FE646),
9171           UINT32_C(0x122D7123), UINT32_C(0xCFA93AC0), UINT32_C(0x1E6E682B),
9172           UINT32_C(0x276200DB), UINT32_C(0x0A25F4EE)},
9173          {UINT32_C(0xE25FBB01), UINT32_C(0x44E290ED), UINT32_C(0xC3C1B418),
9174           UINT32_C(0x3E392DF5), UINT32_C(0x83EBE689), UINT32_C(0xE5E15745),
9175           UINT32_C(0x4B999926), UINT32_C(0x016139D2)}},
9176         {{UINT32_C(0x65D7DA58), UINT32_C(0x048915B0), UINT32_C(0xA78F3D9E),
9177           UINT32_C(0x6EF7C4EF), UINT32_C(0xAD614974), UINT32_C(0x78CCCE55),
9178           UINT32_C(0x54B95643), UINT32_C(0x43DB7DA0)},
9179          {UINT32_C(0xE53F1A67), UINT32_C(0xFC423B70), UINT32_C(0x4EFE2427),
9180           UINT32_C(0x8F8BED81), UINT32_C(0x95B045EB), UINT32_C(0xF5D6AD5F),
9181           UINT32_C(0xD7407716), UINT32_C(0x23582D5D)}},
9182         {{UINT32_C(0x9F674472), UINT32_C(0x9E5D24FB), UINT32_C(0x68626041),
9183           UINT32_C(0x1AE18636), UINT32_C(0x7ABC4380), UINT32_C(0x8977E68F),
9184           UINT32_C(0x05AF2D04), UINT32_C(0x7D9FF8E8)},
9185          {UINT32_C(0x4197C4E1), UINT32_C(0x9D31195F), UINT32_C(0x4400F35E),
9186           UINT32_C(0x9F3F6E11), UINT32_C(0x7BBEF801), UINT32_C(0x1A87D586),
9187           UINT32_C(0x952BB025), UINT32_C(0x42AE0380)}},
9188         {{UINT32_C(0x6B96482B), UINT32_C(0xC6A3ED75), UINT32_C(0xA9C6DD2F),
9189           UINT32_C(0x58B38724), UINT32_C(0x9297FB47), UINT32_C(0x464C8CE8),
9190           UINT32_C(0xFB6D6C55), UINT32_C(0x0245797E)},
9191          {UINT32_C(0xC0B58C8F), UINT32_C(0xBE141C80), UINT32_C(0x77766C48),
9192           UINT32_C(0xC4C405CB), UINT32_C(0xD10C0F31), UINT32_C(0xD57EE428),
9193           UINT32_C(0x50E8FE7B), UINT32_C(0x03D4862B)}},
9194         {{UINT32_C(0x1DC3722C), UINT32_C(0x21976F8A), UINT32_C(0x5F476F0D),
9195           UINT32_C(0x02EC30D5), UINT32_C(0xCA434B06), UINT32_C(0xD711E01D),
9196           UINT32_C(0x99FF2488), UINT32_C(0x551AC910)},
9197          {UINT32_C(0xA56CA3C7), UINT32_C(0x24AEC72D), UINT32_C(0x891896CE),
9198           UINT32_C(0x2DD1219A), UINT32_C(0x67882925), UINT32_C(0xD84BAD19),
9199           UINT32_C(0x9D4778EF), UINT32_C(0x27E65D7F)}},
9200         {{UINT32_C(0x4685687F), UINT32_C(0x09F19C8F), UINT32_C(0xBBB58BD3),
9201           UINT32_C(0xB7C7B9E3), UINT32_C(0x8FA34DD5), UINT32_C(0x349D03A7),
9202           UINT32_C(0x8D59E889), UINT32_C(0x41F9D003)},
9203          {UINT32_C(0x2B3ED6FA), UINT32_C(0xCF3367D4), UINT32_C(0x378DA1ED),
9204           UINT32_C(0xCF3C6715), UINT32_C(0x4E935E9A), UINT32_C(0x86DC3903),
9205           UINT32_C(0xF08CB23A), UINT32_C(0x50692CFF)}},
9206         {{UINT32_C(0xC2D65C87), UINT32_C(0x18CA772A), UINT32_C(0x4F1D0CB6),
9207           UINT32_C(0xC9092B38), UINT32_C(0xBBD2015A), UINT32_C(0x91E71CF1),
9208           UINT32_C(0x4F3DEF26), UINT32_C(0x4A09DAAC)},
9209          {UINT32_C(0x735C9281), UINT32_C(0x7CCA7B4A), UINT32_C(0x1BF0AAEE),
9210           UINT32_C(0x2028F144), UINT32_C(0xACB5B748), UINT32_C(0xCF72A082),
9211           UINT32_C(0x43299B85), UINT32_C(0x58957D5D)}},
9212         {{UINT32_C(0x901F1789), UINT32_C(0x64BB164E), UINT32_C(0x5AEF97BF),
9213           UINT32_C(0xC68766E6), UINT32_C(0x942B6DCE), UINT32_C(0x30ECA3E2),
9214           UINT32_C(0xF9E798F3), UINT32_C(0x632676FA)},
9215          {UINT32_C(0xF13896EE), UINT32_C(0xB52533D3), UINT32_C(0x2D8A29C1),
9216           UINT32_C(0xAD912831), UINT32_C(0xBC14E7FF), UINT32_C(0x12F1B9A4),
9217           UINT32_C(0x8828D196), UINT32_C(0x4E1D23FD)}},
9218     },
9219     {
9220         {{UINT32_C(0xEF494793), UINT32_C(0xC4F89E00), UINT32_C(0xC93D2F55),
9221           UINT32_C(0xA6044BC3), UINT32_C(0x8797F8AF), UINT32_C(0x68E60B58),
9222           UINT32_C(0x841E4B5E), UINT32_C(0x4D5969FA)},
9223          {UINT32_C(0xD759BB2D), UINT32_C(0xB1EE70FB), UINT32_C(0x66D8AD01),
9224           UINT32_C(0x9AC30433), UINT32_C(0x84E9F677), UINT32_C(0xD93F23DB),
9225           UINT32_C(0xC53029A4), UINT32_C(0x2AD9D16F)}},
9226         {{UINT32_C(0xDD882D23), UINT32_C(0xD01FC16B), UINT32_C(0xFA5B4128),
9227           UINT32_C(0x3BF921F1), UINT32_C(0x235BC9CE), UINT32_C(0x3D3FE145),
9228           UINT32_C(0x62E686E1), UINT32_C(0x59556716)},
9229          {UINT32_C(0x79F99D69), UINT32_C(0xE329A7C2), UINT32_C(0xA4F5F5F5),
9230           UINT32_C(0xA67EF5EC), UINT32_C(0xD5A34FF0), UINT32_C(0xF96A41EE),
9231           UINT32_C(0x74674B5F), UINT32_C(0x09D0CF06)}},
9232         {{UINT32_C(0x6135B7E2), UINT32_C(0x8CCDF71C), UINT32_C(0xAFB6AD6B),
9233           UINT32_C(0x91F1E33E), UINT32_C(0xDB0CFEDF), UINT32_C(0xC452F439),
9234           UINT32_C(0xC05B06D4), UINT32_C(0x15724711)},
9235          {UINT32_C(0xA3BC1277), UINT32_C(0x5FEE0E0E), UINT32_C(0x8D8BA081),
9236           UINT32_C(0xD6847FAD), UINT32_C(0x0D4C8DDD), UINT32_C(0x8B02666C),
9237           UINT32_C(0xC35559DB), UINT32_C(0x149E5009)}},
9238         {{UINT32_C(0x5461D9CA), UINT32_C(0xB4D0D2C9), UINT32_C(0xCE0A3973),
9239           UINT32_C(0xFE7993B6), UINT32_C(0xD6032E95), UINT32_C(0x42B2A500),
9240           UINT32_C(0x217131C6), UINT32_C(0x4DEEE35A)},
9241          {UINT32_C(0xFFE7C2EB), UINT32_C(0x94E65C8C), UINT32_C(0xB19D4B4A),
9242           UINT32_C(0x0DAD7785), UINT32_C(0x925613F9), UINT32_C(0xEEBA6794),
9243           UINT32_C(0xE30494CB), UINT32_C(0x6AF45BBE)}},
9244         {{UINT32_C(0x32F43F67), UINT32_C(0x41352A61), UINT32_C(0x48F886D3),
9245           UINT32_C(0x0D218DE9), UINT32_C(0x9B33B0F6), UINT32_C(0xCDFC0C55),
9246           UINT32_C(0x6C5B90CD), UINT32_C(0x21FC6353)},
9247          {UINT32_C(0x7898AFF2), UINT32_C(0x5D8CA5AD), UINT32_C(0x24287C30),
9248           UINT32_C(0xA743F80E), UINT32_C(0x9084A3A2), UINT32_C(0x4D037131),
9249           UINT32_C(0xB5EFC978), UINT32_C(0x52041EED)}},
9250         {{UINT32_C(0xCC1BCFCB), UINT32_C(0x80B588EE), UINT32_C(0xE5CE0035),
9251           UINT32_C(0xAD871A11), UINT32_C(0xF966D746), UINT32_C(0xF47224D0),
9252           UINT32_C(0xB387FCC2), UINT32_C(0x5215A9D2)},
9253          {UINT32_C(0x695C02AF), UINT32_C(0xC54EB2E7), UINT32_C(0xDFC8493D),
9254           UINT32_C(0x36FD06BC), UINT32_C(0x98CE7C76), UINT32_C(0x1CE8A9AA),
9255           UINT32_C(0x644D398B), UINT32_C(0x058DFCBF)}},
9256         {{UINT32_C(0x5BB81464), UINT32_C(0xCD7E67DC), UINT32_C(0x047A7789),
9257           UINT32_C(0xE7A19301), UINT32_C(0x573E837B), UINT32_C(0xCCC31EE5),
9258           UINT32_C(0xAF7703D5), UINT32_C(0x25EE99AF)},
9259          {UINT32_C(0xDDB3E807), UINT32_C(0x34FDD6DA), UINT32_C(0x109092DD),
9260           UINT32_C(0x273D8288), UINT32_C(0xB7357633), UINT32_C(0xF8F2464F),
9261           UINT32_C(0xCCAA31D5), UINT32_C(0x26B2CBAD)}},
9262         {{UINT32_C(0xF707F9F7), UINT32_C(0xBA9CFEDE), UINT32_C(0xAC4975FB),
9263           UINT32_C(0xA9A6896C), UINT32_C(0xBB1C35E4), UINT32_C(0x62135D9D),
9264           UINT32_C(0xCBA133D2), UINT32_C(0x13AE840F)},
9265          {UINT32_C(0x4C2BA3A9), UINT32_C(0x6ABF3913), UINT32_C(0x6D8A62C1),
9266           UINT32_C(0xE4D8508A), UINT32_C(0x66D96607), UINT32_C(0xF2565354),
9267           UINT32_C(0xB6CABAE8), UINT32_C(0x5C368CCE)}},
9268         {{UINT32_C(0x8B3999BB), UINT32_C(0x0C3B52E8), UINT32_C(0xEF691871),
9269           UINT32_C(0xB752E28F), UINT32_C(0xF17D0D2D), UINT32_C(0xA0460ABC),
9270           UINT32_C(0xB7741F2C), UINT32_C(0x7DDCE3C1)},
9271          {UINT32_C(0x3673000F), UINT32_C(0x076A6BAB), UINT32_C(0x425E8A9D),
9272           UINT32_C(0xCDB1CD2B), UINT32_C(0x2606EAB5), UINT32_C(0x357FCFFF),
9273           UINT32_C(0x035DE7B4), UINT32_C(0x308644F8)}},
9274         {{UINT32_C(0x6D6FF45E), UINT32_C(0xBA64A127), UINT32_C(0x6B0C3CEF),
9275           UINT32_C(0x1F52B6AE), UINT32_C(0xCBF496CB), UINT32_C(0x91295179),
9276           UINT32_C(0xA1B12BE4), UINT32_C(0x2B986FAD)},
9277          {UINT32_C(0x44DBAF57), UINT32_C(0x243D2366), UINT32_C(0x346E88C2),
9278           UINT32_C(0x48E22BBA), UINT32_C(0x8BBAFA0D), UINT32_C(0xCDFB7957),
9279           UINT32_C(0x0D70670E), UINT32_C(0x094ED36E)}},
9280         {{UINT32_C(0xA0D60407), UINT32_C(0x2BAD1539), UINT32_C(0x6E744111),
9281           UINT32_C(0xC1A9286E), UINT32_C(0x81A6DCAA), UINT32_C(0x6D08C0DB),
9282           UINT32_C(0x80AFB34F), UINT32_C(0x108F35EC)},
9283          {UINT32_C(0x1E3E34AE), UINT32_C(0xBE79A6E3), UINT32_C(0x16D524E5),
9284           UINT32_C(0x206EAA28), UINT32_C(0x344ABA64), UINT32_C(0x563B6E1C),
9285           UINT32_C(0x3207CA68), UINT32_C(0x6C362A61)}},
9286         {{UINT32_C(0xEF9A9A0F), UINT32_C(0x04D8145B), UINT32_C(0xA15B6247),
9287           UINT32_C(0x8B57559B), UINT32_C(0x303AFBF3), UINT32_C(0x72D53570),
9288           UINT32_C(0xD6DB5736), UINT32_C(0x01C36B41)},
9289          {UINT32_C(0x1173B5FA), UINT32_C(0x94D583C9), UINT32_C(0x013C8AAA),
9290           UINT32_C(0x71F8E12D), UINT32_C(0xF29CB838), UINT32_C(0xA4B5A532),
9291           UINT32_C(0x7CE4EBA4), UINT32_C(0x4B179700)}},
9292         {{UINT32_C(0x0CE86FC3), UINT32_C(0x69CFA7B0), UINT32_C(0xD60E076C),
9293           UINT32_C(0x3705D7C0), UINT32_C(0xB1091E10), UINT32_C(0xB1A1464A),
9294           UINT32_C(0x7FE80950), UINT32_C(0x097945A9)},
9295          {UINT32_C(0x9AA381E3), UINT32_C(0xD9C71A95), UINT32_C(0xA410FF56),
9296           UINT32_C(0x2A929073), UINT32_C(0xF0FEB121), UINT32_C(0x79EF8353),
9297           UINT32_C(0x5F3107E5), UINT32_C(0x1437C4B0)}},
9298         {{UINT32_C(0x621DB2E5), UINT32_C(0xC5128C8B), UINT32_C(0x51A9499A),
9299           UINT32_C(0x4E9C9B2E), UINT32_C(0xD8CD7594), UINT32_C(0x11535880),
9300           UINT32_C(0xB0697C07), UINT32_C(0x35A26F59)},
9301          {UINT32_C(0xC43B624E), UINT32_C(0xAB3F4B75), UINT32_C(0xB8E03E6B),
9302           UINT32_C(0x69F82105), UINT32_C(0xFB04E036), UINT32_C(0xFB268288),
9303           UINT32_C(0xA0BDB41C), UINT32_C(0x6A5E6BD3)}},
9304         {{UINT32_C(0xC8082916), UINT32_C(0x8C716A1A), UINT32_C(0x4592472C),
9305           UINT32_C(0xB1D1B152), UINT32_C(0x3AB6938A), UINT32_C(0x63657A6D),
9306           UINT32_C(0xF03214AE), UINT32_C(0x44882EB6)},
9307          {UINT32_C(0xC615AF7D), UINT32_C(0x19575B8A), UINT32_C(0x35EE3D98),
9308           UINT32_C(0x14D740C1), UINT32_C(0x57768D2D), UINT32_C(0xBC478E89),
9309           UINT32_C(0x13FC5E4C), UINT32_C(0x30CC8FA2)}},
9310         {{UINT32_C(0x4EBE1E7C), UINT32_C(0x705607C5), UINT32_C(0x284EDA2B),
9311           UINT32_C(0x631E5B88), UINT32_C(0x07F54DDB), UINT32_C(0x07E9E39C),
9312           UINT32_C(0x8DCF6BC5), UINT32_C(0x4E554D88)},
9313          {UINT32_C(0x0CBAB0FE), UINT32_C(0x12E9FB20), UINT32_C(0xBA5E007F),
9314           UINT32_C(0x6F3BC7CE), UINT32_C(0xBC871DF6), UINT32_C(0xA770BA1D),
9315           UINT32_C(0xFE01142C), UINT32_C(0x541AA4C6)}},
9316     },
9317     {
9318         {{UINT32_C(0xF2412EC7), UINT32_C(0xBFE26700), UINT32_C(0xCFE96AF4),
9319           UINT32_C(0x0E975796), UINT32_C(0xDD6B04F7), UINT32_C(0x7D30BF7C),
9320           UINT32_C(0xF1D8FCE4), UINT32_C(0x5421925D)},
9321          {UINT32_C(0xEC709107), UINT32_C(0x1CF5E9F5), UINT32_C(0xB4580AA9),
9322           UINT32_C(0x124FCFC2), UINT32_C(0x67A835B3), UINT32_C(0x02F7012B),
9323           UINT32_C(0x47C0760F), UINT32_C(0x753FE01B)}},
9324         {{UINT32_C(0xB1D2A896), UINT32_C(0x82FD5D47), UINT32_C(0x54E75DDB),
9325           UINT32_C(0x7EABC175), UINT32_C(0x1AB080BC), UINT32_C(0x724FC3A8),
9326           UINT32_C(0xA75C31DD), UINT32_C(0x363D6016)},
9327          {UINT32_C(0x863F308F), UINT32_C(0x5D465FF2), UINT32_C(0xE515ADCB),
9328           UINT32_C(0x9EC70664), UINT32_C(0xB3BC206A), UINT32_C(0x4BD7A1A2),
9329           UINT32_C(0x4A167D34), UINT32_C(0x2022576C)}},
9330         {{UINT32_C(0x5CD6AC65), UINT32_C(0xF5AC3451), UINT32_C(0x5839F554),
9331           UINT32_C(0x7629731E), UINT32_C(0x93545A60), UINT32_C(0xA3260AE3),
9332           UINT32_C(0xA7AD1979), UINT32_C(0x49D190E8)},
9333          {UINT32_C(0xF0B35045), UINT32_C(0x5AA8492F), UINT32_C(0x2584E651),
9334           UINT32_C(0x4A5FAB7B), UINT32_C(0x395E2AAE), UINT32_C(0x5A05420E),
9335           UINT32_C(0x547B4038), UINT32_C(0x30613C78)}},
9336         {{UINT32_C(0xF9DAE7E6), UINT32_C(0x47E1C59D), UINT32_C(0x247A5A9D),
9337           UINT32_C(0x8D68839B), UINT32_C(0xC1A80D5E), UINT32_C(0x663B5977),
9338           UINT32_C(0x40D8CF32), UINT32_C(0x5E51F872)},
9339          {UINT32_C(0xECE49494), UINT32_C(0x88ADBF9E), UINT32_C(0x1792BAE8),
9340           UINT32_C(0x40B4AC5C), UINT32_C(0x9A1B3314), UINT32_C(0x278200D1),
9341           UINT32_C(0xD9F83584), UINT32_C(0x7D15320E)}},
9342         {{UINT32_C(0xEAF2BFF8), UINT32_C(0xFE6DAA74), UINT32_C(0xC156AA6B),
9343           UINT32_C(0x6E4EE4C0), UINT32_C(0xD0F4E7D5), UINT32_C(0xD9310FF8),
9344           UINT32_C(0x7BB0C42D), UINT32_C(0x552EEF9E)},
9345          {UINT32_C(0xFDC69E1A), UINT32_C(0x323FF6F1), UINT32_C(0x41D79365),
9346           UINT32_C(0x00FA66B7), UINT32_C(0xA96B22B4), UINT32_C(0x0006B16E),
9347           UINT32_C(0xD20F07BE), UINT32_C(0x71BBC653)}},
9348         {{UINT32_C(0xA440FA1C), UINT32_C(0x89A7B7EE), UINT32_C(0x757CD658),
9349           UINT32_C(0x52BB5278), UINT32_C(0xB0CDDEA4), UINT32_C(0xC5906F4B),
9350           UINT32_C(0x5DE2D8DA), UINT32_C(0x66AAAFEE)},
9351          {UINT32_C(0x53B6E226), UINT32_C(0x4D5E016A), UINT32_C(0x1993A1D7),
9352           UINT32_C(0xA2F73DC6), UINT32_C(0xA09DD554), UINT32_C(0x7CDD4C1D),
9353           UINT32_C(0xAB416627), UINT32_C(0x6F723079)}},
9354         {{UINT32_C(0xC4E5C4AF), UINT32_C(0xE641639E), UINT32_C(0x371CC648),
9355           UINT32_C(0x8BC6100D), UINT32_C(0x9B216E8A), UINT32_C(0x7BD161B1),
9356           UINT32_C(0xF810DB32), UINT32_C(0x58098AEB)},
9357          {UINT32_C(0x5AD92372), UINT32_C(0xEE52BB46), UINT32_C(0xEEF938CA),
9358           UINT32_C(0x4B2C48E1), UINT32_C(0xAB43A5D0), UINT32_C(0xE8FDE4D6),
9359           UINT32_C(0xA5284C83), UINT32_C(0x459274CD)}},
9360         {{UINT32_C(0xD015095D), UINT32_C(0xA98925B0), UINT32_C(0x4611A1A5),
9361           UINT32_C(0xC8969F5F), UINT32_C(0x2CE4663B), UINT32_C(0xBDDCD62F),
9362           UINT32_C(0xA076C8BE), UINT32_C(0x1C9D9007)},
9363          {UINT32_C(0x749F7BE5), UINT32_C(0xE8DE8890), UINT32_C(0xFF208E75),
9364           UINT32_C(0xC9E455E7), UINT32_C(0x8F5FAC9A), UINT32_C(0xDCEE17A9),
9365           UINT32_C(0x68A3A666), UINT32_C(0x776B72D3)}},
9366         {{UINT32_C(0xFEE0E89A), UINT32_C(0x28C7D648), UINT32_C(0x463AF60D),
9367           UINT32_C(0x621B370F), UINT32_C(0x5ADC8ACD), UINT32_C(0x9DC1548E),
9368           UINT32_C(0xA0B49504), UINT32_C(0x48032ACF)},
9369          {UINT32_C(0x85E992D5), UINT32_C(0x146C6EAC), UINT32_C(0x5CB491E0),
9370           UINT32_C(0x5A2CB577), UINT32_C(0x454C120A), UINT32_C(0x669DD6D4),
9371           UINT32_C(0x98203C39), UINT32_C(0x3431AB33)}},
9372         {{UINT32_C(0x9DE017BF), UINT32_C(0xE8761503), UINT32_C(0xB60AE61F),
9373           UINT32_C(0xAB117D2F), UINT32_C(0x827937FF), UINT32_C(0x0846463F),
9374           UINT32_C(0x6BD89C65), UINT32_C(0x45E6BD40)},
9375          {UINT32_C(0xA613BDB8), UINT32_C(0x3160AD67), UINT32_C(0xB8714A49),
9376           UINT32_C(0xBD5266F3), UINT32_C(0x51A233E4), UINT32_C(0xF7D29C47),
9377           UINT32_C(0x4DE6A90C), UINT32_C(0x6887B48D)}},
9378         {{UINT32_C(0xDFDE1EF8), UINT32_C(0x087290A5), UINT32_C(0xA166950A),
9379           UINT32_C(0xC70CCB52), UINT32_C(0x4A170AAE), UINT32_C(0xAA7F095B),
9380           UINT32_C(0x5517CA0B), UINT32_C(0x15301F4E)},
9381          {UINT32_C(0x302F1F84), UINT32_C(0x3C86B787), UINT32_C(0x44676E39),
9382           UINT32_C(0x95D41535), UINT32_C(0x9DF5F751), UINT32_C(0xBFEC4AE3),
9383           UINT32_C(0x304923D3), UINT32_C(0x4A0D3986)}},
9384         {{UINT32_C(0x79B1390C), UINT32_C(0x70FAABA9), UINT32_C(0x62BA8B9E),
9385           UINT32_C(0xA9067EEE), UINT32_C(0x1E17DF6F), UINT32_C(0x98789503),
9386           UINT32_C(0x78D5B295), UINT32_C(0x5997E8AE)},
9387          {UINT32_C(0xAE0C6768), UINT32_C(0x31E13AD7), UINT32_C(0xEF17A7B1),
9388           UINT32_C(0x23262F05), UINT32_C(0x49B7B101), UINT32_C(0x15803227),
9389           UINT32_C(0x36B5BA70), UINT32_C(0x1234A9C5)}},
9390         {{UINT32_C(0x395793AC), UINT32_C(0xED65C961), UINT32_C(0xCCDE1C47),
9391           UINT32_C(0x01157CD8), UINT32_C(0x1D5614DF), UINT32_C(0x0D0240B0),
9392           UINT32_C(0x568E83A5), UINT32_C(0x0F0DA1EF)},
9393          {UINT32_C(0xC0B783C1), UINT32_C(0x57C90846), UINT32_C(0x81E2F613),
9394           UINT32_C(0x4501048C), UINT32_C(0xA2709DC1), UINT32_C(0x03D8A69B),
9395           UINT32_C(0xA97CCE0E), UINT32_C(0x06F365C4)}},
9396         {{UINT32_C(0x551580CD), UINT32_C(0xEAF23159), UINT32_C(0x053DD5EE),
9397           UINT32_C(0x0F1E586A), UINT32_C(0x3CBCC3D5), UINT32_C(0xEB7A78DD),
9398           UINT32_C(0xB014B850), UINT32_C(0x39BBC65A)},
9399          {UINT32_C(0x79B61AC7), UINT32_C(0x13DA4E85), UINT32_C(0x0DA59E37),
9400           UINT32_C(0x33E78DCF), UINT32_C(0x2A643C4C), UINT32_C(0x4E65AF25),
9401           UINT32_C(0x08869D03), UINT32_C(0x0DC38C97)}},
9402         {{UINT32_C(0xA3A38837), UINT32_C(0x2B648345), UINT32_C(0x905E261D),
9403           UINT32_C(0x2FA6D8F7), UINT32_C(0x66A14946), UINT32_C(0xA23BD786),
9404           UINT32_C(0x5E01CC9A), UINT32_C(0x781633FD)},
9405          {UINT32_C(0xE2C71AD1), UINT32_C(0xB1352709), UINT32_C(0x83A6D365),
9406           UINT32_C(0x9D745052), UINT32_C(0x66567032), UINT32_C(0xD88B5CAE),
9407           UINT32_C(0x53D875CA), UINT32_C(0x27FC40DF)}},
9408         {{UINT32_C(0x47F7554F), UINT32_C(0xB254E54C), UINT32_C(0xD708614D),
9409           UINT32_C(0x33AD0ED6), UINT32_C(0x76CE908D), UINT32_C(0x830566A3),
9410           UINT32_C(0xAA1ADD5C), UINT32_C(0x73DF94BD)},
9411          {UINT32_C(0x2DBDD8A3), UINT32_C(0x23EC411F), UINT32_C(0x3A979FDC),
9412           UINT32_C(0x9BA47338), UINT32_C(0xC667E9F7), UINT32_C(0x56A2C27F),
9413           UINT32_C(0x427E6BFB), UINT32_C(0x295647C7)}},
9414     },
9415     {
9416         {{UINT32_C(0xF8E48C13), UINT32_C(0x9B5F4652), UINT32_C(0x9EEF4BA3),
9417           UINT32_C(0xE979034F), UINT32_C(0x7CF5AF6E), UINT32_C(0xF95FD776),
9418           UINT32_C(0x506CEB46), UINT32_C(0x4236C47E)},
9419          {UINT32_C(0xE08D2312), UINT32_C(0x0C02A249), UINT32_C(0xC056499A),
9420           UINT32_C(0xAA5A38CC), UINT32_C(0x7C188B64), UINT32_C(0xCB26A8E2),
9421           UINT32_C(0x0AE373D5), UINT32_C(0x38FB961D)}},
9422         {{UINT32_C(0x7B23470D), UINT32_C(0xEB179C9E), UINT32_C(0x1EBC44E7),
9423           UINT32_C(0xAE70102F), UINT32_C(0x92E0EED0), UINT32_C(0x8184C1D4),
9424           UINT32_C(0x5C21BF08), UINT32_C(0x32988281)},
9425          {UINT32_C(0x8180D11E), UINT32_C(0x46958967), UINT32_C(0x7FD7278D),
9426           UINT32_C(0xEBD5518C), UINT32_C(0xAD2B74F7), UINT32_C(0xFCEB7F68),
9427           UINT32_C(0xF9C7B6DA), UINT32_C(0x082D2011)}},
9428         {{UINT32_C(0xBBE0299D), UINT32_C(0x65D5AED1), UINT32_C(0xCF565A0A),
9429           UINT32_C(0x0077F756), UINT32_C(0x344BB90D), UINT32_C(0xD44FCD6B),
9430           UINT32_C(0x536F3F25), UINT32_C(0x6C2A19C0)},
9431          {UINT32_C(0xBB2A4D91), UINT32_C(0x32EE7439), UINT32_C(0xED9351E1),
9432           UINT32_C(0xA97E677A), UINT32_C(0x413A16E0), UINT32_C(0x6752EDCF),
9433           UINT32_C(0x1CE4FBE6), UINT32_C(0x5DE1B0C7)}},
9434         {{UINT32_C(0xD6009B36), UINT32_C(0x6C10DA15), UINT32_C(0xE5D8CFBE),
9435           UINT32_C(0xAAD05F4F), UINT32_C(0x31D58B76), UINT32_C(0xD8BCE0B4),
9436           UINT32_C(0x27B2811B), UINT32_C(0x08DE344E)},
9437          {UINT32_C(0x80B51E48), UINT32_C(0xD9A78AAE), UINT32_C(0x3E41C63A),
9438           UINT32_C(0x1E1D0A81), UINT32_C(0x8076B3C7), UINT32_C(0x844376DE),
9439           UINT32_C(0x5FDF9D53), UINT32_C(0x73F0D4A3)}},
9440         {{UINT32_C(0x558C7719), UINT32_C(0xF1532922), UINT32_C(0xA8221197),
9441           UINT32_C(0x0F10188A), UINT32_C(0x5DDC1716), UINT32_C(0x51A97E5F),
9442           UINT32_C(0x444789E7), UINT32_C(0x0F583A9B)},
9443          {UINT32_C(0x97D63B87), UINT32_C(0xAA8FC58D), UINT32_C(0x1CFDA59C),
9444           UINT32_C(0xA5AF048B), UINT32_C(0x2DDB34EB), UINT32_C(0x2A4A0C5F),
9445           UINT32_C(0x701E2E07), UINT32_C(0x66C0F0C7)}},
9446         {{UINT32_C(0x36BE2ABF), UINT32_C(0xC0BC88B8), UINT32_C(0x5C721B85),
9447           UINT32_C(0x265CCE74), UINT32_C(0xD54299BA), UINT32_C(0x483EBB01),
9448           UINT32_C(0x348ED89E), UINT32_C(0x18F11CBE)},
9449          {UINT32_C(0xE42129D4), UINT32_C(0x5E9AE7B9), UINT32_C(0x81DE5B77),
9450           UINT32_C(0x6B3E9E8D), UINT32_C(0x7A14A74A), UINT32_C(0xB3ADBAC9),
9451           UINT32_C(0x0003B266), UINT32_C(0x1B6CEBB2)}},
9452         {{UINT32_C(0x15EB200E), UINT32_C(0xD4D4DD10), UINT32_C(0xFB87C57B),
9453           UINT32_C(0xEEAEA4C6), UINT32_C(0x72FF6321), UINT32_C(0x48F0B957),
9454           UINT32_C(0xB782B01D), UINT32_C(0x187C4B75)},
9455          {UINT32_C(0xE9B4D622), UINT32_C(0x3DC1AACD), UINT32_C(0x3F4ED519),
9456           UINT32_C(0x0358418E), UINT32_C(0x773D019C), UINT32_C(0x981A24F8),
9457           UINT32_C(0x3DB0B4F4), UINT32_C(0x6643CA91)}},
9458         {{UINT32_C(0xD47670E3), UINT32_C(0xE3254F4B), UINT32_C(0x30B1DDE9),
9459           UINT32_C(0x98226125), UINT32_C(0xDA8AF160), UINT32_C(0x61EB6C86),
9460           UINT32_C(0x18363269), UINT32_C(0x725C7716)},
9461          {UINT32_C(0x02F62462), UINT32_C(0xB051DC9F), UINT32_C(0x00AC5531),
9462           UINT32_C(0xFF8C9EDF), UINT32_C(0x962A92A3), UINT32_C(0x3909C79B),
9463           UINT32_C(0x27790237), UINT32_C(0x25C90D93)}},
9464         {{UINT32_C(0x88ADC475), UINT32_C(0x0A5DF2CC), UINT32_C(0xE5D27D0A),
9465           UINT32_C(0x48D26967), UINT32_C(0x359FF194), UINT32_C(0x21D5F616),
9466           UINT32_C(0x89977CE2), UINT32_C(0x38ACD141)},
9467          {UINT32_C(0xFDAA8ACB), UINT32_C(0x39B9BD92), UINT32_C(0x035B62D0),
9468           UINT32_C(0xDB157DF2), UINT32_C(0xB7D252D9), UINT32_C(0x4E33386E),
9469           UINT32_C(0xCF196258), UINT32_C(0x6BD2E33F)}},
9470         {{UINT32_C(0xCE8F10C5), UINT32_C(0xE0806297), UINT32_C(0x8A14B746),
9471           UINT32_C(0x446AFD6D), UINT32_C(0xBF566190), UINT32_C(0xD7931F29),
9472           UINT32_C(0x86FDB72A), UINT32_C(0x4D9CFBFA)},
9473          {UINT32_C(0x95009F63), UINT32_C(0x77528851), UINT32_C(0x34C0FF45),
9474           UINT32_C(0x5FE50134), UINT32_C(0x6E134B81), UINT32_C(0xC38CABBB),
9475           UINT32_C(0xE36DB037), UINT32_C(0x2E60B277)}},
9476         {{UINT32_C(0x57184CA5), UINT32_C(0xA614CF67), UINT32_C(0x25BE01E3),
9477           UINT32_C(0x6CBD8D63), UINT32_C(0xA0030BE3), UINT32_C(0xE313EE8D),
9478           UINT32_C(0x2B1E7C60), UINT32_C(0x69AF0399)},
9479          {UINT32_C(0x50423F30), UINT32_C(0x519ABFBB), UINT32_C(0x486B9519),
9480           UINT32_C(0x200111FF), UINT32_C(0x3351F692), UINT32_C(0x6FF93CCB),
9481           UINT32_C(0x3ED9BE71), UINT32_C(0x32EB3E54)}},
9482         {{UINT32_C(0x54052EBD), UINT32_C(0x0851ACB9), UINT32_C(0x6D2336D7),
9483           UINT32_C(0x3A389B7B), UINT32_C(0x17C6ACD9), UINT32_C(0x50A87925),
9484           UINT32_C(0xB807D9B1), UINT32_C(0x031FE845)},
9485          {UINT32_C(0xE22F7492), UINT32_C(0xA348BB01), UINT32_C(0x05F39661),
9486           UINT32_C(0x9547ED36), UINT32_C(0x68EC4AC2), UINT32_C(0x97DF6756),
9487           UINT32_C(0x85B7F81B), UINT32_C(0x5836FEFE)}},
9488         {{UINT32_C(0x5F0B2ACB), UINT32_C(0x4E4869A6), UINT32_C(0xDEC46001),
9489           UINT32_C(0xC4798F3F), UINT32_C(0x00903474), UINT32_C(0x281A4ED6),
9490           UINT32_C(0xEFB9AABD), UINT32_C(0x04F22E9D)},
9491          {UINT32_C(0xFAA721A4), UINT32_C(0x2AC92264), UINT32_C(0x276F8041),
9492           UINT32_C(0xBCE2FF0B), UINT32_C(0xE4943926), UINT32_C(0x5F605607),
9493           UINT32_C(0x55506DF7), UINT32_C(0x388C5FAB)}},
9494         {{UINT32_C(0xAB5687E2), UINT32_C(0xFF104F6D), UINT32_C(0x3B2D0245),
9495           UINT32_C(0x1B6DAFE9), UINT32_C(0x81B2EC4B), UINT32_C(0x6405C026),
9496           UINT32_C(0xF489EBBC), UINT32_C(0x2B7676DA)},
9497          {UINT32_C(0x6DA1F57A), UINT32_C(0xBAA158F0), UINT32_C(0x27A8457F),
9498           UINT32_C(0x9CB044AD), UINT32_C(0xA3BBD6C9), UINT32_C(0xC23737A5),
9499           UINT32_C(0x1D2267E1), UINT32_C(0x71FB5B47)}},
9500         {{UINT32_C(0xD14F56E4), UINT32_C(0x779BD825), UINT32_C(0x08396F23),
9501           UINT32_C(0xD7E672A0), UINT32_C(0xD40BA6EE), UINT32_C(0x23FE3FC0),
9502           UINT32_C(0x3B56A3AB), UINT32_C(0x41E749E7)},
9503          {UINT32_C(0x72042F67), UINT32_C(0xD19471CE), UINT32_C(0x4989D4D7),
9504           UINT32_C(0x8A686DA7), UINT32_C(0x4FA09BC9), UINT32_C(0x52A709C6),
9505           UINT32_C(0xB3B6AA64), UINT32_C(0x1DC21162)}},
9506         {{UINT32_C(0xF9B3BD1D), UINT32_C(0x62C9838B), UINT32_C(0x0CE6384C),
9507           UINT32_C(0x1EE59E5A), UINT32_C(0xECE8CC7F), UINT32_C(0xA9F5ABF6),
9508           UINT32_C(0x80BDDA83), UINT32_C(0x1961D80F)},
9509          {UINT32_C(0xCA406FB1), UINT32_C(0x7A40880C), UINT32_C(0xDFBCE2E4),
9510           UINT32_C(0x5035D307), UINT32_C(0x3D637299), UINT32_C(0x590259E0),
9511           UINT32_C(0xD6C34E05), UINT32_C(0x1607AC9F)}},
9512     },
9513     {
9514         {{UINT32_C(0x9D818B72), UINT32_C(0x4ABC2710), UINT32_C(0x092607B7),
9515           UINT32_C(0x2496CEA6), UINT32_C(0x055C4EC8), UINT32_C(0xFB1087E1),
9516           UINT32_C(0x258ADC7D), UINT32_C(0x50A30C6A)},
9517          {UINT32_C(0x0FF502E3), UINT32_C(0xAF4EB6B3), UINT32_C(0x190607AB),
9518           UINT32_C(0x5D5D76AD), UINT32_C(0x34482C13), UINT32_C(0xC9C9B711),
9519           UINT32_C(0x42213696), UINT32_C(0x574A9718)}},
9520         {{UINT32_C(0x7018FC70), UINT32_C(0x7C90FAFD), UINT32_C(0x2B83291C),
9521           UINT32_C(0x36A04559), UINT32_C(0x40D1B175), UINT32_C(0x6120B51E),
9522           UINT32_C(0x3DCF9606), UINT32_C(0x45F10B20)},
9523          {UINT32_C(0xF20C5636), UINT32_C(0x3C6A9EFF), UINT32_C(0xFFBBC648),
9524           UINT32_C(0xB2768BA3), UINT32_C(0xB523B36C), UINT32_C(0x1C9DF90A),
9525           UINT32_C(0xD6FF34ED), UINT32_C(0x4148BF06)}},
9526         {{UINT32_C(0x3B5F9492), UINT32_C(0x3D29821A), UINT32_C(0x90B24561),
9527           UINT32_C(0xAE12C782), UINT32_C(0x8A3BDC5F), UINT32_C(0xEF6FB277),
9528           UINT32_C(0xAC3BD74E), UINT32_C(0x6034BF3B)},
9529          {UINT32_C(0x4ACB6F85), UINT32_C(0x131D57CD), UINT32_C(0x3BE79B31),
9530           UINT32_C(0xDED1C433), UINT32_C(0x78A896B8), UINT32_C(0xB0913489),
9531           UINT32_C(0xB287862C), UINT32_C(0x1247C0B7)}},
9532         {{UINT32_C(0x7C494054), UINT32_C(0xEB642893), UINT32_C(0x22142D26),
9533           UINT32_C(0x79227930), UINT32_C(0x943E8398), UINT32_C(0x8F1C8371),
9534           UINT32_C(0x60886DB7), UINT32_C(0x583C7AEF)},
9535          {UINT32_C(0x3A12EE0E), UINT32_C(0xAFE46022), UINT32_C(0xB6CB8685),
9536           UINT32_C(0xE9C9253A), UINT32_C(0x6316A4C6), UINT32_C(0x5334F9DD),
9537           UINT32_C(0xE6F1DEE9), UINT32_C(0x4E2F13D8)}},
9538         {{UINT32_C(0xB37D8BA5), UINT32_C(0x7499A5B4), UINT32_C(0x1C9BCDE2),
9539           UINT32_C(0xA12AA637), UINT32_C(0xBFD6AE86), UINT32_C(0xCC99471D),
9540           UINT32_C(0x92048D63), UINT32_C(0x09966378)},
9541          {UINT32_C(0x552E71A3), UINT32_C(0x42CBFA9D), UINT32_C(0x675C1716),
9542           UINT32_C(0x84A8B153), UINT32_C(0x4CF00A7D), UINT32_C(0xB9C07C0E),
9543           UINT32_C(0x0DA504DB), UINT32_C(0x32E2322B)}},
9544         {{UINT32_C(0xE671EE59), UINT32_C(0x569F581F), UINT32_C(0x422E86C7),
9545           UINT32_C(0x293522D7), UINT32_C(0x15DCEF10), UINT32_C(0x5E4CEA7E),
9546           UINT32_C(0x483C0FE3), UINT32_C(0x67C8A9FC)},
9547          {UINT32_C(0x47B79284), UINT32_C(0x4DE5AC09), UINT32_C(0x025016BA),
9548           UINT32_C(0x22AB8FBD), UINT32_C(0x2A099B37), UINT32_C(0x51318C23),
9549           UINT32_C(0x49E06623), UINT32_C(0x542EA0FA)}},
9550         {{UINT32_C(0x28909F31), UINT32_C(0xDD240F64), UINT32_C(0x101B7F01),
9551           UINT32_C(0x46B66F9E), UINT32_C(0x20481C3F), UINT32_C(0x788C29CA),
9552           UINT32_C(0xCA5D5182), UINT32_C(0x3218A509)},
9553          {UINT32_C(0x63E9A2B9), UINT32_C(0x64BCC7AD), UINT32_C(0xADDF5C0B),
9554           UINT32_C(0x3D213CA2), UINT32_C(0x9960D650), UINT32_C(0x6D93ED4C),
9555           UINT32_C(0x284EE5F3), UINT32_C(0x3F13DB22)}},
9556         {{UINT32_C(0x6697E0D1), UINT32_C(0x5B678C3A), UINT32_C(0x16D9D878),
9557           UINT32_C(0x25A171F4), UINT32_C(0xFAEC362B), UINT32_C(0xC20A6D80),
9558           UINT32_C(0xC512EA4B), UINT32_C(0x1BB3F14C)},
9559          {UINT32_C(0x2AE35FA5), UINT32_C(0xECE5313B), UINT32_C(0xBBD76B87),
9560           UINT32_C(0xE390A01F), UINT32_C(0x882DA3FC), UINT32_C(0xC78EA4C5),
9561           UINT32_C(0x42086A77), UINT32_C(0x771BCDAE)}},
9562         {{UINT32_C(0x565802E9), UINT32_C(0x8E9E3C8B), UINT32_C(0x53FA1BE7),
9563           UINT32_C(0xC37A7B35), UINT32_C(0x4408FB77), UINT32_C(0x9D2F1A26),
9564           UINT32_C(0xFF308B7B), UINT32_C(0x0B3ECE36)},
9565          {UINT32_C(0x1F30FC37), UINT32_C(0x8FB35B36), UINT32_C(0x83E1A3C9),
9566           UINT32_C(0x463B44E2), UINT32_C(0x3402233A), UINT32_C(0x7218F09F),
9567           UINT32_C(0xFC9A6990), UINT32_C(0x1519638A)}},
9568         {{UINT32_C(0x8EAAC478), UINT32_C(0x51FB3E5D), UINT32_C(0x760ED4EC),
9569           UINT32_C(0x620E4826), UINT32_C(0x1D865577), UINT32_C(0x46FC5B1F),
9570           UINT32_C(0x5244A538), UINT32_C(0x15EF2AD9)},
9571          {UINT32_C(0x4BF382BD), UINT32_C(0x8D7E477C), UINT32_C(0x02A5C9EE),
9572           UINT32_C(0xCBF170C9), UINT32_C(0x4AFB0EC1), UINT32_C(0xB91A870C),
9573           UINT32_C(0x69C31425), UINT32_C(0x052FFC51)}},
9574         {{UINT32_C(0x2018D066), UINT32_C(0x1FD43746), UINT32_C(0x4C67FC35),
9575           UINT32_C(0xBC501517), UINT32_C(0xBC990EB6), UINT32_C(0xE65BC2FB),
9576           UINT32_C(0x73F87F92), UINT32_C(0x538CA6F9)},
9577          {UINT32_C(0x8352B03F), UINT32_C(0x42FBDAE0), UINT32_C(0x99A4C9B9),
9578           UINT32_C(0xF265B1E0), UINT32_C(0x185CA070), UINT32_C(0x6E3EAB2F),
9579           UINT32_C(0x37D0A2C1), UINT32_C(0x6E6F4F7D)}},
9580         {{UINT32_C(0xC2D5D73E), UINT32_C(0x9B20D8EE), UINT32_C(0x75844C15),
9581           UINT32_C(0x190521AE), UINT32_C(0x26AD08FE), UINT32_C(0x67663AC4),
9582           UINT32_C(0xF984EC06), UINT32_C(0x67AEEFEF)},
9583          {UINT32_C(0xCBDD87EF), UINT32_C(0x61C71142), UINT32_C(0x63396E3B),
9584           UINT32_C(0x0FA4995B), UINT32_C(0x85C193B0), UINT32_C(0x3196E551),
9585           UINT32_C(0xDACB3A3D), UINT32_C(0x36C0A2A8)}},
9586         {{UINT32_C(0x178A1115), UINT32_C(0xEAB89FDC), UINT32_C(0xD7C31303),
9587           UINT32_C(0xC7B764D8), UINT32_C(0x90203755), UINT32_C(0xA5B2D6FB),
9588           UINT32_C(0xD5F8AEEE), UINT32_C(0x3C360BF9)},
9589          {UINT32_C(0x02F1CC3C), UINT32_C(0x8DFDCD05), UINT32_C(0x64E5269E),
9590           UINT32_C(0x7F8A64D2), UINT32_C(0xEA13FFD7), UINT32_C(0xA36196EC),
9591           UINT32_C(0x77E3839F), UINT32_C(0x35E22415)}},
9592         {{UINT32_C(0xE22E0C52), UINT32_C(0x29E7AB0B), UINT32_C(0x8B27DEDA),
9593           UINT32_C(0x68BF32C7), UINT32_C(0xDC7971AE), UINT32_C(0x52A762A2),
9594           UINT32_C(0x18B0CDCC), UINT32_C(0x4CA43487)},
9595          {UINT32_C(0x3FCEAF73), UINT32_C(0xED429DA1), UINT32_C(0x06718D19),
9596           UINT32_C(0x49396E6F), UINT32_C(0x5BB3301C), UINT32_C(0xDECB9337),
9597           UINT32_C(0x0FF489B1), UINT32_C(0x4B7723C1)}},
9598         {{UINT32_C(0xABEE6B9B), UINT32_C(0xAE321F09), UINT32_C(0x37318F60),
9599           UINT32_C(0xF251BF4D), UINT32_C(0xB63DC269), UINT32_C(0xB0A8A251),
9600           UINT32_C(0x71817963), UINT32_C(0x514A25FC)},
9601          {UINT32_C(0x55C9B2E9), UINT32_C(0x518F5747), UINT32_C(0x1C9B4845),
9602           UINT32_C(0x3E56CC3E), UINT32_C(0x283AE1FA), UINT32_C(0xBDFD637A),
9603           UINT32_C(0xC3DE778E), UINT32_C(0x419BA4B4)}},
9604         {{UINT32_C(0xBCD2EB74), UINT32_C(0xC7F18E93), UINT32_C(0xFC61FB42),
9605           UINT32_C(0x171264C8), UINT32_C(0x85119033), UINT32_C(0x27282E76),
9606           UINT32_C(0xD7DB91C7), UINT32_C(0x225006A4)},
9607          {UINT32_C(0x1ECF5024), UINT32_C(0x628E0F3C), UINT32_C(0x00859CDE),
9608           UINT32_C(0xDC5111E0), UINT32_C(0x1F220711), UINT32_C(0x4AB1764F),
9609           UINT32_C(0x70DDED3C), UINT32_C(0x7C6916F1)}},
9610     },
9611     {
9612         {{UINT32_C(0x5F0CA58A), UINT32_C(0xF9FFE8FC), UINT32_C(0x22879EBB),
9613           UINT32_C(0x09E34F30), UINT32_C(0xED7B0520), UINT32_C(0x648D6339),
9614           UINT32_C(0x1AF5ECDC), UINT32_C(0x0D6719D0)},
9615          {UINT32_C(0x0B8590E4), UINT32_C(0x2878714D), UINT32_C(0x90EC312B),
9616           UINT32_C(0x827D04ED), UINT32_C(0x3B5767C3), UINT32_C(0xD415C8B4),
9617           UINT32_C(0xC09FD18D), UINT32_C(0x4170F0AD)}},
9618         {{UINT32_C(0x3C601031), UINT32_C(0x9B649CFC), UINT32_C(0x636DDAE7),
9619           UINT32_C(0x0478603A), UINT32_C(0x914E100A), UINT32_C(0xDC972DFA),
9620           UINT32_C(0x091621AE), UINT32_C(0x519C55DF)},
9621          {UINT32_C(0xD4A9963D), UINT32_C(0x863046CB), UINT32_C(0x5ACF7C0C),
9622           UINT32_C(0xDF16763C), UINT32_C(0xFF5468A4), UINT32_C(0x4999A93E),
9623           UINT32_C(0x424074A5), UINT32_C(0x35543EFF)}},
9624         {{UINT32_C(0xDD33307C), UINT32_C(0x27B1DBFA), UINT32_C(0x927CA6F3),
9625           UINT32_C(0xA0D04784), UINT32_C(0xA37CF855), UINT32_C(0xBD3EBC5E),
9626           UINT32_C(0x49F5AA2C), UINT32_C(0x59D02EF5)},
9627          {UINT32_C(0xBDD57BF3), UINT32_C(0xCDABE86F), UINT32_C(0x37819D86),
9628           UINT32_C(0x7B3ADD2F), UINT32_C(0x0413B7B0), UINT32_C(0x7B90BA15),
9629           UINT32_C(0x6B99685B), UINT32_C(0x47071782)}},
9630         {{UINT32_C(0xEF0CE97F), UINT32_C(0xB7C3218E), UINT32_C(0x0898C79C),
9631           UINT32_C(0xDAE3B56C), UINT32_C(0x0908877D), UINT32_C(0x6349D83D),
9632           UINT32_C(0xC81E8C4E), UINT32_C(0x0970C6C0)},
9633          {UINT32_C(0xA47F426C), UINT32_C(0x0E45C4A7), UINT32_C(0x3FBB194E),
9634           UINT32_C(0xAB000A59), UINT32_C(0x3A6DD13E), UINT32_C(0x570FBBA5),
9635           UINT32_C(0xC8F44A57), UINT32_C(0x66045580)}},
9636         {{UINT32_C(0x12A72F7F), UINT32_C(0x5ABEB749), UINT32_C(0x7AE56F4D),
9637           UINT32_C(0x15072A92), UINT32_C(0x222AB2C4), UINT32_C(0x1C77AE00),
9638           UINT32_C(0x9AFE63DE), UINT32_C(0x591EAEC6)},
9639          {UINT32_C(0xDFD24304), UINT32_C(0xB51D41AF), UINT32_C(0xDFBCC096),
9640           UINT32_C(0xDE28DF26), UINT32_C(0x38A20DA7), UINT32_C(0x02F046C8),
9641           UINT32_C(0x1AE0A45B), UINT32_C(0x5EC3DBDC)}},
9642         {{UINT32_C(0x63DD86C2), UINT32_C(0x7C19BD75), UINT32_C(0x8D78A57B),
9643           UINT32_C(0xDB119311), UINT32_C(0x23C5C4E7), UINT32_C(0xF48BB4FA),
9644           UINT32_C(0x97DB0A05), UINT32_C(0x65514C1C)},
9645          {UINT32_C(0x43CAC49C), UINT32_C(0x1BC1F2F0), UINT32_C(0x2851B4BE),
9646           UINT32_C(0x975FEB51), UINT32_C(0xDD60D530), UINT32_C(0x0E0A4633),
9647           UINT32_C(0x09B1D2C6), UINT32_C(0x32BBBF14)}},
9648         {{UINT32_C(0xA670EAC0), UINT32_C(0x79124749), UINT32_C(0x31DD893C),
9649           UINT32_C(0x504D89D5), UINT32_C(0xE0654D63), UINT32_C(0xDDCED74C),
9650           UINT32_C(0xE2208707), UINT32_C(0x58956BE5)},
9651          {UINT32_C(0x437E7077), UINT32_C(0xBE6A3ECD), UINT32_C(0x574095C8),
9652           UINT32_C(0xB8AB332D), UINT32_C(0x3869DA42), UINT32_C(0x4E79AC1C),
9653           UINT32_C(0x68859F51), UINT32_C(0x79D4C3FB)}},
9654         {{UINT32_C(0x7936A831), UINT32_C(0x1E5FC1B9), UINT32_C(0xD74F1F41),
9655           UINT32_C(0x1EA42ED2), UINT32_C(0xC4EA3228), UINT32_C(0x33D22EC1),
9656           UINT32_C(0x729BEBFE), UINT32_C(0x5705333F)},
9657          {UINT32_C(0x64596076), UINT32_C(0xDBD1A67B), UINT32_C(0xFA65BA98),
9658           UINT32_C(0x6BFF269D), UINT32_C(0x6C47E715), UINT32_C(0x8451A9C2),
9659           UINT32_C(0x22898DB3), UINT32_C(0x243D679D)}},
9660         {{UINT32_C(0xB8323FD0), UINT32_C(0xE935D705), UINT32_C(0x6937E5CB),
9661           UINT32_C(0xE2DA8845), UINT32_C(0x4A5EAE1E), UINT32_C(0x1C9DFFF8),
9662           UINT32_C(0x45DF7A79), UINT32_C(0x796F0B95)},
9663          {UINT32_C(0x640DBA32), UINT32_C(0xC24D573F), UINT32_C(0x02E4B792),
9664           UINT32_C(0x2B775217), UINT32_C(0x94D12C40), UINT32_C(0xD437EB63),
9665           UINT32_C(0x4AD371F0), UINT32_C(0x6182AF6D)}},
9666         {{UINT32_C(0x41FC7551), UINT32_C(0x133EDA52), UINT32_C(0xE91714AF),
9667           UINT32_C(0xA0088A2B), UINT32_C(0x5E0A73C0), UINT32_C(0xB41B9AC2),
9668           UINT32_C(0x1D3B3953), UINT32_C(0x4808BB5A)},
9669          {UINT32_C(0x2B9AE648), UINT32_C(0xD875AA14), UINT32_C(0x2408244C),
9670           UINT32_C(0x4F38C946), UINT32_C(0xFF051A87), UINT32_C(0x04B6B941),
9671           UINT32_C(0x6DF48ECD), UINT32_C(0x1D5B0B9E)}},
9672         {{UINT32_C(0x169E757F), UINT32_C(0x27FD368A), UINT32_C(0x7B94D9DB),
9673           UINT32_C(0x2ACB3560), UINT32_C(0x4D4C9B5F), UINT32_C(0x81903F4B),
9674           UINT32_C(0x169B81DE), UINT32_C(0x641F806C)},
9675          {UINT32_C(0x9E957475), UINT32_C(0x574E9444), UINT32_C(0xC6C8EE52),
9676           UINT32_C(0xE08814AE), UINT32_C(0x6C84FDDF), UINT32_C(0xD1AE71EC),
9677           UINT32_C(0xFAA040D9), UINT32_C(0x44A56014)}},
9678         {{UINT32_C(0x75A48F60), UINT32_C(0x06DA6908), UINT32_C(0xBB2CD408),
9679           UINT32_C(0x7BA6C9CB), UINT32_C(0x3A1BCBFF), UINT32_C(0x57D2D0FF),
9680           UINT32_C(0x8928CE36), UINT32_C(0x186F1A8B)},
9681          {UINT32_C(0x7A40F877), UINT32_C(0x0FFD205B), UINT32_C(0x01AF68F7),
9682           UINT32_C(0x2915BC8E), UINT32_C(0xC36A5FB1), UINT32_C(0x816AC4DF),
9683           UINT32_C(0x2C9E1F7D), UINT32_C(0x609B0A87)}},
9684         {{UINT32_C(0xB97536FB), UINT32_C(0x4032AC5E), UINT32_C(0xA7C5EDB6),
9685           UINT32_C(0x53E6FE68), UINT32_C(0x5F0DCBA1), UINT32_C(0x2F414930),
9686           UINT32_C(0x2837E314), UINT32_C(0x20975256)},
9687          {UINT32_C(0x3C3C1D27), UINT32_C(0xDF5DC496), UINT32_C(0x71797C36),
9688           UINT32_C(0x0DFDAAF3), UINT32_C(0xDA504E04), UINT32_C(0x5F3E9229),
9689           UINT32_C(0x8C234246), UINT32_C(0x354EA88D)}},
9690         {{UINT32_C(0x0922D317), UINT32_C(0xAF6741C3), UINT32_C(0x9DF0A572),
9691           UINT32_C(0x7429853B), UINT32_C(0x1DC207A8), UINT32_C(0x0EA1AE04),
9692           UINT32_C(0x450075F5), UINT32_C(0x2C1DAA1C)},
9693          {UINT32_C(0x6ED729B4), UINT32_C(0x27C71F16), UINT32_C(0x53AB8EC0),
9694           UINT32_C(0x785718A6), UINT32_C(0xA8465487), UINT32_C(0x1EEC7BBF),
9695           UINT32_C(0x4C578BA9), UINT32_C(0x78DA9B04)}},
9696         {{UINT32_C(0xB3B707FA), UINT32_C(0xFF9ED65E), UINT32_C(0xF5D28D33),
9697           UINT32_C(0xF8C8301F), UINT32_C(0xA65F5C0F), UINT32_C(0xB15D498F),
9698           UINT32_C(0xB0EF2B89), UINT32_C(0x6DEF256D)},
9699          {UINT32_C(0x52184EF6), UINT32_C(0x0D40A6B2), UINT32_C(0x2BF06F5A),
9700           UINT32_C(0xC702EBE5), UINT32_C(0x4BA041AA), UINT32_C(0x13E50E18),
9701           UINT32_C(0x7EC4C784), UINT32_C(0x53552D88)}},
9702         {{UINT32_C(0xF28ABB3A), UINT32_C(0x2CD09B19), UINT32_C(0x724EDB9B),
9703           UINT32_C(0x4F5C040F), UINT32_C(0xE0DCBD16), UINT32_C(0xD6820590),
9704           UINT32_C(0x1B7155A3), UINT32_C(0x45D84DE9)},
9705          {UINT32_C(0xA251B1BA), UINT32_C(0x995BDD01), UINT32_C(0x37CAA4DC),
9706           UINT32_C(0x607F9517), UINT32_C(0xA15D9674), UINT32_C(0x747FEA1C),
9707           UINT32_C(0x73E97C97), UINT32_C(0x646C1876)}},
9708     },
9709     {
9710         {{UINT32_C(0x6FAC1486), UINT32_C(0x1951682B), UINT32_C(0x4A4D14C5),
9711           UINT32_C(0x8B578E1E), UINT32_C(0xB7384D42), UINT32_C(0x083FA101),
9712           UINT32_C(0xED1C8A87), UINT32_C(0x13380CE9)},
9713          {UINT32_C(0x732A493B), UINT32_C(0xC7052ED8), UINT32_C(0xB32E3D69),
9714           UINT32_C(0xD5FEF40F), UINT32_C(0x88833566), UINT32_C(0xA64ACE87),
9715           UINT32_C(0x4177DC00), UINT32_C(0x6E36CFDB)}},
9716         {{UINT32_C(0xE742C3B4), UINT32_C(0xAA14E281), UINT32_C(0xEE5AF40A),
9717           UINT32_C(0xB75E7B2A), UINT32_C(0x1616EFA2), UINT32_C(0x3FC5FF0B),
9718           UINT32_C(0xAD763298), UINT32_C(0x090259B0)},
9719          {UINT32_C(0x38753438), UINT32_C(0x4105B57E), UINT32_C(0xCF2D8926),
9720           UINT32_C(0x70ED1A00), UINT32_C(0x322F40BB), UINT32_C(0x78921395),
9721           UINT32_C(0x67A3FF56), UINT32_C(0x3AEE8199)}},
9722         {{UINT32_C(0x11EA75FC), UINT32_C(0x88073D00), UINT32_C(0x06A4B4EB),
9723           UINT32_C(0xD23D2796), UINT32_C(0xD85D3A6B), UINT32_C(0x1FD22F9E),
9724           UINT32_C(0xAFB43B70), UINT32_C(0x6B5EA051)},
9725          {UINT32_C(0xD99BE576), UINT32_C(0x96C9C176), UINT32_C(0x4C47261E),
9726           UINT32_C(0x85AC2B6C), UINT32_C(0x99A9C378), UINT32_C(0x27263959),
9727           UINT32_C(0x8B5CABDA), UINT32_C(0x6D36E9FE)}},
9728         {{UINT32_C(0xA58F614C), UINT32_C(0xC9FC7661), UINT32_C(0x2E45AE73),
9729           UINT32_C(0x82AA317D), UINT32_C(0xC8CB9CC7), UINT32_C(0xDCB1925F),
9730           UINT32_C(0x27813205), UINT32_C(0x1341C1AA)},
9731          {UINT32_C(0x6CD478AB), UINT32_C(0xDD06745B), UINT32_C(0x1E28F6A3),
9732           UINT32_C(0x0C2534B2), UINT32_C(0x9D27FE63), UINT32_C(0xE2183345),
9733           UINT32_C(0x06466147), UINT32_C(0x7F1E2A33)}},
9734         {{UINT32_C(0x5AEE2471), UINT32_C(0x378D727E), UINT32_C(0xD47739B6),
9735           UINT32_C(0xB718FC17), UINT32_C(0x4145E8EF), UINT32_C(0xDA27CB9B),
9736           UINT32_C(0x0EF2AB20), UINT32_C(0x3F8AB1A3)},
9737          {UINT32_C(0xE16C0141), UINT32_C(0xA89ADD37), UINT32_C(0x59DF1C95),
9738           UINT32_C(0x2127823B), UINT32_C(0xB7455CC2), UINT32_C(0x53F90B73),
9739           UINT32_C(0x1183FBE5), UINT32_C(0x7F960586)}},
9740         {{UINT32_C(0xE77235C3), UINT32_C(0x56D0475A), UINT32_C(0xB18ED61A),
9741           UINT32_C(0xED2907C5), UINT32_C(0x7D73F6F8), UINT32_C(0x2D02C4CB),
9742           UINT32_C(0xC42E7AED), UINT32_C(0x35EF69B4)},
9743          {UINT32_C(0x31B7324A), UINT32_C(0x53A6120A), UINT32_C(0x59F1A395),
9744           UINT32_C(0x982DD221), UINT32_C(0x835CFD94), UINT32_C(0x03ECA86F),
9745           UINT32_C(0x73CA1BD5), UINT32_C(0x4CBA837D)}},
9746         {{UINT32_C(0x41B17E6D), UINT32_C(0x64F66D39), UINT32_C(0xCB14F3B3),
9747           UINT32_C(0x3C869BF5), UINT32_C(0x28350EFA), UINT32_C(0x1EBA045A),
9748           UINT32_C(0xC7CDEC47), UINT32_C(0x7ACFB882)},
9749          {UINT32_C(0x8FB3097B), UINT32_C(0x7ACFD28D), UINT32_C(0x62986426),
9750           UINT32_C(0xDA397C31), UINT32_C(0x2A1A7A94), UINT32_C(0xD49F8421),
9751           UINT32_C(0xFAB65156), UINT32_C(0x7B372E2D)}},
9752         {{UINT32_C(0x01D9DB0F), UINT32_C(0x3ADBDD07), UINT32_C(0x94FF0CFB),
9753           UINT32_C(0x617521E6), UINT32_C(0x3F5BD583), UINT32_C(0x5BA5905C),
9754           UINT32_C(0x78670CD1), UINT32_C(0x6F896033)},
9755          {UINT32_C(0xFB98EA11), UINT32_C(0x0A59C447), UINT32_C(0x653EDC59),
9756           UINT32_C(0x59B918CC), UINT32_C(0x9F72C01E), UINT32_C(0x00BF4D2A),
9757           UINT32_C(0x47DEE00F), UINT32_C(0x748455D1)}},
9758         {{UINT32_C(0x386E7491), UINT32_C(0xE371A7A8), UINT32_C(0x621A3484),
9759           UINT32_C(0xF71711CC), UINT32_C(0xE0015C3B), UINT32_C(0x1568256E),
9760           UINT32_C(0x7D3FFDE9), UINT32_C(0x5ACEF7A6)},
9761          {UINT32_C(0xB08E4219), UINT32_C(0x02ED70E5), UINT32_C(0x832AC3AA),
9762           UINT32_C(0x7ECE1726), UINT32_C(0x951D1CA2), UINT32_C(0xC3C0D32B),
9763           UINT32_C(0x38DECC59), UINT32_C(0x4C991664)}},
9764         {{UINT32_C(0x96EB21A4), UINT32_C(0xB99DF8BA), UINT32_C(0x2BBF8E6D),
9765           UINT32_C(0xB88D25F4), UINT32_C(0x686DAA3C), UINT32_C(0x16B3E0B1),
9766           UINT32_C(0x70D47C57), UINT32_C(0x11314561)},
9767          {UINT32_C(0x3338342D), UINT32_C(0x8DCDC3D1), UINT32_C(0x88E028A7),
9768           UINT32_C(0xE6D39B01), UINT32_C(0x72855B5E), UINT32_C(0xB781F1ED),
9769           UINT32_C(0xCC192572), UINT32_C(0x0E0D82F6)}},
9770         {{UINT32_C(0xCF1E20AA), UINT32_C(0xC86A8E5D), UINT32_C(0xF9AB96D5),
9771           UINT32_C(0x1A87AEF3), UINT32_C(0xF3D19051), UINT32_C(0xA8941635),
9772           UINT32_C(0x654FFF15), UINT32_C(0x67B1D0A2)},
9773          {UINT32_C(0x92862ACD), UINT32_C(0x266FD5ED), UINT32_C(0xD11DEEAC),
9774           UINT32_C(0xB72587BE), UINT32_C(0xD09320AA), UINT32_C(0x5CF0D2E2),
9775           UINT32_C(0x515E0277), UINT32_C(0x68456EBA)}},
9776         {{UINT32_C(0x771F64CA), UINT32_C(0x86A5461C), UINT32_C(0x48FF8D7A),
9777           UINT32_C(0xB7A220B7), UINT32_C(0xD7A568D1), UINT32_C(0x9A0DD72A),
9778           UINT32_C(0xF644D858), UINT32_C(0x18F5E1DC)},
9779          {UINT32_C(0x3E00364F), UINT32_C(0xB7AE1BC2), UINT32_C(0xCEE8D9F7),
9780           UINT32_C(0xD7EA31F3), UINT32_C(0xDCDB883D), UINT32_C(0xD18DA30F),
9781           UINT32_C(0xCBA00F48), UINT32_C(0x179CFCA5)}},
9782         {{UINT32_C(0x39E7860C), UINT32_C(0x496F2C01), UINT32_C(0x27F15EAF),
9783           UINT32_C(0xACDF8B40), UINT32_C(0x687AC815), UINT32_C(0x8871966C),
9784           UINT32_C(0x8DB8FDB5), UINT32_C(0x6228F1B5)},
9785          {UINT32_C(0xF30ECF2B), UINT32_C(0x8644656A), UINT32_C(0xAE1DEAFF),
9786           UINT32_C(0x15576CC2), UINT32_C(0x697AB3FC), UINT32_C(0x93D86D56),
9787           UINT32_C(0x811E3FF2), UINT32_C(0x3E4A428E)}},
9788         {{UINT32_C(0x91B9F5DF), UINT32_C(0xFB85DE3D), UINT32_C(0xB20A9C71),
9789           UINT32_C(0xCDB595D4), UINT32_C(0xB44D671E), UINT32_C(0x55CB08F3),
9790           UINT32_C(0xFCD7D5ED), UINT32_C(0x780FC2E5)},
9791          {UINT32_C(0x7F939366), UINT32_C(0x815AB41F), UINT32_C(0xECD52B20),
9792           UINT32_C(0xA7597A02), UINT32_C(0x4648E3C5), UINT32_C(0x9BE078F0),
9793           UINT32_C(0x17BD3DC2), UINT32_C(0x7A3E2179)}},
9794         {{UINT32_C(0x9D9E5E53), UINT32_C(0x22758C41), UINT32_C(0x9EF09FAE),
9795           UINT32_C(0x44D675F4), UINT32_C(0x27159F97), UINT32_C(0x1AB7986D),
9796           UINT32_C(0xB6B9465B), UINT32_C(0x72B3F02B)},
9797          {UINT32_C(0xFE56F578), UINT32_C(0xA372FAC7), UINT32_C(0xDA534F4A),
9798           UINT32_C(0x33FA6479), UINT32_C(0xDF63BF2D), UINT32_C(0xB0003307),
9799           UINT32_C(0xB80D0F64), UINT32_C(0x34D40B4D)}},
9800         {{UINT32_C(0x3D2B9FC2), UINT32_C(0x8A8929DC), UINT32_C(0x55EE75E5),
9801           UINT32_C(0x7D12E86C), UINT32_C(0x92E1A870), UINT32_C(0xB3FE1AD3),
9802           UINT32_C(0x729CFE4C), UINT32_C(0x27148C94)},
9803          {UINT32_C(0x18BA868B), UINT32_C(0x6A8C3B52), UINT32_C(0x7F038A9C),
9804           UINT32_C(0xDD2006E4), UINT32_C(0xB7124908), UINT32_C(0x4606FA9E),
9805           UINT32_C(0xF4940CB1), UINT32_C(0x434A8C07)}},
9806     },
9807     {
9808         {{UINT32_C(0xF98B91EA), UINT32_C(0x15F36EBE), UINT32_C(0xC1ED17B1),
9809           UINT32_C(0x94D802DE), UINT32_C(0x085D77F8), UINT32_C(0x3C45FA08),
9810           UINT32_C(0x02FF571A), UINT32_C(0x0A30B3C3)},
9811          {UINT32_C(0x264C93D0), UINT32_C(0x70F5852D), UINT32_C(0x191AEE57),
9812           UINT32_C(0x5E51BCAB), UINT32_C(0xFAD8E96E), UINT32_C(0xD5C14AE9),
9813           UINT32_C(0xD4BC414B), UINT32_C(0x73B00534)}},
9814         {{UINT32_C(0x12AFF5E7), UINT32_C(0x21CF876B), UINT32_C(0xF75799A6),
9815           UINT32_C(0x3E9F664C), UINT32_C(0x9A0E73CD), UINT32_C(0xC23B7D19),
9816           UINT32_C(0x427EEA36), UINT32_C(0x77AAB691)},
9817          {UINT32_C(0x604EE854), UINT32_C(0x2E74F972), UINT32_C(0xF867C81A),
9818           UINT32_C(0x8712C7A0), UINT32_C(0x953A4C56), UINT32_C(0x6085980F),
9819           UINT32_C(0x0F7707E1), UINT32_C(0x2DB99707)}},
9820         {{UINT32_C(0x78BDB7A7), UINT32_C(0x5ECC087F), UINT32_C(0x04C693F2),
9821           UINT32_C(0x43CC156C), UINT32_C(0x039BD7F1), UINT32_C(0x965067CF),
9822           UINT32_C(0x6E3FAE2F), UINT32_C(0x72140E56)},
9823          {UINT32_C(0xE019DED1), UINT32_C(0x26452E4D), UINT32_C(0x2EDEF154),
9824           UINT32_C(0x6F4C2349), UINT32_C(0x054DFC0F), UINT32_C(0xA7066D7F),
9825           UINT32_C(0x3381AB44), UINT32_C(0x544E6F6D)}},
9826         {{UINT32_C(0x9214C791), UINT32_C(0x9B6E9469), UINT32_C(0x86938BDC),
9827           UINT32_C(0xD74F9C55), UINT32_C(0xFC2928FD), UINT32_C(0x0F1527F6),
9828           UINT32_C(0x63C3A053), UINT32_C(0x5B0FBF0F)},
9829          {UINT32_C(0xFC41FF10), UINT32_C(0xAC1F442C), UINT32_C(0x787B4932),
9830           UINT32_C(0x34EF88EF), UINT32_C(0x316732AC), UINT32_C(0xF8120F08),
9831           UINT32_C(0xA655DC4A), UINT32_C(0x7BCCF12C)}},
9832         {{UINT32_C(0xA6C7760E), UINT32_C(0x750DF97F), UINT32_C(0x609BF215),
9833           UINT32_C(0xF1A0A827), UINT32_C(0x67FD04B4), UINT32_C(0x7348C1B4),
9834           UINT32_C(0x615C8145), UINT32_C(0x6A581016)},
9835          {UINT32_C(0x9A11AAFC), UINT32_C(0x9DC01225), UINT32_C(0x3F2B0C8B),
9836           UINT32_C(0x24F65B05), UINT32_C(0xDCB1B2A4), UINT32_C(0xA27CB8BF),
9837           UINT32_C(0xE48C1A71), UINT32_C(0x3C44B811)}},
9838         {{UINT32_C(0xF780B295), UINT32_C(0xBC059AF2), UINT32_C(0x0B6B247D),
9839           UINT32_C(0xDF58928C), UINT32_C(0x01903F3D), UINT32_C(0x224D4C3C),
9840           UINT32_C(0x818EE0AC), UINT32_C(0x7152E120)},
9841          {UINT32_C(0x54BFF1BE), UINT32_C(0x6C8F4745), UINT32_C(0x431ADEF7),
9842           UINT32_C(0x98A6C7EC), UINT32_C(0x91B2CFB6), UINT32_C(0xDCB6BB75),
9843           UINT32_C(0x7E83A5BB), UINT32_C(0x145F6D39)}},
9844         {{UINT32_C(0x81D23BC1), UINT32_C(0x827C000C), UINT32_C(0x403956FC),
9845           UINT32_C(0x5CDC1135), UINT32_C(0x3C751158), UINT32_C(0xD967A5B1),
9846           UINT32_C(0x96201D7D), UINT32_C(0x52AF85BC)},
9847          {UINT32_C(0x644558F7), UINT32_C(0x522BC492), UINT32_C(0xED7A060D),
9848           UINT32_C(0xF74A35AF), UINT32_C(0x4DC4619E), UINT32_C(0x10E5F9FD),
9849           UINT32_C(0x324F60BB), UINT32_C(0x06071F1F)}},
9850         {{UINT32_C(0x65921C34), UINT32_C(0xC5FFD5EF), UINT32_C(0x302BAA5D),
9851           UINT32_C(0x46CE1A69), UINT32_C(0x4E22FF1D), UINT32_C(0x89CC84EC),
9852           UINT32_C(0x68131754), UINT32_C(0x16A481AE)},
9853          {UINT32_C(0xB89039F5), UINT32_C(0x2A06A156), UINT32_C(0xB3A95AB9),
9854           UINT32_C(0x40B6401B), UINT32_C(0x313820C3), UINT32_C(0xFFCC53EB),
9855           UINT32_C(0xEA959F76), UINT32_C(0x256B00E7)}},
9856         {{UINT32_C(0x54FBDD74), UINT32_C(0xCCE87FC9), UINT32_C(0xB23C6E1D),
9857           UINT32_C(0xEC258542), UINT32_C(0x9E5E1928), UINT32_C(0x5BE392B4),
9858           UINT32_C(0x47A8A759), UINT32_C(0x65AF3110)},
9859          {UINT32_C(0x47DFFD31), UINT32_C(0x943F7A25), UINT32_C(0x51E896FA),
9860           UINT32_C(0xDCCDA186), UINT32_C(0x933E747F), UINT32_C(0x71A93B1E),
9861           UINT32_C(0xDFB043AD), UINT32_C(0x44F5C468)}},
9862         {{UINT32_C(0x786FCCBA), UINT32_C(0xF6AEC52C), UINT32_C(0x6D51FA78),
9863           UINT32_C(0x23D49DCF), UINT32_C(0x9B40D8E6), UINT32_C(0x0F81463B),
9864           UINT32_C(0x708D3DA2), UINT32_C(0x18B9D932)},
9865          {UINT32_C(0xF986DC6D), UINT32_C(0x796F94ED), UINT32_C(0xFC2622C3),
9866           UINT32_C(0x33B2CCC1), UINT32_C(0x9CCEC606), UINT32_C(0x16790DFB),
9867           UINT32_C(0xCFD31481), UINT32_C(0x6F5D1452)}},
9868         {{UINT32_C(0x6C3A15D6), UINT32_C(0x91F15DDC), UINT32_C(0x4D360E75),
9869           UINT32_C(0x45D12F40), UINT32_C(0x1DAFFC9C), UINT32_C(0xF2E28EE8),
9870           UINT32_C(0x6CDF5566), UINT32_C(0x5CC6A056)},
9871          {UINT32_C(0x1779B9BF), UINT32_C(0x855166D2), UINT32_C(0xCF94D9FE),
9872           UINT32_C(0x92BA5EF4), UINT32_C(0x985BC1DD), UINT32_C(0x1266FB2A),
9873           UINT32_C(0xCA3018AD), UINT32_C(0x4572CE8F)}},
9874         {{UINT32_C(0xBE4BB604), UINT32_C(0x8729A12D), UINT32_C(0x4E99E9AB),
9875           UINT32_C(0x6A29C849), UINT32_C(0x7A89894D), UINT32_C(0x54AE5011),
9876           UINT32_C(0xCDB0EEBD), UINT32_C(0x5E66A255)},
9877          {UINT32_C(0xCBEE153B), UINT32_C(0x006736EA), UINT32_C(0x225E7B86),
9878           UINT32_C(0x8A36CC2D), UINT32_C(0xEC0598EC), UINT32_C(0xF731E430),
9879           UINT32_C(0x7FD9A11F), UINT32_C(0x49338E4D)}},
9880         {{UINT32_C(0xDA6DABAA), UINT32_C(0xE038CE03), UINT32_C(0x7C1BCE0C),
9881           UINT32_C(0x13A08DCE), UINT32_C(0xDA89EFBF), UINT32_C(0x12D00DD0),
9882           UINT32_C(0x6FCF0510), UINT32_C(0x70A13FB9)},
9883          {UINT32_C(0x5CDB03E2), UINT32_C(0x16ED1C92), UINT32_C(0x08E9EE4B),
9884           UINT32_C(0xDF1AB61D), UINT32_C(0x03AF3E3D), UINT32_C(0x48983DA8),
9885           UINT32_C(0x429DB770), UINT32_C(0x63CCA113)}},
9886         {{UINT32_C(0xCFB805E5), UINT32_C(0x6D9AC1EB), UINT32_C(0x50FA37B8),
9887           UINT32_C(0x47C3FE69), UINT32_C(0x2C33D457), UINT32_C(0xD308EC73),
9888           UINT32_C(0xD4CCA340), UINT32_C(0x3CB08E00)},
9889          {UINT32_C(0xBE862794), UINT32_C(0xC078DAD0), UINT32_C(0xF4E10A57),
9890           UINT32_C(0x2D147F83), UINT32_C(0x3DE1B3D5), UINT32_C(0xE91820FF),
9891           UINT32_C(0x6F30491B), UINT32_C(0x3D85DD72)}},
9892         {{UINT32_C(0xF5CBDD3A), UINT32_C(0xD486A022), UINT32_C(0xCAC0B99E),
9893           UINT32_C(0x2663134A), UINT32_C(0x5F3ABFCA), UINT32_C(0x42DE13F5),
9894           UINT32_C(0xB365B973), UINT32_C(0x4967A225)},
9895          {UINT32_C(0x10F1F997), UINT32_C(0x99C98A25), UINT32_C(0x7714FAB2),
9896           UINT32_C(0x23F057C9), UINT32_C(0x1BA2338D), UINT32_C(0xCE07CA6E),
9897           UINT32_C(0x069F65D7), UINT32_C(0x3BA69161)}},
9898         {{UINT32_C(0xC026FB0E), UINT32_C(0xCCD8C86F), UINT32_C(0x50407A8C),
9899           UINT32_C(0xF49F1FEA), UINT32_C(0x7F19A1DB), UINT32_C(0x72FEA37B),
9900           UINT32_C(0x3F457DB7), UINT32_C(0x22A03E25)},
9901          {UINT32_C(0x71F736D2), UINT32_C(0x2D6C62B2), UINT32_C(0xA5ACB4E5),
9902           UINT32_C(0xCC99F8E7), UINT32_C(0x0DE5F380), UINT32_C(0x8F7DBF2E),
9903           UINT32_C(0x352B4933), UINT32_C(0x24494786)}},
9904     },
9905     {
9906         {{UINT32_C(0xAE2A5E8F), UINT32_C(0xF020E7A9), UINT32_C(0xD14C5F02),
9907           UINT32_C(0x5ADC788B), UINT32_C(0x65C84DB4), UINT32_C(0xC5E5AFE4),
9908           UINT32_C(0x35C2633C), UINT32_C(0x392FACC4)},
9909          {UINT32_C(0x42DEE269), UINT32_C(0x47D50070), UINT32_C(0x6EB7849C),
9910           UINT32_C(0x76706ED7), UINT32_C(0x316548CB), UINT32_C(0x6BF56D56),
9911           UINT32_C(0xD37FF4DF), UINT32_C(0x4A466066)}},
9912         {{UINT32_C(0xC30283AD), UINT32_C(0xC8EBBFB5), UINT32_C(0x3544E645),
9913           UINT32_C(0x31E9CF96), UINT32_C(0x88886B50), UINT32_C(0x90EA9A49),
9914           UINT32_C(0x021D3D5D), UINT32_C(0x5E4B8C88)},
9915          {UINT32_C(0x0DFEB658), UINT32_C(0xA4DB9225), UINT32_C(0x1910FDAE),
9916           UINT32_C(0x8AA95DB6), UINT32_C(0xDE400EB9), UINT32_C(0x82E9A997),
9917           UINT32_C(0x96769A04), UINT32_C(0x238967E9)}},
9918         {{UINT32_C(0x89E2DF0A), UINT32_C(0x1ABB076A), UINT32_C(0x07065929),
9919           UINT32_C(0xDA8B09B0), UINT32_C(0x63BD349B), UINT32_C(0x332BE8A5),
9920           UINT32_C(0xA2D35385), UINT32_C(0x0EB973CE)},
9921          {UINT32_C(0x9C7D375E), UINT32_C(0x67F7AE63), UINT32_C(0xE7AE90B1),
9922           UINT32_C(0xA235818D), UINT32_C(0x817493B0), UINT32_C(0x2B59C26E),
9923           UINT32_C(0x33C4ACD6), UINT32_C(0x39DC1050)}},
9924         {{UINT32_C(0x7B7DB3F5), UINT32_C(0x11801ACE), UINT32_C(0x8CC97CA5),
9925           UINT32_C(0x79C214C3), UINT32_C(0xBF2674BF), UINT32_C(0xB4BFE1AB),
9926           UINT32_C(0x43252011), UINT32_C(0x598EA7DC)},
9927          {UINT32_C(0xB08F8EF5), UINT32_C(0x217FF6D3), UINT32_C(0x8B9226B7),
9928           UINT32_C(0x9797BBC9), UINT32_C(0x7B0EDB09), UINT32_C(0xAB8E98C9),
9929           UINT32_C(0x083A401F), UINT32_C(0x240EC22D)}},
9930         {{UINT32_C(0x459ABC3D), UINT32_C(0x55A75BCF), UINT32_C(0x64ECC2DC),
9931           UINT32_C(0xB2F98598), UINT32_C(0x9EE84779), UINT32_C(0x271C47C3),
9932           UINT32_C(0xBF9BDBF2), UINT32_C(0x0166E5D4)},
9933          {UINT32_C(0x4215B666), UINT32_C(0xD205380F), UINT32_C(0x64E9FE64),
9934           UINT32_C(0xF7041396), UINT32_C(0x2BB0DA40), UINT32_C(0x4C737E94),
9935           UINT32_C(0xC8119691), UINT32_C(0x2E763521)}},
9936         {{UINT32_C(0xFD2F8593), UINT32_C(0x79550B60), UINT32_C(0x0C17A56F),
9937           UINT32_C(0x47E00AFD), UINT32_C(0xB44157CF), UINT32_C(0x0D900A9D),
9938           UINT32_C(0xA81BED76), UINT32_C(0x016CF746)},
9939          {UINT32_C(0xAC47A84B), UINT32_C(0xC21E861B), UINT32_C(0x1724BD47),
9940           UINT32_C(0x0E14387A), UINT32_C(0x2077F7BC), UINT32_C(0xC209303E),
9941           UINT32_C(0xBAD12F0B), UINT32_C(0x33B5EB59)}},
9942         {{UINT32_C(0x9850FC1F), UINT32_C(0x7152354F), UINT32_C(0x83637934),
9943           UINT32_C(0x1239576F), UINT32_C(0x82AF46BA), UINT32_C(0xB00C4E4E),
9944           UINT32_C(0xEC3FEEFF), UINT32_C(0x563D5062)},
9945          {UINT32_C(0x33D67B7F), UINT32_C(0xEF25E373), UINT32_C(0x50D9845E),
9946           UINT32_C(0x3A80A50E), UINT32_C(0xA5787EF5), UINT32_C(0x1DCED1E9),
9947           UINT32_C(0xA0F87C3C), UINT32_C(0x15723E9A)}},
9948         {{UINT32_C(0x2B4A156D), UINT32_C(0x21743511), UINT32_C(0xCD12BD2B),
9949           UINT32_C(0xB75C041C), UINT32_C(0x79F393A6), UINT32_C(0x6947368C),
9950           UINT32_C(0x76420E56), UINT32_C(0x32CDE49E)},
9951          {UINT32_C(0x43D612FF), UINT32_C(0x67FBA315), UINT32_C(0xE3B87BC2),
9952           UINT32_C(0x697F7FAE), UINT32_C(0x7391129A), UINT32_C(0x980DAFBC),
9953           UINT32_C(0x6F707469), UINT32_C(0x438B2858)}},
9954         {{UINT32_C(0x5E9D085F), UINT32_C(0xDA8AD16D), UINT32_C(0x768FA87C),
9955           UINT32_C(0xE636F1AF), UINT32_C(0xB85FF1F1), UINT32_C(0x08520756),
9956           UINT32_C(0x6ABB31BE), UINT32_C(0x1B818481)},
9957          {UINT32_C(0x2E686F1A), UINT32_C(0x25B3DCB9), UINT32_C(0x2B0CB829),
9958           UINT32_C(0xE1282134), UINT32_C(0x3B9B759C), UINT32_C(0x626232BC),
9959           UINT32_C(0x38C4338E), UINT32_C(0x797316BB)}},
9960         {{UINT32_C(0x4A62DCBD), UINT32_C(0xF8365B64), UINT32_C(0x6BF0EFED),
9961           UINT32_C(0xC2CF51BA), UINT32_C(0xABF74764), UINT32_C(0x37E379EF),
9962           UINT32_C(0xA350D603), UINT32_C(0x5DC32071)},
9963          {UINT32_C(0x5B732100), UINT32_C(0x5465CC80), UINT32_C(0xB3BB5366),
9964           UINT32_C(0x3231B4E3), UINT32_C(0xD0D067CE), UINT32_C(0x23F5385E),
9965           UINT32_C(0x67D33451), UINT32_C(0x76CD7621)}},
9966         {{UINT32_C(0x55D857DD), UINT32_C(0xC6C93A05), UINT32_C(0x8F308F7F),
9967           UINT32_C(0xB4B6F176), UINT32_C(0xC0F13577), UINT32_C(0x2371CD88),
9968           UINT32_C(0x70807D9D), UINT32_C(0x1E507D6C)},
9969          {UINT32_C(0xC73E8E2F), UINT32_C(0x7A77CCE1), UINT32_C(0xFCCBDEEB),
9970           UINT32_C(0x1DD96274), UINT32_C(0x03F378B8), UINT32_C(0xA4DBEA5D),
9971           UINT32_C(0x2A1C347F), UINT32_C(0x44B4DF55)}},
9972         {{UINT32_C(0x8D067A47), UINT32_C(0x9853D282), UINT32_C(0x86813E74),
9973           UINT32_C(0xBF0ADAF4), UINT32_C(0x39409037), UINT32_C(0xFDE1F24D),
9974           UINT32_C(0x973B045D), UINT32_C(0x0E629604)},
9975          {UINT32_C(0x3BB92FAB), UINT32_C(0x9880A74B), UINT32_C(0xC6C4D6C6),
9976           UINT32_C(0xBC4E3405), UINT32_C(0x5184A2D6), UINT32_C(0x98C24318),
9977           UINT32_C(0xC210C183), UINT32_C(0x07D65412)}},
9978         {{UINT32_C(0x441A5FBC), UINT32_C(0x3938E528), UINT32_C(0xCCC66B22),
9979           UINT32_C(0x2CCD837D), UINT32_C(0x5E606282), UINT32_C(0x075FADE7),
9980           UINT32_C(0x4BB0E76A), UINT32_C(0x32181165)},
9981          {UINT32_C(0xFC929890), UINT32_C(0xE7240305), UINT32_C(0xE03AAA52),
9982           UINT32_C(0x1FA427C8), UINT32_C(0x0BC7B9F8), UINT32_C(0xF23C879B),
9983           UINT32_C(0xD6BBC908), UINT32_C(0x699A1235)}},
9984         {{UINT32_C(0x14124B8A), UINT32_C(0x20C29781), UINT32_C(0x48000278),
9985           UINT32_C(0x0C6464B3), UINT32_C(0xD644E10C), UINT32_C(0xF1939127),
9986           UINT32_C(0x4EC07EE3), UINT32_C(0x47A479E6)},
9987          {UINT32_C(0x77023389), UINT32_C(0xB6315768), UINT32_C(0x8BFDD90F),
9988           UINT32_C(0xC0FD319D), UINT32_C(0x6CB022D4), UINT32_C(0x0EBEC200),
9989           UINT32_C(0x302F58EF), UINT32_C(0x6810DF3D)}},
9990         {{UINT32_C(0xACB1C3F2), UINT32_C(0xCF97FA07), UINT32_C(0xA2C3F2F1),
9991           UINT32_C(0xACC60D84), UINT32_C(0x5DEB73D4), UINT32_C(0x4EF3CAAC),
9992           UINT32_C(0xD5472C1D), UINT32_C(0x654D0D90)},
9993          {UINT32_C(0xE4729062), UINT32_C(0x5A39A718), UINT32_C(0x8324E0F2),
9994           UINT32_C(0x84B286B0), UINT32_C(0xD21E8457), UINT32_C(0xA07A01CB),
9995           UINT32_C(0xB094714E), UINT32_C(0x0EC091C7)}},
9996         {{UINT32_C(0x895736BD), UINT32_C(0x7AB81940), UINT32_C(0xE4679DF5),
9997           UINT32_C(0x9AE791B7), UINT32_C(0xF064109B), UINT32_C(0x36163D81),
9998           UINT32_C(0x0E956B07), UINT32_C(0x3DDEE4A4)},
9999          {UINT32_C(0xFEAAE47C), UINT32_C(0xE146E7EE), UINT32_C(0x6A8EEC03),
10000           UINT32_C(0x81C0C2A7), UINT32_C(0xA8C315CB), UINT32_C(0x10BB8DD9),
10001           UINT32_C(0xD21B9AB0), UINT32_C(0x2CB423D8)}},
10002     },
10003     {
10004         {{UINT32_C(0x166A5B9A), UINT32_C(0x5B11D3C7), UINT32_C(0x8768861D),
10005           UINT32_C(0x973627BB), UINT32_C(0x5A3E442A), UINT32_C(0x82A5E2CD),
10006           UINT32_C(0xDDE63678), UINT32_C(0x13F6C741)},
10007          {UINT32_C(0xD892738E), UINT32_C(0x8DAA3C74), UINT32_C(0xA932376F),
10008           UINT32_C(0x0A07D651), UINT32_C(0x6892504B), UINT32_C(0xE12612C5),
10009           UINT32_C(0xCA3FF301), UINT32_C(0x619D2B1D)}},
10010         {{UINT32_C(0x1B07CEB7), UINT32_C(0x2B6D686F), UINT32_C(0x298D0996),
10011           UINT32_C(0x90C0260C), UINT32_C(0x102BC73C), UINT32_C(0x8CAAB926),
10012           UINT32_C(0xAEB3911C), UINT32_C(0x445A6487)},
10013          {UINT32_C(0x57F17290), UINT32_C(0x7EE1E547), UINT32_C(0x417711BF),
10014           UINT32_C(0xC055478B), UINT32_C(0x5CFA42C2), UINT32_C(0x29EF9FEC),
10015           UINT32_C(0x2B8EA0D6), UINT32_C(0x5A022DE4)}},
10016         {{UINT32_C(0xAEEB2675), UINT32_C(0x81A5EC18), UINT32_C(0xAD1BBA8A),
10017           UINT32_C(0xA867C5AA), UINT32_C(0x8DB47EBC), UINT32_C(0xAECB3688),
10018           UINT32_C(0x26D1038F), UINT32_C(0x77CE00BC)},
10019          {UINT32_C(0x3E68504B), UINT32_C(0xADC635EF), UINT32_C(0xDAE8AF4F),
10020           UINT32_C(0x0EFC21DE), UINT32_C(0xAC70C4C9), UINT32_C(0xDE57FD43),
10021           UINT32_C(0xE78FFC0D), UINT32_C(0x123360BE)}},
10022         {{UINT32_C(0xD82B61DB), UINT32_C(0xD608DB32), UINT32_C(0x8E45C853),
10023           UINT32_C(0x05AF2A90), UINT32_C(0x9D3B0032), UINT32_C(0xF1B8213E),
10024           UINT32_C(0xCAD15361), UINT32_C(0x2312F8AB)},
10025          {UINT32_C(0xC29EE818), UINT32_C(0xDC8D8E32), UINT32_C(0xDE5CD587),
10026           UINT32_C(0x07D7A475), UINT32_C(0x0C6C38B8), UINT32_C(0x76610913),
10027           UINT32_C(0xD7984BD9), UINT32_C(0x0131B6C6)}},
10028         {{UINT32_C(0xCF69C844), UINT32_C(0xC05CD4D0), UINT32_C(0x81A9B005),
10029           UINT32_C(0x747C092D), UINT32_C(0xD9E39F54), UINT32_C(0x0D793551),
10030           UINT32_C(0x7FFEF17C), UINT32_C(0x3BBB00DA)},
10031          {UINT32_C(0x655AD7C1), UINT32_C(0x6CAB83D9), UINT32_C(0x66A8F590),
10032           UINT32_C(0x601BECD0), UINT32_C(0xAE51811B), UINT32_C(0xFADB086D),
10033           UINT32_C(0xD69F734B), UINT32_C(0x7768A5D8)}},
10034         {{UINT32_C(0xF0E2385E), UINT32_C(0x3BB9B347), UINT32_C(0xF7D39F23),
10035           UINT32_C(0x376C8C48), UINT32_C(0xD82EC840), UINT32_C(0xE656C1A4),
10036           UINT32_C(0xFC2AC59A), UINT32_C(0x328B25C9)},
10037          {UINT32_C(0xA046BEE6), UINT32_C(0xD02B2F39), UINT32_C(0x80066D6C),
10038           UINT32_C(0xDBAB19A5), UINT32_C(0xE938B7F7), UINT32_C(0x6A2E8F67),
10039           UINT32_C(0xAA7F2661), UINT32_C(0x645A57A1)}},
10040         {{UINT32_C(0x9A006FAE), UINT32_C(0x6227904D), UINT32_C(0xB598CB72),
10041           UINT32_C(0xA975FC4C), UINT32_C(0xA1120B82), UINT32_C(0x945BFC2F),
10042           UINT32_C(0x2AC15CE5), UINT32_C(0x437A8AB4)},
10043          {UINT32_C(0x0F53317C), UINT32_C(0xA512A107), UINT32_C(0xFF9BD7D6),
10044           UINT32_C(0x7B552554), UINT32_C(0x54155AF9), UINT32_C(0xF81213E7),
10045           UINT32_C(0xFDCE0842), UINT32_C(0x0923F42C)}},
10046         {{UINT32_C(0x5216BB55), UINT32_C(0x13523916), UINT32_C(0x599CA117),
10047           UINT32_C(0xF27E4C7A), UINT32_C(0x7DD95BE1), UINT32_C(0x464D040A),
10048           UINT32_C(0x3C417D05), UINT32_C(0x40897486)},
10049          {UINT32_C(0x7C88E5D7), UINT32_C(0x0A3D16BF), UINT32_C(0xC13B286F),
10050           UINT32_C(0x0B94C661), UINT32_C(0xE2214821), UINT32_C(0xF73C7126),
10051           UINT32_C(0xF2F6DAFA), UINT32_C(0x4B3D5BF0)}},
10052         {{UINT32_C(0xF1A4332A), UINT32_C(0xCFABD8A2), UINT32_C(0xBAAC9A51),
10053           UINT32_C(0x56DB1546), UINT32_C(0x04416247), UINT32_C(0x8CC5204B),
10054           UINT32_C(0xF0583310), UINT32_C(0x75EC13BF)},
10055          {UINT32_C(0xD35B55D0), UINT32_C(0x0D68896E), UINT32_C(0x67FC14D9),
10056           UINT32_C(0xE89274E2), UINT32_C(0xFC322878), UINT32_C(0x18D425C0),
10057           UINT32_C(0x916C714A), UINT32_C(0x69477DD7)}},
10058         {{UINT32_C(0x9BDDF0F9), UINT32_C(0x427CBB6C), UINT32_C(0xDB9F52CB),
10059           UINT32_C(0xCF6941E2), UINT32_C(0x35E60DFA), UINT32_C(0xEF144DF6),
10060           UINT32_C(0xB61DF45C), UINT32_C(0x27B5246E)},
10061          {UINT32_C(0xB8D3D1D9), UINT32_C(0x0E124518), UINT32_C(0x8B313B95),
10062           UINT32_C(0xBB3BA134), UINT32_C(0x0FA2B7A9), UINT32_C(0x050DCBDF),
10063           UINT32_C(0x1D0A99B5), UINT32_C(0x50DBCF6D)}},
10064         {{UINT32_C(0x3924A1E5), UINT32_C(0x8A8B22CB), UINT32_C(0x118F9D55),
10065           UINT32_C(0x86CB4C5A), UINT32_C(0x5B339C53), UINT32_C(0xE5330ACC),
10066           UINT32_C(0x66A35A67), UINT32_C(0x6D5FDDF9)},
10067          {UINT32_C(0x6F6438A5), UINT32_C(0xC9500719), UINT32_C(0x07E5394E),
10068           UINT32_C(0x9723F2BA), UINT32_C(0x866B45A8), UINT32_C(0xA9CE2117),
10069           UINT32_C(0x045CA2CA), UINT32_C(0x1B737D8D)}},
10070         {{UINT32_C(0x6EE00E30), UINT32_C(0x6093F5A5), UINT32_C(0x5DE0A6FC),
10071           UINT32_C(0x5CAB98D4), UINT32_C(0x65DE754F), UINT32_C(0xADFB652C),
10072           UINT32_C(0x862EFD1D), UINT32_C(0x679900D1)},
10073          {UINT32_C(0xAFC5D235), UINT32_C(0x6E5C230F), UINT32_C(0x12CF6DD3),
10074           UINT32_C(0x3A1E5579), UINT32_C(0x03FB4FA0), UINT32_C(0x241C20FB),
10075           UINT32_C(0x20F6C013), UINT32_C(0x562FFAE3)}},
10076         {{UINT32_C(0x397F25EC), UINT32_C(0x6EFC732F), UINT32_C(0xBC1F03B8),
10077           UINT32_C(0x304D1F7D), UINT32_C(0x8890DADE), UINT32_C(0xA2FA6001),
10078           UINT32_C(0x51A25539), UINT32_C(0x4F91F97C)},
10079          {UINT32_C(0x48F4EF02), UINT32_C(0xE75F9C50), UINT32_C(0x218AEE9D),
10080           UINT32_C(0xCC53F460), UINT32_C(0x10D76649), UINT32_C(0xE7B40489),
10081           UINT32_C(0x42ECDBA4), UINT32_C(0x148F90A2)}},
10082         {{UINT32_C(0x1F683AD6), UINT32_C(0xBF45023A), UINT32_C(0x95E868D1),
10083           UINT32_C(0x2EA5F70C), UINT32_C(0xA97F2DE3), UINT32_C(0x47A19F33),
10084           UINT32_C(0x8A76ED9F), UINT32_C(0x3C8CCA9E)},
10085          {UINT32_C(0xE1A268D0), UINT32_C(0x01562C6E), UINT32_C(0xBA4EF01E),
10086           UINT32_C(0x9EB6EBAC), UINT32_C(0x342410FB), UINT32_C(0x835E64D4),
10087           UINT32_C(0xFFF4594D), UINT32_C(0x06F96B87)}},
10088         {{UINT32_C(0xD233612B), UINT32_C(0xE49A383A), UINT32_C(0xC9C14F64),
10089           UINT32_C(0x3CA5421F), UINT32_C(0xBB53DF81), UINT32_C(0x25192E1B),
10090           UINT32_C(0xA94C046C), UINT32_C(0x3C1451FE)},
10091          {UINT32_C(0x0423FAA8), UINT32_C(0x72B270F8), UINT32_C(0x3763888A),
10092           UINT32_C(0xFF63513D), UINT32_C(0xC1745190), UINT32_C(0xB22F2F20),
10093           UINT32_C(0x35DEA32C), UINT32_C(0x2E005A7A)}},
10094         {{UINT32_C(0x6305B2EB), UINT32_C(0x6B5A4E7A), UINT32_C(0x9CCD05D2),
10095           UINT32_C(0xF017BCA1), UINT32_C(0xD19AD8CB), UINT32_C(0xB37027C9),
10096           UINT32_C(0x0CBB36A6), UINT32_C(0x2CFCB470)},
10097          {UINT32_C(0x663F3485), UINT32_C(0x17F4FE51), UINT32_C(0x0DC3467B),
10098           UINT32_C(0x7DC20A17), UINT32_C(0x4AF63CBD), UINT32_C(0x6B56BA3F),
10099           UINT32_C(0x0D5D64AF), UINT32_C(0x4E7CF289)}},
10100     },
10101     {
10102         {{UINT32_C(0x7F59D2E9), UINT32_C(0xE2C5CD1F), UINT32_C(0x9D7FBE1E),
10103           UINT32_C(0x6B9ACEB7), UINT32_C(0xA20225B0), UINT32_C(0x84F0441D),
10104           UINT32_C(0x8B369FBC), UINT32_C(0x15875CDA)},
10105          {UINT32_C(0x0659E294), UINT32_C(0xED133277), UINT32_C(0x7AE02043),
10106           UINT32_C(0x7FAA913E), UINT32_C(0x9DCEDE14), UINT32_C(0xCA0E58DA),
10107           UINT32_C(0xCDE68547), UINT32_C(0x5F6A70FD)}},
10108         {{UINT32_C(0xE7282711), UINT32_C(0x524B790D), UINT32_C(0xBCA05694),
10109           UINT32_C(0x4B4F6246), UINT32_C(0x949AF774), UINT32_C(0x85169ECB),
10110           UINT32_C(0xCC743068), UINT32_C(0x5B168842)},
10111          {UINT32_C(0x31FB3BA3), UINT32_C(0xB8D0E9F2), UINT32_C(0x62D471C7),
10112           UINT32_C(0x56DD4BC3), UINT32_C(0xE2A34F75), UINT32_C(0xB14D689C),
10113           UINT32_C(0x02E8D2D2), UINT32_C(0x7F4E1717)}},
10114         {{UINT32_C(0xB17090B9), UINT32_C(0x8EE3491A), UINT32_C(0x6B7EDAF4),
10115           UINT32_C(0x67C07116), UINT32_C(0x4D0E6CCE), UINT32_C(0x6876E4CE),
10116           UINT32_C(0xBC5A86BE), UINT32_C(0x6D2FBB64)},
10117          {UINT32_C(0x070FA8C3), UINT32_C(0x0431C67A), UINT32_C(0x0F5D65F4),
10118           UINT32_C(0x91EFF9BE), UINT32_C(0xE07088DF), UINT32_C(0x332985E2),
10119           UINT32_C(0x676EADA8), UINT32_C(0x006D2583)}},
10120         {{UINT32_C(0x0AA747D6), UINT32_C(0xA1FBCC37), UINT32_C(0xB0DFDF3C),
10121           UINT32_C(0xADEA4A90), UINT32_C(0x401ED81B), UINT32_C(0x650162C7),
10122           UINT32_C(0xA8B15E22), UINT32_C(0x0FBC4841)},
10123          {UINT32_C(0xBF98CDAC), UINT32_C(0x1044B4E8), UINT32_C(0xECD1C668),
10124           UINT32_C(0x37071115), UINT32_C(0x233C220C), UINT32_C(0x29B93C17),
10125           UINT32_C(0xE69BC0C0), UINT32_C(0x4BEBC3CC)}},
10126         {{UINT32_C(0x46BF7E51), UINT32_C(0xD1A16E37), UINT32_C(0xF7A7370C),
10127           UINT32_C(0x889C7782), UINT32_C(0x3CCB474D), UINT32_C(0xC73F396E),
10128           UINT32_C(0xB9D67A2E), UINT32_C(0x1C508F18)},
10129          {UINT32_C(0x6B03B7E7), UINT32_C(0x3F17E967), UINT32_C(0xF857BB26),
10130           UINT32_C(0x3928F1D8), UINT32_C(0xC0EA8620), UINT32_C(0x3086FB2E),
10131           UINT32_C(0x1BE7C3E4), UINT32_C(0x15DC32C2)}},
10132         {{UINT32_C(0x11F4D949), UINT32_C(0xF48D4C32), UINT32_C(0xB0357C05),
10133           UINT32_C(0xE14A4AE3), UINT32_C(0x151D91AE), UINT32_C(0x77A1121F),
10134           UINT32_C(0xE8C6869D), UINT32_C(0x33F85C2F)},
10135          {UINT32_C(0x364B77B0), UINT32_C(0x8EA3BB4C), UINT32_C(0x9BD43E50),
10136           UINT32_C(0x1F155B91), UINT32_C(0x54748E7D), UINT32_C(0xA6C28730),
10137           UINT32_C(0xE7DDC539), UINT32_C(0x5AA34DDA)}},
10138         {{UINT32_C(0xA6CF8A82), UINT32_C(0xF0F80DDA), UINT32_C(0x091663B5),
10139           UINT32_C(0x87DE6D6C), UINT32_C(0x02FE5519), UINT32_C(0x94798734),
10140           UINT32_C(0x96722130), UINT32_C(0x109D411F)},
10141          {UINT32_C(0xE661041F), UINT32_C(0xBC47CA73), UINT32_C(0x65741541),
10142           UINT32_C(0x071D6059), UINT32_C(0x07E08735), UINT32_C(0x7CD4DF66),
10143           UINT32_C(0xE68FC807), UINT32_C(0x175E1F77)}},
10144         {{UINT32_C(0xDA58865B), UINT32_C(0xB88BDAB8), UINT32_C(0x20ED2B89),
10145           UINT32_C(0x14AD9112), UINT32_C(0x039BF0A3), UINT32_C(0x2B21AEDF),
10146           UINT32_C(0x9D4B77E9), UINT32_C(0x78971777)},
10147          {UINT32_C(0xD6612EF3), UINT32_C(0x133DA2AC), UINT32_C(0x12AD1785),
10148           UINT32_C(0x6260FCF5), UINT32_C(0x9DF08843), UINT32_C(0xDBA784DA),
10149           UINT32_C(0x4449FBD1), UINT32_C(0x1A30C4CF)}},
10150         {{UINT32_C(0x4EF7ACA2), UINT32_C(0xB6FECE87), UINT32_C(0x13F7C58C),
10151           UINT32_C(0x9CE7B61A), UINT32_C(0xF8719A60), UINT32_C(0x6B0223C9),
10152           UINT32_C(0xA3B3B088), UINT32_C(0x21199AA5)},
10153          {UINT32_C(0x6938BB02), UINT32_C(0x4A717196), UINT32_C(0xE7ABC263),
10154           UINT32_C(0x2E9A17C9), UINT32_C(0x4BAB12B7), UINT32_C(0x83F79623),
10155           UINT32_C(0x49D7CFBD), UINT32_C(0x15C0C4AF)}},
10156         {{UINT32_C(0x56D2957F), UINT32_C(0x99B34139), UINT32_C(0x07218BB6),
10157           UINT32_C(0xA51B8DFD), UINT32_C(0xFC91D7C9), UINT32_C(0x47CA4323),
10158           UINT32_C(0x3DCFD5F0), UINT32_C(0x44B01E75)},
10159          {UINT32_C(0x8CE894F3), UINT32_C(0x29F9D18E), UINT32_C(0x95227C6F),
10160           UINT32_C(0x22BCC540), UINT32_C(0x3FC75409), UINT32_C(0x815CD936),
10161           UINT32_C(0xD8989472), UINT32_C(0x0D58B325)}},
10162         {{UINT32_C(0xB6C80208), UINT32_C(0x8B4C6980), UINT32_C(0x8FB77CCD),
10163           UINT32_C(0xA5D97497), UINT32_C(0x9477132F), UINT32_C(0x1B896571),
10164           UINT32_C(0x3AE45F53), UINT32_C(0x348ABC21)},
10165          {UINT32_C(0x14BCDB96), UINT32_C(0xE438C1C3), UINT32_C(0x8007C1BF),
10166           UINT32_C(0x63150CF9), UINT32_C(0x8508B903), UINT32_C(0xDB861A33),
10167           UINT32_C(0x7B04ECD6), UINT32_C(0x421DFB01)}},
10168         {{UINT32_C(0x19430E7B), UINT32_C(0xF2FCE58B), UINT32_C(0xD0F8ECB7),
10169           UINT32_C(0x851A5F03), UINT32_C(0x0A5A1833), UINT32_C(0xE756C167),
10170           UINT32_C(0x227F866C), UINT32_C(0x25A51405)},
10171          {UINT32_C(0x3C6EE5F3), UINT32_C(0x40F34CB0), UINT32_C(0xF244B5CF),
10172           UINT32_C(0xF4010401), UINT32_C(0x01349BCF), UINT32_C(0x0E21BDED),
10173           UINT32_C(0x04547F42), UINT32_C(0x1B129D82)}},
10174         {{UINT32_C(0x0927D153), UINT32_C(0x802EC480), UINT32_C(0x72541520),
10175           UINT32_C(0x0F75E4FE), UINT32_C(0x026C4613), UINT32_C(0xA4A1557A),
10176           UINT32_C(0x7D92BC18), UINT32_C(0x25E8DAFB)},
10177          {UINT32_C(0x12F15F05), UINT32_C(0x1D87A143), UINT32_C(0x7B6B4240),
10178           UINT32_C(0x79390E3C), UINT32_C(0x492E6273), UINT32_C(0xFC199D76),
10179           UINT32_C(0x7EB090C0), UINT32_C(0x0053F1C4)}},
10180         {{UINT32_C(0xACEE6DFC), UINT32_C(0xE790F1CA), UINT32_C(0xDFEA04FF),
10181           UINT32_C(0xC8FB4626), UINT32_C(0x627D88D7), UINT32_C(0xBF03627F),
10182           UINT32_C(0x3D81A75A), UINT32_C(0x1B369884)},
10183          {UINT32_C(0x917FA19D), UINT32_C(0x83405DDA), UINT32_C(0x8C7DDCD2),
10184           UINT32_C(0xFFB23FF9), UINT32_C(0x40F10B48), UINT32_C(0x644F54C7),
10185           UINT32_C(0x17FF713A), UINT32_C(0x4636FADF)}},
10186         {{UINT32_C(0x27F417E4), UINT32_C(0xDA62ECC2), UINT32_C(0xFD8662BE),
10187           UINT32_C(0xC0DBE48F), UINT32_C(0x1011E73C), UINT32_C(0x729EE4AA),
10188           UINT32_C(0x3E11C84B), UINT32_C(0x4BAE5D3C)},
10189          {UINT32_C(0x6CEF6CDA), UINT32_C(0x854DFFF8), UINT32_C(0xCB7131EA),
10190           UINT32_C(0x7939228C), UINT32_C(0xD3EBC607), UINT32_C(0x58B3744A),
10191           UINT32_C(0x2049E239), UINT32_C(0x6EB9248F)}},
10192         {{UINT32_C(0xED0D4E57), UINT32_C(0x0265CAE9), UINT32_C(0x8AA65AEF),
10193           UINT32_C(0x92166D02), UINT32_C(0x198345D6), UINT32_C(0x2E337CDA),
10194           UINT32_C(0xABE1AD7B), UINT32_C(0x6775330C)},
10195          {UINT32_C(0xBF6FBC7D), UINT32_C(0xA9A828A8), UINT32_C(0xCBFEA393),
10196           UINT32_C(0x33A56F8D), UINT32_C(0xD811EC51), UINT32_C(0x2DB72F77),
10197           UINT32_C(0x8327C78E), UINT32_C(0x3DDFCD26)}},
10198     },
10199     {
10200         {{UINT32_C(0xB46AA2C4), UINT32_C(0x7CF8A521), UINT32_C(0xACF0D567),
10201           UINT32_C(0xE3B20937), UINT32_C(0xA440648E), UINT32_C(0xD47D8D1B),
10202           UINT32_C(0x1E9791A1), UINT32_C(0x674E7920)},
10203          {UINT32_C(0x18366462), UINT32_C(0x27B714EB), UINT32_C(0x8476F588),
10204           UINT32_C(0x1526E558), UINT32_C(0x6C240D70), UINT32_C(0x72C8D374),
10205           UINT32_C(0x805C1265), UINT32_C(0x066BBAFB)}},
10206         {{UINT32_C(0x457034E1), UINT32_C(0x15F1CFF5), UINT32_C(0xDD819FA7),
10207           UINT32_C(0xCF7C6550), UINT32_C(0x77AC7AD6), UINT32_C(0x57C2CD53),
10208           UINT32_C(0xAFED669D), UINT32_C(0x7DB2A8BE)},
10209          {UINT32_C(0xD4697340), UINT32_C(0x2DAFD95F), UINT32_C(0x15A6B6E7),
10210           UINT32_C(0x382FF892), UINT32_C(0xBF4A6B1B), UINT32_C(0x036FC753),
10211           UINT32_C(0xE4012711), UINT32_C(0x3E7AC46D)}},
10212         {{UINT32_C(0x5752A34D), UINT32_C(0xBA5ECDED), UINT32_C(0x6BAA08DD),
10213           UINT32_C(0xB08749D4), UINT32_C(0x4A4A47A8), UINT32_C(0x8A2B9897),
10214           UINT32_C(0xE42DCE02), UINT32_C(0x7230966F)},
10215          {UINT32_C(0x58654FF5), UINT32_C(0xA6FF614A), UINT32_C(0xAB3C2A7E),
10216           UINT32_C(0x7F3531D1), UINT32_C(0x0D0ED417), UINT32_C(0x0282A2F0),
10217           UINT32_C(0xEA9755A3), UINT32_C(0x2DC7B872)}},
10218         {{UINT32_C(0x2392536A), UINT32_C(0x7678D765), UINT32_C(0x574C657D),
10219           UINT32_C(0x0C2025F1), UINT32_C(0x795413DC), UINT32_C(0x01701C80),
10220           UINT32_C(0x5396279E), UINT32_C(0x63F0D496)},
10221          {UINT32_C(0xFA32EA64), UINT32_C(0xB0F9968A), UINT32_C(0x5BB393DE),
10222           UINT32_C(0x81265D15), UINT32_C(0x0BCD8C10), UINT32_C(0xC05ECC6D),
10223           UINT32_C(0x2824457E), UINT32_C(0x4F3769F9)}},
10224         {{UINT32_C(0xF13DB92E), UINT32_C(0x9AA58686), UINT32_C(0xED2E1B18),
10225           UINT32_C(0x1155CDF4), UINT32_C(0x09823F5A), UINT32_C(0xA06E9194),
10226           UINT32_C(0x4257AB0E), UINT32_C(0x7F1BBE73)},
10227          {UINT32_C(0xABA6FCD1), UINT32_C(0x2DFB6472), UINT32_C(0xD73D850E),
10228           UINT32_C(0x04BE6BCA), UINT32_C(0x297D312B), UINT32_C(0x72AAEC34),
10229           UINT32_C(0x7509D9F5), UINT32_C(0x31F4C02C)}},
10230         {{UINT32_C(0x7CA72AD5), UINT32_C(0xAA9BA000), UINT32_C(0x7FBCB4D6),
10231           UINT32_C(0x21EE2945), UINT32_C(0x1CF8580A), UINT32_C(0x0E210AAB),
10232           UINT32_C(0x0FA8DE10), UINT32_C(0x600479FE)},
10233          {UINT32_C(0x54322F70), UINT32_C(0x246FD265), UINT32_C(0x60DF1893),
10234           UINT32_C(0xC60BE9BB), UINT32_C(0x05137E38), UINT32_C(0x04D4F99D),
10235           UINT32_C(0x6164C176), UINT32_C(0x6ACB9E01)}},
10236         {{UINT32_C(0xC1DB7B6C), UINT32_C(0x126F2C7E), UINT32_C(0xCF4DD3C0),
10237           UINT32_C(0x4C3B30B5), UINT32_C(0xF782A489), UINT32_C(0x827D57A2),
10238           UINT32_C(0xE52621F0), UINT32_C(0x41B897DE)},
10239          {UINT32_C(0xDDA0A3CD), UINT32_C(0xED31C55A), UINT32_C(0xA11AD179),
10240           UINT32_C(0x21C91BB2), UINT32_C(0x43FD6E23), UINT32_C(0x60E606B8),
10241           UINT32_C(0x51ED7FA6), UINT32_C(0x31B8138D)}},
10242         {{UINT32_C(0xE72E4BC5), UINT32_C(0x1387B313), UINT32_C(0x82EBFC72),
10243           UINT32_C(0xDCCCB09C), UINT32_C(0xAA4432D6), UINT32_C(0xF0B01202),
10244           UINT32_C(0x7C52B69D), UINT32_C(0x632599C4)},
10245          {UINT32_C(0xBCE9A04C), UINT32_C(0x3922D0C0), UINT32_C(0xB53F4268),
10246           UINT32_C(0xC2397D88), UINT32_C(0x00669858), UINT32_C(0x50AE5ED9),
10247           UINT32_C(0x16C7696B), UINT32_C(0x1B2BD4C2)}},
10248         {{UINT32_C(0x2BF7DF06), UINT32_C(0x6FAE1B08), UINT32_C(0x5210DB3B),
10249           UINT32_C(0x870B3FE8), UINT32_C(0x9BDC0B91), UINT32_C(0x680BE422),
10250           UINT32_C(0xBCC970AD), UINT32_C(0x56BA83C6)},
10251          {UINT32_C(0x859D6C78), UINT32_C(0x1AE91BAC), UINT32_C(0x2895A1A6),
10252           UINT32_C(0xC5BDD5FB), UINT32_C(0x550610F5), UINT32_C(0xA169E73C),
10253           UINT32_C(0x0CC7D3EA), UINT32_C(0x01B46767)}},
10254         {{UINT32_C(0x0EC5ECE2), UINT32_C(0x1E147A51), UINT32_C(0xD0E2C46C),
10255           UINT32_C(0x9B612A1F), UINT32_C(0x5E293783), UINT32_C(0x664FDD55),
10256           UINT32_C(0x67DC4DBC), UINT32_C(0x52070E15)},
10257          {UINT32_C(0x4A4903FB), UINT32_C(0x449B53E5), UINT32_C(0xA8D30103),
10258           UINT32_C(0x79B53583), UINT32_C(0xAF7CC314), UINT32_C(0x616C97F3),
10259           UINT32_C(0x2849862C), UINT32_C(0x6BEB304C)}},
10260         {{UINT32_C(0x019F0313), UINT32_C(0xB9C636D6), UINT32_C(0xD3E0188D),
10261           UINT32_C(0x0B08E7CB), UINT32_C(0xD704DE15), UINT32_C(0xEAEB1715),
10262           UINT32_C(0x837E7543), UINT32_C(0x4990282C)},
10263          {UINT32_C(0xFBD3A061), UINT32_C(0xCBB0BD49), UINT32_C(0x1DA124AE),
10264           UINT32_C(0x3454A8AC), UINT32_C(0x37D64EAB), UINT32_C(0x0D524A02),
10265           UINT32_C(0x0B3E4ADE), UINT32_C(0x76680749)}},
10266         {{UINT32_C(0x95B04835), UINT32_C(0xC293E011), UINT32_C(0x23D0C885),
10267           UINT32_C(0x76D304BA), UINT32_C(0xD6552D80), UINT32_C(0x36A63627),
10268           UINT32_C(0xC504CCAB), UINT32_C(0x3B4FA680)},
10269          {UINT32_C(0xE1FC08DF), UINT32_C(0xF25B3A04), UINT32_C(0x62D080F8),
10270           UINT32_C(0x786380E5), UINT32_C(0xDAC0D110), UINT32_C(0x0A731427),
10271           UINT32_C(0xD628429A), UINT32_C(0x1D65288F)}},
10272         {{UINT32_C(0xDC94453E), UINT32_C(0x3CE5E929), UINT32_C(0xB6073324),
10273           UINT32_C(0xEC7CF988), UINT32_C(0xDCB35234), UINT32_C(0x023361E7),
10274           UINT32_C(0xF5E89B7C), UINT32_C(0x3AF20624)},
10275          {UINT32_C(0xA5B2B103), UINT32_C(0x860F188E), UINT32_C(0xCB6D112F),
10276           UINT32_C(0x5EAC84CE), UINT32_C(0x914C9FFD), UINT32_C(0x63B200C3),
10277           UINT32_C(0x55A1FDCB), UINT32_C(0x327870A0)}},
10278         {{UINT32_C(0x155280ED), UINT32_C(0x4F94633C), UINT32_C(0x3654B8AA),
10279           UINT32_C(0xF98321D5), UINT32_C(0x489AE89A), UINT32_C(0x9C057A23),
10280           UINT32_C(0xD59CA3B5), UINT32_C(0x1124A1FB)},
10281          {UINT32_C(0x1F64AFD7), UINT32_C(0x2F4CE052), UINT32_C(0x7C789152),
10282           UINT32_C(0x841EE441), UINT32_C(0x59A98374), UINT32_C(0x93531ED4),
10283           UINT32_C(0x36BB8F07), UINT32_C(0x69A4F48C)}},
10284         {{UINT32_C(0x5FD512A7), UINT32_C(0xD8FFD243), UINT32_C(0x9BEA1738),
10285           UINT32_C(0xF48C96F1), UINT32_C(0x0FFB4553), UINT32_C(0xF70E1F6A),
10286           UINT32_C(0x5FF91D21), UINT32_C(0x29DB63B1)},
10287          {UINT32_C(0x77BF7279), UINT32_C(0xC1355C23), UINT32_C(0xA2FC904D),
10288           UINT32_C(0xD3946EE9), UINT32_C(0xE7B7A9F4), UINT32_C(0x07223881),
10289           UINT32_C(0x56E08ED6), UINT32_C(0x212D8967)}},
10290         {{UINT32_C(0x45503451), UINT32_C(0x32B8C22A), UINT32_C(0xE6AB7B3D),
10291           UINT32_C(0x9E4FDAF1), UINT32_C(0x04A31294), UINT32_C(0x7A300E3D),
10292           UINT32_C(0x05FE2AEB), UINT32_C(0x0F529DFD)},
10293          {UINT32_C(0x9951B6FB), UINT32_C(0x7EFFEA9E), UINT32_C(0x336B9A2B),
10294           UINT32_C(0x18C60266), UINT32_C(0x6C8D0EEC), UINT32_C(0xB78A5EE1),
10295           UINT32_C(0x46ED0B23), UINT32_C(0x68C17FE4)}},
10296     },
10297     {
10298         {{UINT32_C(0x96B3222E), UINT32_C(0xF707FAD5), UINT32_C(0x0223F804),
10299           UINT32_C(0xD6AF6161), UINT32_C(0x4F43A0E9), UINT32_C(0x13FFDC74),
10300           UINT32_C(0x3347F487), UINT32_C(0x6A3B70E9)},
10301          {UINT32_C(0x6A4AF4F5), UINT32_C(0xBDDF02A4), UINT32_C(0xE4C69950),
10302           UINT32_C(0x61B451E1), UINT32_C(0xF9E3BB99), UINT32_C(0xFF854590),
10303           UINT32_C(0x7CD54C54), UINT32_C(0x46EB1F69)}},
10304         {{UINT32_C(0x8E6848D3), UINT32_C(0x70E643B6), UINT32_C(0x848C2587),
10305           UINT32_C(0xC58B8519), UINT32_C(0xEDF4A38E), UINT32_C(0x2F195C54),
10306           UINT32_C(0x3D2A52E8), UINT32_C(0x206E6A32)},
10307          {UINT32_C(0x417595BF), UINT32_C(0x234845B5), UINT32_C(0xFF5AE3CB),
10308           UINT32_C(0x90354373), UINT32_C(0x89C0E555), UINT32_C(0x13BE31CE),
10309           UINT32_C(0xCC67E26F), UINT32_C(0x2D18AA43)}},
10310         {{UINT32_C(0xF041BD17), UINT32_C(0xC74EE8C4), UINT32_C(0xC2B3CC64),
10311           UINT32_C(0x655CF527), UINT32_C(0x160FF053), UINT32_C(0x6735CF0A),
10312           UINT32_C(0x04218A0D), UINT32_C(0x35DAB9EB)},
10313          {UINT32_C(0xCBC34E46), UINT32_C(0x32BB2E9A), UINT32_C(0x7D190342),
10314           UINT32_C(0xF780CEAF), UINT32_C(0x9F0DA1A4), UINT32_C(0x161C0C1A),
10315           UINT32_C(0xE7642FD6), UINT32_C(0x7B198C9E)}},
10316         {{UINT32_C(0x122FD0B4), UINT32_C(0x936C763E), UINT32_C(0xA7E0C435),
10317           UINT32_C(0xA3819ED9), UINT32_C(0xCAAE6D7B), UINT32_C(0x86228B04),
10318           UINT32_C(0x7A3C65B4), UINT32_C(0x2E116018)},
10319          {UINT32_C(0xD4EB0345), UINT32_C(0xF55BB1F3), UINT32_C(0x0630B569),
10320           UINT32_C(0x858A0BF4), UINT32_C(0xCB78A626), UINT32_C(0x8CC22657),
10321           UINT32_C(0xB45E3005), UINT32_C(0x7CD93BDE)}},
10322         {{UINT32_C(0x98E517AB), UINT32_C(0xCAA1F459), UINT32_C(0xB34A6F5C),
10323           UINT32_C(0x36E60281), UINT32_C(0x0B46F47F), UINT32_C(0x877A49F3),
10324           UINT32_C(0x9E7BE761), UINT32_C(0x0179824B)},
10325          {UINT32_C(0xD455D9C0), UINT32_C(0x6830A2B2), UINT32_C(0x7BA31962),
10326           UINT32_C(0xB734BA0A), UINT32_C(0x065C3B51), UINT32_C(0x344665A4),
10327           UINT32_C(0x562E7F1D), UINT32_C(0x0B1D2210)}},
10328         {{UINT32_C(0x0B2E22E8), UINT32_C(0x289BAFCA), UINT32_C(0x83390107),
10329           UINT32_C(0x038929A0), UINT32_C(0x0683E782), UINT32_C(0x968A014D),
10330           UINT32_C(0x53D34463), UINT32_C(0x5A1AD5C8)},
10331          {UINT32_C(0x9527B2CA), UINT32_C(0xA2613334), UINT32_C(0x310B745F),
10332           UINT32_C(0xE8471271), UINT32_C(0x31387F59), UINT32_C(0x49C81A26),
10333           UINT32_C(0x0343C691), UINT32_C(0x1B955AF7)}},
10334         {{UINT32_C(0xA4A9FCA4), UINT32_C(0x069328AD), UINT32_C(0x624FCB94),
10335           UINT32_C(0x14EF09A7), UINT32_C(0xE3E0CECD), UINT32_C(0x21C76F0D),
10336           UINT32_C(0x6C1BCE0F), UINT32_C(0x5F470B86)},
10337          {UINT32_C(0xB15BC8B4), UINT32_C(0x79319A3F), UINT32_C(0xDB06AFA1),
10338           UINT32_C(0xB1407CB1), UINT32_C(0x911116E0), UINT32_C(0xD69E9E09),
10339           UINT32_C(0x0756579E), UINT32_C(0x6E77524E)}},
10340         {{UINT32_C(0xE2D851D5), UINT32_C(0xD3EC5EBC), UINT32_C(0x03B63143),
10341           UINT32_C(0xC888BC23), UINT32_C(0xDB0C357F), UINT32_C(0x5F3DE41E),
10342           UINT32_C(0xC3D47D37), UINT32_C(0x646FFBD3)},
10343          {UINT32_C(0x0692639B), UINT32_C(0xE53F8BEB), UINT32_C(0xD4FBC3D4),
10344           UINT32_C(0x7E194E37), UINT32_C(0x452B2A2E), UINT32_C(0xE1988A22),
10345           UINT32_C(0xB013F9E1), UINT32_C(0x5D359A15)}},
10346         {{UINT32_C(0xB2A6627D), UINT32_C(0xA48160A7), UINT32_C(0x3CE8789E),
10347           UINT32_C(0x5EFDC848), UINT32_C(0xB1CD14EE), UINT32_C(0x264CBFF1),
10348           UINT32_C(0x44D84222), UINT32_C(0x288823D4)},
10349          {UINT32_C(0x3A6DB1F8), UINT32_C(0x2F091B23), UINT32_C(0xCEA89B44),
10350           UINT32_C(0xBFD737B5), UINT32_C(0x17F5E969), UINT32_C(0x682AB86C),
10351           UINT32_C(0xABB0FA87), UINT32_C(0x7653005C)}},
10352         {{UINT32_C(0xD4B8A43A), UINT32_C(0x619C2629), UINT32_C(0xB6DAF943),
10353           UINT32_C(0xBFDAF433), UINT32_C(0x6D640DB8), UINT32_C(0xDC7AA1EE),
10354           UINT32_C(0x3B08D55C), UINT32_C(0x35ADEEA8)},
10355          {UINT32_C(0xD7AF5382), UINT32_C(0x30935454), UINT32_C(0x3D68A24A),
10356           UINT32_C(0x1F9C51A1), UINT32_C(0x78BDBEA9), UINT32_C(0xDBD13CFC),
10357           UINT32_C(0x31210A3F), UINT32_C(0x003B6D99)}},
10358         {{UINT32_C(0x9C2B515D), UINT32_C(0xD4547A32), UINT32_C(0xFECDAAA9),
10359           UINT32_C(0x4AF29AA8), UINT32_C(0xE401D5AD), UINT32_C(0x85C80ECD),
10360           UINT32_C(0x8AA315A1), UINT32_C(0x2830332D)},
10361          {UINT32_C(0x71DCE198), UINT32_C(0x56758823), UINT32_C(0x6ACBDEE3),
10362           UINT32_C(0x55AC9D10), UINT32_C(0x575CF4BB), UINT32_C(0xF6D468CF),
10363           UINT32_C(0x576B5C4A), UINT32_C(0x46E4FA98)}},
10364         {{UINT32_C(0x20D859EF), UINT32_C(0xAD20F820), UINT32_C(0x2A5462B0),
10365           UINT32_C(0x38091588), UINT32_C(0x2135DA7D), UINT32_C(0x35F45C9F),
10366           UINT32_C(0xF7F20DBD), UINT32_C(0x6B426F91)},
10367          {UINT32_C(0xF96E77D2), UINT32_C(0x4A0D8CBE), UINT32_C(0xCC51D3F4),
10368           UINT32_C(0x8FC36F5B), UINT32_C(0xBE16A0A8), UINT32_C(0x7A1870DD),
10369           UINT32_C(0x114DB780), UINT32_C(0x29C3E2B3)}},
10370         {{UINT32_C(0x21779E6E), UINT32_C(0xFF692A4C), UINT32_C(0xA6026EC1),
10371           UINT32_C(0x698231AB), UINT32_C(0xEF03E21B), UINT32_C(0xDAB0D835),
10372           UINT32_C(0xC846D56F), UINT32_C(0x770BFFAC)},
10373          {UINT32_C(0x3B8B0747), UINT32_C(0xCD28722D), UINT32_C(0x32AE95E5),
10374           UINT32_C(0x3DEFE040), UINT32_C(0x0F9857D6), UINT32_C(0x6F5D816A),
10375           UINT32_C(0xFC630F5E), UINT32_C(0x2E483FED)}},
10376         {{UINT32_C(0x967C7140), UINT32_C(0xDBF82EC4), UINT32_C(0x0D20A2A5),
10377           UINT32_C(0x6265CAD1), UINT32_C(0x5862DEFE), UINT32_C(0x1509652B),
10378           UINT32_C(0x94A284E5), UINT32_C(0x699DD939)},
10379          {UINT32_C(0x0B2CC732), UINT32_C(0xC0116646), UINT32_C(0x94C3EF86),
10380           UINT32_C(0x583FE012), UINT32_C(0xCD353430), UINT32_C(0xCD5DAEA8),
10381           UINT32_C(0xC7ADA62B), UINT32_C(0x2B39A746)}},
10382         {{UINT32_C(0xE4257BBC), UINT32_C(0xF449B989), UINT32_C(0xA90DCCE6),
10383           UINT32_C(0x95BA21BA), UINT32_C(0x93CA4ACD), UINT32_C(0xDD53AD5C),
10384           UINT32_C(0x0BB4213B), UINT32_C(0x7FCF2738)},
10385          {UINT32_C(0xC2E7E54E), UINT32_C(0x0E57C1C0), UINT32_C(0xA1A0E975),
10386           UINT32_C(0xD1769DAE), UINT32_C(0xC3B6E13B), UINT32_C(0x68F62C4E),
10387           UINT32_C(0x781242D8), UINT32_C(0x75152F9A)}},
10388         {{UINT32_C(0x24B8B820), UINT32_C(0x4D582768), UINT32_C(0x5BBD9F84),
10389           UINT32_C(0x36E37AC4), UINT32_C(0xDA076F12), UINT32_C(0x1F34414A),
10390           UINT32_C(0x3E0333C6), UINT32_C(0x08A77C28)},
10391          {UINT32_C(0xD9193382), UINT32_C(0xBB1F017D), UINT32_C(0x83A5612D),
10392           UINT32_C(0x56E9AA24), UINT32_C(0xD0B4554F), UINT32_C(0x6959B02B),
10393           UINT32_C(0xE4559B52), UINT32_C(0x2479BC56)}},
10394     },
10395     {
10396         {{UINT32_C(0x0F570A8E), UINT32_C(0x96D631C6), UINT32_C(0xD714B807),
10397           UINT32_C(0xE3F566A3), UINT32_C(0xEF7E1550), UINT32_C(0x564DD512),
10398           UINT32_C(0x79FA2F58), UINT32_C(0x1C5CF24A)},
10399          {UINT32_C(0x897958DB), UINT32_C(0x973BA599), UINT32_C(0x11A9CBB1),
10400           UINT32_C(0x93951D17), UINT32_C(0xA37A969A), UINT32_C(0x86BA17F6),
10401           UINT32_C(0xA069B195), UINT32_C(0x4807CAC7)}},
10402         {{UINT32_C(0x6665B35E), UINT32_C(0xB64AC0D4), UINT32_C(0x7EF72C68),
10403           UINT32_C(0xBA9CD394), UINT32_C(0x9C4CBC44), UINT32_C(0x838807B2),
10404           UINT32_C(0x82770197), UINT32_C(0x2675D268)},
10405          {UINT32_C(0x17087FA9), UINT32_C(0xBFC2F137), UINT32_C(0xE7B79B31),
10406           UINT32_C(0x811E644B), UINT32_C(0xC963A061), UINT32_C(0x597CE23F),
10407           UINT32_C(0x2EA0DEB0), UINT32_C(0x40BC32E4)}},
10408         {{UINT32_C(0x27C85959), UINT32_C(0xC0AEFB50), UINT32_C(0x058E0FDD),
10409           UINT32_C(0x76D1087E), UINT32_C(0x7E51A6F8), UINT32_C(0x6ADA5AAF),
10410           UINT32_C(0x054A058D), UINT32_C(0x424B16E0)},
10411          {UINT32_C(0x63AF9766), UINT32_C(0x9A2C20A9), UINT32_C(0x3CF18DAB),
10412           UINT32_C(0x4C1CB532), UINT32_C(0x6C5D6A00), UINT32_C(0x599CD929),
10413           UINT32_C(0x8AA311BF), UINT32_C(0x57C39BAE)}},
10414         {{UINT32_C(0xCD987F02), UINT32_C(0x3FDF5B46), UINT32_C(0x353175C4),
10415           UINT32_C(0x57755078), UINT32_C(0xCD578394), UINT32_C(0x80223EC0),
10416           UINT32_C(0xAEB7D278), UINT32_C(0x04BBA6AC)},
10417          {UINT32_C(0x8688BFB2), UINT32_C(0xD27FD2BE), UINT32_C(0xC27A62E5),
10418           UINT32_C(0xB2F80278), UINT32_C(0x339429D8), UINT32_C(0x8BA6FB07),
10419           UINT32_C(0x3AB70AA0), UINT32_C(0x57737FF6)}},
10420         {{UINT32_C(0x8EAEB3C9), UINT32_C(0x0140E47F), UINT32_C(0x735AC8EA),
10421           UINT32_C(0xB91C9798), UINT32_C(0x83D4EFAA), UINT32_C(0x325E0312),
10422           UINT32_C(0xD9C5888E), UINT32_C(0x1E7DA3BE)},
10423          {UINT32_C(0xF7F1EB13), UINT32_C(0xA210CDA6), UINT32_C(0x936EA9E9),
10424           UINT32_C(0xEDC1F6B3), UINT32_C(0x1B097F65), UINT32_C(0x46E831C4),
10425           UINT32_C(0x1939A0AE), UINT32_C(0x00857601)}},
10426         {{UINT32_C(0x1F68BB40), UINT32_C(0x7C26F711), UINT32_C(0x39DDBE6D),
10427           UINT32_C(0xEA69C845), UINT32_C(0xE5316F22), UINT32_C(0x590BF426),
10428           UINT32_C(0xCC2DF9C9), UINT32_C(0x40CDC921)},
10429          {UINT32_C(0xF3F991C6), UINT32_C(0x28A32DDE), UINT32_C(0x5356CA78),
10430           UINT32_C(0xD75B59E6), UINT32_C(0xD1F5F318), UINT32_C(0xB5DD3861),
10431           UINT32_C(0xE7929834), UINT32_C(0x09EB1A2D)}},
10432         {{UINT32_C(0xDBC0370D), UINT32_C(0x701F9A2D), UINT32_C(0x2870B59D),
10433           UINT32_C(0x559D0FAF), UINT32_C(0x55367B5D), UINT32_C(0xE89E5DF0),
10434           UINT32_C(0x74005A58), UINT32_C(0x22BBD4FC)},
10435          {UINT32_C(0x99CDC76B), UINT32_C(0x7ACED1E4), UINT32_C(0xE3C219D3),
10436           UINT32_C(0xD41C827C), UINT32_C(0x8221D91F), UINT32_C(0x5AF3F2AE),
10437           UINT32_C(0xE5B6BC98), UINT32_C(0x6D62C990)}},
10438         {{UINT32_C(0x7FFC9D0F), UINT32_C(0x23B2A0BF), UINT32_C(0x974CA299),
10439           UINT32_C(0xED98F71D), UINT32_C(0x151D559B), UINT32_C(0x10F8C07A),
10440           UINT32_C(0x8E949C62), UINT32_C(0x40E46FC3)},
10441          {UINT32_C(0xBBE55338), UINT32_C(0x0CF53E34), UINT32_C(0x115520D4),
10442           UINT32_C(0xF2D6CF26), UINT32_C(0x590B4E23), UINT32_C(0x915FF09A),
10443           UINT32_C(0xBEDC75F2), UINT32_C(0x072E4233)}},
10444         {{UINT32_C(0x997E9BFA), UINT32_C(0xB67A6B60), UINT32_C(0x973BC3E7),
10445           UINT32_C(0xE7686AC9), UINT32_C(0x0B228320), UINT32_C(0x9525B449),
10446           UINT32_C(0x7ADE8F19), UINT32_C(0x6C727583)},
10447          {UINT32_C(0x062FF3D5), UINT32_C(0x3D064298), UINT32_C(0x07E22768),
10448           UINT32_C(0x5483826C), UINT32_C(0x1F7A64A4), UINT32_C(0xF4ADE921),
10449           UINT32_C(0xBD92EB25), UINT32_C(0x70BDDCF7)}},
10450         {{UINT32_C(0x5D8A9E36), UINT32_C(0xA8DB3611), UINT32_C(0xFA81065A),
10451           UINT32_C(0xAA6A5F33), UINT32_C(0x366DDA90), UINT32_C(0x8EC120A3),
10452           UINT32_C(0xD8A15CF7), UINT32_C(0x2AA0AB25)},
10453          {UINT32_C(0xA0DFFB9C), UINT32_C(0x5E11E169), UINT32_C(0x118408A7),
10454           UINT32_C(0x8C7572E9), UINT32_C(0x35833ADF), UINT32_C(0x4EEFD13E),
10455           UINT32_C(0xFC2C1811), UINT32_C(0x2C6732E8)}},
10456         {{UINT32_C(0xB1537DF6), UINT32_C(0x15D063F9), UINT32_C(0x0414FCFD),
10457           UINT32_C(0x864176B3), UINT32_C(0x8FF9E32E), UINT32_C(0x9C0A194C),
10458           UINT32_C(0xDDE1540B), UINT32_C(0x4DB14C6F)},
10459          {UINT32_C(0x31F6493F), UINT32_C(0xFAA4AED4), UINT32_C(0xD3C41A46),
10460           UINT32_C(0x2C479F1D), UINT32_C(0x8E5E85A2), UINT32_C(0xC3119667),
10461           UINT32_C(0x84E9A76C), UINT32_C(0x7E567C80)}},
10462         {{UINT32_C(0x689A6B95), UINT32_C(0xB9E2C92A), UINT32_C(0x3B635B01),
10463           UINT32_C(0xCCEAC383), UINT32_C(0x34AAB952), UINT32_C(0x04FEA465),
10464           UINT32_C(0x63B5CF63), UINT32_C(0x772E5027)},
10465          {UINT32_C(0x25830581), UINT32_C(0xCB94F5D2), UINT32_C(0xC77FB7DE),
10466           UINT32_C(0x791004AF), UINT32_C(0x5140E4AE), UINT32_C(0x53273C33),
10467           UINT32_C(0xA524419F), UINT32_C(0x0C2D329E)}},
10468         {{UINT32_C(0xB307B0E4), UINT32_C(0xB7CEDA36), UINT32_C(0x0F8F9667),
10469           UINT32_C(0x12DF7FD0), UINT32_C(0xBF62BD94), UINT32_C(0x74274002),
10470           UINT32_C(0xC436C319), UINT32_C(0x6765C73D)},
10471          {UINT32_C(0xF6EEC946), UINT32_C(0x79B64CE5), UINT32_C(0xDAB258B6),
10472           UINT32_C(0x3B1B4B43), UINT32_C(0xEE1F8B84), UINT32_C(0x377819A3),
10473           UINT32_C(0x76D0EB1F), UINT32_C(0x1F45F1D6)}},
10474         {{UINT32_C(0x58C953AD), UINT32_C(0xCC5BF9B3), UINT32_C(0x7BAD1D2C),
10475           UINT32_C(0x8303250F), UINT32_C(0xF164972B), UINT32_C(0xBCA7BC36),
10476           UINT32_C(0xB1DFDA64), UINT32_C(0x2CACF8A9)},
10477          {UINT32_C(0xD4E2A06F), UINT32_C(0xB03A59B9), UINT32_C(0x1B7FB8FD),
10478           UINT32_C(0xFED68E68), UINT32_C(0x7E747AE6), UINT32_C(0x08F75A52),
10479           UINT32_C(0x37A4420B), UINT32_C(0x3299EA6B)}},
10480         {{UINT32_C(0x932E5BA6), UINT32_C(0x49A00BE6), UINT32_C(0x56114C4B),
10481           UINT32_C(0x49212505), UINT32_C(0x376183C7), UINT32_C(0x786B7D31),
10482           UINT32_C(0xDD8A5EAF), UINT32_C(0x01F9E229)},
10483          {UINT32_C(0x53094AD4), UINT32_C(0xE9B8E990), UINT32_C(0xBFAEDFA8),
10484           UINT32_C(0x2EDA305C), UINT32_C(0x7F9E3BC8), UINT32_C(0x34443726),
10485           UINT32_C(0x6B55B3C3), UINT32_C(0x1729519C)}},
10486         {{UINT32_C(0x50A597D6), UINT32_C(0xEA5A68C0), UINT32_C(0xF1E86D1B),
10487           UINT32_C(0xA65147D4), UINT32_C(0x8B47CDEB), UINT32_C(0x554FA36B),
10488           UINT32_C(0x9F24FFED), UINT32_C(0x7F38364B)},
10489          {UINT32_C(0x1D2A8E2B), UINT32_C(0x657C7E05), UINT32_C(0xE3F64D62),
10490           UINT32_C(0x8270F1A7), UINT32_C(0x953AF5A2), UINT32_C(0xFD258B59),
10491           UINT32_C(0x43510AA3), UINT32_C(0x6DE01141)}},
10492     },
10493     {
10494         {{UINT32_C(0x0D7A5CBE), UINT32_C(0x48390428), UINT32_C(0xDE441E5E),
10495           UINT32_C(0xD37E8C1F), UINT32_C(0x0DE31C8C), UINT32_C(0x908C88B8),
10496           UINT32_C(0x0ACD87CE), UINT32_C(0x7C0E24BB)},
10497          {UINT32_C(0x25ECCCE8), UINT32_C(0x4A781177), UINT32_C(0xCBDA746F),
10498           UINT32_C(0xC06C2F7A), UINT32_C(0xAB565DD4), UINT32_C(0xDB9E9A08),
10499           UINT32_C(0xBE776F5B), UINT32_C(0x1E9B44C0)}},
10500         {{UINT32_C(0x85B54ABC), UINT32_C(0x7CFD4E50), UINT32_C(0xE7A44F8B),
10501           UINT32_C(0x41A4A4DC), UINT32_C(0xA4422576), UINT32_C(0x751C5052),
10502           UINT32_C(0xD56B6CB1), UINT32_C(0x534FE0B2)},
10503          {UINT32_C(0xD5D767D0), UINT32_C(0x22DAA5CD), UINT32_C(0x0AF8E22C),
10504           UINT32_C(0x9C1999AB), UINT32_C(0x99259068), UINT32_C(0xC70C0932),
10505           UINT32_C(0xFD0839F0), UINT32_C(0x459D212E)}},
10506         {{UINT32_C(0xFD32D79B), UINT32_C(0xA207E7DE), UINT32_C(0x410B479F),
10507           UINT32_C(0xA7B54991), UINT32_C(0xD68E5CDC), UINT32_C(0x806912B6),
10508           UINT32_C(0x92AB8B64), UINT32_C(0x1CB7B68C)},
10509          {UINT32_C(0xDF98339F), UINT32_C(0x3DB85378), UINT32_C(0x83EA7A18),
10510           UINT32_C(0xA24101DC), UINT32_C(0xE25522C5), UINT32_C(0x8892367C),
10511           UINT32_C(0x7753A2C3), UINT32_C(0x491A8BB3)}},
10512         {{UINT32_C(0x8C7875A7), UINT32_C(0x571C547E), UINT32_C(0xE9747C13),
10513           UINT32_C(0x7E5F23E4), UINT32_C(0x1058548D), UINT32_C(0x00F3BBB2),
10514           UINT32_C(0xE2397102), UINT32_C(0x7081F172)},
10515          {UINT32_C(0x6B573034), UINT32_C(0xB4351B8A), UINT32_C(0xC1A094F0),
10516           UINT32_C(0xB35A4F44), UINT32_C(0xAE951E96), UINT32_C(0xE2C1DAED),
10517           UINT32_C(0xB9DAA081), UINT32_C(0x5CF2A742)}},
10518         {{UINT32_C(0x9828ED9F), UINT32_C(0xB4F0D3F0), UINT32_C(0xA9251386),
10519           UINT32_C(0x6DB312FB), UINT32_C(0x537203F2), UINT32_C(0xC9A4583F),
10520           UINT32_C(0x9CE76D40), UINT32_C(0x5E099639)},
10521          {UINT32_C(0xC9F8CEA8), UINT32_C(0x3381B894), UINT32_C(0x626E07E8),
10522           UINT32_C(0x8242DAF8), UINT32_C(0x6077DFD9), UINT32_C(0x64A0B68C),
10523           UINT32_C(0x563CF051), UINT32_C(0x3CC462C0)}},
10524         {{UINT32_C(0x87AF4A45), UINT32_C(0x8937364C), UINT32_C(0x2DE0FD60),
10525           UINT32_C(0x8C4ACBFA), UINT32_C(0x472A5D8A), UINT32_C(0xF10AED11),
10526           UINT32_C(0x5380C2E6), UINT32_C(0x3F5674B5)},
10527          {UINT32_C(0x2BF8A452), UINT32_C(0x8F4FD0F5), UINT32_C(0xC7390418),
10528           UINT32_C(0xB436E388), UINT32_C(0xE6EE9406), UINT32_C(0xAFAB7B7C),
10529           UINT32_C(0x951739BA), UINT32_C(0x4F623177)}},
10530         {{UINT32_C(0xA9B50F2A), UINT32_C(0x90B0ED35), UINT32_C(0xAC6CF217),
10531           UINT32_C(0x46DC3F91), UINT32_C(0x2C7B119C), UINT32_C(0x2F142031),
10532           UINT32_C(0x07D79225), UINT32_C(0x55A93CBC)},
10533          {UINT32_C(0xB304A642), UINT32_C(0x45E0DD7D), UINT32_C(0xD572D446),
10534           UINT32_C(0xB743DFCD), UINT32_C(0xAC74B368), UINT32_C(0x867B02EB),
10535           UINT32_C(0x169B94B0), UINT32_C(0x67B2B86C)}},
10536         {{UINT32_C(0x483CFEDB), UINT32_C(0x18396DA7), UINT32_C(0x8A3A07C2),
10537           UINT32_C(0x6C6E0370), UINT32_C(0xAB554998), UINT32_C(0xF32A1AFE),
10538           UINT32_C(0x87D1C136), UINT32_C(0x408C9119)},
10539          {UINT32_C(0x4BBE0B78), UINT32_C(0x755F6325), UINT32_C(0xD1178550),
10540           UINT32_C(0xDC4A7319), UINT32_C(0xB3B9E459), UINT32_C(0x44B49813),
10541           UINT32_C(0x4C3D3620), UINT32_C(0x0294B9A9)}},
10542         {{UINT32_C(0x067FA6FF), UINT32_C(0x6480F6FE), UINT32_C(0xF307A52E),
10543           UINT32_C(0x67891400), UINT32_C(0x7F865DA8), UINT32_C(0x9F846EF8),
10544           UINT32_C(0xAE02F671), UINT32_C(0x318DAC55)},
10545          {UINT32_C(0xE288A317), UINT32_C(0x91119652), UINT32_C(0x038C61B8),
10546           UINT32_C(0x4D7CF2B8), UINT32_C(0x5154C1A8), UINT32_C(0x098F80DD),
10547           UINT32_C(0xD239A2D4), UINT32_C(0x10C04F87)}},
10548         {{UINT32_C(0x5CA6F183), UINT32_C(0x13460926), UINT32_C(0xD52001ED),
10549           UINT32_C(0x5E97AD18), UINT32_C(0xE14843DF), UINT32_C(0x7DCD2477),
10550           UINT32_C(0x98A30426), UINT32_C(0x27DAB276)},
10551          {UINT32_C(0xE120D80C), UINT32_C(0x7939CAE3), UINT32_C(0x51E5B81A),
10552           UINT32_C(0xC9F46466), UINT32_C(0xE2E49D52), UINT32_C(0xED620322),
10553           UINT32_C(0xFA172BBB), UINT32_C(0x3C0F5A2E)}},
10554         {{UINT32_C(0x5DB1196B), UINT32_C(0xBFFE8742), UINT32_C(0x49B7214E),
10555           UINT32_C(0xCD45F8ED), UINT32_C(0xC35F5C33), UINT32_C(0x923ABA47),
10556           UINT32_C(0x83F3EE48), UINT32_C(0x16ED1F10)},
10557          {UINT32_C(0x99274930), UINT32_C(0x042E6DF0), UINT32_C(0xC5F8EA16),
10558           UINT32_C(0xE8AE1DCF), UINT32_C(0xF02EA2B2), UINT32_C(0x004462CB),
10559           UINT32_C(0xD284B04E), UINT32_C(0x427F9381)}},
10560         {{UINT32_C(0x75EFACC5), UINT32_C(0x4CD481F8), UINT32_C(0x21C83368),
10561           UINT32_C(0xD98C3FD4), UINT32_C(0x3894CE88), UINT32_C(0x4335E7C8),
10562           UINT32_C(0x955A298C), UINT32_C(0x18321F87)},
10563          {UINT32_C(0xD1716E18), UINT32_C(0x073DD00A), UINT32_C(0xFE0BFE61),
10564           UINT32_C(0x66D82A5F), UINT32_C(0x2310C532), UINT32_C(0x7D869E20),
10565           UINT32_C(0x19BF4704), UINT32_C(0x29A376FB)}},
10566         {{UINT32_C(0xC149B5B0), UINT32_C(0xA1B12B35), UINT32_C(0x1E828959),
10567           UINT32_C(0x3411B231), UINT32_C(0x560D99FB), UINT32_C(0x56417519),
10568           UINT32_C(0xEBB52124), UINT32_C(0x4E0EB143)},
10569          {UINT32_C(0x6AEF3801), UINT32_C(0x7B594B5E), UINT32_C(0x9ECB536E),
10570           UINT32_C(0x00AEE12E), UINT32_C(0x56E23145), UINT32_C(0x6BF0FB29),
10571           UINT32_C(0x61AE8E98), UINT32_C(0x2B2D83B9)}},
10572         {{UINT32_C(0x6AC27F2D), UINT32_C(0x9CB3E2E8), UINT32_C(0x5A6280AA),
10573           UINT32_C(0x82BACA96), UINT32_C(0x2C6B7C8F), UINT32_C(0xCBC6C01B),
10574           UINT32_C(0xD0C01ABD), UINT32_C(0x390511BC)},
10575          {UINT32_C(0x49551C0D), UINT32_C(0xB322D972), UINT32_C(0x7B6489C8),
10576           UINT32_C(0x7905E82E), UINT32_C(0x40EEC20D), UINT32_C(0x4DD0CE8B),
10577           UINT32_C(0x2409298A), UINT32_C(0x5C0B3EE7)}},
10578         {{UINT32_C(0xB635FB99), UINT32_C(0x4418D685), UINT32_C(0x3ACE8B39),
10579           UINT32_C(0x652EA608), UINT32_C(0x46FC4047), UINT32_C(0xE586FBDC),
10580           UINT32_C(0xD8CC13D8), UINT32_C(0x3C832D34)},
10581          {UINT32_C(0xF7AA54A1), UINT32_C(0x14CC9F23), UINT32_C(0x07153B9F),
10582           UINT32_C(0x80D094E6), UINT32_C(0x6A2EED8E), UINT32_C(0x0776E540),
10583           UINT32_C(0x77249085), UINT32_C(0x03CC3BFC)}},
10584         {{UINT32_C(0x1308C1A8), UINT32_C(0x5F8F281F), UINT32_C(0xD1AFC4B7),
10585           UINT32_C(0x31C8E737), UINT32_C(0x41AE8EF2), UINT32_C(0x67785298),
10586           UINT32_C(0xFD028A4B), UINT32_C(0x17716086)},
10587          {UINT32_C(0xF922E100), UINT32_C(0x1A2083E0), UINT32_C(0xD53FE691),
10588           UINT32_C(0xD67EC9D1), UINT32_C(0xECCA8DEB), UINT32_C(0x2DF8B6ED),
10589           UINT32_C(0xBCCC999E), UINT32_C(0x3B595EE4)}},
10590     },
10591     {
10592         {{UINT32_C(0x5A4B8C04), UINT32_C(0x11F03F89), UINT32_C(0x7DAE8E6B),
10593           UINT32_C(0x254C3648), UINT32_C(0x637CDB83), UINT32_C(0xAB6EAAF1),
10594           UINT32_C(0xFDDED8F6), UINT32_C(0x41F52243)},
10595          {UINT32_C(0xBBDF3270), UINT32_C(0x487078E1), UINT32_C(0x339CEA28),
10596           UINT32_C(0x98853B49), UINT32_C(0xAB3EDE57), UINT32_C(0x8AF0522B),
10597           UINT32_C(0x85EB4CC0), UINT32_C(0x734D711F)}},
10598         {{UINT32_C(0xF86BA644), UINT32_C(0xFD1F46AD), UINT32_C(0xA3299855),
10599           UINT32_C(0xA5332B97), UINT32_C(0xD9493634), UINT32_C(0x61BE90DB),
10600           UINT32_C(0xC2705911), UINT32_C(0x308F09B1)},
10601          {UINT32_C(0x0B7918A5), UINT32_C(0xD59F1B1A), UINT32_C(0xCF6399E6),
10602           UINT32_C(0x9CF333D0), UINT32_C(0xFBB26B6B), UINT32_C(0xD09C63CD),
10603           UINT32_C(0xA6536647), UINT32_C(0x76C27913)}},
10604         {{UINT32_C(0xAAAB555C), UINT32_C(0x3DF1811F), UINT32_C(0x886C828B),
10605           UINT32_C(0x60853351), UINT32_C(0xF1E87F41), UINT32_C(0xF6CA7707),
10606           UINT32_C(0x7D7082E6), UINT32_C(0x5B4F6EDF)},
10607          {UINT32_C(0x3F672DE7), UINT32_C(0xADE518E0), UINT32_C(0x022541B2),
10608           UINT32_C(0x00ED0B84), UINT32_C(0x618E8969), UINT32_C(0x04FE5DD6),
10609           UINT32_C(0xDB9CCA4D), UINT32_C(0x2F5F5C65)}},
10610         {{UINT32_C(0x96BDAE2C), UINT32_C(0x00B69B45), UINT32_C(0x770604C4),
10611           UINT32_C(0x06DB22CF), UINT32_C(0x856585C3), UINT32_C(0xC2EB7F8F),
10612           UINT32_C(0x0413C614), UINT32_C(0x6E322539)},
10613          {UINT32_C(0x70A46872), UINT32_C(0x22C09EA8), UINT32_C(0x1FF23734),
10614           UINT32_C(0x143E73BC), UINT32_C(0x575C20B4), UINT32_C(0xCAC5E2DD),
10615           UINT32_C(0x3FEBE787), UINT32_C(0x225E5390)}},
10616         {{UINT32_C(0xBE9C512D), UINT32_C(0x594FEA4E), UINT32_C(0x92CB73AE),
10617           UINT32_C(0x58507092), UINT32_C(0xB0CE2096), UINT32_C(0xFD8EFC7D),
10618           UINT32_C(0xE031D6AB), UINT32_C(0x3B58C199)},
10619          {UINT32_C(0x479F23E4), UINT32_C(0x55DA1CBD), UINT32_C(0xA6DB6137),
10620           UINT32_C(0x060C6BB5), UINT32_C(0x6864488E), UINT32_C(0xD8319CF8),
10621           UINT32_C(0x21B02EDA), UINT32_C(0x6C15A31B)}},
10622         {{UINT32_C(0x8CA7084D), UINT32_C(0x13C48372), UINT32_C(0xA171ECE5),
10623           UINT32_C(0xF7554E59), UINT32_C(0x23A97699), UINT32_C(0x7425C5D8),
10624           UINT32_C(0x71E1120E), UINT32_C(0x6F2C68DA)},
10625          {UINT32_C(0x24324B64), UINT32_C(0x9591B9B6), UINT32_C(0xC02AC704),
10626           UINT32_C(0x2DA33472), UINT32_C(0x81EE1295), UINT32_C(0xC5DE7FC9),
10627           UINT32_C(0x5D6E93C6), UINT32_C(0x6A646A44)}},
10628         {{UINT32_C(0xA39D6554), UINT32_C(0x48684061), UINT32_C(0xC3DF57B6),
10629           UINT32_C(0xB70ABF61), UINT32_C(0x58B9EEE3), UINT32_C(0x9824AFD6),
10630           UINT32_C(0x3A14A733), UINT32_C(0x46EBE9D1)},
10631          {UINT32_C(0xD74F8E94), UINT32_C(0x8E70F95D), UINT32_C(0x6AFCA4E2),
10632           UINT32_C(0xA9D922A2), UINT32_C(0x6988CC16), UINT32_C(0x519A9753),
10633           UINT32_C(0xD545AF8A), UINT32_C(0x711DEF16)}},
10634         {{UINT32_C(0x811A2BF7), UINT32_C(0x362A5D95), UINT32_C(0x566B90CE),
10635           UINT32_C(0x42A84A33), UINT32_C(0x7C41EC87), UINT32_C(0x25CBC760),
10636           UINT32_C(0xD4B7DBEE), UINT32_C(0x6B77E39C)},
10637          {UINT32_C(0x833015A4), UINT32_C(0xA98B8201), UINT32_C(0xC31B26F4),
10638           UINT32_C(0xE412E217), UINT32_C(0xE0090782), UINT32_C(0x518BE8F0),
10639           UINT32_C(0x3DB51D4E), UINT32_C(0x08D9F4B6)}},
10640         {{UINT32_C(0x297D421E), UINT32_C(0x2C80CE87), UINT32_C(0xADBA1498),
10641           UINT32_C(0x2FD137F8), UINT32_C(0x2899AA14), UINT32_C(0xA2ED3D47),
10642           UINT32_C(0xFE4F365A), UINT32_C(0x2AC924A5)},
10643          {UINT32_C(0x666DC0A0), UINT32_C(0xAC0389B7), UINT32_C(0x8ABF3D9E),
10644           UINT32_C(0x3CC99739), UINT32_C(0xDFBFF83A), UINT32_C(0x33060DB6),
10645           UINT32_C(0x0339C3B8), UINT32_C(0x54EEE215)}},
10646         {{UINT32_C(0x820F7E4D), UINT32_C(0x06C3A4F5), UINT32_C(0x08C3D311),
10647           UINT32_C(0x86F083E2), UINT32_C(0xFE4B0476), UINT32_C(0x47E29984),
10648           UINT32_C(0xCA7DF6CF), UINT32_C(0x218F52E2)},
10649          {UINT32_C(0xBF2C2084), UINT32_C(0x59317E26), UINT32_C(0x289A10CF),
10650           UINT32_C(0xEA9C865B), UINT32_C(0x2074FEA3), UINT32_C(0x7AA1E50B),
10651           UINT32_C(0x4B3EFC31), UINT32_C(0x708A1D8C)}},
10652         {{UINT32_C(0x864817D7), UINT32_C(0x34C5C63E), UINT32_C(0xD89E995B),
10653           UINT32_C(0x0F614043), UINT32_C(0x975E2A03), UINT32_C(0x60CE8BCE),
10654           UINT32_C(0x78493E0C), UINT32_C(0x70916E29)},
10655          {UINT32_C(0x216782C6), UINT32_C(0xBD0748F9), UINT32_C(0xED32FB72),
10656           UINT32_C(0x0051C65A), UINT32_C(0x4DD64705), UINT32_C(0x9DC5F558),
10657           UINT32_C(0xEEC14B50), UINT32_C(0x674F1A63)}},
10658         {{UINT32_C(0xDB633FD1), UINT32_C(0x73D6E68E), UINT32_C(0xF52F9537),
10659           UINT32_C(0x7B5F8303), UINT32_C(0x88A74CFB), UINT32_C(0x980FDDDC),
10660           UINT32_C(0x47FC32D1), UINT32_C(0x6419C18F)},
10661          {UINT32_C(0x870B5D59), UINT32_C(0x93727B4C), UINT32_C(0xCF28021D),
10662           UINT32_C(0x4BCE05DE), UINT32_C(0xAB4F0CE5), UINT32_C(0x3C059B47),
10663           UINT32_C(0xB85FFDBB), UINT32_C(0x77CA7F67)}},
10664         {{UINT32_C(0xC525088E), UINT32_C(0xDBEADDCE), UINT32_C(0x390D2221),
10665           UINT32_C(0x561E12BE), UINT32_C(0xD9BA7AF0), UINT32_C(0xCD224FC1),
10666           UINT32_C(0x394DC073), UINT32_C(0x03744552)},
10667          {UINT32_C(0x21BB6B6E), UINT32_C(0xCFC67B49), UINT32_C(0x1B5F8E6A),
10668           UINT32_C(0xD234FD8D), UINT32_C(0x40B7F8B0), UINT32_C(0x6DDBC18B),
10669           UINT32_C(0xDAACCC74), UINT32_C(0x79F40857)}},
10670         {{UINT32_C(0x9DD71B9C), UINT32_C(0x30E5F990), UINT32_C(0x291124EF),
10671           UINT32_C(0x00FCBFA5), UINT32_C(0x49B8C570), UINT32_C(0xBE595A25),
10672           UINT32_C(0xBC094446), UINT32_C(0x5B4B8141)},
10673          {UINT32_C(0x469191B6), UINT32_C(0xB22B4F04), UINT32_C(0xD73C4D38),
10674           UINT32_C(0x10845AC8), UINT32_C(0xED0C8224), UINT32_C(0x39C9F0FB),
10675           UINT32_C(0xF5813BEE), UINT32_C(0x7E009DFB)}},
10676         {{UINT32_C(0xA61D09C0), UINT32_C(0xA47C2989), UINT32_C(0x59E55A9C),
10677           UINT32_C(0x3706F456), UINT32_C(0xEA0259B9), UINT32_C(0x2373976F),
10678           UINT32_C(0x077D20CC), UINT32_C(0x13FC0E09)},
10679          {UINT32_C(0xE78D29CF), UINT32_C(0xBB24DD05), UINT32_C(0x822CFA02),
10680           UINT32_C(0xD8757A67), UINT32_C(0x3C55A4C6), UINT32_C(0x36CA7486),
10681           UINT32_C(0x3EEABBE1), UINT32_C(0x4234E689)}},
10682         {{UINT32_C(0xB46BDB51), UINT32_C(0xA2F54D14), UINT32_C(0x675BB770),
10683           UINT32_C(0x8A530B78), UINT32_C(0xDE9F1F8B), UINT32_C(0x617D7E8E),
10684           UINT32_C(0x2DCC4712), UINT32_C(0x799B3E44)},
10685          {UINT32_C(0xB486FE8C), UINT32_C(0x658A31D8), UINT32_C(0x163D4AF0),
10686           UINT32_C(0x45BAFC29), UINT32_C(0xA5289C8D), UINT32_C(0x3A2C7F66),
10687           UINT32_C(0xB91FF3DB), UINT32_C(0x4ECC3C7D)}},
10688     },
10689     {
10690         {{UINT32_C(0xDF4DFD43), UINT32_C(0x738CF1C7), UINT32_C(0xE987084C),
10691           UINT32_C(0x72943A2D), UINT32_C(0x2491FF24), UINT32_C(0xEA21C05F),
10692           UINT32_C(0xDA050094), UINT32_C(0x3D3F4ED7)},
10693          {UINT32_C(0x61C4054D), UINT32_C(0xF90644E4), UINT32_C(0x3A50E82A),
10694           UINT32_C(0x25379214), UINT32_C(0xC7DEF970), UINT32_C(0x47EDB006),
10695           UINT32_C(0x0F53F307), UINT32_C(0x0F8F031C)}},
10696         {{UINT32_C(0x724976D5), UINT32_C(0x50FEB6D8), UINT32_C(0xF40C7720),
10697           UINT32_C(0x57AA499F), UINT32_C(0x0DAAF428), UINT32_C(0x6B80AC54),
10698           UINT32_C(0x1F6FC276), UINT32_C(0x7AC6845E)},
10699          {UINT32_C(0x17A4B9C5), UINT32_C(0x8EC7FAB1), UINT32_C(0xED0C8F97),
10700           UINT32_C(0x8336DD62), UINT32_C(0xB7B7104E), UINT32_C(0x6014A510),
10701           UINT32_C(0xA2911C30), UINT32_C(0x4991A03B)}},
10702         {{UINT32_C(0xCBCC9BA3), UINT32_C(0x6D353975), UINT32_C(0xC4564492),
10703           UINT32_C(0x23E97E28), UINT32_C(0xF8AEED3E), UINT32_C(0xDF432FDA),
10704           UINT32_C(0x6F6B472C), UINT32_C(0x11DB40DD)},
10705          {UINT32_C(0x95AA0174), UINT32_C(0x5B87005B), UINT32_C(0x89D9F1A8),
10706           UINT32_C(0x1DB41080), UINT32_C(0x689DF208), UINT32_C(0x5A6BC444),
10707           UINT32_C(0xBF38FF8D), UINT32_C(0x16153F87)}},
10708         {{UINT32_C(0xFFD3C814), UINT32_C(0xD217003F), UINT32_C(0xFD50AF95),
10709           UINT32_C(0x1ADE64C3), UINT32_C(0x9FFB8BEB), UINT32_C(0x1936332C),
10710           UINT32_C(0xD70CD8D8), UINT32_C(0x6EE322DC)},
10711          {UINT32_C(0xF2A60976), UINT32_C(0xE40A0419), UINT32_C(0xEF93B05B),
10712           UINT32_C(0xA62F6FA1), UINT32_C(0x596575FF), UINT32_C(0x5978206C),
10713           UINT32_C(0xB68BFE5C), UINT32_C(0x5CDCA200)}},
10714         {{UINT32_C(0xB7949E33), UINT32_C(0x3FB16AED), UINT32_C(0x40304A1B),
10715           UINT32_C(0x34538928), UINT32_C(0x3BCA4239), UINT32_C(0x7FA35A34),
10716           UINT32_C(0xEE76919E), UINT32_C(0x22FD1AEF)},
10717          {UINT32_C(0x0F6A5D50), UINT32_C(0x1F8FE6A4), UINT32_C(0x26BBA46B),
10718           UINT32_C(0x27CC704F), UINT32_C(0x3420CC52), UINT32_C(0x230FD0CA),
10719           UINT32_C(0xB3A83D85), UINT32_C(0x3E9E4DA4)}},
10720         {{UINT32_C(0x7F5CC75E), UINT32_C(0x1D82390E), UINT32_C(0x49D0A605),
10721           UINT32_C(0x70256245), UINT32_C(0x4FF4BC44), UINT32_C(0x5B877813),
10722           UINT32_C(0xB5EC02E4), UINT32_C(0x28E6A057)},
10723          {UINT32_C(0x2E89FB84), UINT32_C(0xBC7A10DA), UINT32_C(0x20E1EA00),
10724           UINT32_C(0x3AF182E5), UINT32_C(0x9C507274), UINT32_C(0x4B590FFA),
10725           UINT32_C(0xAA7FD65B), UINT32_C(0x26BA94D6)}},
10726         {{UINT32_C(0x238CC195), UINT32_C(0xC02CC77C), UINT32_C(0xA97EE3E4),
10727           UINT32_C(0x3F175C97), UINT32_C(0xDFA1F9DC), UINT32_C(0x8A28FA23),
10728           UINT32_C(0x1F968D15), UINT32_C(0x35CAC0FF)},
10729          {UINT32_C(0x37C7C773), UINT32_C(0x0FC41B33), UINT32_C(0xBC999443),
10730           UINT32_C(0x71E06B10), UINT32_C(0x2C87B0A4), UINT32_C(0x073A1ABA),
10731           UINT32_C(0x9E5E8B70), UINT32_C(0x29F29B12)}},
10732         {{UINT32_C(0xE491FE70), UINT32_C(0xAA25F348), UINT32_C(0xC1713992),
10733           UINT32_C(0x9371F94B), UINT32_C(0x4FA08818), UINT32_C(0x674B478C),
10734           UINT32_C(0xB1407431), UINT32_C(0x6F3C31FE)},
10735          {UINT32_C(0xD93DD5E1), UINT32_C(0xBB7D37FB), UINT32_C(0x7E04EE7A),
10736           UINT32_C(0xE34A40B8), UINT32_C(0xF3C33528), UINT32_C(0xCF82360D),
10737           UINT32_C(0x01477712), UINT32_C(0x0A3B8FF5)}},
10738         {{UINT32_C(0x6B718511), UINT32_C(0xA4591471), UINT32_C(0xD2FD6B9B),
10739           UINT32_C(0x7B0CE8DE), UINT32_C(0x6845DBEF), UINT32_C(0xC42544FA),
10740           UINT32_C(0x63AF476A), UINT32_C(0x456A6985)},
10741          {UINT32_C(0x9CDE4E74), UINT32_C(0x5DD611F6), UINT32_C(0x2B346AEB),
10742           UINT32_C(0x86095683), UINT32_C(0x6E75B3D7), UINT32_C(0xD15C5DA0),
10743           UINT32_C(0xC72D5D2C), UINT32_C(0x220FFD73)}},
10744         {{UINT32_C(0xD2ED888F), UINT32_C(0x478DA345), UINT32_C(0xE04CBCC7),
10745           UINT32_C(0xA69D4FB9), UINT32_C(0xB3F1179D), UINT32_C(0xA427150A),
10746           UINT32_C(0xD5CEA78A), UINT32_C(0x1DD3B8C2)},
10747          {UINT32_C(0xB8628A22), UINT32_C(0x9462EFF0), UINT32_C(0xB2CB44A5),
10748           UINT32_C(0xB2FFFF4A), UINT32_C(0x24039BA8), UINT32_C(0x8234A3FF),
10749           UINT32_C(0x916DE889), UINT32_C(0x01BE7202)}},
10750         {{UINT32_C(0x6DFCEF0B), UINT32_C(0x51066985), UINT32_C(0xDF20CDEE),
10751           UINT32_C(0x25729D98), UINT32_C(0x9693E5EF), UINT32_C(0x872FD39D),
10752           UINT32_C(0x2D859635), UINT32_C(0x72D03AE1)},
10753          {UINT32_C(0xDACAEB82), UINT32_C(0x3F28F84E), UINT32_C(0xCB5284D7),
10754           UINT32_C(0x9EB40FD6), UINT32_C(0xC5F54041), UINT32_C(0x66C2DCA6),
10755           UINT32_C(0x1C1F2461), UINT32_C(0x4BDBA382)}},
10756         {{UINT32_C(0x0E0ED176), UINT32_C(0xE5342197), UINT32_C(0xA225A47F),
10757           UINT32_C(0xF588547A), UINT32_C(0x1FEB2259), UINT32_C(0xC83B54ED),
10758           UINT32_C(0x92F3733D), UINT32_C(0x1B037913)},
10759          {UINT32_C(0x2271ECFA), UINT32_C(0x935C9782), UINT32_C(0x53CFE07C),
10760           UINT32_C(0x5F7E94A6), UINT32_C(0x1B40CA19), UINT32_C(0xBFF5B0E6),
10761           UINT32_C(0x459445E1), UINT32_C(0x36C7851D)}},
10762         {{UINT32_C(0x588C9748), UINT32_C(0xB6547971), UINT32_C(0x11970562),
10763           UINT32_C(0xCFD8E81B), UINT32_C(0x702FE4FA), UINT32_C(0x41333C80),
10764           UINT32_C(0x962A993B), UINT32_C(0x2F153C8C)},
10765          {UINT32_C(0x8BDA48AC), UINT32_C(0x028BBD6A), UINT32_C(0xFE1DB02A),
10766           UINT32_C(0x7B076F88), UINT32_C(0x078FB3FC), UINT32_C(0xC9560400),
10767           UINT32_C(0x035907EA), UINT32_C(0x5DCC0946)}},
10768         {{UINT32_C(0xA6233F1C), UINT32_C(0x93D7CF33), UINT32_C(0xDF2A187C),
10769           UINT32_C(0x03184BC4), UINT32_C(0xE83DAC32), UINT32_C(0x291149BC),
10770           UINT32_C(0xFAEDF216), UINT32_C(0x575F4279)},
10771          {UINT32_C(0x086FC141), UINT32_C(0x101427B4), UINT32_C(0xD288562E),
10772           UINT32_C(0xC924F2AE), UINT32_C(0xEEF5799A), UINT32_C(0xDB610463),
10773           UINT32_C(0x6A09661D), UINT32_C(0x20F18767)}},
10774         {{UINT32_C(0xF59D0C20), UINT32_C(0xE39BB775), UINT32_C(0x723A4EF2),
10775           UINT32_C(0x18DA90E2), UINT32_C(0xF56B381B), UINT32_C(0x8E747A7B),
10776           UINT32_C(0xF98F26DC), UINT32_C(0x7EF67224)},
10777          {UINT32_C(0xE1F94B99), UINT32_C(0xB1373AF5), UINT32_C(0x0C3B6AA8),
10778           UINT32_C(0x1076FBA6), UINT32_C(0xA3A7811C), UINT32_C(0x7FCD0017),
10779           UINT32_C(0x46554E7E), UINT32_C(0x6D1A6973)}},
10780         {{UINT32_C(0xB9CED2C2), UINT32_C(0xE5734077), UINT32_C(0x1F770914),
10781           UINT32_C(0xC94D17F8), UINT32_C(0x1CD248EB), UINT32_C(0x58B47BCB),
10782           UINT32_C(0x24804B6F), UINT32_C(0x2E06538C)},
10783          {UINT32_C(0x32E7CA19), UINT32_C(0x275D933F), UINT32_C(0x1FC9241E),
10784           UINT32_C(0x1B982B49), UINT32_C(0x3986B6AC), UINT32_C(0x8B8A6ED5),
10785           UINT32_C(0x35B4EA6A), UINT32_C(0x17568221)}},
10786     },
10787     {
10788         {{UINT32_C(0xE796327F), UINT32_C(0x090AD05A), UINT32_C(0xAD21DD4B),
10789           UINT32_C(0xA78DAE5E), UINT32_C(0x9C2F8CBE), UINT32_C(0x8EEC9EDB),
10790           UINT32_C(0x653E0F2D), UINT32_C(0x33E375E0)},
10791          {UINT32_C(0x8D67AC72), UINT32_C(0xDA19EFF2), UINT32_C(0x2737AB8C),
10792           UINT32_C(0xBFC7E62B), UINT32_C(0x4CF53C12), UINT32_C(0xBBF8BD1D),
10793           UINT32_C(0x45C6D555), UINT32_C(0x5ABFE23F)}},
10794         {{UINT32_C(0x0DE39342), UINT32_C(0x32460B33), UINT32_C(0xB8977067),
10795           UINT32_C(0x3567454A), UINT32_C(0xF954592C), UINT32_C(0x10A1E47D),
10796           UINT32_C(0x4DD019C4), UINT32_C(0x4DE8C6EF)},
10797          {UINT32_C(0x1BDAAAFA), UINT32_C(0x1F1D296B), UINT32_C(0x3A75AD99),
10798           UINT32_C(0x4E6B8E8F), UINT32_C(0xA27FE061), UINT32_C(0x259015E1),
10799           UINT32_C(0x9F320632), UINT32_C(0x6B6A4820)}},
10800         {{UINT32_C(0xA0B5E605), UINT32_C(0x8AA089AF), UINT32_C(0x1B4058FD),
10801           UINT32_C(0x1D6C1EEE), UINT32_C(0xB4E89BEF), UINT32_C(0x1D920534),
10802           UINT32_C(0x16163340), UINT32_C(0x722A3A35)},
10803          {UINT32_C(0xF33B49B2), UINT32_C(0xA3B9178C), UINT32_C(0x65558E90),
10804           UINT32_C(0xFF8FE9BB), UINT32_C(0x9794EFAE), UINT32_C(0x94766BC0),
10805           UINT32_C(0xFDFAEB42), UINT32_C(0x79A1EFA2)}},
10806         {{UINT32_C(0xBCB6D558), UINT32_C(0x2FE44B97), UINT32_C(0xDB8B0A79),
10807           UINT32_C(0xB4F4F402), UINT32_C(0x247C32E5), UINT32_C(0xF53D8AB1),
10808           UINT32_C(0x4DA4C009), UINT32_C(0x3B883CE5)},
10809          {UINT32_C(0x2EC9F1C6), UINT32_C(0xB46168BD), UINT32_C(0x6B8FE01A),
10810           UINT32_C(0xD40BDE7B), UINT32_C(0xCDFE509F), UINT32_C(0x60A5C168),
10811           UINT32_C(0x23BE249E), UINT32_C(0x3314D878)}},
10812         {{UINT32_C(0x4D9F5769), UINT32_C(0x02511A85), UINT32_C(0xB49D6A8E),
10813           UINT32_C(0x8398F9BD), UINT32_C(0x5D2D7135), UINT32_C(0xE8D773F3),
10814           UINT32_C(0x9DECC331), UINT32_C(0x09B3B8AB)},
10815          {UINT32_C(0x584C11D9), UINT32_C(0x8D2B269B), UINT32_C(0x6B6B86A9),
10816           UINT32_C(0xF7661944), UINT32_C(0xC7659AF7), UINT32_C(0x719A3620),
10817           UINT32_C(0x37C27DBE), UINT32_C(0x3CFC8DF0)}},
10818         {{UINT32_C(0x1145B14B), UINT32_C(0x5EE0BE06), UINT32_C(0x23193ED6),
10819           UINT32_C(0xAC6950E4), UINT32_C(0xDF244C7F), UINT32_C(0x7291C44C),
10820           UINT32_C(0x43D744EA), UINT32_C(0x4650C162)},
10821          {UINT32_C(0x34A084D8), UINT32_C(0x60B92D3F), UINT32_C(0x376E5414),
10822           UINT32_C(0xBBD44A0E), UINT32_C(0x0980F36C), UINT32_C(0x5C0E488A),
10823           UINT32_C(0xD7991A09), UINT32_C(0x4E53FCCA)}},
10824         {{UINT32_C(0x367B55C2), UINT32_C(0x7A2ADBCF), UINT32_C(0x1FED467E),
10825           UINT32_C(0x96A88B75), UINT32_C(0xFB263845), UINT32_C(0x8E75E37E),
10826           UINT32_C(0xEB508DD0), UINT32_C(0x4C2E47B8)},
10827          {UINT32_C(0xB19FCD14), UINT32_C(0x20BF51DE), UINT32_C(0x14CB67D0),
10828           UINT32_C(0xD9071749), UINT32_C(0x29EBDA7C), UINT32_C(0xEC90714B),
10829           UINT32_C(0x634C0F2E), UINT32_C(0x4ACADAA6)}},
10830         {{UINT32_C(0xEC715EC9), UINT32_C(0xA516B9B8), UINT32_C(0x42B8A87B),
10831           UINT32_C(0xC7DCA263), UINT32_C(0xDA27B456), UINT32_C(0x2CE450C9),
10832           UINT32_C(0x00A8819F), UINT32_C(0x3C974812)},
10833          {UINT32_C(0xECDED574), UINT32_C(0xF4822C23), UINT32_C(0x19FA48D4),
10834           UINT32_C(0xFA737FAD), UINT32_C(0x45D718E0), UINT32_C(0xE34B2F2A),
10835           UINT32_C(0xBEA7B540), UINT32_C(0x1D6F19FE)}},
10836         {{UINT32_C(0x98E24789), UINT32_C(0xADC8FCE7), UINT32_C(0x45869609),
10837           UINT32_C(0xFE2F890C), UINT32_C(0x78A35C19), UINT32_C(0x6466E03C),
10838           UINT32_C(0xC1F34AA9), UINT32_C(0x24C70FED)},
10839          {UINT32_C(0x57747DD1), UINT32_C(0x89530F75), UINT32_C(0x2B8CDE2D),
10840           UINT32_C(0x343DE05B), UINT32_C(0x35CC8D5A), UINT32_C(0xC33134E3),
10841           UINT32_C(0xAC9B4F2B), UINT32_C(0x3CCEFC38)}},
10842         {{UINT32_C(0xEF923364), UINT32_C(0x84C904B8), UINT32_C(0xBDDD31D8),
10843           UINT32_C(0x46E1FECF), UINT32_C(0xFAE79B6B), UINT32_C(0xA8126DD6),
10844           UINT32_C(0xFBF05C9A), UINT32_C(0x4A53C034)},
10845          {UINT32_C(0xBE8F255F), UINT32_C(0x44CA3ACB), UINT32_C(0xEC319885),
10846           UINT32_C(0x6F0FD374), UINT32_C(0xF1836DC2), UINT32_C(0xADBCB4AA),
10847           UINT32_C(0x65187EE9), UINT32_C(0x6CC3A596)}},
10848         {{UINT32_C(0xB397B5E7), UINT32_C(0x941E7821), UINT32_C(0xFEE2A9D5),
10849           UINT32_C(0xD3457371), UINT32_C(0x66382F60), UINT32_C(0x9F69BE44),
10850           UINT32_C(0xA1F49E9B), UINT32_C(0x6DCEAD04)},
10851          {UINT32_C(0x3BF21647), UINT32_C(0xDC6BC23B), UINT32_C(0xB5271BE9),
10852           UINT32_C(0x1500FD7F), UINT32_C(0xF23FDF3D), UINT32_C(0x9B0994DD),
10853           UINT32_C(0x45065CF7), UINT32_C(0x38A2ECEB)}},
10854         {{UINT32_C(0x0DCA8BF4), UINT32_C(0x2667CEFE), UINT32_C(0xE46EB469),
10855           UINT32_C(0x8227ACB3), UINT32_C(0xA75C5B8B), UINT32_C(0x4C20677D),
10856           UINT32_C(0xB36ACDFE), UINT32_C(0x224FC5B4)},
10857          {UINT32_C(0x7A6A01D3), UINT32_C(0xA0007E14), UINT32_C(0xF8A64EED),
10858           UINT32_C(0x15C79558), UINT32_C(0x93DEDC09), UINT32_C(0xFB58A76A),
10859           UINT32_C(0x26F10A98), UINT32_C(0x2057DDDC)}},
10860         {{UINT32_C(0xBDB27AE4), UINT32_C(0x1FF658AE), UINT32_C(0xDDD96647),
10861           UINT32_C(0x7F30DF57), UINT32_C(0xC7294313), UINT32_C(0x63490B8D),
10862           UINT32_C(0x5435869E), UINT32_C(0x0EAEC573)},
10863          {UINT32_C(0xDF115B78), UINT32_C(0x85F05C49), UINT32_C(0x62992F5D),
10864           UINT32_C(0x95739C0C), UINT32_C(0x2B573963), UINT32_C(0x72F14319),
10865           UINT32_C(0x86328FF4), UINT32_C(0x05600E64)}},
10866         {{UINT32_C(0xEAB0F425), UINT32_C(0x9BE7331F), UINT32_C(0x74447C20),
10867           UINT32_C(0x2E4CF5AA), UINT32_C(0x66243D2A), UINT32_C(0x9B26F512),
10868           UINT32_C(0x84AB5627), UINT32_C(0x77C96722)},
10869          {UINT32_C(0x601673B4), UINT32_C(0xEC545427), UINT32_C(0x2F127AF7),
10870           UINT32_C(0xEF6A34FB), UINT32_C(0xE2DFD269), UINT32_C(0x519559C1),
10871           UINT32_C(0x8258E37A), UINT32_C(0x34D7D754)}},
10872         {{UINT32_C(0x5E8B5281), UINT32_C(0xC113747B), UINT32_C(0xE04D779B),
10873           UINT32_C(0x0C085456), UINT32_C(0x1CCBCFC6), UINT32_C(0x3E326052),
10874           UINT32_C(0x2A37D19F), UINT32_C(0x5C954CC1)},
10875          {UINT32_C(0x9124435B), UINT32_C(0xB1A4A5B3), UINT32_C(0x18ED98E7),
10876           UINT32_C(0x5E8B8D41), UINT32_C(0x144A3793), UINT32_C(0xC973D969),
10877           UINT32_C(0x88DD8B49), UINT32_C(0x0CB98CC8)}},
10878         {{UINT32_C(0xB48D04DF), UINT32_C(0x0E0233B2), UINT32_C(0x7BEAA4A5),
10879           UINT32_C(0x1B3916E0), UINT32_C(0xB672BE8C), UINT32_C(0xA24A4BE4),
10880           UINT32_C(0x845AB94D), UINT32_C(0x7A61506D)},
10881          {UINT32_C(0xE7F4CA3B), UINT32_C(0x160DFA0F), UINT32_C(0xD84C1148),
10882           UINT32_C(0xA9562C89), UINT32_C(0x92A276EB), UINT32_C(0x52979B95),
10883           UINT32_C(0x924E86E9), UINT32_C(0x17869B53)}},
10884     },
10885     {
10886         {{UINT32_C(0x1A86D0D8), UINT32_C(0x5D39F478), UINT32_C(0xFB8BC8A9),
10887           UINT32_C(0xDE5932DA), UINT32_C(0x2F5B4B70), UINT32_C(0xD706C6D7),
10888           UINT32_C(0x8A36AFC2), UINT32_C(0x53F450FC)},
10889          {UINT32_C(0x1E550B3B), UINT32_C(0xE1DC3540), UINT32_C(0x8B7EB6D2),
10890           UINT32_C(0x475507DC), UINT32_C(0xDFA2E5F7), UINT32_C(0xF803F78A),
10891           UINT32_C(0xC48097FF), UINT32_C(0x40B5F263)}},
10892         {{UINT32_C(0x226CDB1F), UINT32_C(0x336FB00E), UINT32_C(0x88215C40),
10893           UINT32_C(0xDDC1BB02), UINT32_C(0x73C07FD0), UINT32_C(0x6C4DD40E),
10894           UINT32_C(0x8F7D15E7), UINT32_C(0x4D0D2E49)},
10895          {UINT32_C(0xD2061402), UINT32_C(0xAF96E9B3), UINT32_C(0x1372FCF8),
10896           UINT32_C(0x15A3084A), UINT32_C(0x307B02D6), UINT32_C(0x91B571E6),
10897           UINT32_C(0x53AE7705), UINT32_C(0x2239592F)}},
10898         {{UINT32_C(0xC20B6645), UINT32_C(0x7D8615A1), UINT32_C(0xC7C4465B),
10899           UINT32_C(0xF4875767), UINT32_C(0x861702AB), UINT32_C(0xF6D3E718),
10900           UINT32_C(0x131F726A), UINT32_C(0x7F014A53)},
10901          {UINT32_C(0xDAAB77CA), UINT32_C(0x30809F8F), UINT32_C(0x28F944D3),
10902           UINT32_C(0x7CE8DC61), UINT32_C(0x9AEEF6A1), UINT32_C(0xF915111D),
10903           UINT32_C(0x206902FD), UINT32_C(0x246D7CC8)}},
10904         {{UINT32_C(0xEF806225), UINT32_C(0x7677488B), UINT32_C(0xF4C75EAE),
10905           UINT32_C(0x994C8104), UINT32_C(0x4E0C8988), UINT32_C(0x17586D4E),
10906           UINT32_C(0x90E33A2A), UINT32_C(0x70E52580)},
10907          {UINT32_C(0x022D2FED), UINT32_C(0xB993F26A), UINT32_C(0x689FBFBD),
10908           UINT32_C(0x955C130D), UINT32_C(0xA3612E8E), UINT32_C(0x0D3D1C63),
10909           UINT32_C(0xB91A8DE6), UINT32_C(0x423D73E1)}},
10910         {{UINT32_C(0x3027164F), UINT32_C(0x7274BE08), UINT32_C(0x42FDB769),
10911           UINT32_C(0xDE907B49), UINT32_C(0xB697060D), UINT32_C(0x61D74449),
10912           UINT32_C(0x26602CC9), UINT32_C(0x18A5FDC2)},
10913          {UINT32_C(0x049CAF4A), UINT32_C(0xB08DC02B), UINT32_C(0x78DBA1F1),
10914           UINT32_C(0xC84AF485), UINT32_C(0x7178E4DF), UINT32_C(0x0A5B3519),
10915           UINT32_C(0x5B26D0FE), UINT32_C(0x6EC7A7A5)}},
10916         {{UINT32_C(0x88554F05), UINT32_C(0xDEF1782F), UINT32_C(0xD8D6DF47),
10917           UINT32_C(0xB73E7333), UINT32_C(0x90E9C67A), UINT32_C(0x1DDF9022),
10918           UINT32_C(0xD56181AC), UINT32_C(0x5D217B51)},
10919          {UINT32_C(0xE27F90EE), UINT32_C(0x7A338C7B), UINT32_C(0x0D84A177),
10920           UINT32_C(0xB97CCD2A), UINT32_C(0x7C5E3FA9), UINT32_C(0x3E101601),
10921           UINT32_C(0x30FF0918), UINT32_C(0x2706E77C)}},
10922         {{UINT32_C(0x72A7CB9F), UINT32_C(0x1BD1274F), UINT32_C(0x0622DB90),
10923           UINT32_C(0x8B60357A), UINT32_C(0x2151BB23), UINT32_C(0x0140E14A),
10924           UINT32_C(0xE9A30C4C), UINT32_C(0x358D7DDA)},
10925          {UINT32_C(0x89BFB2C6), UINT32_C(0x3B153060), UINT32_C(0xB6757C69),
10926           UINT32_C(0x47462C79), UINT32_C(0xB43EF986), UINT32_C(0x2B22239D),
10927           UINT32_C(0x0B774DE3), UINT32_C(0x6793671F)}},
10928         {{UINT32_C(0xF6F8EDC6), UINT32_C(0x99EDB02E), UINT32_C(0xC4257DD9),
10929           UINT32_C(0x24432760), UINT32_C(0x0336EED2), UINT32_C(0x4FDD7301),
10930           UINT32_C(0xF6C6506B), UINT32_C(0x44879709)},
10931          {UINT32_C(0x13F18D89), UINT32_C(0x107C7DE2), UINT32_C(0xA5701FBD),
10932           UINT32_C(0x71C71DFB), UINT32_C(0xC7DE3E0B), UINT32_C(0x97017E24),
10933           UINT32_C(0xFC9EDDC2), UINT32_C(0x0F8D7E09)}},
10934         {{UINT32_C(0x3897E01D), UINT32_C(0x7A0BB3B1), UINT32_C(0xC5892BDE),
10935           UINT32_C(0x7FD4F504), UINT32_C(0xAB752928), UINT32_C(0x2EA9AA77),
10936           UINT32_C(0x9078B466), UINT32_C(0x19A82F55)},
10937          {UINT32_C(0x55A0F0D9), UINT32_C(0xEF2842C5), UINT32_C(0x15B6F2B4),
10938           UINT32_C(0x5501EEE9), UINT32_C(0x942AA4B4), UINT32_C(0x9665EA6F),
10939           UINT32_C(0x0E707C32), UINT32_C(0x015F41F4)}},
10940         {{UINT32_C(0x9C6B6FD6), UINT32_C(0x1B4D6A91), UINT32_C(0x68217AFC),
10941           UINT32_C(0xCFD2CEE9), UINT32_C(0xBBC9284D), UINT32_C(0xC5076256),
10942           UINT32_C(0xAC36547B), UINT32_C(0x4C7F4EEF)},
10943          {UINT32_C(0x65EE1907), UINT32_C(0xAB1AAD2C), UINT32_C(0xBAC25425),
10944           UINT32_C(0xBCFE8C77), UINT32_C(0xC9048A35), UINT32_C(0x38BA0F85),
10945           UINT32_C(0x60A035F6), UINT32_C(0x300E6AC4)}},
10946         {{UINT32_C(0x34707CC6), UINT32_C(0xA8EDBC5E), UINT32_C(0x56ADFC16),
10947           UINT32_C(0x3DA6BC51), UINT32_C(0xCA8B6F3F), UINT32_C(0x5C7CB5E1),
10948           UINT32_C(0x2D612DFA), UINT32_C(0x76E4A028)},
10949          {UINT32_C(0x64F49D39), UINT32_C(0x75AB66FD), UINT32_C(0xC387A739),
10950           UINT32_C(0x5AF9879D), UINT32_C(0x3E9EDBCF), UINT32_C(0x83964808),
10951           UINT32_C(0x7F4C4FFE), UINT32_C(0x555D8BBD)}},
10952         {{UINT32_C(0x3C5590B0), UINT32_C(0xAAE8A2FE), UINT32_C(0x8AB34213),
10953           UINT32_C(0x461C6CCC), UINT32_C(0x9E719B77), UINT32_C(0xB2F3E822),
10954           UINT32_C(0x663188BB), UINT32_C(0x25B8FCA8)},
10955          {UINT32_C(0x72548131), UINT32_C(0xAA7A047B), UINT32_C(0x189FA6F0),
10956           UINT32_C(0x0878FFEE), UINT32_C(0xCE3E17C3), UINT32_C(0x9E7FB402),
10957           UINT32_C(0x44418277), UINT32_C(0x6F260D93)}},
10958         {{UINT32_C(0xB703B647), UINT32_C(0x0EF1C290), UINT32_C(0x651673E4),
10959           UINT32_C(0x995009FA), UINT32_C(0xBE46362D), UINT32_C(0x661F76D7),
10960           UINT32_C(0x23E56E7A), UINT32_C(0x74B00FD1)},
10961          {UINT32_C(0xA1A50E4B), UINT32_C(0x9557D0AB), UINT32_C(0x587688CE),
10962           UINT32_C(0xC5A1CF95), UINT32_C(0x7AE08ECA), UINT32_C(0x2A14D1B2),
10963           UINT32_C(0x3C23D507), UINT32_C(0x2DA8816C)}},
10964         {{UINT32_C(0xB9934883), UINT32_C(0x51CB405F), UINT32_C(0x01A6864B),
10965           UINT32_C(0xC99A67D4), UINT32_C(0x6CDFFFC3), UINT32_C(0xCCF62233),
10966           UINT32_C(0x98FE0B79), UINT32_C(0x2938F9F9)},
10967          {UINT32_C(0x39A5AA28), UINT32_C(0x77666911), UINT32_C(0x2427BFC0),
10968           UINT32_C(0xDF56CBB5), UINT32_C(0x189EB66D), UINT32_C(0xA39BE968),
10969           UINT32_C(0xA64FD2AB), UINT32_C(0x71E6E105)}},
10970         {{UINT32_C(0x60F9D20B), UINT32_C(0xA0C6F795), UINT32_C(0x765670CC),
10971           UINT32_C(0xE06DC8BB), UINT32_C(0xA67275E0), UINT32_C(0x9FA1DD58),
10972           UINT32_C(0xE2D23BBB), UINT32_C(0x0F7F670D)},
10973          {UINT32_C(0x33FB15EA), UINT32_C(0xF8F07CF3), UINT32_C(0x723A0271),
10974           UINT32_C(0x1D09B592), UINT32_C(0x4E6FCAAB), UINT32_C(0xF1402923),
10975           UINT32_C(0xAE301940), UINT32_C(0x05BE1273)}},
10976         {{UINT32_C(0x114AFD1E), UINT32_C(0x2D83906C), UINT32_C(0xC88E5761),
10977           UINT32_C(0x091474FD), UINT32_C(0xEF9E4F9B), UINT32_C(0xAFF18EEB),
10978           UINT32_C(0xF4E646ED), UINT32_C(0x136ECAE5)},
10979          {UINT32_C(0xEB01808F), UINT32_C(0xEF4526D0), UINT32_C(0x940C0AEC),
10980           UINT32_C(0x3923EBBA), UINT32_C(0xA437F460), UINT32_C(0xAB34160C),
10981           UINT32_C(0x421AD57C), UINT32_C(0x7A46966E)}},
10982     }};
10983
10984 /*-
10985  * Q := 2P, both projective, Q and P same pointers OK
10986  * Autogenerated: op3/dbl_proj_any.op3
10987  * https://eprint.iacr.org/2015/1060 Alg 3
10988  */
10989 static void point_double(pt_prj_t *Q, const pt_prj_t *P) {
10990     /* temporary variables */
10991     fe_t t0, t1, t2, t3, t4;
10992     /* constants */
10993     const limb_t *b3 = const_b3;
10994     const limb_t *a = const_a;
10995     /* set pointers for legacy curve arith */
10996     const limb_t *X = P->X;
10997     const limb_t *Y = P->Y;
10998     const limb_t *Z = P->Z;
10999     limb_t *X3 = Q->X;
11000     limb_t *Y3 = Q->Y;
11001     limb_t *Z3 = Q->Z;
11002
11003     /* the curve arith formula */
11004     fiat_id_GostR3410_2001_TestParamSet_square(t0, X);
11005     fiat_id_GostR3410_2001_TestParamSet_square(t1, Y);
11006     fiat_id_GostR3410_2001_TestParamSet_square(t2, Z);
11007     fiat_id_GostR3410_2001_TestParamSet_mul(t3, X, Y);
11008     fiat_id_GostR3410_2001_TestParamSet_add(t3, t3, t3);
11009     fiat_id_GostR3410_2001_TestParamSet_mul(t4, Y, Z);
11010     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, X, Z);
11011     fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, Z3);
11012     fiat_id_GostR3410_2001_TestParamSet_mul(X3, a, Z3);
11013     fiat_id_GostR3410_2001_TestParamSet_mul(Y3, b3, t2);
11014     fiat_id_GostR3410_2001_TestParamSet_add(Y3, X3, Y3);
11015     fiat_id_GostR3410_2001_TestParamSet_sub(X3, t1, Y3);
11016     fiat_id_GostR3410_2001_TestParamSet_add(Y3, t1, Y3);
11017     fiat_id_GostR3410_2001_TestParamSet_mul(Y3, X3, Y3);
11018     fiat_id_GostR3410_2001_TestParamSet_mul(X3, t3, X3);
11019     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, b3, Z3);
11020     fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, t2);
11021     fiat_id_GostR3410_2001_TestParamSet_sub(t3, t0, t2);
11022     fiat_id_GostR3410_2001_TestParamSet_mul(t3, a, t3);
11023     fiat_id_GostR3410_2001_TestParamSet_add(t3, t3, Z3);
11024     fiat_id_GostR3410_2001_TestParamSet_add(Z3, t0, t0);
11025     fiat_id_GostR3410_2001_TestParamSet_add(t0, Z3, t0);
11026     fiat_id_GostR3410_2001_TestParamSet_add(t0, t0, t2);
11027     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t0, t3);
11028     fiat_id_GostR3410_2001_TestParamSet_add(Y3, Y3, t0);
11029     fiat_id_GostR3410_2001_TestParamSet_add(t2, t4, t4);
11030     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t2, t3);
11031     fiat_id_GostR3410_2001_TestParamSet_sub(X3, X3, t0);
11032     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, t2, t1);
11033     fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, Z3);
11034     fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, Z3);
11035 }
11036
11037 /*-
11038  * R := Q + P where R and Q are projective, P affine.
11039  * R and Q same pointers OK
11040  * R and P same pointers not OK
11041  * Autogenerated: op3/add_mixed_any.op3
11042  * https://eprint.iacr.org/2015/1060 Alg 2
11043  */
11044 static void point_add_mixed(pt_prj_t *R, const pt_prj_t *Q, const pt_aff_t *P) {
11045     /* temporary variables */
11046     fe_t t0, t1, t2, t3, t4, t5;
11047     /* constants */
11048     const limb_t *b3 = const_b3;
11049     const limb_t *a = const_a;
11050     /* set pointers for legacy curve arith */
11051     const limb_t *X1 = Q->X;
11052     const limb_t *Y1 = Q->Y;
11053     const limb_t *Z1 = Q->Z;
11054     const limb_t *X2 = P->X;
11055     const limb_t *Y2 = P->Y;
11056     fe_t X3;
11057     fe_t Y3;
11058     fe_t Z3;
11059     limb_t nz;
11060
11061     /* check P for affine inf */
11062     fiat_id_GostR3410_2001_TestParamSet_nonzero(&nz, P->Y);
11063
11064     /* the curve arith formula */
11065     fiat_id_GostR3410_2001_TestParamSet_mul(t0, X1, X2);
11066     fiat_id_GostR3410_2001_TestParamSet_mul(t1, Y1, Y2);
11067     fiat_id_GostR3410_2001_TestParamSet_add(t3, X2, Y2);
11068     fiat_id_GostR3410_2001_TestParamSet_add(t4, X1, Y1);
11069     fiat_id_GostR3410_2001_TestParamSet_mul(t3, t3, t4);
11070     fiat_id_GostR3410_2001_TestParamSet_add(t4, t0, t1);
11071     fiat_id_GostR3410_2001_TestParamSet_sub(t3, t3, t4);
11072     fiat_id_GostR3410_2001_TestParamSet_mul(t4, X2, Z1);
11073     fiat_id_GostR3410_2001_TestParamSet_add(t4, t4, X1);
11074     fiat_id_GostR3410_2001_TestParamSet_mul(t5, Y2, Z1);
11075     fiat_id_GostR3410_2001_TestParamSet_add(t5, t5, Y1);
11076     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, a, t4);
11077     fiat_id_GostR3410_2001_TestParamSet_mul(X3, b3, Z1);
11078     fiat_id_GostR3410_2001_TestParamSet_add(Z3, X3, Z3);
11079     fiat_id_GostR3410_2001_TestParamSet_sub(X3, t1, Z3);
11080     fiat_id_GostR3410_2001_TestParamSet_add(Z3, t1, Z3);
11081     fiat_id_GostR3410_2001_TestParamSet_mul(Y3, X3, Z3);
11082     fiat_id_GostR3410_2001_TestParamSet_add(t1, t0, t0);
11083     fiat_id_GostR3410_2001_TestParamSet_add(t1, t1, t0);
11084     fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, Z1);
11085     fiat_id_GostR3410_2001_TestParamSet_mul(t4, b3, t4);
11086     fiat_id_GostR3410_2001_TestParamSet_add(t1, t1, t2);
11087     fiat_id_GostR3410_2001_TestParamSet_sub(t2, t0, t2);
11088     fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, t2);
11089     fiat_id_GostR3410_2001_TestParamSet_add(t4, t4, t2);
11090     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t1, t4);
11091     fiat_id_GostR3410_2001_TestParamSet_add(Y3, Y3, t0);
11092     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t5, t4);
11093     fiat_id_GostR3410_2001_TestParamSet_mul(X3, t3, X3);
11094     fiat_id_GostR3410_2001_TestParamSet_sub(X3, X3, t0);
11095     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t3, t1);
11096     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, t5, Z3);
11097     fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, t0);
11098
11099     /* if P is inf, throw all that away and take Q */
11100     fiat_id_GostR3410_2001_TestParamSet_selectznz(R->X, nz, Q->X, X3);
11101     fiat_id_GostR3410_2001_TestParamSet_selectznz(R->Y, nz, Q->Y, Y3);
11102     fiat_id_GostR3410_2001_TestParamSet_selectznz(R->Z, nz, Q->Z, Z3);
11103 }
11104
11105 /*-
11106  * R := Q + P all projective.
11107  * R and Q same pointers OK
11108  * R and P same pointers not OK
11109  * Autogenerated: op3/add_proj_any.op3
11110  * https://eprint.iacr.org/2015/1060 Alg 1
11111  */
11112 static void point_add_proj(pt_prj_t *R, const pt_prj_t *Q, const pt_prj_t *P) {
11113     /* temporary variables */
11114     fe_t t0, t1, t2, t3, t4, t5;
11115     /* constants */
11116     const limb_t *b3 = const_b3;
11117     const limb_t *a = const_a;
11118     /* set pointers for legacy curve arith */
11119     const limb_t *X1 = Q->X;
11120     const limb_t *Y1 = Q->Y;
11121     const limb_t *Z1 = Q->Z;
11122     const limb_t *X2 = P->X;
11123     const limb_t *Y2 = P->Y;
11124     const limb_t *Z2 = P->Z;
11125     limb_t *X3 = R->X;
11126     limb_t *Y3 = R->Y;
11127     limb_t *Z3 = R->Z;
11128
11129     /* the curve arith formula */
11130     fiat_id_GostR3410_2001_TestParamSet_mul(t0, X1, X2);
11131     fiat_id_GostR3410_2001_TestParamSet_mul(t1, Y1, Y2);
11132     fiat_id_GostR3410_2001_TestParamSet_mul(t2, Z1, Z2);
11133     fiat_id_GostR3410_2001_TestParamSet_add(t3, X1, Y1);
11134     fiat_id_GostR3410_2001_TestParamSet_add(t4, X2, Y2);
11135     fiat_id_GostR3410_2001_TestParamSet_mul(t3, t3, t4);
11136     fiat_id_GostR3410_2001_TestParamSet_add(t4, t0, t1);
11137     fiat_id_GostR3410_2001_TestParamSet_sub(t3, t3, t4);
11138     fiat_id_GostR3410_2001_TestParamSet_add(t4, X1, Z1);
11139     fiat_id_GostR3410_2001_TestParamSet_add(t5, X2, Z2);
11140     fiat_id_GostR3410_2001_TestParamSet_mul(t4, t4, t5);
11141     fiat_id_GostR3410_2001_TestParamSet_add(t5, t0, t2);
11142     fiat_id_GostR3410_2001_TestParamSet_sub(t4, t4, t5);
11143     fiat_id_GostR3410_2001_TestParamSet_add(t5, Y1, Z1);
11144     fiat_id_GostR3410_2001_TestParamSet_add(X3, Y2, Z2);
11145     fiat_id_GostR3410_2001_TestParamSet_mul(t5, t5, X3);
11146     fiat_id_GostR3410_2001_TestParamSet_add(X3, t1, t2);
11147     fiat_id_GostR3410_2001_TestParamSet_sub(t5, t5, X3);
11148     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, a, t4);
11149     fiat_id_GostR3410_2001_TestParamSet_mul(X3, b3, t2);
11150     fiat_id_GostR3410_2001_TestParamSet_add(Z3, X3, Z3);
11151     fiat_id_GostR3410_2001_TestParamSet_sub(X3, t1, Z3);
11152     fiat_id_GostR3410_2001_TestParamSet_add(Z3, t1, Z3);
11153     fiat_id_GostR3410_2001_TestParamSet_mul(Y3, X3, Z3);
11154     fiat_id_GostR3410_2001_TestParamSet_add(t1, t0, t0);
11155     fiat_id_GostR3410_2001_TestParamSet_add(t1, t1, t0);
11156     fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, t2);
11157     fiat_id_GostR3410_2001_TestParamSet_mul(t4, b3, t4);
11158     fiat_id_GostR3410_2001_TestParamSet_add(t1, t1, t2);
11159     fiat_id_GostR3410_2001_TestParamSet_sub(t2, t0, t2);
11160     fiat_id_GostR3410_2001_TestParamSet_mul(t2, a, t2);
11161     fiat_id_GostR3410_2001_TestParamSet_add(t4, t4, t2);
11162     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t1, t4);
11163     fiat_id_GostR3410_2001_TestParamSet_add(Y3, Y3, t0);
11164     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t5, t4);
11165     fiat_id_GostR3410_2001_TestParamSet_mul(X3, t3, X3);
11166     fiat_id_GostR3410_2001_TestParamSet_sub(X3, X3, t0);
11167     fiat_id_GostR3410_2001_TestParamSet_mul(t0, t3, t1);
11168     fiat_id_GostR3410_2001_TestParamSet_mul(Z3, t5, Z3);
11169     fiat_id_GostR3410_2001_TestParamSet_add(Z3, Z3, t0);
11170 }
11171
11172 /* constants */
11173 #define RADIX 5
11174 #define DRADIX (1 << RADIX)
11175 #define DRADIX_WNAF ((DRADIX) << 1)
11176
11177 /*-
11178  * precomp for wnaf scalar multiplication:
11179  * precomp[0] = 1P
11180  * precomp[1] = 3P
11181  * precomp[2] = 5P
11182  * precomp[3] = 7P
11183  * precomp[4] = 9P
11184  * ...
11185  */
11186 static void precomp_wnaf(pt_prj_t precomp[DRADIX / 2], const pt_aff_t *P) {
11187     int i;
11188
11189     fe_copy(precomp[0].X, P->X);
11190     fe_copy(precomp[0].Y, P->Y);
11191     fe_copy(precomp[0].Z, const_one);
11192     point_double(&precomp[DRADIX / 2 - 1], &precomp[0]);
11193
11194     for (i = 1; i < DRADIX / 2; i++)
11195         point_add_proj(&precomp[i], &precomp[DRADIX / 2 - 1], &precomp[i - 1]);
11196 }
11197
11198 /* fetch a scalar bit */
11199 static int scalar_get_bit(const unsigned char in[32], int idx) {
11200     int widx, rshift;
11201
11202     widx = idx >> 3;
11203     rshift = idx & 0x7;
11204
11205     if (idx < 0 || widx >= 32) return 0;
11206
11207     return (in[widx] >> rshift) & 0x1;
11208 }
11209
11210 /*-
11211  * Compute "regular" wnaf representation of a scalar.
11212  * See "Exponent Recoding and Regular Exponentiation Algorithms",
11213  * Tunstall et al., AfricaCrypt 2009, Alg 6.
11214  * It forces an odd scalar and outputs digits in
11215  * {\pm 1, \pm 3, \pm 5, \pm 7, \pm 9, ...}
11216  * i.e. signed odd digits with _no zeroes_ -- that makes it "regular".
11217  */
11218 static void scalar_rwnaf(int8_t out[52], const unsigned char in[32]) {
11219     int i;
11220     int8_t window, d;
11221
11222     window = (in[0] & (DRADIX_WNAF - 1)) | 1;
11223     for (i = 0; i < 51; i++) {
11224         d = (window & (DRADIX_WNAF - 1)) - DRADIX;
11225         out[i] = d;
11226         window = (window - d) >> RADIX;
11227         window += scalar_get_bit(in, (i + 1) * RADIX + 1) << 1;
11228         window += scalar_get_bit(in, (i + 1) * RADIX + 2) << 2;
11229         window += scalar_get_bit(in, (i + 1) * RADIX + 3) << 3;
11230         window += scalar_get_bit(in, (i + 1) * RADIX + 4) << 4;
11231         window += scalar_get_bit(in, (i + 1) * RADIX + 5) << 5;
11232     }
11233     out[i] = window;
11234 }
11235
11236 /*-
11237  * Compute "textbook" wnaf representation of a scalar.
11238  * NB: not constant time
11239  */
11240 static void scalar_wnaf(int8_t out[257], const unsigned char in[32]) {
11241     int i;
11242     int8_t window, d;
11243
11244     window = in[0] & (DRADIX_WNAF - 1);
11245     for (i = 0; i < 257; i++) {
11246         d = 0;
11247         if ((window & 1) && ((d = window & (DRADIX_WNAF - 1)) & DRADIX))
11248             d -= DRADIX_WNAF;
11249         out[i] = d;
11250         window = (window - d) >> 1;
11251         window += scalar_get_bit(in, i + 1 + RADIX) << RADIX;
11252     }
11253 }
11254
11255 /*-
11256  * Simultaneous scalar multiplication: interleaved "textbook" wnaf.
11257  * NB: not constant time
11258  */
11259 static void var_smul_wnaf_two(pt_aff_t *out, const unsigned char a[32],
11260                               const unsigned char b[32], const pt_aff_t *P) {
11261     int i, d, is_neg, is_inf = 1, flipped = 0;
11262     int8_t anaf[257] = {0};
11263     int8_t bnaf[257] = {0};
11264     pt_prj_t Q = {0};
11265     pt_prj_t precomp[DRADIX / 2];
11266
11267     precomp_wnaf(precomp, P);
11268     scalar_wnaf(anaf, a);
11269     scalar_wnaf(bnaf, b);
11270
11271     for (i = 256; i >= 0; i--) {
11272         if (!is_inf) point_double(&Q, &Q);
11273         if ((d = bnaf[i])) {
11274             if ((is_neg = d < 0) != flipped) {
11275                 fiat_id_GostR3410_2001_TestParamSet_opp(Q.Y, Q.Y);
11276                 flipped ^= 1;
11277             }
11278             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
11279             if (is_inf) {
11280                 /* initialize accumulator */
11281                 fe_copy(Q.X, &precomp[d].X);
11282                 fe_copy(Q.Y, &precomp[d].Y);
11283                 fe_copy(Q.Z, &precomp[d].Z);
11284                 is_inf = 0;
11285             } else
11286                 point_add_proj(&Q, &Q, &precomp[d]);
11287         }
11288         if ((d = anaf[i])) {
11289             if ((is_neg = d < 0) != flipped) {
11290                 fiat_id_GostR3410_2001_TestParamSet_opp(Q.Y, Q.Y);
11291                 flipped ^= 1;
11292             }
11293             d = (is_neg) ? (-d - 1) >> 1 : (d - 1) >> 1;
11294             if (is_inf) {
11295                 /* initialize accumulator */
11296                 fe_copy(Q.X, &lut_cmb[0][d].X);
11297                 fe_copy(Q.Y, &lut_cmb[0][d].Y);
11298                 fe_copy(Q.Z, const_one);
11299                 is_inf = 0;
11300             } else
11301                 point_add_mixed(&Q, &Q, &lut_cmb[0][d]);
11302         }
11303     }
11304
11305     if (is_inf) {
11306         /* initialize accumulator to inf: all-zero scalars */
11307         fe_set_zero(Q.X);
11308         fe_copy(Q.Y, const_one);
11309         fe_set_zero(Q.Z);
11310     }
11311
11312     if (flipped) {
11313         /* correct sign */
11314         fiat_id_GostR3410_2001_TestParamSet_opp(Q.Y, Q.Y);
11315     }
11316
11317     /* convert to affine -- NB depends on coordinate system */
11318     fiat_id_GostR3410_2001_TestParamSet_inv(Q.Z, Q.Z);
11319     fiat_id_GostR3410_2001_TestParamSet_mul(out->X, Q.X, Q.Z);
11320     fiat_id_GostR3410_2001_TestParamSet_mul(out->Y, Q.Y, Q.Z);
11321 }
11322
11323 /*-
11324  * Variable point scalar multiplication with "regular" wnaf.
11325  */
11326 static void var_smul_rwnaf(pt_aff_t *out, const unsigned char scalar[32],
11327                            const pt_aff_t *P) {
11328     int i, j, d, diff, is_neg;
11329     int8_t rnaf[52] = {0};
11330     pt_prj_t Q = {0}, lut = {0};
11331     pt_prj_t precomp[DRADIX / 2];
11332
11333     precomp_wnaf(precomp, P);
11334     scalar_rwnaf(rnaf, scalar);
11335
11336 #if defined(_MSC_VER)
11337     /* result still unsigned: yes we know */
11338 #pragma warning(push)
11339 #pragma warning(disable : 4146)
11340 #endif
11341
11342     /* initialize accumulator to high digit */
11343     d = (rnaf[51] - 1) >> 1;
11344     for (j = 0; j < DRADIX / 2; j++) {
11345         diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
11346         fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.X, diff, Q.X,
11347                                                       precomp[j].X);
11348         fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Y, diff, Q.Y,
11349                                                       precomp[j].Y);
11350         fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Z, diff, Q.Z,
11351                                                       precomp[j].Z);
11352     }
11353
11354     for (i = 50; i >= 0; i--) {
11355         for (j = 0; j < RADIX; j++) point_double(&Q, &Q);
11356         d = rnaf[i];
11357         /* is_neg = (d < 0) ? 1 : 0 */
11358         is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
11359         /* d = abs(d) */
11360         d = (d ^ -is_neg) + is_neg;
11361         d = (d - 1) >> 1;
11362         for (j = 0; j < DRADIX / 2; j++) {
11363             diff = (1 - (-(d ^ j) >> (8 * sizeof(int) - 1))) & 1;
11364             fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.X, diff, lut.X,
11365                                                           precomp[j].X);
11366             fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.Y, diff, lut.Y,
11367                                                           precomp[j].Y);
11368             fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.Z, diff, lut.Z,
11369                                                           precomp[j].Z);
11370         }
11371         /* negate lut point if digit is negative */
11372         fiat_id_GostR3410_2001_TestParamSet_opp(out->Y, lut.Y);
11373         fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.Y, is_neg, lut.Y,
11374                                                       out->Y);
11375         point_add_proj(&Q, &Q, &lut);
11376     }
11377
11378 #if defined(_MSC_VER)
11379 #pragma warning(pop)
11380 #endif
11381
11382     /* conditionally subtract P if the scalar was even */
11383     fe_copy(lut.X, precomp[0].X);
11384     fiat_id_GostR3410_2001_TestParamSet_opp(lut.Y, precomp[0].Y);
11385     fe_copy(lut.Z, precomp[0].Z);
11386     point_add_proj(&lut, &lut, &Q);
11387     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.X, scalar[0] & 1, lut.X,
11388                                                   Q.X);
11389     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Y, scalar[0] & 1, lut.Y,
11390                                                   Q.Y);
11391     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Z, scalar[0] & 1, lut.Z,
11392                                                   Q.Z);
11393
11394     /* convert to affine -- NB depends on coordinate system */
11395     fiat_id_GostR3410_2001_TestParamSet_inv(Q.Z, Q.Z);
11396     fiat_id_GostR3410_2001_TestParamSet_mul(out->X, Q.X, Q.Z);
11397     fiat_id_GostR3410_2001_TestParamSet_mul(out->Y, Q.Y, Q.Z);
11398 }
11399
11400 /*-
11401  * Fixed scalar multiplication: comb with interleaving.
11402  */
11403 static void fixed_smul_cmb(pt_aff_t *out, const unsigned char scalar[32]) {
11404     int i, j, k, d, diff, is_neg = 0;
11405     int8_t rnaf[52] = {0};
11406     pt_prj_t Q = {0}, R = {0};
11407     pt_aff_t lut = {0};
11408
11409     scalar_rwnaf(rnaf, scalar);
11410
11411     /* initalize accumulator to inf */
11412     fe_set_zero(Q.X);
11413     fe_copy(Q.Y, const_one);
11414     fe_set_zero(Q.Z);
11415
11416 #if defined(_MSC_VER)
11417     /* result still unsigned: yes we know */
11418 #pragma warning(push)
11419 #pragma warning(disable : 4146)
11420 #endif
11421
11422     for (i = 1; i >= 0; i--) {
11423         for (j = 0; i != 1 && j < RADIX; j++) point_double(&Q, &Q);
11424         for (j = 0; j < 27; j++) {
11425             if (j * 2 + i > 51) continue;
11426             d = rnaf[j * 2 + i];
11427             /* is_neg = (d < 0) ? 1 : 0 */
11428             is_neg = (d >> (8 * sizeof(int) - 1)) & 1;
11429             /* d = abs(d) */
11430             d = (d ^ -is_neg) + is_neg;
11431             d = (d - 1) >> 1;
11432             for (k = 0; k < DRADIX / 2; k++) {
11433                 diff = (1 - (-(d ^ k) >> (8 * sizeof(int) - 1))) & 1;
11434                 fiat_id_GostR3410_2001_TestParamSet_selectznz(
11435                     lut.X, diff, lut.X, lut_cmb[j][k].X);
11436                 fiat_id_GostR3410_2001_TestParamSet_selectznz(
11437                     lut.Y, diff, lut.Y, lut_cmb[j][k].Y);
11438             }
11439             /* negate lut point if digit is negative */
11440             fiat_id_GostR3410_2001_TestParamSet_opp(out->Y, lut.Y);
11441             fiat_id_GostR3410_2001_TestParamSet_selectznz(lut.Y, is_neg, lut.Y,
11442                                                           out->Y);
11443             point_add_mixed(&Q, &Q, &lut);
11444         }
11445     }
11446
11447 #if defined(_MSC_VER)
11448 #pragma warning(pop)
11449 #endif
11450
11451     /* conditionally subtract P if the scalar was even */
11452     fe_copy(lut.X, lut_cmb[0][0].X);
11453     fiat_id_GostR3410_2001_TestParamSet_opp(lut.Y, lut_cmb[0][0].Y);
11454     point_add_mixed(&R, &Q, &lut);
11455     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.X, scalar[0] & 1, R.X, Q.X);
11456     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Y, scalar[0] & 1, R.Y, Q.Y);
11457     fiat_id_GostR3410_2001_TestParamSet_selectznz(Q.Z, scalar[0] & 1, R.Z, Q.Z);
11458
11459     /* convert to affine -- NB depends on coordinate system */
11460     fiat_id_GostR3410_2001_TestParamSet_inv(Q.Z, Q.Z);
11461     fiat_id_GostR3410_2001_TestParamSet_mul(out->X, Q.X, Q.Z);
11462     fiat_id_GostR3410_2001_TestParamSet_mul(out->Y, Q.Y, Q.Z);
11463 }
11464
11465 /*-
11466  * Wrapper: simultaneous scalar mutiplication.
11467  * outx, outy := a * G + b * P
11468  * where P = (inx, iny).
11469  * Everything is LE byte ordering.
11470  */
11471 static void point_mul_two(unsigned char outx[32], unsigned char outy[32],
11472                           const unsigned char a[32], const unsigned char b[32],
11473                           const unsigned char inx[32],
11474                           const unsigned char iny[32]) {
11475     pt_aff_t P;
11476
11477     fiat_id_GostR3410_2001_TestParamSet_from_bytes(P.X, inx);
11478     fiat_id_GostR3410_2001_TestParamSet_from_bytes(P.Y, iny);
11479     fiat_id_GostR3410_2001_TestParamSet_to_montgomery(P.X, P.X);
11480     fiat_id_GostR3410_2001_TestParamSet_to_montgomery(P.Y, P.Y);
11481     /* simultaneous scalar multiplication */
11482     var_smul_wnaf_two(&P, a, b, &P);
11483
11484     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.X, P.X);
11485     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.Y, P.Y);
11486     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outx, P.X);
11487     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outy, P.Y);
11488 }
11489
11490 /*-
11491  * Wrapper: fixed scalar mutiplication.
11492  * outx, outy := scalar * G
11493  * Everything is LE byte ordering.
11494  */
11495 static void point_mul_g(unsigned char outx[32], unsigned char outy[32],
11496                         const unsigned char scalar[32]) {
11497     pt_aff_t P;
11498
11499     /* fixed scmul function */
11500     fixed_smul_cmb(&P, scalar);
11501     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.X, P.X);
11502     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.Y, P.Y);
11503     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outx, P.X);
11504     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outy, P.Y);
11505 }
11506
11507 /*-
11508  * Wrapper: variable point scalar mutiplication.
11509  * outx, outy := scalar * P
11510  * where P = (inx, iny).
11511  * Everything is LE byte ordering.
11512  */
11513 static void point_mul(unsigned char outx[32], unsigned char outy[32],
11514                       const unsigned char scalar[32],
11515                       const unsigned char inx[32],
11516                       const unsigned char iny[32]) {
11517     pt_aff_t P;
11518
11519     fiat_id_GostR3410_2001_TestParamSet_from_bytes(P.X, inx);
11520     fiat_id_GostR3410_2001_TestParamSet_from_bytes(P.Y, iny);
11521     fiat_id_GostR3410_2001_TestParamSet_to_montgomery(P.X, P.X);
11522     fiat_id_GostR3410_2001_TestParamSet_to_montgomery(P.Y, P.Y);
11523     /* var scmul function */
11524     var_smul_rwnaf(&P, scalar, &P);
11525     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.X, P.X);
11526     fiat_id_GostR3410_2001_TestParamSet_from_montgomery(P.Y, P.Y);
11527     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outx, P.X);
11528     fiat_id_GostR3410_2001_TestParamSet_to_bytes(outy, P.Y);
11529 }
11530
11531
11532 #include <openssl/ec.h>
11533
11534 /* the zero field element */
11535 static const unsigned char const_zb[32] = {0};
11536
11537 /*-
11538  * An OpenSSL wrapper for simultaneous scalar multiplication.
11539  * r := n * G + m * q
11540  */
11541     int
11542     point_mul_two_id_GostR3410_2001_TestParamSet(const EC_GROUP *group,
11543                                                  EC_POINT *r, const BIGNUM *n,
11544                                                  const EC_POINT *q,
11545                                                  const BIGNUM *m, BN_CTX *ctx) {
11546     int ret = 0;
11547     unsigned char b_x[32];
11548     unsigned char b_y[32];
11549     unsigned char b_n[32];
11550     unsigned char b_m[32];
11551     BIGNUM *x = NULL, *y = NULL;
11552
11553     BN_CTX_start(ctx);
11554     x = BN_CTX_get(ctx);
11555     if ((y = BN_CTX_get(ctx)) == NULL
11556         /* pull out coords as bytes */
11557         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
11558         BN_bn2lebinpad(x, b_x, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
11559         BN_bn2lebinpad(n, b_n, 32) != 32 || BN_bn2lebinpad(m, b_m, 32) != 32)
11560         goto err;
11561     /* do the simultaneous scalar multiplication */
11562     point_mul_two(b_x, b_y, b_n, b_m, b_x, b_y);
11563     /* check for infinity */
11564     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
11565         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
11566         if (!EC_POINT_set_to_infinity(group, r)) goto err;
11567     } else {
11568         /* otherwise, pack the bytes into the result */
11569         if (BN_lebin2bn(b_x, 32, x) == NULL ||
11570             BN_lebin2bn(b_y, 32, y) == NULL ||
11571             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
11572             goto err;
11573     }
11574     ret = 1;
11575 err:
11576     BN_CTX_end(ctx);
11577     return ret;
11578 }
11579
11580 /*-
11581  * An OpenSSL wrapper for variable point scalar multiplication.
11582  * r := m * q
11583  */
11584     int
11585     point_mul_id_GostR3410_2001_TestParamSet(const EC_GROUP *group, EC_POINT *r,
11586                                              const EC_POINT *q, const BIGNUM *m,
11587                                              BN_CTX *ctx) {
11588     int ret = 0;
11589     unsigned char b_x[32];
11590     unsigned char b_y[32];
11591     unsigned char b_m[32];
11592     BIGNUM *x = NULL, *y = NULL;
11593
11594     BN_CTX_start(ctx);
11595     x = BN_CTX_get(ctx);
11596     if ((y = BN_CTX_get(ctx)) == NULL
11597         /* pull out coords as bytes */
11598         || !EC_POINT_get_affine_coordinates(group, q, x, y, ctx) ||
11599         BN_bn2lebinpad(x, b_x, 32) != 32 || BN_bn2lebinpad(y, b_y, 32) != 32 ||
11600         BN_bn2lebinpad(m, b_m, 32) != 32)
11601         goto err;
11602     /* do the variable scalar multiplication */
11603     point_mul(b_x, b_y, b_m, b_x, b_y);
11604     /* check for infinity */
11605     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
11606         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
11607         if (!EC_POINT_set_to_infinity(group, r)) goto err;
11608     } else {
11609         /* otherwise, pack the bytes into the result */
11610         if (BN_lebin2bn(b_x, 32, x) == NULL ||
11611             BN_lebin2bn(b_y, 32, y) == NULL ||
11612             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
11613             goto err;
11614     }
11615     ret = 1;
11616 err:
11617     BN_CTX_end(ctx);
11618     return ret;
11619 }
11620
11621 /*-
11622  * An OpenSSL wrapper for fixed scalar multiplication.
11623  * r := n * G
11624  */
11625     int
11626     point_mul_g_id_GostR3410_2001_TestParamSet(const EC_GROUP *group,
11627                                                EC_POINT *r, const BIGNUM *n,
11628                                                BN_CTX *ctx) {
11629     int ret = 0;
11630     unsigned char b_x[32];
11631     unsigned char b_y[32];
11632     unsigned char b_n[32];
11633     BIGNUM *x = NULL, *y = NULL;
11634
11635     BN_CTX_start(ctx);
11636     x = BN_CTX_get(ctx);
11637     if ((y = BN_CTX_get(ctx)) == NULL || BN_bn2lebinpad(n, b_n, 32) != 32)
11638         goto err;
11639     /* do the fixed scalar multiplication */
11640     point_mul_g(b_x, b_y, b_n);
11641     /* check for infinity */
11642     if (CRYPTO_memcmp(const_zb, b_x, 32) == 0 &&
11643         CRYPTO_memcmp(const_zb, b_y, 32) == 0) {
11644         if (!EC_POINT_set_to_infinity(group, r)) goto err;
11645     } else {
11646         /* otherwise, pack the bytes into the result */
11647         if (BN_lebin2bn(b_x, 32, x) == NULL ||
11648             BN_lebin2bn(b_y, 32, y) == NULL ||
11649             !EC_POINT_set_affine_coordinates(group, r, x, y, ctx))
11650             goto err;
11651     }
11652     ret = 1;
11653 err:
11654     BN_CTX_end(ctx);
11655     return ret;
11656 }
11657
11658
11659
11660 #endif /* __SIZEOF_INT128__ */